diff options
Diffstat (limited to 'contrib/microsoft.direct3d.d3d12.1.618.4')
74 files changed, 86769 insertions, 0 deletions
diff --git a/contrib/microsoft.direct3d.d3d12.1.618.4/.signature.p7s b/contrib/microsoft.direct3d.d3d12.1.618.4/.signature.p7s new file mode 100644 index 0000000..a310c26 --- /dev/null +++ b/contrib/microsoft.direct3d.d3d12.1.618.4/.signature.p7s | |||
| Binary files differ | |||
diff --git a/contrib/microsoft.direct3d.d3d12.1.618.4/LICENSE-CODE.txt b/contrib/microsoft.direct3d.d3d12.1.618.4/LICENSE-CODE.txt new file mode 100644 index 0000000..63447fd --- /dev/null +++ b/contrib/microsoft.direct3d.d3d12.1.618.4/LICENSE-CODE.txt | |||
| @@ -0,0 +1,21 @@ | |||
| 1 | Copyright (c) Microsoft Corporation. | ||
| 2 | |||
| 3 | MIT License | ||
| 4 | |||
| 5 | Permission is hereby granted, free of charge, to any person obtaining a copy | ||
| 6 | of this software and associated documentation files (the "Software"), to deal | ||
| 7 | in the Software without restriction, including without limitation the rights | ||
| 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell | ||
| 9 | copies of the Software, and to permit persons to whom the Software is | ||
| 10 | furnished to do so, subject to the following conditions: | ||
| 11 | |||
| 12 | The above copyright notice and this permission notice shall be included in all | ||
| 13 | copies or substantial portions of the Software. | ||
| 14 | |||
| 15 | THE SOFTWARE IS PROVIDED *AS IS*, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR | ||
| 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, | ||
| 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE | ||
| 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER | ||
| 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, | ||
| 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE | ||
| 21 | SOFTWARE. \ No newline at end of file | ||
diff --git a/contrib/microsoft.direct3d.d3d12.1.618.4/LICENSE.txt b/contrib/microsoft.direct3d.d3d12.1.618.4/LICENSE.txt new file mode 100644 index 0000000..de7d649 --- /dev/null +++ b/contrib/microsoft.direct3d.d3d12.1.618.4/LICENSE.txt | |||
| @@ -0,0 +1,158 @@ | |||
| 1 | MICROSOFT SOFTWARE LICENSE TERMS | ||
| 2 | |||
| 3 | MICROSOFT DIRECTX | ||
| 4 | |||
| 5 | These license terms are an agreement between you and Microsoft | ||
| 6 | Corporation (or one of its affiliates). They apply to the software named | ||
| 7 | above and any Microsoft services or software updates (except to the | ||
| 8 | extent such services or updates are accompanied by new or additional | ||
| 9 | terms, in which case those different terms apply prospectively and do | ||
| 10 | not alter your or Microsoft’s rights relating to pre-updated software or | ||
| 11 | services). IF YOU COMPLY WITH THESE LICENSE TERMS, YOU HAVE THE RIGHTS | ||
| 12 | BELOW. BY USING THE SOFTWARE, YOU ACCEPT THESE TERMS. | ||
| 13 | |||
| 14 | INSTALLATION AND USE RIGHTS. | ||
| 15 | |||
| 16 | General. Subject to the terms of this agreement, you may install and use any number of copies of the software, and solely for use on Windows. | ||
| 17 | |||
| 18 | Included Microsoft Applications. The software may include other Microsoft applications. These license terms apply to those included applications, if any, unless other license terms are provided with the other Microsoft applications. | ||
| 19 | |||
| 20 | Microsoft Platforms. The software may include components from Microsoft Windows. These components are governed by separate agreements and their own product support policies, as described in the license terms found in the installation directory for that component or in the “Licenses” folder accompanying the software. | ||
| 21 | |||
| 22 | Third Party Components. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. | ||
| 23 | |||
| 24 | DATA. | ||
| 25 | |||
| 26 | Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products and services. You may opt-out of many of these scenarios, but not all, as described in the product documentation. There are also some features in the software that may enable you to collect data from users of your applications. If you use these features to enable data collection in your applications, you must comply with applicable law, including providing appropriate notices to users of your applications. You can learn more about data collection and use in the help documentation and the privacy statement at https://aka.ms/privacy. Your use of the software operates as your consent to these practices. | ||
| 27 | |||
| 28 | Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May 25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. | ||
| 29 | |||
| 30 | DISTRIBUTABLE CODE. The software may contain code you are permitted to distribute (i.e. make available for third parties) in applications you develop, as described in this Section. | ||
| 31 | |||
| 32 | Distribution Rights. The code and test files described below are distributable if included with the software. | ||
| 33 | |||
| 34 | Distributables. You may copy and distribute the object code form of the software listed in the distributables file list in the software; and | ||
| 35 | |||
| 36 | Third Party Distribution. You may permit distributors of your applications to copy and distribute any of this distributable code you elect to distribute with your applications. | ||
| 37 | |||
| 38 | Distribution Requirements. For any code you distribute, you must: | ||
| 39 | |||
| 40 | add significant primary functionality to it in your applications; | ||
| 41 | |||
| 42 | i. require distributors and external end users to agree to terms that protect it and Microsoft at least as much as this agreement; and | ||
| 43 | |||
| 44 | ii. indemnify, defend, and hold harmless Microsoft from any claims, including attorneys’ fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified distributable code. | ||
| 45 | |||
| 46 | Distribution Restrictions. You may not: | ||
| 47 | |||
| 48 | use Microsoft’s trademarks or trade dress in your application in any way that suggests your application comes from or is endorsed by Microsoft; or modify or distribute the source code of any distributable code so that any part of it becomes subject to any license that requires that the distributable code, any other part of the software, or any of Microsoft’s other intellectual property be disclosed or distributed in source code form, or that others have the right to modify it. | ||
| 49 | |||
| 50 | SCOPE OF LICENSE. The software is licensed, not sold. Microsoft reserves all other rights. Unless applicable law gives you more rights despite this limitation, you will not (and have no right to): | ||
| 51 | |||
| 52 | work around any technical limitations in the software that only allow you to use it in certain ways; | ||
| 53 | |||
| 54 | reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; | ||
| 55 | |||
| 56 | remove, minimize, block, or modify any notices of Microsoft or its suppliers in the software; | ||
| 57 | |||
| 58 | use the software in any way that is against the law or to create or propagate malware; or | ||
| 59 | |||
| 60 | share, publish, distribute, or lease the software (except for any distributable code, subject to the terms above), provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. | ||
| 61 | |||
| 62 | EXPORT RESTRICTIONS. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information on export restrictions, visit https://aka.ms/exporting. | ||
| 63 | |||
| 64 | SUPPORT SERVICES. Microsoft is not obligated under this agreement to provide any support services for the software. Any support provided is “as is”, “with all faults”, and without warranty of any kind. | ||
| 65 | |||
| 66 | UPDATES. The software may periodically check for updates, and download and install them for you. You may obtain updates only from Microsoft or authorized sources. Microsoft may need to update your system to provide you with updates. You agree to receive these automatic updates without any additional notice. Updates may not include or support all existing software features, services, or peripheral devices. | ||
| 67 | |||
| 68 | ENTIRE AGREEMENT. This agreement, and any other terms Microsoft may provide for supplements, updates, or third-party applications, is the entire agreement for the software. | ||
| 69 | |||
| 70 | APPLICABLE LAW AND PLACE TO RESOLVE DISPUTES. If you acquired the software in the United States or Canada, the laws of the state or province where you live (or, if a business, where your principal place of business is located) govern the interpretation of this agreement, claims for its breach, and all other claims (including consumer protection, unfair competition, and tort claims), regardless of conflict of laws principles. If you acquired the software in any other country, its laws apply. If U.S. federal jurisdiction exists, you and Microsoft consent to exclusive jurisdiction and venue in the federal court in King County, Washington for all disputes heard in court. If not, you and Microsoft consent to exclusive jurisdiction and venue in the Superior Court of King County, Washington for all disputes heard in court. | ||
| 71 | |||
| 72 | CONSUMER RIGHTS; REGIONAL VARIATIONS. This agreement describes certain legal rights. You may have other rights, including consumer rights, under the laws of your state or country. Separate and apart from your relationship with Microsoft, you may also have rights with respect to the party from which you acquired the software. This agreement does not change those other rights if the laws of your state or country do not permit it to do so. For example, if you acquired the software in one of the below regions, or mandatory country law applies, then the following provisions apply to you: | ||
| 73 | |||
| 74 | a. Australia. You have statutory guarantees under the Australian | ||
| 75 | Consumer Law and nothing in this agreement is intended to affect | ||
| 76 | those rights. | ||
| 77 | |||
| 78 | b. Canada. If you acquired this software in Canada, you may stop | ||
| 79 | receiving updates by turning off the automatic update feature, | ||
| 80 | disconnecting your device from the Internet (if and when you | ||
| 81 | re-connect to the Internet, however, the software will resume | ||
| 82 | checking for and installing updates), or uninstalling the software. | ||
| 83 | The product documentation, if any, may also specify how to turn off | ||
| 84 | updates for your specific device or software. | ||
| 85 | |||
| 86 | c. Germany and Austria. | ||
| 87 | |||
| 88 | i. Warranty. The properly licensed software will perform substantially | ||
| 89 | as described in any Microsoft materials that accompany the software. | ||
| 90 | However, Microsoft gives no contractual guarantee in relation to the | ||
| 91 | licensed software. | ||
| 92 | |||
| 93 | ii. Limitation of Liability. In case of intentional conduct, gross | ||
| 94 | negligence, claims based on the Product Liability Act, as well as, in | ||
| 95 | case of death or personal or physical injury, Microsoft is liable | ||
| 96 | according to the statutory law. | ||
| 97 | |||
| 98 | Subject to the foregoing clause ii., Microsoft will only be liable for slight negligence if Microsoft is in breach of such material contractual obligations, the fulfillment of which facilitate the due performance of this agreement, the breach of which would endanger the purpose of this agreement and the compliance with which a party may constantly trust in (so-called "cardinal obligations"). In other cases of slight negligence, Microsoft will not be liable for slight negligence. | ||
| 99 | |||
| 100 | DISCLAIMER OF WARRANTY. THE SOFTWARE IS LICENSED “AS IS.” YOU BEAR THE RISK OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES, OR CONDITIONS. TO THE EXTENT PERMITTED UNDER APPLICABLE LAWS, MICROSOFT EXCLUDES ALL IMPLIED WARRANTIES, INCLUDING MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, AND NON-INFRINGEMENT. | ||
| 101 | |||
| 102 | LIMITATION ON AND EXCLUSION OF DAMAGES. IF YOU HAVE ANY BASIS FOR RECOVERING DAMAGES DESPITE THE PRECEDING DISCLAIMER OF WARRANTY, YOU CAN RECOVER FROM MICROSOFT AND ITS SUPPLIERS ONLY DIRECT DAMAGES UP TO U.S. $5.00. YOU CANNOT RECOVER ANY OTHER DAMAGES, INCLUDING CONSEQUENTIAL, LOST PROFITS, SPECIAL, INDIRECT, OR INCIDENTAL DAMAGES. | ||
| 103 | |||
| 104 | This limitation applies to (a) anything related to the software, | ||
| 105 | services, content (including code) on third party Internet sites, or | ||
| 106 | third party applications; and (b) claims for breach of contract, | ||
| 107 | warranty, guarantee, or condition; strict liability, negligence, or | ||
| 108 | other tort; or any other claim; in each case to the extent permitted by | ||
| 109 | applicable law. | ||
| 110 | |||
| 111 | It also applies even if Microsoft knew or should have known about the | ||
| 112 | possibility of the damages. The above limitation or exclusion may not | ||
| 113 | apply to you because your state, province, or country may not allow the | ||
| 114 | exclusion or limitation of incidental, consequential, or other damages. | ||
| 115 | |||
| 116 | Please note: As this software is distributed in Canada, some of the | ||
| 117 | clauses in this agreement are provided below in French. | ||
| 118 | |||
| 119 | Remarque: Ce logiciel étant distribué au Canada, certaines des clauses | ||
| 120 | dans ce contrat sont fournies ci-dessous en français. | ||
| 121 | |||
| 122 | EXONÉRATION DE GARANTIE. Le logiciel visé par une licence est offert « | ||
| 123 | tel quel ». Toute utilisation de ce logiciel est à votre seule risque et | ||
| 124 | péril. Microsoft n’accorde aucune autre garantie expresse. Vous pouvez | ||
| 125 | bénéficier de droits additionnels en vertu du droit local sur la | ||
| 126 | protection des consommateurs, que ce contrat ne peut modifier. La ou | ||
| 127 | elles sont permises par le droit locale, les garanties implicites de | ||
| 128 | qualité marchande, d’adéquation à un usage particulier et d’absence de | ||
| 129 | contrefaçon sont exclues. | ||
| 130 | |||
| 131 | LIMITATION DES DOMMAGES-INTÉRÊTS ET EXCLUSION DE RESPONSABILITÉ POUR LES | ||
| 132 | DOMMAGES. Vous pouvez obtenir de Microsoft et de ses fournisseurs une | ||
| 133 | indemnisation en cas de dommages directs uniquement à hauteur de 5,00 $ | ||
| 134 | US. Vous ne pouvez prétendre à aucune indemnisation pour les autres | ||
| 135 | dommages, y compris les dommages spéciaux, indirects ou accessoires et | ||
| 136 | pertes de bénéfices. | ||
| 137 | |||
| 138 | Cette limitation concerne: | ||
| 139 | |||
| 140 | • tout ce qui est relié au logiciel, aux services ou au contenu (y | ||
| 141 | compris le code) figurant sur des sites Internet tiers ou dans des | ||
| 142 | programmes tiers; et | ||
| 143 | |||
| 144 | • les réclamations au titre de violation de contrat ou de garantie, ou | ||
| 145 | au titre de responsabilité stricte, de négligence ou d’une autre faute | ||
| 146 | dans la limite autorisée par la loi en vigueur. | ||
| 147 | |||
| 148 | Elle s’applique également, même si Microsoft connaissait ou devrait | ||
| 149 | connaître l’éventualité d’un tel dommage. Si votre pays n’autorise pas | ||
| 150 | l’exclusion ou la limitation de responsabilité pour les dommages | ||
| 151 | indirects, accessoires ou de quelque nature que ce soit, il se peut que | ||
| 152 | la limitation ou l’exclusion ci-dessus ne s’appliquera pas à votre | ||
| 153 | égard. | ||
| 154 | |||
| 155 | EFFET JURIDIQUE. Le présent contrat décrit certains droits juridiques. | ||
| 156 | Vous pourriez avoir d’autres droits prévus par les lois de votre pays. | ||
| 157 | Le présent contrat ne modifie pas les droits que vous confèrent les lois | ||
| 158 | de votre pays si celles-ci ne le permettent pas. | ||
diff --git a/contrib/microsoft.direct3d.d3d12.1.618.4/Microsoft.Direct3D.D3D12.nuspec b/contrib/microsoft.direct3d.d3d12.1.618.4/Microsoft.Direct3D.D3D12.nuspec new file mode 100644 index 0000000..c625e1f --- /dev/null +++ b/contrib/microsoft.direct3d.d3d12.1.618.4/Microsoft.Direct3D.D3D12.nuspec | |||
| @@ -0,0 +1,18 @@ | |||
| 1 | <?xml version="1.0" encoding="utf-8"?> | ||
| 2 | <package xmlns="http://schemas.microsoft.com/packaging/2011/08/nuspec.xsd"> | ||
| 3 | <metadata> | ||
| 4 | <id>Microsoft.Direct3D.D3D12</id> | ||
| 5 | <version>1.618.4</version> | ||
| 6 | <title>Microsoft.Direct3D.D3D12</title> | ||
| 7 | <authors>Microsoft</authors> | ||
| 8 | <owners>Direct3D,Microsoft</owners> | ||
| 9 | <requireLicenseAcceptance>false</requireLicenseAcceptance> | ||
| 10 | <license type="file">LICENSE.txt</license> | ||
| 11 | <licenseUrl>https://aka.ms/deprecateLicenseUrl</licenseUrl> | ||
| 12 | <icon>icon.png</icon> | ||
| 13 | <projectUrl>https://aka.ms/directx12agility</projectUrl> | ||
| 14 | <description>DirectX 12 Agility SDK</description> | ||
| 15 | <copyright>© Microsoft Corporation. All rights reserved.</copyright> | ||
| 16 | <tags>DirectX Direct3D D3D12 Direct3D12 DirectX12 Agility</tags> | ||
| 17 | </metadata> | ||
| 18 | </package> \ No newline at end of file | ||
diff --git a/contrib/microsoft.direct3d.d3d12.1.618.4/README.md b/contrib/microsoft.direct3d.d3d12.1.618.4/README.md new file mode 100644 index 0000000..a56d65e --- /dev/null +++ b/contrib/microsoft.direct3d.d3d12.1.618.4/README.md | |||
| @@ -0,0 +1,310 @@ | |||
| 1 | # DirectX 12 Agility SDK Redistributable NuGet Package | ||
| 2 | |||
| 3 | This package contains a copy of the DirectX 12 Agility SDK redistributable runtime and its associated development headers. | ||
| 4 | |||
| 5 | For help getting started and other information for the Agility SDK, please see: | ||
| 6 | |||
| 7 | https://aka.ms/directx12agility | ||
| 8 | |||
| 9 | The included licenses apply to the following files: | ||
| 10 | |||
| 11 | - **LICENSE.txt** : applies to all files under `build/native/bin/` | ||
| 12 | - **LICENSE-CODE.txt** : applies to all files under `build/native/include/` | ||
| 13 | |||
| 14 | ## Changelog | ||
| 15 | |||
| 16 | ### Version 1.618.4: | ||
| 17 | |||
| 18 | - Fix for broken behavior when using AddToStateObject and driver is newer than those that existed during 1.618 initial release (i.e. must be DDI version 119+) | ||
| 19 | |||
| 20 | - Debug layer validation fix: Simultaneous access texture with common layout supports render target access; Skip layout validation when undefined layout is used as both before and after layouts. | ||
| 21 | |||
| 22 | ### Version 1.618.3: | ||
| 23 | - Runtime regression fix: Creating resources in state D3D12_RESOURCE_STATE_RAYTRACING_ACCELERATION_STRUCTURE with custom heap properties validated L0 and L1 in backwards order. Apps hitting this incorrect stricter validation even if they didn't use new AgilitySDK just by using PIX which uses latest SDK, hence it looks like PIX regressed. At least one developer also hit this bug directly. | ||
| 24 | |||
| 25 | - Debug layer validation regression fix (no runtime impact): New compute and work graph dispatch grid size validation incorrectly validated against the mesh shader's 2^22 limit everywhere. Compute dispatch has no spec limit, and the limit for work graphs is 2^24-1 groups. | ||
| 26 | |||
| 27 | - Fixes an issue where, only with the debug layer enabled, recording ProcessFrames command in ID3D12VideoCommandList fails in the Close() method with E_INVALIDARG | ||
| 28 | |||
| 29 | ### Version 1.618.2: | ||
| 30 | - Correctly enable SODB capture for advanced shader delivery | ||
| 31 | - Add ID3D12StateObjectDatabase for programmatic SODB generation | ||
| 32 | - Add D3D12StateObjectCompiler 'merge' command | ||
| 33 | |||
| 34 | ### Version 1.618.1: | ||
| 35 | - StateObjectCompiler binaries added to the AgilitySDK NuGet | ||
| 36 | |||
| 37 | ### Version 1.618.0: | ||
| 38 | _Golden Ratio edition_ | ||
| 39 | |||
| 40 | - Advanced Shader Delivery | ||
| 41 | - Application Specific Driver States | ||
| 42 | - Video features | ||
| 43 | - D3D12_Video_Encoding_HEVC_ReferenceListExtension | ||
| 44 | - D3D12_Video_Encoding_LowerResolution_2Pass | ||
| 45 | - PSNR stats added to: D3D12_Video_Encoding_Stats_Metadata | ||
| 46 | - D3D12 Video encode subregion | ||
| 47 | - D3D12 Video encode output stats (per block QP, per block SATD, per block bit allocation) | ||
| 48 | - D3D12 Video encode GPU texture input QP map | ||
| 49 | - D3D12 Video encode GPU texture/CPU buffer Dirty maps/rects | ||
| 50 | - D3D12 Video encode GPU texture/CPU buffer motion vector hints | ||
| 51 | - D3D12 Video Encode Spatial Adaptive Rate Control Quantization | ||
| 52 | - Recreate at GPUVA | ||
| 53 | - Tight Alignment | ||
| 54 | |||
| 55 | |||
| 56 | ### Version 1.717.1: | ||
| 57 | |||
| 58 | - Debug Layer fixes: | ||
| 59 | - Enhanced Barrier placed resource validation fix for false errors | ||
| 60 | - For D3D12_BARRIER_SUBRESOURCE_RANGE, the Debug Layer was not handling the NumMipLevels=0 special case (treat IndexOrFirstMipLevel as a subresource index) | ||
| 61 | - Debug Layer updated to notice that RD/DS initialization can be accomplished by RenderPass Clear/Discard | ||
| 62 | - GPU based validation (GBV) fix: | ||
| 63 | - Fix for incorrect texture state/layout validation in cases where GBV needed to insert LOD calculation | ||
| 64 | |||
| 65 | ### Version 1.616.1: | ||
| 66 | |||
| 67 | - Runtime fix: D3D12EnableExperimentalFeatures() was allowing D3D12ExperimentalShaderModels | ||
| 68 | - This made it look like Shader Model 6.9 could work even though it's only supported in the 1.717.x preview | ||
| 69 | - Now asking for D3D12ExperimentalShaderModels returns E_NOINTERFACE. | ||
| 70 | - Debug Layer fixes: | ||
| 71 | - Enhanced Barrier placed resource validation fix for false errors | ||
| 72 | - For D3D12_BARRIER_SUBRESOURCE_RANGE, the Debug Layer was not handling the NumMipLevels=0 special case (treat IndexOrFirstMipLevel as a subresource index) | ||
| 73 | - Debug Layer updated to notice that RD/DS initialization can be accomplished by RenderPass Clear/Discard | ||
| 74 | - GPU based validation (GBV): | ||
| 75 | - Fix for incorrect texture state/layout validation in cases where GBV needed to insert LOD calculation | ||
| 76 | |||
| 77 | ### Version 1.717.0 | ||
| 78 | - Everything in 1.616.0 plus: | ||
| 79 | - Shader Model 6.9 preview, adding: | ||
| 80 | - Cooperative Vectors | ||
| 81 | - Shader Execution Reordering | ||
| 82 | - Support for RayQuery using Opacity Micromaps | ||
| 83 | - Normal TraceRay doens't require SM 6.9, so the 1.616.0 release works for it | ||
| 84 | - D3D Video Encoding updates | ||
| 85 | |||
| 86 | In this preview, mesh nodes is disabled, but could return in a future preview and/or retail release. | ||
| 87 | |||
| 88 | ### Version 1.616.0 | ||
| 89 | - Release Opacity Micromap support | ||
| 90 | - Just missing RayQuery+OMM suport that needs Shader Model 6.9 which is in the above preview | ||
| 91 | - Tier 4 Tiled Resources | ||
| 92 | |||
| 93 | ### Version 1.716.1 | ||
| 94 | - Fix meta command validation | ||
| 95 | - Add Raw UAV/SRV validation for tight aligned buffers | ||
| 96 | - Fix a bug where AlignmentRestriction hint wasn’t being passed to drivers | ||
| 97 | - Fix placed resource initialization validation bug related to plane validation | ||
| 98 | - Fix a bug where GBV patching will crash when initializing if the caller didn’t request a debug info parser | ||
| 99 | |||
| 100 | ### Version 1.716.0 | ||
| 101 | - Application Specific Driver State | ||
| 102 | - RecreateAt GPUVA | ||
| 103 | - Runtime Bypass | ||
| 104 | - Shader hash bypass | ||
| 105 | - Tight Alignment of Resources | ||
| 106 | - Multiple video features | ||
| 107 | - Encode subregion notifications | ||
| 108 | - Encode output stats | ||
| 109 | - Encode GPU texture input map | ||
| 110 | - Encode GPU texture/CPU buffer dirty maps/rects | ||
| 111 | - Encode GPU texture/CPU buffer motion vector hints | ||
| 112 | |||
| 113 | In this preview, mesh nodes is disabled, but could return in a future preview and/or retail release. | ||
| 114 | |||
| 115 | ### Verision 1.615.0 | ||
| 116 | - Shader hash bypass officially supports applications opting to bypass shader hash validation | ||
| 117 | |||
| 118 | ### Version 1.715.0 | ||
| 119 | - Preview of mesh nodes in work graphs | ||
| 120 | |||
| 121 | ### Version 1.714.0 | ||
| 122 | - Preview release of DirectSR | ||
| 123 | - Supports both native and built-in Super Resolution techniques ("variants") | ||
| 124 | |||
| 125 | ### Version 1.614.0 | ||
| 126 | - Enabled R9G9B9E5_SHAREDEXP format for Render Target and Unordered Access Views | ||
| 127 | |||
| 128 | ### Version 1.613.3 | ||
| 129 | |||
| 130 | - Same as 1.613.2, with minor updates shown at the end of this list: | ||
| 131 | - Work Graphs | ||
| 132 | - Generic Programs in State objects | ||
| 133 | - Shader Model 6.8 | ||
| 134 | - Work Graphs support | ||
| 135 | - Start Vertex/Instance Location | ||
| 136 | - Wave Size Range | ||
| 137 | - Expanded Comparison Sampling | ||
| 138 | - GPU Upload Heaps (requires preview or future OS, or current OS in developer mode) | ||
| 139 | - Incrementing Constants in ExecuteIndirect | ||
| 140 | - Minor updates for .3: | ||
| 141 | - Honor root signature associations added to export in collections when the export is imported into generic program in an executable state object. | ||
| 142 | - Propagate root signatures to exports that have bindings and no root signatures within the scope of a generic program, like what happens with PSOs. | ||
| 143 | - Other generic programs related bug fixes, additional validation and optimizations. | ||
| 144 | - For state objects, minor fixes to subobject association logic in edge cases involving collections to more precisely match spec wording. | ||
| 145 | - GPU Upload Heaps can now be used with a current OS in developer mode, in addition to preview and future OS that don't require developer mode. | ||
| 146 | |||
| 147 | ### Version 1.613.2 | ||
| 148 | |||
| 149 | - Same as 1.613.1, with minor updates shown at the end of this list: | ||
| 150 | - Work Graphs | ||
| 151 | - Generic Programs in State objects | ||
| 152 | - Shader Model 6.8 | ||
| 153 | - Work Graphs support | ||
| 154 | - Start Vertex/Instance Location | ||
| 155 | - Wave Size Range | ||
| 156 | - Expanded Comparison Sampling | ||
| 157 | - GPU Upload Heaps (requires preview or future OS) | ||
| 158 | - Incrementing Constants in ExecuteIndirect | ||
| 159 | - Minor updates for .2: | ||
| 160 | - Close validation hole: Prevent use of features in incompatible state object types, such as defining generic program components (like rast state) in a raytracing pipeline. | ||
| 161 | - Debug layer fixes around lifetime management of program identifiers (e.g. the handles for the new generic programs) | ||
| 162 | - ExecuteIndirect validation was too strict: buffer size only needs to be big enough for the number of commands * stride, _minus the unused space at end of last command_ | ||
| 163 | |||
| 164 | ### Version 1.613.1 | ||
| 165 | |||
| 166 | - Same as 1.613.0, with minor updates shown at the end of this list: | ||
| 167 | - Work Graphs | ||
| 168 | - Generic Programs in State objects | ||
| 169 | - Shader Model 6.8 | ||
| 170 | - Work Graphs support | ||
| 171 | - Start Vertex/Instance Location | ||
| 172 | - Wave Size Range | ||
| 173 | - Expanded Comparison Sampling | ||
| 174 | - GPU Upload Heaps (requires preview or future OS) | ||
| 175 | - Incrementing Constants in ExecuteIndirect | ||
| 176 | - Minor updates for .1: | ||
| 177 | - In d3d12.h: missing const on input pointer members: D3D12_NODE_CPU_INPUT.pRecords and D3D12_MULTI_NODE_CPU_INPUT.pNodeInputs | ||
| 178 | - Debug layer validation fixes for D3D12_DISPATCH_MODE_MULTI_NODE_CPU_INPUT | ||
| 179 | - Some missing validation for generic programs (to line up with existing PSO path) | ||
| 180 | - Allow generic programs or work graphs only in executable state objects, not collections | ||
| 181 | |||
| 182 | ### Version 1.613.0 | ||
| 183 | |||
| 184 | - Work Graphs | ||
| 185 | - Generic Programs in State objects | ||
| 186 | - Shader Model 6.8 | ||
| 187 | - Work Graphs support | ||
| 188 | - Start Vertex/Instance Location | ||
| 189 | - Wave Size Range | ||
| 190 | - Expanded Comparison Sampling | ||
| 191 | - GPU Upload Heaps (requires preview or future OS) | ||
| 192 | - Incrementing Constants in ExecuteIndirect | ||
| 193 | |||
| 194 | ### Version 1.611.1 | ||
| 195 | |||
| 196 | * Make pContext mutable in ID3D12InfoQueue1::RegisterMessageCallback. | ||
| 197 | * Fix Linux build issue. | ||
| 198 | * Legacy transitions into/out-of UAV state includes D3D12_BARRIER_SYNC_BUILD_RAYTRACING_ACCELERATION_STRUCTURE, | ||
| 199 | D3D12_BARRIER_SYNC_EMIT_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO and | ||
| 200 | D3D12_BARRIER_SYNC_COPY_RAYTRACING_ACCELERATION_STRUCTURE. This only applies to buffer barriers. | ||
| 201 | * Fix enhanced barrier SYNC_DRAW being incompatible with ACCESS_RENDER_TARGET | ||
| 202 | * Improve enhanced barrier validation for raytracing acceleration data structures | ||
| 203 | |||
| 204 | ### Version 1.611.0 | ||
| 205 | |||
| 206 | * Video AV1 Encode release | ||
| 207 | |||
| 208 | ### Version 1.610.3 | ||
| 209 | |||
| 210 | - Fix regression introduced in 1.608.0 as part of independent front/back stencil support. | ||
| 211 | If an app used the stencil mask in a way that only affected back facing geometry (even | ||
| 212 | using the old depth stencil desc that had just a single mask for front/back), | ||
| 213 | the D3D runtime would incorrectly set the stencil mask to 0 on certain drivers. Specifically | ||
| 214 | drivers older than the timeframe of the 1.608.0 release (Nov 2022). | ||
| 215 | |||
| 216 | ### Version 1.610.2 | ||
| 217 | |||
| 218 | - Minor fix for Non-Normalized Sampling: The 610 release had some stale logic | ||
| 219 | that left Non-Normalized Sampling in "prerelease" mode, so it appeared as not available. | ||
| 220 | |||
| 221 | ### Version 1.610.1 | ||
| 222 | |||
| 223 | - Minor fix for RenderPasses: The 610 release had some stale logic | ||
| 224 | that left RenderPasses in "prerelease" mode, so it appeared as not available. | ||
| 225 | |||
| 226 | ### Version 1.610.0 | ||
| 227 | |||
| 228 | - Updated RenderPass support for tile based rendering GPUs | ||
| 229 | - Several minor features for improved compatibility with Vulkan | ||
| 230 | - Non-normalized sampling | ||
| 231 | - Mismatched render target dimensions | ||
| 232 | - Sample-frequency pixel shaders with no RTV/DSV | ||
| 233 | - And a handful of even more minor features. | ||
| 234 | - Fixes a regression introduced in 1.608.0 where the stencil mask could get cleared | ||
| 235 | when specifying it in a way that only affected the back-facing geometry | ||
| 236 | |||
| 237 | ### Version 1.608.3 | ||
| 238 | |||
| 239 | - Fixed state corruption causing incorrect programmable sample positions validation during ExecuteCommandList | ||
| 240 | - Address incorrect Enhanced Barriers simultaneous-access validation | ||
| 241 | - Fix incorrect Enhanced Barriers sync/access validation | ||
| 242 | - Add missing string conversion for D3D12_BARRIER_SYNC_CLEAR_UNORDERED_ACCESS_VIEW | ||
| 243 | |||
| 244 | ### Version 1.608.0 | ||
| 245 | |||
| 246 | * Enhanced Barriers release | ||
| 247 | * Independent front/back stencil refs and masks | ||
| 248 | * Triangle fans | ||
| 249 | * Dynamic depth bias and IB strip cut | ||
| 250 | |||
| 251 | ### Version 1.706.4 (preview) | ||
| 252 | |||
| 253 | - Fixes a device creation failure on WARP (Microsoft Basic Render) in Windows Server 2022. | ||
| 254 | |||
| 255 | ### Version 1.606.4 | ||
| 256 | |||
| 257 | - Fixes a device creation failure on WARP (Microsoft Basic Render) in Windows Server 2022. | ||
| 258 | |||
| 259 | ### Version 1.706.3 (preview) | ||
| 260 | |||
| 261 | - Enhanced Barriers Preview 2 with GBV support | ||
| 262 | - Adds `ID3D12DebugCommandList3::AssertTextureLayout` and ` ID3D12DebugCommandQueue1::AssertResourceAccess` methods. | ||
| 263 | - Independent Front/Back Stencil Refs and Masks | ||
| 264 | - Triangle fans are back | ||
| 265 | |||
| 266 | ### Version 1.606.3 | ||
| 267 | |||
| 268 | New features: | ||
| 269 | |||
| 270 | - Shader Model 6.7. | ||
| 271 | - d3dconfig: settings import/export. | ||
| 272 | - d3dconfig: option to allow application control over storage filters | ||
| 273 | - DRED: 'markers only breadcrumbs' stores breadcrumbs only for PIX markers and events. | ||
| 274 | |||
| 275 | Bug fixes: | ||
| 276 | |||
| 277 | - Various debug layer stability fixes. | ||
| 278 | |||
| 279 | ### Version 1.602.0 | ||
| 280 | |||
| 281 | New features: | ||
| 282 | |||
| 283 | - Relaxed buffer/texture copy alignment | ||
| 284 | - Support for copying between different dimensions of textures | ||
| 285 | - Delayed input layout and vertex buffer alignment validation | ||
| 286 | - Negative height viewports flip y-axis intepretation | ||
| 287 | - Alpha/InvAlpha blend factors | ||
| 288 | |||
| 289 | Bugfixes | ||
| 290 | |||
| 291 | - Fixes a crash using GBV with shader patch mode TRACKING_ONLY. | ||
| 292 | - Fixes false debug validation output resulting from depth slice state being confused with stencil slice state. | ||
| 293 | - Fixes a bug causing promoted COPY_DEST to not decay back to COMMON. | ||
| 294 | - Report live objects when encountering device removed from a kernel memory failure. | ||
| 295 | |||
| 296 | ### Version 1.600.10 | ||
| 297 | |||
| 298 | Fixes threading bug (intermittent crash) in runtime for apps doing multithreaded creation of raytracing state objects. | ||
| 299 | |||
| 300 | Ideally this fix would have been made in isolation on top of the previous SDK release. Unfortunately this was not possible due to build infrastructure changes - hopefully a one-time issue. What this means is that this SDK's runtime reflects the current state of the D3D12 codebase including code churn unrelated to the bug fix, such as support for preview features that are disabled here and exposed in a separate preview SDK branch. Even though preview features are disabled, the codebase is still different. So there is some risk of bugs/regressions that have not been noticed yet in internal testing. In particular there is a reasonable chance that the churn in the debug layer codebase might yield some debug validation issues, but there could be issues lurking in the runtime as well. If you report any issues you observe to us, we will try to address them with a follow-up SDK release. | ||
| 301 | |||
| 302 | Whether you choose to use this bugfix release, with its extra code churn of no value to you, really boils down to how important the specific fix is to you (if at all), and perhaps how much capacity you have to do test this combination of runtime and your app. | ||
| 303 | |||
| 304 | ### Version 1.4.10 | ||
| 305 | |||
| 306 | Fixes a debug layer issue where some ResourceBarrier calls transitioning DEPTH_READ to DEPTH_WRITE were dropped | ||
| 307 | |||
| 308 | ### Version 1.4.9 | ||
| 309 | |||
| 310 | Contains support for DirectX 12 Ultimate and Shader Model 6.6 \ No newline at end of file | ||
diff --git a/contrib/microsoft.direct3d.d3d12.1.618.4/[Content_Types].xml b/contrib/microsoft.direct3d.d3d12.1.618.4/[Content_Types].xml new file mode 100644 index 0000000..8714729 --- /dev/null +++ b/contrib/microsoft.direct3d.d3d12.1.618.4/[Content_Types].xml | |||
| @@ -0,0 +1,19 @@ | |||
| 1 | <?xml version="1.0" encoding="utf-8"?> | ||
| 2 | <Types xmlns="http://schemas.openxmlformats.org/package/2006/content-types"> | ||
| 3 | <Default Extension="rels" ContentType="application/vnd.openxmlformats-package.relationships+xml" /> | ||
| 4 | <Default Extension="psmdcp" ContentType="application/vnd.openxmlformats-package.core-properties+xml" /> | ||
| 5 | <Default Extension="h" ContentType="application/octet" /> | ||
| 6 | <Default Extension="txt" ContentType="application/octet" /> | ||
| 7 | <Default Extension="md" ContentType="application/octet" /> | ||
| 8 | <Default Extension="pdb" ContentType="application/octet" /> | ||
| 9 | <Default Extension="exe" ContentType="application/octet" /> | ||
| 10 | <Default Extension="idl" ContentType="application/octet" /> | ||
| 11 | <Default Extension="png" ContentType="application/octet" /> | ||
| 12 | <Default Extension="props" ContentType="application/octet" /> | ||
| 13 | <Default Extension="dll" ContentType="application/octet" /> | ||
| 14 | <Default Extension="xml" ContentType="application/octet" /> | ||
| 15 | <Default Extension="cpp" ContentType="application/octet" /> | ||
| 16 | <Default Extension="targets" ContentType="application/octet" /> | ||
| 17 | <Default Extension="hpp" ContentType="application/octet" /> | ||
| 18 | <Default Extension="nuspec" ContentType="application/octet" /> | ||
| 19 | </Types> \ No newline at end of file | ||
diff --git a/contrib/microsoft.direct3d.d3d12.1.618.4/_rels/.rels b/contrib/microsoft.direct3d.d3d12.1.618.4/_rels/.rels new file mode 100644 index 0000000..7bdf2d6 --- /dev/null +++ b/contrib/microsoft.direct3d.d3d12.1.618.4/_rels/.rels | |||
| @@ -0,0 +1,5 @@ | |||
| 1 | <?xml version="1.0" encoding="utf-8"?> | ||
| 2 | <Relationships xmlns="http://schemas.openxmlformats.org/package/2006/relationships"> | ||
| 3 | <Relationship Type="http://schemas.microsoft.com/packaging/2010/07/manifest" Target="/Microsoft.Direct3D.D3D12.nuspec" Id="RE1C776F5B20ED38F" /> | ||
| 4 | <Relationship Type="http://schemas.openxmlformats.org/package/2006/relationships/metadata/core-properties" Target="/package/services/metadata/core-properties/20c8cfa303e54def8eaf74afbcdc6295.psmdcp" Id="R01041A9D9CC91894" /> | ||
| 5 | </Relationships> \ No newline at end of file | ||
diff --git a/contrib/microsoft.direct3d.d3d12.1.618.4/build/native/Microsoft.Direct3D.D3D12.Rules.Project.xml b/contrib/microsoft.direct3d.d3d12.1.618.4/build/native/Microsoft.Direct3D.D3D12.Rules.Project.xml new file mode 100644 index 0000000..aa7f8cc --- /dev/null +++ b/contrib/microsoft.direct3d.d3d12.1.618.4/build/native/Microsoft.Direct3D.D3D12.Rules.Project.xml | |||
| @@ -0,0 +1,38 @@ | |||
| 1 | <?xml version="1.0" encoding="utf-8"?> | ||
| 2 | <Rule | ||
| 3 | Name="Microsoft_Direct3D_D3D12" | ||
| 4 | DisplayName="D3D12 NuGet" | ||
| 5 | Order="70" | ||
| 6 | PageTemplate="generic" | ||
| 7 | Description="Options for the Microsoft.Direct3D.D3D12 NuGet Package" | ||
| 8 | xmlns="http://schemas.microsoft.com/build/2009/properties"> | ||
| 9 | |||
| 10 | <Rule.Categories> | ||
| 11 | <Category Name="General" DisplayName="General" /> | ||
| 12 | </Rule.Categories> | ||
| 13 | |||
| 14 | <Rule.DataSource> | ||
| 15 | <DataSource Persistence="ProjectFile" Label="Globals" /> | ||
| 16 | </Rule.DataSource> | ||
| 17 | |||
| 18 | <StringProperty Name="Microsoft_Direct3D_D3D12_D3D12SDKPath" | ||
| 19 | DisplayName="D3D12SDKPath" | ||
| 20 | Description="Specify the exe relative D3D12SDKPath export to modify the copy destination for d3d12core.dll etc." | ||
| 21 | Category="General" /> | ||
| 22 | |||
| 23 | <BoolProperty Name="Microsoft_Direct3D_D3D12_SkipLibraryCopy" | ||
| 24 | DisplayName="Disable Library Copy" | ||
| 25 | Description="Disables copying D3D12Core.dll and D3D12Core.pdb into the project output directory." | ||
| 26 | Category="General" /> | ||
| 27 | |||
| 28 | <BoolProperty Name="Microsoft_Direct3D_D3D12_SkipDebugLayerCopy" | ||
| 29 | DisplayName="Disable Debug Layer Copy" | ||
| 30 | Description="Disables copying D3D12SDKLayers.dll and D3D12SDKLayers.pdb into the project output directory. This 'debug layer' is used for development only." | ||
| 31 | Category="General" /> | ||
| 32 | |||
| 33 | <BoolProperty Name="Microsoft_Direct3D_D3D12_SkipIncludeDir" | ||
| 34 | DisplayName="Disable Include Directory" | ||
| 35 | Description="Disables appending the package's include folder as an additional include directory." | ||
| 36 | Category="General" /> | ||
| 37 | |||
| 38 | </Rule> | ||
diff --git a/contrib/microsoft.direct3d.d3d12.1.618.4/build/native/Microsoft.Direct3D.D3D12.props b/contrib/microsoft.direct3d.d3d12.1.618.4/build/native/Microsoft.Direct3D.D3D12.props new file mode 100644 index 0000000..3add946 --- /dev/null +++ b/contrib/microsoft.direct3d.d3d12.1.618.4/build/native/Microsoft.Direct3D.D3D12.props | |||
| @@ -0,0 +1,9 @@ | |||
| 1 | <?xml version="1.0" encoding="utf-8"?> | ||
| 2 | <Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> | ||
| 3 | <PropertyGroup Condition="'$(Microsoft_Direct3D_D3D12_D3D12SDKPath)' == ''"> | ||
| 4 | <Microsoft_Direct3D_D3D12_D3D12SDKPath>.\D3D12\</Microsoft_Direct3D_D3D12_D3D12SDKPath> | ||
| 5 | </PropertyGroup> | ||
| 6 | <ItemGroup> | ||
| 7 | <PropertyPageSchema Include="$(MSBuildThisFileDirectory)Microsoft.Direct3D.D3D12.Rules.Project.xml"/> | ||
| 8 | </ItemGroup> | ||
| 9 | </Project> \ No newline at end of file | ||
diff --git a/contrib/microsoft.direct3d.d3d12.1.618.4/build/native/Microsoft.Direct3D.D3D12.targets b/contrib/microsoft.direct3d.d3d12.1.618.4/build/native/Microsoft.Direct3D.D3D12.targets new file mode 100644 index 0000000..c41a7fc --- /dev/null +++ b/contrib/microsoft.direct3d.d3d12.1.618.4/build/native/Microsoft.Direct3D.D3D12.targets | |||
| @@ -0,0 +1,35 @@ | |||
| 1 | <?xml version="1.0" encoding="utf-8"?> | ||
| 2 | <Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> | ||
| 3 | <ItemDefinitionGroup Condition="'$(Microsoft_Direct3D_D3D12_SkipIncludeDir)' != 'true'"> | ||
| 4 | <ClCompile> | ||
| 5 | <AdditionalIncludeDirectories>$(MSBuildThisFileDirectory)include;$(MSBuildThisFileDirectory)include\d3dx12;$(MSBuildThisFileDirectory);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> | ||
| 6 | </ClCompile> | ||
| 7 | |||
| 8 | </ItemDefinitionGroup> | ||
| 9 | <PropertyGroup> | ||
| 10 | <DirectXPlatform Condition="'$(PlatformTarget)' == 'x64' OR ('$(PlatformTarget)' == 'AnyCPU' AND '$(Prefer32Bit)' != 'true')">x64</DirectXPlatform> | ||
| 11 | <DirectXPlatform Condition="'$(PlatformTarget)' == 'x86' OR ('$(PlatformTarget)' == 'AnyCPU' AND '$(Prefer32Bit)' == 'true')">win32</DirectXPlatform> | ||
| 12 | <DirectXPlatform Condition="'$(PlatformTarget)' == '' AND '$(Prefer32Bit)' != 'true'">x64</DirectXPlatform> | ||
| 13 | <DirectXPlatform Condition="'$(PlatformTarget)' == '' AND '$(Prefer32Bit)' == 'true'">win32</DirectXPlatform> | ||
| 14 | <DirectXPlatform Condition="'$(DirectXPlatform)' == ''">$(PlatformTarget)</DirectXPlatform> | ||
| 15 | </PropertyGroup> | ||
| 16 | |||
| 17 | <ItemGroup> | ||
| 18 | <Content Include="$(MSBuildThisFileDirectory)bin\$(DirectXPlatform)\D3D12Core.dll" Condition="'$(Microsoft_Direct3D_D3D12_SkipLibraryCopy)' != 'true'"> | ||
| 19 | <Link>$(Microsoft_Direct3D_D3D12_D3D12SDKPath)%(FileName)%(Extension)</Link> | ||
| 20 | <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory> | ||
| 21 | </Content> | ||
| 22 | <Content Include="$(MSBuildThisFileDirectory)bin\$(DirectXPlatform)\D3D12Core.pdb" Condition="'$(Microsoft_Direct3D_D3D12_SkipLibraryCopy)' != 'true'"> | ||
| 23 | <Link>$(Microsoft_Direct3D_D3D12_D3D12SDKPath)%(FileName)%(Extension)</Link> | ||
| 24 | <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory> | ||
| 25 | </Content> | ||
| 26 | <Content Include="$(MSBuildThisFileDirectory)bin\$(DirectXPlatform)\D3D12SDKLayers.dll" Condition="'$(Microsoft_Direct3D_D3D12_SkipDebugLayerCopy)' != 'true'"> | ||
| 27 | <Link>$(Microsoft_Direct3D_D3D12_D3D12SDKPath)%(FileName)%(Extension)</Link> | ||
| 28 | <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory> | ||
| 29 | </Content> | ||
| 30 | <Content Include="$(MSBuildThisFileDirectory)bin\$(DirectXPlatform)\D3D12SDKLayers.pdb" Condition="'$(Microsoft_Direct3D_D3D12_SkipDebugLayerCopy)' != 'true'"> | ||
| 31 | <Link>$(Microsoft_Direct3D_D3D12_D3D12SDKPath)%(FileName)%(Extension)</Link> | ||
| 32 | <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory> | ||
| 33 | </Content> | ||
| 34 | </ItemGroup> | ||
| 35 | </Project> | ||
diff --git a/contrib/microsoft.direct3d.d3d12.1.618.4/build/native/bin/arm64/D3D12Core.dll b/contrib/microsoft.direct3d.d3d12.1.618.4/build/native/bin/arm64/D3D12Core.dll new file mode 100644 index 0000000..080b83b --- /dev/null +++ b/contrib/microsoft.direct3d.d3d12.1.618.4/build/native/bin/arm64/D3D12Core.dll | |||
| Binary files differ | |||
diff --git a/contrib/microsoft.direct3d.d3d12.1.618.4/build/native/bin/arm64/D3D12Core.pdb b/contrib/microsoft.direct3d.d3d12.1.618.4/build/native/bin/arm64/D3D12Core.pdb new file mode 100644 index 0000000..1e4b9fa --- /dev/null +++ b/contrib/microsoft.direct3d.d3d12.1.618.4/build/native/bin/arm64/D3D12Core.pdb | |||
| Binary files differ | |||
diff --git a/contrib/microsoft.direct3d.d3d12.1.618.4/build/native/bin/arm64/D3D12StateObjectCompiler.dll b/contrib/microsoft.direct3d.d3d12.1.618.4/build/native/bin/arm64/D3D12StateObjectCompiler.dll new file mode 100644 index 0000000..bb7e11f --- /dev/null +++ b/contrib/microsoft.direct3d.d3d12.1.618.4/build/native/bin/arm64/D3D12StateObjectCompiler.dll | |||
| Binary files differ | |||
diff --git a/contrib/microsoft.direct3d.d3d12.1.618.4/build/native/bin/arm64/D3D12StateObjectCompiler.exe b/contrib/microsoft.direct3d.d3d12.1.618.4/build/native/bin/arm64/D3D12StateObjectCompiler.exe new file mode 100644 index 0000000..aab2df3 --- /dev/null +++ b/contrib/microsoft.direct3d.d3d12.1.618.4/build/native/bin/arm64/D3D12StateObjectCompiler.exe | |||
| Binary files differ | |||
diff --git a/contrib/microsoft.direct3d.d3d12.1.618.4/build/native/bin/arm64/D3D12StateObjectCompiler.pdb b/contrib/microsoft.direct3d.d3d12.1.618.4/build/native/bin/arm64/D3D12StateObjectCompiler.pdb new file mode 100644 index 0000000..ecc6fe1 --- /dev/null +++ b/contrib/microsoft.direct3d.d3d12.1.618.4/build/native/bin/arm64/D3D12StateObjectCompiler.pdb | |||
| Binary files differ | |||
diff --git a/contrib/microsoft.direct3d.d3d12.1.618.4/build/native/bin/arm64/D3D12StateObjectCompiler_Exe.pdb b/contrib/microsoft.direct3d.d3d12.1.618.4/build/native/bin/arm64/D3D12StateObjectCompiler_Exe.pdb new file mode 100644 index 0000000..35b75f3 --- /dev/null +++ b/contrib/microsoft.direct3d.d3d12.1.618.4/build/native/bin/arm64/D3D12StateObjectCompiler_Exe.pdb | |||
| Binary files differ | |||
diff --git a/contrib/microsoft.direct3d.d3d12.1.618.4/build/native/bin/arm64/d3d12SDKLayers.dll b/contrib/microsoft.direct3d.d3d12.1.618.4/build/native/bin/arm64/d3d12SDKLayers.dll new file mode 100644 index 0000000..37ab56c --- /dev/null +++ b/contrib/microsoft.direct3d.d3d12.1.618.4/build/native/bin/arm64/d3d12SDKLayers.dll | |||
| Binary files differ | |||
diff --git a/contrib/microsoft.direct3d.d3d12.1.618.4/build/native/bin/arm64/d3d12SDKLayers.pdb b/contrib/microsoft.direct3d.d3d12.1.618.4/build/native/bin/arm64/d3d12SDKLayers.pdb new file mode 100644 index 0000000..68f9cec --- /dev/null +++ b/contrib/microsoft.direct3d.d3d12.1.618.4/build/native/bin/arm64/d3d12SDKLayers.pdb | |||
| Binary files differ | |||
diff --git a/contrib/microsoft.direct3d.d3d12.1.618.4/build/native/bin/arm64/d3dconfig.exe b/contrib/microsoft.direct3d.d3d12.1.618.4/build/native/bin/arm64/d3dconfig.exe new file mode 100644 index 0000000..607260d --- /dev/null +++ b/contrib/microsoft.direct3d.d3d12.1.618.4/build/native/bin/arm64/d3dconfig.exe | |||
| Binary files differ | |||
diff --git a/contrib/microsoft.direct3d.d3d12.1.618.4/build/native/bin/arm64/d3dconfig.pdb b/contrib/microsoft.direct3d.d3d12.1.618.4/build/native/bin/arm64/d3dconfig.pdb new file mode 100644 index 0000000..30deae9 --- /dev/null +++ b/contrib/microsoft.direct3d.d3d12.1.618.4/build/native/bin/arm64/d3dconfig.pdb | |||
| Binary files differ | |||
diff --git a/contrib/microsoft.direct3d.d3d12.1.618.4/build/native/bin/win32/D3D12Core.dll b/contrib/microsoft.direct3d.d3d12.1.618.4/build/native/bin/win32/D3D12Core.dll new file mode 100644 index 0000000..4cb995e --- /dev/null +++ b/contrib/microsoft.direct3d.d3d12.1.618.4/build/native/bin/win32/D3D12Core.dll | |||
| Binary files differ | |||
diff --git a/contrib/microsoft.direct3d.d3d12.1.618.4/build/native/bin/win32/D3D12Core.pdb b/contrib/microsoft.direct3d.d3d12.1.618.4/build/native/bin/win32/D3D12Core.pdb new file mode 100644 index 0000000..91cf0c4 --- /dev/null +++ b/contrib/microsoft.direct3d.d3d12.1.618.4/build/native/bin/win32/D3D12Core.pdb | |||
| Binary files differ | |||
diff --git a/contrib/microsoft.direct3d.d3d12.1.618.4/build/native/bin/win32/D3D12StateObjectCompiler.dll b/contrib/microsoft.direct3d.d3d12.1.618.4/build/native/bin/win32/D3D12StateObjectCompiler.dll new file mode 100644 index 0000000..c509b53 --- /dev/null +++ b/contrib/microsoft.direct3d.d3d12.1.618.4/build/native/bin/win32/D3D12StateObjectCompiler.dll | |||
| Binary files differ | |||
diff --git a/contrib/microsoft.direct3d.d3d12.1.618.4/build/native/bin/win32/D3D12StateObjectCompiler.exe b/contrib/microsoft.direct3d.d3d12.1.618.4/build/native/bin/win32/D3D12StateObjectCompiler.exe new file mode 100644 index 0000000..9b9ef4d --- /dev/null +++ b/contrib/microsoft.direct3d.d3d12.1.618.4/build/native/bin/win32/D3D12StateObjectCompiler.exe | |||
| Binary files differ | |||
diff --git a/contrib/microsoft.direct3d.d3d12.1.618.4/build/native/bin/win32/D3D12StateObjectCompiler.pdb b/contrib/microsoft.direct3d.d3d12.1.618.4/build/native/bin/win32/D3D12StateObjectCompiler.pdb new file mode 100644 index 0000000..859e16a --- /dev/null +++ b/contrib/microsoft.direct3d.d3d12.1.618.4/build/native/bin/win32/D3D12StateObjectCompiler.pdb | |||
| Binary files differ | |||
diff --git a/contrib/microsoft.direct3d.d3d12.1.618.4/build/native/bin/win32/D3D12StateObjectCompiler_Exe.pdb b/contrib/microsoft.direct3d.d3d12.1.618.4/build/native/bin/win32/D3D12StateObjectCompiler_Exe.pdb new file mode 100644 index 0000000..99300ee --- /dev/null +++ b/contrib/microsoft.direct3d.d3d12.1.618.4/build/native/bin/win32/D3D12StateObjectCompiler_Exe.pdb | |||
| Binary files differ | |||
diff --git a/contrib/microsoft.direct3d.d3d12.1.618.4/build/native/bin/win32/d3d12SDKLayers.dll b/contrib/microsoft.direct3d.d3d12.1.618.4/build/native/bin/win32/d3d12SDKLayers.dll new file mode 100644 index 0000000..9814661 --- /dev/null +++ b/contrib/microsoft.direct3d.d3d12.1.618.4/build/native/bin/win32/d3d12SDKLayers.dll | |||
| Binary files differ | |||
diff --git a/contrib/microsoft.direct3d.d3d12.1.618.4/build/native/bin/win32/d3d12SDKLayers.pdb b/contrib/microsoft.direct3d.d3d12.1.618.4/build/native/bin/win32/d3d12SDKLayers.pdb new file mode 100644 index 0000000..ed90270 --- /dev/null +++ b/contrib/microsoft.direct3d.d3d12.1.618.4/build/native/bin/win32/d3d12SDKLayers.pdb | |||
| Binary files differ | |||
diff --git a/contrib/microsoft.direct3d.d3d12.1.618.4/build/native/bin/win32/d3dconfig.exe b/contrib/microsoft.direct3d.d3d12.1.618.4/build/native/bin/win32/d3dconfig.exe new file mode 100644 index 0000000..15ec768 --- /dev/null +++ b/contrib/microsoft.direct3d.d3d12.1.618.4/build/native/bin/win32/d3dconfig.exe | |||
| Binary files differ | |||
diff --git a/contrib/microsoft.direct3d.d3d12.1.618.4/build/native/bin/win32/d3dconfig.pdb b/contrib/microsoft.direct3d.d3d12.1.618.4/build/native/bin/win32/d3dconfig.pdb new file mode 100644 index 0000000..15bde0e --- /dev/null +++ b/contrib/microsoft.direct3d.d3d12.1.618.4/build/native/bin/win32/d3dconfig.pdb | |||
| Binary files differ | |||
diff --git a/contrib/microsoft.direct3d.d3d12.1.618.4/build/native/bin/x64/D3D12Core.dll b/contrib/microsoft.direct3d.d3d12.1.618.4/build/native/bin/x64/D3D12Core.dll new file mode 100644 index 0000000..b3aae9c --- /dev/null +++ b/contrib/microsoft.direct3d.d3d12.1.618.4/build/native/bin/x64/D3D12Core.dll | |||
| Binary files differ | |||
diff --git a/contrib/microsoft.direct3d.d3d12.1.618.4/build/native/bin/x64/D3D12Core.pdb b/contrib/microsoft.direct3d.d3d12.1.618.4/build/native/bin/x64/D3D12Core.pdb new file mode 100644 index 0000000..cae08e5 --- /dev/null +++ b/contrib/microsoft.direct3d.d3d12.1.618.4/build/native/bin/x64/D3D12Core.pdb | |||
| Binary files differ | |||
diff --git a/contrib/microsoft.direct3d.d3d12.1.618.4/build/native/bin/x64/D3D12StateObjectCompiler.dll b/contrib/microsoft.direct3d.d3d12.1.618.4/build/native/bin/x64/D3D12StateObjectCompiler.dll new file mode 100644 index 0000000..75a3b29 --- /dev/null +++ b/contrib/microsoft.direct3d.d3d12.1.618.4/build/native/bin/x64/D3D12StateObjectCompiler.dll | |||
| Binary files differ | |||
diff --git a/contrib/microsoft.direct3d.d3d12.1.618.4/build/native/bin/x64/D3D12StateObjectCompiler.exe b/contrib/microsoft.direct3d.d3d12.1.618.4/build/native/bin/x64/D3D12StateObjectCompiler.exe new file mode 100644 index 0000000..fd3c433 --- /dev/null +++ b/contrib/microsoft.direct3d.d3d12.1.618.4/build/native/bin/x64/D3D12StateObjectCompiler.exe | |||
| Binary files differ | |||
diff --git a/contrib/microsoft.direct3d.d3d12.1.618.4/build/native/bin/x64/D3D12StateObjectCompiler.pdb b/contrib/microsoft.direct3d.d3d12.1.618.4/build/native/bin/x64/D3D12StateObjectCompiler.pdb new file mode 100644 index 0000000..236d325 --- /dev/null +++ b/contrib/microsoft.direct3d.d3d12.1.618.4/build/native/bin/x64/D3D12StateObjectCompiler.pdb | |||
| Binary files differ | |||
diff --git a/contrib/microsoft.direct3d.d3d12.1.618.4/build/native/bin/x64/D3D12StateObjectCompiler_Exe.pdb b/contrib/microsoft.direct3d.d3d12.1.618.4/build/native/bin/x64/D3D12StateObjectCompiler_Exe.pdb new file mode 100644 index 0000000..f548755 --- /dev/null +++ b/contrib/microsoft.direct3d.d3d12.1.618.4/build/native/bin/x64/D3D12StateObjectCompiler_Exe.pdb | |||
| Binary files differ | |||
diff --git a/contrib/microsoft.direct3d.d3d12.1.618.4/build/native/bin/x64/d3d12SDKLayers.dll b/contrib/microsoft.direct3d.d3d12.1.618.4/build/native/bin/x64/d3d12SDKLayers.dll new file mode 100644 index 0000000..96577dc --- /dev/null +++ b/contrib/microsoft.direct3d.d3d12.1.618.4/build/native/bin/x64/d3d12SDKLayers.dll | |||
| Binary files differ | |||
diff --git a/contrib/microsoft.direct3d.d3d12.1.618.4/build/native/bin/x64/d3d12SDKLayers.pdb b/contrib/microsoft.direct3d.d3d12.1.618.4/build/native/bin/x64/d3d12SDKLayers.pdb new file mode 100644 index 0000000..cfb1bf7 --- /dev/null +++ b/contrib/microsoft.direct3d.d3d12.1.618.4/build/native/bin/x64/d3d12SDKLayers.pdb | |||
| Binary files differ | |||
diff --git a/contrib/microsoft.direct3d.d3d12.1.618.4/build/native/bin/x64/d3dconfig.exe b/contrib/microsoft.direct3d.d3d12.1.618.4/build/native/bin/x64/d3dconfig.exe new file mode 100644 index 0000000..462ff91 --- /dev/null +++ b/contrib/microsoft.direct3d.d3d12.1.618.4/build/native/bin/x64/d3dconfig.exe | |||
| Binary files differ | |||
diff --git a/contrib/microsoft.direct3d.d3d12.1.618.4/build/native/bin/x64/d3dconfig.pdb b/contrib/microsoft.direct3d.d3d12.1.618.4/build/native/bin/x64/d3dconfig.pdb new file mode 100644 index 0000000..7089f46 --- /dev/null +++ b/contrib/microsoft.direct3d.d3d12.1.618.4/build/native/bin/x64/d3dconfig.pdb | |||
| Binary files differ | |||
diff --git a/contrib/microsoft.direct3d.d3d12.1.618.4/build/native/include/D3D12TokenizedProgramFormat.hpp b/contrib/microsoft.direct3d.d3d12.1.618.4/build/native/include/D3D12TokenizedProgramFormat.hpp new file mode 100644 index 0000000..b951454 --- /dev/null +++ b/contrib/microsoft.direct3d.d3d12.1.618.4/build/native/include/D3D12TokenizedProgramFormat.hpp | |||
| @@ -0,0 +1,2634 @@ | |||
| 1 | #pragma once | ||
| 2 | //********************************************************* | ||
| 3 | // | ||
| 4 | // Copyright (c) Microsoft Corporation. | ||
| 5 | // Licensed under the MIT License (MIT). | ||
| 6 | // | ||
| 7 | //********************************************************* | ||
| 8 | // | ||
| 9 | // High Level Goals | ||
| 10 | // | ||
| 11 | // - Serve as the runtime/DDI representation for all D3D11 tokenized code, | ||
| 12 | // for all classes of programs, including pixel program, vertex program, | ||
| 13 | // geometry program, etc. | ||
| 14 | // | ||
| 15 | // - Any information that HLSL needs to give to drivers is encoded in | ||
| 16 | // this token format in some form. | ||
| 17 | // | ||
| 18 | // - Enable common tools and source code for managing all tokenizable | ||
| 19 | // program formats. | ||
| 20 | // | ||
| 21 | // - Support extensible token definitions, allowing full customizations for | ||
| 22 | // specific program classes, while maintaining general conventions for all | ||
| 23 | // program models. | ||
| 24 | // | ||
| 25 | // - Binary backwards compatible with D3D10. Any token name that was originally | ||
| 26 | // defined with "D3D10" in it is unchanged; D3D11 only adds new tokens. | ||
| 27 | // | ||
| 28 | // ---------------------------------------------------------------------------- | ||
| 29 | // | ||
| 30 | // Low Level Feature Summary | ||
| 31 | // | ||
| 32 | // - DWORD based tokens always, for simplicity | ||
| 33 | // - Opcode token is generally a single DWORD, though there is a bit indicating | ||
| 34 | // if extended information (extra DWORD(s)) are present | ||
| 35 | // - Operand tokens are a completely self contained, extensible format, | ||
| 36 | // with scalar and 4-vector data types as first class citizens, but | ||
| 37 | // allowance for extension to n-component vectors. | ||
| 38 | // - Initial operand token identifies register type, register file | ||
| 39 | // structure/dimensionality and mode of indexing for each dimension, | ||
| 40 | // and choice of component selection mechanism (i.e. mask vs. swizzle etc). | ||
| 41 | // - Optional additional extended operand tokens can defined things like | ||
| 42 | // modifiers (which are not needed by default). | ||
| 43 | // - Operand's immediate index value(s), if needed, appear as subsequent DWORD | ||
| 44 | // values, and if relative addressing is specified, an additional completely | ||
| 45 | // self contained operand definition appears nested in the token sequence. | ||
| 46 | // | ||
| 47 | // ---------------------------------------------------------------------------- | ||
| 48 | |||
| 49 | #include <winapifamily.h> | ||
| 50 | |||
| 51 | #pragma region Application Family | ||
| 52 | #if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP | WINAPI_PARTITION_GAMES) | ||
| 53 | |||
| 54 | // ---------------------------------------------------------------------------- | ||
| 55 | // Version Token (VerTok) | ||
| 56 | // | ||
| 57 | // [07:00] minor version number (0-255) | ||
| 58 | // [15:08] major version number (0-255) | ||
| 59 | // [31:16] D3D10_SB_TOKENIZED_PROGRAM_TYPE | ||
| 60 | // | ||
| 61 | // ---------------------------------------------------------------------------- | ||
| 62 | |||
| 63 | typedef enum D3D10_SB_TOKENIZED_PROGRAM_TYPE | ||
| 64 | { | ||
| 65 | D3D10_SB_PIXEL_SHADER = 0, | ||
| 66 | D3D10_SB_VERTEX_SHADER = 1, | ||
| 67 | D3D10_SB_GEOMETRY_SHADER = 2, | ||
| 68 | |||
| 69 | // D3D11 Shaders | ||
| 70 | D3D11_SB_HULL_SHADER = 3, | ||
| 71 | D3D11_SB_DOMAIN_SHADER = 4, | ||
| 72 | D3D11_SB_COMPUTE_SHADER = 5, | ||
| 73 | |||
| 74 | // Subset of D3D12 Shaders where this field is referenced by runtime | ||
| 75 | // Entries from 6-12 are unique to state objects | ||
| 76 | // (e.g. library, callable and raytracing shaders) | ||
| 77 | D3D12_SB_MESH_SHADER = 13, | ||
| 78 | D3D12_SB_AMPLIFICATION_SHADER = 14, | ||
| 79 | |||
| 80 | D3D11_SB_RESERVED0 = 0xFFF0 | ||
| 81 | } D3D10_SB_TOKENIZED_PROGRAM_TYPE; | ||
| 82 | |||
| 83 | #define D3D10_SB_TOKENIZED_PROGRAM_TYPE_MASK 0xffff0000 | ||
| 84 | #define D3D10_SB_TOKENIZED_PROGRAM_TYPE_SHIFT 16 | ||
| 85 | |||
| 86 | // DECODER MACRO: Retrieve program type from version token | ||
| 87 | #define DECODE_D3D10_SB_TOKENIZED_PROGRAM_TYPE(VerTok) ((D3D10_SB_TOKENIZED_PROGRAM_TYPE)(((VerTok)&D3D10_SB_TOKENIZED_PROGRAM_TYPE_MASK)>>D3D10_SB_TOKENIZED_PROGRAM_TYPE_SHIFT)) | ||
| 88 | |||
| 89 | #define D3D10_SB_TOKENIZED_PROGRAM_MAJOR_VERSION_MASK 0x000000f0 | ||
| 90 | #define D3D10_SB_TOKENIZED_PROGRAM_MAJOR_VERSION_SHIFT 4 | ||
| 91 | #define D3D10_SB_TOKENIZED_PROGRAM_MINOR_VERSION_MASK 0x0000000f | ||
| 92 | |||
| 93 | // DECODER MACRO: Retrieve major version # from version token | ||
| 94 | #define DECODE_D3D10_SB_TOKENIZED_PROGRAM_MAJOR_VERSION(VerTok) (((VerTok)&D3D10_SB_TOKENIZED_PROGRAM_MAJOR_VERSION_MASK)>>D3D10_SB_TOKENIZED_PROGRAM_MAJOR_VERSION_SHIFT) | ||
| 95 | // DECODER MACRO: Retrieve minor version # from version token | ||
| 96 | #define DECODE_D3D10_SB_TOKENIZED_PROGRAM_MINOR_VERSION(VerTok) ((VerTok)&D3D10_SB_TOKENIZED_PROGRAM_MINOR_VERSION_MASK) | ||
| 97 | |||
| 98 | // ENCODER MACRO: Create complete VerTok | ||
| 99 | #define ENCODE_D3D10_SB_TOKENIZED_PROGRAM_VERSION_TOKEN(ProgType,MajorVer,MinorVer) ((((ProgType)<<D3D10_SB_TOKENIZED_PROGRAM_TYPE_SHIFT)&D3D10_SB_TOKENIZED_PROGRAM_TYPE_MASK)|\ | ||
| 100 | ((((MajorVer)<<D3D10_SB_TOKENIZED_PROGRAM_MAJOR_VERSION_SHIFT)&D3D10_SB_TOKENIZED_PROGRAM_MAJOR_VERSION_MASK))|\ | ||
| 101 | ((MinorVer)&D3D10_SB_TOKENIZED_PROGRAM_MINOR_VERSION_MASK)) | ||
| 102 | |||
| 103 | // ---------------------------------------------------------------------------- | ||
| 104 | // Length Token (LenTok) | ||
| 105 | // | ||
| 106 | // Always follows VerTok | ||
| 107 | // | ||
| 108 | // [31:00] Unsigned integer count of number of | ||
| 109 | // DWORDs in program code, including version | ||
| 110 | // and length tokens. So the minimum value | ||
| 111 | // is 0x00000002 (if an empty program is ever | ||
| 112 | // valid). | ||
| 113 | // | ||
| 114 | // ---------------------------------------------------------------------------- | ||
| 115 | |||
| 116 | // DECODER MACRO: Retrieve program length | ||
| 117 | #define DECODE_D3D10_SB_TOKENIZED_PROGRAM_LENGTH(LenTok) (LenTok) | ||
| 118 | // ENCODER MACRO: Create complete LenTok | ||
| 119 | #define ENCODE_D3D10_SB_TOKENIZED_PROGRAM_LENGTH(Length) (Length) | ||
| 120 | #define MAX_D3D10_SB_TOKENIZED_PROGRAM_LENGTH (0xffffffff) | ||
| 121 | |||
| 122 | // ---------------------------------------------------------------------------- | ||
| 123 | // Opcode Format (OpcodeToken0) | ||
| 124 | // | ||
| 125 | // [10:00] D3D10_SB_OPCODE_TYPE | ||
| 126 | // if( [10:00] == D3D10_SB_OPCODE_CUSTOMDATA ) | ||
| 127 | // { | ||
| 128 | // Token starts a custom-data block. See "Custom-Data Block Format". | ||
| 129 | // } | ||
| 130 | // else // standard opcode token | ||
| 131 | // { | ||
| 132 | // [23:11] Opcode-Specific Controls | ||
| 133 | // [30:24] Instruction length in DWORDs including the opcode token. | ||
| 134 | // [31] 0 normally. 1 if extended operand definition, meaning next DWORD | ||
| 135 | // contains extended opcode token. | ||
| 136 | // } | ||
| 137 | // | ||
| 138 | // ---------------------------------------------------------------------------- | ||
| 139 | |||
| 140 | typedef enum D3D10_SB_OPCODE_TYPE { | ||
| 141 | D3D10_SB_OPCODE_ADD , | ||
| 142 | D3D10_SB_OPCODE_AND , | ||
| 143 | D3D10_SB_OPCODE_BREAK , | ||
| 144 | D3D10_SB_OPCODE_BREAKC , | ||
| 145 | D3D10_SB_OPCODE_CALL , | ||
| 146 | D3D10_SB_OPCODE_CALLC , | ||
| 147 | D3D10_SB_OPCODE_CASE , | ||
| 148 | D3D10_SB_OPCODE_CONTINUE , | ||
| 149 | D3D10_SB_OPCODE_CONTINUEC , | ||
| 150 | D3D10_SB_OPCODE_CUT , | ||
| 151 | D3D10_SB_OPCODE_DEFAULT , | ||
| 152 | D3D10_SB_OPCODE_DERIV_RTX , | ||
| 153 | D3D10_SB_OPCODE_DERIV_RTY , | ||
| 154 | D3D10_SB_OPCODE_DISCARD , | ||
| 155 | D3D10_SB_OPCODE_DIV , | ||
| 156 | D3D10_SB_OPCODE_DP2 , | ||
| 157 | D3D10_SB_OPCODE_DP3 , | ||
| 158 | D3D10_SB_OPCODE_DP4 , | ||
| 159 | D3D10_SB_OPCODE_ELSE , | ||
| 160 | D3D10_SB_OPCODE_EMIT , | ||
| 161 | D3D10_SB_OPCODE_EMITTHENCUT , | ||
| 162 | D3D10_SB_OPCODE_ENDIF , | ||
| 163 | D3D10_SB_OPCODE_ENDLOOP , | ||
| 164 | D3D10_SB_OPCODE_ENDSWITCH , | ||
| 165 | D3D10_SB_OPCODE_EQ , | ||
| 166 | D3D10_SB_OPCODE_EXP , | ||
| 167 | D3D10_SB_OPCODE_FRC , | ||
| 168 | D3D10_SB_OPCODE_FTOI , | ||
| 169 | D3D10_SB_OPCODE_FTOU , | ||
| 170 | D3D10_SB_OPCODE_GE , | ||
| 171 | D3D10_SB_OPCODE_IADD , | ||
| 172 | D3D10_SB_OPCODE_IF , | ||
| 173 | D3D10_SB_OPCODE_IEQ , | ||
| 174 | D3D10_SB_OPCODE_IGE , | ||
| 175 | D3D10_SB_OPCODE_ILT , | ||
| 176 | D3D10_SB_OPCODE_IMAD , | ||
| 177 | D3D10_SB_OPCODE_IMAX , | ||
| 178 | D3D10_SB_OPCODE_IMIN , | ||
| 179 | D3D10_SB_OPCODE_IMUL , | ||
| 180 | D3D10_SB_OPCODE_INE , | ||
| 181 | D3D10_SB_OPCODE_INEG , | ||
| 182 | D3D10_SB_OPCODE_ISHL , | ||
| 183 | D3D10_SB_OPCODE_ISHR , | ||
| 184 | D3D10_SB_OPCODE_ITOF , | ||
| 185 | D3D10_SB_OPCODE_LABEL , | ||
| 186 | D3D10_SB_OPCODE_LD , | ||
| 187 | D3D10_SB_OPCODE_LD_MS , | ||
| 188 | D3D10_SB_OPCODE_LOG , | ||
| 189 | D3D10_SB_OPCODE_LOOP , | ||
| 190 | D3D10_SB_OPCODE_LT , | ||
| 191 | D3D10_SB_OPCODE_MAD , | ||
| 192 | D3D10_SB_OPCODE_MIN , | ||
| 193 | D3D10_SB_OPCODE_MAX , | ||
| 194 | D3D10_SB_OPCODE_CUSTOMDATA , | ||
| 195 | D3D10_SB_OPCODE_MOV , | ||
| 196 | D3D10_SB_OPCODE_MOVC , | ||
| 197 | D3D10_SB_OPCODE_MUL , | ||
| 198 | D3D10_SB_OPCODE_NE , | ||
| 199 | D3D10_SB_OPCODE_NOP , | ||
| 200 | D3D10_SB_OPCODE_NOT , | ||
| 201 | D3D10_SB_OPCODE_OR , | ||
| 202 | D3D10_SB_OPCODE_RESINFO , | ||
| 203 | D3D10_SB_OPCODE_RET , | ||
| 204 | D3D10_SB_OPCODE_RETC , | ||
| 205 | D3D10_SB_OPCODE_ROUND_NE , | ||
| 206 | D3D10_SB_OPCODE_ROUND_NI , | ||
| 207 | D3D10_SB_OPCODE_ROUND_PI , | ||
| 208 | D3D10_SB_OPCODE_ROUND_Z , | ||
| 209 | D3D10_SB_OPCODE_RSQ , | ||
| 210 | D3D10_SB_OPCODE_SAMPLE , | ||
| 211 | D3D10_SB_OPCODE_SAMPLE_C , | ||
| 212 | D3D10_SB_OPCODE_SAMPLE_C_LZ , | ||
| 213 | D3D10_SB_OPCODE_SAMPLE_L , | ||
| 214 | D3D10_SB_OPCODE_SAMPLE_D , | ||
| 215 | D3D10_SB_OPCODE_SAMPLE_B , | ||
| 216 | D3D10_SB_OPCODE_SQRT , | ||
| 217 | D3D10_SB_OPCODE_SWITCH , | ||
| 218 | D3D10_SB_OPCODE_SINCOS , | ||
| 219 | D3D10_SB_OPCODE_UDIV , | ||
| 220 | D3D10_SB_OPCODE_ULT , | ||
| 221 | D3D10_SB_OPCODE_UGE , | ||
| 222 | D3D10_SB_OPCODE_UMUL , | ||
| 223 | D3D10_SB_OPCODE_UMAD , | ||
| 224 | D3D10_SB_OPCODE_UMAX , | ||
| 225 | D3D10_SB_OPCODE_UMIN , | ||
| 226 | D3D10_SB_OPCODE_USHR , | ||
| 227 | D3D10_SB_OPCODE_UTOF , | ||
| 228 | D3D10_SB_OPCODE_XOR , | ||
| 229 | D3D10_SB_OPCODE_DCL_RESOURCE , // DCL* opcodes have | ||
| 230 | D3D10_SB_OPCODE_DCL_CONSTANT_BUFFER , // custom operand formats. | ||
| 231 | D3D10_SB_OPCODE_DCL_SAMPLER , | ||
| 232 | D3D10_SB_OPCODE_DCL_INDEX_RANGE , | ||
| 233 | D3D10_SB_OPCODE_DCL_GS_OUTPUT_PRIMITIVE_TOPOLOGY , | ||
| 234 | D3D10_SB_OPCODE_DCL_GS_INPUT_PRIMITIVE , | ||
| 235 | D3D10_SB_OPCODE_DCL_MAX_OUTPUT_VERTEX_COUNT , | ||
| 236 | D3D10_SB_OPCODE_DCL_INPUT , | ||
| 237 | D3D10_SB_OPCODE_DCL_INPUT_SGV , | ||
| 238 | D3D10_SB_OPCODE_DCL_INPUT_SIV , | ||
| 239 | D3D10_SB_OPCODE_DCL_INPUT_PS , | ||
| 240 | D3D10_SB_OPCODE_DCL_INPUT_PS_SGV , | ||
| 241 | D3D10_SB_OPCODE_DCL_INPUT_PS_SIV , | ||
| 242 | D3D10_SB_OPCODE_DCL_OUTPUT , | ||
| 243 | D3D10_SB_OPCODE_DCL_OUTPUT_SGV , | ||
| 244 | D3D10_SB_OPCODE_DCL_OUTPUT_SIV , | ||
| 245 | D3D10_SB_OPCODE_DCL_TEMPS , | ||
| 246 | D3D10_SB_OPCODE_DCL_INDEXABLE_TEMP , | ||
| 247 | D3D10_SB_OPCODE_DCL_GLOBAL_FLAGS , | ||
| 248 | |||
| 249 | // ----------------------------------------------- | ||
| 250 | |||
| 251 | // This marks the end of D3D10.0 opcodes | ||
| 252 | D3D10_SB_OPCODE_RESERVED0, | ||
| 253 | |||
| 254 | // ---------- DX 10.1 op codes--------------------- | ||
| 255 | |||
| 256 | D3D10_1_SB_OPCODE_LOD, | ||
| 257 | D3D10_1_SB_OPCODE_GATHER4, | ||
| 258 | D3D10_1_SB_OPCODE_SAMPLE_POS, | ||
| 259 | D3D10_1_SB_OPCODE_SAMPLE_INFO, | ||
| 260 | |||
| 261 | // ----------------------------------------------- | ||
| 262 | |||
| 263 | // This marks the end of D3D10.1 opcodes | ||
| 264 | D3D10_1_SB_OPCODE_RESERVED1, | ||
| 265 | |||
| 266 | // ---------- DX 11 op codes--------------------- | ||
| 267 | D3D11_SB_OPCODE_HS_DECLS , // token marks beginning of HS sub-shader | ||
| 268 | D3D11_SB_OPCODE_HS_CONTROL_POINT_PHASE , // token marks beginning of HS sub-shader | ||
| 269 | D3D11_SB_OPCODE_HS_FORK_PHASE , // token marks beginning of HS sub-shader | ||
| 270 | D3D11_SB_OPCODE_HS_JOIN_PHASE , // token marks beginning of HS sub-shader | ||
| 271 | |||
| 272 | D3D11_SB_OPCODE_EMIT_STREAM , | ||
| 273 | D3D11_SB_OPCODE_CUT_STREAM , | ||
| 274 | D3D11_SB_OPCODE_EMITTHENCUT_STREAM , | ||
| 275 | D3D11_SB_OPCODE_INTERFACE_CALL , | ||
| 276 | |||
| 277 | D3D11_SB_OPCODE_BUFINFO , | ||
| 278 | D3D11_SB_OPCODE_DERIV_RTX_COARSE , | ||
| 279 | D3D11_SB_OPCODE_DERIV_RTX_FINE , | ||
| 280 | D3D11_SB_OPCODE_DERIV_RTY_COARSE , | ||
| 281 | D3D11_SB_OPCODE_DERIV_RTY_FINE , | ||
| 282 | D3D11_SB_OPCODE_GATHER4_C , | ||
| 283 | D3D11_SB_OPCODE_GATHER4_PO , | ||
| 284 | D3D11_SB_OPCODE_GATHER4_PO_C , | ||
| 285 | D3D11_SB_OPCODE_RCP , | ||
| 286 | D3D11_SB_OPCODE_F32TOF16 , | ||
| 287 | D3D11_SB_OPCODE_F16TOF32 , | ||
| 288 | D3D11_SB_OPCODE_UADDC , | ||
| 289 | D3D11_SB_OPCODE_USUBB , | ||
| 290 | D3D11_SB_OPCODE_COUNTBITS , | ||
| 291 | D3D11_SB_OPCODE_FIRSTBIT_HI , | ||
| 292 | D3D11_SB_OPCODE_FIRSTBIT_LO , | ||
| 293 | D3D11_SB_OPCODE_FIRSTBIT_SHI , | ||
| 294 | D3D11_SB_OPCODE_UBFE , | ||
| 295 | D3D11_SB_OPCODE_IBFE , | ||
| 296 | D3D11_SB_OPCODE_BFI , | ||
| 297 | D3D11_SB_OPCODE_BFREV , | ||
| 298 | D3D11_SB_OPCODE_SWAPC , | ||
| 299 | |||
| 300 | D3D11_SB_OPCODE_DCL_STREAM , | ||
| 301 | D3D11_SB_OPCODE_DCL_FUNCTION_BODY , | ||
| 302 | D3D11_SB_OPCODE_DCL_FUNCTION_TABLE , | ||
| 303 | D3D11_SB_OPCODE_DCL_INTERFACE , | ||
| 304 | |||
| 305 | D3D11_SB_OPCODE_DCL_INPUT_CONTROL_POINT_COUNT , | ||
| 306 | D3D11_SB_OPCODE_DCL_OUTPUT_CONTROL_POINT_COUNT , | ||
| 307 | D3D11_SB_OPCODE_DCL_TESS_DOMAIN , | ||
| 308 | D3D11_SB_OPCODE_DCL_TESS_PARTITIONING , | ||
| 309 | D3D11_SB_OPCODE_DCL_TESS_OUTPUT_PRIMITIVE , | ||
| 310 | D3D11_SB_OPCODE_DCL_HS_MAX_TESSFACTOR , | ||
| 311 | D3D11_SB_OPCODE_DCL_HS_FORK_PHASE_INSTANCE_COUNT , | ||
| 312 | D3D11_SB_OPCODE_DCL_HS_JOIN_PHASE_INSTANCE_COUNT , | ||
| 313 | |||
| 314 | D3D11_SB_OPCODE_DCL_THREAD_GROUP , | ||
| 315 | D3D11_SB_OPCODE_DCL_UNORDERED_ACCESS_VIEW_TYPED , | ||
| 316 | D3D11_SB_OPCODE_DCL_UNORDERED_ACCESS_VIEW_RAW , | ||
| 317 | D3D11_SB_OPCODE_DCL_UNORDERED_ACCESS_VIEW_STRUCTURED, | ||
| 318 | D3D11_SB_OPCODE_DCL_THREAD_GROUP_SHARED_MEMORY_RAW, | ||
| 319 | D3D11_SB_OPCODE_DCL_THREAD_GROUP_SHARED_MEMORY_STRUCTURED, | ||
| 320 | D3D11_SB_OPCODE_DCL_RESOURCE_RAW , | ||
| 321 | D3D11_SB_OPCODE_DCL_RESOURCE_STRUCTURED , | ||
| 322 | D3D11_SB_OPCODE_LD_UAV_TYPED , | ||
| 323 | D3D11_SB_OPCODE_STORE_UAV_TYPED , | ||
| 324 | D3D11_SB_OPCODE_LD_RAW , | ||
| 325 | D3D11_SB_OPCODE_STORE_RAW , | ||
| 326 | D3D11_SB_OPCODE_LD_STRUCTURED , | ||
| 327 | D3D11_SB_OPCODE_STORE_STRUCTURED , | ||
| 328 | D3D11_SB_OPCODE_ATOMIC_AND , | ||
| 329 | D3D11_SB_OPCODE_ATOMIC_OR , | ||
| 330 | D3D11_SB_OPCODE_ATOMIC_XOR , | ||
| 331 | D3D11_SB_OPCODE_ATOMIC_CMP_STORE , | ||
| 332 | D3D11_SB_OPCODE_ATOMIC_IADD , | ||
| 333 | D3D11_SB_OPCODE_ATOMIC_IMAX , | ||
| 334 | D3D11_SB_OPCODE_ATOMIC_IMIN , | ||
| 335 | D3D11_SB_OPCODE_ATOMIC_UMAX , | ||
| 336 | D3D11_SB_OPCODE_ATOMIC_UMIN , | ||
| 337 | D3D11_SB_OPCODE_IMM_ATOMIC_ALLOC , | ||
| 338 | D3D11_SB_OPCODE_IMM_ATOMIC_CONSUME , | ||
| 339 | D3D11_SB_OPCODE_IMM_ATOMIC_IADD , | ||
| 340 | D3D11_SB_OPCODE_IMM_ATOMIC_AND , | ||
| 341 | D3D11_SB_OPCODE_IMM_ATOMIC_OR , | ||
| 342 | D3D11_SB_OPCODE_IMM_ATOMIC_XOR , | ||
| 343 | D3D11_SB_OPCODE_IMM_ATOMIC_EXCH , | ||
| 344 | D3D11_SB_OPCODE_IMM_ATOMIC_CMP_EXCH , | ||
| 345 | D3D11_SB_OPCODE_IMM_ATOMIC_IMAX , | ||
| 346 | D3D11_SB_OPCODE_IMM_ATOMIC_IMIN , | ||
| 347 | D3D11_SB_OPCODE_IMM_ATOMIC_UMAX , | ||
| 348 | D3D11_SB_OPCODE_IMM_ATOMIC_UMIN , | ||
| 349 | D3D11_SB_OPCODE_SYNC , | ||
| 350 | |||
| 351 | D3D11_SB_OPCODE_DADD , | ||
| 352 | D3D11_SB_OPCODE_DMAX , | ||
| 353 | D3D11_SB_OPCODE_DMIN , | ||
| 354 | D3D11_SB_OPCODE_DMUL , | ||
| 355 | D3D11_SB_OPCODE_DEQ , | ||
| 356 | D3D11_SB_OPCODE_DGE , | ||
| 357 | D3D11_SB_OPCODE_DLT , | ||
| 358 | D3D11_SB_OPCODE_DNE , | ||
| 359 | D3D11_SB_OPCODE_DMOV , | ||
| 360 | D3D11_SB_OPCODE_DMOVC , | ||
| 361 | D3D11_SB_OPCODE_DTOF , | ||
| 362 | D3D11_SB_OPCODE_FTOD , | ||
| 363 | |||
| 364 | D3D11_SB_OPCODE_EVAL_SNAPPED , | ||
| 365 | D3D11_SB_OPCODE_EVAL_SAMPLE_INDEX , | ||
| 366 | D3D11_SB_OPCODE_EVAL_CENTROID , | ||
| 367 | |||
| 368 | D3D11_SB_OPCODE_DCL_GS_INSTANCE_COUNT , | ||
| 369 | |||
| 370 | D3D11_SB_OPCODE_ABORT , | ||
| 371 | D3D11_SB_OPCODE_DEBUG_BREAK , | ||
| 372 | |||
| 373 | // ----------------------------------------------- | ||
| 374 | |||
| 375 | // This marks the end of D3D11.0 opcodes | ||
| 376 | D3D11_SB_OPCODE_RESERVED0, | ||
| 377 | |||
| 378 | D3D11_1_SB_OPCODE_DDIV, | ||
| 379 | D3D11_1_SB_OPCODE_DFMA, | ||
| 380 | D3D11_1_SB_OPCODE_DRCP, | ||
| 381 | |||
| 382 | D3D11_1_SB_OPCODE_MSAD, | ||
| 383 | |||
| 384 | D3D11_1_SB_OPCODE_DTOI, | ||
| 385 | D3D11_1_SB_OPCODE_DTOU, | ||
| 386 | D3D11_1_SB_OPCODE_ITOD, | ||
| 387 | D3D11_1_SB_OPCODE_UTOD, | ||
| 388 | |||
| 389 | // ----------------------------------------------- | ||
| 390 | |||
| 391 | // This marks the end of D3D11.1 opcodes | ||
| 392 | D3D11_1_SB_OPCODE_RESERVED0, | ||
| 393 | |||
| 394 | D3DWDDM1_3_SB_OPCODE_GATHER4_FEEDBACK, | ||
| 395 | D3DWDDM1_3_SB_OPCODE_GATHER4_C_FEEDBACK, | ||
| 396 | D3DWDDM1_3_SB_OPCODE_GATHER4_PO_FEEDBACK, | ||
| 397 | D3DWDDM1_3_SB_OPCODE_GATHER4_PO_C_FEEDBACK, | ||
| 398 | D3DWDDM1_3_SB_OPCODE_LD_FEEDBACK, | ||
| 399 | D3DWDDM1_3_SB_OPCODE_LD_MS_FEEDBACK, | ||
| 400 | D3DWDDM1_3_SB_OPCODE_LD_UAV_TYPED_FEEDBACK, | ||
| 401 | D3DWDDM1_3_SB_OPCODE_LD_RAW_FEEDBACK, | ||
| 402 | D3DWDDM1_3_SB_OPCODE_LD_STRUCTURED_FEEDBACK, | ||
| 403 | D3DWDDM1_3_SB_OPCODE_SAMPLE_L_FEEDBACK, | ||
| 404 | D3DWDDM1_3_SB_OPCODE_SAMPLE_C_LZ_FEEDBACK, | ||
| 405 | |||
| 406 | D3DWDDM1_3_SB_OPCODE_SAMPLE_CLAMP_FEEDBACK, | ||
| 407 | D3DWDDM1_3_SB_OPCODE_SAMPLE_B_CLAMP_FEEDBACK, | ||
| 408 | D3DWDDM1_3_SB_OPCODE_SAMPLE_D_CLAMP_FEEDBACK, | ||
| 409 | D3DWDDM1_3_SB_OPCODE_SAMPLE_C_CLAMP_FEEDBACK, | ||
| 410 | |||
| 411 | D3DWDDM1_3_SB_OPCODE_CHECK_ACCESS_FULLY_MAPPED, | ||
| 412 | |||
| 413 | // ----------------------------------------------- | ||
| 414 | |||
| 415 | // This marks the end of WDDM 1.3 opcodes | ||
| 416 | D3DWDDM1_3_SB_OPCODE_RESERVED0, | ||
| 417 | |||
| 418 | D3D10_SB_NUM_OPCODES // Should be the last entry | ||
| 419 | } D3D10_SB_OPCODE_TYPE; | ||
| 420 | |||
| 421 | #define D3D10_SB_OPCODE_TYPE_MASK 0x00007ff | ||
| 422 | // DECODER MACRO: Retrieve program opcode | ||
| 423 | #define DECODE_D3D10_SB_OPCODE_TYPE(OpcodeToken0) ((D3D10_SB_OPCODE_TYPE)((OpcodeToken0)&D3D10_SB_OPCODE_TYPE_MASK)) | ||
| 424 | // ENCODER MACRO: Create the opcode-type portion of OpcodeToken0 | ||
| 425 | #define ENCODE_D3D10_SB_OPCODE_TYPE(OpcodeName) ((OpcodeName)&D3D10_SB_OPCODE_TYPE_MASK) | ||
| 426 | |||
| 427 | #define D3D10_SB_TOKENIZED_INSTRUCTION_LENGTH_MASK 0x7f000000 | ||
| 428 | #define D3D10_SB_TOKENIZED_INSTRUCTION_LENGTH_SHIFT 24 | ||
| 429 | // DECODER MACRO: Retrieve instruction length | ||
| 430 | // in # of DWORDs including the opcode token(s). | ||
| 431 | // The range is 1-127. | ||
| 432 | #define DECODE_D3D10_SB_TOKENIZED_INSTRUCTION_LENGTH(OpcodeToken0) (((OpcodeToken0)&D3D10_SB_TOKENIZED_INSTRUCTION_LENGTH_MASK)>> D3D10_SB_TOKENIZED_INSTRUCTION_LENGTH_SHIFT) | ||
| 433 | |||
| 434 | // ENCODER MACRO: Store instruction length | ||
| 435 | // portion of OpcodeToken0, in # of DWORDs | ||
| 436 | // including the opcode token(s). | ||
| 437 | // Valid range is 1-127. | ||
| 438 | #define ENCODE_D3D10_SB_TOKENIZED_INSTRUCTION_LENGTH(Length) (((Length)<<D3D10_SB_TOKENIZED_INSTRUCTION_LENGTH_SHIFT)&D3D10_SB_TOKENIZED_INSTRUCTION_LENGTH_MASK) | ||
| 439 | #define MAX_D3D10_SB_TOKENIZED_INSTRUCTION_LENGTH 127 | ||
| 440 | |||
| 441 | #define D3D10_SB_INSTRUCTION_SATURATE_MASK 0x00002000 | ||
| 442 | // DECODER MACRO: Check OpcodeToken0 to see if an instruction | ||
| 443 | // is to saturate the result [0..1] | ||
| 444 | // This flag is indicated by one of the bits in the | ||
| 445 | // opcode specific control range. | ||
| 446 | #define DECODE_IS_D3D10_SB_INSTRUCTION_SATURATE_ENABLED(OpcodeToken0) ((OpcodeToken0)&D3D10_SB_INSTRUCTION_SATURATE_MASK) | ||
| 447 | // ENCODER MACRO: Encode in OpcodeToken0 if instruction is to saturate the result. | ||
| 448 | #define ENCODE_D3D10_SB_INSTRUCTION_SATURATE(bSat) (((bSat)!=0)?D3D10_SB_INSTRUCTION_SATURATE_MASK:0) | ||
| 449 | |||
| 450 | // Boolean test for conditional instructions such as if (if_z or if_nz) | ||
| 451 | // This is part of the opcode specific control range. | ||
| 452 | typedef enum D3D10_SB_INSTRUCTION_TEST_BOOLEAN | ||
| 453 | { | ||
| 454 | D3D10_SB_INSTRUCTION_TEST_ZERO = 0, | ||
| 455 | D3D10_SB_INSTRUCTION_TEST_NONZERO = 1 | ||
| 456 | } D3D10_SB_INSTRUCTION_TEST_BOOLEAN; | ||
| 457 | #define D3D10_SB_INSTRUCTION_TEST_BOOLEAN_MASK 0x00040000 | ||
| 458 | #define D3D10_SB_INSTRUCTION_TEST_BOOLEAN_SHIFT 18 | ||
| 459 | |||
| 460 | // DECODER MACRO: For an OpcodeToken0 for requires either a | ||
| 461 | // zero or non-zero test, determine which test was chosen. | ||
| 462 | #define DECODE_D3D10_SB_INSTRUCTION_TEST_BOOLEAN(OpcodeToken0) ((D3D10_SB_INSTRUCTION_TEST_BOOLEAN)(((OpcodeToken0)&D3D10_SB_INSTRUCTION_TEST_BOOLEAN_MASK)>>D3D10_SB_INSTRUCTION_TEST_BOOLEAN_SHIFT)) | ||
| 463 | // ENCODER MACRO: Store "zero" or "nonzero" in the opcode | ||
| 464 | // specific control range of OpcodeToken0 | ||
| 465 | #define ENCODE_D3D10_SB_INSTRUCTION_TEST_BOOLEAN(Boolean) (((Boolean)<<D3D10_SB_INSTRUCTION_TEST_BOOLEAN_SHIFT)&D3D10_SB_INSTRUCTION_TEST_BOOLEAN_MASK) | ||
| 466 | |||
| 467 | // Precise value mask (bits 19-22) | ||
| 468 | // This is part of the opcode specific control range. | ||
| 469 | // It's 1 bit per-channel of the output, for instructions with multiple | ||
| 470 | // output operands, it applies to that component in each operand. This | ||
| 471 | // uses the components defined in D3D10_SB_COMPONENT_NAME. | ||
| 472 | #define D3D11_SB_INSTRUCTION_PRECISE_VALUES_MASK 0x00780000 | ||
| 473 | #define D3D11_SB_INSTRUCTION_PRECISE_VALUES_SHIFT 19 | ||
| 474 | |||
| 475 | // DECODER MACRO: this macro extracts from OpcodeToken0 the 4 component | ||
| 476 | // (xyzw) mask, as a field of D3D10_SB_4_COMPONENT_[X|Y|Z|W] flags. | ||
| 477 | #define DECODE_D3D11_SB_INSTRUCTION_PRECISE_VALUES(OpcodeToken0) ((((OpcodeToken0)&D3D11_SB_INSTRUCTION_PRECISE_VALUES_MASK)>>D3D11_SB_INSTRUCTION_PRECISE_VALUES_SHIFT)) | ||
| 478 | // ENCODER MACRO: Given a set of | ||
| 479 | // D3D10_SB_OPERAND_4_COMPONENT_[X|Y|Z|W] values | ||
| 480 | // or'd together, encode them in OpcodeToken0. | ||
| 481 | #define ENCODE_D3D11_SB_INSTRUCTION_PRECISE_VALUES(ComponentMask) (((ComponentMask)<<D3D11_SB_INSTRUCTION_PRECISE_VALUES_SHIFT)&D3D11_SB_INSTRUCTION_PRECISE_VALUES_MASK) | ||
| 482 | |||
| 483 | // resinfo instruction return type | ||
| 484 | typedef enum D3D10_SB_RESINFO_INSTRUCTION_RETURN_TYPE | ||
| 485 | { | ||
| 486 | D3D10_SB_RESINFO_INSTRUCTION_RETURN_FLOAT = 0, | ||
| 487 | D3D10_SB_RESINFO_INSTRUCTION_RETURN_RCPFLOAT = 1, | ||
| 488 | D3D10_SB_RESINFO_INSTRUCTION_RETURN_UINT = 2 | ||
| 489 | } D3D10_SB_RESINFO_INSTRUCTION_RETURN_TYPE; | ||
| 490 | |||
| 491 | #define D3D10_SB_RESINFO_INSTRUCTION_RETURN_TYPE_MASK 0x00001800 | ||
| 492 | #define D3D10_SB_RESINFO_INSTRUCTION_RETURN_TYPE_SHIFT 11 | ||
| 493 | |||
| 494 | // DECODER MACRO: For an OpcodeToken0 for the resinfo instruction, | ||
| 495 | // determine the return type. | ||
| 496 | #define DECODE_D3D10_SB_RESINFO_INSTRUCTION_RETURN_TYPE(OpcodeToken0) ((D3D10_SB_RESINFO_INSTRUCTION_RETURN_TYPE)(((OpcodeToken0)&D3D10_SB_RESINFO_INSTRUCTION_RETURN_TYPE_MASK)>>D3D10_SB_RESINFO_INSTRUCTION_RETURN_TYPE_SHIFT)) | ||
| 497 | // ENCODER MACRO: Encode the return type for the resinfo instruction | ||
| 498 | // in the opcode specific control range of OpcodeToken0 | ||
| 499 | #define ENCODE_D3D10_SB_RESINFO_INSTRUCTION_RETURN_TYPE(ReturnType) (((ReturnType)<<D3D10_SB_RESINFO_INSTRUCTION_RETURN_TYPE_SHIFT)&D3D10_SB_RESINFO_INSTRUCTION_RETURN_TYPE_MASK) | ||
| 500 | |||
| 501 | // sync instruction flags | ||
| 502 | #define D3D11_SB_SYNC_THREADS_IN_GROUP 0x00000800 | ||
| 503 | #define D3D11_SB_SYNC_THREAD_GROUP_SHARED_MEMORY 0x00001000 | ||
| 504 | #define D3D11_SB_SYNC_UNORDERED_ACCESS_VIEW_MEMORY_GROUP 0x00002000 | ||
| 505 | #define D3D11_SB_SYNC_UNORDERED_ACCESS_VIEW_MEMORY_GLOBAL 0x00004000 | ||
| 506 | #define D3D11_SB_SYNC_FLAGS_MASK 0x00007800 | ||
| 507 | |||
| 508 | // DECODER MACRO: Retrieve flags for sync instruction from OpcodeToken0. | ||
| 509 | #define DECODE_D3D11_SB_SYNC_FLAGS(OperandToken0) ((OperandToken0)&D3D11_SB_SYNC_FLAGS_MASK) | ||
| 510 | |||
| 511 | // ENCODER MACRO: Given a set of sync instruciton flags, encode them in OpcodeToken0. | ||
| 512 | #define ENCODE_D3D11_SB_SYNC_FLAGS(Flags) ((Flags)&D3D11_SB_SYNC_FLAGS_MASK) | ||
| 513 | |||
| 514 | #define D3D10_SB_OPCODE_EXTENDED_MASK 0x80000000 | ||
| 515 | #define D3D10_SB_OPCODE_EXTENDED_SHIFT 31 | ||
| 516 | // DECODER MACRO: Determine if the opcode is extended | ||
| 517 | // by an additional opcode token. Currently there are no | ||
| 518 | // extended opcodes. | ||
| 519 | #define DECODE_IS_D3D10_SB_OPCODE_EXTENDED(OpcodeToken0) (((OpcodeToken0)&D3D10_SB_OPCODE_EXTENDED_MASK)>> D3D10_SB_OPCODE_EXTENDED_SHIFT) | ||
| 520 | // ENCODER MACRO: Store in OpcodeToken0 whether the opcode is extended | ||
| 521 | // by an additional opcode token. | ||
| 522 | #define ENCODE_D3D10_SB_OPCODE_EXTENDED(bExtended) (((bExtended)!=0)?D3D10_SB_OPCODE_EXTENDED_MASK:0) | ||
| 523 | |||
| 524 | // ---------------------------------------------------------------------------- | ||
| 525 | // Extended Opcode Format (OpcodeToken1) | ||
| 526 | // | ||
| 527 | // If bit31 of an opcode token is set, the | ||
| 528 | // opcode has an additional extended opcode token DWORD | ||
| 529 | // directly following OpcodeToken0. Other tokens | ||
| 530 | // expected for the opcode, such as the operand | ||
| 531 | // token(s) always follow | ||
| 532 | // OpcodeToken0 AND OpcodeToken1..n (extended | ||
| 533 | // opcode tokens, if present). | ||
| 534 | // | ||
| 535 | // [05:00] D3D10_SB_EXTENDED_OPCODE_TYPE | ||
| 536 | // [30:06] if([05:00] == D3D10_SB_EXTENDED_OPCODE_SAMPLE_CONTROLS) | ||
| 537 | // { | ||
| 538 | // This custom opcode contains controls for SAMPLE. | ||
| 539 | // [08:06] Ignored, 0. | ||
| 540 | // [12:09] U texel immediate offset (4 bit 2's comp) (0 default) | ||
| 541 | // [16:13] V texel immediate offset (4 bit 2's comp) (0 default) | ||
| 542 | // [20:17] W texel immediate offset (4 bit 2's comp) (0 default) | ||
| 543 | // [30:14] Ignored, 0. | ||
| 544 | // } | ||
| 545 | // else if( [05:00] == D3D11_SB_EXTENDED_OPCODE_RESOURCE_DIM ) | ||
| 546 | // { | ||
| 547 | // [10:06] D3D10_SB_RESOURCE_DIMENSION | ||
| 548 | // [22:11] When dimension is D3D11_SB_RESOURCE_DIMENSION_STRUCTURED_BUFFER this holds the buffer stride, otherwise 0 | ||
| 549 | // [30:23] Ignored, 0. | ||
| 550 | // } | ||
| 551 | // else if( [05:00] == D3D11_SB_EXTENDED_OPCODE_RESOURCE_RETURN_TYPE ) | ||
| 552 | // { | ||
| 553 | // [09:06] D3D10_SB_RESOURCE_RETURN_TYPE for component X | ||
| 554 | // [13:10] D3D10_SB_RESOURCE_RETURN_TYPE for component Y | ||
| 555 | // [17:14] D3D10_SB_RESOURCE_RETURN_TYPE for component Z | ||
| 556 | // [21:18] D3D10_SB_RESOURCE_RETURN_TYPE for component W | ||
| 557 | // [30:22] Ignored, 0. | ||
| 558 | // } | ||
| 559 | // else | ||
| 560 | // { | ||
| 561 | // [30:04] Ignored, 0. | ||
| 562 | // } | ||
| 563 | // [31] 0 normally. 1 there is another extended opcode. Any number | ||
| 564 | // of extended opcode tokens can be chained. It is possible that some extended | ||
| 565 | // opcode tokens could include multiple DWORDS - that is defined | ||
| 566 | // on a case by case basis. | ||
| 567 | // | ||
| 568 | // ---------------------------------------------------------------------------- | ||
| 569 | typedef enum D3D10_SB_EXTENDED_OPCODE_TYPE | ||
| 570 | { | ||
| 571 | D3D10_SB_EXTENDED_OPCODE_EMPTY = 0, | ||
| 572 | D3D10_SB_EXTENDED_OPCODE_SAMPLE_CONTROLS = 1, | ||
| 573 | D3D11_SB_EXTENDED_OPCODE_RESOURCE_DIM = 2, | ||
| 574 | D3D11_SB_EXTENDED_OPCODE_RESOURCE_RETURN_TYPE = 3, | ||
| 575 | } D3D10_SB_EXTENDED_OPCODE_TYPE; | ||
| 576 | #define D3D11_SB_MAX_SIMULTANEOUS_EXTENDED_OPCODES 3 | ||
| 577 | |||
| 578 | #define D3D10_SB_EXTENDED_OPCODE_TYPE_MASK 0x0000003f | ||
| 579 | |||
| 580 | // DECODER MACRO: Given an extended opcode | ||
| 581 | // token (OpcodeToken1), figure out what type | ||
| 582 | // of token it is (from D3D10_SB_EXTENDED_OPCODE_TYPE enum) | ||
| 583 | // to be able to interpret the rest of the token's contents. | ||
| 584 | #define DECODE_D3D10_SB_EXTENDED_OPCODE_TYPE(OpcodeToken1) ((D3D10_SB_EXTENDED_OPCODE_TYPE)((OpcodeToken1)&D3D10_SB_EXTENDED_OPCODE_TYPE_MASK)) | ||
| 585 | |||
| 586 | // ENCODER MACRO: Store extended opcode token | ||
| 587 | // type in OpcodeToken1. | ||
| 588 | #define ENCODE_D3D10_SB_EXTENDED_OPCODE_TYPE(ExtOpcodeType) ((ExtOpcodeType)&D3D10_SB_EXTENDED_OPCODE_TYPE_MASK) | ||
| 589 | |||
| 590 | typedef enum D3D10_SB_IMMEDIATE_ADDRESS_OFFSET_COORD | ||
| 591 | { | ||
| 592 | D3D10_SB_IMMEDIATE_ADDRESS_OFFSET_U = 0, | ||
| 593 | D3D10_SB_IMMEDIATE_ADDRESS_OFFSET_V = 1, | ||
| 594 | D3D10_SB_IMMEDIATE_ADDRESS_OFFSET_W = 2, | ||
| 595 | } D3D10_SB_IMMEDIATE_ADDRESS_OFFSET_COORD; | ||
| 596 | #define D3D10_SB_IMMEDIATE_ADDRESS_OFFSET_COORD_MASK (3) | ||
| 597 | #define D3D10_SB_IMMEDIATE_ADDRESS_OFFSET_SHIFT(Coord) (9+4*((Coord)&D3D10_SB_IMMEDIATE_ADDRESS_OFFSET_COORD_MASK)) | ||
| 598 | #define D3D10_SB_IMMEDIATE_ADDRESS_OFFSET_MASK(Coord) (0x0000000f<<D3D10_SB_IMMEDIATE_ADDRESS_OFFSET_SHIFT(Coord)) | ||
| 599 | |||
| 600 | // DECODER MACRO: Given an extended opcode token | ||
| 601 | // (OpcodeToken1), and extended token type == | ||
| 602 | // D3D10_SB_EXTENDED_OPCODE_SAMPLE_CONTROLS, determine the immediate | ||
| 603 | // texel address offset for u/v/w (D3D10_SB_ADDRESS_OFFSET_COORD) | ||
| 604 | // This macro returns a (signed) integer, by sign extending the | ||
| 605 | // decoded 4 bit 2's complement immediate value. | ||
| 606 | #define DECODE_IMMEDIATE_D3D10_SB_ADDRESS_OFFSET(Coord,OpcodeToken1) ((((OpcodeToken1)&D3D10_SB_IMMEDIATE_ADDRESS_OFFSET_MASK(Coord))>>(D3D10_SB_IMMEDIATE_ADDRESS_OFFSET_SHIFT(Coord)))) | ||
| 607 | |||
| 608 | // ENCODER MACRO: Store the immediate texel address offset | ||
| 609 | // for U or V or W Coord (D3D10_SB_ADDRESS_OFFSET_COORD) in an extended | ||
| 610 | // opcode token (OpcodeToken1) that has extended opcode | ||
| 611 | // type == D3D10_SB_EXTENDED_OPCODE_SAMPLE_CONTROLS (opcode type encoded separately) | ||
| 612 | // A 2's complement number is expected as input, from which the LSB 4 bits are extracted. | ||
| 613 | #define ENCODE_IMMEDIATE_D3D10_SB_ADDRESS_OFFSET(Coord,ImmediateOffset) (((ImmediateOffset)<<D3D10_SB_IMMEDIATE_ADDRESS_OFFSET_SHIFT(Coord))&D3D10_SB_IMMEDIATE_ADDRESS_OFFSET_MASK(Coord)) | ||
| 614 | |||
| 615 | #define D3D11_SB_EXTENDED_RESOURCE_DIMENSION_MASK 0x000007C0 | ||
| 616 | #define D3D11_SB_EXTENDED_RESOURCE_DIMENSION_SHIFT 6 | ||
| 617 | |||
| 618 | // DECODER MACRO: Given an extended resource declaration token, | ||
| 619 | // (D3D11_SB_EXTENDED_OPCODE_RESOURCE_DIM), determine the resource dimension | ||
| 620 | // (D3D10_SB_RESOURCE_DIMENSION enum) | ||
| 621 | #define DECODE_D3D11_SB_EXTENDED_RESOURCE_DIMENSION(OpcodeTokenN) ((D3D10_SB_RESOURCE_DIMENSION)(((OpcodeTokenN)&D3D11_SB_EXTENDED_RESOURCE_DIMENSION_MASK)>>D3D11_SB_EXTENDED_RESOURCE_DIMENSION_SHIFT)) | ||
| 622 | |||
| 623 | // ENCODER MACRO: Store resource dimension | ||
| 624 | // (D3D10_SB_RESOURCE_DIMENSION enum) into a | ||
| 625 | // an extended resource declaration token (D3D11_SB_EXTENDED_OPCODE_RESOURCE_DIM) | ||
| 626 | #define ENCODE_D3D11_SB_EXTENDED_RESOURCE_DIMENSION(ResourceDim) (((ResourceDim)<<D3D11_SB_EXTENDED_RESOURCE_DIMENSION_SHIFT)&D3D11_SB_EXTENDED_RESOURCE_DIMENSION_MASK) | ||
| 627 | |||
| 628 | #define D3D11_SB_EXTENDED_RESOURCE_DIMENSION_STRUCTURE_STRIDE_MASK 0x007FF800 | ||
| 629 | #define D3D11_SB_EXTENDED_RESOURCE_DIMENSION_STRUCTURE_STRIDE_SHIFT 11 | ||
| 630 | |||
| 631 | // DECODER MACRO: Given an extended resource declaration token for a structured buffer, | ||
| 632 | // (D3D11_SB_EXTENDED_OPCODE_RESOURCE_DIM), determine the structure stride | ||
| 633 | // (12-bit unsigned integer) | ||
| 634 | #define DECODE_D3D11_SB_EXTENDED_RESOURCE_DIMENSION_STRUCTURE_STRIDE(OpcodeTokenN) (((OpcodeTokenN)&D3D11_SB_EXTENDED_RESOURCE_DIMENSION_STRUCTURE_STRIDE_MASK)>>D3D11_SB_EXTENDED_RESOURCE_DIMENSION_STRUCTURE_STRIDE_SHIFT) | ||
| 635 | |||
| 636 | // ENCODER MACRO: Store resource dimension structure stride | ||
| 637 | // (12-bit unsigned integer) into a | ||
| 638 | // an extended resource declaration token (D3D11_SB_EXTENDED_OPCODE_RESOURCE_DIM) | ||
| 639 | #define ENCODE_D3D11_SB_EXTENDED_RESOURCE_DIMENSION_STRUCTURE_STRIDE(Stride) (((Stride)<<D3D11_SB_EXTENDED_RESOURCE_DIMENSION_STRUCTURE_STRIDE_SHIFT)&D3D11_SB_EXTENDED_RESOURCE_DIMENSION_STRUCTURE_STRIDE_MASK) | ||
| 640 | |||
| 641 | #define D3D10_SB_RESOURCE_RETURN_TYPE_MASK 0x0000000f | ||
| 642 | #define D3D10_SB_RESOURCE_RETURN_TYPE_NUMBITS 0x00000004 | ||
| 643 | #define D3D11_SB_EXTENDED_RESOURCE_RETURN_TYPE_SHIFT 6 | ||
| 644 | |||
| 645 | // DECODER MACRO: Get the resource return type for component (0-3) from | ||
| 646 | // an extended resource declaration token (D3D11_SB_EXTENDED_OPCODE_RESOURCE_RETURN_TYPE) | ||
| 647 | #define DECODE_D3D11_SB_EXTENDED_RESOURCE_RETURN_TYPE(OpcodeTokenN, Component) \ | ||
| 648 | ((D3D10_SB_RESOURCE_RETURN_TYPE)(((OpcodeTokenN) >> \ | ||
| 649 | (Component * D3D10_SB_RESOURCE_RETURN_TYPE_NUMBITS + D3D11_SB_EXTENDED_RESOURCE_RETURN_TYPE_SHIFT))&D3D10_SB_RESOURCE_RETURN_TYPE_MASK)) | ||
| 650 | |||
| 651 | // ENCODER MACRO: Generate a resource return type for a component in an extended | ||
| 652 | // resource delcaration token (D3D11_SB_EXTENDED_OPCODE_RESOURCE_RETURN_TYPE) | ||
| 653 | #define ENCODE_D3D11_SB_EXTENDED_RESOURCE_RETURN_TYPE(ReturnType, Component) \ | ||
| 654 | (((ReturnType)&D3D10_SB_RESOURCE_RETURN_TYPE_MASK) << (Component * D3D10_SB_RESOURCE_RETURN_TYPE_NUMBITS + D3D11_SB_EXTENDED_RESOURCE_RETURN_TYPE_SHIFT)) | ||
| 655 | |||
| 656 | // ---------------------------------------------------------------------------- | ||
| 657 | // Custom-Data Block Format | ||
| 658 | // | ||
| 659 | // DWORD 0 (CustomDataDescTok): | ||
| 660 | // [10:00] == D3D10_SB_OPCODE_CUSTOMDATA | ||
| 661 | // [31:11] == D3D10_SB_CUSTOMDATA_CLASS | ||
| 662 | // | ||
| 663 | // DWORD 1: | ||
| 664 | // 32-bit unsigned integer count of number | ||
| 665 | // of DWORDs in custom-data block, | ||
| 666 | // including DWORD 0 and DWORD 1. | ||
| 667 | // So the minimum value is 0x00000002, | ||
| 668 | // meaning empty custom-data. | ||
| 669 | // | ||
| 670 | // Layout of custom-data contents, for the various meta-data classes, | ||
| 671 | // not defined in this file. | ||
| 672 | // | ||
| 673 | // ---------------------------------------------------------------------------- | ||
| 674 | |||
| 675 | typedef enum D3D10_SB_CUSTOMDATA_CLASS | ||
| 676 | { | ||
| 677 | D3D10_SB_CUSTOMDATA_COMMENT = 0, | ||
| 678 | D3D10_SB_CUSTOMDATA_DEBUGINFO, | ||
| 679 | D3D10_SB_CUSTOMDATA_OPAQUE, | ||
| 680 | D3D10_SB_CUSTOMDATA_DCL_IMMEDIATE_CONSTANT_BUFFER, | ||
| 681 | D3D11_SB_CUSTOMDATA_SHADER_MESSAGE, | ||
| 682 | D3D11_SB_CUSTOMDATA_SHADER_CLIP_PLANE_CONSTANT_MAPPINGS_FOR_DX9, | ||
| 683 | } D3D10_SB_CUSTOMDATA_CLASS; | ||
| 684 | |||
| 685 | #define D3D10_SB_CUSTOMDATA_CLASS_MASK 0xfffff800 | ||
| 686 | #define D3D10_SB_CUSTOMDATA_CLASS_SHIFT 11 | ||
| 687 | // DECODER MACRO: Find out what class of custom-data is present. | ||
| 688 | // The contents of the custom-data block are defined | ||
| 689 | // for each class of custom-data. | ||
| 690 | #define DECODE_D3D10_SB_CUSTOMDATA_CLASS(CustomDataDescTok) ((D3D10_SB_CUSTOMDATA_CLASS)(((CustomDataDescTok)&D3D10_SB_CUSTOMDATA_CLASS_MASK)>>D3D10_SB_CUSTOMDATA_CLASS_SHIFT)) | ||
| 691 | // ENCODER MACRO: Create complete CustomDataDescTok | ||
| 692 | #define ENCODE_D3D10_SB_CUSTOMDATA_CLASS(CustomDataClass) (ENCODE_D3D10_SB_OPCODE_TYPE(D3D10_SB_OPCODE_CUSTOMDATA)|(((CustomDataClass)<<D3D10_SB_CUSTOMDATA_CLASS_SHIFT)&D3D10_SB_CUSTOMDATA_CLASS_MASK)) | ||
| 693 | |||
| 694 | // ---------------------------------------------------------------------------- | ||
| 695 | // Instruction Operand Format (OperandToken0) | ||
| 696 | // | ||
| 697 | // [01:00] D3D10_SB_OPERAND_NUM_COMPONENTS | ||
| 698 | // [11:02] Component Selection | ||
| 699 | // if([01:00] == D3D10_SB_OPERAND_0_COMPONENT) | ||
| 700 | // [11:02] = Ignored, 0 | ||
| 701 | // else if([01:00] == D3D10_SB_OPERAND_1_COMPONENT | ||
| 702 | // [11:02] = Ignored, 0 | ||
| 703 | // else if([01:00] == D3D10_SB_OPERAND_4_COMPONENT | ||
| 704 | // { | ||
| 705 | // [03:02] = D3D10_SB_OPERAND_4_COMPONENT_SELECTION_MODE | ||
| 706 | // if([03:02] == D3D10_SB_OPERAND_4_COMPONENT_MASK_MODE) | ||
| 707 | // { | ||
| 708 | // [07:04] = D3D10_SB_OPERAND_4_COMPONENT_MASK | ||
| 709 | // [11:08] = Ignored, 0 | ||
| 710 | // } | ||
| 711 | // else if([03:02] == D3D10_SB_OPERAND_4_COMPONENT_SWIZZLE_MODE) | ||
| 712 | // { | ||
| 713 | // [11:04] = D3D10_SB_4_COMPONENT_SWIZZLE | ||
| 714 | // } | ||
| 715 | // else if([03:02] == D3D10_SB_OPERAND_4_COMPONENT_SELECT_1_MODE) | ||
| 716 | // { | ||
| 717 | // [05:04] = D3D10_SB_4_COMPONENT_NAME | ||
| 718 | // [11:06] = Ignored, 0 | ||
| 719 | // } | ||
| 720 | // } | ||
| 721 | // else if([01:00] == D3D10_SB_OPERAND_N_COMPONENT) | ||
| 722 | // { | ||
| 723 | // Currently not defined. | ||
| 724 | // } | ||
| 725 | // [19:12] D3D10_SB_OPERAND_TYPE | ||
| 726 | // [21:20] D3D10_SB_OPERAND_INDEX_DIMENSION: | ||
| 727 | // Number of dimensions in the register | ||
| 728 | // file (NOT the # of dimensions in the | ||
| 729 | // individual register or memory | ||
| 730 | // resource being referenced). | ||
| 731 | // [24:22] if( [21:20] >= D3D10_SB_OPERAND_INDEX_1D ) | ||
| 732 | // D3D10_SB_OPERAND_INDEX_REPRESENTATION for first operand index | ||
| 733 | // else | ||
| 734 | // Ignored, 0 | ||
| 735 | // [27:25] if( [21:20] >= D3D10_SB_OPERAND_INDEX_2D ) | ||
| 736 | // D3D10_SB_OPERAND_INDEX_REPRESENTATION for second operand index | ||
| 737 | // else | ||
| 738 | // Ignored, 0 | ||
| 739 | // [30:28] if( [21:20] == D3D10_SB_OPERAND_INDEX_3D ) | ||
| 740 | // D3D10_SB_OPERAND_INDEX_REPRESENTATION for third operand index | ||
| 741 | // else | ||
| 742 | // Ignored, 0 | ||
| 743 | // [31] 0 normally. 1 if extended operand definition, meaning next DWORD | ||
| 744 | // contains extended operand description. | ||
| 745 | // | ||
| 746 | // ---------------------------------------------------------------------------- | ||
| 747 | |||
| 748 | // Number of components in data vector referred to by operand. | ||
| 749 | typedef enum D3D10_SB_OPERAND_NUM_COMPONENTS | ||
| 750 | { | ||
| 751 | D3D10_SB_OPERAND_0_COMPONENT = 0, | ||
| 752 | D3D10_SB_OPERAND_1_COMPONENT = 1, | ||
| 753 | D3D10_SB_OPERAND_4_COMPONENT = 2, | ||
| 754 | D3D10_SB_OPERAND_N_COMPONENT = 3 // unused for now | ||
| 755 | } D3D10_SB_OPERAND_NUM_COMPONENTS; | ||
| 756 | #define D3D10_SB_OPERAND_NUM_COMPONENTS_MASK 0x00000003 | ||
| 757 | |||
| 758 | // DECODER MACRO: Extract from OperandToken0 how many components | ||
| 759 | // the data vector referred to by the operand contains. | ||
| 760 | // (D3D10_SB_OPERAND_NUM_COMPONENTS enum) | ||
| 761 | #define DECODE_D3D10_SB_OPERAND_NUM_COMPONENTS(OperandToken0) ((D3D10_SB_OPERAND_NUM_COMPONENTS)((OperandToken0)&D3D10_SB_OPERAND_NUM_COMPONENTS_MASK)) | ||
| 762 | |||
| 763 | // ENCODER MACRO: Define in OperandToken0 how many components | ||
| 764 | // the data vector referred to by the operand contains. | ||
| 765 | // (D3D10_SB_OPERAND_NUM_COMPONENTS enum). | ||
| 766 | #define ENCODE_D3D10_SB_OPERAND_NUM_COMPONENTS(NumComp) ((NumComp)&D3D10_SB_OPERAND_NUM_COMPONENTS_MASK) | ||
| 767 | |||
| 768 | typedef enum D3D10_SB_OPERAND_4_COMPONENT_SELECTION_MODE | ||
| 769 | { | ||
| 770 | D3D10_SB_OPERAND_4_COMPONENT_MASK_MODE = 0, // mask 4 components | ||
| 771 | D3D10_SB_OPERAND_4_COMPONENT_SWIZZLE_MODE = 1, // swizzle 4 components | ||
| 772 | D3D10_SB_OPERAND_4_COMPONENT_SELECT_1_MODE = 2, // select 1 of 4 components | ||
| 773 | } D3D10_SB_OPERAND_4_COMPONENT_SELECTION_MODE; | ||
| 774 | |||
| 775 | #define D3D10_SB_OPERAND_4_COMPONENT_SELECTION_MODE_MASK 0x0000000c | ||
| 776 | #define D3D10_SB_OPERAND_4_COMPONENT_SELECTION_MODE_SHIFT 2 | ||
| 777 | |||
| 778 | // DECODER MACRO: For an operand representing 4component data, | ||
| 779 | // extract from OperandToken0 the method for selecting data from | ||
| 780 | // the 4 components (D3D10_SB_OPERAND_4_COMPONENT_SELECTION_MODE). | ||
| 781 | #define DECODE_D3D10_SB_OPERAND_4_COMPONENT_SELECTION_MODE(OperandToken0) ((D3D10_SB_OPERAND_4_COMPONENT_SELECTION_MODE)(((OperandToken0)&D3D10_SB_OPERAND_4_COMPONENT_SELECTION_MODE_MASK)>>D3D10_SB_OPERAND_4_COMPONENT_SELECTION_MODE_SHIFT)) | ||
| 782 | |||
| 783 | // ENCODER MACRO: For an operand representing 4component data, | ||
| 784 | // encode in OperandToken0 a value from D3D10_SB_OPERAND_4_COMPONENT_SELECTION_MODE | ||
| 785 | #define ENCODE_D3D10_SB_OPERAND_4_COMPONENT_SELECTION_MODE(SelectionMode) (((SelectionMode)<<D3D10_SB_OPERAND_4_COMPONENT_SELECTION_MODE_SHIFT)&D3D10_SB_OPERAND_4_COMPONENT_SELECTION_MODE_MASK) | ||
| 786 | |||
| 787 | typedef enum D3D10_SB_4_COMPONENT_NAME | ||
| 788 | { | ||
| 789 | D3D10_SB_4_COMPONENT_X = 0, | ||
| 790 | D3D10_SB_4_COMPONENT_Y = 1, | ||
| 791 | D3D10_SB_4_COMPONENT_Z = 2, | ||
| 792 | D3D10_SB_4_COMPONENT_W = 3, | ||
| 793 | D3D10_SB_4_COMPONENT_R = 0, | ||
| 794 | D3D10_SB_4_COMPONENT_G = 1, | ||
| 795 | D3D10_SB_4_COMPONENT_B = 2, | ||
| 796 | D3D10_SB_4_COMPONENT_A = 3 | ||
| 797 | } D3D10_SB_4_COMPONENT_NAME; | ||
| 798 | #define D3D10_SB_4_COMPONENT_NAME_MASK 3 | ||
| 799 | |||
| 800 | // MACROS FOR USE IN D3D10_SB_OPERAND_4_COMPONENT_MASK_MODE: | ||
| 801 | |||
| 802 | #define D3D10_SB_OPERAND_4_COMPONENT_MASK_MASK 0x000000f0 | ||
| 803 | #define D3D10_SB_OPERAND_4_COMPONENT_MASK_SHIFT 4 | ||
| 804 | #define D3D10_SB_OPERAND_4_COMPONENT_MASK_X 0x00000010 | ||
| 805 | #define D3D10_SB_OPERAND_4_COMPONENT_MASK_Y 0x00000020 | ||
| 806 | #define D3D10_SB_OPERAND_4_COMPONENT_MASK_Z 0x00000040 | ||
| 807 | #define D3D10_SB_OPERAND_4_COMPONENT_MASK_W 0x00000080 | ||
| 808 | #define D3D10_SB_OPERAND_4_COMPONENT_MASK_R D3D10_SB_OPERAND_4_COMPONENT_MASK_X | ||
| 809 | #define D3D10_SB_OPERAND_4_COMPONENT_MASK_G D3D10_SB_OPERAND_4_COMPONENT_MASK_Y | ||
| 810 | #define D3D10_SB_OPERAND_4_COMPONENT_MASK_B D3D10_SB_OPERAND_4_COMPONENT_MASK_Z | ||
| 811 | #define D3D10_SB_OPERAND_4_COMPONENT_MASK_A D3D10_SB_OPERAND_4_COMPONENT_MASK_W | ||
| 812 | #define D3D10_SB_OPERAND_4_COMPONENT_MASK_ALL D3D10_SB_OPERAND_4_COMPONENT_MASK_MASK | ||
| 813 | |||
| 814 | // DECODER MACRO: When 4 component selection mode is | ||
| 815 | // D3D10_SB_OPERAND_4_COMPONENT_MASK_MODE, this macro | ||
| 816 | // extracts from OperandToken0 the 4 component (xyzw) mask, | ||
| 817 | // as a field of D3D10_SB_OPERAND_4_COMPONENT_MASK_[X|Y|Z|W] flags. | ||
| 818 | // Alternatively, the D3D10_SB_OPERAND_4_COMPONENT_MASK_[X|Y|Z|W] masks | ||
| 819 | // can be tested on OperandToken0 directly, without this macro. | ||
| 820 | #define DECODE_D3D10_SB_OPERAND_4_COMPONENT_MASK(OperandToken0) ((OperandToken0)&D3D10_SB_OPERAND_4_COMPONENT_MASK_MASK) | ||
| 821 | |||
| 822 | // ENCODER MACRO: Given a set of | ||
| 823 | // D3D10_SB_OPERAND_4_COMPONENT_MASK_[X|Y|Z|W] values | ||
| 824 | // or'd together, encode them in OperandToken0. | ||
| 825 | #define ENCODE_D3D10_SB_OPERAND_4_COMPONENT_MASK(ComponentMask) ((ComponentMask)&D3D10_SB_OPERAND_4_COMPONENT_MASK_MASK) | ||
| 826 | |||
| 827 | // ENCODER/DECODER MACRO: Given a D3D10_SB_4_COMPONENT_NAME, | ||
| 828 | // generate the 4-component mask for it. | ||
| 829 | // This can be used in loops that build masks or read masks. | ||
| 830 | // Alternatively, the D3D10_SB_OPERAND_4_COMPONENT_MASK_[X|Y|Z|W] masks | ||
| 831 | // can be used directly, without this macro. | ||
| 832 | #define D3D10_SB_OPERAND_4_COMPONENT_MASK(ComponentName) ((1<<(D3D10_SB_OPERAND_4_COMPONENT_MASK_SHIFT+ComponentName))&D3D10_SB_OPERAND_4_COMPONENT_MASK_MASK) | ||
| 833 | |||
| 834 | // MACROS FOR USE IN D3D10_SB_OPERAND_4_COMPONENT_SWIZZLE_MODE: | ||
| 835 | |||
| 836 | #define D3D10_SB_OPERAND_4_COMPONENT_SWIZZLE_MASK 0x00000ff0 | ||
| 837 | #define D3D10_SB_OPERAND_4_COMPONENT_SWIZZLE_SHIFT 4 | ||
| 838 | |||
| 839 | // DECODER MACRO: When 4 component selection mode is | ||
| 840 | // D3D10_SB_OPERAND_4_COMPONENT_SWIZZLE_MODE, this macro | ||
| 841 | // extracts from OperandToken0 the 4 component swizzle, | ||
| 842 | // as a field of D3D10_SB_OPERAND_4_COMPONENT_MASK_[X|Y|Z|W] flags. | ||
| 843 | #define DECODE_D3D10_SB_OPERAND_4_COMPONENT_SWIZZLE(OperandToken0) ((OperandToken0)&D3D10_SB_OPERAND_4_COMPONENT_SWIZZLE_MASK) | ||
| 844 | |||
| 845 | // DECODER MACRO: Pass a D3D10_SB_4_COMPONENT_NAME as "DestComp" in following | ||
| 846 | // macro to extract, from OperandToken0 or from a decoded swizzle, | ||
| 847 | // the swizzle source component (D3D10_SB_4_COMPONENT_NAME enum): | ||
| 848 | #define DECODE_D3D10_SB_OPERAND_4_COMPONENT_SWIZZLE_SOURCE(OperandToken0,DestComp) ((D3D10_SB_4_COMPONENT_NAME)(((OperandToken0)>>(D3D10_SB_OPERAND_4_COMPONENT_SWIZZLE_SHIFT+2*((DestComp)&D3D10_SB_4_COMPONENT_NAME_MASK)))&D3D10_SB_4_COMPONENT_NAME_MASK)) | ||
| 849 | |||
| 850 | // ENCODER MACRO: Generate a 4 component swizzle given | ||
| 851 | // 4 D3D10_SB_4_COMPONENT_NAME source values for dest | ||
| 852 | // components x, y, z, w respectively. | ||
| 853 | #define ENCODE_D3D10_SB_OPERAND_4_COMPONENT_SWIZZLE(XSrc,YSrc,ZSrc,WSrc) ((((XSrc)&D3D10_SB_4_COMPONENT_NAME_MASK)| \ | ||
| 854 | (((YSrc)&D3D10_SB_4_COMPONENT_NAME_MASK)<<2)| \ | ||
| 855 | (((ZSrc)&D3D10_SB_4_COMPONENT_NAME_MASK)<<4)| \ | ||
| 856 | (((WSrc)&D3D10_SB_4_COMPONENT_NAME_MASK)<<6) \ | ||
| 857 | )<<D3D10_SB_OPERAND_4_COMPONENT_SWIZZLE_SHIFT) | ||
| 858 | |||
| 859 | // ENCODER/DECODER MACROS: Various common swizzle patterns | ||
| 860 | // (noswizzle and replicate of each channels) | ||
| 861 | #define D3D10_SB_OPERAND_4_COMPONENT_NOSWIZZLE ENCODE_D3D10_SB_OPERAND_4_COMPONENT_SWIZZLE(D3D10_SB_4_COMPONENT_X,\ | ||
| 862 | D3D10_SB_4_COMPONENT_Y,\ | ||
| 863 | D3D10_SB_4_COMPONENT_Z,\ | ||
| 864 | D3D10_SB_4_COMPONENT_W) | ||
| 865 | |||
| 866 | #define D3D10_SB_OPERAND_4_COMPONENT_REPLICATEX ENCODE_D3D10_SB_OPERAND_4_COMPONENT_SWIZZLE(D3D10_SB_4_COMPONENT_X,\ | ||
| 867 | D3D10_SB_4_COMPONENT_X,\ | ||
| 868 | D3D10_SB_4_COMPONENT_X,\ | ||
| 869 | D3D10_SB_4_COMPONENT_X) | ||
| 870 | |||
| 871 | #define D3D10_SB_OPERAND_4_COMPONENT_REPLICATEY ENCODE_D3D10_SB_OPERAND_4_COMPONENT_SWIZZLE(D3D10_SB_4_COMPONENT_Y,\ | ||
| 872 | D3D10_SB_4_COMPONENT_Y,\ | ||
| 873 | D3D10_SB_4_COMPONENT_Y,\ | ||
| 874 | D3D10_SB_4_COMPONENT_Y) | ||
| 875 | |||
| 876 | #define D3D10_SB_OPERAND_4_COMPONENT_REPLICATEZ ENCODE_D3D10_SB_OPERAND_4_COMPONENT_SWIZZLE(D3D10_SB_4_COMPONENT_Z,\ | ||
| 877 | D3D10_SB_4_COMPONENT_Z,\ | ||
| 878 | D3D10_SB_4_COMPONENT_Z,\ | ||
| 879 | D3D10_SB_4_COMPONENT_Z) | ||
| 880 | |||
| 881 | #define D3D10_SB_OPERAND_4_COMPONENT_REPLICATEW ENCODE_D3D10_SB_OPERAND_4_COMPONENT_SWIZZLE(D3D10_SB_4_COMPONENT_W,\ | ||
| 882 | D3D10_SB_4_COMPONENT_W,\ | ||
| 883 | D3D10_SB_4_COMPONENT_W,\ | ||
| 884 | D3D10_SB_4_COMPONENT_W) | ||
| 885 | |||
| 886 | #define D3D10_SB_OPERAND_4_COMPONENT_REPLICATERED D3D10_SB_OPERAND_4_COMPONENT_REPLICATEX | ||
| 887 | #define D3D10_SB_OPERAND_4_COMPONENT_REPLICATEGREEN D3D10_SB_OPERAND_4_COMPONENT_REPLICATEY | ||
| 888 | #define D3D10_SB_OPERAND_4_COMPONENT_REPLICATEBLUE D3D10_SB_OPERAND_4_COMPONENT_REPLICATEZ | ||
| 889 | #define D3D10_SB_OPERAND_4_COMPONENT_REPLICATEALPHA D3D10_SB_OPERAND_4_COMPONENT_REPLICATEW | ||
| 890 | |||
| 891 | // MACROS FOR USE IN D3D10_SB_OPERAND_4_COMPONENT_SELECT_1_MODE: | ||
| 892 | #define D3D10_SB_OPERAND_4_COMPONENT_SELECT_1_MASK 0x00000030 | ||
| 893 | #define D3D10_SB_OPERAND_4_COMPONENT_SELECT_1_SHIFT 4 | ||
| 894 | |||
| 895 | // DECODER MACRO: When 4 component selection mode is | ||
| 896 | // D3D10_SB_OPERAND_4_COMPONENT_SELECT_1_MODE, this macro | ||
| 897 | // extracts from OperandToken0 a D3D10_SB_4_COMPONENT_NAME | ||
| 898 | // which picks one of the 4 components. | ||
| 899 | #define DECODE_D3D10_SB_OPERAND_4_COMPONENT_SELECT_1(OperandToken0) ((D3D10_SB_4_COMPONENT_NAME)(((OperandToken0)&D3D10_SB_OPERAND_4_COMPONENT_SELECT_1_MASK)>>D3D10_SB_OPERAND_4_COMPONENT_SELECT_1_SHIFT)) | ||
| 900 | |||
| 901 | // ENCODER MACRO: Given a D3D10_SB_4_COMPONENT_NAME selecting | ||
| 902 | // a single component for D3D10_SB_OPERAND_4_COMPONENT_SELECT_1_MODE, | ||
| 903 | // encode it into OperandToken0 | ||
| 904 | #define ENCODE_D3D10_SB_OPERAND_4_COMPONENT_SELECT_1(SelectedComp) (((SelectedComp)<<D3D10_SB_OPERAND_4_COMPONENT_SELECT_1_SHIFT)&D3D10_SB_OPERAND_4_COMPONENT_SELECT_1_MASK) | ||
| 905 | |||
| 906 | // MACROS FOR DETERMINING OPERAND TYPE: | ||
| 907 | |||
| 908 | typedef enum D3D10_SB_OPERAND_TYPE | ||
| 909 | { | ||
| 910 | D3D10_SB_OPERAND_TYPE_TEMP = 0, // Temporary Register File | ||
| 911 | D3D10_SB_OPERAND_TYPE_INPUT = 1, // General Input Register File | ||
| 912 | D3D10_SB_OPERAND_TYPE_OUTPUT = 2, // General Output Register File | ||
| 913 | D3D10_SB_OPERAND_TYPE_INDEXABLE_TEMP = 3, // Temporary Register File (indexable) | ||
| 914 | D3D10_SB_OPERAND_TYPE_IMMEDIATE32 = 4, // 32bit/component immediate value(s) | ||
| 915 | // If for example, operand token bits | ||
| 916 | // [01:00]==D3D10_SB_OPERAND_4_COMPONENT, | ||
| 917 | // this means that the operand type: | ||
| 918 | // D3D10_SB_OPERAND_TYPE_IMMEDIATE32 | ||
| 919 | // results in 4 additional 32bit | ||
| 920 | // DWORDS present for the operand. | ||
| 921 | D3D10_SB_OPERAND_TYPE_IMMEDIATE64 = 5, // 64bit/comp.imm.val(s)HI:LO | ||
| 922 | D3D10_SB_OPERAND_TYPE_SAMPLER = 6, // Reference to sampler state | ||
| 923 | D3D10_SB_OPERAND_TYPE_RESOURCE = 7, // Reference to memory resource (e.g. texture) | ||
| 924 | D3D10_SB_OPERAND_TYPE_CONSTANT_BUFFER= 8, // Reference to constant buffer | ||
| 925 | D3D10_SB_OPERAND_TYPE_IMMEDIATE_CONSTANT_BUFFER= 9, // Reference to immediate constant buffer | ||
| 926 | D3D10_SB_OPERAND_TYPE_LABEL = 10, // Label | ||
| 927 | D3D10_SB_OPERAND_TYPE_INPUT_PRIMITIVEID = 11, // Input primitive ID | ||
| 928 | D3D10_SB_OPERAND_TYPE_OUTPUT_DEPTH = 12, // Output Depth | ||
| 929 | D3D10_SB_OPERAND_TYPE_NULL = 13, // Null register, used to discard results of operations | ||
| 930 | // Below Are operands new in DX 10.1 | ||
| 931 | D3D10_SB_OPERAND_TYPE_RASTERIZER = 14, // DX10.1 Rasterizer register, used to denote the depth/stencil and render target resources | ||
| 932 | D3D10_SB_OPERAND_TYPE_OUTPUT_COVERAGE_MASK = 15, // DX10.1 PS output MSAA coverage mask (scalar) | ||
| 933 | // Below Are operands new in DX 11 | ||
| 934 | D3D11_SB_OPERAND_TYPE_STREAM = 16, // Reference to GS stream output resource | ||
| 935 | D3D11_SB_OPERAND_TYPE_FUNCTION_BODY = 17, // Reference to a function definition | ||
| 936 | D3D11_SB_OPERAND_TYPE_FUNCTION_TABLE = 18, // Reference to a set of functions used by a class | ||
| 937 | D3D11_SB_OPERAND_TYPE_INTERFACE = 19, // Reference to an interface | ||
| 938 | D3D11_SB_OPERAND_TYPE_FUNCTION_INPUT = 20, // Reference to an input parameter to a function | ||
| 939 | D3D11_SB_OPERAND_TYPE_FUNCTION_OUTPUT = 21, // Reference to an output parameter to a function | ||
| 940 | D3D11_SB_OPERAND_TYPE_OUTPUT_CONTROL_POINT_ID = 22, // HS Control Point phase input saying which output control point ID this is | ||
| 941 | D3D11_SB_OPERAND_TYPE_INPUT_FORK_INSTANCE_ID = 23, // HS Fork Phase input instance ID | ||
| 942 | D3D11_SB_OPERAND_TYPE_INPUT_JOIN_INSTANCE_ID = 24, // HS Join Phase input instance ID | ||
| 943 | D3D11_SB_OPERAND_TYPE_INPUT_CONTROL_POINT = 25, // HS Fork+Join, DS phase input control points (array of them) | ||
| 944 | D3D11_SB_OPERAND_TYPE_OUTPUT_CONTROL_POINT = 26, // HS Fork+Join phase output control points (array of them) | ||
| 945 | D3D11_SB_OPERAND_TYPE_INPUT_PATCH_CONSTANT = 27, // DS+HSJoin Input Patch Constants (array of them) | ||
| 946 | D3D11_SB_OPERAND_TYPE_INPUT_DOMAIN_POINT = 28, // DS Input Domain point | ||
| 947 | D3D11_SB_OPERAND_TYPE_THIS_POINTER = 29, // Reference to an interface this pointer | ||
| 948 | D3D11_SB_OPERAND_TYPE_UNORDERED_ACCESS_VIEW = 30, // Reference to UAV u# | ||
| 949 | D3D11_SB_OPERAND_TYPE_THREAD_GROUP_SHARED_MEMORY = 31, // Reference to Thread Group Shared Memory g# | ||
| 950 | D3D11_SB_OPERAND_TYPE_INPUT_THREAD_ID = 32, // Compute Shader Thread ID | ||
| 951 | D3D11_SB_OPERAND_TYPE_INPUT_THREAD_GROUP_ID = 33, // Compute Shader Thread Group ID | ||
| 952 | D3D11_SB_OPERAND_TYPE_INPUT_THREAD_ID_IN_GROUP = 34, // Compute Shader Thread ID In Thread Group | ||
| 953 | D3D11_SB_OPERAND_TYPE_INPUT_COVERAGE_MASK = 35, // Pixel shader coverage mask input | ||
| 954 | D3D11_SB_OPERAND_TYPE_INPUT_THREAD_ID_IN_GROUP_FLATTENED = 36, // Compute Shader Thread ID In Group Flattened to a 1D value. | ||
| 955 | D3D11_SB_OPERAND_TYPE_INPUT_GS_INSTANCE_ID = 37, // Input GS instance ID | ||
| 956 | D3D11_SB_OPERAND_TYPE_OUTPUT_DEPTH_GREATER_EQUAL = 38, // Output Depth, forced to be greater than or equal than current depth | ||
| 957 | D3D11_SB_OPERAND_TYPE_OUTPUT_DEPTH_LESS_EQUAL = 39, // Output Depth, forced to be less than or equal to current depth | ||
| 958 | D3D11_SB_OPERAND_TYPE_CYCLE_COUNTER = 40, // Cycle counter | ||
| 959 | D3D11_SB_OPERAND_TYPE_OUTPUT_STENCIL_REF = 41, // DX11 PS output stencil reference (scalar) | ||
| 960 | D3D11_SB_OPERAND_TYPE_INNER_COVERAGE = 42, // DX11 PS input inner coverage (scalar) | ||
| 961 | } D3D10_SB_OPERAND_TYPE; | ||
| 962 | |||
| 963 | #define D3D10_SB_OPERAND_TYPE_MASK 0x000ff000 | ||
| 964 | #define D3D10_SB_OPERAND_TYPE_SHIFT 12 | ||
| 965 | |||
| 966 | // DECODER MACRO: Determine operand type from OperandToken0. | ||
| 967 | #define DECODE_D3D10_SB_OPERAND_TYPE(OperandToken0) ((D3D10_SB_OPERAND_TYPE)(((OperandToken0)&D3D10_SB_OPERAND_TYPE_MASK)>>D3D10_SB_OPERAND_TYPE_SHIFT)) | ||
| 968 | |||
| 969 | // ENCODER MACRO: Store operand type in OperandToken0. | ||
| 970 | #define ENCODE_D3D10_SB_OPERAND_TYPE(OperandType) (((OperandType)<<D3D10_SB_OPERAND_TYPE_SHIFT)&D3D10_SB_OPERAND_TYPE_MASK) | ||
| 971 | |||
| 972 | typedef enum D3D10_SB_OPERAND_INDEX_DIMENSION | ||
| 973 | { | ||
| 974 | D3D10_SB_OPERAND_INDEX_0D = 0, // e.g. Position | ||
| 975 | D3D10_SB_OPERAND_INDEX_1D = 1, // Most common. e.g. Temp registers. | ||
| 976 | D3D10_SB_OPERAND_INDEX_2D = 2, // e.g. Geometry Program Input registers. | ||
| 977 | D3D10_SB_OPERAND_INDEX_3D = 3, // 3D rarely if ever used. | ||
| 978 | } D3D10_SB_OPERAND_INDEX_DIMENSION; | ||
| 979 | #define D3D10_SB_OPERAND_INDEX_DIMENSION_MASK 0x00300000 | ||
| 980 | #define D3D10_SB_OPERAND_INDEX_DIMENSION_SHIFT 20 | ||
| 981 | |||
| 982 | // DECODER MACRO: Determine operand index dimension from OperandToken0. | ||
| 983 | #define DECODE_D3D10_SB_OPERAND_INDEX_DIMENSION(OperandToken0) ((D3D10_SB_OPERAND_INDEX_DIMENSION)(((OperandToken0)&D3D10_SB_OPERAND_INDEX_DIMENSION_MASK)>>D3D10_SB_OPERAND_INDEX_DIMENSION_SHIFT)) | ||
| 984 | |||
| 985 | // ENCODER MACRO: Store operand index dimension | ||
| 986 | // (D3D10_SB_OPERAND_INDEX_DIMENSION enum) in OperandToken0. | ||
| 987 | #define ENCODE_D3D10_SB_OPERAND_INDEX_DIMENSION(OperandIndexDim) (((OperandIndexDim)<<D3D10_SB_OPERAND_INDEX_DIMENSION_SHIFT)&D3D10_SB_OPERAND_INDEX_DIMENSION_MASK) | ||
| 988 | |||
| 989 | typedef enum D3D10_SB_OPERAND_INDEX_REPRESENTATION | ||
| 990 | { | ||
| 991 | D3D10_SB_OPERAND_INDEX_IMMEDIATE32 = 0, // Extra DWORD | ||
| 992 | D3D10_SB_OPERAND_INDEX_IMMEDIATE64 = 1, // 2 Extra DWORDs | ||
| 993 | // (HI32:LO32) | ||
| 994 | D3D10_SB_OPERAND_INDEX_RELATIVE = 2, // Extra operand | ||
| 995 | D3D10_SB_OPERAND_INDEX_IMMEDIATE32_PLUS_RELATIVE = 3, // Extra DWORD followed by | ||
| 996 | // extra operand | ||
| 997 | D3D10_SB_OPERAND_INDEX_IMMEDIATE64_PLUS_RELATIVE = 4, // 2 Extra DWORDS | ||
| 998 | // (HI32:LO32) followed | ||
| 999 | // by extra operand | ||
| 1000 | } D3D10_SB_OPERAND_INDEX_REPRESENTATION; | ||
| 1001 | #define D3D10_SB_OPERAND_INDEX_REPRESENTATION_SHIFT(Dim) (22+3*((Dim)&3)) | ||
| 1002 | #define D3D10_SB_OPERAND_INDEX_REPRESENTATION_MASK(Dim) (0x3<<D3D10_SB_OPERAND_INDEX_REPRESENTATION_SHIFT(Dim)) | ||
| 1003 | |||
| 1004 | // DECODER MACRO: Determine from OperandToken0 what representation | ||
| 1005 | // an operand index is provided as (D3D10_SB_OPERAND_INDEX_REPRESENTATION enum), | ||
| 1006 | // for index dimension [0], [1] or [2], depending on D3D10_SB_OPERAND_INDEX_DIMENSION. | ||
| 1007 | #define DECODE_D3D10_SB_OPERAND_INDEX_REPRESENTATION(Dim,OperandToken0) ((D3D10_SB_OPERAND_INDEX_REPRESENTATION)(((OperandToken0)&D3D10_SB_OPERAND_INDEX_REPRESENTATION_MASK(Dim))>>D3D10_SB_OPERAND_INDEX_REPRESENTATION_SHIFT(Dim))) | ||
| 1008 | |||
| 1009 | // ENCODER MACRO: Store in OperandToken0 what representation | ||
| 1010 | // an operand index is provided as (D3D10_SB_OPERAND_INDEX_REPRESENTATION enum), | ||
| 1011 | // for index dimension [0], [1] or [2], depending on D3D10_SB_OPERAND_INDEX_DIMENSION. | ||
| 1012 | #define ENCODE_D3D10_SB_OPERAND_INDEX_REPRESENTATION(Dim,IndexRepresentation) (((IndexRepresentation)<<D3D10_SB_OPERAND_INDEX_REPRESENTATION_SHIFT(Dim))&D3D10_SB_OPERAND_INDEX_REPRESENTATION_MASK(Dim)) | ||
| 1013 | |||
| 1014 | #define D3D10_SB_OPERAND_EXTENDED_MASK 0x80000000 | ||
| 1015 | #define D3D10_SB_OPERAND_EXTENDED_SHIFT 31 | ||
| 1016 | |||
| 1017 | // DECODER MACRO: Determine if the operand is extended | ||
| 1018 | // by an additional opcode token. | ||
| 1019 | #define DECODE_IS_D3D10_SB_OPERAND_EXTENDED(OperandToken0) (((OperandToken0)&D3D10_SB_OPERAND_EXTENDED_MASK)>>D3D10_SB_OPERAND_EXTENDED_SHIFT) | ||
| 1020 | |||
| 1021 | // ENCODER MACRO: Store in OperandToken0 whether the operand is extended | ||
| 1022 | // by an additional operand token. | ||
| 1023 | #define ENCODE_D3D10_SB_OPERAND_EXTENDED(bExtended) (((bExtended)!=0)?D3D10_SB_OPERAND_EXTENDED_MASK:0) | ||
| 1024 | |||
| 1025 | // ---------------------------------------------------------------------------- | ||
| 1026 | // Extended Instruction Operand Format (OperandToken1) | ||
| 1027 | // | ||
| 1028 | // If bit31 of an operand token is set, the | ||
| 1029 | // operand has additional data in a second DWORD | ||
| 1030 | // directly following OperandToken0. Other tokens | ||
| 1031 | // expected for the operand, such as immmediate | ||
| 1032 | // values or relative address operands (full | ||
| 1033 | // operands in themselves) always follow | ||
| 1034 | // OperandToken0 AND OperandToken1..n (extended | ||
| 1035 | // operand tokens, if present). | ||
| 1036 | // | ||
| 1037 | // [05:00] D3D10_SB_EXTENDED_OPERAND_TYPE | ||
| 1038 | // [16:06] if([05:00] == D3D10_SB_EXTENDED_OPERAND_MODIFIER) | ||
| 1039 | // { | ||
| 1040 | // [13:06] D3D10_SB_OPERAND_MODIFIER | ||
| 1041 | // [16:14] Min Precision: D3D11_SB_OPERAND_MIN_PRECISION | ||
| 1042 | // [17:17] Non-uniform: D3D12_SB_OPERAND_NON_UNIFORM | ||
| 1043 | // } | ||
| 1044 | // else | ||
| 1045 | // { | ||
| 1046 | // [17:06] Ignored, 0. | ||
| 1047 | // } | ||
| 1048 | // [30:18] Ignored, 0. | ||
| 1049 | // [31] 0 normally. 1 if second order extended operand definition, | ||
| 1050 | // meaning next DWORD contains yet ANOTHER extended operand | ||
| 1051 | // description. Currently no second order extensions defined. | ||
| 1052 | // This would be useful if a particular extended operand does | ||
| 1053 | // not have enough space to store the required information in | ||
| 1054 | // a single token and so is extended further. | ||
| 1055 | // | ||
| 1056 | // ---------------------------------------------------------------------------- | ||
| 1057 | |||
| 1058 | typedef enum D3D10_SB_EXTENDED_OPERAND_TYPE | ||
| 1059 | { | ||
| 1060 | D3D10_SB_EXTENDED_OPERAND_EMPTY = 0, // Might be used if this | ||
| 1061 | // enum is full and | ||
| 1062 | // further extended opcode | ||
| 1063 | // is needed. | ||
| 1064 | D3D10_SB_EXTENDED_OPERAND_MODIFIER = 1, | ||
| 1065 | } D3D10_SB_EXTENDED_OPERAND_TYPE; | ||
| 1066 | #define D3D10_SB_EXTENDED_OPERAND_TYPE_MASK 0x0000003f | ||
| 1067 | |||
| 1068 | // DECODER MACRO: Given an extended operand | ||
| 1069 | // token (OperandToken1), figure out what type | ||
| 1070 | // of token it is (from D3D10_SB_EXTENDED_OPERAND_TYPE enum) | ||
| 1071 | // to be able to interpret the rest of the token's contents. | ||
| 1072 | #define DECODE_D3D10_SB_EXTENDED_OPERAND_TYPE(OperandToken1) ((D3D10_SB_EXTENDED_OPERAND_TYPE)((OperandToken1)&D3D10_SB_EXTENDED_OPERAND_TYPE_MASK)) | ||
| 1073 | |||
| 1074 | // ENCODER MACRO: Store extended operand token | ||
| 1075 | // type in OperandToken1. | ||
| 1076 | #define ENCODE_D3D10_SB_EXTENDED_OPERAND_TYPE(ExtOperandType) ((ExtOperandType)&D3D10_SB_EXTENDED_OPERAND_TYPE_MASK) | ||
| 1077 | |||
| 1078 | typedef enum D3D10_SB_OPERAND_MODIFIER | ||
| 1079 | { | ||
| 1080 | D3D10_SB_OPERAND_MODIFIER_NONE = 0, // Nop. This is the implied | ||
| 1081 | // default if the extended | ||
| 1082 | // operand is not present for | ||
| 1083 | // an operand for which source | ||
| 1084 | // modifiers are meaningful | ||
| 1085 | D3D10_SB_OPERAND_MODIFIER_NEG = 1, // Negate | ||
| 1086 | D3D10_SB_OPERAND_MODIFIER_ABS = 2, // Absolute value, abs() | ||
| 1087 | D3D10_SB_OPERAND_MODIFIER_ABSNEG = 3, // -abs() | ||
| 1088 | } D3D10_SB_OPERAND_MODIFIER; | ||
| 1089 | #define D3D10_SB_OPERAND_MODIFIER_MASK 0x00003fc0 | ||
| 1090 | #define D3D10_SB_OPERAND_MODIFIER_SHIFT 6 | ||
| 1091 | |||
| 1092 | // DECODER MACRO: Given a D3D10_SB_EXTENDED_OPERAND_MODIFIER | ||
| 1093 | // extended token (OperandToken1), determine the source modifier | ||
| 1094 | // (D3D10_SB_OPERAND_MODIFIER enum) | ||
| 1095 | #define DECODE_D3D10_SB_OPERAND_MODIFIER(OperandToken1) ((D3D10_SB_OPERAND_MODIFIER)(((OperandToken1)&D3D10_SB_OPERAND_MODIFIER_MASK)>>D3D10_SB_OPERAND_MODIFIER_SHIFT)) | ||
| 1096 | |||
| 1097 | // ENCODER MACRO: Generate a complete source modifier extended token | ||
| 1098 | // (OperandToken1), given D3D10_SB_OPERAND_MODIFIER enum (the | ||
| 1099 | // ext. operand type is also set to D3D10_SB_EXTENDED_OPERAND_MODIFIER). | ||
| 1100 | #define ENCODE_D3D10_SB_EXTENDED_OPERAND_MODIFIER(SourceMod) ((((SourceMod)<<D3D10_SB_OPERAND_MODIFIER_SHIFT)&D3D10_SB_OPERAND_MODIFIER_MASK)| \ | ||
| 1101 | ENCODE_D3D10_SB_EXTENDED_OPERAND_TYPE(D3D10_SB_EXTENDED_OPERAND_MODIFIER) | \ | ||
| 1102 | ENCODE_D3D10_SB_OPERAND_DOUBLE_EXTENDED(0)) | ||
| 1103 | |||
| 1104 | // Min precision specifier for source/dest operands. This | ||
| 1105 | // fits in the extended operand token field. Implementations are free to | ||
| 1106 | // execute at higher precision than the min - details spec'ed elsewhere. | ||
| 1107 | // This is part of the opcode specific control range. | ||
| 1108 | typedef enum D3D11_SB_OPERAND_MIN_PRECISION | ||
| 1109 | { | ||
| 1110 | D3D11_SB_OPERAND_MIN_PRECISION_DEFAULT = 0, // Default precision | ||
| 1111 | // for the shader model | ||
| 1112 | D3D11_SB_OPERAND_MIN_PRECISION_FLOAT_16 = 1, // Min 16 bit/component float | ||
| 1113 | D3D11_SB_OPERAND_MIN_PRECISION_FLOAT_2_8 = 2, // Min 10(2.8)bit/comp. float | ||
| 1114 | D3D11_SB_OPERAND_MIN_PRECISION_SINT_16 = 4, // Min 16 bit/comp. signed integer | ||
| 1115 | D3D11_SB_OPERAND_MIN_PRECISION_UINT_16 = 5, // Min 16 bit/comp. unsigned integer | ||
| 1116 | } D3D11_SB_OPERAND_MIN_PRECISION; | ||
| 1117 | #define D3D11_SB_OPERAND_MIN_PRECISION_MASK 0x0001C000 | ||
| 1118 | #define D3D11_SB_OPERAND_MIN_PRECISION_SHIFT 14 | ||
| 1119 | |||
| 1120 | // DECODER MACRO: For an OperandToken1 that can specify | ||
| 1121 | // a minimum precision for execution, find out what it is. | ||
| 1122 | #define DECODE_D3D11_SB_OPERAND_MIN_PRECISION(OperandToken1) ((D3D11_SB_OPERAND_MIN_PRECISION)(((OperandToken1)& D3D11_SB_OPERAND_MIN_PRECISION_MASK)>> D3D11_SB_OPERAND_MIN_PRECISION_SHIFT)) | ||
| 1123 | |||
| 1124 | // ENCODER MACRO: Encode minimum precision for execution | ||
| 1125 | // into the extended operand token, OperandToken1 | ||
| 1126 | #define ENCODE_D3D11_SB_OPERAND_MIN_PRECISION(MinPrecision) (((MinPrecision)<< D3D11_SB_OPERAND_MIN_PRECISION_SHIFT)& D3D11_SB_OPERAND_MIN_PRECISION_MASK) | ||
| 1127 | |||
| 1128 | |||
| 1129 | // Non-uniform extended operand modifier. | ||
| 1130 | #define D3D12_SB_OPERAND_NON_UNIFORM_MASK 0x00020000 | ||
| 1131 | #define D3D12_SB_OPERAND_NON_UNIFORM_SHIFT 17 | ||
| 1132 | |||
| 1133 | // DECODER MACRO: For an OperandToken1 that can specify a non-uniform operand | ||
| 1134 | #define DECODE_D3D12_SB_OPERAND_NON_UNIFORM(OperandToken1) (((OperandToken1)& D3D12_SB_OPERAND_NON_UNIFORM_MASK)>> D3D12_SB_OPERAND_NON_UNIFORM_SHIFT) | ||
| 1135 | |||
| 1136 | // ENCODER MACRO: Encode non-uniform state into the extended operand token, OperandToken1 | ||
| 1137 | #define ENCODE_D3D12_SB_OPERAND_NON_UNIFORM(NonUniform) (((NonUniform)<< D3D12_SB_OPERAND_NON_UNIFORM_SHIFT)& D3D12_SB_OPERAND_NON_UNIFORM_MASK) | ||
| 1138 | |||
| 1139 | |||
| 1140 | #define D3D10_SB_OPERAND_DOUBLE_EXTENDED_MASK 0x80000000 | ||
| 1141 | #define D3D10_SB_OPERAND_DOUBLE_EXTENDED_SHIFT 31 | ||
| 1142 | // DECODER MACRO: Determine if an extended operand token | ||
| 1143 | // (OperandToken1) is further extended by yet another token | ||
| 1144 | // (OperandToken2). Currently there are no secondary | ||
| 1145 | // extended operand tokens. | ||
| 1146 | #define DECODE_IS_D3D10_SB_OPERAND_DOUBLE_EXTENDED(OperandToken1) (((OperandToken1)&D3D10_SB_OPERAND_DOUBLE_EXTENDED_MASK)>>D3D10_SB_OPERAND_DOUBLE_EXTENDED_SHIFT) | ||
| 1147 | |||
| 1148 | // ENCODER MACRO: Store in OperandToken1 whether the operand is extended | ||
| 1149 | // by an additional operand token. Currently there are no secondary | ||
| 1150 | // extended operand tokens. | ||
| 1151 | #define ENCODE_D3D10_SB_OPERAND_DOUBLE_EXTENDED(bExtended) (((bExtended)!=0)?D3D10_SB_OPERAND_DOUBLE_EXTENDED_MASK:0) | ||
| 1152 | |||
| 1153 | // ---------------------------------------------------------------------------- | ||
| 1154 | // Name Token (NameToken) (used in declaration statements) | ||
| 1155 | // | ||
| 1156 | // [15:00] D3D10_SB_NAME enumeration | ||
| 1157 | // [31:16] Reserved, 0 | ||
| 1158 | // | ||
| 1159 | // ---------------------------------------------------------------------------- | ||
| 1160 | #define D3D10_SB_NAME_MASK 0x0000ffff | ||
| 1161 | |||
| 1162 | // DECODER MACRO: Get the name from NameToken | ||
| 1163 | #define DECODE_D3D10_SB_NAME(NameToken) ((D3D10_SB_NAME)((NameToken)&D3D10_SB_NAME_MASK)) | ||
| 1164 | |||
| 1165 | // ENCODER MACRO: Generate a complete NameToken given a D3D10_SB_NAME | ||
| 1166 | #define ENCODE_D3D10_SB_NAME(Name) ((Name)&D3D10_SB_NAME_MASK) | ||
| 1167 | |||
| 1168 | //--------------------------------------------------------------------- | ||
| 1169 | // Declaration Statements | ||
| 1170 | // | ||
| 1171 | // Declarations start with a standard opcode token, | ||
| 1172 | // having opcode type being D3D10_SB_OPCODE_DCL*. | ||
| 1173 | // Each particular declaration type has custom | ||
| 1174 | // operand token(s), described below. | ||
| 1175 | //--------------------------------------------------------------------- | ||
| 1176 | |||
| 1177 | // ---------------------------------------------------------------------------- | ||
| 1178 | // Global Flags Declaration | ||
| 1179 | // | ||
| 1180 | // OpcodeToken0: | ||
| 1181 | // | ||
| 1182 | // [10:00] D3D10_SB_OPCODE_DCL_GLOBAL_FLAGS | ||
| 1183 | // [11:11] Refactoring allowed if bit set. | ||
| 1184 | // [12:12] Enable double precision float ops. | ||
| 1185 | // [13:13] Force early depth-stencil test. | ||
| 1186 | // [14:14] Enable RAW and structured buffers in non-CS 4.x shaders. | ||
| 1187 | // [15:15] Skip optimizations of shader IL when translating to native code | ||
| 1188 | // [16:16] Enable minimum-precision data types | ||
| 1189 | // [17:17] Enable 11.1 double-precision floating-point instruction extensions | ||
| 1190 | // [18:18] Enable 11.1 non-double instruction extensions | ||
| 1191 | // [23:19] Reserved for future flags. | ||
| 1192 | // [30:24] Instruction length in DWORDs including the opcode token. == 1 | ||
| 1193 | // [31] 0 normally. 1 if extended operand definition, meaning next DWORD | ||
| 1194 | // contains extended operand description. This dcl is currently not | ||
| 1195 | // extended. | ||
| 1196 | // | ||
| 1197 | // OpcodeToken0 is followed by no operands. | ||
| 1198 | // | ||
| 1199 | // ---------------------------------------------------------------------------- | ||
| 1200 | #define D3D10_SB_GLOBAL_FLAG_REFACTORING_ALLOWED (1<<11) | ||
| 1201 | #define D3D11_SB_GLOBAL_FLAG_ENABLE_DOUBLE_PRECISION_FLOAT_OPS (1<<12) | ||
| 1202 | #define D3D11_SB_GLOBAL_FLAG_FORCE_EARLY_DEPTH_STENCIL (1<<13) | ||
| 1203 | #define D3D11_SB_GLOBAL_FLAG_ENABLE_RAW_AND_STRUCTURED_BUFFERS (1<<14) | ||
| 1204 | #define D3D11_1_SB_GLOBAL_FLAG_SKIP_OPTIMIZATION (1<<15) | ||
| 1205 | #define D3D11_1_SB_GLOBAL_FLAG_ENABLE_MINIMUM_PRECISION (1<<16) | ||
| 1206 | #define D3D11_1_SB_GLOBAL_FLAG_ENABLE_DOUBLE_EXTENSIONS (1<<17) | ||
| 1207 | #define D3D11_1_SB_GLOBAL_FLAG_ENABLE_SHADER_EXTENSIONS (1<<18) | ||
| 1208 | #define D3D12_SB_GLOBAL_FLAG_ALL_RESOURCES_BOUND (1<<19) | ||
| 1209 | |||
| 1210 | #define D3D10_SB_GLOBAL_FLAGS_MASK 0x00fff800 | ||
| 1211 | |||
| 1212 | // DECODER MACRO: Get global flags | ||
| 1213 | #define DECODE_D3D10_SB_GLOBAL_FLAGS(OpcodeToken0) ((OpcodeToken0)&D3D10_SB_GLOBAL_FLAGS_MASK) | ||
| 1214 | |||
| 1215 | // ENCODER MACRO: Encode global flags | ||
| 1216 | #define ENCODE_D3D10_SB_GLOBAL_FLAGS(Flags) ((Flags)&D3D10_SB_GLOBAL_FLAGS_MASK) | ||
| 1217 | |||
| 1218 | // ---------------------------------------------------------------------------- | ||
| 1219 | // Resource Declaration (non multisampled) | ||
| 1220 | // | ||
| 1221 | // OpcodeToken0: | ||
| 1222 | // | ||
| 1223 | // [10:00] D3D10_SB_OPCODE_DCL_RESOURCE | ||
| 1224 | // [15:11] D3D10_SB_RESOURCE_DIMENSION | ||
| 1225 | // [23:16] Ignored, 0 | ||
| 1226 | // [30:24] Instruction length in DWORDs including the opcode token. | ||
| 1227 | // [31] 0 normally. 1 if extended operand definition, meaning next DWORD | ||
| 1228 | // contains extended operand description. This dcl is currently not | ||
| 1229 | // extended. | ||
| 1230 | // | ||
| 1231 | // OpcodeToken0 is followed by 2 operands on Shader Models 4.0 through 5.0: | ||
| 1232 | // (1) an operand, starting with OperandToken0, defining which | ||
| 1233 | // t# register (D3D10_SB_OPERAND_TYPE_RESOURCE) is being declared. | ||
| 1234 | // (2) a Resource Return Type token (ResourceReturnTypeToken) | ||
| 1235 | // | ||
| 1236 | // OpcodeToken0 is followed by 3 operands on Shader Model 5.1 and later: | ||
| 1237 | // (1) an operand, starting with OperandToken0, defining which | ||
| 1238 | // t# register (D3D10_SB_OPERAND_TYPE_RESOURCE) is being declared. | ||
| 1239 | // The indexing dimension for the register must be D3D10_SB_OPERAND_INDEX_DIMENSION_3D, | ||
| 1240 | // and the meaning of the index dimensions are as follows: (t<id>[<lbound>:<ubound>]) | ||
| 1241 | // 1 <id>: variable ID being declared | ||
| 1242 | // 2 <lbound>: the lower bound of the range of resources in the space | ||
| 1243 | // 3 <ubound>: the upper bound (inclusive) of this range | ||
| 1244 | // As opposed to when the t# is used in shader instructions, where the register | ||
| 1245 | // must be D3D10_SB_OPERAND_INDEX_DIMENSION_2D, and the meaning of the index | ||
| 1246 | // dimensions are as follows: (t<id>[<idx>]): | ||
| 1247 | // 1 <id>: variable ID being used (matches dcl) | ||
| 1248 | // 2 <idx>: absolute index of resource within space (may be dynamically indexed) | ||
| 1249 | // (2) a Resource Return Type token (ResourceReturnTypeToken) | ||
| 1250 | // (3) a DWORD indicating the space index. | ||
| 1251 | // | ||
| 1252 | // ---------------------------------------------------------------------------- | ||
| 1253 | #define D3D10_SB_RESOURCE_DIMENSION_MASK 0x0000F800 | ||
| 1254 | #define D3D10_SB_RESOURCE_DIMENSION_SHIFT 11 | ||
| 1255 | |||
| 1256 | // DECODER MACRO: Given a resource declaration token, | ||
| 1257 | // (OpcodeToken0), determine the resource dimension | ||
| 1258 | // (D3D10_SB_RESOURCE_DIMENSION enum) | ||
| 1259 | #define DECODE_D3D10_SB_RESOURCE_DIMENSION(OpcodeToken0) ((D3D10_SB_RESOURCE_DIMENSION)(((OpcodeToken0)&D3D10_SB_RESOURCE_DIMENSION_MASK)>>D3D10_SB_RESOURCE_DIMENSION_SHIFT)) | ||
| 1260 | |||
| 1261 | // ENCODER MACRO: Store resource dimension | ||
| 1262 | // (D3D10_SB_RESOURCE_DIMENSION enum) into a | ||
| 1263 | // a resource declaration token (OpcodeToken0) | ||
| 1264 | #define ENCODE_D3D10_SB_RESOURCE_DIMENSION(ResourceDim) (((ResourceDim)<<D3D10_SB_RESOURCE_DIMENSION_SHIFT)&D3D10_SB_RESOURCE_DIMENSION_MASK) | ||
| 1265 | |||
| 1266 | // ---------------------------------------------------------------------------- | ||
| 1267 | // Resource Declaration (multisampled) | ||
| 1268 | // | ||
| 1269 | // OpcodeToken0: | ||
| 1270 | // | ||
| 1271 | // [10:00] D3D10_SB_OPCODE_DCL_RESOURCE (same opcode as non-multisampled case) | ||
| 1272 | // [15:11] D3D10_SB_RESOURCE_DIMENSION (must be TEXTURE2DMS or TEXTURE2DMSARRAY) | ||
| 1273 | // [22:16] Sample count 1...127. 0 is currently disallowed, though | ||
| 1274 | // in future versions 0 could mean "configurable" sample count | ||
| 1275 | // [23:23] Ignored, 0 | ||
| 1276 | // [30:24] Instruction length in DWORDs including the opcode token. | ||
| 1277 | // [31] 0 normally. 1 if extended operand definition, meaning next DWORD | ||
| 1278 | // contains extended operand description. This dcl is currently not | ||
| 1279 | // extended. | ||
| 1280 | // | ||
| 1281 | // OpcodeToken0 is followed by 2 operands on Shader Models 4.0 through 5.0: | ||
| 1282 | // (1) an operand, starting with OperandToken0, defining which | ||
| 1283 | // t# register (D3D10_SB_OPERAND_TYPE_RESOURCE) is being declared. | ||
| 1284 | // (2) a Resource Return Type token (ResourceReturnTypeToken) | ||
| 1285 | // | ||
| 1286 | // OpcodeToken0 is followed by 3 operands on Shader Model 5.1 and later: | ||
| 1287 | // (1) an operand, starting with OperandToken0, defining which | ||
| 1288 | // t# register (D3D10_SB_OPERAND_TYPE_RESOURCE) is being declared. | ||
| 1289 | // The indexing dimension for the register must be D3D10_SB_OPERAND_INDEX_DIMENSION_3D, | ||
| 1290 | // and the meaning of the index dimensions are as follows: (t<id>[<lbound>:<ubound>]) | ||
| 1291 | // 1 <id>: variable ID being declared | ||
| 1292 | // 2 <lbound>: the lower bound of the range of resources in the space | ||
| 1293 | // 3 <ubound>: the upper bound (inclusive) of this range | ||
| 1294 | // As opposed to when the t# is used in shader instructions, where the register | ||
| 1295 | // must be D3D10_SB_OPERAND_INDEX_DIMENSION_2D, and the meaning of the index | ||
| 1296 | // dimensions are as follows: (t<id>[<idx>]): | ||
| 1297 | // 1 <id>: variable ID being used (matches dcl) | ||
| 1298 | // 2 <idx>: absolute index of resource within space (may be dynamically indexed) | ||
| 1299 | // (2) a Resource Return Type token (ResourceReturnTypeToken) | ||
| 1300 | // (3) a DWORD indicating the space index. | ||
| 1301 | // | ||
| 1302 | // ---------------------------------------------------------------------------- | ||
| 1303 | |||
| 1304 | // use same macro for encoding/decoding resource dimension aas the non-msaa declaration | ||
| 1305 | |||
| 1306 | #define D3D10_SB_RESOURCE_SAMPLE_COUNT_MASK 0x07F0000 | ||
| 1307 | #define D3D10_SB_RESOURCE_SAMPLE_COUNT_SHIFT 16 | ||
| 1308 | |||
| 1309 | // DECODER MACRO: Given a resource declaration token, | ||
| 1310 | // (OpcodeToken0), determine the resource sample count (1..127) | ||
| 1311 | #define DECODE_D3D10_SB_RESOURCE_SAMPLE_COUNT(OpcodeToken0) ((UINT)(((OpcodeToken0)&D3D10_SB_RESOURCE_SAMPLE_COUNT_MASK)>>D3D10_SB_RESOURCE_SAMPLE_COUNT_SHIFT)) | ||
| 1312 | |||
| 1313 | // ENCODER MACRO: Store resource sample count up to 127 into a | ||
| 1314 | // a resource declaration token (OpcodeToken0) | ||
| 1315 | #define ENCODE_D3D10_SB_RESOURCE_SAMPLE_COUNT(SampleCount) (((SampleCount > 127 ? 127 : SampleCount)<<D3D10_SB_RESOURCE_SAMPLE_COUNT_SHIFT)&D3D10_SB_RESOURCE_SAMPLE_COUNT_MASK) | ||
| 1316 | |||
| 1317 | // ---------------------------------------------------------------------------- | ||
| 1318 | // Resource Return Type Token (ResourceReturnTypeToken) (used in resource | ||
| 1319 | // declaration statements) | ||
| 1320 | // | ||
| 1321 | // [03:00] D3D10_SB_RESOURCE_RETURN_TYPE for component X | ||
| 1322 | // [07:04] D3D10_SB_RESOURCE_RETURN_TYPE for component Y | ||
| 1323 | // [11:08] D3D10_SB_RESOURCE_RETURN_TYPE for component Z | ||
| 1324 | // [15:12] D3D10_SB_RESOURCE_RETURN_TYPE for component W | ||
| 1325 | // [31:16] Reserved, 0 | ||
| 1326 | // | ||
| 1327 | // ---------------------------------------------------------------------------- | ||
| 1328 | // DECODER MACRO: Get the resource return type for component (0-3) from | ||
| 1329 | // ResourceReturnTypeToken | ||
| 1330 | #define DECODE_D3D10_SB_RESOURCE_RETURN_TYPE(ResourceReturnTypeToken, Component) \ | ||
| 1331 | ((D3D10_SB_RESOURCE_RETURN_TYPE)(((ResourceReturnTypeToken) >> \ | ||
| 1332 | (Component * D3D10_SB_RESOURCE_RETURN_TYPE_NUMBITS))&D3D10_SB_RESOURCE_RETURN_TYPE_MASK)) | ||
| 1333 | |||
| 1334 | // ENCODER MACRO: Generate a resource return type for a component | ||
| 1335 | #define ENCODE_D3D10_SB_RESOURCE_RETURN_TYPE(ReturnType, Component) \ | ||
| 1336 | (((ReturnType)&D3D10_SB_RESOURCE_RETURN_TYPE_MASK) << (Component * D3D10_SB_RESOURCE_RETURN_TYPE_NUMBITS)) | ||
| 1337 | |||
| 1338 | // ---------------------------------------------------------------------------- | ||
| 1339 | // Sampler Declaration | ||
| 1340 | // | ||
| 1341 | // OpcodeToken0: | ||
| 1342 | // | ||
| 1343 | // [10:00] D3D10_SB_OPCODE_DCL_SAMPLER | ||
| 1344 | // [14:11] D3D10_SB_SAMPLER_MODE | ||
| 1345 | // [23:15] Ignored, 0 | ||
| 1346 | // [30:24] Instruction length in DWORDs including the opcode token. | ||
| 1347 | // [31] 0 normally. 1 if extended operand definition, meaning next DWORD | ||
| 1348 | // contains extended operand description. This dcl is currently not | ||
| 1349 | // extended. | ||
| 1350 | // | ||
| 1351 | // OpcodeToken0 is followed by 1 operand on Shader Models 4.0 through 5.0: | ||
| 1352 | // (1) Operand starting with OperandToken0, defining which sampler | ||
| 1353 | // (D3D10_SB_OPERAND_TYPE_SAMPLER) register # is being declared. | ||
| 1354 | // | ||
| 1355 | // OpcodeToken0 is followed by 2 operands on Shader Model 5.1 and later: | ||
| 1356 | // (1) an operand, starting with OperandToken0, defining which | ||
| 1357 | // s# register (D3D10_SB_OPERAND_TYPE_SAMPLER) is being declared. | ||
| 1358 | // The indexing dimension for the register must be D3D10_SB_OPERAND_INDEX_DIMENSION_3D, | ||
| 1359 | // and the meaning of the index dimensions are as follows: (s<id>[<lbound>:<ubound>]) | ||
| 1360 | // 1 <id>: variable ID being declared | ||
| 1361 | // 2 <lbound>: the lower bound of the range of samplers in the space | ||
| 1362 | // 3 <ubound>: the upper bound (inclusive) of this range | ||
| 1363 | // As opposed to when the s# is used in shader instructions, where the register | ||
| 1364 | // must be D3D10_SB_OPERAND_INDEX_DIMENSION_2D, and the meaning of the index | ||
| 1365 | // dimensions are as follows: (s<id>[<idx>]): | ||
| 1366 | // 1 <id>: variable ID being used (matches dcl) | ||
| 1367 | // 2 <idx>: absolute index of sampler within space (may be dynamically indexed) | ||
| 1368 | // (2) a DWORD indicating the space index. | ||
| 1369 | // | ||
| 1370 | // ---------------------------------------------------------------------------- | ||
| 1371 | typedef enum D3D10_SB_SAMPLER_MODE | ||
| 1372 | { | ||
| 1373 | D3D10_SB_SAMPLER_MODE_DEFAULT = 0, | ||
| 1374 | D3D10_SB_SAMPLER_MODE_COMPARISON = 1, | ||
| 1375 | D3D10_SB_SAMPLER_MODE_MONO = 2, | ||
| 1376 | } D3D10_SB_SAMPLER_MODE; | ||
| 1377 | |||
| 1378 | #define D3D10_SB_SAMPLER_MODE_MASK 0x00007800 | ||
| 1379 | #define D3D10_SB_SAMPLER_MODE_SHIFT 11 | ||
| 1380 | |||
| 1381 | // DECODER MACRO: Find out if a Constant Buffer is going to be indexed or not | ||
| 1382 | #define DECODE_D3D10_SB_SAMPLER_MODE(OpcodeToken0) ((D3D10_SB_SAMPLER_MODE)(((OpcodeToken0)&D3D10_SB_SAMPLER_MODE_MASK)>>D3D10_SB_SAMPLER_MODE_SHIFT)) | ||
| 1383 | |||
| 1384 | // ENCODER MACRO: Generate a resource return type for a component | ||
| 1385 | #define ENCODE_D3D10_SB_SAMPLER_MODE(SamplerMode) (((SamplerMode)<<D3D10_SB_SAMPLER_MODE_SHIFT)&D3D10_SB_SAMPLER_MODE_MASK) | ||
| 1386 | |||
| 1387 | // ---------------------------------------------------------------------------- | ||
| 1388 | // Input Register Declaration (see separate declarations for Pixel Shaders) | ||
| 1389 | // | ||
| 1390 | // OpcodeToken0: | ||
| 1391 | // | ||
| 1392 | // [10:00] D3D10_SB_OPCODE_DCL_INPUT | ||
| 1393 | // [23:11] Ignored, 0 | ||
| 1394 | // [30:24] Instruction length in DWORDs including the opcode token. | ||
| 1395 | // [31] 0 normally. 1 if extended operand definition, meaning next DWORD | ||
| 1396 | // contains extended operand description. This dcl is currently not | ||
| 1397 | // extended. | ||
| 1398 | // | ||
| 1399 | // OpcodeToken0 is followed by 1 operand: | ||
| 1400 | // (1) Operand, starting with OperandToken0, defining which input | ||
| 1401 | // v# register (D3D10_SB_OPERAND_TYPE_INPUT) is being declared, | ||
| 1402 | // including writemask. | ||
| 1403 | // | ||
| 1404 | // ---------------------------------------------------------------------------- | ||
| 1405 | |||
| 1406 | // ---------------------------------------------------------------------------- | ||
| 1407 | // Input Register Declaration w/System Interpreted Value | ||
| 1408 | // (see separate declarations for Pixel Shaders) | ||
| 1409 | // | ||
| 1410 | // OpcodeToken0: | ||
| 1411 | // | ||
| 1412 | // [10:00] D3D10_SB_OPCODE_DCL_INPUT_SIV | ||
| 1413 | // [23:11] Ignored, 0 | ||
| 1414 | // [30:24] Instruction length in DWORDs including the opcode token. | ||
| 1415 | // [31] 0 normally. 1 if extended operand definition, meaning next DWORD | ||
| 1416 | // contains extended operand description. This dcl is currently not | ||
| 1417 | // extended. | ||
| 1418 | // | ||
| 1419 | // OpcodeToken0 is followed by 2 operands: | ||
| 1420 | // (1) Operand, starting with OperandToken0, defining which input | ||
| 1421 | // v# register (D3D10_SB_OPERAND_TYPE_INPUT) is being declared, | ||
| 1422 | // including writemask. For Geometry Shaders, the input is | ||
| 1423 | // v[vertex][attribute], and this declaration is only for which register | ||
| 1424 | // on the attribute axis is being declared. The vertex axis value must | ||
| 1425 | // be equal to the # of vertices in the current input primitive for the GS | ||
| 1426 | // (i.e. 6 for triangle + adjacency). | ||
| 1427 | // (2) a System Interpreted Value Name (NameToken) | ||
| 1428 | // | ||
| 1429 | // ---------------------------------------------------------------------------- | ||
| 1430 | |||
| 1431 | // ---------------------------------------------------------------------------- | ||
| 1432 | // Input Register Declaration w/System Generated Value | ||
| 1433 | // (available for all shaders incl. Pixel Shader, no interpolation mode needed) | ||
| 1434 | // | ||
| 1435 | // OpcodeToken0: | ||
| 1436 | // | ||
| 1437 | // [10:00] D3D10_SB_OPCODE_DCL_INPUT_SGV | ||
| 1438 | // [23:11] Ignored, 0 | ||
| 1439 | // [30:24] Instruction length in DWORDs including the opcode token. | ||
| 1440 | // [31] 0 normally. 1 if extended operand definition, meaning next DWORD | ||
| 1441 | // contains extended operand description. This dcl is currently not | ||
| 1442 | // extended. | ||
| 1443 | // | ||
| 1444 | // OpcodeToken0 is followed by 2 operands: | ||
| 1445 | // (1) Operand, starting with OperandToken0, defining which input | ||
| 1446 | // v# register (D3D10_SB_OPERAND_TYPE_INPUT) is being declared, | ||
| 1447 | // including writemask. | ||
| 1448 | // (2) a System Generated Value Name (NameToken) | ||
| 1449 | // | ||
| 1450 | // ---------------------------------------------------------------------------- | ||
| 1451 | |||
| 1452 | // ---------------------------------------------------------------------------- | ||
| 1453 | // Pixel Shader Input Register Declaration | ||
| 1454 | // | ||
| 1455 | // OpcodeToken0: | ||
| 1456 | // | ||
| 1457 | // [10:00] D3D10_SB_OPCODE_DCL_INPUT_PS | ||
| 1458 | // [14:11] D3D10_SB_INTERPOLATION_MODE | ||
| 1459 | // [23:15] Ignored, 0 | ||
| 1460 | // [30:24] Instruction length in DWORDs including the opcode token. | ||
| 1461 | // [31] 0 normally. 1 if extended operand definition, meaning next DWORD | ||
| 1462 | // contains extended operand description. This dcl is currently not | ||
| 1463 | // extended. | ||
| 1464 | // | ||
| 1465 | // OpcodeToken0 is followed by 1 operand: | ||
| 1466 | // (1) Operand, starting with OperandToken0, defining which input | ||
| 1467 | // v# register (D3D10_SB_OPERAND_TYPE_INPUT) is being declared, | ||
| 1468 | // including writemask. | ||
| 1469 | // | ||
| 1470 | // ---------------------------------------------------------------------------- | ||
| 1471 | #define D3D10_SB_INPUT_INTERPOLATION_MODE_MASK 0x00007800 | ||
| 1472 | #define D3D10_SB_INPUT_INTERPOLATION_MODE_SHIFT 11 | ||
| 1473 | |||
| 1474 | // DECODER MACRO: Find out interpolation mode for the input register | ||
| 1475 | #define DECODE_D3D10_SB_INPUT_INTERPOLATION_MODE(OpcodeToken0) ((D3D10_SB_INTERPOLATION_MODE)(((OpcodeToken0)&D3D10_SB_INPUT_INTERPOLATION_MODE_MASK)>>D3D10_SB_INPUT_INTERPOLATION_MODE_SHIFT)) | ||
| 1476 | |||
| 1477 | // ENCODER MACRO: Encode interpolation mode for a register. | ||
| 1478 | #define ENCODE_D3D10_SB_INPUT_INTERPOLATION_MODE(InterpolationMode) (((InterpolationMode)<<D3D10_SB_INPUT_INTERPOLATION_MODE_SHIFT)&D3D10_SB_INPUT_INTERPOLATION_MODE_MASK) | ||
| 1479 | |||
| 1480 | // ---------------------------------------------------------------------------- | ||
| 1481 | // Pixel Shader Input Register Declaration w/System Interpreted Value | ||
| 1482 | // | ||
| 1483 | // OpcodeToken0: | ||
| 1484 | // | ||
| 1485 | // [10:00] D3D10_SB_OPCODE_DCL_INPUT_PS_SIV | ||
| 1486 | // [14:11] D3D10_SB_INTERPOLATION_MODE | ||
| 1487 | // [23:15] Ignored, 0 | ||
| 1488 | // [30:24] Instruction length in DWORDs including the opcode token. | ||
| 1489 | // [31] 0 normally. 1 if extended operand definition, meaning next DWORD | ||
| 1490 | // contains extended operand description. This dcl is currently not | ||
| 1491 | // extended. | ||
| 1492 | // | ||
| 1493 | // OpcodeToken0 is followed by 2 operands: | ||
| 1494 | // (1) Operand, starting with OperandToken0, defining which input | ||
| 1495 | // v# register (D3D10_SB_OPERAND_TYPE_INPUT) is being declared. | ||
| 1496 | // (2) a System Interpreted Value Name (NameToken) | ||
| 1497 | // | ||
| 1498 | // ---------------------------------------------------------------------------- | ||
| 1499 | |||
| 1500 | // ---------------------------------------------------------------------------- | ||
| 1501 | // Pixel Shader Input Register Declaration w/System Generated Value | ||
| 1502 | // | ||
| 1503 | // OpcodeToken0: | ||
| 1504 | // | ||
| 1505 | // [10:00] D3D10_SB_OPCODE_DCL_INPUT_PS_SGV | ||
| 1506 | // [23:11] Ignored, 0 | ||
| 1507 | // [30:24] Instruction length in DWORDs including the opcode token. | ||
| 1508 | // [31] 0 normally. 1 if extended operand definition, meaning next DWORD | ||
| 1509 | // contains extended operand description. This dcl is currently not | ||
| 1510 | // extended. | ||
| 1511 | // | ||
| 1512 | // OpcodeToken0 is followed by 2 operands: | ||
| 1513 | // (1) Operand, starting with OperandToken0, defining which input | ||
| 1514 | // v# register (D3D10_SB_OPERAND_TYPE_INPUT) is being declared. | ||
| 1515 | // (2) a System Generated Value Name (NameToken) | ||
| 1516 | // | ||
| 1517 | // ---------------------------------------------------------------------------- | ||
| 1518 | |||
| 1519 | // ---------------------------------------------------------------------------- | ||
| 1520 | // Output Register Declaration | ||
| 1521 | // | ||
| 1522 | // OpcodeToken0: | ||
| 1523 | // | ||
| 1524 | // [10:00] D3D10_SB_OPCODE_DCL_OUTPUT | ||
| 1525 | // [23:11] Ignored, 0 | ||
| 1526 | // [30:24] Instruction length in DWORDs including the opcode token. | ||
| 1527 | // [31] 0 normally. 1 if extended operand definition, meaning next DWORD | ||
| 1528 | // contains extended operand description. This dcl is currently not | ||
| 1529 | // extended. | ||
| 1530 | // | ||
| 1531 | // OpcodeToken0 is followed by 1 operand: | ||
| 1532 | // (1) Operand, starting with OperandToken0, defining which | ||
| 1533 | // o# register (D3D10_SB_OPERAND_TYPE_OUTPUT) is being declared, | ||
| 1534 | // including writemask. | ||
| 1535 | // (in Pixel Shader, output can also be one of | ||
| 1536 | // D3D10_SB_OPERAND_TYPE_OUTPUT_DEPTH, | ||
| 1537 | // D3D11_SB_OPERAND_TYPE_OUTPUT_DEPTH_GREATER_EQUAL, or | ||
| 1538 | // D3D11_SB_OPERAND_TYPE_OUTPUT_DEPTH_LESS_EQUAL ) | ||
| 1539 | // | ||
| 1540 | // ---------------------------------------------------------------------------- | ||
| 1541 | |||
| 1542 | // ---------------------------------------------------------------------------- | ||
| 1543 | // Output Register Declaration w/System Interpreted Value | ||
| 1544 | // | ||
| 1545 | // OpcodeToken0: | ||
| 1546 | // | ||
| 1547 | // [10:00] D3D10_SB_OPCODE_DCL_OUTPUT_SIV | ||
| 1548 | // [23:11] Ignored, 0 | ||
| 1549 | // [30:24] Instruction length in DWORDs including the opcode token. | ||
| 1550 | // [31] 0 normally. 1 if extended operand definition, meaning next DWORD | ||
| 1551 | // contains extended operand description. This dcl is currently not | ||
| 1552 | // extended. | ||
| 1553 | // | ||
| 1554 | // OpcodeToken0 is followed by 2 operands: | ||
| 1555 | // (1) an operand, starting with OperandToken0, defining which | ||
| 1556 | // o# register (D3D10_SB_OPERAND_TYPE_OUTPUT) is being declared, | ||
| 1557 | // including writemask. | ||
| 1558 | // (2) a System Interpreted Name token (NameToken) | ||
| 1559 | // | ||
| 1560 | // ---------------------------------------------------------------------------- | ||
| 1561 | |||
| 1562 | // ---------------------------------------------------------------------------- | ||
| 1563 | // Output Register Declaration w/System Generated Value | ||
| 1564 | // | ||
| 1565 | // OpcodeToken0: | ||
| 1566 | // | ||
| 1567 | // [10:00] D3D10_SB_OPCODE_DCL_OUTPUT_SGV | ||
| 1568 | // [23:11] Ignored, 0 | ||
| 1569 | // [30:24] Instruction length in DWORDs including the opcode token. | ||
| 1570 | // [31] 0 normally. 1 if extended operand definition, meaning next DWORD | ||
| 1571 | // contains extended operand description. This dcl is currently not | ||
| 1572 | // extended. | ||
| 1573 | // | ||
| 1574 | // OpcodeToken0 is followed by 2 operands: | ||
| 1575 | // (1) an operand, starting with OperandToken0, defining which | ||
| 1576 | // o# register (D3D10_SB_OPERAND_TYPE_OUTPUT) is being declared, | ||
| 1577 | // including writemask. | ||
| 1578 | // (2) a System Generated Name token (NameToken) | ||
| 1579 | // | ||
| 1580 | // ---------------------------------------------------------------------------- | ||
| 1581 | |||
| 1582 | |||
| 1583 | // ---------------------------------------------------------------------------- | ||
| 1584 | // Input or Output Register Indexing Range Declaration | ||
| 1585 | // | ||
| 1586 | // OpcodeToken0: | ||
| 1587 | // | ||
| 1588 | // [10:00] D3D10_SB_OPCODE_DCL_INDEX_RANGE | ||
| 1589 | // [23:11] Ignored, 0 | ||
| 1590 | // [30:24] Instruction length in DWORDs including the opcode token. | ||
| 1591 | // [31] 0 normally. 1 if extended operand definition, meaning next DWORD | ||
| 1592 | // contains extended operand description. This dcl is currently not | ||
| 1593 | // extended. | ||
| 1594 | // | ||
| 1595 | // OpcodeToken0 is followed by 2 operands: | ||
| 1596 | // (1) an operand, starting with OperandToken0, defining which | ||
| 1597 | // input (v#) or output (o#) register is having its array indexing range | ||
| 1598 | // declared, including writemask. For Geometry Shader inputs, | ||
| 1599 | // it is assumed that the vertex axis is always fully indexable, | ||
| 1600 | // and 0 must be specified as the vertex# in this declaration, so that | ||
| 1601 | // only the a range of attributes are having their index range defined. | ||
| 1602 | // | ||
| 1603 | // (2) a DWORD representing the count of registers starting from the one | ||
| 1604 | // indicated in (1). | ||
| 1605 | // | ||
| 1606 | // ---------------------------------------------------------------------------- | ||
| 1607 | |||
| 1608 | // ---------------------------------------------------------------------------- | ||
| 1609 | // Temp Register Declaration r0...r(n-1) | ||
| 1610 | // | ||
| 1611 | // OpcodeToken0: | ||
| 1612 | // | ||
| 1613 | // [10:00] D3D10_SB_OPCODE_DCL_TEMPS | ||
| 1614 | // [23:11] Ignored, 0 | ||
| 1615 | // [30:24] Instruction length in DWORDs including the opcode token. | ||
| 1616 | // [31] 0 normally. 1 if extended operand definition, meaning next DWORD | ||
| 1617 | // contains extended operand description. This dcl is currently not | ||
| 1618 | // extended. | ||
| 1619 | // | ||
| 1620 | // OpcodeToken0 is followed by 1 operand: | ||
| 1621 | // (1) DWORD (unsigned int) indicating how many temps are being declared. | ||
| 1622 | // i.e. 5 means r0...r4 are declared. | ||
| 1623 | // | ||
| 1624 | // ---------------------------------------------------------------------------- | ||
| 1625 | |||
| 1626 | // ---------------------------------------------------------------------------- | ||
| 1627 | // Indexable Temp Register (x#[size]) Declaration | ||
| 1628 | // | ||
| 1629 | // OpcodeToken0: | ||
| 1630 | // | ||
| 1631 | // [10:00] D3D10_SB_OPCODE_DCL_INDEXABLE_TEMP | ||
| 1632 | // [23:11] Ignored, 0 | ||
| 1633 | // [30:24] Instruction length in DWORDs including the opcode token. | ||
| 1634 | // [31] 0 normally. 1 if extended operand definition, meaning next DWORD | ||
| 1635 | // contains extended operand description. This dcl is currently not | ||
| 1636 | // extended. | ||
| 1637 | // | ||
| 1638 | // OpcodeToken0 is followed by 3 DWORDs: | ||
| 1639 | // (1) Register index (defines which x# register is declared) | ||
| 1640 | // (2) Number of registers in this register bank | ||
| 1641 | // (3) Number of components in the array (1-4). 1 means .x, 2 means .xy etc. | ||
| 1642 | // | ||
| 1643 | // ---------------------------------------------------------------------------- | ||
| 1644 | |||
| 1645 | // ---------------------------------------------------------------------------- | ||
| 1646 | // Constant Buffer Declaration | ||
| 1647 | // | ||
| 1648 | // OpcodeToken0: | ||
| 1649 | // | ||
| 1650 | // [10:00] D3D10_SB_OPCODE_DCL_CONSTANT_BUFFER | ||
| 1651 | // [11] D3D10_SB_CONSTANT_BUFFER_ACCESS_PATTERN | ||
| 1652 | // [23:12] Ignored, 0 | ||
| 1653 | // [30:24] Instruction length in DWORDs including the opcode token. | ||
| 1654 | // [31] 0 normally. 1 if extended operand definition, meaning next DWORD | ||
| 1655 | // contains extended operand description. This dcl is currently not | ||
| 1656 | // extended. | ||
| 1657 | // | ||
| 1658 | // OpcodeToken0 is followed by 1 operand on Shader Model 4.0 through 5.0: | ||
| 1659 | // (1) Operand, starting with OperandToken0, defining which CB slot (cb#[size]) | ||
| 1660 | // is being declared. (operand type: D3D10_SB_OPERAND_TYPE_CONSTANT_BUFFER) | ||
| 1661 | // The indexing dimension for the register must be | ||
| 1662 | // D3D10_SB_OPERAND_INDEX_DIMENSION_2D, where the first index specifies | ||
| 1663 | // which cb#[] is being declared, and the second (array) index specifies the size | ||
| 1664 | // of the buffer, as a count of 32-bit*4 elements. (As opposed to when the | ||
| 1665 | // cb#[] is used in shader instructions, and the array index represents which | ||
| 1666 | // location in the constant buffer is being referenced.) | ||
| 1667 | // If the size is specified as 0, the CB size is not known (any size CB | ||
| 1668 | // can be bound to the slot). | ||
| 1669 | // | ||
| 1670 | // The order of constant buffer declarations in a shader indicates their | ||
| 1671 | // relative priority from highest to lowest (hint to driver). | ||
| 1672 | // | ||
| 1673 | // OpcodeToken0 is followed by 3 operands on Shader Model 5.1 and later: | ||
| 1674 | // (1) Operand, starting with OperandToken0, defining which CB range (ID and bounds) | ||
| 1675 | // is being declared. (operand type: D3D10_SB_OPERAND_TYPE_CONSTANT_BUFFER) | ||
| 1676 | // The indexing dimension for the register must be D3D10_SB_OPERAND_INDEX_DIMENSION_3D, | ||
| 1677 | // and the meaning of the index dimensions are as follows: (cb<id>[<lbound>:<ubound>]) | ||
| 1678 | // 1 <id>: variable ID being declared | ||
| 1679 | // 2 <lbound>: the lower bound of the range of constant buffers in the space | ||
| 1680 | // 3 <ubound>: the upper bound (inclusive) of this range | ||
| 1681 | // As opposed to when the cb#[] is used in shader instructions: (cb<id>[<idx>][<loc>]) | ||
| 1682 | // 1 <id>: variable ID being used (matches dcl) | ||
| 1683 | // 2 <idx>: absolute index of constant buffer within space (may be dynamically indexed) | ||
| 1684 | // 3 <loc>: location of vector within constant buffer being referenced, | ||
| 1685 | // which may also be dynamically indexed, with no access pattern flag required. | ||
| 1686 | // (2) a DWORD indicating the size of the constant buffer as a count of 16-byte vectors. | ||
| 1687 | // Each vector is 32-bit*4 elements == 128-bits == 16 bytes. | ||
| 1688 | // If the size is specified as 0, the CB size is not known (any size CB | ||
| 1689 | // can be bound to the slot). | ||
| 1690 | // (3) a DWORD indicating the space index. | ||
| 1691 | // | ||
| 1692 | // ---------------------------------------------------------------------------- | ||
| 1693 | |||
| 1694 | typedef enum D3D10_SB_CONSTANT_BUFFER_ACCESS_PATTERN | ||
| 1695 | { | ||
| 1696 | D3D10_SB_CONSTANT_BUFFER_IMMEDIATE_INDEXED = 0, | ||
| 1697 | D3D10_SB_CONSTANT_BUFFER_DYNAMIC_INDEXED = 1 | ||
| 1698 | } D3D10_SB_CONSTANT_BUFFER_ACCESS_PATTERN; | ||
| 1699 | |||
| 1700 | #define D3D10_SB_CONSTANT_BUFFER_ACCESS_PATTERN_MASK 0x00000800 | ||
| 1701 | #define D3D10_SB_CONSTANT_BUFFER_ACCESS_PATTERN_SHIFT 11 | ||
| 1702 | |||
| 1703 | // DECODER MACRO: Find out if a Constant Buffer is going to be indexed or not | ||
| 1704 | #define DECODE_D3D10_SB_CONSTANT_BUFFER_ACCESS_PATTERN(OpcodeToken0) ((D3D10_SB_CONSTANT_BUFFER_ACCESS_PATTERN)(((OpcodeToken0)&D3D10_SB_CONSTANT_BUFFER_ACCESS_PATTERN_MASK)>>D3D10_SB_CONSTANT_BUFFER_ACCESS_PATTERN_SHIFT)) | ||
| 1705 | |||
| 1706 | // ENCODER MACRO: Encode the access pattern for the Constant Buffer | ||
| 1707 | #define ENCODE_D3D10_SB_D3D10_SB_CONSTANT_BUFFER_ACCESS_PATTERN(AccessPattern) (((AccessPattern)<<D3D10_SB_CONSTANT_BUFFER_ACCESS_PATTERN_SHIFT)&D3D10_SB_CONSTANT_BUFFER_ACCESS_PATTERN_MASK) | ||
| 1708 | |||
| 1709 | // ---------------------------------------------------------------------------- | ||
| 1710 | // Immediate Constant Buffer Declaration | ||
| 1711 | // | ||
| 1712 | // OpcodeToken0: | ||
| 1713 | // | ||
| 1714 | // [10:00] D3D10_SB_OPCODE_CUSTOMDATA | ||
| 1715 | // [31:11] == D3D10_SB_CUSTOMDATA_DCL_IMMEDIATE_CONSTANT_BUFFER | ||
| 1716 | // | ||
| 1717 | // OpcodeToken0 is followed by: | ||
| 1718 | // (1) DWORD indicating length of declaration, including OpcodeToken0. | ||
| 1719 | // This length must = 2(for OpcodeToken0 and 1) + a multiple of 4 | ||
| 1720 | // (# of immediate constants) | ||
| 1721 | // (2) Sequence of 4-tuples of DWORDs defining the Immediate Constant Buffer. | ||
| 1722 | // The number of 4-tuples is (length above - 1) / 4 | ||
| 1723 | // ---------------------------------------------------------------------------- | ||
| 1724 | |||
| 1725 | // ---------------------------------------------------------------------------- | ||
| 1726 | // Shader Message Declaration | ||
| 1727 | // | ||
| 1728 | // OpcodeToken0: | ||
| 1729 | // | ||
| 1730 | // [10:00] D3D10_SB_OPCODE_CUSTOMDATA | ||
| 1731 | // [31:11] == D3D11_SB_CUSTOMDATA_SHADER_MESSAGE | ||
| 1732 | // | ||
| 1733 | // OpcodeToken0 is followed by: | ||
| 1734 | // (1) DWORD indicating length of declaration, including OpcodeToken0. | ||
| 1735 | // (2) DWORD (D3D11_SB_SHADER_MESSAGE_ID) indicating shader message or error. | ||
| 1736 | // (3) D3D11_SB_SHADER_MESSAGE_FORMAT indicating the convention for formatting the message. | ||
| 1737 | // (4) DWORD indicating the number of characters in the string without the terminator. | ||
| 1738 | // (5) DWORD indicating the number of operands. | ||
| 1739 | // (6) DWORD indicating length of operands. | ||
| 1740 | // (7) Encoded operands. | ||
| 1741 | // (8) String with trailing zero, padded to a multiple of DWORDs. | ||
| 1742 | // The string is in the given format and the operands given should | ||
| 1743 | // be used for argument substitutions when formatting. | ||
| 1744 | // ---------------------------------------------------------------------------- | ||
| 1745 | |||
| 1746 | typedef enum D3D11_SB_SHADER_MESSAGE_ID | ||
| 1747 | { | ||
| 1748 | D3D11_SB_SHADER_MESSAGE_ID_MESSAGE = 0x00200102, | ||
| 1749 | D3D11_SB_SHADER_MESSAGE_ID_ERROR = 0x00200103 | ||
| 1750 | } D3D11_SB_SHADER_MESSAGE_ID; | ||
| 1751 | |||
| 1752 | typedef enum D3D11_SB_SHADER_MESSAGE_FORMAT | ||
| 1753 | { | ||
| 1754 | // No formatting, just a text string. Operands are ignored. | ||
| 1755 | D3D11_SB_SHADER_MESSAGE_FORMAT_ANSI_TEXT, | ||
| 1756 | // Format string follows C/C++ printf conventions. | ||
| 1757 | D3D11_SB_SHADER_MESSAGE_FORMAT_ANSI_PRINTF, | ||
| 1758 | } D3D11_SB_SHADER_MESSAGE_FORMAT; | ||
| 1759 | |||
| 1760 | // ---------------------------------------------------------------------------- | ||
| 1761 | // Shader Clip Plane Constant Mappings for DX9 hardware | ||
| 1762 | // | ||
| 1763 | // OpcodeToken0: | ||
| 1764 | // | ||
| 1765 | // [10:00] D3D10_SB_OPCODE_CUSTOMDATA | ||
| 1766 | // [31:11] == D3D11_SB_CUSTOMDATA_SHADER_CLIP_PLANE_CONSTANT_MAPPINGS_FOR_DX9 | ||
| 1767 | // | ||
| 1768 | // OpcodeToken0 is followed by: | ||
| 1769 | // (1) DWORD indicating length of declaration, including OpcodeToken0. | ||
| 1770 | // (2) DWORD indicating number of constant mappings (up to 6 mappings). | ||
| 1771 | // (3+) Constant mapping tables in following format. | ||
| 1772 | // | ||
| 1773 | // struct _Clip_Plane_Constant_Mapping | ||
| 1774 | // { | ||
| 1775 | // WORD ConstantBufferIndex; // cb[n] | ||
| 1776 | // WORD StartConstantElement; // starting index of cb[n][m] | ||
| 1777 | // WORD ConstantElemntCount; // number of elements cb[n][m] ~ cb[n][m+l] | ||
| 1778 | // WORD Reserved; // | ||
| 1779 | // }; | ||
| 1780 | // ---------------------------------------------------------------------------- | ||
| 1781 | |||
| 1782 | // ---------------------------------------------------------------------------- | ||
| 1783 | // Geometry Shader Input Primitive Declaration | ||
| 1784 | // | ||
| 1785 | // OpcodeToken0: | ||
| 1786 | // | ||
| 1787 | // [10:00] D3D10_SB_OPCODE_DCL_GS_INPUT_PRIMITIVE | ||
| 1788 | // [16:11] D3D10_SB_PRIMITIVE [not D3D10_SB_PRIMITIVE_TOPOLOGY] | ||
| 1789 | // [23:17] Ignored, 0 | ||
| 1790 | // [30:24] Instruction length in DWORDs including the opcode token. == 1 | ||
| 1791 | // [31] 0 normally. 1 if extended operand definition, meaning next DWORD | ||
| 1792 | // contains extended operand description. This dcl is currently not | ||
| 1793 | // extended. | ||
| 1794 | // | ||
| 1795 | // ---------------------------------------------------------------------------- | ||
| 1796 | |||
| 1797 | #define D3D10_SB_GS_INPUT_PRIMITIVE_MASK 0x0001f800 | ||
| 1798 | #define D3D10_SB_GS_INPUT_PRIMITIVE_SHIFT 11 | ||
| 1799 | |||
| 1800 | // DECODER MACRO: Given a primitive topology declaration, | ||
| 1801 | // (OpcodeToken0), determine the primitive topology | ||
| 1802 | // (D3D10_SB_PRIMITIVE enum) | ||
| 1803 | #define DECODE_D3D10_SB_GS_INPUT_PRIMITIVE(OpcodeToken0) ((D3D10_SB_PRIMITIVE)(((OpcodeToken0)&D3D10_SB_GS_INPUT_PRIMITIVE_MASK)>>D3D10_SB_GS_INPUT_PRIMITIVE_SHIFT)) | ||
| 1804 | |||
| 1805 | // ENCODER MACRO: Store primitive topology | ||
| 1806 | // (D3D10_SB_PRIMITIVE enum) into a | ||
| 1807 | // a primitive topology declaration token (OpcodeToken0) | ||
| 1808 | #define ENCODE_D3D10_SB_GS_INPUT_PRIMITIVE(Prim) (((Prim)<<D3D10_SB_GS_INPUT_PRIMITIVE_SHIFT)&D3D10_SB_GS_INPUT_PRIMITIVE_MASK) | ||
| 1809 | |||
| 1810 | // ---------------------------------------------------------------------------- | ||
| 1811 | // Geometry Shader Output Topology Declaration | ||
| 1812 | // | ||
| 1813 | // OpcodeToken0: | ||
| 1814 | // | ||
| 1815 | // [10:00] D3D10_SB_OPCODE_DCL_GS_OUTPUT_PRIMITIVE_TOPOLOGY | ||
| 1816 | // [17:11] D3D10_SB_PRIMITIVE_TOPOLOGY | ||
| 1817 | // [23:18] Ignored, 0 | ||
| 1818 | // [30:24] Instruction length in DWORDs including the opcode token. == 1 | ||
| 1819 | // [31] 0 normally. 1 if extended operand definition, meaning next DWORD | ||
| 1820 | // contains extended operand description. This dcl is currently not | ||
| 1821 | // extended. | ||
| 1822 | // | ||
| 1823 | // ---------------------------------------------------------------------------- | ||
| 1824 | |||
| 1825 | #define D3D10_SB_GS_OUTPUT_PRIMITIVE_TOPOLOGY_MASK 0x0001f800 | ||
| 1826 | #define D3D10_SB_GS_OUTPUT_PRIMITIVE_TOPOLOGY_SHIFT 11 | ||
| 1827 | |||
| 1828 | // DECODER MACRO: Given a primitive topology declaration, | ||
| 1829 | // (OpcodeToken0), determine the primitive topology | ||
| 1830 | // (D3D10_SB_PRIMITIVE_TOPOLOGY enum) | ||
| 1831 | #define DECODE_D3D10_SB_GS_OUTPUT_PRIMITIVE_TOPOLOGY(OpcodeToken0) ((D3D10_SB_PRIMITIVE_TOPOLOGY)(((OpcodeToken0)&D3D10_SB_GS_OUTPUT_PRIMITIVE_TOPOLOGY_MASK)>>D3D10_SB_GS_OUTPUT_PRIMITIVE_TOPOLOGY_SHIFT)) | ||
| 1832 | |||
| 1833 | // ENCODER MACRO: Store primitive topology | ||
| 1834 | // (D3D10_SB_PRIMITIVE_TOPOLOGY enum) into a | ||
| 1835 | // a primitive topology declaration token (OpcodeToken0) | ||
| 1836 | #define ENCODE_D3D10_SB_GS_OUTPUT_PRIMITIVE_TOPOLOGY(PrimTopology) (((PrimTopology)<<D3D10_SB_GS_OUTPUT_PRIMITIVE_TOPOLOGY_SHIFT)&D3D10_SB_GS_OUTPUT_PRIMITIVE_TOPOLOGY_MASK) | ||
| 1837 | |||
| 1838 | // ---------------------------------------------------------------------------- | ||
| 1839 | // Geometry Shader Maximum Output Vertex Count Declaration | ||
| 1840 | // | ||
| 1841 | // OpcodeToken0: | ||
| 1842 | // | ||
| 1843 | // [10:00] D3D10_SB_OPCODE_DCL_MAX_OUTPUT_VERTEX_COUNT | ||
| 1844 | // [23:11] Ignored, 0 | ||
| 1845 | // [30:24] Instruction length in DWORDs including the opcode token. | ||
| 1846 | // [31] 0 normally. 1 if extended operand definition, meaning next DWORD | ||
| 1847 | // contains extended operand description. This dcl is currently not | ||
| 1848 | // extended. | ||
| 1849 | // | ||
| 1850 | // OpcodeToken0 is followed by a DWORD representing the | ||
| 1851 | // maximum number of primitives that could be output | ||
| 1852 | // by the Geometry Shader. | ||
| 1853 | // | ||
| 1854 | // ---------------------------------------------------------------------------- | ||
| 1855 | |||
| 1856 | // ---------------------------------------------------------------------------- | ||
| 1857 | // Geometry Shader Instance Count Declaration | ||
| 1858 | // | ||
| 1859 | // OpcodeToken0: | ||
| 1860 | // | ||
| 1861 | // [10:00] D3D11_SB_OPCODE_DCL_GS_INSTANCE_COUNT | ||
| 1862 | // [23:11] Ignored, 0 | ||
| 1863 | // [30:24] Instruction length in DWORDs including the opcode token. | ||
| 1864 | // [31] 0 normally. 1 if extended operand definition, meaning next DWORD | ||
| 1865 | // contains extended operand description. This dcl is currently not | ||
| 1866 | // extended. | ||
| 1867 | // | ||
| 1868 | // OpcodeToken0 is followed by a UINT32 representing the | ||
| 1869 | // number of instances of the geometry shader program to execute. | ||
| 1870 | // | ||
| 1871 | // ---------------------------------------------------------------------------- | ||
| 1872 | |||
| 1873 | // ---------------------------------------------------------------------------- | ||
| 1874 | // Hull Shader Declaration Phase: HS/DS Input Control Point Count | ||
| 1875 | // | ||
| 1876 | // OpcodeToken0: | ||
| 1877 | // | ||
| 1878 | // [10:00] D3D11_SB_OPCODE_DCL_INPUT_CONTROL_POINT_COUNT | ||
| 1879 | // [16:11] Control point count | ||
| 1880 | // [23:17] Ignored, 0 | ||
| 1881 | // [30:24] Instruction length in DWORDs including the opcode token. == 1 | ||
| 1882 | // [31] 0 normally. 1 if extended operand definition, meaning next DWORD | ||
| 1883 | // contains extended operand description. This dcl is currently not | ||
| 1884 | // extended. | ||
| 1885 | // | ||
| 1886 | // ---------------------------------------------------------------------------- | ||
| 1887 | #define D3D11_SB_INPUT_CONTROL_POINT_COUNT_MASK 0x0001f800 | ||
| 1888 | #define D3D11_SB_INPUT_CONTROL_POINT_COUNT_SHIFT 11 | ||
| 1889 | |||
| 1890 | // DECODER MACRO: Given an input control point count declaration token, | ||
| 1891 | // (OpcodeToken0), determine the control point count | ||
| 1892 | #define DECODE_D3D11_SB_INPUT_CONTROL_POINT_COUNT(OpcodeToken0) ((UINT)(((OpcodeToken0)&D3D11_SB_INPUT_CONTROL_POINT_COUNT_MASK)>>D3D11_SB_INPUT_CONTROL_POINT_COUNT_SHIFT)) | ||
| 1893 | |||
| 1894 | // ENCODER MACRO: Store input control point count into a declaration token | ||
| 1895 | #define ENCODE_D3D11_SB_INPUT_CONTROL_POINT_COUNT(Count) (((Count)<<D3D11_SB_INPUT_CONTROL_POINT_COUNT_SHIFT)&D3D11_SB_INPUT_CONTROL_POINT_COUNT_MASK) | ||
| 1896 | |||
| 1897 | // ---------------------------------------------------------------------------- | ||
| 1898 | // Hull Shader Declaration Phase: HS Output Control Point Count | ||
| 1899 | // | ||
| 1900 | // OpcodeToken0: | ||
| 1901 | // | ||
| 1902 | // [10:00] D3D11_SB_OPCODE_DCL_OUTPUT_CONTROL_POINT_COUNT | ||
| 1903 | // [16:11] Control point count | ||
| 1904 | // [23:17] Ignored, 0 | ||
| 1905 | // [30:24] Instruction length in DWORDs including the opcode token. == 1 | ||
| 1906 | // [31] 0 normally. 1 if extended operand definition, meaning next DWORD | ||
| 1907 | // contains extended operand description. This dcl is currently not | ||
| 1908 | // extended. | ||
| 1909 | // | ||
| 1910 | // ---------------------------------------------------------------------------- | ||
| 1911 | #define D3D11_SB_OUTPUT_CONTROL_POINT_COUNT_MASK 0x0001f800 | ||
| 1912 | #define D3D11_SB_OUTPUT_CONTROL_POINT_COUNT_SHIFT 11 | ||
| 1913 | |||
| 1914 | // DECODER MACRO: Given an output control point count declaration token, | ||
| 1915 | // (OpcodeToken0), determine the control point count | ||
| 1916 | #define DECODE_D3D11_SB_OUTPUT_CONTROL_POINT_COUNT(OpcodeToken0) ((UINT)(((OpcodeToken0)&D3D11_SB_OUTPUT_CONTROL_POINT_COUNT_MASK)>>D3D11_SB_OUTPUT_CONTROL_POINT_COUNT_SHIFT)) | ||
| 1917 | |||
| 1918 | // ENCODER MACRO: Store output control point count into a declaration token | ||
| 1919 | #define ENCODE_D3D11_SB_OUTPUT_CONTROL_POINT_COUNT(Count) (((Count)<<D3D11_SB_OUTPUT_CONTROL_POINT_COUNT_SHIFT)&D3D11_SB_OUTPUT_CONTROL_POINT_COUNT_MASK) | ||
| 1920 | |||
| 1921 | // ---------------------------------------------------------------------------- | ||
| 1922 | // Hull Shader Declaration Phase: Tessellator Domain | ||
| 1923 | // | ||
| 1924 | // OpcodeToken0: | ||
| 1925 | // | ||
| 1926 | // [10:00] D3D11_SB_OPCODE_DCL_TESS_DOMAIN | ||
| 1927 | // [12:11] Domain | ||
| 1928 | // [23:13] Ignored, 0 | ||
| 1929 | // [30:24] Instruction length in DWORDs including the opcode token. == 1 | ||
| 1930 | // [31] 0 normally. 1 if extended operand definition, meaning next DWORD | ||
| 1931 | // contains extended operand description. This dcl is currently not | ||
| 1932 | // extended. | ||
| 1933 | // | ||
| 1934 | // ---------------------------------------------------------------------------- | ||
| 1935 | typedef enum D3D11_SB_TESSELLATOR_DOMAIN | ||
| 1936 | { | ||
| 1937 | D3D11_SB_TESSELLATOR_DOMAIN_UNDEFINED = 0, | ||
| 1938 | D3D11_SB_TESSELLATOR_DOMAIN_ISOLINE = 1, | ||
| 1939 | D3D11_SB_TESSELLATOR_DOMAIN_TRI = 2, | ||
| 1940 | D3D11_SB_TESSELLATOR_DOMAIN_QUAD = 3 | ||
| 1941 | } D3D11_SB_TESSELLATOR_DOMAIN; | ||
| 1942 | |||
| 1943 | #define D3D11_SB_TESS_DOMAIN_MASK 0x00001800 | ||
| 1944 | #define D3D11_SB_TESS_DOMAIN_SHIFT 11 | ||
| 1945 | |||
| 1946 | // DECODER MACRO: Given a tessellator domain declaration, | ||
| 1947 | // (OpcodeToken0), determine the domain | ||
| 1948 | // (D3D11_SB_TESSELLATOR_DOMAIN enum) | ||
| 1949 | #define DECODE_D3D11_SB_TESS_DOMAIN(OpcodeToken0) ((D3D11_SB_TESSELLATOR_DOMAIN)(((OpcodeToken0)&D3D11_SB_TESS_DOMAIN_MASK)>>D3D11_SB_TESS_DOMAIN_SHIFT)) | ||
| 1950 | |||
| 1951 | // ENCODER MACRO: Store tessellator domain | ||
| 1952 | // (D3D11_SB_TESSELLATOR_DOMAIN enum) into a | ||
| 1953 | // a tessellator domain declaration token (OpcodeToken0) | ||
| 1954 | #define ENCODE_D3D11_SB_TESS_DOMAIN(Domain) (((Domain)<<D3D11_SB_TESS_DOMAIN_SHIFT)&D3D11_SB_TESS_DOMAIN_MASK) | ||
| 1955 | |||
| 1956 | // ---------------------------------------------------------------------------- | ||
| 1957 | // Hull Shader Declaration Phase: Tessellator Partitioning | ||
| 1958 | // | ||
| 1959 | // OpcodeToken0: | ||
| 1960 | // | ||
| 1961 | // [10:00] D3D11_SB_OPCODE_DCL_TESS_PARTITIONING | ||
| 1962 | // [13:11] Partitioning | ||
| 1963 | // [23:14] Ignored, 0 | ||
| 1964 | // [30:24] Instruction length in DWORDs including the opcode token. == 1 | ||
| 1965 | // [31] 0 normally. 1 if extended operand definition, meaning next DWORD | ||
| 1966 | // contains extended operand description. This dcl is currently not | ||
| 1967 | // extended. | ||
| 1968 | // | ||
| 1969 | // ---------------------------------------------------------------------------- | ||
| 1970 | typedef enum D3D11_SB_TESSELLATOR_PARTITIONING | ||
| 1971 | { | ||
| 1972 | D3D11_SB_TESSELLATOR_PARTITIONING_UNDEFINED = 0, | ||
| 1973 | D3D11_SB_TESSELLATOR_PARTITIONING_INTEGER = 1, | ||
| 1974 | D3D11_SB_TESSELLATOR_PARTITIONING_POW2 = 2, | ||
| 1975 | D3D11_SB_TESSELLATOR_PARTITIONING_FRACTIONAL_ODD = 3, | ||
| 1976 | D3D11_SB_TESSELLATOR_PARTITIONING_FRACTIONAL_EVEN = 4 | ||
| 1977 | } D3D11_SB_TESSELLATOR_PARTITIONING; | ||
| 1978 | |||
| 1979 | #define D3D11_SB_TESS_PARTITIONING_MASK 0x00003800 | ||
| 1980 | #define D3D11_SB_TESS_PARTITIONING_SHIFT 11 | ||
| 1981 | |||
| 1982 | // DECODER MACRO: Given a tessellator partitioning declaration, | ||
| 1983 | // (OpcodeToken0), determine the domain | ||
| 1984 | // (D3D11_SB_TESSELLATOR_PARTITIONING enum) | ||
| 1985 | #define DECODE_D3D11_SB_TESS_PARTITIONING(OpcodeToken0) ((D3D11_SB_TESSELLATOR_PARTITIONING)(((OpcodeToken0)&D3D11_SB_TESS_PARTITIONING_MASK)>>D3D11_SB_TESS_PARTITIONING_SHIFT)) | ||
| 1986 | |||
| 1987 | // ENCODER MACRO: Store tessellator partitioning | ||
| 1988 | // (D3D11_SB_TESSELLATOR_PARTITIONING enum) into a | ||
| 1989 | // a tessellator partitioning declaration token (OpcodeToken0) | ||
| 1990 | #define ENCODE_D3D11_SB_TESS_PARTITIONING(Partitioning) (((Partitioning)<<D3D11_SB_TESS_PARTITIONING_SHIFT)&D3D11_SB_TESS_PARTITIONING_MASK) | ||
| 1991 | |||
| 1992 | // ---------------------------------------------------------------------------- | ||
| 1993 | // Hull Shader Declaration Phase: Tessellator Output Primitive | ||
| 1994 | // | ||
| 1995 | // OpcodeToken0: | ||
| 1996 | // | ||
| 1997 | // [10:00] D3D11_SB_OPCODE_DCL_TESS_OUTPUT_PRIMITIVE | ||
| 1998 | // [13:11] Output Primitive | ||
| 1999 | // [23:14] Ignored, 0 | ||
| 2000 | // [30:24] Instruction length in DWORDs including the opcode token. == 1 | ||
| 2001 | // [31] 0 normally. 1 if extended operand definition, meaning next DWORD | ||
| 2002 | // contains extended operand description. This dcl is currently not | ||
| 2003 | // extended. | ||
| 2004 | // | ||
| 2005 | // ---------------------------------------------------------------------------- | ||
| 2006 | typedef enum D3D11_SB_TESSELLATOR_OUTPUT_PRIMITIVE | ||
| 2007 | { | ||
| 2008 | D3D11_SB_TESSELLATOR_OUTPUT_UNDEFINED = 0, | ||
| 2009 | D3D11_SB_TESSELLATOR_OUTPUT_POINT = 1, | ||
| 2010 | D3D11_SB_TESSELLATOR_OUTPUT_LINE = 2, | ||
| 2011 | D3D11_SB_TESSELLATOR_OUTPUT_TRIANGLE_CW = 3, | ||
| 2012 | D3D11_SB_TESSELLATOR_OUTPUT_TRIANGLE_CCW = 4 | ||
| 2013 | } D3D11_SB_TESSELLATOR_OUTPUT_PRIMITIVE; | ||
| 2014 | |||
| 2015 | #define D3D11_SB_TESS_OUTPUT_PRIMITIVE_MASK 0x00003800 | ||
| 2016 | #define D3D11_SB_TESS_OUTPUT_PRIMITIVE_SHIFT 11 | ||
| 2017 | |||
| 2018 | // DECODER MACRO: Given a tessellator output primitive declaration, | ||
| 2019 | // (OpcodeToken0), determine the domain | ||
| 2020 | // (D3D11_SB_TESSELLATOR_OUTPUT_PRIMITIVE enum) | ||
| 2021 | #define DECODE_D3D11_SB_TESS_OUTPUT_PRIMITIVE(OpcodeToken0) ((D3D11_SB_TESSELLATOR_OUTPUT_PRIMITIVE)(((OpcodeToken0)&D3D11_SB_TESS_OUTPUT_PRIMITIVE_MASK)>>D3D11_SB_TESS_OUTPUT_PRIMITIVE_SHIFT)) | ||
| 2022 | |||
| 2023 | // ENCODER MACRO: Store tessellator output primitive | ||
| 2024 | // (D3D11_SB_TESSELLATOR_OUTPUT_PRIMITIVE enum) into a | ||
| 2025 | // a tessellator output primitive declaration token (OpcodeToken0) | ||
| 2026 | #define ENCODE_D3D11_SB_TESS_OUTPUT_PRIMITIVE(OutputPrimitive) (((OutputPrimitive)<<D3D11_SB_TESS_OUTPUT_PRIMITIVE_SHIFT)&D3D11_SB_TESS_OUTPUT_PRIMITIVE_MASK) | ||
| 2027 | |||
| 2028 | |||
| 2029 | // ---------------------------------------------------------------------------- | ||
| 2030 | // Hull Shader Declaration Phase: Hull Shader Max Tessfactor | ||
| 2031 | // | ||
| 2032 | // OpcodeToken0: | ||
| 2033 | // | ||
| 2034 | // [10:00] D3D11_SB_OPCODE_DCL_HS_MAX_TESSFACTOR | ||
| 2035 | // [23:11] Ignored, 0 | ||
| 2036 | // [30:24] Instruction length in DWORDs including the opcode token. | ||
| 2037 | // [31] 0 normally. 1 if extended operand definition, meaning next DWORD | ||
| 2038 | // contains extended operand description. This dcl is currently not | ||
| 2039 | // extended. | ||
| 2040 | // | ||
| 2041 | // OpcodeToken0 is followed by a float32 representing the | ||
| 2042 | // maximum TessFactor. | ||
| 2043 | // | ||
| 2044 | // ---------------------------------------------------------------------------- | ||
| 2045 | |||
| 2046 | // ---------------------------------------------------------------------------- | ||
| 2047 | // Hull Shader Declaration Phase: Hull Shader Fork Phase Instance Count | ||
| 2048 | // | ||
| 2049 | // OpcodeToken0: | ||
| 2050 | // | ||
| 2051 | // [10:00] D3D11_SB_OPCODE_DCL_HS_FORK_PHASE_INSTANCE_COUNT | ||
| 2052 | // [23:11] Ignored, 0 | ||
| 2053 | // [30:24] Instruction length in DWORDs including the opcode token. | ||
| 2054 | // [31] 0 normally. 1 if extended operand definition, meaning next DWORD | ||
| 2055 | // contains extended operand description. This dcl is currently not | ||
| 2056 | // extended. | ||
| 2057 | // | ||
| 2058 | // OpcodeToken0 is followed by a UINT32 representing the | ||
| 2059 | // number of instances of the current fork phase program to execute. | ||
| 2060 | // | ||
| 2061 | // ---------------------------------------------------------------------------- | ||
| 2062 | |||
| 2063 | typedef enum D3D10_SB_INTERPOLATION_MODE | ||
| 2064 | { | ||
| 2065 | D3D10_SB_INTERPOLATION_UNDEFINED = 0, | ||
| 2066 | D3D10_SB_INTERPOLATION_CONSTANT = 1, | ||
| 2067 | D3D10_SB_INTERPOLATION_LINEAR = 2, | ||
| 2068 | D3D10_SB_INTERPOLATION_LINEAR_CENTROID = 3, | ||
| 2069 | D3D10_SB_INTERPOLATION_LINEAR_NOPERSPECTIVE = 4, | ||
| 2070 | D3D10_SB_INTERPOLATION_LINEAR_NOPERSPECTIVE_CENTROID = 5, | ||
| 2071 | D3D10_SB_INTERPOLATION_LINEAR_SAMPLE = 6, // DX10.1 | ||
| 2072 | D3D10_SB_INTERPOLATION_LINEAR_NOPERSPECTIVE_SAMPLE = 7, // DX10.1 | ||
| 2073 | } D3D10_SB_INTERPOLATION_MODE; | ||
| 2074 | |||
| 2075 | // Keep PRIMITIVE_TOPOLOGY values in sync with earlier DX versions (HW consumes values directly). | ||
| 2076 | typedef enum D3D10_SB_PRIMITIVE_TOPOLOGY | ||
| 2077 | { | ||
| 2078 | D3D10_SB_PRIMITIVE_TOPOLOGY_UNDEFINED = 0, | ||
| 2079 | D3D10_SB_PRIMITIVE_TOPOLOGY_POINTLIST = 1, | ||
| 2080 | D3D10_SB_PRIMITIVE_TOPOLOGY_LINELIST = 2, | ||
| 2081 | D3D10_SB_PRIMITIVE_TOPOLOGY_LINESTRIP = 3, | ||
| 2082 | D3D10_SB_PRIMITIVE_TOPOLOGY_TRIANGLELIST = 4, | ||
| 2083 | D3D10_SB_PRIMITIVE_TOPOLOGY_TRIANGLESTRIP = 5, | ||
| 2084 | // 6 is reserved for legacy triangle fans | ||
| 2085 | // Adjacency values should be equal to (0x8 & non-adjacency): | ||
| 2086 | D3D10_SB_PRIMITIVE_TOPOLOGY_LINELIST_ADJ = 10, | ||
| 2087 | D3D10_SB_PRIMITIVE_TOPOLOGY_LINESTRIP_ADJ = 11, | ||
| 2088 | D3D10_SB_PRIMITIVE_TOPOLOGY_TRIANGLELIST_ADJ = 12, | ||
| 2089 | D3D10_SB_PRIMITIVE_TOPOLOGY_TRIANGLESTRIP_ADJ = 13, | ||
| 2090 | } D3D10_SB_PRIMITIVE_TOPOLOGY; | ||
| 2091 | |||
| 2092 | typedef enum D3D10_SB_PRIMITIVE | ||
| 2093 | { | ||
| 2094 | D3D10_SB_PRIMITIVE_UNDEFINED = 0, | ||
| 2095 | D3D10_SB_PRIMITIVE_POINT = 1, | ||
| 2096 | D3D10_SB_PRIMITIVE_LINE = 2, | ||
| 2097 | D3D10_SB_PRIMITIVE_TRIANGLE = 3, | ||
| 2098 | // Adjacency values should be equal to (0x4 & non-adjacency): | ||
| 2099 | D3D10_SB_PRIMITIVE_LINE_ADJ = 6, | ||
| 2100 | D3D10_SB_PRIMITIVE_TRIANGLE_ADJ = 7, | ||
| 2101 | D3D11_SB_PRIMITIVE_1_CONTROL_POINT_PATCH = 8, | ||
| 2102 | D3D11_SB_PRIMITIVE_2_CONTROL_POINT_PATCH = 9, | ||
| 2103 | D3D11_SB_PRIMITIVE_3_CONTROL_POINT_PATCH = 10, | ||
| 2104 | D3D11_SB_PRIMITIVE_4_CONTROL_POINT_PATCH = 11, | ||
| 2105 | D3D11_SB_PRIMITIVE_5_CONTROL_POINT_PATCH = 12, | ||
| 2106 | D3D11_SB_PRIMITIVE_6_CONTROL_POINT_PATCH = 13, | ||
| 2107 | D3D11_SB_PRIMITIVE_7_CONTROL_POINT_PATCH = 14, | ||
| 2108 | D3D11_SB_PRIMITIVE_8_CONTROL_POINT_PATCH = 15, | ||
| 2109 | D3D11_SB_PRIMITIVE_9_CONTROL_POINT_PATCH = 16, | ||
| 2110 | D3D11_SB_PRIMITIVE_10_CONTROL_POINT_PATCH = 17, | ||
| 2111 | D3D11_SB_PRIMITIVE_11_CONTROL_POINT_PATCH = 18, | ||
| 2112 | D3D11_SB_PRIMITIVE_12_CONTROL_POINT_PATCH = 19, | ||
| 2113 | D3D11_SB_PRIMITIVE_13_CONTROL_POINT_PATCH = 20, | ||
| 2114 | D3D11_SB_PRIMITIVE_14_CONTROL_POINT_PATCH = 21, | ||
| 2115 | D3D11_SB_PRIMITIVE_15_CONTROL_POINT_PATCH = 22, | ||
| 2116 | D3D11_SB_PRIMITIVE_16_CONTROL_POINT_PATCH = 23, | ||
| 2117 | D3D11_SB_PRIMITIVE_17_CONTROL_POINT_PATCH = 24, | ||
| 2118 | D3D11_SB_PRIMITIVE_18_CONTROL_POINT_PATCH = 25, | ||
| 2119 | D3D11_SB_PRIMITIVE_19_CONTROL_POINT_PATCH = 26, | ||
| 2120 | D3D11_SB_PRIMITIVE_20_CONTROL_POINT_PATCH = 27, | ||
| 2121 | D3D11_SB_PRIMITIVE_21_CONTROL_POINT_PATCH = 28, | ||
| 2122 | D3D11_SB_PRIMITIVE_22_CONTROL_POINT_PATCH = 29, | ||
| 2123 | D3D11_SB_PRIMITIVE_23_CONTROL_POINT_PATCH = 30, | ||
| 2124 | D3D11_SB_PRIMITIVE_24_CONTROL_POINT_PATCH = 31, | ||
| 2125 | D3D11_SB_PRIMITIVE_25_CONTROL_POINT_PATCH = 32, | ||
| 2126 | D3D11_SB_PRIMITIVE_26_CONTROL_POINT_PATCH = 33, | ||
| 2127 | D3D11_SB_PRIMITIVE_27_CONTROL_POINT_PATCH = 34, | ||
| 2128 | D3D11_SB_PRIMITIVE_28_CONTROL_POINT_PATCH = 35, | ||
| 2129 | D3D11_SB_PRIMITIVE_29_CONTROL_POINT_PATCH = 36, | ||
| 2130 | D3D11_SB_PRIMITIVE_30_CONTROL_POINT_PATCH = 37, | ||
| 2131 | D3D11_SB_PRIMITIVE_31_CONTROL_POINT_PATCH = 38, | ||
| 2132 | D3D11_SB_PRIMITIVE_32_CONTROL_POINT_PATCH = 39, | ||
| 2133 | } D3D10_SB_PRIMITIVE; | ||
| 2134 | |||
| 2135 | typedef enum D3D10_SB_COMPONENT_MASK | ||
| 2136 | { | ||
| 2137 | D3D10_SB_COMPONENT_MASK_X = 1, | ||
| 2138 | D3D10_SB_COMPONENT_MASK_Y = 2, | ||
| 2139 | D3D10_SB_COMPONENT_MASK_Z = 4, | ||
| 2140 | D3D10_SB_COMPONENT_MASK_W = 8, | ||
| 2141 | D3D10_SB_COMPONENT_MASK_R = 1, | ||
| 2142 | D3D10_SB_COMPONENT_MASK_G = 2, | ||
| 2143 | D3D10_SB_COMPONENT_MASK_B = 4, | ||
| 2144 | D3D10_SB_COMPONENT_MASK_A = 8, | ||
| 2145 | D3D10_SB_COMPONENT_MASK_ALL = 15, | ||
| 2146 | } D3D10_SB_COMPONENT_MASK; | ||
| 2147 | |||
| 2148 | typedef enum D3D10_SB_NAME | ||
| 2149 | { | ||
| 2150 | D3D10_SB_NAME_UNDEFINED = 0, | ||
| 2151 | D3D10_SB_NAME_POSITION = 1, | ||
| 2152 | D3D10_SB_NAME_CLIP_DISTANCE = 2, | ||
| 2153 | D3D10_SB_NAME_CULL_DISTANCE = 3, | ||
| 2154 | D3D10_SB_NAME_RENDER_TARGET_ARRAY_INDEX = 4, | ||
| 2155 | D3D10_SB_NAME_VIEWPORT_ARRAY_INDEX = 5, | ||
| 2156 | D3D10_SB_NAME_VERTEX_ID = 6, | ||
| 2157 | D3D10_SB_NAME_PRIMITIVE_ID = 7, | ||
| 2158 | D3D10_SB_NAME_INSTANCE_ID = 8, | ||
| 2159 | D3D10_SB_NAME_IS_FRONT_FACE = 9, | ||
| 2160 | D3D10_SB_NAME_SAMPLE_INDEX = 10, | ||
| 2161 | // The following are added for D3D11 | ||
| 2162 | D3D11_SB_NAME_FINAL_QUAD_U_EQ_0_EDGE_TESSFACTOR = 11, | ||
| 2163 | D3D11_SB_NAME_FINAL_QUAD_V_EQ_0_EDGE_TESSFACTOR = 12, | ||
| 2164 | D3D11_SB_NAME_FINAL_QUAD_U_EQ_1_EDGE_TESSFACTOR = 13, | ||
| 2165 | D3D11_SB_NAME_FINAL_QUAD_V_EQ_1_EDGE_TESSFACTOR = 14, | ||
| 2166 | D3D11_SB_NAME_FINAL_QUAD_U_INSIDE_TESSFACTOR = 15, | ||
| 2167 | D3D11_SB_NAME_FINAL_QUAD_V_INSIDE_TESSFACTOR = 16, | ||
| 2168 | D3D11_SB_NAME_FINAL_TRI_U_EQ_0_EDGE_TESSFACTOR = 17, | ||
| 2169 | D3D11_SB_NAME_FINAL_TRI_V_EQ_0_EDGE_TESSFACTOR = 18, | ||
| 2170 | D3D11_SB_NAME_FINAL_TRI_W_EQ_0_EDGE_TESSFACTOR = 19, | ||
| 2171 | D3D11_SB_NAME_FINAL_TRI_INSIDE_TESSFACTOR = 20, | ||
| 2172 | D3D11_SB_NAME_FINAL_LINE_DETAIL_TESSFACTOR = 21, | ||
| 2173 | D3D11_SB_NAME_FINAL_LINE_DENSITY_TESSFACTOR = 22, | ||
| 2174 | // The following are added for D3D12 | ||
| 2175 | D3D12_SB_NAME_BARYCENTRICS = 23, | ||
| 2176 | D3D12_SB_NAME_SHADINGRATE = 24, | ||
| 2177 | D3D12_SB_NAME_CULLPRIMITIVE = 25, | ||
| 2178 | } D3D10_SB_NAME; | ||
| 2179 | |||
| 2180 | typedef enum D3D10_SB_RESOURCE_DIMENSION | ||
| 2181 | { | ||
| 2182 | D3D10_SB_RESOURCE_DIMENSION_UNKNOWN = 0, | ||
| 2183 | D3D10_SB_RESOURCE_DIMENSION_BUFFER = 1, | ||
| 2184 | D3D10_SB_RESOURCE_DIMENSION_TEXTURE1D = 2, | ||
| 2185 | D3D10_SB_RESOURCE_DIMENSION_TEXTURE2D = 3, | ||
| 2186 | D3D10_SB_RESOURCE_DIMENSION_TEXTURE2DMS = 4, | ||
| 2187 | D3D10_SB_RESOURCE_DIMENSION_TEXTURE3D = 5, | ||
| 2188 | D3D10_SB_RESOURCE_DIMENSION_TEXTURECUBE = 6, | ||
| 2189 | D3D10_SB_RESOURCE_DIMENSION_TEXTURE1DARRAY = 7, | ||
| 2190 | D3D10_SB_RESOURCE_DIMENSION_TEXTURE2DARRAY = 8, | ||
| 2191 | D3D10_SB_RESOURCE_DIMENSION_TEXTURE2DMSARRAY = 9, | ||
| 2192 | D3D10_SB_RESOURCE_DIMENSION_TEXTURECUBEARRAY = 10, | ||
| 2193 | D3D11_SB_RESOURCE_DIMENSION_RAW_BUFFER = 11, | ||
| 2194 | D3D11_SB_RESOURCE_DIMENSION_STRUCTURED_BUFFER = 12, | ||
| 2195 | } D3D10_SB_RESOURCE_DIMENSION; | ||
| 2196 | |||
| 2197 | typedef enum D3D10_SB_RESOURCE_RETURN_TYPE | ||
| 2198 | { | ||
| 2199 | D3D10_SB_RETURN_TYPE_UNORM = 1, | ||
| 2200 | D3D10_SB_RETURN_TYPE_SNORM = 2, | ||
| 2201 | D3D10_SB_RETURN_TYPE_SINT = 3, | ||
| 2202 | D3D10_SB_RETURN_TYPE_UINT = 4, | ||
| 2203 | D3D10_SB_RETURN_TYPE_FLOAT = 5, | ||
| 2204 | D3D10_SB_RETURN_TYPE_MIXED = 6, | ||
| 2205 | D3D11_SB_RETURN_TYPE_DOUBLE = 7, | ||
| 2206 | D3D11_SB_RETURN_TYPE_CONTINUED = 8, | ||
| 2207 | D3D11_SB_RETURN_TYPE_UNUSED = 9, | ||
| 2208 | } D3D10_SB_RESOURCE_RETURN_TYPE; | ||
| 2209 | |||
| 2210 | typedef enum D3D10_SB_REGISTER_COMPONENT_TYPE | ||
| 2211 | { | ||
| 2212 | D3D10_SB_REGISTER_COMPONENT_UNKNOWN = 0, | ||
| 2213 | D3D10_SB_REGISTER_COMPONENT_UINT32 = 1, | ||
| 2214 | D3D10_SB_REGISTER_COMPONENT_SINT32 = 2, | ||
| 2215 | D3D10_SB_REGISTER_COMPONENT_FLOAT32 = 3, | ||
| 2216 | // Below types aren't used in DXBC, only signatures from DXIL shaders | ||
| 2217 | D3D10_SB_REGISTER_COMPONENT_UINT16 = 4, | ||
| 2218 | D3D10_SB_REGISTER_COMPONENT_SINT16 = 5, | ||
| 2219 | D3D10_SB_REGISTER_COMPONENT_FLOAT16 = 6, | ||
| 2220 | D3D10_SB_REGISTER_COMPONENT_UINT64 = 7, | ||
| 2221 | D3D10_SB_REGISTER_COMPONENT_SINT64 = 8, | ||
| 2222 | D3D10_SB_REGISTER_COMPONENT_FLOAT64 = 9, | ||
| 2223 | } D3D10_SB_REGISTER_COMPONENT_TYPE; | ||
| 2224 | |||
| 2225 | typedef enum D3D10_SB_INSTRUCTION_RETURN_TYPE | ||
| 2226 | { | ||
| 2227 | D3D10_SB_INSTRUCTION_RETURN_FLOAT = 0, | ||
| 2228 | D3D10_SB_INSTRUCTION_RETURN_UINT = 1 | ||
| 2229 | } D3D10_SB_INSTRUCTION_RETURN_TYPE; | ||
| 2230 | |||
| 2231 | #define D3D10_SB_INSTRUCTION_RETURN_TYPE_MASK 0x00001800 | ||
| 2232 | #define D3D10_SB_INSTRUCTION_RETURN_TYPE_SHIFT 11 | ||
| 2233 | |||
| 2234 | // DECODER MACRO: For an OpcodeToken0 with the return type | ||
| 2235 | // determine the return type. | ||
| 2236 | #define DECODE_D3D10_SB_INSTRUCTION_RETURN_TYPE(OpcodeToken0) ((D3D10_SB_INSTRUCTION_RETURN_TYPE)(((OpcodeToken0)&D3D10_SB_INSTRUCTION_RETURN_TYPE_MASK)>>D3D10_SB_INSTRUCTION_RETURN_TYPE_SHIFT)) | ||
| 2237 | // ENCODER MACRO: Encode the return type for instructions | ||
| 2238 | // in the opcode specific control range of OpcodeToken0 | ||
| 2239 | #define ENCODE_D3D10_SB_INSTRUCTION_RETURN_TYPE(ReturnType) (((ReturnType)<<D3D10_SB_INSTRUCTION_RETURN_TYPE_SHIFT)&D3D10_SB_INSTRUCTION_RETURN_TYPE_MASK) | ||
| 2240 | |||
| 2241 | // ---------------------------------------------------------------------------- | ||
| 2242 | // Interface function body Declaration | ||
| 2243 | // | ||
| 2244 | // OpcodeToken0: | ||
| 2245 | // | ||
| 2246 | // [10:00] D3D10_SB_OPCODE_DCL_FUNCTION_BODY | ||
| 2247 | // [23:11] Ignored, 0 | ||
| 2248 | // [30:24] Instruction length in DWORDs including the opcode token. | ||
| 2249 | // [31] 0 normally. 1 if extended operand definition, meaning next DWORD | ||
| 2250 | // contains extended operand description. If it is extended, then | ||
| 2251 | // it contains the actual instruction length in DWORDs, since | ||
| 2252 | // it may not fit into 7 bits if enough operands are defined. | ||
| 2253 | // | ||
| 2254 | // OpcodeToken0 is followed by a DWORD that represents the function body | ||
| 2255 | // identifier. | ||
| 2256 | // | ||
| 2257 | // ---------------------------------------------------------------------------- | ||
| 2258 | |||
| 2259 | // ---------------------------------------------------------------------------- | ||
| 2260 | // Interface function table Declaration | ||
| 2261 | // | ||
| 2262 | // OpcodeToken0: | ||
| 2263 | // | ||
| 2264 | // [10:00] D3D10_SB_OPCODE_DCL_FUNCTION_TABLE | ||
| 2265 | // [23:11] Ignored, 0 | ||
| 2266 | // [30:24] Instruction length in DWORDs including the opcode token. | ||
| 2267 | // [31] 0 normally. 1 if extended operand definition, meaning next DWORD | ||
| 2268 | // contains extended operand description. If it is extended, then | ||
| 2269 | // it contains the actual instruction length in DWORDs, since | ||
| 2270 | // it may not fit into 7 bits if enough functions are defined. | ||
| 2271 | // | ||
| 2272 | // OpcodeToken0 is followed by a DWORD that represents the function table | ||
| 2273 | // identifier and another DWORD (TableLength) that gives the number of | ||
| 2274 | // functions in the table. | ||
| 2275 | // | ||
| 2276 | // This is followed by TableLength DWORDs which are function body indices. | ||
| 2277 | // | ||
| 2278 | // ---------------------------------------------------------------------------- | ||
| 2279 | |||
| 2280 | // ---------------------------------------------------------------------------- | ||
| 2281 | // Interface Declaration | ||
| 2282 | // | ||
| 2283 | // OpcodeToken0: | ||
| 2284 | // | ||
| 2285 | // [10:00] D3D10_SB_OPCODE_DCL_INTERFACE | ||
| 2286 | // [11] 1 if the interface is indexed dynamically, 0 otherwise. | ||
| 2287 | // [23:12] Ignored, 0 | ||
| 2288 | // [30:24] Instruction length in DWORDs including the opcode token. | ||
| 2289 | // [31] 0 normally. 1 if extended operand definition, meaning next DWORD | ||
| 2290 | // contains extended operand description. If it is extended, then | ||
| 2291 | // it contains the actual instruction length in DWORDs, since | ||
| 2292 | // it may not fit into 7 bits if enough types are used. | ||
| 2293 | // | ||
| 2294 | // OpcodeToken0 is followed by a DWORD that represents the interface | ||
| 2295 | // identifier. Next is a DWORD that gives the expected function table | ||
| 2296 | // length. Then another DWORD (OpcodeToken3) with the following layout: | ||
| 2297 | // | ||
| 2298 | // [15:00] TableLength, the number of types that implement this interface | ||
| 2299 | // [31:16] ArrayLength, the number of interfaces that are defined in this array. | ||
| 2300 | // | ||
| 2301 | // This is followed by TableLength DWORDs which are function table | ||
| 2302 | // identifiers, representing possible tables for a given interface. | ||
| 2303 | // | ||
| 2304 | // ---------------------------------------------------------------------------- | ||
| 2305 | |||
| 2306 | #define D3D11_SB_INTERFACE_INDEXED_BIT_MASK 0x00000800 | ||
| 2307 | #define D3D11_SB_INTERFACE_INDEXED_BIT_SHIFT 11 | ||
| 2308 | |||
| 2309 | #define D3D11_SB_INTERFACE_TABLE_LENGTH_MASK 0x0000ffff | ||
| 2310 | #define D3D11_SB_INTERFACE_TABLE_LENGTH_SHIFT 0 | ||
| 2311 | |||
| 2312 | #define D3D11_SB_INTERFACE_ARRAY_LENGTH_MASK 0xffff0000 | ||
| 2313 | #define D3D11_SB_INTERFACE_ARRAY_LENGTH_SHIFT 16 | ||
| 2314 | |||
| 2315 | // get/set the indexed bit for an interface definition | ||
| 2316 | #define DECODE_D3D11_SB_INTERFACE_INDEXED_BIT(OpcodeToken0) ((((OpcodeToken0)&D3D11_SB_INTERFACE_INDEXED_BIT_MASK)>>D3D11_SB_INTERFACE_INDEXED_BIT_SHIFT) ? true : false) | ||
| 2317 | #define ENCODE_D3D11_SB_INTERFACE_INDEXED_BIT(IndexedBit) (((IndexedBit)<<D3D11_SB_INTERFACE_INDEXED_BIT_SHIFT)&D3D11_SB_INTERFACE_INDEXED_BIT_MASK) | ||
| 2318 | |||
| 2319 | // get/set the table length for an interface definition | ||
| 2320 | #define DECODE_D3D11_SB_INTERFACE_TABLE_LENGTH(OpcodeToken0) ((UINT)(((OpcodeToken0)&D3D11_SB_INTERFACE_TABLE_LENGTH_MASK)>>D3D11_SB_INTERFACE_TABLE_LENGTH_SHIFT)) | ||
| 2321 | #define ENCODE_D3D11_SB_INTERFACE_TABLE_LENGTH(TableLength) (((TableLength)<<D3D11_SB_INTERFACE_TABLE_LENGTH_SHIFT)&D3D11_SB_INTERFACE_TABLE_LENGTH_MASK) | ||
| 2322 | |||
| 2323 | // get/set the array length for an interface definition | ||
| 2324 | #define DECODE_D3D11_SB_INTERFACE_ARRAY_LENGTH(OpcodeToken0) ((UINT)(((OpcodeToken0)&D3D11_SB_INTERFACE_ARRAY_LENGTH_MASK)>>D3D11_SB_INTERFACE_ARRAY_LENGTH_SHIFT)) | ||
| 2325 | #define ENCODE_D3D11_SB_INTERFACE_ARRAY_LENGTH(ArrayLength) (((ArrayLength)<<D3D11_SB_INTERFACE_ARRAY_LENGTH_SHIFT)&D3D11_SB_INTERFACE_ARRAY_LENGTH_MASK) | ||
| 2326 | |||
| 2327 | // ---------------------------------------------------------------------------- | ||
| 2328 | // Interface call | ||
| 2329 | // | ||
| 2330 | // OpcodeToken0: | ||
| 2331 | // | ||
| 2332 | // [10:00] D3D10_SB_OPCODE_INTERFACE_CALL | ||
| 2333 | // [23:11] Ignored, 0 | ||
| 2334 | // [30:24] Instruction length in DWORDs including the opcode token. | ||
| 2335 | // [31] 0 normally. 1 if extended operand definition, meaning next DWORD | ||
| 2336 | // contains extended operand description. If it is extended, then | ||
| 2337 | // it contains the actual instruction length in DWORDs, since | ||
| 2338 | // it may not fit into 7 bits if enough types are used. | ||
| 2339 | // | ||
| 2340 | // OpcodeToken0 is followed by a DWORD that gives the function index to | ||
| 2341 | // call in the function table specified for the given interface. | ||
| 2342 | // Next is the interface operand. | ||
| 2343 | // | ||
| 2344 | // ---------------------------------------------------------------------------- | ||
| 2345 | |||
| 2346 | // ---------------------------------------------------------------------------- | ||
| 2347 | // Thread Group Declaration (Compute Shader) | ||
| 2348 | // | ||
| 2349 | // OpcodeToken0: | ||
| 2350 | // | ||
| 2351 | // [10:00] D3D11_SB_OPCODE_DCL_THREAD_GROUP | ||
| 2352 | // [23:11] Ignored, 0 | ||
| 2353 | // [30:24] Instruction length in DWORDs including the opcode token. | ||
| 2354 | // [31] 0 normally. 1 if extended operand definition, meaning next DWORD | ||
| 2355 | // contains extended operand description. If it is extended, then | ||
| 2356 | // it contains the actual instruction length in DWORDs, since | ||
| 2357 | // it may not fit into 7 bits if enough types are used. | ||
| 2358 | // | ||
| 2359 | // OpcodeToken0 is followed by 3 DWORDs, the Thread Group dimensions as UINT32: | ||
| 2360 | // x, y, z | ||
| 2361 | // | ||
| 2362 | // ---------------------------------------------------------------------------- | ||
| 2363 | |||
| 2364 | // ---------------------------------------------------------------------------- | ||
| 2365 | // Typed Unordered Access View Declaration | ||
| 2366 | // | ||
| 2367 | // OpcodeToken0: | ||
| 2368 | // | ||
| 2369 | // [10:00] D3D11_SB_OPCODE_DCL_UNORDERED_ACCESS_VIEW_TYPED | ||
| 2370 | // [15:11] D3D10_SB_RESOURCE_DIMENSION | ||
| 2371 | // [16:16] D3D11_SB_GLOBALLY_COHERENT_ACCESS or 0 (LOCALLY_COHERENT) | ||
| 2372 | // [17:17] D3D11_SB_RASTERIZER_ORDERED_ACCESS or 0 | ||
| 2373 | // [23:18] Ignored, 0 | ||
| 2374 | // [30:24] Instruction length in DWORDs including the opcode token. | ||
| 2375 | // [31] 0 normally. 1 if extended operand definition, meaning next DWORD | ||
| 2376 | // contains extended operand description. This dcl is currently not | ||
| 2377 | // extended. | ||
| 2378 | // | ||
| 2379 | // OpcodeToken0 is followed by 2 operands on Shader Models 4.0 through 5.0: | ||
| 2380 | // (1) an operand, starting with OperandToken0, defining which | ||
| 2381 | // u# register (D3D11_SB_OPERAND_TYPE_UNORDERED_ACCESS_VIEW) is being declared. | ||
| 2382 | // (2) a Resource Return Type token (ResourceReturnTypeToken) | ||
| 2383 | // | ||
| 2384 | // OpcodeToken0 is followed by 3 operands on Shader Model 5.1 and later: | ||
| 2385 | // (1) an operand, starting with OperandToken0, defining which | ||
| 2386 | // u# register (D3D11_SB_OPERAND_TYPE_UNORDERED_ACCESS_VIEW) is being declared. | ||
| 2387 | // The indexing dimension for the register must be D3D10_SB_OPERAND_INDEX_DIMENSION_3D, | ||
| 2388 | // and the meaning of the index dimensions are as follows: (u<id>[<lbound>:<ubound>]) | ||
| 2389 | // 1 <id>: variable ID being declared | ||
| 2390 | // 2 <lbound>: the lower bound of the range of UAV's in the space | ||
| 2391 | // 3 <ubound>: the upper bound (inclusive) of this range | ||
| 2392 | // As opposed to when the u# is used in shader instructions, where the register | ||
| 2393 | // must be D3D10_SB_OPERAND_INDEX_DIMENSION_2D, and the meaning of the index | ||
| 2394 | // dimensions are as follows: (u<id>[<idx>]): | ||
| 2395 | // 1 <id>: variable ID being used (matches dcl) | ||
| 2396 | // 2 <idx>: absolute index of uav within space (may be dynamically indexed) | ||
| 2397 | // (2) a Resource Return Type token (ResourceReturnTypeToken) | ||
| 2398 | // (3) a DWORD indicating the space index. | ||
| 2399 | // | ||
| 2400 | // ---------------------------------------------------------------------------- | ||
| 2401 | // UAV access scope flags | ||
| 2402 | #define D3D11_SB_GLOBALLY_COHERENT_ACCESS 0x00010000 | ||
| 2403 | #define D3D11_SB_ACCESS_COHERENCY_MASK 0x00010000 | ||
| 2404 | |||
| 2405 | // DECODER MACRO: Retrieve flags for sync instruction from OpcodeToken0. | ||
| 2406 | #define DECODE_D3D11_SB_ACCESS_COHERENCY_FLAGS(OperandToken0) ((OperandToken0)&D3D11_SB_ACCESS_COHERENCY_MASK) | ||
| 2407 | |||
| 2408 | // ENCODER MACRO: Given a set of sync instruciton flags, encode them in OpcodeToken0. | ||
| 2409 | #define ENCODE_D3D11_SB_ACCESS_COHERENCY_FLAGS(Flags) ((Flags)&D3D11_SB_ACCESS_COHERENCY_MASK) | ||
| 2410 | |||
| 2411 | // Additional UAV access flags | ||
| 2412 | #define D3D11_SB_RASTERIZER_ORDERED_ACCESS 0x00020000 | ||
| 2413 | |||
| 2414 | // Resource flags mask. Use to retrieve all resource flags, including the order preserving counter. | ||
| 2415 | #define D3D11_SB_RESOURCE_FLAGS_MASK (D3D11_SB_GLOBALLY_COHERENT_ACCESS|D3D11_SB_RASTERIZER_ORDERED_ACCESS|D3D11_SB_UAV_HAS_ORDER_PRESERVING_COUNTER) | ||
| 2416 | |||
| 2417 | // DECODER MACRO: Retrieve UAV access flags for from OpcodeToken0. | ||
| 2418 | #define DECODE_D3D11_SB_RESOURCE_FLAGS(OperandToken0) ((OperandToken0)&D3D11_SB_RESOURCE_FLAGS_MASK) | ||
| 2419 | |||
| 2420 | // ENCODER MACRO: Given UAV access flags, encode them in OpcodeToken0. | ||
| 2421 | #define ENCODE_D3D11_SB_RESOURCE_FLAGS(Flags) ((Flags)&D3D11_SB_RESOURCE_FLAGS_MASK) | ||
| 2422 | |||
| 2423 | // ---------------------------------------------------------------------------- | ||
| 2424 | // Raw Unordered Access View Declaration | ||
| 2425 | // | ||
| 2426 | // OpcodeToken0: | ||
| 2427 | // | ||
| 2428 | // [10:00] D3D11_SB_OPCODE_DCL_UNORDERED_ACCESS_VIEW_RAW | ||
| 2429 | // [15:11] Ignored, 0 | ||
| 2430 | // [16:16] D3D11_SB_GLOBALLY_COHERENT_ACCESS or 0 (LOCALLY_COHERENT) | ||
| 2431 | // [17:17] D3D11_SB_RASTERIZER_ORDERED_ACCESS or 0 | ||
| 2432 | // [23:18] Ignored, 0 | ||
| 2433 | // [30:24] Instruction length in DWORDs including the opcode token. | ||
| 2434 | // [31] 0 normally. 1 if extended operand definition, meaning next DWORD | ||
| 2435 | // contains extended operand description. This dcl is currently not | ||
| 2436 | // extended. | ||
| 2437 | // | ||
| 2438 | // OpcodeToken0 is followed by 1 operand on Shader Models 4.0 through 5.0: | ||
| 2439 | // (1) an operand, starting with OperandToken0, defining which | ||
| 2440 | // u# register (D3D11_SB_OPERAND_TYPE_UNORDERED_ACCESS_VIEW) is being declared. | ||
| 2441 | // | ||
| 2442 | // OpcodeToken0 is followed by 2 operands on Shader Model 5.1 and later: | ||
| 2443 | // (1) an operand, starting with OperandToken0, defining which | ||
| 2444 | // u# register (D3D11_SB_OPERAND_TYPE_UNORDERED_ACCESS_VIEW) is being declared. | ||
| 2445 | // The indexing dimension for the register must be D3D10_SB_OPERAND_INDEX_DIMENSION_3D, | ||
| 2446 | // and the meaning of the index dimensions are as follows: (u<id>[<lbound>:<ubound>]) | ||
| 2447 | // 1 <id>: variable ID being declared | ||
| 2448 | // 2 <lbound>: the lower bound of the range of UAV's in the space | ||
| 2449 | // 3 <ubound>: the upper bound (inclusive) of this range | ||
| 2450 | // As opposed to when the u# is used in shader instructions, where the register | ||
| 2451 | // must be D3D10_SB_OPERAND_INDEX_DIMENSION_2D, and the meaning of the index | ||
| 2452 | // dimensions are as follows: (u<id>[<idx>]): | ||
| 2453 | // 1 <id>: variable ID being used (matches dcl) | ||
| 2454 | // 2 <idx>: absolute index of uav within space (may be dynamically indexed) | ||
| 2455 | // (2) a DWORD indicating the space index. | ||
| 2456 | // | ||
| 2457 | // ---------------------------------------------------------------------------- | ||
| 2458 | |||
| 2459 | // ---------------------------------------------------------------------------- | ||
| 2460 | // Structured Unordered Access View Declaration | ||
| 2461 | // | ||
| 2462 | // OpcodeToken0: | ||
| 2463 | // | ||
| 2464 | // [10:00] D3D11_SB_OPCODE_DCL_UNORDERED_ACCESS_VIEW_STRUCTURED | ||
| 2465 | // [15:11] Ignored, 0 | ||
| 2466 | // [16:16] D3D11_SB_GLOBALLY_COHERENT_ACCESS or 0 (LOCALLY_COHERENT) | ||
| 2467 | // [17:17] D3D11_SB_RASTERIZER_ORDERED_ACCESS or 0 | ||
| 2468 | // [22:18] Ignored, 0 | ||
| 2469 | // [23:23] D3D11_SB_UAV_HAS_ORDER_PRESERVING_COUNTER or 0 | ||
| 2470 | // | ||
| 2471 | // The presence of this flag means that if a UAV is bound to the | ||
| 2472 | // corresponding slot, it must have been created with | ||
| 2473 | // D3D11_BUFFER_UAV_FLAG_COUNTER at the API. Also, the shader | ||
| 2474 | // can contain either imm_atomic_alloc or _consume instructions | ||
| 2475 | // operating on the given UAV. | ||
| 2476 | // | ||
| 2477 | // If this flag is not present, the shader can still contain | ||
| 2478 | // either imm_atomic_alloc or imm_atomic_consume instructions for | ||
| 2479 | // this UAV. But if such instructions are present in this case, | ||
| 2480 | // and a UAV is bound corresponding slot, it must have been created | ||
| 2481 | // with the D3D11_BUFFER_UAV_FLAG_APPEND flag at the API. | ||
| 2482 | // Append buffers have a counter as well, but values returned | ||
| 2483 | // to the shader are only valid for the lifetime of the shader | ||
| 2484 | // invocation. | ||
| 2485 | // | ||
| 2486 | // [30:24] Instruction length in DWORDs including the opcode token. | ||
| 2487 | // [31] 0 normally. 1 if extended operand definition, meaning next DWORD | ||
| 2488 | // contains extended operand description. This dcl is currently not | ||
| 2489 | // extended. | ||
| 2490 | // | ||
| 2491 | // OpcodeToken0 is followed by 2 operands: | ||
| 2492 | // (1) an operand, starting with OperandToken0, defining which | ||
| 2493 | // u# register (D3D11_SB_OPERAND_TYPE_UNORDERED_ACCESS_VIEW) is | ||
| 2494 | // being declared. | ||
| 2495 | // (2) a DWORD indicating UINT32 byte stride | ||
| 2496 | // | ||
| 2497 | // OpcodeToken0 is followed by 3 operands on Shader Model 5.1 and later: | ||
| 2498 | // (1) an operand, starting with OperandToken0, defining which | ||
| 2499 | // u# register (D3D11_SB_OPERAND_TYPE_UNORDERED_ACCESS_VIEW) is being declared. | ||
| 2500 | // The indexing dimension for the register must be D3D10_SB_OPERAND_INDEX_DIMENSION_3D, | ||
| 2501 | // and the meaning of the index dimensions are as follows: (u<id>[<lbound>:<ubound>]) | ||
| 2502 | // 1 <id>: variable ID being declared | ||
| 2503 | // 2 <lbound>: the lower bound of the range of UAV's in the space | ||
| 2504 | // 3 <ubound>: the upper bound (inclusive) of this range | ||
| 2505 | // As opposed to when the u# is used in shader instructions, where the register | ||
| 2506 | // must be D3D10_SB_OPERAND_INDEX_DIMENSION_2D, and the meaning of the index | ||
| 2507 | // dimensions are as follows: (u<id>[<idx>]): | ||
| 2508 | // 1 <id>: variable ID being used (matches dcl) | ||
| 2509 | // 2 <idx>: absolute index of uav within space (may be dynamically indexed) | ||
| 2510 | // (2) a DWORD indicating UINT32 byte stride | ||
| 2511 | // (3) a DWORD indicating the space index. | ||
| 2512 | // | ||
| 2513 | // ---------------------------------------------------------------------------- | ||
| 2514 | // UAV flags | ||
| 2515 | #define D3D11_SB_UAV_HAS_ORDER_PRESERVING_COUNTER 0x00800000 | ||
| 2516 | #define D3D11_SB_UAV_FLAGS_MASK 0x00800000 | ||
| 2517 | |||
| 2518 | // DECODER MACRO: Retrieve flags about UAV from OpcodeToken0. | ||
| 2519 | #define DECODE_D3D11_SB_UAV_FLAGS(OperandToken0) ((OperandToken0)&D3D11_SB_UAV_FLAGS_MASK) | ||
| 2520 | |||
| 2521 | // ENCODER MACRO: Given a set of UAV flags, encode them in OpcodeToken0. | ||
| 2522 | #define ENCODE_D3D11_SB_UAV_FLAGS(Flags) ((Flags)&D3D11_SB_UAV_FLAGS_MASK) | ||
| 2523 | |||
| 2524 | // ---------------------------------------------------------------------------- | ||
| 2525 | // Raw Thread Group Shared Memory Declaration | ||
| 2526 | // | ||
| 2527 | // OpcodeToken0: | ||
| 2528 | // | ||
| 2529 | // [10:00] D3D11_SB_OPCODE_DCL_THREAD_GROUP_SHARED_MEMORY_RAW | ||
| 2530 | // [23:11] Ignored, 0 | ||
| 2531 | // [30:24] Instruction length in DWORDs including the opcode token. | ||
| 2532 | // [31] 0 normally. 1 if extended operand definition, meaning next DWORD | ||
| 2533 | // contains extended operand description. This dcl is currently not | ||
| 2534 | // extended. | ||
| 2535 | // | ||
| 2536 | // OpcodeToken0 is followed by 2 operands: | ||
| 2537 | // (1) an operand, starting with OperandToken0, defining which | ||
| 2538 | // g# register (D3D11_SB_OPERAND_TYPE_THREAD_GROUP_SHARED_MEMORY) is being declared. | ||
| 2539 | // (2) a DWORD indicating the byte count, which must be a multiple of 4. | ||
| 2540 | // | ||
| 2541 | // ---------------------------------------------------------------------------- | ||
| 2542 | |||
| 2543 | // ---------------------------------------------------------------------------- | ||
| 2544 | // Structured Thread Group Shared Memory Declaration | ||
| 2545 | // | ||
| 2546 | // OpcodeToken0: | ||
| 2547 | // | ||
| 2548 | // [10:00] D3D11_SB_OPCODE_DCL_THREAD_GROUP_SHARED_MEMORY_STRUCTURED | ||
| 2549 | // [23:11] Ignored, 0 | ||
| 2550 | // [30:24] Instruction length in DWORDs including the opcode token. | ||
| 2551 | // [31] 0 normally. 1 if extended operand definition, meaning next DWORD | ||
| 2552 | // contains extended operand description. This dcl is currently not | ||
| 2553 | // extended. | ||
| 2554 | // | ||
| 2555 | // OpcodeToken0 is followed by 3 operands: | ||
| 2556 | // (1) an operand, starting with OperandToken0, defining which | ||
| 2557 | // g# register (D3D11_SB_OPERAND_TYPE_THREAD_GROUP_SHARED_MEMORY) is | ||
| 2558 | // being declared. | ||
| 2559 | // (2) a DWORD indicating UINT32 struct byte stride | ||
| 2560 | // (3) a DWORD indicating UINT32 struct count | ||
| 2561 | // | ||
| 2562 | // ---------------------------------------------------------------------------- | ||
| 2563 | |||
| 2564 | // ---------------------------------------------------------------------------- | ||
| 2565 | // Raw Shader Resource View Declaration | ||
| 2566 | // | ||
| 2567 | // OpcodeToken0: | ||
| 2568 | // | ||
| 2569 | // [10:00] D3D11_SB_OPCODE_DCL_RESOURCE_RAW | ||
| 2570 | // [23:11] Ignored, 0 | ||
| 2571 | // [30:24] Instruction length in DWORDs including the opcode token. | ||
| 2572 | // [31] 0 normally. 1 if extended operand definition, meaning next DWORD | ||
| 2573 | // contains extended operand description. This dcl is currently not | ||
| 2574 | // extended. | ||
| 2575 | // | ||
| 2576 | // OpcodeToken0 is followed by 1 operand: | ||
| 2577 | // (1) an operand, starting with OperandToken0, defining which | ||
| 2578 | // t# register (D3D10_SB_OPERAND_TYPE_RESOURCE) is being declared. | ||
| 2579 | // | ||
| 2580 | // OpcodeToken0 is followed by 2 operands on Shader Model 5.1 and later: | ||
| 2581 | // (1) an operand, starting with OperandToken0, defining which | ||
| 2582 | // t# register (D3D10_SB_OPERAND_TYPE_RESOURCE) is being declared. | ||
| 2583 | // The indexing dimension for the register must be D3D10_SB_OPERAND_INDEX_DIMENSION_3D, | ||
| 2584 | // and the meaning of the index dimensions are as follows: (t<id>[<lbound>:<ubound>]) | ||
| 2585 | // 1 <id>: variable ID being declared | ||
| 2586 | // 2 <lbound>: the lower bound of the range of resources in the space | ||
| 2587 | // 3 <ubound>: the upper bound (inclusive) of this range | ||
| 2588 | // As opposed to when the t# is used in shader instructions, where the register | ||
| 2589 | // must be D3D10_SB_OPERAND_INDEX_DIMENSION_2D, and the meaning of the index | ||
| 2590 | // dimensions are as follows: (t<id>[<idx>]): | ||
| 2591 | // 1 <id>: variable ID being used (matches dcl) | ||
| 2592 | // 2 <idx>: absolute index of resource within space (may be dynamically indexed) | ||
| 2593 | // (2) a DWORD indicating the space index. | ||
| 2594 | // | ||
| 2595 | // ---------------------------------------------------------------------------- | ||
| 2596 | |||
| 2597 | // ---------------------------------------------------------------------------- | ||
| 2598 | // Structured Shader Resource View Declaration | ||
| 2599 | // | ||
| 2600 | // OpcodeToken0: | ||
| 2601 | // | ||
| 2602 | // [10:00] D3D11_SB_OPCODE_DCL_RESOURCE_STRUCTURED | ||
| 2603 | // [23:11] Ignored, 0 | ||
| 2604 | // [30:24] Instruction length in DWORDs including the opcode token. | ||
| 2605 | // [31] 0 normally. 1 if extended operand definition, meaning next DWORD | ||
| 2606 | // contains extended operand description. This dcl is currently not | ||
| 2607 | // extended. | ||
| 2608 | // | ||
| 2609 | // OpcodeToken0 is followed by 2 operands: | ||
| 2610 | // (1) an operand, starting with OperandToken0, defining which | ||
| 2611 | // g# register (D3D10_SB_OPERAND_TYPE_RESOURCE) is | ||
| 2612 | // being declared. | ||
| 2613 | // (2) a DWORD indicating UINT32 struct byte stride | ||
| 2614 | // | ||
| 2615 | // OpcodeToken0 is followed by 3 operands on Shader Model 5.1 and later: | ||
| 2616 | // (1) an operand, starting with OperandToken0, defining which | ||
| 2617 | // t# register (D3D10_SB_OPERAND_TYPE_RESOURCE) is being declared. | ||
| 2618 | // The indexing dimension for the register must be D3D10_SB_OPERAND_INDEX_DIMENSION_3D, | ||
| 2619 | // and the meaning of the index dimensions are as follows: (t<id>[<lbound>:<ubound>]) | ||
| 2620 | // 1 <id>: variable ID being declared | ||
| 2621 | // 2 <lbound>: the lower bound of the range of resources in the space | ||
| 2622 | // 3 <ubound>: the upper bound (inclusive) of this range | ||
| 2623 | // As opposed to when the t# is used in shader instructions, where the register | ||
| 2624 | // must be D3D10_SB_OPERAND_INDEX_DIMENSION_2D, and the meaning of the index | ||
| 2625 | // dimensions are as follows: (t<id>[<idx>]): | ||
| 2626 | // 1 <id>: variable ID being used (matches dcl) | ||
| 2627 | // 2 <idx>: absolute index of resource within space (may be dynamically indexed) | ||
| 2628 | // (2) a DWORD indicating UINT32 struct byte stride | ||
| 2629 | // (3) a DWORD indicating the space index. | ||
| 2630 | // | ||
| 2631 | // ---------------------------------------------------------------------------- | ||
| 2632 | |||
| 2633 | #endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP | WINAPI_PARTITION_GAMES) */ | ||
| 2634 | #pragma endregion | ||
diff --git a/contrib/microsoft.direct3d.d3d12.1.618.4/build/native/include/d3d12.h b/contrib/microsoft.direct3d.d3d12.1.618.4/build/native/include/d3d12.h new file mode 100644 index 0000000..b942825 --- /dev/null +++ b/contrib/microsoft.direct3d.d3d12.1.618.4/build/native/include/d3d12.h | |||
| @@ -0,0 +1,36890 @@ | |||
| 1 | /*------------------------------------------------------------------------------------- | ||
| 2 | * | ||
| 3 | * Copyright (c) Microsoft Corporation | ||
| 4 | * Licensed under the MIT license | ||
| 5 | * | ||
| 6 | *-------------------------------------------------------------------------------------*/ | ||
| 7 | |||
| 8 | |||
| 9 | /* this ALWAYS GENERATED file contains the definitions for the interfaces */ | ||
| 10 | |||
| 11 | |||
| 12 | /* File created by MIDL compiler version 8.01.0628 */ | ||
| 13 | |||
| 14 | |||
| 15 | |||
| 16 | /* verify that the <rpcndr.h> version is high enough to compile this file*/ | ||
| 17 | #ifndef __REQUIRED_RPCNDR_H_VERSION__ | ||
| 18 | #define __REQUIRED_RPCNDR_H_VERSION__ 500 | ||
| 19 | #endif | ||
| 20 | |||
| 21 | /* verify that the <rpcsal.h> version is high enough to compile this file*/ | ||
| 22 | #ifndef __REQUIRED_RPCSAL_H_VERSION__ | ||
| 23 | #define __REQUIRED_RPCSAL_H_VERSION__ 100 | ||
| 24 | #endif | ||
| 25 | |||
| 26 | #include "rpc.h" | ||
| 27 | #include "rpcndr.h" | ||
| 28 | |||
| 29 | #ifndef __RPCNDR_H_VERSION__ | ||
| 30 | #error this stub requires an updated version of <rpcndr.h> | ||
| 31 | #endif /* __RPCNDR_H_VERSION__ */ | ||
| 32 | |||
| 33 | #ifndef COM_NO_WINDOWS_H | ||
| 34 | #include "windows.h" | ||
| 35 | #include "ole2.h" | ||
| 36 | #endif /*COM_NO_WINDOWS_H*/ | ||
| 37 | |||
| 38 | #ifndef __d3d12_h__ | ||
| 39 | #define __d3d12_h__ | ||
| 40 | |||
| 41 | #if defined(_MSC_VER) && (_MSC_VER >= 1020) | ||
| 42 | #pragma once | ||
| 43 | #endif | ||
| 44 | |||
| 45 | #ifndef DECLSPEC_XFGVIRT | ||
| 46 | #if defined(_CONTROL_FLOW_GUARD_XFG) | ||
| 47 | #define DECLSPEC_XFGVIRT(base, func) __declspec(xfg_virtual(base, func)) | ||
| 48 | #else | ||
| 49 | #define DECLSPEC_XFGVIRT(base, func) | ||
| 50 | #endif | ||
| 51 | #endif | ||
| 52 | |||
| 53 | /* Forward Declarations */ | ||
| 54 | |||
| 55 | #ifndef __ID3D12Object_FWD_DEFINED__ | ||
| 56 | #define __ID3D12Object_FWD_DEFINED__ | ||
| 57 | typedef interface ID3D12Object ID3D12Object; | ||
| 58 | |||
| 59 | #endif /* __ID3D12Object_FWD_DEFINED__ */ | ||
| 60 | |||
| 61 | |||
| 62 | #ifndef __ID3D12DeviceChild_FWD_DEFINED__ | ||
| 63 | #define __ID3D12DeviceChild_FWD_DEFINED__ | ||
| 64 | typedef interface ID3D12DeviceChild ID3D12DeviceChild; | ||
| 65 | |||
| 66 | #endif /* __ID3D12DeviceChild_FWD_DEFINED__ */ | ||
| 67 | |||
| 68 | |||
| 69 | #ifndef __ID3D12RootSignature_FWD_DEFINED__ | ||
| 70 | #define __ID3D12RootSignature_FWD_DEFINED__ | ||
| 71 | typedef interface ID3D12RootSignature ID3D12RootSignature; | ||
| 72 | |||
| 73 | #endif /* __ID3D12RootSignature_FWD_DEFINED__ */ | ||
| 74 | |||
| 75 | |||
| 76 | #ifndef __ID3D12RootSignatureDeserializer_FWD_DEFINED__ | ||
| 77 | #define __ID3D12RootSignatureDeserializer_FWD_DEFINED__ | ||
| 78 | typedef interface ID3D12RootSignatureDeserializer ID3D12RootSignatureDeserializer; | ||
| 79 | |||
| 80 | #endif /* __ID3D12RootSignatureDeserializer_FWD_DEFINED__ */ | ||
| 81 | |||
| 82 | |||
| 83 | #ifndef __ID3D12VersionedRootSignatureDeserializer_FWD_DEFINED__ | ||
| 84 | #define __ID3D12VersionedRootSignatureDeserializer_FWD_DEFINED__ | ||
| 85 | typedef interface ID3D12VersionedRootSignatureDeserializer ID3D12VersionedRootSignatureDeserializer; | ||
| 86 | |||
| 87 | #endif /* __ID3D12VersionedRootSignatureDeserializer_FWD_DEFINED__ */ | ||
| 88 | |||
| 89 | |||
| 90 | #ifndef __ID3D12Pageable_FWD_DEFINED__ | ||
| 91 | #define __ID3D12Pageable_FWD_DEFINED__ | ||
| 92 | typedef interface ID3D12Pageable ID3D12Pageable; | ||
| 93 | |||
| 94 | #endif /* __ID3D12Pageable_FWD_DEFINED__ */ | ||
| 95 | |||
| 96 | |||
| 97 | #ifndef __ID3D12Heap_FWD_DEFINED__ | ||
| 98 | #define __ID3D12Heap_FWD_DEFINED__ | ||
| 99 | typedef interface ID3D12Heap ID3D12Heap; | ||
| 100 | |||
| 101 | #endif /* __ID3D12Heap_FWD_DEFINED__ */ | ||
| 102 | |||
| 103 | |||
| 104 | #ifndef __ID3D12Resource_FWD_DEFINED__ | ||
| 105 | #define __ID3D12Resource_FWD_DEFINED__ | ||
| 106 | typedef interface ID3D12Resource ID3D12Resource; | ||
| 107 | |||
| 108 | #endif /* __ID3D12Resource_FWD_DEFINED__ */ | ||
| 109 | |||
| 110 | |||
| 111 | #ifndef __ID3D12CommandAllocator_FWD_DEFINED__ | ||
| 112 | #define __ID3D12CommandAllocator_FWD_DEFINED__ | ||
| 113 | typedef interface ID3D12CommandAllocator ID3D12CommandAllocator; | ||
| 114 | |||
| 115 | #endif /* __ID3D12CommandAllocator_FWD_DEFINED__ */ | ||
| 116 | |||
| 117 | |||
| 118 | #ifndef __ID3D12Fence_FWD_DEFINED__ | ||
| 119 | #define __ID3D12Fence_FWD_DEFINED__ | ||
| 120 | typedef interface ID3D12Fence ID3D12Fence; | ||
| 121 | |||
| 122 | #endif /* __ID3D12Fence_FWD_DEFINED__ */ | ||
| 123 | |||
| 124 | |||
| 125 | #ifndef __ID3D12Fence1_FWD_DEFINED__ | ||
| 126 | #define __ID3D12Fence1_FWD_DEFINED__ | ||
| 127 | typedef interface ID3D12Fence1 ID3D12Fence1; | ||
| 128 | |||
| 129 | #endif /* __ID3D12Fence1_FWD_DEFINED__ */ | ||
| 130 | |||
| 131 | |||
| 132 | #ifndef __ID3D12PipelineState_FWD_DEFINED__ | ||
| 133 | #define __ID3D12PipelineState_FWD_DEFINED__ | ||
| 134 | typedef interface ID3D12PipelineState ID3D12PipelineState; | ||
| 135 | |||
| 136 | #endif /* __ID3D12PipelineState_FWD_DEFINED__ */ | ||
| 137 | |||
| 138 | |||
| 139 | #ifndef __ID3D12PipelineState1_FWD_DEFINED__ | ||
| 140 | #define __ID3D12PipelineState1_FWD_DEFINED__ | ||
| 141 | typedef interface ID3D12PipelineState1 ID3D12PipelineState1; | ||
| 142 | |||
| 143 | #endif /* __ID3D12PipelineState1_FWD_DEFINED__ */ | ||
| 144 | |||
| 145 | |||
| 146 | #ifndef __ID3D12DescriptorHeap_FWD_DEFINED__ | ||
| 147 | #define __ID3D12DescriptorHeap_FWD_DEFINED__ | ||
| 148 | typedef interface ID3D12DescriptorHeap ID3D12DescriptorHeap; | ||
| 149 | |||
| 150 | #endif /* __ID3D12DescriptorHeap_FWD_DEFINED__ */ | ||
| 151 | |||
| 152 | |||
| 153 | #ifndef __ID3D12QueryHeap_FWD_DEFINED__ | ||
| 154 | #define __ID3D12QueryHeap_FWD_DEFINED__ | ||
| 155 | typedef interface ID3D12QueryHeap ID3D12QueryHeap; | ||
| 156 | |||
| 157 | #endif /* __ID3D12QueryHeap_FWD_DEFINED__ */ | ||
| 158 | |||
| 159 | |||
| 160 | #ifndef __ID3D12CommandSignature_FWD_DEFINED__ | ||
| 161 | #define __ID3D12CommandSignature_FWD_DEFINED__ | ||
| 162 | typedef interface ID3D12CommandSignature ID3D12CommandSignature; | ||
| 163 | |||
| 164 | #endif /* __ID3D12CommandSignature_FWD_DEFINED__ */ | ||
| 165 | |||
| 166 | |||
| 167 | #ifndef __ID3D12CommandList_FWD_DEFINED__ | ||
| 168 | #define __ID3D12CommandList_FWD_DEFINED__ | ||
| 169 | typedef interface ID3D12CommandList ID3D12CommandList; | ||
| 170 | |||
| 171 | #endif /* __ID3D12CommandList_FWD_DEFINED__ */ | ||
| 172 | |||
| 173 | |||
| 174 | #ifndef __ID3D12GraphicsCommandList_FWD_DEFINED__ | ||
| 175 | #define __ID3D12GraphicsCommandList_FWD_DEFINED__ | ||
| 176 | typedef interface ID3D12GraphicsCommandList ID3D12GraphicsCommandList; | ||
| 177 | |||
| 178 | #endif /* __ID3D12GraphicsCommandList_FWD_DEFINED__ */ | ||
| 179 | |||
| 180 | |||
| 181 | #ifndef __ID3D12GraphicsCommandList1_FWD_DEFINED__ | ||
| 182 | #define __ID3D12GraphicsCommandList1_FWD_DEFINED__ | ||
| 183 | typedef interface ID3D12GraphicsCommandList1 ID3D12GraphicsCommandList1; | ||
| 184 | |||
| 185 | #endif /* __ID3D12GraphicsCommandList1_FWD_DEFINED__ */ | ||
| 186 | |||
| 187 | |||
| 188 | #ifndef __ID3D12GraphicsCommandList2_FWD_DEFINED__ | ||
| 189 | #define __ID3D12GraphicsCommandList2_FWD_DEFINED__ | ||
| 190 | typedef interface ID3D12GraphicsCommandList2 ID3D12GraphicsCommandList2; | ||
| 191 | |||
| 192 | #endif /* __ID3D12GraphicsCommandList2_FWD_DEFINED__ */ | ||
| 193 | |||
| 194 | |||
| 195 | #ifndef __ID3D12CommandQueue_FWD_DEFINED__ | ||
| 196 | #define __ID3D12CommandQueue_FWD_DEFINED__ | ||
| 197 | typedef interface ID3D12CommandQueue ID3D12CommandQueue; | ||
| 198 | |||
| 199 | #endif /* __ID3D12CommandQueue_FWD_DEFINED__ */ | ||
| 200 | |||
| 201 | |||
| 202 | #ifndef __ID3D12CommandQueue1_FWD_DEFINED__ | ||
| 203 | #define __ID3D12CommandQueue1_FWD_DEFINED__ | ||
| 204 | typedef interface ID3D12CommandQueue1 ID3D12CommandQueue1; | ||
| 205 | |||
| 206 | #endif /* __ID3D12CommandQueue1_FWD_DEFINED__ */ | ||
| 207 | |||
| 208 | |||
| 209 | #ifndef __ID3D12Device_FWD_DEFINED__ | ||
| 210 | #define __ID3D12Device_FWD_DEFINED__ | ||
| 211 | typedef interface ID3D12Device ID3D12Device; | ||
| 212 | |||
| 213 | #endif /* __ID3D12Device_FWD_DEFINED__ */ | ||
| 214 | |||
| 215 | |||
| 216 | #ifndef __ID3D12PipelineLibrary_FWD_DEFINED__ | ||
| 217 | #define __ID3D12PipelineLibrary_FWD_DEFINED__ | ||
| 218 | typedef interface ID3D12PipelineLibrary ID3D12PipelineLibrary; | ||
| 219 | |||
| 220 | #endif /* __ID3D12PipelineLibrary_FWD_DEFINED__ */ | ||
| 221 | |||
| 222 | |||
| 223 | #ifndef __ID3D12PipelineLibrary1_FWD_DEFINED__ | ||
| 224 | #define __ID3D12PipelineLibrary1_FWD_DEFINED__ | ||
| 225 | typedef interface ID3D12PipelineLibrary1 ID3D12PipelineLibrary1; | ||
| 226 | |||
| 227 | #endif /* __ID3D12PipelineLibrary1_FWD_DEFINED__ */ | ||
| 228 | |||
| 229 | |||
| 230 | #ifndef __ID3D12Device1_FWD_DEFINED__ | ||
| 231 | #define __ID3D12Device1_FWD_DEFINED__ | ||
| 232 | typedef interface ID3D12Device1 ID3D12Device1; | ||
| 233 | |||
| 234 | #endif /* __ID3D12Device1_FWD_DEFINED__ */ | ||
| 235 | |||
| 236 | |||
| 237 | #ifndef __ID3D12Device2_FWD_DEFINED__ | ||
| 238 | #define __ID3D12Device2_FWD_DEFINED__ | ||
| 239 | typedef interface ID3D12Device2 ID3D12Device2; | ||
| 240 | |||
| 241 | #endif /* __ID3D12Device2_FWD_DEFINED__ */ | ||
| 242 | |||
| 243 | |||
| 244 | #ifndef __ID3D12Device3_FWD_DEFINED__ | ||
| 245 | #define __ID3D12Device3_FWD_DEFINED__ | ||
| 246 | typedef interface ID3D12Device3 ID3D12Device3; | ||
| 247 | |||
| 248 | #endif /* __ID3D12Device3_FWD_DEFINED__ */ | ||
| 249 | |||
| 250 | |||
| 251 | #ifndef __ID3D12ProtectedSession_FWD_DEFINED__ | ||
| 252 | #define __ID3D12ProtectedSession_FWD_DEFINED__ | ||
| 253 | typedef interface ID3D12ProtectedSession ID3D12ProtectedSession; | ||
| 254 | |||
| 255 | #endif /* __ID3D12ProtectedSession_FWD_DEFINED__ */ | ||
| 256 | |||
| 257 | |||
| 258 | #ifndef __ID3D12ProtectedResourceSession_FWD_DEFINED__ | ||
| 259 | #define __ID3D12ProtectedResourceSession_FWD_DEFINED__ | ||
| 260 | typedef interface ID3D12ProtectedResourceSession ID3D12ProtectedResourceSession; | ||
| 261 | |||
| 262 | #endif /* __ID3D12ProtectedResourceSession_FWD_DEFINED__ */ | ||
| 263 | |||
| 264 | |||
| 265 | #ifndef __ID3D12Device4_FWD_DEFINED__ | ||
| 266 | #define __ID3D12Device4_FWD_DEFINED__ | ||
| 267 | typedef interface ID3D12Device4 ID3D12Device4; | ||
| 268 | |||
| 269 | #endif /* __ID3D12Device4_FWD_DEFINED__ */ | ||
| 270 | |||
| 271 | |||
| 272 | #ifndef __ID3D12LifetimeOwner_FWD_DEFINED__ | ||
| 273 | #define __ID3D12LifetimeOwner_FWD_DEFINED__ | ||
| 274 | typedef interface ID3D12LifetimeOwner ID3D12LifetimeOwner; | ||
| 275 | |||
| 276 | #endif /* __ID3D12LifetimeOwner_FWD_DEFINED__ */ | ||
| 277 | |||
| 278 | |||
| 279 | #ifndef __ID3D12SwapChainAssistant_FWD_DEFINED__ | ||
| 280 | #define __ID3D12SwapChainAssistant_FWD_DEFINED__ | ||
| 281 | typedef interface ID3D12SwapChainAssistant ID3D12SwapChainAssistant; | ||
| 282 | |||
| 283 | #endif /* __ID3D12SwapChainAssistant_FWD_DEFINED__ */ | ||
| 284 | |||
| 285 | |||
| 286 | #ifndef __ID3D12LifetimeTracker_FWD_DEFINED__ | ||
| 287 | #define __ID3D12LifetimeTracker_FWD_DEFINED__ | ||
| 288 | typedef interface ID3D12LifetimeTracker ID3D12LifetimeTracker; | ||
| 289 | |||
| 290 | #endif /* __ID3D12LifetimeTracker_FWD_DEFINED__ */ | ||
| 291 | |||
| 292 | |||
| 293 | #ifndef __ID3D12StateObject_FWD_DEFINED__ | ||
| 294 | #define __ID3D12StateObject_FWD_DEFINED__ | ||
| 295 | typedef interface ID3D12StateObject ID3D12StateObject; | ||
| 296 | |||
| 297 | #endif /* __ID3D12StateObject_FWD_DEFINED__ */ | ||
| 298 | |||
| 299 | |||
| 300 | #ifndef __ID3D12StateObjectProperties_FWD_DEFINED__ | ||
| 301 | #define __ID3D12StateObjectProperties_FWD_DEFINED__ | ||
| 302 | typedef interface ID3D12StateObjectProperties ID3D12StateObjectProperties; | ||
| 303 | |||
| 304 | #endif /* __ID3D12StateObjectProperties_FWD_DEFINED__ */ | ||
| 305 | |||
| 306 | |||
| 307 | #ifndef __ID3D12StateObjectProperties1_FWD_DEFINED__ | ||
| 308 | #define __ID3D12StateObjectProperties1_FWD_DEFINED__ | ||
| 309 | typedef interface ID3D12StateObjectProperties1 ID3D12StateObjectProperties1; | ||
| 310 | |||
| 311 | #endif /* __ID3D12StateObjectProperties1_FWD_DEFINED__ */ | ||
| 312 | |||
| 313 | |||
| 314 | #ifndef __ID3D12StateObjectProperties2_FWD_DEFINED__ | ||
| 315 | #define __ID3D12StateObjectProperties2_FWD_DEFINED__ | ||
| 316 | typedef interface ID3D12StateObjectProperties2 ID3D12StateObjectProperties2; | ||
| 317 | |||
| 318 | #endif /* __ID3D12StateObjectProperties2_FWD_DEFINED__ */ | ||
| 319 | |||
| 320 | |||
| 321 | #ifndef __ID3D12WorkGraphProperties_FWD_DEFINED__ | ||
| 322 | #define __ID3D12WorkGraphProperties_FWD_DEFINED__ | ||
| 323 | typedef interface ID3D12WorkGraphProperties ID3D12WorkGraphProperties; | ||
| 324 | |||
| 325 | #endif /* __ID3D12WorkGraphProperties_FWD_DEFINED__ */ | ||
| 326 | |||
| 327 | |||
| 328 | #ifndef __ID3D12Device5_FWD_DEFINED__ | ||
| 329 | #define __ID3D12Device5_FWD_DEFINED__ | ||
| 330 | typedef interface ID3D12Device5 ID3D12Device5; | ||
| 331 | |||
| 332 | #endif /* __ID3D12Device5_FWD_DEFINED__ */ | ||
| 333 | |||
| 334 | |||
| 335 | #ifndef __ID3D12DeviceRemovedExtendedDataSettings_FWD_DEFINED__ | ||
| 336 | #define __ID3D12DeviceRemovedExtendedDataSettings_FWD_DEFINED__ | ||
| 337 | typedef interface ID3D12DeviceRemovedExtendedDataSettings ID3D12DeviceRemovedExtendedDataSettings; | ||
| 338 | |||
| 339 | #endif /* __ID3D12DeviceRemovedExtendedDataSettings_FWD_DEFINED__ */ | ||
| 340 | |||
| 341 | |||
| 342 | #ifndef __ID3D12DeviceRemovedExtendedDataSettings1_FWD_DEFINED__ | ||
| 343 | #define __ID3D12DeviceRemovedExtendedDataSettings1_FWD_DEFINED__ | ||
| 344 | typedef interface ID3D12DeviceRemovedExtendedDataSettings1 ID3D12DeviceRemovedExtendedDataSettings1; | ||
| 345 | |||
| 346 | #endif /* __ID3D12DeviceRemovedExtendedDataSettings1_FWD_DEFINED__ */ | ||
| 347 | |||
| 348 | |||
| 349 | #ifndef __ID3D12DeviceRemovedExtendedDataSettings2_FWD_DEFINED__ | ||
| 350 | #define __ID3D12DeviceRemovedExtendedDataSettings2_FWD_DEFINED__ | ||
| 351 | typedef interface ID3D12DeviceRemovedExtendedDataSettings2 ID3D12DeviceRemovedExtendedDataSettings2; | ||
| 352 | |||
| 353 | #endif /* __ID3D12DeviceRemovedExtendedDataSettings2_FWD_DEFINED__ */ | ||
| 354 | |||
| 355 | |||
| 356 | #ifndef __ID3D12DeviceRemovedExtendedData_FWD_DEFINED__ | ||
| 357 | #define __ID3D12DeviceRemovedExtendedData_FWD_DEFINED__ | ||
| 358 | typedef interface ID3D12DeviceRemovedExtendedData ID3D12DeviceRemovedExtendedData; | ||
| 359 | |||
| 360 | #endif /* __ID3D12DeviceRemovedExtendedData_FWD_DEFINED__ */ | ||
| 361 | |||
| 362 | |||
| 363 | #ifndef __ID3D12DeviceRemovedExtendedData1_FWD_DEFINED__ | ||
| 364 | #define __ID3D12DeviceRemovedExtendedData1_FWD_DEFINED__ | ||
| 365 | typedef interface ID3D12DeviceRemovedExtendedData1 ID3D12DeviceRemovedExtendedData1; | ||
| 366 | |||
| 367 | #endif /* __ID3D12DeviceRemovedExtendedData1_FWD_DEFINED__ */ | ||
| 368 | |||
| 369 | |||
| 370 | #ifndef __ID3D12DeviceRemovedExtendedData2_FWD_DEFINED__ | ||
| 371 | #define __ID3D12DeviceRemovedExtendedData2_FWD_DEFINED__ | ||
| 372 | typedef interface ID3D12DeviceRemovedExtendedData2 ID3D12DeviceRemovedExtendedData2; | ||
| 373 | |||
| 374 | #endif /* __ID3D12DeviceRemovedExtendedData2_FWD_DEFINED__ */ | ||
| 375 | |||
| 376 | |||
| 377 | #ifndef __ID3D12Device6_FWD_DEFINED__ | ||
| 378 | #define __ID3D12Device6_FWD_DEFINED__ | ||
| 379 | typedef interface ID3D12Device6 ID3D12Device6; | ||
| 380 | |||
| 381 | #endif /* __ID3D12Device6_FWD_DEFINED__ */ | ||
| 382 | |||
| 383 | |||
| 384 | #ifndef __ID3D12ProtectedResourceSession1_FWD_DEFINED__ | ||
| 385 | #define __ID3D12ProtectedResourceSession1_FWD_DEFINED__ | ||
| 386 | typedef interface ID3D12ProtectedResourceSession1 ID3D12ProtectedResourceSession1; | ||
| 387 | |||
| 388 | #endif /* __ID3D12ProtectedResourceSession1_FWD_DEFINED__ */ | ||
| 389 | |||
| 390 | |||
| 391 | #ifndef __ID3D12Device7_FWD_DEFINED__ | ||
| 392 | #define __ID3D12Device7_FWD_DEFINED__ | ||
| 393 | typedef interface ID3D12Device7 ID3D12Device7; | ||
| 394 | |||
| 395 | #endif /* __ID3D12Device7_FWD_DEFINED__ */ | ||
| 396 | |||
| 397 | |||
| 398 | #ifndef __ID3D12Device8_FWD_DEFINED__ | ||
| 399 | #define __ID3D12Device8_FWD_DEFINED__ | ||
| 400 | typedef interface ID3D12Device8 ID3D12Device8; | ||
| 401 | |||
| 402 | #endif /* __ID3D12Device8_FWD_DEFINED__ */ | ||
| 403 | |||
| 404 | |||
| 405 | #ifndef __ID3D12Resource1_FWD_DEFINED__ | ||
| 406 | #define __ID3D12Resource1_FWD_DEFINED__ | ||
| 407 | typedef interface ID3D12Resource1 ID3D12Resource1; | ||
| 408 | |||
| 409 | #endif /* __ID3D12Resource1_FWD_DEFINED__ */ | ||
| 410 | |||
| 411 | |||
| 412 | #ifndef __ID3D12Resource2_FWD_DEFINED__ | ||
| 413 | #define __ID3D12Resource2_FWD_DEFINED__ | ||
| 414 | typedef interface ID3D12Resource2 ID3D12Resource2; | ||
| 415 | |||
| 416 | #endif /* __ID3D12Resource2_FWD_DEFINED__ */ | ||
| 417 | |||
| 418 | |||
| 419 | #ifndef __ID3D12Heap1_FWD_DEFINED__ | ||
| 420 | #define __ID3D12Heap1_FWD_DEFINED__ | ||
| 421 | typedef interface ID3D12Heap1 ID3D12Heap1; | ||
| 422 | |||
| 423 | #endif /* __ID3D12Heap1_FWD_DEFINED__ */ | ||
| 424 | |||
| 425 | |||
| 426 | #ifndef __ID3D12GraphicsCommandList3_FWD_DEFINED__ | ||
| 427 | #define __ID3D12GraphicsCommandList3_FWD_DEFINED__ | ||
| 428 | typedef interface ID3D12GraphicsCommandList3 ID3D12GraphicsCommandList3; | ||
| 429 | |||
| 430 | #endif /* __ID3D12GraphicsCommandList3_FWD_DEFINED__ */ | ||
| 431 | |||
| 432 | |||
| 433 | #ifndef __ID3D12MetaCommand_FWD_DEFINED__ | ||
| 434 | #define __ID3D12MetaCommand_FWD_DEFINED__ | ||
| 435 | typedef interface ID3D12MetaCommand ID3D12MetaCommand; | ||
| 436 | |||
| 437 | #endif /* __ID3D12MetaCommand_FWD_DEFINED__ */ | ||
| 438 | |||
| 439 | |||
| 440 | #ifndef __ID3D12GraphicsCommandList4_FWD_DEFINED__ | ||
| 441 | #define __ID3D12GraphicsCommandList4_FWD_DEFINED__ | ||
| 442 | typedef interface ID3D12GraphicsCommandList4 ID3D12GraphicsCommandList4; | ||
| 443 | |||
| 444 | #endif /* __ID3D12GraphicsCommandList4_FWD_DEFINED__ */ | ||
| 445 | |||
| 446 | |||
| 447 | #ifndef __ID3D12ShaderCacheSession_FWD_DEFINED__ | ||
| 448 | #define __ID3D12ShaderCacheSession_FWD_DEFINED__ | ||
| 449 | typedef interface ID3D12ShaderCacheSession ID3D12ShaderCacheSession; | ||
| 450 | |||
| 451 | #endif /* __ID3D12ShaderCacheSession_FWD_DEFINED__ */ | ||
| 452 | |||
| 453 | |||
| 454 | #ifndef __ID3D12Device9_FWD_DEFINED__ | ||
| 455 | #define __ID3D12Device9_FWD_DEFINED__ | ||
| 456 | typedef interface ID3D12Device9 ID3D12Device9; | ||
| 457 | |||
| 458 | #endif /* __ID3D12Device9_FWD_DEFINED__ */ | ||
| 459 | |||
| 460 | |||
| 461 | #ifndef __ID3D12Device10_FWD_DEFINED__ | ||
| 462 | #define __ID3D12Device10_FWD_DEFINED__ | ||
| 463 | typedef interface ID3D12Device10 ID3D12Device10; | ||
| 464 | |||
| 465 | #endif /* __ID3D12Device10_FWD_DEFINED__ */ | ||
| 466 | |||
| 467 | |||
| 468 | #ifndef __ID3D12Device11_FWD_DEFINED__ | ||
| 469 | #define __ID3D12Device11_FWD_DEFINED__ | ||
| 470 | typedef interface ID3D12Device11 ID3D12Device11; | ||
| 471 | |||
| 472 | #endif /* __ID3D12Device11_FWD_DEFINED__ */ | ||
| 473 | |||
| 474 | |||
| 475 | #ifndef __ID3D12Device12_FWD_DEFINED__ | ||
| 476 | #define __ID3D12Device12_FWD_DEFINED__ | ||
| 477 | typedef interface ID3D12Device12 ID3D12Device12; | ||
| 478 | |||
| 479 | #endif /* __ID3D12Device12_FWD_DEFINED__ */ | ||
| 480 | |||
| 481 | |||
| 482 | #ifndef __ID3D12Device13_FWD_DEFINED__ | ||
| 483 | #define __ID3D12Device13_FWD_DEFINED__ | ||
| 484 | typedef interface ID3D12Device13 ID3D12Device13; | ||
| 485 | |||
| 486 | #endif /* __ID3D12Device13_FWD_DEFINED__ */ | ||
| 487 | |||
| 488 | |||
| 489 | #ifndef __ID3D12Device14_FWD_DEFINED__ | ||
| 490 | #define __ID3D12Device14_FWD_DEFINED__ | ||
| 491 | typedef interface ID3D12Device14 ID3D12Device14; | ||
| 492 | |||
| 493 | #endif /* __ID3D12Device14_FWD_DEFINED__ */ | ||
| 494 | |||
| 495 | |||
| 496 | #ifndef __ID3D12StateObjectDatabase_FWD_DEFINED__ | ||
| 497 | #define __ID3D12StateObjectDatabase_FWD_DEFINED__ | ||
| 498 | typedef interface ID3D12StateObjectDatabase ID3D12StateObjectDatabase; | ||
| 499 | |||
| 500 | #endif /* __ID3D12StateObjectDatabase_FWD_DEFINED__ */ | ||
| 501 | |||
| 502 | |||
| 503 | #ifndef __ID3D12VirtualizationGuestDevice_FWD_DEFINED__ | ||
| 504 | #define __ID3D12VirtualizationGuestDevice_FWD_DEFINED__ | ||
| 505 | typedef interface ID3D12VirtualizationGuestDevice ID3D12VirtualizationGuestDevice; | ||
| 506 | |||
| 507 | #endif /* __ID3D12VirtualizationGuestDevice_FWD_DEFINED__ */ | ||
| 508 | |||
| 509 | |||
| 510 | #ifndef __ID3D12Tools_FWD_DEFINED__ | ||
| 511 | #define __ID3D12Tools_FWD_DEFINED__ | ||
| 512 | typedef interface ID3D12Tools ID3D12Tools; | ||
| 513 | |||
| 514 | #endif /* __ID3D12Tools_FWD_DEFINED__ */ | ||
| 515 | |||
| 516 | |||
| 517 | #ifndef __ID3D12Tools1_FWD_DEFINED__ | ||
| 518 | #define __ID3D12Tools1_FWD_DEFINED__ | ||
| 519 | typedef interface ID3D12Tools1 ID3D12Tools1; | ||
| 520 | |||
| 521 | #endif /* __ID3D12Tools1_FWD_DEFINED__ */ | ||
| 522 | |||
| 523 | |||
| 524 | #ifndef __ID3D12Tools2_FWD_DEFINED__ | ||
| 525 | #define __ID3D12Tools2_FWD_DEFINED__ | ||
| 526 | typedef interface ID3D12Tools2 ID3D12Tools2; | ||
| 527 | |||
| 528 | #endif /* __ID3D12Tools2_FWD_DEFINED__ */ | ||
| 529 | |||
| 530 | |||
| 531 | #ifndef __ID3D12PageableTools_FWD_DEFINED__ | ||
| 532 | #define __ID3D12PageableTools_FWD_DEFINED__ | ||
| 533 | typedef interface ID3D12PageableTools ID3D12PageableTools; | ||
| 534 | |||
| 535 | #endif /* __ID3D12PageableTools_FWD_DEFINED__ */ | ||
| 536 | |||
| 537 | |||
| 538 | #ifndef __ID3D12DeviceTools_FWD_DEFINED__ | ||
| 539 | #define __ID3D12DeviceTools_FWD_DEFINED__ | ||
| 540 | typedef interface ID3D12DeviceTools ID3D12DeviceTools; | ||
| 541 | |||
| 542 | #endif /* __ID3D12DeviceTools_FWD_DEFINED__ */ | ||
| 543 | |||
| 544 | |||
| 545 | #ifndef __ID3D12DeviceTools1_FWD_DEFINED__ | ||
| 546 | #define __ID3D12DeviceTools1_FWD_DEFINED__ | ||
| 547 | typedef interface ID3D12DeviceTools1 ID3D12DeviceTools1; | ||
| 548 | |||
| 549 | #endif /* __ID3D12DeviceTools1_FWD_DEFINED__ */ | ||
| 550 | |||
| 551 | |||
| 552 | #ifndef __ID3D12SDKConfiguration_FWD_DEFINED__ | ||
| 553 | #define __ID3D12SDKConfiguration_FWD_DEFINED__ | ||
| 554 | typedef interface ID3D12SDKConfiguration ID3D12SDKConfiguration; | ||
| 555 | |||
| 556 | #endif /* __ID3D12SDKConfiguration_FWD_DEFINED__ */ | ||
| 557 | |||
| 558 | |||
| 559 | #ifndef __ID3D12SDKConfiguration1_FWD_DEFINED__ | ||
| 560 | #define __ID3D12SDKConfiguration1_FWD_DEFINED__ | ||
| 561 | typedef interface ID3D12SDKConfiguration1 ID3D12SDKConfiguration1; | ||
| 562 | |||
| 563 | #endif /* __ID3D12SDKConfiguration1_FWD_DEFINED__ */ | ||
| 564 | |||
| 565 | |||
| 566 | #ifndef __ID3D12DeviceFactory_FWD_DEFINED__ | ||
| 567 | #define __ID3D12DeviceFactory_FWD_DEFINED__ | ||
| 568 | typedef interface ID3D12DeviceFactory ID3D12DeviceFactory; | ||
| 569 | |||
| 570 | #endif /* __ID3D12DeviceFactory_FWD_DEFINED__ */ | ||
| 571 | |||
| 572 | |||
| 573 | #ifndef __ID3D12DeviceConfiguration_FWD_DEFINED__ | ||
| 574 | #define __ID3D12DeviceConfiguration_FWD_DEFINED__ | ||
| 575 | typedef interface ID3D12DeviceConfiguration ID3D12DeviceConfiguration; | ||
| 576 | |||
| 577 | #endif /* __ID3D12DeviceConfiguration_FWD_DEFINED__ */ | ||
| 578 | |||
| 579 | |||
| 580 | #ifndef __ID3D12DeviceConfiguration1_FWD_DEFINED__ | ||
| 581 | #define __ID3D12DeviceConfiguration1_FWD_DEFINED__ | ||
| 582 | typedef interface ID3D12DeviceConfiguration1 ID3D12DeviceConfiguration1; | ||
| 583 | |||
| 584 | #endif /* __ID3D12DeviceConfiguration1_FWD_DEFINED__ */ | ||
| 585 | |||
| 586 | |||
| 587 | #ifndef __ID3D12StateObjectDatabaseFactory_FWD_DEFINED__ | ||
| 588 | #define __ID3D12StateObjectDatabaseFactory_FWD_DEFINED__ | ||
| 589 | typedef interface ID3D12StateObjectDatabaseFactory ID3D12StateObjectDatabaseFactory; | ||
| 590 | |||
| 591 | #endif /* __ID3D12StateObjectDatabaseFactory_FWD_DEFINED__ */ | ||
| 592 | |||
| 593 | |||
| 594 | #ifndef __ID3D12GraphicsCommandList5_FWD_DEFINED__ | ||
| 595 | #define __ID3D12GraphicsCommandList5_FWD_DEFINED__ | ||
| 596 | typedef interface ID3D12GraphicsCommandList5 ID3D12GraphicsCommandList5; | ||
| 597 | |||
| 598 | #endif /* __ID3D12GraphicsCommandList5_FWD_DEFINED__ */ | ||
| 599 | |||
| 600 | |||
| 601 | #ifndef __ID3D12GraphicsCommandList6_FWD_DEFINED__ | ||
| 602 | #define __ID3D12GraphicsCommandList6_FWD_DEFINED__ | ||
| 603 | typedef interface ID3D12GraphicsCommandList6 ID3D12GraphicsCommandList6; | ||
| 604 | |||
| 605 | #endif /* __ID3D12GraphicsCommandList6_FWD_DEFINED__ */ | ||
| 606 | |||
| 607 | |||
| 608 | #ifndef __ID3D12GraphicsCommandList7_FWD_DEFINED__ | ||
| 609 | #define __ID3D12GraphicsCommandList7_FWD_DEFINED__ | ||
| 610 | typedef interface ID3D12GraphicsCommandList7 ID3D12GraphicsCommandList7; | ||
| 611 | |||
| 612 | #endif /* __ID3D12GraphicsCommandList7_FWD_DEFINED__ */ | ||
| 613 | |||
| 614 | |||
| 615 | #ifndef __ID3D12GraphicsCommandList8_FWD_DEFINED__ | ||
| 616 | #define __ID3D12GraphicsCommandList8_FWD_DEFINED__ | ||
| 617 | typedef interface ID3D12GraphicsCommandList8 ID3D12GraphicsCommandList8; | ||
| 618 | |||
| 619 | #endif /* __ID3D12GraphicsCommandList8_FWD_DEFINED__ */ | ||
| 620 | |||
| 621 | |||
| 622 | #ifndef __ID3D12GraphicsCommandList9_FWD_DEFINED__ | ||
| 623 | #define __ID3D12GraphicsCommandList9_FWD_DEFINED__ | ||
| 624 | typedef interface ID3D12GraphicsCommandList9 ID3D12GraphicsCommandList9; | ||
| 625 | |||
| 626 | #endif /* __ID3D12GraphicsCommandList9_FWD_DEFINED__ */ | ||
| 627 | |||
| 628 | |||
| 629 | #ifndef __ID3D12GraphicsCommandList10_FWD_DEFINED__ | ||
| 630 | #define __ID3D12GraphicsCommandList10_FWD_DEFINED__ | ||
| 631 | typedef interface ID3D12GraphicsCommandList10 ID3D12GraphicsCommandList10; | ||
| 632 | |||
| 633 | #endif /* __ID3D12GraphicsCommandList10_FWD_DEFINED__ */ | ||
| 634 | |||
| 635 | |||
| 636 | #ifndef __ID3D12DSRDeviceFactory_FWD_DEFINED__ | ||
| 637 | #define __ID3D12DSRDeviceFactory_FWD_DEFINED__ | ||
| 638 | typedef interface ID3D12DSRDeviceFactory ID3D12DSRDeviceFactory; | ||
| 639 | |||
| 640 | #endif /* __ID3D12DSRDeviceFactory_FWD_DEFINED__ */ | ||
| 641 | |||
| 642 | |||
| 643 | #ifndef __ID3D12GBVDiagnostics_FWD_DEFINED__ | ||
| 644 | #define __ID3D12GBVDiagnostics_FWD_DEFINED__ | ||
| 645 | typedef interface ID3D12GBVDiagnostics ID3D12GBVDiagnostics; | ||
| 646 | |||
| 647 | #endif /* __ID3D12GBVDiagnostics_FWD_DEFINED__ */ | ||
| 648 | |||
| 649 | |||
| 650 | /* header files for imported files */ | ||
| 651 | #include "oaidl.h" | ||
| 652 | #include "ocidl.h" | ||
| 653 | #include "dxgicommon.h" | ||
| 654 | #include "dxgiformat.h" | ||
| 655 | #include "d3dcommon.h" | ||
| 656 | |||
| 657 | #ifdef __cplusplus | ||
| 658 | extern "C"{ | ||
| 659 | #endif | ||
| 660 | |||
| 661 | |||
| 662 | /* interface __MIDL_itf_d3d12_0000_0000 */ | ||
| 663 | /* [local] */ | ||
| 664 | |||
| 665 | #include <winapifamily.h> | ||
| 666 | #pragma region App Family | ||
| 667 | #if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP | WINAPI_PARTITION_GAMES) | ||
| 668 | #ifndef _D3D12_CONSTANTS | ||
| 669 | #define _D3D12_CONSTANTS | ||
| 670 | #define D3D12_16BIT_INDEX_STRIP_CUT_VALUE ( 0xffff ) | ||
| 671 | |||
| 672 | #define D3D12_32BIT_INDEX_STRIP_CUT_VALUE ( 0xffffffff ) | ||
| 673 | |||
| 674 | #define D3D12_8BIT_INDEX_STRIP_CUT_VALUE ( 0xff ) | ||
| 675 | |||
| 676 | #define D3D12_APPEND_ALIGNED_ELEMENT ( 0xffffffff ) | ||
| 677 | |||
| 678 | #define D3D12_ARRAY_AXIS_ADDRESS_RANGE_BIT_COUNT ( 9 ) | ||
| 679 | |||
| 680 | #define D3D12_CLIP_OR_CULL_DISTANCE_COUNT ( 8 ) | ||
| 681 | |||
| 682 | #define D3D12_CLIP_OR_CULL_DISTANCE_ELEMENT_COUNT ( 2 ) | ||
| 683 | |||
| 684 | #define D3D12_COMMONSHADER_CONSTANT_BUFFER_API_SLOT_COUNT ( 14 ) | ||
| 685 | |||
| 686 | #define D3D12_COMMONSHADER_CONSTANT_BUFFER_COMPONENTS ( 4 ) | ||
| 687 | |||
| 688 | #define D3D12_COMMONSHADER_CONSTANT_BUFFER_COMPONENT_BIT_COUNT ( 32 ) | ||
| 689 | |||
| 690 | #define D3D12_COMMONSHADER_CONSTANT_BUFFER_HW_SLOT_COUNT ( 15 ) | ||
| 691 | |||
| 692 | #define D3D12_COMMONSHADER_CONSTANT_BUFFER_PARTIAL_UPDATE_EXTENTS_BYTE_ALIGNMENT ( 16 ) | ||
| 693 | |||
| 694 | #define D3D12_COMMONSHADER_CONSTANT_BUFFER_REGISTER_COMPONENTS ( 4 ) | ||
| 695 | |||
| 696 | #define D3D12_COMMONSHADER_CONSTANT_BUFFER_REGISTER_COUNT ( 15 ) | ||
| 697 | |||
| 698 | #define D3D12_COMMONSHADER_CONSTANT_BUFFER_REGISTER_READS_PER_INST ( 1 ) | ||
| 699 | |||
| 700 | #define D3D12_COMMONSHADER_CONSTANT_BUFFER_REGISTER_READ_PORTS ( 1 ) | ||
| 701 | |||
| 702 | #define D3D12_COMMONSHADER_FLOWCONTROL_NESTING_LIMIT ( 64 ) | ||
| 703 | |||
| 704 | #define D3D12_COMMONSHADER_IMMEDIATE_CONSTANT_BUFFER_REGISTER_COMPONENTS ( 4 ) | ||
| 705 | |||
| 706 | #define D3D12_COMMONSHADER_IMMEDIATE_CONSTANT_BUFFER_REGISTER_COUNT ( 1 ) | ||
| 707 | |||
| 708 | #define D3D12_COMMONSHADER_IMMEDIATE_CONSTANT_BUFFER_REGISTER_READS_PER_INST ( 1 ) | ||
| 709 | |||
| 710 | #define D3D12_COMMONSHADER_IMMEDIATE_CONSTANT_BUFFER_REGISTER_READ_PORTS ( 1 ) | ||
| 711 | |||
| 712 | #define D3D12_COMMONSHADER_IMMEDIATE_VALUE_COMPONENT_BIT_COUNT ( 32 ) | ||
| 713 | |||
| 714 | #define D3D12_COMMONSHADER_INPUT_RESOURCE_REGISTER_COMPONENTS ( 1 ) | ||
| 715 | |||
| 716 | #define D3D12_COMMONSHADER_INPUT_RESOURCE_REGISTER_COUNT ( 128 ) | ||
| 717 | |||
| 718 | #define D3D12_COMMONSHADER_INPUT_RESOURCE_REGISTER_READS_PER_INST ( 1 ) | ||
| 719 | |||
| 720 | #define D3D12_COMMONSHADER_INPUT_RESOURCE_REGISTER_READ_PORTS ( 1 ) | ||
| 721 | |||
| 722 | #define D3D12_COMMONSHADER_INPUT_RESOURCE_SLOT_COUNT ( 128 ) | ||
| 723 | |||
| 724 | #define D3D12_COMMONSHADER_SAMPLER_REGISTER_COMPONENTS ( 1 ) | ||
| 725 | |||
| 726 | #define D3D12_COMMONSHADER_SAMPLER_REGISTER_COUNT ( 16 ) | ||
| 727 | |||
| 728 | #define D3D12_COMMONSHADER_SAMPLER_REGISTER_READS_PER_INST ( 1 ) | ||
| 729 | |||
| 730 | #define D3D12_COMMONSHADER_SAMPLER_REGISTER_READ_PORTS ( 1 ) | ||
| 731 | |||
| 732 | #define D3D12_COMMONSHADER_SAMPLER_SLOT_COUNT ( 16 ) | ||
| 733 | |||
| 734 | #define D3D12_COMMONSHADER_SUBROUTINE_NESTING_LIMIT ( 32 ) | ||
| 735 | |||
| 736 | #define D3D12_COMMONSHADER_TEMP_REGISTER_COMPONENTS ( 4 ) | ||
| 737 | |||
| 738 | #define D3D12_COMMONSHADER_TEMP_REGISTER_COMPONENT_BIT_COUNT ( 32 ) | ||
| 739 | |||
| 740 | #define D3D12_COMMONSHADER_TEMP_REGISTER_COUNT ( 4096 ) | ||
| 741 | |||
| 742 | #define D3D12_COMMONSHADER_TEMP_REGISTER_READS_PER_INST ( 3 ) | ||
| 743 | |||
| 744 | #define D3D12_COMMONSHADER_TEMP_REGISTER_READ_PORTS ( 3 ) | ||
| 745 | |||
| 746 | #define D3D12_COMMONSHADER_TEXCOORD_RANGE_REDUCTION_MAX ( 10 ) | ||
| 747 | |||
| 748 | #define D3D12_COMMONSHADER_TEXCOORD_RANGE_REDUCTION_MIN ( -10 ) | ||
| 749 | |||
| 750 | #define D3D12_COMMONSHADER_TEXEL_OFFSET_MAX_NEGATIVE ( -8 ) | ||
| 751 | |||
| 752 | #define D3D12_COMMONSHADER_TEXEL_OFFSET_MAX_POSITIVE ( 7 ) | ||
| 753 | |||
| 754 | #define D3D12_CONSTANT_BUFFER_DATA_PLACEMENT_ALIGNMENT ( 256 ) | ||
| 755 | |||
| 756 | #define D3D12_CS_4_X_BUCKET00_MAX_BYTES_TGSM_WRITABLE_PER_THREAD ( 256 ) | ||
| 757 | |||
| 758 | #define D3D12_CS_4_X_BUCKET00_MAX_NUM_THREADS_PER_GROUP ( 64 ) | ||
| 759 | |||
| 760 | #define D3D12_CS_4_X_BUCKET01_MAX_BYTES_TGSM_WRITABLE_PER_THREAD ( 240 ) | ||
| 761 | |||
| 762 | #define D3D12_CS_4_X_BUCKET01_MAX_NUM_THREADS_PER_GROUP ( 68 ) | ||
| 763 | |||
| 764 | #define D3D12_CS_4_X_BUCKET02_MAX_BYTES_TGSM_WRITABLE_PER_THREAD ( 224 ) | ||
| 765 | |||
| 766 | #define D3D12_CS_4_X_BUCKET02_MAX_NUM_THREADS_PER_GROUP ( 72 ) | ||
| 767 | |||
| 768 | #define D3D12_CS_4_X_BUCKET03_MAX_BYTES_TGSM_WRITABLE_PER_THREAD ( 208 ) | ||
| 769 | |||
| 770 | #define D3D12_CS_4_X_BUCKET03_MAX_NUM_THREADS_PER_GROUP ( 76 ) | ||
| 771 | |||
| 772 | #define D3D12_CS_4_X_BUCKET04_MAX_BYTES_TGSM_WRITABLE_PER_THREAD ( 192 ) | ||
| 773 | |||
| 774 | #define D3D12_CS_4_X_BUCKET04_MAX_NUM_THREADS_PER_GROUP ( 84 ) | ||
| 775 | |||
| 776 | #define D3D12_CS_4_X_BUCKET05_MAX_BYTES_TGSM_WRITABLE_PER_THREAD ( 176 ) | ||
| 777 | |||
| 778 | #define D3D12_CS_4_X_BUCKET05_MAX_NUM_THREADS_PER_GROUP ( 92 ) | ||
| 779 | |||
| 780 | #define D3D12_CS_4_X_BUCKET06_MAX_BYTES_TGSM_WRITABLE_PER_THREAD ( 160 ) | ||
| 781 | |||
| 782 | #define D3D12_CS_4_X_BUCKET06_MAX_NUM_THREADS_PER_GROUP ( 100 ) | ||
| 783 | |||
| 784 | #define D3D12_CS_4_X_BUCKET07_MAX_BYTES_TGSM_WRITABLE_PER_THREAD ( 144 ) | ||
| 785 | |||
| 786 | #define D3D12_CS_4_X_BUCKET07_MAX_NUM_THREADS_PER_GROUP ( 112 ) | ||
| 787 | |||
| 788 | #define D3D12_CS_4_X_BUCKET08_MAX_BYTES_TGSM_WRITABLE_PER_THREAD ( 128 ) | ||
| 789 | |||
| 790 | #define D3D12_CS_4_X_BUCKET08_MAX_NUM_THREADS_PER_GROUP ( 128 ) | ||
| 791 | |||
| 792 | #define D3D12_CS_4_X_BUCKET09_MAX_BYTES_TGSM_WRITABLE_PER_THREAD ( 112 ) | ||
| 793 | |||
| 794 | #define D3D12_CS_4_X_BUCKET09_MAX_NUM_THREADS_PER_GROUP ( 144 ) | ||
| 795 | |||
| 796 | #define D3D12_CS_4_X_BUCKET10_MAX_BYTES_TGSM_WRITABLE_PER_THREAD ( 96 ) | ||
| 797 | |||
| 798 | #define D3D12_CS_4_X_BUCKET10_MAX_NUM_THREADS_PER_GROUP ( 168 ) | ||
| 799 | |||
| 800 | #define D3D12_CS_4_X_BUCKET11_MAX_BYTES_TGSM_WRITABLE_PER_THREAD ( 80 ) | ||
| 801 | |||
| 802 | #define D3D12_CS_4_X_BUCKET11_MAX_NUM_THREADS_PER_GROUP ( 204 ) | ||
| 803 | |||
| 804 | #define D3D12_CS_4_X_BUCKET12_MAX_BYTES_TGSM_WRITABLE_PER_THREAD ( 64 ) | ||
| 805 | |||
| 806 | #define D3D12_CS_4_X_BUCKET12_MAX_NUM_THREADS_PER_GROUP ( 256 ) | ||
| 807 | |||
| 808 | #define D3D12_CS_4_X_BUCKET13_MAX_BYTES_TGSM_WRITABLE_PER_THREAD ( 48 ) | ||
| 809 | |||
| 810 | #define D3D12_CS_4_X_BUCKET13_MAX_NUM_THREADS_PER_GROUP ( 340 ) | ||
| 811 | |||
| 812 | #define D3D12_CS_4_X_BUCKET14_MAX_BYTES_TGSM_WRITABLE_PER_THREAD ( 32 ) | ||
| 813 | |||
| 814 | #define D3D12_CS_4_X_BUCKET14_MAX_NUM_THREADS_PER_GROUP ( 512 ) | ||
| 815 | |||
| 816 | #define D3D12_CS_4_X_BUCKET15_MAX_BYTES_TGSM_WRITABLE_PER_THREAD ( 16 ) | ||
| 817 | |||
| 818 | #define D3D12_CS_4_X_BUCKET15_MAX_NUM_THREADS_PER_GROUP ( 768 ) | ||
| 819 | |||
| 820 | #define D3D12_CS_4_X_DISPATCH_MAX_THREAD_GROUPS_IN_Z_DIMENSION ( 1 ) | ||
| 821 | |||
| 822 | #define D3D12_CS_4_X_RAW_UAV_BYTE_ALIGNMENT ( 256 ) | ||
| 823 | |||
| 824 | #define D3D12_CS_4_X_THREAD_GROUP_MAX_THREADS_PER_GROUP ( 768 ) | ||
| 825 | |||
| 826 | #define D3D12_CS_4_X_THREAD_GROUP_MAX_X ( 768 ) | ||
| 827 | |||
| 828 | #define D3D12_CS_4_X_THREAD_GROUP_MAX_Y ( 768 ) | ||
| 829 | |||
| 830 | #define D3D12_CS_4_X_UAV_REGISTER_COUNT ( 1 ) | ||
| 831 | |||
| 832 | #define D3D12_CS_DISPATCH_MAX_THREAD_GROUPS_PER_DIMENSION ( 65535 ) | ||
| 833 | |||
| 834 | #define D3D12_CS_TGSM_REGISTER_COUNT ( 8192 ) | ||
| 835 | |||
| 836 | #define D3D12_CS_TGSM_REGISTER_READS_PER_INST ( 1 ) | ||
| 837 | |||
| 838 | #define D3D12_CS_TGSM_RESOURCE_REGISTER_COMPONENTS ( 1 ) | ||
| 839 | |||
| 840 | #define D3D12_CS_TGSM_RESOURCE_REGISTER_READ_PORTS ( 1 ) | ||
| 841 | |||
| 842 | #define D3D12_CS_THREADGROUPID_REGISTER_COMPONENTS ( 3 ) | ||
| 843 | |||
| 844 | #define D3D12_CS_THREADGROUPID_REGISTER_COUNT ( 1 ) | ||
| 845 | |||
| 846 | #define D3D12_CS_THREADIDINGROUPFLATTENED_REGISTER_COMPONENTS ( 1 ) | ||
| 847 | |||
| 848 | #define D3D12_CS_THREADIDINGROUPFLATTENED_REGISTER_COUNT ( 1 ) | ||
| 849 | |||
| 850 | #define D3D12_CS_THREADIDINGROUP_REGISTER_COMPONENTS ( 3 ) | ||
| 851 | |||
| 852 | #define D3D12_CS_THREADIDINGROUP_REGISTER_COUNT ( 1 ) | ||
| 853 | |||
| 854 | #define D3D12_CS_THREADID_REGISTER_COMPONENTS ( 3 ) | ||
| 855 | |||
| 856 | #define D3D12_CS_THREADID_REGISTER_COUNT ( 1 ) | ||
| 857 | |||
| 858 | #define D3D12_CS_THREAD_GROUP_MAX_THREADS_PER_GROUP ( 1024 ) | ||
| 859 | |||
| 860 | #define D3D12_CS_THREAD_GROUP_MAX_X ( 1024 ) | ||
| 861 | |||
| 862 | #define D3D12_CS_THREAD_GROUP_MAX_Y ( 1024 ) | ||
| 863 | |||
| 864 | #define D3D12_CS_THREAD_GROUP_MAX_Z ( 64 ) | ||
| 865 | |||
| 866 | #define D3D12_CS_THREAD_GROUP_MIN_X ( 1 ) | ||
| 867 | |||
| 868 | #define D3D12_CS_THREAD_GROUP_MIN_Y ( 1 ) | ||
| 869 | |||
| 870 | #define D3D12_CS_THREAD_GROUP_MIN_Z ( 1 ) | ||
| 871 | |||
| 872 | #define D3D12_CS_THREAD_LOCAL_TEMP_REGISTER_POOL ( 16384 ) | ||
| 873 | |||
| 874 | #define D3D12_DEFAULT_BLEND_FACTOR_ALPHA ( 1.0f ) | ||
| 875 | #define D3D12_DEFAULT_BLEND_FACTOR_BLUE ( 1.0f ) | ||
| 876 | #define D3D12_DEFAULT_BLEND_FACTOR_GREEN ( 1.0f ) | ||
| 877 | #define D3D12_DEFAULT_BLEND_FACTOR_RED ( 1.0f ) | ||
| 878 | #define D3D12_DEFAULT_BORDER_COLOR_COMPONENT ( 0.0f ) | ||
| 879 | #define D3D12_DEFAULT_DEPTH_BIAS ( 0 ) | ||
| 880 | |||
| 881 | #define D3D12_DEFAULT_DEPTH_BIAS_CLAMP ( 0.0f ) | ||
| 882 | #define D3D12_DEFAULT_MAX_ANISOTROPY ( 16 ) | ||
| 883 | |||
| 884 | #define D3D12_DEFAULT_MIP_LOD_BIAS ( 0.0f ) | ||
| 885 | #define D3D12_DEFAULT_MSAA_RESOURCE_PLACEMENT_ALIGNMENT ( 4194304 ) | ||
| 886 | |||
| 887 | #define D3D12_DEFAULT_RENDER_TARGET_ARRAY_INDEX ( 0 ) | ||
| 888 | |||
| 889 | #define D3D12_DEFAULT_RESOURCE_PLACEMENT_ALIGNMENT ( 65536 ) | ||
| 890 | |||
| 891 | #define D3D12_DEFAULT_SAMPLE_MASK ( 0xffffffff ) | ||
| 892 | |||
| 893 | #define D3D12_DEFAULT_SCISSOR_ENDX ( 0 ) | ||
| 894 | |||
| 895 | #define D3D12_DEFAULT_SCISSOR_ENDY ( 0 ) | ||
| 896 | |||
| 897 | #define D3D12_DEFAULT_SCISSOR_STARTX ( 0 ) | ||
| 898 | |||
| 899 | #define D3D12_DEFAULT_SCISSOR_STARTY ( 0 ) | ||
| 900 | |||
| 901 | #define D3D12_DEFAULT_SLOPE_SCALED_DEPTH_BIAS ( 0.0f ) | ||
| 902 | #define D3D12_DEFAULT_STENCIL_READ_MASK ( 0xff ) | ||
| 903 | |||
| 904 | #define D3D12_DEFAULT_STENCIL_REFERENCE ( 0 ) | ||
| 905 | |||
| 906 | #define D3D12_DEFAULT_STENCIL_WRITE_MASK ( 0xff ) | ||
| 907 | |||
| 908 | #define D3D12_DEFAULT_VIEWPORT_AND_SCISSORRECT_INDEX ( 0 ) | ||
| 909 | |||
| 910 | #define D3D12_DEFAULT_VIEWPORT_HEIGHT ( 0 ) | ||
| 911 | |||
| 912 | #define D3D12_DEFAULT_VIEWPORT_MAX_DEPTH ( 0.0f ) | ||
| 913 | #define D3D12_DEFAULT_VIEWPORT_MIN_DEPTH ( 0.0f ) | ||
| 914 | #define D3D12_DEFAULT_VIEWPORT_TOPLEFTX ( 0 ) | ||
| 915 | |||
| 916 | #define D3D12_DEFAULT_VIEWPORT_TOPLEFTY ( 0 ) | ||
| 917 | |||
| 918 | #define D3D12_DEFAULT_VIEWPORT_WIDTH ( 0 ) | ||
| 919 | |||
| 920 | #define D3D12_DESCRIPTOR_RANGE_OFFSET_APPEND ( 0xffffffff ) | ||
| 921 | |||
| 922 | #define D3D12_DRIVER_RESERVED_REGISTER_SPACE_VALUES_END ( 0xfffffff7 ) | ||
| 923 | |||
| 924 | #define D3D12_DRIVER_RESERVED_REGISTER_SPACE_VALUES_START ( 0xfffffff0 ) | ||
| 925 | |||
| 926 | #define D3D12_DS_INPUT_CONTROL_POINTS_MAX_TOTAL_SCALARS ( 3968 ) | ||
| 927 | |||
| 928 | #define D3D12_DS_INPUT_CONTROL_POINT_REGISTER_COMPONENTS ( 4 ) | ||
| 929 | |||
| 930 | #define D3D12_DS_INPUT_CONTROL_POINT_REGISTER_COMPONENT_BIT_COUNT ( 32 ) | ||
| 931 | |||
| 932 | #define D3D12_DS_INPUT_CONTROL_POINT_REGISTER_COUNT ( 32 ) | ||
| 933 | |||
| 934 | #define D3D12_DS_INPUT_CONTROL_POINT_REGISTER_READS_PER_INST ( 2 ) | ||
| 935 | |||
| 936 | #define D3D12_DS_INPUT_CONTROL_POINT_REGISTER_READ_PORTS ( 1 ) | ||
| 937 | |||
| 938 | #define D3D12_DS_INPUT_DOMAIN_POINT_REGISTER_COMPONENTS ( 3 ) | ||
| 939 | |||
| 940 | #define D3D12_DS_INPUT_DOMAIN_POINT_REGISTER_COMPONENT_BIT_COUNT ( 32 ) | ||
| 941 | |||
| 942 | #define D3D12_DS_INPUT_DOMAIN_POINT_REGISTER_COUNT ( 1 ) | ||
| 943 | |||
| 944 | #define D3D12_DS_INPUT_DOMAIN_POINT_REGISTER_READS_PER_INST ( 2 ) | ||
| 945 | |||
| 946 | #define D3D12_DS_INPUT_DOMAIN_POINT_REGISTER_READ_PORTS ( 1 ) | ||
| 947 | |||
| 948 | #define D3D12_DS_INPUT_PATCH_CONSTANT_REGISTER_COMPONENTS ( 4 ) | ||
| 949 | |||
| 950 | #define D3D12_DS_INPUT_PATCH_CONSTANT_REGISTER_COMPONENT_BIT_COUNT ( 32 ) | ||
| 951 | |||
| 952 | #define D3D12_DS_INPUT_PATCH_CONSTANT_REGISTER_COUNT ( 32 ) | ||
| 953 | |||
| 954 | #define D3D12_DS_INPUT_PATCH_CONSTANT_REGISTER_READS_PER_INST ( 2 ) | ||
| 955 | |||
| 956 | #define D3D12_DS_INPUT_PATCH_CONSTANT_REGISTER_READ_PORTS ( 1 ) | ||
| 957 | |||
| 958 | #define D3D12_DS_INPUT_PRIMITIVE_ID_REGISTER_COMPONENTS ( 1 ) | ||
| 959 | |||
| 960 | #define D3D12_DS_INPUT_PRIMITIVE_ID_REGISTER_COMPONENT_BIT_COUNT ( 32 ) | ||
| 961 | |||
| 962 | #define D3D12_DS_INPUT_PRIMITIVE_ID_REGISTER_COUNT ( 1 ) | ||
| 963 | |||
| 964 | #define D3D12_DS_INPUT_PRIMITIVE_ID_REGISTER_READS_PER_INST ( 2 ) | ||
| 965 | |||
| 966 | #define D3D12_DS_INPUT_PRIMITIVE_ID_REGISTER_READ_PORTS ( 1 ) | ||
| 967 | |||
| 968 | #define D3D12_DS_OUTPUT_REGISTER_COMPONENTS ( 4 ) | ||
| 969 | |||
| 970 | #define D3D12_DS_OUTPUT_REGISTER_COMPONENT_BIT_COUNT ( 32 ) | ||
| 971 | |||
| 972 | #define D3D12_DS_OUTPUT_REGISTER_COUNT ( 32 ) | ||
| 973 | |||
| 974 | #define D3D12_FLOAT16_FUSED_TOLERANCE_IN_ULP ( 0.6 ) | ||
| 975 | #define D3D12_FLOAT32_MAX ( 3.402823466e+38f ) | ||
| 976 | #define D3D12_FLOAT32_TO_INTEGER_TOLERANCE_IN_ULP ( 0.6f ) | ||
| 977 | #define D3D12_FLOAT_TO_SRGB_EXPONENT_DENOMINATOR ( 2.4f ) | ||
| 978 | #define D3D12_FLOAT_TO_SRGB_EXPONENT_NUMERATOR ( 1.0f ) | ||
| 979 | #define D3D12_FLOAT_TO_SRGB_OFFSET ( 0.055f ) | ||
| 980 | #define D3D12_FLOAT_TO_SRGB_SCALE_1 ( 12.92f ) | ||
| 981 | #define D3D12_FLOAT_TO_SRGB_SCALE_2 ( 1.055f ) | ||
| 982 | #define D3D12_FLOAT_TO_SRGB_THRESHOLD ( 0.0031308f ) | ||
| 983 | #define D3D12_FTOI_INSTRUCTION_MAX_INPUT ( 2147483647.999f ) | ||
| 984 | #define D3D12_FTOI_INSTRUCTION_MIN_INPUT ( -2147483648.999f ) | ||
| 985 | #define D3D12_FTOU_INSTRUCTION_MAX_INPUT ( 4294967295.999f ) | ||
| 986 | #define D3D12_FTOU_INSTRUCTION_MIN_INPUT ( 0.0f ) | ||
| 987 | #define D3D12_GS_INPUT_INSTANCE_ID_READS_PER_INST ( 2 ) | ||
| 988 | |||
| 989 | #define D3D12_GS_INPUT_INSTANCE_ID_READ_PORTS ( 1 ) | ||
| 990 | |||
| 991 | #define D3D12_GS_INPUT_INSTANCE_ID_REGISTER_COMPONENTS ( 1 ) | ||
| 992 | |||
| 993 | #define D3D12_GS_INPUT_INSTANCE_ID_REGISTER_COMPONENT_BIT_COUNT ( 32 ) | ||
| 994 | |||
| 995 | #define D3D12_GS_INPUT_INSTANCE_ID_REGISTER_COUNT ( 1 ) | ||
| 996 | |||
| 997 | #define D3D12_GS_INPUT_PRIM_CONST_REGISTER_COMPONENTS ( 1 ) | ||
| 998 | |||
| 999 | #define D3D12_GS_INPUT_PRIM_CONST_REGISTER_COMPONENT_BIT_COUNT ( 32 ) | ||
| 1000 | |||
| 1001 | #define D3D12_GS_INPUT_PRIM_CONST_REGISTER_COUNT ( 1 ) | ||
| 1002 | |||
| 1003 | #define D3D12_GS_INPUT_PRIM_CONST_REGISTER_READS_PER_INST ( 2 ) | ||
| 1004 | |||
| 1005 | #define D3D12_GS_INPUT_PRIM_CONST_REGISTER_READ_PORTS ( 1 ) | ||
| 1006 | |||
| 1007 | #define D3D12_GS_INPUT_REGISTER_COMPONENTS ( 4 ) | ||
| 1008 | |||
| 1009 | #define D3D12_GS_INPUT_REGISTER_COMPONENT_BIT_COUNT ( 32 ) | ||
| 1010 | |||
| 1011 | #define D3D12_GS_INPUT_REGISTER_COUNT ( 32 ) | ||
| 1012 | |||
| 1013 | #define D3D12_GS_INPUT_REGISTER_READS_PER_INST ( 2 ) | ||
| 1014 | |||
| 1015 | #define D3D12_GS_INPUT_REGISTER_READ_PORTS ( 1 ) | ||
| 1016 | |||
| 1017 | #define D3D12_GS_INPUT_REGISTER_VERTICES ( 32 ) | ||
| 1018 | |||
| 1019 | #define D3D12_GS_MAX_INSTANCE_COUNT ( 32 ) | ||
| 1020 | |||
| 1021 | #define D3D12_GS_MAX_OUTPUT_VERTEX_COUNT_ACROSS_INSTANCES ( 1024 ) | ||
| 1022 | |||
| 1023 | #define D3D12_GS_OUTPUT_ELEMENTS ( 32 ) | ||
| 1024 | |||
| 1025 | #define D3D12_GS_OUTPUT_REGISTER_COMPONENTS ( 4 ) | ||
| 1026 | |||
| 1027 | #define D3D12_GS_OUTPUT_REGISTER_COMPONENT_BIT_COUNT ( 32 ) | ||
| 1028 | |||
| 1029 | #define D3D12_GS_OUTPUT_REGISTER_COUNT ( 32 ) | ||
| 1030 | |||
| 1031 | #define D3D12_HS_CONTROL_POINT_PHASE_INPUT_REGISTER_COUNT ( 32 ) | ||
| 1032 | |||
| 1033 | #define D3D12_HS_CONTROL_POINT_PHASE_OUTPUT_REGISTER_COUNT ( 32 ) | ||
| 1034 | |||
| 1035 | #define D3D12_HS_CONTROL_POINT_REGISTER_COMPONENTS ( 4 ) | ||
| 1036 | |||
| 1037 | #define D3D12_HS_CONTROL_POINT_REGISTER_COMPONENT_BIT_COUNT ( 32 ) | ||
| 1038 | |||
| 1039 | #define D3D12_HS_CONTROL_POINT_REGISTER_READS_PER_INST ( 2 ) | ||
| 1040 | |||
| 1041 | #define D3D12_HS_CONTROL_POINT_REGISTER_READ_PORTS ( 1 ) | ||
| 1042 | |||
| 1043 | #define D3D12_HS_FORK_PHASE_INSTANCE_COUNT_UPPER_BOUND ( 0xffffffff ) | ||
| 1044 | |||
| 1045 | #define D3D12_HS_INPUT_FORK_INSTANCE_ID_REGISTER_COMPONENTS ( 1 ) | ||
| 1046 | |||
| 1047 | #define D3D12_HS_INPUT_FORK_INSTANCE_ID_REGISTER_COMPONENT_BIT_COUNT ( 32 ) | ||
| 1048 | |||
| 1049 | #define D3D12_HS_INPUT_FORK_INSTANCE_ID_REGISTER_COUNT ( 1 ) | ||
| 1050 | |||
| 1051 | #define D3D12_HS_INPUT_FORK_INSTANCE_ID_REGISTER_READS_PER_INST ( 2 ) | ||
| 1052 | |||
| 1053 | #define D3D12_HS_INPUT_FORK_INSTANCE_ID_REGISTER_READ_PORTS ( 1 ) | ||
| 1054 | |||
| 1055 | #define D3D12_HS_INPUT_JOIN_INSTANCE_ID_REGISTER_COMPONENTS ( 1 ) | ||
| 1056 | |||
| 1057 | #define D3D12_HS_INPUT_JOIN_INSTANCE_ID_REGISTER_COMPONENT_BIT_COUNT ( 32 ) | ||
| 1058 | |||
| 1059 | #define D3D12_HS_INPUT_JOIN_INSTANCE_ID_REGISTER_COUNT ( 1 ) | ||
| 1060 | |||
| 1061 | #define D3D12_HS_INPUT_JOIN_INSTANCE_ID_REGISTER_READS_PER_INST ( 2 ) | ||
| 1062 | |||
| 1063 | #define D3D12_HS_INPUT_JOIN_INSTANCE_ID_REGISTER_READ_PORTS ( 1 ) | ||
| 1064 | |||
| 1065 | #define D3D12_HS_INPUT_PRIMITIVE_ID_REGISTER_COMPONENTS ( 1 ) | ||
| 1066 | |||
| 1067 | #define D3D12_HS_INPUT_PRIMITIVE_ID_REGISTER_COMPONENT_BIT_COUNT ( 32 ) | ||
| 1068 | |||
| 1069 | #define D3D12_HS_INPUT_PRIMITIVE_ID_REGISTER_COUNT ( 1 ) | ||
| 1070 | |||
| 1071 | #define D3D12_HS_INPUT_PRIMITIVE_ID_REGISTER_READS_PER_INST ( 2 ) | ||
| 1072 | |||
| 1073 | #define D3D12_HS_INPUT_PRIMITIVE_ID_REGISTER_READ_PORTS ( 1 ) | ||
| 1074 | |||
| 1075 | #define D3D12_HS_JOIN_PHASE_INSTANCE_COUNT_UPPER_BOUND ( 0xffffffff ) | ||
| 1076 | |||
| 1077 | #define D3D12_HS_MAXTESSFACTOR_LOWER_BOUND ( 1.0f ) | ||
| 1078 | #define D3D12_HS_MAXTESSFACTOR_UPPER_BOUND ( 64.0f ) | ||
| 1079 | #define D3D12_HS_OUTPUT_CONTROL_POINTS_MAX_TOTAL_SCALARS ( 3968 ) | ||
| 1080 | |||
| 1081 | #define D3D12_HS_OUTPUT_CONTROL_POINT_ID_REGISTER_COMPONENTS ( 1 ) | ||
| 1082 | |||
| 1083 | #define D3D12_HS_OUTPUT_CONTROL_POINT_ID_REGISTER_COMPONENT_BIT_COUNT ( 32 ) | ||
| 1084 | |||
| 1085 | #define D3D12_HS_OUTPUT_CONTROL_POINT_ID_REGISTER_COUNT ( 1 ) | ||
| 1086 | |||
| 1087 | #define D3D12_HS_OUTPUT_CONTROL_POINT_ID_REGISTER_READS_PER_INST ( 2 ) | ||
| 1088 | |||
| 1089 | #define D3D12_HS_OUTPUT_CONTROL_POINT_ID_REGISTER_READ_PORTS ( 1 ) | ||
| 1090 | |||
| 1091 | #define D3D12_HS_OUTPUT_PATCH_CONSTANT_REGISTER_COMPONENTS ( 4 ) | ||
| 1092 | |||
| 1093 | #define D3D12_HS_OUTPUT_PATCH_CONSTANT_REGISTER_COMPONENT_BIT_COUNT ( 32 ) | ||
| 1094 | |||
| 1095 | #define D3D12_HS_OUTPUT_PATCH_CONSTANT_REGISTER_COUNT ( 32 ) | ||
| 1096 | |||
| 1097 | #define D3D12_HS_OUTPUT_PATCH_CONSTANT_REGISTER_READS_PER_INST ( 2 ) | ||
| 1098 | |||
| 1099 | #define D3D12_HS_OUTPUT_PATCH_CONSTANT_REGISTER_READ_PORTS ( 1 ) | ||
| 1100 | |||
| 1101 | #define D3D12_HS_OUTPUT_PATCH_CONSTANT_REGISTER_SCALAR_COMPONENTS ( 128 ) | ||
| 1102 | |||
| 1103 | #define D3D12_IA_DEFAULT_INDEX_BUFFER_OFFSET_IN_BYTES ( 0 ) | ||
| 1104 | |||
| 1105 | #define D3D12_IA_DEFAULT_PRIMITIVE_TOPOLOGY ( 0 ) | ||
| 1106 | |||
| 1107 | #define D3D12_IA_DEFAULT_VERTEX_BUFFER_OFFSET_IN_BYTES ( 0 ) | ||
| 1108 | |||
| 1109 | #define D3D12_IA_INDEX_INPUT_RESOURCE_SLOT_COUNT ( 1 ) | ||
| 1110 | |||
| 1111 | #define D3D12_IA_INSTANCE_ID_BIT_COUNT ( 32 ) | ||
| 1112 | |||
| 1113 | #define D3D12_IA_INTEGER_ARITHMETIC_BIT_COUNT ( 32 ) | ||
| 1114 | |||
| 1115 | #define D3D12_IA_PATCH_MAX_CONTROL_POINT_COUNT ( 32 ) | ||
| 1116 | |||
| 1117 | #define D3D12_IA_PRIMITIVE_ID_BIT_COUNT ( 32 ) | ||
| 1118 | |||
| 1119 | #define D3D12_IA_VERTEX_ID_BIT_COUNT ( 32 ) | ||
| 1120 | |||
| 1121 | #define D3D12_IA_VERTEX_INPUT_RESOURCE_SLOT_COUNT ( 32 ) | ||
| 1122 | |||
| 1123 | #define D3D12_IA_VERTEX_INPUT_STRUCTURE_ELEMENTS_COMPONENTS ( 128 ) | ||
| 1124 | |||
| 1125 | #define D3D12_IA_VERTEX_INPUT_STRUCTURE_ELEMENT_COUNT ( 32 ) | ||
| 1126 | |||
| 1127 | #define D3D12_INTEGER_DIVIDE_BY_ZERO_QUOTIENT ( 0xffffffff ) | ||
| 1128 | |||
| 1129 | #define D3D12_INTEGER_DIVIDE_BY_ZERO_REMAINDER ( 0xffffffff ) | ||
| 1130 | |||
| 1131 | #define D3D12_KEEP_RENDER_TARGETS_AND_DEPTH_STENCIL ( 0xffffffff ) | ||
| 1132 | |||
| 1133 | #define D3D12_KEEP_UNORDERED_ACCESS_VIEWS ( 0xffffffff ) | ||
| 1134 | |||
| 1135 | #define D3D12_LINEAR_GAMMA ( 1.0f ) | ||
| 1136 | #define D3D12_MAJOR_VERSION ( 12 ) | ||
| 1137 | |||
| 1138 | #define D3D12_MAX_BORDER_COLOR_COMPONENT ( 1.0f ) | ||
| 1139 | #define D3D12_MAX_DEPTH ( 1.0f ) | ||
| 1140 | #define D3D12_MAX_LIVE_STATIC_SAMPLERS ( 2032 ) | ||
| 1141 | |||
| 1142 | #define D3D12_MAX_MAXANISOTROPY ( 16 ) | ||
| 1143 | |||
| 1144 | #define D3D12_MAX_MULTISAMPLE_SAMPLE_COUNT ( 32 ) | ||
| 1145 | |||
| 1146 | #define D3D12_MAX_POSITION_VALUE ( 3.402823466e+34f ) | ||
| 1147 | #define D3D12_MAX_ROOT_COST ( 64 ) | ||
| 1148 | |||
| 1149 | #define D3D12_MAX_SHADER_VISIBLE_DESCRIPTOR_HEAP_SIZE_TIER_1 ( 1000000 ) | ||
| 1150 | |||
| 1151 | #define D3D12_MAX_SHADER_VISIBLE_DESCRIPTOR_HEAP_SIZE_TIER_2 ( 1000000 ) | ||
| 1152 | |||
| 1153 | #define D3D12_MAX_SHADER_VISIBLE_SAMPLER_HEAP_SIZE ( 2048 ) | ||
| 1154 | |||
| 1155 | #define D3D12_MAX_TEXTURE_DIMENSION_2_TO_EXP ( 17 ) | ||
| 1156 | |||
| 1157 | #define D3D12_MAX_VIEW_INSTANCE_COUNT ( 4 ) | ||
| 1158 | |||
| 1159 | #define D3D12_MINOR_VERSION ( 0 ) | ||
| 1160 | |||
| 1161 | #define D3D12_MIN_BORDER_COLOR_COMPONENT ( 0.0f ) | ||
| 1162 | #define D3D12_MIN_DEPTH ( 0.0f ) | ||
| 1163 | #define D3D12_MIN_MAXANISOTROPY ( 0 ) | ||
| 1164 | |||
| 1165 | #define D3D12_MIP_LOD_BIAS_MAX ( 15.99f ) | ||
| 1166 | #define D3D12_MIP_LOD_BIAS_MIN ( -16.0f ) | ||
| 1167 | #define D3D12_MIP_LOD_FRACTIONAL_BIT_COUNT ( 8 ) | ||
| 1168 | |||
| 1169 | #define D3D12_MIP_LOD_RANGE_BIT_COUNT ( 8 ) | ||
| 1170 | |||
| 1171 | #define D3D12_MS_DISPATCH_MAX_THREAD_GROUPS_PER_GRID ( 4194303 ) | ||
| 1172 | |||
| 1173 | #define D3D12_MULTISAMPLE_ANTIALIAS_LINE_WIDTH ( 1.4f ) | ||
| 1174 | #define D3D12_NONSAMPLE_FETCH_OUT_OF_RANGE_ACCESS_RESULT ( 0 ) | ||
| 1175 | |||
| 1176 | #define D3D12_OS_RESERVED_REGISTER_SPACE_VALUES_END ( 0xffffffff ) | ||
| 1177 | |||
| 1178 | #define D3D12_OS_RESERVED_REGISTER_SPACE_VALUES_START ( 0xfffffff8 ) | ||
| 1179 | |||
| 1180 | #define D3D12_PACKED_TILE ( 0xffffffff ) | ||
| 1181 | |||
| 1182 | #define D3D12_PIXEL_ADDRESS_RANGE_BIT_COUNT ( 15 ) | ||
| 1183 | |||
| 1184 | #define D3D12_PREVIEW_SDK_VERSION ( 717 ) | ||
| 1185 | |||
| 1186 | #define D3D12_PRE_SCISSOR_PIXEL_ADDRESS_RANGE_BIT_COUNT ( 16 ) | ||
| 1187 | |||
| 1188 | #define D3D12_PS_CS_UAV_REGISTER_COMPONENTS ( 1 ) | ||
| 1189 | |||
| 1190 | #define D3D12_PS_CS_UAV_REGISTER_COUNT ( 8 ) | ||
| 1191 | |||
| 1192 | #define D3D12_PS_CS_UAV_REGISTER_READS_PER_INST ( 1 ) | ||
| 1193 | |||
| 1194 | #define D3D12_PS_CS_UAV_REGISTER_READ_PORTS ( 1 ) | ||
| 1195 | |||
| 1196 | #define D3D12_PS_FRONTFACING_DEFAULT_VALUE ( 0xffffffff ) | ||
| 1197 | |||
| 1198 | #define D3D12_PS_FRONTFACING_FALSE_VALUE ( 0 ) | ||
| 1199 | |||
| 1200 | #define D3D12_PS_FRONTFACING_TRUE_VALUE ( 0xffffffff ) | ||
| 1201 | |||
| 1202 | #define D3D12_PS_INPUT_REGISTER_COMPONENTS ( 4 ) | ||
| 1203 | |||
| 1204 | #define D3D12_PS_INPUT_REGISTER_COMPONENT_BIT_COUNT ( 32 ) | ||
| 1205 | |||
| 1206 | #define D3D12_PS_INPUT_REGISTER_COUNT ( 32 ) | ||
| 1207 | |||
| 1208 | #define D3D12_PS_INPUT_REGISTER_READS_PER_INST ( 2 ) | ||
| 1209 | |||
| 1210 | #define D3D12_PS_INPUT_REGISTER_READ_PORTS ( 1 ) | ||
| 1211 | |||
| 1212 | #define D3D12_PS_LEGACY_PIXEL_CENTER_FRACTIONAL_COMPONENT ( 0.0f ) | ||
| 1213 | #define D3D12_PS_OUTPUT_DEPTH_REGISTER_COMPONENTS ( 1 ) | ||
| 1214 | |||
| 1215 | #define D3D12_PS_OUTPUT_DEPTH_REGISTER_COMPONENT_BIT_COUNT ( 32 ) | ||
| 1216 | |||
| 1217 | #define D3D12_PS_OUTPUT_DEPTH_REGISTER_COUNT ( 1 ) | ||
| 1218 | |||
| 1219 | #define D3D12_PS_OUTPUT_MASK_REGISTER_COMPONENTS ( 1 ) | ||
| 1220 | |||
| 1221 | #define D3D12_PS_OUTPUT_MASK_REGISTER_COMPONENT_BIT_COUNT ( 32 ) | ||
| 1222 | |||
| 1223 | #define D3D12_PS_OUTPUT_MASK_REGISTER_COUNT ( 1 ) | ||
| 1224 | |||
| 1225 | #define D3D12_PS_OUTPUT_REGISTER_COMPONENTS ( 4 ) | ||
| 1226 | |||
| 1227 | #define D3D12_PS_OUTPUT_REGISTER_COMPONENT_BIT_COUNT ( 32 ) | ||
| 1228 | |||
| 1229 | #define D3D12_PS_OUTPUT_REGISTER_COUNT ( 8 ) | ||
| 1230 | |||
| 1231 | #define D3D12_PS_PIXEL_CENTER_FRACTIONAL_COMPONENT ( 0.5f ) | ||
| 1232 | #define D3D12_RAW_UAV_SRV_BYTE_ALIGNMENT ( 16 ) | ||
| 1233 | |||
| 1234 | #define D3D12_RAYTRACING_AABB_BYTE_ALIGNMENT ( 8 ) | ||
| 1235 | |||
| 1236 | #define D3D12_RAYTRACING_ACCELERATION_STRUCTURE_BYTE_ALIGNMENT ( 256 ) | ||
| 1237 | |||
| 1238 | #define D3D12_RAYTRACING_INSTANCE_DESCS_BYTE_ALIGNMENT ( 16 ) | ||
| 1239 | |||
| 1240 | #define D3D12_RAYTRACING_MAX_ATTRIBUTE_SIZE_IN_BYTES ( 32 ) | ||
| 1241 | |||
| 1242 | #define D3D12_RAYTRACING_MAX_DECLARABLE_TRACE_RECURSION_DEPTH ( 31 ) | ||
| 1243 | |||
| 1244 | #define D3D12_RAYTRACING_MAX_GEOMETRIES_PER_BOTTOM_LEVEL_ACCELERATION_STRUCTURE ( 16777216 ) | ||
| 1245 | |||
| 1246 | #define D3D12_RAYTRACING_MAX_INSTANCES_PER_TOP_LEVEL_ACCELERATION_STRUCTURE ( 16777216 ) | ||
| 1247 | |||
| 1248 | #define D3D12_RAYTRACING_MAX_PRIMITIVES_PER_BOTTOM_LEVEL_ACCELERATION_STRUCTURE ( 536870912 ) | ||
| 1249 | |||
| 1250 | #define D3D12_RAYTRACING_MAX_RAY_GENERATION_SHADER_THREADS ( 1073741824 ) | ||
| 1251 | |||
| 1252 | #define D3D12_RAYTRACING_MAX_SHADER_RECORD_STRIDE ( 4096 ) | ||
| 1253 | |||
| 1254 | #define D3D12_RAYTRACING_OPACITY_MICROMAP_ARRAY_BYTE_ALIGNMENT ( 128 ) | ||
| 1255 | |||
| 1256 | #define D3D12_RAYTRACING_OPACITY_MICROMAP_OC1_MAX_SUBDIVISION_LEVEL ( 12 ) | ||
| 1257 | |||
| 1258 | #define D3D12_RAYTRACING_SHADER_RECORD_BYTE_ALIGNMENT ( 32 ) | ||
| 1259 | |||
| 1260 | #define D3D12_RAYTRACING_SHADER_TABLE_BYTE_ALIGNMENT ( 64 ) | ||
| 1261 | |||
| 1262 | #define D3D12_RAYTRACING_TRANSFORM3X4_BYTE_ALIGNMENT ( 16 ) | ||
| 1263 | |||
| 1264 | #define D3D12_REQ_BLEND_OBJECT_COUNT_PER_DEVICE ( 4096 ) | ||
| 1265 | |||
| 1266 | #define D3D12_REQ_BUFFER_RESOURCE_TEXEL_COUNT_2_TO_EXP ( 27 ) | ||
| 1267 | |||
| 1268 | #define D3D12_REQ_CONSTANT_BUFFER_ELEMENT_COUNT ( 4096 ) | ||
| 1269 | |||
| 1270 | #define D3D12_REQ_DEPTH_STENCIL_OBJECT_COUNT_PER_DEVICE ( 4096 ) | ||
| 1271 | |||
| 1272 | #define D3D12_REQ_DRAWINDEXED_INDEX_COUNT_2_TO_EXP ( 32 ) | ||
| 1273 | |||
| 1274 | #define D3D12_REQ_DRAW_VERTEX_COUNT_2_TO_EXP ( 32 ) | ||
| 1275 | |||
| 1276 | #define D3D12_REQ_FILTERING_HW_ADDRESSABLE_RESOURCE_DIMENSION ( 16384 ) | ||
| 1277 | |||
| 1278 | #define D3D12_REQ_GS_INVOCATION_32BIT_OUTPUT_COMPONENT_LIMIT ( 1024 ) | ||
| 1279 | |||
| 1280 | #define D3D12_REQ_IMMEDIATE_CONSTANT_BUFFER_ELEMENT_COUNT ( 4096 ) | ||
| 1281 | |||
| 1282 | #define D3D12_REQ_MAXANISOTROPY ( 16 ) | ||
| 1283 | |||
| 1284 | #define D3D12_REQ_MIP_LEVELS ( 15 ) | ||
| 1285 | |||
| 1286 | #define D3D12_REQ_MULTI_ELEMENT_STRUCTURE_SIZE_IN_BYTES ( 2048 ) | ||
| 1287 | |||
| 1288 | #define D3D12_REQ_RASTERIZER_OBJECT_COUNT_PER_DEVICE ( 4096 ) | ||
| 1289 | |||
| 1290 | #define D3D12_REQ_RENDER_TO_BUFFER_WINDOW_WIDTH ( 16384 ) | ||
| 1291 | |||
| 1292 | #define D3D12_REQ_RESOURCE_SIZE_IN_MEGABYTES_EXPRESSION_A_TERM ( 128 ) | ||
| 1293 | |||
| 1294 | #define D3D12_REQ_RESOURCE_SIZE_IN_MEGABYTES_EXPRESSION_B_TERM ( 0.25f ) | ||
| 1295 | #define D3D12_REQ_RESOURCE_SIZE_IN_MEGABYTES_EXPRESSION_C_TERM ( 2048 ) | ||
| 1296 | |||
| 1297 | #define D3D12_REQ_RESOURCE_VIEW_COUNT_PER_DEVICE_2_TO_EXP ( 20 ) | ||
| 1298 | |||
| 1299 | #define D3D12_REQ_SAMPLER_OBJECT_COUNT_PER_DEVICE ( 4096 ) | ||
| 1300 | |||
| 1301 | #define D3D12_REQ_SUBRESOURCES ( 30720 ) | ||
| 1302 | |||
| 1303 | #define D3D12_REQ_TEXTURE1D_ARRAY_AXIS_DIMENSION ( 2048 ) | ||
| 1304 | |||
| 1305 | #define D3D12_REQ_TEXTURE1D_U_DIMENSION ( 16384 ) | ||
| 1306 | |||
| 1307 | #define D3D12_REQ_TEXTURE2D_ARRAY_AXIS_DIMENSION ( 2048 ) | ||
| 1308 | |||
| 1309 | #define D3D12_REQ_TEXTURE2D_U_OR_V_DIMENSION ( 16384 ) | ||
| 1310 | |||
| 1311 | #define D3D12_REQ_TEXTURE3D_U_V_OR_W_DIMENSION ( 2048 ) | ||
| 1312 | |||
| 1313 | #define D3D12_REQ_TEXTURECUBE_DIMENSION ( 16384 ) | ||
| 1314 | |||
| 1315 | #define D3D12_RESINFO_INSTRUCTION_MISSING_COMPONENT_RETVAL ( 0 ) | ||
| 1316 | |||
| 1317 | #define D3D12_RESOURCE_BARRIER_ALL_SUBRESOURCES ( 0xffffffff ) | ||
| 1318 | |||
| 1319 | #define D3D12_RS_SET_SHADING_RATE_COMBINER_COUNT ( 2 ) | ||
| 1320 | |||
| 1321 | #define D3D12_SDK_VERSION ( 618 ) | ||
| 1322 | |||
| 1323 | #define D3D12_SHADER_IDENTIFIER_SIZE_IN_BYTES ( 32 ) | ||
| 1324 | |||
| 1325 | #define D3D12_SHADER_MAJOR_VERSION ( 5 ) | ||
| 1326 | |||
| 1327 | #define D3D12_SHADER_MAX_INSTANCES ( 65535 ) | ||
| 1328 | |||
| 1329 | #define D3D12_SHADER_MAX_INTERFACES ( 253 ) | ||
| 1330 | |||
| 1331 | #define D3D12_SHADER_MAX_INTERFACE_CALL_SITES ( 4096 ) | ||
| 1332 | |||
| 1333 | #define D3D12_SHADER_MAX_TYPES ( 65535 ) | ||
| 1334 | |||
| 1335 | #define D3D12_SHADER_MINOR_VERSION ( 1 ) | ||
| 1336 | |||
| 1337 | #define D3D12_SHIFT_INSTRUCTION_PAD_VALUE ( 0 ) | ||
| 1338 | |||
| 1339 | #define D3D12_SHIFT_INSTRUCTION_SHIFT_VALUE_BIT_COUNT ( 5 ) | ||
| 1340 | |||
| 1341 | #define D3D12_SIMULTANEOUS_RENDER_TARGET_COUNT ( 8 ) | ||
| 1342 | |||
| 1343 | #define D3D12_SMALL_MSAA_RESOURCE_PLACEMENT_ALIGNMENT ( 65536 ) | ||
| 1344 | |||
| 1345 | #define D3D12_SMALL_RESOURCE_PLACEMENT_ALIGNMENT ( 4096 ) | ||
| 1346 | |||
| 1347 | #define D3D12_SO_BUFFER_MAX_STRIDE_IN_BYTES ( 2048 ) | ||
| 1348 | |||
| 1349 | #define D3D12_SO_BUFFER_MAX_WRITE_WINDOW_IN_BYTES ( 512 ) | ||
| 1350 | |||
| 1351 | #define D3D12_SO_BUFFER_SLOT_COUNT ( 4 ) | ||
| 1352 | |||
| 1353 | #define D3D12_SO_DDI_REGISTER_INDEX_DENOTING_GAP ( 0xffffffff ) | ||
| 1354 | |||
| 1355 | #define D3D12_SO_NO_RASTERIZED_STREAM ( 0xffffffff ) | ||
| 1356 | |||
| 1357 | #define D3D12_SO_OUTPUT_COMPONENT_COUNT ( 128 ) | ||
| 1358 | |||
| 1359 | #define D3D12_SO_STREAM_COUNT ( 4 ) | ||
| 1360 | |||
| 1361 | #define D3D12_SPEC_DATE_DAY ( 14 ) | ||
| 1362 | |||
| 1363 | #define D3D12_SPEC_DATE_MONTH ( 11 ) | ||
| 1364 | |||
| 1365 | #define D3D12_SPEC_DATE_YEAR ( 2014 ) | ||
| 1366 | |||
| 1367 | #define D3D12_SPEC_VERSION ( 1.16 ) | ||
| 1368 | #define D3D12_SRGB_GAMMA ( 2.2f ) | ||
| 1369 | #define D3D12_SRGB_TO_FLOAT_DENOMINATOR_1 ( 12.92f ) | ||
| 1370 | #define D3D12_SRGB_TO_FLOAT_DENOMINATOR_2 ( 1.055f ) | ||
| 1371 | #define D3D12_SRGB_TO_FLOAT_EXPONENT ( 2.4f ) | ||
| 1372 | #define D3D12_SRGB_TO_FLOAT_OFFSET ( 0.055f ) | ||
| 1373 | #define D3D12_SRGB_TO_FLOAT_THRESHOLD ( 0.04045f ) | ||
| 1374 | #define D3D12_SRGB_TO_FLOAT_TOLERANCE_IN_ULP ( 0.5f ) | ||
| 1375 | #define D3D12_STANDARD_COMPONENT_BIT_COUNT ( 32 ) | ||
| 1376 | |||
| 1377 | #define D3D12_STANDARD_COMPONENT_BIT_COUNT_DOUBLED ( 64 ) | ||
| 1378 | |||
| 1379 | #define D3D12_STANDARD_MAXIMUM_ELEMENT_ALIGNMENT_BYTE_MULTIPLE ( 4 ) | ||
| 1380 | |||
| 1381 | #define D3D12_STANDARD_PIXEL_COMPONENT_COUNT ( 128 ) | ||
| 1382 | |||
| 1383 | #define D3D12_STANDARD_PIXEL_ELEMENT_COUNT ( 32 ) | ||
| 1384 | |||
| 1385 | #define D3D12_STANDARD_VECTOR_SIZE ( 4 ) | ||
| 1386 | |||
| 1387 | #define D3D12_STANDARD_VERTEX_ELEMENT_COUNT ( 32 ) | ||
| 1388 | |||
| 1389 | #define D3D12_STANDARD_VERTEX_TOTAL_COMPONENT_COUNT ( 64 ) | ||
| 1390 | |||
| 1391 | #define D3D12_SUBPIXEL_FRACTIONAL_BIT_COUNT ( 8 ) | ||
| 1392 | |||
| 1393 | #define D3D12_SUBTEXEL_FRACTIONAL_BIT_COUNT ( 8 ) | ||
| 1394 | |||
| 1395 | #define D3D12_SYSTEM_RESERVED_REGISTER_SPACE_VALUES_END ( 0xffffffff ) | ||
| 1396 | |||
| 1397 | #define D3D12_SYSTEM_RESERVED_REGISTER_SPACE_VALUES_START ( 0xfffffff0 ) | ||
| 1398 | |||
| 1399 | #define D3D12_TESSELLATOR_MAX_EVEN_TESSELLATION_FACTOR ( 64 ) | ||
| 1400 | |||
| 1401 | #define D3D12_TESSELLATOR_MAX_ISOLINE_DENSITY_TESSELLATION_FACTOR ( 64 ) | ||
| 1402 | |||
| 1403 | #define D3D12_TESSELLATOR_MAX_ODD_TESSELLATION_FACTOR ( 63 ) | ||
| 1404 | |||
| 1405 | #define D3D12_TESSELLATOR_MAX_TESSELLATION_FACTOR ( 64 ) | ||
| 1406 | |||
| 1407 | #define D3D12_TESSELLATOR_MIN_EVEN_TESSELLATION_FACTOR ( 2 ) | ||
| 1408 | |||
| 1409 | #define D3D12_TESSELLATOR_MIN_ISOLINE_DENSITY_TESSELLATION_FACTOR ( 1 ) | ||
| 1410 | |||
| 1411 | #define D3D12_TESSELLATOR_MIN_ODD_TESSELLATION_FACTOR ( 1 ) | ||
| 1412 | |||
| 1413 | #define D3D12_TEXEL_ADDRESS_RANGE_BIT_COUNT ( 16 ) | ||
| 1414 | |||
| 1415 | #define D3D12_TEXTURE_DATA_PITCH_ALIGNMENT ( 256 ) | ||
| 1416 | |||
| 1417 | #define D3D12_TEXTURE_DATA_PLACEMENT_ALIGNMENT ( 512 ) | ||
| 1418 | |||
| 1419 | #define D3D12_TIGHT_ALIGNMENT_MIN_COMMITTED_RESOURCE_ALIGNMENT ( 4096 ) | ||
| 1420 | |||
| 1421 | #define D3D12_TIGHT_ALIGNMENT_MIN_PLACED_RESOURCE_ALIGNMENT ( 8 ) | ||
| 1422 | |||
| 1423 | #define D3D12_TILED_RESOURCE_TILE_SIZE_IN_BYTES ( 65536 ) | ||
| 1424 | |||
| 1425 | #define D3D12_TRACKED_WORKLOAD_MAX_INSTANCES ( 32 ) | ||
| 1426 | |||
| 1427 | #define D3D12_UAV_COUNTER_PLACEMENT_ALIGNMENT ( 4096 ) | ||
| 1428 | |||
| 1429 | #define D3D12_UAV_SLOT_COUNT ( 64 ) | ||
| 1430 | |||
| 1431 | #define D3D12_UNBOUND_MEMORY_ACCESS_RESULT ( 0 ) | ||
| 1432 | |||
| 1433 | #define D3D12_VIDEO_DECODE_MAX_ARGUMENTS ( 10 ) | ||
| 1434 | |||
| 1435 | #define D3D12_VIDEO_DECODE_MAX_HISTOGRAM_COMPONENTS ( 4 ) | ||
| 1436 | |||
| 1437 | #define D3D12_VIDEO_DECODE_MIN_BITSTREAM_OFFSET_ALIGNMENT ( 256 ) | ||
| 1438 | |||
| 1439 | #define D3D12_VIDEO_DECODE_MIN_HISTOGRAM_OFFSET_ALIGNMENT ( 256 ) | ||
| 1440 | |||
| 1441 | #define D3D12_VIDEO_DECODE_STATUS_MACROBLOCKS_AFFECTED_UNKNOWN ( 0xffffffff ) | ||
| 1442 | |||
| 1443 | #define D3D12_VIDEO_ENCODER_AV1_INVALID_DPB_RESOURCE_INDEX ( 0xff ) | ||
| 1444 | |||
| 1445 | #define D3D12_VIDEO_ENCODER_AV1_MAX_TILE_COLS ( 64 ) | ||
| 1446 | |||
| 1447 | #define D3D12_VIDEO_ENCODER_AV1_MAX_TILE_ROWS ( 64 ) | ||
| 1448 | |||
| 1449 | #define D3D12_VIDEO_ENCODER_AV1_SUPERRES_DENOM_MIN ( 9 ) | ||
| 1450 | |||
| 1451 | #define D3D12_VIDEO_ENCODER_AV1_SUPERRES_NUM ( 8 ) | ||
| 1452 | |||
| 1453 | #define D3D12_VIDEO_PROCESS_MAX_FILTERS ( 32 ) | ||
| 1454 | |||
| 1455 | #define D3D12_VIDEO_PROCESS_STEREO_VIEWS ( 2 ) | ||
| 1456 | |||
| 1457 | #define D3D12_VIEWPORT_AND_SCISSORRECT_MAX_INDEX ( 15 ) | ||
| 1458 | |||
| 1459 | #define D3D12_VIEWPORT_AND_SCISSORRECT_OBJECT_COUNT_PER_PIPELINE ( 16 ) | ||
| 1460 | |||
| 1461 | #define D3D12_VIEWPORT_BOUNDS_MAX ( 32767 ) | ||
| 1462 | |||
| 1463 | #define D3D12_VIEWPORT_BOUNDS_MIN ( -32768 ) | ||
| 1464 | |||
| 1465 | #define D3D12_VS_INPUT_REGISTER_COMPONENTS ( 4 ) | ||
| 1466 | |||
| 1467 | #define D3D12_VS_INPUT_REGISTER_COMPONENT_BIT_COUNT ( 32 ) | ||
| 1468 | |||
| 1469 | #define D3D12_VS_INPUT_REGISTER_COUNT ( 32 ) | ||
| 1470 | |||
| 1471 | #define D3D12_VS_INPUT_REGISTER_READS_PER_INST ( 2 ) | ||
| 1472 | |||
| 1473 | #define D3D12_VS_INPUT_REGISTER_READ_PORTS ( 1 ) | ||
| 1474 | |||
| 1475 | #define D3D12_VS_OUTPUT_REGISTER_COMPONENTS ( 4 ) | ||
| 1476 | |||
| 1477 | #define D3D12_VS_OUTPUT_REGISTER_COMPONENT_BIT_COUNT ( 32 ) | ||
| 1478 | |||
| 1479 | #define D3D12_VS_OUTPUT_REGISTER_COUNT ( 32 ) | ||
| 1480 | |||
| 1481 | #define D3D12_WHQL_CONTEXT_COUNT_FOR_RESOURCE_LIMIT ( 10 ) | ||
| 1482 | |||
| 1483 | #define D3D12_WHQL_DRAWINDEXED_INDEX_COUNT_2_TO_EXP ( 25 ) | ||
| 1484 | |||
| 1485 | #define D3D12_WHQL_DRAW_VERTEX_COUNT_2_TO_EXP ( 25 ) | ||
| 1486 | |||
| 1487 | #define D3D12_WORK_GRAPHS_BACKING_MEMORY_ALIGNMENT_IN_BYTES ( 8 ) | ||
| 1488 | |||
| 1489 | #define D3D12_WORK_GRAPHS_DISPATCH_MAX_THREAD_GROUPS_PER_GRID ( 16777215 ) | ||
| 1490 | |||
| 1491 | #define D3D12_WORK_GRAPHS_MAX_NODE_DEPTH ( 32 ) | ||
| 1492 | |||
| 1493 | #endif | ||
| 1494 | |||
| 1495 | typedef UINT64 D3D12_GPU_VIRTUAL_ADDRESS; | ||
| 1496 | |||
| 1497 | typedef | ||
| 1498 | enum D3D12_COMMAND_LIST_TYPE | ||
| 1499 | { | ||
| 1500 | D3D12_COMMAND_LIST_TYPE_DIRECT = 0, | ||
| 1501 | D3D12_COMMAND_LIST_TYPE_BUNDLE = 1, | ||
| 1502 | D3D12_COMMAND_LIST_TYPE_COMPUTE = 2, | ||
| 1503 | D3D12_COMMAND_LIST_TYPE_COPY = 3, | ||
| 1504 | D3D12_COMMAND_LIST_TYPE_VIDEO_DECODE = 4, | ||
| 1505 | D3D12_COMMAND_LIST_TYPE_VIDEO_PROCESS = 5, | ||
| 1506 | D3D12_COMMAND_LIST_TYPE_VIDEO_ENCODE = 6, | ||
| 1507 | D3D12_COMMAND_LIST_TYPE_NONE = -1 | ||
| 1508 | } D3D12_COMMAND_LIST_TYPE; | ||
| 1509 | |||
| 1510 | typedef | ||
| 1511 | enum D3D12_COMMAND_QUEUE_FLAGS | ||
| 1512 | { | ||
| 1513 | D3D12_COMMAND_QUEUE_FLAG_NONE = 0, | ||
| 1514 | D3D12_COMMAND_QUEUE_FLAG_DISABLE_GPU_TIMEOUT = 0x1, | ||
| 1515 | D3D12_COMMAND_QUEUE_FLAG_ALLOW_DYNAMIC_PRIORITY = 0x2 | ||
| 1516 | } D3D12_COMMAND_QUEUE_FLAGS; | ||
| 1517 | |||
| 1518 | DEFINE_ENUM_FLAG_OPERATORS( D3D12_COMMAND_QUEUE_FLAGS ) | ||
| 1519 | typedef | ||
| 1520 | enum D3D12_COMMAND_QUEUE_PRIORITY | ||
| 1521 | { | ||
| 1522 | D3D12_COMMAND_QUEUE_PRIORITY_NORMAL = 0, | ||
| 1523 | D3D12_COMMAND_QUEUE_PRIORITY_HIGH = 100, | ||
| 1524 | D3D12_COMMAND_QUEUE_PRIORITY_GLOBAL_REALTIME = 10000 | ||
| 1525 | } D3D12_COMMAND_QUEUE_PRIORITY; | ||
| 1526 | |||
| 1527 | typedef struct D3D12_COMMAND_QUEUE_DESC | ||
| 1528 | { | ||
| 1529 | D3D12_COMMAND_LIST_TYPE Type; | ||
| 1530 | INT Priority; | ||
| 1531 | D3D12_COMMAND_QUEUE_FLAGS Flags; | ||
| 1532 | UINT NodeMask; | ||
| 1533 | } D3D12_COMMAND_QUEUE_DESC; | ||
| 1534 | |||
| 1535 | typedef | ||
| 1536 | enum D3D12_PRIMITIVE_TOPOLOGY_TYPE | ||
| 1537 | { | ||
| 1538 | D3D12_PRIMITIVE_TOPOLOGY_TYPE_UNDEFINED = 0, | ||
| 1539 | D3D12_PRIMITIVE_TOPOLOGY_TYPE_POINT = 1, | ||
| 1540 | D3D12_PRIMITIVE_TOPOLOGY_TYPE_LINE = 2, | ||
| 1541 | D3D12_PRIMITIVE_TOPOLOGY_TYPE_TRIANGLE = 3, | ||
| 1542 | D3D12_PRIMITIVE_TOPOLOGY_TYPE_PATCH = 4 | ||
| 1543 | } D3D12_PRIMITIVE_TOPOLOGY_TYPE; | ||
| 1544 | |||
| 1545 | typedef | ||
| 1546 | enum D3D12_INPUT_CLASSIFICATION | ||
| 1547 | { | ||
| 1548 | D3D12_INPUT_CLASSIFICATION_PER_VERTEX_DATA = 0, | ||
| 1549 | D3D12_INPUT_CLASSIFICATION_PER_INSTANCE_DATA = 1 | ||
| 1550 | } D3D12_INPUT_CLASSIFICATION; | ||
| 1551 | |||
| 1552 | typedef struct D3D12_INPUT_ELEMENT_DESC | ||
| 1553 | { | ||
| 1554 | LPCSTR SemanticName; | ||
| 1555 | UINT SemanticIndex; | ||
| 1556 | DXGI_FORMAT Format; | ||
| 1557 | UINT InputSlot; | ||
| 1558 | UINT AlignedByteOffset; | ||
| 1559 | D3D12_INPUT_CLASSIFICATION InputSlotClass; | ||
| 1560 | UINT InstanceDataStepRate; | ||
| 1561 | } D3D12_INPUT_ELEMENT_DESC; | ||
| 1562 | |||
| 1563 | typedef | ||
| 1564 | enum D3D12_FILL_MODE | ||
| 1565 | { | ||
| 1566 | D3D12_FILL_MODE_WIREFRAME = 2, | ||
| 1567 | D3D12_FILL_MODE_SOLID = 3 | ||
| 1568 | } D3D12_FILL_MODE; | ||
| 1569 | |||
| 1570 | typedef D3D_PRIMITIVE_TOPOLOGY D3D12_PRIMITIVE_TOPOLOGY; | ||
| 1571 | |||
| 1572 | typedef D3D_PRIMITIVE D3D12_PRIMITIVE; | ||
| 1573 | |||
| 1574 | typedef | ||
| 1575 | enum D3D12_CULL_MODE | ||
| 1576 | { | ||
| 1577 | D3D12_CULL_MODE_NONE = 1, | ||
| 1578 | D3D12_CULL_MODE_FRONT = 2, | ||
| 1579 | D3D12_CULL_MODE_BACK = 3 | ||
| 1580 | } D3D12_CULL_MODE; | ||
| 1581 | |||
| 1582 | typedef struct D3D12_SO_DECLARATION_ENTRY | ||
| 1583 | { | ||
| 1584 | UINT Stream; | ||
| 1585 | LPCSTR SemanticName; | ||
| 1586 | UINT SemanticIndex; | ||
| 1587 | BYTE StartComponent; | ||
| 1588 | BYTE ComponentCount; | ||
| 1589 | BYTE OutputSlot; | ||
| 1590 | } D3D12_SO_DECLARATION_ENTRY; | ||
| 1591 | |||
| 1592 | typedef struct D3D12_VIEWPORT | ||
| 1593 | { | ||
| 1594 | FLOAT TopLeftX; | ||
| 1595 | FLOAT TopLeftY; | ||
| 1596 | FLOAT Width; | ||
| 1597 | FLOAT Height; | ||
| 1598 | FLOAT MinDepth; | ||
| 1599 | FLOAT MaxDepth; | ||
| 1600 | } D3D12_VIEWPORT; | ||
| 1601 | |||
| 1602 | typedef RECT D3D12_RECT; | ||
| 1603 | |||
| 1604 | typedef struct D3D12_BOX | ||
| 1605 | { | ||
| 1606 | UINT left; | ||
| 1607 | UINT top; | ||
| 1608 | UINT front; | ||
| 1609 | UINT right; | ||
| 1610 | UINT bottom; | ||
| 1611 | UINT back; | ||
| 1612 | } D3D12_BOX; | ||
| 1613 | |||
| 1614 | #ifdef __midl | ||
| 1615 | #ifndef LUID_DEFINED | ||
| 1616 | #define LUID_DEFINED 1 | ||
| 1617 | typedef struct __LUID | ||
| 1618 | { | ||
| 1619 | DWORD LowPart; | ||
| 1620 | LONG HighPart; | ||
| 1621 | } LUID; | ||
| 1622 | |||
| 1623 | typedef struct __LUID *PLUID; | ||
| 1624 | |||
| 1625 | #endif | ||
| 1626 | #endif | ||
| 1627 | typedef | ||
| 1628 | enum D3D12_COMPARISON_FUNC | ||
| 1629 | { | ||
| 1630 | D3D12_COMPARISON_FUNC_NONE = 0, | ||
| 1631 | D3D12_COMPARISON_FUNC_NEVER = 1, | ||
| 1632 | D3D12_COMPARISON_FUNC_LESS = 2, | ||
| 1633 | D3D12_COMPARISON_FUNC_EQUAL = 3, | ||
| 1634 | D3D12_COMPARISON_FUNC_LESS_EQUAL = 4, | ||
| 1635 | D3D12_COMPARISON_FUNC_GREATER = 5, | ||
| 1636 | D3D12_COMPARISON_FUNC_NOT_EQUAL = 6, | ||
| 1637 | D3D12_COMPARISON_FUNC_GREATER_EQUAL = 7, | ||
| 1638 | D3D12_COMPARISON_FUNC_ALWAYS = 8 | ||
| 1639 | } D3D12_COMPARISON_FUNC; | ||
| 1640 | |||
| 1641 | typedef | ||
| 1642 | enum D3D12_DEPTH_WRITE_MASK | ||
| 1643 | { | ||
| 1644 | D3D12_DEPTH_WRITE_MASK_ZERO = 0, | ||
| 1645 | D3D12_DEPTH_WRITE_MASK_ALL = 1 | ||
| 1646 | } D3D12_DEPTH_WRITE_MASK; | ||
| 1647 | |||
| 1648 | typedef | ||
| 1649 | enum D3D12_STENCIL_OP | ||
| 1650 | { | ||
| 1651 | D3D12_STENCIL_OP_KEEP = 1, | ||
| 1652 | D3D12_STENCIL_OP_ZERO = 2, | ||
| 1653 | D3D12_STENCIL_OP_REPLACE = 3, | ||
| 1654 | D3D12_STENCIL_OP_INCR_SAT = 4, | ||
| 1655 | D3D12_STENCIL_OP_DECR_SAT = 5, | ||
| 1656 | D3D12_STENCIL_OP_INVERT = 6, | ||
| 1657 | D3D12_STENCIL_OP_INCR = 7, | ||
| 1658 | D3D12_STENCIL_OP_DECR = 8 | ||
| 1659 | } D3D12_STENCIL_OP; | ||
| 1660 | |||
| 1661 | typedef struct D3D12_DEPTH_STENCILOP_DESC | ||
| 1662 | { | ||
| 1663 | D3D12_STENCIL_OP StencilFailOp; | ||
| 1664 | D3D12_STENCIL_OP StencilDepthFailOp; | ||
| 1665 | D3D12_STENCIL_OP StencilPassOp; | ||
| 1666 | D3D12_COMPARISON_FUNC StencilFunc; | ||
| 1667 | } D3D12_DEPTH_STENCILOP_DESC; | ||
| 1668 | |||
| 1669 | typedef struct D3D12_DEPTH_STENCIL_DESC | ||
| 1670 | { | ||
| 1671 | BOOL DepthEnable; | ||
| 1672 | D3D12_DEPTH_WRITE_MASK DepthWriteMask; | ||
| 1673 | D3D12_COMPARISON_FUNC DepthFunc; | ||
| 1674 | BOOL StencilEnable; | ||
| 1675 | UINT8 StencilReadMask; | ||
| 1676 | UINT8 StencilWriteMask; | ||
| 1677 | D3D12_DEPTH_STENCILOP_DESC FrontFace; | ||
| 1678 | D3D12_DEPTH_STENCILOP_DESC BackFace; | ||
| 1679 | } D3D12_DEPTH_STENCIL_DESC; | ||
| 1680 | |||
| 1681 | typedef struct D3D12_DEPTH_STENCIL_DESC1 | ||
| 1682 | { | ||
| 1683 | BOOL DepthEnable; | ||
| 1684 | D3D12_DEPTH_WRITE_MASK DepthWriteMask; | ||
| 1685 | D3D12_COMPARISON_FUNC DepthFunc; | ||
| 1686 | BOOL StencilEnable; | ||
| 1687 | UINT8 StencilReadMask; | ||
| 1688 | UINT8 StencilWriteMask; | ||
| 1689 | D3D12_DEPTH_STENCILOP_DESC FrontFace; | ||
| 1690 | D3D12_DEPTH_STENCILOP_DESC BackFace; | ||
| 1691 | BOOL DepthBoundsTestEnable; | ||
| 1692 | } D3D12_DEPTH_STENCIL_DESC1; | ||
| 1693 | |||
| 1694 | typedef struct D3D12_DEPTH_STENCILOP_DESC1 | ||
| 1695 | { | ||
| 1696 | D3D12_STENCIL_OP StencilFailOp; | ||
| 1697 | D3D12_STENCIL_OP StencilDepthFailOp; | ||
| 1698 | D3D12_STENCIL_OP StencilPassOp; | ||
| 1699 | D3D12_COMPARISON_FUNC StencilFunc; | ||
| 1700 | UINT8 StencilReadMask; | ||
| 1701 | UINT8 StencilWriteMask; | ||
| 1702 | } D3D12_DEPTH_STENCILOP_DESC1; | ||
| 1703 | |||
| 1704 | typedef struct D3D12_DEPTH_STENCIL_DESC2 | ||
| 1705 | { | ||
| 1706 | BOOL DepthEnable; | ||
| 1707 | D3D12_DEPTH_WRITE_MASK DepthWriteMask; | ||
| 1708 | D3D12_COMPARISON_FUNC DepthFunc; | ||
| 1709 | BOOL StencilEnable; | ||
| 1710 | D3D12_DEPTH_STENCILOP_DESC1 FrontFace; | ||
| 1711 | D3D12_DEPTH_STENCILOP_DESC1 BackFace; | ||
| 1712 | BOOL DepthBoundsTestEnable; | ||
| 1713 | } D3D12_DEPTH_STENCIL_DESC2; | ||
| 1714 | |||
| 1715 | typedef | ||
| 1716 | enum D3D12_BLEND | ||
| 1717 | { | ||
| 1718 | D3D12_BLEND_ZERO = 1, | ||
| 1719 | D3D12_BLEND_ONE = 2, | ||
| 1720 | D3D12_BLEND_SRC_COLOR = 3, | ||
| 1721 | D3D12_BLEND_INV_SRC_COLOR = 4, | ||
| 1722 | D3D12_BLEND_SRC_ALPHA = 5, | ||
| 1723 | D3D12_BLEND_INV_SRC_ALPHA = 6, | ||
| 1724 | D3D12_BLEND_DEST_ALPHA = 7, | ||
| 1725 | D3D12_BLEND_INV_DEST_ALPHA = 8, | ||
| 1726 | D3D12_BLEND_DEST_COLOR = 9, | ||
| 1727 | D3D12_BLEND_INV_DEST_COLOR = 10, | ||
| 1728 | D3D12_BLEND_SRC_ALPHA_SAT = 11, | ||
| 1729 | D3D12_BLEND_BLEND_FACTOR = 14, | ||
| 1730 | D3D12_BLEND_INV_BLEND_FACTOR = 15, | ||
| 1731 | D3D12_BLEND_SRC1_COLOR = 16, | ||
| 1732 | D3D12_BLEND_INV_SRC1_COLOR = 17, | ||
| 1733 | D3D12_BLEND_SRC1_ALPHA = 18, | ||
| 1734 | D3D12_BLEND_INV_SRC1_ALPHA = 19, | ||
| 1735 | D3D12_BLEND_ALPHA_FACTOR = 20, | ||
| 1736 | D3D12_BLEND_INV_ALPHA_FACTOR = 21 | ||
| 1737 | } D3D12_BLEND; | ||
| 1738 | |||
| 1739 | typedef | ||
| 1740 | enum D3D12_BLEND_OP | ||
| 1741 | { | ||
| 1742 | D3D12_BLEND_OP_ADD = 1, | ||
| 1743 | D3D12_BLEND_OP_SUBTRACT = 2, | ||
| 1744 | D3D12_BLEND_OP_REV_SUBTRACT = 3, | ||
| 1745 | D3D12_BLEND_OP_MIN = 4, | ||
| 1746 | D3D12_BLEND_OP_MAX = 5 | ||
| 1747 | } D3D12_BLEND_OP; | ||
| 1748 | |||
| 1749 | typedef | ||
| 1750 | enum D3D12_COLOR_WRITE_ENABLE | ||
| 1751 | { | ||
| 1752 | D3D12_COLOR_WRITE_ENABLE_RED = 1, | ||
| 1753 | D3D12_COLOR_WRITE_ENABLE_GREEN = 2, | ||
| 1754 | D3D12_COLOR_WRITE_ENABLE_BLUE = 4, | ||
| 1755 | D3D12_COLOR_WRITE_ENABLE_ALPHA = 8, | ||
| 1756 | D3D12_COLOR_WRITE_ENABLE_ALL = ( ( ( D3D12_COLOR_WRITE_ENABLE_RED | D3D12_COLOR_WRITE_ENABLE_GREEN ) | D3D12_COLOR_WRITE_ENABLE_BLUE ) | D3D12_COLOR_WRITE_ENABLE_ALPHA ) | ||
| 1757 | } D3D12_COLOR_WRITE_ENABLE; | ||
| 1758 | |||
| 1759 | typedef | ||
| 1760 | enum D3D12_LOGIC_OP | ||
| 1761 | { | ||
| 1762 | D3D12_LOGIC_OP_CLEAR = 0, | ||
| 1763 | D3D12_LOGIC_OP_SET = ( D3D12_LOGIC_OP_CLEAR + 1 ) , | ||
| 1764 | D3D12_LOGIC_OP_COPY = ( D3D12_LOGIC_OP_SET + 1 ) , | ||
| 1765 | D3D12_LOGIC_OP_COPY_INVERTED = ( D3D12_LOGIC_OP_COPY + 1 ) , | ||
| 1766 | D3D12_LOGIC_OP_NOOP = ( D3D12_LOGIC_OP_COPY_INVERTED + 1 ) , | ||
| 1767 | D3D12_LOGIC_OP_INVERT = ( D3D12_LOGIC_OP_NOOP + 1 ) , | ||
| 1768 | D3D12_LOGIC_OP_AND = ( D3D12_LOGIC_OP_INVERT + 1 ) , | ||
| 1769 | D3D12_LOGIC_OP_NAND = ( D3D12_LOGIC_OP_AND + 1 ) , | ||
| 1770 | D3D12_LOGIC_OP_OR = ( D3D12_LOGIC_OP_NAND + 1 ) , | ||
| 1771 | D3D12_LOGIC_OP_NOR = ( D3D12_LOGIC_OP_OR + 1 ) , | ||
| 1772 | D3D12_LOGIC_OP_XOR = ( D3D12_LOGIC_OP_NOR + 1 ) , | ||
| 1773 | D3D12_LOGIC_OP_EQUIV = ( D3D12_LOGIC_OP_XOR + 1 ) , | ||
| 1774 | D3D12_LOGIC_OP_AND_REVERSE = ( D3D12_LOGIC_OP_EQUIV + 1 ) , | ||
| 1775 | D3D12_LOGIC_OP_AND_INVERTED = ( D3D12_LOGIC_OP_AND_REVERSE + 1 ) , | ||
| 1776 | D3D12_LOGIC_OP_OR_REVERSE = ( D3D12_LOGIC_OP_AND_INVERTED + 1 ) , | ||
| 1777 | D3D12_LOGIC_OP_OR_INVERTED = ( D3D12_LOGIC_OP_OR_REVERSE + 1 ) | ||
| 1778 | } D3D12_LOGIC_OP; | ||
| 1779 | |||
| 1780 | typedef struct D3D12_RENDER_TARGET_BLEND_DESC | ||
| 1781 | { | ||
| 1782 | BOOL BlendEnable; | ||
| 1783 | BOOL LogicOpEnable; | ||
| 1784 | D3D12_BLEND SrcBlend; | ||
| 1785 | D3D12_BLEND DestBlend; | ||
| 1786 | D3D12_BLEND_OP BlendOp; | ||
| 1787 | D3D12_BLEND SrcBlendAlpha; | ||
| 1788 | D3D12_BLEND DestBlendAlpha; | ||
| 1789 | D3D12_BLEND_OP BlendOpAlpha; | ||
| 1790 | D3D12_LOGIC_OP LogicOp; | ||
| 1791 | UINT8 RenderTargetWriteMask; | ||
| 1792 | } D3D12_RENDER_TARGET_BLEND_DESC; | ||
| 1793 | |||
| 1794 | typedef struct D3D12_BLEND_DESC | ||
| 1795 | { | ||
| 1796 | BOOL AlphaToCoverageEnable; | ||
| 1797 | BOOL IndependentBlendEnable; | ||
| 1798 | D3D12_RENDER_TARGET_BLEND_DESC RenderTarget[ 8 ]; | ||
| 1799 | } D3D12_BLEND_DESC; | ||
| 1800 | |||
| 1801 | /* Note, the array size for RenderTarget[] above is D3D12_SIMULTANEOUS_RENDERTARGET_COUNT. | ||
| 1802 | IDL processing/generation of this header replaces the define; this comment is merely explaining what happened. */ | ||
| 1803 | typedef | ||
| 1804 | enum D3D12_CONSERVATIVE_RASTERIZATION_MODE | ||
| 1805 | { | ||
| 1806 | D3D12_CONSERVATIVE_RASTERIZATION_MODE_OFF = 0, | ||
| 1807 | D3D12_CONSERVATIVE_RASTERIZATION_MODE_ON = 1 | ||
| 1808 | } D3D12_CONSERVATIVE_RASTERIZATION_MODE; | ||
| 1809 | |||
| 1810 | typedef struct D3D12_RASTERIZER_DESC | ||
| 1811 | { | ||
| 1812 | D3D12_FILL_MODE FillMode; | ||
| 1813 | D3D12_CULL_MODE CullMode; | ||
| 1814 | BOOL FrontCounterClockwise; | ||
| 1815 | INT DepthBias; | ||
| 1816 | FLOAT DepthBiasClamp; | ||
| 1817 | FLOAT SlopeScaledDepthBias; | ||
| 1818 | BOOL DepthClipEnable; | ||
| 1819 | BOOL MultisampleEnable; | ||
| 1820 | BOOL AntialiasedLineEnable; | ||
| 1821 | UINT ForcedSampleCount; | ||
| 1822 | D3D12_CONSERVATIVE_RASTERIZATION_MODE ConservativeRaster; | ||
| 1823 | } D3D12_RASTERIZER_DESC; | ||
| 1824 | |||
| 1825 | typedef struct D3D12_RASTERIZER_DESC1 | ||
| 1826 | { | ||
| 1827 | D3D12_FILL_MODE FillMode; | ||
| 1828 | D3D12_CULL_MODE CullMode; | ||
| 1829 | BOOL FrontCounterClockwise; | ||
| 1830 | FLOAT DepthBias; | ||
| 1831 | FLOAT DepthBiasClamp; | ||
| 1832 | FLOAT SlopeScaledDepthBias; | ||
| 1833 | BOOL DepthClipEnable; | ||
| 1834 | BOOL MultisampleEnable; | ||
| 1835 | BOOL AntialiasedLineEnable; | ||
| 1836 | UINT ForcedSampleCount; | ||
| 1837 | D3D12_CONSERVATIVE_RASTERIZATION_MODE ConservativeRaster; | ||
| 1838 | } D3D12_RASTERIZER_DESC1; | ||
| 1839 | |||
| 1840 | typedef | ||
| 1841 | enum D3D12_LINE_RASTERIZATION_MODE | ||
| 1842 | { | ||
| 1843 | D3D12_LINE_RASTERIZATION_MODE_ALIASED = 0, | ||
| 1844 | D3D12_LINE_RASTERIZATION_MODE_ALPHA_ANTIALIASED = ( D3D12_LINE_RASTERIZATION_MODE_ALIASED + 1 ) , | ||
| 1845 | D3D12_LINE_RASTERIZATION_MODE_QUADRILATERAL_WIDE = ( D3D12_LINE_RASTERIZATION_MODE_ALPHA_ANTIALIASED + 1 ) , | ||
| 1846 | D3D12_LINE_RASTERIZATION_MODE_QUADRILATERAL_NARROW = ( D3D12_LINE_RASTERIZATION_MODE_QUADRILATERAL_WIDE + 1 ) | ||
| 1847 | } D3D12_LINE_RASTERIZATION_MODE; | ||
| 1848 | |||
| 1849 | typedef struct D3D12_RASTERIZER_DESC2 | ||
| 1850 | { | ||
| 1851 | D3D12_FILL_MODE FillMode; | ||
| 1852 | D3D12_CULL_MODE CullMode; | ||
| 1853 | BOOL FrontCounterClockwise; | ||
| 1854 | FLOAT DepthBias; | ||
| 1855 | FLOAT DepthBiasClamp; | ||
| 1856 | FLOAT SlopeScaledDepthBias; | ||
| 1857 | BOOL DepthClipEnable; | ||
| 1858 | D3D12_LINE_RASTERIZATION_MODE LineRasterizationMode; | ||
| 1859 | UINT ForcedSampleCount; | ||
| 1860 | D3D12_CONSERVATIVE_RASTERIZATION_MODE ConservativeRaster; | ||
| 1861 | } D3D12_RASTERIZER_DESC2; | ||
| 1862 | |||
| 1863 | |||
| 1864 | |||
| 1865 | extern RPC_IF_HANDLE __MIDL_itf_d3d12_0000_0000_v0_0_c_ifspec; | ||
| 1866 | extern RPC_IF_HANDLE __MIDL_itf_d3d12_0000_0000_v0_0_s_ifspec; | ||
| 1867 | |||
| 1868 | #ifndef __ID3D12Object_INTERFACE_DEFINED__ | ||
| 1869 | #define __ID3D12Object_INTERFACE_DEFINED__ | ||
| 1870 | |||
| 1871 | /* interface ID3D12Object */ | ||
| 1872 | /* [unique][local][object][uuid] */ | ||
| 1873 | |||
| 1874 | |||
| 1875 | EXTERN_C const IID IID_ID3D12Object; | ||
| 1876 | |||
| 1877 | #if defined(__cplusplus) && !defined(CINTERFACE) | ||
| 1878 | |||
| 1879 | MIDL_INTERFACE("c4fec28f-7966-4e95-9f94-f431cb56c3b8") | ||
| 1880 | ID3D12Object : public IUnknown | ||
| 1881 | { | ||
| 1882 | public: | ||
| 1883 | virtual HRESULT STDMETHODCALLTYPE GetPrivateData( | ||
| 1884 | _In_ REFGUID guid, | ||
| 1885 | _Inout_ UINT *pDataSize, | ||
| 1886 | _Out_writes_bytes_opt_( *pDataSize ) void *pData) = 0; | ||
| 1887 | |||
| 1888 | virtual HRESULT STDMETHODCALLTYPE SetPrivateData( | ||
| 1889 | _In_ REFGUID guid, | ||
| 1890 | _In_ UINT DataSize, | ||
| 1891 | _In_reads_bytes_opt_( DataSize ) const void *pData) = 0; | ||
| 1892 | |||
| 1893 | virtual HRESULT STDMETHODCALLTYPE SetPrivateDataInterface( | ||
| 1894 | _In_ REFGUID guid, | ||
| 1895 | _In_opt_ const IUnknown *pData) = 0; | ||
| 1896 | |||
| 1897 | virtual HRESULT STDMETHODCALLTYPE SetName( | ||
| 1898 | _In_z_ LPCWSTR Name) = 0; | ||
| 1899 | |||
| 1900 | }; | ||
| 1901 | |||
| 1902 | |||
| 1903 | #else /* C style interface */ | ||
| 1904 | |||
| 1905 | typedef struct ID3D12ObjectVtbl | ||
| 1906 | { | ||
| 1907 | BEGIN_INTERFACE | ||
| 1908 | |||
| 1909 | DECLSPEC_XFGVIRT(IUnknown, QueryInterface) | ||
| 1910 | HRESULT ( STDMETHODCALLTYPE *QueryInterface )( | ||
| 1911 | ID3D12Object * This, | ||
| 1912 | REFIID riid, | ||
| 1913 | _COM_Outptr_ void **ppvObject); | ||
| 1914 | |||
| 1915 | DECLSPEC_XFGVIRT(IUnknown, AddRef) | ||
| 1916 | ULONG ( STDMETHODCALLTYPE *AddRef )( | ||
| 1917 | ID3D12Object * This); | ||
| 1918 | |||
| 1919 | DECLSPEC_XFGVIRT(IUnknown, Release) | ||
| 1920 | ULONG ( STDMETHODCALLTYPE *Release )( | ||
| 1921 | ID3D12Object * This); | ||
| 1922 | |||
| 1923 | DECLSPEC_XFGVIRT(ID3D12Object, GetPrivateData) | ||
| 1924 | HRESULT ( STDMETHODCALLTYPE *GetPrivateData )( | ||
| 1925 | ID3D12Object * This, | ||
| 1926 | _In_ REFGUID guid, | ||
| 1927 | _Inout_ UINT *pDataSize, | ||
| 1928 | _Out_writes_bytes_opt_( *pDataSize ) void *pData); | ||
| 1929 | |||
| 1930 | DECLSPEC_XFGVIRT(ID3D12Object, SetPrivateData) | ||
| 1931 | HRESULT ( STDMETHODCALLTYPE *SetPrivateData )( | ||
| 1932 | ID3D12Object * This, | ||
| 1933 | _In_ REFGUID guid, | ||
| 1934 | _In_ UINT DataSize, | ||
| 1935 | _In_reads_bytes_opt_( DataSize ) const void *pData); | ||
| 1936 | |||
| 1937 | DECLSPEC_XFGVIRT(ID3D12Object, SetPrivateDataInterface) | ||
| 1938 | HRESULT ( STDMETHODCALLTYPE *SetPrivateDataInterface )( | ||
| 1939 | ID3D12Object * This, | ||
| 1940 | _In_ REFGUID guid, | ||
| 1941 | _In_opt_ const IUnknown *pData); | ||
| 1942 | |||
| 1943 | DECLSPEC_XFGVIRT(ID3D12Object, SetName) | ||
| 1944 | HRESULT ( STDMETHODCALLTYPE *SetName )( | ||
| 1945 | ID3D12Object * This, | ||
| 1946 | _In_z_ LPCWSTR Name); | ||
| 1947 | |||
| 1948 | END_INTERFACE | ||
| 1949 | } ID3D12ObjectVtbl; | ||
| 1950 | |||
| 1951 | interface ID3D12Object | ||
| 1952 | { | ||
| 1953 | CONST_VTBL struct ID3D12ObjectVtbl *lpVtbl; | ||
| 1954 | }; | ||
| 1955 | |||
| 1956 | |||
| 1957 | |||
| 1958 | #ifdef COBJMACROS | ||
| 1959 | |||
| 1960 | |||
| 1961 | #define ID3D12Object_QueryInterface(This,riid,ppvObject) \ | ||
| 1962 | ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) | ||
| 1963 | |||
| 1964 | #define ID3D12Object_AddRef(This) \ | ||
| 1965 | ( (This)->lpVtbl -> AddRef(This) ) | ||
| 1966 | |||
| 1967 | #define ID3D12Object_Release(This) \ | ||
| 1968 | ( (This)->lpVtbl -> Release(This) ) | ||
| 1969 | |||
| 1970 | |||
| 1971 | #define ID3D12Object_GetPrivateData(This,guid,pDataSize,pData) \ | ||
| 1972 | ( (This)->lpVtbl -> GetPrivateData(This,guid,pDataSize,pData) ) | ||
| 1973 | |||
| 1974 | #define ID3D12Object_SetPrivateData(This,guid,DataSize,pData) \ | ||
| 1975 | ( (This)->lpVtbl -> SetPrivateData(This,guid,DataSize,pData) ) | ||
| 1976 | |||
| 1977 | #define ID3D12Object_SetPrivateDataInterface(This,guid,pData) \ | ||
| 1978 | ( (This)->lpVtbl -> SetPrivateDataInterface(This,guid,pData) ) | ||
| 1979 | |||
| 1980 | #define ID3D12Object_SetName(This,Name) \ | ||
| 1981 | ( (This)->lpVtbl -> SetName(This,Name) ) | ||
| 1982 | |||
| 1983 | #endif /* COBJMACROS */ | ||
| 1984 | |||
| 1985 | |||
| 1986 | #endif /* C style interface */ | ||
| 1987 | |||
| 1988 | |||
| 1989 | |||
| 1990 | |||
| 1991 | #endif /* __ID3D12Object_INTERFACE_DEFINED__ */ | ||
| 1992 | |||
| 1993 | |||
| 1994 | #ifndef __ID3D12DeviceChild_INTERFACE_DEFINED__ | ||
| 1995 | #define __ID3D12DeviceChild_INTERFACE_DEFINED__ | ||
| 1996 | |||
| 1997 | /* interface ID3D12DeviceChild */ | ||
| 1998 | /* [unique][local][object][uuid] */ | ||
| 1999 | |||
| 2000 | |||
| 2001 | EXTERN_C const IID IID_ID3D12DeviceChild; | ||
| 2002 | |||
| 2003 | #if defined(__cplusplus) && !defined(CINTERFACE) | ||
| 2004 | |||
| 2005 | MIDL_INTERFACE("905db94b-a00c-4140-9df5-2b64ca9ea357") | ||
| 2006 | ID3D12DeviceChild : public ID3D12Object | ||
| 2007 | { | ||
| 2008 | public: | ||
| 2009 | virtual HRESULT STDMETHODCALLTYPE GetDevice( | ||
| 2010 | REFIID riid, | ||
| 2011 | _COM_Outptr_opt_ void **ppvDevice) = 0; | ||
| 2012 | |||
| 2013 | }; | ||
| 2014 | |||
| 2015 | |||
| 2016 | #else /* C style interface */ | ||
| 2017 | |||
| 2018 | typedef struct ID3D12DeviceChildVtbl | ||
| 2019 | { | ||
| 2020 | BEGIN_INTERFACE | ||
| 2021 | |||
| 2022 | DECLSPEC_XFGVIRT(IUnknown, QueryInterface) | ||
| 2023 | HRESULT ( STDMETHODCALLTYPE *QueryInterface )( | ||
| 2024 | ID3D12DeviceChild * This, | ||
| 2025 | REFIID riid, | ||
| 2026 | _COM_Outptr_ void **ppvObject); | ||
| 2027 | |||
| 2028 | DECLSPEC_XFGVIRT(IUnknown, AddRef) | ||
| 2029 | ULONG ( STDMETHODCALLTYPE *AddRef )( | ||
| 2030 | ID3D12DeviceChild * This); | ||
| 2031 | |||
| 2032 | DECLSPEC_XFGVIRT(IUnknown, Release) | ||
| 2033 | ULONG ( STDMETHODCALLTYPE *Release )( | ||
| 2034 | ID3D12DeviceChild * This); | ||
| 2035 | |||
| 2036 | DECLSPEC_XFGVIRT(ID3D12Object, GetPrivateData) | ||
| 2037 | HRESULT ( STDMETHODCALLTYPE *GetPrivateData )( | ||
| 2038 | ID3D12DeviceChild * This, | ||
| 2039 | _In_ REFGUID guid, | ||
| 2040 | _Inout_ UINT *pDataSize, | ||
| 2041 | _Out_writes_bytes_opt_( *pDataSize ) void *pData); | ||
| 2042 | |||
| 2043 | DECLSPEC_XFGVIRT(ID3D12Object, SetPrivateData) | ||
| 2044 | HRESULT ( STDMETHODCALLTYPE *SetPrivateData )( | ||
| 2045 | ID3D12DeviceChild * This, | ||
| 2046 | _In_ REFGUID guid, | ||
| 2047 | _In_ UINT DataSize, | ||
| 2048 | _In_reads_bytes_opt_( DataSize ) const void *pData); | ||
| 2049 | |||
| 2050 | DECLSPEC_XFGVIRT(ID3D12Object, SetPrivateDataInterface) | ||
| 2051 | HRESULT ( STDMETHODCALLTYPE *SetPrivateDataInterface )( | ||
| 2052 | ID3D12DeviceChild * This, | ||
| 2053 | _In_ REFGUID guid, | ||
| 2054 | _In_opt_ const IUnknown *pData); | ||
| 2055 | |||
| 2056 | DECLSPEC_XFGVIRT(ID3D12Object, SetName) | ||
| 2057 | HRESULT ( STDMETHODCALLTYPE *SetName )( | ||
| 2058 | ID3D12DeviceChild * This, | ||
| 2059 | _In_z_ LPCWSTR Name); | ||
| 2060 | |||
| 2061 | DECLSPEC_XFGVIRT(ID3D12DeviceChild, GetDevice) | ||
| 2062 | HRESULT ( STDMETHODCALLTYPE *GetDevice )( | ||
| 2063 | ID3D12DeviceChild * This, | ||
| 2064 | REFIID riid, | ||
| 2065 | _COM_Outptr_opt_ void **ppvDevice); | ||
| 2066 | |||
| 2067 | END_INTERFACE | ||
| 2068 | } ID3D12DeviceChildVtbl; | ||
| 2069 | |||
| 2070 | interface ID3D12DeviceChild | ||
| 2071 | { | ||
| 2072 | CONST_VTBL struct ID3D12DeviceChildVtbl *lpVtbl; | ||
| 2073 | }; | ||
| 2074 | |||
| 2075 | |||
| 2076 | |||
| 2077 | #ifdef COBJMACROS | ||
| 2078 | |||
| 2079 | |||
| 2080 | #define ID3D12DeviceChild_QueryInterface(This,riid,ppvObject) \ | ||
| 2081 | ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) | ||
| 2082 | |||
| 2083 | #define ID3D12DeviceChild_AddRef(This) \ | ||
| 2084 | ( (This)->lpVtbl -> AddRef(This) ) | ||
| 2085 | |||
| 2086 | #define ID3D12DeviceChild_Release(This) \ | ||
| 2087 | ( (This)->lpVtbl -> Release(This) ) | ||
| 2088 | |||
| 2089 | |||
| 2090 | #define ID3D12DeviceChild_GetPrivateData(This,guid,pDataSize,pData) \ | ||
| 2091 | ( (This)->lpVtbl -> GetPrivateData(This,guid,pDataSize,pData) ) | ||
| 2092 | |||
| 2093 | #define ID3D12DeviceChild_SetPrivateData(This,guid,DataSize,pData) \ | ||
| 2094 | ( (This)->lpVtbl -> SetPrivateData(This,guid,DataSize,pData) ) | ||
| 2095 | |||
| 2096 | #define ID3D12DeviceChild_SetPrivateDataInterface(This,guid,pData) \ | ||
| 2097 | ( (This)->lpVtbl -> SetPrivateDataInterface(This,guid,pData) ) | ||
| 2098 | |||
| 2099 | #define ID3D12DeviceChild_SetName(This,Name) \ | ||
| 2100 | ( (This)->lpVtbl -> SetName(This,Name) ) | ||
| 2101 | |||
| 2102 | |||
| 2103 | #define ID3D12DeviceChild_GetDevice(This,riid,ppvDevice) \ | ||
| 2104 | ( (This)->lpVtbl -> GetDevice(This,riid,ppvDevice) ) | ||
| 2105 | |||
| 2106 | #endif /* COBJMACROS */ | ||
| 2107 | |||
| 2108 | |||
| 2109 | #endif /* C style interface */ | ||
| 2110 | |||
| 2111 | |||
| 2112 | |||
| 2113 | |||
| 2114 | #endif /* __ID3D12DeviceChild_INTERFACE_DEFINED__ */ | ||
| 2115 | |||
| 2116 | |||
| 2117 | #ifndef __ID3D12RootSignature_INTERFACE_DEFINED__ | ||
| 2118 | #define __ID3D12RootSignature_INTERFACE_DEFINED__ | ||
| 2119 | |||
| 2120 | /* interface ID3D12RootSignature */ | ||
| 2121 | /* [unique][local][object][uuid] */ | ||
| 2122 | |||
| 2123 | |||
| 2124 | EXTERN_C const IID IID_ID3D12RootSignature; | ||
| 2125 | |||
| 2126 | #if defined(__cplusplus) && !defined(CINTERFACE) | ||
| 2127 | |||
| 2128 | MIDL_INTERFACE("c54a6b66-72df-4ee8-8be5-a946a1429214") | ||
| 2129 | ID3D12RootSignature : public ID3D12DeviceChild | ||
| 2130 | { | ||
| 2131 | public: | ||
| 2132 | }; | ||
| 2133 | |||
| 2134 | |||
| 2135 | #else /* C style interface */ | ||
| 2136 | |||
| 2137 | typedef struct ID3D12RootSignatureVtbl | ||
| 2138 | { | ||
| 2139 | BEGIN_INTERFACE | ||
| 2140 | |||
| 2141 | DECLSPEC_XFGVIRT(IUnknown, QueryInterface) | ||
| 2142 | HRESULT ( STDMETHODCALLTYPE *QueryInterface )( | ||
| 2143 | ID3D12RootSignature * This, | ||
| 2144 | REFIID riid, | ||
| 2145 | _COM_Outptr_ void **ppvObject); | ||
| 2146 | |||
| 2147 | DECLSPEC_XFGVIRT(IUnknown, AddRef) | ||
| 2148 | ULONG ( STDMETHODCALLTYPE *AddRef )( | ||
| 2149 | ID3D12RootSignature * This); | ||
| 2150 | |||
| 2151 | DECLSPEC_XFGVIRT(IUnknown, Release) | ||
| 2152 | ULONG ( STDMETHODCALLTYPE *Release )( | ||
| 2153 | ID3D12RootSignature * This); | ||
| 2154 | |||
| 2155 | DECLSPEC_XFGVIRT(ID3D12Object, GetPrivateData) | ||
| 2156 | HRESULT ( STDMETHODCALLTYPE *GetPrivateData )( | ||
| 2157 | ID3D12RootSignature * This, | ||
| 2158 | _In_ REFGUID guid, | ||
| 2159 | _Inout_ UINT *pDataSize, | ||
| 2160 | _Out_writes_bytes_opt_( *pDataSize ) void *pData); | ||
| 2161 | |||
| 2162 | DECLSPEC_XFGVIRT(ID3D12Object, SetPrivateData) | ||
| 2163 | HRESULT ( STDMETHODCALLTYPE *SetPrivateData )( | ||
| 2164 | ID3D12RootSignature * This, | ||
| 2165 | _In_ REFGUID guid, | ||
| 2166 | _In_ UINT DataSize, | ||
| 2167 | _In_reads_bytes_opt_( DataSize ) const void *pData); | ||
| 2168 | |||
| 2169 | DECLSPEC_XFGVIRT(ID3D12Object, SetPrivateDataInterface) | ||
| 2170 | HRESULT ( STDMETHODCALLTYPE *SetPrivateDataInterface )( | ||
| 2171 | ID3D12RootSignature * This, | ||
| 2172 | _In_ REFGUID guid, | ||
| 2173 | _In_opt_ const IUnknown *pData); | ||
| 2174 | |||
| 2175 | DECLSPEC_XFGVIRT(ID3D12Object, SetName) | ||
| 2176 | HRESULT ( STDMETHODCALLTYPE *SetName )( | ||
| 2177 | ID3D12RootSignature * This, | ||
| 2178 | _In_z_ LPCWSTR Name); | ||
| 2179 | |||
| 2180 | DECLSPEC_XFGVIRT(ID3D12DeviceChild, GetDevice) | ||
| 2181 | HRESULT ( STDMETHODCALLTYPE *GetDevice )( | ||
| 2182 | ID3D12RootSignature * This, | ||
| 2183 | REFIID riid, | ||
| 2184 | _COM_Outptr_opt_ void **ppvDevice); | ||
| 2185 | |||
| 2186 | END_INTERFACE | ||
| 2187 | } ID3D12RootSignatureVtbl; | ||
| 2188 | |||
| 2189 | interface ID3D12RootSignature | ||
| 2190 | { | ||
| 2191 | CONST_VTBL struct ID3D12RootSignatureVtbl *lpVtbl; | ||
| 2192 | }; | ||
| 2193 | |||
| 2194 | |||
| 2195 | |||
| 2196 | #ifdef COBJMACROS | ||
| 2197 | |||
| 2198 | |||
| 2199 | #define ID3D12RootSignature_QueryInterface(This,riid,ppvObject) \ | ||
| 2200 | ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) | ||
| 2201 | |||
| 2202 | #define ID3D12RootSignature_AddRef(This) \ | ||
| 2203 | ( (This)->lpVtbl -> AddRef(This) ) | ||
| 2204 | |||
| 2205 | #define ID3D12RootSignature_Release(This) \ | ||
| 2206 | ( (This)->lpVtbl -> Release(This) ) | ||
| 2207 | |||
| 2208 | |||
| 2209 | #define ID3D12RootSignature_GetPrivateData(This,guid,pDataSize,pData) \ | ||
| 2210 | ( (This)->lpVtbl -> GetPrivateData(This,guid,pDataSize,pData) ) | ||
| 2211 | |||
| 2212 | #define ID3D12RootSignature_SetPrivateData(This,guid,DataSize,pData) \ | ||
| 2213 | ( (This)->lpVtbl -> SetPrivateData(This,guid,DataSize,pData) ) | ||
| 2214 | |||
| 2215 | #define ID3D12RootSignature_SetPrivateDataInterface(This,guid,pData) \ | ||
| 2216 | ( (This)->lpVtbl -> SetPrivateDataInterface(This,guid,pData) ) | ||
| 2217 | |||
| 2218 | #define ID3D12RootSignature_SetName(This,Name) \ | ||
| 2219 | ( (This)->lpVtbl -> SetName(This,Name) ) | ||
| 2220 | |||
| 2221 | |||
| 2222 | #define ID3D12RootSignature_GetDevice(This,riid,ppvDevice) \ | ||
| 2223 | ( (This)->lpVtbl -> GetDevice(This,riid,ppvDevice) ) | ||
| 2224 | |||
| 2225 | |||
| 2226 | #endif /* COBJMACROS */ | ||
| 2227 | |||
| 2228 | |||
| 2229 | #endif /* C style interface */ | ||
| 2230 | |||
| 2231 | |||
| 2232 | |||
| 2233 | |||
| 2234 | #endif /* __ID3D12RootSignature_INTERFACE_DEFINED__ */ | ||
| 2235 | |||
| 2236 | |||
| 2237 | /* interface __MIDL_itf_d3d12_0000_0001 */ | ||
| 2238 | /* [local] */ | ||
| 2239 | |||
| 2240 | typedef struct D3D12_SHADER_BYTECODE | ||
| 2241 | { | ||
| 2242 | _Field_size_bytes_full_(BytecodeLength) const void *pShaderBytecode; | ||
| 2243 | SIZE_T BytecodeLength; | ||
| 2244 | } D3D12_SHADER_BYTECODE; | ||
| 2245 | |||
| 2246 | typedef struct D3D12_STREAM_OUTPUT_DESC | ||
| 2247 | { | ||
| 2248 | _Field_size_full_(NumEntries) const D3D12_SO_DECLARATION_ENTRY *pSODeclaration; | ||
| 2249 | UINT NumEntries; | ||
| 2250 | _Field_size_full_(NumStrides) const UINT *pBufferStrides; | ||
| 2251 | UINT NumStrides; | ||
| 2252 | UINT RasterizedStream; | ||
| 2253 | } D3D12_STREAM_OUTPUT_DESC; | ||
| 2254 | |||
| 2255 | typedef struct D3D12_INPUT_LAYOUT_DESC | ||
| 2256 | { | ||
| 2257 | _Field_size_full_(NumElements) const D3D12_INPUT_ELEMENT_DESC *pInputElementDescs; | ||
| 2258 | UINT NumElements; | ||
| 2259 | } D3D12_INPUT_LAYOUT_DESC; | ||
| 2260 | |||
| 2261 | typedef | ||
| 2262 | enum D3D12_INDEX_BUFFER_STRIP_CUT_VALUE | ||
| 2263 | { | ||
| 2264 | D3D12_INDEX_BUFFER_STRIP_CUT_VALUE_DISABLED = 0, | ||
| 2265 | D3D12_INDEX_BUFFER_STRIP_CUT_VALUE_0xFFFF = 1, | ||
| 2266 | D3D12_INDEX_BUFFER_STRIP_CUT_VALUE_0xFFFFFFFF = 2 | ||
| 2267 | } D3D12_INDEX_BUFFER_STRIP_CUT_VALUE; | ||
| 2268 | |||
| 2269 | typedef | ||
| 2270 | enum D3D12_STANDARD_MULTISAMPLE_QUALITY_LEVELS | ||
| 2271 | { | ||
| 2272 | D3D12_STANDARD_MULTISAMPLE_PATTERN = 0xffffffff, | ||
| 2273 | D3D12_CENTER_MULTISAMPLE_PATTERN = 0xfffffffe | ||
| 2274 | } D3D12_STANDARD_MULTISAMPLE_QUALITY_LEVELS; | ||
| 2275 | |||
| 2276 | typedef struct D3D12_CACHED_PIPELINE_STATE | ||
| 2277 | { | ||
| 2278 | _Field_size_bytes_full_(CachedBlobSizeInBytes) const void *pCachedBlob; | ||
| 2279 | SIZE_T CachedBlobSizeInBytes; | ||
| 2280 | } D3D12_CACHED_PIPELINE_STATE; | ||
| 2281 | |||
| 2282 | typedef | ||
| 2283 | enum D3D12_PIPELINE_STATE_FLAGS | ||
| 2284 | { | ||
| 2285 | D3D12_PIPELINE_STATE_FLAG_NONE = 0, | ||
| 2286 | D3D12_PIPELINE_STATE_FLAG_TOOL_DEBUG = 0x1, | ||
| 2287 | D3D12_PIPELINE_STATE_FLAG_DYNAMIC_DEPTH_BIAS = 0x4, | ||
| 2288 | D3D12_PIPELINE_STATE_FLAG_DYNAMIC_INDEX_BUFFER_STRIP_CUT = 0x8 | ||
| 2289 | } D3D12_PIPELINE_STATE_FLAGS; | ||
| 2290 | |||
| 2291 | DEFINE_ENUM_FLAG_OPERATORS( D3D12_PIPELINE_STATE_FLAGS ) | ||
| 2292 | typedef struct D3D12_GRAPHICS_PIPELINE_STATE_DESC | ||
| 2293 | { | ||
| 2294 | ID3D12RootSignature *pRootSignature; | ||
| 2295 | D3D12_SHADER_BYTECODE VS; | ||
| 2296 | D3D12_SHADER_BYTECODE PS; | ||
| 2297 | D3D12_SHADER_BYTECODE DS; | ||
| 2298 | D3D12_SHADER_BYTECODE HS; | ||
| 2299 | D3D12_SHADER_BYTECODE GS; | ||
| 2300 | D3D12_STREAM_OUTPUT_DESC StreamOutput; | ||
| 2301 | D3D12_BLEND_DESC BlendState; | ||
| 2302 | UINT SampleMask; | ||
| 2303 | D3D12_RASTERIZER_DESC RasterizerState; | ||
| 2304 | D3D12_DEPTH_STENCIL_DESC DepthStencilState; | ||
| 2305 | D3D12_INPUT_LAYOUT_DESC InputLayout; | ||
| 2306 | D3D12_INDEX_BUFFER_STRIP_CUT_VALUE IBStripCutValue; | ||
| 2307 | D3D12_PRIMITIVE_TOPOLOGY_TYPE PrimitiveTopologyType; | ||
| 2308 | UINT NumRenderTargets; | ||
| 2309 | DXGI_FORMAT RTVFormats[ 8 ]; | ||
| 2310 | DXGI_FORMAT DSVFormat; | ||
| 2311 | DXGI_SAMPLE_DESC SampleDesc; | ||
| 2312 | UINT NodeMask; | ||
| 2313 | D3D12_CACHED_PIPELINE_STATE CachedPSO; | ||
| 2314 | D3D12_PIPELINE_STATE_FLAGS Flags; | ||
| 2315 | } D3D12_GRAPHICS_PIPELINE_STATE_DESC; | ||
| 2316 | |||
| 2317 | typedef struct D3D12_COMPUTE_PIPELINE_STATE_DESC | ||
| 2318 | { | ||
| 2319 | ID3D12RootSignature *pRootSignature; | ||
| 2320 | D3D12_SHADER_BYTECODE CS; | ||
| 2321 | UINT NodeMask; | ||
| 2322 | D3D12_CACHED_PIPELINE_STATE CachedPSO; | ||
| 2323 | D3D12_PIPELINE_STATE_FLAGS Flags; | ||
| 2324 | } D3D12_COMPUTE_PIPELINE_STATE_DESC; | ||
| 2325 | |||
| 2326 | typedef | ||
| 2327 | enum D3D_ROOT_SIGNATURE_VERSION | ||
| 2328 | { | ||
| 2329 | D3D_ROOT_SIGNATURE_VERSION_1 = 0x1, | ||
| 2330 | D3D_ROOT_SIGNATURE_VERSION_1_0 = 0x1, | ||
| 2331 | D3D_ROOT_SIGNATURE_VERSION_1_1 = 0x2, | ||
| 2332 | D3D_ROOT_SIGNATURE_VERSION_1_2 = 0x3 | ||
| 2333 | } D3D_ROOT_SIGNATURE_VERSION; | ||
| 2334 | |||
| 2335 | typedef struct D3D12_SERIALIZED_ROOT_SIGNATURE_DESC | ||
| 2336 | { | ||
| 2337 | _Field_size_bytes_full_(SerializedBlobSizeInBytes) const void *pSerializedBlob; | ||
| 2338 | SIZE_T SerializedBlobSizeInBytes; | ||
| 2339 | } D3D12_SERIALIZED_ROOT_SIGNATURE_DESC; | ||
| 2340 | |||
| 2341 | typedef struct D3D12_GLOBAL_SERIALIZED_ROOT_SIGNATURE | ||
| 2342 | { | ||
| 2343 | D3D12_SERIALIZED_ROOT_SIGNATURE_DESC Desc; | ||
| 2344 | } D3D12_GLOBAL_SERIALIZED_ROOT_SIGNATURE; | ||
| 2345 | |||
| 2346 | typedef struct D3D12_LOCAL_SERIALIZED_ROOT_SIGNATURE | ||
| 2347 | { | ||
| 2348 | D3D12_SERIALIZED_ROOT_SIGNATURE_DESC Desc; | ||
| 2349 | } D3D12_LOCAL_SERIALIZED_ROOT_SIGNATURE; | ||
| 2350 | |||
| 2351 | struct D3D12_RT_FORMAT_ARRAY | ||
| 2352 | { | ||
| 2353 | DXGI_FORMAT RTFormats[ 8 ]; | ||
| 2354 | UINT NumRenderTargets; | ||
| 2355 | } ; | ||
| 2356 | typedef struct D3D12_PIPELINE_STATE_STREAM_DESC | ||
| 2357 | { | ||
| 2358 | _In_ SIZE_T SizeInBytes; | ||
| 2359 | _In_reads_(_Inexpressible_("Dependent on size of subobjects")) void *pPipelineStateSubobjectStream; | ||
| 2360 | } D3D12_PIPELINE_STATE_STREAM_DESC; | ||
| 2361 | |||
| 2362 | typedef | ||
| 2363 | enum D3D12_PIPELINE_STATE_SUBOBJECT_TYPE | ||
| 2364 | { | ||
| 2365 | D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_ROOT_SIGNATURE = 0, | ||
| 2366 | D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_VS = ( D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_ROOT_SIGNATURE + 1 ) , | ||
| 2367 | D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_PS = ( D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_VS + 1 ) , | ||
| 2368 | D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_DS = ( D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_PS + 1 ) , | ||
| 2369 | D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_HS = ( D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_DS + 1 ) , | ||
| 2370 | D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_GS = ( D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_HS + 1 ) , | ||
| 2371 | D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_CS = ( D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_GS + 1 ) , | ||
| 2372 | D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_STREAM_OUTPUT = ( D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_CS + 1 ) , | ||
| 2373 | D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_BLEND = ( D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_STREAM_OUTPUT + 1 ) , | ||
| 2374 | D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_SAMPLE_MASK = ( D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_BLEND + 1 ) , | ||
| 2375 | D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_RASTERIZER = ( D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_SAMPLE_MASK + 1 ) , | ||
| 2376 | D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_DEPTH_STENCIL = ( D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_RASTERIZER + 1 ) , | ||
| 2377 | D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_INPUT_LAYOUT = ( D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_DEPTH_STENCIL + 1 ) , | ||
| 2378 | D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_IB_STRIP_CUT_VALUE = ( D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_INPUT_LAYOUT + 1 ) , | ||
| 2379 | D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_PRIMITIVE_TOPOLOGY = ( D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_IB_STRIP_CUT_VALUE + 1 ) , | ||
| 2380 | D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_RENDER_TARGET_FORMATS = ( D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_PRIMITIVE_TOPOLOGY + 1 ) , | ||
| 2381 | D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_DEPTH_STENCIL_FORMAT = ( D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_RENDER_TARGET_FORMATS + 1 ) , | ||
| 2382 | D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_SAMPLE_DESC = ( D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_DEPTH_STENCIL_FORMAT + 1 ) , | ||
| 2383 | D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_NODE_MASK = ( D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_SAMPLE_DESC + 1 ) , | ||
| 2384 | D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_CACHED_PSO = ( D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_NODE_MASK + 1 ) , | ||
| 2385 | D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_FLAGS = ( D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_CACHED_PSO + 1 ) , | ||
| 2386 | D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_DEPTH_STENCIL1 = ( D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_FLAGS + 1 ) , | ||
| 2387 | D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_VIEW_INSTANCING = ( D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_DEPTH_STENCIL1 + 1 ) , | ||
| 2388 | D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_AS = 24, | ||
| 2389 | D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_MS = 25, | ||
| 2390 | D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_DEPTH_STENCIL2 = 26, | ||
| 2391 | D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_RASTERIZER1 = 27, | ||
| 2392 | D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_RASTERIZER2 = 28, | ||
| 2393 | D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_SERIALIZED_ROOT_SIGNATURE = 29, | ||
| 2394 | D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_MAX_VALID = ( D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_SERIALIZED_ROOT_SIGNATURE + 1 ) | ||
| 2395 | } D3D12_PIPELINE_STATE_SUBOBJECT_TYPE; | ||
| 2396 | |||
| 2397 | typedef | ||
| 2398 | enum D3D12_FEATURE | ||
| 2399 | { | ||
| 2400 | D3D12_FEATURE_D3D12_OPTIONS = 0, | ||
| 2401 | D3D12_FEATURE_ARCHITECTURE = 1, | ||
| 2402 | D3D12_FEATURE_FEATURE_LEVELS = 2, | ||
| 2403 | D3D12_FEATURE_FORMAT_SUPPORT = 3, | ||
| 2404 | D3D12_FEATURE_MULTISAMPLE_QUALITY_LEVELS = 4, | ||
| 2405 | D3D12_FEATURE_FORMAT_INFO = 5, | ||
| 2406 | D3D12_FEATURE_GPU_VIRTUAL_ADDRESS_SUPPORT = 6, | ||
| 2407 | D3D12_FEATURE_SHADER_MODEL = 7, | ||
| 2408 | D3D12_FEATURE_D3D12_OPTIONS1 = 8, | ||
| 2409 | D3D12_FEATURE_PROTECTED_RESOURCE_SESSION_SUPPORT = 10, | ||
| 2410 | D3D12_FEATURE_ROOT_SIGNATURE = 12, | ||
| 2411 | D3D12_FEATURE_ARCHITECTURE1 = 16, | ||
| 2412 | D3D12_FEATURE_D3D12_OPTIONS2 = 18, | ||
| 2413 | D3D12_FEATURE_SHADER_CACHE = 19, | ||
| 2414 | D3D12_FEATURE_COMMAND_QUEUE_PRIORITY = 20, | ||
| 2415 | D3D12_FEATURE_D3D12_OPTIONS3 = 21, | ||
| 2416 | D3D12_FEATURE_EXISTING_HEAPS = 22, | ||
| 2417 | D3D12_FEATURE_D3D12_OPTIONS4 = 23, | ||
| 2418 | D3D12_FEATURE_SERIALIZATION = 24, | ||
| 2419 | D3D12_FEATURE_CROSS_NODE = 25, | ||
| 2420 | D3D12_FEATURE_D3D12_OPTIONS5 = 27, | ||
| 2421 | D3D12_FEATURE_DISPLAYABLE = 28, | ||
| 2422 | D3D12_FEATURE_D3D12_OPTIONS6 = 30, | ||
| 2423 | D3D12_FEATURE_QUERY_META_COMMAND = 31, | ||
| 2424 | D3D12_FEATURE_D3D12_OPTIONS7 = 32, | ||
| 2425 | D3D12_FEATURE_PROTECTED_RESOURCE_SESSION_TYPE_COUNT = 33, | ||
| 2426 | D3D12_FEATURE_PROTECTED_RESOURCE_SESSION_TYPES = 34, | ||
| 2427 | D3D12_FEATURE_D3D12_OPTIONS8 = 36, | ||
| 2428 | D3D12_FEATURE_D3D12_OPTIONS9 = 37, | ||
| 2429 | D3D12_FEATURE_D3D12_OPTIONS10 = 39, | ||
| 2430 | D3D12_FEATURE_D3D12_OPTIONS11 = 40, | ||
| 2431 | D3D12_FEATURE_D3D12_OPTIONS12 = 41, | ||
| 2432 | D3D12_FEATURE_D3D12_OPTIONS13 = 42, | ||
| 2433 | D3D12_FEATURE_D3D12_OPTIONS14 = 43, | ||
| 2434 | D3D12_FEATURE_D3D12_OPTIONS15 = 44, | ||
| 2435 | D3D12_FEATURE_D3D12_OPTIONS16 = 45, | ||
| 2436 | D3D12_FEATURE_D3D12_OPTIONS17 = 46, | ||
| 2437 | D3D12_FEATURE_D3D12_OPTIONS18 = 47, | ||
| 2438 | D3D12_FEATURE_D3D12_OPTIONS19 = 48, | ||
| 2439 | D3D12_FEATURE_D3D12_OPTIONS20 = 49, | ||
| 2440 | D3D12_FEATURE_PREDICATION = 50, | ||
| 2441 | D3D12_FEATURE_PLACED_RESOURCE_SUPPORT_INFO = 51, | ||
| 2442 | D3D12_FEATURE_HARDWARE_COPY = 52, | ||
| 2443 | D3D12_FEATURE_D3D12_OPTIONS21 = 53, | ||
| 2444 | D3D12_FEATURE_D3D12_TIGHT_ALIGNMENT = 54, | ||
| 2445 | D3D12_FEATURE_APPLICATION_SPECIFIC_DRIVER_STATE = 56, | ||
| 2446 | D3D12_FEATURE_BYTECODE_BYPASS_HASH_SUPPORTED = 57, | ||
| 2447 | D3D12_FEATURE_SHADER_CACHE_ABI_SUPPORT = 61 | ||
| 2448 | } D3D12_FEATURE; | ||
| 2449 | |||
| 2450 | typedef | ||
| 2451 | enum D3D12_SHADER_MIN_PRECISION_SUPPORT | ||
| 2452 | { | ||
| 2453 | D3D12_SHADER_MIN_PRECISION_SUPPORT_NONE = 0, | ||
| 2454 | D3D12_SHADER_MIN_PRECISION_SUPPORT_10_BIT = 0x1, | ||
| 2455 | D3D12_SHADER_MIN_PRECISION_SUPPORT_16_BIT = 0x2 | ||
| 2456 | } D3D12_SHADER_MIN_PRECISION_SUPPORT; | ||
| 2457 | |||
| 2458 | DEFINE_ENUM_FLAG_OPERATORS( D3D12_SHADER_MIN_PRECISION_SUPPORT ) | ||
| 2459 | typedef | ||
| 2460 | enum D3D12_TILED_RESOURCES_TIER | ||
| 2461 | { | ||
| 2462 | D3D12_TILED_RESOURCES_TIER_NOT_SUPPORTED = 0, | ||
| 2463 | D3D12_TILED_RESOURCES_TIER_1 = 1, | ||
| 2464 | D3D12_TILED_RESOURCES_TIER_2 = 2, | ||
| 2465 | D3D12_TILED_RESOURCES_TIER_3 = 3, | ||
| 2466 | D3D12_TILED_RESOURCES_TIER_4 = 4 | ||
| 2467 | } D3D12_TILED_RESOURCES_TIER; | ||
| 2468 | |||
| 2469 | typedef | ||
| 2470 | enum D3D12_RESOURCE_BINDING_TIER | ||
| 2471 | { | ||
| 2472 | D3D12_RESOURCE_BINDING_TIER_1 = 1, | ||
| 2473 | D3D12_RESOURCE_BINDING_TIER_2 = 2, | ||
| 2474 | D3D12_RESOURCE_BINDING_TIER_3 = 3 | ||
| 2475 | } D3D12_RESOURCE_BINDING_TIER; | ||
| 2476 | |||
| 2477 | typedef | ||
| 2478 | enum D3D12_CONSERVATIVE_RASTERIZATION_TIER | ||
| 2479 | { | ||
| 2480 | D3D12_CONSERVATIVE_RASTERIZATION_TIER_NOT_SUPPORTED = 0, | ||
| 2481 | D3D12_CONSERVATIVE_RASTERIZATION_TIER_1 = 1, | ||
| 2482 | D3D12_CONSERVATIVE_RASTERIZATION_TIER_2 = 2, | ||
| 2483 | D3D12_CONSERVATIVE_RASTERIZATION_TIER_3 = 3 | ||
| 2484 | } D3D12_CONSERVATIVE_RASTERIZATION_TIER; | ||
| 2485 | |||
| 2486 | typedef | ||
| 2487 | enum D3D12_FORMAT_SUPPORT1 | ||
| 2488 | { | ||
| 2489 | D3D12_FORMAT_SUPPORT1_NONE = 0, | ||
| 2490 | D3D12_FORMAT_SUPPORT1_BUFFER = 0x1, | ||
| 2491 | D3D12_FORMAT_SUPPORT1_IA_VERTEX_BUFFER = 0x2, | ||
| 2492 | D3D12_FORMAT_SUPPORT1_IA_INDEX_BUFFER = 0x4, | ||
| 2493 | D3D12_FORMAT_SUPPORT1_SO_BUFFER = 0x8, | ||
| 2494 | D3D12_FORMAT_SUPPORT1_TEXTURE1D = 0x10, | ||
| 2495 | D3D12_FORMAT_SUPPORT1_TEXTURE2D = 0x20, | ||
| 2496 | D3D12_FORMAT_SUPPORT1_TEXTURE3D = 0x40, | ||
| 2497 | D3D12_FORMAT_SUPPORT1_TEXTURECUBE = 0x80, | ||
| 2498 | D3D12_FORMAT_SUPPORT1_SHADER_LOAD = 0x100, | ||
| 2499 | D3D12_FORMAT_SUPPORT1_SHADER_SAMPLE = 0x200, | ||
| 2500 | D3D12_FORMAT_SUPPORT1_SHADER_SAMPLE_COMPARISON = 0x400, | ||
| 2501 | D3D12_FORMAT_SUPPORT1_SHADER_SAMPLE_MONO_TEXT = 0x800, | ||
| 2502 | D3D12_FORMAT_SUPPORT1_MIP = 0x1000, | ||
| 2503 | D3D12_FORMAT_SUPPORT1_RENDER_TARGET = 0x4000, | ||
| 2504 | D3D12_FORMAT_SUPPORT1_BLENDABLE = 0x8000, | ||
| 2505 | D3D12_FORMAT_SUPPORT1_DEPTH_STENCIL = 0x10000, | ||
| 2506 | D3D12_FORMAT_SUPPORT1_MULTISAMPLE_RESOLVE = 0x40000, | ||
| 2507 | D3D12_FORMAT_SUPPORT1_DISPLAY = 0x80000, | ||
| 2508 | D3D12_FORMAT_SUPPORT1_CAST_WITHIN_BIT_LAYOUT = 0x100000, | ||
| 2509 | D3D12_FORMAT_SUPPORT1_MULTISAMPLE_RENDERTARGET = 0x200000, | ||
| 2510 | D3D12_FORMAT_SUPPORT1_MULTISAMPLE_LOAD = 0x400000, | ||
| 2511 | D3D12_FORMAT_SUPPORT1_SHADER_GATHER = 0x800000, | ||
| 2512 | D3D12_FORMAT_SUPPORT1_BACK_BUFFER_CAST = 0x1000000, | ||
| 2513 | D3D12_FORMAT_SUPPORT1_TYPED_UNORDERED_ACCESS_VIEW = 0x2000000, | ||
| 2514 | D3D12_FORMAT_SUPPORT1_SHADER_GATHER_COMPARISON = 0x4000000, | ||
| 2515 | D3D12_FORMAT_SUPPORT1_DECODER_OUTPUT = 0x8000000, | ||
| 2516 | D3D12_FORMAT_SUPPORT1_VIDEO_PROCESSOR_OUTPUT = 0x10000000, | ||
| 2517 | D3D12_FORMAT_SUPPORT1_VIDEO_PROCESSOR_INPUT = 0x20000000, | ||
| 2518 | D3D12_FORMAT_SUPPORT1_VIDEO_ENCODER = 0x40000000 | ||
| 2519 | } D3D12_FORMAT_SUPPORT1; | ||
| 2520 | |||
| 2521 | DEFINE_ENUM_FLAG_OPERATORS( D3D12_FORMAT_SUPPORT1 ) | ||
| 2522 | typedef | ||
| 2523 | enum D3D12_FORMAT_SUPPORT2 | ||
| 2524 | { | ||
| 2525 | D3D12_FORMAT_SUPPORT2_NONE = 0, | ||
| 2526 | D3D12_FORMAT_SUPPORT2_UAV_ATOMIC_ADD = 0x1, | ||
| 2527 | D3D12_FORMAT_SUPPORT2_UAV_ATOMIC_BITWISE_OPS = 0x2, | ||
| 2528 | D3D12_FORMAT_SUPPORT2_UAV_ATOMIC_COMPARE_STORE_OR_COMPARE_EXCHANGE = 0x4, | ||
| 2529 | D3D12_FORMAT_SUPPORT2_UAV_ATOMIC_EXCHANGE = 0x8, | ||
| 2530 | D3D12_FORMAT_SUPPORT2_UAV_ATOMIC_SIGNED_MIN_OR_MAX = 0x10, | ||
| 2531 | D3D12_FORMAT_SUPPORT2_UAV_ATOMIC_UNSIGNED_MIN_OR_MAX = 0x20, | ||
| 2532 | D3D12_FORMAT_SUPPORT2_UAV_TYPED_LOAD = 0x40, | ||
| 2533 | D3D12_FORMAT_SUPPORT2_UAV_TYPED_STORE = 0x80, | ||
| 2534 | D3D12_FORMAT_SUPPORT2_OUTPUT_MERGER_LOGIC_OP = 0x100, | ||
| 2535 | D3D12_FORMAT_SUPPORT2_TILED = 0x200, | ||
| 2536 | D3D12_FORMAT_SUPPORT2_MULTIPLANE_OVERLAY = 0x4000, | ||
| 2537 | D3D12_FORMAT_SUPPORT2_SAMPLER_FEEDBACK = 0x8000, | ||
| 2538 | D3D12_FORMAT_SUPPORT2_DISPLAYABLE = 0x10000 | ||
| 2539 | } D3D12_FORMAT_SUPPORT2; | ||
| 2540 | |||
| 2541 | DEFINE_ENUM_FLAG_OPERATORS( D3D12_FORMAT_SUPPORT2 ) | ||
| 2542 | typedef | ||
| 2543 | enum D3D12_MULTISAMPLE_QUALITY_LEVEL_FLAGS | ||
| 2544 | { | ||
| 2545 | D3D12_MULTISAMPLE_QUALITY_LEVELS_FLAG_NONE = 0, | ||
| 2546 | D3D12_MULTISAMPLE_QUALITY_LEVELS_FLAG_TILED_RESOURCE = 0x1 | ||
| 2547 | } D3D12_MULTISAMPLE_QUALITY_LEVEL_FLAGS; | ||
| 2548 | |||
| 2549 | DEFINE_ENUM_FLAG_OPERATORS( D3D12_MULTISAMPLE_QUALITY_LEVEL_FLAGS ) | ||
| 2550 | typedef | ||
| 2551 | enum D3D12_CROSS_NODE_SHARING_TIER | ||
| 2552 | { | ||
| 2553 | D3D12_CROSS_NODE_SHARING_TIER_NOT_SUPPORTED = 0, | ||
| 2554 | D3D12_CROSS_NODE_SHARING_TIER_1_EMULATED = 1, | ||
| 2555 | D3D12_CROSS_NODE_SHARING_TIER_1 = 2, | ||
| 2556 | D3D12_CROSS_NODE_SHARING_TIER_2 = 3, | ||
| 2557 | D3D12_CROSS_NODE_SHARING_TIER_3 = 4 | ||
| 2558 | } D3D12_CROSS_NODE_SHARING_TIER; | ||
| 2559 | |||
| 2560 | typedef | ||
| 2561 | enum D3D12_RESOURCE_HEAP_TIER | ||
| 2562 | { | ||
| 2563 | D3D12_RESOURCE_HEAP_TIER_1 = 1, | ||
| 2564 | D3D12_RESOURCE_HEAP_TIER_2 = 2 | ||
| 2565 | } D3D12_RESOURCE_HEAP_TIER; | ||
| 2566 | |||
| 2567 | typedef | ||
| 2568 | enum D3D12_PROGRAMMABLE_SAMPLE_POSITIONS_TIER | ||
| 2569 | { | ||
| 2570 | D3D12_PROGRAMMABLE_SAMPLE_POSITIONS_TIER_NOT_SUPPORTED = 0, | ||
| 2571 | D3D12_PROGRAMMABLE_SAMPLE_POSITIONS_TIER_1 = 1, | ||
| 2572 | D3D12_PROGRAMMABLE_SAMPLE_POSITIONS_TIER_2 = 2 | ||
| 2573 | } D3D12_PROGRAMMABLE_SAMPLE_POSITIONS_TIER; | ||
| 2574 | |||
| 2575 | typedef | ||
| 2576 | enum D3D12_VIEW_INSTANCING_TIER | ||
| 2577 | { | ||
| 2578 | D3D12_VIEW_INSTANCING_TIER_NOT_SUPPORTED = 0, | ||
| 2579 | D3D12_VIEW_INSTANCING_TIER_1 = 1, | ||
| 2580 | D3D12_VIEW_INSTANCING_TIER_2 = 2, | ||
| 2581 | D3D12_VIEW_INSTANCING_TIER_3 = 3 | ||
| 2582 | } D3D12_VIEW_INSTANCING_TIER; | ||
| 2583 | |||
| 2584 | typedef | ||
| 2585 | enum D3D12_WORK_GRAPHS_TIER | ||
| 2586 | { | ||
| 2587 | D3D12_WORK_GRAPHS_TIER_NOT_SUPPORTED = 0, | ||
| 2588 | D3D12_WORK_GRAPHS_TIER_1_0 = 10 | ||
| 2589 | } D3D12_WORK_GRAPHS_TIER; | ||
| 2590 | |||
| 2591 | typedef struct D3D12_FEATURE_DATA_D3D12_OPTIONS | ||
| 2592 | { | ||
| 2593 | _Out_ BOOL DoublePrecisionFloatShaderOps; | ||
| 2594 | _Out_ BOOL OutputMergerLogicOp; | ||
| 2595 | _Out_ D3D12_SHADER_MIN_PRECISION_SUPPORT MinPrecisionSupport; | ||
| 2596 | _Out_ D3D12_TILED_RESOURCES_TIER TiledResourcesTier; | ||
| 2597 | _Out_ D3D12_RESOURCE_BINDING_TIER ResourceBindingTier; | ||
| 2598 | _Out_ BOOL PSSpecifiedStencilRefSupported; | ||
| 2599 | _Out_ BOOL TypedUAVLoadAdditionalFormats; | ||
| 2600 | _Out_ BOOL ROVsSupported; | ||
| 2601 | _Out_ D3D12_CONSERVATIVE_RASTERIZATION_TIER ConservativeRasterizationTier; | ||
| 2602 | _Out_ UINT MaxGPUVirtualAddressBitsPerResource; | ||
| 2603 | _Out_ BOOL StandardSwizzle64KBSupported; | ||
| 2604 | _Out_ D3D12_CROSS_NODE_SHARING_TIER CrossNodeSharingTier; | ||
| 2605 | _Out_ BOOL CrossAdapterRowMajorTextureSupported; | ||
| 2606 | _Out_ BOOL VPAndRTArrayIndexFromAnyShaderFeedingRasterizerSupportedWithoutGSEmulation; | ||
| 2607 | _Out_ D3D12_RESOURCE_HEAP_TIER ResourceHeapTier; | ||
| 2608 | } D3D12_FEATURE_DATA_D3D12_OPTIONS; | ||
| 2609 | |||
| 2610 | typedef struct D3D12_FEATURE_DATA_D3D12_OPTIONS1 | ||
| 2611 | { | ||
| 2612 | _Out_ BOOL WaveOps; | ||
| 2613 | _Out_ UINT WaveLaneCountMin; | ||
| 2614 | _Out_ UINT WaveLaneCountMax; | ||
| 2615 | _Out_ UINT TotalLaneCount; | ||
| 2616 | _Out_ BOOL ExpandedComputeResourceStates; | ||
| 2617 | _Out_ BOOL Int64ShaderOps; | ||
| 2618 | } D3D12_FEATURE_DATA_D3D12_OPTIONS1; | ||
| 2619 | |||
| 2620 | typedef struct D3D12_FEATURE_DATA_D3D12_OPTIONS2 | ||
| 2621 | { | ||
| 2622 | _Out_ BOOL DepthBoundsTestSupported; | ||
| 2623 | _Out_ D3D12_PROGRAMMABLE_SAMPLE_POSITIONS_TIER ProgrammableSamplePositionsTier; | ||
| 2624 | } D3D12_FEATURE_DATA_D3D12_OPTIONS2; | ||
| 2625 | |||
| 2626 | typedef struct D3D12_FEATURE_DATA_ROOT_SIGNATURE | ||
| 2627 | { | ||
| 2628 | _Inout_ D3D_ROOT_SIGNATURE_VERSION HighestVersion; | ||
| 2629 | } D3D12_FEATURE_DATA_ROOT_SIGNATURE; | ||
| 2630 | |||
| 2631 | typedef struct D3D12_FEATURE_DATA_ARCHITECTURE | ||
| 2632 | { | ||
| 2633 | _In_ UINT NodeIndex; | ||
| 2634 | _Out_ BOOL TileBasedRenderer; | ||
| 2635 | _Out_ BOOL UMA; | ||
| 2636 | _Out_ BOOL CacheCoherentUMA; | ||
| 2637 | } D3D12_FEATURE_DATA_ARCHITECTURE; | ||
| 2638 | |||
| 2639 | typedef struct D3D12_FEATURE_DATA_ARCHITECTURE1 | ||
| 2640 | { | ||
| 2641 | _In_ UINT NodeIndex; | ||
| 2642 | _Out_ BOOL TileBasedRenderer; | ||
| 2643 | _Out_ BOOL UMA; | ||
| 2644 | _Out_ BOOL CacheCoherentUMA; | ||
| 2645 | _Out_ BOOL IsolatedMMU; | ||
| 2646 | } D3D12_FEATURE_DATA_ARCHITECTURE1; | ||
| 2647 | |||
| 2648 | typedef struct D3D12_FEATURE_DATA_FEATURE_LEVELS | ||
| 2649 | { | ||
| 2650 | _In_ UINT NumFeatureLevels; | ||
| 2651 | _In_reads_(NumFeatureLevels) const D3D_FEATURE_LEVEL *pFeatureLevelsRequested; | ||
| 2652 | _Out_ D3D_FEATURE_LEVEL MaxSupportedFeatureLevel; | ||
| 2653 | } D3D12_FEATURE_DATA_FEATURE_LEVELS; | ||
| 2654 | |||
| 2655 | typedef | ||
| 2656 | enum D3D_SHADER_MODEL | ||
| 2657 | { | ||
| 2658 | D3D_SHADER_MODEL_NONE = 0, | ||
| 2659 | D3D_SHADER_MODEL_5_1 = 0x51, | ||
| 2660 | D3D_SHADER_MODEL_6_0 = 0x60, | ||
| 2661 | D3D_SHADER_MODEL_6_1 = 0x61, | ||
| 2662 | D3D_SHADER_MODEL_6_2 = 0x62, | ||
| 2663 | D3D_SHADER_MODEL_6_3 = 0x63, | ||
| 2664 | D3D_SHADER_MODEL_6_4 = 0x64, | ||
| 2665 | D3D_SHADER_MODEL_6_5 = 0x65, | ||
| 2666 | D3D_SHADER_MODEL_6_6 = 0x66, | ||
| 2667 | D3D_SHADER_MODEL_6_7 = 0x67, | ||
| 2668 | D3D_SHADER_MODEL_6_8 = 0x68, | ||
| 2669 | D3D_SHADER_MODEL_6_9 = 0x69, | ||
| 2670 | D3D_HIGHEST_SHADER_MODEL = D3D_SHADER_MODEL_6_9 | ||
| 2671 | } D3D_SHADER_MODEL; | ||
| 2672 | |||
| 2673 | typedef struct D3D12_FEATURE_DATA_SHADER_MODEL | ||
| 2674 | { | ||
| 2675 | _Inout_ D3D_SHADER_MODEL HighestShaderModel; | ||
| 2676 | } D3D12_FEATURE_DATA_SHADER_MODEL; | ||
| 2677 | |||
| 2678 | typedef struct D3D12_FEATURE_DATA_FORMAT_SUPPORT | ||
| 2679 | { | ||
| 2680 | _In_ DXGI_FORMAT Format; | ||
| 2681 | _Out_ D3D12_FORMAT_SUPPORT1 Support1; | ||
| 2682 | _Out_ D3D12_FORMAT_SUPPORT2 Support2; | ||
| 2683 | } D3D12_FEATURE_DATA_FORMAT_SUPPORT; | ||
| 2684 | |||
| 2685 | typedef struct D3D12_FEATURE_DATA_MULTISAMPLE_QUALITY_LEVELS | ||
| 2686 | { | ||
| 2687 | _In_ DXGI_FORMAT Format; | ||
| 2688 | _In_ UINT SampleCount; | ||
| 2689 | _In_ D3D12_MULTISAMPLE_QUALITY_LEVEL_FLAGS Flags; | ||
| 2690 | _Out_ UINT NumQualityLevels; | ||
| 2691 | } D3D12_FEATURE_DATA_MULTISAMPLE_QUALITY_LEVELS; | ||
| 2692 | |||
| 2693 | typedef struct D3D12_FEATURE_DATA_FORMAT_INFO | ||
| 2694 | { | ||
| 2695 | DXGI_FORMAT Format; | ||
| 2696 | UINT8 PlaneCount; | ||
| 2697 | } D3D12_FEATURE_DATA_FORMAT_INFO; | ||
| 2698 | |||
| 2699 | typedef struct D3D12_FEATURE_DATA_GPU_VIRTUAL_ADDRESS_SUPPORT | ||
| 2700 | { | ||
| 2701 | UINT MaxGPUVirtualAddressBitsPerResource; | ||
| 2702 | UINT MaxGPUVirtualAddressBitsPerProcess; | ||
| 2703 | } D3D12_FEATURE_DATA_GPU_VIRTUAL_ADDRESS_SUPPORT; | ||
| 2704 | |||
| 2705 | typedef | ||
| 2706 | enum D3D12_SHADER_CACHE_SUPPORT_FLAGS | ||
| 2707 | { | ||
| 2708 | D3D12_SHADER_CACHE_SUPPORT_NONE = 0, | ||
| 2709 | D3D12_SHADER_CACHE_SUPPORT_SINGLE_PSO = 0x1, | ||
| 2710 | D3D12_SHADER_CACHE_SUPPORT_LIBRARY = 0x2, | ||
| 2711 | D3D12_SHADER_CACHE_SUPPORT_AUTOMATIC_INPROC_CACHE = 0x4, | ||
| 2712 | D3D12_SHADER_CACHE_SUPPORT_AUTOMATIC_DISK_CACHE = 0x8, | ||
| 2713 | D3D12_SHADER_CACHE_SUPPORT_DRIVER_MANAGED_CACHE = 0x10, | ||
| 2714 | D3D12_SHADER_CACHE_SUPPORT_SHADER_CONTROL_CLEAR = 0x20, | ||
| 2715 | D3D12_SHADER_CACHE_SUPPORT_SHADER_SESSION_DELETE = 0x40 | ||
| 2716 | } D3D12_SHADER_CACHE_SUPPORT_FLAGS; | ||
| 2717 | |||
| 2718 | DEFINE_ENUM_FLAG_OPERATORS( D3D12_SHADER_CACHE_SUPPORT_FLAGS ) | ||
| 2719 | typedef struct D3D12_FEATURE_DATA_SHADER_CACHE | ||
| 2720 | { | ||
| 2721 | _Out_ D3D12_SHADER_CACHE_SUPPORT_FLAGS SupportFlags; | ||
| 2722 | } D3D12_FEATURE_DATA_SHADER_CACHE; | ||
| 2723 | |||
| 2724 | typedef struct D3D12_FEATURE_DATA_COMMAND_QUEUE_PRIORITY | ||
| 2725 | { | ||
| 2726 | _In_ D3D12_COMMAND_LIST_TYPE CommandListType; | ||
| 2727 | _In_ UINT Priority; | ||
| 2728 | _Out_ BOOL PriorityForTypeIsSupported; | ||
| 2729 | } D3D12_FEATURE_DATA_COMMAND_QUEUE_PRIORITY; | ||
| 2730 | |||
| 2731 | typedef | ||
| 2732 | enum D3D12_COMMAND_LIST_SUPPORT_FLAGS | ||
| 2733 | { | ||
| 2734 | D3D12_COMMAND_LIST_SUPPORT_FLAG_NONE = 0, | ||
| 2735 | D3D12_COMMAND_LIST_SUPPORT_FLAG_DIRECT = ( 1 << D3D12_COMMAND_LIST_TYPE_DIRECT ) , | ||
| 2736 | D3D12_COMMAND_LIST_SUPPORT_FLAG_BUNDLE = ( 1 << D3D12_COMMAND_LIST_TYPE_BUNDLE ) , | ||
| 2737 | D3D12_COMMAND_LIST_SUPPORT_FLAG_COMPUTE = ( 1 << D3D12_COMMAND_LIST_TYPE_COMPUTE ) , | ||
| 2738 | D3D12_COMMAND_LIST_SUPPORT_FLAG_COPY = ( 1 << D3D12_COMMAND_LIST_TYPE_COPY ) , | ||
| 2739 | D3D12_COMMAND_LIST_SUPPORT_FLAG_VIDEO_DECODE = ( 1 << D3D12_COMMAND_LIST_TYPE_VIDEO_DECODE ) , | ||
| 2740 | D3D12_COMMAND_LIST_SUPPORT_FLAG_VIDEO_PROCESS = ( 1 << D3D12_COMMAND_LIST_TYPE_VIDEO_PROCESS ) , | ||
| 2741 | D3D12_COMMAND_LIST_SUPPORT_FLAG_VIDEO_ENCODE = ( 1 << D3D12_COMMAND_LIST_TYPE_VIDEO_ENCODE ) | ||
| 2742 | } D3D12_COMMAND_LIST_SUPPORT_FLAGS; | ||
| 2743 | |||
| 2744 | DEFINE_ENUM_FLAG_OPERATORS( D3D12_COMMAND_LIST_SUPPORT_FLAGS ) | ||
| 2745 | typedef struct D3D12_FEATURE_DATA_D3D12_OPTIONS3 | ||
| 2746 | { | ||
| 2747 | _Out_ BOOL CopyQueueTimestampQueriesSupported; | ||
| 2748 | _Out_ BOOL CastingFullyTypedFormatSupported; | ||
| 2749 | _Out_ D3D12_COMMAND_LIST_SUPPORT_FLAGS WriteBufferImmediateSupportFlags; | ||
| 2750 | _Out_ D3D12_VIEW_INSTANCING_TIER ViewInstancingTier; | ||
| 2751 | _Out_ BOOL BarycentricsSupported; | ||
| 2752 | } D3D12_FEATURE_DATA_D3D12_OPTIONS3; | ||
| 2753 | |||
| 2754 | typedef struct D3D12_FEATURE_DATA_EXISTING_HEAPS | ||
| 2755 | { | ||
| 2756 | _Out_ BOOL Supported; | ||
| 2757 | } D3D12_FEATURE_DATA_EXISTING_HEAPS; | ||
| 2758 | |||
| 2759 | typedef | ||
| 2760 | enum D3D12_SHARED_RESOURCE_COMPATIBILITY_TIER | ||
| 2761 | { | ||
| 2762 | D3D12_SHARED_RESOURCE_COMPATIBILITY_TIER_0 = 0, | ||
| 2763 | D3D12_SHARED_RESOURCE_COMPATIBILITY_TIER_1 = ( D3D12_SHARED_RESOURCE_COMPATIBILITY_TIER_0 + 1 ) , | ||
| 2764 | D3D12_SHARED_RESOURCE_COMPATIBILITY_TIER_2 = ( D3D12_SHARED_RESOURCE_COMPATIBILITY_TIER_1 + 1 ) | ||
| 2765 | } D3D12_SHARED_RESOURCE_COMPATIBILITY_TIER; | ||
| 2766 | |||
| 2767 | typedef struct D3D12_FEATURE_DATA_DISPLAYABLE | ||
| 2768 | { | ||
| 2769 | _Out_ BOOL DisplayableTexture; | ||
| 2770 | _Out_ D3D12_SHARED_RESOURCE_COMPATIBILITY_TIER SharedResourceCompatibilityTier; | ||
| 2771 | } D3D12_FEATURE_DATA_DISPLAYABLE; | ||
| 2772 | |||
| 2773 | typedef struct D3D12_FEATURE_DATA_D3D12_OPTIONS4 | ||
| 2774 | { | ||
| 2775 | _Out_ BOOL MSAA64KBAlignedTextureSupported; | ||
| 2776 | _Out_ D3D12_SHARED_RESOURCE_COMPATIBILITY_TIER SharedResourceCompatibilityTier; | ||
| 2777 | _Out_ BOOL Native16BitShaderOpsSupported; | ||
| 2778 | } D3D12_FEATURE_DATA_D3D12_OPTIONS4; | ||
| 2779 | |||
| 2780 | typedef | ||
| 2781 | enum D3D12_HEAP_SERIALIZATION_TIER | ||
| 2782 | { | ||
| 2783 | D3D12_HEAP_SERIALIZATION_TIER_0 = 0, | ||
| 2784 | D3D12_HEAP_SERIALIZATION_TIER_10 = 10 | ||
| 2785 | } D3D12_HEAP_SERIALIZATION_TIER; | ||
| 2786 | |||
| 2787 | typedef struct D3D12_FEATURE_DATA_SERIALIZATION | ||
| 2788 | { | ||
| 2789 | _In_ UINT NodeIndex; | ||
| 2790 | _Out_ D3D12_HEAP_SERIALIZATION_TIER HeapSerializationTier; | ||
| 2791 | } D3D12_FEATURE_DATA_SERIALIZATION; | ||
| 2792 | |||
| 2793 | typedef struct D3D12_FEATURE_DATA_CROSS_NODE | ||
| 2794 | { | ||
| 2795 | D3D12_CROSS_NODE_SHARING_TIER SharingTier; | ||
| 2796 | BOOL AtomicShaderInstructions; | ||
| 2797 | } D3D12_FEATURE_DATA_CROSS_NODE; | ||
| 2798 | |||
| 2799 | typedef | ||
| 2800 | enum D3D12_RENDER_PASS_TIER | ||
| 2801 | { | ||
| 2802 | D3D12_RENDER_PASS_TIER_0 = 0, | ||
| 2803 | D3D12_RENDER_PASS_TIER_1 = 1, | ||
| 2804 | D3D12_RENDER_PASS_TIER_2 = 2 | ||
| 2805 | } D3D12_RENDER_PASS_TIER; | ||
| 2806 | |||
| 2807 | typedef | ||
| 2808 | enum D3D12_RAYTRACING_TIER | ||
| 2809 | { | ||
| 2810 | D3D12_RAYTRACING_TIER_NOT_SUPPORTED = 0, | ||
| 2811 | D3D12_RAYTRACING_TIER_1_0 = 10, | ||
| 2812 | D3D12_RAYTRACING_TIER_1_1 = 11, | ||
| 2813 | D3D12_RAYTRACING_TIER_1_2 = 12 | ||
| 2814 | } D3D12_RAYTRACING_TIER; | ||
| 2815 | |||
| 2816 | typedef struct D3D12_FEATURE_DATA_D3D12_OPTIONS5 | ||
| 2817 | { | ||
| 2818 | _Out_ BOOL SRVOnlyTiledResourceTier3; | ||
| 2819 | _Out_ D3D12_RENDER_PASS_TIER RenderPassesTier; | ||
| 2820 | _Out_ D3D12_RAYTRACING_TIER RaytracingTier; | ||
| 2821 | } D3D12_FEATURE_DATA_D3D12_OPTIONS5; | ||
| 2822 | |||
| 2823 | typedef | ||
| 2824 | enum D3D12_VARIABLE_SHADING_RATE_TIER | ||
| 2825 | { | ||
| 2826 | D3D12_VARIABLE_SHADING_RATE_TIER_NOT_SUPPORTED = 0, | ||
| 2827 | D3D12_VARIABLE_SHADING_RATE_TIER_1 = 1, | ||
| 2828 | D3D12_VARIABLE_SHADING_RATE_TIER_2 = 2 | ||
| 2829 | } D3D12_VARIABLE_SHADING_RATE_TIER; | ||
| 2830 | |||
| 2831 | typedef struct D3D12_FEATURE_DATA_D3D12_OPTIONS6 | ||
| 2832 | { | ||
| 2833 | _Out_ BOOL AdditionalShadingRatesSupported; | ||
| 2834 | _Out_ BOOL PerPrimitiveShadingRateSupportedWithViewportIndexing; | ||
| 2835 | _Out_ D3D12_VARIABLE_SHADING_RATE_TIER VariableShadingRateTier; | ||
| 2836 | _Out_ UINT ShadingRateImageTileSize; | ||
| 2837 | _Out_ BOOL BackgroundProcessingSupported; | ||
| 2838 | } D3D12_FEATURE_DATA_D3D12_OPTIONS6; | ||
| 2839 | |||
| 2840 | typedef | ||
| 2841 | enum D3D12_MESH_SHADER_TIER | ||
| 2842 | { | ||
| 2843 | D3D12_MESH_SHADER_TIER_NOT_SUPPORTED = 0, | ||
| 2844 | D3D12_MESH_SHADER_TIER_1 = 10 | ||
| 2845 | } D3D12_MESH_SHADER_TIER; | ||
| 2846 | |||
| 2847 | typedef | ||
| 2848 | enum D3D12_SAMPLER_FEEDBACK_TIER | ||
| 2849 | { | ||
| 2850 | D3D12_SAMPLER_FEEDBACK_TIER_NOT_SUPPORTED = 0, | ||
| 2851 | D3D12_SAMPLER_FEEDBACK_TIER_0_9 = 90, | ||
| 2852 | D3D12_SAMPLER_FEEDBACK_TIER_1_0 = 100 | ||
| 2853 | } D3D12_SAMPLER_FEEDBACK_TIER; | ||
| 2854 | |||
| 2855 | typedef struct D3D12_FEATURE_DATA_D3D12_OPTIONS7 | ||
| 2856 | { | ||
| 2857 | _Out_ D3D12_MESH_SHADER_TIER MeshShaderTier; | ||
| 2858 | _Out_ D3D12_SAMPLER_FEEDBACK_TIER SamplerFeedbackTier; | ||
| 2859 | } D3D12_FEATURE_DATA_D3D12_OPTIONS7; | ||
| 2860 | |||
| 2861 | typedef struct D3D12_FEATURE_DATA_QUERY_META_COMMAND | ||
| 2862 | { | ||
| 2863 | _In_ GUID CommandId; | ||
| 2864 | _In_ UINT NodeMask; | ||
| 2865 | _Field_size_bytes_full_opt_( QueryInputDataSizeInBytes ) const void *pQueryInputData; | ||
| 2866 | _In_ SIZE_T QueryInputDataSizeInBytes; | ||
| 2867 | _Field_size_bytes_full_( QueryOutputDataSizeInBytes ) void *pQueryOutputData; | ||
| 2868 | _In_ SIZE_T QueryOutputDataSizeInBytes; | ||
| 2869 | } D3D12_FEATURE_DATA_QUERY_META_COMMAND; | ||
| 2870 | |||
| 2871 | typedef struct D3D12_FEATURE_DATA_D3D12_OPTIONS8 | ||
| 2872 | { | ||
| 2873 | _Out_ BOOL UnalignedBlockTexturesSupported; | ||
| 2874 | } D3D12_FEATURE_DATA_D3D12_OPTIONS8; | ||
| 2875 | |||
| 2876 | typedef | ||
| 2877 | enum D3D12_WAVE_MMA_TIER | ||
| 2878 | { | ||
| 2879 | D3D12_WAVE_MMA_TIER_NOT_SUPPORTED = 0, | ||
| 2880 | D3D12_WAVE_MMA_TIER_1_0 = 10 | ||
| 2881 | } D3D12_WAVE_MMA_TIER; | ||
| 2882 | |||
| 2883 | typedef struct D3D12_FEATURE_DATA_D3D12_OPTIONS9 | ||
| 2884 | { | ||
| 2885 | _Out_ BOOL MeshShaderPipelineStatsSupported; | ||
| 2886 | _Out_ BOOL MeshShaderSupportsFullRangeRenderTargetArrayIndex; | ||
| 2887 | _Out_ BOOL AtomicInt64OnTypedResourceSupported; | ||
| 2888 | _Out_ BOOL AtomicInt64OnGroupSharedSupported; | ||
| 2889 | _Out_ BOOL DerivativesInMeshAndAmplificationShadersSupported; | ||
| 2890 | _Out_ D3D12_WAVE_MMA_TIER WaveMMATier; | ||
| 2891 | } D3D12_FEATURE_DATA_D3D12_OPTIONS9; | ||
| 2892 | |||
| 2893 | typedef struct D3D12_FEATURE_DATA_D3D12_OPTIONS10 | ||
| 2894 | { | ||
| 2895 | _Out_ BOOL VariableRateShadingSumCombinerSupported; | ||
| 2896 | _Out_ BOOL MeshShaderPerPrimitiveShadingRateSupported; | ||
| 2897 | } D3D12_FEATURE_DATA_D3D12_OPTIONS10; | ||
| 2898 | |||
| 2899 | typedef struct D3D12_FEATURE_DATA_D3D12_OPTIONS11 | ||
| 2900 | { | ||
| 2901 | _Out_ BOOL AtomicInt64OnDescriptorHeapResourceSupported; | ||
| 2902 | } D3D12_FEATURE_DATA_D3D12_OPTIONS11; | ||
| 2903 | |||
| 2904 | typedef | ||
| 2905 | enum D3D12_TRI_STATE | ||
| 2906 | { | ||
| 2907 | D3D12_TRI_STATE_UNKNOWN = -1, | ||
| 2908 | D3D12_TRI_STATE_FALSE = 0, | ||
| 2909 | D3D12_TRI_STATE_TRUE = 1 | ||
| 2910 | } D3D12_TRI_STATE; | ||
| 2911 | |||
| 2912 | typedef struct D3D12_FEATURE_DATA_D3D12_OPTIONS12 | ||
| 2913 | { | ||
| 2914 | _Out_ D3D12_TRI_STATE MSPrimitivesPipelineStatisticIncludesCulledPrimitives; | ||
| 2915 | _Out_ BOOL EnhancedBarriersSupported; | ||
| 2916 | _Out_ BOOL RelaxedFormatCastingSupported; | ||
| 2917 | } D3D12_FEATURE_DATA_D3D12_OPTIONS12; | ||
| 2918 | |||
| 2919 | typedef struct D3D12_FEATURE_DATA_D3D12_OPTIONS13 | ||
| 2920 | { | ||
| 2921 | _Out_ BOOL UnrestrictedBufferTextureCopyPitchSupported; | ||
| 2922 | _Out_ BOOL UnrestrictedVertexElementAlignmentSupported; | ||
| 2923 | _Out_ BOOL InvertedViewportHeightFlipsYSupported; | ||
| 2924 | _Out_ BOOL InvertedViewportDepthFlipsZSupported; | ||
| 2925 | _Out_ BOOL TextureCopyBetweenDimensionsSupported; | ||
| 2926 | _Out_ BOOL AlphaBlendFactorSupported; | ||
| 2927 | } D3D12_FEATURE_DATA_D3D12_OPTIONS13; | ||
| 2928 | |||
| 2929 | typedef struct D3D12_FEATURE_DATA_D3D12_OPTIONS14 | ||
| 2930 | { | ||
| 2931 | _Out_ BOOL AdvancedTextureOpsSupported; | ||
| 2932 | _Out_ BOOL WriteableMSAATexturesSupported; | ||
| 2933 | _Out_ BOOL IndependentFrontAndBackStencilRefMaskSupported; | ||
| 2934 | } D3D12_FEATURE_DATA_D3D12_OPTIONS14; | ||
| 2935 | |||
| 2936 | typedef struct D3D12_FEATURE_DATA_D3D12_OPTIONS15 | ||
| 2937 | { | ||
| 2938 | _Out_ BOOL TriangleFanSupported; | ||
| 2939 | _Out_ BOOL DynamicIndexBufferStripCutSupported; | ||
| 2940 | } D3D12_FEATURE_DATA_D3D12_OPTIONS15; | ||
| 2941 | |||
| 2942 | typedef struct D3D12_FEATURE_DATA_D3D12_OPTIONS16 | ||
| 2943 | { | ||
| 2944 | _Out_ BOOL DynamicDepthBiasSupported; | ||
| 2945 | _Out_ BOOL GPUUploadHeapSupported; | ||
| 2946 | } D3D12_FEATURE_DATA_D3D12_OPTIONS16; | ||
| 2947 | |||
| 2948 | typedef struct D3D12_FEATURE_DATA_D3D12_OPTIONS17 | ||
| 2949 | { | ||
| 2950 | _Out_ BOOL NonNormalizedCoordinateSamplersSupported; | ||
| 2951 | _Out_ BOOL ManualWriteTrackingResourceSupported; | ||
| 2952 | } D3D12_FEATURE_DATA_D3D12_OPTIONS17; | ||
| 2953 | |||
| 2954 | typedef struct D3D12_FEATURE_DATA_D3D12_OPTIONS18 | ||
| 2955 | { | ||
| 2956 | _Out_ BOOL RenderPassesValid; | ||
| 2957 | } D3D12_FEATURE_DATA_D3D12_OPTIONS18; | ||
| 2958 | |||
| 2959 | typedef struct D3D12_FEATURE_DATA_D3D12_OPTIONS19 | ||
| 2960 | { | ||
| 2961 | BOOL MismatchingOutputDimensionsSupported; | ||
| 2962 | UINT SupportedSampleCountsWithNoOutputs; | ||
| 2963 | BOOL PointSamplingAddressesNeverRoundUp; | ||
| 2964 | BOOL RasterizerDesc2Supported; | ||
| 2965 | BOOL NarrowQuadrilateralLinesSupported; | ||
| 2966 | BOOL AnisoFilterWithPointMipSupported; | ||
| 2967 | UINT MaxSamplerDescriptorHeapSize; | ||
| 2968 | UINT MaxSamplerDescriptorHeapSizeWithStaticSamplers; | ||
| 2969 | UINT MaxViewDescriptorHeapSize; | ||
| 2970 | _Out_ BOOL ComputeOnlyCustomHeapSupported; | ||
| 2971 | } D3D12_FEATURE_DATA_D3D12_OPTIONS19; | ||
| 2972 | |||
| 2973 | typedef | ||
| 2974 | enum D3D12_RECREATE_AT_TIER | ||
| 2975 | { | ||
| 2976 | D3D12_RECREATE_AT_TIER_NOT_SUPPORTED = 0, | ||
| 2977 | D3D12_RECREATE_AT_TIER_1 = 1 | ||
| 2978 | } D3D12_RECREATE_AT_TIER; | ||
| 2979 | |||
| 2980 | typedef struct D3D12_FEATURE_DATA_D3D12_OPTIONS20 | ||
| 2981 | { | ||
| 2982 | _Out_ BOOL ComputeOnlyWriteWatchSupported; | ||
| 2983 | D3D12_RECREATE_AT_TIER RecreateAtTier; | ||
| 2984 | } D3D12_FEATURE_DATA_D3D12_OPTIONS20; | ||
| 2985 | |||
| 2986 | typedef | ||
| 2987 | enum D3D12_EXECUTE_INDIRECT_TIER | ||
| 2988 | { | ||
| 2989 | D3D12_EXECUTE_INDIRECT_TIER_1_0 = 10, | ||
| 2990 | D3D12_EXECUTE_INDIRECT_TIER_1_1 = 11 | ||
| 2991 | } D3D12_EXECUTE_INDIRECT_TIER; | ||
| 2992 | |||
| 2993 | typedef struct D3D12_FEATURE_DATA_D3D12_OPTIONS21 | ||
| 2994 | { | ||
| 2995 | _Out_ D3D12_WORK_GRAPHS_TIER WorkGraphsTier; | ||
| 2996 | _Out_ D3D12_EXECUTE_INDIRECT_TIER ExecuteIndirectTier; | ||
| 2997 | _Out_ BOOL SampleCmpGradientAndBiasSupported; | ||
| 2998 | _Out_ BOOL ExtendedCommandInfoSupported; | ||
| 2999 | } D3D12_FEATURE_DATA_D3D12_OPTIONS21; | ||
| 3000 | |||
| 3001 | typedef | ||
| 3002 | enum D3D12_TIGHT_ALIGNMENT_TIER | ||
| 3003 | { | ||
| 3004 | D3D12_TIGHT_ALIGNMENT_TIER_NOT_SUPPORTED = 0, | ||
| 3005 | D3D12_TIGHT_ALIGNMENT_TIER_1 = ( D3D12_TIGHT_ALIGNMENT_TIER_NOT_SUPPORTED + 1 ) | ||
| 3006 | } D3D12_TIGHT_ALIGNMENT_TIER; | ||
| 3007 | |||
| 3008 | typedef struct D3D12_FEATURE_DATA_TIGHT_ALIGNMENT | ||
| 3009 | { | ||
| 3010 | _Out_ D3D12_TIGHT_ALIGNMENT_TIER SupportTier; | ||
| 3011 | } D3D12_FEATURE_DATA_TIGHT_ALIGNMENT; | ||
| 3012 | |||
| 3013 | typedef struct D3D12_FEATURE_DATA_PREDICATION | ||
| 3014 | { | ||
| 3015 | _Out_ BOOL Supported; | ||
| 3016 | } D3D12_FEATURE_DATA_PREDICATION; | ||
| 3017 | |||
| 3018 | typedef struct D3D12_FEATURE_DATA_HARDWARE_COPY | ||
| 3019 | { | ||
| 3020 | _Out_ BOOL Supported; | ||
| 3021 | } D3D12_FEATURE_DATA_HARDWARE_COPY; | ||
| 3022 | |||
| 3023 | typedef struct D3D12_FEATURE_DATA_APPLICATION_SPECIFIC_DRIVER_STATE | ||
| 3024 | { | ||
| 3025 | _Out_ BOOL Supported; | ||
| 3026 | } D3D12_FEATURE_DATA_APPLICATION_SPECIFIC_DRIVER_STATE; | ||
| 3027 | |||
| 3028 | typedef struct D3D12_FEATURE_DATA_BYTECODE_BYPASS_HASH_SUPPORTED | ||
| 3029 | { | ||
| 3030 | _Out_ BOOL Supported; | ||
| 3031 | } D3D12_FEATURE_DATA_BYTECODE_BYPASS_HASH_SUPPORTED; | ||
| 3032 | |||
| 3033 | typedef struct D3D12_RESOURCE_ALLOCATION_INFO | ||
| 3034 | { | ||
| 3035 | UINT64 SizeInBytes; | ||
| 3036 | UINT64 Alignment; | ||
| 3037 | } D3D12_RESOURCE_ALLOCATION_INFO; | ||
| 3038 | |||
| 3039 | typedef struct D3D12_RESOURCE_ALLOCATION_INFO1 | ||
| 3040 | { | ||
| 3041 | UINT64 Offset; | ||
| 3042 | UINT64 Alignment; | ||
| 3043 | UINT64 SizeInBytes; | ||
| 3044 | } D3D12_RESOURCE_ALLOCATION_INFO1; | ||
| 3045 | |||
| 3046 | typedef | ||
| 3047 | enum D3D12_HEAP_TYPE | ||
| 3048 | { | ||
| 3049 | D3D12_HEAP_TYPE_DEFAULT = 1, | ||
| 3050 | D3D12_HEAP_TYPE_UPLOAD = 2, | ||
| 3051 | D3D12_HEAP_TYPE_READBACK = 3, | ||
| 3052 | D3D12_HEAP_TYPE_CUSTOM = 4, | ||
| 3053 | D3D12_HEAP_TYPE_GPU_UPLOAD = 5 | ||
| 3054 | } D3D12_HEAP_TYPE; | ||
| 3055 | |||
| 3056 | typedef | ||
| 3057 | enum D3D12_CPU_PAGE_PROPERTY | ||
| 3058 | { | ||
| 3059 | D3D12_CPU_PAGE_PROPERTY_UNKNOWN = 0, | ||
| 3060 | D3D12_CPU_PAGE_PROPERTY_NOT_AVAILABLE = 1, | ||
| 3061 | D3D12_CPU_PAGE_PROPERTY_WRITE_COMBINE = 2, | ||
| 3062 | D3D12_CPU_PAGE_PROPERTY_WRITE_BACK = 3 | ||
| 3063 | } D3D12_CPU_PAGE_PROPERTY; | ||
| 3064 | |||
| 3065 | typedef | ||
| 3066 | enum D3D12_MEMORY_POOL | ||
| 3067 | { | ||
| 3068 | D3D12_MEMORY_POOL_UNKNOWN = 0, | ||
| 3069 | D3D12_MEMORY_POOL_L0 = 1, | ||
| 3070 | D3D12_MEMORY_POOL_L1 = 2 | ||
| 3071 | } D3D12_MEMORY_POOL; | ||
| 3072 | |||
| 3073 | typedef struct D3D12_HEAP_PROPERTIES | ||
| 3074 | { | ||
| 3075 | D3D12_HEAP_TYPE Type; | ||
| 3076 | D3D12_CPU_PAGE_PROPERTY CPUPageProperty; | ||
| 3077 | D3D12_MEMORY_POOL MemoryPoolPreference; | ||
| 3078 | UINT CreationNodeMask; | ||
| 3079 | UINT VisibleNodeMask; | ||
| 3080 | } D3D12_HEAP_PROPERTIES; | ||
| 3081 | |||
| 3082 | typedef | ||
| 3083 | enum D3D12_HEAP_FLAGS | ||
| 3084 | { | ||
| 3085 | D3D12_HEAP_FLAG_NONE = 0, | ||
| 3086 | D3D12_HEAP_FLAG_SHARED = 0x1, | ||
| 3087 | D3D12_HEAP_FLAG_DENY_BUFFERS = 0x4, | ||
| 3088 | D3D12_HEAP_FLAG_ALLOW_DISPLAY = 0x8, | ||
| 3089 | D3D12_HEAP_FLAG_SHARED_CROSS_ADAPTER = 0x20, | ||
| 3090 | D3D12_HEAP_FLAG_DENY_RT_DS_TEXTURES = 0x40, | ||
| 3091 | D3D12_HEAP_FLAG_DENY_NON_RT_DS_TEXTURES = 0x80, | ||
| 3092 | D3D12_HEAP_FLAG_HARDWARE_PROTECTED = 0x100, | ||
| 3093 | D3D12_HEAP_FLAG_ALLOW_WRITE_WATCH = 0x200, | ||
| 3094 | D3D12_HEAP_FLAG_ALLOW_SHADER_ATOMICS = 0x400, | ||
| 3095 | D3D12_HEAP_FLAG_CREATE_NOT_RESIDENT = 0x800, | ||
| 3096 | D3D12_HEAP_FLAG_CREATE_NOT_ZEROED = 0x1000, | ||
| 3097 | D3D12_HEAP_FLAG_TOOLS_USE_MANUAL_WRITE_TRACKING = 0x2000, | ||
| 3098 | D3D12_HEAP_FLAG_ALLOW_ALL_BUFFERS_AND_TEXTURES = 0, | ||
| 3099 | D3D12_HEAP_FLAG_ALLOW_ONLY_BUFFERS = 0xc0, | ||
| 3100 | D3D12_HEAP_FLAG_ALLOW_ONLY_NON_RT_DS_TEXTURES = 0x44, | ||
| 3101 | D3D12_HEAP_FLAG_ALLOW_ONLY_RT_DS_TEXTURES = 0x84 | ||
| 3102 | } D3D12_HEAP_FLAGS; | ||
| 3103 | |||
| 3104 | DEFINE_ENUM_FLAG_OPERATORS( D3D12_HEAP_FLAGS ) | ||
| 3105 | typedef struct D3D12_HEAP_DESC | ||
| 3106 | { | ||
| 3107 | UINT64 SizeInBytes; | ||
| 3108 | D3D12_HEAP_PROPERTIES Properties; | ||
| 3109 | UINT64 Alignment; | ||
| 3110 | D3D12_HEAP_FLAGS Flags; | ||
| 3111 | } D3D12_HEAP_DESC; | ||
| 3112 | |||
| 3113 | typedef | ||
| 3114 | enum D3D12_RESOURCE_DIMENSION | ||
| 3115 | { | ||
| 3116 | D3D12_RESOURCE_DIMENSION_UNKNOWN = 0, | ||
| 3117 | D3D12_RESOURCE_DIMENSION_BUFFER = 1, | ||
| 3118 | D3D12_RESOURCE_DIMENSION_TEXTURE1D = 2, | ||
| 3119 | D3D12_RESOURCE_DIMENSION_TEXTURE2D = 3, | ||
| 3120 | D3D12_RESOURCE_DIMENSION_TEXTURE3D = 4 | ||
| 3121 | } D3D12_RESOURCE_DIMENSION; | ||
| 3122 | |||
| 3123 | typedef struct D3D12_FEATURE_DATA_PLACED_RESOURCE_SUPPORT_INFO | ||
| 3124 | { | ||
| 3125 | _In_ DXGI_FORMAT Format; | ||
| 3126 | _In_ D3D12_RESOURCE_DIMENSION Dimension; | ||
| 3127 | _In_ D3D12_HEAP_PROPERTIES DestHeapProperties; | ||
| 3128 | _Out_ BOOL Supported; | ||
| 3129 | } D3D12_FEATURE_DATA_PLACED_RESOURCE_SUPPORT_INFO; | ||
| 3130 | |||
| 3131 | typedef | ||
| 3132 | enum D3D12_TEXTURE_LAYOUT | ||
| 3133 | { | ||
| 3134 | D3D12_TEXTURE_LAYOUT_UNKNOWN = 0, | ||
| 3135 | D3D12_TEXTURE_LAYOUT_ROW_MAJOR = 1, | ||
| 3136 | D3D12_TEXTURE_LAYOUT_64KB_UNDEFINED_SWIZZLE = 2, | ||
| 3137 | D3D12_TEXTURE_LAYOUT_64KB_STANDARD_SWIZZLE = 3 | ||
| 3138 | } D3D12_TEXTURE_LAYOUT; | ||
| 3139 | |||
| 3140 | typedef | ||
| 3141 | enum D3D12_RESOURCE_FLAGS | ||
| 3142 | { | ||
| 3143 | D3D12_RESOURCE_FLAG_NONE = 0, | ||
| 3144 | D3D12_RESOURCE_FLAG_ALLOW_RENDER_TARGET = 0x1, | ||
| 3145 | D3D12_RESOURCE_FLAG_ALLOW_DEPTH_STENCIL = 0x2, | ||
| 3146 | D3D12_RESOURCE_FLAG_ALLOW_UNORDERED_ACCESS = 0x4, | ||
| 3147 | D3D12_RESOURCE_FLAG_DENY_SHADER_RESOURCE = 0x8, | ||
| 3148 | D3D12_RESOURCE_FLAG_ALLOW_CROSS_ADAPTER = 0x10, | ||
| 3149 | D3D12_RESOURCE_FLAG_ALLOW_SIMULTANEOUS_ACCESS = 0x20, | ||
| 3150 | D3D12_RESOURCE_FLAG_VIDEO_DECODE_REFERENCE_ONLY = 0x40, | ||
| 3151 | D3D12_RESOURCE_FLAG_VIDEO_ENCODE_REFERENCE_ONLY = 0x80, | ||
| 3152 | D3D12_RESOURCE_FLAG_RAYTRACING_ACCELERATION_STRUCTURE = 0x100, | ||
| 3153 | D3D12_RESOURCE_FLAG_USE_TIGHT_ALIGNMENT = 0x400 | ||
| 3154 | } D3D12_RESOURCE_FLAGS; | ||
| 3155 | |||
| 3156 | DEFINE_ENUM_FLAG_OPERATORS( D3D12_RESOURCE_FLAGS ) | ||
| 3157 | typedef struct D3D12_MIP_REGION | ||
| 3158 | { | ||
| 3159 | UINT Width; | ||
| 3160 | UINT Height; | ||
| 3161 | UINT Depth; | ||
| 3162 | } D3D12_MIP_REGION; | ||
| 3163 | |||
| 3164 | typedef struct D3D12_RESOURCE_DESC | ||
| 3165 | { | ||
| 3166 | D3D12_RESOURCE_DIMENSION Dimension; | ||
| 3167 | UINT64 Alignment; | ||
| 3168 | UINT64 Width; | ||
| 3169 | UINT Height; | ||
| 3170 | UINT16 DepthOrArraySize; | ||
| 3171 | UINT16 MipLevels; | ||
| 3172 | DXGI_FORMAT Format; | ||
| 3173 | DXGI_SAMPLE_DESC SampleDesc; | ||
| 3174 | D3D12_TEXTURE_LAYOUT Layout; | ||
| 3175 | D3D12_RESOURCE_FLAGS Flags; | ||
| 3176 | } D3D12_RESOURCE_DESC; | ||
| 3177 | |||
| 3178 | typedef struct D3D12_RESOURCE_DESC1 | ||
| 3179 | { | ||
| 3180 | D3D12_RESOURCE_DIMENSION Dimension; | ||
| 3181 | UINT64 Alignment; | ||
| 3182 | UINT64 Width; | ||
| 3183 | UINT Height; | ||
| 3184 | UINT16 DepthOrArraySize; | ||
| 3185 | UINT16 MipLevels; | ||
| 3186 | DXGI_FORMAT Format; | ||
| 3187 | DXGI_SAMPLE_DESC SampleDesc; | ||
| 3188 | D3D12_TEXTURE_LAYOUT Layout; | ||
| 3189 | D3D12_RESOURCE_FLAGS Flags; | ||
| 3190 | D3D12_MIP_REGION SamplerFeedbackMipRegion; | ||
| 3191 | } D3D12_RESOURCE_DESC1; | ||
| 3192 | |||
| 3193 | typedef struct D3D12_DEPTH_STENCIL_VALUE | ||
| 3194 | { | ||
| 3195 | FLOAT Depth; | ||
| 3196 | UINT8 Stencil; | ||
| 3197 | } D3D12_DEPTH_STENCIL_VALUE; | ||
| 3198 | |||
| 3199 | typedef struct D3D12_CLEAR_VALUE | ||
| 3200 | { | ||
| 3201 | DXGI_FORMAT Format; | ||
| 3202 | union | ||
| 3203 | { | ||
| 3204 | FLOAT Color[ 4 ]; | ||
| 3205 | D3D12_DEPTH_STENCIL_VALUE DepthStencil; | ||
| 3206 | } ; | ||
| 3207 | } D3D12_CLEAR_VALUE; | ||
| 3208 | |||
| 3209 | typedef struct D3D12_RANGE | ||
| 3210 | { | ||
| 3211 | SIZE_T Begin; | ||
| 3212 | SIZE_T End; | ||
| 3213 | } D3D12_RANGE; | ||
| 3214 | |||
| 3215 | typedef struct D3D12_RANGE_UINT64 | ||
| 3216 | { | ||
| 3217 | UINT64 Begin; | ||
| 3218 | UINT64 End; | ||
| 3219 | } D3D12_RANGE_UINT64; | ||
| 3220 | |||
| 3221 | typedef struct D3D12_SUBRESOURCE_RANGE_UINT64 | ||
| 3222 | { | ||
| 3223 | UINT Subresource; | ||
| 3224 | D3D12_RANGE_UINT64 Range; | ||
| 3225 | } D3D12_SUBRESOURCE_RANGE_UINT64; | ||
| 3226 | |||
| 3227 | typedef struct D3D12_SUBRESOURCE_INFO | ||
| 3228 | { | ||
| 3229 | UINT64 Offset; | ||
| 3230 | UINT RowPitch; | ||
| 3231 | UINT DepthPitch; | ||
| 3232 | } D3D12_SUBRESOURCE_INFO; | ||
| 3233 | |||
| 3234 | typedef struct D3D12_TILED_RESOURCE_COORDINATE | ||
| 3235 | { | ||
| 3236 | UINT X; | ||
| 3237 | UINT Y; | ||
| 3238 | UINT Z; | ||
| 3239 | UINT Subresource; | ||
| 3240 | } D3D12_TILED_RESOURCE_COORDINATE; | ||
| 3241 | |||
| 3242 | typedef struct D3D12_TILE_REGION_SIZE | ||
| 3243 | { | ||
| 3244 | UINT NumTiles; | ||
| 3245 | BOOL UseBox; | ||
| 3246 | UINT Width; | ||
| 3247 | UINT16 Height; | ||
| 3248 | UINT16 Depth; | ||
| 3249 | } D3D12_TILE_REGION_SIZE; | ||
| 3250 | |||
| 3251 | typedef | ||
| 3252 | enum D3D12_TILE_RANGE_FLAGS | ||
| 3253 | { | ||
| 3254 | D3D12_TILE_RANGE_FLAG_NONE = 0, | ||
| 3255 | D3D12_TILE_RANGE_FLAG_NULL = 1, | ||
| 3256 | D3D12_TILE_RANGE_FLAG_SKIP = 2, | ||
| 3257 | D3D12_TILE_RANGE_FLAG_REUSE_SINGLE_TILE = 4 | ||
| 3258 | } D3D12_TILE_RANGE_FLAGS; | ||
| 3259 | |||
| 3260 | typedef struct D3D12_SUBRESOURCE_TILING | ||
| 3261 | { | ||
| 3262 | UINT WidthInTiles; | ||
| 3263 | UINT16 HeightInTiles; | ||
| 3264 | UINT16 DepthInTiles; | ||
| 3265 | UINT StartTileIndexInOverallResource; | ||
| 3266 | } D3D12_SUBRESOURCE_TILING; | ||
| 3267 | |||
| 3268 | typedef struct D3D12_TILE_SHAPE | ||
| 3269 | { | ||
| 3270 | UINT WidthInTexels; | ||
| 3271 | UINT HeightInTexels; | ||
| 3272 | UINT DepthInTexels; | ||
| 3273 | } D3D12_TILE_SHAPE; | ||
| 3274 | |||
| 3275 | typedef struct D3D12_PACKED_MIP_INFO | ||
| 3276 | { | ||
| 3277 | UINT8 NumStandardMips; | ||
| 3278 | UINT8 NumPackedMips; | ||
| 3279 | UINT NumTilesForPackedMips; | ||
| 3280 | UINT StartTileIndexInOverallResource; | ||
| 3281 | } D3D12_PACKED_MIP_INFO; | ||
| 3282 | |||
| 3283 | typedef | ||
| 3284 | enum D3D12_TILE_MAPPING_FLAGS | ||
| 3285 | { | ||
| 3286 | D3D12_TILE_MAPPING_FLAG_NONE = 0, | ||
| 3287 | D3D12_TILE_MAPPING_FLAG_NO_HAZARD = 0x1 | ||
| 3288 | } D3D12_TILE_MAPPING_FLAGS; | ||
| 3289 | |||
| 3290 | DEFINE_ENUM_FLAG_OPERATORS( D3D12_TILE_MAPPING_FLAGS ) | ||
| 3291 | typedef | ||
| 3292 | enum D3D12_TILE_COPY_FLAGS | ||
| 3293 | { | ||
| 3294 | D3D12_TILE_COPY_FLAG_NONE = 0, | ||
| 3295 | D3D12_TILE_COPY_FLAG_NO_HAZARD = 0x1, | ||
| 3296 | D3D12_TILE_COPY_FLAG_LINEAR_BUFFER_TO_SWIZZLED_TILED_RESOURCE = 0x2, | ||
| 3297 | D3D12_TILE_COPY_FLAG_SWIZZLED_TILED_RESOURCE_TO_LINEAR_BUFFER = 0x4 | ||
| 3298 | } D3D12_TILE_COPY_FLAGS; | ||
| 3299 | |||
| 3300 | DEFINE_ENUM_FLAG_OPERATORS( D3D12_TILE_COPY_FLAGS ) | ||
| 3301 | typedef | ||
| 3302 | enum D3D12_RESOURCE_STATES | ||
| 3303 | { | ||
| 3304 | D3D12_RESOURCE_STATE_COMMON = 0, | ||
| 3305 | D3D12_RESOURCE_STATE_VERTEX_AND_CONSTANT_BUFFER = 0x1, | ||
| 3306 | D3D12_RESOURCE_STATE_INDEX_BUFFER = 0x2, | ||
| 3307 | D3D12_RESOURCE_STATE_RENDER_TARGET = 0x4, | ||
| 3308 | D3D12_RESOURCE_STATE_UNORDERED_ACCESS = 0x8, | ||
| 3309 | D3D12_RESOURCE_STATE_DEPTH_WRITE = 0x10, | ||
| 3310 | D3D12_RESOURCE_STATE_DEPTH_READ = 0x20, | ||
| 3311 | D3D12_RESOURCE_STATE_NON_PIXEL_SHADER_RESOURCE = 0x40, | ||
| 3312 | D3D12_RESOURCE_STATE_PIXEL_SHADER_RESOURCE = 0x80, | ||
| 3313 | D3D12_RESOURCE_STATE_STREAM_OUT = 0x100, | ||
| 3314 | D3D12_RESOURCE_STATE_INDIRECT_ARGUMENT = 0x200, | ||
| 3315 | D3D12_RESOURCE_STATE_COPY_DEST = 0x400, | ||
| 3316 | D3D12_RESOURCE_STATE_COPY_SOURCE = 0x800, | ||
| 3317 | D3D12_RESOURCE_STATE_RESOLVE_DEST = 0x1000, | ||
| 3318 | D3D12_RESOURCE_STATE_RESOLVE_SOURCE = 0x2000, | ||
| 3319 | D3D12_RESOURCE_STATE_RAYTRACING_ACCELERATION_STRUCTURE = 0x400000, | ||
| 3320 | D3D12_RESOURCE_STATE_SHADING_RATE_SOURCE = 0x1000000, | ||
| 3321 | D3D12_RESOURCE_STATE_RESERVED_INTERNAL_8000 = 0x8000, | ||
| 3322 | D3D12_RESOURCE_STATE_RESERVED_INTERNAL_4000 = 0x4000, | ||
| 3323 | D3D12_RESOURCE_STATE_RESERVED_INTERNAL_100000 = 0x100000, | ||
| 3324 | D3D12_RESOURCE_STATE_RESERVED_INTERNAL_40000000 = 0x40000000, | ||
| 3325 | D3D12_RESOURCE_STATE_RESERVED_INTERNAL_80000000 = 0x80000000, | ||
| 3326 | D3D12_RESOURCE_STATE_GENERIC_READ = ( ( ( ( ( 0x1 | 0x2 ) | 0x40 ) | 0x80 ) | 0x200 ) | 0x800 ) , | ||
| 3327 | D3D12_RESOURCE_STATE_ALL_SHADER_RESOURCE = ( 0x40 | 0x80 ) , | ||
| 3328 | D3D12_RESOURCE_STATE_PRESENT = 0, | ||
| 3329 | D3D12_RESOURCE_STATE_PREDICATION = 0x200, | ||
| 3330 | D3D12_RESOURCE_STATE_VIDEO_DECODE_READ = 0x10000, | ||
| 3331 | D3D12_RESOURCE_STATE_VIDEO_DECODE_WRITE = 0x20000, | ||
| 3332 | D3D12_RESOURCE_STATE_VIDEO_PROCESS_READ = 0x40000, | ||
| 3333 | D3D12_RESOURCE_STATE_VIDEO_PROCESS_WRITE = 0x80000, | ||
| 3334 | D3D12_RESOURCE_STATE_VIDEO_ENCODE_READ = 0x200000, | ||
| 3335 | D3D12_RESOURCE_STATE_VIDEO_ENCODE_WRITE = 0x800000 | ||
| 3336 | } D3D12_RESOURCE_STATES; | ||
| 3337 | |||
| 3338 | DEFINE_ENUM_FLAG_OPERATORS( D3D12_RESOURCE_STATES ) | ||
| 3339 | typedef | ||
| 3340 | enum D3D12_RESOURCE_BARRIER_TYPE | ||
| 3341 | { | ||
| 3342 | D3D12_RESOURCE_BARRIER_TYPE_TRANSITION = 0, | ||
| 3343 | D3D12_RESOURCE_BARRIER_TYPE_ALIASING = ( D3D12_RESOURCE_BARRIER_TYPE_TRANSITION + 1 ) , | ||
| 3344 | D3D12_RESOURCE_BARRIER_TYPE_UAV = ( D3D12_RESOURCE_BARRIER_TYPE_ALIASING + 1 ) | ||
| 3345 | } D3D12_RESOURCE_BARRIER_TYPE; | ||
| 3346 | |||
| 3347 | |||
| 3348 | typedef struct D3D12_RESOURCE_TRANSITION_BARRIER | ||
| 3349 | { | ||
| 3350 | ID3D12Resource *pResource; | ||
| 3351 | UINT Subresource; | ||
| 3352 | D3D12_RESOURCE_STATES StateBefore; | ||
| 3353 | D3D12_RESOURCE_STATES StateAfter; | ||
| 3354 | } D3D12_RESOURCE_TRANSITION_BARRIER; | ||
| 3355 | |||
| 3356 | typedef struct D3D12_RESOURCE_ALIASING_BARRIER | ||
| 3357 | { | ||
| 3358 | ID3D12Resource *pResourceBefore; | ||
| 3359 | ID3D12Resource *pResourceAfter; | ||
| 3360 | } D3D12_RESOURCE_ALIASING_BARRIER; | ||
| 3361 | |||
| 3362 | typedef struct D3D12_RESOURCE_UAV_BARRIER | ||
| 3363 | { | ||
| 3364 | ID3D12Resource *pResource; | ||
| 3365 | } D3D12_RESOURCE_UAV_BARRIER; | ||
| 3366 | |||
| 3367 | typedef | ||
| 3368 | enum D3D12_RESOURCE_BARRIER_FLAGS | ||
| 3369 | { | ||
| 3370 | D3D12_RESOURCE_BARRIER_FLAG_NONE = 0, | ||
| 3371 | D3D12_RESOURCE_BARRIER_FLAG_BEGIN_ONLY = 0x1, | ||
| 3372 | D3D12_RESOURCE_BARRIER_FLAG_END_ONLY = 0x2 | ||
| 3373 | } D3D12_RESOURCE_BARRIER_FLAGS; | ||
| 3374 | |||
| 3375 | DEFINE_ENUM_FLAG_OPERATORS( D3D12_RESOURCE_BARRIER_FLAGS ) | ||
| 3376 | typedef struct D3D12_RESOURCE_BARRIER | ||
| 3377 | { | ||
| 3378 | D3D12_RESOURCE_BARRIER_TYPE Type; | ||
| 3379 | D3D12_RESOURCE_BARRIER_FLAGS Flags; | ||
| 3380 | union | ||
| 3381 | { | ||
| 3382 | D3D12_RESOURCE_TRANSITION_BARRIER Transition; | ||
| 3383 | D3D12_RESOURCE_ALIASING_BARRIER Aliasing; | ||
| 3384 | D3D12_RESOURCE_UAV_BARRIER UAV; | ||
| 3385 | } ; | ||
| 3386 | } D3D12_RESOURCE_BARRIER; | ||
| 3387 | |||
| 3388 | typedef struct D3D12_SUBRESOURCE_FOOTPRINT | ||
| 3389 | { | ||
| 3390 | DXGI_FORMAT Format; | ||
| 3391 | UINT Width; | ||
| 3392 | UINT Height; | ||
| 3393 | UINT Depth; | ||
| 3394 | UINT RowPitch; | ||
| 3395 | } D3D12_SUBRESOURCE_FOOTPRINT; | ||
| 3396 | |||
| 3397 | typedef struct D3D12_PLACED_SUBRESOURCE_FOOTPRINT | ||
| 3398 | { | ||
| 3399 | UINT64 Offset; | ||
| 3400 | D3D12_SUBRESOURCE_FOOTPRINT Footprint; | ||
| 3401 | } D3D12_PLACED_SUBRESOURCE_FOOTPRINT; | ||
| 3402 | |||
| 3403 | typedef | ||
| 3404 | enum D3D12_TEXTURE_COPY_TYPE | ||
| 3405 | { | ||
| 3406 | D3D12_TEXTURE_COPY_TYPE_SUBRESOURCE_INDEX = 0, | ||
| 3407 | D3D12_TEXTURE_COPY_TYPE_PLACED_FOOTPRINT = 1 | ||
| 3408 | } D3D12_TEXTURE_COPY_TYPE; | ||
| 3409 | |||
| 3410 | typedef struct D3D12_TEXTURE_COPY_LOCATION | ||
| 3411 | { | ||
| 3412 | ID3D12Resource *pResource; | ||
| 3413 | D3D12_TEXTURE_COPY_TYPE Type; | ||
| 3414 | union | ||
| 3415 | { | ||
| 3416 | D3D12_PLACED_SUBRESOURCE_FOOTPRINT PlacedFootprint; | ||
| 3417 | UINT SubresourceIndex; | ||
| 3418 | } ; | ||
| 3419 | } D3D12_TEXTURE_COPY_LOCATION; | ||
| 3420 | |||
| 3421 | typedef | ||
| 3422 | enum D3D12_RESOLVE_MODE | ||
| 3423 | { | ||
| 3424 | D3D12_RESOLVE_MODE_DECOMPRESS = 0, | ||
| 3425 | D3D12_RESOLVE_MODE_MIN = 1, | ||
| 3426 | D3D12_RESOLVE_MODE_MAX = 2, | ||
| 3427 | D3D12_RESOLVE_MODE_AVERAGE = 3, | ||
| 3428 | D3D12_RESOLVE_MODE_ENCODE_SAMPLER_FEEDBACK = 4, | ||
| 3429 | D3D12_RESOLVE_MODE_DECODE_SAMPLER_FEEDBACK = 5 | ||
| 3430 | } D3D12_RESOLVE_MODE; | ||
| 3431 | |||
| 3432 | typedef struct D3D12_SAMPLE_POSITION | ||
| 3433 | { | ||
| 3434 | INT8 X; | ||
| 3435 | INT8 Y; | ||
| 3436 | } D3D12_SAMPLE_POSITION; | ||
| 3437 | |||
| 3438 | typedef struct D3D12_VIEW_INSTANCE_LOCATION | ||
| 3439 | { | ||
| 3440 | UINT ViewportArrayIndex; | ||
| 3441 | UINT RenderTargetArrayIndex; | ||
| 3442 | } D3D12_VIEW_INSTANCE_LOCATION; | ||
| 3443 | |||
| 3444 | typedef | ||
| 3445 | enum D3D12_VIEW_INSTANCING_FLAGS | ||
| 3446 | { | ||
| 3447 | D3D12_VIEW_INSTANCING_FLAG_NONE = 0, | ||
| 3448 | D3D12_VIEW_INSTANCING_FLAG_ENABLE_VIEW_INSTANCE_MASKING = 0x1 | ||
| 3449 | } D3D12_VIEW_INSTANCING_FLAGS; | ||
| 3450 | |||
| 3451 | DEFINE_ENUM_FLAG_OPERATORS( D3D12_VIEW_INSTANCING_FLAGS ) | ||
| 3452 | typedef struct D3D12_VIEW_INSTANCING_DESC | ||
| 3453 | { | ||
| 3454 | UINT ViewInstanceCount; | ||
| 3455 | _Field_size_full_(ViewInstanceCount) const D3D12_VIEW_INSTANCE_LOCATION *pViewInstanceLocations; | ||
| 3456 | D3D12_VIEW_INSTANCING_FLAGS Flags; | ||
| 3457 | } D3D12_VIEW_INSTANCING_DESC; | ||
| 3458 | |||
| 3459 | typedef | ||
| 3460 | enum D3D12_SHADER_COMPONENT_MAPPING | ||
| 3461 | { | ||
| 3462 | D3D12_SHADER_COMPONENT_MAPPING_FROM_MEMORY_COMPONENT_0 = 0, | ||
| 3463 | D3D12_SHADER_COMPONENT_MAPPING_FROM_MEMORY_COMPONENT_1 = 1, | ||
| 3464 | D3D12_SHADER_COMPONENT_MAPPING_FROM_MEMORY_COMPONENT_2 = 2, | ||
| 3465 | D3D12_SHADER_COMPONENT_MAPPING_FROM_MEMORY_COMPONENT_3 = 3, | ||
| 3466 | D3D12_SHADER_COMPONENT_MAPPING_FORCE_VALUE_0 = 4, | ||
| 3467 | D3D12_SHADER_COMPONENT_MAPPING_FORCE_VALUE_1 = 5 | ||
| 3468 | } D3D12_SHADER_COMPONENT_MAPPING; | ||
| 3469 | |||
| 3470 | #define D3D12_SHADER_COMPONENT_MAPPING_MASK 0x7 | ||
| 3471 | #define D3D12_SHADER_COMPONENT_MAPPING_SHIFT 3 | ||
| 3472 | #define D3D12_SHADER_COMPONENT_MAPPING_ALWAYS_SET_BIT_AVOIDING_ZEROMEM_MISTAKES (1<<(D3D12_SHADER_COMPONENT_MAPPING_SHIFT*4)) | ||
| 3473 | #define D3D12_ENCODE_SHADER_4_COMPONENT_MAPPING(Src0,Src1,Src2,Src3) ((((Src0)&D3D12_SHADER_COMPONENT_MAPPING_MASK)| \ | ||
| 3474 | (((Src1)&D3D12_SHADER_COMPONENT_MAPPING_MASK)<<D3D12_SHADER_COMPONENT_MAPPING_SHIFT)| \ | ||
| 3475 | (((Src2)&D3D12_SHADER_COMPONENT_MAPPING_MASK)<<(D3D12_SHADER_COMPONENT_MAPPING_SHIFT*2))| \ | ||
| 3476 | (((Src3)&D3D12_SHADER_COMPONENT_MAPPING_MASK)<<(D3D12_SHADER_COMPONENT_MAPPING_SHIFT*3))| \ | ||
| 3477 | D3D12_SHADER_COMPONENT_MAPPING_ALWAYS_SET_BIT_AVOIDING_ZEROMEM_MISTAKES)) | ||
| 3478 | #define D3D12_DECODE_SHADER_4_COMPONENT_MAPPING(ComponentToExtract,Mapping) ((D3D12_SHADER_COMPONENT_MAPPING)(Mapping >> (D3D12_SHADER_COMPONENT_MAPPING_SHIFT*ComponentToExtract) & D3D12_SHADER_COMPONENT_MAPPING_MASK)) | ||
| 3479 | #define D3D12_DEFAULT_SHADER_4_COMPONENT_MAPPING D3D12_ENCODE_SHADER_4_COMPONENT_MAPPING(0,1,2,3) | ||
| 3480 | typedef | ||
| 3481 | enum D3D12_BUFFER_SRV_FLAGS | ||
| 3482 | { | ||
| 3483 | D3D12_BUFFER_SRV_FLAG_NONE = 0, | ||
| 3484 | D3D12_BUFFER_SRV_FLAG_RAW = 0x1 | ||
| 3485 | } D3D12_BUFFER_SRV_FLAGS; | ||
| 3486 | |||
| 3487 | DEFINE_ENUM_FLAG_OPERATORS( D3D12_BUFFER_SRV_FLAGS ) | ||
| 3488 | typedef struct D3D12_BUFFER_SRV | ||
| 3489 | { | ||
| 3490 | UINT64 FirstElement; | ||
| 3491 | UINT NumElements; | ||
| 3492 | UINT StructureByteStride; | ||
| 3493 | D3D12_BUFFER_SRV_FLAGS Flags; | ||
| 3494 | } D3D12_BUFFER_SRV; | ||
| 3495 | |||
| 3496 | typedef struct D3D12_TEX1D_SRV | ||
| 3497 | { | ||
| 3498 | UINT MostDetailedMip; | ||
| 3499 | UINT MipLevels; | ||
| 3500 | FLOAT ResourceMinLODClamp; | ||
| 3501 | } D3D12_TEX1D_SRV; | ||
| 3502 | |||
| 3503 | typedef struct D3D12_TEX1D_ARRAY_SRV | ||
| 3504 | { | ||
| 3505 | UINT MostDetailedMip; | ||
| 3506 | UINT MipLevels; | ||
| 3507 | UINT FirstArraySlice; | ||
| 3508 | UINT ArraySize; | ||
| 3509 | FLOAT ResourceMinLODClamp; | ||
| 3510 | } D3D12_TEX1D_ARRAY_SRV; | ||
| 3511 | |||
| 3512 | typedef struct D3D12_TEX2D_SRV | ||
| 3513 | { | ||
| 3514 | UINT MostDetailedMip; | ||
| 3515 | UINT MipLevels; | ||
| 3516 | UINT PlaneSlice; | ||
| 3517 | FLOAT ResourceMinLODClamp; | ||
| 3518 | } D3D12_TEX2D_SRV; | ||
| 3519 | |||
| 3520 | typedef struct D3D12_TEX2D_ARRAY_SRV | ||
| 3521 | { | ||
| 3522 | UINT MostDetailedMip; | ||
| 3523 | UINT MipLevels; | ||
| 3524 | UINT FirstArraySlice; | ||
| 3525 | UINT ArraySize; | ||
| 3526 | UINT PlaneSlice; | ||
| 3527 | FLOAT ResourceMinLODClamp; | ||
| 3528 | } D3D12_TEX2D_ARRAY_SRV; | ||
| 3529 | |||
| 3530 | typedef struct D3D12_TEX3D_SRV | ||
| 3531 | { | ||
| 3532 | UINT MostDetailedMip; | ||
| 3533 | UINT MipLevels; | ||
| 3534 | FLOAT ResourceMinLODClamp; | ||
| 3535 | } D3D12_TEX3D_SRV; | ||
| 3536 | |||
| 3537 | typedef struct D3D12_TEXCUBE_SRV | ||
| 3538 | { | ||
| 3539 | UINT MostDetailedMip; | ||
| 3540 | UINT MipLevels; | ||
| 3541 | FLOAT ResourceMinLODClamp; | ||
| 3542 | } D3D12_TEXCUBE_SRV; | ||
| 3543 | |||
| 3544 | typedef struct D3D12_TEXCUBE_ARRAY_SRV | ||
| 3545 | { | ||
| 3546 | UINT MostDetailedMip; | ||
| 3547 | UINT MipLevels; | ||
| 3548 | UINT First2DArrayFace; | ||
| 3549 | UINT NumCubes; | ||
| 3550 | FLOAT ResourceMinLODClamp; | ||
| 3551 | } D3D12_TEXCUBE_ARRAY_SRV; | ||
| 3552 | |||
| 3553 | typedef struct D3D12_TEX2DMS_SRV | ||
| 3554 | { | ||
| 3555 | UINT UnusedField_NothingToDefine; | ||
| 3556 | } D3D12_TEX2DMS_SRV; | ||
| 3557 | |||
| 3558 | typedef struct D3D12_TEX2DMS_ARRAY_SRV | ||
| 3559 | { | ||
| 3560 | UINT FirstArraySlice; | ||
| 3561 | UINT ArraySize; | ||
| 3562 | } D3D12_TEX2DMS_ARRAY_SRV; | ||
| 3563 | |||
| 3564 | typedef struct D3D12_RAYTRACING_ACCELERATION_STRUCTURE_SRV | ||
| 3565 | { | ||
| 3566 | D3D12_GPU_VIRTUAL_ADDRESS Location; | ||
| 3567 | } D3D12_RAYTRACING_ACCELERATION_STRUCTURE_SRV; | ||
| 3568 | |||
| 3569 | typedef | ||
| 3570 | enum D3D12_SRV_DIMENSION | ||
| 3571 | { | ||
| 3572 | D3D12_SRV_DIMENSION_UNKNOWN = 0, | ||
| 3573 | D3D12_SRV_DIMENSION_BUFFER = 1, | ||
| 3574 | D3D12_SRV_DIMENSION_TEXTURE1D = 2, | ||
| 3575 | D3D12_SRV_DIMENSION_TEXTURE1DARRAY = 3, | ||
| 3576 | D3D12_SRV_DIMENSION_TEXTURE2D = 4, | ||
| 3577 | D3D12_SRV_DIMENSION_TEXTURE2DARRAY = 5, | ||
| 3578 | D3D12_SRV_DIMENSION_TEXTURE2DMS = 6, | ||
| 3579 | D3D12_SRV_DIMENSION_TEXTURE2DMSARRAY = 7, | ||
| 3580 | D3D12_SRV_DIMENSION_TEXTURE3D = 8, | ||
| 3581 | D3D12_SRV_DIMENSION_TEXTURECUBE = 9, | ||
| 3582 | D3D12_SRV_DIMENSION_TEXTURECUBEARRAY = 10, | ||
| 3583 | D3D12_SRV_DIMENSION_RAYTRACING_ACCELERATION_STRUCTURE = 11 | ||
| 3584 | } D3D12_SRV_DIMENSION; | ||
| 3585 | |||
| 3586 | typedef struct D3D12_SHADER_RESOURCE_VIEW_DESC | ||
| 3587 | { | ||
| 3588 | DXGI_FORMAT Format; | ||
| 3589 | D3D12_SRV_DIMENSION ViewDimension; | ||
| 3590 | UINT Shader4ComponentMapping; | ||
| 3591 | union | ||
| 3592 | { | ||
| 3593 | D3D12_BUFFER_SRV Buffer; | ||
| 3594 | D3D12_TEX1D_SRV Texture1D; | ||
| 3595 | D3D12_TEX1D_ARRAY_SRV Texture1DArray; | ||
| 3596 | D3D12_TEX2D_SRV Texture2D; | ||
| 3597 | D3D12_TEX2D_ARRAY_SRV Texture2DArray; | ||
| 3598 | D3D12_TEX2DMS_SRV Texture2DMS; | ||
| 3599 | D3D12_TEX2DMS_ARRAY_SRV Texture2DMSArray; | ||
| 3600 | D3D12_TEX3D_SRV Texture3D; | ||
| 3601 | D3D12_TEXCUBE_SRV TextureCube; | ||
| 3602 | D3D12_TEXCUBE_ARRAY_SRV TextureCubeArray; | ||
| 3603 | D3D12_RAYTRACING_ACCELERATION_STRUCTURE_SRV RaytracingAccelerationStructure; | ||
| 3604 | } ; | ||
| 3605 | } D3D12_SHADER_RESOURCE_VIEW_DESC; | ||
| 3606 | |||
| 3607 | typedef struct D3D12_CONSTANT_BUFFER_VIEW_DESC | ||
| 3608 | { | ||
| 3609 | D3D12_GPU_VIRTUAL_ADDRESS BufferLocation; | ||
| 3610 | UINT SizeInBytes; | ||
| 3611 | } D3D12_CONSTANT_BUFFER_VIEW_DESC; | ||
| 3612 | |||
| 3613 | typedef | ||
| 3614 | enum D3D12_FILTER | ||
| 3615 | { | ||
| 3616 | D3D12_FILTER_MIN_MAG_MIP_POINT = 0, | ||
| 3617 | D3D12_FILTER_MIN_MAG_POINT_MIP_LINEAR = 0x1, | ||
| 3618 | D3D12_FILTER_MIN_POINT_MAG_LINEAR_MIP_POINT = 0x4, | ||
| 3619 | D3D12_FILTER_MIN_POINT_MAG_MIP_LINEAR = 0x5, | ||
| 3620 | D3D12_FILTER_MIN_LINEAR_MAG_MIP_POINT = 0x10, | ||
| 3621 | D3D12_FILTER_MIN_LINEAR_MAG_POINT_MIP_LINEAR = 0x11, | ||
| 3622 | D3D12_FILTER_MIN_MAG_LINEAR_MIP_POINT = 0x14, | ||
| 3623 | D3D12_FILTER_MIN_MAG_MIP_LINEAR = 0x15, | ||
| 3624 | D3D12_FILTER_MIN_MAG_ANISOTROPIC_MIP_POINT = 0x54, | ||
| 3625 | D3D12_FILTER_ANISOTROPIC = 0x55, | ||
| 3626 | D3D12_FILTER_COMPARISON_MIN_MAG_MIP_POINT = 0x80, | ||
| 3627 | D3D12_FILTER_COMPARISON_MIN_MAG_POINT_MIP_LINEAR = 0x81, | ||
| 3628 | D3D12_FILTER_COMPARISON_MIN_POINT_MAG_LINEAR_MIP_POINT = 0x84, | ||
| 3629 | D3D12_FILTER_COMPARISON_MIN_POINT_MAG_MIP_LINEAR = 0x85, | ||
| 3630 | D3D12_FILTER_COMPARISON_MIN_LINEAR_MAG_MIP_POINT = 0x90, | ||
| 3631 | D3D12_FILTER_COMPARISON_MIN_LINEAR_MAG_POINT_MIP_LINEAR = 0x91, | ||
| 3632 | D3D12_FILTER_COMPARISON_MIN_MAG_LINEAR_MIP_POINT = 0x94, | ||
| 3633 | D3D12_FILTER_COMPARISON_MIN_MAG_MIP_LINEAR = 0x95, | ||
| 3634 | D3D12_FILTER_COMPARISON_MIN_MAG_ANISOTROPIC_MIP_POINT = 0xd4, | ||
| 3635 | D3D12_FILTER_COMPARISON_ANISOTROPIC = 0xd5, | ||
| 3636 | D3D12_FILTER_MINIMUM_MIN_MAG_MIP_POINT = 0x100, | ||
| 3637 | D3D12_FILTER_MINIMUM_MIN_MAG_POINT_MIP_LINEAR = 0x101, | ||
| 3638 | D3D12_FILTER_MINIMUM_MIN_POINT_MAG_LINEAR_MIP_POINT = 0x104, | ||
| 3639 | D3D12_FILTER_MINIMUM_MIN_POINT_MAG_MIP_LINEAR = 0x105, | ||
| 3640 | D3D12_FILTER_MINIMUM_MIN_LINEAR_MAG_MIP_POINT = 0x110, | ||
| 3641 | D3D12_FILTER_MINIMUM_MIN_LINEAR_MAG_POINT_MIP_LINEAR = 0x111, | ||
| 3642 | D3D12_FILTER_MINIMUM_MIN_MAG_LINEAR_MIP_POINT = 0x114, | ||
| 3643 | D3D12_FILTER_MINIMUM_MIN_MAG_MIP_LINEAR = 0x115, | ||
| 3644 | D3D12_FILTER_MINIMUM_MIN_MAG_ANISOTROPIC_MIP_POINT = 0x154, | ||
| 3645 | D3D12_FILTER_MINIMUM_ANISOTROPIC = 0x155, | ||
| 3646 | D3D12_FILTER_MAXIMUM_MIN_MAG_MIP_POINT = 0x180, | ||
| 3647 | D3D12_FILTER_MAXIMUM_MIN_MAG_POINT_MIP_LINEAR = 0x181, | ||
| 3648 | D3D12_FILTER_MAXIMUM_MIN_POINT_MAG_LINEAR_MIP_POINT = 0x184, | ||
| 3649 | D3D12_FILTER_MAXIMUM_MIN_POINT_MAG_MIP_LINEAR = 0x185, | ||
| 3650 | D3D12_FILTER_MAXIMUM_MIN_LINEAR_MAG_MIP_POINT = 0x190, | ||
| 3651 | D3D12_FILTER_MAXIMUM_MIN_LINEAR_MAG_POINT_MIP_LINEAR = 0x191, | ||
| 3652 | D3D12_FILTER_MAXIMUM_MIN_MAG_LINEAR_MIP_POINT = 0x194, | ||
| 3653 | D3D12_FILTER_MAXIMUM_MIN_MAG_MIP_LINEAR = 0x195, | ||
| 3654 | D3D12_FILTER_MAXIMUM_MIN_MAG_ANISOTROPIC_MIP_POINT = 0x1d4, | ||
| 3655 | D3D12_FILTER_MAXIMUM_ANISOTROPIC = 0x1d5 | ||
| 3656 | } D3D12_FILTER; | ||
| 3657 | |||
| 3658 | typedef | ||
| 3659 | enum D3D12_FILTER_TYPE | ||
| 3660 | { | ||
| 3661 | D3D12_FILTER_TYPE_POINT = 0, | ||
| 3662 | D3D12_FILTER_TYPE_LINEAR = 1 | ||
| 3663 | } D3D12_FILTER_TYPE; | ||
| 3664 | |||
| 3665 | typedef | ||
| 3666 | enum D3D12_FILTER_REDUCTION_TYPE | ||
| 3667 | { | ||
| 3668 | D3D12_FILTER_REDUCTION_TYPE_STANDARD = 0, | ||
| 3669 | D3D12_FILTER_REDUCTION_TYPE_COMPARISON = 1, | ||
| 3670 | D3D12_FILTER_REDUCTION_TYPE_MINIMUM = 2, | ||
| 3671 | D3D12_FILTER_REDUCTION_TYPE_MAXIMUM = 3 | ||
| 3672 | } D3D12_FILTER_REDUCTION_TYPE; | ||
| 3673 | |||
| 3674 | #define D3D12_FILTER_REDUCTION_TYPE_MASK ( 0x3 ) | ||
| 3675 | |||
| 3676 | #define D3D12_FILTER_REDUCTION_TYPE_SHIFT ( 7 ) | ||
| 3677 | |||
| 3678 | #define D3D12_FILTER_TYPE_MASK ( 0x3 ) | ||
| 3679 | |||
| 3680 | #define D3D12_MIN_FILTER_SHIFT ( 4 ) | ||
| 3681 | |||
| 3682 | #define D3D12_MAG_FILTER_SHIFT ( 2 ) | ||
| 3683 | |||
| 3684 | #define D3D12_MIP_FILTER_SHIFT ( 0 ) | ||
| 3685 | |||
| 3686 | #define D3D12_ANISOTROPIC_FILTERING_BIT ( 0x40 ) | ||
| 3687 | |||
| 3688 | #define D3D12_ENCODE_BASIC_FILTER( min, mag, mip, reduction ) \ | ||
| 3689 | ( ( D3D12_FILTER ) ( \ | ||
| 3690 | ( ( ( min ) & D3D12_FILTER_TYPE_MASK ) << D3D12_MIN_FILTER_SHIFT ) | \ | ||
| 3691 | ( ( ( mag ) & D3D12_FILTER_TYPE_MASK ) << D3D12_MAG_FILTER_SHIFT ) | \ | ||
| 3692 | ( ( ( mip ) & D3D12_FILTER_TYPE_MASK ) << D3D12_MIP_FILTER_SHIFT ) | \ | ||
| 3693 | ( ( ( reduction ) & D3D12_FILTER_REDUCTION_TYPE_MASK ) << D3D12_FILTER_REDUCTION_TYPE_SHIFT ) ) ) | ||
| 3694 | #define D3D12_ENCODE_ANISOTROPIC_FILTER( reduction ) \ | ||
| 3695 | ( ( D3D12_FILTER ) ( \ | ||
| 3696 | D3D12_ANISOTROPIC_FILTERING_BIT | \ | ||
| 3697 | D3D12_ENCODE_BASIC_FILTER( D3D12_FILTER_TYPE_LINEAR, \ | ||
| 3698 | D3D12_FILTER_TYPE_LINEAR, \ | ||
| 3699 | D3D12_FILTER_TYPE_LINEAR, \ | ||
| 3700 | reduction ) ) ) | ||
| 3701 | #define D3D12_ENCODE_MIN_MAG_ANISOTROPIC_MIP_POINT_FILTER( reduction ) \ | ||
| 3702 | ( ( D3D12_FILTER ) ( \ | ||
| 3703 | D3D12_ANISOTROPIC_FILTERING_BIT | \ | ||
| 3704 | D3D12_ENCODE_BASIC_FILTER( D3D12_FILTER_TYPE_LINEAR, \ | ||
| 3705 | D3D12_FILTER_TYPE_LINEAR, \ | ||
| 3706 | D3D12_FILTER_TYPE_POINT, \ | ||
| 3707 | reduction ) ) ) | ||
| 3708 | #define D3D12_DECODE_MIN_FILTER( D3D12Filter ) \ | ||
| 3709 | ( ( D3D12_FILTER_TYPE ) \ | ||
| 3710 | ( ( ( D3D12Filter ) >> D3D12_MIN_FILTER_SHIFT ) & D3D12_FILTER_TYPE_MASK ) ) | ||
| 3711 | #define D3D12_DECODE_MAG_FILTER( D3D12Filter ) \ | ||
| 3712 | ( ( D3D12_FILTER_TYPE ) \ | ||
| 3713 | ( ( ( D3D12Filter ) >> D3D12_MAG_FILTER_SHIFT ) & D3D12_FILTER_TYPE_MASK ) ) | ||
| 3714 | #define D3D12_DECODE_MIP_FILTER( D3D12Filter ) \ | ||
| 3715 | ( ( D3D12_FILTER_TYPE ) \ | ||
| 3716 | ( ( ( D3D12Filter ) >> D3D12_MIP_FILTER_SHIFT ) & D3D12_FILTER_TYPE_MASK ) ) | ||
| 3717 | #define D3D12_DECODE_FILTER_REDUCTION( D3D12Filter ) \ | ||
| 3718 | ( ( D3D12_FILTER_REDUCTION_TYPE ) \ | ||
| 3719 | ( ( ( D3D12Filter ) >> D3D12_FILTER_REDUCTION_TYPE_SHIFT ) & D3D12_FILTER_REDUCTION_TYPE_MASK ) ) | ||
| 3720 | #define D3D12_DECODE_IS_COMPARISON_FILTER( D3D12Filter ) \ | ||
| 3721 | ( D3D12_DECODE_FILTER_REDUCTION( D3D12Filter ) == D3D12_FILTER_REDUCTION_TYPE_COMPARISON ) | ||
| 3722 | #define D3D12_DECODE_IS_ANISOTROPIC_FILTER( D3D12Filter ) \ | ||
| 3723 | ( ( ( D3D12Filter ) & D3D12_ANISOTROPIC_FILTERING_BIT ) && \ | ||
| 3724 | ( D3D12_FILTER_TYPE_LINEAR == D3D12_DECODE_MIN_FILTER( D3D12Filter ) ) && \ | ||
| 3725 | ( D3D12_FILTER_TYPE_LINEAR == D3D12_DECODE_MAG_FILTER( D3D12Filter ) ) ) | ||
| 3726 | typedef | ||
| 3727 | enum D3D12_TEXTURE_ADDRESS_MODE | ||
| 3728 | { | ||
| 3729 | D3D12_TEXTURE_ADDRESS_MODE_WRAP = 1, | ||
| 3730 | D3D12_TEXTURE_ADDRESS_MODE_MIRROR = 2, | ||
| 3731 | D3D12_TEXTURE_ADDRESS_MODE_CLAMP = 3, | ||
| 3732 | D3D12_TEXTURE_ADDRESS_MODE_BORDER = 4, | ||
| 3733 | D3D12_TEXTURE_ADDRESS_MODE_MIRROR_ONCE = 5 | ||
| 3734 | } D3D12_TEXTURE_ADDRESS_MODE; | ||
| 3735 | |||
| 3736 | typedef struct D3D12_SAMPLER_DESC | ||
| 3737 | { | ||
| 3738 | D3D12_FILTER Filter; | ||
| 3739 | D3D12_TEXTURE_ADDRESS_MODE AddressU; | ||
| 3740 | D3D12_TEXTURE_ADDRESS_MODE AddressV; | ||
| 3741 | D3D12_TEXTURE_ADDRESS_MODE AddressW; | ||
| 3742 | FLOAT MipLODBias; | ||
| 3743 | UINT MaxAnisotropy; | ||
| 3744 | D3D12_COMPARISON_FUNC ComparisonFunc; | ||
| 3745 | FLOAT BorderColor[ 4 ]; | ||
| 3746 | FLOAT MinLOD; | ||
| 3747 | FLOAT MaxLOD; | ||
| 3748 | } D3D12_SAMPLER_DESC; | ||
| 3749 | |||
| 3750 | typedef | ||
| 3751 | enum D3D12_SAMPLER_FLAGS | ||
| 3752 | { | ||
| 3753 | D3D12_SAMPLER_FLAG_NONE = 0, | ||
| 3754 | D3D12_SAMPLER_FLAG_UINT_BORDER_COLOR = 0x1, | ||
| 3755 | D3D12_SAMPLER_FLAG_NON_NORMALIZED_COORDINATES = 0x2 | ||
| 3756 | } D3D12_SAMPLER_FLAGS; | ||
| 3757 | |||
| 3758 | DEFINE_ENUM_FLAG_OPERATORS( D3D12_SAMPLER_FLAGS ) | ||
| 3759 | typedef struct D3D12_SAMPLER_DESC2 | ||
| 3760 | { | ||
| 3761 | D3D12_FILTER Filter; | ||
| 3762 | D3D12_TEXTURE_ADDRESS_MODE AddressU; | ||
| 3763 | D3D12_TEXTURE_ADDRESS_MODE AddressV; | ||
| 3764 | D3D12_TEXTURE_ADDRESS_MODE AddressW; | ||
| 3765 | FLOAT MipLODBias; | ||
| 3766 | UINT MaxAnisotropy; | ||
| 3767 | D3D12_COMPARISON_FUNC ComparisonFunc; | ||
| 3768 | union | ||
| 3769 | { | ||
| 3770 | FLOAT FloatBorderColor[ 4 ]; | ||
| 3771 | UINT UintBorderColor[ 4 ]; | ||
| 3772 | } ; | ||
| 3773 | FLOAT MinLOD; | ||
| 3774 | FLOAT MaxLOD; | ||
| 3775 | D3D12_SAMPLER_FLAGS Flags; | ||
| 3776 | } D3D12_SAMPLER_DESC2; | ||
| 3777 | |||
| 3778 | typedef | ||
| 3779 | enum D3D12_BUFFER_UAV_FLAGS | ||
| 3780 | { | ||
| 3781 | D3D12_BUFFER_UAV_FLAG_NONE = 0, | ||
| 3782 | D3D12_BUFFER_UAV_FLAG_RAW = 0x1 | ||
| 3783 | } D3D12_BUFFER_UAV_FLAGS; | ||
| 3784 | |||
| 3785 | DEFINE_ENUM_FLAG_OPERATORS( D3D12_BUFFER_UAV_FLAGS ) | ||
| 3786 | typedef struct D3D12_BUFFER_UAV | ||
| 3787 | { | ||
| 3788 | UINT64 FirstElement; | ||
| 3789 | UINT NumElements; | ||
| 3790 | UINT StructureByteStride; | ||
| 3791 | UINT64 CounterOffsetInBytes; | ||
| 3792 | D3D12_BUFFER_UAV_FLAGS Flags; | ||
| 3793 | } D3D12_BUFFER_UAV; | ||
| 3794 | |||
| 3795 | typedef struct D3D12_TEX1D_UAV | ||
| 3796 | { | ||
| 3797 | UINT MipSlice; | ||
| 3798 | } D3D12_TEX1D_UAV; | ||
| 3799 | |||
| 3800 | typedef struct D3D12_TEX1D_ARRAY_UAV | ||
| 3801 | { | ||
| 3802 | UINT MipSlice; | ||
| 3803 | UINT FirstArraySlice; | ||
| 3804 | UINT ArraySize; | ||
| 3805 | } D3D12_TEX1D_ARRAY_UAV; | ||
| 3806 | |||
| 3807 | typedef struct D3D12_TEX2D_UAV | ||
| 3808 | { | ||
| 3809 | UINT MipSlice; | ||
| 3810 | UINT PlaneSlice; | ||
| 3811 | } D3D12_TEX2D_UAV; | ||
| 3812 | |||
| 3813 | typedef struct D3D12_TEX2D_ARRAY_UAV | ||
| 3814 | { | ||
| 3815 | UINT MipSlice; | ||
| 3816 | UINT FirstArraySlice; | ||
| 3817 | UINT ArraySize; | ||
| 3818 | UINT PlaneSlice; | ||
| 3819 | } D3D12_TEX2D_ARRAY_UAV; | ||
| 3820 | |||
| 3821 | typedef struct D3D12_TEX2DMS_UAV | ||
| 3822 | { | ||
| 3823 | UINT UnusedField_NothingToDefine; | ||
| 3824 | } D3D12_TEX2DMS_UAV; | ||
| 3825 | |||
| 3826 | typedef struct D3D12_TEX2DMS_ARRAY_UAV | ||
| 3827 | { | ||
| 3828 | UINT FirstArraySlice; | ||
| 3829 | UINT ArraySize; | ||
| 3830 | } D3D12_TEX2DMS_ARRAY_UAV; | ||
| 3831 | |||
| 3832 | typedef struct D3D12_TEX3D_UAV | ||
| 3833 | { | ||
| 3834 | UINT MipSlice; | ||
| 3835 | UINT FirstWSlice; | ||
| 3836 | UINT WSize; | ||
| 3837 | } D3D12_TEX3D_UAV; | ||
| 3838 | |||
| 3839 | typedef | ||
| 3840 | enum D3D12_UAV_DIMENSION | ||
| 3841 | { | ||
| 3842 | D3D12_UAV_DIMENSION_UNKNOWN = 0, | ||
| 3843 | D3D12_UAV_DIMENSION_BUFFER = 1, | ||
| 3844 | D3D12_UAV_DIMENSION_TEXTURE1D = 2, | ||
| 3845 | D3D12_UAV_DIMENSION_TEXTURE1DARRAY = 3, | ||
| 3846 | D3D12_UAV_DIMENSION_TEXTURE2D = 4, | ||
| 3847 | D3D12_UAV_DIMENSION_TEXTURE2DARRAY = 5, | ||
| 3848 | D3D12_UAV_DIMENSION_TEXTURE2DMS = 6, | ||
| 3849 | D3D12_UAV_DIMENSION_TEXTURE2DMSARRAY = 7, | ||
| 3850 | D3D12_UAV_DIMENSION_TEXTURE3D = 8 | ||
| 3851 | } D3D12_UAV_DIMENSION; | ||
| 3852 | |||
| 3853 | typedef struct D3D12_UNORDERED_ACCESS_VIEW_DESC | ||
| 3854 | { | ||
| 3855 | DXGI_FORMAT Format; | ||
| 3856 | D3D12_UAV_DIMENSION ViewDimension; | ||
| 3857 | union | ||
| 3858 | { | ||
| 3859 | D3D12_BUFFER_UAV Buffer; | ||
| 3860 | D3D12_TEX1D_UAV Texture1D; | ||
| 3861 | D3D12_TEX1D_ARRAY_UAV Texture1DArray; | ||
| 3862 | D3D12_TEX2D_UAV Texture2D; | ||
| 3863 | D3D12_TEX2D_ARRAY_UAV Texture2DArray; | ||
| 3864 | D3D12_TEX2DMS_UAV Texture2DMS; | ||
| 3865 | D3D12_TEX2DMS_ARRAY_UAV Texture2DMSArray; | ||
| 3866 | D3D12_TEX3D_UAV Texture3D; | ||
| 3867 | } ; | ||
| 3868 | } D3D12_UNORDERED_ACCESS_VIEW_DESC; | ||
| 3869 | |||
| 3870 | typedef struct D3D12_BUFFER_RTV | ||
| 3871 | { | ||
| 3872 | UINT64 FirstElement; | ||
| 3873 | UINT NumElements; | ||
| 3874 | } D3D12_BUFFER_RTV; | ||
| 3875 | |||
| 3876 | typedef struct D3D12_TEX1D_RTV | ||
| 3877 | { | ||
| 3878 | UINT MipSlice; | ||
| 3879 | } D3D12_TEX1D_RTV; | ||
| 3880 | |||
| 3881 | typedef struct D3D12_TEX1D_ARRAY_RTV | ||
| 3882 | { | ||
| 3883 | UINT MipSlice; | ||
| 3884 | UINT FirstArraySlice; | ||
| 3885 | UINT ArraySize; | ||
| 3886 | } D3D12_TEX1D_ARRAY_RTV; | ||
| 3887 | |||
| 3888 | typedef struct D3D12_TEX2D_RTV | ||
| 3889 | { | ||
| 3890 | UINT MipSlice; | ||
| 3891 | UINT PlaneSlice; | ||
| 3892 | } D3D12_TEX2D_RTV; | ||
| 3893 | |||
| 3894 | typedef struct D3D12_TEX2DMS_RTV | ||
| 3895 | { | ||
| 3896 | UINT UnusedField_NothingToDefine; | ||
| 3897 | } D3D12_TEX2DMS_RTV; | ||
| 3898 | |||
| 3899 | typedef struct D3D12_TEX2D_ARRAY_RTV | ||
| 3900 | { | ||
| 3901 | UINT MipSlice; | ||
| 3902 | UINT FirstArraySlice; | ||
| 3903 | UINT ArraySize; | ||
| 3904 | UINT PlaneSlice; | ||
| 3905 | } D3D12_TEX2D_ARRAY_RTV; | ||
| 3906 | |||
| 3907 | typedef struct D3D12_TEX2DMS_ARRAY_RTV | ||
| 3908 | { | ||
| 3909 | UINT FirstArraySlice; | ||
| 3910 | UINT ArraySize; | ||
| 3911 | } D3D12_TEX2DMS_ARRAY_RTV; | ||
| 3912 | |||
| 3913 | typedef struct D3D12_TEX3D_RTV | ||
| 3914 | { | ||
| 3915 | UINT MipSlice; | ||
| 3916 | UINT FirstWSlice; | ||
| 3917 | UINT WSize; | ||
| 3918 | } D3D12_TEX3D_RTV; | ||
| 3919 | |||
| 3920 | typedef | ||
| 3921 | enum D3D12_RTV_DIMENSION | ||
| 3922 | { | ||
| 3923 | D3D12_RTV_DIMENSION_UNKNOWN = 0, | ||
| 3924 | D3D12_RTV_DIMENSION_BUFFER = 1, | ||
| 3925 | D3D12_RTV_DIMENSION_TEXTURE1D = 2, | ||
| 3926 | D3D12_RTV_DIMENSION_TEXTURE1DARRAY = 3, | ||
| 3927 | D3D12_RTV_DIMENSION_TEXTURE2D = 4, | ||
| 3928 | D3D12_RTV_DIMENSION_TEXTURE2DARRAY = 5, | ||
| 3929 | D3D12_RTV_DIMENSION_TEXTURE2DMS = 6, | ||
| 3930 | D3D12_RTV_DIMENSION_TEXTURE2DMSARRAY = 7, | ||
| 3931 | D3D12_RTV_DIMENSION_TEXTURE3D = 8 | ||
| 3932 | } D3D12_RTV_DIMENSION; | ||
| 3933 | |||
| 3934 | typedef struct D3D12_RENDER_TARGET_VIEW_DESC | ||
| 3935 | { | ||
| 3936 | DXGI_FORMAT Format; | ||
| 3937 | D3D12_RTV_DIMENSION ViewDimension; | ||
| 3938 | union | ||
| 3939 | { | ||
| 3940 | D3D12_BUFFER_RTV Buffer; | ||
| 3941 | D3D12_TEX1D_RTV Texture1D; | ||
| 3942 | D3D12_TEX1D_ARRAY_RTV Texture1DArray; | ||
| 3943 | D3D12_TEX2D_RTV Texture2D; | ||
| 3944 | D3D12_TEX2D_ARRAY_RTV Texture2DArray; | ||
| 3945 | D3D12_TEX2DMS_RTV Texture2DMS; | ||
| 3946 | D3D12_TEX2DMS_ARRAY_RTV Texture2DMSArray; | ||
| 3947 | D3D12_TEX3D_RTV Texture3D; | ||
| 3948 | } ; | ||
| 3949 | } D3D12_RENDER_TARGET_VIEW_DESC; | ||
| 3950 | |||
| 3951 | typedef struct D3D12_TEX1D_DSV | ||
| 3952 | { | ||
| 3953 | UINT MipSlice; | ||
| 3954 | } D3D12_TEX1D_DSV; | ||
| 3955 | |||
| 3956 | typedef struct D3D12_TEX1D_ARRAY_DSV | ||
| 3957 | { | ||
| 3958 | UINT MipSlice; | ||
| 3959 | UINT FirstArraySlice; | ||
| 3960 | UINT ArraySize; | ||
| 3961 | } D3D12_TEX1D_ARRAY_DSV; | ||
| 3962 | |||
| 3963 | typedef struct D3D12_TEX2D_DSV | ||
| 3964 | { | ||
| 3965 | UINT MipSlice; | ||
| 3966 | } D3D12_TEX2D_DSV; | ||
| 3967 | |||
| 3968 | typedef struct D3D12_TEX2D_ARRAY_DSV | ||
| 3969 | { | ||
| 3970 | UINT MipSlice; | ||
| 3971 | UINT FirstArraySlice; | ||
| 3972 | UINT ArraySize; | ||
| 3973 | } D3D12_TEX2D_ARRAY_DSV; | ||
| 3974 | |||
| 3975 | typedef struct D3D12_TEX2DMS_DSV | ||
| 3976 | { | ||
| 3977 | UINT UnusedField_NothingToDefine; | ||
| 3978 | } D3D12_TEX2DMS_DSV; | ||
| 3979 | |||
| 3980 | typedef struct D3D12_TEX2DMS_ARRAY_DSV | ||
| 3981 | { | ||
| 3982 | UINT FirstArraySlice; | ||
| 3983 | UINT ArraySize; | ||
| 3984 | } D3D12_TEX2DMS_ARRAY_DSV; | ||
| 3985 | |||
| 3986 | typedef | ||
| 3987 | enum D3D12_DSV_FLAGS | ||
| 3988 | { | ||
| 3989 | D3D12_DSV_FLAG_NONE = 0, | ||
| 3990 | D3D12_DSV_FLAG_READ_ONLY_DEPTH = 0x1, | ||
| 3991 | D3D12_DSV_FLAG_READ_ONLY_STENCIL = 0x2 | ||
| 3992 | } D3D12_DSV_FLAGS; | ||
| 3993 | |||
| 3994 | DEFINE_ENUM_FLAG_OPERATORS( D3D12_DSV_FLAGS ) | ||
| 3995 | typedef | ||
| 3996 | enum D3D12_DSV_DIMENSION | ||
| 3997 | { | ||
| 3998 | D3D12_DSV_DIMENSION_UNKNOWN = 0, | ||
| 3999 | D3D12_DSV_DIMENSION_TEXTURE1D = 1, | ||
| 4000 | D3D12_DSV_DIMENSION_TEXTURE1DARRAY = 2, | ||
| 4001 | D3D12_DSV_DIMENSION_TEXTURE2D = 3, | ||
| 4002 | D3D12_DSV_DIMENSION_TEXTURE2DARRAY = 4, | ||
| 4003 | D3D12_DSV_DIMENSION_TEXTURE2DMS = 5, | ||
| 4004 | D3D12_DSV_DIMENSION_TEXTURE2DMSARRAY = 6 | ||
| 4005 | } D3D12_DSV_DIMENSION; | ||
| 4006 | |||
| 4007 | typedef struct D3D12_DEPTH_STENCIL_VIEW_DESC | ||
| 4008 | { | ||
| 4009 | DXGI_FORMAT Format; | ||
| 4010 | D3D12_DSV_DIMENSION ViewDimension; | ||
| 4011 | D3D12_DSV_FLAGS Flags; | ||
| 4012 | union | ||
| 4013 | { | ||
| 4014 | D3D12_TEX1D_DSV Texture1D; | ||
| 4015 | D3D12_TEX1D_ARRAY_DSV Texture1DArray; | ||
| 4016 | D3D12_TEX2D_DSV Texture2D; | ||
| 4017 | D3D12_TEX2D_ARRAY_DSV Texture2DArray; | ||
| 4018 | D3D12_TEX2DMS_DSV Texture2DMS; | ||
| 4019 | D3D12_TEX2DMS_ARRAY_DSV Texture2DMSArray; | ||
| 4020 | } ; | ||
| 4021 | } D3D12_DEPTH_STENCIL_VIEW_DESC; | ||
| 4022 | |||
| 4023 | typedef | ||
| 4024 | enum D3D12_CLEAR_FLAGS | ||
| 4025 | { | ||
| 4026 | D3D12_CLEAR_FLAG_DEPTH = 0x1, | ||
| 4027 | D3D12_CLEAR_FLAG_STENCIL = 0x2 | ||
| 4028 | } D3D12_CLEAR_FLAGS; | ||
| 4029 | |||
| 4030 | DEFINE_ENUM_FLAG_OPERATORS( D3D12_CLEAR_FLAGS ) | ||
| 4031 | typedef | ||
| 4032 | enum D3D12_FENCE_FLAGS | ||
| 4033 | { | ||
| 4034 | D3D12_FENCE_FLAG_NONE = 0, | ||
| 4035 | D3D12_FENCE_FLAG_SHARED = 0x1, | ||
| 4036 | D3D12_FENCE_FLAG_SHARED_CROSS_ADAPTER = 0x2, | ||
| 4037 | D3D12_FENCE_FLAG_NON_MONITORED = 0x4 | ||
| 4038 | } D3D12_FENCE_FLAGS; | ||
| 4039 | |||
| 4040 | DEFINE_ENUM_FLAG_OPERATORS( D3D12_FENCE_FLAGS ) | ||
| 4041 | typedef | ||
| 4042 | enum D3D12_DESCRIPTOR_HEAP_TYPE | ||
| 4043 | { | ||
| 4044 | D3D12_DESCRIPTOR_HEAP_TYPE_CBV_SRV_UAV = 0, | ||
| 4045 | D3D12_DESCRIPTOR_HEAP_TYPE_SAMPLER = ( D3D12_DESCRIPTOR_HEAP_TYPE_CBV_SRV_UAV + 1 ) , | ||
| 4046 | D3D12_DESCRIPTOR_HEAP_TYPE_RTV = ( D3D12_DESCRIPTOR_HEAP_TYPE_SAMPLER + 1 ) , | ||
| 4047 | D3D12_DESCRIPTOR_HEAP_TYPE_DSV = ( D3D12_DESCRIPTOR_HEAP_TYPE_RTV + 1 ) , | ||
| 4048 | D3D12_DESCRIPTOR_HEAP_TYPE_NUM_TYPES = ( D3D12_DESCRIPTOR_HEAP_TYPE_DSV + 1 ) | ||
| 4049 | } D3D12_DESCRIPTOR_HEAP_TYPE; | ||
| 4050 | |||
| 4051 | typedef | ||
| 4052 | enum D3D12_DESCRIPTOR_HEAP_FLAGS | ||
| 4053 | { | ||
| 4054 | D3D12_DESCRIPTOR_HEAP_FLAG_NONE = 0, | ||
| 4055 | D3D12_DESCRIPTOR_HEAP_FLAG_SHADER_VISIBLE = 0x1 | ||
| 4056 | } D3D12_DESCRIPTOR_HEAP_FLAGS; | ||
| 4057 | |||
| 4058 | DEFINE_ENUM_FLAG_OPERATORS( D3D12_DESCRIPTOR_HEAP_FLAGS ) | ||
| 4059 | typedef struct D3D12_DESCRIPTOR_HEAP_DESC | ||
| 4060 | { | ||
| 4061 | D3D12_DESCRIPTOR_HEAP_TYPE Type; | ||
| 4062 | UINT NumDescriptors; | ||
| 4063 | D3D12_DESCRIPTOR_HEAP_FLAGS Flags; | ||
| 4064 | UINT NodeMask; | ||
| 4065 | } D3D12_DESCRIPTOR_HEAP_DESC; | ||
| 4066 | |||
| 4067 | typedef | ||
| 4068 | enum D3D12_DESCRIPTOR_RANGE_TYPE | ||
| 4069 | { | ||
| 4070 | D3D12_DESCRIPTOR_RANGE_TYPE_SRV = 0, | ||
| 4071 | D3D12_DESCRIPTOR_RANGE_TYPE_UAV = ( D3D12_DESCRIPTOR_RANGE_TYPE_SRV + 1 ) , | ||
| 4072 | D3D12_DESCRIPTOR_RANGE_TYPE_CBV = ( D3D12_DESCRIPTOR_RANGE_TYPE_UAV + 1 ) , | ||
| 4073 | D3D12_DESCRIPTOR_RANGE_TYPE_SAMPLER = ( D3D12_DESCRIPTOR_RANGE_TYPE_CBV + 1 ) | ||
| 4074 | } D3D12_DESCRIPTOR_RANGE_TYPE; | ||
| 4075 | |||
| 4076 | typedef struct D3D12_DESCRIPTOR_RANGE | ||
| 4077 | { | ||
| 4078 | D3D12_DESCRIPTOR_RANGE_TYPE RangeType; | ||
| 4079 | UINT NumDescriptors; | ||
| 4080 | UINT BaseShaderRegister; | ||
| 4081 | UINT RegisterSpace; | ||
| 4082 | UINT OffsetInDescriptorsFromTableStart; | ||
| 4083 | } D3D12_DESCRIPTOR_RANGE; | ||
| 4084 | |||
| 4085 | typedef struct D3D12_ROOT_DESCRIPTOR_TABLE | ||
| 4086 | { | ||
| 4087 | UINT NumDescriptorRanges; | ||
| 4088 | _Field_size_full_(NumDescriptorRanges) const D3D12_DESCRIPTOR_RANGE *pDescriptorRanges; | ||
| 4089 | } D3D12_ROOT_DESCRIPTOR_TABLE; | ||
| 4090 | |||
| 4091 | typedef struct D3D12_ROOT_CONSTANTS | ||
| 4092 | { | ||
| 4093 | UINT ShaderRegister; | ||
| 4094 | UINT RegisterSpace; | ||
| 4095 | UINT Num32BitValues; | ||
| 4096 | } D3D12_ROOT_CONSTANTS; | ||
| 4097 | |||
| 4098 | typedef struct D3D12_ROOT_DESCRIPTOR | ||
| 4099 | { | ||
| 4100 | UINT ShaderRegister; | ||
| 4101 | UINT RegisterSpace; | ||
| 4102 | } D3D12_ROOT_DESCRIPTOR; | ||
| 4103 | |||
| 4104 | typedef | ||
| 4105 | enum D3D12_SHADER_VISIBILITY | ||
| 4106 | { | ||
| 4107 | D3D12_SHADER_VISIBILITY_ALL = 0, | ||
| 4108 | D3D12_SHADER_VISIBILITY_VERTEX = 1, | ||
| 4109 | D3D12_SHADER_VISIBILITY_HULL = 2, | ||
| 4110 | D3D12_SHADER_VISIBILITY_DOMAIN = 3, | ||
| 4111 | D3D12_SHADER_VISIBILITY_GEOMETRY = 4, | ||
| 4112 | D3D12_SHADER_VISIBILITY_PIXEL = 5, | ||
| 4113 | D3D12_SHADER_VISIBILITY_AMPLIFICATION = 6, | ||
| 4114 | D3D12_SHADER_VISIBILITY_MESH = 7 | ||
| 4115 | } D3D12_SHADER_VISIBILITY; | ||
| 4116 | |||
| 4117 | typedef | ||
| 4118 | enum D3D12_ROOT_PARAMETER_TYPE | ||
| 4119 | { | ||
| 4120 | D3D12_ROOT_PARAMETER_TYPE_DESCRIPTOR_TABLE = 0, | ||
| 4121 | D3D12_ROOT_PARAMETER_TYPE_32BIT_CONSTANTS = ( D3D12_ROOT_PARAMETER_TYPE_DESCRIPTOR_TABLE + 1 ) , | ||
| 4122 | D3D12_ROOT_PARAMETER_TYPE_CBV = ( D3D12_ROOT_PARAMETER_TYPE_32BIT_CONSTANTS + 1 ) , | ||
| 4123 | D3D12_ROOT_PARAMETER_TYPE_SRV = ( D3D12_ROOT_PARAMETER_TYPE_CBV + 1 ) , | ||
| 4124 | D3D12_ROOT_PARAMETER_TYPE_UAV = ( D3D12_ROOT_PARAMETER_TYPE_SRV + 1 ) | ||
| 4125 | } D3D12_ROOT_PARAMETER_TYPE; | ||
| 4126 | |||
| 4127 | typedef struct D3D12_ROOT_PARAMETER | ||
| 4128 | { | ||
| 4129 | D3D12_ROOT_PARAMETER_TYPE ParameterType; | ||
| 4130 | union | ||
| 4131 | { | ||
| 4132 | D3D12_ROOT_DESCRIPTOR_TABLE DescriptorTable; | ||
| 4133 | D3D12_ROOT_CONSTANTS Constants; | ||
| 4134 | D3D12_ROOT_DESCRIPTOR Descriptor; | ||
| 4135 | } ; | ||
| 4136 | D3D12_SHADER_VISIBILITY ShaderVisibility; | ||
| 4137 | } D3D12_ROOT_PARAMETER; | ||
| 4138 | |||
| 4139 | typedef | ||
| 4140 | enum D3D12_ROOT_SIGNATURE_FLAGS | ||
| 4141 | { | ||
| 4142 | D3D12_ROOT_SIGNATURE_FLAG_NONE = 0, | ||
| 4143 | D3D12_ROOT_SIGNATURE_FLAG_ALLOW_INPUT_ASSEMBLER_INPUT_LAYOUT = 0x1, | ||
| 4144 | D3D12_ROOT_SIGNATURE_FLAG_DENY_VERTEX_SHADER_ROOT_ACCESS = 0x2, | ||
| 4145 | D3D12_ROOT_SIGNATURE_FLAG_DENY_HULL_SHADER_ROOT_ACCESS = 0x4, | ||
| 4146 | D3D12_ROOT_SIGNATURE_FLAG_DENY_DOMAIN_SHADER_ROOT_ACCESS = 0x8, | ||
| 4147 | D3D12_ROOT_SIGNATURE_FLAG_DENY_GEOMETRY_SHADER_ROOT_ACCESS = 0x10, | ||
| 4148 | D3D12_ROOT_SIGNATURE_FLAG_DENY_PIXEL_SHADER_ROOT_ACCESS = 0x20, | ||
| 4149 | D3D12_ROOT_SIGNATURE_FLAG_ALLOW_STREAM_OUTPUT = 0x40, | ||
| 4150 | D3D12_ROOT_SIGNATURE_FLAG_LOCAL_ROOT_SIGNATURE = 0x80, | ||
| 4151 | D3D12_ROOT_SIGNATURE_FLAG_DENY_AMPLIFICATION_SHADER_ROOT_ACCESS = 0x100, | ||
| 4152 | D3D12_ROOT_SIGNATURE_FLAG_DENY_MESH_SHADER_ROOT_ACCESS = 0x200, | ||
| 4153 | D3D12_ROOT_SIGNATURE_FLAG_CBV_SRV_UAV_HEAP_DIRECTLY_INDEXED = 0x400, | ||
| 4154 | D3D12_ROOT_SIGNATURE_FLAG_SAMPLER_HEAP_DIRECTLY_INDEXED = 0x800 | ||
| 4155 | } D3D12_ROOT_SIGNATURE_FLAGS; | ||
| 4156 | |||
| 4157 | DEFINE_ENUM_FLAG_OPERATORS( D3D12_ROOT_SIGNATURE_FLAGS ) | ||
| 4158 | typedef | ||
| 4159 | enum D3D12_STATIC_BORDER_COLOR | ||
| 4160 | { | ||
| 4161 | D3D12_STATIC_BORDER_COLOR_TRANSPARENT_BLACK = 0, | ||
| 4162 | D3D12_STATIC_BORDER_COLOR_OPAQUE_BLACK = ( D3D12_STATIC_BORDER_COLOR_TRANSPARENT_BLACK + 1 ) , | ||
| 4163 | D3D12_STATIC_BORDER_COLOR_OPAQUE_WHITE = ( D3D12_STATIC_BORDER_COLOR_OPAQUE_BLACK + 1 ) , | ||
| 4164 | D3D12_STATIC_BORDER_COLOR_OPAQUE_BLACK_UINT = ( D3D12_STATIC_BORDER_COLOR_OPAQUE_WHITE + 1 ) , | ||
| 4165 | D3D12_STATIC_BORDER_COLOR_OPAQUE_WHITE_UINT = ( D3D12_STATIC_BORDER_COLOR_OPAQUE_BLACK_UINT + 1 ) | ||
| 4166 | } D3D12_STATIC_BORDER_COLOR; | ||
| 4167 | |||
| 4168 | typedef struct D3D12_STATIC_SAMPLER_DESC | ||
| 4169 | { | ||
| 4170 | D3D12_FILTER Filter; | ||
| 4171 | D3D12_TEXTURE_ADDRESS_MODE AddressU; | ||
| 4172 | D3D12_TEXTURE_ADDRESS_MODE AddressV; | ||
| 4173 | D3D12_TEXTURE_ADDRESS_MODE AddressW; | ||
| 4174 | FLOAT MipLODBias; | ||
| 4175 | UINT MaxAnisotropy; | ||
| 4176 | D3D12_COMPARISON_FUNC ComparisonFunc; | ||
| 4177 | D3D12_STATIC_BORDER_COLOR BorderColor; | ||
| 4178 | FLOAT MinLOD; | ||
| 4179 | FLOAT MaxLOD; | ||
| 4180 | UINT ShaderRegister; | ||
| 4181 | UINT RegisterSpace; | ||
| 4182 | D3D12_SHADER_VISIBILITY ShaderVisibility; | ||
| 4183 | } D3D12_STATIC_SAMPLER_DESC; | ||
| 4184 | |||
| 4185 | typedef struct D3D12_STATIC_SAMPLER_DESC1 | ||
| 4186 | { | ||
| 4187 | D3D12_FILTER Filter; | ||
| 4188 | D3D12_TEXTURE_ADDRESS_MODE AddressU; | ||
| 4189 | D3D12_TEXTURE_ADDRESS_MODE AddressV; | ||
| 4190 | D3D12_TEXTURE_ADDRESS_MODE AddressW; | ||
| 4191 | FLOAT MipLODBias; | ||
| 4192 | UINT MaxAnisotropy; | ||
| 4193 | D3D12_COMPARISON_FUNC ComparisonFunc; | ||
| 4194 | D3D12_STATIC_BORDER_COLOR BorderColor; | ||
| 4195 | FLOAT MinLOD; | ||
| 4196 | FLOAT MaxLOD; | ||
| 4197 | UINT ShaderRegister; | ||
| 4198 | UINT RegisterSpace; | ||
| 4199 | D3D12_SHADER_VISIBILITY ShaderVisibility; | ||
| 4200 | D3D12_SAMPLER_FLAGS Flags; | ||
| 4201 | } D3D12_STATIC_SAMPLER_DESC1; | ||
| 4202 | |||
| 4203 | typedef struct D3D12_ROOT_SIGNATURE_DESC | ||
| 4204 | { | ||
| 4205 | UINT NumParameters; | ||
| 4206 | _Field_size_full_(NumParameters) const D3D12_ROOT_PARAMETER *pParameters; | ||
| 4207 | UINT NumStaticSamplers; | ||
| 4208 | _Field_size_full_(NumStaticSamplers) const D3D12_STATIC_SAMPLER_DESC *pStaticSamplers; | ||
| 4209 | D3D12_ROOT_SIGNATURE_FLAGS Flags; | ||
| 4210 | } D3D12_ROOT_SIGNATURE_DESC; | ||
| 4211 | |||
| 4212 | typedef | ||
| 4213 | enum D3D12_DESCRIPTOR_RANGE_FLAGS | ||
| 4214 | { | ||
| 4215 | D3D12_DESCRIPTOR_RANGE_FLAG_NONE = 0, | ||
| 4216 | D3D12_DESCRIPTOR_RANGE_FLAG_DESCRIPTORS_VOLATILE = 0x1, | ||
| 4217 | D3D12_DESCRIPTOR_RANGE_FLAG_DATA_VOLATILE = 0x2, | ||
| 4218 | D3D12_DESCRIPTOR_RANGE_FLAG_DATA_STATIC_WHILE_SET_AT_EXECUTE = 0x4, | ||
| 4219 | D3D12_DESCRIPTOR_RANGE_FLAG_DATA_STATIC = 0x8, | ||
| 4220 | D3D12_DESCRIPTOR_RANGE_FLAG_DESCRIPTORS_STATIC_KEEPING_BUFFER_BOUNDS_CHECKS = 0x10000 | ||
| 4221 | } D3D12_DESCRIPTOR_RANGE_FLAGS; | ||
| 4222 | |||
| 4223 | DEFINE_ENUM_FLAG_OPERATORS( D3D12_DESCRIPTOR_RANGE_FLAGS ) | ||
| 4224 | typedef struct D3D12_DESCRIPTOR_RANGE1 | ||
| 4225 | { | ||
| 4226 | D3D12_DESCRIPTOR_RANGE_TYPE RangeType; | ||
| 4227 | UINT NumDescriptors; | ||
| 4228 | UINT BaseShaderRegister; | ||
| 4229 | UINT RegisterSpace; | ||
| 4230 | D3D12_DESCRIPTOR_RANGE_FLAGS Flags; | ||
| 4231 | UINT OffsetInDescriptorsFromTableStart; | ||
| 4232 | } D3D12_DESCRIPTOR_RANGE1; | ||
| 4233 | |||
| 4234 | typedef struct D3D12_ROOT_DESCRIPTOR_TABLE1 | ||
| 4235 | { | ||
| 4236 | UINT NumDescriptorRanges; | ||
| 4237 | _Field_size_full_(NumDescriptorRanges) const D3D12_DESCRIPTOR_RANGE1 *pDescriptorRanges; | ||
| 4238 | } D3D12_ROOT_DESCRIPTOR_TABLE1; | ||
| 4239 | |||
| 4240 | typedef | ||
| 4241 | enum D3D12_ROOT_DESCRIPTOR_FLAGS | ||
| 4242 | { | ||
| 4243 | D3D12_ROOT_DESCRIPTOR_FLAG_NONE = 0, | ||
| 4244 | D3D12_ROOT_DESCRIPTOR_FLAG_DATA_VOLATILE = 0x2, | ||
| 4245 | D3D12_ROOT_DESCRIPTOR_FLAG_DATA_STATIC_WHILE_SET_AT_EXECUTE = 0x4, | ||
| 4246 | D3D12_ROOT_DESCRIPTOR_FLAG_DATA_STATIC = 0x8 | ||
| 4247 | } D3D12_ROOT_DESCRIPTOR_FLAGS; | ||
| 4248 | |||
| 4249 | DEFINE_ENUM_FLAG_OPERATORS( D3D12_ROOT_DESCRIPTOR_FLAGS ) | ||
| 4250 | typedef struct D3D12_ROOT_DESCRIPTOR1 | ||
| 4251 | { | ||
| 4252 | UINT ShaderRegister; | ||
| 4253 | UINT RegisterSpace; | ||
| 4254 | D3D12_ROOT_DESCRIPTOR_FLAGS Flags; | ||
| 4255 | } D3D12_ROOT_DESCRIPTOR1; | ||
| 4256 | |||
| 4257 | typedef struct D3D12_ROOT_PARAMETER1 | ||
| 4258 | { | ||
| 4259 | D3D12_ROOT_PARAMETER_TYPE ParameterType; | ||
| 4260 | union | ||
| 4261 | { | ||
| 4262 | D3D12_ROOT_DESCRIPTOR_TABLE1 DescriptorTable; | ||
| 4263 | D3D12_ROOT_CONSTANTS Constants; | ||
| 4264 | D3D12_ROOT_DESCRIPTOR1 Descriptor; | ||
| 4265 | } ; | ||
| 4266 | D3D12_SHADER_VISIBILITY ShaderVisibility; | ||
| 4267 | } D3D12_ROOT_PARAMETER1; | ||
| 4268 | |||
| 4269 | typedef struct D3D12_ROOT_SIGNATURE_DESC1 | ||
| 4270 | { | ||
| 4271 | UINT NumParameters; | ||
| 4272 | _Field_size_full_(NumParameters) const D3D12_ROOT_PARAMETER1 *pParameters; | ||
| 4273 | UINT NumStaticSamplers; | ||
| 4274 | _Field_size_full_(NumStaticSamplers) const D3D12_STATIC_SAMPLER_DESC *pStaticSamplers; | ||
| 4275 | D3D12_ROOT_SIGNATURE_FLAGS Flags; | ||
| 4276 | } D3D12_ROOT_SIGNATURE_DESC1; | ||
| 4277 | |||
| 4278 | typedef struct D3D12_ROOT_SIGNATURE_DESC2 | ||
| 4279 | { | ||
| 4280 | UINT NumParameters; | ||
| 4281 | _Field_size_full_(NumParameters) const D3D12_ROOT_PARAMETER1 *pParameters; | ||
| 4282 | UINT NumStaticSamplers; | ||
| 4283 | _Field_size_full_(NumStaticSamplers) const D3D12_STATIC_SAMPLER_DESC1 *pStaticSamplers; | ||
| 4284 | D3D12_ROOT_SIGNATURE_FLAGS Flags; | ||
| 4285 | } D3D12_ROOT_SIGNATURE_DESC2; | ||
| 4286 | |||
| 4287 | typedef struct D3D12_VERSIONED_ROOT_SIGNATURE_DESC | ||
| 4288 | { | ||
| 4289 | D3D_ROOT_SIGNATURE_VERSION Version; | ||
| 4290 | union | ||
| 4291 | { | ||
| 4292 | D3D12_ROOT_SIGNATURE_DESC Desc_1_0; | ||
| 4293 | D3D12_ROOT_SIGNATURE_DESC1 Desc_1_1; | ||
| 4294 | D3D12_ROOT_SIGNATURE_DESC2 Desc_1_2; | ||
| 4295 | } ; | ||
| 4296 | } D3D12_VERSIONED_ROOT_SIGNATURE_DESC; | ||
| 4297 | |||
| 4298 | |||
| 4299 | |||
| 4300 | extern RPC_IF_HANDLE __MIDL_itf_d3d12_0000_0001_v0_0_c_ifspec; | ||
| 4301 | extern RPC_IF_HANDLE __MIDL_itf_d3d12_0000_0001_v0_0_s_ifspec; | ||
| 4302 | |||
| 4303 | #ifndef __ID3D12RootSignatureDeserializer_INTERFACE_DEFINED__ | ||
| 4304 | #define __ID3D12RootSignatureDeserializer_INTERFACE_DEFINED__ | ||
| 4305 | |||
| 4306 | /* interface ID3D12RootSignatureDeserializer */ | ||
| 4307 | /* [unique][local][object][uuid] */ | ||
| 4308 | |||
| 4309 | |||
| 4310 | EXTERN_C const IID IID_ID3D12RootSignatureDeserializer; | ||
| 4311 | |||
| 4312 | #if defined(__cplusplus) && !defined(CINTERFACE) | ||
| 4313 | |||
| 4314 | MIDL_INTERFACE("34AB647B-3CC8-46AC-841B-C0965645C046") | ||
| 4315 | ID3D12RootSignatureDeserializer : public IUnknown | ||
| 4316 | { | ||
| 4317 | public: | ||
| 4318 | virtual const D3D12_ROOT_SIGNATURE_DESC *STDMETHODCALLTYPE GetRootSignatureDesc( void) = 0; | ||
| 4319 | |||
| 4320 | }; | ||
| 4321 | |||
| 4322 | |||
| 4323 | #else /* C style interface */ | ||
| 4324 | |||
| 4325 | typedef struct ID3D12RootSignatureDeserializerVtbl | ||
| 4326 | { | ||
| 4327 | BEGIN_INTERFACE | ||
| 4328 | |||
| 4329 | DECLSPEC_XFGVIRT(IUnknown, QueryInterface) | ||
| 4330 | HRESULT ( STDMETHODCALLTYPE *QueryInterface )( | ||
| 4331 | ID3D12RootSignatureDeserializer * This, | ||
| 4332 | REFIID riid, | ||
| 4333 | _COM_Outptr_ void **ppvObject); | ||
| 4334 | |||
| 4335 | DECLSPEC_XFGVIRT(IUnknown, AddRef) | ||
| 4336 | ULONG ( STDMETHODCALLTYPE *AddRef )( | ||
| 4337 | ID3D12RootSignatureDeserializer * This); | ||
| 4338 | |||
| 4339 | DECLSPEC_XFGVIRT(IUnknown, Release) | ||
| 4340 | ULONG ( STDMETHODCALLTYPE *Release )( | ||
| 4341 | ID3D12RootSignatureDeserializer * This); | ||
| 4342 | |||
| 4343 | DECLSPEC_XFGVIRT(ID3D12RootSignatureDeserializer, GetRootSignatureDesc) | ||
| 4344 | const D3D12_ROOT_SIGNATURE_DESC *( STDMETHODCALLTYPE *GetRootSignatureDesc )( | ||
| 4345 | ID3D12RootSignatureDeserializer * This); | ||
| 4346 | |||
| 4347 | END_INTERFACE | ||
| 4348 | } ID3D12RootSignatureDeserializerVtbl; | ||
| 4349 | |||
| 4350 | interface ID3D12RootSignatureDeserializer | ||
| 4351 | { | ||
| 4352 | CONST_VTBL struct ID3D12RootSignatureDeserializerVtbl *lpVtbl; | ||
| 4353 | }; | ||
| 4354 | |||
| 4355 | |||
| 4356 | |||
| 4357 | #ifdef COBJMACROS | ||
| 4358 | |||
| 4359 | |||
| 4360 | #define ID3D12RootSignatureDeserializer_QueryInterface(This,riid,ppvObject) \ | ||
| 4361 | ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) | ||
| 4362 | |||
| 4363 | #define ID3D12RootSignatureDeserializer_AddRef(This) \ | ||
| 4364 | ( (This)->lpVtbl -> AddRef(This) ) | ||
| 4365 | |||
| 4366 | #define ID3D12RootSignatureDeserializer_Release(This) \ | ||
| 4367 | ( (This)->lpVtbl -> Release(This) ) | ||
| 4368 | |||
| 4369 | |||
| 4370 | #define ID3D12RootSignatureDeserializer_GetRootSignatureDesc(This) \ | ||
| 4371 | ( (This)->lpVtbl -> GetRootSignatureDesc(This) ) | ||
| 4372 | |||
| 4373 | #endif /* COBJMACROS */ | ||
| 4374 | |||
| 4375 | |||
| 4376 | #endif /* C style interface */ | ||
| 4377 | |||
| 4378 | |||
| 4379 | |||
| 4380 | |||
| 4381 | #endif /* __ID3D12RootSignatureDeserializer_INTERFACE_DEFINED__ */ | ||
| 4382 | |||
| 4383 | |||
| 4384 | #ifndef __ID3D12VersionedRootSignatureDeserializer_INTERFACE_DEFINED__ | ||
| 4385 | #define __ID3D12VersionedRootSignatureDeserializer_INTERFACE_DEFINED__ | ||
| 4386 | |||
| 4387 | /* interface ID3D12VersionedRootSignatureDeserializer */ | ||
| 4388 | /* [unique][local][object][uuid] */ | ||
| 4389 | |||
| 4390 | |||
| 4391 | EXTERN_C const IID IID_ID3D12VersionedRootSignatureDeserializer; | ||
| 4392 | |||
| 4393 | #if defined(__cplusplus) && !defined(CINTERFACE) | ||
| 4394 | |||
| 4395 | MIDL_INTERFACE("7F91CE67-090C-4BB7-B78E-ED8FF2E31DA0") | ||
| 4396 | ID3D12VersionedRootSignatureDeserializer : public IUnknown | ||
| 4397 | { | ||
| 4398 | public: | ||
| 4399 | virtual HRESULT STDMETHODCALLTYPE GetRootSignatureDescAtVersion( | ||
| 4400 | D3D_ROOT_SIGNATURE_VERSION convertToVersion, | ||
| 4401 | _Out_ const D3D12_VERSIONED_ROOT_SIGNATURE_DESC **ppDesc) = 0; | ||
| 4402 | |||
| 4403 | virtual const D3D12_VERSIONED_ROOT_SIGNATURE_DESC *STDMETHODCALLTYPE GetUnconvertedRootSignatureDesc( void) = 0; | ||
| 4404 | |||
| 4405 | }; | ||
| 4406 | |||
| 4407 | |||
| 4408 | #else /* C style interface */ | ||
| 4409 | |||
| 4410 | typedef struct ID3D12VersionedRootSignatureDeserializerVtbl | ||
| 4411 | { | ||
| 4412 | BEGIN_INTERFACE | ||
| 4413 | |||
| 4414 | DECLSPEC_XFGVIRT(IUnknown, QueryInterface) | ||
| 4415 | HRESULT ( STDMETHODCALLTYPE *QueryInterface )( | ||
| 4416 | ID3D12VersionedRootSignatureDeserializer * This, | ||
| 4417 | REFIID riid, | ||
| 4418 | _COM_Outptr_ void **ppvObject); | ||
| 4419 | |||
| 4420 | DECLSPEC_XFGVIRT(IUnknown, AddRef) | ||
| 4421 | ULONG ( STDMETHODCALLTYPE *AddRef )( | ||
| 4422 | ID3D12VersionedRootSignatureDeserializer * This); | ||
| 4423 | |||
| 4424 | DECLSPEC_XFGVIRT(IUnknown, Release) | ||
| 4425 | ULONG ( STDMETHODCALLTYPE *Release )( | ||
| 4426 | ID3D12VersionedRootSignatureDeserializer * This); | ||
| 4427 | |||
| 4428 | DECLSPEC_XFGVIRT(ID3D12VersionedRootSignatureDeserializer, GetRootSignatureDescAtVersion) | ||
| 4429 | HRESULT ( STDMETHODCALLTYPE *GetRootSignatureDescAtVersion )( | ||
| 4430 | ID3D12VersionedRootSignatureDeserializer * This, | ||
| 4431 | D3D_ROOT_SIGNATURE_VERSION convertToVersion, | ||
| 4432 | _Out_ const D3D12_VERSIONED_ROOT_SIGNATURE_DESC **ppDesc); | ||
| 4433 | |||
| 4434 | DECLSPEC_XFGVIRT(ID3D12VersionedRootSignatureDeserializer, GetUnconvertedRootSignatureDesc) | ||
| 4435 | const D3D12_VERSIONED_ROOT_SIGNATURE_DESC *( STDMETHODCALLTYPE *GetUnconvertedRootSignatureDesc )( | ||
| 4436 | ID3D12VersionedRootSignatureDeserializer * This); | ||
| 4437 | |||
| 4438 | END_INTERFACE | ||
| 4439 | } ID3D12VersionedRootSignatureDeserializerVtbl; | ||
| 4440 | |||
| 4441 | interface ID3D12VersionedRootSignatureDeserializer | ||
| 4442 | { | ||
| 4443 | CONST_VTBL struct ID3D12VersionedRootSignatureDeserializerVtbl *lpVtbl; | ||
| 4444 | }; | ||
| 4445 | |||
| 4446 | |||
| 4447 | |||
| 4448 | #ifdef COBJMACROS | ||
| 4449 | |||
| 4450 | |||
| 4451 | #define ID3D12VersionedRootSignatureDeserializer_QueryInterface(This,riid,ppvObject) \ | ||
| 4452 | ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) | ||
| 4453 | |||
| 4454 | #define ID3D12VersionedRootSignatureDeserializer_AddRef(This) \ | ||
| 4455 | ( (This)->lpVtbl -> AddRef(This) ) | ||
| 4456 | |||
| 4457 | #define ID3D12VersionedRootSignatureDeserializer_Release(This) \ | ||
| 4458 | ( (This)->lpVtbl -> Release(This) ) | ||
| 4459 | |||
| 4460 | |||
| 4461 | #define ID3D12VersionedRootSignatureDeserializer_GetRootSignatureDescAtVersion(This,convertToVersion,ppDesc) \ | ||
| 4462 | ( (This)->lpVtbl -> GetRootSignatureDescAtVersion(This,convertToVersion,ppDesc) ) | ||
| 4463 | |||
| 4464 | #define ID3D12VersionedRootSignatureDeserializer_GetUnconvertedRootSignatureDesc(This) \ | ||
| 4465 | ( (This)->lpVtbl -> GetUnconvertedRootSignatureDesc(This) ) | ||
| 4466 | |||
| 4467 | #endif /* COBJMACROS */ | ||
| 4468 | |||
| 4469 | |||
| 4470 | #endif /* C style interface */ | ||
| 4471 | |||
| 4472 | |||
| 4473 | |||
| 4474 | |||
| 4475 | #endif /* __ID3D12VersionedRootSignatureDeserializer_INTERFACE_DEFINED__ */ | ||
| 4476 | |||
| 4477 | |||
| 4478 | /* interface __MIDL_itf_d3d12_0000_0003 */ | ||
| 4479 | /* [local] */ | ||
| 4480 | |||
| 4481 | typedef HRESULT (WINAPI* PFN_D3D12_SERIALIZE_ROOT_SIGNATURE)( | ||
| 4482 | _In_ const D3D12_ROOT_SIGNATURE_DESC* pRootSignature, | ||
| 4483 | _In_ D3D_ROOT_SIGNATURE_VERSION Version, | ||
| 4484 | _Out_ ID3DBlob** ppBlob, | ||
| 4485 | _Always_(_Outptr_opt_result_maybenull_) ID3DBlob** ppErrorBlob); | ||
| 4486 | |||
| 4487 | HRESULT WINAPI D3D12SerializeRootSignature( | ||
| 4488 | _In_ const D3D12_ROOT_SIGNATURE_DESC* pRootSignature, | ||
| 4489 | _In_ D3D_ROOT_SIGNATURE_VERSION Version, | ||
| 4490 | _Out_ ID3DBlob** ppBlob, | ||
| 4491 | _Always_(_Outptr_opt_result_maybenull_) ID3DBlob** ppErrorBlob); | ||
| 4492 | |||
| 4493 | typedef HRESULT (WINAPI* PFN_D3D12_CREATE_ROOT_SIGNATURE_DESERIALIZER)( | ||
| 4494 | _In_reads_bytes_(SrcDataSizeInBytes) LPCVOID pSrcData, | ||
| 4495 | _In_ SIZE_T SrcDataSizeInBytes, | ||
| 4496 | _In_ REFIID pRootSignatureDeserializerInterface, | ||
| 4497 | _Out_ void** ppRootSignatureDeserializer); | ||
| 4498 | |||
| 4499 | HRESULT WINAPI D3D12CreateRootSignatureDeserializer( | ||
| 4500 | _In_reads_bytes_(SrcDataSizeInBytes) LPCVOID pSrcData, | ||
| 4501 | _In_ SIZE_T SrcDataSizeInBytes, | ||
| 4502 | _In_ REFIID pRootSignatureDeserializerInterface, | ||
| 4503 | _Out_ void** ppRootSignatureDeserializer); | ||
| 4504 | |||
| 4505 | typedef HRESULT (WINAPI* PFN_D3D12_SERIALIZE_VERSIONED_ROOT_SIGNATURE)( | ||
| 4506 | _In_ const D3D12_VERSIONED_ROOT_SIGNATURE_DESC* pRootSignature, | ||
| 4507 | _Out_ ID3DBlob** ppBlob, | ||
| 4508 | _Always_(_Outptr_opt_result_maybenull_) ID3DBlob** ppErrorBlob); | ||
| 4509 | |||
| 4510 | HRESULT WINAPI D3D12SerializeVersionedRootSignature( | ||
| 4511 | _In_ const D3D12_VERSIONED_ROOT_SIGNATURE_DESC* pRootSignature, | ||
| 4512 | _Out_ ID3DBlob** ppBlob, | ||
| 4513 | _Always_(_Outptr_opt_result_maybenull_) ID3DBlob** ppErrorBlob); | ||
| 4514 | |||
| 4515 | typedef HRESULT (WINAPI* PFN_D3D12_CREATE_VERSIONED_ROOT_SIGNATURE_DESERIALIZER)( | ||
| 4516 | _In_reads_bytes_(SrcDataSizeInBytes) LPCVOID pSrcData, | ||
| 4517 | _In_ SIZE_T SrcDataSizeInBytes, | ||
| 4518 | _In_ REFIID pRootSignatureDeserializerInterface, | ||
| 4519 | _Out_ void** ppRootSignatureDeserializer); | ||
| 4520 | |||
| 4521 | HRESULT WINAPI D3D12CreateVersionedRootSignatureDeserializer( | ||
| 4522 | _In_reads_bytes_(SrcDataSizeInBytes) LPCVOID pSrcData, | ||
| 4523 | _In_ SIZE_T SrcDataSizeInBytes, | ||
| 4524 | _In_ REFIID pRootSignatureDeserializerInterface, | ||
| 4525 | _Out_ void** ppRootSignatureDeserializer); | ||
| 4526 | |||
| 4527 | typedef HRESULT (WINAPI* PFN_D3D12_CREATE_VERSIONED_ROOT_SIGNATURE_DESERIALIZER_FROM_SUBOBJECT_IN_LIBRARY)( | ||
| 4528 | _In_reads_bytes_(SrcDataSizeInBytes) LPCVOID pSrcData, | ||
| 4529 | _In_ SIZE_T SrcDataSizeInBytes, | ||
| 4530 | _In_ LPCWSTR RootSignatureSubobjectName, | ||
| 4531 | _In_ REFIID pRootSignatureDeserializerInterface, | ||
| 4532 | _Out_ void** ppRootSignatureDeserializer); | ||
| 4533 | |||
| 4534 | HRESULT WINAPI D3D12CreateVersionedRootSignatureDeserializerFromSubobjectInLibrary( | ||
| 4535 | _In_reads_bytes_(SrcDataSizeInBytes) LPCVOID pSrcData, | ||
| 4536 | _In_ SIZE_T SrcDataSizeInBytes, | ||
| 4537 | _In_opt_ LPCWSTR RootSignatureSubobjectName, | ||
| 4538 | _In_ REFIID pRootSignatureDeserializerInterface, | ||
| 4539 | _Out_ void** ppRootSignatureDeserializer); | ||
| 4540 | |||
| 4541 | typedef struct D3D12_CPU_DESCRIPTOR_HANDLE | ||
| 4542 | { | ||
| 4543 | SIZE_T ptr; | ||
| 4544 | } D3D12_CPU_DESCRIPTOR_HANDLE; | ||
| 4545 | |||
| 4546 | typedef struct D3D12_GPU_DESCRIPTOR_HANDLE | ||
| 4547 | { | ||
| 4548 | UINT64 ptr; | ||
| 4549 | } D3D12_GPU_DESCRIPTOR_HANDLE; | ||
| 4550 | |||
| 4551 | // If rects are supplied in D3D12_DISCARD_REGION, below, the resource | ||
| 4552 | // must have 2D subresources with all specified subresources the same dimension. | ||
| 4553 | typedef struct D3D12_DISCARD_REGION | ||
| 4554 | { | ||
| 4555 | UINT NumRects; | ||
| 4556 | _In_reads_(NumRects) const D3D12_RECT *pRects; | ||
| 4557 | UINT FirstSubresource; | ||
| 4558 | UINT NumSubresources; | ||
| 4559 | } D3D12_DISCARD_REGION; | ||
| 4560 | |||
| 4561 | typedef | ||
| 4562 | enum D3D12_QUERY_HEAP_TYPE | ||
| 4563 | { | ||
| 4564 | D3D12_QUERY_HEAP_TYPE_OCCLUSION = 0, | ||
| 4565 | D3D12_QUERY_HEAP_TYPE_TIMESTAMP = 1, | ||
| 4566 | D3D12_QUERY_HEAP_TYPE_PIPELINE_STATISTICS = 2, | ||
| 4567 | D3D12_QUERY_HEAP_TYPE_SO_STATISTICS = 3, | ||
| 4568 | D3D12_QUERY_HEAP_TYPE_VIDEO_DECODE_STATISTICS = 4, | ||
| 4569 | D3D12_QUERY_HEAP_TYPE_COPY_QUEUE_TIMESTAMP = 5, | ||
| 4570 | D3D12_QUERY_HEAP_TYPE_PIPELINE_STATISTICS1 = 7 | ||
| 4571 | } D3D12_QUERY_HEAP_TYPE; | ||
| 4572 | |||
| 4573 | typedef struct D3D12_QUERY_HEAP_DESC | ||
| 4574 | { | ||
| 4575 | D3D12_QUERY_HEAP_TYPE Type; | ||
| 4576 | UINT Count; | ||
| 4577 | UINT NodeMask; | ||
| 4578 | } D3D12_QUERY_HEAP_DESC; | ||
| 4579 | |||
| 4580 | typedef | ||
| 4581 | enum D3D12_QUERY_TYPE | ||
| 4582 | { | ||
| 4583 | D3D12_QUERY_TYPE_OCCLUSION = 0, | ||
| 4584 | D3D12_QUERY_TYPE_BINARY_OCCLUSION = 1, | ||
| 4585 | D3D12_QUERY_TYPE_TIMESTAMP = 2, | ||
| 4586 | D3D12_QUERY_TYPE_PIPELINE_STATISTICS = 3, | ||
| 4587 | D3D12_QUERY_TYPE_SO_STATISTICS_STREAM0 = 4, | ||
| 4588 | D3D12_QUERY_TYPE_SO_STATISTICS_STREAM1 = 5, | ||
| 4589 | D3D12_QUERY_TYPE_SO_STATISTICS_STREAM2 = 6, | ||
| 4590 | D3D12_QUERY_TYPE_SO_STATISTICS_STREAM3 = 7, | ||
| 4591 | D3D12_QUERY_TYPE_VIDEO_DECODE_STATISTICS = 8, | ||
| 4592 | D3D12_QUERY_TYPE_PIPELINE_STATISTICS1 = 10 | ||
| 4593 | } D3D12_QUERY_TYPE; | ||
| 4594 | |||
| 4595 | typedef | ||
| 4596 | enum D3D12_PREDICATION_OP | ||
| 4597 | { | ||
| 4598 | D3D12_PREDICATION_OP_EQUAL_ZERO = 0, | ||
| 4599 | D3D12_PREDICATION_OP_NOT_EQUAL_ZERO = 1 | ||
| 4600 | } D3D12_PREDICATION_OP; | ||
| 4601 | |||
| 4602 | typedef struct D3D12_QUERY_DATA_PIPELINE_STATISTICS | ||
| 4603 | { | ||
| 4604 | UINT64 IAVertices; | ||
| 4605 | UINT64 IAPrimitives; | ||
| 4606 | UINT64 VSInvocations; | ||
| 4607 | UINT64 GSInvocations; | ||
| 4608 | UINT64 GSPrimitives; | ||
| 4609 | UINT64 CInvocations; | ||
| 4610 | UINT64 CPrimitives; | ||
| 4611 | UINT64 PSInvocations; | ||
| 4612 | UINT64 HSInvocations; | ||
| 4613 | UINT64 DSInvocations; | ||
| 4614 | UINT64 CSInvocations; | ||
| 4615 | } D3D12_QUERY_DATA_PIPELINE_STATISTICS; | ||
| 4616 | |||
| 4617 | typedef struct D3D12_QUERY_DATA_PIPELINE_STATISTICS1 | ||
| 4618 | { | ||
| 4619 | UINT64 IAVertices; | ||
| 4620 | UINT64 IAPrimitives; | ||
| 4621 | UINT64 VSInvocations; | ||
| 4622 | UINT64 GSInvocations; | ||
| 4623 | UINT64 GSPrimitives; | ||
| 4624 | UINT64 CInvocations; | ||
| 4625 | UINT64 CPrimitives; | ||
| 4626 | UINT64 PSInvocations; | ||
| 4627 | UINT64 HSInvocations; | ||
| 4628 | UINT64 DSInvocations; | ||
| 4629 | UINT64 CSInvocations; | ||
| 4630 | UINT64 ASInvocations; | ||
| 4631 | UINT64 MSInvocations; | ||
| 4632 | UINT64 MSPrimitives; | ||
| 4633 | } D3D12_QUERY_DATA_PIPELINE_STATISTICS1; | ||
| 4634 | |||
| 4635 | typedef struct D3D12_QUERY_DATA_SO_STATISTICS | ||
| 4636 | { | ||
| 4637 | UINT64 NumPrimitivesWritten; | ||
| 4638 | UINT64 PrimitivesStorageNeeded; | ||
| 4639 | } D3D12_QUERY_DATA_SO_STATISTICS; | ||
| 4640 | |||
| 4641 | typedef struct D3D12_STREAM_OUTPUT_BUFFER_VIEW | ||
| 4642 | { | ||
| 4643 | D3D12_GPU_VIRTUAL_ADDRESS BufferLocation; | ||
| 4644 | UINT64 SizeInBytes; | ||
| 4645 | D3D12_GPU_VIRTUAL_ADDRESS BufferFilledSizeLocation; | ||
| 4646 | } D3D12_STREAM_OUTPUT_BUFFER_VIEW; | ||
| 4647 | |||
| 4648 | typedef struct D3D12_DRAW_ARGUMENTS | ||
| 4649 | { | ||
| 4650 | UINT VertexCountPerInstance; | ||
| 4651 | UINT InstanceCount; | ||
| 4652 | UINT StartVertexLocation; | ||
| 4653 | UINT StartInstanceLocation; | ||
| 4654 | } D3D12_DRAW_ARGUMENTS; | ||
| 4655 | |||
| 4656 | typedef struct D3D12_DRAW_INDEXED_ARGUMENTS | ||
| 4657 | { | ||
| 4658 | UINT IndexCountPerInstance; | ||
| 4659 | UINT InstanceCount; | ||
| 4660 | UINT StartIndexLocation; | ||
| 4661 | INT BaseVertexLocation; | ||
| 4662 | UINT StartInstanceLocation; | ||
| 4663 | } D3D12_DRAW_INDEXED_ARGUMENTS; | ||
| 4664 | |||
| 4665 | typedef struct D3D12_DISPATCH_ARGUMENTS | ||
| 4666 | { | ||
| 4667 | UINT ThreadGroupCountX; | ||
| 4668 | UINT ThreadGroupCountY; | ||
| 4669 | UINT ThreadGroupCountZ; | ||
| 4670 | } D3D12_DISPATCH_ARGUMENTS; | ||
| 4671 | |||
| 4672 | typedef struct D3D12_VERTEX_BUFFER_VIEW | ||
| 4673 | { | ||
| 4674 | D3D12_GPU_VIRTUAL_ADDRESS BufferLocation; | ||
| 4675 | UINT SizeInBytes; | ||
| 4676 | UINT StrideInBytes; | ||
| 4677 | } D3D12_VERTEX_BUFFER_VIEW; | ||
| 4678 | |||
| 4679 | typedef struct D3D12_INDEX_BUFFER_VIEW | ||
| 4680 | { | ||
| 4681 | D3D12_GPU_VIRTUAL_ADDRESS BufferLocation; | ||
| 4682 | UINT SizeInBytes; | ||
| 4683 | DXGI_FORMAT Format; | ||
| 4684 | } D3D12_INDEX_BUFFER_VIEW; | ||
| 4685 | |||
| 4686 | typedef | ||
| 4687 | enum D3D12_INDIRECT_ARGUMENT_TYPE | ||
| 4688 | { | ||
| 4689 | D3D12_INDIRECT_ARGUMENT_TYPE_DRAW = 0, | ||
| 4690 | D3D12_INDIRECT_ARGUMENT_TYPE_DRAW_INDEXED = ( D3D12_INDIRECT_ARGUMENT_TYPE_DRAW + 1 ) , | ||
| 4691 | D3D12_INDIRECT_ARGUMENT_TYPE_DISPATCH = ( D3D12_INDIRECT_ARGUMENT_TYPE_DRAW_INDEXED + 1 ) , | ||
| 4692 | D3D12_INDIRECT_ARGUMENT_TYPE_VERTEX_BUFFER_VIEW = ( D3D12_INDIRECT_ARGUMENT_TYPE_DISPATCH + 1 ) , | ||
| 4693 | D3D12_INDIRECT_ARGUMENT_TYPE_INDEX_BUFFER_VIEW = ( D3D12_INDIRECT_ARGUMENT_TYPE_VERTEX_BUFFER_VIEW + 1 ) , | ||
| 4694 | D3D12_INDIRECT_ARGUMENT_TYPE_CONSTANT = ( D3D12_INDIRECT_ARGUMENT_TYPE_INDEX_BUFFER_VIEW + 1 ) , | ||
| 4695 | D3D12_INDIRECT_ARGUMENT_TYPE_CONSTANT_BUFFER_VIEW = ( D3D12_INDIRECT_ARGUMENT_TYPE_CONSTANT + 1 ) , | ||
| 4696 | D3D12_INDIRECT_ARGUMENT_TYPE_SHADER_RESOURCE_VIEW = ( D3D12_INDIRECT_ARGUMENT_TYPE_CONSTANT_BUFFER_VIEW + 1 ) , | ||
| 4697 | D3D12_INDIRECT_ARGUMENT_TYPE_UNORDERED_ACCESS_VIEW = ( D3D12_INDIRECT_ARGUMENT_TYPE_SHADER_RESOURCE_VIEW + 1 ) , | ||
| 4698 | D3D12_INDIRECT_ARGUMENT_TYPE_DISPATCH_RAYS = ( D3D12_INDIRECT_ARGUMENT_TYPE_UNORDERED_ACCESS_VIEW + 1 ) , | ||
| 4699 | D3D12_INDIRECT_ARGUMENT_TYPE_DISPATCH_MESH = ( D3D12_INDIRECT_ARGUMENT_TYPE_DISPATCH_RAYS + 1 ) , | ||
| 4700 | D3D12_INDIRECT_ARGUMENT_TYPE_INCREMENTING_CONSTANT = ( D3D12_INDIRECT_ARGUMENT_TYPE_DISPATCH_MESH + 1 ) | ||
| 4701 | } D3D12_INDIRECT_ARGUMENT_TYPE; | ||
| 4702 | |||
| 4703 | typedef struct D3D12_INDIRECT_ARGUMENT_DESC | ||
| 4704 | { | ||
| 4705 | D3D12_INDIRECT_ARGUMENT_TYPE Type; | ||
| 4706 | union | ||
| 4707 | { | ||
| 4708 | struct | ||
| 4709 | { | ||
| 4710 | UINT Slot; | ||
| 4711 | } VertexBuffer; | ||
| 4712 | struct | ||
| 4713 | { | ||
| 4714 | UINT RootParameterIndex; | ||
| 4715 | UINT DestOffsetIn32BitValues; | ||
| 4716 | UINT Num32BitValuesToSet; | ||
| 4717 | } Constant; | ||
| 4718 | struct | ||
| 4719 | { | ||
| 4720 | UINT RootParameterIndex; | ||
| 4721 | } ConstantBufferView; | ||
| 4722 | struct | ||
| 4723 | { | ||
| 4724 | UINT RootParameterIndex; | ||
| 4725 | } ShaderResourceView; | ||
| 4726 | struct | ||
| 4727 | { | ||
| 4728 | UINT RootParameterIndex; | ||
| 4729 | } UnorderedAccessView; | ||
| 4730 | struct | ||
| 4731 | { | ||
| 4732 | UINT RootParameterIndex; | ||
| 4733 | UINT DestOffsetIn32BitValues; | ||
| 4734 | } IncrementingConstant; | ||
| 4735 | } ; | ||
| 4736 | } D3D12_INDIRECT_ARGUMENT_DESC; | ||
| 4737 | |||
| 4738 | typedef struct D3D12_COMMAND_SIGNATURE_DESC | ||
| 4739 | { | ||
| 4740 | UINT ByteStride; | ||
| 4741 | UINT NumArgumentDescs; | ||
| 4742 | _Field_size_full_(NumArgumentDescs) const D3D12_INDIRECT_ARGUMENT_DESC *pArgumentDescs; | ||
| 4743 | UINT NodeMask; | ||
| 4744 | } D3D12_COMMAND_SIGNATURE_DESC; | ||
| 4745 | |||
| 4746 | |||
| 4747 | |||
| 4748 | |||
| 4749 | extern RPC_IF_HANDLE __MIDL_itf_d3d12_0000_0003_v0_0_c_ifspec; | ||
| 4750 | extern RPC_IF_HANDLE __MIDL_itf_d3d12_0000_0003_v0_0_s_ifspec; | ||
| 4751 | |||
| 4752 | #ifndef __ID3D12Pageable_INTERFACE_DEFINED__ | ||
| 4753 | #define __ID3D12Pageable_INTERFACE_DEFINED__ | ||
| 4754 | |||
| 4755 | /* interface ID3D12Pageable */ | ||
| 4756 | /* [unique][local][object][uuid] */ | ||
| 4757 | |||
| 4758 | |||
| 4759 | EXTERN_C const IID IID_ID3D12Pageable; | ||
| 4760 | |||
| 4761 | #if defined(__cplusplus) && !defined(CINTERFACE) | ||
| 4762 | |||
| 4763 | MIDL_INTERFACE("63ee58fb-1268-4835-86da-f008ce62f0d6") | ||
| 4764 | ID3D12Pageable : public ID3D12DeviceChild | ||
| 4765 | { | ||
| 4766 | public: | ||
| 4767 | }; | ||
| 4768 | |||
| 4769 | |||
| 4770 | #else /* C style interface */ | ||
| 4771 | |||
| 4772 | typedef struct ID3D12PageableVtbl | ||
| 4773 | { | ||
| 4774 | BEGIN_INTERFACE | ||
| 4775 | |||
| 4776 | DECLSPEC_XFGVIRT(IUnknown, QueryInterface) | ||
| 4777 | HRESULT ( STDMETHODCALLTYPE *QueryInterface )( | ||
| 4778 | ID3D12Pageable * This, | ||
| 4779 | REFIID riid, | ||
| 4780 | _COM_Outptr_ void **ppvObject); | ||
| 4781 | |||
| 4782 | DECLSPEC_XFGVIRT(IUnknown, AddRef) | ||
| 4783 | ULONG ( STDMETHODCALLTYPE *AddRef )( | ||
| 4784 | ID3D12Pageable * This); | ||
| 4785 | |||
| 4786 | DECLSPEC_XFGVIRT(IUnknown, Release) | ||
| 4787 | ULONG ( STDMETHODCALLTYPE *Release )( | ||
| 4788 | ID3D12Pageable * This); | ||
| 4789 | |||
| 4790 | DECLSPEC_XFGVIRT(ID3D12Object, GetPrivateData) | ||
| 4791 | HRESULT ( STDMETHODCALLTYPE *GetPrivateData )( | ||
| 4792 | ID3D12Pageable * This, | ||
| 4793 | _In_ REFGUID guid, | ||
| 4794 | _Inout_ UINT *pDataSize, | ||
| 4795 | _Out_writes_bytes_opt_( *pDataSize ) void *pData); | ||
| 4796 | |||
| 4797 | DECLSPEC_XFGVIRT(ID3D12Object, SetPrivateData) | ||
| 4798 | HRESULT ( STDMETHODCALLTYPE *SetPrivateData )( | ||
| 4799 | ID3D12Pageable * This, | ||
| 4800 | _In_ REFGUID guid, | ||
| 4801 | _In_ UINT DataSize, | ||
| 4802 | _In_reads_bytes_opt_( DataSize ) const void *pData); | ||
| 4803 | |||
| 4804 | DECLSPEC_XFGVIRT(ID3D12Object, SetPrivateDataInterface) | ||
| 4805 | HRESULT ( STDMETHODCALLTYPE *SetPrivateDataInterface )( | ||
| 4806 | ID3D12Pageable * This, | ||
| 4807 | _In_ REFGUID guid, | ||
| 4808 | _In_opt_ const IUnknown *pData); | ||
| 4809 | |||
| 4810 | DECLSPEC_XFGVIRT(ID3D12Object, SetName) | ||
| 4811 | HRESULT ( STDMETHODCALLTYPE *SetName )( | ||
| 4812 | ID3D12Pageable * This, | ||
| 4813 | _In_z_ LPCWSTR Name); | ||
| 4814 | |||
| 4815 | DECLSPEC_XFGVIRT(ID3D12DeviceChild, GetDevice) | ||
| 4816 | HRESULT ( STDMETHODCALLTYPE *GetDevice )( | ||
| 4817 | ID3D12Pageable * This, | ||
| 4818 | REFIID riid, | ||
| 4819 | _COM_Outptr_opt_ void **ppvDevice); | ||
| 4820 | |||
| 4821 | END_INTERFACE | ||
| 4822 | } ID3D12PageableVtbl; | ||
| 4823 | |||
| 4824 | interface ID3D12Pageable | ||
| 4825 | { | ||
| 4826 | CONST_VTBL struct ID3D12PageableVtbl *lpVtbl; | ||
| 4827 | }; | ||
| 4828 | |||
| 4829 | |||
| 4830 | |||
| 4831 | #ifdef COBJMACROS | ||
| 4832 | |||
| 4833 | |||
| 4834 | #define ID3D12Pageable_QueryInterface(This,riid,ppvObject) \ | ||
| 4835 | ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) | ||
| 4836 | |||
| 4837 | #define ID3D12Pageable_AddRef(This) \ | ||
| 4838 | ( (This)->lpVtbl -> AddRef(This) ) | ||
| 4839 | |||
| 4840 | #define ID3D12Pageable_Release(This) \ | ||
| 4841 | ( (This)->lpVtbl -> Release(This) ) | ||
| 4842 | |||
| 4843 | |||
| 4844 | #define ID3D12Pageable_GetPrivateData(This,guid,pDataSize,pData) \ | ||
| 4845 | ( (This)->lpVtbl -> GetPrivateData(This,guid,pDataSize,pData) ) | ||
| 4846 | |||
| 4847 | #define ID3D12Pageable_SetPrivateData(This,guid,DataSize,pData) \ | ||
| 4848 | ( (This)->lpVtbl -> SetPrivateData(This,guid,DataSize,pData) ) | ||
| 4849 | |||
| 4850 | #define ID3D12Pageable_SetPrivateDataInterface(This,guid,pData) \ | ||
| 4851 | ( (This)->lpVtbl -> SetPrivateDataInterface(This,guid,pData) ) | ||
| 4852 | |||
| 4853 | #define ID3D12Pageable_SetName(This,Name) \ | ||
| 4854 | ( (This)->lpVtbl -> SetName(This,Name) ) | ||
| 4855 | |||
| 4856 | |||
| 4857 | #define ID3D12Pageable_GetDevice(This,riid,ppvDevice) \ | ||
| 4858 | ( (This)->lpVtbl -> GetDevice(This,riid,ppvDevice) ) | ||
| 4859 | |||
| 4860 | |||
| 4861 | #endif /* COBJMACROS */ | ||
| 4862 | |||
| 4863 | |||
| 4864 | #endif /* C style interface */ | ||
| 4865 | |||
| 4866 | |||
| 4867 | |||
| 4868 | |||
| 4869 | #endif /* __ID3D12Pageable_INTERFACE_DEFINED__ */ | ||
| 4870 | |||
| 4871 | |||
| 4872 | #ifndef __ID3D12Heap_INTERFACE_DEFINED__ | ||
| 4873 | #define __ID3D12Heap_INTERFACE_DEFINED__ | ||
| 4874 | |||
| 4875 | /* interface ID3D12Heap */ | ||
| 4876 | /* [unique][local][object][uuid] */ | ||
| 4877 | |||
| 4878 | |||
| 4879 | EXTERN_C const IID IID_ID3D12Heap; | ||
| 4880 | |||
| 4881 | #if defined(__cplusplus) && !defined(CINTERFACE) | ||
| 4882 | |||
| 4883 | MIDL_INTERFACE("6b3b2502-6e51-45b3-90ee-9884265e8df3") | ||
| 4884 | ID3D12Heap : public ID3D12Pageable | ||
| 4885 | { | ||
| 4886 | public: | ||
| 4887 | #if defined(_MSC_VER) || !defined(_WIN32) | ||
| 4888 | virtual D3D12_HEAP_DESC STDMETHODCALLTYPE GetDesc( void) = 0; | ||
| 4889 | #else | ||
| 4890 | virtual D3D12_HEAP_DESC *STDMETHODCALLTYPE GetDesc( | ||
| 4891 | D3D12_HEAP_DESC * RetVal) = 0; | ||
| 4892 | #endif | ||
| 4893 | |||
| 4894 | }; | ||
| 4895 | |||
| 4896 | |||
| 4897 | #else /* C style interface */ | ||
| 4898 | |||
| 4899 | typedef struct ID3D12HeapVtbl | ||
| 4900 | { | ||
| 4901 | BEGIN_INTERFACE | ||
| 4902 | |||
| 4903 | DECLSPEC_XFGVIRT(IUnknown, QueryInterface) | ||
| 4904 | HRESULT ( STDMETHODCALLTYPE *QueryInterface )( | ||
| 4905 | ID3D12Heap * This, | ||
| 4906 | REFIID riid, | ||
| 4907 | _COM_Outptr_ void **ppvObject); | ||
| 4908 | |||
| 4909 | DECLSPEC_XFGVIRT(IUnknown, AddRef) | ||
| 4910 | ULONG ( STDMETHODCALLTYPE *AddRef )( | ||
| 4911 | ID3D12Heap * This); | ||
| 4912 | |||
| 4913 | DECLSPEC_XFGVIRT(IUnknown, Release) | ||
| 4914 | ULONG ( STDMETHODCALLTYPE *Release )( | ||
| 4915 | ID3D12Heap * This); | ||
| 4916 | |||
| 4917 | DECLSPEC_XFGVIRT(ID3D12Object, GetPrivateData) | ||
| 4918 | HRESULT ( STDMETHODCALLTYPE *GetPrivateData )( | ||
| 4919 | ID3D12Heap * This, | ||
| 4920 | _In_ REFGUID guid, | ||
| 4921 | _Inout_ UINT *pDataSize, | ||
| 4922 | _Out_writes_bytes_opt_( *pDataSize ) void *pData); | ||
| 4923 | |||
| 4924 | DECLSPEC_XFGVIRT(ID3D12Object, SetPrivateData) | ||
| 4925 | HRESULT ( STDMETHODCALLTYPE *SetPrivateData )( | ||
| 4926 | ID3D12Heap * This, | ||
| 4927 | _In_ REFGUID guid, | ||
| 4928 | _In_ UINT DataSize, | ||
| 4929 | _In_reads_bytes_opt_( DataSize ) const void *pData); | ||
| 4930 | |||
| 4931 | DECLSPEC_XFGVIRT(ID3D12Object, SetPrivateDataInterface) | ||
| 4932 | HRESULT ( STDMETHODCALLTYPE *SetPrivateDataInterface )( | ||
| 4933 | ID3D12Heap * This, | ||
| 4934 | _In_ REFGUID guid, | ||
| 4935 | _In_opt_ const IUnknown *pData); | ||
| 4936 | |||
| 4937 | DECLSPEC_XFGVIRT(ID3D12Object, SetName) | ||
| 4938 | HRESULT ( STDMETHODCALLTYPE *SetName )( | ||
| 4939 | ID3D12Heap * This, | ||
| 4940 | _In_z_ LPCWSTR Name); | ||
| 4941 | |||
| 4942 | DECLSPEC_XFGVIRT(ID3D12DeviceChild, GetDevice) | ||
| 4943 | HRESULT ( STDMETHODCALLTYPE *GetDevice )( | ||
| 4944 | ID3D12Heap * This, | ||
| 4945 | REFIID riid, | ||
| 4946 | _COM_Outptr_opt_ void **ppvDevice); | ||
| 4947 | |||
| 4948 | DECLSPEC_XFGVIRT(ID3D12Heap, GetDesc) | ||
| 4949 | #if !defined(_WIN32) | ||
| 4950 | D3D12_HEAP_DESC ( STDMETHODCALLTYPE *GetDesc )( | ||
| 4951 | ID3D12Heap * This); | ||
| 4952 | |||
| 4953 | #else | ||
| 4954 | D3D12_HEAP_DESC *( STDMETHODCALLTYPE *GetDesc )( | ||
| 4955 | ID3D12Heap * This, | ||
| 4956 | D3D12_HEAP_DESC * RetVal); | ||
| 4957 | |||
| 4958 | #endif | ||
| 4959 | |||
| 4960 | END_INTERFACE | ||
| 4961 | } ID3D12HeapVtbl; | ||
| 4962 | |||
| 4963 | interface ID3D12Heap | ||
| 4964 | { | ||
| 4965 | CONST_VTBL struct ID3D12HeapVtbl *lpVtbl; | ||
| 4966 | }; | ||
| 4967 | |||
| 4968 | |||
| 4969 | |||
| 4970 | #ifdef COBJMACROS | ||
| 4971 | |||
| 4972 | |||
| 4973 | #define ID3D12Heap_QueryInterface(This,riid,ppvObject) \ | ||
| 4974 | ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) | ||
| 4975 | |||
| 4976 | #define ID3D12Heap_AddRef(This) \ | ||
| 4977 | ( (This)->lpVtbl -> AddRef(This) ) | ||
| 4978 | |||
| 4979 | #define ID3D12Heap_Release(This) \ | ||
| 4980 | ( (This)->lpVtbl -> Release(This) ) | ||
| 4981 | |||
| 4982 | |||
| 4983 | #define ID3D12Heap_GetPrivateData(This,guid,pDataSize,pData) \ | ||
| 4984 | ( (This)->lpVtbl -> GetPrivateData(This,guid,pDataSize,pData) ) | ||
| 4985 | |||
| 4986 | #define ID3D12Heap_SetPrivateData(This,guid,DataSize,pData) \ | ||
| 4987 | ( (This)->lpVtbl -> SetPrivateData(This,guid,DataSize,pData) ) | ||
| 4988 | |||
| 4989 | #define ID3D12Heap_SetPrivateDataInterface(This,guid,pData) \ | ||
| 4990 | ( (This)->lpVtbl -> SetPrivateDataInterface(This,guid,pData) ) | ||
| 4991 | |||
| 4992 | #define ID3D12Heap_SetName(This,Name) \ | ||
| 4993 | ( (This)->lpVtbl -> SetName(This,Name) ) | ||
| 4994 | |||
| 4995 | |||
| 4996 | #define ID3D12Heap_GetDevice(This,riid,ppvDevice) \ | ||
| 4997 | ( (This)->lpVtbl -> GetDevice(This,riid,ppvDevice) ) | ||
| 4998 | |||
| 4999 | |||
| 5000 | #if !defined(_WIN32) | ||
| 5001 | |||
| 5002 | #define ID3D12Heap_GetDesc(This) \ | ||
| 5003 | ( (This)->lpVtbl -> GetDesc(This) ) | ||
| 5004 | #else | ||
| 5005 | #define ID3D12Heap_GetDesc(This,RetVal) \ | ||
| 5006 | ( (This)->lpVtbl -> GetDesc(This,RetVal) ) | ||
| 5007 | #endif | ||
| 5008 | |||
| 5009 | #endif /* COBJMACROS */ | ||
| 5010 | |||
| 5011 | |||
| 5012 | #endif /* C style interface */ | ||
| 5013 | |||
| 5014 | |||
| 5015 | |||
| 5016 | |||
| 5017 | #endif /* __ID3D12Heap_INTERFACE_DEFINED__ */ | ||
| 5018 | |||
| 5019 | |||
| 5020 | #ifndef __ID3D12Resource_INTERFACE_DEFINED__ | ||
| 5021 | #define __ID3D12Resource_INTERFACE_DEFINED__ | ||
| 5022 | |||
| 5023 | /* interface ID3D12Resource */ | ||
| 5024 | /* [unique][local][object][uuid] */ | ||
| 5025 | |||
| 5026 | |||
| 5027 | EXTERN_C const IID IID_ID3D12Resource; | ||
| 5028 | |||
| 5029 | #if defined(__cplusplus) && !defined(CINTERFACE) | ||
| 5030 | |||
| 5031 | MIDL_INTERFACE("696442be-a72e-4059-bc79-5b5c98040fad") | ||
| 5032 | ID3D12Resource : public ID3D12Pageable | ||
| 5033 | { | ||
| 5034 | public: | ||
| 5035 | virtual HRESULT STDMETHODCALLTYPE Map( | ||
| 5036 | UINT Subresource, | ||
| 5037 | _In_opt_ const D3D12_RANGE *pReadRange, | ||
| 5038 | _Outptr_opt_result_bytebuffer_(_Inexpressible_("Dependent on resource")) void **ppData) = 0; | ||
| 5039 | |||
| 5040 | virtual void STDMETHODCALLTYPE Unmap( | ||
| 5041 | UINT Subresource, | ||
| 5042 | _In_opt_ const D3D12_RANGE *pWrittenRange) = 0; | ||
| 5043 | |||
| 5044 | #if defined(_MSC_VER) || !defined(_WIN32) | ||
| 5045 | virtual D3D12_RESOURCE_DESC STDMETHODCALLTYPE GetDesc( void) = 0; | ||
| 5046 | #else | ||
| 5047 | virtual D3D12_RESOURCE_DESC *STDMETHODCALLTYPE GetDesc( | ||
| 5048 | D3D12_RESOURCE_DESC * RetVal) = 0; | ||
| 5049 | #endif | ||
| 5050 | |||
| 5051 | virtual D3D12_GPU_VIRTUAL_ADDRESS STDMETHODCALLTYPE GetGPUVirtualAddress( void) = 0; | ||
| 5052 | |||
| 5053 | virtual HRESULT STDMETHODCALLTYPE WriteToSubresource( | ||
| 5054 | UINT DstSubresource, | ||
| 5055 | _In_opt_ const D3D12_BOX *pDstBox, | ||
| 5056 | _In_ const void *pSrcData, | ||
| 5057 | UINT SrcRowPitch, | ||
| 5058 | UINT SrcDepthPitch) = 0; | ||
| 5059 | |||
| 5060 | virtual HRESULT STDMETHODCALLTYPE ReadFromSubresource( | ||
| 5061 | _Out_ void *pDstData, | ||
| 5062 | UINT DstRowPitch, | ||
| 5063 | UINT DstDepthPitch, | ||
| 5064 | UINT SrcSubresource, | ||
| 5065 | _In_opt_ const D3D12_BOX *pSrcBox) = 0; | ||
| 5066 | |||
| 5067 | virtual HRESULT STDMETHODCALLTYPE GetHeapProperties( | ||
| 5068 | _Out_opt_ D3D12_HEAP_PROPERTIES *pHeapProperties, | ||
| 5069 | _Out_opt_ D3D12_HEAP_FLAGS *pHeapFlags) = 0; | ||
| 5070 | |||
| 5071 | }; | ||
| 5072 | |||
| 5073 | |||
| 5074 | #else /* C style interface */ | ||
| 5075 | |||
| 5076 | typedef struct ID3D12ResourceVtbl | ||
| 5077 | { | ||
| 5078 | BEGIN_INTERFACE | ||
| 5079 | |||
| 5080 | DECLSPEC_XFGVIRT(IUnknown, QueryInterface) | ||
| 5081 | HRESULT ( STDMETHODCALLTYPE *QueryInterface )( | ||
| 5082 | ID3D12Resource * This, | ||
| 5083 | REFIID riid, | ||
| 5084 | _COM_Outptr_ void **ppvObject); | ||
| 5085 | |||
| 5086 | DECLSPEC_XFGVIRT(IUnknown, AddRef) | ||
| 5087 | ULONG ( STDMETHODCALLTYPE *AddRef )( | ||
| 5088 | ID3D12Resource * This); | ||
| 5089 | |||
| 5090 | DECLSPEC_XFGVIRT(IUnknown, Release) | ||
| 5091 | ULONG ( STDMETHODCALLTYPE *Release )( | ||
| 5092 | ID3D12Resource * This); | ||
| 5093 | |||
| 5094 | DECLSPEC_XFGVIRT(ID3D12Object, GetPrivateData) | ||
| 5095 | HRESULT ( STDMETHODCALLTYPE *GetPrivateData )( | ||
| 5096 | ID3D12Resource * This, | ||
| 5097 | _In_ REFGUID guid, | ||
| 5098 | _Inout_ UINT *pDataSize, | ||
| 5099 | _Out_writes_bytes_opt_( *pDataSize ) void *pData); | ||
| 5100 | |||
| 5101 | DECLSPEC_XFGVIRT(ID3D12Object, SetPrivateData) | ||
| 5102 | HRESULT ( STDMETHODCALLTYPE *SetPrivateData )( | ||
| 5103 | ID3D12Resource * This, | ||
| 5104 | _In_ REFGUID guid, | ||
| 5105 | _In_ UINT DataSize, | ||
| 5106 | _In_reads_bytes_opt_( DataSize ) const void *pData); | ||
| 5107 | |||
| 5108 | DECLSPEC_XFGVIRT(ID3D12Object, SetPrivateDataInterface) | ||
| 5109 | HRESULT ( STDMETHODCALLTYPE *SetPrivateDataInterface )( | ||
| 5110 | ID3D12Resource * This, | ||
| 5111 | _In_ REFGUID guid, | ||
| 5112 | _In_opt_ const IUnknown *pData); | ||
| 5113 | |||
| 5114 | DECLSPEC_XFGVIRT(ID3D12Object, SetName) | ||
| 5115 | HRESULT ( STDMETHODCALLTYPE *SetName )( | ||
| 5116 | ID3D12Resource * This, | ||
| 5117 | _In_z_ LPCWSTR Name); | ||
| 5118 | |||
| 5119 | DECLSPEC_XFGVIRT(ID3D12DeviceChild, GetDevice) | ||
| 5120 | HRESULT ( STDMETHODCALLTYPE *GetDevice )( | ||
| 5121 | ID3D12Resource * This, | ||
| 5122 | REFIID riid, | ||
| 5123 | _COM_Outptr_opt_ void **ppvDevice); | ||
| 5124 | |||
| 5125 | DECLSPEC_XFGVIRT(ID3D12Resource, Map) | ||
| 5126 | HRESULT ( STDMETHODCALLTYPE *Map )( | ||
| 5127 | ID3D12Resource * This, | ||
| 5128 | UINT Subresource, | ||
| 5129 | _In_opt_ const D3D12_RANGE *pReadRange, | ||
| 5130 | _Outptr_opt_result_bytebuffer_(_Inexpressible_("Dependent on resource")) void **ppData); | ||
| 5131 | |||
| 5132 | DECLSPEC_XFGVIRT(ID3D12Resource, Unmap) | ||
| 5133 | void ( STDMETHODCALLTYPE *Unmap )( | ||
| 5134 | ID3D12Resource * This, | ||
| 5135 | UINT Subresource, | ||
| 5136 | _In_opt_ const D3D12_RANGE *pWrittenRange); | ||
| 5137 | |||
| 5138 | DECLSPEC_XFGVIRT(ID3D12Resource, GetDesc) | ||
| 5139 | #if !defined(_WIN32) | ||
| 5140 | D3D12_RESOURCE_DESC ( STDMETHODCALLTYPE *GetDesc )( | ||
| 5141 | ID3D12Resource * This); | ||
| 5142 | |||
| 5143 | #else | ||
| 5144 | D3D12_RESOURCE_DESC *( STDMETHODCALLTYPE *GetDesc )( | ||
| 5145 | ID3D12Resource * This, | ||
| 5146 | D3D12_RESOURCE_DESC * RetVal); | ||
| 5147 | |||
| 5148 | #endif | ||
| 5149 | |||
| 5150 | DECLSPEC_XFGVIRT(ID3D12Resource, GetGPUVirtualAddress) | ||
| 5151 | D3D12_GPU_VIRTUAL_ADDRESS ( STDMETHODCALLTYPE *GetGPUVirtualAddress )( | ||
| 5152 | ID3D12Resource * This); | ||
| 5153 | |||
| 5154 | DECLSPEC_XFGVIRT(ID3D12Resource, WriteToSubresource) | ||
| 5155 | HRESULT ( STDMETHODCALLTYPE *WriteToSubresource )( | ||
| 5156 | ID3D12Resource * This, | ||
| 5157 | UINT DstSubresource, | ||
| 5158 | _In_opt_ const D3D12_BOX *pDstBox, | ||
| 5159 | _In_ const void *pSrcData, | ||
| 5160 | UINT SrcRowPitch, | ||
| 5161 | UINT SrcDepthPitch); | ||
| 5162 | |||
| 5163 | DECLSPEC_XFGVIRT(ID3D12Resource, ReadFromSubresource) | ||
| 5164 | HRESULT ( STDMETHODCALLTYPE *ReadFromSubresource )( | ||
| 5165 | ID3D12Resource * This, | ||
| 5166 | _Out_ void *pDstData, | ||
| 5167 | UINT DstRowPitch, | ||
| 5168 | UINT DstDepthPitch, | ||
| 5169 | UINT SrcSubresource, | ||
| 5170 | _In_opt_ const D3D12_BOX *pSrcBox); | ||
| 5171 | |||
| 5172 | DECLSPEC_XFGVIRT(ID3D12Resource, GetHeapProperties) | ||
| 5173 | HRESULT ( STDMETHODCALLTYPE *GetHeapProperties )( | ||
| 5174 | ID3D12Resource * This, | ||
| 5175 | _Out_opt_ D3D12_HEAP_PROPERTIES *pHeapProperties, | ||
| 5176 | _Out_opt_ D3D12_HEAP_FLAGS *pHeapFlags); | ||
| 5177 | |||
| 5178 | END_INTERFACE | ||
| 5179 | } ID3D12ResourceVtbl; | ||
| 5180 | |||
| 5181 | interface ID3D12Resource | ||
| 5182 | { | ||
| 5183 | CONST_VTBL struct ID3D12ResourceVtbl *lpVtbl; | ||
| 5184 | }; | ||
| 5185 | |||
| 5186 | |||
| 5187 | |||
| 5188 | #ifdef COBJMACROS | ||
| 5189 | |||
| 5190 | |||
| 5191 | #define ID3D12Resource_QueryInterface(This,riid,ppvObject) \ | ||
| 5192 | ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) | ||
| 5193 | |||
| 5194 | #define ID3D12Resource_AddRef(This) \ | ||
| 5195 | ( (This)->lpVtbl -> AddRef(This) ) | ||
| 5196 | |||
| 5197 | #define ID3D12Resource_Release(This) \ | ||
| 5198 | ( (This)->lpVtbl -> Release(This) ) | ||
| 5199 | |||
| 5200 | |||
| 5201 | #define ID3D12Resource_GetPrivateData(This,guid,pDataSize,pData) \ | ||
| 5202 | ( (This)->lpVtbl -> GetPrivateData(This,guid,pDataSize,pData) ) | ||
| 5203 | |||
| 5204 | #define ID3D12Resource_SetPrivateData(This,guid,DataSize,pData) \ | ||
| 5205 | ( (This)->lpVtbl -> SetPrivateData(This,guid,DataSize,pData) ) | ||
| 5206 | |||
| 5207 | #define ID3D12Resource_SetPrivateDataInterface(This,guid,pData) \ | ||
| 5208 | ( (This)->lpVtbl -> SetPrivateDataInterface(This,guid,pData) ) | ||
| 5209 | |||
| 5210 | #define ID3D12Resource_SetName(This,Name) \ | ||
| 5211 | ( (This)->lpVtbl -> SetName(This,Name) ) | ||
| 5212 | |||
| 5213 | |||
| 5214 | #define ID3D12Resource_GetDevice(This,riid,ppvDevice) \ | ||
| 5215 | ( (This)->lpVtbl -> GetDevice(This,riid,ppvDevice) ) | ||
| 5216 | |||
| 5217 | |||
| 5218 | |||
| 5219 | #define ID3D12Resource_Map(This,Subresource,pReadRange,ppData) \ | ||
| 5220 | ( (This)->lpVtbl -> Map(This,Subresource,pReadRange,ppData) ) | ||
| 5221 | |||
| 5222 | #define ID3D12Resource_Unmap(This,Subresource,pWrittenRange) \ | ||
| 5223 | ( (This)->lpVtbl -> Unmap(This,Subresource,pWrittenRange) ) | ||
| 5224 | #if !defined(_WIN32) | ||
| 5225 | |||
| 5226 | #define ID3D12Resource_GetDesc(This) \ | ||
| 5227 | ( (This)->lpVtbl -> GetDesc(This) ) | ||
| 5228 | #else | ||
| 5229 | #define ID3D12Resource_GetDesc(This,RetVal) \ | ||
| 5230 | ( (This)->lpVtbl -> GetDesc(This,RetVal) ) | ||
| 5231 | #endif | ||
| 5232 | |||
| 5233 | #define ID3D12Resource_GetGPUVirtualAddress(This) \ | ||
| 5234 | ( (This)->lpVtbl -> GetGPUVirtualAddress(This) ) | ||
| 5235 | |||
| 5236 | #define ID3D12Resource_WriteToSubresource(This,DstSubresource,pDstBox,pSrcData,SrcRowPitch,SrcDepthPitch) \ | ||
| 5237 | ( (This)->lpVtbl -> WriteToSubresource(This,DstSubresource,pDstBox,pSrcData,SrcRowPitch,SrcDepthPitch) ) | ||
| 5238 | |||
| 5239 | #define ID3D12Resource_ReadFromSubresource(This,pDstData,DstRowPitch,DstDepthPitch,SrcSubresource,pSrcBox) \ | ||
| 5240 | ( (This)->lpVtbl -> ReadFromSubresource(This,pDstData,DstRowPitch,DstDepthPitch,SrcSubresource,pSrcBox) ) | ||
| 5241 | |||
| 5242 | #define ID3D12Resource_GetHeapProperties(This,pHeapProperties,pHeapFlags) \ | ||
| 5243 | ( (This)->lpVtbl -> GetHeapProperties(This,pHeapProperties,pHeapFlags) ) | ||
| 5244 | |||
| 5245 | #endif /* COBJMACROS */ | ||
| 5246 | |||
| 5247 | |||
| 5248 | #endif /* C style interface */ | ||
| 5249 | |||
| 5250 | |||
| 5251 | |||
| 5252 | |||
| 5253 | #endif /* __ID3D12Resource_INTERFACE_DEFINED__ */ | ||
| 5254 | |||
| 5255 | |||
| 5256 | #ifndef __ID3D12CommandAllocator_INTERFACE_DEFINED__ | ||
| 5257 | #define __ID3D12CommandAllocator_INTERFACE_DEFINED__ | ||
| 5258 | |||
| 5259 | /* interface ID3D12CommandAllocator */ | ||
| 5260 | /* [unique][local][object][uuid] */ | ||
| 5261 | |||
| 5262 | |||
| 5263 | EXTERN_C const IID IID_ID3D12CommandAllocator; | ||
| 5264 | |||
| 5265 | #if defined(__cplusplus) && !defined(CINTERFACE) | ||
| 5266 | |||
| 5267 | MIDL_INTERFACE("6102dee4-af59-4b09-b999-b44d73f09b24") | ||
| 5268 | ID3D12CommandAllocator : public ID3D12Pageable | ||
| 5269 | { | ||
| 5270 | public: | ||
| 5271 | virtual HRESULT STDMETHODCALLTYPE Reset( void) = 0; | ||
| 5272 | |||
| 5273 | }; | ||
| 5274 | |||
| 5275 | |||
| 5276 | #else /* C style interface */ | ||
| 5277 | |||
| 5278 | typedef struct ID3D12CommandAllocatorVtbl | ||
| 5279 | { | ||
| 5280 | BEGIN_INTERFACE | ||
| 5281 | |||
| 5282 | DECLSPEC_XFGVIRT(IUnknown, QueryInterface) | ||
| 5283 | HRESULT ( STDMETHODCALLTYPE *QueryInterface )( | ||
| 5284 | ID3D12CommandAllocator * This, | ||
| 5285 | REFIID riid, | ||
| 5286 | _COM_Outptr_ void **ppvObject); | ||
| 5287 | |||
| 5288 | DECLSPEC_XFGVIRT(IUnknown, AddRef) | ||
| 5289 | ULONG ( STDMETHODCALLTYPE *AddRef )( | ||
| 5290 | ID3D12CommandAllocator * This); | ||
| 5291 | |||
| 5292 | DECLSPEC_XFGVIRT(IUnknown, Release) | ||
| 5293 | ULONG ( STDMETHODCALLTYPE *Release )( | ||
| 5294 | ID3D12CommandAllocator * This); | ||
| 5295 | |||
| 5296 | DECLSPEC_XFGVIRT(ID3D12Object, GetPrivateData) | ||
| 5297 | HRESULT ( STDMETHODCALLTYPE *GetPrivateData )( | ||
| 5298 | ID3D12CommandAllocator * This, | ||
| 5299 | _In_ REFGUID guid, | ||
| 5300 | _Inout_ UINT *pDataSize, | ||
| 5301 | _Out_writes_bytes_opt_( *pDataSize ) void *pData); | ||
| 5302 | |||
| 5303 | DECLSPEC_XFGVIRT(ID3D12Object, SetPrivateData) | ||
| 5304 | HRESULT ( STDMETHODCALLTYPE *SetPrivateData )( | ||
| 5305 | ID3D12CommandAllocator * This, | ||
| 5306 | _In_ REFGUID guid, | ||
| 5307 | _In_ UINT DataSize, | ||
| 5308 | _In_reads_bytes_opt_( DataSize ) const void *pData); | ||
| 5309 | |||
| 5310 | DECLSPEC_XFGVIRT(ID3D12Object, SetPrivateDataInterface) | ||
| 5311 | HRESULT ( STDMETHODCALLTYPE *SetPrivateDataInterface )( | ||
| 5312 | ID3D12CommandAllocator * This, | ||
| 5313 | _In_ REFGUID guid, | ||
| 5314 | _In_opt_ const IUnknown *pData); | ||
| 5315 | |||
| 5316 | DECLSPEC_XFGVIRT(ID3D12Object, SetName) | ||
| 5317 | HRESULT ( STDMETHODCALLTYPE *SetName )( | ||
| 5318 | ID3D12CommandAllocator * This, | ||
| 5319 | _In_z_ LPCWSTR Name); | ||
| 5320 | |||
| 5321 | DECLSPEC_XFGVIRT(ID3D12DeviceChild, GetDevice) | ||
| 5322 | HRESULT ( STDMETHODCALLTYPE *GetDevice )( | ||
| 5323 | ID3D12CommandAllocator * This, | ||
| 5324 | REFIID riid, | ||
| 5325 | _COM_Outptr_opt_ void **ppvDevice); | ||
| 5326 | |||
| 5327 | DECLSPEC_XFGVIRT(ID3D12CommandAllocator, Reset) | ||
| 5328 | HRESULT ( STDMETHODCALLTYPE *Reset )( | ||
| 5329 | ID3D12CommandAllocator * This); | ||
| 5330 | |||
| 5331 | END_INTERFACE | ||
| 5332 | } ID3D12CommandAllocatorVtbl; | ||
| 5333 | |||
| 5334 | interface ID3D12CommandAllocator | ||
| 5335 | { | ||
| 5336 | CONST_VTBL struct ID3D12CommandAllocatorVtbl *lpVtbl; | ||
| 5337 | }; | ||
| 5338 | |||
| 5339 | |||
| 5340 | |||
| 5341 | #ifdef COBJMACROS | ||
| 5342 | |||
| 5343 | |||
| 5344 | #define ID3D12CommandAllocator_QueryInterface(This,riid,ppvObject) \ | ||
| 5345 | ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) | ||
| 5346 | |||
| 5347 | #define ID3D12CommandAllocator_AddRef(This) \ | ||
| 5348 | ( (This)->lpVtbl -> AddRef(This) ) | ||
| 5349 | |||
| 5350 | #define ID3D12CommandAllocator_Release(This) \ | ||
| 5351 | ( (This)->lpVtbl -> Release(This) ) | ||
| 5352 | |||
| 5353 | |||
| 5354 | #define ID3D12CommandAllocator_GetPrivateData(This,guid,pDataSize,pData) \ | ||
| 5355 | ( (This)->lpVtbl -> GetPrivateData(This,guid,pDataSize,pData) ) | ||
| 5356 | |||
| 5357 | #define ID3D12CommandAllocator_SetPrivateData(This,guid,DataSize,pData) \ | ||
| 5358 | ( (This)->lpVtbl -> SetPrivateData(This,guid,DataSize,pData) ) | ||
| 5359 | |||
| 5360 | #define ID3D12CommandAllocator_SetPrivateDataInterface(This,guid,pData) \ | ||
| 5361 | ( (This)->lpVtbl -> SetPrivateDataInterface(This,guid,pData) ) | ||
| 5362 | |||
| 5363 | #define ID3D12CommandAllocator_SetName(This,Name) \ | ||
| 5364 | ( (This)->lpVtbl -> SetName(This,Name) ) | ||
| 5365 | |||
| 5366 | |||
| 5367 | #define ID3D12CommandAllocator_GetDevice(This,riid,ppvDevice) \ | ||
| 5368 | ( (This)->lpVtbl -> GetDevice(This,riid,ppvDevice) ) | ||
| 5369 | |||
| 5370 | |||
| 5371 | |||
| 5372 | #define ID3D12CommandAllocator_Reset(This) \ | ||
| 5373 | ( (This)->lpVtbl -> Reset(This) ) | ||
| 5374 | |||
| 5375 | #endif /* COBJMACROS */ | ||
| 5376 | |||
| 5377 | |||
| 5378 | #endif /* C style interface */ | ||
| 5379 | |||
| 5380 | |||
| 5381 | |||
| 5382 | |||
| 5383 | #endif /* __ID3D12CommandAllocator_INTERFACE_DEFINED__ */ | ||
| 5384 | |||
| 5385 | |||
| 5386 | #ifndef __ID3D12Fence_INTERFACE_DEFINED__ | ||
| 5387 | #define __ID3D12Fence_INTERFACE_DEFINED__ | ||
| 5388 | |||
| 5389 | /* interface ID3D12Fence */ | ||
| 5390 | /* [unique][local][object][uuid] */ | ||
| 5391 | |||
| 5392 | |||
| 5393 | EXTERN_C const IID IID_ID3D12Fence; | ||
| 5394 | |||
| 5395 | #if defined(__cplusplus) && !defined(CINTERFACE) | ||
| 5396 | |||
| 5397 | MIDL_INTERFACE("0a753dcf-c4d8-4b91-adf6-be5a60d95a76") | ||
| 5398 | ID3D12Fence : public ID3D12Pageable | ||
| 5399 | { | ||
| 5400 | public: | ||
| 5401 | virtual UINT64 STDMETHODCALLTYPE GetCompletedValue( void) = 0; | ||
| 5402 | |||
| 5403 | virtual HRESULT STDMETHODCALLTYPE SetEventOnCompletion( | ||
| 5404 | UINT64 Value, | ||
| 5405 | HANDLE hEvent) = 0; | ||
| 5406 | |||
| 5407 | virtual HRESULT STDMETHODCALLTYPE Signal( | ||
| 5408 | UINT64 Value) = 0; | ||
| 5409 | |||
| 5410 | }; | ||
| 5411 | |||
| 5412 | |||
| 5413 | #else /* C style interface */ | ||
| 5414 | |||
| 5415 | typedef struct ID3D12FenceVtbl | ||
| 5416 | { | ||
| 5417 | BEGIN_INTERFACE | ||
| 5418 | |||
| 5419 | DECLSPEC_XFGVIRT(IUnknown, QueryInterface) | ||
| 5420 | HRESULT ( STDMETHODCALLTYPE *QueryInterface )( | ||
| 5421 | ID3D12Fence * This, | ||
| 5422 | REFIID riid, | ||
| 5423 | _COM_Outptr_ void **ppvObject); | ||
| 5424 | |||
| 5425 | DECLSPEC_XFGVIRT(IUnknown, AddRef) | ||
| 5426 | ULONG ( STDMETHODCALLTYPE *AddRef )( | ||
| 5427 | ID3D12Fence * This); | ||
| 5428 | |||
| 5429 | DECLSPEC_XFGVIRT(IUnknown, Release) | ||
| 5430 | ULONG ( STDMETHODCALLTYPE *Release )( | ||
| 5431 | ID3D12Fence * This); | ||
| 5432 | |||
| 5433 | DECLSPEC_XFGVIRT(ID3D12Object, GetPrivateData) | ||
| 5434 | HRESULT ( STDMETHODCALLTYPE *GetPrivateData )( | ||
| 5435 | ID3D12Fence * This, | ||
| 5436 | _In_ REFGUID guid, | ||
| 5437 | _Inout_ UINT *pDataSize, | ||
| 5438 | _Out_writes_bytes_opt_( *pDataSize ) void *pData); | ||
| 5439 | |||
| 5440 | DECLSPEC_XFGVIRT(ID3D12Object, SetPrivateData) | ||
| 5441 | HRESULT ( STDMETHODCALLTYPE *SetPrivateData )( | ||
| 5442 | ID3D12Fence * This, | ||
| 5443 | _In_ REFGUID guid, | ||
| 5444 | _In_ UINT DataSize, | ||
| 5445 | _In_reads_bytes_opt_( DataSize ) const void *pData); | ||
| 5446 | |||
| 5447 | DECLSPEC_XFGVIRT(ID3D12Object, SetPrivateDataInterface) | ||
| 5448 | HRESULT ( STDMETHODCALLTYPE *SetPrivateDataInterface )( | ||
| 5449 | ID3D12Fence * This, | ||
| 5450 | _In_ REFGUID guid, | ||
| 5451 | _In_opt_ const IUnknown *pData); | ||
| 5452 | |||
| 5453 | DECLSPEC_XFGVIRT(ID3D12Object, SetName) | ||
| 5454 | HRESULT ( STDMETHODCALLTYPE *SetName )( | ||
| 5455 | ID3D12Fence * This, | ||
| 5456 | _In_z_ LPCWSTR Name); | ||
| 5457 | |||
| 5458 | DECLSPEC_XFGVIRT(ID3D12DeviceChild, GetDevice) | ||
| 5459 | HRESULT ( STDMETHODCALLTYPE *GetDevice )( | ||
| 5460 | ID3D12Fence * This, | ||
| 5461 | REFIID riid, | ||
| 5462 | _COM_Outptr_opt_ void **ppvDevice); | ||
| 5463 | |||
| 5464 | DECLSPEC_XFGVIRT(ID3D12Fence, GetCompletedValue) | ||
| 5465 | UINT64 ( STDMETHODCALLTYPE *GetCompletedValue )( | ||
| 5466 | ID3D12Fence * This); | ||
| 5467 | |||
| 5468 | DECLSPEC_XFGVIRT(ID3D12Fence, SetEventOnCompletion) | ||
| 5469 | HRESULT ( STDMETHODCALLTYPE *SetEventOnCompletion )( | ||
| 5470 | ID3D12Fence * This, | ||
| 5471 | UINT64 Value, | ||
| 5472 | HANDLE hEvent); | ||
| 5473 | |||
| 5474 | DECLSPEC_XFGVIRT(ID3D12Fence, Signal) | ||
| 5475 | HRESULT ( STDMETHODCALLTYPE *Signal )( | ||
| 5476 | ID3D12Fence * This, | ||
| 5477 | UINT64 Value); | ||
| 5478 | |||
| 5479 | END_INTERFACE | ||
| 5480 | } ID3D12FenceVtbl; | ||
| 5481 | |||
| 5482 | interface ID3D12Fence | ||
| 5483 | { | ||
| 5484 | CONST_VTBL struct ID3D12FenceVtbl *lpVtbl; | ||
| 5485 | }; | ||
| 5486 | |||
| 5487 | |||
| 5488 | |||
| 5489 | #ifdef COBJMACROS | ||
| 5490 | |||
| 5491 | |||
| 5492 | #define ID3D12Fence_QueryInterface(This,riid,ppvObject) \ | ||
| 5493 | ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) | ||
| 5494 | |||
| 5495 | #define ID3D12Fence_AddRef(This) \ | ||
| 5496 | ( (This)->lpVtbl -> AddRef(This) ) | ||
| 5497 | |||
| 5498 | #define ID3D12Fence_Release(This) \ | ||
| 5499 | ( (This)->lpVtbl -> Release(This) ) | ||
| 5500 | |||
| 5501 | |||
| 5502 | #define ID3D12Fence_GetPrivateData(This,guid,pDataSize,pData) \ | ||
| 5503 | ( (This)->lpVtbl -> GetPrivateData(This,guid,pDataSize,pData) ) | ||
| 5504 | |||
| 5505 | #define ID3D12Fence_SetPrivateData(This,guid,DataSize,pData) \ | ||
| 5506 | ( (This)->lpVtbl -> SetPrivateData(This,guid,DataSize,pData) ) | ||
| 5507 | |||
| 5508 | #define ID3D12Fence_SetPrivateDataInterface(This,guid,pData) \ | ||
| 5509 | ( (This)->lpVtbl -> SetPrivateDataInterface(This,guid,pData) ) | ||
| 5510 | |||
| 5511 | #define ID3D12Fence_SetName(This,Name) \ | ||
| 5512 | ( (This)->lpVtbl -> SetName(This,Name) ) | ||
| 5513 | |||
| 5514 | |||
| 5515 | #define ID3D12Fence_GetDevice(This,riid,ppvDevice) \ | ||
| 5516 | ( (This)->lpVtbl -> GetDevice(This,riid,ppvDevice) ) | ||
| 5517 | |||
| 5518 | |||
| 5519 | |||
| 5520 | #define ID3D12Fence_GetCompletedValue(This) \ | ||
| 5521 | ( (This)->lpVtbl -> GetCompletedValue(This) ) | ||
| 5522 | |||
| 5523 | #define ID3D12Fence_SetEventOnCompletion(This,Value,hEvent) \ | ||
| 5524 | ( (This)->lpVtbl -> SetEventOnCompletion(This,Value,hEvent) ) | ||
| 5525 | |||
| 5526 | #define ID3D12Fence_Signal(This,Value) \ | ||
| 5527 | ( (This)->lpVtbl -> Signal(This,Value) ) | ||
| 5528 | |||
| 5529 | #endif /* COBJMACROS */ | ||
| 5530 | |||
| 5531 | |||
| 5532 | #endif /* C style interface */ | ||
| 5533 | |||
| 5534 | |||
| 5535 | |||
| 5536 | |||
| 5537 | #endif /* __ID3D12Fence_INTERFACE_DEFINED__ */ | ||
| 5538 | |||
| 5539 | |||
| 5540 | #ifndef __ID3D12Fence1_INTERFACE_DEFINED__ | ||
| 5541 | #define __ID3D12Fence1_INTERFACE_DEFINED__ | ||
| 5542 | |||
| 5543 | /* interface ID3D12Fence1 */ | ||
| 5544 | /* [unique][local][object][uuid] */ | ||
| 5545 | |||
| 5546 | |||
| 5547 | EXTERN_C const IID IID_ID3D12Fence1; | ||
| 5548 | |||
| 5549 | #if defined(__cplusplus) && !defined(CINTERFACE) | ||
| 5550 | |||
| 5551 | MIDL_INTERFACE("433685fe-e22b-4ca0-a8db-b5b4f4dd0e4a") | ||
| 5552 | ID3D12Fence1 : public ID3D12Fence | ||
| 5553 | { | ||
| 5554 | public: | ||
| 5555 | virtual D3D12_FENCE_FLAGS STDMETHODCALLTYPE GetCreationFlags( void) = 0; | ||
| 5556 | |||
| 5557 | }; | ||
| 5558 | |||
| 5559 | |||
| 5560 | #else /* C style interface */ | ||
| 5561 | |||
| 5562 | typedef struct ID3D12Fence1Vtbl | ||
| 5563 | { | ||
| 5564 | BEGIN_INTERFACE | ||
| 5565 | |||
| 5566 | DECLSPEC_XFGVIRT(IUnknown, QueryInterface) | ||
| 5567 | HRESULT ( STDMETHODCALLTYPE *QueryInterface )( | ||
| 5568 | ID3D12Fence1 * This, | ||
| 5569 | REFIID riid, | ||
| 5570 | _COM_Outptr_ void **ppvObject); | ||
| 5571 | |||
| 5572 | DECLSPEC_XFGVIRT(IUnknown, AddRef) | ||
| 5573 | ULONG ( STDMETHODCALLTYPE *AddRef )( | ||
| 5574 | ID3D12Fence1 * This); | ||
| 5575 | |||
| 5576 | DECLSPEC_XFGVIRT(IUnknown, Release) | ||
| 5577 | ULONG ( STDMETHODCALLTYPE *Release )( | ||
| 5578 | ID3D12Fence1 * This); | ||
| 5579 | |||
| 5580 | DECLSPEC_XFGVIRT(ID3D12Object, GetPrivateData) | ||
| 5581 | HRESULT ( STDMETHODCALLTYPE *GetPrivateData )( | ||
| 5582 | ID3D12Fence1 * This, | ||
| 5583 | _In_ REFGUID guid, | ||
| 5584 | _Inout_ UINT *pDataSize, | ||
| 5585 | _Out_writes_bytes_opt_( *pDataSize ) void *pData); | ||
| 5586 | |||
| 5587 | DECLSPEC_XFGVIRT(ID3D12Object, SetPrivateData) | ||
| 5588 | HRESULT ( STDMETHODCALLTYPE *SetPrivateData )( | ||
| 5589 | ID3D12Fence1 * This, | ||
| 5590 | _In_ REFGUID guid, | ||
| 5591 | _In_ UINT DataSize, | ||
| 5592 | _In_reads_bytes_opt_( DataSize ) const void *pData); | ||
| 5593 | |||
| 5594 | DECLSPEC_XFGVIRT(ID3D12Object, SetPrivateDataInterface) | ||
| 5595 | HRESULT ( STDMETHODCALLTYPE *SetPrivateDataInterface )( | ||
| 5596 | ID3D12Fence1 * This, | ||
| 5597 | _In_ REFGUID guid, | ||
| 5598 | _In_opt_ const IUnknown *pData); | ||
| 5599 | |||
| 5600 | DECLSPEC_XFGVIRT(ID3D12Object, SetName) | ||
| 5601 | HRESULT ( STDMETHODCALLTYPE *SetName )( | ||
| 5602 | ID3D12Fence1 * This, | ||
| 5603 | _In_z_ LPCWSTR Name); | ||
| 5604 | |||
| 5605 | DECLSPEC_XFGVIRT(ID3D12DeviceChild, GetDevice) | ||
| 5606 | HRESULT ( STDMETHODCALLTYPE *GetDevice )( | ||
| 5607 | ID3D12Fence1 * This, | ||
| 5608 | REFIID riid, | ||
| 5609 | _COM_Outptr_opt_ void **ppvDevice); | ||
| 5610 | |||
| 5611 | DECLSPEC_XFGVIRT(ID3D12Fence, GetCompletedValue) | ||
| 5612 | UINT64 ( STDMETHODCALLTYPE *GetCompletedValue )( | ||
| 5613 | ID3D12Fence1 * This); | ||
| 5614 | |||
| 5615 | DECLSPEC_XFGVIRT(ID3D12Fence, SetEventOnCompletion) | ||
| 5616 | HRESULT ( STDMETHODCALLTYPE *SetEventOnCompletion )( | ||
| 5617 | ID3D12Fence1 * This, | ||
| 5618 | UINT64 Value, | ||
| 5619 | HANDLE hEvent); | ||
| 5620 | |||
| 5621 | DECLSPEC_XFGVIRT(ID3D12Fence, Signal) | ||
| 5622 | HRESULT ( STDMETHODCALLTYPE *Signal )( | ||
| 5623 | ID3D12Fence1 * This, | ||
| 5624 | UINT64 Value); | ||
| 5625 | |||
| 5626 | DECLSPEC_XFGVIRT(ID3D12Fence1, GetCreationFlags) | ||
| 5627 | D3D12_FENCE_FLAGS ( STDMETHODCALLTYPE *GetCreationFlags )( | ||
| 5628 | ID3D12Fence1 * This); | ||
| 5629 | |||
| 5630 | END_INTERFACE | ||
| 5631 | } ID3D12Fence1Vtbl; | ||
| 5632 | |||
| 5633 | interface ID3D12Fence1 | ||
| 5634 | { | ||
| 5635 | CONST_VTBL struct ID3D12Fence1Vtbl *lpVtbl; | ||
| 5636 | }; | ||
| 5637 | |||
| 5638 | |||
| 5639 | |||
| 5640 | #ifdef COBJMACROS | ||
| 5641 | |||
| 5642 | |||
| 5643 | #define ID3D12Fence1_QueryInterface(This,riid,ppvObject) \ | ||
| 5644 | ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) | ||
| 5645 | |||
| 5646 | #define ID3D12Fence1_AddRef(This) \ | ||
| 5647 | ( (This)->lpVtbl -> AddRef(This) ) | ||
| 5648 | |||
| 5649 | #define ID3D12Fence1_Release(This) \ | ||
| 5650 | ( (This)->lpVtbl -> Release(This) ) | ||
| 5651 | |||
| 5652 | |||
| 5653 | #define ID3D12Fence1_GetPrivateData(This,guid,pDataSize,pData) \ | ||
| 5654 | ( (This)->lpVtbl -> GetPrivateData(This,guid,pDataSize,pData) ) | ||
| 5655 | |||
| 5656 | #define ID3D12Fence1_SetPrivateData(This,guid,DataSize,pData) \ | ||
| 5657 | ( (This)->lpVtbl -> SetPrivateData(This,guid,DataSize,pData) ) | ||
| 5658 | |||
| 5659 | #define ID3D12Fence1_SetPrivateDataInterface(This,guid,pData) \ | ||
| 5660 | ( (This)->lpVtbl -> SetPrivateDataInterface(This,guid,pData) ) | ||
| 5661 | |||
| 5662 | #define ID3D12Fence1_SetName(This,Name) \ | ||
| 5663 | ( (This)->lpVtbl -> SetName(This,Name) ) | ||
| 5664 | |||
| 5665 | |||
| 5666 | #define ID3D12Fence1_GetDevice(This,riid,ppvDevice) \ | ||
| 5667 | ( (This)->lpVtbl -> GetDevice(This,riid,ppvDevice) ) | ||
| 5668 | |||
| 5669 | |||
| 5670 | |||
| 5671 | #define ID3D12Fence1_GetCompletedValue(This) \ | ||
| 5672 | ( (This)->lpVtbl -> GetCompletedValue(This) ) | ||
| 5673 | |||
| 5674 | #define ID3D12Fence1_SetEventOnCompletion(This,Value,hEvent) \ | ||
| 5675 | ( (This)->lpVtbl -> SetEventOnCompletion(This,Value,hEvent) ) | ||
| 5676 | |||
| 5677 | #define ID3D12Fence1_Signal(This,Value) \ | ||
| 5678 | ( (This)->lpVtbl -> Signal(This,Value) ) | ||
| 5679 | |||
| 5680 | |||
| 5681 | #define ID3D12Fence1_GetCreationFlags(This) \ | ||
| 5682 | ( (This)->lpVtbl -> GetCreationFlags(This) ) | ||
| 5683 | |||
| 5684 | #endif /* COBJMACROS */ | ||
| 5685 | |||
| 5686 | |||
| 5687 | #endif /* C style interface */ | ||
| 5688 | |||
| 5689 | |||
| 5690 | |||
| 5691 | |||
| 5692 | #endif /* __ID3D12Fence1_INTERFACE_DEFINED__ */ | ||
| 5693 | |||
| 5694 | |||
| 5695 | #ifndef __ID3D12PipelineState_INTERFACE_DEFINED__ | ||
| 5696 | #define __ID3D12PipelineState_INTERFACE_DEFINED__ | ||
| 5697 | |||
| 5698 | /* interface ID3D12PipelineState */ | ||
| 5699 | /* [unique][local][object][uuid] */ | ||
| 5700 | |||
| 5701 | |||
| 5702 | EXTERN_C const IID IID_ID3D12PipelineState; | ||
| 5703 | |||
| 5704 | #if defined(__cplusplus) && !defined(CINTERFACE) | ||
| 5705 | |||
| 5706 | MIDL_INTERFACE("765a30f3-f624-4c6f-a828-ace948622445") | ||
| 5707 | ID3D12PipelineState : public ID3D12Pageable | ||
| 5708 | { | ||
| 5709 | public: | ||
| 5710 | virtual HRESULT STDMETHODCALLTYPE GetCachedBlob( | ||
| 5711 | _COM_Outptr_ ID3DBlob **ppBlob) = 0; | ||
| 5712 | |||
| 5713 | }; | ||
| 5714 | |||
| 5715 | |||
| 5716 | #else /* C style interface */ | ||
| 5717 | |||
| 5718 | typedef struct ID3D12PipelineStateVtbl | ||
| 5719 | { | ||
| 5720 | BEGIN_INTERFACE | ||
| 5721 | |||
| 5722 | DECLSPEC_XFGVIRT(IUnknown, QueryInterface) | ||
| 5723 | HRESULT ( STDMETHODCALLTYPE *QueryInterface )( | ||
| 5724 | ID3D12PipelineState * This, | ||
| 5725 | REFIID riid, | ||
| 5726 | _COM_Outptr_ void **ppvObject); | ||
| 5727 | |||
| 5728 | DECLSPEC_XFGVIRT(IUnknown, AddRef) | ||
| 5729 | ULONG ( STDMETHODCALLTYPE *AddRef )( | ||
| 5730 | ID3D12PipelineState * This); | ||
| 5731 | |||
| 5732 | DECLSPEC_XFGVIRT(IUnknown, Release) | ||
| 5733 | ULONG ( STDMETHODCALLTYPE *Release )( | ||
| 5734 | ID3D12PipelineState * This); | ||
| 5735 | |||
| 5736 | DECLSPEC_XFGVIRT(ID3D12Object, GetPrivateData) | ||
| 5737 | HRESULT ( STDMETHODCALLTYPE *GetPrivateData )( | ||
| 5738 | ID3D12PipelineState * This, | ||
| 5739 | _In_ REFGUID guid, | ||
| 5740 | _Inout_ UINT *pDataSize, | ||
| 5741 | _Out_writes_bytes_opt_( *pDataSize ) void *pData); | ||
| 5742 | |||
| 5743 | DECLSPEC_XFGVIRT(ID3D12Object, SetPrivateData) | ||
| 5744 | HRESULT ( STDMETHODCALLTYPE *SetPrivateData )( | ||
| 5745 | ID3D12PipelineState * This, | ||
| 5746 | _In_ REFGUID guid, | ||
| 5747 | _In_ UINT DataSize, | ||
| 5748 | _In_reads_bytes_opt_( DataSize ) const void *pData); | ||
| 5749 | |||
| 5750 | DECLSPEC_XFGVIRT(ID3D12Object, SetPrivateDataInterface) | ||
| 5751 | HRESULT ( STDMETHODCALLTYPE *SetPrivateDataInterface )( | ||
| 5752 | ID3D12PipelineState * This, | ||
| 5753 | _In_ REFGUID guid, | ||
| 5754 | _In_opt_ const IUnknown *pData); | ||
| 5755 | |||
| 5756 | DECLSPEC_XFGVIRT(ID3D12Object, SetName) | ||
| 5757 | HRESULT ( STDMETHODCALLTYPE *SetName )( | ||
| 5758 | ID3D12PipelineState * This, | ||
| 5759 | _In_z_ LPCWSTR Name); | ||
| 5760 | |||
| 5761 | DECLSPEC_XFGVIRT(ID3D12DeviceChild, GetDevice) | ||
| 5762 | HRESULT ( STDMETHODCALLTYPE *GetDevice )( | ||
| 5763 | ID3D12PipelineState * This, | ||
| 5764 | REFIID riid, | ||
| 5765 | _COM_Outptr_opt_ void **ppvDevice); | ||
| 5766 | |||
| 5767 | DECLSPEC_XFGVIRT(ID3D12PipelineState, GetCachedBlob) | ||
| 5768 | HRESULT ( STDMETHODCALLTYPE *GetCachedBlob )( | ||
| 5769 | ID3D12PipelineState * This, | ||
| 5770 | _COM_Outptr_ ID3DBlob **ppBlob); | ||
| 5771 | |||
| 5772 | END_INTERFACE | ||
| 5773 | } ID3D12PipelineStateVtbl; | ||
| 5774 | |||
| 5775 | interface ID3D12PipelineState | ||
| 5776 | { | ||
| 5777 | CONST_VTBL struct ID3D12PipelineStateVtbl *lpVtbl; | ||
| 5778 | }; | ||
| 5779 | |||
| 5780 | |||
| 5781 | |||
| 5782 | #ifdef COBJMACROS | ||
| 5783 | |||
| 5784 | |||
| 5785 | #define ID3D12PipelineState_QueryInterface(This,riid,ppvObject) \ | ||
| 5786 | ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) | ||
| 5787 | |||
| 5788 | #define ID3D12PipelineState_AddRef(This) \ | ||
| 5789 | ( (This)->lpVtbl -> AddRef(This) ) | ||
| 5790 | |||
| 5791 | #define ID3D12PipelineState_Release(This) \ | ||
| 5792 | ( (This)->lpVtbl -> Release(This) ) | ||
| 5793 | |||
| 5794 | |||
| 5795 | #define ID3D12PipelineState_GetPrivateData(This,guid,pDataSize,pData) \ | ||
| 5796 | ( (This)->lpVtbl -> GetPrivateData(This,guid,pDataSize,pData) ) | ||
| 5797 | |||
| 5798 | #define ID3D12PipelineState_SetPrivateData(This,guid,DataSize,pData) \ | ||
| 5799 | ( (This)->lpVtbl -> SetPrivateData(This,guid,DataSize,pData) ) | ||
| 5800 | |||
| 5801 | #define ID3D12PipelineState_SetPrivateDataInterface(This,guid,pData) \ | ||
| 5802 | ( (This)->lpVtbl -> SetPrivateDataInterface(This,guid,pData) ) | ||
| 5803 | |||
| 5804 | #define ID3D12PipelineState_SetName(This,Name) \ | ||
| 5805 | ( (This)->lpVtbl -> SetName(This,Name) ) | ||
| 5806 | |||
| 5807 | |||
| 5808 | #define ID3D12PipelineState_GetDevice(This,riid,ppvDevice) \ | ||
| 5809 | ( (This)->lpVtbl -> GetDevice(This,riid,ppvDevice) ) | ||
| 5810 | |||
| 5811 | |||
| 5812 | |||
| 5813 | #define ID3D12PipelineState_GetCachedBlob(This,ppBlob) \ | ||
| 5814 | ( (This)->lpVtbl -> GetCachedBlob(This,ppBlob) ) | ||
| 5815 | |||
| 5816 | #endif /* COBJMACROS */ | ||
| 5817 | |||
| 5818 | |||
| 5819 | #endif /* C style interface */ | ||
| 5820 | |||
| 5821 | |||
| 5822 | |||
| 5823 | |||
| 5824 | #endif /* __ID3D12PipelineState_INTERFACE_DEFINED__ */ | ||
| 5825 | |||
| 5826 | |||
| 5827 | #ifndef __ID3D12PipelineState1_INTERFACE_DEFINED__ | ||
| 5828 | #define __ID3D12PipelineState1_INTERFACE_DEFINED__ | ||
| 5829 | |||
| 5830 | /* interface ID3D12PipelineState1 */ | ||
| 5831 | /* [unique][local][object][uuid] */ | ||
| 5832 | |||
| 5833 | |||
| 5834 | EXTERN_C const IID IID_ID3D12PipelineState1; | ||
| 5835 | |||
| 5836 | #if defined(__cplusplus) && !defined(CINTERFACE) | ||
| 5837 | |||
| 5838 | MIDL_INTERFACE("5646804c-9638-48f7-9182-b3ee5a6b60fb") | ||
| 5839 | ID3D12PipelineState1 : public ID3D12PipelineState | ||
| 5840 | { | ||
| 5841 | public: | ||
| 5842 | virtual HRESULT STDMETHODCALLTYPE GetRootSignature( | ||
| 5843 | REFIID riid, | ||
| 5844 | _COM_Outptr_ void **ppvRootSignature) = 0; | ||
| 5845 | |||
| 5846 | }; | ||
| 5847 | |||
| 5848 | |||
| 5849 | #else /* C style interface */ | ||
| 5850 | |||
| 5851 | typedef struct ID3D12PipelineState1Vtbl | ||
| 5852 | { | ||
| 5853 | BEGIN_INTERFACE | ||
| 5854 | |||
| 5855 | DECLSPEC_XFGVIRT(IUnknown, QueryInterface) | ||
| 5856 | HRESULT ( STDMETHODCALLTYPE *QueryInterface )( | ||
| 5857 | ID3D12PipelineState1 * This, | ||
| 5858 | REFIID riid, | ||
| 5859 | _COM_Outptr_ void **ppvObject); | ||
| 5860 | |||
| 5861 | DECLSPEC_XFGVIRT(IUnknown, AddRef) | ||
| 5862 | ULONG ( STDMETHODCALLTYPE *AddRef )( | ||
| 5863 | ID3D12PipelineState1 * This); | ||
| 5864 | |||
| 5865 | DECLSPEC_XFGVIRT(IUnknown, Release) | ||
| 5866 | ULONG ( STDMETHODCALLTYPE *Release )( | ||
| 5867 | ID3D12PipelineState1 * This); | ||
| 5868 | |||
| 5869 | DECLSPEC_XFGVIRT(ID3D12Object, GetPrivateData) | ||
| 5870 | HRESULT ( STDMETHODCALLTYPE *GetPrivateData )( | ||
| 5871 | ID3D12PipelineState1 * This, | ||
| 5872 | _In_ REFGUID guid, | ||
| 5873 | _Inout_ UINT *pDataSize, | ||
| 5874 | _Out_writes_bytes_opt_( *pDataSize ) void *pData); | ||
| 5875 | |||
| 5876 | DECLSPEC_XFGVIRT(ID3D12Object, SetPrivateData) | ||
| 5877 | HRESULT ( STDMETHODCALLTYPE *SetPrivateData )( | ||
| 5878 | ID3D12PipelineState1 * This, | ||
| 5879 | _In_ REFGUID guid, | ||
| 5880 | _In_ UINT DataSize, | ||
| 5881 | _In_reads_bytes_opt_( DataSize ) const void *pData); | ||
| 5882 | |||
| 5883 | DECLSPEC_XFGVIRT(ID3D12Object, SetPrivateDataInterface) | ||
| 5884 | HRESULT ( STDMETHODCALLTYPE *SetPrivateDataInterface )( | ||
| 5885 | ID3D12PipelineState1 * This, | ||
| 5886 | _In_ REFGUID guid, | ||
| 5887 | _In_opt_ const IUnknown *pData); | ||
| 5888 | |||
| 5889 | DECLSPEC_XFGVIRT(ID3D12Object, SetName) | ||
| 5890 | HRESULT ( STDMETHODCALLTYPE *SetName )( | ||
| 5891 | ID3D12PipelineState1 * This, | ||
| 5892 | _In_z_ LPCWSTR Name); | ||
| 5893 | |||
| 5894 | DECLSPEC_XFGVIRT(ID3D12DeviceChild, GetDevice) | ||
| 5895 | HRESULT ( STDMETHODCALLTYPE *GetDevice )( | ||
| 5896 | ID3D12PipelineState1 * This, | ||
| 5897 | REFIID riid, | ||
| 5898 | _COM_Outptr_opt_ void **ppvDevice); | ||
| 5899 | |||
| 5900 | DECLSPEC_XFGVIRT(ID3D12PipelineState, GetCachedBlob) | ||
| 5901 | HRESULT ( STDMETHODCALLTYPE *GetCachedBlob )( | ||
| 5902 | ID3D12PipelineState1 * This, | ||
| 5903 | _COM_Outptr_ ID3DBlob **ppBlob); | ||
| 5904 | |||
| 5905 | DECLSPEC_XFGVIRT(ID3D12PipelineState1, GetRootSignature) | ||
| 5906 | HRESULT ( STDMETHODCALLTYPE *GetRootSignature )( | ||
| 5907 | ID3D12PipelineState1 * This, | ||
| 5908 | REFIID riid, | ||
| 5909 | _COM_Outptr_ void **ppvRootSignature); | ||
| 5910 | |||
| 5911 | END_INTERFACE | ||
| 5912 | } ID3D12PipelineState1Vtbl; | ||
| 5913 | |||
| 5914 | interface ID3D12PipelineState1 | ||
| 5915 | { | ||
| 5916 | CONST_VTBL struct ID3D12PipelineState1Vtbl *lpVtbl; | ||
| 5917 | }; | ||
| 5918 | |||
| 5919 | |||
| 5920 | |||
| 5921 | #ifdef COBJMACROS | ||
| 5922 | |||
| 5923 | |||
| 5924 | #define ID3D12PipelineState1_QueryInterface(This,riid,ppvObject) \ | ||
| 5925 | ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) | ||
| 5926 | |||
| 5927 | #define ID3D12PipelineState1_AddRef(This) \ | ||
| 5928 | ( (This)->lpVtbl -> AddRef(This) ) | ||
| 5929 | |||
| 5930 | #define ID3D12PipelineState1_Release(This) \ | ||
| 5931 | ( (This)->lpVtbl -> Release(This) ) | ||
| 5932 | |||
| 5933 | |||
| 5934 | #define ID3D12PipelineState1_GetPrivateData(This,guid,pDataSize,pData) \ | ||
| 5935 | ( (This)->lpVtbl -> GetPrivateData(This,guid,pDataSize,pData) ) | ||
| 5936 | |||
| 5937 | #define ID3D12PipelineState1_SetPrivateData(This,guid,DataSize,pData) \ | ||
| 5938 | ( (This)->lpVtbl -> SetPrivateData(This,guid,DataSize,pData) ) | ||
| 5939 | |||
| 5940 | #define ID3D12PipelineState1_SetPrivateDataInterface(This,guid,pData) \ | ||
| 5941 | ( (This)->lpVtbl -> SetPrivateDataInterface(This,guid,pData) ) | ||
| 5942 | |||
| 5943 | #define ID3D12PipelineState1_SetName(This,Name) \ | ||
| 5944 | ( (This)->lpVtbl -> SetName(This,Name) ) | ||
| 5945 | |||
| 5946 | |||
| 5947 | #define ID3D12PipelineState1_GetDevice(This,riid,ppvDevice) \ | ||
| 5948 | ( (This)->lpVtbl -> GetDevice(This,riid,ppvDevice) ) | ||
| 5949 | |||
| 5950 | |||
| 5951 | |||
| 5952 | #define ID3D12PipelineState1_GetCachedBlob(This,ppBlob) \ | ||
| 5953 | ( (This)->lpVtbl -> GetCachedBlob(This,ppBlob) ) | ||
| 5954 | |||
| 5955 | |||
| 5956 | #define ID3D12PipelineState1_GetRootSignature(This,riid,ppvRootSignature) \ | ||
| 5957 | ( (This)->lpVtbl -> GetRootSignature(This,riid,ppvRootSignature) ) | ||
| 5958 | |||
| 5959 | #endif /* COBJMACROS */ | ||
| 5960 | |||
| 5961 | |||
| 5962 | #endif /* C style interface */ | ||
| 5963 | |||
| 5964 | |||
| 5965 | |||
| 5966 | |||
| 5967 | #endif /* __ID3D12PipelineState1_INTERFACE_DEFINED__ */ | ||
| 5968 | |||
| 5969 | |||
| 5970 | #ifndef __ID3D12DescriptorHeap_INTERFACE_DEFINED__ | ||
| 5971 | #define __ID3D12DescriptorHeap_INTERFACE_DEFINED__ | ||
| 5972 | |||
| 5973 | /* interface ID3D12DescriptorHeap */ | ||
| 5974 | /* [unique][local][object][uuid] */ | ||
| 5975 | |||
| 5976 | |||
| 5977 | EXTERN_C const IID IID_ID3D12DescriptorHeap; | ||
| 5978 | |||
| 5979 | #if defined(__cplusplus) && !defined(CINTERFACE) | ||
| 5980 | |||
| 5981 | MIDL_INTERFACE("8efb471d-616c-4f49-90f7-127bb763fa51") | ||
| 5982 | ID3D12DescriptorHeap : public ID3D12Pageable | ||
| 5983 | { | ||
| 5984 | public: | ||
| 5985 | #if defined(_MSC_VER) || !defined(_WIN32) | ||
| 5986 | virtual D3D12_DESCRIPTOR_HEAP_DESC STDMETHODCALLTYPE GetDesc( void) = 0; | ||
| 5987 | #else | ||
| 5988 | virtual D3D12_DESCRIPTOR_HEAP_DESC *STDMETHODCALLTYPE GetDesc( | ||
| 5989 | D3D12_DESCRIPTOR_HEAP_DESC * RetVal) = 0; | ||
| 5990 | #endif | ||
| 5991 | |||
| 5992 | #if defined(_MSC_VER) || !defined(_WIN32) | ||
| 5993 | virtual D3D12_CPU_DESCRIPTOR_HANDLE STDMETHODCALLTYPE GetCPUDescriptorHandleForHeapStart( void) = 0; | ||
| 5994 | #else | ||
| 5995 | virtual D3D12_CPU_DESCRIPTOR_HANDLE *STDMETHODCALLTYPE GetCPUDescriptorHandleForHeapStart( | ||
| 5996 | D3D12_CPU_DESCRIPTOR_HANDLE * RetVal) = 0; | ||
| 5997 | #endif | ||
| 5998 | |||
| 5999 | #if defined(_MSC_VER) || !defined(_WIN32) | ||
| 6000 | virtual D3D12_GPU_DESCRIPTOR_HANDLE STDMETHODCALLTYPE GetGPUDescriptorHandleForHeapStart( void) = 0; | ||
| 6001 | #else | ||
| 6002 | virtual D3D12_GPU_DESCRIPTOR_HANDLE *STDMETHODCALLTYPE GetGPUDescriptorHandleForHeapStart( | ||
| 6003 | D3D12_GPU_DESCRIPTOR_HANDLE * RetVal) = 0; | ||
| 6004 | #endif | ||
| 6005 | |||
| 6006 | }; | ||
| 6007 | |||
| 6008 | |||
| 6009 | #else /* C style interface */ | ||
| 6010 | |||
| 6011 | typedef struct ID3D12DescriptorHeapVtbl | ||
| 6012 | { | ||
| 6013 | BEGIN_INTERFACE | ||
| 6014 | |||
| 6015 | DECLSPEC_XFGVIRT(IUnknown, QueryInterface) | ||
| 6016 | HRESULT ( STDMETHODCALLTYPE *QueryInterface )( | ||
| 6017 | ID3D12DescriptorHeap * This, | ||
| 6018 | REFIID riid, | ||
| 6019 | _COM_Outptr_ void **ppvObject); | ||
| 6020 | |||
| 6021 | DECLSPEC_XFGVIRT(IUnknown, AddRef) | ||
| 6022 | ULONG ( STDMETHODCALLTYPE *AddRef )( | ||
| 6023 | ID3D12DescriptorHeap * This); | ||
| 6024 | |||
| 6025 | DECLSPEC_XFGVIRT(IUnknown, Release) | ||
| 6026 | ULONG ( STDMETHODCALLTYPE *Release )( | ||
| 6027 | ID3D12DescriptorHeap * This); | ||
| 6028 | |||
| 6029 | DECLSPEC_XFGVIRT(ID3D12Object, GetPrivateData) | ||
| 6030 | HRESULT ( STDMETHODCALLTYPE *GetPrivateData )( | ||
| 6031 | ID3D12DescriptorHeap * This, | ||
| 6032 | _In_ REFGUID guid, | ||
| 6033 | _Inout_ UINT *pDataSize, | ||
| 6034 | _Out_writes_bytes_opt_( *pDataSize ) void *pData); | ||
| 6035 | |||
| 6036 | DECLSPEC_XFGVIRT(ID3D12Object, SetPrivateData) | ||
| 6037 | HRESULT ( STDMETHODCALLTYPE *SetPrivateData )( | ||
| 6038 | ID3D12DescriptorHeap * This, | ||
| 6039 | _In_ REFGUID guid, | ||
| 6040 | _In_ UINT DataSize, | ||
| 6041 | _In_reads_bytes_opt_( DataSize ) const void *pData); | ||
| 6042 | |||
| 6043 | DECLSPEC_XFGVIRT(ID3D12Object, SetPrivateDataInterface) | ||
| 6044 | HRESULT ( STDMETHODCALLTYPE *SetPrivateDataInterface )( | ||
| 6045 | ID3D12DescriptorHeap * This, | ||
| 6046 | _In_ REFGUID guid, | ||
| 6047 | _In_opt_ const IUnknown *pData); | ||
| 6048 | |||
| 6049 | DECLSPEC_XFGVIRT(ID3D12Object, SetName) | ||
| 6050 | HRESULT ( STDMETHODCALLTYPE *SetName )( | ||
| 6051 | ID3D12DescriptorHeap * This, | ||
| 6052 | _In_z_ LPCWSTR Name); | ||
| 6053 | |||
| 6054 | DECLSPEC_XFGVIRT(ID3D12DeviceChild, GetDevice) | ||
| 6055 | HRESULT ( STDMETHODCALLTYPE *GetDevice )( | ||
| 6056 | ID3D12DescriptorHeap * This, | ||
| 6057 | REFIID riid, | ||
| 6058 | _COM_Outptr_opt_ void **ppvDevice); | ||
| 6059 | |||
| 6060 | DECLSPEC_XFGVIRT(ID3D12DescriptorHeap, GetDesc) | ||
| 6061 | #if !defined(_WIN32) | ||
| 6062 | D3D12_DESCRIPTOR_HEAP_DESC ( STDMETHODCALLTYPE *GetDesc )( | ||
| 6063 | ID3D12DescriptorHeap * This); | ||
| 6064 | |||
| 6065 | #else | ||
| 6066 | D3D12_DESCRIPTOR_HEAP_DESC *( STDMETHODCALLTYPE *GetDesc )( | ||
| 6067 | ID3D12DescriptorHeap * This, | ||
| 6068 | D3D12_DESCRIPTOR_HEAP_DESC * RetVal); | ||
| 6069 | |||
| 6070 | #endif | ||
| 6071 | |||
| 6072 | DECLSPEC_XFGVIRT(ID3D12DescriptorHeap, GetCPUDescriptorHandleForHeapStart) | ||
| 6073 | #if !defined(_WIN32) | ||
| 6074 | D3D12_CPU_DESCRIPTOR_HANDLE ( STDMETHODCALLTYPE *GetCPUDescriptorHandleForHeapStart )( | ||
| 6075 | ID3D12DescriptorHeap * This); | ||
| 6076 | |||
| 6077 | #else | ||
| 6078 | D3D12_CPU_DESCRIPTOR_HANDLE *( STDMETHODCALLTYPE *GetCPUDescriptorHandleForHeapStart )( | ||
| 6079 | ID3D12DescriptorHeap * This, | ||
| 6080 | D3D12_CPU_DESCRIPTOR_HANDLE * RetVal); | ||
| 6081 | |||
| 6082 | #endif | ||
| 6083 | |||
| 6084 | DECLSPEC_XFGVIRT(ID3D12DescriptorHeap, GetGPUDescriptorHandleForHeapStart) | ||
| 6085 | #if !defined(_WIN32) | ||
| 6086 | D3D12_GPU_DESCRIPTOR_HANDLE ( STDMETHODCALLTYPE *GetGPUDescriptorHandleForHeapStart )( | ||
| 6087 | ID3D12DescriptorHeap * This); | ||
| 6088 | |||
| 6089 | #else | ||
| 6090 | D3D12_GPU_DESCRIPTOR_HANDLE *( STDMETHODCALLTYPE *GetGPUDescriptorHandleForHeapStart )( | ||
| 6091 | ID3D12DescriptorHeap * This, | ||
| 6092 | D3D12_GPU_DESCRIPTOR_HANDLE * RetVal); | ||
| 6093 | |||
| 6094 | #endif | ||
| 6095 | |||
| 6096 | END_INTERFACE | ||
| 6097 | } ID3D12DescriptorHeapVtbl; | ||
| 6098 | |||
| 6099 | interface ID3D12DescriptorHeap | ||
| 6100 | { | ||
| 6101 | CONST_VTBL struct ID3D12DescriptorHeapVtbl *lpVtbl; | ||
| 6102 | }; | ||
| 6103 | |||
| 6104 | |||
| 6105 | |||
| 6106 | #ifdef COBJMACROS | ||
| 6107 | |||
| 6108 | |||
| 6109 | #define ID3D12DescriptorHeap_QueryInterface(This,riid,ppvObject) \ | ||
| 6110 | ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) | ||
| 6111 | |||
| 6112 | #define ID3D12DescriptorHeap_AddRef(This) \ | ||
| 6113 | ( (This)->lpVtbl -> AddRef(This) ) | ||
| 6114 | |||
| 6115 | #define ID3D12DescriptorHeap_Release(This) \ | ||
| 6116 | ( (This)->lpVtbl -> Release(This) ) | ||
| 6117 | |||
| 6118 | |||
| 6119 | #define ID3D12DescriptorHeap_GetPrivateData(This,guid,pDataSize,pData) \ | ||
| 6120 | ( (This)->lpVtbl -> GetPrivateData(This,guid,pDataSize,pData) ) | ||
| 6121 | |||
| 6122 | #define ID3D12DescriptorHeap_SetPrivateData(This,guid,DataSize,pData) \ | ||
| 6123 | ( (This)->lpVtbl -> SetPrivateData(This,guid,DataSize,pData) ) | ||
| 6124 | |||
| 6125 | #define ID3D12DescriptorHeap_SetPrivateDataInterface(This,guid,pData) \ | ||
| 6126 | ( (This)->lpVtbl -> SetPrivateDataInterface(This,guid,pData) ) | ||
| 6127 | |||
| 6128 | #define ID3D12DescriptorHeap_SetName(This,Name) \ | ||
| 6129 | ( (This)->lpVtbl -> SetName(This,Name) ) | ||
| 6130 | |||
| 6131 | |||
| 6132 | #define ID3D12DescriptorHeap_GetDevice(This,riid,ppvDevice) \ | ||
| 6133 | ( (This)->lpVtbl -> GetDevice(This,riid,ppvDevice) ) | ||
| 6134 | |||
| 6135 | |||
| 6136 | #if !defined(_WIN32) | ||
| 6137 | |||
| 6138 | #define ID3D12DescriptorHeap_GetDesc(This) \ | ||
| 6139 | ( (This)->lpVtbl -> GetDesc(This) ) | ||
| 6140 | #else | ||
| 6141 | #define ID3D12DescriptorHeap_GetDesc(This,RetVal) \ | ||
| 6142 | ( (This)->lpVtbl -> GetDesc(This,RetVal) ) | ||
| 6143 | #endif | ||
| 6144 | #if !defined(_WIN32) | ||
| 6145 | |||
| 6146 | #define ID3D12DescriptorHeap_GetCPUDescriptorHandleForHeapStart(This) \ | ||
| 6147 | ( (This)->lpVtbl -> GetCPUDescriptorHandleForHeapStart(This) ) | ||
| 6148 | #else | ||
| 6149 | #define ID3D12DescriptorHeap_GetCPUDescriptorHandleForHeapStart(This,RetVal) \ | ||
| 6150 | ( (This)->lpVtbl -> GetCPUDescriptorHandleForHeapStart(This,RetVal) ) | ||
| 6151 | #endif | ||
| 6152 | #if !defined(_WIN32) | ||
| 6153 | |||
| 6154 | #define ID3D12DescriptorHeap_GetGPUDescriptorHandleForHeapStart(This) \ | ||
| 6155 | ( (This)->lpVtbl -> GetGPUDescriptorHandleForHeapStart(This) ) | ||
| 6156 | #else | ||
| 6157 | #define ID3D12DescriptorHeap_GetGPUDescriptorHandleForHeapStart(This,RetVal) \ | ||
| 6158 | ( (This)->lpVtbl -> GetGPUDescriptorHandleForHeapStart(This,RetVal) ) | ||
| 6159 | #endif | ||
| 6160 | |||
| 6161 | #endif /* COBJMACROS */ | ||
| 6162 | |||
| 6163 | |||
| 6164 | #endif /* C style interface */ | ||
| 6165 | |||
| 6166 | |||
| 6167 | |||
| 6168 | |||
| 6169 | #endif /* __ID3D12DescriptorHeap_INTERFACE_DEFINED__ */ | ||
| 6170 | |||
| 6171 | |||
| 6172 | #ifndef __ID3D12QueryHeap_INTERFACE_DEFINED__ | ||
| 6173 | #define __ID3D12QueryHeap_INTERFACE_DEFINED__ | ||
| 6174 | |||
| 6175 | /* interface ID3D12QueryHeap */ | ||
| 6176 | /* [unique][local][object][uuid] */ | ||
| 6177 | |||
| 6178 | |||
| 6179 | EXTERN_C const IID IID_ID3D12QueryHeap; | ||
| 6180 | |||
| 6181 | #if defined(__cplusplus) && !defined(CINTERFACE) | ||
| 6182 | |||
| 6183 | MIDL_INTERFACE("0d9658ae-ed45-469e-a61d-970ec583cab4") | ||
| 6184 | ID3D12QueryHeap : public ID3D12Pageable | ||
| 6185 | { | ||
| 6186 | public: | ||
| 6187 | }; | ||
| 6188 | |||
| 6189 | |||
| 6190 | #else /* C style interface */ | ||
| 6191 | |||
| 6192 | typedef struct ID3D12QueryHeapVtbl | ||
| 6193 | { | ||
| 6194 | BEGIN_INTERFACE | ||
| 6195 | |||
| 6196 | DECLSPEC_XFGVIRT(IUnknown, QueryInterface) | ||
| 6197 | HRESULT ( STDMETHODCALLTYPE *QueryInterface )( | ||
| 6198 | ID3D12QueryHeap * This, | ||
| 6199 | REFIID riid, | ||
| 6200 | _COM_Outptr_ void **ppvObject); | ||
| 6201 | |||
| 6202 | DECLSPEC_XFGVIRT(IUnknown, AddRef) | ||
| 6203 | ULONG ( STDMETHODCALLTYPE *AddRef )( | ||
| 6204 | ID3D12QueryHeap * This); | ||
| 6205 | |||
| 6206 | DECLSPEC_XFGVIRT(IUnknown, Release) | ||
| 6207 | ULONG ( STDMETHODCALLTYPE *Release )( | ||
| 6208 | ID3D12QueryHeap * This); | ||
| 6209 | |||
| 6210 | DECLSPEC_XFGVIRT(ID3D12Object, GetPrivateData) | ||
| 6211 | HRESULT ( STDMETHODCALLTYPE *GetPrivateData )( | ||
| 6212 | ID3D12QueryHeap * This, | ||
| 6213 | _In_ REFGUID guid, | ||
| 6214 | _Inout_ UINT *pDataSize, | ||
| 6215 | _Out_writes_bytes_opt_( *pDataSize ) void *pData); | ||
| 6216 | |||
| 6217 | DECLSPEC_XFGVIRT(ID3D12Object, SetPrivateData) | ||
| 6218 | HRESULT ( STDMETHODCALLTYPE *SetPrivateData )( | ||
| 6219 | ID3D12QueryHeap * This, | ||
| 6220 | _In_ REFGUID guid, | ||
| 6221 | _In_ UINT DataSize, | ||
| 6222 | _In_reads_bytes_opt_( DataSize ) const void *pData); | ||
| 6223 | |||
| 6224 | DECLSPEC_XFGVIRT(ID3D12Object, SetPrivateDataInterface) | ||
| 6225 | HRESULT ( STDMETHODCALLTYPE *SetPrivateDataInterface )( | ||
| 6226 | ID3D12QueryHeap * This, | ||
| 6227 | _In_ REFGUID guid, | ||
| 6228 | _In_opt_ const IUnknown *pData); | ||
| 6229 | |||
| 6230 | DECLSPEC_XFGVIRT(ID3D12Object, SetName) | ||
| 6231 | HRESULT ( STDMETHODCALLTYPE *SetName )( | ||
| 6232 | ID3D12QueryHeap * This, | ||
| 6233 | _In_z_ LPCWSTR Name); | ||
| 6234 | |||
| 6235 | DECLSPEC_XFGVIRT(ID3D12DeviceChild, GetDevice) | ||
| 6236 | HRESULT ( STDMETHODCALLTYPE *GetDevice )( | ||
| 6237 | ID3D12QueryHeap * This, | ||
| 6238 | REFIID riid, | ||
| 6239 | _COM_Outptr_opt_ void **ppvDevice); | ||
| 6240 | |||
| 6241 | END_INTERFACE | ||
| 6242 | } ID3D12QueryHeapVtbl; | ||
| 6243 | |||
| 6244 | interface ID3D12QueryHeap | ||
| 6245 | { | ||
| 6246 | CONST_VTBL struct ID3D12QueryHeapVtbl *lpVtbl; | ||
| 6247 | }; | ||
| 6248 | |||
| 6249 | |||
| 6250 | |||
| 6251 | #ifdef COBJMACROS | ||
| 6252 | |||
| 6253 | |||
| 6254 | #define ID3D12QueryHeap_QueryInterface(This,riid,ppvObject) \ | ||
| 6255 | ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) | ||
| 6256 | |||
| 6257 | #define ID3D12QueryHeap_AddRef(This) \ | ||
| 6258 | ( (This)->lpVtbl -> AddRef(This) ) | ||
| 6259 | |||
| 6260 | #define ID3D12QueryHeap_Release(This) \ | ||
| 6261 | ( (This)->lpVtbl -> Release(This) ) | ||
| 6262 | |||
| 6263 | |||
| 6264 | #define ID3D12QueryHeap_GetPrivateData(This,guid,pDataSize,pData) \ | ||
| 6265 | ( (This)->lpVtbl -> GetPrivateData(This,guid,pDataSize,pData) ) | ||
| 6266 | |||
| 6267 | #define ID3D12QueryHeap_SetPrivateData(This,guid,DataSize,pData) \ | ||
| 6268 | ( (This)->lpVtbl -> SetPrivateData(This,guid,DataSize,pData) ) | ||
| 6269 | |||
| 6270 | #define ID3D12QueryHeap_SetPrivateDataInterface(This,guid,pData) \ | ||
| 6271 | ( (This)->lpVtbl -> SetPrivateDataInterface(This,guid,pData) ) | ||
| 6272 | |||
| 6273 | #define ID3D12QueryHeap_SetName(This,Name) \ | ||
| 6274 | ( (This)->lpVtbl -> SetName(This,Name) ) | ||
| 6275 | |||
| 6276 | |||
| 6277 | #define ID3D12QueryHeap_GetDevice(This,riid,ppvDevice) \ | ||
| 6278 | ( (This)->lpVtbl -> GetDevice(This,riid,ppvDevice) ) | ||
| 6279 | |||
| 6280 | |||
| 6281 | |||
| 6282 | #endif /* COBJMACROS */ | ||
| 6283 | |||
| 6284 | |||
| 6285 | #endif /* C style interface */ | ||
| 6286 | |||
| 6287 | |||
| 6288 | |||
| 6289 | |||
| 6290 | #endif /* __ID3D12QueryHeap_INTERFACE_DEFINED__ */ | ||
| 6291 | |||
| 6292 | |||
| 6293 | #ifndef __ID3D12CommandSignature_INTERFACE_DEFINED__ | ||
| 6294 | #define __ID3D12CommandSignature_INTERFACE_DEFINED__ | ||
| 6295 | |||
| 6296 | /* interface ID3D12CommandSignature */ | ||
| 6297 | /* [unique][local][object][uuid] */ | ||
| 6298 | |||
| 6299 | |||
| 6300 | EXTERN_C const IID IID_ID3D12CommandSignature; | ||
| 6301 | |||
| 6302 | #if defined(__cplusplus) && !defined(CINTERFACE) | ||
| 6303 | |||
| 6304 | MIDL_INTERFACE("c36a797c-ec80-4f0a-8985-a7b2475082d1") | ||
| 6305 | ID3D12CommandSignature : public ID3D12Pageable | ||
| 6306 | { | ||
| 6307 | public: | ||
| 6308 | }; | ||
| 6309 | |||
| 6310 | |||
| 6311 | #else /* C style interface */ | ||
| 6312 | |||
| 6313 | typedef struct ID3D12CommandSignatureVtbl | ||
| 6314 | { | ||
| 6315 | BEGIN_INTERFACE | ||
| 6316 | |||
| 6317 | DECLSPEC_XFGVIRT(IUnknown, QueryInterface) | ||
| 6318 | HRESULT ( STDMETHODCALLTYPE *QueryInterface )( | ||
| 6319 | ID3D12CommandSignature * This, | ||
| 6320 | REFIID riid, | ||
| 6321 | _COM_Outptr_ void **ppvObject); | ||
| 6322 | |||
| 6323 | DECLSPEC_XFGVIRT(IUnknown, AddRef) | ||
| 6324 | ULONG ( STDMETHODCALLTYPE *AddRef )( | ||
| 6325 | ID3D12CommandSignature * This); | ||
| 6326 | |||
| 6327 | DECLSPEC_XFGVIRT(IUnknown, Release) | ||
| 6328 | ULONG ( STDMETHODCALLTYPE *Release )( | ||
| 6329 | ID3D12CommandSignature * This); | ||
| 6330 | |||
| 6331 | DECLSPEC_XFGVIRT(ID3D12Object, GetPrivateData) | ||
| 6332 | HRESULT ( STDMETHODCALLTYPE *GetPrivateData )( | ||
| 6333 | ID3D12CommandSignature * This, | ||
| 6334 | _In_ REFGUID guid, | ||
| 6335 | _Inout_ UINT *pDataSize, | ||
| 6336 | _Out_writes_bytes_opt_( *pDataSize ) void *pData); | ||
| 6337 | |||
| 6338 | DECLSPEC_XFGVIRT(ID3D12Object, SetPrivateData) | ||
| 6339 | HRESULT ( STDMETHODCALLTYPE *SetPrivateData )( | ||
| 6340 | ID3D12CommandSignature * This, | ||
| 6341 | _In_ REFGUID guid, | ||
| 6342 | _In_ UINT DataSize, | ||
| 6343 | _In_reads_bytes_opt_( DataSize ) const void *pData); | ||
| 6344 | |||
| 6345 | DECLSPEC_XFGVIRT(ID3D12Object, SetPrivateDataInterface) | ||
| 6346 | HRESULT ( STDMETHODCALLTYPE *SetPrivateDataInterface )( | ||
| 6347 | ID3D12CommandSignature * This, | ||
| 6348 | _In_ REFGUID guid, | ||
| 6349 | _In_opt_ const IUnknown *pData); | ||
| 6350 | |||
| 6351 | DECLSPEC_XFGVIRT(ID3D12Object, SetName) | ||
| 6352 | HRESULT ( STDMETHODCALLTYPE *SetName )( | ||
| 6353 | ID3D12CommandSignature * This, | ||
| 6354 | _In_z_ LPCWSTR Name); | ||
| 6355 | |||
| 6356 | DECLSPEC_XFGVIRT(ID3D12DeviceChild, GetDevice) | ||
| 6357 | HRESULT ( STDMETHODCALLTYPE *GetDevice )( | ||
| 6358 | ID3D12CommandSignature * This, | ||
| 6359 | REFIID riid, | ||
| 6360 | _COM_Outptr_opt_ void **ppvDevice); | ||
| 6361 | |||
| 6362 | END_INTERFACE | ||
| 6363 | } ID3D12CommandSignatureVtbl; | ||
| 6364 | |||
| 6365 | interface ID3D12CommandSignature | ||
| 6366 | { | ||
| 6367 | CONST_VTBL struct ID3D12CommandSignatureVtbl *lpVtbl; | ||
| 6368 | }; | ||
| 6369 | |||
| 6370 | |||
| 6371 | |||
| 6372 | #ifdef COBJMACROS | ||
| 6373 | |||
| 6374 | |||
| 6375 | #define ID3D12CommandSignature_QueryInterface(This,riid,ppvObject) \ | ||
| 6376 | ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) | ||
| 6377 | |||
| 6378 | #define ID3D12CommandSignature_AddRef(This) \ | ||
| 6379 | ( (This)->lpVtbl -> AddRef(This) ) | ||
| 6380 | |||
| 6381 | #define ID3D12CommandSignature_Release(This) \ | ||
| 6382 | ( (This)->lpVtbl -> Release(This) ) | ||
| 6383 | |||
| 6384 | |||
| 6385 | #define ID3D12CommandSignature_GetPrivateData(This,guid,pDataSize,pData) \ | ||
| 6386 | ( (This)->lpVtbl -> GetPrivateData(This,guid,pDataSize,pData) ) | ||
| 6387 | |||
| 6388 | #define ID3D12CommandSignature_SetPrivateData(This,guid,DataSize,pData) \ | ||
| 6389 | ( (This)->lpVtbl -> SetPrivateData(This,guid,DataSize,pData) ) | ||
| 6390 | |||
| 6391 | #define ID3D12CommandSignature_SetPrivateDataInterface(This,guid,pData) \ | ||
| 6392 | ( (This)->lpVtbl -> SetPrivateDataInterface(This,guid,pData) ) | ||
| 6393 | |||
| 6394 | #define ID3D12CommandSignature_SetName(This,Name) \ | ||
| 6395 | ( (This)->lpVtbl -> SetName(This,Name) ) | ||
| 6396 | |||
| 6397 | |||
| 6398 | #define ID3D12CommandSignature_GetDevice(This,riid,ppvDevice) \ | ||
| 6399 | ( (This)->lpVtbl -> GetDevice(This,riid,ppvDevice) ) | ||
| 6400 | |||
| 6401 | |||
| 6402 | |||
| 6403 | #endif /* COBJMACROS */ | ||
| 6404 | |||
| 6405 | |||
| 6406 | #endif /* C style interface */ | ||
| 6407 | |||
| 6408 | |||
| 6409 | |||
| 6410 | |||
| 6411 | #endif /* __ID3D12CommandSignature_INTERFACE_DEFINED__ */ | ||
| 6412 | |||
| 6413 | |||
| 6414 | #ifndef __ID3D12CommandList_INTERFACE_DEFINED__ | ||
| 6415 | #define __ID3D12CommandList_INTERFACE_DEFINED__ | ||
| 6416 | |||
| 6417 | /* interface ID3D12CommandList */ | ||
| 6418 | /* [unique][local][object][uuid] */ | ||
| 6419 | |||
| 6420 | |||
| 6421 | EXTERN_C const IID IID_ID3D12CommandList; | ||
| 6422 | |||
| 6423 | #if defined(__cplusplus) && !defined(CINTERFACE) | ||
| 6424 | |||
| 6425 | MIDL_INTERFACE("7116d91c-e7e4-47ce-b8c6-ec8168f437e5") | ||
| 6426 | ID3D12CommandList : public ID3D12DeviceChild | ||
| 6427 | { | ||
| 6428 | public: | ||
| 6429 | virtual D3D12_COMMAND_LIST_TYPE STDMETHODCALLTYPE GetType( void) = 0; | ||
| 6430 | |||
| 6431 | }; | ||
| 6432 | |||
| 6433 | |||
| 6434 | #else /* C style interface */ | ||
| 6435 | |||
| 6436 | typedef struct ID3D12CommandListVtbl | ||
| 6437 | { | ||
| 6438 | BEGIN_INTERFACE | ||
| 6439 | |||
| 6440 | DECLSPEC_XFGVIRT(IUnknown, QueryInterface) | ||
| 6441 | HRESULT ( STDMETHODCALLTYPE *QueryInterface )( | ||
| 6442 | ID3D12CommandList * This, | ||
| 6443 | REFIID riid, | ||
| 6444 | _COM_Outptr_ void **ppvObject); | ||
| 6445 | |||
| 6446 | DECLSPEC_XFGVIRT(IUnknown, AddRef) | ||
| 6447 | ULONG ( STDMETHODCALLTYPE *AddRef )( | ||
| 6448 | ID3D12CommandList * This); | ||
| 6449 | |||
| 6450 | DECLSPEC_XFGVIRT(IUnknown, Release) | ||
| 6451 | ULONG ( STDMETHODCALLTYPE *Release )( | ||
| 6452 | ID3D12CommandList * This); | ||
| 6453 | |||
| 6454 | DECLSPEC_XFGVIRT(ID3D12Object, GetPrivateData) | ||
| 6455 | HRESULT ( STDMETHODCALLTYPE *GetPrivateData )( | ||
| 6456 | ID3D12CommandList * This, | ||
| 6457 | _In_ REFGUID guid, | ||
| 6458 | _Inout_ UINT *pDataSize, | ||
| 6459 | _Out_writes_bytes_opt_( *pDataSize ) void *pData); | ||
| 6460 | |||
| 6461 | DECLSPEC_XFGVIRT(ID3D12Object, SetPrivateData) | ||
| 6462 | HRESULT ( STDMETHODCALLTYPE *SetPrivateData )( | ||
| 6463 | ID3D12CommandList * This, | ||
| 6464 | _In_ REFGUID guid, | ||
| 6465 | _In_ UINT DataSize, | ||
| 6466 | _In_reads_bytes_opt_( DataSize ) const void *pData); | ||
| 6467 | |||
| 6468 | DECLSPEC_XFGVIRT(ID3D12Object, SetPrivateDataInterface) | ||
| 6469 | HRESULT ( STDMETHODCALLTYPE *SetPrivateDataInterface )( | ||
| 6470 | ID3D12CommandList * This, | ||
| 6471 | _In_ REFGUID guid, | ||
| 6472 | _In_opt_ const IUnknown *pData); | ||
| 6473 | |||
| 6474 | DECLSPEC_XFGVIRT(ID3D12Object, SetName) | ||
| 6475 | HRESULT ( STDMETHODCALLTYPE *SetName )( | ||
| 6476 | ID3D12CommandList * This, | ||
| 6477 | _In_z_ LPCWSTR Name); | ||
| 6478 | |||
| 6479 | DECLSPEC_XFGVIRT(ID3D12DeviceChild, GetDevice) | ||
| 6480 | HRESULT ( STDMETHODCALLTYPE *GetDevice )( | ||
| 6481 | ID3D12CommandList * This, | ||
| 6482 | REFIID riid, | ||
| 6483 | _COM_Outptr_opt_ void **ppvDevice); | ||
| 6484 | |||
| 6485 | DECLSPEC_XFGVIRT(ID3D12CommandList, GetType) | ||
| 6486 | D3D12_COMMAND_LIST_TYPE ( STDMETHODCALLTYPE *GetType )( | ||
| 6487 | ID3D12CommandList * This); | ||
| 6488 | |||
| 6489 | END_INTERFACE | ||
| 6490 | } ID3D12CommandListVtbl; | ||
| 6491 | |||
| 6492 | interface ID3D12CommandList | ||
| 6493 | { | ||
| 6494 | CONST_VTBL struct ID3D12CommandListVtbl *lpVtbl; | ||
| 6495 | }; | ||
| 6496 | |||
| 6497 | |||
| 6498 | |||
| 6499 | #ifdef COBJMACROS | ||
| 6500 | |||
| 6501 | |||
| 6502 | #define ID3D12CommandList_QueryInterface(This,riid,ppvObject) \ | ||
| 6503 | ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) | ||
| 6504 | |||
| 6505 | #define ID3D12CommandList_AddRef(This) \ | ||
| 6506 | ( (This)->lpVtbl -> AddRef(This) ) | ||
| 6507 | |||
| 6508 | #define ID3D12CommandList_Release(This) \ | ||
| 6509 | ( (This)->lpVtbl -> Release(This) ) | ||
| 6510 | |||
| 6511 | |||
| 6512 | #define ID3D12CommandList_GetPrivateData(This,guid,pDataSize,pData) \ | ||
| 6513 | ( (This)->lpVtbl -> GetPrivateData(This,guid,pDataSize,pData) ) | ||
| 6514 | |||
| 6515 | #define ID3D12CommandList_SetPrivateData(This,guid,DataSize,pData) \ | ||
| 6516 | ( (This)->lpVtbl -> SetPrivateData(This,guid,DataSize,pData) ) | ||
| 6517 | |||
| 6518 | #define ID3D12CommandList_SetPrivateDataInterface(This,guid,pData) \ | ||
| 6519 | ( (This)->lpVtbl -> SetPrivateDataInterface(This,guid,pData) ) | ||
| 6520 | |||
| 6521 | #define ID3D12CommandList_SetName(This,Name) \ | ||
| 6522 | ( (This)->lpVtbl -> SetName(This,Name) ) | ||
| 6523 | |||
| 6524 | |||
| 6525 | #define ID3D12CommandList_GetDevice(This,riid,ppvDevice) \ | ||
| 6526 | ( (This)->lpVtbl -> GetDevice(This,riid,ppvDevice) ) | ||
| 6527 | |||
| 6528 | |||
| 6529 | #define ID3D12CommandList_GetType(This) \ | ||
| 6530 | ( (This)->lpVtbl -> GetType(This) ) | ||
| 6531 | |||
| 6532 | #endif /* COBJMACROS */ | ||
| 6533 | |||
| 6534 | |||
| 6535 | #endif /* C style interface */ | ||
| 6536 | |||
| 6537 | |||
| 6538 | |||
| 6539 | |||
| 6540 | #endif /* __ID3D12CommandList_INTERFACE_DEFINED__ */ | ||
| 6541 | |||
| 6542 | |||
| 6543 | #ifndef __ID3D12GraphicsCommandList_INTERFACE_DEFINED__ | ||
| 6544 | #define __ID3D12GraphicsCommandList_INTERFACE_DEFINED__ | ||
| 6545 | |||
| 6546 | /* interface ID3D12GraphicsCommandList */ | ||
| 6547 | /* [unique][local][object][uuid] */ | ||
| 6548 | |||
| 6549 | |||
| 6550 | EXTERN_C const IID IID_ID3D12GraphicsCommandList; | ||
| 6551 | |||
| 6552 | #if defined(__cplusplus) && !defined(CINTERFACE) | ||
| 6553 | |||
| 6554 | MIDL_INTERFACE("5b160d0f-ac1b-4185-8ba8-b3ae42a5a455") | ||
| 6555 | ID3D12GraphicsCommandList : public ID3D12CommandList | ||
| 6556 | { | ||
| 6557 | public: | ||
| 6558 | virtual HRESULT STDMETHODCALLTYPE Close( void) = 0; | ||
| 6559 | |||
| 6560 | virtual HRESULT STDMETHODCALLTYPE Reset( | ||
| 6561 | _In_ ID3D12CommandAllocator *pAllocator, | ||
| 6562 | _In_opt_ ID3D12PipelineState *pInitialState) = 0; | ||
| 6563 | |||
| 6564 | virtual void STDMETHODCALLTYPE ClearState( | ||
| 6565 | _In_opt_ ID3D12PipelineState *pPipelineState) = 0; | ||
| 6566 | |||
| 6567 | virtual void STDMETHODCALLTYPE DrawInstanced( | ||
| 6568 | _In_ UINT VertexCountPerInstance, | ||
| 6569 | _In_ UINT InstanceCount, | ||
| 6570 | _In_ UINT StartVertexLocation, | ||
| 6571 | _In_ UINT StartInstanceLocation) = 0; | ||
| 6572 | |||
| 6573 | virtual void STDMETHODCALLTYPE DrawIndexedInstanced( | ||
| 6574 | _In_ UINT IndexCountPerInstance, | ||
| 6575 | _In_ UINT InstanceCount, | ||
| 6576 | _In_ UINT StartIndexLocation, | ||
| 6577 | _In_ INT BaseVertexLocation, | ||
| 6578 | _In_ UINT StartInstanceLocation) = 0; | ||
| 6579 | |||
| 6580 | virtual void STDMETHODCALLTYPE Dispatch( | ||
| 6581 | _In_ UINT ThreadGroupCountX, | ||
| 6582 | _In_ UINT ThreadGroupCountY, | ||
| 6583 | _In_ UINT ThreadGroupCountZ) = 0; | ||
| 6584 | |||
| 6585 | virtual void STDMETHODCALLTYPE CopyBufferRegion( | ||
| 6586 | _In_ ID3D12Resource *pDstBuffer, | ||
| 6587 | UINT64 DstOffset, | ||
| 6588 | _In_ ID3D12Resource *pSrcBuffer, | ||
| 6589 | UINT64 SrcOffset, | ||
| 6590 | UINT64 NumBytes) = 0; | ||
| 6591 | |||
| 6592 | virtual void STDMETHODCALLTYPE CopyTextureRegion( | ||
| 6593 | _In_ const D3D12_TEXTURE_COPY_LOCATION *pDst, | ||
| 6594 | UINT DstX, | ||
| 6595 | UINT DstY, | ||
| 6596 | UINT DstZ, | ||
| 6597 | _In_ const D3D12_TEXTURE_COPY_LOCATION *pSrc, | ||
| 6598 | _In_opt_ const D3D12_BOX *pSrcBox) = 0; | ||
| 6599 | |||
| 6600 | virtual void STDMETHODCALLTYPE CopyResource( | ||
| 6601 | _In_ ID3D12Resource *pDstResource, | ||
| 6602 | _In_ ID3D12Resource *pSrcResource) = 0; | ||
| 6603 | |||
| 6604 | virtual void STDMETHODCALLTYPE CopyTiles( | ||
| 6605 | _In_ ID3D12Resource *pTiledResource, | ||
| 6606 | _In_ const D3D12_TILED_RESOURCE_COORDINATE *pTileRegionStartCoordinate, | ||
| 6607 | _In_ const D3D12_TILE_REGION_SIZE *pTileRegionSize, | ||
| 6608 | _In_ ID3D12Resource *pBuffer, | ||
| 6609 | UINT64 BufferStartOffsetInBytes, | ||
| 6610 | D3D12_TILE_COPY_FLAGS Flags) = 0; | ||
| 6611 | |||
| 6612 | virtual void STDMETHODCALLTYPE ResolveSubresource( | ||
| 6613 | _In_ ID3D12Resource *pDstResource, | ||
| 6614 | _In_ UINT DstSubresource, | ||
| 6615 | _In_ ID3D12Resource *pSrcResource, | ||
| 6616 | _In_ UINT SrcSubresource, | ||
| 6617 | _In_ DXGI_FORMAT Format) = 0; | ||
| 6618 | |||
| 6619 | virtual void STDMETHODCALLTYPE IASetPrimitiveTopology( | ||
| 6620 | _In_ D3D12_PRIMITIVE_TOPOLOGY PrimitiveTopology) = 0; | ||
| 6621 | |||
| 6622 | virtual void STDMETHODCALLTYPE RSSetViewports( | ||
| 6623 | _In_range_(0, D3D12_VIEWPORT_AND_SCISSORRECT_OBJECT_COUNT_PER_PIPELINE) UINT NumViewports, | ||
| 6624 | _In_reads_( NumViewports) const D3D12_VIEWPORT *pViewports) = 0; | ||
| 6625 | |||
| 6626 | virtual void STDMETHODCALLTYPE RSSetScissorRects( | ||
| 6627 | _In_range_(0, D3D12_VIEWPORT_AND_SCISSORRECT_OBJECT_COUNT_PER_PIPELINE) UINT NumRects, | ||
| 6628 | _In_reads_( NumRects) const D3D12_RECT *pRects) = 0; | ||
| 6629 | |||
| 6630 | virtual void STDMETHODCALLTYPE OMSetBlendFactor( | ||
| 6631 | _In_reads_opt_(4) const FLOAT BlendFactor[ 4 ]) = 0; | ||
| 6632 | |||
| 6633 | virtual void STDMETHODCALLTYPE OMSetStencilRef( | ||
| 6634 | _In_ UINT StencilRef) = 0; | ||
| 6635 | |||
| 6636 | virtual void STDMETHODCALLTYPE SetPipelineState( | ||
| 6637 | _In_ ID3D12PipelineState *pPipelineState) = 0; | ||
| 6638 | |||
| 6639 | virtual void STDMETHODCALLTYPE ResourceBarrier( | ||
| 6640 | _In_ UINT NumBarriers, | ||
| 6641 | _In_reads_(NumBarriers) const D3D12_RESOURCE_BARRIER *pBarriers) = 0; | ||
| 6642 | |||
| 6643 | virtual void STDMETHODCALLTYPE ExecuteBundle( | ||
| 6644 | _In_ ID3D12GraphicsCommandList *pCommandList) = 0; | ||
| 6645 | |||
| 6646 | virtual void STDMETHODCALLTYPE SetDescriptorHeaps( | ||
| 6647 | _In_ UINT NumDescriptorHeaps, | ||
| 6648 | _In_reads_(NumDescriptorHeaps) ID3D12DescriptorHeap *const *ppDescriptorHeaps) = 0; | ||
| 6649 | |||
| 6650 | virtual void STDMETHODCALLTYPE SetComputeRootSignature( | ||
| 6651 | _In_opt_ ID3D12RootSignature *pRootSignature) = 0; | ||
| 6652 | |||
| 6653 | virtual void STDMETHODCALLTYPE SetGraphicsRootSignature( | ||
| 6654 | _In_opt_ ID3D12RootSignature *pRootSignature) = 0; | ||
| 6655 | |||
| 6656 | virtual void STDMETHODCALLTYPE SetComputeRootDescriptorTable( | ||
| 6657 | _In_ UINT RootParameterIndex, | ||
| 6658 | _In_ D3D12_GPU_DESCRIPTOR_HANDLE BaseDescriptor) = 0; | ||
| 6659 | |||
| 6660 | virtual void STDMETHODCALLTYPE SetGraphicsRootDescriptorTable( | ||
| 6661 | _In_ UINT RootParameterIndex, | ||
| 6662 | _In_ D3D12_GPU_DESCRIPTOR_HANDLE BaseDescriptor) = 0; | ||
| 6663 | |||
| 6664 | virtual void STDMETHODCALLTYPE SetComputeRoot32BitConstant( | ||
| 6665 | _In_ UINT RootParameterIndex, | ||
| 6666 | _In_ UINT SrcData, | ||
| 6667 | _In_ UINT DestOffsetIn32BitValues) = 0; | ||
| 6668 | |||
| 6669 | virtual void STDMETHODCALLTYPE SetGraphicsRoot32BitConstant( | ||
| 6670 | _In_ UINT RootParameterIndex, | ||
| 6671 | _In_ UINT SrcData, | ||
| 6672 | _In_ UINT DestOffsetIn32BitValues) = 0; | ||
| 6673 | |||
| 6674 | virtual void STDMETHODCALLTYPE SetComputeRoot32BitConstants( | ||
| 6675 | _In_ UINT RootParameterIndex, | ||
| 6676 | _In_ UINT Num32BitValuesToSet, | ||
| 6677 | _In_reads_(Num32BitValuesToSet*sizeof(UINT)) const void *pSrcData, | ||
| 6678 | _In_ UINT DestOffsetIn32BitValues) = 0; | ||
| 6679 | |||
| 6680 | virtual void STDMETHODCALLTYPE SetGraphicsRoot32BitConstants( | ||
| 6681 | _In_ UINT RootParameterIndex, | ||
| 6682 | _In_ UINT Num32BitValuesToSet, | ||
| 6683 | _In_reads_(Num32BitValuesToSet*sizeof(UINT)) const void *pSrcData, | ||
| 6684 | _In_ UINT DestOffsetIn32BitValues) = 0; | ||
| 6685 | |||
| 6686 | virtual void STDMETHODCALLTYPE SetComputeRootConstantBufferView( | ||
| 6687 | _In_ UINT RootParameterIndex, | ||
| 6688 | _In_ D3D12_GPU_VIRTUAL_ADDRESS BufferLocation) = 0; | ||
| 6689 | |||
| 6690 | virtual void STDMETHODCALLTYPE SetGraphicsRootConstantBufferView( | ||
| 6691 | _In_ UINT RootParameterIndex, | ||
| 6692 | _In_ D3D12_GPU_VIRTUAL_ADDRESS BufferLocation) = 0; | ||
| 6693 | |||
| 6694 | virtual void STDMETHODCALLTYPE SetComputeRootShaderResourceView( | ||
| 6695 | _In_ UINT RootParameterIndex, | ||
| 6696 | _In_ D3D12_GPU_VIRTUAL_ADDRESS BufferLocation) = 0; | ||
| 6697 | |||
| 6698 | virtual void STDMETHODCALLTYPE SetGraphicsRootShaderResourceView( | ||
| 6699 | _In_ UINT RootParameterIndex, | ||
| 6700 | _In_ D3D12_GPU_VIRTUAL_ADDRESS BufferLocation) = 0; | ||
| 6701 | |||
| 6702 | virtual void STDMETHODCALLTYPE SetComputeRootUnorderedAccessView( | ||
| 6703 | _In_ UINT RootParameterIndex, | ||
| 6704 | _In_ D3D12_GPU_VIRTUAL_ADDRESS BufferLocation) = 0; | ||
| 6705 | |||
| 6706 | virtual void STDMETHODCALLTYPE SetGraphicsRootUnorderedAccessView( | ||
| 6707 | _In_ UINT RootParameterIndex, | ||
| 6708 | _In_ D3D12_GPU_VIRTUAL_ADDRESS BufferLocation) = 0; | ||
| 6709 | |||
| 6710 | virtual void STDMETHODCALLTYPE IASetIndexBuffer( | ||
| 6711 | _In_opt_ const D3D12_INDEX_BUFFER_VIEW *pView) = 0; | ||
| 6712 | |||
| 6713 | virtual void STDMETHODCALLTYPE IASetVertexBuffers( | ||
| 6714 | _In_ UINT StartSlot, | ||
| 6715 | _In_ UINT NumViews, | ||
| 6716 | _In_reads_opt_(NumViews) const D3D12_VERTEX_BUFFER_VIEW *pViews) = 0; | ||
| 6717 | |||
| 6718 | virtual void STDMETHODCALLTYPE SOSetTargets( | ||
| 6719 | _In_ UINT StartSlot, | ||
| 6720 | _In_ UINT NumViews, | ||
| 6721 | _In_reads_opt_(NumViews) const D3D12_STREAM_OUTPUT_BUFFER_VIEW *pViews) = 0; | ||
| 6722 | |||
| 6723 | virtual void STDMETHODCALLTYPE OMSetRenderTargets( | ||
| 6724 | _In_ UINT NumRenderTargetDescriptors, | ||
| 6725 | _In_opt_ const D3D12_CPU_DESCRIPTOR_HANDLE *pRenderTargetDescriptors, | ||
| 6726 | _In_ BOOL RTsSingleHandleToDescriptorRange, | ||
| 6727 | _In_opt_ const D3D12_CPU_DESCRIPTOR_HANDLE *pDepthStencilDescriptor) = 0; | ||
| 6728 | |||
| 6729 | virtual void STDMETHODCALLTYPE ClearDepthStencilView( | ||
| 6730 | _In_ D3D12_CPU_DESCRIPTOR_HANDLE DepthStencilView, | ||
| 6731 | _In_ D3D12_CLEAR_FLAGS ClearFlags, | ||
| 6732 | _In_ FLOAT Depth, | ||
| 6733 | _In_ UINT8 Stencil, | ||
| 6734 | _In_ UINT NumRects, | ||
| 6735 | _In_reads_(NumRects) const D3D12_RECT *pRects) = 0; | ||
| 6736 | |||
| 6737 | virtual void STDMETHODCALLTYPE ClearRenderTargetView( | ||
| 6738 | _In_ D3D12_CPU_DESCRIPTOR_HANDLE RenderTargetView, | ||
| 6739 | _In_ const FLOAT ColorRGBA[ 4 ], | ||
| 6740 | _In_ UINT NumRects, | ||
| 6741 | _In_reads_(NumRects) const D3D12_RECT *pRects) = 0; | ||
| 6742 | |||
| 6743 | virtual void STDMETHODCALLTYPE ClearUnorderedAccessViewUint( | ||
| 6744 | _In_ D3D12_GPU_DESCRIPTOR_HANDLE ViewGPUHandleInCurrentHeap, | ||
| 6745 | _In_ D3D12_CPU_DESCRIPTOR_HANDLE ViewCPUHandle, | ||
| 6746 | _In_ ID3D12Resource *pResource, | ||
| 6747 | _In_ const UINT Values[ 4 ], | ||
| 6748 | _In_ UINT NumRects, | ||
| 6749 | _In_reads_(NumRects) const D3D12_RECT *pRects) = 0; | ||
| 6750 | |||
| 6751 | virtual void STDMETHODCALLTYPE ClearUnorderedAccessViewFloat( | ||
| 6752 | _In_ D3D12_GPU_DESCRIPTOR_HANDLE ViewGPUHandleInCurrentHeap, | ||
| 6753 | _In_ D3D12_CPU_DESCRIPTOR_HANDLE ViewCPUHandle, | ||
| 6754 | _In_ ID3D12Resource *pResource, | ||
| 6755 | _In_ const FLOAT Values[ 4 ], | ||
| 6756 | _In_ UINT NumRects, | ||
| 6757 | _In_reads_(NumRects) const D3D12_RECT *pRects) = 0; | ||
| 6758 | |||
| 6759 | virtual void STDMETHODCALLTYPE DiscardResource( | ||
| 6760 | _In_ ID3D12Resource *pResource, | ||
| 6761 | _In_opt_ const D3D12_DISCARD_REGION *pRegion) = 0; | ||
| 6762 | |||
| 6763 | virtual void STDMETHODCALLTYPE BeginQuery( | ||
| 6764 | _In_ ID3D12QueryHeap *pQueryHeap, | ||
| 6765 | _In_ D3D12_QUERY_TYPE Type, | ||
| 6766 | _In_ UINT Index) = 0; | ||
| 6767 | |||
| 6768 | virtual void STDMETHODCALLTYPE EndQuery( | ||
| 6769 | _In_ ID3D12QueryHeap *pQueryHeap, | ||
| 6770 | _In_ D3D12_QUERY_TYPE Type, | ||
| 6771 | _In_ UINT Index) = 0; | ||
| 6772 | |||
| 6773 | virtual void STDMETHODCALLTYPE ResolveQueryData( | ||
| 6774 | _In_ ID3D12QueryHeap *pQueryHeap, | ||
| 6775 | _In_ D3D12_QUERY_TYPE Type, | ||
| 6776 | _In_ UINT StartIndex, | ||
| 6777 | _In_ UINT NumQueries, | ||
| 6778 | _In_ ID3D12Resource *pDestinationBuffer, | ||
| 6779 | _In_ UINT64 AlignedDestinationBufferOffset) = 0; | ||
| 6780 | |||
| 6781 | virtual void STDMETHODCALLTYPE SetPredication( | ||
| 6782 | _In_opt_ ID3D12Resource *pBuffer, | ||
| 6783 | _In_ UINT64 AlignedBufferOffset, | ||
| 6784 | _In_ D3D12_PREDICATION_OP Operation) = 0; | ||
| 6785 | |||
| 6786 | virtual void STDMETHODCALLTYPE SetMarker( | ||
| 6787 | UINT Metadata, | ||
| 6788 | _In_reads_bytes_opt_(Size) const void *pData, | ||
| 6789 | UINT Size) = 0; | ||
| 6790 | |||
| 6791 | virtual void STDMETHODCALLTYPE BeginEvent( | ||
| 6792 | UINT Metadata, | ||
| 6793 | _In_reads_bytes_opt_(Size) const void *pData, | ||
| 6794 | UINT Size) = 0; | ||
| 6795 | |||
| 6796 | virtual void STDMETHODCALLTYPE EndEvent( void) = 0; | ||
| 6797 | |||
| 6798 | virtual void STDMETHODCALLTYPE ExecuteIndirect( | ||
| 6799 | _In_ ID3D12CommandSignature *pCommandSignature, | ||
| 6800 | _In_ UINT MaxCommandCount, | ||
| 6801 | _In_ ID3D12Resource *pArgumentBuffer, | ||
| 6802 | _In_ UINT64 ArgumentBufferOffset, | ||
| 6803 | _In_opt_ ID3D12Resource *pCountBuffer, | ||
| 6804 | _In_ UINT64 CountBufferOffset) = 0; | ||
| 6805 | |||
| 6806 | }; | ||
| 6807 | |||
| 6808 | |||
| 6809 | #else /* C style interface */ | ||
| 6810 | |||
| 6811 | typedef struct ID3D12GraphicsCommandListVtbl | ||
| 6812 | { | ||
| 6813 | BEGIN_INTERFACE | ||
| 6814 | |||
| 6815 | DECLSPEC_XFGVIRT(IUnknown, QueryInterface) | ||
| 6816 | HRESULT ( STDMETHODCALLTYPE *QueryInterface )( | ||
| 6817 | ID3D12GraphicsCommandList * This, | ||
| 6818 | REFIID riid, | ||
| 6819 | _COM_Outptr_ void **ppvObject); | ||
| 6820 | |||
| 6821 | DECLSPEC_XFGVIRT(IUnknown, AddRef) | ||
| 6822 | ULONG ( STDMETHODCALLTYPE *AddRef )( | ||
| 6823 | ID3D12GraphicsCommandList * This); | ||
| 6824 | |||
| 6825 | DECLSPEC_XFGVIRT(IUnknown, Release) | ||
| 6826 | ULONG ( STDMETHODCALLTYPE *Release )( | ||
| 6827 | ID3D12GraphicsCommandList * This); | ||
| 6828 | |||
| 6829 | DECLSPEC_XFGVIRT(ID3D12Object, GetPrivateData) | ||
| 6830 | HRESULT ( STDMETHODCALLTYPE *GetPrivateData )( | ||
| 6831 | ID3D12GraphicsCommandList * This, | ||
| 6832 | _In_ REFGUID guid, | ||
| 6833 | _Inout_ UINT *pDataSize, | ||
| 6834 | _Out_writes_bytes_opt_( *pDataSize ) void *pData); | ||
| 6835 | |||
| 6836 | DECLSPEC_XFGVIRT(ID3D12Object, SetPrivateData) | ||
| 6837 | HRESULT ( STDMETHODCALLTYPE *SetPrivateData )( | ||
| 6838 | ID3D12GraphicsCommandList * This, | ||
| 6839 | _In_ REFGUID guid, | ||
| 6840 | _In_ UINT DataSize, | ||
| 6841 | _In_reads_bytes_opt_( DataSize ) const void *pData); | ||
| 6842 | |||
| 6843 | DECLSPEC_XFGVIRT(ID3D12Object, SetPrivateDataInterface) | ||
| 6844 | HRESULT ( STDMETHODCALLTYPE *SetPrivateDataInterface )( | ||
| 6845 | ID3D12GraphicsCommandList * This, | ||
| 6846 | _In_ REFGUID guid, | ||
| 6847 | _In_opt_ const IUnknown *pData); | ||
| 6848 | |||
| 6849 | DECLSPEC_XFGVIRT(ID3D12Object, SetName) | ||
| 6850 | HRESULT ( STDMETHODCALLTYPE *SetName )( | ||
| 6851 | ID3D12GraphicsCommandList * This, | ||
| 6852 | _In_z_ LPCWSTR Name); | ||
| 6853 | |||
| 6854 | DECLSPEC_XFGVIRT(ID3D12DeviceChild, GetDevice) | ||
| 6855 | HRESULT ( STDMETHODCALLTYPE *GetDevice )( | ||
| 6856 | ID3D12GraphicsCommandList * This, | ||
| 6857 | REFIID riid, | ||
| 6858 | _COM_Outptr_opt_ void **ppvDevice); | ||
| 6859 | |||
| 6860 | DECLSPEC_XFGVIRT(ID3D12CommandList, GetType) | ||
| 6861 | D3D12_COMMAND_LIST_TYPE ( STDMETHODCALLTYPE *GetType )( | ||
| 6862 | ID3D12GraphicsCommandList * This); | ||
| 6863 | |||
| 6864 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, Close) | ||
| 6865 | HRESULT ( STDMETHODCALLTYPE *Close )( | ||
| 6866 | ID3D12GraphicsCommandList * This); | ||
| 6867 | |||
| 6868 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, Reset) | ||
| 6869 | HRESULT ( STDMETHODCALLTYPE *Reset )( | ||
| 6870 | ID3D12GraphicsCommandList * This, | ||
| 6871 | _In_ ID3D12CommandAllocator *pAllocator, | ||
| 6872 | _In_opt_ ID3D12PipelineState *pInitialState); | ||
| 6873 | |||
| 6874 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, ClearState) | ||
| 6875 | void ( STDMETHODCALLTYPE *ClearState )( | ||
| 6876 | ID3D12GraphicsCommandList * This, | ||
| 6877 | _In_opt_ ID3D12PipelineState *pPipelineState); | ||
| 6878 | |||
| 6879 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, DrawInstanced) | ||
| 6880 | void ( STDMETHODCALLTYPE *DrawInstanced )( | ||
| 6881 | ID3D12GraphicsCommandList * This, | ||
| 6882 | _In_ UINT VertexCountPerInstance, | ||
| 6883 | _In_ UINT InstanceCount, | ||
| 6884 | _In_ UINT StartVertexLocation, | ||
| 6885 | _In_ UINT StartInstanceLocation); | ||
| 6886 | |||
| 6887 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, DrawIndexedInstanced) | ||
| 6888 | void ( STDMETHODCALLTYPE *DrawIndexedInstanced )( | ||
| 6889 | ID3D12GraphicsCommandList * This, | ||
| 6890 | _In_ UINT IndexCountPerInstance, | ||
| 6891 | _In_ UINT InstanceCount, | ||
| 6892 | _In_ UINT StartIndexLocation, | ||
| 6893 | _In_ INT BaseVertexLocation, | ||
| 6894 | _In_ UINT StartInstanceLocation); | ||
| 6895 | |||
| 6896 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, Dispatch) | ||
| 6897 | void ( STDMETHODCALLTYPE *Dispatch )( | ||
| 6898 | ID3D12GraphicsCommandList * This, | ||
| 6899 | _In_ UINT ThreadGroupCountX, | ||
| 6900 | _In_ UINT ThreadGroupCountY, | ||
| 6901 | _In_ UINT ThreadGroupCountZ); | ||
| 6902 | |||
| 6903 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, CopyBufferRegion) | ||
| 6904 | void ( STDMETHODCALLTYPE *CopyBufferRegion )( | ||
| 6905 | ID3D12GraphicsCommandList * This, | ||
| 6906 | _In_ ID3D12Resource *pDstBuffer, | ||
| 6907 | UINT64 DstOffset, | ||
| 6908 | _In_ ID3D12Resource *pSrcBuffer, | ||
| 6909 | UINT64 SrcOffset, | ||
| 6910 | UINT64 NumBytes); | ||
| 6911 | |||
| 6912 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, CopyTextureRegion) | ||
| 6913 | void ( STDMETHODCALLTYPE *CopyTextureRegion )( | ||
| 6914 | ID3D12GraphicsCommandList * This, | ||
| 6915 | _In_ const D3D12_TEXTURE_COPY_LOCATION *pDst, | ||
| 6916 | UINT DstX, | ||
| 6917 | UINT DstY, | ||
| 6918 | UINT DstZ, | ||
| 6919 | _In_ const D3D12_TEXTURE_COPY_LOCATION *pSrc, | ||
| 6920 | _In_opt_ const D3D12_BOX *pSrcBox); | ||
| 6921 | |||
| 6922 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, CopyResource) | ||
| 6923 | void ( STDMETHODCALLTYPE *CopyResource )( | ||
| 6924 | ID3D12GraphicsCommandList * This, | ||
| 6925 | _In_ ID3D12Resource *pDstResource, | ||
| 6926 | _In_ ID3D12Resource *pSrcResource); | ||
| 6927 | |||
| 6928 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, CopyTiles) | ||
| 6929 | void ( STDMETHODCALLTYPE *CopyTiles )( | ||
| 6930 | ID3D12GraphicsCommandList * This, | ||
| 6931 | _In_ ID3D12Resource *pTiledResource, | ||
| 6932 | _In_ const D3D12_TILED_RESOURCE_COORDINATE *pTileRegionStartCoordinate, | ||
| 6933 | _In_ const D3D12_TILE_REGION_SIZE *pTileRegionSize, | ||
| 6934 | _In_ ID3D12Resource *pBuffer, | ||
| 6935 | UINT64 BufferStartOffsetInBytes, | ||
| 6936 | D3D12_TILE_COPY_FLAGS Flags); | ||
| 6937 | |||
| 6938 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, ResolveSubresource) | ||
| 6939 | void ( STDMETHODCALLTYPE *ResolveSubresource )( | ||
| 6940 | ID3D12GraphicsCommandList * This, | ||
| 6941 | _In_ ID3D12Resource *pDstResource, | ||
| 6942 | _In_ UINT DstSubresource, | ||
| 6943 | _In_ ID3D12Resource *pSrcResource, | ||
| 6944 | _In_ UINT SrcSubresource, | ||
| 6945 | _In_ DXGI_FORMAT Format); | ||
| 6946 | |||
| 6947 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, IASetPrimitiveTopology) | ||
| 6948 | void ( STDMETHODCALLTYPE *IASetPrimitiveTopology )( | ||
| 6949 | ID3D12GraphicsCommandList * This, | ||
| 6950 | _In_ D3D12_PRIMITIVE_TOPOLOGY PrimitiveTopology); | ||
| 6951 | |||
| 6952 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, RSSetViewports) | ||
| 6953 | void ( STDMETHODCALLTYPE *RSSetViewports )( | ||
| 6954 | ID3D12GraphicsCommandList * This, | ||
| 6955 | _In_range_(0, D3D12_VIEWPORT_AND_SCISSORRECT_OBJECT_COUNT_PER_PIPELINE) UINT NumViewports, | ||
| 6956 | _In_reads_( NumViewports) const D3D12_VIEWPORT *pViewports); | ||
| 6957 | |||
| 6958 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, RSSetScissorRects) | ||
| 6959 | void ( STDMETHODCALLTYPE *RSSetScissorRects )( | ||
| 6960 | ID3D12GraphicsCommandList * This, | ||
| 6961 | _In_range_(0, D3D12_VIEWPORT_AND_SCISSORRECT_OBJECT_COUNT_PER_PIPELINE) UINT NumRects, | ||
| 6962 | _In_reads_( NumRects) const D3D12_RECT *pRects); | ||
| 6963 | |||
| 6964 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, OMSetBlendFactor) | ||
| 6965 | void ( STDMETHODCALLTYPE *OMSetBlendFactor )( | ||
| 6966 | ID3D12GraphicsCommandList * This, | ||
| 6967 | _In_reads_opt_(4) const FLOAT BlendFactor[ 4 ]); | ||
| 6968 | |||
| 6969 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, OMSetStencilRef) | ||
| 6970 | void ( STDMETHODCALLTYPE *OMSetStencilRef )( | ||
| 6971 | ID3D12GraphicsCommandList * This, | ||
| 6972 | _In_ UINT StencilRef); | ||
| 6973 | |||
| 6974 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetPipelineState) | ||
| 6975 | void ( STDMETHODCALLTYPE *SetPipelineState )( | ||
| 6976 | ID3D12GraphicsCommandList * This, | ||
| 6977 | _In_ ID3D12PipelineState *pPipelineState); | ||
| 6978 | |||
| 6979 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, ResourceBarrier) | ||
| 6980 | void ( STDMETHODCALLTYPE *ResourceBarrier )( | ||
| 6981 | ID3D12GraphicsCommandList * This, | ||
| 6982 | _In_ UINT NumBarriers, | ||
| 6983 | _In_reads_(NumBarriers) const D3D12_RESOURCE_BARRIER *pBarriers); | ||
| 6984 | |||
| 6985 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, ExecuteBundle) | ||
| 6986 | void ( STDMETHODCALLTYPE *ExecuteBundle )( | ||
| 6987 | ID3D12GraphicsCommandList * This, | ||
| 6988 | _In_ ID3D12GraphicsCommandList *pCommandList); | ||
| 6989 | |||
| 6990 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetDescriptorHeaps) | ||
| 6991 | void ( STDMETHODCALLTYPE *SetDescriptorHeaps )( | ||
| 6992 | ID3D12GraphicsCommandList * This, | ||
| 6993 | _In_ UINT NumDescriptorHeaps, | ||
| 6994 | _In_reads_(NumDescriptorHeaps) ID3D12DescriptorHeap *const *ppDescriptorHeaps); | ||
| 6995 | |||
| 6996 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetComputeRootSignature) | ||
| 6997 | void ( STDMETHODCALLTYPE *SetComputeRootSignature )( | ||
| 6998 | ID3D12GraphicsCommandList * This, | ||
| 6999 | _In_opt_ ID3D12RootSignature *pRootSignature); | ||
| 7000 | |||
| 7001 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetGraphicsRootSignature) | ||
| 7002 | void ( STDMETHODCALLTYPE *SetGraphicsRootSignature )( | ||
| 7003 | ID3D12GraphicsCommandList * This, | ||
| 7004 | _In_opt_ ID3D12RootSignature *pRootSignature); | ||
| 7005 | |||
| 7006 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetComputeRootDescriptorTable) | ||
| 7007 | void ( STDMETHODCALLTYPE *SetComputeRootDescriptorTable )( | ||
| 7008 | ID3D12GraphicsCommandList * This, | ||
| 7009 | _In_ UINT RootParameterIndex, | ||
| 7010 | _In_ D3D12_GPU_DESCRIPTOR_HANDLE BaseDescriptor); | ||
| 7011 | |||
| 7012 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetGraphicsRootDescriptorTable) | ||
| 7013 | void ( STDMETHODCALLTYPE *SetGraphicsRootDescriptorTable )( | ||
| 7014 | ID3D12GraphicsCommandList * This, | ||
| 7015 | _In_ UINT RootParameterIndex, | ||
| 7016 | _In_ D3D12_GPU_DESCRIPTOR_HANDLE BaseDescriptor); | ||
| 7017 | |||
| 7018 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetComputeRoot32BitConstant) | ||
| 7019 | void ( STDMETHODCALLTYPE *SetComputeRoot32BitConstant )( | ||
| 7020 | ID3D12GraphicsCommandList * This, | ||
| 7021 | _In_ UINT RootParameterIndex, | ||
| 7022 | _In_ UINT SrcData, | ||
| 7023 | _In_ UINT DestOffsetIn32BitValues); | ||
| 7024 | |||
| 7025 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetGraphicsRoot32BitConstant) | ||
| 7026 | void ( STDMETHODCALLTYPE *SetGraphicsRoot32BitConstant )( | ||
| 7027 | ID3D12GraphicsCommandList * This, | ||
| 7028 | _In_ UINT RootParameterIndex, | ||
| 7029 | _In_ UINT SrcData, | ||
| 7030 | _In_ UINT DestOffsetIn32BitValues); | ||
| 7031 | |||
| 7032 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetComputeRoot32BitConstants) | ||
| 7033 | void ( STDMETHODCALLTYPE *SetComputeRoot32BitConstants )( | ||
| 7034 | ID3D12GraphicsCommandList * This, | ||
| 7035 | _In_ UINT RootParameterIndex, | ||
| 7036 | _In_ UINT Num32BitValuesToSet, | ||
| 7037 | _In_reads_(Num32BitValuesToSet*sizeof(UINT)) const void *pSrcData, | ||
| 7038 | _In_ UINT DestOffsetIn32BitValues); | ||
| 7039 | |||
| 7040 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetGraphicsRoot32BitConstants) | ||
| 7041 | void ( STDMETHODCALLTYPE *SetGraphicsRoot32BitConstants )( | ||
| 7042 | ID3D12GraphicsCommandList * This, | ||
| 7043 | _In_ UINT RootParameterIndex, | ||
| 7044 | _In_ UINT Num32BitValuesToSet, | ||
| 7045 | _In_reads_(Num32BitValuesToSet*sizeof(UINT)) const void *pSrcData, | ||
| 7046 | _In_ UINT DestOffsetIn32BitValues); | ||
| 7047 | |||
| 7048 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetComputeRootConstantBufferView) | ||
| 7049 | void ( STDMETHODCALLTYPE *SetComputeRootConstantBufferView )( | ||
| 7050 | ID3D12GraphicsCommandList * This, | ||
| 7051 | _In_ UINT RootParameterIndex, | ||
| 7052 | _In_ D3D12_GPU_VIRTUAL_ADDRESS BufferLocation); | ||
| 7053 | |||
| 7054 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetGraphicsRootConstantBufferView) | ||
| 7055 | void ( STDMETHODCALLTYPE *SetGraphicsRootConstantBufferView )( | ||
| 7056 | ID3D12GraphicsCommandList * This, | ||
| 7057 | _In_ UINT RootParameterIndex, | ||
| 7058 | _In_ D3D12_GPU_VIRTUAL_ADDRESS BufferLocation); | ||
| 7059 | |||
| 7060 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetComputeRootShaderResourceView) | ||
| 7061 | void ( STDMETHODCALLTYPE *SetComputeRootShaderResourceView )( | ||
| 7062 | ID3D12GraphicsCommandList * This, | ||
| 7063 | _In_ UINT RootParameterIndex, | ||
| 7064 | _In_ D3D12_GPU_VIRTUAL_ADDRESS BufferLocation); | ||
| 7065 | |||
| 7066 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetGraphicsRootShaderResourceView) | ||
| 7067 | void ( STDMETHODCALLTYPE *SetGraphicsRootShaderResourceView )( | ||
| 7068 | ID3D12GraphicsCommandList * This, | ||
| 7069 | _In_ UINT RootParameterIndex, | ||
| 7070 | _In_ D3D12_GPU_VIRTUAL_ADDRESS BufferLocation); | ||
| 7071 | |||
| 7072 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetComputeRootUnorderedAccessView) | ||
| 7073 | void ( STDMETHODCALLTYPE *SetComputeRootUnorderedAccessView )( | ||
| 7074 | ID3D12GraphicsCommandList * This, | ||
| 7075 | _In_ UINT RootParameterIndex, | ||
| 7076 | _In_ D3D12_GPU_VIRTUAL_ADDRESS BufferLocation); | ||
| 7077 | |||
| 7078 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetGraphicsRootUnorderedAccessView) | ||
| 7079 | void ( STDMETHODCALLTYPE *SetGraphicsRootUnorderedAccessView )( | ||
| 7080 | ID3D12GraphicsCommandList * This, | ||
| 7081 | _In_ UINT RootParameterIndex, | ||
| 7082 | _In_ D3D12_GPU_VIRTUAL_ADDRESS BufferLocation); | ||
| 7083 | |||
| 7084 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, IASetIndexBuffer) | ||
| 7085 | void ( STDMETHODCALLTYPE *IASetIndexBuffer )( | ||
| 7086 | ID3D12GraphicsCommandList * This, | ||
| 7087 | _In_opt_ const D3D12_INDEX_BUFFER_VIEW *pView); | ||
| 7088 | |||
| 7089 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, IASetVertexBuffers) | ||
| 7090 | void ( STDMETHODCALLTYPE *IASetVertexBuffers )( | ||
| 7091 | ID3D12GraphicsCommandList * This, | ||
| 7092 | _In_ UINT StartSlot, | ||
| 7093 | _In_ UINT NumViews, | ||
| 7094 | _In_reads_opt_(NumViews) const D3D12_VERTEX_BUFFER_VIEW *pViews); | ||
| 7095 | |||
| 7096 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SOSetTargets) | ||
| 7097 | void ( STDMETHODCALLTYPE *SOSetTargets )( | ||
| 7098 | ID3D12GraphicsCommandList * This, | ||
| 7099 | _In_ UINT StartSlot, | ||
| 7100 | _In_ UINT NumViews, | ||
| 7101 | _In_reads_opt_(NumViews) const D3D12_STREAM_OUTPUT_BUFFER_VIEW *pViews); | ||
| 7102 | |||
| 7103 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, OMSetRenderTargets) | ||
| 7104 | void ( STDMETHODCALLTYPE *OMSetRenderTargets )( | ||
| 7105 | ID3D12GraphicsCommandList * This, | ||
| 7106 | _In_ UINT NumRenderTargetDescriptors, | ||
| 7107 | _In_opt_ const D3D12_CPU_DESCRIPTOR_HANDLE *pRenderTargetDescriptors, | ||
| 7108 | _In_ BOOL RTsSingleHandleToDescriptorRange, | ||
| 7109 | _In_opt_ const D3D12_CPU_DESCRIPTOR_HANDLE *pDepthStencilDescriptor); | ||
| 7110 | |||
| 7111 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, ClearDepthStencilView) | ||
| 7112 | void ( STDMETHODCALLTYPE *ClearDepthStencilView )( | ||
| 7113 | ID3D12GraphicsCommandList * This, | ||
| 7114 | _In_ D3D12_CPU_DESCRIPTOR_HANDLE DepthStencilView, | ||
| 7115 | _In_ D3D12_CLEAR_FLAGS ClearFlags, | ||
| 7116 | _In_ FLOAT Depth, | ||
| 7117 | _In_ UINT8 Stencil, | ||
| 7118 | _In_ UINT NumRects, | ||
| 7119 | _In_reads_(NumRects) const D3D12_RECT *pRects); | ||
| 7120 | |||
| 7121 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, ClearRenderTargetView) | ||
| 7122 | void ( STDMETHODCALLTYPE *ClearRenderTargetView )( | ||
| 7123 | ID3D12GraphicsCommandList * This, | ||
| 7124 | _In_ D3D12_CPU_DESCRIPTOR_HANDLE RenderTargetView, | ||
| 7125 | _In_ const FLOAT ColorRGBA[ 4 ], | ||
| 7126 | _In_ UINT NumRects, | ||
| 7127 | _In_reads_(NumRects) const D3D12_RECT *pRects); | ||
| 7128 | |||
| 7129 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, ClearUnorderedAccessViewUint) | ||
| 7130 | void ( STDMETHODCALLTYPE *ClearUnorderedAccessViewUint )( | ||
| 7131 | ID3D12GraphicsCommandList * This, | ||
| 7132 | _In_ D3D12_GPU_DESCRIPTOR_HANDLE ViewGPUHandleInCurrentHeap, | ||
| 7133 | _In_ D3D12_CPU_DESCRIPTOR_HANDLE ViewCPUHandle, | ||
| 7134 | _In_ ID3D12Resource *pResource, | ||
| 7135 | _In_ const UINT Values[ 4 ], | ||
| 7136 | _In_ UINT NumRects, | ||
| 7137 | _In_reads_(NumRects) const D3D12_RECT *pRects); | ||
| 7138 | |||
| 7139 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, ClearUnorderedAccessViewFloat) | ||
| 7140 | void ( STDMETHODCALLTYPE *ClearUnorderedAccessViewFloat )( | ||
| 7141 | ID3D12GraphicsCommandList * This, | ||
| 7142 | _In_ D3D12_GPU_DESCRIPTOR_HANDLE ViewGPUHandleInCurrentHeap, | ||
| 7143 | _In_ D3D12_CPU_DESCRIPTOR_HANDLE ViewCPUHandle, | ||
| 7144 | _In_ ID3D12Resource *pResource, | ||
| 7145 | _In_ const FLOAT Values[ 4 ], | ||
| 7146 | _In_ UINT NumRects, | ||
| 7147 | _In_reads_(NumRects) const D3D12_RECT *pRects); | ||
| 7148 | |||
| 7149 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, DiscardResource) | ||
| 7150 | void ( STDMETHODCALLTYPE *DiscardResource )( | ||
| 7151 | ID3D12GraphicsCommandList * This, | ||
| 7152 | _In_ ID3D12Resource *pResource, | ||
| 7153 | _In_opt_ const D3D12_DISCARD_REGION *pRegion); | ||
| 7154 | |||
| 7155 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, BeginQuery) | ||
| 7156 | void ( STDMETHODCALLTYPE *BeginQuery )( | ||
| 7157 | ID3D12GraphicsCommandList * This, | ||
| 7158 | _In_ ID3D12QueryHeap *pQueryHeap, | ||
| 7159 | _In_ D3D12_QUERY_TYPE Type, | ||
| 7160 | _In_ UINT Index); | ||
| 7161 | |||
| 7162 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, EndQuery) | ||
| 7163 | void ( STDMETHODCALLTYPE *EndQuery )( | ||
| 7164 | ID3D12GraphicsCommandList * This, | ||
| 7165 | _In_ ID3D12QueryHeap *pQueryHeap, | ||
| 7166 | _In_ D3D12_QUERY_TYPE Type, | ||
| 7167 | _In_ UINT Index); | ||
| 7168 | |||
| 7169 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, ResolveQueryData) | ||
| 7170 | void ( STDMETHODCALLTYPE *ResolveQueryData )( | ||
| 7171 | ID3D12GraphicsCommandList * This, | ||
| 7172 | _In_ ID3D12QueryHeap *pQueryHeap, | ||
| 7173 | _In_ D3D12_QUERY_TYPE Type, | ||
| 7174 | _In_ UINT StartIndex, | ||
| 7175 | _In_ UINT NumQueries, | ||
| 7176 | _In_ ID3D12Resource *pDestinationBuffer, | ||
| 7177 | _In_ UINT64 AlignedDestinationBufferOffset); | ||
| 7178 | |||
| 7179 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetPredication) | ||
| 7180 | void ( STDMETHODCALLTYPE *SetPredication )( | ||
| 7181 | ID3D12GraphicsCommandList * This, | ||
| 7182 | _In_opt_ ID3D12Resource *pBuffer, | ||
| 7183 | _In_ UINT64 AlignedBufferOffset, | ||
| 7184 | _In_ D3D12_PREDICATION_OP Operation); | ||
| 7185 | |||
| 7186 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetMarker) | ||
| 7187 | void ( STDMETHODCALLTYPE *SetMarker )( | ||
| 7188 | ID3D12GraphicsCommandList * This, | ||
| 7189 | UINT Metadata, | ||
| 7190 | _In_reads_bytes_opt_(Size) const void *pData, | ||
| 7191 | UINT Size); | ||
| 7192 | |||
| 7193 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, BeginEvent) | ||
| 7194 | void ( STDMETHODCALLTYPE *BeginEvent )( | ||
| 7195 | ID3D12GraphicsCommandList * This, | ||
| 7196 | UINT Metadata, | ||
| 7197 | _In_reads_bytes_opt_(Size) const void *pData, | ||
| 7198 | UINT Size); | ||
| 7199 | |||
| 7200 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, EndEvent) | ||
| 7201 | void ( STDMETHODCALLTYPE *EndEvent )( | ||
| 7202 | ID3D12GraphicsCommandList * This); | ||
| 7203 | |||
| 7204 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, ExecuteIndirect) | ||
| 7205 | void ( STDMETHODCALLTYPE *ExecuteIndirect )( | ||
| 7206 | ID3D12GraphicsCommandList * This, | ||
| 7207 | _In_ ID3D12CommandSignature *pCommandSignature, | ||
| 7208 | _In_ UINT MaxCommandCount, | ||
| 7209 | _In_ ID3D12Resource *pArgumentBuffer, | ||
| 7210 | _In_ UINT64 ArgumentBufferOffset, | ||
| 7211 | _In_opt_ ID3D12Resource *pCountBuffer, | ||
| 7212 | _In_ UINT64 CountBufferOffset); | ||
| 7213 | |||
| 7214 | END_INTERFACE | ||
| 7215 | } ID3D12GraphicsCommandListVtbl; | ||
| 7216 | |||
| 7217 | interface ID3D12GraphicsCommandList | ||
| 7218 | { | ||
| 7219 | CONST_VTBL struct ID3D12GraphicsCommandListVtbl *lpVtbl; | ||
| 7220 | }; | ||
| 7221 | |||
| 7222 | |||
| 7223 | |||
| 7224 | #ifdef COBJMACROS | ||
| 7225 | |||
| 7226 | |||
| 7227 | #define ID3D12GraphicsCommandList_QueryInterface(This,riid,ppvObject) \ | ||
| 7228 | ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) | ||
| 7229 | |||
| 7230 | #define ID3D12GraphicsCommandList_AddRef(This) \ | ||
| 7231 | ( (This)->lpVtbl -> AddRef(This) ) | ||
| 7232 | |||
| 7233 | #define ID3D12GraphicsCommandList_Release(This) \ | ||
| 7234 | ( (This)->lpVtbl -> Release(This) ) | ||
| 7235 | |||
| 7236 | |||
| 7237 | #define ID3D12GraphicsCommandList_GetPrivateData(This,guid,pDataSize,pData) \ | ||
| 7238 | ( (This)->lpVtbl -> GetPrivateData(This,guid,pDataSize,pData) ) | ||
| 7239 | |||
| 7240 | #define ID3D12GraphicsCommandList_SetPrivateData(This,guid,DataSize,pData) \ | ||
| 7241 | ( (This)->lpVtbl -> SetPrivateData(This,guid,DataSize,pData) ) | ||
| 7242 | |||
| 7243 | #define ID3D12GraphicsCommandList_SetPrivateDataInterface(This,guid,pData) \ | ||
| 7244 | ( (This)->lpVtbl -> SetPrivateDataInterface(This,guid,pData) ) | ||
| 7245 | |||
| 7246 | #define ID3D12GraphicsCommandList_SetName(This,Name) \ | ||
| 7247 | ( (This)->lpVtbl -> SetName(This,Name) ) | ||
| 7248 | |||
| 7249 | |||
| 7250 | #define ID3D12GraphicsCommandList_GetDevice(This,riid,ppvDevice) \ | ||
| 7251 | ( (This)->lpVtbl -> GetDevice(This,riid,ppvDevice) ) | ||
| 7252 | |||
| 7253 | |||
| 7254 | #define ID3D12GraphicsCommandList_GetType(This) \ | ||
| 7255 | ( (This)->lpVtbl -> GetType(This) ) | ||
| 7256 | |||
| 7257 | |||
| 7258 | #define ID3D12GraphicsCommandList_Close(This) \ | ||
| 7259 | ( (This)->lpVtbl -> Close(This) ) | ||
| 7260 | |||
| 7261 | #define ID3D12GraphicsCommandList_Reset(This,pAllocator,pInitialState) \ | ||
| 7262 | ( (This)->lpVtbl -> Reset(This,pAllocator,pInitialState) ) | ||
| 7263 | |||
| 7264 | #define ID3D12GraphicsCommandList_ClearState(This,pPipelineState) \ | ||
| 7265 | ( (This)->lpVtbl -> ClearState(This,pPipelineState) ) | ||
| 7266 | |||
| 7267 | #define ID3D12GraphicsCommandList_DrawInstanced(This,VertexCountPerInstance,InstanceCount,StartVertexLocation,StartInstanceLocation) \ | ||
| 7268 | ( (This)->lpVtbl -> DrawInstanced(This,VertexCountPerInstance,InstanceCount,StartVertexLocation,StartInstanceLocation) ) | ||
| 7269 | |||
| 7270 | #define ID3D12GraphicsCommandList_DrawIndexedInstanced(This,IndexCountPerInstance,InstanceCount,StartIndexLocation,BaseVertexLocation,StartInstanceLocation) \ | ||
| 7271 | ( (This)->lpVtbl -> DrawIndexedInstanced(This,IndexCountPerInstance,InstanceCount,StartIndexLocation,BaseVertexLocation,StartInstanceLocation) ) | ||
| 7272 | |||
| 7273 | #define ID3D12GraphicsCommandList_Dispatch(This,ThreadGroupCountX,ThreadGroupCountY,ThreadGroupCountZ) \ | ||
| 7274 | ( (This)->lpVtbl -> Dispatch(This,ThreadGroupCountX,ThreadGroupCountY,ThreadGroupCountZ) ) | ||
| 7275 | |||
| 7276 | #define ID3D12GraphicsCommandList_CopyBufferRegion(This,pDstBuffer,DstOffset,pSrcBuffer,SrcOffset,NumBytes) \ | ||
| 7277 | ( (This)->lpVtbl -> CopyBufferRegion(This,pDstBuffer,DstOffset,pSrcBuffer,SrcOffset,NumBytes) ) | ||
| 7278 | |||
| 7279 | #define ID3D12GraphicsCommandList_CopyTextureRegion(This,pDst,DstX,DstY,DstZ,pSrc,pSrcBox) \ | ||
| 7280 | ( (This)->lpVtbl -> CopyTextureRegion(This,pDst,DstX,DstY,DstZ,pSrc,pSrcBox) ) | ||
| 7281 | |||
| 7282 | #define ID3D12GraphicsCommandList_CopyResource(This,pDstResource,pSrcResource) \ | ||
| 7283 | ( (This)->lpVtbl -> CopyResource(This,pDstResource,pSrcResource) ) | ||
| 7284 | |||
| 7285 | #define ID3D12GraphicsCommandList_CopyTiles(This,pTiledResource,pTileRegionStartCoordinate,pTileRegionSize,pBuffer,BufferStartOffsetInBytes,Flags) \ | ||
| 7286 | ( (This)->lpVtbl -> CopyTiles(This,pTiledResource,pTileRegionStartCoordinate,pTileRegionSize,pBuffer,BufferStartOffsetInBytes,Flags) ) | ||
| 7287 | |||
| 7288 | #define ID3D12GraphicsCommandList_ResolveSubresource(This,pDstResource,DstSubresource,pSrcResource,SrcSubresource,Format) \ | ||
| 7289 | ( (This)->lpVtbl -> ResolveSubresource(This,pDstResource,DstSubresource,pSrcResource,SrcSubresource,Format) ) | ||
| 7290 | |||
| 7291 | #define ID3D12GraphicsCommandList_IASetPrimitiveTopology(This,PrimitiveTopology) \ | ||
| 7292 | ( (This)->lpVtbl -> IASetPrimitiveTopology(This,PrimitiveTopology) ) | ||
| 7293 | |||
| 7294 | #define ID3D12GraphicsCommandList_RSSetViewports(This,NumViewports,pViewports) \ | ||
| 7295 | ( (This)->lpVtbl -> RSSetViewports(This,NumViewports,pViewports) ) | ||
| 7296 | |||
| 7297 | #define ID3D12GraphicsCommandList_RSSetScissorRects(This,NumRects,pRects) \ | ||
| 7298 | ( (This)->lpVtbl -> RSSetScissorRects(This,NumRects,pRects) ) | ||
| 7299 | |||
| 7300 | #define ID3D12GraphicsCommandList_OMSetBlendFactor(This,BlendFactor) \ | ||
| 7301 | ( (This)->lpVtbl -> OMSetBlendFactor(This,BlendFactor) ) | ||
| 7302 | |||
| 7303 | #define ID3D12GraphicsCommandList_OMSetStencilRef(This,StencilRef) \ | ||
| 7304 | ( (This)->lpVtbl -> OMSetStencilRef(This,StencilRef) ) | ||
| 7305 | |||
| 7306 | #define ID3D12GraphicsCommandList_SetPipelineState(This,pPipelineState) \ | ||
| 7307 | ( (This)->lpVtbl -> SetPipelineState(This,pPipelineState) ) | ||
| 7308 | |||
| 7309 | #define ID3D12GraphicsCommandList_ResourceBarrier(This,NumBarriers,pBarriers) \ | ||
| 7310 | ( (This)->lpVtbl -> ResourceBarrier(This,NumBarriers,pBarriers) ) | ||
| 7311 | |||
| 7312 | #define ID3D12GraphicsCommandList_ExecuteBundle(This,pCommandList) \ | ||
| 7313 | ( (This)->lpVtbl -> ExecuteBundle(This,pCommandList) ) | ||
| 7314 | |||
| 7315 | #define ID3D12GraphicsCommandList_SetDescriptorHeaps(This,NumDescriptorHeaps,ppDescriptorHeaps) \ | ||
| 7316 | ( (This)->lpVtbl -> SetDescriptorHeaps(This,NumDescriptorHeaps,ppDescriptorHeaps) ) | ||
| 7317 | |||
| 7318 | #define ID3D12GraphicsCommandList_SetComputeRootSignature(This,pRootSignature) \ | ||
| 7319 | ( (This)->lpVtbl -> SetComputeRootSignature(This,pRootSignature) ) | ||
| 7320 | |||
| 7321 | #define ID3D12GraphicsCommandList_SetGraphicsRootSignature(This,pRootSignature) \ | ||
| 7322 | ( (This)->lpVtbl -> SetGraphicsRootSignature(This,pRootSignature) ) | ||
| 7323 | |||
| 7324 | #define ID3D12GraphicsCommandList_SetComputeRootDescriptorTable(This,RootParameterIndex,BaseDescriptor) \ | ||
| 7325 | ( (This)->lpVtbl -> SetComputeRootDescriptorTable(This,RootParameterIndex,BaseDescriptor) ) | ||
| 7326 | |||
| 7327 | #define ID3D12GraphicsCommandList_SetGraphicsRootDescriptorTable(This,RootParameterIndex,BaseDescriptor) \ | ||
| 7328 | ( (This)->lpVtbl -> SetGraphicsRootDescriptorTable(This,RootParameterIndex,BaseDescriptor) ) | ||
| 7329 | |||
| 7330 | #define ID3D12GraphicsCommandList_SetComputeRoot32BitConstant(This,RootParameterIndex,SrcData,DestOffsetIn32BitValues) \ | ||
| 7331 | ( (This)->lpVtbl -> SetComputeRoot32BitConstant(This,RootParameterIndex,SrcData,DestOffsetIn32BitValues) ) | ||
| 7332 | |||
| 7333 | #define ID3D12GraphicsCommandList_SetGraphicsRoot32BitConstant(This,RootParameterIndex,SrcData,DestOffsetIn32BitValues) \ | ||
| 7334 | ( (This)->lpVtbl -> SetGraphicsRoot32BitConstant(This,RootParameterIndex,SrcData,DestOffsetIn32BitValues) ) | ||
| 7335 | |||
| 7336 | #define ID3D12GraphicsCommandList_SetComputeRoot32BitConstants(This,RootParameterIndex,Num32BitValuesToSet,pSrcData,DestOffsetIn32BitValues) \ | ||
| 7337 | ( (This)->lpVtbl -> SetComputeRoot32BitConstants(This,RootParameterIndex,Num32BitValuesToSet,pSrcData,DestOffsetIn32BitValues) ) | ||
| 7338 | |||
| 7339 | #define ID3D12GraphicsCommandList_SetGraphicsRoot32BitConstants(This,RootParameterIndex,Num32BitValuesToSet,pSrcData,DestOffsetIn32BitValues) \ | ||
| 7340 | ( (This)->lpVtbl -> SetGraphicsRoot32BitConstants(This,RootParameterIndex,Num32BitValuesToSet,pSrcData,DestOffsetIn32BitValues) ) | ||
| 7341 | |||
| 7342 | #define ID3D12GraphicsCommandList_SetComputeRootConstantBufferView(This,RootParameterIndex,BufferLocation) \ | ||
| 7343 | ( (This)->lpVtbl -> SetComputeRootConstantBufferView(This,RootParameterIndex,BufferLocation) ) | ||
| 7344 | |||
| 7345 | #define ID3D12GraphicsCommandList_SetGraphicsRootConstantBufferView(This,RootParameterIndex,BufferLocation) \ | ||
| 7346 | ( (This)->lpVtbl -> SetGraphicsRootConstantBufferView(This,RootParameterIndex,BufferLocation) ) | ||
| 7347 | |||
| 7348 | #define ID3D12GraphicsCommandList_SetComputeRootShaderResourceView(This,RootParameterIndex,BufferLocation) \ | ||
| 7349 | ( (This)->lpVtbl -> SetComputeRootShaderResourceView(This,RootParameterIndex,BufferLocation) ) | ||
| 7350 | |||
| 7351 | #define ID3D12GraphicsCommandList_SetGraphicsRootShaderResourceView(This,RootParameterIndex,BufferLocation) \ | ||
| 7352 | ( (This)->lpVtbl -> SetGraphicsRootShaderResourceView(This,RootParameterIndex,BufferLocation) ) | ||
| 7353 | |||
| 7354 | #define ID3D12GraphicsCommandList_SetComputeRootUnorderedAccessView(This,RootParameterIndex,BufferLocation) \ | ||
| 7355 | ( (This)->lpVtbl -> SetComputeRootUnorderedAccessView(This,RootParameterIndex,BufferLocation) ) | ||
| 7356 | |||
| 7357 | #define ID3D12GraphicsCommandList_SetGraphicsRootUnorderedAccessView(This,RootParameterIndex,BufferLocation) \ | ||
| 7358 | ( (This)->lpVtbl -> SetGraphicsRootUnorderedAccessView(This,RootParameterIndex,BufferLocation) ) | ||
| 7359 | |||
| 7360 | #define ID3D12GraphicsCommandList_IASetIndexBuffer(This,pView) \ | ||
| 7361 | ( (This)->lpVtbl -> IASetIndexBuffer(This,pView) ) | ||
| 7362 | |||
| 7363 | #define ID3D12GraphicsCommandList_IASetVertexBuffers(This,StartSlot,NumViews,pViews) \ | ||
| 7364 | ( (This)->lpVtbl -> IASetVertexBuffers(This,StartSlot,NumViews,pViews) ) | ||
| 7365 | |||
| 7366 | #define ID3D12GraphicsCommandList_SOSetTargets(This,StartSlot,NumViews,pViews) \ | ||
| 7367 | ( (This)->lpVtbl -> SOSetTargets(This,StartSlot,NumViews,pViews) ) | ||
| 7368 | |||
| 7369 | #define ID3D12GraphicsCommandList_OMSetRenderTargets(This,NumRenderTargetDescriptors,pRenderTargetDescriptors,RTsSingleHandleToDescriptorRange,pDepthStencilDescriptor) \ | ||
| 7370 | ( (This)->lpVtbl -> OMSetRenderTargets(This,NumRenderTargetDescriptors,pRenderTargetDescriptors,RTsSingleHandleToDescriptorRange,pDepthStencilDescriptor) ) | ||
| 7371 | |||
| 7372 | #define ID3D12GraphicsCommandList_ClearDepthStencilView(This,DepthStencilView,ClearFlags,Depth,Stencil,NumRects,pRects) \ | ||
| 7373 | ( (This)->lpVtbl -> ClearDepthStencilView(This,DepthStencilView,ClearFlags,Depth,Stencil,NumRects,pRects) ) | ||
| 7374 | |||
| 7375 | #define ID3D12GraphicsCommandList_ClearRenderTargetView(This,RenderTargetView,ColorRGBA,NumRects,pRects) \ | ||
| 7376 | ( (This)->lpVtbl -> ClearRenderTargetView(This,RenderTargetView,ColorRGBA,NumRects,pRects) ) | ||
| 7377 | |||
| 7378 | #define ID3D12GraphicsCommandList_ClearUnorderedAccessViewUint(This,ViewGPUHandleInCurrentHeap,ViewCPUHandle,pResource,Values,NumRects,pRects) \ | ||
| 7379 | ( (This)->lpVtbl -> ClearUnorderedAccessViewUint(This,ViewGPUHandleInCurrentHeap,ViewCPUHandle,pResource,Values,NumRects,pRects) ) | ||
| 7380 | |||
| 7381 | #define ID3D12GraphicsCommandList_ClearUnorderedAccessViewFloat(This,ViewGPUHandleInCurrentHeap,ViewCPUHandle,pResource,Values,NumRects,pRects) \ | ||
| 7382 | ( (This)->lpVtbl -> ClearUnorderedAccessViewFloat(This,ViewGPUHandleInCurrentHeap,ViewCPUHandle,pResource,Values,NumRects,pRects) ) | ||
| 7383 | |||
| 7384 | #define ID3D12GraphicsCommandList_DiscardResource(This,pResource,pRegion) \ | ||
| 7385 | ( (This)->lpVtbl -> DiscardResource(This,pResource,pRegion) ) | ||
| 7386 | |||
| 7387 | #define ID3D12GraphicsCommandList_BeginQuery(This,pQueryHeap,Type,Index) \ | ||
| 7388 | ( (This)->lpVtbl -> BeginQuery(This,pQueryHeap,Type,Index) ) | ||
| 7389 | |||
| 7390 | #define ID3D12GraphicsCommandList_EndQuery(This,pQueryHeap,Type,Index) \ | ||
| 7391 | ( (This)->lpVtbl -> EndQuery(This,pQueryHeap,Type,Index) ) | ||
| 7392 | |||
| 7393 | #define ID3D12GraphicsCommandList_ResolveQueryData(This,pQueryHeap,Type,StartIndex,NumQueries,pDestinationBuffer,AlignedDestinationBufferOffset) \ | ||
| 7394 | ( (This)->lpVtbl -> ResolveQueryData(This,pQueryHeap,Type,StartIndex,NumQueries,pDestinationBuffer,AlignedDestinationBufferOffset) ) | ||
| 7395 | |||
| 7396 | #define ID3D12GraphicsCommandList_SetPredication(This,pBuffer,AlignedBufferOffset,Operation) \ | ||
| 7397 | ( (This)->lpVtbl -> SetPredication(This,pBuffer,AlignedBufferOffset,Operation) ) | ||
| 7398 | |||
| 7399 | #define ID3D12GraphicsCommandList_SetMarker(This,Metadata,pData,Size) \ | ||
| 7400 | ( (This)->lpVtbl -> SetMarker(This,Metadata,pData,Size) ) | ||
| 7401 | |||
| 7402 | #define ID3D12GraphicsCommandList_BeginEvent(This,Metadata,pData,Size) \ | ||
| 7403 | ( (This)->lpVtbl -> BeginEvent(This,Metadata,pData,Size) ) | ||
| 7404 | |||
| 7405 | #define ID3D12GraphicsCommandList_EndEvent(This) \ | ||
| 7406 | ( (This)->lpVtbl -> EndEvent(This) ) | ||
| 7407 | |||
| 7408 | #define ID3D12GraphicsCommandList_ExecuteIndirect(This,pCommandSignature,MaxCommandCount,pArgumentBuffer,ArgumentBufferOffset,pCountBuffer,CountBufferOffset) \ | ||
| 7409 | ( (This)->lpVtbl -> ExecuteIndirect(This,pCommandSignature,MaxCommandCount,pArgumentBuffer,ArgumentBufferOffset,pCountBuffer,CountBufferOffset) ) | ||
| 7410 | |||
| 7411 | #endif /* COBJMACROS */ | ||
| 7412 | |||
| 7413 | |||
| 7414 | #endif /* C style interface */ | ||
| 7415 | |||
| 7416 | |||
| 7417 | |||
| 7418 | |||
| 7419 | #endif /* __ID3D12GraphicsCommandList_INTERFACE_DEFINED__ */ | ||
| 7420 | |||
| 7421 | |||
| 7422 | #ifndef __ID3D12GraphicsCommandList1_INTERFACE_DEFINED__ | ||
| 7423 | #define __ID3D12GraphicsCommandList1_INTERFACE_DEFINED__ | ||
| 7424 | |||
| 7425 | /* interface ID3D12GraphicsCommandList1 */ | ||
| 7426 | /* [unique][local][object][uuid] */ | ||
| 7427 | |||
| 7428 | |||
| 7429 | EXTERN_C const IID IID_ID3D12GraphicsCommandList1; | ||
| 7430 | |||
| 7431 | #if defined(__cplusplus) && !defined(CINTERFACE) | ||
| 7432 | |||
| 7433 | MIDL_INTERFACE("553103fb-1fe7-4557-bb38-946d7d0e7ca7") | ||
| 7434 | ID3D12GraphicsCommandList1 : public ID3D12GraphicsCommandList | ||
| 7435 | { | ||
| 7436 | public: | ||
| 7437 | virtual void STDMETHODCALLTYPE AtomicCopyBufferUINT( | ||
| 7438 | _In_ ID3D12Resource *pDstBuffer, | ||
| 7439 | UINT64 DstOffset, | ||
| 7440 | _In_ ID3D12Resource *pSrcBuffer, | ||
| 7441 | UINT64 SrcOffset, | ||
| 7442 | UINT Dependencies, | ||
| 7443 | _In_reads_(Dependencies) ID3D12Resource *const *ppDependentResources, | ||
| 7444 | _In_reads_(Dependencies) const D3D12_SUBRESOURCE_RANGE_UINT64 *pDependentSubresourceRanges) = 0; | ||
| 7445 | |||
| 7446 | virtual void STDMETHODCALLTYPE AtomicCopyBufferUINT64( | ||
| 7447 | _In_ ID3D12Resource *pDstBuffer, | ||
| 7448 | UINT64 DstOffset, | ||
| 7449 | _In_ ID3D12Resource *pSrcBuffer, | ||
| 7450 | UINT64 SrcOffset, | ||
| 7451 | UINT Dependencies, | ||
| 7452 | _In_reads_(Dependencies) ID3D12Resource *const *ppDependentResources, | ||
| 7453 | _In_reads_(Dependencies) const D3D12_SUBRESOURCE_RANGE_UINT64 *pDependentSubresourceRanges) = 0; | ||
| 7454 | |||
| 7455 | virtual void STDMETHODCALLTYPE OMSetDepthBounds( | ||
| 7456 | _In_ FLOAT Min, | ||
| 7457 | _In_ FLOAT Max) = 0; | ||
| 7458 | |||
| 7459 | virtual void STDMETHODCALLTYPE SetSamplePositions( | ||
| 7460 | _In_ UINT NumSamplesPerPixel, | ||
| 7461 | _In_ UINT NumPixels, | ||
| 7462 | _In_reads_(NumSamplesPerPixel*NumPixels) D3D12_SAMPLE_POSITION *pSamplePositions) = 0; | ||
| 7463 | |||
| 7464 | virtual void STDMETHODCALLTYPE ResolveSubresourceRegion( | ||
| 7465 | _In_ ID3D12Resource *pDstResource, | ||
| 7466 | _In_ UINT DstSubresource, | ||
| 7467 | _In_ UINT DstX, | ||
| 7468 | _In_ UINT DstY, | ||
| 7469 | _In_ ID3D12Resource *pSrcResource, | ||
| 7470 | _In_ UINT SrcSubresource, | ||
| 7471 | _In_opt_ D3D12_RECT *pSrcRect, | ||
| 7472 | _In_ DXGI_FORMAT Format, | ||
| 7473 | _In_ D3D12_RESOLVE_MODE ResolveMode) = 0; | ||
| 7474 | |||
| 7475 | virtual void STDMETHODCALLTYPE SetViewInstanceMask( | ||
| 7476 | _In_ UINT Mask) = 0; | ||
| 7477 | |||
| 7478 | }; | ||
| 7479 | |||
| 7480 | |||
| 7481 | #else /* C style interface */ | ||
| 7482 | |||
| 7483 | typedef struct ID3D12GraphicsCommandList1Vtbl | ||
| 7484 | { | ||
| 7485 | BEGIN_INTERFACE | ||
| 7486 | |||
| 7487 | DECLSPEC_XFGVIRT(IUnknown, QueryInterface) | ||
| 7488 | HRESULT ( STDMETHODCALLTYPE *QueryInterface )( | ||
| 7489 | ID3D12GraphicsCommandList1 * This, | ||
| 7490 | REFIID riid, | ||
| 7491 | _COM_Outptr_ void **ppvObject); | ||
| 7492 | |||
| 7493 | DECLSPEC_XFGVIRT(IUnknown, AddRef) | ||
| 7494 | ULONG ( STDMETHODCALLTYPE *AddRef )( | ||
| 7495 | ID3D12GraphicsCommandList1 * This); | ||
| 7496 | |||
| 7497 | DECLSPEC_XFGVIRT(IUnknown, Release) | ||
| 7498 | ULONG ( STDMETHODCALLTYPE *Release )( | ||
| 7499 | ID3D12GraphicsCommandList1 * This); | ||
| 7500 | |||
| 7501 | DECLSPEC_XFGVIRT(ID3D12Object, GetPrivateData) | ||
| 7502 | HRESULT ( STDMETHODCALLTYPE *GetPrivateData )( | ||
| 7503 | ID3D12GraphicsCommandList1 * This, | ||
| 7504 | _In_ REFGUID guid, | ||
| 7505 | _Inout_ UINT *pDataSize, | ||
| 7506 | _Out_writes_bytes_opt_( *pDataSize ) void *pData); | ||
| 7507 | |||
| 7508 | DECLSPEC_XFGVIRT(ID3D12Object, SetPrivateData) | ||
| 7509 | HRESULT ( STDMETHODCALLTYPE *SetPrivateData )( | ||
| 7510 | ID3D12GraphicsCommandList1 * This, | ||
| 7511 | _In_ REFGUID guid, | ||
| 7512 | _In_ UINT DataSize, | ||
| 7513 | _In_reads_bytes_opt_( DataSize ) const void *pData); | ||
| 7514 | |||
| 7515 | DECLSPEC_XFGVIRT(ID3D12Object, SetPrivateDataInterface) | ||
| 7516 | HRESULT ( STDMETHODCALLTYPE *SetPrivateDataInterface )( | ||
| 7517 | ID3D12GraphicsCommandList1 * This, | ||
| 7518 | _In_ REFGUID guid, | ||
| 7519 | _In_opt_ const IUnknown *pData); | ||
| 7520 | |||
| 7521 | DECLSPEC_XFGVIRT(ID3D12Object, SetName) | ||
| 7522 | HRESULT ( STDMETHODCALLTYPE *SetName )( | ||
| 7523 | ID3D12GraphicsCommandList1 * This, | ||
| 7524 | _In_z_ LPCWSTR Name); | ||
| 7525 | |||
| 7526 | DECLSPEC_XFGVIRT(ID3D12DeviceChild, GetDevice) | ||
| 7527 | HRESULT ( STDMETHODCALLTYPE *GetDevice )( | ||
| 7528 | ID3D12GraphicsCommandList1 * This, | ||
| 7529 | REFIID riid, | ||
| 7530 | _COM_Outptr_opt_ void **ppvDevice); | ||
| 7531 | |||
| 7532 | DECLSPEC_XFGVIRT(ID3D12CommandList, GetType) | ||
| 7533 | D3D12_COMMAND_LIST_TYPE ( STDMETHODCALLTYPE *GetType )( | ||
| 7534 | ID3D12GraphicsCommandList1 * This); | ||
| 7535 | |||
| 7536 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, Close) | ||
| 7537 | HRESULT ( STDMETHODCALLTYPE *Close )( | ||
| 7538 | ID3D12GraphicsCommandList1 * This); | ||
| 7539 | |||
| 7540 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, Reset) | ||
| 7541 | HRESULT ( STDMETHODCALLTYPE *Reset )( | ||
| 7542 | ID3D12GraphicsCommandList1 * This, | ||
| 7543 | _In_ ID3D12CommandAllocator *pAllocator, | ||
| 7544 | _In_opt_ ID3D12PipelineState *pInitialState); | ||
| 7545 | |||
| 7546 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, ClearState) | ||
| 7547 | void ( STDMETHODCALLTYPE *ClearState )( | ||
| 7548 | ID3D12GraphicsCommandList1 * This, | ||
| 7549 | _In_opt_ ID3D12PipelineState *pPipelineState); | ||
| 7550 | |||
| 7551 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, DrawInstanced) | ||
| 7552 | void ( STDMETHODCALLTYPE *DrawInstanced )( | ||
| 7553 | ID3D12GraphicsCommandList1 * This, | ||
| 7554 | _In_ UINT VertexCountPerInstance, | ||
| 7555 | _In_ UINT InstanceCount, | ||
| 7556 | _In_ UINT StartVertexLocation, | ||
| 7557 | _In_ UINT StartInstanceLocation); | ||
| 7558 | |||
| 7559 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, DrawIndexedInstanced) | ||
| 7560 | void ( STDMETHODCALLTYPE *DrawIndexedInstanced )( | ||
| 7561 | ID3D12GraphicsCommandList1 * This, | ||
| 7562 | _In_ UINT IndexCountPerInstance, | ||
| 7563 | _In_ UINT InstanceCount, | ||
| 7564 | _In_ UINT StartIndexLocation, | ||
| 7565 | _In_ INT BaseVertexLocation, | ||
| 7566 | _In_ UINT StartInstanceLocation); | ||
| 7567 | |||
| 7568 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, Dispatch) | ||
| 7569 | void ( STDMETHODCALLTYPE *Dispatch )( | ||
| 7570 | ID3D12GraphicsCommandList1 * This, | ||
| 7571 | _In_ UINT ThreadGroupCountX, | ||
| 7572 | _In_ UINT ThreadGroupCountY, | ||
| 7573 | _In_ UINT ThreadGroupCountZ); | ||
| 7574 | |||
| 7575 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, CopyBufferRegion) | ||
| 7576 | void ( STDMETHODCALLTYPE *CopyBufferRegion )( | ||
| 7577 | ID3D12GraphicsCommandList1 * This, | ||
| 7578 | _In_ ID3D12Resource *pDstBuffer, | ||
| 7579 | UINT64 DstOffset, | ||
| 7580 | _In_ ID3D12Resource *pSrcBuffer, | ||
| 7581 | UINT64 SrcOffset, | ||
| 7582 | UINT64 NumBytes); | ||
| 7583 | |||
| 7584 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, CopyTextureRegion) | ||
| 7585 | void ( STDMETHODCALLTYPE *CopyTextureRegion )( | ||
| 7586 | ID3D12GraphicsCommandList1 * This, | ||
| 7587 | _In_ const D3D12_TEXTURE_COPY_LOCATION *pDst, | ||
| 7588 | UINT DstX, | ||
| 7589 | UINT DstY, | ||
| 7590 | UINT DstZ, | ||
| 7591 | _In_ const D3D12_TEXTURE_COPY_LOCATION *pSrc, | ||
| 7592 | _In_opt_ const D3D12_BOX *pSrcBox); | ||
| 7593 | |||
| 7594 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, CopyResource) | ||
| 7595 | void ( STDMETHODCALLTYPE *CopyResource )( | ||
| 7596 | ID3D12GraphicsCommandList1 * This, | ||
| 7597 | _In_ ID3D12Resource *pDstResource, | ||
| 7598 | _In_ ID3D12Resource *pSrcResource); | ||
| 7599 | |||
| 7600 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, CopyTiles) | ||
| 7601 | void ( STDMETHODCALLTYPE *CopyTiles )( | ||
| 7602 | ID3D12GraphicsCommandList1 * This, | ||
| 7603 | _In_ ID3D12Resource *pTiledResource, | ||
| 7604 | _In_ const D3D12_TILED_RESOURCE_COORDINATE *pTileRegionStartCoordinate, | ||
| 7605 | _In_ const D3D12_TILE_REGION_SIZE *pTileRegionSize, | ||
| 7606 | _In_ ID3D12Resource *pBuffer, | ||
| 7607 | UINT64 BufferStartOffsetInBytes, | ||
| 7608 | D3D12_TILE_COPY_FLAGS Flags); | ||
| 7609 | |||
| 7610 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, ResolveSubresource) | ||
| 7611 | void ( STDMETHODCALLTYPE *ResolveSubresource )( | ||
| 7612 | ID3D12GraphicsCommandList1 * This, | ||
| 7613 | _In_ ID3D12Resource *pDstResource, | ||
| 7614 | _In_ UINT DstSubresource, | ||
| 7615 | _In_ ID3D12Resource *pSrcResource, | ||
| 7616 | _In_ UINT SrcSubresource, | ||
| 7617 | _In_ DXGI_FORMAT Format); | ||
| 7618 | |||
| 7619 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, IASetPrimitiveTopology) | ||
| 7620 | void ( STDMETHODCALLTYPE *IASetPrimitiveTopology )( | ||
| 7621 | ID3D12GraphicsCommandList1 * This, | ||
| 7622 | _In_ D3D12_PRIMITIVE_TOPOLOGY PrimitiveTopology); | ||
| 7623 | |||
| 7624 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, RSSetViewports) | ||
| 7625 | void ( STDMETHODCALLTYPE *RSSetViewports )( | ||
| 7626 | ID3D12GraphicsCommandList1 * This, | ||
| 7627 | _In_range_(0, D3D12_VIEWPORT_AND_SCISSORRECT_OBJECT_COUNT_PER_PIPELINE) UINT NumViewports, | ||
| 7628 | _In_reads_( NumViewports) const D3D12_VIEWPORT *pViewports); | ||
| 7629 | |||
| 7630 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, RSSetScissorRects) | ||
| 7631 | void ( STDMETHODCALLTYPE *RSSetScissorRects )( | ||
| 7632 | ID3D12GraphicsCommandList1 * This, | ||
| 7633 | _In_range_(0, D3D12_VIEWPORT_AND_SCISSORRECT_OBJECT_COUNT_PER_PIPELINE) UINT NumRects, | ||
| 7634 | _In_reads_( NumRects) const D3D12_RECT *pRects); | ||
| 7635 | |||
| 7636 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, OMSetBlendFactor) | ||
| 7637 | void ( STDMETHODCALLTYPE *OMSetBlendFactor )( | ||
| 7638 | ID3D12GraphicsCommandList1 * This, | ||
| 7639 | _In_reads_opt_(4) const FLOAT BlendFactor[ 4 ]); | ||
| 7640 | |||
| 7641 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, OMSetStencilRef) | ||
| 7642 | void ( STDMETHODCALLTYPE *OMSetStencilRef )( | ||
| 7643 | ID3D12GraphicsCommandList1 * This, | ||
| 7644 | _In_ UINT StencilRef); | ||
| 7645 | |||
| 7646 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetPipelineState) | ||
| 7647 | void ( STDMETHODCALLTYPE *SetPipelineState )( | ||
| 7648 | ID3D12GraphicsCommandList1 * This, | ||
| 7649 | _In_ ID3D12PipelineState *pPipelineState); | ||
| 7650 | |||
| 7651 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, ResourceBarrier) | ||
| 7652 | void ( STDMETHODCALLTYPE *ResourceBarrier )( | ||
| 7653 | ID3D12GraphicsCommandList1 * This, | ||
| 7654 | _In_ UINT NumBarriers, | ||
| 7655 | _In_reads_(NumBarriers) const D3D12_RESOURCE_BARRIER *pBarriers); | ||
| 7656 | |||
| 7657 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, ExecuteBundle) | ||
| 7658 | void ( STDMETHODCALLTYPE *ExecuteBundle )( | ||
| 7659 | ID3D12GraphicsCommandList1 * This, | ||
| 7660 | _In_ ID3D12GraphicsCommandList *pCommandList); | ||
| 7661 | |||
| 7662 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetDescriptorHeaps) | ||
| 7663 | void ( STDMETHODCALLTYPE *SetDescriptorHeaps )( | ||
| 7664 | ID3D12GraphicsCommandList1 * This, | ||
| 7665 | _In_ UINT NumDescriptorHeaps, | ||
| 7666 | _In_reads_(NumDescriptorHeaps) ID3D12DescriptorHeap *const *ppDescriptorHeaps); | ||
| 7667 | |||
| 7668 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetComputeRootSignature) | ||
| 7669 | void ( STDMETHODCALLTYPE *SetComputeRootSignature )( | ||
| 7670 | ID3D12GraphicsCommandList1 * This, | ||
| 7671 | _In_opt_ ID3D12RootSignature *pRootSignature); | ||
| 7672 | |||
| 7673 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetGraphicsRootSignature) | ||
| 7674 | void ( STDMETHODCALLTYPE *SetGraphicsRootSignature )( | ||
| 7675 | ID3D12GraphicsCommandList1 * This, | ||
| 7676 | _In_opt_ ID3D12RootSignature *pRootSignature); | ||
| 7677 | |||
| 7678 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetComputeRootDescriptorTable) | ||
| 7679 | void ( STDMETHODCALLTYPE *SetComputeRootDescriptorTable )( | ||
| 7680 | ID3D12GraphicsCommandList1 * This, | ||
| 7681 | _In_ UINT RootParameterIndex, | ||
| 7682 | _In_ D3D12_GPU_DESCRIPTOR_HANDLE BaseDescriptor); | ||
| 7683 | |||
| 7684 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetGraphicsRootDescriptorTable) | ||
| 7685 | void ( STDMETHODCALLTYPE *SetGraphicsRootDescriptorTable )( | ||
| 7686 | ID3D12GraphicsCommandList1 * This, | ||
| 7687 | _In_ UINT RootParameterIndex, | ||
| 7688 | _In_ D3D12_GPU_DESCRIPTOR_HANDLE BaseDescriptor); | ||
| 7689 | |||
| 7690 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetComputeRoot32BitConstant) | ||
| 7691 | void ( STDMETHODCALLTYPE *SetComputeRoot32BitConstant )( | ||
| 7692 | ID3D12GraphicsCommandList1 * This, | ||
| 7693 | _In_ UINT RootParameterIndex, | ||
| 7694 | _In_ UINT SrcData, | ||
| 7695 | _In_ UINT DestOffsetIn32BitValues); | ||
| 7696 | |||
| 7697 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetGraphicsRoot32BitConstant) | ||
| 7698 | void ( STDMETHODCALLTYPE *SetGraphicsRoot32BitConstant )( | ||
| 7699 | ID3D12GraphicsCommandList1 * This, | ||
| 7700 | _In_ UINT RootParameterIndex, | ||
| 7701 | _In_ UINT SrcData, | ||
| 7702 | _In_ UINT DestOffsetIn32BitValues); | ||
| 7703 | |||
| 7704 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetComputeRoot32BitConstants) | ||
| 7705 | void ( STDMETHODCALLTYPE *SetComputeRoot32BitConstants )( | ||
| 7706 | ID3D12GraphicsCommandList1 * This, | ||
| 7707 | _In_ UINT RootParameterIndex, | ||
| 7708 | _In_ UINT Num32BitValuesToSet, | ||
| 7709 | _In_reads_(Num32BitValuesToSet*sizeof(UINT)) const void *pSrcData, | ||
| 7710 | _In_ UINT DestOffsetIn32BitValues); | ||
| 7711 | |||
| 7712 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetGraphicsRoot32BitConstants) | ||
| 7713 | void ( STDMETHODCALLTYPE *SetGraphicsRoot32BitConstants )( | ||
| 7714 | ID3D12GraphicsCommandList1 * This, | ||
| 7715 | _In_ UINT RootParameterIndex, | ||
| 7716 | _In_ UINT Num32BitValuesToSet, | ||
| 7717 | _In_reads_(Num32BitValuesToSet*sizeof(UINT)) const void *pSrcData, | ||
| 7718 | _In_ UINT DestOffsetIn32BitValues); | ||
| 7719 | |||
| 7720 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetComputeRootConstantBufferView) | ||
| 7721 | void ( STDMETHODCALLTYPE *SetComputeRootConstantBufferView )( | ||
| 7722 | ID3D12GraphicsCommandList1 * This, | ||
| 7723 | _In_ UINT RootParameterIndex, | ||
| 7724 | _In_ D3D12_GPU_VIRTUAL_ADDRESS BufferLocation); | ||
| 7725 | |||
| 7726 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetGraphicsRootConstantBufferView) | ||
| 7727 | void ( STDMETHODCALLTYPE *SetGraphicsRootConstantBufferView )( | ||
| 7728 | ID3D12GraphicsCommandList1 * This, | ||
| 7729 | _In_ UINT RootParameterIndex, | ||
| 7730 | _In_ D3D12_GPU_VIRTUAL_ADDRESS BufferLocation); | ||
| 7731 | |||
| 7732 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetComputeRootShaderResourceView) | ||
| 7733 | void ( STDMETHODCALLTYPE *SetComputeRootShaderResourceView )( | ||
| 7734 | ID3D12GraphicsCommandList1 * This, | ||
| 7735 | _In_ UINT RootParameterIndex, | ||
| 7736 | _In_ D3D12_GPU_VIRTUAL_ADDRESS BufferLocation); | ||
| 7737 | |||
| 7738 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetGraphicsRootShaderResourceView) | ||
| 7739 | void ( STDMETHODCALLTYPE *SetGraphicsRootShaderResourceView )( | ||
| 7740 | ID3D12GraphicsCommandList1 * This, | ||
| 7741 | _In_ UINT RootParameterIndex, | ||
| 7742 | _In_ D3D12_GPU_VIRTUAL_ADDRESS BufferLocation); | ||
| 7743 | |||
| 7744 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetComputeRootUnorderedAccessView) | ||
| 7745 | void ( STDMETHODCALLTYPE *SetComputeRootUnorderedAccessView )( | ||
| 7746 | ID3D12GraphicsCommandList1 * This, | ||
| 7747 | _In_ UINT RootParameterIndex, | ||
| 7748 | _In_ D3D12_GPU_VIRTUAL_ADDRESS BufferLocation); | ||
| 7749 | |||
| 7750 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetGraphicsRootUnorderedAccessView) | ||
| 7751 | void ( STDMETHODCALLTYPE *SetGraphicsRootUnorderedAccessView )( | ||
| 7752 | ID3D12GraphicsCommandList1 * This, | ||
| 7753 | _In_ UINT RootParameterIndex, | ||
| 7754 | _In_ D3D12_GPU_VIRTUAL_ADDRESS BufferLocation); | ||
| 7755 | |||
| 7756 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, IASetIndexBuffer) | ||
| 7757 | void ( STDMETHODCALLTYPE *IASetIndexBuffer )( | ||
| 7758 | ID3D12GraphicsCommandList1 * This, | ||
| 7759 | _In_opt_ const D3D12_INDEX_BUFFER_VIEW *pView); | ||
| 7760 | |||
| 7761 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, IASetVertexBuffers) | ||
| 7762 | void ( STDMETHODCALLTYPE *IASetVertexBuffers )( | ||
| 7763 | ID3D12GraphicsCommandList1 * This, | ||
| 7764 | _In_ UINT StartSlot, | ||
| 7765 | _In_ UINT NumViews, | ||
| 7766 | _In_reads_opt_(NumViews) const D3D12_VERTEX_BUFFER_VIEW *pViews); | ||
| 7767 | |||
| 7768 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SOSetTargets) | ||
| 7769 | void ( STDMETHODCALLTYPE *SOSetTargets )( | ||
| 7770 | ID3D12GraphicsCommandList1 * This, | ||
| 7771 | _In_ UINT StartSlot, | ||
| 7772 | _In_ UINT NumViews, | ||
| 7773 | _In_reads_opt_(NumViews) const D3D12_STREAM_OUTPUT_BUFFER_VIEW *pViews); | ||
| 7774 | |||
| 7775 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, OMSetRenderTargets) | ||
| 7776 | void ( STDMETHODCALLTYPE *OMSetRenderTargets )( | ||
| 7777 | ID3D12GraphicsCommandList1 * This, | ||
| 7778 | _In_ UINT NumRenderTargetDescriptors, | ||
| 7779 | _In_opt_ const D3D12_CPU_DESCRIPTOR_HANDLE *pRenderTargetDescriptors, | ||
| 7780 | _In_ BOOL RTsSingleHandleToDescriptorRange, | ||
| 7781 | _In_opt_ const D3D12_CPU_DESCRIPTOR_HANDLE *pDepthStencilDescriptor); | ||
| 7782 | |||
| 7783 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, ClearDepthStencilView) | ||
| 7784 | void ( STDMETHODCALLTYPE *ClearDepthStencilView )( | ||
| 7785 | ID3D12GraphicsCommandList1 * This, | ||
| 7786 | _In_ D3D12_CPU_DESCRIPTOR_HANDLE DepthStencilView, | ||
| 7787 | _In_ D3D12_CLEAR_FLAGS ClearFlags, | ||
| 7788 | _In_ FLOAT Depth, | ||
| 7789 | _In_ UINT8 Stencil, | ||
| 7790 | _In_ UINT NumRects, | ||
| 7791 | _In_reads_(NumRects) const D3D12_RECT *pRects); | ||
| 7792 | |||
| 7793 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, ClearRenderTargetView) | ||
| 7794 | void ( STDMETHODCALLTYPE *ClearRenderTargetView )( | ||
| 7795 | ID3D12GraphicsCommandList1 * This, | ||
| 7796 | _In_ D3D12_CPU_DESCRIPTOR_HANDLE RenderTargetView, | ||
| 7797 | _In_ const FLOAT ColorRGBA[ 4 ], | ||
| 7798 | _In_ UINT NumRects, | ||
| 7799 | _In_reads_(NumRects) const D3D12_RECT *pRects); | ||
| 7800 | |||
| 7801 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, ClearUnorderedAccessViewUint) | ||
| 7802 | void ( STDMETHODCALLTYPE *ClearUnorderedAccessViewUint )( | ||
| 7803 | ID3D12GraphicsCommandList1 * This, | ||
| 7804 | _In_ D3D12_GPU_DESCRIPTOR_HANDLE ViewGPUHandleInCurrentHeap, | ||
| 7805 | _In_ D3D12_CPU_DESCRIPTOR_HANDLE ViewCPUHandle, | ||
| 7806 | _In_ ID3D12Resource *pResource, | ||
| 7807 | _In_ const UINT Values[ 4 ], | ||
| 7808 | _In_ UINT NumRects, | ||
| 7809 | _In_reads_(NumRects) const D3D12_RECT *pRects); | ||
| 7810 | |||
| 7811 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, ClearUnorderedAccessViewFloat) | ||
| 7812 | void ( STDMETHODCALLTYPE *ClearUnorderedAccessViewFloat )( | ||
| 7813 | ID3D12GraphicsCommandList1 * This, | ||
| 7814 | _In_ D3D12_GPU_DESCRIPTOR_HANDLE ViewGPUHandleInCurrentHeap, | ||
| 7815 | _In_ D3D12_CPU_DESCRIPTOR_HANDLE ViewCPUHandle, | ||
| 7816 | _In_ ID3D12Resource *pResource, | ||
| 7817 | _In_ const FLOAT Values[ 4 ], | ||
| 7818 | _In_ UINT NumRects, | ||
| 7819 | _In_reads_(NumRects) const D3D12_RECT *pRects); | ||
| 7820 | |||
| 7821 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, DiscardResource) | ||
| 7822 | void ( STDMETHODCALLTYPE *DiscardResource )( | ||
| 7823 | ID3D12GraphicsCommandList1 * This, | ||
| 7824 | _In_ ID3D12Resource *pResource, | ||
| 7825 | _In_opt_ const D3D12_DISCARD_REGION *pRegion); | ||
| 7826 | |||
| 7827 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, BeginQuery) | ||
| 7828 | void ( STDMETHODCALLTYPE *BeginQuery )( | ||
| 7829 | ID3D12GraphicsCommandList1 * This, | ||
| 7830 | _In_ ID3D12QueryHeap *pQueryHeap, | ||
| 7831 | _In_ D3D12_QUERY_TYPE Type, | ||
| 7832 | _In_ UINT Index); | ||
| 7833 | |||
| 7834 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, EndQuery) | ||
| 7835 | void ( STDMETHODCALLTYPE *EndQuery )( | ||
| 7836 | ID3D12GraphicsCommandList1 * This, | ||
| 7837 | _In_ ID3D12QueryHeap *pQueryHeap, | ||
| 7838 | _In_ D3D12_QUERY_TYPE Type, | ||
| 7839 | _In_ UINT Index); | ||
| 7840 | |||
| 7841 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, ResolveQueryData) | ||
| 7842 | void ( STDMETHODCALLTYPE *ResolveQueryData )( | ||
| 7843 | ID3D12GraphicsCommandList1 * This, | ||
| 7844 | _In_ ID3D12QueryHeap *pQueryHeap, | ||
| 7845 | _In_ D3D12_QUERY_TYPE Type, | ||
| 7846 | _In_ UINT StartIndex, | ||
| 7847 | _In_ UINT NumQueries, | ||
| 7848 | _In_ ID3D12Resource *pDestinationBuffer, | ||
| 7849 | _In_ UINT64 AlignedDestinationBufferOffset); | ||
| 7850 | |||
| 7851 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetPredication) | ||
| 7852 | void ( STDMETHODCALLTYPE *SetPredication )( | ||
| 7853 | ID3D12GraphicsCommandList1 * This, | ||
| 7854 | _In_opt_ ID3D12Resource *pBuffer, | ||
| 7855 | _In_ UINT64 AlignedBufferOffset, | ||
| 7856 | _In_ D3D12_PREDICATION_OP Operation); | ||
| 7857 | |||
| 7858 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetMarker) | ||
| 7859 | void ( STDMETHODCALLTYPE *SetMarker )( | ||
| 7860 | ID3D12GraphicsCommandList1 * This, | ||
| 7861 | UINT Metadata, | ||
| 7862 | _In_reads_bytes_opt_(Size) const void *pData, | ||
| 7863 | UINT Size); | ||
| 7864 | |||
| 7865 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, BeginEvent) | ||
| 7866 | void ( STDMETHODCALLTYPE *BeginEvent )( | ||
| 7867 | ID3D12GraphicsCommandList1 * This, | ||
| 7868 | UINT Metadata, | ||
| 7869 | _In_reads_bytes_opt_(Size) const void *pData, | ||
| 7870 | UINT Size); | ||
| 7871 | |||
| 7872 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, EndEvent) | ||
| 7873 | void ( STDMETHODCALLTYPE *EndEvent )( | ||
| 7874 | ID3D12GraphicsCommandList1 * This); | ||
| 7875 | |||
| 7876 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, ExecuteIndirect) | ||
| 7877 | void ( STDMETHODCALLTYPE *ExecuteIndirect )( | ||
| 7878 | ID3D12GraphicsCommandList1 * This, | ||
| 7879 | _In_ ID3D12CommandSignature *pCommandSignature, | ||
| 7880 | _In_ UINT MaxCommandCount, | ||
| 7881 | _In_ ID3D12Resource *pArgumentBuffer, | ||
| 7882 | _In_ UINT64 ArgumentBufferOffset, | ||
| 7883 | _In_opt_ ID3D12Resource *pCountBuffer, | ||
| 7884 | _In_ UINT64 CountBufferOffset); | ||
| 7885 | |||
| 7886 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList1, AtomicCopyBufferUINT) | ||
| 7887 | void ( STDMETHODCALLTYPE *AtomicCopyBufferUINT )( | ||
| 7888 | ID3D12GraphicsCommandList1 * This, | ||
| 7889 | _In_ ID3D12Resource *pDstBuffer, | ||
| 7890 | UINT64 DstOffset, | ||
| 7891 | _In_ ID3D12Resource *pSrcBuffer, | ||
| 7892 | UINT64 SrcOffset, | ||
| 7893 | UINT Dependencies, | ||
| 7894 | _In_reads_(Dependencies) ID3D12Resource *const *ppDependentResources, | ||
| 7895 | _In_reads_(Dependencies) const D3D12_SUBRESOURCE_RANGE_UINT64 *pDependentSubresourceRanges); | ||
| 7896 | |||
| 7897 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList1, AtomicCopyBufferUINT64) | ||
| 7898 | void ( STDMETHODCALLTYPE *AtomicCopyBufferUINT64 )( | ||
| 7899 | ID3D12GraphicsCommandList1 * This, | ||
| 7900 | _In_ ID3D12Resource *pDstBuffer, | ||
| 7901 | UINT64 DstOffset, | ||
| 7902 | _In_ ID3D12Resource *pSrcBuffer, | ||
| 7903 | UINT64 SrcOffset, | ||
| 7904 | UINT Dependencies, | ||
| 7905 | _In_reads_(Dependencies) ID3D12Resource *const *ppDependentResources, | ||
| 7906 | _In_reads_(Dependencies) const D3D12_SUBRESOURCE_RANGE_UINT64 *pDependentSubresourceRanges); | ||
| 7907 | |||
| 7908 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList1, OMSetDepthBounds) | ||
| 7909 | void ( STDMETHODCALLTYPE *OMSetDepthBounds )( | ||
| 7910 | ID3D12GraphicsCommandList1 * This, | ||
| 7911 | _In_ FLOAT Min, | ||
| 7912 | _In_ FLOAT Max); | ||
| 7913 | |||
| 7914 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList1, SetSamplePositions) | ||
| 7915 | void ( STDMETHODCALLTYPE *SetSamplePositions )( | ||
| 7916 | ID3D12GraphicsCommandList1 * This, | ||
| 7917 | _In_ UINT NumSamplesPerPixel, | ||
| 7918 | _In_ UINT NumPixels, | ||
| 7919 | _In_reads_(NumSamplesPerPixel*NumPixels) D3D12_SAMPLE_POSITION *pSamplePositions); | ||
| 7920 | |||
| 7921 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList1, ResolveSubresourceRegion) | ||
| 7922 | void ( STDMETHODCALLTYPE *ResolveSubresourceRegion )( | ||
| 7923 | ID3D12GraphicsCommandList1 * This, | ||
| 7924 | _In_ ID3D12Resource *pDstResource, | ||
| 7925 | _In_ UINT DstSubresource, | ||
| 7926 | _In_ UINT DstX, | ||
| 7927 | _In_ UINT DstY, | ||
| 7928 | _In_ ID3D12Resource *pSrcResource, | ||
| 7929 | _In_ UINT SrcSubresource, | ||
| 7930 | _In_opt_ D3D12_RECT *pSrcRect, | ||
| 7931 | _In_ DXGI_FORMAT Format, | ||
| 7932 | _In_ D3D12_RESOLVE_MODE ResolveMode); | ||
| 7933 | |||
| 7934 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList1, SetViewInstanceMask) | ||
| 7935 | void ( STDMETHODCALLTYPE *SetViewInstanceMask )( | ||
| 7936 | ID3D12GraphicsCommandList1 * This, | ||
| 7937 | _In_ UINT Mask); | ||
| 7938 | |||
| 7939 | END_INTERFACE | ||
| 7940 | } ID3D12GraphicsCommandList1Vtbl; | ||
| 7941 | |||
| 7942 | interface ID3D12GraphicsCommandList1 | ||
| 7943 | { | ||
| 7944 | CONST_VTBL struct ID3D12GraphicsCommandList1Vtbl *lpVtbl; | ||
| 7945 | }; | ||
| 7946 | |||
| 7947 | |||
| 7948 | |||
| 7949 | #ifdef COBJMACROS | ||
| 7950 | |||
| 7951 | |||
| 7952 | #define ID3D12GraphicsCommandList1_QueryInterface(This,riid,ppvObject) \ | ||
| 7953 | ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) | ||
| 7954 | |||
| 7955 | #define ID3D12GraphicsCommandList1_AddRef(This) \ | ||
| 7956 | ( (This)->lpVtbl -> AddRef(This) ) | ||
| 7957 | |||
| 7958 | #define ID3D12GraphicsCommandList1_Release(This) \ | ||
| 7959 | ( (This)->lpVtbl -> Release(This) ) | ||
| 7960 | |||
| 7961 | |||
| 7962 | #define ID3D12GraphicsCommandList1_GetPrivateData(This,guid,pDataSize,pData) \ | ||
| 7963 | ( (This)->lpVtbl -> GetPrivateData(This,guid,pDataSize,pData) ) | ||
| 7964 | |||
| 7965 | #define ID3D12GraphicsCommandList1_SetPrivateData(This,guid,DataSize,pData) \ | ||
| 7966 | ( (This)->lpVtbl -> SetPrivateData(This,guid,DataSize,pData) ) | ||
| 7967 | |||
| 7968 | #define ID3D12GraphicsCommandList1_SetPrivateDataInterface(This,guid,pData) \ | ||
| 7969 | ( (This)->lpVtbl -> SetPrivateDataInterface(This,guid,pData) ) | ||
| 7970 | |||
| 7971 | #define ID3D12GraphicsCommandList1_SetName(This,Name) \ | ||
| 7972 | ( (This)->lpVtbl -> SetName(This,Name) ) | ||
| 7973 | |||
| 7974 | |||
| 7975 | #define ID3D12GraphicsCommandList1_GetDevice(This,riid,ppvDevice) \ | ||
| 7976 | ( (This)->lpVtbl -> GetDevice(This,riid,ppvDevice) ) | ||
| 7977 | |||
| 7978 | |||
| 7979 | #define ID3D12GraphicsCommandList1_GetType(This) \ | ||
| 7980 | ( (This)->lpVtbl -> GetType(This) ) | ||
| 7981 | |||
| 7982 | |||
| 7983 | #define ID3D12GraphicsCommandList1_Close(This) \ | ||
| 7984 | ( (This)->lpVtbl -> Close(This) ) | ||
| 7985 | |||
| 7986 | #define ID3D12GraphicsCommandList1_Reset(This,pAllocator,pInitialState) \ | ||
| 7987 | ( (This)->lpVtbl -> Reset(This,pAllocator,pInitialState) ) | ||
| 7988 | |||
| 7989 | #define ID3D12GraphicsCommandList1_ClearState(This,pPipelineState) \ | ||
| 7990 | ( (This)->lpVtbl -> ClearState(This,pPipelineState) ) | ||
| 7991 | |||
| 7992 | #define ID3D12GraphicsCommandList1_DrawInstanced(This,VertexCountPerInstance,InstanceCount,StartVertexLocation,StartInstanceLocation) \ | ||
| 7993 | ( (This)->lpVtbl -> DrawInstanced(This,VertexCountPerInstance,InstanceCount,StartVertexLocation,StartInstanceLocation) ) | ||
| 7994 | |||
| 7995 | #define ID3D12GraphicsCommandList1_DrawIndexedInstanced(This,IndexCountPerInstance,InstanceCount,StartIndexLocation,BaseVertexLocation,StartInstanceLocation) \ | ||
| 7996 | ( (This)->lpVtbl -> DrawIndexedInstanced(This,IndexCountPerInstance,InstanceCount,StartIndexLocation,BaseVertexLocation,StartInstanceLocation) ) | ||
| 7997 | |||
| 7998 | #define ID3D12GraphicsCommandList1_Dispatch(This,ThreadGroupCountX,ThreadGroupCountY,ThreadGroupCountZ) \ | ||
| 7999 | ( (This)->lpVtbl -> Dispatch(This,ThreadGroupCountX,ThreadGroupCountY,ThreadGroupCountZ) ) | ||
| 8000 | |||
| 8001 | #define ID3D12GraphicsCommandList1_CopyBufferRegion(This,pDstBuffer,DstOffset,pSrcBuffer,SrcOffset,NumBytes) \ | ||
| 8002 | ( (This)->lpVtbl -> CopyBufferRegion(This,pDstBuffer,DstOffset,pSrcBuffer,SrcOffset,NumBytes) ) | ||
| 8003 | |||
| 8004 | #define ID3D12GraphicsCommandList1_CopyTextureRegion(This,pDst,DstX,DstY,DstZ,pSrc,pSrcBox) \ | ||
| 8005 | ( (This)->lpVtbl -> CopyTextureRegion(This,pDst,DstX,DstY,DstZ,pSrc,pSrcBox) ) | ||
| 8006 | |||
| 8007 | #define ID3D12GraphicsCommandList1_CopyResource(This,pDstResource,pSrcResource) \ | ||
| 8008 | ( (This)->lpVtbl -> CopyResource(This,pDstResource,pSrcResource) ) | ||
| 8009 | |||
| 8010 | #define ID3D12GraphicsCommandList1_CopyTiles(This,pTiledResource,pTileRegionStartCoordinate,pTileRegionSize,pBuffer,BufferStartOffsetInBytes,Flags) \ | ||
| 8011 | ( (This)->lpVtbl -> CopyTiles(This,pTiledResource,pTileRegionStartCoordinate,pTileRegionSize,pBuffer,BufferStartOffsetInBytes,Flags) ) | ||
| 8012 | |||
| 8013 | #define ID3D12GraphicsCommandList1_ResolveSubresource(This,pDstResource,DstSubresource,pSrcResource,SrcSubresource,Format) \ | ||
| 8014 | ( (This)->lpVtbl -> ResolveSubresource(This,pDstResource,DstSubresource,pSrcResource,SrcSubresource,Format) ) | ||
| 8015 | |||
| 8016 | #define ID3D12GraphicsCommandList1_IASetPrimitiveTopology(This,PrimitiveTopology) \ | ||
| 8017 | ( (This)->lpVtbl -> IASetPrimitiveTopology(This,PrimitiveTopology) ) | ||
| 8018 | |||
| 8019 | #define ID3D12GraphicsCommandList1_RSSetViewports(This,NumViewports,pViewports) \ | ||
| 8020 | ( (This)->lpVtbl -> RSSetViewports(This,NumViewports,pViewports) ) | ||
| 8021 | |||
| 8022 | #define ID3D12GraphicsCommandList1_RSSetScissorRects(This,NumRects,pRects) \ | ||
| 8023 | ( (This)->lpVtbl -> RSSetScissorRects(This,NumRects,pRects) ) | ||
| 8024 | |||
| 8025 | #define ID3D12GraphicsCommandList1_OMSetBlendFactor(This,BlendFactor) \ | ||
| 8026 | ( (This)->lpVtbl -> OMSetBlendFactor(This,BlendFactor) ) | ||
| 8027 | |||
| 8028 | #define ID3D12GraphicsCommandList1_OMSetStencilRef(This,StencilRef) \ | ||
| 8029 | ( (This)->lpVtbl -> OMSetStencilRef(This,StencilRef) ) | ||
| 8030 | |||
| 8031 | #define ID3D12GraphicsCommandList1_SetPipelineState(This,pPipelineState) \ | ||
| 8032 | ( (This)->lpVtbl -> SetPipelineState(This,pPipelineState) ) | ||
| 8033 | |||
| 8034 | #define ID3D12GraphicsCommandList1_ResourceBarrier(This,NumBarriers,pBarriers) \ | ||
| 8035 | ( (This)->lpVtbl -> ResourceBarrier(This,NumBarriers,pBarriers) ) | ||
| 8036 | |||
| 8037 | #define ID3D12GraphicsCommandList1_ExecuteBundle(This,pCommandList) \ | ||
| 8038 | ( (This)->lpVtbl -> ExecuteBundle(This,pCommandList) ) | ||
| 8039 | |||
| 8040 | #define ID3D12GraphicsCommandList1_SetDescriptorHeaps(This,NumDescriptorHeaps,ppDescriptorHeaps) \ | ||
| 8041 | ( (This)->lpVtbl -> SetDescriptorHeaps(This,NumDescriptorHeaps,ppDescriptorHeaps) ) | ||
| 8042 | |||
| 8043 | #define ID3D12GraphicsCommandList1_SetComputeRootSignature(This,pRootSignature) \ | ||
| 8044 | ( (This)->lpVtbl -> SetComputeRootSignature(This,pRootSignature) ) | ||
| 8045 | |||
| 8046 | #define ID3D12GraphicsCommandList1_SetGraphicsRootSignature(This,pRootSignature) \ | ||
| 8047 | ( (This)->lpVtbl -> SetGraphicsRootSignature(This,pRootSignature) ) | ||
| 8048 | |||
| 8049 | #define ID3D12GraphicsCommandList1_SetComputeRootDescriptorTable(This,RootParameterIndex,BaseDescriptor) \ | ||
| 8050 | ( (This)->lpVtbl -> SetComputeRootDescriptorTable(This,RootParameterIndex,BaseDescriptor) ) | ||
| 8051 | |||
| 8052 | #define ID3D12GraphicsCommandList1_SetGraphicsRootDescriptorTable(This,RootParameterIndex,BaseDescriptor) \ | ||
| 8053 | ( (This)->lpVtbl -> SetGraphicsRootDescriptorTable(This,RootParameterIndex,BaseDescriptor) ) | ||
| 8054 | |||
| 8055 | #define ID3D12GraphicsCommandList1_SetComputeRoot32BitConstant(This,RootParameterIndex,SrcData,DestOffsetIn32BitValues) \ | ||
| 8056 | ( (This)->lpVtbl -> SetComputeRoot32BitConstant(This,RootParameterIndex,SrcData,DestOffsetIn32BitValues) ) | ||
| 8057 | |||
| 8058 | #define ID3D12GraphicsCommandList1_SetGraphicsRoot32BitConstant(This,RootParameterIndex,SrcData,DestOffsetIn32BitValues) \ | ||
| 8059 | ( (This)->lpVtbl -> SetGraphicsRoot32BitConstant(This,RootParameterIndex,SrcData,DestOffsetIn32BitValues) ) | ||
| 8060 | |||
| 8061 | #define ID3D12GraphicsCommandList1_SetComputeRoot32BitConstants(This,RootParameterIndex,Num32BitValuesToSet,pSrcData,DestOffsetIn32BitValues) \ | ||
| 8062 | ( (This)->lpVtbl -> SetComputeRoot32BitConstants(This,RootParameterIndex,Num32BitValuesToSet,pSrcData,DestOffsetIn32BitValues) ) | ||
| 8063 | |||
| 8064 | #define ID3D12GraphicsCommandList1_SetGraphicsRoot32BitConstants(This,RootParameterIndex,Num32BitValuesToSet,pSrcData,DestOffsetIn32BitValues) \ | ||
| 8065 | ( (This)->lpVtbl -> SetGraphicsRoot32BitConstants(This,RootParameterIndex,Num32BitValuesToSet,pSrcData,DestOffsetIn32BitValues) ) | ||
| 8066 | |||
| 8067 | #define ID3D12GraphicsCommandList1_SetComputeRootConstantBufferView(This,RootParameterIndex,BufferLocation) \ | ||
| 8068 | ( (This)->lpVtbl -> SetComputeRootConstantBufferView(This,RootParameterIndex,BufferLocation) ) | ||
| 8069 | |||
| 8070 | #define ID3D12GraphicsCommandList1_SetGraphicsRootConstantBufferView(This,RootParameterIndex,BufferLocation) \ | ||
| 8071 | ( (This)->lpVtbl -> SetGraphicsRootConstantBufferView(This,RootParameterIndex,BufferLocation) ) | ||
| 8072 | |||
| 8073 | #define ID3D12GraphicsCommandList1_SetComputeRootShaderResourceView(This,RootParameterIndex,BufferLocation) \ | ||
| 8074 | ( (This)->lpVtbl -> SetComputeRootShaderResourceView(This,RootParameterIndex,BufferLocation) ) | ||
| 8075 | |||
| 8076 | #define ID3D12GraphicsCommandList1_SetGraphicsRootShaderResourceView(This,RootParameterIndex,BufferLocation) \ | ||
| 8077 | ( (This)->lpVtbl -> SetGraphicsRootShaderResourceView(This,RootParameterIndex,BufferLocation) ) | ||
| 8078 | |||
| 8079 | #define ID3D12GraphicsCommandList1_SetComputeRootUnorderedAccessView(This,RootParameterIndex,BufferLocation) \ | ||
| 8080 | ( (This)->lpVtbl -> SetComputeRootUnorderedAccessView(This,RootParameterIndex,BufferLocation) ) | ||
| 8081 | |||
| 8082 | #define ID3D12GraphicsCommandList1_SetGraphicsRootUnorderedAccessView(This,RootParameterIndex,BufferLocation) \ | ||
| 8083 | ( (This)->lpVtbl -> SetGraphicsRootUnorderedAccessView(This,RootParameterIndex,BufferLocation) ) | ||
| 8084 | |||
| 8085 | #define ID3D12GraphicsCommandList1_IASetIndexBuffer(This,pView) \ | ||
| 8086 | ( (This)->lpVtbl -> IASetIndexBuffer(This,pView) ) | ||
| 8087 | |||
| 8088 | #define ID3D12GraphicsCommandList1_IASetVertexBuffers(This,StartSlot,NumViews,pViews) \ | ||
| 8089 | ( (This)->lpVtbl -> IASetVertexBuffers(This,StartSlot,NumViews,pViews) ) | ||
| 8090 | |||
| 8091 | #define ID3D12GraphicsCommandList1_SOSetTargets(This,StartSlot,NumViews,pViews) \ | ||
| 8092 | ( (This)->lpVtbl -> SOSetTargets(This,StartSlot,NumViews,pViews) ) | ||
| 8093 | |||
| 8094 | #define ID3D12GraphicsCommandList1_OMSetRenderTargets(This,NumRenderTargetDescriptors,pRenderTargetDescriptors,RTsSingleHandleToDescriptorRange,pDepthStencilDescriptor) \ | ||
| 8095 | ( (This)->lpVtbl -> OMSetRenderTargets(This,NumRenderTargetDescriptors,pRenderTargetDescriptors,RTsSingleHandleToDescriptorRange,pDepthStencilDescriptor) ) | ||
| 8096 | |||
| 8097 | #define ID3D12GraphicsCommandList1_ClearDepthStencilView(This,DepthStencilView,ClearFlags,Depth,Stencil,NumRects,pRects) \ | ||
| 8098 | ( (This)->lpVtbl -> ClearDepthStencilView(This,DepthStencilView,ClearFlags,Depth,Stencil,NumRects,pRects) ) | ||
| 8099 | |||
| 8100 | #define ID3D12GraphicsCommandList1_ClearRenderTargetView(This,RenderTargetView,ColorRGBA,NumRects,pRects) \ | ||
| 8101 | ( (This)->lpVtbl -> ClearRenderTargetView(This,RenderTargetView,ColorRGBA,NumRects,pRects) ) | ||
| 8102 | |||
| 8103 | #define ID3D12GraphicsCommandList1_ClearUnorderedAccessViewUint(This,ViewGPUHandleInCurrentHeap,ViewCPUHandle,pResource,Values,NumRects,pRects) \ | ||
| 8104 | ( (This)->lpVtbl -> ClearUnorderedAccessViewUint(This,ViewGPUHandleInCurrentHeap,ViewCPUHandle,pResource,Values,NumRects,pRects) ) | ||
| 8105 | |||
| 8106 | #define ID3D12GraphicsCommandList1_ClearUnorderedAccessViewFloat(This,ViewGPUHandleInCurrentHeap,ViewCPUHandle,pResource,Values,NumRects,pRects) \ | ||
| 8107 | ( (This)->lpVtbl -> ClearUnorderedAccessViewFloat(This,ViewGPUHandleInCurrentHeap,ViewCPUHandle,pResource,Values,NumRects,pRects) ) | ||
| 8108 | |||
| 8109 | #define ID3D12GraphicsCommandList1_DiscardResource(This,pResource,pRegion) \ | ||
| 8110 | ( (This)->lpVtbl -> DiscardResource(This,pResource,pRegion) ) | ||
| 8111 | |||
| 8112 | #define ID3D12GraphicsCommandList1_BeginQuery(This,pQueryHeap,Type,Index) \ | ||
| 8113 | ( (This)->lpVtbl -> BeginQuery(This,pQueryHeap,Type,Index) ) | ||
| 8114 | |||
| 8115 | #define ID3D12GraphicsCommandList1_EndQuery(This,pQueryHeap,Type,Index) \ | ||
| 8116 | ( (This)->lpVtbl -> EndQuery(This,pQueryHeap,Type,Index) ) | ||
| 8117 | |||
| 8118 | #define ID3D12GraphicsCommandList1_ResolveQueryData(This,pQueryHeap,Type,StartIndex,NumQueries,pDestinationBuffer,AlignedDestinationBufferOffset) \ | ||
| 8119 | ( (This)->lpVtbl -> ResolveQueryData(This,pQueryHeap,Type,StartIndex,NumQueries,pDestinationBuffer,AlignedDestinationBufferOffset) ) | ||
| 8120 | |||
| 8121 | #define ID3D12GraphicsCommandList1_SetPredication(This,pBuffer,AlignedBufferOffset,Operation) \ | ||
| 8122 | ( (This)->lpVtbl -> SetPredication(This,pBuffer,AlignedBufferOffset,Operation) ) | ||
| 8123 | |||
| 8124 | #define ID3D12GraphicsCommandList1_SetMarker(This,Metadata,pData,Size) \ | ||
| 8125 | ( (This)->lpVtbl -> SetMarker(This,Metadata,pData,Size) ) | ||
| 8126 | |||
| 8127 | #define ID3D12GraphicsCommandList1_BeginEvent(This,Metadata,pData,Size) \ | ||
| 8128 | ( (This)->lpVtbl -> BeginEvent(This,Metadata,pData,Size) ) | ||
| 8129 | |||
| 8130 | #define ID3D12GraphicsCommandList1_EndEvent(This) \ | ||
| 8131 | ( (This)->lpVtbl -> EndEvent(This) ) | ||
| 8132 | |||
| 8133 | #define ID3D12GraphicsCommandList1_ExecuteIndirect(This,pCommandSignature,MaxCommandCount,pArgumentBuffer,ArgumentBufferOffset,pCountBuffer,CountBufferOffset) \ | ||
| 8134 | ( (This)->lpVtbl -> ExecuteIndirect(This,pCommandSignature,MaxCommandCount,pArgumentBuffer,ArgumentBufferOffset,pCountBuffer,CountBufferOffset) ) | ||
| 8135 | |||
| 8136 | |||
| 8137 | #define ID3D12GraphicsCommandList1_AtomicCopyBufferUINT(This,pDstBuffer,DstOffset,pSrcBuffer,SrcOffset,Dependencies,ppDependentResources,pDependentSubresourceRanges) \ | ||
| 8138 | ( (This)->lpVtbl -> AtomicCopyBufferUINT(This,pDstBuffer,DstOffset,pSrcBuffer,SrcOffset,Dependencies,ppDependentResources,pDependentSubresourceRanges) ) | ||
| 8139 | |||
| 8140 | #define ID3D12GraphicsCommandList1_AtomicCopyBufferUINT64(This,pDstBuffer,DstOffset,pSrcBuffer,SrcOffset,Dependencies,ppDependentResources,pDependentSubresourceRanges) \ | ||
| 8141 | ( (This)->lpVtbl -> AtomicCopyBufferUINT64(This,pDstBuffer,DstOffset,pSrcBuffer,SrcOffset,Dependencies,ppDependentResources,pDependentSubresourceRanges) ) | ||
| 8142 | |||
| 8143 | #define ID3D12GraphicsCommandList1_OMSetDepthBounds(This,Min,Max) \ | ||
| 8144 | ( (This)->lpVtbl -> OMSetDepthBounds(This,Min,Max) ) | ||
| 8145 | |||
| 8146 | #define ID3D12GraphicsCommandList1_SetSamplePositions(This,NumSamplesPerPixel,NumPixels,pSamplePositions) \ | ||
| 8147 | ( (This)->lpVtbl -> SetSamplePositions(This,NumSamplesPerPixel,NumPixels,pSamplePositions) ) | ||
| 8148 | |||
| 8149 | #define ID3D12GraphicsCommandList1_ResolveSubresourceRegion(This,pDstResource,DstSubresource,DstX,DstY,pSrcResource,SrcSubresource,pSrcRect,Format,ResolveMode) \ | ||
| 8150 | ( (This)->lpVtbl -> ResolveSubresourceRegion(This,pDstResource,DstSubresource,DstX,DstY,pSrcResource,SrcSubresource,pSrcRect,Format,ResolveMode) ) | ||
| 8151 | |||
| 8152 | #define ID3D12GraphicsCommandList1_SetViewInstanceMask(This,Mask) \ | ||
| 8153 | ( (This)->lpVtbl -> SetViewInstanceMask(This,Mask) ) | ||
| 8154 | |||
| 8155 | #endif /* COBJMACROS */ | ||
| 8156 | |||
| 8157 | |||
| 8158 | #endif /* C style interface */ | ||
| 8159 | |||
| 8160 | |||
| 8161 | |||
| 8162 | |||
| 8163 | #endif /* __ID3D12GraphicsCommandList1_INTERFACE_DEFINED__ */ | ||
| 8164 | |||
| 8165 | |||
| 8166 | /* interface __MIDL_itf_d3d12_0000_0019 */ | ||
| 8167 | /* [local] */ | ||
| 8168 | |||
| 8169 | typedef struct D3D12_WRITEBUFFERIMMEDIATE_PARAMETER | ||
| 8170 | { | ||
| 8171 | D3D12_GPU_VIRTUAL_ADDRESS Dest; | ||
| 8172 | UINT32 Value; | ||
| 8173 | } D3D12_WRITEBUFFERIMMEDIATE_PARAMETER; | ||
| 8174 | |||
| 8175 | typedef | ||
| 8176 | enum D3D12_WRITEBUFFERIMMEDIATE_MODE | ||
| 8177 | { | ||
| 8178 | D3D12_WRITEBUFFERIMMEDIATE_MODE_DEFAULT = 0, | ||
| 8179 | D3D12_WRITEBUFFERIMMEDIATE_MODE_MARKER_IN = 0x1, | ||
| 8180 | D3D12_WRITEBUFFERIMMEDIATE_MODE_MARKER_OUT = 0x2 | ||
| 8181 | } D3D12_WRITEBUFFERIMMEDIATE_MODE; | ||
| 8182 | |||
| 8183 | |||
| 8184 | |||
| 8185 | extern RPC_IF_HANDLE __MIDL_itf_d3d12_0000_0019_v0_0_c_ifspec; | ||
| 8186 | extern RPC_IF_HANDLE __MIDL_itf_d3d12_0000_0019_v0_0_s_ifspec; | ||
| 8187 | |||
| 8188 | #ifndef __ID3D12GraphicsCommandList2_INTERFACE_DEFINED__ | ||
| 8189 | #define __ID3D12GraphicsCommandList2_INTERFACE_DEFINED__ | ||
| 8190 | |||
| 8191 | /* interface ID3D12GraphicsCommandList2 */ | ||
| 8192 | /* [unique][local][object][uuid] */ | ||
| 8193 | |||
| 8194 | |||
| 8195 | EXTERN_C const IID IID_ID3D12GraphicsCommandList2; | ||
| 8196 | |||
| 8197 | #if defined(__cplusplus) && !defined(CINTERFACE) | ||
| 8198 | |||
| 8199 | MIDL_INTERFACE("38C3E585-FF17-412C-9150-4FC6F9D72A28") | ||
| 8200 | ID3D12GraphicsCommandList2 : public ID3D12GraphicsCommandList1 | ||
| 8201 | { | ||
| 8202 | public: | ||
| 8203 | virtual void STDMETHODCALLTYPE WriteBufferImmediate( | ||
| 8204 | UINT Count, | ||
| 8205 | _In_reads_(Count) const D3D12_WRITEBUFFERIMMEDIATE_PARAMETER *pParams, | ||
| 8206 | _In_reads_opt_(Count) const D3D12_WRITEBUFFERIMMEDIATE_MODE *pModes) = 0; | ||
| 8207 | |||
| 8208 | }; | ||
| 8209 | |||
| 8210 | |||
| 8211 | #else /* C style interface */ | ||
| 8212 | |||
| 8213 | typedef struct ID3D12GraphicsCommandList2Vtbl | ||
| 8214 | { | ||
| 8215 | BEGIN_INTERFACE | ||
| 8216 | |||
| 8217 | DECLSPEC_XFGVIRT(IUnknown, QueryInterface) | ||
| 8218 | HRESULT ( STDMETHODCALLTYPE *QueryInterface )( | ||
| 8219 | ID3D12GraphicsCommandList2 * This, | ||
| 8220 | REFIID riid, | ||
| 8221 | _COM_Outptr_ void **ppvObject); | ||
| 8222 | |||
| 8223 | DECLSPEC_XFGVIRT(IUnknown, AddRef) | ||
| 8224 | ULONG ( STDMETHODCALLTYPE *AddRef )( | ||
| 8225 | ID3D12GraphicsCommandList2 * This); | ||
| 8226 | |||
| 8227 | DECLSPEC_XFGVIRT(IUnknown, Release) | ||
| 8228 | ULONG ( STDMETHODCALLTYPE *Release )( | ||
| 8229 | ID3D12GraphicsCommandList2 * This); | ||
| 8230 | |||
| 8231 | DECLSPEC_XFGVIRT(ID3D12Object, GetPrivateData) | ||
| 8232 | HRESULT ( STDMETHODCALLTYPE *GetPrivateData )( | ||
| 8233 | ID3D12GraphicsCommandList2 * This, | ||
| 8234 | _In_ REFGUID guid, | ||
| 8235 | _Inout_ UINT *pDataSize, | ||
| 8236 | _Out_writes_bytes_opt_( *pDataSize ) void *pData); | ||
| 8237 | |||
| 8238 | DECLSPEC_XFGVIRT(ID3D12Object, SetPrivateData) | ||
| 8239 | HRESULT ( STDMETHODCALLTYPE *SetPrivateData )( | ||
| 8240 | ID3D12GraphicsCommandList2 * This, | ||
| 8241 | _In_ REFGUID guid, | ||
| 8242 | _In_ UINT DataSize, | ||
| 8243 | _In_reads_bytes_opt_( DataSize ) const void *pData); | ||
| 8244 | |||
| 8245 | DECLSPEC_XFGVIRT(ID3D12Object, SetPrivateDataInterface) | ||
| 8246 | HRESULT ( STDMETHODCALLTYPE *SetPrivateDataInterface )( | ||
| 8247 | ID3D12GraphicsCommandList2 * This, | ||
| 8248 | _In_ REFGUID guid, | ||
| 8249 | _In_opt_ const IUnknown *pData); | ||
| 8250 | |||
| 8251 | DECLSPEC_XFGVIRT(ID3D12Object, SetName) | ||
| 8252 | HRESULT ( STDMETHODCALLTYPE *SetName )( | ||
| 8253 | ID3D12GraphicsCommandList2 * This, | ||
| 8254 | _In_z_ LPCWSTR Name); | ||
| 8255 | |||
| 8256 | DECLSPEC_XFGVIRT(ID3D12DeviceChild, GetDevice) | ||
| 8257 | HRESULT ( STDMETHODCALLTYPE *GetDevice )( | ||
| 8258 | ID3D12GraphicsCommandList2 * This, | ||
| 8259 | REFIID riid, | ||
| 8260 | _COM_Outptr_opt_ void **ppvDevice); | ||
| 8261 | |||
| 8262 | DECLSPEC_XFGVIRT(ID3D12CommandList, GetType) | ||
| 8263 | D3D12_COMMAND_LIST_TYPE ( STDMETHODCALLTYPE *GetType )( | ||
| 8264 | ID3D12GraphicsCommandList2 * This); | ||
| 8265 | |||
| 8266 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, Close) | ||
| 8267 | HRESULT ( STDMETHODCALLTYPE *Close )( | ||
| 8268 | ID3D12GraphicsCommandList2 * This); | ||
| 8269 | |||
| 8270 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, Reset) | ||
| 8271 | HRESULT ( STDMETHODCALLTYPE *Reset )( | ||
| 8272 | ID3D12GraphicsCommandList2 * This, | ||
| 8273 | _In_ ID3D12CommandAllocator *pAllocator, | ||
| 8274 | _In_opt_ ID3D12PipelineState *pInitialState); | ||
| 8275 | |||
| 8276 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, ClearState) | ||
| 8277 | void ( STDMETHODCALLTYPE *ClearState )( | ||
| 8278 | ID3D12GraphicsCommandList2 * This, | ||
| 8279 | _In_opt_ ID3D12PipelineState *pPipelineState); | ||
| 8280 | |||
| 8281 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, DrawInstanced) | ||
| 8282 | void ( STDMETHODCALLTYPE *DrawInstanced )( | ||
| 8283 | ID3D12GraphicsCommandList2 * This, | ||
| 8284 | _In_ UINT VertexCountPerInstance, | ||
| 8285 | _In_ UINT InstanceCount, | ||
| 8286 | _In_ UINT StartVertexLocation, | ||
| 8287 | _In_ UINT StartInstanceLocation); | ||
| 8288 | |||
| 8289 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, DrawIndexedInstanced) | ||
| 8290 | void ( STDMETHODCALLTYPE *DrawIndexedInstanced )( | ||
| 8291 | ID3D12GraphicsCommandList2 * This, | ||
| 8292 | _In_ UINT IndexCountPerInstance, | ||
| 8293 | _In_ UINT InstanceCount, | ||
| 8294 | _In_ UINT StartIndexLocation, | ||
| 8295 | _In_ INT BaseVertexLocation, | ||
| 8296 | _In_ UINT StartInstanceLocation); | ||
| 8297 | |||
| 8298 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, Dispatch) | ||
| 8299 | void ( STDMETHODCALLTYPE *Dispatch )( | ||
| 8300 | ID3D12GraphicsCommandList2 * This, | ||
| 8301 | _In_ UINT ThreadGroupCountX, | ||
| 8302 | _In_ UINT ThreadGroupCountY, | ||
| 8303 | _In_ UINT ThreadGroupCountZ); | ||
| 8304 | |||
| 8305 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, CopyBufferRegion) | ||
| 8306 | void ( STDMETHODCALLTYPE *CopyBufferRegion )( | ||
| 8307 | ID3D12GraphicsCommandList2 * This, | ||
| 8308 | _In_ ID3D12Resource *pDstBuffer, | ||
| 8309 | UINT64 DstOffset, | ||
| 8310 | _In_ ID3D12Resource *pSrcBuffer, | ||
| 8311 | UINT64 SrcOffset, | ||
| 8312 | UINT64 NumBytes); | ||
| 8313 | |||
| 8314 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, CopyTextureRegion) | ||
| 8315 | void ( STDMETHODCALLTYPE *CopyTextureRegion )( | ||
| 8316 | ID3D12GraphicsCommandList2 * This, | ||
| 8317 | _In_ const D3D12_TEXTURE_COPY_LOCATION *pDst, | ||
| 8318 | UINT DstX, | ||
| 8319 | UINT DstY, | ||
| 8320 | UINT DstZ, | ||
| 8321 | _In_ const D3D12_TEXTURE_COPY_LOCATION *pSrc, | ||
| 8322 | _In_opt_ const D3D12_BOX *pSrcBox); | ||
| 8323 | |||
| 8324 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, CopyResource) | ||
| 8325 | void ( STDMETHODCALLTYPE *CopyResource )( | ||
| 8326 | ID3D12GraphicsCommandList2 * This, | ||
| 8327 | _In_ ID3D12Resource *pDstResource, | ||
| 8328 | _In_ ID3D12Resource *pSrcResource); | ||
| 8329 | |||
| 8330 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, CopyTiles) | ||
| 8331 | void ( STDMETHODCALLTYPE *CopyTiles )( | ||
| 8332 | ID3D12GraphicsCommandList2 * This, | ||
| 8333 | _In_ ID3D12Resource *pTiledResource, | ||
| 8334 | _In_ const D3D12_TILED_RESOURCE_COORDINATE *pTileRegionStartCoordinate, | ||
| 8335 | _In_ const D3D12_TILE_REGION_SIZE *pTileRegionSize, | ||
| 8336 | _In_ ID3D12Resource *pBuffer, | ||
| 8337 | UINT64 BufferStartOffsetInBytes, | ||
| 8338 | D3D12_TILE_COPY_FLAGS Flags); | ||
| 8339 | |||
| 8340 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, ResolveSubresource) | ||
| 8341 | void ( STDMETHODCALLTYPE *ResolveSubresource )( | ||
| 8342 | ID3D12GraphicsCommandList2 * This, | ||
| 8343 | _In_ ID3D12Resource *pDstResource, | ||
| 8344 | _In_ UINT DstSubresource, | ||
| 8345 | _In_ ID3D12Resource *pSrcResource, | ||
| 8346 | _In_ UINT SrcSubresource, | ||
| 8347 | _In_ DXGI_FORMAT Format); | ||
| 8348 | |||
| 8349 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, IASetPrimitiveTopology) | ||
| 8350 | void ( STDMETHODCALLTYPE *IASetPrimitiveTopology )( | ||
| 8351 | ID3D12GraphicsCommandList2 * This, | ||
| 8352 | _In_ D3D12_PRIMITIVE_TOPOLOGY PrimitiveTopology); | ||
| 8353 | |||
| 8354 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, RSSetViewports) | ||
| 8355 | void ( STDMETHODCALLTYPE *RSSetViewports )( | ||
| 8356 | ID3D12GraphicsCommandList2 * This, | ||
| 8357 | _In_range_(0, D3D12_VIEWPORT_AND_SCISSORRECT_OBJECT_COUNT_PER_PIPELINE) UINT NumViewports, | ||
| 8358 | _In_reads_( NumViewports) const D3D12_VIEWPORT *pViewports); | ||
| 8359 | |||
| 8360 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, RSSetScissorRects) | ||
| 8361 | void ( STDMETHODCALLTYPE *RSSetScissorRects )( | ||
| 8362 | ID3D12GraphicsCommandList2 * This, | ||
| 8363 | _In_range_(0, D3D12_VIEWPORT_AND_SCISSORRECT_OBJECT_COUNT_PER_PIPELINE) UINT NumRects, | ||
| 8364 | _In_reads_( NumRects) const D3D12_RECT *pRects); | ||
| 8365 | |||
| 8366 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, OMSetBlendFactor) | ||
| 8367 | void ( STDMETHODCALLTYPE *OMSetBlendFactor )( | ||
| 8368 | ID3D12GraphicsCommandList2 * This, | ||
| 8369 | _In_reads_opt_(4) const FLOAT BlendFactor[ 4 ]); | ||
| 8370 | |||
| 8371 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, OMSetStencilRef) | ||
| 8372 | void ( STDMETHODCALLTYPE *OMSetStencilRef )( | ||
| 8373 | ID3D12GraphicsCommandList2 * This, | ||
| 8374 | _In_ UINT StencilRef); | ||
| 8375 | |||
| 8376 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetPipelineState) | ||
| 8377 | void ( STDMETHODCALLTYPE *SetPipelineState )( | ||
| 8378 | ID3D12GraphicsCommandList2 * This, | ||
| 8379 | _In_ ID3D12PipelineState *pPipelineState); | ||
| 8380 | |||
| 8381 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, ResourceBarrier) | ||
| 8382 | void ( STDMETHODCALLTYPE *ResourceBarrier )( | ||
| 8383 | ID3D12GraphicsCommandList2 * This, | ||
| 8384 | _In_ UINT NumBarriers, | ||
| 8385 | _In_reads_(NumBarriers) const D3D12_RESOURCE_BARRIER *pBarriers); | ||
| 8386 | |||
| 8387 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, ExecuteBundle) | ||
| 8388 | void ( STDMETHODCALLTYPE *ExecuteBundle )( | ||
| 8389 | ID3D12GraphicsCommandList2 * This, | ||
| 8390 | _In_ ID3D12GraphicsCommandList *pCommandList); | ||
| 8391 | |||
| 8392 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetDescriptorHeaps) | ||
| 8393 | void ( STDMETHODCALLTYPE *SetDescriptorHeaps )( | ||
| 8394 | ID3D12GraphicsCommandList2 * This, | ||
| 8395 | _In_ UINT NumDescriptorHeaps, | ||
| 8396 | _In_reads_(NumDescriptorHeaps) ID3D12DescriptorHeap *const *ppDescriptorHeaps); | ||
| 8397 | |||
| 8398 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetComputeRootSignature) | ||
| 8399 | void ( STDMETHODCALLTYPE *SetComputeRootSignature )( | ||
| 8400 | ID3D12GraphicsCommandList2 * This, | ||
| 8401 | _In_opt_ ID3D12RootSignature *pRootSignature); | ||
| 8402 | |||
| 8403 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetGraphicsRootSignature) | ||
| 8404 | void ( STDMETHODCALLTYPE *SetGraphicsRootSignature )( | ||
| 8405 | ID3D12GraphicsCommandList2 * This, | ||
| 8406 | _In_opt_ ID3D12RootSignature *pRootSignature); | ||
| 8407 | |||
| 8408 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetComputeRootDescriptorTable) | ||
| 8409 | void ( STDMETHODCALLTYPE *SetComputeRootDescriptorTable )( | ||
| 8410 | ID3D12GraphicsCommandList2 * This, | ||
| 8411 | _In_ UINT RootParameterIndex, | ||
| 8412 | _In_ D3D12_GPU_DESCRIPTOR_HANDLE BaseDescriptor); | ||
| 8413 | |||
| 8414 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetGraphicsRootDescriptorTable) | ||
| 8415 | void ( STDMETHODCALLTYPE *SetGraphicsRootDescriptorTable )( | ||
| 8416 | ID3D12GraphicsCommandList2 * This, | ||
| 8417 | _In_ UINT RootParameterIndex, | ||
| 8418 | _In_ D3D12_GPU_DESCRIPTOR_HANDLE BaseDescriptor); | ||
| 8419 | |||
| 8420 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetComputeRoot32BitConstant) | ||
| 8421 | void ( STDMETHODCALLTYPE *SetComputeRoot32BitConstant )( | ||
| 8422 | ID3D12GraphicsCommandList2 * This, | ||
| 8423 | _In_ UINT RootParameterIndex, | ||
| 8424 | _In_ UINT SrcData, | ||
| 8425 | _In_ UINT DestOffsetIn32BitValues); | ||
| 8426 | |||
| 8427 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetGraphicsRoot32BitConstant) | ||
| 8428 | void ( STDMETHODCALLTYPE *SetGraphicsRoot32BitConstant )( | ||
| 8429 | ID3D12GraphicsCommandList2 * This, | ||
| 8430 | _In_ UINT RootParameterIndex, | ||
| 8431 | _In_ UINT SrcData, | ||
| 8432 | _In_ UINT DestOffsetIn32BitValues); | ||
| 8433 | |||
| 8434 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetComputeRoot32BitConstants) | ||
| 8435 | void ( STDMETHODCALLTYPE *SetComputeRoot32BitConstants )( | ||
| 8436 | ID3D12GraphicsCommandList2 * This, | ||
| 8437 | _In_ UINT RootParameterIndex, | ||
| 8438 | _In_ UINT Num32BitValuesToSet, | ||
| 8439 | _In_reads_(Num32BitValuesToSet*sizeof(UINT)) const void *pSrcData, | ||
| 8440 | _In_ UINT DestOffsetIn32BitValues); | ||
| 8441 | |||
| 8442 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetGraphicsRoot32BitConstants) | ||
| 8443 | void ( STDMETHODCALLTYPE *SetGraphicsRoot32BitConstants )( | ||
| 8444 | ID3D12GraphicsCommandList2 * This, | ||
| 8445 | _In_ UINT RootParameterIndex, | ||
| 8446 | _In_ UINT Num32BitValuesToSet, | ||
| 8447 | _In_reads_(Num32BitValuesToSet*sizeof(UINT)) const void *pSrcData, | ||
| 8448 | _In_ UINT DestOffsetIn32BitValues); | ||
| 8449 | |||
| 8450 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetComputeRootConstantBufferView) | ||
| 8451 | void ( STDMETHODCALLTYPE *SetComputeRootConstantBufferView )( | ||
| 8452 | ID3D12GraphicsCommandList2 * This, | ||
| 8453 | _In_ UINT RootParameterIndex, | ||
| 8454 | _In_ D3D12_GPU_VIRTUAL_ADDRESS BufferLocation); | ||
| 8455 | |||
| 8456 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetGraphicsRootConstantBufferView) | ||
| 8457 | void ( STDMETHODCALLTYPE *SetGraphicsRootConstantBufferView )( | ||
| 8458 | ID3D12GraphicsCommandList2 * This, | ||
| 8459 | _In_ UINT RootParameterIndex, | ||
| 8460 | _In_ D3D12_GPU_VIRTUAL_ADDRESS BufferLocation); | ||
| 8461 | |||
| 8462 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetComputeRootShaderResourceView) | ||
| 8463 | void ( STDMETHODCALLTYPE *SetComputeRootShaderResourceView )( | ||
| 8464 | ID3D12GraphicsCommandList2 * This, | ||
| 8465 | _In_ UINT RootParameterIndex, | ||
| 8466 | _In_ D3D12_GPU_VIRTUAL_ADDRESS BufferLocation); | ||
| 8467 | |||
| 8468 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetGraphicsRootShaderResourceView) | ||
| 8469 | void ( STDMETHODCALLTYPE *SetGraphicsRootShaderResourceView )( | ||
| 8470 | ID3D12GraphicsCommandList2 * This, | ||
| 8471 | _In_ UINT RootParameterIndex, | ||
| 8472 | _In_ D3D12_GPU_VIRTUAL_ADDRESS BufferLocation); | ||
| 8473 | |||
| 8474 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetComputeRootUnorderedAccessView) | ||
| 8475 | void ( STDMETHODCALLTYPE *SetComputeRootUnorderedAccessView )( | ||
| 8476 | ID3D12GraphicsCommandList2 * This, | ||
| 8477 | _In_ UINT RootParameterIndex, | ||
| 8478 | _In_ D3D12_GPU_VIRTUAL_ADDRESS BufferLocation); | ||
| 8479 | |||
| 8480 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetGraphicsRootUnorderedAccessView) | ||
| 8481 | void ( STDMETHODCALLTYPE *SetGraphicsRootUnorderedAccessView )( | ||
| 8482 | ID3D12GraphicsCommandList2 * This, | ||
| 8483 | _In_ UINT RootParameterIndex, | ||
| 8484 | _In_ D3D12_GPU_VIRTUAL_ADDRESS BufferLocation); | ||
| 8485 | |||
| 8486 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, IASetIndexBuffer) | ||
| 8487 | void ( STDMETHODCALLTYPE *IASetIndexBuffer )( | ||
| 8488 | ID3D12GraphicsCommandList2 * This, | ||
| 8489 | _In_opt_ const D3D12_INDEX_BUFFER_VIEW *pView); | ||
| 8490 | |||
| 8491 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, IASetVertexBuffers) | ||
| 8492 | void ( STDMETHODCALLTYPE *IASetVertexBuffers )( | ||
| 8493 | ID3D12GraphicsCommandList2 * This, | ||
| 8494 | _In_ UINT StartSlot, | ||
| 8495 | _In_ UINT NumViews, | ||
| 8496 | _In_reads_opt_(NumViews) const D3D12_VERTEX_BUFFER_VIEW *pViews); | ||
| 8497 | |||
| 8498 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SOSetTargets) | ||
| 8499 | void ( STDMETHODCALLTYPE *SOSetTargets )( | ||
| 8500 | ID3D12GraphicsCommandList2 * This, | ||
| 8501 | _In_ UINT StartSlot, | ||
| 8502 | _In_ UINT NumViews, | ||
| 8503 | _In_reads_opt_(NumViews) const D3D12_STREAM_OUTPUT_BUFFER_VIEW *pViews); | ||
| 8504 | |||
| 8505 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, OMSetRenderTargets) | ||
| 8506 | void ( STDMETHODCALLTYPE *OMSetRenderTargets )( | ||
| 8507 | ID3D12GraphicsCommandList2 * This, | ||
| 8508 | _In_ UINT NumRenderTargetDescriptors, | ||
| 8509 | _In_opt_ const D3D12_CPU_DESCRIPTOR_HANDLE *pRenderTargetDescriptors, | ||
| 8510 | _In_ BOOL RTsSingleHandleToDescriptorRange, | ||
| 8511 | _In_opt_ const D3D12_CPU_DESCRIPTOR_HANDLE *pDepthStencilDescriptor); | ||
| 8512 | |||
| 8513 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, ClearDepthStencilView) | ||
| 8514 | void ( STDMETHODCALLTYPE *ClearDepthStencilView )( | ||
| 8515 | ID3D12GraphicsCommandList2 * This, | ||
| 8516 | _In_ D3D12_CPU_DESCRIPTOR_HANDLE DepthStencilView, | ||
| 8517 | _In_ D3D12_CLEAR_FLAGS ClearFlags, | ||
| 8518 | _In_ FLOAT Depth, | ||
| 8519 | _In_ UINT8 Stencil, | ||
| 8520 | _In_ UINT NumRects, | ||
| 8521 | _In_reads_(NumRects) const D3D12_RECT *pRects); | ||
| 8522 | |||
| 8523 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, ClearRenderTargetView) | ||
| 8524 | void ( STDMETHODCALLTYPE *ClearRenderTargetView )( | ||
| 8525 | ID3D12GraphicsCommandList2 * This, | ||
| 8526 | _In_ D3D12_CPU_DESCRIPTOR_HANDLE RenderTargetView, | ||
| 8527 | _In_ const FLOAT ColorRGBA[ 4 ], | ||
| 8528 | _In_ UINT NumRects, | ||
| 8529 | _In_reads_(NumRects) const D3D12_RECT *pRects); | ||
| 8530 | |||
| 8531 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, ClearUnorderedAccessViewUint) | ||
| 8532 | void ( STDMETHODCALLTYPE *ClearUnorderedAccessViewUint )( | ||
| 8533 | ID3D12GraphicsCommandList2 * This, | ||
| 8534 | _In_ D3D12_GPU_DESCRIPTOR_HANDLE ViewGPUHandleInCurrentHeap, | ||
| 8535 | _In_ D3D12_CPU_DESCRIPTOR_HANDLE ViewCPUHandle, | ||
| 8536 | _In_ ID3D12Resource *pResource, | ||
| 8537 | _In_ const UINT Values[ 4 ], | ||
| 8538 | _In_ UINT NumRects, | ||
| 8539 | _In_reads_(NumRects) const D3D12_RECT *pRects); | ||
| 8540 | |||
| 8541 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, ClearUnorderedAccessViewFloat) | ||
| 8542 | void ( STDMETHODCALLTYPE *ClearUnorderedAccessViewFloat )( | ||
| 8543 | ID3D12GraphicsCommandList2 * This, | ||
| 8544 | _In_ D3D12_GPU_DESCRIPTOR_HANDLE ViewGPUHandleInCurrentHeap, | ||
| 8545 | _In_ D3D12_CPU_DESCRIPTOR_HANDLE ViewCPUHandle, | ||
| 8546 | _In_ ID3D12Resource *pResource, | ||
| 8547 | _In_ const FLOAT Values[ 4 ], | ||
| 8548 | _In_ UINT NumRects, | ||
| 8549 | _In_reads_(NumRects) const D3D12_RECT *pRects); | ||
| 8550 | |||
| 8551 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, DiscardResource) | ||
| 8552 | void ( STDMETHODCALLTYPE *DiscardResource )( | ||
| 8553 | ID3D12GraphicsCommandList2 * This, | ||
| 8554 | _In_ ID3D12Resource *pResource, | ||
| 8555 | _In_opt_ const D3D12_DISCARD_REGION *pRegion); | ||
| 8556 | |||
| 8557 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, BeginQuery) | ||
| 8558 | void ( STDMETHODCALLTYPE *BeginQuery )( | ||
| 8559 | ID3D12GraphicsCommandList2 * This, | ||
| 8560 | _In_ ID3D12QueryHeap *pQueryHeap, | ||
| 8561 | _In_ D3D12_QUERY_TYPE Type, | ||
| 8562 | _In_ UINT Index); | ||
| 8563 | |||
| 8564 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, EndQuery) | ||
| 8565 | void ( STDMETHODCALLTYPE *EndQuery )( | ||
| 8566 | ID3D12GraphicsCommandList2 * This, | ||
| 8567 | _In_ ID3D12QueryHeap *pQueryHeap, | ||
| 8568 | _In_ D3D12_QUERY_TYPE Type, | ||
| 8569 | _In_ UINT Index); | ||
| 8570 | |||
| 8571 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, ResolveQueryData) | ||
| 8572 | void ( STDMETHODCALLTYPE *ResolveQueryData )( | ||
| 8573 | ID3D12GraphicsCommandList2 * This, | ||
| 8574 | _In_ ID3D12QueryHeap *pQueryHeap, | ||
| 8575 | _In_ D3D12_QUERY_TYPE Type, | ||
| 8576 | _In_ UINT StartIndex, | ||
| 8577 | _In_ UINT NumQueries, | ||
| 8578 | _In_ ID3D12Resource *pDestinationBuffer, | ||
| 8579 | _In_ UINT64 AlignedDestinationBufferOffset); | ||
| 8580 | |||
| 8581 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetPredication) | ||
| 8582 | void ( STDMETHODCALLTYPE *SetPredication )( | ||
| 8583 | ID3D12GraphicsCommandList2 * This, | ||
| 8584 | _In_opt_ ID3D12Resource *pBuffer, | ||
| 8585 | _In_ UINT64 AlignedBufferOffset, | ||
| 8586 | _In_ D3D12_PREDICATION_OP Operation); | ||
| 8587 | |||
| 8588 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetMarker) | ||
| 8589 | void ( STDMETHODCALLTYPE *SetMarker )( | ||
| 8590 | ID3D12GraphicsCommandList2 * This, | ||
| 8591 | UINT Metadata, | ||
| 8592 | _In_reads_bytes_opt_(Size) const void *pData, | ||
| 8593 | UINT Size); | ||
| 8594 | |||
| 8595 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, BeginEvent) | ||
| 8596 | void ( STDMETHODCALLTYPE *BeginEvent )( | ||
| 8597 | ID3D12GraphicsCommandList2 * This, | ||
| 8598 | UINT Metadata, | ||
| 8599 | _In_reads_bytes_opt_(Size) const void *pData, | ||
| 8600 | UINT Size); | ||
| 8601 | |||
| 8602 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, EndEvent) | ||
| 8603 | void ( STDMETHODCALLTYPE *EndEvent )( | ||
| 8604 | ID3D12GraphicsCommandList2 * This); | ||
| 8605 | |||
| 8606 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, ExecuteIndirect) | ||
| 8607 | void ( STDMETHODCALLTYPE *ExecuteIndirect )( | ||
| 8608 | ID3D12GraphicsCommandList2 * This, | ||
| 8609 | _In_ ID3D12CommandSignature *pCommandSignature, | ||
| 8610 | _In_ UINT MaxCommandCount, | ||
| 8611 | _In_ ID3D12Resource *pArgumentBuffer, | ||
| 8612 | _In_ UINT64 ArgumentBufferOffset, | ||
| 8613 | _In_opt_ ID3D12Resource *pCountBuffer, | ||
| 8614 | _In_ UINT64 CountBufferOffset); | ||
| 8615 | |||
| 8616 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList1, AtomicCopyBufferUINT) | ||
| 8617 | void ( STDMETHODCALLTYPE *AtomicCopyBufferUINT )( | ||
| 8618 | ID3D12GraphicsCommandList2 * This, | ||
| 8619 | _In_ ID3D12Resource *pDstBuffer, | ||
| 8620 | UINT64 DstOffset, | ||
| 8621 | _In_ ID3D12Resource *pSrcBuffer, | ||
| 8622 | UINT64 SrcOffset, | ||
| 8623 | UINT Dependencies, | ||
| 8624 | _In_reads_(Dependencies) ID3D12Resource *const *ppDependentResources, | ||
| 8625 | _In_reads_(Dependencies) const D3D12_SUBRESOURCE_RANGE_UINT64 *pDependentSubresourceRanges); | ||
| 8626 | |||
| 8627 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList1, AtomicCopyBufferUINT64) | ||
| 8628 | void ( STDMETHODCALLTYPE *AtomicCopyBufferUINT64 )( | ||
| 8629 | ID3D12GraphicsCommandList2 * This, | ||
| 8630 | _In_ ID3D12Resource *pDstBuffer, | ||
| 8631 | UINT64 DstOffset, | ||
| 8632 | _In_ ID3D12Resource *pSrcBuffer, | ||
| 8633 | UINT64 SrcOffset, | ||
| 8634 | UINT Dependencies, | ||
| 8635 | _In_reads_(Dependencies) ID3D12Resource *const *ppDependentResources, | ||
| 8636 | _In_reads_(Dependencies) const D3D12_SUBRESOURCE_RANGE_UINT64 *pDependentSubresourceRanges); | ||
| 8637 | |||
| 8638 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList1, OMSetDepthBounds) | ||
| 8639 | void ( STDMETHODCALLTYPE *OMSetDepthBounds )( | ||
| 8640 | ID3D12GraphicsCommandList2 * This, | ||
| 8641 | _In_ FLOAT Min, | ||
| 8642 | _In_ FLOAT Max); | ||
| 8643 | |||
| 8644 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList1, SetSamplePositions) | ||
| 8645 | void ( STDMETHODCALLTYPE *SetSamplePositions )( | ||
| 8646 | ID3D12GraphicsCommandList2 * This, | ||
| 8647 | _In_ UINT NumSamplesPerPixel, | ||
| 8648 | _In_ UINT NumPixels, | ||
| 8649 | _In_reads_(NumSamplesPerPixel*NumPixels) D3D12_SAMPLE_POSITION *pSamplePositions); | ||
| 8650 | |||
| 8651 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList1, ResolveSubresourceRegion) | ||
| 8652 | void ( STDMETHODCALLTYPE *ResolveSubresourceRegion )( | ||
| 8653 | ID3D12GraphicsCommandList2 * This, | ||
| 8654 | _In_ ID3D12Resource *pDstResource, | ||
| 8655 | _In_ UINT DstSubresource, | ||
| 8656 | _In_ UINT DstX, | ||
| 8657 | _In_ UINT DstY, | ||
| 8658 | _In_ ID3D12Resource *pSrcResource, | ||
| 8659 | _In_ UINT SrcSubresource, | ||
| 8660 | _In_opt_ D3D12_RECT *pSrcRect, | ||
| 8661 | _In_ DXGI_FORMAT Format, | ||
| 8662 | _In_ D3D12_RESOLVE_MODE ResolveMode); | ||
| 8663 | |||
| 8664 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList1, SetViewInstanceMask) | ||
| 8665 | void ( STDMETHODCALLTYPE *SetViewInstanceMask )( | ||
| 8666 | ID3D12GraphicsCommandList2 * This, | ||
| 8667 | _In_ UINT Mask); | ||
| 8668 | |||
| 8669 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList2, WriteBufferImmediate) | ||
| 8670 | void ( STDMETHODCALLTYPE *WriteBufferImmediate )( | ||
| 8671 | ID3D12GraphicsCommandList2 * This, | ||
| 8672 | UINT Count, | ||
| 8673 | _In_reads_(Count) const D3D12_WRITEBUFFERIMMEDIATE_PARAMETER *pParams, | ||
| 8674 | _In_reads_opt_(Count) const D3D12_WRITEBUFFERIMMEDIATE_MODE *pModes); | ||
| 8675 | |||
| 8676 | END_INTERFACE | ||
| 8677 | } ID3D12GraphicsCommandList2Vtbl; | ||
| 8678 | |||
| 8679 | interface ID3D12GraphicsCommandList2 | ||
| 8680 | { | ||
| 8681 | CONST_VTBL struct ID3D12GraphicsCommandList2Vtbl *lpVtbl; | ||
| 8682 | }; | ||
| 8683 | |||
| 8684 | |||
| 8685 | |||
| 8686 | #ifdef COBJMACROS | ||
| 8687 | |||
| 8688 | |||
| 8689 | #define ID3D12GraphicsCommandList2_QueryInterface(This,riid,ppvObject) \ | ||
| 8690 | ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) | ||
| 8691 | |||
| 8692 | #define ID3D12GraphicsCommandList2_AddRef(This) \ | ||
| 8693 | ( (This)->lpVtbl -> AddRef(This) ) | ||
| 8694 | |||
| 8695 | #define ID3D12GraphicsCommandList2_Release(This) \ | ||
| 8696 | ( (This)->lpVtbl -> Release(This) ) | ||
| 8697 | |||
| 8698 | |||
| 8699 | #define ID3D12GraphicsCommandList2_GetPrivateData(This,guid,pDataSize,pData) \ | ||
| 8700 | ( (This)->lpVtbl -> GetPrivateData(This,guid,pDataSize,pData) ) | ||
| 8701 | |||
| 8702 | #define ID3D12GraphicsCommandList2_SetPrivateData(This,guid,DataSize,pData) \ | ||
| 8703 | ( (This)->lpVtbl -> SetPrivateData(This,guid,DataSize,pData) ) | ||
| 8704 | |||
| 8705 | #define ID3D12GraphicsCommandList2_SetPrivateDataInterface(This,guid,pData) \ | ||
| 8706 | ( (This)->lpVtbl -> SetPrivateDataInterface(This,guid,pData) ) | ||
| 8707 | |||
| 8708 | #define ID3D12GraphicsCommandList2_SetName(This,Name) \ | ||
| 8709 | ( (This)->lpVtbl -> SetName(This,Name) ) | ||
| 8710 | |||
| 8711 | |||
| 8712 | #define ID3D12GraphicsCommandList2_GetDevice(This,riid,ppvDevice) \ | ||
| 8713 | ( (This)->lpVtbl -> GetDevice(This,riid,ppvDevice) ) | ||
| 8714 | |||
| 8715 | |||
| 8716 | #define ID3D12GraphicsCommandList2_GetType(This) \ | ||
| 8717 | ( (This)->lpVtbl -> GetType(This) ) | ||
| 8718 | |||
| 8719 | |||
| 8720 | #define ID3D12GraphicsCommandList2_Close(This) \ | ||
| 8721 | ( (This)->lpVtbl -> Close(This) ) | ||
| 8722 | |||
| 8723 | #define ID3D12GraphicsCommandList2_Reset(This,pAllocator,pInitialState) \ | ||
| 8724 | ( (This)->lpVtbl -> Reset(This,pAllocator,pInitialState) ) | ||
| 8725 | |||
| 8726 | #define ID3D12GraphicsCommandList2_ClearState(This,pPipelineState) \ | ||
| 8727 | ( (This)->lpVtbl -> ClearState(This,pPipelineState) ) | ||
| 8728 | |||
| 8729 | #define ID3D12GraphicsCommandList2_DrawInstanced(This,VertexCountPerInstance,InstanceCount,StartVertexLocation,StartInstanceLocation) \ | ||
| 8730 | ( (This)->lpVtbl -> DrawInstanced(This,VertexCountPerInstance,InstanceCount,StartVertexLocation,StartInstanceLocation) ) | ||
| 8731 | |||
| 8732 | #define ID3D12GraphicsCommandList2_DrawIndexedInstanced(This,IndexCountPerInstance,InstanceCount,StartIndexLocation,BaseVertexLocation,StartInstanceLocation) \ | ||
| 8733 | ( (This)->lpVtbl -> DrawIndexedInstanced(This,IndexCountPerInstance,InstanceCount,StartIndexLocation,BaseVertexLocation,StartInstanceLocation) ) | ||
| 8734 | |||
| 8735 | #define ID3D12GraphicsCommandList2_Dispatch(This,ThreadGroupCountX,ThreadGroupCountY,ThreadGroupCountZ) \ | ||
| 8736 | ( (This)->lpVtbl -> Dispatch(This,ThreadGroupCountX,ThreadGroupCountY,ThreadGroupCountZ) ) | ||
| 8737 | |||
| 8738 | #define ID3D12GraphicsCommandList2_CopyBufferRegion(This,pDstBuffer,DstOffset,pSrcBuffer,SrcOffset,NumBytes) \ | ||
| 8739 | ( (This)->lpVtbl -> CopyBufferRegion(This,pDstBuffer,DstOffset,pSrcBuffer,SrcOffset,NumBytes) ) | ||
| 8740 | |||
| 8741 | #define ID3D12GraphicsCommandList2_CopyTextureRegion(This,pDst,DstX,DstY,DstZ,pSrc,pSrcBox) \ | ||
| 8742 | ( (This)->lpVtbl -> CopyTextureRegion(This,pDst,DstX,DstY,DstZ,pSrc,pSrcBox) ) | ||
| 8743 | |||
| 8744 | #define ID3D12GraphicsCommandList2_CopyResource(This,pDstResource,pSrcResource) \ | ||
| 8745 | ( (This)->lpVtbl -> CopyResource(This,pDstResource,pSrcResource) ) | ||
| 8746 | |||
| 8747 | #define ID3D12GraphicsCommandList2_CopyTiles(This,pTiledResource,pTileRegionStartCoordinate,pTileRegionSize,pBuffer,BufferStartOffsetInBytes,Flags) \ | ||
| 8748 | ( (This)->lpVtbl -> CopyTiles(This,pTiledResource,pTileRegionStartCoordinate,pTileRegionSize,pBuffer,BufferStartOffsetInBytes,Flags) ) | ||
| 8749 | |||
| 8750 | #define ID3D12GraphicsCommandList2_ResolveSubresource(This,pDstResource,DstSubresource,pSrcResource,SrcSubresource,Format) \ | ||
| 8751 | ( (This)->lpVtbl -> ResolveSubresource(This,pDstResource,DstSubresource,pSrcResource,SrcSubresource,Format) ) | ||
| 8752 | |||
| 8753 | #define ID3D12GraphicsCommandList2_IASetPrimitiveTopology(This,PrimitiveTopology) \ | ||
| 8754 | ( (This)->lpVtbl -> IASetPrimitiveTopology(This,PrimitiveTopology) ) | ||
| 8755 | |||
| 8756 | #define ID3D12GraphicsCommandList2_RSSetViewports(This,NumViewports,pViewports) \ | ||
| 8757 | ( (This)->lpVtbl -> RSSetViewports(This,NumViewports,pViewports) ) | ||
| 8758 | |||
| 8759 | #define ID3D12GraphicsCommandList2_RSSetScissorRects(This,NumRects,pRects) \ | ||
| 8760 | ( (This)->lpVtbl -> RSSetScissorRects(This,NumRects,pRects) ) | ||
| 8761 | |||
| 8762 | #define ID3D12GraphicsCommandList2_OMSetBlendFactor(This,BlendFactor) \ | ||
| 8763 | ( (This)->lpVtbl -> OMSetBlendFactor(This,BlendFactor) ) | ||
| 8764 | |||
| 8765 | #define ID3D12GraphicsCommandList2_OMSetStencilRef(This,StencilRef) \ | ||
| 8766 | ( (This)->lpVtbl -> OMSetStencilRef(This,StencilRef) ) | ||
| 8767 | |||
| 8768 | #define ID3D12GraphicsCommandList2_SetPipelineState(This,pPipelineState) \ | ||
| 8769 | ( (This)->lpVtbl -> SetPipelineState(This,pPipelineState) ) | ||
| 8770 | |||
| 8771 | #define ID3D12GraphicsCommandList2_ResourceBarrier(This,NumBarriers,pBarriers) \ | ||
| 8772 | ( (This)->lpVtbl -> ResourceBarrier(This,NumBarriers,pBarriers) ) | ||
| 8773 | |||
| 8774 | #define ID3D12GraphicsCommandList2_ExecuteBundle(This,pCommandList) \ | ||
| 8775 | ( (This)->lpVtbl -> ExecuteBundle(This,pCommandList) ) | ||
| 8776 | |||
| 8777 | #define ID3D12GraphicsCommandList2_SetDescriptorHeaps(This,NumDescriptorHeaps,ppDescriptorHeaps) \ | ||
| 8778 | ( (This)->lpVtbl -> SetDescriptorHeaps(This,NumDescriptorHeaps,ppDescriptorHeaps) ) | ||
| 8779 | |||
| 8780 | #define ID3D12GraphicsCommandList2_SetComputeRootSignature(This,pRootSignature) \ | ||
| 8781 | ( (This)->lpVtbl -> SetComputeRootSignature(This,pRootSignature) ) | ||
| 8782 | |||
| 8783 | #define ID3D12GraphicsCommandList2_SetGraphicsRootSignature(This,pRootSignature) \ | ||
| 8784 | ( (This)->lpVtbl -> SetGraphicsRootSignature(This,pRootSignature) ) | ||
| 8785 | |||
| 8786 | #define ID3D12GraphicsCommandList2_SetComputeRootDescriptorTable(This,RootParameterIndex,BaseDescriptor) \ | ||
| 8787 | ( (This)->lpVtbl -> SetComputeRootDescriptorTable(This,RootParameterIndex,BaseDescriptor) ) | ||
| 8788 | |||
| 8789 | #define ID3D12GraphicsCommandList2_SetGraphicsRootDescriptorTable(This,RootParameterIndex,BaseDescriptor) \ | ||
| 8790 | ( (This)->lpVtbl -> SetGraphicsRootDescriptorTable(This,RootParameterIndex,BaseDescriptor) ) | ||
| 8791 | |||
| 8792 | #define ID3D12GraphicsCommandList2_SetComputeRoot32BitConstant(This,RootParameterIndex,SrcData,DestOffsetIn32BitValues) \ | ||
| 8793 | ( (This)->lpVtbl -> SetComputeRoot32BitConstant(This,RootParameterIndex,SrcData,DestOffsetIn32BitValues) ) | ||
| 8794 | |||
| 8795 | #define ID3D12GraphicsCommandList2_SetGraphicsRoot32BitConstant(This,RootParameterIndex,SrcData,DestOffsetIn32BitValues) \ | ||
| 8796 | ( (This)->lpVtbl -> SetGraphicsRoot32BitConstant(This,RootParameterIndex,SrcData,DestOffsetIn32BitValues) ) | ||
| 8797 | |||
| 8798 | #define ID3D12GraphicsCommandList2_SetComputeRoot32BitConstants(This,RootParameterIndex,Num32BitValuesToSet,pSrcData,DestOffsetIn32BitValues) \ | ||
| 8799 | ( (This)->lpVtbl -> SetComputeRoot32BitConstants(This,RootParameterIndex,Num32BitValuesToSet,pSrcData,DestOffsetIn32BitValues) ) | ||
| 8800 | |||
| 8801 | #define ID3D12GraphicsCommandList2_SetGraphicsRoot32BitConstants(This,RootParameterIndex,Num32BitValuesToSet,pSrcData,DestOffsetIn32BitValues) \ | ||
| 8802 | ( (This)->lpVtbl -> SetGraphicsRoot32BitConstants(This,RootParameterIndex,Num32BitValuesToSet,pSrcData,DestOffsetIn32BitValues) ) | ||
| 8803 | |||
| 8804 | #define ID3D12GraphicsCommandList2_SetComputeRootConstantBufferView(This,RootParameterIndex,BufferLocation) \ | ||
| 8805 | ( (This)->lpVtbl -> SetComputeRootConstantBufferView(This,RootParameterIndex,BufferLocation) ) | ||
| 8806 | |||
| 8807 | #define ID3D12GraphicsCommandList2_SetGraphicsRootConstantBufferView(This,RootParameterIndex,BufferLocation) \ | ||
| 8808 | ( (This)->lpVtbl -> SetGraphicsRootConstantBufferView(This,RootParameterIndex,BufferLocation) ) | ||
| 8809 | |||
| 8810 | #define ID3D12GraphicsCommandList2_SetComputeRootShaderResourceView(This,RootParameterIndex,BufferLocation) \ | ||
| 8811 | ( (This)->lpVtbl -> SetComputeRootShaderResourceView(This,RootParameterIndex,BufferLocation) ) | ||
| 8812 | |||
| 8813 | #define ID3D12GraphicsCommandList2_SetGraphicsRootShaderResourceView(This,RootParameterIndex,BufferLocation) \ | ||
| 8814 | ( (This)->lpVtbl -> SetGraphicsRootShaderResourceView(This,RootParameterIndex,BufferLocation) ) | ||
| 8815 | |||
| 8816 | #define ID3D12GraphicsCommandList2_SetComputeRootUnorderedAccessView(This,RootParameterIndex,BufferLocation) \ | ||
| 8817 | ( (This)->lpVtbl -> SetComputeRootUnorderedAccessView(This,RootParameterIndex,BufferLocation) ) | ||
| 8818 | |||
| 8819 | #define ID3D12GraphicsCommandList2_SetGraphicsRootUnorderedAccessView(This,RootParameterIndex,BufferLocation) \ | ||
| 8820 | ( (This)->lpVtbl -> SetGraphicsRootUnorderedAccessView(This,RootParameterIndex,BufferLocation) ) | ||
| 8821 | |||
| 8822 | #define ID3D12GraphicsCommandList2_IASetIndexBuffer(This,pView) \ | ||
| 8823 | ( (This)->lpVtbl -> IASetIndexBuffer(This,pView) ) | ||
| 8824 | |||
| 8825 | #define ID3D12GraphicsCommandList2_IASetVertexBuffers(This,StartSlot,NumViews,pViews) \ | ||
| 8826 | ( (This)->lpVtbl -> IASetVertexBuffers(This,StartSlot,NumViews,pViews) ) | ||
| 8827 | |||
| 8828 | #define ID3D12GraphicsCommandList2_SOSetTargets(This,StartSlot,NumViews,pViews) \ | ||
| 8829 | ( (This)->lpVtbl -> SOSetTargets(This,StartSlot,NumViews,pViews) ) | ||
| 8830 | |||
| 8831 | #define ID3D12GraphicsCommandList2_OMSetRenderTargets(This,NumRenderTargetDescriptors,pRenderTargetDescriptors,RTsSingleHandleToDescriptorRange,pDepthStencilDescriptor) \ | ||
| 8832 | ( (This)->lpVtbl -> OMSetRenderTargets(This,NumRenderTargetDescriptors,pRenderTargetDescriptors,RTsSingleHandleToDescriptorRange,pDepthStencilDescriptor) ) | ||
| 8833 | |||
| 8834 | #define ID3D12GraphicsCommandList2_ClearDepthStencilView(This,DepthStencilView,ClearFlags,Depth,Stencil,NumRects,pRects) \ | ||
| 8835 | ( (This)->lpVtbl -> ClearDepthStencilView(This,DepthStencilView,ClearFlags,Depth,Stencil,NumRects,pRects) ) | ||
| 8836 | |||
| 8837 | #define ID3D12GraphicsCommandList2_ClearRenderTargetView(This,RenderTargetView,ColorRGBA,NumRects,pRects) \ | ||
| 8838 | ( (This)->lpVtbl -> ClearRenderTargetView(This,RenderTargetView,ColorRGBA,NumRects,pRects) ) | ||
| 8839 | |||
| 8840 | #define ID3D12GraphicsCommandList2_ClearUnorderedAccessViewUint(This,ViewGPUHandleInCurrentHeap,ViewCPUHandle,pResource,Values,NumRects,pRects) \ | ||
| 8841 | ( (This)->lpVtbl -> ClearUnorderedAccessViewUint(This,ViewGPUHandleInCurrentHeap,ViewCPUHandle,pResource,Values,NumRects,pRects) ) | ||
| 8842 | |||
| 8843 | #define ID3D12GraphicsCommandList2_ClearUnorderedAccessViewFloat(This,ViewGPUHandleInCurrentHeap,ViewCPUHandle,pResource,Values,NumRects,pRects) \ | ||
| 8844 | ( (This)->lpVtbl -> ClearUnorderedAccessViewFloat(This,ViewGPUHandleInCurrentHeap,ViewCPUHandle,pResource,Values,NumRects,pRects) ) | ||
| 8845 | |||
| 8846 | #define ID3D12GraphicsCommandList2_DiscardResource(This,pResource,pRegion) \ | ||
| 8847 | ( (This)->lpVtbl -> DiscardResource(This,pResource,pRegion) ) | ||
| 8848 | |||
| 8849 | #define ID3D12GraphicsCommandList2_BeginQuery(This,pQueryHeap,Type,Index) \ | ||
| 8850 | ( (This)->lpVtbl -> BeginQuery(This,pQueryHeap,Type,Index) ) | ||
| 8851 | |||
| 8852 | #define ID3D12GraphicsCommandList2_EndQuery(This,pQueryHeap,Type,Index) \ | ||
| 8853 | ( (This)->lpVtbl -> EndQuery(This,pQueryHeap,Type,Index) ) | ||
| 8854 | |||
| 8855 | #define ID3D12GraphicsCommandList2_ResolveQueryData(This,pQueryHeap,Type,StartIndex,NumQueries,pDestinationBuffer,AlignedDestinationBufferOffset) \ | ||
| 8856 | ( (This)->lpVtbl -> ResolveQueryData(This,pQueryHeap,Type,StartIndex,NumQueries,pDestinationBuffer,AlignedDestinationBufferOffset) ) | ||
| 8857 | |||
| 8858 | #define ID3D12GraphicsCommandList2_SetPredication(This,pBuffer,AlignedBufferOffset,Operation) \ | ||
| 8859 | ( (This)->lpVtbl -> SetPredication(This,pBuffer,AlignedBufferOffset,Operation) ) | ||
| 8860 | |||
| 8861 | #define ID3D12GraphicsCommandList2_SetMarker(This,Metadata,pData,Size) \ | ||
| 8862 | ( (This)->lpVtbl -> SetMarker(This,Metadata,pData,Size) ) | ||
| 8863 | |||
| 8864 | #define ID3D12GraphicsCommandList2_BeginEvent(This,Metadata,pData,Size) \ | ||
| 8865 | ( (This)->lpVtbl -> BeginEvent(This,Metadata,pData,Size) ) | ||
| 8866 | |||
| 8867 | #define ID3D12GraphicsCommandList2_EndEvent(This) \ | ||
| 8868 | ( (This)->lpVtbl -> EndEvent(This) ) | ||
| 8869 | |||
| 8870 | #define ID3D12GraphicsCommandList2_ExecuteIndirect(This,pCommandSignature,MaxCommandCount,pArgumentBuffer,ArgumentBufferOffset,pCountBuffer,CountBufferOffset) \ | ||
| 8871 | ( (This)->lpVtbl -> ExecuteIndirect(This,pCommandSignature,MaxCommandCount,pArgumentBuffer,ArgumentBufferOffset,pCountBuffer,CountBufferOffset) ) | ||
| 8872 | |||
| 8873 | |||
| 8874 | #define ID3D12GraphicsCommandList2_AtomicCopyBufferUINT(This,pDstBuffer,DstOffset,pSrcBuffer,SrcOffset,Dependencies,ppDependentResources,pDependentSubresourceRanges) \ | ||
| 8875 | ( (This)->lpVtbl -> AtomicCopyBufferUINT(This,pDstBuffer,DstOffset,pSrcBuffer,SrcOffset,Dependencies,ppDependentResources,pDependentSubresourceRanges) ) | ||
| 8876 | |||
| 8877 | #define ID3D12GraphicsCommandList2_AtomicCopyBufferUINT64(This,pDstBuffer,DstOffset,pSrcBuffer,SrcOffset,Dependencies,ppDependentResources,pDependentSubresourceRanges) \ | ||
| 8878 | ( (This)->lpVtbl -> AtomicCopyBufferUINT64(This,pDstBuffer,DstOffset,pSrcBuffer,SrcOffset,Dependencies,ppDependentResources,pDependentSubresourceRanges) ) | ||
| 8879 | |||
| 8880 | #define ID3D12GraphicsCommandList2_OMSetDepthBounds(This,Min,Max) \ | ||
| 8881 | ( (This)->lpVtbl -> OMSetDepthBounds(This,Min,Max) ) | ||
| 8882 | |||
| 8883 | #define ID3D12GraphicsCommandList2_SetSamplePositions(This,NumSamplesPerPixel,NumPixels,pSamplePositions) \ | ||
| 8884 | ( (This)->lpVtbl -> SetSamplePositions(This,NumSamplesPerPixel,NumPixels,pSamplePositions) ) | ||
| 8885 | |||
| 8886 | #define ID3D12GraphicsCommandList2_ResolveSubresourceRegion(This,pDstResource,DstSubresource,DstX,DstY,pSrcResource,SrcSubresource,pSrcRect,Format,ResolveMode) \ | ||
| 8887 | ( (This)->lpVtbl -> ResolveSubresourceRegion(This,pDstResource,DstSubresource,DstX,DstY,pSrcResource,SrcSubresource,pSrcRect,Format,ResolveMode) ) | ||
| 8888 | |||
| 8889 | #define ID3D12GraphicsCommandList2_SetViewInstanceMask(This,Mask) \ | ||
| 8890 | ( (This)->lpVtbl -> SetViewInstanceMask(This,Mask) ) | ||
| 8891 | |||
| 8892 | |||
| 8893 | #define ID3D12GraphicsCommandList2_WriteBufferImmediate(This,Count,pParams,pModes) \ | ||
| 8894 | ( (This)->lpVtbl -> WriteBufferImmediate(This,Count,pParams,pModes) ) | ||
| 8895 | |||
| 8896 | #endif /* COBJMACROS */ | ||
| 8897 | |||
| 8898 | |||
| 8899 | #endif /* C style interface */ | ||
| 8900 | |||
| 8901 | |||
| 8902 | |||
| 8903 | |||
| 8904 | #endif /* __ID3D12GraphicsCommandList2_INTERFACE_DEFINED__ */ | ||
| 8905 | |||
| 8906 | |||
| 8907 | #ifndef __ID3D12CommandQueue_INTERFACE_DEFINED__ | ||
| 8908 | #define __ID3D12CommandQueue_INTERFACE_DEFINED__ | ||
| 8909 | |||
| 8910 | /* interface ID3D12CommandQueue */ | ||
| 8911 | /* [unique][local][object][uuid] */ | ||
| 8912 | |||
| 8913 | |||
| 8914 | EXTERN_C const IID IID_ID3D12CommandQueue; | ||
| 8915 | |||
| 8916 | #if defined(__cplusplus) && !defined(CINTERFACE) | ||
| 8917 | |||
| 8918 | MIDL_INTERFACE("0ec870a6-5d7e-4c22-8cfc-5baae07616ed") | ||
| 8919 | ID3D12CommandQueue : public ID3D12Pageable | ||
| 8920 | { | ||
| 8921 | public: | ||
| 8922 | virtual void STDMETHODCALLTYPE UpdateTileMappings( | ||
| 8923 | _In_ ID3D12Resource *pResource, | ||
| 8924 | UINT NumResourceRegions, | ||
| 8925 | _In_reads_opt_(NumResourceRegions) const D3D12_TILED_RESOURCE_COORDINATE *pResourceRegionStartCoordinates, | ||
| 8926 | _In_reads_opt_(NumResourceRegions) const D3D12_TILE_REGION_SIZE *pResourceRegionSizes, | ||
| 8927 | _In_opt_ ID3D12Heap *pHeap, | ||
| 8928 | UINT NumRanges, | ||
| 8929 | _In_reads_opt_(NumRanges) const D3D12_TILE_RANGE_FLAGS *pRangeFlags, | ||
| 8930 | _In_reads_opt_(NumRanges) const UINT *pHeapRangeStartOffsets, | ||
| 8931 | _In_reads_opt_(NumRanges) const UINT *pRangeTileCounts, | ||
| 8932 | D3D12_TILE_MAPPING_FLAGS Flags) = 0; | ||
| 8933 | |||
| 8934 | virtual void STDMETHODCALLTYPE CopyTileMappings( | ||
| 8935 | _In_ ID3D12Resource *pDstResource, | ||
| 8936 | _In_ const D3D12_TILED_RESOURCE_COORDINATE *pDstRegionStartCoordinate, | ||
| 8937 | _In_ ID3D12Resource *pSrcResource, | ||
| 8938 | _In_ const D3D12_TILED_RESOURCE_COORDINATE *pSrcRegionStartCoordinate, | ||
| 8939 | _In_ const D3D12_TILE_REGION_SIZE *pRegionSize, | ||
| 8940 | D3D12_TILE_MAPPING_FLAGS Flags) = 0; | ||
| 8941 | |||
| 8942 | virtual void STDMETHODCALLTYPE ExecuteCommandLists( | ||
| 8943 | _In_ UINT NumCommandLists, | ||
| 8944 | _In_reads_(NumCommandLists) ID3D12CommandList *const *ppCommandLists) = 0; | ||
| 8945 | |||
| 8946 | virtual void STDMETHODCALLTYPE SetMarker( | ||
| 8947 | UINT Metadata, | ||
| 8948 | _In_reads_bytes_opt_(Size) const void *pData, | ||
| 8949 | UINT Size) = 0; | ||
| 8950 | |||
| 8951 | virtual void STDMETHODCALLTYPE BeginEvent( | ||
| 8952 | UINT Metadata, | ||
| 8953 | _In_reads_bytes_opt_(Size) const void *pData, | ||
| 8954 | UINT Size) = 0; | ||
| 8955 | |||
| 8956 | virtual void STDMETHODCALLTYPE EndEvent( void) = 0; | ||
| 8957 | |||
| 8958 | virtual HRESULT STDMETHODCALLTYPE Signal( | ||
| 8959 | ID3D12Fence *pFence, | ||
| 8960 | UINT64 Value) = 0; | ||
| 8961 | |||
| 8962 | virtual HRESULT STDMETHODCALLTYPE Wait( | ||
| 8963 | ID3D12Fence *pFence, | ||
| 8964 | UINT64 Value) = 0; | ||
| 8965 | |||
| 8966 | virtual HRESULT STDMETHODCALLTYPE GetTimestampFrequency( | ||
| 8967 | _Out_ UINT64 *pFrequency) = 0; | ||
| 8968 | |||
| 8969 | virtual HRESULT STDMETHODCALLTYPE GetClockCalibration( | ||
| 8970 | _Out_ UINT64 *pGpuTimestamp, | ||
| 8971 | _Out_ UINT64 *pCpuTimestamp) = 0; | ||
| 8972 | |||
| 8973 | #if defined(_MSC_VER) || !defined(_WIN32) | ||
| 8974 | virtual D3D12_COMMAND_QUEUE_DESC STDMETHODCALLTYPE GetDesc( void) = 0; | ||
| 8975 | #else | ||
| 8976 | virtual D3D12_COMMAND_QUEUE_DESC *STDMETHODCALLTYPE GetDesc( | ||
| 8977 | D3D12_COMMAND_QUEUE_DESC * RetVal) = 0; | ||
| 8978 | #endif | ||
| 8979 | |||
| 8980 | }; | ||
| 8981 | |||
| 8982 | |||
| 8983 | #else /* C style interface */ | ||
| 8984 | |||
| 8985 | typedef struct ID3D12CommandQueueVtbl | ||
| 8986 | { | ||
| 8987 | BEGIN_INTERFACE | ||
| 8988 | |||
| 8989 | DECLSPEC_XFGVIRT(IUnknown, QueryInterface) | ||
| 8990 | HRESULT ( STDMETHODCALLTYPE *QueryInterface )( | ||
| 8991 | ID3D12CommandQueue * This, | ||
| 8992 | REFIID riid, | ||
| 8993 | _COM_Outptr_ void **ppvObject); | ||
| 8994 | |||
| 8995 | DECLSPEC_XFGVIRT(IUnknown, AddRef) | ||
| 8996 | ULONG ( STDMETHODCALLTYPE *AddRef )( | ||
| 8997 | ID3D12CommandQueue * This); | ||
| 8998 | |||
| 8999 | DECLSPEC_XFGVIRT(IUnknown, Release) | ||
| 9000 | ULONG ( STDMETHODCALLTYPE *Release )( | ||
| 9001 | ID3D12CommandQueue * This); | ||
| 9002 | |||
| 9003 | DECLSPEC_XFGVIRT(ID3D12Object, GetPrivateData) | ||
| 9004 | HRESULT ( STDMETHODCALLTYPE *GetPrivateData )( | ||
| 9005 | ID3D12CommandQueue * This, | ||
| 9006 | _In_ REFGUID guid, | ||
| 9007 | _Inout_ UINT *pDataSize, | ||
| 9008 | _Out_writes_bytes_opt_( *pDataSize ) void *pData); | ||
| 9009 | |||
| 9010 | DECLSPEC_XFGVIRT(ID3D12Object, SetPrivateData) | ||
| 9011 | HRESULT ( STDMETHODCALLTYPE *SetPrivateData )( | ||
| 9012 | ID3D12CommandQueue * This, | ||
| 9013 | _In_ REFGUID guid, | ||
| 9014 | _In_ UINT DataSize, | ||
| 9015 | _In_reads_bytes_opt_( DataSize ) const void *pData); | ||
| 9016 | |||
| 9017 | DECLSPEC_XFGVIRT(ID3D12Object, SetPrivateDataInterface) | ||
| 9018 | HRESULT ( STDMETHODCALLTYPE *SetPrivateDataInterface )( | ||
| 9019 | ID3D12CommandQueue * This, | ||
| 9020 | _In_ REFGUID guid, | ||
| 9021 | _In_opt_ const IUnknown *pData); | ||
| 9022 | |||
| 9023 | DECLSPEC_XFGVIRT(ID3D12Object, SetName) | ||
| 9024 | HRESULT ( STDMETHODCALLTYPE *SetName )( | ||
| 9025 | ID3D12CommandQueue * This, | ||
| 9026 | _In_z_ LPCWSTR Name); | ||
| 9027 | |||
| 9028 | DECLSPEC_XFGVIRT(ID3D12DeviceChild, GetDevice) | ||
| 9029 | HRESULT ( STDMETHODCALLTYPE *GetDevice )( | ||
| 9030 | ID3D12CommandQueue * This, | ||
| 9031 | REFIID riid, | ||
| 9032 | _COM_Outptr_opt_ void **ppvDevice); | ||
| 9033 | |||
| 9034 | DECLSPEC_XFGVIRT(ID3D12CommandQueue, UpdateTileMappings) | ||
| 9035 | void ( STDMETHODCALLTYPE *UpdateTileMappings )( | ||
| 9036 | ID3D12CommandQueue * This, | ||
| 9037 | _In_ ID3D12Resource *pResource, | ||
| 9038 | UINT NumResourceRegions, | ||
| 9039 | _In_reads_opt_(NumResourceRegions) const D3D12_TILED_RESOURCE_COORDINATE *pResourceRegionStartCoordinates, | ||
| 9040 | _In_reads_opt_(NumResourceRegions) const D3D12_TILE_REGION_SIZE *pResourceRegionSizes, | ||
| 9041 | _In_opt_ ID3D12Heap *pHeap, | ||
| 9042 | UINT NumRanges, | ||
| 9043 | _In_reads_opt_(NumRanges) const D3D12_TILE_RANGE_FLAGS *pRangeFlags, | ||
| 9044 | _In_reads_opt_(NumRanges) const UINT *pHeapRangeStartOffsets, | ||
| 9045 | _In_reads_opt_(NumRanges) const UINT *pRangeTileCounts, | ||
| 9046 | D3D12_TILE_MAPPING_FLAGS Flags); | ||
| 9047 | |||
| 9048 | DECLSPEC_XFGVIRT(ID3D12CommandQueue, CopyTileMappings) | ||
| 9049 | void ( STDMETHODCALLTYPE *CopyTileMappings )( | ||
| 9050 | ID3D12CommandQueue * This, | ||
| 9051 | _In_ ID3D12Resource *pDstResource, | ||
| 9052 | _In_ const D3D12_TILED_RESOURCE_COORDINATE *pDstRegionStartCoordinate, | ||
| 9053 | _In_ ID3D12Resource *pSrcResource, | ||
| 9054 | _In_ const D3D12_TILED_RESOURCE_COORDINATE *pSrcRegionStartCoordinate, | ||
| 9055 | _In_ const D3D12_TILE_REGION_SIZE *pRegionSize, | ||
| 9056 | D3D12_TILE_MAPPING_FLAGS Flags); | ||
| 9057 | |||
| 9058 | DECLSPEC_XFGVIRT(ID3D12CommandQueue, ExecuteCommandLists) | ||
| 9059 | void ( STDMETHODCALLTYPE *ExecuteCommandLists )( | ||
| 9060 | ID3D12CommandQueue * This, | ||
| 9061 | _In_ UINT NumCommandLists, | ||
| 9062 | _In_reads_(NumCommandLists) ID3D12CommandList *const *ppCommandLists); | ||
| 9063 | |||
| 9064 | DECLSPEC_XFGVIRT(ID3D12CommandQueue, SetMarker) | ||
| 9065 | void ( STDMETHODCALLTYPE *SetMarker )( | ||
| 9066 | ID3D12CommandQueue * This, | ||
| 9067 | UINT Metadata, | ||
| 9068 | _In_reads_bytes_opt_(Size) const void *pData, | ||
| 9069 | UINT Size); | ||
| 9070 | |||
| 9071 | DECLSPEC_XFGVIRT(ID3D12CommandQueue, BeginEvent) | ||
| 9072 | void ( STDMETHODCALLTYPE *BeginEvent )( | ||
| 9073 | ID3D12CommandQueue * This, | ||
| 9074 | UINT Metadata, | ||
| 9075 | _In_reads_bytes_opt_(Size) const void *pData, | ||
| 9076 | UINT Size); | ||
| 9077 | |||
| 9078 | DECLSPEC_XFGVIRT(ID3D12CommandQueue, EndEvent) | ||
| 9079 | void ( STDMETHODCALLTYPE *EndEvent )( | ||
| 9080 | ID3D12CommandQueue * This); | ||
| 9081 | |||
| 9082 | DECLSPEC_XFGVIRT(ID3D12CommandQueue, Signal) | ||
| 9083 | HRESULT ( STDMETHODCALLTYPE *Signal )( | ||
| 9084 | ID3D12CommandQueue * This, | ||
| 9085 | ID3D12Fence *pFence, | ||
| 9086 | UINT64 Value); | ||
| 9087 | |||
| 9088 | DECLSPEC_XFGVIRT(ID3D12CommandQueue, Wait) | ||
| 9089 | HRESULT ( STDMETHODCALLTYPE *Wait )( | ||
| 9090 | ID3D12CommandQueue * This, | ||
| 9091 | ID3D12Fence *pFence, | ||
| 9092 | UINT64 Value); | ||
| 9093 | |||
| 9094 | DECLSPEC_XFGVIRT(ID3D12CommandQueue, GetTimestampFrequency) | ||
| 9095 | HRESULT ( STDMETHODCALLTYPE *GetTimestampFrequency )( | ||
| 9096 | ID3D12CommandQueue * This, | ||
| 9097 | _Out_ UINT64 *pFrequency); | ||
| 9098 | |||
| 9099 | DECLSPEC_XFGVIRT(ID3D12CommandQueue, GetClockCalibration) | ||
| 9100 | HRESULT ( STDMETHODCALLTYPE *GetClockCalibration )( | ||
| 9101 | ID3D12CommandQueue * This, | ||
| 9102 | _Out_ UINT64 *pGpuTimestamp, | ||
| 9103 | _Out_ UINT64 *pCpuTimestamp); | ||
| 9104 | |||
| 9105 | DECLSPEC_XFGVIRT(ID3D12CommandQueue, GetDesc) | ||
| 9106 | #if !defined(_WIN32) | ||
| 9107 | D3D12_COMMAND_QUEUE_DESC ( STDMETHODCALLTYPE *GetDesc )( | ||
| 9108 | ID3D12CommandQueue * This); | ||
| 9109 | |||
| 9110 | #else | ||
| 9111 | D3D12_COMMAND_QUEUE_DESC *( STDMETHODCALLTYPE *GetDesc )( | ||
| 9112 | ID3D12CommandQueue * This, | ||
| 9113 | D3D12_COMMAND_QUEUE_DESC * RetVal); | ||
| 9114 | |||
| 9115 | #endif | ||
| 9116 | |||
| 9117 | END_INTERFACE | ||
| 9118 | } ID3D12CommandQueueVtbl; | ||
| 9119 | |||
| 9120 | interface ID3D12CommandQueue | ||
| 9121 | { | ||
| 9122 | CONST_VTBL struct ID3D12CommandQueueVtbl *lpVtbl; | ||
| 9123 | }; | ||
| 9124 | |||
| 9125 | |||
| 9126 | |||
| 9127 | #ifdef COBJMACROS | ||
| 9128 | |||
| 9129 | |||
| 9130 | #define ID3D12CommandQueue_QueryInterface(This,riid,ppvObject) \ | ||
| 9131 | ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) | ||
| 9132 | |||
| 9133 | #define ID3D12CommandQueue_AddRef(This) \ | ||
| 9134 | ( (This)->lpVtbl -> AddRef(This) ) | ||
| 9135 | |||
| 9136 | #define ID3D12CommandQueue_Release(This) \ | ||
| 9137 | ( (This)->lpVtbl -> Release(This) ) | ||
| 9138 | |||
| 9139 | |||
| 9140 | #define ID3D12CommandQueue_GetPrivateData(This,guid,pDataSize,pData) \ | ||
| 9141 | ( (This)->lpVtbl -> GetPrivateData(This,guid,pDataSize,pData) ) | ||
| 9142 | |||
| 9143 | #define ID3D12CommandQueue_SetPrivateData(This,guid,DataSize,pData) \ | ||
| 9144 | ( (This)->lpVtbl -> SetPrivateData(This,guid,DataSize,pData) ) | ||
| 9145 | |||
| 9146 | #define ID3D12CommandQueue_SetPrivateDataInterface(This,guid,pData) \ | ||
| 9147 | ( (This)->lpVtbl -> SetPrivateDataInterface(This,guid,pData) ) | ||
| 9148 | |||
| 9149 | #define ID3D12CommandQueue_SetName(This,Name) \ | ||
| 9150 | ( (This)->lpVtbl -> SetName(This,Name) ) | ||
| 9151 | |||
| 9152 | |||
| 9153 | #define ID3D12CommandQueue_GetDevice(This,riid,ppvDevice) \ | ||
| 9154 | ( (This)->lpVtbl -> GetDevice(This,riid,ppvDevice) ) | ||
| 9155 | |||
| 9156 | |||
| 9157 | |||
| 9158 | #define ID3D12CommandQueue_UpdateTileMappings(This,pResource,NumResourceRegions,pResourceRegionStartCoordinates,pResourceRegionSizes,pHeap,NumRanges,pRangeFlags,pHeapRangeStartOffsets,pRangeTileCounts,Flags) \ | ||
| 9159 | ( (This)->lpVtbl -> UpdateTileMappings(This,pResource,NumResourceRegions,pResourceRegionStartCoordinates,pResourceRegionSizes,pHeap,NumRanges,pRangeFlags,pHeapRangeStartOffsets,pRangeTileCounts,Flags) ) | ||
| 9160 | |||
| 9161 | #define ID3D12CommandQueue_CopyTileMappings(This,pDstResource,pDstRegionStartCoordinate,pSrcResource,pSrcRegionStartCoordinate,pRegionSize,Flags) \ | ||
| 9162 | ( (This)->lpVtbl -> CopyTileMappings(This,pDstResource,pDstRegionStartCoordinate,pSrcResource,pSrcRegionStartCoordinate,pRegionSize,Flags) ) | ||
| 9163 | |||
| 9164 | #define ID3D12CommandQueue_ExecuteCommandLists(This,NumCommandLists,ppCommandLists) \ | ||
| 9165 | ( (This)->lpVtbl -> ExecuteCommandLists(This,NumCommandLists,ppCommandLists) ) | ||
| 9166 | |||
| 9167 | #define ID3D12CommandQueue_SetMarker(This,Metadata,pData,Size) \ | ||
| 9168 | ( (This)->lpVtbl -> SetMarker(This,Metadata,pData,Size) ) | ||
| 9169 | |||
| 9170 | #define ID3D12CommandQueue_BeginEvent(This,Metadata,pData,Size) \ | ||
| 9171 | ( (This)->lpVtbl -> BeginEvent(This,Metadata,pData,Size) ) | ||
| 9172 | |||
| 9173 | #define ID3D12CommandQueue_EndEvent(This) \ | ||
| 9174 | ( (This)->lpVtbl -> EndEvent(This) ) | ||
| 9175 | |||
| 9176 | #define ID3D12CommandQueue_Signal(This,pFence,Value) \ | ||
| 9177 | ( (This)->lpVtbl -> Signal(This,pFence,Value) ) | ||
| 9178 | |||
| 9179 | #define ID3D12CommandQueue_Wait(This,pFence,Value) \ | ||
| 9180 | ( (This)->lpVtbl -> Wait(This,pFence,Value) ) | ||
| 9181 | |||
| 9182 | #define ID3D12CommandQueue_GetTimestampFrequency(This,pFrequency) \ | ||
| 9183 | ( (This)->lpVtbl -> GetTimestampFrequency(This,pFrequency) ) | ||
| 9184 | |||
| 9185 | #define ID3D12CommandQueue_GetClockCalibration(This,pGpuTimestamp,pCpuTimestamp) \ | ||
| 9186 | ( (This)->lpVtbl -> GetClockCalibration(This,pGpuTimestamp,pCpuTimestamp) ) | ||
| 9187 | #if !defined(_WIN32) | ||
| 9188 | |||
| 9189 | #define ID3D12CommandQueue_GetDesc(This) \ | ||
| 9190 | ( (This)->lpVtbl -> GetDesc(This) ) | ||
| 9191 | #else | ||
| 9192 | #define ID3D12CommandQueue_GetDesc(This,RetVal) \ | ||
| 9193 | ( (This)->lpVtbl -> GetDesc(This,RetVal) ) | ||
| 9194 | #endif | ||
| 9195 | |||
| 9196 | #endif /* COBJMACROS */ | ||
| 9197 | |||
| 9198 | |||
| 9199 | #endif /* C style interface */ | ||
| 9200 | |||
| 9201 | |||
| 9202 | |||
| 9203 | |||
| 9204 | #endif /* __ID3D12CommandQueue_INTERFACE_DEFINED__ */ | ||
| 9205 | |||
| 9206 | |||
| 9207 | /* interface __MIDL_itf_d3d12_0000_0021 */ | ||
| 9208 | /* [local] */ | ||
| 9209 | |||
| 9210 | typedef struct D3D12_FEATURE_DATA_HARDWARE_SCHEDULING_QUEUE_GROUPINGS | ||
| 9211 | { | ||
| 9212 | _Out_ UINT ComputeQueuesPer3DQueue; | ||
| 9213 | } D3D12_FEATURE_DATA_HARDWARE_SCHEDULING_QUEUE_GROUPINGS; | ||
| 9214 | |||
| 9215 | typedef | ||
| 9216 | enum D3D12_COMMAND_QUEUE_PROCESS_PRIORITY | ||
| 9217 | { | ||
| 9218 | D3D12_COMMAND_QUEUE_PROCESS_PRIORITY_NORMAL = 0, | ||
| 9219 | D3D12_COMMAND_QUEUE_PROCESS_PRIORITY_HIGH = 1 | ||
| 9220 | } D3D12_COMMAND_QUEUE_PROCESS_PRIORITY; | ||
| 9221 | |||
| 9222 | typedef | ||
| 9223 | enum D3D12_COMMAND_QUEUE_GLOBAL_PRIORITY | ||
| 9224 | { | ||
| 9225 | D3D12_COMMAND_QUEUE_GLOBAL_PRIORITY_IDLE = 0, | ||
| 9226 | D3D12_COMMAND_QUEUE_GLOBAL_PRIORITY_DEFAULT = 1, | ||
| 9227 | D3D12_COMMAND_QUEUE_GLOBAL_PRIORITY_NORMAL_0 = 2, | ||
| 9228 | D3D12_COMMAND_QUEUE_GLOBAL_PRIORITY_SOFT_REALTIME_0 = 18, | ||
| 9229 | D3D12_COMMAND_QUEUE_GLOBAL_PRIORITY_SOFT_REALTIME_1 = 19, | ||
| 9230 | D3D12_COMMAND_QUEUE_GLOBAL_PRIORITY_SOFT_REALTIME_2 = 20, | ||
| 9231 | D3D12_COMMAND_QUEUE_GLOBAL_PRIORITY_SOFT_REALTIME_3 = 21, | ||
| 9232 | D3D12_COMMAND_QUEUE_GLOBAL_PRIORITY_SOFT_REALTIME_4 = 22, | ||
| 9233 | D3D12_COMMAND_QUEUE_GLOBAL_PRIORITY_SOFT_REALTIME_5 = 23, | ||
| 9234 | D3D12_COMMAND_QUEUE_GLOBAL_PRIORITY_SOFT_REALTIME_6 = 24, | ||
| 9235 | D3D12_COMMAND_QUEUE_GLOBAL_PRIORITY_SOFT_REALTIME_7 = 25, | ||
| 9236 | D3D12_COMMAND_QUEUE_GLOBAL_PRIORITY_SOFT_REALTIME_8 = 26, | ||
| 9237 | D3D12_COMMAND_QUEUE_GLOBAL_PRIORITY_SOFT_REALTIME_9 = 27, | ||
| 9238 | D3D12_COMMAND_QUEUE_GLOBAL_PRIORITY_SOFT_REALTIME_10 = 28, | ||
| 9239 | D3D12_COMMAND_QUEUE_GLOBAL_PRIORITY_SOFT_REALTIME_11 = 29, | ||
| 9240 | D3D12_COMMAND_QUEUE_GLOBAL_PRIORITY_SOFT_REALTIME_12 = 30, | ||
| 9241 | D3D12_COMMAND_QUEUE_GLOBAL_PRIORITY_SOFT_REALTIME_13 = 31, | ||
| 9242 | D3D12_COMMAND_QUEUE_GLOBAL_PRIORITY_HARD_REALTIME = 32 | ||
| 9243 | } D3D12_COMMAND_QUEUE_GLOBAL_PRIORITY; | ||
| 9244 | |||
| 9245 | |||
| 9246 | |||
| 9247 | extern RPC_IF_HANDLE __MIDL_itf_d3d12_0000_0021_v0_0_c_ifspec; | ||
| 9248 | extern RPC_IF_HANDLE __MIDL_itf_d3d12_0000_0021_v0_0_s_ifspec; | ||
| 9249 | |||
| 9250 | #ifndef __ID3D12CommandQueue1_INTERFACE_DEFINED__ | ||
| 9251 | #define __ID3D12CommandQueue1_INTERFACE_DEFINED__ | ||
| 9252 | |||
| 9253 | /* interface ID3D12CommandQueue1 */ | ||
| 9254 | /* [unique][local][object][uuid] */ | ||
| 9255 | |||
| 9256 | |||
| 9257 | EXTERN_C const IID IID_ID3D12CommandQueue1; | ||
| 9258 | |||
| 9259 | #if defined(__cplusplus) && !defined(CINTERFACE) | ||
| 9260 | |||
| 9261 | MIDL_INTERFACE("3a3c3165-0ee7-4b8e-a0af-6356b4c3bbb9") | ||
| 9262 | ID3D12CommandQueue1 : public ID3D12CommandQueue | ||
| 9263 | { | ||
| 9264 | public: | ||
| 9265 | virtual HRESULT STDMETHODCALLTYPE SetProcessPriority( | ||
| 9266 | D3D12_COMMAND_QUEUE_PROCESS_PRIORITY Priority) = 0; | ||
| 9267 | |||
| 9268 | virtual HRESULT STDMETHODCALLTYPE GetProcessPriority( | ||
| 9269 | D3D12_COMMAND_QUEUE_PROCESS_PRIORITY *pOutValue) = 0; | ||
| 9270 | |||
| 9271 | virtual HRESULT STDMETHODCALLTYPE SetGlobalPriority( | ||
| 9272 | D3D12_COMMAND_QUEUE_GLOBAL_PRIORITY Priority) = 0; | ||
| 9273 | |||
| 9274 | virtual HRESULT STDMETHODCALLTYPE GetGlobalPriority( | ||
| 9275 | D3D12_COMMAND_QUEUE_GLOBAL_PRIORITY *pOutValue) = 0; | ||
| 9276 | |||
| 9277 | }; | ||
| 9278 | |||
| 9279 | |||
| 9280 | #else /* C style interface */ | ||
| 9281 | |||
| 9282 | typedef struct ID3D12CommandQueue1Vtbl | ||
| 9283 | { | ||
| 9284 | BEGIN_INTERFACE | ||
| 9285 | |||
| 9286 | DECLSPEC_XFGVIRT(IUnknown, QueryInterface) | ||
| 9287 | HRESULT ( STDMETHODCALLTYPE *QueryInterface )( | ||
| 9288 | ID3D12CommandQueue1 * This, | ||
| 9289 | REFIID riid, | ||
| 9290 | _COM_Outptr_ void **ppvObject); | ||
| 9291 | |||
| 9292 | DECLSPEC_XFGVIRT(IUnknown, AddRef) | ||
| 9293 | ULONG ( STDMETHODCALLTYPE *AddRef )( | ||
| 9294 | ID3D12CommandQueue1 * This); | ||
| 9295 | |||
| 9296 | DECLSPEC_XFGVIRT(IUnknown, Release) | ||
| 9297 | ULONG ( STDMETHODCALLTYPE *Release )( | ||
| 9298 | ID3D12CommandQueue1 * This); | ||
| 9299 | |||
| 9300 | DECLSPEC_XFGVIRT(ID3D12Object, GetPrivateData) | ||
| 9301 | HRESULT ( STDMETHODCALLTYPE *GetPrivateData )( | ||
| 9302 | ID3D12CommandQueue1 * This, | ||
| 9303 | _In_ REFGUID guid, | ||
| 9304 | _Inout_ UINT *pDataSize, | ||
| 9305 | _Out_writes_bytes_opt_( *pDataSize ) void *pData); | ||
| 9306 | |||
| 9307 | DECLSPEC_XFGVIRT(ID3D12Object, SetPrivateData) | ||
| 9308 | HRESULT ( STDMETHODCALLTYPE *SetPrivateData )( | ||
| 9309 | ID3D12CommandQueue1 * This, | ||
| 9310 | _In_ REFGUID guid, | ||
| 9311 | _In_ UINT DataSize, | ||
| 9312 | _In_reads_bytes_opt_( DataSize ) const void *pData); | ||
| 9313 | |||
| 9314 | DECLSPEC_XFGVIRT(ID3D12Object, SetPrivateDataInterface) | ||
| 9315 | HRESULT ( STDMETHODCALLTYPE *SetPrivateDataInterface )( | ||
| 9316 | ID3D12CommandQueue1 * This, | ||
| 9317 | _In_ REFGUID guid, | ||
| 9318 | _In_opt_ const IUnknown *pData); | ||
| 9319 | |||
| 9320 | DECLSPEC_XFGVIRT(ID3D12Object, SetName) | ||
| 9321 | HRESULT ( STDMETHODCALLTYPE *SetName )( | ||
| 9322 | ID3D12CommandQueue1 * This, | ||
| 9323 | _In_z_ LPCWSTR Name); | ||
| 9324 | |||
| 9325 | DECLSPEC_XFGVIRT(ID3D12DeviceChild, GetDevice) | ||
| 9326 | HRESULT ( STDMETHODCALLTYPE *GetDevice )( | ||
| 9327 | ID3D12CommandQueue1 * This, | ||
| 9328 | REFIID riid, | ||
| 9329 | _COM_Outptr_opt_ void **ppvDevice); | ||
| 9330 | |||
| 9331 | DECLSPEC_XFGVIRT(ID3D12CommandQueue, UpdateTileMappings) | ||
| 9332 | void ( STDMETHODCALLTYPE *UpdateTileMappings )( | ||
| 9333 | ID3D12CommandQueue1 * This, | ||
| 9334 | _In_ ID3D12Resource *pResource, | ||
| 9335 | UINT NumResourceRegions, | ||
| 9336 | _In_reads_opt_(NumResourceRegions) const D3D12_TILED_RESOURCE_COORDINATE *pResourceRegionStartCoordinates, | ||
| 9337 | _In_reads_opt_(NumResourceRegions) const D3D12_TILE_REGION_SIZE *pResourceRegionSizes, | ||
| 9338 | _In_opt_ ID3D12Heap *pHeap, | ||
| 9339 | UINT NumRanges, | ||
| 9340 | _In_reads_opt_(NumRanges) const D3D12_TILE_RANGE_FLAGS *pRangeFlags, | ||
| 9341 | _In_reads_opt_(NumRanges) const UINT *pHeapRangeStartOffsets, | ||
| 9342 | _In_reads_opt_(NumRanges) const UINT *pRangeTileCounts, | ||
| 9343 | D3D12_TILE_MAPPING_FLAGS Flags); | ||
| 9344 | |||
| 9345 | DECLSPEC_XFGVIRT(ID3D12CommandQueue, CopyTileMappings) | ||
| 9346 | void ( STDMETHODCALLTYPE *CopyTileMappings )( | ||
| 9347 | ID3D12CommandQueue1 * This, | ||
| 9348 | _In_ ID3D12Resource *pDstResource, | ||
| 9349 | _In_ const D3D12_TILED_RESOURCE_COORDINATE *pDstRegionStartCoordinate, | ||
| 9350 | _In_ ID3D12Resource *pSrcResource, | ||
| 9351 | _In_ const D3D12_TILED_RESOURCE_COORDINATE *pSrcRegionStartCoordinate, | ||
| 9352 | _In_ const D3D12_TILE_REGION_SIZE *pRegionSize, | ||
| 9353 | D3D12_TILE_MAPPING_FLAGS Flags); | ||
| 9354 | |||
| 9355 | DECLSPEC_XFGVIRT(ID3D12CommandQueue, ExecuteCommandLists) | ||
| 9356 | void ( STDMETHODCALLTYPE *ExecuteCommandLists )( | ||
| 9357 | ID3D12CommandQueue1 * This, | ||
| 9358 | _In_ UINT NumCommandLists, | ||
| 9359 | _In_reads_(NumCommandLists) ID3D12CommandList *const *ppCommandLists); | ||
| 9360 | |||
| 9361 | DECLSPEC_XFGVIRT(ID3D12CommandQueue, SetMarker) | ||
| 9362 | void ( STDMETHODCALLTYPE *SetMarker )( | ||
| 9363 | ID3D12CommandQueue1 * This, | ||
| 9364 | UINT Metadata, | ||
| 9365 | _In_reads_bytes_opt_(Size) const void *pData, | ||
| 9366 | UINT Size); | ||
| 9367 | |||
| 9368 | DECLSPEC_XFGVIRT(ID3D12CommandQueue, BeginEvent) | ||
| 9369 | void ( STDMETHODCALLTYPE *BeginEvent )( | ||
| 9370 | ID3D12CommandQueue1 * This, | ||
| 9371 | UINT Metadata, | ||
| 9372 | _In_reads_bytes_opt_(Size) const void *pData, | ||
| 9373 | UINT Size); | ||
| 9374 | |||
| 9375 | DECLSPEC_XFGVIRT(ID3D12CommandQueue, EndEvent) | ||
| 9376 | void ( STDMETHODCALLTYPE *EndEvent )( | ||
| 9377 | ID3D12CommandQueue1 * This); | ||
| 9378 | |||
| 9379 | DECLSPEC_XFGVIRT(ID3D12CommandQueue, Signal) | ||
| 9380 | HRESULT ( STDMETHODCALLTYPE *Signal )( | ||
| 9381 | ID3D12CommandQueue1 * This, | ||
| 9382 | ID3D12Fence *pFence, | ||
| 9383 | UINT64 Value); | ||
| 9384 | |||
| 9385 | DECLSPEC_XFGVIRT(ID3D12CommandQueue, Wait) | ||
| 9386 | HRESULT ( STDMETHODCALLTYPE *Wait )( | ||
| 9387 | ID3D12CommandQueue1 * This, | ||
| 9388 | ID3D12Fence *pFence, | ||
| 9389 | UINT64 Value); | ||
| 9390 | |||
| 9391 | DECLSPEC_XFGVIRT(ID3D12CommandQueue, GetTimestampFrequency) | ||
| 9392 | HRESULT ( STDMETHODCALLTYPE *GetTimestampFrequency )( | ||
| 9393 | ID3D12CommandQueue1 * This, | ||
| 9394 | _Out_ UINT64 *pFrequency); | ||
| 9395 | |||
| 9396 | DECLSPEC_XFGVIRT(ID3D12CommandQueue, GetClockCalibration) | ||
| 9397 | HRESULT ( STDMETHODCALLTYPE *GetClockCalibration )( | ||
| 9398 | ID3D12CommandQueue1 * This, | ||
| 9399 | _Out_ UINT64 *pGpuTimestamp, | ||
| 9400 | _Out_ UINT64 *pCpuTimestamp); | ||
| 9401 | |||
| 9402 | DECLSPEC_XFGVIRT(ID3D12CommandQueue, GetDesc) | ||
| 9403 | #if !defined(_WIN32) | ||
| 9404 | D3D12_COMMAND_QUEUE_DESC ( STDMETHODCALLTYPE *GetDesc )( | ||
| 9405 | ID3D12CommandQueue1 * This); | ||
| 9406 | |||
| 9407 | #else | ||
| 9408 | D3D12_COMMAND_QUEUE_DESC *( STDMETHODCALLTYPE *GetDesc )( | ||
| 9409 | ID3D12CommandQueue1 * This, | ||
| 9410 | D3D12_COMMAND_QUEUE_DESC * RetVal); | ||
| 9411 | |||
| 9412 | #endif | ||
| 9413 | |||
| 9414 | DECLSPEC_XFGVIRT(ID3D12CommandQueue1, SetProcessPriority) | ||
| 9415 | HRESULT ( STDMETHODCALLTYPE *SetProcessPriority )( | ||
| 9416 | ID3D12CommandQueue1 * This, | ||
| 9417 | D3D12_COMMAND_QUEUE_PROCESS_PRIORITY Priority); | ||
| 9418 | |||
| 9419 | DECLSPEC_XFGVIRT(ID3D12CommandQueue1, GetProcessPriority) | ||
| 9420 | HRESULT ( STDMETHODCALLTYPE *GetProcessPriority )( | ||
| 9421 | ID3D12CommandQueue1 * This, | ||
| 9422 | D3D12_COMMAND_QUEUE_PROCESS_PRIORITY *pOutValue); | ||
| 9423 | |||
| 9424 | DECLSPEC_XFGVIRT(ID3D12CommandQueue1, SetGlobalPriority) | ||
| 9425 | HRESULT ( STDMETHODCALLTYPE *SetGlobalPriority )( | ||
| 9426 | ID3D12CommandQueue1 * This, | ||
| 9427 | D3D12_COMMAND_QUEUE_GLOBAL_PRIORITY Priority); | ||
| 9428 | |||
| 9429 | DECLSPEC_XFGVIRT(ID3D12CommandQueue1, GetGlobalPriority) | ||
| 9430 | HRESULT ( STDMETHODCALLTYPE *GetGlobalPriority )( | ||
| 9431 | ID3D12CommandQueue1 * This, | ||
| 9432 | D3D12_COMMAND_QUEUE_GLOBAL_PRIORITY *pOutValue); | ||
| 9433 | |||
| 9434 | END_INTERFACE | ||
| 9435 | } ID3D12CommandQueue1Vtbl; | ||
| 9436 | |||
| 9437 | interface ID3D12CommandQueue1 | ||
| 9438 | { | ||
| 9439 | CONST_VTBL struct ID3D12CommandQueue1Vtbl *lpVtbl; | ||
| 9440 | }; | ||
| 9441 | |||
| 9442 | |||
| 9443 | |||
| 9444 | #ifdef COBJMACROS | ||
| 9445 | |||
| 9446 | |||
| 9447 | #define ID3D12CommandQueue1_QueryInterface(This,riid,ppvObject) \ | ||
| 9448 | ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) | ||
| 9449 | |||
| 9450 | #define ID3D12CommandQueue1_AddRef(This) \ | ||
| 9451 | ( (This)->lpVtbl -> AddRef(This) ) | ||
| 9452 | |||
| 9453 | #define ID3D12CommandQueue1_Release(This) \ | ||
| 9454 | ( (This)->lpVtbl -> Release(This) ) | ||
| 9455 | |||
| 9456 | |||
| 9457 | #define ID3D12CommandQueue1_GetPrivateData(This,guid,pDataSize,pData) \ | ||
| 9458 | ( (This)->lpVtbl -> GetPrivateData(This,guid,pDataSize,pData) ) | ||
| 9459 | |||
| 9460 | #define ID3D12CommandQueue1_SetPrivateData(This,guid,DataSize,pData) \ | ||
| 9461 | ( (This)->lpVtbl -> SetPrivateData(This,guid,DataSize,pData) ) | ||
| 9462 | |||
| 9463 | #define ID3D12CommandQueue1_SetPrivateDataInterface(This,guid,pData) \ | ||
| 9464 | ( (This)->lpVtbl -> SetPrivateDataInterface(This,guid,pData) ) | ||
| 9465 | |||
| 9466 | #define ID3D12CommandQueue1_SetName(This,Name) \ | ||
| 9467 | ( (This)->lpVtbl -> SetName(This,Name) ) | ||
| 9468 | |||
| 9469 | |||
| 9470 | #define ID3D12CommandQueue1_GetDevice(This,riid,ppvDevice) \ | ||
| 9471 | ( (This)->lpVtbl -> GetDevice(This,riid,ppvDevice) ) | ||
| 9472 | |||
| 9473 | |||
| 9474 | |||
| 9475 | #define ID3D12CommandQueue1_UpdateTileMappings(This,pResource,NumResourceRegions,pResourceRegionStartCoordinates,pResourceRegionSizes,pHeap,NumRanges,pRangeFlags,pHeapRangeStartOffsets,pRangeTileCounts,Flags) \ | ||
| 9476 | ( (This)->lpVtbl -> UpdateTileMappings(This,pResource,NumResourceRegions,pResourceRegionStartCoordinates,pResourceRegionSizes,pHeap,NumRanges,pRangeFlags,pHeapRangeStartOffsets,pRangeTileCounts,Flags) ) | ||
| 9477 | |||
| 9478 | #define ID3D12CommandQueue1_CopyTileMappings(This,pDstResource,pDstRegionStartCoordinate,pSrcResource,pSrcRegionStartCoordinate,pRegionSize,Flags) \ | ||
| 9479 | ( (This)->lpVtbl -> CopyTileMappings(This,pDstResource,pDstRegionStartCoordinate,pSrcResource,pSrcRegionStartCoordinate,pRegionSize,Flags) ) | ||
| 9480 | |||
| 9481 | #define ID3D12CommandQueue1_ExecuteCommandLists(This,NumCommandLists,ppCommandLists) \ | ||
| 9482 | ( (This)->lpVtbl -> ExecuteCommandLists(This,NumCommandLists,ppCommandLists) ) | ||
| 9483 | |||
| 9484 | #define ID3D12CommandQueue1_SetMarker(This,Metadata,pData,Size) \ | ||
| 9485 | ( (This)->lpVtbl -> SetMarker(This,Metadata,pData,Size) ) | ||
| 9486 | |||
| 9487 | #define ID3D12CommandQueue1_BeginEvent(This,Metadata,pData,Size) \ | ||
| 9488 | ( (This)->lpVtbl -> BeginEvent(This,Metadata,pData,Size) ) | ||
| 9489 | |||
| 9490 | #define ID3D12CommandQueue1_EndEvent(This) \ | ||
| 9491 | ( (This)->lpVtbl -> EndEvent(This) ) | ||
| 9492 | |||
| 9493 | #define ID3D12CommandQueue1_Signal(This,pFence,Value) \ | ||
| 9494 | ( (This)->lpVtbl -> Signal(This,pFence,Value) ) | ||
| 9495 | |||
| 9496 | #define ID3D12CommandQueue1_Wait(This,pFence,Value) \ | ||
| 9497 | ( (This)->lpVtbl -> Wait(This,pFence,Value) ) | ||
| 9498 | |||
| 9499 | #define ID3D12CommandQueue1_GetTimestampFrequency(This,pFrequency) \ | ||
| 9500 | ( (This)->lpVtbl -> GetTimestampFrequency(This,pFrequency) ) | ||
| 9501 | |||
| 9502 | #define ID3D12CommandQueue1_GetClockCalibration(This,pGpuTimestamp,pCpuTimestamp) \ | ||
| 9503 | ( (This)->lpVtbl -> GetClockCalibration(This,pGpuTimestamp,pCpuTimestamp) ) | ||
| 9504 | #if !defined(_WIN32) | ||
| 9505 | |||
| 9506 | #define ID3D12CommandQueue1_GetDesc(This) \ | ||
| 9507 | ( (This)->lpVtbl -> GetDesc(This) ) | ||
| 9508 | #else | ||
| 9509 | #define ID3D12CommandQueue1_GetDesc(This,RetVal) \ | ||
| 9510 | ( (This)->lpVtbl -> GetDesc(This,RetVal) ) | ||
| 9511 | #endif | ||
| 9512 | |||
| 9513 | |||
| 9514 | #define ID3D12CommandQueue1_SetProcessPriority(This,Priority) \ | ||
| 9515 | ( (This)->lpVtbl -> SetProcessPriority(This,Priority) ) | ||
| 9516 | |||
| 9517 | #define ID3D12CommandQueue1_GetProcessPriority(This,pOutValue) \ | ||
| 9518 | ( (This)->lpVtbl -> GetProcessPriority(This,pOutValue) ) | ||
| 9519 | |||
| 9520 | #define ID3D12CommandQueue1_SetGlobalPriority(This,Priority) \ | ||
| 9521 | ( (This)->lpVtbl -> SetGlobalPriority(This,Priority) ) | ||
| 9522 | |||
| 9523 | #define ID3D12CommandQueue1_GetGlobalPriority(This,pOutValue) \ | ||
| 9524 | ( (This)->lpVtbl -> GetGlobalPriority(This,pOutValue) ) | ||
| 9525 | |||
| 9526 | #endif /* COBJMACROS */ | ||
| 9527 | |||
| 9528 | |||
| 9529 | #endif /* C style interface */ | ||
| 9530 | |||
| 9531 | |||
| 9532 | |||
| 9533 | |||
| 9534 | #endif /* __ID3D12CommandQueue1_INTERFACE_DEFINED__ */ | ||
| 9535 | |||
| 9536 | |||
| 9537 | #ifndef __ID3D12Device_INTERFACE_DEFINED__ | ||
| 9538 | #define __ID3D12Device_INTERFACE_DEFINED__ | ||
| 9539 | |||
| 9540 | /* interface ID3D12Device */ | ||
| 9541 | /* [unique][local][object][uuid] */ | ||
| 9542 | |||
| 9543 | |||
| 9544 | EXTERN_C const IID IID_ID3D12Device; | ||
| 9545 | |||
| 9546 | #if defined(__cplusplus) && !defined(CINTERFACE) | ||
| 9547 | |||
| 9548 | MIDL_INTERFACE("189819f1-1db6-4b57-be54-1821339b85f7") | ||
| 9549 | ID3D12Device : public ID3D12Object | ||
| 9550 | { | ||
| 9551 | public: | ||
| 9552 | virtual UINT STDMETHODCALLTYPE GetNodeCount( void) = 0; | ||
| 9553 | |||
| 9554 | virtual HRESULT STDMETHODCALLTYPE CreateCommandQueue( | ||
| 9555 | _In_ const D3D12_COMMAND_QUEUE_DESC *pDesc, | ||
| 9556 | REFIID riid, | ||
| 9557 | _COM_Outptr_ void **ppCommandQueue) = 0; | ||
| 9558 | |||
| 9559 | virtual HRESULT STDMETHODCALLTYPE CreateCommandAllocator( | ||
| 9560 | _In_ D3D12_COMMAND_LIST_TYPE type, | ||
| 9561 | REFIID riid, | ||
| 9562 | _COM_Outptr_ void **ppCommandAllocator) = 0; | ||
| 9563 | |||
| 9564 | virtual HRESULT STDMETHODCALLTYPE CreateGraphicsPipelineState( | ||
| 9565 | _In_ const D3D12_GRAPHICS_PIPELINE_STATE_DESC *pDesc, | ||
| 9566 | REFIID riid, | ||
| 9567 | _COM_Outptr_ void **ppPipelineState) = 0; | ||
| 9568 | |||
| 9569 | virtual HRESULT STDMETHODCALLTYPE CreateComputePipelineState( | ||
| 9570 | _In_ const D3D12_COMPUTE_PIPELINE_STATE_DESC *pDesc, | ||
| 9571 | REFIID riid, | ||
| 9572 | _COM_Outptr_ void **ppPipelineState) = 0; | ||
| 9573 | |||
| 9574 | virtual HRESULT STDMETHODCALLTYPE CreateCommandList( | ||
| 9575 | _In_ UINT nodeMask, | ||
| 9576 | _In_ D3D12_COMMAND_LIST_TYPE type, | ||
| 9577 | _In_ ID3D12CommandAllocator *pCommandAllocator, | ||
| 9578 | _In_opt_ ID3D12PipelineState *pInitialState, | ||
| 9579 | REFIID riid, | ||
| 9580 | _COM_Outptr_ void **ppCommandList) = 0; | ||
| 9581 | |||
| 9582 | virtual HRESULT STDMETHODCALLTYPE CheckFeatureSupport( | ||
| 9583 | D3D12_FEATURE Feature, | ||
| 9584 | _Inout_updates_bytes_(FeatureSupportDataSize) void *pFeatureSupportData, | ||
| 9585 | UINT FeatureSupportDataSize) = 0; | ||
| 9586 | |||
| 9587 | virtual HRESULT STDMETHODCALLTYPE CreateDescriptorHeap( | ||
| 9588 | _In_ const D3D12_DESCRIPTOR_HEAP_DESC *pDescriptorHeapDesc, | ||
| 9589 | REFIID riid, | ||
| 9590 | _COM_Outptr_ void **ppvHeap) = 0; | ||
| 9591 | |||
| 9592 | virtual UINT STDMETHODCALLTYPE GetDescriptorHandleIncrementSize( | ||
| 9593 | _In_ D3D12_DESCRIPTOR_HEAP_TYPE DescriptorHeapType) = 0; | ||
| 9594 | |||
| 9595 | virtual HRESULT STDMETHODCALLTYPE CreateRootSignature( | ||
| 9596 | _In_ UINT nodeMask, | ||
| 9597 | _In_reads_(blobLengthInBytes) const void *pBlobWithRootSignature, | ||
| 9598 | _In_ SIZE_T blobLengthInBytes, | ||
| 9599 | REFIID riid, | ||
| 9600 | _COM_Outptr_ void **ppvRootSignature) = 0; | ||
| 9601 | |||
| 9602 | virtual void STDMETHODCALLTYPE CreateConstantBufferView( | ||
| 9603 | _In_opt_ const D3D12_CONSTANT_BUFFER_VIEW_DESC *pDesc, | ||
| 9604 | _In_ D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor) = 0; | ||
| 9605 | |||
| 9606 | virtual void STDMETHODCALLTYPE CreateShaderResourceView( | ||
| 9607 | _In_opt_ ID3D12Resource *pResource, | ||
| 9608 | _In_opt_ const D3D12_SHADER_RESOURCE_VIEW_DESC *pDesc, | ||
| 9609 | _In_ D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor) = 0; | ||
| 9610 | |||
| 9611 | virtual void STDMETHODCALLTYPE CreateUnorderedAccessView( | ||
| 9612 | _In_opt_ ID3D12Resource *pResource, | ||
| 9613 | _In_opt_ ID3D12Resource *pCounterResource, | ||
| 9614 | _In_opt_ const D3D12_UNORDERED_ACCESS_VIEW_DESC *pDesc, | ||
| 9615 | _In_ D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor) = 0; | ||
| 9616 | |||
| 9617 | virtual void STDMETHODCALLTYPE CreateRenderTargetView( | ||
| 9618 | _In_opt_ ID3D12Resource *pResource, | ||
| 9619 | _In_opt_ const D3D12_RENDER_TARGET_VIEW_DESC *pDesc, | ||
| 9620 | _In_ D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor) = 0; | ||
| 9621 | |||
| 9622 | virtual void STDMETHODCALLTYPE CreateDepthStencilView( | ||
| 9623 | _In_opt_ ID3D12Resource *pResource, | ||
| 9624 | _In_opt_ const D3D12_DEPTH_STENCIL_VIEW_DESC *pDesc, | ||
| 9625 | _In_ D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor) = 0; | ||
| 9626 | |||
| 9627 | virtual void STDMETHODCALLTYPE CreateSampler( | ||
| 9628 | _In_ const D3D12_SAMPLER_DESC *pDesc, | ||
| 9629 | _In_ D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor) = 0; | ||
| 9630 | |||
| 9631 | virtual void STDMETHODCALLTYPE CopyDescriptors( | ||
| 9632 | _In_ UINT NumDestDescriptorRanges, | ||
| 9633 | _In_reads_(NumDestDescriptorRanges) const D3D12_CPU_DESCRIPTOR_HANDLE *pDestDescriptorRangeStarts, | ||
| 9634 | _In_reads_opt_(NumDestDescriptorRanges) const UINT *pDestDescriptorRangeSizes, | ||
| 9635 | _In_ UINT NumSrcDescriptorRanges, | ||
| 9636 | _In_reads_(NumSrcDescriptorRanges) const D3D12_CPU_DESCRIPTOR_HANDLE *pSrcDescriptorRangeStarts, | ||
| 9637 | _In_reads_opt_(NumSrcDescriptorRanges) const UINT *pSrcDescriptorRangeSizes, | ||
| 9638 | _In_ D3D12_DESCRIPTOR_HEAP_TYPE DescriptorHeapsType) = 0; | ||
| 9639 | |||
| 9640 | virtual void STDMETHODCALLTYPE CopyDescriptorsSimple( | ||
| 9641 | _In_ UINT NumDescriptors, | ||
| 9642 | _In_ D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptorRangeStart, | ||
| 9643 | _In_ D3D12_CPU_DESCRIPTOR_HANDLE SrcDescriptorRangeStart, | ||
| 9644 | _In_ D3D12_DESCRIPTOR_HEAP_TYPE DescriptorHeapsType) = 0; | ||
| 9645 | |||
| 9646 | #if defined(_MSC_VER) || !defined(_WIN32) | ||
| 9647 | virtual D3D12_RESOURCE_ALLOCATION_INFO STDMETHODCALLTYPE GetResourceAllocationInfo( | ||
| 9648 | _In_ UINT visibleMask, | ||
| 9649 | _In_ UINT numResourceDescs, | ||
| 9650 | _In_reads_(numResourceDescs) const D3D12_RESOURCE_DESC *pResourceDescs) = 0; | ||
| 9651 | #else | ||
| 9652 | virtual D3D12_RESOURCE_ALLOCATION_INFO *STDMETHODCALLTYPE GetResourceAllocationInfo( | ||
| 9653 | D3D12_RESOURCE_ALLOCATION_INFO * RetVal, | ||
| 9654 | _In_ UINT visibleMask, | ||
| 9655 | _In_ UINT numResourceDescs, | ||
| 9656 | _In_reads_(numResourceDescs) const D3D12_RESOURCE_DESC *pResourceDescs) = 0; | ||
| 9657 | #endif | ||
| 9658 | |||
| 9659 | #if defined(_MSC_VER) || !defined(_WIN32) | ||
| 9660 | virtual D3D12_HEAP_PROPERTIES STDMETHODCALLTYPE GetCustomHeapProperties( | ||
| 9661 | _In_ UINT nodeMask, | ||
| 9662 | D3D12_HEAP_TYPE heapType) = 0; | ||
| 9663 | #else | ||
| 9664 | virtual D3D12_HEAP_PROPERTIES *STDMETHODCALLTYPE GetCustomHeapProperties( | ||
| 9665 | D3D12_HEAP_PROPERTIES * RetVal, | ||
| 9666 | _In_ UINT nodeMask, | ||
| 9667 | D3D12_HEAP_TYPE heapType) = 0; | ||
| 9668 | #endif | ||
| 9669 | |||
| 9670 | virtual HRESULT STDMETHODCALLTYPE CreateCommittedResource( | ||
| 9671 | _In_ const D3D12_HEAP_PROPERTIES *pHeapProperties, | ||
| 9672 | D3D12_HEAP_FLAGS HeapFlags, | ||
| 9673 | _In_ const D3D12_RESOURCE_DESC *pDesc, | ||
| 9674 | D3D12_RESOURCE_STATES InitialResourceState, | ||
| 9675 | _In_opt_ const D3D12_CLEAR_VALUE *pOptimizedClearValue, | ||
| 9676 | REFIID riidResource, | ||
| 9677 | _COM_Outptr_opt_ void **ppvResource) = 0; | ||
| 9678 | |||
| 9679 | virtual HRESULT STDMETHODCALLTYPE CreateHeap( | ||
| 9680 | _In_ const D3D12_HEAP_DESC *pDesc, | ||
| 9681 | REFIID riid, | ||
| 9682 | _COM_Outptr_opt_ void **ppvHeap) = 0; | ||
| 9683 | |||
| 9684 | virtual HRESULT STDMETHODCALLTYPE CreatePlacedResource( | ||
| 9685 | _In_ ID3D12Heap *pHeap, | ||
| 9686 | UINT64 HeapOffset, | ||
| 9687 | _In_ const D3D12_RESOURCE_DESC *pDesc, | ||
| 9688 | D3D12_RESOURCE_STATES InitialState, | ||
| 9689 | _In_opt_ const D3D12_CLEAR_VALUE *pOptimizedClearValue, | ||
| 9690 | REFIID riid, | ||
| 9691 | _COM_Outptr_opt_ void **ppvResource) = 0; | ||
| 9692 | |||
| 9693 | virtual HRESULT STDMETHODCALLTYPE CreateReservedResource( | ||
| 9694 | _In_ const D3D12_RESOURCE_DESC *pDesc, | ||
| 9695 | D3D12_RESOURCE_STATES InitialState, | ||
| 9696 | _In_opt_ const D3D12_CLEAR_VALUE *pOptimizedClearValue, | ||
| 9697 | REFIID riid, | ||
| 9698 | _COM_Outptr_opt_ void **ppvResource) = 0; | ||
| 9699 | |||
| 9700 | virtual HRESULT STDMETHODCALLTYPE CreateSharedHandle( | ||
| 9701 | _In_ ID3D12DeviceChild *pObject, | ||
| 9702 | _In_opt_ const SECURITY_ATTRIBUTES *pAttributes, | ||
| 9703 | DWORD Access, | ||
| 9704 | _In_opt_ LPCWSTR Name, | ||
| 9705 | _Out_ HANDLE *pHandle) = 0; | ||
| 9706 | |||
| 9707 | virtual HRESULT STDMETHODCALLTYPE OpenSharedHandle( | ||
| 9708 | _In_ HANDLE NTHandle, | ||
| 9709 | REFIID riid, | ||
| 9710 | _COM_Outptr_opt_ void **ppvObj) = 0; | ||
| 9711 | |||
| 9712 | virtual HRESULT STDMETHODCALLTYPE OpenSharedHandleByName( | ||
| 9713 | _In_ LPCWSTR Name, | ||
| 9714 | DWORD Access, | ||
| 9715 | /* [annotation][out] */ | ||
| 9716 | _Out_ HANDLE *pNTHandle) = 0; | ||
| 9717 | |||
| 9718 | virtual HRESULT STDMETHODCALLTYPE MakeResident( | ||
| 9719 | UINT NumObjects, | ||
| 9720 | _In_reads_(NumObjects) ID3D12Pageable *const *ppObjects) = 0; | ||
| 9721 | |||
| 9722 | virtual HRESULT STDMETHODCALLTYPE Evict( | ||
| 9723 | UINT NumObjects, | ||
| 9724 | _In_reads_(NumObjects) ID3D12Pageable *const *ppObjects) = 0; | ||
| 9725 | |||
| 9726 | virtual HRESULT STDMETHODCALLTYPE CreateFence( | ||
| 9727 | UINT64 InitialValue, | ||
| 9728 | D3D12_FENCE_FLAGS Flags, | ||
| 9729 | REFIID riid, | ||
| 9730 | _COM_Outptr_ void **ppFence) = 0; | ||
| 9731 | |||
| 9732 | virtual HRESULT STDMETHODCALLTYPE GetDeviceRemovedReason( void) = 0; | ||
| 9733 | |||
| 9734 | virtual void STDMETHODCALLTYPE GetCopyableFootprints( | ||
| 9735 | _In_ const D3D12_RESOURCE_DESC *pResourceDesc, | ||
| 9736 | _In_range_(0,D3D12_REQ_SUBRESOURCES) UINT FirstSubresource, | ||
| 9737 | _In_range_(0,D3D12_REQ_SUBRESOURCES-FirstSubresource) UINT NumSubresources, | ||
| 9738 | UINT64 BaseOffset, | ||
| 9739 | _Out_writes_opt_(NumSubresources) D3D12_PLACED_SUBRESOURCE_FOOTPRINT *pLayouts, | ||
| 9740 | _Out_writes_opt_(NumSubresources) UINT *pNumRows, | ||
| 9741 | _Out_writes_opt_(NumSubresources) UINT64 *pRowSizeInBytes, | ||
| 9742 | _Out_opt_ UINT64 *pTotalBytes) = 0; | ||
| 9743 | |||
| 9744 | virtual HRESULT STDMETHODCALLTYPE CreateQueryHeap( | ||
| 9745 | _In_ const D3D12_QUERY_HEAP_DESC *pDesc, | ||
| 9746 | REFIID riid, | ||
| 9747 | _COM_Outptr_opt_ void **ppvHeap) = 0; | ||
| 9748 | |||
| 9749 | virtual HRESULT STDMETHODCALLTYPE SetStablePowerState( | ||
| 9750 | BOOL Enable) = 0; | ||
| 9751 | |||
| 9752 | virtual HRESULT STDMETHODCALLTYPE CreateCommandSignature( | ||
| 9753 | _In_ const D3D12_COMMAND_SIGNATURE_DESC *pDesc, | ||
| 9754 | _In_opt_ ID3D12RootSignature *pRootSignature, | ||
| 9755 | REFIID riid, | ||
| 9756 | _COM_Outptr_opt_ void **ppvCommandSignature) = 0; | ||
| 9757 | |||
| 9758 | virtual void STDMETHODCALLTYPE GetResourceTiling( | ||
| 9759 | _In_ ID3D12Resource *pTiledResource, | ||
| 9760 | _Out_opt_ UINT *pNumTilesForEntireResource, | ||
| 9761 | _Out_opt_ D3D12_PACKED_MIP_INFO *pPackedMipDesc, | ||
| 9762 | _Out_opt_ D3D12_TILE_SHAPE *pStandardTileShapeForNonPackedMips, | ||
| 9763 | _Inout_opt_ UINT *pNumSubresourceTilings, | ||
| 9764 | _In_ UINT FirstSubresourceTilingToGet, | ||
| 9765 | _Out_writes_(*pNumSubresourceTilings) D3D12_SUBRESOURCE_TILING *pSubresourceTilingsForNonPackedMips) = 0; | ||
| 9766 | |||
| 9767 | #if defined(_MSC_VER) || !defined(_WIN32) | ||
| 9768 | virtual LUID STDMETHODCALLTYPE GetAdapterLuid( void) = 0; | ||
| 9769 | #else | ||
| 9770 | virtual LUID *STDMETHODCALLTYPE GetAdapterLuid( | ||
| 9771 | LUID * RetVal) = 0; | ||
| 9772 | #endif | ||
| 9773 | |||
| 9774 | }; | ||
| 9775 | |||
| 9776 | |||
| 9777 | #else /* C style interface */ | ||
| 9778 | |||
| 9779 | typedef struct ID3D12DeviceVtbl | ||
| 9780 | { | ||
| 9781 | BEGIN_INTERFACE | ||
| 9782 | |||
| 9783 | DECLSPEC_XFGVIRT(IUnknown, QueryInterface) | ||
| 9784 | HRESULT ( STDMETHODCALLTYPE *QueryInterface )( | ||
| 9785 | ID3D12Device * This, | ||
| 9786 | REFIID riid, | ||
| 9787 | _COM_Outptr_ void **ppvObject); | ||
| 9788 | |||
| 9789 | DECLSPEC_XFGVIRT(IUnknown, AddRef) | ||
| 9790 | ULONG ( STDMETHODCALLTYPE *AddRef )( | ||
| 9791 | ID3D12Device * This); | ||
| 9792 | |||
| 9793 | DECLSPEC_XFGVIRT(IUnknown, Release) | ||
| 9794 | ULONG ( STDMETHODCALLTYPE *Release )( | ||
| 9795 | ID3D12Device * This); | ||
| 9796 | |||
| 9797 | DECLSPEC_XFGVIRT(ID3D12Object, GetPrivateData) | ||
| 9798 | HRESULT ( STDMETHODCALLTYPE *GetPrivateData )( | ||
| 9799 | ID3D12Device * This, | ||
| 9800 | _In_ REFGUID guid, | ||
| 9801 | _Inout_ UINT *pDataSize, | ||
| 9802 | _Out_writes_bytes_opt_( *pDataSize ) void *pData); | ||
| 9803 | |||
| 9804 | DECLSPEC_XFGVIRT(ID3D12Object, SetPrivateData) | ||
| 9805 | HRESULT ( STDMETHODCALLTYPE *SetPrivateData )( | ||
| 9806 | ID3D12Device * This, | ||
| 9807 | _In_ REFGUID guid, | ||
| 9808 | _In_ UINT DataSize, | ||
| 9809 | _In_reads_bytes_opt_( DataSize ) const void *pData); | ||
| 9810 | |||
| 9811 | DECLSPEC_XFGVIRT(ID3D12Object, SetPrivateDataInterface) | ||
| 9812 | HRESULT ( STDMETHODCALLTYPE *SetPrivateDataInterface )( | ||
| 9813 | ID3D12Device * This, | ||
| 9814 | _In_ REFGUID guid, | ||
| 9815 | _In_opt_ const IUnknown *pData); | ||
| 9816 | |||
| 9817 | DECLSPEC_XFGVIRT(ID3D12Object, SetName) | ||
| 9818 | HRESULT ( STDMETHODCALLTYPE *SetName )( | ||
| 9819 | ID3D12Device * This, | ||
| 9820 | _In_z_ LPCWSTR Name); | ||
| 9821 | |||
| 9822 | DECLSPEC_XFGVIRT(ID3D12Device, GetNodeCount) | ||
| 9823 | UINT ( STDMETHODCALLTYPE *GetNodeCount )( | ||
| 9824 | ID3D12Device * This); | ||
| 9825 | |||
| 9826 | DECLSPEC_XFGVIRT(ID3D12Device, CreateCommandQueue) | ||
| 9827 | HRESULT ( STDMETHODCALLTYPE *CreateCommandQueue )( | ||
| 9828 | ID3D12Device * This, | ||
| 9829 | _In_ const D3D12_COMMAND_QUEUE_DESC *pDesc, | ||
| 9830 | REFIID riid, | ||
| 9831 | _COM_Outptr_ void **ppCommandQueue); | ||
| 9832 | |||
| 9833 | DECLSPEC_XFGVIRT(ID3D12Device, CreateCommandAllocator) | ||
| 9834 | HRESULT ( STDMETHODCALLTYPE *CreateCommandAllocator )( | ||
| 9835 | ID3D12Device * This, | ||
| 9836 | _In_ D3D12_COMMAND_LIST_TYPE type, | ||
| 9837 | REFIID riid, | ||
| 9838 | _COM_Outptr_ void **ppCommandAllocator); | ||
| 9839 | |||
| 9840 | DECLSPEC_XFGVIRT(ID3D12Device, CreateGraphicsPipelineState) | ||
| 9841 | HRESULT ( STDMETHODCALLTYPE *CreateGraphicsPipelineState )( | ||
| 9842 | ID3D12Device * This, | ||
| 9843 | _In_ const D3D12_GRAPHICS_PIPELINE_STATE_DESC *pDesc, | ||
| 9844 | REFIID riid, | ||
| 9845 | _COM_Outptr_ void **ppPipelineState); | ||
| 9846 | |||
| 9847 | DECLSPEC_XFGVIRT(ID3D12Device, CreateComputePipelineState) | ||
| 9848 | HRESULT ( STDMETHODCALLTYPE *CreateComputePipelineState )( | ||
| 9849 | ID3D12Device * This, | ||
| 9850 | _In_ const D3D12_COMPUTE_PIPELINE_STATE_DESC *pDesc, | ||
| 9851 | REFIID riid, | ||
| 9852 | _COM_Outptr_ void **ppPipelineState); | ||
| 9853 | |||
| 9854 | DECLSPEC_XFGVIRT(ID3D12Device, CreateCommandList) | ||
| 9855 | HRESULT ( STDMETHODCALLTYPE *CreateCommandList )( | ||
| 9856 | ID3D12Device * This, | ||
| 9857 | _In_ UINT nodeMask, | ||
| 9858 | _In_ D3D12_COMMAND_LIST_TYPE type, | ||
| 9859 | _In_ ID3D12CommandAllocator *pCommandAllocator, | ||
| 9860 | _In_opt_ ID3D12PipelineState *pInitialState, | ||
| 9861 | REFIID riid, | ||
| 9862 | _COM_Outptr_ void **ppCommandList); | ||
| 9863 | |||
| 9864 | DECLSPEC_XFGVIRT(ID3D12Device, CheckFeatureSupport) | ||
| 9865 | HRESULT ( STDMETHODCALLTYPE *CheckFeatureSupport )( | ||
| 9866 | ID3D12Device * This, | ||
| 9867 | D3D12_FEATURE Feature, | ||
| 9868 | _Inout_updates_bytes_(FeatureSupportDataSize) void *pFeatureSupportData, | ||
| 9869 | UINT FeatureSupportDataSize); | ||
| 9870 | |||
| 9871 | DECLSPEC_XFGVIRT(ID3D12Device, CreateDescriptorHeap) | ||
| 9872 | HRESULT ( STDMETHODCALLTYPE *CreateDescriptorHeap )( | ||
| 9873 | ID3D12Device * This, | ||
| 9874 | _In_ const D3D12_DESCRIPTOR_HEAP_DESC *pDescriptorHeapDesc, | ||
| 9875 | REFIID riid, | ||
| 9876 | _COM_Outptr_ void **ppvHeap); | ||
| 9877 | |||
| 9878 | DECLSPEC_XFGVIRT(ID3D12Device, GetDescriptorHandleIncrementSize) | ||
| 9879 | UINT ( STDMETHODCALLTYPE *GetDescriptorHandleIncrementSize )( | ||
| 9880 | ID3D12Device * This, | ||
| 9881 | _In_ D3D12_DESCRIPTOR_HEAP_TYPE DescriptorHeapType); | ||
| 9882 | |||
| 9883 | DECLSPEC_XFGVIRT(ID3D12Device, CreateRootSignature) | ||
| 9884 | HRESULT ( STDMETHODCALLTYPE *CreateRootSignature )( | ||
| 9885 | ID3D12Device * This, | ||
| 9886 | _In_ UINT nodeMask, | ||
| 9887 | _In_reads_(blobLengthInBytes) const void *pBlobWithRootSignature, | ||
| 9888 | _In_ SIZE_T blobLengthInBytes, | ||
| 9889 | REFIID riid, | ||
| 9890 | _COM_Outptr_ void **ppvRootSignature); | ||
| 9891 | |||
| 9892 | DECLSPEC_XFGVIRT(ID3D12Device, CreateConstantBufferView) | ||
| 9893 | void ( STDMETHODCALLTYPE *CreateConstantBufferView )( | ||
| 9894 | ID3D12Device * This, | ||
| 9895 | _In_opt_ const D3D12_CONSTANT_BUFFER_VIEW_DESC *pDesc, | ||
| 9896 | _In_ D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor); | ||
| 9897 | |||
| 9898 | DECLSPEC_XFGVIRT(ID3D12Device, CreateShaderResourceView) | ||
| 9899 | void ( STDMETHODCALLTYPE *CreateShaderResourceView )( | ||
| 9900 | ID3D12Device * This, | ||
| 9901 | _In_opt_ ID3D12Resource *pResource, | ||
| 9902 | _In_opt_ const D3D12_SHADER_RESOURCE_VIEW_DESC *pDesc, | ||
| 9903 | _In_ D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor); | ||
| 9904 | |||
| 9905 | DECLSPEC_XFGVIRT(ID3D12Device, CreateUnorderedAccessView) | ||
| 9906 | void ( STDMETHODCALLTYPE *CreateUnorderedAccessView )( | ||
| 9907 | ID3D12Device * This, | ||
| 9908 | _In_opt_ ID3D12Resource *pResource, | ||
| 9909 | _In_opt_ ID3D12Resource *pCounterResource, | ||
| 9910 | _In_opt_ const D3D12_UNORDERED_ACCESS_VIEW_DESC *pDesc, | ||
| 9911 | _In_ D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor); | ||
| 9912 | |||
| 9913 | DECLSPEC_XFGVIRT(ID3D12Device, CreateRenderTargetView) | ||
| 9914 | void ( STDMETHODCALLTYPE *CreateRenderTargetView )( | ||
| 9915 | ID3D12Device * This, | ||
| 9916 | _In_opt_ ID3D12Resource *pResource, | ||
| 9917 | _In_opt_ const D3D12_RENDER_TARGET_VIEW_DESC *pDesc, | ||
| 9918 | _In_ D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor); | ||
| 9919 | |||
| 9920 | DECLSPEC_XFGVIRT(ID3D12Device, CreateDepthStencilView) | ||
| 9921 | void ( STDMETHODCALLTYPE *CreateDepthStencilView )( | ||
| 9922 | ID3D12Device * This, | ||
| 9923 | _In_opt_ ID3D12Resource *pResource, | ||
| 9924 | _In_opt_ const D3D12_DEPTH_STENCIL_VIEW_DESC *pDesc, | ||
| 9925 | _In_ D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor); | ||
| 9926 | |||
| 9927 | DECLSPEC_XFGVIRT(ID3D12Device, CreateSampler) | ||
| 9928 | void ( STDMETHODCALLTYPE *CreateSampler )( | ||
| 9929 | ID3D12Device * This, | ||
| 9930 | _In_ const D3D12_SAMPLER_DESC *pDesc, | ||
| 9931 | _In_ D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor); | ||
| 9932 | |||
| 9933 | DECLSPEC_XFGVIRT(ID3D12Device, CopyDescriptors) | ||
| 9934 | void ( STDMETHODCALLTYPE *CopyDescriptors )( | ||
| 9935 | ID3D12Device * This, | ||
| 9936 | _In_ UINT NumDestDescriptorRanges, | ||
| 9937 | _In_reads_(NumDestDescriptorRanges) const D3D12_CPU_DESCRIPTOR_HANDLE *pDestDescriptorRangeStarts, | ||
| 9938 | _In_reads_opt_(NumDestDescriptorRanges) const UINT *pDestDescriptorRangeSizes, | ||
| 9939 | _In_ UINT NumSrcDescriptorRanges, | ||
| 9940 | _In_reads_(NumSrcDescriptorRanges) const D3D12_CPU_DESCRIPTOR_HANDLE *pSrcDescriptorRangeStarts, | ||
| 9941 | _In_reads_opt_(NumSrcDescriptorRanges) const UINT *pSrcDescriptorRangeSizes, | ||
| 9942 | _In_ D3D12_DESCRIPTOR_HEAP_TYPE DescriptorHeapsType); | ||
| 9943 | |||
| 9944 | DECLSPEC_XFGVIRT(ID3D12Device, CopyDescriptorsSimple) | ||
| 9945 | void ( STDMETHODCALLTYPE *CopyDescriptorsSimple )( | ||
| 9946 | ID3D12Device * This, | ||
| 9947 | _In_ UINT NumDescriptors, | ||
| 9948 | _In_ D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptorRangeStart, | ||
| 9949 | _In_ D3D12_CPU_DESCRIPTOR_HANDLE SrcDescriptorRangeStart, | ||
| 9950 | _In_ D3D12_DESCRIPTOR_HEAP_TYPE DescriptorHeapsType); | ||
| 9951 | |||
| 9952 | DECLSPEC_XFGVIRT(ID3D12Device, GetResourceAllocationInfo) | ||
| 9953 | #if !defined(_WIN32) | ||
| 9954 | D3D12_RESOURCE_ALLOCATION_INFO ( STDMETHODCALLTYPE *GetResourceAllocationInfo )( | ||
| 9955 | ID3D12Device * This, | ||
| 9956 | _In_ UINT visibleMask, | ||
| 9957 | _In_ UINT numResourceDescs, | ||
| 9958 | _In_reads_(numResourceDescs) const D3D12_RESOURCE_DESC *pResourceDescs); | ||
| 9959 | |||
| 9960 | #else | ||
| 9961 | D3D12_RESOURCE_ALLOCATION_INFO *( STDMETHODCALLTYPE *GetResourceAllocationInfo )( | ||
| 9962 | ID3D12Device * This, | ||
| 9963 | D3D12_RESOURCE_ALLOCATION_INFO * RetVal, | ||
| 9964 | _In_ UINT visibleMask, | ||
| 9965 | _In_ UINT numResourceDescs, | ||
| 9966 | _In_reads_(numResourceDescs) const D3D12_RESOURCE_DESC *pResourceDescs); | ||
| 9967 | |||
| 9968 | #endif | ||
| 9969 | |||
| 9970 | DECLSPEC_XFGVIRT(ID3D12Device, GetCustomHeapProperties) | ||
| 9971 | #if !defined(_WIN32) | ||
| 9972 | D3D12_HEAP_PROPERTIES ( STDMETHODCALLTYPE *GetCustomHeapProperties )( | ||
| 9973 | ID3D12Device * This, | ||
| 9974 | _In_ UINT nodeMask, | ||
| 9975 | D3D12_HEAP_TYPE heapType); | ||
| 9976 | |||
| 9977 | #else | ||
| 9978 | D3D12_HEAP_PROPERTIES *( STDMETHODCALLTYPE *GetCustomHeapProperties )( | ||
| 9979 | ID3D12Device * This, | ||
| 9980 | D3D12_HEAP_PROPERTIES * RetVal, | ||
| 9981 | _In_ UINT nodeMask, | ||
| 9982 | D3D12_HEAP_TYPE heapType); | ||
| 9983 | |||
| 9984 | #endif | ||
| 9985 | |||
| 9986 | DECLSPEC_XFGVIRT(ID3D12Device, CreateCommittedResource) | ||
| 9987 | HRESULT ( STDMETHODCALLTYPE *CreateCommittedResource )( | ||
| 9988 | ID3D12Device * This, | ||
| 9989 | _In_ const D3D12_HEAP_PROPERTIES *pHeapProperties, | ||
| 9990 | D3D12_HEAP_FLAGS HeapFlags, | ||
| 9991 | _In_ const D3D12_RESOURCE_DESC *pDesc, | ||
| 9992 | D3D12_RESOURCE_STATES InitialResourceState, | ||
| 9993 | _In_opt_ const D3D12_CLEAR_VALUE *pOptimizedClearValue, | ||
| 9994 | REFIID riidResource, | ||
| 9995 | _COM_Outptr_opt_ void **ppvResource); | ||
| 9996 | |||
| 9997 | DECLSPEC_XFGVIRT(ID3D12Device, CreateHeap) | ||
| 9998 | HRESULT ( STDMETHODCALLTYPE *CreateHeap )( | ||
| 9999 | ID3D12Device * This, | ||
| 10000 | _In_ const D3D12_HEAP_DESC *pDesc, | ||
| 10001 | REFIID riid, | ||
| 10002 | _COM_Outptr_opt_ void **ppvHeap); | ||
| 10003 | |||
| 10004 | DECLSPEC_XFGVIRT(ID3D12Device, CreatePlacedResource) | ||
| 10005 | HRESULT ( STDMETHODCALLTYPE *CreatePlacedResource )( | ||
| 10006 | ID3D12Device * This, | ||
| 10007 | _In_ ID3D12Heap *pHeap, | ||
| 10008 | UINT64 HeapOffset, | ||
| 10009 | _In_ const D3D12_RESOURCE_DESC *pDesc, | ||
| 10010 | D3D12_RESOURCE_STATES InitialState, | ||
| 10011 | _In_opt_ const D3D12_CLEAR_VALUE *pOptimizedClearValue, | ||
| 10012 | REFIID riid, | ||
| 10013 | _COM_Outptr_opt_ void **ppvResource); | ||
| 10014 | |||
| 10015 | DECLSPEC_XFGVIRT(ID3D12Device, CreateReservedResource) | ||
| 10016 | HRESULT ( STDMETHODCALLTYPE *CreateReservedResource )( | ||
| 10017 | ID3D12Device * This, | ||
| 10018 | _In_ const D3D12_RESOURCE_DESC *pDesc, | ||
| 10019 | D3D12_RESOURCE_STATES InitialState, | ||
| 10020 | _In_opt_ const D3D12_CLEAR_VALUE *pOptimizedClearValue, | ||
| 10021 | REFIID riid, | ||
| 10022 | _COM_Outptr_opt_ void **ppvResource); | ||
| 10023 | |||
| 10024 | DECLSPEC_XFGVIRT(ID3D12Device, CreateSharedHandle) | ||
| 10025 | HRESULT ( STDMETHODCALLTYPE *CreateSharedHandle )( | ||
| 10026 | ID3D12Device * This, | ||
| 10027 | _In_ ID3D12DeviceChild *pObject, | ||
| 10028 | _In_opt_ const SECURITY_ATTRIBUTES *pAttributes, | ||
| 10029 | DWORD Access, | ||
| 10030 | _In_opt_ LPCWSTR Name, | ||
| 10031 | _Out_ HANDLE *pHandle); | ||
| 10032 | |||
| 10033 | DECLSPEC_XFGVIRT(ID3D12Device, OpenSharedHandle) | ||
| 10034 | HRESULT ( STDMETHODCALLTYPE *OpenSharedHandle )( | ||
| 10035 | ID3D12Device * This, | ||
| 10036 | _In_ HANDLE NTHandle, | ||
| 10037 | REFIID riid, | ||
| 10038 | _COM_Outptr_opt_ void **ppvObj); | ||
| 10039 | |||
| 10040 | DECLSPEC_XFGVIRT(ID3D12Device, OpenSharedHandleByName) | ||
| 10041 | HRESULT ( STDMETHODCALLTYPE *OpenSharedHandleByName )( | ||
| 10042 | ID3D12Device * This, | ||
| 10043 | _In_ LPCWSTR Name, | ||
| 10044 | DWORD Access, | ||
| 10045 | /* [annotation][out] */ | ||
| 10046 | _Out_ HANDLE *pNTHandle); | ||
| 10047 | |||
| 10048 | DECLSPEC_XFGVIRT(ID3D12Device, MakeResident) | ||
| 10049 | HRESULT ( STDMETHODCALLTYPE *MakeResident )( | ||
| 10050 | ID3D12Device * This, | ||
| 10051 | UINT NumObjects, | ||
| 10052 | _In_reads_(NumObjects) ID3D12Pageable *const *ppObjects); | ||
| 10053 | |||
| 10054 | DECLSPEC_XFGVIRT(ID3D12Device, Evict) | ||
| 10055 | HRESULT ( STDMETHODCALLTYPE *Evict )( | ||
| 10056 | ID3D12Device * This, | ||
| 10057 | UINT NumObjects, | ||
| 10058 | _In_reads_(NumObjects) ID3D12Pageable *const *ppObjects); | ||
| 10059 | |||
| 10060 | DECLSPEC_XFGVIRT(ID3D12Device, CreateFence) | ||
| 10061 | HRESULT ( STDMETHODCALLTYPE *CreateFence )( | ||
| 10062 | ID3D12Device * This, | ||
| 10063 | UINT64 InitialValue, | ||
| 10064 | D3D12_FENCE_FLAGS Flags, | ||
| 10065 | REFIID riid, | ||
| 10066 | _COM_Outptr_ void **ppFence); | ||
| 10067 | |||
| 10068 | DECLSPEC_XFGVIRT(ID3D12Device, GetDeviceRemovedReason) | ||
| 10069 | HRESULT ( STDMETHODCALLTYPE *GetDeviceRemovedReason )( | ||
| 10070 | ID3D12Device * This); | ||
| 10071 | |||
| 10072 | DECLSPEC_XFGVIRT(ID3D12Device, GetCopyableFootprints) | ||
| 10073 | void ( STDMETHODCALLTYPE *GetCopyableFootprints )( | ||
| 10074 | ID3D12Device * This, | ||
| 10075 | _In_ const D3D12_RESOURCE_DESC *pResourceDesc, | ||
| 10076 | _In_range_(0,D3D12_REQ_SUBRESOURCES) UINT FirstSubresource, | ||
| 10077 | _In_range_(0,D3D12_REQ_SUBRESOURCES-FirstSubresource) UINT NumSubresources, | ||
| 10078 | UINT64 BaseOffset, | ||
| 10079 | _Out_writes_opt_(NumSubresources) D3D12_PLACED_SUBRESOURCE_FOOTPRINT *pLayouts, | ||
| 10080 | _Out_writes_opt_(NumSubresources) UINT *pNumRows, | ||
| 10081 | _Out_writes_opt_(NumSubresources) UINT64 *pRowSizeInBytes, | ||
| 10082 | _Out_opt_ UINT64 *pTotalBytes); | ||
| 10083 | |||
| 10084 | DECLSPEC_XFGVIRT(ID3D12Device, CreateQueryHeap) | ||
| 10085 | HRESULT ( STDMETHODCALLTYPE *CreateQueryHeap )( | ||
| 10086 | ID3D12Device * This, | ||
| 10087 | _In_ const D3D12_QUERY_HEAP_DESC *pDesc, | ||
| 10088 | REFIID riid, | ||
| 10089 | _COM_Outptr_opt_ void **ppvHeap); | ||
| 10090 | |||
| 10091 | DECLSPEC_XFGVIRT(ID3D12Device, SetStablePowerState) | ||
| 10092 | HRESULT ( STDMETHODCALLTYPE *SetStablePowerState )( | ||
| 10093 | ID3D12Device * This, | ||
| 10094 | BOOL Enable); | ||
| 10095 | |||
| 10096 | DECLSPEC_XFGVIRT(ID3D12Device, CreateCommandSignature) | ||
| 10097 | HRESULT ( STDMETHODCALLTYPE *CreateCommandSignature )( | ||
| 10098 | ID3D12Device * This, | ||
| 10099 | _In_ const D3D12_COMMAND_SIGNATURE_DESC *pDesc, | ||
| 10100 | _In_opt_ ID3D12RootSignature *pRootSignature, | ||
| 10101 | REFIID riid, | ||
| 10102 | _COM_Outptr_opt_ void **ppvCommandSignature); | ||
| 10103 | |||
| 10104 | DECLSPEC_XFGVIRT(ID3D12Device, GetResourceTiling) | ||
| 10105 | void ( STDMETHODCALLTYPE *GetResourceTiling )( | ||
| 10106 | ID3D12Device * This, | ||
| 10107 | _In_ ID3D12Resource *pTiledResource, | ||
| 10108 | _Out_opt_ UINT *pNumTilesForEntireResource, | ||
| 10109 | _Out_opt_ D3D12_PACKED_MIP_INFO *pPackedMipDesc, | ||
| 10110 | _Out_opt_ D3D12_TILE_SHAPE *pStandardTileShapeForNonPackedMips, | ||
| 10111 | _Inout_opt_ UINT *pNumSubresourceTilings, | ||
| 10112 | _In_ UINT FirstSubresourceTilingToGet, | ||
| 10113 | _Out_writes_(*pNumSubresourceTilings) D3D12_SUBRESOURCE_TILING *pSubresourceTilingsForNonPackedMips); | ||
| 10114 | |||
| 10115 | DECLSPEC_XFGVIRT(ID3D12Device, GetAdapterLuid) | ||
| 10116 | #if !defined(_WIN32) | ||
| 10117 | LUID ( STDMETHODCALLTYPE *GetAdapterLuid )( | ||
| 10118 | ID3D12Device * This); | ||
| 10119 | |||
| 10120 | #else | ||
| 10121 | LUID *( STDMETHODCALLTYPE *GetAdapterLuid )( | ||
| 10122 | ID3D12Device * This, | ||
| 10123 | LUID * RetVal); | ||
| 10124 | |||
| 10125 | #endif | ||
| 10126 | |||
| 10127 | END_INTERFACE | ||
| 10128 | } ID3D12DeviceVtbl; | ||
| 10129 | |||
| 10130 | interface ID3D12Device | ||
| 10131 | { | ||
| 10132 | CONST_VTBL struct ID3D12DeviceVtbl *lpVtbl; | ||
| 10133 | }; | ||
| 10134 | |||
| 10135 | |||
| 10136 | |||
| 10137 | #ifdef COBJMACROS | ||
| 10138 | |||
| 10139 | |||
| 10140 | #define ID3D12Device_QueryInterface(This,riid,ppvObject) \ | ||
| 10141 | ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) | ||
| 10142 | |||
| 10143 | #define ID3D12Device_AddRef(This) \ | ||
| 10144 | ( (This)->lpVtbl -> AddRef(This) ) | ||
| 10145 | |||
| 10146 | #define ID3D12Device_Release(This) \ | ||
| 10147 | ( (This)->lpVtbl -> Release(This) ) | ||
| 10148 | |||
| 10149 | |||
| 10150 | #define ID3D12Device_GetPrivateData(This,guid,pDataSize,pData) \ | ||
| 10151 | ( (This)->lpVtbl -> GetPrivateData(This,guid,pDataSize,pData) ) | ||
| 10152 | |||
| 10153 | #define ID3D12Device_SetPrivateData(This,guid,DataSize,pData) \ | ||
| 10154 | ( (This)->lpVtbl -> SetPrivateData(This,guid,DataSize,pData) ) | ||
| 10155 | |||
| 10156 | #define ID3D12Device_SetPrivateDataInterface(This,guid,pData) \ | ||
| 10157 | ( (This)->lpVtbl -> SetPrivateDataInterface(This,guid,pData) ) | ||
| 10158 | |||
| 10159 | #define ID3D12Device_SetName(This,Name) \ | ||
| 10160 | ( (This)->lpVtbl -> SetName(This,Name) ) | ||
| 10161 | |||
| 10162 | |||
| 10163 | #define ID3D12Device_GetNodeCount(This) \ | ||
| 10164 | ( (This)->lpVtbl -> GetNodeCount(This) ) | ||
| 10165 | |||
| 10166 | #define ID3D12Device_CreateCommandQueue(This,pDesc,riid,ppCommandQueue) \ | ||
| 10167 | ( (This)->lpVtbl -> CreateCommandQueue(This,pDesc,riid,ppCommandQueue) ) | ||
| 10168 | |||
| 10169 | #define ID3D12Device_CreateCommandAllocator(This,type,riid,ppCommandAllocator) \ | ||
| 10170 | ( (This)->lpVtbl -> CreateCommandAllocator(This,type,riid,ppCommandAllocator) ) | ||
| 10171 | |||
| 10172 | #define ID3D12Device_CreateGraphicsPipelineState(This,pDesc,riid,ppPipelineState) \ | ||
| 10173 | ( (This)->lpVtbl -> CreateGraphicsPipelineState(This,pDesc,riid,ppPipelineState) ) | ||
| 10174 | |||
| 10175 | #define ID3D12Device_CreateComputePipelineState(This,pDesc,riid,ppPipelineState) \ | ||
| 10176 | ( (This)->lpVtbl -> CreateComputePipelineState(This,pDesc,riid,ppPipelineState) ) | ||
| 10177 | |||
| 10178 | #define ID3D12Device_CreateCommandList(This,nodeMask,type,pCommandAllocator,pInitialState,riid,ppCommandList) \ | ||
| 10179 | ( (This)->lpVtbl -> CreateCommandList(This,nodeMask,type,pCommandAllocator,pInitialState,riid,ppCommandList) ) | ||
| 10180 | |||
| 10181 | #define ID3D12Device_CheckFeatureSupport(This,Feature,pFeatureSupportData,FeatureSupportDataSize) \ | ||
| 10182 | ( (This)->lpVtbl -> CheckFeatureSupport(This,Feature,pFeatureSupportData,FeatureSupportDataSize) ) | ||
| 10183 | |||
| 10184 | #define ID3D12Device_CreateDescriptorHeap(This,pDescriptorHeapDesc,riid,ppvHeap) \ | ||
| 10185 | ( (This)->lpVtbl -> CreateDescriptorHeap(This,pDescriptorHeapDesc,riid,ppvHeap) ) | ||
| 10186 | |||
| 10187 | #define ID3D12Device_GetDescriptorHandleIncrementSize(This,DescriptorHeapType) \ | ||
| 10188 | ( (This)->lpVtbl -> GetDescriptorHandleIncrementSize(This,DescriptorHeapType) ) | ||
| 10189 | |||
| 10190 | #define ID3D12Device_CreateRootSignature(This,nodeMask,pBlobWithRootSignature,blobLengthInBytes,riid,ppvRootSignature) \ | ||
| 10191 | ( (This)->lpVtbl -> CreateRootSignature(This,nodeMask,pBlobWithRootSignature,blobLengthInBytes,riid,ppvRootSignature) ) | ||
| 10192 | |||
| 10193 | #define ID3D12Device_CreateConstantBufferView(This,pDesc,DestDescriptor) \ | ||
| 10194 | ( (This)->lpVtbl -> CreateConstantBufferView(This,pDesc,DestDescriptor) ) | ||
| 10195 | |||
| 10196 | #define ID3D12Device_CreateShaderResourceView(This,pResource,pDesc,DestDescriptor) \ | ||
| 10197 | ( (This)->lpVtbl -> CreateShaderResourceView(This,pResource,pDesc,DestDescriptor) ) | ||
| 10198 | |||
| 10199 | #define ID3D12Device_CreateUnorderedAccessView(This,pResource,pCounterResource,pDesc,DestDescriptor) \ | ||
| 10200 | ( (This)->lpVtbl -> CreateUnorderedAccessView(This,pResource,pCounterResource,pDesc,DestDescriptor) ) | ||
| 10201 | |||
| 10202 | #define ID3D12Device_CreateRenderTargetView(This,pResource,pDesc,DestDescriptor) \ | ||
| 10203 | ( (This)->lpVtbl -> CreateRenderTargetView(This,pResource,pDesc,DestDescriptor) ) | ||
| 10204 | |||
| 10205 | #define ID3D12Device_CreateDepthStencilView(This,pResource,pDesc,DestDescriptor) \ | ||
| 10206 | ( (This)->lpVtbl -> CreateDepthStencilView(This,pResource,pDesc,DestDescriptor) ) | ||
| 10207 | |||
| 10208 | #define ID3D12Device_CreateSampler(This,pDesc,DestDescriptor) \ | ||
| 10209 | ( (This)->lpVtbl -> CreateSampler(This,pDesc,DestDescriptor) ) | ||
| 10210 | |||
| 10211 | #define ID3D12Device_CopyDescriptors(This,NumDestDescriptorRanges,pDestDescriptorRangeStarts,pDestDescriptorRangeSizes,NumSrcDescriptorRanges,pSrcDescriptorRangeStarts,pSrcDescriptorRangeSizes,DescriptorHeapsType) \ | ||
| 10212 | ( (This)->lpVtbl -> CopyDescriptors(This,NumDestDescriptorRanges,pDestDescriptorRangeStarts,pDestDescriptorRangeSizes,NumSrcDescriptorRanges,pSrcDescriptorRangeStarts,pSrcDescriptorRangeSizes,DescriptorHeapsType) ) | ||
| 10213 | |||
| 10214 | #define ID3D12Device_CopyDescriptorsSimple(This,NumDescriptors,DestDescriptorRangeStart,SrcDescriptorRangeStart,DescriptorHeapsType) \ | ||
| 10215 | ( (This)->lpVtbl -> CopyDescriptorsSimple(This,NumDescriptors,DestDescriptorRangeStart,SrcDescriptorRangeStart,DescriptorHeapsType) ) | ||
| 10216 | #if !defined(_WIN32) | ||
| 10217 | |||
| 10218 | #define ID3D12Device_GetResourceAllocationInfo(This,visibleMask,numResourceDescs,pResourceDescs) \ | ||
| 10219 | ( (This)->lpVtbl -> GetResourceAllocationInfo(This,visibleMask,numResourceDescs,pResourceDescs) ) | ||
| 10220 | #else | ||
| 10221 | #define ID3D12Device_GetResourceAllocationInfo(This,RetVal,visibleMask,numResourceDescs,pResourceDescs) \ | ||
| 10222 | ( (This)->lpVtbl -> GetResourceAllocationInfo(This,RetVal,visibleMask,numResourceDescs,pResourceDescs) ) | ||
| 10223 | #endif | ||
| 10224 | #if !defined(_WIN32) | ||
| 10225 | |||
| 10226 | #define ID3D12Device_GetCustomHeapProperties(This,nodeMask,heapType) \ | ||
| 10227 | ( (This)->lpVtbl -> GetCustomHeapProperties(This,nodeMask,heapType) ) | ||
| 10228 | #else | ||
| 10229 | #define ID3D12Device_GetCustomHeapProperties(This,RetVal,nodeMask,heapType) \ | ||
| 10230 | ( (This)->lpVtbl -> GetCustomHeapProperties(This,RetVal,nodeMask,heapType) ) | ||
| 10231 | #endif | ||
| 10232 | |||
| 10233 | #define ID3D12Device_CreateCommittedResource(This,pHeapProperties,HeapFlags,pDesc,InitialResourceState,pOptimizedClearValue,riidResource,ppvResource) \ | ||
| 10234 | ( (This)->lpVtbl -> CreateCommittedResource(This,pHeapProperties,HeapFlags,pDesc,InitialResourceState,pOptimizedClearValue,riidResource,ppvResource) ) | ||
| 10235 | |||
| 10236 | #define ID3D12Device_CreateHeap(This,pDesc,riid,ppvHeap) \ | ||
| 10237 | ( (This)->lpVtbl -> CreateHeap(This,pDesc,riid,ppvHeap) ) | ||
| 10238 | |||
| 10239 | #define ID3D12Device_CreatePlacedResource(This,pHeap,HeapOffset,pDesc,InitialState,pOptimizedClearValue,riid,ppvResource) \ | ||
| 10240 | ( (This)->lpVtbl -> CreatePlacedResource(This,pHeap,HeapOffset,pDesc,InitialState,pOptimizedClearValue,riid,ppvResource) ) | ||
| 10241 | |||
| 10242 | #define ID3D12Device_CreateReservedResource(This,pDesc,InitialState,pOptimizedClearValue,riid,ppvResource) \ | ||
| 10243 | ( (This)->lpVtbl -> CreateReservedResource(This,pDesc,InitialState,pOptimizedClearValue,riid,ppvResource) ) | ||
| 10244 | |||
| 10245 | #define ID3D12Device_CreateSharedHandle(This,pObject,pAttributes,Access,Name,pHandle) \ | ||
| 10246 | ( (This)->lpVtbl -> CreateSharedHandle(This,pObject,pAttributes,Access,Name,pHandle) ) | ||
| 10247 | |||
| 10248 | #define ID3D12Device_OpenSharedHandle(This,NTHandle,riid,ppvObj) \ | ||
| 10249 | ( (This)->lpVtbl -> OpenSharedHandle(This,NTHandle,riid,ppvObj) ) | ||
| 10250 | |||
| 10251 | #define ID3D12Device_OpenSharedHandleByName(This,Name,Access,pNTHandle) \ | ||
| 10252 | ( (This)->lpVtbl -> OpenSharedHandleByName(This,Name,Access,pNTHandle) ) | ||
| 10253 | |||
| 10254 | #define ID3D12Device_MakeResident(This,NumObjects,ppObjects) \ | ||
| 10255 | ( (This)->lpVtbl -> MakeResident(This,NumObjects,ppObjects) ) | ||
| 10256 | |||
| 10257 | #define ID3D12Device_Evict(This,NumObjects,ppObjects) \ | ||
| 10258 | ( (This)->lpVtbl -> Evict(This,NumObjects,ppObjects) ) | ||
| 10259 | |||
| 10260 | #define ID3D12Device_CreateFence(This,InitialValue,Flags,riid,ppFence) \ | ||
| 10261 | ( (This)->lpVtbl -> CreateFence(This,InitialValue,Flags,riid,ppFence) ) | ||
| 10262 | |||
| 10263 | #define ID3D12Device_GetDeviceRemovedReason(This) \ | ||
| 10264 | ( (This)->lpVtbl -> GetDeviceRemovedReason(This) ) | ||
| 10265 | |||
| 10266 | #define ID3D12Device_GetCopyableFootprints(This,pResourceDesc,FirstSubresource,NumSubresources,BaseOffset,pLayouts,pNumRows,pRowSizeInBytes,pTotalBytes) \ | ||
| 10267 | ( (This)->lpVtbl -> GetCopyableFootprints(This,pResourceDesc,FirstSubresource,NumSubresources,BaseOffset,pLayouts,pNumRows,pRowSizeInBytes,pTotalBytes) ) | ||
| 10268 | |||
| 10269 | #define ID3D12Device_CreateQueryHeap(This,pDesc,riid,ppvHeap) \ | ||
| 10270 | ( (This)->lpVtbl -> CreateQueryHeap(This,pDesc,riid,ppvHeap) ) | ||
| 10271 | |||
| 10272 | #define ID3D12Device_SetStablePowerState(This,Enable) \ | ||
| 10273 | ( (This)->lpVtbl -> SetStablePowerState(This,Enable) ) | ||
| 10274 | |||
| 10275 | #define ID3D12Device_CreateCommandSignature(This,pDesc,pRootSignature,riid,ppvCommandSignature) \ | ||
| 10276 | ( (This)->lpVtbl -> CreateCommandSignature(This,pDesc,pRootSignature,riid,ppvCommandSignature) ) | ||
| 10277 | |||
| 10278 | #define ID3D12Device_GetResourceTiling(This,pTiledResource,pNumTilesForEntireResource,pPackedMipDesc,pStandardTileShapeForNonPackedMips,pNumSubresourceTilings,FirstSubresourceTilingToGet,pSubresourceTilingsForNonPackedMips) \ | ||
| 10279 | ( (This)->lpVtbl -> GetResourceTiling(This,pTiledResource,pNumTilesForEntireResource,pPackedMipDesc,pStandardTileShapeForNonPackedMips,pNumSubresourceTilings,FirstSubresourceTilingToGet,pSubresourceTilingsForNonPackedMips) ) | ||
| 10280 | #if !defined(_WIN32) | ||
| 10281 | |||
| 10282 | #define ID3D12Device_GetAdapterLuid(This) \ | ||
| 10283 | ( (This)->lpVtbl -> GetAdapterLuid(This) ) | ||
| 10284 | #else | ||
| 10285 | #define ID3D12Device_GetAdapterLuid(This,RetVal) \ | ||
| 10286 | ( (This)->lpVtbl -> GetAdapterLuid(This,RetVal) ) | ||
| 10287 | #endif | ||
| 10288 | |||
| 10289 | #endif /* COBJMACROS */ | ||
| 10290 | |||
| 10291 | |||
| 10292 | #endif /* C style interface */ | ||
| 10293 | |||
| 10294 | |||
| 10295 | |||
| 10296 | |||
| 10297 | #endif /* __ID3D12Device_INTERFACE_DEFINED__ */ | ||
| 10298 | |||
| 10299 | |||
| 10300 | #ifndef __ID3D12PipelineLibrary_INTERFACE_DEFINED__ | ||
| 10301 | #define __ID3D12PipelineLibrary_INTERFACE_DEFINED__ | ||
| 10302 | |||
| 10303 | /* interface ID3D12PipelineLibrary */ | ||
| 10304 | /* [unique][local][object][uuid] */ | ||
| 10305 | |||
| 10306 | |||
| 10307 | EXTERN_C const IID IID_ID3D12PipelineLibrary; | ||
| 10308 | |||
| 10309 | #if defined(__cplusplus) && !defined(CINTERFACE) | ||
| 10310 | |||
| 10311 | MIDL_INTERFACE("c64226a8-9201-46af-b4cc-53fb9ff7414f") | ||
| 10312 | ID3D12PipelineLibrary : public ID3D12DeviceChild | ||
| 10313 | { | ||
| 10314 | public: | ||
| 10315 | virtual HRESULT STDMETHODCALLTYPE StorePipeline( | ||
| 10316 | _In_opt_ LPCWSTR pName, | ||
| 10317 | _In_ ID3D12PipelineState *pPipeline) = 0; | ||
| 10318 | |||
| 10319 | virtual HRESULT STDMETHODCALLTYPE LoadGraphicsPipeline( | ||
| 10320 | _In_ LPCWSTR pName, | ||
| 10321 | _In_ const D3D12_GRAPHICS_PIPELINE_STATE_DESC *pDesc, | ||
| 10322 | REFIID riid, | ||
| 10323 | _COM_Outptr_ void **ppPipelineState) = 0; | ||
| 10324 | |||
| 10325 | virtual HRESULT STDMETHODCALLTYPE LoadComputePipeline( | ||
| 10326 | _In_ LPCWSTR pName, | ||
| 10327 | _In_ const D3D12_COMPUTE_PIPELINE_STATE_DESC *pDesc, | ||
| 10328 | REFIID riid, | ||
| 10329 | _COM_Outptr_ void **ppPipelineState) = 0; | ||
| 10330 | |||
| 10331 | virtual SIZE_T STDMETHODCALLTYPE GetSerializedSize( void) = 0; | ||
| 10332 | |||
| 10333 | virtual HRESULT STDMETHODCALLTYPE Serialize( | ||
| 10334 | _Out_writes_(DataSizeInBytes) void *pData, | ||
| 10335 | SIZE_T DataSizeInBytes) = 0; | ||
| 10336 | |||
| 10337 | }; | ||
| 10338 | |||
| 10339 | |||
| 10340 | #else /* C style interface */ | ||
| 10341 | |||
| 10342 | typedef struct ID3D12PipelineLibraryVtbl | ||
| 10343 | { | ||
| 10344 | BEGIN_INTERFACE | ||
| 10345 | |||
| 10346 | DECLSPEC_XFGVIRT(IUnknown, QueryInterface) | ||
| 10347 | HRESULT ( STDMETHODCALLTYPE *QueryInterface )( | ||
| 10348 | ID3D12PipelineLibrary * This, | ||
| 10349 | REFIID riid, | ||
| 10350 | _COM_Outptr_ void **ppvObject); | ||
| 10351 | |||
| 10352 | DECLSPEC_XFGVIRT(IUnknown, AddRef) | ||
| 10353 | ULONG ( STDMETHODCALLTYPE *AddRef )( | ||
| 10354 | ID3D12PipelineLibrary * This); | ||
| 10355 | |||
| 10356 | DECLSPEC_XFGVIRT(IUnknown, Release) | ||
| 10357 | ULONG ( STDMETHODCALLTYPE *Release )( | ||
| 10358 | ID3D12PipelineLibrary * This); | ||
| 10359 | |||
| 10360 | DECLSPEC_XFGVIRT(ID3D12Object, GetPrivateData) | ||
| 10361 | HRESULT ( STDMETHODCALLTYPE *GetPrivateData )( | ||
| 10362 | ID3D12PipelineLibrary * This, | ||
| 10363 | _In_ REFGUID guid, | ||
| 10364 | _Inout_ UINT *pDataSize, | ||
| 10365 | _Out_writes_bytes_opt_( *pDataSize ) void *pData); | ||
| 10366 | |||
| 10367 | DECLSPEC_XFGVIRT(ID3D12Object, SetPrivateData) | ||
| 10368 | HRESULT ( STDMETHODCALLTYPE *SetPrivateData )( | ||
| 10369 | ID3D12PipelineLibrary * This, | ||
| 10370 | _In_ REFGUID guid, | ||
| 10371 | _In_ UINT DataSize, | ||
| 10372 | _In_reads_bytes_opt_( DataSize ) const void *pData); | ||
| 10373 | |||
| 10374 | DECLSPEC_XFGVIRT(ID3D12Object, SetPrivateDataInterface) | ||
| 10375 | HRESULT ( STDMETHODCALLTYPE *SetPrivateDataInterface )( | ||
| 10376 | ID3D12PipelineLibrary * This, | ||
| 10377 | _In_ REFGUID guid, | ||
| 10378 | _In_opt_ const IUnknown *pData); | ||
| 10379 | |||
| 10380 | DECLSPEC_XFGVIRT(ID3D12Object, SetName) | ||
| 10381 | HRESULT ( STDMETHODCALLTYPE *SetName )( | ||
| 10382 | ID3D12PipelineLibrary * This, | ||
| 10383 | _In_z_ LPCWSTR Name); | ||
| 10384 | |||
| 10385 | DECLSPEC_XFGVIRT(ID3D12DeviceChild, GetDevice) | ||
| 10386 | HRESULT ( STDMETHODCALLTYPE *GetDevice )( | ||
| 10387 | ID3D12PipelineLibrary * This, | ||
| 10388 | REFIID riid, | ||
| 10389 | _COM_Outptr_opt_ void **ppvDevice); | ||
| 10390 | |||
| 10391 | DECLSPEC_XFGVIRT(ID3D12PipelineLibrary, StorePipeline) | ||
| 10392 | HRESULT ( STDMETHODCALLTYPE *StorePipeline )( | ||
| 10393 | ID3D12PipelineLibrary * This, | ||
| 10394 | _In_opt_ LPCWSTR pName, | ||
| 10395 | _In_ ID3D12PipelineState *pPipeline); | ||
| 10396 | |||
| 10397 | DECLSPEC_XFGVIRT(ID3D12PipelineLibrary, LoadGraphicsPipeline) | ||
| 10398 | HRESULT ( STDMETHODCALLTYPE *LoadGraphicsPipeline )( | ||
| 10399 | ID3D12PipelineLibrary * This, | ||
| 10400 | _In_ LPCWSTR pName, | ||
| 10401 | _In_ const D3D12_GRAPHICS_PIPELINE_STATE_DESC *pDesc, | ||
| 10402 | REFIID riid, | ||
| 10403 | _COM_Outptr_ void **ppPipelineState); | ||
| 10404 | |||
| 10405 | DECLSPEC_XFGVIRT(ID3D12PipelineLibrary, LoadComputePipeline) | ||
| 10406 | HRESULT ( STDMETHODCALLTYPE *LoadComputePipeline )( | ||
| 10407 | ID3D12PipelineLibrary * This, | ||
| 10408 | _In_ LPCWSTR pName, | ||
| 10409 | _In_ const D3D12_COMPUTE_PIPELINE_STATE_DESC *pDesc, | ||
| 10410 | REFIID riid, | ||
| 10411 | _COM_Outptr_ void **ppPipelineState); | ||
| 10412 | |||
| 10413 | DECLSPEC_XFGVIRT(ID3D12PipelineLibrary, GetSerializedSize) | ||
| 10414 | SIZE_T ( STDMETHODCALLTYPE *GetSerializedSize )( | ||
| 10415 | ID3D12PipelineLibrary * This); | ||
| 10416 | |||
| 10417 | DECLSPEC_XFGVIRT(ID3D12PipelineLibrary, Serialize) | ||
| 10418 | HRESULT ( STDMETHODCALLTYPE *Serialize )( | ||
| 10419 | ID3D12PipelineLibrary * This, | ||
| 10420 | _Out_writes_(DataSizeInBytes) void *pData, | ||
| 10421 | SIZE_T DataSizeInBytes); | ||
| 10422 | |||
| 10423 | END_INTERFACE | ||
| 10424 | } ID3D12PipelineLibraryVtbl; | ||
| 10425 | |||
| 10426 | interface ID3D12PipelineLibrary | ||
| 10427 | { | ||
| 10428 | CONST_VTBL struct ID3D12PipelineLibraryVtbl *lpVtbl; | ||
| 10429 | }; | ||
| 10430 | |||
| 10431 | |||
| 10432 | |||
| 10433 | #ifdef COBJMACROS | ||
| 10434 | |||
| 10435 | |||
| 10436 | #define ID3D12PipelineLibrary_QueryInterface(This,riid,ppvObject) \ | ||
| 10437 | ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) | ||
| 10438 | |||
| 10439 | #define ID3D12PipelineLibrary_AddRef(This) \ | ||
| 10440 | ( (This)->lpVtbl -> AddRef(This) ) | ||
| 10441 | |||
| 10442 | #define ID3D12PipelineLibrary_Release(This) \ | ||
| 10443 | ( (This)->lpVtbl -> Release(This) ) | ||
| 10444 | |||
| 10445 | |||
| 10446 | #define ID3D12PipelineLibrary_GetPrivateData(This,guid,pDataSize,pData) \ | ||
| 10447 | ( (This)->lpVtbl -> GetPrivateData(This,guid,pDataSize,pData) ) | ||
| 10448 | |||
| 10449 | #define ID3D12PipelineLibrary_SetPrivateData(This,guid,DataSize,pData) \ | ||
| 10450 | ( (This)->lpVtbl -> SetPrivateData(This,guid,DataSize,pData) ) | ||
| 10451 | |||
| 10452 | #define ID3D12PipelineLibrary_SetPrivateDataInterface(This,guid,pData) \ | ||
| 10453 | ( (This)->lpVtbl -> SetPrivateDataInterface(This,guid,pData) ) | ||
| 10454 | |||
| 10455 | #define ID3D12PipelineLibrary_SetName(This,Name) \ | ||
| 10456 | ( (This)->lpVtbl -> SetName(This,Name) ) | ||
| 10457 | |||
| 10458 | |||
| 10459 | #define ID3D12PipelineLibrary_GetDevice(This,riid,ppvDevice) \ | ||
| 10460 | ( (This)->lpVtbl -> GetDevice(This,riid,ppvDevice) ) | ||
| 10461 | |||
| 10462 | |||
| 10463 | #define ID3D12PipelineLibrary_StorePipeline(This,pName,pPipeline) \ | ||
| 10464 | ( (This)->lpVtbl -> StorePipeline(This,pName,pPipeline) ) | ||
| 10465 | |||
| 10466 | #define ID3D12PipelineLibrary_LoadGraphicsPipeline(This,pName,pDesc,riid,ppPipelineState) \ | ||
| 10467 | ( (This)->lpVtbl -> LoadGraphicsPipeline(This,pName,pDesc,riid,ppPipelineState) ) | ||
| 10468 | |||
| 10469 | #define ID3D12PipelineLibrary_LoadComputePipeline(This,pName,pDesc,riid,ppPipelineState) \ | ||
| 10470 | ( (This)->lpVtbl -> LoadComputePipeline(This,pName,pDesc,riid,ppPipelineState) ) | ||
| 10471 | |||
| 10472 | #define ID3D12PipelineLibrary_GetSerializedSize(This) \ | ||
| 10473 | ( (This)->lpVtbl -> GetSerializedSize(This) ) | ||
| 10474 | |||
| 10475 | #define ID3D12PipelineLibrary_Serialize(This,pData,DataSizeInBytes) \ | ||
| 10476 | ( (This)->lpVtbl -> Serialize(This,pData,DataSizeInBytes) ) | ||
| 10477 | |||
| 10478 | #endif /* COBJMACROS */ | ||
| 10479 | |||
| 10480 | |||
| 10481 | #endif /* C style interface */ | ||
| 10482 | |||
| 10483 | |||
| 10484 | |||
| 10485 | |||
| 10486 | #endif /* __ID3D12PipelineLibrary_INTERFACE_DEFINED__ */ | ||
| 10487 | |||
| 10488 | |||
| 10489 | #ifndef __ID3D12PipelineLibrary1_INTERFACE_DEFINED__ | ||
| 10490 | #define __ID3D12PipelineLibrary1_INTERFACE_DEFINED__ | ||
| 10491 | |||
| 10492 | /* interface ID3D12PipelineLibrary1 */ | ||
| 10493 | /* [unique][local][object][uuid] */ | ||
| 10494 | |||
| 10495 | |||
| 10496 | EXTERN_C const IID IID_ID3D12PipelineLibrary1; | ||
| 10497 | |||
| 10498 | #if defined(__cplusplus) && !defined(CINTERFACE) | ||
| 10499 | |||
| 10500 | MIDL_INTERFACE("80eabf42-2568-4e5e-bd82-c37f86961dc3") | ||
| 10501 | ID3D12PipelineLibrary1 : public ID3D12PipelineLibrary | ||
| 10502 | { | ||
| 10503 | public: | ||
| 10504 | virtual HRESULT STDMETHODCALLTYPE LoadPipeline( | ||
| 10505 | _In_ LPCWSTR pName, | ||
| 10506 | _In_ const D3D12_PIPELINE_STATE_STREAM_DESC *pDesc, | ||
| 10507 | REFIID riid, | ||
| 10508 | _COM_Outptr_ void **ppPipelineState) = 0; | ||
| 10509 | |||
| 10510 | }; | ||
| 10511 | |||
| 10512 | |||
| 10513 | #else /* C style interface */ | ||
| 10514 | |||
| 10515 | typedef struct ID3D12PipelineLibrary1Vtbl | ||
| 10516 | { | ||
| 10517 | BEGIN_INTERFACE | ||
| 10518 | |||
| 10519 | DECLSPEC_XFGVIRT(IUnknown, QueryInterface) | ||
| 10520 | HRESULT ( STDMETHODCALLTYPE *QueryInterface )( | ||
| 10521 | ID3D12PipelineLibrary1 * This, | ||
| 10522 | REFIID riid, | ||
| 10523 | _COM_Outptr_ void **ppvObject); | ||
| 10524 | |||
| 10525 | DECLSPEC_XFGVIRT(IUnknown, AddRef) | ||
| 10526 | ULONG ( STDMETHODCALLTYPE *AddRef )( | ||
| 10527 | ID3D12PipelineLibrary1 * This); | ||
| 10528 | |||
| 10529 | DECLSPEC_XFGVIRT(IUnknown, Release) | ||
| 10530 | ULONG ( STDMETHODCALLTYPE *Release )( | ||
| 10531 | ID3D12PipelineLibrary1 * This); | ||
| 10532 | |||
| 10533 | DECLSPEC_XFGVIRT(ID3D12Object, GetPrivateData) | ||
| 10534 | HRESULT ( STDMETHODCALLTYPE *GetPrivateData )( | ||
| 10535 | ID3D12PipelineLibrary1 * This, | ||
| 10536 | _In_ REFGUID guid, | ||
| 10537 | _Inout_ UINT *pDataSize, | ||
| 10538 | _Out_writes_bytes_opt_( *pDataSize ) void *pData); | ||
| 10539 | |||
| 10540 | DECLSPEC_XFGVIRT(ID3D12Object, SetPrivateData) | ||
| 10541 | HRESULT ( STDMETHODCALLTYPE *SetPrivateData )( | ||
| 10542 | ID3D12PipelineLibrary1 * This, | ||
| 10543 | _In_ REFGUID guid, | ||
| 10544 | _In_ UINT DataSize, | ||
| 10545 | _In_reads_bytes_opt_( DataSize ) const void *pData); | ||
| 10546 | |||
| 10547 | DECLSPEC_XFGVIRT(ID3D12Object, SetPrivateDataInterface) | ||
| 10548 | HRESULT ( STDMETHODCALLTYPE *SetPrivateDataInterface )( | ||
| 10549 | ID3D12PipelineLibrary1 * This, | ||
| 10550 | _In_ REFGUID guid, | ||
| 10551 | _In_opt_ const IUnknown *pData); | ||
| 10552 | |||
| 10553 | DECLSPEC_XFGVIRT(ID3D12Object, SetName) | ||
| 10554 | HRESULT ( STDMETHODCALLTYPE *SetName )( | ||
| 10555 | ID3D12PipelineLibrary1 * This, | ||
| 10556 | _In_z_ LPCWSTR Name); | ||
| 10557 | |||
| 10558 | DECLSPEC_XFGVIRT(ID3D12DeviceChild, GetDevice) | ||
| 10559 | HRESULT ( STDMETHODCALLTYPE *GetDevice )( | ||
| 10560 | ID3D12PipelineLibrary1 * This, | ||
| 10561 | REFIID riid, | ||
| 10562 | _COM_Outptr_opt_ void **ppvDevice); | ||
| 10563 | |||
| 10564 | DECLSPEC_XFGVIRT(ID3D12PipelineLibrary, StorePipeline) | ||
| 10565 | HRESULT ( STDMETHODCALLTYPE *StorePipeline )( | ||
| 10566 | ID3D12PipelineLibrary1 * This, | ||
| 10567 | _In_opt_ LPCWSTR pName, | ||
| 10568 | _In_ ID3D12PipelineState *pPipeline); | ||
| 10569 | |||
| 10570 | DECLSPEC_XFGVIRT(ID3D12PipelineLibrary, LoadGraphicsPipeline) | ||
| 10571 | HRESULT ( STDMETHODCALLTYPE *LoadGraphicsPipeline )( | ||
| 10572 | ID3D12PipelineLibrary1 * This, | ||
| 10573 | _In_ LPCWSTR pName, | ||
| 10574 | _In_ const D3D12_GRAPHICS_PIPELINE_STATE_DESC *pDesc, | ||
| 10575 | REFIID riid, | ||
| 10576 | _COM_Outptr_ void **ppPipelineState); | ||
| 10577 | |||
| 10578 | DECLSPEC_XFGVIRT(ID3D12PipelineLibrary, LoadComputePipeline) | ||
| 10579 | HRESULT ( STDMETHODCALLTYPE *LoadComputePipeline )( | ||
| 10580 | ID3D12PipelineLibrary1 * This, | ||
| 10581 | _In_ LPCWSTR pName, | ||
| 10582 | _In_ const D3D12_COMPUTE_PIPELINE_STATE_DESC *pDesc, | ||
| 10583 | REFIID riid, | ||
| 10584 | _COM_Outptr_ void **ppPipelineState); | ||
| 10585 | |||
| 10586 | DECLSPEC_XFGVIRT(ID3D12PipelineLibrary, GetSerializedSize) | ||
| 10587 | SIZE_T ( STDMETHODCALLTYPE *GetSerializedSize )( | ||
| 10588 | ID3D12PipelineLibrary1 * This); | ||
| 10589 | |||
| 10590 | DECLSPEC_XFGVIRT(ID3D12PipelineLibrary, Serialize) | ||
| 10591 | HRESULT ( STDMETHODCALLTYPE *Serialize )( | ||
| 10592 | ID3D12PipelineLibrary1 * This, | ||
| 10593 | _Out_writes_(DataSizeInBytes) void *pData, | ||
| 10594 | SIZE_T DataSizeInBytes); | ||
| 10595 | |||
| 10596 | DECLSPEC_XFGVIRT(ID3D12PipelineLibrary1, LoadPipeline) | ||
| 10597 | HRESULT ( STDMETHODCALLTYPE *LoadPipeline )( | ||
| 10598 | ID3D12PipelineLibrary1 * This, | ||
| 10599 | _In_ LPCWSTR pName, | ||
| 10600 | _In_ const D3D12_PIPELINE_STATE_STREAM_DESC *pDesc, | ||
| 10601 | REFIID riid, | ||
| 10602 | _COM_Outptr_ void **ppPipelineState); | ||
| 10603 | |||
| 10604 | END_INTERFACE | ||
| 10605 | } ID3D12PipelineLibrary1Vtbl; | ||
| 10606 | |||
| 10607 | interface ID3D12PipelineLibrary1 | ||
| 10608 | { | ||
| 10609 | CONST_VTBL struct ID3D12PipelineLibrary1Vtbl *lpVtbl; | ||
| 10610 | }; | ||
| 10611 | |||
| 10612 | |||
| 10613 | |||
| 10614 | #ifdef COBJMACROS | ||
| 10615 | |||
| 10616 | |||
| 10617 | #define ID3D12PipelineLibrary1_QueryInterface(This,riid,ppvObject) \ | ||
| 10618 | ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) | ||
| 10619 | |||
| 10620 | #define ID3D12PipelineLibrary1_AddRef(This) \ | ||
| 10621 | ( (This)->lpVtbl -> AddRef(This) ) | ||
| 10622 | |||
| 10623 | #define ID3D12PipelineLibrary1_Release(This) \ | ||
| 10624 | ( (This)->lpVtbl -> Release(This) ) | ||
| 10625 | |||
| 10626 | |||
| 10627 | #define ID3D12PipelineLibrary1_GetPrivateData(This,guid,pDataSize,pData) \ | ||
| 10628 | ( (This)->lpVtbl -> GetPrivateData(This,guid,pDataSize,pData) ) | ||
| 10629 | |||
| 10630 | #define ID3D12PipelineLibrary1_SetPrivateData(This,guid,DataSize,pData) \ | ||
| 10631 | ( (This)->lpVtbl -> SetPrivateData(This,guid,DataSize,pData) ) | ||
| 10632 | |||
| 10633 | #define ID3D12PipelineLibrary1_SetPrivateDataInterface(This,guid,pData) \ | ||
| 10634 | ( (This)->lpVtbl -> SetPrivateDataInterface(This,guid,pData) ) | ||
| 10635 | |||
| 10636 | #define ID3D12PipelineLibrary1_SetName(This,Name) \ | ||
| 10637 | ( (This)->lpVtbl -> SetName(This,Name) ) | ||
| 10638 | |||
| 10639 | |||
| 10640 | #define ID3D12PipelineLibrary1_GetDevice(This,riid,ppvDevice) \ | ||
| 10641 | ( (This)->lpVtbl -> GetDevice(This,riid,ppvDevice) ) | ||
| 10642 | |||
| 10643 | |||
| 10644 | #define ID3D12PipelineLibrary1_StorePipeline(This,pName,pPipeline) \ | ||
| 10645 | ( (This)->lpVtbl -> StorePipeline(This,pName,pPipeline) ) | ||
| 10646 | |||
| 10647 | #define ID3D12PipelineLibrary1_LoadGraphicsPipeline(This,pName,pDesc,riid,ppPipelineState) \ | ||
| 10648 | ( (This)->lpVtbl -> LoadGraphicsPipeline(This,pName,pDesc,riid,ppPipelineState) ) | ||
| 10649 | |||
| 10650 | #define ID3D12PipelineLibrary1_LoadComputePipeline(This,pName,pDesc,riid,ppPipelineState) \ | ||
| 10651 | ( (This)->lpVtbl -> LoadComputePipeline(This,pName,pDesc,riid,ppPipelineState) ) | ||
| 10652 | |||
| 10653 | #define ID3D12PipelineLibrary1_GetSerializedSize(This) \ | ||
| 10654 | ( (This)->lpVtbl -> GetSerializedSize(This) ) | ||
| 10655 | |||
| 10656 | #define ID3D12PipelineLibrary1_Serialize(This,pData,DataSizeInBytes) \ | ||
| 10657 | ( (This)->lpVtbl -> Serialize(This,pData,DataSizeInBytes) ) | ||
| 10658 | |||
| 10659 | |||
| 10660 | #define ID3D12PipelineLibrary1_LoadPipeline(This,pName,pDesc,riid,ppPipelineState) \ | ||
| 10661 | ( (This)->lpVtbl -> LoadPipeline(This,pName,pDesc,riid,ppPipelineState) ) | ||
| 10662 | |||
| 10663 | #endif /* COBJMACROS */ | ||
| 10664 | |||
| 10665 | |||
| 10666 | #endif /* C style interface */ | ||
| 10667 | |||
| 10668 | |||
| 10669 | |||
| 10670 | |||
| 10671 | #endif /* __ID3D12PipelineLibrary1_INTERFACE_DEFINED__ */ | ||
| 10672 | |||
| 10673 | |||
| 10674 | /* interface __MIDL_itf_d3d12_0000_0025 */ | ||
| 10675 | /* [local] */ | ||
| 10676 | |||
| 10677 | typedef | ||
| 10678 | enum D3D12_MULTIPLE_FENCE_WAIT_FLAGS | ||
| 10679 | { | ||
| 10680 | D3D12_MULTIPLE_FENCE_WAIT_FLAG_NONE = 0, | ||
| 10681 | D3D12_MULTIPLE_FENCE_WAIT_FLAG_ANY = 0x1, | ||
| 10682 | D3D12_MULTIPLE_FENCE_WAIT_FLAG_ALL = 0 | ||
| 10683 | } D3D12_MULTIPLE_FENCE_WAIT_FLAGS; | ||
| 10684 | |||
| 10685 | DEFINE_ENUM_FLAG_OPERATORS( D3D12_MULTIPLE_FENCE_WAIT_FLAGS ) | ||
| 10686 | typedef | ||
| 10687 | enum D3D12_RESIDENCY_PRIORITY | ||
| 10688 | { | ||
| 10689 | D3D12_RESIDENCY_PRIORITY_MINIMUM = 0x28000000, | ||
| 10690 | D3D12_RESIDENCY_PRIORITY_LOW = 0x50000000, | ||
| 10691 | D3D12_RESIDENCY_PRIORITY_NORMAL = 0x78000000, | ||
| 10692 | D3D12_RESIDENCY_PRIORITY_HIGH = 0xa0010000, | ||
| 10693 | D3D12_RESIDENCY_PRIORITY_MAXIMUM = 0xc8000000 | ||
| 10694 | } D3D12_RESIDENCY_PRIORITY; | ||
| 10695 | |||
| 10696 | |||
| 10697 | |||
| 10698 | extern RPC_IF_HANDLE __MIDL_itf_d3d12_0000_0025_v0_0_c_ifspec; | ||
| 10699 | extern RPC_IF_HANDLE __MIDL_itf_d3d12_0000_0025_v0_0_s_ifspec; | ||
| 10700 | |||
| 10701 | #ifndef __ID3D12Device1_INTERFACE_DEFINED__ | ||
| 10702 | #define __ID3D12Device1_INTERFACE_DEFINED__ | ||
| 10703 | |||
| 10704 | /* interface ID3D12Device1 */ | ||
| 10705 | /* [unique][local][object][uuid] */ | ||
| 10706 | |||
| 10707 | |||
| 10708 | EXTERN_C const IID IID_ID3D12Device1; | ||
| 10709 | |||
| 10710 | #if defined(__cplusplus) && !defined(CINTERFACE) | ||
| 10711 | |||
| 10712 | MIDL_INTERFACE("77acce80-638e-4e65-8895-c1f23386863e") | ||
| 10713 | ID3D12Device1 : public ID3D12Device | ||
| 10714 | { | ||
| 10715 | public: | ||
| 10716 | virtual HRESULT STDMETHODCALLTYPE CreatePipelineLibrary( | ||
| 10717 | _In_reads_(BlobLength) const void *pLibraryBlob, | ||
| 10718 | SIZE_T BlobLength, | ||
| 10719 | REFIID riid, | ||
| 10720 | _COM_Outptr_ void **ppPipelineLibrary) = 0; | ||
| 10721 | |||
| 10722 | virtual HRESULT STDMETHODCALLTYPE SetEventOnMultipleFenceCompletion( | ||
| 10723 | _In_reads_(NumFences) ID3D12Fence *const *ppFences, | ||
| 10724 | _In_reads_(NumFences) const UINT64 *pFenceValues, | ||
| 10725 | UINT NumFences, | ||
| 10726 | D3D12_MULTIPLE_FENCE_WAIT_FLAGS Flags, | ||
| 10727 | HANDLE hEvent) = 0; | ||
| 10728 | |||
| 10729 | virtual HRESULT STDMETHODCALLTYPE SetResidencyPriority( | ||
| 10730 | UINT NumObjects, | ||
| 10731 | _In_reads_(NumObjects) ID3D12Pageable *const *ppObjects, | ||
| 10732 | _In_reads_(NumObjects) const D3D12_RESIDENCY_PRIORITY *pPriorities) = 0; | ||
| 10733 | |||
| 10734 | }; | ||
| 10735 | |||
| 10736 | |||
| 10737 | #else /* C style interface */ | ||
| 10738 | |||
| 10739 | typedef struct ID3D12Device1Vtbl | ||
| 10740 | { | ||
| 10741 | BEGIN_INTERFACE | ||
| 10742 | |||
| 10743 | DECLSPEC_XFGVIRT(IUnknown, QueryInterface) | ||
| 10744 | HRESULT ( STDMETHODCALLTYPE *QueryInterface )( | ||
| 10745 | ID3D12Device1 * This, | ||
| 10746 | REFIID riid, | ||
| 10747 | _COM_Outptr_ void **ppvObject); | ||
| 10748 | |||
| 10749 | DECLSPEC_XFGVIRT(IUnknown, AddRef) | ||
| 10750 | ULONG ( STDMETHODCALLTYPE *AddRef )( | ||
| 10751 | ID3D12Device1 * This); | ||
| 10752 | |||
| 10753 | DECLSPEC_XFGVIRT(IUnknown, Release) | ||
| 10754 | ULONG ( STDMETHODCALLTYPE *Release )( | ||
| 10755 | ID3D12Device1 * This); | ||
| 10756 | |||
| 10757 | DECLSPEC_XFGVIRT(ID3D12Object, GetPrivateData) | ||
| 10758 | HRESULT ( STDMETHODCALLTYPE *GetPrivateData )( | ||
| 10759 | ID3D12Device1 * This, | ||
| 10760 | _In_ REFGUID guid, | ||
| 10761 | _Inout_ UINT *pDataSize, | ||
| 10762 | _Out_writes_bytes_opt_( *pDataSize ) void *pData); | ||
| 10763 | |||
| 10764 | DECLSPEC_XFGVIRT(ID3D12Object, SetPrivateData) | ||
| 10765 | HRESULT ( STDMETHODCALLTYPE *SetPrivateData )( | ||
| 10766 | ID3D12Device1 * This, | ||
| 10767 | _In_ REFGUID guid, | ||
| 10768 | _In_ UINT DataSize, | ||
| 10769 | _In_reads_bytes_opt_( DataSize ) const void *pData); | ||
| 10770 | |||
| 10771 | DECLSPEC_XFGVIRT(ID3D12Object, SetPrivateDataInterface) | ||
| 10772 | HRESULT ( STDMETHODCALLTYPE *SetPrivateDataInterface )( | ||
| 10773 | ID3D12Device1 * This, | ||
| 10774 | _In_ REFGUID guid, | ||
| 10775 | _In_opt_ const IUnknown *pData); | ||
| 10776 | |||
| 10777 | DECLSPEC_XFGVIRT(ID3D12Object, SetName) | ||
| 10778 | HRESULT ( STDMETHODCALLTYPE *SetName )( | ||
| 10779 | ID3D12Device1 * This, | ||
| 10780 | _In_z_ LPCWSTR Name); | ||
| 10781 | |||
| 10782 | DECLSPEC_XFGVIRT(ID3D12Device, GetNodeCount) | ||
| 10783 | UINT ( STDMETHODCALLTYPE *GetNodeCount )( | ||
| 10784 | ID3D12Device1 * This); | ||
| 10785 | |||
| 10786 | DECLSPEC_XFGVIRT(ID3D12Device, CreateCommandQueue) | ||
| 10787 | HRESULT ( STDMETHODCALLTYPE *CreateCommandQueue )( | ||
| 10788 | ID3D12Device1 * This, | ||
| 10789 | _In_ const D3D12_COMMAND_QUEUE_DESC *pDesc, | ||
| 10790 | REFIID riid, | ||
| 10791 | _COM_Outptr_ void **ppCommandQueue); | ||
| 10792 | |||
| 10793 | DECLSPEC_XFGVIRT(ID3D12Device, CreateCommandAllocator) | ||
| 10794 | HRESULT ( STDMETHODCALLTYPE *CreateCommandAllocator )( | ||
| 10795 | ID3D12Device1 * This, | ||
| 10796 | _In_ D3D12_COMMAND_LIST_TYPE type, | ||
| 10797 | REFIID riid, | ||
| 10798 | _COM_Outptr_ void **ppCommandAllocator); | ||
| 10799 | |||
| 10800 | DECLSPEC_XFGVIRT(ID3D12Device, CreateGraphicsPipelineState) | ||
| 10801 | HRESULT ( STDMETHODCALLTYPE *CreateGraphicsPipelineState )( | ||
| 10802 | ID3D12Device1 * This, | ||
| 10803 | _In_ const D3D12_GRAPHICS_PIPELINE_STATE_DESC *pDesc, | ||
| 10804 | REFIID riid, | ||
| 10805 | _COM_Outptr_ void **ppPipelineState); | ||
| 10806 | |||
| 10807 | DECLSPEC_XFGVIRT(ID3D12Device, CreateComputePipelineState) | ||
| 10808 | HRESULT ( STDMETHODCALLTYPE *CreateComputePipelineState )( | ||
| 10809 | ID3D12Device1 * This, | ||
| 10810 | _In_ const D3D12_COMPUTE_PIPELINE_STATE_DESC *pDesc, | ||
| 10811 | REFIID riid, | ||
| 10812 | _COM_Outptr_ void **ppPipelineState); | ||
| 10813 | |||
| 10814 | DECLSPEC_XFGVIRT(ID3D12Device, CreateCommandList) | ||
| 10815 | HRESULT ( STDMETHODCALLTYPE *CreateCommandList )( | ||
| 10816 | ID3D12Device1 * This, | ||
| 10817 | _In_ UINT nodeMask, | ||
| 10818 | _In_ D3D12_COMMAND_LIST_TYPE type, | ||
| 10819 | _In_ ID3D12CommandAllocator *pCommandAllocator, | ||
| 10820 | _In_opt_ ID3D12PipelineState *pInitialState, | ||
| 10821 | REFIID riid, | ||
| 10822 | _COM_Outptr_ void **ppCommandList); | ||
| 10823 | |||
| 10824 | DECLSPEC_XFGVIRT(ID3D12Device, CheckFeatureSupport) | ||
| 10825 | HRESULT ( STDMETHODCALLTYPE *CheckFeatureSupport )( | ||
| 10826 | ID3D12Device1 * This, | ||
| 10827 | D3D12_FEATURE Feature, | ||
| 10828 | _Inout_updates_bytes_(FeatureSupportDataSize) void *pFeatureSupportData, | ||
| 10829 | UINT FeatureSupportDataSize); | ||
| 10830 | |||
| 10831 | DECLSPEC_XFGVIRT(ID3D12Device, CreateDescriptorHeap) | ||
| 10832 | HRESULT ( STDMETHODCALLTYPE *CreateDescriptorHeap )( | ||
| 10833 | ID3D12Device1 * This, | ||
| 10834 | _In_ const D3D12_DESCRIPTOR_HEAP_DESC *pDescriptorHeapDesc, | ||
| 10835 | REFIID riid, | ||
| 10836 | _COM_Outptr_ void **ppvHeap); | ||
| 10837 | |||
| 10838 | DECLSPEC_XFGVIRT(ID3D12Device, GetDescriptorHandleIncrementSize) | ||
| 10839 | UINT ( STDMETHODCALLTYPE *GetDescriptorHandleIncrementSize )( | ||
| 10840 | ID3D12Device1 * This, | ||
| 10841 | _In_ D3D12_DESCRIPTOR_HEAP_TYPE DescriptorHeapType); | ||
| 10842 | |||
| 10843 | DECLSPEC_XFGVIRT(ID3D12Device, CreateRootSignature) | ||
| 10844 | HRESULT ( STDMETHODCALLTYPE *CreateRootSignature )( | ||
| 10845 | ID3D12Device1 * This, | ||
| 10846 | _In_ UINT nodeMask, | ||
| 10847 | _In_reads_(blobLengthInBytes) const void *pBlobWithRootSignature, | ||
| 10848 | _In_ SIZE_T blobLengthInBytes, | ||
| 10849 | REFIID riid, | ||
| 10850 | _COM_Outptr_ void **ppvRootSignature); | ||
| 10851 | |||
| 10852 | DECLSPEC_XFGVIRT(ID3D12Device, CreateConstantBufferView) | ||
| 10853 | void ( STDMETHODCALLTYPE *CreateConstantBufferView )( | ||
| 10854 | ID3D12Device1 * This, | ||
| 10855 | _In_opt_ const D3D12_CONSTANT_BUFFER_VIEW_DESC *pDesc, | ||
| 10856 | _In_ D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor); | ||
| 10857 | |||
| 10858 | DECLSPEC_XFGVIRT(ID3D12Device, CreateShaderResourceView) | ||
| 10859 | void ( STDMETHODCALLTYPE *CreateShaderResourceView )( | ||
| 10860 | ID3D12Device1 * This, | ||
| 10861 | _In_opt_ ID3D12Resource *pResource, | ||
| 10862 | _In_opt_ const D3D12_SHADER_RESOURCE_VIEW_DESC *pDesc, | ||
| 10863 | _In_ D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor); | ||
| 10864 | |||
| 10865 | DECLSPEC_XFGVIRT(ID3D12Device, CreateUnorderedAccessView) | ||
| 10866 | void ( STDMETHODCALLTYPE *CreateUnorderedAccessView )( | ||
| 10867 | ID3D12Device1 * This, | ||
| 10868 | _In_opt_ ID3D12Resource *pResource, | ||
| 10869 | _In_opt_ ID3D12Resource *pCounterResource, | ||
| 10870 | _In_opt_ const D3D12_UNORDERED_ACCESS_VIEW_DESC *pDesc, | ||
| 10871 | _In_ D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor); | ||
| 10872 | |||
| 10873 | DECLSPEC_XFGVIRT(ID3D12Device, CreateRenderTargetView) | ||
| 10874 | void ( STDMETHODCALLTYPE *CreateRenderTargetView )( | ||
| 10875 | ID3D12Device1 * This, | ||
| 10876 | _In_opt_ ID3D12Resource *pResource, | ||
| 10877 | _In_opt_ const D3D12_RENDER_TARGET_VIEW_DESC *pDesc, | ||
| 10878 | _In_ D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor); | ||
| 10879 | |||
| 10880 | DECLSPEC_XFGVIRT(ID3D12Device, CreateDepthStencilView) | ||
| 10881 | void ( STDMETHODCALLTYPE *CreateDepthStencilView )( | ||
| 10882 | ID3D12Device1 * This, | ||
| 10883 | _In_opt_ ID3D12Resource *pResource, | ||
| 10884 | _In_opt_ const D3D12_DEPTH_STENCIL_VIEW_DESC *pDesc, | ||
| 10885 | _In_ D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor); | ||
| 10886 | |||
| 10887 | DECLSPEC_XFGVIRT(ID3D12Device, CreateSampler) | ||
| 10888 | void ( STDMETHODCALLTYPE *CreateSampler )( | ||
| 10889 | ID3D12Device1 * This, | ||
| 10890 | _In_ const D3D12_SAMPLER_DESC *pDesc, | ||
| 10891 | _In_ D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor); | ||
| 10892 | |||
| 10893 | DECLSPEC_XFGVIRT(ID3D12Device, CopyDescriptors) | ||
| 10894 | void ( STDMETHODCALLTYPE *CopyDescriptors )( | ||
| 10895 | ID3D12Device1 * This, | ||
| 10896 | _In_ UINT NumDestDescriptorRanges, | ||
| 10897 | _In_reads_(NumDestDescriptorRanges) const D3D12_CPU_DESCRIPTOR_HANDLE *pDestDescriptorRangeStarts, | ||
| 10898 | _In_reads_opt_(NumDestDescriptorRanges) const UINT *pDestDescriptorRangeSizes, | ||
| 10899 | _In_ UINT NumSrcDescriptorRanges, | ||
| 10900 | _In_reads_(NumSrcDescriptorRanges) const D3D12_CPU_DESCRIPTOR_HANDLE *pSrcDescriptorRangeStarts, | ||
| 10901 | _In_reads_opt_(NumSrcDescriptorRanges) const UINT *pSrcDescriptorRangeSizes, | ||
| 10902 | _In_ D3D12_DESCRIPTOR_HEAP_TYPE DescriptorHeapsType); | ||
| 10903 | |||
| 10904 | DECLSPEC_XFGVIRT(ID3D12Device, CopyDescriptorsSimple) | ||
| 10905 | void ( STDMETHODCALLTYPE *CopyDescriptorsSimple )( | ||
| 10906 | ID3D12Device1 * This, | ||
| 10907 | _In_ UINT NumDescriptors, | ||
| 10908 | _In_ D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptorRangeStart, | ||
| 10909 | _In_ D3D12_CPU_DESCRIPTOR_HANDLE SrcDescriptorRangeStart, | ||
| 10910 | _In_ D3D12_DESCRIPTOR_HEAP_TYPE DescriptorHeapsType); | ||
| 10911 | |||
| 10912 | DECLSPEC_XFGVIRT(ID3D12Device, GetResourceAllocationInfo) | ||
| 10913 | #if !defined(_WIN32) | ||
| 10914 | D3D12_RESOURCE_ALLOCATION_INFO ( STDMETHODCALLTYPE *GetResourceAllocationInfo )( | ||
| 10915 | ID3D12Device1 * This, | ||
| 10916 | _In_ UINT visibleMask, | ||
| 10917 | _In_ UINT numResourceDescs, | ||
| 10918 | _In_reads_(numResourceDescs) const D3D12_RESOURCE_DESC *pResourceDescs); | ||
| 10919 | |||
| 10920 | #else | ||
| 10921 | D3D12_RESOURCE_ALLOCATION_INFO *( STDMETHODCALLTYPE *GetResourceAllocationInfo )( | ||
| 10922 | ID3D12Device1 * This, | ||
| 10923 | D3D12_RESOURCE_ALLOCATION_INFO * RetVal, | ||
| 10924 | _In_ UINT visibleMask, | ||
| 10925 | _In_ UINT numResourceDescs, | ||
| 10926 | _In_reads_(numResourceDescs) const D3D12_RESOURCE_DESC *pResourceDescs); | ||
| 10927 | |||
| 10928 | #endif | ||
| 10929 | |||
| 10930 | DECLSPEC_XFGVIRT(ID3D12Device, GetCustomHeapProperties) | ||
| 10931 | #if !defined(_WIN32) | ||
| 10932 | D3D12_HEAP_PROPERTIES ( STDMETHODCALLTYPE *GetCustomHeapProperties )( | ||
| 10933 | ID3D12Device1 * This, | ||
| 10934 | _In_ UINT nodeMask, | ||
| 10935 | D3D12_HEAP_TYPE heapType); | ||
| 10936 | |||
| 10937 | #else | ||
| 10938 | D3D12_HEAP_PROPERTIES *( STDMETHODCALLTYPE *GetCustomHeapProperties )( | ||
| 10939 | ID3D12Device1 * This, | ||
| 10940 | D3D12_HEAP_PROPERTIES * RetVal, | ||
| 10941 | _In_ UINT nodeMask, | ||
| 10942 | D3D12_HEAP_TYPE heapType); | ||
| 10943 | |||
| 10944 | #endif | ||
| 10945 | |||
| 10946 | DECLSPEC_XFGVIRT(ID3D12Device, CreateCommittedResource) | ||
| 10947 | HRESULT ( STDMETHODCALLTYPE *CreateCommittedResource )( | ||
| 10948 | ID3D12Device1 * This, | ||
| 10949 | _In_ const D3D12_HEAP_PROPERTIES *pHeapProperties, | ||
| 10950 | D3D12_HEAP_FLAGS HeapFlags, | ||
| 10951 | _In_ const D3D12_RESOURCE_DESC *pDesc, | ||
| 10952 | D3D12_RESOURCE_STATES InitialResourceState, | ||
| 10953 | _In_opt_ const D3D12_CLEAR_VALUE *pOptimizedClearValue, | ||
| 10954 | REFIID riidResource, | ||
| 10955 | _COM_Outptr_opt_ void **ppvResource); | ||
| 10956 | |||
| 10957 | DECLSPEC_XFGVIRT(ID3D12Device, CreateHeap) | ||
| 10958 | HRESULT ( STDMETHODCALLTYPE *CreateHeap )( | ||
| 10959 | ID3D12Device1 * This, | ||
| 10960 | _In_ const D3D12_HEAP_DESC *pDesc, | ||
| 10961 | REFIID riid, | ||
| 10962 | _COM_Outptr_opt_ void **ppvHeap); | ||
| 10963 | |||
| 10964 | DECLSPEC_XFGVIRT(ID3D12Device, CreatePlacedResource) | ||
| 10965 | HRESULT ( STDMETHODCALLTYPE *CreatePlacedResource )( | ||
| 10966 | ID3D12Device1 * This, | ||
| 10967 | _In_ ID3D12Heap *pHeap, | ||
| 10968 | UINT64 HeapOffset, | ||
| 10969 | _In_ const D3D12_RESOURCE_DESC *pDesc, | ||
| 10970 | D3D12_RESOURCE_STATES InitialState, | ||
| 10971 | _In_opt_ const D3D12_CLEAR_VALUE *pOptimizedClearValue, | ||
| 10972 | REFIID riid, | ||
| 10973 | _COM_Outptr_opt_ void **ppvResource); | ||
| 10974 | |||
| 10975 | DECLSPEC_XFGVIRT(ID3D12Device, CreateReservedResource) | ||
| 10976 | HRESULT ( STDMETHODCALLTYPE *CreateReservedResource )( | ||
| 10977 | ID3D12Device1 * This, | ||
| 10978 | _In_ const D3D12_RESOURCE_DESC *pDesc, | ||
| 10979 | D3D12_RESOURCE_STATES InitialState, | ||
| 10980 | _In_opt_ const D3D12_CLEAR_VALUE *pOptimizedClearValue, | ||
| 10981 | REFIID riid, | ||
| 10982 | _COM_Outptr_opt_ void **ppvResource); | ||
| 10983 | |||
| 10984 | DECLSPEC_XFGVIRT(ID3D12Device, CreateSharedHandle) | ||
| 10985 | HRESULT ( STDMETHODCALLTYPE *CreateSharedHandle )( | ||
| 10986 | ID3D12Device1 * This, | ||
| 10987 | _In_ ID3D12DeviceChild *pObject, | ||
| 10988 | _In_opt_ const SECURITY_ATTRIBUTES *pAttributes, | ||
| 10989 | DWORD Access, | ||
| 10990 | _In_opt_ LPCWSTR Name, | ||
| 10991 | _Out_ HANDLE *pHandle); | ||
| 10992 | |||
| 10993 | DECLSPEC_XFGVIRT(ID3D12Device, OpenSharedHandle) | ||
| 10994 | HRESULT ( STDMETHODCALLTYPE *OpenSharedHandle )( | ||
| 10995 | ID3D12Device1 * This, | ||
| 10996 | _In_ HANDLE NTHandle, | ||
| 10997 | REFIID riid, | ||
| 10998 | _COM_Outptr_opt_ void **ppvObj); | ||
| 10999 | |||
| 11000 | DECLSPEC_XFGVIRT(ID3D12Device, OpenSharedHandleByName) | ||
| 11001 | HRESULT ( STDMETHODCALLTYPE *OpenSharedHandleByName )( | ||
| 11002 | ID3D12Device1 * This, | ||
| 11003 | _In_ LPCWSTR Name, | ||
| 11004 | DWORD Access, | ||
| 11005 | /* [annotation][out] */ | ||
| 11006 | _Out_ HANDLE *pNTHandle); | ||
| 11007 | |||
| 11008 | DECLSPEC_XFGVIRT(ID3D12Device, MakeResident) | ||
| 11009 | HRESULT ( STDMETHODCALLTYPE *MakeResident )( | ||
| 11010 | ID3D12Device1 * This, | ||
| 11011 | UINT NumObjects, | ||
| 11012 | _In_reads_(NumObjects) ID3D12Pageable *const *ppObjects); | ||
| 11013 | |||
| 11014 | DECLSPEC_XFGVIRT(ID3D12Device, Evict) | ||
| 11015 | HRESULT ( STDMETHODCALLTYPE *Evict )( | ||
| 11016 | ID3D12Device1 * This, | ||
| 11017 | UINT NumObjects, | ||
| 11018 | _In_reads_(NumObjects) ID3D12Pageable *const *ppObjects); | ||
| 11019 | |||
| 11020 | DECLSPEC_XFGVIRT(ID3D12Device, CreateFence) | ||
| 11021 | HRESULT ( STDMETHODCALLTYPE *CreateFence )( | ||
| 11022 | ID3D12Device1 * This, | ||
| 11023 | UINT64 InitialValue, | ||
| 11024 | D3D12_FENCE_FLAGS Flags, | ||
| 11025 | REFIID riid, | ||
| 11026 | _COM_Outptr_ void **ppFence); | ||
| 11027 | |||
| 11028 | DECLSPEC_XFGVIRT(ID3D12Device, GetDeviceRemovedReason) | ||
| 11029 | HRESULT ( STDMETHODCALLTYPE *GetDeviceRemovedReason )( | ||
| 11030 | ID3D12Device1 * This); | ||
| 11031 | |||
| 11032 | DECLSPEC_XFGVIRT(ID3D12Device, GetCopyableFootprints) | ||
| 11033 | void ( STDMETHODCALLTYPE *GetCopyableFootprints )( | ||
| 11034 | ID3D12Device1 * This, | ||
| 11035 | _In_ const D3D12_RESOURCE_DESC *pResourceDesc, | ||
| 11036 | _In_range_(0,D3D12_REQ_SUBRESOURCES) UINT FirstSubresource, | ||
| 11037 | _In_range_(0,D3D12_REQ_SUBRESOURCES-FirstSubresource) UINT NumSubresources, | ||
| 11038 | UINT64 BaseOffset, | ||
| 11039 | _Out_writes_opt_(NumSubresources) D3D12_PLACED_SUBRESOURCE_FOOTPRINT *pLayouts, | ||
| 11040 | _Out_writes_opt_(NumSubresources) UINT *pNumRows, | ||
| 11041 | _Out_writes_opt_(NumSubresources) UINT64 *pRowSizeInBytes, | ||
| 11042 | _Out_opt_ UINT64 *pTotalBytes); | ||
| 11043 | |||
| 11044 | DECLSPEC_XFGVIRT(ID3D12Device, CreateQueryHeap) | ||
| 11045 | HRESULT ( STDMETHODCALLTYPE *CreateQueryHeap )( | ||
| 11046 | ID3D12Device1 * This, | ||
| 11047 | _In_ const D3D12_QUERY_HEAP_DESC *pDesc, | ||
| 11048 | REFIID riid, | ||
| 11049 | _COM_Outptr_opt_ void **ppvHeap); | ||
| 11050 | |||
| 11051 | DECLSPEC_XFGVIRT(ID3D12Device, SetStablePowerState) | ||
| 11052 | HRESULT ( STDMETHODCALLTYPE *SetStablePowerState )( | ||
| 11053 | ID3D12Device1 * This, | ||
| 11054 | BOOL Enable); | ||
| 11055 | |||
| 11056 | DECLSPEC_XFGVIRT(ID3D12Device, CreateCommandSignature) | ||
| 11057 | HRESULT ( STDMETHODCALLTYPE *CreateCommandSignature )( | ||
| 11058 | ID3D12Device1 * This, | ||
| 11059 | _In_ const D3D12_COMMAND_SIGNATURE_DESC *pDesc, | ||
| 11060 | _In_opt_ ID3D12RootSignature *pRootSignature, | ||
| 11061 | REFIID riid, | ||
| 11062 | _COM_Outptr_opt_ void **ppvCommandSignature); | ||
| 11063 | |||
| 11064 | DECLSPEC_XFGVIRT(ID3D12Device, GetResourceTiling) | ||
| 11065 | void ( STDMETHODCALLTYPE *GetResourceTiling )( | ||
| 11066 | ID3D12Device1 * This, | ||
| 11067 | _In_ ID3D12Resource *pTiledResource, | ||
| 11068 | _Out_opt_ UINT *pNumTilesForEntireResource, | ||
| 11069 | _Out_opt_ D3D12_PACKED_MIP_INFO *pPackedMipDesc, | ||
| 11070 | _Out_opt_ D3D12_TILE_SHAPE *pStandardTileShapeForNonPackedMips, | ||
| 11071 | _Inout_opt_ UINT *pNumSubresourceTilings, | ||
| 11072 | _In_ UINT FirstSubresourceTilingToGet, | ||
| 11073 | _Out_writes_(*pNumSubresourceTilings) D3D12_SUBRESOURCE_TILING *pSubresourceTilingsForNonPackedMips); | ||
| 11074 | |||
| 11075 | DECLSPEC_XFGVIRT(ID3D12Device, GetAdapterLuid) | ||
| 11076 | #if !defined(_WIN32) | ||
| 11077 | LUID ( STDMETHODCALLTYPE *GetAdapterLuid )( | ||
| 11078 | ID3D12Device1 * This); | ||
| 11079 | |||
| 11080 | #else | ||
| 11081 | LUID *( STDMETHODCALLTYPE *GetAdapterLuid )( | ||
| 11082 | ID3D12Device1 * This, | ||
| 11083 | LUID * RetVal); | ||
| 11084 | |||
| 11085 | #endif | ||
| 11086 | |||
| 11087 | DECLSPEC_XFGVIRT(ID3D12Device1, CreatePipelineLibrary) | ||
| 11088 | HRESULT ( STDMETHODCALLTYPE *CreatePipelineLibrary )( | ||
| 11089 | ID3D12Device1 * This, | ||
| 11090 | _In_reads_(BlobLength) const void *pLibraryBlob, | ||
| 11091 | SIZE_T BlobLength, | ||
| 11092 | REFIID riid, | ||
| 11093 | _COM_Outptr_ void **ppPipelineLibrary); | ||
| 11094 | |||
| 11095 | DECLSPEC_XFGVIRT(ID3D12Device1, SetEventOnMultipleFenceCompletion) | ||
| 11096 | HRESULT ( STDMETHODCALLTYPE *SetEventOnMultipleFenceCompletion )( | ||
| 11097 | ID3D12Device1 * This, | ||
| 11098 | _In_reads_(NumFences) ID3D12Fence *const *ppFences, | ||
| 11099 | _In_reads_(NumFences) const UINT64 *pFenceValues, | ||
| 11100 | UINT NumFences, | ||
| 11101 | D3D12_MULTIPLE_FENCE_WAIT_FLAGS Flags, | ||
| 11102 | HANDLE hEvent); | ||
| 11103 | |||
| 11104 | DECLSPEC_XFGVIRT(ID3D12Device1, SetResidencyPriority) | ||
| 11105 | HRESULT ( STDMETHODCALLTYPE *SetResidencyPriority )( | ||
| 11106 | ID3D12Device1 * This, | ||
| 11107 | UINT NumObjects, | ||
| 11108 | _In_reads_(NumObjects) ID3D12Pageable *const *ppObjects, | ||
| 11109 | _In_reads_(NumObjects) const D3D12_RESIDENCY_PRIORITY *pPriorities); | ||
| 11110 | |||
| 11111 | END_INTERFACE | ||
| 11112 | } ID3D12Device1Vtbl; | ||
| 11113 | |||
| 11114 | interface ID3D12Device1 | ||
| 11115 | { | ||
| 11116 | CONST_VTBL struct ID3D12Device1Vtbl *lpVtbl; | ||
| 11117 | }; | ||
| 11118 | |||
| 11119 | |||
| 11120 | |||
| 11121 | #ifdef COBJMACROS | ||
| 11122 | |||
| 11123 | |||
| 11124 | #define ID3D12Device1_QueryInterface(This,riid,ppvObject) \ | ||
| 11125 | ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) | ||
| 11126 | |||
| 11127 | #define ID3D12Device1_AddRef(This) \ | ||
| 11128 | ( (This)->lpVtbl -> AddRef(This) ) | ||
| 11129 | |||
| 11130 | #define ID3D12Device1_Release(This) \ | ||
| 11131 | ( (This)->lpVtbl -> Release(This) ) | ||
| 11132 | |||
| 11133 | |||
| 11134 | #define ID3D12Device1_GetPrivateData(This,guid,pDataSize,pData) \ | ||
| 11135 | ( (This)->lpVtbl -> GetPrivateData(This,guid,pDataSize,pData) ) | ||
| 11136 | |||
| 11137 | #define ID3D12Device1_SetPrivateData(This,guid,DataSize,pData) \ | ||
| 11138 | ( (This)->lpVtbl -> SetPrivateData(This,guid,DataSize,pData) ) | ||
| 11139 | |||
| 11140 | #define ID3D12Device1_SetPrivateDataInterface(This,guid,pData) \ | ||
| 11141 | ( (This)->lpVtbl -> SetPrivateDataInterface(This,guid,pData) ) | ||
| 11142 | |||
| 11143 | #define ID3D12Device1_SetName(This,Name) \ | ||
| 11144 | ( (This)->lpVtbl -> SetName(This,Name) ) | ||
| 11145 | |||
| 11146 | |||
| 11147 | #define ID3D12Device1_GetNodeCount(This) \ | ||
| 11148 | ( (This)->lpVtbl -> GetNodeCount(This) ) | ||
| 11149 | |||
| 11150 | #define ID3D12Device1_CreateCommandQueue(This,pDesc,riid,ppCommandQueue) \ | ||
| 11151 | ( (This)->lpVtbl -> CreateCommandQueue(This,pDesc,riid,ppCommandQueue) ) | ||
| 11152 | |||
| 11153 | #define ID3D12Device1_CreateCommandAllocator(This,type,riid,ppCommandAllocator) \ | ||
| 11154 | ( (This)->lpVtbl -> CreateCommandAllocator(This,type,riid,ppCommandAllocator) ) | ||
| 11155 | |||
| 11156 | #define ID3D12Device1_CreateGraphicsPipelineState(This,pDesc,riid,ppPipelineState) \ | ||
| 11157 | ( (This)->lpVtbl -> CreateGraphicsPipelineState(This,pDesc,riid,ppPipelineState) ) | ||
| 11158 | |||
| 11159 | #define ID3D12Device1_CreateComputePipelineState(This,pDesc,riid,ppPipelineState) \ | ||
| 11160 | ( (This)->lpVtbl -> CreateComputePipelineState(This,pDesc,riid,ppPipelineState) ) | ||
| 11161 | |||
| 11162 | #define ID3D12Device1_CreateCommandList(This,nodeMask,type,pCommandAllocator,pInitialState,riid,ppCommandList) \ | ||
| 11163 | ( (This)->lpVtbl -> CreateCommandList(This,nodeMask,type,pCommandAllocator,pInitialState,riid,ppCommandList) ) | ||
| 11164 | |||
| 11165 | #define ID3D12Device1_CheckFeatureSupport(This,Feature,pFeatureSupportData,FeatureSupportDataSize) \ | ||
| 11166 | ( (This)->lpVtbl -> CheckFeatureSupport(This,Feature,pFeatureSupportData,FeatureSupportDataSize) ) | ||
| 11167 | |||
| 11168 | #define ID3D12Device1_CreateDescriptorHeap(This,pDescriptorHeapDesc,riid,ppvHeap) \ | ||
| 11169 | ( (This)->lpVtbl -> CreateDescriptorHeap(This,pDescriptorHeapDesc,riid,ppvHeap) ) | ||
| 11170 | |||
| 11171 | #define ID3D12Device1_GetDescriptorHandleIncrementSize(This,DescriptorHeapType) \ | ||
| 11172 | ( (This)->lpVtbl -> GetDescriptorHandleIncrementSize(This,DescriptorHeapType) ) | ||
| 11173 | |||
| 11174 | #define ID3D12Device1_CreateRootSignature(This,nodeMask,pBlobWithRootSignature,blobLengthInBytes,riid,ppvRootSignature) \ | ||
| 11175 | ( (This)->lpVtbl -> CreateRootSignature(This,nodeMask,pBlobWithRootSignature,blobLengthInBytes,riid,ppvRootSignature) ) | ||
| 11176 | |||
| 11177 | #define ID3D12Device1_CreateConstantBufferView(This,pDesc,DestDescriptor) \ | ||
| 11178 | ( (This)->lpVtbl -> CreateConstantBufferView(This,pDesc,DestDescriptor) ) | ||
| 11179 | |||
| 11180 | #define ID3D12Device1_CreateShaderResourceView(This,pResource,pDesc,DestDescriptor) \ | ||
| 11181 | ( (This)->lpVtbl -> CreateShaderResourceView(This,pResource,pDesc,DestDescriptor) ) | ||
| 11182 | |||
| 11183 | #define ID3D12Device1_CreateUnorderedAccessView(This,pResource,pCounterResource,pDesc,DestDescriptor) \ | ||
| 11184 | ( (This)->lpVtbl -> CreateUnorderedAccessView(This,pResource,pCounterResource,pDesc,DestDescriptor) ) | ||
| 11185 | |||
| 11186 | #define ID3D12Device1_CreateRenderTargetView(This,pResource,pDesc,DestDescriptor) \ | ||
| 11187 | ( (This)->lpVtbl -> CreateRenderTargetView(This,pResource,pDesc,DestDescriptor) ) | ||
| 11188 | |||
| 11189 | #define ID3D12Device1_CreateDepthStencilView(This,pResource,pDesc,DestDescriptor) \ | ||
| 11190 | ( (This)->lpVtbl -> CreateDepthStencilView(This,pResource,pDesc,DestDescriptor) ) | ||
| 11191 | |||
| 11192 | #define ID3D12Device1_CreateSampler(This,pDesc,DestDescriptor) \ | ||
| 11193 | ( (This)->lpVtbl -> CreateSampler(This,pDesc,DestDescriptor) ) | ||
| 11194 | |||
| 11195 | #define ID3D12Device1_CopyDescriptors(This,NumDestDescriptorRanges,pDestDescriptorRangeStarts,pDestDescriptorRangeSizes,NumSrcDescriptorRanges,pSrcDescriptorRangeStarts,pSrcDescriptorRangeSizes,DescriptorHeapsType) \ | ||
| 11196 | ( (This)->lpVtbl -> CopyDescriptors(This,NumDestDescriptorRanges,pDestDescriptorRangeStarts,pDestDescriptorRangeSizes,NumSrcDescriptorRanges,pSrcDescriptorRangeStarts,pSrcDescriptorRangeSizes,DescriptorHeapsType) ) | ||
| 11197 | |||
| 11198 | #define ID3D12Device1_CopyDescriptorsSimple(This,NumDescriptors,DestDescriptorRangeStart,SrcDescriptorRangeStart,DescriptorHeapsType) \ | ||
| 11199 | ( (This)->lpVtbl -> CopyDescriptorsSimple(This,NumDescriptors,DestDescriptorRangeStart,SrcDescriptorRangeStart,DescriptorHeapsType) ) | ||
| 11200 | #if !defined(_WIN32) | ||
| 11201 | |||
| 11202 | #define ID3D12Device1_GetResourceAllocationInfo(This,visibleMask,numResourceDescs,pResourceDescs) \ | ||
| 11203 | ( (This)->lpVtbl -> GetResourceAllocationInfo(This,visibleMask,numResourceDescs,pResourceDescs) ) | ||
| 11204 | #else | ||
| 11205 | #define ID3D12Device1_GetResourceAllocationInfo(This,RetVal,visibleMask,numResourceDescs,pResourceDescs) \ | ||
| 11206 | ( (This)->lpVtbl -> GetResourceAllocationInfo(This,RetVal,visibleMask,numResourceDescs,pResourceDescs) ) | ||
| 11207 | #endif | ||
| 11208 | #if !defined(_WIN32) | ||
| 11209 | |||
| 11210 | #define ID3D12Device1_GetCustomHeapProperties(This,nodeMask,heapType) \ | ||
| 11211 | ( (This)->lpVtbl -> GetCustomHeapProperties(This,nodeMask,heapType) ) | ||
| 11212 | #else | ||
| 11213 | #define ID3D12Device1_GetCustomHeapProperties(This,RetVal,nodeMask,heapType) \ | ||
| 11214 | ( (This)->lpVtbl -> GetCustomHeapProperties(This,RetVal,nodeMask,heapType) ) | ||
| 11215 | #endif | ||
| 11216 | |||
| 11217 | #define ID3D12Device1_CreateCommittedResource(This,pHeapProperties,HeapFlags,pDesc,InitialResourceState,pOptimizedClearValue,riidResource,ppvResource) \ | ||
| 11218 | ( (This)->lpVtbl -> CreateCommittedResource(This,pHeapProperties,HeapFlags,pDesc,InitialResourceState,pOptimizedClearValue,riidResource,ppvResource) ) | ||
| 11219 | |||
| 11220 | #define ID3D12Device1_CreateHeap(This,pDesc,riid,ppvHeap) \ | ||
| 11221 | ( (This)->lpVtbl -> CreateHeap(This,pDesc,riid,ppvHeap) ) | ||
| 11222 | |||
| 11223 | #define ID3D12Device1_CreatePlacedResource(This,pHeap,HeapOffset,pDesc,InitialState,pOptimizedClearValue,riid,ppvResource) \ | ||
| 11224 | ( (This)->lpVtbl -> CreatePlacedResource(This,pHeap,HeapOffset,pDesc,InitialState,pOptimizedClearValue,riid,ppvResource) ) | ||
| 11225 | |||
| 11226 | #define ID3D12Device1_CreateReservedResource(This,pDesc,InitialState,pOptimizedClearValue,riid,ppvResource) \ | ||
| 11227 | ( (This)->lpVtbl -> CreateReservedResource(This,pDesc,InitialState,pOptimizedClearValue,riid,ppvResource) ) | ||
| 11228 | |||
| 11229 | #define ID3D12Device1_CreateSharedHandle(This,pObject,pAttributes,Access,Name,pHandle) \ | ||
| 11230 | ( (This)->lpVtbl -> CreateSharedHandle(This,pObject,pAttributes,Access,Name,pHandle) ) | ||
| 11231 | |||
| 11232 | #define ID3D12Device1_OpenSharedHandle(This,NTHandle,riid,ppvObj) \ | ||
| 11233 | ( (This)->lpVtbl -> OpenSharedHandle(This,NTHandle,riid,ppvObj) ) | ||
| 11234 | |||
| 11235 | #define ID3D12Device1_OpenSharedHandleByName(This,Name,Access,pNTHandle) \ | ||
| 11236 | ( (This)->lpVtbl -> OpenSharedHandleByName(This,Name,Access,pNTHandle) ) | ||
| 11237 | |||
| 11238 | #define ID3D12Device1_MakeResident(This,NumObjects,ppObjects) \ | ||
| 11239 | ( (This)->lpVtbl -> MakeResident(This,NumObjects,ppObjects) ) | ||
| 11240 | |||
| 11241 | #define ID3D12Device1_Evict(This,NumObjects,ppObjects) \ | ||
| 11242 | ( (This)->lpVtbl -> Evict(This,NumObjects,ppObjects) ) | ||
| 11243 | |||
| 11244 | #define ID3D12Device1_CreateFence(This,InitialValue,Flags,riid,ppFence) \ | ||
| 11245 | ( (This)->lpVtbl -> CreateFence(This,InitialValue,Flags,riid,ppFence) ) | ||
| 11246 | |||
| 11247 | #define ID3D12Device1_GetDeviceRemovedReason(This) \ | ||
| 11248 | ( (This)->lpVtbl -> GetDeviceRemovedReason(This) ) | ||
| 11249 | |||
| 11250 | #define ID3D12Device1_GetCopyableFootprints(This,pResourceDesc,FirstSubresource,NumSubresources,BaseOffset,pLayouts,pNumRows,pRowSizeInBytes,pTotalBytes) \ | ||
| 11251 | ( (This)->lpVtbl -> GetCopyableFootprints(This,pResourceDesc,FirstSubresource,NumSubresources,BaseOffset,pLayouts,pNumRows,pRowSizeInBytes,pTotalBytes) ) | ||
| 11252 | |||
| 11253 | #define ID3D12Device1_CreateQueryHeap(This,pDesc,riid,ppvHeap) \ | ||
| 11254 | ( (This)->lpVtbl -> CreateQueryHeap(This,pDesc,riid,ppvHeap) ) | ||
| 11255 | |||
| 11256 | #define ID3D12Device1_SetStablePowerState(This,Enable) \ | ||
| 11257 | ( (This)->lpVtbl -> SetStablePowerState(This,Enable) ) | ||
| 11258 | |||
| 11259 | #define ID3D12Device1_CreateCommandSignature(This,pDesc,pRootSignature,riid,ppvCommandSignature) \ | ||
| 11260 | ( (This)->lpVtbl -> CreateCommandSignature(This,pDesc,pRootSignature,riid,ppvCommandSignature) ) | ||
| 11261 | |||
| 11262 | #define ID3D12Device1_GetResourceTiling(This,pTiledResource,pNumTilesForEntireResource,pPackedMipDesc,pStandardTileShapeForNonPackedMips,pNumSubresourceTilings,FirstSubresourceTilingToGet,pSubresourceTilingsForNonPackedMips) \ | ||
| 11263 | ( (This)->lpVtbl -> GetResourceTiling(This,pTiledResource,pNumTilesForEntireResource,pPackedMipDesc,pStandardTileShapeForNonPackedMips,pNumSubresourceTilings,FirstSubresourceTilingToGet,pSubresourceTilingsForNonPackedMips) ) | ||
| 11264 | #if !defined(_WIN32) | ||
| 11265 | |||
| 11266 | #define ID3D12Device1_GetAdapterLuid(This) \ | ||
| 11267 | ( (This)->lpVtbl -> GetAdapterLuid(This) ) | ||
| 11268 | #else | ||
| 11269 | #define ID3D12Device1_GetAdapterLuid(This,RetVal) \ | ||
| 11270 | ( (This)->lpVtbl -> GetAdapterLuid(This,RetVal) ) | ||
| 11271 | #endif | ||
| 11272 | |||
| 11273 | |||
| 11274 | #define ID3D12Device1_CreatePipelineLibrary(This,pLibraryBlob,BlobLength,riid,ppPipelineLibrary) \ | ||
| 11275 | ( (This)->lpVtbl -> CreatePipelineLibrary(This,pLibraryBlob,BlobLength,riid,ppPipelineLibrary) ) | ||
| 11276 | |||
| 11277 | #define ID3D12Device1_SetEventOnMultipleFenceCompletion(This,ppFences,pFenceValues,NumFences,Flags,hEvent) \ | ||
| 11278 | ( (This)->lpVtbl -> SetEventOnMultipleFenceCompletion(This,ppFences,pFenceValues,NumFences,Flags,hEvent) ) | ||
| 11279 | |||
| 11280 | #define ID3D12Device1_SetResidencyPriority(This,NumObjects,ppObjects,pPriorities) \ | ||
| 11281 | ( (This)->lpVtbl -> SetResidencyPriority(This,NumObjects,ppObjects,pPriorities) ) | ||
| 11282 | |||
| 11283 | #endif /* COBJMACROS */ | ||
| 11284 | |||
| 11285 | |||
| 11286 | #endif /* C style interface */ | ||
| 11287 | |||
| 11288 | |||
| 11289 | |||
| 11290 | |||
| 11291 | #endif /* __ID3D12Device1_INTERFACE_DEFINED__ */ | ||
| 11292 | |||
| 11293 | |||
| 11294 | #ifndef __ID3D12Device2_INTERFACE_DEFINED__ | ||
| 11295 | #define __ID3D12Device2_INTERFACE_DEFINED__ | ||
| 11296 | |||
| 11297 | /* interface ID3D12Device2 */ | ||
| 11298 | /* [unique][local][object][uuid] */ | ||
| 11299 | |||
| 11300 | |||
| 11301 | EXTERN_C const IID IID_ID3D12Device2; | ||
| 11302 | |||
| 11303 | #if defined(__cplusplus) && !defined(CINTERFACE) | ||
| 11304 | |||
| 11305 | MIDL_INTERFACE("30baa41e-b15b-475c-a0bb-1af5c5b64328") | ||
| 11306 | ID3D12Device2 : public ID3D12Device1 | ||
| 11307 | { | ||
| 11308 | public: | ||
| 11309 | virtual HRESULT STDMETHODCALLTYPE CreatePipelineState( | ||
| 11310 | const D3D12_PIPELINE_STATE_STREAM_DESC *pDesc, | ||
| 11311 | REFIID riid, | ||
| 11312 | _COM_Outptr_ void **ppPipelineState) = 0; | ||
| 11313 | |||
| 11314 | }; | ||
| 11315 | |||
| 11316 | |||
| 11317 | #else /* C style interface */ | ||
| 11318 | |||
| 11319 | typedef struct ID3D12Device2Vtbl | ||
| 11320 | { | ||
| 11321 | BEGIN_INTERFACE | ||
| 11322 | |||
| 11323 | DECLSPEC_XFGVIRT(IUnknown, QueryInterface) | ||
| 11324 | HRESULT ( STDMETHODCALLTYPE *QueryInterface )( | ||
| 11325 | ID3D12Device2 * This, | ||
| 11326 | REFIID riid, | ||
| 11327 | _COM_Outptr_ void **ppvObject); | ||
| 11328 | |||
| 11329 | DECLSPEC_XFGVIRT(IUnknown, AddRef) | ||
| 11330 | ULONG ( STDMETHODCALLTYPE *AddRef )( | ||
| 11331 | ID3D12Device2 * This); | ||
| 11332 | |||
| 11333 | DECLSPEC_XFGVIRT(IUnknown, Release) | ||
| 11334 | ULONG ( STDMETHODCALLTYPE *Release )( | ||
| 11335 | ID3D12Device2 * This); | ||
| 11336 | |||
| 11337 | DECLSPEC_XFGVIRT(ID3D12Object, GetPrivateData) | ||
| 11338 | HRESULT ( STDMETHODCALLTYPE *GetPrivateData )( | ||
| 11339 | ID3D12Device2 * This, | ||
| 11340 | _In_ REFGUID guid, | ||
| 11341 | _Inout_ UINT *pDataSize, | ||
| 11342 | _Out_writes_bytes_opt_( *pDataSize ) void *pData); | ||
| 11343 | |||
| 11344 | DECLSPEC_XFGVIRT(ID3D12Object, SetPrivateData) | ||
| 11345 | HRESULT ( STDMETHODCALLTYPE *SetPrivateData )( | ||
| 11346 | ID3D12Device2 * This, | ||
| 11347 | _In_ REFGUID guid, | ||
| 11348 | _In_ UINT DataSize, | ||
| 11349 | _In_reads_bytes_opt_( DataSize ) const void *pData); | ||
| 11350 | |||
| 11351 | DECLSPEC_XFGVIRT(ID3D12Object, SetPrivateDataInterface) | ||
| 11352 | HRESULT ( STDMETHODCALLTYPE *SetPrivateDataInterface )( | ||
| 11353 | ID3D12Device2 * This, | ||
| 11354 | _In_ REFGUID guid, | ||
| 11355 | _In_opt_ const IUnknown *pData); | ||
| 11356 | |||
| 11357 | DECLSPEC_XFGVIRT(ID3D12Object, SetName) | ||
| 11358 | HRESULT ( STDMETHODCALLTYPE *SetName )( | ||
| 11359 | ID3D12Device2 * This, | ||
| 11360 | _In_z_ LPCWSTR Name); | ||
| 11361 | |||
| 11362 | DECLSPEC_XFGVIRT(ID3D12Device, GetNodeCount) | ||
| 11363 | UINT ( STDMETHODCALLTYPE *GetNodeCount )( | ||
| 11364 | ID3D12Device2 * This); | ||
| 11365 | |||
| 11366 | DECLSPEC_XFGVIRT(ID3D12Device, CreateCommandQueue) | ||
| 11367 | HRESULT ( STDMETHODCALLTYPE *CreateCommandQueue )( | ||
| 11368 | ID3D12Device2 * This, | ||
| 11369 | _In_ const D3D12_COMMAND_QUEUE_DESC *pDesc, | ||
| 11370 | REFIID riid, | ||
| 11371 | _COM_Outptr_ void **ppCommandQueue); | ||
| 11372 | |||
| 11373 | DECLSPEC_XFGVIRT(ID3D12Device, CreateCommandAllocator) | ||
| 11374 | HRESULT ( STDMETHODCALLTYPE *CreateCommandAllocator )( | ||
| 11375 | ID3D12Device2 * This, | ||
| 11376 | _In_ D3D12_COMMAND_LIST_TYPE type, | ||
| 11377 | REFIID riid, | ||
| 11378 | _COM_Outptr_ void **ppCommandAllocator); | ||
| 11379 | |||
| 11380 | DECLSPEC_XFGVIRT(ID3D12Device, CreateGraphicsPipelineState) | ||
| 11381 | HRESULT ( STDMETHODCALLTYPE *CreateGraphicsPipelineState )( | ||
| 11382 | ID3D12Device2 * This, | ||
| 11383 | _In_ const D3D12_GRAPHICS_PIPELINE_STATE_DESC *pDesc, | ||
| 11384 | REFIID riid, | ||
| 11385 | _COM_Outptr_ void **ppPipelineState); | ||
| 11386 | |||
| 11387 | DECLSPEC_XFGVIRT(ID3D12Device, CreateComputePipelineState) | ||
| 11388 | HRESULT ( STDMETHODCALLTYPE *CreateComputePipelineState )( | ||
| 11389 | ID3D12Device2 * This, | ||
| 11390 | _In_ const D3D12_COMPUTE_PIPELINE_STATE_DESC *pDesc, | ||
| 11391 | REFIID riid, | ||
| 11392 | _COM_Outptr_ void **ppPipelineState); | ||
| 11393 | |||
| 11394 | DECLSPEC_XFGVIRT(ID3D12Device, CreateCommandList) | ||
| 11395 | HRESULT ( STDMETHODCALLTYPE *CreateCommandList )( | ||
| 11396 | ID3D12Device2 * This, | ||
| 11397 | _In_ UINT nodeMask, | ||
| 11398 | _In_ D3D12_COMMAND_LIST_TYPE type, | ||
| 11399 | _In_ ID3D12CommandAllocator *pCommandAllocator, | ||
| 11400 | _In_opt_ ID3D12PipelineState *pInitialState, | ||
| 11401 | REFIID riid, | ||
| 11402 | _COM_Outptr_ void **ppCommandList); | ||
| 11403 | |||
| 11404 | DECLSPEC_XFGVIRT(ID3D12Device, CheckFeatureSupport) | ||
| 11405 | HRESULT ( STDMETHODCALLTYPE *CheckFeatureSupport )( | ||
| 11406 | ID3D12Device2 * This, | ||
| 11407 | D3D12_FEATURE Feature, | ||
| 11408 | _Inout_updates_bytes_(FeatureSupportDataSize) void *pFeatureSupportData, | ||
| 11409 | UINT FeatureSupportDataSize); | ||
| 11410 | |||
| 11411 | DECLSPEC_XFGVIRT(ID3D12Device, CreateDescriptorHeap) | ||
| 11412 | HRESULT ( STDMETHODCALLTYPE *CreateDescriptorHeap )( | ||
| 11413 | ID3D12Device2 * This, | ||
| 11414 | _In_ const D3D12_DESCRIPTOR_HEAP_DESC *pDescriptorHeapDesc, | ||
| 11415 | REFIID riid, | ||
| 11416 | _COM_Outptr_ void **ppvHeap); | ||
| 11417 | |||
| 11418 | DECLSPEC_XFGVIRT(ID3D12Device, GetDescriptorHandleIncrementSize) | ||
| 11419 | UINT ( STDMETHODCALLTYPE *GetDescriptorHandleIncrementSize )( | ||
| 11420 | ID3D12Device2 * This, | ||
| 11421 | _In_ D3D12_DESCRIPTOR_HEAP_TYPE DescriptorHeapType); | ||
| 11422 | |||
| 11423 | DECLSPEC_XFGVIRT(ID3D12Device, CreateRootSignature) | ||
| 11424 | HRESULT ( STDMETHODCALLTYPE *CreateRootSignature )( | ||
| 11425 | ID3D12Device2 * This, | ||
| 11426 | _In_ UINT nodeMask, | ||
| 11427 | _In_reads_(blobLengthInBytes) const void *pBlobWithRootSignature, | ||
| 11428 | _In_ SIZE_T blobLengthInBytes, | ||
| 11429 | REFIID riid, | ||
| 11430 | _COM_Outptr_ void **ppvRootSignature); | ||
| 11431 | |||
| 11432 | DECLSPEC_XFGVIRT(ID3D12Device, CreateConstantBufferView) | ||
| 11433 | void ( STDMETHODCALLTYPE *CreateConstantBufferView )( | ||
| 11434 | ID3D12Device2 * This, | ||
| 11435 | _In_opt_ const D3D12_CONSTANT_BUFFER_VIEW_DESC *pDesc, | ||
| 11436 | _In_ D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor); | ||
| 11437 | |||
| 11438 | DECLSPEC_XFGVIRT(ID3D12Device, CreateShaderResourceView) | ||
| 11439 | void ( STDMETHODCALLTYPE *CreateShaderResourceView )( | ||
| 11440 | ID3D12Device2 * This, | ||
| 11441 | _In_opt_ ID3D12Resource *pResource, | ||
| 11442 | _In_opt_ const D3D12_SHADER_RESOURCE_VIEW_DESC *pDesc, | ||
| 11443 | _In_ D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor); | ||
| 11444 | |||
| 11445 | DECLSPEC_XFGVIRT(ID3D12Device, CreateUnorderedAccessView) | ||
| 11446 | void ( STDMETHODCALLTYPE *CreateUnorderedAccessView )( | ||
| 11447 | ID3D12Device2 * This, | ||
| 11448 | _In_opt_ ID3D12Resource *pResource, | ||
| 11449 | _In_opt_ ID3D12Resource *pCounterResource, | ||
| 11450 | _In_opt_ const D3D12_UNORDERED_ACCESS_VIEW_DESC *pDesc, | ||
| 11451 | _In_ D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor); | ||
| 11452 | |||
| 11453 | DECLSPEC_XFGVIRT(ID3D12Device, CreateRenderTargetView) | ||
| 11454 | void ( STDMETHODCALLTYPE *CreateRenderTargetView )( | ||
| 11455 | ID3D12Device2 * This, | ||
| 11456 | _In_opt_ ID3D12Resource *pResource, | ||
| 11457 | _In_opt_ const D3D12_RENDER_TARGET_VIEW_DESC *pDesc, | ||
| 11458 | _In_ D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor); | ||
| 11459 | |||
| 11460 | DECLSPEC_XFGVIRT(ID3D12Device, CreateDepthStencilView) | ||
| 11461 | void ( STDMETHODCALLTYPE *CreateDepthStencilView )( | ||
| 11462 | ID3D12Device2 * This, | ||
| 11463 | _In_opt_ ID3D12Resource *pResource, | ||
| 11464 | _In_opt_ const D3D12_DEPTH_STENCIL_VIEW_DESC *pDesc, | ||
| 11465 | _In_ D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor); | ||
| 11466 | |||
| 11467 | DECLSPEC_XFGVIRT(ID3D12Device, CreateSampler) | ||
| 11468 | void ( STDMETHODCALLTYPE *CreateSampler )( | ||
| 11469 | ID3D12Device2 * This, | ||
| 11470 | _In_ const D3D12_SAMPLER_DESC *pDesc, | ||
| 11471 | _In_ D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor); | ||
| 11472 | |||
| 11473 | DECLSPEC_XFGVIRT(ID3D12Device, CopyDescriptors) | ||
| 11474 | void ( STDMETHODCALLTYPE *CopyDescriptors )( | ||
| 11475 | ID3D12Device2 * This, | ||
| 11476 | _In_ UINT NumDestDescriptorRanges, | ||
| 11477 | _In_reads_(NumDestDescriptorRanges) const D3D12_CPU_DESCRIPTOR_HANDLE *pDestDescriptorRangeStarts, | ||
| 11478 | _In_reads_opt_(NumDestDescriptorRanges) const UINT *pDestDescriptorRangeSizes, | ||
| 11479 | _In_ UINT NumSrcDescriptorRanges, | ||
| 11480 | _In_reads_(NumSrcDescriptorRanges) const D3D12_CPU_DESCRIPTOR_HANDLE *pSrcDescriptorRangeStarts, | ||
| 11481 | _In_reads_opt_(NumSrcDescriptorRanges) const UINT *pSrcDescriptorRangeSizes, | ||
| 11482 | _In_ D3D12_DESCRIPTOR_HEAP_TYPE DescriptorHeapsType); | ||
| 11483 | |||
| 11484 | DECLSPEC_XFGVIRT(ID3D12Device, CopyDescriptorsSimple) | ||
| 11485 | void ( STDMETHODCALLTYPE *CopyDescriptorsSimple )( | ||
| 11486 | ID3D12Device2 * This, | ||
| 11487 | _In_ UINT NumDescriptors, | ||
| 11488 | _In_ D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptorRangeStart, | ||
| 11489 | _In_ D3D12_CPU_DESCRIPTOR_HANDLE SrcDescriptorRangeStart, | ||
| 11490 | _In_ D3D12_DESCRIPTOR_HEAP_TYPE DescriptorHeapsType); | ||
| 11491 | |||
| 11492 | DECLSPEC_XFGVIRT(ID3D12Device, GetResourceAllocationInfo) | ||
| 11493 | #if !defined(_WIN32) | ||
| 11494 | D3D12_RESOURCE_ALLOCATION_INFO ( STDMETHODCALLTYPE *GetResourceAllocationInfo )( | ||
| 11495 | ID3D12Device2 * This, | ||
| 11496 | _In_ UINT visibleMask, | ||
| 11497 | _In_ UINT numResourceDescs, | ||
| 11498 | _In_reads_(numResourceDescs) const D3D12_RESOURCE_DESC *pResourceDescs); | ||
| 11499 | |||
| 11500 | #else | ||
| 11501 | D3D12_RESOURCE_ALLOCATION_INFO *( STDMETHODCALLTYPE *GetResourceAllocationInfo )( | ||
| 11502 | ID3D12Device2 * This, | ||
| 11503 | D3D12_RESOURCE_ALLOCATION_INFO * RetVal, | ||
| 11504 | _In_ UINT visibleMask, | ||
| 11505 | _In_ UINT numResourceDescs, | ||
| 11506 | _In_reads_(numResourceDescs) const D3D12_RESOURCE_DESC *pResourceDescs); | ||
| 11507 | |||
| 11508 | #endif | ||
| 11509 | |||
| 11510 | DECLSPEC_XFGVIRT(ID3D12Device, GetCustomHeapProperties) | ||
| 11511 | #if !defined(_WIN32) | ||
| 11512 | D3D12_HEAP_PROPERTIES ( STDMETHODCALLTYPE *GetCustomHeapProperties )( | ||
| 11513 | ID3D12Device2 * This, | ||
| 11514 | _In_ UINT nodeMask, | ||
| 11515 | D3D12_HEAP_TYPE heapType); | ||
| 11516 | |||
| 11517 | #else | ||
| 11518 | D3D12_HEAP_PROPERTIES *( STDMETHODCALLTYPE *GetCustomHeapProperties )( | ||
| 11519 | ID3D12Device2 * This, | ||
| 11520 | D3D12_HEAP_PROPERTIES * RetVal, | ||
| 11521 | _In_ UINT nodeMask, | ||
| 11522 | D3D12_HEAP_TYPE heapType); | ||
| 11523 | |||
| 11524 | #endif | ||
| 11525 | |||
| 11526 | DECLSPEC_XFGVIRT(ID3D12Device, CreateCommittedResource) | ||
| 11527 | HRESULT ( STDMETHODCALLTYPE *CreateCommittedResource )( | ||
| 11528 | ID3D12Device2 * This, | ||
| 11529 | _In_ const D3D12_HEAP_PROPERTIES *pHeapProperties, | ||
| 11530 | D3D12_HEAP_FLAGS HeapFlags, | ||
| 11531 | _In_ const D3D12_RESOURCE_DESC *pDesc, | ||
| 11532 | D3D12_RESOURCE_STATES InitialResourceState, | ||
| 11533 | _In_opt_ const D3D12_CLEAR_VALUE *pOptimizedClearValue, | ||
| 11534 | REFIID riidResource, | ||
| 11535 | _COM_Outptr_opt_ void **ppvResource); | ||
| 11536 | |||
| 11537 | DECLSPEC_XFGVIRT(ID3D12Device, CreateHeap) | ||
| 11538 | HRESULT ( STDMETHODCALLTYPE *CreateHeap )( | ||
| 11539 | ID3D12Device2 * This, | ||
| 11540 | _In_ const D3D12_HEAP_DESC *pDesc, | ||
| 11541 | REFIID riid, | ||
| 11542 | _COM_Outptr_opt_ void **ppvHeap); | ||
| 11543 | |||
| 11544 | DECLSPEC_XFGVIRT(ID3D12Device, CreatePlacedResource) | ||
| 11545 | HRESULT ( STDMETHODCALLTYPE *CreatePlacedResource )( | ||
| 11546 | ID3D12Device2 * This, | ||
| 11547 | _In_ ID3D12Heap *pHeap, | ||
| 11548 | UINT64 HeapOffset, | ||
| 11549 | _In_ const D3D12_RESOURCE_DESC *pDesc, | ||
| 11550 | D3D12_RESOURCE_STATES InitialState, | ||
| 11551 | _In_opt_ const D3D12_CLEAR_VALUE *pOptimizedClearValue, | ||
| 11552 | REFIID riid, | ||
| 11553 | _COM_Outptr_opt_ void **ppvResource); | ||
| 11554 | |||
| 11555 | DECLSPEC_XFGVIRT(ID3D12Device, CreateReservedResource) | ||
| 11556 | HRESULT ( STDMETHODCALLTYPE *CreateReservedResource )( | ||
| 11557 | ID3D12Device2 * This, | ||
| 11558 | _In_ const D3D12_RESOURCE_DESC *pDesc, | ||
| 11559 | D3D12_RESOURCE_STATES InitialState, | ||
| 11560 | _In_opt_ const D3D12_CLEAR_VALUE *pOptimizedClearValue, | ||
| 11561 | REFIID riid, | ||
| 11562 | _COM_Outptr_opt_ void **ppvResource); | ||
| 11563 | |||
| 11564 | DECLSPEC_XFGVIRT(ID3D12Device, CreateSharedHandle) | ||
| 11565 | HRESULT ( STDMETHODCALLTYPE *CreateSharedHandle )( | ||
| 11566 | ID3D12Device2 * This, | ||
| 11567 | _In_ ID3D12DeviceChild *pObject, | ||
| 11568 | _In_opt_ const SECURITY_ATTRIBUTES *pAttributes, | ||
| 11569 | DWORD Access, | ||
| 11570 | _In_opt_ LPCWSTR Name, | ||
| 11571 | _Out_ HANDLE *pHandle); | ||
| 11572 | |||
| 11573 | DECLSPEC_XFGVIRT(ID3D12Device, OpenSharedHandle) | ||
| 11574 | HRESULT ( STDMETHODCALLTYPE *OpenSharedHandle )( | ||
| 11575 | ID3D12Device2 * This, | ||
| 11576 | _In_ HANDLE NTHandle, | ||
| 11577 | REFIID riid, | ||
| 11578 | _COM_Outptr_opt_ void **ppvObj); | ||
| 11579 | |||
| 11580 | DECLSPEC_XFGVIRT(ID3D12Device, OpenSharedHandleByName) | ||
| 11581 | HRESULT ( STDMETHODCALLTYPE *OpenSharedHandleByName )( | ||
| 11582 | ID3D12Device2 * This, | ||
| 11583 | _In_ LPCWSTR Name, | ||
| 11584 | DWORD Access, | ||
| 11585 | /* [annotation][out] */ | ||
| 11586 | _Out_ HANDLE *pNTHandle); | ||
| 11587 | |||
| 11588 | DECLSPEC_XFGVIRT(ID3D12Device, MakeResident) | ||
| 11589 | HRESULT ( STDMETHODCALLTYPE *MakeResident )( | ||
| 11590 | ID3D12Device2 * This, | ||
| 11591 | UINT NumObjects, | ||
| 11592 | _In_reads_(NumObjects) ID3D12Pageable *const *ppObjects); | ||
| 11593 | |||
| 11594 | DECLSPEC_XFGVIRT(ID3D12Device, Evict) | ||
| 11595 | HRESULT ( STDMETHODCALLTYPE *Evict )( | ||
| 11596 | ID3D12Device2 * This, | ||
| 11597 | UINT NumObjects, | ||
| 11598 | _In_reads_(NumObjects) ID3D12Pageable *const *ppObjects); | ||
| 11599 | |||
| 11600 | DECLSPEC_XFGVIRT(ID3D12Device, CreateFence) | ||
| 11601 | HRESULT ( STDMETHODCALLTYPE *CreateFence )( | ||
| 11602 | ID3D12Device2 * This, | ||
| 11603 | UINT64 InitialValue, | ||
| 11604 | D3D12_FENCE_FLAGS Flags, | ||
| 11605 | REFIID riid, | ||
| 11606 | _COM_Outptr_ void **ppFence); | ||
| 11607 | |||
| 11608 | DECLSPEC_XFGVIRT(ID3D12Device, GetDeviceRemovedReason) | ||
| 11609 | HRESULT ( STDMETHODCALLTYPE *GetDeviceRemovedReason )( | ||
| 11610 | ID3D12Device2 * This); | ||
| 11611 | |||
| 11612 | DECLSPEC_XFGVIRT(ID3D12Device, GetCopyableFootprints) | ||
| 11613 | void ( STDMETHODCALLTYPE *GetCopyableFootprints )( | ||
| 11614 | ID3D12Device2 * This, | ||
| 11615 | _In_ const D3D12_RESOURCE_DESC *pResourceDesc, | ||
| 11616 | _In_range_(0,D3D12_REQ_SUBRESOURCES) UINT FirstSubresource, | ||
| 11617 | _In_range_(0,D3D12_REQ_SUBRESOURCES-FirstSubresource) UINT NumSubresources, | ||
| 11618 | UINT64 BaseOffset, | ||
| 11619 | _Out_writes_opt_(NumSubresources) D3D12_PLACED_SUBRESOURCE_FOOTPRINT *pLayouts, | ||
| 11620 | _Out_writes_opt_(NumSubresources) UINT *pNumRows, | ||
| 11621 | _Out_writes_opt_(NumSubresources) UINT64 *pRowSizeInBytes, | ||
| 11622 | _Out_opt_ UINT64 *pTotalBytes); | ||
| 11623 | |||
| 11624 | DECLSPEC_XFGVIRT(ID3D12Device, CreateQueryHeap) | ||
| 11625 | HRESULT ( STDMETHODCALLTYPE *CreateQueryHeap )( | ||
| 11626 | ID3D12Device2 * This, | ||
| 11627 | _In_ const D3D12_QUERY_HEAP_DESC *pDesc, | ||
| 11628 | REFIID riid, | ||
| 11629 | _COM_Outptr_opt_ void **ppvHeap); | ||
| 11630 | |||
| 11631 | DECLSPEC_XFGVIRT(ID3D12Device, SetStablePowerState) | ||
| 11632 | HRESULT ( STDMETHODCALLTYPE *SetStablePowerState )( | ||
| 11633 | ID3D12Device2 * This, | ||
| 11634 | BOOL Enable); | ||
| 11635 | |||
| 11636 | DECLSPEC_XFGVIRT(ID3D12Device, CreateCommandSignature) | ||
| 11637 | HRESULT ( STDMETHODCALLTYPE *CreateCommandSignature )( | ||
| 11638 | ID3D12Device2 * This, | ||
| 11639 | _In_ const D3D12_COMMAND_SIGNATURE_DESC *pDesc, | ||
| 11640 | _In_opt_ ID3D12RootSignature *pRootSignature, | ||
| 11641 | REFIID riid, | ||
| 11642 | _COM_Outptr_opt_ void **ppvCommandSignature); | ||
| 11643 | |||
| 11644 | DECLSPEC_XFGVIRT(ID3D12Device, GetResourceTiling) | ||
| 11645 | void ( STDMETHODCALLTYPE *GetResourceTiling )( | ||
| 11646 | ID3D12Device2 * This, | ||
| 11647 | _In_ ID3D12Resource *pTiledResource, | ||
| 11648 | _Out_opt_ UINT *pNumTilesForEntireResource, | ||
| 11649 | _Out_opt_ D3D12_PACKED_MIP_INFO *pPackedMipDesc, | ||
| 11650 | _Out_opt_ D3D12_TILE_SHAPE *pStandardTileShapeForNonPackedMips, | ||
| 11651 | _Inout_opt_ UINT *pNumSubresourceTilings, | ||
| 11652 | _In_ UINT FirstSubresourceTilingToGet, | ||
| 11653 | _Out_writes_(*pNumSubresourceTilings) D3D12_SUBRESOURCE_TILING *pSubresourceTilingsForNonPackedMips); | ||
| 11654 | |||
| 11655 | DECLSPEC_XFGVIRT(ID3D12Device, GetAdapterLuid) | ||
| 11656 | #if !defined(_WIN32) | ||
| 11657 | LUID ( STDMETHODCALLTYPE *GetAdapterLuid )( | ||
| 11658 | ID3D12Device2 * This); | ||
| 11659 | |||
| 11660 | #else | ||
| 11661 | LUID *( STDMETHODCALLTYPE *GetAdapterLuid )( | ||
| 11662 | ID3D12Device2 * This, | ||
| 11663 | LUID * RetVal); | ||
| 11664 | |||
| 11665 | #endif | ||
| 11666 | |||
| 11667 | DECLSPEC_XFGVIRT(ID3D12Device1, CreatePipelineLibrary) | ||
| 11668 | HRESULT ( STDMETHODCALLTYPE *CreatePipelineLibrary )( | ||
| 11669 | ID3D12Device2 * This, | ||
| 11670 | _In_reads_(BlobLength) const void *pLibraryBlob, | ||
| 11671 | SIZE_T BlobLength, | ||
| 11672 | REFIID riid, | ||
| 11673 | _COM_Outptr_ void **ppPipelineLibrary); | ||
| 11674 | |||
| 11675 | DECLSPEC_XFGVIRT(ID3D12Device1, SetEventOnMultipleFenceCompletion) | ||
| 11676 | HRESULT ( STDMETHODCALLTYPE *SetEventOnMultipleFenceCompletion )( | ||
| 11677 | ID3D12Device2 * This, | ||
| 11678 | _In_reads_(NumFences) ID3D12Fence *const *ppFences, | ||
| 11679 | _In_reads_(NumFences) const UINT64 *pFenceValues, | ||
| 11680 | UINT NumFences, | ||
| 11681 | D3D12_MULTIPLE_FENCE_WAIT_FLAGS Flags, | ||
| 11682 | HANDLE hEvent); | ||
| 11683 | |||
| 11684 | DECLSPEC_XFGVIRT(ID3D12Device1, SetResidencyPriority) | ||
| 11685 | HRESULT ( STDMETHODCALLTYPE *SetResidencyPriority )( | ||
| 11686 | ID3D12Device2 * This, | ||
| 11687 | UINT NumObjects, | ||
| 11688 | _In_reads_(NumObjects) ID3D12Pageable *const *ppObjects, | ||
| 11689 | _In_reads_(NumObjects) const D3D12_RESIDENCY_PRIORITY *pPriorities); | ||
| 11690 | |||
| 11691 | DECLSPEC_XFGVIRT(ID3D12Device2, CreatePipelineState) | ||
| 11692 | HRESULT ( STDMETHODCALLTYPE *CreatePipelineState )( | ||
| 11693 | ID3D12Device2 * This, | ||
| 11694 | const D3D12_PIPELINE_STATE_STREAM_DESC *pDesc, | ||
| 11695 | REFIID riid, | ||
| 11696 | _COM_Outptr_ void **ppPipelineState); | ||
| 11697 | |||
| 11698 | END_INTERFACE | ||
| 11699 | } ID3D12Device2Vtbl; | ||
| 11700 | |||
| 11701 | interface ID3D12Device2 | ||
| 11702 | { | ||
| 11703 | CONST_VTBL struct ID3D12Device2Vtbl *lpVtbl; | ||
| 11704 | }; | ||
| 11705 | |||
| 11706 | |||
| 11707 | |||
| 11708 | #ifdef COBJMACROS | ||
| 11709 | |||
| 11710 | |||
| 11711 | #define ID3D12Device2_QueryInterface(This,riid,ppvObject) \ | ||
| 11712 | ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) | ||
| 11713 | |||
| 11714 | #define ID3D12Device2_AddRef(This) \ | ||
| 11715 | ( (This)->lpVtbl -> AddRef(This) ) | ||
| 11716 | |||
| 11717 | #define ID3D12Device2_Release(This) \ | ||
| 11718 | ( (This)->lpVtbl -> Release(This) ) | ||
| 11719 | |||
| 11720 | |||
| 11721 | #define ID3D12Device2_GetPrivateData(This,guid,pDataSize,pData) \ | ||
| 11722 | ( (This)->lpVtbl -> GetPrivateData(This,guid,pDataSize,pData) ) | ||
| 11723 | |||
| 11724 | #define ID3D12Device2_SetPrivateData(This,guid,DataSize,pData) \ | ||
| 11725 | ( (This)->lpVtbl -> SetPrivateData(This,guid,DataSize,pData) ) | ||
| 11726 | |||
| 11727 | #define ID3D12Device2_SetPrivateDataInterface(This,guid,pData) \ | ||
| 11728 | ( (This)->lpVtbl -> SetPrivateDataInterface(This,guid,pData) ) | ||
| 11729 | |||
| 11730 | #define ID3D12Device2_SetName(This,Name) \ | ||
| 11731 | ( (This)->lpVtbl -> SetName(This,Name) ) | ||
| 11732 | |||
| 11733 | |||
| 11734 | #define ID3D12Device2_GetNodeCount(This) \ | ||
| 11735 | ( (This)->lpVtbl -> GetNodeCount(This) ) | ||
| 11736 | |||
| 11737 | #define ID3D12Device2_CreateCommandQueue(This,pDesc,riid,ppCommandQueue) \ | ||
| 11738 | ( (This)->lpVtbl -> CreateCommandQueue(This,pDesc,riid,ppCommandQueue) ) | ||
| 11739 | |||
| 11740 | #define ID3D12Device2_CreateCommandAllocator(This,type,riid,ppCommandAllocator) \ | ||
| 11741 | ( (This)->lpVtbl -> CreateCommandAllocator(This,type,riid,ppCommandAllocator) ) | ||
| 11742 | |||
| 11743 | #define ID3D12Device2_CreateGraphicsPipelineState(This,pDesc,riid,ppPipelineState) \ | ||
| 11744 | ( (This)->lpVtbl -> CreateGraphicsPipelineState(This,pDesc,riid,ppPipelineState) ) | ||
| 11745 | |||
| 11746 | #define ID3D12Device2_CreateComputePipelineState(This,pDesc,riid,ppPipelineState) \ | ||
| 11747 | ( (This)->lpVtbl -> CreateComputePipelineState(This,pDesc,riid,ppPipelineState) ) | ||
| 11748 | |||
| 11749 | #define ID3D12Device2_CreateCommandList(This,nodeMask,type,pCommandAllocator,pInitialState,riid,ppCommandList) \ | ||
| 11750 | ( (This)->lpVtbl -> CreateCommandList(This,nodeMask,type,pCommandAllocator,pInitialState,riid,ppCommandList) ) | ||
| 11751 | |||
| 11752 | #define ID3D12Device2_CheckFeatureSupport(This,Feature,pFeatureSupportData,FeatureSupportDataSize) \ | ||
| 11753 | ( (This)->lpVtbl -> CheckFeatureSupport(This,Feature,pFeatureSupportData,FeatureSupportDataSize) ) | ||
| 11754 | |||
| 11755 | #define ID3D12Device2_CreateDescriptorHeap(This,pDescriptorHeapDesc,riid,ppvHeap) \ | ||
| 11756 | ( (This)->lpVtbl -> CreateDescriptorHeap(This,pDescriptorHeapDesc,riid,ppvHeap) ) | ||
| 11757 | |||
| 11758 | #define ID3D12Device2_GetDescriptorHandleIncrementSize(This,DescriptorHeapType) \ | ||
| 11759 | ( (This)->lpVtbl -> GetDescriptorHandleIncrementSize(This,DescriptorHeapType) ) | ||
| 11760 | |||
| 11761 | #define ID3D12Device2_CreateRootSignature(This,nodeMask,pBlobWithRootSignature,blobLengthInBytes,riid,ppvRootSignature) \ | ||
| 11762 | ( (This)->lpVtbl -> CreateRootSignature(This,nodeMask,pBlobWithRootSignature,blobLengthInBytes,riid,ppvRootSignature) ) | ||
| 11763 | |||
| 11764 | #define ID3D12Device2_CreateConstantBufferView(This,pDesc,DestDescriptor) \ | ||
| 11765 | ( (This)->lpVtbl -> CreateConstantBufferView(This,pDesc,DestDescriptor) ) | ||
| 11766 | |||
| 11767 | #define ID3D12Device2_CreateShaderResourceView(This,pResource,pDesc,DestDescriptor) \ | ||
| 11768 | ( (This)->lpVtbl -> CreateShaderResourceView(This,pResource,pDesc,DestDescriptor) ) | ||
| 11769 | |||
| 11770 | #define ID3D12Device2_CreateUnorderedAccessView(This,pResource,pCounterResource,pDesc,DestDescriptor) \ | ||
| 11771 | ( (This)->lpVtbl -> CreateUnorderedAccessView(This,pResource,pCounterResource,pDesc,DestDescriptor) ) | ||
| 11772 | |||
| 11773 | #define ID3D12Device2_CreateRenderTargetView(This,pResource,pDesc,DestDescriptor) \ | ||
| 11774 | ( (This)->lpVtbl -> CreateRenderTargetView(This,pResource,pDesc,DestDescriptor) ) | ||
| 11775 | |||
| 11776 | #define ID3D12Device2_CreateDepthStencilView(This,pResource,pDesc,DestDescriptor) \ | ||
| 11777 | ( (This)->lpVtbl -> CreateDepthStencilView(This,pResource,pDesc,DestDescriptor) ) | ||
| 11778 | |||
| 11779 | #define ID3D12Device2_CreateSampler(This,pDesc,DestDescriptor) \ | ||
| 11780 | ( (This)->lpVtbl -> CreateSampler(This,pDesc,DestDescriptor) ) | ||
| 11781 | |||
| 11782 | #define ID3D12Device2_CopyDescriptors(This,NumDestDescriptorRanges,pDestDescriptorRangeStarts,pDestDescriptorRangeSizes,NumSrcDescriptorRanges,pSrcDescriptorRangeStarts,pSrcDescriptorRangeSizes,DescriptorHeapsType) \ | ||
| 11783 | ( (This)->lpVtbl -> CopyDescriptors(This,NumDestDescriptorRanges,pDestDescriptorRangeStarts,pDestDescriptorRangeSizes,NumSrcDescriptorRanges,pSrcDescriptorRangeStarts,pSrcDescriptorRangeSizes,DescriptorHeapsType) ) | ||
| 11784 | |||
| 11785 | #define ID3D12Device2_CopyDescriptorsSimple(This,NumDescriptors,DestDescriptorRangeStart,SrcDescriptorRangeStart,DescriptorHeapsType) \ | ||
| 11786 | ( (This)->lpVtbl -> CopyDescriptorsSimple(This,NumDescriptors,DestDescriptorRangeStart,SrcDescriptorRangeStart,DescriptorHeapsType) ) | ||
| 11787 | #if !defined(_WIN32) | ||
| 11788 | |||
| 11789 | #define ID3D12Device2_GetResourceAllocationInfo(This,visibleMask,numResourceDescs,pResourceDescs) \ | ||
| 11790 | ( (This)->lpVtbl -> GetResourceAllocationInfo(This,visibleMask,numResourceDescs,pResourceDescs) ) | ||
| 11791 | #else | ||
| 11792 | #define ID3D12Device2_GetResourceAllocationInfo(This,RetVal,visibleMask,numResourceDescs,pResourceDescs) \ | ||
| 11793 | ( (This)->lpVtbl -> GetResourceAllocationInfo(This,RetVal,visibleMask,numResourceDescs,pResourceDescs) ) | ||
| 11794 | #endif | ||
| 11795 | #if !defined(_WIN32) | ||
| 11796 | |||
| 11797 | #define ID3D12Device2_GetCustomHeapProperties(This,nodeMask,heapType) \ | ||
| 11798 | ( (This)->lpVtbl -> GetCustomHeapProperties(This,nodeMask,heapType) ) | ||
| 11799 | #else | ||
| 11800 | #define ID3D12Device2_GetCustomHeapProperties(This,RetVal,nodeMask,heapType) \ | ||
| 11801 | ( (This)->lpVtbl -> GetCustomHeapProperties(This,RetVal,nodeMask,heapType) ) | ||
| 11802 | #endif | ||
| 11803 | |||
| 11804 | #define ID3D12Device2_CreateCommittedResource(This,pHeapProperties,HeapFlags,pDesc,InitialResourceState,pOptimizedClearValue,riidResource,ppvResource) \ | ||
| 11805 | ( (This)->lpVtbl -> CreateCommittedResource(This,pHeapProperties,HeapFlags,pDesc,InitialResourceState,pOptimizedClearValue,riidResource,ppvResource) ) | ||
| 11806 | |||
| 11807 | #define ID3D12Device2_CreateHeap(This,pDesc,riid,ppvHeap) \ | ||
| 11808 | ( (This)->lpVtbl -> CreateHeap(This,pDesc,riid,ppvHeap) ) | ||
| 11809 | |||
| 11810 | #define ID3D12Device2_CreatePlacedResource(This,pHeap,HeapOffset,pDesc,InitialState,pOptimizedClearValue,riid,ppvResource) \ | ||
| 11811 | ( (This)->lpVtbl -> CreatePlacedResource(This,pHeap,HeapOffset,pDesc,InitialState,pOptimizedClearValue,riid,ppvResource) ) | ||
| 11812 | |||
| 11813 | #define ID3D12Device2_CreateReservedResource(This,pDesc,InitialState,pOptimizedClearValue,riid,ppvResource) \ | ||
| 11814 | ( (This)->lpVtbl -> CreateReservedResource(This,pDesc,InitialState,pOptimizedClearValue,riid,ppvResource) ) | ||
| 11815 | |||
| 11816 | #define ID3D12Device2_CreateSharedHandle(This,pObject,pAttributes,Access,Name,pHandle) \ | ||
| 11817 | ( (This)->lpVtbl -> CreateSharedHandle(This,pObject,pAttributes,Access,Name,pHandle) ) | ||
| 11818 | |||
| 11819 | #define ID3D12Device2_OpenSharedHandle(This,NTHandle,riid,ppvObj) \ | ||
| 11820 | ( (This)->lpVtbl -> OpenSharedHandle(This,NTHandle,riid,ppvObj) ) | ||
| 11821 | |||
| 11822 | #define ID3D12Device2_OpenSharedHandleByName(This,Name,Access,pNTHandle) \ | ||
| 11823 | ( (This)->lpVtbl -> OpenSharedHandleByName(This,Name,Access,pNTHandle) ) | ||
| 11824 | |||
| 11825 | #define ID3D12Device2_MakeResident(This,NumObjects,ppObjects) \ | ||
| 11826 | ( (This)->lpVtbl -> MakeResident(This,NumObjects,ppObjects) ) | ||
| 11827 | |||
| 11828 | #define ID3D12Device2_Evict(This,NumObjects,ppObjects) \ | ||
| 11829 | ( (This)->lpVtbl -> Evict(This,NumObjects,ppObjects) ) | ||
| 11830 | |||
| 11831 | #define ID3D12Device2_CreateFence(This,InitialValue,Flags,riid,ppFence) \ | ||
| 11832 | ( (This)->lpVtbl -> CreateFence(This,InitialValue,Flags,riid,ppFence) ) | ||
| 11833 | |||
| 11834 | #define ID3D12Device2_GetDeviceRemovedReason(This) \ | ||
| 11835 | ( (This)->lpVtbl -> GetDeviceRemovedReason(This) ) | ||
| 11836 | |||
| 11837 | #define ID3D12Device2_GetCopyableFootprints(This,pResourceDesc,FirstSubresource,NumSubresources,BaseOffset,pLayouts,pNumRows,pRowSizeInBytes,pTotalBytes) \ | ||
| 11838 | ( (This)->lpVtbl -> GetCopyableFootprints(This,pResourceDesc,FirstSubresource,NumSubresources,BaseOffset,pLayouts,pNumRows,pRowSizeInBytes,pTotalBytes) ) | ||
| 11839 | |||
| 11840 | #define ID3D12Device2_CreateQueryHeap(This,pDesc,riid,ppvHeap) \ | ||
| 11841 | ( (This)->lpVtbl -> CreateQueryHeap(This,pDesc,riid,ppvHeap) ) | ||
| 11842 | |||
| 11843 | #define ID3D12Device2_SetStablePowerState(This,Enable) \ | ||
| 11844 | ( (This)->lpVtbl -> SetStablePowerState(This,Enable) ) | ||
| 11845 | |||
| 11846 | #define ID3D12Device2_CreateCommandSignature(This,pDesc,pRootSignature,riid,ppvCommandSignature) \ | ||
| 11847 | ( (This)->lpVtbl -> CreateCommandSignature(This,pDesc,pRootSignature,riid,ppvCommandSignature) ) | ||
| 11848 | |||
| 11849 | #define ID3D12Device2_GetResourceTiling(This,pTiledResource,pNumTilesForEntireResource,pPackedMipDesc,pStandardTileShapeForNonPackedMips,pNumSubresourceTilings,FirstSubresourceTilingToGet,pSubresourceTilingsForNonPackedMips) \ | ||
| 11850 | ( (This)->lpVtbl -> GetResourceTiling(This,pTiledResource,pNumTilesForEntireResource,pPackedMipDesc,pStandardTileShapeForNonPackedMips,pNumSubresourceTilings,FirstSubresourceTilingToGet,pSubresourceTilingsForNonPackedMips) ) | ||
| 11851 | #if !defined(_WIN32) | ||
| 11852 | |||
| 11853 | #define ID3D12Device2_GetAdapterLuid(This) \ | ||
| 11854 | ( (This)->lpVtbl -> GetAdapterLuid(This) ) | ||
| 11855 | #else | ||
| 11856 | #define ID3D12Device2_GetAdapterLuid(This,RetVal) \ | ||
| 11857 | ( (This)->lpVtbl -> GetAdapterLuid(This,RetVal) ) | ||
| 11858 | #endif | ||
| 11859 | |||
| 11860 | |||
| 11861 | #define ID3D12Device2_CreatePipelineLibrary(This,pLibraryBlob,BlobLength,riid,ppPipelineLibrary) \ | ||
| 11862 | ( (This)->lpVtbl -> CreatePipelineLibrary(This,pLibraryBlob,BlobLength,riid,ppPipelineLibrary) ) | ||
| 11863 | |||
| 11864 | #define ID3D12Device2_SetEventOnMultipleFenceCompletion(This,ppFences,pFenceValues,NumFences,Flags,hEvent) \ | ||
| 11865 | ( (This)->lpVtbl -> SetEventOnMultipleFenceCompletion(This,ppFences,pFenceValues,NumFences,Flags,hEvent) ) | ||
| 11866 | |||
| 11867 | #define ID3D12Device2_SetResidencyPriority(This,NumObjects,ppObjects,pPriorities) \ | ||
| 11868 | ( (This)->lpVtbl -> SetResidencyPriority(This,NumObjects,ppObjects,pPriorities) ) | ||
| 11869 | |||
| 11870 | |||
| 11871 | #define ID3D12Device2_CreatePipelineState(This,pDesc,riid,ppPipelineState) \ | ||
| 11872 | ( (This)->lpVtbl -> CreatePipelineState(This,pDesc,riid,ppPipelineState) ) | ||
| 11873 | |||
| 11874 | #endif /* COBJMACROS */ | ||
| 11875 | |||
| 11876 | |||
| 11877 | #endif /* C style interface */ | ||
| 11878 | |||
| 11879 | |||
| 11880 | |||
| 11881 | |||
| 11882 | #endif /* __ID3D12Device2_INTERFACE_DEFINED__ */ | ||
| 11883 | |||
| 11884 | |||
| 11885 | /* interface __MIDL_itf_d3d12_0000_0027 */ | ||
| 11886 | /* [local] */ | ||
| 11887 | |||
| 11888 | typedef | ||
| 11889 | enum D3D12_RESIDENCY_FLAGS | ||
| 11890 | { | ||
| 11891 | D3D12_RESIDENCY_FLAG_NONE = 0, | ||
| 11892 | D3D12_RESIDENCY_FLAG_DENY_OVERBUDGET = 0x1 | ||
| 11893 | } D3D12_RESIDENCY_FLAGS; | ||
| 11894 | |||
| 11895 | DEFINE_ENUM_FLAG_OPERATORS( D3D12_RESIDENCY_FLAGS ) | ||
| 11896 | |||
| 11897 | |||
| 11898 | extern RPC_IF_HANDLE __MIDL_itf_d3d12_0000_0027_v0_0_c_ifspec; | ||
| 11899 | extern RPC_IF_HANDLE __MIDL_itf_d3d12_0000_0027_v0_0_s_ifspec; | ||
| 11900 | |||
| 11901 | #ifndef __ID3D12Device3_INTERFACE_DEFINED__ | ||
| 11902 | #define __ID3D12Device3_INTERFACE_DEFINED__ | ||
| 11903 | |||
| 11904 | /* interface ID3D12Device3 */ | ||
| 11905 | /* [unique][local][object][uuid] */ | ||
| 11906 | |||
| 11907 | |||
| 11908 | EXTERN_C const IID IID_ID3D12Device3; | ||
| 11909 | |||
| 11910 | #if defined(__cplusplus) && !defined(CINTERFACE) | ||
| 11911 | |||
| 11912 | MIDL_INTERFACE("81dadc15-2bad-4392-93c5-101345c4aa98") | ||
| 11913 | ID3D12Device3 : public ID3D12Device2 | ||
| 11914 | { | ||
| 11915 | public: | ||
| 11916 | virtual HRESULT STDMETHODCALLTYPE OpenExistingHeapFromAddress( | ||
| 11917 | _In_ const void *pAddress, | ||
| 11918 | REFIID riid, | ||
| 11919 | _COM_Outptr_ void **ppvHeap) = 0; | ||
| 11920 | |||
| 11921 | virtual HRESULT STDMETHODCALLTYPE OpenExistingHeapFromFileMapping( | ||
| 11922 | _In_ HANDLE hFileMapping, | ||
| 11923 | REFIID riid, | ||
| 11924 | _COM_Outptr_ void **ppvHeap) = 0; | ||
| 11925 | |||
| 11926 | virtual HRESULT STDMETHODCALLTYPE EnqueueMakeResident( | ||
| 11927 | D3D12_RESIDENCY_FLAGS Flags, | ||
| 11928 | UINT NumObjects, | ||
| 11929 | _In_reads_(NumObjects) ID3D12Pageable *const *ppObjects, | ||
| 11930 | _In_ ID3D12Fence *pFenceToSignal, | ||
| 11931 | UINT64 FenceValueToSignal) = 0; | ||
| 11932 | |||
| 11933 | }; | ||
| 11934 | |||
| 11935 | |||
| 11936 | #else /* C style interface */ | ||
| 11937 | |||
| 11938 | typedef struct ID3D12Device3Vtbl | ||
| 11939 | { | ||
| 11940 | BEGIN_INTERFACE | ||
| 11941 | |||
| 11942 | DECLSPEC_XFGVIRT(IUnknown, QueryInterface) | ||
| 11943 | HRESULT ( STDMETHODCALLTYPE *QueryInterface )( | ||
| 11944 | ID3D12Device3 * This, | ||
| 11945 | REFIID riid, | ||
| 11946 | _COM_Outptr_ void **ppvObject); | ||
| 11947 | |||
| 11948 | DECLSPEC_XFGVIRT(IUnknown, AddRef) | ||
| 11949 | ULONG ( STDMETHODCALLTYPE *AddRef )( | ||
| 11950 | ID3D12Device3 * This); | ||
| 11951 | |||
| 11952 | DECLSPEC_XFGVIRT(IUnknown, Release) | ||
| 11953 | ULONG ( STDMETHODCALLTYPE *Release )( | ||
| 11954 | ID3D12Device3 * This); | ||
| 11955 | |||
| 11956 | DECLSPEC_XFGVIRT(ID3D12Object, GetPrivateData) | ||
| 11957 | HRESULT ( STDMETHODCALLTYPE *GetPrivateData )( | ||
| 11958 | ID3D12Device3 * This, | ||
| 11959 | _In_ REFGUID guid, | ||
| 11960 | _Inout_ UINT *pDataSize, | ||
| 11961 | _Out_writes_bytes_opt_( *pDataSize ) void *pData); | ||
| 11962 | |||
| 11963 | DECLSPEC_XFGVIRT(ID3D12Object, SetPrivateData) | ||
| 11964 | HRESULT ( STDMETHODCALLTYPE *SetPrivateData )( | ||
| 11965 | ID3D12Device3 * This, | ||
| 11966 | _In_ REFGUID guid, | ||
| 11967 | _In_ UINT DataSize, | ||
| 11968 | _In_reads_bytes_opt_( DataSize ) const void *pData); | ||
| 11969 | |||
| 11970 | DECLSPEC_XFGVIRT(ID3D12Object, SetPrivateDataInterface) | ||
| 11971 | HRESULT ( STDMETHODCALLTYPE *SetPrivateDataInterface )( | ||
| 11972 | ID3D12Device3 * This, | ||
| 11973 | _In_ REFGUID guid, | ||
| 11974 | _In_opt_ const IUnknown *pData); | ||
| 11975 | |||
| 11976 | DECLSPEC_XFGVIRT(ID3D12Object, SetName) | ||
| 11977 | HRESULT ( STDMETHODCALLTYPE *SetName )( | ||
| 11978 | ID3D12Device3 * This, | ||
| 11979 | _In_z_ LPCWSTR Name); | ||
| 11980 | |||
| 11981 | DECLSPEC_XFGVIRT(ID3D12Device, GetNodeCount) | ||
| 11982 | UINT ( STDMETHODCALLTYPE *GetNodeCount )( | ||
| 11983 | ID3D12Device3 * This); | ||
| 11984 | |||
| 11985 | DECLSPEC_XFGVIRT(ID3D12Device, CreateCommandQueue) | ||
| 11986 | HRESULT ( STDMETHODCALLTYPE *CreateCommandQueue )( | ||
| 11987 | ID3D12Device3 * This, | ||
| 11988 | _In_ const D3D12_COMMAND_QUEUE_DESC *pDesc, | ||
| 11989 | REFIID riid, | ||
| 11990 | _COM_Outptr_ void **ppCommandQueue); | ||
| 11991 | |||
| 11992 | DECLSPEC_XFGVIRT(ID3D12Device, CreateCommandAllocator) | ||
| 11993 | HRESULT ( STDMETHODCALLTYPE *CreateCommandAllocator )( | ||
| 11994 | ID3D12Device3 * This, | ||
| 11995 | _In_ D3D12_COMMAND_LIST_TYPE type, | ||
| 11996 | REFIID riid, | ||
| 11997 | _COM_Outptr_ void **ppCommandAllocator); | ||
| 11998 | |||
| 11999 | DECLSPEC_XFGVIRT(ID3D12Device, CreateGraphicsPipelineState) | ||
| 12000 | HRESULT ( STDMETHODCALLTYPE *CreateGraphicsPipelineState )( | ||
| 12001 | ID3D12Device3 * This, | ||
| 12002 | _In_ const D3D12_GRAPHICS_PIPELINE_STATE_DESC *pDesc, | ||
| 12003 | REFIID riid, | ||
| 12004 | _COM_Outptr_ void **ppPipelineState); | ||
| 12005 | |||
| 12006 | DECLSPEC_XFGVIRT(ID3D12Device, CreateComputePipelineState) | ||
| 12007 | HRESULT ( STDMETHODCALLTYPE *CreateComputePipelineState )( | ||
| 12008 | ID3D12Device3 * This, | ||
| 12009 | _In_ const D3D12_COMPUTE_PIPELINE_STATE_DESC *pDesc, | ||
| 12010 | REFIID riid, | ||
| 12011 | _COM_Outptr_ void **ppPipelineState); | ||
| 12012 | |||
| 12013 | DECLSPEC_XFGVIRT(ID3D12Device, CreateCommandList) | ||
| 12014 | HRESULT ( STDMETHODCALLTYPE *CreateCommandList )( | ||
| 12015 | ID3D12Device3 * This, | ||
| 12016 | _In_ UINT nodeMask, | ||
| 12017 | _In_ D3D12_COMMAND_LIST_TYPE type, | ||
| 12018 | _In_ ID3D12CommandAllocator *pCommandAllocator, | ||
| 12019 | _In_opt_ ID3D12PipelineState *pInitialState, | ||
| 12020 | REFIID riid, | ||
| 12021 | _COM_Outptr_ void **ppCommandList); | ||
| 12022 | |||
| 12023 | DECLSPEC_XFGVIRT(ID3D12Device, CheckFeatureSupport) | ||
| 12024 | HRESULT ( STDMETHODCALLTYPE *CheckFeatureSupport )( | ||
| 12025 | ID3D12Device3 * This, | ||
| 12026 | D3D12_FEATURE Feature, | ||
| 12027 | _Inout_updates_bytes_(FeatureSupportDataSize) void *pFeatureSupportData, | ||
| 12028 | UINT FeatureSupportDataSize); | ||
| 12029 | |||
| 12030 | DECLSPEC_XFGVIRT(ID3D12Device, CreateDescriptorHeap) | ||
| 12031 | HRESULT ( STDMETHODCALLTYPE *CreateDescriptorHeap )( | ||
| 12032 | ID3D12Device3 * This, | ||
| 12033 | _In_ const D3D12_DESCRIPTOR_HEAP_DESC *pDescriptorHeapDesc, | ||
| 12034 | REFIID riid, | ||
| 12035 | _COM_Outptr_ void **ppvHeap); | ||
| 12036 | |||
| 12037 | DECLSPEC_XFGVIRT(ID3D12Device, GetDescriptorHandleIncrementSize) | ||
| 12038 | UINT ( STDMETHODCALLTYPE *GetDescriptorHandleIncrementSize )( | ||
| 12039 | ID3D12Device3 * This, | ||
| 12040 | _In_ D3D12_DESCRIPTOR_HEAP_TYPE DescriptorHeapType); | ||
| 12041 | |||
| 12042 | DECLSPEC_XFGVIRT(ID3D12Device, CreateRootSignature) | ||
| 12043 | HRESULT ( STDMETHODCALLTYPE *CreateRootSignature )( | ||
| 12044 | ID3D12Device3 * This, | ||
| 12045 | _In_ UINT nodeMask, | ||
| 12046 | _In_reads_(blobLengthInBytes) const void *pBlobWithRootSignature, | ||
| 12047 | _In_ SIZE_T blobLengthInBytes, | ||
| 12048 | REFIID riid, | ||
| 12049 | _COM_Outptr_ void **ppvRootSignature); | ||
| 12050 | |||
| 12051 | DECLSPEC_XFGVIRT(ID3D12Device, CreateConstantBufferView) | ||
| 12052 | void ( STDMETHODCALLTYPE *CreateConstantBufferView )( | ||
| 12053 | ID3D12Device3 * This, | ||
| 12054 | _In_opt_ const D3D12_CONSTANT_BUFFER_VIEW_DESC *pDesc, | ||
| 12055 | _In_ D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor); | ||
| 12056 | |||
| 12057 | DECLSPEC_XFGVIRT(ID3D12Device, CreateShaderResourceView) | ||
| 12058 | void ( STDMETHODCALLTYPE *CreateShaderResourceView )( | ||
| 12059 | ID3D12Device3 * This, | ||
| 12060 | _In_opt_ ID3D12Resource *pResource, | ||
| 12061 | _In_opt_ const D3D12_SHADER_RESOURCE_VIEW_DESC *pDesc, | ||
| 12062 | _In_ D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor); | ||
| 12063 | |||
| 12064 | DECLSPEC_XFGVIRT(ID3D12Device, CreateUnorderedAccessView) | ||
| 12065 | void ( STDMETHODCALLTYPE *CreateUnorderedAccessView )( | ||
| 12066 | ID3D12Device3 * This, | ||
| 12067 | _In_opt_ ID3D12Resource *pResource, | ||
| 12068 | _In_opt_ ID3D12Resource *pCounterResource, | ||
| 12069 | _In_opt_ const D3D12_UNORDERED_ACCESS_VIEW_DESC *pDesc, | ||
| 12070 | _In_ D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor); | ||
| 12071 | |||
| 12072 | DECLSPEC_XFGVIRT(ID3D12Device, CreateRenderTargetView) | ||
| 12073 | void ( STDMETHODCALLTYPE *CreateRenderTargetView )( | ||
| 12074 | ID3D12Device3 * This, | ||
| 12075 | _In_opt_ ID3D12Resource *pResource, | ||
| 12076 | _In_opt_ const D3D12_RENDER_TARGET_VIEW_DESC *pDesc, | ||
| 12077 | _In_ D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor); | ||
| 12078 | |||
| 12079 | DECLSPEC_XFGVIRT(ID3D12Device, CreateDepthStencilView) | ||
| 12080 | void ( STDMETHODCALLTYPE *CreateDepthStencilView )( | ||
| 12081 | ID3D12Device3 * This, | ||
| 12082 | _In_opt_ ID3D12Resource *pResource, | ||
| 12083 | _In_opt_ const D3D12_DEPTH_STENCIL_VIEW_DESC *pDesc, | ||
| 12084 | _In_ D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor); | ||
| 12085 | |||
| 12086 | DECLSPEC_XFGVIRT(ID3D12Device, CreateSampler) | ||
| 12087 | void ( STDMETHODCALLTYPE *CreateSampler )( | ||
| 12088 | ID3D12Device3 * This, | ||
| 12089 | _In_ const D3D12_SAMPLER_DESC *pDesc, | ||
| 12090 | _In_ D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor); | ||
| 12091 | |||
| 12092 | DECLSPEC_XFGVIRT(ID3D12Device, CopyDescriptors) | ||
| 12093 | void ( STDMETHODCALLTYPE *CopyDescriptors )( | ||
| 12094 | ID3D12Device3 * This, | ||
| 12095 | _In_ UINT NumDestDescriptorRanges, | ||
| 12096 | _In_reads_(NumDestDescriptorRanges) const D3D12_CPU_DESCRIPTOR_HANDLE *pDestDescriptorRangeStarts, | ||
| 12097 | _In_reads_opt_(NumDestDescriptorRanges) const UINT *pDestDescriptorRangeSizes, | ||
| 12098 | _In_ UINT NumSrcDescriptorRanges, | ||
| 12099 | _In_reads_(NumSrcDescriptorRanges) const D3D12_CPU_DESCRIPTOR_HANDLE *pSrcDescriptorRangeStarts, | ||
| 12100 | _In_reads_opt_(NumSrcDescriptorRanges) const UINT *pSrcDescriptorRangeSizes, | ||
| 12101 | _In_ D3D12_DESCRIPTOR_HEAP_TYPE DescriptorHeapsType); | ||
| 12102 | |||
| 12103 | DECLSPEC_XFGVIRT(ID3D12Device, CopyDescriptorsSimple) | ||
| 12104 | void ( STDMETHODCALLTYPE *CopyDescriptorsSimple )( | ||
| 12105 | ID3D12Device3 * This, | ||
| 12106 | _In_ UINT NumDescriptors, | ||
| 12107 | _In_ D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptorRangeStart, | ||
| 12108 | _In_ D3D12_CPU_DESCRIPTOR_HANDLE SrcDescriptorRangeStart, | ||
| 12109 | _In_ D3D12_DESCRIPTOR_HEAP_TYPE DescriptorHeapsType); | ||
| 12110 | |||
| 12111 | DECLSPEC_XFGVIRT(ID3D12Device, GetResourceAllocationInfo) | ||
| 12112 | #if !defined(_WIN32) | ||
| 12113 | D3D12_RESOURCE_ALLOCATION_INFO ( STDMETHODCALLTYPE *GetResourceAllocationInfo )( | ||
| 12114 | ID3D12Device3 * This, | ||
| 12115 | _In_ UINT visibleMask, | ||
| 12116 | _In_ UINT numResourceDescs, | ||
| 12117 | _In_reads_(numResourceDescs) const D3D12_RESOURCE_DESC *pResourceDescs); | ||
| 12118 | |||
| 12119 | #else | ||
| 12120 | D3D12_RESOURCE_ALLOCATION_INFO *( STDMETHODCALLTYPE *GetResourceAllocationInfo )( | ||
| 12121 | ID3D12Device3 * This, | ||
| 12122 | D3D12_RESOURCE_ALLOCATION_INFO * RetVal, | ||
| 12123 | _In_ UINT visibleMask, | ||
| 12124 | _In_ UINT numResourceDescs, | ||
| 12125 | _In_reads_(numResourceDescs) const D3D12_RESOURCE_DESC *pResourceDescs); | ||
| 12126 | |||
| 12127 | #endif | ||
| 12128 | |||
| 12129 | DECLSPEC_XFGVIRT(ID3D12Device, GetCustomHeapProperties) | ||
| 12130 | #if !defined(_WIN32) | ||
| 12131 | D3D12_HEAP_PROPERTIES ( STDMETHODCALLTYPE *GetCustomHeapProperties )( | ||
| 12132 | ID3D12Device3 * This, | ||
| 12133 | _In_ UINT nodeMask, | ||
| 12134 | D3D12_HEAP_TYPE heapType); | ||
| 12135 | |||
| 12136 | #else | ||
| 12137 | D3D12_HEAP_PROPERTIES *( STDMETHODCALLTYPE *GetCustomHeapProperties )( | ||
| 12138 | ID3D12Device3 * This, | ||
| 12139 | D3D12_HEAP_PROPERTIES * RetVal, | ||
| 12140 | _In_ UINT nodeMask, | ||
| 12141 | D3D12_HEAP_TYPE heapType); | ||
| 12142 | |||
| 12143 | #endif | ||
| 12144 | |||
| 12145 | DECLSPEC_XFGVIRT(ID3D12Device, CreateCommittedResource) | ||
| 12146 | HRESULT ( STDMETHODCALLTYPE *CreateCommittedResource )( | ||
| 12147 | ID3D12Device3 * This, | ||
| 12148 | _In_ const D3D12_HEAP_PROPERTIES *pHeapProperties, | ||
| 12149 | D3D12_HEAP_FLAGS HeapFlags, | ||
| 12150 | _In_ const D3D12_RESOURCE_DESC *pDesc, | ||
| 12151 | D3D12_RESOURCE_STATES InitialResourceState, | ||
| 12152 | _In_opt_ const D3D12_CLEAR_VALUE *pOptimizedClearValue, | ||
| 12153 | REFIID riidResource, | ||
| 12154 | _COM_Outptr_opt_ void **ppvResource); | ||
| 12155 | |||
| 12156 | DECLSPEC_XFGVIRT(ID3D12Device, CreateHeap) | ||
| 12157 | HRESULT ( STDMETHODCALLTYPE *CreateHeap )( | ||
| 12158 | ID3D12Device3 * This, | ||
| 12159 | _In_ const D3D12_HEAP_DESC *pDesc, | ||
| 12160 | REFIID riid, | ||
| 12161 | _COM_Outptr_opt_ void **ppvHeap); | ||
| 12162 | |||
| 12163 | DECLSPEC_XFGVIRT(ID3D12Device, CreatePlacedResource) | ||
| 12164 | HRESULT ( STDMETHODCALLTYPE *CreatePlacedResource )( | ||
| 12165 | ID3D12Device3 * This, | ||
| 12166 | _In_ ID3D12Heap *pHeap, | ||
| 12167 | UINT64 HeapOffset, | ||
| 12168 | _In_ const D3D12_RESOURCE_DESC *pDesc, | ||
| 12169 | D3D12_RESOURCE_STATES InitialState, | ||
| 12170 | _In_opt_ const D3D12_CLEAR_VALUE *pOptimizedClearValue, | ||
| 12171 | REFIID riid, | ||
| 12172 | _COM_Outptr_opt_ void **ppvResource); | ||
| 12173 | |||
| 12174 | DECLSPEC_XFGVIRT(ID3D12Device, CreateReservedResource) | ||
| 12175 | HRESULT ( STDMETHODCALLTYPE *CreateReservedResource )( | ||
| 12176 | ID3D12Device3 * This, | ||
| 12177 | _In_ const D3D12_RESOURCE_DESC *pDesc, | ||
| 12178 | D3D12_RESOURCE_STATES InitialState, | ||
| 12179 | _In_opt_ const D3D12_CLEAR_VALUE *pOptimizedClearValue, | ||
| 12180 | REFIID riid, | ||
| 12181 | _COM_Outptr_opt_ void **ppvResource); | ||
| 12182 | |||
| 12183 | DECLSPEC_XFGVIRT(ID3D12Device, CreateSharedHandle) | ||
| 12184 | HRESULT ( STDMETHODCALLTYPE *CreateSharedHandle )( | ||
| 12185 | ID3D12Device3 * This, | ||
| 12186 | _In_ ID3D12DeviceChild *pObject, | ||
| 12187 | _In_opt_ const SECURITY_ATTRIBUTES *pAttributes, | ||
| 12188 | DWORD Access, | ||
| 12189 | _In_opt_ LPCWSTR Name, | ||
| 12190 | _Out_ HANDLE *pHandle); | ||
| 12191 | |||
| 12192 | DECLSPEC_XFGVIRT(ID3D12Device, OpenSharedHandle) | ||
| 12193 | HRESULT ( STDMETHODCALLTYPE *OpenSharedHandle )( | ||
| 12194 | ID3D12Device3 * This, | ||
| 12195 | _In_ HANDLE NTHandle, | ||
| 12196 | REFIID riid, | ||
| 12197 | _COM_Outptr_opt_ void **ppvObj); | ||
| 12198 | |||
| 12199 | DECLSPEC_XFGVIRT(ID3D12Device, OpenSharedHandleByName) | ||
| 12200 | HRESULT ( STDMETHODCALLTYPE *OpenSharedHandleByName )( | ||
| 12201 | ID3D12Device3 * This, | ||
| 12202 | _In_ LPCWSTR Name, | ||
| 12203 | DWORD Access, | ||
| 12204 | /* [annotation][out] */ | ||
| 12205 | _Out_ HANDLE *pNTHandle); | ||
| 12206 | |||
| 12207 | DECLSPEC_XFGVIRT(ID3D12Device, MakeResident) | ||
| 12208 | HRESULT ( STDMETHODCALLTYPE *MakeResident )( | ||
| 12209 | ID3D12Device3 * This, | ||
| 12210 | UINT NumObjects, | ||
| 12211 | _In_reads_(NumObjects) ID3D12Pageable *const *ppObjects); | ||
| 12212 | |||
| 12213 | DECLSPEC_XFGVIRT(ID3D12Device, Evict) | ||
| 12214 | HRESULT ( STDMETHODCALLTYPE *Evict )( | ||
| 12215 | ID3D12Device3 * This, | ||
| 12216 | UINT NumObjects, | ||
| 12217 | _In_reads_(NumObjects) ID3D12Pageable *const *ppObjects); | ||
| 12218 | |||
| 12219 | DECLSPEC_XFGVIRT(ID3D12Device, CreateFence) | ||
| 12220 | HRESULT ( STDMETHODCALLTYPE *CreateFence )( | ||
| 12221 | ID3D12Device3 * This, | ||
| 12222 | UINT64 InitialValue, | ||
| 12223 | D3D12_FENCE_FLAGS Flags, | ||
| 12224 | REFIID riid, | ||
| 12225 | _COM_Outptr_ void **ppFence); | ||
| 12226 | |||
| 12227 | DECLSPEC_XFGVIRT(ID3D12Device, GetDeviceRemovedReason) | ||
| 12228 | HRESULT ( STDMETHODCALLTYPE *GetDeviceRemovedReason )( | ||
| 12229 | ID3D12Device3 * This); | ||
| 12230 | |||
| 12231 | DECLSPEC_XFGVIRT(ID3D12Device, GetCopyableFootprints) | ||
| 12232 | void ( STDMETHODCALLTYPE *GetCopyableFootprints )( | ||
| 12233 | ID3D12Device3 * This, | ||
| 12234 | _In_ const D3D12_RESOURCE_DESC *pResourceDesc, | ||
| 12235 | _In_range_(0,D3D12_REQ_SUBRESOURCES) UINT FirstSubresource, | ||
| 12236 | _In_range_(0,D3D12_REQ_SUBRESOURCES-FirstSubresource) UINT NumSubresources, | ||
| 12237 | UINT64 BaseOffset, | ||
| 12238 | _Out_writes_opt_(NumSubresources) D3D12_PLACED_SUBRESOURCE_FOOTPRINT *pLayouts, | ||
| 12239 | _Out_writes_opt_(NumSubresources) UINT *pNumRows, | ||
| 12240 | _Out_writes_opt_(NumSubresources) UINT64 *pRowSizeInBytes, | ||
| 12241 | _Out_opt_ UINT64 *pTotalBytes); | ||
| 12242 | |||
| 12243 | DECLSPEC_XFGVIRT(ID3D12Device, CreateQueryHeap) | ||
| 12244 | HRESULT ( STDMETHODCALLTYPE *CreateQueryHeap )( | ||
| 12245 | ID3D12Device3 * This, | ||
| 12246 | _In_ const D3D12_QUERY_HEAP_DESC *pDesc, | ||
| 12247 | REFIID riid, | ||
| 12248 | _COM_Outptr_opt_ void **ppvHeap); | ||
| 12249 | |||
| 12250 | DECLSPEC_XFGVIRT(ID3D12Device, SetStablePowerState) | ||
| 12251 | HRESULT ( STDMETHODCALLTYPE *SetStablePowerState )( | ||
| 12252 | ID3D12Device3 * This, | ||
| 12253 | BOOL Enable); | ||
| 12254 | |||
| 12255 | DECLSPEC_XFGVIRT(ID3D12Device, CreateCommandSignature) | ||
| 12256 | HRESULT ( STDMETHODCALLTYPE *CreateCommandSignature )( | ||
| 12257 | ID3D12Device3 * This, | ||
| 12258 | _In_ const D3D12_COMMAND_SIGNATURE_DESC *pDesc, | ||
| 12259 | _In_opt_ ID3D12RootSignature *pRootSignature, | ||
| 12260 | REFIID riid, | ||
| 12261 | _COM_Outptr_opt_ void **ppvCommandSignature); | ||
| 12262 | |||
| 12263 | DECLSPEC_XFGVIRT(ID3D12Device, GetResourceTiling) | ||
| 12264 | void ( STDMETHODCALLTYPE *GetResourceTiling )( | ||
| 12265 | ID3D12Device3 * This, | ||
| 12266 | _In_ ID3D12Resource *pTiledResource, | ||
| 12267 | _Out_opt_ UINT *pNumTilesForEntireResource, | ||
| 12268 | _Out_opt_ D3D12_PACKED_MIP_INFO *pPackedMipDesc, | ||
| 12269 | _Out_opt_ D3D12_TILE_SHAPE *pStandardTileShapeForNonPackedMips, | ||
| 12270 | _Inout_opt_ UINT *pNumSubresourceTilings, | ||
| 12271 | _In_ UINT FirstSubresourceTilingToGet, | ||
| 12272 | _Out_writes_(*pNumSubresourceTilings) D3D12_SUBRESOURCE_TILING *pSubresourceTilingsForNonPackedMips); | ||
| 12273 | |||
| 12274 | DECLSPEC_XFGVIRT(ID3D12Device, GetAdapterLuid) | ||
| 12275 | #if !defined(_WIN32) | ||
| 12276 | LUID ( STDMETHODCALLTYPE *GetAdapterLuid )( | ||
| 12277 | ID3D12Device3 * This); | ||
| 12278 | |||
| 12279 | #else | ||
| 12280 | LUID *( STDMETHODCALLTYPE *GetAdapterLuid )( | ||
| 12281 | ID3D12Device3 * This, | ||
| 12282 | LUID * RetVal); | ||
| 12283 | |||
| 12284 | #endif | ||
| 12285 | |||
| 12286 | DECLSPEC_XFGVIRT(ID3D12Device1, CreatePipelineLibrary) | ||
| 12287 | HRESULT ( STDMETHODCALLTYPE *CreatePipelineLibrary )( | ||
| 12288 | ID3D12Device3 * This, | ||
| 12289 | _In_reads_(BlobLength) const void *pLibraryBlob, | ||
| 12290 | SIZE_T BlobLength, | ||
| 12291 | REFIID riid, | ||
| 12292 | _COM_Outptr_ void **ppPipelineLibrary); | ||
| 12293 | |||
| 12294 | DECLSPEC_XFGVIRT(ID3D12Device1, SetEventOnMultipleFenceCompletion) | ||
| 12295 | HRESULT ( STDMETHODCALLTYPE *SetEventOnMultipleFenceCompletion )( | ||
| 12296 | ID3D12Device3 * This, | ||
| 12297 | _In_reads_(NumFences) ID3D12Fence *const *ppFences, | ||
| 12298 | _In_reads_(NumFences) const UINT64 *pFenceValues, | ||
| 12299 | UINT NumFences, | ||
| 12300 | D3D12_MULTIPLE_FENCE_WAIT_FLAGS Flags, | ||
| 12301 | HANDLE hEvent); | ||
| 12302 | |||
| 12303 | DECLSPEC_XFGVIRT(ID3D12Device1, SetResidencyPriority) | ||
| 12304 | HRESULT ( STDMETHODCALLTYPE *SetResidencyPriority )( | ||
| 12305 | ID3D12Device3 * This, | ||
| 12306 | UINT NumObjects, | ||
| 12307 | _In_reads_(NumObjects) ID3D12Pageable *const *ppObjects, | ||
| 12308 | _In_reads_(NumObjects) const D3D12_RESIDENCY_PRIORITY *pPriorities); | ||
| 12309 | |||
| 12310 | DECLSPEC_XFGVIRT(ID3D12Device2, CreatePipelineState) | ||
| 12311 | HRESULT ( STDMETHODCALLTYPE *CreatePipelineState )( | ||
| 12312 | ID3D12Device3 * This, | ||
| 12313 | const D3D12_PIPELINE_STATE_STREAM_DESC *pDesc, | ||
| 12314 | REFIID riid, | ||
| 12315 | _COM_Outptr_ void **ppPipelineState); | ||
| 12316 | |||
| 12317 | DECLSPEC_XFGVIRT(ID3D12Device3, OpenExistingHeapFromAddress) | ||
| 12318 | HRESULT ( STDMETHODCALLTYPE *OpenExistingHeapFromAddress )( | ||
| 12319 | ID3D12Device3 * This, | ||
| 12320 | _In_ const void *pAddress, | ||
| 12321 | REFIID riid, | ||
| 12322 | _COM_Outptr_ void **ppvHeap); | ||
| 12323 | |||
| 12324 | DECLSPEC_XFGVIRT(ID3D12Device3, OpenExistingHeapFromFileMapping) | ||
| 12325 | HRESULT ( STDMETHODCALLTYPE *OpenExistingHeapFromFileMapping )( | ||
| 12326 | ID3D12Device3 * This, | ||
| 12327 | _In_ HANDLE hFileMapping, | ||
| 12328 | REFIID riid, | ||
| 12329 | _COM_Outptr_ void **ppvHeap); | ||
| 12330 | |||
| 12331 | DECLSPEC_XFGVIRT(ID3D12Device3, EnqueueMakeResident) | ||
| 12332 | HRESULT ( STDMETHODCALLTYPE *EnqueueMakeResident )( | ||
| 12333 | ID3D12Device3 * This, | ||
| 12334 | D3D12_RESIDENCY_FLAGS Flags, | ||
| 12335 | UINT NumObjects, | ||
| 12336 | _In_reads_(NumObjects) ID3D12Pageable *const *ppObjects, | ||
| 12337 | _In_ ID3D12Fence *pFenceToSignal, | ||
| 12338 | UINT64 FenceValueToSignal); | ||
| 12339 | |||
| 12340 | END_INTERFACE | ||
| 12341 | } ID3D12Device3Vtbl; | ||
| 12342 | |||
| 12343 | interface ID3D12Device3 | ||
| 12344 | { | ||
| 12345 | CONST_VTBL struct ID3D12Device3Vtbl *lpVtbl; | ||
| 12346 | }; | ||
| 12347 | |||
| 12348 | |||
| 12349 | |||
| 12350 | #ifdef COBJMACROS | ||
| 12351 | |||
| 12352 | |||
| 12353 | #define ID3D12Device3_QueryInterface(This,riid,ppvObject) \ | ||
| 12354 | ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) | ||
| 12355 | |||
| 12356 | #define ID3D12Device3_AddRef(This) \ | ||
| 12357 | ( (This)->lpVtbl -> AddRef(This) ) | ||
| 12358 | |||
| 12359 | #define ID3D12Device3_Release(This) \ | ||
| 12360 | ( (This)->lpVtbl -> Release(This) ) | ||
| 12361 | |||
| 12362 | |||
| 12363 | #define ID3D12Device3_GetPrivateData(This,guid,pDataSize,pData) \ | ||
| 12364 | ( (This)->lpVtbl -> GetPrivateData(This,guid,pDataSize,pData) ) | ||
| 12365 | |||
| 12366 | #define ID3D12Device3_SetPrivateData(This,guid,DataSize,pData) \ | ||
| 12367 | ( (This)->lpVtbl -> SetPrivateData(This,guid,DataSize,pData) ) | ||
| 12368 | |||
| 12369 | #define ID3D12Device3_SetPrivateDataInterface(This,guid,pData) \ | ||
| 12370 | ( (This)->lpVtbl -> SetPrivateDataInterface(This,guid,pData) ) | ||
| 12371 | |||
| 12372 | #define ID3D12Device3_SetName(This,Name) \ | ||
| 12373 | ( (This)->lpVtbl -> SetName(This,Name) ) | ||
| 12374 | |||
| 12375 | |||
| 12376 | #define ID3D12Device3_GetNodeCount(This) \ | ||
| 12377 | ( (This)->lpVtbl -> GetNodeCount(This) ) | ||
| 12378 | |||
| 12379 | #define ID3D12Device3_CreateCommandQueue(This,pDesc,riid,ppCommandQueue) \ | ||
| 12380 | ( (This)->lpVtbl -> CreateCommandQueue(This,pDesc,riid,ppCommandQueue) ) | ||
| 12381 | |||
| 12382 | #define ID3D12Device3_CreateCommandAllocator(This,type,riid,ppCommandAllocator) \ | ||
| 12383 | ( (This)->lpVtbl -> CreateCommandAllocator(This,type,riid,ppCommandAllocator) ) | ||
| 12384 | |||
| 12385 | #define ID3D12Device3_CreateGraphicsPipelineState(This,pDesc,riid,ppPipelineState) \ | ||
| 12386 | ( (This)->lpVtbl -> CreateGraphicsPipelineState(This,pDesc,riid,ppPipelineState) ) | ||
| 12387 | |||
| 12388 | #define ID3D12Device3_CreateComputePipelineState(This,pDesc,riid,ppPipelineState) \ | ||
| 12389 | ( (This)->lpVtbl -> CreateComputePipelineState(This,pDesc,riid,ppPipelineState) ) | ||
| 12390 | |||
| 12391 | #define ID3D12Device3_CreateCommandList(This,nodeMask,type,pCommandAllocator,pInitialState,riid,ppCommandList) \ | ||
| 12392 | ( (This)->lpVtbl -> CreateCommandList(This,nodeMask,type,pCommandAllocator,pInitialState,riid,ppCommandList) ) | ||
| 12393 | |||
| 12394 | #define ID3D12Device3_CheckFeatureSupport(This,Feature,pFeatureSupportData,FeatureSupportDataSize) \ | ||
| 12395 | ( (This)->lpVtbl -> CheckFeatureSupport(This,Feature,pFeatureSupportData,FeatureSupportDataSize) ) | ||
| 12396 | |||
| 12397 | #define ID3D12Device3_CreateDescriptorHeap(This,pDescriptorHeapDesc,riid,ppvHeap) \ | ||
| 12398 | ( (This)->lpVtbl -> CreateDescriptorHeap(This,pDescriptorHeapDesc,riid,ppvHeap) ) | ||
| 12399 | |||
| 12400 | #define ID3D12Device3_GetDescriptorHandleIncrementSize(This,DescriptorHeapType) \ | ||
| 12401 | ( (This)->lpVtbl -> GetDescriptorHandleIncrementSize(This,DescriptorHeapType) ) | ||
| 12402 | |||
| 12403 | #define ID3D12Device3_CreateRootSignature(This,nodeMask,pBlobWithRootSignature,blobLengthInBytes,riid,ppvRootSignature) \ | ||
| 12404 | ( (This)->lpVtbl -> CreateRootSignature(This,nodeMask,pBlobWithRootSignature,blobLengthInBytes,riid,ppvRootSignature) ) | ||
| 12405 | |||
| 12406 | #define ID3D12Device3_CreateConstantBufferView(This,pDesc,DestDescriptor) \ | ||
| 12407 | ( (This)->lpVtbl -> CreateConstantBufferView(This,pDesc,DestDescriptor) ) | ||
| 12408 | |||
| 12409 | #define ID3D12Device3_CreateShaderResourceView(This,pResource,pDesc,DestDescriptor) \ | ||
| 12410 | ( (This)->lpVtbl -> CreateShaderResourceView(This,pResource,pDesc,DestDescriptor) ) | ||
| 12411 | |||
| 12412 | #define ID3D12Device3_CreateUnorderedAccessView(This,pResource,pCounterResource,pDesc,DestDescriptor) \ | ||
| 12413 | ( (This)->lpVtbl -> CreateUnorderedAccessView(This,pResource,pCounterResource,pDesc,DestDescriptor) ) | ||
| 12414 | |||
| 12415 | #define ID3D12Device3_CreateRenderTargetView(This,pResource,pDesc,DestDescriptor) \ | ||
| 12416 | ( (This)->lpVtbl -> CreateRenderTargetView(This,pResource,pDesc,DestDescriptor) ) | ||
| 12417 | |||
| 12418 | #define ID3D12Device3_CreateDepthStencilView(This,pResource,pDesc,DestDescriptor) \ | ||
| 12419 | ( (This)->lpVtbl -> CreateDepthStencilView(This,pResource,pDesc,DestDescriptor) ) | ||
| 12420 | |||
| 12421 | #define ID3D12Device3_CreateSampler(This,pDesc,DestDescriptor) \ | ||
| 12422 | ( (This)->lpVtbl -> CreateSampler(This,pDesc,DestDescriptor) ) | ||
| 12423 | |||
| 12424 | #define ID3D12Device3_CopyDescriptors(This,NumDestDescriptorRanges,pDestDescriptorRangeStarts,pDestDescriptorRangeSizes,NumSrcDescriptorRanges,pSrcDescriptorRangeStarts,pSrcDescriptorRangeSizes,DescriptorHeapsType) \ | ||
| 12425 | ( (This)->lpVtbl -> CopyDescriptors(This,NumDestDescriptorRanges,pDestDescriptorRangeStarts,pDestDescriptorRangeSizes,NumSrcDescriptorRanges,pSrcDescriptorRangeStarts,pSrcDescriptorRangeSizes,DescriptorHeapsType) ) | ||
| 12426 | |||
| 12427 | #define ID3D12Device3_CopyDescriptorsSimple(This,NumDescriptors,DestDescriptorRangeStart,SrcDescriptorRangeStart,DescriptorHeapsType) \ | ||
| 12428 | ( (This)->lpVtbl -> CopyDescriptorsSimple(This,NumDescriptors,DestDescriptorRangeStart,SrcDescriptorRangeStart,DescriptorHeapsType) ) | ||
| 12429 | #if !defined(_WIN32) | ||
| 12430 | |||
| 12431 | #define ID3D12Device3_GetResourceAllocationInfo(This,visibleMask,numResourceDescs,pResourceDescs) \ | ||
| 12432 | ( (This)->lpVtbl -> GetResourceAllocationInfo(This,visibleMask,numResourceDescs,pResourceDescs) ) | ||
| 12433 | #else | ||
| 12434 | #define ID3D12Device3_GetResourceAllocationInfo(This,RetVal,visibleMask,numResourceDescs,pResourceDescs) \ | ||
| 12435 | ( (This)->lpVtbl -> GetResourceAllocationInfo(This,RetVal,visibleMask,numResourceDescs,pResourceDescs) ) | ||
| 12436 | #endif | ||
| 12437 | #if !defined(_WIN32) | ||
| 12438 | |||
| 12439 | #define ID3D12Device3_GetCustomHeapProperties(This,nodeMask,heapType) \ | ||
| 12440 | ( (This)->lpVtbl -> GetCustomHeapProperties(This,nodeMask,heapType) ) | ||
| 12441 | #else | ||
| 12442 | #define ID3D12Device3_GetCustomHeapProperties(This,RetVal,nodeMask,heapType) \ | ||
| 12443 | ( (This)->lpVtbl -> GetCustomHeapProperties(This,RetVal,nodeMask,heapType) ) | ||
| 12444 | #endif | ||
| 12445 | |||
| 12446 | #define ID3D12Device3_CreateCommittedResource(This,pHeapProperties,HeapFlags,pDesc,InitialResourceState,pOptimizedClearValue,riidResource,ppvResource) \ | ||
| 12447 | ( (This)->lpVtbl -> CreateCommittedResource(This,pHeapProperties,HeapFlags,pDesc,InitialResourceState,pOptimizedClearValue,riidResource,ppvResource) ) | ||
| 12448 | |||
| 12449 | #define ID3D12Device3_CreateHeap(This,pDesc,riid,ppvHeap) \ | ||
| 12450 | ( (This)->lpVtbl -> CreateHeap(This,pDesc,riid,ppvHeap) ) | ||
| 12451 | |||
| 12452 | #define ID3D12Device3_CreatePlacedResource(This,pHeap,HeapOffset,pDesc,InitialState,pOptimizedClearValue,riid,ppvResource) \ | ||
| 12453 | ( (This)->lpVtbl -> CreatePlacedResource(This,pHeap,HeapOffset,pDesc,InitialState,pOptimizedClearValue,riid,ppvResource) ) | ||
| 12454 | |||
| 12455 | #define ID3D12Device3_CreateReservedResource(This,pDesc,InitialState,pOptimizedClearValue,riid,ppvResource) \ | ||
| 12456 | ( (This)->lpVtbl -> CreateReservedResource(This,pDesc,InitialState,pOptimizedClearValue,riid,ppvResource) ) | ||
| 12457 | |||
| 12458 | #define ID3D12Device3_CreateSharedHandle(This,pObject,pAttributes,Access,Name,pHandle) \ | ||
| 12459 | ( (This)->lpVtbl -> CreateSharedHandle(This,pObject,pAttributes,Access,Name,pHandle) ) | ||
| 12460 | |||
| 12461 | #define ID3D12Device3_OpenSharedHandle(This,NTHandle,riid,ppvObj) \ | ||
| 12462 | ( (This)->lpVtbl -> OpenSharedHandle(This,NTHandle,riid,ppvObj) ) | ||
| 12463 | |||
| 12464 | #define ID3D12Device3_OpenSharedHandleByName(This,Name,Access,pNTHandle) \ | ||
| 12465 | ( (This)->lpVtbl -> OpenSharedHandleByName(This,Name,Access,pNTHandle) ) | ||
| 12466 | |||
| 12467 | #define ID3D12Device3_MakeResident(This,NumObjects,ppObjects) \ | ||
| 12468 | ( (This)->lpVtbl -> MakeResident(This,NumObjects,ppObjects) ) | ||
| 12469 | |||
| 12470 | #define ID3D12Device3_Evict(This,NumObjects,ppObjects) \ | ||
| 12471 | ( (This)->lpVtbl -> Evict(This,NumObjects,ppObjects) ) | ||
| 12472 | |||
| 12473 | #define ID3D12Device3_CreateFence(This,InitialValue,Flags,riid,ppFence) \ | ||
| 12474 | ( (This)->lpVtbl -> CreateFence(This,InitialValue,Flags,riid,ppFence) ) | ||
| 12475 | |||
| 12476 | #define ID3D12Device3_GetDeviceRemovedReason(This) \ | ||
| 12477 | ( (This)->lpVtbl -> GetDeviceRemovedReason(This) ) | ||
| 12478 | |||
| 12479 | #define ID3D12Device3_GetCopyableFootprints(This,pResourceDesc,FirstSubresource,NumSubresources,BaseOffset,pLayouts,pNumRows,pRowSizeInBytes,pTotalBytes) \ | ||
| 12480 | ( (This)->lpVtbl -> GetCopyableFootprints(This,pResourceDesc,FirstSubresource,NumSubresources,BaseOffset,pLayouts,pNumRows,pRowSizeInBytes,pTotalBytes) ) | ||
| 12481 | |||
| 12482 | #define ID3D12Device3_CreateQueryHeap(This,pDesc,riid,ppvHeap) \ | ||
| 12483 | ( (This)->lpVtbl -> CreateQueryHeap(This,pDesc,riid,ppvHeap) ) | ||
| 12484 | |||
| 12485 | #define ID3D12Device3_SetStablePowerState(This,Enable) \ | ||
| 12486 | ( (This)->lpVtbl -> SetStablePowerState(This,Enable) ) | ||
| 12487 | |||
| 12488 | #define ID3D12Device3_CreateCommandSignature(This,pDesc,pRootSignature,riid,ppvCommandSignature) \ | ||
| 12489 | ( (This)->lpVtbl -> CreateCommandSignature(This,pDesc,pRootSignature,riid,ppvCommandSignature) ) | ||
| 12490 | |||
| 12491 | #define ID3D12Device3_GetResourceTiling(This,pTiledResource,pNumTilesForEntireResource,pPackedMipDesc,pStandardTileShapeForNonPackedMips,pNumSubresourceTilings,FirstSubresourceTilingToGet,pSubresourceTilingsForNonPackedMips) \ | ||
| 12492 | ( (This)->lpVtbl -> GetResourceTiling(This,pTiledResource,pNumTilesForEntireResource,pPackedMipDesc,pStandardTileShapeForNonPackedMips,pNumSubresourceTilings,FirstSubresourceTilingToGet,pSubresourceTilingsForNonPackedMips) ) | ||
| 12493 | #if !defined(_WIN32) | ||
| 12494 | |||
| 12495 | #define ID3D12Device3_GetAdapterLuid(This) \ | ||
| 12496 | ( (This)->lpVtbl -> GetAdapterLuid(This) ) | ||
| 12497 | #else | ||
| 12498 | #define ID3D12Device3_GetAdapterLuid(This,RetVal) \ | ||
| 12499 | ( (This)->lpVtbl -> GetAdapterLuid(This,RetVal) ) | ||
| 12500 | #endif | ||
| 12501 | |||
| 12502 | |||
| 12503 | #define ID3D12Device3_CreatePipelineLibrary(This,pLibraryBlob,BlobLength,riid,ppPipelineLibrary) \ | ||
| 12504 | ( (This)->lpVtbl -> CreatePipelineLibrary(This,pLibraryBlob,BlobLength,riid,ppPipelineLibrary) ) | ||
| 12505 | |||
| 12506 | #define ID3D12Device3_SetEventOnMultipleFenceCompletion(This,ppFences,pFenceValues,NumFences,Flags,hEvent) \ | ||
| 12507 | ( (This)->lpVtbl -> SetEventOnMultipleFenceCompletion(This,ppFences,pFenceValues,NumFences,Flags,hEvent) ) | ||
| 12508 | |||
| 12509 | #define ID3D12Device3_SetResidencyPriority(This,NumObjects,ppObjects,pPriorities) \ | ||
| 12510 | ( (This)->lpVtbl -> SetResidencyPriority(This,NumObjects,ppObjects,pPriorities) ) | ||
| 12511 | |||
| 12512 | |||
| 12513 | #define ID3D12Device3_CreatePipelineState(This,pDesc,riid,ppPipelineState) \ | ||
| 12514 | ( (This)->lpVtbl -> CreatePipelineState(This,pDesc,riid,ppPipelineState) ) | ||
| 12515 | |||
| 12516 | |||
| 12517 | #define ID3D12Device3_OpenExistingHeapFromAddress(This,pAddress,riid,ppvHeap) \ | ||
| 12518 | ( (This)->lpVtbl -> OpenExistingHeapFromAddress(This,pAddress,riid,ppvHeap) ) | ||
| 12519 | |||
| 12520 | #define ID3D12Device3_OpenExistingHeapFromFileMapping(This,hFileMapping,riid,ppvHeap) \ | ||
| 12521 | ( (This)->lpVtbl -> OpenExistingHeapFromFileMapping(This,hFileMapping,riid,ppvHeap) ) | ||
| 12522 | |||
| 12523 | #define ID3D12Device3_EnqueueMakeResident(This,Flags,NumObjects,ppObjects,pFenceToSignal,FenceValueToSignal) \ | ||
| 12524 | ( (This)->lpVtbl -> EnqueueMakeResident(This,Flags,NumObjects,ppObjects,pFenceToSignal,FenceValueToSignal) ) | ||
| 12525 | |||
| 12526 | #endif /* COBJMACROS */ | ||
| 12527 | |||
| 12528 | |||
| 12529 | #endif /* C style interface */ | ||
| 12530 | |||
| 12531 | |||
| 12532 | |||
| 12533 | |||
| 12534 | #endif /* __ID3D12Device3_INTERFACE_DEFINED__ */ | ||
| 12535 | |||
| 12536 | |||
| 12537 | /* interface __MIDL_itf_d3d12_0000_0028 */ | ||
| 12538 | /* [local] */ | ||
| 12539 | |||
| 12540 | typedef | ||
| 12541 | enum D3D12_COMMAND_LIST_FLAGS | ||
| 12542 | { | ||
| 12543 | D3D12_COMMAND_LIST_FLAG_NONE = 0 | ||
| 12544 | } D3D12_COMMAND_LIST_FLAGS; | ||
| 12545 | |||
| 12546 | DEFINE_ENUM_FLAG_OPERATORS( D3D12_COMMAND_LIST_FLAGS ) | ||
| 12547 | typedef | ||
| 12548 | enum D3D12_COMMAND_POOL_FLAGS | ||
| 12549 | { | ||
| 12550 | D3D12_COMMAND_POOL_FLAG_NONE = 0 | ||
| 12551 | } D3D12_COMMAND_POOL_FLAGS; | ||
| 12552 | |||
| 12553 | DEFINE_ENUM_FLAG_OPERATORS( D3D12_COMMAND_POOL_FLAGS ) | ||
| 12554 | typedef | ||
| 12555 | enum D3D12_COMMAND_RECORDER_FLAGS | ||
| 12556 | { | ||
| 12557 | D3D12_COMMAND_RECORDER_FLAG_NONE = 0 | ||
| 12558 | } D3D12_COMMAND_RECORDER_FLAGS; | ||
| 12559 | |||
| 12560 | DEFINE_ENUM_FLAG_OPERATORS( D3D12_COMMAND_RECORDER_FLAGS ) | ||
| 12561 | typedef | ||
| 12562 | enum D3D12_PROTECTED_SESSION_STATUS | ||
| 12563 | { | ||
| 12564 | D3D12_PROTECTED_SESSION_STATUS_OK = 0, | ||
| 12565 | D3D12_PROTECTED_SESSION_STATUS_INVALID = 1 | ||
| 12566 | } D3D12_PROTECTED_SESSION_STATUS; | ||
| 12567 | |||
| 12568 | |||
| 12569 | |||
| 12570 | extern RPC_IF_HANDLE __MIDL_itf_d3d12_0000_0028_v0_0_c_ifspec; | ||
| 12571 | extern RPC_IF_HANDLE __MIDL_itf_d3d12_0000_0028_v0_0_s_ifspec; | ||
| 12572 | |||
| 12573 | #ifndef __ID3D12ProtectedSession_INTERFACE_DEFINED__ | ||
| 12574 | #define __ID3D12ProtectedSession_INTERFACE_DEFINED__ | ||
| 12575 | |||
| 12576 | /* interface ID3D12ProtectedSession */ | ||
| 12577 | /* [unique][local][object][uuid] */ | ||
| 12578 | |||
| 12579 | |||
| 12580 | EXTERN_C const IID IID_ID3D12ProtectedSession; | ||
| 12581 | |||
| 12582 | #if defined(__cplusplus) && !defined(CINTERFACE) | ||
| 12583 | |||
| 12584 | MIDL_INTERFACE("A1533D18-0AC1-4084-85B9-89A96116806B") | ||
| 12585 | ID3D12ProtectedSession : public ID3D12DeviceChild | ||
| 12586 | { | ||
| 12587 | public: | ||
| 12588 | virtual HRESULT STDMETHODCALLTYPE GetStatusFence( | ||
| 12589 | REFIID riid, | ||
| 12590 | _COM_Outptr_opt_ void **ppFence) = 0; | ||
| 12591 | |||
| 12592 | virtual D3D12_PROTECTED_SESSION_STATUS STDMETHODCALLTYPE GetSessionStatus( void) = 0; | ||
| 12593 | |||
| 12594 | }; | ||
| 12595 | |||
| 12596 | |||
| 12597 | #else /* C style interface */ | ||
| 12598 | |||
| 12599 | typedef struct ID3D12ProtectedSessionVtbl | ||
| 12600 | { | ||
| 12601 | BEGIN_INTERFACE | ||
| 12602 | |||
| 12603 | DECLSPEC_XFGVIRT(IUnknown, QueryInterface) | ||
| 12604 | HRESULT ( STDMETHODCALLTYPE *QueryInterface )( | ||
| 12605 | ID3D12ProtectedSession * This, | ||
| 12606 | REFIID riid, | ||
| 12607 | _COM_Outptr_ void **ppvObject); | ||
| 12608 | |||
| 12609 | DECLSPEC_XFGVIRT(IUnknown, AddRef) | ||
| 12610 | ULONG ( STDMETHODCALLTYPE *AddRef )( | ||
| 12611 | ID3D12ProtectedSession * This); | ||
| 12612 | |||
| 12613 | DECLSPEC_XFGVIRT(IUnknown, Release) | ||
| 12614 | ULONG ( STDMETHODCALLTYPE *Release )( | ||
| 12615 | ID3D12ProtectedSession * This); | ||
| 12616 | |||
| 12617 | DECLSPEC_XFGVIRT(ID3D12Object, GetPrivateData) | ||
| 12618 | HRESULT ( STDMETHODCALLTYPE *GetPrivateData )( | ||
| 12619 | ID3D12ProtectedSession * This, | ||
| 12620 | _In_ REFGUID guid, | ||
| 12621 | _Inout_ UINT *pDataSize, | ||
| 12622 | _Out_writes_bytes_opt_( *pDataSize ) void *pData); | ||
| 12623 | |||
| 12624 | DECLSPEC_XFGVIRT(ID3D12Object, SetPrivateData) | ||
| 12625 | HRESULT ( STDMETHODCALLTYPE *SetPrivateData )( | ||
| 12626 | ID3D12ProtectedSession * This, | ||
| 12627 | _In_ REFGUID guid, | ||
| 12628 | _In_ UINT DataSize, | ||
| 12629 | _In_reads_bytes_opt_( DataSize ) const void *pData); | ||
| 12630 | |||
| 12631 | DECLSPEC_XFGVIRT(ID3D12Object, SetPrivateDataInterface) | ||
| 12632 | HRESULT ( STDMETHODCALLTYPE *SetPrivateDataInterface )( | ||
| 12633 | ID3D12ProtectedSession * This, | ||
| 12634 | _In_ REFGUID guid, | ||
| 12635 | _In_opt_ const IUnknown *pData); | ||
| 12636 | |||
| 12637 | DECLSPEC_XFGVIRT(ID3D12Object, SetName) | ||
| 12638 | HRESULT ( STDMETHODCALLTYPE *SetName )( | ||
| 12639 | ID3D12ProtectedSession * This, | ||
| 12640 | _In_z_ LPCWSTR Name); | ||
| 12641 | |||
| 12642 | DECLSPEC_XFGVIRT(ID3D12DeviceChild, GetDevice) | ||
| 12643 | HRESULT ( STDMETHODCALLTYPE *GetDevice )( | ||
| 12644 | ID3D12ProtectedSession * This, | ||
| 12645 | REFIID riid, | ||
| 12646 | _COM_Outptr_opt_ void **ppvDevice); | ||
| 12647 | |||
| 12648 | DECLSPEC_XFGVIRT(ID3D12ProtectedSession, GetStatusFence) | ||
| 12649 | HRESULT ( STDMETHODCALLTYPE *GetStatusFence )( | ||
| 12650 | ID3D12ProtectedSession * This, | ||
| 12651 | REFIID riid, | ||
| 12652 | _COM_Outptr_opt_ void **ppFence); | ||
| 12653 | |||
| 12654 | DECLSPEC_XFGVIRT(ID3D12ProtectedSession, GetSessionStatus) | ||
| 12655 | D3D12_PROTECTED_SESSION_STATUS ( STDMETHODCALLTYPE *GetSessionStatus )( | ||
| 12656 | ID3D12ProtectedSession * This); | ||
| 12657 | |||
| 12658 | END_INTERFACE | ||
| 12659 | } ID3D12ProtectedSessionVtbl; | ||
| 12660 | |||
| 12661 | interface ID3D12ProtectedSession | ||
| 12662 | { | ||
| 12663 | CONST_VTBL struct ID3D12ProtectedSessionVtbl *lpVtbl; | ||
| 12664 | }; | ||
| 12665 | |||
| 12666 | |||
| 12667 | |||
| 12668 | #ifdef COBJMACROS | ||
| 12669 | |||
| 12670 | |||
| 12671 | #define ID3D12ProtectedSession_QueryInterface(This,riid,ppvObject) \ | ||
| 12672 | ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) | ||
| 12673 | |||
| 12674 | #define ID3D12ProtectedSession_AddRef(This) \ | ||
| 12675 | ( (This)->lpVtbl -> AddRef(This) ) | ||
| 12676 | |||
| 12677 | #define ID3D12ProtectedSession_Release(This) \ | ||
| 12678 | ( (This)->lpVtbl -> Release(This) ) | ||
| 12679 | |||
| 12680 | |||
| 12681 | #define ID3D12ProtectedSession_GetPrivateData(This,guid,pDataSize,pData) \ | ||
| 12682 | ( (This)->lpVtbl -> GetPrivateData(This,guid,pDataSize,pData) ) | ||
| 12683 | |||
| 12684 | #define ID3D12ProtectedSession_SetPrivateData(This,guid,DataSize,pData) \ | ||
| 12685 | ( (This)->lpVtbl -> SetPrivateData(This,guid,DataSize,pData) ) | ||
| 12686 | |||
| 12687 | #define ID3D12ProtectedSession_SetPrivateDataInterface(This,guid,pData) \ | ||
| 12688 | ( (This)->lpVtbl -> SetPrivateDataInterface(This,guid,pData) ) | ||
| 12689 | |||
| 12690 | #define ID3D12ProtectedSession_SetName(This,Name) \ | ||
| 12691 | ( (This)->lpVtbl -> SetName(This,Name) ) | ||
| 12692 | |||
| 12693 | |||
| 12694 | #define ID3D12ProtectedSession_GetDevice(This,riid,ppvDevice) \ | ||
| 12695 | ( (This)->lpVtbl -> GetDevice(This,riid,ppvDevice) ) | ||
| 12696 | |||
| 12697 | |||
| 12698 | #define ID3D12ProtectedSession_GetStatusFence(This,riid,ppFence) \ | ||
| 12699 | ( (This)->lpVtbl -> GetStatusFence(This,riid,ppFence) ) | ||
| 12700 | |||
| 12701 | #define ID3D12ProtectedSession_GetSessionStatus(This) \ | ||
| 12702 | ( (This)->lpVtbl -> GetSessionStatus(This) ) | ||
| 12703 | |||
| 12704 | #endif /* COBJMACROS */ | ||
| 12705 | |||
| 12706 | |||
| 12707 | #endif /* C style interface */ | ||
| 12708 | |||
| 12709 | |||
| 12710 | |||
| 12711 | |||
| 12712 | #endif /* __ID3D12ProtectedSession_INTERFACE_DEFINED__ */ | ||
| 12713 | |||
| 12714 | |||
| 12715 | /* interface __MIDL_itf_d3d12_0000_0029 */ | ||
| 12716 | /* [local] */ | ||
| 12717 | |||
| 12718 | typedef | ||
| 12719 | enum D3D12_PROTECTED_RESOURCE_SESSION_SUPPORT_FLAGS | ||
| 12720 | { | ||
| 12721 | D3D12_PROTECTED_RESOURCE_SESSION_SUPPORT_FLAG_NONE = 0, | ||
| 12722 | D3D12_PROTECTED_RESOURCE_SESSION_SUPPORT_FLAG_SUPPORTED = 0x1 | ||
| 12723 | } D3D12_PROTECTED_RESOURCE_SESSION_SUPPORT_FLAGS; | ||
| 12724 | |||
| 12725 | DEFINE_ENUM_FLAG_OPERATORS( D3D12_PROTECTED_RESOURCE_SESSION_SUPPORT_FLAGS ) | ||
| 12726 | typedef struct D3D12_FEATURE_DATA_PROTECTED_RESOURCE_SESSION_SUPPORT | ||
| 12727 | { | ||
| 12728 | UINT NodeIndex; | ||
| 12729 | D3D12_PROTECTED_RESOURCE_SESSION_SUPPORT_FLAGS Support; | ||
| 12730 | } D3D12_FEATURE_DATA_PROTECTED_RESOURCE_SESSION_SUPPORT; | ||
| 12731 | |||
| 12732 | typedef | ||
| 12733 | enum D3D12_PROTECTED_RESOURCE_SESSION_FLAGS | ||
| 12734 | { | ||
| 12735 | D3D12_PROTECTED_RESOURCE_SESSION_FLAG_NONE = 0 | ||
| 12736 | } D3D12_PROTECTED_RESOURCE_SESSION_FLAGS; | ||
| 12737 | |||
| 12738 | DEFINE_ENUM_FLAG_OPERATORS( D3D12_PROTECTED_RESOURCE_SESSION_FLAGS ) | ||
| 12739 | typedef struct D3D12_PROTECTED_RESOURCE_SESSION_DESC | ||
| 12740 | { | ||
| 12741 | UINT NodeMask; | ||
| 12742 | D3D12_PROTECTED_RESOURCE_SESSION_FLAGS Flags; | ||
| 12743 | } D3D12_PROTECTED_RESOURCE_SESSION_DESC; | ||
| 12744 | |||
| 12745 | |||
| 12746 | |||
| 12747 | extern RPC_IF_HANDLE __MIDL_itf_d3d12_0000_0029_v0_0_c_ifspec; | ||
| 12748 | extern RPC_IF_HANDLE __MIDL_itf_d3d12_0000_0029_v0_0_s_ifspec; | ||
| 12749 | |||
| 12750 | #ifndef __ID3D12ProtectedResourceSession_INTERFACE_DEFINED__ | ||
| 12751 | #define __ID3D12ProtectedResourceSession_INTERFACE_DEFINED__ | ||
| 12752 | |||
| 12753 | /* interface ID3D12ProtectedResourceSession */ | ||
| 12754 | /* [unique][local][object][uuid] */ | ||
| 12755 | |||
| 12756 | |||
| 12757 | EXTERN_C const IID IID_ID3D12ProtectedResourceSession; | ||
| 12758 | |||
| 12759 | #if defined(__cplusplus) && !defined(CINTERFACE) | ||
| 12760 | |||
| 12761 | MIDL_INTERFACE("6CD696F4-F289-40CC-8091-5A6C0A099C3D") | ||
| 12762 | ID3D12ProtectedResourceSession : public ID3D12ProtectedSession | ||
| 12763 | { | ||
| 12764 | public: | ||
| 12765 | #if defined(_MSC_VER) || !defined(_WIN32) | ||
| 12766 | virtual D3D12_PROTECTED_RESOURCE_SESSION_DESC STDMETHODCALLTYPE GetDesc( void) = 0; | ||
| 12767 | #else | ||
| 12768 | virtual D3D12_PROTECTED_RESOURCE_SESSION_DESC *STDMETHODCALLTYPE GetDesc( | ||
| 12769 | D3D12_PROTECTED_RESOURCE_SESSION_DESC * RetVal) = 0; | ||
| 12770 | #endif | ||
| 12771 | |||
| 12772 | }; | ||
| 12773 | |||
| 12774 | |||
| 12775 | #else /* C style interface */ | ||
| 12776 | |||
| 12777 | typedef struct ID3D12ProtectedResourceSessionVtbl | ||
| 12778 | { | ||
| 12779 | BEGIN_INTERFACE | ||
| 12780 | |||
| 12781 | DECLSPEC_XFGVIRT(IUnknown, QueryInterface) | ||
| 12782 | HRESULT ( STDMETHODCALLTYPE *QueryInterface )( | ||
| 12783 | ID3D12ProtectedResourceSession * This, | ||
| 12784 | REFIID riid, | ||
| 12785 | _COM_Outptr_ void **ppvObject); | ||
| 12786 | |||
| 12787 | DECLSPEC_XFGVIRT(IUnknown, AddRef) | ||
| 12788 | ULONG ( STDMETHODCALLTYPE *AddRef )( | ||
| 12789 | ID3D12ProtectedResourceSession * This); | ||
| 12790 | |||
| 12791 | DECLSPEC_XFGVIRT(IUnknown, Release) | ||
| 12792 | ULONG ( STDMETHODCALLTYPE *Release )( | ||
| 12793 | ID3D12ProtectedResourceSession * This); | ||
| 12794 | |||
| 12795 | DECLSPEC_XFGVIRT(ID3D12Object, GetPrivateData) | ||
| 12796 | HRESULT ( STDMETHODCALLTYPE *GetPrivateData )( | ||
| 12797 | ID3D12ProtectedResourceSession * This, | ||
| 12798 | _In_ REFGUID guid, | ||
| 12799 | _Inout_ UINT *pDataSize, | ||
| 12800 | _Out_writes_bytes_opt_( *pDataSize ) void *pData); | ||
| 12801 | |||
| 12802 | DECLSPEC_XFGVIRT(ID3D12Object, SetPrivateData) | ||
| 12803 | HRESULT ( STDMETHODCALLTYPE *SetPrivateData )( | ||
| 12804 | ID3D12ProtectedResourceSession * This, | ||
| 12805 | _In_ REFGUID guid, | ||
| 12806 | _In_ UINT DataSize, | ||
| 12807 | _In_reads_bytes_opt_( DataSize ) const void *pData); | ||
| 12808 | |||
| 12809 | DECLSPEC_XFGVIRT(ID3D12Object, SetPrivateDataInterface) | ||
| 12810 | HRESULT ( STDMETHODCALLTYPE *SetPrivateDataInterface )( | ||
| 12811 | ID3D12ProtectedResourceSession * This, | ||
| 12812 | _In_ REFGUID guid, | ||
| 12813 | _In_opt_ const IUnknown *pData); | ||
| 12814 | |||
| 12815 | DECLSPEC_XFGVIRT(ID3D12Object, SetName) | ||
| 12816 | HRESULT ( STDMETHODCALLTYPE *SetName )( | ||
| 12817 | ID3D12ProtectedResourceSession * This, | ||
| 12818 | _In_z_ LPCWSTR Name); | ||
| 12819 | |||
| 12820 | DECLSPEC_XFGVIRT(ID3D12DeviceChild, GetDevice) | ||
| 12821 | HRESULT ( STDMETHODCALLTYPE *GetDevice )( | ||
| 12822 | ID3D12ProtectedResourceSession * This, | ||
| 12823 | REFIID riid, | ||
| 12824 | _COM_Outptr_opt_ void **ppvDevice); | ||
| 12825 | |||
| 12826 | DECLSPEC_XFGVIRT(ID3D12ProtectedSession, GetStatusFence) | ||
| 12827 | HRESULT ( STDMETHODCALLTYPE *GetStatusFence )( | ||
| 12828 | ID3D12ProtectedResourceSession * This, | ||
| 12829 | REFIID riid, | ||
| 12830 | _COM_Outptr_opt_ void **ppFence); | ||
| 12831 | |||
| 12832 | DECLSPEC_XFGVIRT(ID3D12ProtectedSession, GetSessionStatus) | ||
| 12833 | D3D12_PROTECTED_SESSION_STATUS ( STDMETHODCALLTYPE *GetSessionStatus )( | ||
| 12834 | ID3D12ProtectedResourceSession * This); | ||
| 12835 | |||
| 12836 | DECLSPEC_XFGVIRT(ID3D12ProtectedResourceSession, GetDesc) | ||
| 12837 | #if !defined(_WIN32) | ||
| 12838 | D3D12_PROTECTED_RESOURCE_SESSION_DESC ( STDMETHODCALLTYPE *GetDesc )( | ||
| 12839 | ID3D12ProtectedResourceSession * This); | ||
| 12840 | |||
| 12841 | #else | ||
| 12842 | D3D12_PROTECTED_RESOURCE_SESSION_DESC *( STDMETHODCALLTYPE *GetDesc )( | ||
| 12843 | ID3D12ProtectedResourceSession * This, | ||
| 12844 | D3D12_PROTECTED_RESOURCE_SESSION_DESC * RetVal); | ||
| 12845 | |||
| 12846 | #endif | ||
| 12847 | |||
| 12848 | END_INTERFACE | ||
| 12849 | } ID3D12ProtectedResourceSessionVtbl; | ||
| 12850 | |||
| 12851 | interface ID3D12ProtectedResourceSession | ||
| 12852 | { | ||
| 12853 | CONST_VTBL struct ID3D12ProtectedResourceSessionVtbl *lpVtbl; | ||
| 12854 | }; | ||
| 12855 | |||
| 12856 | |||
| 12857 | |||
| 12858 | #ifdef COBJMACROS | ||
| 12859 | |||
| 12860 | |||
| 12861 | #define ID3D12ProtectedResourceSession_QueryInterface(This,riid,ppvObject) \ | ||
| 12862 | ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) | ||
| 12863 | |||
| 12864 | #define ID3D12ProtectedResourceSession_AddRef(This) \ | ||
| 12865 | ( (This)->lpVtbl -> AddRef(This) ) | ||
| 12866 | |||
| 12867 | #define ID3D12ProtectedResourceSession_Release(This) \ | ||
| 12868 | ( (This)->lpVtbl -> Release(This) ) | ||
| 12869 | |||
| 12870 | |||
| 12871 | #define ID3D12ProtectedResourceSession_GetPrivateData(This,guid,pDataSize,pData) \ | ||
| 12872 | ( (This)->lpVtbl -> GetPrivateData(This,guid,pDataSize,pData) ) | ||
| 12873 | |||
| 12874 | #define ID3D12ProtectedResourceSession_SetPrivateData(This,guid,DataSize,pData) \ | ||
| 12875 | ( (This)->lpVtbl -> SetPrivateData(This,guid,DataSize,pData) ) | ||
| 12876 | |||
| 12877 | #define ID3D12ProtectedResourceSession_SetPrivateDataInterface(This,guid,pData) \ | ||
| 12878 | ( (This)->lpVtbl -> SetPrivateDataInterface(This,guid,pData) ) | ||
| 12879 | |||
| 12880 | #define ID3D12ProtectedResourceSession_SetName(This,Name) \ | ||
| 12881 | ( (This)->lpVtbl -> SetName(This,Name) ) | ||
| 12882 | |||
| 12883 | |||
| 12884 | #define ID3D12ProtectedResourceSession_GetDevice(This,riid,ppvDevice) \ | ||
| 12885 | ( (This)->lpVtbl -> GetDevice(This,riid,ppvDevice) ) | ||
| 12886 | |||
| 12887 | |||
| 12888 | #define ID3D12ProtectedResourceSession_GetStatusFence(This,riid,ppFence) \ | ||
| 12889 | ( (This)->lpVtbl -> GetStatusFence(This,riid,ppFence) ) | ||
| 12890 | |||
| 12891 | #define ID3D12ProtectedResourceSession_GetSessionStatus(This) \ | ||
| 12892 | ( (This)->lpVtbl -> GetSessionStatus(This) ) | ||
| 12893 | |||
| 12894 | #if !defined(_WIN32) | ||
| 12895 | |||
| 12896 | #define ID3D12ProtectedResourceSession_GetDesc(This) \ | ||
| 12897 | ( (This)->lpVtbl -> GetDesc(This) ) | ||
| 12898 | #else | ||
| 12899 | #define ID3D12ProtectedResourceSession_GetDesc(This,RetVal) \ | ||
| 12900 | ( (This)->lpVtbl -> GetDesc(This,RetVal) ) | ||
| 12901 | #endif | ||
| 12902 | |||
| 12903 | #endif /* COBJMACROS */ | ||
| 12904 | |||
| 12905 | |||
| 12906 | #endif /* C style interface */ | ||
| 12907 | |||
| 12908 | |||
| 12909 | |||
| 12910 | |||
| 12911 | #endif /* __ID3D12ProtectedResourceSession_INTERFACE_DEFINED__ */ | ||
| 12912 | |||
| 12913 | |||
| 12914 | #ifndef __ID3D12Device4_INTERFACE_DEFINED__ | ||
| 12915 | #define __ID3D12Device4_INTERFACE_DEFINED__ | ||
| 12916 | |||
| 12917 | /* interface ID3D12Device4 */ | ||
| 12918 | /* [unique][local][object][uuid] */ | ||
| 12919 | |||
| 12920 | |||
| 12921 | EXTERN_C const IID IID_ID3D12Device4; | ||
| 12922 | |||
| 12923 | #if defined(__cplusplus) && !defined(CINTERFACE) | ||
| 12924 | |||
| 12925 | MIDL_INTERFACE("e865df17-a9ee-46f9-a463-3098315aa2e5") | ||
| 12926 | ID3D12Device4 : public ID3D12Device3 | ||
| 12927 | { | ||
| 12928 | public: | ||
| 12929 | virtual HRESULT STDMETHODCALLTYPE CreateCommandList1( | ||
| 12930 | _In_ UINT nodeMask, | ||
| 12931 | _In_ D3D12_COMMAND_LIST_TYPE type, | ||
| 12932 | _In_ D3D12_COMMAND_LIST_FLAGS flags, | ||
| 12933 | REFIID riid, | ||
| 12934 | _COM_Outptr_ void **ppCommandList) = 0; | ||
| 12935 | |||
| 12936 | virtual HRESULT STDMETHODCALLTYPE CreateProtectedResourceSession( | ||
| 12937 | _In_ const D3D12_PROTECTED_RESOURCE_SESSION_DESC *pDesc, | ||
| 12938 | _In_ REFIID riid, | ||
| 12939 | _COM_Outptr_ void **ppSession) = 0; | ||
| 12940 | |||
| 12941 | virtual HRESULT STDMETHODCALLTYPE CreateCommittedResource1( | ||
| 12942 | _In_ const D3D12_HEAP_PROPERTIES *pHeapProperties, | ||
| 12943 | D3D12_HEAP_FLAGS HeapFlags, | ||
| 12944 | _In_ const D3D12_RESOURCE_DESC *pDesc, | ||
| 12945 | D3D12_RESOURCE_STATES InitialResourceState, | ||
| 12946 | _In_opt_ const D3D12_CLEAR_VALUE *pOptimizedClearValue, | ||
| 12947 | _In_opt_ ID3D12ProtectedResourceSession *pProtectedSession, | ||
| 12948 | REFIID riidResource, | ||
| 12949 | _COM_Outptr_opt_ void **ppvResource) = 0; | ||
| 12950 | |||
| 12951 | virtual HRESULT STDMETHODCALLTYPE CreateHeap1( | ||
| 12952 | _In_ const D3D12_HEAP_DESC *pDesc, | ||
| 12953 | _In_opt_ ID3D12ProtectedResourceSession *pProtectedSession, | ||
| 12954 | REFIID riid, | ||
| 12955 | _COM_Outptr_opt_ void **ppvHeap) = 0; | ||
| 12956 | |||
| 12957 | virtual HRESULT STDMETHODCALLTYPE CreateReservedResource1( | ||
| 12958 | _In_ const D3D12_RESOURCE_DESC *pDesc, | ||
| 12959 | D3D12_RESOURCE_STATES InitialState, | ||
| 12960 | _In_opt_ const D3D12_CLEAR_VALUE *pOptimizedClearValue, | ||
| 12961 | _In_opt_ ID3D12ProtectedResourceSession *pProtectedSession, | ||
| 12962 | REFIID riid, | ||
| 12963 | _COM_Outptr_opt_ void **ppvResource) = 0; | ||
| 12964 | |||
| 12965 | #if defined(_MSC_VER) || !defined(_WIN32) | ||
| 12966 | virtual D3D12_RESOURCE_ALLOCATION_INFO STDMETHODCALLTYPE GetResourceAllocationInfo1( | ||
| 12967 | UINT visibleMask, | ||
| 12968 | UINT numResourceDescs, | ||
| 12969 | _In_reads_(numResourceDescs) const D3D12_RESOURCE_DESC *pResourceDescs, | ||
| 12970 | _Out_writes_opt_(numResourceDescs) D3D12_RESOURCE_ALLOCATION_INFO1 *pResourceAllocationInfo1) = 0; | ||
| 12971 | #else | ||
| 12972 | virtual D3D12_RESOURCE_ALLOCATION_INFO *STDMETHODCALLTYPE GetResourceAllocationInfo1( | ||
| 12973 | D3D12_RESOURCE_ALLOCATION_INFO * RetVal, | ||
| 12974 | UINT visibleMask, | ||
| 12975 | UINT numResourceDescs, | ||
| 12976 | _In_reads_(numResourceDescs) const D3D12_RESOURCE_DESC *pResourceDescs, | ||
| 12977 | _Out_writes_opt_(numResourceDescs) D3D12_RESOURCE_ALLOCATION_INFO1 *pResourceAllocationInfo1) = 0; | ||
| 12978 | #endif | ||
| 12979 | |||
| 12980 | }; | ||
| 12981 | |||
| 12982 | |||
| 12983 | #else /* C style interface */ | ||
| 12984 | |||
| 12985 | typedef struct ID3D12Device4Vtbl | ||
| 12986 | { | ||
| 12987 | BEGIN_INTERFACE | ||
| 12988 | |||
| 12989 | DECLSPEC_XFGVIRT(IUnknown, QueryInterface) | ||
| 12990 | HRESULT ( STDMETHODCALLTYPE *QueryInterface )( | ||
| 12991 | ID3D12Device4 * This, | ||
| 12992 | REFIID riid, | ||
| 12993 | _COM_Outptr_ void **ppvObject); | ||
| 12994 | |||
| 12995 | DECLSPEC_XFGVIRT(IUnknown, AddRef) | ||
| 12996 | ULONG ( STDMETHODCALLTYPE *AddRef )( | ||
| 12997 | ID3D12Device4 * This); | ||
| 12998 | |||
| 12999 | DECLSPEC_XFGVIRT(IUnknown, Release) | ||
| 13000 | ULONG ( STDMETHODCALLTYPE *Release )( | ||
| 13001 | ID3D12Device4 * This); | ||
| 13002 | |||
| 13003 | DECLSPEC_XFGVIRT(ID3D12Object, GetPrivateData) | ||
| 13004 | HRESULT ( STDMETHODCALLTYPE *GetPrivateData )( | ||
| 13005 | ID3D12Device4 * This, | ||
| 13006 | _In_ REFGUID guid, | ||
| 13007 | _Inout_ UINT *pDataSize, | ||
| 13008 | _Out_writes_bytes_opt_( *pDataSize ) void *pData); | ||
| 13009 | |||
| 13010 | DECLSPEC_XFGVIRT(ID3D12Object, SetPrivateData) | ||
| 13011 | HRESULT ( STDMETHODCALLTYPE *SetPrivateData )( | ||
| 13012 | ID3D12Device4 * This, | ||
| 13013 | _In_ REFGUID guid, | ||
| 13014 | _In_ UINT DataSize, | ||
| 13015 | _In_reads_bytes_opt_( DataSize ) const void *pData); | ||
| 13016 | |||
| 13017 | DECLSPEC_XFGVIRT(ID3D12Object, SetPrivateDataInterface) | ||
| 13018 | HRESULT ( STDMETHODCALLTYPE *SetPrivateDataInterface )( | ||
| 13019 | ID3D12Device4 * This, | ||
| 13020 | _In_ REFGUID guid, | ||
| 13021 | _In_opt_ const IUnknown *pData); | ||
| 13022 | |||
| 13023 | DECLSPEC_XFGVIRT(ID3D12Object, SetName) | ||
| 13024 | HRESULT ( STDMETHODCALLTYPE *SetName )( | ||
| 13025 | ID3D12Device4 * This, | ||
| 13026 | _In_z_ LPCWSTR Name); | ||
| 13027 | |||
| 13028 | DECLSPEC_XFGVIRT(ID3D12Device, GetNodeCount) | ||
| 13029 | UINT ( STDMETHODCALLTYPE *GetNodeCount )( | ||
| 13030 | ID3D12Device4 * This); | ||
| 13031 | |||
| 13032 | DECLSPEC_XFGVIRT(ID3D12Device, CreateCommandQueue) | ||
| 13033 | HRESULT ( STDMETHODCALLTYPE *CreateCommandQueue )( | ||
| 13034 | ID3D12Device4 * This, | ||
| 13035 | _In_ const D3D12_COMMAND_QUEUE_DESC *pDesc, | ||
| 13036 | REFIID riid, | ||
| 13037 | _COM_Outptr_ void **ppCommandQueue); | ||
| 13038 | |||
| 13039 | DECLSPEC_XFGVIRT(ID3D12Device, CreateCommandAllocator) | ||
| 13040 | HRESULT ( STDMETHODCALLTYPE *CreateCommandAllocator )( | ||
| 13041 | ID3D12Device4 * This, | ||
| 13042 | _In_ D3D12_COMMAND_LIST_TYPE type, | ||
| 13043 | REFIID riid, | ||
| 13044 | _COM_Outptr_ void **ppCommandAllocator); | ||
| 13045 | |||
| 13046 | DECLSPEC_XFGVIRT(ID3D12Device, CreateGraphicsPipelineState) | ||
| 13047 | HRESULT ( STDMETHODCALLTYPE *CreateGraphicsPipelineState )( | ||
| 13048 | ID3D12Device4 * This, | ||
| 13049 | _In_ const D3D12_GRAPHICS_PIPELINE_STATE_DESC *pDesc, | ||
| 13050 | REFIID riid, | ||
| 13051 | _COM_Outptr_ void **ppPipelineState); | ||
| 13052 | |||
| 13053 | DECLSPEC_XFGVIRT(ID3D12Device, CreateComputePipelineState) | ||
| 13054 | HRESULT ( STDMETHODCALLTYPE *CreateComputePipelineState )( | ||
| 13055 | ID3D12Device4 * This, | ||
| 13056 | _In_ const D3D12_COMPUTE_PIPELINE_STATE_DESC *pDesc, | ||
| 13057 | REFIID riid, | ||
| 13058 | _COM_Outptr_ void **ppPipelineState); | ||
| 13059 | |||
| 13060 | DECLSPEC_XFGVIRT(ID3D12Device, CreateCommandList) | ||
| 13061 | HRESULT ( STDMETHODCALLTYPE *CreateCommandList )( | ||
| 13062 | ID3D12Device4 * This, | ||
| 13063 | _In_ UINT nodeMask, | ||
| 13064 | _In_ D3D12_COMMAND_LIST_TYPE type, | ||
| 13065 | _In_ ID3D12CommandAllocator *pCommandAllocator, | ||
| 13066 | _In_opt_ ID3D12PipelineState *pInitialState, | ||
| 13067 | REFIID riid, | ||
| 13068 | _COM_Outptr_ void **ppCommandList); | ||
| 13069 | |||
| 13070 | DECLSPEC_XFGVIRT(ID3D12Device, CheckFeatureSupport) | ||
| 13071 | HRESULT ( STDMETHODCALLTYPE *CheckFeatureSupport )( | ||
| 13072 | ID3D12Device4 * This, | ||
| 13073 | D3D12_FEATURE Feature, | ||
| 13074 | _Inout_updates_bytes_(FeatureSupportDataSize) void *pFeatureSupportData, | ||
| 13075 | UINT FeatureSupportDataSize); | ||
| 13076 | |||
| 13077 | DECLSPEC_XFGVIRT(ID3D12Device, CreateDescriptorHeap) | ||
| 13078 | HRESULT ( STDMETHODCALLTYPE *CreateDescriptorHeap )( | ||
| 13079 | ID3D12Device4 * This, | ||
| 13080 | _In_ const D3D12_DESCRIPTOR_HEAP_DESC *pDescriptorHeapDesc, | ||
| 13081 | REFIID riid, | ||
| 13082 | _COM_Outptr_ void **ppvHeap); | ||
| 13083 | |||
| 13084 | DECLSPEC_XFGVIRT(ID3D12Device, GetDescriptorHandleIncrementSize) | ||
| 13085 | UINT ( STDMETHODCALLTYPE *GetDescriptorHandleIncrementSize )( | ||
| 13086 | ID3D12Device4 * This, | ||
| 13087 | _In_ D3D12_DESCRIPTOR_HEAP_TYPE DescriptorHeapType); | ||
| 13088 | |||
| 13089 | DECLSPEC_XFGVIRT(ID3D12Device, CreateRootSignature) | ||
| 13090 | HRESULT ( STDMETHODCALLTYPE *CreateRootSignature )( | ||
| 13091 | ID3D12Device4 * This, | ||
| 13092 | _In_ UINT nodeMask, | ||
| 13093 | _In_reads_(blobLengthInBytes) const void *pBlobWithRootSignature, | ||
| 13094 | _In_ SIZE_T blobLengthInBytes, | ||
| 13095 | REFIID riid, | ||
| 13096 | _COM_Outptr_ void **ppvRootSignature); | ||
| 13097 | |||
| 13098 | DECLSPEC_XFGVIRT(ID3D12Device, CreateConstantBufferView) | ||
| 13099 | void ( STDMETHODCALLTYPE *CreateConstantBufferView )( | ||
| 13100 | ID3D12Device4 * This, | ||
| 13101 | _In_opt_ const D3D12_CONSTANT_BUFFER_VIEW_DESC *pDesc, | ||
| 13102 | _In_ D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor); | ||
| 13103 | |||
| 13104 | DECLSPEC_XFGVIRT(ID3D12Device, CreateShaderResourceView) | ||
| 13105 | void ( STDMETHODCALLTYPE *CreateShaderResourceView )( | ||
| 13106 | ID3D12Device4 * This, | ||
| 13107 | _In_opt_ ID3D12Resource *pResource, | ||
| 13108 | _In_opt_ const D3D12_SHADER_RESOURCE_VIEW_DESC *pDesc, | ||
| 13109 | _In_ D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor); | ||
| 13110 | |||
| 13111 | DECLSPEC_XFGVIRT(ID3D12Device, CreateUnorderedAccessView) | ||
| 13112 | void ( STDMETHODCALLTYPE *CreateUnorderedAccessView )( | ||
| 13113 | ID3D12Device4 * This, | ||
| 13114 | _In_opt_ ID3D12Resource *pResource, | ||
| 13115 | _In_opt_ ID3D12Resource *pCounterResource, | ||
| 13116 | _In_opt_ const D3D12_UNORDERED_ACCESS_VIEW_DESC *pDesc, | ||
| 13117 | _In_ D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor); | ||
| 13118 | |||
| 13119 | DECLSPEC_XFGVIRT(ID3D12Device, CreateRenderTargetView) | ||
| 13120 | void ( STDMETHODCALLTYPE *CreateRenderTargetView )( | ||
| 13121 | ID3D12Device4 * This, | ||
| 13122 | _In_opt_ ID3D12Resource *pResource, | ||
| 13123 | _In_opt_ const D3D12_RENDER_TARGET_VIEW_DESC *pDesc, | ||
| 13124 | _In_ D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor); | ||
| 13125 | |||
| 13126 | DECLSPEC_XFGVIRT(ID3D12Device, CreateDepthStencilView) | ||
| 13127 | void ( STDMETHODCALLTYPE *CreateDepthStencilView )( | ||
| 13128 | ID3D12Device4 * This, | ||
| 13129 | _In_opt_ ID3D12Resource *pResource, | ||
| 13130 | _In_opt_ const D3D12_DEPTH_STENCIL_VIEW_DESC *pDesc, | ||
| 13131 | _In_ D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor); | ||
| 13132 | |||
| 13133 | DECLSPEC_XFGVIRT(ID3D12Device, CreateSampler) | ||
| 13134 | void ( STDMETHODCALLTYPE *CreateSampler )( | ||
| 13135 | ID3D12Device4 * This, | ||
| 13136 | _In_ const D3D12_SAMPLER_DESC *pDesc, | ||
| 13137 | _In_ D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor); | ||
| 13138 | |||
| 13139 | DECLSPEC_XFGVIRT(ID3D12Device, CopyDescriptors) | ||
| 13140 | void ( STDMETHODCALLTYPE *CopyDescriptors )( | ||
| 13141 | ID3D12Device4 * This, | ||
| 13142 | _In_ UINT NumDestDescriptorRanges, | ||
| 13143 | _In_reads_(NumDestDescriptorRanges) const D3D12_CPU_DESCRIPTOR_HANDLE *pDestDescriptorRangeStarts, | ||
| 13144 | _In_reads_opt_(NumDestDescriptorRanges) const UINT *pDestDescriptorRangeSizes, | ||
| 13145 | _In_ UINT NumSrcDescriptorRanges, | ||
| 13146 | _In_reads_(NumSrcDescriptorRanges) const D3D12_CPU_DESCRIPTOR_HANDLE *pSrcDescriptorRangeStarts, | ||
| 13147 | _In_reads_opt_(NumSrcDescriptorRanges) const UINT *pSrcDescriptorRangeSizes, | ||
| 13148 | _In_ D3D12_DESCRIPTOR_HEAP_TYPE DescriptorHeapsType); | ||
| 13149 | |||
| 13150 | DECLSPEC_XFGVIRT(ID3D12Device, CopyDescriptorsSimple) | ||
| 13151 | void ( STDMETHODCALLTYPE *CopyDescriptorsSimple )( | ||
| 13152 | ID3D12Device4 * This, | ||
| 13153 | _In_ UINT NumDescriptors, | ||
| 13154 | _In_ D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptorRangeStart, | ||
| 13155 | _In_ D3D12_CPU_DESCRIPTOR_HANDLE SrcDescriptorRangeStart, | ||
| 13156 | _In_ D3D12_DESCRIPTOR_HEAP_TYPE DescriptorHeapsType); | ||
| 13157 | |||
| 13158 | DECLSPEC_XFGVIRT(ID3D12Device, GetResourceAllocationInfo) | ||
| 13159 | #if !defined(_WIN32) | ||
| 13160 | D3D12_RESOURCE_ALLOCATION_INFO ( STDMETHODCALLTYPE *GetResourceAllocationInfo )( | ||
| 13161 | ID3D12Device4 * This, | ||
| 13162 | _In_ UINT visibleMask, | ||
| 13163 | _In_ UINT numResourceDescs, | ||
| 13164 | _In_reads_(numResourceDescs) const D3D12_RESOURCE_DESC *pResourceDescs); | ||
| 13165 | |||
| 13166 | #else | ||
| 13167 | D3D12_RESOURCE_ALLOCATION_INFO *( STDMETHODCALLTYPE *GetResourceAllocationInfo )( | ||
| 13168 | ID3D12Device4 * This, | ||
| 13169 | D3D12_RESOURCE_ALLOCATION_INFO * RetVal, | ||
| 13170 | _In_ UINT visibleMask, | ||
| 13171 | _In_ UINT numResourceDescs, | ||
| 13172 | _In_reads_(numResourceDescs) const D3D12_RESOURCE_DESC *pResourceDescs); | ||
| 13173 | |||
| 13174 | #endif | ||
| 13175 | |||
| 13176 | DECLSPEC_XFGVIRT(ID3D12Device, GetCustomHeapProperties) | ||
| 13177 | #if !defined(_WIN32) | ||
| 13178 | D3D12_HEAP_PROPERTIES ( STDMETHODCALLTYPE *GetCustomHeapProperties )( | ||
| 13179 | ID3D12Device4 * This, | ||
| 13180 | _In_ UINT nodeMask, | ||
| 13181 | D3D12_HEAP_TYPE heapType); | ||
| 13182 | |||
| 13183 | #else | ||
| 13184 | D3D12_HEAP_PROPERTIES *( STDMETHODCALLTYPE *GetCustomHeapProperties )( | ||
| 13185 | ID3D12Device4 * This, | ||
| 13186 | D3D12_HEAP_PROPERTIES * RetVal, | ||
| 13187 | _In_ UINT nodeMask, | ||
| 13188 | D3D12_HEAP_TYPE heapType); | ||
| 13189 | |||
| 13190 | #endif | ||
| 13191 | |||
| 13192 | DECLSPEC_XFGVIRT(ID3D12Device, CreateCommittedResource) | ||
| 13193 | HRESULT ( STDMETHODCALLTYPE *CreateCommittedResource )( | ||
| 13194 | ID3D12Device4 * This, | ||
| 13195 | _In_ const D3D12_HEAP_PROPERTIES *pHeapProperties, | ||
| 13196 | D3D12_HEAP_FLAGS HeapFlags, | ||
| 13197 | _In_ const D3D12_RESOURCE_DESC *pDesc, | ||
| 13198 | D3D12_RESOURCE_STATES InitialResourceState, | ||
| 13199 | _In_opt_ const D3D12_CLEAR_VALUE *pOptimizedClearValue, | ||
| 13200 | REFIID riidResource, | ||
| 13201 | _COM_Outptr_opt_ void **ppvResource); | ||
| 13202 | |||
| 13203 | DECLSPEC_XFGVIRT(ID3D12Device, CreateHeap) | ||
| 13204 | HRESULT ( STDMETHODCALLTYPE *CreateHeap )( | ||
| 13205 | ID3D12Device4 * This, | ||
| 13206 | _In_ const D3D12_HEAP_DESC *pDesc, | ||
| 13207 | REFIID riid, | ||
| 13208 | _COM_Outptr_opt_ void **ppvHeap); | ||
| 13209 | |||
| 13210 | DECLSPEC_XFGVIRT(ID3D12Device, CreatePlacedResource) | ||
| 13211 | HRESULT ( STDMETHODCALLTYPE *CreatePlacedResource )( | ||
| 13212 | ID3D12Device4 * This, | ||
| 13213 | _In_ ID3D12Heap *pHeap, | ||
| 13214 | UINT64 HeapOffset, | ||
| 13215 | _In_ const D3D12_RESOURCE_DESC *pDesc, | ||
| 13216 | D3D12_RESOURCE_STATES InitialState, | ||
| 13217 | _In_opt_ const D3D12_CLEAR_VALUE *pOptimizedClearValue, | ||
| 13218 | REFIID riid, | ||
| 13219 | _COM_Outptr_opt_ void **ppvResource); | ||
| 13220 | |||
| 13221 | DECLSPEC_XFGVIRT(ID3D12Device, CreateReservedResource) | ||
| 13222 | HRESULT ( STDMETHODCALLTYPE *CreateReservedResource )( | ||
| 13223 | ID3D12Device4 * This, | ||
| 13224 | _In_ const D3D12_RESOURCE_DESC *pDesc, | ||
| 13225 | D3D12_RESOURCE_STATES InitialState, | ||
| 13226 | _In_opt_ const D3D12_CLEAR_VALUE *pOptimizedClearValue, | ||
| 13227 | REFIID riid, | ||
| 13228 | _COM_Outptr_opt_ void **ppvResource); | ||
| 13229 | |||
| 13230 | DECLSPEC_XFGVIRT(ID3D12Device, CreateSharedHandle) | ||
| 13231 | HRESULT ( STDMETHODCALLTYPE *CreateSharedHandle )( | ||
| 13232 | ID3D12Device4 * This, | ||
| 13233 | _In_ ID3D12DeviceChild *pObject, | ||
| 13234 | _In_opt_ const SECURITY_ATTRIBUTES *pAttributes, | ||
| 13235 | DWORD Access, | ||
| 13236 | _In_opt_ LPCWSTR Name, | ||
| 13237 | _Out_ HANDLE *pHandle); | ||
| 13238 | |||
| 13239 | DECLSPEC_XFGVIRT(ID3D12Device, OpenSharedHandle) | ||
| 13240 | HRESULT ( STDMETHODCALLTYPE *OpenSharedHandle )( | ||
| 13241 | ID3D12Device4 * This, | ||
| 13242 | _In_ HANDLE NTHandle, | ||
| 13243 | REFIID riid, | ||
| 13244 | _COM_Outptr_opt_ void **ppvObj); | ||
| 13245 | |||
| 13246 | DECLSPEC_XFGVIRT(ID3D12Device, OpenSharedHandleByName) | ||
| 13247 | HRESULT ( STDMETHODCALLTYPE *OpenSharedHandleByName )( | ||
| 13248 | ID3D12Device4 * This, | ||
| 13249 | _In_ LPCWSTR Name, | ||
| 13250 | DWORD Access, | ||
| 13251 | /* [annotation][out] */ | ||
| 13252 | _Out_ HANDLE *pNTHandle); | ||
| 13253 | |||
| 13254 | DECLSPEC_XFGVIRT(ID3D12Device, MakeResident) | ||
| 13255 | HRESULT ( STDMETHODCALLTYPE *MakeResident )( | ||
| 13256 | ID3D12Device4 * This, | ||
| 13257 | UINT NumObjects, | ||
| 13258 | _In_reads_(NumObjects) ID3D12Pageable *const *ppObjects); | ||
| 13259 | |||
| 13260 | DECLSPEC_XFGVIRT(ID3D12Device, Evict) | ||
| 13261 | HRESULT ( STDMETHODCALLTYPE *Evict )( | ||
| 13262 | ID3D12Device4 * This, | ||
| 13263 | UINT NumObjects, | ||
| 13264 | _In_reads_(NumObjects) ID3D12Pageable *const *ppObjects); | ||
| 13265 | |||
| 13266 | DECLSPEC_XFGVIRT(ID3D12Device, CreateFence) | ||
| 13267 | HRESULT ( STDMETHODCALLTYPE *CreateFence )( | ||
| 13268 | ID3D12Device4 * This, | ||
| 13269 | UINT64 InitialValue, | ||
| 13270 | D3D12_FENCE_FLAGS Flags, | ||
| 13271 | REFIID riid, | ||
| 13272 | _COM_Outptr_ void **ppFence); | ||
| 13273 | |||
| 13274 | DECLSPEC_XFGVIRT(ID3D12Device, GetDeviceRemovedReason) | ||
| 13275 | HRESULT ( STDMETHODCALLTYPE *GetDeviceRemovedReason )( | ||
| 13276 | ID3D12Device4 * This); | ||
| 13277 | |||
| 13278 | DECLSPEC_XFGVIRT(ID3D12Device, GetCopyableFootprints) | ||
| 13279 | void ( STDMETHODCALLTYPE *GetCopyableFootprints )( | ||
| 13280 | ID3D12Device4 * This, | ||
| 13281 | _In_ const D3D12_RESOURCE_DESC *pResourceDesc, | ||
| 13282 | _In_range_(0,D3D12_REQ_SUBRESOURCES) UINT FirstSubresource, | ||
| 13283 | _In_range_(0,D3D12_REQ_SUBRESOURCES-FirstSubresource) UINT NumSubresources, | ||
| 13284 | UINT64 BaseOffset, | ||
| 13285 | _Out_writes_opt_(NumSubresources) D3D12_PLACED_SUBRESOURCE_FOOTPRINT *pLayouts, | ||
| 13286 | _Out_writes_opt_(NumSubresources) UINT *pNumRows, | ||
| 13287 | _Out_writes_opt_(NumSubresources) UINT64 *pRowSizeInBytes, | ||
| 13288 | _Out_opt_ UINT64 *pTotalBytes); | ||
| 13289 | |||
| 13290 | DECLSPEC_XFGVIRT(ID3D12Device, CreateQueryHeap) | ||
| 13291 | HRESULT ( STDMETHODCALLTYPE *CreateQueryHeap )( | ||
| 13292 | ID3D12Device4 * This, | ||
| 13293 | _In_ const D3D12_QUERY_HEAP_DESC *pDesc, | ||
| 13294 | REFIID riid, | ||
| 13295 | _COM_Outptr_opt_ void **ppvHeap); | ||
| 13296 | |||
| 13297 | DECLSPEC_XFGVIRT(ID3D12Device, SetStablePowerState) | ||
| 13298 | HRESULT ( STDMETHODCALLTYPE *SetStablePowerState )( | ||
| 13299 | ID3D12Device4 * This, | ||
| 13300 | BOOL Enable); | ||
| 13301 | |||
| 13302 | DECLSPEC_XFGVIRT(ID3D12Device, CreateCommandSignature) | ||
| 13303 | HRESULT ( STDMETHODCALLTYPE *CreateCommandSignature )( | ||
| 13304 | ID3D12Device4 * This, | ||
| 13305 | _In_ const D3D12_COMMAND_SIGNATURE_DESC *pDesc, | ||
| 13306 | _In_opt_ ID3D12RootSignature *pRootSignature, | ||
| 13307 | REFIID riid, | ||
| 13308 | _COM_Outptr_opt_ void **ppvCommandSignature); | ||
| 13309 | |||
| 13310 | DECLSPEC_XFGVIRT(ID3D12Device, GetResourceTiling) | ||
| 13311 | void ( STDMETHODCALLTYPE *GetResourceTiling )( | ||
| 13312 | ID3D12Device4 * This, | ||
| 13313 | _In_ ID3D12Resource *pTiledResource, | ||
| 13314 | _Out_opt_ UINT *pNumTilesForEntireResource, | ||
| 13315 | _Out_opt_ D3D12_PACKED_MIP_INFO *pPackedMipDesc, | ||
| 13316 | _Out_opt_ D3D12_TILE_SHAPE *pStandardTileShapeForNonPackedMips, | ||
| 13317 | _Inout_opt_ UINT *pNumSubresourceTilings, | ||
| 13318 | _In_ UINT FirstSubresourceTilingToGet, | ||
| 13319 | _Out_writes_(*pNumSubresourceTilings) D3D12_SUBRESOURCE_TILING *pSubresourceTilingsForNonPackedMips); | ||
| 13320 | |||
| 13321 | DECLSPEC_XFGVIRT(ID3D12Device, GetAdapterLuid) | ||
| 13322 | #if !defined(_WIN32) | ||
| 13323 | LUID ( STDMETHODCALLTYPE *GetAdapterLuid )( | ||
| 13324 | ID3D12Device4 * This); | ||
| 13325 | |||
| 13326 | #else | ||
| 13327 | LUID *( STDMETHODCALLTYPE *GetAdapterLuid )( | ||
| 13328 | ID3D12Device4 * This, | ||
| 13329 | LUID * RetVal); | ||
| 13330 | |||
| 13331 | #endif | ||
| 13332 | |||
| 13333 | DECLSPEC_XFGVIRT(ID3D12Device1, CreatePipelineLibrary) | ||
| 13334 | HRESULT ( STDMETHODCALLTYPE *CreatePipelineLibrary )( | ||
| 13335 | ID3D12Device4 * This, | ||
| 13336 | _In_reads_(BlobLength) const void *pLibraryBlob, | ||
| 13337 | SIZE_T BlobLength, | ||
| 13338 | REFIID riid, | ||
| 13339 | _COM_Outptr_ void **ppPipelineLibrary); | ||
| 13340 | |||
| 13341 | DECLSPEC_XFGVIRT(ID3D12Device1, SetEventOnMultipleFenceCompletion) | ||
| 13342 | HRESULT ( STDMETHODCALLTYPE *SetEventOnMultipleFenceCompletion )( | ||
| 13343 | ID3D12Device4 * This, | ||
| 13344 | _In_reads_(NumFences) ID3D12Fence *const *ppFences, | ||
| 13345 | _In_reads_(NumFences) const UINT64 *pFenceValues, | ||
| 13346 | UINT NumFences, | ||
| 13347 | D3D12_MULTIPLE_FENCE_WAIT_FLAGS Flags, | ||
| 13348 | HANDLE hEvent); | ||
| 13349 | |||
| 13350 | DECLSPEC_XFGVIRT(ID3D12Device1, SetResidencyPriority) | ||
| 13351 | HRESULT ( STDMETHODCALLTYPE *SetResidencyPriority )( | ||
| 13352 | ID3D12Device4 * This, | ||
| 13353 | UINT NumObjects, | ||
| 13354 | _In_reads_(NumObjects) ID3D12Pageable *const *ppObjects, | ||
| 13355 | _In_reads_(NumObjects) const D3D12_RESIDENCY_PRIORITY *pPriorities); | ||
| 13356 | |||
| 13357 | DECLSPEC_XFGVIRT(ID3D12Device2, CreatePipelineState) | ||
| 13358 | HRESULT ( STDMETHODCALLTYPE *CreatePipelineState )( | ||
| 13359 | ID3D12Device4 * This, | ||
| 13360 | const D3D12_PIPELINE_STATE_STREAM_DESC *pDesc, | ||
| 13361 | REFIID riid, | ||
| 13362 | _COM_Outptr_ void **ppPipelineState); | ||
| 13363 | |||
| 13364 | DECLSPEC_XFGVIRT(ID3D12Device3, OpenExistingHeapFromAddress) | ||
| 13365 | HRESULT ( STDMETHODCALLTYPE *OpenExistingHeapFromAddress )( | ||
| 13366 | ID3D12Device4 * This, | ||
| 13367 | _In_ const void *pAddress, | ||
| 13368 | REFIID riid, | ||
| 13369 | _COM_Outptr_ void **ppvHeap); | ||
| 13370 | |||
| 13371 | DECLSPEC_XFGVIRT(ID3D12Device3, OpenExistingHeapFromFileMapping) | ||
| 13372 | HRESULT ( STDMETHODCALLTYPE *OpenExistingHeapFromFileMapping )( | ||
| 13373 | ID3D12Device4 * This, | ||
| 13374 | _In_ HANDLE hFileMapping, | ||
| 13375 | REFIID riid, | ||
| 13376 | _COM_Outptr_ void **ppvHeap); | ||
| 13377 | |||
| 13378 | DECLSPEC_XFGVIRT(ID3D12Device3, EnqueueMakeResident) | ||
| 13379 | HRESULT ( STDMETHODCALLTYPE *EnqueueMakeResident )( | ||
| 13380 | ID3D12Device4 * This, | ||
| 13381 | D3D12_RESIDENCY_FLAGS Flags, | ||
| 13382 | UINT NumObjects, | ||
| 13383 | _In_reads_(NumObjects) ID3D12Pageable *const *ppObjects, | ||
| 13384 | _In_ ID3D12Fence *pFenceToSignal, | ||
| 13385 | UINT64 FenceValueToSignal); | ||
| 13386 | |||
| 13387 | DECLSPEC_XFGVIRT(ID3D12Device4, CreateCommandList1) | ||
| 13388 | HRESULT ( STDMETHODCALLTYPE *CreateCommandList1 )( | ||
| 13389 | ID3D12Device4 * This, | ||
| 13390 | _In_ UINT nodeMask, | ||
| 13391 | _In_ D3D12_COMMAND_LIST_TYPE type, | ||
| 13392 | _In_ D3D12_COMMAND_LIST_FLAGS flags, | ||
| 13393 | REFIID riid, | ||
| 13394 | _COM_Outptr_ void **ppCommandList); | ||
| 13395 | |||
| 13396 | DECLSPEC_XFGVIRT(ID3D12Device4, CreateProtectedResourceSession) | ||
| 13397 | HRESULT ( STDMETHODCALLTYPE *CreateProtectedResourceSession )( | ||
| 13398 | ID3D12Device4 * This, | ||
| 13399 | _In_ const D3D12_PROTECTED_RESOURCE_SESSION_DESC *pDesc, | ||
| 13400 | _In_ REFIID riid, | ||
| 13401 | _COM_Outptr_ void **ppSession); | ||
| 13402 | |||
| 13403 | DECLSPEC_XFGVIRT(ID3D12Device4, CreateCommittedResource1) | ||
| 13404 | HRESULT ( STDMETHODCALLTYPE *CreateCommittedResource1 )( | ||
| 13405 | ID3D12Device4 * This, | ||
| 13406 | _In_ const D3D12_HEAP_PROPERTIES *pHeapProperties, | ||
| 13407 | D3D12_HEAP_FLAGS HeapFlags, | ||
| 13408 | _In_ const D3D12_RESOURCE_DESC *pDesc, | ||
| 13409 | D3D12_RESOURCE_STATES InitialResourceState, | ||
| 13410 | _In_opt_ const D3D12_CLEAR_VALUE *pOptimizedClearValue, | ||
| 13411 | _In_opt_ ID3D12ProtectedResourceSession *pProtectedSession, | ||
| 13412 | REFIID riidResource, | ||
| 13413 | _COM_Outptr_opt_ void **ppvResource); | ||
| 13414 | |||
| 13415 | DECLSPEC_XFGVIRT(ID3D12Device4, CreateHeap1) | ||
| 13416 | HRESULT ( STDMETHODCALLTYPE *CreateHeap1 )( | ||
| 13417 | ID3D12Device4 * This, | ||
| 13418 | _In_ const D3D12_HEAP_DESC *pDesc, | ||
| 13419 | _In_opt_ ID3D12ProtectedResourceSession *pProtectedSession, | ||
| 13420 | REFIID riid, | ||
| 13421 | _COM_Outptr_opt_ void **ppvHeap); | ||
| 13422 | |||
| 13423 | DECLSPEC_XFGVIRT(ID3D12Device4, CreateReservedResource1) | ||
| 13424 | HRESULT ( STDMETHODCALLTYPE *CreateReservedResource1 )( | ||
| 13425 | ID3D12Device4 * This, | ||
| 13426 | _In_ const D3D12_RESOURCE_DESC *pDesc, | ||
| 13427 | D3D12_RESOURCE_STATES InitialState, | ||
| 13428 | _In_opt_ const D3D12_CLEAR_VALUE *pOptimizedClearValue, | ||
| 13429 | _In_opt_ ID3D12ProtectedResourceSession *pProtectedSession, | ||
| 13430 | REFIID riid, | ||
| 13431 | _COM_Outptr_opt_ void **ppvResource); | ||
| 13432 | |||
| 13433 | DECLSPEC_XFGVIRT(ID3D12Device4, GetResourceAllocationInfo1) | ||
| 13434 | #if !defined(_WIN32) | ||
| 13435 | D3D12_RESOURCE_ALLOCATION_INFO ( STDMETHODCALLTYPE *GetResourceAllocationInfo1 )( | ||
| 13436 | ID3D12Device4 * This, | ||
| 13437 | UINT visibleMask, | ||
| 13438 | UINT numResourceDescs, | ||
| 13439 | _In_reads_(numResourceDescs) const D3D12_RESOURCE_DESC *pResourceDescs, | ||
| 13440 | _Out_writes_opt_(numResourceDescs) D3D12_RESOURCE_ALLOCATION_INFO1 *pResourceAllocationInfo1); | ||
| 13441 | |||
| 13442 | #else | ||
| 13443 | D3D12_RESOURCE_ALLOCATION_INFO *( STDMETHODCALLTYPE *GetResourceAllocationInfo1 )( | ||
| 13444 | ID3D12Device4 * This, | ||
| 13445 | D3D12_RESOURCE_ALLOCATION_INFO * RetVal, | ||
| 13446 | UINT visibleMask, | ||
| 13447 | UINT numResourceDescs, | ||
| 13448 | _In_reads_(numResourceDescs) const D3D12_RESOURCE_DESC *pResourceDescs, | ||
| 13449 | _Out_writes_opt_(numResourceDescs) D3D12_RESOURCE_ALLOCATION_INFO1 *pResourceAllocationInfo1); | ||
| 13450 | |||
| 13451 | #endif | ||
| 13452 | |||
| 13453 | END_INTERFACE | ||
| 13454 | } ID3D12Device4Vtbl; | ||
| 13455 | |||
| 13456 | interface ID3D12Device4 | ||
| 13457 | { | ||
| 13458 | CONST_VTBL struct ID3D12Device4Vtbl *lpVtbl; | ||
| 13459 | }; | ||
| 13460 | |||
| 13461 | |||
| 13462 | |||
| 13463 | #ifdef COBJMACROS | ||
| 13464 | |||
| 13465 | |||
| 13466 | #define ID3D12Device4_QueryInterface(This,riid,ppvObject) \ | ||
| 13467 | ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) | ||
| 13468 | |||
| 13469 | #define ID3D12Device4_AddRef(This) \ | ||
| 13470 | ( (This)->lpVtbl -> AddRef(This) ) | ||
| 13471 | |||
| 13472 | #define ID3D12Device4_Release(This) \ | ||
| 13473 | ( (This)->lpVtbl -> Release(This) ) | ||
| 13474 | |||
| 13475 | |||
| 13476 | #define ID3D12Device4_GetPrivateData(This,guid,pDataSize,pData) \ | ||
| 13477 | ( (This)->lpVtbl -> GetPrivateData(This,guid,pDataSize,pData) ) | ||
| 13478 | |||
| 13479 | #define ID3D12Device4_SetPrivateData(This,guid,DataSize,pData) \ | ||
| 13480 | ( (This)->lpVtbl -> SetPrivateData(This,guid,DataSize,pData) ) | ||
| 13481 | |||
| 13482 | #define ID3D12Device4_SetPrivateDataInterface(This,guid,pData) \ | ||
| 13483 | ( (This)->lpVtbl -> SetPrivateDataInterface(This,guid,pData) ) | ||
| 13484 | |||
| 13485 | #define ID3D12Device4_SetName(This,Name) \ | ||
| 13486 | ( (This)->lpVtbl -> SetName(This,Name) ) | ||
| 13487 | |||
| 13488 | |||
| 13489 | #define ID3D12Device4_GetNodeCount(This) \ | ||
| 13490 | ( (This)->lpVtbl -> GetNodeCount(This) ) | ||
| 13491 | |||
| 13492 | #define ID3D12Device4_CreateCommandQueue(This,pDesc,riid,ppCommandQueue) \ | ||
| 13493 | ( (This)->lpVtbl -> CreateCommandQueue(This,pDesc,riid,ppCommandQueue) ) | ||
| 13494 | |||
| 13495 | #define ID3D12Device4_CreateCommandAllocator(This,type,riid,ppCommandAllocator) \ | ||
| 13496 | ( (This)->lpVtbl -> CreateCommandAllocator(This,type,riid,ppCommandAllocator) ) | ||
| 13497 | |||
| 13498 | #define ID3D12Device4_CreateGraphicsPipelineState(This,pDesc,riid,ppPipelineState) \ | ||
| 13499 | ( (This)->lpVtbl -> CreateGraphicsPipelineState(This,pDesc,riid,ppPipelineState) ) | ||
| 13500 | |||
| 13501 | #define ID3D12Device4_CreateComputePipelineState(This,pDesc,riid,ppPipelineState) \ | ||
| 13502 | ( (This)->lpVtbl -> CreateComputePipelineState(This,pDesc,riid,ppPipelineState) ) | ||
| 13503 | |||
| 13504 | #define ID3D12Device4_CreateCommandList(This,nodeMask,type,pCommandAllocator,pInitialState,riid,ppCommandList) \ | ||
| 13505 | ( (This)->lpVtbl -> CreateCommandList(This,nodeMask,type,pCommandAllocator,pInitialState,riid,ppCommandList) ) | ||
| 13506 | |||
| 13507 | #define ID3D12Device4_CheckFeatureSupport(This,Feature,pFeatureSupportData,FeatureSupportDataSize) \ | ||
| 13508 | ( (This)->lpVtbl -> CheckFeatureSupport(This,Feature,pFeatureSupportData,FeatureSupportDataSize) ) | ||
| 13509 | |||
| 13510 | #define ID3D12Device4_CreateDescriptorHeap(This,pDescriptorHeapDesc,riid,ppvHeap) \ | ||
| 13511 | ( (This)->lpVtbl -> CreateDescriptorHeap(This,pDescriptorHeapDesc,riid,ppvHeap) ) | ||
| 13512 | |||
| 13513 | #define ID3D12Device4_GetDescriptorHandleIncrementSize(This,DescriptorHeapType) \ | ||
| 13514 | ( (This)->lpVtbl -> GetDescriptorHandleIncrementSize(This,DescriptorHeapType) ) | ||
| 13515 | |||
| 13516 | #define ID3D12Device4_CreateRootSignature(This,nodeMask,pBlobWithRootSignature,blobLengthInBytes,riid,ppvRootSignature) \ | ||
| 13517 | ( (This)->lpVtbl -> CreateRootSignature(This,nodeMask,pBlobWithRootSignature,blobLengthInBytes,riid,ppvRootSignature) ) | ||
| 13518 | |||
| 13519 | #define ID3D12Device4_CreateConstantBufferView(This,pDesc,DestDescriptor) \ | ||
| 13520 | ( (This)->lpVtbl -> CreateConstantBufferView(This,pDesc,DestDescriptor) ) | ||
| 13521 | |||
| 13522 | #define ID3D12Device4_CreateShaderResourceView(This,pResource,pDesc,DestDescriptor) \ | ||
| 13523 | ( (This)->lpVtbl -> CreateShaderResourceView(This,pResource,pDesc,DestDescriptor) ) | ||
| 13524 | |||
| 13525 | #define ID3D12Device4_CreateUnorderedAccessView(This,pResource,pCounterResource,pDesc,DestDescriptor) \ | ||
| 13526 | ( (This)->lpVtbl -> CreateUnorderedAccessView(This,pResource,pCounterResource,pDesc,DestDescriptor) ) | ||
| 13527 | |||
| 13528 | #define ID3D12Device4_CreateRenderTargetView(This,pResource,pDesc,DestDescriptor) \ | ||
| 13529 | ( (This)->lpVtbl -> CreateRenderTargetView(This,pResource,pDesc,DestDescriptor) ) | ||
| 13530 | |||
| 13531 | #define ID3D12Device4_CreateDepthStencilView(This,pResource,pDesc,DestDescriptor) \ | ||
| 13532 | ( (This)->lpVtbl -> CreateDepthStencilView(This,pResource,pDesc,DestDescriptor) ) | ||
| 13533 | |||
| 13534 | #define ID3D12Device4_CreateSampler(This,pDesc,DestDescriptor) \ | ||
| 13535 | ( (This)->lpVtbl -> CreateSampler(This,pDesc,DestDescriptor) ) | ||
| 13536 | |||
| 13537 | #define ID3D12Device4_CopyDescriptors(This,NumDestDescriptorRanges,pDestDescriptorRangeStarts,pDestDescriptorRangeSizes,NumSrcDescriptorRanges,pSrcDescriptorRangeStarts,pSrcDescriptorRangeSizes,DescriptorHeapsType) \ | ||
| 13538 | ( (This)->lpVtbl -> CopyDescriptors(This,NumDestDescriptorRanges,pDestDescriptorRangeStarts,pDestDescriptorRangeSizes,NumSrcDescriptorRanges,pSrcDescriptorRangeStarts,pSrcDescriptorRangeSizes,DescriptorHeapsType) ) | ||
| 13539 | |||
| 13540 | #define ID3D12Device4_CopyDescriptorsSimple(This,NumDescriptors,DestDescriptorRangeStart,SrcDescriptorRangeStart,DescriptorHeapsType) \ | ||
| 13541 | ( (This)->lpVtbl -> CopyDescriptorsSimple(This,NumDescriptors,DestDescriptorRangeStart,SrcDescriptorRangeStart,DescriptorHeapsType) ) | ||
| 13542 | #if !defined(_WIN32) | ||
| 13543 | |||
| 13544 | #define ID3D12Device4_GetResourceAllocationInfo(This,visibleMask,numResourceDescs,pResourceDescs) \ | ||
| 13545 | ( (This)->lpVtbl -> GetResourceAllocationInfo(This,visibleMask,numResourceDescs,pResourceDescs) ) | ||
| 13546 | #else | ||
| 13547 | #define ID3D12Device4_GetResourceAllocationInfo(This,RetVal,visibleMask,numResourceDescs,pResourceDescs) \ | ||
| 13548 | ( (This)->lpVtbl -> GetResourceAllocationInfo(This,RetVal,visibleMask,numResourceDescs,pResourceDescs) ) | ||
| 13549 | #endif | ||
| 13550 | #if !defined(_WIN32) | ||
| 13551 | |||
| 13552 | #define ID3D12Device4_GetCustomHeapProperties(This,nodeMask,heapType) \ | ||
| 13553 | ( (This)->lpVtbl -> GetCustomHeapProperties(This,nodeMask,heapType) ) | ||
| 13554 | #else | ||
| 13555 | #define ID3D12Device4_GetCustomHeapProperties(This,RetVal,nodeMask,heapType) \ | ||
| 13556 | ( (This)->lpVtbl -> GetCustomHeapProperties(This,RetVal,nodeMask,heapType) ) | ||
| 13557 | #endif | ||
| 13558 | |||
| 13559 | #define ID3D12Device4_CreateCommittedResource(This,pHeapProperties,HeapFlags,pDesc,InitialResourceState,pOptimizedClearValue,riidResource,ppvResource) \ | ||
| 13560 | ( (This)->lpVtbl -> CreateCommittedResource(This,pHeapProperties,HeapFlags,pDesc,InitialResourceState,pOptimizedClearValue,riidResource,ppvResource) ) | ||
| 13561 | |||
| 13562 | #define ID3D12Device4_CreateHeap(This,pDesc,riid,ppvHeap) \ | ||
| 13563 | ( (This)->lpVtbl -> CreateHeap(This,pDesc,riid,ppvHeap) ) | ||
| 13564 | |||
| 13565 | #define ID3D12Device4_CreatePlacedResource(This,pHeap,HeapOffset,pDesc,InitialState,pOptimizedClearValue,riid,ppvResource) \ | ||
| 13566 | ( (This)->lpVtbl -> CreatePlacedResource(This,pHeap,HeapOffset,pDesc,InitialState,pOptimizedClearValue,riid,ppvResource) ) | ||
| 13567 | |||
| 13568 | #define ID3D12Device4_CreateReservedResource(This,pDesc,InitialState,pOptimizedClearValue,riid,ppvResource) \ | ||
| 13569 | ( (This)->lpVtbl -> CreateReservedResource(This,pDesc,InitialState,pOptimizedClearValue,riid,ppvResource) ) | ||
| 13570 | |||
| 13571 | #define ID3D12Device4_CreateSharedHandle(This,pObject,pAttributes,Access,Name,pHandle) \ | ||
| 13572 | ( (This)->lpVtbl -> CreateSharedHandle(This,pObject,pAttributes,Access,Name,pHandle) ) | ||
| 13573 | |||
| 13574 | #define ID3D12Device4_OpenSharedHandle(This,NTHandle,riid,ppvObj) \ | ||
| 13575 | ( (This)->lpVtbl -> OpenSharedHandle(This,NTHandle,riid,ppvObj) ) | ||
| 13576 | |||
| 13577 | #define ID3D12Device4_OpenSharedHandleByName(This,Name,Access,pNTHandle) \ | ||
| 13578 | ( (This)->lpVtbl -> OpenSharedHandleByName(This,Name,Access,pNTHandle) ) | ||
| 13579 | |||
| 13580 | #define ID3D12Device4_MakeResident(This,NumObjects,ppObjects) \ | ||
| 13581 | ( (This)->lpVtbl -> MakeResident(This,NumObjects,ppObjects) ) | ||
| 13582 | |||
| 13583 | #define ID3D12Device4_Evict(This,NumObjects,ppObjects) \ | ||
| 13584 | ( (This)->lpVtbl -> Evict(This,NumObjects,ppObjects) ) | ||
| 13585 | |||
| 13586 | #define ID3D12Device4_CreateFence(This,InitialValue,Flags,riid,ppFence) \ | ||
| 13587 | ( (This)->lpVtbl -> CreateFence(This,InitialValue,Flags,riid,ppFence) ) | ||
| 13588 | |||
| 13589 | #define ID3D12Device4_GetDeviceRemovedReason(This) \ | ||
| 13590 | ( (This)->lpVtbl -> GetDeviceRemovedReason(This) ) | ||
| 13591 | |||
| 13592 | #define ID3D12Device4_GetCopyableFootprints(This,pResourceDesc,FirstSubresource,NumSubresources,BaseOffset,pLayouts,pNumRows,pRowSizeInBytes,pTotalBytes) \ | ||
| 13593 | ( (This)->lpVtbl -> GetCopyableFootprints(This,pResourceDesc,FirstSubresource,NumSubresources,BaseOffset,pLayouts,pNumRows,pRowSizeInBytes,pTotalBytes) ) | ||
| 13594 | |||
| 13595 | #define ID3D12Device4_CreateQueryHeap(This,pDesc,riid,ppvHeap) \ | ||
| 13596 | ( (This)->lpVtbl -> CreateQueryHeap(This,pDesc,riid,ppvHeap) ) | ||
| 13597 | |||
| 13598 | #define ID3D12Device4_SetStablePowerState(This,Enable) \ | ||
| 13599 | ( (This)->lpVtbl -> SetStablePowerState(This,Enable) ) | ||
| 13600 | |||
| 13601 | #define ID3D12Device4_CreateCommandSignature(This,pDesc,pRootSignature,riid,ppvCommandSignature) \ | ||
| 13602 | ( (This)->lpVtbl -> CreateCommandSignature(This,pDesc,pRootSignature,riid,ppvCommandSignature) ) | ||
| 13603 | |||
| 13604 | #define ID3D12Device4_GetResourceTiling(This,pTiledResource,pNumTilesForEntireResource,pPackedMipDesc,pStandardTileShapeForNonPackedMips,pNumSubresourceTilings,FirstSubresourceTilingToGet,pSubresourceTilingsForNonPackedMips) \ | ||
| 13605 | ( (This)->lpVtbl -> GetResourceTiling(This,pTiledResource,pNumTilesForEntireResource,pPackedMipDesc,pStandardTileShapeForNonPackedMips,pNumSubresourceTilings,FirstSubresourceTilingToGet,pSubresourceTilingsForNonPackedMips) ) | ||
| 13606 | #if !defined(_WIN32) | ||
| 13607 | |||
| 13608 | #define ID3D12Device4_GetAdapterLuid(This) \ | ||
| 13609 | ( (This)->lpVtbl -> GetAdapterLuid(This) ) | ||
| 13610 | #else | ||
| 13611 | #define ID3D12Device4_GetAdapterLuid(This,RetVal) \ | ||
| 13612 | ( (This)->lpVtbl -> GetAdapterLuid(This,RetVal) ) | ||
| 13613 | #endif | ||
| 13614 | |||
| 13615 | |||
| 13616 | #define ID3D12Device4_CreatePipelineLibrary(This,pLibraryBlob,BlobLength,riid,ppPipelineLibrary) \ | ||
| 13617 | ( (This)->lpVtbl -> CreatePipelineLibrary(This,pLibraryBlob,BlobLength,riid,ppPipelineLibrary) ) | ||
| 13618 | |||
| 13619 | #define ID3D12Device4_SetEventOnMultipleFenceCompletion(This,ppFences,pFenceValues,NumFences,Flags,hEvent) \ | ||
| 13620 | ( (This)->lpVtbl -> SetEventOnMultipleFenceCompletion(This,ppFences,pFenceValues,NumFences,Flags,hEvent) ) | ||
| 13621 | |||
| 13622 | #define ID3D12Device4_SetResidencyPriority(This,NumObjects,ppObjects,pPriorities) \ | ||
| 13623 | ( (This)->lpVtbl -> SetResidencyPriority(This,NumObjects,ppObjects,pPriorities) ) | ||
| 13624 | |||
| 13625 | |||
| 13626 | #define ID3D12Device4_CreatePipelineState(This,pDesc,riid,ppPipelineState) \ | ||
| 13627 | ( (This)->lpVtbl -> CreatePipelineState(This,pDesc,riid,ppPipelineState) ) | ||
| 13628 | |||
| 13629 | |||
| 13630 | #define ID3D12Device4_OpenExistingHeapFromAddress(This,pAddress,riid,ppvHeap) \ | ||
| 13631 | ( (This)->lpVtbl -> OpenExistingHeapFromAddress(This,pAddress,riid,ppvHeap) ) | ||
| 13632 | |||
| 13633 | #define ID3D12Device4_OpenExistingHeapFromFileMapping(This,hFileMapping,riid,ppvHeap) \ | ||
| 13634 | ( (This)->lpVtbl -> OpenExistingHeapFromFileMapping(This,hFileMapping,riid,ppvHeap) ) | ||
| 13635 | |||
| 13636 | #define ID3D12Device4_EnqueueMakeResident(This,Flags,NumObjects,ppObjects,pFenceToSignal,FenceValueToSignal) \ | ||
| 13637 | ( (This)->lpVtbl -> EnqueueMakeResident(This,Flags,NumObjects,ppObjects,pFenceToSignal,FenceValueToSignal) ) | ||
| 13638 | |||
| 13639 | |||
| 13640 | #define ID3D12Device4_CreateCommandList1(This,nodeMask,type,flags,riid,ppCommandList) \ | ||
| 13641 | ( (This)->lpVtbl -> CreateCommandList1(This,nodeMask,type,flags,riid,ppCommandList) ) | ||
| 13642 | |||
| 13643 | #define ID3D12Device4_CreateProtectedResourceSession(This,pDesc,riid,ppSession) \ | ||
| 13644 | ( (This)->lpVtbl -> CreateProtectedResourceSession(This,pDesc,riid,ppSession) ) | ||
| 13645 | |||
| 13646 | #define ID3D12Device4_CreateCommittedResource1(This,pHeapProperties,HeapFlags,pDesc,InitialResourceState,pOptimizedClearValue,pProtectedSession,riidResource,ppvResource) \ | ||
| 13647 | ( (This)->lpVtbl -> CreateCommittedResource1(This,pHeapProperties,HeapFlags,pDesc,InitialResourceState,pOptimizedClearValue,pProtectedSession,riidResource,ppvResource) ) | ||
| 13648 | |||
| 13649 | #define ID3D12Device4_CreateHeap1(This,pDesc,pProtectedSession,riid,ppvHeap) \ | ||
| 13650 | ( (This)->lpVtbl -> CreateHeap1(This,pDesc,pProtectedSession,riid,ppvHeap) ) | ||
| 13651 | |||
| 13652 | #define ID3D12Device4_CreateReservedResource1(This,pDesc,InitialState,pOptimizedClearValue,pProtectedSession,riid,ppvResource) \ | ||
| 13653 | ( (This)->lpVtbl -> CreateReservedResource1(This,pDesc,InitialState,pOptimizedClearValue,pProtectedSession,riid,ppvResource) ) | ||
| 13654 | #if !defined(_WIN32) | ||
| 13655 | |||
| 13656 | #define ID3D12Device4_GetResourceAllocationInfo1(This,visibleMask,numResourceDescs,pResourceDescs,pResourceAllocationInfo1) \ | ||
| 13657 | ( (This)->lpVtbl -> GetResourceAllocationInfo1(This,visibleMask,numResourceDescs,pResourceDescs,pResourceAllocationInfo1) ) | ||
| 13658 | #else | ||
| 13659 | #define ID3D12Device4_GetResourceAllocationInfo1(This,RetVal,visibleMask,numResourceDescs,pResourceDescs,pResourceAllocationInfo1) \ | ||
| 13660 | ( (This)->lpVtbl -> GetResourceAllocationInfo1(This,RetVal,visibleMask,numResourceDescs,pResourceDescs,pResourceAllocationInfo1) ) | ||
| 13661 | #endif | ||
| 13662 | |||
| 13663 | #endif /* COBJMACROS */ | ||
| 13664 | |||
| 13665 | |||
| 13666 | #endif /* C style interface */ | ||
| 13667 | |||
| 13668 | |||
| 13669 | |||
| 13670 | |||
| 13671 | #endif /* __ID3D12Device4_INTERFACE_DEFINED__ */ | ||
| 13672 | |||
| 13673 | |||
| 13674 | /* interface __MIDL_itf_d3d12_0000_0031 */ | ||
| 13675 | /* [local] */ | ||
| 13676 | |||
| 13677 | typedef | ||
| 13678 | enum D3D12_LIFETIME_STATE | ||
| 13679 | { | ||
| 13680 | D3D12_LIFETIME_STATE_IN_USE = 0, | ||
| 13681 | D3D12_LIFETIME_STATE_NOT_IN_USE = ( D3D12_LIFETIME_STATE_IN_USE + 1 ) | ||
| 13682 | } D3D12_LIFETIME_STATE; | ||
| 13683 | |||
| 13684 | |||
| 13685 | |||
| 13686 | |||
| 13687 | extern RPC_IF_HANDLE __MIDL_itf_d3d12_0000_0031_v0_0_c_ifspec; | ||
| 13688 | extern RPC_IF_HANDLE __MIDL_itf_d3d12_0000_0031_v0_0_s_ifspec; | ||
| 13689 | |||
| 13690 | #ifndef __ID3D12LifetimeOwner_INTERFACE_DEFINED__ | ||
| 13691 | #define __ID3D12LifetimeOwner_INTERFACE_DEFINED__ | ||
| 13692 | |||
| 13693 | /* interface ID3D12LifetimeOwner */ | ||
| 13694 | /* [unique][local][object][uuid] */ | ||
| 13695 | |||
| 13696 | |||
| 13697 | EXTERN_C const IID IID_ID3D12LifetimeOwner; | ||
| 13698 | |||
| 13699 | #if defined(__cplusplus) && !defined(CINTERFACE) | ||
| 13700 | |||
| 13701 | MIDL_INTERFACE("e667af9f-cd56-4f46-83ce-032e595d70a8") | ||
| 13702 | ID3D12LifetimeOwner : public IUnknown | ||
| 13703 | { | ||
| 13704 | public: | ||
| 13705 | virtual void STDMETHODCALLTYPE LifetimeStateUpdated( | ||
| 13706 | D3D12_LIFETIME_STATE NewState) = 0; | ||
| 13707 | |||
| 13708 | }; | ||
| 13709 | |||
| 13710 | |||
| 13711 | #else /* C style interface */ | ||
| 13712 | |||
| 13713 | typedef struct ID3D12LifetimeOwnerVtbl | ||
| 13714 | { | ||
| 13715 | BEGIN_INTERFACE | ||
| 13716 | |||
| 13717 | DECLSPEC_XFGVIRT(IUnknown, QueryInterface) | ||
| 13718 | HRESULT ( STDMETHODCALLTYPE *QueryInterface )( | ||
| 13719 | ID3D12LifetimeOwner * This, | ||
| 13720 | REFIID riid, | ||
| 13721 | _COM_Outptr_ void **ppvObject); | ||
| 13722 | |||
| 13723 | DECLSPEC_XFGVIRT(IUnknown, AddRef) | ||
| 13724 | ULONG ( STDMETHODCALLTYPE *AddRef )( | ||
| 13725 | ID3D12LifetimeOwner * This); | ||
| 13726 | |||
| 13727 | DECLSPEC_XFGVIRT(IUnknown, Release) | ||
| 13728 | ULONG ( STDMETHODCALLTYPE *Release )( | ||
| 13729 | ID3D12LifetimeOwner * This); | ||
| 13730 | |||
| 13731 | DECLSPEC_XFGVIRT(ID3D12LifetimeOwner, LifetimeStateUpdated) | ||
| 13732 | void ( STDMETHODCALLTYPE *LifetimeStateUpdated )( | ||
| 13733 | ID3D12LifetimeOwner * This, | ||
| 13734 | D3D12_LIFETIME_STATE NewState); | ||
| 13735 | |||
| 13736 | END_INTERFACE | ||
| 13737 | } ID3D12LifetimeOwnerVtbl; | ||
| 13738 | |||
| 13739 | interface ID3D12LifetimeOwner | ||
| 13740 | { | ||
| 13741 | CONST_VTBL struct ID3D12LifetimeOwnerVtbl *lpVtbl; | ||
| 13742 | }; | ||
| 13743 | |||
| 13744 | |||
| 13745 | |||
| 13746 | #ifdef COBJMACROS | ||
| 13747 | |||
| 13748 | |||
| 13749 | #define ID3D12LifetimeOwner_QueryInterface(This,riid,ppvObject) \ | ||
| 13750 | ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) | ||
| 13751 | |||
| 13752 | #define ID3D12LifetimeOwner_AddRef(This) \ | ||
| 13753 | ( (This)->lpVtbl -> AddRef(This) ) | ||
| 13754 | |||
| 13755 | #define ID3D12LifetimeOwner_Release(This) \ | ||
| 13756 | ( (This)->lpVtbl -> Release(This) ) | ||
| 13757 | |||
| 13758 | |||
| 13759 | #define ID3D12LifetimeOwner_LifetimeStateUpdated(This,NewState) \ | ||
| 13760 | ( (This)->lpVtbl -> LifetimeStateUpdated(This,NewState) ) | ||
| 13761 | |||
| 13762 | #endif /* COBJMACROS */ | ||
| 13763 | |||
| 13764 | |||
| 13765 | #endif /* C style interface */ | ||
| 13766 | |||
| 13767 | |||
| 13768 | |||
| 13769 | |||
| 13770 | #endif /* __ID3D12LifetimeOwner_INTERFACE_DEFINED__ */ | ||
| 13771 | |||
| 13772 | |||
| 13773 | #ifndef __ID3D12SwapChainAssistant_INTERFACE_DEFINED__ | ||
| 13774 | #define __ID3D12SwapChainAssistant_INTERFACE_DEFINED__ | ||
| 13775 | |||
| 13776 | /* interface ID3D12SwapChainAssistant */ | ||
| 13777 | /* [unique][local][object][uuid] */ | ||
| 13778 | |||
| 13779 | |||
| 13780 | EXTERN_C const IID IID_ID3D12SwapChainAssistant; | ||
| 13781 | |||
| 13782 | #if defined(__cplusplus) && !defined(CINTERFACE) | ||
| 13783 | |||
| 13784 | MIDL_INTERFACE("f1df64b6-57fd-49cd-8807-c0eb88b45c8f") | ||
| 13785 | ID3D12SwapChainAssistant : public IUnknown | ||
| 13786 | { | ||
| 13787 | public: | ||
| 13788 | #if defined(_MSC_VER) || !defined(_WIN32) | ||
| 13789 | virtual LUID STDMETHODCALLTYPE GetLUID( void) = 0; | ||
| 13790 | #else | ||
| 13791 | virtual LUID *STDMETHODCALLTYPE GetLUID( | ||
| 13792 | LUID * RetVal) = 0; | ||
| 13793 | #endif | ||
| 13794 | |||
| 13795 | virtual HRESULT STDMETHODCALLTYPE GetSwapChainObject( | ||
| 13796 | REFIID riid, | ||
| 13797 | _COM_Outptr_ void **ppv) = 0; | ||
| 13798 | |||
| 13799 | virtual HRESULT STDMETHODCALLTYPE GetCurrentResourceAndCommandQueue( | ||
| 13800 | REFIID riidResource, | ||
| 13801 | _COM_Outptr_ void **ppvResource, | ||
| 13802 | REFIID riidQueue, | ||
| 13803 | _COM_Outptr_ void **ppvQueue) = 0; | ||
| 13804 | |||
| 13805 | virtual HRESULT STDMETHODCALLTYPE InsertImplicitSync( void) = 0; | ||
| 13806 | |||
| 13807 | }; | ||
| 13808 | |||
| 13809 | |||
| 13810 | #else /* C style interface */ | ||
| 13811 | |||
| 13812 | typedef struct ID3D12SwapChainAssistantVtbl | ||
| 13813 | { | ||
| 13814 | BEGIN_INTERFACE | ||
| 13815 | |||
| 13816 | DECLSPEC_XFGVIRT(IUnknown, QueryInterface) | ||
| 13817 | HRESULT ( STDMETHODCALLTYPE *QueryInterface )( | ||
| 13818 | ID3D12SwapChainAssistant * This, | ||
| 13819 | REFIID riid, | ||
| 13820 | _COM_Outptr_ void **ppvObject); | ||
| 13821 | |||
| 13822 | DECLSPEC_XFGVIRT(IUnknown, AddRef) | ||
| 13823 | ULONG ( STDMETHODCALLTYPE *AddRef )( | ||
| 13824 | ID3D12SwapChainAssistant * This); | ||
| 13825 | |||
| 13826 | DECLSPEC_XFGVIRT(IUnknown, Release) | ||
| 13827 | ULONG ( STDMETHODCALLTYPE *Release )( | ||
| 13828 | ID3D12SwapChainAssistant * This); | ||
| 13829 | |||
| 13830 | DECLSPEC_XFGVIRT(ID3D12SwapChainAssistant, GetLUID) | ||
| 13831 | #if !defined(_WIN32) | ||
| 13832 | LUID ( STDMETHODCALLTYPE *GetLUID )( | ||
| 13833 | ID3D12SwapChainAssistant * This); | ||
| 13834 | |||
| 13835 | #else | ||
| 13836 | LUID *( STDMETHODCALLTYPE *GetLUID )( | ||
| 13837 | ID3D12SwapChainAssistant * This, | ||
| 13838 | LUID * RetVal); | ||
| 13839 | |||
| 13840 | #endif | ||
| 13841 | |||
| 13842 | DECLSPEC_XFGVIRT(ID3D12SwapChainAssistant, GetSwapChainObject) | ||
| 13843 | HRESULT ( STDMETHODCALLTYPE *GetSwapChainObject )( | ||
| 13844 | ID3D12SwapChainAssistant * This, | ||
| 13845 | REFIID riid, | ||
| 13846 | _COM_Outptr_ void **ppv); | ||
| 13847 | |||
| 13848 | DECLSPEC_XFGVIRT(ID3D12SwapChainAssistant, GetCurrentResourceAndCommandQueue) | ||
| 13849 | HRESULT ( STDMETHODCALLTYPE *GetCurrentResourceAndCommandQueue )( | ||
| 13850 | ID3D12SwapChainAssistant * This, | ||
| 13851 | REFIID riidResource, | ||
| 13852 | _COM_Outptr_ void **ppvResource, | ||
| 13853 | REFIID riidQueue, | ||
| 13854 | _COM_Outptr_ void **ppvQueue); | ||
| 13855 | |||
| 13856 | DECLSPEC_XFGVIRT(ID3D12SwapChainAssistant, InsertImplicitSync) | ||
| 13857 | HRESULT ( STDMETHODCALLTYPE *InsertImplicitSync )( | ||
| 13858 | ID3D12SwapChainAssistant * This); | ||
| 13859 | |||
| 13860 | END_INTERFACE | ||
| 13861 | } ID3D12SwapChainAssistantVtbl; | ||
| 13862 | |||
| 13863 | interface ID3D12SwapChainAssistant | ||
| 13864 | { | ||
| 13865 | CONST_VTBL struct ID3D12SwapChainAssistantVtbl *lpVtbl; | ||
| 13866 | }; | ||
| 13867 | |||
| 13868 | |||
| 13869 | |||
| 13870 | #ifdef COBJMACROS | ||
| 13871 | |||
| 13872 | |||
| 13873 | #define ID3D12SwapChainAssistant_QueryInterface(This,riid,ppvObject) \ | ||
| 13874 | ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) | ||
| 13875 | |||
| 13876 | #define ID3D12SwapChainAssistant_AddRef(This) \ | ||
| 13877 | ( (This)->lpVtbl -> AddRef(This) ) | ||
| 13878 | |||
| 13879 | #define ID3D12SwapChainAssistant_Release(This) \ | ||
| 13880 | ( (This)->lpVtbl -> Release(This) ) | ||
| 13881 | |||
| 13882 | #if !defined(_WIN32) | ||
| 13883 | |||
| 13884 | #define ID3D12SwapChainAssistant_GetLUID(This) \ | ||
| 13885 | ( (This)->lpVtbl -> GetLUID(This) ) | ||
| 13886 | #else | ||
| 13887 | #define ID3D12SwapChainAssistant_GetLUID(This,RetVal) \ | ||
| 13888 | ( (This)->lpVtbl -> GetLUID(This,RetVal) ) | ||
| 13889 | #endif | ||
| 13890 | |||
| 13891 | #define ID3D12SwapChainAssistant_GetSwapChainObject(This,riid,ppv) \ | ||
| 13892 | ( (This)->lpVtbl -> GetSwapChainObject(This,riid,ppv) ) | ||
| 13893 | |||
| 13894 | #define ID3D12SwapChainAssistant_GetCurrentResourceAndCommandQueue(This,riidResource,ppvResource,riidQueue,ppvQueue) \ | ||
| 13895 | ( (This)->lpVtbl -> GetCurrentResourceAndCommandQueue(This,riidResource,ppvResource,riidQueue,ppvQueue) ) | ||
| 13896 | |||
| 13897 | #define ID3D12SwapChainAssistant_InsertImplicitSync(This) \ | ||
| 13898 | ( (This)->lpVtbl -> InsertImplicitSync(This) ) | ||
| 13899 | |||
| 13900 | #endif /* COBJMACROS */ | ||
| 13901 | |||
| 13902 | |||
| 13903 | #endif /* C style interface */ | ||
| 13904 | |||
| 13905 | |||
| 13906 | |||
| 13907 | |||
| 13908 | #endif /* __ID3D12SwapChainAssistant_INTERFACE_DEFINED__ */ | ||
| 13909 | |||
| 13910 | |||
| 13911 | #ifndef __ID3D12LifetimeTracker_INTERFACE_DEFINED__ | ||
| 13912 | #define __ID3D12LifetimeTracker_INTERFACE_DEFINED__ | ||
| 13913 | |||
| 13914 | /* interface ID3D12LifetimeTracker */ | ||
| 13915 | /* [unique][local][object][uuid] */ | ||
| 13916 | |||
| 13917 | |||
| 13918 | EXTERN_C const IID IID_ID3D12LifetimeTracker; | ||
| 13919 | |||
| 13920 | #if defined(__cplusplus) && !defined(CINTERFACE) | ||
| 13921 | |||
| 13922 | MIDL_INTERFACE("3fd03d36-4eb1-424a-a582-494ecb8ba813") | ||
| 13923 | ID3D12LifetimeTracker : public ID3D12DeviceChild | ||
| 13924 | { | ||
| 13925 | public: | ||
| 13926 | virtual HRESULT STDMETHODCALLTYPE DestroyOwnedObject( | ||
| 13927 | _In_ ID3D12DeviceChild *pObject) = 0; | ||
| 13928 | |||
| 13929 | }; | ||
| 13930 | |||
| 13931 | |||
| 13932 | #else /* C style interface */ | ||
| 13933 | |||
| 13934 | typedef struct ID3D12LifetimeTrackerVtbl | ||
| 13935 | { | ||
| 13936 | BEGIN_INTERFACE | ||
| 13937 | |||
| 13938 | DECLSPEC_XFGVIRT(IUnknown, QueryInterface) | ||
| 13939 | HRESULT ( STDMETHODCALLTYPE *QueryInterface )( | ||
| 13940 | ID3D12LifetimeTracker * This, | ||
| 13941 | REFIID riid, | ||
| 13942 | _COM_Outptr_ void **ppvObject); | ||
| 13943 | |||
| 13944 | DECLSPEC_XFGVIRT(IUnknown, AddRef) | ||
| 13945 | ULONG ( STDMETHODCALLTYPE *AddRef )( | ||
| 13946 | ID3D12LifetimeTracker * This); | ||
| 13947 | |||
| 13948 | DECLSPEC_XFGVIRT(IUnknown, Release) | ||
| 13949 | ULONG ( STDMETHODCALLTYPE *Release )( | ||
| 13950 | ID3D12LifetimeTracker * This); | ||
| 13951 | |||
| 13952 | DECLSPEC_XFGVIRT(ID3D12Object, GetPrivateData) | ||
| 13953 | HRESULT ( STDMETHODCALLTYPE *GetPrivateData )( | ||
| 13954 | ID3D12LifetimeTracker * This, | ||
| 13955 | _In_ REFGUID guid, | ||
| 13956 | _Inout_ UINT *pDataSize, | ||
| 13957 | _Out_writes_bytes_opt_( *pDataSize ) void *pData); | ||
| 13958 | |||
| 13959 | DECLSPEC_XFGVIRT(ID3D12Object, SetPrivateData) | ||
| 13960 | HRESULT ( STDMETHODCALLTYPE *SetPrivateData )( | ||
| 13961 | ID3D12LifetimeTracker * This, | ||
| 13962 | _In_ REFGUID guid, | ||
| 13963 | _In_ UINT DataSize, | ||
| 13964 | _In_reads_bytes_opt_( DataSize ) const void *pData); | ||
| 13965 | |||
| 13966 | DECLSPEC_XFGVIRT(ID3D12Object, SetPrivateDataInterface) | ||
| 13967 | HRESULT ( STDMETHODCALLTYPE *SetPrivateDataInterface )( | ||
| 13968 | ID3D12LifetimeTracker * This, | ||
| 13969 | _In_ REFGUID guid, | ||
| 13970 | _In_opt_ const IUnknown *pData); | ||
| 13971 | |||
| 13972 | DECLSPEC_XFGVIRT(ID3D12Object, SetName) | ||
| 13973 | HRESULT ( STDMETHODCALLTYPE *SetName )( | ||
| 13974 | ID3D12LifetimeTracker * This, | ||
| 13975 | _In_z_ LPCWSTR Name); | ||
| 13976 | |||
| 13977 | DECLSPEC_XFGVIRT(ID3D12DeviceChild, GetDevice) | ||
| 13978 | HRESULT ( STDMETHODCALLTYPE *GetDevice )( | ||
| 13979 | ID3D12LifetimeTracker * This, | ||
| 13980 | REFIID riid, | ||
| 13981 | _COM_Outptr_opt_ void **ppvDevice); | ||
| 13982 | |||
| 13983 | DECLSPEC_XFGVIRT(ID3D12LifetimeTracker, DestroyOwnedObject) | ||
| 13984 | HRESULT ( STDMETHODCALLTYPE *DestroyOwnedObject )( | ||
| 13985 | ID3D12LifetimeTracker * This, | ||
| 13986 | _In_ ID3D12DeviceChild *pObject); | ||
| 13987 | |||
| 13988 | END_INTERFACE | ||
| 13989 | } ID3D12LifetimeTrackerVtbl; | ||
| 13990 | |||
| 13991 | interface ID3D12LifetimeTracker | ||
| 13992 | { | ||
| 13993 | CONST_VTBL struct ID3D12LifetimeTrackerVtbl *lpVtbl; | ||
| 13994 | }; | ||
| 13995 | |||
| 13996 | |||
| 13997 | |||
| 13998 | #ifdef COBJMACROS | ||
| 13999 | |||
| 14000 | |||
| 14001 | #define ID3D12LifetimeTracker_QueryInterface(This,riid,ppvObject) \ | ||
| 14002 | ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) | ||
| 14003 | |||
| 14004 | #define ID3D12LifetimeTracker_AddRef(This) \ | ||
| 14005 | ( (This)->lpVtbl -> AddRef(This) ) | ||
| 14006 | |||
| 14007 | #define ID3D12LifetimeTracker_Release(This) \ | ||
| 14008 | ( (This)->lpVtbl -> Release(This) ) | ||
| 14009 | |||
| 14010 | |||
| 14011 | #define ID3D12LifetimeTracker_GetPrivateData(This,guid,pDataSize,pData) \ | ||
| 14012 | ( (This)->lpVtbl -> GetPrivateData(This,guid,pDataSize,pData) ) | ||
| 14013 | |||
| 14014 | #define ID3D12LifetimeTracker_SetPrivateData(This,guid,DataSize,pData) \ | ||
| 14015 | ( (This)->lpVtbl -> SetPrivateData(This,guid,DataSize,pData) ) | ||
| 14016 | |||
| 14017 | #define ID3D12LifetimeTracker_SetPrivateDataInterface(This,guid,pData) \ | ||
| 14018 | ( (This)->lpVtbl -> SetPrivateDataInterface(This,guid,pData) ) | ||
| 14019 | |||
| 14020 | #define ID3D12LifetimeTracker_SetName(This,Name) \ | ||
| 14021 | ( (This)->lpVtbl -> SetName(This,Name) ) | ||
| 14022 | |||
| 14023 | |||
| 14024 | #define ID3D12LifetimeTracker_GetDevice(This,riid,ppvDevice) \ | ||
| 14025 | ( (This)->lpVtbl -> GetDevice(This,riid,ppvDevice) ) | ||
| 14026 | |||
| 14027 | |||
| 14028 | #define ID3D12LifetimeTracker_DestroyOwnedObject(This,pObject) \ | ||
| 14029 | ( (This)->lpVtbl -> DestroyOwnedObject(This,pObject) ) | ||
| 14030 | |||
| 14031 | #endif /* COBJMACROS */ | ||
| 14032 | |||
| 14033 | |||
| 14034 | #endif /* C style interface */ | ||
| 14035 | |||
| 14036 | |||
| 14037 | |||
| 14038 | |||
| 14039 | #endif /* __ID3D12LifetimeTracker_INTERFACE_DEFINED__ */ | ||
| 14040 | |||
| 14041 | |||
| 14042 | /* interface __MIDL_itf_d3d12_0000_0034 */ | ||
| 14043 | /* [local] */ | ||
| 14044 | |||
| 14045 | typedef | ||
| 14046 | enum D3D12_META_COMMAND_PARAMETER_TYPE | ||
| 14047 | { | ||
| 14048 | D3D12_META_COMMAND_PARAMETER_TYPE_FLOAT = 0, | ||
| 14049 | D3D12_META_COMMAND_PARAMETER_TYPE_UINT64 = 1, | ||
| 14050 | D3D12_META_COMMAND_PARAMETER_TYPE_GPU_VIRTUAL_ADDRESS = 2, | ||
| 14051 | D3D12_META_COMMAND_PARAMETER_TYPE_CPU_DESCRIPTOR_HANDLE_HEAP_TYPE_CBV_SRV_UAV = 3, | ||
| 14052 | D3D12_META_COMMAND_PARAMETER_TYPE_GPU_DESCRIPTOR_HANDLE_HEAP_TYPE_CBV_SRV_UAV = 4 | ||
| 14053 | } D3D12_META_COMMAND_PARAMETER_TYPE; | ||
| 14054 | |||
| 14055 | typedef | ||
| 14056 | enum D3D12_META_COMMAND_PARAMETER_FLAGS | ||
| 14057 | { | ||
| 14058 | D3D12_META_COMMAND_PARAMETER_FLAG_INPUT = 0x1, | ||
| 14059 | D3D12_META_COMMAND_PARAMETER_FLAG_OUTPUT = 0x2 | ||
| 14060 | } D3D12_META_COMMAND_PARAMETER_FLAGS; | ||
| 14061 | |||
| 14062 | DEFINE_ENUM_FLAG_OPERATORS( D3D12_META_COMMAND_PARAMETER_FLAGS ) | ||
| 14063 | typedef | ||
| 14064 | enum D3D12_META_COMMAND_PARAMETER_STAGE | ||
| 14065 | { | ||
| 14066 | D3D12_META_COMMAND_PARAMETER_STAGE_CREATION = 0, | ||
| 14067 | D3D12_META_COMMAND_PARAMETER_STAGE_INITIALIZATION = 1, | ||
| 14068 | D3D12_META_COMMAND_PARAMETER_STAGE_EXECUTION = 2 | ||
| 14069 | } D3D12_META_COMMAND_PARAMETER_STAGE; | ||
| 14070 | |||
| 14071 | typedef struct D3D12_META_COMMAND_PARAMETER_DESC | ||
| 14072 | { | ||
| 14073 | LPCWSTR Name; | ||
| 14074 | D3D12_META_COMMAND_PARAMETER_TYPE Type; | ||
| 14075 | D3D12_META_COMMAND_PARAMETER_FLAGS Flags; | ||
| 14076 | D3D12_RESOURCE_STATES RequiredResourceState; | ||
| 14077 | UINT StructureOffset; | ||
| 14078 | } D3D12_META_COMMAND_PARAMETER_DESC; | ||
| 14079 | |||
| 14080 | typedef | ||
| 14081 | enum D3D12_GRAPHICS_STATES | ||
| 14082 | { | ||
| 14083 | D3D12_GRAPHICS_STATE_NONE = 0, | ||
| 14084 | D3D12_GRAPHICS_STATE_IA_VERTEX_BUFFERS = ( 1 << 0 ) , | ||
| 14085 | D3D12_GRAPHICS_STATE_IA_INDEX_BUFFER = ( 1 << 1 ) , | ||
| 14086 | D3D12_GRAPHICS_STATE_IA_PRIMITIVE_TOPOLOGY = ( 1 << 2 ) , | ||
| 14087 | D3D12_GRAPHICS_STATE_DESCRIPTOR_HEAP = ( 1 << 3 ) , | ||
| 14088 | D3D12_GRAPHICS_STATE_GRAPHICS_ROOT_SIGNATURE = ( 1 << 4 ) , | ||
| 14089 | D3D12_GRAPHICS_STATE_COMPUTE_ROOT_SIGNATURE = ( 1 << 5 ) , | ||
| 14090 | D3D12_GRAPHICS_STATE_RS_VIEWPORTS = ( 1 << 6 ) , | ||
| 14091 | D3D12_GRAPHICS_STATE_RS_SCISSOR_RECTS = ( 1 << 7 ) , | ||
| 14092 | D3D12_GRAPHICS_STATE_PREDICATION = ( 1 << 8 ) , | ||
| 14093 | D3D12_GRAPHICS_STATE_OM_RENDER_TARGETS = ( 1 << 9 ) , | ||
| 14094 | D3D12_GRAPHICS_STATE_OM_STENCIL_REF = ( 1 << 10 ) , | ||
| 14095 | D3D12_GRAPHICS_STATE_OM_BLEND_FACTOR = ( 1 << 11 ) , | ||
| 14096 | D3D12_GRAPHICS_STATE_PIPELINE_STATE = ( 1 << 12 ) , | ||
| 14097 | D3D12_GRAPHICS_STATE_SO_TARGETS = ( 1 << 13 ) , | ||
| 14098 | D3D12_GRAPHICS_STATE_OM_DEPTH_BOUNDS = ( 1 << 14 ) , | ||
| 14099 | D3D12_GRAPHICS_STATE_SAMPLE_POSITIONS = ( 1 << 15 ) , | ||
| 14100 | D3D12_GRAPHICS_STATE_VIEW_INSTANCE_MASK = ( 1 << 16 ) | ||
| 14101 | } D3D12_GRAPHICS_STATES; | ||
| 14102 | |||
| 14103 | DEFINE_ENUM_FLAG_OPERATORS( D3D12_GRAPHICS_STATES ) | ||
| 14104 | typedef struct D3D12_META_COMMAND_DESC | ||
| 14105 | { | ||
| 14106 | GUID Id; | ||
| 14107 | LPCWSTR Name; | ||
| 14108 | D3D12_GRAPHICS_STATES InitializationDirtyState; | ||
| 14109 | D3D12_GRAPHICS_STATES ExecutionDirtyState; | ||
| 14110 | } D3D12_META_COMMAND_DESC; | ||
| 14111 | |||
| 14112 | |||
| 14113 | |||
| 14114 | extern RPC_IF_HANDLE __MIDL_itf_d3d12_0000_0034_v0_0_c_ifspec; | ||
| 14115 | extern RPC_IF_HANDLE __MIDL_itf_d3d12_0000_0034_v0_0_s_ifspec; | ||
| 14116 | |||
| 14117 | #ifndef __ID3D12StateObject_INTERFACE_DEFINED__ | ||
| 14118 | #define __ID3D12StateObject_INTERFACE_DEFINED__ | ||
| 14119 | |||
| 14120 | /* interface ID3D12StateObject */ | ||
| 14121 | /* [unique][local][object][uuid] */ | ||
| 14122 | |||
| 14123 | |||
| 14124 | EXTERN_C const IID IID_ID3D12StateObject; | ||
| 14125 | |||
| 14126 | #if defined(__cplusplus) && !defined(CINTERFACE) | ||
| 14127 | |||
| 14128 | MIDL_INTERFACE("47016943-fca8-4594-93ea-af258b55346d") | ||
| 14129 | ID3D12StateObject : public ID3D12Pageable | ||
| 14130 | { | ||
| 14131 | public: | ||
| 14132 | }; | ||
| 14133 | |||
| 14134 | |||
| 14135 | #else /* C style interface */ | ||
| 14136 | |||
| 14137 | typedef struct ID3D12StateObjectVtbl | ||
| 14138 | { | ||
| 14139 | BEGIN_INTERFACE | ||
| 14140 | |||
| 14141 | DECLSPEC_XFGVIRT(IUnknown, QueryInterface) | ||
| 14142 | HRESULT ( STDMETHODCALLTYPE *QueryInterface )( | ||
| 14143 | ID3D12StateObject * This, | ||
| 14144 | REFIID riid, | ||
| 14145 | _COM_Outptr_ void **ppvObject); | ||
| 14146 | |||
| 14147 | DECLSPEC_XFGVIRT(IUnknown, AddRef) | ||
| 14148 | ULONG ( STDMETHODCALLTYPE *AddRef )( | ||
| 14149 | ID3D12StateObject * This); | ||
| 14150 | |||
| 14151 | DECLSPEC_XFGVIRT(IUnknown, Release) | ||
| 14152 | ULONG ( STDMETHODCALLTYPE *Release )( | ||
| 14153 | ID3D12StateObject * This); | ||
| 14154 | |||
| 14155 | DECLSPEC_XFGVIRT(ID3D12Object, GetPrivateData) | ||
| 14156 | HRESULT ( STDMETHODCALLTYPE *GetPrivateData )( | ||
| 14157 | ID3D12StateObject * This, | ||
| 14158 | _In_ REFGUID guid, | ||
| 14159 | _Inout_ UINT *pDataSize, | ||
| 14160 | _Out_writes_bytes_opt_( *pDataSize ) void *pData); | ||
| 14161 | |||
| 14162 | DECLSPEC_XFGVIRT(ID3D12Object, SetPrivateData) | ||
| 14163 | HRESULT ( STDMETHODCALLTYPE *SetPrivateData )( | ||
| 14164 | ID3D12StateObject * This, | ||
| 14165 | _In_ REFGUID guid, | ||
| 14166 | _In_ UINT DataSize, | ||
| 14167 | _In_reads_bytes_opt_( DataSize ) const void *pData); | ||
| 14168 | |||
| 14169 | DECLSPEC_XFGVIRT(ID3D12Object, SetPrivateDataInterface) | ||
| 14170 | HRESULT ( STDMETHODCALLTYPE *SetPrivateDataInterface )( | ||
| 14171 | ID3D12StateObject * This, | ||
| 14172 | _In_ REFGUID guid, | ||
| 14173 | _In_opt_ const IUnknown *pData); | ||
| 14174 | |||
| 14175 | DECLSPEC_XFGVIRT(ID3D12Object, SetName) | ||
| 14176 | HRESULT ( STDMETHODCALLTYPE *SetName )( | ||
| 14177 | ID3D12StateObject * This, | ||
| 14178 | _In_z_ LPCWSTR Name); | ||
| 14179 | |||
| 14180 | DECLSPEC_XFGVIRT(ID3D12DeviceChild, GetDevice) | ||
| 14181 | HRESULT ( STDMETHODCALLTYPE *GetDevice )( | ||
| 14182 | ID3D12StateObject * This, | ||
| 14183 | REFIID riid, | ||
| 14184 | _COM_Outptr_opt_ void **ppvDevice); | ||
| 14185 | |||
| 14186 | END_INTERFACE | ||
| 14187 | } ID3D12StateObjectVtbl; | ||
| 14188 | |||
| 14189 | interface ID3D12StateObject | ||
| 14190 | { | ||
| 14191 | CONST_VTBL struct ID3D12StateObjectVtbl *lpVtbl; | ||
| 14192 | }; | ||
| 14193 | |||
| 14194 | |||
| 14195 | |||
| 14196 | #ifdef COBJMACROS | ||
| 14197 | |||
| 14198 | |||
| 14199 | #define ID3D12StateObject_QueryInterface(This,riid,ppvObject) \ | ||
| 14200 | ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) | ||
| 14201 | |||
| 14202 | #define ID3D12StateObject_AddRef(This) \ | ||
| 14203 | ( (This)->lpVtbl -> AddRef(This) ) | ||
| 14204 | |||
| 14205 | #define ID3D12StateObject_Release(This) \ | ||
| 14206 | ( (This)->lpVtbl -> Release(This) ) | ||
| 14207 | |||
| 14208 | |||
| 14209 | #define ID3D12StateObject_GetPrivateData(This,guid,pDataSize,pData) \ | ||
| 14210 | ( (This)->lpVtbl -> GetPrivateData(This,guid,pDataSize,pData) ) | ||
| 14211 | |||
| 14212 | #define ID3D12StateObject_SetPrivateData(This,guid,DataSize,pData) \ | ||
| 14213 | ( (This)->lpVtbl -> SetPrivateData(This,guid,DataSize,pData) ) | ||
| 14214 | |||
| 14215 | #define ID3D12StateObject_SetPrivateDataInterface(This,guid,pData) \ | ||
| 14216 | ( (This)->lpVtbl -> SetPrivateDataInterface(This,guid,pData) ) | ||
| 14217 | |||
| 14218 | #define ID3D12StateObject_SetName(This,Name) \ | ||
| 14219 | ( (This)->lpVtbl -> SetName(This,Name) ) | ||
| 14220 | |||
| 14221 | |||
| 14222 | #define ID3D12StateObject_GetDevice(This,riid,ppvDevice) \ | ||
| 14223 | ( (This)->lpVtbl -> GetDevice(This,riid,ppvDevice) ) | ||
| 14224 | |||
| 14225 | |||
| 14226 | |||
| 14227 | #endif /* COBJMACROS */ | ||
| 14228 | |||
| 14229 | |||
| 14230 | #endif /* C style interface */ | ||
| 14231 | |||
| 14232 | |||
| 14233 | |||
| 14234 | |||
| 14235 | #endif /* __ID3D12StateObject_INTERFACE_DEFINED__ */ | ||
| 14236 | |||
| 14237 | |||
| 14238 | #ifndef __ID3D12StateObjectProperties_INTERFACE_DEFINED__ | ||
| 14239 | #define __ID3D12StateObjectProperties_INTERFACE_DEFINED__ | ||
| 14240 | |||
| 14241 | /* interface ID3D12StateObjectProperties */ | ||
| 14242 | /* [unique][local][object][uuid] */ | ||
| 14243 | |||
| 14244 | |||
| 14245 | EXTERN_C const IID IID_ID3D12StateObjectProperties; | ||
| 14246 | |||
| 14247 | #if defined(__cplusplus) && !defined(CINTERFACE) | ||
| 14248 | |||
| 14249 | MIDL_INTERFACE("de5fa827-9bf9-4f26-89ff-d7f56fde3860") | ||
| 14250 | ID3D12StateObjectProperties : public IUnknown | ||
| 14251 | { | ||
| 14252 | public: | ||
| 14253 | virtual void *STDMETHODCALLTYPE GetShaderIdentifier( | ||
| 14254 | _In_ LPCWSTR pExportName) = 0; | ||
| 14255 | |||
| 14256 | virtual UINT64 STDMETHODCALLTYPE GetShaderStackSize( | ||
| 14257 | _In_ LPCWSTR pExportName) = 0; | ||
| 14258 | |||
| 14259 | virtual UINT64 STDMETHODCALLTYPE GetPipelineStackSize( void) = 0; | ||
| 14260 | |||
| 14261 | virtual void STDMETHODCALLTYPE SetPipelineStackSize( | ||
| 14262 | UINT64 PipelineStackSizeInBytes) = 0; | ||
| 14263 | |||
| 14264 | }; | ||
| 14265 | |||
| 14266 | |||
| 14267 | #else /* C style interface */ | ||
| 14268 | |||
| 14269 | typedef struct ID3D12StateObjectPropertiesVtbl | ||
| 14270 | { | ||
| 14271 | BEGIN_INTERFACE | ||
| 14272 | |||
| 14273 | DECLSPEC_XFGVIRT(IUnknown, QueryInterface) | ||
| 14274 | HRESULT ( STDMETHODCALLTYPE *QueryInterface )( | ||
| 14275 | ID3D12StateObjectProperties * This, | ||
| 14276 | REFIID riid, | ||
| 14277 | _COM_Outptr_ void **ppvObject); | ||
| 14278 | |||
| 14279 | DECLSPEC_XFGVIRT(IUnknown, AddRef) | ||
| 14280 | ULONG ( STDMETHODCALLTYPE *AddRef )( | ||
| 14281 | ID3D12StateObjectProperties * This); | ||
| 14282 | |||
| 14283 | DECLSPEC_XFGVIRT(IUnknown, Release) | ||
| 14284 | ULONG ( STDMETHODCALLTYPE *Release )( | ||
| 14285 | ID3D12StateObjectProperties * This); | ||
| 14286 | |||
| 14287 | DECLSPEC_XFGVIRT(ID3D12StateObjectProperties, GetShaderIdentifier) | ||
| 14288 | void *( STDMETHODCALLTYPE *GetShaderIdentifier )( | ||
| 14289 | ID3D12StateObjectProperties * This, | ||
| 14290 | _In_ LPCWSTR pExportName); | ||
| 14291 | |||
| 14292 | DECLSPEC_XFGVIRT(ID3D12StateObjectProperties, GetShaderStackSize) | ||
| 14293 | UINT64 ( STDMETHODCALLTYPE *GetShaderStackSize )( | ||
| 14294 | ID3D12StateObjectProperties * This, | ||
| 14295 | _In_ LPCWSTR pExportName); | ||
| 14296 | |||
| 14297 | DECLSPEC_XFGVIRT(ID3D12StateObjectProperties, GetPipelineStackSize) | ||
| 14298 | UINT64 ( STDMETHODCALLTYPE *GetPipelineStackSize )( | ||
| 14299 | ID3D12StateObjectProperties * This); | ||
| 14300 | |||
| 14301 | DECLSPEC_XFGVIRT(ID3D12StateObjectProperties, SetPipelineStackSize) | ||
| 14302 | void ( STDMETHODCALLTYPE *SetPipelineStackSize )( | ||
| 14303 | ID3D12StateObjectProperties * This, | ||
| 14304 | UINT64 PipelineStackSizeInBytes); | ||
| 14305 | |||
| 14306 | END_INTERFACE | ||
| 14307 | } ID3D12StateObjectPropertiesVtbl; | ||
| 14308 | |||
| 14309 | interface ID3D12StateObjectProperties | ||
| 14310 | { | ||
| 14311 | CONST_VTBL struct ID3D12StateObjectPropertiesVtbl *lpVtbl; | ||
| 14312 | }; | ||
| 14313 | |||
| 14314 | |||
| 14315 | |||
| 14316 | #ifdef COBJMACROS | ||
| 14317 | |||
| 14318 | |||
| 14319 | #define ID3D12StateObjectProperties_QueryInterface(This,riid,ppvObject) \ | ||
| 14320 | ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) | ||
| 14321 | |||
| 14322 | #define ID3D12StateObjectProperties_AddRef(This) \ | ||
| 14323 | ( (This)->lpVtbl -> AddRef(This) ) | ||
| 14324 | |||
| 14325 | #define ID3D12StateObjectProperties_Release(This) \ | ||
| 14326 | ( (This)->lpVtbl -> Release(This) ) | ||
| 14327 | |||
| 14328 | |||
| 14329 | #define ID3D12StateObjectProperties_GetShaderIdentifier(This,pExportName) \ | ||
| 14330 | ( (This)->lpVtbl -> GetShaderIdentifier(This,pExportName) ) | ||
| 14331 | |||
| 14332 | #define ID3D12StateObjectProperties_GetShaderStackSize(This,pExportName) \ | ||
| 14333 | ( (This)->lpVtbl -> GetShaderStackSize(This,pExportName) ) | ||
| 14334 | |||
| 14335 | #define ID3D12StateObjectProperties_GetPipelineStackSize(This) \ | ||
| 14336 | ( (This)->lpVtbl -> GetPipelineStackSize(This) ) | ||
| 14337 | |||
| 14338 | #define ID3D12StateObjectProperties_SetPipelineStackSize(This,PipelineStackSizeInBytes) \ | ||
| 14339 | ( (This)->lpVtbl -> SetPipelineStackSize(This,PipelineStackSizeInBytes) ) | ||
| 14340 | |||
| 14341 | #endif /* COBJMACROS */ | ||
| 14342 | |||
| 14343 | |||
| 14344 | #endif /* C style interface */ | ||
| 14345 | |||
| 14346 | |||
| 14347 | |||
| 14348 | |||
| 14349 | #endif /* __ID3D12StateObjectProperties_INTERFACE_DEFINED__ */ | ||
| 14350 | |||
| 14351 | |||
| 14352 | /* interface __MIDL_itf_d3d12_0000_0036 */ | ||
| 14353 | /* [local] */ | ||
| 14354 | |||
| 14355 | typedef struct D3D12_PROGRAM_IDENTIFIER | ||
| 14356 | { | ||
| 14357 | UINT64 OpaqueData[ 4 ]; | ||
| 14358 | } D3D12_PROGRAM_IDENTIFIER; | ||
| 14359 | |||
| 14360 | |||
| 14361 | |||
| 14362 | extern RPC_IF_HANDLE __MIDL_itf_d3d12_0000_0036_v0_0_c_ifspec; | ||
| 14363 | extern RPC_IF_HANDLE __MIDL_itf_d3d12_0000_0036_v0_0_s_ifspec; | ||
| 14364 | |||
| 14365 | #ifndef __ID3D12StateObjectProperties1_INTERFACE_DEFINED__ | ||
| 14366 | #define __ID3D12StateObjectProperties1_INTERFACE_DEFINED__ | ||
| 14367 | |||
| 14368 | /* interface ID3D12StateObjectProperties1 */ | ||
| 14369 | /* [unique][local][object][uuid] */ | ||
| 14370 | |||
| 14371 | |||
| 14372 | EXTERN_C const IID IID_ID3D12StateObjectProperties1; | ||
| 14373 | |||
| 14374 | #if defined(__cplusplus) && !defined(CINTERFACE) | ||
| 14375 | |||
| 14376 | MIDL_INTERFACE("460caac7-1d24-446a-a184-ca67db494138") | ||
| 14377 | ID3D12StateObjectProperties1 : public ID3D12StateObjectProperties | ||
| 14378 | { | ||
| 14379 | public: | ||
| 14380 | #if defined(_MSC_VER) || !defined(_WIN32) | ||
| 14381 | virtual D3D12_PROGRAM_IDENTIFIER STDMETHODCALLTYPE GetProgramIdentifier( | ||
| 14382 | LPCWSTR pProgramName) = 0; | ||
| 14383 | #else | ||
| 14384 | virtual D3D12_PROGRAM_IDENTIFIER *STDMETHODCALLTYPE GetProgramIdentifier( | ||
| 14385 | D3D12_PROGRAM_IDENTIFIER * RetVal, | ||
| 14386 | LPCWSTR pProgramName) = 0; | ||
| 14387 | #endif | ||
| 14388 | |||
| 14389 | }; | ||
| 14390 | |||
| 14391 | |||
| 14392 | #else /* C style interface */ | ||
| 14393 | |||
| 14394 | typedef struct ID3D12StateObjectProperties1Vtbl | ||
| 14395 | { | ||
| 14396 | BEGIN_INTERFACE | ||
| 14397 | |||
| 14398 | DECLSPEC_XFGVIRT(IUnknown, QueryInterface) | ||
| 14399 | HRESULT ( STDMETHODCALLTYPE *QueryInterface )( | ||
| 14400 | ID3D12StateObjectProperties1 * This, | ||
| 14401 | REFIID riid, | ||
| 14402 | _COM_Outptr_ void **ppvObject); | ||
| 14403 | |||
| 14404 | DECLSPEC_XFGVIRT(IUnknown, AddRef) | ||
| 14405 | ULONG ( STDMETHODCALLTYPE *AddRef )( | ||
| 14406 | ID3D12StateObjectProperties1 * This); | ||
| 14407 | |||
| 14408 | DECLSPEC_XFGVIRT(IUnknown, Release) | ||
| 14409 | ULONG ( STDMETHODCALLTYPE *Release )( | ||
| 14410 | ID3D12StateObjectProperties1 * This); | ||
| 14411 | |||
| 14412 | DECLSPEC_XFGVIRT(ID3D12StateObjectProperties, GetShaderIdentifier) | ||
| 14413 | void *( STDMETHODCALLTYPE *GetShaderIdentifier )( | ||
| 14414 | ID3D12StateObjectProperties1 * This, | ||
| 14415 | _In_ LPCWSTR pExportName); | ||
| 14416 | |||
| 14417 | DECLSPEC_XFGVIRT(ID3D12StateObjectProperties, GetShaderStackSize) | ||
| 14418 | UINT64 ( STDMETHODCALLTYPE *GetShaderStackSize )( | ||
| 14419 | ID3D12StateObjectProperties1 * This, | ||
| 14420 | _In_ LPCWSTR pExportName); | ||
| 14421 | |||
| 14422 | DECLSPEC_XFGVIRT(ID3D12StateObjectProperties, GetPipelineStackSize) | ||
| 14423 | UINT64 ( STDMETHODCALLTYPE *GetPipelineStackSize )( | ||
| 14424 | ID3D12StateObjectProperties1 * This); | ||
| 14425 | |||
| 14426 | DECLSPEC_XFGVIRT(ID3D12StateObjectProperties, SetPipelineStackSize) | ||
| 14427 | void ( STDMETHODCALLTYPE *SetPipelineStackSize )( | ||
| 14428 | ID3D12StateObjectProperties1 * This, | ||
| 14429 | UINT64 PipelineStackSizeInBytes); | ||
| 14430 | |||
| 14431 | DECLSPEC_XFGVIRT(ID3D12StateObjectProperties1, GetProgramIdentifier) | ||
| 14432 | #if !defined(_WIN32) | ||
| 14433 | D3D12_PROGRAM_IDENTIFIER ( STDMETHODCALLTYPE *GetProgramIdentifier )( | ||
| 14434 | ID3D12StateObjectProperties1 * This, | ||
| 14435 | LPCWSTR pProgramName); | ||
| 14436 | |||
| 14437 | #else | ||
| 14438 | D3D12_PROGRAM_IDENTIFIER *( STDMETHODCALLTYPE *GetProgramIdentifier )( | ||
| 14439 | ID3D12StateObjectProperties1 * This, | ||
| 14440 | D3D12_PROGRAM_IDENTIFIER * RetVal, | ||
| 14441 | LPCWSTR pProgramName); | ||
| 14442 | |||
| 14443 | #endif | ||
| 14444 | |||
| 14445 | END_INTERFACE | ||
| 14446 | } ID3D12StateObjectProperties1Vtbl; | ||
| 14447 | |||
| 14448 | interface ID3D12StateObjectProperties1 | ||
| 14449 | { | ||
| 14450 | CONST_VTBL struct ID3D12StateObjectProperties1Vtbl *lpVtbl; | ||
| 14451 | }; | ||
| 14452 | |||
| 14453 | |||
| 14454 | |||
| 14455 | #ifdef COBJMACROS | ||
| 14456 | |||
| 14457 | |||
| 14458 | #define ID3D12StateObjectProperties1_QueryInterface(This,riid,ppvObject) \ | ||
| 14459 | ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) | ||
| 14460 | |||
| 14461 | #define ID3D12StateObjectProperties1_AddRef(This) \ | ||
| 14462 | ( (This)->lpVtbl -> AddRef(This) ) | ||
| 14463 | |||
| 14464 | #define ID3D12StateObjectProperties1_Release(This) \ | ||
| 14465 | ( (This)->lpVtbl -> Release(This) ) | ||
| 14466 | |||
| 14467 | |||
| 14468 | #define ID3D12StateObjectProperties1_GetShaderIdentifier(This,pExportName) \ | ||
| 14469 | ( (This)->lpVtbl -> GetShaderIdentifier(This,pExportName) ) | ||
| 14470 | |||
| 14471 | #define ID3D12StateObjectProperties1_GetShaderStackSize(This,pExportName) \ | ||
| 14472 | ( (This)->lpVtbl -> GetShaderStackSize(This,pExportName) ) | ||
| 14473 | |||
| 14474 | #define ID3D12StateObjectProperties1_GetPipelineStackSize(This) \ | ||
| 14475 | ( (This)->lpVtbl -> GetPipelineStackSize(This) ) | ||
| 14476 | |||
| 14477 | #define ID3D12StateObjectProperties1_SetPipelineStackSize(This,PipelineStackSizeInBytes) \ | ||
| 14478 | ( (This)->lpVtbl -> SetPipelineStackSize(This,PipelineStackSizeInBytes) ) | ||
| 14479 | |||
| 14480 | #if !defined(_WIN32) | ||
| 14481 | |||
| 14482 | #define ID3D12StateObjectProperties1_GetProgramIdentifier(This,pProgramName) \ | ||
| 14483 | ( (This)->lpVtbl -> GetProgramIdentifier(This,pProgramName) ) | ||
| 14484 | #else | ||
| 14485 | #define ID3D12StateObjectProperties1_GetProgramIdentifier(This,RetVal,pProgramName) \ | ||
| 14486 | ( (This)->lpVtbl -> GetProgramIdentifier(This,RetVal,pProgramName) ) | ||
| 14487 | #endif | ||
| 14488 | |||
| 14489 | #endif /* COBJMACROS */ | ||
| 14490 | |||
| 14491 | |||
| 14492 | #endif /* C style interface */ | ||
| 14493 | |||
| 14494 | |||
| 14495 | |||
| 14496 | |||
| 14497 | #endif /* __ID3D12StateObjectProperties1_INTERFACE_DEFINED__ */ | ||
| 14498 | |||
| 14499 | |||
| 14500 | #ifndef __ID3D12StateObjectProperties2_INTERFACE_DEFINED__ | ||
| 14501 | #define __ID3D12StateObjectProperties2_INTERFACE_DEFINED__ | ||
| 14502 | |||
| 14503 | /* interface ID3D12StateObjectProperties2 */ | ||
| 14504 | /* [unique][local][object][uuid] */ | ||
| 14505 | |||
| 14506 | |||
| 14507 | EXTERN_C const IID IID_ID3D12StateObjectProperties2; | ||
| 14508 | |||
| 14509 | #if defined(__cplusplus) && !defined(CINTERFACE) | ||
| 14510 | |||
| 14511 | MIDL_INTERFACE("d5e82917-f0f1-44cf-ae5e-ce222dd0b884") | ||
| 14512 | ID3D12StateObjectProperties2 : public ID3D12StateObjectProperties1 | ||
| 14513 | { | ||
| 14514 | public: | ||
| 14515 | virtual HRESULT STDMETHODCALLTYPE GetGlobalRootSignatureForProgram( | ||
| 14516 | LPCWSTR pProgramName, | ||
| 14517 | REFIID riid, | ||
| 14518 | _COM_Outptr_ void **ppvRootSignature) = 0; | ||
| 14519 | |||
| 14520 | virtual HRESULT STDMETHODCALLTYPE GetGlobalRootSignatureForShader( | ||
| 14521 | LPCWSTR pExportName, | ||
| 14522 | REFIID riid, | ||
| 14523 | _COM_Outptr_ void **ppvRootSignature) = 0; | ||
| 14524 | |||
| 14525 | }; | ||
| 14526 | |||
| 14527 | |||
| 14528 | #else /* C style interface */ | ||
| 14529 | |||
| 14530 | typedef struct ID3D12StateObjectProperties2Vtbl | ||
| 14531 | { | ||
| 14532 | BEGIN_INTERFACE | ||
| 14533 | |||
| 14534 | DECLSPEC_XFGVIRT(IUnknown, QueryInterface) | ||
| 14535 | HRESULT ( STDMETHODCALLTYPE *QueryInterface )( | ||
| 14536 | ID3D12StateObjectProperties2 * This, | ||
| 14537 | REFIID riid, | ||
| 14538 | _COM_Outptr_ void **ppvObject); | ||
| 14539 | |||
| 14540 | DECLSPEC_XFGVIRT(IUnknown, AddRef) | ||
| 14541 | ULONG ( STDMETHODCALLTYPE *AddRef )( | ||
| 14542 | ID3D12StateObjectProperties2 * This); | ||
| 14543 | |||
| 14544 | DECLSPEC_XFGVIRT(IUnknown, Release) | ||
| 14545 | ULONG ( STDMETHODCALLTYPE *Release )( | ||
| 14546 | ID3D12StateObjectProperties2 * This); | ||
| 14547 | |||
| 14548 | DECLSPEC_XFGVIRT(ID3D12StateObjectProperties, GetShaderIdentifier) | ||
| 14549 | void *( STDMETHODCALLTYPE *GetShaderIdentifier )( | ||
| 14550 | ID3D12StateObjectProperties2 * This, | ||
| 14551 | _In_ LPCWSTR pExportName); | ||
| 14552 | |||
| 14553 | DECLSPEC_XFGVIRT(ID3D12StateObjectProperties, GetShaderStackSize) | ||
| 14554 | UINT64 ( STDMETHODCALLTYPE *GetShaderStackSize )( | ||
| 14555 | ID3D12StateObjectProperties2 * This, | ||
| 14556 | _In_ LPCWSTR pExportName); | ||
| 14557 | |||
| 14558 | DECLSPEC_XFGVIRT(ID3D12StateObjectProperties, GetPipelineStackSize) | ||
| 14559 | UINT64 ( STDMETHODCALLTYPE *GetPipelineStackSize )( | ||
| 14560 | ID3D12StateObjectProperties2 * This); | ||
| 14561 | |||
| 14562 | DECLSPEC_XFGVIRT(ID3D12StateObjectProperties, SetPipelineStackSize) | ||
| 14563 | void ( STDMETHODCALLTYPE *SetPipelineStackSize )( | ||
| 14564 | ID3D12StateObjectProperties2 * This, | ||
| 14565 | UINT64 PipelineStackSizeInBytes); | ||
| 14566 | |||
| 14567 | DECLSPEC_XFGVIRT(ID3D12StateObjectProperties1, GetProgramIdentifier) | ||
| 14568 | #if !defined(_WIN32) | ||
| 14569 | D3D12_PROGRAM_IDENTIFIER ( STDMETHODCALLTYPE *GetProgramIdentifier )( | ||
| 14570 | ID3D12StateObjectProperties2 * This, | ||
| 14571 | LPCWSTR pProgramName); | ||
| 14572 | |||
| 14573 | #else | ||
| 14574 | D3D12_PROGRAM_IDENTIFIER *( STDMETHODCALLTYPE *GetProgramIdentifier )( | ||
| 14575 | ID3D12StateObjectProperties2 * This, | ||
| 14576 | D3D12_PROGRAM_IDENTIFIER * RetVal, | ||
| 14577 | LPCWSTR pProgramName); | ||
| 14578 | |||
| 14579 | #endif | ||
| 14580 | |||
| 14581 | DECLSPEC_XFGVIRT(ID3D12StateObjectProperties2, GetGlobalRootSignatureForProgram) | ||
| 14582 | HRESULT ( STDMETHODCALLTYPE *GetGlobalRootSignatureForProgram )( | ||
| 14583 | ID3D12StateObjectProperties2 * This, | ||
| 14584 | LPCWSTR pProgramName, | ||
| 14585 | REFIID riid, | ||
| 14586 | _COM_Outptr_ void **ppvRootSignature); | ||
| 14587 | |||
| 14588 | DECLSPEC_XFGVIRT(ID3D12StateObjectProperties2, GetGlobalRootSignatureForShader) | ||
| 14589 | HRESULT ( STDMETHODCALLTYPE *GetGlobalRootSignatureForShader )( | ||
| 14590 | ID3D12StateObjectProperties2 * This, | ||
| 14591 | LPCWSTR pExportName, | ||
| 14592 | REFIID riid, | ||
| 14593 | _COM_Outptr_ void **ppvRootSignature); | ||
| 14594 | |||
| 14595 | END_INTERFACE | ||
| 14596 | } ID3D12StateObjectProperties2Vtbl; | ||
| 14597 | |||
| 14598 | interface ID3D12StateObjectProperties2 | ||
| 14599 | { | ||
| 14600 | CONST_VTBL struct ID3D12StateObjectProperties2Vtbl *lpVtbl; | ||
| 14601 | }; | ||
| 14602 | |||
| 14603 | |||
| 14604 | |||
| 14605 | #ifdef COBJMACROS | ||
| 14606 | |||
| 14607 | |||
| 14608 | #define ID3D12StateObjectProperties2_QueryInterface(This,riid,ppvObject) \ | ||
| 14609 | ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) | ||
| 14610 | |||
| 14611 | #define ID3D12StateObjectProperties2_AddRef(This) \ | ||
| 14612 | ( (This)->lpVtbl -> AddRef(This) ) | ||
| 14613 | |||
| 14614 | #define ID3D12StateObjectProperties2_Release(This) \ | ||
| 14615 | ( (This)->lpVtbl -> Release(This) ) | ||
| 14616 | |||
| 14617 | |||
| 14618 | #define ID3D12StateObjectProperties2_GetShaderIdentifier(This,pExportName) \ | ||
| 14619 | ( (This)->lpVtbl -> GetShaderIdentifier(This,pExportName) ) | ||
| 14620 | |||
| 14621 | #define ID3D12StateObjectProperties2_GetShaderStackSize(This,pExportName) \ | ||
| 14622 | ( (This)->lpVtbl -> GetShaderStackSize(This,pExportName) ) | ||
| 14623 | |||
| 14624 | #define ID3D12StateObjectProperties2_GetPipelineStackSize(This) \ | ||
| 14625 | ( (This)->lpVtbl -> GetPipelineStackSize(This) ) | ||
| 14626 | |||
| 14627 | #define ID3D12StateObjectProperties2_SetPipelineStackSize(This,PipelineStackSizeInBytes) \ | ||
| 14628 | ( (This)->lpVtbl -> SetPipelineStackSize(This,PipelineStackSizeInBytes) ) | ||
| 14629 | |||
| 14630 | #if !defined(_WIN32) | ||
| 14631 | |||
| 14632 | #define ID3D12StateObjectProperties2_GetProgramIdentifier(This,pProgramName) \ | ||
| 14633 | ( (This)->lpVtbl -> GetProgramIdentifier(This,pProgramName) ) | ||
| 14634 | #else | ||
| 14635 | #define ID3D12StateObjectProperties2_GetProgramIdentifier(This,RetVal,pProgramName) \ | ||
| 14636 | ( (This)->lpVtbl -> GetProgramIdentifier(This,RetVal,pProgramName) ) | ||
| 14637 | #endif | ||
| 14638 | |||
| 14639 | |||
| 14640 | #define ID3D12StateObjectProperties2_GetGlobalRootSignatureForProgram(This,pProgramName,riid,ppvRootSignature) \ | ||
| 14641 | ( (This)->lpVtbl -> GetGlobalRootSignatureForProgram(This,pProgramName,riid,ppvRootSignature) ) | ||
| 14642 | |||
| 14643 | #define ID3D12StateObjectProperties2_GetGlobalRootSignatureForShader(This,pExportName,riid,ppvRootSignature) \ | ||
| 14644 | ( (This)->lpVtbl -> GetGlobalRootSignatureForShader(This,pExportName,riid,ppvRootSignature) ) | ||
| 14645 | |||
| 14646 | #endif /* COBJMACROS */ | ||
| 14647 | |||
| 14648 | |||
| 14649 | #endif /* C style interface */ | ||
| 14650 | |||
| 14651 | |||
| 14652 | |||
| 14653 | |||
| 14654 | #endif /* __ID3D12StateObjectProperties2_INTERFACE_DEFINED__ */ | ||
| 14655 | |||
| 14656 | |||
| 14657 | /* interface __MIDL_itf_d3d12_0000_0038 */ | ||
| 14658 | /* [local] */ | ||
| 14659 | |||
| 14660 | typedef struct D3D12_NODE_ID | ||
| 14661 | { | ||
| 14662 | LPCWSTR Name; | ||
| 14663 | UINT ArrayIndex; | ||
| 14664 | } D3D12_NODE_ID; | ||
| 14665 | |||
| 14666 | typedef struct D3D12_WORK_GRAPH_MEMORY_REQUIREMENTS | ||
| 14667 | { | ||
| 14668 | UINT64 MinSizeInBytes; | ||
| 14669 | UINT64 MaxSizeInBytes; | ||
| 14670 | UINT SizeGranularityInBytes; | ||
| 14671 | } D3D12_WORK_GRAPH_MEMORY_REQUIREMENTS; | ||
| 14672 | |||
| 14673 | |||
| 14674 | |||
| 14675 | extern RPC_IF_HANDLE __MIDL_itf_d3d12_0000_0038_v0_0_c_ifspec; | ||
| 14676 | extern RPC_IF_HANDLE __MIDL_itf_d3d12_0000_0038_v0_0_s_ifspec; | ||
| 14677 | |||
| 14678 | #ifndef __ID3D12WorkGraphProperties_INTERFACE_DEFINED__ | ||
| 14679 | #define __ID3D12WorkGraphProperties_INTERFACE_DEFINED__ | ||
| 14680 | |||
| 14681 | /* interface ID3D12WorkGraphProperties */ | ||
| 14682 | /* [unique][local][object][uuid] */ | ||
| 14683 | |||
| 14684 | |||
| 14685 | EXTERN_C const IID IID_ID3D12WorkGraphProperties; | ||
| 14686 | |||
| 14687 | #if defined(__cplusplus) && !defined(CINTERFACE) | ||
| 14688 | |||
| 14689 | MIDL_INTERFACE("065acf71-f863-4b89-82f4-02e4d5886757") | ||
| 14690 | ID3D12WorkGraphProperties : public IUnknown | ||
| 14691 | { | ||
| 14692 | public: | ||
| 14693 | virtual UINT STDMETHODCALLTYPE GetNumWorkGraphs( void) = 0; | ||
| 14694 | |||
| 14695 | virtual LPCWSTR STDMETHODCALLTYPE GetProgramName( | ||
| 14696 | UINT WorkGraphIndex) = 0; | ||
| 14697 | |||
| 14698 | virtual UINT STDMETHODCALLTYPE GetWorkGraphIndex( | ||
| 14699 | LPCWSTR pProgramName) = 0; | ||
| 14700 | |||
| 14701 | virtual UINT STDMETHODCALLTYPE GetNumNodes( | ||
| 14702 | UINT WorkGraphIndex) = 0; | ||
| 14703 | |||
| 14704 | #if defined(_MSC_VER) || !defined(_WIN32) | ||
| 14705 | virtual D3D12_NODE_ID STDMETHODCALLTYPE GetNodeID( | ||
| 14706 | UINT WorkGraphIndex, | ||
| 14707 | UINT NodeIndex) = 0; | ||
| 14708 | #else | ||
| 14709 | virtual D3D12_NODE_ID *STDMETHODCALLTYPE GetNodeID( | ||
| 14710 | D3D12_NODE_ID * RetVal, | ||
| 14711 | UINT WorkGraphIndex, | ||
| 14712 | UINT NodeIndex) = 0; | ||
| 14713 | #endif | ||
| 14714 | |||
| 14715 | virtual UINT STDMETHODCALLTYPE GetNodeIndex( | ||
| 14716 | UINT WorkGraphIndex, | ||
| 14717 | D3D12_NODE_ID NodeID) = 0; | ||
| 14718 | |||
| 14719 | virtual UINT STDMETHODCALLTYPE GetNodeLocalRootArgumentsTableIndex( | ||
| 14720 | UINT WorkGraphIndex, | ||
| 14721 | UINT NodeIndex) = 0; | ||
| 14722 | |||
| 14723 | virtual UINT STDMETHODCALLTYPE GetNumEntrypoints( | ||
| 14724 | UINT WorkGraphIndex) = 0; | ||
| 14725 | |||
| 14726 | #if defined(_MSC_VER) || !defined(_WIN32) | ||
| 14727 | virtual D3D12_NODE_ID STDMETHODCALLTYPE GetEntrypointID( | ||
| 14728 | UINT WorkGraphIndex, | ||
| 14729 | UINT EntrypointIndex) = 0; | ||
| 14730 | #else | ||
| 14731 | virtual D3D12_NODE_ID *STDMETHODCALLTYPE GetEntrypointID( | ||
| 14732 | D3D12_NODE_ID * RetVal, | ||
| 14733 | UINT WorkGraphIndex, | ||
| 14734 | UINT EntrypointIndex) = 0; | ||
| 14735 | #endif | ||
| 14736 | |||
| 14737 | virtual UINT STDMETHODCALLTYPE GetEntrypointIndex( | ||
| 14738 | UINT WorkGraphIndex, | ||
| 14739 | D3D12_NODE_ID NodeID) = 0; | ||
| 14740 | |||
| 14741 | virtual UINT STDMETHODCALLTYPE GetEntrypointRecordSizeInBytes( | ||
| 14742 | UINT WorkGraphIndex, | ||
| 14743 | UINT EntrypointIndex) = 0; | ||
| 14744 | |||
| 14745 | virtual void STDMETHODCALLTYPE GetWorkGraphMemoryRequirements( | ||
| 14746 | UINT WorkGraphIndex, | ||
| 14747 | _Out_ D3D12_WORK_GRAPH_MEMORY_REQUIREMENTS *pWorkGraphMemoryRequirements) = 0; | ||
| 14748 | |||
| 14749 | virtual UINT STDMETHODCALLTYPE GetEntrypointRecordAlignmentInBytes( | ||
| 14750 | UINT WorkGraphIndex, | ||
| 14751 | UINT EntrypointIndex) = 0; | ||
| 14752 | |||
| 14753 | }; | ||
| 14754 | |||
| 14755 | |||
| 14756 | #else /* C style interface */ | ||
| 14757 | |||
| 14758 | typedef struct ID3D12WorkGraphPropertiesVtbl | ||
| 14759 | { | ||
| 14760 | BEGIN_INTERFACE | ||
| 14761 | |||
| 14762 | DECLSPEC_XFGVIRT(IUnknown, QueryInterface) | ||
| 14763 | HRESULT ( STDMETHODCALLTYPE *QueryInterface )( | ||
| 14764 | ID3D12WorkGraphProperties * This, | ||
| 14765 | REFIID riid, | ||
| 14766 | _COM_Outptr_ void **ppvObject); | ||
| 14767 | |||
| 14768 | DECLSPEC_XFGVIRT(IUnknown, AddRef) | ||
| 14769 | ULONG ( STDMETHODCALLTYPE *AddRef )( | ||
| 14770 | ID3D12WorkGraphProperties * This); | ||
| 14771 | |||
| 14772 | DECLSPEC_XFGVIRT(IUnknown, Release) | ||
| 14773 | ULONG ( STDMETHODCALLTYPE *Release )( | ||
| 14774 | ID3D12WorkGraphProperties * This); | ||
| 14775 | |||
| 14776 | DECLSPEC_XFGVIRT(ID3D12WorkGraphProperties, GetNumWorkGraphs) | ||
| 14777 | UINT ( STDMETHODCALLTYPE *GetNumWorkGraphs )( | ||
| 14778 | ID3D12WorkGraphProperties * This); | ||
| 14779 | |||
| 14780 | DECLSPEC_XFGVIRT(ID3D12WorkGraphProperties, GetProgramName) | ||
| 14781 | LPCWSTR ( STDMETHODCALLTYPE *GetProgramName )( | ||
| 14782 | ID3D12WorkGraphProperties * This, | ||
| 14783 | UINT WorkGraphIndex); | ||
| 14784 | |||
| 14785 | DECLSPEC_XFGVIRT(ID3D12WorkGraphProperties, GetWorkGraphIndex) | ||
| 14786 | UINT ( STDMETHODCALLTYPE *GetWorkGraphIndex )( | ||
| 14787 | ID3D12WorkGraphProperties * This, | ||
| 14788 | LPCWSTR pProgramName); | ||
| 14789 | |||
| 14790 | DECLSPEC_XFGVIRT(ID3D12WorkGraphProperties, GetNumNodes) | ||
| 14791 | UINT ( STDMETHODCALLTYPE *GetNumNodes )( | ||
| 14792 | ID3D12WorkGraphProperties * This, | ||
| 14793 | UINT WorkGraphIndex); | ||
| 14794 | |||
| 14795 | DECLSPEC_XFGVIRT(ID3D12WorkGraphProperties, GetNodeID) | ||
| 14796 | #if !defined(_WIN32) | ||
| 14797 | D3D12_NODE_ID ( STDMETHODCALLTYPE *GetNodeID )( | ||
| 14798 | ID3D12WorkGraphProperties * This, | ||
| 14799 | UINT WorkGraphIndex, | ||
| 14800 | UINT NodeIndex); | ||
| 14801 | |||
| 14802 | #else | ||
| 14803 | D3D12_NODE_ID *( STDMETHODCALLTYPE *GetNodeID )( | ||
| 14804 | ID3D12WorkGraphProperties * This, | ||
| 14805 | D3D12_NODE_ID * RetVal, | ||
| 14806 | UINT WorkGraphIndex, | ||
| 14807 | UINT NodeIndex); | ||
| 14808 | |||
| 14809 | #endif | ||
| 14810 | |||
| 14811 | DECLSPEC_XFGVIRT(ID3D12WorkGraphProperties, GetNodeIndex) | ||
| 14812 | UINT ( STDMETHODCALLTYPE *GetNodeIndex )( | ||
| 14813 | ID3D12WorkGraphProperties * This, | ||
| 14814 | UINT WorkGraphIndex, | ||
| 14815 | D3D12_NODE_ID NodeID); | ||
| 14816 | |||
| 14817 | DECLSPEC_XFGVIRT(ID3D12WorkGraphProperties, GetNodeLocalRootArgumentsTableIndex) | ||
| 14818 | UINT ( STDMETHODCALLTYPE *GetNodeLocalRootArgumentsTableIndex )( | ||
| 14819 | ID3D12WorkGraphProperties * This, | ||
| 14820 | UINT WorkGraphIndex, | ||
| 14821 | UINT NodeIndex); | ||
| 14822 | |||
| 14823 | DECLSPEC_XFGVIRT(ID3D12WorkGraphProperties, GetNumEntrypoints) | ||
| 14824 | UINT ( STDMETHODCALLTYPE *GetNumEntrypoints )( | ||
| 14825 | ID3D12WorkGraphProperties * This, | ||
| 14826 | UINT WorkGraphIndex); | ||
| 14827 | |||
| 14828 | DECLSPEC_XFGVIRT(ID3D12WorkGraphProperties, GetEntrypointID) | ||
| 14829 | #if !defined(_WIN32) | ||
| 14830 | D3D12_NODE_ID ( STDMETHODCALLTYPE *GetEntrypointID )( | ||
| 14831 | ID3D12WorkGraphProperties * This, | ||
| 14832 | UINT WorkGraphIndex, | ||
| 14833 | UINT EntrypointIndex); | ||
| 14834 | |||
| 14835 | #else | ||
| 14836 | D3D12_NODE_ID *( STDMETHODCALLTYPE *GetEntrypointID )( | ||
| 14837 | ID3D12WorkGraphProperties * This, | ||
| 14838 | D3D12_NODE_ID * RetVal, | ||
| 14839 | UINT WorkGraphIndex, | ||
| 14840 | UINT EntrypointIndex); | ||
| 14841 | |||
| 14842 | #endif | ||
| 14843 | |||
| 14844 | DECLSPEC_XFGVIRT(ID3D12WorkGraphProperties, GetEntrypointIndex) | ||
| 14845 | UINT ( STDMETHODCALLTYPE *GetEntrypointIndex )( | ||
| 14846 | ID3D12WorkGraphProperties * This, | ||
| 14847 | UINT WorkGraphIndex, | ||
| 14848 | D3D12_NODE_ID NodeID); | ||
| 14849 | |||
| 14850 | DECLSPEC_XFGVIRT(ID3D12WorkGraphProperties, GetEntrypointRecordSizeInBytes) | ||
| 14851 | UINT ( STDMETHODCALLTYPE *GetEntrypointRecordSizeInBytes )( | ||
| 14852 | ID3D12WorkGraphProperties * This, | ||
| 14853 | UINT WorkGraphIndex, | ||
| 14854 | UINT EntrypointIndex); | ||
| 14855 | |||
| 14856 | DECLSPEC_XFGVIRT(ID3D12WorkGraphProperties, GetWorkGraphMemoryRequirements) | ||
| 14857 | void ( STDMETHODCALLTYPE *GetWorkGraphMemoryRequirements )( | ||
| 14858 | ID3D12WorkGraphProperties * This, | ||
| 14859 | UINT WorkGraphIndex, | ||
| 14860 | _Out_ D3D12_WORK_GRAPH_MEMORY_REQUIREMENTS *pWorkGraphMemoryRequirements); | ||
| 14861 | |||
| 14862 | DECLSPEC_XFGVIRT(ID3D12WorkGraphProperties, GetEntrypointRecordAlignmentInBytes) | ||
| 14863 | UINT ( STDMETHODCALLTYPE *GetEntrypointRecordAlignmentInBytes )( | ||
| 14864 | ID3D12WorkGraphProperties * This, | ||
| 14865 | UINT WorkGraphIndex, | ||
| 14866 | UINT EntrypointIndex); | ||
| 14867 | |||
| 14868 | END_INTERFACE | ||
| 14869 | } ID3D12WorkGraphPropertiesVtbl; | ||
| 14870 | |||
| 14871 | interface ID3D12WorkGraphProperties | ||
| 14872 | { | ||
| 14873 | CONST_VTBL struct ID3D12WorkGraphPropertiesVtbl *lpVtbl; | ||
| 14874 | }; | ||
| 14875 | |||
| 14876 | |||
| 14877 | |||
| 14878 | #ifdef COBJMACROS | ||
| 14879 | |||
| 14880 | |||
| 14881 | #define ID3D12WorkGraphProperties_QueryInterface(This,riid,ppvObject) \ | ||
| 14882 | ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) | ||
| 14883 | |||
| 14884 | #define ID3D12WorkGraphProperties_AddRef(This) \ | ||
| 14885 | ( (This)->lpVtbl -> AddRef(This) ) | ||
| 14886 | |||
| 14887 | #define ID3D12WorkGraphProperties_Release(This) \ | ||
| 14888 | ( (This)->lpVtbl -> Release(This) ) | ||
| 14889 | |||
| 14890 | |||
| 14891 | #define ID3D12WorkGraphProperties_GetNumWorkGraphs(This) \ | ||
| 14892 | ( (This)->lpVtbl -> GetNumWorkGraphs(This) ) | ||
| 14893 | |||
| 14894 | #define ID3D12WorkGraphProperties_GetProgramName(This,WorkGraphIndex) \ | ||
| 14895 | ( (This)->lpVtbl -> GetProgramName(This,WorkGraphIndex) ) | ||
| 14896 | |||
| 14897 | #define ID3D12WorkGraphProperties_GetWorkGraphIndex(This,pProgramName) \ | ||
| 14898 | ( (This)->lpVtbl -> GetWorkGraphIndex(This,pProgramName) ) | ||
| 14899 | |||
| 14900 | #define ID3D12WorkGraphProperties_GetNumNodes(This,WorkGraphIndex) \ | ||
| 14901 | ( (This)->lpVtbl -> GetNumNodes(This,WorkGraphIndex) ) | ||
| 14902 | #if !defined(_WIN32) | ||
| 14903 | |||
| 14904 | #define ID3D12WorkGraphProperties_GetNodeID(This,WorkGraphIndex,NodeIndex) \ | ||
| 14905 | ( (This)->lpVtbl -> GetNodeID(This,WorkGraphIndex,NodeIndex) ) | ||
| 14906 | #else | ||
| 14907 | #define ID3D12WorkGraphProperties_GetNodeID(This,RetVal,WorkGraphIndex,NodeIndex) \ | ||
| 14908 | ( (This)->lpVtbl -> GetNodeID(This,RetVal,WorkGraphIndex,NodeIndex) ) | ||
| 14909 | #endif | ||
| 14910 | |||
| 14911 | #define ID3D12WorkGraphProperties_GetNodeIndex(This,WorkGraphIndex,NodeID) \ | ||
| 14912 | ( (This)->lpVtbl -> GetNodeIndex(This,WorkGraphIndex,NodeID) ) | ||
| 14913 | |||
| 14914 | #define ID3D12WorkGraphProperties_GetNodeLocalRootArgumentsTableIndex(This,WorkGraphIndex,NodeIndex) \ | ||
| 14915 | ( (This)->lpVtbl -> GetNodeLocalRootArgumentsTableIndex(This,WorkGraphIndex,NodeIndex) ) | ||
| 14916 | |||
| 14917 | #define ID3D12WorkGraphProperties_GetNumEntrypoints(This,WorkGraphIndex) \ | ||
| 14918 | ( (This)->lpVtbl -> GetNumEntrypoints(This,WorkGraphIndex) ) | ||
| 14919 | #if !defined(_WIN32) | ||
| 14920 | |||
| 14921 | #define ID3D12WorkGraphProperties_GetEntrypointID(This,WorkGraphIndex,EntrypointIndex) \ | ||
| 14922 | ( (This)->lpVtbl -> GetEntrypointID(This,WorkGraphIndex,EntrypointIndex) ) | ||
| 14923 | #else | ||
| 14924 | #define ID3D12WorkGraphProperties_GetEntrypointID(This,RetVal,WorkGraphIndex,EntrypointIndex) \ | ||
| 14925 | ( (This)->lpVtbl -> GetEntrypointID(This,RetVal,WorkGraphIndex,EntrypointIndex) ) | ||
| 14926 | #endif | ||
| 14927 | |||
| 14928 | #define ID3D12WorkGraphProperties_GetEntrypointIndex(This,WorkGraphIndex,NodeID) \ | ||
| 14929 | ( (This)->lpVtbl -> GetEntrypointIndex(This,WorkGraphIndex,NodeID) ) | ||
| 14930 | |||
| 14931 | #define ID3D12WorkGraphProperties_GetEntrypointRecordSizeInBytes(This,WorkGraphIndex,EntrypointIndex) \ | ||
| 14932 | ( (This)->lpVtbl -> GetEntrypointRecordSizeInBytes(This,WorkGraphIndex,EntrypointIndex) ) | ||
| 14933 | |||
| 14934 | #define ID3D12WorkGraphProperties_GetWorkGraphMemoryRequirements(This,WorkGraphIndex,pWorkGraphMemoryRequirements) \ | ||
| 14935 | ( (This)->lpVtbl -> GetWorkGraphMemoryRequirements(This,WorkGraphIndex,pWorkGraphMemoryRequirements) ) | ||
| 14936 | |||
| 14937 | #define ID3D12WorkGraphProperties_GetEntrypointRecordAlignmentInBytes(This,WorkGraphIndex,EntrypointIndex) \ | ||
| 14938 | ( (This)->lpVtbl -> GetEntrypointRecordAlignmentInBytes(This,WorkGraphIndex,EntrypointIndex) ) | ||
| 14939 | |||
| 14940 | #endif /* COBJMACROS */ | ||
| 14941 | |||
| 14942 | |||
| 14943 | #endif /* C style interface */ | ||
| 14944 | |||
| 14945 | |||
| 14946 | |||
| 14947 | |||
| 14948 | #endif /* __ID3D12WorkGraphProperties_INTERFACE_DEFINED__ */ | ||
| 14949 | |||
| 14950 | |||
| 14951 | /* interface __MIDL_itf_d3d12_0000_0039 */ | ||
| 14952 | /* [local] */ | ||
| 14953 | |||
| 14954 | typedef | ||
| 14955 | enum D3D12_STATE_SUBOBJECT_TYPE | ||
| 14956 | { | ||
| 14957 | D3D12_STATE_SUBOBJECT_TYPE_STATE_OBJECT_CONFIG = 0, | ||
| 14958 | D3D12_STATE_SUBOBJECT_TYPE_GLOBAL_ROOT_SIGNATURE = 1, | ||
| 14959 | D3D12_STATE_SUBOBJECT_TYPE_LOCAL_ROOT_SIGNATURE = 2, | ||
| 14960 | D3D12_STATE_SUBOBJECT_TYPE_NODE_MASK = 3, | ||
| 14961 | D3D12_STATE_SUBOBJECT_TYPE_DXIL_LIBRARY = 5, | ||
| 14962 | D3D12_STATE_SUBOBJECT_TYPE_EXISTING_COLLECTION = 6, | ||
| 14963 | D3D12_STATE_SUBOBJECT_TYPE_SUBOBJECT_TO_EXPORTS_ASSOCIATION = 7, | ||
| 14964 | D3D12_STATE_SUBOBJECT_TYPE_DXIL_SUBOBJECT_TO_EXPORTS_ASSOCIATION = 8, | ||
| 14965 | D3D12_STATE_SUBOBJECT_TYPE_RAYTRACING_SHADER_CONFIG = 9, | ||
| 14966 | D3D12_STATE_SUBOBJECT_TYPE_RAYTRACING_PIPELINE_CONFIG = 10, | ||
| 14967 | D3D12_STATE_SUBOBJECT_TYPE_HIT_GROUP = 11, | ||
| 14968 | D3D12_STATE_SUBOBJECT_TYPE_RAYTRACING_PIPELINE_CONFIG1 = 12, | ||
| 14969 | D3D12_STATE_SUBOBJECT_TYPE_WORK_GRAPH = 13, | ||
| 14970 | D3D12_STATE_SUBOBJECT_TYPE_STREAM_OUTPUT = 14, | ||
| 14971 | D3D12_STATE_SUBOBJECT_TYPE_BLEND = 15, | ||
| 14972 | D3D12_STATE_SUBOBJECT_TYPE_SAMPLE_MASK = 16, | ||
| 14973 | D3D12_STATE_SUBOBJECT_TYPE_RASTERIZER = 17, | ||
| 14974 | D3D12_STATE_SUBOBJECT_TYPE_DEPTH_STENCIL = 18, | ||
| 14975 | D3D12_STATE_SUBOBJECT_TYPE_INPUT_LAYOUT = 19, | ||
| 14976 | D3D12_STATE_SUBOBJECT_TYPE_IB_STRIP_CUT_VALUE = 20, | ||
| 14977 | D3D12_STATE_SUBOBJECT_TYPE_PRIMITIVE_TOPOLOGY = 21, | ||
| 14978 | D3D12_STATE_SUBOBJECT_TYPE_RENDER_TARGET_FORMATS = 22, | ||
| 14979 | D3D12_STATE_SUBOBJECT_TYPE_DEPTH_STENCIL_FORMAT = 23, | ||
| 14980 | D3D12_STATE_SUBOBJECT_TYPE_SAMPLE_DESC = 24, | ||
| 14981 | D3D12_STATE_SUBOBJECT_TYPE_FLAGS = 26, | ||
| 14982 | D3D12_STATE_SUBOBJECT_TYPE_DEPTH_STENCIL1 = 27, | ||
| 14983 | D3D12_STATE_SUBOBJECT_TYPE_VIEW_INSTANCING = 28, | ||
| 14984 | D3D12_STATE_SUBOBJECT_TYPE_GENERIC_PROGRAM = 29, | ||
| 14985 | D3D12_STATE_SUBOBJECT_TYPE_DEPTH_STENCIL2 = 30, | ||
| 14986 | D3D12_STATE_SUBOBJECT_TYPE_GLOBAL_SERIALIZED_ROOT_SIGNATURE = 31, | ||
| 14987 | D3D12_STATE_SUBOBJECT_TYPE_LOCAL_SERIALIZED_ROOT_SIGNATURE = 32, | ||
| 14988 | D3D12_STATE_SUBOBJECT_TYPE_COMPILER_EXISITING_COLLECTION = 33, | ||
| 14989 | D3D12_STATE_SUBOBJECT_TYPE_EXISTING_COLLECTION_BY_KEY = 36, | ||
| 14990 | D3D12_STATE_SUBOBJECT_TYPE_MAX_VALID = ( D3D12_STATE_SUBOBJECT_TYPE_EXISTING_COLLECTION_BY_KEY + 1 ) | ||
| 14991 | } D3D12_STATE_SUBOBJECT_TYPE; | ||
| 14992 | |||
| 14993 | typedef struct D3D12_STATE_SUBOBJECT | ||
| 14994 | { | ||
| 14995 | D3D12_STATE_SUBOBJECT_TYPE Type; | ||
| 14996 | const void *pDesc; | ||
| 14997 | } D3D12_STATE_SUBOBJECT; | ||
| 14998 | |||
| 14999 | typedef | ||
| 15000 | enum D3D12_STATE_OBJECT_FLAGS | ||
| 15001 | { | ||
| 15002 | D3D12_STATE_OBJECT_FLAG_NONE = 0, | ||
| 15003 | D3D12_STATE_OBJECT_FLAG_ALLOW_LOCAL_DEPENDENCIES_ON_EXTERNAL_DEFINITIONS = 0x1, | ||
| 15004 | D3D12_STATE_OBJECT_FLAG_ALLOW_EXTERNAL_DEPENDENCIES_ON_LOCAL_DEFINITIONS = 0x2, | ||
| 15005 | D3D12_STATE_OBJECT_FLAG_ALLOW_STATE_OBJECT_ADDITIONS = 0x4 | ||
| 15006 | } D3D12_STATE_OBJECT_FLAGS; | ||
| 15007 | |||
| 15008 | DEFINE_ENUM_FLAG_OPERATORS( D3D12_STATE_OBJECT_FLAGS ) | ||
| 15009 | typedef struct D3D12_STATE_OBJECT_CONFIG | ||
| 15010 | { | ||
| 15011 | D3D12_STATE_OBJECT_FLAGS Flags; | ||
| 15012 | } D3D12_STATE_OBJECT_CONFIG; | ||
| 15013 | |||
| 15014 | typedef struct D3D12_GLOBAL_ROOT_SIGNATURE | ||
| 15015 | { | ||
| 15016 | ID3D12RootSignature *pGlobalRootSignature; | ||
| 15017 | } D3D12_GLOBAL_ROOT_SIGNATURE; | ||
| 15018 | |||
| 15019 | typedef struct D3D12_LOCAL_ROOT_SIGNATURE | ||
| 15020 | { | ||
| 15021 | ID3D12RootSignature *pLocalRootSignature; | ||
| 15022 | } D3D12_LOCAL_ROOT_SIGNATURE; | ||
| 15023 | |||
| 15024 | typedef struct D3D12_NODE_MASK | ||
| 15025 | { | ||
| 15026 | UINT NodeMask; | ||
| 15027 | } D3D12_NODE_MASK; | ||
| 15028 | |||
| 15029 | typedef struct D3D12_SAMPLE_MASK | ||
| 15030 | { | ||
| 15031 | UINT SampleMask; | ||
| 15032 | } D3D12_SAMPLE_MASK; | ||
| 15033 | |||
| 15034 | typedef struct D3D12_IB_STRIP_CUT_VALUE | ||
| 15035 | { | ||
| 15036 | D3D12_INDEX_BUFFER_STRIP_CUT_VALUE IndexBufferStripCutValue; | ||
| 15037 | } D3D12_IB_STRIP_CUT_VALUE; | ||
| 15038 | |||
| 15039 | typedef struct D3D12_PRIMITIVE_TOPOLOGY_DESC | ||
| 15040 | { | ||
| 15041 | D3D12_PRIMITIVE_TOPOLOGY_TYPE PrimitiveTopology; | ||
| 15042 | } D3D12_PRIMITIVE_TOPOLOGY_DESC; | ||
| 15043 | |||
| 15044 | typedef struct D3D12_DEPTH_STENCIL_FORMAT | ||
| 15045 | { | ||
| 15046 | DXGI_FORMAT DepthStencilFormat; | ||
| 15047 | } D3D12_DEPTH_STENCIL_FORMAT; | ||
| 15048 | |||
| 15049 | typedef | ||
| 15050 | enum D3D12_EXPORT_FLAGS | ||
| 15051 | { | ||
| 15052 | D3D12_EXPORT_FLAG_NONE = 0 | ||
| 15053 | } D3D12_EXPORT_FLAGS; | ||
| 15054 | |||
| 15055 | DEFINE_ENUM_FLAG_OPERATORS( D3D12_EXPORT_FLAGS ) | ||
| 15056 | typedef struct D3D12_EXPORT_DESC | ||
| 15057 | { | ||
| 15058 | LPCWSTR Name; | ||
| 15059 | _In_opt_ LPCWSTR ExportToRename; | ||
| 15060 | D3D12_EXPORT_FLAGS Flags; | ||
| 15061 | } D3D12_EXPORT_DESC; | ||
| 15062 | |||
| 15063 | typedef struct D3D12_DXIL_LIBRARY_DESC | ||
| 15064 | { | ||
| 15065 | D3D12_SHADER_BYTECODE DXILLibrary; | ||
| 15066 | UINT NumExports; | ||
| 15067 | _In_reads_(NumExports) const D3D12_EXPORT_DESC *pExports; | ||
| 15068 | } D3D12_DXIL_LIBRARY_DESC; | ||
| 15069 | |||
| 15070 | typedef struct D3D12_EXISTING_COLLECTION_DESC | ||
| 15071 | { | ||
| 15072 | ID3D12StateObject *pExistingCollection; | ||
| 15073 | UINT NumExports; | ||
| 15074 | _In_reads_(NumExports) const D3D12_EXPORT_DESC *pExports; | ||
| 15075 | } D3D12_EXISTING_COLLECTION_DESC; | ||
| 15076 | |||
| 15077 | typedef struct D3D12_SUBOBJECT_TO_EXPORTS_ASSOCIATION | ||
| 15078 | { | ||
| 15079 | const D3D12_STATE_SUBOBJECT *pSubobjectToAssociate; | ||
| 15080 | UINT NumExports; | ||
| 15081 | _In_reads_(NumExports) LPCWSTR *pExports; | ||
| 15082 | } D3D12_SUBOBJECT_TO_EXPORTS_ASSOCIATION; | ||
| 15083 | |||
| 15084 | typedef struct D3D12_DXIL_SUBOBJECT_TO_EXPORTS_ASSOCIATION | ||
| 15085 | { | ||
| 15086 | LPCWSTR SubobjectToAssociate; | ||
| 15087 | UINT NumExports; | ||
| 15088 | _In_reads_(NumExports) LPCWSTR *pExports; | ||
| 15089 | } D3D12_DXIL_SUBOBJECT_TO_EXPORTS_ASSOCIATION; | ||
| 15090 | |||
| 15091 | typedef | ||
| 15092 | enum D3D12_HIT_GROUP_TYPE | ||
| 15093 | { | ||
| 15094 | D3D12_HIT_GROUP_TYPE_TRIANGLES = 0, | ||
| 15095 | D3D12_HIT_GROUP_TYPE_PROCEDURAL_PRIMITIVE = 0x1 | ||
| 15096 | } D3D12_HIT_GROUP_TYPE; | ||
| 15097 | |||
| 15098 | typedef struct D3D12_HIT_GROUP_DESC | ||
| 15099 | { | ||
| 15100 | LPCWSTR HitGroupExport; | ||
| 15101 | D3D12_HIT_GROUP_TYPE Type; | ||
| 15102 | _In_opt_ LPCWSTR AnyHitShaderImport; | ||
| 15103 | _In_opt_ LPCWSTR ClosestHitShaderImport; | ||
| 15104 | _In_opt_ LPCWSTR IntersectionShaderImport; | ||
| 15105 | } D3D12_HIT_GROUP_DESC; | ||
| 15106 | |||
| 15107 | typedef struct D3D12_RAYTRACING_SHADER_CONFIG | ||
| 15108 | { | ||
| 15109 | UINT MaxPayloadSizeInBytes; | ||
| 15110 | UINT MaxAttributeSizeInBytes; | ||
| 15111 | } D3D12_RAYTRACING_SHADER_CONFIG; | ||
| 15112 | |||
| 15113 | typedef struct D3D12_RAYTRACING_PIPELINE_CONFIG | ||
| 15114 | { | ||
| 15115 | UINT MaxTraceRecursionDepth; | ||
| 15116 | } D3D12_RAYTRACING_PIPELINE_CONFIG; | ||
| 15117 | |||
| 15118 | typedef | ||
| 15119 | enum D3D12_RAYTRACING_PIPELINE_FLAGS | ||
| 15120 | { | ||
| 15121 | D3D12_RAYTRACING_PIPELINE_FLAG_NONE = 0, | ||
| 15122 | D3D12_RAYTRACING_PIPELINE_FLAG_SKIP_TRIANGLES = 0x100, | ||
| 15123 | D3D12_RAYTRACING_PIPELINE_FLAG_SKIP_PROCEDURAL_PRIMITIVES = 0x200, | ||
| 15124 | D3D12_RAYTRACING_PIPELINE_FLAG_ALLOW_OPACITY_MICROMAPS = 0x400 | ||
| 15125 | } D3D12_RAYTRACING_PIPELINE_FLAGS; | ||
| 15126 | |||
| 15127 | DEFINE_ENUM_FLAG_OPERATORS( D3D12_RAYTRACING_PIPELINE_FLAGS ) | ||
| 15128 | typedef struct D3D12_RAYTRACING_PIPELINE_CONFIG1 | ||
| 15129 | { | ||
| 15130 | UINT MaxTraceRecursionDepth; | ||
| 15131 | D3D12_RAYTRACING_PIPELINE_FLAGS Flags; | ||
| 15132 | } D3D12_RAYTRACING_PIPELINE_CONFIG1; | ||
| 15133 | |||
| 15134 | typedef struct D3D12_NODE_OUTPUT_OVERRIDES | ||
| 15135 | { | ||
| 15136 | UINT OutputIndex; | ||
| 15137 | _In_opt_ const D3D12_NODE_ID *pNewName; | ||
| 15138 | _In_opt_ const BOOL *pAllowSparseNodes; | ||
| 15139 | _In_opt_ const UINT *pMaxRecords; | ||
| 15140 | _In_opt_ const UINT *pMaxRecordsSharedWithOutputIndex; | ||
| 15141 | } D3D12_NODE_OUTPUT_OVERRIDES; | ||
| 15142 | |||
| 15143 | typedef struct D3D12_BROADCASTING_LAUNCH_OVERRIDES | ||
| 15144 | { | ||
| 15145 | _In_opt_ const UINT *pLocalRootArgumentsTableIndex; | ||
| 15146 | _In_opt_ const BOOL *pProgramEntry; | ||
| 15147 | _In_opt_ const D3D12_NODE_ID *pNewName; | ||
| 15148 | _In_opt_ const D3D12_NODE_ID *pShareInputOf; | ||
| 15149 | _In_reads_opt_(3) const UINT *pDispatchGrid; | ||
| 15150 | _In_reads_opt_(3) const UINT *pMaxDispatchGrid; | ||
| 15151 | UINT NumOutputOverrides; | ||
| 15152 | _In_reads_opt_(NumOutputOverrides) const D3D12_NODE_OUTPUT_OVERRIDES *pOutputOverrides; | ||
| 15153 | } D3D12_BROADCASTING_LAUNCH_OVERRIDES; | ||
| 15154 | |||
| 15155 | typedef struct D3D12_COALESCING_LAUNCH_OVERRIDES | ||
| 15156 | { | ||
| 15157 | _In_opt_ const UINT *pLocalRootArgumentsTableIndex; | ||
| 15158 | _In_opt_ const BOOL *pProgramEntry; | ||
| 15159 | _In_opt_ const D3D12_NODE_ID *pNewName; | ||
| 15160 | _In_opt_ const D3D12_NODE_ID *pShareInputOf; | ||
| 15161 | UINT NumOutputOverrides; | ||
| 15162 | _In_reads_opt_(NumOutputOverrides) const D3D12_NODE_OUTPUT_OVERRIDES *pOutputOverrides; | ||
| 15163 | } D3D12_COALESCING_LAUNCH_OVERRIDES; | ||
| 15164 | |||
| 15165 | typedef struct D3D12_THREAD_LAUNCH_OVERRIDES | ||
| 15166 | { | ||
| 15167 | _In_opt_ const UINT *pLocalRootArgumentsTableIndex; | ||
| 15168 | _In_opt_ const BOOL *pProgramEntry; | ||
| 15169 | _In_opt_ const D3D12_NODE_ID *pNewName; | ||
| 15170 | _In_opt_ const D3D12_NODE_ID *pShareInputOf; | ||
| 15171 | UINT NumOutputOverrides; | ||
| 15172 | _In_reads_opt_(NumOutputOverrides) const D3D12_NODE_OUTPUT_OVERRIDES *pOutputOverrides; | ||
| 15173 | } D3D12_THREAD_LAUNCH_OVERRIDES; | ||
| 15174 | |||
| 15175 | typedef struct D3D12_COMMON_COMPUTE_NODE_OVERRIDES | ||
| 15176 | { | ||
| 15177 | _In_opt_ const UINT *pLocalRootArgumentsTableIndex; | ||
| 15178 | _In_opt_ const BOOL *pProgramEntry; | ||
| 15179 | _In_opt_ const D3D12_NODE_ID *pNewName; | ||
| 15180 | _In_opt_ const D3D12_NODE_ID *pShareInputOf; | ||
| 15181 | UINT NumOutputOverrides; | ||
| 15182 | _In_reads_opt_(NumOutputOverrides) const D3D12_NODE_OUTPUT_OVERRIDES *pOutputOverrides; | ||
| 15183 | } D3D12_COMMON_COMPUTE_NODE_OVERRIDES; | ||
| 15184 | |||
| 15185 | typedef | ||
| 15186 | enum D3D12_NODE_OVERRIDES_TYPE | ||
| 15187 | { | ||
| 15188 | D3D12_NODE_OVERRIDES_TYPE_NONE = 0, | ||
| 15189 | D3D12_NODE_OVERRIDES_TYPE_BROADCASTING_LAUNCH = 1, | ||
| 15190 | D3D12_NODE_OVERRIDES_TYPE_COALESCING_LAUNCH = 2, | ||
| 15191 | D3D12_NODE_OVERRIDES_TYPE_THREAD_LAUNCH = 3, | ||
| 15192 | D3D12_NODE_OVERRIDES_TYPE_COMMON_COMPUTE = 4 | ||
| 15193 | } D3D12_NODE_OVERRIDES_TYPE; | ||
| 15194 | |||
| 15195 | typedef struct D3D12_SHADER_NODE | ||
| 15196 | { | ||
| 15197 | LPCWSTR Shader; | ||
| 15198 | D3D12_NODE_OVERRIDES_TYPE OverridesType; | ||
| 15199 | union | ||
| 15200 | { | ||
| 15201 | const D3D12_BROADCASTING_LAUNCH_OVERRIDES *pBroadcastingLaunchOverrides; | ||
| 15202 | const D3D12_COALESCING_LAUNCH_OVERRIDES *pCoalescingLaunchOverrides; | ||
| 15203 | const D3D12_THREAD_LAUNCH_OVERRIDES *pThreadLaunchOverrides; | ||
| 15204 | const D3D12_COMMON_COMPUTE_NODE_OVERRIDES *pCommonComputeNodeOverrides; | ||
| 15205 | } ; | ||
| 15206 | } D3D12_SHADER_NODE; | ||
| 15207 | |||
| 15208 | typedef | ||
| 15209 | enum D3D12_NODE_TYPE | ||
| 15210 | { | ||
| 15211 | D3D12_NODE_TYPE_SHADER = 0 | ||
| 15212 | } D3D12_NODE_TYPE; | ||
| 15213 | |||
| 15214 | typedef struct D3D12_NODE | ||
| 15215 | { | ||
| 15216 | D3D12_NODE_TYPE NodeType; | ||
| 15217 | union | ||
| 15218 | { | ||
| 15219 | D3D12_SHADER_NODE Shader; | ||
| 15220 | } ; | ||
| 15221 | } D3D12_NODE; | ||
| 15222 | |||
| 15223 | typedef | ||
| 15224 | enum D3D12_WORK_GRAPH_FLAGS | ||
| 15225 | { | ||
| 15226 | D3D12_WORK_GRAPH_FLAG_NONE = 0, | ||
| 15227 | D3D12_WORK_GRAPH_FLAG_INCLUDE_ALL_AVAILABLE_NODES = 0x1 | ||
| 15228 | } D3D12_WORK_GRAPH_FLAGS; | ||
| 15229 | |||
| 15230 | DEFINE_ENUM_FLAG_OPERATORS( D3D12_WORK_GRAPH_FLAGS ) | ||
| 15231 | typedef struct D3D12_WORK_GRAPH_DESC | ||
| 15232 | { | ||
| 15233 | LPCWSTR ProgramName; | ||
| 15234 | D3D12_WORK_GRAPH_FLAGS Flags; | ||
| 15235 | UINT NumEntrypoints; | ||
| 15236 | _In_reads_opt_(NumEntrypoints) const D3D12_NODE_ID *pEntrypoints; | ||
| 15237 | UINT NumExplicitlyDefinedNodes; | ||
| 15238 | _In_reads_opt_(NumExplicitlyDefinedNodes) const D3D12_NODE *pExplicitlyDefinedNodes; | ||
| 15239 | } D3D12_WORK_GRAPH_DESC; | ||
| 15240 | |||
| 15241 | typedef struct D3D12_GENERIC_PROGRAM_DESC | ||
| 15242 | { | ||
| 15243 | LPCWSTR ProgramName; | ||
| 15244 | UINT NumExports; | ||
| 15245 | _In_reads_(NumExports) LPCWSTR *pExports; | ||
| 15246 | UINT NumSubobjects; | ||
| 15247 | _In_reads_opt_(NumSubobjects) const D3D12_STATE_SUBOBJECT *const *ppSubobjects; | ||
| 15248 | } D3D12_GENERIC_PROGRAM_DESC; | ||
| 15249 | |||
| 15250 | typedef | ||
| 15251 | enum D3D12_STATE_OBJECT_TYPE | ||
| 15252 | { | ||
| 15253 | D3D12_STATE_OBJECT_TYPE_COLLECTION = 0, | ||
| 15254 | D3D12_STATE_OBJECT_TYPE_RAYTRACING_PIPELINE = 3, | ||
| 15255 | D3D12_STATE_OBJECT_TYPE_EXECUTABLE = 4 | ||
| 15256 | } D3D12_STATE_OBJECT_TYPE; | ||
| 15257 | |||
| 15258 | typedef struct D3D12_STATE_OBJECT_DESC | ||
| 15259 | { | ||
| 15260 | D3D12_STATE_OBJECT_TYPE Type; | ||
| 15261 | UINT NumSubobjects; | ||
| 15262 | _In_reads_(NumSubobjects) const D3D12_STATE_SUBOBJECT *pSubobjects; | ||
| 15263 | } D3D12_STATE_OBJECT_DESC; | ||
| 15264 | |||
| 15265 | typedef | ||
| 15266 | enum D3D12_RAYTRACING_GEOMETRY_FLAGS | ||
| 15267 | { | ||
| 15268 | D3D12_RAYTRACING_GEOMETRY_FLAG_NONE = 0, | ||
| 15269 | D3D12_RAYTRACING_GEOMETRY_FLAG_OPAQUE = 0x1, | ||
| 15270 | D3D12_RAYTRACING_GEOMETRY_FLAG_NO_DUPLICATE_ANYHIT_INVOCATION = 0x2 | ||
| 15271 | } D3D12_RAYTRACING_GEOMETRY_FLAGS; | ||
| 15272 | |||
| 15273 | DEFINE_ENUM_FLAG_OPERATORS( D3D12_RAYTRACING_GEOMETRY_FLAGS ) | ||
| 15274 | typedef | ||
| 15275 | enum D3D12_RAYTRACING_GEOMETRY_TYPE | ||
| 15276 | { | ||
| 15277 | D3D12_RAYTRACING_GEOMETRY_TYPE_TRIANGLES = 0, | ||
| 15278 | D3D12_RAYTRACING_GEOMETRY_TYPE_PROCEDURAL_PRIMITIVE_AABBS = ( D3D12_RAYTRACING_GEOMETRY_TYPE_TRIANGLES + 1 ) , | ||
| 15279 | D3D12_RAYTRACING_GEOMETRY_TYPE_OMM_TRIANGLES = ( D3D12_RAYTRACING_GEOMETRY_TYPE_PROCEDURAL_PRIMITIVE_AABBS + 1 ) | ||
| 15280 | } D3D12_RAYTRACING_GEOMETRY_TYPE; | ||
| 15281 | |||
| 15282 | typedef | ||
| 15283 | enum D3D12_RAYTRACING_INSTANCE_FLAGS | ||
| 15284 | { | ||
| 15285 | D3D12_RAYTRACING_INSTANCE_FLAG_NONE = 0, | ||
| 15286 | D3D12_RAYTRACING_INSTANCE_FLAG_TRIANGLE_CULL_DISABLE = 0x1, | ||
| 15287 | D3D12_RAYTRACING_INSTANCE_FLAG_TRIANGLE_FRONT_COUNTERCLOCKWISE = 0x2, | ||
| 15288 | D3D12_RAYTRACING_INSTANCE_FLAG_FORCE_OPAQUE = 0x4, | ||
| 15289 | D3D12_RAYTRACING_INSTANCE_FLAG_FORCE_NON_OPAQUE = 0x8, | ||
| 15290 | D3D12_RAYTRACING_INSTANCE_FLAG_FORCE_OMM_2_STATE = 0x10, | ||
| 15291 | D3D12_RAYTRACING_INSTANCE_FLAG_DISABLE_OMMS = 0x20 | ||
| 15292 | } D3D12_RAYTRACING_INSTANCE_FLAGS; | ||
| 15293 | |||
| 15294 | DEFINE_ENUM_FLAG_OPERATORS( D3D12_RAYTRACING_INSTANCE_FLAGS ) | ||
| 15295 | typedef struct D3D12_GPU_VIRTUAL_ADDRESS_AND_STRIDE | ||
| 15296 | { | ||
| 15297 | D3D12_GPU_VIRTUAL_ADDRESS StartAddress; | ||
| 15298 | UINT64 StrideInBytes; | ||
| 15299 | } D3D12_GPU_VIRTUAL_ADDRESS_AND_STRIDE; | ||
| 15300 | |||
| 15301 | typedef struct D3D12_GPU_VIRTUAL_ADDRESS_RANGE | ||
| 15302 | { | ||
| 15303 | D3D12_GPU_VIRTUAL_ADDRESS StartAddress; | ||
| 15304 | UINT64 SizeInBytes; | ||
| 15305 | } D3D12_GPU_VIRTUAL_ADDRESS_RANGE; | ||
| 15306 | |||
| 15307 | typedef struct D3D12_GPU_VIRTUAL_ADDRESS_RANGE_AND_STRIDE | ||
| 15308 | { | ||
| 15309 | D3D12_GPU_VIRTUAL_ADDRESS StartAddress; | ||
| 15310 | UINT64 SizeInBytes; | ||
| 15311 | UINT64 StrideInBytes; | ||
| 15312 | } D3D12_GPU_VIRTUAL_ADDRESS_RANGE_AND_STRIDE; | ||
| 15313 | |||
| 15314 | typedef struct D3D12_RAYTRACING_GEOMETRY_TRIANGLES_DESC | ||
| 15315 | { | ||
| 15316 | D3D12_GPU_VIRTUAL_ADDRESS Transform3x4; | ||
| 15317 | DXGI_FORMAT IndexFormat; | ||
| 15318 | DXGI_FORMAT VertexFormat; | ||
| 15319 | UINT IndexCount; | ||
| 15320 | UINT VertexCount; | ||
| 15321 | D3D12_GPU_VIRTUAL_ADDRESS IndexBuffer; | ||
| 15322 | D3D12_GPU_VIRTUAL_ADDRESS_AND_STRIDE VertexBuffer; | ||
| 15323 | } D3D12_RAYTRACING_GEOMETRY_TRIANGLES_DESC; | ||
| 15324 | |||
| 15325 | typedef struct D3D12_RAYTRACING_AABB | ||
| 15326 | { | ||
| 15327 | FLOAT MinX; | ||
| 15328 | FLOAT MinY; | ||
| 15329 | FLOAT MinZ; | ||
| 15330 | FLOAT MaxX; | ||
| 15331 | FLOAT MaxY; | ||
| 15332 | FLOAT MaxZ; | ||
| 15333 | } D3D12_RAYTRACING_AABB; | ||
| 15334 | |||
| 15335 | typedef struct D3D12_RAYTRACING_GEOMETRY_AABBS_DESC | ||
| 15336 | { | ||
| 15337 | UINT64 AABBCount; | ||
| 15338 | D3D12_GPU_VIRTUAL_ADDRESS_AND_STRIDE AABBs; | ||
| 15339 | } D3D12_RAYTRACING_GEOMETRY_AABBS_DESC; | ||
| 15340 | |||
| 15341 | typedef | ||
| 15342 | enum D3D12_RAYTRACING_OPACITY_MICROMAP_SPECIAL_INDEX | ||
| 15343 | { | ||
| 15344 | D3D12_RAYTRACING_OPACITY_MICROMAP_SPECIAL_INDEX_FULLY_TRANSPARENT = -1, | ||
| 15345 | D3D12_RAYTRACING_OPACITY_MICROMAP_SPECIAL_INDEX_FULLY_OPAQUE = -2, | ||
| 15346 | D3D12_RAYTRACING_OPACITY_MICROMAP_SPECIAL_INDEX_FULLY_UNKNOWN_TRANSPARENT = -3, | ||
| 15347 | D3D12_RAYTRACING_OPACITY_MICROMAP_SPECIAL_INDEX_FULLY_UNKNOWN_OPAQUE = -4 | ||
| 15348 | } D3D12_RAYTRACING_OPACITY_MICROMAP_SPECIAL_INDEX; | ||
| 15349 | |||
| 15350 | typedef | ||
| 15351 | enum D3D12_RAYTRACING_OPACITY_MICROMAP_STATE | ||
| 15352 | { | ||
| 15353 | D3D12_RAYTRACING_OPACITY_MICROMAP_STATE_TRANSPARENT = 0, | ||
| 15354 | D3D12_RAYTRACING_OPACITY_MICROMAP_STATE_OPAQUE = 1, | ||
| 15355 | D3D12_RAYTRACING_OPACITY_MICROMAP_STATE_UNKNOWN_TRANSPARENT = 2, | ||
| 15356 | D3D12_RAYTRACING_OPACITY_MICROMAP_STATE_UNKNOWN_OPAQUE = 3 | ||
| 15357 | } D3D12_RAYTRACING_OPACITY_MICROMAP_STATE; | ||
| 15358 | |||
| 15359 | typedef | ||
| 15360 | enum D3D12_RAYTRACING_OPACITY_MICROMAP_FORMAT | ||
| 15361 | { | ||
| 15362 | D3D12_RAYTRACING_OPACITY_MICROMAP_FORMAT_OC1_2_STATE = 0x1, | ||
| 15363 | D3D12_RAYTRACING_OPACITY_MICROMAP_FORMAT_OC1_4_STATE = 0x2 | ||
| 15364 | } D3D12_RAYTRACING_OPACITY_MICROMAP_FORMAT; | ||
| 15365 | |||
| 15366 | typedef struct D3D12_RAYTRACING_OPACITY_MICROMAP_DESC | ||
| 15367 | { | ||
| 15368 | UINT ByteOffset; | ||
| 15369 | UINT SubdivisionLevel : 16; | ||
| 15370 | D3D12_RAYTRACING_OPACITY_MICROMAP_FORMAT Format : 16; | ||
| 15371 | } D3D12_RAYTRACING_OPACITY_MICROMAP_DESC; | ||
| 15372 | typedef struct D3D12_RAYTRACING_GEOMETRY_OMM_LINKAGE_DESC | ||
| 15373 | { | ||
| 15374 | D3D12_GPU_VIRTUAL_ADDRESS_AND_STRIDE OpacityMicromapIndexBuffer; | ||
| 15375 | DXGI_FORMAT OpacityMicromapIndexFormat; | ||
| 15376 | UINT OpacityMicromapBaseLocation; | ||
| 15377 | D3D12_GPU_VIRTUAL_ADDRESS OpacityMicromapArray; | ||
| 15378 | } D3D12_RAYTRACING_GEOMETRY_OMM_LINKAGE_DESC; | ||
| 15379 | |||
| 15380 | typedef struct D3D12_RAYTRACING_GEOMETRY_OMM_TRIANGLES_DESC | ||
| 15381 | { | ||
| 15382 | const D3D12_RAYTRACING_GEOMETRY_TRIANGLES_DESC *pTriangles; | ||
| 15383 | const D3D12_RAYTRACING_GEOMETRY_OMM_LINKAGE_DESC *pOmmLinkage; | ||
| 15384 | } D3D12_RAYTRACING_GEOMETRY_OMM_TRIANGLES_DESC; | ||
| 15385 | |||
| 15386 | typedef | ||
| 15387 | enum D3D12_RAYTRACING_ACCELERATION_STRUCTURE_BUILD_FLAGS | ||
| 15388 | { | ||
| 15389 | D3D12_RAYTRACING_ACCELERATION_STRUCTURE_BUILD_FLAG_NONE = 0, | ||
| 15390 | D3D12_RAYTRACING_ACCELERATION_STRUCTURE_BUILD_FLAG_ALLOW_UPDATE = 0x1, | ||
| 15391 | D3D12_RAYTRACING_ACCELERATION_STRUCTURE_BUILD_FLAG_ALLOW_COMPACTION = 0x2, | ||
| 15392 | D3D12_RAYTRACING_ACCELERATION_STRUCTURE_BUILD_FLAG_PREFER_FAST_TRACE = 0x4, | ||
| 15393 | D3D12_RAYTRACING_ACCELERATION_STRUCTURE_BUILD_FLAG_PREFER_FAST_BUILD = 0x8, | ||
| 15394 | D3D12_RAYTRACING_ACCELERATION_STRUCTURE_BUILD_FLAG_MINIMIZE_MEMORY = 0x10, | ||
| 15395 | D3D12_RAYTRACING_ACCELERATION_STRUCTURE_BUILD_FLAG_PERFORM_UPDATE = 0x20, | ||
| 15396 | D3D12_RAYTRACING_ACCELERATION_STRUCTURE_BUILD_FLAG_ALLOW_OMM_UPDATE = 0x40, | ||
| 15397 | D3D12_RAYTRACING_ACCELERATION_STRUCTURE_BUILD_FLAG_ALLOW_DISABLE_OMMS = 0x80 | ||
| 15398 | } D3D12_RAYTRACING_ACCELERATION_STRUCTURE_BUILD_FLAGS; | ||
| 15399 | |||
| 15400 | DEFINE_ENUM_FLAG_OPERATORS( D3D12_RAYTRACING_ACCELERATION_STRUCTURE_BUILD_FLAGS ) | ||
| 15401 | typedef | ||
| 15402 | enum D3D12_RAYTRACING_ACCELERATION_STRUCTURE_COPY_MODE | ||
| 15403 | { | ||
| 15404 | D3D12_RAYTRACING_ACCELERATION_STRUCTURE_COPY_MODE_CLONE = 0, | ||
| 15405 | D3D12_RAYTRACING_ACCELERATION_STRUCTURE_COPY_MODE_COMPACT = 0x1, | ||
| 15406 | D3D12_RAYTRACING_ACCELERATION_STRUCTURE_COPY_MODE_VISUALIZATION_DECODE_FOR_TOOLS = 0x2, | ||
| 15407 | D3D12_RAYTRACING_ACCELERATION_STRUCTURE_COPY_MODE_SERIALIZE = 0x3, | ||
| 15408 | D3D12_RAYTRACING_ACCELERATION_STRUCTURE_COPY_MODE_DESERIALIZE = 0x4 | ||
| 15409 | } D3D12_RAYTRACING_ACCELERATION_STRUCTURE_COPY_MODE; | ||
| 15410 | |||
| 15411 | typedef | ||
| 15412 | enum D3D12_RAYTRACING_ACCELERATION_STRUCTURE_TYPE | ||
| 15413 | { | ||
| 15414 | D3D12_RAYTRACING_ACCELERATION_STRUCTURE_TYPE_TOP_LEVEL = 0, | ||
| 15415 | D3D12_RAYTRACING_ACCELERATION_STRUCTURE_TYPE_BOTTOM_LEVEL = 0x1, | ||
| 15416 | D3D12_RAYTRACING_ACCELERATION_STRUCTURE_TYPE_OPACITY_MICROMAP_ARRAY = 0x2 | ||
| 15417 | } D3D12_RAYTRACING_ACCELERATION_STRUCTURE_TYPE; | ||
| 15418 | |||
| 15419 | typedef | ||
| 15420 | enum D3D12_ELEMENTS_LAYOUT | ||
| 15421 | { | ||
| 15422 | D3D12_ELEMENTS_LAYOUT_ARRAY = 0, | ||
| 15423 | D3D12_ELEMENTS_LAYOUT_ARRAY_OF_POINTERS = 0x1 | ||
| 15424 | } D3D12_ELEMENTS_LAYOUT; | ||
| 15425 | |||
| 15426 | typedef | ||
| 15427 | enum D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_TYPE | ||
| 15428 | { | ||
| 15429 | D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_COMPACTED_SIZE = 0, | ||
| 15430 | D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_TOOLS_VISUALIZATION = 0x1, | ||
| 15431 | D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_SERIALIZATION = 0x2, | ||
| 15432 | D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_CURRENT_SIZE = 0x3 | ||
| 15433 | } D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_TYPE; | ||
| 15434 | |||
| 15435 | typedef struct D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_DESC | ||
| 15436 | { | ||
| 15437 | D3D12_GPU_VIRTUAL_ADDRESS DestBuffer; | ||
| 15438 | D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_TYPE InfoType; | ||
| 15439 | } D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_DESC; | ||
| 15440 | |||
| 15441 | typedef struct D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_COMPACTED_SIZE_DESC | ||
| 15442 | { | ||
| 15443 | UINT64 CompactedSizeInBytes; | ||
| 15444 | } D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_COMPACTED_SIZE_DESC; | ||
| 15445 | |||
| 15446 | typedef struct D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_TOOLS_VISUALIZATION_DESC | ||
| 15447 | { | ||
| 15448 | UINT64 DecodedSizeInBytes; | ||
| 15449 | } D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_TOOLS_VISUALIZATION_DESC; | ||
| 15450 | |||
| 15451 | typedef struct D3D12_BUILD_RAYTRACING_ACCELERATION_STRUCTURE_TOOLS_VISUALIZATION_HEADER | ||
| 15452 | { | ||
| 15453 | D3D12_RAYTRACING_ACCELERATION_STRUCTURE_TYPE Type; | ||
| 15454 | UINT NumDescs; | ||
| 15455 | } D3D12_BUILD_RAYTRACING_ACCELERATION_STRUCTURE_TOOLS_VISUALIZATION_HEADER; | ||
| 15456 | |||
| 15457 | // Regarding D3D12_BUILD_RAY_TRACING_ACCELERATION_STRUCTURE_TOOLS_VISUALIZATION_HEADER above, | ||
| 15458 | // depending on Type field, NumDescs above is followed by either: | ||
| 15459 | // D3D12_RAY_TRACING_INSTANCE_DESC InstanceDescs[NumDescs] | ||
| 15460 | // or D3D12_RAY_TRACING_GEOMETRY_DESC GeometryDescs[NumDescs]. | ||
| 15461 | // or D3D12_RAYTRACING_OPACITY_MICROMAP_ARRAY_DESC (NumDescs == 1 in this case). | ||
| 15462 | // | ||
| 15463 | // For D3D12_RAYTRACING_OPACITY_MICROMAP_ARRAY_DESC, the pOmmHistogram pointer becomes a GPUVA instead of CPU pointer | ||
| 15464 | // | ||
| 15465 | // There is 4 bytes of padding between GeometryDesc structs in the array so alignment is natural when viewed by CPU. | ||
| 15466 | |||
| 15467 | typedef struct D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_SERIALIZATION_DESC | ||
| 15468 | { | ||
| 15469 | UINT64 SerializedSizeInBytes; | ||
| 15470 | union | ||
| 15471 | { | ||
| 15472 | UINT64 NumBottomLevelAccelerationStructurePointers; | ||
| 15473 | UINT64 NumBottomLevelAccelerationStructureHeaderAndPointerListPairs; | ||
| 15474 | } ; | ||
| 15475 | } D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_SERIALIZATION_DESC; | ||
| 15476 | |||
| 15477 | typedef struct D3D12_SERIALIZED_DATA_DRIVER_MATCHING_IDENTIFIER | ||
| 15478 | { | ||
| 15479 | GUID DriverOpaqueGUID; | ||
| 15480 | BYTE DriverOpaqueVersioningData[ 16 ]; | ||
| 15481 | } D3D12_SERIALIZED_DATA_DRIVER_MATCHING_IDENTIFIER; | ||
| 15482 | |||
| 15483 | typedef | ||
| 15484 | enum D3D12_SERIALIZED_DATA_TYPE | ||
| 15485 | { | ||
| 15486 | D3D12_SERIALIZED_DATA_RAYTRACING_ACCELERATION_STRUCTURE = 0, | ||
| 15487 | D3D12_SERIALIZED_DATA_APPLICATION_SPECIFIC_DRIVER_STATE = 0x1 | ||
| 15488 | } D3D12_SERIALIZED_DATA_TYPE; | ||
| 15489 | |||
| 15490 | typedef | ||
| 15491 | enum D3D12_DRIVER_MATCHING_IDENTIFIER_STATUS | ||
| 15492 | { | ||
| 15493 | D3D12_DRIVER_MATCHING_IDENTIFIER_COMPATIBLE_WITH_DEVICE = 0, | ||
| 15494 | D3D12_DRIVER_MATCHING_IDENTIFIER_UNSUPPORTED_TYPE = 0x1, | ||
| 15495 | D3D12_DRIVER_MATCHING_IDENTIFIER_UNRECOGNIZED = 0x2, | ||
| 15496 | D3D12_DRIVER_MATCHING_IDENTIFIER_INCOMPATIBLE_VERSION = 0x3, | ||
| 15497 | D3D12_DRIVER_MATCHING_IDENTIFIER_INCOMPATIBLE_TYPE = 0x4 | ||
| 15498 | } D3D12_DRIVER_MATCHING_IDENTIFIER_STATUS; | ||
| 15499 | |||
| 15500 | typedef struct D3D12_SERIALIZED_RAYTRACING_ACCELERATION_STRUCTURE_HEADER | ||
| 15501 | { | ||
| 15502 | D3D12_SERIALIZED_DATA_DRIVER_MATCHING_IDENTIFIER DriverMatchingIdentifier; | ||
| 15503 | UINT64 SerializedSizeInBytesIncludingHeader; | ||
| 15504 | UINT64 DeserializedSizeInBytes; | ||
| 15505 | UINT64 NumBottomLevelAccelerationStructurePointersAfterHeader; | ||
| 15506 | } D3D12_SERIALIZED_RAYTRACING_ACCELERATION_STRUCTURE_HEADER; | ||
| 15507 | |||
| 15508 | typedef | ||
| 15509 | enum D3D12_SERIALIZED_RAYTRACING_ACCELERATION_STRUCTURE_HEADER_POSTAMBLE_TYPE | ||
| 15510 | { | ||
| 15511 | D3D12_SERIALIZED_RAYTRACING_ACCELERATION_STRUCTURE_HEADER_POSTAMBLE_TYPE_NONE = 0, | ||
| 15512 | D3D12_SERIALIZED_RAYTRACING_ACCELERATION_STRUCTURE_HEADER_POSTAMBLE_TYPE_BOTTOM_LEVEL_POINTERS = 0, | ||
| 15513 | D3D12_SERIALIZED_RAYTRACING_ACCELERATION_STRUCTURE_HEADER_POSTAMBLE_TYPE_BLOCKS = 0xffffffff | ||
| 15514 | } D3D12_SERIALIZED_RAYTRACING_ACCELERATION_STRUCTURE_HEADER_POSTAMBLE_TYPE; | ||
| 15515 | |||
| 15516 | typedef struct D3D12_SERIALIZED_RAYTRACING_ACCELERATION_STRUCTURE_HEADER1 | ||
| 15517 | { | ||
| 15518 | D3D12_SERIALIZED_DATA_DRIVER_MATCHING_IDENTIFIER DriverMatchingIdentifier; | ||
| 15519 | UINT64 SerializedSizeInBytesIncludingHeader; | ||
| 15520 | UINT64 DeserializedSizeInBytes; | ||
| 15521 | union | ||
| 15522 | { | ||
| 15523 | UINT NumBottomLevelAccelerationStructurePointersAfterHeader; | ||
| 15524 | UINT NumBlocks; | ||
| 15525 | } ; | ||
| 15526 | D3D12_SERIALIZED_RAYTRACING_ACCELERATION_STRUCTURE_HEADER_POSTAMBLE_TYPE HeaderPostambleType; | ||
| 15527 | } D3D12_SERIALIZED_RAYTRACING_ACCELERATION_STRUCTURE_HEADER1; | ||
| 15528 | |||
| 15529 | typedef | ||
| 15530 | enum D3D12_SERIALIZED_BLOCK_TYPE | ||
| 15531 | { | ||
| 15532 | D3D12_RAYTRACING_SERIALIZED_BLOCK_TYPE_OPACITY_MICROMAPS = 0 | ||
| 15533 | } D3D12_RAYTRACING_SERIALIZED_BLOCK_TYPE; | ||
| 15534 | |||
| 15535 | typedef struct D3D12_RAYTRACING_SERIALIZED_BLOCK | ||
| 15536 | { | ||
| 15537 | D3D12_RAYTRACING_SERIALIZED_BLOCK_TYPE Type; | ||
| 15538 | UINT64 NumBlockPointersAfterHeader; | ||
| 15539 | } D3D12_RAYTRACING_SERIALIZED_BLOCK; | ||
| 15540 | |||
| 15541 | typedef struct D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_CURRENT_SIZE_DESC | ||
| 15542 | { | ||
| 15543 | UINT64 CurrentSizeInBytes; | ||
| 15544 | } D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_CURRENT_SIZE_DESC; | ||
| 15545 | |||
| 15546 | typedef struct D3D12_RAYTRACING_INSTANCE_DESC | ||
| 15547 | { | ||
| 15548 | FLOAT Transform[ 3 ][ 4 ]; | ||
| 15549 | UINT InstanceID : 24; | ||
| 15550 | UINT InstanceMask : 8; | ||
| 15551 | UINT InstanceContributionToHitGroupIndex : 24; | ||
| 15552 | UINT Flags : 8; | ||
| 15553 | D3D12_GPU_VIRTUAL_ADDRESS AccelerationStructure; | ||
| 15554 | } D3D12_RAYTRACING_INSTANCE_DESC; | ||
| 15555 | |||
| 15556 | typedef struct D3D12_RAYTRACING_GEOMETRY_DESC | ||
| 15557 | { | ||
| 15558 | D3D12_RAYTRACING_GEOMETRY_TYPE Type; | ||
| 15559 | D3D12_RAYTRACING_GEOMETRY_FLAGS Flags; | ||
| 15560 | union | ||
| 15561 | { | ||
| 15562 | D3D12_RAYTRACING_GEOMETRY_TRIANGLES_DESC Triangles; | ||
| 15563 | D3D12_RAYTRACING_GEOMETRY_AABBS_DESC AABBs; | ||
| 15564 | D3D12_RAYTRACING_GEOMETRY_OMM_TRIANGLES_DESC OmmTriangles; | ||
| 15565 | } ; | ||
| 15566 | } D3D12_RAYTRACING_GEOMETRY_DESC; | ||
| 15567 | |||
| 15568 | typedef struct D3D12_RAYTRACING_OPACITY_MICROMAP_HISTOGRAM_ENTRY | ||
| 15569 | { | ||
| 15570 | UINT Count; | ||
| 15571 | UINT SubdivisionLevel; | ||
| 15572 | D3D12_RAYTRACING_OPACITY_MICROMAP_FORMAT Format; | ||
| 15573 | } D3D12_RAYTRACING_OPACITY_MICROMAP_HISTOGRAM_ENTRY; | ||
| 15574 | |||
| 15575 | typedef struct D3D12_RAYTRACING_OPACITY_MICROMAP_ARRAY_DESC | ||
| 15576 | { | ||
| 15577 | UINT NumOmmHistogramEntries; | ||
| 15578 | const D3D12_RAYTRACING_OPACITY_MICROMAP_HISTOGRAM_ENTRY *pOmmHistogram; | ||
| 15579 | D3D12_GPU_VIRTUAL_ADDRESS InputBuffer; | ||
| 15580 | D3D12_GPU_VIRTUAL_ADDRESS_AND_STRIDE PerOmmDescs; | ||
| 15581 | } D3D12_RAYTRACING_OPACITY_MICROMAP_ARRAY_DESC; | ||
| 15582 | |||
| 15583 | typedef struct D3D12_BUILD_RAYTRACING_ACCELERATION_STRUCTURE_INPUTS | ||
| 15584 | { | ||
| 15585 | D3D12_RAYTRACING_ACCELERATION_STRUCTURE_TYPE Type; | ||
| 15586 | D3D12_RAYTRACING_ACCELERATION_STRUCTURE_BUILD_FLAGS Flags; | ||
| 15587 | UINT NumDescs; | ||
| 15588 | D3D12_ELEMENTS_LAYOUT DescsLayout; | ||
| 15589 | union | ||
| 15590 | { | ||
| 15591 | D3D12_GPU_VIRTUAL_ADDRESS InstanceDescs; | ||
| 15592 | const D3D12_RAYTRACING_GEOMETRY_DESC *pGeometryDescs; | ||
| 15593 | const D3D12_RAYTRACING_GEOMETRY_DESC *const *ppGeometryDescs; | ||
| 15594 | const D3D12_RAYTRACING_OPACITY_MICROMAP_ARRAY_DESC *pOpacityMicromapArrayDesc; | ||
| 15595 | } ; | ||
| 15596 | } D3D12_BUILD_RAYTRACING_ACCELERATION_STRUCTURE_INPUTS; | ||
| 15597 | |||
| 15598 | typedef struct D3D12_BUILD_RAYTRACING_ACCELERATION_STRUCTURE_DESC | ||
| 15599 | { | ||
| 15600 | D3D12_GPU_VIRTUAL_ADDRESS DestAccelerationStructureData; | ||
| 15601 | D3D12_BUILD_RAYTRACING_ACCELERATION_STRUCTURE_INPUTS Inputs; | ||
| 15602 | _In_opt_ D3D12_GPU_VIRTUAL_ADDRESS SourceAccelerationStructureData; | ||
| 15603 | D3D12_GPU_VIRTUAL_ADDRESS ScratchAccelerationStructureData; | ||
| 15604 | } D3D12_BUILD_RAYTRACING_ACCELERATION_STRUCTURE_DESC; | ||
| 15605 | |||
| 15606 | typedef struct D3D12_RAYTRACING_ACCELERATION_STRUCTURE_PREBUILD_INFO | ||
| 15607 | { | ||
| 15608 | UINT64 ResultDataMaxSizeInBytes; | ||
| 15609 | UINT64 ScratchDataSizeInBytes; | ||
| 15610 | UINT64 UpdateScratchDataSizeInBytes; | ||
| 15611 | } D3D12_RAYTRACING_ACCELERATION_STRUCTURE_PREBUILD_INFO; | ||
| 15612 | |||
| 15613 | typedef | ||
| 15614 | enum D3D12_RAYTRACING_OPACITY_MICROMAP_ARRAY_POSTBUILD_INFO_TYPE | ||
| 15615 | { | ||
| 15616 | D3D12_RAYTRACING_OPACITY_MICROMAP_ARRAY_POSTBUILD_INFO_CURRENT_SIZE = 0, | ||
| 15617 | D3D12_RAYTRACING_OPACITY_MICROMAP_ARRAY_POSTBUILD_INFO_TOOLS_VISUALIZATION = 0x1 | ||
| 15618 | } D3D12_RAYTRACING_OPACITY_MICROMAP_ARRAY_POSTBUILD_INFO_TYPE; | ||
| 15619 | |||
| 15620 | typedef struct D3D12_RAYTRACING_OPACITY_MICROMAP_ARRAY_POSTBUILD_INFO_DESC | ||
| 15621 | { | ||
| 15622 | D3D12_GPU_VIRTUAL_ADDRESS DestBuffer; | ||
| 15623 | D3D12_RAYTRACING_OPACITY_MICROMAP_ARRAY_POSTBUILD_INFO_TYPE InfoType; | ||
| 15624 | } D3D12_RAYTRACING_OPACITY_MICROMAP_ARRAY_POSTBUILD_INFO_DESC; | ||
| 15625 | |||
| 15626 | typedef struct D3D12_RAYTRACING_OPACITY_MICROMAP_ARRAY_POSTBUILD_INFO_CURRENT_SIZE_DESC | ||
| 15627 | { | ||
| 15628 | UINT64 CurrentSizeInBytes; | ||
| 15629 | } D3D12_RAYTRACING_OPACITY_MICROMAP_ARRAY_POSTBUILD_INFO_CURRENT_SIZE_DESC; | ||
| 15630 | |||
| 15631 | typedef struct D3D12_RAYTRACING_OPACITY_MICROMAP_ARRAY_POSTBUILD_INFO_TOOLS_VISUALIZATION_DESC | ||
| 15632 | { | ||
| 15633 | UINT64 DecodedSizeInBytes; | ||
| 15634 | } D3D12_RAYTRACING_OPACITY_MICROMAP_ARRAY_POSTBUILD_INFO_TOOLS_VISUALIZATION_DESC; | ||
| 15635 | |||
| 15636 | typedef | ||
| 15637 | enum D3D12_RAY_FLAGS | ||
| 15638 | { | ||
| 15639 | D3D12_RAY_FLAG_NONE = 0, | ||
| 15640 | D3D12_RAY_FLAG_FORCE_OPAQUE = 0x1, | ||
| 15641 | D3D12_RAY_FLAG_FORCE_NON_OPAQUE = 0x2, | ||
| 15642 | D3D12_RAY_FLAG_ACCEPT_FIRST_HIT_AND_END_SEARCH = 0x4, | ||
| 15643 | D3D12_RAY_FLAG_SKIP_CLOSEST_HIT_SHADER = 0x8, | ||
| 15644 | D3D12_RAY_FLAG_CULL_BACK_FACING_TRIANGLES = 0x10, | ||
| 15645 | D3D12_RAY_FLAG_CULL_FRONT_FACING_TRIANGLES = 0x20, | ||
| 15646 | D3D12_RAY_FLAG_CULL_OPAQUE = 0x40, | ||
| 15647 | D3D12_RAY_FLAG_CULL_NON_OPAQUE = 0x80, | ||
| 15648 | D3D12_RAY_FLAG_SKIP_TRIANGLES = 0x100, | ||
| 15649 | D3D12_RAY_FLAG_SKIP_PROCEDURAL_PRIMITIVES = 0x200, | ||
| 15650 | D3D12_RAY_FLAG_FORCE_OMM_2_STATE = 0x400 | ||
| 15651 | } D3D12_RAY_FLAGS; | ||
| 15652 | |||
| 15653 | DEFINE_ENUM_FLAG_OPERATORS( D3D12_RAY_FLAGS ) | ||
| 15654 | typedef | ||
| 15655 | enum D3D12_HIT_KIND | ||
| 15656 | { | ||
| 15657 | D3D12_HIT_KIND_TRIANGLE_FRONT_FACE = 0xfe, | ||
| 15658 | D3D12_HIT_KIND_TRIANGLE_BACK_FACE = 0xff | ||
| 15659 | } D3D12_HIT_KIND; | ||
| 15660 | |||
| 15661 | |||
| 15662 | |||
| 15663 | extern RPC_IF_HANDLE __MIDL_itf_d3d12_0000_0039_v0_0_c_ifspec; | ||
| 15664 | extern RPC_IF_HANDLE __MIDL_itf_d3d12_0000_0039_v0_0_s_ifspec; | ||
| 15665 | |||
| 15666 | #ifndef __ID3D12Device5_INTERFACE_DEFINED__ | ||
| 15667 | #define __ID3D12Device5_INTERFACE_DEFINED__ | ||
| 15668 | |||
| 15669 | /* interface ID3D12Device5 */ | ||
| 15670 | /* [unique][local][object][uuid] */ | ||
| 15671 | |||
| 15672 | |||
| 15673 | EXTERN_C const IID IID_ID3D12Device5; | ||
| 15674 | |||
| 15675 | #if defined(__cplusplus) && !defined(CINTERFACE) | ||
| 15676 | |||
| 15677 | MIDL_INTERFACE("8b4f173b-2fea-4b80-8f58-4307191ab95d") | ||
| 15678 | ID3D12Device5 : public ID3D12Device4 | ||
| 15679 | { | ||
| 15680 | public: | ||
| 15681 | virtual HRESULT STDMETHODCALLTYPE CreateLifetimeTracker( | ||
| 15682 | _In_ ID3D12LifetimeOwner *pOwner, | ||
| 15683 | REFIID riid, | ||
| 15684 | _COM_Outptr_ void **ppvTracker) = 0; | ||
| 15685 | |||
| 15686 | virtual void STDMETHODCALLTYPE RemoveDevice( void) = 0; | ||
| 15687 | |||
| 15688 | virtual HRESULT STDMETHODCALLTYPE EnumerateMetaCommands( | ||
| 15689 | _Inout_ UINT *pNumMetaCommands, | ||
| 15690 | _Out_writes_opt_(*pNumMetaCommands) D3D12_META_COMMAND_DESC *pDescs) = 0; | ||
| 15691 | |||
| 15692 | virtual HRESULT STDMETHODCALLTYPE EnumerateMetaCommandParameters( | ||
| 15693 | _In_ REFGUID CommandId, | ||
| 15694 | _In_ D3D12_META_COMMAND_PARAMETER_STAGE Stage, | ||
| 15695 | _Out_opt_ UINT *pTotalStructureSizeInBytes, | ||
| 15696 | _Inout_ UINT *pParameterCount, | ||
| 15697 | _Out_writes_opt_(*pParameterCount) D3D12_META_COMMAND_PARAMETER_DESC *pParameterDescs) = 0; | ||
| 15698 | |||
| 15699 | virtual HRESULT STDMETHODCALLTYPE CreateMetaCommand( | ||
| 15700 | _In_ REFGUID CommandId, | ||
| 15701 | _In_ UINT NodeMask, | ||
| 15702 | _In_reads_bytes_opt_(CreationParametersDataSizeInBytes) const void *pCreationParametersData, | ||
| 15703 | _In_ SIZE_T CreationParametersDataSizeInBytes, | ||
| 15704 | REFIID riid, | ||
| 15705 | _COM_Outptr_ void **ppMetaCommand) = 0; | ||
| 15706 | |||
| 15707 | virtual HRESULT STDMETHODCALLTYPE CreateStateObject( | ||
| 15708 | const D3D12_STATE_OBJECT_DESC *pDesc, | ||
| 15709 | REFIID riid, | ||
| 15710 | _COM_Outptr_ void **ppStateObject) = 0; | ||
| 15711 | |||
| 15712 | virtual void STDMETHODCALLTYPE GetRaytracingAccelerationStructurePrebuildInfo( | ||
| 15713 | _In_ const D3D12_BUILD_RAYTRACING_ACCELERATION_STRUCTURE_INPUTS *pDesc, | ||
| 15714 | _Out_ D3D12_RAYTRACING_ACCELERATION_STRUCTURE_PREBUILD_INFO *pInfo) = 0; | ||
| 15715 | |||
| 15716 | virtual D3D12_DRIVER_MATCHING_IDENTIFIER_STATUS STDMETHODCALLTYPE CheckDriverMatchingIdentifier( | ||
| 15717 | _In_ D3D12_SERIALIZED_DATA_TYPE SerializedDataType, | ||
| 15718 | _In_ const D3D12_SERIALIZED_DATA_DRIVER_MATCHING_IDENTIFIER *pIdentifierToCheck) = 0; | ||
| 15719 | |||
| 15720 | }; | ||
| 15721 | |||
| 15722 | |||
| 15723 | #else /* C style interface */ | ||
| 15724 | |||
| 15725 | typedef struct ID3D12Device5Vtbl | ||
| 15726 | { | ||
| 15727 | BEGIN_INTERFACE | ||
| 15728 | |||
| 15729 | DECLSPEC_XFGVIRT(IUnknown, QueryInterface) | ||
| 15730 | HRESULT ( STDMETHODCALLTYPE *QueryInterface )( | ||
| 15731 | ID3D12Device5 * This, | ||
| 15732 | REFIID riid, | ||
| 15733 | _COM_Outptr_ void **ppvObject); | ||
| 15734 | |||
| 15735 | DECLSPEC_XFGVIRT(IUnknown, AddRef) | ||
| 15736 | ULONG ( STDMETHODCALLTYPE *AddRef )( | ||
| 15737 | ID3D12Device5 * This); | ||
| 15738 | |||
| 15739 | DECLSPEC_XFGVIRT(IUnknown, Release) | ||
| 15740 | ULONG ( STDMETHODCALLTYPE *Release )( | ||
| 15741 | ID3D12Device5 * This); | ||
| 15742 | |||
| 15743 | DECLSPEC_XFGVIRT(ID3D12Object, GetPrivateData) | ||
| 15744 | HRESULT ( STDMETHODCALLTYPE *GetPrivateData )( | ||
| 15745 | ID3D12Device5 * This, | ||
| 15746 | _In_ REFGUID guid, | ||
| 15747 | _Inout_ UINT *pDataSize, | ||
| 15748 | _Out_writes_bytes_opt_( *pDataSize ) void *pData); | ||
| 15749 | |||
| 15750 | DECLSPEC_XFGVIRT(ID3D12Object, SetPrivateData) | ||
| 15751 | HRESULT ( STDMETHODCALLTYPE *SetPrivateData )( | ||
| 15752 | ID3D12Device5 * This, | ||
| 15753 | _In_ REFGUID guid, | ||
| 15754 | _In_ UINT DataSize, | ||
| 15755 | _In_reads_bytes_opt_( DataSize ) const void *pData); | ||
| 15756 | |||
| 15757 | DECLSPEC_XFGVIRT(ID3D12Object, SetPrivateDataInterface) | ||
| 15758 | HRESULT ( STDMETHODCALLTYPE *SetPrivateDataInterface )( | ||
| 15759 | ID3D12Device5 * This, | ||
| 15760 | _In_ REFGUID guid, | ||
| 15761 | _In_opt_ const IUnknown *pData); | ||
| 15762 | |||
| 15763 | DECLSPEC_XFGVIRT(ID3D12Object, SetName) | ||
| 15764 | HRESULT ( STDMETHODCALLTYPE *SetName )( | ||
| 15765 | ID3D12Device5 * This, | ||
| 15766 | _In_z_ LPCWSTR Name); | ||
| 15767 | |||
| 15768 | DECLSPEC_XFGVIRT(ID3D12Device, GetNodeCount) | ||
| 15769 | UINT ( STDMETHODCALLTYPE *GetNodeCount )( | ||
| 15770 | ID3D12Device5 * This); | ||
| 15771 | |||
| 15772 | DECLSPEC_XFGVIRT(ID3D12Device, CreateCommandQueue) | ||
| 15773 | HRESULT ( STDMETHODCALLTYPE *CreateCommandQueue )( | ||
| 15774 | ID3D12Device5 * This, | ||
| 15775 | _In_ const D3D12_COMMAND_QUEUE_DESC *pDesc, | ||
| 15776 | REFIID riid, | ||
| 15777 | _COM_Outptr_ void **ppCommandQueue); | ||
| 15778 | |||
| 15779 | DECLSPEC_XFGVIRT(ID3D12Device, CreateCommandAllocator) | ||
| 15780 | HRESULT ( STDMETHODCALLTYPE *CreateCommandAllocator )( | ||
| 15781 | ID3D12Device5 * This, | ||
| 15782 | _In_ D3D12_COMMAND_LIST_TYPE type, | ||
| 15783 | REFIID riid, | ||
| 15784 | _COM_Outptr_ void **ppCommandAllocator); | ||
| 15785 | |||
| 15786 | DECLSPEC_XFGVIRT(ID3D12Device, CreateGraphicsPipelineState) | ||
| 15787 | HRESULT ( STDMETHODCALLTYPE *CreateGraphicsPipelineState )( | ||
| 15788 | ID3D12Device5 * This, | ||
| 15789 | _In_ const D3D12_GRAPHICS_PIPELINE_STATE_DESC *pDesc, | ||
| 15790 | REFIID riid, | ||
| 15791 | _COM_Outptr_ void **ppPipelineState); | ||
| 15792 | |||
| 15793 | DECLSPEC_XFGVIRT(ID3D12Device, CreateComputePipelineState) | ||
| 15794 | HRESULT ( STDMETHODCALLTYPE *CreateComputePipelineState )( | ||
| 15795 | ID3D12Device5 * This, | ||
| 15796 | _In_ const D3D12_COMPUTE_PIPELINE_STATE_DESC *pDesc, | ||
| 15797 | REFIID riid, | ||
| 15798 | _COM_Outptr_ void **ppPipelineState); | ||
| 15799 | |||
| 15800 | DECLSPEC_XFGVIRT(ID3D12Device, CreateCommandList) | ||
| 15801 | HRESULT ( STDMETHODCALLTYPE *CreateCommandList )( | ||
| 15802 | ID3D12Device5 * This, | ||
| 15803 | _In_ UINT nodeMask, | ||
| 15804 | _In_ D3D12_COMMAND_LIST_TYPE type, | ||
| 15805 | _In_ ID3D12CommandAllocator *pCommandAllocator, | ||
| 15806 | _In_opt_ ID3D12PipelineState *pInitialState, | ||
| 15807 | REFIID riid, | ||
| 15808 | _COM_Outptr_ void **ppCommandList); | ||
| 15809 | |||
| 15810 | DECLSPEC_XFGVIRT(ID3D12Device, CheckFeatureSupport) | ||
| 15811 | HRESULT ( STDMETHODCALLTYPE *CheckFeatureSupport )( | ||
| 15812 | ID3D12Device5 * This, | ||
| 15813 | D3D12_FEATURE Feature, | ||
| 15814 | _Inout_updates_bytes_(FeatureSupportDataSize) void *pFeatureSupportData, | ||
| 15815 | UINT FeatureSupportDataSize); | ||
| 15816 | |||
| 15817 | DECLSPEC_XFGVIRT(ID3D12Device, CreateDescriptorHeap) | ||
| 15818 | HRESULT ( STDMETHODCALLTYPE *CreateDescriptorHeap )( | ||
| 15819 | ID3D12Device5 * This, | ||
| 15820 | _In_ const D3D12_DESCRIPTOR_HEAP_DESC *pDescriptorHeapDesc, | ||
| 15821 | REFIID riid, | ||
| 15822 | _COM_Outptr_ void **ppvHeap); | ||
| 15823 | |||
| 15824 | DECLSPEC_XFGVIRT(ID3D12Device, GetDescriptorHandleIncrementSize) | ||
| 15825 | UINT ( STDMETHODCALLTYPE *GetDescriptorHandleIncrementSize )( | ||
| 15826 | ID3D12Device5 * This, | ||
| 15827 | _In_ D3D12_DESCRIPTOR_HEAP_TYPE DescriptorHeapType); | ||
| 15828 | |||
| 15829 | DECLSPEC_XFGVIRT(ID3D12Device, CreateRootSignature) | ||
| 15830 | HRESULT ( STDMETHODCALLTYPE *CreateRootSignature )( | ||
| 15831 | ID3D12Device5 * This, | ||
| 15832 | _In_ UINT nodeMask, | ||
| 15833 | _In_reads_(blobLengthInBytes) const void *pBlobWithRootSignature, | ||
| 15834 | _In_ SIZE_T blobLengthInBytes, | ||
| 15835 | REFIID riid, | ||
| 15836 | _COM_Outptr_ void **ppvRootSignature); | ||
| 15837 | |||
| 15838 | DECLSPEC_XFGVIRT(ID3D12Device, CreateConstantBufferView) | ||
| 15839 | void ( STDMETHODCALLTYPE *CreateConstantBufferView )( | ||
| 15840 | ID3D12Device5 * This, | ||
| 15841 | _In_opt_ const D3D12_CONSTANT_BUFFER_VIEW_DESC *pDesc, | ||
| 15842 | _In_ D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor); | ||
| 15843 | |||
| 15844 | DECLSPEC_XFGVIRT(ID3D12Device, CreateShaderResourceView) | ||
| 15845 | void ( STDMETHODCALLTYPE *CreateShaderResourceView )( | ||
| 15846 | ID3D12Device5 * This, | ||
| 15847 | _In_opt_ ID3D12Resource *pResource, | ||
| 15848 | _In_opt_ const D3D12_SHADER_RESOURCE_VIEW_DESC *pDesc, | ||
| 15849 | _In_ D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor); | ||
| 15850 | |||
| 15851 | DECLSPEC_XFGVIRT(ID3D12Device, CreateUnorderedAccessView) | ||
| 15852 | void ( STDMETHODCALLTYPE *CreateUnorderedAccessView )( | ||
| 15853 | ID3D12Device5 * This, | ||
| 15854 | _In_opt_ ID3D12Resource *pResource, | ||
| 15855 | _In_opt_ ID3D12Resource *pCounterResource, | ||
| 15856 | _In_opt_ const D3D12_UNORDERED_ACCESS_VIEW_DESC *pDesc, | ||
| 15857 | _In_ D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor); | ||
| 15858 | |||
| 15859 | DECLSPEC_XFGVIRT(ID3D12Device, CreateRenderTargetView) | ||
| 15860 | void ( STDMETHODCALLTYPE *CreateRenderTargetView )( | ||
| 15861 | ID3D12Device5 * This, | ||
| 15862 | _In_opt_ ID3D12Resource *pResource, | ||
| 15863 | _In_opt_ const D3D12_RENDER_TARGET_VIEW_DESC *pDesc, | ||
| 15864 | _In_ D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor); | ||
| 15865 | |||
| 15866 | DECLSPEC_XFGVIRT(ID3D12Device, CreateDepthStencilView) | ||
| 15867 | void ( STDMETHODCALLTYPE *CreateDepthStencilView )( | ||
| 15868 | ID3D12Device5 * This, | ||
| 15869 | _In_opt_ ID3D12Resource *pResource, | ||
| 15870 | _In_opt_ const D3D12_DEPTH_STENCIL_VIEW_DESC *pDesc, | ||
| 15871 | _In_ D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor); | ||
| 15872 | |||
| 15873 | DECLSPEC_XFGVIRT(ID3D12Device, CreateSampler) | ||
| 15874 | void ( STDMETHODCALLTYPE *CreateSampler )( | ||
| 15875 | ID3D12Device5 * This, | ||
| 15876 | _In_ const D3D12_SAMPLER_DESC *pDesc, | ||
| 15877 | _In_ D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor); | ||
| 15878 | |||
| 15879 | DECLSPEC_XFGVIRT(ID3D12Device, CopyDescriptors) | ||
| 15880 | void ( STDMETHODCALLTYPE *CopyDescriptors )( | ||
| 15881 | ID3D12Device5 * This, | ||
| 15882 | _In_ UINT NumDestDescriptorRanges, | ||
| 15883 | _In_reads_(NumDestDescriptorRanges) const D3D12_CPU_DESCRIPTOR_HANDLE *pDestDescriptorRangeStarts, | ||
| 15884 | _In_reads_opt_(NumDestDescriptorRanges) const UINT *pDestDescriptorRangeSizes, | ||
| 15885 | _In_ UINT NumSrcDescriptorRanges, | ||
| 15886 | _In_reads_(NumSrcDescriptorRanges) const D3D12_CPU_DESCRIPTOR_HANDLE *pSrcDescriptorRangeStarts, | ||
| 15887 | _In_reads_opt_(NumSrcDescriptorRanges) const UINT *pSrcDescriptorRangeSizes, | ||
| 15888 | _In_ D3D12_DESCRIPTOR_HEAP_TYPE DescriptorHeapsType); | ||
| 15889 | |||
| 15890 | DECLSPEC_XFGVIRT(ID3D12Device, CopyDescriptorsSimple) | ||
| 15891 | void ( STDMETHODCALLTYPE *CopyDescriptorsSimple )( | ||
| 15892 | ID3D12Device5 * This, | ||
| 15893 | _In_ UINT NumDescriptors, | ||
| 15894 | _In_ D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptorRangeStart, | ||
| 15895 | _In_ D3D12_CPU_DESCRIPTOR_HANDLE SrcDescriptorRangeStart, | ||
| 15896 | _In_ D3D12_DESCRIPTOR_HEAP_TYPE DescriptorHeapsType); | ||
| 15897 | |||
| 15898 | DECLSPEC_XFGVIRT(ID3D12Device, GetResourceAllocationInfo) | ||
| 15899 | #if !defined(_WIN32) | ||
| 15900 | D3D12_RESOURCE_ALLOCATION_INFO ( STDMETHODCALLTYPE *GetResourceAllocationInfo )( | ||
| 15901 | ID3D12Device5 * This, | ||
| 15902 | _In_ UINT visibleMask, | ||
| 15903 | _In_ UINT numResourceDescs, | ||
| 15904 | _In_reads_(numResourceDescs) const D3D12_RESOURCE_DESC *pResourceDescs); | ||
| 15905 | |||
| 15906 | #else | ||
| 15907 | D3D12_RESOURCE_ALLOCATION_INFO *( STDMETHODCALLTYPE *GetResourceAllocationInfo )( | ||
| 15908 | ID3D12Device5 * This, | ||
| 15909 | D3D12_RESOURCE_ALLOCATION_INFO * RetVal, | ||
| 15910 | _In_ UINT visibleMask, | ||
| 15911 | _In_ UINT numResourceDescs, | ||
| 15912 | _In_reads_(numResourceDescs) const D3D12_RESOURCE_DESC *pResourceDescs); | ||
| 15913 | |||
| 15914 | #endif | ||
| 15915 | |||
| 15916 | DECLSPEC_XFGVIRT(ID3D12Device, GetCustomHeapProperties) | ||
| 15917 | #if !defined(_WIN32) | ||
| 15918 | D3D12_HEAP_PROPERTIES ( STDMETHODCALLTYPE *GetCustomHeapProperties )( | ||
| 15919 | ID3D12Device5 * This, | ||
| 15920 | _In_ UINT nodeMask, | ||
| 15921 | D3D12_HEAP_TYPE heapType); | ||
| 15922 | |||
| 15923 | #else | ||
| 15924 | D3D12_HEAP_PROPERTIES *( STDMETHODCALLTYPE *GetCustomHeapProperties )( | ||
| 15925 | ID3D12Device5 * This, | ||
| 15926 | D3D12_HEAP_PROPERTIES * RetVal, | ||
| 15927 | _In_ UINT nodeMask, | ||
| 15928 | D3D12_HEAP_TYPE heapType); | ||
| 15929 | |||
| 15930 | #endif | ||
| 15931 | |||
| 15932 | DECLSPEC_XFGVIRT(ID3D12Device, CreateCommittedResource) | ||
| 15933 | HRESULT ( STDMETHODCALLTYPE *CreateCommittedResource )( | ||
| 15934 | ID3D12Device5 * This, | ||
| 15935 | _In_ const D3D12_HEAP_PROPERTIES *pHeapProperties, | ||
| 15936 | D3D12_HEAP_FLAGS HeapFlags, | ||
| 15937 | _In_ const D3D12_RESOURCE_DESC *pDesc, | ||
| 15938 | D3D12_RESOURCE_STATES InitialResourceState, | ||
| 15939 | _In_opt_ const D3D12_CLEAR_VALUE *pOptimizedClearValue, | ||
| 15940 | REFIID riidResource, | ||
| 15941 | _COM_Outptr_opt_ void **ppvResource); | ||
| 15942 | |||
| 15943 | DECLSPEC_XFGVIRT(ID3D12Device, CreateHeap) | ||
| 15944 | HRESULT ( STDMETHODCALLTYPE *CreateHeap )( | ||
| 15945 | ID3D12Device5 * This, | ||
| 15946 | _In_ const D3D12_HEAP_DESC *pDesc, | ||
| 15947 | REFIID riid, | ||
| 15948 | _COM_Outptr_opt_ void **ppvHeap); | ||
| 15949 | |||
| 15950 | DECLSPEC_XFGVIRT(ID3D12Device, CreatePlacedResource) | ||
| 15951 | HRESULT ( STDMETHODCALLTYPE *CreatePlacedResource )( | ||
| 15952 | ID3D12Device5 * This, | ||
| 15953 | _In_ ID3D12Heap *pHeap, | ||
| 15954 | UINT64 HeapOffset, | ||
| 15955 | _In_ const D3D12_RESOURCE_DESC *pDesc, | ||
| 15956 | D3D12_RESOURCE_STATES InitialState, | ||
| 15957 | _In_opt_ const D3D12_CLEAR_VALUE *pOptimizedClearValue, | ||
| 15958 | REFIID riid, | ||
| 15959 | _COM_Outptr_opt_ void **ppvResource); | ||
| 15960 | |||
| 15961 | DECLSPEC_XFGVIRT(ID3D12Device, CreateReservedResource) | ||
| 15962 | HRESULT ( STDMETHODCALLTYPE *CreateReservedResource )( | ||
| 15963 | ID3D12Device5 * This, | ||
| 15964 | _In_ const D3D12_RESOURCE_DESC *pDesc, | ||
| 15965 | D3D12_RESOURCE_STATES InitialState, | ||
| 15966 | _In_opt_ const D3D12_CLEAR_VALUE *pOptimizedClearValue, | ||
| 15967 | REFIID riid, | ||
| 15968 | _COM_Outptr_opt_ void **ppvResource); | ||
| 15969 | |||
| 15970 | DECLSPEC_XFGVIRT(ID3D12Device, CreateSharedHandle) | ||
| 15971 | HRESULT ( STDMETHODCALLTYPE *CreateSharedHandle )( | ||
| 15972 | ID3D12Device5 * This, | ||
| 15973 | _In_ ID3D12DeviceChild *pObject, | ||
| 15974 | _In_opt_ const SECURITY_ATTRIBUTES *pAttributes, | ||
| 15975 | DWORD Access, | ||
| 15976 | _In_opt_ LPCWSTR Name, | ||
| 15977 | _Out_ HANDLE *pHandle); | ||
| 15978 | |||
| 15979 | DECLSPEC_XFGVIRT(ID3D12Device, OpenSharedHandle) | ||
| 15980 | HRESULT ( STDMETHODCALLTYPE *OpenSharedHandle )( | ||
| 15981 | ID3D12Device5 * This, | ||
| 15982 | _In_ HANDLE NTHandle, | ||
| 15983 | REFIID riid, | ||
| 15984 | _COM_Outptr_opt_ void **ppvObj); | ||
| 15985 | |||
| 15986 | DECLSPEC_XFGVIRT(ID3D12Device, OpenSharedHandleByName) | ||
| 15987 | HRESULT ( STDMETHODCALLTYPE *OpenSharedHandleByName )( | ||
| 15988 | ID3D12Device5 * This, | ||
| 15989 | _In_ LPCWSTR Name, | ||
| 15990 | DWORD Access, | ||
| 15991 | /* [annotation][out] */ | ||
| 15992 | _Out_ HANDLE *pNTHandle); | ||
| 15993 | |||
| 15994 | DECLSPEC_XFGVIRT(ID3D12Device, MakeResident) | ||
| 15995 | HRESULT ( STDMETHODCALLTYPE *MakeResident )( | ||
| 15996 | ID3D12Device5 * This, | ||
| 15997 | UINT NumObjects, | ||
| 15998 | _In_reads_(NumObjects) ID3D12Pageable *const *ppObjects); | ||
| 15999 | |||
| 16000 | DECLSPEC_XFGVIRT(ID3D12Device, Evict) | ||
| 16001 | HRESULT ( STDMETHODCALLTYPE *Evict )( | ||
| 16002 | ID3D12Device5 * This, | ||
| 16003 | UINT NumObjects, | ||
| 16004 | _In_reads_(NumObjects) ID3D12Pageable *const *ppObjects); | ||
| 16005 | |||
| 16006 | DECLSPEC_XFGVIRT(ID3D12Device, CreateFence) | ||
| 16007 | HRESULT ( STDMETHODCALLTYPE *CreateFence )( | ||
| 16008 | ID3D12Device5 * This, | ||
| 16009 | UINT64 InitialValue, | ||
| 16010 | D3D12_FENCE_FLAGS Flags, | ||
| 16011 | REFIID riid, | ||
| 16012 | _COM_Outptr_ void **ppFence); | ||
| 16013 | |||
| 16014 | DECLSPEC_XFGVIRT(ID3D12Device, GetDeviceRemovedReason) | ||
| 16015 | HRESULT ( STDMETHODCALLTYPE *GetDeviceRemovedReason )( | ||
| 16016 | ID3D12Device5 * This); | ||
| 16017 | |||
| 16018 | DECLSPEC_XFGVIRT(ID3D12Device, GetCopyableFootprints) | ||
| 16019 | void ( STDMETHODCALLTYPE *GetCopyableFootprints )( | ||
| 16020 | ID3D12Device5 * This, | ||
| 16021 | _In_ const D3D12_RESOURCE_DESC *pResourceDesc, | ||
| 16022 | _In_range_(0,D3D12_REQ_SUBRESOURCES) UINT FirstSubresource, | ||
| 16023 | _In_range_(0,D3D12_REQ_SUBRESOURCES-FirstSubresource) UINT NumSubresources, | ||
| 16024 | UINT64 BaseOffset, | ||
| 16025 | _Out_writes_opt_(NumSubresources) D3D12_PLACED_SUBRESOURCE_FOOTPRINT *pLayouts, | ||
| 16026 | _Out_writes_opt_(NumSubresources) UINT *pNumRows, | ||
| 16027 | _Out_writes_opt_(NumSubresources) UINT64 *pRowSizeInBytes, | ||
| 16028 | _Out_opt_ UINT64 *pTotalBytes); | ||
| 16029 | |||
| 16030 | DECLSPEC_XFGVIRT(ID3D12Device, CreateQueryHeap) | ||
| 16031 | HRESULT ( STDMETHODCALLTYPE *CreateQueryHeap )( | ||
| 16032 | ID3D12Device5 * This, | ||
| 16033 | _In_ const D3D12_QUERY_HEAP_DESC *pDesc, | ||
| 16034 | REFIID riid, | ||
| 16035 | _COM_Outptr_opt_ void **ppvHeap); | ||
| 16036 | |||
| 16037 | DECLSPEC_XFGVIRT(ID3D12Device, SetStablePowerState) | ||
| 16038 | HRESULT ( STDMETHODCALLTYPE *SetStablePowerState )( | ||
| 16039 | ID3D12Device5 * This, | ||
| 16040 | BOOL Enable); | ||
| 16041 | |||
| 16042 | DECLSPEC_XFGVIRT(ID3D12Device, CreateCommandSignature) | ||
| 16043 | HRESULT ( STDMETHODCALLTYPE *CreateCommandSignature )( | ||
| 16044 | ID3D12Device5 * This, | ||
| 16045 | _In_ const D3D12_COMMAND_SIGNATURE_DESC *pDesc, | ||
| 16046 | _In_opt_ ID3D12RootSignature *pRootSignature, | ||
| 16047 | REFIID riid, | ||
| 16048 | _COM_Outptr_opt_ void **ppvCommandSignature); | ||
| 16049 | |||
| 16050 | DECLSPEC_XFGVIRT(ID3D12Device, GetResourceTiling) | ||
| 16051 | void ( STDMETHODCALLTYPE *GetResourceTiling )( | ||
| 16052 | ID3D12Device5 * This, | ||
| 16053 | _In_ ID3D12Resource *pTiledResource, | ||
| 16054 | _Out_opt_ UINT *pNumTilesForEntireResource, | ||
| 16055 | _Out_opt_ D3D12_PACKED_MIP_INFO *pPackedMipDesc, | ||
| 16056 | _Out_opt_ D3D12_TILE_SHAPE *pStandardTileShapeForNonPackedMips, | ||
| 16057 | _Inout_opt_ UINT *pNumSubresourceTilings, | ||
| 16058 | _In_ UINT FirstSubresourceTilingToGet, | ||
| 16059 | _Out_writes_(*pNumSubresourceTilings) D3D12_SUBRESOURCE_TILING *pSubresourceTilingsForNonPackedMips); | ||
| 16060 | |||
| 16061 | DECLSPEC_XFGVIRT(ID3D12Device, GetAdapterLuid) | ||
| 16062 | #if !defined(_WIN32) | ||
| 16063 | LUID ( STDMETHODCALLTYPE *GetAdapterLuid )( | ||
| 16064 | ID3D12Device5 * This); | ||
| 16065 | |||
| 16066 | #else | ||
| 16067 | LUID *( STDMETHODCALLTYPE *GetAdapterLuid )( | ||
| 16068 | ID3D12Device5 * This, | ||
| 16069 | LUID * RetVal); | ||
| 16070 | |||
| 16071 | #endif | ||
| 16072 | |||
| 16073 | DECLSPEC_XFGVIRT(ID3D12Device1, CreatePipelineLibrary) | ||
| 16074 | HRESULT ( STDMETHODCALLTYPE *CreatePipelineLibrary )( | ||
| 16075 | ID3D12Device5 * This, | ||
| 16076 | _In_reads_(BlobLength) const void *pLibraryBlob, | ||
| 16077 | SIZE_T BlobLength, | ||
| 16078 | REFIID riid, | ||
| 16079 | _COM_Outptr_ void **ppPipelineLibrary); | ||
| 16080 | |||
| 16081 | DECLSPEC_XFGVIRT(ID3D12Device1, SetEventOnMultipleFenceCompletion) | ||
| 16082 | HRESULT ( STDMETHODCALLTYPE *SetEventOnMultipleFenceCompletion )( | ||
| 16083 | ID3D12Device5 * This, | ||
| 16084 | _In_reads_(NumFences) ID3D12Fence *const *ppFences, | ||
| 16085 | _In_reads_(NumFences) const UINT64 *pFenceValues, | ||
| 16086 | UINT NumFences, | ||
| 16087 | D3D12_MULTIPLE_FENCE_WAIT_FLAGS Flags, | ||
| 16088 | HANDLE hEvent); | ||
| 16089 | |||
| 16090 | DECLSPEC_XFGVIRT(ID3D12Device1, SetResidencyPriority) | ||
| 16091 | HRESULT ( STDMETHODCALLTYPE *SetResidencyPriority )( | ||
| 16092 | ID3D12Device5 * This, | ||
| 16093 | UINT NumObjects, | ||
| 16094 | _In_reads_(NumObjects) ID3D12Pageable *const *ppObjects, | ||
| 16095 | _In_reads_(NumObjects) const D3D12_RESIDENCY_PRIORITY *pPriorities); | ||
| 16096 | |||
| 16097 | DECLSPEC_XFGVIRT(ID3D12Device2, CreatePipelineState) | ||
| 16098 | HRESULT ( STDMETHODCALLTYPE *CreatePipelineState )( | ||
| 16099 | ID3D12Device5 * This, | ||
| 16100 | const D3D12_PIPELINE_STATE_STREAM_DESC *pDesc, | ||
| 16101 | REFIID riid, | ||
| 16102 | _COM_Outptr_ void **ppPipelineState); | ||
| 16103 | |||
| 16104 | DECLSPEC_XFGVIRT(ID3D12Device3, OpenExistingHeapFromAddress) | ||
| 16105 | HRESULT ( STDMETHODCALLTYPE *OpenExistingHeapFromAddress )( | ||
| 16106 | ID3D12Device5 * This, | ||
| 16107 | _In_ const void *pAddress, | ||
| 16108 | REFIID riid, | ||
| 16109 | _COM_Outptr_ void **ppvHeap); | ||
| 16110 | |||
| 16111 | DECLSPEC_XFGVIRT(ID3D12Device3, OpenExistingHeapFromFileMapping) | ||
| 16112 | HRESULT ( STDMETHODCALLTYPE *OpenExistingHeapFromFileMapping )( | ||
| 16113 | ID3D12Device5 * This, | ||
| 16114 | _In_ HANDLE hFileMapping, | ||
| 16115 | REFIID riid, | ||
| 16116 | _COM_Outptr_ void **ppvHeap); | ||
| 16117 | |||
| 16118 | DECLSPEC_XFGVIRT(ID3D12Device3, EnqueueMakeResident) | ||
| 16119 | HRESULT ( STDMETHODCALLTYPE *EnqueueMakeResident )( | ||
| 16120 | ID3D12Device5 * This, | ||
| 16121 | D3D12_RESIDENCY_FLAGS Flags, | ||
| 16122 | UINT NumObjects, | ||
| 16123 | _In_reads_(NumObjects) ID3D12Pageable *const *ppObjects, | ||
| 16124 | _In_ ID3D12Fence *pFenceToSignal, | ||
| 16125 | UINT64 FenceValueToSignal); | ||
| 16126 | |||
| 16127 | DECLSPEC_XFGVIRT(ID3D12Device4, CreateCommandList1) | ||
| 16128 | HRESULT ( STDMETHODCALLTYPE *CreateCommandList1 )( | ||
| 16129 | ID3D12Device5 * This, | ||
| 16130 | _In_ UINT nodeMask, | ||
| 16131 | _In_ D3D12_COMMAND_LIST_TYPE type, | ||
| 16132 | _In_ D3D12_COMMAND_LIST_FLAGS flags, | ||
| 16133 | REFIID riid, | ||
| 16134 | _COM_Outptr_ void **ppCommandList); | ||
| 16135 | |||
| 16136 | DECLSPEC_XFGVIRT(ID3D12Device4, CreateProtectedResourceSession) | ||
| 16137 | HRESULT ( STDMETHODCALLTYPE *CreateProtectedResourceSession )( | ||
| 16138 | ID3D12Device5 * This, | ||
| 16139 | _In_ const D3D12_PROTECTED_RESOURCE_SESSION_DESC *pDesc, | ||
| 16140 | _In_ REFIID riid, | ||
| 16141 | _COM_Outptr_ void **ppSession); | ||
| 16142 | |||
| 16143 | DECLSPEC_XFGVIRT(ID3D12Device4, CreateCommittedResource1) | ||
| 16144 | HRESULT ( STDMETHODCALLTYPE *CreateCommittedResource1 )( | ||
| 16145 | ID3D12Device5 * This, | ||
| 16146 | _In_ const D3D12_HEAP_PROPERTIES *pHeapProperties, | ||
| 16147 | D3D12_HEAP_FLAGS HeapFlags, | ||
| 16148 | _In_ const D3D12_RESOURCE_DESC *pDesc, | ||
| 16149 | D3D12_RESOURCE_STATES InitialResourceState, | ||
| 16150 | _In_opt_ const D3D12_CLEAR_VALUE *pOptimizedClearValue, | ||
| 16151 | _In_opt_ ID3D12ProtectedResourceSession *pProtectedSession, | ||
| 16152 | REFIID riidResource, | ||
| 16153 | _COM_Outptr_opt_ void **ppvResource); | ||
| 16154 | |||
| 16155 | DECLSPEC_XFGVIRT(ID3D12Device4, CreateHeap1) | ||
| 16156 | HRESULT ( STDMETHODCALLTYPE *CreateHeap1 )( | ||
| 16157 | ID3D12Device5 * This, | ||
| 16158 | _In_ const D3D12_HEAP_DESC *pDesc, | ||
| 16159 | _In_opt_ ID3D12ProtectedResourceSession *pProtectedSession, | ||
| 16160 | REFIID riid, | ||
| 16161 | _COM_Outptr_opt_ void **ppvHeap); | ||
| 16162 | |||
| 16163 | DECLSPEC_XFGVIRT(ID3D12Device4, CreateReservedResource1) | ||
| 16164 | HRESULT ( STDMETHODCALLTYPE *CreateReservedResource1 )( | ||
| 16165 | ID3D12Device5 * This, | ||
| 16166 | _In_ const D3D12_RESOURCE_DESC *pDesc, | ||
| 16167 | D3D12_RESOURCE_STATES InitialState, | ||
| 16168 | _In_opt_ const D3D12_CLEAR_VALUE *pOptimizedClearValue, | ||
| 16169 | _In_opt_ ID3D12ProtectedResourceSession *pProtectedSession, | ||
| 16170 | REFIID riid, | ||
| 16171 | _COM_Outptr_opt_ void **ppvResource); | ||
| 16172 | |||
| 16173 | DECLSPEC_XFGVIRT(ID3D12Device4, GetResourceAllocationInfo1) | ||
| 16174 | #if !defined(_WIN32) | ||
| 16175 | D3D12_RESOURCE_ALLOCATION_INFO ( STDMETHODCALLTYPE *GetResourceAllocationInfo1 )( | ||
| 16176 | ID3D12Device5 * This, | ||
| 16177 | UINT visibleMask, | ||
| 16178 | UINT numResourceDescs, | ||
| 16179 | _In_reads_(numResourceDescs) const D3D12_RESOURCE_DESC *pResourceDescs, | ||
| 16180 | _Out_writes_opt_(numResourceDescs) D3D12_RESOURCE_ALLOCATION_INFO1 *pResourceAllocationInfo1); | ||
| 16181 | |||
| 16182 | #else | ||
| 16183 | D3D12_RESOURCE_ALLOCATION_INFO *( STDMETHODCALLTYPE *GetResourceAllocationInfo1 )( | ||
| 16184 | ID3D12Device5 * This, | ||
| 16185 | D3D12_RESOURCE_ALLOCATION_INFO * RetVal, | ||
| 16186 | UINT visibleMask, | ||
| 16187 | UINT numResourceDescs, | ||
| 16188 | _In_reads_(numResourceDescs) const D3D12_RESOURCE_DESC *pResourceDescs, | ||
| 16189 | _Out_writes_opt_(numResourceDescs) D3D12_RESOURCE_ALLOCATION_INFO1 *pResourceAllocationInfo1); | ||
| 16190 | |||
| 16191 | #endif | ||
| 16192 | |||
| 16193 | DECLSPEC_XFGVIRT(ID3D12Device5, CreateLifetimeTracker) | ||
| 16194 | HRESULT ( STDMETHODCALLTYPE *CreateLifetimeTracker )( | ||
| 16195 | ID3D12Device5 * This, | ||
| 16196 | _In_ ID3D12LifetimeOwner *pOwner, | ||
| 16197 | REFIID riid, | ||
| 16198 | _COM_Outptr_ void **ppvTracker); | ||
| 16199 | |||
| 16200 | DECLSPEC_XFGVIRT(ID3D12Device5, RemoveDevice) | ||
| 16201 | void ( STDMETHODCALLTYPE *RemoveDevice )( | ||
| 16202 | ID3D12Device5 * This); | ||
| 16203 | |||
| 16204 | DECLSPEC_XFGVIRT(ID3D12Device5, EnumerateMetaCommands) | ||
| 16205 | HRESULT ( STDMETHODCALLTYPE *EnumerateMetaCommands )( | ||
| 16206 | ID3D12Device5 * This, | ||
| 16207 | _Inout_ UINT *pNumMetaCommands, | ||
| 16208 | _Out_writes_opt_(*pNumMetaCommands) D3D12_META_COMMAND_DESC *pDescs); | ||
| 16209 | |||
| 16210 | DECLSPEC_XFGVIRT(ID3D12Device5, EnumerateMetaCommandParameters) | ||
| 16211 | HRESULT ( STDMETHODCALLTYPE *EnumerateMetaCommandParameters )( | ||
| 16212 | ID3D12Device5 * This, | ||
| 16213 | _In_ REFGUID CommandId, | ||
| 16214 | _In_ D3D12_META_COMMAND_PARAMETER_STAGE Stage, | ||
| 16215 | _Out_opt_ UINT *pTotalStructureSizeInBytes, | ||
| 16216 | _Inout_ UINT *pParameterCount, | ||
| 16217 | _Out_writes_opt_(*pParameterCount) D3D12_META_COMMAND_PARAMETER_DESC *pParameterDescs); | ||
| 16218 | |||
| 16219 | DECLSPEC_XFGVIRT(ID3D12Device5, CreateMetaCommand) | ||
| 16220 | HRESULT ( STDMETHODCALLTYPE *CreateMetaCommand )( | ||
| 16221 | ID3D12Device5 * This, | ||
| 16222 | _In_ REFGUID CommandId, | ||
| 16223 | _In_ UINT NodeMask, | ||
| 16224 | _In_reads_bytes_opt_(CreationParametersDataSizeInBytes) const void *pCreationParametersData, | ||
| 16225 | _In_ SIZE_T CreationParametersDataSizeInBytes, | ||
| 16226 | REFIID riid, | ||
| 16227 | _COM_Outptr_ void **ppMetaCommand); | ||
| 16228 | |||
| 16229 | DECLSPEC_XFGVIRT(ID3D12Device5, CreateStateObject) | ||
| 16230 | HRESULT ( STDMETHODCALLTYPE *CreateStateObject )( | ||
| 16231 | ID3D12Device5 * This, | ||
| 16232 | const D3D12_STATE_OBJECT_DESC *pDesc, | ||
| 16233 | REFIID riid, | ||
| 16234 | _COM_Outptr_ void **ppStateObject); | ||
| 16235 | |||
| 16236 | DECLSPEC_XFGVIRT(ID3D12Device5, GetRaytracingAccelerationStructurePrebuildInfo) | ||
| 16237 | void ( STDMETHODCALLTYPE *GetRaytracingAccelerationStructurePrebuildInfo )( | ||
| 16238 | ID3D12Device5 * This, | ||
| 16239 | _In_ const D3D12_BUILD_RAYTRACING_ACCELERATION_STRUCTURE_INPUTS *pDesc, | ||
| 16240 | _Out_ D3D12_RAYTRACING_ACCELERATION_STRUCTURE_PREBUILD_INFO *pInfo); | ||
| 16241 | |||
| 16242 | DECLSPEC_XFGVIRT(ID3D12Device5, CheckDriverMatchingIdentifier) | ||
| 16243 | D3D12_DRIVER_MATCHING_IDENTIFIER_STATUS ( STDMETHODCALLTYPE *CheckDriverMatchingIdentifier )( | ||
| 16244 | ID3D12Device5 * This, | ||
| 16245 | _In_ D3D12_SERIALIZED_DATA_TYPE SerializedDataType, | ||
| 16246 | _In_ const D3D12_SERIALIZED_DATA_DRIVER_MATCHING_IDENTIFIER *pIdentifierToCheck); | ||
| 16247 | |||
| 16248 | END_INTERFACE | ||
| 16249 | } ID3D12Device5Vtbl; | ||
| 16250 | |||
| 16251 | interface ID3D12Device5 | ||
| 16252 | { | ||
| 16253 | CONST_VTBL struct ID3D12Device5Vtbl *lpVtbl; | ||
| 16254 | }; | ||
| 16255 | |||
| 16256 | |||
| 16257 | |||
| 16258 | #ifdef COBJMACROS | ||
| 16259 | |||
| 16260 | |||
| 16261 | #define ID3D12Device5_QueryInterface(This,riid,ppvObject) \ | ||
| 16262 | ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) | ||
| 16263 | |||
| 16264 | #define ID3D12Device5_AddRef(This) \ | ||
| 16265 | ( (This)->lpVtbl -> AddRef(This) ) | ||
| 16266 | |||
| 16267 | #define ID3D12Device5_Release(This) \ | ||
| 16268 | ( (This)->lpVtbl -> Release(This) ) | ||
| 16269 | |||
| 16270 | |||
| 16271 | #define ID3D12Device5_GetPrivateData(This,guid,pDataSize,pData) \ | ||
| 16272 | ( (This)->lpVtbl -> GetPrivateData(This,guid,pDataSize,pData) ) | ||
| 16273 | |||
| 16274 | #define ID3D12Device5_SetPrivateData(This,guid,DataSize,pData) \ | ||
| 16275 | ( (This)->lpVtbl -> SetPrivateData(This,guid,DataSize,pData) ) | ||
| 16276 | |||
| 16277 | #define ID3D12Device5_SetPrivateDataInterface(This,guid,pData) \ | ||
| 16278 | ( (This)->lpVtbl -> SetPrivateDataInterface(This,guid,pData) ) | ||
| 16279 | |||
| 16280 | #define ID3D12Device5_SetName(This,Name) \ | ||
| 16281 | ( (This)->lpVtbl -> SetName(This,Name) ) | ||
| 16282 | |||
| 16283 | |||
| 16284 | #define ID3D12Device5_GetNodeCount(This) \ | ||
| 16285 | ( (This)->lpVtbl -> GetNodeCount(This) ) | ||
| 16286 | |||
| 16287 | #define ID3D12Device5_CreateCommandQueue(This,pDesc,riid,ppCommandQueue) \ | ||
| 16288 | ( (This)->lpVtbl -> CreateCommandQueue(This,pDesc,riid,ppCommandQueue) ) | ||
| 16289 | |||
| 16290 | #define ID3D12Device5_CreateCommandAllocator(This,type,riid,ppCommandAllocator) \ | ||
| 16291 | ( (This)->lpVtbl -> CreateCommandAllocator(This,type,riid,ppCommandAllocator) ) | ||
| 16292 | |||
| 16293 | #define ID3D12Device5_CreateGraphicsPipelineState(This,pDesc,riid,ppPipelineState) \ | ||
| 16294 | ( (This)->lpVtbl -> CreateGraphicsPipelineState(This,pDesc,riid,ppPipelineState) ) | ||
| 16295 | |||
| 16296 | #define ID3D12Device5_CreateComputePipelineState(This,pDesc,riid,ppPipelineState) \ | ||
| 16297 | ( (This)->lpVtbl -> CreateComputePipelineState(This,pDesc,riid,ppPipelineState) ) | ||
| 16298 | |||
| 16299 | #define ID3D12Device5_CreateCommandList(This,nodeMask,type,pCommandAllocator,pInitialState,riid,ppCommandList) \ | ||
| 16300 | ( (This)->lpVtbl -> CreateCommandList(This,nodeMask,type,pCommandAllocator,pInitialState,riid,ppCommandList) ) | ||
| 16301 | |||
| 16302 | #define ID3D12Device5_CheckFeatureSupport(This,Feature,pFeatureSupportData,FeatureSupportDataSize) \ | ||
| 16303 | ( (This)->lpVtbl -> CheckFeatureSupport(This,Feature,pFeatureSupportData,FeatureSupportDataSize) ) | ||
| 16304 | |||
| 16305 | #define ID3D12Device5_CreateDescriptorHeap(This,pDescriptorHeapDesc,riid,ppvHeap) \ | ||
| 16306 | ( (This)->lpVtbl -> CreateDescriptorHeap(This,pDescriptorHeapDesc,riid,ppvHeap) ) | ||
| 16307 | |||
| 16308 | #define ID3D12Device5_GetDescriptorHandleIncrementSize(This,DescriptorHeapType) \ | ||
| 16309 | ( (This)->lpVtbl -> GetDescriptorHandleIncrementSize(This,DescriptorHeapType) ) | ||
| 16310 | |||
| 16311 | #define ID3D12Device5_CreateRootSignature(This,nodeMask,pBlobWithRootSignature,blobLengthInBytes,riid,ppvRootSignature) \ | ||
| 16312 | ( (This)->lpVtbl -> CreateRootSignature(This,nodeMask,pBlobWithRootSignature,blobLengthInBytes,riid,ppvRootSignature) ) | ||
| 16313 | |||
| 16314 | #define ID3D12Device5_CreateConstantBufferView(This,pDesc,DestDescriptor) \ | ||
| 16315 | ( (This)->lpVtbl -> CreateConstantBufferView(This,pDesc,DestDescriptor) ) | ||
| 16316 | |||
| 16317 | #define ID3D12Device5_CreateShaderResourceView(This,pResource,pDesc,DestDescriptor) \ | ||
| 16318 | ( (This)->lpVtbl -> CreateShaderResourceView(This,pResource,pDesc,DestDescriptor) ) | ||
| 16319 | |||
| 16320 | #define ID3D12Device5_CreateUnorderedAccessView(This,pResource,pCounterResource,pDesc,DestDescriptor) \ | ||
| 16321 | ( (This)->lpVtbl -> CreateUnorderedAccessView(This,pResource,pCounterResource,pDesc,DestDescriptor) ) | ||
| 16322 | |||
| 16323 | #define ID3D12Device5_CreateRenderTargetView(This,pResource,pDesc,DestDescriptor) \ | ||
| 16324 | ( (This)->lpVtbl -> CreateRenderTargetView(This,pResource,pDesc,DestDescriptor) ) | ||
| 16325 | |||
| 16326 | #define ID3D12Device5_CreateDepthStencilView(This,pResource,pDesc,DestDescriptor) \ | ||
| 16327 | ( (This)->lpVtbl -> CreateDepthStencilView(This,pResource,pDesc,DestDescriptor) ) | ||
| 16328 | |||
| 16329 | #define ID3D12Device5_CreateSampler(This,pDesc,DestDescriptor) \ | ||
| 16330 | ( (This)->lpVtbl -> CreateSampler(This,pDesc,DestDescriptor) ) | ||
| 16331 | |||
| 16332 | #define ID3D12Device5_CopyDescriptors(This,NumDestDescriptorRanges,pDestDescriptorRangeStarts,pDestDescriptorRangeSizes,NumSrcDescriptorRanges,pSrcDescriptorRangeStarts,pSrcDescriptorRangeSizes,DescriptorHeapsType) \ | ||
| 16333 | ( (This)->lpVtbl -> CopyDescriptors(This,NumDestDescriptorRanges,pDestDescriptorRangeStarts,pDestDescriptorRangeSizes,NumSrcDescriptorRanges,pSrcDescriptorRangeStarts,pSrcDescriptorRangeSizes,DescriptorHeapsType) ) | ||
| 16334 | |||
| 16335 | #define ID3D12Device5_CopyDescriptorsSimple(This,NumDescriptors,DestDescriptorRangeStart,SrcDescriptorRangeStart,DescriptorHeapsType) \ | ||
| 16336 | ( (This)->lpVtbl -> CopyDescriptorsSimple(This,NumDescriptors,DestDescriptorRangeStart,SrcDescriptorRangeStart,DescriptorHeapsType) ) | ||
| 16337 | #if !defined(_WIN32) | ||
| 16338 | |||
| 16339 | #define ID3D12Device5_GetResourceAllocationInfo(This,visibleMask,numResourceDescs,pResourceDescs) \ | ||
| 16340 | ( (This)->lpVtbl -> GetResourceAllocationInfo(This,visibleMask,numResourceDescs,pResourceDescs) ) | ||
| 16341 | #else | ||
| 16342 | #define ID3D12Device5_GetResourceAllocationInfo(This,RetVal,visibleMask,numResourceDescs,pResourceDescs) \ | ||
| 16343 | ( (This)->lpVtbl -> GetResourceAllocationInfo(This,RetVal,visibleMask,numResourceDescs,pResourceDescs) ) | ||
| 16344 | #endif | ||
| 16345 | #if !defined(_WIN32) | ||
| 16346 | |||
| 16347 | #define ID3D12Device5_GetCustomHeapProperties(This,nodeMask,heapType) \ | ||
| 16348 | ( (This)->lpVtbl -> GetCustomHeapProperties(This,nodeMask,heapType) ) | ||
| 16349 | #else | ||
| 16350 | #define ID3D12Device5_GetCustomHeapProperties(This,RetVal,nodeMask,heapType) \ | ||
| 16351 | ( (This)->lpVtbl -> GetCustomHeapProperties(This,RetVal,nodeMask,heapType) ) | ||
| 16352 | #endif | ||
| 16353 | |||
| 16354 | #define ID3D12Device5_CreateCommittedResource(This,pHeapProperties,HeapFlags,pDesc,InitialResourceState,pOptimizedClearValue,riidResource,ppvResource) \ | ||
| 16355 | ( (This)->lpVtbl -> CreateCommittedResource(This,pHeapProperties,HeapFlags,pDesc,InitialResourceState,pOptimizedClearValue,riidResource,ppvResource) ) | ||
| 16356 | |||
| 16357 | #define ID3D12Device5_CreateHeap(This,pDesc,riid,ppvHeap) \ | ||
| 16358 | ( (This)->lpVtbl -> CreateHeap(This,pDesc,riid,ppvHeap) ) | ||
| 16359 | |||
| 16360 | #define ID3D12Device5_CreatePlacedResource(This,pHeap,HeapOffset,pDesc,InitialState,pOptimizedClearValue,riid,ppvResource) \ | ||
| 16361 | ( (This)->lpVtbl -> CreatePlacedResource(This,pHeap,HeapOffset,pDesc,InitialState,pOptimizedClearValue,riid,ppvResource) ) | ||
| 16362 | |||
| 16363 | #define ID3D12Device5_CreateReservedResource(This,pDesc,InitialState,pOptimizedClearValue,riid,ppvResource) \ | ||
| 16364 | ( (This)->lpVtbl -> CreateReservedResource(This,pDesc,InitialState,pOptimizedClearValue,riid,ppvResource) ) | ||
| 16365 | |||
| 16366 | #define ID3D12Device5_CreateSharedHandle(This,pObject,pAttributes,Access,Name,pHandle) \ | ||
| 16367 | ( (This)->lpVtbl -> CreateSharedHandle(This,pObject,pAttributes,Access,Name,pHandle) ) | ||
| 16368 | |||
| 16369 | #define ID3D12Device5_OpenSharedHandle(This,NTHandle,riid,ppvObj) \ | ||
| 16370 | ( (This)->lpVtbl -> OpenSharedHandle(This,NTHandle,riid,ppvObj) ) | ||
| 16371 | |||
| 16372 | #define ID3D12Device5_OpenSharedHandleByName(This,Name,Access,pNTHandle) \ | ||
| 16373 | ( (This)->lpVtbl -> OpenSharedHandleByName(This,Name,Access,pNTHandle) ) | ||
| 16374 | |||
| 16375 | #define ID3D12Device5_MakeResident(This,NumObjects,ppObjects) \ | ||
| 16376 | ( (This)->lpVtbl -> MakeResident(This,NumObjects,ppObjects) ) | ||
| 16377 | |||
| 16378 | #define ID3D12Device5_Evict(This,NumObjects,ppObjects) \ | ||
| 16379 | ( (This)->lpVtbl -> Evict(This,NumObjects,ppObjects) ) | ||
| 16380 | |||
| 16381 | #define ID3D12Device5_CreateFence(This,InitialValue,Flags,riid,ppFence) \ | ||
| 16382 | ( (This)->lpVtbl -> CreateFence(This,InitialValue,Flags,riid,ppFence) ) | ||
| 16383 | |||
| 16384 | #define ID3D12Device5_GetDeviceRemovedReason(This) \ | ||
| 16385 | ( (This)->lpVtbl -> GetDeviceRemovedReason(This) ) | ||
| 16386 | |||
| 16387 | #define ID3D12Device5_GetCopyableFootprints(This,pResourceDesc,FirstSubresource,NumSubresources,BaseOffset,pLayouts,pNumRows,pRowSizeInBytes,pTotalBytes) \ | ||
| 16388 | ( (This)->lpVtbl -> GetCopyableFootprints(This,pResourceDesc,FirstSubresource,NumSubresources,BaseOffset,pLayouts,pNumRows,pRowSizeInBytes,pTotalBytes) ) | ||
| 16389 | |||
| 16390 | #define ID3D12Device5_CreateQueryHeap(This,pDesc,riid,ppvHeap) \ | ||
| 16391 | ( (This)->lpVtbl -> CreateQueryHeap(This,pDesc,riid,ppvHeap) ) | ||
| 16392 | |||
| 16393 | #define ID3D12Device5_SetStablePowerState(This,Enable) \ | ||
| 16394 | ( (This)->lpVtbl -> SetStablePowerState(This,Enable) ) | ||
| 16395 | |||
| 16396 | #define ID3D12Device5_CreateCommandSignature(This,pDesc,pRootSignature,riid,ppvCommandSignature) \ | ||
| 16397 | ( (This)->lpVtbl -> CreateCommandSignature(This,pDesc,pRootSignature,riid,ppvCommandSignature) ) | ||
| 16398 | |||
| 16399 | #define ID3D12Device5_GetResourceTiling(This,pTiledResource,pNumTilesForEntireResource,pPackedMipDesc,pStandardTileShapeForNonPackedMips,pNumSubresourceTilings,FirstSubresourceTilingToGet,pSubresourceTilingsForNonPackedMips) \ | ||
| 16400 | ( (This)->lpVtbl -> GetResourceTiling(This,pTiledResource,pNumTilesForEntireResource,pPackedMipDesc,pStandardTileShapeForNonPackedMips,pNumSubresourceTilings,FirstSubresourceTilingToGet,pSubresourceTilingsForNonPackedMips) ) | ||
| 16401 | #if !defined(_WIN32) | ||
| 16402 | |||
| 16403 | #define ID3D12Device5_GetAdapterLuid(This) \ | ||
| 16404 | ( (This)->lpVtbl -> GetAdapterLuid(This) ) | ||
| 16405 | #else | ||
| 16406 | #define ID3D12Device5_GetAdapterLuid(This,RetVal) \ | ||
| 16407 | ( (This)->lpVtbl -> GetAdapterLuid(This,RetVal) ) | ||
| 16408 | #endif | ||
| 16409 | |||
| 16410 | |||
| 16411 | #define ID3D12Device5_CreatePipelineLibrary(This,pLibraryBlob,BlobLength,riid,ppPipelineLibrary) \ | ||
| 16412 | ( (This)->lpVtbl -> CreatePipelineLibrary(This,pLibraryBlob,BlobLength,riid,ppPipelineLibrary) ) | ||
| 16413 | |||
| 16414 | #define ID3D12Device5_SetEventOnMultipleFenceCompletion(This,ppFences,pFenceValues,NumFences,Flags,hEvent) \ | ||
| 16415 | ( (This)->lpVtbl -> SetEventOnMultipleFenceCompletion(This,ppFences,pFenceValues,NumFences,Flags,hEvent) ) | ||
| 16416 | |||
| 16417 | #define ID3D12Device5_SetResidencyPriority(This,NumObjects,ppObjects,pPriorities) \ | ||
| 16418 | ( (This)->lpVtbl -> SetResidencyPriority(This,NumObjects,ppObjects,pPriorities) ) | ||
| 16419 | |||
| 16420 | |||
| 16421 | #define ID3D12Device5_CreatePipelineState(This,pDesc,riid,ppPipelineState) \ | ||
| 16422 | ( (This)->lpVtbl -> CreatePipelineState(This,pDesc,riid,ppPipelineState) ) | ||
| 16423 | |||
| 16424 | |||
| 16425 | #define ID3D12Device5_OpenExistingHeapFromAddress(This,pAddress,riid,ppvHeap) \ | ||
| 16426 | ( (This)->lpVtbl -> OpenExistingHeapFromAddress(This,pAddress,riid,ppvHeap) ) | ||
| 16427 | |||
| 16428 | #define ID3D12Device5_OpenExistingHeapFromFileMapping(This,hFileMapping,riid,ppvHeap) \ | ||
| 16429 | ( (This)->lpVtbl -> OpenExistingHeapFromFileMapping(This,hFileMapping,riid,ppvHeap) ) | ||
| 16430 | |||
| 16431 | #define ID3D12Device5_EnqueueMakeResident(This,Flags,NumObjects,ppObjects,pFenceToSignal,FenceValueToSignal) \ | ||
| 16432 | ( (This)->lpVtbl -> EnqueueMakeResident(This,Flags,NumObjects,ppObjects,pFenceToSignal,FenceValueToSignal) ) | ||
| 16433 | |||
| 16434 | |||
| 16435 | #define ID3D12Device5_CreateCommandList1(This,nodeMask,type,flags,riid,ppCommandList) \ | ||
| 16436 | ( (This)->lpVtbl -> CreateCommandList1(This,nodeMask,type,flags,riid,ppCommandList) ) | ||
| 16437 | |||
| 16438 | #define ID3D12Device5_CreateProtectedResourceSession(This,pDesc,riid,ppSession) \ | ||
| 16439 | ( (This)->lpVtbl -> CreateProtectedResourceSession(This,pDesc,riid,ppSession) ) | ||
| 16440 | |||
| 16441 | #define ID3D12Device5_CreateCommittedResource1(This,pHeapProperties,HeapFlags,pDesc,InitialResourceState,pOptimizedClearValue,pProtectedSession,riidResource,ppvResource) \ | ||
| 16442 | ( (This)->lpVtbl -> CreateCommittedResource1(This,pHeapProperties,HeapFlags,pDesc,InitialResourceState,pOptimizedClearValue,pProtectedSession,riidResource,ppvResource) ) | ||
| 16443 | |||
| 16444 | #define ID3D12Device5_CreateHeap1(This,pDesc,pProtectedSession,riid,ppvHeap) \ | ||
| 16445 | ( (This)->lpVtbl -> CreateHeap1(This,pDesc,pProtectedSession,riid,ppvHeap) ) | ||
| 16446 | |||
| 16447 | #define ID3D12Device5_CreateReservedResource1(This,pDesc,InitialState,pOptimizedClearValue,pProtectedSession,riid,ppvResource) \ | ||
| 16448 | ( (This)->lpVtbl -> CreateReservedResource1(This,pDesc,InitialState,pOptimizedClearValue,pProtectedSession,riid,ppvResource) ) | ||
| 16449 | #if !defined(_WIN32) | ||
| 16450 | |||
| 16451 | #define ID3D12Device5_GetResourceAllocationInfo1(This,visibleMask,numResourceDescs,pResourceDescs,pResourceAllocationInfo1) \ | ||
| 16452 | ( (This)->lpVtbl -> GetResourceAllocationInfo1(This,visibleMask,numResourceDescs,pResourceDescs,pResourceAllocationInfo1) ) | ||
| 16453 | #else | ||
| 16454 | #define ID3D12Device5_GetResourceAllocationInfo1(This,RetVal,visibleMask,numResourceDescs,pResourceDescs,pResourceAllocationInfo1) \ | ||
| 16455 | ( (This)->lpVtbl -> GetResourceAllocationInfo1(This,RetVal,visibleMask,numResourceDescs,pResourceDescs,pResourceAllocationInfo1) ) | ||
| 16456 | #endif | ||
| 16457 | |||
| 16458 | |||
| 16459 | #define ID3D12Device5_CreateLifetimeTracker(This,pOwner,riid,ppvTracker) \ | ||
| 16460 | ( (This)->lpVtbl -> CreateLifetimeTracker(This,pOwner,riid,ppvTracker) ) | ||
| 16461 | |||
| 16462 | #define ID3D12Device5_RemoveDevice(This) \ | ||
| 16463 | ( (This)->lpVtbl -> RemoveDevice(This) ) | ||
| 16464 | |||
| 16465 | #define ID3D12Device5_EnumerateMetaCommands(This,pNumMetaCommands,pDescs) \ | ||
| 16466 | ( (This)->lpVtbl -> EnumerateMetaCommands(This,pNumMetaCommands,pDescs) ) | ||
| 16467 | |||
| 16468 | #define ID3D12Device5_EnumerateMetaCommandParameters(This,CommandId,Stage,pTotalStructureSizeInBytes,pParameterCount,pParameterDescs) \ | ||
| 16469 | ( (This)->lpVtbl -> EnumerateMetaCommandParameters(This,CommandId,Stage,pTotalStructureSizeInBytes,pParameterCount,pParameterDescs) ) | ||
| 16470 | |||
| 16471 | #define ID3D12Device5_CreateMetaCommand(This,CommandId,NodeMask,pCreationParametersData,CreationParametersDataSizeInBytes,riid,ppMetaCommand) \ | ||
| 16472 | ( (This)->lpVtbl -> CreateMetaCommand(This,CommandId,NodeMask,pCreationParametersData,CreationParametersDataSizeInBytes,riid,ppMetaCommand) ) | ||
| 16473 | |||
| 16474 | #define ID3D12Device5_CreateStateObject(This,pDesc,riid,ppStateObject) \ | ||
| 16475 | ( (This)->lpVtbl -> CreateStateObject(This,pDesc,riid,ppStateObject) ) | ||
| 16476 | |||
| 16477 | #define ID3D12Device5_GetRaytracingAccelerationStructurePrebuildInfo(This,pDesc,pInfo) \ | ||
| 16478 | ( (This)->lpVtbl -> GetRaytracingAccelerationStructurePrebuildInfo(This,pDesc,pInfo) ) | ||
| 16479 | |||
| 16480 | #define ID3D12Device5_CheckDriverMatchingIdentifier(This,SerializedDataType,pIdentifierToCheck) \ | ||
| 16481 | ( (This)->lpVtbl -> CheckDriverMatchingIdentifier(This,SerializedDataType,pIdentifierToCheck) ) | ||
| 16482 | |||
| 16483 | #endif /* COBJMACROS */ | ||
| 16484 | |||
| 16485 | |||
| 16486 | #endif /* C style interface */ | ||
| 16487 | |||
| 16488 | |||
| 16489 | |||
| 16490 | |||
| 16491 | #endif /* __ID3D12Device5_INTERFACE_DEFINED__ */ | ||
| 16492 | |||
| 16493 | |||
| 16494 | /* interface __MIDL_itf_d3d12_0000_0040 */ | ||
| 16495 | /* [local] */ | ||
| 16496 | |||
| 16497 | typedef | ||
| 16498 | enum D3D12_MARKER_API | ||
| 16499 | { | ||
| 16500 | D3D12_MARKER_API_SETMARKER = 0, | ||
| 16501 | D3D12_MARKER_API_BEGINEVENT = 1, | ||
| 16502 | D3D12_MARKER_API_ENDEVENT = 2, | ||
| 16503 | D3D12_MARKER_API_DRAWINSTANCED = 3, | ||
| 16504 | D3D12_MARKER_API_DRAWINDEXEDINSTANCED = 4, | ||
| 16505 | D3D12_MARKER_API_EXECUTEINDIRECT = 5, | ||
| 16506 | D3D12_MARKER_API_DISPATCH = 6, | ||
| 16507 | D3D12_MARKER_API_COPYBUFFERREGION = 7, | ||
| 16508 | D3D12_MARKER_API_COPYTEXTUREREGION = 8, | ||
| 16509 | D3D12_MARKER_API_COPYRESOURCE = 9, | ||
| 16510 | D3D12_MARKER_API_COPYTILES = 10, | ||
| 16511 | D3D12_MARKER_API_RESOLVESUBRESOURCE = 11, | ||
| 16512 | D3D12_MARKER_API_CLEARRENDERTARGETVIEW = 12, | ||
| 16513 | D3D12_MARKER_API_CLEARUNORDEREDACCESSVIEW = 13, | ||
| 16514 | D3D12_MARKER_API_CLEARDEPTHSTENCILVIEW = 14, | ||
| 16515 | D3D12_MARKER_API_RESOURCEBARRIER = 15, | ||
| 16516 | D3D12_MARKER_API_EXECUTEBUNDLE = 16, | ||
| 16517 | D3D12_MARKER_API_PRESENT = 17, | ||
| 16518 | D3D12_MARKER_API_RESOLVEQUERYDATA = 18, | ||
| 16519 | D3D12_MARKER_API_BEGINSUBMISSION = 19, | ||
| 16520 | D3D12_MARKER_API_ENDSUBMISSION = 20, | ||
| 16521 | D3D12_MARKER_API_DECODEFRAME = 21, | ||
| 16522 | D3D12_MARKER_API_PROCESSFRAMES = 22, | ||
| 16523 | D3D12_MARKER_API_ATOMICCOPYBUFFERUINT = 23, | ||
| 16524 | D3D12_MARKER_API_ATOMICCOPYBUFFERUINT64 = 24, | ||
| 16525 | D3D12_MARKER_API_RESOLVESUBRESOURCEREGION = 25, | ||
| 16526 | D3D12_MARKER_API_WRITEBUFFERIMMEDIATE = 26, | ||
| 16527 | D3D12_MARKER_API_DECODEFRAME1 = 27, | ||
| 16528 | D3D12_MARKER_API_SETPROTECTEDRESOURCESESSION = 28, | ||
| 16529 | D3D12_MARKER_API_DECODEFRAME2 = 29, | ||
| 16530 | D3D12_MARKER_API_PROCESSFRAMES1 = 30, | ||
| 16531 | D3D12_MARKER_API_BUILDRAYTRACINGACCELERATIONSTRUCTURE = 31, | ||
| 16532 | D3D12_MARKER_API_EMITRAYTRACINGACCELERATIONSTRUCTUREPOSTBUILDINFO = 32, | ||
| 16533 | D3D12_MARKER_API_COPYRAYTRACINGACCELERATIONSTRUCTURE = 33, | ||
| 16534 | D3D12_MARKER_API_DISPATCHRAYS = 34, | ||
| 16535 | D3D12_MARKER_API_INITIALIZEMETACOMMAND = 35, | ||
| 16536 | D3D12_MARKER_API_EXECUTEMETACOMMAND = 36, | ||
| 16537 | D3D12_MARKER_API_ESTIMATEMOTION = 37, | ||
| 16538 | D3D12_MARKER_API_RESOLVEMOTIONVECTORHEAP = 38, | ||
| 16539 | D3D12_MARKER_API_SETPIPELINESTATE1 = 39, | ||
| 16540 | D3D12_MARKER_API_INITIALIZEEXTENSIONCOMMAND = 40, | ||
| 16541 | D3D12_MARKER_API_EXECUTEEXTENSIONCOMMAND = 41, | ||
| 16542 | D3D12_MARKER_API_DISPATCHMESH = 42, | ||
| 16543 | D3D12_MARKER_API_ENCODEFRAME = 43, | ||
| 16544 | D3D12_MARKER_API_RESOLVEENCODEROUTPUTMETADATA = 44, | ||
| 16545 | D3D12_MARKER_API_BARRIER = 45, | ||
| 16546 | D3D12_MARKER_API_BEGIN_COMMAND_LIST = 46, | ||
| 16547 | D3D12_MARKER_API_DISPATCHGRAPH = 47, | ||
| 16548 | D3D12_MARKER_API_SETPROGRAM = 48, | ||
| 16549 | D3D12_MARKER_API_ENCODEFRAME1 = 49, | ||
| 16550 | D3D12_MARKER_API_RESOLVEENCODEROUTPUTMETADATA1 = 50, | ||
| 16551 | D3D12_MARKER_API_RESOLVEINPUTPARAMLAYOUT = 51, | ||
| 16552 | D3D12_MARKER_API_PROCESSFRAMES2 = 52, | ||
| 16553 | D3D12_MARKER_API_SET_WORK_GRAPH_MAXIMUM_GPU_INPUT_RECORDS = 53 | ||
| 16554 | } D3D12_MARKER_API; | ||
| 16555 | |||
| 16556 | typedef | ||
| 16557 | enum D3D12_AUTO_BREADCRUMB_OP | ||
| 16558 | { | ||
| 16559 | D3D12_AUTO_BREADCRUMB_OP_SETMARKER = D3D12_MARKER_API_SETMARKER, | ||
| 16560 | D3D12_AUTO_BREADCRUMB_OP_BEGINEVENT = D3D12_MARKER_API_BEGINEVENT, | ||
| 16561 | D3D12_AUTO_BREADCRUMB_OP_ENDEVENT = D3D12_MARKER_API_ENDEVENT, | ||
| 16562 | D3D12_AUTO_BREADCRUMB_OP_DRAWINSTANCED = D3D12_MARKER_API_DRAWINSTANCED, | ||
| 16563 | D3D12_AUTO_BREADCRUMB_OP_DRAWINDEXEDINSTANCED = D3D12_MARKER_API_DRAWINDEXEDINSTANCED, | ||
| 16564 | D3D12_AUTO_BREADCRUMB_OP_EXECUTEINDIRECT = D3D12_MARKER_API_EXECUTEINDIRECT, | ||
| 16565 | D3D12_AUTO_BREADCRUMB_OP_DISPATCH = D3D12_MARKER_API_DISPATCH, | ||
| 16566 | D3D12_AUTO_BREADCRUMB_OP_COPYBUFFERREGION = D3D12_MARKER_API_COPYBUFFERREGION, | ||
| 16567 | D3D12_AUTO_BREADCRUMB_OP_COPYTEXTUREREGION = D3D12_MARKER_API_COPYTEXTUREREGION, | ||
| 16568 | D3D12_AUTO_BREADCRUMB_OP_COPYRESOURCE = D3D12_MARKER_API_COPYRESOURCE, | ||
| 16569 | D3D12_AUTO_BREADCRUMB_OP_COPYTILES = D3D12_MARKER_API_COPYTILES, | ||
| 16570 | D3D12_AUTO_BREADCRUMB_OP_RESOLVESUBRESOURCE = D3D12_MARKER_API_RESOLVESUBRESOURCE, | ||
| 16571 | D3D12_AUTO_BREADCRUMB_OP_CLEARRENDERTARGETVIEW = D3D12_MARKER_API_CLEARRENDERTARGETVIEW, | ||
| 16572 | D3D12_AUTO_BREADCRUMB_OP_CLEARUNORDEREDACCESSVIEW = D3D12_MARKER_API_CLEARUNORDEREDACCESSVIEW, | ||
| 16573 | D3D12_AUTO_BREADCRUMB_OP_CLEARDEPTHSTENCILVIEW = D3D12_MARKER_API_CLEARDEPTHSTENCILVIEW, | ||
| 16574 | D3D12_AUTO_BREADCRUMB_OP_RESOURCEBARRIER = D3D12_MARKER_API_RESOURCEBARRIER, | ||
| 16575 | D3D12_AUTO_BREADCRUMB_OP_EXECUTEBUNDLE = D3D12_MARKER_API_EXECUTEBUNDLE, | ||
| 16576 | D3D12_AUTO_BREADCRUMB_OP_PRESENT = D3D12_MARKER_API_PRESENT, | ||
| 16577 | D3D12_AUTO_BREADCRUMB_OP_RESOLVEQUERYDATA = D3D12_MARKER_API_RESOLVEQUERYDATA, | ||
| 16578 | D3D12_AUTO_BREADCRUMB_OP_BEGINSUBMISSION = D3D12_MARKER_API_BEGINSUBMISSION, | ||
| 16579 | D3D12_AUTO_BREADCRUMB_OP_ENDSUBMISSION = D3D12_MARKER_API_ENDSUBMISSION, | ||
| 16580 | D3D12_AUTO_BREADCRUMB_OP_DECODEFRAME = D3D12_MARKER_API_DECODEFRAME, | ||
| 16581 | D3D12_AUTO_BREADCRUMB_OP_PROCESSFRAMES = D3D12_MARKER_API_PROCESSFRAMES, | ||
| 16582 | D3D12_AUTO_BREADCRUMB_OP_ATOMICCOPYBUFFERUINT = D3D12_MARKER_API_ATOMICCOPYBUFFERUINT, | ||
| 16583 | D3D12_AUTO_BREADCRUMB_OP_ATOMICCOPYBUFFERUINT64 = D3D12_MARKER_API_ATOMICCOPYBUFFERUINT64, | ||
| 16584 | D3D12_AUTO_BREADCRUMB_OP_RESOLVESUBRESOURCEREGION = D3D12_MARKER_API_RESOLVESUBRESOURCEREGION, | ||
| 16585 | D3D12_AUTO_BREADCRUMB_OP_WRITEBUFFERIMMEDIATE = D3D12_MARKER_API_WRITEBUFFERIMMEDIATE, | ||
| 16586 | D3D12_AUTO_BREADCRUMB_OP_DECODEFRAME1 = D3D12_MARKER_API_DECODEFRAME1, | ||
| 16587 | D3D12_AUTO_BREADCRUMB_OP_SETPROTECTEDRESOURCESESSION = D3D12_MARKER_API_SETPROTECTEDRESOURCESESSION, | ||
| 16588 | D3D12_AUTO_BREADCRUMB_OP_DECODEFRAME2 = D3D12_MARKER_API_DECODEFRAME2, | ||
| 16589 | D3D12_AUTO_BREADCRUMB_OP_PROCESSFRAMES1 = D3D12_MARKER_API_PROCESSFRAMES1, | ||
| 16590 | D3D12_AUTO_BREADCRUMB_OP_BUILDRAYTRACINGACCELERATIONSTRUCTURE = D3D12_MARKER_API_BUILDRAYTRACINGACCELERATIONSTRUCTURE, | ||
| 16591 | D3D12_AUTO_BREADCRUMB_OP_EMITRAYTRACINGACCELERATIONSTRUCTUREPOSTBUILDINFO = D3D12_MARKER_API_EMITRAYTRACINGACCELERATIONSTRUCTUREPOSTBUILDINFO, | ||
| 16592 | D3D12_AUTO_BREADCRUMB_OP_COPYRAYTRACINGACCELERATIONSTRUCTURE = D3D12_MARKER_API_COPYRAYTRACINGACCELERATIONSTRUCTURE, | ||
| 16593 | D3D12_AUTO_BREADCRUMB_OP_DISPATCHRAYS = D3D12_MARKER_API_DISPATCHRAYS, | ||
| 16594 | D3D12_AUTO_BREADCRUMB_OP_INITIALIZEMETACOMMAND = D3D12_MARKER_API_INITIALIZEMETACOMMAND, | ||
| 16595 | D3D12_AUTO_BREADCRUMB_OP_EXECUTEMETACOMMAND = D3D12_MARKER_API_EXECUTEMETACOMMAND, | ||
| 16596 | D3D12_AUTO_BREADCRUMB_OP_ESTIMATEMOTION = D3D12_MARKER_API_ESTIMATEMOTION, | ||
| 16597 | D3D12_AUTO_BREADCRUMB_OP_RESOLVEMOTIONVECTORHEAP = D3D12_MARKER_API_RESOLVEMOTIONVECTORHEAP, | ||
| 16598 | D3D12_AUTO_BREADCRUMB_OP_SETPIPELINESTATE1 = D3D12_MARKER_API_SETPIPELINESTATE1, | ||
| 16599 | D3D12_AUTO_BREADCRUMB_OP_INITIALIZEEXTENSIONCOMMAND = D3D12_MARKER_API_INITIALIZEEXTENSIONCOMMAND, | ||
| 16600 | D3D12_AUTO_BREADCRUMB_OP_EXECUTEEXTENSIONCOMMAND = D3D12_MARKER_API_EXECUTEEXTENSIONCOMMAND, | ||
| 16601 | D3D12_AUTO_BREADCRUMB_OP_DISPATCHMESH = D3D12_MARKER_API_DISPATCHMESH, | ||
| 16602 | D3D12_AUTO_BREADCRUMB_OP_ENCODEFRAME = D3D12_MARKER_API_ENCODEFRAME, | ||
| 16603 | D3D12_AUTO_BREADCRUMB_OP_RESOLVEENCODEROUTPUTMETADATA = D3D12_MARKER_API_RESOLVEENCODEROUTPUTMETADATA, | ||
| 16604 | D3D12_AUTO_BREADCRUMB_OP_BARRIER = D3D12_MARKER_API_BARRIER, | ||
| 16605 | D3D12_AUTO_BREADCRUMB_OP_BEGIN_COMMAND_LIST = D3D12_MARKER_API_BEGIN_COMMAND_LIST, | ||
| 16606 | D3D12_AUTO_BREADCRUMB_OP_DISPATCHGRAPH = D3D12_MARKER_API_DISPATCHGRAPH, | ||
| 16607 | D3D12_AUTO_BREADCRUMB_OP_SETPROGRAM = D3D12_MARKER_API_SETPROGRAM, | ||
| 16608 | D3D12_AUTO_BREADCRUMB_OP_ENCODEFRAME1 = D3D12_MARKER_API_ENCODEFRAME1, | ||
| 16609 | D3D12_AUTO_BREADCRUMB_OP_RESOLVEENCODEROUTPUTMETADATA1 = D3D12_MARKER_API_RESOLVEENCODEROUTPUTMETADATA1, | ||
| 16610 | D3D12_AUTO_BREADCRUMB_OP_RESOLVEINPUTPARAMLAYOUT = D3D12_MARKER_API_RESOLVEINPUTPARAMLAYOUT, | ||
| 16611 | D3D12_AUTO_BREADCRUMB_OP_PROCESSFRAMES2 = D3D12_MARKER_API_PROCESSFRAMES2, | ||
| 16612 | D3D12_AUTO_BREADCRUMB_OP_SET_WORK_GRAPH_MAXIMUM_GPU_INPUT_RECORDS = D3D12_MARKER_API_SET_WORK_GRAPH_MAXIMUM_GPU_INPUT_RECORDS | ||
| 16613 | } D3D12_AUTO_BREADCRUMB_OP; | ||
| 16614 | |||
| 16615 | typedef struct D3D12_AUTO_BREADCRUMB_NODE | ||
| 16616 | { | ||
| 16617 | const char *pCommandListDebugNameA; | ||
| 16618 | const wchar_t *pCommandListDebugNameW; | ||
| 16619 | const char *pCommandQueueDebugNameA; | ||
| 16620 | const wchar_t *pCommandQueueDebugNameW; | ||
| 16621 | ID3D12GraphicsCommandList *pCommandList; | ||
| 16622 | ID3D12CommandQueue *pCommandQueue; | ||
| 16623 | UINT32 BreadcrumbCount; | ||
| 16624 | const UINT32 *pLastBreadcrumbValue; | ||
| 16625 | const D3D12_AUTO_BREADCRUMB_OP *pCommandHistory; | ||
| 16626 | const struct D3D12_AUTO_BREADCRUMB_NODE *pNext; | ||
| 16627 | } D3D12_AUTO_BREADCRUMB_NODE; | ||
| 16628 | |||
| 16629 | typedef struct D3D12_DRED_BREADCRUMB_CONTEXT | ||
| 16630 | { | ||
| 16631 | UINT BreadcrumbIndex; | ||
| 16632 | const wchar_t *pContextString; | ||
| 16633 | } D3D12_DRED_BREADCRUMB_CONTEXT; | ||
| 16634 | |||
| 16635 | typedef struct D3D12_AUTO_BREADCRUMB_NODE1 | ||
| 16636 | { | ||
| 16637 | const char *pCommandListDebugNameA; | ||
| 16638 | const wchar_t *pCommandListDebugNameW; | ||
| 16639 | const char *pCommandQueueDebugNameA; | ||
| 16640 | const wchar_t *pCommandQueueDebugNameW; | ||
| 16641 | ID3D12GraphicsCommandList *pCommandList; | ||
| 16642 | ID3D12CommandQueue *pCommandQueue; | ||
| 16643 | UINT BreadcrumbCount; | ||
| 16644 | const UINT *pLastBreadcrumbValue; | ||
| 16645 | const D3D12_AUTO_BREADCRUMB_OP *pCommandHistory; | ||
| 16646 | const struct D3D12_AUTO_BREADCRUMB_NODE1 *pNext; | ||
| 16647 | UINT BreadcrumbContextsCount; | ||
| 16648 | D3D12_DRED_BREADCRUMB_CONTEXT *pBreadcrumbContexts; | ||
| 16649 | } D3D12_AUTO_BREADCRUMB_NODE1; | ||
| 16650 | |||
| 16651 | typedef | ||
| 16652 | enum D3D12_DRED_VERSION | ||
| 16653 | { | ||
| 16654 | D3D12_DRED_VERSION_1_0 = 0x1, | ||
| 16655 | D3D12_DRED_VERSION_1_1 = 0x2, | ||
| 16656 | D3D12_DRED_VERSION_1_2 = 0x3, | ||
| 16657 | D3D12_DRED_VERSION_1_3 = 0x4 | ||
| 16658 | } D3D12_DRED_VERSION; | ||
| 16659 | |||
| 16660 | typedef | ||
| 16661 | enum D3D12_DRED_FLAGS | ||
| 16662 | { | ||
| 16663 | D3D12_DRED_FLAG_NONE = 0, | ||
| 16664 | D3D12_DRED_FLAG_FORCE_ENABLE = 1, | ||
| 16665 | D3D12_DRED_FLAG_DISABLE_AUTOBREADCRUMBS = 2 | ||
| 16666 | } D3D12_DRED_FLAGS; | ||
| 16667 | |||
| 16668 | DEFINE_ENUM_FLAG_OPERATORS( D3D12_DRED_FLAGS ) | ||
| 16669 | typedef | ||
| 16670 | enum D3D12_DRED_ENABLEMENT | ||
| 16671 | { | ||
| 16672 | D3D12_DRED_ENABLEMENT_SYSTEM_CONTROLLED = 0, | ||
| 16673 | D3D12_DRED_ENABLEMENT_FORCED_OFF = 1, | ||
| 16674 | D3D12_DRED_ENABLEMENT_FORCED_ON = 2 | ||
| 16675 | } D3D12_DRED_ENABLEMENT; | ||
| 16676 | |||
| 16677 | typedef struct D3D12_DEVICE_REMOVED_EXTENDED_DATA | ||
| 16678 | { | ||
| 16679 | _In_ D3D12_DRED_FLAGS Flags; | ||
| 16680 | _Out_ D3D12_AUTO_BREADCRUMB_NODE *pHeadAutoBreadcrumbNode; | ||
| 16681 | } D3D12_DEVICE_REMOVED_EXTENDED_DATA; | ||
| 16682 | |||
| 16683 | typedef | ||
| 16684 | enum D3D12_DRED_ALLOCATION_TYPE | ||
| 16685 | { | ||
| 16686 | D3D12_DRED_ALLOCATION_TYPE_COMMAND_QUEUE = 19, | ||
| 16687 | D3D12_DRED_ALLOCATION_TYPE_COMMAND_ALLOCATOR = 20, | ||
| 16688 | D3D12_DRED_ALLOCATION_TYPE_PIPELINE_STATE = 21, | ||
| 16689 | D3D12_DRED_ALLOCATION_TYPE_COMMAND_LIST = 22, | ||
| 16690 | D3D12_DRED_ALLOCATION_TYPE_FENCE = 23, | ||
| 16691 | D3D12_DRED_ALLOCATION_TYPE_DESCRIPTOR_HEAP = 24, | ||
| 16692 | D3D12_DRED_ALLOCATION_TYPE_HEAP = 25, | ||
| 16693 | D3D12_DRED_ALLOCATION_TYPE_QUERY_HEAP = 27, | ||
| 16694 | D3D12_DRED_ALLOCATION_TYPE_COMMAND_SIGNATURE = 28, | ||
| 16695 | D3D12_DRED_ALLOCATION_TYPE_PIPELINE_LIBRARY = 29, | ||
| 16696 | D3D12_DRED_ALLOCATION_TYPE_VIDEO_DECODER = 30, | ||
| 16697 | D3D12_DRED_ALLOCATION_TYPE_VIDEO_PROCESSOR = 32, | ||
| 16698 | D3D12_DRED_ALLOCATION_TYPE_RESOURCE = 34, | ||
| 16699 | D3D12_DRED_ALLOCATION_TYPE_PASS = 35, | ||
| 16700 | D3D12_DRED_ALLOCATION_TYPE_CRYPTOSESSION = 36, | ||
| 16701 | D3D12_DRED_ALLOCATION_TYPE_CRYPTOSESSIONPOLICY = 37, | ||
| 16702 | D3D12_DRED_ALLOCATION_TYPE_PROTECTEDRESOURCESESSION = 38, | ||
| 16703 | D3D12_DRED_ALLOCATION_TYPE_VIDEO_DECODER_HEAP = 39, | ||
| 16704 | D3D12_DRED_ALLOCATION_TYPE_COMMAND_POOL = 40, | ||
| 16705 | D3D12_DRED_ALLOCATION_TYPE_COMMAND_RECORDER = 41, | ||
| 16706 | D3D12_DRED_ALLOCATION_TYPE_STATE_OBJECT = 42, | ||
| 16707 | D3D12_DRED_ALLOCATION_TYPE_METACOMMAND = 43, | ||
| 16708 | D3D12_DRED_ALLOCATION_TYPE_SCHEDULINGGROUP = 44, | ||
| 16709 | D3D12_DRED_ALLOCATION_TYPE_VIDEO_MOTION_ESTIMATOR = 45, | ||
| 16710 | D3D12_DRED_ALLOCATION_TYPE_VIDEO_MOTION_VECTOR_HEAP = 46, | ||
| 16711 | D3D12_DRED_ALLOCATION_TYPE_VIDEO_EXTENSION_COMMAND = 47, | ||
| 16712 | D3D12_DRED_ALLOCATION_TYPE_VIDEO_ENCODER = 48, | ||
| 16713 | D3D12_DRED_ALLOCATION_TYPE_VIDEO_ENCODER_HEAP = 49, | ||
| 16714 | D3D12_DRED_ALLOCATION_TYPE_INVALID = 0xffffffff | ||
| 16715 | } D3D12_DRED_ALLOCATION_TYPE; | ||
| 16716 | |||
| 16717 | typedef struct D3D12_DRED_ALLOCATION_NODE | ||
| 16718 | { | ||
| 16719 | const char *ObjectNameA; | ||
| 16720 | const wchar_t *ObjectNameW; | ||
| 16721 | D3D12_DRED_ALLOCATION_TYPE AllocationType; | ||
| 16722 | const struct D3D12_DRED_ALLOCATION_NODE *pNext; | ||
| 16723 | } D3D12_DRED_ALLOCATION_NODE; | ||
| 16724 | |||
| 16725 | typedef struct D3D12_DRED_ALLOCATION_NODE1 | ||
| 16726 | { | ||
| 16727 | const char *ObjectNameA; | ||
| 16728 | const wchar_t *ObjectNameW; | ||
| 16729 | D3D12_DRED_ALLOCATION_TYPE AllocationType; | ||
| 16730 | const struct D3D12_DRED_ALLOCATION_NODE1 *pNext; | ||
| 16731 | const IUnknown *pObject; | ||
| 16732 | } D3D12_DRED_ALLOCATION_NODE1; | ||
| 16733 | |||
| 16734 | typedef struct D3D12_DRED_AUTO_BREADCRUMBS_OUTPUT | ||
| 16735 | { | ||
| 16736 | _Out_ const D3D12_AUTO_BREADCRUMB_NODE *pHeadAutoBreadcrumbNode; | ||
| 16737 | } D3D12_DRED_AUTO_BREADCRUMBS_OUTPUT; | ||
| 16738 | |||
| 16739 | typedef struct D3D12_DRED_AUTO_BREADCRUMBS_OUTPUT1 | ||
| 16740 | { | ||
| 16741 | _Out_ const D3D12_AUTO_BREADCRUMB_NODE1 *pHeadAutoBreadcrumbNode; | ||
| 16742 | } D3D12_DRED_AUTO_BREADCRUMBS_OUTPUT1; | ||
| 16743 | |||
| 16744 | typedef struct D3D12_DRED_PAGE_FAULT_OUTPUT | ||
| 16745 | { | ||
| 16746 | D3D12_GPU_VIRTUAL_ADDRESS PageFaultVA; | ||
| 16747 | _Out_ const D3D12_DRED_ALLOCATION_NODE *pHeadExistingAllocationNode; | ||
| 16748 | _Out_ const D3D12_DRED_ALLOCATION_NODE *pHeadRecentFreedAllocationNode; | ||
| 16749 | } D3D12_DRED_PAGE_FAULT_OUTPUT; | ||
| 16750 | |||
| 16751 | typedef struct D3D12_DRED_PAGE_FAULT_OUTPUT1 | ||
| 16752 | { | ||
| 16753 | D3D12_GPU_VIRTUAL_ADDRESS PageFaultVA; | ||
| 16754 | _Out_ const D3D12_DRED_ALLOCATION_NODE1 *pHeadExistingAllocationNode; | ||
| 16755 | _Out_ const D3D12_DRED_ALLOCATION_NODE1 *pHeadRecentFreedAllocationNode; | ||
| 16756 | } D3D12_DRED_PAGE_FAULT_OUTPUT1; | ||
| 16757 | |||
| 16758 | typedef | ||
| 16759 | enum D3D12_DRED_PAGE_FAULT_FLAGS | ||
| 16760 | { | ||
| 16761 | D3D12_DRED_PAGE_FAULT_FLAGS_NONE = 0 | ||
| 16762 | } D3D12_DRED_PAGE_FAULT_FLAGS; | ||
| 16763 | |||
| 16764 | DEFINE_ENUM_FLAG_OPERATORS( D3D12_DRED_PAGE_FAULT_FLAGS ) | ||
| 16765 | typedef | ||
| 16766 | enum D3D12_DRED_DEVICE_STATE | ||
| 16767 | { | ||
| 16768 | D3D12_DRED_DEVICE_STATE_UNKNOWN = 0, | ||
| 16769 | D3D12_DRED_DEVICE_STATE_HUNG = 3, | ||
| 16770 | D3D12_DRED_DEVICE_STATE_FAULT = 6, | ||
| 16771 | D3D12_DRED_DEVICE_STATE_PAGEFAULT = 7 | ||
| 16772 | } D3D12_DRED_DEVICE_STATE; | ||
| 16773 | |||
| 16774 | typedef struct D3D12_DRED_PAGE_FAULT_OUTPUT2 | ||
| 16775 | { | ||
| 16776 | D3D12_GPU_VIRTUAL_ADDRESS PageFaultVA; | ||
| 16777 | _Out_ const D3D12_DRED_ALLOCATION_NODE1 *pHeadExistingAllocationNode; | ||
| 16778 | _Out_ const D3D12_DRED_ALLOCATION_NODE1 *pHeadRecentFreedAllocationNode; | ||
| 16779 | D3D12_DRED_PAGE_FAULT_FLAGS PageFaultFlags; | ||
| 16780 | } D3D12_DRED_PAGE_FAULT_OUTPUT2; | ||
| 16781 | |||
| 16782 | typedef struct D3D12_DEVICE_REMOVED_EXTENDED_DATA1 | ||
| 16783 | { | ||
| 16784 | HRESULT DeviceRemovedReason; | ||
| 16785 | D3D12_DRED_AUTO_BREADCRUMBS_OUTPUT AutoBreadcrumbsOutput; | ||
| 16786 | D3D12_DRED_PAGE_FAULT_OUTPUT PageFaultOutput; | ||
| 16787 | } D3D12_DEVICE_REMOVED_EXTENDED_DATA1; | ||
| 16788 | |||
| 16789 | typedef struct D3D12_DEVICE_REMOVED_EXTENDED_DATA2 | ||
| 16790 | { | ||
| 16791 | HRESULT DeviceRemovedReason; | ||
| 16792 | D3D12_DRED_AUTO_BREADCRUMBS_OUTPUT1 AutoBreadcrumbsOutput; | ||
| 16793 | D3D12_DRED_PAGE_FAULT_OUTPUT1 PageFaultOutput; | ||
| 16794 | } D3D12_DEVICE_REMOVED_EXTENDED_DATA2; | ||
| 16795 | |||
| 16796 | typedef struct D3D12_DEVICE_REMOVED_EXTENDED_DATA3 | ||
| 16797 | { | ||
| 16798 | HRESULT DeviceRemovedReason; | ||
| 16799 | D3D12_DRED_AUTO_BREADCRUMBS_OUTPUT1 AutoBreadcrumbsOutput; | ||
| 16800 | D3D12_DRED_PAGE_FAULT_OUTPUT2 PageFaultOutput; | ||
| 16801 | D3D12_DRED_DEVICE_STATE DeviceState; | ||
| 16802 | } D3D12_DEVICE_REMOVED_EXTENDED_DATA3; | ||
| 16803 | |||
| 16804 | typedef struct D3D12_VERSIONED_DEVICE_REMOVED_EXTENDED_DATA | ||
| 16805 | { | ||
| 16806 | D3D12_DRED_VERSION Version; | ||
| 16807 | union | ||
| 16808 | { | ||
| 16809 | D3D12_DEVICE_REMOVED_EXTENDED_DATA Dred_1_0; | ||
| 16810 | D3D12_DEVICE_REMOVED_EXTENDED_DATA1 Dred_1_1; | ||
| 16811 | D3D12_DEVICE_REMOVED_EXTENDED_DATA2 Dred_1_2; | ||
| 16812 | D3D12_DEVICE_REMOVED_EXTENDED_DATA3 Dred_1_3; | ||
| 16813 | } ; | ||
| 16814 | } D3D12_VERSIONED_DEVICE_REMOVED_EXTENDED_DATA; | ||
| 16815 | |||
| 16816 | |||
| 16817 | |||
| 16818 | extern RPC_IF_HANDLE __MIDL_itf_d3d12_0000_0040_v0_0_c_ifspec; | ||
| 16819 | extern RPC_IF_HANDLE __MIDL_itf_d3d12_0000_0040_v0_0_s_ifspec; | ||
| 16820 | |||
| 16821 | #ifndef __ID3D12DeviceRemovedExtendedDataSettings_INTERFACE_DEFINED__ | ||
| 16822 | #define __ID3D12DeviceRemovedExtendedDataSettings_INTERFACE_DEFINED__ | ||
| 16823 | |||
| 16824 | /* interface ID3D12DeviceRemovedExtendedDataSettings */ | ||
| 16825 | /* [unique][local][object][uuid] */ | ||
| 16826 | |||
| 16827 | |||
| 16828 | EXTERN_C const IID IID_ID3D12DeviceRemovedExtendedDataSettings; | ||
| 16829 | |||
| 16830 | #if defined(__cplusplus) && !defined(CINTERFACE) | ||
| 16831 | |||
| 16832 | MIDL_INTERFACE("82BC481C-6B9B-4030-AEDB-7EE3D1DF1E63") | ||
| 16833 | ID3D12DeviceRemovedExtendedDataSettings : public IUnknown | ||
| 16834 | { | ||
| 16835 | public: | ||
| 16836 | virtual void STDMETHODCALLTYPE SetAutoBreadcrumbsEnablement( | ||
| 16837 | D3D12_DRED_ENABLEMENT Enablement) = 0; | ||
| 16838 | |||
| 16839 | virtual void STDMETHODCALLTYPE SetPageFaultEnablement( | ||
| 16840 | D3D12_DRED_ENABLEMENT Enablement) = 0; | ||
| 16841 | |||
| 16842 | virtual void STDMETHODCALLTYPE SetWatsonDumpEnablement( | ||
| 16843 | D3D12_DRED_ENABLEMENT Enablement) = 0; | ||
| 16844 | |||
| 16845 | }; | ||
| 16846 | |||
| 16847 | |||
| 16848 | #else /* C style interface */ | ||
| 16849 | |||
| 16850 | typedef struct ID3D12DeviceRemovedExtendedDataSettingsVtbl | ||
| 16851 | { | ||
| 16852 | BEGIN_INTERFACE | ||
| 16853 | |||
| 16854 | DECLSPEC_XFGVIRT(IUnknown, QueryInterface) | ||
| 16855 | HRESULT ( STDMETHODCALLTYPE *QueryInterface )( | ||
| 16856 | ID3D12DeviceRemovedExtendedDataSettings * This, | ||
| 16857 | REFIID riid, | ||
| 16858 | _COM_Outptr_ void **ppvObject); | ||
| 16859 | |||
| 16860 | DECLSPEC_XFGVIRT(IUnknown, AddRef) | ||
| 16861 | ULONG ( STDMETHODCALLTYPE *AddRef )( | ||
| 16862 | ID3D12DeviceRemovedExtendedDataSettings * This); | ||
| 16863 | |||
| 16864 | DECLSPEC_XFGVIRT(IUnknown, Release) | ||
| 16865 | ULONG ( STDMETHODCALLTYPE *Release )( | ||
| 16866 | ID3D12DeviceRemovedExtendedDataSettings * This); | ||
| 16867 | |||
| 16868 | DECLSPEC_XFGVIRT(ID3D12DeviceRemovedExtendedDataSettings, SetAutoBreadcrumbsEnablement) | ||
| 16869 | void ( STDMETHODCALLTYPE *SetAutoBreadcrumbsEnablement )( | ||
| 16870 | ID3D12DeviceRemovedExtendedDataSettings * This, | ||
| 16871 | D3D12_DRED_ENABLEMENT Enablement); | ||
| 16872 | |||
| 16873 | DECLSPEC_XFGVIRT(ID3D12DeviceRemovedExtendedDataSettings, SetPageFaultEnablement) | ||
| 16874 | void ( STDMETHODCALLTYPE *SetPageFaultEnablement )( | ||
| 16875 | ID3D12DeviceRemovedExtendedDataSettings * This, | ||
| 16876 | D3D12_DRED_ENABLEMENT Enablement); | ||
| 16877 | |||
| 16878 | DECLSPEC_XFGVIRT(ID3D12DeviceRemovedExtendedDataSettings, SetWatsonDumpEnablement) | ||
| 16879 | void ( STDMETHODCALLTYPE *SetWatsonDumpEnablement )( | ||
| 16880 | ID3D12DeviceRemovedExtendedDataSettings * This, | ||
| 16881 | D3D12_DRED_ENABLEMENT Enablement); | ||
| 16882 | |||
| 16883 | END_INTERFACE | ||
| 16884 | } ID3D12DeviceRemovedExtendedDataSettingsVtbl; | ||
| 16885 | |||
| 16886 | interface ID3D12DeviceRemovedExtendedDataSettings | ||
| 16887 | { | ||
| 16888 | CONST_VTBL struct ID3D12DeviceRemovedExtendedDataSettingsVtbl *lpVtbl; | ||
| 16889 | }; | ||
| 16890 | |||
| 16891 | |||
| 16892 | |||
| 16893 | #ifdef COBJMACROS | ||
| 16894 | |||
| 16895 | |||
| 16896 | #define ID3D12DeviceRemovedExtendedDataSettings_QueryInterface(This,riid,ppvObject) \ | ||
| 16897 | ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) | ||
| 16898 | |||
| 16899 | #define ID3D12DeviceRemovedExtendedDataSettings_AddRef(This) \ | ||
| 16900 | ( (This)->lpVtbl -> AddRef(This) ) | ||
| 16901 | |||
| 16902 | #define ID3D12DeviceRemovedExtendedDataSettings_Release(This) \ | ||
| 16903 | ( (This)->lpVtbl -> Release(This) ) | ||
| 16904 | |||
| 16905 | |||
| 16906 | #define ID3D12DeviceRemovedExtendedDataSettings_SetAutoBreadcrumbsEnablement(This,Enablement) \ | ||
| 16907 | ( (This)->lpVtbl -> SetAutoBreadcrumbsEnablement(This,Enablement) ) | ||
| 16908 | |||
| 16909 | #define ID3D12DeviceRemovedExtendedDataSettings_SetPageFaultEnablement(This,Enablement) \ | ||
| 16910 | ( (This)->lpVtbl -> SetPageFaultEnablement(This,Enablement) ) | ||
| 16911 | |||
| 16912 | #define ID3D12DeviceRemovedExtendedDataSettings_SetWatsonDumpEnablement(This,Enablement) \ | ||
| 16913 | ( (This)->lpVtbl -> SetWatsonDumpEnablement(This,Enablement) ) | ||
| 16914 | |||
| 16915 | #endif /* COBJMACROS */ | ||
| 16916 | |||
| 16917 | |||
| 16918 | #endif /* C style interface */ | ||
| 16919 | |||
| 16920 | |||
| 16921 | |||
| 16922 | |||
| 16923 | #endif /* __ID3D12DeviceRemovedExtendedDataSettings_INTERFACE_DEFINED__ */ | ||
| 16924 | |||
| 16925 | |||
| 16926 | #ifndef __ID3D12DeviceRemovedExtendedDataSettings1_INTERFACE_DEFINED__ | ||
| 16927 | #define __ID3D12DeviceRemovedExtendedDataSettings1_INTERFACE_DEFINED__ | ||
| 16928 | |||
| 16929 | /* interface ID3D12DeviceRemovedExtendedDataSettings1 */ | ||
| 16930 | /* [unique][local][object][uuid] */ | ||
| 16931 | |||
| 16932 | |||
| 16933 | EXTERN_C const IID IID_ID3D12DeviceRemovedExtendedDataSettings1; | ||
| 16934 | |||
| 16935 | #if defined(__cplusplus) && !defined(CINTERFACE) | ||
| 16936 | |||
| 16937 | MIDL_INTERFACE("DBD5AE51-3317-4F0A-ADF9-1D7CEDCAAE0B") | ||
| 16938 | ID3D12DeviceRemovedExtendedDataSettings1 : public ID3D12DeviceRemovedExtendedDataSettings | ||
| 16939 | { | ||
| 16940 | public: | ||
| 16941 | virtual void STDMETHODCALLTYPE SetBreadcrumbContextEnablement( | ||
| 16942 | D3D12_DRED_ENABLEMENT Enablement) = 0; | ||
| 16943 | |||
| 16944 | }; | ||
| 16945 | |||
| 16946 | |||
| 16947 | #else /* C style interface */ | ||
| 16948 | |||
| 16949 | typedef struct ID3D12DeviceRemovedExtendedDataSettings1Vtbl | ||
| 16950 | { | ||
| 16951 | BEGIN_INTERFACE | ||
| 16952 | |||
| 16953 | DECLSPEC_XFGVIRT(IUnknown, QueryInterface) | ||
| 16954 | HRESULT ( STDMETHODCALLTYPE *QueryInterface )( | ||
| 16955 | ID3D12DeviceRemovedExtendedDataSettings1 * This, | ||
| 16956 | REFIID riid, | ||
| 16957 | _COM_Outptr_ void **ppvObject); | ||
| 16958 | |||
| 16959 | DECLSPEC_XFGVIRT(IUnknown, AddRef) | ||
| 16960 | ULONG ( STDMETHODCALLTYPE *AddRef )( | ||
| 16961 | ID3D12DeviceRemovedExtendedDataSettings1 * This); | ||
| 16962 | |||
| 16963 | DECLSPEC_XFGVIRT(IUnknown, Release) | ||
| 16964 | ULONG ( STDMETHODCALLTYPE *Release )( | ||
| 16965 | ID3D12DeviceRemovedExtendedDataSettings1 * This); | ||
| 16966 | |||
| 16967 | DECLSPEC_XFGVIRT(ID3D12DeviceRemovedExtendedDataSettings, SetAutoBreadcrumbsEnablement) | ||
| 16968 | void ( STDMETHODCALLTYPE *SetAutoBreadcrumbsEnablement )( | ||
| 16969 | ID3D12DeviceRemovedExtendedDataSettings1 * This, | ||
| 16970 | D3D12_DRED_ENABLEMENT Enablement); | ||
| 16971 | |||
| 16972 | DECLSPEC_XFGVIRT(ID3D12DeviceRemovedExtendedDataSettings, SetPageFaultEnablement) | ||
| 16973 | void ( STDMETHODCALLTYPE *SetPageFaultEnablement )( | ||
| 16974 | ID3D12DeviceRemovedExtendedDataSettings1 * This, | ||
| 16975 | D3D12_DRED_ENABLEMENT Enablement); | ||
| 16976 | |||
| 16977 | DECLSPEC_XFGVIRT(ID3D12DeviceRemovedExtendedDataSettings, SetWatsonDumpEnablement) | ||
| 16978 | void ( STDMETHODCALLTYPE *SetWatsonDumpEnablement )( | ||
| 16979 | ID3D12DeviceRemovedExtendedDataSettings1 * This, | ||
| 16980 | D3D12_DRED_ENABLEMENT Enablement); | ||
| 16981 | |||
| 16982 | DECLSPEC_XFGVIRT(ID3D12DeviceRemovedExtendedDataSettings1, SetBreadcrumbContextEnablement) | ||
| 16983 | void ( STDMETHODCALLTYPE *SetBreadcrumbContextEnablement )( | ||
| 16984 | ID3D12DeviceRemovedExtendedDataSettings1 * This, | ||
| 16985 | D3D12_DRED_ENABLEMENT Enablement); | ||
| 16986 | |||
| 16987 | END_INTERFACE | ||
| 16988 | } ID3D12DeviceRemovedExtendedDataSettings1Vtbl; | ||
| 16989 | |||
| 16990 | interface ID3D12DeviceRemovedExtendedDataSettings1 | ||
| 16991 | { | ||
| 16992 | CONST_VTBL struct ID3D12DeviceRemovedExtendedDataSettings1Vtbl *lpVtbl; | ||
| 16993 | }; | ||
| 16994 | |||
| 16995 | |||
| 16996 | |||
| 16997 | #ifdef COBJMACROS | ||
| 16998 | |||
| 16999 | |||
| 17000 | #define ID3D12DeviceRemovedExtendedDataSettings1_QueryInterface(This,riid,ppvObject) \ | ||
| 17001 | ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) | ||
| 17002 | |||
| 17003 | #define ID3D12DeviceRemovedExtendedDataSettings1_AddRef(This) \ | ||
| 17004 | ( (This)->lpVtbl -> AddRef(This) ) | ||
| 17005 | |||
| 17006 | #define ID3D12DeviceRemovedExtendedDataSettings1_Release(This) \ | ||
| 17007 | ( (This)->lpVtbl -> Release(This) ) | ||
| 17008 | |||
| 17009 | |||
| 17010 | #define ID3D12DeviceRemovedExtendedDataSettings1_SetAutoBreadcrumbsEnablement(This,Enablement) \ | ||
| 17011 | ( (This)->lpVtbl -> SetAutoBreadcrumbsEnablement(This,Enablement) ) | ||
| 17012 | |||
| 17013 | #define ID3D12DeviceRemovedExtendedDataSettings1_SetPageFaultEnablement(This,Enablement) \ | ||
| 17014 | ( (This)->lpVtbl -> SetPageFaultEnablement(This,Enablement) ) | ||
| 17015 | |||
| 17016 | #define ID3D12DeviceRemovedExtendedDataSettings1_SetWatsonDumpEnablement(This,Enablement) \ | ||
| 17017 | ( (This)->lpVtbl -> SetWatsonDumpEnablement(This,Enablement) ) | ||
| 17018 | |||
| 17019 | |||
| 17020 | #define ID3D12DeviceRemovedExtendedDataSettings1_SetBreadcrumbContextEnablement(This,Enablement) \ | ||
| 17021 | ( (This)->lpVtbl -> SetBreadcrumbContextEnablement(This,Enablement) ) | ||
| 17022 | |||
| 17023 | #endif /* COBJMACROS */ | ||
| 17024 | |||
| 17025 | |||
| 17026 | #endif /* C style interface */ | ||
| 17027 | |||
| 17028 | |||
| 17029 | |||
| 17030 | |||
| 17031 | #endif /* __ID3D12DeviceRemovedExtendedDataSettings1_INTERFACE_DEFINED__ */ | ||
| 17032 | |||
| 17033 | |||
| 17034 | #ifndef __ID3D12DeviceRemovedExtendedDataSettings2_INTERFACE_DEFINED__ | ||
| 17035 | #define __ID3D12DeviceRemovedExtendedDataSettings2_INTERFACE_DEFINED__ | ||
| 17036 | |||
| 17037 | /* interface ID3D12DeviceRemovedExtendedDataSettings2 */ | ||
| 17038 | /* [unique][local][object][uuid] */ | ||
| 17039 | |||
| 17040 | |||
| 17041 | EXTERN_C const IID IID_ID3D12DeviceRemovedExtendedDataSettings2; | ||
| 17042 | |||
| 17043 | #if defined(__cplusplus) && !defined(CINTERFACE) | ||
| 17044 | |||
| 17045 | MIDL_INTERFACE("61552388-01ab-4008-a436-83db189566ea") | ||
| 17046 | ID3D12DeviceRemovedExtendedDataSettings2 : public ID3D12DeviceRemovedExtendedDataSettings1 | ||
| 17047 | { | ||
| 17048 | public: | ||
| 17049 | virtual void STDMETHODCALLTYPE UseMarkersOnlyAutoBreadcrumbs( | ||
| 17050 | BOOL MarkersOnly) = 0; | ||
| 17051 | |||
| 17052 | }; | ||
| 17053 | |||
| 17054 | |||
| 17055 | #else /* C style interface */ | ||
| 17056 | |||
| 17057 | typedef struct ID3D12DeviceRemovedExtendedDataSettings2Vtbl | ||
| 17058 | { | ||
| 17059 | BEGIN_INTERFACE | ||
| 17060 | |||
| 17061 | DECLSPEC_XFGVIRT(IUnknown, QueryInterface) | ||
| 17062 | HRESULT ( STDMETHODCALLTYPE *QueryInterface )( | ||
| 17063 | ID3D12DeviceRemovedExtendedDataSettings2 * This, | ||
| 17064 | REFIID riid, | ||
| 17065 | _COM_Outptr_ void **ppvObject); | ||
| 17066 | |||
| 17067 | DECLSPEC_XFGVIRT(IUnknown, AddRef) | ||
| 17068 | ULONG ( STDMETHODCALLTYPE *AddRef )( | ||
| 17069 | ID3D12DeviceRemovedExtendedDataSettings2 * This); | ||
| 17070 | |||
| 17071 | DECLSPEC_XFGVIRT(IUnknown, Release) | ||
| 17072 | ULONG ( STDMETHODCALLTYPE *Release )( | ||
| 17073 | ID3D12DeviceRemovedExtendedDataSettings2 * This); | ||
| 17074 | |||
| 17075 | DECLSPEC_XFGVIRT(ID3D12DeviceRemovedExtendedDataSettings, SetAutoBreadcrumbsEnablement) | ||
| 17076 | void ( STDMETHODCALLTYPE *SetAutoBreadcrumbsEnablement )( | ||
| 17077 | ID3D12DeviceRemovedExtendedDataSettings2 * This, | ||
| 17078 | D3D12_DRED_ENABLEMENT Enablement); | ||
| 17079 | |||
| 17080 | DECLSPEC_XFGVIRT(ID3D12DeviceRemovedExtendedDataSettings, SetPageFaultEnablement) | ||
| 17081 | void ( STDMETHODCALLTYPE *SetPageFaultEnablement )( | ||
| 17082 | ID3D12DeviceRemovedExtendedDataSettings2 * This, | ||
| 17083 | D3D12_DRED_ENABLEMENT Enablement); | ||
| 17084 | |||
| 17085 | DECLSPEC_XFGVIRT(ID3D12DeviceRemovedExtendedDataSettings, SetWatsonDumpEnablement) | ||
| 17086 | void ( STDMETHODCALLTYPE *SetWatsonDumpEnablement )( | ||
| 17087 | ID3D12DeviceRemovedExtendedDataSettings2 * This, | ||
| 17088 | D3D12_DRED_ENABLEMENT Enablement); | ||
| 17089 | |||
| 17090 | DECLSPEC_XFGVIRT(ID3D12DeviceRemovedExtendedDataSettings1, SetBreadcrumbContextEnablement) | ||
| 17091 | void ( STDMETHODCALLTYPE *SetBreadcrumbContextEnablement )( | ||
| 17092 | ID3D12DeviceRemovedExtendedDataSettings2 * This, | ||
| 17093 | D3D12_DRED_ENABLEMENT Enablement); | ||
| 17094 | |||
| 17095 | DECLSPEC_XFGVIRT(ID3D12DeviceRemovedExtendedDataSettings2, UseMarkersOnlyAutoBreadcrumbs) | ||
| 17096 | void ( STDMETHODCALLTYPE *UseMarkersOnlyAutoBreadcrumbs )( | ||
| 17097 | ID3D12DeviceRemovedExtendedDataSettings2 * This, | ||
| 17098 | BOOL MarkersOnly); | ||
| 17099 | |||
| 17100 | END_INTERFACE | ||
| 17101 | } ID3D12DeviceRemovedExtendedDataSettings2Vtbl; | ||
| 17102 | |||
| 17103 | interface ID3D12DeviceRemovedExtendedDataSettings2 | ||
| 17104 | { | ||
| 17105 | CONST_VTBL struct ID3D12DeviceRemovedExtendedDataSettings2Vtbl *lpVtbl; | ||
| 17106 | }; | ||
| 17107 | |||
| 17108 | |||
| 17109 | |||
| 17110 | #ifdef COBJMACROS | ||
| 17111 | |||
| 17112 | |||
| 17113 | #define ID3D12DeviceRemovedExtendedDataSettings2_QueryInterface(This,riid,ppvObject) \ | ||
| 17114 | ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) | ||
| 17115 | |||
| 17116 | #define ID3D12DeviceRemovedExtendedDataSettings2_AddRef(This) \ | ||
| 17117 | ( (This)->lpVtbl -> AddRef(This) ) | ||
| 17118 | |||
| 17119 | #define ID3D12DeviceRemovedExtendedDataSettings2_Release(This) \ | ||
| 17120 | ( (This)->lpVtbl -> Release(This) ) | ||
| 17121 | |||
| 17122 | |||
| 17123 | #define ID3D12DeviceRemovedExtendedDataSettings2_SetAutoBreadcrumbsEnablement(This,Enablement) \ | ||
| 17124 | ( (This)->lpVtbl -> SetAutoBreadcrumbsEnablement(This,Enablement) ) | ||
| 17125 | |||
| 17126 | #define ID3D12DeviceRemovedExtendedDataSettings2_SetPageFaultEnablement(This,Enablement) \ | ||
| 17127 | ( (This)->lpVtbl -> SetPageFaultEnablement(This,Enablement) ) | ||
| 17128 | |||
| 17129 | #define ID3D12DeviceRemovedExtendedDataSettings2_SetWatsonDumpEnablement(This,Enablement) \ | ||
| 17130 | ( (This)->lpVtbl -> SetWatsonDumpEnablement(This,Enablement) ) | ||
| 17131 | |||
| 17132 | |||
| 17133 | #define ID3D12DeviceRemovedExtendedDataSettings2_SetBreadcrumbContextEnablement(This,Enablement) \ | ||
| 17134 | ( (This)->lpVtbl -> SetBreadcrumbContextEnablement(This,Enablement) ) | ||
| 17135 | |||
| 17136 | |||
| 17137 | #define ID3D12DeviceRemovedExtendedDataSettings2_UseMarkersOnlyAutoBreadcrumbs(This,MarkersOnly) \ | ||
| 17138 | ( (This)->lpVtbl -> UseMarkersOnlyAutoBreadcrumbs(This,MarkersOnly) ) | ||
| 17139 | |||
| 17140 | #endif /* COBJMACROS */ | ||
| 17141 | |||
| 17142 | |||
| 17143 | #endif /* C style interface */ | ||
| 17144 | |||
| 17145 | |||
| 17146 | |||
| 17147 | |||
| 17148 | #endif /* __ID3D12DeviceRemovedExtendedDataSettings2_INTERFACE_DEFINED__ */ | ||
| 17149 | |||
| 17150 | |||
| 17151 | #ifndef __ID3D12DeviceRemovedExtendedData_INTERFACE_DEFINED__ | ||
| 17152 | #define __ID3D12DeviceRemovedExtendedData_INTERFACE_DEFINED__ | ||
| 17153 | |||
| 17154 | /* interface ID3D12DeviceRemovedExtendedData */ | ||
| 17155 | /* [unique][local][object][uuid] */ | ||
| 17156 | |||
| 17157 | |||
| 17158 | EXTERN_C const IID IID_ID3D12DeviceRemovedExtendedData; | ||
| 17159 | |||
| 17160 | #if defined(__cplusplus) && !defined(CINTERFACE) | ||
| 17161 | |||
| 17162 | MIDL_INTERFACE("98931D33-5AE8-4791-AA3C-1A73A2934E71") | ||
| 17163 | ID3D12DeviceRemovedExtendedData : public IUnknown | ||
| 17164 | { | ||
| 17165 | public: | ||
| 17166 | virtual HRESULT STDMETHODCALLTYPE GetAutoBreadcrumbsOutput( | ||
| 17167 | _Out_ D3D12_DRED_AUTO_BREADCRUMBS_OUTPUT *pOutput) = 0; | ||
| 17168 | |||
| 17169 | virtual HRESULT STDMETHODCALLTYPE GetPageFaultAllocationOutput( | ||
| 17170 | _Out_ D3D12_DRED_PAGE_FAULT_OUTPUT *pOutput) = 0; | ||
| 17171 | |||
| 17172 | }; | ||
| 17173 | |||
| 17174 | |||
| 17175 | #else /* C style interface */ | ||
| 17176 | |||
| 17177 | typedef struct ID3D12DeviceRemovedExtendedDataVtbl | ||
| 17178 | { | ||
| 17179 | BEGIN_INTERFACE | ||
| 17180 | |||
| 17181 | DECLSPEC_XFGVIRT(IUnknown, QueryInterface) | ||
| 17182 | HRESULT ( STDMETHODCALLTYPE *QueryInterface )( | ||
| 17183 | ID3D12DeviceRemovedExtendedData * This, | ||
| 17184 | REFIID riid, | ||
| 17185 | _COM_Outptr_ void **ppvObject); | ||
| 17186 | |||
| 17187 | DECLSPEC_XFGVIRT(IUnknown, AddRef) | ||
| 17188 | ULONG ( STDMETHODCALLTYPE *AddRef )( | ||
| 17189 | ID3D12DeviceRemovedExtendedData * This); | ||
| 17190 | |||
| 17191 | DECLSPEC_XFGVIRT(IUnknown, Release) | ||
| 17192 | ULONG ( STDMETHODCALLTYPE *Release )( | ||
| 17193 | ID3D12DeviceRemovedExtendedData * This); | ||
| 17194 | |||
| 17195 | DECLSPEC_XFGVIRT(ID3D12DeviceRemovedExtendedData, GetAutoBreadcrumbsOutput) | ||
| 17196 | HRESULT ( STDMETHODCALLTYPE *GetAutoBreadcrumbsOutput )( | ||
| 17197 | ID3D12DeviceRemovedExtendedData * This, | ||
| 17198 | _Out_ D3D12_DRED_AUTO_BREADCRUMBS_OUTPUT *pOutput); | ||
| 17199 | |||
| 17200 | DECLSPEC_XFGVIRT(ID3D12DeviceRemovedExtendedData, GetPageFaultAllocationOutput) | ||
| 17201 | HRESULT ( STDMETHODCALLTYPE *GetPageFaultAllocationOutput )( | ||
| 17202 | ID3D12DeviceRemovedExtendedData * This, | ||
| 17203 | _Out_ D3D12_DRED_PAGE_FAULT_OUTPUT *pOutput); | ||
| 17204 | |||
| 17205 | END_INTERFACE | ||
| 17206 | } ID3D12DeviceRemovedExtendedDataVtbl; | ||
| 17207 | |||
| 17208 | interface ID3D12DeviceRemovedExtendedData | ||
| 17209 | { | ||
| 17210 | CONST_VTBL struct ID3D12DeviceRemovedExtendedDataVtbl *lpVtbl; | ||
| 17211 | }; | ||
| 17212 | |||
| 17213 | |||
| 17214 | |||
| 17215 | #ifdef COBJMACROS | ||
| 17216 | |||
| 17217 | |||
| 17218 | #define ID3D12DeviceRemovedExtendedData_QueryInterface(This,riid,ppvObject) \ | ||
| 17219 | ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) | ||
| 17220 | |||
| 17221 | #define ID3D12DeviceRemovedExtendedData_AddRef(This) \ | ||
| 17222 | ( (This)->lpVtbl -> AddRef(This) ) | ||
| 17223 | |||
| 17224 | #define ID3D12DeviceRemovedExtendedData_Release(This) \ | ||
| 17225 | ( (This)->lpVtbl -> Release(This) ) | ||
| 17226 | |||
| 17227 | |||
| 17228 | #define ID3D12DeviceRemovedExtendedData_GetAutoBreadcrumbsOutput(This,pOutput) \ | ||
| 17229 | ( (This)->lpVtbl -> GetAutoBreadcrumbsOutput(This,pOutput) ) | ||
| 17230 | |||
| 17231 | #define ID3D12DeviceRemovedExtendedData_GetPageFaultAllocationOutput(This,pOutput) \ | ||
| 17232 | ( (This)->lpVtbl -> GetPageFaultAllocationOutput(This,pOutput) ) | ||
| 17233 | |||
| 17234 | #endif /* COBJMACROS */ | ||
| 17235 | |||
| 17236 | |||
| 17237 | #endif /* C style interface */ | ||
| 17238 | |||
| 17239 | |||
| 17240 | |||
| 17241 | |||
| 17242 | #endif /* __ID3D12DeviceRemovedExtendedData_INTERFACE_DEFINED__ */ | ||
| 17243 | |||
| 17244 | |||
| 17245 | #ifndef __ID3D12DeviceRemovedExtendedData1_INTERFACE_DEFINED__ | ||
| 17246 | #define __ID3D12DeviceRemovedExtendedData1_INTERFACE_DEFINED__ | ||
| 17247 | |||
| 17248 | /* interface ID3D12DeviceRemovedExtendedData1 */ | ||
| 17249 | /* [unique][local][object][uuid] */ | ||
| 17250 | |||
| 17251 | |||
| 17252 | EXTERN_C const IID IID_ID3D12DeviceRemovedExtendedData1; | ||
| 17253 | |||
| 17254 | #if defined(__cplusplus) && !defined(CINTERFACE) | ||
| 17255 | |||
| 17256 | MIDL_INTERFACE("9727A022-CF1D-4DDA-9EBA-EFFA653FC506") | ||
| 17257 | ID3D12DeviceRemovedExtendedData1 : public ID3D12DeviceRemovedExtendedData | ||
| 17258 | { | ||
| 17259 | public: | ||
| 17260 | virtual HRESULT STDMETHODCALLTYPE GetAutoBreadcrumbsOutput1( | ||
| 17261 | _Out_ D3D12_DRED_AUTO_BREADCRUMBS_OUTPUT1 *pOutput) = 0; | ||
| 17262 | |||
| 17263 | virtual HRESULT STDMETHODCALLTYPE GetPageFaultAllocationOutput1( | ||
| 17264 | _Out_ D3D12_DRED_PAGE_FAULT_OUTPUT1 *pOutput) = 0; | ||
| 17265 | |||
| 17266 | }; | ||
| 17267 | |||
| 17268 | |||
| 17269 | #else /* C style interface */ | ||
| 17270 | |||
| 17271 | typedef struct ID3D12DeviceRemovedExtendedData1Vtbl | ||
| 17272 | { | ||
| 17273 | BEGIN_INTERFACE | ||
| 17274 | |||
| 17275 | DECLSPEC_XFGVIRT(IUnknown, QueryInterface) | ||
| 17276 | HRESULT ( STDMETHODCALLTYPE *QueryInterface )( | ||
| 17277 | ID3D12DeviceRemovedExtendedData1 * This, | ||
| 17278 | REFIID riid, | ||
| 17279 | _COM_Outptr_ void **ppvObject); | ||
| 17280 | |||
| 17281 | DECLSPEC_XFGVIRT(IUnknown, AddRef) | ||
| 17282 | ULONG ( STDMETHODCALLTYPE *AddRef )( | ||
| 17283 | ID3D12DeviceRemovedExtendedData1 * This); | ||
| 17284 | |||
| 17285 | DECLSPEC_XFGVIRT(IUnknown, Release) | ||
| 17286 | ULONG ( STDMETHODCALLTYPE *Release )( | ||
| 17287 | ID3D12DeviceRemovedExtendedData1 * This); | ||
| 17288 | |||
| 17289 | DECLSPEC_XFGVIRT(ID3D12DeviceRemovedExtendedData, GetAutoBreadcrumbsOutput) | ||
| 17290 | HRESULT ( STDMETHODCALLTYPE *GetAutoBreadcrumbsOutput )( | ||
| 17291 | ID3D12DeviceRemovedExtendedData1 * This, | ||
| 17292 | _Out_ D3D12_DRED_AUTO_BREADCRUMBS_OUTPUT *pOutput); | ||
| 17293 | |||
| 17294 | DECLSPEC_XFGVIRT(ID3D12DeviceRemovedExtendedData, GetPageFaultAllocationOutput) | ||
| 17295 | HRESULT ( STDMETHODCALLTYPE *GetPageFaultAllocationOutput )( | ||
| 17296 | ID3D12DeviceRemovedExtendedData1 * This, | ||
| 17297 | _Out_ D3D12_DRED_PAGE_FAULT_OUTPUT *pOutput); | ||
| 17298 | |||
| 17299 | DECLSPEC_XFGVIRT(ID3D12DeviceRemovedExtendedData1, GetAutoBreadcrumbsOutput1) | ||
| 17300 | HRESULT ( STDMETHODCALLTYPE *GetAutoBreadcrumbsOutput1 )( | ||
| 17301 | ID3D12DeviceRemovedExtendedData1 * This, | ||
| 17302 | _Out_ D3D12_DRED_AUTO_BREADCRUMBS_OUTPUT1 *pOutput); | ||
| 17303 | |||
| 17304 | DECLSPEC_XFGVIRT(ID3D12DeviceRemovedExtendedData1, GetPageFaultAllocationOutput1) | ||
| 17305 | HRESULT ( STDMETHODCALLTYPE *GetPageFaultAllocationOutput1 )( | ||
| 17306 | ID3D12DeviceRemovedExtendedData1 * This, | ||
| 17307 | _Out_ D3D12_DRED_PAGE_FAULT_OUTPUT1 *pOutput); | ||
| 17308 | |||
| 17309 | END_INTERFACE | ||
| 17310 | } ID3D12DeviceRemovedExtendedData1Vtbl; | ||
| 17311 | |||
| 17312 | interface ID3D12DeviceRemovedExtendedData1 | ||
| 17313 | { | ||
| 17314 | CONST_VTBL struct ID3D12DeviceRemovedExtendedData1Vtbl *lpVtbl; | ||
| 17315 | }; | ||
| 17316 | |||
| 17317 | |||
| 17318 | |||
| 17319 | #ifdef COBJMACROS | ||
| 17320 | |||
| 17321 | |||
| 17322 | #define ID3D12DeviceRemovedExtendedData1_QueryInterface(This,riid,ppvObject) \ | ||
| 17323 | ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) | ||
| 17324 | |||
| 17325 | #define ID3D12DeviceRemovedExtendedData1_AddRef(This) \ | ||
| 17326 | ( (This)->lpVtbl -> AddRef(This) ) | ||
| 17327 | |||
| 17328 | #define ID3D12DeviceRemovedExtendedData1_Release(This) \ | ||
| 17329 | ( (This)->lpVtbl -> Release(This) ) | ||
| 17330 | |||
| 17331 | |||
| 17332 | #define ID3D12DeviceRemovedExtendedData1_GetAutoBreadcrumbsOutput(This,pOutput) \ | ||
| 17333 | ( (This)->lpVtbl -> GetAutoBreadcrumbsOutput(This,pOutput) ) | ||
| 17334 | |||
| 17335 | #define ID3D12DeviceRemovedExtendedData1_GetPageFaultAllocationOutput(This,pOutput) \ | ||
| 17336 | ( (This)->lpVtbl -> GetPageFaultAllocationOutput(This,pOutput) ) | ||
| 17337 | |||
| 17338 | |||
| 17339 | #define ID3D12DeviceRemovedExtendedData1_GetAutoBreadcrumbsOutput1(This,pOutput) \ | ||
| 17340 | ( (This)->lpVtbl -> GetAutoBreadcrumbsOutput1(This,pOutput) ) | ||
| 17341 | |||
| 17342 | #define ID3D12DeviceRemovedExtendedData1_GetPageFaultAllocationOutput1(This,pOutput) \ | ||
| 17343 | ( (This)->lpVtbl -> GetPageFaultAllocationOutput1(This,pOutput) ) | ||
| 17344 | |||
| 17345 | #endif /* COBJMACROS */ | ||
| 17346 | |||
| 17347 | |||
| 17348 | #endif /* C style interface */ | ||
| 17349 | |||
| 17350 | |||
| 17351 | |||
| 17352 | |||
| 17353 | #endif /* __ID3D12DeviceRemovedExtendedData1_INTERFACE_DEFINED__ */ | ||
| 17354 | |||
| 17355 | |||
| 17356 | #ifndef __ID3D12DeviceRemovedExtendedData2_INTERFACE_DEFINED__ | ||
| 17357 | #define __ID3D12DeviceRemovedExtendedData2_INTERFACE_DEFINED__ | ||
| 17358 | |||
| 17359 | /* interface ID3D12DeviceRemovedExtendedData2 */ | ||
| 17360 | /* [unique][local][object][uuid] */ | ||
| 17361 | |||
| 17362 | |||
| 17363 | EXTERN_C const IID IID_ID3D12DeviceRemovedExtendedData2; | ||
| 17364 | |||
| 17365 | #if defined(__cplusplus) && !defined(CINTERFACE) | ||
| 17366 | |||
| 17367 | MIDL_INTERFACE("67FC5816-E4CA-4915-BF18-42541272DA54") | ||
| 17368 | ID3D12DeviceRemovedExtendedData2 : public ID3D12DeviceRemovedExtendedData1 | ||
| 17369 | { | ||
| 17370 | public: | ||
| 17371 | virtual HRESULT STDMETHODCALLTYPE GetPageFaultAllocationOutput2( | ||
| 17372 | _Out_ D3D12_DRED_PAGE_FAULT_OUTPUT2 *pOutput) = 0; | ||
| 17373 | |||
| 17374 | virtual D3D12_DRED_DEVICE_STATE STDMETHODCALLTYPE GetDeviceState( void) = 0; | ||
| 17375 | |||
| 17376 | }; | ||
| 17377 | |||
| 17378 | |||
| 17379 | #else /* C style interface */ | ||
| 17380 | |||
| 17381 | typedef struct ID3D12DeviceRemovedExtendedData2Vtbl | ||
| 17382 | { | ||
| 17383 | BEGIN_INTERFACE | ||
| 17384 | |||
| 17385 | DECLSPEC_XFGVIRT(IUnknown, QueryInterface) | ||
| 17386 | HRESULT ( STDMETHODCALLTYPE *QueryInterface )( | ||
| 17387 | ID3D12DeviceRemovedExtendedData2 * This, | ||
| 17388 | REFIID riid, | ||
| 17389 | _COM_Outptr_ void **ppvObject); | ||
| 17390 | |||
| 17391 | DECLSPEC_XFGVIRT(IUnknown, AddRef) | ||
| 17392 | ULONG ( STDMETHODCALLTYPE *AddRef )( | ||
| 17393 | ID3D12DeviceRemovedExtendedData2 * This); | ||
| 17394 | |||
| 17395 | DECLSPEC_XFGVIRT(IUnknown, Release) | ||
| 17396 | ULONG ( STDMETHODCALLTYPE *Release )( | ||
| 17397 | ID3D12DeviceRemovedExtendedData2 * This); | ||
| 17398 | |||
| 17399 | DECLSPEC_XFGVIRT(ID3D12DeviceRemovedExtendedData, GetAutoBreadcrumbsOutput) | ||
| 17400 | HRESULT ( STDMETHODCALLTYPE *GetAutoBreadcrumbsOutput )( | ||
| 17401 | ID3D12DeviceRemovedExtendedData2 * This, | ||
| 17402 | _Out_ D3D12_DRED_AUTO_BREADCRUMBS_OUTPUT *pOutput); | ||
| 17403 | |||
| 17404 | DECLSPEC_XFGVIRT(ID3D12DeviceRemovedExtendedData, GetPageFaultAllocationOutput) | ||
| 17405 | HRESULT ( STDMETHODCALLTYPE *GetPageFaultAllocationOutput )( | ||
| 17406 | ID3D12DeviceRemovedExtendedData2 * This, | ||
| 17407 | _Out_ D3D12_DRED_PAGE_FAULT_OUTPUT *pOutput); | ||
| 17408 | |||
| 17409 | DECLSPEC_XFGVIRT(ID3D12DeviceRemovedExtendedData1, GetAutoBreadcrumbsOutput1) | ||
| 17410 | HRESULT ( STDMETHODCALLTYPE *GetAutoBreadcrumbsOutput1 )( | ||
| 17411 | ID3D12DeviceRemovedExtendedData2 * This, | ||
| 17412 | _Out_ D3D12_DRED_AUTO_BREADCRUMBS_OUTPUT1 *pOutput); | ||
| 17413 | |||
| 17414 | DECLSPEC_XFGVIRT(ID3D12DeviceRemovedExtendedData1, GetPageFaultAllocationOutput1) | ||
| 17415 | HRESULT ( STDMETHODCALLTYPE *GetPageFaultAllocationOutput1 )( | ||
| 17416 | ID3D12DeviceRemovedExtendedData2 * This, | ||
| 17417 | _Out_ D3D12_DRED_PAGE_FAULT_OUTPUT1 *pOutput); | ||
| 17418 | |||
| 17419 | DECLSPEC_XFGVIRT(ID3D12DeviceRemovedExtendedData2, GetPageFaultAllocationOutput2) | ||
| 17420 | HRESULT ( STDMETHODCALLTYPE *GetPageFaultAllocationOutput2 )( | ||
| 17421 | ID3D12DeviceRemovedExtendedData2 * This, | ||
| 17422 | _Out_ D3D12_DRED_PAGE_FAULT_OUTPUT2 *pOutput); | ||
| 17423 | |||
| 17424 | DECLSPEC_XFGVIRT(ID3D12DeviceRemovedExtendedData2, GetDeviceState) | ||
| 17425 | D3D12_DRED_DEVICE_STATE ( STDMETHODCALLTYPE *GetDeviceState )( | ||
| 17426 | ID3D12DeviceRemovedExtendedData2 * This); | ||
| 17427 | |||
| 17428 | END_INTERFACE | ||
| 17429 | } ID3D12DeviceRemovedExtendedData2Vtbl; | ||
| 17430 | |||
| 17431 | interface ID3D12DeviceRemovedExtendedData2 | ||
| 17432 | { | ||
| 17433 | CONST_VTBL struct ID3D12DeviceRemovedExtendedData2Vtbl *lpVtbl; | ||
| 17434 | }; | ||
| 17435 | |||
| 17436 | |||
| 17437 | |||
| 17438 | #ifdef COBJMACROS | ||
| 17439 | |||
| 17440 | |||
| 17441 | #define ID3D12DeviceRemovedExtendedData2_QueryInterface(This,riid,ppvObject) \ | ||
| 17442 | ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) | ||
| 17443 | |||
| 17444 | #define ID3D12DeviceRemovedExtendedData2_AddRef(This) \ | ||
| 17445 | ( (This)->lpVtbl -> AddRef(This) ) | ||
| 17446 | |||
| 17447 | #define ID3D12DeviceRemovedExtendedData2_Release(This) \ | ||
| 17448 | ( (This)->lpVtbl -> Release(This) ) | ||
| 17449 | |||
| 17450 | |||
| 17451 | #define ID3D12DeviceRemovedExtendedData2_GetAutoBreadcrumbsOutput(This,pOutput) \ | ||
| 17452 | ( (This)->lpVtbl -> GetAutoBreadcrumbsOutput(This,pOutput) ) | ||
| 17453 | |||
| 17454 | #define ID3D12DeviceRemovedExtendedData2_GetPageFaultAllocationOutput(This,pOutput) \ | ||
| 17455 | ( (This)->lpVtbl -> GetPageFaultAllocationOutput(This,pOutput) ) | ||
| 17456 | |||
| 17457 | |||
| 17458 | #define ID3D12DeviceRemovedExtendedData2_GetAutoBreadcrumbsOutput1(This,pOutput) \ | ||
| 17459 | ( (This)->lpVtbl -> GetAutoBreadcrumbsOutput1(This,pOutput) ) | ||
| 17460 | |||
| 17461 | #define ID3D12DeviceRemovedExtendedData2_GetPageFaultAllocationOutput1(This,pOutput) \ | ||
| 17462 | ( (This)->lpVtbl -> GetPageFaultAllocationOutput1(This,pOutput) ) | ||
| 17463 | |||
| 17464 | |||
| 17465 | #define ID3D12DeviceRemovedExtendedData2_GetPageFaultAllocationOutput2(This,pOutput) \ | ||
| 17466 | ( (This)->lpVtbl -> GetPageFaultAllocationOutput2(This,pOutput) ) | ||
| 17467 | |||
| 17468 | #define ID3D12DeviceRemovedExtendedData2_GetDeviceState(This) \ | ||
| 17469 | ( (This)->lpVtbl -> GetDeviceState(This) ) | ||
| 17470 | |||
| 17471 | #endif /* COBJMACROS */ | ||
| 17472 | |||
| 17473 | |||
| 17474 | #endif /* C style interface */ | ||
| 17475 | |||
| 17476 | |||
| 17477 | |||
| 17478 | |||
| 17479 | #endif /* __ID3D12DeviceRemovedExtendedData2_INTERFACE_DEFINED__ */ | ||
| 17480 | |||
| 17481 | |||
| 17482 | /* interface __MIDL_itf_d3d12_0000_0046 */ | ||
| 17483 | /* [local] */ | ||
| 17484 | |||
| 17485 | typedef | ||
| 17486 | enum D3D12_BACKGROUND_PROCESSING_MODE | ||
| 17487 | { | ||
| 17488 | D3D12_BACKGROUND_PROCESSING_MODE_ALLOWED = 0, | ||
| 17489 | D3D12_BACKGROUND_PROCESSING_MODE_ALLOW_INTRUSIVE_MEASUREMENTS = ( D3D12_BACKGROUND_PROCESSING_MODE_ALLOWED + 1 ) , | ||
| 17490 | D3D12_BACKGROUND_PROCESSING_MODE_DISABLE_BACKGROUND_WORK = ( D3D12_BACKGROUND_PROCESSING_MODE_ALLOW_INTRUSIVE_MEASUREMENTS + 1 ) , | ||
| 17491 | D3D12_BACKGROUND_PROCESSING_MODE_DISABLE_PROFILING_BY_SYSTEM = ( D3D12_BACKGROUND_PROCESSING_MODE_DISABLE_BACKGROUND_WORK + 1 ) | ||
| 17492 | } D3D12_BACKGROUND_PROCESSING_MODE; | ||
| 17493 | |||
| 17494 | typedef | ||
| 17495 | enum D3D12_MEASUREMENTS_ACTION | ||
| 17496 | { | ||
| 17497 | D3D12_MEASUREMENTS_ACTION_KEEP_ALL = 0, | ||
| 17498 | D3D12_MEASUREMENTS_ACTION_COMMIT_RESULTS = ( D3D12_MEASUREMENTS_ACTION_KEEP_ALL + 1 ) , | ||
| 17499 | D3D12_MEASUREMENTS_ACTION_COMMIT_RESULTS_HIGH_PRIORITY = ( D3D12_MEASUREMENTS_ACTION_COMMIT_RESULTS + 1 ) , | ||
| 17500 | D3D12_MEASUREMENTS_ACTION_DISCARD_PREVIOUS = ( D3D12_MEASUREMENTS_ACTION_COMMIT_RESULTS_HIGH_PRIORITY + 1 ) | ||
| 17501 | } D3D12_MEASUREMENTS_ACTION; | ||
| 17502 | |||
| 17503 | |||
| 17504 | |||
| 17505 | extern RPC_IF_HANDLE __MIDL_itf_d3d12_0000_0046_v0_0_c_ifspec; | ||
| 17506 | extern RPC_IF_HANDLE __MIDL_itf_d3d12_0000_0046_v0_0_s_ifspec; | ||
| 17507 | |||
| 17508 | #ifndef __ID3D12Device6_INTERFACE_DEFINED__ | ||
| 17509 | #define __ID3D12Device6_INTERFACE_DEFINED__ | ||
| 17510 | |||
| 17511 | /* interface ID3D12Device6 */ | ||
| 17512 | /* [unique][local][object][uuid] */ | ||
| 17513 | |||
| 17514 | |||
| 17515 | EXTERN_C const IID IID_ID3D12Device6; | ||
| 17516 | |||
| 17517 | #if defined(__cplusplus) && !defined(CINTERFACE) | ||
| 17518 | |||
| 17519 | MIDL_INTERFACE("c70b221b-40e4-4a17-89af-025a0727a6dc") | ||
| 17520 | ID3D12Device6 : public ID3D12Device5 | ||
| 17521 | { | ||
| 17522 | public: | ||
| 17523 | virtual HRESULT STDMETHODCALLTYPE SetBackgroundProcessingMode( | ||
| 17524 | D3D12_BACKGROUND_PROCESSING_MODE Mode, | ||
| 17525 | D3D12_MEASUREMENTS_ACTION MeasurementsAction, | ||
| 17526 | _In_opt_ HANDLE hEventToSignalUponCompletion, | ||
| 17527 | _Out_opt_ BOOL *pbFurtherMeasurementsDesired) = 0; | ||
| 17528 | |||
| 17529 | }; | ||
| 17530 | |||
| 17531 | |||
| 17532 | #else /* C style interface */ | ||
| 17533 | |||
| 17534 | typedef struct ID3D12Device6Vtbl | ||
| 17535 | { | ||
| 17536 | BEGIN_INTERFACE | ||
| 17537 | |||
| 17538 | DECLSPEC_XFGVIRT(IUnknown, QueryInterface) | ||
| 17539 | HRESULT ( STDMETHODCALLTYPE *QueryInterface )( | ||
| 17540 | ID3D12Device6 * This, | ||
| 17541 | REFIID riid, | ||
| 17542 | _COM_Outptr_ void **ppvObject); | ||
| 17543 | |||
| 17544 | DECLSPEC_XFGVIRT(IUnknown, AddRef) | ||
| 17545 | ULONG ( STDMETHODCALLTYPE *AddRef )( | ||
| 17546 | ID3D12Device6 * This); | ||
| 17547 | |||
| 17548 | DECLSPEC_XFGVIRT(IUnknown, Release) | ||
| 17549 | ULONG ( STDMETHODCALLTYPE *Release )( | ||
| 17550 | ID3D12Device6 * This); | ||
| 17551 | |||
| 17552 | DECLSPEC_XFGVIRT(ID3D12Object, GetPrivateData) | ||
| 17553 | HRESULT ( STDMETHODCALLTYPE *GetPrivateData )( | ||
| 17554 | ID3D12Device6 * This, | ||
| 17555 | _In_ REFGUID guid, | ||
| 17556 | _Inout_ UINT *pDataSize, | ||
| 17557 | _Out_writes_bytes_opt_( *pDataSize ) void *pData); | ||
| 17558 | |||
| 17559 | DECLSPEC_XFGVIRT(ID3D12Object, SetPrivateData) | ||
| 17560 | HRESULT ( STDMETHODCALLTYPE *SetPrivateData )( | ||
| 17561 | ID3D12Device6 * This, | ||
| 17562 | _In_ REFGUID guid, | ||
| 17563 | _In_ UINT DataSize, | ||
| 17564 | _In_reads_bytes_opt_( DataSize ) const void *pData); | ||
| 17565 | |||
| 17566 | DECLSPEC_XFGVIRT(ID3D12Object, SetPrivateDataInterface) | ||
| 17567 | HRESULT ( STDMETHODCALLTYPE *SetPrivateDataInterface )( | ||
| 17568 | ID3D12Device6 * This, | ||
| 17569 | _In_ REFGUID guid, | ||
| 17570 | _In_opt_ const IUnknown *pData); | ||
| 17571 | |||
| 17572 | DECLSPEC_XFGVIRT(ID3D12Object, SetName) | ||
| 17573 | HRESULT ( STDMETHODCALLTYPE *SetName )( | ||
| 17574 | ID3D12Device6 * This, | ||
| 17575 | _In_z_ LPCWSTR Name); | ||
| 17576 | |||
| 17577 | DECLSPEC_XFGVIRT(ID3D12Device, GetNodeCount) | ||
| 17578 | UINT ( STDMETHODCALLTYPE *GetNodeCount )( | ||
| 17579 | ID3D12Device6 * This); | ||
| 17580 | |||
| 17581 | DECLSPEC_XFGVIRT(ID3D12Device, CreateCommandQueue) | ||
| 17582 | HRESULT ( STDMETHODCALLTYPE *CreateCommandQueue )( | ||
| 17583 | ID3D12Device6 * This, | ||
| 17584 | _In_ const D3D12_COMMAND_QUEUE_DESC *pDesc, | ||
| 17585 | REFIID riid, | ||
| 17586 | _COM_Outptr_ void **ppCommandQueue); | ||
| 17587 | |||
| 17588 | DECLSPEC_XFGVIRT(ID3D12Device, CreateCommandAllocator) | ||
| 17589 | HRESULT ( STDMETHODCALLTYPE *CreateCommandAllocator )( | ||
| 17590 | ID3D12Device6 * This, | ||
| 17591 | _In_ D3D12_COMMAND_LIST_TYPE type, | ||
| 17592 | REFIID riid, | ||
| 17593 | _COM_Outptr_ void **ppCommandAllocator); | ||
| 17594 | |||
| 17595 | DECLSPEC_XFGVIRT(ID3D12Device, CreateGraphicsPipelineState) | ||
| 17596 | HRESULT ( STDMETHODCALLTYPE *CreateGraphicsPipelineState )( | ||
| 17597 | ID3D12Device6 * This, | ||
| 17598 | _In_ const D3D12_GRAPHICS_PIPELINE_STATE_DESC *pDesc, | ||
| 17599 | REFIID riid, | ||
| 17600 | _COM_Outptr_ void **ppPipelineState); | ||
| 17601 | |||
| 17602 | DECLSPEC_XFGVIRT(ID3D12Device, CreateComputePipelineState) | ||
| 17603 | HRESULT ( STDMETHODCALLTYPE *CreateComputePipelineState )( | ||
| 17604 | ID3D12Device6 * This, | ||
| 17605 | _In_ const D3D12_COMPUTE_PIPELINE_STATE_DESC *pDesc, | ||
| 17606 | REFIID riid, | ||
| 17607 | _COM_Outptr_ void **ppPipelineState); | ||
| 17608 | |||
| 17609 | DECLSPEC_XFGVIRT(ID3D12Device, CreateCommandList) | ||
| 17610 | HRESULT ( STDMETHODCALLTYPE *CreateCommandList )( | ||
| 17611 | ID3D12Device6 * This, | ||
| 17612 | _In_ UINT nodeMask, | ||
| 17613 | _In_ D3D12_COMMAND_LIST_TYPE type, | ||
| 17614 | _In_ ID3D12CommandAllocator *pCommandAllocator, | ||
| 17615 | _In_opt_ ID3D12PipelineState *pInitialState, | ||
| 17616 | REFIID riid, | ||
| 17617 | _COM_Outptr_ void **ppCommandList); | ||
| 17618 | |||
| 17619 | DECLSPEC_XFGVIRT(ID3D12Device, CheckFeatureSupport) | ||
| 17620 | HRESULT ( STDMETHODCALLTYPE *CheckFeatureSupport )( | ||
| 17621 | ID3D12Device6 * This, | ||
| 17622 | D3D12_FEATURE Feature, | ||
| 17623 | _Inout_updates_bytes_(FeatureSupportDataSize) void *pFeatureSupportData, | ||
| 17624 | UINT FeatureSupportDataSize); | ||
| 17625 | |||
| 17626 | DECLSPEC_XFGVIRT(ID3D12Device, CreateDescriptorHeap) | ||
| 17627 | HRESULT ( STDMETHODCALLTYPE *CreateDescriptorHeap )( | ||
| 17628 | ID3D12Device6 * This, | ||
| 17629 | _In_ const D3D12_DESCRIPTOR_HEAP_DESC *pDescriptorHeapDesc, | ||
| 17630 | REFIID riid, | ||
| 17631 | _COM_Outptr_ void **ppvHeap); | ||
| 17632 | |||
| 17633 | DECLSPEC_XFGVIRT(ID3D12Device, GetDescriptorHandleIncrementSize) | ||
| 17634 | UINT ( STDMETHODCALLTYPE *GetDescriptorHandleIncrementSize )( | ||
| 17635 | ID3D12Device6 * This, | ||
| 17636 | _In_ D3D12_DESCRIPTOR_HEAP_TYPE DescriptorHeapType); | ||
| 17637 | |||
| 17638 | DECLSPEC_XFGVIRT(ID3D12Device, CreateRootSignature) | ||
| 17639 | HRESULT ( STDMETHODCALLTYPE *CreateRootSignature )( | ||
| 17640 | ID3D12Device6 * This, | ||
| 17641 | _In_ UINT nodeMask, | ||
| 17642 | _In_reads_(blobLengthInBytes) const void *pBlobWithRootSignature, | ||
| 17643 | _In_ SIZE_T blobLengthInBytes, | ||
| 17644 | REFIID riid, | ||
| 17645 | _COM_Outptr_ void **ppvRootSignature); | ||
| 17646 | |||
| 17647 | DECLSPEC_XFGVIRT(ID3D12Device, CreateConstantBufferView) | ||
| 17648 | void ( STDMETHODCALLTYPE *CreateConstantBufferView )( | ||
| 17649 | ID3D12Device6 * This, | ||
| 17650 | _In_opt_ const D3D12_CONSTANT_BUFFER_VIEW_DESC *pDesc, | ||
| 17651 | _In_ D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor); | ||
| 17652 | |||
| 17653 | DECLSPEC_XFGVIRT(ID3D12Device, CreateShaderResourceView) | ||
| 17654 | void ( STDMETHODCALLTYPE *CreateShaderResourceView )( | ||
| 17655 | ID3D12Device6 * This, | ||
| 17656 | _In_opt_ ID3D12Resource *pResource, | ||
| 17657 | _In_opt_ const D3D12_SHADER_RESOURCE_VIEW_DESC *pDesc, | ||
| 17658 | _In_ D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor); | ||
| 17659 | |||
| 17660 | DECLSPEC_XFGVIRT(ID3D12Device, CreateUnorderedAccessView) | ||
| 17661 | void ( STDMETHODCALLTYPE *CreateUnorderedAccessView )( | ||
| 17662 | ID3D12Device6 * This, | ||
| 17663 | _In_opt_ ID3D12Resource *pResource, | ||
| 17664 | _In_opt_ ID3D12Resource *pCounterResource, | ||
| 17665 | _In_opt_ const D3D12_UNORDERED_ACCESS_VIEW_DESC *pDesc, | ||
| 17666 | _In_ D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor); | ||
| 17667 | |||
| 17668 | DECLSPEC_XFGVIRT(ID3D12Device, CreateRenderTargetView) | ||
| 17669 | void ( STDMETHODCALLTYPE *CreateRenderTargetView )( | ||
| 17670 | ID3D12Device6 * This, | ||
| 17671 | _In_opt_ ID3D12Resource *pResource, | ||
| 17672 | _In_opt_ const D3D12_RENDER_TARGET_VIEW_DESC *pDesc, | ||
| 17673 | _In_ D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor); | ||
| 17674 | |||
| 17675 | DECLSPEC_XFGVIRT(ID3D12Device, CreateDepthStencilView) | ||
| 17676 | void ( STDMETHODCALLTYPE *CreateDepthStencilView )( | ||
| 17677 | ID3D12Device6 * This, | ||
| 17678 | _In_opt_ ID3D12Resource *pResource, | ||
| 17679 | _In_opt_ const D3D12_DEPTH_STENCIL_VIEW_DESC *pDesc, | ||
| 17680 | _In_ D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor); | ||
| 17681 | |||
| 17682 | DECLSPEC_XFGVIRT(ID3D12Device, CreateSampler) | ||
| 17683 | void ( STDMETHODCALLTYPE *CreateSampler )( | ||
| 17684 | ID3D12Device6 * This, | ||
| 17685 | _In_ const D3D12_SAMPLER_DESC *pDesc, | ||
| 17686 | _In_ D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor); | ||
| 17687 | |||
| 17688 | DECLSPEC_XFGVIRT(ID3D12Device, CopyDescriptors) | ||
| 17689 | void ( STDMETHODCALLTYPE *CopyDescriptors )( | ||
| 17690 | ID3D12Device6 * This, | ||
| 17691 | _In_ UINT NumDestDescriptorRanges, | ||
| 17692 | _In_reads_(NumDestDescriptorRanges) const D3D12_CPU_DESCRIPTOR_HANDLE *pDestDescriptorRangeStarts, | ||
| 17693 | _In_reads_opt_(NumDestDescriptorRanges) const UINT *pDestDescriptorRangeSizes, | ||
| 17694 | _In_ UINT NumSrcDescriptorRanges, | ||
| 17695 | _In_reads_(NumSrcDescriptorRanges) const D3D12_CPU_DESCRIPTOR_HANDLE *pSrcDescriptorRangeStarts, | ||
| 17696 | _In_reads_opt_(NumSrcDescriptorRanges) const UINT *pSrcDescriptorRangeSizes, | ||
| 17697 | _In_ D3D12_DESCRIPTOR_HEAP_TYPE DescriptorHeapsType); | ||
| 17698 | |||
| 17699 | DECLSPEC_XFGVIRT(ID3D12Device, CopyDescriptorsSimple) | ||
| 17700 | void ( STDMETHODCALLTYPE *CopyDescriptorsSimple )( | ||
| 17701 | ID3D12Device6 * This, | ||
| 17702 | _In_ UINT NumDescriptors, | ||
| 17703 | _In_ D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptorRangeStart, | ||
| 17704 | _In_ D3D12_CPU_DESCRIPTOR_HANDLE SrcDescriptorRangeStart, | ||
| 17705 | _In_ D3D12_DESCRIPTOR_HEAP_TYPE DescriptorHeapsType); | ||
| 17706 | |||
| 17707 | DECLSPEC_XFGVIRT(ID3D12Device, GetResourceAllocationInfo) | ||
| 17708 | #if !defined(_WIN32) | ||
| 17709 | D3D12_RESOURCE_ALLOCATION_INFO ( STDMETHODCALLTYPE *GetResourceAllocationInfo )( | ||
| 17710 | ID3D12Device6 * This, | ||
| 17711 | _In_ UINT visibleMask, | ||
| 17712 | _In_ UINT numResourceDescs, | ||
| 17713 | _In_reads_(numResourceDescs) const D3D12_RESOURCE_DESC *pResourceDescs); | ||
| 17714 | |||
| 17715 | #else | ||
| 17716 | D3D12_RESOURCE_ALLOCATION_INFO *( STDMETHODCALLTYPE *GetResourceAllocationInfo )( | ||
| 17717 | ID3D12Device6 * This, | ||
| 17718 | D3D12_RESOURCE_ALLOCATION_INFO * RetVal, | ||
| 17719 | _In_ UINT visibleMask, | ||
| 17720 | _In_ UINT numResourceDescs, | ||
| 17721 | _In_reads_(numResourceDescs) const D3D12_RESOURCE_DESC *pResourceDescs); | ||
| 17722 | |||
| 17723 | #endif | ||
| 17724 | |||
| 17725 | DECLSPEC_XFGVIRT(ID3D12Device, GetCustomHeapProperties) | ||
| 17726 | #if !defined(_WIN32) | ||
| 17727 | D3D12_HEAP_PROPERTIES ( STDMETHODCALLTYPE *GetCustomHeapProperties )( | ||
| 17728 | ID3D12Device6 * This, | ||
| 17729 | _In_ UINT nodeMask, | ||
| 17730 | D3D12_HEAP_TYPE heapType); | ||
| 17731 | |||
| 17732 | #else | ||
| 17733 | D3D12_HEAP_PROPERTIES *( STDMETHODCALLTYPE *GetCustomHeapProperties )( | ||
| 17734 | ID3D12Device6 * This, | ||
| 17735 | D3D12_HEAP_PROPERTIES * RetVal, | ||
| 17736 | _In_ UINT nodeMask, | ||
| 17737 | D3D12_HEAP_TYPE heapType); | ||
| 17738 | |||
| 17739 | #endif | ||
| 17740 | |||
| 17741 | DECLSPEC_XFGVIRT(ID3D12Device, CreateCommittedResource) | ||
| 17742 | HRESULT ( STDMETHODCALLTYPE *CreateCommittedResource )( | ||
| 17743 | ID3D12Device6 * This, | ||
| 17744 | _In_ const D3D12_HEAP_PROPERTIES *pHeapProperties, | ||
| 17745 | D3D12_HEAP_FLAGS HeapFlags, | ||
| 17746 | _In_ const D3D12_RESOURCE_DESC *pDesc, | ||
| 17747 | D3D12_RESOURCE_STATES InitialResourceState, | ||
| 17748 | _In_opt_ const D3D12_CLEAR_VALUE *pOptimizedClearValue, | ||
| 17749 | REFIID riidResource, | ||
| 17750 | _COM_Outptr_opt_ void **ppvResource); | ||
| 17751 | |||
| 17752 | DECLSPEC_XFGVIRT(ID3D12Device, CreateHeap) | ||
| 17753 | HRESULT ( STDMETHODCALLTYPE *CreateHeap )( | ||
| 17754 | ID3D12Device6 * This, | ||
| 17755 | _In_ const D3D12_HEAP_DESC *pDesc, | ||
| 17756 | REFIID riid, | ||
| 17757 | _COM_Outptr_opt_ void **ppvHeap); | ||
| 17758 | |||
| 17759 | DECLSPEC_XFGVIRT(ID3D12Device, CreatePlacedResource) | ||
| 17760 | HRESULT ( STDMETHODCALLTYPE *CreatePlacedResource )( | ||
| 17761 | ID3D12Device6 * This, | ||
| 17762 | _In_ ID3D12Heap *pHeap, | ||
| 17763 | UINT64 HeapOffset, | ||
| 17764 | _In_ const D3D12_RESOURCE_DESC *pDesc, | ||
| 17765 | D3D12_RESOURCE_STATES InitialState, | ||
| 17766 | _In_opt_ const D3D12_CLEAR_VALUE *pOptimizedClearValue, | ||
| 17767 | REFIID riid, | ||
| 17768 | _COM_Outptr_opt_ void **ppvResource); | ||
| 17769 | |||
| 17770 | DECLSPEC_XFGVIRT(ID3D12Device, CreateReservedResource) | ||
| 17771 | HRESULT ( STDMETHODCALLTYPE *CreateReservedResource )( | ||
| 17772 | ID3D12Device6 * This, | ||
| 17773 | _In_ const D3D12_RESOURCE_DESC *pDesc, | ||
| 17774 | D3D12_RESOURCE_STATES InitialState, | ||
| 17775 | _In_opt_ const D3D12_CLEAR_VALUE *pOptimizedClearValue, | ||
| 17776 | REFIID riid, | ||
| 17777 | _COM_Outptr_opt_ void **ppvResource); | ||
| 17778 | |||
| 17779 | DECLSPEC_XFGVIRT(ID3D12Device, CreateSharedHandle) | ||
| 17780 | HRESULT ( STDMETHODCALLTYPE *CreateSharedHandle )( | ||
| 17781 | ID3D12Device6 * This, | ||
| 17782 | _In_ ID3D12DeviceChild *pObject, | ||
| 17783 | _In_opt_ const SECURITY_ATTRIBUTES *pAttributes, | ||
| 17784 | DWORD Access, | ||
| 17785 | _In_opt_ LPCWSTR Name, | ||
| 17786 | _Out_ HANDLE *pHandle); | ||
| 17787 | |||
| 17788 | DECLSPEC_XFGVIRT(ID3D12Device, OpenSharedHandle) | ||
| 17789 | HRESULT ( STDMETHODCALLTYPE *OpenSharedHandle )( | ||
| 17790 | ID3D12Device6 * This, | ||
| 17791 | _In_ HANDLE NTHandle, | ||
| 17792 | REFIID riid, | ||
| 17793 | _COM_Outptr_opt_ void **ppvObj); | ||
| 17794 | |||
| 17795 | DECLSPEC_XFGVIRT(ID3D12Device, OpenSharedHandleByName) | ||
| 17796 | HRESULT ( STDMETHODCALLTYPE *OpenSharedHandleByName )( | ||
| 17797 | ID3D12Device6 * This, | ||
| 17798 | _In_ LPCWSTR Name, | ||
| 17799 | DWORD Access, | ||
| 17800 | /* [annotation][out] */ | ||
| 17801 | _Out_ HANDLE *pNTHandle); | ||
| 17802 | |||
| 17803 | DECLSPEC_XFGVIRT(ID3D12Device, MakeResident) | ||
| 17804 | HRESULT ( STDMETHODCALLTYPE *MakeResident )( | ||
| 17805 | ID3D12Device6 * This, | ||
| 17806 | UINT NumObjects, | ||
| 17807 | _In_reads_(NumObjects) ID3D12Pageable *const *ppObjects); | ||
| 17808 | |||
| 17809 | DECLSPEC_XFGVIRT(ID3D12Device, Evict) | ||
| 17810 | HRESULT ( STDMETHODCALLTYPE *Evict )( | ||
| 17811 | ID3D12Device6 * This, | ||
| 17812 | UINT NumObjects, | ||
| 17813 | _In_reads_(NumObjects) ID3D12Pageable *const *ppObjects); | ||
| 17814 | |||
| 17815 | DECLSPEC_XFGVIRT(ID3D12Device, CreateFence) | ||
| 17816 | HRESULT ( STDMETHODCALLTYPE *CreateFence )( | ||
| 17817 | ID3D12Device6 * This, | ||
| 17818 | UINT64 InitialValue, | ||
| 17819 | D3D12_FENCE_FLAGS Flags, | ||
| 17820 | REFIID riid, | ||
| 17821 | _COM_Outptr_ void **ppFence); | ||
| 17822 | |||
| 17823 | DECLSPEC_XFGVIRT(ID3D12Device, GetDeviceRemovedReason) | ||
| 17824 | HRESULT ( STDMETHODCALLTYPE *GetDeviceRemovedReason )( | ||
| 17825 | ID3D12Device6 * This); | ||
| 17826 | |||
| 17827 | DECLSPEC_XFGVIRT(ID3D12Device, GetCopyableFootprints) | ||
| 17828 | void ( STDMETHODCALLTYPE *GetCopyableFootprints )( | ||
| 17829 | ID3D12Device6 * This, | ||
| 17830 | _In_ const D3D12_RESOURCE_DESC *pResourceDesc, | ||
| 17831 | _In_range_(0,D3D12_REQ_SUBRESOURCES) UINT FirstSubresource, | ||
| 17832 | _In_range_(0,D3D12_REQ_SUBRESOURCES-FirstSubresource) UINT NumSubresources, | ||
| 17833 | UINT64 BaseOffset, | ||
| 17834 | _Out_writes_opt_(NumSubresources) D3D12_PLACED_SUBRESOURCE_FOOTPRINT *pLayouts, | ||
| 17835 | _Out_writes_opt_(NumSubresources) UINT *pNumRows, | ||
| 17836 | _Out_writes_opt_(NumSubresources) UINT64 *pRowSizeInBytes, | ||
| 17837 | _Out_opt_ UINT64 *pTotalBytes); | ||
| 17838 | |||
| 17839 | DECLSPEC_XFGVIRT(ID3D12Device, CreateQueryHeap) | ||
| 17840 | HRESULT ( STDMETHODCALLTYPE *CreateQueryHeap )( | ||
| 17841 | ID3D12Device6 * This, | ||
| 17842 | _In_ const D3D12_QUERY_HEAP_DESC *pDesc, | ||
| 17843 | REFIID riid, | ||
| 17844 | _COM_Outptr_opt_ void **ppvHeap); | ||
| 17845 | |||
| 17846 | DECLSPEC_XFGVIRT(ID3D12Device, SetStablePowerState) | ||
| 17847 | HRESULT ( STDMETHODCALLTYPE *SetStablePowerState )( | ||
| 17848 | ID3D12Device6 * This, | ||
| 17849 | BOOL Enable); | ||
| 17850 | |||
| 17851 | DECLSPEC_XFGVIRT(ID3D12Device, CreateCommandSignature) | ||
| 17852 | HRESULT ( STDMETHODCALLTYPE *CreateCommandSignature )( | ||
| 17853 | ID3D12Device6 * This, | ||
| 17854 | _In_ const D3D12_COMMAND_SIGNATURE_DESC *pDesc, | ||
| 17855 | _In_opt_ ID3D12RootSignature *pRootSignature, | ||
| 17856 | REFIID riid, | ||
| 17857 | _COM_Outptr_opt_ void **ppvCommandSignature); | ||
| 17858 | |||
| 17859 | DECLSPEC_XFGVIRT(ID3D12Device, GetResourceTiling) | ||
| 17860 | void ( STDMETHODCALLTYPE *GetResourceTiling )( | ||
| 17861 | ID3D12Device6 * This, | ||
| 17862 | _In_ ID3D12Resource *pTiledResource, | ||
| 17863 | _Out_opt_ UINT *pNumTilesForEntireResource, | ||
| 17864 | _Out_opt_ D3D12_PACKED_MIP_INFO *pPackedMipDesc, | ||
| 17865 | _Out_opt_ D3D12_TILE_SHAPE *pStandardTileShapeForNonPackedMips, | ||
| 17866 | _Inout_opt_ UINT *pNumSubresourceTilings, | ||
| 17867 | _In_ UINT FirstSubresourceTilingToGet, | ||
| 17868 | _Out_writes_(*pNumSubresourceTilings) D3D12_SUBRESOURCE_TILING *pSubresourceTilingsForNonPackedMips); | ||
| 17869 | |||
| 17870 | DECLSPEC_XFGVIRT(ID3D12Device, GetAdapterLuid) | ||
| 17871 | #if !defined(_WIN32) | ||
| 17872 | LUID ( STDMETHODCALLTYPE *GetAdapterLuid )( | ||
| 17873 | ID3D12Device6 * This); | ||
| 17874 | |||
| 17875 | #else | ||
| 17876 | LUID *( STDMETHODCALLTYPE *GetAdapterLuid )( | ||
| 17877 | ID3D12Device6 * This, | ||
| 17878 | LUID * RetVal); | ||
| 17879 | |||
| 17880 | #endif | ||
| 17881 | |||
| 17882 | DECLSPEC_XFGVIRT(ID3D12Device1, CreatePipelineLibrary) | ||
| 17883 | HRESULT ( STDMETHODCALLTYPE *CreatePipelineLibrary )( | ||
| 17884 | ID3D12Device6 * This, | ||
| 17885 | _In_reads_(BlobLength) const void *pLibraryBlob, | ||
| 17886 | SIZE_T BlobLength, | ||
| 17887 | REFIID riid, | ||
| 17888 | _COM_Outptr_ void **ppPipelineLibrary); | ||
| 17889 | |||
| 17890 | DECLSPEC_XFGVIRT(ID3D12Device1, SetEventOnMultipleFenceCompletion) | ||
| 17891 | HRESULT ( STDMETHODCALLTYPE *SetEventOnMultipleFenceCompletion )( | ||
| 17892 | ID3D12Device6 * This, | ||
| 17893 | _In_reads_(NumFences) ID3D12Fence *const *ppFences, | ||
| 17894 | _In_reads_(NumFences) const UINT64 *pFenceValues, | ||
| 17895 | UINT NumFences, | ||
| 17896 | D3D12_MULTIPLE_FENCE_WAIT_FLAGS Flags, | ||
| 17897 | HANDLE hEvent); | ||
| 17898 | |||
| 17899 | DECLSPEC_XFGVIRT(ID3D12Device1, SetResidencyPriority) | ||
| 17900 | HRESULT ( STDMETHODCALLTYPE *SetResidencyPriority )( | ||
| 17901 | ID3D12Device6 * This, | ||
| 17902 | UINT NumObjects, | ||
| 17903 | _In_reads_(NumObjects) ID3D12Pageable *const *ppObjects, | ||
| 17904 | _In_reads_(NumObjects) const D3D12_RESIDENCY_PRIORITY *pPriorities); | ||
| 17905 | |||
| 17906 | DECLSPEC_XFGVIRT(ID3D12Device2, CreatePipelineState) | ||
| 17907 | HRESULT ( STDMETHODCALLTYPE *CreatePipelineState )( | ||
| 17908 | ID3D12Device6 * This, | ||
| 17909 | const D3D12_PIPELINE_STATE_STREAM_DESC *pDesc, | ||
| 17910 | REFIID riid, | ||
| 17911 | _COM_Outptr_ void **ppPipelineState); | ||
| 17912 | |||
| 17913 | DECLSPEC_XFGVIRT(ID3D12Device3, OpenExistingHeapFromAddress) | ||
| 17914 | HRESULT ( STDMETHODCALLTYPE *OpenExistingHeapFromAddress )( | ||
| 17915 | ID3D12Device6 * This, | ||
| 17916 | _In_ const void *pAddress, | ||
| 17917 | REFIID riid, | ||
| 17918 | _COM_Outptr_ void **ppvHeap); | ||
| 17919 | |||
| 17920 | DECLSPEC_XFGVIRT(ID3D12Device3, OpenExistingHeapFromFileMapping) | ||
| 17921 | HRESULT ( STDMETHODCALLTYPE *OpenExistingHeapFromFileMapping )( | ||
| 17922 | ID3D12Device6 * This, | ||
| 17923 | _In_ HANDLE hFileMapping, | ||
| 17924 | REFIID riid, | ||
| 17925 | _COM_Outptr_ void **ppvHeap); | ||
| 17926 | |||
| 17927 | DECLSPEC_XFGVIRT(ID3D12Device3, EnqueueMakeResident) | ||
| 17928 | HRESULT ( STDMETHODCALLTYPE *EnqueueMakeResident )( | ||
| 17929 | ID3D12Device6 * This, | ||
| 17930 | D3D12_RESIDENCY_FLAGS Flags, | ||
| 17931 | UINT NumObjects, | ||
| 17932 | _In_reads_(NumObjects) ID3D12Pageable *const *ppObjects, | ||
| 17933 | _In_ ID3D12Fence *pFenceToSignal, | ||
| 17934 | UINT64 FenceValueToSignal); | ||
| 17935 | |||
| 17936 | DECLSPEC_XFGVIRT(ID3D12Device4, CreateCommandList1) | ||
| 17937 | HRESULT ( STDMETHODCALLTYPE *CreateCommandList1 )( | ||
| 17938 | ID3D12Device6 * This, | ||
| 17939 | _In_ UINT nodeMask, | ||
| 17940 | _In_ D3D12_COMMAND_LIST_TYPE type, | ||
| 17941 | _In_ D3D12_COMMAND_LIST_FLAGS flags, | ||
| 17942 | REFIID riid, | ||
| 17943 | _COM_Outptr_ void **ppCommandList); | ||
| 17944 | |||
| 17945 | DECLSPEC_XFGVIRT(ID3D12Device4, CreateProtectedResourceSession) | ||
| 17946 | HRESULT ( STDMETHODCALLTYPE *CreateProtectedResourceSession )( | ||
| 17947 | ID3D12Device6 * This, | ||
| 17948 | _In_ const D3D12_PROTECTED_RESOURCE_SESSION_DESC *pDesc, | ||
| 17949 | _In_ REFIID riid, | ||
| 17950 | _COM_Outptr_ void **ppSession); | ||
| 17951 | |||
| 17952 | DECLSPEC_XFGVIRT(ID3D12Device4, CreateCommittedResource1) | ||
| 17953 | HRESULT ( STDMETHODCALLTYPE *CreateCommittedResource1 )( | ||
| 17954 | ID3D12Device6 * This, | ||
| 17955 | _In_ const D3D12_HEAP_PROPERTIES *pHeapProperties, | ||
| 17956 | D3D12_HEAP_FLAGS HeapFlags, | ||
| 17957 | _In_ const D3D12_RESOURCE_DESC *pDesc, | ||
| 17958 | D3D12_RESOURCE_STATES InitialResourceState, | ||
| 17959 | _In_opt_ const D3D12_CLEAR_VALUE *pOptimizedClearValue, | ||
| 17960 | _In_opt_ ID3D12ProtectedResourceSession *pProtectedSession, | ||
| 17961 | REFIID riidResource, | ||
| 17962 | _COM_Outptr_opt_ void **ppvResource); | ||
| 17963 | |||
| 17964 | DECLSPEC_XFGVIRT(ID3D12Device4, CreateHeap1) | ||
| 17965 | HRESULT ( STDMETHODCALLTYPE *CreateHeap1 )( | ||
| 17966 | ID3D12Device6 * This, | ||
| 17967 | _In_ const D3D12_HEAP_DESC *pDesc, | ||
| 17968 | _In_opt_ ID3D12ProtectedResourceSession *pProtectedSession, | ||
| 17969 | REFIID riid, | ||
| 17970 | _COM_Outptr_opt_ void **ppvHeap); | ||
| 17971 | |||
| 17972 | DECLSPEC_XFGVIRT(ID3D12Device4, CreateReservedResource1) | ||
| 17973 | HRESULT ( STDMETHODCALLTYPE *CreateReservedResource1 )( | ||
| 17974 | ID3D12Device6 * This, | ||
| 17975 | _In_ const D3D12_RESOURCE_DESC *pDesc, | ||
| 17976 | D3D12_RESOURCE_STATES InitialState, | ||
| 17977 | _In_opt_ const D3D12_CLEAR_VALUE *pOptimizedClearValue, | ||
| 17978 | _In_opt_ ID3D12ProtectedResourceSession *pProtectedSession, | ||
| 17979 | REFIID riid, | ||
| 17980 | _COM_Outptr_opt_ void **ppvResource); | ||
| 17981 | |||
| 17982 | DECLSPEC_XFGVIRT(ID3D12Device4, GetResourceAllocationInfo1) | ||
| 17983 | #if !defined(_WIN32) | ||
| 17984 | D3D12_RESOURCE_ALLOCATION_INFO ( STDMETHODCALLTYPE *GetResourceAllocationInfo1 )( | ||
| 17985 | ID3D12Device6 * This, | ||
| 17986 | UINT visibleMask, | ||
| 17987 | UINT numResourceDescs, | ||
| 17988 | _In_reads_(numResourceDescs) const D3D12_RESOURCE_DESC *pResourceDescs, | ||
| 17989 | _Out_writes_opt_(numResourceDescs) D3D12_RESOURCE_ALLOCATION_INFO1 *pResourceAllocationInfo1); | ||
| 17990 | |||
| 17991 | #else | ||
| 17992 | D3D12_RESOURCE_ALLOCATION_INFO *( STDMETHODCALLTYPE *GetResourceAllocationInfo1 )( | ||
| 17993 | ID3D12Device6 * This, | ||
| 17994 | D3D12_RESOURCE_ALLOCATION_INFO * RetVal, | ||
| 17995 | UINT visibleMask, | ||
| 17996 | UINT numResourceDescs, | ||
| 17997 | _In_reads_(numResourceDescs) const D3D12_RESOURCE_DESC *pResourceDescs, | ||
| 17998 | _Out_writes_opt_(numResourceDescs) D3D12_RESOURCE_ALLOCATION_INFO1 *pResourceAllocationInfo1); | ||
| 17999 | |||
| 18000 | #endif | ||
| 18001 | |||
| 18002 | DECLSPEC_XFGVIRT(ID3D12Device5, CreateLifetimeTracker) | ||
| 18003 | HRESULT ( STDMETHODCALLTYPE *CreateLifetimeTracker )( | ||
| 18004 | ID3D12Device6 * This, | ||
| 18005 | _In_ ID3D12LifetimeOwner *pOwner, | ||
| 18006 | REFIID riid, | ||
| 18007 | _COM_Outptr_ void **ppvTracker); | ||
| 18008 | |||
| 18009 | DECLSPEC_XFGVIRT(ID3D12Device5, RemoveDevice) | ||
| 18010 | void ( STDMETHODCALLTYPE *RemoveDevice )( | ||
| 18011 | ID3D12Device6 * This); | ||
| 18012 | |||
| 18013 | DECLSPEC_XFGVIRT(ID3D12Device5, EnumerateMetaCommands) | ||
| 18014 | HRESULT ( STDMETHODCALLTYPE *EnumerateMetaCommands )( | ||
| 18015 | ID3D12Device6 * This, | ||
| 18016 | _Inout_ UINT *pNumMetaCommands, | ||
| 18017 | _Out_writes_opt_(*pNumMetaCommands) D3D12_META_COMMAND_DESC *pDescs); | ||
| 18018 | |||
| 18019 | DECLSPEC_XFGVIRT(ID3D12Device5, EnumerateMetaCommandParameters) | ||
| 18020 | HRESULT ( STDMETHODCALLTYPE *EnumerateMetaCommandParameters )( | ||
| 18021 | ID3D12Device6 * This, | ||
| 18022 | _In_ REFGUID CommandId, | ||
| 18023 | _In_ D3D12_META_COMMAND_PARAMETER_STAGE Stage, | ||
| 18024 | _Out_opt_ UINT *pTotalStructureSizeInBytes, | ||
| 18025 | _Inout_ UINT *pParameterCount, | ||
| 18026 | _Out_writes_opt_(*pParameterCount) D3D12_META_COMMAND_PARAMETER_DESC *pParameterDescs); | ||
| 18027 | |||
| 18028 | DECLSPEC_XFGVIRT(ID3D12Device5, CreateMetaCommand) | ||
| 18029 | HRESULT ( STDMETHODCALLTYPE *CreateMetaCommand )( | ||
| 18030 | ID3D12Device6 * This, | ||
| 18031 | _In_ REFGUID CommandId, | ||
| 18032 | _In_ UINT NodeMask, | ||
| 18033 | _In_reads_bytes_opt_(CreationParametersDataSizeInBytes) const void *pCreationParametersData, | ||
| 18034 | _In_ SIZE_T CreationParametersDataSizeInBytes, | ||
| 18035 | REFIID riid, | ||
| 18036 | _COM_Outptr_ void **ppMetaCommand); | ||
| 18037 | |||
| 18038 | DECLSPEC_XFGVIRT(ID3D12Device5, CreateStateObject) | ||
| 18039 | HRESULT ( STDMETHODCALLTYPE *CreateStateObject )( | ||
| 18040 | ID3D12Device6 * This, | ||
| 18041 | const D3D12_STATE_OBJECT_DESC *pDesc, | ||
| 18042 | REFIID riid, | ||
| 18043 | _COM_Outptr_ void **ppStateObject); | ||
| 18044 | |||
| 18045 | DECLSPEC_XFGVIRT(ID3D12Device5, GetRaytracingAccelerationStructurePrebuildInfo) | ||
| 18046 | void ( STDMETHODCALLTYPE *GetRaytracingAccelerationStructurePrebuildInfo )( | ||
| 18047 | ID3D12Device6 * This, | ||
| 18048 | _In_ const D3D12_BUILD_RAYTRACING_ACCELERATION_STRUCTURE_INPUTS *pDesc, | ||
| 18049 | _Out_ D3D12_RAYTRACING_ACCELERATION_STRUCTURE_PREBUILD_INFO *pInfo); | ||
| 18050 | |||
| 18051 | DECLSPEC_XFGVIRT(ID3D12Device5, CheckDriverMatchingIdentifier) | ||
| 18052 | D3D12_DRIVER_MATCHING_IDENTIFIER_STATUS ( STDMETHODCALLTYPE *CheckDriverMatchingIdentifier )( | ||
| 18053 | ID3D12Device6 * This, | ||
| 18054 | _In_ D3D12_SERIALIZED_DATA_TYPE SerializedDataType, | ||
| 18055 | _In_ const D3D12_SERIALIZED_DATA_DRIVER_MATCHING_IDENTIFIER *pIdentifierToCheck); | ||
| 18056 | |||
| 18057 | DECLSPEC_XFGVIRT(ID3D12Device6, SetBackgroundProcessingMode) | ||
| 18058 | HRESULT ( STDMETHODCALLTYPE *SetBackgroundProcessingMode )( | ||
| 18059 | ID3D12Device6 * This, | ||
| 18060 | D3D12_BACKGROUND_PROCESSING_MODE Mode, | ||
| 18061 | D3D12_MEASUREMENTS_ACTION MeasurementsAction, | ||
| 18062 | _In_opt_ HANDLE hEventToSignalUponCompletion, | ||
| 18063 | _Out_opt_ BOOL *pbFurtherMeasurementsDesired); | ||
| 18064 | |||
| 18065 | END_INTERFACE | ||
| 18066 | } ID3D12Device6Vtbl; | ||
| 18067 | |||
| 18068 | interface ID3D12Device6 | ||
| 18069 | { | ||
| 18070 | CONST_VTBL struct ID3D12Device6Vtbl *lpVtbl; | ||
| 18071 | }; | ||
| 18072 | |||
| 18073 | |||
| 18074 | |||
| 18075 | #ifdef COBJMACROS | ||
| 18076 | |||
| 18077 | |||
| 18078 | #define ID3D12Device6_QueryInterface(This,riid,ppvObject) \ | ||
| 18079 | ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) | ||
| 18080 | |||
| 18081 | #define ID3D12Device6_AddRef(This) \ | ||
| 18082 | ( (This)->lpVtbl -> AddRef(This) ) | ||
| 18083 | |||
| 18084 | #define ID3D12Device6_Release(This) \ | ||
| 18085 | ( (This)->lpVtbl -> Release(This) ) | ||
| 18086 | |||
| 18087 | |||
| 18088 | #define ID3D12Device6_GetPrivateData(This,guid,pDataSize,pData) \ | ||
| 18089 | ( (This)->lpVtbl -> GetPrivateData(This,guid,pDataSize,pData) ) | ||
| 18090 | |||
| 18091 | #define ID3D12Device6_SetPrivateData(This,guid,DataSize,pData) \ | ||
| 18092 | ( (This)->lpVtbl -> SetPrivateData(This,guid,DataSize,pData) ) | ||
| 18093 | |||
| 18094 | #define ID3D12Device6_SetPrivateDataInterface(This,guid,pData) \ | ||
| 18095 | ( (This)->lpVtbl -> SetPrivateDataInterface(This,guid,pData) ) | ||
| 18096 | |||
| 18097 | #define ID3D12Device6_SetName(This,Name) \ | ||
| 18098 | ( (This)->lpVtbl -> SetName(This,Name) ) | ||
| 18099 | |||
| 18100 | |||
| 18101 | #define ID3D12Device6_GetNodeCount(This) \ | ||
| 18102 | ( (This)->lpVtbl -> GetNodeCount(This) ) | ||
| 18103 | |||
| 18104 | #define ID3D12Device6_CreateCommandQueue(This,pDesc,riid,ppCommandQueue) \ | ||
| 18105 | ( (This)->lpVtbl -> CreateCommandQueue(This,pDesc,riid,ppCommandQueue) ) | ||
| 18106 | |||
| 18107 | #define ID3D12Device6_CreateCommandAllocator(This,type,riid,ppCommandAllocator) \ | ||
| 18108 | ( (This)->lpVtbl -> CreateCommandAllocator(This,type,riid,ppCommandAllocator) ) | ||
| 18109 | |||
| 18110 | #define ID3D12Device6_CreateGraphicsPipelineState(This,pDesc,riid,ppPipelineState) \ | ||
| 18111 | ( (This)->lpVtbl -> CreateGraphicsPipelineState(This,pDesc,riid,ppPipelineState) ) | ||
| 18112 | |||
| 18113 | #define ID3D12Device6_CreateComputePipelineState(This,pDesc,riid,ppPipelineState) \ | ||
| 18114 | ( (This)->lpVtbl -> CreateComputePipelineState(This,pDesc,riid,ppPipelineState) ) | ||
| 18115 | |||
| 18116 | #define ID3D12Device6_CreateCommandList(This,nodeMask,type,pCommandAllocator,pInitialState,riid,ppCommandList) \ | ||
| 18117 | ( (This)->lpVtbl -> CreateCommandList(This,nodeMask,type,pCommandAllocator,pInitialState,riid,ppCommandList) ) | ||
| 18118 | |||
| 18119 | #define ID3D12Device6_CheckFeatureSupport(This,Feature,pFeatureSupportData,FeatureSupportDataSize) \ | ||
| 18120 | ( (This)->lpVtbl -> CheckFeatureSupport(This,Feature,pFeatureSupportData,FeatureSupportDataSize) ) | ||
| 18121 | |||
| 18122 | #define ID3D12Device6_CreateDescriptorHeap(This,pDescriptorHeapDesc,riid,ppvHeap) \ | ||
| 18123 | ( (This)->lpVtbl -> CreateDescriptorHeap(This,pDescriptorHeapDesc,riid,ppvHeap) ) | ||
| 18124 | |||
| 18125 | #define ID3D12Device6_GetDescriptorHandleIncrementSize(This,DescriptorHeapType) \ | ||
| 18126 | ( (This)->lpVtbl -> GetDescriptorHandleIncrementSize(This,DescriptorHeapType) ) | ||
| 18127 | |||
| 18128 | #define ID3D12Device6_CreateRootSignature(This,nodeMask,pBlobWithRootSignature,blobLengthInBytes,riid,ppvRootSignature) \ | ||
| 18129 | ( (This)->lpVtbl -> CreateRootSignature(This,nodeMask,pBlobWithRootSignature,blobLengthInBytes,riid,ppvRootSignature) ) | ||
| 18130 | |||
| 18131 | #define ID3D12Device6_CreateConstantBufferView(This,pDesc,DestDescriptor) \ | ||
| 18132 | ( (This)->lpVtbl -> CreateConstantBufferView(This,pDesc,DestDescriptor) ) | ||
| 18133 | |||
| 18134 | #define ID3D12Device6_CreateShaderResourceView(This,pResource,pDesc,DestDescriptor) \ | ||
| 18135 | ( (This)->lpVtbl -> CreateShaderResourceView(This,pResource,pDesc,DestDescriptor) ) | ||
| 18136 | |||
| 18137 | #define ID3D12Device6_CreateUnorderedAccessView(This,pResource,pCounterResource,pDesc,DestDescriptor) \ | ||
| 18138 | ( (This)->lpVtbl -> CreateUnorderedAccessView(This,pResource,pCounterResource,pDesc,DestDescriptor) ) | ||
| 18139 | |||
| 18140 | #define ID3D12Device6_CreateRenderTargetView(This,pResource,pDesc,DestDescriptor) \ | ||
| 18141 | ( (This)->lpVtbl -> CreateRenderTargetView(This,pResource,pDesc,DestDescriptor) ) | ||
| 18142 | |||
| 18143 | #define ID3D12Device6_CreateDepthStencilView(This,pResource,pDesc,DestDescriptor) \ | ||
| 18144 | ( (This)->lpVtbl -> CreateDepthStencilView(This,pResource,pDesc,DestDescriptor) ) | ||
| 18145 | |||
| 18146 | #define ID3D12Device6_CreateSampler(This,pDesc,DestDescriptor) \ | ||
| 18147 | ( (This)->lpVtbl -> CreateSampler(This,pDesc,DestDescriptor) ) | ||
| 18148 | |||
| 18149 | #define ID3D12Device6_CopyDescriptors(This,NumDestDescriptorRanges,pDestDescriptorRangeStarts,pDestDescriptorRangeSizes,NumSrcDescriptorRanges,pSrcDescriptorRangeStarts,pSrcDescriptorRangeSizes,DescriptorHeapsType) \ | ||
| 18150 | ( (This)->lpVtbl -> CopyDescriptors(This,NumDestDescriptorRanges,pDestDescriptorRangeStarts,pDestDescriptorRangeSizes,NumSrcDescriptorRanges,pSrcDescriptorRangeStarts,pSrcDescriptorRangeSizes,DescriptorHeapsType) ) | ||
| 18151 | |||
| 18152 | #define ID3D12Device6_CopyDescriptorsSimple(This,NumDescriptors,DestDescriptorRangeStart,SrcDescriptorRangeStart,DescriptorHeapsType) \ | ||
| 18153 | ( (This)->lpVtbl -> CopyDescriptorsSimple(This,NumDescriptors,DestDescriptorRangeStart,SrcDescriptorRangeStart,DescriptorHeapsType) ) | ||
| 18154 | #if !defined(_WIN32) | ||
| 18155 | |||
| 18156 | #define ID3D12Device6_GetResourceAllocationInfo(This,visibleMask,numResourceDescs,pResourceDescs) \ | ||
| 18157 | ( (This)->lpVtbl -> GetResourceAllocationInfo(This,visibleMask,numResourceDescs,pResourceDescs) ) | ||
| 18158 | #else | ||
| 18159 | #define ID3D12Device6_GetResourceAllocationInfo(This,RetVal,visibleMask,numResourceDescs,pResourceDescs) \ | ||
| 18160 | ( (This)->lpVtbl -> GetResourceAllocationInfo(This,RetVal,visibleMask,numResourceDescs,pResourceDescs) ) | ||
| 18161 | #endif | ||
| 18162 | #if !defined(_WIN32) | ||
| 18163 | |||
| 18164 | #define ID3D12Device6_GetCustomHeapProperties(This,nodeMask,heapType) \ | ||
| 18165 | ( (This)->lpVtbl -> GetCustomHeapProperties(This,nodeMask,heapType) ) | ||
| 18166 | #else | ||
| 18167 | #define ID3D12Device6_GetCustomHeapProperties(This,RetVal,nodeMask,heapType) \ | ||
| 18168 | ( (This)->lpVtbl -> GetCustomHeapProperties(This,RetVal,nodeMask,heapType) ) | ||
| 18169 | #endif | ||
| 18170 | |||
| 18171 | #define ID3D12Device6_CreateCommittedResource(This,pHeapProperties,HeapFlags,pDesc,InitialResourceState,pOptimizedClearValue,riidResource,ppvResource) \ | ||
| 18172 | ( (This)->lpVtbl -> CreateCommittedResource(This,pHeapProperties,HeapFlags,pDesc,InitialResourceState,pOptimizedClearValue,riidResource,ppvResource) ) | ||
| 18173 | |||
| 18174 | #define ID3D12Device6_CreateHeap(This,pDesc,riid,ppvHeap) \ | ||
| 18175 | ( (This)->lpVtbl -> CreateHeap(This,pDesc,riid,ppvHeap) ) | ||
| 18176 | |||
| 18177 | #define ID3D12Device6_CreatePlacedResource(This,pHeap,HeapOffset,pDesc,InitialState,pOptimizedClearValue,riid,ppvResource) \ | ||
| 18178 | ( (This)->lpVtbl -> CreatePlacedResource(This,pHeap,HeapOffset,pDesc,InitialState,pOptimizedClearValue,riid,ppvResource) ) | ||
| 18179 | |||
| 18180 | #define ID3D12Device6_CreateReservedResource(This,pDesc,InitialState,pOptimizedClearValue,riid,ppvResource) \ | ||
| 18181 | ( (This)->lpVtbl -> CreateReservedResource(This,pDesc,InitialState,pOptimizedClearValue,riid,ppvResource) ) | ||
| 18182 | |||
| 18183 | #define ID3D12Device6_CreateSharedHandle(This,pObject,pAttributes,Access,Name,pHandle) \ | ||
| 18184 | ( (This)->lpVtbl -> CreateSharedHandle(This,pObject,pAttributes,Access,Name,pHandle) ) | ||
| 18185 | |||
| 18186 | #define ID3D12Device6_OpenSharedHandle(This,NTHandle,riid,ppvObj) \ | ||
| 18187 | ( (This)->lpVtbl -> OpenSharedHandle(This,NTHandle,riid,ppvObj) ) | ||
| 18188 | |||
| 18189 | #define ID3D12Device6_OpenSharedHandleByName(This,Name,Access,pNTHandle) \ | ||
| 18190 | ( (This)->lpVtbl -> OpenSharedHandleByName(This,Name,Access,pNTHandle) ) | ||
| 18191 | |||
| 18192 | #define ID3D12Device6_MakeResident(This,NumObjects,ppObjects) \ | ||
| 18193 | ( (This)->lpVtbl -> MakeResident(This,NumObjects,ppObjects) ) | ||
| 18194 | |||
| 18195 | #define ID3D12Device6_Evict(This,NumObjects,ppObjects) \ | ||
| 18196 | ( (This)->lpVtbl -> Evict(This,NumObjects,ppObjects) ) | ||
| 18197 | |||
| 18198 | #define ID3D12Device6_CreateFence(This,InitialValue,Flags,riid,ppFence) \ | ||
| 18199 | ( (This)->lpVtbl -> CreateFence(This,InitialValue,Flags,riid,ppFence) ) | ||
| 18200 | |||
| 18201 | #define ID3D12Device6_GetDeviceRemovedReason(This) \ | ||
| 18202 | ( (This)->lpVtbl -> GetDeviceRemovedReason(This) ) | ||
| 18203 | |||
| 18204 | #define ID3D12Device6_GetCopyableFootprints(This,pResourceDesc,FirstSubresource,NumSubresources,BaseOffset,pLayouts,pNumRows,pRowSizeInBytes,pTotalBytes) \ | ||
| 18205 | ( (This)->lpVtbl -> GetCopyableFootprints(This,pResourceDesc,FirstSubresource,NumSubresources,BaseOffset,pLayouts,pNumRows,pRowSizeInBytes,pTotalBytes) ) | ||
| 18206 | |||
| 18207 | #define ID3D12Device6_CreateQueryHeap(This,pDesc,riid,ppvHeap) \ | ||
| 18208 | ( (This)->lpVtbl -> CreateQueryHeap(This,pDesc,riid,ppvHeap) ) | ||
| 18209 | |||
| 18210 | #define ID3D12Device6_SetStablePowerState(This,Enable) \ | ||
| 18211 | ( (This)->lpVtbl -> SetStablePowerState(This,Enable) ) | ||
| 18212 | |||
| 18213 | #define ID3D12Device6_CreateCommandSignature(This,pDesc,pRootSignature,riid,ppvCommandSignature) \ | ||
| 18214 | ( (This)->lpVtbl -> CreateCommandSignature(This,pDesc,pRootSignature,riid,ppvCommandSignature) ) | ||
| 18215 | |||
| 18216 | #define ID3D12Device6_GetResourceTiling(This,pTiledResource,pNumTilesForEntireResource,pPackedMipDesc,pStandardTileShapeForNonPackedMips,pNumSubresourceTilings,FirstSubresourceTilingToGet,pSubresourceTilingsForNonPackedMips) \ | ||
| 18217 | ( (This)->lpVtbl -> GetResourceTiling(This,pTiledResource,pNumTilesForEntireResource,pPackedMipDesc,pStandardTileShapeForNonPackedMips,pNumSubresourceTilings,FirstSubresourceTilingToGet,pSubresourceTilingsForNonPackedMips) ) | ||
| 18218 | #if !defined(_WIN32) | ||
| 18219 | |||
| 18220 | #define ID3D12Device6_GetAdapterLuid(This) \ | ||
| 18221 | ( (This)->lpVtbl -> GetAdapterLuid(This) ) | ||
| 18222 | #else | ||
| 18223 | #define ID3D12Device6_GetAdapterLuid(This,RetVal) \ | ||
| 18224 | ( (This)->lpVtbl -> GetAdapterLuid(This,RetVal) ) | ||
| 18225 | #endif | ||
| 18226 | |||
| 18227 | |||
| 18228 | #define ID3D12Device6_CreatePipelineLibrary(This,pLibraryBlob,BlobLength,riid,ppPipelineLibrary) \ | ||
| 18229 | ( (This)->lpVtbl -> CreatePipelineLibrary(This,pLibraryBlob,BlobLength,riid,ppPipelineLibrary) ) | ||
| 18230 | |||
| 18231 | #define ID3D12Device6_SetEventOnMultipleFenceCompletion(This,ppFences,pFenceValues,NumFences,Flags,hEvent) \ | ||
| 18232 | ( (This)->lpVtbl -> SetEventOnMultipleFenceCompletion(This,ppFences,pFenceValues,NumFences,Flags,hEvent) ) | ||
| 18233 | |||
| 18234 | #define ID3D12Device6_SetResidencyPriority(This,NumObjects,ppObjects,pPriorities) \ | ||
| 18235 | ( (This)->lpVtbl -> SetResidencyPriority(This,NumObjects,ppObjects,pPriorities) ) | ||
| 18236 | |||
| 18237 | |||
| 18238 | #define ID3D12Device6_CreatePipelineState(This,pDesc,riid,ppPipelineState) \ | ||
| 18239 | ( (This)->lpVtbl -> CreatePipelineState(This,pDesc,riid,ppPipelineState) ) | ||
| 18240 | |||
| 18241 | |||
| 18242 | #define ID3D12Device6_OpenExistingHeapFromAddress(This,pAddress,riid,ppvHeap) \ | ||
| 18243 | ( (This)->lpVtbl -> OpenExistingHeapFromAddress(This,pAddress,riid,ppvHeap) ) | ||
| 18244 | |||
| 18245 | #define ID3D12Device6_OpenExistingHeapFromFileMapping(This,hFileMapping,riid,ppvHeap) \ | ||
| 18246 | ( (This)->lpVtbl -> OpenExistingHeapFromFileMapping(This,hFileMapping,riid,ppvHeap) ) | ||
| 18247 | |||
| 18248 | #define ID3D12Device6_EnqueueMakeResident(This,Flags,NumObjects,ppObjects,pFenceToSignal,FenceValueToSignal) \ | ||
| 18249 | ( (This)->lpVtbl -> EnqueueMakeResident(This,Flags,NumObjects,ppObjects,pFenceToSignal,FenceValueToSignal) ) | ||
| 18250 | |||
| 18251 | |||
| 18252 | #define ID3D12Device6_CreateCommandList1(This,nodeMask,type,flags,riid,ppCommandList) \ | ||
| 18253 | ( (This)->lpVtbl -> CreateCommandList1(This,nodeMask,type,flags,riid,ppCommandList) ) | ||
| 18254 | |||
| 18255 | #define ID3D12Device6_CreateProtectedResourceSession(This,pDesc,riid,ppSession) \ | ||
| 18256 | ( (This)->lpVtbl -> CreateProtectedResourceSession(This,pDesc,riid,ppSession) ) | ||
| 18257 | |||
| 18258 | #define ID3D12Device6_CreateCommittedResource1(This,pHeapProperties,HeapFlags,pDesc,InitialResourceState,pOptimizedClearValue,pProtectedSession,riidResource,ppvResource) \ | ||
| 18259 | ( (This)->lpVtbl -> CreateCommittedResource1(This,pHeapProperties,HeapFlags,pDesc,InitialResourceState,pOptimizedClearValue,pProtectedSession,riidResource,ppvResource) ) | ||
| 18260 | |||
| 18261 | #define ID3D12Device6_CreateHeap1(This,pDesc,pProtectedSession,riid,ppvHeap) \ | ||
| 18262 | ( (This)->lpVtbl -> CreateHeap1(This,pDesc,pProtectedSession,riid,ppvHeap) ) | ||
| 18263 | |||
| 18264 | #define ID3D12Device6_CreateReservedResource1(This,pDesc,InitialState,pOptimizedClearValue,pProtectedSession,riid,ppvResource) \ | ||
| 18265 | ( (This)->lpVtbl -> CreateReservedResource1(This,pDesc,InitialState,pOptimizedClearValue,pProtectedSession,riid,ppvResource) ) | ||
| 18266 | #if !defined(_WIN32) | ||
| 18267 | |||
| 18268 | #define ID3D12Device6_GetResourceAllocationInfo1(This,visibleMask,numResourceDescs,pResourceDescs,pResourceAllocationInfo1) \ | ||
| 18269 | ( (This)->lpVtbl -> GetResourceAllocationInfo1(This,visibleMask,numResourceDescs,pResourceDescs,pResourceAllocationInfo1) ) | ||
| 18270 | #else | ||
| 18271 | #define ID3D12Device6_GetResourceAllocationInfo1(This,RetVal,visibleMask,numResourceDescs,pResourceDescs,pResourceAllocationInfo1) \ | ||
| 18272 | ( (This)->lpVtbl -> GetResourceAllocationInfo1(This,RetVal,visibleMask,numResourceDescs,pResourceDescs,pResourceAllocationInfo1) ) | ||
| 18273 | #endif | ||
| 18274 | |||
| 18275 | |||
| 18276 | #define ID3D12Device6_CreateLifetimeTracker(This,pOwner,riid,ppvTracker) \ | ||
| 18277 | ( (This)->lpVtbl -> CreateLifetimeTracker(This,pOwner,riid,ppvTracker) ) | ||
| 18278 | |||
| 18279 | #define ID3D12Device6_RemoveDevice(This) \ | ||
| 18280 | ( (This)->lpVtbl -> RemoveDevice(This) ) | ||
| 18281 | |||
| 18282 | #define ID3D12Device6_EnumerateMetaCommands(This,pNumMetaCommands,pDescs) \ | ||
| 18283 | ( (This)->lpVtbl -> EnumerateMetaCommands(This,pNumMetaCommands,pDescs) ) | ||
| 18284 | |||
| 18285 | #define ID3D12Device6_EnumerateMetaCommandParameters(This,CommandId,Stage,pTotalStructureSizeInBytes,pParameterCount,pParameterDescs) \ | ||
| 18286 | ( (This)->lpVtbl -> EnumerateMetaCommandParameters(This,CommandId,Stage,pTotalStructureSizeInBytes,pParameterCount,pParameterDescs) ) | ||
| 18287 | |||
| 18288 | #define ID3D12Device6_CreateMetaCommand(This,CommandId,NodeMask,pCreationParametersData,CreationParametersDataSizeInBytes,riid,ppMetaCommand) \ | ||
| 18289 | ( (This)->lpVtbl -> CreateMetaCommand(This,CommandId,NodeMask,pCreationParametersData,CreationParametersDataSizeInBytes,riid,ppMetaCommand) ) | ||
| 18290 | |||
| 18291 | #define ID3D12Device6_CreateStateObject(This,pDesc,riid,ppStateObject) \ | ||
| 18292 | ( (This)->lpVtbl -> CreateStateObject(This,pDesc,riid,ppStateObject) ) | ||
| 18293 | |||
| 18294 | #define ID3D12Device6_GetRaytracingAccelerationStructurePrebuildInfo(This,pDesc,pInfo) \ | ||
| 18295 | ( (This)->lpVtbl -> GetRaytracingAccelerationStructurePrebuildInfo(This,pDesc,pInfo) ) | ||
| 18296 | |||
| 18297 | #define ID3D12Device6_CheckDriverMatchingIdentifier(This,SerializedDataType,pIdentifierToCheck) \ | ||
| 18298 | ( (This)->lpVtbl -> CheckDriverMatchingIdentifier(This,SerializedDataType,pIdentifierToCheck) ) | ||
| 18299 | |||
| 18300 | |||
| 18301 | #define ID3D12Device6_SetBackgroundProcessingMode(This,Mode,MeasurementsAction,hEventToSignalUponCompletion,pbFurtherMeasurementsDesired) \ | ||
| 18302 | ( (This)->lpVtbl -> SetBackgroundProcessingMode(This,Mode,MeasurementsAction,hEventToSignalUponCompletion,pbFurtherMeasurementsDesired) ) | ||
| 18303 | |||
| 18304 | #endif /* COBJMACROS */ | ||
| 18305 | |||
| 18306 | |||
| 18307 | #endif /* C style interface */ | ||
| 18308 | |||
| 18309 | |||
| 18310 | |||
| 18311 | |||
| 18312 | #endif /* __ID3D12Device6_INTERFACE_DEFINED__ */ | ||
| 18313 | |||
| 18314 | |||
| 18315 | /* interface __MIDL_itf_d3d12_0000_0047 */ | ||
| 18316 | /* [local] */ | ||
| 18317 | |||
| 18318 | DEFINE_GUID(D3D12_PROTECTED_RESOURCES_SESSION_HARDWARE_PROTECTED, 0x62B0084E, 0xC70E, 0x4DAA, 0xA1, 0x09, 0x30, 0xFF, 0x8D, 0x5A, 0x04, 0x82); | ||
| 18319 | typedef struct D3D12_FEATURE_DATA_PROTECTED_RESOURCE_SESSION_TYPE_COUNT | ||
| 18320 | { | ||
| 18321 | UINT NodeIndex; | ||
| 18322 | UINT Count; | ||
| 18323 | } D3D12_FEATURE_DATA_PROTECTED_RESOURCE_SESSION_TYPE_COUNT; | ||
| 18324 | |||
| 18325 | typedef struct D3D12_FEATURE_DATA_PROTECTED_RESOURCE_SESSION_TYPES | ||
| 18326 | { | ||
| 18327 | UINT NodeIndex; | ||
| 18328 | UINT Count; | ||
| 18329 | GUID *pTypes; | ||
| 18330 | } D3D12_FEATURE_DATA_PROTECTED_RESOURCE_SESSION_TYPES; | ||
| 18331 | |||
| 18332 | typedef struct D3D12_PROTECTED_RESOURCE_SESSION_DESC1 | ||
| 18333 | { | ||
| 18334 | UINT NodeMask; | ||
| 18335 | D3D12_PROTECTED_RESOURCE_SESSION_FLAGS Flags; | ||
| 18336 | GUID ProtectionType; | ||
| 18337 | } D3D12_PROTECTED_RESOURCE_SESSION_DESC1; | ||
| 18338 | |||
| 18339 | |||
| 18340 | |||
| 18341 | extern RPC_IF_HANDLE __MIDL_itf_d3d12_0000_0047_v0_0_c_ifspec; | ||
| 18342 | extern RPC_IF_HANDLE __MIDL_itf_d3d12_0000_0047_v0_0_s_ifspec; | ||
| 18343 | |||
| 18344 | #ifndef __ID3D12ProtectedResourceSession1_INTERFACE_DEFINED__ | ||
| 18345 | #define __ID3D12ProtectedResourceSession1_INTERFACE_DEFINED__ | ||
| 18346 | |||
| 18347 | /* interface ID3D12ProtectedResourceSession1 */ | ||
| 18348 | /* [unique][local][object][uuid] */ | ||
| 18349 | |||
| 18350 | |||
| 18351 | EXTERN_C const IID IID_ID3D12ProtectedResourceSession1; | ||
| 18352 | |||
| 18353 | #if defined(__cplusplus) && !defined(CINTERFACE) | ||
| 18354 | |||
| 18355 | MIDL_INTERFACE("D6F12DD6-76FB-406E-8961-4296EEFC0409") | ||
| 18356 | ID3D12ProtectedResourceSession1 : public ID3D12ProtectedResourceSession | ||
| 18357 | { | ||
| 18358 | public: | ||
| 18359 | #if defined(_MSC_VER) || !defined(_WIN32) | ||
| 18360 | virtual D3D12_PROTECTED_RESOURCE_SESSION_DESC1 STDMETHODCALLTYPE GetDesc1( void) = 0; | ||
| 18361 | #else | ||
| 18362 | virtual D3D12_PROTECTED_RESOURCE_SESSION_DESC1 *STDMETHODCALLTYPE GetDesc1( | ||
| 18363 | D3D12_PROTECTED_RESOURCE_SESSION_DESC1 * RetVal) = 0; | ||
| 18364 | #endif | ||
| 18365 | |||
| 18366 | }; | ||
| 18367 | |||
| 18368 | |||
| 18369 | #else /* C style interface */ | ||
| 18370 | |||
| 18371 | typedef struct ID3D12ProtectedResourceSession1Vtbl | ||
| 18372 | { | ||
| 18373 | BEGIN_INTERFACE | ||
| 18374 | |||
| 18375 | DECLSPEC_XFGVIRT(IUnknown, QueryInterface) | ||
| 18376 | HRESULT ( STDMETHODCALLTYPE *QueryInterface )( | ||
| 18377 | ID3D12ProtectedResourceSession1 * This, | ||
| 18378 | REFIID riid, | ||
| 18379 | _COM_Outptr_ void **ppvObject); | ||
| 18380 | |||
| 18381 | DECLSPEC_XFGVIRT(IUnknown, AddRef) | ||
| 18382 | ULONG ( STDMETHODCALLTYPE *AddRef )( | ||
| 18383 | ID3D12ProtectedResourceSession1 * This); | ||
| 18384 | |||
| 18385 | DECLSPEC_XFGVIRT(IUnknown, Release) | ||
| 18386 | ULONG ( STDMETHODCALLTYPE *Release )( | ||
| 18387 | ID3D12ProtectedResourceSession1 * This); | ||
| 18388 | |||
| 18389 | DECLSPEC_XFGVIRT(ID3D12Object, GetPrivateData) | ||
| 18390 | HRESULT ( STDMETHODCALLTYPE *GetPrivateData )( | ||
| 18391 | ID3D12ProtectedResourceSession1 * This, | ||
| 18392 | _In_ REFGUID guid, | ||
| 18393 | _Inout_ UINT *pDataSize, | ||
| 18394 | _Out_writes_bytes_opt_( *pDataSize ) void *pData); | ||
| 18395 | |||
| 18396 | DECLSPEC_XFGVIRT(ID3D12Object, SetPrivateData) | ||
| 18397 | HRESULT ( STDMETHODCALLTYPE *SetPrivateData )( | ||
| 18398 | ID3D12ProtectedResourceSession1 * This, | ||
| 18399 | _In_ REFGUID guid, | ||
| 18400 | _In_ UINT DataSize, | ||
| 18401 | _In_reads_bytes_opt_( DataSize ) const void *pData); | ||
| 18402 | |||
| 18403 | DECLSPEC_XFGVIRT(ID3D12Object, SetPrivateDataInterface) | ||
| 18404 | HRESULT ( STDMETHODCALLTYPE *SetPrivateDataInterface )( | ||
| 18405 | ID3D12ProtectedResourceSession1 * This, | ||
| 18406 | _In_ REFGUID guid, | ||
| 18407 | _In_opt_ const IUnknown *pData); | ||
| 18408 | |||
| 18409 | DECLSPEC_XFGVIRT(ID3D12Object, SetName) | ||
| 18410 | HRESULT ( STDMETHODCALLTYPE *SetName )( | ||
| 18411 | ID3D12ProtectedResourceSession1 * This, | ||
| 18412 | _In_z_ LPCWSTR Name); | ||
| 18413 | |||
| 18414 | DECLSPEC_XFGVIRT(ID3D12DeviceChild, GetDevice) | ||
| 18415 | HRESULT ( STDMETHODCALLTYPE *GetDevice )( | ||
| 18416 | ID3D12ProtectedResourceSession1 * This, | ||
| 18417 | REFIID riid, | ||
| 18418 | _COM_Outptr_opt_ void **ppvDevice); | ||
| 18419 | |||
| 18420 | DECLSPEC_XFGVIRT(ID3D12ProtectedSession, GetStatusFence) | ||
| 18421 | HRESULT ( STDMETHODCALLTYPE *GetStatusFence )( | ||
| 18422 | ID3D12ProtectedResourceSession1 * This, | ||
| 18423 | REFIID riid, | ||
| 18424 | _COM_Outptr_opt_ void **ppFence); | ||
| 18425 | |||
| 18426 | DECLSPEC_XFGVIRT(ID3D12ProtectedSession, GetSessionStatus) | ||
| 18427 | D3D12_PROTECTED_SESSION_STATUS ( STDMETHODCALLTYPE *GetSessionStatus )( | ||
| 18428 | ID3D12ProtectedResourceSession1 * This); | ||
| 18429 | |||
| 18430 | DECLSPEC_XFGVIRT(ID3D12ProtectedResourceSession, GetDesc) | ||
| 18431 | #if !defined(_WIN32) | ||
| 18432 | D3D12_PROTECTED_RESOURCE_SESSION_DESC ( STDMETHODCALLTYPE *GetDesc )( | ||
| 18433 | ID3D12ProtectedResourceSession1 * This); | ||
| 18434 | |||
| 18435 | #else | ||
| 18436 | D3D12_PROTECTED_RESOURCE_SESSION_DESC *( STDMETHODCALLTYPE *GetDesc )( | ||
| 18437 | ID3D12ProtectedResourceSession1 * This, | ||
| 18438 | D3D12_PROTECTED_RESOURCE_SESSION_DESC * RetVal); | ||
| 18439 | |||
| 18440 | #endif | ||
| 18441 | |||
| 18442 | DECLSPEC_XFGVIRT(ID3D12ProtectedResourceSession1, GetDesc1) | ||
| 18443 | #if !defined(_WIN32) | ||
| 18444 | D3D12_PROTECTED_RESOURCE_SESSION_DESC1 ( STDMETHODCALLTYPE *GetDesc1 )( | ||
| 18445 | ID3D12ProtectedResourceSession1 * This); | ||
| 18446 | |||
| 18447 | #else | ||
| 18448 | D3D12_PROTECTED_RESOURCE_SESSION_DESC1 *( STDMETHODCALLTYPE *GetDesc1 )( | ||
| 18449 | ID3D12ProtectedResourceSession1 * This, | ||
| 18450 | D3D12_PROTECTED_RESOURCE_SESSION_DESC1 * RetVal); | ||
| 18451 | |||
| 18452 | #endif | ||
| 18453 | |||
| 18454 | END_INTERFACE | ||
| 18455 | } ID3D12ProtectedResourceSession1Vtbl; | ||
| 18456 | |||
| 18457 | interface ID3D12ProtectedResourceSession1 | ||
| 18458 | { | ||
| 18459 | CONST_VTBL struct ID3D12ProtectedResourceSession1Vtbl *lpVtbl; | ||
| 18460 | }; | ||
| 18461 | |||
| 18462 | |||
| 18463 | |||
| 18464 | #ifdef COBJMACROS | ||
| 18465 | |||
| 18466 | |||
| 18467 | #define ID3D12ProtectedResourceSession1_QueryInterface(This,riid,ppvObject) \ | ||
| 18468 | ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) | ||
| 18469 | |||
| 18470 | #define ID3D12ProtectedResourceSession1_AddRef(This) \ | ||
| 18471 | ( (This)->lpVtbl -> AddRef(This) ) | ||
| 18472 | |||
| 18473 | #define ID3D12ProtectedResourceSession1_Release(This) \ | ||
| 18474 | ( (This)->lpVtbl -> Release(This) ) | ||
| 18475 | |||
| 18476 | |||
| 18477 | #define ID3D12ProtectedResourceSession1_GetPrivateData(This,guid,pDataSize,pData) \ | ||
| 18478 | ( (This)->lpVtbl -> GetPrivateData(This,guid,pDataSize,pData) ) | ||
| 18479 | |||
| 18480 | #define ID3D12ProtectedResourceSession1_SetPrivateData(This,guid,DataSize,pData) \ | ||
| 18481 | ( (This)->lpVtbl -> SetPrivateData(This,guid,DataSize,pData) ) | ||
| 18482 | |||
| 18483 | #define ID3D12ProtectedResourceSession1_SetPrivateDataInterface(This,guid,pData) \ | ||
| 18484 | ( (This)->lpVtbl -> SetPrivateDataInterface(This,guid,pData) ) | ||
| 18485 | |||
| 18486 | #define ID3D12ProtectedResourceSession1_SetName(This,Name) \ | ||
| 18487 | ( (This)->lpVtbl -> SetName(This,Name) ) | ||
| 18488 | |||
| 18489 | |||
| 18490 | #define ID3D12ProtectedResourceSession1_GetDevice(This,riid,ppvDevice) \ | ||
| 18491 | ( (This)->lpVtbl -> GetDevice(This,riid,ppvDevice) ) | ||
| 18492 | |||
| 18493 | |||
| 18494 | #define ID3D12ProtectedResourceSession1_GetStatusFence(This,riid,ppFence) \ | ||
| 18495 | ( (This)->lpVtbl -> GetStatusFence(This,riid,ppFence) ) | ||
| 18496 | |||
| 18497 | #define ID3D12ProtectedResourceSession1_GetSessionStatus(This) \ | ||
| 18498 | ( (This)->lpVtbl -> GetSessionStatus(This) ) | ||
| 18499 | |||
| 18500 | #if !defined(_WIN32) | ||
| 18501 | |||
| 18502 | #define ID3D12ProtectedResourceSession1_GetDesc(This) \ | ||
| 18503 | ( (This)->lpVtbl -> GetDesc(This) ) | ||
| 18504 | #else | ||
| 18505 | #define ID3D12ProtectedResourceSession1_GetDesc(This,RetVal) \ | ||
| 18506 | ( (This)->lpVtbl -> GetDesc(This,RetVal) ) | ||
| 18507 | #endif | ||
| 18508 | |||
| 18509 | #if !defined(_WIN32) | ||
| 18510 | |||
| 18511 | #define ID3D12ProtectedResourceSession1_GetDesc1(This) \ | ||
| 18512 | ( (This)->lpVtbl -> GetDesc1(This) ) | ||
| 18513 | #else | ||
| 18514 | #define ID3D12ProtectedResourceSession1_GetDesc1(This,RetVal) \ | ||
| 18515 | ( (This)->lpVtbl -> GetDesc1(This,RetVal) ) | ||
| 18516 | #endif | ||
| 18517 | |||
| 18518 | #endif /* COBJMACROS */ | ||
| 18519 | |||
| 18520 | |||
| 18521 | #endif /* C style interface */ | ||
| 18522 | |||
| 18523 | |||
| 18524 | |||
| 18525 | |||
| 18526 | #endif /* __ID3D12ProtectedResourceSession1_INTERFACE_DEFINED__ */ | ||
| 18527 | |||
| 18528 | |||
| 18529 | #ifndef __ID3D12Device7_INTERFACE_DEFINED__ | ||
| 18530 | #define __ID3D12Device7_INTERFACE_DEFINED__ | ||
| 18531 | |||
| 18532 | /* interface ID3D12Device7 */ | ||
| 18533 | /* [unique][local][object][uuid] */ | ||
| 18534 | |||
| 18535 | |||
| 18536 | EXTERN_C const IID IID_ID3D12Device7; | ||
| 18537 | |||
| 18538 | #if defined(__cplusplus) && !defined(CINTERFACE) | ||
| 18539 | |||
| 18540 | MIDL_INTERFACE("5c014b53-68a1-4b9b-8bd1-dd6046b9358b") | ||
| 18541 | ID3D12Device7 : public ID3D12Device6 | ||
| 18542 | { | ||
| 18543 | public: | ||
| 18544 | virtual HRESULT STDMETHODCALLTYPE AddToStateObject( | ||
| 18545 | const D3D12_STATE_OBJECT_DESC *pAddition, | ||
| 18546 | ID3D12StateObject *pStateObjectToGrowFrom, | ||
| 18547 | REFIID riid, | ||
| 18548 | _COM_Outptr_ void **ppNewStateObject) = 0; | ||
| 18549 | |||
| 18550 | virtual HRESULT STDMETHODCALLTYPE CreateProtectedResourceSession1( | ||
| 18551 | _In_ const D3D12_PROTECTED_RESOURCE_SESSION_DESC1 *pDesc, | ||
| 18552 | _In_ REFIID riid, | ||
| 18553 | _COM_Outptr_ void **ppSession) = 0; | ||
| 18554 | |||
| 18555 | }; | ||
| 18556 | |||
| 18557 | |||
| 18558 | #else /* C style interface */ | ||
| 18559 | |||
| 18560 | typedef struct ID3D12Device7Vtbl | ||
| 18561 | { | ||
| 18562 | BEGIN_INTERFACE | ||
| 18563 | |||
| 18564 | DECLSPEC_XFGVIRT(IUnknown, QueryInterface) | ||
| 18565 | HRESULT ( STDMETHODCALLTYPE *QueryInterface )( | ||
| 18566 | ID3D12Device7 * This, | ||
| 18567 | REFIID riid, | ||
| 18568 | _COM_Outptr_ void **ppvObject); | ||
| 18569 | |||
| 18570 | DECLSPEC_XFGVIRT(IUnknown, AddRef) | ||
| 18571 | ULONG ( STDMETHODCALLTYPE *AddRef )( | ||
| 18572 | ID3D12Device7 * This); | ||
| 18573 | |||
| 18574 | DECLSPEC_XFGVIRT(IUnknown, Release) | ||
| 18575 | ULONG ( STDMETHODCALLTYPE *Release )( | ||
| 18576 | ID3D12Device7 * This); | ||
| 18577 | |||
| 18578 | DECLSPEC_XFGVIRT(ID3D12Object, GetPrivateData) | ||
| 18579 | HRESULT ( STDMETHODCALLTYPE *GetPrivateData )( | ||
| 18580 | ID3D12Device7 * This, | ||
| 18581 | _In_ REFGUID guid, | ||
| 18582 | _Inout_ UINT *pDataSize, | ||
| 18583 | _Out_writes_bytes_opt_( *pDataSize ) void *pData); | ||
| 18584 | |||
| 18585 | DECLSPEC_XFGVIRT(ID3D12Object, SetPrivateData) | ||
| 18586 | HRESULT ( STDMETHODCALLTYPE *SetPrivateData )( | ||
| 18587 | ID3D12Device7 * This, | ||
| 18588 | _In_ REFGUID guid, | ||
| 18589 | _In_ UINT DataSize, | ||
| 18590 | _In_reads_bytes_opt_( DataSize ) const void *pData); | ||
| 18591 | |||
| 18592 | DECLSPEC_XFGVIRT(ID3D12Object, SetPrivateDataInterface) | ||
| 18593 | HRESULT ( STDMETHODCALLTYPE *SetPrivateDataInterface )( | ||
| 18594 | ID3D12Device7 * This, | ||
| 18595 | _In_ REFGUID guid, | ||
| 18596 | _In_opt_ const IUnknown *pData); | ||
| 18597 | |||
| 18598 | DECLSPEC_XFGVIRT(ID3D12Object, SetName) | ||
| 18599 | HRESULT ( STDMETHODCALLTYPE *SetName )( | ||
| 18600 | ID3D12Device7 * This, | ||
| 18601 | _In_z_ LPCWSTR Name); | ||
| 18602 | |||
| 18603 | DECLSPEC_XFGVIRT(ID3D12Device, GetNodeCount) | ||
| 18604 | UINT ( STDMETHODCALLTYPE *GetNodeCount )( | ||
| 18605 | ID3D12Device7 * This); | ||
| 18606 | |||
| 18607 | DECLSPEC_XFGVIRT(ID3D12Device, CreateCommandQueue) | ||
| 18608 | HRESULT ( STDMETHODCALLTYPE *CreateCommandQueue )( | ||
| 18609 | ID3D12Device7 * This, | ||
| 18610 | _In_ const D3D12_COMMAND_QUEUE_DESC *pDesc, | ||
| 18611 | REFIID riid, | ||
| 18612 | _COM_Outptr_ void **ppCommandQueue); | ||
| 18613 | |||
| 18614 | DECLSPEC_XFGVIRT(ID3D12Device, CreateCommandAllocator) | ||
| 18615 | HRESULT ( STDMETHODCALLTYPE *CreateCommandAllocator )( | ||
| 18616 | ID3D12Device7 * This, | ||
| 18617 | _In_ D3D12_COMMAND_LIST_TYPE type, | ||
| 18618 | REFIID riid, | ||
| 18619 | _COM_Outptr_ void **ppCommandAllocator); | ||
| 18620 | |||
| 18621 | DECLSPEC_XFGVIRT(ID3D12Device, CreateGraphicsPipelineState) | ||
| 18622 | HRESULT ( STDMETHODCALLTYPE *CreateGraphicsPipelineState )( | ||
| 18623 | ID3D12Device7 * This, | ||
| 18624 | _In_ const D3D12_GRAPHICS_PIPELINE_STATE_DESC *pDesc, | ||
| 18625 | REFIID riid, | ||
| 18626 | _COM_Outptr_ void **ppPipelineState); | ||
| 18627 | |||
| 18628 | DECLSPEC_XFGVIRT(ID3D12Device, CreateComputePipelineState) | ||
| 18629 | HRESULT ( STDMETHODCALLTYPE *CreateComputePipelineState )( | ||
| 18630 | ID3D12Device7 * This, | ||
| 18631 | _In_ const D3D12_COMPUTE_PIPELINE_STATE_DESC *pDesc, | ||
| 18632 | REFIID riid, | ||
| 18633 | _COM_Outptr_ void **ppPipelineState); | ||
| 18634 | |||
| 18635 | DECLSPEC_XFGVIRT(ID3D12Device, CreateCommandList) | ||
| 18636 | HRESULT ( STDMETHODCALLTYPE *CreateCommandList )( | ||
| 18637 | ID3D12Device7 * This, | ||
| 18638 | _In_ UINT nodeMask, | ||
| 18639 | _In_ D3D12_COMMAND_LIST_TYPE type, | ||
| 18640 | _In_ ID3D12CommandAllocator *pCommandAllocator, | ||
| 18641 | _In_opt_ ID3D12PipelineState *pInitialState, | ||
| 18642 | REFIID riid, | ||
| 18643 | _COM_Outptr_ void **ppCommandList); | ||
| 18644 | |||
| 18645 | DECLSPEC_XFGVIRT(ID3D12Device, CheckFeatureSupport) | ||
| 18646 | HRESULT ( STDMETHODCALLTYPE *CheckFeatureSupport )( | ||
| 18647 | ID3D12Device7 * This, | ||
| 18648 | D3D12_FEATURE Feature, | ||
| 18649 | _Inout_updates_bytes_(FeatureSupportDataSize) void *pFeatureSupportData, | ||
| 18650 | UINT FeatureSupportDataSize); | ||
| 18651 | |||
| 18652 | DECLSPEC_XFGVIRT(ID3D12Device, CreateDescriptorHeap) | ||
| 18653 | HRESULT ( STDMETHODCALLTYPE *CreateDescriptorHeap )( | ||
| 18654 | ID3D12Device7 * This, | ||
| 18655 | _In_ const D3D12_DESCRIPTOR_HEAP_DESC *pDescriptorHeapDesc, | ||
| 18656 | REFIID riid, | ||
| 18657 | _COM_Outptr_ void **ppvHeap); | ||
| 18658 | |||
| 18659 | DECLSPEC_XFGVIRT(ID3D12Device, GetDescriptorHandleIncrementSize) | ||
| 18660 | UINT ( STDMETHODCALLTYPE *GetDescriptorHandleIncrementSize )( | ||
| 18661 | ID3D12Device7 * This, | ||
| 18662 | _In_ D3D12_DESCRIPTOR_HEAP_TYPE DescriptorHeapType); | ||
| 18663 | |||
| 18664 | DECLSPEC_XFGVIRT(ID3D12Device, CreateRootSignature) | ||
| 18665 | HRESULT ( STDMETHODCALLTYPE *CreateRootSignature )( | ||
| 18666 | ID3D12Device7 * This, | ||
| 18667 | _In_ UINT nodeMask, | ||
| 18668 | _In_reads_(blobLengthInBytes) const void *pBlobWithRootSignature, | ||
| 18669 | _In_ SIZE_T blobLengthInBytes, | ||
| 18670 | REFIID riid, | ||
| 18671 | _COM_Outptr_ void **ppvRootSignature); | ||
| 18672 | |||
| 18673 | DECLSPEC_XFGVIRT(ID3D12Device, CreateConstantBufferView) | ||
| 18674 | void ( STDMETHODCALLTYPE *CreateConstantBufferView )( | ||
| 18675 | ID3D12Device7 * This, | ||
| 18676 | _In_opt_ const D3D12_CONSTANT_BUFFER_VIEW_DESC *pDesc, | ||
| 18677 | _In_ D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor); | ||
| 18678 | |||
| 18679 | DECLSPEC_XFGVIRT(ID3D12Device, CreateShaderResourceView) | ||
| 18680 | void ( STDMETHODCALLTYPE *CreateShaderResourceView )( | ||
| 18681 | ID3D12Device7 * This, | ||
| 18682 | _In_opt_ ID3D12Resource *pResource, | ||
| 18683 | _In_opt_ const D3D12_SHADER_RESOURCE_VIEW_DESC *pDesc, | ||
| 18684 | _In_ D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor); | ||
| 18685 | |||
| 18686 | DECLSPEC_XFGVIRT(ID3D12Device, CreateUnorderedAccessView) | ||
| 18687 | void ( STDMETHODCALLTYPE *CreateUnorderedAccessView )( | ||
| 18688 | ID3D12Device7 * This, | ||
| 18689 | _In_opt_ ID3D12Resource *pResource, | ||
| 18690 | _In_opt_ ID3D12Resource *pCounterResource, | ||
| 18691 | _In_opt_ const D3D12_UNORDERED_ACCESS_VIEW_DESC *pDesc, | ||
| 18692 | _In_ D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor); | ||
| 18693 | |||
| 18694 | DECLSPEC_XFGVIRT(ID3D12Device, CreateRenderTargetView) | ||
| 18695 | void ( STDMETHODCALLTYPE *CreateRenderTargetView )( | ||
| 18696 | ID3D12Device7 * This, | ||
| 18697 | _In_opt_ ID3D12Resource *pResource, | ||
| 18698 | _In_opt_ const D3D12_RENDER_TARGET_VIEW_DESC *pDesc, | ||
| 18699 | _In_ D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor); | ||
| 18700 | |||
| 18701 | DECLSPEC_XFGVIRT(ID3D12Device, CreateDepthStencilView) | ||
| 18702 | void ( STDMETHODCALLTYPE *CreateDepthStencilView )( | ||
| 18703 | ID3D12Device7 * This, | ||
| 18704 | _In_opt_ ID3D12Resource *pResource, | ||
| 18705 | _In_opt_ const D3D12_DEPTH_STENCIL_VIEW_DESC *pDesc, | ||
| 18706 | _In_ D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor); | ||
| 18707 | |||
| 18708 | DECLSPEC_XFGVIRT(ID3D12Device, CreateSampler) | ||
| 18709 | void ( STDMETHODCALLTYPE *CreateSampler )( | ||
| 18710 | ID3D12Device7 * This, | ||
| 18711 | _In_ const D3D12_SAMPLER_DESC *pDesc, | ||
| 18712 | _In_ D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor); | ||
| 18713 | |||
| 18714 | DECLSPEC_XFGVIRT(ID3D12Device, CopyDescriptors) | ||
| 18715 | void ( STDMETHODCALLTYPE *CopyDescriptors )( | ||
| 18716 | ID3D12Device7 * This, | ||
| 18717 | _In_ UINT NumDestDescriptorRanges, | ||
| 18718 | _In_reads_(NumDestDescriptorRanges) const D3D12_CPU_DESCRIPTOR_HANDLE *pDestDescriptorRangeStarts, | ||
| 18719 | _In_reads_opt_(NumDestDescriptorRanges) const UINT *pDestDescriptorRangeSizes, | ||
| 18720 | _In_ UINT NumSrcDescriptorRanges, | ||
| 18721 | _In_reads_(NumSrcDescriptorRanges) const D3D12_CPU_DESCRIPTOR_HANDLE *pSrcDescriptorRangeStarts, | ||
| 18722 | _In_reads_opt_(NumSrcDescriptorRanges) const UINT *pSrcDescriptorRangeSizes, | ||
| 18723 | _In_ D3D12_DESCRIPTOR_HEAP_TYPE DescriptorHeapsType); | ||
| 18724 | |||
| 18725 | DECLSPEC_XFGVIRT(ID3D12Device, CopyDescriptorsSimple) | ||
| 18726 | void ( STDMETHODCALLTYPE *CopyDescriptorsSimple )( | ||
| 18727 | ID3D12Device7 * This, | ||
| 18728 | _In_ UINT NumDescriptors, | ||
| 18729 | _In_ D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptorRangeStart, | ||
| 18730 | _In_ D3D12_CPU_DESCRIPTOR_HANDLE SrcDescriptorRangeStart, | ||
| 18731 | _In_ D3D12_DESCRIPTOR_HEAP_TYPE DescriptorHeapsType); | ||
| 18732 | |||
| 18733 | DECLSPEC_XFGVIRT(ID3D12Device, GetResourceAllocationInfo) | ||
| 18734 | #if !defined(_WIN32) | ||
| 18735 | D3D12_RESOURCE_ALLOCATION_INFO ( STDMETHODCALLTYPE *GetResourceAllocationInfo )( | ||
| 18736 | ID3D12Device7 * This, | ||
| 18737 | _In_ UINT visibleMask, | ||
| 18738 | _In_ UINT numResourceDescs, | ||
| 18739 | _In_reads_(numResourceDescs) const D3D12_RESOURCE_DESC *pResourceDescs); | ||
| 18740 | |||
| 18741 | #else | ||
| 18742 | D3D12_RESOURCE_ALLOCATION_INFO *( STDMETHODCALLTYPE *GetResourceAllocationInfo )( | ||
| 18743 | ID3D12Device7 * This, | ||
| 18744 | D3D12_RESOURCE_ALLOCATION_INFO * RetVal, | ||
| 18745 | _In_ UINT visibleMask, | ||
| 18746 | _In_ UINT numResourceDescs, | ||
| 18747 | _In_reads_(numResourceDescs) const D3D12_RESOURCE_DESC *pResourceDescs); | ||
| 18748 | |||
| 18749 | #endif | ||
| 18750 | |||
| 18751 | DECLSPEC_XFGVIRT(ID3D12Device, GetCustomHeapProperties) | ||
| 18752 | #if !defined(_WIN32) | ||
| 18753 | D3D12_HEAP_PROPERTIES ( STDMETHODCALLTYPE *GetCustomHeapProperties )( | ||
| 18754 | ID3D12Device7 * This, | ||
| 18755 | _In_ UINT nodeMask, | ||
| 18756 | D3D12_HEAP_TYPE heapType); | ||
| 18757 | |||
| 18758 | #else | ||
| 18759 | D3D12_HEAP_PROPERTIES *( STDMETHODCALLTYPE *GetCustomHeapProperties )( | ||
| 18760 | ID3D12Device7 * This, | ||
| 18761 | D3D12_HEAP_PROPERTIES * RetVal, | ||
| 18762 | _In_ UINT nodeMask, | ||
| 18763 | D3D12_HEAP_TYPE heapType); | ||
| 18764 | |||
| 18765 | #endif | ||
| 18766 | |||
| 18767 | DECLSPEC_XFGVIRT(ID3D12Device, CreateCommittedResource) | ||
| 18768 | HRESULT ( STDMETHODCALLTYPE *CreateCommittedResource )( | ||
| 18769 | ID3D12Device7 * This, | ||
| 18770 | _In_ const D3D12_HEAP_PROPERTIES *pHeapProperties, | ||
| 18771 | D3D12_HEAP_FLAGS HeapFlags, | ||
| 18772 | _In_ const D3D12_RESOURCE_DESC *pDesc, | ||
| 18773 | D3D12_RESOURCE_STATES InitialResourceState, | ||
| 18774 | _In_opt_ const D3D12_CLEAR_VALUE *pOptimizedClearValue, | ||
| 18775 | REFIID riidResource, | ||
| 18776 | _COM_Outptr_opt_ void **ppvResource); | ||
| 18777 | |||
| 18778 | DECLSPEC_XFGVIRT(ID3D12Device, CreateHeap) | ||
| 18779 | HRESULT ( STDMETHODCALLTYPE *CreateHeap )( | ||
| 18780 | ID3D12Device7 * This, | ||
| 18781 | _In_ const D3D12_HEAP_DESC *pDesc, | ||
| 18782 | REFIID riid, | ||
| 18783 | _COM_Outptr_opt_ void **ppvHeap); | ||
| 18784 | |||
| 18785 | DECLSPEC_XFGVIRT(ID3D12Device, CreatePlacedResource) | ||
| 18786 | HRESULT ( STDMETHODCALLTYPE *CreatePlacedResource )( | ||
| 18787 | ID3D12Device7 * This, | ||
| 18788 | _In_ ID3D12Heap *pHeap, | ||
| 18789 | UINT64 HeapOffset, | ||
| 18790 | _In_ const D3D12_RESOURCE_DESC *pDesc, | ||
| 18791 | D3D12_RESOURCE_STATES InitialState, | ||
| 18792 | _In_opt_ const D3D12_CLEAR_VALUE *pOptimizedClearValue, | ||
| 18793 | REFIID riid, | ||
| 18794 | _COM_Outptr_opt_ void **ppvResource); | ||
| 18795 | |||
| 18796 | DECLSPEC_XFGVIRT(ID3D12Device, CreateReservedResource) | ||
| 18797 | HRESULT ( STDMETHODCALLTYPE *CreateReservedResource )( | ||
| 18798 | ID3D12Device7 * This, | ||
| 18799 | _In_ const D3D12_RESOURCE_DESC *pDesc, | ||
| 18800 | D3D12_RESOURCE_STATES InitialState, | ||
| 18801 | _In_opt_ const D3D12_CLEAR_VALUE *pOptimizedClearValue, | ||
| 18802 | REFIID riid, | ||
| 18803 | _COM_Outptr_opt_ void **ppvResource); | ||
| 18804 | |||
| 18805 | DECLSPEC_XFGVIRT(ID3D12Device, CreateSharedHandle) | ||
| 18806 | HRESULT ( STDMETHODCALLTYPE *CreateSharedHandle )( | ||
| 18807 | ID3D12Device7 * This, | ||
| 18808 | _In_ ID3D12DeviceChild *pObject, | ||
| 18809 | _In_opt_ const SECURITY_ATTRIBUTES *pAttributes, | ||
| 18810 | DWORD Access, | ||
| 18811 | _In_opt_ LPCWSTR Name, | ||
| 18812 | _Out_ HANDLE *pHandle); | ||
| 18813 | |||
| 18814 | DECLSPEC_XFGVIRT(ID3D12Device, OpenSharedHandle) | ||
| 18815 | HRESULT ( STDMETHODCALLTYPE *OpenSharedHandle )( | ||
| 18816 | ID3D12Device7 * This, | ||
| 18817 | _In_ HANDLE NTHandle, | ||
| 18818 | REFIID riid, | ||
| 18819 | _COM_Outptr_opt_ void **ppvObj); | ||
| 18820 | |||
| 18821 | DECLSPEC_XFGVIRT(ID3D12Device, OpenSharedHandleByName) | ||
| 18822 | HRESULT ( STDMETHODCALLTYPE *OpenSharedHandleByName )( | ||
| 18823 | ID3D12Device7 * This, | ||
| 18824 | _In_ LPCWSTR Name, | ||
| 18825 | DWORD Access, | ||
| 18826 | /* [annotation][out] */ | ||
| 18827 | _Out_ HANDLE *pNTHandle); | ||
| 18828 | |||
| 18829 | DECLSPEC_XFGVIRT(ID3D12Device, MakeResident) | ||
| 18830 | HRESULT ( STDMETHODCALLTYPE *MakeResident )( | ||
| 18831 | ID3D12Device7 * This, | ||
| 18832 | UINT NumObjects, | ||
| 18833 | _In_reads_(NumObjects) ID3D12Pageable *const *ppObjects); | ||
| 18834 | |||
| 18835 | DECLSPEC_XFGVIRT(ID3D12Device, Evict) | ||
| 18836 | HRESULT ( STDMETHODCALLTYPE *Evict )( | ||
| 18837 | ID3D12Device7 * This, | ||
| 18838 | UINT NumObjects, | ||
| 18839 | _In_reads_(NumObjects) ID3D12Pageable *const *ppObjects); | ||
| 18840 | |||
| 18841 | DECLSPEC_XFGVIRT(ID3D12Device, CreateFence) | ||
| 18842 | HRESULT ( STDMETHODCALLTYPE *CreateFence )( | ||
| 18843 | ID3D12Device7 * This, | ||
| 18844 | UINT64 InitialValue, | ||
| 18845 | D3D12_FENCE_FLAGS Flags, | ||
| 18846 | REFIID riid, | ||
| 18847 | _COM_Outptr_ void **ppFence); | ||
| 18848 | |||
| 18849 | DECLSPEC_XFGVIRT(ID3D12Device, GetDeviceRemovedReason) | ||
| 18850 | HRESULT ( STDMETHODCALLTYPE *GetDeviceRemovedReason )( | ||
| 18851 | ID3D12Device7 * This); | ||
| 18852 | |||
| 18853 | DECLSPEC_XFGVIRT(ID3D12Device, GetCopyableFootprints) | ||
| 18854 | void ( STDMETHODCALLTYPE *GetCopyableFootprints )( | ||
| 18855 | ID3D12Device7 * This, | ||
| 18856 | _In_ const D3D12_RESOURCE_DESC *pResourceDesc, | ||
| 18857 | _In_range_(0,D3D12_REQ_SUBRESOURCES) UINT FirstSubresource, | ||
| 18858 | _In_range_(0,D3D12_REQ_SUBRESOURCES-FirstSubresource) UINT NumSubresources, | ||
| 18859 | UINT64 BaseOffset, | ||
| 18860 | _Out_writes_opt_(NumSubresources) D3D12_PLACED_SUBRESOURCE_FOOTPRINT *pLayouts, | ||
| 18861 | _Out_writes_opt_(NumSubresources) UINT *pNumRows, | ||
| 18862 | _Out_writes_opt_(NumSubresources) UINT64 *pRowSizeInBytes, | ||
| 18863 | _Out_opt_ UINT64 *pTotalBytes); | ||
| 18864 | |||
| 18865 | DECLSPEC_XFGVIRT(ID3D12Device, CreateQueryHeap) | ||
| 18866 | HRESULT ( STDMETHODCALLTYPE *CreateQueryHeap )( | ||
| 18867 | ID3D12Device7 * This, | ||
| 18868 | _In_ const D3D12_QUERY_HEAP_DESC *pDesc, | ||
| 18869 | REFIID riid, | ||
| 18870 | _COM_Outptr_opt_ void **ppvHeap); | ||
| 18871 | |||
| 18872 | DECLSPEC_XFGVIRT(ID3D12Device, SetStablePowerState) | ||
| 18873 | HRESULT ( STDMETHODCALLTYPE *SetStablePowerState )( | ||
| 18874 | ID3D12Device7 * This, | ||
| 18875 | BOOL Enable); | ||
| 18876 | |||
| 18877 | DECLSPEC_XFGVIRT(ID3D12Device, CreateCommandSignature) | ||
| 18878 | HRESULT ( STDMETHODCALLTYPE *CreateCommandSignature )( | ||
| 18879 | ID3D12Device7 * This, | ||
| 18880 | _In_ const D3D12_COMMAND_SIGNATURE_DESC *pDesc, | ||
| 18881 | _In_opt_ ID3D12RootSignature *pRootSignature, | ||
| 18882 | REFIID riid, | ||
| 18883 | _COM_Outptr_opt_ void **ppvCommandSignature); | ||
| 18884 | |||
| 18885 | DECLSPEC_XFGVIRT(ID3D12Device, GetResourceTiling) | ||
| 18886 | void ( STDMETHODCALLTYPE *GetResourceTiling )( | ||
| 18887 | ID3D12Device7 * This, | ||
| 18888 | _In_ ID3D12Resource *pTiledResource, | ||
| 18889 | _Out_opt_ UINT *pNumTilesForEntireResource, | ||
| 18890 | _Out_opt_ D3D12_PACKED_MIP_INFO *pPackedMipDesc, | ||
| 18891 | _Out_opt_ D3D12_TILE_SHAPE *pStandardTileShapeForNonPackedMips, | ||
| 18892 | _Inout_opt_ UINT *pNumSubresourceTilings, | ||
| 18893 | _In_ UINT FirstSubresourceTilingToGet, | ||
| 18894 | _Out_writes_(*pNumSubresourceTilings) D3D12_SUBRESOURCE_TILING *pSubresourceTilingsForNonPackedMips); | ||
| 18895 | |||
| 18896 | DECLSPEC_XFGVIRT(ID3D12Device, GetAdapterLuid) | ||
| 18897 | #if !defined(_WIN32) | ||
| 18898 | LUID ( STDMETHODCALLTYPE *GetAdapterLuid )( | ||
| 18899 | ID3D12Device7 * This); | ||
| 18900 | |||
| 18901 | #else | ||
| 18902 | LUID *( STDMETHODCALLTYPE *GetAdapterLuid )( | ||
| 18903 | ID3D12Device7 * This, | ||
| 18904 | LUID * RetVal); | ||
| 18905 | |||
| 18906 | #endif | ||
| 18907 | |||
| 18908 | DECLSPEC_XFGVIRT(ID3D12Device1, CreatePipelineLibrary) | ||
| 18909 | HRESULT ( STDMETHODCALLTYPE *CreatePipelineLibrary )( | ||
| 18910 | ID3D12Device7 * This, | ||
| 18911 | _In_reads_(BlobLength) const void *pLibraryBlob, | ||
| 18912 | SIZE_T BlobLength, | ||
| 18913 | REFIID riid, | ||
| 18914 | _COM_Outptr_ void **ppPipelineLibrary); | ||
| 18915 | |||
| 18916 | DECLSPEC_XFGVIRT(ID3D12Device1, SetEventOnMultipleFenceCompletion) | ||
| 18917 | HRESULT ( STDMETHODCALLTYPE *SetEventOnMultipleFenceCompletion )( | ||
| 18918 | ID3D12Device7 * This, | ||
| 18919 | _In_reads_(NumFences) ID3D12Fence *const *ppFences, | ||
| 18920 | _In_reads_(NumFences) const UINT64 *pFenceValues, | ||
| 18921 | UINT NumFences, | ||
| 18922 | D3D12_MULTIPLE_FENCE_WAIT_FLAGS Flags, | ||
| 18923 | HANDLE hEvent); | ||
| 18924 | |||
| 18925 | DECLSPEC_XFGVIRT(ID3D12Device1, SetResidencyPriority) | ||
| 18926 | HRESULT ( STDMETHODCALLTYPE *SetResidencyPriority )( | ||
| 18927 | ID3D12Device7 * This, | ||
| 18928 | UINT NumObjects, | ||
| 18929 | _In_reads_(NumObjects) ID3D12Pageable *const *ppObjects, | ||
| 18930 | _In_reads_(NumObjects) const D3D12_RESIDENCY_PRIORITY *pPriorities); | ||
| 18931 | |||
| 18932 | DECLSPEC_XFGVIRT(ID3D12Device2, CreatePipelineState) | ||
| 18933 | HRESULT ( STDMETHODCALLTYPE *CreatePipelineState )( | ||
| 18934 | ID3D12Device7 * This, | ||
| 18935 | const D3D12_PIPELINE_STATE_STREAM_DESC *pDesc, | ||
| 18936 | REFIID riid, | ||
| 18937 | _COM_Outptr_ void **ppPipelineState); | ||
| 18938 | |||
| 18939 | DECLSPEC_XFGVIRT(ID3D12Device3, OpenExistingHeapFromAddress) | ||
| 18940 | HRESULT ( STDMETHODCALLTYPE *OpenExistingHeapFromAddress )( | ||
| 18941 | ID3D12Device7 * This, | ||
| 18942 | _In_ const void *pAddress, | ||
| 18943 | REFIID riid, | ||
| 18944 | _COM_Outptr_ void **ppvHeap); | ||
| 18945 | |||
| 18946 | DECLSPEC_XFGVIRT(ID3D12Device3, OpenExistingHeapFromFileMapping) | ||
| 18947 | HRESULT ( STDMETHODCALLTYPE *OpenExistingHeapFromFileMapping )( | ||
| 18948 | ID3D12Device7 * This, | ||
| 18949 | _In_ HANDLE hFileMapping, | ||
| 18950 | REFIID riid, | ||
| 18951 | _COM_Outptr_ void **ppvHeap); | ||
| 18952 | |||
| 18953 | DECLSPEC_XFGVIRT(ID3D12Device3, EnqueueMakeResident) | ||
| 18954 | HRESULT ( STDMETHODCALLTYPE *EnqueueMakeResident )( | ||
| 18955 | ID3D12Device7 * This, | ||
| 18956 | D3D12_RESIDENCY_FLAGS Flags, | ||
| 18957 | UINT NumObjects, | ||
| 18958 | _In_reads_(NumObjects) ID3D12Pageable *const *ppObjects, | ||
| 18959 | _In_ ID3D12Fence *pFenceToSignal, | ||
| 18960 | UINT64 FenceValueToSignal); | ||
| 18961 | |||
| 18962 | DECLSPEC_XFGVIRT(ID3D12Device4, CreateCommandList1) | ||
| 18963 | HRESULT ( STDMETHODCALLTYPE *CreateCommandList1 )( | ||
| 18964 | ID3D12Device7 * This, | ||
| 18965 | _In_ UINT nodeMask, | ||
| 18966 | _In_ D3D12_COMMAND_LIST_TYPE type, | ||
| 18967 | _In_ D3D12_COMMAND_LIST_FLAGS flags, | ||
| 18968 | REFIID riid, | ||
| 18969 | _COM_Outptr_ void **ppCommandList); | ||
| 18970 | |||
| 18971 | DECLSPEC_XFGVIRT(ID3D12Device4, CreateProtectedResourceSession) | ||
| 18972 | HRESULT ( STDMETHODCALLTYPE *CreateProtectedResourceSession )( | ||
| 18973 | ID3D12Device7 * This, | ||
| 18974 | _In_ const D3D12_PROTECTED_RESOURCE_SESSION_DESC *pDesc, | ||
| 18975 | _In_ REFIID riid, | ||
| 18976 | _COM_Outptr_ void **ppSession); | ||
| 18977 | |||
| 18978 | DECLSPEC_XFGVIRT(ID3D12Device4, CreateCommittedResource1) | ||
| 18979 | HRESULT ( STDMETHODCALLTYPE *CreateCommittedResource1 )( | ||
| 18980 | ID3D12Device7 * This, | ||
| 18981 | _In_ const D3D12_HEAP_PROPERTIES *pHeapProperties, | ||
| 18982 | D3D12_HEAP_FLAGS HeapFlags, | ||
| 18983 | _In_ const D3D12_RESOURCE_DESC *pDesc, | ||
| 18984 | D3D12_RESOURCE_STATES InitialResourceState, | ||
| 18985 | _In_opt_ const D3D12_CLEAR_VALUE *pOptimizedClearValue, | ||
| 18986 | _In_opt_ ID3D12ProtectedResourceSession *pProtectedSession, | ||
| 18987 | REFIID riidResource, | ||
| 18988 | _COM_Outptr_opt_ void **ppvResource); | ||
| 18989 | |||
| 18990 | DECLSPEC_XFGVIRT(ID3D12Device4, CreateHeap1) | ||
| 18991 | HRESULT ( STDMETHODCALLTYPE *CreateHeap1 )( | ||
| 18992 | ID3D12Device7 * This, | ||
| 18993 | _In_ const D3D12_HEAP_DESC *pDesc, | ||
| 18994 | _In_opt_ ID3D12ProtectedResourceSession *pProtectedSession, | ||
| 18995 | REFIID riid, | ||
| 18996 | _COM_Outptr_opt_ void **ppvHeap); | ||
| 18997 | |||
| 18998 | DECLSPEC_XFGVIRT(ID3D12Device4, CreateReservedResource1) | ||
| 18999 | HRESULT ( STDMETHODCALLTYPE *CreateReservedResource1 )( | ||
| 19000 | ID3D12Device7 * This, | ||
| 19001 | _In_ const D3D12_RESOURCE_DESC *pDesc, | ||
| 19002 | D3D12_RESOURCE_STATES InitialState, | ||
| 19003 | _In_opt_ const D3D12_CLEAR_VALUE *pOptimizedClearValue, | ||
| 19004 | _In_opt_ ID3D12ProtectedResourceSession *pProtectedSession, | ||
| 19005 | REFIID riid, | ||
| 19006 | _COM_Outptr_opt_ void **ppvResource); | ||
| 19007 | |||
| 19008 | DECLSPEC_XFGVIRT(ID3D12Device4, GetResourceAllocationInfo1) | ||
| 19009 | #if !defined(_WIN32) | ||
| 19010 | D3D12_RESOURCE_ALLOCATION_INFO ( STDMETHODCALLTYPE *GetResourceAllocationInfo1 )( | ||
| 19011 | ID3D12Device7 * This, | ||
| 19012 | UINT visibleMask, | ||
| 19013 | UINT numResourceDescs, | ||
| 19014 | _In_reads_(numResourceDescs) const D3D12_RESOURCE_DESC *pResourceDescs, | ||
| 19015 | _Out_writes_opt_(numResourceDescs) D3D12_RESOURCE_ALLOCATION_INFO1 *pResourceAllocationInfo1); | ||
| 19016 | |||
| 19017 | #else | ||
| 19018 | D3D12_RESOURCE_ALLOCATION_INFO *( STDMETHODCALLTYPE *GetResourceAllocationInfo1 )( | ||
| 19019 | ID3D12Device7 * This, | ||
| 19020 | D3D12_RESOURCE_ALLOCATION_INFO * RetVal, | ||
| 19021 | UINT visibleMask, | ||
| 19022 | UINT numResourceDescs, | ||
| 19023 | _In_reads_(numResourceDescs) const D3D12_RESOURCE_DESC *pResourceDescs, | ||
| 19024 | _Out_writes_opt_(numResourceDescs) D3D12_RESOURCE_ALLOCATION_INFO1 *pResourceAllocationInfo1); | ||
| 19025 | |||
| 19026 | #endif | ||
| 19027 | |||
| 19028 | DECLSPEC_XFGVIRT(ID3D12Device5, CreateLifetimeTracker) | ||
| 19029 | HRESULT ( STDMETHODCALLTYPE *CreateLifetimeTracker )( | ||
| 19030 | ID3D12Device7 * This, | ||
| 19031 | _In_ ID3D12LifetimeOwner *pOwner, | ||
| 19032 | REFIID riid, | ||
| 19033 | _COM_Outptr_ void **ppvTracker); | ||
| 19034 | |||
| 19035 | DECLSPEC_XFGVIRT(ID3D12Device5, RemoveDevice) | ||
| 19036 | void ( STDMETHODCALLTYPE *RemoveDevice )( | ||
| 19037 | ID3D12Device7 * This); | ||
| 19038 | |||
| 19039 | DECLSPEC_XFGVIRT(ID3D12Device5, EnumerateMetaCommands) | ||
| 19040 | HRESULT ( STDMETHODCALLTYPE *EnumerateMetaCommands )( | ||
| 19041 | ID3D12Device7 * This, | ||
| 19042 | _Inout_ UINT *pNumMetaCommands, | ||
| 19043 | _Out_writes_opt_(*pNumMetaCommands) D3D12_META_COMMAND_DESC *pDescs); | ||
| 19044 | |||
| 19045 | DECLSPEC_XFGVIRT(ID3D12Device5, EnumerateMetaCommandParameters) | ||
| 19046 | HRESULT ( STDMETHODCALLTYPE *EnumerateMetaCommandParameters )( | ||
| 19047 | ID3D12Device7 * This, | ||
| 19048 | _In_ REFGUID CommandId, | ||
| 19049 | _In_ D3D12_META_COMMAND_PARAMETER_STAGE Stage, | ||
| 19050 | _Out_opt_ UINT *pTotalStructureSizeInBytes, | ||
| 19051 | _Inout_ UINT *pParameterCount, | ||
| 19052 | _Out_writes_opt_(*pParameterCount) D3D12_META_COMMAND_PARAMETER_DESC *pParameterDescs); | ||
| 19053 | |||
| 19054 | DECLSPEC_XFGVIRT(ID3D12Device5, CreateMetaCommand) | ||
| 19055 | HRESULT ( STDMETHODCALLTYPE *CreateMetaCommand )( | ||
| 19056 | ID3D12Device7 * This, | ||
| 19057 | _In_ REFGUID CommandId, | ||
| 19058 | _In_ UINT NodeMask, | ||
| 19059 | _In_reads_bytes_opt_(CreationParametersDataSizeInBytes) const void *pCreationParametersData, | ||
| 19060 | _In_ SIZE_T CreationParametersDataSizeInBytes, | ||
| 19061 | REFIID riid, | ||
| 19062 | _COM_Outptr_ void **ppMetaCommand); | ||
| 19063 | |||
| 19064 | DECLSPEC_XFGVIRT(ID3D12Device5, CreateStateObject) | ||
| 19065 | HRESULT ( STDMETHODCALLTYPE *CreateStateObject )( | ||
| 19066 | ID3D12Device7 * This, | ||
| 19067 | const D3D12_STATE_OBJECT_DESC *pDesc, | ||
| 19068 | REFIID riid, | ||
| 19069 | _COM_Outptr_ void **ppStateObject); | ||
| 19070 | |||
| 19071 | DECLSPEC_XFGVIRT(ID3D12Device5, GetRaytracingAccelerationStructurePrebuildInfo) | ||
| 19072 | void ( STDMETHODCALLTYPE *GetRaytracingAccelerationStructurePrebuildInfo )( | ||
| 19073 | ID3D12Device7 * This, | ||
| 19074 | _In_ const D3D12_BUILD_RAYTRACING_ACCELERATION_STRUCTURE_INPUTS *pDesc, | ||
| 19075 | _Out_ D3D12_RAYTRACING_ACCELERATION_STRUCTURE_PREBUILD_INFO *pInfo); | ||
| 19076 | |||
| 19077 | DECLSPEC_XFGVIRT(ID3D12Device5, CheckDriverMatchingIdentifier) | ||
| 19078 | D3D12_DRIVER_MATCHING_IDENTIFIER_STATUS ( STDMETHODCALLTYPE *CheckDriverMatchingIdentifier )( | ||
| 19079 | ID3D12Device7 * This, | ||
| 19080 | _In_ D3D12_SERIALIZED_DATA_TYPE SerializedDataType, | ||
| 19081 | _In_ const D3D12_SERIALIZED_DATA_DRIVER_MATCHING_IDENTIFIER *pIdentifierToCheck); | ||
| 19082 | |||
| 19083 | DECLSPEC_XFGVIRT(ID3D12Device6, SetBackgroundProcessingMode) | ||
| 19084 | HRESULT ( STDMETHODCALLTYPE *SetBackgroundProcessingMode )( | ||
| 19085 | ID3D12Device7 * This, | ||
| 19086 | D3D12_BACKGROUND_PROCESSING_MODE Mode, | ||
| 19087 | D3D12_MEASUREMENTS_ACTION MeasurementsAction, | ||
| 19088 | _In_opt_ HANDLE hEventToSignalUponCompletion, | ||
| 19089 | _Out_opt_ BOOL *pbFurtherMeasurementsDesired); | ||
| 19090 | |||
| 19091 | DECLSPEC_XFGVIRT(ID3D12Device7, AddToStateObject) | ||
| 19092 | HRESULT ( STDMETHODCALLTYPE *AddToStateObject )( | ||
| 19093 | ID3D12Device7 * This, | ||
| 19094 | const D3D12_STATE_OBJECT_DESC *pAddition, | ||
| 19095 | ID3D12StateObject *pStateObjectToGrowFrom, | ||
| 19096 | REFIID riid, | ||
| 19097 | _COM_Outptr_ void **ppNewStateObject); | ||
| 19098 | |||
| 19099 | DECLSPEC_XFGVIRT(ID3D12Device7, CreateProtectedResourceSession1) | ||
| 19100 | HRESULT ( STDMETHODCALLTYPE *CreateProtectedResourceSession1 )( | ||
| 19101 | ID3D12Device7 * This, | ||
| 19102 | _In_ const D3D12_PROTECTED_RESOURCE_SESSION_DESC1 *pDesc, | ||
| 19103 | _In_ REFIID riid, | ||
| 19104 | _COM_Outptr_ void **ppSession); | ||
| 19105 | |||
| 19106 | END_INTERFACE | ||
| 19107 | } ID3D12Device7Vtbl; | ||
| 19108 | |||
| 19109 | interface ID3D12Device7 | ||
| 19110 | { | ||
| 19111 | CONST_VTBL struct ID3D12Device7Vtbl *lpVtbl; | ||
| 19112 | }; | ||
| 19113 | |||
| 19114 | |||
| 19115 | |||
| 19116 | #ifdef COBJMACROS | ||
| 19117 | |||
| 19118 | |||
| 19119 | #define ID3D12Device7_QueryInterface(This,riid,ppvObject) \ | ||
| 19120 | ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) | ||
| 19121 | |||
| 19122 | #define ID3D12Device7_AddRef(This) \ | ||
| 19123 | ( (This)->lpVtbl -> AddRef(This) ) | ||
| 19124 | |||
| 19125 | #define ID3D12Device7_Release(This) \ | ||
| 19126 | ( (This)->lpVtbl -> Release(This) ) | ||
| 19127 | |||
| 19128 | |||
| 19129 | #define ID3D12Device7_GetPrivateData(This,guid,pDataSize,pData) \ | ||
| 19130 | ( (This)->lpVtbl -> GetPrivateData(This,guid,pDataSize,pData) ) | ||
| 19131 | |||
| 19132 | #define ID3D12Device7_SetPrivateData(This,guid,DataSize,pData) \ | ||
| 19133 | ( (This)->lpVtbl -> SetPrivateData(This,guid,DataSize,pData) ) | ||
| 19134 | |||
| 19135 | #define ID3D12Device7_SetPrivateDataInterface(This,guid,pData) \ | ||
| 19136 | ( (This)->lpVtbl -> SetPrivateDataInterface(This,guid,pData) ) | ||
| 19137 | |||
| 19138 | #define ID3D12Device7_SetName(This,Name) \ | ||
| 19139 | ( (This)->lpVtbl -> SetName(This,Name) ) | ||
| 19140 | |||
| 19141 | |||
| 19142 | #define ID3D12Device7_GetNodeCount(This) \ | ||
| 19143 | ( (This)->lpVtbl -> GetNodeCount(This) ) | ||
| 19144 | |||
| 19145 | #define ID3D12Device7_CreateCommandQueue(This,pDesc,riid,ppCommandQueue) \ | ||
| 19146 | ( (This)->lpVtbl -> CreateCommandQueue(This,pDesc,riid,ppCommandQueue) ) | ||
| 19147 | |||
| 19148 | #define ID3D12Device7_CreateCommandAllocator(This,type,riid,ppCommandAllocator) \ | ||
| 19149 | ( (This)->lpVtbl -> CreateCommandAllocator(This,type,riid,ppCommandAllocator) ) | ||
| 19150 | |||
| 19151 | #define ID3D12Device7_CreateGraphicsPipelineState(This,pDesc,riid,ppPipelineState) \ | ||
| 19152 | ( (This)->lpVtbl -> CreateGraphicsPipelineState(This,pDesc,riid,ppPipelineState) ) | ||
| 19153 | |||
| 19154 | #define ID3D12Device7_CreateComputePipelineState(This,pDesc,riid,ppPipelineState) \ | ||
| 19155 | ( (This)->lpVtbl -> CreateComputePipelineState(This,pDesc,riid,ppPipelineState) ) | ||
| 19156 | |||
| 19157 | #define ID3D12Device7_CreateCommandList(This,nodeMask,type,pCommandAllocator,pInitialState,riid,ppCommandList) \ | ||
| 19158 | ( (This)->lpVtbl -> CreateCommandList(This,nodeMask,type,pCommandAllocator,pInitialState,riid,ppCommandList) ) | ||
| 19159 | |||
| 19160 | #define ID3D12Device7_CheckFeatureSupport(This,Feature,pFeatureSupportData,FeatureSupportDataSize) \ | ||
| 19161 | ( (This)->lpVtbl -> CheckFeatureSupport(This,Feature,pFeatureSupportData,FeatureSupportDataSize) ) | ||
| 19162 | |||
| 19163 | #define ID3D12Device7_CreateDescriptorHeap(This,pDescriptorHeapDesc,riid,ppvHeap) \ | ||
| 19164 | ( (This)->lpVtbl -> CreateDescriptorHeap(This,pDescriptorHeapDesc,riid,ppvHeap) ) | ||
| 19165 | |||
| 19166 | #define ID3D12Device7_GetDescriptorHandleIncrementSize(This,DescriptorHeapType) \ | ||
| 19167 | ( (This)->lpVtbl -> GetDescriptorHandleIncrementSize(This,DescriptorHeapType) ) | ||
| 19168 | |||
| 19169 | #define ID3D12Device7_CreateRootSignature(This,nodeMask,pBlobWithRootSignature,blobLengthInBytes,riid,ppvRootSignature) \ | ||
| 19170 | ( (This)->lpVtbl -> CreateRootSignature(This,nodeMask,pBlobWithRootSignature,blobLengthInBytes,riid,ppvRootSignature) ) | ||
| 19171 | |||
| 19172 | #define ID3D12Device7_CreateConstantBufferView(This,pDesc,DestDescriptor) \ | ||
| 19173 | ( (This)->lpVtbl -> CreateConstantBufferView(This,pDesc,DestDescriptor) ) | ||
| 19174 | |||
| 19175 | #define ID3D12Device7_CreateShaderResourceView(This,pResource,pDesc,DestDescriptor) \ | ||
| 19176 | ( (This)->lpVtbl -> CreateShaderResourceView(This,pResource,pDesc,DestDescriptor) ) | ||
| 19177 | |||
| 19178 | #define ID3D12Device7_CreateUnorderedAccessView(This,pResource,pCounterResource,pDesc,DestDescriptor) \ | ||
| 19179 | ( (This)->lpVtbl -> CreateUnorderedAccessView(This,pResource,pCounterResource,pDesc,DestDescriptor) ) | ||
| 19180 | |||
| 19181 | #define ID3D12Device7_CreateRenderTargetView(This,pResource,pDesc,DestDescriptor) \ | ||
| 19182 | ( (This)->lpVtbl -> CreateRenderTargetView(This,pResource,pDesc,DestDescriptor) ) | ||
| 19183 | |||
| 19184 | #define ID3D12Device7_CreateDepthStencilView(This,pResource,pDesc,DestDescriptor) \ | ||
| 19185 | ( (This)->lpVtbl -> CreateDepthStencilView(This,pResource,pDesc,DestDescriptor) ) | ||
| 19186 | |||
| 19187 | #define ID3D12Device7_CreateSampler(This,pDesc,DestDescriptor) \ | ||
| 19188 | ( (This)->lpVtbl -> CreateSampler(This,pDesc,DestDescriptor) ) | ||
| 19189 | |||
| 19190 | #define ID3D12Device7_CopyDescriptors(This,NumDestDescriptorRanges,pDestDescriptorRangeStarts,pDestDescriptorRangeSizes,NumSrcDescriptorRanges,pSrcDescriptorRangeStarts,pSrcDescriptorRangeSizes,DescriptorHeapsType) \ | ||
| 19191 | ( (This)->lpVtbl -> CopyDescriptors(This,NumDestDescriptorRanges,pDestDescriptorRangeStarts,pDestDescriptorRangeSizes,NumSrcDescriptorRanges,pSrcDescriptorRangeStarts,pSrcDescriptorRangeSizes,DescriptorHeapsType) ) | ||
| 19192 | |||
| 19193 | #define ID3D12Device7_CopyDescriptorsSimple(This,NumDescriptors,DestDescriptorRangeStart,SrcDescriptorRangeStart,DescriptorHeapsType) \ | ||
| 19194 | ( (This)->lpVtbl -> CopyDescriptorsSimple(This,NumDescriptors,DestDescriptorRangeStart,SrcDescriptorRangeStart,DescriptorHeapsType) ) | ||
| 19195 | #if !defined(_WIN32) | ||
| 19196 | |||
| 19197 | #define ID3D12Device7_GetResourceAllocationInfo(This,visibleMask,numResourceDescs,pResourceDescs) \ | ||
| 19198 | ( (This)->lpVtbl -> GetResourceAllocationInfo(This,visibleMask,numResourceDescs,pResourceDescs) ) | ||
| 19199 | #else | ||
| 19200 | #define ID3D12Device7_GetResourceAllocationInfo(This,RetVal,visibleMask,numResourceDescs,pResourceDescs) \ | ||
| 19201 | ( (This)->lpVtbl -> GetResourceAllocationInfo(This,RetVal,visibleMask,numResourceDescs,pResourceDescs) ) | ||
| 19202 | #endif | ||
| 19203 | #if !defined(_WIN32) | ||
| 19204 | |||
| 19205 | #define ID3D12Device7_GetCustomHeapProperties(This,nodeMask,heapType) \ | ||
| 19206 | ( (This)->lpVtbl -> GetCustomHeapProperties(This,nodeMask,heapType) ) | ||
| 19207 | #else | ||
| 19208 | #define ID3D12Device7_GetCustomHeapProperties(This,RetVal,nodeMask,heapType) \ | ||
| 19209 | ( (This)->lpVtbl -> GetCustomHeapProperties(This,RetVal,nodeMask,heapType) ) | ||
| 19210 | #endif | ||
| 19211 | |||
| 19212 | #define ID3D12Device7_CreateCommittedResource(This,pHeapProperties,HeapFlags,pDesc,InitialResourceState,pOptimizedClearValue,riidResource,ppvResource) \ | ||
| 19213 | ( (This)->lpVtbl -> CreateCommittedResource(This,pHeapProperties,HeapFlags,pDesc,InitialResourceState,pOptimizedClearValue,riidResource,ppvResource) ) | ||
| 19214 | |||
| 19215 | #define ID3D12Device7_CreateHeap(This,pDesc,riid,ppvHeap) \ | ||
| 19216 | ( (This)->lpVtbl -> CreateHeap(This,pDesc,riid,ppvHeap) ) | ||
| 19217 | |||
| 19218 | #define ID3D12Device7_CreatePlacedResource(This,pHeap,HeapOffset,pDesc,InitialState,pOptimizedClearValue,riid,ppvResource) \ | ||
| 19219 | ( (This)->lpVtbl -> CreatePlacedResource(This,pHeap,HeapOffset,pDesc,InitialState,pOptimizedClearValue,riid,ppvResource) ) | ||
| 19220 | |||
| 19221 | #define ID3D12Device7_CreateReservedResource(This,pDesc,InitialState,pOptimizedClearValue,riid,ppvResource) \ | ||
| 19222 | ( (This)->lpVtbl -> CreateReservedResource(This,pDesc,InitialState,pOptimizedClearValue,riid,ppvResource) ) | ||
| 19223 | |||
| 19224 | #define ID3D12Device7_CreateSharedHandle(This,pObject,pAttributes,Access,Name,pHandle) \ | ||
| 19225 | ( (This)->lpVtbl -> CreateSharedHandle(This,pObject,pAttributes,Access,Name,pHandle) ) | ||
| 19226 | |||
| 19227 | #define ID3D12Device7_OpenSharedHandle(This,NTHandle,riid,ppvObj) \ | ||
| 19228 | ( (This)->lpVtbl -> OpenSharedHandle(This,NTHandle,riid,ppvObj) ) | ||
| 19229 | |||
| 19230 | #define ID3D12Device7_OpenSharedHandleByName(This,Name,Access,pNTHandle) \ | ||
| 19231 | ( (This)->lpVtbl -> OpenSharedHandleByName(This,Name,Access,pNTHandle) ) | ||
| 19232 | |||
| 19233 | #define ID3D12Device7_MakeResident(This,NumObjects,ppObjects) \ | ||
| 19234 | ( (This)->lpVtbl -> MakeResident(This,NumObjects,ppObjects) ) | ||
| 19235 | |||
| 19236 | #define ID3D12Device7_Evict(This,NumObjects,ppObjects) \ | ||
| 19237 | ( (This)->lpVtbl -> Evict(This,NumObjects,ppObjects) ) | ||
| 19238 | |||
| 19239 | #define ID3D12Device7_CreateFence(This,InitialValue,Flags,riid,ppFence) \ | ||
| 19240 | ( (This)->lpVtbl -> CreateFence(This,InitialValue,Flags,riid,ppFence) ) | ||
| 19241 | |||
| 19242 | #define ID3D12Device7_GetDeviceRemovedReason(This) \ | ||
| 19243 | ( (This)->lpVtbl -> GetDeviceRemovedReason(This) ) | ||
| 19244 | |||
| 19245 | #define ID3D12Device7_GetCopyableFootprints(This,pResourceDesc,FirstSubresource,NumSubresources,BaseOffset,pLayouts,pNumRows,pRowSizeInBytes,pTotalBytes) \ | ||
| 19246 | ( (This)->lpVtbl -> GetCopyableFootprints(This,pResourceDesc,FirstSubresource,NumSubresources,BaseOffset,pLayouts,pNumRows,pRowSizeInBytes,pTotalBytes) ) | ||
| 19247 | |||
| 19248 | #define ID3D12Device7_CreateQueryHeap(This,pDesc,riid,ppvHeap) \ | ||
| 19249 | ( (This)->lpVtbl -> CreateQueryHeap(This,pDesc,riid,ppvHeap) ) | ||
| 19250 | |||
| 19251 | #define ID3D12Device7_SetStablePowerState(This,Enable) \ | ||
| 19252 | ( (This)->lpVtbl -> SetStablePowerState(This,Enable) ) | ||
| 19253 | |||
| 19254 | #define ID3D12Device7_CreateCommandSignature(This,pDesc,pRootSignature,riid,ppvCommandSignature) \ | ||
| 19255 | ( (This)->lpVtbl -> CreateCommandSignature(This,pDesc,pRootSignature,riid,ppvCommandSignature) ) | ||
| 19256 | |||
| 19257 | #define ID3D12Device7_GetResourceTiling(This,pTiledResource,pNumTilesForEntireResource,pPackedMipDesc,pStandardTileShapeForNonPackedMips,pNumSubresourceTilings,FirstSubresourceTilingToGet,pSubresourceTilingsForNonPackedMips) \ | ||
| 19258 | ( (This)->lpVtbl -> GetResourceTiling(This,pTiledResource,pNumTilesForEntireResource,pPackedMipDesc,pStandardTileShapeForNonPackedMips,pNumSubresourceTilings,FirstSubresourceTilingToGet,pSubresourceTilingsForNonPackedMips) ) | ||
| 19259 | #if !defined(_WIN32) | ||
| 19260 | |||
| 19261 | #define ID3D12Device7_GetAdapterLuid(This) \ | ||
| 19262 | ( (This)->lpVtbl -> GetAdapterLuid(This) ) | ||
| 19263 | #else | ||
| 19264 | #define ID3D12Device7_GetAdapterLuid(This,RetVal) \ | ||
| 19265 | ( (This)->lpVtbl -> GetAdapterLuid(This,RetVal) ) | ||
| 19266 | #endif | ||
| 19267 | |||
| 19268 | |||
| 19269 | #define ID3D12Device7_CreatePipelineLibrary(This,pLibraryBlob,BlobLength,riid,ppPipelineLibrary) \ | ||
| 19270 | ( (This)->lpVtbl -> CreatePipelineLibrary(This,pLibraryBlob,BlobLength,riid,ppPipelineLibrary) ) | ||
| 19271 | |||
| 19272 | #define ID3D12Device7_SetEventOnMultipleFenceCompletion(This,ppFences,pFenceValues,NumFences,Flags,hEvent) \ | ||
| 19273 | ( (This)->lpVtbl -> SetEventOnMultipleFenceCompletion(This,ppFences,pFenceValues,NumFences,Flags,hEvent) ) | ||
| 19274 | |||
| 19275 | #define ID3D12Device7_SetResidencyPriority(This,NumObjects,ppObjects,pPriorities) \ | ||
| 19276 | ( (This)->lpVtbl -> SetResidencyPriority(This,NumObjects,ppObjects,pPriorities) ) | ||
| 19277 | |||
| 19278 | |||
| 19279 | #define ID3D12Device7_CreatePipelineState(This,pDesc,riid,ppPipelineState) \ | ||
| 19280 | ( (This)->lpVtbl -> CreatePipelineState(This,pDesc,riid,ppPipelineState) ) | ||
| 19281 | |||
| 19282 | |||
| 19283 | #define ID3D12Device7_OpenExistingHeapFromAddress(This,pAddress,riid,ppvHeap) \ | ||
| 19284 | ( (This)->lpVtbl -> OpenExistingHeapFromAddress(This,pAddress,riid,ppvHeap) ) | ||
| 19285 | |||
| 19286 | #define ID3D12Device7_OpenExistingHeapFromFileMapping(This,hFileMapping,riid,ppvHeap) \ | ||
| 19287 | ( (This)->lpVtbl -> OpenExistingHeapFromFileMapping(This,hFileMapping,riid,ppvHeap) ) | ||
| 19288 | |||
| 19289 | #define ID3D12Device7_EnqueueMakeResident(This,Flags,NumObjects,ppObjects,pFenceToSignal,FenceValueToSignal) \ | ||
| 19290 | ( (This)->lpVtbl -> EnqueueMakeResident(This,Flags,NumObjects,ppObjects,pFenceToSignal,FenceValueToSignal) ) | ||
| 19291 | |||
| 19292 | |||
| 19293 | #define ID3D12Device7_CreateCommandList1(This,nodeMask,type,flags,riid,ppCommandList) \ | ||
| 19294 | ( (This)->lpVtbl -> CreateCommandList1(This,nodeMask,type,flags,riid,ppCommandList) ) | ||
| 19295 | |||
| 19296 | #define ID3D12Device7_CreateProtectedResourceSession(This,pDesc,riid,ppSession) \ | ||
| 19297 | ( (This)->lpVtbl -> CreateProtectedResourceSession(This,pDesc,riid,ppSession) ) | ||
| 19298 | |||
| 19299 | #define ID3D12Device7_CreateCommittedResource1(This,pHeapProperties,HeapFlags,pDesc,InitialResourceState,pOptimizedClearValue,pProtectedSession,riidResource,ppvResource) \ | ||
| 19300 | ( (This)->lpVtbl -> CreateCommittedResource1(This,pHeapProperties,HeapFlags,pDesc,InitialResourceState,pOptimizedClearValue,pProtectedSession,riidResource,ppvResource) ) | ||
| 19301 | |||
| 19302 | #define ID3D12Device7_CreateHeap1(This,pDesc,pProtectedSession,riid,ppvHeap) \ | ||
| 19303 | ( (This)->lpVtbl -> CreateHeap1(This,pDesc,pProtectedSession,riid,ppvHeap) ) | ||
| 19304 | |||
| 19305 | #define ID3D12Device7_CreateReservedResource1(This,pDesc,InitialState,pOptimizedClearValue,pProtectedSession,riid,ppvResource) \ | ||
| 19306 | ( (This)->lpVtbl -> CreateReservedResource1(This,pDesc,InitialState,pOptimizedClearValue,pProtectedSession,riid,ppvResource) ) | ||
| 19307 | #if !defined(_WIN32) | ||
| 19308 | |||
| 19309 | #define ID3D12Device7_GetResourceAllocationInfo1(This,visibleMask,numResourceDescs,pResourceDescs,pResourceAllocationInfo1) \ | ||
| 19310 | ( (This)->lpVtbl -> GetResourceAllocationInfo1(This,visibleMask,numResourceDescs,pResourceDescs,pResourceAllocationInfo1) ) | ||
| 19311 | #else | ||
| 19312 | #define ID3D12Device7_GetResourceAllocationInfo1(This,RetVal,visibleMask,numResourceDescs,pResourceDescs,pResourceAllocationInfo1) \ | ||
| 19313 | ( (This)->lpVtbl -> GetResourceAllocationInfo1(This,RetVal,visibleMask,numResourceDescs,pResourceDescs,pResourceAllocationInfo1) ) | ||
| 19314 | #endif | ||
| 19315 | |||
| 19316 | |||
| 19317 | #define ID3D12Device7_CreateLifetimeTracker(This,pOwner,riid,ppvTracker) \ | ||
| 19318 | ( (This)->lpVtbl -> CreateLifetimeTracker(This,pOwner,riid,ppvTracker) ) | ||
| 19319 | |||
| 19320 | #define ID3D12Device7_RemoveDevice(This) \ | ||
| 19321 | ( (This)->lpVtbl -> RemoveDevice(This) ) | ||
| 19322 | |||
| 19323 | #define ID3D12Device7_EnumerateMetaCommands(This,pNumMetaCommands,pDescs) \ | ||
| 19324 | ( (This)->lpVtbl -> EnumerateMetaCommands(This,pNumMetaCommands,pDescs) ) | ||
| 19325 | |||
| 19326 | #define ID3D12Device7_EnumerateMetaCommandParameters(This,CommandId,Stage,pTotalStructureSizeInBytes,pParameterCount,pParameterDescs) \ | ||
| 19327 | ( (This)->lpVtbl -> EnumerateMetaCommandParameters(This,CommandId,Stage,pTotalStructureSizeInBytes,pParameterCount,pParameterDescs) ) | ||
| 19328 | |||
| 19329 | #define ID3D12Device7_CreateMetaCommand(This,CommandId,NodeMask,pCreationParametersData,CreationParametersDataSizeInBytes,riid,ppMetaCommand) \ | ||
| 19330 | ( (This)->lpVtbl -> CreateMetaCommand(This,CommandId,NodeMask,pCreationParametersData,CreationParametersDataSizeInBytes,riid,ppMetaCommand) ) | ||
| 19331 | |||
| 19332 | #define ID3D12Device7_CreateStateObject(This,pDesc,riid,ppStateObject) \ | ||
| 19333 | ( (This)->lpVtbl -> CreateStateObject(This,pDesc,riid,ppStateObject) ) | ||
| 19334 | |||
| 19335 | #define ID3D12Device7_GetRaytracingAccelerationStructurePrebuildInfo(This,pDesc,pInfo) \ | ||
| 19336 | ( (This)->lpVtbl -> GetRaytracingAccelerationStructurePrebuildInfo(This,pDesc,pInfo) ) | ||
| 19337 | |||
| 19338 | #define ID3D12Device7_CheckDriverMatchingIdentifier(This,SerializedDataType,pIdentifierToCheck) \ | ||
| 19339 | ( (This)->lpVtbl -> CheckDriverMatchingIdentifier(This,SerializedDataType,pIdentifierToCheck) ) | ||
| 19340 | |||
| 19341 | |||
| 19342 | #define ID3D12Device7_SetBackgroundProcessingMode(This,Mode,MeasurementsAction,hEventToSignalUponCompletion,pbFurtherMeasurementsDesired) \ | ||
| 19343 | ( (This)->lpVtbl -> SetBackgroundProcessingMode(This,Mode,MeasurementsAction,hEventToSignalUponCompletion,pbFurtherMeasurementsDesired) ) | ||
| 19344 | |||
| 19345 | |||
| 19346 | #define ID3D12Device7_AddToStateObject(This,pAddition,pStateObjectToGrowFrom,riid,ppNewStateObject) \ | ||
| 19347 | ( (This)->lpVtbl -> AddToStateObject(This,pAddition,pStateObjectToGrowFrom,riid,ppNewStateObject) ) | ||
| 19348 | |||
| 19349 | #define ID3D12Device7_CreateProtectedResourceSession1(This,pDesc,riid,ppSession) \ | ||
| 19350 | ( (This)->lpVtbl -> CreateProtectedResourceSession1(This,pDesc,riid,ppSession) ) | ||
| 19351 | |||
| 19352 | #endif /* COBJMACROS */ | ||
| 19353 | |||
| 19354 | |||
| 19355 | #endif /* C style interface */ | ||
| 19356 | |||
| 19357 | |||
| 19358 | |||
| 19359 | |||
| 19360 | #endif /* __ID3D12Device7_INTERFACE_DEFINED__ */ | ||
| 19361 | |||
| 19362 | |||
| 19363 | #ifndef __ID3D12Device8_INTERFACE_DEFINED__ | ||
| 19364 | #define __ID3D12Device8_INTERFACE_DEFINED__ | ||
| 19365 | |||
| 19366 | /* interface ID3D12Device8 */ | ||
| 19367 | /* [unique][local][object][uuid] */ | ||
| 19368 | |||
| 19369 | |||
| 19370 | EXTERN_C const IID IID_ID3D12Device8; | ||
| 19371 | |||
| 19372 | #if defined(__cplusplus) && !defined(CINTERFACE) | ||
| 19373 | |||
| 19374 | MIDL_INTERFACE("9218E6BB-F944-4F7E-A75C-B1B2C7B701F3") | ||
| 19375 | ID3D12Device8 : public ID3D12Device7 | ||
| 19376 | { | ||
| 19377 | public: | ||
| 19378 | #if defined(_MSC_VER) || !defined(_WIN32) | ||
| 19379 | virtual D3D12_RESOURCE_ALLOCATION_INFO STDMETHODCALLTYPE GetResourceAllocationInfo2( | ||
| 19380 | UINT visibleMask, | ||
| 19381 | UINT numResourceDescs, | ||
| 19382 | _In_reads_(numResourceDescs) const D3D12_RESOURCE_DESC1 *pResourceDescs, | ||
| 19383 | _Out_writes_opt_(numResourceDescs) D3D12_RESOURCE_ALLOCATION_INFO1 *pResourceAllocationInfo1) = 0; | ||
| 19384 | #else | ||
| 19385 | virtual D3D12_RESOURCE_ALLOCATION_INFO *STDMETHODCALLTYPE GetResourceAllocationInfo2( | ||
| 19386 | D3D12_RESOURCE_ALLOCATION_INFO * RetVal, | ||
| 19387 | UINT visibleMask, | ||
| 19388 | UINT numResourceDescs, | ||
| 19389 | _In_reads_(numResourceDescs) const D3D12_RESOURCE_DESC1 *pResourceDescs, | ||
| 19390 | _Out_writes_opt_(numResourceDescs) D3D12_RESOURCE_ALLOCATION_INFO1 *pResourceAllocationInfo1) = 0; | ||
| 19391 | #endif | ||
| 19392 | |||
| 19393 | virtual HRESULT STDMETHODCALLTYPE CreateCommittedResource2( | ||
| 19394 | _In_ const D3D12_HEAP_PROPERTIES *pHeapProperties, | ||
| 19395 | D3D12_HEAP_FLAGS HeapFlags, | ||
| 19396 | _In_ const D3D12_RESOURCE_DESC1 *pDesc, | ||
| 19397 | D3D12_RESOURCE_STATES InitialResourceState, | ||
| 19398 | _In_opt_ const D3D12_CLEAR_VALUE *pOptimizedClearValue, | ||
| 19399 | _In_opt_ ID3D12ProtectedResourceSession *pProtectedSession, | ||
| 19400 | REFIID riidResource, | ||
| 19401 | _COM_Outptr_opt_ void **ppvResource) = 0; | ||
| 19402 | |||
| 19403 | virtual HRESULT STDMETHODCALLTYPE CreatePlacedResource1( | ||
| 19404 | _In_ ID3D12Heap *pHeap, | ||
| 19405 | UINT64 HeapOffset, | ||
| 19406 | _In_ const D3D12_RESOURCE_DESC1 *pDesc, | ||
| 19407 | D3D12_RESOURCE_STATES InitialState, | ||
| 19408 | _In_opt_ const D3D12_CLEAR_VALUE *pOptimizedClearValue, | ||
| 19409 | REFIID riid, | ||
| 19410 | _COM_Outptr_opt_ void **ppvResource) = 0; | ||
| 19411 | |||
| 19412 | virtual void STDMETHODCALLTYPE CreateSamplerFeedbackUnorderedAccessView( | ||
| 19413 | _In_opt_ ID3D12Resource *pTargetedResource, | ||
| 19414 | _In_opt_ ID3D12Resource *pFeedbackResource, | ||
| 19415 | _In_ D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor) = 0; | ||
| 19416 | |||
| 19417 | virtual void STDMETHODCALLTYPE GetCopyableFootprints1( | ||
| 19418 | _In_ const D3D12_RESOURCE_DESC1 *pResourceDesc, | ||
| 19419 | _In_range_(0,D3D12_REQ_SUBRESOURCES) UINT FirstSubresource, | ||
| 19420 | _In_range_(0,D3D12_REQ_SUBRESOURCES-FirstSubresource) UINT NumSubresources, | ||
| 19421 | UINT64 BaseOffset, | ||
| 19422 | _Out_writes_opt_(NumSubresources) D3D12_PLACED_SUBRESOURCE_FOOTPRINT *pLayouts, | ||
| 19423 | _Out_writes_opt_(NumSubresources) UINT *pNumRows, | ||
| 19424 | _Out_writes_opt_(NumSubresources) UINT64 *pRowSizeInBytes, | ||
| 19425 | _Out_opt_ UINT64 *pTotalBytes) = 0; | ||
| 19426 | |||
| 19427 | }; | ||
| 19428 | |||
| 19429 | |||
| 19430 | #else /* C style interface */ | ||
| 19431 | |||
| 19432 | typedef struct ID3D12Device8Vtbl | ||
| 19433 | { | ||
| 19434 | BEGIN_INTERFACE | ||
| 19435 | |||
| 19436 | DECLSPEC_XFGVIRT(IUnknown, QueryInterface) | ||
| 19437 | HRESULT ( STDMETHODCALLTYPE *QueryInterface )( | ||
| 19438 | ID3D12Device8 * This, | ||
| 19439 | REFIID riid, | ||
| 19440 | _COM_Outptr_ void **ppvObject); | ||
| 19441 | |||
| 19442 | DECLSPEC_XFGVIRT(IUnknown, AddRef) | ||
| 19443 | ULONG ( STDMETHODCALLTYPE *AddRef )( | ||
| 19444 | ID3D12Device8 * This); | ||
| 19445 | |||
| 19446 | DECLSPEC_XFGVIRT(IUnknown, Release) | ||
| 19447 | ULONG ( STDMETHODCALLTYPE *Release )( | ||
| 19448 | ID3D12Device8 * This); | ||
| 19449 | |||
| 19450 | DECLSPEC_XFGVIRT(ID3D12Object, GetPrivateData) | ||
| 19451 | HRESULT ( STDMETHODCALLTYPE *GetPrivateData )( | ||
| 19452 | ID3D12Device8 * This, | ||
| 19453 | _In_ REFGUID guid, | ||
| 19454 | _Inout_ UINT *pDataSize, | ||
| 19455 | _Out_writes_bytes_opt_( *pDataSize ) void *pData); | ||
| 19456 | |||
| 19457 | DECLSPEC_XFGVIRT(ID3D12Object, SetPrivateData) | ||
| 19458 | HRESULT ( STDMETHODCALLTYPE *SetPrivateData )( | ||
| 19459 | ID3D12Device8 * This, | ||
| 19460 | _In_ REFGUID guid, | ||
| 19461 | _In_ UINT DataSize, | ||
| 19462 | _In_reads_bytes_opt_( DataSize ) const void *pData); | ||
| 19463 | |||
| 19464 | DECLSPEC_XFGVIRT(ID3D12Object, SetPrivateDataInterface) | ||
| 19465 | HRESULT ( STDMETHODCALLTYPE *SetPrivateDataInterface )( | ||
| 19466 | ID3D12Device8 * This, | ||
| 19467 | _In_ REFGUID guid, | ||
| 19468 | _In_opt_ const IUnknown *pData); | ||
| 19469 | |||
| 19470 | DECLSPEC_XFGVIRT(ID3D12Object, SetName) | ||
| 19471 | HRESULT ( STDMETHODCALLTYPE *SetName )( | ||
| 19472 | ID3D12Device8 * This, | ||
| 19473 | _In_z_ LPCWSTR Name); | ||
| 19474 | |||
| 19475 | DECLSPEC_XFGVIRT(ID3D12Device, GetNodeCount) | ||
| 19476 | UINT ( STDMETHODCALLTYPE *GetNodeCount )( | ||
| 19477 | ID3D12Device8 * This); | ||
| 19478 | |||
| 19479 | DECLSPEC_XFGVIRT(ID3D12Device, CreateCommandQueue) | ||
| 19480 | HRESULT ( STDMETHODCALLTYPE *CreateCommandQueue )( | ||
| 19481 | ID3D12Device8 * This, | ||
| 19482 | _In_ const D3D12_COMMAND_QUEUE_DESC *pDesc, | ||
| 19483 | REFIID riid, | ||
| 19484 | _COM_Outptr_ void **ppCommandQueue); | ||
| 19485 | |||
| 19486 | DECLSPEC_XFGVIRT(ID3D12Device, CreateCommandAllocator) | ||
| 19487 | HRESULT ( STDMETHODCALLTYPE *CreateCommandAllocator )( | ||
| 19488 | ID3D12Device8 * This, | ||
| 19489 | _In_ D3D12_COMMAND_LIST_TYPE type, | ||
| 19490 | REFIID riid, | ||
| 19491 | _COM_Outptr_ void **ppCommandAllocator); | ||
| 19492 | |||
| 19493 | DECLSPEC_XFGVIRT(ID3D12Device, CreateGraphicsPipelineState) | ||
| 19494 | HRESULT ( STDMETHODCALLTYPE *CreateGraphicsPipelineState )( | ||
| 19495 | ID3D12Device8 * This, | ||
| 19496 | _In_ const D3D12_GRAPHICS_PIPELINE_STATE_DESC *pDesc, | ||
| 19497 | REFIID riid, | ||
| 19498 | _COM_Outptr_ void **ppPipelineState); | ||
| 19499 | |||
| 19500 | DECLSPEC_XFGVIRT(ID3D12Device, CreateComputePipelineState) | ||
| 19501 | HRESULT ( STDMETHODCALLTYPE *CreateComputePipelineState )( | ||
| 19502 | ID3D12Device8 * This, | ||
| 19503 | _In_ const D3D12_COMPUTE_PIPELINE_STATE_DESC *pDesc, | ||
| 19504 | REFIID riid, | ||
| 19505 | _COM_Outptr_ void **ppPipelineState); | ||
| 19506 | |||
| 19507 | DECLSPEC_XFGVIRT(ID3D12Device, CreateCommandList) | ||
| 19508 | HRESULT ( STDMETHODCALLTYPE *CreateCommandList )( | ||
| 19509 | ID3D12Device8 * This, | ||
| 19510 | _In_ UINT nodeMask, | ||
| 19511 | _In_ D3D12_COMMAND_LIST_TYPE type, | ||
| 19512 | _In_ ID3D12CommandAllocator *pCommandAllocator, | ||
| 19513 | _In_opt_ ID3D12PipelineState *pInitialState, | ||
| 19514 | REFIID riid, | ||
| 19515 | _COM_Outptr_ void **ppCommandList); | ||
| 19516 | |||
| 19517 | DECLSPEC_XFGVIRT(ID3D12Device, CheckFeatureSupport) | ||
| 19518 | HRESULT ( STDMETHODCALLTYPE *CheckFeatureSupport )( | ||
| 19519 | ID3D12Device8 * This, | ||
| 19520 | D3D12_FEATURE Feature, | ||
| 19521 | _Inout_updates_bytes_(FeatureSupportDataSize) void *pFeatureSupportData, | ||
| 19522 | UINT FeatureSupportDataSize); | ||
| 19523 | |||
| 19524 | DECLSPEC_XFGVIRT(ID3D12Device, CreateDescriptorHeap) | ||
| 19525 | HRESULT ( STDMETHODCALLTYPE *CreateDescriptorHeap )( | ||
| 19526 | ID3D12Device8 * This, | ||
| 19527 | _In_ const D3D12_DESCRIPTOR_HEAP_DESC *pDescriptorHeapDesc, | ||
| 19528 | REFIID riid, | ||
| 19529 | _COM_Outptr_ void **ppvHeap); | ||
| 19530 | |||
| 19531 | DECLSPEC_XFGVIRT(ID3D12Device, GetDescriptorHandleIncrementSize) | ||
| 19532 | UINT ( STDMETHODCALLTYPE *GetDescriptorHandleIncrementSize )( | ||
| 19533 | ID3D12Device8 * This, | ||
| 19534 | _In_ D3D12_DESCRIPTOR_HEAP_TYPE DescriptorHeapType); | ||
| 19535 | |||
| 19536 | DECLSPEC_XFGVIRT(ID3D12Device, CreateRootSignature) | ||
| 19537 | HRESULT ( STDMETHODCALLTYPE *CreateRootSignature )( | ||
| 19538 | ID3D12Device8 * This, | ||
| 19539 | _In_ UINT nodeMask, | ||
| 19540 | _In_reads_(blobLengthInBytes) const void *pBlobWithRootSignature, | ||
| 19541 | _In_ SIZE_T blobLengthInBytes, | ||
| 19542 | REFIID riid, | ||
| 19543 | _COM_Outptr_ void **ppvRootSignature); | ||
| 19544 | |||
| 19545 | DECLSPEC_XFGVIRT(ID3D12Device, CreateConstantBufferView) | ||
| 19546 | void ( STDMETHODCALLTYPE *CreateConstantBufferView )( | ||
| 19547 | ID3D12Device8 * This, | ||
| 19548 | _In_opt_ const D3D12_CONSTANT_BUFFER_VIEW_DESC *pDesc, | ||
| 19549 | _In_ D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor); | ||
| 19550 | |||
| 19551 | DECLSPEC_XFGVIRT(ID3D12Device, CreateShaderResourceView) | ||
| 19552 | void ( STDMETHODCALLTYPE *CreateShaderResourceView )( | ||
| 19553 | ID3D12Device8 * This, | ||
| 19554 | _In_opt_ ID3D12Resource *pResource, | ||
| 19555 | _In_opt_ const D3D12_SHADER_RESOURCE_VIEW_DESC *pDesc, | ||
| 19556 | _In_ D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor); | ||
| 19557 | |||
| 19558 | DECLSPEC_XFGVIRT(ID3D12Device, CreateUnorderedAccessView) | ||
| 19559 | void ( STDMETHODCALLTYPE *CreateUnorderedAccessView )( | ||
| 19560 | ID3D12Device8 * This, | ||
| 19561 | _In_opt_ ID3D12Resource *pResource, | ||
| 19562 | _In_opt_ ID3D12Resource *pCounterResource, | ||
| 19563 | _In_opt_ const D3D12_UNORDERED_ACCESS_VIEW_DESC *pDesc, | ||
| 19564 | _In_ D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor); | ||
| 19565 | |||
| 19566 | DECLSPEC_XFGVIRT(ID3D12Device, CreateRenderTargetView) | ||
| 19567 | void ( STDMETHODCALLTYPE *CreateRenderTargetView )( | ||
| 19568 | ID3D12Device8 * This, | ||
| 19569 | _In_opt_ ID3D12Resource *pResource, | ||
| 19570 | _In_opt_ const D3D12_RENDER_TARGET_VIEW_DESC *pDesc, | ||
| 19571 | _In_ D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor); | ||
| 19572 | |||
| 19573 | DECLSPEC_XFGVIRT(ID3D12Device, CreateDepthStencilView) | ||
| 19574 | void ( STDMETHODCALLTYPE *CreateDepthStencilView )( | ||
| 19575 | ID3D12Device8 * This, | ||
| 19576 | _In_opt_ ID3D12Resource *pResource, | ||
| 19577 | _In_opt_ const D3D12_DEPTH_STENCIL_VIEW_DESC *pDesc, | ||
| 19578 | _In_ D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor); | ||
| 19579 | |||
| 19580 | DECLSPEC_XFGVIRT(ID3D12Device, CreateSampler) | ||
| 19581 | void ( STDMETHODCALLTYPE *CreateSampler )( | ||
| 19582 | ID3D12Device8 * This, | ||
| 19583 | _In_ const D3D12_SAMPLER_DESC *pDesc, | ||
| 19584 | _In_ D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor); | ||
| 19585 | |||
| 19586 | DECLSPEC_XFGVIRT(ID3D12Device, CopyDescriptors) | ||
| 19587 | void ( STDMETHODCALLTYPE *CopyDescriptors )( | ||
| 19588 | ID3D12Device8 * This, | ||
| 19589 | _In_ UINT NumDestDescriptorRanges, | ||
| 19590 | _In_reads_(NumDestDescriptorRanges) const D3D12_CPU_DESCRIPTOR_HANDLE *pDestDescriptorRangeStarts, | ||
| 19591 | _In_reads_opt_(NumDestDescriptorRanges) const UINT *pDestDescriptorRangeSizes, | ||
| 19592 | _In_ UINT NumSrcDescriptorRanges, | ||
| 19593 | _In_reads_(NumSrcDescriptorRanges) const D3D12_CPU_DESCRIPTOR_HANDLE *pSrcDescriptorRangeStarts, | ||
| 19594 | _In_reads_opt_(NumSrcDescriptorRanges) const UINT *pSrcDescriptorRangeSizes, | ||
| 19595 | _In_ D3D12_DESCRIPTOR_HEAP_TYPE DescriptorHeapsType); | ||
| 19596 | |||
| 19597 | DECLSPEC_XFGVIRT(ID3D12Device, CopyDescriptorsSimple) | ||
| 19598 | void ( STDMETHODCALLTYPE *CopyDescriptorsSimple )( | ||
| 19599 | ID3D12Device8 * This, | ||
| 19600 | _In_ UINT NumDescriptors, | ||
| 19601 | _In_ D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptorRangeStart, | ||
| 19602 | _In_ D3D12_CPU_DESCRIPTOR_HANDLE SrcDescriptorRangeStart, | ||
| 19603 | _In_ D3D12_DESCRIPTOR_HEAP_TYPE DescriptorHeapsType); | ||
| 19604 | |||
| 19605 | DECLSPEC_XFGVIRT(ID3D12Device, GetResourceAllocationInfo) | ||
| 19606 | #if !defined(_WIN32) | ||
| 19607 | D3D12_RESOURCE_ALLOCATION_INFO ( STDMETHODCALLTYPE *GetResourceAllocationInfo )( | ||
| 19608 | ID3D12Device8 * This, | ||
| 19609 | _In_ UINT visibleMask, | ||
| 19610 | _In_ UINT numResourceDescs, | ||
| 19611 | _In_reads_(numResourceDescs) const D3D12_RESOURCE_DESC *pResourceDescs); | ||
| 19612 | |||
| 19613 | #else | ||
| 19614 | D3D12_RESOURCE_ALLOCATION_INFO *( STDMETHODCALLTYPE *GetResourceAllocationInfo )( | ||
| 19615 | ID3D12Device8 * This, | ||
| 19616 | D3D12_RESOURCE_ALLOCATION_INFO * RetVal, | ||
| 19617 | _In_ UINT visibleMask, | ||
| 19618 | _In_ UINT numResourceDescs, | ||
| 19619 | _In_reads_(numResourceDescs) const D3D12_RESOURCE_DESC *pResourceDescs); | ||
| 19620 | |||
| 19621 | #endif | ||
| 19622 | |||
| 19623 | DECLSPEC_XFGVIRT(ID3D12Device, GetCustomHeapProperties) | ||
| 19624 | #if !defined(_WIN32) | ||
| 19625 | D3D12_HEAP_PROPERTIES ( STDMETHODCALLTYPE *GetCustomHeapProperties )( | ||
| 19626 | ID3D12Device8 * This, | ||
| 19627 | _In_ UINT nodeMask, | ||
| 19628 | D3D12_HEAP_TYPE heapType); | ||
| 19629 | |||
| 19630 | #else | ||
| 19631 | D3D12_HEAP_PROPERTIES *( STDMETHODCALLTYPE *GetCustomHeapProperties )( | ||
| 19632 | ID3D12Device8 * This, | ||
| 19633 | D3D12_HEAP_PROPERTIES * RetVal, | ||
| 19634 | _In_ UINT nodeMask, | ||
| 19635 | D3D12_HEAP_TYPE heapType); | ||
| 19636 | |||
| 19637 | #endif | ||
| 19638 | |||
| 19639 | DECLSPEC_XFGVIRT(ID3D12Device, CreateCommittedResource) | ||
| 19640 | HRESULT ( STDMETHODCALLTYPE *CreateCommittedResource )( | ||
| 19641 | ID3D12Device8 * This, | ||
| 19642 | _In_ const D3D12_HEAP_PROPERTIES *pHeapProperties, | ||
| 19643 | D3D12_HEAP_FLAGS HeapFlags, | ||
| 19644 | _In_ const D3D12_RESOURCE_DESC *pDesc, | ||
| 19645 | D3D12_RESOURCE_STATES InitialResourceState, | ||
| 19646 | _In_opt_ const D3D12_CLEAR_VALUE *pOptimizedClearValue, | ||
| 19647 | REFIID riidResource, | ||
| 19648 | _COM_Outptr_opt_ void **ppvResource); | ||
| 19649 | |||
| 19650 | DECLSPEC_XFGVIRT(ID3D12Device, CreateHeap) | ||
| 19651 | HRESULT ( STDMETHODCALLTYPE *CreateHeap )( | ||
| 19652 | ID3D12Device8 * This, | ||
| 19653 | _In_ const D3D12_HEAP_DESC *pDesc, | ||
| 19654 | REFIID riid, | ||
| 19655 | _COM_Outptr_opt_ void **ppvHeap); | ||
| 19656 | |||
| 19657 | DECLSPEC_XFGVIRT(ID3D12Device, CreatePlacedResource) | ||
| 19658 | HRESULT ( STDMETHODCALLTYPE *CreatePlacedResource )( | ||
| 19659 | ID3D12Device8 * This, | ||
| 19660 | _In_ ID3D12Heap *pHeap, | ||
| 19661 | UINT64 HeapOffset, | ||
| 19662 | _In_ const D3D12_RESOURCE_DESC *pDesc, | ||
| 19663 | D3D12_RESOURCE_STATES InitialState, | ||
| 19664 | _In_opt_ const D3D12_CLEAR_VALUE *pOptimizedClearValue, | ||
| 19665 | REFIID riid, | ||
| 19666 | _COM_Outptr_opt_ void **ppvResource); | ||
| 19667 | |||
| 19668 | DECLSPEC_XFGVIRT(ID3D12Device, CreateReservedResource) | ||
| 19669 | HRESULT ( STDMETHODCALLTYPE *CreateReservedResource )( | ||
| 19670 | ID3D12Device8 * This, | ||
| 19671 | _In_ const D3D12_RESOURCE_DESC *pDesc, | ||
| 19672 | D3D12_RESOURCE_STATES InitialState, | ||
| 19673 | _In_opt_ const D3D12_CLEAR_VALUE *pOptimizedClearValue, | ||
| 19674 | REFIID riid, | ||
| 19675 | _COM_Outptr_opt_ void **ppvResource); | ||
| 19676 | |||
| 19677 | DECLSPEC_XFGVIRT(ID3D12Device, CreateSharedHandle) | ||
| 19678 | HRESULT ( STDMETHODCALLTYPE *CreateSharedHandle )( | ||
| 19679 | ID3D12Device8 * This, | ||
| 19680 | _In_ ID3D12DeviceChild *pObject, | ||
| 19681 | _In_opt_ const SECURITY_ATTRIBUTES *pAttributes, | ||
| 19682 | DWORD Access, | ||
| 19683 | _In_opt_ LPCWSTR Name, | ||
| 19684 | _Out_ HANDLE *pHandle); | ||
| 19685 | |||
| 19686 | DECLSPEC_XFGVIRT(ID3D12Device, OpenSharedHandle) | ||
| 19687 | HRESULT ( STDMETHODCALLTYPE *OpenSharedHandle )( | ||
| 19688 | ID3D12Device8 * This, | ||
| 19689 | _In_ HANDLE NTHandle, | ||
| 19690 | REFIID riid, | ||
| 19691 | _COM_Outptr_opt_ void **ppvObj); | ||
| 19692 | |||
| 19693 | DECLSPEC_XFGVIRT(ID3D12Device, OpenSharedHandleByName) | ||
| 19694 | HRESULT ( STDMETHODCALLTYPE *OpenSharedHandleByName )( | ||
| 19695 | ID3D12Device8 * This, | ||
| 19696 | _In_ LPCWSTR Name, | ||
| 19697 | DWORD Access, | ||
| 19698 | /* [annotation][out] */ | ||
| 19699 | _Out_ HANDLE *pNTHandle); | ||
| 19700 | |||
| 19701 | DECLSPEC_XFGVIRT(ID3D12Device, MakeResident) | ||
| 19702 | HRESULT ( STDMETHODCALLTYPE *MakeResident )( | ||
| 19703 | ID3D12Device8 * This, | ||
| 19704 | UINT NumObjects, | ||
| 19705 | _In_reads_(NumObjects) ID3D12Pageable *const *ppObjects); | ||
| 19706 | |||
| 19707 | DECLSPEC_XFGVIRT(ID3D12Device, Evict) | ||
| 19708 | HRESULT ( STDMETHODCALLTYPE *Evict )( | ||
| 19709 | ID3D12Device8 * This, | ||
| 19710 | UINT NumObjects, | ||
| 19711 | _In_reads_(NumObjects) ID3D12Pageable *const *ppObjects); | ||
| 19712 | |||
| 19713 | DECLSPEC_XFGVIRT(ID3D12Device, CreateFence) | ||
| 19714 | HRESULT ( STDMETHODCALLTYPE *CreateFence )( | ||
| 19715 | ID3D12Device8 * This, | ||
| 19716 | UINT64 InitialValue, | ||
| 19717 | D3D12_FENCE_FLAGS Flags, | ||
| 19718 | REFIID riid, | ||
| 19719 | _COM_Outptr_ void **ppFence); | ||
| 19720 | |||
| 19721 | DECLSPEC_XFGVIRT(ID3D12Device, GetDeviceRemovedReason) | ||
| 19722 | HRESULT ( STDMETHODCALLTYPE *GetDeviceRemovedReason )( | ||
| 19723 | ID3D12Device8 * This); | ||
| 19724 | |||
| 19725 | DECLSPEC_XFGVIRT(ID3D12Device, GetCopyableFootprints) | ||
| 19726 | void ( STDMETHODCALLTYPE *GetCopyableFootprints )( | ||
| 19727 | ID3D12Device8 * This, | ||
| 19728 | _In_ const D3D12_RESOURCE_DESC *pResourceDesc, | ||
| 19729 | _In_range_(0,D3D12_REQ_SUBRESOURCES) UINT FirstSubresource, | ||
| 19730 | _In_range_(0,D3D12_REQ_SUBRESOURCES-FirstSubresource) UINT NumSubresources, | ||
| 19731 | UINT64 BaseOffset, | ||
| 19732 | _Out_writes_opt_(NumSubresources) D3D12_PLACED_SUBRESOURCE_FOOTPRINT *pLayouts, | ||
| 19733 | _Out_writes_opt_(NumSubresources) UINT *pNumRows, | ||
| 19734 | _Out_writes_opt_(NumSubresources) UINT64 *pRowSizeInBytes, | ||
| 19735 | _Out_opt_ UINT64 *pTotalBytes); | ||
| 19736 | |||
| 19737 | DECLSPEC_XFGVIRT(ID3D12Device, CreateQueryHeap) | ||
| 19738 | HRESULT ( STDMETHODCALLTYPE *CreateQueryHeap )( | ||
| 19739 | ID3D12Device8 * This, | ||
| 19740 | _In_ const D3D12_QUERY_HEAP_DESC *pDesc, | ||
| 19741 | REFIID riid, | ||
| 19742 | _COM_Outptr_opt_ void **ppvHeap); | ||
| 19743 | |||
| 19744 | DECLSPEC_XFGVIRT(ID3D12Device, SetStablePowerState) | ||
| 19745 | HRESULT ( STDMETHODCALLTYPE *SetStablePowerState )( | ||
| 19746 | ID3D12Device8 * This, | ||
| 19747 | BOOL Enable); | ||
| 19748 | |||
| 19749 | DECLSPEC_XFGVIRT(ID3D12Device, CreateCommandSignature) | ||
| 19750 | HRESULT ( STDMETHODCALLTYPE *CreateCommandSignature )( | ||
| 19751 | ID3D12Device8 * This, | ||
| 19752 | _In_ const D3D12_COMMAND_SIGNATURE_DESC *pDesc, | ||
| 19753 | _In_opt_ ID3D12RootSignature *pRootSignature, | ||
| 19754 | REFIID riid, | ||
| 19755 | _COM_Outptr_opt_ void **ppvCommandSignature); | ||
| 19756 | |||
| 19757 | DECLSPEC_XFGVIRT(ID3D12Device, GetResourceTiling) | ||
| 19758 | void ( STDMETHODCALLTYPE *GetResourceTiling )( | ||
| 19759 | ID3D12Device8 * This, | ||
| 19760 | _In_ ID3D12Resource *pTiledResource, | ||
| 19761 | _Out_opt_ UINT *pNumTilesForEntireResource, | ||
| 19762 | _Out_opt_ D3D12_PACKED_MIP_INFO *pPackedMipDesc, | ||
| 19763 | _Out_opt_ D3D12_TILE_SHAPE *pStandardTileShapeForNonPackedMips, | ||
| 19764 | _Inout_opt_ UINT *pNumSubresourceTilings, | ||
| 19765 | _In_ UINT FirstSubresourceTilingToGet, | ||
| 19766 | _Out_writes_(*pNumSubresourceTilings) D3D12_SUBRESOURCE_TILING *pSubresourceTilingsForNonPackedMips); | ||
| 19767 | |||
| 19768 | DECLSPEC_XFGVIRT(ID3D12Device, GetAdapterLuid) | ||
| 19769 | #if !defined(_WIN32) | ||
| 19770 | LUID ( STDMETHODCALLTYPE *GetAdapterLuid )( | ||
| 19771 | ID3D12Device8 * This); | ||
| 19772 | |||
| 19773 | #else | ||
| 19774 | LUID *( STDMETHODCALLTYPE *GetAdapterLuid )( | ||
| 19775 | ID3D12Device8 * This, | ||
| 19776 | LUID * RetVal); | ||
| 19777 | |||
| 19778 | #endif | ||
| 19779 | |||
| 19780 | DECLSPEC_XFGVIRT(ID3D12Device1, CreatePipelineLibrary) | ||
| 19781 | HRESULT ( STDMETHODCALLTYPE *CreatePipelineLibrary )( | ||
| 19782 | ID3D12Device8 * This, | ||
| 19783 | _In_reads_(BlobLength) const void *pLibraryBlob, | ||
| 19784 | SIZE_T BlobLength, | ||
| 19785 | REFIID riid, | ||
| 19786 | _COM_Outptr_ void **ppPipelineLibrary); | ||
| 19787 | |||
| 19788 | DECLSPEC_XFGVIRT(ID3D12Device1, SetEventOnMultipleFenceCompletion) | ||
| 19789 | HRESULT ( STDMETHODCALLTYPE *SetEventOnMultipleFenceCompletion )( | ||
| 19790 | ID3D12Device8 * This, | ||
| 19791 | _In_reads_(NumFences) ID3D12Fence *const *ppFences, | ||
| 19792 | _In_reads_(NumFences) const UINT64 *pFenceValues, | ||
| 19793 | UINT NumFences, | ||
| 19794 | D3D12_MULTIPLE_FENCE_WAIT_FLAGS Flags, | ||
| 19795 | HANDLE hEvent); | ||
| 19796 | |||
| 19797 | DECLSPEC_XFGVIRT(ID3D12Device1, SetResidencyPriority) | ||
| 19798 | HRESULT ( STDMETHODCALLTYPE *SetResidencyPriority )( | ||
| 19799 | ID3D12Device8 * This, | ||
| 19800 | UINT NumObjects, | ||
| 19801 | _In_reads_(NumObjects) ID3D12Pageable *const *ppObjects, | ||
| 19802 | _In_reads_(NumObjects) const D3D12_RESIDENCY_PRIORITY *pPriorities); | ||
| 19803 | |||
| 19804 | DECLSPEC_XFGVIRT(ID3D12Device2, CreatePipelineState) | ||
| 19805 | HRESULT ( STDMETHODCALLTYPE *CreatePipelineState )( | ||
| 19806 | ID3D12Device8 * This, | ||
| 19807 | const D3D12_PIPELINE_STATE_STREAM_DESC *pDesc, | ||
| 19808 | REFIID riid, | ||
| 19809 | _COM_Outptr_ void **ppPipelineState); | ||
| 19810 | |||
| 19811 | DECLSPEC_XFGVIRT(ID3D12Device3, OpenExistingHeapFromAddress) | ||
| 19812 | HRESULT ( STDMETHODCALLTYPE *OpenExistingHeapFromAddress )( | ||
| 19813 | ID3D12Device8 * This, | ||
| 19814 | _In_ const void *pAddress, | ||
| 19815 | REFIID riid, | ||
| 19816 | _COM_Outptr_ void **ppvHeap); | ||
| 19817 | |||
| 19818 | DECLSPEC_XFGVIRT(ID3D12Device3, OpenExistingHeapFromFileMapping) | ||
| 19819 | HRESULT ( STDMETHODCALLTYPE *OpenExistingHeapFromFileMapping )( | ||
| 19820 | ID3D12Device8 * This, | ||
| 19821 | _In_ HANDLE hFileMapping, | ||
| 19822 | REFIID riid, | ||
| 19823 | _COM_Outptr_ void **ppvHeap); | ||
| 19824 | |||
| 19825 | DECLSPEC_XFGVIRT(ID3D12Device3, EnqueueMakeResident) | ||
| 19826 | HRESULT ( STDMETHODCALLTYPE *EnqueueMakeResident )( | ||
| 19827 | ID3D12Device8 * This, | ||
| 19828 | D3D12_RESIDENCY_FLAGS Flags, | ||
| 19829 | UINT NumObjects, | ||
| 19830 | _In_reads_(NumObjects) ID3D12Pageable *const *ppObjects, | ||
| 19831 | _In_ ID3D12Fence *pFenceToSignal, | ||
| 19832 | UINT64 FenceValueToSignal); | ||
| 19833 | |||
| 19834 | DECLSPEC_XFGVIRT(ID3D12Device4, CreateCommandList1) | ||
| 19835 | HRESULT ( STDMETHODCALLTYPE *CreateCommandList1 )( | ||
| 19836 | ID3D12Device8 * This, | ||
| 19837 | _In_ UINT nodeMask, | ||
| 19838 | _In_ D3D12_COMMAND_LIST_TYPE type, | ||
| 19839 | _In_ D3D12_COMMAND_LIST_FLAGS flags, | ||
| 19840 | REFIID riid, | ||
| 19841 | _COM_Outptr_ void **ppCommandList); | ||
| 19842 | |||
| 19843 | DECLSPEC_XFGVIRT(ID3D12Device4, CreateProtectedResourceSession) | ||
| 19844 | HRESULT ( STDMETHODCALLTYPE *CreateProtectedResourceSession )( | ||
| 19845 | ID3D12Device8 * This, | ||
| 19846 | _In_ const D3D12_PROTECTED_RESOURCE_SESSION_DESC *pDesc, | ||
| 19847 | _In_ REFIID riid, | ||
| 19848 | _COM_Outptr_ void **ppSession); | ||
| 19849 | |||
| 19850 | DECLSPEC_XFGVIRT(ID3D12Device4, CreateCommittedResource1) | ||
| 19851 | HRESULT ( STDMETHODCALLTYPE *CreateCommittedResource1 )( | ||
| 19852 | ID3D12Device8 * This, | ||
| 19853 | _In_ const D3D12_HEAP_PROPERTIES *pHeapProperties, | ||
| 19854 | D3D12_HEAP_FLAGS HeapFlags, | ||
| 19855 | _In_ const D3D12_RESOURCE_DESC *pDesc, | ||
| 19856 | D3D12_RESOURCE_STATES InitialResourceState, | ||
| 19857 | _In_opt_ const D3D12_CLEAR_VALUE *pOptimizedClearValue, | ||
| 19858 | _In_opt_ ID3D12ProtectedResourceSession *pProtectedSession, | ||
| 19859 | REFIID riidResource, | ||
| 19860 | _COM_Outptr_opt_ void **ppvResource); | ||
| 19861 | |||
| 19862 | DECLSPEC_XFGVIRT(ID3D12Device4, CreateHeap1) | ||
| 19863 | HRESULT ( STDMETHODCALLTYPE *CreateHeap1 )( | ||
| 19864 | ID3D12Device8 * This, | ||
| 19865 | _In_ const D3D12_HEAP_DESC *pDesc, | ||
| 19866 | _In_opt_ ID3D12ProtectedResourceSession *pProtectedSession, | ||
| 19867 | REFIID riid, | ||
| 19868 | _COM_Outptr_opt_ void **ppvHeap); | ||
| 19869 | |||
| 19870 | DECLSPEC_XFGVIRT(ID3D12Device4, CreateReservedResource1) | ||
| 19871 | HRESULT ( STDMETHODCALLTYPE *CreateReservedResource1 )( | ||
| 19872 | ID3D12Device8 * This, | ||
| 19873 | _In_ const D3D12_RESOURCE_DESC *pDesc, | ||
| 19874 | D3D12_RESOURCE_STATES InitialState, | ||
| 19875 | _In_opt_ const D3D12_CLEAR_VALUE *pOptimizedClearValue, | ||
| 19876 | _In_opt_ ID3D12ProtectedResourceSession *pProtectedSession, | ||
| 19877 | REFIID riid, | ||
| 19878 | _COM_Outptr_opt_ void **ppvResource); | ||
| 19879 | |||
| 19880 | DECLSPEC_XFGVIRT(ID3D12Device4, GetResourceAllocationInfo1) | ||
| 19881 | #if !defined(_WIN32) | ||
| 19882 | D3D12_RESOURCE_ALLOCATION_INFO ( STDMETHODCALLTYPE *GetResourceAllocationInfo1 )( | ||
| 19883 | ID3D12Device8 * This, | ||
| 19884 | UINT visibleMask, | ||
| 19885 | UINT numResourceDescs, | ||
| 19886 | _In_reads_(numResourceDescs) const D3D12_RESOURCE_DESC *pResourceDescs, | ||
| 19887 | _Out_writes_opt_(numResourceDescs) D3D12_RESOURCE_ALLOCATION_INFO1 *pResourceAllocationInfo1); | ||
| 19888 | |||
| 19889 | #else | ||
| 19890 | D3D12_RESOURCE_ALLOCATION_INFO *( STDMETHODCALLTYPE *GetResourceAllocationInfo1 )( | ||
| 19891 | ID3D12Device8 * This, | ||
| 19892 | D3D12_RESOURCE_ALLOCATION_INFO * RetVal, | ||
| 19893 | UINT visibleMask, | ||
| 19894 | UINT numResourceDescs, | ||
| 19895 | _In_reads_(numResourceDescs) const D3D12_RESOURCE_DESC *pResourceDescs, | ||
| 19896 | _Out_writes_opt_(numResourceDescs) D3D12_RESOURCE_ALLOCATION_INFO1 *pResourceAllocationInfo1); | ||
| 19897 | |||
| 19898 | #endif | ||
| 19899 | |||
| 19900 | DECLSPEC_XFGVIRT(ID3D12Device5, CreateLifetimeTracker) | ||
| 19901 | HRESULT ( STDMETHODCALLTYPE *CreateLifetimeTracker )( | ||
| 19902 | ID3D12Device8 * This, | ||
| 19903 | _In_ ID3D12LifetimeOwner *pOwner, | ||
| 19904 | REFIID riid, | ||
| 19905 | _COM_Outptr_ void **ppvTracker); | ||
| 19906 | |||
| 19907 | DECLSPEC_XFGVIRT(ID3D12Device5, RemoveDevice) | ||
| 19908 | void ( STDMETHODCALLTYPE *RemoveDevice )( | ||
| 19909 | ID3D12Device8 * This); | ||
| 19910 | |||
| 19911 | DECLSPEC_XFGVIRT(ID3D12Device5, EnumerateMetaCommands) | ||
| 19912 | HRESULT ( STDMETHODCALLTYPE *EnumerateMetaCommands )( | ||
| 19913 | ID3D12Device8 * This, | ||
| 19914 | _Inout_ UINT *pNumMetaCommands, | ||
| 19915 | _Out_writes_opt_(*pNumMetaCommands) D3D12_META_COMMAND_DESC *pDescs); | ||
| 19916 | |||
| 19917 | DECLSPEC_XFGVIRT(ID3D12Device5, EnumerateMetaCommandParameters) | ||
| 19918 | HRESULT ( STDMETHODCALLTYPE *EnumerateMetaCommandParameters )( | ||
| 19919 | ID3D12Device8 * This, | ||
| 19920 | _In_ REFGUID CommandId, | ||
| 19921 | _In_ D3D12_META_COMMAND_PARAMETER_STAGE Stage, | ||
| 19922 | _Out_opt_ UINT *pTotalStructureSizeInBytes, | ||
| 19923 | _Inout_ UINT *pParameterCount, | ||
| 19924 | _Out_writes_opt_(*pParameterCount) D3D12_META_COMMAND_PARAMETER_DESC *pParameterDescs); | ||
| 19925 | |||
| 19926 | DECLSPEC_XFGVIRT(ID3D12Device5, CreateMetaCommand) | ||
| 19927 | HRESULT ( STDMETHODCALLTYPE *CreateMetaCommand )( | ||
| 19928 | ID3D12Device8 * This, | ||
| 19929 | _In_ REFGUID CommandId, | ||
| 19930 | _In_ UINT NodeMask, | ||
| 19931 | _In_reads_bytes_opt_(CreationParametersDataSizeInBytes) const void *pCreationParametersData, | ||
| 19932 | _In_ SIZE_T CreationParametersDataSizeInBytes, | ||
| 19933 | REFIID riid, | ||
| 19934 | _COM_Outptr_ void **ppMetaCommand); | ||
| 19935 | |||
| 19936 | DECLSPEC_XFGVIRT(ID3D12Device5, CreateStateObject) | ||
| 19937 | HRESULT ( STDMETHODCALLTYPE *CreateStateObject )( | ||
| 19938 | ID3D12Device8 * This, | ||
| 19939 | const D3D12_STATE_OBJECT_DESC *pDesc, | ||
| 19940 | REFIID riid, | ||
| 19941 | _COM_Outptr_ void **ppStateObject); | ||
| 19942 | |||
| 19943 | DECLSPEC_XFGVIRT(ID3D12Device5, GetRaytracingAccelerationStructurePrebuildInfo) | ||
| 19944 | void ( STDMETHODCALLTYPE *GetRaytracingAccelerationStructurePrebuildInfo )( | ||
| 19945 | ID3D12Device8 * This, | ||
| 19946 | _In_ const D3D12_BUILD_RAYTRACING_ACCELERATION_STRUCTURE_INPUTS *pDesc, | ||
| 19947 | _Out_ D3D12_RAYTRACING_ACCELERATION_STRUCTURE_PREBUILD_INFO *pInfo); | ||
| 19948 | |||
| 19949 | DECLSPEC_XFGVIRT(ID3D12Device5, CheckDriverMatchingIdentifier) | ||
| 19950 | D3D12_DRIVER_MATCHING_IDENTIFIER_STATUS ( STDMETHODCALLTYPE *CheckDriverMatchingIdentifier )( | ||
| 19951 | ID3D12Device8 * This, | ||
| 19952 | _In_ D3D12_SERIALIZED_DATA_TYPE SerializedDataType, | ||
| 19953 | _In_ const D3D12_SERIALIZED_DATA_DRIVER_MATCHING_IDENTIFIER *pIdentifierToCheck); | ||
| 19954 | |||
| 19955 | DECLSPEC_XFGVIRT(ID3D12Device6, SetBackgroundProcessingMode) | ||
| 19956 | HRESULT ( STDMETHODCALLTYPE *SetBackgroundProcessingMode )( | ||
| 19957 | ID3D12Device8 * This, | ||
| 19958 | D3D12_BACKGROUND_PROCESSING_MODE Mode, | ||
| 19959 | D3D12_MEASUREMENTS_ACTION MeasurementsAction, | ||
| 19960 | _In_opt_ HANDLE hEventToSignalUponCompletion, | ||
| 19961 | _Out_opt_ BOOL *pbFurtherMeasurementsDesired); | ||
| 19962 | |||
| 19963 | DECLSPEC_XFGVIRT(ID3D12Device7, AddToStateObject) | ||
| 19964 | HRESULT ( STDMETHODCALLTYPE *AddToStateObject )( | ||
| 19965 | ID3D12Device8 * This, | ||
| 19966 | const D3D12_STATE_OBJECT_DESC *pAddition, | ||
| 19967 | ID3D12StateObject *pStateObjectToGrowFrom, | ||
| 19968 | REFIID riid, | ||
| 19969 | _COM_Outptr_ void **ppNewStateObject); | ||
| 19970 | |||
| 19971 | DECLSPEC_XFGVIRT(ID3D12Device7, CreateProtectedResourceSession1) | ||
| 19972 | HRESULT ( STDMETHODCALLTYPE *CreateProtectedResourceSession1 )( | ||
| 19973 | ID3D12Device8 * This, | ||
| 19974 | _In_ const D3D12_PROTECTED_RESOURCE_SESSION_DESC1 *pDesc, | ||
| 19975 | _In_ REFIID riid, | ||
| 19976 | _COM_Outptr_ void **ppSession); | ||
| 19977 | |||
| 19978 | DECLSPEC_XFGVIRT(ID3D12Device8, GetResourceAllocationInfo2) | ||
| 19979 | #if !defined(_WIN32) | ||
| 19980 | D3D12_RESOURCE_ALLOCATION_INFO ( STDMETHODCALLTYPE *GetResourceAllocationInfo2 )( | ||
| 19981 | ID3D12Device8 * This, | ||
| 19982 | UINT visibleMask, | ||
| 19983 | UINT numResourceDescs, | ||
| 19984 | _In_reads_(numResourceDescs) const D3D12_RESOURCE_DESC1 *pResourceDescs, | ||
| 19985 | _Out_writes_opt_(numResourceDescs) D3D12_RESOURCE_ALLOCATION_INFO1 *pResourceAllocationInfo1); | ||
| 19986 | |||
| 19987 | #else | ||
| 19988 | D3D12_RESOURCE_ALLOCATION_INFO *( STDMETHODCALLTYPE *GetResourceAllocationInfo2 )( | ||
| 19989 | ID3D12Device8 * This, | ||
| 19990 | D3D12_RESOURCE_ALLOCATION_INFO * RetVal, | ||
| 19991 | UINT visibleMask, | ||
| 19992 | UINT numResourceDescs, | ||
| 19993 | _In_reads_(numResourceDescs) const D3D12_RESOURCE_DESC1 *pResourceDescs, | ||
| 19994 | _Out_writes_opt_(numResourceDescs) D3D12_RESOURCE_ALLOCATION_INFO1 *pResourceAllocationInfo1); | ||
| 19995 | |||
| 19996 | #endif | ||
| 19997 | |||
| 19998 | DECLSPEC_XFGVIRT(ID3D12Device8, CreateCommittedResource2) | ||
| 19999 | HRESULT ( STDMETHODCALLTYPE *CreateCommittedResource2 )( | ||
| 20000 | ID3D12Device8 * This, | ||
| 20001 | _In_ const D3D12_HEAP_PROPERTIES *pHeapProperties, | ||
| 20002 | D3D12_HEAP_FLAGS HeapFlags, | ||
| 20003 | _In_ const D3D12_RESOURCE_DESC1 *pDesc, | ||
| 20004 | D3D12_RESOURCE_STATES InitialResourceState, | ||
| 20005 | _In_opt_ const D3D12_CLEAR_VALUE *pOptimizedClearValue, | ||
| 20006 | _In_opt_ ID3D12ProtectedResourceSession *pProtectedSession, | ||
| 20007 | REFIID riidResource, | ||
| 20008 | _COM_Outptr_opt_ void **ppvResource); | ||
| 20009 | |||
| 20010 | DECLSPEC_XFGVIRT(ID3D12Device8, CreatePlacedResource1) | ||
| 20011 | HRESULT ( STDMETHODCALLTYPE *CreatePlacedResource1 )( | ||
| 20012 | ID3D12Device8 * This, | ||
| 20013 | _In_ ID3D12Heap *pHeap, | ||
| 20014 | UINT64 HeapOffset, | ||
| 20015 | _In_ const D3D12_RESOURCE_DESC1 *pDesc, | ||
| 20016 | D3D12_RESOURCE_STATES InitialState, | ||
| 20017 | _In_opt_ const D3D12_CLEAR_VALUE *pOptimizedClearValue, | ||
| 20018 | REFIID riid, | ||
| 20019 | _COM_Outptr_opt_ void **ppvResource); | ||
| 20020 | |||
| 20021 | DECLSPEC_XFGVIRT(ID3D12Device8, CreateSamplerFeedbackUnorderedAccessView) | ||
| 20022 | void ( STDMETHODCALLTYPE *CreateSamplerFeedbackUnorderedAccessView )( | ||
| 20023 | ID3D12Device8 * This, | ||
| 20024 | _In_opt_ ID3D12Resource *pTargetedResource, | ||
| 20025 | _In_opt_ ID3D12Resource *pFeedbackResource, | ||
| 20026 | _In_ D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor); | ||
| 20027 | |||
| 20028 | DECLSPEC_XFGVIRT(ID3D12Device8, GetCopyableFootprints1) | ||
| 20029 | void ( STDMETHODCALLTYPE *GetCopyableFootprints1 )( | ||
| 20030 | ID3D12Device8 * This, | ||
| 20031 | _In_ const D3D12_RESOURCE_DESC1 *pResourceDesc, | ||
| 20032 | _In_range_(0,D3D12_REQ_SUBRESOURCES) UINT FirstSubresource, | ||
| 20033 | _In_range_(0,D3D12_REQ_SUBRESOURCES-FirstSubresource) UINT NumSubresources, | ||
| 20034 | UINT64 BaseOffset, | ||
| 20035 | _Out_writes_opt_(NumSubresources) D3D12_PLACED_SUBRESOURCE_FOOTPRINT *pLayouts, | ||
| 20036 | _Out_writes_opt_(NumSubresources) UINT *pNumRows, | ||
| 20037 | _Out_writes_opt_(NumSubresources) UINT64 *pRowSizeInBytes, | ||
| 20038 | _Out_opt_ UINT64 *pTotalBytes); | ||
| 20039 | |||
| 20040 | END_INTERFACE | ||
| 20041 | } ID3D12Device8Vtbl; | ||
| 20042 | |||
| 20043 | interface ID3D12Device8 | ||
| 20044 | { | ||
| 20045 | CONST_VTBL struct ID3D12Device8Vtbl *lpVtbl; | ||
| 20046 | }; | ||
| 20047 | |||
| 20048 | |||
| 20049 | |||
| 20050 | #ifdef COBJMACROS | ||
| 20051 | |||
| 20052 | |||
| 20053 | #define ID3D12Device8_QueryInterface(This,riid,ppvObject) \ | ||
| 20054 | ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) | ||
| 20055 | |||
| 20056 | #define ID3D12Device8_AddRef(This) \ | ||
| 20057 | ( (This)->lpVtbl -> AddRef(This) ) | ||
| 20058 | |||
| 20059 | #define ID3D12Device8_Release(This) \ | ||
| 20060 | ( (This)->lpVtbl -> Release(This) ) | ||
| 20061 | |||
| 20062 | |||
| 20063 | #define ID3D12Device8_GetPrivateData(This,guid,pDataSize,pData) \ | ||
| 20064 | ( (This)->lpVtbl -> GetPrivateData(This,guid,pDataSize,pData) ) | ||
| 20065 | |||
| 20066 | #define ID3D12Device8_SetPrivateData(This,guid,DataSize,pData) \ | ||
| 20067 | ( (This)->lpVtbl -> SetPrivateData(This,guid,DataSize,pData) ) | ||
| 20068 | |||
| 20069 | #define ID3D12Device8_SetPrivateDataInterface(This,guid,pData) \ | ||
| 20070 | ( (This)->lpVtbl -> SetPrivateDataInterface(This,guid,pData) ) | ||
| 20071 | |||
| 20072 | #define ID3D12Device8_SetName(This,Name) \ | ||
| 20073 | ( (This)->lpVtbl -> SetName(This,Name) ) | ||
| 20074 | |||
| 20075 | |||
| 20076 | #define ID3D12Device8_GetNodeCount(This) \ | ||
| 20077 | ( (This)->lpVtbl -> GetNodeCount(This) ) | ||
| 20078 | |||
| 20079 | #define ID3D12Device8_CreateCommandQueue(This,pDesc,riid,ppCommandQueue) \ | ||
| 20080 | ( (This)->lpVtbl -> CreateCommandQueue(This,pDesc,riid,ppCommandQueue) ) | ||
| 20081 | |||
| 20082 | #define ID3D12Device8_CreateCommandAllocator(This,type,riid,ppCommandAllocator) \ | ||
| 20083 | ( (This)->lpVtbl -> CreateCommandAllocator(This,type,riid,ppCommandAllocator) ) | ||
| 20084 | |||
| 20085 | #define ID3D12Device8_CreateGraphicsPipelineState(This,pDesc,riid,ppPipelineState) \ | ||
| 20086 | ( (This)->lpVtbl -> CreateGraphicsPipelineState(This,pDesc,riid,ppPipelineState) ) | ||
| 20087 | |||
| 20088 | #define ID3D12Device8_CreateComputePipelineState(This,pDesc,riid,ppPipelineState) \ | ||
| 20089 | ( (This)->lpVtbl -> CreateComputePipelineState(This,pDesc,riid,ppPipelineState) ) | ||
| 20090 | |||
| 20091 | #define ID3D12Device8_CreateCommandList(This,nodeMask,type,pCommandAllocator,pInitialState,riid,ppCommandList) \ | ||
| 20092 | ( (This)->lpVtbl -> CreateCommandList(This,nodeMask,type,pCommandAllocator,pInitialState,riid,ppCommandList) ) | ||
| 20093 | |||
| 20094 | #define ID3D12Device8_CheckFeatureSupport(This,Feature,pFeatureSupportData,FeatureSupportDataSize) \ | ||
| 20095 | ( (This)->lpVtbl -> CheckFeatureSupport(This,Feature,pFeatureSupportData,FeatureSupportDataSize) ) | ||
| 20096 | |||
| 20097 | #define ID3D12Device8_CreateDescriptorHeap(This,pDescriptorHeapDesc,riid,ppvHeap) \ | ||
| 20098 | ( (This)->lpVtbl -> CreateDescriptorHeap(This,pDescriptorHeapDesc,riid,ppvHeap) ) | ||
| 20099 | |||
| 20100 | #define ID3D12Device8_GetDescriptorHandleIncrementSize(This,DescriptorHeapType) \ | ||
| 20101 | ( (This)->lpVtbl -> GetDescriptorHandleIncrementSize(This,DescriptorHeapType) ) | ||
| 20102 | |||
| 20103 | #define ID3D12Device8_CreateRootSignature(This,nodeMask,pBlobWithRootSignature,blobLengthInBytes,riid,ppvRootSignature) \ | ||
| 20104 | ( (This)->lpVtbl -> CreateRootSignature(This,nodeMask,pBlobWithRootSignature,blobLengthInBytes,riid,ppvRootSignature) ) | ||
| 20105 | |||
| 20106 | #define ID3D12Device8_CreateConstantBufferView(This,pDesc,DestDescriptor) \ | ||
| 20107 | ( (This)->lpVtbl -> CreateConstantBufferView(This,pDesc,DestDescriptor) ) | ||
| 20108 | |||
| 20109 | #define ID3D12Device8_CreateShaderResourceView(This,pResource,pDesc,DestDescriptor) \ | ||
| 20110 | ( (This)->lpVtbl -> CreateShaderResourceView(This,pResource,pDesc,DestDescriptor) ) | ||
| 20111 | |||
| 20112 | #define ID3D12Device8_CreateUnorderedAccessView(This,pResource,pCounterResource,pDesc,DestDescriptor) \ | ||
| 20113 | ( (This)->lpVtbl -> CreateUnorderedAccessView(This,pResource,pCounterResource,pDesc,DestDescriptor) ) | ||
| 20114 | |||
| 20115 | #define ID3D12Device8_CreateRenderTargetView(This,pResource,pDesc,DestDescriptor) \ | ||
| 20116 | ( (This)->lpVtbl -> CreateRenderTargetView(This,pResource,pDesc,DestDescriptor) ) | ||
| 20117 | |||
| 20118 | #define ID3D12Device8_CreateDepthStencilView(This,pResource,pDesc,DestDescriptor) \ | ||
| 20119 | ( (This)->lpVtbl -> CreateDepthStencilView(This,pResource,pDesc,DestDescriptor) ) | ||
| 20120 | |||
| 20121 | #define ID3D12Device8_CreateSampler(This,pDesc,DestDescriptor) \ | ||
| 20122 | ( (This)->lpVtbl -> CreateSampler(This,pDesc,DestDescriptor) ) | ||
| 20123 | |||
| 20124 | #define ID3D12Device8_CopyDescriptors(This,NumDestDescriptorRanges,pDestDescriptorRangeStarts,pDestDescriptorRangeSizes,NumSrcDescriptorRanges,pSrcDescriptorRangeStarts,pSrcDescriptorRangeSizes,DescriptorHeapsType) \ | ||
| 20125 | ( (This)->lpVtbl -> CopyDescriptors(This,NumDestDescriptorRanges,pDestDescriptorRangeStarts,pDestDescriptorRangeSizes,NumSrcDescriptorRanges,pSrcDescriptorRangeStarts,pSrcDescriptorRangeSizes,DescriptorHeapsType) ) | ||
| 20126 | |||
| 20127 | #define ID3D12Device8_CopyDescriptorsSimple(This,NumDescriptors,DestDescriptorRangeStart,SrcDescriptorRangeStart,DescriptorHeapsType) \ | ||
| 20128 | ( (This)->lpVtbl -> CopyDescriptorsSimple(This,NumDescriptors,DestDescriptorRangeStart,SrcDescriptorRangeStart,DescriptorHeapsType) ) | ||
| 20129 | #if !defined(_WIN32) | ||
| 20130 | |||
| 20131 | #define ID3D12Device8_GetResourceAllocationInfo(This,visibleMask,numResourceDescs,pResourceDescs) \ | ||
| 20132 | ( (This)->lpVtbl -> GetResourceAllocationInfo(This,visibleMask,numResourceDescs,pResourceDescs) ) | ||
| 20133 | #else | ||
| 20134 | #define ID3D12Device8_GetResourceAllocationInfo(This,RetVal,visibleMask,numResourceDescs,pResourceDescs) \ | ||
| 20135 | ( (This)->lpVtbl -> GetResourceAllocationInfo(This,RetVal,visibleMask,numResourceDescs,pResourceDescs) ) | ||
| 20136 | #endif | ||
| 20137 | #if !defined(_WIN32) | ||
| 20138 | |||
| 20139 | #define ID3D12Device8_GetCustomHeapProperties(This,nodeMask,heapType) \ | ||
| 20140 | ( (This)->lpVtbl -> GetCustomHeapProperties(This,nodeMask,heapType) ) | ||
| 20141 | #else | ||
| 20142 | #define ID3D12Device8_GetCustomHeapProperties(This,RetVal,nodeMask,heapType) \ | ||
| 20143 | ( (This)->lpVtbl -> GetCustomHeapProperties(This,RetVal,nodeMask,heapType) ) | ||
| 20144 | #endif | ||
| 20145 | |||
| 20146 | #define ID3D12Device8_CreateCommittedResource(This,pHeapProperties,HeapFlags,pDesc,InitialResourceState,pOptimizedClearValue,riidResource,ppvResource) \ | ||
| 20147 | ( (This)->lpVtbl -> CreateCommittedResource(This,pHeapProperties,HeapFlags,pDesc,InitialResourceState,pOptimizedClearValue,riidResource,ppvResource) ) | ||
| 20148 | |||
| 20149 | #define ID3D12Device8_CreateHeap(This,pDesc,riid,ppvHeap) \ | ||
| 20150 | ( (This)->lpVtbl -> CreateHeap(This,pDesc,riid,ppvHeap) ) | ||
| 20151 | |||
| 20152 | #define ID3D12Device8_CreatePlacedResource(This,pHeap,HeapOffset,pDesc,InitialState,pOptimizedClearValue,riid,ppvResource) \ | ||
| 20153 | ( (This)->lpVtbl -> CreatePlacedResource(This,pHeap,HeapOffset,pDesc,InitialState,pOptimizedClearValue,riid,ppvResource) ) | ||
| 20154 | |||
| 20155 | #define ID3D12Device8_CreateReservedResource(This,pDesc,InitialState,pOptimizedClearValue,riid,ppvResource) \ | ||
| 20156 | ( (This)->lpVtbl -> CreateReservedResource(This,pDesc,InitialState,pOptimizedClearValue,riid,ppvResource) ) | ||
| 20157 | |||
| 20158 | #define ID3D12Device8_CreateSharedHandle(This,pObject,pAttributes,Access,Name,pHandle) \ | ||
| 20159 | ( (This)->lpVtbl -> CreateSharedHandle(This,pObject,pAttributes,Access,Name,pHandle) ) | ||
| 20160 | |||
| 20161 | #define ID3D12Device8_OpenSharedHandle(This,NTHandle,riid,ppvObj) \ | ||
| 20162 | ( (This)->lpVtbl -> OpenSharedHandle(This,NTHandle,riid,ppvObj) ) | ||
| 20163 | |||
| 20164 | #define ID3D12Device8_OpenSharedHandleByName(This,Name,Access,pNTHandle) \ | ||
| 20165 | ( (This)->lpVtbl -> OpenSharedHandleByName(This,Name,Access,pNTHandle) ) | ||
| 20166 | |||
| 20167 | #define ID3D12Device8_MakeResident(This,NumObjects,ppObjects) \ | ||
| 20168 | ( (This)->lpVtbl -> MakeResident(This,NumObjects,ppObjects) ) | ||
| 20169 | |||
| 20170 | #define ID3D12Device8_Evict(This,NumObjects,ppObjects) \ | ||
| 20171 | ( (This)->lpVtbl -> Evict(This,NumObjects,ppObjects) ) | ||
| 20172 | |||
| 20173 | #define ID3D12Device8_CreateFence(This,InitialValue,Flags,riid,ppFence) \ | ||
| 20174 | ( (This)->lpVtbl -> CreateFence(This,InitialValue,Flags,riid,ppFence) ) | ||
| 20175 | |||
| 20176 | #define ID3D12Device8_GetDeviceRemovedReason(This) \ | ||
| 20177 | ( (This)->lpVtbl -> GetDeviceRemovedReason(This) ) | ||
| 20178 | |||
| 20179 | #define ID3D12Device8_GetCopyableFootprints(This,pResourceDesc,FirstSubresource,NumSubresources,BaseOffset,pLayouts,pNumRows,pRowSizeInBytes,pTotalBytes) \ | ||
| 20180 | ( (This)->lpVtbl -> GetCopyableFootprints(This,pResourceDesc,FirstSubresource,NumSubresources,BaseOffset,pLayouts,pNumRows,pRowSizeInBytes,pTotalBytes) ) | ||
| 20181 | |||
| 20182 | #define ID3D12Device8_CreateQueryHeap(This,pDesc,riid,ppvHeap) \ | ||
| 20183 | ( (This)->lpVtbl -> CreateQueryHeap(This,pDesc,riid,ppvHeap) ) | ||
| 20184 | |||
| 20185 | #define ID3D12Device8_SetStablePowerState(This,Enable) \ | ||
| 20186 | ( (This)->lpVtbl -> SetStablePowerState(This,Enable) ) | ||
| 20187 | |||
| 20188 | #define ID3D12Device8_CreateCommandSignature(This,pDesc,pRootSignature,riid,ppvCommandSignature) \ | ||
| 20189 | ( (This)->lpVtbl -> CreateCommandSignature(This,pDesc,pRootSignature,riid,ppvCommandSignature) ) | ||
| 20190 | |||
| 20191 | #define ID3D12Device8_GetResourceTiling(This,pTiledResource,pNumTilesForEntireResource,pPackedMipDesc,pStandardTileShapeForNonPackedMips,pNumSubresourceTilings,FirstSubresourceTilingToGet,pSubresourceTilingsForNonPackedMips) \ | ||
| 20192 | ( (This)->lpVtbl -> GetResourceTiling(This,pTiledResource,pNumTilesForEntireResource,pPackedMipDesc,pStandardTileShapeForNonPackedMips,pNumSubresourceTilings,FirstSubresourceTilingToGet,pSubresourceTilingsForNonPackedMips) ) | ||
| 20193 | #if !defined(_WIN32) | ||
| 20194 | |||
| 20195 | #define ID3D12Device8_GetAdapterLuid(This) \ | ||
| 20196 | ( (This)->lpVtbl -> GetAdapterLuid(This) ) | ||
| 20197 | #else | ||
| 20198 | #define ID3D12Device8_GetAdapterLuid(This,RetVal) \ | ||
| 20199 | ( (This)->lpVtbl -> GetAdapterLuid(This,RetVal) ) | ||
| 20200 | #endif | ||
| 20201 | |||
| 20202 | |||
| 20203 | #define ID3D12Device8_CreatePipelineLibrary(This,pLibraryBlob,BlobLength,riid,ppPipelineLibrary) \ | ||
| 20204 | ( (This)->lpVtbl -> CreatePipelineLibrary(This,pLibraryBlob,BlobLength,riid,ppPipelineLibrary) ) | ||
| 20205 | |||
| 20206 | #define ID3D12Device8_SetEventOnMultipleFenceCompletion(This,ppFences,pFenceValues,NumFences,Flags,hEvent) \ | ||
| 20207 | ( (This)->lpVtbl -> SetEventOnMultipleFenceCompletion(This,ppFences,pFenceValues,NumFences,Flags,hEvent) ) | ||
| 20208 | |||
| 20209 | #define ID3D12Device8_SetResidencyPriority(This,NumObjects,ppObjects,pPriorities) \ | ||
| 20210 | ( (This)->lpVtbl -> SetResidencyPriority(This,NumObjects,ppObjects,pPriorities) ) | ||
| 20211 | |||
| 20212 | |||
| 20213 | #define ID3D12Device8_CreatePipelineState(This,pDesc,riid,ppPipelineState) \ | ||
| 20214 | ( (This)->lpVtbl -> CreatePipelineState(This,pDesc,riid,ppPipelineState) ) | ||
| 20215 | |||
| 20216 | |||
| 20217 | #define ID3D12Device8_OpenExistingHeapFromAddress(This,pAddress,riid,ppvHeap) \ | ||
| 20218 | ( (This)->lpVtbl -> OpenExistingHeapFromAddress(This,pAddress,riid,ppvHeap) ) | ||
| 20219 | |||
| 20220 | #define ID3D12Device8_OpenExistingHeapFromFileMapping(This,hFileMapping,riid,ppvHeap) \ | ||
| 20221 | ( (This)->lpVtbl -> OpenExistingHeapFromFileMapping(This,hFileMapping,riid,ppvHeap) ) | ||
| 20222 | |||
| 20223 | #define ID3D12Device8_EnqueueMakeResident(This,Flags,NumObjects,ppObjects,pFenceToSignal,FenceValueToSignal) \ | ||
| 20224 | ( (This)->lpVtbl -> EnqueueMakeResident(This,Flags,NumObjects,ppObjects,pFenceToSignal,FenceValueToSignal) ) | ||
| 20225 | |||
| 20226 | |||
| 20227 | #define ID3D12Device8_CreateCommandList1(This,nodeMask,type,flags,riid,ppCommandList) \ | ||
| 20228 | ( (This)->lpVtbl -> CreateCommandList1(This,nodeMask,type,flags,riid,ppCommandList) ) | ||
| 20229 | |||
| 20230 | #define ID3D12Device8_CreateProtectedResourceSession(This,pDesc,riid,ppSession) \ | ||
| 20231 | ( (This)->lpVtbl -> CreateProtectedResourceSession(This,pDesc,riid,ppSession) ) | ||
| 20232 | |||
| 20233 | #define ID3D12Device8_CreateCommittedResource1(This,pHeapProperties,HeapFlags,pDesc,InitialResourceState,pOptimizedClearValue,pProtectedSession,riidResource,ppvResource) \ | ||
| 20234 | ( (This)->lpVtbl -> CreateCommittedResource1(This,pHeapProperties,HeapFlags,pDesc,InitialResourceState,pOptimizedClearValue,pProtectedSession,riidResource,ppvResource) ) | ||
| 20235 | |||
| 20236 | #define ID3D12Device8_CreateHeap1(This,pDesc,pProtectedSession,riid,ppvHeap) \ | ||
| 20237 | ( (This)->lpVtbl -> CreateHeap1(This,pDesc,pProtectedSession,riid,ppvHeap) ) | ||
| 20238 | |||
| 20239 | #define ID3D12Device8_CreateReservedResource1(This,pDesc,InitialState,pOptimizedClearValue,pProtectedSession,riid,ppvResource) \ | ||
| 20240 | ( (This)->lpVtbl -> CreateReservedResource1(This,pDesc,InitialState,pOptimizedClearValue,pProtectedSession,riid,ppvResource) ) | ||
| 20241 | #if !defined(_WIN32) | ||
| 20242 | |||
| 20243 | #define ID3D12Device8_GetResourceAllocationInfo1(This,visibleMask,numResourceDescs,pResourceDescs,pResourceAllocationInfo1) \ | ||
| 20244 | ( (This)->lpVtbl -> GetResourceAllocationInfo1(This,visibleMask,numResourceDescs,pResourceDescs,pResourceAllocationInfo1) ) | ||
| 20245 | #else | ||
| 20246 | #define ID3D12Device8_GetResourceAllocationInfo1(This,RetVal,visibleMask,numResourceDescs,pResourceDescs,pResourceAllocationInfo1) \ | ||
| 20247 | ( (This)->lpVtbl -> GetResourceAllocationInfo1(This,RetVal,visibleMask,numResourceDescs,pResourceDescs,pResourceAllocationInfo1) ) | ||
| 20248 | #endif | ||
| 20249 | |||
| 20250 | |||
| 20251 | #define ID3D12Device8_CreateLifetimeTracker(This,pOwner,riid,ppvTracker) \ | ||
| 20252 | ( (This)->lpVtbl -> CreateLifetimeTracker(This,pOwner,riid,ppvTracker) ) | ||
| 20253 | |||
| 20254 | #define ID3D12Device8_RemoveDevice(This) \ | ||
| 20255 | ( (This)->lpVtbl -> RemoveDevice(This) ) | ||
| 20256 | |||
| 20257 | #define ID3D12Device8_EnumerateMetaCommands(This,pNumMetaCommands,pDescs) \ | ||
| 20258 | ( (This)->lpVtbl -> EnumerateMetaCommands(This,pNumMetaCommands,pDescs) ) | ||
| 20259 | |||
| 20260 | #define ID3D12Device8_EnumerateMetaCommandParameters(This,CommandId,Stage,pTotalStructureSizeInBytes,pParameterCount,pParameterDescs) \ | ||
| 20261 | ( (This)->lpVtbl -> EnumerateMetaCommandParameters(This,CommandId,Stage,pTotalStructureSizeInBytes,pParameterCount,pParameterDescs) ) | ||
| 20262 | |||
| 20263 | #define ID3D12Device8_CreateMetaCommand(This,CommandId,NodeMask,pCreationParametersData,CreationParametersDataSizeInBytes,riid,ppMetaCommand) \ | ||
| 20264 | ( (This)->lpVtbl -> CreateMetaCommand(This,CommandId,NodeMask,pCreationParametersData,CreationParametersDataSizeInBytes,riid,ppMetaCommand) ) | ||
| 20265 | |||
| 20266 | #define ID3D12Device8_CreateStateObject(This,pDesc,riid,ppStateObject) \ | ||
| 20267 | ( (This)->lpVtbl -> CreateStateObject(This,pDesc,riid,ppStateObject) ) | ||
| 20268 | |||
| 20269 | #define ID3D12Device8_GetRaytracingAccelerationStructurePrebuildInfo(This,pDesc,pInfo) \ | ||
| 20270 | ( (This)->lpVtbl -> GetRaytracingAccelerationStructurePrebuildInfo(This,pDesc,pInfo) ) | ||
| 20271 | |||
| 20272 | #define ID3D12Device8_CheckDriverMatchingIdentifier(This,SerializedDataType,pIdentifierToCheck) \ | ||
| 20273 | ( (This)->lpVtbl -> CheckDriverMatchingIdentifier(This,SerializedDataType,pIdentifierToCheck) ) | ||
| 20274 | |||
| 20275 | |||
| 20276 | #define ID3D12Device8_SetBackgroundProcessingMode(This,Mode,MeasurementsAction,hEventToSignalUponCompletion,pbFurtherMeasurementsDesired) \ | ||
| 20277 | ( (This)->lpVtbl -> SetBackgroundProcessingMode(This,Mode,MeasurementsAction,hEventToSignalUponCompletion,pbFurtherMeasurementsDesired) ) | ||
| 20278 | |||
| 20279 | |||
| 20280 | #define ID3D12Device8_AddToStateObject(This,pAddition,pStateObjectToGrowFrom,riid,ppNewStateObject) \ | ||
| 20281 | ( (This)->lpVtbl -> AddToStateObject(This,pAddition,pStateObjectToGrowFrom,riid,ppNewStateObject) ) | ||
| 20282 | |||
| 20283 | #define ID3D12Device8_CreateProtectedResourceSession1(This,pDesc,riid,ppSession) \ | ||
| 20284 | ( (This)->lpVtbl -> CreateProtectedResourceSession1(This,pDesc,riid,ppSession) ) | ||
| 20285 | |||
| 20286 | #if !defined(_WIN32) | ||
| 20287 | |||
| 20288 | #define ID3D12Device8_GetResourceAllocationInfo2(This,visibleMask,numResourceDescs,pResourceDescs,pResourceAllocationInfo1) \ | ||
| 20289 | ( (This)->lpVtbl -> GetResourceAllocationInfo2(This,visibleMask,numResourceDescs,pResourceDescs,pResourceAllocationInfo1) ) | ||
| 20290 | #else | ||
| 20291 | #define ID3D12Device8_GetResourceAllocationInfo2(This,RetVal,visibleMask,numResourceDescs,pResourceDescs,pResourceAllocationInfo1) \ | ||
| 20292 | ( (This)->lpVtbl -> GetResourceAllocationInfo2(This,RetVal,visibleMask,numResourceDescs,pResourceDescs,pResourceAllocationInfo1) ) | ||
| 20293 | #endif | ||
| 20294 | |||
| 20295 | #define ID3D12Device8_CreateCommittedResource2(This,pHeapProperties,HeapFlags,pDesc,InitialResourceState,pOptimizedClearValue,pProtectedSession,riidResource,ppvResource) \ | ||
| 20296 | ( (This)->lpVtbl -> CreateCommittedResource2(This,pHeapProperties,HeapFlags,pDesc,InitialResourceState,pOptimizedClearValue,pProtectedSession,riidResource,ppvResource) ) | ||
| 20297 | |||
| 20298 | #define ID3D12Device8_CreatePlacedResource1(This,pHeap,HeapOffset,pDesc,InitialState,pOptimizedClearValue,riid,ppvResource) \ | ||
| 20299 | ( (This)->lpVtbl -> CreatePlacedResource1(This,pHeap,HeapOffset,pDesc,InitialState,pOptimizedClearValue,riid,ppvResource) ) | ||
| 20300 | |||
| 20301 | #define ID3D12Device8_CreateSamplerFeedbackUnorderedAccessView(This,pTargetedResource,pFeedbackResource,DestDescriptor) \ | ||
| 20302 | ( (This)->lpVtbl -> CreateSamplerFeedbackUnorderedAccessView(This,pTargetedResource,pFeedbackResource,DestDescriptor) ) | ||
| 20303 | |||
| 20304 | #define ID3D12Device8_GetCopyableFootprints1(This,pResourceDesc,FirstSubresource,NumSubresources,BaseOffset,pLayouts,pNumRows,pRowSizeInBytes,pTotalBytes) \ | ||
| 20305 | ( (This)->lpVtbl -> GetCopyableFootprints1(This,pResourceDesc,FirstSubresource,NumSubresources,BaseOffset,pLayouts,pNumRows,pRowSizeInBytes,pTotalBytes) ) | ||
| 20306 | |||
| 20307 | #endif /* COBJMACROS */ | ||
| 20308 | |||
| 20309 | |||
| 20310 | #endif /* C style interface */ | ||
| 20311 | |||
| 20312 | |||
| 20313 | |||
| 20314 | |||
| 20315 | #endif /* __ID3D12Device8_INTERFACE_DEFINED__ */ | ||
| 20316 | |||
| 20317 | |||
| 20318 | #ifndef __ID3D12Resource1_INTERFACE_DEFINED__ | ||
| 20319 | #define __ID3D12Resource1_INTERFACE_DEFINED__ | ||
| 20320 | |||
| 20321 | /* interface ID3D12Resource1 */ | ||
| 20322 | /* [unique][local][object][uuid] */ | ||
| 20323 | |||
| 20324 | |||
| 20325 | EXTERN_C const IID IID_ID3D12Resource1; | ||
| 20326 | |||
| 20327 | #if defined(__cplusplus) && !defined(CINTERFACE) | ||
| 20328 | |||
| 20329 | MIDL_INTERFACE("9D5E227A-4430-4161-88B3-3ECA6BB16E19") | ||
| 20330 | ID3D12Resource1 : public ID3D12Resource | ||
| 20331 | { | ||
| 20332 | public: | ||
| 20333 | virtual HRESULT STDMETHODCALLTYPE GetProtectedResourceSession( | ||
| 20334 | REFIID riid, | ||
| 20335 | _COM_Outptr_opt_ void **ppProtectedSession) = 0; | ||
| 20336 | |||
| 20337 | }; | ||
| 20338 | |||
| 20339 | |||
| 20340 | #else /* C style interface */ | ||
| 20341 | |||
| 20342 | typedef struct ID3D12Resource1Vtbl | ||
| 20343 | { | ||
| 20344 | BEGIN_INTERFACE | ||
| 20345 | |||
| 20346 | DECLSPEC_XFGVIRT(IUnknown, QueryInterface) | ||
| 20347 | HRESULT ( STDMETHODCALLTYPE *QueryInterface )( | ||
| 20348 | ID3D12Resource1 * This, | ||
| 20349 | REFIID riid, | ||
| 20350 | _COM_Outptr_ void **ppvObject); | ||
| 20351 | |||
| 20352 | DECLSPEC_XFGVIRT(IUnknown, AddRef) | ||
| 20353 | ULONG ( STDMETHODCALLTYPE *AddRef )( | ||
| 20354 | ID3D12Resource1 * This); | ||
| 20355 | |||
| 20356 | DECLSPEC_XFGVIRT(IUnknown, Release) | ||
| 20357 | ULONG ( STDMETHODCALLTYPE *Release )( | ||
| 20358 | ID3D12Resource1 * This); | ||
| 20359 | |||
| 20360 | DECLSPEC_XFGVIRT(ID3D12Object, GetPrivateData) | ||
| 20361 | HRESULT ( STDMETHODCALLTYPE *GetPrivateData )( | ||
| 20362 | ID3D12Resource1 * This, | ||
| 20363 | _In_ REFGUID guid, | ||
| 20364 | _Inout_ UINT *pDataSize, | ||
| 20365 | _Out_writes_bytes_opt_( *pDataSize ) void *pData); | ||
| 20366 | |||
| 20367 | DECLSPEC_XFGVIRT(ID3D12Object, SetPrivateData) | ||
| 20368 | HRESULT ( STDMETHODCALLTYPE *SetPrivateData )( | ||
| 20369 | ID3D12Resource1 * This, | ||
| 20370 | _In_ REFGUID guid, | ||
| 20371 | _In_ UINT DataSize, | ||
| 20372 | _In_reads_bytes_opt_( DataSize ) const void *pData); | ||
| 20373 | |||
| 20374 | DECLSPEC_XFGVIRT(ID3D12Object, SetPrivateDataInterface) | ||
| 20375 | HRESULT ( STDMETHODCALLTYPE *SetPrivateDataInterface )( | ||
| 20376 | ID3D12Resource1 * This, | ||
| 20377 | _In_ REFGUID guid, | ||
| 20378 | _In_opt_ const IUnknown *pData); | ||
| 20379 | |||
| 20380 | DECLSPEC_XFGVIRT(ID3D12Object, SetName) | ||
| 20381 | HRESULT ( STDMETHODCALLTYPE *SetName )( | ||
| 20382 | ID3D12Resource1 * This, | ||
| 20383 | _In_z_ LPCWSTR Name); | ||
| 20384 | |||
| 20385 | DECLSPEC_XFGVIRT(ID3D12DeviceChild, GetDevice) | ||
| 20386 | HRESULT ( STDMETHODCALLTYPE *GetDevice )( | ||
| 20387 | ID3D12Resource1 * This, | ||
| 20388 | REFIID riid, | ||
| 20389 | _COM_Outptr_opt_ void **ppvDevice); | ||
| 20390 | |||
| 20391 | DECLSPEC_XFGVIRT(ID3D12Resource, Map) | ||
| 20392 | HRESULT ( STDMETHODCALLTYPE *Map )( | ||
| 20393 | ID3D12Resource1 * This, | ||
| 20394 | UINT Subresource, | ||
| 20395 | _In_opt_ const D3D12_RANGE *pReadRange, | ||
| 20396 | _Outptr_opt_result_bytebuffer_(_Inexpressible_("Dependent on resource")) void **ppData); | ||
| 20397 | |||
| 20398 | DECLSPEC_XFGVIRT(ID3D12Resource, Unmap) | ||
| 20399 | void ( STDMETHODCALLTYPE *Unmap )( | ||
| 20400 | ID3D12Resource1 * This, | ||
| 20401 | UINT Subresource, | ||
| 20402 | _In_opt_ const D3D12_RANGE *pWrittenRange); | ||
| 20403 | |||
| 20404 | DECLSPEC_XFGVIRT(ID3D12Resource, GetDesc) | ||
| 20405 | #if !defined(_WIN32) | ||
| 20406 | D3D12_RESOURCE_DESC ( STDMETHODCALLTYPE *GetDesc )( | ||
| 20407 | ID3D12Resource1 * This); | ||
| 20408 | |||
| 20409 | #else | ||
| 20410 | D3D12_RESOURCE_DESC *( STDMETHODCALLTYPE *GetDesc )( | ||
| 20411 | ID3D12Resource1 * This, | ||
| 20412 | D3D12_RESOURCE_DESC * RetVal); | ||
| 20413 | |||
| 20414 | #endif | ||
| 20415 | |||
| 20416 | DECLSPEC_XFGVIRT(ID3D12Resource, GetGPUVirtualAddress) | ||
| 20417 | D3D12_GPU_VIRTUAL_ADDRESS ( STDMETHODCALLTYPE *GetGPUVirtualAddress )( | ||
| 20418 | ID3D12Resource1 * This); | ||
| 20419 | |||
| 20420 | DECLSPEC_XFGVIRT(ID3D12Resource, WriteToSubresource) | ||
| 20421 | HRESULT ( STDMETHODCALLTYPE *WriteToSubresource )( | ||
| 20422 | ID3D12Resource1 * This, | ||
| 20423 | UINT DstSubresource, | ||
| 20424 | _In_opt_ const D3D12_BOX *pDstBox, | ||
| 20425 | _In_ const void *pSrcData, | ||
| 20426 | UINT SrcRowPitch, | ||
| 20427 | UINT SrcDepthPitch); | ||
| 20428 | |||
| 20429 | DECLSPEC_XFGVIRT(ID3D12Resource, ReadFromSubresource) | ||
| 20430 | HRESULT ( STDMETHODCALLTYPE *ReadFromSubresource )( | ||
| 20431 | ID3D12Resource1 * This, | ||
| 20432 | _Out_ void *pDstData, | ||
| 20433 | UINT DstRowPitch, | ||
| 20434 | UINT DstDepthPitch, | ||
| 20435 | UINT SrcSubresource, | ||
| 20436 | _In_opt_ const D3D12_BOX *pSrcBox); | ||
| 20437 | |||
| 20438 | DECLSPEC_XFGVIRT(ID3D12Resource, GetHeapProperties) | ||
| 20439 | HRESULT ( STDMETHODCALLTYPE *GetHeapProperties )( | ||
| 20440 | ID3D12Resource1 * This, | ||
| 20441 | _Out_opt_ D3D12_HEAP_PROPERTIES *pHeapProperties, | ||
| 20442 | _Out_opt_ D3D12_HEAP_FLAGS *pHeapFlags); | ||
| 20443 | |||
| 20444 | DECLSPEC_XFGVIRT(ID3D12Resource1, GetProtectedResourceSession) | ||
| 20445 | HRESULT ( STDMETHODCALLTYPE *GetProtectedResourceSession )( | ||
| 20446 | ID3D12Resource1 * This, | ||
| 20447 | REFIID riid, | ||
| 20448 | _COM_Outptr_opt_ void **ppProtectedSession); | ||
| 20449 | |||
| 20450 | END_INTERFACE | ||
| 20451 | } ID3D12Resource1Vtbl; | ||
| 20452 | |||
| 20453 | interface ID3D12Resource1 | ||
| 20454 | { | ||
| 20455 | CONST_VTBL struct ID3D12Resource1Vtbl *lpVtbl; | ||
| 20456 | }; | ||
| 20457 | |||
| 20458 | |||
| 20459 | |||
| 20460 | #ifdef COBJMACROS | ||
| 20461 | |||
| 20462 | |||
| 20463 | #define ID3D12Resource1_QueryInterface(This,riid,ppvObject) \ | ||
| 20464 | ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) | ||
| 20465 | |||
| 20466 | #define ID3D12Resource1_AddRef(This) \ | ||
| 20467 | ( (This)->lpVtbl -> AddRef(This) ) | ||
| 20468 | |||
| 20469 | #define ID3D12Resource1_Release(This) \ | ||
| 20470 | ( (This)->lpVtbl -> Release(This) ) | ||
| 20471 | |||
| 20472 | |||
| 20473 | #define ID3D12Resource1_GetPrivateData(This,guid,pDataSize,pData) \ | ||
| 20474 | ( (This)->lpVtbl -> GetPrivateData(This,guid,pDataSize,pData) ) | ||
| 20475 | |||
| 20476 | #define ID3D12Resource1_SetPrivateData(This,guid,DataSize,pData) \ | ||
| 20477 | ( (This)->lpVtbl -> SetPrivateData(This,guid,DataSize,pData) ) | ||
| 20478 | |||
| 20479 | #define ID3D12Resource1_SetPrivateDataInterface(This,guid,pData) \ | ||
| 20480 | ( (This)->lpVtbl -> SetPrivateDataInterface(This,guid,pData) ) | ||
| 20481 | |||
| 20482 | #define ID3D12Resource1_SetName(This,Name) \ | ||
| 20483 | ( (This)->lpVtbl -> SetName(This,Name) ) | ||
| 20484 | |||
| 20485 | |||
| 20486 | #define ID3D12Resource1_GetDevice(This,riid,ppvDevice) \ | ||
| 20487 | ( (This)->lpVtbl -> GetDevice(This,riid,ppvDevice) ) | ||
| 20488 | |||
| 20489 | |||
| 20490 | |||
| 20491 | #define ID3D12Resource1_Map(This,Subresource,pReadRange,ppData) \ | ||
| 20492 | ( (This)->lpVtbl -> Map(This,Subresource,pReadRange,ppData) ) | ||
| 20493 | |||
| 20494 | #define ID3D12Resource1_Unmap(This,Subresource,pWrittenRange) \ | ||
| 20495 | ( (This)->lpVtbl -> Unmap(This,Subresource,pWrittenRange) ) | ||
| 20496 | #if !defined(_WIN32) | ||
| 20497 | |||
| 20498 | #define ID3D12Resource1_GetDesc(This) \ | ||
| 20499 | ( (This)->lpVtbl -> GetDesc(This) ) | ||
| 20500 | #else | ||
| 20501 | #define ID3D12Resource1_GetDesc(This,RetVal) \ | ||
| 20502 | ( (This)->lpVtbl -> GetDesc(This,RetVal) ) | ||
| 20503 | #endif | ||
| 20504 | |||
| 20505 | #define ID3D12Resource1_GetGPUVirtualAddress(This) \ | ||
| 20506 | ( (This)->lpVtbl -> GetGPUVirtualAddress(This) ) | ||
| 20507 | |||
| 20508 | #define ID3D12Resource1_WriteToSubresource(This,DstSubresource,pDstBox,pSrcData,SrcRowPitch,SrcDepthPitch) \ | ||
| 20509 | ( (This)->lpVtbl -> WriteToSubresource(This,DstSubresource,pDstBox,pSrcData,SrcRowPitch,SrcDepthPitch) ) | ||
| 20510 | |||
| 20511 | #define ID3D12Resource1_ReadFromSubresource(This,pDstData,DstRowPitch,DstDepthPitch,SrcSubresource,pSrcBox) \ | ||
| 20512 | ( (This)->lpVtbl -> ReadFromSubresource(This,pDstData,DstRowPitch,DstDepthPitch,SrcSubresource,pSrcBox) ) | ||
| 20513 | |||
| 20514 | #define ID3D12Resource1_GetHeapProperties(This,pHeapProperties,pHeapFlags) \ | ||
| 20515 | ( (This)->lpVtbl -> GetHeapProperties(This,pHeapProperties,pHeapFlags) ) | ||
| 20516 | |||
| 20517 | |||
| 20518 | #define ID3D12Resource1_GetProtectedResourceSession(This,riid,ppProtectedSession) \ | ||
| 20519 | ( (This)->lpVtbl -> GetProtectedResourceSession(This,riid,ppProtectedSession) ) | ||
| 20520 | |||
| 20521 | #endif /* COBJMACROS */ | ||
| 20522 | |||
| 20523 | |||
| 20524 | #endif /* C style interface */ | ||
| 20525 | |||
| 20526 | |||
| 20527 | |||
| 20528 | |||
| 20529 | #endif /* __ID3D12Resource1_INTERFACE_DEFINED__ */ | ||
| 20530 | |||
| 20531 | |||
| 20532 | #ifndef __ID3D12Resource2_INTERFACE_DEFINED__ | ||
| 20533 | #define __ID3D12Resource2_INTERFACE_DEFINED__ | ||
| 20534 | |||
| 20535 | /* interface ID3D12Resource2 */ | ||
| 20536 | /* [unique][local][object][uuid] */ | ||
| 20537 | |||
| 20538 | |||
| 20539 | EXTERN_C const IID IID_ID3D12Resource2; | ||
| 20540 | |||
| 20541 | #if defined(__cplusplus) && !defined(CINTERFACE) | ||
| 20542 | |||
| 20543 | MIDL_INTERFACE("BE36EC3B-EA85-4AEB-A45A-E9D76404A495") | ||
| 20544 | ID3D12Resource2 : public ID3D12Resource1 | ||
| 20545 | { | ||
| 20546 | public: | ||
| 20547 | #if defined(_MSC_VER) || !defined(_WIN32) | ||
| 20548 | virtual D3D12_RESOURCE_DESC1 STDMETHODCALLTYPE GetDesc1( void) = 0; | ||
| 20549 | #else | ||
| 20550 | virtual D3D12_RESOURCE_DESC1 *STDMETHODCALLTYPE GetDesc1( | ||
| 20551 | D3D12_RESOURCE_DESC1 * RetVal) = 0; | ||
| 20552 | #endif | ||
| 20553 | |||
| 20554 | }; | ||
| 20555 | |||
| 20556 | |||
| 20557 | #else /* C style interface */ | ||
| 20558 | |||
| 20559 | typedef struct ID3D12Resource2Vtbl | ||
| 20560 | { | ||
| 20561 | BEGIN_INTERFACE | ||
| 20562 | |||
| 20563 | DECLSPEC_XFGVIRT(IUnknown, QueryInterface) | ||
| 20564 | HRESULT ( STDMETHODCALLTYPE *QueryInterface )( | ||
| 20565 | ID3D12Resource2 * This, | ||
| 20566 | REFIID riid, | ||
| 20567 | _COM_Outptr_ void **ppvObject); | ||
| 20568 | |||
| 20569 | DECLSPEC_XFGVIRT(IUnknown, AddRef) | ||
| 20570 | ULONG ( STDMETHODCALLTYPE *AddRef )( | ||
| 20571 | ID3D12Resource2 * This); | ||
| 20572 | |||
| 20573 | DECLSPEC_XFGVIRT(IUnknown, Release) | ||
| 20574 | ULONG ( STDMETHODCALLTYPE *Release )( | ||
| 20575 | ID3D12Resource2 * This); | ||
| 20576 | |||
| 20577 | DECLSPEC_XFGVIRT(ID3D12Object, GetPrivateData) | ||
| 20578 | HRESULT ( STDMETHODCALLTYPE *GetPrivateData )( | ||
| 20579 | ID3D12Resource2 * This, | ||
| 20580 | _In_ REFGUID guid, | ||
| 20581 | _Inout_ UINT *pDataSize, | ||
| 20582 | _Out_writes_bytes_opt_( *pDataSize ) void *pData); | ||
| 20583 | |||
| 20584 | DECLSPEC_XFGVIRT(ID3D12Object, SetPrivateData) | ||
| 20585 | HRESULT ( STDMETHODCALLTYPE *SetPrivateData )( | ||
| 20586 | ID3D12Resource2 * This, | ||
| 20587 | _In_ REFGUID guid, | ||
| 20588 | _In_ UINT DataSize, | ||
| 20589 | _In_reads_bytes_opt_( DataSize ) const void *pData); | ||
| 20590 | |||
| 20591 | DECLSPEC_XFGVIRT(ID3D12Object, SetPrivateDataInterface) | ||
| 20592 | HRESULT ( STDMETHODCALLTYPE *SetPrivateDataInterface )( | ||
| 20593 | ID3D12Resource2 * This, | ||
| 20594 | _In_ REFGUID guid, | ||
| 20595 | _In_opt_ const IUnknown *pData); | ||
| 20596 | |||
| 20597 | DECLSPEC_XFGVIRT(ID3D12Object, SetName) | ||
| 20598 | HRESULT ( STDMETHODCALLTYPE *SetName )( | ||
| 20599 | ID3D12Resource2 * This, | ||
| 20600 | _In_z_ LPCWSTR Name); | ||
| 20601 | |||
| 20602 | DECLSPEC_XFGVIRT(ID3D12DeviceChild, GetDevice) | ||
| 20603 | HRESULT ( STDMETHODCALLTYPE *GetDevice )( | ||
| 20604 | ID3D12Resource2 * This, | ||
| 20605 | REFIID riid, | ||
| 20606 | _COM_Outptr_opt_ void **ppvDevice); | ||
| 20607 | |||
| 20608 | DECLSPEC_XFGVIRT(ID3D12Resource, Map) | ||
| 20609 | HRESULT ( STDMETHODCALLTYPE *Map )( | ||
| 20610 | ID3D12Resource2 * This, | ||
| 20611 | UINT Subresource, | ||
| 20612 | _In_opt_ const D3D12_RANGE *pReadRange, | ||
| 20613 | _Outptr_opt_result_bytebuffer_(_Inexpressible_("Dependent on resource")) void **ppData); | ||
| 20614 | |||
| 20615 | DECLSPEC_XFGVIRT(ID3D12Resource, Unmap) | ||
| 20616 | void ( STDMETHODCALLTYPE *Unmap )( | ||
| 20617 | ID3D12Resource2 * This, | ||
| 20618 | UINT Subresource, | ||
| 20619 | _In_opt_ const D3D12_RANGE *pWrittenRange); | ||
| 20620 | |||
| 20621 | DECLSPEC_XFGVIRT(ID3D12Resource, GetDesc) | ||
| 20622 | #if !defined(_WIN32) | ||
| 20623 | D3D12_RESOURCE_DESC ( STDMETHODCALLTYPE *GetDesc )( | ||
| 20624 | ID3D12Resource2 * This); | ||
| 20625 | |||
| 20626 | #else | ||
| 20627 | D3D12_RESOURCE_DESC *( STDMETHODCALLTYPE *GetDesc )( | ||
| 20628 | ID3D12Resource2 * This, | ||
| 20629 | D3D12_RESOURCE_DESC * RetVal); | ||
| 20630 | |||
| 20631 | #endif | ||
| 20632 | |||
| 20633 | DECLSPEC_XFGVIRT(ID3D12Resource, GetGPUVirtualAddress) | ||
| 20634 | D3D12_GPU_VIRTUAL_ADDRESS ( STDMETHODCALLTYPE *GetGPUVirtualAddress )( | ||
| 20635 | ID3D12Resource2 * This); | ||
| 20636 | |||
| 20637 | DECLSPEC_XFGVIRT(ID3D12Resource, WriteToSubresource) | ||
| 20638 | HRESULT ( STDMETHODCALLTYPE *WriteToSubresource )( | ||
| 20639 | ID3D12Resource2 * This, | ||
| 20640 | UINT DstSubresource, | ||
| 20641 | _In_opt_ const D3D12_BOX *pDstBox, | ||
| 20642 | _In_ const void *pSrcData, | ||
| 20643 | UINT SrcRowPitch, | ||
| 20644 | UINT SrcDepthPitch); | ||
| 20645 | |||
| 20646 | DECLSPEC_XFGVIRT(ID3D12Resource, ReadFromSubresource) | ||
| 20647 | HRESULT ( STDMETHODCALLTYPE *ReadFromSubresource )( | ||
| 20648 | ID3D12Resource2 * This, | ||
| 20649 | _Out_ void *pDstData, | ||
| 20650 | UINT DstRowPitch, | ||
| 20651 | UINT DstDepthPitch, | ||
| 20652 | UINT SrcSubresource, | ||
| 20653 | _In_opt_ const D3D12_BOX *pSrcBox); | ||
| 20654 | |||
| 20655 | DECLSPEC_XFGVIRT(ID3D12Resource, GetHeapProperties) | ||
| 20656 | HRESULT ( STDMETHODCALLTYPE *GetHeapProperties )( | ||
| 20657 | ID3D12Resource2 * This, | ||
| 20658 | _Out_opt_ D3D12_HEAP_PROPERTIES *pHeapProperties, | ||
| 20659 | _Out_opt_ D3D12_HEAP_FLAGS *pHeapFlags); | ||
| 20660 | |||
| 20661 | DECLSPEC_XFGVIRT(ID3D12Resource1, GetProtectedResourceSession) | ||
| 20662 | HRESULT ( STDMETHODCALLTYPE *GetProtectedResourceSession )( | ||
| 20663 | ID3D12Resource2 * This, | ||
| 20664 | REFIID riid, | ||
| 20665 | _COM_Outptr_opt_ void **ppProtectedSession); | ||
| 20666 | |||
| 20667 | DECLSPEC_XFGVIRT(ID3D12Resource2, GetDesc1) | ||
| 20668 | #if !defined(_WIN32) | ||
| 20669 | D3D12_RESOURCE_DESC1 ( STDMETHODCALLTYPE *GetDesc1 )( | ||
| 20670 | ID3D12Resource2 * This); | ||
| 20671 | |||
| 20672 | #else | ||
| 20673 | D3D12_RESOURCE_DESC1 *( STDMETHODCALLTYPE *GetDesc1 )( | ||
| 20674 | ID3D12Resource2 * This, | ||
| 20675 | D3D12_RESOURCE_DESC1 * RetVal); | ||
| 20676 | |||
| 20677 | #endif | ||
| 20678 | |||
| 20679 | END_INTERFACE | ||
| 20680 | } ID3D12Resource2Vtbl; | ||
| 20681 | |||
| 20682 | interface ID3D12Resource2 | ||
| 20683 | { | ||
| 20684 | CONST_VTBL struct ID3D12Resource2Vtbl *lpVtbl; | ||
| 20685 | }; | ||
| 20686 | |||
| 20687 | |||
| 20688 | |||
| 20689 | #ifdef COBJMACROS | ||
| 20690 | |||
| 20691 | |||
| 20692 | #define ID3D12Resource2_QueryInterface(This,riid,ppvObject) \ | ||
| 20693 | ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) | ||
| 20694 | |||
| 20695 | #define ID3D12Resource2_AddRef(This) \ | ||
| 20696 | ( (This)->lpVtbl -> AddRef(This) ) | ||
| 20697 | |||
| 20698 | #define ID3D12Resource2_Release(This) \ | ||
| 20699 | ( (This)->lpVtbl -> Release(This) ) | ||
| 20700 | |||
| 20701 | |||
| 20702 | #define ID3D12Resource2_GetPrivateData(This,guid,pDataSize,pData) \ | ||
| 20703 | ( (This)->lpVtbl -> GetPrivateData(This,guid,pDataSize,pData) ) | ||
| 20704 | |||
| 20705 | #define ID3D12Resource2_SetPrivateData(This,guid,DataSize,pData) \ | ||
| 20706 | ( (This)->lpVtbl -> SetPrivateData(This,guid,DataSize,pData) ) | ||
| 20707 | |||
| 20708 | #define ID3D12Resource2_SetPrivateDataInterface(This,guid,pData) \ | ||
| 20709 | ( (This)->lpVtbl -> SetPrivateDataInterface(This,guid,pData) ) | ||
| 20710 | |||
| 20711 | #define ID3D12Resource2_SetName(This,Name) \ | ||
| 20712 | ( (This)->lpVtbl -> SetName(This,Name) ) | ||
| 20713 | |||
| 20714 | |||
| 20715 | #define ID3D12Resource2_GetDevice(This,riid,ppvDevice) \ | ||
| 20716 | ( (This)->lpVtbl -> GetDevice(This,riid,ppvDevice) ) | ||
| 20717 | |||
| 20718 | |||
| 20719 | |||
| 20720 | #define ID3D12Resource2_Map(This,Subresource,pReadRange,ppData) \ | ||
| 20721 | ( (This)->lpVtbl -> Map(This,Subresource,pReadRange,ppData) ) | ||
| 20722 | |||
| 20723 | #define ID3D12Resource2_Unmap(This,Subresource,pWrittenRange) \ | ||
| 20724 | ( (This)->lpVtbl -> Unmap(This,Subresource,pWrittenRange) ) | ||
| 20725 | #if !defined(_WIN32) | ||
| 20726 | |||
| 20727 | #define ID3D12Resource2_GetDesc(This) \ | ||
| 20728 | ( (This)->lpVtbl -> GetDesc(This) ) | ||
| 20729 | #else | ||
| 20730 | #define ID3D12Resource2_GetDesc(This,RetVal) \ | ||
| 20731 | ( (This)->lpVtbl -> GetDesc(This,RetVal) ) | ||
| 20732 | #endif | ||
| 20733 | |||
| 20734 | #define ID3D12Resource2_GetGPUVirtualAddress(This) \ | ||
| 20735 | ( (This)->lpVtbl -> GetGPUVirtualAddress(This) ) | ||
| 20736 | |||
| 20737 | #define ID3D12Resource2_WriteToSubresource(This,DstSubresource,pDstBox,pSrcData,SrcRowPitch,SrcDepthPitch) \ | ||
| 20738 | ( (This)->lpVtbl -> WriteToSubresource(This,DstSubresource,pDstBox,pSrcData,SrcRowPitch,SrcDepthPitch) ) | ||
| 20739 | |||
| 20740 | #define ID3D12Resource2_ReadFromSubresource(This,pDstData,DstRowPitch,DstDepthPitch,SrcSubresource,pSrcBox) \ | ||
| 20741 | ( (This)->lpVtbl -> ReadFromSubresource(This,pDstData,DstRowPitch,DstDepthPitch,SrcSubresource,pSrcBox) ) | ||
| 20742 | |||
| 20743 | #define ID3D12Resource2_GetHeapProperties(This,pHeapProperties,pHeapFlags) \ | ||
| 20744 | ( (This)->lpVtbl -> GetHeapProperties(This,pHeapProperties,pHeapFlags) ) | ||
| 20745 | |||
| 20746 | |||
| 20747 | #define ID3D12Resource2_GetProtectedResourceSession(This,riid,ppProtectedSession) \ | ||
| 20748 | ( (This)->lpVtbl -> GetProtectedResourceSession(This,riid,ppProtectedSession) ) | ||
| 20749 | |||
| 20750 | #if !defined(_WIN32) | ||
| 20751 | |||
| 20752 | #define ID3D12Resource2_GetDesc1(This) \ | ||
| 20753 | ( (This)->lpVtbl -> GetDesc1(This) ) | ||
| 20754 | #else | ||
| 20755 | #define ID3D12Resource2_GetDesc1(This,RetVal) \ | ||
| 20756 | ( (This)->lpVtbl -> GetDesc1(This,RetVal) ) | ||
| 20757 | #endif | ||
| 20758 | |||
| 20759 | #endif /* COBJMACROS */ | ||
| 20760 | |||
| 20761 | |||
| 20762 | #endif /* C style interface */ | ||
| 20763 | |||
| 20764 | |||
| 20765 | |||
| 20766 | |||
| 20767 | #endif /* __ID3D12Resource2_INTERFACE_DEFINED__ */ | ||
| 20768 | |||
| 20769 | |||
| 20770 | #ifndef __ID3D12Heap1_INTERFACE_DEFINED__ | ||
| 20771 | #define __ID3D12Heap1_INTERFACE_DEFINED__ | ||
| 20772 | |||
| 20773 | /* interface ID3D12Heap1 */ | ||
| 20774 | /* [unique][local][object][uuid] */ | ||
| 20775 | |||
| 20776 | |||
| 20777 | EXTERN_C const IID IID_ID3D12Heap1; | ||
| 20778 | |||
| 20779 | #if defined(__cplusplus) && !defined(CINTERFACE) | ||
| 20780 | |||
| 20781 | MIDL_INTERFACE("572F7389-2168-49E3-9693-D6DF5871BF6D") | ||
| 20782 | ID3D12Heap1 : public ID3D12Heap | ||
| 20783 | { | ||
| 20784 | public: | ||
| 20785 | virtual HRESULT STDMETHODCALLTYPE GetProtectedResourceSession( | ||
| 20786 | REFIID riid, | ||
| 20787 | _COM_Outptr_opt_ void **ppProtectedSession) = 0; | ||
| 20788 | |||
| 20789 | }; | ||
| 20790 | |||
| 20791 | |||
| 20792 | #else /* C style interface */ | ||
| 20793 | |||
| 20794 | typedef struct ID3D12Heap1Vtbl | ||
| 20795 | { | ||
| 20796 | BEGIN_INTERFACE | ||
| 20797 | |||
| 20798 | DECLSPEC_XFGVIRT(IUnknown, QueryInterface) | ||
| 20799 | HRESULT ( STDMETHODCALLTYPE *QueryInterface )( | ||
| 20800 | ID3D12Heap1 * This, | ||
| 20801 | REFIID riid, | ||
| 20802 | _COM_Outptr_ void **ppvObject); | ||
| 20803 | |||
| 20804 | DECLSPEC_XFGVIRT(IUnknown, AddRef) | ||
| 20805 | ULONG ( STDMETHODCALLTYPE *AddRef )( | ||
| 20806 | ID3D12Heap1 * This); | ||
| 20807 | |||
| 20808 | DECLSPEC_XFGVIRT(IUnknown, Release) | ||
| 20809 | ULONG ( STDMETHODCALLTYPE *Release )( | ||
| 20810 | ID3D12Heap1 * This); | ||
| 20811 | |||
| 20812 | DECLSPEC_XFGVIRT(ID3D12Object, GetPrivateData) | ||
| 20813 | HRESULT ( STDMETHODCALLTYPE *GetPrivateData )( | ||
| 20814 | ID3D12Heap1 * This, | ||
| 20815 | _In_ REFGUID guid, | ||
| 20816 | _Inout_ UINT *pDataSize, | ||
| 20817 | _Out_writes_bytes_opt_( *pDataSize ) void *pData); | ||
| 20818 | |||
| 20819 | DECLSPEC_XFGVIRT(ID3D12Object, SetPrivateData) | ||
| 20820 | HRESULT ( STDMETHODCALLTYPE *SetPrivateData )( | ||
| 20821 | ID3D12Heap1 * This, | ||
| 20822 | _In_ REFGUID guid, | ||
| 20823 | _In_ UINT DataSize, | ||
| 20824 | _In_reads_bytes_opt_( DataSize ) const void *pData); | ||
| 20825 | |||
| 20826 | DECLSPEC_XFGVIRT(ID3D12Object, SetPrivateDataInterface) | ||
| 20827 | HRESULT ( STDMETHODCALLTYPE *SetPrivateDataInterface )( | ||
| 20828 | ID3D12Heap1 * This, | ||
| 20829 | _In_ REFGUID guid, | ||
| 20830 | _In_opt_ const IUnknown *pData); | ||
| 20831 | |||
| 20832 | DECLSPEC_XFGVIRT(ID3D12Object, SetName) | ||
| 20833 | HRESULT ( STDMETHODCALLTYPE *SetName )( | ||
| 20834 | ID3D12Heap1 * This, | ||
| 20835 | _In_z_ LPCWSTR Name); | ||
| 20836 | |||
| 20837 | DECLSPEC_XFGVIRT(ID3D12DeviceChild, GetDevice) | ||
| 20838 | HRESULT ( STDMETHODCALLTYPE *GetDevice )( | ||
| 20839 | ID3D12Heap1 * This, | ||
| 20840 | REFIID riid, | ||
| 20841 | _COM_Outptr_opt_ void **ppvDevice); | ||
| 20842 | |||
| 20843 | DECLSPEC_XFGVIRT(ID3D12Heap, GetDesc) | ||
| 20844 | #if !defined(_WIN32) | ||
| 20845 | D3D12_HEAP_DESC ( STDMETHODCALLTYPE *GetDesc )( | ||
| 20846 | ID3D12Heap1 * This); | ||
| 20847 | |||
| 20848 | #else | ||
| 20849 | D3D12_HEAP_DESC *( STDMETHODCALLTYPE *GetDesc )( | ||
| 20850 | ID3D12Heap1 * This, | ||
| 20851 | D3D12_HEAP_DESC * RetVal); | ||
| 20852 | |||
| 20853 | #endif | ||
| 20854 | |||
| 20855 | DECLSPEC_XFGVIRT(ID3D12Heap1, GetProtectedResourceSession) | ||
| 20856 | HRESULT ( STDMETHODCALLTYPE *GetProtectedResourceSession )( | ||
| 20857 | ID3D12Heap1 * This, | ||
| 20858 | REFIID riid, | ||
| 20859 | _COM_Outptr_opt_ void **ppProtectedSession); | ||
| 20860 | |||
| 20861 | END_INTERFACE | ||
| 20862 | } ID3D12Heap1Vtbl; | ||
| 20863 | |||
| 20864 | interface ID3D12Heap1 | ||
| 20865 | { | ||
| 20866 | CONST_VTBL struct ID3D12Heap1Vtbl *lpVtbl; | ||
| 20867 | }; | ||
| 20868 | |||
| 20869 | |||
| 20870 | |||
| 20871 | #ifdef COBJMACROS | ||
| 20872 | |||
| 20873 | |||
| 20874 | #define ID3D12Heap1_QueryInterface(This,riid,ppvObject) \ | ||
| 20875 | ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) | ||
| 20876 | |||
| 20877 | #define ID3D12Heap1_AddRef(This) \ | ||
| 20878 | ( (This)->lpVtbl -> AddRef(This) ) | ||
| 20879 | |||
| 20880 | #define ID3D12Heap1_Release(This) \ | ||
| 20881 | ( (This)->lpVtbl -> Release(This) ) | ||
| 20882 | |||
| 20883 | |||
| 20884 | #define ID3D12Heap1_GetPrivateData(This,guid,pDataSize,pData) \ | ||
| 20885 | ( (This)->lpVtbl -> GetPrivateData(This,guid,pDataSize,pData) ) | ||
| 20886 | |||
| 20887 | #define ID3D12Heap1_SetPrivateData(This,guid,DataSize,pData) \ | ||
| 20888 | ( (This)->lpVtbl -> SetPrivateData(This,guid,DataSize,pData) ) | ||
| 20889 | |||
| 20890 | #define ID3D12Heap1_SetPrivateDataInterface(This,guid,pData) \ | ||
| 20891 | ( (This)->lpVtbl -> SetPrivateDataInterface(This,guid,pData) ) | ||
| 20892 | |||
| 20893 | #define ID3D12Heap1_SetName(This,Name) \ | ||
| 20894 | ( (This)->lpVtbl -> SetName(This,Name) ) | ||
| 20895 | |||
| 20896 | |||
| 20897 | #define ID3D12Heap1_GetDevice(This,riid,ppvDevice) \ | ||
| 20898 | ( (This)->lpVtbl -> GetDevice(This,riid,ppvDevice) ) | ||
| 20899 | |||
| 20900 | |||
| 20901 | #if !defined(_WIN32) | ||
| 20902 | |||
| 20903 | #define ID3D12Heap1_GetDesc(This) \ | ||
| 20904 | ( (This)->lpVtbl -> GetDesc(This) ) | ||
| 20905 | #else | ||
| 20906 | #define ID3D12Heap1_GetDesc(This,RetVal) \ | ||
| 20907 | ( (This)->lpVtbl -> GetDesc(This,RetVal) ) | ||
| 20908 | #endif | ||
| 20909 | |||
| 20910 | |||
| 20911 | #define ID3D12Heap1_GetProtectedResourceSession(This,riid,ppProtectedSession) \ | ||
| 20912 | ( (This)->lpVtbl -> GetProtectedResourceSession(This,riid,ppProtectedSession) ) | ||
| 20913 | |||
| 20914 | #endif /* COBJMACROS */ | ||
| 20915 | |||
| 20916 | |||
| 20917 | #endif /* C style interface */ | ||
| 20918 | |||
| 20919 | |||
| 20920 | |||
| 20921 | |||
| 20922 | #endif /* __ID3D12Heap1_INTERFACE_DEFINED__ */ | ||
| 20923 | |||
| 20924 | |||
| 20925 | #ifndef __ID3D12GraphicsCommandList3_INTERFACE_DEFINED__ | ||
| 20926 | #define __ID3D12GraphicsCommandList3_INTERFACE_DEFINED__ | ||
| 20927 | |||
| 20928 | /* interface ID3D12GraphicsCommandList3 */ | ||
| 20929 | /* [unique][local][object][uuid] */ | ||
| 20930 | |||
| 20931 | |||
| 20932 | EXTERN_C const IID IID_ID3D12GraphicsCommandList3; | ||
| 20933 | |||
| 20934 | #if defined(__cplusplus) && !defined(CINTERFACE) | ||
| 20935 | |||
| 20936 | MIDL_INTERFACE("6FDA83A7-B84C-4E38-9AC8-C7BD22016B3D") | ||
| 20937 | ID3D12GraphicsCommandList3 : public ID3D12GraphicsCommandList2 | ||
| 20938 | { | ||
| 20939 | public: | ||
| 20940 | virtual void STDMETHODCALLTYPE SetProtectedResourceSession( | ||
| 20941 | _In_opt_ ID3D12ProtectedResourceSession *pProtectedResourceSession) = 0; | ||
| 20942 | |||
| 20943 | }; | ||
| 20944 | |||
| 20945 | |||
| 20946 | #else /* C style interface */ | ||
| 20947 | |||
| 20948 | typedef struct ID3D12GraphicsCommandList3Vtbl | ||
| 20949 | { | ||
| 20950 | BEGIN_INTERFACE | ||
| 20951 | |||
| 20952 | DECLSPEC_XFGVIRT(IUnknown, QueryInterface) | ||
| 20953 | HRESULT ( STDMETHODCALLTYPE *QueryInterface )( | ||
| 20954 | ID3D12GraphicsCommandList3 * This, | ||
| 20955 | REFIID riid, | ||
| 20956 | _COM_Outptr_ void **ppvObject); | ||
| 20957 | |||
| 20958 | DECLSPEC_XFGVIRT(IUnknown, AddRef) | ||
| 20959 | ULONG ( STDMETHODCALLTYPE *AddRef )( | ||
| 20960 | ID3D12GraphicsCommandList3 * This); | ||
| 20961 | |||
| 20962 | DECLSPEC_XFGVIRT(IUnknown, Release) | ||
| 20963 | ULONG ( STDMETHODCALLTYPE *Release )( | ||
| 20964 | ID3D12GraphicsCommandList3 * This); | ||
| 20965 | |||
| 20966 | DECLSPEC_XFGVIRT(ID3D12Object, GetPrivateData) | ||
| 20967 | HRESULT ( STDMETHODCALLTYPE *GetPrivateData )( | ||
| 20968 | ID3D12GraphicsCommandList3 * This, | ||
| 20969 | _In_ REFGUID guid, | ||
| 20970 | _Inout_ UINT *pDataSize, | ||
| 20971 | _Out_writes_bytes_opt_( *pDataSize ) void *pData); | ||
| 20972 | |||
| 20973 | DECLSPEC_XFGVIRT(ID3D12Object, SetPrivateData) | ||
| 20974 | HRESULT ( STDMETHODCALLTYPE *SetPrivateData )( | ||
| 20975 | ID3D12GraphicsCommandList3 * This, | ||
| 20976 | _In_ REFGUID guid, | ||
| 20977 | _In_ UINT DataSize, | ||
| 20978 | _In_reads_bytes_opt_( DataSize ) const void *pData); | ||
| 20979 | |||
| 20980 | DECLSPEC_XFGVIRT(ID3D12Object, SetPrivateDataInterface) | ||
| 20981 | HRESULT ( STDMETHODCALLTYPE *SetPrivateDataInterface )( | ||
| 20982 | ID3D12GraphicsCommandList3 * This, | ||
| 20983 | _In_ REFGUID guid, | ||
| 20984 | _In_opt_ const IUnknown *pData); | ||
| 20985 | |||
| 20986 | DECLSPEC_XFGVIRT(ID3D12Object, SetName) | ||
| 20987 | HRESULT ( STDMETHODCALLTYPE *SetName )( | ||
| 20988 | ID3D12GraphicsCommandList3 * This, | ||
| 20989 | _In_z_ LPCWSTR Name); | ||
| 20990 | |||
| 20991 | DECLSPEC_XFGVIRT(ID3D12DeviceChild, GetDevice) | ||
| 20992 | HRESULT ( STDMETHODCALLTYPE *GetDevice )( | ||
| 20993 | ID3D12GraphicsCommandList3 * This, | ||
| 20994 | REFIID riid, | ||
| 20995 | _COM_Outptr_opt_ void **ppvDevice); | ||
| 20996 | |||
| 20997 | DECLSPEC_XFGVIRT(ID3D12CommandList, GetType) | ||
| 20998 | D3D12_COMMAND_LIST_TYPE ( STDMETHODCALLTYPE *GetType )( | ||
| 20999 | ID3D12GraphicsCommandList3 * This); | ||
| 21000 | |||
| 21001 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, Close) | ||
| 21002 | HRESULT ( STDMETHODCALLTYPE *Close )( | ||
| 21003 | ID3D12GraphicsCommandList3 * This); | ||
| 21004 | |||
| 21005 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, Reset) | ||
| 21006 | HRESULT ( STDMETHODCALLTYPE *Reset )( | ||
| 21007 | ID3D12GraphicsCommandList3 * This, | ||
| 21008 | _In_ ID3D12CommandAllocator *pAllocator, | ||
| 21009 | _In_opt_ ID3D12PipelineState *pInitialState); | ||
| 21010 | |||
| 21011 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, ClearState) | ||
| 21012 | void ( STDMETHODCALLTYPE *ClearState )( | ||
| 21013 | ID3D12GraphicsCommandList3 * This, | ||
| 21014 | _In_opt_ ID3D12PipelineState *pPipelineState); | ||
| 21015 | |||
| 21016 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, DrawInstanced) | ||
| 21017 | void ( STDMETHODCALLTYPE *DrawInstanced )( | ||
| 21018 | ID3D12GraphicsCommandList3 * This, | ||
| 21019 | _In_ UINT VertexCountPerInstance, | ||
| 21020 | _In_ UINT InstanceCount, | ||
| 21021 | _In_ UINT StartVertexLocation, | ||
| 21022 | _In_ UINT StartInstanceLocation); | ||
| 21023 | |||
| 21024 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, DrawIndexedInstanced) | ||
| 21025 | void ( STDMETHODCALLTYPE *DrawIndexedInstanced )( | ||
| 21026 | ID3D12GraphicsCommandList3 * This, | ||
| 21027 | _In_ UINT IndexCountPerInstance, | ||
| 21028 | _In_ UINT InstanceCount, | ||
| 21029 | _In_ UINT StartIndexLocation, | ||
| 21030 | _In_ INT BaseVertexLocation, | ||
| 21031 | _In_ UINT StartInstanceLocation); | ||
| 21032 | |||
| 21033 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, Dispatch) | ||
| 21034 | void ( STDMETHODCALLTYPE *Dispatch )( | ||
| 21035 | ID3D12GraphicsCommandList3 * This, | ||
| 21036 | _In_ UINT ThreadGroupCountX, | ||
| 21037 | _In_ UINT ThreadGroupCountY, | ||
| 21038 | _In_ UINT ThreadGroupCountZ); | ||
| 21039 | |||
| 21040 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, CopyBufferRegion) | ||
| 21041 | void ( STDMETHODCALLTYPE *CopyBufferRegion )( | ||
| 21042 | ID3D12GraphicsCommandList3 * This, | ||
| 21043 | _In_ ID3D12Resource *pDstBuffer, | ||
| 21044 | UINT64 DstOffset, | ||
| 21045 | _In_ ID3D12Resource *pSrcBuffer, | ||
| 21046 | UINT64 SrcOffset, | ||
| 21047 | UINT64 NumBytes); | ||
| 21048 | |||
| 21049 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, CopyTextureRegion) | ||
| 21050 | void ( STDMETHODCALLTYPE *CopyTextureRegion )( | ||
| 21051 | ID3D12GraphicsCommandList3 * This, | ||
| 21052 | _In_ const D3D12_TEXTURE_COPY_LOCATION *pDst, | ||
| 21053 | UINT DstX, | ||
| 21054 | UINT DstY, | ||
| 21055 | UINT DstZ, | ||
| 21056 | _In_ const D3D12_TEXTURE_COPY_LOCATION *pSrc, | ||
| 21057 | _In_opt_ const D3D12_BOX *pSrcBox); | ||
| 21058 | |||
| 21059 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, CopyResource) | ||
| 21060 | void ( STDMETHODCALLTYPE *CopyResource )( | ||
| 21061 | ID3D12GraphicsCommandList3 * This, | ||
| 21062 | _In_ ID3D12Resource *pDstResource, | ||
| 21063 | _In_ ID3D12Resource *pSrcResource); | ||
| 21064 | |||
| 21065 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, CopyTiles) | ||
| 21066 | void ( STDMETHODCALLTYPE *CopyTiles )( | ||
| 21067 | ID3D12GraphicsCommandList3 * This, | ||
| 21068 | _In_ ID3D12Resource *pTiledResource, | ||
| 21069 | _In_ const D3D12_TILED_RESOURCE_COORDINATE *pTileRegionStartCoordinate, | ||
| 21070 | _In_ const D3D12_TILE_REGION_SIZE *pTileRegionSize, | ||
| 21071 | _In_ ID3D12Resource *pBuffer, | ||
| 21072 | UINT64 BufferStartOffsetInBytes, | ||
| 21073 | D3D12_TILE_COPY_FLAGS Flags); | ||
| 21074 | |||
| 21075 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, ResolveSubresource) | ||
| 21076 | void ( STDMETHODCALLTYPE *ResolveSubresource )( | ||
| 21077 | ID3D12GraphicsCommandList3 * This, | ||
| 21078 | _In_ ID3D12Resource *pDstResource, | ||
| 21079 | _In_ UINT DstSubresource, | ||
| 21080 | _In_ ID3D12Resource *pSrcResource, | ||
| 21081 | _In_ UINT SrcSubresource, | ||
| 21082 | _In_ DXGI_FORMAT Format); | ||
| 21083 | |||
| 21084 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, IASetPrimitiveTopology) | ||
| 21085 | void ( STDMETHODCALLTYPE *IASetPrimitiveTopology )( | ||
| 21086 | ID3D12GraphicsCommandList3 * This, | ||
| 21087 | _In_ D3D12_PRIMITIVE_TOPOLOGY PrimitiveTopology); | ||
| 21088 | |||
| 21089 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, RSSetViewports) | ||
| 21090 | void ( STDMETHODCALLTYPE *RSSetViewports )( | ||
| 21091 | ID3D12GraphicsCommandList3 * This, | ||
| 21092 | _In_range_(0, D3D12_VIEWPORT_AND_SCISSORRECT_OBJECT_COUNT_PER_PIPELINE) UINT NumViewports, | ||
| 21093 | _In_reads_( NumViewports) const D3D12_VIEWPORT *pViewports); | ||
| 21094 | |||
| 21095 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, RSSetScissorRects) | ||
| 21096 | void ( STDMETHODCALLTYPE *RSSetScissorRects )( | ||
| 21097 | ID3D12GraphicsCommandList3 * This, | ||
| 21098 | _In_range_(0, D3D12_VIEWPORT_AND_SCISSORRECT_OBJECT_COUNT_PER_PIPELINE) UINT NumRects, | ||
| 21099 | _In_reads_( NumRects) const D3D12_RECT *pRects); | ||
| 21100 | |||
| 21101 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, OMSetBlendFactor) | ||
| 21102 | void ( STDMETHODCALLTYPE *OMSetBlendFactor )( | ||
| 21103 | ID3D12GraphicsCommandList3 * This, | ||
| 21104 | _In_reads_opt_(4) const FLOAT BlendFactor[ 4 ]); | ||
| 21105 | |||
| 21106 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, OMSetStencilRef) | ||
| 21107 | void ( STDMETHODCALLTYPE *OMSetStencilRef )( | ||
| 21108 | ID3D12GraphicsCommandList3 * This, | ||
| 21109 | _In_ UINT StencilRef); | ||
| 21110 | |||
| 21111 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetPipelineState) | ||
| 21112 | void ( STDMETHODCALLTYPE *SetPipelineState )( | ||
| 21113 | ID3D12GraphicsCommandList3 * This, | ||
| 21114 | _In_ ID3D12PipelineState *pPipelineState); | ||
| 21115 | |||
| 21116 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, ResourceBarrier) | ||
| 21117 | void ( STDMETHODCALLTYPE *ResourceBarrier )( | ||
| 21118 | ID3D12GraphicsCommandList3 * This, | ||
| 21119 | _In_ UINT NumBarriers, | ||
| 21120 | _In_reads_(NumBarriers) const D3D12_RESOURCE_BARRIER *pBarriers); | ||
| 21121 | |||
| 21122 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, ExecuteBundle) | ||
| 21123 | void ( STDMETHODCALLTYPE *ExecuteBundle )( | ||
| 21124 | ID3D12GraphicsCommandList3 * This, | ||
| 21125 | _In_ ID3D12GraphicsCommandList *pCommandList); | ||
| 21126 | |||
| 21127 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetDescriptorHeaps) | ||
| 21128 | void ( STDMETHODCALLTYPE *SetDescriptorHeaps )( | ||
| 21129 | ID3D12GraphicsCommandList3 * This, | ||
| 21130 | _In_ UINT NumDescriptorHeaps, | ||
| 21131 | _In_reads_(NumDescriptorHeaps) ID3D12DescriptorHeap *const *ppDescriptorHeaps); | ||
| 21132 | |||
| 21133 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetComputeRootSignature) | ||
| 21134 | void ( STDMETHODCALLTYPE *SetComputeRootSignature )( | ||
| 21135 | ID3D12GraphicsCommandList3 * This, | ||
| 21136 | _In_opt_ ID3D12RootSignature *pRootSignature); | ||
| 21137 | |||
| 21138 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetGraphicsRootSignature) | ||
| 21139 | void ( STDMETHODCALLTYPE *SetGraphicsRootSignature )( | ||
| 21140 | ID3D12GraphicsCommandList3 * This, | ||
| 21141 | _In_opt_ ID3D12RootSignature *pRootSignature); | ||
| 21142 | |||
| 21143 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetComputeRootDescriptorTable) | ||
| 21144 | void ( STDMETHODCALLTYPE *SetComputeRootDescriptorTable )( | ||
| 21145 | ID3D12GraphicsCommandList3 * This, | ||
| 21146 | _In_ UINT RootParameterIndex, | ||
| 21147 | _In_ D3D12_GPU_DESCRIPTOR_HANDLE BaseDescriptor); | ||
| 21148 | |||
| 21149 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetGraphicsRootDescriptorTable) | ||
| 21150 | void ( STDMETHODCALLTYPE *SetGraphicsRootDescriptorTable )( | ||
| 21151 | ID3D12GraphicsCommandList3 * This, | ||
| 21152 | _In_ UINT RootParameterIndex, | ||
| 21153 | _In_ D3D12_GPU_DESCRIPTOR_HANDLE BaseDescriptor); | ||
| 21154 | |||
| 21155 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetComputeRoot32BitConstant) | ||
| 21156 | void ( STDMETHODCALLTYPE *SetComputeRoot32BitConstant )( | ||
| 21157 | ID3D12GraphicsCommandList3 * This, | ||
| 21158 | _In_ UINT RootParameterIndex, | ||
| 21159 | _In_ UINT SrcData, | ||
| 21160 | _In_ UINT DestOffsetIn32BitValues); | ||
| 21161 | |||
| 21162 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetGraphicsRoot32BitConstant) | ||
| 21163 | void ( STDMETHODCALLTYPE *SetGraphicsRoot32BitConstant )( | ||
| 21164 | ID3D12GraphicsCommandList3 * This, | ||
| 21165 | _In_ UINT RootParameterIndex, | ||
| 21166 | _In_ UINT SrcData, | ||
| 21167 | _In_ UINT DestOffsetIn32BitValues); | ||
| 21168 | |||
| 21169 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetComputeRoot32BitConstants) | ||
| 21170 | void ( STDMETHODCALLTYPE *SetComputeRoot32BitConstants )( | ||
| 21171 | ID3D12GraphicsCommandList3 * This, | ||
| 21172 | _In_ UINT RootParameterIndex, | ||
| 21173 | _In_ UINT Num32BitValuesToSet, | ||
| 21174 | _In_reads_(Num32BitValuesToSet*sizeof(UINT)) const void *pSrcData, | ||
| 21175 | _In_ UINT DestOffsetIn32BitValues); | ||
| 21176 | |||
| 21177 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetGraphicsRoot32BitConstants) | ||
| 21178 | void ( STDMETHODCALLTYPE *SetGraphicsRoot32BitConstants )( | ||
| 21179 | ID3D12GraphicsCommandList3 * This, | ||
| 21180 | _In_ UINT RootParameterIndex, | ||
| 21181 | _In_ UINT Num32BitValuesToSet, | ||
| 21182 | _In_reads_(Num32BitValuesToSet*sizeof(UINT)) const void *pSrcData, | ||
| 21183 | _In_ UINT DestOffsetIn32BitValues); | ||
| 21184 | |||
| 21185 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetComputeRootConstantBufferView) | ||
| 21186 | void ( STDMETHODCALLTYPE *SetComputeRootConstantBufferView )( | ||
| 21187 | ID3D12GraphicsCommandList3 * This, | ||
| 21188 | _In_ UINT RootParameterIndex, | ||
| 21189 | _In_ D3D12_GPU_VIRTUAL_ADDRESS BufferLocation); | ||
| 21190 | |||
| 21191 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetGraphicsRootConstantBufferView) | ||
| 21192 | void ( STDMETHODCALLTYPE *SetGraphicsRootConstantBufferView )( | ||
| 21193 | ID3D12GraphicsCommandList3 * This, | ||
| 21194 | _In_ UINT RootParameterIndex, | ||
| 21195 | _In_ D3D12_GPU_VIRTUAL_ADDRESS BufferLocation); | ||
| 21196 | |||
| 21197 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetComputeRootShaderResourceView) | ||
| 21198 | void ( STDMETHODCALLTYPE *SetComputeRootShaderResourceView )( | ||
| 21199 | ID3D12GraphicsCommandList3 * This, | ||
| 21200 | _In_ UINT RootParameterIndex, | ||
| 21201 | _In_ D3D12_GPU_VIRTUAL_ADDRESS BufferLocation); | ||
| 21202 | |||
| 21203 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetGraphicsRootShaderResourceView) | ||
| 21204 | void ( STDMETHODCALLTYPE *SetGraphicsRootShaderResourceView )( | ||
| 21205 | ID3D12GraphicsCommandList3 * This, | ||
| 21206 | _In_ UINT RootParameterIndex, | ||
| 21207 | _In_ D3D12_GPU_VIRTUAL_ADDRESS BufferLocation); | ||
| 21208 | |||
| 21209 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetComputeRootUnorderedAccessView) | ||
| 21210 | void ( STDMETHODCALLTYPE *SetComputeRootUnorderedAccessView )( | ||
| 21211 | ID3D12GraphicsCommandList3 * This, | ||
| 21212 | _In_ UINT RootParameterIndex, | ||
| 21213 | _In_ D3D12_GPU_VIRTUAL_ADDRESS BufferLocation); | ||
| 21214 | |||
| 21215 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetGraphicsRootUnorderedAccessView) | ||
| 21216 | void ( STDMETHODCALLTYPE *SetGraphicsRootUnorderedAccessView )( | ||
| 21217 | ID3D12GraphicsCommandList3 * This, | ||
| 21218 | _In_ UINT RootParameterIndex, | ||
| 21219 | _In_ D3D12_GPU_VIRTUAL_ADDRESS BufferLocation); | ||
| 21220 | |||
| 21221 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, IASetIndexBuffer) | ||
| 21222 | void ( STDMETHODCALLTYPE *IASetIndexBuffer )( | ||
| 21223 | ID3D12GraphicsCommandList3 * This, | ||
| 21224 | _In_opt_ const D3D12_INDEX_BUFFER_VIEW *pView); | ||
| 21225 | |||
| 21226 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, IASetVertexBuffers) | ||
| 21227 | void ( STDMETHODCALLTYPE *IASetVertexBuffers )( | ||
| 21228 | ID3D12GraphicsCommandList3 * This, | ||
| 21229 | _In_ UINT StartSlot, | ||
| 21230 | _In_ UINT NumViews, | ||
| 21231 | _In_reads_opt_(NumViews) const D3D12_VERTEX_BUFFER_VIEW *pViews); | ||
| 21232 | |||
| 21233 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SOSetTargets) | ||
| 21234 | void ( STDMETHODCALLTYPE *SOSetTargets )( | ||
| 21235 | ID3D12GraphicsCommandList3 * This, | ||
| 21236 | _In_ UINT StartSlot, | ||
| 21237 | _In_ UINT NumViews, | ||
| 21238 | _In_reads_opt_(NumViews) const D3D12_STREAM_OUTPUT_BUFFER_VIEW *pViews); | ||
| 21239 | |||
| 21240 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, OMSetRenderTargets) | ||
| 21241 | void ( STDMETHODCALLTYPE *OMSetRenderTargets )( | ||
| 21242 | ID3D12GraphicsCommandList3 * This, | ||
| 21243 | _In_ UINT NumRenderTargetDescriptors, | ||
| 21244 | _In_opt_ const D3D12_CPU_DESCRIPTOR_HANDLE *pRenderTargetDescriptors, | ||
| 21245 | _In_ BOOL RTsSingleHandleToDescriptorRange, | ||
| 21246 | _In_opt_ const D3D12_CPU_DESCRIPTOR_HANDLE *pDepthStencilDescriptor); | ||
| 21247 | |||
| 21248 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, ClearDepthStencilView) | ||
| 21249 | void ( STDMETHODCALLTYPE *ClearDepthStencilView )( | ||
| 21250 | ID3D12GraphicsCommandList3 * This, | ||
| 21251 | _In_ D3D12_CPU_DESCRIPTOR_HANDLE DepthStencilView, | ||
| 21252 | _In_ D3D12_CLEAR_FLAGS ClearFlags, | ||
| 21253 | _In_ FLOAT Depth, | ||
| 21254 | _In_ UINT8 Stencil, | ||
| 21255 | _In_ UINT NumRects, | ||
| 21256 | _In_reads_(NumRects) const D3D12_RECT *pRects); | ||
| 21257 | |||
| 21258 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, ClearRenderTargetView) | ||
| 21259 | void ( STDMETHODCALLTYPE *ClearRenderTargetView )( | ||
| 21260 | ID3D12GraphicsCommandList3 * This, | ||
| 21261 | _In_ D3D12_CPU_DESCRIPTOR_HANDLE RenderTargetView, | ||
| 21262 | _In_ const FLOAT ColorRGBA[ 4 ], | ||
| 21263 | _In_ UINT NumRects, | ||
| 21264 | _In_reads_(NumRects) const D3D12_RECT *pRects); | ||
| 21265 | |||
| 21266 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, ClearUnorderedAccessViewUint) | ||
| 21267 | void ( STDMETHODCALLTYPE *ClearUnorderedAccessViewUint )( | ||
| 21268 | ID3D12GraphicsCommandList3 * This, | ||
| 21269 | _In_ D3D12_GPU_DESCRIPTOR_HANDLE ViewGPUHandleInCurrentHeap, | ||
| 21270 | _In_ D3D12_CPU_DESCRIPTOR_HANDLE ViewCPUHandle, | ||
| 21271 | _In_ ID3D12Resource *pResource, | ||
| 21272 | _In_ const UINT Values[ 4 ], | ||
| 21273 | _In_ UINT NumRects, | ||
| 21274 | _In_reads_(NumRects) const D3D12_RECT *pRects); | ||
| 21275 | |||
| 21276 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, ClearUnorderedAccessViewFloat) | ||
| 21277 | void ( STDMETHODCALLTYPE *ClearUnorderedAccessViewFloat )( | ||
| 21278 | ID3D12GraphicsCommandList3 * This, | ||
| 21279 | _In_ D3D12_GPU_DESCRIPTOR_HANDLE ViewGPUHandleInCurrentHeap, | ||
| 21280 | _In_ D3D12_CPU_DESCRIPTOR_HANDLE ViewCPUHandle, | ||
| 21281 | _In_ ID3D12Resource *pResource, | ||
| 21282 | _In_ const FLOAT Values[ 4 ], | ||
| 21283 | _In_ UINT NumRects, | ||
| 21284 | _In_reads_(NumRects) const D3D12_RECT *pRects); | ||
| 21285 | |||
| 21286 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, DiscardResource) | ||
| 21287 | void ( STDMETHODCALLTYPE *DiscardResource )( | ||
| 21288 | ID3D12GraphicsCommandList3 * This, | ||
| 21289 | _In_ ID3D12Resource *pResource, | ||
| 21290 | _In_opt_ const D3D12_DISCARD_REGION *pRegion); | ||
| 21291 | |||
| 21292 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, BeginQuery) | ||
| 21293 | void ( STDMETHODCALLTYPE *BeginQuery )( | ||
| 21294 | ID3D12GraphicsCommandList3 * This, | ||
| 21295 | _In_ ID3D12QueryHeap *pQueryHeap, | ||
| 21296 | _In_ D3D12_QUERY_TYPE Type, | ||
| 21297 | _In_ UINT Index); | ||
| 21298 | |||
| 21299 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, EndQuery) | ||
| 21300 | void ( STDMETHODCALLTYPE *EndQuery )( | ||
| 21301 | ID3D12GraphicsCommandList3 * This, | ||
| 21302 | _In_ ID3D12QueryHeap *pQueryHeap, | ||
| 21303 | _In_ D3D12_QUERY_TYPE Type, | ||
| 21304 | _In_ UINT Index); | ||
| 21305 | |||
| 21306 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, ResolveQueryData) | ||
| 21307 | void ( STDMETHODCALLTYPE *ResolveQueryData )( | ||
| 21308 | ID3D12GraphicsCommandList3 * This, | ||
| 21309 | _In_ ID3D12QueryHeap *pQueryHeap, | ||
| 21310 | _In_ D3D12_QUERY_TYPE Type, | ||
| 21311 | _In_ UINT StartIndex, | ||
| 21312 | _In_ UINT NumQueries, | ||
| 21313 | _In_ ID3D12Resource *pDestinationBuffer, | ||
| 21314 | _In_ UINT64 AlignedDestinationBufferOffset); | ||
| 21315 | |||
| 21316 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetPredication) | ||
| 21317 | void ( STDMETHODCALLTYPE *SetPredication )( | ||
| 21318 | ID3D12GraphicsCommandList3 * This, | ||
| 21319 | _In_opt_ ID3D12Resource *pBuffer, | ||
| 21320 | _In_ UINT64 AlignedBufferOffset, | ||
| 21321 | _In_ D3D12_PREDICATION_OP Operation); | ||
| 21322 | |||
| 21323 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetMarker) | ||
| 21324 | void ( STDMETHODCALLTYPE *SetMarker )( | ||
| 21325 | ID3D12GraphicsCommandList3 * This, | ||
| 21326 | UINT Metadata, | ||
| 21327 | _In_reads_bytes_opt_(Size) const void *pData, | ||
| 21328 | UINT Size); | ||
| 21329 | |||
| 21330 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, BeginEvent) | ||
| 21331 | void ( STDMETHODCALLTYPE *BeginEvent )( | ||
| 21332 | ID3D12GraphicsCommandList3 * This, | ||
| 21333 | UINT Metadata, | ||
| 21334 | _In_reads_bytes_opt_(Size) const void *pData, | ||
| 21335 | UINT Size); | ||
| 21336 | |||
| 21337 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, EndEvent) | ||
| 21338 | void ( STDMETHODCALLTYPE *EndEvent )( | ||
| 21339 | ID3D12GraphicsCommandList3 * This); | ||
| 21340 | |||
| 21341 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, ExecuteIndirect) | ||
| 21342 | void ( STDMETHODCALLTYPE *ExecuteIndirect )( | ||
| 21343 | ID3D12GraphicsCommandList3 * This, | ||
| 21344 | _In_ ID3D12CommandSignature *pCommandSignature, | ||
| 21345 | _In_ UINT MaxCommandCount, | ||
| 21346 | _In_ ID3D12Resource *pArgumentBuffer, | ||
| 21347 | _In_ UINT64 ArgumentBufferOffset, | ||
| 21348 | _In_opt_ ID3D12Resource *pCountBuffer, | ||
| 21349 | _In_ UINT64 CountBufferOffset); | ||
| 21350 | |||
| 21351 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList1, AtomicCopyBufferUINT) | ||
| 21352 | void ( STDMETHODCALLTYPE *AtomicCopyBufferUINT )( | ||
| 21353 | ID3D12GraphicsCommandList3 * This, | ||
| 21354 | _In_ ID3D12Resource *pDstBuffer, | ||
| 21355 | UINT64 DstOffset, | ||
| 21356 | _In_ ID3D12Resource *pSrcBuffer, | ||
| 21357 | UINT64 SrcOffset, | ||
| 21358 | UINT Dependencies, | ||
| 21359 | _In_reads_(Dependencies) ID3D12Resource *const *ppDependentResources, | ||
| 21360 | _In_reads_(Dependencies) const D3D12_SUBRESOURCE_RANGE_UINT64 *pDependentSubresourceRanges); | ||
| 21361 | |||
| 21362 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList1, AtomicCopyBufferUINT64) | ||
| 21363 | void ( STDMETHODCALLTYPE *AtomicCopyBufferUINT64 )( | ||
| 21364 | ID3D12GraphicsCommandList3 * This, | ||
| 21365 | _In_ ID3D12Resource *pDstBuffer, | ||
| 21366 | UINT64 DstOffset, | ||
| 21367 | _In_ ID3D12Resource *pSrcBuffer, | ||
| 21368 | UINT64 SrcOffset, | ||
| 21369 | UINT Dependencies, | ||
| 21370 | _In_reads_(Dependencies) ID3D12Resource *const *ppDependentResources, | ||
| 21371 | _In_reads_(Dependencies) const D3D12_SUBRESOURCE_RANGE_UINT64 *pDependentSubresourceRanges); | ||
| 21372 | |||
| 21373 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList1, OMSetDepthBounds) | ||
| 21374 | void ( STDMETHODCALLTYPE *OMSetDepthBounds )( | ||
| 21375 | ID3D12GraphicsCommandList3 * This, | ||
| 21376 | _In_ FLOAT Min, | ||
| 21377 | _In_ FLOAT Max); | ||
| 21378 | |||
| 21379 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList1, SetSamplePositions) | ||
| 21380 | void ( STDMETHODCALLTYPE *SetSamplePositions )( | ||
| 21381 | ID3D12GraphicsCommandList3 * This, | ||
| 21382 | _In_ UINT NumSamplesPerPixel, | ||
| 21383 | _In_ UINT NumPixels, | ||
| 21384 | _In_reads_(NumSamplesPerPixel*NumPixels) D3D12_SAMPLE_POSITION *pSamplePositions); | ||
| 21385 | |||
| 21386 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList1, ResolveSubresourceRegion) | ||
| 21387 | void ( STDMETHODCALLTYPE *ResolveSubresourceRegion )( | ||
| 21388 | ID3D12GraphicsCommandList3 * This, | ||
| 21389 | _In_ ID3D12Resource *pDstResource, | ||
| 21390 | _In_ UINT DstSubresource, | ||
| 21391 | _In_ UINT DstX, | ||
| 21392 | _In_ UINT DstY, | ||
| 21393 | _In_ ID3D12Resource *pSrcResource, | ||
| 21394 | _In_ UINT SrcSubresource, | ||
| 21395 | _In_opt_ D3D12_RECT *pSrcRect, | ||
| 21396 | _In_ DXGI_FORMAT Format, | ||
| 21397 | _In_ D3D12_RESOLVE_MODE ResolveMode); | ||
| 21398 | |||
| 21399 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList1, SetViewInstanceMask) | ||
| 21400 | void ( STDMETHODCALLTYPE *SetViewInstanceMask )( | ||
| 21401 | ID3D12GraphicsCommandList3 * This, | ||
| 21402 | _In_ UINT Mask); | ||
| 21403 | |||
| 21404 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList2, WriteBufferImmediate) | ||
| 21405 | void ( STDMETHODCALLTYPE *WriteBufferImmediate )( | ||
| 21406 | ID3D12GraphicsCommandList3 * This, | ||
| 21407 | UINT Count, | ||
| 21408 | _In_reads_(Count) const D3D12_WRITEBUFFERIMMEDIATE_PARAMETER *pParams, | ||
| 21409 | _In_reads_opt_(Count) const D3D12_WRITEBUFFERIMMEDIATE_MODE *pModes); | ||
| 21410 | |||
| 21411 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList3, SetProtectedResourceSession) | ||
| 21412 | void ( STDMETHODCALLTYPE *SetProtectedResourceSession )( | ||
| 21413 | ID3D12GraphicsCommandList3 * This, | ||
| 21414 | _In_opt_ ID3D12ProtectedResourceSession *pProtectedResourceSession); | ||
| 21415 | |||
| 21416 | END_INTERFACE | ||
| 21417 | } ID3D12GraphicsCommandList3Vtbl; | ||
| 21418 | |||
| 21419 | interface ID3D12GraphicsCommandList3 | ||
| 21420 | { | ||
| 21421 | CONST_VTBL struct ID3D12GraphicsCommandList3Vtbl *lpVtbl; | ||
| 21422 | }; | ||
| 21423 | |||
| 21424 | |||
| 21425 | |||
| 21426 | #ifdef COBJMACROS | ||
| 21427 | |||
| 21428 | |||
| 21429 | #define ID3D12GraphicsCommandList3_QueryInterface(This,riid,ppvObject) \ | ||
| 21430 | ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) | ||
| 21431 | |||
| 21432 | #define ID3D12GraphicsCommandList3_AddRef(This) \ | ||
| 21433 | ( (This)->lpVtbl -> AddRef(This) ) | ||
| 21434 | |||
| 21435 | #define ID3D12GraphicsCommandList3_Release(This) \ | ||
| 21436 | ( (This)->lpVtbl -> Release(This) ) | ||
| 21437 | |||
| 21438 | |||
| 21439 | #define ID3D12GraphicsCommandList3_GetPrivateData(This,guid,pDataSize,pData) \ | ||
| 21440 | ( (This)->lpVtbl -> GetPrivateData(This,guid,pDataSize,pData) ) | ||
| 21441 | |||
| 21442 | #define ID3D12GraphicsCommandList3_SetPrivateData(This,guid,DataSize,pData) \ | ||
| 21443 | ( (This)->lpVtbl -> SetPrivateData(This,guid,DataSize,pData) ) | ||
| 21444 | |||
| 21445 | #define ID3D12GraphicsCommandList3_SetPrivateDataInterface(This,guid,pData) \ | ||
| 21446 | ( (This)->lpVtbl -> SetPrivateDataInterface(This,guid,pData) ) | ||
| 21447 | |||
| 21448 | #define ID3D12GraphicsCommandList3_SetName(This,Name) \ | ||
| 21449 | ( (This)->lpVtbl -> SetName(This,Name) ) | ||
| 21450 | |||
| 21451 | |||
| 21452 | #define ID3D12GraphicsCommandList3_GetDevice(This,riid,ppvDevice) \ | ||
| 21453 | ( (This)->lpVtbl -> GetDevice(This,riid,ppvDevice) ) | ||
| 21454 | |||
| 21455 | |||
| 21456 | #define ID3D12GraphicsCommandList3_GetType(This) \ | ||
| 21457 | ( (This)->lpVtbl -> GetType(This) ) | ||
| 21458 | |||
| 21459 | |||
| 21460 | #define ID3D12GraphicsCommandList3_Close(This) \ | ||
| 21461 | ( (This)->lpVtbl -> Close(This) ) | ||
| 21462 | |||
| 21463 | #define ID3D12GraphicsCommandList3_Reset(This,pAllocator,pInitialState) \ | ||
| 21464 | ( (This)->lpVtbl -> Reset(This,pAllocator,pInitialState) ) | ||
| 21465 | |||
| 21466 | #define ID3D12GraphicsCommandList3_ClearState(This,pPipelineState) \ | ||
| 21467 | ( (This)->lpVtbl -> ClearState(This,pPipelineState) ) | ||
| 21468 | |||
| 21469 | #define ID3D12GraphicsCommandList3_DrawInstanced(This,VertexCountPerInstance,InstanceCount,StartVertexLocation,StartInstanceLocation) \ | ||
| 21470 | ( (This)->lpVtbl -> DrawInstanced(This,VertexCountPerInstance,InstanceCount,StartVertexLocation,StartInstanceLocation) ) | ||
| 21471 | |||
| 21472 | #define ID3D12GraphicsCommandList3_DrawIndexedInstanced(This,IndexCountPerInstance,InstanceCount,StartIndexLocation,BaseVertexLocation,StartInstanceLocation) \ | ||
| 21473 | ( (This)->lpVtbl -> DrawIndexedInstanced(This,IndexCountPerInstance,InstanceCount,StartIndexLocation,BaseVertexLocation,StartInstanceLocation) ) | ||
| 21474 | |||
| 21475 | #define ID3D12GraphicsCommandList3_Dispatch(This,ThreadGroupCountX,ThreadGroupCountY,ThreadGroupCountZ) \ | ||
| 21476 | ( (This)->lpVtbl -> Dispatch(This,ThreadGroupCountX,ThreadGroupCountY,ThreadGroupCountZ) ) | ||
| 21477 | |||
| 21478 | #define ID3D12GraphicsCommandList3_CopyBufferRegion(This,pDstBuffer,DstOffset,pSrcBuffer,SrcOffset,NumBytes) \ | ||
| 21479 | ( (This)->lpVtbl -> CopyBufferRegion(This,pDstBuffer,DstOffset,pSrcBuffer,SrcOffset,NumBytes) ) | ||
| 21480 | |||
| 21481 | #define ID3D12GraphicsCommandList3_CopyTextureRegion(This,pDst,DstX,DstY,DstZ,pSrc,pSrcBox) \ | ||
| 21482 | ( (This)->lpVtbl -> CopyTextureRegion(This,pDst,DstX,DstY,DstZ,pSrc,pSrcBox) ) | ||
| 21483 | |||
| 21484 | #define ID3D12GraphicsCommandList3_CopyResource(This,pDstResource,pSrcResource) \ | ||
| 21485 | ( (This)->lpVtbl -> CopyResource(This,pDstResource,pSrcResource) ) | ||
| 21486 | |||
| 21487 | #define ID3D12GraphicsCommandList3_CopyTiles(This,pTiledResource,pTileRegionStartCoordinate,pTileRegionSize,pBuffer,BufferStartOffsetInBytes,Flags) \ | ||
| 21488 | ( (This)->lpVtbl -> CopyTiles(This,pTiledResource,pTileRegionStartCoordinate,pTileRegionSize,pBuffer,BufferStartOffsetInBytes,Flags) ) | ||
| 21489 | |||
| 21490 | #define ID3D12GraphicsCommandList3_ResolveSubresource(This,pDstResource,DstSubresource,pSrcResource,SrcSubresource,Format) \ | ||
| 21491 | ( (This)->lpVtbl -> ResolveSubresource(This,pDstResource,DstSubresource,pSrcResource,SrcSubresource,Format) ) | ||
| 21492 | |||
| 21493 | #define ID3D12GraphicsCommandList3_IASetPrimitiveTopology(This,PrimitiveTopology) \ | ||
| 21494 | ( (This)->lpVtbl -> IASetPrimitiveTopology(This,PrimitiveTopology) ) | ||
| 21495 | |||
| 21496 | #define ID3D12GraphicsCommandList3_RSSetViewports(This,NumViewports,pViewports) \ | ||
| 21497 | ( (This)->lpVtbl -> RSSetViewports(This,NumViewports,pViewports) ) | ||
| 21498 | |||
| 21499 | #define ID3D12GraphicsCommandList3_RSSetScissorRects(This,NumRects,pRects) \ | ||
| 21500 | ( (This)->lpVtbl -> RSSetScissorRects(This,NumRects,pRects) ) | ||
| 21501 | |||
| 21502 | #define ID3D12GraphicsCommandList3_OMSetBlendFactor(This,BlendFactor) \ | ||
| 21503 | ( (This)->lpVtbl -> OMSetBlendFactor(This,BlendFactor) ) | ||
| 21504 | |||
| 21505 | #define ID3D12GraphicsCommandList3_OMSetStencilRef(This,StencilRef) \ | ||
| 21506 | ( (This)->lpVtbl -> OMSetStencilRef(This,StencilRef) ) | ||
| 21507 | |||
| 21508 | #define ID3D12GraphicsCommandList3_SetPipelineState(This,pPipelineState) \ | ||
| 21509 | ( (This)->lpVtbl -> SetPipelineState(This,pPipelineState) ) | ||
| 21510 | |||
| 21511 | #define ID3D12GraphicsCommandList3_ResourceBarrier(This,NumBarriers,pBarriers) \ | ||
| 21512 | ( (This)->lpVtbl -> ResourceBarrier(This,NumBarriers,pBarriers) ) | ||
| 21513 | |||
| 21514 | #define ID3D12GraphicsCommandList3_ExecuteBundle(This,pCommandList) \ | ||
| 21515 | ( (This)->lpVtbl -> ExecuteBundle(This,pCommandList) ) | ||
| 21516 | |||
| 21517 | #define ID3D12GraphicsCommandList3_SetDescriptorHeaps(This,NumDescriptorHeaps,ppDescriptorHeaps) \ | ||
| 21518 | ( (This)->lpVtbl -> SetDescriptorHeaps(This,NumDescriptorHeaps,ppDescriptorHeaps) ) | ||
| 21519 | |||
| 21520 | #define ID3D12GraphicsCommandList3_SetComputeRootSignature(This,pRootSignature) \ | ||
| 21521 | ( (This)->lpVtbl -> SetComputeRootSignature(This,pRootSignature) ) | ||
| 21522 | |||
| 21523 | #define ID3D12GraphicsCommandList3_SetGraphicsRootSignature(This,pRootSignature) \ | ||
| 21524 | ( (This)->lpVtbl -> SetGraphicsRootSignature(This,pRootSignature) ) | ||
| 21525 | |||
| 21526 | #define ID3D12GraphicsCommandList3_SetComputeRootDescriptorTable(This,RootParameterIndex,BaseDescriptor) \ | ||
| 21527 | ( (This)->lpVtbl -> SetComputeRootDescriptorTable(This,RootParameterIndex,BaseDescriptor) ) | ||
| 21528 | |||
| 21529 | #define ID3D12GraphicsCommandList3_SetGraphicsRootDescriptorTable(This,RootParameterIndex,BaseDescriptor) \ | ||
| 21530 | ( (This)->lpVtbl -> SetGraphicsRootDescriptorTable(This,RootParameterIndex,BaseDescriptor) ) | ||
| 21531 | |||
| 21532 | #define ID3D12GraphicsCommandList3_SetComputeRoot32BitConstant(This,RootParameterIndex,SrcData,DestOffsetIn32BitValues) \ | ||
| 21533 | ( (This)->lpVtbl -> SetComputeRoot32BitConstant(This,RootParameterIndex,SrcData,DestOffsetIn32BitValues) ) | ||
| 21534 | |||
| 21535 | #define ID3D12GraphicsCommandList3_SetGraphicsRoot32BitConstant(This,RootParameterIndex,SrcData,DestOffsetIn32BitValues) \ | ||
| 21536 | ( (This)->lpVtbl -> SetGraphicsRoot32BitConstant(This,RootParameterIndex,SrcData,DestOffsetIn32BitValues) ) | ||
| 21537 | |||
| 21538 | #define ID3D12GraphicsCommandList3_SetComputeRoot32BitConstants(This,RootParameterIndex,Num32BitValuesToSet,pSrcData,DestOffsetIn32BitValues) \ | ||
| 21539 | ( (This)->lpVtbl -> SetComputeRoot32BitConstants(This,RootParameterIndex,Num32BitValuesToSet,pSrcData,DestOffsetIn32BitValues) ) | ||
| 21540 | |||
| 21541 | #define ID3D12GraphicsCommandList3_SetGraphicsRoot32BitConstants(This,RootParameterIndex,Num32BitValuesToSet,pSrcData,DestOffsetIn32BitValues) \ | ||
| 21542 | ( (This)->lpVtbl -> SetGraphicsRoot32BitConstants(This,RootParameterIndex,Num32BitValuesToSet,pSrcData,DestOffsetIn32BitValues) ) | ||
| 21543 | |||
| 21544 | #define ID3D12GraphicsCommandList3_SetComputeRootConstantBufferView(This,RootParameterIndex,BufferLocation) \ | ||
| 21545 | ( (This)->lpVtbl -> SetComputeRootConstantBufferView(This,RootParameterIndex,BufferLocation) ) | ||
| 21546 | |||
| 21547 | #define ID3D12GraphicsCommandList3_SetGraphicsRootConstantBufferView(This,RootParameterIndex,BufferLocation) \ | ||
| 21548 | ( (This)->lpVtbl -> SetGraphicsRootConstantBufferView(This,RootParameterIndex,BufferLocation) ) | ||
| 21549 | |||
| 21550 | #define ID3D12GraphicsCommandList3_SetComputeRootShaderResourceView(This,RootParameterIndex,BufferLocation) \ | ||
| 21551 | ( (This)->lpVtbl -> SetComputeRootShaderResourceView(This,RootParameterIndex,BufferLocation) ) | ||
| 21552 | |||
| 21553 | #define ID3D12GraphicsCommandList3_SetGraphicsRootShaderResourceView(This,RootParameterIndex,BufferLocation) \ | ||
| 21554 | ( (This)->lpVtbl -> SetGraphicsRootShaderResourceView(This,RootParameterIndex,BufferLocation) ) | ||
| 21555 | |||
| 21556 | #define ID3D12GraphicsCommandList3_SetComputeRootUnorderedAccessView(This,RootParameterIndex,BufferLocation) \ | ||
| 21557 | ( (This)->lpVtbl -> SetComputeRootUnorderedAccessView(This,RootParameterIndex,BufferLocation) ) | ||
| 21558 | |||
| 21559 | #define ID3D12GraphicsCommandList3_SetGraphicsRootUnorderedAccessView(This,RootParameterIndex,BufferLocation) \ | ||
| 21560 | ( (This)->lpVtbl -> SetGraphicsRootUnorderedAccessView(This,RootParameterIndex,BufferLocation) ) | ||
| 21561 | |||
| 21562 | #define ID3D12GraphicsCommandList3_IASetIndexBuffer(This,pView) \ | ||
| 21563 | ( (This)->lpVtbl -> IASetIndexBuffer(This,pView) ) | ||
| 21564 | |||
| 21565 | #define ID3D12GraphicsCommandList3_IASetVertexBuffers(This,StartSlot,NumViews,pViews) \ | ||
| 21566 | ( (This)->lpVtbl -> IASetVertexBuffers(This,StartSlot,NumViews,pViews) ) | ||
| 21567 | |||
| 21568 | #define ID3D12GraphicsCommandList3_SOSetTargets(This,StartSlot,NumViews,pViews) \ | ||
| 21569 | ( (This)->lpVtbl -> SOSetTargets(This,StartSlot,NumViews,pViews) ) | ||
| 21570 | |||
| 21571 | #define ID3D12GraphicsCommandList3_OMSetRenderTargets(This,NumRenderTargetDescriptors,pRenderTargetDescriptors,RTsSingleHandleToDescriptorRange,pDepthStencilDescriptor) \ | ||
| 21572 | ( (This)->lpVtbl -> OMSetRenderTargets(This,NumRenderTargetDescriptors,pRenderTargetDescriptors,RTsSingleHandleToDescriptorRange,pDepthStencilDescriptor) ) | ||
| 21573 | |||
| 21574 | #define ID3D12GraphicsCommandList3_ClearDepthStencilView(This,DepthStencilView,ClearFlags,Depth,Stencil,NumRects,pRects) \ | ||
| 21575 | ( (This)->lpVtbl -> ClearDepthStencilView(This,DepthStencilView,ClearFlags,Depth,Stencil,NumRects,pRects) ) | ||
| 21576 | |||
| 21577 | #define ID3D12GraphicsCommandList3_ClearRenderTargetView(This,RenderTargetView,ColorRGBA,NumRects,pRects) \ | ||
| 21578 | ( (This)->lpVtbl -> ClearRenderTargetView(This,RenderTargetView,ColorRGBA,NumRects,pRects) ) | ||
| 21579 | |||
| 21580 | #define ID3D12GraphicsCommandList3_ClearUnorderedAccessViewUint(This,ViewGPUHandleInCurrentHeap,ViewCPUHandle,pResource,Values,NumRects,pRects) \ | ||
| 21581 | ( (This)->lpVtbl -> ClearUnorderedAccessViewUint(This,ViewGPUHandleInCurrentHeap,ViewCPUHandle,pResource,Values,NumRects,pRects) ) | ||
| 21582 | |||
| 21583 | #define ID3D12GraphicsCommandList3_ClearUnorderedAccessViewFloat(This,ViewGPUHandleInCurrentHeap,ViewCPUHandle,pResource,Values,NumRects,pRects) \ | ||
| 21584 | ( (This)->lpVtbl -> ClearUnorderedAccessViewFloat(This,ViewGPUHandleInCurrentHeap,ViewCPUHandle,pResource,Values,NumRects,pRects) ) | ||
| 21585 | |||
| 21586 | #define ID3D12GraphicsCommandList3_DiscardResource(This,pResource,pRegion) \ | ||
| 21587 | ( (This)->lpVtbl -> DiscardResource(This,pResource,pRegion) ) | ||
| 21588 | |||
| 21589 | #define ID3D12GraphicsCommandList3_BeginQuery(This,pQueryHeap,Type,Index) \ | ||
| 21590 | ( (This)->lpVtbl -> BeginQuery(This,pQueryHeap,Type,Index) ) | ||
| 21591 | |||
| 21592 | #define ID3D12GraphicsCommandList3_EndQuery(This,pQueryHeap,Type,Index) \ | ||
| 21593 | ( (This)->lpVtbl -> EndQuery(This,pQueryHeap,Type,Index) ) | ||
| 21594 | |||
| 21595 | #define ID3D12GraphicsCommandList3_ResolveQueryData(This,pQueryHeap,Type,StartIndex,NumQueries,pDestinationBuffer,AlignedDestinationBufferOffset) \ | ||
| 21596 | ( (This)->lpVtbl -> ResolveQueryData(This,pQueryHeap,Type,StartIndex,NumQueries,pDestinationBuffer,AlignedDestinationBufferOffset) ) | ||
| 21597 | |||
| 21598 | #define ID3D12GraphicsCommandList3_SetPredication(This,pBuffer,AlignedBufferOffset,Operation) \ | ||
| 21599 | ( (This)->lpVtbl -> SetPredication(This,pBuffer,AlignedBufferOffset,Operation) ) | ||
| 21600 | |||
| 21601 | #define ID3D12GraphicsCommandList3_SetMarker(This,Metadata,pData,Size) \ | ||
| 21602 | ( (This)->lpVtbl -> SetMarker(This,Metadata,pData,Size) ) | ||
| 21603 | |||
| 21604 | #define ID3D12GraphicsCommandList3_BeginEvent(This,Metadata,pData,Size) \ | ||
| 21605 | ( (This)->lpVtbl -> BeginEvent(This,Metadata,pData,Size) ) | ||
| 21606 | |||
| 21607 | #define ID3D12GraphicsCommandList3_EndEvent(This) \ | ||
| 21608 | ( (This)->lpVtbl -> EndEvent(This) ) | ||
| 21609 | |||
| 21610 | #define ID3D12GraphicsCommandList3_ExecuteIndirect(This,pCommandSignature,MaxCommandCount,pArgumentBuffer,ArgumentBufferOffset,pCountBuffer,CountBufferOffset) \ | ||
| 21611 | ( (This)->lpVtbl -> ExecuteIndirect(This,pCommandSignature,MaxCommandCount,pArgumentBuffer,ArgumentBufferOffset,pCountBuffer,CountBufferOffset) ) | ||
| 21612 | |||
| 21613 | |||
| 21614 | #define ID3D12GraphicsCommandList3_AtomicCopyBufferUINT(This,pDstBuffer,DstOffset,pSrcBuffer,SrcOffset,Dependencies,ppDependentResources,pDependentSubresourceRanges) \ | ||
| 21615 | ( (This)->lpVtbl -> AtomicCopyBufferUINT(This,pDstBuffer,DstOffset,pSrcBuffer,SrcOffset,Dependencies,ppDependentResources,pDependentSubresourceRanges) ) | ||
| 21616 | |||
| 21617 | #define ID3D12GraphicsCommandList3_AtomicCopyBufferUINT64(This,pDstBuffer,DstOffset,pSrcBuffer,SrcOffset,Dependencies,ppDependentResources,pDependentSubresourceRanges) \ | ||
| 21618 | ( (This)->lpVtbl -> AtomicCopyBufferUINT64(This,pDstBuffer,DstOffset,pSrcBuffer,SrcOffset,Dependencies,ppDependentResources,pDependentSubresourceRanges) ) | ||
| 21619 | |||
| 21620 | #define ID3D12GraphicsCommandList3_OMSetDepthBounds(This,Min,Max) \ | ||
| 21621 | ( (This)->lpVtbl -> OMSetDepthBounds(This,Min,Max) ) | ||
| 21622 | |||
| 21623 | #define ID3D12GraphicsCommandList3_SetSamplePositions(This,NumSamplesPerPixel,NumPixels,pSamplePositions) \ | ||
| 21624 | ( (This)->lpVtbl -> SetSamplePositions(This,NumSamplesPerPixel,NumPixels,pSamplePositions) ) | ||
| 21625 | |||
| 21626 | #define ID3D12GraphicsCommandList3_ResolveSubresourceRegion(This,pDstResource,DstSubresource,DstX,DstY,pSrcResource,SrcSubresource,pSrcRect,Format,ResolveMode) \ | ||
| 21627 | ( (This)->lpVtbl -> ResolveSubresourceRegion(This,pDstResource,DstSubresource,DstX,DstY,pSrcResource,SrcSubresource,pSrcRect,Format,ResolveMode) ) | ||
| 21628 | |||
| 21629 | #define ID3D12GraphicsCommandList3_SetViewInstanceMask(This,Mask) \ | ||
| 21630 | ( (This)->lpVtbl -> SetViewInstanceMask(This,Mask) ) | ||
| 21631 | |||
| 21632 | |||
| 21633 | #define ID3D12GraphicsCommandList3_WriteBufferImmediate(This,Count,pParams,pModes) \ | ||
| 21634 | ( (This)->lpVtbl -> WriteBufferImmediate(This,Count,pParams,pModes) ) | ||
| 21635 | |||
| 21636 | |||
| 21637 | #define ID3D12GraphicsCommandList3_SetProtectedResourceSession(This,pProtectedResourceSession) \ | ||
| 21638 | ( (This)->lpVtbl -> SetProtectedResourceSession(This,pProtectedResourceSession) ) | ||
| 21639 | |||
| 21640 | #endif /* COBJMACROS */ | ||
| 21641 | |||
| 21642 | |||
| 21643 | #endif /* C style interface */ | ||
| 21644 | |||
| 21645 | |||
| 21646 | |||
| 21647 | |||
| 21648 | #endif /* __ID3D12GraphicsCommandList3_INTERFACE_DEFINED__ */ | ||
| 21649 | |||
| 21650 | |||
| 21651 | /* interface __MIDL_itf_d3d12_0000_0054 */ | ||
| 21652 | /* [local] */ | ||
| 21653 | |||
| 21654 | typedef | ||
| 21655 | enum D3D12_RENDER_PASS_BEGINNING_ACCESS_TYPE | ||
| 21656 | { | ||
| 21657 | D3D12_RENDER_PASS_BEGINNING_ACCESS_TYPE_DISCARD = 0, | ||
| 21658 | D3D12_RENDER_PASS_BEGINNING_ACCESS_TYPE_PRESERVE = ( D3D12_RENDER_PASS_BEGINNING_ACCESS_TYPE_DISCARD + 1 ) , | ||
| 21659 | D3D12_RENDER_PASS_BEGINNING_ACCESS_TYPE_CLEAR = ( D3D12_RENDER_PASS_BEGINNING_ACCESS_TYPE_PRESERVE + 1 ) , | ||
| 21660 | D3D12_RENDER_PASS_BEGINNING_ACCESS_TYPE_NO_ACCESS = ( D3D12_RENDER_PASS_BEGINNING_ACCESS_TYPE_CLEAR + 1 ) , | ||
| 21661 | D3D12_RENDER_PASS_BEGINNING_ACCESS_TYPE_PRESERVE_LOCAL_RENDER = ( D3D12_RENDER_PASS_BEGINNING_ACCESS_TYPE_NO_ACCESS + 1 ) , | ||
| 21662 | D3D12_RENDER_PASS_BEGINNING_ACCESS_TYPE_PRESERVE_LOCAL_SRV = ( D3D12_RENDER_PASS_BEGINNING_ACCESS_TYPE_PRESERVE_LOCAL_RENDER + 1 ) , | ||
| 21663 | D3D12_RENDER_PASS_BEGINNING_ACCESS_TYPE_PRESERVE_LOCAL_UAV = ( D3D12_RENDER_PASS_BEGINNING_ACCESS_TYPE_PRESERVE_LOCAL_SRV + 1 ) | ||
| 21664 | } D3D12_RENDER_PASS_BEGINNING_ACCESS_TYPE; | ||
| 21665 | |||
| 21666 | typedef struct D3D12_RENDER_PASS_BEGINNING_ACCESS_CLEAR_PARAMETERS | ||
| 21667 | { | ||
| 21668 | D3D12_CLEAR_VALUE ClearValue; | ||
| 21669 | } D3D12_RENDER_PASS_BEGINNING_ACCESS_CLEAR_PARAMETERS; | ||
| 21670 | |||
| 21671 | typedef struct D3D12_RENDER_PASS_BEGINNING_ACCESS_PRESERVE_LOCAL_PARAMETERS | ||
| 21672 | { | ||
| 21673 | UINT AdditionalWidth; | ||
| 21674 | UINT AdditionalHeight; | ||
| 21675 | } D3D12_RENDER_PASS_BEGINNING_ACCESS_PRESERVE_LOCAL_PARAMETERS; | ||
| 21676 | |||
| 21677 | typedef struct D3D12_RENDER_PASS_BEGINNING_ACCESS | ||
| 21678 | { | ||
| 21679 | D3D12_RENDER_PASS_BEGINNING_ACCESS_TYPE Type; | ||
| 21680 | union | ||
| 21681 | { | ||
| 21682 | D3D12_RENDER_PASS_BEGINNING_ACCESS_CLEAR_PARAMETERS Clear; | ||
| 21683 | D3D12_RENDER_PASS_BEGINNING_ACCESS_PRESERVE_LOCAL_PARAMETERS PreserveLocal; | ||
| 21684 | } ; | ||
| 21685 | } D3D12_RENDER_PASS_BEGINNING_ACCESS; | ||
| 21686 | |||
| 21687 | typedef | ||
| 21688 | enum D3D12_RENDER_PASS_ENDING_ACCESS_TYPE | ||
| 21689 | { | ||
| 21690 | D3D12_RENDER_PASS_ENDING_ACCESS_TYPE_DISCARD = 0, | ||
| 21691 | D3D12_RENDER_PASS_ENDING_ACCESS_TYPE_PRESERVE = ( D3D12_RENDER_PASS_ENDING_ACCESS_TYPE_DISCARD + 1 ) , | ||
| 21692 | D3D12_RENDER_PASS_ENDING_ACCESS_TYPE_RESOLVE = ( D3D12_RENDER_PASS_ENDING_ACCESS_TYPE_PRESERVE + 1 ) , | ||
| 21693 | D3D12_RENDER_PASS_ENDING_ACCESS_TYPE_NO_ACCESS = ( D3D12_RENDER_PASS_ENDING_ACCESS_TYPE_RESOLVE + 1 ) , | ||
| 21694 | D3D12_RENDER_PASS_ENDING_ACCESS_TYPE_PRESERVE_LOCAL_RENDER = ( D3D12_RENDER_PASS_ENDING_ACCESS_TYPE_NO_ACCESS + 1 ) , | ||
| 21695 | D3D12_RENDER_PASS_ENDING_ACCESS_TYPE_PRESERVE_LOCAL_SRV = ( D3D12_RENDER_PASS_ENDING_ACCESS_TYPE_PRESERVE_LOCAL_RENDER + 1 ) , | ||
| 21696 | D3D12_RENDER_PASS_ENDING_ACCESS_TYPE_PRESERVE_LOCAL_UAV = ( D3D12_RENDER_PASS_ENDING_ACCESS_TYPE_PRESERVE_LOCAL_SRV + 1 ) | ||
| 21697 | } D3D12_RENDER_PASS_ENDING_ACCESS_TYPE; | ||
| 21698 | |||
| 21699 | typedef struct D3D12_RENDER_PASS_ENDING_ACCESS_RESOLVE_SUBRESOURCE_PARAMETERS | ||
| 21700 | { | ||
| 21701 | UINT SrcSubresource; | ||
| 21702 | UINT DstSubresource; | ||
| 21703 | UINT DstX; | ||
| 21704 | UINT DstY; | ||
| 21705 | D3D12_RECT SrcRect; | ||
| 21706 | } D3D12_RENDER_PASS_ENDING_ACCESS_RESOLVE_SUBRESOURCE_PARAMETERS; | ||
| 21707 | |||
| 21708 | typedef struct D3D12_RENDER_PASS_ENDING_ACCESS_RESOLVE_PARAMETERS | ||
| 21709 | { | ||
| 21710 | ID3D12Resource *pSrcResource; | ||
| 21711 | ID3D12Resource *pDstResource; | ||
| 21712 | UINT SubresourceCount; | ||
| 21713 | _Field_size_full_(SubresourceCount) const D3D12_RENDER_PASS_ENDING_ACCESS_RESOLVE_SUBRESOURCE_PARAMETERS *pSubresourceParameters; | ||
| 21714 | DXGI_FORMAT Format; | ||
| 21715 | D3D12_RESOLVE_MODE ResolveMode; | ||
| 21716 | BOOL PreserveResolveSource; | ||
| 21717 | } D3D12_RENDER_PASS_ENDING_ACCESS_RESOLVE_PARAMETERS; | ||
| 21718 | |||
| 21719 | typedef struct D3D12_RENDER_PASS_ENDING_ACCESS_PRESERVE_LOCAL_PARAMETERS | ||
| 21720 | { | ||
| 21721 | UINT AdditionalWidth; | ||
| 21722 | UINT AdditionalHeight; | ||
| 21723 | } D3D12_RENDER_PASS_ENDING_ACCESS_PRESERVE_LOCAL_PARAMETERS; | ||
| 21724 | |||
| 21725 | typedef struct D3D12_RENDER_PASS_ENDING_ACCESS | ||
| 21726 | { | ||
| 21727 | D3D12_RENDER_PASS_ENDING_ACCESS_TYPE Type; | ||
| 21728 | union | ||
| 21729 | { | ||
| 21730 | D3D12_RENDER_PASS_ENDING_ACCESS_RESOLVE_PARAMETERS Resolve; | ||
| 21731 | D3D12_RENDER_PASS_ENDING_ACCESS_PRESERVE_LOCAL_PARAMETERS PreserveLocal; | ||
| 21732 | } ; | ||
| 21733 | } D3D12_RENDER_PASS_ENDING_ACCESS; | ||
| 21734 | |||
| 21735 | typedef struct D3D12_RENDER_PASS_RENDER_TARGET_DESC | ||
| 21736 | { | ||
| 21737 | D3D12_CPU_DESCRIPTOR_HANDLE cpuDescriptor; | ||
| 21738 | D3D12_RENDER_PASS_BEGINNING_ACCESS BeginningAccess; | ||
| 21739 | D3D12_RENDER_PASS_ENDING_ACCESS EndingAccess; | ||
| 21740 | } D3D12_RENDER_PASS_RENDER_TARGET_DESC; | ||
| 21741 | |||
| 21742 | typedef struct D3D12_RENDER_PASS_DEPTH_STENCIL_DESC | ||
| 21743 | { | ||
| 21744 | D3D12_CPU_DESCRIPTOR_HANDLE cpuDescriptor; | ||
| 21745 | D3D12_RENDER_PASS_BEGINNING_ACCESS DepthBeginningAccess; | ||
| 21746 | D3D12_RENDER_PASS_BEGINNING_ACCESS StencilBeginningAccess; | ||
| 21747 | D3D12_RENDER_PASS_ENDING_ACCESS DepthEndingAccess; | ||
| 21748 | D3D12_RENDER_PASS_ENDING_ACCESS StencilEndingAccess; | ||
| 21749 | } D3D12_RENDER_PASS_DEPTH_STENCIL_DESC; | ||
| 21750 | |||
| 21751 | typedef | ||
| 21752 | enum D3D12_RENDER_PASS_FLAGS | ||
| 21753 | { | ||
| 21754 | D3D12_RENDER_PASS_FLAG_NONE = 0, | ||
| 21755 | D3D12_RENDER_PASS_FLAG_ALLOW_UAV_WRITES = 0x1, | ||
| 21756 | D3D12_RENDER_PASS_FLAG_SUSPENDING_PASS = 0x2, | ||
| 21757 | D3D12_RENDER_PASS_FLAG_RESUMING_PASS = 0x4, | ||
| 21758 | D3D12_RENDER_PASS_FLAG_BIND_READ_ONLY_DEPTH = 0x8, | ||
| 21759 | D3D12_RENDER_PASS_FLAG_BIND_READ_ONLY_STENCIL = 0x10 | ||
| 21760 | } D3D12_RENDER_PASS_FLAGS; | ||
| 21761 | |||
| 21762 | DEFINE_ENUM_FLAG_OPERATORS( D3D12_RENDER_PASS_FLAGS ) | ||
| 21763 | |||
| 21764 | |||
| 21765 | extern RPC_IF_HANDLE __MIDL_itf_d3d12_0000_0054_v0_0_c_ifspec; | ||
| 21766 | extern RPC_IF_HANDLE __MIDL_itf_d3d12_0000_0054_v0_0_s_ifspec; | ||
| 21767 | |||
| 21768 | #ifndef __ID3D12MetaCommand_INTERFACE_DEFINED__ | ||
| 21769 | #define __ID3D12MetaCommand_INTERFACE_DEFINED__ | ||
| 21770 | |||
| 21771 | /* interface ID3D12MetaCommand */ | ||
| 21772 | /* [unique][local][object][uuid] */ | ||
| 21773 | |||
| 21774 | |||
| 21775 | EXTERN_C const IID IID_ID3D12MetaCommand; | ||
| 21776 | |||
| 21777 | #if defined(__cplusplus) && !defined(CINTERFACE) | ||
| 21778 | |||
| 21779 | MIDL_INTERFACE("DBB84C27-36CE-4FC9-B801-F048C46AC570") | ||
| 21780 | ID3D12MetaCommand : public ID3D12Pageable | ||
| 21781 | { | ||
| 21782 | public: | ||
| 21783 | virtual UINT64 STDMETHODCALLTYPE GetRequiredParameterResourceSize( | ||
| 21784 | _In_ D3D12_META_COMMAND_PARAMETER_STAGE Stage, | ||
| 21785 | _In_ UINT ParameterIndex) = 0; | ||
| 21786 | |||
| 21787 | }; | ||
| 21788 | |||
| 21789 | |||
| 21790 | #else /* C style interface */ | ||
| 21791 | |||
| 21792 | typedef struct ID3D12MetaCommandVtbl | ||
| 21793 | { | ||
| 21794 | BEGIN_INTERFACE | ||
| 21795 | |||
| 21796 | DECLSPEC_XFGVIRT(IUnknown, QueryInterface) | ||
| 21797 | HRESULT ( STDMETHODCALLTYPE *QueryInterface )( | ||
| 21798 | ID3D12MetaCommand * This, | ||
| 21799 | REFIID riid, | ||
| 21800 | _COM_Outptr_ void **ppvObject); | ||
| 21801 | |||
| 21802 | DECLSPEC_XFGVIRT(IUnknown, AddRef) | ||
| 21803 | ULONG ( STDMETHODCALLTYPE *AddRef )( | ||
| 21804 | ID3D12MetaCommand * This); | ||
| 21805 | |||
| 21806 | DECLSPEC_XFGVIRT(IUnknown, Release) | ||
| 21807 | ULONG ( STDMETHODCALLTYPE *Release )( | ||
| 21808 | ID3D12MetaCommand * This); | ||
| 21809 | |||
| 21810 | DECLSPEC_XFGVIRT(ID3D12Object, GetPrivateData) | ||
| 21811 | HRESULT ( STDMETHODCALLTYPE *GetPrivateData )( | ||
| 21812 | ID3D12MetaCommand * This, | ||
| 21813 | _In_ REFGUID guid, | ||
| 21814 | _Inout_ UINT *pDataSize, | ||
| 21815 | _Out_writes_bytes_opt_( *pDataSize ) void *pData); | ||
| 21816 | |||
| 21817 | DECLSPEC_XFGVIRT(ID3D12Object, SetPrivateData) | ||
| 21818 | HRESULT ( STDMETHODCALLTYPE *SetPrivateData )( | ||
| 21819 | ID3D12MetaCommand * This, | ||
| 21820 | _In_ REFGUID guid, | ||
| 21821 | _In_ UINT DataSize, | ||
| 21822 | _In_reads_bytes_opt_( DataSize ) const void *pData); | ||
| 21823 | |||
| 21824 | DECLSPEC_XFGVIRT(ID3D12Object, SetPrivateDataInterface) | ||
| 21825 | HRESULT ( STDMETHODCALLTYPE *SetPrivateDataInterface )( | ||
| 21826 | ID3D12MetaCommand * This, | ||
| 21827 | _In_ REFGUID guid, | ||
| 21828 | _In_opt_ const IUnknown *pData); | ||
| 21829 | |||
| 21830 | DECLSPEC_XFGVIRT(ID3D12Object, SetName) | ||
| 21831 | HRESULT ( STDMETHODCALLTYPE *SetName )( | ||
| 21832 | ID3D12MetaCommand * This, | ||
| 21833 | _In_z_ LPCWSTR Name); | ||
| 21834 | |||
| 21835 | DECLSPEC_XFGVIRT(ID3D12DeviceChild, GetDevice) | ||
| 21836 | HRESULT ( STDMETHODCALLTYPE *GetDevice )( | ||
| 21837 | ID3D12MetaCommand * This, | ||
| 21838 | REFIID riid, | ||
| 21839 | _COM_Outptr_opt_ void **ppvDevice); | ||
| 21840 | |||
| 21841 | DECLSPEC_XFGVIRT(ID3D12MetaCommand, GetRequiredParameterResourceSize) | ||
| 21842 | UINT64 ( STDMETHODCALLTYPE *GetRequiredParameterResourceSize )( | ||
| 21843 | ID3D12MetaCommand * This, | ||
| 21844 | _In_ D3D12_META_COMMAND_PARAMETER_STAGE Stage, | ||
| 21845 | _In_ UINT ParameterIndex); | ||
| 21846 | |||
| 21847 | END_INTERFACE | ||
| 21848 | } ID3D12MetaCommandVtbl; | ||
| 21849 | |||
| 21850 | interface ID3D12MetaCommand | ||
| 21851 | { | ||
| 21852 | CONST_VTBL struct ID3D12MetaCommandVtbl *lpVtbl; | ||
| 21853 | }; | ||
| 21854 | |||
| 21855 | |||
| 21856 | |||
| 21857 | #ifdef COBJMACROS | ||
| 21858 | |||
| 21859 | |||
| 21860 | #define ID3D12MetaCommand_QueryInterface(This,riid,ppvObject) \ | ||
| 21861 | ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) | ||
| 21862 | |||
| 21863 | #define ID3D12MetaCommand_AddRef(This) \ | ||
| 21864 | ( (This)->lpVtbl -> AddRef(This) ) | ||
| 21865 | |||
| 21866 | #define ID3D12MetaCommand_Release(This) \ | ||
| 21867 | ( (This)->lpVtbl -> Release(This) ) | ||
| 21868 | |||
| 21869 | |||
| 21870 | #define ID3D12MetaCommand_GetPrivateData(This,guid,pDataSize,pData) \ | ||
| 21871 | ( (This)->lpVtbl -> GetPrivateData(This,guid,pDataSize,pData) ) | ||
| 21872 | |||
| 21873 | #define ID3D12MetaCommand_SetPrivateData(This,guid,DataSize,pData) \ | ||
| 21874 | ( (This)->lpVtbl -> SetPrivateData(This,guid,DataSize,pData) ) | ||
| 21875 | |||
| 21876 | #define ID3D12MetaCommand_SetPrivateDataInterface(This,guid,pData) \ | ||
| 21877 | ( (This)->lpVtbl -> SetPrivateDataInterface(This,guid,pData) ) | ||
| 21878 | |||
| 21879 | #define ID3D12MetaCommand_SetName(This,Name) \ | ||
| 21880 | ( (This)->lpVtbl -> SetName(This,Name) ) | ||
| 21881 | |||
| 21882 | |||
| 21883 | #define ID3D12MetaCommand_GetDevice(This,riid,ppvDevice) \ | ||
| 21884 | ( (This)->lpVtbl -> GetDevice(This,riid,ppvDevice) ) | ||
| 21885 | |||
| 21886 | |||
| 21887 | |||
| 21888 | #define ID3D12MetaCommand_GetRequiredParameterResourceSize(This,Stage,ParameterIndex) \ | ||
| 21889 | ( (This)->lpVtbl -> GetRequiredParameterResourceSize(This,Stage,ParameterIndex) ) | ||
| 21890 | |||
| 21891 | #endif /* COBJMACROS */ | ||
| 21892 | |||
| 21893 | |||
| 21894 | #endif /* C style interface */ | ||
| 21895 | |||
| 21896 | |||
| 21897 | |||
| 21898 | |||
| 21899 | #endif /* __ID3D12MetaCommand_INTERFACE_DEFINED__ */ | ||
| 21900 | |||
| 21901 | |||
| 21902 | /* interface __MIDL_itf_d3d12_0000_0055 */ | ||
| 21903 | /* [local] */ | ||
| 21904 | |||
| 21905 | typedef struct D3D12_DISPATCH_RAYS_DESC | ||
| 21906 | { | ||
| 21907 | D3D12_GPU_VIRTUAL_ADDRESS_RANGE RayGenerationShaderRecord; | ||
| 21908 | D3D12_GPU_VIRTUAL_ADDRESS_RANGE_AND_STRIDE MissShaderTable; | ||
| 21909 | D3D12_GPU_VIRTUAL_ADDRESS_RANGE_AND_STRIDE HitGroupTable; | ||
| 21910 | D3D12_GPU_VIRTUAL_ADDRESS_RANGE_AND_STRIDE CallableShaderTable; | ||
| 21911 | UINT Width; | ||
| 21912 | UINT Height; | ||
| 21913 | UINT Depth; | ||
| 21914 | } D3D12_DISPATCH_RAYS_DESC; | ||
| 21915 | |||
| 21916 | typedef | ||
| 21917 | enum D3D12_SET_WORK_GRAPH_FLAGS | ||
| 21918 | { | ||
| 21919 | D3D12_SET_WORK_GRAPH_FLAG_NONE = 0, | ||
| 21920 | D3D12_SET_WORK_GRAPH_FLAG_INITIALIZE = 0x1 | ||
| 21921 | } D3D12_SET_WORK_GRAPH_FLAGS; | ||
| 21922 | |||
| 21923 | DEFINE_ENUM_FLAG_OPERATORS( D3D12_SET_WORK_GRAPH_FLAGS ) | ||
| 21924 | typedef struct D3D12_SET_WORK_GRAPH_DESC | ||
| 21925 | { | ||
| 21926 | D3D12_PROGRAM_IDENTIFIER ProgramIdentifier; | ||
| 21927 | D3D12_SET_WORK_GRAPH_FLAGS Flags; | ||
| 21928 | D3D12_GPU_VIRTUAL_ADDRESS_RANGE BackingMemory; | ||
| 21929 | D3D12_GPU_VIRTUAL_ADDRESS_RANGE_AND_STRIDE NodeLocalRootArgumentsTable; | ||
| 21930 | } D3D12_SET_WORK_GRAPH_DESC; | ||
| 21931 | |||
| 21932 | typedef struct D3D12_SET_RAYTRACING_PIPELINE_DESC | ||
| 21933 | { | ||
| 21934 | D3D12_PROGRAM_IDENTIFIER ProgramIdentifier; | ||
| 21935 | } D3D12_SET_RAYTRACING_PIPELINE_DESC; | ||
| 21936 | |||
| 21937 | typedef struct D3D12_SET_GENERIC_PIPELINE_DESC | ||
| 21938 | { | ||
| 21939 | D3D12_PROGRAM_IDENTIFIER ProgramIdentifier; | ||
| 21940 | } D3D12_SET_GENERIC_PIPELINE_DESC; | ||
| 21941 | |||
| 21942 | typedef | ||
| 21943 | enum D3D12_PROGRAM_TYPE | ||
| 21944 | { | ||
| 21945 | D3D12_PROGRAM_TYPE_GENERIC_PIPELINE = 1, | ||
| 21946 | D3D12_PROGRAM_TYPE_RAYTRACING_PIPELINE = 4, | ||
| 21947 | D3D12_PROGRAM_TYPE_WORK_GRAPH = 5 | ||
| 21948 | } D3D12_PROGRAM_TYPE; | ||
| 21949 | |||
| 21950 | typedef struct D3D12_SET_PROGRAM_DESC | ||
| 21951 | { | ||
| 21952 | D3D12_PROGRAM_TYPE Type; | ||
| 21953 | union | ||
| 21954 | { | ||
| 21955 | D3D12_SET_GENERIC_PIPELINE_DESC GenericPipeline; | ||
| 21956 | D3D12_SET_RAYTRACING_PIPELINE_DESC RaytracingPipeline; | ||
| 21957 | D3D12_SET_WORK_GRAPH_DESC WorkGraph; | ||
| 21958 | } ; | ||
| 21959 | } D3D12_SET_PROGRAM_DESC; | ||
| 21960 | |||
| 21961 | typedef | ||
| 21962 | enum D3D12_DISPATCH_MODE | ||
| 21963 | { | ||
| 21964 | D3D12_DISPATCH_MODE_NODE_CPU_INPUT = 0, | ||
| 21965 | D3D12_DISPATCH_MODE_NODE_GPU_INPUT = 1, | ||
| 21966 | D3D12_DISPATCH_MODE_MULTI_NODE_CPU_INPUT = 2, | ||
| 21967 | D3D12_DISPATCH_MODE_MULTI_NODE_GPU_INPUT = 3 | ||
| 21968 | } D3D12_DISPATCH_MODE; | ||
| 21969 | |||
| 21970 | typedef struct D3D12_NODE_CPU_INPUT | ||
| 21971 | { | ||
| 21972 | UINT EntrypointIndex; | ||
| 21973 | UINT NumRecords; | ||
| 21974 | const void *pRecords; | ||
| 21975 | UINT64 RecordStrideInBytes; | ||
| 21976 | } D3D12_NODE_CPU_INPUT; | ||
| 21977 | |||
| 21978 | typedef struct D3D12_NODE_GPU_INPUT | ||
| 21979 | { | ||
| 21980 | UINT EntrypointIndex; | ||
| 21981 | UINT NumRecords; | ||
| 21982 | D3D12_GPU_VIRTUAL_ADDRESS_AND_STRIDE Records; | ||
| 21983 | } D3D12_NODE_GPU_INPUT; | ||
| 21984 | |||
| 21985 | typedef struct D3D12_MULTI_NODE_CPU_INPUT | ||
| 21986 | { | ||
| 21987 | UINT NumNodeInputs; | ||
| 21988 | const D3D12_NODE_CPU_INPUT *pNodeInputs; | ||
| 21989 | UINT64 NodeInputStrideInBytes; | ||
| 21990 | } D3D12_MULTI_NODE_CPU_INPUT; | ||
| 21991 | |||
| 21992 | typedef struct D3D12_MULTI_NODE_GPU_INPUT | ||
| 21993 | { | ||
| 21994 | UINT NumNodeInputs; | ||
| 21995 | D3D12_GPU_VIRTUAL_ADDRESS_AND_STRIDE NodeInputs; | ||
| 21996 | } D3D12_MULTI_NODE_GPU_INPUT; | ||
| 21997 | |||
| 21998 | typedef struct D3D12_DISPATCH_GRAPH_DESC | ||
| 21999 | { | ||
| 22000 | D3D12_DISPATCH_MODE Mode; | ||
| 22001 | union | ||
| 22002 | { | ||
| 22003 | D3D12_NODE_CPU_INPUT NodeCPUInput; | ||
| 22004 | D3D12_GPU_VIRTUAL_ADDRESS NodeGPUInput; | ||
| 22005 | D3D12_MULTI_NODE_CPU_INPUT MultiNodeCPUInput; | ||
| 22006 | D3D12_GPU_VIRTUAL_ADDRESS MultiNodeGPUInput; | ||
| 22007 | } ; | ||
| 22008 | } D3D12_DISPATCH_GRAPH_DESC; | ||
| 22009 | |||
| 22010 | |||
| 22011 | |||
| 22012 | extern RPC_IF_HANDLE __MIDL_itf_d3d12_0000_0055_v0_0_c_ifspec; | ||
| 22013 | extern RPC_IF_HANDLE __MIDL_itf_d3d12_0000_0055_v0_0_s_ifspec; | ||
| 22014 | |||
| 22015 | #ifndef __ID3D12GraphicsCommandList4_INTERFACE_DEFINED__ | ||
| 22016 | #define __ID3D12GraphicsCommandList4_INTERFACE_DEFINED__ | ||
| 22017 | |||
| 22018 | /* interface ID3D12GraphicsCommandList4 */ | ||
| 22019 | /* [unique][local][object][uuid] */ | ||
| 22020 | |||
| 22021 | |||
| 22022 | EXTERN_C const IID IID_ID3D12GraphicsCommandList4; | ||
| 22023 | |||
| 22024 | #if defined(__cplusplus) && !defined(CINTERFACE) | ||
| 22025 | |||
| 22026 | MIDL_INTERFACE("8754318e-d3a9-4541-98cf-645b50dc4874") | ||
| 22027 | ID3D12GraphicsCommandList4 : public ID3D12GraphicsCommandList3 | ||
| 22028 | { | ||
| 22029 | public: | ||
| 22030 | virtual void STDMETHODCALLTYPE BeginRenderPass( | ||
| 22031 | _In_ UINT NumRenderTargets, | ||
| 22032 | _In_reads_opt_(NumRenderTargets) const D3D12_RENDER_PASS_RENDER_TARGET_DESC *pRenderTargets, | ||
| 22033 | _In_opt_ const D3D12_RENDER_PASS_DEPTH_STENCIL_DESC *pDepthStencil, | ||
| 22034 | D3D12_RENDER_PASS_FLAGS Flags) = 0; | ||
| 22035 | |||
| 22036 | virtual void STDMETHODCALLTYPE EndRenderPass( void) = 0; | ||
| 22037 | |||
| 22038 | virtual void STDMETHODCALLTYPE InitializeMetaCommand( | ||
| 22039 | _In_ ID3D12MetaCommand *pMetaCommand, | ||
| 22040 | _In_reads_bytes_opt_(InitializationParametersDataSizeInBytes) const void *pInitializationParametersData, | ||
| 22041 | _In_ SIZE_T InitializationParametersDataSizeInBytes) = 0; | ||
| 22042 | |||
| 22043 | virtual void STDMETHODCALLTYPE ExecuteMetaCommand( | ||
| 22044 | _In_ ID3D12MetaCommand *pMetaCommand, | ||
| 22045 | _In_reads_bytes_opt_(ExecutionParametersDataSizeInBytes) const void *pExecutionParametersData, | ||
| 22046 | _In_ SIZE_T ExecutionParametersDataSizeInBytes) = 0; | ||
| 22047 | |||
| 22048 | virtual void STDMETHODCALLTYPE BuildRaytracingAccelerationStructure( | ||
| 22049 | _In_ const D3D12_BUILD_RAYTRACING_ACCELERATION_STRUCTURE_DESC *pDesc, | ||
| 22050 | _In_ UINT NumPostbuildInfoDescs, | ||
| 22051 | _In_reads_opt_(NumPostbuildInfoDescs) const D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_DESC *pPostbuildInfoDescs) = 0; | ||
| 22052 | |||
| 22053 | virtual void STDMETHODCALLTYPE EmitRaytracingAccelerationStructurePostbuildInfo( | ||
| 22054 | _In_ const D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_DESC *pDesc, | ||
| 22055 | _In_ UINT NumSourceAccelerationStructures, | ||
| 22056 | _In_reads_( NumSourceAccelerationStructures ) const D3D12_GPU_VIRTUAL_ADDRESS *pSourceAccelerationStructureData) = 0; | ||
| 22057 | |||
| 22058 | virtual void STDMETHODCALLTYPE CopyRaytracingAccelerationStructure( | ||
| 22059 | _In_ D3D12_GPU_VIRTUAL_ADDRESS DestAccelerationStructureData, | ||
| 22060 | _In_ D3D12_GPU_VIRTUAL_ADDRESS SourceAccelerationStructureData, | ||
| 22061 | _In_ D3D12_RAYTRACING_ACCELERATION_STRUCTURE_COPY_MODE Mode) = 0; | ||
| 22062 | |||
| 22063 | virtual void STDMETHODCALLTYPE SetPipelineState1( | ||
| 22064 | _In_ ID3D12StateObject *pStateObject) = 0; | ||
| 22065 | |||
| 22066 | virtual void STDMETHODCALLTYPE DispatchRays( | ||
| 22067 | _In_ const D3D12_DISPATCH_RAYS_DESC *pDesc) = 0; | ||
| 22068 | |||
| 22069 | }; | ||
| 22070 | |||
| 22071 | |||
| 22072 | #else /* C style interface */ | ||
| 22073 | |||
| 22074 | typedef struct ID3D12GraphicsCommandList4Vtbl | ||
| 22075 | { | ||
| 22076 | BEGIN_INTERFACE | ||
| 22077 | |||
| 22078 | DECLSPEC_XFGVIRT(IUnknown, QueryInterface) | ||
| 22079 | HRESULT ( STDMETHODCALLTYPE *QueryInterface )( | ||
| 22080 | ID3D12GraphicsCommandList4 * This, | ||
| 22081 | REFIID riid, | ||
| 22082 | _COM_Outptr_ void **ppvObject); | ||
| 22083 | |||
| 22084 | DECLSPEC_XFGVIRT(IUnknown, AddRef) | ||
| 22085 | ULONG ( STDMETHODCALLTYPE *AddRef )( | ||
| 22086 | ID3D12GraphicsCommandList4 * This); | ||
| 22087 | |||
| 22088 | DECLSPEC_XFGVIRT(IUnknown, Release) | ||
| 22089 | ULONG ( STDMETHODCALLTYPE *Release )( | ||
| 22090 | ID3D12GraphicsCommandList4 * This); | ||
| 22091 | |||
| 22092 | DECLSPEC_XFGVIRT(ID3D12Object, GetPrivateData) | ||
| 22093 | HRESULT ( STDMETHODCALLTYPE *GetPrivateData )( | ||
| 22094 | ID3D12GraphicsCommandList4 * This, | ||
| 22095 | _In_ REFGUID guid, | ||
| 22096 | _Inout_ UINT *pDataSize, | ||
| 22097 | _Out_writes_bytes_opt_( *pDataSize ) void *pData); | ||
| 22098 | |||
| 22099 | DECLSPEC_XFGVIRT(ID3D12Object, SetPrivateData) | ||
| 22100 | HRESULT ( STDMETHODCALLTYPE *SetPrivateData )( | ||
| 22101 | ID3D12GraphicsCommandList4 * This, | ||
| 22102 | _In_ REFGUID guid, | ||
| 22103 | _In_ UINT DataSize, | ||
| 22104 | _In_reads_bytes_opt_( DataSize ) const void *pData); | ||
| 22105 | |||
| 22106 | DECLSPEC_XFGVIRT(ID3D12Object, SetPrivateDataInterface) | ||
| 22107 | HRESULT ( STDMETHODCALLTYPE *SetPrivateDataInterface )( | ||
| 22108 | ID3D12GraphicsCommandList4 * This, | ||
| 22109 | _In_ REFGUID guid, | ||
| 22110 | _In_opt_ const IUnknown *pData); | ||
| 22111 | |||
| 22112 | DECLSPEC_XFGVIRT(ID3D12Object, SetName) | ||
| 22113 | HRESULT ( STDMETHODCALLTYPE *SetName )( | ||
| 22114 | ID3D12GraphicsCommandList4 * This, | ||
| 22115 | _In_z_ LPCWSTR Name); | ||
| 22116 | |||
| 22117 | DECLSPEC_XFGVIRT(ID3D12DeviceChild, GetDevice) | ||
| 22118 | HRESULT ( STDMETHODCALLTYPE *GetDevice )( | ||
| 22119 | ID3D12GraphicsCommandList4 * This, | ||
| 22120 | REFIID riid, | ||
| 22121 | _COM_Outptr_opt_ void **ppvDevice); | ||
| 22122 | |||
| 22123 | DECLSPEC_XFGVIRT(ID3D12CommandList, GetType) | ||
| 22124 | D3D12_COMMAND_LIST_TYPE ( STDMETHODCALLTYPE *GetType )( | ||
| 22125 | ID3D12GraphicsCommandList4 * This); | ||
| 22126 | |||
| 22127 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, Close) | ||
| 22128 | HRESULT ( STDMETHODCALLTYPE *Close )( | ||
| 22129 | ID3D12GraphicsCommandList4 * This); | ||
| 22130 | |||
| 22131 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, Reset) | ||
| 22132 | HRESULT ( STDMETHODCALLTYPE *Reset )( | ||
| 22133 | ID3D12GraphicsCommandList4 * This, | ||
| 22134 | _In_ ID3D12CommandAllocator *pAllocator, | ||
| 22135 | _In_opt_ ID3D12PipelineState *pInitialState); | ||
| 22136 | |||
| 22137 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, ClearState) | ||
| 22138 | void ( STDMETHODCALLTYPE *ClearState )( | ||
| 22139 | ID3D12GraphicsCommandList4 * This, | ||
| 22140 | _In_opt_ ID3D12PipelineState *pPipelineState); | ||
| 22141 | |||
| 22142 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, DrawInstanced) | ||
| 22143 | void ( STDMETHODCALLTYPE *DrawInstanced )( | ||
| 22144 | ID3D12GraphicsCommandList4 * This, | ||
| 22145 | _In_ UINT VertexCountPerInstance, | ||
| 22146 | _In_ UINT InstanceCount, | ||
| 22147 | _In_ UINT StartVertexLocation, | ||
| 22148 | _In_ UINT StartInstanceLocation); | ||
| 22149 | |||
| 22150 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, DrawIndexedInstanced) | ||
| 22151 | void ( STDMETHODCALLTYPE *DrawIndexedInstanced )( | ||
| 22152 | ID3D12GraphicsCommandList4 * This, | ||
| 22153 | _In_ UINT IndexCountPerInstance, | ||
| 22154 | _In_ UINT InstanceCount, | ||
| 22155 | _In_ UINT StartIndexLocation, | ||
| 22156 | _In_ INT BaseVertexLocation, | ||
| 22157 | _In_ UINT StartInstanceLocation); | ||
| 22158 | |||
| 22159 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, Dispatch) | ||
| 22160 | void ( STDMETHODCALLTYPE *Dispatch )( | ||
| 22161 | ID3D12GraphicsCommandList4 * This, | ||
| 22162 | _In_ UINT ThreadGroupCountX, | ||
| 22163 | _In_ UINT ThreadGroupCountY, | ||
| 22164 | _In_ UINT ThreadGroupCountZ); | ||
| 22165 | |||
| 22166 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, CopyBufferRegion) | ||
| 22167 | void ( STDMETHODCALLTYPE *CopyBufferRegion )( | ||
| 22168 | ID3D12GraphicsCommandList4 * This, | ||
| 22169 | _In_ ID3D12Resource *pDstBuffer, | ||
| 22170 | UINT64 DstOffset, | ||
| 22171 | _In_ ID3D12Resource *pSrcBuffer, | ||
| 22172 | UINT64 SrcOffset, | ||
| 22173 | UINT64 NumBytes); | ||
| 22174 | |||
| 22175 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, CopyTextureRegion) | ||
| 22176 | void ( STDMETHODCALLTYPE *CopyTextureRegion )( | ||
| 22177 | ID3D12GraphicsCommandList4 * This, | ||
| 22178 | _In_ const D3D12_TEXTURE_COPY_LOCATION *pDst, | ||
| 22179 | UINT DstX, | ||
| 22180 | UINT DstY, | ||
| 22181 | UINT DstZ, | ||
| 22182 | _In_ const D3D12_TEXTURE_COPY_LOCATION *pSrc, | ||
| 22183 | _In_opt_ const D3D12_BOX *pSrcBox); | ||
| 22184 | |||
| 22185 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, CopyResource) | ||
| 22186 | void ( STDMETHODCALLTYPE *CopyResource )( | ||
| 22187 | ID3D12GraphicsCommandList4 * This, | ||
| 22188 | _In_ ID3D12Resource *pDstResource, | ||
| 22189 | _In_ ID3D12Resource *pSrcResource); | ||
| 22190 | |||
| 22191 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, CopyTiles) | ||
| 22192 | void ( STDMETHODCALLTYPE *CopyTiles )( | ||
| 22193 | ID3D12GraphicsCommandList4 * This, | ||
| 22194 | _In_ ID3D12Resource *pTiledResource, | ||
| 22195 | _In_ const D3D12_TILED_RESOURCE_COORDINATE *pTileRegionStartCoordinate, | ||
| 22196 | _In_ const D3D12_TILE_REGION_SIZE *pTileRegionSize, | ||
| 22197 | _In_ ID3D12Resource *pBuffer, | ||
| 22198 | UINT64 BufferStartOffsetInBytes, | ||
| 22199 | D3D12_TILE_COPY_FLAGS Flags); | ||
| 22200 | |||
| 22201 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, ResolveSubresource) | ||
| 22202 | void ( STDMETHODCALLTYPE *ResolveSubresource )( | ||
| 22203 | ID3D12GraphicsCommandList4 * This, | ||
| 22204 | _In_ ID3D12Resource *pDstResource, | ||
| 22205 | _In_ UINT DstSubresource, | ||
| 22206 | _In_ ID3D12Resource *pSrcResource, | ||
| 22207 | _In_ UINT SrcSubresource, | ||
| 22208 | _In_ DXGI_FORMAT Format); | ||
| 22209 | |||
| 22210 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, IASetPrimitiveTopology) | ||
| 22211 | void ( STDMETHODCALLTYPE *IASetPrimitiveTopology )( | ||
| 22212 | ID3D12GraphicsCommandList4 * This, | ||
| 22213 | _In_ D3D12_PRIMITIVE_TOPOLOGY PrimitiveTopology); | ||
| 22214 | |||
| 22215 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, RSSetViewports) | ||
| 22216 | void ( STDMETHODCALLTYPE *RSSetViewports )( | ||
| 22217 | ID3D12GraphicsCommandList4 * This, | ||
| 22218 | _In_range_(0, D3D12_VIEWPORT_AND_SCISSORRECT_OBJECT_COUNT_PER_PIPELINE) UINT NumViewports, | ||
| 22219 | _In_reads_( NumViewports) const D3D12_VIEWPORT *pViewports); | ||
| 22220 | |||
| 22221 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, RSSetScissorRects) | ||
| 22222 | void ( STDMETHODCALLTYPE *RSSetScissorRects )( | ||
| 22223 | ID3D12GraphicsCommandList4 * This, | ||
| 22224 | _In_range_(0, D3D12_VIEWPORT_AND_SCISSORRECT_OBJECT_COUNT_PER_PIPELINE) UINT NumRects, | ||
| 22225 | _In_reads_( NumRects) const D3D12_RECT *pRects); | ||
| 22226 | |||
| 22227 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, OMSetBlendFactor) | ||
| 22228 | void ( STDMETHODCALLTYPE *OMSetBlendFactor )( | ||
| 22229 | ID3D12GraphicsCommandList4 * This, | ||
| 22230 | _In_reads_opt_(4) const FLOAT BlendFactor[ 4 ]); | ||
| 22231 | |||
| 22232 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, OMSetStencilRef) | ||
| 22233 | void ( STDMETHODCALLTYPE *OMSetStencilRef )( | ||
| 22234 | ID3D12GraphicsCommandList4 * This, | ||
| 22235 | _In_ UINT StencilRef); | ||
| 22236 | |||
| 22237 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetPipelineState) | ||
| 22238 | void ( STDMETHODCALLTYPE *SetPipelineState )( | ||
| 22239 | ID3D12GraphicsCommandList4 * This, | ||
| 22240 | _In_ ID3D12PipelineState *pPipelineState); | ||
| 22241 | |||
| 22242 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, ResourceBarrier) | ||
| 22243 | void ( STDMETHODCALLTYPE *ResourceBarrier )( | ||
| 22244 | ID3D12GraphicsCommandList4 * This, | ||
| 22245 | _In_ UINT NumBarriers, | ||
| 22246 | _In_reads_(NumBarriers) const D3D12_RESOURCE_BARRIER *pBarriers); | ||
| 22247 | |||
| 22248 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, ExecuteBundle) | ||
| 22249 | void ( STDMETHODCALLTYPE *ExecuteBundle )( | ||
| 22250 | ID3D12GraphicsCommandList4 * This, | ||
| 22251 | _In_ ID3D12GraphicsCommandList *pCommandList); | ||
| 22252 | |||
| 22253 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetDescriptorHeaps) | ||
| 22254 | void ( STDMETHODCALLTYPE *SetDescriptorHeaps )( | ||
| 22255 | ID3D12GraphicsCommandList4 * This, | ||
| 22256 | _In_ UINT NumDescriptorHeaps, | ||
| 22257 | _In_reads_(NumDescriptorHeaps) ID3D12DescriptorHeap *const *ppDescriptorHeaps); | ||
| 22258 | |||
| 22259 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetComputeRootSignature) | ||
| 22260 | void ( STDMETHODCALLTYPE *SetComputeRootSignature )( | ||
| 22261 | ID3D12GraphicsCommandList4 * This, | ||
| 22262 | _In_opt_ ID3D12RootSignature *pRootSignature); | ||
| 22263 | |||
| 22264 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetGraphicsRootSignature) | ||
| 22265 | void ( STDMETHODCALLTYPE *SetGraphicsRootSignature )( | ||
| 22266 | ID3D12GraphicsCommandList4 * This, | ||
| 22267 | _In_opt_ ID3D12RootSignature *pRootSignature); | ||
| 22268 | |||
| 22269 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetComputeRootDescriptorTable) | ||
| 22270 | void ( STDMETHODCALLTYPE *SetComputeRootDescriptorTable )( | ||
| 22271 | ID3D12GraphicsCommandList4 * This, | ||
| 22272 | _In_ UINT RootParameterIndex, | ||
| 22273 | _In_ D3D12_GPU_DESCRIPTOR_HANDLE BaseDescriptor); | ||
| 22274 | |||
| 22275 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetGraphicsRootDescriptorTable) | ||
| 22276 | void ( STDMETHODCALLTYPE *SetGraphicsRootDescriptorTable )( | ||
| 22277 | ID3D12GraphicsCommandList4 * This, | ||
| 22278 | _In_ UINT RootParameterIndex, | ||
| 22279 | _In_ D3D12_GPU_DESCRIPTOR_HANDLE BaseDescriptor); | ||
| 22280 | |||
| 22281 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetComputeRoot32BitConstant) | ||
| 22282 | void ( STDMETHODCALLTYPE *SetComputeRoot32BitConstant )( | ||
| 22283 | ID3D12GraphicsCommandList4 * This, | ||
| 22284 | _In_ UINT RootParameterIndex, | ||
| 22285 | _In_ UINT SrcData, | ||
| 22286 | _In_ UINT DestOffsetIn32BitValues); | ||
| 22287 | |||
| 22288 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetGraphicsRoot32BitConstant) | ||
| 22289 | void ( STDMETHODCALLTYPE *SetGraphicsRoot32BitConstant )( | ||
| 22290 | ID3D12GraphicsCommandList4 * This, | ||
| 22291 | _In_ UINT RootParameterIndex, | ||
| 22292 | _In_ UINT SrcData, | ||
| 22293 | _In_ UINT DestOffsetIn32BitValues); | ||
| 22294 | |||
| 22295 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetComputeRoot32BitConstants) | ||
| 22296 | void ( STDMETHODCALLTYPE *SetComputeRoot32BitConstants )( | ||
| 22297 | ID3D12GraphicsCommandList4 * This, | ||
| 22298 | _In_ UINT RootParameterIndex, | ||
| 22299 | _In_ UINT Num32BitValuesToSet, | ||
| 22300 | _In_reads_(Num32BitValuesToSet*sizeof(UINT)) const void *pSrcData, | ||
| 22301 | _In_ UINT DestOffsetIn32BitValues); | ||
| 22302 | |||
| 22303 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetGraphicsRoot32BitConstants) | ||
| 22304 | void ( STDMETHODCALLTYPE *SetGraphicsRoot32BitConstants )( | ||
| 22305 | ID3D12GraphicsCommandList4 * This, | ||
| 22306 | _In_ UINT RootParameterIndex, | ||
| 22307 | _In_ UINT Num32BitValuesToSet, | ||
| 22308 | _In_reads_(Num32BitValuesToSet*sizeof(UINT)) const void *pSrcData, | ||
| 22309 | _In_ UINT DestOffsetIn32BitValues); | ||
| 22310 | |||
| 22311 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetComputeRootConstantBufferView) | ||
| 22312 | void ( STDMETHODCALLTYPE *SetComputeRootConstantBufferView )( | ||
| 22313 | ID3D12GraphicsCommandList4 * This, | ||
| 22314 | _In_ UINT RootParameterIndex, | ||
| 22315 | _In_ D3D12_GPU_VIRTUAL_ADDRESS BufferLocation); | ||
| 22316 | |||
| 22317 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetGraphicsRootConstantBufferView) | ||
| 22318 | void ( STDMETHODCALLTYPE *SetGraphicsRootConstantBufferView )( | ||
| 22319 | ID3D12GraphicsCommandList4 * This, | ||
| 22320 | _In_ UINT RootParameterIndex, | ||
| 22321 | _In_ D3D12_GPU_VIRTUAL_ADDRESS BufferLocation); | ||
| 22322 | |||
| 22323 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetComputeRootShaderResourceView) | ||
| 22324 | void ( STDMETHODCALLTYPE *SetComputeRootShaderResourceView )( | ||
| 22325 | ID3D12GraphicsCommandList4 * This, | ||
| 22326 | _In_ UINT RootParameterIndex, | ||
| 22327 | _In_ D3D12_GPU_VIRTUAL_ADDRESS BufferLocation); | ||
| 22328 | |||
| 22329 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetGraphicsRootShaderResourceView) | ||
| 22330 | void ( STDMETHODCALLTYPE *SetGraphicsRootShaderResourceView )( | ||
| 22331 | ID3D12GraphicsCommandList4 * This, | ||
| 22332 | _In_ UINT RootParameterIndex, | ||
| 22333 | _In_ D3D12_GPU_VIRTUAL_ADDRESS BufferLocation); | ||
| 22334 | |||
| 22335 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetComputeRootUnorderedAccessView) | ||
| 22336 | void ( STDMETHODCALLTYPE *SetComputeRootUnorderedAccessView )( | ||
| 22337 | ID3D12GraphicsCommandList4 * This, | ||
| 22338 | _In_ UINT RootParameterIndex, | ||
| 22339 | _In_ D3D12_GPU_VIRTUAL_ADDRESS BufferLocation); | ||
| 22340 | |||
| 22341 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetGraphicsRootUnorderedAccessView) | ||
| 22342 | void ( STDMETHODCALLTYPE *SetGraphicsRootUnorderedAccessView )( | ||
| 22343 | ID3D12GraphicsCommandList4 * This, | ||
| 22344 | _In_ UINT RootParameterIndex, | ||
| 22345 | _In_ D3D12_GPU_VIRTUAL_ADDRESS BufferLocation); | ||
| 22346 | |||
| 22347 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, IASetIndexBuffer) | ||
| 22348 | void ( STDMETHODCALLTYPE *IASetIndexBuffer )( | ||
| 22349 | ID3D12GraphicsCommandList4 * This, | ||
| 22350 | _In_opt_ const D3D12_INDEX_BUFFER_VIEW *pView); | ||
| 22351 | |||
| 22352 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, IASetVertexBuffers) | ||
| 22353 | void ( STDMETHODCALLTYPE *IASetVertexBuffers )( | ||
| 22354 | ID3D12GraphicsCommandList4 * This, | ||
| 22355 | _In_ UINT StartSlot, | ||
| 22356 | _In_ UINT NumViews, | ||
| 22357 | _In_reads_opt_(NumViews) const D3D12_VERTEX_BUFFER_VIEW *pViews); | ||
| 22358 | |||
| 22359 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SOSetTargets) | ||
| 22360 | void ( STDMETHODCALLTYPE *SOSetTargets )( | ||
| 22361 | ID3D12GraphicsCommandList4 * This, | ||
| 22362 | _In_ UINT StartSlot, | ||
| 22363 | _In_ UINT NumViews, | ||
| 22364 | _In_reads_opt_(NumViews) const D3D12_STREAM_OUTPUT_BUFFER_VIEW *pViews); | ||
| 22365 | |||
| 22366 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, OMSetRenderTargets) | ||
| 22367 | void ( STDMETHODCALLTYPE *OMSetRenderTargets )( | ||
| 22368 | ID3D12GraphicsCommandList4 * This, | ||
| 22369 | _In_ UINT NumRenderTargetDescriptors, | ||
| 22370 | _In_opt_ const D3D12_CPU_DESCRIPTOR_HANDLE *pRenderTargetDescriptors, | ||
| 22371 | _In_ BOOL RTsSingleHandleToDescriptorRange, | ||
| 22372 | _In_opt_ const D3D12_CPU_DESCRIPTOR_HANDLE *pDepthStencilDescriptor); | ||
| 22373 | |||
| 22374 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, ClearDepthStencilView) | ||
| 22375 | void ( STDMETHODCALLTYPE *ClearDepthStencilView )( | ||
| 22376 | ID3D12GraphicsCommandList4 * This, | ||
| 22377 | _In_ D3D12_CPU_DESCRIPTOR_HANDLE DepthStencilView, | ||
| 22378 | _In_ D3D12_CLEAR_FLAGS ClearFlags, | ||
| 22379 | _In_ FLOAT Depth, | ||
| 22380 | _In_ UINT8 Stencil, | ||
| 22381 | _In_ UINT NumRects, | ||
| 22382 | _In_reads_(NumRects) const D3D12_RECT *pRects); | ||
| 22383 | |||
| 22384 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, ClearRenderTargetView) | ||
| 22385 | void ( STDMETHODCALLTYPE *ClearRenderTargetView )( | ||
| 22386 | ID3D12GraphicsCommandList4 * This, | ||
| 22387 | _In_ D3D12_CPU_DESCRIPTOR_HANDLE RenderTargetView, | ||
| 22388 | _In_ const FLOAT ColorRGBA[ 4 ], | ||
| 22389 | _In_ UINT NumRects, | ||
| 22390 | _In_reads_(NumRects) const D3D12_RECT *pRects); | ||
| 22391 | |||
| 22392 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, ClearUnorderedAccessViewUint) | ||
| 22393 | void ( STDMETHODCALLTYPE *ClearUnorderedAccessViewUint )( | ||
| 22394 | ID3D12GraphicsCommandList4 * This, | ||
| 22395 | _In_ D3D12_GPU_DESCRIPTOR_HANDLE ViewGPUHandleInCurrentHeap, | ||
| 22396 | _In_ D3D12_CPU_DESCRIPTOR_HANDLE ViewCPUHandle, | ||
| 22397 | _In_ ID3D12Resource *pResource, | ||
| 22398 | _In_ const UINT Values[ 4 ], | ||
| 22399 | _In_ UINT NumRects, | ||
| 22400 | _In_reads_(NumRects) const D3D12_RECT *pRects); | ||
| 22401 | |||
| 22402 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, ClearUnorderedAccessViewFloat) | ||
| 22403 | void ( STDMETHODCALLTYPE *ClearUnorderedAccessViewFloat )( | ||
| 22404 | ID3D12GraphicsCommandList4 * This, | ||
| 22405 | _In_ D3D12_GPU_DESCRIPTOR_HANDLE ViewGPUHandleInCurrentHeap, | ||
| 22406 | _In_ D3D12_CPU_DESCRIPTOR_HANDLE ViewCPUHandle, | ||
| 22407 | _In_ ID3D12Resource *pResource, | ||
| 22408 | _In_ const FLOAT Values[ 4 ], | ||
| 22409 | _In_ UINT NumRects, | ||
| 22410 | _In_reads_(NumRects) const D3D12_RECT *pRects); | ||
| 22411 | |||
| 22412 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, DiscardResource) | ||
| 22413 | void ( STDMETHODCALLTYPE *DiscardResource )( | ||
| 22414 | ID3D12GraphicsCommandList4 * This, | ||
| 22415 | _In_ ID3D12Resource *pResource, | ||
| 22416 | _In_opt_ const D3D12_DISCARD_REGION *pRegion); | ||
| 22417 | |||
| 22418 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, BeginQuery) | ||
| 22419 | void ( STDMETHODCALLTYPE *BeginQuery )( | ||
| 22420 | ID3D12GraphicsCommandList4 * This, | ||
| 22421 | _In_ ID3D12QueryHeap *pQueryHeap, | ||
| 22422 | _In_ D3D12_QUERY_TYPE Type, | ||
| 22423 | _In_ UINT Index); | ||
| 22424 | |||
| 22425 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, EndQuery) | ||
| 22426 | void ( STDMETHODCALLTYPE *EndQuery )( | ||
| 22427 | ID3D12GraphicsCommandList4 * This, | ||
| 22428 | _In_ ID3D12QueryHeap *pQueryHeap, | ||
| 22429 | _In_ D3D12_QUERY_TYPE Type, | ||
| 22430 | _In_ UINT Index); | ||
| 22431 | |||
| 22432 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, ResolveQueryData) | ||
| 22433 | void ( STDMETHODCALLTYPE *ResolveQueryData )( | ||
| 22434 | ID3D12GraphicsCommandList4 * This, | ||
| 22435 | _In_ ID3D12QueryHeap *pQueryHeap, | ||
| 22436 | _In_ D3D12_QUERY_TYPE Type, | ||
| 22437 | _In_ UINT StartIndex, | ||
| 22438 | _In_ UINT NumQueries, | ||
| 22439 | _In_ ID3D12Resource *pDestinationBuffer, | ||
| 22440 | _In_ UINT64 AlignedDestinationBufferOffset); | ||
| 22441 | |||
| 22442 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetPredication) | ||
| 22443 | void ( STDMETHODCALLTYPE *SetPredication )( | ||
| 22444 | ID3D12GraphicsCommandList4 * This, | ||
| 22445 | _In_opt_ ID3D12Resource *pBuffer, | ||
| 22446 | _In_ UINT64 AlignedBufferOffset, | ||
| 22447 | _In_ D3D12_PREDICATION_OP Operation); | ||
| 22448 | |||
| 22449 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetMarker) | ||
| 22450 | void ( STDMETHODCALLTYPE *SetMarker )( | ||
| 22451 | ID3D12GraphicsCommandList4 * This, | ||
| 22452 | UINT Metadata, | ||
| 22453 | _In_reads_bytes_opt_(Size) const void *pData, | ||
| 22454 | UINT Size); | ||
| 22455 | |||
| 22456 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, BeginEvent) | ||
| 22457 | void ( STDMETHODCALLTYPE *BeginEvent )( | ||
| 22458 | ID3D12GraphicsCommandList4 * This, | ||
| 22459 | UINT Metadata, | ||
| 22460 | _In_reads_bytes_opt_(Size) const void *pData, | ||
| 22461 | UINT Size); | ||
| 22462 | |||
| 22463 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, EndEvent) | ||
| 22464 | void ( STDMETHODCALLTYPE *EndEvent )( | ||
| 22465 | ID3D12GraphicsCommandList4 * This); | ||
| 22466 | |||
| 22467 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, ExecuteIndirect) | ||
| 22468 | void ( STDMETHODCALLTYPE *ExecuteIndirect )( | ||
| 22469 | ID3D12GraphicsCommandList4 * This, | ||
| 22470 | _In_ ID3D12CommandSignature *pCommandSignature, | ||
| 22471 | _In_ UINT MaxCommandCount, | ||
| 22472 | _In_ ID3D12Resource *pArgumentBuffer, | ||
| 22473 | _In_ UINT64 ArgumentBufferOffset, | ||
| 22474 | _In_opt_ ID3D12Resource *pCountBuffer, | ||
| 22475 | _In_ UINT64 CountBufferOffset); | ||
| 22476 | |||
| 22477 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList1, AtomicCopyBufferUINT) | ||
| 22478 | void ( STDMETHODCALLTYPE *AtomicCopyBufferUINT )( | ||
| 22479 | ID3D12GraphicsCommandList4 * This, | ||
| 22480 | _In_ ID3D12Resource *pDstBuffer, | ||
| 22481 | UINT64 DstOffset, | ||
| 22482 | _In_ ID3D12Resource *pSrcBuffer, | ||
| 22483 | UINT64 SrcOffset, | ||
| 22484 | UINT Dependencies, | ||
| 22485 | _In_reads_(Dependencies) ID3D12Resource *const *ppDependentResources, | ||
| 22486 | _In_reads_(Dependencies) const D3D12_SUBRESOURCE_RANGE_UINT64 *pDependentSubresourceRanges); | ||
| 22487 | |||
| 22488 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList1, AtomicCopyBufferUINT64) | ||
| 22489 | void ( STDMETHODCALLTYPE *AtomicCopyBufferUINT64 )( | ||
| 22490 | ID3D12GraphicsCommandList4 * This, | ||
| 22491 | _In_ ID3D12Resource *pDstBuffer, | ||
| 22492 | UINT64 DstOffset, | ||
| 22493 | _In_ ID3D12Resource *pSrcBuffer, | ||
| 22494 | UINT64 SrcOffset, | ||
| 22495 | UINT Dependencies, | ||
| 22496 | _In_reads_(Dependencies) ID3D12Resource *const *ppDependentResources, | ||
| 22497 | _In_reads_(Dependencies) const D3D12_SUBRESOURCE_RANGE_UINT64 *pDependentSubresourceRanges); | ||
| 22498 | |||
| 22499 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList1, OMSetDepthBounds) | ||
| 22500 | void ( STDMETHODCALLTYPE *OMSetDepthBounds )( | ||
| 22501 | ID3D12GraphicsCommandList4 * This, | ||
| 22502 | _In_ FLOAT Min, | ||
| 22503 | _In_ FLOAT Max); | ||
| 22504 | |||
| 22505 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList1, SetSamplePositions) | ||
| 22506 | void ( STDMETHODCALLTYPE *SetSamplePositions )( | ||
| 22507 | ID3D12GraphicsCommandList4 * This, | ||
| 22508 | _In_ UINT NumSamplesPerPixel, | ||
| 22509 | _In_ UINT NumPixels, | ||
| 22510 | _In_reads_(NumSamplesPerPixel*NumPixels) D3D12_SAMPLE_POSITION *pSamplePositions); | ||
| 22511 | |||
| 22512 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList1, ResolveSubresourceRegion) | ||
| 22513 | void ( STDMETHODCALLTYPE *ResolveSubresourceRegion )( | ||
| 22514 | ID3D12GraphicsCommandList4 * This, | ||
| 22515 | _In_ ID3D12Resource *pDstResource, | ||
| 22516 | _In_ UINT DstSubresource, | ||
| 22517 | _In_ UINT DstX, | ||
| 22518 | _In_ UINT DstY, | ||
| 22519 | _In_ ID3D12Resource *pSrcResource, | ||
| 22520 | _In_ UINT SrcSubresource, | ||
| 22521 | _In_opt_ D3D12_RECT *pSrcRect, | ||
| 22522 | _In_ DXGI_FORMAT Format, | ||
| 22523 | _In_ D3D12_RESOLVE_MODE ResolveMode); | ||
| 22524 | |||
| 22525 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList1, SetViewInstanceMask) | ||
| 22526 | void ( STDMETHODCALLTYPE *SetViewInstanceMask )( | ||
| 22527 | ID3D12GraphicsCommandList4 * This, | ||
| 22528 | _In_ UINT Mask); | ||
| 22529 | |||
| 22530 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList2, WriteBufferImmediate) | ||
| 22531 | void ( STDMETHODCALLTYPE *WriteBufferImmediate )( | ||
| 22532 | ID3D12GraphicsCommandList4 * This, | ||
| 22533 | UINT Count, | ||
| 22534 | _In_reads_(Count) const D3D12_WRITEBUFFERIMMEDIATE_PARAMETER *pParams, | ||
| 22535 | _In_reads_opt_(Count) const D3D12_WRITEBUFFERIMMEDIATE_MODE *pModes); | ||
| 22536 | |||
| 22537 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList3, SetProtectedResourceSession) | ||
| 22538 | void ( STDMETHODCALLTYPE *SetProtectedResourceSession )( | ||
| 22539 | ID3D12GraphicsCommandList4 * This, | ||
| 22540 | _In_opt_ ID3D12ProtectedResourceSession *pProtectedResourceSession); | ||
| 22541 | |||
| 22542 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList4, BeginRenderPass) | ||
| 22543 | void ( STDMETHODCALLTYPE *BeginRenderPass )( | ||
| 22544 | ID3D12GraphicsCommandList4 * This, | ||
| 22545 | _In_ UINT NumRenderTargets, | ||
| 22546 | _In_reads_opt_(NumRenderTargets) const D3D12_RENDER_PASS_RENDER_TARGET_DESC *pRenderTargets, | ||
| 22547 | _In_opt_ const D3D12_RENDER_PASS_DEPTH_STENCIL_DESC *pDepthStencil, | ||
| 22548 | D3D12_RENDER_PASS_FLAGS Flags); | ||
| 22549 | |||
| 22550 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList4, EndRenderPass) | ||
| 22551 | void ( STDMETHODCALLTYPE *EndRenderPass )( | ||
| 22552 | ID3D12GraphicsCommandList4 * This); | ||
| 22553 | |||
| 22554 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList4, InitializeMetaCommand) | ||
| 22555 | void ( STDMETHODCALLTYPE *InitializeMetaCommand )( | ||
| 22556 | ID3D12GraphicsCommandList4 * This, | ||
| 22557 | _In_ ID3D12MetaCommand *pMetaCommand, | ||
| 22558 | _In_reads_bytes_opt_(InitializationParametersDataSizeInBytes) const void *pInitializationParametersData, | ||
| 22559 | _In_ SIZE_T InitializationParametersDataSizeInBytes); | ||
| 22560 | |||
| 22561 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList4, ExecuteMetaCommand) | ||
| 22562 | void ( STDMETHODCALLTYPE *ExecuteMetaCommand )( | ||
| 22563 | ID3D12GraphicsCommandList4 * This, | ||
| 22564 | _In_ ID3D12MetaCommand *pMetaCommand, | ||
| 22565 | _In_reads_bytes_opt_(ExecutionParametersDataSizeInBytes) const void *pExecutionParametersData, | ||
| 22566 | _In_ SIZE_T ExecutionParametersDataSizeInBytes); | ||
| 22567 | |||
| 22568 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList4, BuildRaytracingAccelerationStructure) | ||
| 22569 | void ( STDMETHODCALLTYPE *BuildRaytracingAccelerationStructure )( | ||
| 22570 | ID3D12GraphicsCommandList4 * This, | ||
| 22571 | _In_ const D3D12_BUILD_RAYTRACING_ACCELERATION_STRUCTURE_DESC *pDesc, | ||
| 22572 | _In_ UINT NumPostbuildInfoDescs, | ||
| 22573 | _In_reads_opt_(NumPostbuildInfoDescs) const D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_DESC *pPostbuildInfoDescs); | ||
| 22574 | |||
| 22575 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList4, EmitRaytracingAccelerationStructurePostbuildInfo) | ||
| 22576 | void ( STDMETHODCALLTYPE *EmitRaytracingAccelerationStructurePostbuildInfo )( | ||
| 22577 | ID3D12GraphicsCommandList4 * This, | ||
| 22578 | _In_ const D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_DESC *pDesc, | ||
| 22579 | _In_ UINT NumSourceAccelerationStructures, | ||
| 22580 | _In_reads_( NumSourceAccelerationStructures ) const D3D12_GPU_VIRTUAL_ADDRESS *pSourceAccelerationStructureData); | ||
| 22581 | |||
| 22582 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList4, CopyRaytracingAccelerationStructure) | ||
| 22583 | void ( STDMETHODCALLTYPE *CopyRaytracingAccelerationStructure )( | ||
| 22584 | ID3D12GraphicsCommandList4 * This, | ||
| 22585 | _In_ D3D12_GPU_VIRTUAL_ADDRESS DestAccelerationStructureData, | ||
| 22586 | _In_ D3D12_GPU_VIRTUAL_ADDRESS SourceAccelerationStructureData, | ||
| 22587 | _In_ D3D12_RAYTRACING_ACCELERATION_STRUCTURE_COPY_MODE Mode); | ||
| 22588 | |||
| 22589 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList4, SetPipelineState1) | ||
| 22590 | void ( STDMETHODCALLTYPE *SetPipelineState1 )( | ||
| 22591 | ID3D12GraphicsCommandList4 * This, | ||
| 22592 | _In_ ID3D12StateObject *pStateObject); | ||
| 22593 | |||
| 22594 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList4, DispatchRays) | ||
| 22595 | void ( STDMETHODCALLTYPE *DispatchRays )( | ||
| 22596 | ID3D12GraphicsCommandList4 * This, | ||
| 22597 | _In_ const D3D12_DISPATCH_RAYS_DESC *pDesc); | ||
| 22598 | |||
| 22599 | END_INTERFACE | ||
| 22600 | } ID3D12GraphicsCommandList4Vtbl; | ||
| 22601 | |||
| 22602 | interface ID3D12GraphicsCommandList4 | ||
| 22603 | { | ||
| 22604 | CONST_VTBL struct ID3D12GraphicsCommandList4Vtbl *lpVtbl; | ||
| 22605 | }; | ||
| 22606 | |||
| 22607 | |||
| 22608 | |||
| 22609 | #ifdef COBJMACROS | ||
| 22610 | |||
| 22611 | |||
| 22612 | #define ID3D12GraphicsCommandList4_QueryInterface(This,riid,ppvObject) \ | ||
| 22613 | ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) | ||
| 22614 | |||
| 22615 | #define ID3D12GraphicsCommandList4_AddRef(This) \ | ||
| 22616 | ( (This)->lpVtbl -> AddRef(This) ) | ||
| 22617 | |||
| 22618 | #define ID3D12GraphicsCommandList4_Release(This) \ | ||
| 22619 | ( (This)->lpVtbl -> Release(This) ) | ||
| 22620 | |||
| 22621 | |||
| 22622 | #define ID3D12GraphicsCommandList4_GetPrivateData(This,guid,pDataSize,pData) \ | ||
| 22623 | ( (This)->lpVtbl -> GetPrivateData(This,guid,pDataSize,pData) ) | ||
| 22624 | |||
| 22625 | #define ID3D12GraphicsCommandList4_SetPrivateData(This,guid,DataSize,pData) \ | ||
| 22626 | ( (This)->lpVtbl -> SetPrivateData(This,guid,DataSize,pData) ) | ||
| 22627 | |||
| 22628 | #define ID3D12GraphicsCommandList4_SetPrivateDataInterface(This,guid,pData) \ | ||
| 22629 | ( (This)->lpVtbl -> SetPrivateDataInterface(This,guid,pData) ) | ||
| 22630 | |||
| 22631 | #define ID3D12GraphicsCommandList4_SetName(This,Name) \ | ||
| 22632 | ( (This)->lpVtbl -> SetName(This,Name) ) | ||
| 22633 | |||
| 22634 | |||
| 22635 | #define ID3D12GraphicsCommandList4_GetDevice(This,riid,ppvDevice) \ | ||
| 22636 | ( (This)->lpVtbl -> GetDevice(This,riid,ppvDevice) ) | ||
| 22637 | |||
| 22638 | |||
| 22639 | #define ID3D12GraphicsCommandList4_GetType(This) \ | ||
| 22640 | ( (This)->lpVtbl -> GetType(This) ) | ||
| 22641 | |||
| 22642 | |||
| 22643 | #define ID3D12GraphicsCommandList4_Close(This) \ | ||
| 22644 | ( (This)->lpVtbl -> Close(This) ) | ||
| 22645 | |||
| 22646 | #define ID3D12GraphicsCommandList4_Reset(This,pAllocator,pInitialState) \ | ||
| 22647 | ( (This)->lpVtbl -> Reset(This,pAllocator,pInitialState) ) | ||
| 22648 | |||
| 22649 | #define ID3D12GraphicsCommandList4_ClearState(This,pPipelineState) \ | ||
| 22650 | ( (This)->lpVtbl -> ClearState(This,pPipelineState) ) | ||
| 22651 | |||
| 22652 | #define ID3D12GraphicsCommandList4_DrawInstanced(This,VertexCountPerInstance,InstanceCount,StartVertexLocation,StartInstanceLocation) \ | ||
| 22653 | ( (This)->lpVtbl -> DrawInstanced(This,VertexCountPerInstance,InstanceCount,StartVertexLocation,StartInstanceLocation) ) | ||
| 22654 | |||
| 22655 | #define ID3D12GraphicsCommandList4_DrawIndexedInstanced(This,IndexCountPerInstance,InstanceCount,StartIndexLocation,BaseVertexLocation,StartInstanceLocation) \ | ||
| 22656 | ( (This)->lpVtbl -> DrawIndexedInstanced(This,IndexCountPerInstance,InstanceCount,StartIndexLocation,BaseVertexLocation,StartInstanceLocation) ) | ||
| 22657 | |||
| 22658 | #define ID3D12GraphicsCommandList4_Dispatch(This,ThreadGroupCountX,ThreadGroupCountY,ThreadGroupCountZ) \ | ||
| 22659 | ( (This)->lpVtbl -> Dispatch(This,ThreadGroupCountX,ThreadGroupCountY,ThreadGroupCountZ) ) | ||
| 22660 | |||
| 22661 | #define ID3D12GraphicsCommandList4_CopyBufferRegion(This,pDstBuffer,DstOffset,pSrcBuffer,SrcOffset,NumBytes) \ | ||
| 22662 | ( (This)->lpVtbl -> CopyBufferRegion(This,pDstBuffer,DstOffset,pSrcBuffer,SrcOffset,NumBytes) ) | ||
| 22663 | |||
| 22664 | #define ID3D12GraphicsCommandList4_CopyTextureRegion(This,pDst,DstX,DstY,DstZ,pSrc,pSrcBox) \ | ||
| 22665 | ( (This)->lpVtbl -> CopyTextureRegion(This,pDst,DstX,DstY,DstZ,pSrc,pSrcBox) ) | ||
| 22666 | |||
| 22667 | #define ID3D12GraphicsCommandList4_CopyResource(This,pDstResource,pSrcResource) \ | ||
| 22668 | ( (This)->lpVtbl -> CopyResource(This,pDstResource,pSrcResource) ) | ||
| 22669 | |||
| 22670 | #define ID3D12GraphicsCommandList4_CopyTiles(This,pTiledResource,pTileRegionStartCoordinate,pTileRegionSize,pBuffer,BufferStartOffsetInBytes,Flags) \ | ||
| 22671 | ( (This)->lpVtbl -> CopyTiles(This,pTiledResource,pTileRegionStartCoordinate,pTileRegionSize,pBuffer,BufferStartOffsetInBytes,Flags) ) | ||
| 22672 | |||
| 22673 | #define ID3D12GraphicsCommandList4_ResolveSubresource(This,pDstResource,DstSubresource,pSrcResource,SrcSubresource,Format) \ | ||
| 22674 | ( (This)->lpVtbl -> ResolveSubresource(This,pDstResource,DstSubresource,pSrcResource,SrcSubresource,Format) ) | ||
| 22675 | |||
| 22676 | #define ID3D12GraphicsCommandList4_IASetPrimitiveTopology(This,PrimitiveTopology) \ | ||
| 22677 | ( (This)->lpVtbl -> IASetPrimitiveTopology(This,PrimitiveTopology) ) | ||
| 22678 | |||
| 22679 | #define ID3D12GraphicsCommandList4_RSSetViewports(This,NumViewports,pViewports) \ | ||
| 22680 | ( (This)->lpVtbl -> RSSetViewports(This,NumViewports,pViewports) ) | ||
| 22681 | |||
| 22682 | #define ID3D12GraphicsCommandList4_RSSetScissorRects(This,NumRects,pRects) \ | ||
| 22683 | ( (This)->lpVtbl -> RSSetScissorRects(This,NumRects,pRects) ) | ||
| 22684 | |||
| 22685 | #define ID3D12GraphicsCommandList4_OMSetBlendFactor(This,BlendFactor) \ | ||
| 22686 | ( (This)->lpVtbl -> OMSetBlendFactor(This,BlendFactor) ) | ||
| 22687 | |||
| 22688 | #define ID3D12GraphicsCommandList4_OMSetStencilRef(This,StencilRef) \ | ||
| 22689 | ( (This)->lpVtbl -> OMSetStencilRef(This,StencilRef) ) | ||
| 22690 | |||
| 22691 | #define ID3D12GraphicsCommandList4_SetPipelineState(This,pPipelineState) \ | ||
| 22692 | ( (This)->lpVtbl -> SetPipelineState(This,pPipelineState) ) | ||
| 22693 | |||
| 22694 | #define ID3D12GraphicsCommandList4_ResourceBarrier(This,NumBarriers,pBarriers) \ | ||
| 22695 | ( (This)->lpVtbl -> ResourceBarrier(This,NumBarriers,pBarriers) ) | ||
| 22696 | |||
| 22697 | #define ID3D12GraphicsCommandList4_ExecuteBundle(This,pCommandList) \ | ||
| 22698 | ( (This)->lpVtbl -> ExecuteBundle(This,pCommandList) ) | ||
| 22699 | |||
| 22700 | #define ID3D12GraphicsCommandList4_SetDescriptorHeaps(This,NumDescriptorHeaps,ppDescriptorHeaps) \ | ||
| 22701 | ( (This)->lpVtbl -> SetDescriptorHeaps(This,NumDescriptorHeaps,ppDescriptorHeaps) ) | ||
| 22702 | |||
| 22703 | #define ID3D12GraphicsCommandList4_SetComputeRootSignature(This,pRootSignature) \ | ||
| 22704 | ( (This)->lpVtbl -> SetComputeRootSignature(This,pRootSignature) ) | ||
| 22705 | |||
| 22706 | #define ID3D12GraphicsCommandList4_SetGraphicsRootSignature(This,pRootSignature) \ | ||
| 22707 | ( (This)->lpVtbl -> SetGraphicsRootSignature(This,pRootSignature) ) | ||
| 22708 | |||
| 22709 | #define ID3D12GraphicsCommandList4_SetComputeRootDescriptorTable(This,RootParameterIndex,BaseDescriptor) \ | ||
| 22710 | ( (This)->lpVtbl -> SetComputeRootDescriptorTable(This,RootParameterIndex,BaseDescriptor) ) | ||
| 22711 | |||
| 22712 | #define ID3D12GraphicsCommandList4_SetGraphicsRootDescriptorTable(This,RootParameterIndex,BaseDescriptor) \ | ||
| 22713 | ( (This)->lpVtbl -> SetGraphicsRootDescriptorTable(This,RootParameterIndex,BaseDescriptor) ) | ||
| 22714 | |||
| 22715 | #define ID3D12GraphicsCommandList4_SetComputeRoot32BitConstant(This,RootParameterIndex,SrcData,DestOffsetIn32BitValues) \ | ||
| 22716 | ( (This)->lpVtbl -> SetComputeRoot32BitConstant(This,RootParameterIndex,SrcData,DestOffsetIn32BitValues) ) | ||
| 22717 | |||
| 22718 | #define ID3D12GraphicsCommandList4_SetGraphicsRoot32BitConstant(This,RootParameterIndex,SrcData,DestOffsetIn32BitValues) \ | ||
| 22719 | ( (This)->lpVtbl -> SetGraphicsRoot32BitConstant(This,RootParameterIndex,SrcData,DestOffsetIn32BitValues) ) | ||
| 22720 | |||
| 22721 | #define ID3D12GraphicsCommandList4_SetComputeRoot32BitConstants(This,RootParameterIndex,Num32BitValuesToSet,pSrcData,DestOffsetIn32BitValues) \ | ||
| 22722 | ( (This)->lpVtbl -> SetComputeRoot32BitConstants(This,RootParameterIndex,Num32BitValuesToSet,pSrcData,DestOffsetIn32BitValues) ) | ||
| 22723 | |||
| 22724 | #define ID3D12GraphicsCommandList4_SetGraphicsRoot32BitConstants(This,RootParameterIndex,Num32BitValuesToSet,pSrcData,DestOffsetIn32BitValues) \ | ||
| 22725 | ( (This)->lpVtbl -> SetGraphicsRoot32BitConstants(This,RootParameterIndex,Num32BitValuesToSet,pSrcData,DestOffsetIn32BitValues) ) | ||
| 22726 | |||
| 22727 | #define ID3D12GraphicsCommandList4_SetComputeRootConstantBufferView(This,RootParameterIndex,BufferLocation) \ | ||
| 22728 | ( (This)->lpVtbl -> SetComputeRootConstantBufferView(This,RootParameterIndex,BufferLocation) ) | ||
| 22729 | |||
| 22730 | #define ID3D12GraphicsCommandList4_SetGraphicsRootConstantBufferView(This,RootParameterIndex,BufferLocation) \ | ||
| 22731 | ( (This)->lpVtbl -> SetGraphicsRootConstantBufferView(This,RootParameterIndex,BufferLocation) ) | ||
| 22732 | |||
| 22733 | #define ID3D12GraphicsCommandList4_SetComputeRootShaderResourceView(This,RootParameterIndex,BufferLocation) \ | ||
| 22734 | ( (This)->lpVtbl -> SetComputeRootShaderResourceView(This,RootParameterIndex,BufferLocation) ) | ||
| 22735 | |||
| 22736 | #define ID3D12GraphicsCommandList4_SetGraphicsRootShaderResourceView(This,RootParameterIndex,BufferLocation) \ | ||
| 22737 | ( (This)->lpVtbl -> SetGraphicsRootShaderResourceView(This,RootParameterIndex,BufferLocation) ) | ||
| 22738 | |||
| 22739 | #define ID3D12GraphicsCommandList4_SetComputeRootUnorderedAccessView(This,RootParameterIndex,BufferLocation) \ | ||
| 22740 | ( (This)->lpVtbl -> SetComputeRootUnorderedAccessView(This,RootParameterIndex,BufferLocation) ) | ||
| 22741 | |||
| 22742 | #define ID3D12GraphicsCommandList4_SetGraphicsRootUnorderedAccessView(This,RootParameterIndex,BufferLocation) \ | ||
| 22743 | ( (This)->lpVtbl -> SetGraphicsRootUnorderedAccessView(This,RootParameterIndex,BufferLocation) ) | ||
| 22744 | |||
| 22745 | #define ID3D12GraphicsCommandList4_IASetIndexBuffer(This,pView) \ | ||
| 22746 | ( (This)->lpVtbl -> IASetIndexBuffer(This,pView) ) | ||
| 22747 | |||
| 22748 | #define ID3D12GraphicsCommandList4_IASetVertexBuffers(This,StartSlot,NumViews,pViews) \ | ||
| 22749 | ( (This)->lpVtbl -> IASetVertexBuffers(This,StartSlot,NumViews,pViews) ) | ||
| 22750 | |||
| 22751 | #define ID3D12GraphicsCommandList4_SOSetTargets(This,StartSlot,NumViews,pViews) \ | ||
| 22752 | ( (This)->lpVtbl -> SOSetTargets(This,StartSlot,NumViews,pViews) ) | ||
| 22753 | |||
| 22754 | #define ID3D12GraphicsCommandList4_OMSetRenderTargets(This,NumRenderTargetDescriptors,pRenderTargetDescriptors,RTsSingleHandleToDescriptorRange,pDepthStencilDescriptor) \ | ||
| 22755 | ( (This)->lpVtbl -> OMSetRenderTargets(This,NumRenderTargetDescriptors,pRenderTargetDescriptors,RTsSingleHandleToDescriptorRange,pDepthStencilDescriptor) ) | ||
| 22756 | |||
| 22757 | #define ID3D12GraphicsCommandList4_ClearDepthStencilView(This,DepthStencilView,ClearFlags,Depth,Stencil,NumRects,pRects) \ | ||
| 22758 | ( (This)->lpVtbl -> ClearDepthStencilView(This,DepthStencilView,ClearFlags,Depth,Stencil,NumRects,pRects) ) | ||
| 22759 | |||
| 22760 | #define ID3D12GraphicsCommandList4_ClearRenderTargetView(This,RenderTargetView,ColorRGBA,NumRects,pRects) \ | ||
| 22761 | ( (This)->lpVtbl -> ClearRenderTargetView(This,RenderTargetView,ColorRGBA,NumRects,pRects) ) | ||
| 22762 | |||
| 22763 | #define ID3D12GraphicsCommandList4_ClearUnorderedAccessViewUint(This,ViewGPUHandleInCurrentHeap,ViewCPUHandle,pResource,Values,NumRects,pRects) \ | ||
| 22764 | ( (This)->lpVtbl -> ClearUnorderedAccessViewUint(This,ViewGPUHandleInCurrentHeap,ViewCPUHandle,pResource,Values,NumRects,pRects) ) | ||
| 22765 | |||
| 22766 | #define ID3D12GraphicsCommandList4_ClearUnorderedAccessViewFloat(This,ViewGPUHandleInCurrentHeap,ViewCPUHandle,pResource,Values,NumRects,pRects) \ | ||
| 22767 | ( (This)->lpVtbl -> ClearUnorderedAccessViewFloat(This,ViewGPUHandleInCurrentHeap,ViewCPUHandle,pResource,Values,NumRects,pRects) ) | ||
| 22768 | |||
| 22769 | #define ID3D12GraphicsCommandList4_DiscardResource(This,pResource,pRegion) \ | ||
| 22770 | ( (This)->lpVtbl -> DiscardResource(This,pResource,pRegion) ) | ||
| 22771 | |||
| 22772 | #define ID3D12GraphicsCommandList4_BeginQuery(This,pQueryHeap,Type,Index) \ | ||
| 22773 | ( (This)->lpVtbl -> BeginQuery(This,pQueryHeap,Type,Index) ) | ||
| 22774 | |||
| 22775 | #define ID3D12GraphicsCommandList4_EndQuery(This,pQueryHeap,Type,Index) \ | ||
| 22776 | ( (This)->lpVtbl -> EndQuery(This,pQueryHeap,Type,Index) ) | ||
| 22777 | |||
| 22778 | #define ID3D12GraphicsCommandList4_ResolveQueryData(This,pQueryHeap,Type,StartIndex,NumQueries,pDestinationBuffer,AlignedDestinationBufferOffset) \ | ||
| 22779 | ( (This)->lpVtbl -> ResolveQueryData(This,pQueryHeap,Type,StartIndex,NumQueries,pDestinationBuffer,AlignedDestinationBufferOffset) ) | ||
| 22780 | |||
| 22781 | #define ID3D12GraphicsCommandList4_SetPredication(This,pBuffer,AlignedBufferOffset,Operation) \ | ||
| 22782 | ( (This)->lpVtbl -> SetPredication(This,pBuffer,AlignedBufferOffset,Operation) ) | ||
| 22783 | |||
| 22784 | #define ID3D12GraphicsCommandList4_SetMarker(This,Metadata,pData,Size) \ | ||
| 22785 | ( (This)->lpVtbl -> SetMarker(This,Metadata,pData,Size) ) | ||
| 22786 | |||
| 22787 | #define ID3D12GraphicsCommandList4_BeginEvent(This,Metadata,pData,Size) \ | ||
| 22788 | ( (This)->lpVtbl -> BeginEvent(This,Metadata,pData,Size) ) | ||
| 22789 | |||
| 22790 | #define ID3D12GraphicsCommandList4_EndEvent(This) \ | ||
| 22791 | ( (This)->lpVtbl -> EndEvent(This) ) | ||
| 22792 | |||
| 22793 | #define ID3D12GraphicsCommandList4_ExecuteIndirect(This,pCommandSignature,MaxCommandCount,pArgumentBuffer,ArgumentBufferOffset,pCountBuffer,CountBufferOffset) \ | ||
| 22794 | ( (This)->lpVtbl -> ExecuteIndirect(This,pCommandSignature,MaxCommandCount,pArgumentBuffer,ArgumentBufferOffset,pCountBuffer,CountBufferOffset) ) | ||
| 22795 | |||
| 22796 | |||
| 22797 | #define ID3D12GraphicsCommandList4_AtomicCopyBufferUINT(This,pDstBuffer,DstOffset,pSrcBuffer,SrcOffset,Dependencies,ppDependentResources,pDependentSubresourceRanges) \ | ||
| 22798 | ( (This)->lpVtbl -> AtomicCopyBufferUINT(This,pDstBuffer,DstOffset,pSrcBuffer,SrcOffset,Dependencies,ppDependentResources,pDependentSubresourceRanges) ) | ||
| 22799 | |||
| 22800 | #define ID3D12GraphicsCommandList4_AtomicCopyBufferUINT64(This,pDstBuffer,DstOffset,pSrcBuffer,SrcOffset,Dependencies,ppDependentResources,pDependentSubresourceRanges) \ | ||
| 22801 | ( (This)->lpVtbl -> AtomicCopyBufferUINT64(This,pDstBuffer,DstOffset,pSrcBuffer,SrcOffset,Dependencies,ppDependentResources,pDependentSubresourceRanges) ) | ||
| 22802 | |||
| 22803 | #define ID3D12GraphicsCommandList4_OMSetDepthBounds(This,Min,Max) \ | ||
| 22804 | ( (This)->lpVtbl -> OMSetDepthBounds(This,Min,Max) ) | ||
| 22805 | |||
| 22806 | #define ID3D12GraphicsCommandList4_SetSamplePositions(This,NumSamplesPerPixel,NumPixels,pSamplePositions) \ | ||
| 22807 | ( (This)->lpVtbl -> SetSamplePositions(This,NumSamplesPerPixel,NumPixels,pSamplePositions) ) | ||
| 22808 | |||
| 22809 | #define ID3D12GraphicsCommandList4_ResolveSubresourceRegion(This,pDstResource,DstSubresource,DstX,DstY,pSrcResource,SrcSubresource,pSrcRect,Format,ResolveMode) \ | ||
| 22810 | ( (This)->lpVtbl -> ResolveSubresourceRegion(This,pDstResource,DstSubresource,DstX,DstY,pSrcResource,SrcSubresource,pSrcRect,Format,ResolveMode) ) | ||
| 22811 | |||
| 22812 | #define ID3D12GraphicsCommandList4_SetViewInstanceMask(This,Mask) \ | ||
| 22813 | ( (This)->lpVtbl -> SetViewInstanceMask(This,Mask) ) | ||
| 22814 | |||
| 22815 | |||
| 22816 | #define ID3D12GraphicsCommandList4_WriteBufferImmediate(This,Count,pParams,pModes) \ | ||
| 22817 | ( (This)->lpVtbl -> WriteBufferImmediate(This,Count,pParams,pModes) ) | ||
| 22818 | |||
| 22819 | |||
| 22820 | #define ID3D12GraphicsCommandList4_SetProtectedResourceSession(This,pProtectedResourceSession) \ | ||
| 22821 | ( (This)->lpVtbl -> SetProtectedResourceSession(This,pProtectedResourceSession) ) | ||
| 22822 | |||
| 22823 | |||
| 22824 | #define ID3D12GraphicsCommandList4_BeginRenderPass(This,NumRenderTargets,pRenderTargets,pDepthStencil,Flags) \ | ||
| 22825 | ( (This)->lpVtbl -> BeginRenderPass(This,NumRenderTargets,pRenderTargets,pDepthStencil,Flags) ) | ||
| 22826 | |||
| 22827 | #define ID3D12GraphicsCommandList4_EndRenderPass(This) \ | ||
| 22828 | ( (This)->lpVtbl -> EndRenderPass(This) ) | ||
| 22829 | |||
| 22830 | #define ID3D12GraphicsCommandList4_InitializeMetaCommand(This,pMetaCommand,pInitializationParametersData,InitializationParametersDataSizeInBytes) \ | ||
| 22831 | ( (This)->lpVtbl -> InitializeMetaCommand(This,pMetaCommand,pInitializationParametersData,InitializationParametersDataSizeInBytes) ) | ||
| 22832 | |||
| 22833 | #define ID3D12GraphicsCommandList4_ExecuteMetaCommand(This,pMetaCommand,pExecutionParametersData,ExecutionParametersDataSizeInBytes) \ | ||
| 22834 | ( (This)->lpVtbl -> ExecuteMetaCommand(This,pMetaCommand,pExecutionParametersData,ExecutionParametersDataSizeInBytes) ) | ||
| 22835 | |||
| 22836 | #define ID3D12GraphicsCommandList4_BuildRaytracingAccelerationStructure(This,pDesc,NumPostbuildInfoDescs,pPostbuildInfoDescs) \ | ||
| 22837 | ( (This)->lpVtbl -> BuildRaytracingAccelerationStructure(This,pDesc,NumPostbuildInfoDescs,pPostbuildInfoDescs) ) | ||
| 22838 | |||
| 22839 | #define ID3D12GraphicsCommandList4_EmitRaytracingAccelerationStructurePostbuildInfo(This,pDesc,NumSourceAccelerationStructures,pSourceAccelerationStructureData) \ | ||
| 22840 | ( (This)->lpVtbl -> EmitRaytracingAccelerationStructurePostbuildInfo(This,pDesc,NumSourceAccelerationStructures,pSourceAccelerationStructureData) ) | ||
| 22841 | |||
| 22842 | #define ID3D12GraphicsCommandList4_CopyRaytracingAccelerationStructure(This,DestAccelerationStructureData,SourceAccelerationStructureData,Mode) \ | ||
| 22843 | ( (This)->lpVtbl -> CopyRaytracingAccelerationStructure(This,DestAccelerationStructureData,SourceAccelerationStructureData,Mode) ) | ||
| 22844 | |||
| 22845 | #define ID3D12GraphicsCommandList4_SetPipelineState1(This,pStateObject) \ | ||
| 22846 | ( (This)->lpVtbl -> SetPipelineState1(This,pStateObject) ) | ||
| 22847 | |||
| 22848 | #define ID3D12GraphicsCommandList4_DispatchRays(This,pDesc) \ | ||
| 22849 | ( (This)->lpVtbl -> DispatchRays(This,pDesc) ) | ||
| 22850 | |||
| 22851 | #endif /* COBJMACROS */ | ||
| 22852 | |||
| 22853 | |||
| 22854 | #endif /* C style interface */ | ||
| 22855 | |||
| 22856 | |||
| 22857 | |||
| 22858 | |||
| 22859 | #endif /* __ID3D12GraphicsCommandList4_INTERFACE_DEFINED__ */ | ||
| 22860 | |||
| 22861 | |||
| 22862 | /* interface __MIDL_itf_d3d12_0000_0056 */ | ||
| 22863 | /* [local] */ | ||
| 22864 | |||
| 22865 | typedef | ||
| 22866 | enum D3D12_SHADER_CACHE_MODE | ||
| 22867 | { | ||
| 22868 | D3D12_SHADER_CACHE_MODE_MEMORY = 0, | ||
| 22869 | D3D12_SHADER_CACHE_MODE_DISK = ( D3D12_SHADER_CACHE_MODE_MEMORY + 1 ) | ||
| 22870 | } D3D12_SHADER_CACHE_MODE; | ||
| 22871 | |||
| 22872 | typedef | ||
| 22873 | enum D3D12_SHADER_CACHE_FLAGS | ||
| 22874 | { | ||
| 22875 | D3D12_SHADER_CACHE_FLAG_NONE = 0, | ||
| 22876 | D3D12_SHADER_CACHE_FLAG_DRIVER_VERSIONED = 0x1, | ||
| 22877 | D3D12_SHADER_CACHE_FLAG_USE_WORKING_DIR = 0x2 | ||
| 22878 | } D3D12_SHADER_CACHE_FLAGS; | ||
| 22879 | |||
| 22880 | DEFINE_ENUM_FLAG_OPERATORS( D3D12_SHADER_CACHE_FLAGS ) | ||
| 22881 | typedef struct D3D12_SHADER_CACHE_SESSION_DESC | ||
| 22882 | { | ||
| 22883 | GUID Identifier; | ||
| 22884 | D3D12_SHADER_CACHE_MODE Mode; | ||
| 22885 | D3D12_SHADER_CACHE_FLAGS Flags; | ||
| 22886 | UINT MaximumInMemoryCacheSizeBytes; | ||
| 22887 | UINT MaximumInMemoryCacheEntries; | ||
| 22888 | UINT MaximumValueFileSizeBytes; | ||
| 22889 | UINT64 Version; | ||
| 22890 | } D3D12_SHADER_CACHE_SESSION_DESC; | ||
| 22891 | |||
| 22892 | typedef | ||
| 22893 | enum D3D12_BARRIER_LAYOUT | ||
| 22894 | { | ||
| 22895 | D3D12_BARRIER_LAYOUT_UNDEFINED = 0xffffffff, | ||
| 22896 | D3D12_BARRIER_LAYOUT_COMMON = 0, | ||
| 22897 | D3D12_BARRIER_LAYOUT_PRESENT = 0, | ||
| 22898 | D3D12_BARRIER_LAYOUT_GENERIC_READ = 1, | ||
| 22899 | D3D12_BARRIER_LAYOUT_RENDER_TARGET = 2, | ||
| 22900 | D3D12_BARRIER_LAYOUT_UNORDERED_ACCESS = 3, | ||
| 22901 | D3D12_BARRIER_LAYOUT_DEPTH_STENCIL_WRITE = 4, | ||
| 22902 | D3D12_BARRIER_LAYOUT_DEPTH_STENCIL_READ = 5, | ||
| 22903 | D3D12_BARRIER_LAYOUT_SHADER_RESOURCE = 6, | ||
| 22904 | D3D12_BARRIER_LAYOUT_COPY_SOURCE = 7, | ||
| 22905 | D3D12_BARRIER_LAYOUT_COPY_DEST = 8, | ||
| 22906 | D3D12_BARRIER_LAYOUT_RESOLVE_SOURCE = 9, | ||
| 22907 | D3D12_BARRIER_LAYOUT_RESOLVE_DEST = 10, | ||
| 22908 | D3D12_BARRIER_LAYOUT_SHADING_RATE_SOURCE = 11, | ||
| 22909 | D3D12_BARRIER_LAYOUT_VIDEO_DECODE_READ = 12, | ||
| 22910 | D3D12_BARRIER_LAYOUT_VIDEO_DECODE_WRITE = 13, | ||
| 22911 | D3D12_BARRIER_LAYOUT_VIDEO_PROCESS_READ = 14, | ||
| 22912 | D3D12_BARRIER_LAYOUT_VIDEO_PROCESS_WRITE = 15, | ||
| 22913 | D3D12_BARRIER_LAYOUT_VIDEO_ENCODE_READ = 16, | ||
| 22914 | D3D12_BARRIER_LAYOUT_VIDEO_ENCODE_WRITE = 17, | ||
| 22915 | D3D12_BARRIER_LAYOUT_DIRECT_QUEUE_COMMON = 18, | ||
| 22916 | D3D12_BARRIER_LAYOUT_DIRECT_QUEUE_GENERIC_READ = 19, | ||
| 22917 | D3D12_BARRIER_LAYOUT_DIRECT_QUEUE_UNORDERED_ACCESS = 20, | ||
| 22918 | D3D12_BARRIER_LAYOUT_DIRECT_QUEUE_SHADER_RESOURCE = 21, | ||
| 22919 | D3D12_BARRIER_LAYOUT_DIRECT_QUEUE_COPY_SOURCE = 22, | ||
| 22920 | D3D12_BARRIER_LAYOUT_DIRECT_QUEUE_COPY_DEST = 23, | ||
| 22921 | D3D12_BARRIER_LAYOUT_COMPUTE_QUEUE_COMMON = 24, | ||
| 22922 | D3D12_BARRIER_LAYOUT_COMPUTE_QUEUE_GENERIC_READ = 25, | ||
| 22923 | D3D12_BARRIER_LAYOUT_COMPUTE_QUEUE_UNORDERED_ACCESS = 26, | ||
| 22924 | D3D12_BARRIER_LAYOUT_COMPUTE_QUEUE_SHADER_RESOURCE = 27, | ||
| 22925 | D3D12_BARRIER_LAYOUT_COMPUTE_QUEUE_COPY_SOURCE = 28, | ||
| 22926 | D3D12_BARRIER_LAYOUT_COMPUTE_QUEUE_COPY_DEST = 29, | ||
| 22927 | D3D12_BARRIER_LAYOUT_DIRECT_QUEUE_GENERIC_READ_COMPUTE_QUEUE_ACCESSIBLE = 31 | ||
| 22928 | } D3D12_BARRIER_LAYOUT; | ||
| 22929 | |||
| 22930 | typedef | ||
| 22931 | enum D3D12_BARRIER_SYNC | ||
| 22932 | { | ||
| 22933 | D3D12_BARRIER_SYNC_NONE = 0, | ||
| 22934 | D3D12_BARRIER_SYNC_ALL = 0x1, | ||
| 22935 | D3D12_BARRIER_SYNC_DRAW = 0x2, | ||
| 22936 | D3D12_BARRIER_SYNC_INDEX_INPUT = 0x4, | ||
| 22937 | D3D12_BARRIER_SYNC_VERTEX_SHADING = 0x8, | ||
| 22938 | D3D12_BARRIER_SYNC_PIXEL_SHADING = 0x10, | ||
| 22939 | D3D12_BARRIER_SYNC_DEPTH_STENCIL = 0x20, | ||
| 22940 | D3D12_BARRIER_SYNC_RENDER_TARGET = 0x40, | ||
| 22941 | D3D12_BARRIER_SYNC_COMPUTE_SHADING = 0x80, | ||
| 22942 | D3D12_BARRIER_SYNC_RAYTRACING = 0x100, | ||
| 22943 | D3D12_BARRIER_SYNC_COPY = 0x200, | ||
| 22944 | D3D12_BARRIER_SYNC_RESOLVE = 0x400, | ||
| 22945 | D3D12_BARRIER_SYNC_EXECUTE_INDIRECT = 0x800, | ||
| 22946 | D3D12_BARRIER_SYNC_PREDICATION = 0x800, | ||
| 22947 | D3D12_BARRIER_SYNC_ALL_SHADING = 0x1000, | ||
| 22948 | D3D12_BARRIER_SYNC_NON_PIXEL_SHADING = 0x2000, | ||
| 22949 | D3D12_BARRIER_SYNC_EMIT_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO = 0x4000, | ||
| 22950 | D3D12_BARRIER_SYNC_CLEAR_UNORDERED_ACCESS_VIEW = 0x8000, | ||
| 22951 | D3D12_BARRIER_SYNC_VIDEO_DECODE = 0x100000, | ||
| 22952 | D3D12_BARRIER_SYNC_VIDEO_PROCESS = 0x200000, | ||
| 22953 | D3D12_BARRIER_SYNC_VIDEO_ENCODE = 0x400000, | ||
| 22954 | D3D12_BARRIER_SYNC_BUILD_RAYTRACING_ACCELERATION_STRUCTURE = 0x800000, | ||
| 22955 | D3D12_BARRIER_SYNC_COPY_RAYTRACING_ACCELERATION_STRUCTURE = 0x1000000, | ||
| 22956 | D3D12_BARRIER_SYNC_SPLIT = 0x80000000 | ||
| 22957 | } D3D12_BARRIER_SYNC; | ||
| 22958 | |||
| 22959 | DEFINE_ENUM_FLAG_OPERATORS( D3D12_BARRIER_SYNC ) | ||
| 22960 | typedef | ||
| 22961 | enum D3D12_BARRIER_ACCESS | ||
| 22962 | { | ||
| 22963 | D3D12_BARRIER_ACCESS_COMMON = 0, | ||
| 22964 | D3D12_BARRIER_ACCESS_VERTEX_BUFFER = 0x1, | ||
| 22965 | D3D12_BARRIER_ACCESS_CONSTANT_BUFFER = 0x2, | ||
| 22966 | D3D12_BARRIER_ACCESS_INDEX_BUFFER = 0x4, | ||
| 22967 | D3D12_BARRIER_ACCESS_RENDER_TARGET = 0x8, | ||
| 22968 | D3D12_BARRIER_ACCESS_UNORDERED_ACCESS = 0x10, | ||
| 22969 | D3D12_BARRIER_ACCESS_DEPTH_STENCIL_WRITE = 0x20, | ||
| 22970 | D3D12_BARRIER_ACCESS_DEPTH_STENCIL_READ = 0x40, | ||
| 22971 | D3D12_BARRIER_ACCESS_SHADER_RESOURCE = 0x80, | ||
| 22972 | D3D12_BARRIER_ACCESS_STREAM_OUTPUT = 0x100, | ||
| 22973 | D3D12_BARRIER_ACCESS_INDIRECT_ARGUMENT = 0x200, | ||
| 22974 | D3D12_BARRIER_ACCESS_PREDICATION = 0x200, | ||
| 22975 | D3D12_BARRIER_ACCESS_COPY_DEST = 0x400, | ||
| 22976 | D3D12_BARRIER_ACCESS_COPY_SOURCE = 0x800, | ||
| 22977 | D3D12_BARRIER_ACCESS_RESOLVE_DEST = 0x1000, | ||
| 22978 | D3D12_BARRIER_ACCESS_RESOLVE_SOURCE = 0x2000, | ||
| 22979 | D3D12_BARRIER_ACCESS_RAYTRACING_ACCELERATION_STRUCTURE_READ = 0x4000, | ||
| 22980 | D3D12_BARRIER_ACCESS_RAYTRACING_ACCELERATION_STRUCTURE_WRITE = 0x8000, | ||
| 22981 | D3D12_BARRIER_ACCESS_SHADING_RATE_SOURCE = 0x10000, | ||
| 22982 | D3D12_BARRIER_ACCESS_VIDEO_DECODE_READ = 0x20000, | ||
| 22983 | D3D12_BARRIER_ACCESS_VIDEO_DECODE_WRITE = 0x40000, | ||
| 22984 | D3D12_BARRIER_ACCESS_VIDEO_PROCESS_READ = 0x80000, | ||
| 22985 | D3D12_BARRIER_ACCESS_VIDEO_PROCESS_WRITE = 0x100000, | ||
| 22986 | D3D12_BARRIER_ACCESS_VIDEO_ENCODE_READ = 0x200000, | ||
| 22987 | D3D12_BARRIER_ACCESS_VIDEO_ENCODE_WRITE = 0x400000, | ||
| 22988 | D3D12_BARRIER_ACCESS_NO_ACCESS = 0x80000000 | ||
| 22989 | } D3D12_BARRIER_ACCESS; | ||
| 22990 | |||
| 22991 | DEFINE_ENUM_FLAG_OPERATORS( D3D12_BARRIER_ACCESS ) | ||
| 22992 | typedef | ||
| 22993 | enum D3D12_BARRIER_TYPE | ||
| 22994 | { | ||
| 22995 | D3D12_BARRIER_TYPE_GLOBAL = 0, | ||
| 22996 | D3D12_BARRIER_TYPE_TEXTURE = ( D3D12_BARRIER_TYPE_GLOBAL + 1 ) , | ||
| 22997 | D3D12_BARRIER_TYPE_BUFFER = ( D3D12_BARRIER_TYPE_TEXTURE + 1 ) | ||
| 22998 | } D3D12_BARRIER_TYPE; | ||
| 22999 | |||
| 23000 | typedef | ||
| 23001 | enum D3D12_TEXTURE_BARRIER_FLAGS | ||
| 23002 | { | ||
| 23003 | D3D12_TEXTURE_BARRIER_FLAG_NONE = 0, | ||
| 23004 | D3D12_TEXTURE_BARRIER_FLAG_DISCARD = 0x1 | ||
| 23005 | } D3D12_TEXTURE_BARRIER_FLAGS; | ||
| 23006 | |||
| 23007 | DEFINE_ENUM_FLAG_OPERATORS( D3D12_TEXTURE_BARRIER_FLAGS ) | ||
| 23008 | typedef struct D3D12_BARRIER_SUBRESOURCE_RANGE | ||
| 23009 | { | ||
| 23010 | UINT IndexOrFirstMipLevel; | ||
| 23011 | UINT NumMipLevels; | ||
| 23012 | UINT FirstArraySlice; | ||
| 23013 | UINT NumArraySlices; | ||
| 23014 | UINT FirstPlane; | ||
| 23015 | UINT NumPlanes; | ||
| 23016 | } D3D12_BARRIER_SUBRESOURCE_RANGE; | ||
| 23017 | |||
| 23018 | typedef struct D3D12_GLOBAL_BARRIER | ||
| 23019 | { | ||
| 23020 | D3D12_BARRIER_SYNC SyncBefore; | ||
| 23021 | D3D12_BARRIER_SYNC SyncAfter; | ||
| 23022 | D3D12_BARRIER_ACCESS AccessBefore; | ||
| 23023 | D3D12_BARRIER_ACCESS AccessAfter; | ||
| 23024 | } D3D12_GLOBAL_BARRIER; | ||
| 23025 | |||
| 23026 | typedef struct D3D12_TEXTURE_BARRIER | ||
| 23027 | { | ||
| 23028 | D3D12_BARRIER_SYNC SyncBefore; | ||
| 23029 | D3D12_BARRIER_SYNC SyncAfter; | ||
| 23030 | D3D12_BARRIER_ACCESS AccessBefore; | ||
| 23031 | D3D12_BARRIER_ACCESS AccessAfter; | ||
| 23032 | D3D12_BARRIER_LAYOUT LayoutBefore; | ||
| 23033 | D3D12_BARRIER_LAYOUT LayoutAfter; | ||
| 23034 | _In_ ID3D12Resource *pResource; | ||
| 23035 | D3D12_BARRIER_SUBRESOURCE_RANGE Subresources; | ||
| 23036 | D3D12_TEXTURE_BARRIER_FLAGS Flags; | ||
| 23037 | } D3D12_TEXTURE_BARRIER; | ||
| 23038 | |||
| 23039 | typedef struct D3D12_BUFFER_BARRIER | ||
| 23040 | { | ||
| 23041 | D3D12_BARRIER_SYNC SyncBefore; | ||
| 23042 | D3D12_BARRIER_SYNC SyncAfter; | ||
| 23043 | D3D12_BARRIER_ACCESS AccessBefore; | ||
| 23044 | D3D12_BARRIER_ACCESS AccessAfter; | ||
| 23045 | _In_ ID3D12Resource *pResource; | ||
| 23046 | UINT64 Offset; | ||
| 23047 | UINT64 Size; | ||
| 23048 | } D3D12_BUFFER_BARRIER; | ||
| 23049 | |||
| 23050 | typedef struct D3D12_BARRIER_GROUP | ||
| 23051 | { | ||
| 23052 | D3D12_BARRIER_TYPE Type; | ||
| 23053 | UINT32 NumBarriers; | ||
| 23054 | union | ||
| 23055 | { | ||
| 23056 | _In_reads_(NumBarriers) const D3D12_GLOBAL_BARRIER *pGlobalBarriers; | ||
| 23057 | _In_reads_(NumBarriers) const D3D12_TEXTURE_BARRIER *pTextureBarriers; | ||
| 23058 | _In_reads_(NumBarriers) const D3D12_BUFFER_BARRIER *pBufferBarriers; | ||
| 23059 | } ; | ||
| 23060 | } D3D12_BARRIER_GROUP; | ||
| 23061 | |||
| 23062 | |||
| 23063 | |||
| 23064 | extern RPC_IF_HANDLE __MIDL_itf_d3d12_0000_0056_v0_0_c_ifspec; | ||
| 23065 | extern RPC_IF_HANDLE __MIDL_itf_d3d12_0000_0056_v0_0_s_ifspec; | ||
| 23066 | |||
| 23067 | #ifndef __ID3D12ShaderCacheSession_INTERFACE_DEFINED__ | ||
| 23068 | #define __ID3D12ShaderCacheSession_INTERFACE_DEFINED__ | ||
| 23069 | |||
| 23070 | /* interface ID3D12ShaderCacheSession */ | ||
| 23071 | /* [unique][local][object][uuid] */ | ||
| 23072 | |||
| 23073 | |||
| 23074 | EXTERN_C const IID IID_ID3D12ShaderCacheSession; | ||
| 23075 | |||
| 23076 | #if defined(__cplusplus) && !defined(CINTERFACE) | ||
| 23077 | |||
| 23078 | MIDL_INTERFACE("28e2495d-0f64-4ae4-a6ec-129255dc49a8") | ||
| 23079 | ID3D12ShaderCacheSession : public ID3D12DeviceChild | ||
| 23080 | { | ||
| 23081 | public: | ||
| 23082 | virtual HRESULT STDMETHODCALLTYPE FindValue( | ||
| 23083 | /* [annotation][in] */ | ||
| 23084 | _In_reads_bytes_(KeySize) const void *pKey, | ||
| 23085 | UINT KeySize, | ||
| 23086 | /* [annotation][out] */ | ||
| 23087 | _Out_writes_bytes_(*pValueSize) void *pValue, | ||
| 23088 | _Inout_ UINT *pValueSize) = 0; | ||
| 23089 | |||
| 23090 | virtual HRESULT STDMETHODCALLTYPE StoreValue( | ||
| 23091 | /* [annotation][in] */ | ||
| 23092 | _In_reads_bytes_(KeySize) const void *pKey, | ||
| 23093 | UINT KeySize, | ||
| 23094 | /* [annotation][in] */ | ||
| 23095 | _In_reads_bytes_(ValueSize) const void *pValue, | ||
| 23096 | UINT ValueSize) = 0; | ||
| 23097 | |||
| 23098 | virtual void STDMETHODCALLTYPE SetDeleteOnDestroy( void) = 0; | ||
| 23099 | |||
| 23100 | #if defined(_MSC_VER) || !defined(_WIN32) | ||
| 23101 | virtual D3D12_SHADER_CACHE_SESSION_DESC STDMETHODCALLTYPE GetDesc( void) = 0; | ||
| 23102 | #else | ||
| 23103 | virtual D3D12_SHADER_CACHE_SESSION_DESC *STDMETHODCALLTYPE GetDesc( | ||
| 23104 | D3D12_SHADER_CACHE_SESSION_DESC * RetVal) = 0; | ||
| 23105 | #endif | ||
| 23106 | |||
| 23107 | }; | ||
| 23108 | |||
| 23109 | |||
| 23110 | #else /* C style interface */ | ||
| 23111 | |||
| 23112 | typedef struct ID3D12ShaderCacheSessionVtbl | ||
| 23113 | { | ||
| 23114 | BEGIN_INTERFACE | ||
| 23115 | |||
| 23116 | DECLSPEC_XFGVIRT(IUnknown, QueryInterface) | ||
| 23117 | HRESULT ( STDMETHODCALLTYPE *QueryInterface )( | ||
| 23118 | ID3D12ShaderCacheSession * This, | ||
| 23119 | REFIID riid, | ||
| 23120 | _COM_Outptr_ void **ppvObject); | ||
| 23121 | |||
| 23122 | DECLSPEC_XFGVIRT(IUnknown, AddRef) | ||
| 23123 | ULONG ( STDMETHODCALLTYPE *AddRef )( | ||
| 23124 | ID3D12ShaderCacheSession * This); | ||
| 23125 | |||
| 23126 | DECLSPEC_XFGVIRT(IUnknown, Release) | ||
| 23127 | ULONG ( STDMETHODCALLTYPE *Release )( | ||
| 23128 | ID3D12ShaderCacheSession * This); | ||
| 23129 | |||
| 23130 | DECLSPEC_XFGVIRT(ID3D12Object, GetPrivateData) | ||
| 23131 | HRESULT ( STDMETHODCALLTYPE *GetPrivateData )( | ||
| 23132 | ID3D12ShaderCacheSession * This, | ||
| 23133 | _In_ REFGUID guid, | ||
| 23134 | _Inout_ UINT *pDataSize, | ||
| 23135 | _Out_writes_bytes_opt_( *pDataSize ) void *pData); | ||
| 23136 | |||
| 23137 | DECLSPEC_XFGVIRT(ID3D12Object, SetPrivateData) | ||
| 23138 | HRESULT ( STDMETHODCALLTYPE *SetPrivateData )( | ||
| 23139 | ID3D12ShaderCacheSession * This, | ||
| 23140 | _In_ REFGUID guid, | ||
| 23141 | _In_ UINT DataSize, | ||
| 23142 | _In_reads_bytes_opt_( DataSize ) const void *pData); | ||
| 23143 | |||
| 23144 | DECLSPEC_XFGVIRT(ID3D12Object, SetPrivateDataInterface) | ||
| 23145 | HRESULT ( STDMETHODCALLTYPE *SetPrivateDataInterface )( | ||
| 23146 | ID3D12ShaderCacheSession * This, | ||
| 23147 | _In_ REFGUID guid, | ||
| 23148 | _In_opt_ const IUnknown *pData); | ||
| 23149 | |||
| 23150 | DECLSPEC_XFGVIRT(ID3D12Object, SetName) | ||
| 23151 | HRESULT ( STDMETHODCALLTYPE *SetName )( | ||
| 23152 | ID3D12ShaderCacheSession * This, | ||
| 23153 | _In_z_ LPCWSTR Name); | ||
| 23154 | |||
| 23155 | DECLSPEC_XFGVIRT(ID3D12DeviceChild, GetDevice) | ||
| 23156 | HRESULT ( STDMETHODCALLTYPE *GetDevice )( | ||
| 23157 | ID3D12ShaderCacheSession * This, | ||
| 23158 | REFIID riid, | ||
| 23159 | _COM_Outptr_opt_ void **ppvDevice); | ||
| 23160 | |||
| 23161 | DECLSPEC_XFGVIRT(ID3D12ShaderCacheSession, FindValue) | ||
| 23162 | HRESULT ( STDMETHODCALLTYPE *FindValue )( | ||
| 23163 | ID3D12ShaderCacheSession * This, | ||
| 23164 | /* [annotation][in] */ | ||
| 23165 | _In_reads_bytes_(KeySize) const void *pKey, | ||
| 23166 | UINT KeySize, | ||
| 23167 | /* [annotation][out] */ | ||
| 23168 | _Out_writes_bytes_(*pValueSize) void *pValue, | ||
| 23169 | _Inout_ UINT *pValueSize); | ||
| 23170 | |||
| 23171 | DECLSPEC_XFGVIRT(ID3D12ShaderCacheSession, StoreValue) | ||
| 23172 | HRESULT ( STDMETHODCALLTYPE *StoreValue )( | ||
| 23173 | ID3D12ShaderCacheSession * This, | ||
| 23174 | /* [annotation][in] */ | ||
| 23175 | _In_reads_bytes_(KeySize) const void *pKey, | ||
| 23176 | UINT KeySize, | ||
| 23177 | /* [annotation][in] */ | ||
| 23178 | _In_reads_bytes_(ValueSize) const void *pValue, | ||
| 23179 | UINT ValueSize); | ||
| 23180 | |||
| 23181 | DECLSPEC_XFGVIRT(ID3D12ShaderCacheSession, SetDeleteOnDestroy) | ||
| 23182 | void ( STDMETHODCALLTYPE *SetDeleteOnDestroy )( | ||
| 23183 | ID3D12ShaderCacheSession * This); | ||
| 23184 | |||
| 23185 | DECLSPEC_XFGVIRT(ID3D12ShaderCacheSession, GetDesc) | ||
| 23186 | #if !defined(_WIN32) | ||
| 23187 | D3D12_SHADER_CACHE_SESSION_DESC ( STDMETHODCALLTYPE *GetDesc )( | ||
| 23188 | ID3D12ShaderCacheSession * This); | ||
| 23189 | |||
| 23190 | #else | ||
| 23191 | D3D12_SHADER_CACHE_SESSION_DESC *( STDMETHODCALLTYPE *GetDesc )( | ||
| 23192 | ID3D12ShaderCacheSession * This, | ||
| 23193 | D3D12_SHADER_CACHE_SESSION_DESC * RetVal); | ||
| 23194 | |||
| 23195 | #endif | ||
| 23196 | |||
| 23197 | END_INTERFACE | ||
| 23198 | } ID3D12ShaderCacheSessionVtbl; | ||
| 23199 | |||
| 23200 | interface ID3D12ShaderCacheSession | ||
| 23201 | { | ||
| 23202 | CONST_VTBL struct ID3D12ShaderCacheSessionVtbl *lpVtbl; | ||
| 23203 | }; | ||
| 23204 | |||
| 23205 | |||
| 23206 | |||
| 23207 | #ifdef COBJMACROS | ||
| 23208 | |||
| 23209 | |||
| 23210 | #define ID3D12ShaderCacheSession_QueryInterface(This,riid,ppvObject) \ | ||
| 23211 | ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) | ||
| 23212 | |||
| 23213 | #define ID3D12ShaderCacheSession_AddRef(This) \ | ||
| 23214 | ( (This)->lpVtbl -> AddRef(This) ) | ||
| 23215 | |||
| 23216 | #define ID3D12ShaderCacheSession_Release(This) \ | ||
| 23217 | ( (This)->lpVtbl -> Release(This) ) | ||
| 23218 | |||
| 23219 | |||
| 23220 | #define ID3D12ShaderCacheSession_GetPrivateData(This,guid,pDataSize,pData) \ | ||
| 23221 | ( (This)->lpVtbl -> GetPrivateData(This,guid,pDataSize,pData) ) | ||
| 23222 | |||
| 23223 | #define ID3D12ShaderCacheSession_SetPrivateData(This,guid,DataSize,pData) \ | ||
| 23224 | ( (This)->lpVtbl -> SetPrivateData(This,guid,DataSize,pData) ) | ||
| 23225 | |||
| 23226 | #define ID3D12ShaderCacheSession_SetPrivateDataInterface(This,guid,pData) \ | ||
| 23227 | ( (This)->lpVtbl -> SetPrivateDataInterface(This,guid,pData) ) | ||
| 23228 | |||
| 23229 | #define ID3D12ShaderCacheSession_SetName(This,Name) \ | ||
| 23230 | ( (This)->lpVtbl -> SetName(This,Name) ) | ||
| 23231 | |||
| 23232 | |||
| 23233 | #define ID3D12ShaderCacheSession_GetDevice(This,riid,ppvDevice) \ | ||
| 23234 | ( (This)->lpVtbl -> GetDevice(This,riid,ppvDevice) ) | ||
| 23235 | |||
| 23236 | |||
| 23237 | #define ID3D12ShaderCacheSession_FindValue(This,pKey,KeySize,pValue,pValueSize) \ | ||
| 23238 | ( (This)->lpVtbl -> FindValue(This,pKey,KeySize,pValue,pValueSize) ) | ||
| 23239 | |||
| 23240 | #define ID3D12ShaderCacheSession_StoreValue(This,pKey,KeySize,pValue,ValueSize) \ | ||
| 23241 | ( (This)->lpVtbl -> StoreValue(This,pKey,KeySize,pValue,ValueSize) ) | ||
| 23242 | |||
| 23243 | #define ID3D12ShaderCacheSession_SetDeleteOnDestroy(This) \ | ||
| 23244 | ( (This)->lpVtbl -> SetDeleteOnDestroy(This) ) | ||
| 23245 | #if !defined(_WIN32) | ||
| 23246 | |||
| 23247 | #define ID3D12ShaderCacheSession_GetDesc(This) \ | ||
| 23248 | ( (This)->lpVtbl -> GetDesc(This) ) | ||
| 23249 | #else | ||
| 23250 | #define ID3D12ShaderCacheSession_GetDesc(This,RetVal) \ | ||
| 23251 | ( (This)->lpVtbl -> GetDesc(This,RetVal) ) | ||
| 23252 | #endif | ||
| 23253 | |||
| 23254 | #endif /* COBJMACROS */ | ||
| 23255 | |||
| 23256 | |||
| 23257 | #endif /* C style interface */ | ||
| 23258 | |||
| 23259 | |||
| 23260 | |||
| 23261 | |||
| 23262 | #endif /* __ID3D12ShaderCacheSession_INTERFACE_DEFINED__ */ | ||
| 23263 | |||
| 23264 | |||
| 23265 | /* interface __MIDL_itf_d3d12_0000_0057 */ | ||
| 23266 | /* [local] */ | ||
| 23267 | |||
| 23268 | typedef | ||
| 23269 | enum D3D12_SHADER_CACHE_KIND_FLAGS | ||
| 23270 | { | ||
| 23271 | D3D12_SHADER_CACHE_KIND_FLAG_IMPLICIT_D3D_CACHE_FOR_DRIVER = 0x1, | ||
| 23272 | D3D12_SHADER_CACHE_KIND_FLAG_IMPLICIT_D3D_CONVERSIONS = 0x2, | ||
| 23273 | D3D12_SHADER_CACHE_KIND_FLAG_IMPLICIT_DRIVER_MANAGED = 0x4, | ||
| 23274 | D3D12_SHADER_CACHE_KIND_FLAG_APPLICATION_MANAGED = 0x8 | ||
| 23275 | } D3D12_SHADER_CACHE_KIND_FLAGS; | ||
| 23276 | |||
| 23277 | DEFINE_ENUM_FLAG_OPERATORS( D3D12_SHADER_CACHE_KIND_FLAGS ) | ||
| 23278 | typedef | ||
| 23279 | enum D3D12_SHADER_CACHE_CONTROL_FLAGS | ||
| 23280 | { | ||
| 23281 | D3D12_SHADER_CACHE_CONTROL_FLAG_DISABLE = 0x1, | ||
| 23282 | D3D12_SHADER_CACHE_CONTROL_FLAG_ENABLE = 0x2, | ||
| 23283 | D3D12_SHADER_CACHE_CONTROL_FLAG_CLEAR = 0x4 | ||
| 23284 | } D3D12_SHADER_CACHE_CONTROL_FLAGS; | ||
| 23285 | |||
| 23286 | DEFINE_ENUM_FLAG_OPERATORS( D3D12_SHADER_CACHE_CONTROL_FLAGS ) | ||
| 23287 | |||
| 23288 | |||
| 23289 | extern RPC_IF_HANDLE __MIDL_itf_d3d12_0000_0057_v0_0_c_ifspec; | ||
| 23290 | extern RPC_IF_HANDLE __MIDL_itf_d3d12_0000_0057_v0_0_s_ifspec; | ||
| 23291 | |||
| 23292 | #ifndef __ID3D12Device9_INTERFACE_DEFINED__ | ||
| 23293 | #define __ID3D12Device9_INTERFACE_DEFINED__ | ||
| 23294 | |||
| 23295 | /* interface ID3D12Device9 */ | ||
| 23296 | /* [unique][local][object][uuid] */ | ||
| 23297 | |||
| 23298 | |||
| 23299 | EXTERN_C const IID IID_ID3D12Device9; | ||
| 23300 | |||
| 23301 | #if defined(__cplusplus) && !defined(CINTERFACE) | ||
| 23302 | |||
| 23303 | MIDL_INTERFACE("4c80e962-f032-4f60-bc9e-ebc2cfa1d83c") | ||
| 23304 | ID3D12Device9 : public ID3D12Device8 | ||
| 23305 | { | ||
| 23306 | public: | ||
| 23307 | virtual HRESULT STDMETHODCALLTYPE CreateShaderCacheSession( | ||
| 23308 | _In_ const D3D12_SHADER_CACHE_SESSION_DESC *pDesc, | ||
| 23309 | REFIID riid, | ||
| 23310 | _COM_Outptr_opt_ void **ppvSession) = 0; | ||
| 23311 | |||
| 23312 | virtual HRESULT STDMETHODCALLTYPE ShaderCacheControl( | ||
| 23313 | D3D12_SHADER_CACHE_KIND_FLAGS Kinds, | ||
| 23314 | D3D12_SHADER_CACHE_CONTROL_FLAGS Control) = 0; | ||
| 23315 | |||
| 23316 | virtual HRESULT STDMETHODCALLTYPE CreateCommandQueue1( | ||
| 23317 | _In_ const D3D12_COMMAND_QUEUE_DESC *pDesc, | ||
| 23318 | REFIID CreatorID, | ||
| 23319 | REFIID riid, | ||
| 23320 | _COM_Outptr_ void **ppCommandQueue) = 0; | ||
| 23321 | |||
| 23322 | }; | ||
| 23323 | |||
| 23324 | |||
| 23325 | #else /* C style interface */ | ||
| 23326 | |||
| 23327 | typedef struct ID3D12Device9Vtbl | ||
| 23328 | { | ||
| 23329 | BEGIN_INTERFACE | ||
| 23330 | |||
| 23331 | DECLSPEC_XFGVIRT(IUnknown, QueryInterface) | ||
| 23332 | HRESULT ( STDMETHODCALLTYPE *QueryInterface )( | ||
| 23333 | ID3D12Device9 * This, | ||
| 23334 | REFIID riid, | ||
| 23335 | _COM_Outptr_ void **ppvObject); | ||
| 23336 | |||
| 23337 | DECLSPEC_XFGVIRT(IUnknown, AddRef) | ||
| 23338 | ULONG ( STDMETHODCALLTYPE *AddRef )( | ||
| 23339 | ID3D12Device9 * This); | ||
| 23340 | |||
| 23341 | DECLSPEC_XFGVIRT(IUnknown, Release) | ||
| 23342 | ULONG ( STDMETHODCALLTYPE *Release )( | ||
| 23343 | ID3D12Device9 * This); | ||
| 23344 | |||
| 23345 | DECLSPEC_XFGVIRT(ID3D12Object, GetPrivateData) | ||
| 23346 | HRESULT ( STDMETHODCALLTYPE *GetPrivateData )( | ||
| 23347 | ID3D12Device9 * This, | ||
| 23348 | _In_ REFGUID guid, | ||
| 23349 | _Inout_ UINT *pDataSize, | ||
| 23350 | _Out_writes_bytes_opt_( *pDataSize ) void *pData); | ||
| 23351 | |||
| 23352 | DECLSPEC_XFGVIRT(ID3D12Object, SetPrivateData) | ||
| 23353 | HRESULT ( STDMETHODCALLTYPE *SetPrivateData )( | ||
| 23354 | ID3D12Device9 * This, | ||
| 23355 | _In_ REFGUID guid, | ||
| 23356 | _In_ UINT DataSize, | ||
| 23357 | _In_reads_bytes_opt_( DataSize ) const void *pData); | ||
| 23358 | |||
| 23359 | DECLSPEC_XFGVIRT(ID3D12Object, SetPrivateDataInterface) | ||
| 23360 | HRESULT ( STDMETHODCALLTYPE *SetPrivateDataInterface )( | ||
| 23361 | ID3D12Device9 * This, | ||
| 23362 | _In_ REFGUID guid, | ||
| 23363 | _In_opt_ const IUnknown *pData); | ||
| 23364 | |||
| 23365 | DECLSPEC_XFGVIRT(ID3D12Object, SetName) | ||
| 23366 | HRESULT ( STDMETHODCALLTYPE *SetName )( | ||
| 23367 | ID3D12Device9 * This, | ||
| 23368 | _In_z_ LPCWSTR Name); | ||
| 23369 | |||
| 23370 | DECLSPEC_XFGVIRT(ID3D12Device, GetNodeCount) | ||
| 23371 | UINT ( STDMETHODCALLTYPE *GetNodeCount )( | ||
| 23372 | ID3D12Device9 * This); | ||
| 23373 | |||
| 23374 | DECLSPEC_XFGVIRT(ID3D12Device, CreateCommandQueue) | ||
| 23375 | HRESULT ( STDMETHODCALLTYPE *CreateCommandQueue )( | ||
| 23376 | ID3D12Device9 * This, | ||
| 23377 | _In_ const D3D12_COMMAND_QUEUE_DESC *pDesc, | ||
| 23378 | REFIID riid, | ||
| 23379 | _COM_Outptr_ void **ppCommandQueue); | ||
| 23380 | |||
| 23381 | DECLSPEC_XFGVIRT(ID3D12Device, CreateCommandAllocator) | ||
| 23382 | HRESULT ( STDMETHODCALLTYPE *CreateCommandAllocator )( | ||
| 23383 | ID3D12Device9 * This, | ||
| 23384 | _In_ D3D12_COMMAND_LIST_TYPE type, | ||
| 23385 | REFIID riid, | ||
| 23386 | _COM_Outptr_ void **ppCommandAllocator); | ||
| 23387 | |||
| 23388 | DECLSPEC_XFGVIRT(ID3D12Device, CreateGraphicsPipelineState) | ||
| 23389 | HRESULT ( STDMETHODCALLTYPE *CreateGraphicsPipelineState )( | ||
| 23390 | ID3D12Device9 * This, | ||
| 23391 | _In_ const D3D12_GRAPHICS_PIPELINE_STATE_DESC *pDesc, | ||
| 23392 | REFIID riid, | ||
| 23393 | _COM_Outptr_ void **ppPipelineState); | ||
| 23394 | |||
| 23395 | DECLSPEC_XFGVIRT(ID3D12Device, CreateComputePipelineState) | ||
| 23396 | HRESULT ( STDMETHODCALLTYPE *CreateComputePipelineState )( | ||
| 23397 | ID3D12Device9 * This, | ||
| 23398 | _In_ const D3D12_COMPUTE_PIPELINE_STATE_DESC *pDesc, | ||
| 23399 | REFIID riid, | ||
| 23400 | _COM_Outptr_ void **ppPipelineState); | ||
| 23401 | |||
| 23402 | DECLSPEC_XFGVIRT(ID3D12Device, CreateCommandList) | ||
| 23403 | HRESULT ( STDMETHODCALLTYPE *CreateCommandList )( | ||
| 23404 | ID3D12Device9 * This, | ||
| 23405 | _In_ UINT nodeMask, | ||
| 23406 | _In_ D3D12_COMMAND_LIST_TYPE type, | ||
| 23407 | _In_ ID3D12CommandAllocator *pCommandAllocator, | ||
| 23408 | _In_opt_ ID3D12PipelineState *pInitialState, | ||
| 23409 | REFIID riid, | ||
| 23410 | _COM_Outptr_ void **ppCommandList); | ||
| 23411 | |||
| 23412 | DECLSPEC_XFGVIRT(ID3D12Device, CheckFeatureSupport) | ||
| 23413 | HRESULT ( STDMETHODCALLTYPE *CheckFeatureSupport )( | ||
| 23414 | ID3D12Device9 * This, | ||
| 23415 | D3D12_FEATURE Feature, | ||
| 23416 | _Inout_updates_bytes_(FeatureSupportDataSize) void *pFeatureSupportData, | ||
| 23417 | UINT FeatureSupportDataSize); | ||
| 23418 | |||
| 23419 | DECLSPEC_XFGVIRT(ID3D12Device, CreateDescriptorHeap) | ||
| 23420 | HRESULT ( STDMETHODCALLTYPE *CreateDescriptorHeap )( | ||
| 23421 | ID3D12Device9 * This, | ||
| 23422 | _In_ const D3D12_DESCRIPTOR_HEAP_DESC *pDescriptorHeapDesc, | ||
| 23423 | REFIID riid, | ||
| 23424 | _COM_Outptr_ void **ppvHeap); | ||
| 23425 | |||
| 23426 | DECLSPEC_XFGVIRT(ID3D12Device, GetDescriptorHandleIncrementSize) | ||
| 23427 | UINT ( STDMETHODCALLTYPE *GetDescriptorHandleIncrementSize )( | ||
| 23428 | ID3D12Device9 * This, | ||
| 23429 | _In_ D3D12_DESCRIPTOR_HEAP_TYPE DescriptorHeapType); | ||
| 23430 | |||
| 23431 | DECLSPEC_XFGVIRT(ID3D12Device, CreateRootSignature) | ||
| 23432 | HRESULT ( STDMETHODCALLTYPE *CreateRootSignature )( | ||
| 23433 | ID3D12Device9 * This, | ||
| 23434 | _In_ UINT nodeMask, | ||
| 23435 | _In_reads_(blobLengthInBytes) const void *pBlobWithRootSignature, | ||
| 23436 | _In_ SIZE_T blobLengthInBytes, | ||
| 23437 | REFIID riid, | ||
| 23438 | _COM_Outptr_ void **ppvRootSignature); | ||
| 23439 | |||
| 23440 | DECLSPEC_XFGVIRT(ID3D12Device, CreateConstantBufferView) | ||
| 23441 | void ( STDMETHODCALLTYPE *CreateConstantBufferView )( | ||
| 23442 | ID3D12Device9 * This, | ||
| 23443 | _In_opt_ const D3D12_CONSTANT_BUFFER_VIEW_DESC *pDesc, | ||
| 23444 | _In_ D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor); | ||
| 23445 | |||
| 23446 | DECLSPEC_XFGVIRT(ID3D12Device, CreateShaderResourceView) | ||
| 23447 | void ( STDMETHODCALLTYPE *CreateShaderResourceView )( | ||
| 23448 | ID3D12Device9 * This, | ||
| 23449 | _In_opt_ ID3D12Resource *pResource, | ||
| 23450 | _In_opt_ const D3D12_SHADER_RESOURCE_VIEW_DESC *pDesc, | ||
| 23451 | _In_ D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor); | ||
| 23452 | |||
| 23453 | DECLSPEC_XFGVIRT(ID3D12Device, CreateUnorderedAccessView) | ||
| 23454 | void ( STDMETHODCALLTYPE *CreateUnorderedAccessView )( | ||
| 23455 | ID3D12Device9 * This, | ||
| 23456 | _In_opt_ ID3D12Resource *pResource, | ||
| 23457 | _In_opt_ ID3D12Resource *pCounterResource, | ||
| 23458 | _In_opt_ const D3D12_UNORDERED_ACCESS_VIEW_DESC *pDesc, | ||
| 23459 | _In_ D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor); | ||
| 23460 | |||
| 23461 | DECLSPEC_XFGVIRT(ID3D12Device, CreateRenderTargetView) | ||
| 23462 | void ( STDMETHODCALLTYPE *CreateRenderTargetView )( | ||
| 23463 | ID3D12Device9 * This, | ||
| 23464 | _In_opt_ ID3D12Resource *pResource, | ||
| 23465 | _In_opt_ const D3D12_RENDER_TARGET_VIEW_DESC *pDesc, | ||
| 23466 | _In_ D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor); | ||
| 23467 | |||
| 23468 | DECLSPEC_XFGVIRT(ID3D12Device, CreateDepthStencilView) | ||
| 23469 | void ( STDMETHODCALLTYPE *CreateDepthStencilView )( | ||
| 23470 | ID3D12Device9 * This, | ||
| 23471 | _In_opt_ ID3D12Resource *pResource, | ||
| 23472 | _In_opt_ const D3D12_DEPTH_STENCIL_VIEW_DESC *pDesc, | ||
| 23473 | _In_ D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor); | ||
| 23474 | |||
| 23475 | DECLSPEC_XFGVIRT(ID3D12Device, CreateSampler) | ||
| 23476 | void ( STDMETHODCALLTYPE *CreateSampler )( | ||
| 23477 | ID3D12Device9 * This, | ||
| 23478 | _In_ const D3D12_SAMPLER_DESC *pDesc, | ||
| 23479 | _In_ D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor); | ||
| 23480 | |||
| 23481 | DECLSPEC_XFGVIRT(ID3D12Device, CopyDescriptors) | ||
| 23482 | void ( STDMETHODCALLTYPE *CopyDescriptors )( | ||
| 23483 | ID3D12Device9 * This, | ||
| 23484 | _In_ UINT NumDestDescriptorRanges, | ||
| 23485 | _In_reads_(NumDestDescriptorRanges) const D3D12_CPU_DESCRIPTOR_HANDLE *pDestDescriptorRangeStarts, | ||
| 23486 | _In_reads_opt_(NumDestDescriptorRanges) const UINT *pDestDescriptorRangeSizes, | ||
| 23487 | _In_ UINT NumSrcDescriptorRanges, | ||
| 23488 | _In_reads_(NumSrcDescriptorRanges) const D3D12_CPU_DESCRIPTOR_HANDLE *pSrcDescriptorRangeStarts, | ||
| 23489 | _In_reads_opt_(NumSrcDescriptorRanges) const UINT *pSrcDescriptorRangeSizes, | ||
| 23490 | _In_ D3D12_DESCRIPTOR_HEAP_TYPE DescriptorHeapsType); | ||
| 23491 | |||
| 23492 | DECLSPEC_XFGVIRT(ID3D12Device, CopyDescriptorsSimple) | ||
| 23493 | void ( STDMETHODCALLTYPE *CopyDescriptorsSimple )( | ||
| 23494 | ID3D12Device9 * This, | ||
| 23495 | _In_ UINT NumDescriptors, | ||
| 23496 | _In_ D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptorRangeStart, | ||
| 23497 | _In_ D3D12_CPU_DESCRIPTOR_HANDLE SrcDescriptorRangeStart, | ||
| 23498 | _In_ D3D12_DESCRIPTOR_HEAP_TYPE DescriptorHeapsType); | ||
| 23499 | |||
| 23500 | DECLSPEC_XFGVIRT(ID3D12Device, GetResourceAllocationInfo) | ||
| 23501 | #if !defined(_WIN32) | ||
| 23502 | D3D12_RESOURCE_ALLOCATION_INFO ( STDMETHODCALLTYPE *GetResourceAllocationInfo )( | ||
| 23503 | ID3D12Device9 * This, | ||
| 23504 | _In_ UINT visibleMask, | ||
| 23505 | _In_ UINT numResourceDescs, | ||
| 23506 | _In_reads_(numResourceDescs) const D3D12_RESOURCE_DESC *pResourceDescs); | ||
| 23507 | |||
| 23508 | #else | ||
| 23509 | D3D12_RESOURCE_ALLOCATION_INFO *( STDMETHODCALLTYPE *GetResourceAllocationInfo )( | ||
| 23510 | ID3D12Device9 * This, | ||
| 23511 | D3D12_RESOURCE_ALLOCATION_INFO * RetVal, | ||
| 23512 | _In_ UINT visibleMask, | ||
| 23513 | _In_ UINT numResourceDescs, | ||
| 23514 | _In_reads_(numResourceDescs) const D3D12_RESOURCE_DESC *pResourceDescs); | ||
| 23515 | |||
| 23516 | #endif | ||
| 23517 | |||
| 23518 | DECLSPEC_XFGVIRT(ID3D12Device, GetCustomHeapProperties) | ||
| 23519 | #if !defined(_WIN32) | ||
| 23520 | D3D12_HEAP_PROPERTIES ( STDMETHODCALLTYPE *GetCustomHeapProperties )( | ||
| 23521 | ID3D12Device9 * This, | ||
| 23522 | _In_ UINT nodeMask, | ||
| 23523 | D3D12_HEAP_TYPE heapType); | ||
| 23524 | |||
| 23525 | #else | ||
| 23526 | D3D12_HEAP_PROPERTIES *( STDMETHODCALLTYPE *GetCustomHeapProperties )( | ||
| 23527 | ID3D12Device9 * This, | ||
| 23528 | D3D12_HEAP_PROPERTIES * RetVal, | ||
| 23529 | _In_ UINT nodeMask, | ||
| 23530 | D3D12_HEAP_TYPE heapType); | ||
| 23531 | |||
| 23532 | #endif | ||
| 23533 | |||
| 23534 | DECLSPEC_XFGVIRT(ID3D12Device, CreateCommittedResource) | ||
| 23535 | HRESULT ( STDMETHODCALLTYPE *CreateCommittedResource )( | ||
| 23536 | ID3D12Device9 * This, | ||
| 23537 | _In_ const D3D12_HEAP_PROPERTIES *pHeapProperties, | ||
| 23538 | D3D12_HEAP_FLAGS HeapFlags, | ||
| 23539 | _In_ const D3D12_RESOURCE_DESC *pDesc, | ||
| 23540 | D3D12_RESOURCE_STATES InitialResourceState, | ||
| 23541 | _In_opt_ const D3D12_CLEAR_VALUE *pOptimizedClearValue, | ||
| 23542 | REFIID riidResource, | ||
| 23543 | _COM_Outptr_opt_ void **ppvResource); | ||
| 23544 | |||
| 23545 | DECLSPEC_XFGVIRT(ID3D12Device, CreateHeap) | ||
| 23546 | HRESULT ( STDMETHODCALLTYPE *CreateHeap )( | ||
| 23547 | ID3D12Device9 * This, | ||
| 23548 | _In_ const D3D12_HEAP_DESC *pDesc, | ||
| 23549 | REFIID riid, | ||
| 23550 | _COM_Outptr_opt_ void **ppvHeap); | ||
| 23551 | |||
| 23552 | DECLSPEC_XFGVIRT(ID3D12Device, CreatePlacedResource) | ||
| 23553 | HRESULT ( STDMETHODCALLTYPE *CreatePlacedResource )( | ||
| 23554 | ID3D12Device9 * This, | ||
| 23555 | _In_ ID3D12Heap *pHeap, | ||
| 23556 | UINT64 HeapOffset, | ||
| 23557 | _In_ const D3D12_RESOURCE_DESC *pDesc, | ||
| 23558 | D3D12_RESOURCE_STATES InitialState, | ||
| 23559 | _In_opt_ const D3D12_CLEAR_VALUE *pOptimizedClearValue, | ||
| 23560 | REFIID riid, | ||
| 23561 | _COM_Outptr_opt_ void **ppvResource); | ||
| 23562 | |||
| 23563 | DECLSPEC_XFGVIRT(ID3D12Device, CreateReservedResource) | ||
| 23564 | HRESULT ( STDMETHODCALLTYPE *CreateReservedResource )( | ||
| 23565 | ID3D12Device9 * This, | ||
| 23566 | _In_ const D3D12_RESOURCE_DESC *pDesc, | ||
| 23567 | D3D12_RESOURCE_STATES InitialState, | ||
| 23568 | _In_opt_ const D3D12_CLEAR_VALUE *pOptimizedClearValue, | ||
| 23569 | REFIID riid, | ||
| 23570 | _COM_Outptr_opt_ void **ppvResource); | ||
| 23571 | |||
| 23572 | DECLSPEC_XFGVIRT(ID3D12Device, CreateSharedHandle) | ||
| 23573 | HRESULT ( STDMETHODCALLTYPE *CreateSharedHandle )( | ||
| 23574 | ID3D12Device9 * This, | ||
| 23575 | _In_ ID3D12DeviceChild *pObject, | ||
| 23576 | _In_opt_ const SECURITY_ATTRIBUTES *pAttributes, | ||
| 23577 | DWORD Access, | ||
| 23578 | _In_opt_ LPCWSTR Name, | ||
| 23579 | _Out_ HANDLE *pHandle); | ||
| 23580 | |||
| 23581 | DECLSPEC_XFGVIRT(ID3D12Device, OpenSharedHandle) | ||
| 23582 | HRESULT ( STDMETHODCALLTYPE *OpenSharedHandle )( | ||
| 23583 | ID3D12Device9 * This, | ||
| 23584 | _In_ HANDLE NTHandle, | ||
| 23585 | REFIID riid, | ||
| 23586 | _COM_Outptr_opt_ void **ppvObj); | ||
| 23587 | |||
| 23588 | DECLSPEC_XFGVIRT(ID3D12Device, OpenSharedHandleByName) | ||
| 23589 | HRESULT ( STDMETHODCALLTYPE *OpenSharedHandleByName )( | ||
| 23590 | ID3D12Device9 * This, | ||
| 23591 | _In_ LPCWSTR Name, | ||
| 23592 | DWORD Access, | ||
| 23593 | /* [annotation][out] */ | ||
| 23594 | _Out_ HANDLE *pNTHandle); | ||
| 23595 | |||
| 23596 | DECLSPEC_XFGVIRT(ID3D12Device, MakeResident) | ||
| 23597 | HRESULT ( STDMETHODCALLTYPE *MakeResident )( | ||
| 23598 | ID3D12Device9 * This, | ||
| 23599 | UINT NumObjects, | ||
| 23600 | _In_reads_(NumObjects) ID3D12Pageable *const *ppObjects); | ||
| 23601 | |||
| 23602 | DECLSPEC_XFGVIRT(ID3D12Device, Evict) | ||
| 23603 | HRESULT ( STDMETHODCALLTYPE *Evict )( | ||
| 23604 | ID3D12Device9 * This, | ||
| 23605 | UINT NumObjects, | ||
| 23606 | _In_reads_(NumObjects) ID3D12Pageable *const *ppObjects); | ||
| 23607 | |||
| 23608 | DECLSPEC_XFGVIRT(ID3D12Device, CreateFence) | ||
| 23609 | HRESULT ( STDMETHODCALLTYPE *CreateFence )( | ||
| 23610 | ID3D12Device9 * This, | ||
| 23611 | UINT64 InitialValue, | ||
| 23612 | D3D12_FENCE_FLAGS Flags, | ||
| 23613 | REFIID riid, | ||
| 23614 | _COM_Outptr_ void **ppFence); | ||
| 23615 | |||
| 23616 | DECLSPEC_XFGVIRT(ID3D12Device, GetDeviceRemovedReason) | ||
| 23617 | HRESULT ( STDMETHODCALLTYPE *GetDeviceRemovedReason )( | ||
| 23618 | ID3D12Device9 * This); | ||
| 23619 | |||
| 23620 | DECLSPEC_XFGVIRT(ID3D12Device, GetCopyableFootprints) | ||
| 23621 | void ( STDMETHODCALLTYPE *GetCopyableFootprints )( | ||
| 23622 | ID3D12Device9 * This, | ||
| 23623 | _In_ const D3D12_RESOURCE_DESC *pResourceDesc, | ||
| 23624 | _In_range_(0,D3D12_REQ_SUBRESOURCES) UINT FirstSubresource, | ||
| 23625 | _In_range_(0,D3D12_REQ_SUBRESOURCES-FirstSubresource) UINT NumSubresources, | ||
| 23626 | UINT64 BaseOffset, | ||
| 23627 | _Out_writes_opt_(NumSubresources) D3D12_PLACED_SUBRESOURCE_FOOTPRINT *pLayouts, | ||
| 23628 | _Out_writes_opt_(NumSubresources) UINT *pNumRows, | ||
| 23629 | _Out_writes_opt_(NumSubresources) UINT64 *pRowSizeInBytes, | ||
| 23630 | _Out_opt_ UINT64 *pTotalBytes); | ||
| 23631 | |||
| 23632 | DECLSPEC_XFGVIRT(ID3D12Device, CreateQueryHeap) | ||
| 23633 | HRESULT ( STDMETHODCALLTYPE *CreateQueryHeap )( | ||
| 23634 | ID3D12Device9 * This, | ||
| 23635 | _In_ const D3D12_QUERY_HEAP_DESC *pDesc, | ||
| 23636 | REFIID riid, | ||
| 23637 | _COM_Outptr_opt_ void **ppvHeap); | ||
| 23638 | |||
| 23639 | DECLSPEC_XFGVIRT(ID3D12Device, SetStablePowerState) | ||
| 23640 | HRESULT ( STDMETHODCALLTYPE *SetStablePowerState )( | ||
| 23641 | ID3D12Device9 * This, | ||
| 23642 | BOOL Enable); | ||
| 23643 | |||
| 23644 | DECLSPEC_XFGVIRT(ID3D12Device, CreateCommandSignature) | ||
| 23645 | HRESULT ( STDMETHODCALLTYPE *CreateCommandSignature )( | ||
| 23646 | ID3D12Device9 * This, | ||
| 23647 | _In_ const D3D12_COMMAND_SIGNATURE_DESC *pDesc, | ||
| 23648 | _In_opt_ ID3D12RootSignature *pRootSignature, | ||
| 23649 | REFIID riid, | ||
| 23650 | _COM_Outptr_opt_ void **ppvCommandSignature); | ||
| 23651 | |||
| 23652 | DECLSPEC_XFGVIRT(ID3D12Device, GetResourceTiling) | ||
| 23653 | void ( STDMETHODCALLTYPE *GetResourceTiling )( | ||
| 23654 | ID3D12Device9 * This, | ||
| 23655 | _In_ ID3D12Resource *pTiledResource, | ||
| 23656 | _Out_opt_ UINT *pNumTilesForEntireResource, | ||
| 23657 | _Out_opt_ D3D12_PACKED_MIP_INFO *pPackedMipDesc, | ||
| 23658 | _Out_opt_ D3D12_TILE_SHAPE *pStandardTileShapeForNonPackedMips, | ||
| 23659 | _Inout_opt_ UINT *pNumSubresourceTilings, | ||
| 23660 | _In_ UINT FirstSubresourceTilingToGet, | ||
| 23661 | _Out_writes_(*pNumSubresourceTilings) D3D12_SUBRESOURCE_TILING *pSubresourceTilingsForNonPackedMips); | ||
| 23662 | |||
| 23663 | DECLSPEC_XFGVIRT(ID3D12Device, GetAdapterLuid) | ||
| 23664 | #if !defined(_WIN32) | ||
| 23665 | LUID ( STDMETHODCALLTYPE *GetAdapterLuid )( | ||
| 23666 | ID3D12Device9 * This); | ||
| 23667 | |||
| 23668 | #else | ||
| 23669 | LUID *( STDMETHODCALLTYPE *GetAdapterLuid )( | ||
| 23670 | ID3D12Device9 * This, | ||
| 23671 | LUID * RetVal); | ||
| 23672 | |||
| 23673 | #endif | ||
| 23674 | |||
| 23675 | DECLSPEC_XFGVIRT(ID3D12Device1, CreatePipelineLibrary) | ||
| 23676 | HRESULT ( STDMETHODCALLTYPE *CreatePipelineLibrary )( | ||
| 23677 | ID3D12Device9 * This, | ||
| 23678 | _In_reads_(BlobLength) const void *pLibraryBlob, | ||
| 23679 | SIZE_T BlobLength, | ||
| 23680 | REFIID riid, | ||
| 23681 | _COM_Outptr_ void **ppPipelineLibrary); | ||
| 23682 | |||
| 23683 | DECLSPEC_XFGVIRT(ID3D12Device1, SetEventOnMultipleFenceCompletion) | ||
| 23684 | HRESULT ( STDMETHODCALLTYPE *SetEventOnMultipleFenceCompletion )( | ||
| 23685 | ID3D12Device9 * This, | ||
| 23686 | _In_reads_(NumFences) ID3D12Fence *const *ppFences, | ||
| 23687 | _In_reads_(NumFences) const UINT64 *pFenceValues, | ||
| 23688 | UINT NumFences, | ||
| 23689 | D3D12_MULTIPLE_FENCE_WAIT_FLAGS Flags, | ||
| 23690 | HANDLE hEvent); | ||
| 23691 | |||
| 23692 | DECLSPEC_XFGVIRT(ID3D12Device1, SetResidencyPriority) | ||
| 23693 | HRESULT ( STDMETHODCALLTYPE *SetResidencyPriority )( | ||
| 23694 | ID3D12Device9 * This, | ||
| 23695 | UINT NumObjects, | ||
| 23696 | _In_reads_(NumObjects) ID3D12Pageable *const *ppObjects, | ||
| 23697 | _In_reads_(NumObjects) const D3D12_RESIDENCY_PRIORITY *pPriorities); | ||
| 23698 | |||
| 23699 | DECLSPEC_XFGVIRT(ID3D12Device2, CreatePipelineState) | ||
| 23700 | HRESULT ( STDMETHODCALLTYPE *CreatePipelineState )( | ||
| 23701 | ID3D12Device9 * This, | ||
| 23702 | const D3D12_PIPELINE_STATE_STREAM_DESC *pDesc, | ||
| 23703 | REFIID riid, | ||
| 23704 | _COM_Outptr_ void **ppPipelineState); | ||
| 23705 | |||
| 23706 | DECLSPEC_XFGVIRT(ID3D12Device3, OpenExistingHeapFromAddress) | ||
| 23707 | HRESULT ( STDMETHODCALLTYPE *OpenExistingHeapFromAddress )( | ||
| 23708 | ID3D12Device9 * This, | ||
| 23709 | _In_ const void *pAddress, | ||
| 23710 | REFIID riid, | ||
| 23711 | _COM_Outptr_ void **ppvHeap); | ||
| 23712 | |||
| 23713 | DECLSPEC_XFGVIRT(ID3D12Device3, OpenExistingHeapFromFileMapping) | ||
| 23714 | HRESULT ( STDMETHODCALLTYPE *OpenExistingHeapFromFileMapping )( | ||
| 23715 | ID3D12Device9 * This, | ||
| 23716 | _In_ HANDLE hFileMapping, | ||
| 23717 | REFIID riid, | ||
| 23718 | _COM_Outptr_ void **ppvHeap); | ||
| 23719 | |||
| 23720 | DECLSPEC_XFGVIRT(ID3D12Device3, EnqueueMakeResident) | ||
| 23721 | HRESULT ( STDMETHODCALLTYPE *EnqueueMakeResident )( | ||
| 23722 | ID3D12Device9 * This, | ||
| 23723 | D3D12_RESIDENCY_FLAGS Flags, | ||
| 23724 | UINT NumObjects, | ||
| 23725 | _In_reads_(NumObjects) ID3D12Pageable *const *ppObjects, | ||
| 23726 | _In_ ID3D12Fence *pFenceToSignal, | ||
| 23727 | UINT64 FenceValueToSignal); | ||
| 23728 | |||
| 23729 | DECLSPEC_XFGVIRT(ID3D12Device4, CreateCommandList1) | ||
| 23730 | HRESULT ( STDMETHODCALLTYPE *CreateCommandList1 )( | ||
| 23731 | ID3D12Device9 * This, | ||
| 23732 | _In_ UINT nodeMask, | ||
| 23733 | _In_ D3D12_COMMAND_LIST_TYPE type, | ||
| 23734 | _In_ D3D12_COMMAND_LIST_FLAGS flags, | ||
| 23735 | REFIID riid, | ||
| 23736 | _COM_Outptr_ void **ppCommandList); | ||
| 23737 | |||
| 23738 | DECLSPEC_XFGVIRT(ID3D12Device4, CreateProtectedResourceSession) | ||
| 23739 | HRESULT ( STDMETHODCALLTYPE *CreateProtectedResourceSession )( | ||
| 23740 | ID3D12Device9 * This, | ||
| 23741 | _In_ const D3D12_PROTECTED_RESOURCE_SESSION_DESC *pDesc, | ||
| 23742 | _In_ REFIID riid, | ||
| 23743 | _COM_Outptr_ void **ppSession); | ||
| 23744 | |||
| 23745 | DECLSPEC_XFGVIRT(ID3D12Device4, CreateCommittedResource1) | ||
| 23746 | HRESULT ( STDMETHODCALLTYPE *CreateCommittedResource1 )( | ||
| 23747 | ID3D12Device9 * This, | ||
| 23748 | _In_ const D3D12_HEAP_PROPERTIES *pHeapProperties, | ||
| 23749 | D3D12_HEAP_FLAGS HeapFlags, | ||
| 23750 | _In_ const D3D12_RESOURCE_DESC *pDesc, | ||
| 23751 | D3D12_RESOURCE_STATES InitialResourceState, | ||
| 23752 | _In_opt_ const D3D12_CLEAR_VALUE *pOptimizedClearValue, | ||
| 23753 | _In_opt_ ID3D12ProtectedResourceSession *pProtectedSession, | ||
| 23754 | REFIID riidResource, | ||
| 23755 | _COM_Outptr_opt_ void **ppvResource); | ||
| 23756 | |||
| 23757 | DECLSPEC_XFGVIRT(ID3D12Device4, CreateHeap1) | ||
| 23758 | HRESULT ( STDMETHODCALLTYPE *CreateHeap1 )( | ||
| 23759 | ID3D12Device9 * This, | ||
| 23760 | _In_ const D3D12_HEAP_DESC *pDesc, | ||
| 23761 | _In_opt_ ID3D12ProtectedResourceSession *pProtectedSession, | ||
| 23762 | REFIID riid, | ||
| 23763 | _COM_Outptr_opt_ void **ppvHeap); | ||
| 23764 | |||
| 23765 | DECLSPEC_XFGVIRT(ID3D12Device4, CreateReservedResource1) | ||
| 23766 | HRESULT ( STDMETHODCALLTYPE *CreateReservedResource1 )( | ||
| 23767 | ID3D12Device9 * This, | ||
| 23768 | _In_ const D3D12_RESOURCE_DESC *pDesc, | ||
| 23769 | D3D12_RESOURCE_STATES InitialState, | ||
| 23770 | _In_opt_ const D3D12_CLEAR_VALUE *pOptimizedClearValue, | ||
| 23771 | _In_opt_ ID3D12ProtectedResourceSession *pProtectedSession, | ||
| 23772 | REFIID riid, | ||
| 23773 | _COM_Outptr_opt_ void **ppvResource); | ||
| 23774 | |||
| 23775 | DECLSPEC_XFGVIRT(ID3D12Device4, GetResourceAllocationInfo1) | ||
| 23776 | #if !defined(_WIN32) | ||
| 23777 | D3D12_RESOURCE_ALLOCATION_INFO ( STDMETHODCALLTYPE *GetResourceAllocationInfo1 )( | ||
| 23778 | ID3D12Device9 * This, | ||
| 23779 | UINT visibleMask, | ||
| 23780 | UINT numResourceDescs, | ||
| 23781 | _In_reads_(numResourceDescs) const D3D12_RESOURCE_DESC *pResourceDescs, | ||
| 23782 | _Out_writes_opt_(numResourceDescs) D3D12_RESOURCE_ALLOCATION_INFO1 *pResourceAllocationInfo1); | ||
| 23783 | |||
| 23784 | #else | ||
| 23785 | D3D12_RESOURCE_ALLOCATION_INFO *( STDMETHODCALLTYPE *GetResourceAllocationInfo1 )( | ||
| 23786 | ID3D12Device9 * This, | ||
| 23787 | D3D12_RESOURCE_ALLOCATION_INFO * RetVal, | ||
| 23788 | UINT visibleMask, | ||
| 23789 | UINT numResourceDescs, | ||
| 23790 | _In_reads_(numResourceDescs) const D3D12_RESOURCE_DESC *pResourceDescs, | ||
| 23791 | _Out_writes_opt_(numResourceDescs) D3D12_RESOURCE_ALLOCATION_INFO1 *pResourceAllocationInfo1); | ||
| 23792 | |||
| 23793 | #endif | ||
| 23794 | |||
| 23795 | DECLSPEC_XFGVIRT(ID3D12Device5, CreateLifetimeTracker) | ||
| 23796 | HRESULT ( STDMETHODCALLTYPE *CreateLifetimeTracker )( | ||
| 23797 | ID3D12Device9 * This, | ||
| 23798 | _In_ ID3D12LifetimeOwner *pOwner, | ||
| 23799 | REFIID riid, | ||
| 23800 | _COM_Outptr_ void **ppvTracker); | ||
| 23801 | |||
| 23802 | DECLSPEC_XFGVIRT(ID3D12Device5, RemoveDevice) | ||
| 23803 | void ( STDMETHODCALLTYPE *RemoveDevice )( | ||
| 23804 | ID3D12Device9 * This); | ||
| 23805 | |||
| 23806 | DECLSPEC_XFGVIRT(ID3D12Device5, EnumerateMetaCommands) | ||
| 23807 | HRESULT ( STDMETHODCALLTYPE *EnumerateMetaCommands )( | ||
| 23808 | ID3D12Device9 * This, | ||
| 23809 | _Inout_ UINT *pNumMetaCommands, | ||
| 23810 | _Out_writes_opt_(*pNumMetaCommands) D3D12_META_COMMAND_DESC *pDescs); | ||
| 23811 | |||
| 23812 | DECLSPEC_XFGVIRT(ID3D12Device5, EnumerateMetaCommandParameters) | ||
| 23813 | HRESULT ( STDMETHODCALLTYPE *EnumerateMetaCommandParameters )( | ||
| 23814 | ID3D12Device9 * This, | ||
| 23815 | _In_ REFGUID CommandId, | ||
| 23816 | _In_ D3D12_META_COMMAND_PARAMETER_STAGE Stage, | ||
| 23817 | _Out_opt_ UINT *pTotalStructureSizeInBytes, | ||
| 23818 | _Inout_ UINT *pParameterCount, | ||
| 23819 | _Out_writes_opt_(*pParameterCount) D3D12_META_COMMAND_PARAMETER_DESC *pParameterDescs); | ||
| 23820 | |||
| 23821 | DECLSPEC_XFGVIRT(ID3D12Device5, CreateMetaCommand) | ||
| 23822 | HRESULT ( STDMETHODCALLTYPE *CreateMetaCommand )( | ||
| 23823 | ID3D12Device9 * This, | ||
| 23824 | _In_ REFGUID CommandId, | ||
| 23825 | _In_ UINT NodeMask, | ||
| 23826 | _In_reads_bytes_opt_(CreationParametersDataSizeInBytes) const void *pCreationParametersData, | ||
| 23827 | _In_ SIZE_T CreationParametersDataSizeInBytes, | ||
| 23828 | REFIID riid, | ||
| 23829 | _COM_Outptr_ void **ppMetaCommand); | ||
| 23830 | |||
| 23831 | DECLSPEC_XFGVIRT(ID3D12Device5, CreateStateObject) | ||
| 23832 | HRESULT ( STDMETHODCALLTYPE *CreateStateObject )( | ||
| 23833 | ID3D12Device9 * This, | ||
| 23834 | const D3D12_STATE_OBJECT_DESC *pDesc, | ||
| 23835 | REFIID riid, | ||
| 23836 | _COM_Outptr_ void **ppStateObject); | ||
| 23837 | |||
| 23838 | DECLSPEC_XFGVIRT(ID3D12Device5, GetRaytracingAccelerationStructurePrebuildInfo) | ||
| 23839 | void ( STDMETHODCALLTYPE *GetRaytracingAccelerationStructurePrebuildInfo )( | ||
| 23840 | ID3D12Device9 * This, | ||
| 23841 | _In_ const D3D12_BUILD_RAYTRACING_ACCELERATION_STRUCTURE_INPUTS *pDesc, | ||
| 23842 | _Out_ D3D12_RAYTRACING_ACCELERATION_STRUCTURE_PREBUILD_INFO *pInfo); | ||
| 23843 | |||
| 23844 | DECLSPEC_XFGVIRT(ID3D12Device5, CheckDriverMatchingIdentifier) | ||
| 23845 | D3D12_DRIVER_MATCHING_IDENTIFIER_STATUS ( STDMETHODCALLTYPE *CheckDriverMatchingIdentifier )( | ||
| 23846 | ID3D12Device9 * This, | ||
| 23847 | _In_ D3D12_SERIALIZED_DATA_TYPE SerializedDataType, | ||
| 23848 | _In_ const D3D12_SERIALIZED_DATA_DRIVER_MATCHING_IDENTIFIER *pIdentifierToCheck); | ||
| 23849 | |||
| 23850 | DECLSPEC_XFGVIRT(ID3D12Device6, SetBackgroundProcessingMode) | ||
| 23851 | HRESULT ( STDMETHODCALLTYPE *SetBackgroundProcessingMode )( | ||
| 23852 | ID3D12Device9 * This, | ||
| 23853 | D3D12_BACKGROUND_PROCESSING_MODE Mode, | ||
| 23854 | D3D12_MEASUREMENTS_ACTION MeasurementsAction, | ||
| 23855 | _In_opt_ HANDLE hEventToSignalUponCompletion, | ||
| 23856 | _Out_opt_ BOOL *pbFurtherMeasurementsDesired); | ||
| 23857 | |||
| 23858 | DECLSPEC_XFGVIRT(ID3D12Device7, AddToStateObject) | ||
| 23859 | HRESULT ( STDMETHODCALLTYPE *AddToStateObject )( | ||
| 23860 | ID3D12Device9 * This, | ||
| 23861 | const D3D12_STATE_OBJECT_DESC *pAddition, | ||
| 23862 | ID3D12StateObject *pStateObjectToGrowFrom, | ||
| 23863 | REFIID riid, | ||
| 23864 | _COM_Outptr_ void **ppNewStateObject); | ||
| 23865 | |||
| 23866 | DECLSPEC_XFGVIRT(ID3D12Device7, CreateProtectedResourceSession1) | ||
| 23867 | HRESULT ( STDMETHODCALLTYPE *CreateProtectedResourceSession1 )( | ||
| 23868 | ID3D12Device9 * This, | ||
| 23869 | _In_ const D3D12_PROTECTED_RESOURCE_SESSION_DESC1 *pDesc, | ||
| 23870 | _In_ REFIID riid, | ||
| 23871 | _COM_Outptr_ void **ppSession); | ||
| 23872 | |||
| 23873 | DECLSPEC_XFGVIRT(ID3D12Device8, GetResourceAllocationInfo2) | ||
| 23874 | #if !defined(_WIN32) | ||
| 23875 | D3D12_RESOURCE_ALLOCATION_INFO ( STDMETHODCALLTYPE *GetResourceAllocationInfo2 )( | ||
| 23876 | ID3D12Device9 * This, | ||
| 23877 | UINT visibleMask, | ||
| 23878 | UINT numResourceDescs, | ||
| 23879 | _In_reads_(numResourceDescs) const D3D12_RESOURCE_DESC1 *pResourceDescs, | ||
| 23880 | _Out_writes_opt_(numResourceDescs) D3D12_RESOURCE_ALLOCATION_INFO1 *pResourceAllocationInfo1); | ||
| 23881 | |||
| 23882 | #else | ||
| 23883 | D3D12_RESOURCE_ALLOCATION_INFO *( STDMETHODCALLTYPE *GetResourceAllocationInfo2 )( | ||
| 23884 | ID3D12Device9 * This, | ||
| 23885 | D3D12_RESOURCE_ALLOCATION_INFO * RetVal, | ||
| 23886 | UINT visibleMask, | ||
| 23887 | UINT numResourceDescs, | ||
| 23888 | _In_reads_(numResourceDescs) const D3D12_RESOURCE_DESC1 *pResourceDescs, | ||
| 23889 | _Out_writes_opt_(numResourceDescs) D3D12_RESOURCE_ALLOCATION_INFO1 *pResourceAllocationInfo1); | ||
| 23890 | |||
| 23891 | #endif | ||
| 23892 | |||
| 23893 | DECLSPEC_XFGVIRT(ID3D12Device8, CreateCommittedResource2) | ||
| 23894 | HRESULT ( STDMETHODCALLTYPE *CreateCommittedResource2 )( | ||
| 23895 | ID3D12Device9 * This, | ||
| 23896 | _In_ const D3D12_HEAP_PROPERTIES *pHeapProperties, | ||
| 23897 | D3D12_HEAP_FLAGS HeapFlags, | ||
| 23898 | _In_ const D3D12_RESOURCE_DESC1 *pDesc, | ||
| 23899 | D3D12_RESOURCE_STATES InitialResourceState, | ||
| 23900 | _In_opt_ const D3D12_CLEAR_VALUE *pOptimizedClearValue, | ||
| 23901 | _In_opt_ ID3D12ProtectedResourceSession *pProtectedSession, | ||
| 23902 | REFIID riidResource, | ||
| 23903 | _COM_Outptr_opt_ void **ppvResource); | ||
| 23904 | |||
| 23905 | DECLSPEC_XFGVIRT(ID3D12Device8, CreatePlacedResource1) | ||
| 23906 | HRESULT ( STDMETHODCALLTYPE *CreatePlacedResource1 )( | ||
| 23907 | ID3D12Device9 * This, | ||
| 23908 | _In_ ID3D12Heap *pHeap, | ||
| 23909 | UINT64 HeapOffset, | ||
| 23910 | _In_ const D3D12_RESOURCE_DESC1 *pDesc, | ||
| 23911 | D3D12_RESOURCE_STATES InitialState, | ||
| 23912 | _In_opt_ const D3D12_CLEAR_VALUE *pOptimizedClearValue, | ||
| 23913 | REFIID riid, | ||
| 23914 | _COM_Outptr_opt_ void **ppvResource); | ||
| 23915 | |||
| 23916 | DECLSPEC_XFGVIRT(ID3D12Device8, CreateSamplerFeedbackUnorderedAccessView) | ||
| 23917 | void ( STDMETHODCALLTYPE *CreateSamplerFeedbackUnorderedAccessView )( | ||
| 23918 | ID3D12Device9 * This, | ||
| 23919 | _In_opt_ ID3D12Resource *pTargetedResource, | ||
| 23920 | _In_opt_ ID3D12Resource *pFeedbackResource, | ||
| 23921 | _In_ D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor); | ||
| 23922 | |||
| 23923 | DECLSPEC_XFGVIRT(ID3D12Device8, GetCopyableFootprints1) | ||
| 23924 | void ( STDMETHODCALLTYPE *GetCopyableFootprints1 )( | ||
| 23925 | ID3D12Device9 * This, | ||
| 23926 | _In_ const D3D12_RESOURCE_DESC1 *pResourceDesc, | ||
| 23927 | _In_range_(0,D3D12_REQ_SUBRESOURCES) UINT FirstSubresource, | ||
| 23928 | _In_range_(0,D3D12_REQ_SUBRESOURCES-FirstSubresource) UINT NumSubresources, | ||
| 23929 | UINT64 BaseOffset, | ||
| 23930 | _Out_writes_opt_(NumSubresources) D3D12_PLACED_SUBRESOURCE_FOOTPRINT *pLayouts, | ||
| 23931 | _Out_writes_opt_(NumSubresources) UINT *pNumRows, | ||
| 23932 | _Out_writes_opt_(NumSubresources) UINT64 *pRowSizeInBytes, | ||
| 23933 | _Out_opt_ UINT64 *pTotalBytes); | ||
| 23934 | |||
| 23935 | DECLSPEC_XFGVIRT(ID3D12Device9, CreateShaderCacheSession) | ||
| 23936 | HRESULT ( STDMETHODCALLTYPE *CreateShaderCacheSession )( | ||
| 23937 | ID3D12Device9 * This, | ||
| 23938 | _In_ const D3D12_SHADER_CACHE_SESSION_DESC *pDesc, | ||
| 23939 | REFIID riid, | ||
| 23940 | _COM_Outptr_opt_ void **ppvSession); | ||
| 23941 | |||
| 23942 | DECLSPEC_XFGVIRT(ID3D12Device9, ShaderCacheControl) | ||
| 23943 | HRESULT ( STDMETHODCALLTYPE *ShaderCacheControl )( | ||
| 23944 | ID3D12Device9 * This, | ||
| 23945 | D3D12_SHADER_CACHE_KIND_FLAGS Kinds, | ||
| 23946 | D3D12_SHADER_CACHE_CONTROL_FLAGS Control); | ||
| 23947 | |||
| 23948 | DECLSPEC_XFGVIRT(ID3D12Device9, CreateCommandQueue1) | ||
| 23949 | HRESULT ( STDMETHODCALLTYPE *CreateCommandQueue1 )( | ||
| 23950 | ID3D12Device9 * This, | ||
| 23951 | _In_ const D3D12_COMMAND_QUEUE_DESC *pDesc, | ||
| 23952 | REFIID CreatorID, | ||
| 23953 | REFIID riid, | ||
| 23954 | _COM_Outptr_ void **ppCommandQueue); | ||
| 23955 | |||
| 23956 | END_INTERFACE | ||
| 23957 | } ID3D12Device9Vtbl; | ||
| 23958 | |||
| 23959 | interface ID3D12Device9 | ||
| 23960 | { | ||
| 23961 | CONST_VTBL struct ID3D12Device9Vtbl *lpVtbl; | ||
| 23962 | }; | ||
| 23963 | |||
| 23964 | |||
| 23965 | |||
| 23966 | #ifdef COBJMACROS | ||
| 23967 | |||
| 23968 | |||
| 23969 | #define ID3D12Device9_QueryInterface(This,riid,ppvObject) \ | ||
| 23970 | ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) | ||
| 23971 | |||
| 23972 | #define ID3D12Device9_AddRef(This) \ | ||
| 23973 | ( (This)->lpVtbl -> AddRef(This) ) | ||
| 23974 | |||
| 23975 | #define ID3D12Device9_Release(This) \ | ||
| 23976 | ( (This)->lpVtbl -> Release(This) ) | ||
| 23977 | |||
| 23978 | |||
| 23979 | #define ID3D12Device9_GetPrivateData(This,guid,pDataSize,pData) \ | ||
| 23980 | ( (This)->lpVtbl -> GetPrivateData(This,guid,pDataSize,pData) ) | ||
| 23981 | |||
| 23982 | #define ID3D12Device9_SetPrivateData(This,guid,DataSize,pData) \ | ||
| 23983 | ( (This)->lpVtbl -> SetPrivateData(This,guid,DataSize,pData) ) | ||
| 23984 | |||
| 23985 | #define ID3D12Device9_SetPrivateDataInterface(This,guid,pData) \ | ||
| 23986 | ( (This)->lpVtbl -> SetPrivateDataInterface(This,guid,pData) ) | ||
| 23987 | |||
| 23988 | #define ID3D12Device9_SetName(This,Name) \ | ||
| 23989 | ( (This)->lpVtbl -> SetName(This,Name) ) | ||
| 23990 | |||
| 23991 | |||
| 23992 | #define ID3D12Device9_GetNodeCount(This) \ | ||
| 23993 | ( (This)->lpVtbl -> GetNodeCount(This) ) | ||
| 23994 | |||
| 23995 | #define ID3D12Device9_CreateCommandQueue(This,pDesc,riid,ppCommandQueue) \ | ||
| 23996 | ( (This)->lpVtbl -> CreateCommandQueue(This,pDesc,riid,ppCommandQueue) ) | ||
| 23997 | |||
| 23998 | #define ID3D12Device9_CreateCommandAllocator(This,type,riid,ppCommandAllocator) \ | ||
| 23999 | ( (This)->lpVtbl -> CreateCommandAllocator(This,type,riid,ppCommandAllocator) ) | ||
| 24000 | |||
| 24001 | #define ID3D12Device9_CreateGraphicsPipelineState(This,pDesc,riid,ppPipelineState) \ | ||
| 24002 | ( (This)->lpVtbl -> CreateGraphicsPipelineState(This,pDesc,riid,ppPipelineState) ) | ||
| 24003 | |||
| 24004 | #define ID3D12Device9_CreateComputePipelineState(This,pDesc,riid,ppPipelineState) \ | ||
| 24005 | ( (This)->lpVtbl -> CreateComputePipelineState(This,pDesc,riid,ppPipelineState) ) | ||
| 24006 | |||
| 24007 | #define ID3D12Device9_CreateCommandList(This,nodeMask,type,pCommandAllocator,pInitialState,riid,ppCommandList) \ | ||
| 24008 | ( (This)->lpVtbl -> CreateCommandList(This,nodeMask,type,pCommandAllocator,pInitialState,riid,ppCommandList) ) | ||
| 24009 | |||
| 24010 | #define ID3D12Device9_CheckFeatureSupport(This,Feature,pFeatureSupportData,FeatureSupportDataSize) \ | ||
| 24011 | ( (This)->lpVtbl -> CheckFeatureSupport(This,Feature,pFeatureSupportData,FeatureSupportDataSize) ) | ||
| 24012 | |||
| 24013 | #define ID3D12Device9_CreateDescriptorHeap(This,pDescriptorHeapDesc,riid,ppvHeap) \ | ||
| 24014 | ( (This)->lpVtbl -> CreateDescriptorHeap(This,pDescriptorHeapDesc,riid,ppvHeap) ) | ||
| 24015 | |||
| 24016 | #define ID3D12Device9_GetDescriptorHandleIncrementSize(This,DescriptorHeapType) \ | ||
| 24017 | ( (This)->lpVtbl -> GetDescriptorHandleIncrementSize(This,DescriptorHeapType) ) | ||
| 24018 | |||
| 24019 | #define ID3D12Device9_CreateRootSignature(This,nodeMask,pBlobWithRootSignature,blobLengthInBytes,riid,ppvRootSignature) \ | ||
| 24020 | ( (This)->lpVtbl -> CreateRootSignature(This,nodeMask,pBlobWithRootSignature,blobLengthInBytes,riid,ppvRootSignature) ) | ||
| 24021 | |||
| 24022 | #define ID3D12Device9_CreateConstantBufferView(This,pDesc,DestDescriptor) \ | ||
| 24023 | ( (This)->lpVtbl -> CreateConstantBufferView(This,pDesc,DestDescriptor) ) | ||
| 24024 | |||
| 24025 | #define ID3D12Device9_CreateShaderResourceView(This,pResource,pDesc,DestDescriptor) \ | ||
| 24026 | ( (This)->lpVtbl -> CreateShaderResourceView(This,pResource,pDesc,DestDescriptor) ) | ||
| 24027 | |||
| 24028 | #define ID3D12Device9_CreateUnorderedAccessView(This,pResource,pCounterResource,pDesc,DestDescriptor) \ | ||
| 24029 | ( (This)->lpVtbl -> CreateUnorderedAccessView(This,pResource,pCounterResource,pDesc,DestDescriptor) ) | ||
| 24030 | |||
| 24031 | #define ID3D12Device9_CreateRenderTargetView(This,pResource,pDesc,DestDescriptor) \ | ||
| 24032 | ( (This)->lpVtbl -> CreateRenderTargetView(This,pResource,pDesc,DestDescriptor) ) | ||
| 24033 | |||
| 24034 | #define ID3D12Device9_CreateDepthStencilView(This,pResource,pDesc,DestDescriptor) \ | ||
| 24035 | ( (This)->lpVtbl -> CreateDepthStencilView(This,pResource,pDesc,DestDescriptor) ) | ||
| 24036 | |||
| 24037 | #define ID3D12Device9_CreateSampler(This,pDesc,DestDescriptor) \ | ||
| 24038 | ( (This)->lpVtbl -> CreateSampler(This,pDesc,DestDescriptor) ) | ||
| 24039 | |||
| 24040 | #define ID3D12Device9_CopyDescriptors(This,NumDestDescriptorRanges,pDestDescriptorRangeStarts,pDestDescriptorRangeSizes,NumSrcDescriptorRanges,pSrcDescriptorRangeStarts,pSrcDescriptorRangeSizes,DescriptorHeapsType) \ | ||
| 24041 | ( (This)->lpVtbl -> CopyDescriptors(This,NumDestDescriptorRanges,pDestDescriptorRangeStarts,pDestDescriptorRangeSizes,NumSrcDescriptorRanges,pSrcDescriptorRangeStarts,pSrcDescriptorRangeSizes,DescriptorHeapsType) ) | ||
| 24042 | |||
| 24043 | #define ID3D12Device9_CopyDescriptorsSimple(This,NumDescriptors,DestDescriptorRangeStart,SrcDescriptorRangeStart,DescriptorHeapsType) \ | ||
| 24044 | ( (This)->lpVtbl -> CopyDescriptorsSimple(This,NumDescriptors,DestDescriptorRangeStart,SrcDescriptorRangeStart,DescriptorHeapsType) ) | ||
| 24045 | #if !defined(_WIN32) | ||
| 24046 | |||
| 24047 | #define ID3D12Device9_GetResourceAllocationInfo(This,visibleMask,numResourceDescs,pResourceDescs) \ | ||
| 24048 | ( (This)->lpVtbl -> GetResourceAllocationInfo(This,visibleMask,numResourceDescs,pResourceDescs) ) | ||
| 24049 | #else | ||
| 24050 | #define ID3D12Device9_GetResourceAllocationInfo(This,RetVal,visibleMask,numResourceDescs,pResourceDescs) \ | ||
| 24051 | ( (This)->lpVtbl -> GetResourceAllocationInfo(This,RetVal,visibleMask,numResourceDescs,pResourceDescs) ) | ||
| 24052 | #endif | ||
| 24053 | #if !defined(_WIN32) | ||
| 24054 | |||
| 24055 | #define ID3D12Device9_GetCustomHeapProperties(This,nodeMask,heapType) \ | ||
| 24056 | ( (This)->lpVtbl -> GetCustomHeapProperties(This,nodeMask,heapType) ) | ||
| 24057 | #else | ||
| 24058 | #define ID3D12Device9_GetCustomHeapProperties(This,RetVal,nodeMask,heapType) \ | ||
| 24059 | ( (This)->lpVtbl -> GetCustomHeapProperties(This,RetVal,nodeMask,heapType) ) | ||
| 24060 | #endif | ||
| 24061 | |||
| 24062 | #define ID3D12Device9_CreateCommittedResource(This,pHeapProperties,HeapFlags,pDesc,InitialResourceState,pOptimizedClearValue,riidResource,ppvResource) \ | ||
| 24063 | ( (This)->lpVtbl -> CreateCommittedResource(This,pHeapProperties,HeapFlags,pDesc,InitialResourceState,pOptimizedClearValue,riidResource,ppvResource) ) | ||
| 24064 | |||
| 24065 | #define ID3D12Device9_CreateHeap(This,pDesc,riid,ppvHeap) \ | ||
| 24066 | ( (This)->lpVtbl -> CreateHeap(This,pDesc,riid,ppvHeap) ) | ||
| 24067 | |||
| 24068 | #define ID3D12Device9_CreatePlacedResource(This,pHeap,HeapOffset,pDesc,InitialState,pOptimizedClearValue,riid,ppvResource) \ | ||
| 24069 | ( (This)->lpVtbl -> CreatePlacedResource(This,pHeap,HeapOffset,pDesc,InitialState,pOptimizedClearValue,riid,ppvResource) ) | ||
| 24070 | |||
| 24071 | #define ID3D12Device9_CreateReservedResource(This,pDesc,InitialState,pOptimizedClearValue,riid,ppvResource) \ | ||
| 24072 | ( (This)->lpVtbl -> CreateReservedResource(This,pDesc,InitialState,pOptimizedClearValue,riid,ppvResource) ) | ||
| 24073 | |||
| 24074 | #define ID3D12Device9_CreateSharedHandle(This,pObject,pAttributes,Access,Name,pHandle) \ | ||
| 24075 | ( (This)->lpVtbl -> CreateSharedHandle(This,pObject,pAttributes,Access,Name,pHandle) ) | ||
| 24076 | |||
| 24077 | #define ID3D12Device9_OpenSharedHandle(This,NTHandle,riid,ppvObj) \ | ||
| 24078 | ( (This)->lpVtbl -> OpenSharedHandle(This,NTHandle,riid,ppvObj) ) | ||
| 24079 | |||
| 24080 | #define ID3D12Device9_OpenSharedHandleByName(This,Name,Access,pNTHandle) \ | ||
| 24081 | ( (This)->lpVtbl -> OpenSharedHandleByName(This,Name,Access,pNTHandle) ) | ||
| 24082 | |||
| 24083 | #define ID3D12Device9_MakeResident(This,NumObjects,ppObjects) \ | ||
| 24084 | ( (This)->lpVtbl -> MakeResident(This,NumObjects,ppObjects) ) | ||
| 24085 | |||
| 24086 | #define ID3D12Device9_Evict(This,NumObjects,ppObjects) \ | ||
| 24087 | ( (This)->lpVtbl -> Evict(This,NumObjects,ppObjects) ) | ||
| 24088 | |||
| 24089 | #define ID3D12Device9_CreateFence(This,InitialValue,Flags,riid,ppFence) \ | ||
| 24090 | ( (This)->lpVtbl -> CreateFence(This,InitialValue,Flags,riid,ppFence) ) | ||
| 24091 | |||
| 24092 | #define ID3D12Device9_GetDeviceRemovedReason(This) \ | ||
| 24093 | ( (This)->lpVtbl -> GetDeviceRemovedReason(This) ) | ||
| 24094 | |||
| 24095 | #define ID3D12Device9_GetCopyableFootprints(This,pResourceDesc,FirstSubresource,NumSubresources,BaseOffset,pLayouts,pNumRows,pRowSizeInBytes,pTotalBytes) \ | ||
| 24096 | ( (This)->lpVtbl -> GetCopyableFootprints(This,pResourceDesc,FirstSubresource,NumSubresources,BaseOffset,pLayouts,pNumRows,pRowSizeInBytes,pTotalBytes) ) | ||
| 24097 | |||
| 24098 | #define ID3D12Device9_CreateQueryHeap(This,pDesc,riid,ppvHeap) \ | ||
| 24099 | ( (This)->lpVtbl -> CreateQueryHeap(This,pDesc,riid,ppvHeap) ) | ||
| 24100 | |||
| 24101 | #define ID3D12Device9_SetStablePowerState(This,Enable) \ | ||
| 24102 | ( (This)->lpVtbl -> SetStablePowerState(This,Enable) ) | ||
| 24103 | |||
| 24104 | #define ID3D12Device9_CreateCommandSignature(This,pDesc,pRootSignature,riid,ppvCommandSignature) \ | ||
| 24105 | ( (This)->lpVtbl -> CreateCommandSignature(This,pDesc,pRootSignature,riid,ppvCommandSignature) ) | ||
| 24106 | |||
| 24107 | #define ID3D12Device9_GetResourceTiling(This,pTiledResource,pNumTilesForEntireResource,pPackedMipDesc,pStandardTileShapeForNonPackedMips,pNumSubresourceTilings,FirstSubresourceTilingToGet,pSubresourceTilingsForNonPackedMips) \ | ||
| 24108 | ( (This)->lpVtbl -> GetResourceTiling(This,pTiledResource,pNumTilesForEntireResource,pPackedMipDesc,pStandardTileShapeForNonPackedMips,pNumSubresourceTilings,FirstSubresourceTilingToGet,pSubresourceTilingsForNonPackedMips) ) | ||
| 24109 | #if !defined(_WIN32) | ||
| 24110 | |||
| 24111 | #define ID3D12Device9_GetAdapterLuid(This) \ | ||
| 24112 | ( (This)->lpVtbl -> GetAdapterLuid(This) ) | ||
| 24113 | #else | ||
| 24114 | #define ID3D12Device9_GetAdapterLuid(This,RetVal) \ | ||
| 24115 | ( (This)->lpVtbl -> GetAdapterLuid(This,RetVal) ) | ||
| 24116 | #endif | ||
| 24117 | |||
| 24118 | |||
| 24119 | #define ID3D12Device9_CreatePipelineLibrary(This,pLibraryBlob,BlobLength,riid,ppPipelineLibrary) \ | ||
| 24120 | ( (This)->lpVtbl -> CreatePipelineLibrary(This,pLibraryBlob,BlobLength,riid,ppPipelineLibrary) ) | ||
| 24121 | |||
| 24122 | #define ID3D12Device9_SetEventOnMultipleFenceCompletion(This,ppFences,pFenceValues,NumFences,Flags,hEvent) \ | ||
| 24123 | ( (This)->lpVtbl -> SetEventOnMultipleFenceCompletion(This,ppFences,pFenceValues,NumFences,Flags,hEvent) ) | ||
| 24124 | |||
| 24125 | #define ID3D12Device9_SetResidencyPriority(This,NumObjects,ppObjects,pPriorities) \ | ||
| 24126 | ( (This)->lpVtbl -> SetResidencyPriority(This,NumObjects,ppObjects,pPriorities) ) | ||
| 24127 | |||
| 24128 | |||
| 24129 | #define ID3D12Device9_CreatePipelineState(This,pDesc,riid,ppPipelineState) \ | ||
| 24130 | ( (This)->lpVtbl -> CreatePipelineState(This,pDesc,riid,ppPipelineState) ) | ||
| 24131 | |||
| 24132 | |||
| 24133 | #define ID3D12Device9_OpenExistingHeapFromAddress(This,pAddress,riid,ppvHeap) \ | ||
| 24134 | ( (This)->lpVtbl -> OpenExistingHeapFromAddress(This,pAddress,riid,ppvHeap) ) | ||
| 24135 | |||
| 24136 | #define ID3D12Device9_OpenExistingHeapFromFileMapping(This,hFileMapping,riid,ppvHeap) \ | ||
| 24137 | ( (This)->lpVtbl -> OpenExistingHeapFromFileMapping(This,hFileMapping,riid,ppvHeap) ) | ||
| 24138 | |||
| 24139 | #define ID3D12Device9_EnqueueMakeResident(This,Flags,NumObjects,ppObjects,pFenceToSignal,FenceValueToSignal) \ | ||
| 24140 | ( (This)->lpVtbl -> EnqueueMakeResident(This,Flags,NumObjects,ppObjects,pFenceToSignal,FenceValueToSignal) ) | ||
| 24141 | |||
| 24142 | |||
| 24143 | #define ID3D12Device9_CreateCommandList1(This,nodeMask,type,flags,riid,ppCommandList) \ | ||
| 24144 | ( (This)->lpVtbl -> CreateCommandList1(This,nodeMask,type,flags,riid,ppCommandList) ) | ||
| 24145 | |||
| 24146 | #define ID3D12Device9_CreateProtectedResourceSession(This,pDesc,riid,ppSession) \ | ||
| 24147 | ( (This)->lpVtbl -> CreateProtectedResourceSession(This,pDesc,riid,ppSession) ) | ||
| 24148 | |||
| 24149 | #define ID3D12Device9_CreateCommittedResource1(This,pHeapProperties,HeapFlags,pDesc,InitialResourceState,pOptimizedClearValue,pProtectedSession,riidResource,ppvResource) \ | ||
| 24150 | ( (This)->lpVtbl -> CreateCommittedResource1(This,pHeapProperties,HeapFlags,pDesc,InitialResourceState,pOptimizedClearValue,pProtectedSession,riidResource,ppvResource) ) | ||
| 24151 | |||
| 24152 | #define ID3D12Device9_CreateHeap1(This,pDesc,pProtectedSession,riid,ppvHeap) \ | ||
| 24153 | ( (This)->lpVtbl -> CreateHeap1(This,pDesc,pProtectedSession,riid,ppvHeap) ) | ||
| 24154 | |||
| 24155 | #define ID3D12Device9_CreateReservedResource1(This,pDesc,InitialState,pOptimizedClearValue,pProtectedSession,riid,ppvResource) \ | ||
| 24156 | ( (This)->lpVtbl -> CreateReservedResource1(This,pDesc,InitialState,pOptimizedClearValue,pProtectedSession,riid,ppvResource) ) | ||
| 24157 | #if !defined(_WIN32) | ||
| 24158 | |||
| 24159 | #define ID3D12Device9_GetResourceAllocationInfo1(This,visibleMask,numResourceDescs,pResourceDescs,pResourceAllocationInfo1) \ | ||
| 24160 | ( (This)->lpVtbl -> GetResourceAllocationInfo1(This,visibleMask,numResourceDescs,pResourceDescs,pResourceAllocationInfo1) ) | ||
| 24161 | #else | ||
| 24162 | #define ID3D12Device9_GetResourceAllocationInfo1(This,RetVal,visibleMask,numResourceDescs,pResourceDescs,pResourceAllocationInfo1) \ | ||
| 24163 | ( (This)->lpVtbl -> GetResourceAllocationInfo1(This,RetVal,visibleMask,numResourceDescs,pResourceDescs,pResourceAllocationInfo1) ) | ||
| 24164 | #endif | ||
| 24165 | |||
| 24166 | |||
| 24167 | #define ID3D12Device9_CreateLifetimeTracker(This,pOwner,riid,ppvTracker) \ | ||
| 24168 | ( (This)->lpVtbl -> CreateLifetimeTracker(This,pOwner,riid,ppvTracker) ) | ||
| 24169 | |||
| 24170 | #define ID3D12Device9_RemoveDevice(This) \ | ||
| 24171 | ( (This)->lpVtbl -> RemoveDevice(This) ) | ||
| 24172 | |||
| 24173 | #define ID3D12Device9_EnumerateMetaCommands(This,pNumMetaCommands,pDescs) \ | ||
| 24174 | ( (This)->lpVtbl -> EnumerateMetaCommands(This,pNumMetaCommands,pDescs) ) | ||
| 24175 | |||
| 24176 | #define ID3D12Device9_EnumerateMetaCommandParameters(This,CommandId,Stage,pTotalStructureSizeInBytes,pParameterCount,pParameterDescs) \ | ||
| 24177 | ( (This)->lpVtbl -> EnumerateMetaCommandParameters(This,CommandId,Stage,pTotalStructureSizeInBytes,pParameterCount,pParameterDescs) ) | ||
| 24178 | |||
| 24179 | #define ID3D12Device9_CreateMetaCommand(This,CommandId,NodeMask,pCreationParametersData,CreationParametersDataSizeInBytes,riid,ppMetaCommand) \ | ||
| 24180 | ( (This)->lpVtbl -> CreateMetaCommand(This,CommandId,NodeMask,pCreationParametersData,CreationParametersDataSizeInBytes,riid,ppMetaCommand) ) | ||
| 24181 | |||
| 24182 | #define ID3D12Device9_CreateStateObject(This,pDesc,riid,ppStateObject) \ | ||
| 24183 | ( (This)->lpVtbl -> CreateStateObject(This,pDesc,riid,ppStateObject) ) | ||
| 24184 | |||
| 24185 | #define ID3D12Device9_GetRaytracingAccelerationStructurePrebuildInfo(This,pDesc,pInfo) \ | ||
| 24186 | ( (This)->lpVtbl -> GetRaytracingAccelerationStructurePrebuildInfo(This,pDesc,pInfo) ) | ||
| 24187 | |||
| 24188 | #define ID3D12Device9_CheckDriverMatchingIdentifier(This,SerializedDataType,pIdentifierToCheck) \ | ||
| 24189 | ( (This)->lpVtbl -> CheckDriverMatchingIdentifier(This,SerializedDataType,pIdentifierToCheck) ) | ||
| 24190 | |||
| 24191 | |||
| 24192 | #define ID3D12Device9_SetBackgroundProcessingMode(This,Mode,MeasurementsAction,hEventToSignalUponCompletion,pbFurtherMeasurementsDesired) \ | ||
| 24193 | ( (This)->lpVtbl -> SetBackgroundProcessingMode(This,Mode,MeasurementsAction,hEventToSignalUponCompletion,pbFurtherMeasurementsDesired) ) | ||
| 24194 | |||
| 24195 | |||
| 24196 | #define ID3D12Device9_AddToStateObject(This,pAddition,pStateObjectToGrowFrom,riid,ppNewStateObject) \ | ||
| 24197 | ( (This)->lpVtbl -> AddToStateObject(This,pAddition,pStateObjectToGrowFrom,riid,ppNewStateObject) ) | ||
| 24198 | |||
| 24199 | #define ID3D12Device9_CreateProtectedResourceSession1(This,pDesc,riid,ppSession) \ | ||
| 24200 | ( (This)->lpVtbl -> CreateProtectedResourceSession1(This,pDesc,riid,ppSession) ) | ||
| 24201 | |||
| 24202 | #if !defined(_WIN32) | ||
| 24203 | |||
| 24204 | #define ID3D12Device9_GetResourceAllocationInfo2(This,visibleMask,numResourceDescs,pResourceDescs,pResourceAllocationInfo1) \ | ||
| 24205 | ( (This)->lpVtbl -> GetResourceAllocationInfo2(This,visibleMask,numResourceDescs,pResourceDescs,pResourceAllocationInfo1) ) | ||
| 24206 | #else | ||
| 24207 | #define ID3D12Device9_GetResourceAllocationInfo2(This,RetVal,visibleMask,numResourceDescs,pResourceDescs,pResourceAllocationInfo1) \ | ||
| 24208 | ( (This)->lpVtbl -> GetResourceAllocationInfo2(This,RetVal,visibleMask,numResourceDescs,pResourceDescs,pResourceAllocationInfo1) ) | ||
| 24209 | #endif | ||
| 24210 | |||
| 24211 | #define ID3D12Device9_CreateCommittedResource2(This,pHeapProperties,HeapFlags,pDesc,InitialResourceState,pOptimizedClearValue,pProtectedSession,riidResource,ppvResource) \ | ||
| 24212 | ( (This)->lpVtbl -> CreateCommittedResource2(This,pHeapProperties,HeapFlags,pDesc,InitialResourceState,pOptimizedClearValue,pProtectedSession,riidResource,ppvResource) ) | ||
| 24213 | |||
| 24214 | #define ID3D12Device9_CreatePlacedResource1(This,pHeap,HeapOffset,pDesc,InitialState,pOptimizedClearValue,riid,ppvResource) \ | ||
| 24215 | ( (This)->lpVtbl -> CreatePlacedResource1(This,pHeap,HeapOffset,pDesc,InitialState,pOptimizedClearValue,riid,ppvResource) ) | ||
| 24216 | |||
| 24217 | #define ID3D12Device9_CreateSamplerFeedbackUnorderedAccessView(This,pTargetedResource,pFeedbackResource,DestDescriptor) \ | ||
| 24218 | ( (This)->lpVtbl -> CreateSamplerFeedbackUnorderedAccessView(This,pTargetedResource,pFeedbackResource,DestDescriptor) ) | ||
| 24219 | |||
| 24220 | #define ID3D12Device9_GetCopyableFootprints1(This,pResourceDesc,FirstSubresource,NumSubresources,BaseOffset,pLayouts,pNumRows,pRowSizeInBytes,pTotalBytes) \ | ||
| 24221 | ( (This)->lpVtbl -> GetCopyableFootprints1(This,pResourceDesc,FirstSubresource,NumSubresources,BaseOffset,pLayouts,pNumRows,pRowSizeInBytes,pTotalBytes) ) | ||
| 24222 | |||
| 24223 | |||
| 24224 | #define ID3D12Device9_CreateShaderCacheSession(This,pDesc,riid,ppvSession) \ | ||
| 24225 | ( (This)->lpVtbl -> CreateShaderCacheSession(This,pDesc,riid,ppvSession) ) | ||
| 24226 | |||
| 24227 | #define ID3D12Device9_ShaderCacheControl(This,Kinds,Control) \ | ||
| 24228 | ( (This)->lpVtbl -> ShaderCacheControl(This,Kinds,Control) ) | ||
| 24229 | |||
| 24230 | #define ID3D12Device9_CreateCommandQueue1(This,pDesc,CreatorID,riid,ppCommandQueue) \ | ||
| 24231 | ( (This)->lpVtbl -> CreateCommandQueue1(This,pDesc,CreatorID,riid,ppCommandQueue) ) | ||
| 24232 | |||
| 24233 | #endif /* COBJMACROS */ | ||
| 24234 | |||
| 24235 | |||
| 24236 | #endif /* C style interface */ | ||
| 24237 | |||
| 24238 | |||
| 24239 | |||
| 24240 | |||
| 24241 | #endif /* __ID3D12Device9_INTERFACE_DEFINED__ */ | ||
| 24242 | |||
| 24243 | |||
| 24244 | #ifndef __ID3D12Device10_INTERFACE_DEFINED__ | ||
| 24245 | #define __ID3D12Device10_INTERFACE_DEFINED__ | ||
| 24246 | |||
| 24247 | /* interface ID3D12Device10 */ | ||
| 24248 | /* [unique][local][object][uuid] */ | ||
| 24249 | |||
| 24250 | |||
| 24251 | EXTERN_C const IID IID_ID3D12Device10; | ||
| 24252 | |||
| 24253 | #if defined(__cplusplus) && !defined(CINTERFACE) | ||
| 24254 | |||
| 24255 | MIDL_INTERFACE("517f8718-aa66-49f9-b02b-a7ab89c06031") | ||
| 24256 | ID3D12Device10 : public ID3D12Device9 | ||
| 24257 | { | ||
| 24258 | public: | ||
| 24259 | virtual HRESULT STDMETHODCALLTYPE CreateCommittedResource3( | ||
| 24260 | _In_ const D3D12_HEAP_PROPERTIES *pHeapProperties, | ||
| 24261 | D3D12_HEAP_FLAGS HeapFlags, | ||
| 24262 | _In_ const D3D12_RESOURCE_DESC1 *pDesc, | ||
| 24263 | D3D12_BARRIER_LAYOUT InitialLayout, | ||
| 24264 | _In_opt_ const D3D12_CLEAR_VALUE *pOptimizedClearValue, | ||
| 24265 | _In_opt_ ID3D12ProtectedResourceSession *pProtectedSession, | ||
| 24266 | UINT32 NumCastableFormats, | ||
| 24267 | _In_opt_count_(NumCastableFormats) const DXGI_FORMAT *pCastableFormats, | ||
| 24268 | REFIID riidResource, | ||
| 24269 | _COM_Outptr_opt_ void **ppvResource) = 0; | ||
| 24270 | |||
| 24271 | virtual HRESULT STDMETHODCALLTYPE CreatePlacedResource2( | ||
| 24272 | _In_ ID3D12Heap *pHeap, | ||
| 24273 | UINT64 HeapOffset, | ||
| 24274 | _In_ const D3D12_RESOURCE_DESC1 *pDesc, | ||
| 24275 | D3D12_BARRIER_LAYOUT InitialLayout, | ||
| 24276 | _In_opt_ const D3D12_CLEAR_VALUE *pOptimizedClearValue, | ||
| 24277 | UINT32 NumCastableFormats, | ||
| 24278 | _In_opt_count_(NumCastableFormats) const DXGI_FORMAT *pCastableFormats, | ||
| 24279 | REFIID riid, | ||
| 24280 | _COM_Outptr_opt_ void **ppvResource) = 0; | ||
| 24281 | |||
| 24282 | virtual HRESULT STDMETHODCALLTYPE CreateReservedResource2( | ||
| 24283 | _In_ const D3D12_RESOURCE_DESC *pDesc, | ||
| 24284 | D3D12_BARRIER_LAYOUT InitialLayout, | ||
| 24285 | _In_opt_ const D3D12_CLEAR_VALUE *pOptimizedClearValue, | ||
| 24286 | _In_opt_ ID3D12ProtectedResourceSession *pProtectedSession, | ||
| 24287 | UINT32 NumCastableFormats, | ||
| 24288 | _In_opt_count_(NumCastableFormats) const DXGI_FORMAT *pCastableFormats, | ||
| 24289 | REFIID riid, | ||
| 24290 | _COM_Outptr_opt_ void **ppvResource) = 0; | ||
| 24291 | |||
| 24292 | }; | ||
| 24293 | |||
| 24294 | |||
| 24295 | #else /* C style interface */ | ||
| 24296 | |||
| 24297 | typedef struct ID3D12Device10Vtbl | ||
| 24298 | { | ||
| 24299 | BEGIN_INTERFACE | ||
| 24300 | |||
| 24301 | DECLSPEC_XFGVIRT(IUnknown, QueryInterface) | ||
| 24302 | HRESULT ( STDMETHODCALLTYPE *QueryInterface )( | ||
| 24303 | ID3D12Device10 * This, | ||
| 24304 | REFIID riid, | ||
| 24305 | _COM_Outptr_ void **ppvObject); | ||
| 24306 | |||
| 24307 | DECLSPEC_XFGVIRT(IUnknown, AddRef) | ||
| 24308 | ULONG ( STDMETHODCALLTYPE *AddRef )( | ||
| 24309 | ID3D12Device10 * This); | ||
| 24310 | |||
| 24311 | DECLSPEC_XFGVIRT(IUnknown, Release) | ||
| 24312 | ULONG ( STDMETHODCALLTYPE *Release )( | ||
| 24313 | ID3D12Device10 * This); | ||
| 24314 | |||
| 24315 | DECLSPEC_XFGVIRT(ID3D12Object, GetPrivateData) | ||
| 24316 | HRESULT ( STDMETHODCALLTYPE *GetPrivateData )( | ||
| 24317 | ID3D12Device10 * This, | ||
| 24318 | _In_ REFGUID guid, | ||
| 24319 | _Inout_ UINT *pDataSize, | ||
| 24320 | _Out_writes_bytes_opt_( *pDataSize ) void *pData); | ||
| 24321 | |||
| 24322 | DECLSPEC_XFGVIRT(ID3D12Object, SetPrivateData) | ||
| 24323 | HRESULT ( STDMETHODCALLTYPE *SetPrivateData )( | ||
| 24324 | ID3D12Device10 * This, | ||
| 24325 | _In_ REFGUID guid, | ||
| 24326 | _In_ UINT DataSize, | ||
| 24327 | _In_reads_bytes_opt_( DataSize ) const void *pData); | ||
| 24328 | |||
| 24329 | DECLSPEC_XFGVIRT(ID3D12Object, SetPrivateDataInterface) | ||
| 24330 | HRESULT ( STDMETHODCALLTYPE *SetPrivateDataInterface )( | ||
| 24331 | ID3D12Device10 * This, | ||
| 24332 | _In_ REFGUID guid, | ||
| 24333 | _In_opt_ const IUnknown *pData); | ||
| 24334 | |||
| 24335 | DECLSPEC_XFGVIRT(ID3D12Object, SetName) | ||
| 24336 | HRESULT ( STDMETHODCALLTYPE *SetName )( | ||
| 24337 | ID3D12Device10 * This, | ||
| 24338 | _In_z_ LPCWSTR Name); | ||
| 24339 | |||
| 24340 | DECLSPEC_XFGVIRT(ID3D12Device, GetNodeCount) | ||
| 24341 | UINT ( STDMETHODCALLTYPE *GetNodeCount )( | ||
| 24342 | ID3D12Device10 * This); | ||
| 24343 | |||
| 24344 | DECLSPEC_XFGVIRT(ID3D12Device, CreateCommandQueue) | ||
| 24345 | HRESULT ( STDMETHODCALLTYPE *CreateCommandQueue )( | ||
| 24346 | ID3D12Device10 * This, | ||
| 24347 | _In_ const D3D12_COMMAND_QUEUE_DESC *pDesc, | ||
| 24348 | REFIID riid, | ||
| 24349 | _COM_Outptr_ void **ppCommandQueue); | ||
| 24350 | |||
| 24351 | DECLSPEC_XFGVIRT(ID3D12Device, CreateCommandAllocator) | ||
| 24352 | HRESULT ( STDMETHODCALLTYPE *CreateCommandAllocator )( | ||
| 24353 | ID3D12Device10 * This, | ||
| 24354 | _In_ D3D12_COMMAND_LIST_TYPE type, | ||
| 24355 | REFIID riid, | ||
| 24356 | _COM_Outptr_ void **ppCommandAllocator); | ||
| 24357 | |||
| 24358 | DECLSPEC_XFGVIRT(ID3D12Device, CreateGraphicsPipelineState) | ||
| 24359 | HRESULT ( STDMETHODCALLTYPE *CreateGraphicsPipelineState )( | ||
| 24360 | ID3D12Device10 * This, | ||
| 24361 | _In_ const D3D12_GRAPHICS_PIPELINE_STATE_DESC *pDesc, | ||
| 24362 | REFIID riid, | ||
| 24363 | _COM_Outptr_ void **ppPipelineState); | ||
| 24364 | |||
| 24365 | DECLSPEC_XFGVIRT(ID3D12Device, CreateComputePipelineState) | ||
| 24366 | HRESULT ( STDMETHODCALLTYPE *CreateComputePipelineState )( | ||
| 24367 | ID3D12Device10 * This, | ||
| 24368 | _In_ const D3D12_COMPUTE_PIPELINE_STATE_DESC *pDesc, | ||
| 24369 | REFIID riid, | ||
| 24370 | _COM_Outptr_ void **ppPipelineState); | ||
| 24371 | |||
| 24372 | DECLSPEC_XFGVIRT(ID3D12Device, CreateCommandList) | ||
| 24373 | HRESULT ( STDMETHODCALLTYPE *CreateCommandList )( | ||
| 24374 | ID3D12Device10 * This, | ||
| 24375 | _In_ UINT nodeMask, | ||
| 24376 | _In_ D3D12_COMMAND_LIST_TYPE type, | ||
| 24377 | _In_ ID3D12CommandAllocator *pCommandAllocator, | ||
| 24378 | _In_opt_ ID3D12PipelineState *pInitialState, | ||
| 24379 | REFIID riid, | ||
| 24380 | _COM_Outptr_ void **ppCommandList); | ||
| 24381 | |||
| 24382 | DECLSPEC_XFGVIRT(ID3D12Device, CheckFeatureSupport) | ||
| 24383 | HRESULT ( STDMETHODCALLTYPE *CheckFeatureSupport )( | ||
| 24384 | ID3D12Device10 * This, | ||
| 24385 | D3D12_FEATURE Feature, | ||
| 24386 | _Inout_updates_bytes_(FeatureSupportDataSize) void *pFeatureSupportData, | ||
| 24387 | UINT FeatureSupportDataSize); | ||
| 24388 | |||
| 24389 | DECLSPEC_XFGVIRT(ID3D12Device, CreateDescriptorHeap) | ||
| 24390 | HRESULT ( STDMETHODCALLTYPE *CreateDescriptorHeap )( | ||
| 24391 | ID3D12Device10 * This, | ||
| 24392 | _In_ const D3D12_DESCRIPTOR_HEAP_DESC *pDescriptorHeapDesc, | ||
| 24393 | REFIID riid, | ||
| 24394 | _COM_Outptr_ void **ppvHeap); | ||
| 24395 | |||
| 24396 | DECLSPEC_XFGVIRT(ID3D12Device, GetDescriptorHandleIncrementSize) | ||
| 24397 | UINT ( STDMETHODCALLTYPE *GetDescriptorHandleIncrementSize )( | ||
| 24398 | ID3D12Device10 * This, | ||
| 24399 | _In_ D3D12_DESCRIPTOR_HEAP_TYPE DescriptorHeapType); | ||
| 24400 | |||
| 24401 | DECLSPEC_XFGVIRT(ID3D12Device, CreateRootSignature) | ||
| 24402 | HRESULT ( STDMETHODCALLTYPE *CreateRootSignature )( | ||
| 24403 | ID3D12Device10 * This, | ||
| 24404 | _In_ UINT nodeMask, | ||
| 24405 | _In_reads_(blobLengthInBytes) const void *pBlobWithRootSignature, | ||
| 24406 | _In_ SIZE_T blobLengthInBytes, | ||
| 24407 | REFIID riid, | ||
| 24408 | _COM_Outptr_ void **ppvRootSignature); | ||
| 24409 | |||
| 24410 | DECLSPEC_XFGVIRT(ID3D12Device, CreateConstantBufferView) | ||
| 24411 | void ( STDMETHODCALLTYPE *CreateConstantBufferView )( | ||
| 24412 | ID3D12Device10 * This, | ||
| 24413 | _In_opt_ const D3D12_CONSTANT_BUFFER_VIEW_DESC *pDesc, | ||
| 24414 | _In_ D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor); | ||
| 24415 | |||
| 24416 | DECLSPEC_XFGVIRT(ID3D12Device, CreateShaderResourceView) | ||
| 24417 | void ( STDMETHODCALLTYPE *CreateShaderResourceView )( | ||
| 24418 | ID3D12Device10 * This, | ||
| 24419 | _In_opt_ ID3D12Resource *pResource, | ||
| 24420 | _In_opt_ const D3D12_SHADER_RESOURCE_VIEW_DESC *pDesc, | ||
| 24421 | _In_ D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor); | ||
| 24422 | |||
| 24423 | DECLSPEC_XFGVIRT(ID3D12Device, CreateUnorderedAccessView) | ||
| 24424 | void ( STDMETHODCALLTYPE *CreateUnorderedAccessView )( | ||
| 24425 | ID3D12Device10 * This, | ||
| 24426 | _In_opt_ ID3D12Resource *pResource, | ||
| 24427 | _In_opt_ ID3D12Resource *pCounterResource, | ||
| 24428 | _In_opt_ const D3D12_UNORDERED_ACCESS_VIEW_DESC *pDesc, | ||
| 24429 | _In_ D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor); | ||
| 24430 | |||
| 24431 | DECLSPEC_XFGVIRT(ID3D12Device, CreateRenderTargetView) | ||
| 24432 | void ( STDMETHODCALLTYPE *CreateRenderTargetView )( | ||
| 24433 | ID3D12Device10 * This, | ||
| 24434 | _In_opt_ ID3D12Resource *pResource, | ||
| 24435 | _In_opt_ const D3D12_RENDER_TARGET_VIEW_DESC *pDesc, | ||
| 24436 | _In_ D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor); | ||
| 24437 | |||
| 24438 | DECLSPEC_XFGVIRT(ID3D12Device, CreateDepthStencilView) | ||
| 24439 | void ( STDMETHODCALLTYPE *CreateDepthStencilView )( | ||
| 24440 | ID3D12Device10 * This, | ||
| 24441 | _In_opt_ ID3D12Resource *pResource, | ||
| 24442 | _In_opt_ const D3D12_DEPTH_STENCIL_VIEW_DESC *pDesc, | ||
| 24443 | _In_ D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor); | ||
| 24444 | |||
| 24445 | DECLSPEC_XFGVIRT(ID3D12Device, CreateSampler) | ||
| 24446 | void ( STDMETHODCALLTYPE *CreateSampler )( | ||
| 24447 | ID3D12Device10 * This, | ||
| 24448 | _In_ const D3D12_SAMPLER_DESC *pDesc, | ||
| 24449 | _In_ D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor); | ||
| 24450 | |||
| 24451 | DECLSPEC_XFGVIRT(ID3D12Device, CopyDescriptors) | ||
| 24452 | void ( STDMETHODCALLTYPE *CopyDescriptors )( | ||
| 24453 | ID3D12Device10 * This, | ||
| 24454 | _In_ UINT NumDestDescriptorRanges, | ||
| 24455 | _In_reads_(NumDestDescriptorRanges) const D3D12_CPU_DESCRIPTOR_HANDLE *pDestDescriptorRangeStarts, | ||
| 24456 | _In_reads_opt_(NumDestDescriptorRanges) const UINT *pDestDescriptorRangeSizes, | ||
| 24457 | _In_ UINT NumSrcDescriptorRanges, | ||
| 24458 | _In_reads_(NumSrcDescriptorRanges) const D3D12_CPU_DESCRIPTOR_HANDLE *pSrcDescriptorRangeStarts, | ||
| 24459 | _In_reads_opt_(NumSrcDescriptorRanges) const UINT *pSrcDescriptorRangeSizes, | ||
| 24460 | _In_ D3D12_DESCRIPTOR_HEAP_TYPE DescriptorHeapsType); | ||
| 24461 | |||
| 24462 | DECLSPEC_XFGVIRT(ID3D12Device, CopyDescriptorsSimple) | ||
| 24463 | void ( STDMETHODCALLTYPE *CopyDescriptorsSimple )( | ||
| 24464 | ID3D12Device10 * This, | ||
| 24465 | _In_ UINT NumDescriptors, | ||
| 24466 | _In_ D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptorRangeStart, | ||
| 24467 | _In_ D3D12_CPU_DESCRIPTOR_HANDLE SrcDescriptorRangeStart, | ||
| 24468 | _In_ D3D12_DESCRIPTOR_HEAP_TYPE DescriptorHeapsType); | ||
| 24469 | |||
| 24470 | DECLSPEC_XFGVIRT(ID3D12Device, GetResourceAllocationInfo) | ||
| 24471 | #if !defined(_WIN32) | ||
| 24472 | D3D12_RESOURCE_ALLOCATION_INFO ( STDMETHODCALLTYPE *GetResourceAllocationInfo )( | ||
| 24473 | ID3D12Device10 * This, | ||
| 24474 | _In_ UINT visibleMask, | ||
| 24475 | _In_ UINT numResourceDescs, | ||
| 24476 | _In_reads_(numResourceDescs) const D3D12_RESOURCE_DESC *pResourceDescs); | ||
| 24477 | |||
| 24478 | #else | ||
| 24479 | D3D12_RESOURCE_ALLOCATION_INFO *( STDMETHODCALLTYPE *GetResourceAllocationInfo )( | ||
| 24480 | ID3D12Device10 * This, | ||
| 24481 | D3D12_RESOURCE_ALLOCATION_INFO * RetVal, | ||
| 24482 | _In_ UINT visibleMask, | ||
| 24483 | _In_ UINT numResourceDescs, | ||
| 24484 | _In_reads_(numResourceDescs) const D3D12_RESOURCE_DESC *pResourceDescs); | ||
| 24485 | |||
| 24486 | #endif | ||
| 24487 | |||
| 24488 | DECLSPEC_XFGVIRT(ID3D12Device, GetCustomHeapProperties) | ||
| 24489 | #if !defined(_WIN32) | ||
| 24490 | D3D12_HEAP_PROPERTIES ( STDMETHODCALLTYPE *GetCustomHeapProperties )( | ||
| 24491 | ID3D12Device10 * This, | ||
| 24492 | _In_ UINT nodeMask, | ||
| 24493 | D3D12_HEAP_TYPE heapType); | ||
| 24494 | |||
| 24495 | #else | ||
| 24496 | D3D12_HEAP_PROPERTIES *( STDMETHODCALLTYPE *GetCustomHeapProperties )( | ||
| 24497 | ID3D12Device10 * This, | ||
| 24498 | D3D12_HEAP_PROPERTIES * RetVal, | ||
| 24499 | _In_ UINT nodeMask, | ||
| 24500 | D3D12_HEAP_TYPE heapType); | ||
| 24501 | |||
| 24502 | #endif | ||
| 24503 | |||
| 24504 | DECLSPEC_XFGVIRT(ID3D12Device, CreateCommittedResource) | ||
| 24505 | HRESULT ( STDMETHODCALLTYPE *CreateCommittedResource )( | ||
| 24506 | ID3D12Device10 * This, | ||
| 24507 | _In_ const D3D12_HEAP_PROPERTIES *pHeapProperties, | ||
| 24508 | D3D12_HEAP_FLAGS HeapFlags, | ||
| 24509 | _In_ const D3D12_RESOURCE_DESC *pDesc, | ||
| 24510 | D3D12_RESOURCE_STATES InitialResourceState, | ||
| 24511 | _In_opt_ const D3D12_CLEAR_VALUE *pOptimizedClearValue, | ||
| 24512 | REFIID riidResource, | ||
| 24513 | _COM_Outptr_opt_ void **ppvResource); | ||
| 24514 | |||
| 24515 | DECLSPEC_XFGVIRT(ID3D12Device, CreateHeap) | ||
| 24516 | HRESULT ( STDMETHODCALLTYPE *CreateHeap )( | ||
| 24517 | ID3D12Device10 * This, | ||
| 24518 | _In_ const D3D12_HEAP_DESC *pDesc, | ||
| 24519 | REFIID riid, | ||
| 24520 | _COM_Outptr_opt_ void **ppvHeap); | ||
| 24521 | |||
| 24522 | DECLSPEC_XFGVIRT(ID3D12Device, CreatePlacedResource) | ||
| 24523 | HRESULT ( STDMETHODCALLTYPE *CreatePlacedResource )( | ||
| 24524 | ID3D12Device10 * This, | ||
| 24525 | _In_ ID3D12Heap *pHeap, | ||
| 24526 | UINT64 HeapOffset, | ||
| 24527 | _In_ const D3D12_RESOURCE_DESC *pDesc, | ||
| 24528 | D3D12_RESOURCE_STATES InitialState, | ||
| 24529 | _In_opt_ const D3D12_CLEAR_VALUE *pOptimizedClearValue, | ||
| 24530 | REFIID riid, | ||
| 24531 | _COM_Outptr_opt_ void **ppvResource); | ||
| 24532 | |||
| 24533 | DECLSPEC_XFGVIRT(ID3D12Device, CreateReservedResource) | ||
| 24534 | HRESULT ( STDMETHODCALLTYPE *CreateReservedResource )( | ||
| 24535 | ID3D12Device10 * This, | ||
| 24536 | _In_ const D3D12_RESOURCE_DESC *pDesc, | ||
| 24537 | D3D12_RESOURCE_STATES InitialState, | ||
| 24538 | _In_opt_ const D3D12_CLEAR_VALUE *pOptimizedClearValue, | ||
| 24539 | REFIID riid, | ||
| 24540 | _COM_Outptr_opt_ void **ppvResource); | ||
| 24541 | |||
| 24542 | DECLSPEC_XFGVIRT(ID3D12Device, CreateSharedHandle) | ||
| 24543 | HRESULT ( STDMETHODCALLTYPE *CreateSharedHandle )( | ||
| 24544 | ID3D12Device10 * This, | ||
| 24545 | _In_ ID3D12DeviceChild *pObject, | ||
| 24546 | _In_opt_ const SECURITY_ATTRIBUTES *pAttributes, | ||
| 24547 | DWORD Access, | ||
| 24548 | _In_opt_ LPCWSTR Name, | ||
| 24549 | _Out_ HANDLE *pHandle); | ||
| 24550 | |||
| 24551 | DECLSPEC_XFGVIRT(ID3D12Device, OpenSharedHandle) | ||
| 24552 | HRESULT ( STDMETHODCALLTYPE *OpenSharedHandle )( | ||
| 24553 | ID3D12Device10 * This, | ||
| 24554 | _In_ HANDLE NTHandle, | ||
| 24555 | REFIID riid, | ||
| 24556 | _COM_Outptr_opt_ void **ppvObj); | ||
| 24557 | |||
| 24558 | DECLSPEC_XFGVIRT(ID3D12Device, OpenSharedHandleByName) | ||
| 24559 | HRESULT ( STDMETHODCALLTYPE *OpenSharedHandleByName )( | ||
| 24560 | ID3D12Device10 * This, | ||
| 24561 | _In_ LPCWSTR Name, | ||
| 24562 | DWORD Access, | ||
| 24563 | /* [annotation][out] */ | ||
| 24564 | _Out_ HANDLE *pNTHandle); | ||
| 24565 | |||
| 24566 | DECLSPEC_XFGVIRT(ID3D12Device, MakeResident) | ||
| 24567 | HRESULT ( STDMETHODCALLTYPE *MakeResident )( | ||
| 24568 | ID3D12Device10 * This, | ||
| 24569 | UINT NumObjects, | ||
| 24570 | _In_reads_(NumObjects) ID3D12Pageable *const *ppObjects); | ||
| 24571 | |||
| 24572 | DECLSPEC_XFGVIRT(ID3D12Device, Evict) | ||
| 24573 | HRESULT ( STDMETHODCALLTYPE *Evict )( | ||
| 24574 | ID3D12Device10 * This, | ||
| 24575 | UINT NumObjects, | ||
| 24576 | _In_reads_(NumObjects) ID3D12Pageable *const *ppObjects); | ||
| 24577 | |||
| 24578 | DECLSPEC_XFGVIRT(ID3D12Device, CreateFence) | ||
| 24579 | HRESULT ( STDMETHODCALLTYPE *CreateFence )( | ||
| 24580 | ID3D12Device10 * This, | ||
| 24581 | UINT64 InitialValue, | ||
| 24582 | D3D12_FENCE_FLAGS Flags, | ||
| 24583 | REFIID riid, | ||
| 24584 | _COM_Outptr_ void **ppFence); | ||
| 24585 | |||
| 24586 | DECLSPEC_XFGVIRT(ID3D12Device, GetDeviceRemovedReason) | ||
| 24587 | HRESULT ( STDMETHODCALLTYPE *GetDeviceRemovedReason )( | ||
| 24588 | ID3D12Device10 * This); | ||
| 24589 | |||
| 24590 | DECLSPEC_XFGVIRT(ID3D12Device, GetCopyableFootprints) | ||
| 24591 | void ( STDMETHODCALLTYPE *GetCopyableFootprints )( | ||
| 24592 | ID3D12Device10 * This, | ||
| 24593 | _In_ const D3D12_RESOURCE_DESC *pResourceDesc, | ||
| 24594 | _In_range_(0,D3D12_REQ_SUBRESOURCES) UINT FirstSubresource, | ||
| 24595 | _In_range_(0,D3D12_REQ_SUBRESOURCES-FirstSubresource) UINT NumSubresources, | ||
| 24596 | UINT64 BaseOffset, | ||
| 24597 | _Out_writes_opt_(NumSubresources) D3D12_PLACED_SUBRESOURCE_FOOTPRINT *pLayouts, | ||
| 24598 | _Out_writes_opt_(NumSubresources) UINT *pNumRows, | ||
| 24599 | _Out_writes_opt_(NumSubresources) UINT64 *pRowSizeInBytes, | ||
| 24600 | _Out_opt_ UINT64 *pTotalBytes); | ||
| 24601 | |||
| 24602 | DECLSPEC_XFGVIRT(ID3D12Device, CreateQueryHeap) | ||
| 24603 | HRESULT ( STDMETHODCALLTYPE *CreateQueryHeap )( | ||
| 24604 | ID3D12Device10 * This, | ||
| 24605 | _In_ const D3D12_QUERY_HEAP_DESC *pDesc, | ||
| 24606 | REFIID riid, | ||
| 24607 | _COM_Outptr_opt_ void **ppvHeap); | ||
| 24608 | |||
| 24609 | DECLSPEC_XFGVIRT(ID3D12Device, SetStablePowerState) | ||
| 24610 | HRESULT ( STDMETHODCALLTYPE *SetStablePowerState )( | ||
| 24611 | ID3D12Device10 * This, | ||
| 24612 | BOOL Enable); | ||
| 24613 | |||
| 24614 | DECLSPEC_XFGVIRT(ID3D12Device, CreateCommandSignature) | ||
| 24615 | HRESULT ( STDMETHODCALLTYPE *CreateCommandSignature )( | ||
| 24616 | ID3D12Device10 * This, | ||
| 24617 | _In_ const D3D12_COMMAND_SIGNATURE_DESC *pDesc, | ||
| 24618 | _In_opt_ ID3D12RootSignature *pRootSignature, | ||
| 24619 | REFIID riid, | ||
| 24620 | _COM_Outptr_opt_ void **ppvCommandSignature); | ||
| 24621 | |||
| 24622 | DECLSPEC_XFGVIRT(ID3D12Device, GetResourceTiling) | ||
| 24623 | void ( STDMETHODCALLTYPE *GetResourceTiling )( | ||
| 24624 | ID3D12Device10 * This, | ||
| 24625 | _In_ ID3D12Resource *pTiledResource, | ||
| 24626 | _Out_opt_ UINT *pNumTilesForEntireResource, | ||
| 24627 | _Out_opt_ D3D12_PACKED_MIP_INFO *pPackedMipDesc, | ||
| 24628 | _Out_opt_ D3D12_TILE_SHAPE *pStandardTileShapeForNonPackedMips, | ||
| 24629 | _Inout_opt_ UINT *pNumSubresourceTilings, | ||
| 24630 | _In_ UINT FirstSubresourceTilingToGet, | ||
| 24631 | _Out_writes_(*pNumSubresourceTilings) D3D12_SUBRESOURCE_TILING *pSubresourceTilingsForNonPackedMips); | ||
| 24632 | |||
| 24633 | DECLSPEC_XFGVIRT(ID3D12Device, GetAdapterLuid) | ||
| 24634 | #if !defined(_WIN32) | ||
| 24635 | LUID ( STDMETHODCALLTYPE *GetAdapterLuid )( | ||
| 24636 | ID3D12Device10 * This); | ||
| 24637 | |||
| 24638 | #else | ||
| 24639 | LUID *( STDMETHODCALLTYPE *GetAdapterLuid )( | ||
| 24640 | ID3D12Device10 * This, | ||
| 24641 | LUID * RetVal); | ||
| 24642 | |||
| 24643 | #endif | ||
| 24644 | |||
| 24645 | DECLSPEC_XFGVIRT(ID3D12Device1, CreatePipelineLibrary) | ||
| 24646 | HRESULT ( STDMETHODCALLTYPE *CreatePipelineLibrary )( | ||
| 24647 | ID3D12Device10 * This, | ||
| 24648 | _In_reads_(BlobLength) const void *pLibraryBlob, | ||
| 24649 | SIZE_T BlobLength, | ||
| 24650 | REFIID riid, | ||
| 24651 | _COM_Outptr_ void **ppPipelineLibrary); | ||
| 24652 | |||
| 24653 | DECLSPEC_XFGVIRT(ID3D12Device1, SetEventOnMultipleFenceCompletion) | ||
| 24654 | HRESULT ( STDMETHODCALLTYPE *SetEventOnMultipleFenceCompletion )( | ||
| 24655 | ID3D12Device10 * This, | ||
| 24656 | _In_reads_(NumFences) ID3D12Fence *const *ppFences, | ||
| 24657 | _In_reads_(NumFences) const UINT64 *pFenceValues, | ||
| 24658 | UINT NumFences, | ||
| 24659 | D3D12_MULTIPLE_FENCE_WAIT_FLAGS Flags, | ||
| 24660 | HANDLE hEvent); | ||
| 24661 | |||
| 24662 | DECLSPEC_XFGVIRT(ID3D12Device1, SetResidencyPriority) | ||
| 24663 | HRESULT ( STDMETHODCALLTYPE *SetResidencyPriority )( | ||
| 24664 | ID3D12Device10 * This, | ||
| 24665 | UINT NumObjects, | ||
| 24666 | _In_reads_(NumObjects) ID3D12Pageable *const *ppObjects, | ||
| 24667 | _In_reads_(NumObjects) const D3D12_RESIDENCY_PRIORITY *pPriorities); | ||
| 24668 | |||
| 24669 | DECLSPEC_XFGVIRT(ID3D12Device2, CreatePipelineState) | ||
| 24670 | HRESULT ( STDMETHODCALLTYPE *CreatePipelineState )( | ||
| 24671 | ID3D12Device10 * This, | ||
| 24672 | const D3D12_PIPELINE_STATE_STREAM_DESC *pDesc, | ||
| 24673 | REFIID riid, | ||
| 24674 | _COM_Outptr_ void **ppPipelineState); | ||
| 24675 | |||
| 24676 | DECLSPEC_XFGVIRT(ID3D12Device3, OpenExistingHeapFromAddress) | ||
| 24677 | HRESULT ( STDMETHODCALLTYPE *OpenExistingHeapFromAddress )( | ||
| 24678 | ID3D12Device10 * This, | ||
| 24679 | _In_ const void *pAddress, | ||
| 24680 | REFIID riid, | ||
| 24681 | _COM_Outptr_ void **ppvHeap); | ||
| 24682 | |||
| 24683 | DECLSPEC_XFGVIRT(ID3D12Device3, OpenExistingHeapFromFileMapping) | ||
| 24684 | HRESULT ( STDMETHODCALLTYPE *OpenExistingHeapFromFileMapping )( | ||
| 24685 | ID3D12Device10 * This, | ||
| 24686 | _In_ HANDLE hFileMapping, | ||
| 24687 | REFIID riid, | ||
| 24688 | _COM_Outptr_ void **ppvHeap); | ||
| 24689 | |||
| 24690 | DECLSPEC_XFGVIRT(ID3D12Device3, EnqueueMakeResident) | ||
| 24691 | HRESULT ( STDMETHODCALLTYPE *EnqueueMakeResident )( | ||
| 24692 | ID3D12Device10 * This, | ||
| 24693 | D3D12_RESIDENCY_FLAGS Flags, | ||
| 24694 | UINT NumObjects, | ||
| 24695 | _In_reads_(NumObjects) ID3D12Pageable *const *ppObjects, | ||
| 24696 | _In_ ID3D12Fence *pFenceToSignal, | ||
| 24697 | UINT64 FenceValueToSignal); | ||
| 24698 | |||
| 24699 | DECLSPEC_XFGVIRT(ID3D12Device4, CreateCommandList1) | ||
| 24700 | HRESULT ( STDMETHODCALLTYPE *CreateCommandList1 )( | ||
| 24701 | ID3D12Device10 * This, | ||
| 24702 | _In_ UINT nodeMask, | ||
| 24703 | _In_ D3D12_COMMAND_LIST_TYPE type, | ||
| 24704 | _In_ D3D12_COMMAND_LIST_FLAGS flags, | ||
| 24705 | REFIID riid, | ||
| 24706 | _COM_Outptr_ void **ppCommandList); | ||
| 24707 | |||
| 24708 | DECLSPEC_XFGVIRT(ID3D12Device4, CreateProtectedResourceSession) | ||
| 24709 | HRESULT ( STDMETHODCALLTYPE *CreateProtectedResourceSession )( | ||
| 24710 | ID3D12Device10 * This, | ||
| 24711 | _In_ const D3D12_PROTECTED_RESOURCE_SESSION_DESC *pDesc, | ||
| 24712 | _In_ REFIID riid, | ||
| 24713 | _COM_Outptr_ void **ppSession); | ||
| 24714 | |||
| 24715 | DECLSPEC_XFGVIRT(ID3D12Device4, CreateCommittedResource1) | ||
| 24716 | HRESULT ( STDMETHODCALLTYPE *CreateCommittedResource1 )( | ||
| 24717 | ID3D12Device10 * This, | ||
| 24718 | _In_ const D3D12_HEAP_PROPERTIES *pHeapProperties, | ||
| 24719 | D3D12_HEAP_FLAGS HeapFlags, | ||
| 24720 | _In_ const D3D12_RESOURCE_DESC *pDesc, | ||
| 24721 | D3D12_RESOURCE_STATES InitialResourceState, | ||
| 24722 | _In_opt_ const D3D12_CLEAR_VALUE *pOptimizedClearValue, | ||
| 24723 | _In_opt_ ID3D12ProtectedResourceSession *pProtectedSession, | ||
| 24724 | REFIID riidResource, | ||
| 24725 | _COM_Outptr_opt_ void **ppvResource); | ||
| 24726 | |||
| 24727 | DECLSPEC_XFGVIRT(ID3D12Device4, CreateHeap1) | ||
| 24728 | HRESULT ( STDMETHODCALLTYPE *CreateHeap1 )( | ||
| 24729 | ID3D12Device10 * This, | ||
| 24730 | _In_ const D3D12_HEAP_DESC *pDesc, | ||
| 24731 | _In_opt_ ID3D12ProtectedResourceSession *pProtectedSession, | ||
| 24732 | REFIID riid, | ||
| 24733 | _COM_Outptr_opt_ void **ppvHeap); | ||
| 24734 | |||
| 24735 | DECLSPEC_XFGVIRT(ID3D12Device4, CreateReservedResource1) | ||
| 24736 | HRESULT ( STDMETHODCALLTYPE *CreateReservedResource1 )( | ||
| 24737 | ID3D12Device10 * This, | ||
| 24738 | _In_ const D3D12_RESOURCE_DESC *pDesc, | ||
| 24739 | D3D12_RESOURCE_STATES InitialState, | ||
| 24740 | _In_opt_ const D3D12_CLEAR_VALUE *pOptimizedClearValue, | ||
| 24741 | _In_opt_ ID3D12ProtectedResourceSession *pProtectedSession, | ||
| 24742 | REFIID riid, | ||
| 24743 | _COM_Outptr_opt_ void **ppvResource); | ||
| 24744 | |||
| 24745 | DECLSPEC_XFGVIRT(ID3D12Device4, GetResourceAllocationInfo1) | ||
| 24746 | #if !defined(_WIN32) | ||
| 24747 | D3D12_RESOURCE_ALLOCATION_INFO ( STDMETHODCALLTYPE *GetResourceAllocationInfo1 )( | ||
| 24748 | ID3D12Device10 * This, | ||
| 24749 | UINT visibleMask, | ||
| 24750 | UINT numResourceDescs, | ||
| 24751 | _In_reads_(numResourceDescs) const D3D12_RESOURCE_DESC *pResourceDescs, | ||
| 24752 | _Out_writes_opt_(numResourceDescs) D3D12_RESOURCE_ALLOCATION_INFO1 *pResourceAllocationInfo1); | ||
| 24753 | |||
| 24754 | #else | ||
| 24755 | D3D12_RESOURCE_ALLOCATION_INFO *( STDMETHODCALLTYPE *GetResourceAllocationInfo1 )( | ||
| 24756 | ID3D12Device10 * This, | ||
| 24757 | D3D12_RESOURCE_ALLOCATION_INFO * RetVal, | ||
| 24758 | UINT visibleMask, | ||
| 24759 | UINT numResourceDescs, | ||
| 24760 | _In_reads_(numResourceDescs) const D3D12_RESOURCE_DESC *pResourceDescs, | ||
| 24761 | _Out_writes_opt_(numResourceDescs) D3D12_RESOURCE_ALLOCATION_INFO1 *pResourceAllocationInfo1); | ||
| 24762 | |||
| 24763 | #endif | ||
| 24764 | |||
| 24765 | DECLSPEC_XFGVIRT(ID3D12Device5, CreateLifetimeTracker) | ||
| 24766 | HRESULT ( STDMETHODCALLTYPE *CreateLifetimeTracker )( | ||
| 24767 | ID3D12Device10 * This, | ||
| 24768 | _In_ ID3D12LifetimeOwner *pOwner, | ||
| 24769 | REFIID riid, | ||
| 24770 | _COM_Outptr_ void **ppvTracker); | ||
| 24771 | |||
| 24772 | DECLSPEC_XFGVIRT(ID3D12Device5, RemoveDevice) | ||
| 24773 | void ( STDMETHODCALLTYPE *RemoveDevice )( | ||
| 24774 | ID3D12Device10 * This); | ||
| 24775 | |||
| 24776 | DECLSPEC_XFGVIRT(ID3D12Device5, EnumerateMetaCommands) | ||
| 24777 | HRESULT ( STDMETHODCALLTYPE *EnumerateMetaCommands )( | ||
| 24778 | ID3D12Device10 * This, | ||
| 24779 | _Inout_ UINT *pNumMetaCommands, | ||
| 24780 | _Out_writes_opt_(*pNumMetaCommands) D3D12_META_COMMAND_DESC *pDescs); | ||
| 24781 | |||
| 24782 | DECLSPEC_XFGVIRT(ID3D12Device5, EnumerateMetaCommandParameters) | ||
| 24783 | HRESULT ( STDMETHODCALLTYPE *EnumerateMetaCommandParameters )( | ||
| 24784 | ID3D12Device10 * This, | ||
| 24785 | _In_ REFGUID CommandId, | ||
| 24786 | _In_ D3D12_META_COMMAND_PARAMETER_STAGE Stage, | ||
| 24787 | _Out_opt_ UINT *pTotalStructureSizeInBytes, | ||
| 24788 | _Inout_ UINT *pParameterCount, | ||
| 24789 | _Out_writes_opt_(*pParameterCount) D3D12_META_COMMAND_PARAMETER_DESC *pParameterDescs); | ||
| 24790 | |||
| 24791 | DECLSPEC_XFGVIRT(ID3D12Device5, CreateMetaCommand) | ||
| 24792 | HRESULT ( STDMETHODCALLTYPE *CreateMetaCommand )( | ||
| 24793 | ID3D12Device10 * This, | ||
| 24794 | _In_ REFGUID CommandId, | ||
| 24795 | _In_ UINT NodeMask, | ||
| 24796 | _In_reads_bytes_opt_(CreationParametersDataSizeInBytes) const void *pCreationParametersData, | ||
| 24797 | _In_ SIZE_T CreationParametersDataSizeInBytes, | ||
| 24798 | REFIID riid, | ||
| 24799 | _COM_Outptr_ void **ppMetaCommand); | ||
| 24800 | |||
| 24801 | DECLSPEC_XFGVIRT(ID3D12Device5, CreateStateObject) | ||
| 24802 | HRESULT ( STDMETHODCALLTYPE *CreateStateObject )( | ||
| 24803 | ID3D12Device10 * This, | ||
| 24804 | const D3D12_STATE_OBJECT_DESC *pDesc, | ||
| 24805 | REFIID riid, | ||
| 24806 | _COM_Outptr_ void **ppStateObject); | ||
| 24807 | |||
| 24808 | DECLSPEC_XFGVIRT(ID3D12Device5, GetRaytracingAccelerationStructurePrebuildInfo) | ||
| 24809 | void ( STDMETHODCALLTYPE *GetRaytracingAccelerationStructurePrebuildInfo )( | ||
| 24810 | ID3D12Device10 * This, | ||
| 24811 | _In_ const D3D12_BUILD_RAYTRACING_ACCELERATION_STRUCTURE_INPUTS *pDesc, | ||
| 24812 | _Out_ D3D12_RAYTRACING_ACCELERATION_STRUCTURE_PREBUILD_INFO *pInfo); | ||
| 24813 | |||
| 24814 | DECLSPEC_XFGVIRT(ID3D12Device5, CheckDriverMatchingIdentifier) | ||
| 24815 | D3D12_DRIVER_MATCHING_IDENTIFIER_STATUS ( STDMETHODCALLTYPE *CheckDriverMatchingIdentifier )( | ||
| 24816 | ID3D12Device10 * This, | ||
| 24817 | _In_ D3D12_SERIALIZED_DATA_TYPE SerializedDataType, | ||
| 24818 | _In_ const D3D12_SERIALIZED_DATA_DRIVER_MATCHING_IDENTIFIER *pIdentifierToCheck); | ||
| 24819 | |||
| 24820 | DECLSPEC_XFGVIRT(ID3D12Device6, SetBackgroundProcessingMode) | ||
| 24821 | HRESULT ( STDMETHODCALLTYPE *SetBackgroundProcessingMode )( | ||
| 24822 | ID3D12Device10 * This, | ||
| 24823 | D3D12_BACKGROUND_PROCESSING_MODE Mode, | ||
| 24824 | D3D12_MEASUREMENTS_ACTION MeasurementsAction, | ||
| 24825 | _In_opt_ HANDLE hEventToSignalUponCompletion, | ||
| 24826 | _Out_opt_ BOOL *pbFurtherMeasurementsDesired); | ||
| 24827 | |||
| 24828 | DECLSPEC_XFGVIRT(ID3D12Device7, AddToStateObject) | ||
| 24829 | HRESULT ( STDMETHODCALLTYPE *AddToStateObject )( | ||
| 24830 | ID3D12Device10 * This, | ||
| 24831 | const D3D12_STATE_OBJECT_DESC *pAddition, | ||
| 24832 | ID3D12StateObject *pStateObjectToGrowFrom, | ||
| 24833 | REFIID riid, | ||
| 24834 | _COM_Outptr_ void **ppNewStateObject); | ||
| 24835 | |||
| 24836 | DECLSPEC_XFGVIRT(ID3D12Device7, CreateProtectedResourceSession1) | ||
| 24837 | HRESULT ( STDMETHODCALLTYPE *CreateProtectedResourceSession1 )( | ||
| 24838 | ID3D12Device10 * This, | ||
| 24839 | _In_ const D3D12_PROTECTED_RESOURCE_SESSION_DESC1 *pDesc, | ||
| 24840 | _In_ REFIID riid, | ||
| 24841 | _COM_Outptr_ void **ppSession); | ||
| 24842 | |||
| 24843 | DECLSPEC_XFGVIRT(ID3D12Device8, GetResourceAllocationInfo2) | ||
| 24844 | #if !defined(_WIN32) | ||
| 24845 | D3D12_RESOURCE_ALLOCATION_INFO ( STDMETHODCALLTYPE *GetResourceAllocationInfo2 )( | ||
| 24846 | ID3D12Device10 * This, | ||
| 24847 | UINT visibleMask, | ||
| 24848 | UINT numResourceDescs, | ||
| 24849 | _In_reads_(numResourceDescs) const D3D12_RESOURCE_DESC1 *pResourceDescs, | ||
| 24850 | _Out_writes_opt_(numResourceDescs) D3D12_RESOURCE_ALLOCATION_INFO1 *pResourceAllocationInfo1); | ||
| 24851 | |||
| 24852 | #else | ||
| 24853 | D3D12_RESOURCE_ALLOCATION_INFO *( STDMETHODCALLTYPE *GetResourceAllocationInfo2 )( | ||
| 24854 | ID3D12Device10 * This, | ||
| 24855 | D3D12_RESOURCE_ALLOCATION_INFO * RetVal, | ||
| 24856 | UINT visibleMask, | ||
| 24857 | UINT numResourceDescs, | ||
| 24858 | _In_reads_(numResourceDescs) const D3D12_RESOURCE_DESC1 *pResourceDescs, | ||
| 24859 | _Out_writes_opt_(numResourceDescs) D3D12_RESOURCE_ALLOCATION_INFO1 *pResourceAllocationInfo1); | ||
| 24860 | |||
| 24861 | #endif | ||
| 24862 | |||
| 24863 | DECLSPEC_XFGVIRT(ID3D12Device8, CreateCommittedResource2) | ||
| 24864 | HRESULT ( STDMETHODCALLTYPE *CreateCommittedResource2 )( | ||
| 24865 | ID3D12Device10 * This, | ||
| 24866 | _In_ const D3D12_HEAP_PROPERTIES *pHeapProperties, | ||
| 24867 | D3D12_HEAP_FLAGS HeapFlags, | ||
| 24868 | _In_ const D3D12_RESOURCE_DESC1 *pDesc, | ||
| 24869 | D3D12_RESOURCE_STATES InitialResourceState, | ||
| 24870 | _In_opt_ const D3D12_CLEAR_VALUE *pOptimizedClearValue, | ||
| 24871 | _In_opt_ ID3D12ProtectedResourceSession *pProtectedSession, | ||
| 24872 | REFIID riidResource, | ||
| 24873 | _COM_Outptr_opt_ void **ppvResource); | ||
| 24874 | |||
| 24875 | DECLSPEC_XFGVIRT(ID3D12Device8, CreatePlacedResource1) | ||
| 24876 | HRESULT ( STDMETHODCALLTYPE *CreatePlacedResource1 )( | ||
| 24877 | ID3D12Device10 * This, | ||
| 24878 | _In_ ID3D12Heap *pHeap, | ||
| 24879 | UINT64 HeapOffset, | ||
| 24880 | _In_ const D3D12_RESOURCE_DESC1 *pDesc, | ||
| 24881 | D3D12_RESOURCE_STATES InitialState, | ||
| 24882 | _In_opt_ const D3D12_CLEAR_VALUE *pOptimizedClearValue, | ||
| 24883 | REFIID riid, | ||
| 24884 | _COM_Outptr_opt_ void **ppvResource); | ||
| 24885 | |||
| 24886 | DECLSPEC_XFGVIRT(ID3D12Device8, CreateSamplerFeedbackUnorderedAccessView) | ||
| 24887 | void ( STDMETHODCALLTYPE *CreateSamplerFeedbackUnorderedAccessView )( | ||
| 24888 | ID3D12Device10 * This, | ||
| 24889 | _In_opt_ ID3D12Resource *pTargetedResource, | ||
| 24890 | _In_opt_ ID3D12Resource *pFeedbackResource, | ||
| 24891 | _In_ D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor); | ||
| 24892 | |||
| 24893 | DECLSPEC_XFGVIRT(ID3D12Device8, GetCopyableFootprints1) | ||
| 24894 | void ( STDMETHODCALLTYPE *GetCopyableFootprints1 )( | ||
| 24895 | ID3D12Device10 * This, | ||
| 24896 | _In_ const D3D12_RESOURCE_DESC1 *pResourceDesc, | ||
| 24897 | _In_range_(0,D3D12_REQ_SUBRESOURCES) UINT FirstSubresource, | ||
| 24898 | _In_range_(0,D3D12_REQ_SUBRESOURCES-FirstSubresource) UINT NumSubresources, | ||
| 24899 | UINT64 BaseOffset, | ||
| 24900 | _Out_writes_opt_(NumSubresources) D3D12_PLACED_SUBRESOURCE_FOOTPRINT *pLayouts, | ||
| 24901 | _Out_writes_opt_(NumSubresources) UINT *pNumRows, | ||
| 24902 | _Out_writes_opt_(NumSubresources) UINT64 *pRowSizeInBytes, | ||
| 24903 | _Out_opt_ UINT64 *pTotalBytes); | ||
| 24904 | |||
| 24905 | DECLSPEC_XFGVIRT(ID3D12Device9, CreateShaderCacheSession) | ||
| 24906 | HRESULT ( STDMETHODCALLTYPE *CreateShaderCacheSession )( | ||
| 24907 | ID3D12Device10 * This, | ||
| 24908 | _In_ const D3D12_SHADER_CACHE_SESSION_DESC *pDesc, | ||
| 24909 | REFIID riid, | ||
| 24910 | _COM_Outptr_opt_ void **ppvSession); | ||
| 24911 | |||
| 24912 | DECLSPEC_XFGVIRT(ID3D12Device9, ShaderCacheControl) | ||
| 24913 | HRESULT ( STDMETHODCALLTYPE *ShaderCacheControl )( | ||
| 24914 | ID3D12Device10 * This, | ||
| 24915 | D3D12_SHADER_CACHE_KIND_FLAGS Kinds, | ||
| 24916 | D3D12_SHADER_CACHE_CONTROL_FLAGS Control); | ||
| 24917 | |||
| 24918 | DECLSPEC_XFGVIRT(ID3D12Device9, CreateCommandQueue1) | ||
| 24919 | HRESULT ( STDMETHODCALLTYPE *CreateCommandQueue1 )( | ||
| 24920 | ID3D12Device10 * This, | ||
| 24921 | _In_ const D3D12_COMMAND_QUEUE_DESC *pDesc, | ||
| 24922 | REFIID CreatorID, | ||
| 24923 | REFIID riid, | ||
| 24924 | _COM_Outptr_ void **ppCommandQueue); | ||
| 24925 | |||
| 24926 | DECLSPEC_XFGVIRT(ID3D12Device10, CreateCommittedResource3) | ||
| 24927 | HRESULT ( STDMETHODCALLTYPE *CreateCommittedResource3 )( | ||
| 24928 | ID3D12Device10 * This, | ||
| 24929 | _In_ const D3D12_HEAP_PROPERTIES *pHeapProperties, | ||
| 24930 | D3D12_HEAP_FLAGS HeapFlags, | ||
| 24931 | _In_ const D3D12_RESOURCE_DESC1 *pDesc, | ||
| 24932 | D3D12_BARRIER_LAYOUT InitialLayout, | ||
| 24933 | _In_opt_ const D3D12_CLEAR_VALUE *pOptimizedClearValue, | ||
| 24934 | _In_opt_ ID3D12ProtectedResourceSession *pProtectedSession, | ||
| 24935 | UINT32 NumCastableFormats, | ||
| 24936 | _In_opt_count_(NumCastableFormats) const DXGI_FORMAT *pCastableFormats, | ||
| 24937 | REFIID riidResource, | ||
| 24938 | _COM_Outptr_opt_ void **ppvResource); | ||
| 24939 | |||
| 24940 | DECLSPEC_XFGVIRT(ID3D12Device10, CreatePlacedResource2) | ||
| 24941 | HRESULT ( STDMETHODCALLTYPE *CreatePlacedResource2 )( | ||
| 24942 | ID3D12Device10 * This, | ||
| 24943 | _In_ ID3D12Heap *pHeap, | ||
| 24944 | UINT64 HeapOffset, | ||
| 24945 | _In_ const D3D12_RESOURCE_DESC1 *pDesc, | ||
| 24946 | D3D12_BARRIER_LAYOUT InitialLayout, | ||
| 24947 | _In_opt_ const D3D12_CLEAR_VALUE *pOptimizedClearValue, | ||
| 24948 | UINT32 NumCastableFormats, | ||
| 24949 | _In_opt_count_(NumCastableFormats) const DXGI_FORMAT *pCastableFormats, | ||
| 24950 | REFIID riid, | ||
| 24951 | _COM_Outptr_opt_ void **ppvResource); | ||
| 24952 | |||
| 24953 | DECLSPEC_XFGVIRT(ID3D12Device10, CreateReservedResource2) | ||
| 24954 | HRESULT ( STDMETHODCALLTYPE *CreateReservedResource2 )( | ||
| 24955 | ID3D12Device10 * This, | ||
| 24956 | _In_ const D3D12_RESOURCE_DESC *pDesc, | ||
| 24957 | D3D12_BARRIER_LAYOUT InitialLayout, | ||
| 24958 | _In_opt_ const D3D12_CLEAR_VALUE *pOptimizedClearValue, | ||
| 24959 | _In_opt_ ID3D12ProtectedResourceSession *pProtectedSession, | ||
| 24960 | UINT32 NumCastableFormats, | ||
| 24961 | _In_opt_count_(NumCastableFormats) const DXGI_FORMAT *pCastableFormats, | ||
| 24962 | REFIID riid, | ||
| 24963 | _COM_Outptr_opt_ void **ppvResource); | ||
| 24964 | |||
| 24965 | END_INTERFACE | ||
| 24966 | } ID3D12Device10Vtbl; | ||
| 24967 | |||
| 24968 | interface ID3D12Device10 | ||
| 24969 | { | ||
| 24970 | CONST_VTBL struct ID3D12Device10Vtbl *lpVtbl; | ||
| 24971 | }; | ||
| 24972 | |||
| 24973 | |||
| 24974 | |||
| 24975 | #ifdef COBJMACROS | ||
| 24976 | |||
| 24977 | |||
| 24978 | #define ID3D12Device10_QueryInterface(This,riid,ppvObject) \ | ||
| 24979 | ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) | ||
| 24980 | |||
| 24981 | #define ID3D12Device10_AddRef(This) \ | ||
| 24982 | ( (This)->lpVtbl -> AddRef(This) ) | ||
| 24983 | |||
| 24984 | #define ID3D12Device10_Release(This) \ | ||
| 24985 | ( (This)->lpVtbl -> Release(This) ) | ||
| 24986 | |||
| 24987 | |||
| 24988 | #define ID3D12Device10_GetPrivateData(This,guid,pDataSize,pData) \ | ||
| 24989 | ( (This)->lpVtbl -> GetPrivateData(This,guid,pDataSize,pData) ) | ||
| 24990 | |||
| 24991 | #define ID3D12Device10_SetPrivateData(This,guid,DataSize,pData) \ | ||
| 24992 | ( (This)->lpVtbl -> SetPrivateData(This,guid,DataSize,pData) ) | ||
| 24993 | |||
| 24994 | #define ID3D12Device10_SetPrivateDataInterface(This,guid,pData) \ | ||
| 24995 | ( (This)->lpVtbl -> SetPrivateDataInterface(This,guid,pData) ) | ||
| 24996 | |||
| 24997 | #define ID3D12Device10_SetName(This,Name) \ | ||
| 24998 | ( (This)->lpVtbl -> SetName(This,Name) ) | ||
| 24999 | |||
| 25000 | |||
| 25001 | #define ID3D12Device10_GetNodeCount(This) \ | ||
| 25002 | ( (This)->lpVtbl -> GetNodeCount(This) ) | ||
| 25003 | |||
| 25004 | #define ID3D12Device10_CreateCommandQueue(This,pDesc,riid,ppCommandQueue) \ | ||
| 25005 | ( (This)->lpVtbl -> CreateCommandQueue(This,pDesc,riid,ppCommandQueue) ) | ||
| 25006 | |||
| 25007 | #define ID3D12Device10_CreateCommandAllocator(This,type,riid,ppCommandAllocator) \ | ||
| 25008 | ( (This)->lpVtbl -> CreateCommandAllocator(This,type,riid,ppCommandAllocator) ) | ||
| 25009 | |||
| 25010 | #define ID3D12Device10_CreateGraphicsPipelineState(This,pDesc,riid,ppPipelineState) \ | ||
| 25011 | ( (This)->lpVtbl -> CreateGraphicsPipelineState(This,pDesc,riid,ppPipelineState) ) | ||
| 25012 | |||
| 25013 | #define ID3D12Device10_CreateComputePipelineState(This,pDesc,riid,ppPipelineState) \ | ||
| 25014 | ( (This)->lpVtbl -> CreateComputePipelineState(This,pDesc,riid,ppPipelineState) ) | ||
| 25015 | |||
| 25016 | #define ID3D12Device10_CreateCommandList(This,nodeMask,type,pCommandAllocator,pInitialState,riid,ppCommandList) \ | ||
| 25017 | ( (This)->lpVtbl -> CreateCommandList(This,nodeMask,type,pCommandAllocator,pInitialState,riid,ppCommandList) ) | ||
| 25018 | |||
| 25019 | #define ID3D12Device10_CheckFeatureSupport(This,Feature,pFeatureSupportData,FeatureSupportDataSize) \ | ||
| 25020 | ( (This)->lpVtbl -> CheckFeatureSupport(This,Feature,pFeatureSupportData,FeatureSupportDataSize) ) | ||
| 25021 | |||
| 25022 | #define ID3D12Device10_CreateDescriptorHeap(This,pDescriptorHeapDesc,riid,ppvHeap) \ | ||
| 25023 | ( (This)->lpVtbl -> CreateDescriptorHeap(This,pDescriptorHeapDesc,riid,ppvHeap) ) | ||
| 25024 | |||
| 25025 | #define ID3D12Device10_GetDescriptorHandleIncrementSize(This,DescriptorHeapType) \ | ||
| 25026 | ( (This)->lpVtbl -> GetDescriptorHandleIncrementSize(This,DescriptorHeapType) ) | ||
| 25027 | |||
| 25028 | #define ID3D12Device10_CreateRootSignature(This,nodeMask,pBlobWithRootSignature,blobLengthInBytes,riid,ppvRootSignature) \ | ||
| 25029 | ( (This)->lpVtbl -> CreateRootSignature(This,nodeMask,pBlobWithRootSignature,blobLengthInBytes,riid,ppvRootSignature) ) | ||
| 25030 | |||
| 25031 | #define ID3D12Device10_CreateConstantBufferView(This,pDesc,DestDescriptor) \ | ||
| 25032 | ( (This)->lpVtbl -> CreateConstantBufferView(This,pDesc,DestDescriptor) ) | ||
| 25033 | |||
| 25034 | #define ID3D12Device10_CreateShaderResourceView(This,pResource,pDesc,DestDescriptor) \ | ||
| 25035 | ( (This)->lpVtbl -> CreateShaderResourceView(This,pResource,pDesc,DestDescriptor) ) | ||
| 25036 | |||
| 25037 | #define ID3D12Device10_CreateUnorderedAccessView(This,pResource,pCounterResource,pDesc,DestDescriptor) \ | ||
| 25038 | ( (This)->lpVtbl -> CreateUnorderedAccessView(This,pResource,pCounterResource,pDesc,DestDescriptor) ) | ||
| 25039 | |||
| 25040 | #define ID3D12Device10_CreateRenderTargetView(This,pResource,pDesc,DestDescriptor) \ | ||
| 25041 | ( (This)->lpVtbl -> CreateRenderTargetView(This,pResource,pDesc,DestDescriptor) ) | ||
| 25042 | |||
| 25043 | #define ID3D12Device10_CreateDepthStencilView(This,pResource,pDesc,DestDescriptor) \ | ||
| 25044 | ( (This)->lpVtbl -> CreateDepthStencilView(This,pResource,pDesc,DestDescriptor) ) | ||
| 25045 | |||
| 25046 | #define ID3D12Device10_CreateSampler(This,pDesc,DestDescriptor) \ | ||
| 25047 | ( (This)->lpVtbl -> CreateSampler(This,pDesc,DestDescriptor) ) | ||
| 25048 | |||
| 25049 | #define ID3D12Device10_CopyDescriptors(This,NumDestDescriptorRanges,pDestDescriptorRangeStarts,pDestDescriptorRangeSizes,NumSrcDescriptorRanges,pSrcDescriptorRangeStarts,pSrcDescriptorRangeSizes,DescriptorHeapsType) \ | ||
| 25050 | ( (This)->lpVtbl -> CopyDescriptors(This,NumDestDescriptorRanges,pDestDescriptorRangeStarts,pDestDescriptorRangeSizes,NumSrcDescriptorRanges,pSrcDescriptorRangeStarts,pSrcDescriptorRangeSizes,DescriptorHeapsType) ) | ||
| 25051 | |||
| 25052 | #define ID3D12Device10_CopyDescriptorsSimple(This,NumDescriptors,DestDescriptorRangeStart,SrcDescriptorRangeStart,DescriptorHeapsType) \ | ||
| 25053 | ( (This)->lpVtbl -> CopyDescriptorsSimple(This,NumDescriptors,DestDescriptorRangeStart,SrcDescriptorRangeStart,DescriptorHeapsType) ) | ||
| 25054 | #if !defined(_WIN32) | ||
| 25055 | |||
| 25056 | #define ID3D12Device10_GetResourceAllocationInfo(This,visibleMask,numResourceDescs,pResourceDescs) \ | ||
| 25057 | ( (This)->lpVtbl -> GetResourceAllocationInfo(This,visibleMask,numResourceDescs,pResourceDescs) ) | ||
| 25058 | #else | ||
| 25059 | #define ID3D12Device10_GetResourceAllocationInfo(This,RetVal,visibleMask,numResourceDescs,pResourceDescs) \ | ||
| 25060 | ( (This)->lpVtbl -> GetResourceAllocationInfo(This,RetVal,visibleMask,numResourceDescs,pResourceDescs) ) | ||
| 25061 | #endif | ||
| 25062 | #if !defined(_WIN32) | ||
| 25063 | |||
| 25064 | #define ID3D12Device10_GetCustomHeapProperties(This,nodeMask,heapType) \ | ||
| 25065 | ( (This)->lpVtbl -> GetCustomHeapProperties(This,nodeMask,heapType) ) | ||
| 25066 | #else | ||
| 25067 | #define ID3D12Device10_GetCustomHeapProperties(This,RetVal,nodeMask,heapType) \ | ||
| 25068 | ( (This)->lpVtbl -> GetCustomHeapProperties(This,RetVal,nodeMask,heapType) ) | ||
| 25069 | #endif | ||
| 25070 | |||
| 25071 | #define ID3D12Device10_CreateCommittedResource(This,pHeapProperties,HeapFlags,pDesc,InitialResourceState,pOptimizedClearValue,riidResource,ppvResource) \ | ||
| 25072 | ( (This)->lpVtbl -> CreateCommittedResource(This,pHeapProperties,HeapFlags,pDesc,InitialResourceState,pOptimizedClearValue,riidResource,ppvResource) ) | ||
| 25073 | |||
| 25074 | #define ID3D12Device10_CreateHeap(This,pDesc,riid,ppvHeap) \ | ||
| 25075 | ( (This)->lpVtbl -> CreateHeap(This,pDesc,riid,ppvHeap) ) | ||
| 25076 | |||
| 25077 | #define ID3D12Device10_CreatePlacedResource(This,pHeap,HeapOffset,pDesc,InitialState,pOptimizedClearValue,riid,ppvResource) \ | ||
| 25078 | ( (This)->lpVtbl -> CreatePlacedResource(This,pHeap,HeapOffset,pDesc,InitialState,pOptimizedClearValue,riid,ppvResource) ) | ||
| 25079 | |||
| 25080 | #define ID3D12Device10_CreateReservedResource(This,pDesc,InitialState,pOptimizedClearValue,riid,ppvResource) \ | ||
| 25081 | ( (This)->lpVtbl -> CreateReservedResource(This,pDesc,InitialState,pOptimizedClearValue,riid,ppvResource) ) | ||
| 25082 | |||
| 25083 | #define ID3D12Device10_CreateSharedHandle(This,pObject,pAttributes,Access,Name,pHandle) \ | ||
| 25084 | ( (This)->lpVtbl -> CreateSharedHandle(This,pObject,pAttributes,Access,Name,pHandle) ) | ||
| 25085 | |||
| 25086 | #define ID3D12Device10_OpenSharedHandle(This,NTHandle,riid,ppvObj) \ | ||
| 25087 | ( (This)->lpVtbl -> OpenSharedHandle(This,NTHandle,riid,ppvObj) ) | ||
| 25088 | |||
| 25089 | #define ID3D12Device10_OpenSharedHandleByName(This,Name,Access,pNTHandle) \ | ||
| 25090 | ( (This)->lpVtbl -> OpenSharedHandleByName(This,Name,Access,pNTHandle) ) | ||
| 25091 | |||
| 25092 | #define ID3D12Device10_MakeResident(This,NumObjects,ppObjects) \ | ||
| 25093 | ( (This)->lpVtbl -> MakeResident(This,NumObjects,ppObjects) ) | ||
| 25094 | |||
| 25095 | #define ID3D12Device10_Evict(This,NumObjects,ppObjects) \ | ||
| 25096 | ( (This)->lpVtbl -> Evict(This,NumObjects,ppObjects) ) | ||
| 25097 | |||
| 25098 | #define ID3D12Device10_CreateFence(This,InitialValue,Flags,riid,ppFence) \ | ||
| 25099 | ( (This)->lpVtbl -> CreateFence(This,InitialValue,Flags,riid,ppFence) ) | ||
| 25100 | |||
| 25101 | #define ID3D12Device10_GetDeviceRemovedReason(This) \ | ||
| 25102 | ( (This)->lpVtbl -> GetDeviceRemovedReason(This) ) | ||
| 25103 | |||
| 25104 | #define ID3D12Device10_GetCopyableFootprints(This,pResourceDesc,FirstSubresource,NumSubresources,BaseOffset,pLayouts,pNumRows,pRowSizeInBytes,pTotalBytes) \ | ||
| 25105 | ( (This)->lpVtbl -> GetCopyableFootprints(This,pResourceDesc,FirstSubresource,NumSubresources,BaseOffset,pLayouts,pNumRows,pRowSizeInBytes,pTotalBytes) ) | ||
| 25106 | |||
| 25107 | #define ID3D12Device10_CreateQueryHeap(This,pDesc,riid,ppvHeap) \ | ||
| 25108 | ( (This)->lpVtbl -> CreateQueryHeap(This,pDesc,riid,ppvHeap) ) | ||
| 25109 | |||
| 25110 | #define ID3D12Device10_SetStablePowerState(This,Enable) \ | ||
| 25111 | ( (This)->lpVtbl -> SetStablePowerState(This,Enable) ) | ||
| 25112 | |||
| 25113 | #define ID3D12Device10_CreateCommandSignature(This,pDesc,pRootSignature,riid,ppvCommandSignature) \ | ||
| 25114 | ( (This)->lpVtbl -> CreateCommandSignature(This,pDesc,pRootSignature,riid,ppvCommandSignature) ) | ||
| 25115 | |||
| 25116 | #define ID3D12Device10_GetResourceTiling(This,pTiledResource,pNumTilesForEntireResource,pPackedMipDesc,pStandardTileShapeForNonPackedMips,pNumSubresourceTilings,FirstSubresourceTilingToGet,pSubresourceTilingsForNonPackedMips) \ | ||
| 25117 | ( (This)->lpVtbl -> GetResourceTiling(This,pTiledResource,pNumTilesForEntireResource,pPackedMipDesc,pStandardTileShapeForNonPackedMips,pNumSubresourceTilings,FirstSubresourceTilingToGet,pSubresourceTilingsForNonPackedMips) ) | ||
| 25118 | #if !defined(_WIN32) | ||
| 25119 | |||
| 25120 | #define ID3D12Device10_GetAdapterLuid(This) \ | ||
| 25121 | ( (This)->lpVtbl -> GetAdapterLuid(This) ) | ||
| 25122 | #else | ||
| 25123 | #define ID3D12Device10_GetAdapterLuid(This,RetVal) \ | ||
| 25124 | ( (This)->lpVtbl -> GetAdapterLuid(This,RetVal) ) | ||
| 25125 | #endif | ||
| 25126 | |||
| 25127 | |||
| 25128 | #define ID3D12Device10_CreatePipelineLibrary(This,pLibraryBlob,BlobLength,riid,ppPipelineLibrary) \ | ||
| 25129 | ( (This)->lpVtbl -> CreatePipelineLibrary(This,pLibraryBlob,BlobLength,riid,ppPipelineLibrary) ) | ||
| 25130 | |||
| 25131 | #define ID3D12Device10_SetEventOnMultipleFenceCompletion(This,ppFences,pFenceValues,NumFences,Flags,hEvent) \ | ||
| 25132 | ( (This)->lpVtbl -> SetEventOnMultipleFenceCompletion(This,ppFences,pFenceValues,NumFences,Flags,hEvent) ) | ||
| 25133 | |||
| 25134 | #define ID3D12Device10_SetResidencyPriority(This,NumObjects,ppObjects,pPriorities) \ | ||
| 25135 | ( (This)->lpVtbl -> SetResidencyPriority(This,NumObjects,ppObjects,pPriorities) ) | ||
| 25136 | |||
| 25137 | |||
| 25138 | #define ID3D12Device10_CreatePipelineState(This,pDesc,riid,ppPipelineState) \ | ||
| 25139 | ( (This)->lpVtbl -> CreatePipelineState(This,pDesc,riid,ppPipelineState) ) | ||
| 25140 | |||
| 25141 | |||
| 25142 | #define ID3D12Device10_OpenExistingHeapFromAddress(This,pAddress,riid,ppvHeap) \ | ||
| 25143 | ( (This)->lpVtbl -> OpenExistingHeapFromAddress(This,pAddress,riid,ppvHeap) ) | ||
| 25144 | |||
| 25145 | #define ID3D12Device10_OpenExistingHeapFromFileMapping(This,hFileMapping,riid,ppvHeap) \ | ||
| 25146 | ( (This)->lpVtbl -> OpenExistingHeapFromFileMapping(This,hFileMapping,riid,ppvHeap) ) | ||
| 25147 | |||
| 25148 | #define ID3D12Device10_EnqueueMakeResident(This,Flags,NumObjects,ppObjects,pFenceToSignal,FenceValueToSignal) \ | ||
| 25149 | ( (This)->lpVtbl -> EnqueueMakeResident(This,Flags,NumObjects,ppObjects,pFenceToSignal,FenceValueToSignal) ) | ||
| 25150 | |||
| 25151 | |||
| 25152 | #define ID3D12Device10_CreateCommandList1(This,nodeMask,type,flags,riid,ppCommandList) \ | ||
| 25153 | ( (This)->lpVtbl -> CreateCommandList1(This,nodeMask,type,flags,riid,ppCommandList) ) | ||
| 25154 | |||
| 25155 | #define ID3D12Device10_CreateProtectedResourceSession(This,pDesc,riid,ppSession) \ | ||
| 25156 | ( (This)->lpVtbl -> CreateProtectedResourceSession(This,pDesc,riid,ppSession) ) | ||
| 25157 | |||
| 25158 | #define ID3D12Device10_CreateCommittedResource1(This,pHeapProperties,HeapFlags,pDesc,InitialResourceState,pOptimizedClearValue,pProtectedSession,riidResource,ppvResource) \ | ||
| 25159 | ( (This)->lpVtbl -> CreateCommittedResource1(This,pHeapProperties,HeapFlags,pDesc,InitialResourceState,pOptimizedClearValue,pProtectedSession,riidResource,ppvResource) ) | ||
| 25160 | |||
| 25161 | #define ID3D12Device10_CreateHeap1(This,pDesc,pProtectedSession,riid,ppvHeap) \ | ||
| 25162 | ( (This)->lpVtbl -> CreateHeap1(This,pDesc,pProtectedSession,riid,ppvHeap) ) | ||
| 25163 | |||
| 25164 | #define ID3D12Device10_CreateReservedResource1(This,pDesc,InitialState,pOptimizedClearValue,pProtectedSession,riid,ppvResource) \ | ||
| 25165 | ( (This)->lpVtbl -> CreateReservedResource1(This,pDesc,InitialState,pOptimizedClearValue,pProtectedSession,riid,ppvResource) ) | ||
| 25166 | #if !defined(_WIN32) | ||
| 25167 | |||
| 25168 | #define ID3D12Device10_GetResourceAllocationInfo1(This,visibleMask,numResourceDescs,pResourceDescs,pResourceAllocationInfo1) \ | ||
| 25169 | ( (This)->lpVtbl -> GetResourceAllocationInfo1(This,visibleMask,numResourceDescs,pResourceDescs,pResourceAllocationInfo1) ) | ||
| 25170 | #else | ||
| 25171 | #define ID3D12Device10_GetResourceAllocationInfo1(This,RetVal,visibleMask,numResourceDescs,pResourceDescs,pResourceAllocationInfo1) \ | ||
| 25172 | ( (This)->lpVtbl -> GetResourceAllocationInfo1(This,RetVal,visibleMask,numResourceDescs,pResourceDescs,pResourceAllocationInfo1) ) | ||
| 25173 | #endif | ||
| 25174 | |||
| 25175 | |||
| 25176 | #define ID3D12Device10_CreateLifetimeTracker(This,pOwner,riid,ppvTracker) \ | ||
| 25177 | ( (This)->lpVtbl -> CreateLifetimeTracker(This,pOwner,riid,ppvTracker) ) | ||
| 25178 | |||
| 25179 | #define ID3D12Device10_RemoveDevice(This) \ | ||
| 25180 | ( (This)->lpVtbl -> RemoveDevice(This) ) | ||
| 25181 | |||
| 25182 | #define ID3D12Device10_EnumerateMetaCommands(This,pNumMetaCommands,pDescs) \ | ||
| 25183 | ( (This)->lpVtbl -> EnumerateMetaCommands(This,pNumMetaCommands,pDescs) ) | ||
| 25184 | |||
| 25185 | #define ID3D12Device10_EnumerateMetaCommandParameters(This,CommandId,Stage,pTotalStructureSizeInBytes,pParameterCount,pParameterDescs) \ | ||
| 25186 | ( (This)->lpVtbl -> EnumerateMetaCommandParameters(This,CommandId,Stage,pTotalStructureSizeInBytes,pParameterCount,pParameterDescs) ) | ||
| 25187 | |||
| 25188 | #define ID3D12Device10_CreateMetaCommand(This,CommandId,NodeMask,pCreationParametersData,CreationParametersDataSizeInBytes,riid,ppMetaCommand) \ | ||
| 25189 | ( (This)->lpVtbl -> CreateMetaCommand(This,CommandId,NodeMask,pCreationParametersData,CreationParametersDataSizeInBytes,riid,ppMetaCommand) ) | ||
| 25190 | |||
| 25191 | #define ID3D12Device10_CreateStateObject(This,pDesc,riid,ppStateObject) \ | ||
| 25192 | ( (This)->lpVtbl -> CreateStateObject(This,pDesc,riid,ppStateObject) ) | ||
| 25193 | |||
| 25194 | #define ID3D12Device10_GetRaytracingAccelerationStructurePrebuildInfo(This,pDesc,pInfo) \ | ||
| 25195 | ( (This)->lpVtbl -> GetRaytracingAccelerationStructurePrebuildInfo(This,pDesc,pInfo) ) | ||
| 25196 | |||
| 25197 | #define ID3D12Device10_CheckDriverMatchingIdentifier(This,SerializedDataType,pIdentifierToCheck) \ | ||
| 25198 | ( (This)->lpVtbl -> CheckDriverMatchingIdentifier(This,SerializedDataType,pIdentifierToCheck) ) | ||
| 25199 | |||
| 25200 | |||
| 25201 | #define ID3D12Device10_SetBackgroundProcessingMode(This,Mode,MeasurementsAction,hEventToSignalUponCompletion,pbFurtherMeasurementsDesired) \ | ||
| 25202 | ( (This)->lpVtbl -> SetBackgroundProcessingMode(This,Mode,MeasurementsAction,hEventToSignalUponCompletion,pbFurtherMeasurementsDesired) ) | ||
| 25203 | |||
| 25204 | |||
| 25205 | #define ID3D12Device10_AddToStateObject(This,pAddition,pStateObjectToGrowFrom,riid,ppNewStateObject) \ | ||
| 25206 | ( (This)->lpVtbl -> AddToStateObject(This,pAddition,pStateObjectToGrowFrom,riid,ppNewStateObject) ) | ||
| 25207 | |||
| 25208 | #define ID3D12Device10_CreateProtectedResourceSession1(This,pDesc,riid,ppSession) \ | ||
| 25209 | ( (This)->lpVtbl -> CreateProtectedResourceSession1(This,pDesc,riid,ppSession) ) | ||
| 25210 | |||
| 25211 | #if !defined(_WIN32) | ||
| 25212 | |||
| 25213 | #define ID3D12Device10_GetResourceAllocationInfo2(This,visibleMask,numResourceDescs,pResourceDescs,pResourceAllocationInfo1) \ | ||
| 25214 | ( (This)->lpVtbl -> GetResourceAllocationInfo2(This,visibleMask,numResourceDescs,pResourceDescs,pResourceAllocationInfo1) ) | ||
| 25215 | #else | ||
| 25216 | #define ID3D12Device10_GetResourceAllocationInfo2(This,RetVal,visibleMask,numResourceDescs,pResourceDescs,pResourceAllocationInfo1) \ | ||
| 25217 | ( (This)->lpVtbl -> GetResourceAllocationInfo2(This,RetVal,visibleMask,numResourceDescs,pResourceDescs,pResourceAllocationInfo1) ) | ||
| 25218 | #endif | ||
| 25219 | |||
| 25220 | #define ID3D12Device10_CreateCommittedResource2(This,pHeapProperties,HeapFlags,pDesc,InitialResourceState,pOptimizedClearValue,pProtectedSession,riidResource,ppvResource) \ | ||
| 25221 | ( (This)->lpVtbl -> CreateCommittedResource2(This,pHeapProperties,HeapFlags,pDesc,InitialResourceState,pOptimizedClearValue,pProtectedSession,riidResource,ppvResource) ) | ||
| 25222 | |||
| 25223 | #define ID3D12Device10_CreatePlacedResource1(This,pHeap,HeapOffset,pDesc,InitialState,pOptimizedClearValue,riid,ppvResource) \ | ||
| 25224 | ( (This)->lpVtbl -> CreatePlacedResource1(This,pHeap,HeapOffset,pDesc,InitialState,pOptimizedClearValue,riid,ppvResource) ) | ||
| 25225 | |||
| 25226 | #define ID3D12Device10_CreateSamplerFeedbackUnorderedAccessView(This,pTargetedResource,pFeedbackResource,DestDescriptor) \ | ||
| 25227 | ( (This)->lpVtbl -> CreateSamplerFeedbackUnorderedAccessView(This,pTargetedResource,pFeedbackResource,DestDescriptor) ) | ||
| 25228 | |||
| 25229 | #define ID3D12Device10_GetCopyableFootprints1(This,pResourceDesc,FirstSubresource,NumSubresources,BaseOffset,pLayouts,pNumRows,pRowSizeInBytes,pTotalBytes) \ | ||
| 25230 | ( (This)->lpVtbl -> GetCopyableFootprints1(This,pResourceDesc,FirstSubresource,NumSubresources,BaseOffset,pLayouts,pNumRows,pRowSizeInBytes,pTotalBytes) ) | ||
| 25231 | |||
| 25232 | |||
| 25233 | #define ID3D12Device10_CreateShaderCacheSession(This,pDesc,riid,ppvSession) \ | ||
| 25234 | ( (This)->lpVtbl -> CreateShaderCacheSession(This,pDesc,riid,ppvSession) ) | ||
| 25235 | |||
| 25236 | #define ID3D12Device10_ShaderCacheControl(This,Kinds,Control) \ | ||
| 25237 | ( (This)->lpVtbl -> ShaderCacheControl(This,Kinds,Control) ) | ||
| 25238 | |||
| 25239 | #define ID3D12Device10_CreateCommandQueue1(This,pDesc,CreatorID,riid,ppCommandQueue) \ | ||
| 25240 | ( (This)->lpVtbl -> CreateCommandQueue1(This,pDesc,CreatorID,riid,ppCommandQueue) ) | ||
| 25241 | |||
| 25242 | |||
| 25243 | #define ID3D12Device10_CreateCommittedResource3(This,pHeapProperties,HeapFlags,pDesc,InitialLayout,pOptimizedClearValue,pProtectedSession,NumCastableFormats,pCastableFormats,riidResource,ppvResource) \ | ||
| 25244 | ( (This)->lpVtbl -> CreateCommittedResource3(This,pHeapProperties,HeapFlags,pDesc,InitialLayout,pOptimizedClearValue,pProtectedSession,NumCastableFormats,pCastableFormats,riidResource,ppvResource) ) | ||
| 25245 | |||
| 25246 | #define ID3D12Device10_CreatePlacedResource2(This,pHeap,HeapOffset,pDesc,InitialLayout,pOptimizedClearValue,NumCastableFormats,pCastableFormats,riid,ppvResource) \ | ||
| 25247 | ( (This)->lpVtbl -> CreatePlacedResource2(This,pHeap,HeapOffset,pDesc,InitialLayout,pOptimizedClearValue,NumCastableFormats,pCastableFormats,riid,ppvResource) ) | ||
| 25248 | |||
| 25249 | #define ID3D12Device10_CreateReservedResource2(This,pDesc,InitialLayout,pOptimizedClearValue,pProtectedSession,NumCastableFormats,pCastableFormats,riid,ppvResource) \ | ||
| 25250 | ( (This)->lpVtbl -> CreateReservedResource2(This,pDesc,InitialLayout,pOptimizedClearValue,pProtectedSession,NumCastableFormats,pCastableFormats,riid,ppvResource) ) | ||
| 25251 | |||
| 25252 | #endif /* COBJMACROS */ | ||
| 25253 | |||
| 25254 | |||
| 25255 | #endif /* C style interface */ | ||
| 25256 | |||
| 25257 | |||
| 25258 | |||
| 25259 | |||
| 25260 | #endif /* __ID3D12Device10_INTERFACE_DEFINED__ */ | ||
| 25261 | |||
| 25262 | |||
| 25263 | #ifndef __ID3D12Device11_INTERFACE_DEFINED__ | ||
| 25264 | #define __ID3D12Device11_INTERFACE_DEFINED__ | ||
| 25265 | |||
| 25266 | /* interface ID3D12Device11 */ | ||
| 25267 | /* [unique][local][object][uuid] */ | ||
| 25268 | |||
| 25269 | |||
| 25270 | EXTERN_C const IID IID_ID3D12Device11; | ||
| 25271 | |||
| 25272 | #if defined(__cplusplus) && !defined(CINTERFACE) | ||
| 25273 | |||
| 25274 | MIDL_INTERFACE("5405c344-d457-444e-b4dd-2366e45aee39") | ||
| 25275 | ID3D12Device11 : public ID3D12Device10 | ||
| 25276 | { | ||
| 25277 | public: | ||
| 25278 | virtual void STDMETHODCALLTYPE CreateSampler2( | ||
| 25279 | _In_ const D3D12_SAMPLER_DESC2 *pDesc, | ||
| 25280 | _In_ D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor) = 0; | ||
| 25281 | |||
| 25282 | }; | ||
| 25283 | |||
| 25284 | |||
| 25285 | #else /* C style interface */ | ||
| 25286 | |||
| 25287 | typedef struct ID3D12Device11Vtbl | ||
| 25288 | { | ||
| 25289 | BEGIN_INTERFACE | ||
| 25290 | |||
| 25291 | DECLSPEC_XFGVIRT(IUnknown, QueryInterface) | ||
| 25292 | HRESULT ( STDMETHODCALLTYPE *QueryInterface )( | ||
| 25293 | ID3D12Device11 * This, | ||
| 25294 | REFIID riid, | ||
| 25295 | _COM_Outptr_ void **ppvObject); | ||
| 25296 | |||
| 25297 | DECLSPEC_XFGVIRT(IUnknown, AddRef) | ||
| 25298 | ULONG ( STDMETHODCALLTYPE *AddRef )( | ||
| 25299 | ID3D12Device11 * This); | ||
| 25300 | |||
| 25301 | DECLSPEC_XFGVIRT(IUnknown, Release) | ||
| 25302 | ULONG ( STDMETHODCALLTYPE *Release )( | ||
| 25303 | ID3D12Device11 * This); | ||
| 25304 | |||
| 25305 | DECLSPEC_XFGVIRT(ID3D12Object, GetPrivateData) | ||
| 25306 | HRESULT ( STDMETHODCALLTYPE *GetPrivateData )( | ||
| 25307 | ID3D12Device11 * This, | ||
| 25308 | _In_ REFGUID guid, | ||
| 25309 | _Inout_ UINT *pDataSize, | ||
| 25310 | _Out_writes_bytes_opt_( *pDataSize ) void *pData); | ||
| 25311 | |||
| 25312 | DECLSPEC_XFGVIRT(ID3D12Object, SetPrivateData) | ||
| 25313 | HRESULT ( STDMETHODCALLTYPE *SetPrivateData )( | ||
| 25314 | ID3D12Device11 * This, | ||
| 25315 | _In_ REFGUID guid, | ||
| 25316 | _In_ UINT DataSize, | ||
| 25317 | _In_reads_bytes_opt_( DataSize ) const void *pData); | ||
| 25318 | |||
| 25319 | DECLSPEC_XFGVIRT(ID3D12Object, SetPrivateDataInterface) | ||
| 25320 | HRESULT ( STDMETHODCALLTYPE *SetPrivateDataInterface )( | ||
| 25321 | ID3D12Device11 * This, | ||
| 25322 | _In_ REFGUID guid, | ||
| 25323 | _In_opt_ const IUnknown *pData); | ||
| 25324 | |||
| 25325 | DECLSPEC_XFGVIRT(ID3D12Object, SetName) | ||
| 25326 | HRESULT ( STDMETHODCALLTYPE *SetName )( | ||
| 25327 | ID3D12Device11 * This, | ||
| 25328 | _In_z_ LPCWSTR Name); | ||
| 25329 | |||
| 25330 | DECLSPEC_XFGVIRT(ID3D12Device, GetNodeCount) | ||
| 25331 | UINT ( STDMETHODCALLTYPE *GetNodeCount )( | ||
| 25332 | ID3D12Device11 * This); | ||
| 25333 | |||
| 25334 | DECLSPEC_XFGVIRT(ID3D12Device, CreateCommandQueue) | ||
| 25335 | HRESULT ( STDMETHODCALLTYPE *CreateCommandQueue )( | ||
| 25336 | ID3D12Device11 * This, | ||
| 25337 | _In_ const D3D12_COMMAND_QUEUE_DESC *pDesc, | ||
| 25338 | REFIID riid, | ||
| 25339 | _COM_Outptr_ void **ppCommandQueue); | ||
| 25340 | |||
| 25341 | DECLSPEC_XFGVIRT(ID3D12Device, CreateCommandAllocator) | ||
| 25342 | HRESULT ( STDMETHODCALLTYPE *CreateCommandAllocator )( | ||
| 25343 | ID3D12Device11 * This, | ||
| 25344 | _In_ D3D12_COMMAND_LIST_TYPE type, | ||
| 25345 | REFIID riid, | ||
| 25346 | _COM_Outptr_ void **ppCommandAllocator); | ||
| 25347 | |||
| 25348 | DECLSPEC_XFGVIRT(ID3D12Device, CreateGraphicsPipelineState) | ||
| 25349 | HRESULT ( STDMETHODCALLTYPE *CreateGraphicsPipelineState )( | ||
| 25350 | ID3D12Device11 * This, | ||
| 25351 | _In_ const D3D12_GRAPHICS_PIPELINE_STATE_DESC *pDesc, | ||
| 25352 | REFIID riid, | ||
| 25353 | _COM_Outptr_ void **ppPipelineState); | ||
| 25354 | |||
| 25355 | DECLSPEC_XFGVIRT(ID3D12Device, CreateComputePipelineState) | ||
| 25356 | HRESULT ( STDMETHODCALLTYPE *CreateComputePipelineState )( | ||
| 25357 | ID3D12Device11 * This, | ||
| 25358 | _In_ const D3D12_COMPUTE_PIPELINE_STATE_DESC *pDesc, | ||
| 25359 | REFIID riid, | ||
| 25360 | _COM_Outptr_ void **ppPipelineState); | ||
| 25361 | |||
| 25362 | DECLSPEC_XFGVIRT(ID3D12Device, CreateCommandList) | ||
| 25363 | HRESULT ( STDMETHODCALLTYPE *CreateCommandList )( | ||
| 25364 | ID3D12Device11 * This, | ||
| 25365 | _In_ UINT nodeMask, | ||
| 25366 | _In_ D3D12_COMMAND_LIST_TYPE type, | ||
| 25367 | _In_ ID3D12CommandAllocator *pCommandAllocator, | ||
| 25368 | _In_opt_ ID3D12PipelineState *pInitialState, | ||
| 25369 | REFIID riid, | ||
| 25370 | _COM_Outptr_ void **ppCommandList); | ||
| 25371 | |||
| 25372 | DECLSPEC_XFGVIRT(ID3D12Device, CheckFeatureSupport) | ||
| 25373 | HRESULT ( STDMETHODCALLTYPE *CheckFeatureSupport )( | ||
| 25374 | ID3D12Device11 * This, | ||
| 25375 | D3D12_FEATURE Feature, | ||
| 25376 | _Inout_updates_bytes_(FeatureSupportDataSize) void *pFeatureSupportData, | ||
| 25377 | UINT FeatureSupportDataSize); | ||
| 25378 | |||
| 25379 | DECLSPEC_XFGVIRT(ID3D12Device, CreateDescriptorHeap) | ||
| 25380 | HRESULT ( STDMETHODCALLTYPE *CreateDescriptorHeap )( | ||
| 25381 | ID3D12Device11 * This, | ||
| 25382 | _In_ const D3D12_DESCRIPTOR_HEAP_DESC *pDescriptorHeapDesc, | ||
| 25383 | REFIID riid, | ||
| 25384 | _COM_Outptr_ void **ppvHeap); | ||
| 25385 | |||
| 25386 | DECLSPEC_XFGVIRT(ID3D12Device, GetDescriptorHandleIncrementSize) | ||
| 25387 | UINT ( STDMETHODCALLTYPE *GetDescriptorHandleIncrementSize )( | ||
| 25388 | ID3D12Device11 * This, | ||
| 25389 | _In_ D3D12_DESCRIPTOR_HEAP_TYPE DescriptorHeapType); | ||
| 25390 | |||
| 25391 | DECLSPEC_XFGVIRT(ID3D12Device, CreateRootSignature) | ||
| 25392 | HRESULT ( STDMETHODCALLTYPE *CreateRootSignature )( | ||
| 25393 | ID3D12Device11 * This, | ||
| 25394 | _In_ UINT nodeMask, | ||
| 25395 | _In_reads_(blobLengthInBytes) const void *pBlobWithRootSignature, | ||
| 25396 | _In_ SIZE_T blobLengthInBytes, | ||
| 25397 | REFIID riid, | ||
| 25398 | _COM_Outptr_ void **ppvRootSignature); | ||
| 25399 | |||
| 25400 | DECLSPEC_XFGVIRT(ID3D12Device, CreateConstantBufferView) | ||
| 25401 | void ( STDMETHODCALLTYPE *CreateConstantBufferView )( | ||
| 25402 | ID3D12Device11 * This, | ||
| 25403 | _In_opt_ const D3D12_CONSTANT_BUFFER_VIEW_DESC *pDesc, | ||
| 25404 | _In_ D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor); | ||
| 25405 | |||
| 25406 | DECLSPEC_XFGVIRT(ID3D12Device, CreateShaderResourceView) | ||
| 25407 | void ( STDMETHODCALLTYPE *CreateShaderResourceView )( | ||
| 25408 | ID3D12Device11 * This, | ||
| 25409 | _In_opt_ ID3D12Resource *pResource, | ||
| 25410 | _In_opt_ const D3D12_SHADER_RESOURCE_VIEW_DESC *pDesc, | ||
| 25411 | _In_ D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor); | ||
| 25412 | |||
| 25413 | DECLSPEC_XFGVIRT(ID3D12Device, CreateUnorderedAccessView) | ||
| 25414 | void ( STDMETHODCALLTYPE *CreateUnorderedAccessView )( | ||
| 25415 | ID3D12Device11 * This, | ||
| 25416 | _In_opt_ ID3D12Resource *pResource, | ||
| 25417 | _In_opt_ ID3D12Resource *pCounterResource, | ||
| 25418 | _In_opt_ const D3D12_UNORDERED_ACCESS_VIEW_DESC *pDesc, | ||
| 25419 | _In_ D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor); | ||
| 25420 | |||
| 25421 | DECLSPEC_XFGVIRT(ID3D12Device, CreateRenderTargetView) | ||
| 25422 | void ( STDMETHODCALLTYPE *CreateRenderTargetView )( | ||
| 25423 | ID3D12Device11 * This, | ||
| 25424 | _In_opt_ ID3D12Resource *pResource, | ||
| 25425 | _In_opt_ const D3D12_RENDER_TARGET_VIEW_DESC *pDesc, | ||
| 25426 | _In_ D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor); | ||
| 25427 | |||
| 25428 | DECLSPEC_XFGVIRT(ID3D12Device, CreateDepthStencilView) | ||
| 25429 | void ( STDMETHODCALLTYPE *CreateDepthStencilView )( | ||
| 25430 | ID3D12Device11 * This, | ||
| 25431 | _In_opt_ ID3D12Resource *pResource, | ||
| 25432 | _In_opt_ const D3D12_DEPTH_STENCIL_VIEW_DESC *pDesc, | ||
| 25433 | _In_ D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor); | ||
| 25434 | |||
| 25435 | DECLSPEC_XFGVIRT(ID3D12Device, CreateSampler) | ||
| 25436 | void ( STDMETHODCALLTYPE *CreateSampler )( | ||
| 25437 | ID3D12Device11 * This, | ||
| 25438 | _In_ const D3D12_SAMPLER_DESC *pDesc, | ||
| 25439 | _In_ D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor); | ||
| 25440 | |||
| 25441 | DECLSPEC_XFGVIRT(ID3D12Device, CopyDescriptors) | ||
| 25442 | void ( STDMETHODCALLTYPE *CopyDescriptors )( | ||
| 25443 | ID3D12Device11 * This, | ||
| 25444 | _In_ UINT NumDestDescriptorRanges, | ||
| 25445 | _In_reads_(NumDestDescriptorRanges) const D3D12_CPU_DESCRIPTOR_HANDLE *pDestDescriptorRangeStarts, | ||
| 25446 | _In_reads_opt_(NumDestDescriptorRanges) const UINT *pDestDescriptorRangeSizes, | ||
| 25447 | _In_ UINT NumSrcDescriptorRanges, | ||
| 25448 | _In_reads_(NumSrcDescriptorRanges) const D3D12_CPU_DESCRIPTOR_HANDLE *pSrcDescriptorRangeStarts, | ||
| 25449 | _In_reads_opt_(NumSrcDescriptorRanges) const UINT *pSrcDescriptorRangeSizes, | ||
| 25450 | _In_ D3D12_DESCRIPTOR_HEAP_TYPE DescriptorHeapsType); | ||
| 25451 | |||
| 25452 | DECLSPEC_XFGVIRT(ID3D12Device, CopyDescriptorsSimple) | ||
| 25453 | void ( STDMETHODCALLTYPE *CopyDescriptorsSimple )( | ||
| 25454 | ID3D12Device11 * This, | ||
| 25455 | _In_ UINT NumDescriptors, | ||
| 25456 | _In_ D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptorRangeStart, | ||
| 25457 | _In_ D3D12_CPU_DESCRIPTOR_HANDLE SrcDescriptorRangeStart, | ||
| 25458 | _In_ D3D12_DESCRIPTOR_HEAP_TYPE DescriptorHeapsType); | ||
| 25459 | |||
| 25460 | DECLSPEC_XFGVIRT(ID3D12Device, GetResourceAllocationInfo) | ||
| 25461 | #if !defined(_WIN32) | ||
| 25462 | D3D12_RESOURCE_ALLOCATION_INFO ( STDMETHODCALLTYPE *GetResourceAllocationInfo )( | ||
| 25463 | ID3D12Device11 * This, | ||
| 25464 | _In_ UINT visibleMask, | ||
| 25465 | _In_ UINT numResourceDescs, | ||
| 25466 | _In_reads_(numResourceDescs) const D3D12_RESOURCE_DESC *pResourceDescs); | ||
| 25467 | |||
| 25468 | #else | ||
| 25469 | D3D12_RESOURCE_ALLOCATION_INFO *( STDMETHODCALLTYPE *GetResourceAllocationInfo )( | ||
| 25470 | ID3D12Device11 * This, | ||
| 25471 | D3D12_RESOURCE_ALLOCATION_INFO * RetVal, | ||
| 25472 | _In_ UINT visibleMask, | ||
| 25473 | _In_ UINT numResourceDescs, | ||
| 25474 | _In_reads_(numResourceDescs) const D3D12_RESOURCE_DESC *pResourceDescs); | ||
| 25475 | |||
| 25476 | #endif | ||
| 25477 | |||
| 25478 | DECLSPEC_XFGVIRT(ID3D12Device, GetCustomHeapProperties) | ||
| 25479 | #if !defined(_WIN32) | ||
| 25480 | D3D12_HEAP_PROPERTIES ( STDMETHODCALLTYPE *GetCustomHeapProperties )( | ||
| 25481 | ID3D12Device11 * This, | ||
| 25482 | _In_ UINT nodeMask, | ||
| 25483 | D3D12_HEAP_TYPE heapType); | ||
| 25484 | |||
| 25485 | #else | ||
| 25486 | D3D12_HEAP_PROPERTIES *( STDMETHODCALLTYPE *GetCustomHeapProperties )( | ||
| 25487 | ID3D12Device11 * This, | ||
| 25488 | D3D12_HEAP_PROPERTIES * RetVal, | ||
| 25489 | _In_ UINT nodeMask, | ||
| 25490 | D3D12_HEAP_TYPE heapType); | ||
| 25491 | |||
| 25492 | #endif | ||
| 25493 | |||
| 25494 | DECLSPEC_XFGVIRT(ID3D12Device, CreateCommittedResource) | ||
| 25495 | HRESULT ( STDMETHODCALLTYPE *CreateCommittedResource )( | ||
| 25496 | ID3D12Device11 * This, | ||
| 25497 | _In_ const D3D12_HEAP_PROPERTIES *pHeapProperties, | ||
| 25498 | D3D12_HEAP_FLAGS HeapFlags, | ||
| 25499 | _In_ const D3D12_RESOURCE_DESC *pDesc, | ||
| 25500 | D3D12_RESOURCE_STATES InitialResourceState, | ||
| 25501 | _In_opt_ const D3D12_CLEAR_VALUE *pOptimizedClearValue, | ||
| 25502 | REFIID riidResource, | ||
| 25503 | _COM_Outptr_opt_ void **ppvResource); | ||
| 25504 | |||
| 25505 | DECLSPEC_XFGVIRT(ID3D12Device, CreateHeap) | ||
| 25506 | HRESULT ( STDMETHODCALLTYPE *CreateHeap )( | ||
| 25507 | ID3D12Device11 * This, | ||
| 25508 | _In_ const D3D12_HEAP_DESC *pDesc, | ||
| 25509 | REFIID riid, | ||
| 25510 | _COM_Outptr_opt_ void **ppvHeap); | ||
| 25511 | |||
| 25512 | DECLSPEC_XFGVIRT(ID3D12Device, CreatePlacedResource) | ||
| 25513 | HRESULT ( STDMETHODCALLTYPE *CreatePlacedResource )( | ||
| 25514 | ID3D12Device11 * This, | ||
| 25515 | _In_ ID3D12Heap *pHeap, | ||
| 25516 | UINT64 HeapOffset, | ||
| 25517 | _In_ const D3D12_RESOURCE_DESC *pDesc, | ||
| 25518 | D3D12_RESOURCE_STATES InitialState, | ||
| 25519 | _In_opt_ const D3D12_CLEAR_VALUE *pOptimizedClearValue, | ||
| 25520 | REFIID riid, | ||
| 25521 | _COM_Outptr_opt_ void **ppvResource); | ||
| 25522 | |||
| 25523 | DECLSPEC_XFGVIRT(ID3D12Device, CreateReservedResource) | ||
| 25524 | HRESULT ( STDMETHODCALLTYPE *CreateReservedResource )( | ||
| 25525 | ID3D12Device11 * This, | ||
| 25526 | _In_ const D3D12_RESOURCE_DESC *pDesc, | ||
| 25527 | D3D12_RESOURCE_STATES InitialState, | ||
| 25528 | _In_opt_ const D3D12_CLEAR_VALUE *pOptimizedClearValue, | ||
| 25529 | REFIID riid, | ||
| 25530 | _COM_Outptr_opt_ void **ppvResource); | ||
| 25531 | |||
| 25532 | DECLSPEC_XFGVIRT(ID3D12Device, CreateSharedHandle) | ||
| 25533 | HRESULT ( STDMETHODCALLTYPE *CreateSharedHandle )( | ||
| 25534 | ID3D12Device11 * This, | ||
| 25535 | _In_ ID3D12DeviceChild *pObject, | ||
| 25536 | _In_opt_ const SECURITY_ATTRIBUTES *pAttributes, | ||
| 25537 | DWORD Access, | ||
| 25538 | _In_opt_ LPCWSTR Name, | ||
| 25539 | _Out_ HANDLE *pHandle); | ||
| 25540 | |||
| 25541 | DECLSPEC_XFGVIRT(ID3D12Device, OpenSharedHandle) | ||
| 25542 | HRESULT ( STDMETHODCALLTYPE *OpenSharedHandle )( | ||
| 25543 | ID3D12Device11 * This, | ||
| 25544 | _In_ HANDLE NTHandle, | ||
| 25545 | REFIID riid, | ||
| 25546 | _COM_Outptr_opt_ void **ppvObj); | ||
| 25547 | |||
| 25548 | DECLSPEC_XFGVIRT(ID3D12Device, OpenSharedHandleByName) | ||
| 25549 | HRESULT ( STDMETHODCALLTYPE *OpenSharedHandleByName )( | ||
| 25550 | ID3D12Device11 * This, | ||
| 25551 | _In_ LPCWSTR Name, | ||
| 25552 | DWORD Access, | ||
| 25553 | /* [annotation][out] */ | ||
| 25554 | _Out_ HANDLE *pNTHandle); | ||
| 25555 | |||
| 25556 | DECLSPEC_XFGVIRT(ID3D12Device, MakeResident) | ||
| 25557 | HRESULT ( STDMETHODCALLTYPE *MakeResident )( | ||
| 25558 | ID3D12Device11 * This, | ||
| 25559 | UINT NumObjects, | ||
| 25560 | _In_reads_(NumObjects) ID3D12Pageable *const *ppObjects); | ||
| 25561 | |||
| 25562 | DECLSPEC_XFGVIRT(ID3D12Device, Evict) | ||
| 25563 | HRESULT ( STDMETHODCALLTYPE *Evict )( | ||
| 25564 | ID3D12Device11 * This, | ||
| 25565 | UINT NumObjects, | ||
| 25566 | _In_reads_(NumObjects) ID3D12Pageable *const *ppObjects); | ||
| 25567 | |||
| 25568 | DECLSPEC_XFGVIRT(ID3D12Device, CreateFence) | ||
| 25569 | HRESULT ( STDMETHODCALLTYPE *CreateFence )( | ||
| 25570 | ID3D12Device11 * This, | ||
| 25571 | UINT64 InitialValue, | ||
| 25572 | D3D12_FENCE_FLAGS Flags, | ||
| 25573 | REFIID riid, | ||
| 25574 | _COM_Outptr_ void **ppFence); | ||
| 25575 | |||
| 25576 | DECLSPEC_XFGVIRT(ID3D12Device, GetDeviceRemovedReason) | ||
| 25577 | HRESULT ( STDMETHODCALLTYPE *GetDeviceRemovedReason )( | ||
| 25578 | ID3D12Device11 * This); | ||
| 25579 | |||
| 25580 | DECLSPEC_XFGVIRT(ID3D12Device, GetCopyableFootprints) | ||
| 25581 | void ( STDMETHODCALLTYPE *GetCopyableFootprints )( | ||
| 25582 | ID3D12Device11 * This, | ||
| 25583 | _In_ const D3D12_RESOURCE_DESC *pResourceDesc, | ||
| 25584 | _In_range_(0,D3D12_REQ_SUBRESOURCES) UINT FirstSubresource, | ||
| 25585 | _In_range_(0,D3D12_REQ_SUBRESOURCES-FirstSubresource) UINT NumSubresources, | ||
| 25586 | UINT64 BaseOffset, | ||
| 25587 | _Out_writes_opt_(NumSubresources) D3D12_PLACED_SUBRESOURCE_FOOTPRINT *pLayouts, | ||
| 25588 | _Out_writes_opt_(NumSubresources) UINT *pNumRows, | ||
| 25589 | _Out_writes_opt_(NumSubresources) UINT64 *pRowSizeInBytes, | ||
| 25590 | _Out_opt_ UINT64 *pTotalBytes); | ||
| 25591 | |||
| 25592 | DECLSPEC_XFGVIRT(ID3D12Device, CreateQueryHeap) | ||
| 25593 | HRESULT ( STDMETHODCALLTYPE *CreateQueryHeap )( | ||
| 25594 | ID3D12Device11 * This, | ||
| 25595 | _In_ const D3D12_QUERY_HEAP_DESC *pDesc, | ||
| 25596 | REFIID riid, | ||
| 25597 | _COM_Outptr_opt_ void **ppvHeap); | ||
| 25598 | |||
| 25599 | DECLSPEC_XFGVIRT(ID3D12Device, SetStablePowerState) | ||
| 25600 | HRESULT ( STDMETHODCALLTYPE *SetStablePowerState )( | ||
| 25601 | ID3D12Device11 * This, | ||
| 25602 | BOOL Enable); | ||
| 25603 | |||
| 25604 | DECLSPEC_XFGVIRT(ID3D12Device, CreateCommandSignature) | ||
| 25605 | HRESULT ( STDMETHODCALLTYPE *CreateCommandSignature )( | ||
| 25606 | ID3D12Device11 * This, | ||
| 25607 | _In_ const D3D12_COMMAND_SIGNATURE_DESC *pDesc, | ||
| 25608 | _In_opt_ ID3D12RootSignature *pRootSignature, | ||
| 25609 | REFIID riid, | ||
| 25610 | _COM_Outptr_opt_ void **ppvCommandSignature); | ||
| 25611 | |||
| 25612 | DECLSPEC_XFGVIRT(ID3D12Device, GetResourceTiling) | ||
| 25613 | void ( STDMETHODCALLTYPE *GetResourceTiling )( | ||
| 25614 | ID3D12Device11 * This, | ||
| 25615 | _In_ ID3D12Resource *pTiledResource, | ||
| 25616 | _Out_opt_ UINT *pNumTilesForEntireResource, | ||
| 25617 | _Out_opt_ D3D12_PACKED_MIP_INFO *pPackedMipDesc, | ||
| 25618 | _Out_opt_ D3D12_TILE_SHAPE *pStandardTileShapeForNonPackedMips, | ||
| 25619 | _Inout_opt_ UINT *pNumSubresourceTilings, | ||
| 25620 | _In_ UINT FirstSubresourceTilingToGet, | ||
| 25621 | _Out_writes_(*pNumSubresourceTilings) D3D12_SUBRESOURCE_TILING *pSubresourceTilingsForNonPackedMips); | ||
| 25622 | |||
| 25623 | DECLSPEC_XFGVIRT(ID3D12Device, GetAdapterLuid) | ||
| 25624 | #if !defined(_WIN32) | ||
| 25625 | LUID ( STDMETHODCALLTYPE *GetAdapterLuid )( | ||
| 25626 | ID3D12Device11 * This); | ||
| 25627 | |||
| 25628 | #else | ||
| 25629 | LUID *( STDMETHODCALLTYPE *GetAdapterLuid )( | ||
| 25630 | ID3D12Device11 * This, | ||
| 25631 | LUID * RetVal); | ||
| 25632 | |||
| 25633 | #endif | ||
| 25634 | |||
| 25635 | DECLSPEC_XFGVIRT(ID3D12Device1, CreatePipelineLibrary) | ||
| 25636 | HRESULT ( STDMETHODCALLTYPE *CreatePipelineLibrary )( | ||
| 25637 | ID3D12Device11 * This, | ||
| 25638 | _In_reads_(BlobLength) const void *pLibraryBlob, | ||
| 25639 | SIZE_T BlobLength, | ||
| 25640 | REFIID riid, | ||
| 25641 | _COM_Outptr_ void **ppPipelineLibrary); | ||
| 25642 | |||
| 25643 | DECLSPEC_XFGVIRT(ID3D12Device1, SetEventOnMultipleFenceCompletion) | ||
| 25644 | HRESULT ( STDMETHODCALLTYPE *SetEventOnMultipleFenceCompletion )( | ||
| 25645 | ID3D12Device11 * This, | ||
| 25646 | _In_reads_(NumFences) ID3D12Fence *const *ppFences, | ||
| 25647 | _In_reads_(NumFences) const UINT64 *pFenceValues, | ||
| 25648 | UINT NumFences, | ||
| 25649 | D3D12_MULTIPLE_FENCE_WAIT_FLAGS Flags, | ||
| 25650 | HANDLE hEvent); | ||
| 25651 | |||
| 25652 | DECLSPEC_XFGVIRT(ID3D12Device1, SetResidencyPriority) | ||
| 25653 | HRESULT ( STDMETHODCALLTYPE *SetResidencyPriority )( | ||
| 25654 | ID3D12Device11 * This, | ||
| 25655 | UINT NumObjects, | ||
| 25656 | _In_reads_(NumObjects) ID3D12Pageable *const *ppObjects, | ||
| 25657 | _In_reads_(NumObjects) const D3D12_RESIDENCY_PRIORITY *pPriorities); | ||
| 25658 | |||
| 25659 | DECLSPEC_XFGVIRT(ID3D12Device2, CreatePipelineState) | ||
| 25660 | HRESULT ( STDMETHODCALLTYPE *CreatePipelineState )( | ||
| 25661 | ID3D12Device11 * This, | ||
| 25662 | const D3D12_PIPELINE_STATE_STREAM_DESC *pDesc, | ||
| 25663 | REFIID riid, | ||
| 25664 | _COM_Outptr_ void **ppPipelineState); | ||
| 25665 | |||
| 25666 | DECLSPEC_XFGVIRT(ID3D12Device3, OpenExistingHeapFromAddress) | ||
| 25667 | HRESULT ( STDMETHODCALLTYPE *OpenExistingHeapFromAddress )( | ||
| 25668 | ID3D12Device11 * This, | ||
| 25669 | _In_ const void *pAddress, | ||
| 25670 | REFIID riid, | ||
| 25671 | _COM_Outptr_ void **ppvHeap); | ||
| 25672 | |||
| 25673 | DECLSPEC_XFGVIRT(ID3D12Device3, OpenExistingHeapFromFileMapping) | ||
| 25674 | HRESULT ( STDMETHODCALLTYPE *OpenExistingHeapFromFileMapping )( | ||
| 25675 | ID3D12Device11 * This, | ||
| 25676 | _In_ HANDLE hFileMapping, | ||
| 25677 | REFIID riid, | ||
| 25678 | _COM_Outptr_ void **ppvHeap); | ||
| 25679 | |||
| 25680 | DECLSPEC_XFGVIRT(ID3D12Device3, EnqueueMakeResident) | ||
| 25681 | HRESULT ( STDMETHODCALLTYPE *EnqueueMakeResident )( | ||
| 25682 | ID3D12Device11 * This, | ||
| 25683 | D3D12_RESIDENCY_FLAGS Flags, | ||
| 25684 | UINT NumObjects, | ||
| 25685 | _In_reads_(NumObjects) ID3D12Pageable *const *ppObjects, | ||
| 25686 | _In_ ID3D12Fence *pFenceToSignal, | ||
| 25687 | UINT64 FenceValueToSignal); | ||
| 25688 | |||
| 25689 | DECLSPEC_XFGVIRT(ID3D12Device4, CreateCommandList1) | ||
| 25690 | HRESULT ( STDMETHODCALLTYPE *CreateCommandList1 )( | ||
| 25691 | ID3D12Device11 * This, | ||
| 25692 | _In_ UINT nodeMask, | ||
| 25693 | _In_ D3D12_COMMAND_LIST_TYPE type, | ||
| 25694 | _In_ D3D12_COMMAND_LIST_FLAGS flags, | ||
| 25695 | REFIID riid, | ||
| 25696 | _COM_Outptr_ void **ppCommandList); | ||
| 25697 | |||
| 25698 | DECLSPEC_XFGVIRT(ID3D12Device4, CreateProtectedResourceSession) | ||
| 25699 | HRESULT ( STDMETHODCALLTYPE *CreateProtectedResourceSession )( | ||
| 25700 | ID3D12Device11 * This, | ||
| 25701 | _In_ const D3D12_PROTECTED_RESOURCE_SESSION_DESC *pDesc, | ||
| 25702 | _In_ REFIID riid, | ||
| 25703 | _COM_Outptr_ void **ppSession); | ||
| 25704 | |||
| 25705 | DECLSPEC_XFGVIRT(ID3D12Device4, CreateCommittedResource1) | ||
| 25706 | HRESULT ( STDMETHODCALLTYPE *CreateCommittedResource1 )( | ||
| 25707 | ID3D12Device11 * This, | ||
| 25708 | _In_ const D3D12_HEAP_PROPERTIES *pHeapProperties, | ||
| 25709 | D3D12_HEAP_FLAGS HeapFlags, | ||
| 25710 | _In_ const D3D12_RESOURCE_DESC *pDesc, | ||
| 25711 | D3D12_RESOURCE_STATES InitialResourceState, | ||
| 25712 | _In_opt_ const D3D12_CLEAR_VALUE *pOptimizedClearValue, | ||
| 25713 | _In_opt_ ID3D12ProtectedResourceSession *pProtectedSession, | ||
| 25714 | REFIID riidResource, | ||
| 25715 | _COM_Outptr_opt_ void **ppvResource); | ||
| 25716 | |||
| 25717 | DECLSPEC_XFGVIRT(ID3D12Device4, CreateHeap1) | ||
| 25718 | HRESULT ( STDMETHODCALLTYPE *CreateHeap1 )( | ||
| 25719 | ID3D12Device11 * This, | ||
| 25720 | _In_ const D3D12_HEAP_DESC *pDesc, | ||
| 25721 | _In_opt_ ID3D12ProtectedResourceSession *pProtectedSession, | ||
| 25722 | REFIID riid, | ||
| 25723 | _COM_Outptr_opt_ void **ppvHeap); | ||
| 25724 | |||
| 25725 | DECLSPEC_XFGVIRT(ID3D12Device4, CreateReservedResource1) | ||
| 25726 | HRESULT ( STDMETHODCALLTYPE *CreateReservedResource1 )( | ||
| 25727 | ID3D12Device11 * This, | ||
| 25728 | _In_ const D3D12_RESOURCE_DESC *pDesc, | ||
| 25729 | D3D12_RESOURCE_STATES InitialState, | ||
| 25730 | _In_opt_ const D3D12_CLEAR_VALUE *pOptimizedClearValue, | ||
| 25731 | _In_opt_ ID3D12ProtectedResourceSession *pProtectedSession, | ||
| 25732 | REFIID riid, | ||
| 25733 | _COM_Outptr_opt_ void **ppvResource); | ||
| 25734 | |||
| 25735 | DECLSPEC_XFGVIRT(ID3D12Device4, GetResourceAllocationInfo1) | ||
| 25736 | #if !defined(_WIN32) | ||
| 25737 | D3D12_RESOURCE_ALLOCATION_INFO ( STDMETHODCALLTYPE *GetResourceAllocationInfo1 )( | ||
| 25738 | ID3D12Device11 * This, | ||
| 25739 | UINT visibleMask, | ||
| 25740 | UINT numResourceDescs, | ||
| 25741 | _In_reads_(numResourceDescs) const D3D12_RESOURCE_DESC *pResourceDescs, | ||
| 25742 | _Out_writes_opt_(numResourceDescs) D3D12_RESOURCE_ALLOCATION_INFO1 *pResourceAllocationInfo1); | ||
| 25743 | |||
| 25744 | #else | ||
| 25745 | D3D12_RESOURCE_ALLOCATION_INFO *( STDMETHODCALLTYPE *GetResourceAllocationInfo1 )( | ||
| 25746 | ID3D12Device11 * This, | ||
| 25747 | D3D12_RESOURCE_ALLOCATION_INFO * RetVal, | ||
| 25748 | UINT visibleMask, | ||
| 25749 | UINT numResourceDescs, | ||
| 25750 | _In_reads_(numResourceDescs) const D3D12_RESOURCE_DESC *pResourceDescs, | ||
| 25751 | _Out_writes_opt_(numResourceDescs) D3D12_RESOURCE_ALLOCATION_INFO1 *pResourceAllocationInfo1); | ||
| 25752 | |||
| 25753 | #endif | ||
| 25754 | |||
| 25755 | DECLSPEC_XFGVIRT(ID3D12Device5, CreateLifetimeTracker) | ||
| 25756 | HRESULT ( STDMETHODCALLTYPE *CreateLifetimeTracker )( | ||
| 25757 | ID3D12Device11 * This, | ||
| 25758 | _In_ ID3D12LifetimeOwner *pOwner, | ||
| 25759 | REFIID riid, | ||
| 25760 | _COM_Outptr_ void **ppvTracker); | ||
| 25761 | |||
| 25762 | DECLSPEC_XFGVIRT(ID3D12Device5, RemoveDevice) | ||
| 25763 | void ( STDMETHODCALLTYPE *RemoveDevice )( | ||
| 25764 | ID3D12Device11 * This); | ||
| 25765 | |||
| 25766 | DECLSPEC_XFGVIRT(ID3D12Device5, EnumerateMetaCommands) | ||
| 25767 | HRESULT ( STDMETHODCALLTYPE *EnumerateMetaCommands )( | ||
| 25768 | ID3D12Device11 * This, | ||
| 25769 | _Inout_ UINT *pNumMetaCommands, | ||
| 25770 | _Out_writes_opt_(*pNumMetaCommands) D3D12_META_COMMAND_DESC *pDescs); | ||
| 25771 | |||
| 25772 | DECLSPEC_XFGVIRT(ID3D12Device5, EnumerateMetaCommandParameters) | ||
| 25773 | HRESULT ( STDMETHODCALLTYPE *EnumerateMetaCommandParameters )( | ||
| 25774 | ID3D12Device11 * This, | ||
| 25775 | _In_ REFGUID CommandId, | ||
| 25776 | _In_ D3D12_META_COMMAND_PARAMETER_STAGE Stage, | ||
| 25777 | _Out_opt_ UINT *pTotalStructureSizeInBytes, | ||
| 25778 | _Inout_ UINT *pParameterCount, | ||
| 25779 | _Out_writes_opt_(*pParameterCount) D3D12_META_COMMAND_PARAMETER_DESC *pParameterDescs); | ||
| 25780 | |||
| 25781 | DECLSPEC_XFGVIRT(ID3D12Device5, CreateMetaCommand) | ||
| 25782 | HRESULT ( STDMETHODCALLTYPE *CreateMetaCommand )( | ||
| 25783 | ID3D12Device11 * This, | ||
| 25784 | _In_ REFGUID CommandId, | ||
| 25785 | _In_ UINT NodeMask, | ||
| 25786 | _In_reads_bytes_opt_(CreationParametersDataSizeInBytes) const void *pCreationParametersData, | ||
| 25787 | _In_ SIZE_T CreationParametersDataSizeInBytes, | ||
| 25788 | REFIID riid, | ||
| 25789 | _COM_Outptr_ void **ppMetaCommand); | ||
| 25790 | |||
| 25791 | DECLSPEC_XFGVIRT(ID3D12Device5, CreateStateObject) | ||
| 25792 | HRESULT ( STDMETHODCALLTYPE *CreateStateObject )( | ||
| 25793 | ID3D12Device11 * This, | ||
| 25794 | const D3D12_STATE_OBJECT_DESC *pDesc, | ||
| 25795 | REFIID riid, | ||
| 25796 | _COM_Outptr_ void **ppStateObject); | ||
| 25797 | |||
| 25798 | DECLSPEC_XFGVIRT(ID3D12Device5, GetRaytracingAccelerationStructurePrebuildInfo) | ||
| 25799 | void ( STDMETHODCALLTYPE *GetRaytracingAccelerationStructurePrebuildInfo )( | ||
| 25800 | ID3D12Device11 * This, | ||
| 25801 | _In_ const D3D12_BUILD_RAYTRACING_ACCELERATION_STRUCTURE_INPUTS *pDesc, | ||
| 25802 | _Out_ D3D12_RAYTRACING_ACCELERATION_STRUCTURE_PREBUILD_INFO *pInfo); | ||
| 25803 | |||
| 25804 | DECLSPEC_XFGVIRT(ID3D12Device5, CheckDriverMatchingIdentifier) | ||
| 25805 | D3D12_DRIVER_MATCHING_IDENTIFIER_STATUS ( STDMETHODCALLTYPE *CheckDriverMatchingIdentifier )( | ||
| 25806 | ID3D12Device11 * This, | ||
| 25807 | _In_ D3D12_SERIALIZED_DATA_TYPE SerializedDataType, | ||
| 25808 | _In_ const D3D12_SERIALIZED_DATA_DRIVER_MATCHING_IDENTIFIER *pIdentifierToCheck); | ||
| 25809 | |||
| 25810 | DECLSPEC_XFGVIRT(ID3D12Device6, SetBackgroundProcessingMode) | ||
| 25811 | HRESULT ( STDMETHODCALLTYPE *SetBackgroundProcessingMode )( | ||
| 25812 | ID3D12Device11 * This, | ||
| 25813 | D3D12_BACKGROUND_PROCESSING_MODE Mode, | ||
| 25814 | D3D12_MEASUREMENTS_ACTION MeasurementsAction, | ||
| 25815 | _In_opt_ HANDLE hEventToSignalUponCompletion, | ||
| 25816 | _Out_opt_ BOOL *pbFurtherMeasurementsDesired); | ||
| 25817 | |||
| 25818 | DECLSPEC_XFGVIRT(ID3D12Device7, AddToStateObject) | ||
| 25819 | HRESULT ( STDMETHODCALLTYPE *AddToStateObject )( | ||
| 25820 | ID3D12Device11 * This, | ||
| 25821 | const D3D12_STATE_OBJECT_DESC *pAddition, | ||
| 25822 | ID3D12StateObject *pStateObjectToGrowFrom, | ||
| 25823 | REFIID riid, | ||
| 25824 | _COM_Outptr_ void **ppNewStateObject); | ||
| 25825 | |||
| 25826 | DECLSPEC_XFGVIRT(ID3D12Device7, CreateProtectedResourceSession1) | ||
| 25827 | HRESULT ( STDMETHODCALLTYPE *CreateProtectedResourceSession1 )( | ||
| 25828 | ID3D12Device11 * This, | ||
| 25829 | _In_ const D3D12_PROTECTED_RESOURCE_SESSION_DESC1 *pDesc, | ||
| 25830 | _In_ REFIID riid, | ||
| 25831 | _COM_Outptr_ void **ppSession); | ||
| 25832 | |||
| 25833 | DECLSPEC_XFGVIRT(ID3D12Device8, GetResourceAllocationInfo2) | ||
| 25834 | #if !defined(_WIN32) | ||
| 25835 | D3D12_RESOURCE_ALLOCATION_INFO ( STDMETHODCALLTYPE *GetResourceAllocationInfo2 )( | ||
| 25836 | ID3D12Device11 * This, | ||
| 25837 | UINT visibleMask, | ||
| 25838 | UINT numResourceDescs, | ||
| 25839 | _In_reads_(numResourceDescs) const D3D12_RESOURCE_DESC1 *pResourceDescs, | ||
| 25840 | _Out_writes_opt_(numResourceDescs) D3D12_RESOURCE_ALLOCATION_INFO1 *pResourceAllocationInfo1); | ||
| 25841 | |||
| 25842 | #else | ||
| 25843 | D3D12_RESOURCE_ALLOCATION_INFO *( STDMETHODCALLTYPE *GetResourceAllocationInfo2 )( | ||
| 25844 | ID3D12Device11 * This, | ||
| 25845 | D3D12_RESOURCE_ALLOCATION_INFO * RetVal, | ||
| 25846 | UINT visibleMask, | ||
| 25847 | UINT numResourceDescs, | ||
| 25848 | _In_reads_(numResourceDescs) const D3D12_RESOURCE_DESC1 *pResourceDescs, | ||
| 25849 | _Out_writes_opt_(numResourceDescs) D3D12_RESOURCE_ALLOCATION_INFO1 *pResourceAllocationInfo1); | ||
| 25850 | |||
| 25851 | #endif | ||
| 25852 | |||
| 25853 | DECLSPEC_XFGVIRT(ID3D12Device8, CreateCommittedResource2) | ||
| 25854 | HRESULT ( STDMETHODCALLTYPE *CreateCommittedResource2 )( | ||
| 25855 | ID3D12Device11 * This, | ||
| 25856 | _In_ const D3D12_HEAP_PROPERTIES *pHeapProperties, | ||
| 25857 | D3D12_HEAP_FLAGS HeapFlags, | ||
| 25858 | _In_ const D3D12_RESOURCE_DESC1 *pDesc, | ||
| 25859 | D3D12_RESOURCE_STATES InitialResourceState, | ||
| 25860 | _In_opt_ const D3D12_CLEAR_VALUE *pOptimizedClearValue, | ||
| 25861 | _In_opt_ ID3D12ProtectedResourceSession *pProtectedSession, | ||
| 25862 | REFIID riidResource, | ||
| 25863 | _COM_Outptr_opt_ void **ppvResource); | ||
| 25864 | |||
| 25865 | DECLSPEC_XFGVIRT(ID3D12Device8, CreatePlacedResource1) | ||
| 25866 | HRESULT ( STDMETHODCALLTYPE *CreatePlacedResource1 )( | ||
| 25867 | ID3D12Device11 * This, | ||
| 25868 | _In_ ID3D12Heap *pHeap, | ||
| 25869 | UINT64 HeapOffset, | ||
| 25870 | _In_ const D3D12_RESOURCE_DESC1 *pDesc, | ||
| 25871 | D3D12_RESOURCE_STATES InitialState, | ||
| 25872 | _In_opt_ const D3D12_CLEAR_VALUE *pOptimizedClearValue, | ||
| 25873 | REFIID riid, | ||
| 25874 | _COM_Outptr_opt_ void **ppvResource); | ||
| 25875 | |||
| 25876 | DECLSPEC_XFGVIRT(ID3D12Device8, CreateSamplerFeedbackUnorderedAccessView) | ||
| 25877 | void ( STDMETHODCALLTYPE *CreateSamplerFeedbackUnorderedAccessView )( | ||
| 25878 | ID3D12Device11 * This, | ||
| 25879 | _In_opt_ ID3D12Resource *pTargetedResource, | ||
| 25880 | _In_opt_ ID3D12Resource *pFeedbackResource, | ||
| 25881 | _In_ D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor); | ||
| 25882 | |||
| 25883 | DECLSPEC_XFGVIRT(ID3D12Device8, GetCopyableFootprints1) | ||
| 25884 | void ( STDMETHODCALLTYPE *GetCopyableFootprints1 )( | ||
| 25885 | ID3D12Device11 * This, | ||
| 25886 | _In_ const D3D12_RESOURCE_DESC1 *pResourceDesc, | ||
| 25887 | _In_range_(0,D3D12_REQ_SUBRESOURCES) UINT FirstSubresource, | ||
| 25888 | _In_range_(0,D3D12_REQ_SUBRESOURCES-FirstSubresource) UINT NumSubresources, | ||
| 25889 | UINT64 BaseOffset, | ||
| 25890 | _Out_writes_opt_(NumSubresources) D3D12_PLACED_SUBRESOURCE_FOOTPRINT *pLayouts, | ||
| 25891 | _Out_writes_opt_(NumSubresources) UINT *pNumRows, | ||
| 25892 | _Out_writes_opt_(NumSubresources) UINT64 *pRowSizeInBytes, | ||
| 25893 | _Out_opt_ UINT64 *pTotalBytes); | ||
| 25894 | |||
| 25895 | DECLSPEC_XFGVIRT(ID3D12Device9, CreateShaderCacheSession) | ||
| 25896 | HRESULT ( STDMETHODCALLTYPE *CreateShaderCacheSession )( | ||
| 25897 | ID3D12Device11 * This, | ||
| 25898 | _In_ const D3D12_SHADER_CACHE_SESSION_DESC *pDesc, | ||
| 25899 | REFIID riid, | ||
| 25900 | _COM_Outptr_opt_ void **ppvSession); | ||
| 25901 | |||
| 25902 | DECLSPEC_XFGVIRT(ID3D12Device9, ShaderCacheControl) | ||
| 25903 | HRESULT ( STDMETHODCALLTYPE *ShaderCacheControl )( | ||
| 25904 | ID3D12Device11 * This, | ||
| 25905 | D3D12_SHADER_CACHE_KIND_FLAGS Kinds, | ||
| 25906 | D3D12_SHADER_CACHE_CONTROL_FLAGS Control); | ||
| 25907 | |||
| 25908 | DECLSPEC_XFGVIRT(ID3D12Device9, CreateCommandQueue1) | ||
| 25909 | HRESULT ( STDMETHODCALLTYPE *CreateCommandQueue1 )( | ||
| 25910 | ID3D12Device11 * This, | ||
| 25911 | _In_ const D3D12_COMMAND_QUEUE_DESC *pDesc, | ||
| 25912 | REFIID CreatorID, | ||
| 25913 | REFIID riid, | ||
| 25914 | _COM_Outptr_ void **ppCommandQueue); | ||
| 25915 | |||
| 25916 | DECLSPEC_XFGVIRT(ID3D12Device10, CreateCommittedResource3) | ||
| 25917 | HRESULT ( STDMETHODCALLTYPE *CreateCommittedResource3 )( | ||
| 25918 | ID3D12Device11 * This, | ||
| 25919 | _In_ const D3D12_HEAP_PROPERTIES *pHeapProperties, | ||
| 25920 | D3D12_HEAP_FLAGS HeapFlags, | ||
| 25921 | _In_ const D3D12_RESOURCE_DESC1 *pDesc, | ||
| 25922 | D3D12_BARRIER_LAYOUT InitialLayout, | ||
| 25923 | _In_opt_ const D3D12_CLEAR_VALUE *pOptimizedClearValue, | ||
| 25924 | _In_opt_ ID3D12ProtectedResourceSession *pProtectedSession, | ||
| 25925 | UINT32 NumCastableFormats, | ||
| 25926 | _In_opt_count_(NumCastableFormats) const DXGI_FORMAT *pCastableFormats, | ||
| 25927 | REFIID riidResource, | ||
| 25928 | _COM_Outptr_opt_ void **ppvResource); | ||
| 25929 | |||
| 25930 | DECLSPEC_XFGVIRT(ID3D12Device10, CreatePlacedResource2) | ||
| 25931 | HRESULT ( STDMETHODCALLTYPE *CreatePlacedResource2 )( | ||
| 25932 | ID3D12Device11 * This, | ||
| 25933 | _In_ ID3D12Heap *pHeap, | ||
| 25934 | UINT64 HeapOffset, | ||
| 25935 | _In_ const D3D12_RESOURCE_DESC1 *pDesc, | ||
| 25936 | D3D12_BARRIER_LAYOUT InitialLayout, | ||
| 25937 | _In_opt_ const D3D12_CLEAR_VALUE *pOptimizedClearValue, | ||
| 25938 | UINT32 NumCastableFormats, | ||
| 25939 | _In_opt_count_(NumCastableFormats) const DXGI_FORMAT *pCastableFormats, | ||
| 25940 | REFIID riid, | ||
| 25941 | _COM_Outptr_opt_ void **ppvResource); | ||
| 25942 | |||
| 25943 | DECLSPEC_XFGVIRT(ID3D12Device10, CreateReservedResource2) | ||
| 25944 | HRESULT ( STDMETHODCALLTYPE *CreateReservedResource2 )( | ||
| 25945 | ID3D12Device11 * This, | ||
| 25946 | _In_ const D3D12_RESOURCE_DESC *pDesc, | ||
| 25947 | D3D12_BARRIER_LAYOUT InitialLayout, | ||
| 25948 | _In_opt_ const D3D12_CLEAR_VALUE *pOptimizedClearValue, | ||
| 25949 | _In_opt_ ID3D12ProtectedResourceSession *pProtectedSession, | ||
| 25950 | UINT32 NumCastableFormats, | ||
| 25951 | _In_opt_count_(NumCastableFormats) const DXGI_FORMAT *pCastableFormats, | ||
| 25952 | REFIID riid, | ||
| 25953 | _COM_Outptr_opt_ void **ppvResource); | ||
| 25954 | |||
| 25955 | DECLSPEC_XFGVIRT(ID3D12Device11, CreateSampler2) | ||
| 25956 | void ( STDMETHODCALLTYPE *CreateSampler2 )( | ||
| 25957 | ID3D12Device11 * This, | ||
| 25958 | _In_ const D3D12_SAMPLER_DESC2 *pDesc, | ||
| 25959 | _In_ D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor); | ||
| 25960 | |||
| 25961 | END_INTERFACE | ||
| 25962 | } ID3D12Device11Vtbl; | ||
| 25963 | |||
| 25964 | interface ID3D12Device11 | ||
| 25965 | { | ||
| 25966 | CONST_VTBL struct ID3D12Device11Vtbl *lpVtbl; | ||
| 25967 | }; | ||
| 25968 | |||
| 25969 | |||
| 25970 | |||
| 25971 | #ifdef COBJMACROS | ||
| 25972 | |||
| 25973 | |||
| 25974 | #define ID3D12Device11_QueryInterface(This,riid,ppvObject) \ | ||
| 25975 | ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) | ||
| 25976 | |||
| 25977 | #define ID3D12Device11_AddRef(This) \ | ||
| 25978 | ( (This)->lpVtbl -> AddRef(This) ) | ||
| 25979 | |||
| 25980 | #define ID3D12Device11_Release(This) \ | ||
| 25981 | ( (This)->lpVtbl -> Release(This) ) | ||
| 25982 | |||
| 25983 | |||
| 25984 | #define ID3D12Device11_GetPrivateData(This,guid,pDataSize,pData) \ | ||
| 25985 | ( (This)->lpVtbl -> GetPrivateData(This,guid,pDataSize,pData) ) | ||
| 25986 | |||
| 25987 | #define ID3D12Device11_SetPrivateData(This,guid,DataSize,pData) \ | ||
| 25988 | ( (This)->lpVtbl -> SetPrivateData(This,guid,DataSize,pData) ) | ||
| 25989 | |||
| 25990 | #define ID3D12Device11_SetPrivateDataInterface(This,guid,pData) \ | ||
| 25991 | ( (This)->lpVtbl -> SetPrivateDataInterface(This,guid,pData) ) | ||
| 25992 | |||
| 25993 | #define ID3D12Device11_SetName(This,Name) \ | ||
| 25994 | ( (This)->lpVtbl -> SetName(This,Name) ) | ||
| 25995 | |||
| 25996 | |||
| 25997 | #define ID3D12Device11_GetNodeCount(This) \ | ||
| 25998 | ( (This)->lpVtbl -> GetNodeCount(This) ) | ||
| 25999 | |||
| 26000 | #define ID3D12Device11_CreateCommandQueue(This,pDesc,riid,ppCommandQueue) \ | ||
| 26001 | ( (This)->lpVtbl -> CreateCommandQueue(This,pDesc,riid,ppCommandQueue) ) | ||
| 26002 | |||
| 26003 | #define ID3D12Device11_CreateCommandAllocator(This,type,riid,ppCommandAllocator) \ | ||
| 26004 | ( (This)->lpVtbl -> CreateCommandAllocator(This,type,riid,ppCommandAllocator) ) | ||
| 26005 | |||
| 26006 | #define ID3D12Device11_CreateGraphicsPipelineState(This,pDesc,riid,ppPipelineState) \ | ||
| 26007 | ( (This)->lpVtbl -> CreateGraphicsPipelineState(This,pDesc,riid,ppPipelineState) ) | ||
| 26008 | |||
| 26009 | #define ID3D12Device11_CreateComputePipelineState(This,pDesc,riid,ppPipelineState) \ | ||
| 26010 | ( (This)->lpVtbl -> CreateComputePipelineState(This,pDesc,riid,ppPipelineState) ) | ||
| 26011 | |||
| 26012 | #define ID3D12Device11_CreateCommandList(This,nodeMask,type,pCommandAllocator,pInitialState,riid,ppCommandList) \ | ||
| 26013 | ( (This)->lpVtbl -> CreateCommandList(This,nodeMask,type,pCommandAllocator,pInitialState,riid,ppCommandList) ) | ||
| 26014 | |||
| 26015 | #define ID3D12Device11_CheckFeatureSupport(This,Feature,pFeatureSupportData,FeatureSupportDataSize) \ | ||
| 26016 | ( (This)->lpVtbl -> CheckFeatureSupport(This,Feature,pFeatureSupportData,FeatureSupportDataSize) ) | ||
| 26017 | |||
| 26018 | #define ID3D12Device11_CreateDescriptorHeap(This,pDescriptorHeapDesc,riid,ppvHeap) \ | ||
| 26019 | ( (This)->lpVtbl -> CreateDescriptorHeap(This,pDescriptorHeapDesc,riid,ppvHeap) ) | ||
| 26020 | |||
| 26021 | #define ID3D12Device11_GetDescriptorHandleIncrementSize(This,DescriptorHeapType) \ | ||
| 26022 | ( (This)->lpVtbl -> GetDescriptorHandleIncrementSize(This,DescriptorHeapType) ) | ||
| 26023 | |||
| 26024 | #define ID3D12Device11_CreateRootSignature(This,nodeMask,pBlobWithRootSignature,blobLengthInBytes,riid,ppvRootSignature) \ | ||
| 26025 | ( (This)->lpVtbl -> CreateRootSignature(This,nodeMask,pBlobWithRootSignature,blobLengthInBytes,riid,ppvRootSignature) ) | ||
| 26026 | |||
| 26027 | #define ID3D12Device11_CreateConstantBufferView(This,pDesc,DestDescriptor) \ | ||
| 26028 | ( (This)->lpVtbl -> CreateConstantBufferView(This,pDesc,DestDescriptor) ) | ||
| 26029 | |||
| 26030 | #define ID3D12Device11_CreateShaderResourceView(This,pResource,pDesc,DestDescriptor) \ | ||
| 26031 | ( (This)->lpVtbl -> CreateShaderResourceView(This,pResource,pDesc,DestDescriptor) ) | ||
| 26032 | |||
| 26033 | #define ID3D12Device11_CreateUnorderedAccessView(This,pResource,pCounterResource,pDesc,DestDescriptor) \ | ||
| 26034 | ( (This)->lpVtbl -> CreateUnorderedAccessView(This,pResource,pCounterResource,pDesc,DestDescriptor) ) | ||
| 26035 | |||
| 26036 | #define ID3D12Device11_CreateRenderTargetView(This,pResource,pDesc,DestDescriptor) \ | ||
| 26037 | ( (This)->lpVtbl -> CreateRenderTargetView(This,pResource,pDesc,DestDescriptor) ) | ||
| 26038 | |||
| 26039 | #define ID3D12Device11_CreateDepthStencilView(This,pResource,pDesc,DestDescriptor) \ | ||
| 26040 | ( (This)->lpVtbl -> CreateDepthStencilView(This,pResource,pDesc,DestDescriptor) ) | ||
| 26041 | |||
| 26042 | #define ID3D12Device11_CreateSampler(This,pDesc,DestDescriptor) \ | ||
| 26043 | ( (This)->lpVtbl -> CreateSampler(This,pDesc,DestDescriptor) ) | ||
| 26044 | |||
| 26045 | #define ID3D12Device11_CopyDescriptors(This,NumDestDescriptorRanges,pDestDescriptorRangeStarts,pDestDescriptorRangeSizes,NumSrcDescriptorRanges,pSrcDescriptorRangeStarts,pSrcDescriptorRangeSizes,DescriptorHeapsType) \ | ||
| 26046 | ( (This)->lpVtbl -> CopyDescriptors(This,NumDestDescriptorRanges,pDestDescriptorRangeStarts,pDestDescriptorRangeSizes,NumSrcDescriptorRanges,pSrcDescriptorRangeStarts,pSrcDescriptorRangeSizes,DescriptorHeapsType) ) | ||
| 26047 | |||
| 26048 | #define ID3D12Device11_CopyDescriptorsSimple(This,NumDescriptors,DestDescriptorRangeStart,SrcDescriptorRangeStart,DescriptorHeapsType) \ | ||
| 26049 | ( (This)->lpVtbl -> CopyDescriptorsSimple(This,NumDescriptors,DestDescriptorRangeStart,SrcDescriptorRangeStart,DescriptorHeapsType) ) | ||
| 26050 | #if !defined(_WIN32) | ||
| 26051 | |||
| 26052 | #define ID3D12Device11_GetResourceAllocationInfo(This,visibleMask,numResourceDescs,pResourceDescs) \ | ||
| 26053 | ( (This)->lpVtbl -> GetResourceAllocationInfo(This,visibleMask,numResourceDescs,pResourceDescs) ) | ||
| 26054 | #else | ||
| 26055 | #define ID3D12Device11_GetResourceAllocationInfo(This,RetVal,visibleMask,numResourceDescs,pResourceDescs) \ | ||
| 26056 | ( (This)->lpVtbl -> GetResourceAllocationInfo(This,RetVal,visibleMask,numResourceDescs,pResourceDescs) ) | ||
| 26057 | #endif | ||
| 26058 | #if !defined(_WIN32) | ||
| 26059 | |||
| 26060 | #define ID3D12Device11_GetCustomHeapProperties(This,nodeMask,heapType) \ | ||
| 26061 | ( (This)->lpVtbl -> GetCustomHeapProperties(This,nodeMask,heapType) ) | ||
| 26062 | #else | ||
| 26063 | #define ID3D12Device11_GetCustomHeapProperties(This,RetVal,nodeMask,heapType) \ | ||
| 26064 | ( (This)->lpVtbl -> GetCustomHeapProperties(This,RetVal,nodeMask,heapType) ) | ||
| 26065 | #endif | ||
| 26066 | |||
| 26067 | #define ID3D12Device11_CreateCommittedResource(This,pHeapProperties,HeapFlags,pDesc,InitialResourceState,pOptimizedClearValue,riidResource,ppvResource) \ | ||
| 26068 | ( (This)->lpVtbl -> CreateCommittedResource(This,pHeapProperties,HeapFlags,pDesc,InitialResourceState,pOptimizedClearValue,riidResource,ppvResource) ) | ||
| 26069 | |||
| 26070 | #define ID3D12Device11_CreateHeap(This,pDesc,riid,ppvHeap) \ | ||
| 26071 | ( (This)->lpVtbl -> CreateHeap(This,pDesc,riid,ppvHeap) ) | ||
| 26072 | |||
| 26073 | #define ID3D12Device11_CreatePlacedResource(This,pHeap,HeapOffset,pDesc,InitialState,pOptimizedClearValue,riid,ppvResource) \ | ||
| 26074 | ( (This)->lpVtbl -> CreatePlacedResource(This,pHeap,HeapOffset,pDesc,InitialState,pOptimizedClearValue,riid,ppvResource) ) | ||
| 26075 | |||
| 26076 | #define ID3D12Device11_CreateReservedResource(This,pDesc,InitialState,pOptimizedClearValue,riid,ppvResource) \ | ||
| 26077 | ( (This)->lpVtbl -> CreateReservedResource(This,pDesc,InitialState,pOptimizedClearValue,riid,ppvResource) ) | ||
| 26078 | |||
| 26079 | #define ID3D12Device11_CreateSharedHandle(This,pObject,pAttributes,Access,Name,pHandle) \ | ||
| 26080 | ( (This)->lpVtbl -> CreateSharedHandle(This,pObject,pAttributes,Access,Name,pHandle) ) | ||
| 26081 | |||
| 26082 | #define ID3D12Device11_OpenSharedHandle(This,NTHandle,riid,ppvObj) \ | ||
| 26083 | ( (This)->lpVtbl -> OpenSharedHandle(This,NTHandle,riid,ppvObj) ) | ||
| 26084 | |||
| 26085 | #define ID3D12Device11_OpenSharedHandleByName(This,Name,Access,pNTHandle) \ | ||
| 26086 | ( (This)->lpVtbl -> OpenSharedHandleByName(This,Name,Access,pNTHandle) ) | ||
| 26087 | |||
| 26088 | #define ID3D12Device11_MakeResident(This,NumObjects,ppObjects) \ | ||
| 26089 | ( (This)->lpVtbl -> MakeResident(This,NumObjects,ppObjects) ) | ||
| 26090 | |||
| 26091 | #define ID3D12Device11_Evict(This,NumObjects,ppObjects) \ | ||
| 26092 | ( (This)->lpVtbl -> Evict(This,NumObjects,ppObjects) ) | ||
| 26093 | |||
| 26094 | #define ID3D12Device11_CreateFence(This,InitialValue,Flags,riid,ppFence) \ | ||
| 26095 | ( (This)->lpVtbl -> CreateFence(This,InitialValue,Flags,riid,ppFence) ) | ||
| 26096 | |||
| 26097 | #define ID3D12Device11_GetDeviceRemovedReason(This) \ | ||
| 26098 | ( (This)->lpVtbl -> GetDeviceRemovedReason(This) ) | ||
| 26099 | |||
| 26100 | #define ID3D12Device11_GetCopyableFootprints(This,pResourceDesc,FirstSubresource,NumSubresources,BaseOffset,pLayouts,pNumRows,pRowSizeInBytes,pTotalBytes) \ | ||
| 26101 | ( (This)->lpVtbl -> GetCopyableFootprints(This,pResourceDesc,FirstSubresource,NumSubresources,BaseOffset,pLayouts,pNumRows,pRowSizeInBytes,pTotalBytes) ) | ||
| 26102 | |||
| 26103 | #define ID3D12Device11_CreateQueryHeap(This,pDesc,riid,ppvHeap) \ | ||
| 26104 | ( (This)->lpVtbl -> CreateQueryHeap(This,pDesc,riid,ppvHeap) ) | ||
| 26105 | |||
| 26106 | #define ID3D12Device11_SetStablePowerState(This,Enable) \ | ||
| 26107 | ( (This)->lpVtbl -> SetStablePowerState(This,Enable) ) | ||
| 26108 | |||
| 26109 | #define ID3D12Device11_CreateCommandSignature(This,pDesc,pRootSignature,riid,ppvCommandSignature) \ | ||
| 26110 | ( (This)->lpVtbl -> CreateCommandSignature(This,pDesc,pRootSignature,riid,ppvCommandSignature) ) | ||
| 26111 | |||
| 26112 | #define ID3D12Device11_GetResourceTiling(This,pTiledResource,pNumTilesForEntireResource,pPackedMipDesc,pStandardTileShapeForNonPackedMips,pNumSubresourceTilings,FirstSubresourceTilingToGet,pSubresourceTilingsForNonPackedMips) \ | ||
| 26113 | ( (This)->lpVtbl -> GetResourceTiling(This,pTiledResource,pNumTilesForEntireResource,pPackedMipDesc,pStandardTileShapeForNonPackedMips,pNumSubresourceTilings,FirstSubresourceTilingToGet,pSubresourceTilingsForNonPackedMips) ) | ||
| 26114 | #if !defined(_WIN32) | ||
| 26115 | |||
| 26116 | #define ID3D12Device11_GetAdapterLuid(This) \ | ||
| 26117 | ( (This)->lpVtbl -> GetAdapterLuid(This) ) | ||
| 26118 | #else | ||
| 26119 | #define ID3D12Device11_GetAdapterLuid(This,RetVal) \ | ||
| 26120 | ( (This)->lpVtbl -> GetAdapterLuid(This,RetVal) ) | ||
| 26121 | #endif | ||
| 26122 | |||
| 26123 | |||
| 26124 | #define ID3D12Device11_CreatePipelineLibrary(This,pLibraryBlob,BlobLength,riid,ppPipelineLibrary) \ | ||
| 26125 | ( (This)->lpVtbl -> CreatePipelineLibrary(This,pLibraryBlob,BlobLength,riid,ppPipelineLibrary) ) | ||
| 26126 | |||
| 26127 | #define ID3D12Device11_SetEventOnMultipleFenceCompletion(This,ppFences,pFenceValues,NumFences,Flags,hEvent) \ | ||
| 26128 | ( (This)->lpVtbl -> SetEventOnMultipleFenceCompletion(This,ppFences,pFenceValues,NumFences,Flags,hEvent) ) | ||
| 26129 | |||
| 26130 | #define ID3D12Device11_SetResidencyPriority(This,NumObjects,ppObjects,pPriorities) \ | ||
| 26131 | ( (This)->lpVtbl -> SetResidencyPriority(This,NumObjects,ppObjects,pPriorities) ) | ||
| 26132 | |||
| 26133 | |||
| 26134 | #define ID3D12Device11_CreatePipelineState(This,pDesc,riid,ppPipelineState) \ | ||
| 26135 | ( (This)->lpVtbl -> CreatePipelineState(This,pDesc,riid,ppPipelineState) ) | ||
| 26136 | |||
| 26137 | |||
| 26138 | #define ID3D12Device11_OpenExistingHeapFromAddress(This,pAddress,riid,ppvHeap) \ | ||
| 26139 | ( (This)->lpVtbl -> OpenExistingHeapFromAddress(This,pAddress,riid,ppvHeap) ) | ||
| 26140 | |||
| 26141 | #define ID3D12Device11_OpenExistingHeapFromFileMapping(This,hFileMapping,riid,ppvHeap) \ | ||
| 26142 | ( (This)->lpVtbl -> OpenExistingHeapFromFileMapping(This,hFileMapping,riid,ppvHeap) ) | ||
| 26143 | |||
| 26144 | #define ID3D12Device11_EnqueueMakeResident(This,Flags,NumObjects,ppObjects,pFenceToSignal,FenceValueToSignal) \ | ||
| 26145 | ( (This)->lpVtbl -> EnqueueMakeResident(This,Flags,NumObjects,ppObjects,pFenceToSignal,FenceValueToSignal) ) | ||
| 26146 | |||
| 26147 | |||
| 26148 | #define ID3D12Device11_CreateCommandList1(This,nodeMask,type,flags,riid,ppCommandList) \ | ||
| 26149 | ( (This)->lpVtbl -> CreateCommandList1(This,nodeMask,type,flags,riid,ppCommandList) ) | ||
| 26150 | |||
| 26151 | #define ID3D12Device11_CreateProtectedResourceSession(This,pDesc,riid,ppSession) \ | ||
| 26152 | ( (This)->lpVtbl -> CreateProtectedResourceSession(This,pDesc,riid,ppSession) ) | ||
| 26153 | |||
| 26154 | #define ID3D12Device11_CreateCommittedResource1(This,pHeapProperties,HeapFlags,pDesc,InitialResourceState,pOptimizedClearValue,pProtectedSession,riidResource,ppvResource) \ | ||
| 26155 | ( (This)->lpVtbl -> CreateCommittedResource1(This,pHeapProperties,HeapFlags,pDesc,InitialResourceState,pOptimizedClearValue,pProtectedSession,riidResource,ppvResource) ) | ||
| 26156 | |||
| 26157 | #define ID3D12Device11_CreateHeap1(This,pDesc,pProtectedSession,riid,ppvHeap) \ | ||
| 26158 | ( (This)->lpVtbl -> CreateHeap1(This,pDesc,pProtectedSession,riid,ppvHeap) ) | ||
| 26159 | |||
| 26160 | #define ID3D12Device11_CreateReservedResource1(This,pDesc,InitialState,pOptimizedClearValue,pProtectedSession,riid,ppvResource) \ | ||
| 26161 | ( (This)->lpVtbl -> CreateReservedResource1(This,pDesc,InitialState,pOptimizedClearValue,pProtectedSession,riid,ppvResource) ) | ||
| 26162 | #if !defined(_WIN32) | ||
| 26163 | |||
| 26164 | #define ID3D12Device11_GetResourceAllocationInfo1(This,visibleMask,numResourceDescs,pResourceDescs,pResourceAllocationInfo1) \ | ||
| 26165 | ( (This)->lpVtbl -> GetResourceAllocationInfo1(This,visibleMask,numResourceDescs,pResourceDescs,pResourceAllocationInfo1) ) | ||
| 26166 | #else | ||
| 26167 | #define ID3D12Device11_GetResourceAllocationInfo1(This,RetVal,visibleMask,numResourceDescs,pResourceDescs,pResourceAllocationInfo1) \ | ||
| 26168 | ( (This)->lpVtbl -> GetResourceAllocationInfo1(This,RetVal,visibleMask,numResourceDescs,pResourceDescs,pResourceAllocationInfo1) ) | ||
| 26169 | #endif | ||
| 26170 | |||
| 26171 | |||
| 26172 | #define ID3D12Device11_CreateLifetimeTracker(This,pOwner,riid,ppvTracker) \ | ||
| 26173 | ( (This)->lpVtbl -> CreateLifetimeTracker(This,pOwner,riid,ppvTracker) ) | ||
| 26174 | |||
| 26175 | #define ID3D12Device11_RemoveDevice(This) \ | ||
| 26176 | ( (This)->lpVtbl -> RemoveDevice(This) ) | ||
| 26177 | |||
| 26178 | #define ID3D12Device11_EnumerateMetaCommands(This,pNumMetaCommands,pDescs) \ | ||
| 26179 | ( (This)->lpVtbl -> EnumerateMetaCommands(This,pNumMetaCommands,pDescs) ) | ||
| 26180 | |||
| 26181 | #define ID3D12Device11_EnumerateMetaCommandParameters(This,CommandId,Stage,pTotalStructureSizeInBytes,pParameterCount,pParameterDescs) \ | ||
| 26182 | ( (This)->lpVtbl -> EnumerateMetaCommandParameters(This,CommandId,Stage,pTotalStructureSizeInBytes,pParameterCount,pParameterDescs) ) | ||
| 26183 | |||
| 26184 | #define ID3D12Device11_CreateMetaCommand(This,CommandId,NodeMask,pCreationParametersData,CreationParametersDataSizeInBytes,riid,ppMetaCommand) \ | ||
| 26185 | ( (This)->lpVtbl -> CreateMetaCommand(This,CommandId,NodeMask,pCreationParametersData,CreationParametersDataSizeInBytes,riid,ppMetaCommand) ) | ||
| 26186 | |||
| 26187 | #define ID3D12Device11_CreateStateObject(This,pDesc,riid,ppStateObject) \ | ||
| 26188 | ( (This)->lpVtbl -> CreateStateObject(This,pDesc,riid,ppStateObject) ) | ||
| 26189 | |||
| 26190 | #define ID3D12Device11_GetRaytracingAccelerationStructurePrebuildInfo(This,pDesc,pInfo) \ | ||
| 26191 | ( (This)->lpVtbl -> GetRaytracingAccelerationStructurePrebuildInfo(This,pDesc,pInfo) ) | ||
| 26192 | |||
| 26193 | #define ID3D12Device11_CheckDriverMatchingIdentifier(This,SerializedDataType,pIdentifierToCheck) \ | ||
| 26194 | ( (This)->lpVtbl -> CheckDriverMatchingIdentifier(This,SerializedDataType,pIdentifierToCheck) ) | ||
| 26195 | |||
| 26196 | |||
| 26197 | #define ID3D12Device11_SetBackgroundProcessingMode(This,Mode,MeasurementsAction,hEventToSignalUponCompletion,pbFurtherMeasurementsDesired) \ | ||
| 26198 | ( (This)->lpVtbl -> SetBackgroundProcessingMode(This,Mode,MeasurementsAction,hEventToSignalUponCompletion,pbFurtherMeasurementsDesired) ) | ||
| 26199 | |||
| 26200 | |||
| 26201 | #define ID3D12Device11_AddToStateObject(This,pAddition,pStateObjectToGrowFrom,riid,ppNewStateObject) \ | ||
| 26202 | ( (This)->lpVtbl -> AddToStateObject(This,pAddition,pStateObjectToGrowFrom,riid,ppNewStateObject) ) | ||
| 26203 | |||
| 26204 | #define ID3D12Device11_CreateProtectedResourceSession1(This,pDesc,riid,ppSession) \ | ||
| 26205 | ( (This)->lpVtbl -> CreateProtectedResourceSession1(This,pDesc,riid,ppSession) ) | ||
| 26206 | |||
| 26207 | #if !defined(_WIN32) | ||
| 26208 | |||
| 26209 | #define ID3D12Device11_GetResourceAllocationInfo2(This,visibleMask,numResourceDescs,pResourceDescs,pResourceAllocationInfo1) \ | ||
| 26210 | ( (This)->lpVtbl -> GetResourceAllocationInfo2(This,visibleMask,numResourceDescs,pResourceDescs,pResourceAllocationInfo1) ) | ||
| 26211 | #else | ||
| 26212 | #define ID3D12Device11_GetResourceAllocationInfo2(This,RetVal,visibleMask,numResourceDescs,pResourceDescs,pResourceAllocationInfo1) \ | ||
| 26213 | ( (This)->lpVtbl -> GetResourceAllocationInfo2(This,RetVal,visibleMask,numResourceDescs,pResourceDescs,pResourceAllocationInfo1) ) | ||
| 26214 | #endif | ||
| 26215 | |||
| 26216 | #define ID3D12Device11_CreateCommittedResource2(This,pHeapProperties,HeapFlags,pDesc,InitialResourceState,pOptimizedClearValue,pProtectedSession,riidResource,ppvResource) \ | ||
| 26217 | ( (This)->lpVtbl -> CreateCommittedResource2(This,pHeapProperties,HeapFlags,pDesc,InitialResourceState,pOptimizedClearValue,pProtectedSession,riidResource,ppvResource) ) | ||
| 26218 | |||
| 26219 | #define ID3D12Device11_CreatePlacedResource1(This,pHeap,HeapOffset,pDesc,InitialState,pOptimizedClearValue,riid,ppvResource) \ | ||
| 26220 | ( (This)->lpVtbl -> CreatePlacedResource1(This,pHeap,HeapOffset,pDesc,InitialState,pOptimizedClearValue,riid,ppvResource) ) | ||
| 26221 | |||
| 26222 | #define ID3D12Device11_CreateSamplerFeedbackUnorderedAccessView(This,pTargetedResource,pFeedbackResource,DestDescriptor) \ | ||
| 26223 | ( (This)->lpVtbl -> CreateSamplerFeedbackUnorderedAccessView(This,pTargetedResource,pFeedbackResource,DestDescriptor) ) | ||
| 26224 | |||
| 26225 | #define ID3D12Device11_GetCopyableFootprints1(This,pResourceDesc,FirstSubresource,NumSubresources,BaseOffset,pLayouts,pNumRows,pRowSizeInBytes,pTotalBytes) \ | ||
| 26226 | ( (This)->lpVtbl -> GetCopyableFootprints1(This,pResourceDesc,FirstSubresource,NumSubresources,BaseOffset,pLayouts,pNumRows,pRowSizeInBytes,pTotalBytes) ) | ||
| 26227 | |||
| 26228 | |||
| 26229 | #define ID3D12Device11_CreateShaderCacheSession(This,pDesc,riid,ppvSession) \ | ||
| 26230 | ( (This)->lpVtbl -> CreateShaderCacheSession(This,pDesc,riid,ppvSession) ) | ||
| 26231 | |||
| 26232 | #define ID3D12Device11_ShaderCacheControl(This,Kinds,Control) \ | ||
| 26233 | ( (This)->lpVtbl -> ShaderCacheControl(This,Kinds,Control) ) | ||
| 26234 | |||
| 26235 | #define ID3D12Device11_CreateCommandQueue1(This,pDesc,CreatorID,riid,ppCommandQueue) \ | ||
| 26236 | ( (This)->lpVtbl -> CreateCommandQueue1(This,pDesc,CreatorID,riid,ppCommandQueue) ) | ||
| 26237 | |||
| 26238 | |||
| 26239 | #define ID3D12Device11_CreateCommittedResource3(This,pHeapProperties,HeapFlags,pDesc,InitialLayout,pOptimizedClearValue,pProtectedSession,NumCastableFormats,pCastableFormats,riidResource,ppvResource) \ | ||
| 26240 | ( (This)->lpVtbl -> CreateCommittedResource3(This,pHeapProperties,HeapFlags,pDesc,InitialLayout,pOptimizedClearValue,pProtectedSession,NumCastableFormats,pCastableFormats,riidResource,ppvResource) ) | ||
| 26241 | |||
| 26242 | #define ID3D12Device11_CreatePlacedResource2(This,pHeap,HeapOffset,pDesc,InitialLayout,pOptimizedClearValue,NumCastableFormats,pCastableFormats,riid,ppvResource) \ | ||
| 26243 | ( (This)->lpVtbl -> CreatePlacedResource2(This,pHeap,HeapOffset,pDesc,InitialLayout,pOptimizedClearValue,NumCastableFormats,pCastableFormats,riid,ppvResource) ) | ||
| 26244 | |||
| 26245 | #define ID3D12Device11_CreateReservedResource2(This,pDesc,InitialLayout,pOptimizedClearValue,pProtectedSession,NumCastableFormats,pCastableFormats,riid,ppvResource) \ | ||
| 26246 | ( (This)->lpVtbl -> CreateReservedResource2(This,pDesc,InitialLayout,pOptimizedClearValue,pProtectedSession,NumCastableFormats,pCastableFormats,riid,ppvResource) ) | ||
| 26247 | |||
| 26248 | |||
| 26249 | #define ID3D12Device11_CreateSampler2(This,pDesc,DestDescriptor) \ | ||
| 26250 | ( (This)->lpVtbl -> CreateSampler2(This,pDesc,DestDescriptor) ) | ||
| 26251 | |||
| 26252 | #endif /* COBJMACROS */ | ||
| 26253 | |||
| 26254 | |||
| 26255 | #endif /* C style interface */ | ||
| 26256 | |||
| 26257 | |||
| 26258 | |||
| 26259 | |||
| 26260 | #endif /* __ID3D12Device11_INTERFACE_DEFINED__ */ | ||
| 26261 | |||
| 26262 | |||
| 26263 | #ifndef __ID3D12Device12_INTERFACE_DEFINED__ | ||
| 26264 | #define __ID3D12Device12_INTERFACE_DEFINED__ | ||
| 26265 | |||
| 26266 | /* interface ID3D12Device12 */ | ||
| 26267 | /* [unique][local][object][uuid] */ | ||
| 26268 | |||
| 26269 | |||
| 26270 | EXTERN_C const IID IID_ID3D12Device12; | ||
| 26271 | |||
| 26272 | #if defined(__cplusplus) && !defined(CINTERFACE) | ||
| 26273 | |||
| 26274 | MIDL_INTERFACE("5af5c532-4c91-4cd0-b541-15a405395fc5") | ||
| 26275 | ID3D12Device12 : public ID3D12Device11 | ||
| 26276 | { | ||
| 26277 | public: | ||
| 26278 | #if defined(_MSC_VER) || !defined(_WIN32) | ||
| 26279 | virtual D3D12_RESOURCE_ALLOCATION_INFO STDMETHODCALLTYPE GetResourceAllocationInfo3( | ||
| 26280 | UINT visibleMask, | ||
| 26281 | UINT numResourceDescs, | ||
| 26282 | _In_reads_(numResourceDescs) const D3D12_RESOURCE_DESC1 *pResourceDescs, | ||
| 26283 | _In_opt_count_(numResourceDescs) const UINT32 *pNumCastableFormats, | ||
| 26284 | _In_opt_count_(numResourceDescs) const DXGI_FORMAT *const *ppCastableFormats, | ||
| 26285 | _Out_writes_opt_(numResourceDescs) D3D12_RESOURCE_ALLOCATION_INFO1 *pResourceAllocationInfo1) = 0; | ||
| 26286 | #else | ||
| 26287 | virtual D3D12_RESOURCE_ALLOCATION_INFO *STDMETHODCALLTYPE GetResourceAllocationInfo3( | ||
| 26288 | D3D12_RESOURCE_ALLOCATION_INFO * RetVal, | ||
| 26289 | UINT visibleMask, | ||
| 26290 | UINT numResourceDescs, | ||
| 26291 | _In_reads_(numResourceDescs) const D3D12_RESOURCE_DESC1 *pResourceDescs, | ||
| 26292 | _In_opt_count_(numResourceDescs) const UINT32 *pNumCastableFormats, | ||
| 26293 | _In_opt_count_(numResourceDescs) const DXGI_FORMAT *const *ppCastableFormats, | ||
| 26294 | _Out_writes_opt_(numResourceDescs) D3D12_RESOURCE_ALLOCATION_INFO1 *pResourceAllocationInfo1) = 0; | ||
| 26295 | #endif | ||
| 26296 | |||
| 26297 | }; | ||
| 26298 | |||
| 26299 | |||
| 26300 | #else /* C style interface */ | ||
| 26301 | |||
| 26302 | typedef struct ID3D12Device12Vtbl | ||
| 26303 | { | ||
| 26304 | BEGIN_INTERFACE | ||
| 26305 | |||
| 26306 | DECLSPEC_XFGVIRT(IUnknown, QueryInterface) | ||
| 26307 | HRESULT ( STDMETHODCALLTYPE *QueryInterface )( | ||
| 26308 | ID3D12Device12 * This, | ||
| 26309 | REFIID riid, | ||
| 26310 | _COM_Outptr_ void **ppvObject); | ||
| 26311 | |||
| 26312 | DECLSPEC_XFGVIRT(IUnknown, AddRef) | ||
| 26313 | ULONG ( STDMETHODCALLTYPE *AddRef )( | ||
| 26314 | ID3D12Device12 * This); | ||
| 26315 | |||
| 26316 | DECLSPEC_XFGVIRT(IUnknown, Release) | ||
| 26317 | ULONG ( STDMETHODCALLTYPE *Release )( | ||
| 26318 | ID3D12Device12 * This); | ||
| 26319 | |||
| 26320 | DECLSPEC_XFGVIRT(ID3D12Object, GetPrivateData) | ||
| 26321 | HRESULT ( STDMETHODCALLTYPE *GetPrivateData )( | ||
| 26322 | ID3D12Device12 * This, | ||
| 26323 | _In_ REFGUID guid, | ||
| 26324 | _Inout_ UINT *pDataSize, | ||
| 26325 | _Out_writes_bytes_opt_( *pDataSize ) void *pData); | ||
| 26326 | |||
| 26327 | DECLSPEC_XFGVIRT(ID3D12Object, SetPrivateData) | ||
| 26328 | HRESULT ( STDMETHODCALLTYPE *SetPrivateData )( | ||
| 26329 | ID3D12Device12 * This, | ||
| 26330 | _In_ REFGUID guid, | ||
| 26331 | _In_ UINT DataSize, | ||
| 26332 | _In_reads_bytes_opt_( DataSize ) const void *pData); | ||
| 26333 | |||
| 26334 | DECLSPEC_XFGVIRT(ID3D12Object, SetPrivateDataInterface) | ||
| 26335 | HRESULT ( STDMETHODCALLTYPE *SetPrivateDataInterface )( | ||
| 26336 | ID3D12Device12 * This, | ||
| 26337 | _In_ REFGUID guid, | ||
| 26338 | _In_opt_ const IUnknown *pData); | ||
| 26339 | |||
| 26340 | DECLSPEC_XFGVIRT(ID3D12Object, SetName) | ||
| 26341 | HRESULT ( STDMETHODCALLTYPE *SetName )( | ||
| 26342 | ID3D12Device12 * This, | ||
| 26343 | _In_z_ LPCWSTR Name); | ||
| 26344 | |||
| 26345 | DECLSPEC_XFGVIRT(ID3D12Device, GetNodeCount) | ||
| 26346 | UINT ( STDMETHODCALLTYPE *GetNodeCount )( | ||
| 26347 | ID3D12Device12 * This); | ||
| 26348 | |||
| 26349 | DECLSPEC_XFGVIRT(ID3D12Device, CreateCommandQueue) | ||
| 26350 | HRESULT ( STDMETHODCALLTYPE *CreateCommandQueue )( | ||
| 26351 | ID3D12Device12 * This, | ||
| 26352 | _In_ const D3D12_COMMAND_QUEUE_DESC *pDesc, | ||
| 26353 | REFIID riid, | ||
| 26354 | _COM_Outptr_ void **ppCommandQueue); | ||
| 26355 | |||
| 26356 | DECLSPEC_XFGVIRT(ID3D12Device, CreateCommandAllocator) | ||
| 26357 | HRESULT ( STDMETHODCALLTYPE *CreateCommandAllocator )( | ||
| 26358 | ID3D12Device12 * This, | ||
| 26359 | _In_ D3D12_COMMAND_LIST_TYPE type, | ||
| 26360 | REFIID riid, | ||
| 26361 | _COM_Outptr_ void **ppCommandAllocator); | ||
| 26362 | |||
| 26363 | DECLSPEC_XFGVIRT(ID3D12Device, CreateGraphicsPipelineState) | ||
| 26364 | HRESULT ( STDMETHODCALLTYPE *CreateGraphicsPipelineState )( | ||
| 26365 | ID3D12Device12 * This, | ||
| 26366 | _In_ const D3D12_GRAPHICS_PIPELINE_STATE_DESC *pDesc, | ||
| 26367 | REFIID riid, | ||
| 26368 | _COM_Outptr_ void **ppPipelineState); | ||
| 26369 | |||
| 26370 | DECLSPEC_XFGVIRT(ID3D12Device, CreateComputePipelineState) | ||
| 26371 | HRESULT ( STDMETHODCALLTYPE *CreateComputePipelineState )( | ||
| 26372 | ID3D12Device12 * This, | ||
| 26373 | _In_ const D3D12_COMPUTE_PIPELINE_STATE_DESC *pDesc, | ||
| 26374 | REFIID riid, | ||
| 26375 | _COM_Outptr_ void **ppPipelineState); | ||
| 26376 | |||
| 26377 | DECLSPEC_XFGVIRT(ID3D12Device, CreateCommandList) | ||
| 26378 | HRESULT ( STDMETHODCALLTYPE *CreateCommandList )( | ||
| 26379 | ID3D12Device12 * This, | ||
| 26380 | _In_ UINT nodeMask, | ||
| 26381 | _In_ D3D12_COMMAND_LIST_TYPE type, | ||
| 26382 | _In_ ID3D12CommandAllocator *pCommandAllocator, | ||
| 26383 | _In_opt_ ID3D12PipelineState *pInitialState, | ||
| 26384 | REFIID riid, | ||
| 26385 | _COM_Outptr_ void **ppCommandList); | ||
| 26386 | |||
| 26387 | DECLSPEC_XFGVIRT(ID3D12Device, CheckFeatureSupport) | ||
| 26388 | HRESULT ( STDMETHODCALLTYPE *CheckFeatureSupport )( | ||
| 26389 | ID3D12Device12 * This, | ||
| 26390 | D3D12_FEATURE Feature, | ||
| 26391 | _Inout_updates_bytes_(FeatureSupportDataSize) void *pFeatureSupportData, | ||
| 26392 | UINT FeatureSupportDataSize); | ||
| 26393 | |||
| 26394 | DECLSPEC_XFGVIRT(ID3D12Device, CreateDescriptorHeap) | ||
| 26395 | HRESULT ( STDMETHODCALLTYPE *CreateDescriptorHeap )( | ||
| 26396 | ID3D12Device12 * This, | ||
| 26397 | _In_ const D3D12_DESCRIPTOR_HEAP_DESC *pDescriptorHeapDesc, | ||
| 26398 | REFIID riid, | ||
| 26399 | _COM_Outptr_ void **ppvHeap); | ||
| 26400 | |||
| 26401 | DECLSPEC_XFGVIRT(ID3D12Device, GetDescriptorHandleIncrementSize) | ||
| 26402 | UINT ( STDMETHODCALLTYPE *GetDescriptorHandleIncrementSize )( | ||
| 26403 | ID3D12Device12 * This, | ||
| 26404 | _In_ D3D12_DESCRIPTOR_HEAP_TYPE DescriptorHeapType); | ||
| 26405 | |||
| 26406 | DECLSPEC_XFGVIRT(ID3D12Device, CreateRootSignature) | ||
| 26407 | HRESULT ( STDMETHODCALLTYPE *CreateRootSignature )( | ||
| 26408 | ID3D12Device12 * This, | ||
| 26409 | _In_ UINT nodeMask, | ||
| 26410 | _In_reads_(blobLengthInBytes) const void *pBlobWithRootSignature, | ||
| 26411 | _In_ SIZE_T blobLengthInBytes, | ||
| 26412 | REFIID riid, | ||
| 26413 | _COM_Outptr_ void **ppvRootSignature); | ||
| 26414 | |||
| 26415 | DECLSPEC_XFGVIRT(ID3D12Device, CreateConstantBufferView) | ||
| 26416 | void ( STDMETHODCALLTYPE *CreateConstantBufferView )( | ||
| 26417 | ID3D12Device12 * This, | ||
| 26418 | _In_opt_ const D3D12_CONSTANT_BUFFER_VIEW_DESC *pDesc, | ||
| 26419 | _In_ D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor); | ||
| 26420 | |||
| 26421 | DECLSPEC_XFGVIRT(ID3D12Device, CreateShaderResourceView) | ||
| 26422 | void ( STDMETHODCALLTYPE *CreateShaderResourceView )( | ||
| 26423 | ID3D12Device12 * This, | ||
| 26424 | _In_opt_ ID3D12Resource *pResource, | ||
| 26425 | _In_opt_ const D3D12_SHADER_RESOURCE_VIEW_DESC *pDesc, | ||
| 26426 | _In_ D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor); | ||
| 26427 | |||
| 26428 | DECLSPEC_XFGVIRT(ID3D12Device, CreateUnorderedAccessView) | ||
| 26429 | void ( STDMETHODCALLTYPE *CreateUnorderedAccessView )( | ||
| 26430 | ID3D12Device12 * This, | ||
| 26431 | _In_opt_ ID3D12Resource *pResource, | ||
| 26432 | _In_opt_ ID3D12Resource *pCounterResource, | ||
| 26433 | _In_opt_ const D3D12_UNORDERED_ACCESS_VIEW_DESC *pDesc, | ||
| 26434 | _In_ D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor); | ||
| 26435 | |||
| 26436 | DECLSPEC_XFGVIRT(ID3D12Device, CreateRenderTargetView) | ||
| 26437 | void ( STDMETHODCALLTYPE *CreateRenderTargetView )( | ||
| 26438 | ID3D12Device12 * This, | ||
| 26439 | _In_opt_ ID3D12Resource *pResource, | ||
| 26440 | _In_opt_ const D3D12_RENDER_TARGET_VIEW_DESC *pDesc, | ||
| 26441 | _In_ D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor); | ||
| 26442 | |||
| 26443 | DECLSPEC_XFGVIRT(ID3D12Device, CreateDepthStencilView) | ||
| 26444 | void ( STDMETHODCALLTYPE *CreateDepthStencilView )( | ||
| 26445 | ID3D12Device12 * This, | ||
| 26446 | _In_opt_ ID3D12Resource *pResource, | ||
| 26447 | _In_opt_ const D3D12_DEPTH_STENCIL_VIEW_DESC *pDesc, | ||
| 26448 | _In_ D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor); | ||
| 26449 | |||
| 26450 | DECLSPEC_XFGVIRT(ID3D12Device, CreateSampler) | ||
| 26451 | void ( STDMETHODCALLTYPE *CreateSampler )( | ||
| 26452 | ID3D12Device12 * This, | ||
| 26453 | _In_ const D3D12_SAMPLER_DESC *pDesc, | ||
| 26454 | _In_ D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor); | ||
| 26455 | |||
| 26456 | DECLSPEC_XFGVIRT(ID3D12Device, CopyDescriptors) | ||
| 26457 | void ( STDMETHODCALLTYPE *CopyDescriptors )( | ||
| 26458 | ID3D12Device12 * This, | ||
| 26459 | _In_ UINT NumDestDescriptorRanges, | ||
| 26460 | _In_reads_(NumDestDescriptorRanges) const D3D12_CPU_DESCRIPTOR_HANDLE *pDestDescriptorRangeStarts, | ||
| 26461 | _In_reads_opt_(NumDestDescriptorRanges) const UINT *pDestDescriptorRangeSizes, | ||
| 26462 | _In_ UINT NumSrcDescriptorRanges, | ||
| 26463 | _In_reads_(NumSrcDescriptorRanges) const D3D12_CPU_DESCRIPTOR_HANDLE *pSrcDescriptorRangeStarts, | ||
| 26464 | _In_reads_opt_(NumSrcDescriptorRanges) const UINT *pSrcDescriptorRangeSizes, | ||
| 26465 | _In_ D3D12_DESCRIPTOR_HEAP_TYPE DescriptorHeapsType); | ||
| 26466 | |||
| 26467 | DECLSPEC_XFGVIRT(ID3D12Device, CopyDescriptorsSimple) | ||
| 26468 | void ( STDMETHODCALLTYPE *CopyDescriptorsSimple )( | ||
| 26469 | ID3D12Device12 * This, | ||
| 26470 | _In_ UINT NumDescriptors, | ||
| 26471 | _In_ D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptorRangeStart, | ||
| 26472 | _In_ D3D12_CPU_DESCRIPTOR_HANDLE SrcDescriptorRangeStart, | ||
| 26473 | _In_ D3D12_DESCRIPTOR_HEAP_TYPE DescriptorHeapsType); | ||
| 26474 | |||
| 26475 | DECLSPEC_XFGVIRT(ID3D12Device, GetResourceAllocationInfo) | ||
| 26476 | #if !defined(_WIN32) | ||
| 26477 | D3D12_RESOURCE_ALLOCATION_INFO ( STDMETHODCALLTYPE *GetResourceAllocationInfo )( | ||
| 26478 | ID3D12Device12 * This, | ||
| 26479 | _In_ UINT visibleMask, | ||
| 26480 | _In_ UINT numResourceDescs, | ||
| 26481 | _In_reads_(numResourceDescs) const D3D12_RESOURCE_DESC *pResourceDescs); | ||
| 26482 | |||
| 26483 | #else | ||
| 26484 | D3D12_RESOURCE_ALLOCATION_INFO *( STDMETHODCALLTYPE *GetResourceAllocationInfo )( | ||
| 26485 | ID3D12Device12 * This, | ||
| 26486 | D3D12_RESOURCE_ALLOCATION_INFO * RetVal, | ||
| 26487 | _In_ UINT visibleMask, | ||
| 26488 | _In_ UINT numResourceDescs, | ||
| 26489 | _In_reads_(numResourceDescs) const D3D12_RESOURCE_DESC *pResourceDescs); | ||
| 26490 | |||
| 26491 | #endif | ||
| 26492 | |||
| 26493 | DECLSPEC_XFGVIRT(ID3D12Device, GetCustomHeapProperties) | ||
| 26494 | #if !defined(_WIN32) | ||
| 26495 | D3D12_HEAP_PROPERTIES ( STDMETHODCALLTYPE *GetCustomHeapProperties )( | ||
| 26496 | ID3D12Device12 * This, | ||
| 26497 | _In_ UINT nodeMask, | ||
| 26498 | D3D12_HEAP_TYPE heapType); | ||
| 26499 | |||
| 26500 | #else | ||
| 26501 | D3D12_HEAP_PROPERTIES *( STDMETHODCALLTYPE *GetCustomHeapProperties )( | ||
| 26502 | ID3D12Device12 * This, | ||
| 26503 | D3D12_HEAP_PROPERTIES * RetVal, | ||
| 26504 | _In_ UINT nodeMask, | ||
| 26505 | D3D12_HEAP_TYPE heapType); | ||
| 26506 | |||
| 26507 | #endif | ||
| 26508 | |||
| 26509 | DECLSPEC_XFGVIRT(ID3D12Device, CreateCommittedResource) | ||
| 26510 | HRESULT ( STDMETHODCALLTYPE *CreateCommittedResource )( | ||
| 26511 | ID3D12Device12 * This, | ||
| 26512 | _In_ const D3D12_HEAP_PROPERTIES *pHeapProperties, | ||
| 26513 | D3D12_HEAP_FLAGS HeapFlags, | ||
| 26514 | _In_ const D3D12_RESOURCE_DESC *pDesc, | ||
| 26515 | D3D12_RESOURCE_STATES InitialResourceState, | ||
| 26516 | _In_opt_ const D3D12_CLEAR_VALUE *pOptimizedClearValue, | ||
| 26517 | REFIID riidResource, | ||
| 26518 | _COM_Outptr_opt_ void **ppvResource); | ||
| 26519 | |||
| 26520 | DECLSPEC_XFGVIRT(ID3D12Device, CreateHeap) | ||
| 26521 | HRESULT ( STDMETHODCALLTYPE *CreateHeap )( | ||
| 26522 | ID3D12Device12 * This, | ||
| 26523 | _In_ const D3D12_HEAP_DESC *pDesc, | ||
| 26524 | REFIID riid, | ||
| 26525 | _COM_Outptr_opt_ void **ppvHeap); | ||
| 26526 | |||
| 26527 | DECLSPEC_XFGVIRT(ID3D12Device, CreatePlacedResource) | ||
| 26528 | HRESULT ( STDMETHODCALLTYPE *CreatePlacedResource )( | ||
| 26529 | ID3D12Device12 * This, | ||
| 26530 | _In_ ID3D12Heap *pHeap, | ||
| 26531 | UINT64 HeapOffset, | ||
| 26532 | _In_ const D3D12_RESOURCE_DESC *pDesc, | ||
| 26533 | D3D12_RESOURCE_STATES InitialState, | ||
| 26534 | _In_opt_ const D3D12_CLEAR_VALUE *pOptimizedClearValue, | ||
| 26535 | REFIID riid, | ||
| 26536 | _COM_Outptr_opt_ void **ppvResource); | ||
| 26537 | |||
| 26538 | DECLSPEC_XFGVIRT(ID3D12Device, CreateReservedResource) | ||
| 26539 | HRESULT ( STDMETHODCALLTYPE *CreateReservedResource )( | ||
| 26540 | ID3D12Device12 * This, | ||
| 26541 | _In_ const D3D12_RESOURCE_DESC *pDesc, | ||
| 26542 | D3D12_RESOURCE_STATES InitialState, | ||
| 26543 | _In_opt_ const D3D12_CLEAR_VALUE *pOptimizedClearValue, | ||
| 26544 | REFIID riid, | ||
| 26545 | _COM_Outptr_opt_ void **ppvResource); | ||
| 26546 | |||
| 26547 | DECLSPEC_XFGVIRT(ID3D12Device, CreateSharedHandle) | ||
| 26548 | HRESULT ( STDMETHODCALLTYPE *CreateSharedHandle )( | ||
| 26549 | ID3D12Device12 * This, | ||
| 26550 | _In_ ID3D12DeviceChild *pObject, | ||
| 26551 | _In_opt_ const SECURITY_ATTRIBUTES *pAttributes, | ||
| 26552 | DWORD Access, | ||
| 26553 | _In_opt_ LPCWSTR Name, | ||
| 26554 | _Out_ HANDLE *pHandle); | ||
| 26555 | |||
| 26556 | DECLSPEC_XFGVIRT(ID3D12Device, OpenSharedHandle) | ||
| 26557 | HRESULT ( STDMETHODCALLTYPE *OpenSharedHandle )( | ||
| 26558 | ID3D12Device12 * This, | ||
| 26559 | _In_ HANDLE NTHandle, | ||
| 26560 | REFIID riid, | ||
| 26561 | _COM_Outptr_opt_ void **ppvObj); | ||
| 26562 | |||
| 26563 | DECLSPEC_XFGVIRT(ID3D12Device, OpenSharedHandleByName) | ||
| 26564 | HRESULT ( STDMETHODCALLTYPE *OpenSharedHandleByName )( | ||
| 26565 | ID3D12Device12 * This, | ||
| 26566 | _In_ LPCWSTR Name, | ||
| 26567 | DWORD Access, | ||
| 26568 | /* [annotation][out] */ | ||
| 26569 | _Out_ HANDLE *pNTHandle); | ||
| 26570 | |||
| 26571 | DECLSPEC_XFGVIRT(ID3D12Device, MakeResident) | ||
| 26572 | HRESULT ( STDMETHODCALLTYPE *MakeResident )( | ||
| 26573 | ID3D12Device12 * This, | ||
| 26574 | UINT NumObjects, | ||
| 26575 | _In_reads_(NumObjects) ID3D12Pageable *const *ppObjects); | ||
| 26576 | |||
| 26577 | DECLSPEC_XFGVIRT(ID3D12Device, Evict) | ||
| 26578 | HRESULT ( STDMETHODCALLTYPE *Evict )( | ||
| 26579 | ID3D12Device12 * This, | ||
| 26580 | UINT NumObjects, | ||
| 26581 | _In_reads_(NumObjects) ID3D12Pageable *const *ppObjects); | ||
| 26582 | |||
| 26583 | DECLSPEC_XFGVIRT(ID3D12Device, CreateFence) | ||
| 26584 | HRESULT ( STDMETHODCALLTYPE *CreateFence )( | ||
| 26585 | ID3D12Device12 * This, | ||
| 26586 | UINT64 InitialValue, | ||
| 26587 | D3D12_FENCE_FLAGS Flags, | ||
| 26588 | REFIID riid, | ||
| 26589 | _COM_Outptr_ void **ppFence); | ||
| 26590 | |||
| 26591 | DECLSPEC_XFGVIRT(ID3D12Device, GetDeviceRemovedReason) | ||
| 26592 | HRESULT ( STDMETHODCALLTYPE *GetDeviceRemovedReason )( | ||
| 26593 | ID3D12Device12 * This); | ||
| 26594 | |||
| 26595 | DECLSPEC_XFGVIRT(ID3D12Device, GetCopyableFootprints) | ||
| 26596 | void ( STDMETHODCALLTYPE *GetCopyableFootprints )( | ||
| 26597 | ID3D12Device12 * This, | ||
| 26598 | _In_ const D3D12_RESOURCE_DESC *pResourceDesc, | ||
| 26599 | _In_range_(0,D3D12_REQ_SUBRESOURCES) UINT FirstSubresource, | ||
| 26600 | _In_range_(0,D3D12_REQ_SUBRESOURCES-FirstSubresource) UINT NumSubresources, | ||
| 26601 | UINT64 BaseOffset, | ||
| 26602 | _Out_writes_opt_(NumSubresources) D3D12_PLACED_SUBRESOURCE_FOOTPRINT *pLayouts, | ||
| 26603 | _Out_writes_opt_(NumSubresources) UINT *pNumRows, | ||
| 26604 | _Out_writes_opt_(NumSubresources) UINT64 *pRowSizeInBytes, | ||
| 26605 | _Out_opt_ UINT64 *pTotalBytes); | ||
| 26606 | |||
| 26607 | DECLSPEC_XFGVIRT(ID3D12Device, CreateQueryHeap) | ||
| 26608 | HRESULT ( STDMETHODCALLTYPE *CreateQueryHeap )( | ||
| 26609 | ID3D12Device12 * This, | ||
| 26610 | _In_ const D3D12_QUERY_HEAP_DESC *pDesc, | ||
| 26611 | REFIID riid, | ||
| 26612 | _COM_Outptr_opt_ void **ppvHeap); | ||
| 26613 | |||
| 26614 | DECLSPEC_XFGVIRT(ID3D12Device, SetStablePowerState) | ||
| 26615 | HRESULT ( STDMETHODCALLTYPE *SetStablePowerState )( | ||
| 26616 | ID3D12Device12 * This, | ||
| 26617 | BOOL Enable); | ||
| 26618 | |||
| 26619 | DECLSPEC_XFGVIRT(ID3D12Device, CreateCommandSignature) | ||
| 26620 | HRESULT ( STDMETHODCALLTYPE *CreateCommandSignature )( | ||
| 26621 | ID3D12Device12 * This, | ||
| 26622 | _In_ const D3D12_COMMAND_SIGNATURE_DESC *pDesc, | ||
| 26623 | _In_opt_ ID3D12RootSignature *pRootSignature, | ||
| 26624 | REFIID riid, | ||
| 26625 | _COM_Outptr_opt_ void **ppvCommandSignature); | ||
| 26626 | |||
| 26627 | DECLSPEC_XFGVIRT(ID3D12Device, GetResourceTiling) | ||
| 26628 | void ( STDMETHODCALLTYPE *GetResourceTiling )( | ||
| 26629 | ID3D12Device12 * This, | ||
| 26630 | _In_ ID3D12Resource *pTiledResource, | ||
| 26631 | _Out_opt_ UINT *pNumTilesForEntireResource, | ||
| 26632 | _Out_opt_ D3D12_PACKED_MIP_INFO *pPackedMipDesc, | ||
| 26633 | _Out_opt_ D3D12_TILE_SHAPE *pStandardTileShapeForNonPackedMips, | ||
| 26634 | _Inout_opt_ UINT *pNumSubresourceTilings, | ||
| 26635 | _In_ UINT FirstSubresourceTilingToGet, | ||
| 26636 | _Out_writes_(*pNumSubresourceTilings) D3D12_SUBRESOURCE_TILING *pSubresourceTilingsForNonPackedMips); | ||
| 26637 | |||
| 26638 | DECLSPEC_XFGVIRT(ID3D12Device, GetAdapterLuid) | ||
| 26639 | #if !defined(_WIN32) | ||
| 26640 | LUID ( STDMETHODCALLTYPE *GetAdapterLuid )( | ||
| 26641 | ID3D12Device12 * This); | ||
| 26642 | |||
| 26643 | #else | ||
| 26644 | LUID *( STDMETHODCALLTYPE *GetAdapterLuid )( | ||
| 26645 | ID3D12Device12 * This, | ||
| 26646 | LUID * RetVal); | ||
| 26647 | |||
| 26648 | #endif | ||
| 26649 | |||
| 26650 | DECLSPEC_XFGVIRT(ID3D12Device1, CreatePipelineLibrary) | ||
| 26651 | HRESULT ( STDMETHODCALLTYPE *CreatePipelineLibrary )( | ||
| 26652 | ID3D12Device12 * This, | ||
| 26653 | _In_reads_(BlobLength) const void *pLibraryBlob, | ||
| 26654 | SIZE_T BlobLength, | ||
| 26655 | REFIID riid, | ||
| 26656 | _COM_Outptr_ void **ppPipelineLibrary); | ||
| 26657 | |||
| 26658 | DECLSPEC_XFGVIRT(ID3D12Device1, SetEventOnMultipleFenceCompletion) | ||
| 26659 | HRESULT ( STDMETHODCALLTYPE *SetEventOnMultipleFenceCompletion )( | ||
| 26660 | ID3D12Device12 * This, | ||
| 26661 | _In_reads_(NumFences) ID3D12Fence *const *ppFences, | ||
| 26662 | _In_reads_(NumFences) const UINT64 *pFenceValues, | ||
| 26663 | UINT NumFences, | ||
| 26664 | D3D12_MULTIPLE_FENCE_WAIT_FLAGS Flags, | ||
| 26665 | HANDLE hEvent); | ||
| 26666 | |||
| 26667 | DECLSPEC_XFGVIRT(ID3D12Device1, SetResidencyPriority) | ||
| 26668 | HRESULT ( STDMETHODCALLTYPE *SetResidencyPriority )( | ||
| 26669 | ID3D12Device12 * This, | ||
| 26670 | UINT NumObjects, | ||
| 26671 | _In_reads_(NumObjects) ID3D12Pageable *const *ppObjects, | ||
| 26672 | _In_reads_(NumObjects) const D3D12_RESIDENCY_PRIORITY *pPriorities); | ||
| 26673 | |||
| 26674 | DECLSPEC_XFGVIRT(ID3D12Device2, CreatePipelineState) | ||
| 26675 | HRESULT ( STDMETHODCALLTYPE *CreatePipelineState )( | ||
| 26676 | ID3D12Device12 * This, | ||
| 26677 | const D3D12_PIPELINE_STATE_STREAM_DESC *pDesc, | ||
| 26678 | REFIID riid, | ||
| 26679 | _COM_Outptr_ void **ppPipelineState); | ||
| 26680 | |||
| 26681 | DECLSPEC_XFGVIRT(ID3D12Device3, OpenExistingHeapFromAddress) | ||
| 26682 | HRESULT ( STDMETHODCALLTYPE *OpenExistingHeapFromAddress )( | ||
| 26683 | ID3D12Device12 * This, | ||
| 26684 | _In_ const void *pAddress, | ||
| 26685 | REFIID riid, | ||
| 26686 | _COM_Outptr_ void **ppvHeap); | ||
| 26687 | |||
| 26688 | DECLSPEC_XFGVIRT(ID3D12Device3, OpenExistingHeapFromFileMapping) | ||
| 26689 | HRESULT ( STDMETHODCALLTYPE *OpenExistingHeapFromFileMapping )( | ||
| 26690 | ID3D12Device12 * This, | ||
| 26691 | _In_ HANDLE hFileMapping, | ||
| 26692 | REFIID riid, | ||
| 26693 | _COM_Outptr_ void **ppvHeap); | ||
| 26694 | |||
| 26695 | DECLSPEC_XFGVIRT(ID3D12Device3, EnqueueMakeResident) | ||
| 26696 | HRESULT ( STDMETHODCALLTYPE *EnqueueMakeResident )( | ||
| 26697 | ID3D12Device12 * This, | ||
| 26698 | D3D12_RESIDENCY_FLAGS Flags, | ||
| 26699 | UINT NumObjects, | ||
| 26700 | _In_reads_(NumObjects) ID3D12Pageable *const *ppObjects, | ||
| 26701 | _In_ ID3D12Fence *pFenceToSignal, | ||
| 26702 | UINT64 FenceValueToSignal); | ||
| 26703 | |||
| 26704 | DECLSPEC_XFGVIRT(ID3D12Device4, CreateCommandList1) | ||
| 26705 | HRESULT ( STDMETHODCALLTYPE *CreateCommandList1 )( | ||
| 26706 | ID3D12Device12 * This, | ||
| 26707 | _In_ UINT nodeMask, | ||
| 26708 | _In_ D3D12_COMMAND_LIST_TYPE type, | ||
| 26709 | _In_ D3D12_COMMAND_LIST_FLAGS flags, | ||
| 26710 | REFIID riid, | ||
| 26711 | _COM_Outptr_ void **ppCommandList); | ||
| 26712 | |||
| 26713 | DECLSPEC_XFGVIRT(ID3D12Device4, CreateProtectedResourceSession) | ||
| 26714 | HRESULT ( STDMETHODCALLTYPE *CreateProtectedResourceSession )( | ||
| 26715 | ID3D12Device12 * This, | ||
| 26716 | _In_ const D3D12_PROTECTED_RESOURCE_SESSION_DESC *pDesc, | ||
| 26717 | _In_ REFIID riid, | ||
| 26718 | _COM_Outptr_ void **ppSession); | ||
| 26719 | |||
| 26720 | DECLSPEC_XFGVIRT(ID3D12Device4, CreateCommittedResource1) | ||
| 26721 | HRESULT ( STDMETHODCALLTYPE *CreateCommittedResource1 )( | ||
| 26722 | ID3D12Device12 * This, | ||
| 26723 | _In_ const D3D12_HEAP_PROPERTIES *pHeapProperties, | ||
| 26724 | D3D12_HEAP_FLAGS HeapFlags, | ||
| 26725 | _In_ const D3D12_RESOURCE_DESC *pDesc, | ||
| 26726 | D3D12_RESOURCE_STATES InitialResourceState, | ||
| 26727 | _In_opt_ const D3D12_CLEAR_VALUE *pOptimizedClearValue, | ||
| 26728 | _In_opt_ ID3D12ProtectedResourceSession *pProtectedSession, | ||
| 26729 | REFIID riidResource, | ||
| 26730 | _COM_Outptr_opt_ void **ppvResource); | ||
| 26731 | |||
| 26732 | DECLSPEC_XFGVIRT(ID3D12Device4, CreateHeap1) | ||
| 26733 | HRESULT ( STDMETHODCALLTYPE *CreateHeap1 )( | ||
| 26734 | ID3D12Device12 * This, | ||
| 26735 | _In_ const D3D12_HEAP_DESC *pDesc, | ||
| 26736 | _In_opt_ ID3D12ProtectedResourceSession *pProtectedSession, | ||
| 26737 | REFIID riid, | ||
| 26738 | _COM_Outptr_opt_ void **ppvHeap); | ||
| 26739 | |||
| 26740 | DECLSPEC_XFGVIRT(ID3D12Device4, CreateReservedResource1) | ||
| 26741 | HRESULT ( STDMETHODCALLTYPE *CreateReservedResource1 )( | ||
| 26742 | ID3D12Device12 * This, | ||
| 26743 | _In_ const D3D12_RESOURCE_DESC *pDesc, | ||
| 26744 | D3D12_RESOURCE_STATES InitialState, | ||
| 26745 | _In_opt_ const D3D12_CLEAR_VALUE *pOptimizedClearValue, | ||
| 26746 | _In_opt_ ID3D12ProtectedResourceSession *pProtectedSession, | ||
| 26747 | REFIID riid, | ||
| 26748 | _COM_Outptr_opt_ void **ppvResource); | ||
| 26749 | |||
| 26750 | DECLSPEC_XFGVIRT(ID3D12Device4, GetResourceAllocationInfo1) | ||
| 26751 | #if !defined(_WIN32) | ||
| 26752 | D3D12_RESOURCE_ALLOCATION_INFO ( STDMETHODCALLTYPE *GetResourceAllocationInfo1 )( | ||
| 26753 | ID3D12Device12 * This, | ||
| 26754 | UINT visibleMask, | ||
| 26755 | UINT numResourceDescs, | ||
| 26756 | _In_reads_(numResourceDescs) const D3D12_RESOURCE_DESC *pResourceDescs, | ||
| 26757 | _Out_writes_opt_(numResourceDescs) D3D12_RESOURCE_ALLOCATION_INFO1 *pResourceAllocationInfo1); | ||
| 26758 | |||
| 26759 | #else | ||
| 26760 | D3D12_RESOURCE_ALLOCATION_INFO *( STDMETHODCALLTYPE *GetResourceAllocationInfo1 )( | ||
| 26761 | ID3D12Device12 * This, | ||
| 26762 | D3D12_RESOURCE_ALLOCATION_INFO * RetVal, | ||
| 26763 | UINT visibleMask, | ||
| 26764 | UINT numResourceDescs, | ||
| 26765 | _In_reads_(numResourceDescs) const D3D12_RESOURCE_DESC *pResourceDescs, | ||
| 26766 | _Out_writes_opt_(numResourceDescs) D3D12_RESOURCE_ALLOCATION_INFO1 *pResourceAllocationInfo1); | ||
| 26767 | |||
| 26768 | #endif | ||
| 26769 | |||
| 26770 | DECLSPEC_XFGVIRT(ID3D12Device5, CreateLifetimeTracker) | ||
| 26771 | HRESULT ( STDMETHODCALLTYPE *CreateLifetimeTracker )( | ||
| 26772 | ID3D12Device12 * This, | ||
| 26773 | _In_ ID3D12LifetimeOwner *pOwner, | ||
| 26774 | REFIID riid, | ||
| 26775 | _COM_Outptr_ void **ppvTracker); | ||
| 26776 | |||
| 26777 | DECLSPEC_XFGVIRT(ID3D12Device5, RemoveDevice) | ||
| 26778 | void ( STDMETHODCALLTYPE *RemoveDevice )( | ||
| 26779 | ID3D12Device12 * This); | ||
| 26780 | |||
| 26781 | DECLSPEC_XFGVIRT(ID3D12Device5, EnumerateMetaCommands) | ||
| 26782 | HRESULT ( STDMETHODCALLTYPE *EnumerateMetaCommands )( | ||
| 26783 | ID3D12Device12 * This, | ||
| 26784 | _Inout_ UINT *pNumMetaCommands, | ||
| 26785 | _Out_writes_opt_(*pNumMetaCommands) D3D12_META_COMMAND_DESC *pDescs); | ||
| 26786 | |||
| 26787 | DECLSPEC_XFGVIRT(ID3D12Device5, EnumerateMetaCommandParameters) | ||
| 26788 | HRESULT ( STDMETHODCALLTYPE *EnumerateMetaCommandParameters )( | ||
| 26789 | ID3D12Device12 * This, | ||
| 26790 | _In_ REFGUID CommandId, | ||
| 26791 | _In_ D3D12_META_COMMAND_PARAMETER_STAGE Stage, | ||
| 26792 | _Out_opt_ UINT *pTotalStructureSizeInBytes, | ||
| 26793 | _Inout_ UINT *pParameterCount, | ||
| 26794 | _Out_writes_opt_(*pParameterCount) D3D12_META_COMMAND_PARAMETER_DESC *pParameterDescs); | ||
| 26795 | |||
| 26796 | DECLSPEC_XFGVIRT(ID3D12Device5, CreateMetaCommand) | ||
| 26797 | HRESULT ( STDMETHODCALLTYPE *CreateMetaCommand )( | ||
| 26798 | ID3D12Device12 * This, | ||
| 26799 | _In_ REFGUID CommandId, | ||
| 26800 | _In_ UINT NodeMask, | ||
| 26801 | _In_reads_bytes_opt_(CreationParametersDataSizeInBytes) const void *pCreationParametersData, | ||
| 26802 | _In_ SIZE_T CreationParametersDataSizeInBytes, | ||
| 26803 | REFIID riid, | ||
| 26804 | _COM_Outptr_ void **ppMetaCommand); | ||
| 26805 | |||
| 26806 | DECLSPEC_XFGVIRT(ID3D12Device5, CreateStateObject) | ||
| 26807 | HRESULT ( STDMETHODCALLTYPE *CreateStateObject )( | ||
| 26808 | ID3D12Device12 * This, | ||
| 26809 | const D3D12_STATE_OBJECT_DESC *pDesc, | ||
| 26810 | REFIID riid, | ||
| 26811 | _COM_Outptr_ void **ppStateObject); | ||
| 26812 | |||
| 26813 | DECLSPEC_XFGVIRT(ID3D12Device5, GetRaytracingAccelerationStructurePrebuildInfo) | ||
| 26814 | void ( STDMETHODCALLTYPE *GetRaytracingAccelerationStructurePrebuildInfo )( | ||
| 26815 | ID3D12Device12 * This, | ||
| 26816 | _In_ const D3D12_BUILD_RAYTRACING_ACCELERATION_STRUCTURE_INPUTS *pDesc, | ||
| 26817 | _Out_ D3D12_RAYTRACING_ACCELERATION_STRUCTURE_PREBUILD_INFO *pInfo); | ||
| 26818 | |||
| 26819 | DECLSPEC_XFGVIRT(ID3D12Device5, CheckDriverMatchingIdentifier) | ||
| 26820 | D3D12_DRIVER_MATCHING_IDENTIFIER_STATUS ( STDMETHODCALLTYPE *CheckDriverMatchingIdentifier )( | ||
| 26821 | ID3D12Device12 * This, | ||
| 26822 | _In_ D3D12_SERIALIZED_DATA_TYPE SerializedDataType, | ||
| 26823 | _In_ const D3D12_SERIALIZED_DATA_DRIVER_MATCHING_IDENTIFIER *pIdentifierToCheck); | ||
| 26824 | |||
| 26825 | DECLSPEC_XFGVIRT(ID3D12Device6, SetBackgroundProcessingMode) | ||
| 26826 | HRESULT ( STDMETHODCALLTYPE *SetBackgroundProcessingMode )( | ||
| 26827 | ID3D12Device12 * This, | ||
| 26828 | D3D12_BACKGROUND_PROCESSING_MODE Mode, | ||
| 26829 | D3D12_MEASUREMENTS_ACTION MeasurementsAction, | ||
| 26830 | _In_opt_ HANDLE hEventToSignalUponCompletion, | ||
| 26831 | _Out_opt_ BOOL *pbFurtherMeasurementsDesired); | ||
| 26832 | |||
| 26833 | DECLSPEC_XFGVIRT(ID3D12Device7, AddToStateObject) | ||
| 26834 | HRESULT ( STDMETHODCALLTYPE *AddToStateObject )( | ||
| 26835 | ID3D12Device12 * This, | ||
| 26836 | const D3D12_STATE_OBJECT_DESC *pAddition, | ||
| 26837 | ID3D12StateObject *pStateObjectToGrowFrom, | ||
| 26838 | REFIID riid, | ||
| 26839 | _COM_Outptr_ void **ppNewStateObject); | ||
| 26840 | |||
| 26841 | DECLSPEC_XFGVIRT(ID3D12Device7, CreateProtectedResourceSession1) | ||
| 26842 | HRESULT ( STDMETHODCALLTYPE *CreateProtectedResourceSession1 )( | ||
| 26843 | ID3D12Device12 * This, | ||
| 26844 | _In_ const D3D12_PROTECTED_RESOURCE_SESSION_DESC1 *pDesc, | ||
| 26845 | _In_ REFIID riid, | ||
| 26846 | _COM_Outptr_ void **ppSession); | ||
| 26847 | |||
| 26848 | DECLSPEC_XFGVIRT(ID3D12Device8, GetResourceAllocationInfo2) | ||
| 26849 | #if !defined(_WIN32) | ||
| 26850 | D3D12_RESOURCE_ALLOCATION_INFO ( STDMETHODCALLTYPE *GetResourceAllocationInfo2 )( | ||
| 26851 | ID3D12Device12 * This, | ||
| 26852 | UINT visibleMask, | ||
| 26853 | UINT numResourceDescs, | ||
| 26854 | _In_reads_(numResourceDescs) const D3D12_RESOURCE_DESC1 *pResourceDescs, | ||
| 26855 | _Out_writes_opt_(numResourceDescs) D3D12_RESOURCE_ALLOCATION_INFO1 *pResourceAllocationInfo1); | ||
| 26856 | |||
| 26857 | #else | ||
| 26858 | D3D12_RESOURCE_ALLOCATION_INFO *( STDMETHODCALLTYPE *GetResourceAllocationInfo2 )( | ||
| 26859 | ID3D12Device12 * This, | ||
| 26860 | D3D12_RESOURCE_ALLOCATION_INFO * RetVal, | ||
| 26861 | UINT visibleMask, | ||
| 26862 | UINT numResourceDescs, | ||
| 26863 | _In_reads_(numResourceDescs) const D3D12_RESOURCE_DESC1 *pResourceDescs, | ||
| 26864 | _Out_writes_opt_(numResourceDescs) D3D12_RESOURCE_ALLOCATION_INFO1 *pResourceAllocationInfo1); | ||
| 26865 | |||
| 26866 | #endif | ||
| 26867 | |||
| 26868 | DECLSPEC_XFGVIRT(ID3D12Device8, CreateCommittedResource2) | ||
| 26869 | HRESULT ( STDMETHODCALLTYPE *CreateCommittedResource2 )( | ||
| 26870 | ID3D12Device12 * This, | ||
| 26871 | _In_ const D3D12_HEAP_PROPERTIES *pHeapProperties, | ||
| 26872 | D3D12_HEAP_FLAGS HeapFlags, | ||
| 26873 | _In_ const D3D12_RESOURCE_DESC1 *pDesc, | ||
| 26874 | D3D12_RESOURCE_STATES InitialResourceState, | ||
| 26875 | _In_opt_ const D3D12_CLEAR_VALUE *pOptimizedClearValue, | ||
| 26876 | _In_opt_ ID3D12ProtectedResourceSession *pProtectedSession, | ||
| 26877 | REFIID riidResource, | ||
| 26878 | _COM_Outptr_opt_ void **ppvResource); | ||
| 26879 | |||
| 26880 | DECLSPEC_XFGVIRT(ID3D12Device8, CreatePlacedResource1) | ||
| 26881 | HRESULT ( STDMETHODCALLTYPE *CreatePlacedResource1 )( | ||
| 26882 | ID3D12Device12 * This, | ||
| 26883 | _In_ ID3D12Heap *pHeap, | ||
| 26884 | UINT64 HeapOffset, | ||
| 26885 | _In_ const D3D12_RESOURCE_DESC1 *pDesc, | ||
| 26886 | D3D12_RESOURCE_STATES InitialState, | ||
| 26887 | _In_opt_ const D3D12_CLEAR_VALUE *pOptimizedClearValue, | ||
| 26888 | REFIID riid, | ||
| 26889 | _COM_Outptr_opt_ void **ppvResource); | ||
| 26890 | |||
| 26891 | DECLSPEC_XFGVIRT(ID3D12Device8, CreateSamplerFeedbackUnorderedAccessView) | ||
| 26892 | void ( STDMETHODCALLTYPE *CreateSamplerFeedbackUnorderedAccessView )( | ||
| 26893 | ID3D12Device12 * This, | ||
| 26894 | _In_opt_ ID3D12Resource *pTargetedResource, | ||
| 26895 | _In_opt_ ID3D12Resource *pFeedbackResource, | ||
| 26896 | _In_ D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor); | ||
| 26897 | |||
| 26898 | DECLSPEC_XFGVIRT(ID3D12Device8, GetCopyableFootprints1) | ||
| 26899 | void ( STDMETHODCALLTYPE *GetCopyableFootprints1 )( | ||
| 26900 | ID3D12Device12 * This, | ||
| 26901 | _In_ const D3D12_RESOURCE_DESC1 *pResourceDesc, | ||
| 26902 | _In_range_(0,D3D12_REQ_SUBRESOURCES) UINT FirstSubresource, | ||
| 26903 | _In_range_(0,D3D12_REQ_SUBRESOURCES-FirstSubresource) UINT NumSubresources, | ||
| 26904 | UINT64 BaseOffset, | ||
| 26905 | _Out_writes_opt_(NumSubresources) D3D12_PLACED_SUBRESOURCE_FOOTPRINT *pLayouts, | ||
| 26906 | _Out_writes_opt_(NumSubresources) UINT *pNumRows, | ||
| 26907 | _Out_writes_opt_(NumSubresources) UINT64 *pRowSizeInBytes, | ||
| 26908 | _Out_opt_ UINT64 *pTotalBytes); | ||
| 26909 | |||
| 26910 | DECLSPEC_XFGVIRT(ID3D12Device9, CreateShaderCacheSession) | ||
| 26911 | HRESULT ( STDMETHODCALLTYPE *CreateShaderCacheSession )( | ||
| 26912 | ID3D12Device12 * This, | ||
| 26913 | _In_ const D3D12_SHADER_CACHE_SESSION_DESC *pDesc, | ||
| 26914 | REFIID riid, | ||
| 26915 | _COM_Outptr_opt_ void **ppvSession); | ||
| 26916 | |||
| 26917 | DECLSPEC_XFGVIRT(ID3D12Device9, ShaderCacheControl) | ||
| 26918 | HRESULT ( STDMETHODCALLTYPE *ShaderCacheControl )( | ||
| 26919 | ID3D12Device12 * This, | ||
| 26920 | D3D12_SHADER_CACHE_KIND_FLAGS Kinds, | ||
| 26921 | D3D12_SHADER_CACHE_CONTROL_FLAGS Control); | ||
| 26922 | |||
| 26923 | DECLSPEC_XFGVIRT(ID3D12Device9, CreateCommandQueue1) | ||
| 26924 | HRESULT ( STDMETHODCALLTYPE *CreateCommandQueue1 )( | ||
| 26925 | ID3D12Device12 * This, | ||
| 26926 | _In_ const D3D12_COMMAND_QUEUE_DESC *pDesc, | ||
| 26927 | REFIID CreatorID, | ||
| 26928 | REFIID riid, | ||
| 26929 | _COM_Outptr_ void **ppCommandQueue); | ||
| 26930 | |||
| 26931 | DECLSPEC_XFGVIRT(ID3D12Device10, CreateCommittedResource3) | ||
| 26932 | HRESULT ( STDMETHODCALLTYPE *CreateCommittedResource3 )( | ||
| 26933 | ID3D12Device12 * This, | ||
| 26934 | _In_ const D3D12_HEAP_PROPERTIES *pHeapProperties, | ||
| 26935 | D3D12_HEAP_FLAGS HeapFlags, | ||
| 26936 | _In_ const D3D12_RESOURCE_DESC1 *pDesc, | ||
| 26937 | D3D12_BARRIER_LAYOUT InitialLayout, | ||
| 26938 | _In_opt_ const D3D12_CLEAR_VALUE *pOptimizedClearValue, | ||
| 26939 | _In_opt_ ID3D12ProtectedResourceSession *pProtectedSession, | ||
| 26940 | UINT32 NumCastableFormats, | ||
| 26941 | _In_opt_count_(NumCastableFormats) const DXGI_FORMAT *pCastableFormats, | ||
| 26942 | REFIID riidResource, | ||
| 26943 | _COM_Outptr_opt_ void **ppvResource); | ||
| 26944 | |||
| 26945 | DECLSPEC_XFGVIRT(ID3D12Device10, CreatePlacedResource2) | ||
| 26946 | HRESULT ( STDMETHODCALLTYPE *CreatePlacedResource2 )( | ||
| 26947 | ID3D12Device12 * This, | ||
| 26948 | _In_ ID3D12Heap *pHeap, | ||
| 26949 | UINT64 HeapOffset, | ||
| 26950 | _In_ const D3D12_RESOURCE_DESC1 *pDesc, | ||
| 26951 | D3D12_BARRIER_LAYOUT InitialLayout, | ||
| 26952 | _In_opt_ const D3D12_CLEAR_VALUE *pOptimizedClearValue, | ||
| 26953 | UINT32 NumCastableFormats, | ||
| 26954 | _In_opt_count_(NumCastableFormats) const DXGI_FORMAT *pCastableFormats, | ||
| 26955 | REFIID riid, | ||
| 26956 | _COM_Outptr_opt_ void **ppvResource); | ||
| 26957 | |||
| 26958 | DECLSPEC_XFGVIRT(ID3D12Device10, CreateReservedResource2) | ||
| 26959 | HRESULT ( STDMETHODCALLTYPE *CreateReservedResource2 )( | ||
| 26960 | ID3D12Device12 * This, | ||
| 26961 | _In_ const D3D12_RESOURCE_DESC *pDesc, | ||
| 26962 | D3D12_BARRIER_LAYOUT InitialLayout, | ||
| 26963 | _In_opt_ const D3D12_CLEAR_VALUE *pOptimizedClearValue, | ||
| 26964 | _In_opt_ ID3D12ProtectedResourceSession *pProtectedSession, | ||
| 26965 | UINT32 NumCastableFormats, | ||
| 26966 | _In_opt_count_(NumCastableFormats) const DXGI_FORMAT *pCastableFormats, | ||
| 26967 | REFIID riid, | ||
| 26968 | _COM_Outptr_opt_ void **ppvResource); | ||
| 26969 | |||
| 26970 | DECLSPEC_XFGVIRT(ID3D12Device11, CreateSampler2) | ||
| 26971 | void ( STDMETHODCALLTYPE *CreateSampler2 )( | ||
| 26972 | ID3D12Device12 * This, | ||
| 26973 | _In_ const D3D12_SAMPLER_DESC2 *pDesc, | ||
| 26974 | _In_ D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor); | ||
| 26975 | |||
| 26976 | DECLSPEC_XFGVIRT(ID3D12Device12, GetResourceAllocationInfo3) | ||
| 26977 | #if !defined(_WIN32) | ||
| 26978 | D3D12_RESOURCE_ALLOCATION_INFO ( STDMETHODCALLTYPE *GetResourceAllocationInfo3 )( | ||
| 26979 | ID3D12Device12 * This, | ||
| 26980 | UINT visibleMask, | ||
| 26981 | UINT numResourceDescs, | ||
| 26982 | _In_reads_(numResourceDescs) const D3D12_RESOURCE_DESC1 *pResourceDescs, | ||
| 26983 | _In_opt_count_(numResourceDescs) const UINT32 *pNumCastableFormats, | ||
| 26984 | _In_opt_count_(numResourceDescs) const DXGI_FORMAT *const *ppCastableFormats, | ||
| 26985 | _Out_writes_opt_(numResourceDescs) D3D12_RESOURCE_ALLOCATION_INFO1 *pResourceAllocationInfo1); | ||
| 26986 | |||
| 26987 | #else | ||
| 26988 | D3D12_RESOURCE_ALLOCATION_INFO *( STDMETHODCALLTYPE *GetResourceAllocationInfo3 )( | ||
| 26989 | ID3D12Device12 * This, | ||
| 26990 | D3D12_RESOURCE_ALLOCATION_INFO * RetVal, | ||
| 26991 | UINT visibleMask, | ||
| 26992 | UINT numResourceDescs, | ||
| 26993 | _In_reads_(numResourceDescs) const D3D12_RESOURCE_DESC1 *pResourceDescs, | ||
| 26994 | _In_opt_count_(numResourceDescs) const UINT32 *pNumCastableFormats, | ||
| 26995 | _In_opt_count_(numResourceDescs) const DXGI_FORMAT *const *ppCastableFormats, | ||
| 26996 | _Out_writes_opt_(numResourceDescs) D3D12_RESOURCE_ALLOCATION_INFO1 *pResourceAllocationInfo1); | ||
| 26997 | |||
| 26998 | #endif | ||
| 26999 | |||
| 27000 | END_INTERFACE | ||
| 27001 | } ID3D12Device12Vtbl; | ||
| 27002 | |||
| 27003 | interface ID3D12Device12 | ||
| 27004 | { | ||
| 27005 | CONST_VTBL struct ID3D12Device12Vtbl *lpVtbl; | ||
| 27006 | }; | ||
| 27007 | |||
| 27008 | |||
| 27009 | |||
| 27010 | #ifdef COBJMACROS | ||
| 27011 | |||
| 27012 | |||
| 27013 | #define ID3D12Device12_QueryInterface(This,riid,ppvObject) \ | ||
| 27014 | ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) | ||
| 27015 | |||
| 27016 | #define ID3D12Device12_AddRef(This) \ | ||
| 27017 | ( (This)->lpVtbl -> AddRef(This) ) | ||
| 27018 | |||
| 27019 | #define ID3D12Device12_Release(This) \ | ||
| 27020 | ( (This)->lpVtbl -> Release(This) ) | ||
| 27021 | |||
| 27022 | |||
| 27023 | #define ID3D12Device12_GetPrivateData(This,guid,pDataSize,pData) \ | ||
| 27024 | ( (This)->lpVtbl -> GetPrivateData(This,guid,pDataSize,pData) ) | ||
| 27025 | |||
| 27026 | #define ID3D12Device12_SetPrivateData(This,guid,DataSize,pData) \ | ||
| 27027 | ( (This)->lpVtbl -> SetPrivateData(This,guid,DataSize,pData) ) | ||
| 27028 | |||
| 27029 | #define ID3D12Device12_SetPrivateDataInterface(This,guid,pData) \ | ||
| 27030 | ( (This)->lpVtbl -> SetPrivateDataInterface(This,guid,pData) ) | ||
| 27031 | |||
| 27032 | #define ID3D12Device12_SetName(This,Name) \ | ||
| 27033 | ( (This)->lpVtbl -> SetName(This,Name) ) | ||
| 27034 | |||
| 27035 | |||
| 27036 | #define ID3D12Device12_GetNodeCount(This) \ | ||
| 27037 | ( (This)->lpVtbl -> GetNodeCount(This) ) | ||
| 27038 | |||
| 27039 | #define ID3D12Device12_CreateCommandQueue(This,pDesc,riid,ppCommandQueue) \ | ||
| 27040 | ( (This)->lpVtbl -> CreateCommandQueue(This,pDesc,riid,ppCommandQueue) ) | ||
| 27041 | |||
| 27042 | #define ID3D12Device12_CreateCommandAllocator(This,type,riid,ppCommandAllocator) \ | ||
| 27043 | ( (This)->lpVtbl -> CreateCommandAllocator(This,type,riid,ppCommandAllocator) ) | ||
| 27044 | |||
| 27045 | #define ID3D12Device12_CreateGraphicsPipelineState(This,pDesc,riid,ppPipelineState) \ | ||
| 27046 | ( (This)->lpVtbl -> CreateGraphicsPipelineState(This,pDesc,riid,ppPipelineState) ) | ||
| 27047 | |||
| 27048 | #define ID3D12Device12_CreateComputePipelineState(This,pDesc,riid,ppPipelineState) \ | ||
| 27049 | ( (This)->lpVtbl -> CreateComputePipelineState(This,pDesc,riid,ppPipelineState) ) | ||
| 27050 | |||
| 27051 | #define ID3D12Device12_CreateCommandList(This,nodeMask,type,pCommandAllocator,pInitialState,riid,ppCommandList) \ | ||
| 27052 | ( (This)->lpVtbl -> CreateCommandList(This,nodeMask,type,pCommandAllocator,pInitialState,riid,ppCommandList) ) | ||
| 27053 | |||
| 27054 | #define ID3D12Device12_CheckFeatureSupport(This,Feature,pFeatureSupportData,FeatureSupportDataSize) \ | ||
| 27055 | ( (This)->lpVtbl -> CheckFeatureSupport(This,Feature,pFeatureSupportData,FeatureSupportDataSize) ) | ||
| 27056 | |||
| 27057 | #define ID3D12Device12_CreateDescriptorHeap(This,pDescriptorHeapDesc,riid,ppvHeap) \ | ||
| 27058 | ( (This)->lpVtbl -> CreateDescriptorHeap(This,pDescriptorHeapDesc,riid,ppvHeap) ) | ||
| 27059 | |||
| 27060 | #define ID3D12Device12_GetDescriptorHandleIncrementSize(This,DescriptorHeapType) \ | ||
| 27061 | ( (This)->lpVtbl -> GetDescriptorHandleIncrementSize(This,DescriptorHeapType) ) | ||
| 27062 | |||
| 27063 | #define ID3D12Device12_CreateRootSignature(This,nodeMask,pBlobWithRootSignature,blobLengthInBytes,riid,ppvRootSignature) \ | ||
| 27064 | ( (This)->lpVtbl -> CreateRootSignature(This,nodeMask,pBlobWithRootSignature,blobLengthInBytes,riid,ppvRootSignature) ) | ||
| 27065 | |||
| 27066 | #define ID3D12Device12_CreateConstantBufferView(This,pDesc,DestDescriptor) \ | ||
| 27067 | ( (This)->lpVtbl -> CreateConstantBufferView(This,pDesc,DestDescriptor) ) | ||
| 27068 | |||
| 27069 | #define ID3D12Device12_CreateShaderResourceView(This,pResource,pDesc,DestDescriptor) \ | ||
| 27070 | ( (This)->lpVtbl -> CreateShaderResourceView(This,pResource,pDesc,DestDescriptor) ) | ||
| 27071 | |||
| 27072 | #define ID3D12Device12_CreateUnorderedAccessView(This,pResource,pCounterResource,pDesc,DestDescriptor) \ | ||
| 27073 | ( (This)->lpVtbl -> CreateUnorderedAccessView(This,pResource,pCounterResource,pDesc,DestDescriptor) ) | ||
| 27074 | |||
| 27075 | #define ID3D12Device12_CreateRenderTargetView(This,pResource,pDesc,DestDescriptor) \ | ||
| 27076 | ( (This)->lpVtbl -> CreateRenderTargetView(This,pResource,pDesc,DestDescriptor) ) | ||
| 27077 | |||
| 27078 | #define ID3D12Device12_CreateDepthStencilView(This,pResource,pDesc,DestDescriptor) \ | ||
| 27079 | ( (This)->lpVtbl -> CreateDepthStencilView(This,pResource,pDesc,DestDescriptor) ) | ||
| 27080 | |||
| 27081 | #define ID3D12Device12_CreateSampler(This,pDesc,DestDescriptor) \ | ||
| 27082 | ( (This)->lpVtbl -> CreateSampler(This,pDesc,DestDescriptor) ) | ||
| 27083 | |||
| 27084 | #define ID3D12Device12_CopyDescriptors(This,NumDestDescriptorRanges,pDestDescriptorRangeStarts,pDestDescriptorRangeSizes,NumSrcDescriptorRanges,pSrcDescriptorRangeStarts,pSrcDescriptorRangeSizes,DescriptorHeapsType) \ | ||
| 27085 | ( (This)->lpVtbl -> CopyDescriptors(This,NumDestDescriptorRanges,pDestDescriptorRangeStarts,pDestDescriptorRangeSizes,NumSrcDescriptorRanges,pSrcDescriptorRangeStarts,pSrcDescriptorRangeSizes,DescriptorHeapsType) ) | ||
| 27086 | |||
| 27087 | #define ID3D12Device12_CopyDescriptorsSimple(This,NumDescriptors,DestDescriptorRangeStart,SrcDescriptorRangeStart,DescriptorHeapsType) \ | ||
| 27088 | ( (This)->lpVtbl -> CopyDescriptorsSimple(This,NumDescriptors,DestDescriptorRangeStart,SrcDescriptorRangeStart,DescriptorHeapsType) ) | ||
| 27089 | #if !defined(_WIN32) | ||
| 27090 | |||
| 27091 | #define ID3D12Device12_GetResourceAllocationInfo(This,visibleMask,numResourceDescs,pResourceDescs) \ | ||
| 27092 | ( (This)->lpVtbl -> GetResourceAllocationInfo(This,visibleMask,numResourceDescs,pResourceDescs) ) | ||
| 27093 | #else | ||
| 27094 | #define ID3D12Device12_GetResourceAllocationInfo(This,RetVal,visibleMask,numResourceDescs,pResourceDescs) \ | ||
| 27095 | ( (This)->lpVtbl -> GetResourceAllocationInfo(This,RetVal,visibleMask,numResourceDescs,pResourceDescs) ) | ||
| 27096 | #endif | ||
| 27097 | #if !defined(_WIN32) | ||
| 27098 | |||
| 27099 | #define ID3D12Device12_GetCustomHeapProperties(This,nodeMask,heapType) \ | ||
| 27100 | ( (This)->lpVtbl -> GetCustomHeapProperties(This,nodeMask,heapType) ) | ||
| 27101 | #else | ||
| 27102 | #define ID3D12Device12_GetCustomHeapProperties(This,RetVal,nodeMask,heapType) \ | ||
| 27103 | ( (This)->lpVtbl -> GetCustomHeapProperties(This,RetVal,nodeMask,heapType) ) | ||
| 27104 | #endif | ||
| 27105 | |||
| 27106 | #define ID3D12Device12_CreateCommittedResource(This,pHeapProperties,HeapFlags,pDesc,InitialResourceState,pOptimizedClearValue,riidResource,ppvResource) \ | ||
| 27107 | ( (This)->lpVtbl -> CreateCommittedResource(This,pHeapProperties,HeapFlags,pDesc,InitialResourceState,pOptimizedClearValue,riidResource,ppvResource) ) | ||
| 27108 | |||
| 27109 | #define ID3D12Device12_CreateHeap(This,pDesc,riid,ppvHeap) \ | ||
| 27110 | ( (This)->lpVtbl -> CreateHeap(This,pDesc,riid,ppvHeap) ) | ||
| 27111 | |||
| 27112 | #define ID3D12Device12_CreatePlacedResource(This,pHeap,HeapOffset,pDesc,InitialState,pOptimizedClearValue,riid,ppvResource) \ | ||
| 27113 | ( (This)->lpVtbl -> CreatePlacedResource(This,pHeap,HeapOffset,pDesc,InitialState,pOptimizedClearValue,riid,ppvResource) ) | ||
| 27114 | |||
| 27115 | #define ID3D12Device12_CreateReservedResource(This,pDesc,InitialState,pOptimizedClearValue,riid,ppvResource) \ | ||
| 27116 | ( (This)->lpVtbl -> CreateReservedResource(This,pDesc,InitialState,pOptimizedClearValue,riid,ppvResource) ) | ||
| 27117 | |||
| 27118 | #define ID3D12Device12_CreateSharedHandle(This,pObject,pAttributes,Access,Name,pHandle) \ | ||
| 27119 | ( (This)->lpVtbl -> CreateSharedHandle(This,pObject,pAttributes,Access,Name,pHandle) ) | ||
| 27120 | |||
| 27121 | #define ID3D12Device12_OpenSharedHandle(This,NTHandle,riid,ppvObj) \ | ||
| 27122 | ( (This)->lpVtbl -> OpenSharedHandle(This,NTHandle,riid,ppvObj) ) | ||
| 27123 | |||
| 27124 | #define ID3D12Device12_OpenSharedHandleByName(This,Name,Access,pNTHandle) \ | ||
| 27125 | ( (This)->lpVtbl -> OpenSharedHandleByName(This,Name,Access,pNTHandle) ) | ||
| 27126 | |||
| 27127 | #define ID3D12Device12_MakeResident(This,NumObjects,ppObjects) \ | ||
| 27128 | ( (This)->lpVtbl -> MakeResident(This,NumObjects,ppObjects) ) | ||
| 27129 | |||
| 27130 | #define ID3D12Device12_Evict(This,NumObjects,ppObjects) \ | ||
| 27131 | ( (This)->lpVtbl -> Evict(This,NumObjects,ppObjects) ) | ||
| 27132 | |||
| 27133 | #define ID3D12Device12_CreateFence(This,InitialValue,Flags,riid,ppFence) \ | ||
| 27134 | ( (This)->lpVtbl -> CreateFence(This,InitialValue,Flags,riid,ppFence) ) | ||
| 27135 | |||
| 27136 | #define ID3D12Device12_GetDeviceRemovedReason(This) \ | ||
| 27137 | ( (This)->lpVtbl -> GetDeviceRemovedReason(This) ) | ||
| 27138 | |||
| 27139 | #define ID3D12Device12_GetCopyableFootprints(This,pResourceDesc,FirstSubresource,NumSubresources,BaseOffset,pLayouts,pNumRows,pRowSizeInBytes,pTotalBytes) \ | ||
| 27140 | ( (This)->lpVtbl -> GetCopyableFootprints(This,pResourceDesc,FirstSubresource,NumSubresources,BaseOffset,pLayouts,pNumRows,pRowSizeInBytes,pTotalBytes) ) | ||
| 27141 | |||
| 27142 | #define ID3D12Device12_CreateQueryHeap(This,pDesc,riid,ppvHeap) \ | ||
| 27143 | ( (This)->lpVtbl -> CreateQueryHeap(This,pDesc,riid,ppvHeap) ) | ||
| 27144 | |||
| 27145 | #define ID3D12Device12_SetStablePowerState(This,Enable) \ | ||
| 27146 | ( (This)->lpVtbl -> SetStablePowerState(This,Enable) ) | ||
| 27147 | |||
| 27148 | #define ID3D12Device12_CreateCommandSignature(This,pDesc,pRootSignature,riid,ppvCommandSignature) \ | ||
| 27149 | ( (This)->lpVtbl -> CreateCommandSignature(This,pDesc,pRootSignature,riid,ppvCommandSignature) ) | ||
| 27150 | |||
| 27151 | #define ID3D12Device12_GetResourceTiling(This,pTiledResource,pNumTilesForEntireResource,pPackedMipDesc,pStandardTileShapeForNonPackedMips,pNumSubresourceTilings,FirstSubresourceTilingToGet,pSubresourceTilingsForNonPackedMips) \ | ||
| 27152 | ( (This)->lpVtbl -> GetResourceTiling(This,pTiledResource,pNumTilesForEntireResource,pPackedMipDesc,pStandardTileShapeForNonPackedMips,pNumSubresourceTilings,FirstSubresourceTilingToGet,pSubresourceTilingsForNonPackedMips) ) | ||
| 27153 | #if !defined(_WIN32) | ||
| 27154 | |||
| 27155 | #define ID3D12Device12_GetAdapterLuid(This) \ | ||
| 27156 | ( (This)->lpVtbl -> GetAdapterLuid(This) ) | ||
| 27157 | #else | ||
| 27158 | #define ID3D12Device12_GetAdapterLuid(This,RetVal) \ | ||
| 27159 | ( (This)->lpVtbl -> GetAdapterLuid(This,RetVal) ) | ||
| 27160 | #endif | ||
| 27161 | |||
| 27162 | |||
| 27163 | #define ID3D12Device12_CreatePipelineLibrary(This,pLibraryBlob,BlobLength,riid,ppPipelineLibrary) \ | ||
| 27164 | ( (This)->lpVtbl -> CreatePipelineLibrary(This,pLibraryBlob,BlobLength,riid,ppPipelineLibrary) ) | ||
| 27165 | |||
| 27166 | #define ID3D12Device12_SetEventOnMultipleFenceCompletion(This,ppFences,pFenceValues,NumFences,Flags,hEvent) \ | ||
| 27167 | ( (This)->lpVtbl -> SetEventOnMultipleFenceCompletion(This,ppFences,pFenceValues,NumFences,Flags,hEvent) ) | ||
| 27168 | |||
| 27169 | #define ID3D12Device12_SetResidencyPriority(This,NumObjects,ppObjects,pPriorities) \ | ||
| 27170 | ( (This)->lpVtbl -> SetResidencyPriority(This,NumObjects,ppObjects,pPriorities) ) | ||
| 27171 | |||
| 27172 | |||
| 27173 | #define ID3D12Device12_CreatePipelineState(This,pDesc,riid,ppPipelineState) \ | ||
| 27174 | ( (This)->lpVtbl -> CreatePipelineState(This,pDesc,riid,ppPipelineState) ) | ||
| 27175 | |||
| 27176 | |||
| 27177 | #define ID3D12Device12_OpenExistingHeapFromAddress(This,pAddress,riid,ppvHeap) \ | ||
| 27178 | ( (This)->lpVtbl -> OpenExistingHeapFromAddress(This,pAddress,riid,ppvHeap) ) | ||
| 27179 | |||
| 27180 | #define ID3D12Device12_OpenExistingHeapFromFileMapping(This,hFileMapping,riid,ppvHeap) \ | ||
| 27181 | ( (This)->lpVtbl -> OpenExistingHeapFromFileMapping(This,hFileMapping,riid,ppvHeap) ) | ||
| 27182 | |||
| 27183 | #define ID3D12Device12_EnqueueMakeResident(This,Flags,NumObjects,ppObjects,pFenceToSignal,FenceValueToSignal) \ | ||
| 27184 | ( (This)->lpVtbl -> EnqueueMakeResident(This,Flags,NumObjects,ppObjects,pFenceToSignal,FenceValueToSignal) ) | ||
| 27185 | |||
| 27186 | |||
| 27187 | #define ID3D12Device12_CreateCommandList1(This,nodeMask,type,flags,riid,ppCommandList) \ | ||
| 27188 | ( (This)->lpVtbl -> CreateCommandList1(This,nodeMask,type,flags,riid,ppCommandList) ) | ||
| 27189 | |||
| 27190 | #define ID3D12Device12_CreateProtectedResourceSession(This,pDesc,riid,ppSession) \ | ||
| 27191 | ( (This)->lpVtbl -> CreateProtectedResourceSession(This,pDesc,riid,ppSession) ) | ||
| 27192 | |||
| 27193 | #define ID3D12Device12_CreateCommittedResource1(This,pHeapProperties,HeapFlags,pDesc,InitialResourceState,pOptimizedClearValue,pProtectedSession,riidResource,ppvResource) \ | ||
| 27194 | ( (This)->lpVtbl -> CreateCommittedResource1(This,pHeapProperties,HeapFlags,pDesc,InitialResourceState,pOptimizedClearValue,pProtectedSession,riidResource,ppvResource) ) | ||
| 27195 | |||
| 27196 | #define ID3D12Device12_CreateHeap1(This,pDesc,pProtectedSession,riid,ppvHeap) \ | ||
| 27197 | ( (This)->lpVtbl -> CreateHeap1(This,pDesc,pProtectedSession,riid,ppvHeap) ) | ||
| 27198 | |||
| 27199 | #define ID3D12Device12_CreateReservedResource1(This,pDesc,InitialState,pOptimizedClearValue,pProtectedSession,riid,ppvResource) \ | ||
| 27200 | ( (This)->lpVtbl -> CreateReservedResource1(This,pDesc,InitialState,pOptimizedClearValue,pProtectedSession,riid,ppvResource) ) | ||
| 27201 | #if !defined(_WIN32) | ||
| 27202 | |||
| 27203 | #define ID3D12Device12_GetResourceAllocationInfo1(This,visibleMask,numResourceDescs,pResourceDescs,pResourceAllocationInfo1) \ | ||
| 27204 | ( (This)->lpVtbl -> GetResourceAllocationInfo1(This,visibleMask,numResourceDescs,pResourceDescs,pResourceAllocationInfo1) ) | ||
| 27205 | #else | ||
| 27206 | #define ID3D12Device12_GetResourceAllocationInfo1(This,RetVal,visibleMask,numResourceDescs,pResourceDescs,pResourceAllocationInfo1) \ | ||
| 27207 | ( (This)->lpVtbl -> GetResourceAllocationInfo1(This,RetVal,visibleMask,numResourceDescs,pResourceDescs,pResourceAllocationInfo1) ) | ||
| 27208 | #endif | ||
| 27209 | |||
| 27210 | |||
| 27211 | #define ID3D12Device12_CreateLifetimeTracker(This,pOwner,riid,ppvTracker) \ | ||
| 27212 | ( (This)->lpVtbl -> CreateLifetimeTracker(This,pOwner,riid,ppvTracker) ) | ||
| 27213 | |||
| 27214 | #define ID3D12Device12_RemoveDevice(This) \ | ||
| 27215 | ( (This)->lpVtbl -> RemoveDevice(This) ) | ||
| 27216 | |||
| 27217 | #define ID3D12Device12_EnumerateMetaCommands(This,pNumMetaCommands,pDescs) \ | ||
| 27218 | ( (This)->lpVtbl -> EnumerateMetaCommands(This,pNumMetaCommands,pDescs) ) | ||
| 27219 | |||
| 27220 | #define ID3D12Device12_EnumerateMetaCommandParameters(This,CommandId,Stage,pTotalStructureSizeInBytes,pParameterCount,pParameterDescs) \ | ||
| 27221 | ( (This)->lpVtbl -> EnumerateMetaCommandParameters(This,CommandId,Stage,pTotalStructureSizeInBytes,pParameterCount,pParameterDescs) ) | ||
| 27222 | |||
| 27223 | #define ID3D12Device12_CreateMetaCommand(This,CommandId,NodeMask,pCreationParametersData,CreationParametersDataSizeInBytes,riid,ppMetaCommand) \ | ||
| 27224 | ( (This)->lpVtbl -> CreateMetaCommand(This,CommandId,NodeMask,pCreationParametersData,CreationParametersDataSizeInBytes,riid,ppMetaCommand) ) | ||
| 27225 | |||
| 27226 | #define ID3D12Device12_CreateStateObject(This,pDesc,riid,ppStateObject) \ | ||
| 27227 | ( (This)->lpVtbl -> CreateStateObject(This,pDesc,riid,ppStateObject) ) | ||
| 27228 | |||
| 27229 | #define ID3D12Device12_GetRaytracingAccelerationStructurePrebuildInfo(This,pDesc,pInfo) \ | ||
| 27230 | ( (This)->lpVtbl -> GetRaytracingAccelerationStructurePrebuildInfo(This,pDesc,pInfo) ) | ||
| 27231 | |||
| 27232 | #define ID3D12Device12_CheckDriverMatchingIdentifier(This,SerializedDataType,pIdentifierToCheck) \ | ||
| 27233 | ( (This)->lpVtbl -> CheckDriverMatchingIdentifier(This,SerializedDataType,pIdentifierToCheck) ) | ||
| 27234 | |||
| 27235 | |||
| 27236 | #define ID3D12Device12_SetBackgroundProcessingMode(This,Mode,MeasurementsAction,hEventToSignalUponCompletion,pbFurtherMeasurementsDesired) \ | ||
| 27237 | ( (This)->lpVtbl -> SetBackgroundProcessingMode(This,Mode,MeasurementsAction,hEventToSignalUponCompletion,pbFurtherMeasurementsDesired) ) | ||
| 27238 | |||
| 27239 | |||
| 27240 | #define ID3D12Device12_AddToStateObject(This,pAddition,pStateObjectToGrowFrom,riid,ppNewStateObject) \ | ||
| 27241 | ( (This)->lpVtbl -> AddToStateObject(This,pAddition,pStateObjectToGrowFrom,riid,ppNewStateObject) ) | ||
| 27242 | |||
| 27243 | #define ID3D12Device12_CreateProtectedResourceSession1(This,pDesc,riid,ppSession) \ | ||
| 27244 | ( (This)->lpVtbl -> CreateProtectedResourceSession1(This,pDesc,riid,ppSession) ) | ||
| 27245 | |||
| 27246 | #if !defined(_WIN32) | ||
| 27247 | |||
| 27248 | #define ID3D12Device12_GetResourceAllocationInfo2(This,visibleMask,numResourceDescs,pResourceDescs,pResourceAllocationInfo1) \ | ||
| 27249 | ( (This)->lpVtbl -> GetResourceAllocationInfo2(This,visibleMask,numResourceDescs,pResourceDescs,pResourceAllocationInfo1) ) | ||
| 27250 | #else | ||
| 27251 | #define ID3D12Device12_GetResourceAllocationInfo2(This,RetVal,visibleMask,numResourceDescs,pResourceDescs,pResourceAllocationInfo1) \ | ||
| 27252 | ( (This)->lpVtbl -> GetResourceAllocationInfo2(This,RetVal,visibleMask,numResourceDescs,pResourceDescs,pResourceAllocationInfo1) ) | ||
| 27253 | #endif | ||
| 27254 | |||
| 27255 | #define ID3D12Device12_CreateCommittedResource2(This,pHeapProperties,HeapFlags,pDesc,InitialResourceState,pOptimizedClearValue,pProtectedSession,riidResource,ppvResource) \ | ||
| 27256 | ( (This)->lpVtbl -> CreateCommittedResource2(This,pHeapProperties,HeapFlags,pDesc,InitialResourceState,pOptimizedClearValue,pProtectedSession,riidResource,ppvResource) ) | ||
| 27257 | |||
| 27258 | #define ID3D12Device12_CreatePlacedResource1(This,pHeap,HeapOffset,pDesc,InitialState,pOptimizedClearValue,riid,ppvResource) \ | ||
| 27259 | ( (This)->lpVtbl -> CreatePlacedResource1(This,pHeap,HeapOffset,pDesc,InitialState,pOptimizedClearValue,riid,ppvResource) ) | ||
| 27260 | |||
| 27261 | #define ID3D12Device12_CreateSamplerFeedbackUnorderedAccessView(This,pTargetedResource,pFeedbackResource,DestDescriptor) \ | ||
| 27262 | ( (This)->lpVtbl -> CreateSamplerFeedbackUnorderedAccessView(This,pTargetedResource,pFeedbackResource,DestDescriptor) ) | ||
| 27263 | |||
| 27264 | #define ID3D12Device12_GetCopyableFootprints1(This,pResourceDesc,FirstSubresource,NumSubresources,BaseOffset,pLayouts,pNumRows,pRowSizeInBytes,pTotalBytes) \ | ||
| 27265 | ( (This)->lpVtbl -> GetCopyableFootprints1(This,pResourceDesc,FirstSubresource,NumSubresources,BaseOffset,pLayouts,pNumRows,pRowSizeInBytes,pTotalBytes) ) | ||
| 27266 | |||
| 27267 | |||
| 27268 | #define ID3D12Device12_CreateShaderCacheSession(This,pDesc,riid,ppvSession) \ | ||
| 27269 | ( (This)->lpVtbl -> CreateShaderCacheSession(This,pDesc,riid,ppvSession) ) | ||
| 27270 | |||
| 27271 | #define ID3D12Device12_ShaderCacheControl(This,Kinds,Control) \ | ||
| 27272 | ( (This)->lpVtbl -> ShaderCacheControl(This,Kinds,Control) ) | ||
| 27273 | |||
| 27274 | #define ID3D12Device12_CreateCommandQueue1(This,pDesc,CreatorID,riid,ppCommandQueue) \ | ||
| 27275 | ( (This)->lpVtbl -> CreateCommandQueue1(This,pDesc,CreatorID,riid,ppCommandQueue) ) | ||
| 27276 | |||
| 27277 | |||
| 27278 | #define ID3D12Device12_CreateCommittedResource3(This,pHeapProperties,HeapFlags,pDesc,InitialLayout,pOptimizedClearValue,pProtectedSession,NumCastableFormats,pCastableFormats,riidResource,ppvResource) \ | ||
| 27279 | ( (This)->lpVtbl -> CreateCommittedResource3(This,pHeapProperties,HeapFlags,pDesc,InitialLayout,pOptimizedClearValue,pProtectedSession,NumCastableFormats,pCastableFormats,riidResource,ppvResource) ) | ||
| 27280 | |||
| 27281 | #define ID3D12Device12_CreatePlacedResource2(This,pHeap,HeapOffset,pDesc,InitialLayout,pOptimizedClearValue,NumCastableFormats,pCastableFormats,riid,ppvResource) \ | ||
| 27282 | ( (This)->lpVtbl -> CreatePlacedResource2(This,pHeap,HeapOffset,pDesc,InitialLayout,pOptimizedClearValue,NumCastableFormats,pCastableFormats,riid,ppvResource) ) | ||
| 27283 | |||
| 27284 | #define ID3D12Device12_CreateReservedResource2(This,pDesc,InitialLayout,pOptimizedClearValue,pProtectedSession,NumCastableFormats,pCastableFormats,riid,ppvResource) \ | ||
| 27285 | ( (This)->lpVtbl -> CreateReservedResource2(This,pDesc,InitialLayout,pOptimizedClearValue,pProtectedSession,NumCastableFormats,pCastableFormats,riid,ppvResource) ) | ||
| 27286 | |||
| 27287 | |||
| 27288 | #define ID3D12Device12_CreateSampler2(This,pDesc,DestDescriptor) \ | ||
| 27289 | ( (This)->lpVtbl -> CreateSampler2(This,pDesc,DestDescriptor) ) | ||
| 27290 | |||
| 27291 | #if !defined(_WIN32) | ||
| 27292 | |||
| 27293 | #define ID3D12Device12_GetResourceAllocationInfo3(This,visibleMask,numResourceDescs,pResourceDescs,pNumCastableFormats,ppCastableFormats,pResourceAllocationInfo1) \ | ||
| 27294 | ( (This)->lpVtbl -> GetResourceAllocationInfo3(This,visibleMask,numResourceDescs,pResourceDescs,pNumCastableFormats,ppCastableFormats,pResourceAllocationInfo1) ) | ||
| 27295 | #else | ||
| 27296 | #define ID3D12Device12_GetResourceAllocationInfo3(This,RetVal,visibleMask,numResourceDescs,pResourceDescs,pNumCastableFormats,ppCastableFormats,pResourceAllocationInfo1) \ | ||
| 27297 | ( (This)->lpVtbl -> GetResourceAllocationInfo3(This,RetVal,visibleMask,numResourceDescs,pResourceDescs,pNumCastableFormats,ppCastableFormats,pResourceAllocationInfo1) ) | ||
| 27298 | #endif | ||
| 27299 | |||
| 27300 | #endif /* COBJMACROS */ | ||
| 27301 | |||
| 27302 | |||
| 27303 | #endif /* C style interface */ | ||
| 27304 | |||
| 27305 | |||
| 27306 | |||
| 27307 | |||
| 27308 | #endif /* __ID3D12Device12_INTERFACE_DEFINED__ */ | ||
| 27309 | |||
| 27310 | |||
| 27311 | #ifndef __ID3D12Device13_INTERFACE_DEFINED__ | ||
| 27312 | #define __ID3D12Device13_INTERFACE_DEFINED__ | ||
| 27313 | |||
| 27314 | /* interface ID3D12Device13 */ | ||
| 27315 | /* [unique][local][object][uuid] */ | ||
| 27316 | |||
| 27317 | |||
| 27318 | EXTERN_C const IID IID_ID3D12Device13; | ||
| 27319 | |||
| 27320 | #if defined(__cplusplus) && !defined(CINTERFACE) | ||
| 27321 | |||
| 27322 | MIDL_INTERFACE("14eecffc-4df8-40f7-a118-5c816f45695e") | ||
| 27323 | ID3D12Device13 : public ID3D12Device12 | ||
| 27324 | { | ||
| 27325 | public: | ||
| 27326 | virtual HRESULT STDMETHODCALLTYPE OpenExistingHeapFromAddress1( | ||
| 27327 | _In_ const void *pAddress, | ||
| 27328 | SIZE_T size, | ||
| 27329 | REFIID riid, | ||
| 27330 | _COM_Outptr_ void **ppvHeap) = 0; | ||
| 27331 | |||
| 27332 | }; | ||
| 27333 | |||
| 27334 | |||
| 27335 | #else /* C style interface */ | ||
| 27336 | |||
| 27337 | typedef struct ID3D12Device13Vtbl | ||
| 27338 | { | ||
| 27339 | BEGIN_INTERFACE | ||
| 27340 | |||
| 27341 | DECLSPEC_XFGVIRT(IUnknown, QueryInterface) | ||
| 27342 | HRESULT ( STDMETHODCALLTYPE *QueryInterface )( | ||
| 27343 | ID3D12Device13 * This, | ||
| 27344 | REFIID riid, | ||
| 27345 | _COM_Outptr_ void **ppvObject); | ||
| 27346 | |||
| 27347 | DECLSPEC_XFGVIRT(IUnknown, AddRef) | ||
| 27348 | ULONG ( STDMETHODCALLTYPE *AddRef )( | ||
| 27349 | ID3D12Device13 * This); | ||
| 27350 | |||
| 27351 | DECLSPEC_XFGVIRT(IUnknown, Release) | ||
| 27352 | ULONG ( STDMETHODCALLTYPE *Release )( | ||
| 27353 | ID3D12Device13 * This); | ||
| 27354 | |||
| 27355 | DECLSPEC_XFGVIRT(ID3D12Object, GetPrivateData) | ||
| 27356 | HRESULT ( STDMETHODCALLTYPE *GetPrivateData )( | ||
| 27357 | ID3D12Device13 * This, | ||
| 27358 | _In_ REFGUID guid, | ||
| 27359 | _Inout_ UINT *pDataSize, | ||
| 27360 | _Out_writes_bytes_opt_( *pDataSize ) void *pData); | ||
| 27361 | |||
| 27362 | DECLSPEC_XFGVIRT(ID3D12Object, SetPrivateData) | ||
| 27363 | HRESULT ( STDMETHODCALLTYPE *SetPrivateData )( | ||
| 27364 | ID3D12Device13 * This, | ||
| 27365 | _In_ REFGUID guid, | ||
| 27366 | _In_ UINT DataSize, | ||
| 27367 | _In_reads_bytes_opt_( DataSize ) const void *pData); | ||
| 27368 | |||
| 27369 | DECLSPEC_XFGVIRT(ID3D12Object, SetPrivateDataInterface) | ||
| 27370 | HRESULT ( STDMETHODCALLTYPE *SetPrivateDataInterface )( | ||
| 27371 | ID3D12Device13 * This, | ||
| 27372 | _In_ REFGUID guid, | ||
| 27373 | _In_opt_ const IUnknown *pData); | ||
| 27374 | |||
| 27375 | DECLSPEC_XFGVIRT(ID3D12Object, SetName) | ||
| 27376 | HRESULT ( STDMETHODCALLTYPE *SetName )( | ||
| 27377 | ID3D12Device13 * This, | ||
| 27378 | _In_z_ LPCWSTR Name); | ||
| 27379 | |||
| 27380 | DECLSPEC_XFGVIRT(ID3D12Device, GetNodeCount) | ||
| 27381 | UINT ( STDMETHODCALLTYPE *GetNodeCount )( | ||
| 27382 | ID3D12Device13 * This); | ||
| 27383 | |||
| 27384 | DECLSPEC_XFGVIRT(ID3D12Device, CreateCommandQueue) | ||
| 27385 | HRESULT ( STDMETHODCALLTYPE *CreateCommandQueue )( | ||
| 27386 | ID3D12Device13 * This, | ||
| 27387 | _In_ const D3D12_COMMAND_QUEUE_DESC *pDesc, | ||
| 27388 | REFIID riid, | ||
| 27389 | _COM_Outptr_ void **ppCommandQueue); | ||
| 27390 | |||
| 27391 | DECLSPEC_XFGVIRT(ID3D12Device, CreateCommandAllocator) | ||
| 27392 | HRESULT ( STDMETHODCALLTYPE *CreateCommandAllocator )( | ||
| 27393 | ID3D12Device13 * This, | ||
| 27394 | _In_ D3D12_COMMAND_LIST_TYPE type, | ||
| 27395 | REFIID riid, | ||
| 27396 | _COM_Outptr_ void **ppCommandAllocator); | ||
| 27397 | |||
| 27398 | DECLSPEC_XFGVIRT(ID3D12Device, CreateGraphicsPipelineState) | ||
| 27399 | HRESULT ( STDMETHODCALLTYPE *CreateGraphicsPipelineState )( | ||
| 27400 | ID3D12Device13 * This, | ||
| 27401 | _In_ const D3D12_GRAPHICS_PIPELINE_STATE_DESC *pDesc, | ||
| 27402 | REFIID riid, | ||
| 27403 | _COM_Outptr_ void **ppPipelineState); | ||
| 27404 | |||
| 27405 | DECLSPEC_XFGVIRT(ID3D12Device, CreateComputePipelineState) | ||
| 27406 | HRESULT ( STDMETHODCALLTYPE *CreateComputePipelineState )( | ||
| 27407 | ID3D12Device13 * This, | ||
| 27408 | _In_ const D3D12_COMPUTE_PIPELINE_STATE_DESC *pDesc, | ||
| 27409 | REFIID riid, | ||
| 27410 | _COM_Outptr_ void **ppPipelineState); | ||
| 27411 | |||
| 27412 | DECLSPEC_XFGVIRT(ID3D12Device, CreateCommandList) | ||
| 27413 | HRESULT ( STDMETHODCALLTYPE *CreateCommandList )( | ||
| 27414 | ID3D12Device13 * This, | ||
| 27415 | _In_ UINT nodeMask, | ||
| 27416 | _In_ D3D12_COMMAND_LIST_TYPE type, | ||
| 27417 | _In_ ID3D12CommandAllocator *pCommandAllocator, | ||
| 27418 | _In_opt_ ID3D12PipelineState *pInitialState, | ||
| 27419 | REFIID riid, | ||
| 27420 | _COM_Outptr_ void **ppCommandList); | ||
| 27421 | |||
| 27422 | DECLSPEC_XFGVIRT(ID3D12Device, CheckFeatureSupport) | ||
| 27423 | HRESULT ( STDMETHODCALLTYPE *CheckFeatureSupport )( | ||
| 27424 | ID3D12Device13 * This, | ||
| 27425 | D3D12_FEATURE Feature, | ||
| 27426 | _Inout_updates_bytes_(FeatureSupportDataSize) void *pFeatureSupportData, | ||
| 27427 | UINT FeatureSupportDataSize); | ||
| 27428 | |||
| 27429 | DECLSPEC_XFGVIRT(ID3D12Device, CreateDescriptorHeap) | ||
| 27430 | HRESULT ( STDMETHODCALLTYPE *CreateDescriptorHeap )( | ||
| 27431 | ID3D12Device13 * This, | ||
| 27432 | _In_ const D3D12_DESCRIPTOR_HEAP_DESC *pDescriptorHeapDesc, | ||
| 27433 | REFIID riid, | ||
| 27434 | _COM_Outptr_ void **ppvHeap); | ||
| 27435 | |||
| 27436 | DECLSPEC_XFGVIRT(ID3D12Device, GetDescriptorHandleIncrementSize) | ||
| 27437 | UINT ( STDMETHODCALLTYPE *GetDescriptorHandleIncrementSize )( | ||
| 27438 | ID3D12Device13 * This, | ||
| 27439 | _In_ D3D12_DESCRIPTOR_HEAP_TYPE DescriptorHeapType); | ||
| 27440 | |||
| 27441 | DECLSPEC_XFGVIRT(ID3D12Device, CreateRootSignature) | ||
| 27442 | HRESULT ( STDMETHODCALLTYPE *CreateRootSignature )( | ||
| 27443 | ID3D12Device13 * This, | ||
| 27444 | _In_ UINT nodeMask, | ||
| 27445 | _In_reads_(blobLengthInBytes) const void *pBlobWithRootSignature, | ||
| 27446 | _In_ SIZE_T blobLengthInBytes, | ||
| 27447 | REFIID riid, | ||
| 27448 | _COM_Outptr_ void **ppvRootSignature); | ||
| 27449 | |||
| 27450 | DECLSPEC_XFGVIRT(ID3D12Device, CreateConstantBufferView) | ||
| 27451 | void ( STDMETHODCALLTYPE *CreateConstantBufferView )( | ||
| 27452 | ID3D12Device13 * This, | ||
| 27453 | _In_opt_ const D3D12_CONSTANT_BUFFER_VIEW_DESC *pDesc, | ||
| 27454 | _In_ D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor); | ||
| 27455 | |||
| 27456 | DECLSPEC_XFGVIRT(ID3D12Device, CreateShaderResourceView) | ||
| 27457 | void ( STDMETHODCALLTYPE *CreateShaderResourceView )( | ||
| 27458 | ID3D12Device13 * This, | ||
| 27459 | _In_opt_ ID3D12Resource *pResource, | ||
| 27460 | _In_opt_ const D3D12_SHADER_RESOURCE_VIEW_DESC *pDesc, | ||
| 27461 | _In_ D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor); | ||
| 27462 | |||
| 27463 | DECLSPEC_XFGVIRT(ID3D12Device, CreateUnorderedAccessView) | ||
| 27464 | void ( STDMETHODCALLTYPE *CreateUnorderedAccessView )( | ||
| 27465 | ID3D12Device13 * This, | ||
| 27466 | _In_opt_ ID3D12Resource *pResource, | ||
| 27467 | _In_opt_ ID3D12Resource *pCounterResource, | ||
| 27468 | _In_opt_ const D3D12_UNORDERED_ACCESS_VIEW_DESC *pDesc, | ||
| 27469 | _In_ D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor); | ||
| 27470 | |||
| 27471 | DECLSPEC_XFGVIRT(ID3D12Device, CreateRenderTargetView) | ||
| 27472 | void ( STDMETHODCALLTYPE *CreateRenderTargetView )( | ||
| 27473 | ID3D12Device13 * This, | ||
| 27474 | _In_opt_ ID3D12Resource *pResource, | ||
| 27475 | _In_opt_ const D3D12_RENDER_TARGET_VIEW_DESC *pDesc, | ||
| 27476 | _In_ D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor); | ||
| 27477 | |||
| 27478 | DECLSPEC_XFGVIRT(ID3D12Device, CreateDepthStencilView) | ||
| 27479 | void ( STDMETHODCALLTYPE *CreateDepthStencilView )( | ||
| 27480 | ID3D12Device13 * This, | ||
| 27481 | _In_opt_ ID3D12Resource *pResource, | ||
| 27482 | _In_opt_ const D3D12_DEPTH_STENCIL_VIEW_DESC *pDesc, | ||
| 27483 | _In_ D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor); | ||
| 27484 | |||
| 27485 | DECLSPEC_XFGVIRT(ID3D12Device, CreateSampler) | ||
| 27486 | void ( STDMETHODCALLTYPE *CreateSampler )( | ||
| 27487 | ID3D12Device13 * This, | ||
| 27488 | _In_ const D3D12_SAMPLER_DESC *pDesc, | ||
| 27489 | _In_ D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor); | ||
| 27490 | |||
| 27491 | DECLSPEC_XFGVIRT(ID3D12Device, CopyDescriptors) | ||
| 27492 | void ( STDMETHODCALLTYPE *CopyDescriptors )( | ||
| 27493 | ID3D12Device13 * This, | ||
| 27494 | _In_ UINT NumDestDescriptorRanges, | ||
| 27495 | _In_reads_(NumDestDescriptorRanges) const D3D12_CPU_DESCRIPTOR_HANDLE *pDestDescriptorRangeStarts, | ||
| 27496 | _In_reads_opt_(NumDestDescriptorRanges) const UINT *pDestDescriptorRangeSizes, | ||
| 27497 | _In_ UINT NumSrcDescriptorRanges, | ||
| 27498 | _In_reads_(NumSrcDescriptorRanges) const D3D12_CPU_DESCRIPTOR_HANDLE *pSrcDescriptorRangeStarts, | ||
| 27499 | _In_reads_opt_(NumSrcDescriptorRanges) const UINT *pSrcDescriptorRangeSizes, | ||
| 27500 | _In_ D3D12_DESCRIPTOR_HEAP_TYPE DescriptorHeapsType); | ||
| 27501 | |||
| 27502 | DECLSPEC_XFGVIRT(ID3D12Device, CopyDescriptorsSimple) | ||
| 27503 | void ( STDMETHODCALLTYPE *CopyDescriptorsSimple )( | ||
| 27504 | ID3D12Device13 * This, | ||
| 27505 | _In_ UINT NumDescriptors, | ||
| 27506 | _In_ D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptorRangeStart, | ||
| 27507 | _In_ D3D12_CPU_DESCRIPTOR_HANDLE SrcDescriptorRangeStart, | ||
| 27508 | _In_ D3D12_DESCRIPTOR_HEAP_TYPE DescriptorHeapsType); | ||
| 27509 | |||
| 27510 | DECLSPEC_XFGVIRT(ID3D12Device, GetResourceAllocationInfo) | ||
| 27511 | #if !defined(_WIN32) | ||
| 27512 | D3D12_RESOURCE_ALLOCATION_INFO ( STDMETHODCALLTYPE *GetResourceAllocationInfo )( | ||
| 27513 | ID3D12Device13 * This, | ||
| 27514 | _In_ UINT visibleMask, | ||
| 27515 | _In_ UINT numResourceDescs, | ||
| 27516 | _In_reads_(numResourceDescs) const D3D12_RESOURCE_DESC *pResourceDescs); | ||
| 27517 | |||
| 27518 | #else | ||
| 27519 | D3D12_RESOURCE_ALLOCATION_INFO *( STDMETHODCALLTYPE *GetResourceAllocationInfo )( | ||
| 27520 | ID3D12Device13 * This, | ||
| 27521 | D3D12_RESOURCE_ALLOCATION_INFO * RetVal, | ||
| 27522 | _In_ UINT visibleMask, | ||
| 27523 | _In_ UINT numResourceDescs, | ||
| 27524 | _In_reads_(numResourceDescs) const D3D12_RESOURCE_DESC *pResourceDescs); | ||
| 27525 | |||
| 27526 | #endif | ||
| 27527 | |||
| 27528 | DECLSPEC_XFGVIRT(ID3D12Device, GetCustomHeapProperties) | ||
| 27529 | #if !defined(_WIN32) | ||
| 27530 | D3D12_HEAP_PROPERTIES ( STDMETHODCALLTYPE *GetCustomHeapProperties )( | ||
| 27531 | ID3D12Device13 * This, | ||
| 27532 | _In_ UINT nodeMask, | ||
| 27533 | D3D12_HEAP_TYPE heapType); | ||
| 27534 | |||
| 27535 | #else | ||
| 27536 | D3D12_HEAP_PROPERTIES *( STDMETHODCALLTYPE *GetCustomHeapProperties )( | ||
| 27537 | ID3D12Device13 * This, | ||
| 27538 | D3D12_HEAP_PROPERTIES * RetVal, | ||
| 27539 | _In_ UINT nodeMask, | ||
| 27540 | D3D12_HEAP_TYPE heapType); | ||
| 27541 | |||
| 27542 | #endif | ||
| 27543 | |||
| 27544 | DECLSPEC_XFGVIRT(ID3D12Device, CreateCommittedResource) | ||
| 27545 | HRESULT ( STDMETHODCALLTYPE *CreateCommittedResource )( | ||
| 27546 | ID3D12Device13 * This, | ||
| 27547 | _In_ const D3D12_HEAP_PROPERTIES *pHeapProperties, | ||
| 27548 | D3D12_HEAP_FLAGS HeapFlags, | ||
| 27549 | _In_ const D3D12_RESOURCE_DESC *pDesc, | ||
| 27550 | D3D12_RESOURCE_STATES InitialResourceState, | ||
| 27551 | _In_opt_ const D3D12_CLEAR_VALUE *pOptimizedClearValue, | ||
| 27552 | REFIID riidResource, | ||
| 27553 | _COM_Outptr_opt_ void **ppvResource); | ||
| 27554 | |||
| 27555 | DECLSPEC_XFGVIRT(ID3D12Device, CreateHeap) | ||
| 27556 | HRESULT ( STDMETHODCALLTYPE *CreateHeap )( | ||
| 27557 | ID3D12Device13 * This, | ||
| 27558 | _In_ const D3D12_HEAP_DESC *pDesc, | ||
| 27559 | REFIID riid, | ||
| 27560 | _COM_Outptr_opt_ void **ppvHeap); | ||
| 27561 | |||
| 27562 | DECLSPEC_XFGVIRT(ID3D12Device, CreatePlacedResource) | ||
| 27563 | HRESULT ( STDMETHODCALLTYPE *CreatePlacedResource )( | ||
| 27564 | ID3D12Device13 * This, | ||
| 27565 | _In_ ID3D12Heap *pHeap, | ||
| 27566 | UINT64 HeapOffset, | ||
| 27567 | _In_ const D3D12_RESOURCE_DESC *pDesc, | ||
| 27568 | D3D12_RESOURCE_STATES InitialState, | ||
| 27569 | _In_opt_ const D3D12_CLEAR_VALUE *pOptimizedClearValue, | ||
| 27570 | REFIID riid, | ||
| 27571 | _COM_Outptr_opt_ void **ppvResource); | ||
| 27572 | |||
| 27573 | DECLSPEC_XFGVIRT(ID3D12Device, CreateReservedResource) | ||
| 27574 | HRESULT ( STDMETHODCALLTYPE *CreateReservedResource )( | ||
| 27575 | ID3D12Device13 * This, | ||
| 27576 | _In_ const D3D12_RESOURCE_DESC *pDesc, | ||
| 27577 | D3D12_RESOURCE_STATES InitialState, | ||
| 27578 | _In_opt_ const D3D12_CLEAR_VALUE *pOptimizedClearValue, | ||
| 27579 | REFIID riid, | ||
| 27580 | _COM_Outptr_opt_ void **ppvResource); | ||
| 27581 | |||
| 27582 | DECLSPEC_XFGVIRT(ID3D12Device, CreateSharedHandle) | ||
| 27583 | HRESULT ( STDMETHODCALLTYPE *CreateSharedHandle )( | ||
| 27584 | ID3D12Device13 * This, | ||
| 27585 | _In_ ID3D12DeviceChild *pObject, | ||
| 27586 | _In_opt_ const SECURITY_ATTRIBUTES *pAttributes, | ||
| 27587 | DWORD Access, | ||
| 27588 | _In_opt_ LPCWSTR Name, | ||
| 27589 | _Out_ HANDLE *pHandle); | ||
| 27590 | |||
| 27591 | DECLSPEC_XFGVIRT(ID3D12Device, OpenSharedHandle) | ||
| 27592 | HRESULT ( STDMETHODCALLTYPE *OpenSharedHandle )( | ||
| 27593 | ID3D12Device13 * This, | ||
| 27594 | _In_ HANDLE NTHandle, | ||
| 27595 | REFIID riid, | ||
| 27596 | _COM_Outptr_opt_ void **ppvObj); | ||
| 27597 | |||
| 27598 | DECLSPEC_XFGVIRT(ID3D12Device, OpenSharedHandleByName) | ||
| 27599 | HRESULT ( STDMETHODCALLTYPE *OpenSharedHandleByName )( | ||
| 27600 | ID3D12Device13 * This, | ||
| 27601 | _In_ LPCWSTR Name, | ||
| 27602 | DWORD Access, | ||
| 27603 | /* [annotation][out] */ | ||
| 27604 | _Out_ HANDLE *pNTHandle); | ||
| 27605 | |||
| 27606 | DECLSPEC_XFGVIRT(ID3D12Device, MakeResident) | ||
| 27607 | HRESULT ( STDMETHODCALLTYPE *MakeResident )( | ||
| 27608 | ID3D12Device13 * This, | ||
| 27609 | UINT NumObjects, | ||
| 27610 | _In_reads_(NumObjects) ID3D12Pageable *const *ppObjects); | ||
| 27611 | |||
| 27612 | DECLSPEC_XFGVIRT(ID3D12Device, Evict) | ||
| 27613 | HRESULT ( STDMETHODCALLTYPE *Evict )( | ||
| 27614 | ID3D12Device13 * This, | ||
| 27615 | UINT NumObjects, | ||
| 27616 | _In_reads_(NumObjects) ID3D12Pageable *const *ppObjects); | ||
| 27617 | |||
| 27618 | DECLSPEC_XFGVIRT(ID3D12Device, CreateFence) | ||
| 27619 | HRESULT ( STDMETHODCALLTYPE *CreateFence )( | ||
| 27620 | ID3D12Device13 * This, | ||
| 27621 | UINT64 InitialValue, | ||
| 27622 | D3D12_FENCE_FLAGS Flags, | ||
| 27623 | REFIID riid, | ||
| 27624 | _COM_Outptr_ void **ppFence); | ||
| 27625 | |||
| 27626 | DECLSPEC_XFGVIRT(ID3D12Device, GetDeviceRemovedReason) | ||
| 27627 | HRESULT ( STDMETHODCALLTYPE *GetDeviceRemovedReason )( | ||
| 27628 | ID3D12Device13 * This); | ||
| 27629 | |||
| 27630 | DECLSPEC_XFGVIRT(ID3D12Device, GetCopyableFootprints) | ||
| 27631 | void ( STDMETHODCALLTYPE *GetCopyableFootprints )( | ||
| 27632 | ID3D12Device13 * This, | ||
| 27633 | _In_ const D3D12_RESOURCE_DESC *pResourceDesc, | ||
| 27634 | _In_range_(0,D3D12_REQ_SUBRESOURCES) UINT FirstSubresource, | ||
| 27635 | _In_range_(0,D3D12_REQ_SUBRESOURCES-FirstSubresource) UINT NumSubresources, | ||
| 27636 | UINT64 BaseOffset, | ||
| 27637 | _Out_writes_opt_(NumSubresources) D3D12_PLACED_SUBRESOURCE_FOOTPRINT *pLayouts, | ||
| 27638 | _Out_writes_opt_(NumSubresources) UINT *pNumRows, | ||
| 27639 | _Out_writes_opt_(NumSubresources) UINT64 *pRowSizeInBytes, | ||
| 27640 | _Out_opt_ UINT64 *pTotalBytes); | ||
| 27641 | |||
| 27642 | DECLSPEC_XFGVIRT(ID3D12Device, CreateQueryHeap) | ||
| 27643 | HRESULT ( STDMETHODCALLTYPE *CreateQueryHeap )( | ||
| 27644 | ID3D12Device13 * This, | ||
| 27645 | _In_ const D3D12_QUERY_HEAP_DESC *pDesc, | ||
| 27646 | REFIID riid, | ||
| 27647 | _COM_Outptr_opt_ void **ppvHeap); | ||
| 27648 | |||
| 27649 | DECLSPEC_XFGVIRT(ID3D12Device, SetStablePowerState) | ||
| 27650 | HRESULT ( STDMETHODCALLTYPE *SetStablePowerState )( | ||
| 27651 | ID3D12Device13 * This, | ||
| 27652 | BOOL Enable); | ||
| 27653 | |||
| 27654 | DECLSPEC_XFGVIRT(ID3D12Device, CreateCommandSignature) | ||
| 27655 | HRESULT ( STDMETHODCALLTYPE *CreateCommandSignature )( | ||
| 27656 | ID3D12Device13 * This, | ||
| 27657 | _In_ const D3D12_COMMAND_SIGNATURE_DESC *pDesc, | ||
| 27658 | _In_opt_ ID3D12RootSignature *pRootSignature, | ||
| 27659 | REFIID riid, | ||
| 27660 | _COM_Outptr_opt_ void **ppvCommandSignature); | ||
| 27661 | |||
| 27662 | DECLSPEC_XFGVIRT(ID3D12Device, GetResourceTiling) | ||
| 27663 | void ( STDMETHODCALLTYPE *GetResourceTiling )( | ||
| 27664 | ID3D12Device13 * This, | ||
| 27665 | _In_ ID3D12Resource *pTiledResource, | ||
| 27666 | _Out_opt_ UINT *pNumTilesForEntireResource, | ||
| 27667 | _Out_opt_ D3D12_PACKED_MIP_INFO *pPackedMipDesc, | ||
| 27668 | _Out_opt_ D3D12_TILE_SHAPE *pStandardTileShapeForNonPackedMips, | ||
| 27669 | _Inout_opt_ UINT *pNumSubresourceTilings, | ||
| 27670 | _In_ UINT FirstSubresourceTilingToGet, | ||
| 27671 | _Out_writes_(*pNumSubresourceTilings) D3D12_SUBRESOURCE_TILING *pSubresourceTilingsForNonPackedMips); | ||
| 27672 | |||
| 27673 | DECLSPEC_XFGVIRT(ID3D12Device, GetAdapterLuid) | ||
| 27674 | #if !defined(_WIN32) | ||
| 27675 | LUID ( STDMETHODCALLTYPE *GetAdapterLuid )( | ||
| 27676 | ID3D12Device13 * This); | ||
| 27677 | |||
| 27678 | #else | ||
| 27679 | LUID *( STDMETHODCALLTYPE *GetAdapterLuid )( | ||
| 27680 | ID3D12Device13 * This, | ||
| 27681 | LUID * RetVal); | ||
| 27682 | |||
| 27683 | #endif | ||
| 27684 | |||
| 27685 | DECLSPEC_XFGVIRT(ID3D12Device1, CreatePipelineLibrary) | ||
| 27686 | HRESULT ( STDMETHODCALLTYPE *CreatePipelineLibrary )( | ||
| 27687 | ID3D12Device13 * This, | ||
| 27688 | _In_reads_(BlobLength) const void *pLibraryBlob, | ||
| 27689 | SIZE_T BlobLength, | ||
| 27690 | REFIID riid, | ||
| 27691 | _COM_Outptr_ void **ppPipelineLibrary); | ||
| 27692 | |||
| 27693 | DECLSPEC_XFGVIRT(ID3D12Device1, SetEventOnMultipleFenceCompletion) | ||
| 27694 | HRESULT ( STDMETHODCALLTYPE *SetEventOnMultipleFenceCompletion )( | ||
| 27695 | ID3D12Device13 * This, | ||
| 27696 | _In_reads_(NumFences) ID3D12Fence *const *ppFences, | ||
| 27697 | _In_reads_(NumFences) const UINT64 *pFenceValues, | ||
| 27698 | UINT NumFences, | ||
| 27699 | D3D12_MULTIPLE_FENCE_WAIT_FLAGS Flags, | ||
| 27700 | HANDLE hEvent); | ||
| 27701 | |||
| 27702 | DECLSPEC_XFGVIRT(ID3D12Device1, SetResidencyPriority) | ||
| 27703 | HRESULT ( STDMETHODCALLTYPE *SetResidencyPriority )( | ||
| 27704 | ID3D12Device13 * This, | ||
| 27705 | UINT NumObjects, | ||
| 27706 | _In_reads_(NumObjects) ID3D12Pageable *const *ppObjects, | ||
| 27707 | _In_reads_(NumObjects) const D3D12_RESIDENCY_PRIORITY *pPriorities); | ||
| 27708 | |||
| 27709 | DECLSPEC_XFGVIRT(ID3D12Device2, CreatePipelineState) | ||
| 27710 | HRESULT ( STDMETHODCALLTYPE *CreatePipelineState )( | ||
| 27711 | ID3D12Device13 * This, | ||
| 27712 | const D3D12_PIPELINE_STATE_STREAM_DESC *pDesc, | ||
| 27713 | REFIID riid, | ||
| 27714 | _COM_Outptr_ void **ppPipelineState); | ||
| 27715 | |||
| 27716 | DECLSPEC_XFGVIRT(ID3D12Device3, OpenExistingHeapFromAddress) | ||
| 27717 | HRESULT ( STDMETHODCALLTYPE *OpenExistingHeapFromAddress )( | ||
| 27718 | ID3D12Device13 * This, | ||
| 27719 | _In_ const void *pAddress, | ||
| 27720 | REFIID riid, | ||
| 27721 | _COM_Outptr_ void **ppvHeap); | ||
| 27722 | |||
| 27723 | DECLSPEC_XFGVIRT(ID3D12Device3, OpenExistingHeapFromFileMapping) | ||
| 27724 | HRESULT ( STDMETHODCALLTYPE *OpenExistingHeapFromFileMapping )( | ||
| 27725 | ID3D12Device13 * This, | ||
| 27726 | _In_ HANDLE hFileMapping, | ||
| 27727 | REFIID riid, | ||
| 27728 | _COM_Outptr_ void **ppvHeap); | ||
| 27729 | |||
| 27730 | DECLSPEC_XFGVIRT(ID3D12Device3, EnqueueMakeResident) | ||
| 27731 | HRESULT ( STDMETHODCALLTYPE *EnqueueMakeResident )( | ||
| 27732 | ID3D12Device13 * This, | ||
| 27733 | D3D12_RESIDENCY_FLAGS Flags, | ||
| 27734 | UINT NumObjects, | ||
| 27735 | _In_reads_(NumObjects) ID3D12Pageable *const *ppObjects, | ||
| 27736 | _In_ ID3D12Fence *pFenceToSignal, | ||
| 27737 | UINT64 FenceValueToSignal); | ||
| 27738 | |||
| 27739 | DECLSPEC_XFGVIRT(ID3D12Device4, CreateCommandList1) | ||
| 27740 | HRESULT ( STDMETHODCALLTYPE *CreateCommandList1 )( | ||
| 27741 | ID3D12Device13 * This, | ||
| 27742 | _In_ UINT nodeMask, | ||
| 27743 | _In_ D3D12_COMMAND_LIST_TYPE type, | ||
| 27744 | _In_ D3D12_COMMAND_LIST_FLAGS flags, | ||
| 27745 | REFIID riid, | ||
| 27746 | _COM_Outptr_ void **ppCommandList); | ||
| 27747 | |||
| 27748 | DECLSPEC_XFGVIRT(ID3D12Device4, CreateProtectedResourceSession) | ||
| 27749 | HRESULT ( STDMETHODCALLTYPE *CreateProtectedResourceSession )( | ||
| 27750 | ID3D12Device13 * This, | ||
| 27751 | _In_ const D3D12_PROTECTED_RESOURCE_SESSION_DESC *pDesc, | ||
| 27752 | _In_ REFIID riid, | ||
| 27753 | _COM_Outptr_ void **ppSession); | ||
| 27754 | |||
| 27755 | DECLSPEC_XFGVIRT(ID3D12Device4, CreateCommittedResource1) | ||
| 27756 | HRESULT ( STDMETHODCALLTYPE *CreateCommittedResource1 )( | ||
| 27757 | ID3D12Device13 * This, | ||
| 27758 | _In_ const D3D12_HEAP_PROPERTIES *pHeapProperties, | ||
| 27759 | D3D12_HEAP_FLAGS HeapFlags, | ||
| 27760 | _In_ const D3D12_RESOURCE_DESC *pDesc, | ||
| 27761 | D3D12_RESOURCE_STATES InitialResourceState, | ||
| 27762 | _In_opt_ const D3D12_CLEAR_VALUE *pOptimizedClearValue, | ||
| 27763 | _In_opt_ ID3D12ProtectedResourceSession *pProtectedSession, | ||
| 27764 | REFIID riidResource, | ||
| 27765 | _COM_Outptr_opt_ void **ppvResource); | ||
| 27766 | |||
| 27767 | DECLSPEC_XFGVIRT(ID3D12Device4, CreateHeap1) | ||
| 27768 | HRESULT ( STDMETHODCALLTYPE *CreateHeap1 )( | ||
| 27769 | ID3D12Device13 * This, | ||
| 27770 | _In_ const D3D12_HEAP_DESC *pDesc, | ||
| 27771 | _In_opt_ ID3D12ProtectedResourceSession *pProtectedSession, | ||
| 27772 | REFIID riid, | ||
| 27773 | _COM_Outptr_opt_ void **ppvHeap); | ||
| 27774 | |||
| 27775 | DECLSPEC_XFGVIRT(ID3D12Device4, CreateReservedResource1) | ||
| 27776 | HRESULT ( STDMETHODCALLTYPE *CreateReservedResource1 )( | ||
| 27777 | ID3D12Device13 * This, | ||
| 27778 | _In_ const D3D12_RESOURCE_DESC *pDesc, | ||
| 27779 | D3D12_RESOURCE_STATES InitialState, | ||
| 27780 | _In_opt_ const D3D12_CLEAR_VALUE *pOptimizedClearValue, | ||
| 27781 | _In_opt_ ID3D12ProtectedResourceSession *pProtectedSession, | ||
| 27782 | REFIID riid, | ||
| 27783 | _COM_Outptr_opt_ void **ppvResource); | ||
| 27784 | |||
| 27785 | DECLSPEC_XFGVIRT(ID3D12Device4, GetResourceAllocationInfo1) | ||
| 27786 | #if !defined(_WIN32) | ||
| 27787 | D3D12_RESOURCE_ALLOCATION_INFO ( STDMETHODCALLTYPE *GetResourceAllocationInfo1 )( | ||
| 27788 | ID3D12Device13 * This, | ||
| 27789 | UINT visibleMask, | ||
| 27790 | UINT numResourceDescs, | ||
| 27791 | _In_reads_(numResourceDescs) const D3D12_RESOURCE_DESC *pResourceDescs, | ||
| 27792 | _Out_writes_opt_(numResourceDescs) D3D12_RESOURCE_ALLOCATION_INFO1 *pResourceAllocationInfo1); | ||
| 27793 | |||
| 27794 | #else | ||
| 27795 | D3D12_RESOURCE_ALLOCATION_INFO *( STDMETHODCALLTYPE *GetResourceAllocationInfo1 )( | ||
| 27796 | ID3D12Device13 * This, | ||
| 27797 | D3D12_RESOURCE_ALLOCATION_INFO * RetVal, | ||
| 27798 | UINT visibleMask, | ||
| 27799 | UINT numResourceDescs, | ||
| 27800 | _In_reads_(numResourceDescs) const D3D12_RESOURCE_DESC *pResourceDescs, | ||
| 27801 | _Out_writes_opt_(numResourceDescs) D3D12_RESOURCE_ALLOCATION_INFO1 *pResourceAllocationInfo1); | ||
| 27802 | |||
| 27803 | #endif | ||
| 27804 | |||
| 27805 | DECLSPEC_XFGVIRT(ID3D12Device5, CreateLifetimeTracker) | ||
| 27806 | HRESULT ( STDMETHODCALLTYPE *CreateLifetimeTracker )( | ||
| 27807 | ID3D12Device13 * This, | ||
| 27808 | _In_ ID3D12LifetimeOwner *pOwner, | ||
| 27809 | REFIID riid, | ||
| 27810 | _COM_Outptr_ void **ppvTracker); | ||
| 27811 | |||
| 27812 | DECLSPEC_XFGVIRT(ID3D12Device5, RemoveDevice) | ||
| 27813 | void ( STDMETHODCALLTYPE *RemoveDevice )( | ||
| 27814 | ID3D12Device13 * This); | ||
| 27815 | |||
| 27816 | DECLSPEC_XFGVIRT(ID3D12Device5, EnumerateMetaCommands) | ||
| 27817 | HRESULT ( STDMETHODCALLTYPE *EnumerateMetaCommands )( | ||
| 27818 | ID3D12Device13 * This, | ||
| 27819 | _Inout_ UINT *pNumMetaCommands, | ||
| 27820 | _Out_writes_opt_(*pNumMetaCommands) D3D12_META_COMMAND_DESC *pDescs); | ||
| 27821 | |||
| 27822 | DECLSPEC_XFGVIRT(ID3D12Device5, EnumerateMetaCommandParameters) | ||
| 27823 | HRESULT ( STDMETHODCALLTYPE *EnumerateMetaCommandParameters )( | ||
| 27824 | ID3D12Device13 * This, | ||
| 27825 | _In_ REFGUID CommandId, | ||
| 27826 | _In_ D3D12_META_COMMAND_PARAMETER_STAGE Stage, | ||
| 27827 | _Out_opt_ UINT *pTotalStructureSizeInBytes, | ||
| 27828 | _Inout_ UINT *pParameterCount, | ||
| 27829 | _Out_writes_opt_(*pParameterCount) D3D12_META_COMMAND_PARAMETER_DESC *pParameterDescs); | ||
| 27830 | |||
| 27831 | DECLSPEC_XFGVIRT(ID3D12Device5, CreateMetaCommand) | ||
| 27832 | HRESULT ( STDMETHODCALLTYPE *CreateMetaCommand )( | ||
| 27833 | ID3D12Device13 * This, | ||
| 27834 | _In_ REFGUID CommandId, | ||
| 27835 | _In_ UINT NodeMask, | ||
| 27836 | _In_reads_bytes_opt_(CreationParametersDataSizeInBytes) const void *pCreationParametersData, | ||
| 27837 | _In_ SIZE_T CreationParametersDataSizeInBytes, | ||
| 27838 | REFIID riid, | ||
| 27839 | _COM_Outptr_ void **ppMetaCommand); | ||
| 27840 | |||
| 27841 | DECLSPEC_XFGVIRT(ID3D12Device5, CreateStateObject) | ||
| 27842 | HRESULT ( STDMETHODCALLTYPE *CreateStateObject )( | ||
| 27843 | ID3D12Device13 * This, | ||
| 27844 | const D3D12_STATE_OBJECT_DESC *pDesc, | ||
| 27845 | REFIID riid, | ||
| 27846 | _COM_Outptr_ void **ppStateObject); | ||
| 27847 | |||
| 27848 | DECLSPEC_XFGVIRT(ID3D12Device5, GetRaytracingAccelerationStructurePrebuildInfo) | ||
| 27849 | void ( STDMETHODCALLTYPE *GetRaytracingAccelerationStructurePrebuildInfo )( | ||
| 27850 | ID3D12Device13 * This, | ||
| 27851 | _In_ const D3D12_BUILD_RAYTRACING_ACCELERATION_STRUCTURE_INPUTS *pDesc, | ||
| 27852 | _Out_ D3D12_RAYTRACING_ACCELERATION_STRUCTURE_PREBUILD_INFO *pInfo); | ||
| 27853 | |||
| 27854 | DECLSPEC_XFGVIRT(ID3D12Device5, CheckDriverMatchingIdentifier) | ||
| 27855 | D3D12_DRIVER_MATCHING_IDENTIFIER_STATUS ( STDMETHODCALLTYPE *CheckDriverMatchingIdentifier )( | ||
| 27856 | ID3D12Device13 * This, | ||
| 27857 | _In_ D3D12_SERIALIZED_DATA_TYPE SerializedDataType, | ||
| 27858 | _In_ const D3D12_SERIALIZED_DATA_DRIVER_MATCHING_IDENTIFIER *pIdentifierToCheck); | ||
| 27859 | |||
| 27860 | DECLSPEC_XFGVIRT(ID3D12Device6, SetBackgroundProcessingMode) | ||
| 27861 | HRESULT ( STDMETHODCALLTYPE *SetBackgroundProcessingMode )( | ||
| 27862 | ID3D12Device13 * This, | ||
| 27863 | D3D12_BACKGROUND_PROCESSING_MODE Mode, | ||
| 27864 | D3D12_MEASUREMENTS_ACTION MeasurementsAction, | ||
| 27865 | _In_opt_ HANDLE hEventToSignalUponCompletion, | ||
| 27866 | _Out_opt_ BOOL *pbFurtherMeasurementsDesired); | ||
| 27867 | |||
| 27868 | DECLSPEC_XFGVIRT(ID3D12Device7, AddToStateObject) | ||
| 27869 | HRESULT ( STDMETHODCALLTYPE *AddToStateObject )( | ||
| 27870 | ID3D12Device13 * This, | ||
| 27871 | const D3D12_STATE_OBJECT_DESC *pAddition, | ||
| 27872 | ID3D12StateObject *pStateObjectToGrowFrom, | ||
| 27873 | REFIID riid, | ||
| 27874 | _COM_Outptr_ void **ppNewStateObject); | ||
| 27875 | |||
| 27876 | DECLSPEC_XFGVIRT(ID3D12Device7, CreateProtectedResourceSession1) | ||
| 27877 | HRESULT ( STDMETHODCALLTYPE *CreateProtectedResourceSession1 )( | ||
| 27878 | ID3D12Device13 * This, | ||
| 27879 | _In_ const D3D12_PROTECTED_RESOURCE_SESSION_DESC1 *pDesc, | ||
| 27880 | _In_ REFIID riid, | ||
| 27881 | _COM_Outptr_ void **ppSession); | ||
| 27882 | |||
| 27883 | DECLSPEC_XFGVIRT(ID3D12Device8, GetResourceAllocationInfo2) | ||
| 27884 | #if !defined(_WIN32) | ||
| 27885 | D3D12_RESOURCE_ALLOCATION_INFO ( STDMETHODCALLTYPE *GetResourceAllocationInfo2 )( | ||
| 27886 | ID3D12Device13 * This, | ||
| 27887 | UINT visibleMask, | ||
| 27888 | UINT numResourceDescs, | ||
| 27889 | _In_reads_(numResourceDescs) const D3D12_RESOURCE_DESC1 *pResourceDescs, | ||
| 27890 | _Out_writes_opt_(numResourceDescs) D3D12_RESOURCE_ALLOCATION_INFO1 *pResourceAllocationInfo1); | ||
| 27891 | |||
| 27892 | #else | ||
| 27893 | D3D12_RESOURCE_ALLOCATION_INFO *( STDMETHODCALLTYPE *GetResourceAllocationInfo2 )( | ||
| 27894 | ID3D12Device13 * This, | ||
| 27895 | D3D12_RESOURCE_ALLOCATION_INFO * RetVal, | ||
| 27896 | UINT visibleMask, | ||
| 27897 | UINT numResourceDescs, | ||
| 27898 | _In_reads_(numResourceDescs) const D3D12_RESOURCE_DESC1 *pResourceDescs, | ||
| 27899 | _Out_writes_opt_(numResourceDescs) D3D12_RESOURCE_ALLOCATION_INFO1 *pResourceAllocationInfo1); | ||
| 27900 | |||
| 27901 | #endif | ||
| 27902 | |||
| 27903 | DECLSPEC_XFGVIRT(ID3D12Device8, CreateCommittedResource2) | ||
| 27904 | HRESULT ( STDMETHODCALLTYPE *CreateCommittedResource2 )( | ||
| 27905 | ID3D12Device13 * This, | ||
| 27906 | _In_ const D3D12_HEAP_PROPERTIES *pHeapProperties, | ||
| 27907 | D3D12_HEAP_FLAGS HeapFlags, | ||
| 27908 | _In_ const D3D12_RESOURCE_DESC1 *pDesc, | ||
| 27909 | D3D12_RESOURCE_STATES InitialResourceState, | ||
| 27910 | _In_opt_ const D3D12_CLEAR_VALUE *pOptimizedClearValue, | ||
| 27911 | _In_opt_ ID3D12ProtectedResourceSession *pProtectedSession, | ||
| 27912 | REFIID riidResource, | ||
| 27913 | _COM_Outptr_opt_ void **ppvResource); | ||
| 27914 | |||
| 27915 | DECLSPEC_XFGVIRT(ID3D12Device8, CreatePlacedResource1) | ||
| 27916 | HRESULT ( STDMETHODCALLTYPE *CreatePlacedResource1 )( | ||
| 27917 | ID3D12Device13 * This, | ||
| 27918 | _In_ ID3D12Heap *pHeap, | ||
| 27919 | UINT64 HeapOffset, | ||
| 27920 | _In_ const D3D12_RESOURCE_DESC1 *pDesc, | ||
| 27921 | D3D12_RESOURCE_STATES InitialState, | ||
| 27922 | _In_opt_ const D3D12_CLEAR_VALUE *pOptimizedClearValue, | ||
| 27923 | REFIID riid, | ||
| 27924 | _COM_Outptr_opt_ void **ppvResource); | ||
| 27925 | |||
| 27926 | DECLSPEC_XFGVIRT(ID3D12Device8, CreateSamplerFeedbackUnorderedAccessView) | ||
| 27927 | void ( STDMETHODCALLTYPE *CreateSamplerFeedbackUnorderedAccessView )( | ||
| 27928 | ID3D12Device13 * This, | ||
| 27929 | _In_opt_ ID3D12Resource *pTargetedResource, | ||
| 27930 | _In_opt_ ID3D12Resource *pFeedbackResource, | ||
| 27931 | _In_ D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor); | ||
| 27932 | |||
| 27933 | DECLSPEC_XFGVIRT(ID3D12Device8, GetCopyableFootprints1) | ||
| 27934 | void ( STDMETHODCALLTYPE *GetCopyableFootprints1 )( | ||
| 27935 | ID3D12Device13 * This, | ||
| 27936 | _In_ const D3D12_RESOURCE_DESC1 *pResourceDesc, | ||
| 27937 | _In_range_(0,D3D12_REQ_SUBRESOURCES) UINT FirstSubresource, | ||
| 27938 | _In_range_(0,D3D12_REQ_SUBRESOURCES-FirstSubresource) UINT NumSubresources, | ||
| 27939 | UINT64 BaseOffset, | ||
| 27940 | _Out_writes_opt_(NumSubresources) D3D12_PLACED_SUBRESOURCE_FOOTPRINT *pLayouts, | ||
| 27941 | _Out_writes_opt_(NumSubresources) UINT *pNumRows, | ||
| 27942 | _Out_writes_opt_(NumSubresources) UINT64 *pRowSizeInBytes, | ||
| 27943 | _Out_opt_ UINT64 *pTotalBytes); | ||
| 27944 | |||
| 27945 | DECLSPEC_XFGVIRT(ID3D12Device9, CreateShaderCacheSession) | ||
| 27946 | HRESULT ( STDMETHODCALLTYPE *CreateShaderCacheSession )( | ||
| 27947 | ID3D12Device13 * This, | ||
| 27948 | _In_ const D3D12_SHADER_CACHE_SESSION_DESC *pDesc, | ||
| 27949 | REFIID riid, | ||
| 27950 | _COM_Outptr_opt_ void **ppvSession); | ||
| 27951 | |||
| 27952 | DECLSPEC_XFGVIRT(ID3D12Device9, ShaderCacheControl) | ||
| 27953 | HRESULT ( STDMETHODCALLTYPE *ShaderCacheControl )( | ||
| 27954 | ID3D12Device13 * This, | ||
| 27955 | D3D12_SHADER_CACHE_KIND_FLAGS Kinds, | ||
| 27956 | D3D12_SHADER_CACHE_CONTROL_FLAGS Control); | ||
| 27957 | |||
| 27958 | DECLSPEC_XFGVIRT(ID3D12Device9, CreateCommandQueue1) | ||
| 27959 | HRESULT ( STDMETHODCALLTYPE *CreateCommandQueue1 )( | ||
| 27960 | ID3D12Device13 * This, | ||
| 27961 | _In_ const D3D12_COMMAND_QUEUE_DESC *pDesc, | ||
| 27962 | REFIID CreatorID, | ||
| 27963 | REFIID riid, | ||
| 27964 | _COM_Outptr_ void **ppCommandQueue); | ||
| 27965 | |||
| 27966 | DECLSPEC_XFGVIRT(ID3D12Device10, CreateCommittedResource3) | ||
| 27967 | HRESULT ( STDMETHODCALLTYPE *CreateCommittedResource3 )( | ||
| 27968 | ID3D12Device13 * This, | ||
| 27969 | _In_ const D3D12_HEAP_PROPERTIES *pHeapProperties, | ||
| 27970 | D3D12_HEAP_FLAGS HeapFlags, | ||
| 27971 | _In_ const D3D12_RESOURCE_DESC1 *pDesc, | ||
| 27972 | D3D12_BARRIER_LAYOUT InitialLayout, | ||
| 27973 | _In_opt_ const D3D12_CLEAR_VALUE *pOptimizedClearValue, | ||
| 27974 | _In_opt_ ID3D12ProtectedResourceSession *pProtectedSession, | ||
| 27975 | UINT32 NumCastableFormats, | ||
| 27976 | _In_opt_count_(NumCastableFormats) const DXGI_FORMAT *pCastableFormats, | ||
| 27977 | REFIID riidResource, | ||
| 27978 | _COM_Outptr_opt_ void **ppvResource); | ||
| 27979 | |||
| 27980 | DECLSPEC_XFGVIRT(ID3D12Device10, CreatePlacedResource2) | ||
| 27981 | HRESULT ( STDMETHODCALLTYPE *CreatePlacedResource2 )( | ||
| 27982 | ID3D12Device13 * This, | ||
| 27983 | _In_ ID3D12Heap *pHeap, | ||
| 27984 | UINT64 HeapOffset, | ||
| 27985 | _In_ const D3D12_RESOURCE_DESC1 *pDesc, | ||
| 27986 | D3D12_BARRIER_LAYOUT InitialLayout, | ||
| 27987 | _In_opt_ const D3D12_CLEAR_VALUE *pOptimizedClearValue, | ||
| 27988 | UINT32 NumCastableFormats, | ||
| 27989 | _In_opt_count_(NumCastableFormats) const DXGI_FORMAT *pCastableFormats, | ||
| 27990 | REFIID riid, | ||
| 27991 | _COM_Outptr_opt_ void **ppvResource); | ||
| 27992 | |||
| 27993 | DECLSPEC_XFGVIRT(ID3D12Device10, CreateReservedResource2) | ||
| 27994 | HRESULT ( STDMETHODCALLTYPE *CreateReservedResource2 )( | ||
| 27995 | ID3D12Device13 * This, | ||
| 27996 | _In_ const D3D12_RESOURCE_DESC *pDesc, | ||
| 27997 | D3D12_BARRIER_LAYOUT InitialLayout, | ||
| 27998 | _In_opt_ const D3D12_CLEAR_VALUE *pOptimizedClearValue, | ||
| 27999 | _In_opt_ ID3D12ProtectedResourceSession *pProtectedSession, | ||
| 28000 | UINT32 NumCastableFormats, | ||
| 28001 | _In_opt_count_(NumCastableFormats) const DXGI_FORMAT *pCastableFormats, | ||
| 28002 | REFIID riid, | ||
| 28003 | _COM_Outptr_opt_ void **ppvResource); | ||
| 28004 | |||
| 28005 | DECLSPEC_XFGVIRT(ID3D12Device11, CreateSampler2) | ||
| 28006 | void ( STDMETHODCALLTYPE *CreateSampler2 )( | ||
| 28007 | ID3D12Device13 * This, | ||
| 28008 | _In_ const D3D12_SAMPLER_DESC2 *pDesc, | ||
| 28009 | _In_ D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor); | ||
| 28010 | |||
| 28011 | DECLSPEC_XFGVIRT(ID3D12Device12, GetResourceAllocationInfo3) | ||
| 28012 | #if !defined(_WIN32) | ||
| 28013 | D3D12_RESOURCE_ALLOCATION_INFO ( STDMETHODCALLTYPE *GetResourceAllocationInfo3 )( | ||
| 28014 | ID3D12Device13 * This, | ||
| 28015 | UINT visibleMask, | ||
| 28016 | UINT numResourceDescs, | ||
| 28017 | _In_reads_(numResourceDescs) const D3D12_RESOURCE_DESC1 *pResourceDescs, | ||
| 28018 | _In_opt_count_(numResourceDescs) const UINT32 *pNumCastableFormats, | ||
| 28019 | _In_opt_count_(numResourceDescs) const DXGI_FORMAT *const *ppCastableFormats, | ||
| 28020 | _Out_writes_opt_(numResourceDescs) D3D12_RESOURCE_ALLOCATION_INFO1 *pResourceAllocationInfo1); | ||
| 28021 | |||
| 28022 | #else | ||
| 28023 | D3D12_RESOURCE_ALLOCATION_INFO *( STDMETHODCALLTYPE *GetResourceAllocationInfo3 )( | ||
| 28024 | ID3D12Device13 * This, | ||
| 28025 | D3D12_RESOURCE_ALLOCATION_INFO * RetVal, | ||
| 28026 | UINT visibleMask, | ||
| 28027 | UINT numResourceDescs, | ||
| 28028 | _In_reads_(numResourceDescs) const D3D12_RESOURCE_DESC1 *pResourceDescs, | ||
| 28029 | _In_opt_count_(numResourceDescs) const UINT32 *pNumCastableFormats, | ||
| 28030 | _In_opt_count_(numResourceDescs) const DXGI_FORMAT *const *ppCastableFormats, | ||
| 28031 | _Out_writes_opt_(numResourceDescs) D3D12_RESOURCE_ALLOCATION_INFO1 *pResourceAllocationInfo1); | ||
| 28032 | |||
| 28033 | #endif | ||
| 28034 | |||
| 28035 | DECLSPEC_XFGVIRT(ID3D12Device13, OpenExistingHeapFromAddress1) | ||
| 28036 | HRESULT ( STDMETHODCALLTYPE *OpenExistingHeapFromAddress1 )( | ||
| 28037 | ID3D12Device13 * This, | ||
| 28038 | _In_ const void *pAddress, | ||
| 28039 | SIZE_T size, | ||
| 28040 | REFIID riid, | ||
| 28041 | _COM_Outptr_ void **ppvHeap); | ||
| 28042 | |||
| 28043 | END_INTERFACE | ||
| 28044 | } ID3D12Device13Vtbl; | ||
| 28045 | |||
| 28046 | interface ID3D12Device13 | ||
| 28047 | { | ||
| 28048 | CONST_VTBL struct ID3D12Device13Vtbl *lpVtbl; | ||
| 28049 | }; | ||
| 28050 | |||
| 28051 | |||
| 28052 | |||
| 28053 | #ifdef COBJMACROS | ||
| 28054 | |||
| 28055 | |||
| 28056 | #define ID3D12Device13_QueryInterface(This,riid,ppvObject) \ | ||
| 28057 | ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) | ||
| 28058 | |||
| 28059 | #define ID3D12Device13_AddRef(This) \ | ||
| 28060 | ( (This)->lpVtbl -> AddRef(This) ) | ||
| 28061 | |||
| 28062 | #define ID3D12Device13_Release(This) \ | ||
| 28063 | ( (This)->lpVtbl -> Release(This) ) | ||
| 28064 | |||
| 28065 | |||
| 28066 | #define ID3D12Device13_GetPrivateData(This,guid,pDataSize,pData) \ | ||
| 28067 | ( (This)->lpVtbl -> GetPrivateData(This,guid,pDataSize,pData) ) | ||
| 28068 | |||
| 28069 | #define ID3D12Device13_SetPrivateData(This,guid,DataSize,pData) \ | ||
| 28070 | ( (This)->lpVtbl -> SetPrivateData(This,guid,DataSize,pData) ) | ||
| 28071 | |||
| 28072 | #define ID3D12Device13_SetPrivateDataInterface(This,guid,pData) \ | ||
| 28073 | ( (This)->lpVtbl -> SetPrivateDataInterface(This,guid,pData) ) | ||
| 28074 | |||
| 28075 | #define ID3D12Device13_SetName(This,Name) \ | ||
| 28076 | ( (This)->lpVtbl -> SetName(This,Name) ) | ||
| 28077 | |||
| 28078 | |||
| 28079 | #define ID3D12Device13_GetNodeCount(This) \ | ||
| 28080 | ( (This)->lpVtbl -> GetNodeCount(This) ) | ||
| 28081 | |||
| 28082 | #define ID3D12Device13_CreateCommandQueue(This,pDesc,riid,ppCommandQueue) \ | ||
| 28083 | ( (This)->lpVtbl -> CreateCommandQueue(This,pDesc,riid,ppCommandQueue) ) | ||
| 28084 | |||
| 28085 | #define ID3D12Device13_CreateCommandAllocator(This,type,riid,ppCommandAllocator) \ | ||
| 28086 | ( (This)->lpVtbl -> CreateCommandAllocator(This,type,riid,ppCommandAllocator) ) | ||
| 28087 | |||
| 28088 | #define ID3D12Device13_CreateGraphicsPipelineState(This,pDesc,riid,ppPipelineState) \ | ||
| 28089 | ( (This)->lpVtbl -> CreateGraphicsPipelineState(This,pDesc,riid,ppPipelineState) ) | ||
| 28090 | |||
| 28091 | #define ID3D12Device13_CreateComputePipelineState(This,pDesc,riid,ppPipelineState) \ | ||
| 28092 | ( (This)->lpVtbl -> CreateComputePipelineState(This,pDesc,riid,ppPipelineState) ) | ||
| 28093 | |||
| 28094 | #define ID3D12Device13_CreateCommandList(This,nodeMask,type,pCommandAllocator,pInitialState,riid,ppCommandList) \ | ||
| 28095 | ( (This)->lpVtbl -> CreateCommandList(This,nodeMask,type,pCommandAllocator,pInitialState,riid,ppCommandList) ) | ||
| 28096 | |||
| 28097 | #define ID3D12Device13_CheckFeatureSupport(This,Feature,pFeatureSupportData,FeatureSupportDataSize) \ | ||
| 28098 | ( (This)->lpVtbl -> CheckFeatureSupport(This,Feature,pFeatureSupportData,FeatureSupportDataSize) ) | ||
| 28099 | |||
| 28100 | #define ID3D12Device13_CreateDescriptorHeap(This,pDescriptorHeapDesc,riid,ppvHeap) \ | ||
| 28101 | ( (This)->lpVtbl -> CreateDescriptorHeap(This,pDescriptorHeapDesc,riid,ppvHeap) ) | ||
| 28102 | |||
| 28103 | #define ID3D12Device13_GetDescriptorHandleIncrementSize(This,DescriptorHeapType) \ | ||
| 28104 | ( (This)->lpVtbl -> GetDescriptorHandleIncrementSize(This,DescriptorHeapType) ) | ||
| 28105 | |||
| 28106 | #define ID3D12Device13_CreateRootSignature(This,nodeMask,pBlobWithRootSignature,blobLengthInBytes,riid,ppvRootSignature) \ | ||
| 28107 | ( (This)->lpVtbl -> CreateRootSignature(This,nodeMask,pBlobWithRootSignature,blobLengthInBytes,riid,ppvRootSignature) ) | ||
| 28108 | |||
| 28109 | #define ID3D12Device13_CreateConstantBufferView(This,pDesc,DestDescriptor) \ | ||
| 28110 | ( (This)->lpVtbl -> CreateConstantBufferView(This,pDesc,DestDescriptor) ) | ||
| 28111 | |||
| 28112 | #define ID3D12Device13_CreateShaderResourceView(This,pResource,pDesc,DestDescriptor) \ | ||
| 28113 | ( (This)->lpVtbl -> CreateShaderResourceView(This,pResource,pDesc,DestDescriptor) ) | ||
| 28114 | |||
| 28115 | #define ID3D12Device13_CreateUnorderedAccessView(This,pResource,pCounterResource,pDesc,DestDescriptor) \ | ||
| 28116 | ( (This)->lpVtbl -> CreateUnorderedAccessView(This,pResource,pCounterResource,pDesc,DestDescriptor) ) | ||
| 28117 | |||
| 28118 | #define ID3D12Device13_CreateRenderTargetView(This,pResource,pDesc,DestDescriptor) \ | ||
| 28119 | ( (This)->lpVtbl -> CreateRenderTargetView(This,pResource,pDesc,DestDescriptor) ) | ||
| 28120 | |||
| 28121 | #define ID3D12Device13_CreateDepthStencilView(This,pResource,pDesc,DestDescriptor) \ | ||
| 28122 | ( (This)->lpVtbl -> CreateDepthStencilView(This,pResource,pDesc,DestDescriptor) ) | ||
| 28123 | |||
| 28124 | #define ID3D12Device13_CreateSampler(This,pDesc,DestDescriptor) \ | ||
| 28125 | ( (This)->lpVtbl -> CreateSampler(This,pDesc,DestDescriptor) ) | ||
| 28126 | |||
| 28127 | #define ID3D12Device13_CopyDescriptors(This,NumDestDescriptorRanges,pDestDescriptorRangeStarts,pDestDescriptorRangeSizes,NumSrcDescriptorRanges,pSrcDescriptorRangeStarts,pSrcDescriptorRangeSizes,DescriptorHeapsType) \ | ||
| 28128 | ( (This)->lpVtbl -> CopyDescriptors(This,NumDestDescriptorRanges,pDestDescriptorRangeStarts,pDestDescriptorRangeSizes,NumSrcDescriptorRanges,pSrcDescriptorRangeStarts,pSrcDescriptorRangeSizes,DescriptorHeapsType) ) | ||
| 28129 | |||
| 28130 | #define ID3D12Device13_CopyDescriptorsSimple(This,NumDescriptors,DestDescriptorRangeStart,SrcDescriptorRangeStart,DescriptorHeapsType) \ | ||
| 28131 | ( (This)->lpVtbl -> CopyDescriptorsSimple(This,NumDescriptors,DestDescriptorRangeStart,SrcDescriptorRangeStart,DescriptorHeapsType) ) | ||
| 28132 | #if !defined(_WIN32) | ||
| 28133 | |||
| 28134 | #define ID3D12Device13_GetResourceAllocationInfo(This,visibleMask,numResourceDescs,pResourceDescs) \ | ||
| 28135 | ( (This)->lpVtbl -> GetResourceAllocationInfo(This,visibleMask,numResourceDescs,pResourceDescs) ) | ||
| 28136 | #else | ||
| 28137 | #define ID3D12Device13_GetResourceAllocationInfo(This,RetVal,visibleMask,numResourceDescs,pResourceDescs) \ | ||
| 28138 | ( (This)->lpVtbl -> GetResourceAllocationInfo(This,RetVal,visibleMask,numResourceDescs,pResourceDescs) ) | ||
| 28139 | #endif | ||
| 28140 | #if !defined(_WIN32) | ||
| 28141 | |||
| 28142 | #define ID3D12Device13_GetCustomHeapProperties(This,nodeMask,heapType) \ | ||
| 28143 | ( (This)->lpVtbl -> GetCustomHeapProperties(This,nodeMask,heapType) ) | ||
| 28144 | #else | ||
| 28145 | #define ID3D12Device13_GetCustomHeapProperties(This,RetVal,nodeMask,heapType) \ | ||
| 28146 | ( (This)->lpVtbl -> GetCustomHeapProperties(This,RetVal,nodeMask,heapType) ) | ||
| 28147 | #endif | ||
| 28148 | |||
| 28149 | #define ID3D12Device13_CreateCommittedResource(This,pHeapProperties,HeapFlags,pDesc,InitialResourceState,pOptimizedClearValue,riidResource,ppvResource) \ | ||
| 28150 | ( (This)->lpVtbl -> CreateCommittedResource(This,pHeapProperties,HeapFlags,pDesc,InitialResourceState,pOptimizedClearValue,riidResource,ppvResource) ) | ||
| 28151 | |||
| 28152 | #define ID3D12Device13_CreateHeap(This,pDesc,riid,ppvHeap) \ | ||
| 28153 | ( (This)->lpVtbl -> CreateHeap(This,pDesc,riid,ppvHeap) ) | ||
| 28154 | |||
| 28155 | #define ID3D12Device13_CreatePlacedResource(This,pHeap,HeapOffset,pDesc,InitialState,pOptimizedClearValue,riid,ppvResource) \ | ||
| 28156 | ( (This)->lpVtbl -> CreatePlacedResource(This,pHeap,HeapOffset,pDesc,InitialState,pOptimizedClearValue,riid,ppvResource) ) | ||
| 28157 | |||
| 28158 | #define ID3D12Device13_CreateReservedResource(This,pDesc,InitialState,pOptimizedClearValue,riid,ppvResource) \ | ||
| 28159 | ( (This)->lpVtbl -> CreateReservedResource(This,pDesc,InitialState,pOptimizedClearValue,riid,ppvResource) ) | ||
| 28160 | |||
| 28161 | #define ID3D12Device13_CreateSharedHandle(This,pObject,pAttributes,Access,Name,pHandle) \ | ||
| 28162 | ( (This)->lpVtbl -> CreateSharedHandle(This,pObject,pAttributes,Access,Name,pHandle) ) | ||
| 28163 | |||
| 28164 | #define ID3D12Device13_OpenSharedHandle(This,NTHandle,riid,ppvObj) \ | ||
| 28165 | ( (This)->lpVtbl -> OpenSharedHandle(This,NTHandle,riid,ppvObj) ) | ||
| 28166 | |||
| 28167 | #define ID3D12Device13_OpenSharedHandleByName(This,Name,Access,pNTHandle) \ | ||
| 28168 | ( (This)->lpVtbl -> OpenSharedHandleByName(This,Name,Access,pNTHandle) ) | ||
| 28169 | |||
| 28170 | #define ID3D12Device13_MakeResident(This,NumObjects,ppObjects) \ | ||
| 28171 | ( (This)->lpVtbl -> MakeResident(This,NumObjects,ppObjects) ) | ||
| 28172 | |||
| 28173 | #define ID3D12Device13_Evict(This,NumObjects,ppObjects) \ | ||
| 28174 | ( (This)->lpVtbl -> Evict(This,NumObjects,ppObjects) ) | ||
| 28175 | |||
| 28176 | #define ID3D12Device13_CreateFence(This,InitialValue,Flags,riid,ppFence) \ | ||
| 28177 | ( (This)->lpVtbl -> CreateFence(This,InitialValue,Flags,riid,ppFence) ) | ||
| 28178 | |||
| 28179 | #define ID3D12Device13_GetDeviceRemovedReason(This) \ | ||
| 28180 | ( (This)->lpVtbl -> GetDeviceRemovedReason(This) ) | ||
| 28181 | |||
| 28182 | #define ID3D12Device13_GetCopyableFootprints(This,pResourceDesc,FirstSubresource,NumSubresources,BaseOffset,pLayouts,pNumRows,pRowSizeInBytes,pTotalBytes) \ | ||
| 28183 | ( (This)->lpVtbl -> GetCopyableFootprints(This,pResourceDesc,FirstSubresource,NumSubresources,BaseOffset,pLayouts,pNumRows,pRowSizeInBytes,pTotalBytes) ) | ||
| 28184 | |||
| 28185 | #define ID3D12Device13_CreateQueryHeap(This,pDesc,riid,ppvHeap) \ | ||
| 28186 | ( (This)->lpVtbl -> CreateQueryHeap(This,pDesc,riid,ppvHeap) ) | ||
| 28187 | |||
| 28188 | #define ID3D12Device13_SetStablePowerState(This,Enable) \ | ||
| 28189 | ( (This)->lpVtbl -> SetStablePowerState(This,Enable) ) | ||
| 28190 | |||
| 28191 | #define ID3D12Device13_CreateCommandSignature(This,pDesc,pRootSignature,riid,ppvCommandSignature) \ | ||
| 28192 | ( (This)->lpVtbl -> CreateCommandSignature(This,pDesc,pRootSignature,riid,ppvCommandSignature) ) | ||
| 28193 | |||
| 28194 | #define ID3D12Device13_GetResourceTiling(This,pTiledResource,pNumTilesForEntireResource,pPackedMipDesc,pStandardTileShapeForNonPackedMips,pNumSubresourceTilings,FirstSubresourceTilingToGet,pSubresourceTilingsForNonPackedMips) \ | ||
| 28195 | ( (This)->lpVtbl -> GetResourceTiling(This,pTiledResource,pNumTilesForEntireResource,pPackedMipDesc,pStandardTileShapeForNonPackedMips,pNumSubresourceTilings,FirstSubresourceTilingToGet,pSubresourceTilingsForNonPackedMips) ) | ||
| 28196 | #if !defined(_WIN32) | ||
| 28197 | |||
| 28198 | #define ID3D12Device13_GetAdapterLuid(This) \ | ||
| 28199 | ( (This)->lpVtbl -> GetAdapterLuid(This) ) | ||
| 28200 | #else | ||
| 28201 | #define ID3D12Device13_GetAdapterLuid(This,RetVal) \ | ||
| 28202 | ( (This)->lpVtbl -> GetAdapterLuid(This,RetVal) ) | ||
| 28203 | #endif | ||
| 28204 | |||
| 28205 | |||
| 28206 | #define ID3D12Device13_CreatePipelineLibrary(This,pLibraryBlob,BlobLength,riid,ppPipelineLibrary) \ | ||
| 28207 | ( (This)->lpVtbl -> CreatePipelineLibrary(This,pLibraryBlob,BlobLength,riid,ppPipelineLibrary) ) | ||
| 28208 | |||
| 28209 | #define ID3D12Device13_SetEventOnMultipleFenceCompletion(This,ppFences,pFenceValues,NumFences,Flags,hEvent) \ | ||
| 28210 | ( (This)->lpVtbl -> SetEventOnMultipleFenceCompletion(This,ppFences,pFenceValues,NumFences,Flags,hEvent) ) | ||
| 28211 | |||
| 28212 | #define ID3D12Device13_SetResidencyPriority(This,NumObjects,ppObjects,pPriorities) \ | ||
| 28213 | ( (This)->lpVtbl -> SetResidencyPriority(This,NumObjects,ppObjects,pPriorities) ) | ||
| 28214 | |||
| 28215 | |||
| 28216 | #define ID3D12Device13_CreatePipelineState(This,pDesc,riid,ppPipelineState) \ | ||
| 28217 | ( (This)->lpVtbl -> CreatePipelineState(This,pDesc,riid,ppPipelineState) ) | ||
| 28218 | |||
| 28219 | |||
| 28220 | #define ID3D12Device13_OpenExistingHeapFromAddress(This,pAddress,riid,ppvHeap) \ | ||
| 28221 | ( (This)->lpVtbl -> OpenExistingHeapFromAddress(This,pAddress,riid,ppvHeap) ) | ||
| 28222 | |||
| 28223 | #define ID3D12Device13_OpenExistingHeapFromFileMapping(This,hFileMapping,riid,ppvHeap) \ | ||
| 28224 | ( (This)->lpVtbl -> OpenExistingHeapFromFileMapping(This,hFileMapping,riid,ppvHeap) ) | ||
| 28225 | |||
| 28226 | #define ID3D12Device13_EnqueueMakeResident(This,Flags,NumObjects,ppObjects,pFenceToSignal,FenceValueToSignal) \ | ||
| 28227 | ( (This)->lpVtbl -> EnqueueMakeResident(This,Flags,NumObjects,ppObjects,pFenceToSignal,FenceValueToSignal) ) | ||
| 28228 | |||
| 28229 | |||
| 28230 | #define ID3D12Device13_CreateCommandList1(This,nodeMask,type,flags,riid,ppCommandList) \ | ||
| 28231 | ( (This)->lpVtbl -> CreateCommandList1(This,nodeMask,type,flags,riid,ppCommandList) ) | ||
| 28232 | |||
| 28233 | #define ID3D12Device13_CreateProtectedResourceSession(This,pDesc,riid,ppSession) \ | ||
| 28234 | ( (This)->lpVtbl -> CreateProtectedResourceSession(This,pDesc,riid,ppSession) ) | ||
| 28235 | |||
| 28236 | #define ID3D12Device13_CreateCommittedResource1(This,pHeapProperties,HeapFlags,pDesc,InitialResourceState,pOptimizedClearValue,pProtectedSession,riidResource,ppvResource) \ | ||
| 28237 | ( (This)->lpVtbl -> CreateCommittedResource1(This,pHeapProperties,HeapFlags,pDesc,InitialResourceState,pOptimizedClearValue,pProtectedSession,riidResource,ppvResource) ) | ||
| 28238 | |||
| 28239 | #define ID3D12Device13_CreateHeap1(This,pDesc,pProtectedSession,riid,ppvHeap) \ | ||
| 28240 | ( (This)->lpVtbl -> CreateHeap1(This,pDesc,pProtectedSession,riid,ppvHeap) ) | ||
| 28241 | |||
| 28242 | #define ID3D12Device13_CreateReservedResource1(This,pDesc,InitialState,pOptimizedClearValue,pProtectedSession,riid,ppvResource) \ | ||
| 28243 | ( (This)->lpVtbl -> CreateReservedResource1(This,pDesc,InitialState,pOptimizedClearValue,pProtectedSession,riid,ppvResource) ) | ||
| 28244 | #if !defined(_WIN32) | ||
| 28245 | |||
| 28246 | #define ID3D12Device13_GetResourceAllocationInfo1(This,visibleMask,numResourceDescs,pResourceDescs,pResourceAllocationInfo1) \ | ||
| 28247 | ( (This)->lpVtbl -> GetResourceAllocationInfo1(This,visibleMask,numResourceDescs,pResourceDescs,pResourceAllocationInfo1) ) | ||
| 28248 | #else | ||
| 28249 | #define ID3D12Device13_GetResourceAllocationInfo1(This,RetVal,visibleMask,numResourceDescs,pResourceDescs,pResourceAllocationInfo1) \ | ||
| 28250 | ( (This)->lpVtbl -> GetResourceAllocationInfo1(This,RetVal,visibleMask,numResourceDescs,pResourceDescs,pResourceAllocationInfo1) ) | ||
| 28251 | #endif | ||
| 28252 | |||
| 28253 | |||
| 28254 | #define ID3D12Device13_CreateLifetimeTracker(This,pOwner,riid,ppvTracker) \ | ||
| 28255 | ( (This)->lpVtbl -> CreateLifetimeTracker(This,pOwner,riid,ppvTracker) ) | ||
| 28256 | |||
| 28257 | #define ID3D12Device13_RemoveDevice(This) \ | ||
| 28258 | ( (This)->lpVtbl -> RemoveDevice(This) ) | ||
| 28259 | |||
| 28260 | #define ID3D12Device13_EnumerateMetaCommands(This,pNumMetaCommands,pDescs) \ | ||
| 28261 | ( (This)->lpVtbl -> EnumerateMetaCommands(This,pNumMetaCommands,pDescs) ) | ||
| 28262 | |||
| 28263 | #define ID3D12Device13_EnumerateMetaCommandParameters(This,CommandId,Stage,pTotalStructureSizeInBytes,pParameterCount,pParameterDescs) \ | ||
| 28264 | ( (This)->lpVtbl -> EnumerateMetaCommandParameters(This,CommandId,Stage,pTotalStructureSizeInBytes,pParameterCount,pParameterDescs) ) | ||
| 28265 | |||
| 28266 | #define ID3D12Device13_CreateMetaCommand(This,CommandId,NodeMask,pCreationParametersData,CreationParametersDataSizeInBytes,riid,ppMetaCommand) \ | ||
| 28267 | ( (This)->lpVtbl -> CreateMetaCommand(This,CommandId,NodeMask,pCreationParametersData,CreationParametersDataSizeInBytes,riid,ppMetaCommand) ) | ||
| 28268 | |||
| 28269 | #define ID3D12Device13_CreateStateObject(This,pDesc,riid,ppStateObject) \ | ||
| 28270 | ( (This)->lpVtbl -> CreateStateObject(This,pDesc,riid,ppStateObject) ) | ||
| 28271 | |||
| 28272 | #define ID3D12Device13_GetRaytracingAccelerationStructurePrebuildInfo(This,pDesc,pInfo) \ | ||
| 28273 | ( (This)->lpVtbl -> GetRaytracingAccelerationStructurePrebuildInfo(This,pDesc,pInfo) ) | ||
| 28274 | |||
| 28275 | #define ID3D12Device13_CheckDriverMatchingIdentifier(This,SerializedDataType,pIdentifierToCheck) \ | ||
| 28276 | ( (This)->lpVtbl -> CheckDriverMatchingIdentifier(This,SerializedDataType,pIdentifierToCheck) ) | ||
| 28277 | |||
| 28278 | |||
| 28279 | #define ID3D12Device13_SetBackgroundProcessingMode(This,Mode,MeasurementsAction,hEventToSignalUponCompletion,pbFurtherMeasurementsDesired) \ | ||
| 28280 | ( (This)->lpVtbl -> SetBackgroundProcessingMode(This,Mode,MeasurementsAction,hEventToSignalUponCompletion,pbFurtherMeasurementsDesired) ) | ||
| 28281 | |||
| 28282 | |||
| 28283 | #define ID3D12Device13_AddToStateObject(This,pAddition,pStateObjectToGrowFrom,riid,ppNewStateObject) \ | ||
| 28284 | ( (This)->lpVtbl -> AddToStateObject(This,pAddition,pStateObjectToGrowFrom,riid,ppNewStateObject) ) | ||
| 28285 | |||
| 28286 | #define ID3D12Device13_CreateProtectedResourceSession1(This,pDesc,riid,ppSession) \ | ||
| 28287 | ( (This)->lpVtbl -> CreateProtectedResourceSession1(This,pDesc,riid,ppSession) ) | ||
| 28288 | |||
| 28289 | #if !defined(_WIN32) | ||
| 28290 | |||
| 28291 | #define ID3D12Device13_GetResourceAllocationInfo2(This,visibleMask,numResourceDescs,pResourceDescs,pResourceAllocationInfo1) \ | ||
| 28292 | ( (This)->lpVtbl -> GetResourceAllocationInfo2(This,visibleMask,numResourceDescs,pResourceDescs,pResourceAllocationInfo1) ) | ||
| 28293 | #else | ||
| 28294 | #define ID3D12Device13_GetResourceAllocationInfo2(This,RetVal,visibleMask,numResourceDescs,pResourceDescs,pResourceAllocationInfo1) \ | ||
| 28295 | ( (This)->lpVtbl -> GetResourceAllocationInfo2(This,RetVal,visibleMask,numResourceDescs,pResourceDescs,pResourceAllocationInfo1) ) | ||
| 28296 | #endif | ||
| 28297 | |||
| 28298 | #define ID3D12Device13_CreateCommittedResource2(This,pHeapProperties,HeapFlags,pDesc,InitialResourceState,pOptimizedClearValue,pProtectedSession,riidResource,ppvResource) \ | ||
| 28299 | ( (This)->lpVtbl -> CreateCommittedResource2(This,pHeapProperties,HeapFlags,pDesc,InitialResourceState,pOptimizedClearValue,pProtectedSession,riidResource,ppvResource) ) | ||
| 28300 | |||
| 28301 | #define ID3D12Device13_CreatePlacedResource1(This,pHeap,HeapOffset,pDesc,InitialState,pOptimizedClearValue,riid,ppvResource) \ | ||
| 28302 | ( (This)->lpVtbl -> CreatePlacedResource1(This,pHeap,HeapOffset,pDesc,InitialState,pOptimizedClearValue,riid,ppvResource) ) | ||
| 28303 | |||
| 28304 | #define ID3D12Device13_CreateSamplerFeedbackUnorderedAccessView(This,pTargetedResource,pFeedbackResource,DestDescriptor) \ | ||
| 28305 | ( (This)->lpVtbl -> CreateSamplerFeedbackUnorderedAccessView(This,pTargetedResource,pFeedbackResource,DestDescriptor) ) | ||
| 28306 | |||
| 28307 | #define ID3D12Device13_GetCopyableFootprints1(This,pResourceDesc,FirstSubresource,NumSubresources,BaseOffset,pLayouts,pNumRows,pRowSizeInBytes,pTotalBytes) \ | ||
| 28308 | ( (This)->lpVtbl -> GetCopyableFootprints1(This,pResourceDesc,FirstSubresource,NumSubresources,BaseOffset,pLayouts,pNumRows,pRowSizeInBytes,pTotalBytes) ) | ||
| 28309 | |||
| 28310 | |||
| 28311 | #define ID3D12Device13_CreateShaderCacheSession(This,pDesc,riid,ppvSession) \ | ||
| 28312 | ( (This)->lpVtbl -> CreateShaderCacheSession(This,pDesc,riid,ppvSession) ) | ||
| 28313 | |||
| 28314 | #define ID3D12Device13_ShaderCacheControl(This,Kinds,Control) \ | ||
| 28315 | ( (This)->lpVtbl -> ShaderCacheControl(This,Kinds,Control) ) | ||
| 28316 | |||
| 28317 | #define ID3D12Device13_CreateCommandQueue1(This,pDesc,CreatorID,riid,ppCommandQueue) \ | ||
| 28318 | ( (This)->lpVtbl -> CreateCommandQueue1(This,pDesc,CreatorID,riid,ppCommandQueue) ) | ||
| 28319 | |||
| 28320 | |||
| 28321 | #define ID3D12Device13_CreateCommittedResource3(This,pHeapProperties,HeapFlags,pDesc,InitialLayout,pOptimizedClearValue,pProtectedSession,NumCastableFormats,pCastableFormats,riidResource,ppvResource) \ | ||
| 28322 | ( (This)->lpVtbl -> CreateCommittedResource3(This,pHeapProperties,HeapFlags,pDesc,InitialLayout,pOptimizedClearValue,pProtectedSession,NumCastableFormats,pCastableFormats,riidResource,ppvResource) ) | ||
| 28323 | |||
| 28324 | #define ID3D12Device13_CreatePlacedResource2(This,pHeap,HeapOffset,pDesc,InitialLayout,pOptimizedClearValue,NumCastableFormats,pCastableFormats,riid,ppvResource) \ | ||
| 28325 | ( (This)->lpVtbl -> CreatePlacedResource2(This,pHeap,HeapOffset,pDesc,InitialLayout,pOptimizedClearValue,NumCastableFormats,pCastableFormats,riid,ppvResource) ) | ||
| 28326 | |||
| 28327 | #define ID3D12Device13_CreateReservedResource2(This,pDesc,InitialLayout,pOptimizedClearValue,pProtectedSession,NumCastableFormats,pCastableFormats,riid,ppvResource) \ | ||
| 28328 | ( (This)->lpVtbl -> CreateReservedResource2(This,pDesc,InitialLayout,pOptimizedClearValue,pProtectedSession,NumCastableFormats,pCastableFormats,riid,ppvResource) ) | ||
| 28329 | |||
| 28330 | |||
| 28331 | #define ID3D12Device13_CreateSampler2(This,pDesc,DestDescriptor) \ | ||
| 28332 | ( (This)->lpVtbl -> CreateSampler2(This,pDesc,DestDescriptor) ) | ||
| 28333 | |||
| 28334 | #if !defined(_WIN32) | ||
| 28335 | |||
| 28336 | #define ID3D12Device13_GetResourceAllocationInfo3(This,visibleMask,numResourceDescs,pResourceDescs,pNumCastableFormats,ppCastableFormats,pResourceAllocationInfo1) \ | ||
| 28337 | ( (This)->lpVtbl -> GetResourceAllocationInfo3(This,visibleMask,numResourceDescs,pResourceDescs,pNumCastableFormats,ppCastableFormats,pResourceAllocationInfo1) ) | ||
| 28338 | #else | ||
| 28339 | #define ID3D12Device13_GetResourceAllocationInfo3(This,RetVal,visibleMask,numResourceDescs,pResourceDescs,pNumCastableFormats,ppCastableFormats,pResourceAllocationInfo1) \ | ||
| 28340 | ( (This)->lpVtbl -> GetResourceAllocationInfo3(This,RetVal,visibleMask,numResourceDescs,pResourceDescs,pNumCastableFormats,ppCastableFormats,pResourceAllocationInfo1) ) | ||
| 28341 | #endif | ||
| 28342 | |||
| 28343 | |||
| 28344 | #define ID3D12Device13_OpenExistingHeapFromAddress1(This,pAddress,size,riid,ppvHeap) \ | ||
| 28345 | ( (This)->lpVtbl -> OpenExistingHeapFromAddress1(This,pAddress,size,riid,ppvHeap) ) | ||
| 28346 | |||
| 28347 | #endif /* COBJMACROS */ | ||
| 28348 | |||
| 28349 | |||
| 28350 | #endif /* C style interface */ | ||
| 28351 | |||
| 28352 | |||
| 28353 | |||
| 28354 | |||
| 28355 | #endif /* __ID3D12Device13_INTERFACE_DEFINED__ */ | ||
| 28356 | |||
| 28357 | |||
| 28358 | #ifndef __ID3D12Device14_INTERFACE_DEFINED__ | ||
| 28359 | #define __ID3D12Device14_INTERFACE_DEFINED__ | ||
| 28360 | |||
| 28361 | /* interface ID3D12Device14 */ | ||
| 28362 | /* [unique][local][object][uuid] */ | ||
| 28363 | |||
| 28364 | |||
| 28365 | EXTERN_C const IID IID_ID3D12Device14; | ||
| 28366 | |||
| 28367 | #if defined(__cplusplus) && !defined(CINTERFACE) | ||
| 28368 | |||
| 28369 | MIDL_INTERFACE("5f6e592d-d895-44c2-8e4a-88ad4926d323") | ||
| 28370 | ID3D12Device14 : public ID3D12Device13 | ||
| 28371 | { | ||
| 28372 | public: | ||
| 28373 | virtual HRESULT STDMETHODCALLTYPE CreateRootSignatureFromSubobjectInLibrary( | ||
| 28374 | _In_ UINT nodeMask, | ||
| 28375 | _In_reads_(blobLengthInBytes) const void *pLibraryBlob, | ||
| 28376 | _In_ SIZE_T blobLengthInBytes, | ||
| 28377 | _In_opt_ LPCWSTR subobjectName, | ||
| 28378 | REFIID riid, | ||
| 28379 | _COM_Outptr_ void **ppvRootSignature) = 0; | ||
| 28380 | |||
| 28381 | }; | ||
| 28382 | |||
| 28383 | |||
| 28384 | #else /* C style interface */ | ||
| 28385 | |||
| 28386 | typedef struct ID3D12Device14Vtbl | ||
| 28387 | { | ||
| 28388 | BEGIN_INTERFACE | ||
| 28389 | |||
| 28390 | DECLSPEC_XFGVIRT(IUnknown, QueryInterface) | ||
| 28391 | HRESULT ( STDMETHODCALLTYPE *QueryInterface )( | ||
| 28392 | ID3D12Device14 * This, | ||
| 28393 | REFIID riid, | ||
| 28394 | _COM_Outptr_ void **ppvObject); | ||
| 28395 | |||
| 28396 | DECLSPEC_XFGVIRT(IUnknown, AddRef) | ||
| 28397 | ULONG ( STDMETHODCALLTYPE *AddRef )( | ||
| 28398 | ID3D12Device14 * This); | ||
| 28399 | |||
| 28400 | DECLSPEC_XFGVIRT(IUnknown, Release) | ||
| 28401 | ULONG ( STDMETHODCALLTYPE *Release )( | ||
| 28402 | ID3D12Device14 * This); | ||
| 28403 | |||
| 28404 | DECLSPEC_XFGVIRT(ID3D12Object, GetPrivateData) | ||
| 28405 | HRESULT ( STDMETHODCALLTYPE *GetPrivateData )( | ||
| 28406 | ID3D12Device14 * This, | ||
| 28407 | _In_ REFGUID guid, | ||
| 28408 | _Inout_ UINT *pDataSize, | ||
| 28409 | _Out_writes_bytes_opt_( *pDataSize ) void *pData); | ||
| 28410 | |||
| 28411 | DECLSPEC_XFGVIRT(ID3D12Object, SetPrivateData) | ||
| 28412 | HRESULT ( STDMETHODCALLTYPE *SetPrivateData )( | ||
| 28413 | ID3D12Device14 * This, | ||
| 28414 | _In_ REFGUID guid, | ||
| 28415 | _In_ UINT DataSize, | ||
| 28416 | _In_reads_bytes_opt_( DataSize ) const void *pData); | ||
| 28417 | |||
| 28418 | DECLSPEC_XFGVIRT(ID3D12Object, SetPrivateDataInterface) | ||
| 28419 | HRESULT ( STDMETHODCALLTYPE *SetPrivateDataInterface )( | ||
| 28420 | ID3D12Device14 * This, | ||
| 28421 | _In_ REFGUID guid, | ||
| 28422 | _In_opt_ const IUnknown *pData); | ||
| 28423 | |||
| 28424 | DECLSPEC_XFGVIRT(ID3D12Object, SetName) | ||
| 28425 | HRESULT ( STDMETHODCALLTYPE *SetName )( | ||
| 28426 | ID3D12Device14 * This, | ||
| 28427 | _In_z_ LPCWSTR Name); | ||
| 28428 | |||
| 28429 | DECLSPEC_XFGVIRT(ID3D12Device, GetNodeCount) | ||
| 28430 | UINT ( STDMETHODCALLTYPE *GetNodeCount )( | ||
| 28431 | ID3D12Device14 * This); | ||
| 28432 | |||
| 28433 | DECLSPEC_XFGVIRT(ID3D12Device, CreateCommandQueue) | ||
| 28434 | HRESULT ( STDMETHODCALLTYPE *CreateCommandQueue )( | ||
| 28435 | ID3D12Device14 * This, | ||
| 28436 | _In_ const D3D12_COMMAND_QUEUE_DESC *pDesc, | ||
| 28437 | REFIID riid, | ||
| 28438 | _COM_Outptr_ void **ppCommandQueue); | ||
| 28439 | |||
| 28440 | DECLSPEC_XFGVIRT(ID3D12Device, CreateCommandAllocator) | ||
| 28441 | HRESULT ( STDMETHODCALLTYPE *CreateCommandAllocator )( | ||
| 28442 | ID3D12Device14 * This, | ||
| 28443 | _In_ D3D12_COMMAND_LIST_TYPE type, | ||
| 28444 | REFIID riid, | ||
| 28445 | _COM_Outptr_ void **ppCommandAllocator); | ||
| 28446 | |||
| 28447 | DECLSPEC_XFGVIRT(ID3D12Device, CreateGraphicsPipelineState) | ||
| 28448 | HRESULT ( STDMETHODCALLTYPE *CreateGraphicsPipelineState )( | ||
| 28449 | ID3D12Device14 * This, | ||
| 28450 | _In_ const D3D12_GRAPHICS_PIPELINE_STATE_DESC *pDesc, | ||
| 28451 | REFIID riid, | ||
| 28452 | _COM_Outptr_ void **ppPipelineState); | ||
| 28453 | |||
| 28454 | DECLSPEC_XFGVIRT(ID3D12Device, CreateComputePipelineState) | ||
| 28455 | HRESULT ( STDMETHODCALLTYPE *CreateComputePipelineState )( | ||
| 28456 | ID3D12Device14 * This, | ||
| 28457 | _In_ const D3D12_COMPUTE_PIPELINE_STATE_DESC *pDesc, | ||
| 28458 | REFIID riid, | ||
| 28459 | _COM_Outptr_ void **ppPipelineState); | ||
| 28460 | |||
| 28461 | DECLSPEC_XFGVIRT(ID3D12Device, CreateCommandList) | ||
| 28462 | HRESULT ( STDMETHODCALLTYPE *CreateCommandList )( | ||
| 28463 | ID3D12Device14 * This, | ||
| 28464 | _In_ UINT nodeMask, | ||
| 28465 | _In_ D3D12_COMMAND_LIST_TYPE type, | ||
| 28466 | _In_ ID3D12CommandAllocator *pCommandAllocator, | ||
| 28467 | _In_opt_ ID3D12PipelineState *pInitialState, | ||
| 28468 | REFIID riid, | ||
| 28469 | _COM_Outptr_ void **ppCommandList); | ||
| 28470 | |||
| 28471 | DECLSPEC_XFGVIRT(ID3D12Device, CheckFeatureSupport) | ||
| 28472 | HRESULT ( STDMETHODCALLTYPE *CheckFeatureSupport )( | ||
| 28473 | ID3D12Device14 * This, | ||
| 28474 | D3D12_FEATURE Feature, | ||
| 28475 | _Inout_updates_bytes_(FeatureSupportDataSize) void *pFeatureSupportData, | ||
| 28476 | UINT FeatureSupportDataSize); | ||
| 28477 | |||
| 28478 | DECLSPEC_XFGVIRT(ID3D12Device, CreateDescriptorHeap) | ||
| 28479 | HRESULT ( STDMETHODCALLTYPE *CreateDescriptorHeap )( | ||
| 28480 | ID3D12Device14 * This, | ||
| 28481 | _In_ const D3D12_DESCRIPTOR_HEAP_DESC *pDescriptorHeapDesc, | ||
| 28482 | REFIID riid, | ||
| 28483 | _COM_Outptr_ void **ppvHeap); | ||
| 28484 | |||
| 28485 | DECLSPEC_XFGVIRT(ID3D12Device, GetDescriptorHandleIncrementSize) | ||
| 28486 | UINT ( STDMETHODCALLTYPE *GetDescriptorHandleIncrementSize )( | ||
| 28487 | ID3D12Device14 * This, | ||
| 28488 | _In_ D3D12_DESCRIPTOR_HEAP_TYPE DescriptorHeapType); | ||
| 28489 | |||
| 28490 | DECLSPEC_XFGVIRT(ID3D12Device, CreateRootSignature) | ||
| 28491 | HRESULT ( STDMETHODCALLTYPE *CreateRootSignature )( | ||
| 28492 | ID3D12Device14 * This, | ||
| 28493 | _In_ UINT nodeMask, | ||
| 28494 | _In_reads_(blobLengthInBytes) const void *pBlobWithRootSignature, | ||
| 28495 | _In_ SIZE_T blobLengthInBytes, | ||
| 28496 | REFIID riid, | ||
| 28497 | _COM_Outptr_ void **ppvRootSignature); | ||
| 28498 | |||
| 28499 | DECLSPEC_XFGVIRT(ID3D12Device, CreateConstantBufferView) | ||
| 28500 | void ( STDMETHODCALLTYPE *CreateConstantBufferView )( | ||
| 28501 | ID3D12Device14 * This, | ||
| 28502 | _In_opt_ const D3D12_CONSTANT_BUFFER_VIEW_DESC *pDesc, | ||
| 28503 | _In_ D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor); | ||
| 28504 | |||
| 28505 | DECLSPEC_XFGVIRT(ID3D12Device, CreateShaderResourceView) | ||
| 28506 | void ( STDMETHODCALLTYPE *CreateShaderResourceView )( | ||
| 28507 | ID3D12Device14 * This, | ||
| 28508 | _In_opt_ ID3D12Resource *pResource, | ||
| 28509 | _In_opt_ const D3D12_SHADER_RESOURCE_VIEW_DESC *pDesc, | ||
| 28510 | _In_ D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor); | ||
| 28511 | |||
| 28512 | DECLSPEC_XFGVIRT(ID3D12Device, CreateUnorderedAccessView) | ||
| 28513 | void ( STDMETHODCALLTYPE *CreateUnorderedAccessView )( | ||
| 28514 | ID3D12Device14 * This, | ||
| 28515 | _In_opt_ ID3D12Resource *pResource, | ||
| 28516 | _In_opt_ ID3D12Resource *pCounterResource, | ||
| 28517 | _In_opt_ const D3D12_UNORDERED_ACCESS_VIEW_DESC *pDesc, | ||
| 28518 | _In_ D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor); | ||
| 28519 | |||
| 28520 | DECLSPEC_XFGVIRT(ID3D12Device, CreateRenderTargetView) | ||
| 28521 | void ( STDMETHODCALLTYPE *CreateRenderTargetView )( | ||
| 28522 | ID3D12Device14 * This, | ||
| 28523 | _In_opt_ ID3D12Resource *pResource, | ||
| 28524 | _In_opt_ const D3D12_RENDER_TARGET_VIEW_DESC *pDesc, | ||
| 28525 | _In_ D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor); | ||
| 28526 | |||
| 28527 | DECLSPEC_XFGVIRT(ID3D12Device, CreateDepthStencilView) | ||
| 28528 | void ( STDMETHODCALLTYPE *CreateDepthStencilView )( | ||
| 28529 | ID3D12Device14 * This, | ||
| 28530 | _In_opt_ ID3D12Resource *pResource, | ||
| 28531 | _In_opt_ const D3D12_DEPTH_STENCIL_VIEW_DESC *pDesc, | ||
| 28532 | _In_ D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor); | ||
| 28533 | |||
| 28534 | DECLSPEC_XFGVIRT(ID3D12Device, CreateSampler) | ||
| 28535 | void ( STDMETHODCALLTYPE *CreateSampler )( | ||
| 28536 | ID3D12Device14 * This, | ||
| 28537 | _In_ const D3D12_SAMPLER_DESC *pDesc, | ||
| 28538 | _In_ D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor); | ||
| 28539 | |||
| 28540 | DECLSPEC_XFGVIRT(ID3D12Device, CopyDescriptors) | ||
| 28541 | void ( STDMETHODCALLTYPE *CopyDescriptors )( | ||
| 28542 | ID3D12Device14 * This, | ||
| 28543 | _In_ UINT NumDestDescriptorRanges, | ||
| 28544 | _In_reads_(NumDestDescriptorRanges) const D3D12_CPU_DESCRIPTOR_HANDLE *pDestDescriptorRangeStarts, | ||
| 28545 | _In_reads_opt_(NumDestDescriptorRanges) const UINT *pDestDescriptorRangeSizes, | ||
| 28546 | _In_ UINT NumSrcDescriptorRanges, | ||
| 28547 | _In_reads_(NumSrcDescriptorRanges) const D3D12_CPU_DESCRIPTOR_HANDLE *pSrcDescriptorRangeStarts, | ||
| 28548 | _In_reads_opt_(NumSrcDescriptorRanges) const UINT *pSrcDescriptorRangeSizes, | ||
| 28549 | _In_ D3D12_DESCRIPTOR_HEAP_TYPE DescriptorHeapsType); | ||
| 28550 | |||
| 28551 | DECLSPEC_XFGVIRT(ID3D12Device, CopyDescriptorsSimple) | ||
| 28552 | void ( STDMETHODCALLTYPE *CopyDescriptorsSimple )( | ||
| 28553 | ID3D12Device14 * This, | ||
| 28554 | _In_ UINT NumDescriptors, | ||
| 28555 | _In_ D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptorRangeStart, | ||
| 28556 | _In_ D3D12_CPU_DESCRIPTOR_HANDLE SrcDescriptorRangeStart, | ||
| 28557 | _In_ D3D12_DESCRIPTOR_HEAP_TYPE DescriptorHeapsType); | ||
| 28558 | |||
| 28559 | DECLSPEC_XFGVIRT(ID3D12Device, GetResourceAllocationInfo) | ||
| 28560 | #if !defined(_WIN32) | ||
| 28561 | D3D12_RESOURCE_ALLOCATION_INFO ( STDMETHODCALLTYPE *GetResourceAllocationInfo )( | ||
| 28562 | ID3D12Device14 * This, | ||
| 28563 | _In_ UINT visibleMask, | ||
| 28564 | _In_ UINT numResourceDescs, | ||
| 28565 | _In_reads_(numResourceDescs) const D3D12_RESOURCE_DESC *pResourceDescs); | ||
| 28566 | |||
| 28567 | #else | ||
| 28568 | D3D12_RESOURCE_ALLOCATION_INFO *( STDMETHODCALLTYPE *GetResourceAllocationInfo )( | ||
| 28569 | ID3D12Device14 * This, | ||
| 28570 | D3D12_RESOURCE_ALLOCATION_INFO * RetVal, | ||
| 28571 | _In_ UINT visibleMask, | ||
| 28572 | _In_ UINT numResourceDescs, | ||
| 28573 | _In_reads_(numResourceDescs) const D3D12_RESOURCE_DESC *pResourceDescs); | ||
| 28574 | |||
| 28575 | #endif | ||
| 28576 | |||
| 28577 | DECLSPEC_XFGVIRT(ID3D12Device, GetCustomHeapProperties) | ||
| 28578 | #if !defined(_WIN32) | ||
| 28579 | D3D12_HEAP_PROPERTIES ( STDMETHODCALLTYPE *GetCustomHeapProperties )( | ||
| 28580 | ID3D12Device14 * This, | ||
| 28581 | _In_ UINT nodeMask, | ||
| 28582 | D3D12_HEAP_TYPE heapType); | ||
| 28583 | |||
| 28584 | #else | ||
| 28585 | D3D12_HEAP_PROPERTIES *( STDMETHODCALLTYPE *GetCustomHeapProperties )( | ||
| 28586 | ID3D12Device14 * This, | ||
| 28587 | D3D12_HEAP_PROPERTIES * RetVal, | ||
| 28588 | _In_ UINT nodeMask, | ||
| 28589 | D3D12_HEAP_TYPE heapType); | ||
| 28590 | |||
| 28591 | #endif | ||
| 28592 | |||
| 28593 | DECLSPEC_XFGVIRT(ID3D12Device, CreateCommittedResource) | ||
| 28594 | HRESULT ( STDMETHODCALLTYPE *CreateCommittedResource )( | ||
| 28595 | ID3D12Device14 * This, | ||
| 28596 | _In_ const D3D12_HEAP_PROPERTIES *pHeapProperties, | ||
| 28597 | D3D12_HEAP_FLAGS HeapFlags, | ||
| 28598 | _In_ const D3D12_RESOURCE_DESC *pDesc, | ||
| 28599 | D3D12_RESOURCE_STATES InitialResourceState, | ||
| 28600 | _In_opt_ const D3D12_CLEAR_VALUE *pOptimizedClearValue, | ||
| 28601 | REFIID riidResource, | ||
| 28602 | _COM_Outptr_opt_ void **ppvResource); | ||
| 28603 | |||
| 28604 | DECLSPEC_XFGVIRT(ID3D12Device, CreateHeap) | ||
| 28605 | HRESULT ( STDMETHODCALLTYPE *CreateHeap )( | ||
| 28606 | ID3D12Device14 * This, | ||
| 28607 | _In_ const D3D12_HEAP_DESC *pDesc, | ||
| 28608 | REFIID riid, | ||
| 28609 | _COM_Outptr_opt_ void **ppvHeap); | ||
| 28610 | |||
| 28611 | DECLSPEC_XFGVIRT(ID3D12Device, CreatePlacedResource) | ||
| 28612 | HRESULT ( STDMETHODCALLTYPE *CreatePlacedResource )( | ||
| 28613 | ID3D12Device14 * This, | ||
| 28614 | _In_ ID3D12Heap *pHeap, | ||
| 28615 | UINT64 HeapOffset, | ||
| 28616 | _In_ const D3D12_RESOURCE_DESC *pDesc, | ||
| 28617 | D3D12_RESOURCE_STATES InitialState, | ||
| 28618 | _In_opt_ const D3D12_CLEAR_VALUE *pOptimizedClearValue, | ||
| 28619 | REFIID riid, | ||
| 28620 | _COM_Outptr_opt_ void **ppvResource); | ||
| 28621 | |||
| 28622 | DECLSPEC_XFGVIRT(ID3D12Device, CreateReservedResource) | ||
| 28623 | HRESULT ( STDMETHODCALLTYPE *CreateReservedResource )( | ||
| 28624 | ID3D12Device14 * This, | ||
| 28625 | _In_ const D3D12_RESOURCE_DESC *pDesc, | ||
| 28626 | D3D12_RESOURCE_STATES InitialState, | ||
| 28627 | _In_opt_ const D3D12_CLEAR_VALUE *pOptimizedClearValue, | ||
| 28628 | REFIID riid, | ||
| 28629 | _COM_Outptr_opt_ void **ppvResource); | ||
| 28630 | |||
| 28631 | DECLSPEC_XFGVIRT(ID3D12Device, CreateSharedHandle) | ||
| 28632 | HRESULT ( STDMETHODCALLTYPE *CreateSharedHandle )( | ||
| 28633 | ID3D12Device14 * This, | ||
| 28634 | _In_ ID3D12DeviceChild *pObject, | ||
| 28635 | _In_opt_ const SECURITY_ATTRIBUTES *pAttributes, | ||
| 28636 | DWORD Access, | ||
| 28637 | _In_opt_ LPCWSTR Name, | ||
| 28638 | _Out_ HANDLE *pHandle); | ||
| 28639 | |||
| 28640 | DECLSPEC_XFGVIRT(ID3D12Device, OpenSharedHandle) | ||
| 28641 | HRESULT ( STDMETHODCALLTYPE *OpenSharedHandle )( | ||
| 28642 | ID3D12Device14 * This, | ||
| 28643 | _In_ HANDLE NTHandle, | ||
| 28644 | REFIID riid, | ||
| 28645 | _COM_Outptr_opt_ void **ppvObj); | ||
| 28646 | |||
| 28647 | DECLSPEC_XFGVIRT(ID3D12Device, OpenSharedHandleByName) | ||
| 28648 | HRESULT ( STDMETHODCALLTYPE *OpenSharedHandleByName )( | ||
| 28649 | ID3D12Device14 * This, | ||
| 28650 | _In_ LPCWSTR Name, | ||
| 28651 | DWORD Access, | ||
| 28652 | /* [annotation][out] */ | ||
| 28653 | _Out_ HANDLE *pNTHandle); | ||
| 28654 | |||
| 28655 | DECLSPEC_XFGVIRT(ID3D12Device, MakeResident) | ||
| 28656 | HRESULT ( STDMETHODCALLTYPE *MakeResident )( | ||
| 28657 | ID3D12Device14 * This, | ||
| 28658 | UINT NumObjects, | ||
| 28659 | _In_reads_(NumObjects) ID3D12Pageable *const *ppObjects); | ||
| 28660 | |||
| 28661 | DECLSPEC_XFGVIRT(ID3D12Device, Evict) | ||
| 28662 | HRESULT ( STDMETHODCALLTYPE *Evict )( | ||
| 28663 | ID3D12Device14 * This, | ||
| 28664 | UINT NumObjects, | ||
| 28665 | _In_reads_(NumObjects) ID3D12Pageable *const *ppObjects); | ||
| 28666 | |||
| 28667 | DECLSPEC_XFGVIRT(ID3D12Device, CreateFence) | ||
| 28668 | HRESULT ( STDMETHODCALLTYPE *CreateFence )( | ||
| 28669 | ID3D12Device14 * This, | ||
| 28670 | UINT64 InitialValue, | ||
| 28671 | D3D12_FENCE_FLAGS Flags, | ||
| 28672 | REFIID riid, | ||
| 28673 | _COM_Outptr_ void **ppFence); | ||
| 28674 | |||
| 28675 | DECLSPEC_XFGVIRT(ID3D12Device, GetDeviceRemovedReason) | ||
| 28676 | HRESULT ( STDMETHODCALLTYPE *GetDeviceRemovedReason )( | ||
| 28677 | ID3D12Device14 * This); | ||
| 28678 | |||
| 28679 | DECLSPEC_XFGVIRT(ID3D12Device, GetCopyableFootprints) | ||
| 28680 | void ( STDMETHODCALLTYPE *GetCopyableFootprints )( | ||
| 28681 | ID3D12Device14 * This, | ||
| 28682 | _In_ const D3D12_RESOURCE_DESC *pResourceDesc, | ||
| 28683 | _In_range_(0,D3D12_REQ_SUBRESOURCES) UINT FirstSubresource, | ||
| 28684 | _In_range_(0,D3D12_REQ_SUBRESOURCES-FirstSubresource) UINT NumSubresources, | ||
| 28685 | UINT64 BaseOffset, | ||
| 28686 | _Out_writes_opt_(NumSubresources) D3D12_PLACED_SUBRESOURCE_FOOTPRINT *pLayouts, | ||
| 28687 | _Out_writes_opt_(NumSubresources) UINT *pNumRows, | ||
| 28688 | _Out_writes_opt_(NumSubresources) UINT64 *pRowSizeInBytes, | ||
| 28689 | _Out_opt_ UINT64 *pTotalBytes); | ||
| 28690 | |||
| 28691 | DECLSPEC_XFGVIRT(ID3D12Device, CreateQueryHeap) | ||
| 28692 | HRESULT ( STDMETHODCALLTYPE *CreateQueryHeap )( | ||
| 28693 | ID3D12Device14 * This, | ||
| 28694 | _In_ const D3D12_QUERY_HEAP_DESC *pDesc, | ||
| 28695 | REFIID riid, | ||
| 28696 | _COM_Outptr_opt_ void **ppvHeap); | ||
| 28697 | |||
| 28698 | DECLSPEC_XFGVIRT(ID3D12Device, SetStablePowerState) | ||
| 28699 | HRESULT ( STDMETHODCALLTYPE *SetStablePowerState )( | ||
| 28700 | ID3D12Device14 * This, | ||
| 28701 | BOOL Enable); | ||
| 28702 | |||
| 28703 | DECLSPEC_XFGVIRT(ID3D12Device, CreateCommandSignature) | ||
| 28704 | HRESULT ( STDMETHODCALLTYPE *CreateCommandSignature )( | ||
| 28705 | ID3D12Device14 * This, | ||
| 28706 | _In_ const D3D12_COMMAND_SIGNATURE_DESC *pDesc, | ||
| 28707 | _In_opt_ ID3D12RootSignature *pRootSignature, | ||
| 28708 | REFIID riid, | ||
| 28709 | _COM_Outptr_opt_ void **ppvCommandSignature); | ||
| 28710 | |||
| 28711 | DECLSPEC_XFGVIRT(ID3D12Device, GetResourceTiling) | ||
| 28712 | void ( STDMETHODCALLTYPE *GetResourceTiling )( | ||
| 28713 | ID3D12Device14 * This, | ||
| 28714 | _In_ ID3D12Resource *pTiledResource, | ||
| 28715 | _Out_opt_ UINT *pNumTilesForEntireResource, | ||
| 28716 | _Out_opt_ D3D12_PACKED_MIP_INFO *pPackedMipDesc, | ||
| 28717 | _Out_opt_ D3D12_TILE_SHAPE *pStandardTileShapeForNonPackedMips, | ||
| 28718 | _Inout_opt_ UINT *pNumSubresourceTilings, | ||
| 28719 | _In_ UINT FirstSubresourceTilingToGet, | ||
| 28720 | _Out_writes_(*pNumSubresourceTilings) D3D12_SUBRESOURCE_TILING *pSubresourceTilingsForNonPackedMips); | ||
| 28721 | |||
| 28722 | DECLSPEC_XFGVIRT(ID3D12Device, GetAdapterLuid) | ||
| 28723 | #if !defined(_WIN32) | ||
| 28724 | LUID ( STDMETHODCALLTYPE *GetAdapterLuid )( | ||
| 28725 | ID3D12Device14 * This); | ||
| 28726 | |||
| 28727 | #else | ||
| 28728 | LUID *( STDMETHODCALLTYPE *GetAdapterLuid )( | ||
| 28729 | ID3D12Device14 * This, | ||
| 28730 | LUID * RetVal); | ||
| 28731 | |||
| 28732 | #endif | ||
| 28733 | |||
| 28734 | DECLSPEC_XFGVIRT(ID3D12Device1, CreatePipelineLibrary) | ||
| 28735 | HRESULT ( STDMETHODCALLTYPE *CreatePipelineLibrary )( | ||
| 28736 | ID3D12Device14 * This, | ||
| 28737 | _In_reads_(BlobLength) const void *pLibraryBlob, | ||
| 28738 | SIZE_T BlobLength, | ||
| 28739 | REFIID riid, | ||
| 28740 | _COM_Outptr_ void **ppPipelineLibrary); | ||
| 28741 | |||
| 28742 | DECLSPEC_XFGVIRT(ID3D12Device1, SetEventOnMultipleFenceCompletion) | ||
| 28743 | HRESULT ( STDMETHODCALLTYPE *SetEventOnMultipleFenceCompletion )( | ||
| 28744 | ID3D12Device14 * This, | ||
| 28745 | _In_reads_(NumFences) ID3D12Fence *const *ppFences, | ||
| 28746 | _In_reads_(NumFences) const UINT64 *pFenceValues, | ||
| 28747 | UINT NumFences, | ||
| 28748 | D3D12_MULTIPLE_FENCE_WAIT_FLAGS Flags, | ||
| 28749 | HANDLE hEvent); | ||
| 28750 | |||
| 28751 | DECLSPEC_XFGVIRT(ID3D12Device1, SetResidencyPriority) | ||
| 28752 | HRESULT ( STDMETHODCALLTYPE *SetResidencyPriority )( | ||
| 28753 | ID3D12Device14 * This, | ||
| 28754 | UINT NumObjects, | ||
| 28755 | _In_reads_(NumObjects) ID3D12Pageable *const *ppObjects, | ||
| 28756 | _In_reads_(NumObjects) const D3D12_RESIDENCY_PRIORITY *pPriorities); | ||
| 28757 | |||
| 28758 | DECLSPEC_XFGVIRT(ID3D12Device2, CreatePipelineState) | ||
| 28759 | HRESULT ( STDMETHODCALLTYPE *CreatePipelineState )( | ||
| 28760 | ID3D12Device14 * This, | ||
| 28761 | const D3D12_PIPELINE_STATE_STREAM_DESC *pDesc, | ||
| 28762 | REFIID riid, | ||
| 28763 | _COM_Outptr_ void **ppPipelineState); | ||
| 28764 | |||
| 28765 | DECLSPEC_XFGVIRT(ID3D12Device3, OpenExistingHeapFromAddress) | ||
| 28766 | HRESULT ( STDMETHODCALLTYPE *OpenExistingHeapFromAddress )( | ||
| 28767 | ID3D12Device14 * This, | ||
| 28768 | _In_ const void *pAddress, | ||
| 28769 | REFIID riid, | ||
| 28770 | _COM_Outptr_ void **ppvHeap); | ||
| 28771 | |||
| 28772 | DECLSPEC_XFGVIRT(ID3D12Device3, OpenExistingHeapFromFileMapping) | ||
| 28773 | HRESULT ( STDMETHODCALLTYPE *OpenExistingHeapFromFileMapping )( | ||
| 28774 | ID3D12Device14 * This, | ||
| 28775 | _In_ HANDLE hFileMapping, | ||
| 28776 | REFIID riid, | ||
| 28777 | _COM_Outptr_ void **ppvHeap); | ||
| 28778 | |||
| 28779 | DECLSPEC_XFGVIRT(ID3D12Device3, EnqueueMakeResident) | ||
| 28780 | HRESULT ( STDMETHODCALLTYPE *EnqueueMakeResident )( | ||
| 28781 | ID3D12Device14 * This, | ||
| 28782 | D3D12_RESIDENCY_FLAGS Flags, | ||
| 28783 | UINT NumObjects, | ||
| 28784 | _In_reads_(NumObjects) ID3D12Pageable *const *ppObjects, | ||
| 28785 | _In_ ID3D12Fence *pFenceToSignal, | ||
| 28786 | UINT64 FenceValueToSignal); | ||
| 28787 | |||
| 28788 | DECLSPEC_XFGVIRT(ID3D12Device4, CreateCommandList1) | ||
| 28789 | HRESULT ( STDMETHODCALLTYPE *CreateCommandList1 )( | ||
| 28790 | ID3D12Device14 * This, | ||
| 28791 | _In_ UINT nodeMask, | ||
| 28792 | _In_ D3D12_COMMAND_LIST_TYPE type, | ||
| 28793 | _In_ D3D12_COMMAND_LIST_FLAGS flags, | ||
| 28794 | REFIID riid, | ||
| 28795 | _COM_Outptr_ void **ppCommandList); | ||
| 28796 | |||
| 28797 | DECLSPEC_XFGVIRT(ID3D12Device4, CreateProtectedResourceSession) | ||
| 28798 | HRESULT ( STDMETHODCALLTYPE *CreateProtectedResourceSession )( | ||
| 28799 | ID3D12Device14 * This, | ||
| 28800 | _In_ const D3D12_PROTECTED_RESOURCE_SESSION_DESC *pDesc, | ||
| 28801 | _In_ REFIID riid, | ||
| 28802 | _COM_Outptr_ void **ppSession); | ||
| 28803 | |||
| 28804 | DECLSPEC_XFGVIRT(ID3D12Device4, CreateCommittedResource1) | ||
| 28805 | HRESULT ( STDMETHODCALLTYPE *CreateCommittedResource1 )( | ||
| 28806 | ID3D12Device14 * This, | ||
| 28807 | _In_ const D3D12_HEAP_PROPERTIES *pHeapProperties, | ||
| 28808 | D3D12_HEAP_FLAGS HeapFlags, | ||
| 28809 | _In_ const D3D12_RESOURCE_DESC *pDesc, | ||
| 28810 | D3D12_RESOURCE_STATES InitialResourceState, | ||
| 28811 | _In_opt_ const D3D12_CLEAR_VALUE *pOptimizedClearValue, | ||
| 28812 | _In_opt_ ID3D12ProtectedResourceSession *pProtectedSession, | ||
| 28813 | REFIID riidResource, | ||
| 28814 | _COM_Outptr_opt_ void **ppvResource); | ||
| 28815 | |||
| 28816 | DECLSPEC_XFGVIRT(ID3D12Device4, CreateHeap1) | ||
| 28817 | HRESULT ( STDMETHODCALLTYPE *CreateHeap1 )( | ||
| 28818 | ID3D12Device14 * This, | ||
| 28819 | _In_ const D3D12_HEAP_DESC *pDesc, | ||
| 28820 | _In_opt_ ID3D12ProtectedResourceSession *pProtectedSession, | ||
| 28821 | REFIID riid, | ||
| 28822 | _COM_Outptr_opt_ void **ppvHeap); | ||
| 28823 | |||
| 28824 | DECLSPEC_XFGVIRT(ID3D12Device4, CreateReservedResource1) | ||
| 28825 | HRESULT ( STDMETHODCALLTYPE *CreateReservedResource1 )( | ||
| 28826 | ID3D12Device14 * This, | ||
| 28827 | _In_ const D3D12_RESOURCE_DESC *pDesc, | ||
| 28828 | D3D12_RESOURCE_STATES InitialState, | ||
| 28829 | _In_opt_ const D3D12_CLEAR_VALUE *pOptimizedClearValue, | ||
| 28830 | _In_opt_ ID3D12ProtectedResourceSession *pProtectedSession, | ||
| 28831 | REFIID riid, | ||
| 28832 | _COM_Outptr_opt_ void **ppvResource); | ||
| 28833 | |||
| 28834 | DECLSPEC_XFGVIRT(ID3D12Device4, GetResourceAllocationInfo1) | ||
| 28835 | #if !defined(_WIN32) | ||
| 28836 | D3D12_RESOURCE_ALLOCATION_INFO ( STDMETHODCALLTYPE *GetResourceAllocationInfo1 )( | ||
| 28837 | ID3D12Device14 * This, | ||
| 28838 | UINT visibleMask, | ||
| 28839 | UINT numResourceDescs, | ||
| 28840 | _In_reads_(numResourceDescs) const D3D12_RESOURCE_DESC *pResourceDescs, | ||
| 28841 | _Out_writes_opt_(numResourceDescs) D3D12_RESOURCE_ALLOCATION_INFO1 *pResourceAllocationInfo1); | ||
| 28842 | |||
| 28843 | #else | ||
| 28844 | D3D12_RESOURCE_ALLOCATION_INFO *( STDMETHODCALLTYPE *GetResourceAllocationInfo1 )( | ||
| 28845 | ID3D12Device14 * This, | ||
| 28846 | D3D12_RESOURCE_ALLOCATION_INFO * RetVal, | ||
| 28847 | UINT visibleMask, | ||
| 28848 | UINT numResourceDescs, | ||
| 28849 | _In_reads_(numResourceDescs) const D3D12_RESOURCE_DESC *pResourceDescs, | ||
| 28850 | _Out_writes_opt_(numResourceDescs) D3D12_RESOURCE_ALLOCATION_INFO1 *pResourceAllocationInfo1); | ||
| 28851 | |||
| 28852 | #endif | ||
| 28853 | |||
| 28854 | DECLSPEC_XFGVIRT(ID3D12Device5, CreateLifetimeTracker) | ||
| 28855 | HRESULT ( STDMETHODCALLTYPE *CreateLifetimeTracker )( | ||
| 28856 | ID3D12Device14 * This, | ||
| 28857 | _In_ ID3D12LifetimeOwner *pOwner, | ||
| 28858 | REFIID riid, | ||
| 28859 | _COM_Outptr_ void **ppvTracker); | ||
| 28860 | |||
| 28861 | DECLSPEC_XFGVIRT(ID3D12Device5, RemoveDevice) | ||
| 28862 | void ( STDMETHODCALLTYPE *RemoveDevice )( | ||
| 28863 | ID3D12Device14 * This); | ||
| 28864 | |||
| 28865 | DECLSPEC_XFGVIRT(ID3D12Device5, EnumerateMetaCommands) | ||
| 28866 | HRESULT ( STDMETHODCALLTYPE *EnumerateMetaCommands )( | ||
| 28867 | ID3D12Device14 * This, | ||
| 28868 | _Inout_ UINT *pNumMetaCommands, | ||
| 28869 | _Out_writes_opt_(*pNumMetaCommands) D3D12_META_COMMAND_DESC *pDescs); | ||
| 28870 | |||
| 28871 | DECLSPEC_XFGVIRT(ID3D12Device5, EnumerateMetaCommandParameters) | ||
| 28872 | HRESULT ( STDMETHODCALLTYPE *EnumerateMetaCommandParameters )( | ||
| 28873 | ID3D12Device14 * This, | ||
| 28874 | _In_ REFGUID CommandId, | ||
| 28875 | _In_ D3D12_META_COMMAND_PARAMETER_STAGE Stage, | ||
| 28876 | _Out_opt_ UINT *pTotalStructureSizeInBytes, | ||
| 28877 | _Inout_ UINT *pParameterCount, | ||
| 28878 | _Out_writes_opt_(*pParameterCount) D3D12_META_COMMAND_PARAMETER_DESC *pParameterDescs); | ||
| 28879 | |||
| 28880 | DECLSPEC_XFGVIRT(ID3D12Device5, CreateMetaCommand) | ||
| 28881 | HRESULT ( STDMETHODCALLTYPE *CreateMetaCommand )( | ||
| 28882 | ID3D12Device14 * This, | ||
| 28883 | _In_ REFGUID CommandId, | ||
| 28884 | _In_ UINT NodeMask, | ||
| 28885 | _In_reads_bytes_opt_(CreationParametersDataSizeInBytes) const void *pCreationParametersData, | ||
| 28886 | _In_ SIZE_T CreationParametersDataSizeInBytes, | ||
| 28887 | REFIID riid, | ||
| 28888 | _COM_Outptr_ void **ppMetaCommand); | ||
| 28889 | |||
| 28890 | DECLSPEC_XFGVIRT(ID3D12Device5, CreateStateObject) | ||
| 28891 | HRESULT ( STDMETHODCALLTYPE *CreateStateObject )( | ||
| 28892 | ID3D12Device14 * This, | ||
| 28893 | const D3D12_STATE_OBJECT_DESC *pDesc, | ||
| 28894 | REFIID riid, | ||
| 28895 | _COM_Outptr_ void **ppStateObject); | ||
| 28896 | |||
| 28897 | DECLSPEC_XFGVIRT(ID3D12Device5, GetRaytracingAccelerationStructurePrebuildInfo) | ||
| 28898 | void ( STDMETHODCALLTYPE *GetRaytracingAccelerationStructurePrebuildInfo )( | ||
| 28899 | ID3D12Device14 * This, | ||
| 28900 | _In_ const D3D12_BUILD_RAYTRACING_ACCELERATION_STRUCTURE_INPUTS *pDesc, | ||
| 28901 | _Out_ D3D12_RAYTRACING_ACCELERATION_STRUCTURE_PREBUILD_INFO *pInfo); | ||
| 28902 | |||
| 28903 | DECLSPEC_XFGVIRT(ID3D12Device5, CheckDriverMatchingIdentifier) | ||
| 28904 | D3D12_DRIVER_MATCHING_IDENTIFIER_STATUS ( STDMETHODCALLTYPE *CheckDriverMatchingIdentifier )( | ||
| 28905 | ID3D12Device14 * This, | ||
| 28906 | _In_ D3D12_SERIALIZED_DATA_TYPE SerializedDataType, | ||
| 28907 | _In_ const D3D12_SERIALIZED_DATA_DRIVER_MATCHING_IDENTIFIER *pIdentifierToCheck); | ||
| 28908 | |||
| 28909 | DECLSPEC_XFGVIRT(ID3D12Device6, SetBackgroundProcessingMode) | ||
| 28910 | HRESULT ( STDMETHODCALLTYPE *SetBackgroundProcessingMode )( | ||
| 28911 | ID3D12Device14 * This, | ||
| 28912 | D3D12_BACKGROUND_PROCESSING_MODE Mode, | ||
| 28913 | D3D12_MEASUREMENTS_ACTION MeasurementsAction, | ||
| 28914 | _In_opt_ HANDLE hEventToSignalUponCompletion, | ||
| 28915 | _Out_opt_ BOOL *pbFurtherMeasurementsDesired); | ||
| 28916 | |||
| 28917 | DECLSPEC_XFGVIRT(ID3D12Device7, AddToStateObject) | ||
| 28918 | HRESULT ( STDMETHODCALLTYPE *AddToStateObject )( | ||
| 28919 | ID3D12Device14 * This, | ||
| 28920 | const D3D12_STATE_OBJECT_DESC *pAddition, | ||
| 28921 | ID3D12StateObject *pStateObjectToGrowFrom, | ||
| 28922 | REFIID riid, | ||
| 28923 | _COM_Outptr_ void **ppNewStateObject); | ||
| 28924 | |||
| 28925 | DECLSPEC_XFGVIRT(ID3D12Device7, CreateProtectedResourceSession1) | ||
| 28926 | HRESULT ( STDMETHODCALLTYPE *CreateProtectedResourceSession1 )( | ||
| 28927 | ID3D12Device14 * This, | ||
| 28928 | _In_ const D3D12_PROTECTED_RESOURCE_SESSION_DESC1 *pDesc, | ||
| 28929 | _In_ REFIID riid, | ||
| 28930 | _COM_Outptr_ void **ppSession); | ||
| 28931 | |||
| 28932 | DECLSPEC_XFGVIRT(ID3D12Device8, GetResourceAllocationInfo2) | ||
| 28933 | #if !defined(_WIN32) | ||
| 28934 | D3D12_RESOURCE_ALLOCATION_INFO ( STDMETHODCALLTYPE *GetResourceAllocationInfo2 )( | ||
| 28935 | ID3D12Device14 * This, | ||
| 28936 | UINT visibleMask, | ||
| 28937 | UINT numResourceDescs, | ||
| 28938 | _In_reads_(numResourceDescs) const D3D12_RESOURCE_DESC1 *pResourceDescs, | ||
| 28939 | _Out_writes_opt_(numResourceDescs) D3D12_RESOURCE_ALLOCATION_INFO1 *pResourceAllocationInfo1); | ||
| 28940 | |||
| 28941 | #else | ||
| 28942 | D3D12_RESOURCE_ALLOCATION_INFO *( STDMETHODCALLTYPE *GetResourceAllocationInfo2 )( | ||
| 28943 | ID3D12Device14 * This, | ||
| 28944 | D3D12_RESOURCE_ALLOCATION_INFO * RetVal, | ||
| 28945 | UINT visibleMask, | ||
| 28946 | UINT numResourceDescs, | ||
| 28947 | _In_reads_(numResourceDescs) const D3D12_RESOURCE_DESC1 *pResourceDescs, | ||
| 28948 | _Out_writes_opt_(numResourceDescs) D3D12_RESOURCE_ALLOCATION_INFO1 *pResourceAllocationInfo1); | ||
| 28949 | |||
| 28950 | #endif | ||
| 28951 | |||
| 28952 | DECLSPEC_XFGVIRT(ID3D12Device8, CreateCommittedResource2) | ||
| 28953 | HRESULT ( STDMETHODCALLTYPE *CreateCommittedResource2 )( | ||
| 28954 | ID3D12Device14 * This, | ||
| 28955 | _In_ const D3D12_HEAP_PROPERTIES *pHeapProperties, | ||
| 28956 | D3D12_HEAP_FLAGS HeapFlags, | ||
| 28957 | _In_ const D3D12_RESOURCE_DESC1 *pDesc, | ||
| 28958 | D3D12_RESOURCE_STATES InitialResourceState, | ||
| 28959 | _In_opt_ const D3D12_CLEAR_VALUE *pOptimizedClearValue, | ||
| 28960 | _In_opt_ ID3D12ProtectedResourceSession *pProtectedSession, | ||
| 28961 | REFIID riidResource, | ||
| 28962 | _COM_Outptr_opt_ void **ppvResource); | ||
| 28963 | |||
| 28964 | DECLSPEC_XFGVIRT(ID3D12Device8, CreatePlacedResource1) | ||
| 28965 | HRESULT ( STDMETHODCALLTYPE *CreatePlacedResource1 )( | ||
| 28966 | ID3D12Device14 * This, | ||
| 28967 | _In_ ID3D12Heap *pHeap, | ||
| 28968 | UINT64 HeapOffset, | ||
| 28969 | _In_ const D3D12_RESOURCE_DESC1 *pDesc, | ||
| 28970 | D3D12_RESOURCE_STATES InitialState, | ||
| 28971 | _In_opt_ const D3D12_CLEAR_VALUE *pOptimizedClearValue, | ||
| 28972 | REFIID riid, | ||
| 28973 | _COM_Outptr_opt_ void **ppvResource); | ||
| 28974 | |||
| 28975 | DECLSPEC_XFGVIRT(ID3D12Device8, CreateSamplerFeedbackUnorderedAccessView) | ||
| 28976 | void ( STDMETHODCALLTYPE *CreateSamplerFeedbackUnorderedAccessView )( | ||
| 28977 | ID3D12Device14 * This, | ||
| 28978 | _In_opt_ ID3D12Resource *pTargetedResource, | ||
| 28979 | _In_opt_ ID3D12Resource *pFeedbackResource, | ||
| 28980 | _In_ D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor); | ||
| 28981 | |||
| 28982 | DECLSPEC_XFGVIRT(ID3D12Device8, GetCopyableFootprints1) | ||
| 28983 | void ( STDMETHODCALLTYPE *GetCopyableFootprints1 )( | ||
| 28984 | ID3D12Device14 * This, | ||
| 28985 | _In_ const D3D12_RESOURCE_DESC1 *pResourceDesc, | ||
| 28986 | _In_range_(0,D3D12_REQ_SUBRESOURCES) UINT FirstSubresource, | ||
| 28987 | _In_range_(0,D3D12_REQ_SUBRESOURCES-FirstSubresource) UINT NumSubresources, | ||
| 28988 | UINT64 BaseOffset, | ||
| 28989 | _Out_writes_opt_(NumSubresources) D3D12_PLACED_SUBRESOURCE_FOOTPRINT *pLayouts, | ||
| 28990 | _Out_writes_opt_(NumSubresources) UINT *pNumRows, | ||
| 28991 | _Out_writes_opt_(NumSubresources) UINT64 *pRowSizeInBytes, | ||
| 28992 | _Out_opt_ UINT64 *pTotalBytes); | ||
| 28993 | |||
| 28994 | DECLSPEC_XFGVIRT(ID3D12Device9, CreateShaderCacheSession) | ||
| 28995 | HRESULT ( STDMETHODCALLTYPE *CreateShaderCacheSession )( | ||
| 28996 | ID3D12Device14 * This, | ||
| 28997 | _In_ const D3D12_SHADER_CACHE_SESSION_DESC *pDesc, | ||
| 28998 | REFIID riid, | ||
| 28999 | _COM_Outptr_opt_ void **ppvSession); | ||
| 29000 | |||
| 29001 | DECLSPEC_XFGVIRT(ID3D12Device9, ShaderCacheControl) | ||
| 29002 | HRESULT ( STDMETHODCALLTYPE *ShaderCacheControl )( | ||
| 29003 | ID3D12Device14 * This, | ||
| 29004 | D3D12_SHADER_CACHE_KIND_FLAGS Kinds, | ||
| 29005 | D3D12_SHADER_CACHE_CONTROL_FLAGS Control); | ||
| 29006 | |||
| 29007 | DECLSPEC_XFGVIRT(ID3D12Device9, CreateCommandQueue1) | ||
| 29008 | HRESULT ( STDMETHODCALLTYPE *CreateCommandQueue1 )( | ||
| 29009 | ID3D12Device14 * This, | ||
| 29010 | _In_ const D3D12_COMMAND_QUEUE_DESC *pDesc, | ||
| 29011 | REFIID CreatorID, | ||
| 29012 | REFIID riid, | ||
| 29013 | _COM_Outptr_ void **ppCommandQueue); | ||
| 29014 | |||
| 29015 | DECLSPEC_XFGVIRT(ID3D12Device10, CreateCommittedResource3) | ||
| 29016 | HRESULT ( STDMETHODCALLTYPE *CreateCommittedResource3 )( | ||
| 29017 | ID3D12Device14 * This, | ||
| 29018 | _In_ const D3D12_HEAP_PROPERTIES *pHeapProperties, | ||
| 29019 | D3D12_HEAP_FLAGS HeapFlags, | ||
| 29020 | _In_ const D3D12_RESOURCE_DESC1 *pDesc, | ||
| 29021 | D3D12_BARRIER_LAYOUT InitialLayout, | ||
| 29022 | _In_opt_ const D3D12_CLEAR_VALUE *pOptimizedClearValue, | ||
| 29023 | _In_opt_ ID3D12ProtectedResourceSession *pProtectedSession, | ||
| 29024 | UINT32 NumCastableFormats, | ||
| 29025 | _In_opt_count_(NumCastableFormats) const DXGI_FORMAT *pCastableFormats, | ||
| 29026 | REFIID riidResource, | ||
| 29027 | _COM_Outptr_opt_ void **ppvResource); | ||
| 29028 | |||
| 29029 | DECLSPEC_XFGVIRT(ID3D12Device10, CreatePlacedResource2) | ||
| 29030 | HRESULT ( STDMETHODCALLTYPE *CreatePlacedResource2 )( | ||
| 29031 | ID3D12Device14 * This, | ||
| 29032 | _In_ ID3D12Heap *pHeap, | ||
| 29033 | UINT64 HeapOffset, | ||
| 29034 | _In_ const D3D12_RESOURCE_DESC1 *pDesc, | ||
| 29035 | D3D12_BARRIER_LAYOUT InitialLayout, | ||
| 29036 | _In_opt_ const D3D12_CLEAR_VALUE *pOptimizedClearValue, | ||
| 29037 | UINT32 NumCastableFormats, | ||
| 29038 | _In_opt_count_(NumCastableFormats) const DXGI_FORMAT *pCastableFormats, | ||
| 29039 | REFIID riid, | ||
| 29040 | _COM_Outptr_opt_ void **ppvResource); | ||
| 29041 | |||
| 29042 | DECLSPEC_XFGVIRT(ID3D12Device10, CreateReservedResource2) | ||
| 29043 | HRESULT ( STDMETHODCALLTYPE *CreateReservedResource2 )( | ||
| 29044 | ID3D12Device14 * This, | ||
| 29045 | _In_ const D3D12_RESOURCE_DESC *pDesc, | ||
| 29046 | D3D12_BARRIER_LAYOUT InitialLayout, | ||
| 29047 | _In_opt_ const D3D12_CLEAR_VALUE *pOptimizedClearValue, | ||
| 29048 | _In_opt_ ID3D12ProtectedResourceSession *pProtectedSession, | ||
| 29049 | UINT32 NumCastableFormats, | ||
| 29050 | _In_opt_count_(NumCastableFormats) const DXGI_FORMAT *pCastableFormats, | ||
| 29051 | REFIID riid, | ||
| 29052 | _COM_Outptr_opt_ void **ppvResource); | ||
| 29053 | |||
| 29054 | DECLSPEC_XFGVIRT(ID3D12Device11, CreateSampler2) | ||
| 29055 | void ( STDMETHODCALLTYPE *CreateSampler2 )( | ||
| 29056 | ID3D12Device14 * This, | ||
| 29057 | _In_ const D3D12_SAMPLER_DESC2 *pDesc, | ||
| 29058 | _In_ D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor); | ||
| 29059 | |||
| 29060 | DECLSPEC_XFGVIRT(ID3D12Device12, GetResourceAllocationInfo3) | ||
| 29061 | #if !defined(_WIN32) | ||
| 29062 | D3D12_RESOURCE_ALLOCATION_INFO ( STDMETHODCALLTYPE *GetResourceAllocationInfo3 )( | ||
| 29063 | ID3D12Device14 * This, | ||
| 29064 | UINT visibleMask, | ||
| 29065 | UINT numResourceDescs, | ||
| 29066 | _In_reads_(numResourceDescs) const D3D12_RESOURCE_DESC1 *pResourceDescs, | ||
| 29067 | _In_opt_count_(numResourceDescs) const UINT32 *pNumCastableFormats, | ||
| 29068 | _In_opt_count_(numResourceDescs) const DXGI_FORMAT *const *ppCastableFormats, | ||
| 29069 | _Out_writes_opt_(numResourceDescs) D3D12_RESOURCE_ALLOCATION_INFO1 *pResourceAllocationInfo1); | ||
| 29070 | |||
| 29071 | #else | ||
| 29072 | D3D12_RESOURCE_ALLOCATION_INFO *( STDMETHODCALLTYPE *GetResourceAllocationInfo3 )( | ||
| 29073 | ID3D12Device14 * This, | ||
| 29074 | D3D12_RESOURCE_ALLOCATION_INFO * RetVal, | ||
| 29075 | UINT visibleMask, | ||
| 29076 | UINT numResourceDescs, | ||
| 29077 | _In_reads_(numResourceDescs) const D3D12_RESOURCE_DESC1 *pResourceDescs, | ||
| 29078 | _In_opt_count_(numResourceDescs) const UINT32 *pNumCastableFormats, | ||
| 29079 | _In_opt_count_(numResourceDescs) const DXGI_FORMAT *const *ppCastableFormats, | ||
| 29080 | _Out_writes_opt_(numResourceDescs) D3D12_RESOURCE_ALLOCATION_INFO1 *pResourceAllocationInfo1); | ||
| 29081 | |||
| 29082 | #endif | ||
| 29083 | |||
| 29084 | DECLSPEC_XFGVIRT(ID3D12Device13, OpenExistingHeapFromAddress1) | ||
| 29085 | HRESULT ( STDMETHODCALLTYPE *OpenExistingHeapFromAddress1 )( | ||
| 29086 | ID3D12Device14 * This, | ||
| 29087 | _In_ const void *pAddress, | ||
| 29088 | SIZE_T size, | ||
| 29089 | REFIID riid, | ||
| 29090 | _COM_Outptr_ void **ppvHeap); | ||
| 29091 | |||
| 29092 | DECLSPEC_XFGVIRT(ID3D12Device14, CreateRootSignatureFromSubobjectInLibrary) | ||
| 29093 | HRESULT ( STDMETHODCALLTYPE *CreateRootSignatureFromSubobjectInLibrary )( | ||
| 29094 | ID3D12Device14 * This, | ||
| 29095 | _In_ UINT nodeMask, | ||
| 29096 | _In_reads_(blobLengthInBytes) const void *pLibraryBlob, | ||
| 29097 | _In_ SIZE_T blobLengthInBytes, | ||
| 29098 | _In_opt_ LPCWSTR subobjectName, | ||
| 29099 | REFIID riid, | ||
| 29100 | _COM_Outptr_ void **ppvRootSignature); | ||
| 29101 | |||
| 29102 | END_INTERFACE | ||
| 29103 | } ID3D12Device14Vtbl; | ||
| 29104 | |||
| 29105 | interface ID3D12Device14 | ||
| 29106 | { | ||
| 29107 | CONST_VTBL struct ID3D12Device14Vtbl *lpVtbl; | ||
| 29108 | }; | ||
| 29109 | |||
| 29110 | |||
| 29111 | |||
| 29112 | #ifdef COBJMACROS | ||
| 29113 | |||
| 29114 | |||
| 29115 | #define ID3D12Device14_QueryInterface(This,riid,ppvObject) \ | ||
| 29116 | ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) | ||
| 29117 | |||
| 29118 | #define ID3D12Device14_AddRef(This) \ | ||
| 29119 | ( (This)->lpVtbl -> AddRef(This) ) | ||
| 29120 | |||
| 29121 | #define ID3D12Device14_Release(This) \ | ||
| 29122 | ( (This)->lpVtbl -> Release(This) ) | ||
| 29123 | |||
| 29124 | |||
| 29125 | #define ID3D12Device14_GetPrivateData(This,guid,pDataSize,pData) \ | ||
| 29126 | ( (This)->lpVtbl -> GetPrivateData(This,guid,pDataSize,pData) ) | ||
| 29127 | |||
| 29128 | #define ID3D12Device14_SetPrivateData(This,guid,DataSize,pData) \ | ||
| 29129 | ( (This)->lpVtbl -> SetPrivateData(This,guid,DataSize,pData) ) | ||
| 29130 | |||
| 29131 | #define ID3D12Device14_SetPrivateDataInterface(This,guid,pData) \ | ||
| 29132 | ( (This)->lpVtbl -> SetPrivateDataInterface(This,guid,pData) ) | ||
| 29133 | |||
| 29134 | #define ID3D12Device14_SetName(This,Name) \ | ||
| 29135 | ( (This)->lpVtbl -> SetName(This,Name) ) | ||
| 29136 | |||
| 29137 | |||
| 29138 | #define ID3D12Device14_GetNodeCount(This) \ | ||
| 29139 | ( (This)->lpVtbl -> GetNodeCount(This) ) | ||
| 29140 | |||
| 29141 | #define ID3D12Device14_CreateCommandQueue(This,pDesc,riid,ppCommandQueue) \ | ||
| 29142 | ( (This)->lpVtbl -> CreateCommandQueue(This,pDesc,riid,ppCommandQueue) ) | ||
| 29143 | |||
| 29144 | #define ID3D12Device14_CreateCommandAllocator(This,type,riid,ppCommandAllocator) \ | ||
| 29145 | ( (This)->lpVtbl -> CreateCommandAllocator(This,type,riid,ppCommandAllocator) ) | ||
| 29146 | |||
| 29147 | #define ID3D12Device14_CreateGraphicsPipelineState(This,pDesc,riid,ppPipelineState) \ | ||
| 29148 | ( (This)->lpVtbl -> CreateGraphicsPipelineState(This,pDesc,riid,ppPipelineState) ) | ||
| 29149 | |||
| 29150 | #define ID3D12Device14_CreateComputePipelineState(This,pDesc,riid,ppPipelineState) \ | ||
| 29151 | ( (This)->lpVtbl -> CreateComputePipelineState(This,pDesc,riid,ppPipelineState) ) | ||
| 29152 | |||
| 29153 | #define ID3D12Device14_CreateCommandList(This,nodeMask,type,pCommandAllocator,pInitialState,riid,ppCommandList) \ | ||
| 29154 | ( (This)->lpVtbl -> CreateCommandList(This,nodeMask,type,pCommandAllocator,pInitialState,riid,ppCommandList) ) | ||
| 29155 | |||
| 29156 | #define ID3D12Device14_CheckFeatureSupport(This,Feature,pFeatureSupportData,FeatureSupportDataSize) \ | ||
| 29157 | ( (This)->lpVtbl -> CheckFeatureSupport(This,Feature,pFeatureSupportData,FeatureSupportDataSize) ) | ||
| 29158 | |||
| 29159 | #define ID3D12Device14_CreateDescriptorHeap(This,pDescriptorHeapDesc,riid,ppvHeap) \ | ||
| 29160 | ( (This)->lpVtbl -> CreateDescriptorHeap(This,pDescriptorHeapDesc,riid,ppvHeap) ) | ||
| 29161 | |||
| 29162 | #define ID3D12Device14_GetDescriptorHandleIncrementSize(This,DescriptorHeapType) \ | ||
| 29163 | ( (This)->lpVtbl -> GetDescriptorHandleIncrementSize(This,DescriptorHeapType) ) | ||
| 29164 | |||
| 29165 | #define ID3D12Device14_CreateRootSignature(This,nodeMask,pBlobWithRootSignature,blobLengthInBytes,riid,ppvRootSignature) \ | ||
| 29166 | ( (This)->lpVtbl -> CreateRootSignature(This,nodeMask,pBlobWithRootSignature,blobLengthInBytes,riid,ppvRootSignature) ) | ||
| 29167 | |||
| 29168 | #define ID3D12Device14_CreateConstantBufferView(This,pDesc,DestDescriptor) \ | ||
| 29169 | ( (This)->lpVtbl -> CreateConstantBufferView(This,pDesc,DestDescriptor) ) | ||
| 29170 | |||
| 29171 | #define ID3D12Device14_CreateShaderResourceView(This,pResource,pDesc,DestDescriptor) \ | ||
| 29172 | ( (This)->lpVtbl -> CreateShaderResourceView(This,pResource,pDesc,DestDescriptor) ) | ||
| 29173 | |||
| 29174 | #define ID3D12Device14_CreateUnorderedAccessView(This,pResource,pCounterResource,pDesc,DestDescriptor) \ | ||
| 29175 | ( (This)->lpVtbl -> CreateUnorderedAccessView(This,pResource,pCounterResource,pDesc,DestDescriptor) ) | ||
| 29176 | |||
| 29177 | #define ID3D12Device14_CreateRenderTargetView(This,pResource,pDesc,DestDescriptor) \ | ||
| 29178 | ( (This)->lpVtbl -> CreateRenderTargetView(This,pResource,pDesc,DestDescriptor) ) | ||
| 29179 | |||
| 29180 | #define ID3D12Device14_CreateDepthStencilView(This,pResource,pDesc,DestDescriptor) \ | ||
| 29181 | ( (This)->lpVtbl -> CreateDepthStencilView(This,pResource,pDesc,DestDescriptor) ) | ||
| 29182 | |||
| 29183 | #define ID3D12Device14_CreateSampler(This,pDesc,DestDescriptor) \ | ||
| 29184 | ( (This)->lpVtbl -> CreateSampler(This,pDesc,DestDescriptor) ) | ||
| 29185 | |||
| 29186 | #define ID3D12Device14_CopyDescriptors(This,NumDestDescriptorRanges,pDestDescriptorRangeStarts,pDestDescriptorRangeSizes,NumSrcDescriptorRanges,pSrcDescriptorRangeStarts,pSrcDescriptorRangeSizes,DescriptorHeapsType) \ | ||
| 29187 | ( (This)->lpVtbl -> CopyDescriptors(This,NumDestDescriptorRanges,pDestDescriptorRangeStarts,pDestDescriptorRangeSizes,NumSrcDescriptorRanges,pSrcDescriptorRangeStarts,pSrcDescriptorRangeSizes,DescriptorHeapsType) ) | ||
| 29188 | |||
| 29189 | #define ID3D12Device14_CopyDescriptorsSimple(This,NumDescriptors,DestDescriptorRangeStart,SrcDescriptorRangeStart,DescriptorHeapsType) \ | ||
| 29190 | ( (This)->lpVtbl -> CopyDescriptorsSimple(This,NumDescriptors,DestDescriptorRangeStart,SrcDescriptorRangeStart,DescriptorHeapsType) ) | ||
| 29191 | #if !defined(_WIN32) | ||
| 29192 | |||
| 29193 | #define ID3D12Device14_GetResourceAllocationInfo(This,visibleMask,numResourceDescs,pResourceDescs) \ | ||
| 29194 | ( (This)->lpVtbl -> GetResourceAllocationInfo(This,visibleMask,numResourceDescs,pResourceDescs) ) | ||
| 29195 | #else | ||
| 29196 | #define ID3D12Device14_GetResourceAllocationInfo(This,RetVal,visibleMask,numResourceDescs,pResourceDescs) \ | ||
| 29197 | ( (This)->lpVtbl -> GetResourceAllocationInfo(This,RetVal,visibleMask,numResourceDescs,pResourceDescs) ) | ||
| 29198 | #endif | ||
| 29199 | #if !defined(_WIN32) | ||
| 29200 | |||
| 29201 | #define ID3D12Device14_GetCustomHeapProperties(This,nodeMask,heapType) \ | ||
| 29202 | ( (This)->lpVtbl -> GetCustomHeapProperties(This,nodeMask,heapType) ) | ||
| 29203 | #else | ||
| 29204 | #define ID3D12Device14_GetCustomHeapProperties(This,RetVal,nodeMask,heapType) \ | ||
| 29205 | ( (This)->lpVtbl -> GetCustomHeapProperties(This,RetVal,nodeMask,heapType) ) | ||
| 29206 | #endif | ||
| 29207 | |||
| 29208 | #define ID3D12Device14_CreateCommittedResource(This,pHeapProperties,HeapFlags,pDesc,InitialResourceState,pOptimizedClearValue,riidResource,ppvResource) \ | ||
| 29209 | ( (This)->lpVtbl -> CreateCommittedResource(This,pHeapProperties,HeapFlags,pDesc,InitialResourceState,pOptimizedClearValue,riidResource,ppvResource) ) | ||
| 29210 | |||
| 29211 | #define ID3D12Device14_CreateHeap(This,pDesc,riid,ppvHeap) \ | ||
| 29212 | ( (This)->lpVtbl -> CreateHeap(This,pDesc,riid,ppvHeap) ) | ||
| 29213 | |||
| 29214 | #define ID3D12Device14_CreatePlacedResource(This,pHeap,HeapOffset,pDesc,InitialState,pOptimizedClearValue,riid,ppvResource) \ | ||
| 29215 | ( (This)->lpVtbl -> CreatePlacedResource(This,pHeap,HeapOffset,pDesc,InitialState,pOptimizedClearValue,riid,ppvResource) ) | ||
| 29216 | |||
| 29217 | #define ID3D12Device14_CreateReservedResource(This,pDesc,InitialState,pOptimizedClearValue,riid,ppvResource) \ | ||
| 29218 | ( (This)->lpVtbl -> CreateReservedResource(This,pDesc,InitialState,pOptimizedClearValue,riid,ppvResource) ) | ||
| 29219 | |||
| 29220 | #define ID3D12Device14_CreateSharedHandle(This,pObject,pAttributes,Access,Name,pHandle) \ | ||
| 29221 | ( (This)->lpVtbl -> CreateSharedHandle(This,pObject,pAttributes,Access,Name,pHandle) ) | ||
| 29222 | |||
| 29223 | #define ID3D12Device14_OpenSharedHandle(This,NTHandle,riid,ppvObj) \ | ||
| 29224 | ( (This)->lpVtbl -> OpenSharedHandle(This,NTHandle,riid,ppvObj) ) | ||
| 29225 | |||
| 29226 | #define ID3D12Device14_OpenSharedHandleByName(This,Name,Access,pNTHandle) \ | ||
| 29227 | ( (This)->lpVtbl -> OpenSharedHandleByName(This,Name,Access,pNTHandle) ) | ||
| 29228 | |||
| 29229 | #define ID3D12Device14_MakeResident(This,NumObjects,ppObjects) \ | ||
| 29230 | ( (This)->lpVtbl -> MakeResident(This,NumObjects,ppObjects) ) | ||
| 29231 | |||
| 29232 | #define ID3D12Device14_Evict(This,NumObjects,ppObjects) \ | ||
| 29233 | ( (This)->lpVtbl -> Evict(This,NumObjects,ppObjects) ) | ||
| 29234 | |||
| 29235 | #define ID3D12Device14_CreateFence(This,InitialValue,Flags,riid,ppFence) \ | ||
| 29236 | ( (This)->lpVtbl -> CreateFence(This,InitialValue,Flags,riid,ppFence) ) | ||
| 29237 | |||
| 29238 | #define ID3D12Device14_GetDeviceRemovedReason(This) \ | ||
| 29239 | ( (This)->lpVtbl -> GetDeviceRemovedReason(This) ) | ||
| 29240 | |||
| 29241 | #define ID3D12Device14_GetCopyableFootprints(This,pResourceDesc,FirstSubresource,NumSubresources,BaseOffset,pLayouts,pNumRows,pRowSizeInBytes,pTotalBytes) \ | ||
| 29242 | ( (This)->lpVtbl -> GetCopyableFootprints(This,pResourceDesc,FirstSubresource,NumSubresources,BaseOffset,pLayouts,pNumRows,pRowSizeInBytes,pTotalBytes) ) | ||
| 29243 | |||
| 29244 | #define ID3D12Device14_CreateQueryHeap(This,pDesc,riid,ppvHeap) \ | ||
| 29245 | ( (This)->lpVtbl -> CreateQueryHeap(This,pDesc,riid,ppvHeap) ) | ||
| 29246 | |||
| 29247 | #define ID3D12Device14_SetStablePowerState(This,Enable) \ | ||
| 29248 | ( (This)->lpVtbl -> SetStablePowerState(This,Enable) ) | ||
| 29249 | |||
| 29250 | #define ID3D12Device14_CreateCommandSignature(This,pDesc,pRootSignature,riid,ppvCommandSignature) \ | ||
| 29251 | ( (This)->lpVtbl -> CreateCommandSignature(This,pDesc,pRootSignature,riid,ppvCommandSignature) ) | ||
| 29252 | |||
| 29253 | #define ID3D12Device14_GetResourceTiling(This,pTiledResource,pNumTilesForEntireResource,pPackedMipDesc,pStandardTileShapeForNonPackedMips,pNumSubresourceTilings,FirstSubresourceTilingToGet,pSubresourceTilingsForNonPackedMips) \ | ||
| 29254 | ( (This)->lpVtbl -> GetResourceTiling(This,pTiledResource,pNumTilesForEntireResource,pPackedMipDesc,pStandardTileShapeForNonPackedMips,pNumSubresourceTilings,FirstSubresourceTilingToGet,pSubresourceTilingsForNonPackedMips) ) | ||
| 29255 | #if !defined(_WIN32) | ||
| 29256 | |||
| 29257 | #define ID3D12Device14_GetAdapterLuid(This) \ | ||
| 29258 | ( (This)->lpVtbl -> GetAdapterLuid(This) ) | ||
| 29259 | #else | ||
| 29260 | #define ID3D12Device14_GetAdapterLuid(This,RetVal) \ | ||
| 29261 | ( (This)->lpVtbl -> GetAdapterLuid(This,RetVal) ) | ||
| 29262 | #endif | ||
| 29263 | |||
| 29264 | |||
| 29265 | #define ID3D12Device14_CreatePipelineLibrary(This,pLibraryBlob,BlobLength,riid,ppPipelineLibrary) \ | ||
| 29266 | ( (This)->lpVtbl -> CreatePipelineLibrary(This,pLibraryBlob,BlobLength,riid,ppPipelineLibrary) ) | ||
| 29267 | |||
| 29268 | #define ID3D12Device14_SetEventOnMultipleFenceCompletion(This,ppFences,pFenceValues,NumFences,Flags,hEvent) \ | ||
| 29269 | ( (This)->lpVtbl -> SetEventOnMultipleFenceCompletion(This,ppFences,pFenceValues,NumFences,Flags,hEvent) ) | ||
| 29270 | |||
| 29271 | #define ID3D12Device14_SetResidencyPriority(This,NumObjects,ppObjects,pPriorities) \ | ||
| 29272 | ( (This)->lpVtbl -> SetResidencyPriority(This,NumObjects,ppObjects,pPriorities) ) | ||
| 29273 | |||
| 29274 | |||
| 29275 | #define ID3D12Device14_CreatePipelineState(This,pDesc,riid,ppPipelineState) \ | ||
| 29276 | ( (This)->lpVtbl -> CreatePipelineState(This,pDesc,riid,ppPipelineState) ) | ||
| 29277 | |||
| 29278 | |||
| 29279 | #define ID3D12Device14_OpenExistingHeapFromAddress(This,pAddress,riid,ppvHeap) \ | ||
| 29280 | ( (This)->lpVtbl -> OpenExistingHeapFromAddress(This,pAddress,riid,ppvHeap) ) | ||
| 29281 | |||
| 29282 | #define ID3D12Device14_OpenExistingHeapFromFileMapping(This,hFileMapping,riid,ppvHeap) \ | ||
| 29283 | ( (This)->lpVtbl -> OpenExistingHeapFromFileMapping(This,hFileMapping,riid,ppvHeap) ) | ||
| 29284 | |||
| 29285 | #define ID3D12Device14_EnqueueMakeResident(This,Flags,NumObjects,ppObjects,pFenceToSignal,FenceValueToSignal) \ | ||
| 29286 | ( (This)->lpVtbl -> EnqueueMakeResident(This,Flags,NumObjects,ppObjects,pFenceToSignal,FenceValueToSignal) ) | ||
| 29287 | |||
| 29288 | |||
| 29289 | #define ID3D12Device14_CreateCommandList1(This,nodeMask,type,flags,riid,ppCommandList) \ | ||
| 29290 | ( (This)->lpVtbl -> CreateCommandList1(This,nodeMask,type,flags,riid,ppCommandList) ) | ||
| 29291 | |||
| 29292 | #define ID3D12Device14_CreateProtectedResourceSession(This,pDesc,riid,ppSession) \ | ||
| 29293 | ( (This)->lpVtbl -> CreateProtectedResourceSession(This,pDesc,riid,ppSession) ) | ||
| 29294 | |||
| 29295 | #define ID3D12Device14_CreateCommittedResource1(This,pHeapProperties,HeapFlags,pDesc,InitialResourceState,pOptimizedClearValue,pProtectedSession,riidResource,ppvResource) \ | ||
| 29296 | ( (This)->lpVtbl -> CreateCommittedResource1(This,pHeapProperties,HeapFlags,pDesc,InitialResourceState,pOptimizedClearValue,pProtectedSession,riidResource,ppvResource) ) | ||
| 29297 | |||
| 29298 | #define ID3D12Device14_CreateHeap1(This,pDesc,pProtectedSession,riid,ppvHeap) \ | ||
| 29299 | ( (This)->lpVtbl -> CreateHeap1(This,pDesc,pProtectedSession,riid,ppvHeap) ) | ||
| 29300 | |||
| 29301 | #define ID3D12Device14_CreateReservedResource1(This,pDesc,InitialState,pOptimizedClearValue,pProtectedSession,riid,ppvResource) \ | ||
| 29302 | ( (This)->lpVtbl -> CreateReservedResource1(This,pDesc,InitialState,pOptimizedClearValue,pProtectedSession,riid,ppvResource) ) | ||
| 29303 | #if !defined(_WIN32) | ||
| 29304 | |||
| 29305 | #define ID3D12Device14_GetResourceAllocationInfo1(This,visibleMask,numResourceDescs,pResourceDescs,pResourceAllocationInfo1) \ | ||
| 29306 | ( (This)->lpVtbl -> GetResourceAllocationInfo1(This,visibleMask,numResourceDescs,pResourceDescs,pResourceAllocationInfo1) ) | ||
| 29307 | #else | ||
| 29308 | #define ID3D12Device14_GetResourceAllocationInfo1(This,RetVal,visibleMask,numResourceDescs,pResourceDescs,pResourceAllocationInfo1) \ | ||
| 29309 | ( (This)->lpVtbl -> GetResourceAllocationInfo1(This,RetVal,visibleMask,numResourceDescs,pResourceDescs,pResourceAllocationInfo1) ) | ||
| 29310 | #endif | ||
| 29311 | |||
| 29312 | |||
| 29313 | #define ID3D12Device14_CreateLifetimeTracker(This,pOwner,riid,ppvTracker) \ | ||
| 29314 | ( (This)->lpVtbl -> CreateLifetimeTracker(This,pOwner,riid,ppvTracker) ) | ||
| 29315 | |||
| 29316 | #define ID3D12Device14_RemoveDevice(This) \ | ||
| 29317 | ( (This)->lpVtbl -> RemoveDevice(This) ) | ||
| 29318 | |||
| 29319 | #define ID3D12Device14_EnumerateMetaCommands(This,pNumMetaCommands,pDescs) \ | ||
| 29320 | ( (This)->lpVtbl -> EnumerateMetaCommands(This,pNumMetaCommands,pDescs) ) | ||
| 29321 | |||
| 29322 | #define ID3D12Device14_EnumerateMetaCommandParameters(This,CommandId,Stage,pTotalStructureSizeInBytes,pParameterCount,pParameterDescs) \ | ||
| 29323 | ( (This)->lpVtbl -> EnumerateMetaCommandParameters(This,CommandId,Stage,pTotalStructureSizeInBytes,pParameterCount,pParameterDescs) ) | ||
| 29324 | |||
| 29325 | #define ID3D12Device14_CreateMetaCommand(This,CommandId,NodeMask,pCreationParametersData,CreationParametersDataSizeInBytes,riid,ppMetaCommand) \ | ||
| 29326 | ( (This)->lpVtbl -> CreateMetaCommand(This,CommandId,NodeMask,pCreationParametersData,CreationParametersDataSizeInBytes,riid,ppMetaCommand) ) | ||
| 29327 | |||
| 29328 | #define ID3D12Device14_CreateStateObject(This,pDesc,riid,ppStateObject) \ | ||
| 29329 | ( (This)->lpVtbl -> CreateStateObject(This,pDesc,riid,ppStateObject) ) | ||
| 29330 | |||
| 29331 | #define ID3D12Device14_GetRaytracingAccelerationStructurePrebuildInfo(This,pDesc,pInfo) \ | ||
| 29332 | ( (This)->lpVtbl -> GetRaytracingAccelerationStructurePrebuildInfo(This,pDesc,pInfo) ) | ||
| 29333 | |||
| 29334 | #define ID3D12Device14_CheckDriverMatchingIdentifier(This,SerializedDataType,pIdentifierToCheck) \ | ||
| 29335 | ( (This)->lpVtbl -> CheckDriverMatchingIdentifier(This,SerializedDataType,pIdentifierToCheck) ) | ||
| 29336 | |||
| 29337 | |||
| 29338 | #define ID3D12Device14_SetBackgroundProcessingMode(This,Mode,MeasurementsAction,hEventToSignalUponCompletion,pbFurtherMeasurementsDesired) \ | ||
| 29339 | ( (This)->lpVtbl -> SetBackgroundProcessingMode(This,Mode,MeasurementsAction,hEventToSignalUponCompletion,pbFurtherMeasurementsDesired) ) | ||
| 29340 | |||
| 29341 | |||
| 29342 | #define ID3D12Device14_AddToStateObject(This,pAddition,pStateObjectToGrowFrom,riid,ppNewStateObject) \ | ||
| 29343 | ( (This)->lpVtbl -> AddToStateObject(This,pAddition,pStateObjectToGrowFrom,riid,ppNewStateObject) ) | ||
| 29344 | |||
| 29345 | #define ID3D12Device14_CreateProtectedResourceSession1(This,pDesc,riid,ppSession) \ | ||
| 29346 | ( (This)->lpVtbl -> CreateProtectedResourceSession1(This,pDesc,riid,ppSession) ) | ||
| 29347 | |||
| 29348 | #if !defined(_WIN32) | ||
| 29349 | |||
| 29350 | #define ID3D12Device14_GetResourceAllocationInfo2(This,visibleMask,numResourceDescs,pResourceDescs,pResourceAllocationInfo1) \ | ||
| 29351 | ( (This)->lpVtbl -> GetResourceAllocationInfo2(This,visibleMask,numResourceDescs,pResourceDescs,pResourceAllocationInfo1) ) | ||
| 29352 | #else | ||
| 29353 | #define ID3D12Device14_GetResourceAllocationInfo2(This,RetVal,visibleMask,numResourceDescs,pResourceDescs,pResourceAllocationInfo1) \ | ||
| 29354 | ( (This)->lpVtbl -> GetResourceAllocationInfo2(This,RetVal,visibleMask,numResourceDescs,pResourceDescs,pResourceAllocationInfo1) ) | ||
| 29355 | #endif | ||
| 29356 | |||
| 29357 | #define ID3D12Device14_CreateCommittedResource2(This,pHeapProperties,HeapFlags,pDesc,InitialResourceState,pOptimizedClearValue,pProtectedSession,riidResource,ppvResource) \ | ||
| 29358 | ( (This)->lpVtbl -> CreateCommittedResource2(This,pHeapProperties,HeapFlags,pDesc,InitialResourceState,pOptimizedClearValue,pProtectedSession,riidResource,ppvResource) ) | ||
| 29359 | |||
| 29360 | #define ID3D12Device14_CreatePlacedResource1(This,pHeap,HeapOffset,pDesc,InitialState,pOptimizedClearValue,riid,ppvResource) \ | ||
| 29361 | ( (This)->lpVtbl -> CreatePlacedResource1(This,pHeap,HeapOffset,pDesc,InitialState,pOptimizedClearValue,riid,ppvResource) ) | ||
| 29362 | |||
| 29363 | #define ID3D12Device14_CreateSamplerFeedbackUnorderedAccessView(This,pTargetedResource,pFeedbackResource,DestDescriptor) \ | ||
| 29364 | ( (This)->lpVtbl -> CreateSamplerFeedbackUnorderedAccessView(This,pTargetedResource,pFeedbackResource,DestDescriptor) ) | ||
| 29365 | |||
| 29366 | #define ID3D12Device14_GetCopyableFootprints1(This,pResourceDesc,FirstSubresource,NumSubresources,BaseOffset,pLayouts,pNumRows,pRowSizeInBytes,pTotalBytes) \ | ||
| 29367 | ( (This)->lpVtbl -> GetCopyableFootprints1(This,pResourceDesc,FirstSubresource,NumSubresources,BaseOffset,pLayouts,pNumRows,pRowSizeInBytes,pTotalBytes) ) | ||
| 29368 | |||
| 29369 | |||
| 29370 | #define ID3D12Device14_CreateShaderCacheSession(This,pDesc,riid,ppvSession) \ | ||
| 29371 | ( (This)->lpVtbl -> CreateShaderCacheSession(This,pDesc,riid,ppvSession) ) | ||
| 29372 | |||
| 29373 | #define ID3D12Device14_ShaderCacheControl(This,Kinds,Control) \ | ||
| 29374 | ( (This)->lpVtbl -> ShaderCacheControl(This,Kinds,Control) ) | ||
| 29375 | |||
| 29376 | #define ID3D12Device14_CreateCommandQueue1(This,pDesc,CreatorID,riid,ppCommandQueue) \ | ||
| 29377 | ( (This)->lpVtbl -> CreateCommandQueue1(This,pDesc,CreatorID,riid,ppCommandQueue) ) | ||
| 29378 | |||
| 29379 | |||
| 29380 | #define ID3D12Device14_CreateCommittedResource3(This,pHeapProperties,HeapFlags,pDesc,InitialLayout,pOptimizedClearValue,pProtectedSession,NumCastableFormats,pCastableFormats,riidResource,ppvResource) \ | ||
| 29381 | ( (This)->lpVtbl -> CreateCommittedResource3(This,pHeapProperties,HeapFlags,pDesc,InitialLayout,pOptimizedClearValue,pProtectedSession,NumCastableFormats,pCastableFormats,riidResource,ppvResource) ) | ||
| 29382 | |||
| 29383 | #define ID3D12Device14_CreatePlacedResource2(This,pHeap,HeapOffset,pDesc,InitialLayout,pOptimizedClearValue,NumCastableFormats,pCastableFormats,riid,ppvResource) \ | ||
| 29384 | ( (This)->lpVtbl -> CreatePlacedResource2(This,pHeap,HeapOffset,pDesc,InitialLayout,pOptimizedClearValue,NumCastableFormats,pCastableFormats,riid,ppvResource) ) | ||
| 29385 | |||
| 29386 | #define ID3D12Device14_CreateReservedResource2(This,pDesc,InitialLayout,pOptimizedClearValue,pProtectedSession,NumCastableFormats,pCastableFormats,riid,ppvResource) \ | ||
| 29387 | ( (This)->lpVtbl -> CreateReservedResource2(This,pDesc,InitialLayout,pOptimizedClearValue,pProtectedSession,NumCastableFormats,pCastableFormats,riid,ppvResource) ) | ||
| 29388 | |||
| 29389 | |||
| 29390 | #define ID3D12Device14_CreateSampler2(This,pDesc,DestDescriptor) \ | ||
| 29391 | ( (This)->lpVtbl -> CreateSampler2(This,pDesc,DestDescriptor) ) | ||
| 29392 | |||
| 29393 | #if !defined(_WIN32) | ||
| 29394 | |||
| 29395 | #define ID3D12Device14_GetResourceAllocationInfo3(This,visibleMask,numResourceDescs,pResourceDescs,pNumCastableFormats,ppCastableFormats,pResourceAllocationInfo1) \ | ||
| 29396 | ( (This)->lpVtbl -> GetResourceAllocationInfo3(This,visibleMask,numResourceDescs,pResourceDescs,pNumCastableFormats,ppCastableFormats,pResourceAllocationInfo1) ) | ||
| 29397 | #else | ||
| 29398 | #define ID3D12Device14_GetResourceAllocationInfo3(This,RetVal,visibleMask,numResourceDescs,pResourceDescs,pNumCastableFormats,ppCastableFormats,pResourceAllocationInfo1) \ | ||
| 29399 | ( (This)->lpVtbl -> GetResourceAllocationInfo3(This,RetVal,visibleMask,numResourceDescs,pResourceDescs,pNumCastableFormats,ppCastableFormats,pResourceAllocationInfo1) ) | ||
| 29400 | #endif | ||
| 29401 | |||
| 29402 | |||
| 29403 | #define ID3D12Device14_OpenExistingHeapFromAddress1(This,pAddress,size,riid,ppvHeap) \ | ||
| 29404 | ( (This)->lpVtbl -> OpenExistingHeapFromAddress1(This,pAddress,size,riid,ppvHeap) ) | ||
| 29405 | |||
| 29406 | |||
| 29407 | #define ID3D12Device14_CreateRootSignatureFromSubobjectInLibrary(This,nodeMask,pLibraryBlob,blobLengthInBytes,subobjectName,riid,ppvRootSignature) \ | ||
| 29408 | ( (This)->lpVtbl -> CreateRootSignatureFromSubobjectInLibrary(This,nodeMask,pLibraryBlob,blobLengthInBytes,subobjectName,riid,ppvRootSignature) ) | ||
| 29409 | |||
| 29410 | #endif /* COBJMACROS */ | ||
| 29411 | |||
| 29412 | |||
| 29413 | #endif /* C style interface */ | ||
| 29414 | |||
| 29415 | |||
| 29416 | |||
| 29417 | |||
| 29418 | #endif /* __ID3D12Device14_INTERFACE_DEFINED__ */ | ||
| 29419 | |||
| 29420 | |||
| 29421 | /* interface __MIDL_itf_d3d12_0000_0063 */ | ||
| 29422 | /* [local] */ | ||
| 29423 | |||
| 29424 | typedef union D3D12_VERSION_NUMBER | ||
| 29425 | { | ||
| 29426 | UINT64 Version; | ||
| 29427 | UINT16 VersionParts[ 4 ]; | ||
| 29428 | } D3D12_VERSION_NUMBER; | ||
| 29429 | |||
| 29430 | typedef struct D3D12_FEATURE_DATA_SHADERCACHE_ABI_SUPPORT | ||
| 29431 | { | ||
| 29432 | WCHAR szAdapterFamily[ 128 ]; | ||
| 29433 | UINT64 MinimumABISupportVersion; | ||
| 29434 | UINT64 MaximumABISupportVersion; | ||
| 29435 | D3D12_VERSION_NUMBER CompilerVersion; | ||
| 29436 | D3D12_VERSION_NUMBER ApplicationProfileVersion; | ||
| 29437 | } D3D12_FEATURE_DATA_SHADERCACHE_ABI_SUPPORT; | ||
| 29438 | |||
| 29439 | typedef void ( __stdcall *D3D12PipelineStateFunc )( | ||
| 29440 | _In_reads_bytes_(KeySize) const void *pKey, | ||
| 29441 | UINT KeySize, | ||
| 29442 | UINT Version, | ||
| 29443 | const D3D12_PIPELINE_STATE_STREAM_DESC *pDesc, | ||
| 29444 | _Inout_opt_ void *pContext); | ||
| 29445 | |||
| 29446 | typedef void ( __stdcall *D3D12StateObjectFunc )( | ||
| 29447 | _In_reads_bytes_(KeySize) const void *pKey, | ||
| 29448 | UINT KeySize, | ||
| 29449 | UINT Version, | ||
| 29450 | const D3D12_STATE_OBJECT_DESC *pDesc, | ||
| 29451 | _In_reads_bytes_(ParentKeySize) const void *pParentKey, | ||
| 29452 | UINT ParentKeySize, | ||
| 29453 | _Inout_opt_ void *pContext); | ||
| 29454 | |||
| 29455 | typedef struct D3D12_APPLICATION_DESC | ||
| 29456 | { | ||
| 29457 | LPCWSTR pExeFilename; | ||
| 29458 | LPCWSTR pName; | ||
| 29459 | D3D12_VERSION_NUMBER Version; | ||
| 29460 | LPCWSTR pEngineName; | ||
| 29461 | D3D12_VERSION_NUMBER EngineVersion; | ||
| 29462 | } D3D12_APPLICATION_DESC; | ||
| 29463 | |||
| 29464 | typedef void ( __stdcall *D3D12ApplicationDescFunc )( | ||
| 29465 | _In_ const D3D12_APPLICATION_DESC *pApplicationDesc, | ||
| 29466 | _Inout_opt_ void *pContext); | ||
| 29467 | |||
| 29468 | typedef struct D3D12_EXISTING_COLLECTION_BY_KEY_DESC | ||
| 29469 | { | ||
| 29470 | _Field_size_bytes_full_(KeySize) const void *pKey; | ||
| 29471 | UINT KeySize; | ||
| 29472 | UINT NumExports; | ||
| 29473 | _In_reads_(NumExports) const D3D12_EXPORT_DESC *pExports; | ||
| 29474 | } D3D12_EXISTING_COLLECTION_BY_KEY_DESC; | ||
| 29475 | |||
| 29476 | |||
| 29477 | |||
| 29478 | extern RPC_IF_HANDLE __MIDL_itf_d3d12_0000_0063_v0_0_c_ifspec; | ||
| 29479 | extern RPC_IF_HANDLE __MIDL_itf_d3d12_0000_0063_v0_0_s_ifspec; | ||
| 29480 | |||
| 29481 | #ifndef __ID3D12StateObjectDatabase_INTERFACE_DEFINED__ | ||
| 29482 | #define __ID3D12StateObjectDatabase_INTERFACE_DEFINED__ | ||
| 29483 | |||
| 29484 | /* interface ID3D12StateObjectDatabase */ | ||
| 29485 | /* [unique][local][object][uuid] */ | ||
| 29486 | |||
| 29487 | |||
| 29488 | EXTERN_C const IID IID_ID3D12StateObjectDatabase; | ||
| 29489 | |||
| 29490 | #if defined(__cplusplus) && !defined(CINTERFACE) | ||
| 29491 | |||
| 29492 | MIDL_INTERFACE("c56060b7-b5fc-4135-98e0-a1e9997eace0") | ||
| 29493 | ID3D12StateObjectDatabase : public IUnknown | ||
| 29494 | { | ||
| 29495 | public: | ||
| 29496 | virtual HRESULT STDMETHODCALLTYPE SetApplicationDesc( | ||
| 29497 | _In_ const D3D12_APPLICATION_DESC *pApplicationDesc) = 0; | ||
| 29498 | |||
| 29499 | virtual HRESULT STDMETHODCALLTYPE GetApplicationDesc( | ||
| 29500 | _In_ D3D12ApplicationDescFunc CallbackFunc, | ||
| 29501 | _Inout_opt_ void *pContext) = 0; | ||
| 29502 | |||
| 29503 | virtual HRESULT STDMETHODCALLTYPE StorePipelineStateDesc( | ||
| 29504 | _In_reads_(KeySize) const void *pKey, | ||
| 29505 | UINT KeySize, | ||
| 29506 | UINT Version, | ||
| 29507 | _In_ const D3D12_PIPELINE_STATE_STREAM_DESC *pDesc) = 0; | ||
| 29508 | |||
| 29509 | virtual HRESULT STDMETHODCALLTYPE FindPipelineStateDesc( | ||
| 29510 | _In_reads_(KeySize) const void *pKey, | ||
| 29511 | UINT KeySize, | ||
| 29512 | _In_ D3D12PipelineStateFunc CallbackFunc, | ||
| 29513 | _Inout_opt_ void *pContext) = 0; | ||
| 29514 | |||
| 29515 | virtual HRESULT STDMETHODCALLTYPE StoreStateObjectDesc( | ||
| 29516 | _In_reads_(KeySize) const void *pKey, | ||
| 29517 | UINT KeySize, | ||
| 29518 | UINT Version, | ||
| 29519 | _In_ const D3D12_STATE_OBJECT_DESC *pDesc, | ||
| 29520 | _In_reads_opt_(StateObjectToGrowFromKeySize) const void *pStateObjectToGrowFromKey, | ||
| 29521 | UINT StateObjectToGrowFromKeySize) = 0; | ||
| 29522 | |||
| 29523 | virtual HRESULT STDMETHODCALLTYPE FindStateObjectDesc( | ||
| 29524 | _In_reads_(keySize) const void *pKey, | ||
| 29525 | UINT KeySize, | ||
| 29526 | D3D12StateObjectFunc CallbackFunc, | ||
| 29527 | _Inout_opt_ void *pContext) = 0; | ||
| 29528 | |||
| 29529 | virtual HRESULT STDMETHODCALLTYPE FindObjectVersion( | ||
| 29530 | _In_reads_(keySize) const void *pKey, | ||
| 29531 | UINT KeySize, | ||
| 29532 | _Out_ UINT *pVersion) = 0; | ||
| 29533 | |||
| 29534 | }; | ||
| 29535 | |||
| 29536 | |||
| 29537 | #else /* C style interface */ | ||
| 29538 | |||
| 29539 | typedef struct ID3D12StateObjectDatabaseVtbl | ||
| 29540 | { | ||
| 29541 | BEGIN_INTERFACE | ||
| 29542 | |||
| 29543 | DECLSPEC_XFGVIRT(IUnknown, QueryInterface) | ||
| 29544 | HRESULT ( STDMETHODCALLTYPE *QueryInterface )( | ||
| 29545 | ID3D12StateObjectDatabase * This, | ||
| 29546 | REFIID riid, | ||
| 29547 | _COM_Outptr_ void **ppvObject); | ||
| 29548 | |||
| 29549 | DECLSPEC_XFGVIRT(IUnknown, AddRef) | ||
| 29550 | ULONG ( STDMETHODCALLTYPE *AddRef )( | ||
| 29551 | ID3D12StateObjectDatabase * This); | ||
| 29552 | |||
| 29553 | DECLSPEC_XFGVIRT(IUnknown, Release) | ||
| 29554 | ULONG ( STDMETHODCALLTYPE *Release )( | ||
| 29555 | ID3D12StateObjectDatabase * This); | ||
| 29556 | |||
| 29557 | DECLSPEC_XFGVIRT(ID3D12StateObjectDatabase, SetApplicationDesc) | ||
| 29558 | HRESULT ( STDMETHODCALLTYPE *SetApplicationDesc )( | ||
| 29559 | ID3D12StateObjectDatabase * This, | ||
| 29560 | _In_ const D3D12_APPLICATION_DESC *pApplicationDesc); | ||
| 29561 | |||
| 29562 | DECLSPEC_XFGVIRT(ID3D12StateObjectDatabase, GetApplicationDesc) | ||
| 29563 | HRESULT ( STDMETHODCALLTYPE *GetApplicationDesc )( | ||
| 29564 | ID3D12StateObjectDatabase * This, | ||
| 29565 | _In_ D3D12ApplicationDescFunc CallbackFunc, | ||
| 29566 | _Inout_opt_ void *pContext); | ||
| 29567 | |||
| 29568 | DECLSPEC_XFGVIRT(ID3D12StateObjectDatabase, StorePipelineStateDesc) | ||
| 29569 | HRESULT ( STDMETHODCALLTYPE *StorePipelineStateDesc )( | ||
| 29570 | ID3D12StateObjectDatabase * This, | ||
| 29571 | _In_reads_(KeySize) const void *pKey, | ||
| 29572 | UINT KeySize, | ||
| 29573 | UINT Version, | ||
| 29574 | _In_ const D3D12_PIPELINE_STATE_STREAM_DESC *pDesc); | ||
| 29575 | |||
| 29576 | DECLSPEC_XFGVIRT(ID3D12StateObjectDatabase, FindPipelineStateDesc) | ||
| 29577 | HRESULT ( STDMETHODCALLTYPE *FindPipelineStateDesc )( | ||
| 29578 | ID3D12StateObjectDatabase * This, | ||
| 29579 | _In_reads_(KeySize) const void *pKey, | ||
| 29580 | UINT KeySize, | ||
| 29581 | _In_ D3D12PipelineStateFunc CallbackFunc, | ||
| 29582 | _Inout_opt_ void *pContext); | ||
| 29583 | |||
| 29584 | DECLSPEC_XFGVIRT(ID3D12StateObjectDatabase, StoreStateObjectDesc) | ||
| 29585 | HRESULT ( STDMETHODCALLTYPE *StoreStateObjectDesc )( | ||
| 29586 | ID3D12StateObjectDatabase * This, | ||
| 29587 | _In_reads_(KeySize) const void *pKey, | ||
| 29588 | UINT KeySize, | ||
| 29589 | UINT Version, | ||
| 29590 | _In_ const D3D12_STATE_OBJECT_DESC *pDesc, | ||
| 29591 | _In_reads_opt_(StateObjectToGrowFromKeySize) const void *pStateObjectToGrowFromKey, | ||
| 29592 | UINT StateObjectToGrowFromKeySize); | ||
| 29593 | |||
| 29594 | DECLSPEC_XFGVIRT(ID3D12StateObjectDatabase, FindStateObjectDesc) | ||
| 29595 | HRESULT ( STDMETHODCALLTYPE *FindStateObjectDesc )( | ||
| 29596 | ID3D12StateObjectDatabase * This, | ||
| 29597 | _In_reads_(keySize) const void *pKey, | ||
| 29598 | UINT KeySize, | ||
| 29599 | D3D12StateObjectFunc CallbackFunc, | ||
| 29600 | _Inout_opt_ void *pContext); | ||
| 29601 | |||
| 29602 | DECLSPEC_XFGVIRT(ID3D12StateObjectDatabase, FindObjectVersion) | ||
| 29603 | HRESULT ( STDMETHODCALLTYPE *FindObjectVersion )( | ||
| 29604 | ID3D12StateObjectDatabase * This, | ||
| 29605 | _In_reads_(keySize) const void *pKey, | ||
| 29606 | UINT KeySize, | ||
| 29607 | _Out_ UINT *pVersion); | ||
| 29608 | |||
| 29609 | END_INTERFACE | ||
| 29610 | } ID3D12StateObjectDatabaseVtbl; | ||
| 29611 | |||
| 29612 | interface ID3D12StateObjectDatabase | ||
| 29613 | { | ||
| 29614 | CONST_VTBL struct ID3D12StateObjectDatabaseVtbl *lpVtbl; | ||
| 29615 | }; | ||
| 29616 | |||
| 29617 | |||
| 29618 | |||
| 29619 | #ifdef COBJMACROS | ||
| 29620 | |||
| 29621 | |||
| 29622 | #define ID3D12StateObjectDatabase_QueryInterface(This,riid,ppvObject) \ | ||
| 29623 | ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) | ||
| 29624 | |||
| 29625 | #define ID3D12StateObjectDatabase_AddRef(This) \ | ||
| 29626 | ( (This)->lpVtbl -> AddRef(This) ) | ||
| 29627 | |||
| 29628 | #define ID3D12StateObjectDatabase_Release(This) \ | ||
| 29629 | ( (This)->lpVtbl -> Release(This) ) | ||
| 29630 | |||
| 29631 | |||
| 29632 | #define ID3D12StateObjectDatabase_SetApplicationDesc(This,pApplicationDesc) \ | ||
| 29633 | ( (This)->lpVtbl -> SetApplicationDesc(This,pApplicationDesc) ) | ||
| 29634 | |||
| 29635 | #define ID3D12StateObjectDatabase_GetApplicationDesc(This,CallbackFunc,pContext) \ | ||
| 29636 | ( (This)->lpVtbl -> GetApplicationDesc(This,CallbackFunc,pContext) ) | ||
| 29637 | |||
| 29638 | #define ID3D12StateObjectDatabase_StorePipelineStateDesc(This,pKey,KeySize,Version,pDesc) \ | ||
| 29639 | ( (This)->lpVtbl -> StorePipelineStateDesc(This,pKey,KeySize,Version,pDesc) ) | ||
| 29640 | |||
| 29641 | #define ID3D12StateObjectDatabase_FindPipelineStateDesc(This,pKey,KeySize,CallbackFunc,pContext) \ | ||
| 29642 | ( (This)->lpVtbl -> FindPipelineStateDesc(This,pKey,KeySize,CallbackFunc,pContext) ) | ||
| 29643 | |||
| 29644 | #define ID3D12StateObjectDatabase_StoreStateObjectDesc(This,pKey,KeySize,Version,pDesc,pStateObjectToGrowFromKey,StateObjectToGrowFromKeySize) \ | ||
| 29645 | ( (This)->lpVtbl -> StoreStateObjectDesc(This,pKey,KeySize,Version,pDesc,pStateObjectToGrowFromKey,StateObjectToGrowFromKeySize) ) | ||
| 29646 | |||
| 29647 | #define ID3D12StateObjectDatabase_FindStateObjectDesc(This,pKey,KeySize,CallbackFunc,pContext) \ | ||
| 29648 | ( (This)->lpVtbl -> FindStateObjectDesc(This,pKey,KeySize,CallbackFunc,pContext) ) | ||
| 29649 | |||
| 29650 | #define ID3D12StateObjectDatabase_FindObjectVersion(This,pKey,KeySize,pVersion) \ | ||
| 29651 | ( (This)->lpVtbl -> FindObjectVersion(This,pKey,KeySize,pVersion) ) | ||
| 29652 | |||
| 29653 | #endif /* COBJMACROS */ | ||
| 29654 | |||
| 29655 | |||
| 29656 | #endif /* C style interface */ | ||
| 29657 | |||
| 29658 | |||
| 29659 | |||
| 29660 | |||
| 29661 | #endif /* __ID3D12StateObjectDatabase_INTERFACE_DEFINED__ */ | ||
| 29662 | |||
| 29663 | |||
| 29664 | #ifndef __ID3D12VirtualizationGuestDevice_INTERFACE_DEFINED__ | ||
| 29665 | #define __ID3D12VirtualizationGuestDevice_INTERFACE_DEFINED__ | ||
| 29666 | |||
| 29667 | /* interface ID3D12VirtualizationGuestDevice */ | ||
| 29668 | /* [unique][local][object][uuid] */ | ||
| 29669 | |||
| 29670 | |||
| 29671 | EXTERN_C const IID IID_ID3D12VirtualizationGuestDevice; | ||
| 29672 | |||
| 29673 | #if defined(__cplusplus) && !defined(CINTERFACE) | ||
| 29674 | |||
| 29675 | MIDL_INTERFACE("bc66d368-7373-4943-8757-fc87dc79e476") | ||
| 29676 | ID3D12VirtualizationGuestDevice : public IUnknown | ||
| 29677 | { | ||
| 29678 | public: | ||
| 29679 | virtual HRESULT STDMETHODCALLTYPE ShareWithHost( | ||
| 29680 | _In_ ID3D12DeviceChild *pObject, | ||
| 29681 | _Out_ HANDLE *pHandle) = 0; | ||
| 29682 | |||
| 29683 | virtual HRESULT STDMETHODCALLTYPE CreateFenceFd( | ||
| 29684 | _In_ ID3D12Fence *pFence, | ||
| 29685 | UINT64 FenceValue, | ||
| 29686 | _Out_ int *pFenceFd) = 0; | ||
| 29687 | |||
| 29688 | }; | ||
| 29689 | |||
| 29690 | |||
| 29691 | #else /* C style interface */ | ||
| 29692 | |||
| 29693 | typedef struct ID3D12VirtualizationGuestDeviceVtbl | ||
| 29694 | { | ||
| 29695 | BEGIN_INTERFACE | ||
| 29696 | |||
| 29697 | DECLSPEC_XFGVIRT(IUnknown, QueryInterface) | ||
| 29698 | HRESULT ( STDMETHODCALLTYPE *QueryInterface )( | ||
| 29699 | ID3D12VirtualizationGuestDevice * This, | ||
| 29700 | REFIID riid, | ||
| 29701 | _COM_Outptr_ void **ppvObject); | ||
| 29702 | |||
| 29703 | DECLSPEC_XFGVIRT(IUnknown, AddRef) | ||
| 29704 | ULONG ( STDMETHODCALLTYPE *AddRef )( | ||
| 29705 | ID3D12VirtualizationGuestDevice * This); | ||
| 29706 | |||
| 29707 | DECLSPEC_XFGVIRT(IUnknown, Release) | ||
| 29708 | ULONG ( STDMETHODCALLTYPE *Release )( | ||
| 29709 | ID3D12VirtualizationGuestDevice * This); | ||
| 29710 | |||
| 29711 | DECLSPEC_XFGVIRT(ID3D12VirtualizationGuestDevice, ShareWithHost) | ||
| 29712 | HRESULT ( STDMETHODCALLTYPE *ShareWithHost )( | ||
| 29713 | ID3D12VirtualizationGuestDevice * This, | ||
| 29714 | _In_ ID3D12DeviceChild *pObject, | ||
| 29715 | _Out_ HANDLE *pHandle); | ||
| 29716 | |||
| 29717 | DECLSPEC_XFGVIRT(ID3D12VirtualizationGuestDevice, CreateFenceFd) | ||
| 29718 | HRESULT ( STDMETHODCALLTYPE *CreateFenceFd )( | ||
| 29719 | ID3D12VirtualizationGuestDevice * This, | ||
| 29720 | _In_ ID3D12Fence *pFence, | ||
| 29721 | UINT64 FenceValue, | ||
| 29722 | _Out_ int *pFenceFd); | ||
| 29723 | |||
| 29724 | END_INTERFACE | ||
| 29725 | } ID3D12VirtualizationGuestDeviceVtbl; | ||
| 29726 | |||
| 29727 | interface ID3D12VirtualizationGuestDevice | ||
| 29728 | { | ||
| 29729 | CONST_VTBL struct ID3D12VirtualizationGuestDeviceVtbl *lpVtbl; | ||
| 29730 | }; | ||
| 29731 | |||
| 29732 | |||
| 29733 | |||
| 29734 | #ifdef COBJMACROS | ||
| 29735 | |||
| 29736 | |||
| 29737 | #define ID3D12VirtualizationGuestDevice_QueryInterface(This,riid,ppvObject) \ | ||
| 29738 | ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) | ||
| 29739 | |||
| 29740 | #define ID3D12VirtualizationGuestDevice_AddRef(This) \ | ||
| 29741 | ( (This)->lpVtbl -> AddRef(This) ) | ||
| 29742 | |||
| 29743 | #define ID3D12VirtualizationGuestDevice_Release(This) \ | ||
| 29744 | ( (This)->lpVtbl -> Release(This) ) | ||
| 29745 | |||
| 29746 | |||
| 29747 | #define ID3D12VirtualizationGuestDevice_ShareWithHost(This,pObject,pHandle) \ | ||
| 29748 | ( (This)->lpVtbl -> ShareWithHost(This,pObject,pHandle) ) | ||
| 29749 | |||
| 29750 | #define ID3D12VirtualizationGuestDevice_CreateFenceFd(This,pFence,FenceValue,pFenceFd) \ | ||
| 29751 | ( (This)->lpVtbl -> CreateFenceFd(This,pFence,FenceValue,pFenceFd) ) | ||
| 29752 | |||
| 29753 | #endif /* COBJMACROS */ | ||
| 29754 | |||
| 29755 | |||
| 29756 | #endif /* C style interface */ | ||
| 29757 | |||
| 29758 | |||
| 29759 | |||
| 29760 | |||
| 29761 | #endif /* __ID3D12VirtualizationGuestDevice_INTERFACE_DEFINED__ */ | ||
| 29762 | |||
| 29763 | |||
| 29764 | #ifndef __ID3D12Tools_INTERFACE_DEFINED__ | ||
| 29765 | #define __ID3D12Tools_INTERFACE_DEFINED__ | ||
| 29766 | |||
| 29767 | /* interface ID3D12Tools */ | ||
| 29768 | /* [unique][local][object][uuid] */ | ||
| 29769 | |||
| 29770 | |||
| 29771 | EXTERN_C const IID IID_ID3D12Tools; | ||
| 29772 | |||
| 29773 | #if defined(__cplusplus) && !defined(CINTERFACE) | ||
| 29774 | |||
| 29775 | MIDL_INTERFACE("7071e1f0-e84b-4b33-974f-12fa49de65c5") | ||
| 29776 | ID3D12Tools : public IUnknown | ||
| 29777 | { | ||
| 29778 | public: | ||
| 29779 | virtual void STDMETHODCALLTYPE EnableShaderInstrumentation( | ||
| 29780 | BOOL bEnable) = 0; | ||
| 29781 | |||
| 29782 | virtual BOOL STDMETHODCALLTYPE ShaderInstrumentationEnabled( void) = 0; | ||
| 29783 | |||
| 29784 | }; | ||
| 29785 | |||
| 29786 | |||
| 29787 | #else /* C style interface */ | ||
| 29788 | |||
| 29789 | typedef struct ID3D12ToolsVtbl | ||
| 29790 | { | ||
| 29791 | BEGIN_INTERFACE | ||
| 29792 | |||
| 29793 | DECLSPEC_XFGVIRT(IUnknown, QueryInterface) | ||
| 29794 | HRESULT ( STDMETHODCALLTYPE *QueryInterface )( | ||
| 29795 | ID3D12Tools * This, | ||
| 29796 | REFIID riid, | ||
| 29797 | _COM_Outptr_ void **ppvObject); | ||
| 29798 | |||
| 29799 | DECLSPEC_XFGVIRT(IUnknown, AddRef) | ||
| 29800 | ULONG ( STDMETHODCALLTYPE *AddRef )( | ||
| 29801 | ID3D12Tools * This); | ||
| 29802 | |||
| 29803 | DECLSPEC_XFGVIRT(IUnknown, Release) | ||
| 29804 | ULONG ( STDMETHODCALLTYPE *Release )( | ||
| 29805 | ID3D12Tools * This); | ||
| 29806 | |||
| 29807 | DECLSPEC_XFGVIRT(ID3D12Tools, EnableShaderInstrumentation) | ||
| 29808 | void ( STDMETHODCALLTYPE *EnableShaderInstrumentation )( | ||
| 29809 | ID3D12Tools * This, | ||
| 29810 | BOOL bEnable); | ||
| 29811 | |||
| 29812 | DECLSPEC_XFGVIRT(ID3D12Tools, ShaderInstrumentationEnabled) | ||
| 29813 | BOOL ( STDMETHODCALLTYPE *ShaderInstrumentationEnabled )( | ||
| 29814 | ID3D12Tools * This); | ||
| 29815 | |||
| 29816 | END_INTERFACE | ||
| 29817 | } ID3D12ToolsVtbl; | ||
| 29818 | |||
| 29819 | interface ID3D12Tools | ||
| 29820 | { | ||
| 29821 | CONST_VTBL struct ID3D12ToolsVtbl *lpVtbl; | ||
| 29822 | }; | ||
| 29823 | |||
| 29824 | |||
| 29825 | |||
| 29826 | #ifdef COBJMACROS | ||
| 29827 | |||
| 29828 | |||
| 29829 | #define ID3D12Tools_QueryInterface(This,riid,ppvObject) \ | ||
| 29830 | ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) | ||
| 29831 | |||
| 29832 | #define ID3D12Tools_AddRef(This) \ | ||
| 29833 | ( (This)->lpVtbl -> AddRef(This) ) | ||
| 29834 | |||
| 29835 | #define ID3D12Tools_Release(This) \ | ||
| 29836 | ( (This)->lpVtbl -> Release(This) ) | ||
| 29837 | |||
| 29838 | |||
| 29839 | #define ID3D12Tools_EnableShaderInstrumentation(This,bEnable) \ | ||
| 29840 | ( (This)->lpVtbl -> EnableShaderInstrumentation(This,bEnable) ) | ||
| 29841 | |||
| 29842 | #define ID3D12Tools_ShaderInstrumentationEnabled(This) \ | ||
| 29843 | ( (This)->lpVtbl -> ShaderInstrumentationEnabled(This) ) | ||
| 29844 | |||
| 29845 | #endif /* COBJMACROS */ | ||
| 29846 | |||
| 29847 | |||
| 29848 | #endif /* C style interface */ | ||
| 29849 | |||
| 29850 | |||
| 29851 | |||
| 29852 | |||
| 29853 | #endif /* __ID3D12Tools_INTERFACE_DEFINED__ */ | ||
| 29854 | |||
| 29855 | |||
| 29856 | #ifndef __ID3D12Tools1_INTERFACE_DEFINED__ | ||
| 29857 | #define __ID3D12Tools1_INTERFACE_DEFINED__ | ||
| 29858 | |||
| 29859 | /* interface ID3D12Tools1 */ | ||
| 29860 | /* [unique][local][object][uuid] */ | ||
| 29861 | |||
| 29862 | |||
| 29863 | EXTERN_C const IID IID_ID3D12Tools1; | ||
| 29864 | |||
| 29865 | #if defined(__cplusplus) && !defined(CINTERFACE) | ||
| 29866 | |||
| 29867 | MIDL_INTERFACE("e4fbc019-dd3c-43e1-8f32-7f649575f0a0") | ||
| 29868 | ID3D12Tools1 : public ID3D12Tools | ||
| 29869 | { | ||
| 29870 | public: | ||
| 29871 | virtual HRESULT STDMETHODCALLTYPE ReserveGPUVARangesAtCreate( | ||
| 29872 | _In_reads_(uiNumRanges) D3D12_GPU_VIRTUAL_ADDRESS_RANGE *pRanges, | ||
| 29873 | _In_ UINT uiNumRanges) = 0; | ||
| 29874 | |||
| 29875 | virtual void STDMETHODCALLTYPE ClearReservedGPUVARangesList( void) = 0; | ||
| 29876 | |||
| 29877 | }; | ||
| 29878 | |||
| 29879 | |||
| 29880 | #else /* C style interface */ | ||
| 29881 | |||
| 29882 | typedef struct ID3D12Tools1Vtbl | ||
| 29883 | { | ||
| 29884 | BEGIN_INTERFACE | ||
| 29885 | |||
| 29886 | DECLSPEC_XFGVIRT(IUnknown, QueryInterface) | ||
| 29887 | HRESULT ( STDMETHODCALLTYPE *QueryInterface )( | ||
| 29888 | ID3D12Tools1 * This, | ||
| 29889 | REFIID riid, | ||
| 29890 | _COM_Outptr_ void **ppvObject); | ||
| 29891 | |||
| 29892 | DECLSPEC_XFGVIRT(IUnknown, AddRef) | ||
| 29893 | ULONG ( STDMETHODCALLTYPE *AddRef )( | ||
| 29894 | ID3D12Tools1 * This); | ||
| 29895 | |||
| 29896 | DECLSPEC_XFGVIRT(IUnknown, Release) | ||
| 29897 | ULONG ( STDMETHODCALLTYPE *Release )( | ||
| 29898 | ID3D12Tools1 * This); | ||
| 29899 | |||
| 29900 | DECLSPEC_XFGVIRT(ID3D12Tools, EnableShaderInstrumentation) | ||
| 29901 | void ( STDMETHODCALLTYPE *EnableShaderInstrumentation )( | ||
| 29902 | ID3D12Tools1 * This, | ||
| 29903 | BOOL bEnable); | ||
| 29904 | |||
| 29905 | DECLSPEC_XFGVIRT(ID3D12Tools, ShaderInstrumentationEnabled) | ||
| 29906 | BOOL ( STDMETHODCALLTYPE *ShaderInstrumentationEnabled )( | ||
| 29907 | ID3D12Tools1 * This); | ||
| 29908 | |||
| 29909 | DECLSPEC_XFGVIRT(ID3D12Tools1, ReserveGPUVARangesAtCreate) | ||
| 29910 | HRESULT ( STDMETHODCALLTYPE *ReserveGPUVARangesAtCreate )( | ||
| 29911 | ID3D12Tools1 * This, | ||
| 29912 | _In_reads_(uiNumRanges) D3D12_GPU_VIRTUAL_ADDRESS_RANGE *pRanges, | ||
| 29913 | _In_ UINT uiNumRanges); | ||
| 29914 | |||
| 29915 | DECLSPEC_XFGVIRT(ID3D12Tools1, ClearReservedGPUVARangesList) | ||
| 29916 | void ( STDMETHODCALLTYPE *ClearReservedGPUVARangesList )( | ||
| 29917 | ID3D12Tools1 * This); | ||
| 29918 | |||
| 29919 | END_INTERFACE | ||
| 29920 | } ID3D12Tools1Vtbl; | ||
| 29921 | |||
| 29922 | interface ID3D12Tools1 | ||
| 29923 | { | ||
| 29924 | CONST_VTBL struct ID3D12Tools1Vtbl *lpVtbl; | ||
| 29925 | }; | ||
| 29926 | |||
| 29927 | |||
| 29928 | |||
| 29929 | #ifdef COBJMACROS | ||
| 29930 | |||
| 29931 | |||
| 29932 | #define ID3D12Tools1_QueryInterface(This,riid,ppvObject) \ | ||
| 29933 | ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) | ||
| 29934 | |||
| 29935 | #define ID3D12Tools1_AddRef(This) \ | ||
| 29936 | ( (This)->lpVtbl -> AddRef(This) ) | ||
| 29937 | |||
| 29938 | #define ID3D12Tools1_Release(This) \ | ||
| 29939 | ( (This)->lpVtbl -> Release(This) ) | ||
| 29940 | |||
| 29941 | |||
| 29942 | #define ID3D12Tools1_EnableShaderInstrumentation(This,bEnable) \ | ||
| 29943 | ( (This)->lpVtbl -> EnableShaderInstrumentation(This,bEnable) ) | ||
| 29944 | |||
| 29945 | #define ID3D12Tools1_ShaderInstrumentationEnabled(This) \ | ||
| 29946 | ( (This)->lpVtbl -> ShaderInstrumentationEnabled(This) ) | ||
| 29947 | |||
| 29948 | |||
| 29949 | #define ID3D12Tools1_ReserveGPUVARangesAtCreate(This,pRanges,uiNumRanges) \ | ||
| 29950 | ( (This)->lpVtbl -> ReserveGPUVARangesAtCreate(This,pRanges,uiNumRanges) ) | ||
| 29951 | |||
| 29952 | #define ID3D12Tools1_ClearReservedGPUVARangesList(This) \ | ||
| 29953 | ( (This)->lpVtbl -> ClearReservedGPUVARangesList(This) ) | ||
| 29954 | |||
| 29955 | #endif /* COBJMACROS */ | ||
| 29956 | |||
| 29957 | |||
| 29958 | #endif /* C style interface */ | ||
| 29959 | |||
| 29960 | |||
| 29961 | |||
| 29962 | |||
| 29963 | #endif /* __ID3D12Tools1_INTERFACE_DEFINED__ */ | ||
| 29964 | |||
| 29965 | |||
| 29966 | #ifndef __ID3D12Tools2_INTERFACE_DEFINED__ | ||
| 29967 | #define __ID3D12Tools2_INTERFACE_DEFINED__ | ||
| 29968 | |||
| 29969 | /* interface ID3D12Tools2 */ | ||
| 29970 | /* [unique][local][object][uuid] */ | ||
| 29971 | |||
| 29972 | |||
| 29973 | EXTERN_C const IID IID_ID3D12Tools2; | ||
| 29974 | |||
| 29975 | #if defined(__cplusplus) && !defined(CINTERFACE) | ||
| 29976 | |||
| 29977 | MIDL_INTERFACE("01d393c5-c9b0-42a1-958c-c26b02d4d097") | ||
| 29978 | ID3D12Tools2 : public ID3D12Tools1 | ||
| 29979 | { | ||
| 29980 | public: | ||
| 29981 | virtual HRESULT STDMETHODCALLTYPE SetApplicationSpecificDriverState( | ||
| 29982 | _In_ IUnknown *pAdapter, | ||
| 29983 | _In_opt_ ID3DBlob *pBlob) = 0; | ||
| 29984 | |||
| 29985 | }; | ||
| 29986 | |||
| 29987 | |||
| 29988 | #else /* C style interface */ | ||
| 29989 | |||
| 29990 | typedef struct ID3D12Tools2Vtbl | ||
| 29991 | { | ||
| 29992 | BEGIN_INTERFACE | ||
| 29993 | |||
| 29994 | DECLSPEC_XFGVIRT(IUnknown, QueryInterface) | ||
| 29995 | HRESULT ( STDMETHODCALLTYPE *QueryInterface )( | ||
| 29996 | ID3D12Tools2 * This, | ||
| 29997 | REFIID riid, | ||
| 29998 | _COM_Outptr_ void **ppvObject); | ||
| 29999 | |||
| 30000 | DECLSPEC_XFGVIRT(IUnknown, AddRef) | ||
| 30001 | ULONG ( STDMETHODCALLTYPE *AddRef )( | ||
| 30002 | ID3D12Tools2 * This); | ||
| 30003 | |||
| 30004 | DECLSPEC_XFGVIRT(IUnknown, Release) | ||
| 30005 | ULONG ( STDMETHODCALLTYPE *Release )( | ||
| 30006 | ID3D12Tools2 * This); | ||
| 30007 | |||
| 30008 | DECLSPEC_XFGVIRT(ID3D12Tools, EnableShaderInstrumentation) | ||
| 30009 | void ( STDMETHODCALLTYPE *EnableShaderInstrumentation )( | ||
| 30010 | ID3D12Tools2 * This, | ||
| 30011 | BOOL bEnable); | ||
| 30012 | |||
| 30013 | DECLSPEC_XFGVIRT(ID3D12Tools, ShaderInstrumentationEnabled) | ||
| 30014 | BOOL ( STDMETHODCALLTYPE *ShaderInstrumentationEnabled )( | ||
| 30015 | ID3D12Tools2 * This); | ||
| 30016 | |||
| 30017 | DECLSPEC_XFGVIRT(ID3D12Tools1, ReserveGPUVARangesAtCreate) | ||
| 30018 | HRESULT ( STDMETHODCALLTYPE *ReserveGPUVARangesAtCreate )( | ||
| 30019 | ID3D12Tools2 * This, | ||
| 30020 | _In_reads_(uiNumRanges) D3D12_GPU_VIRTUAL_ADDRESS_RANGE *pRanges, | ||
| 30021 | _In_ UINT uiNumRanges); | ||
| 30022 | |||
| 30023 | DECLSPEC_XFGVIRT(ID3D12Tools1, ClearReservedGPUVARangesList) | ||
| 30024 | void ( STDMETHODCALLTYPE *ClearReservedGPUVARangesList )( | ||
| 30025 | ID3D12Tools2 * This); | ||
| 30026 | |||
| 30027 | DECLSPEC_XFGVIRT(ID3D12Tools2, SetApplicationSpecificDriverState) | ||
| 30028 | HRESULT ( STDMETHODCALLTYPE *SetApplicationSpecificDriverState )( | ||
| 30029 | ID3D12Tools2 * This, | ||
| 30030 | _In_ IUnknown *pAdapter, | ||
| 30031 | _In_opt_ ID3DBlob *pBlob); | ||
| 30032 | |||
| 30033 | END_INTERFACE | ||
| 30034 | } ID3D12Tools2Vtbl; | ||
| 30035 | |||
| 30036 | interface ID3D12Tools2 | ||
| 30037 | { | ||
| 30038 | CONST_VTBL struct ID3D12Tools2Vtbl *lpVtbl; | ||
| 30039 | }; | ||
| 30040 | |||
| 30041 | |||
| 30042 | |||
| 30043 | #ifdef COBJMACROS | ||
| 30044 | |||
| 30045 | |||
| 30046 | #define ID3D12Tools2_QueryInterface(This,riid,ppvObject) \ | ||
| 30047 | ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) | ||
| 30048 | |||
| 30049 | #define ID3D12Tools2_AddRef(This) \ | ||
| 30050 | ( (This)->lpVtbl -> AddRef(This) ) | ||
| 30051 | |||
| 30052 | #define ID3D12Tools2_Release(This) \ | ||
| 30053 | ( (This)->lpVtbl -> Release(This) ) | ||
| 30054 | |||
| 30055 | |||
| 30056 | #define ID3D12Tools2_EnableShaderInstrumentation(This,bEnable) \ | ||
| 30057 | ( (This)->lpVtbl -> EnableShaderInstrumentation(This,bEnable) ) | ||
| 30058 | |||
| 30059 | #define ID3D12Tools2_ShaderInstrumentationEnabled(This) \ | ||
| 30060 | ( (This)->lpVtbl -> ShaderInstrumentationEnabled(This) ) | ||
| 30061 | |||
| 30062 | |||
| 30063 | #define ID3D12Tools2_ReserveGPUVARangesAtCreate(This,pRanges,uiNumRanges) \ | ||
| 30064 | ( (This)->lpVtbl -> ReserveGPUVARangesAtCreate(This,pRanges,uiNumRanges) ) | ||
| 30065 | |||
| 30066 | #define ID3D12Tools2_ClearReservedGPUVARangesList(This) \ | ||
| 30067 | ( (This)->lpVtbl -> ClearReservedGPUVARangesList(This) ) | ||
| 30068 | |||
| 30069 | |||
| 30070 | #define ID3D12Tools2_SetApplicationSpecificDriverState(This,pAdapter,pBlob) \ | ||
| 30071 | ( (This)->lpVtbl -> SetApplicationSpecificDriverState(This,pAdapter,pBlob) ) | ||
| 30072 | |||
| 30073 | #endif /* COBJMACROS */ | ||
| 30074 | |||
| 30075 | |||
| 30076 | #endif /* C style interface */ | ||
| 30077 | |||
| 30078 | |||
| 30079 | |||
| 30080 | |||
| 30081 | #endif /* __ID3D12Tools2_INTERFACE_DEFINED__ */ | ||
| 30082 | |||
| 30083 | |||
| 30084 | #ifndef __ID3D12PageableTools_INTERFACE_DEFINED__ | ||
| 30085 | #define __ID3D12PageableTools_INTERFACE_DEFINED__ | ||
| 30086 | |||
| 30087 | /* interface ID3D12PageableTools */ | ||
| 30088 | /* [unique][local][object][uuid] */ | ||
| 30089 | |||
| 30090 | |||
| 30091 | EXTERN_C const IID IID_ID3D12PageableTools; | ||
| 30092 | |||
| 30093 | #if defined(__cplusplus) && !defined(CINTERFACE) | ||
| 30094 | |||
| 30095 | MIDL_INTERFACE("8f1359db-d8d1-42f9-b5cf-79f4cbad0d3d") | ||
| 30096 | ID3D12PageableTools : public IUnknown | ||
| 30097 | { | ||
| 30098 | public: | ||
| 30099 | virtual HRESULT STDMETHODCALLTYPE GetAllocation( | ||
| 30100 | _Inout_ D3D12_GPU_VIRTUAL_ADDRESS_RANGE *pAllocation) = 0; | ||
| 30101 | |||
| 30102 | }; | ||
| 30103 | |||
| 30104 | |||
| 30105 | #else /* C style interface */ | ||
| 30106 | |||
| 30107 | typedef struct ID3D12PageableToolsVtbl | ||
| 30108 | { | ||
| 30109 | BEGIN_INTERFACE | ||
| 30110 | |||
| 30111 | DECLSPEC_XFGVIRT(IUnknown, QueryInterface) | ||
| 30112 | HRESULT ( STDMETHODCALLTYPE *QueryInterface )( | ||
| 30113 | ID3D12PageableTools * This, | ||
| 30114 | REFIID riid, | ||
| 30115 | _COM_Outptr_ void **ppvObject); | ||
| 30116 | |||
| 30117 | DECLSPEC_XFGVIRT(IUnknown, AddRef) | ||
| 30118 | ULONG ( STDMETHODCALLTYPE *AddRef )( | ||
| 30119 | ID3D12PageableTools * This); | ||
| 30120 | |||
| 30121 | DECLSPEC_XFGVIRT(IUnknown, Release) | ||
| 30122 | ULONG ( STDMETHODCALLTYPE *Release )( | ||
| 30123 | ID3D12PageableTools * This); | ||
| 30124 | |||
| 30125 | DECLSPEC_XFGVIRT(ID3D12PageableTools, GetAllocation) | ||
| 30126 | HRESULT ( STDMETHODCALLTYPE *GetAllocation )( | ||
| 30127 | ID3D12PageableTools * This, | ||
| 30128 | _Inout_ D3D12_GPU_VIRTUAL_ADDRESS_RANGE *pAllocation); | ||
| 30129 | |||
| 30130 | END_INTERFACE | ||
| 30131 | } ID3D12PageableToolsVtbl; | ||
| 30132 | |||
| 30133 | interface ID3D12PageableTools | ||
| 30134 | { | ||
| 30135 | CONST_VTBL struct ID3D12PageableToolsVtbl *lpVtbl; | ||
| 30136 | }; | ||
| 30137 | |||
| 30138 | |||
| 30139 | |||
| 30140 | #ifdef COBJMACROS | ||
| 30141 | |||
| 30142 | |||
| 30143 | #define ID3D12PageableTools_QueryInterface(This,riid,ppvObject) \ | ||
| 30144 | ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) | ||
| 30145 | |||
| 30146 | #define ID3D12PageableTools_AddRef(This) \ | ||
| 30147 | ( (This)->lpVtbl -> AddRef(This) ) | ||
| 30148 | |||
| 30149 | #define ID3D12PageableTools_Release(This) \ | ||
| 30150 | ( (This)->lpVtbl -> Release(This) ) | ||
| 30151 | |||
| 30152 | |||
| 30153 | #define ID3D12PageableTools_GetAllocation(This,pAllocation) \ | ||
| 30154 | ( (This)->lpVtbl -> GetAllocation(This,pAllocation) ) | ||
| 30155 | |||
| 30156 | #endif /* COBJMACROS */ | ||
| 30157 | |||
| 30158 | |||
| 30159 | #endif /* C style interface */ | ||
| 30160 | |||
| 30161 | |||
| 30162 | |||
| 30163 | |||
| 30164 | #endif /* __ID3D12PageableTools_INTERFACE_DEFINED__ */ | ||
| 30165 | |||
| 30166 | |||
| 30167 | #ifndef __ID3D12DeviceTools_INTERFACE_DEFINED__ | ||
| 30168 | #define __ID3D12DeviceTools_INTERFACE_DEFINED__ | ||
| 30169 | |||
| 30170 | /* interface ID3D12DeviceTools */ | ||
| 30171 | /* [unique][local][object][uuid] */ | ||
| 30172 | |||
| 30173 | |||
| 30174 | EXTERN_C const IID IID_ID3D12DeviceTools; | ||
| 30175 | |||
| 30176 | #if defined(__cplusplus) && !defined(CINTERFACE) | ||
| 30177 | |||
| 30178 | MIDL_INTERFACE("2ea68e9c-19c3-4e47-a109-6cdadff0aca9") | ||
| 30179 | ID3D12DeviceTools : public IUnknown | ||
| 30180 | { | ||
| 30181 | public: | ||
| 30182 | virtual void STDMETHODCALLTYPE SetNextAllocationAddress( | ||
| 30183 | _In_ D3D12_GPU_VIRTUAL_ADDRESS nextAllocationVirtualAddress) = 0; | ||
| 30184 | |||
| 30185 | }; | ||
| 30186 | |||
| 30187 | |||
| 30188 | #else /* C style interface */ | ||
| 30189 | |||
| 30190 | typedef struct ID3D12DeviceToolsVtbl | ||
| 30191 | { | ||
| 30192 | BEGIN_INTERFACE | ||
| 30193 | |||
| 30194 | DECLSPEC_XFGVIRT(IUnknown, QueryInterface) | ||
| 30195 | HRESULT ( STDMETHODCALLTYPE *QueryInterface )( | ||
| 30196 | ID3D12DeviceTools * This, | ||
| 30197 | REFIID riid, | ||
| 30198 | _COM_Outptr_ void **ppvObject); | ||
| 30199 | |||
| 30200 | DECLSPEC_XFGVIRT(IUnknown, AddRef) | ||
| 30201 | ULONG ( STDMETHODCALLTYPE *AddRef )( | ||
| 30202 | ID3D12DeviceTools * This); | ||
| 30203 | |||
| 30204 | DECLSPEC_XFGVIRT(IUnknown, Release) | ||
| 30205 | ULONG ( STDMETHODCALLTYPE *Release )( | ||
| 30206 | ID3D12DeviceTools * This); | ||
| 30207 | |||
| 30208 | DECLSPEC_XFGVIRT(ID3D12DeviceTools, SetNextAllocationAddress) | ||
| 30209 | void ( STDMETHODCALLTYPE *SetNextAllocationAddress )( | ||
| 30210 | ID3D12DeviceTools * This, | ||
| 30211 | _In_ D3D12_GPU_VIRTUAL_ADDRESS nextAllocationVirtualAddress); | ||
| 30212 | |||
| 30213 | END_INTERFACE | ||
| 30214 | } ID3D12DeviceToolsVtbl; | ||
| 30215 | |||
| 30216 | interface ID3D12DeviceTools | ||
| 30217 | { | ||
| 30218 | CONST_VTBL struct ID3D12DeviceToolsVtbl *lpVtbl; | ||
| 30219 | }; | ||
| 30220 | |||
| 30221 | |||
| 30222 | |||
| 30223 | #ifdef COBJMACROS | ||
| 30224 | |||
| 30225 | |||
| 30226 | #define ID3D12DeviceTools_QueryInterface(This,riid,ppvObject) \ | ||
| 30227 | ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) | ||
| 30228 | |||
| 30229 | #define ID3D12DeviceTools_AddRef(This) \ | ||
| 30230 | ( (This)->lpVtbl -> AddRef(This) ) | ||
| 30231 | |||
| 30232 | #define ID3D12DeviceTools_Release(This) \ | ||
| 30233 | ( (This)->lpVtbl -> Release(This) ) | ||
| 30234 | |||
| 30235 | |||
| 30236 | #define ID3D12DeviceTools_SetNextAllocationAddress(This,nextAllocationVirtualAddress) \ | ||
| 30237 | ( (This)->lpVtbl -> SetNextAllocationAddress(This,nextAllocationVirtualAddress) ) | ||
| 30238 | |||
| 30239 | #endif /* COBJMACROS */ | ||
| 30240 | |||
| 30241 | |||
| 30242 | #endif /* C style interface */ | ||
| 30243 | |||
| 30244 | |||
| 30245 | |||
| 30246 | |||
| 30247 | #endif /* __ID3D12DeviceTools_INTERFACE_DEFINED__ */ | ||
| 30248 | |||
| 30249 | |||
| 30250 | /* interface __MIDL_itf_d3d12_0000_0070 */ | ||
| 30251 | /* [local] */ | ||
| 30252 | |||
| 30253 | typedef | ||
| 30254 | enum D3D12_APPLICATION_SPECIFIC_DRIVER_BLOB_STATUS | ||
| 30255 | { | ||
| 30256 | D3D12_APPLICATION_SPECIFIC_DRIVER_BLOB_UNKNOWN = 1, | ||
| 30257 | D3D12_APPLICATION_SPECIFIC_DRIVER_BLOB_USED = 2, | ||
| 30258 | D3D12_APPLICATION_SPECIFIC_DRIVER_BLOB_IGNORED = 3, | ||
| 30259 | D3D12_APPLICATION_SPECIFIC_DRIVER_BLOB_NOT_SPECIFIED = 4 | ||
| 30260 | } D3D12_APPLICATION_SPECIFIC_DRIVER_BLOB_STATUS; | ||
| 30261 | |||
| 30262 | |||
| 30263 | |||
| 30264 | extern RPC_IF_HANDLE __MIDL_itf_d3d12_0000_0070_v0_0_c_ifspec; | ||
| 30265 | extern RPC_IF_HANDLE __MIDL_itf_d3d12_0000_0070_v0_0_s_ifspec; | ||
| 30266 | |||
| 30267 | #ifndef __ID3D12DeviceTools1_INTERFACE_DEFINED__ | ||
| 30268 | #define __ID3D12DeviceTools1_INTERFACE_DEFINED__ | ||
| 30269 | |||
| 30270 | /* interface ID3D12DeviceTools1 */ | ||
| 30271 | /* [unique][local][object][uuid] */ | ||
| 30272 | |||
| 30273 | |||
| 30274 | EXTERN_C const IID IID_ID3D12DeviceTools1; | ||
| 30275 | |||
| 30276 | #if defined(__cplusplus) && !defined(CINTERFACE) | ||
| 30277 | |||
| 30278 | MIDL_INTERFACE("e30e9fc7-e641-4d6e-8a81-9dd9206ec47a") | ||
| 30279 | ID3D12DeviceTools1 : public ID3D12DeviceTools | ||
| 30280 | { | ||
| 30281 | public: | ||
| 30282 | virtual HRESULT STDMETHODCALLTYPE GetApplicationSpecificDriverState( | ||
| 30283 | _COM_Outptr_ ID3DBlob **ppBlob) = 0; | ||
| 30284 | |||
| 30285 | virtual D3D12_APPLICATION_SPECIFIC_DRIVER_BLOB_STATUS STDMETHODCALLTYPE GetApplicationSpecificDriverBlobStatus( void) = 0; | ||
| 30286 | |||
| 30287 | }; | ||
| 30288 | |||
| 30289 | |||
| 30290 | #else /* C style interface */ | ||
| 30291 | |||
| 30292 | typedef struct ID3D12DeviceTools1Vtbl | ||
| 30293 | { | ||
| 30294 | BEGIN_INTERFACE | ||
| 30295 | |||
| 30296 | DECLSPEC_XFGVIRT(IUnknown, QueryInterface) | ||
| 30297 | HRESULT ( STDMETHODCALLTYPE *QueryInterface )( | ||
| 30298 | ID3D12DeviceTools1 * This, | ||
| 30299 | REFIID riid, | ||
| 30300 | _COM_Outptr_ void **ppvObject); | ||
| 30301 | |||
| 30302 | DECLSPEC_XFGVIRT(IUnknown, AddRef) | ||
| 30303 | ULONG ( STDMETHODCALLTYPE *AddRef )( | ||
| 30304 | ID3D12DeviceTools1 * This); | ||
| 30305 | |||
| 30306 | DECLSPEC_XFGVIRT(IUnknown, Release) | ||
| 30307 | ULONG ( STDMETHODCALLTYPE *Release )( | ||
| 30308 | ID3D12DeviceTools1 * This); | ||
| 30309 | |||
| 30310 | DECLSPEC_XFGVIRT(ID3D12DeviceTools, SetNextAllocationAddress) | ||
| 30311 | void ( STDMETHODCALLTYPE *SetNextAllocationAddress )( | ||
| 30312 | ID3D12DeviceTools1 * This, | ||
| 30313 | _In_ D3D12_GPU_VIRTUAL_ADDRESS nextAllocationVirtualAddress); | ||
| 30314 | |||
| 30315 | DECLSPEC_XFGVIRT(ID3D12DeviceTools1, GetApplicationSpecificDriverState) | ||
| 30316 | HRESULT ( STDMETHODCALLTYPE *GetApplicationSpecificDriverState )( | ||
| 30317 | ID3D12DeviceTools1 * This, | ||
| 30318 | _COM_Outptr_ ID3DBlob **ppBlob); | ||
| 30319 | |||
| 30320 | DECLSPEC_XFGVIRT(ID3D12DeviceTools1, GetApplicationSpecificDriverBlobStatus) | ||
| 30321 | D3D12_APPLICATION_SPECIFIC_DRIVER_BLOB_STATUS ( STDMETHODCALLTYPE *GetApplicationSpecificDriverBlobStatus )( | ||
| 30322 | ID3D12DeviceTools1 * This); | ||
| 30323 | |||
| 30324 | END_INTERFACE | ||
| 30325 | } ID3D12DeviceTools1Vtbl; | ||
| 30326 | |||
| 30327 | interface ID3D12DeviceTools1 | ||
| 30328 | { | ||
| 30329 | CONST_VTBL struct ID3D12DeviceTools1Vtbl *lpVtbl; | ||
| 30330 | }; | ||
| 30331 | |||
| 30332 | |||
| 30333 | |||
| 30334 | #ifdef COBJMACROS | ||
| 30335 | |||
| 30336 | |||
| 30337 | #define ID3D12DeviceTools1_QueryInterface(This,riid,ppvObject) \ | ||
| 30338 | ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) | ||
| 30339 | |||
| 30340 | #define ID3D12DeviceTools1_AddRef(This) \ | ||
| 30341 | ( (This)->lpVtbl -> AddRef(This) ) | ||
| 30342 | |||
| 30343 | #define ID3D12DeviceTools1_Release(This) \ | ||
| 30344 | ( (This)->lpVtbl -> Release(This) ) | ||
| 30345 | |||
| 30346 | |||
| 30347 | #define ID3D12DeviceTools1_SetNextAllocationAddress(This,nextAllocationVirtualAddress) \ | ||
| 30348 | ( (This)->lpVtbl -> SetNextAllocationAddress(This,nextAllocationVirtualAddress) ) | ||
| 30349 | |||
| 30350 | |||
| 30351 | #define ID3D12DeviceTools1_GetApplicationSpecificDriverState(This,ppBlob) \ | ||
| 30352 | ( (This)->lpVtbl -> GetApplicationSpecificDriverState(This,ppBlob) ) | ||
| 30353 | |||
| 30354 | #define ID3D12DeviceTools1_GetApplicationSpecificDriverBlobStatus(This) \ | ||
| 30355 | ( (This)->lpVtbl -> GetApplicationSpecificDriverBlobStatus(This) ) | ||
| 30356 | |||
| 30357 | #endif /* COBJMACROS */ | ||
| 30358 | |||
| 30359 | |||
| 30360 | #endif /* C style interface */ | ||
| 30361 | |||
| 30362 | |||
| 30363 | |||
| 30364 | |||
| 30365 | #endif /* __ID3D12DeviceTools1_INTERFACE_DEFINED__ */ | ||
| 30366 | |||
| 30367 | |||
| 30368 | /* interface __MIDL_itf_d3d12_0000_0071 */ | ||
| 30369 | /* [local] */ | ||
| 30370 | |||
| 30371 | typedef struct D3D12_SUBRESOURCE_DATA | ||
| 30372 | { | ||
| 30373 | const void *pData; | ||
| 30374 | LONG_PTR RowPitch; | ||
| 30375 | LONG_PTR SlicePitch; | ||
| 30376 | } D3D12_SUBRESOURCE_DATA; | ||
| 30377 | |||
| 30378 | typedef struct D3D12_MEMCPY_DEST | ||
| 30379 | { | ||
| 30380 | void *pData; | ||
| 30381 | SIZE_T RowPitch; | ||
| 30382 | SIZE_T SlicePitch; | ||
| 30383 | } D3D12_MEMCPY_DEST; | ||
| 30384 | |||
| 30385 | #if !defined( D3D12_IGNORE_SDK_LAYERS ) | ||
| 30386 | #include "d3d12sdklayers.h" | ||
| 30387 | #endif | ||
| 30388 | |||
| 30389 | /////////////////////////////////////////////////////////////////////////// | ||
| 30390 | // D3D12CreateDevice | ||
| 30391 | // ------------------ | ||
| 30392 | // | ||
| 30393 | // pAdapter | ||
| 30394 | // If NULL, D3D12CreateDevice will choose the primary adapter. | ||
| 30395 | // If non-NULL, D3D12CreateDevice will use the provided adapter. | ||
| 30396 | // MinimumFeatureLevel | ||
| 30397 | // The minimum feature level required for successful device creation. | ||
| 30398 | // riid | ||
| 30399 | // The interface IID of the device to be returned. Expected: ID3D12Device. | ||
| 30400 | // ppDevice | ||
| 30401 | // Pointer to returned interface. May be NULL. | ||
| 30402 | // | ||
| 30403 | // Return Values | ||
| 30404 | // Any of those documented for | ||
| 30405 | // CreateDXGIFactory1 | ||
| 30406 | // IDXGIFactory::EnumAdapters | ||
| 30407 | // D3D12CreateDevice | ||
| 30408 | // | ||
| 30409 | /////////////////////////////////////////////////////////////////////////// | ||
| 30410 | typedef HRESULT (WINAPI* PFN_D3D12_CREATE_DEVICE)( _In_opt_ IUnknown*, | ||
| 30411 | D3D_FEATURE_LEVEL, | ||
| 30412 | _In_ REFIID, _COM_Outptr_opt_ void** ); | ||
| 30413 | |||
| 30414 | HRESULT WINAPI D3D12CreateDevice( | ||
| 30415 | _In_opt_ IUnknown* pAdapter, | ||
| 30416 | D3D_FEATURE_LEVEL MinimumFeatureLevel, | ||
| 30417 | _In_ REFIID riid, // Expected: ID3D12Device | ||
| 30418 | _COM_Outptr_opt_ void** ppDevice ); | ||
| 30419 | |||
| 30420 | |||
| 30421 | typedef HRESULT (WINAPI* PFN_D3D12_GET_DEBUG_INTERFACE)( _In_ REFIID, _COM_Outptr_opt_ void** ); | ||
| 30422 | |||
| 30423 | HRESULT WINAPI D3D12GetDebugInterface( _In_ REFIID riid, _COM_Outptr_opt_ void** ppvDebug ); | ||
| 30424 | |||
| 30425 | // -------------------------------------------------------------------------------------------------------------------------------- | ||
| 30426 | // D3D12EnableExperimentalFeatures | ||
| 30427 | // | ||
| 30428 | // Pass in a list of feature GUIDs to be enabled together. | ||
| 30429 | // | ||
| 30430 | // If a particular feature requires some configuration information on enablement, it will have | ||
| 30431 | // a configuration struct that can be passed alongside the GUID. | ||
| 30432 | // | ||
| 30433 | // Some features might use an interface IID as the GUID. For these, once the feature is enabled via | ||
| 30434 | // D3D12EnableExperimentalFeatures, D3D12GetDebugInterface can then be called with the IID to retrieve the interface | ||
| 30435 | // for manipulating the feature. This allows for control that might not cleanly be expressed by just | ||
| 30436 | // the configuration struct that D3D12EnableExperimentalFeatures provides. | ||
| 30437 | // | ||
| 30438 | // If this method is called and a change to existing feature enablement is made, | ||
| 30439 | // all current D3D12 devices are set to DEVICE_REMOVED state, since under the covers there is really only one | ||
| 30440 | // singleton device for a process. Removing the devices when configuration changes prevents | ||
| 30441 | // mismatched expectations of how a device is supposed to work after it has been created from the app's point of view. | ||
| 30442 | // | ||
| 30443 | // The call returns E_NOINTERFACE if an unrecognized feature is passed in or Windows Developer mode is not on. | ||
| 30444 | // The call returns E_INVALIDARG if the configuration of a feature is incorrect, the set of features passed | ||
| 30445 | // in are known to be incompatible with each other, or other errors. | ||
| 30446 | // Returns S_OK otherwise. | ||
| 30447 | // | ||
| 30448 | // -------------------------------------------------------------------------------------------------------------------------------- | ||
| 30449 | HRESULT WINAPI D3D12EnableExperimentalFeatures( | ||
| 30450 | UINT NumFeatures, | ||
| 30451 | _In_count_(NumFeatures) const IID* pIIDs, | ||
| 30452 | _In_opt_count_(NumFeatures) void* pConfigurationStructs, | ||
| 30453 | _In_opt_count_(NumFeatures) UINT* pConfigurationStructSizes); | ||
| 30454 | |||
| 30455 | // -------------------------------------------------------------------------------------------------------------------------------- | ||
| 30456 | // Experimental Feature: D3D12ExperimentalShaderModels | ||
| 30457 | // | ||
| 30458 | // Use with D3D12EnableExperimentalFeatures to enable experimental shader model support, | ||
| 30459 | // meaning shader models that haven't been finalized for use in retail. | ||
| 30460 | // | ||
| 30461 | // Enabling D3D12ExperimentalShaderModels needs no configuration struct, pass NULL in the pConfigurationStructs array. | ||
| 30462 | // | ||
| 30463 | // -------------------------------------------------------------------------------------------------------------------------------- | ||
| 30464 | static const UUID D3D12ExperimentalShaderModels = { /* 76f5573e-f13a-40f5-b297-81ce9e18933f */ | ||
| 30465 | 0x76f5573e, | ||
| 30466 | 0xf13a, | ||
| 30467 | 0x40f5, | ||
| 30468 | { 0xb2, 0x97, 0x81, 0xce, 0x9e, 0x18, 0x93, 0x3f } | ||
| 30469 | }; | ||
| 30470 | // -------------------------------------------------------------------------------------------------------------------------------- | ||
| 30471 | // Experimental Feature: D3D12TiledResourceTier4 | ||
| 30472 | // | ||
| 30473 | // Use with D3D12EnableExperimentalFeatures to enable tiled resource tier 4 support, | ||
| 30474 | // meaning texture tile data-inheritance is allowed. | ||
| 30475 | // | ||
| 30476 | // Enabling D3D12TiledResourceTier4 needs no configuration struct, pass NULL in the pConfigurationStructs array. | ||
| 30477 | // | ||
| 30478 | // -------------------------------------------------------------------------------------------------------------------------------- | ||
| 30479 | static const UUID D3D12TiledResourceTier4 = { /* c9c4725f-a81a-4f56-8c5b-c51039d694fb */ | ||
| 30480 | 0xc9c4725f, | ||
| 30481 | 0xa81a, | ||
| 30482 | 0x4f56, | ||
| 30483 | { 0x8c, 0x5b, 0xc5, 0x10, 0x39, 0xd6, 0x94, 0xfb } | ||
| 30484 | }; | ||
| 30485 | // -------------------------------------------------------------------------------------------------------------------------------- | ||
| 30486 | // Experimental Feature: D3D12GPUUploadHeapsOnUnsupportedOS | ||
| 30487 | // | ||
| 30488 | // Use with D3D12EnableExperimentalFeatures to enable GPU upload heaps support on an unsupported OS, | ||
| 30489 | // driver support is still required for this feature. | ||
| 30490 | // | ||
| 30491 | // Enabling D3D12GPUUploadHeapsOnUnsupportedOS needs no configuration struct, pass NULL in the pConfigurationStructs array. | ||
| 30492 | // | ||
| 30493 | // -------------------------------------------------------------------------------------------------------------------------------- | ||
| 30494 | static const UUID D3D12GPUUploadHeapsOnUnsupportedOS = { /* 45dc51f3-767f-4588-b206-0baa2b16fbae */ | ||
| 30495 | 0x45dc51f3, | ||
| 30496 | 0x767f, | ||
| 30497 | 0x4588, | ||
| 30498 | { 0xb2, 0x06, 0x0b, 0xaa, 0x2b, 0x16, 0xfb, 0xae } | ||
| 30499 | }; | ||
| 30500 | // -------------------------------------------------------------------------------------------------------------------------------- | ||
| 30501 | // D3D12GetInterface | ||
| 30502 | // | ||
| 30503 | // Retrieve Global D3D12 Interface. | ||
| 30504 | // | ||
| 30505 | |||
| 30506 | DEFINE_GUID(CLSID_D3D12Debug, 0xf2352aeb, 0xdd84, 0x49fe, 0xb9, 0x7b, 0xa9, 0xdc, 0xfd, 0xcc, 0x1b, 0x4f); | ||
| 30507 | DEFINE_GUID(CLSID_D3D12Tools, 0xe38216b1, 0x3c8c, 0x4833, 0xaa, 0x09, 0x0a, 0x06, 0xb6, 0x5d, 0x96, 0xc8); | ||
| 30508 | DEFINE_GUID(CLSID_D3D12DeviceRemovedExtendedData, 0x4a75bbc4, 0x9ff4, 0x4ad8, 0x9f, 0x18, 0xab, 0xae, 0x84, 0xdc, 0x5f, 0xf2); | ||
| 30509 | DEFINE_GUID(CLSID_D3D12SDKConfiguration, 0x7cda6aca, 0xa03e, 0x49c8, 0x94, 0x58, 0x03, 0x34, 0xd2, 0x0e, 0x07, 0xce); | ||
| 30510 | DEFINE_GUID(CLSID_D3D12DeviceFactory, 0x114863bf, 0xc386, 0x4aee, 0xb3, 0x9d, 0x8f, 0x0b, 0xbb, 0x06, 0x29, 0x55); | ||
| 30511 | DEFINE_GUID(CLSID_D3D12DSRDeviceFactory, 0xbb6dd27e, 0x94a9, 0x41a6, 0x9f, 0x1b, 0x13, 0x37, 0x72, 0x17, 0x24, 0x28); | ||
| 30512 | DEFINE_GUID(CLSID_D3D12StateObjectFactory, 0x54e1c9f3, 0x1303, 0x4112, 0xbf, 0x8e, 0x7b, 0xf2, 0xbb, 0x60, 0x6a, 0x73); | ||
| 30513 | |||
| 30514 | typedef HRESULT (WINAPI* PFN_D3D12_GET_INTERFACE)( _In_ REFCLSID, _In_ REFIID, _COM_Outptr_opt_ void** ); | ||
| 30515 | |||
| 30516 | HRESULT WINAPI D3D12GetInterface( _In_ REFCLSID rclsid, _In_ REFIID riid, _COM_Outptr_opt_ void** ppvDebug ); | ||
| 30517 | |||
| 30518 | |||
| 30519 | |||
| 30520 | extern RPC_IF_HANDLE __MIDL_itf_d3d12_0000_0071_v0_0_c_ifspec; | ||
| 30521 | extern RPC_IF_HANDLE __MIDL_itf_d3d12_0000_0071_v0_0_s_ifspec; | ||
| 30522 | |||
| 30523 | #ifndef __ID3D12SDKConfiguration_INTERFACE_DEFINED__ | ||
| 30524 | #define __ID3D12SDKConfiguration_INTERFACE_DEFINED__ | ||
| 30525 | |||
| 30526 | /* interface ID3D12SDKConfiguration */ | ||
| 30527 | /* [unique][local][object][uuid] */ | ||
| 30528 | |||
| 30529 | |||
| 30530 | EXTERN_C const IID IID_ID3D12SDKConfiguration; | ||
| 30531 | |||
| 30532 | #if defined(__cplusplus) && !defined(CINTERFACE) | ||
| 30533 | |||
| 30534 | MIDL_INTERFACE("e9eb5314-33aa-42b2-a718-d77f58b1f1c7") | ||
| 30535 | ID3D12SDKConfiguration : public IUnknown | ||
| 30536 | { | ||
| 30537 | public: | ||
| 30538 | virtual HRESULT STDMETHODCALLTYPE SetSDKVersion( | ||
| 30539 | UINT SDKVersion, | ||
| 30540 | _In_z_ LPCSTR SDKPath) = 0; | ||
| 30541 | |||
| 30542 | }; | ||
| 30543 | |||
| 30544 | |||
| 30545 | #else /* C style interface */ | ||
| 30546 | |||
| 30547 | typedef struct ID3D12SDKConfigurationVtbl | ||
| 30548 | { | ||
| 30549 | BEGIN_INTERFACE | ||
| 30550 | |||
| 30551 | DECLSPEC_XFGVIRT(IUnknown, QueryInterface) | ||
| 30552 | HRESULT ( STDMETHODCALLTYPE *QueryInterface )( | ||
| 30553 | ID3D12SDKConfiguration * This, | ||
| 30554 | REFIID riid, | ||
| 30555 | _COM_Outptr_ void **ppvObject); | ||
| 30556 | |||
| 30557 | DECLSPEC_XFGVIRT(IUnknown, AddRef) | ||
| 30558 | ULONG ( STDMETHODCALLTYPE *AddRef )( | ||
| 30559 | ID3D12SDKConfiguration * This); | ||
| 30560 | |||
| 30561 | DECLSPEC_XFGVIRT(IUnknown, Release) | ||
| 30562 | ULONG ( STDMETHODCALLTYPE *Release )( | ||
| 30563 | ID3D12SDKConfiguration * This); | ||
| 30564 | |||
| 30565 | DECLSPEC_XFGVIRT(ID3D12SDKConfiguration, SetSDKVersion) | ||
| 30566 | HRESULT ( STDMETHODCALLTYPE *SetSDKVersion )( | ||
| 30567 | ID3D12SDKConfiguration * This, | ||
| 30568 | UINT SDKVersion, | ||
| 30569 | _In_z_ LPCSTR SDKPath); | ||
| 30570 | |||
| 30571 | END_INTERFACE | ||
| 30572 | } ID3D12SDKConfigurationVtbl; | ||
| 30573 | |||
| 30574 | interface ID3D12SDKConfiguration | ||
| 30575 | { | ||
| 30576 | CONST_VTBL struct ID3D12SDKConfigurationVtbl *lpVtbl; | ||
| 30577 | }; | ||
| 30578 | |||
| 30579 | |||
| 30580 | |||
| 30581 | #ifdef COBJMACROS | ||
| 30582 | |||
| 30583 | |||
| 30584 | #define ID3D12SDKConfiguration_QueryInterface(This,riid,ppvObject) \ | ||
| 30585 | ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) | ||
| 30586 | |||
| 30587 | #define ID3D12SDKConfiguration_AddRef(This) \ | ||
| 30588 | ( (This)->lpVtbl -> AddRef(This) ) | ||
| 30589 | |||
| 30590 | #define ID3D12SDKConfiguration_Release(This) \ | ||
| 30591 | ( (This)->lpVtbl -> Release(This) ) | ||
| 30592 | |||
| 30593 | |||
| 30594 | #define ID3D12SDKConfiguration_SetSDKVersion(This,SDKVersion,SDKPath) \ | ||
| 30595 | ( (This)->lpVtbl -> SetSDKVersion(This,SDKVersion,SDKPath) ) | ||
| 30596 | |||
| 30597 | #endif /* COBJMACROS */ | ||
| 30598 | |||
| 30599 | |||
| 30600 | #endif /* C style interface */ | ||
| 30601 | |||
| 30602 | |||
| 30603 | |||
| 30604 | |||
| 30605 | #endif /* __ID3D12SDKConfiguration_INTERFACE_DEFINED__ */ | ||
| 30606 | |||
| 30607 | |||
| 30608 | #ifndef __ID3D12SDKConfiguration1_INTERFACE_DEFINED__ | ||
| 30609 | #define __ID3D12SDKConfiguration1_INTERFACE_DEFINED__ | ||
| 30610 | |||
| 30611 | /* interface ID3D12SDKConfiguration1 */ | ||
| 30612 | /* [unique][local][object][uuid] */ | ||
| 30613 | |||
| 30614 | |||
| 30615 | EXTERN_C const IID IID_ID3D12SDKConfiguration1; | ||
| 30616 | |||
| 30617 | #if defined(__cplusplus) && !defined(CINTERFACE) | ||
| 30618 | |||
| 30619 | MIDL_INTERFACE("8aaf9303-ad25-48b9-9a57-d9c37e009d9f") | ||
| 30620 | ID3D12SDKConfiguration1 : public ID3D12SDKConfiguration | ||
| 30621 | { | ||
| 30622 | public: | ||
| 30623 | virtual HRESULT STDMETHODCALLTYPE CreateDeviceFactory( | ||
| 30624 | UINT SDKVersion, | ||
| 30625 | _In_ LPCSTR SDKPath, | ||
| 30626 | REFIID riid, | ||
| 30627 | _COM_Outptr_ void **ppvFactory) = 0; | ||
| 30628 | |||
| 30629 | virtual void STDMETHODCALLTYPE FreeUnusedSDKs( void) = 0; | ||
| 30630 | |||
| 30631 | }; | ||
| 30632 | |||
| 30633 | |||
| 30634 | #else /* C style interface */ | ||
| 30635 | |||
| 30636 | typedef struct ID3D12SDKConfiguration1Vtbl | ||
| 30637 | { | ||
| 30638 | BEGIN_INTERFACE | ||
| 30639 | |||
| 30640 | DECLSPEC_XFGVIRT(IUnknown, QueryInterface) | ||
| 30641 | HRESULT ( STDMETHODCALLTYPE *QueryInterface )( | ||
| 30642 | ID3D12SDKConfiguration1 * This, | ||
| 30643 | REFIID riid, | ||
| 30644 | _COM_Outptr_ void **ppvObject); | ||
| 30645 | |||
| 30646 | DECLSPEC_XFGVIRT(IUnknown, AddRef) | ||
| 30647 | ULONG ( STDMETHODCALLTYPE *AddRef )( | ||
| 30648 | ID3D12SDKConfiguration1 * This); | ||
| 30649 | |||
| 30650 | DECLSPEC_XFGVIRT(IUnknown, Release) | ||
| 30651 | ULONG ( STDMETHODCALLTYPE *Release )( | ||
| 30652 | ID3D12SDKConfiguration1 * This); | ||
| 30653 | |||
| 30654 | DECLSPEC_XFGVIRT(ID3D12SDKConfiguration, SetSDKVersion) | ||
| 30655 | HRESULT ( STDMETHODCALLTYPE *SetSDKVersion )( | ||
| 30656 | ID3D12SDKConfiguration1 * This, | ||
| 30657 | UINT SDKVersion, | ||
| 30658 | _In_z_ LPCSTR SDKPath); | ||
| 30659 | |||
| 30660 | DECLSPEC_XFGVIRT(ID3D12SDKConfiguration1, CreateDeviceFactory) | ||
| 30661 | HRESULT ( STDMETHODCALLTYPE *CreateDeviceFactory )( | ||
| 30662 | ID3D12SDKConfiguration1 * This, | ||
| 30663 | UINT SDKVersion, | ||
| 30664 | _In_ LPCSTR SDKPath, | ||
| 30665 | REFIID riid, | ||
| 30666 | _COM_Outptr_ void **ppvFactory); | ||
| 30667 | |||
| 30668 | DECLSPEC_XFGVIRT(ID3D12SDKConfiguration1, FreeUnusedSDKs) | ||
| 30669 | void ( STDMETHODCALLTYPE *FreeUnusedSDKs )( | ||
| 30670 | ID3D12SDKConfiguration1 * This); | ||
| 30671 | |||
| 30672 | END_INTERFACE | ||
| 30673 | } ID3D12SDKConfiguration1Vtbl; | ||
| 30674 | |||
| 30675 | interface ID3D12SDKConfiguration1 | ||
| 30676 | { | ||
| 30677 | CONST_VTBL struct ID3D12SDKConfiguration1Vtbl *lpVtbl; | ||
| 30678 | }; | ||
| 30679 | |||
| 30680 | |||
| 30681 | |||
| 30682 | #ifdef COBJMACROS | ||
| 30683 | |||
| 30684 | |||
| 30685 | #define ID3D12SDKConfiguration1_QueryInterface(This,riid,ppvObject) \ | ||
| 30686 | ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) | ||
| 30687 | |||
| 30688 | #define ID3D12SDKConfiguration1_AddRef(This) \ | ||
| 30689 | ( (This)->lpVtbl -> AddRef(This) ) | ||
| 30690 | |||
| 30691 | #define ID3D12SDKConfiguration1_Release(This) \ | ||
| 30692 | ( (This)->lpVtbl -> Release(This) ) | ||
| 30693 | |||
| 30694 | |||
| 30695 | #define ID3D12SDKConfiguration1_SetSDKVersion(This,SDKVersion,SDKPath) \ | ||
| 30696 | ( (This)->lpVtbl -> SetSDKVersion(This,SDKVersion,SDKPath) ) | ||
| 30697 | |||
| 30698 | |||
| 30699 | #define ID3D12SDKConfiguration1_CreateDeviceFactory(This,SDKVersion,SDKPath,riid,ppvFactory) \ | ||
| 30700 | ( (This)->lpVtbl -> CreateDeviceFactory(This,SDKVersion,SDKPath,riid,ppvFactory) ) | ||
| 30701 | |||
| 30702 | #define ID3D12SDKConfiguration1_FreeUnusedSDKs(This) \ | ||
| 30703 | ( (This)->lpVtbl -> FreeUnusedSDKs(This) ) | ||
| 30704 | |||
| 30705 | #endif /* COBJMACROS */ | ||
| 30706 | |||
| 30707 | |||
| 30708 | #endif /* C style interface */ | ||
| 30709 | |||
| 30710 | |||
| 30711 | |||
| 30712 | |||
| 30713 | #endif /* __ID3D12SDKConfiguration1_INTERFACE_DEFINED__ */ | ||
| 30714 | |||
| 30715 | |||
| 30716 | /* interface __MIDL_itf_d3d12_0000_0073 */ | ||
| 30717 | /* [local] */ | ||
| 30718 | |||
| 30719 | typedef | ||
| 30720 | enum D3D12_DEVICE_FACTORY_FLAGS | ||
| 30721 | { | ||
| 30722 | D3D12_DEVICE_FACTORY_FLAG_NONE = 0, | ||
| 30723 | D3D12_DEVICE_FACTORY_FLAG_ALLOW_RETURNING_EXISTING_DEVICE = 0x1, | ||
| 30724 | D3D12_DEVICE_FACTORY_FLAG_ALLOW_RETURNING_INCOMPATIBLE_EXISTING_DEVICE = 0x2, | ||
| 30725 | D3D12_DEVICE_FACTORY_FLAG_DISALLOW_STORING_NEW_DEVICE_AS_SINGLETON = 0x4 | ||
| 30726 | } D3D12_DEVICE_FACTORY_FLAGS; | ||
| 30727 | |||
| 30728 | DEFINE_ENUM_FLAG_OPERATORS( D3D12_DEVICE_FACTORY_FLAGS ) | ||
| 30729 | |||
| 30730 | |||
| 30731 | extern RPC_IF_HANDLE __MIDL_itf_d3d12_0000_0073_v0_0_c_ifspec; | ||
| 30732 | extern RPC_IF_HANDLE __MIDL_itf_d3d12_0000_0073_v0_0_s_ifspec; | ||
| 30733 | |||
| 30734 | #ifndef __ID3D12DeviceFactory_INTERFACE_DEFINED__ | ||
| 30735 | #define __ID3D12DeviceFactory_INTERFACE_DEFINED__ | ||
| 30736 | |||
| 30737 | /* interface ID3D12DeviceFactory */ | ||
| 30738 | /* [unique][local][object][uuid] */ | ||
| 30739 | |||
| 30740 | |||
| 30741 | EXTERN_C const IID IID_ID3D12DeviceFactory; | ||
| 30742 | |||
| 30743 | #if defined(__cplusplus) && !defined(CINTERFACE) | ||
| 30744 | |||
| 30745 | MIDL_INTERFACE("61f307d3-d34e-4e7c-8374-3ba4de23cccb") | ||
| 30746 | ID3D12DeviceFactory : public IUnknown | ||
| 30747 | { | ||
| 30748 | public: | ||
| 30749 | virtual HRESULT STDMETHODCALLTYPE InitializeFromGlobalState( void) = 0; | ||
| 30750 | |||
| 30751 | virtual HRESULT STDMETHODCALLTYPE ApplyToGlobalState( void) = 0; | ||
| 30752 | |||
| 30753 | virtual HRESULT STDMETHODCALLTYPE SetFlags( | ||
| 30754 | D3D12_DEVICE_FACTORY_FLAGS flags) = 0; | ||
| 30755 | |||
| 30756 | virtual D3D12_DEVICE_FACTORY_FLAGS STDMETHODCALLTYPE GetFlags( void) = 0; | ||
| 30757 | |||
| 30758 | virtual HRESULT STDMETHODCALLTYPE GetConfigurationInterface( | ||
| 30759 | REFCLSID clsid, | ||
| 30760 | REFIID iid, | ||
| 30761 | _COM_Outptr_ void **ppv) = 0; | ||
| 30762 | |||
| 30763 | virtual HRESULT STDMETHODCALLTYPE EnableExperimentalFeatures( | ||
| 30764 | UINT NumFeatures, | ||
| 30765 | _In_reads_(NumFeatures) const IID *pIIDs, | ||
| 30766 | _In_reads_opt_(NumFeatures) void *pConfigurationStructs, | ||
| 30767 | _In_reads_opt_(NumFeatures) UINT *pConfigurationStructSizes) = 0; | ||
| 30768 | |||
| 30769 | virtual HRESULT STDMETHODCALLTYPE CreateDevice( | ||
| 30770 | _In_opt_ IUnknown *adapter, | ||
| 30771 | D3D_FEATURE_LEVEL FeatureLevel, | ||
| 30772 | REFIID riid, | ||
| 30773 | _COM_Outptr_opt_ void **ppvDevice) = 0; | ||
| 30774 | |||
| 30775 | }; | ||
| 30776 | |||
| 30777 | |||
| 30778 | #else /* C style interface */ | ||
| 30779 | |||
| 30780 | typedef struct ID3D12DeviceFactoryVtbl | ||
| 30781 | { | ||
| 30782 | BEGIN_INTERFACE | ||
| 30783 | |||
| 30784 | DECLSPEC_XFGVIRT(IUnknown, QueryInterface) | ||
| 30785 | HRESULT ( STDMETHODCALLTYPE *QueryInterface )( | ||
| 30786 | ID3D12DeviceFactory * This, | ||
| 30787 | REFIID riid, | ||
| 30788 | _COM_Outptr_ void **ppvObject); | ||
| 30789 | |||
| 30790 | DECLSPEC_XFGVIRT(IUnknown, AddRef) | ||
| 30791 | ULONG ( STDMETHODCALLTYPE *AddRef )( | ||
| 30792 | ID3D12DeviceFactory * This); | ||
| 30793 | |||
| 30794 | DECLSPEC_XFGVIRT(IUnknown, Release) | ||
| 30795 | ULONG ( STDMETHODCALLTYPE *Release )( | ||
| 30796 | ID3D12DeviceFactory * This); | ||
| 30797 | |||
| 30798 | DECLSPEC_XFGVIRT(ID3D12DeviceFactory, InitializeFromGlobalState) | ||
| 30799 | HRESULT ( STDMETHODCALLTYPE *InitializeFromGlobalState )( | ||
| 30800 | ID3D12DeviceFactory * This); | ||
| 30801 | |||
| 30802 | DECLSPEC_XFGVIRT(ID3D12DeviceFactory, ApplyToGlobalState) | ||
| 30803 | HRESULT ( STDMETHODCALLTYPE *ApplyToGlobalState )( | ||
| 30804 | ID3D12DeviceFactory * This); | ||
| 30805 | |||
| 30806 | DECLSPEC_XFGVIRT(ID3D12DeviceFactory, SetFlags) | ||
| 30807 | HRESULT ( STDMETHODCALLTYPE *SetFlags )( | ||
| 30808 | ID3D12DeviceFactory * This, | ||
| 30809 | D3D12_DEVICE_FACTORY_FLAGS flags); | ||
| 30810 | |||
| 30811 | DECLSPEC_XFGVIRT(ID3D12DeviceFactory, GetFlags) | ||
| 30812 | D3D12_DEVICE_FACTORY_FLAGS ( STDMETHODCALLTYPE *GetFlags )( | ||
| 30813 | ID3D12DeviceFactory * This); | ||
| 30814 | |||
| 30815 | DECLSPEC_XFGVIRT(ID3D12DeviceFactory, GetConfigurationInterface) | ||
| 30816 | HRESULT ( STDMETHODCALLTYPE *GetConfigurationInterface )( | ||
| 30817 | ID3D12DeviceFactory * This, | ||
| 30818 | REFCLSID clsid, | ||
| 30819 | REFIID iid, | ||
| 30820 | _COM_Outptr_ void **ppv); | ||
| 30821 | |||
| 30822 | DECLSPEC_XFGVIRT(ID3D12DeviceFactory, EnableExperimentalFeatures) | ||
| 30823 | HRESULT ( STDMETHODCALLTYPE *EnableExperimentalFeatures )( | ||
| 30824 | ID3D12DeviceFactory * This, | ||
| 30825 | UINT NumFeatures, | ||
| 30826 | _In_reads_(NumFeatures) const IID *pIIDs, | ||
| 30827 | _In_reads_opt_(NumFeatures) void *pConfigurationStructs, | ||
| 30828 | _In_reads_opt_(NumFeatures) UINT *pConfigurationStructSizes); | ||
| 30829 | |||
| 30830 | DECLSPEC_XFGVIRT(ID3D12DeviceFactory, CreateDevice) | ||
| 30831 | HRESULT ( STDMETHODCALLTYPE *CreateDevice )( | ||
| 30832 | ID3D12DeviceFactory * This, | ||
| 30833 | _In_opt_ IUnknown *adapter, | ||
| 30834 | D3D_FEATURE_LEVEL FeatureLevel, | ||
| 30835 | REFIID riid, | ||
| 30836 | _COM_Outptr_opt_ void **ppvDevice); | ||
| 30837 | |||
| 30838 | END_INTERFACE | ||
| 30839 | } ID3D12DeviceFactoryVtbl; | ||
| 30840 | |||
| 30841 | interface ID3D12DeviceFactory | ||
| 30842 | { | ||
| 30843 | CONST_VTBL struct ID3D12DeviceFactoryVtbl *lpVtbl; | ||
| 30844 | }; | ||
| 30845 | |||
| 30846 | |||
| 30847 | |||
| 30848 | #ifdef COBJMACROS | ||
| 30849 | |||
| 30850 | |||
| 30851 | #define ID3D12DeviceFactory_QueryInterface(This,riid,ppvObject) \ | ||
| 30852 | ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) | ||
| 30853 | |||
| 30854 | #define ID3D12DeviceFactory_AddRef(This) \ | ||
| 30855 | ( (This)->lpVtbl -> AddRef(This) ) | ||
| 30856 | |||
| 30857 | #define ID3D12DeviceFactory_Release(This) \ | ||
| 30858 | ( (This)->lpVtbl -> Release(This) ) | ||
| 30859 | |||
| 30860 | |||
| 30861 | #define ID3D12DeviceFactory_InitializeFromGlobalState(This) \ | ||
| 30862 | ( (This)->lpVtbl -> InitializeFromGlobalState(This) ) | ||
| 30863 | |||
| 30864 | #define ID3D12DeviceFactory_ApplyToGlobalState(This) \ | ||
| 30865 | ( (This)->lpVtbl -> ApplyToGlobalState(This) ) | ||
| 30866 | |||
| 30867 | #define ID3D12DeviceFactory_SetFlags(This,flags) \ | ||
| 30868 | ( (This)->lpVtbl -> SetFlags(This,flags) ) | ||
| 30869 | |||
| 30870 | #define ID3D12DeviceFactory_GetFlags(This) \ | ||
| 30871 | ( (This)->lpVtbl -> GetFlags(This) ) | ||
| 30872 | |||
| 30873 | #define ID3D12DeviceFactory_GetConfigurationInterface(This,clsid,iid,ppv) \ | ||
| 30874 | ( (This)->lpVtbl -> GetConfigurationInterface(This,clsid,iid,ppv) ) | ||
| 30875 | |||
| 30876 | #define ID3D12DeviceFactory_EnableExperimentalFeatures(This,NumFeatures,pIIDs,pConfigurationStructs,pConfigurationStructSizes) \ | ||
| 30877 | ( (This)->lpVtbl -> EnableExperimentalFeatures(This,NumFeatures,pIIDs,pConfigurationStructs,pConfigurationStructSizes) ) | ||
| 30878 | |||
| 30879 | #define ID3D12DeviceFactory_CreateDevice(This,adapter,FeatureLevel,riid,ppvDevice) \ | ||
| 30880 | ( (This)->lpVtbl -> CreateDevice(This,adapter,FeatureLevel,riid,ppvDevice) ) | ||
| 30881 | |||
| 30882 | #endif /* COBJMACROS */ | ||
| 30883 | |||
| 30884 | |||
| 30885 | #endif /* C style interface */ | ||
| 30886 | |||
| 30887 | |||
| 30888 | |||
| 30889 | |||
| 30890 | #endif /* __ID3D12DeviceFactory_INTERFACE_DEFINED__ */ | ||
| 30891 | |||
| 30892 | |||
| 30893 | /* interface __MIDL_itf_d3d12_0000_0074 */ | ||
| 30894 | /* [local] */ | ||
| 30895 | |||
| 30896 | typedef | ||
| 30897 | enum D3D12_DEVICE_FLAGS | ||
| 30898 | { | ||
| 30899 | D3D12_DEVICE_FLAG_NONE = 0, | ||
| 30900 | D3D12_DEVICE_FLAG_DEBUG_LAYER_ENABLED = 0x1, | ||
| 30901 | D3D12_DEVICE_FLAG_GPU_BASED_VALIDATION_ENABLED = 0x2, | ||
| 30902 | D3D12_DEVICE_FLAG_SYNCHRONIZED_COMMAND_QUEUE_VALIDATION_DISABLED = 0x4, | ||
| 30903 | D3D12_DEVICE_FLAG_DRED_AUTO_BREADCRUMBS_ENABLED = 0x8, | ||
| 30904 | D3D12_DEVICE_FLAG_DRED_PAGE_FAULT_REPORTING_ENABLED = 0x10, | ||
| 30905 | D3D12_DEVICE_FLAG_DRED_WATSON_REPORTING_ENABLED = 0x20, | ||
| 30906 | D3D12_DEVICE_FLAG_DRED_BREADCRUMB_CONTEXT_ENABLED = 0x40, | ||
| 30907 | D3D12_DEVICE_FLAG_DRED_USE_MARKERS_ONLY_BREADCRUMBS = 0x80, | ||
| 30908 | D3D12_DEVICE_FLAG_SHADER_INSTRUMENTATION_ENABLED = 0x100, | ||
| 30909 | D3D12_DEVICE_FLAG_AUTO_DEBUG_NAME_ENABLED = 0x200, | ||
| 30910 | D3D12_DEVICE_FLAG_FORCE_LEGACY_STATE_VALIDATION = 0x400 | ||
| 30911 | } D3D12_DEVICE_FLAGS; | ||
| 30912 | |||
| 30913 | DEFINE_ENUM_FLAG_OPERATORS( D3D12_DEVICE_FLAGS ) | ||
| 30914 | typedef struct D3D12_DEVICE_CONFIGURATION_DESC | ||
| 30915 | { | ||
| 30916 | D3D12_DEVICE_FLAGS Flags; | ||
| 30917 | UINT GpuBasedValidationFlags; | ||
| 30918 | UINT SDKVersion; | ||
| 30919 | UINT NumEnabledExperimentalFeatures; | ||
| 30920 | } D3D12_DEVICE_CONFIGURATION_DESC; | ||
| 30921 | |||
| 30922 | |||
| 30923 | |||
| 30924 | extern RPC_IF_HANDLE __MIDL_itf_d3d12_0000_0074_v0_0_c_ifspec; | ||
| 30925 | extern RPC_IF_HANDLE __MIDL_itf_d3d12_0000_0074_v0_0_s_ifspec; | ||
| 30926 | |||
| 30927 | #ifndef __ID3D12DeviceConfiguration_INTERFACE_DEFINED__ | ||
| 30928 | #define __ID3D12DeviceConfiguration_INTERFACE_DEFINED__ | ||
| 30929 | |||
| 30930 | /* interface ID3D12DeviceConfiguration */ | ||
| 30931 | /* [unique][local][object][uuid] */ | ||
| 30932 | |||
| 30933 | |||
| 30934 | EXTERN_C const IID IID_ID3D12DeviceConfiguration; | ||
| 30935 | |||
| 30936 | #if defined(__cplusplus) && !defined(CINTERFACE) | ||
| 30937 | |||
| 30938 | MIDL_INTERFACE("78dbf87b-f766-422b-a61c-c8c446bdb9ad") | ||
| 30939 | ID3D12DeviceConfiguration : public IUnknown | ||
| 30940 | { | ||
| 30941 | public: | ||
| 30942 | #if defined(_MSC_VER) || !defined(_WIN32) | ||
| 30943 | virtual D3D12_DEVICE_CONFIGURATION_DESC STDMETHODCALLTYPE GetDesc( void) = 0; | ||
| 30944 | #else | ||
| 30945 | virtual D3D12_DEVICE_CONFIGURATION_DESC *STDMETHODCALLTYPE GetDesc( | ||
| 30946 | D3D12_DEVICE_CONFIGURATION_DESC * RetVal) = 0; | ||
| 30947 | #endif | ||
| 30948 | |||
| 30949 | virtual HRESULT STDMETHODCALLTYPE GetEnabledExperimentalFeatures( | ||
| 30950 | _Out_writes_(NumGuids) GUID *pGuids, | ||
| 30951 | UINT NumGuids) = 0; | ||
| 30952 | |||
| 30953 | virtual HRESULT STDMETHODCALLTYPE SerializeVersionedRootSignature( | ||
| 30954 | _In_ const D3D12_VERSIONED_ROOT_SIGNATURE_DESC *pDesc, | ||
| 30955 | _COM_Outptr_ ID3DBlob **ppResult, | ||
| 30956 | _Always_(_Outptr_opt_result_maybenull_) ID3DBlob **ppError) = 0; | ||
| 30957 | |||
| 30958 | virtual HRESULT STDMETHODCALLTYPE CreateVersionedRootSignatureDeserializer( | ||
| 30959 | _In_reads_bytes_(Size) const void *pBlob, | ||
| 30960 | SIZE_T Size, | ||
| 30961 | REFIID riid, | ||
| 30962 | _COM_Outptr_ void **ppvDeserializer) = 0; | ||
| 30963 | |||
| 30964 | }; | ||
| 30965 | |||
| 30966 | |||
| 30967 | #else /* C style interface */ | ||
| 30968 | |||
| 30969 | typedef struct ID3D12DeviceConfigurationVtbl | ||
| 30970 | { | ||
| 30971 | BEGIN_INTERFACE | ||
| 30972 | |||
| 30973 | DECLSPEC_XFGVIRT(IUnknown, QueryInterface) | ||
| 30974 | HRESULT ( STDMETHODCALLTYPE *QueryInterface )( | ||
| 30975 | ID3D12DeviceConfiguration * This, | ||
| 30976 | REFIID riid, | ||
| 30977 | _COM_Outptr_ void **ppvObject); | ||
| 30978 | |||
| 30979 | DECLSPEC_XFGVIRT(IUnknown, AddRef) | ||
| 30980 | ULONG ( STDMETHODCALLTYPE *AddRef )( | ||
| 30981 | ID3D12DeviceConfiguration * This); | ||
| 30982 | |||
| 30983 | DECLSPEC_XFGVIRT(IUnknown, Release) | ||
| 30984 | ULONG ( STDMETHODCALLTYPE *Release )( | ||
| 30985 | ID3D12DeviceConfiguration * This); | ||
| 30986 | |||
| 30987 | DECLSPEC_XFGVIRT(ID3D12DeviceConfiguration, GetDesc) | ||
| 30988 | #if !defined(_WIN32) | ||
| 30989 | D3D12_DEVICE_CONFIGURATION_DESC ( STDMETHODCALLTYPE *GetDesc )( | ||
| 30990 | ID3D12DeviceConfiguration * This); | ||
| 30991 | |||
| 30992 | #else | ||
| 30993 | D3D12_DEVICE_CONFIGURATION_DESC *( STDMETHODCALLTYPE *GetDesc )( | ||
| 30994 | ID3D12DeviceConfiguration * This, | ||
| 30995 | D3D12_DEVICE_CONFIGURATION_DESC * RetVal); | ||
| 30996 | |||
| 30997 | #endif | ||
| 30998 | |||
| 30999 | DECLSPEC_XFGVIRT(ID3D12DeviceConfiguration, GetEnabledExperimentalFeatures) | ||
| 31000 | HRESULT ( STDMETHODCALLTYPE *GetEnabledExperimentalFeatures )( | ||
| 31001 | ID3D12DeviceConfiguration * This, | ||
| 31002 | _Out_writes_(NumGuids) GUID *pGuids, | ||
| 31003 | UINT NumGuids); | ||
| 31004 | |||
| 31005 | DECLSPEC_XFGVIRT(ID3D12DeviceConfiguration, SerializeVersionedRootSignature) | ||
| 31006 | HRESULT ( STDMETHODCALLTYPE *SerializeVersionedRootSignature )( | ||
| 31007 | ID3D12DeviceConfiguration * This, | ||
| 31008 | _In_ const D3D12_VERSIONED_ROOT_SIGNATURE_DESC *pDesc, | ||
| 31009 | _COM_Outptr_ ID3DBlob **ppResult, | ||
| 31010 | _Always_(_Outptr_opt_result_maybenull_) ID3DBlob **ppError); | ||
| 31011 | |||
| 31012 | DECLSPEC_XFGVIRT(ID3D12DeviceConfiguration, CreateVersionedRootSignatureDeserializer) | ||
| 31013 | HRESULT ( STDMETHODCALLTYPE *CreateVersionedRootSignatureDeserializer )( | ||
| 31014 | ID3D12DeviceConfiguration * This, | ||
| 31015 | _In_reads_bytes_(Size) const void *pBlob, | ||
| 31016 | SIZE_T Size, | ||
| 31017 | REFIID riid, | ||
| 31018 | _COM_Outptr_ void **ppvDeserializer); | ||
| 31019 | |||
| 31020 | END_INTERFACE | ||
| 31021 | } ID3D12DeviceConfigurationVtbl; | ||
| 31022 | |||
| 31023 | interface ID3D12DeviceConfiguration | ||
| 31024 | { | ||
| 31025 | CONST_VTBL struct ID3D12DeviceConfigurationVtbl *lpVtbl; | ||
| 31026 | }; | ||
| 31027 | |||
| 31028 | |||
| 31029 | |||
| 31030 | #ifdef COBJMACROS | ||
| 31031 | |||
| 31032 | |||
| 31033 | #define ID3D12DeviceConfiguration_QueryInterface(This,riid,ppvObject) \ | ||
| 31034 | ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) | ||
| 31035 | |||
| 31036 | #define ID3D12DeviceConfiguration_AddRef(This) \ | ||
| 31037 | ( (This)->lpVtbl -> AddRef(This) ) | ||
| 31038 | |||
| 31039 | #define ID3D12DeviceConfiguration_Release(This) \ | ||
| 31040 | ( (This)->lpVtbl -> Release(This) ) | ||
| 31041 | |||
| 31042 | #if !defined(_WIN32) | ||
| 31043 | |||
| 31044 | #define ID3D12DeviceConfiguration_GetDesc(This) \ | ||
| 31045 | ( (This)->lpVtbl -> GetDesc(This) ) | ||
| 31046 | #else | ||
| 31047 | #define ID3D12DeviceConfiguration_GetDesc(This,RetVal) \ | ||
| 31048 | ( (This)->lpVtbl -> GetDesc(This,RetVal) ) | ||
| 31049 | #endif | ||
| 31050 | |||
| 31051 | #define ID3D12DeviceConfiguration_GetEnabledExperimentalFeatures(This,pGuids,NumGuids) \ | ||
| 31052 | ( (This)->lpVtbl -> GetEnabledExperimentalFeatures(This,pGuids,NumGuids) ) | ||
| 31053 | |||
| 31054 | #define ID3D12DeviceConfiguration_SerializeVersionedRootSignature(This,pDesc,ppResult,ppError) \ | ||
| 31055 | ( (This)->lpVtbl -> SerializeVersionedRootSignature(This,pDesc,ppResult,ppError) ) | ||
| 31056 | |||
| 31057 | #define ID3D12DeviceConfiguration_CreateVersionedRootSignatureDeserializer(This,pBlob,Size,riid,ppvDeserializer) \ | ||
| 31058 | ( (This)->lpVtbl -> CreateVersionedRootSignatureDeserializer(This,pBlob,Size,riid,ppvDeserializer) ) | ||
| 31059 | |||
| 31060 | #endif /* COBJMACROS */ | ||
| 31061 | |||
| 31062 | |||
| 31063 | #endif /* C style interface */ | ||
| 31064 | |||
| 31065 | |||
| 31066 | |||
| 31067 | |||
| 31068 | #endif /* __ID3D12DeviceConfiguration_INTERFACE_DEFINED__ */ | ||
| 31069 | |||
| 31070 | |||
| 31071 | #ifndef __ID3D12DeviceConfiguration1_INTERFACE_DEFINED__ | ||
| 31072 | #define __ID3D12DeviceConfiguration1_INTERFACE_DEFINED__ | ||
| 31073 | |||
| 31074 | /* interface ID3D12DeviceConfiguration1 */ | ||
| 31075 | /* [unique][local][object][uuid] */ | ||
| 31076 | |||
| 31077 | |||
| 31078 | EXTERN_C const IID IID_ID3D12DeviceConfiguration1; | ||
| 31079 | |||
| 31080 | #if defined(__cplusplus) && !defined(CINTERFACE) | ||
| 31081 | |||
| 31082 | MIDL_INTERFACE("ed342442-6343-4e16-bb82-a3a577874e56") | ||
| 31083 | ID3D12DeviceConfiguration1 : public ID3D12DeviceConfiguration | ||
| 31084 | { | ||
| 31085 | public: | ||
| 31086 | virtual HRESULT STDMETHODCALLTYPE CreateVersionedRootSignatureDeserializerFromSubobjectInLibrary( | ||
| 31087 | _In_reads_bytes_(Size) const void *pLibraryBlob, | ||
| 31088 | SIZE_T Size, | ||
| 31089 | LPCWSTR RootSignatureSubobjectName, | ||
| 31090 | REFIID riid, | ||
| 31091 | _COM_Outptr_ void **ppvDeserializer) = 0; | ||
| 31092 | |||
| 31093 | }; | ||
| 31094 | |||
| 31095 | |||
| 31096 | #else /* C style interface */ | ||
| 31097 | |||
| 31098 | typedef struct ID3D12DeviceConfiguration1Vtbl | ||
| 31099 | { | ||
| 31100 | BEGIN_INTERFACE | ||
| 31101 | |||
| 31102 | DECLSPEC_XFGVIRT(IUnknown, QueryInterface) | ||
| 31103 | HRESULT ( STDMETHODCALLTYPE *QueryInterface )( | ||
| 31104 | ID3D12DeviceConfiguration1 * This, | ||
| 31105 | REFIID riid, | ||
| 31106 | _COM_Outptr_ void **ppvObject); | ||
| 31107 | |||
| 31108 | DECLSPEC_XFGVIRT(IUnknown, AddRef) | ||
| 31109 | ULONG ( STDMETHODCALLTYPE *AddRef )( | ||
| 31110 | ID3D12DeviceConfiguration1 * This); | ||
| 31111 | |||
| 31112 | DECLSPEC_XFGVIRT(IUnknown, Release) | ||
| 31113 | ULONG ( STDMETHODCALLTYPE *Release )( | ||
| 31114 | ID3D12DeviceConfiguration1 * This); | ||
| 31115 | |||
| 31116 | DECLSPEC_XFGVIRT(ID3D12DeviceConfiguration, GetDesc) | ||
| 31117 | #if !defined(_WIN32) | ||
| 31118 | D3D12_DEVICE_CONFIGURATION_DESC ( STDMETHODCALLTYPE *GetDesc )( | ||
| 31119 | ID3D12DeviceConfiguration1 * This); | ||
| 31120 | |||
| 31121 | #else | ||
| 31122 | D3D12_DEVICE_CONFIGURATION_DESC *( STDMETHODCALLTYPE *GetDesc )( | ||
| 31123 | ID3D12DeviceConfiguration1 * This, | ||
| 31124 | D3D12_DEVICE_CONFIGURATION_DESC * RetVal); | ||
| 31125 | |||
| 31126 | #endif | ||
| 31127 | |||
| 31128 | DECLSPEC_XFGVIRT(ID3D12DeviceConfiguration, GetEnabledExperimentalFeatures) | ||
| 31129 | HRESULT ( STDMETHODCALLTYPE *GetEnabledExperimentalFeatures )( | ||
| 31130 | ID3D12DeviceConfiguration1 * This, | ||
| 31131 | _Out_writes_(NumGuids) GUID *pGuids, | ||
| 31132 | UINT NumGuids); | ||
| 31133 | |||
| 31134 | DECLSPEC_XFGVIRT(ID3D12DeviceConfiguration, SerializeVersionedRootSignature) | ||
| 31135 | HRESULT ( STDMETHODCALLTYPE *SerializeVersionedRootSignature )( | ||
| 31136 | ID3D12DeviceConfiguration1 * This, | ||
| 31137 | _In_ const D3D12_VERSIONED_ROOT_SIGNATURE_DESC *pDesc, | ||
| 31138 | _COM_Outptr_ ID3DBlob **ppResult, | ||
| 31139 | _Always_(_Outptr_opt_result_maybenull_) ID3DBlob **ppError); | ||
| 31140 | |||
| 31141 | DECLSPEC_XFGVIRT(ID3D12DeviceConfiguration, CreateVersionedRootSignatureDeserializer) | ||
| 31142 | HRESULT ( STDMETHODCALLTYPE *CreateVersionedRootSignatureDeserializer )( | ||
| 31143 | ID3D12DeviceConfiguration1 * This, | ||
| 31144 | _In_reads_bytes_(Size) const void *pBlob, | ||
| 31145 | SIZE_T Size, | ||
| 31146 | REFIID riid, | ||
| 31147 | _COM_Outptr_ void **ppvDeserializer); | ||
| 31148 | |||
| 31149 | DECLSPEC_XFGVIRT(ID3D12DeviceConfiguration1, CreateVersionedRootSignatureDeserializerFromSubobjectInLibrary) | ||
| 31150 | HRESULT ( STDMETHODCALLTYPE *CreateVersionedRootSignatureDeserializerFromSubobjectInLibrary )( | ||
| 31151 | ID3D12DeviceConfiguration1 * This, | ||
| 31152 | _In_reads_bytes_(Size) const void *pLibraryBlob, | ||
| 31153 | SIZE_T Size, | ||
| 31154 | LPCWSTR RootSignatureSubobjectName, | ||
| 31155 | REFIID riid, | ||
| 31156 | _COM_Outptr_ void **ppvDeserializer); | ||
| 31157 | |||
| 31158 | END_INTERFACE | ||
| 31159 | } ID3D12DeviceConfiguration1Vtbl; | ||
| 31160 | |||
| 31161 | interface ID3D12DeviceConfiguration1 | ||
| 31162 | { | ||
| 31163 | CONST_VTBL struct ID3D12DeviceConfiguration1Vtbl *lpVtbl; | ||
| 31164 | }; | ||
| 31165 | |||
| 31166 | |||
| 31167 | |||
| 31168 | #ifdef COBJMACROS | ||
| 31169 | |||
| 31170 | |||
| 31171 | #define ID3D12DeviceConfiguration1_QueryInterface(This,riid,ppvObject) \ | ||
| 31172 | ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) | ||
| 31173 | |||
| 31174 | #define ID3D12DeviceConfiguration1_AddRef(This) \ | ||
| 31175 | ( (This)->lpVtbl -> AddRef(This) ) | ||
| 31176 | |||
| 31177 | #define ID3D12DeviceConfiguration1_Release(This) \ | ||
| 31178 | ( (This)->lpVtbl -> Release(This) ) | ||
| 31179 | |||
| 31180 | #if !defined(_WIN32) | ||
| 31181 | |||
| 31182 | #define ID3D12DeviceConfiguration1_GetDesc(This) \ | ||
| 31183 | ( (This)->lpVtbl -> GetDesc(This) ) | ||
| 31184 | #else | ||
| 31185 | #define ID3D12DeviceConfiguration1_GetDesc(This,RetVal) \ | ||
| 31186 | ( (This)->lpVtbl -> GetDesc(This,RetVal) ) | ||
| 31187 | #endif | ||
| 31188 | |||
| 31189 | #define ID3D12DeviceConfiguration1_GetEnabledExperimentalFeatures(This,pGuids,NumGuids) \ | ||
| 31190 | ( (This)->lpVtbl -> GetEnabledExperimentalFeatures(This,pGuids,NumGuids) ) | ||
| 31191 | |||
| 31192 | #define ID3D12DeviceConfiguration1_SerializeVersionedRootSignature(This,pDesc,ppResult,ppError) \ | ||
| 31193 | ( (This)->lpVtbl -> SerializeVersionedRootSignature(This,pDesc,ppResult,ppError) ) | ||
| 31194 | |||
| 31195 | #define ID3D12DeviceConfiguration1_CreateVersionedRootSignatureDeserializer(This,pBlob,Size,riid,ppvDeserializer) \ | ||
| 31196 | ( (This)->lpVtbl -> CreateVersionedRootSignatureDeserializer(This,pBlob,Size,riid,ppvDeserializer) ) | ||
| 31197 | |||
| 31198 | |||
| 31199 | #define ID3D12DeviceConfiguration1_CreateVersionedRootSignatureDeserializerFromSubobjectInLibrary(This,pLibraryBlob,Size,RootSignatureSubobjectName,riid,ppvDeserializer) \ | ||
| 31200 | ( (This)->lpVtbl -> CreateVersionedRootSignatureDeserializerFromSubobjectInLibrary(This,pLibraryBlob,Size,RootSignatureSubobjectName,riid,ppvDeserializer) ) | ||
| 31201 | |||
| 31202 | #endif /* COBJMACROS */ | ||
| 31203 | |||
| 31204 | |||
| 31205 | #endif /* C style interface */ | ||
| 31206 | |||
| 31207 | |||
| 31208 | |||
| 31209 | |||
| 31210 | #endif /* __ID3D12DeviceConfiguration1_INTERFACE_DEFINED__ */ | ||
| 31211 | |||
| 31212 | |||
| 31213 | /* interface __MIDL_itf_d3d12_0000_0076 */ | ||
| 31214 | /* [local] */ | ||
| 31215 | |||
| 31216 | typedef | ||
| 31217 | enum D3D12_STATE_OBJECT_DATABASE_FLAGS | ||
| 31218 | { | ||
| 31219 | D3D12_STATE_OBJECT_DATABASE_FLAG_NONE = 0, | ||
| 31220 | D3D12_STATE_OBJECT_DATABASE_FLAG_READ_ONLY = 0x1 | ||
| 31221 | } D3D12_STATE_OBJECT_DATABASE_FLAGS; | ||
| 31222 | |||
| 31223 | DEFINE_ENUM_FLAG_OPERATORS( D3D12_STATE_OBJECT_DATABASE_FLAGS ) | ||
| 31224 | |||
| 31225 | |||
| 31226 | extern RPC_IF_HANDLE __MIDL_itf_d3d12_0000_0076_v0_0_c_ifspec; | ||
| 31227 | extern RPC_IF_HANDLE __MIDL_itf_d3d12_0000_0076_v0_0_s_ifspec; | ||
| 31228 | |||
| 31229 | #ifndef __ID3D12StateObjectDatabaseFactory_INTERFACE_DEFINED__ | ||
| 31230 | #define __ID3D12StateObjectDatabaseFactory_INTERFACE_DEFINED__ | ||
| 31231 | |||
| 31232 | /* interface ID3D12StateObjectDatabaseFactory */ | ||
| 31233 | /* [unique][local][object][uuid] */ | ||
| 31234 | |||
| 31235 | |||
| 31236 | EXTERN_C const IID IID_ID3D12StateObjectDatabaseFactory; | ||
| 31237 | |||
| 31238 | #if defined(__cplusplus) && !defined(CINTERFACE) | ||
| 31239 | |||
| 31240 | MIDL_INTERFACE("f5b066f0-648a-4611-bd41-27fd0948b9eb") | ||
| 31241 | ID3D12StateObjectDatabaseFactory : public IUnknown | ||
| 31242 | { | ||
| 31243 | public: | ||
| 31244 | virtual HRESULT STDMETHODCALLTYPE CreateStateObjectDatabaseFromFile( | ||
| 31245 | LPCWSTR pDatabaseFile, | ||
| 31246 | D3D12_STATE_OBJECT_DATABASE_FLAGS flags, | ||
| 31247 | REFIID riid, | ||
| 31248 | _COM_Outptr_ void **ppvStateObjectDatabase) = 0; | ||
| 31249 | |||
| 31250 | }; | ||
| 31251 | |||
| 31252 | |||
| 31253 | #else /* C style interface */ | ||
| 31254 | |||
| 31255 | typedef struct ID3D12StateObjectDatabaseFactoryVtbl | ||
| 31256 | { | ||
| 31257 | BEGIN_INTERFACE | ||
| 31258 | |||
| 31259 | DECLSPEC_XFGVIRT(IUnknown, QueryInterface) | ||
| 31260 | HRESULT ( STDMETHODCALLTYPE *QueryInterface )( | ||
| 31261 | ID3D12StateObjectDatabaseFactory * This, | ||
| 31262 | REFIID riid, | ||
| 31263 | _COM_Outptr_ void **ppvObject); | ||
| 31264 | |||
| 31265 | DECLSPEC_XFGVIRT(IUnknown, AddRef) | ||
| 31266 | ULONG ( STDMETHODCALLTYPE *AddRef )( | ||
| 31267 | ID3D12StateObjectDatabaseFactory * This); | ||
| 31268 | |||
| 31269 | DECLSPEC_XFGVIRT(IUnknown, Release) | ||
| 31270 | ULONG ( STDMETHODCALLTYPE *Release )( | ||
| 31271 | ID3D12StateObjectDatabaseFactory * This); | ||
| 31272 | |||
| 31273 | DECLSPEC_XFGVIRT(ID3D12StateObjectDatabaseFactory, CreateStateObjectDatabaseFromFile) | ||
| 31274 | HRESULT ( STDMETHODCALLTYPE *CreateStateObjectDatabaseFromFile )( | ||
| 31275 | ID3D12StateObjectDatabaseFactory * This, | ||
| 31276 | LPCWSTR pDatabaseFile, | ||
| 31277 | D3D12_STATE_OBJECT_DATABASE_FLAGS flags, | ||
| 31278 | REFIID riid, | ||
| 31279 | _COM_Outptr_ void **ppvStateObjectDatabase); | ||
| 31280 | |||
| 31281 | END_INTERFACE | ||
| 31282 | } ID3D12StateObjectDatabaseFactoryVtbl; | ||
| 31283 | |||
| 31284 | interface ID3D12StateObjectDatabaseFactory | ||
| 31285 | { | ||
| 31286 | CONST_VTBL struct ID3D12StateObjectDatabaseFactoryVtbl *lpVtbl; | ||
| 31287 | }; | ||
| 31288 | |||
| 31289 | |||
| 31290 | |||
| 31291 | #ifdef COBJMACROS | ||
| 31292 | |||
| 31293 | |||
| 31294 | #define ID3D12StateObjectDatabaseFactory_QueryInterface(This,riid,ppvObject) \ | ||
| 31295 | ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) | ||
| 31296 | |||
| 31297 | #define ID3D12StateObjectDatabaseFactory_AddRef(This) \ | ||
| 31298 | ( (This)->lpVtbl -> AddRef(This) ) | ||
| 31299 | |||
| 31300 | #define ID3D12StateObjectDatabaseFactory_Release(This) \ | ||
| 31301 | ( (This)->lpVtbl -> Release(This) ) | ||
| 31302 | |||
| 31303 | |||
| 31304 | #define ID3D12StateObjectDatabaseFactory_CreateStateObjectDatabaseFromFile(This,pDatabaseFile,flags,riid,ppvStateObjectDatabase) \ | ||
| 31305 | ( (This)->lpVtbl -> CreateStateObjectDatabaseFromFile(This,pDatabaseFile,flags,riid,ppvStateObjectDatabase) ) | ||
| 31306 | |||
| 31307 | #endif /* COBJMACROS */ | ||
| 31308 | |||
| 31309 | |||
| 31310 | #endif /* C style interface */ | ||
| 31311 | |||
| 31312 | |||
| 31313 | |||
| 31314 | |||
| 31315 | #endif /* __ID3D12StateObjectDatabaseFactory_INTERFACE_DEFINED__ */ | ||
| 31316 | |||
| 31317 | |||
| 31318 | /* interface __MIDL_itf_d3d12_0000_0077 */ | ||
| 31319 | /* [local] */ | ||
| 31320 | |||
| 31321 | typedef | ||
| 31322 | enum D3D12_AXIS_SHADING_RATE | ||
| 31323 | { | ||
| 31324 | D3D12_AXIS_SHADING_RATE_1X = 0, | ||
| 31325 | D3D12_AXIS_SHADING_RATE_2X = 0x1, | ||
| 31326 | D3D12_AXIS_SHADING_RATE_4X = 0x2 | ||
| 31327 | } D3D12_AXIS_SHADING_RATE; | ||
| 31328 | |||
| 31329 | #define D3D12_SHADING_RATE_X_AXIS_SHIFT 2 | ||
| 31330 | #define D3D12_SHADING_RATE_VALID_MASK 3 | ||
| 31331 | #define D3D12_MAKE_COARSE_SHADING_RATE(x,y) ((x) << D3D12_SHADING_RATE_X_AXIS_SHIFT | (y)) | ||
| 31332 | #define D3D12_GET_COARSE_SHADING_RATE_X_AXIS(x) (((x) >> D3D12_SHADING_RATE_X_AXIS_SHIFT) & D3D12_SHADING_RATE_VALID_MASK) | ||
| 31333 | #define D3D12_GET_COARSE_SHADING_RATE_Y_AXIS(y) ((y) & D3D12_SHADING_RATE_VALID_MASK) | ||
| 31334 | typedef | ||
| 31335 | enum D3D12_SHADING_RATE | ||
| 31336 | { | ||
| 31337 | D3D12_SHADING_RATE_1X1 = 0, | ||
| 31338 | D3D12_SHADING_RATE_1X2 = 0x1, | ||
| 31339 | D3D12_SHADING_RATE_2X1 = 0x4, | ||
| 31340 | D3D12_SHADING_RATE_2X2 = 0x5, | ||
| 31341 | D3D12_SHADING_RATE_2X4 = 0x6, | ||
| 31342 | D3D12_SHADING_RATE_4X2 = 0x9, | ||
| 31343 | D3D12_SHADING_RATE_4X4 = 0xa | ||
| 31344 | } D3D12_SHADING_RATE; | ||
| 31345 | |||
| 31346 | typedef | ||
| 31347 | enum D3D12_SHADING_RATE_COMBINER | ||
| 31348 | { | ||
| 31349 | D3D12_SHADING_RATE_COMBINER_PASSTHROUGH = 0, | ||
| 31350 | D3D12_SHADING_RATE_COMBINER_OVERRIDE = 1, | ||
| 31351 | D3D12_SHADING_RATE_COMBINER_MIN = 2, | ||
| 31352 | D3D12_SHADING_RATE_COMBINER_MAX = 3, | ||
| 31353 | D3D12_SHADING_RATE_COMBINER_SUM = 4 | ||
| 31354 | } D3D12_SHADING_RATE_COMBINER; | ||
| 31355 | |||
| 31356 | |||
| 31357 | |||
| 31358 | extern RPC_IF_HANDLE __MIDL_itf_d3d12_0000_0077_v0_0_c_ifspec; | ||
| 31359 | extern RPC_IF_HANDLE __MIDL_itf_d3d12_0000_0077_v0_0_s_ifspec; | ||
| 31360 | |||
| 31361 | #ifndef __ID3D12GraphicsCommandList5_INTERFACE_DEFINED__ | ||
| 31362 | #define __ID3D12GraphicsCommandList5_INTERFACE_DEFINED__ | ||
| 31363 | |||
| 31364 | /* interface ID3D12GraphicsCommandList5 */ | ||
| 31365 | /* [unique][local][object][uuid] */ | ||
| 31366 | |||
| 31367 | |||
| 31368 | EXTERN_C const IID IID_ID3D12GraphicsCommandList5; | ||
| 31369 | |||
| 31370 | #if defined(__cplusplus) && !defined(CINTERFACE) | ||
| 31371 | |||
| 31372 | MIDL_INTERFACE("55050859-4024-474c-87f5-6472eaee44ea") | ||
| 31373 | ID3D12GraphicsCommandList5 : public ID3D12GraphicsCommandList4 | ||
| 31374 | { | ||
| 31375 | public: | ||
| 31376 | virtual void STDMETHODCALLTYPE RSSetShadingRate( | ||
| 31377 | _In_ D3D12_SHADING_RATE baseShadingRate, | ||
| 31378 | _In_reads_opt_(D3D12_RS_SET_SHADING_RATE_COMBINER_COUNT) const D3D12_SHADING_RATE_COMBINER *combiners) = 0; | ||
| 31379 | |||
| 31380 | virtual void STDMETHODCALLTYPE RSSetShadingRateImage( | ||
| 31381 | _In_opt_ ID3D12Resource *shadingRateImage) = 0; | ||
| 31382 | |||
| 31383 | }; | ||
| 31384 | |||
| 31385 | |||
| 31386 | #else /* C style interface */ | ||
| 31387 | |||
| 31388 | typedef struct ID3D12GraphicsCommandList5Vtbl | ||
| 31389 | { | ||
| 31390 | BEGIN_INTERFACE | ||
| 31391 | |||
| 31392 | DECLSPEC_XFGVIRT(IUnknown, QueryInterface) | ||
| 31393 | HRESULT ( STDMETHODCALLTYPE *QueryInterface )( | ||
| 31394 | ID3D12GraphicsCommandList5 * This, | ||
| 31395 | REFIID riid, | ||
| 31396 | _COM_Outptr_ void **ppvObject); | ||
| 31397 | |||
| 31398 | DECLSPEC_XFGVIRT(IUnknown, AddRef) | ||
| 31399 | ULONG ( STDMETHODCALLTYPE *AddRef )( | ||
| 31400 | ID3D12GraphicsCommandList5 * This); | ||
| 31401 | |||
| 31402 | DECLSPEC_XFGVIRT(IUnknown, Release) | ||
| 31403 | ULONG ( STDMETHODCALLTYPE *Release )( | ||
| 31404 | ID3D12GraphicsCommandList5 * This); | ||
| 31405 | |||
| 31406 | DECLSPEC_XFGVIRT(ID3D12Object, GetPrivateData) | ||
| 31407 | HRESULT ( STDMETHODCALLTYPE *GetPrivateData )( | ||
| 31408 | ID3D12GraphicsCommandList5 * This, | ||
| 31409 | _In_ REFGUID guid, | ||
| 31410 | _Inout_ UINT *pDataSize, | ||
| 31411 | _Out_writes_bytes_opt_( *pDataSize ) void *pData); | ||
| 31412 | |||
| 31413 | DECLSPEC_XFGVIRT(ID3D12Object, SetPrivateData) | ||
| 31414 | HRESULT ( STDMETHODCALLTYPE *SetPrivateData )( | ||
| 31415 | ID3D12GraphicsCommandList5 * This, | ||
| 31416 | _In_ REFGUID guid, | ||
| 31417 | _In_ UINT DataSize, | ||
| 31418 | _In_reads_bytes_opt_( DataSize ) const void *pData); | ||
| 31419 | |||
| 31420 | DECLSPEC_XFGVIRT(ID3D12Object, SetPrivateDataInterface) | ||
| 31421 | HRESULT ( STDMETHODCALLTYPE *SetPrivateDataInterface )( | ||
| 31422 | ID3D12GraphicsCommandList5 * This, | ||
| 31423 | _In_ REFGUID guid, | ||
| 31424 | _In_opt_ const IUnknown *pData); | ||
| 31425 | |||
| 31426 | DECLSPEC_XFGVIRT(ID3D12Object, SetName) | ||
| 31427 | HRESULT ( STDMETHODCALLTYPE *SetName )( | ||
| 31428 | ID3D12GraphicsCommandList5 * This, | ||
| 31429 | _In_z_ LPCWSTR Name); | ||
| 31430 | |||
| 31431 | DECLSPEC_XFGVIRT(ID3D12DeviceChild, GetDevice) | ||
| 31432 | HRESULT ( STDMETHODCALLTYPE *GetDevice )( | ||
| 31433 | ID3D12GraphicsCommandList5 * This, | ||
| 31434 | REFIID riid, | ||
| 31435 | _COM_Outptr_opt_ void **ppvDevice); | ||
| 31436 | |||
| 31437 | DECLSPEC_XFGVIRT(ID3D12CommandList, GetType) | ||
| 31438 | D3D12_COMMAND_LIST_TYPE ( STDMETHODCALLTYPE *GetType )( | ||
| 31439 | ID3D12GraphicsCommandList5 * This); | ||
| 31440 | |||
| 31441 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, Close) | ||
| 31442 | HRESULT ( STDMETHODCALLTYPE *Close )( | ||
| 31443 | ID3D12GraphicsCommandList5 * This); | ||
| 31444 | |||
| 31445 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, Reset) | ||
| 31446 | HRESULT ( STDMETHODCALLTYPE *Reset )( | ||
| 31447 | ID3D12GraphicsCommandList5 * This, | ||
| 31448 | _In_ ID3D12CommandAllocator *pAllocator, | ||
| 31449 | _In_opt_ ID3D12PipelineState *pInitialState); | ||
| 31450 | |||
| 31451 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, ClearState) | ||
| 31452 | void ( STDMETHODCALLTYPE *ClearState )( | ||
| 31453 | ID3D12GraphicsCommandList5 * This, | ||
| 31454 | _In_opt_ ID3D12PipelineState *pPipelineState); | ||
| 31455 | |||
| 31456 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, DrawInstanced) | ||
| 31457 | void ( STDMETHODCALLTYPE *DrawInstanced )( | ||
| 31458 | ID3D12GraphicsCommandList5 * This, | ||
| 31459 | _In_ UINT VertexCountPerInstance, | ||
| 31460 | _In_ UINT InstanceCount, | ||
| 31461 | _In_ UINT StartVertexLocation, | ||
| 31462 | _In_ UINT StartInstanceLocation); | ||
| 31463 | |||
| 31464 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, DrawIndexedInstanced) | ||
| 31465 | void ( STDMETHODCALLTYPE *DrawIndexedInstanced )( | ||
| 31466 | ID3D12GraphicsCommandList5 * This, | ||
| 31467 | _In_ UINT IndexCountPerInstance, | ||
| 31468 | _In_ UINT InstanceCount, | ||
| 31469 | _In_ UINT StartIndexLocation, | ||
| 31470 | _In_ INT BaseVertexLocation, | ||
| 31471 | _In_ UINT StartInstanceLocation); | ||
| 31472 | |||
| 31473 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, Dispatch) | ||
| 31474 | void ( STDMETHODCALLTYPE *Dispatch )( | ||
| 31475 | ID3D12GraphicsCommandList5 * This, | ||
| 31476 | _In_ UINT ThreadGroupCountX, | ||
| 31477 | _In_ UINT ThreadGroupCountY, | ||
| 31478 | _In_ UINT ThreadGroupCountZ); | ||
| 31479 | |||
| 31480 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, CopyBufferRegion) | ||
| 31481 | void ( STDMETHODCALLTYPE *CopyBufferRegion )( | ||
| 31482 | ID3D12GraphicsCommandList5 * This, | ||
| 31483 | _In_ ID3D12Resource *pDstBuffer, | ||
| 31484 | UINT64 DstOffset, | ||
| 31485 | _In_ ID3D12Resource *pSrcBuffer, | ||
| 31486 | UINT64 SrcOffset, | ||
| 31487 | UINT64 NumBytes); | ||
| 31488 | |||
| 31489 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, CopyTextureRegion) | ||
| 31490 | void ( STDMETHODCALLTYPE *CopyTextureRegion )( | ||
| 31491 | ID3D12GraphicsCommandList5 * This, | ||
| 31492 | _In_ const D3D12_TEXTURE_COPY_LOCATION *pDst, | ||
| 31493 | UINT DstX, | ||
| 31494 | UINT DstY, | ||
| 31495 | UINT DstZ, | ||
| 31496 | _In_ const D3D12_TEXTURE_COPY_LOCATION *pSrc, | ||
| 31497 | _In_opt_ const D3D12_BOX *pSrcBox); | ||
| 31498 | |||
| 31499 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, CopyResource) | ||
| 31500 | void ( STDMETHODCALLTYPE *CopyResource )( | ||
| 31501 | ID3D12GraphicsCommandList5 * This, | ||
| 31502 | _In_ ID3D12Resource *pDstResource, | ||
| 31503 | _In_ ID3D12Resource *pSrcResource); | ||
| 31504 | |||
| 31505 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, CopyTiles) | ||
| 31506 | void ( STDMETHODCALLTYPE *CopyTiles )( | ||
| 31507 | ID3D12GraphicsCommandList5 * This, | ||
| 31508 | _In_ ID3D12Resource *pTiledResource, | ||
| 31509 | _In_ const D3D12_TILED_RESOURCE_COORDINATE *pTileRegionStartCoordinate, | ||
| 31510 | _In_ const D3D12_TILE_REGION_SIZE *pTileRegionSize, | ||
| 31511 | _In_ ID3D12Resource *pBuffer, | ||
| 31512 | UINT64 BufferStartOffsetInBytes, | ||
| 31513 | D3D12_TILE_COPY_FLAGS Flags); | ||
| 31514 | |||
| 31515 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, ResolveSubresource) | ||
| 31516 | void ( STDMETHODCALLTYPE *ResolveSubresource )( | ||
| 31517 | ID3D12GraphicsCommandList5 * This, | ||
| 31518 | _In_ ID3D12Resource *pDstResource, | ||
| 31519 | _In_ UINT DstSubresource, | ||
| 31520 | _In_ ID3D12Resource *pSrcResource, | ||
| 31521 | _In_ UINT SrcSubresource, | ||
| 31522 | _In_ DXGI_FORMAT Format); | ||
| 31523 | |||
| 31524 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, IASetPrimitiveTopology) | ||
| 31525 | void ( STDMETHODCALLTYPE *IASetPrimitiveTopology )( | ||
| 31526 | ID3D12GraphicsCommandList5 * This, | ||
| 31527 | _In_ D3D12_PRIMITIVE_TOPOLOGY PrimitiveTopology); | ||
| 31528 | |||
| 31529 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, RSSetViewports) | ||
| 31530 | void ( STDMETHODCALLTYPE *RSSetViewports )( | ||
| 31531 | ID3D12GraphicsCommandList5 * This, | ||
| 31532 | _In_range_(0, D3D12_VIEWPORT_AND_SCISSORRECT_OBJECT_COUNT_PER_PIPELINE) UINT NumViewports, | ||
| 31533 | _In_reads_( NumViewports) const D3D12_VIEWPORT *pViewports); | ||
| 31534 | |||
| 31535 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, RSSetScissorRects) | ||
| 31536 | void ( STDMETHODCALLTYPE *RSSetScissorRects )( | ||
| 31537 | ID3D12GraphicsCommandList5 * This, | ||
| 31538 | _In_range_(0, D3D12_VIEWPORT_AND_SCISSORRECT_OBJECT_COUNT_PER_PIPELINE) UINT NumRects, | ||
| 31539 | _In_reads_( NumRects) const D3D12_RECT *pRects); | ||
| 31540 | |||
| 31541 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, OMSetBlendFactor) | ||
| 31542 | void ( STDMETHODCALLTYPE *OMSetBlendFactor )( | ||
| 31543 | ID3D12GraphicsCommandList5 * This, | ||
| 31544 | _In_reads_opt_(4) const FLOAT BlendFactor[ 4 ]); | ||
| 31545 | |||
| 31546 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, OMSetStencilRef) | ||
| 31547 | void ( STDMETHODCALLTYPE *OMSetStencilRef )( | ||
| 31548 | ID3D12GraphicsCommandList5 * This, | ||
| 31549 | _In_ UINT StencilRef); | ||
| 31550 | |||
| 31551 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetPipelineState) | ||
| 31552 | void ( STDMETHODCALLTYPE *SetPipelineState )( | ||
| 31553 | ID3D12GraphicsCommandList5 * This, | ||
| 31554 | _In_ ID3D12PipelineState *pPipelineState); | ||
| 31555 | |||
| 31556 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, ResourceBarrier) | ||
| 31557 | void ( STDMETHODCALLTYPE *ResourceBarrier )( | ||
| 31558 | ID3D12GraphicsCommandList5 * This, | ||
| 31559 | _In_ UINT NumBarriers, | ||
| 31560 | _In_reads_(NumBarriers) const D3D12_RESOURCE_BARRIER *pBarriers); | ||
| 31561 | |||
| 31562 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, ExecuteBundle) | ||
| 31563 | void ( STDMETHODCALLTYPE *ExecuteBundle )( | ||
| 31564 | ID3D12GraphicsCommandList5 * This, | ||
| 31565 | _In_ ID3D12GraphicsCommandList *pCommandList); | ||
| 31566 | |||
| 31567 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetDescriptorHeaps) | ||
| 31568 | void ( STDMETHODCALLTYPE *SetDescriptorHeaps )( | ||
| 31569 | ID3D12GraphicsCommandList5 * This, | ||
| 31570 | _In_ UINT NumDescriptorHeaps, | ||
| 31571 | _In_reads_(NumDescriptorHeaps) ID3D12DescriptorHeap *const *ppDescriptorHeaps); | ||
| 31572 | |||
| 31573 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetComputeRootSignature) | ||
| 31574 | void ( STDMETHODCALLTYPE *SetComputeRootSignature )( | ||
| 31575 | ID3D12GraphicsCommandList5 * This, | ||
| 31576 | _In_opt_ ID3D12RootSignature *pRootSignature); | ||
| 31577 | |||
| 31578 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetGraphicsRootSignature) | ||
| 31579 | void ( STDMETHODCALLTYPE *SetGraphicsRootSignature )( | ||
| 31580 | ID3D12GraphicsCommandList5 * This, | ||
| 31581 | _In_opt_ ID3D12RootSignature *pRootSignature); | ||
| 31582 | |||
| 31583 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetComputeRootDescriptorTable) | ||
| 31584 | void ( STDMETHODCALLTYPE *SetComputeRootDescriptorTable )( | ||
| 31585 | ID3D12GraphicsCommandList5 * This, | ||
| 31586 | _In_ UINT RootParameterIndex, | ||
| 31587 | _In_ D3D12_GPU_DESCRIPTOR_HANDLE BaseDescriptor); | ||
| 31588 | |||
| 31589 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetGraphicsRootDescriptorTable) | ||
| 31590 | void ( STDMETHODCALLTYPE *SetGraphicsRootDescriptorTable )( | ||
| 31591 | ID3D12GraphicsCommandList5 * This, | ||
| 31592 | _In_ UINT RootParameterIndex, | ||
| 31593 | _In_ D3D12_GPU_DESCRIPTOR_HANDLE BaseDescriptor); | ||
| 31594 | |||
| 31595 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetComputeRoot32BitConstant) | ||
| 31596 | void ( STDMETHODCALLTYPE *SetComputeRoot32BitConstant )( | ||
| 31597 | ID3D12GraphicsCommandList5 * This, | ||
| 31598 | _In_ UINT RootParameterIndex, | ||
| 31599 | _In_ UINT SrcData, | ||
| 31600 | _In_ UINT DestOffsetIn32BitValues); | ||
| 31601 | |||
| 31602 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetGraphicsRoot32BitConstant) | ||
| 31603 | void ( STDMETHODCALLTYPE *SetGraphicsRoot32BitConstant )( | ||
| 31604 | ID3D12GraphicsCommandList5 * This, | ||
| 31605 | _In_ UINT RootParameterIndex, | ||
| 31606 | _In_ UINT SrcData, | ||
| 31607 | _In_ UINT DestOffsetIn32BitValues); | ||
| 31608 | |||
| 31609 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetComputeRoot32BitConstants) | ||
| 31610 | void ( STDMETHODCALLTYPE *SetComputeRoot32BitConstants )( | ||
| 31611 | ID3D12GraphicsCommandList5 * This, | ||
| 31612 | _In_ UINT RootParameterIndex, | ||
| 31613 | _In_ UINT Num32BitValuesToSet, | ||
| 31614 | _In_reads_(Num32BitValuesToSet*sizeof(UINT)) const void *pSrcData, | ||
| 31615 | _In_ UINT DestOffsetIn32BitValues); | ||
| 31616 | |||
| 31617 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetGraphicsRoot32BitConstants) | ||
| 31618 | void ( STDMETHODCALLTYPE *SetGraphicsRoot32BitConstants )( | ||
| 31619 | ID3D12GraphicsCommandList5 * This, | ||
| 31620 | _In_ UINT RootParameterIndex, | ||
| 31621 | _In_ UINT Num32BitValuesToSet, | ||
| 31622 | _In_reads_(Num32BitValuesToSet*sizeof(UINT)) const void *pSrcData, | ||
| 31623 | _In_ UINT DestOffsetIn32BitValues); | ||
| 31624 | |||
| 31625 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetComputeRootConstantBufferView) | ||
| 31626 | void ( STDMETHODCALLTYPE *SetComputeRootConstantBufferView )( | ||
| 31627 | ID3D12GraphicsCommandList5 * This, | ||
| 31628 | _In_ UINT RootParameterIndex, | ||
| 31629 | _In_ D3D12_GPU_VIRTUAL_ADDRESS BufferLocation); | ||
| 31630 | |||
| 31631 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetGraphicsRootConstantBufferView) | ||
| 31632 | void ( STDMETHODCALLTYPE *SetGraphicsRootConstantBufferView )( | ||
| 31633 | ID3D12GraphicsCommandList5 * This, | ||
| 31634 | _In_ UINT RootParameterIndex, | ||
| 31635 | _In_ D3D12_GPU_VIRTUAL_ADDRESS BufferLocation); | ||
| 31636 | |||
| 31637 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetComputeRootShaderResourceView) | ||
| 31638 | void ( STDMETHODCALLTYPE *SetComputeRootShaderResourceView )( | ||
| 31639 | ID3D12GraphicsCommandList5 * This, | ||
| 31640 | _In_ UINT RootParameterIndex, | ||
| 31641 | _In_ D3D12_GPU_VIRTUAL_ADDRESS BufferLocation); | ||
| 31642 | |||
| 31643 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetGraphicsRootShaderResourceView) | ||
| 31644 | void ( STDMETHODCALLTYPE *SetGraphicsRootShaderResourceView )( | ||
| 31645 | ID3D12GraphicsCommandList5 * This, | ||
| 31646 | _In_ UINT RootParameterIndex, | ||
| 31647 | _In_ D3D12_GPU_VIRTUAL_ADDRESS BufferLocation); | ||
| 31648 | |||
| 31649 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetComputeRootUnorderedAccessView) | ||
| 31650 | void ( STDMETHODCALLTYPE *SetComputeRootUnorderedAccessView )( | ||
| 31651 | ID3D12GraphicsCommandList5 * This, | ||
| 31652 | _In_ UINT RootParameterIndex, | ||
| 31653 | _In_ D3D12_GPU_VIRTUAL_ADDRESS BufferLocation); | ||
| 31654 | |||
| 31655 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetGraphicsRootUnorderedAccessView) | ||
| 31656 | void ( STDMETHODCALLTYPE *SetGraphicsRootUnorderedAccessView )( | ||
| 31657 | ID3D12GraphicsCommandList5 * This, | ||
| 31658 | _In_ UINT RootParameterIndex, | ||
| 31659 | _In_ D3D12_GPU_VIRTUAL_ADDRESS BufferLocation); | ||
| 31660 | |||
| 31661 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, IASetIndexBuffer) | ||
| 31662 | void ( STDMETHODCALLTYPE *IASetIndexBuffer )( | ||
| 31663 | ID3D12GraphicsCommandList5 * This, | ||
| 31664 | _In_opt_ const D3D12_INDEX_BUFFER_VIEW *pView); | ||
| 31665 | |||
| 31666 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, IASetVertexBuffers) | ||
| 31667 | void ( STDMETHODCALLTYPE *IASetVertexBuffers )( | ||
| 31668 | ID3D12GraphicsCommandList5 * This, | ||
| 31669 | _In_ UINT StartSlot, | ||
| 31670 | _In_ UINT NumViews, | ||
| 31671 | _In_reads_opt_(NumViews) const D3D12_VERTEX_BUFFER_VIEW *pViews); | ||
| 31672 | |||
| 31673 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SOSetTargets) | ||
| 31674 | void ( STDMETHODCALLTYPE *SOSetTargets )( | ||
| 31675 | ID3D12GraphicsCommandList5 * This, | ||
| 31676 | _In_ UINT StartSlot, | ||
| 31677 | _In_ UINT NumViews, | ||
| 31678 | _In_reads_opt_(NumViews) const D3D12_STREAM_OUTPUT_BUFFER_VIEW *pViews); | ||
| 31679 | |||
| 31680 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, OMSetRenderTargets) | ||
| 31681 | void ( STDMETHODCALLTYPE *OMSetRenderTargets )( | ||
| 31682 | ID3D12GraphicsCommandList5 * This, | ||
| 31683 | _In_ UINT NumRenderTargetDescriptors, | ||
| 31684 | _In_opt_ const D3D12_CPU_DESCRIPTOR_HANDLE *pRenderTargetDescriptors, | ||
| 31685 | _In_ BOOL RTsSingleHandleToDescriptorRange, | ||
| 31686 | _In_opt_ const D3D12_CPU_DESCRIPTOR_HANDLE *pDepthStencilDescriptor); | ||
| 31687 | |||
| 31688 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, ClearDepthStencilView) | ||
| 31689 | void ( STDMETHODCALLTYPE *ClearDepthStencilView )( | ||
| 31690 | ID3D12GraphicsCommandList5 * This, | ||
| 31691 | _In_ D3D12_CPU_DESCRIPTOR_HANDLE DepthStencilView, | ||
| 31692 | _In_ D3D12_CLEAR_FLAGS ClearFlags, | ||
| 31693 | _In_ FLOAT Depth, | ||
| 31694 | _In_ UINT8 Stencil, | ||
| 31695 | _In_ UINT NumRects, | ||
| 31696 | _In_reads_(NumRects) const D3D12_RECT *pRects); | ||
| 31697 | |||
| 31698 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, ClearRenderTargetView) | ||
| 31699 | void ( STDMETHODCALLTYPE *ClearRenderTargetView )( | ||
| 31700 | ID3D12GraphicsCommandList5 * This, | ||
| 31701 | _In_ D3D12_CPU_DESCRIPTOR_HANDLE RenderTargetView, | ||
| 31702 | _In_ const FLOAT ColorRGBA[ 4 ], | ||
| 31703 | _In_ UINT NumRects, | ||
| 31704 | _In_reads_(NumRects) const D3D12_RECT *pRects); | ||
| 31705 | |||
| 31706 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, ClearUnorderedAccessViewUint) | ||
| 31707 | void ( STDMETHODCALLTYPE *ClearUnorderedAccessViewUint )( | ||
| 31708 | ID3D12GraphicsCommandList5 * This, | ||
| 31709 | _In_ D3D12_GPU_DESCRIPTOR_HANDLE ViewGPUHandleInCurrentHeap, | ||
| 31710 | _In_ D3D12_CPU_DESCRIPTOR_HANDLE ViewCPUHandle, | ||
| 31711 | _In_ ID3D12Resource *pResource, | ||
| 31712 | _In_ const UINT Values[ 4 ], | ||
| 31713 | _In_ UINT NumRects, | ||
| 31714 | _In_reads_(NumRects) const D3D12_RECT *pRects); | ||
| 31715 | |||
| 31716 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, ClearUnorderedAccessViewFloat) | ||
| 31717 | void ( STDMETHODCALLTYPE *ClearUnorderedAccessViewFloat )( | ||
| 31718 | ID3D12GraphicsCommandList5 * This, | ||
| 31719 | _In_ D3D12_GPU_DESCRIPTOR_HANDLE ViewGPUHandleInCurrentHeap, | ||
| 31720 | _In_ D3D12_CPU_DESCRIPTOR_HANDLE ViewCPUHandle, | ||
| 31721 | _In_ ID3D12Resource *pResource, | ||
| 31722 | _In_ const FLOAT Values[ 4 ], | ||
| 31723 | _In_ UINT NumRects, | ||
| 31724 | _In_reads_(NumRects) const D3D12_RECT *pRects); | ||
| 31725 | |||
| 31726 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, DiscardResource) | ||
| 31727 | void ( STDMETHODCALLTYPE *DiscardResource )( | ||
| 31728 | ID3D12GraphicsCommandList5 * This, | ||
| 31729 | _In_ ID3D12Resource *pResource, | ||
| 31730 | _In_opt_ const D3D12_DISCARD_REGION *pRegion); | ||
| 31731 | |||
| 31732 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, BeginQuery) | ||
| 31733 | void ( STDMETHODCALLTYPE *BeginQuery )( | ||
| 31734 | ID3D12GraphicsCommandList5 * This, | ||
| 31735 | _In_ ID3D12QueryHeap *pQueryHeap, | ||
| 31736 | _In_ D3D12_QUERY_TYPE Type, | ||
| 31737 | _In_ UINT Index); | ||
| 31738 | |||
| 31739 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, EndQuery) | ||
| 31740 | void ( STDMETHODCALLTYPE *EndQuery )( | ||
| 31741 | ID3D12GraphicsCommandList5 * This, | ||
| 31742 | _In_ ID3D12QueryHeap *pQueryHeap, | ||
| 31743 | _In_ D3D12_QUERY_TYPE Type, | ||
| 31744 | _In_ UINT Index); | ||
| 31745 | |||
| 31746 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, ResolveQueryData) | ||
| 31747 | void ( STDMETHODCALLTYPE *ResolveQueryData )( | ||
| 31748 | ID3D12GraphicsCommandList5 * This, | ||
| 31749 | _In_ ID3D12QueryHeap *pQueryHeap, | ||
| 31750 | _In_ D3D12_QUERY_TYPE Type, | ||
| 31751 | _In_ UINT StartIndex, | ||
| 31752 | _In_ UINT NumQueries, | ||
| 31753 | _In_ ID3D12Resource *pDestinationBuffer, | ||
| 31754 | _In_ UINT64 AlignedDestinationBufferOffset); | ||
| 31755 | |||
| 31756 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetPredication) | ||
| 31757 | void ( STDMETHODCALLTYPE *SetPredication )( | ||
| 31758 | ID3D12GraphicsCommandList5 * This, | ||
| 31759 | _In_opt_ ID3D12Resource *pBuffer, | ||
| 31760 | _In_ UINT64 AlignedBufferOffset, | ||
| 31761 | _In_ D3D12_PREDICATION_OP Operation); | ||
| 31762 | |||
| 31763 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetMarker) | ||
| 31764 | void ( STDMETHODCALLTYPE *SetMarker )( | ||
| 31765 | ID3D12GraphicsCommandList5 * This, | ||
| 31766 | UINT Metadata, | ||
| 31767 | _In_reads_bytes_opt_(Size) const void *pData, | ||
| 31768 | UINT Size); | ||
| 31769 | |||
| 31770 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, BeginEvent) | ||
| 31771 | void ( STDMETHODCALLTYPE *BeginEvent )( | ||
| 31772 | ID3D12GraphicsCommandList5 * This, | ||
| 31773 | UINT Metadata, | ||
| 31774 | _In_reads_bytes_opt_(Size) const void *pData, | ||
| 31775 | UINT Size); | ||
| 31776 | |||
| 31777 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, EndEvent) | ||
| 31778 | void ( STDMETHODCALLTYPE *EndEvent )( | ||
| 31779 | ID3D12GraphicsCommandList5 * This); | ||
| 31780 | |||
| 31781 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, ExecuteIndirect) | ||
| 31782 | void ( STDMETHODCALLTYPE *ExecuteIndirect )( | ||
| 31783 | ID3D12GraphicsCommandList5 * This, | ||
| 31784 | _In_ ID3D12CommandSignature *pCommandSignature, | ||
| 31785 | _In_ UINT MaxCommandCount, | ||
| 31786 | _In_ ID3D12Resource *pArgumentBuffer, | ||
| 31787 | _In_ UINT64 ArgumentBufferOffset, | ||
| 31788 | _In_opt_ ID3D12Resource *pCountBuffer, | ||
| 31789 | _In_ UINT64 CountBufferOffset); | ||
| 31790 | |||
| 31791 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList1, AtomicCopyBufferUINT) | ||
| 31792 | void ( STDMETHODCALLTYPE *AtomicCopyBufferUINT )( | ||
| 31793 | ID3D12GraphicsCommandList5 * This, | ||
| 31794 | _In_ ID3D12Resource *pDstBuffer, | ||
| 31795 | UINT64 DstOffset, | ||
| 31796 | _In_ ID3D12Resource *pSrcBuffer, | ||
| 31797 | UINT64 SrcOffset, | ||
| 31798 | UINT Dependencies, | ||
| 31799 | _In_reads_(Dependencies) ID3D12Resource *const *ppDependentResources, | ||
| 31800 | _In_reads_(Dependencies) const D3D12_SUBRESOURCE_RANGE_UINT64 *pDependentSubresourceRanges); | ||
| 31801 | |||
| 31802 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList1, AtomicCopyBufferUINT64) | ||
| 31803 | void ( STDMETHODCALLTYPE *AtomicCopyBufferUINT64 )( | ||
| 31804 | ID3D12GraphicsCommandList5 * This, | ||
| 31805 | _In_ ID3D12Resource *pDstBuffer, | ||
| 31806 | UINT64 DstOffset, | ||
| 31807 | _In_ ID3D12Resource *pSrcBuffer, | ||
| 31808 | UINT64 SrcOffset, | ||
| 31809 | UINT Dependencies, | ||
| 31810 | _In_reads_(Dependencies) ID3D12Resource *const *ppDependentResources, | ||
| 31811 | _In_reads_(Dependencies) const D3D12_SUBRESOURCE_RANGE_UINT64 *pDependentSubresourceRanges); | ||
| 31812 | |||
| 31813 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList1, OMSetDepthBounds) | ||
| 31814 | void ( STDMETHODCALLTYPE *OMSetDepthBounds )( | ||
| 31815 | ID3D12GraphicsCommandList5 * This, | ||
| 31816 | _In_ FLOAT Min, | ||
| 31817 | _In_ FLOAT Max); | ||
| 31818 | |||
| 31819 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList1, SetSamplePositions) | ||
| 31820 | void ( STDMETHODCALLTYPE *SetSamplePositions )( | ||
| 31821 | ID3D12GraphicsCommandList5 * This, | ||
| 31822 | _In_ UINT NumSamplesPerPixel, | ||
| 31823 | _In_ UINT NumPixels, | ||
| 31824 | _In_reads_(NumSamplesPerPixel*NumPixels) D3D12_SAMPLE_POSITION *pSamplePositions); | ||
| 31825 | |||
| 31826 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList1, ResolveSubresourceRegion) | ||
| 31827 | void ( STDMETHODCALLTYPE *ResolveSubresourceRegion )( | ||
| 31828 | ID3D12GraphicsCommandList5 * This, | ||
| 31829 | _In_ ID3D12Resource *pDstResource, | ||
| 31830 | _In_ UINT DstSubresource, | ||
| 31831 | _In_ UINT DstX, | ||
| 31832 | _In_ UINT DstY, | ||
| 31833 | _In_ ID3D12Resource *pSrcResource, | ||
| 31834 | _In_ UINT SrcSubresource, | ||
| 31835 | _In_opt_ D3D12_RECT *pSrcRect, | ||
| 31836 | _In_ DXGI_FORMAT Format, | ||
| 31837 | _In_ D3D12_RESOLVE_MODE ResolveMode); | ||
| 31838 | |||
| 31839 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList1, SetViewInstanceMask) | ||
| 31840 | void ( STDMETHODCALLTYPE *SetViewInstanceMask )( | ||
| 31841 | ID3D12GraphicsCommandList5 * This, | ||
| 31842 | _In_ UINT Mask); | ||
| 31843 | |||
| 31844 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList2, WriteBufferImmediate) | ||
| 31845 | void ( STDMETHODCALLTYPE *WriteBufferImmediate )( | ||
| 31846 | ID3D12GraphicsCommandList5 * This, | ||
| 31847 | UINT Count, | ||
| 31848 | _In_reads_(Count) const D3D12_WRITEBUFFERIMMEDIATE_PARAMETER *pParams, | ||
| 31849 | _In_reads_opt_(Count) const D3D12_WRITEBUFFERIMMEDIATE_MODE *pModes); | ||
| 31850 | |||
| 31851 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList3, SetProtectedResourceSession) | ||
| 31852 | void ( STDMETHODCALLTYPE *SetProtectedResourceSession )( | ||
| 31853 | ID3D12GraphicsCommandList5 * This, | ||
| 31854 | _In_opt_ ID3D12ProtectedResourceSession *pProtectedResourceSession); | ||
| 31855 | |||
| 31856 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList4, BeginRenderPass) | ||
| 31857 | void ( STDMETHODCALLTYPE *BeginRenderPass )( | ||
| 31858 | ID3D12GraphicsCommandList5 * This, | ||
| 31859 | _In_ UINT NumRenderTargets, | ||
| 31860 | _In_reads_opt_(NumRenderTargets) const D3D12_RENDER_PASS_RENDER_TARGET_DESC *pRenderTargets, | ||
| 31861 | _In_opt_ const D3D12_RENDER_PASS_DEPTH_STENCIL_DESC *pDepthStencil, | ||
| 31862 | D3D12_RENDER_PASS_FLAGS Flags); | ||
| 31863 | |||
| 31864 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList4, EndRenderPass) | ||
| 31865 | void ( STDMETHODCALLTYPE *EndRenderPass )( | ||
| 31866 | ID3D12GraphicsCommandList5 * This); | ||
| 31867 | |||
| 31868 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList4, InitializeMetaCommand) | ||
| 31869 | void ( STDMETHODCALLTYPE *InitializeMetaCommand )( | ||
| 31870 | ID3D12GraphicsCommandList5 * This, | ||
| 31871 | _In_ ID3D12MetaCommand *pMetaCommand, | ||
| 31872 | _In_reads_bytes_opt_(InitializationParametersDataSizeInBytes) const void *pInitializationParametersData, | ||
| 31873 | _In_ SIZE_T InitializationParametersDataSizeInBytes); | ||
| 31874 | |||
| 31875 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList4, ExecuteMetaCommand) | ||
| 31876 | void ( STDMETHODCALLTYPE *ExecuteMetaCommand )( | ||
| 31877 | ID3D12GraphicsCommandList5 * This, | ||
| 31878 | _In_ ID3D12MetaCommand *pMetaCommand, | ||
| 31879 | _In_reads_bytes_opt_(ExecutionParametersDataSizeInBytes) const void *pExecutionParametersData, | ||
| 31880 | _In_ SIZE_T ExecutionParametersDataSizeInBytes); | ||
| 31881 | |||
| 31882 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList4, BuildRaytracingAccelerationStructure) | ||
| 31883 | void ( STDMETHODCALLTYPE *BuildRaytracingAccelerationStructure )( | ||
| 31884 | ID3D12GraphicsCommandList5 * This, | ||
| 31885 | _In_ const D3D12_BUILD_RAYTRACING_ACCELERATION_STRUCTURE_DESC *pDesc, | ||
| 31886 | _In_ UINT NumPostbuildInfoDescs, | ||
| 31887 | _In_reads_opt_(NumPostbuildInfoDescs) const D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_DESC *pPostbuildInfoDescs); | ||
| 31888 | |||
| 31889 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList4, EmitRaytracingAccelerationStructurePostbuildInfo) | ||
| 31890 | void ( STDMETHODCALLTYPE *EmitRaytracingAccelerationStructurePostbuildInfo )( | ||
| 31891 | ID3D12GraphicsCommandList5 * This, | ||
| 31892 | _In_ const D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_DESC *pDesc, | ||
| 31893 | _In_ UINT NumSourceAccelerationStructures, | ||
| 31894 | _In_reads_( NumSourceAccelerationStructures ) const D3D12_GPU_VIRTUAL_ADDRESS *pSourceAccelerationStructureData); | ||
| 31895 | |||
| 31896 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList4, CopyRaytracingAccelerationStructure) | ||
| 31897 | void ( STDMETHODCALLTYPE *CopyRaytracingAccelerationStructure )( | ||
| 31898 | ID3D12GraphicsCommandList5 * This, | ||
| 31899 | _In_ D3D12_GPU_VIRTUAL_ADDRESS DestAccelerationStructureData, | ||
| 31900 | _In_ D3D12_GPU_VIRTUAL_ADDRESS SourceAccelerationStructureData, | ||
| 31901 | _In_ D3D12_RAYTRACING_ACCELERATION_STRUCTURE_COPY_MODE Mode); | ||
| 31902 | |||
| 31903 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList4, SetPipelineState1) | ||
| 31904 | void ( STDMETHODCALLTYPE *SetPipelineState1 )( | ||
| 31905 | ID3D12GraphicsCommandList5 * This, | ||
| 31906 | _In_ ID3D12StateObject *pStateObject); | ||
| 31907 | |||
| 31908 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList4, DispatchRays) | ||
| 31909 | void ( STDMETHODCALLTYPE *DispatchRays )( | ||
| 31910 | ID3D12GraphicsCommandList5 * This, | ||
| 31911 | _In_ const D3D12_DISPATCH_RAYS_DESC *pDesc); | ||
| 31912 | |||
| 31913 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList5, RSSetShadingRate) | ||
| 31914 | void ( STDMETHODCALLTYPE *RSSetShadingRate )( | ||
| 31915 | ID3D12GraphicsCommandList5 * This, | ||
| 31916 | _In_ D3D12_SHADING_RATE baseShadingRate, | ||
| 31917 | _In_reads_opt_(D3D12_RS_SET_SHADING_RATE_COMBINER_COUNT) const D3D12_SHADING_RATE_COMBINER *combiners); | ||
| 31918 | |||
| 31919 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList5, RSSetShadingRateImage) | ||
| 31920 | void ( STDMETHODCALLTYPE *RSSetShadingRateImage )( | ||
| 31921 | ID3D12GraphicsCommandList5 * This, | ||
| 31922 | _In_opt_ ID3D12Resource *shadingRateImage); | ||
| 31923 | |||
| 31924 | END_INTERFACE | ||
| 31925 | } ID3D12GraphicsCommandList5Vtbl; | ||
| 31926 | |||
| 31927 | interface ID3D12GraphicsCommandList5 | ||
| 31928 | { | ||
| 31929 | CONST_VTBL struct ID3D12GraphicsCommandList5Vtbl *lpVtbl; | ||
| 31930 | }; | ||
| 31931 | |||
| 31932 | |||
| 31933 | |||
| 31934 | #ifdef COBJMACROS | ||
| 31935 | |||
| 31936 | |||
| 31937 | #define ID3D12GraphicsCommandList5_QueryInterface(This,riid,ppvObject) \ | ||
| 31938 | ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) | ||
| 31939 | |||
| 31940 | #define ID3D12GraphicsCommandList5_AddRef(This) \ | ||
| 31941 | ( (This)->lpVtbl -> AddRef(This) ) | ||
| 31942 | |||
| 31943 | #define ID3D12GraphicsCommandList5_Release(This) \ | ||
| 31944 | ( (This)->lpVtbl -> Release(This) ) | ||
| 31945 | |||
| 31946 | |||
| 31947 | #define ID3D12GraphicsCommandList5_GetPrivateData(This,guid,pDataSize,pData) \ | ||
| 31948 | ( (This)->lpVtbl -> GetPrivateData(This,guid,pDataSize,pData) ) | ||
| 31949 | |||
| 31950 | #define ID3D12GraphicsCommandList5_SetPrivateData(This,guid,DataSize,pData) \ | ||
| 31951 | ( (This)->lpVtbl -> SetPrivateData(This,guid,DataSize,pData) ) | ||
| 31952 | |||
| 31953 | #define ID3D12GraphicsCommandList5_SetPrivateDataInterface(This,guid,pData) \ | ||
| 31954 | ( (This)->lpVtbl -> SetPrivateDataInterface(This,guid,pData) ) | ||
| 31955 | |||
| 31956 | #define ID3D12GraphicsCommandList5_SetName(This,Name) \ | ||
| 31957 | ( (This)->lpVtbl -> SetName(This,Name) ) | ||
| 31958 | |||
| 31959 | |||
| 31960 | #define ID3D12GraphicsCommandList5_GetDevice(This,riid,ppvDevice) \ | ||
| 31961 | ( (This)->lpVtbl -> GetDevice(This,riid,ppvDevice) ) | ||
| 31962 | |||
| 31963 | |||
| 31964 | #define ID3D12GraphicsCommandList5_GetType(This) \ | ||
| 31965 | ( (This)->lpVtbl -> GetType(This) ) | ||
| 31966 | |||
| 31967 | |||
| 31968 | #define ID3D12GraphicsCommandList5_Close(This) \ | ||
| 31969 | ( (This)->lpVtbl -> Close(This) ) | ||
| 31970 | |||
| 31971 | #define ID3D12GraphicsCommandList5_Reset(This,pAllocator,pInitialState) \ | ||
| 31972 | ( (This)->lpVtbl -> Reset(This,pAllocator,pInitialState) ) | ||
| 31973 | |||
| 31974 | #define ID3D12GraphicsCommandList5_ClearState(This,pPipelineState) \ | ||
| 31975 | ( (This)->lpVtbl -> ClearState(This,pPipelineState) ) | ||
| 31976 | |||
| 31977 | #define ID3D12GraphicsCommandList5_DrawInstanced(This,VertexCountPerInstance,InstanceCount,StartVertexLocation,StartInstanceLocation) \ | ||
| 31978 | ( (This)->lpVtbl -> DrawInstanced(This,VertexCountPerInstance,InstanceCount,StartVertexLocation,StartInstanceLocation) ) | ||
| 31979 | |||
| 31980 | #define ID3D12GraphicsCommandList5_DrawIndexedInstanced(This,IndexCountPerInstance,InstanceCount,StartIndexLocation,BaseVertexLocation,StartInstanceLocation) \ | ||
| 31981 | ( (This)->lpVtbl -> DrawIndexedInstanced(This,IndexCountPerInstance,InstanceCount,StartIndexLocation,BaseVertexLocation,StartInstanceLocation) ) | ||
| 31982 | |||
| 31983 | #define ID3D12GraphicsCommandList5_Dispatch(This,ThreadGroupCountX,ThreadGroupCountY,ThreadGroupCountZ) \ | ||
| 31984 | ( (This)->lpVtbl -> Dispatch(This,ThreadGroupCountX,ThreadGroupCountY,ThreadGroupCountZ) ) | ||
| 31985 | |||
| 31986 | #define ID3D12GraphicsCommandList5_CopyBufferRegion(This,pDstBuffer,DstOffset,pSrcBuffer,SrcOffset,NumBytes) \ | ||
| 31987 | ( (This)->lpVtbl -> CopyBufferRegion(This,pDstBuffer,DstOffset,pSrcBuffer,SrcOffset,NumBytes) ) | ||
| 31988 | |||
| 31989 | #define ID3D12GraphicsCommandList5_CopyTextureRegion(This,pDst,DstX,DstY,DstZ,pSrc,pSrcBox) \ | ||
| 31990 | ( (This)->lpVtbl -> CopyTextureRegion(This,pDst,DstX,DstY,DstZ,pSrc,pSrcBox) ) | ||
| 31991 | |||
| 31992 | #define ID3D12GraphicsCommandList5_CopyResource(This,pDstResource,pSrcResource) \ | ||
| 31993 | ( (This)->lpVtbl -> CopyResource(This,pDstResource,pSrcResource) ) | ||
| 31994 | |||
| 31995 | #define ID3D12GraphicsCommandList5_CopyTiles(This,pTiledResource,pTileRegionStartCoordinate,pTileRegionSize,pBuffer,BufferStartOffsetInBytes,Flags) \ | ||
| 31996 | ( (This)->lpVtbl -> CopyTiles(This,pTiledResource,pTileRegionStartCoordinate,pTileRegionSize,pBuffer,BufferStartOffsetInBytes,Flags) ) | ||
| 31997 | |||
| 31998 | #define ID3D12GraphicsCommandList5_ResolveSubresource(This,pDstResource,DstSubresource,pSrcResource,SrcSubresource,Format) \ | ||
| 31999 | ( (This)->lpVtbl -> ResolveSubresource(This,pDstResource,DstSubresource,pSrcResource,SrcSubresource,Format) ) | ||
| 32000 | |||
| 32001 | #define ID3D12GraphicsCommandList5_IASetPrimitiveTopology(This,PrimitiveTopology) \ | ||
| 32002 | ( (This)->lpVtbl -> IASetPrimitiveTopology(This,PrimitiveTopology) ) | ||
| 32003 | |||
| 32004 | #define ID3D12GraphicsCommandList5_RSSetViewports(This,NumViewports,pViewports) \ | ||
| 32005 | ( (This)->lpVtbl -> RSSetViewports(This,NumViewports,pViewports) ) | ||
| 32006 | |||
| 32007 | #define ID3D12GraphicsCommandList5_RSSetScissorRects(This,NumRects,pRects) \ | ||
| 32008 | ( (This)->lpVtbl -> RSSetScissorRects(This,NumRects,pRects) ) | ||
| 32009 | |||
| 32010 | #define ID3D12GraphicsCommandList5_OMSetBlendFactor(This,BlendFactor) \ | ||
| 32011 | ( (This)->lpVtbl -> OMSetBlendFactor(This,BlendFactor) ) | ||
| 32012 | |||
| 32013 | #define ID3D12GraphicsCommandList5_OMSetStencilRef(This,StencilRef) \ | ||
| 32014 | ( (This)->lpVtbl -> OMSetStencilRef(This,StencilRef) ) | ||
| 32015 | |||
| 32016 | #define ID3D12GraphicsCommandList5_SetPipelineState(This,pPipelineState) \ | ||
| 32017 | ( (This)->lpVtbl -> SetPipelineState(This,pPipelineState) ) | ||
| 32018 | |||
| 32019 | #define ID3D12GraphicsCommandList5_ResourceBarrier(This,NumBarriers,pBarriers) \ | ||
| 32020 | ( (This)->lpVtbl -> ResourceBarrier(This,NumBarriers,pBarriers) ) | ||
| 32021 | |||
| 32022 | #define ID3D12GraphicsCommandList5_ExecuteBundle(This,pCommandList) \ | ||
| 32023 | ( (This)->lpVtbl -> ExecuteBundle(This,pCommandList) ) | ||
| 32024 | |||
| 32025 | #define ID3D12GraphicsCommandList5_SetDescriptorHeaps(This,NumDescriptorHeaps,ppDescriptorHeaps) \ | ||
| 32026 | ( (This)->lpVtbl -> SetDescriptorHeaps(This,NumDescriptorHeaps,ppDescriptorHeaps) ) | ||
| 32027 | |||
| 32028 | #define ID3D12GraphicsCommandList5_SetComputeRootSignature(This,pRootSignature) \ | ||
| 32029 | ( (This)->lpVtbl -> SetComputeRootSignature(This,pRootSignature) ) | ||
| 32030 | |||
| 32031 | #define ID3D12GraphicsCommandList5_SetGraphicsRootSignature(This,pRootSignature) \ | ||
| 32032 | ( (This)->lpVtbl -> SetGraphicsRootSignature(This,pRootSignature) ) | ||
| 32033 | |||
| 32034 | #define ID3D12GraphicsCommandList5_SetComputeRootDescriptorTable(This,RootParameterIndex,BaseDescriptor) \ | ||
| 32035 | ( (This)->lpVtbl -> SetComputeRootDescriptorTable(This,RootParameterIndex,BaseDescriptor) ) | ||
| 32036 | |||
| 32037 | #define ID3D12GraphicsCommandList5_SetGraphicsRootDescriptorTable(This,RootParameterIndex,BaseDescriptor) \ | ||
| 32038 | ( (This)->lpVtbl -> SetGraphicsRootDescriptorTable(This,RootParameterIndex,BaseDescriptor) ) | ||
| 32039 | |||
| 32040 | #define ID3D12GraphicsCommandList5_SetComputeRoot32BitConstant(This,RootParameterIndex,SrcData,DestOffsetIn32BitValues) \ | ||
| 32041 | ( (This)->lpVtbl -> SetComputeRoot32BitConstant(This,RootParameterIndex,SrcData,DestOffsetIn32BitValues) ) | ||
| 32042 | |||
| 32043 | #define ID3D12GraphicsCommandList5_SetGraphicsRoot32BitConstant(This,RootParameterIndex,SrcData,DestOffsetIn32BitValues) \ | ||
| 32044 | ( (This)->lpVtbl -> SetGraphicsRoot32BitConstant(This,RootParameterIndex,SrcData,DestOffsetIn32BitValues) ) | ||
| 32045 | |||
| 32046 | #define ID3D12GraphicsCommandList5_SetComputeRoot32BitConstants(This,RootParameterIndex,Num32BitValuesToSet,pSrcData,DestOffsetIn32BitValues) \ | ||
| 32047 | ( (This)->lpVtbl -> SetComputeRoot32BitConstants(This,RootParameterIndex,Num32BitValuesToSet,pSrcData,DestOffsetIn32BitValues) ) | ||
| 32048 | |||
| 32049 | #define ID3D12GraphicsCommandList5_SetGraphicsRoot32BitConstants(This,RootParameterIndex,Num32BitValuesToSet,pSrcData,DestOffsetIn32BitValues) \ | ||
| 32050 | ( (This)->lpVtbl -> SetGraphicsRoot32BitConstants(This,RootParameterIndex,Num32BitValuesToSet,pSrcData,DestOffsetIn32BitValues) ) | ||
| 32051 | |||
| 32052 | #define ID3D12GraphicsCommandList5_SetComputeRootConstantBufferView(This,RootParameterIndex,BufferLocation) \ | ||
| 32053 | ( (This)->lpVtbl -> SetComputeRootConstantBufferView(This,RootParameterIndex,BufferLocation) ) | ||
| 32054 | |||
| 32055 | #define ID3D12GraphicsCommandList5_SetGraphicsRootConstantBufferView(This,RootParameterIndex,BufferLocation) \ | ||
| 32056 | ( (This)->lpVtbl -> SetGraphicsRootConstantBufferView(This,RootParameterIndex,BufferLocation) ) | ||
| 32057 | |||
| 32058 | #define ID3D12GraphicsCommandList5_SetComputeRootShaderResourceView(This,RootParameterIndex,BufferLocation) \ | ||
| 32059 | ( (This)->lpVtbl -> SetComputeRootShaderResourceView(This,RootParameterIndex,BufferLocation) ) | ||
| 32060 | |||
| 32061 | #define ID3D12GraphicsCommandList5_SetGraphicsRootShaderResourceView(This,RootParameterIndex,BufferLocation) \ | ||
| 32062 | ( (This)->lpVtbl -> SetGraphicsRootShaderResourceView(This,RootParameterIndex,BufferLocation) ) | ||
| 32063 | |||
| 32064 | #define ID3D12GraphicsCommandList5_SetComputeRootUnorderedAccessView(This,RootParameterIndex,BufferLocation) \ | ||
| 32065 | ( (This)->lpVtbl -> SetComputeRootUnorderedAccessView(This,RootParameterIndex,BufferLocation) ) | ||
| 32066 | |||
| 32067 | #define ID3D12GraphicsCommandList5_SetGraphicsRootUnorderedAccessView(This,RootParameterIndex,BufferLocation) \ | ||
| 32068 | ( (This)->lpVtbl -> SetGraphicsRootUnorderedAccessView(This,RootParameterIndex,BufferLocation) ) | ||
| 32069 | |||
| 32070 | #define ID3D12GraphicsCommandList5_IASetIndexBuffer(This,pView) \ | ||
| 32071 | ( (This)->lpVtbl -> IASetIndexBuffer(This,pView) ) | ||
| 32072 | |||
| 32073 | #define ID3D12GraphicsCommandList5_IASetVertexBuffers(This,StartSlot,NumViews,pViews) \ | ||
| 32074 | ( (This)->lpVtbl -> IASetVertexBuffers(This,StartSlot,NumViews,pViews) ) | ||
| 32075 | |||
| 32076 | #define ID3D12GraphicsCommandList5_SOSetTargets(This,StartSlot,NumViews,pViews) \ | ||
| 32077 | ( (This)->lpVtbl -> SOSetTargets(This,StartSlot,NumViews,pViews) ) | ||
| 32078 | |||
| 32079 | #define ID3D12GraphicsCommandList5_OMSetRenderTargets(This,NumRenderTargetDescriptors,pRenderTargetDescriptors,RTsSingleHandleToDescriptorRange,pDepthStencilDescriptor) \ | ||
| 32080 | ( (This)->lpVtbl -> OMSetRenderTargets(This,NumRenderTargetDescriptors,pRenderTargetDescriptors,RTsSingleHandleToDescriptorRange,pDepthStencilDescriptor) ) | ||
| 32081 | |||
| 32082 | #define ID3D12GraphicsCommandList5_ClearDepthStencilView(This,DepthStencilView,ClearFlags,Depth,Stencil,NumRects,pRects) \ | ||
| 32083 | ( (This)->lpVtbl -> ClearDepthStencilView(This,DepthStencilView,ClearFlags,Depth,Stencil,NumRects,pRects) ) | ||
| 32084 | |||
| 32085 | #define ID3D12GraphicsCommandList5_ClearRenderTargetView(This,RenderTargetView,ColorRGBA,NumRects,pRects) \ | ||
| 32086 | ( (This)->lpVtbl -> ClearRenderTargetView(This,RenderTargetView,ColorRGBA,NumRects,pRects) ) | ||
| 32087 | |||
| 32088 | #define ID3D12GraphicsCommandList5_ClearUnorderedAccessViewUint(This,ViewGPUHandleInCurrentHeap,ViewCPUHandle,pResource,Values,NumRects,pRects) \ | ||
| 32089 | ( (This)->lpVtbl -> ClearUnorderedAccessViewUint(This,ViewGPUHandleInCurrentHeap,ViewCPUHandle,pResource,Values,NumRects,pRects) ) | ||
| 32090 | |||
| 32091 | #define ID3D12GraphicsCommandList5_ClearUnorderedAccessViewFloat(This,ViewGPUHandleInCurrentHeap,ViewCPUHandle,pResource,Values,NumRects,pRects) \ | ||
| 32092 | ( (This)->lpVtbl -> ClearUnorderedAccessViewFloat(This,ViewGPUHandleInCurrentHeap,ViewCPUHandle,pResource,Values,NumRects,pRects) ) | ||
| 32093 | |||
| 32094 | #define ID3D12GraphicsCommandList5_DiscardResource(This,pResource,pRegion) \ | ||
| 32095 | ( (This)->lpVtbl -> DiscardResource(This,pResource,pRegion) ) | ||
| 32096 | |||
| 32097 | #define ID3D12GraphicsCommandList5_BeginQuery(This,pQueryHeap,Type,Index) \ | ||
| 32098 | ( (This)->lpVtbl -> BeginQuery(This,pQueryHeap,Type,Index) ) | ||
| 32099 | |||
| 32100 | #define ID3D12GraphicsCommandList5_EndQuery(This,pQueryHeap,Type,Index) \ | ||
| 32101 | ( (This)->lpVtbl -> EndQuery(This,pQueryHeap,Type,Index) ) | ||
| 32102 | |||
| 32103 | #define ID3D12GraphicsCommandList5_ResolveQueryData(This,pQueryHeap,Type,StartIndex,NumQueries,pDestinationBuffer,AlignedDestinationBufferOffset) \ | ||
| 32104 | ( (This)->lpVtbl -> ResolveQueryData(This,pQueryHeap,Type,StartIndex,NumQueries,pDestinationBuffer,AlignedDestinationBufferOffset) ) | ||
| 32105 | |||
| 32106 | #define ID3D12GraphicsCommandList5_SetPredication(This,pBuffer,AlignedBufferOffset,Operation) \ | ||
| 32107 | ( (This)->lpVtbl -> SetPredication(This,pBuffer,AlignedBufferOffset,Operation) ) | ||
| 32108 | |||
| 32109 | #define ID3D12GraphicsCommandList5_SetMarker(This,Metadata,pData,Size) \ | ||
| 32110 | ( (This)->lpVtbl -> SetMarker(This,Metadata,pData,Size) ) | ||
| 32111 | |||
| 32112 | #define ID3D12GraphicsCommandList5_BeginEvent(This,Metadata,pData,Size) \ | ||
| 32113 | ( (This)->lpVtbl -> BeginEvent(This,Metadata,pData,Size) ) | ||
| 32114 | |||
| 32115 | #define ID3D12GraphicsCommandList5_EndEvent(This) \ | ||
| 32116 | ( (This)->lpVtbl -> EndEvent(This) ) | ||
| 32117 | |||
| 32118 | #define ID3D12GraphicsCommandList5_ExecuteIndirect(This,pCommandSignature,MaxCommandCount,pArgumentBuffer,ArgumentBufferOffset,pCountBuffer,CountBufferOffset) \ | ||
| 32119 | ( (This)->lpVtbl -> ExecuteIndirect(This,pCommandSignature,MaxCommandCount,pArgumentBuffer,ArgumentBufferOffset,pCountBuffer,CountBufferOffset) ) | ||
| 32120 | |||
| 32121 | |||
| 32122 | #define ID3D12GraphicsCommandList5_AtomicCopyBufferUINT(This,pDstBuffer,DstOffset,pSrcBuffer,SrcOffset,Dependencies,ppDependentResources,pDependentSubresourceRanges) \ | ||
| 32123 | ( (This)->lpVtbl -> AtomicCopyBufferUINT(This,pDstBuffer,DstOffset,pSrcBuffer,SrcOffset,Dependencies,ppDependentResources,pDependentSubresourceRanges) ) | ||
| 32124 | |||
| 32125 | #define ID3D12GraphicsCommandList5_AtomicCopyBufferUINT64(This,pDstBuffer,DstOffset,pSrcBuffer,SrcOffset,Dependencies,ppDependentResources,pDependentSubresourceRanges) \ | ||
| 32126 | ( (This)->lpVtbl -> AtomicCopyBufferUINT64(This,pDstBuffer,DstOffset,pSrcBuffer,SrcOffset,Dependencies,ppDependentResources,pDependentSubresourceRanges) ) | ||
| 32127 | |||
| 32128 | #define ID3D12GraphicsCommandList5_OMSetDepthBounds(This,Min,Max) \ | ||
| 32129 | ( (This)->lpVtbl -> OMSetDepthBounds(This,Min,Max) ) | ||
| 32130 | |||
| 32131 | #define ID3D12GraphicsCommandList5_SetSamplePositions(This,NumSamplesPerPixel,NumPixels,pSamplePositions) \ | ||
| 32132 | ( (This)->lpVtbl -> SetSamplePositions(This,NumSamplesPerPixel,NumPixels,pSamplePositions) ) | ||
| 32133 | |||
| 32134 | #define ID3D12GraphicsCommandList5_ResolveSubresourceRegion(This,pDstResource,DstSubresource,DstX,DstY,pSrcResource,SrcSubresource,pSrcRect,Format,ResolveMode) \ | ||
| 32135 | ( (This)->lpVtbl -> ResolveSubresourceRegion(This,pDstResource,DstSubresource,DstX,DstY,pSrcResource,SrcSubresource,pSrcRect,Format,ResolveMode) ) | ||
| 32136 | |||
| 32137 | #define ID3D12GraphicsCommandList5_SetViewInstanceMask(This,Mask) \ | ||
| 32138 | ( (This)->lpVtbl -> SetViewInstanceMask(This,Mask) ) | ||
| 32139 | |||
| 32140 | |||
| 32141 | #define ID3D12GraphicsCommandList5_WriteBufferImmediate(This,Count,pParams,pModes) \ | ||
| 32142 | ( (This)->lpVtbl -> WriteBufferImmediate(This,Count,pParams,pModes) ) | ||
| 32143 | |||
| 32144 | |||
| 32145 | #define ID3D12GraphicsCommandList5_SetProtectedResourceSession(This,pProtectedResourceSession) \ | ||
| 32146 | ( (This)->lpVtbl -> SetProtectedResourceSession(This,pProtectedResourceSession) ) | ||
| 32147 | |||
| 32148 | |||
| 32149 | #define ID3D12GraphicsCommandList5_BeginRenderPass(This,NumRenderTargets,pRenderTargets,pDepthStencil,Flags) \ | ||
| 32150 | ( (This)->lpVtbl -> BeginRenderPass(This,NumRenderTargets,pRenderTargets,pDepthStencil,Flags) ) | ||
| 32151 | |||
| 32152 | #define ID3D12GraphicsCommandList5_EndRenderPass(This) \ | ||
| 32153 | ( (This)->lpVtbl -> EndRenderPass(This) ) | ||
| 32154 | |||
| 32155 | #define ID3D12GraphicsCommandList5_InitializeMetaCommand(This,pMetaCommand,pInitializationParametersData,InitializationParametersDataSizeInBytes) \ | ||
| 32156 | ( (This)->lpVtbl -> InitializeMetaCommand(This,pMetaCommand,pInitializationParametersData,InitializationParametersDataSizeInBytes) ) | ||
| 32157 | |||
| 32158 | #define ID3D12GraphicsCommandList5_ExecuteMetaCommand(This,pMetaCommand,pExecutionParametersData,ExecutionParametersDataSizeInBytes) \ | ||
| 32159 | ( (This)->lpVtbl -> ExecuteMetaCommand(This,pMetaCommand,pExecutionParametersData,ExecutionParametersDataSizeInBytes) ) | ||
| 32160 | |||
| 32161 | #define ID3D12GraphicsCommandList5_BuildRaytracingAccelerationStructure(This,pDesc,NumPostbuildInfoDescs,pPostbuildInfoDescs) \ | ||
| 32162 | ( (This)->lpVtbl -> BuildRaytracingAccelerationStructure(This,pDesc,NumPostbuildInfoDescs,pPostbuildInfoDescs) ) | ||
| 32163 | |||
| 32164 | #define ID3D12GraphicsCommandList5_EmitRaytracingAccelerationStructurePostbuildInfo(This,pDesc,NumSourceAccelerationStructures,pSourceAccelerationStructureData) \ | ||
| 32165 | ( (This)->lpVtbl -> EmitRaytracingAccelerationStructurePostbuildInfo(This,pDesc,NumSourceAccelerationStructures,pSourceAccelerationStructureData) ) | ||
| 32166 | |||
| 32167 | #define ID3D12GraphicsCommandList5_CopyRaytracingAccelerationStructure(This,DestAccelerationStructureData,SourceAccelerationStructureData,Mode) \ | ||
| 32168 | ( (This)->lpVtbl -> CopyRaytracingAccelerationStructure(This,DestAccelerationStructureData,SourceAccelerationStructureData,Mode) ) | ||
| 32169 | |||
| 32170 | #define ID3D12GraphicsCommandList5_SetPipelineState1(This,pStateObject) \ | ||
| 32171 | ( (This)->lpVtbl -> SetPipelineState1(This,pStateObject) ) | ||
| 32172 | |||
| 32173 | #define ID3D12GraphicsCommandList5_DispatchRays(This,pDesc) \ | ||
| 32174 | ( (This)->lpVtbl -> DispatchRays(This,pDesc) ) | ||
| 32175 | |||
| 32176 | |||
| 32177 | #define ID3D12GraphicsCommandList5_RSSetShadingRate(This,baseShadingRate,combiners) \ | ||
| 32178 | ( (This)->lpVtbl -> RSSetShadingRate(This,baseShadingRate,combiners) ) | ||
| 32179 | |||
| 32180 | #define ID3D12GraphicsCommandList5_RSSetShadingRateImage(This,shadingRateImage) \ | ||
| 32181 | ( (This)->lpVtbl -> RSSetShadingRateImage(This,shadingRateImage) ) | ||
| 32182 | |||
| 32183 | #endif /* COBJMACROS */ | ||
| 32184 | |||
| 32185 | |||
| 32186 | #endif /* C style interface */ | ||
| 32187 | |||
| 32188 | |||
| 32189 | |||
| 32190 | |||
| 32191 | #endif /* __ID3D12GraphicsCommandList5_INTERFACE_DEFINED__ */ | ||
| 32192 | |||
| 32193 | |||
| 32194 | /* interface __MIDL_itf_d3d12_0000_0078 */ | ||
| 32195 | /* [local] */ | ||
| 32196 | |||
| 32197 | typedef struct D3D12_DISPATCH_MESH_ARGUMENTS | ||
| 32198 | { | ||
| 32199 | UINT ThreadGroupCountX; | ||
| 32200 | UINT ThreadGroupCountY; | ||
| 32201 | UINT ThreadGroupCountZ; | ||
| 32202 | } D3D12_DISPATCH_MESH_ARGUMENTS; | ||
| 32203 | |||
| 32204 | |||
| 32205 | |||
| 32206 | extern RPC_IF_HANDLE __MIDL_itf_d3d12_0000_0078_v0_0_c_ifspec; | ||
| 32207 | extern RPC_IF_HANDLE __MIDL_itf_d3d12_0000_0078_v0_0_s_ifspec; | ||
| 32208 | |||
| 32209 | #ifndef __ID3D12GraphicsCommandList6_INTERFACE_DEFINED__ | ||
| 32210 | #define __ID3D12GraphicsCommandList6_INTERFACE_DEFINED__ | ||
| 32211 | |||
| 32212 | /* interface ID3D12GraphicsCommandList6 */ | ||
| 32213 | /* [unique][local][object][uuid] */ | ||
| 32214 | |||
| 32215 | |||
| 32216 | EXTERN_C const IID IID_ID3D12GraphicsCommandList6; | ||
| 32217 | |||
| 32218 | #if defined(__cplusplus) && !defined(CINTERFACE) | ||
| 32219 | |||
| 32220 | MIDL_INTERFACE("c3827890-e548-4cfa-96cf-5689a9370f80") | ||
| 32221 | ID3D12GraphicsCommandList6 : public ID3D12GraphicsCommandList5 | ||
| 32222 | { | ||
| 32223 | public: | ||
| 32224 | virtual void STDMETHODCALLTYPE DispatchMesh( | ||
| 32225 | _In_ UINT ThreadGroupCountX, | ||
| 32226 | _In_ UINT ThreadGroupCountY, | ||
| 32227 | _In_ UINT ThreadGroupCountZ) = 0; | ||
| 32228 | |||
| 32229 | }; | ||
| 32230 | |||
| 32231 | |||
| 32232 | #else /* C style interface */ | ||
| 32233 | |||
| 32234 | typedef struct ID3D12GraphicsCommandList6Vtbl | ||
| 32235 | { | ||
| 32236 | BEGIN_INTERFACE | ||
| 32237 | |||
| 32238 | DECLSPEC_XFGVIRT(IUnknown, QueryInterface) | ||
| 32239 | HRESULT ( STDMETHODCALLTYPE *QueryInterface )( | ||
| 32240 | ID3D12GraphicsCommandList6 * This, | ||
| 32241 | REFIID riid, | ||
| 32242 | _COM_Outptr_ void **ppvObject); | ||
| 32243 | |||
| 32244 | DECLSPEC_XFGVIRT(IUnknown, AddRef) | ||
| 32245 | ULONG ( STDMETHODCALLTYPE *AddRef )( | ||
| 32246 | ID3D12GraphicsCommandList6 * This); | ||
| 32247 | |||
| 32248 | DECLSPEC_XFGVIRT(IUnknown, Release) | ||
| 32249 | ULONG ( STDMETHODCALLTYPE *Release )( | ||
| 32250 | ID3D12GraphicsCommandList6 * This); | ||
| 32251 | |||
| 32252 | DECLSPEC_XFGVIRT(ID3D12Object, GetPrivateData) | ||
| 32253 | HRESULT ( STDMETHODCALLTYPE *GetPrivateData )( | ||
| 32254 | ID3D12GraphicsCommandList6 * This, | ||
| 32255 | _In_ REFGUID guid, | ||
| 32256 | _Inout_ UINT *pDataSize, | ||
| 32257 | _Out_writes_bytes_opt_( *pDataSize ) void *pData); | ||
| 32258 | |||
| 32259 | DECLSPEC_XFGVIRT(ID3D12Object, SetPrivateData) | ||
| 32260 | HRESULT ( STDMETHODCALLTYPE *SetPrivateData )( | ||
| 32261 | ID3D12GraphicsCommandList6 * This, | ||
| 32262 | _In_ REFGUID guid, | ||
| 32263 | _In_ UINT DataSize, | ||
| 32264 | _In_reads_bytes_opt_( DataSize ) const void *pData); | ||
| 32265 | |||
| 32266 | DECLSPEC_XFGVIRT(ID3D12Object, SetPrivateDataInterface) | ||
| 32267 | HRESULT ( STDMETHODCALLTYPE *SetPrivateDataInterface )( | ||
| 32268 | ID3D12GraphicsCommandList6 * This, | ||
| 32269 | _In_ REFGUID guid, | ||
| 32270 | _In_opt_ const IUnknown *pData); | ||
| 32271 | |||
| 32272 | DECLSPEC_XFGVIRT(ID3D12Object, SetName) | ||
| 32273 | HRESULT ( STDMETHODCALLTYPE *SetName )( | ||
| 32274 | ID3D12GraphicsCommandList6 * This, | ||
| 32275 | _In_z_ LPCWSTR Name); | ||
| 32276 | |||
| 32277 | DECLSPEC_XFGVIRT(ID3D12DeviceChild, GetDevice) | ||
| 32278 | HRESULT ( STDMETHODCALLTYPE *GetDevice )( | ||
| 32279 | ID3D12GraphicsCommandList6 * This, | ||
| 32280 | REFIID riid, | ||
| 32281 | _COM_Outptr_opt_ void **ppvDevice); | ||
| 32282 | |||
| 32283 | DECLSPEC_XFGVIRT(ID3D12CommandList, GetType) | ||
| 32284 | D3D12_COMMAND_LIST_TYPE ( STDMETHODCALLTYPE *GetType )( | ||
| 32285 | ID3D12GraphicsCommandList6 * This); | ||
| 32286 | |||
| 32287 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, Close) | ||
| 32288 | HRESULT ( STDMETHODCALLTYPE *Close )( | ||
| 32289 | ID3D12GraphicsCommandList6 * This); | ||
| 32290 | |||
| 32291 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, Reset) | ||
| 32292 | HRESULT ( STDMETHODCALLTYPE *Reset )( | ||
| 32293 | ID3D12GraphicsCommandList6 * This, | ||
| 32294 | _In_ ID3D12CommandAllocator *pAllocator, | ||
| 32295 | _In_opt_ ID3D12PipelineState *pInitialState); | ||
| 32296 | |||
| 32297 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, ClearState) | ||
| 32298 | void ( STDMETHODCALLTYPE *ClearState )( | ||
| 32299 | ID3D12GraphicsCommandList6 * This, | ||
| 32300 | _In_opt_ ID3D12PipelineState *pPipelineState); | ||
| 32301 | |||
| 32302 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, DrawInstanced) | ||
| 32303 | void ( STDMETHODCALLTYPE *DrawInstanced )( | ||
| 32304 | ID3D12GraphicsCommandList6 * This, | ||
| 32305 | _In_ UINT VertexCountPerInstance, | ||
| 32306 | _In_ UINT InstanceCount, | ||
| 32307 | _In_ UINT StartVertexLocation, | ||
| 32308 | _In_ UINT StartInstanceLocation); | ||
| 32309 | |||
| 32310 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, DrawIndexedInstanced) | ||
| 32311 | void ( STDMETHODCALLTYPE *DrawIndexedInstanced )( | ||
| 32312 | ID3D12GraphicsCommandList6 * This, | ||
| 32313 | _In_ UINT IndexCountPerInstance, | ||
| 32314 | _In_ UINT InstanceCount, | ||
| 32315 | _In_ UINT StartIndexLocation, | ||
| 32316 | _In_ INT BaseVertexLocation, | ||
| 32317 | _In_ UINT StartInstanceLocation); | ||
| 32318 | |||
| 32319 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, Dispatch) | ||
| 32320 | void ( STDMETHODCALLTYPE *Dispatch )( | ||
| 32321 | ID3D12GraphicsCommandList6 * This, | ||
| 32322 | _In_ UINT ThreadGroupCountX, | ||
| 32323 | _In_ UINT ThreadGroupCountY, | ||
| 32324 | _In_ UINT ThreadGroupCountZ); | ||
| 32325 | |||
| 32326 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, CopyBufferRegion) | ||
| 32327 | void ( STDMETHODCALLTYPE *CopyBufferRegion )( | ||
| 32328 | ID3D12GraphicsCommandList6 * This, | ||
| 32329 | _In_ ID3D12Resource *pDstBuffer, | ||
| 32330 | UINT64 DstOffset, | ||
| 32331 | _In_ ID3D12Resource *pSrcBuffer, | ||
| 32332 | UINT64 SrcOffset, | ||
| 32333 | UINT64 NumBytes); | ||
| 32334 | |||
| 32335 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, CopyTextureRegion) | ||
| 32336 | void ( STDMETHODCALLTYPE *CopyTextureRegion )( | ||
| 32337 | ID3D12GraphicsCommandList6 * This, | ||
| 32338 | _In_ const D3D12_TEXTURE_COPY_LOCATION *pDst, | ||
| 32339 | UINT DstX, | ||
| 32340 | UINT DstY, | ||
| 32341 | UINT DstZ, | ||
| 32342 | _In_ const D3D12_TEXTURE_COPY_LOCATION *pSrc, | ||
| 32343 | _In_opt_ const D3D12_BOX *pSrcBox); | ||
| 32344 | |||
| 32345 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, CopyResource) | ||
| 32346 | void ( STDMETHODCALLTYPE *CopyResource )( | ||
| 32347 | ID3D12GraphicsCommandList6 * This, | ||
| 32348 | _In_ ID3D12Resource *pDstResource, | ||
| 32349 | _In_ ID3D12Resource *pSrcResource); | ||
| 32350 | |||
| 32351 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, CopyTiles) | ||
| 32352 | void ( STDMETHODCALLTYPE *CopyTiles )( | ||
| 32353 | ID3D12GraphicsCommandList6 * This, | ||
| 32354 | _In_ ID3D12Resource *pTiledResource, | ||
| 32355 | _In_ const D3D12_TILED_RESOURCE_COORDINATE *pTileRegionStartCoordinate, | ||
| 32356 | _In_ const D3D12_TILE_REGION_SIZE *pTileRegionSize, | ||
| 32357 | _In_ ID3D12Resource *pBuffer, | ||
| 32358 | UINT64 BufferStartOffsetInBytes, | ||
| 32359 | D3D12_TILE_COPY_FLAGS Flags); | ||
| 32360 | |||
| 32361 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, ResolveSubresource) | ||
| 32362 | void ( STDMETHODCALLTYPE *ResolveSubresource )( | ||
| 32363 | ID3D12GraphicsCommandList6 * This, | ||
| 32364 | _In_ ID3D12Resource *pDstResource, | ||
| 32365 | _In_ UINT DstSubresource, | ||
| 32366 | _In_ ID3D12Resource *pSrcResource, | ||
| 32367 | _In_ UINT SrcSubresource, | ||
| 32368 | _In_ DXGI_FORMAT Format); | ||
| 32369 | |||
| 32370 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, IASetPrimitiveTopology) | ||
| 32371 | void ( STDMETHODCALLTYPE *IASetPrimitiveTopology )( | ||
| 32372 | ID3D12GraphicsCommandList6 * This, | ||
| 32373 | _In_ D3D12_PRIMITIVE_TOPOLOGY PrimitiveTopology); | ||
| 32374 | |||
| 32375 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, RSSetViewports) | ||
| 32376 | void ( STDMETHODCALLTYPE *RSSetViewports )( | ||
| 32377 | ID3D12GraphicsCommandList6 * This, | ||
| 32378 | _In_range_(0, D3D12_VIEWPORT_AND_SCISSORRECT_OBJECT_COUNT_PER_PIPELINE) UINT NumViewports, | ||
| 32379 | _In_reads_( NumViewports) const D3D12_VIEWPORT *pViewports); | ||
| 32380 | |||
| 32381 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, RSSetScissorRects) | ||
| 32382 | void ( STDMETHODCALLTYPE *RSSetScissorRects )( | ||
| 32383 | ID3D12GraphicsCommandList6 * This, | ||
| 32384 | _In_range_(0, D3D12_VIEWPORT_AND_SCISSORRECT_OBJECT_COUNT_PER_PIPELINE) UINT NumRects, | ||
| 32385 | _In_reads_( NumRects) const D3D12_RECT *pRects); | ||
| 32386 | |||
| 32387 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, OMSetBlendFactor) | ||
| 32388 | void ( STDMETHODCALLTYPE *OMSetBlendFactor )( | ||
| 32389 | ID3D12GraphicsCommandList6 * This, | ||
| 32390 | _In_reads_opt_(4) const FLOAT BlendFactor[ 4 ]); | ||
| 32391 | |||
| 32392 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, OMSetStencilRef) | ||
| 32393 | void ( STDMETHODCALLTYPE *OMSetStencilRef )( | ||
| 32394 | ID3D12GraphicsCommandList6 * This, | ||
| 32395 | _In_ UINT StencilRef); | ||
| 32396 | |||
| 32397 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetPipelineState) | ||
| 32398 | void ( STDMETHODCALLTYPE *SetPipelineState )( | ||
| 32399 | ID3D12GraphicsCommandList6 * This, | ||
| 32400 | _In_ ID3D12PipelineState *pPipelineState); | ||
| 32401 | |||
| 32402 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, ResourceBarrier) | ||
| 32403 | void ( STDMETHODCALLTYPE *ResourceBarrier )( | ||
| 32404 | ID3D12GraphicsCommandList6 * This, | ||
| 32405 | _In_ UINT NumBarriers, | ||
| 32406 | _In_reads_(NumBarriers) const D3D12_RESOURCE_BARRIER *pBarriers); | ||
| 32407 | |||
| 32408 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, ExecuteBundle) | ||
| 32409 | void ( STDMETHODCALLTYPE *ExecuteBundle )( | ||
| 32410 | ID3D12GraphicsCommandList6 * This, | ||
| 32411 | _In_ ID3D12GraphicsCommandList *pCommandList); | ||
| 32412 | |||
| 32413 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetDescriptorHeaps) | ||
| 32414 | void ( STDMETHODCALLTYPE *SetDescriptorHeaps )( | ||
| 32415 | ID3D12GraphicsCommandList6 * This, | ||
| 32416 | _In_ UINT NumDescriptorHeaps, | ||
| 32417 | _In_reads_(NumDescriptorHeaps) ID3D12DescriptorHeap *const *ppDescriptorHeaps); | ||
| 32418 | |||
| 32419 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetComputeRootSignature) | ||
| 32420 | void ( STDMETHODCALLTYPE *SetComputeRootSignature )( | ||
| 32421 | ID3D12GraphicsCommandList6 * This, | ||
| 32422 | _In_opt_ ID3D12RootSignature *pRootSignature); | ||
| 32423 | |||
| 32424 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetGraphicsRootSignature) | ||
| 32425 | void ( STDMETHODCALLTYPE *SetGraphicsRootSignature )( | ||
| 32426 | ID3D12GraphicsCommandList6 * This, | ||
| 32427 | _In_opt_ ID3D12RootSignature *pRootSignature); | ||
| 32428 | |||
| 32429 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetComputeRootDescriptorTable) | ||
| 32430 | void ( STDMETHODCALLTYPE *SetComputeRootDescriptorTable )( | ||
| 32431 | ID3D12GraphicsCommandList6 * This, | ||
| 32432 | _In_ UINT RootParameterIndex, | ||
| 32433 | _In_ D3D12_GPU_DESCRIPTOR_HANDLE BaseDescriptor); | ||
| 32434 | |||
| 32435 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetGraphicsRootDescriptorTable) | ||
| 32436 | void ( STDMETHODCALLTYPE *SetGraphicsRootDescriptorTable )( | ||
| 32437 | ID3D12GraphicsCommandList6 * This, | ||
| 32438 | _In_ UINT RootParameterIndex, | ||
| 32439 | _In_ D3D12_GPU_DESCRIPTOR_HANDLE BaseDescriptor); | ||
| 32440 | |||
| 32441 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetComputeRoot32BitConstant) | ||
| 32442 | void ( STDMETHODCALLTYPE *SetComputeRoot32BitConstant )( | ||
| 32443 | ID3D12GraphicsCommandList6 * This, | ||
| 32444 | _In_ UINT RootParameterIndex, | ||
| 32445 | _In_ UINT SrcData, | ||
| 32446 | _In_ UINT DestOffsetIn32BitValues); | ||
| 32447 | |||
| 32448 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetGraphicsRoot32BitConstant) | ||
| 32449 | void ( STDMETHODCALLTYPE *SetGraphicsRoot32BitConstant )( | ||
| 32450 | ID3D12GraphicsCommandList6 * This, | ||
| 32451 | _In_ UINT RootParameterIndex, | ||
| 32452 | _In_ UINT SrcData, | ||
| 32453 | _In_ UINT DestOffsetIn32BitValues); | ||
| 32454 | |||
| 32455 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetComputeRoot32BitConstants) | ||
| 32456 | void ( STDMETHODCALLTYPE *SetComputeRoot32BitConstants )( | ||
| 32457 | ID3D12GraphicsCommandList6 * This, | ||
| 32458 | _In_ UINT RootParameterIndex, | ||
| 32459 | _In_ UINT Num32BitValuesToSet, | ||
| 32460 | _In_reads_(Num32BitValuesToSet*sizeof(UINT)) const void *pSrcData, | ||
| 32461 | _In_ UINT DestOffsetIn32BitValues); | ||
| 32462 | |||
| 32463 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetGraphicsRoot32BitConstants) | ||
| 32464 | void ( STDMETHODCALLTYPE *SetGraphicsRoot32BitConstants )( | ||
| 32465 | ID3D12GraphicsCommandList6 * This, | ||
| 32466 | _In_ UINT RootParameterIndex, | ||
| 32467 | _In_ UINT Num32BitValuesToSet, | ||
| 32468 | _In_reads_(Num32BitValuesToSet*sizeof(UINT)) const void *pSrcData, | ||
| 32469 | _In_ UINT DestOffsetIn32BitValues); | ||
| 32470 | |||
| 32471 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetComputeRootConstantBufferView) | ||
| 32472 | void ( STDMETHODCALLTYPE *SetComputeRootConstantBufferView )( | ||
| 32473 | ID3D12GraphicsCommandList6 * This, | ||
| 32474 | _In_ UINT RootParameterIndex, | ||
| 32475 | _In_ D3D12_GPU_VIRTUAL_ADDRESS BufferLocation); | ||
| 32476 | |||
| 32477 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetGraphicsRootConstantBufferView) | ||
| 32478 | void ( STDMETHODCALLTYPE *SetGraphicsRootConstantBufferView )( | ||
| 32479 | ID3D12GraphicsCommandList6 * This, | ||
| 32480 | _In_ UINT RootParameterIndex, | ||
| 32481 | _In_ D3D12_GPU_VIRTUAL_ADDRESS BufferLocation); | ||
| 32482 | |||
| 32483 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetComputeRootShaderResourceView) | ||
| 32484 | void ( STDMETHODCALLTYPE *SetComputeRootShaderResourceView )( | ||
| 32485 | ID3D12GraphicsCommandList6 * This, | ||
| 32486 | _In_ UINT RootParameterIndex, | ||
| 32487 | _In_ D3D12_GPU_VIRTUAL_ADDRESS BufferLocation); | ||
| 32488 | |||
| 32489 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetGraphicsRootShaderResourceView) | ||
| 32490 | void ( STDMETHODCALLTYPE *SetGraphicsRootShaderResourceView )( | ||
| 32491 | ID3D12GraphicsCommandList6 * This, | ||
| 32492 | _In_ UINT RootParameterIndex, | ||
| 32493 | _In_ D3D12_GPU_VIRTUAL_ADDRESS BufferLocation); | ||
| 32494 | |||
| 32495 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetComputeRootUnorderedAccessView) | ||
| 32496 | void ( STDMETHODCALLTYPE *SetComputeRootUnorderedAccessView )( | ||
| 32497 | ID3D12GraphicsCommandList6 * This, | ||
| 32498 | _In_ UINT RootParameterIndex, | ||
| 32499 | _In_ D3D12_GPU_VIRTUAL_ADDRESS BufferLocation); | ||
| 32500 | |||
| 32501 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetGraphicsRootUnorderedAccessView) | ||
| 32502 | void ( STDMETHODCALLTYPE *SetGraphicsRootUnorderedAccessView )( | ||
| 32503 | ID3D12GraphicsCommandList6 * This, | ||
| 32504 | _In_ UINT RootParameterIndex, | ||
| 32505 | _In_ D3D12_GPU_VIRTUAL_ADDRESS BufferLocation); | ||
| 32506 | |||
| 32507 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, IASetIndexBuffer) | ||
| 32508 | void ( STDMETHODCALLTYPE *IASetIndexBuffer )( | ||
| 32509 | ID3D12GraphicsCommandList6 * This, | ||
| 32510 | _In_opt_ const D3D12_INDEX_BUFFER_VIEW *pView); | ||
| 32511 | |||
| 32512 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, IASetVertexBuffers) | ||
| 32513 | void ( STDMETHODCALLTYPE *IASetVertexBuffers )( | ||
| 32514 | ID3D12GraphicsCommandList6 * This, | ||
| 32515 | _In_ UINT StartSlot, | ||
| 32516 | _In_ UINT NumViews, | ||
| 32517 | _In_reads_opt_(NumViews) const D3D12_VERTEX_BUFFER_VIEW *pViews); | ||
| 32518 | |||
| 32519 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SOSetTargets) | ||
| 32520 | void ( STDMETHODCALLTYPE *SOSetTargets )( | ||
| 32521 | ID3D12GraphicsCommandList6 * This, | ||
| 32522 | _In_ UINT StartSlot, | ||
| 32523 | _In_ UINT NumViews, | ||
| 32524 | _In_reads_opt_(NumViews) const D3D12_STREAM_OUTPUT_BUFFER_VIEW *pViews); | ||
| 32525 | |||
| 32526 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, OMSetRenderTargets) | ||
| 32527 | void ( STDMETHODCALLTYPE *OMSetRenderTargets )( | ||
| 32528 | ID3D12GraphicsCommandList6 * This, | ||
| 32529 | _In_ UINT NumRenderTargetDescriptors, | ||
| 32530 | _In_opt_ const D3D12_CPU_DESCRIPTOR_HANDLE *pRenderTargetDescriptors, | ||
| 32531 | _In_ BOOL RTsSingleHandleToDescriptorRange, | ||
| 32532 | _In_opt_ const D3D12_CPU_DESCRIPTOR_HANDLE *pDepthStencilDescriptor); | ||
| 32533 | |||
| 32534 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, ClearDepthStencilView) | ||
| 32535 | void ( STDMETHODCALLTYPE *ClearDepthStencilView )( | ||
| 32536 | ID3D12GraphicsCommandList6 * This, | ||
| 32537 | _In_ D3D12_CPU_DESCRIPTOR_HANDLE DepthStencilView, | ||
| 32538 | _In_ D3D12_CLEAR_FLAGS ClearFlags, | ||
| 32539 | _In_ FLOAT Depth, | ||
| 32540 | _In_ UINT8 Stencil, | ||
| 32541 | _In_ UINT NumRects, | ||
| 32542 | _In_reads_(NumRects) const D3D12_RECT *pRects); | ||
| 32543 | |||
| 32544 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, ClearRenderTargetView) | ||
| 32545 | void ( STDMETHODCALLTYPE *ClearRenderTargetView )( | ||
| 32546 | ID3D12GraphicsCommandList6 * This, | ||
| 32547 | _In_ D3D12_CPU_DESCRIPTOR_HANDLE RenderTargetView, | ||
| 32548 | _In_ const FLOAT ColorRGBA[ 4 ], | ||
| 32549 | _In_ UINT NumRects, | ||
| 32550 | _In_reads_(NumRects) const D3D12_RECT *pRects); | ||
| 32551 | |||
| 32552 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, ClearUnorderedAccessViewUint) | ||
| 32553 | void ( STDMETHODCALLTYPE *ClearUnorderedAccessViewUint )( | ||
| 32554 | ID3D12GraphicsCommandList6 * This, | ||
| 32555 | _In_ D3D12_GPU_DESCRIPTOR_HANDLE ViewGPUHandleInCurrentHeap, | ||
| 32556 | _In_ D3D12_CPU_DESCRIPTOR_HANDLE ViewCPUHandle, | ||
| 32557 | _In_ ID3D12Resource *pResource, | ||
| 32558 | _In_ const UINT Values[ 4 ], | ||
| 32559 | _In_ UINT NumRects, | ||
| 32560 | _In_reads_(NumRects) const D3D12_RECT *pRects); | ||
| 32561 | |||
| 32562 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, ClearUnorderedAccessViewFloat) | ||
| 32563 | void ( STDMETHODCALLTYPE *ClearUnorderedAccessViewFloat )( | ||
| 32564 | ID3D12GraphicsCommandList6 * This, | ||
| 32565 | _In_ D3D12_GPU_DESCRIPTOR_HANDLE ViewGPUHandleInCurrentHeap, | ||
| 32566 | _In_ D3D12_CPU_DESCRIPTOR_HANDLE ViewCPUHandle, | ||
| 32567 | _In_ ID3D12Resource *pResource, | ||
| 32568 | _In_ const FLOAT Values[ 4 ], | ||
| 32569 | _In_ UINT NumRects, | ||
| 32570 | _In_reads_(NumRects) const D3D12_RECT *pRects); | ||
| 32571 | |||
| 32572 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, DiscardResource) | ||
| 32573 | void ( STDMETHODCALLTYPE *DiscardResource )( | ||
| 32574 | ID3D12GraphicsCommandList6 * This, | ||
| 32575 | _In_ ID3D12Resource *pResource, | ||
| 32576 | _In_opt_ const D3D12_DISCARD_REGION *pRegion); | ||
| 32577 | |||
| 32578 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, BeginQuery) | ||
| 32579 | void ( STDMETHODCALLTYPE *BeginQuery )( | ||
| 32580 | ID3D12GraphicsCommandList6 * This, | ||
| 32581 | _In_ ID3D12QueryHeap *pQueryHeap, | ||
| 32582 | _In_ D3D12_QUERY_TYPE Type, | ||
| 32583 | _In_ UINT Index); | ||
| 32584 | |||
| 32585 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, EndQuery) | ||
| 32586 | void ( STDMETHODCALLTYPE *EndQuery )( | ||
| 32587 | ID3D12GraphicsCommandList6 * This, | ||
| 32588 | _In_ ID3D12QueryHeap *pQueryHeap, | ||
| 32589 | _In_ D3D12_QUERY_TYPE Type, | ||
| 32590 | _In_ UINT Index); | ||
| 32591 | |||
| 32592 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, ResolveQueryData) | ||
| 32593 | void ( STDMETHODCALLTYPE *ResolveQueryData )( | ||
| 32594 | ID3D12GraphicsCommandList6 * This, | ||
| 32595 | _In_ ID3D12QueryHeap *pQueryHeap, | ||
| 32596 | _In_ D3D12_QUERY_TYPE Type, | ||
| 32597 | _In_ UINT StartIndex, | ||
| 32598 | _In_ UINT NumQueries, | ||
| 32599 | _In_ ID3D12Resource *pDestinationBuffer, | ||
| 32600 | _In_ UINT64 AlignedDestinationBufferOffset); | ||
| 32601 | |||
| 32602 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetPredication) | ||
| 32603 | void ( STDMETHODCALLTYPE *SetPredication )( | ||
| 32604 | ID3D12GraphicsCommandList6 * This, | ||
| 32605 | _In_opt_ ID3D12Resource *pBuffer, | ||
| 32606 | _In_ UINT64 AlignedBufferOffset, | ||
| 32607 | _In_ D3D12_PREDICATION_OP Operation); | ||
| 32608 | |||
| 32609 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetMarker) | ||
| 32610 | void ( STDMETHODCALLTYPE *SetMarker )( | ||
| 32611 | ID3D12GraphicsCommandList6 * This, | ||
| 32612 | UINT Metadata, | ||
| 32613 | _In_reads_bytes_opt_(Size) const void *pData, | ||
| 32614 | UINT Size); | ||
| 32615 | |||
| 32616 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, BeginEvent) | ||
| 32617 | void ( STDMETHODCALLTYPE *BeginEvent )( | ||
| 32618 | ID3D12GraphicsCommandList6 * This, | ||
| 32619 | UINT Metadata, | ||
| 32620 | _In_reads_bytes_opt_(Size) const void *pData, | ||
| 32621 | UINT Size); | ||
| 32622 | |||
| 32623 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, EndEvent) | ||
| 32624 | void ( STDMETHODCALLTYPE *EndEvent )( | ||
| 32625 | ID3D12GraphicsCommandList6 * This); | ||
| 32626 | |||
| 32627 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, ExecuteIndirect) | ||
| 32628 | void ( STDMETHODCALLTYPE *ExecuteIndirect )( | ||
| 32629 | ID3D12GraphicsCommandList6 * This, | ||
| 32630 | _In_ ID3D12CommandSignature *pCommandSignature, | ||
| 32631 | _In_ UINT MaxCommandCount, | ||
| 32632 | _In_ ID3D12Resource *pArgumentBuffer, | ||
| 32633 | _In_ UINT64 ArgumentBufferOffset, | ||
| 32634 | _In_opt_ ID3D12Resource *pCountBuffer, | ||
| 32635 | _In_ UINT64 CountBufferOffset); | ||
| 32636 | |||
| 32637 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList1, AtomicCopyBufferUINT) | ||
| 32638 | void ( STDMETHODCALLTYPE *AtomicCopyBufferUINT )( | ||
| 32639 | ID3D12GraphicsCommandList6 * This, | ||
| 32640 | _In_ ID3D12Resource *pDstBuffer, | ||
| 32641 | UINT64 DstOffset, | ||
| 32642 | _In_ ID3D12Resource *pSrcBuffer, | ||
| 32643 | UINT64 SrcOffset, | ||
| 32644 | UINT Dependencies, | ||
| 32645 | _In_reads_(Dependencies) ID3D12Resource *const *ppDependentResources, | ||
| 32646 | _In_reads_(Dependencies) const D3D12_SUBRESOURCE_RANGE_UINT64 *pDependentSubresourceRanges); | ||
| 32647 | |||
| 32648 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList1, AtomicCopyBufferUINT64) | ||
| 32649 | void ( STDMETHODCALLTYPE *AtomicCopyBufferUINT64 )( | ||
| 32650 | ID3D12GraphicsCommandList6 * This, | ||
| 32651 | _In_ ID3D12Resource *pDstBuffer, | ||
| 32652 | UINT64 DstOffset, | ||
| 32653 | _In_ ID3D12Resource *pSrcBuffer, | ||
| 32654 | UINT64 SrcOffset, | ||
| 32655 | UINT Dependencies, | ||
| 32656 | _In_reads_(Dependencies) ID3D12Resource *const *ppDependentResources, | ||
| 32657 | _In_reads_(Dependencies) const D3D12_SUBRESOURCE_RANGE_UINT64 *pDependentSubresourceRanges); | ||
| 32658 | |||
| 32659 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList1, OMSetDepthBounds) | ||
| 32660 | void ( STDMETHODCALLTYPE *OMSetDepthBounds )( | ||
| 32661 | ID3D12GraphicsCommandList6 * This, | ||
| 32662 | _In_ FLOAT Min, | ||
| 32663 | _In_ FLOAT Max); | ||
| 32664 | |||
| 32665 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList1, SetSamplePositions) | ||
| 32666 | void ( STDMETHODCALLTYPE *SetSamplePositions )( | ||
| 32667 | ID3D12GraphicsCommandList6 * This, | ||
| 32668 | _In_ UINT NumSamplesPerPixel, | ||
| 32669 | _In_ UINT NumPixels, | ||
| 32670 | _In_reads_(NumSamplesPerPixel*NumPixels) D3D12_SAMPLE_POSITION *pSamplePositions); | ||
| 32671 | |||
| 32672 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList1, ResolveSubresourceRegion) | ||
| 32673 | void ( STDMETHODCALLTYPE *ResolveSubresourceRegion )( | ||
| 32674 | ID3D12GraphicsCommandList6 * This, | ||
| 32675 | _In_ ID3D12Resource *pDstResource, | ||
| 32676 | _In_ UINT DstSubresource, | ||
| 32677 | _In_ UINT DstX, | ||
| 32678 | _In_ UINT DstY, | ||
| 32679 | _In_ ID3D12Resource *pSrcResource, | ||
| 32680 | _In_ UINT SrcSubresource, | ||
| 32681 | _In_opt_ D3D12_RECT *pSrcRect, | ||
| 32682 | _In_ DXGI_FORMAT Format, | ||
| 32683 | _In_ D3D12_RESOLVE_MODE ResolveMode); | ||
| 32684 | |||
| 32685 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList1, SetViewInstanceMask) | ||
| 32686 | void ( STDMETHODCALLTYPE *SetViewInstanceMask )( | ||
| 32687 | ID3D12GraphicsCommandList6 * This, | ||
| 32688 | _In_ UINT Mask); | ||
| 32689 | |||
| 32690 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList2, WriteBufferImmediate) | ||
| 32691 | void ( STDMETHODCALLTYPE *WriteBufferImmediate )( | ||
| 32692 | ID3D12GraphicsCommandList6 * This, | ||
| 32693 | UINT Count, | ||
| 32694 | _In_reads_(Count) const D3D12_WRITEBUFFERIMMEDIATE_PARAMETER *pParams, | ||
| 32695 | _In_reads_opt_(Count) const D3D12_WRITEBUFFERIMMEDIATE_MODE *pModes); | ||
| 32696 | |||
| 32697 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList3, SetProtectedResourceSession) | ||
| 32698 | void ( STDMETHODCALLTYPE *SetProtectedResourceSession )( | ||
| 32699 | ID3D12GraphicsCommandList6 * This, | ||
| 32700 | _In_opt_ ID3D12ProtectedResourceSession *pProtectedResourceSession); | ||
| 32701 | |||
| 32702 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList4, BeginRenderPass) | ||
| 32703 | void ( STDMETHODCALLTYPE *BeginRenderPass )( | ||
| 32704 | ID3D12GraphicsCommandList6 * This, | ||
| 32705 | _In_ UINT NumRenderTargets, | ||
| 32706 | _In_reads_opt_(NumRenderTargets) const D3D12_RENDER_PASS_RENDER_TARGET_DESC *pRenderTargets, | ||
| 32707 | _In_opt_ const D3D12_RENDER_PASS_DEPTH_STENCIL_DESC *pDepthStencil, | ||
| 32708 | D3D12_RENDER_PASS_FLAGS Flags); | ||
| 32709 | |||
| 32710 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList4, EndRenderPass) | ||
| 32711 | void ( STDMETHODCALLTYPE *EndRenderPass )( | ||
| 32712 | ID3D12GraphicsCommandList6 * This); | ||
| 32713 | |||
| 32714 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList4, InitializeMetaCommand) | ||
| 32715 | void ( STDMETHODCALLTYPE *InitializeMetaCommand )( | ||
| 32716 | ID3D12GraphicsCommandList6 * This, | ||
| 32717 | _In_ ID3D12MetaCommand *pMetaCommand, | ||
| 32718 | _In_reads_bytes_opt_(InitializationParametersDataSizeInBytes) const void *pInitializationParametersData, | ||
| 32719 | _In_ SIZE_T InitializationParametersDataSizeInBytes); | ||
| 32720 | |||
| 32721 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList4, ExecuteMetaCommand) | ||
| 32722 | void ( STDMETHODCALLTYPE *ExecuteMetaCommand )( | ||
| 32723 | ID3D12GraphicsCommandList6 * This, | ||
| 32724 | _In_ ID3D12MetaCommand *pMetaCommand, | ||
| 32725 | _In_reads_bytes_opt_(ExecutionParametersDataSizeInBytes) const void *pExecutionParametersData, | ||
| 32726 | _In_ SIZE_T ExecutionParametersDataSizeInBytes); | ||
| 32727 | |||
| 32728 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList4, BuildRaytracingAccelerationStructure) | ||
| 32729 | void ( STDMETHODCALLTYPE *BuildRaytracingAccelerationStructure )( | ||
| 32730 | ID3D12GraphicsCommandList6 * This, | ||
| 32731 | _In_ const D3D12_BUILD_RAYTRACING_ACCELERATION_STRUCTURE_DESC *pDesc, | ||
| 32732 | _In_ UINT NumPostbuildInfoDescs, | ||
| 32733 | _In_reads_opt_(NumPostbuildInfoDescs) const D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_DESC *pPostbuildInfoDescs); | ||
| 32734 | |||
| 32735 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList4, EmitRaytracingAccelerationStructurePostbuildInfo) | ||
| 32736 | void ( STDMETHODCALLTYPE *EmitRaytracingAccelerationStructurePostbuildInfo )( | ||
| 32737 | ID3D12GraphicsCommandList6 * This, | ||
| 32738 | _In_ const D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_DESC *pDesc, | ||
| 32739 | _In_ UINT NumSourceAccelerationStructures, | ||
| 32740 | _In_reads_( NumSourceAccelerationStructures ) const D3D12_GPU_VIRTUAL_ADDRESS *pSourceAccelerationStructureData); | ||
| 32741 | |||
| 32742 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList4, CopyRaytracingAccelerationStructure) | ||
| 32743 | void ( STDMETHODCALLTYPE *CopyRaytracingAccelerationStructure )( | ||
| 32744 | ID3D12GraphicsCommandList6 * This, | ||
| 32745 | _In_ D3D12_GPU_VIRTUAL_ADDRESS DestAccelerationStructureData, | ||
| 32746 | _In_ D3D12_GPU_VIRTUAL_ADDRESS SourceAccelerationStructureData, | ||
| 32747 | _In_ D3D12_RAYTRACING_ACCELERATION_STRUCTURE_COPY_MODE Mode); | ||
| 32748 | |||
| 32749 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList4, SetPipelineState1) | ||
| 32750 | void ( STDMETHODCALLTYPE *SetPipelineState1 )( | ||
| 32751 | ID3D12GraphicsCommandList6 * This, | ||
| 32752 | _In_ ID3D12StateObject *pStateObject); | ||
| 32753 | |||
| 32754 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList4, DispatchRays) | ||
| 32755 | void ( STDMETHODCALLTYPE *DispatchRays )( | ||
| 32756 | ID3D12GraphicsCommandList6 * This, | ||
| 32757 | _In_ const D3D12_DISPATCH_RAYS_DESC *pDesc); | ||
| 32758 | |||
| 32759 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList5, RSSetShadingRate) | ||
| 32760 | void ( STDMETHODCALLTYPE *RSSetShadingRate )( | ||
| 32761 | ID3D12GraphicsCommandList6 * This, | ||
| 32762 | _In_ D3D12_SHADING_RATE baseShadingRate, | ||
| 32763 | _In_reads_opt_(D3D12_RS_SET_SHADING_RATE_COMBINER_COUNT) const D3D12_SHADING_RATE_COMBINER *combiners); | ||
| 32764 | |||
| 32765 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList5, RSSetShadingRateImage) | ||
| 32766 | void ( STDMETHODCALLTYPE *RSSetShadingRateImage )( | ||
| 32767 | ID3D12GraphicsCommandList6 * This, | ||
| 32768 | _In_opt_ ID3D12Resource *shadingRateImage); | ||
| 32769 | |||
| 32770 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList6, DispatchMesh) | ||
| 32771 | void ( STDMETHODCALLTYPE *DispatchMesh )( | ||
| 32772 | ID3D12GraphicsCommandList6 * This, | ||
| 32773 | _In_ UINT ThreadGroupCountX, | ||
| 32774 | _In_ UINT ThreadGroupCountY, | ||
| 32775 | _In_ UINT ThreadGroupCountZ); | ||
| 32776 | |||
| 32777 | END_INTERFACE | ||
| 32778 | } ID3D12GraphicsCommandList6Vtbl; | ||
| 32779 | |||
| 32780 | interface ID3D12GraphicsCommandList6 | ||
| 32781 | { | ||
| 32782 | CONST_VTBL struct ID3D12GraphicsCommandList6Vtbl *lpVtbl; | ||
| 32783 | }; | ||
| 32784 | |||
| 32785 | |||
| 32786 | |||
| 32787 | #ifdef COBJMACROS | ||
| 32788 | |||
| 32789 | |||
| 32790 | #define ID3D12GraphicsCommandList6_QueryInterface(This,riid,ppvObject) \ | ||
| 32791 | ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) | ||
| 32792 | |||
| 32793 | #define ID3D12GraphicsCommandList6_AddRef(This) \ | ||
| 32794 | ( (This)->lpVtbl -> AddRef(This) ) | ||
| 32795 | |||
| 32796 | #define ID3D12GraphicsCommandList6_Release(This) \ | ||
| 32797 | ( (This)->lpVtbl -> Release(This) ) | ||
| 32798 | |||
| 32799 | |||
| 32800 | #define ID3D12GraphicsCommandList6_GetPrivateData(This,guid,pDataSize,pData) \ | ||
| 32801 | ( (This)->lpVtbl -> GetPrivateData(This,guid,pDataSize,pData) ) | ||
| 32802 | |||
| 32803 | #define ID3D12GraphicsCommandList6_SetPrivateData(This,guid,DataSize,pData) \ | ||
| 32804 | ( (This)->lpVtbl -> SetPrivateData(This,guid,DataSize,pData) ) | ||
| 32805 | |||
| 32806 | #define ID3D12GraphicsCommandList6_SetPrivateDataInterface(This,guid,pData) \ | ||
| 32807 | ( (This)->lpVtbl -> SetPrivateDataInterface(This,guid,pData) ) | ||
| 32808 | |||
| 32809 | #define ID3D12GraphicsCommandList6_SetName(This,Name) \ | ||
| 32810 | ( (This)->lpVtbl -> SetName(This,Name) ) | ||
| 32811 | |||
| 32812 | |||
| 32813 | #define ID3D12GraphicsCommandList6_GetDevice(This,riid,ppvDevice) \ | ||
| 32814 | ( (This)->lpVtbl -> GetDevice(This,riid,ppvDevice) ) | ||
| 32815 | |||
| 32816 | |||
| 32817 | #define ID3D12GraphicsCommandList6_GetType(This) \ | ||
| 32818 | ( (This)->lpVtbl -> GetType(This) ) | ||
| 32819 | |||
| 32820 | |||
| 32821 | #define ID3D12GraphicsCommandList6_Close(This) \ | ||
| 32822 | ( (This)->lpVtbl -> Close(This) ) | ||
| 32823 | |||
| 32824 | #define ID3D12GraphicsCommandList6_Reset(This,pAllocator,pInitialState) \ | ||
| 32825 | ( (This)->lpVtbl -> Reset(This,pAllocator,pInitialState) ) | ||
| 32826 | |||
| 32827 | #define ID3D12GraphicsCommandList6_ClearState(This,pPipelineState) \ | ||
| 32828 | ( (This)->lpVtbl -> ClearState(This,pPipelineState) ) | ||
| 32829 | |||
| 32830 | #define ID3D12GraphicsCommandList6_DrawInstanced(This,VertexCountPerInstance,InstanceCount,StartVertexLocation,StartInstanceLocation) \ | ||
| 32831 | ( (This)->lpVtbl -> DrawInstanced(This,VertexCountPerInstance,InstanceCount,StartVertexLocation,StartInstanceLocation) ) | ||
| 32832 | |||
| 32833 | #define ID3D12GraphicsCommandList6_DrawIndexedInstanced(This,IndexCountPerInstance,InstanceCount,StartIndexLocation,BaseVertexLocation,StartInstanceLocation) \ | ||
| 32834 | ( (This)->lpVtbl -> DrawIndexedInstanced(This,IndexCountPerInstance,InstanceCount,StartIndexLocation,BaseVertexLocation,StartInstanceLocation) ) | ||
| 32835 | |||
| 32836 | #define ID3D12GraphicsCommandList6_Dispatch(This,ThreadGroupCountX,ThreadGroupCountY,ThreadGroupCountZ) \ | ||
| 32837 | ( (This)->lpVtbl -> Dispatch(This,ThreadGroupCountX,ThreadGroupCountY,ThreadGroupCountZ) ) | ||
| 32838 | |||
| 32839 | #define ID3D12GraphicsCommandList6_CopyBufferRegion(This,pDstBuffer,DstOffset,pSrcBuffer,SrcOffset,NumBytes) \ | ||
| 32840 | ( (This)->lpVtbl -> CopyBufferRegion(This,pDstBuffer,DstOffset,pSrcBuffer,SrcOffset,NumBytes) ) | ||
| 32841 | |||
| 32842 | #define ID3D12GraphicsCommandList6_CopyTextureRegion(This,pDst,DstX,DstY,DstZ,pSrc,pSrcBox) \ | ||
| 32843 | ( (This)->lpVtbl -> CopyTextureRegion(This,pDst,DstX,DstY,DstZ,pSrc,pSrcBox) ) | ||
| 32844 | |||
| 32845 | #define ID3D12GraphicsCommandList6_CopyResource(This,pDstResource,pSrcResource) \ | ||
| 32846 | ( (This)->lpVtbl -> CopyResource(This,pDstResource,pSrcResource) ) | ||
| 32847 | |||
| 32848 | #define ID3D12GraphicsCommandList6_CopyTiles(This,pTiledResource,pTileRegionStartCoordinate,pTileRegionSize,pBuffer,BufferStartOffsetInBytes,Flags) \ | ||
| 32849 | ( (This)->lpVtbl -> CopyTiles(This,pTiledResource,pTileRegionStartCoordinate,pTileRegionSize,pBuffer,BufferStartOffsetInBytes,Flags) ) | ||
| 32850 | |||
| 32851 | #define ID3D12GraphicsCommandList6_ResolveSubresource(This,pDstResource,DstSubresource,pSrcResource,SrcSubresource,Format) \ | ||
| 32852 | ( (This)->lpVtbl -> ResolveSubresource(This,pDstResource,DstSubresource,pSrcResource,SrcSubresource,Format) ) | ||
| 32853 | |||
| 32854 | #define ID3D12GraphicsCommandList6_IASetPrimitiveTopology(This,PrimitiveTopology) \ | ||
| 32855 | ( (This)->lpVtbl -> IASetPrimitiveTopology(This,PrimitiveTopology) ) | ||
| 32856 | |||
| 32857 | #define ID3D12GraphicsCommandList6_RSSetViewports(This,NumViewports,pViewports) \ | ||
| 32858 | ( (This)->lpVtbl -> RSSetViewports(This,NumViewports,pViewports) ) | ||
| 32859 | |||
| 32860 | #define ID3D12GraphicsCommandList6_RSSetScissorRects(This,NumRects,pRects) \ | ||
| 32861 | ( (This)->lpVtbl -> RSSetScissorRects(This,NumRects,pRects) ) | ||
| 32862 | |||
| 32863 | #define ID3D12GraphicsCommandList6_OMSetBlendFactor(This,BlendFactor) \ | ||
| 32864 | ( (This)->lpVtbl -> OMSetBlendFactor(This,BlendFactor) ) | ||
| 32865 | |||
| 32866 | #define ID3D12GraphicsCommandList6_OMSetStencilRef(This,StencilRef) \ | ||
| 32867 | ( (This)->lpVtbl -> OMSetStencilRef(This,StencilRef) ) | ||
| 32868 | |||
| 32869 | #define ID3D12GraphicsCommandList6_SetPipelineState(This,pPipelineState) \ | ||
| 32870 | ( (This)->lpVtbl -> SetPipelineState(This,pPipelineState) ) | ||
| 32871 | |||
| 32872 | #define ID3D12GraphicsCommandList6_ResourceBarrier(This,NumBarriers,pBarriers) \ | ||
| 32873 | ( (This)->lpVtbl -> ResourceBarrier(This,NumBarriers,pBarriers) ) | ||
| 32874 | |||
| 32875 | #define ID3D12GraphicsCommandList6_ExecuteBundle(This,pCommandList) \ | ||
| 32876 | ( (This)->lpVtbl -> ExecuteBundle(This,pCommandList) ) | ||
| 32877 | |||
| 32878 | #define ID3D12GraphicsCommandList6_SetDescriptorHeaps(This,NumDescriptorHeaps,ppDescriptorHeaps) \ | ||
| 32879 | ( (This)->lpVtbl -> SetDescriptorHeaps(This,NumDescriptorHeaps,ppDescriptorHeaps) ) | ||
| 32880 | |||
| 32881 | #define ID3D12GraphicsCommandList6_SetComputeRootSignature(This,pRootSignature) \ | ||
| 32882 | ( (This)->lpVtbl -> SetComputeRootSignature(This,pRootSignature) ) | ||
| 32883 | |||
| 32884 | #define ID3D12GraphicsCommandList6_SetGraphicsRootSignature(This,pRootSignature) \ | ||
| 32885 | ( (This)->lpVtbl -> SetGraphicsRootSignature(This,pRootSignature) ) | ||
| 32886 | |||
| 32887 | #define ID3D12GraphicsCommandList6_SetComputeRootDescriptorTable(This,RootParameterIndex,BaseDescriptor) \ | ||
| 32888 | ( (This)->lpVtbl -> SetComputeRootDescriptorTable(This,RootParameterIndex,BaseDescriptor) ) | ||
| 32889 | |||
| 32890 | #define ID3D12GraphicsCommandList6_SetGraphicsRootDescriptorTable(This,RootParameterIndex,BaseDescriptor) \ | ||
| 32891 | ( (This)->lpVtbl -> SetGraphicsRootDescriptorTable(This,RootParameterIndex,BaseDescriptor) ) | ||
| 32892 | |||
| 32893 | #define ID3D12GraphicsCommandList6_SetComputeRoot32BitConstant(This,RootParameterIndex,SrcData,DestOffsetIn32BitValues) \ | ||
| 32894 | ( (This)->lpVtbl -> SetComputeRoot32BitConstant(This,RootParameterIndex,SrcData,DestOffsetIn32BitValues) ) | ||
| 32895 | |||
| 32896 | #define ID3D12GraphicsCommandList6_SetGraphicsRoot32BitConstant(This,RootParameterIndex,SrcData,DestOffsetIn32BitValues) \ | ||
| 32897 | ( (This)->lpVtbl -> SetGraphicsRoot32BitConstant(This,RootParameterIndex,SrcData,DestOffsetIn32BitValues) ) | ||
| 32898 | |||
| 32899 | #define ID3D12GraphicsCommandList6_SetComputeRoot32BitConstants(This,RootParameterIndex,Num32BitValuesToSet,pSrcData,DestOffsetIn32BitValues) \ | ||
| 32900 | ( (This)->lpVtbl -> SetComputeRoot32BitConstants(This,RootParameterIndex,Num32BitValuesToSet,pSrcData,DestOffsetIn32BitValues) ) | ||
| 32901 | |||
| 32902 | #define ID3D12GraphicsCommandList6_SetGraphicsRoot32BitConstants(This,RootParameterIndex,Num32BitValuesToSet,pSrcData,DestOffsetIn32BitValues) \ | ||
| 32903 | ( (This)->lpVtbl -> SetGraphicsRoot32BitConstants(This,RootParameterIndex,Num32BitValuesToSet,pSrcData,DestOffsetIn32BitValues) ) | ||
| 32904 | |||
| 32905 | #define ID3D12GraphicsCommandList6_SetComputeRootConstantBufferView(This,RootParameterIndex,BufferLocation) \ | ||
| 32906 | ( (This)->lpVtbl -> SetComputeRootConstantBufferView(This,RootParameterIndex,BufferLocation) ) | ||
| 32907 | |||
| 32908 | #define ID3D12GraphicsCommandList6_SetGraphicsRootConstantBufferView(This,RootParameterIndex,BufferLocation) \ | ||
| 32909 | ( (This)->lpVtbl -> SetGraphicsRootConstantBufferView(This,RootParameterIndex,BufferLocation) ) | ||
| 32910 | |||
| 32911 | #define ID3D12GraphicsCommandList6_SetComputeRootShaderResourceView(This,RootParameterIndex,BufferLocation) \ | ||
| 32912 | ( (This)->lpVtbl -> SetComputeRootShaderResourceView(This,RootParameterIndex,BufferLocation) ) | ||
| 32913 | |||
| 32914 | #define ID3D12GraphicsCommandList6_SetGraphicsRootShaderResourceView(This,RootParameterIndex,BufferLocation) \ | ||
| 32915 | ( (This)->lpVtbl -> SetGraphicsRootShaderResourceView(This,RootParameterIndex,BufferLocation) ) | ||
| 32916 | |||
| 32917 | #define ID3D12GraphicsCommandList6_SetComputeRootUnorderedAccessView(This,RootParameterIndex,BufferLocation) \ | ||
| 32918 | ( (This)->lpVtbl -> SetComputeRootUnorderedAccessView(This,RootParameterIndex,BufferLocation) ) | ||
| 32919 | |||
| 32920 | #define ID3D12GraphicsCommandList6_SetGraphicsRootUnorderedAccessView(This,RootParameterIndex,BufferLocation) \ | ||
| 32921 | ( (This)->lpVtbl -> SetGraphicsRootUnorderedAccessView(This,RootParameterIndex,BufferLocation) ) | ||
| 32922 | |||
| 32923 | #define ID3D12GraphicsCommandList6_IASetIndexBuffer(This,pView) \ | ||
| 32924 | ( (This)->lpVtbl -> IASetIndexBuffer(This,pView) ) | ||
| 32925 | |||
| 32926 | #define ID3D12GraphicsCommandList6_IASetVertexBuffers(This,StartSlot,NumViews,pViews) \ | ||
| 32927 | ( (This)->lpVtbl -> IASetVertexBuffers(This,StartSlot,NumViews,pViews) ) | ||
| 32928 | |||
| 32929 | #define ID3D12GraphicsCommandList6_SOSetTargets(This,StartSlot,NumViews,pViews) \ | ||
| 32930 | ( (This)->lpVtbl -> SOSetTargets(This,StartSlot,NumViews,pViews) ) | ||
| 32931 | |||
| 32932 | #define ID3D12GraphicsCommandList6_OMSetRenderTargets(This,NumRenderTargetDescriptors,pRenderTargetDescriptors,RTsSingleHandleToDescriptorRange,pDepthStencilDescriptor) \ | ||
| 32933 | ( (This)->lpVtbl -> OMSetRenderTargets(This,NumRenderTargetDescriptors,pRenderTargetDescriptors,RTsSingleHandleToDescriptorRange,pDepthStencilDescriptor) ) | ||
| 32934 | |||
| 32935 | #define ID3D12GraphicsCommandList6_ClearDepthStencilView(This,DepthStencilView,ClearFlags,Depth,Stencil,NumRects,pRects) \ | ||
| 32936 | ( (This)->lpVtbl -> ClearDepthStencilView(This,DepthStencilView,ClearFlags,Depth,Stencil,NumRects,pRects) ) | ||
| 32937 | |||
| 32938 | #define ID3D12GraphicsCommandList6_ClearRenderTargetView(This,RenderTargetView,ColorRGBA,NumRects,pRects) \ | ||
| 32939 | ( (This)->lpVtbl -> ClearRenderTargetView(This,RenderTargetView,ColorRGBA,NumRects,pRects) ) | ||
| 32940 | |||
| 32941 | #define ID3D12GraphicsCommandList6_ClearUnorderedAccessViewUint(This,ViewGPUHandleInCurrentHeap,ViewCPUHandle,pResource,Values,NumRects,pRects) \ | ||
| 32942 | ( (This)->lpVtbl -> ClearUnorderedAccessViewUint(This,ViewGPUHandleInCurrentHeap,ViewCPUHandle,pResource,Values,NumRects,pRects) ) | ||
| 32943 | |||
| 32944 | #define ID3D12GraphicsCommandList6_ClearUnorderedAccessViewFloat(This,ViewGPUHandleInCurrentHeap,ViewCPUHandle,pResource,Values,NumRects,pRects) \ | ||
| 32945 | ( (This)->lpVtbl -> ClearUnorderedAccessViewFloat(This,ViewGPUHandleInCurrentHeap,ViewCPUHandle,pResource,Values,NumRects,pRects) ) | ||
| 32946 | |||
| 32947 | #define ID3D12GraphicsCommandList6_DiscardResource(This,pResource,pRegion) \ | ||
| 32948 | ( (This)->lpVtbl -> DiscardResource(This,pResource,pRegion) ) | ||
| 32949 | |||
| 32950 | #define ID3D12GraphicsCommandList6_BeginQuery(This,pQueryHeap,Type,Index) \ | ||
| 32951 | ( (This)->lpVtbl -> BeginQuery(This,pQueryHeap,Type,Index) ) | ||
| 32952 | |||
| 32953 | #define ID3D12GraphicsCommandList6_EndQuery(This,pQueryHeap,Type,Index) \ | ||
| 32954 | ( (This)->lpVtbl -> EndQuery(This,pQueryHeap,Type,Index) ) | ||
| 32955 | |||
| 32956 | #define ID3D12GraphicsCommandList6_ResolveQueryData(This,pQueryHeap,Type,StartIndex,NumQueries,pDestinationBuffer,AlignedDestinationBufferOffset) \ | ||
| 32957 | ( (This)->lpVtbl -> ResolveQueryData(This,pQueryHeap,Type,StartIndex,NumQueries,pDestinationBuffer,AlignedDestinationBufferOffset) ) | ||
| 32958 | |||
| 32959 | #define ID3D12GraphicsCommandList6_SetPredication(This,pBuffer,AlignedBufferOffset,Operation) \ | ||
| 32960 | ( (This)->lpVtbl -> SetPredication(This,pBuffer,AlignedBufferOffset,Operation) ) | ||
| 32961 | |||
| 32962 | #define ID3D12GraphicsCommandList6_SetMarker(This,Metadata,pData,Size) \ | ||
| 32963 | ( (This)->lpVtbl -> SetMarker(This,Metadata,pData,Size) ) | ||
| 32964 | |||
| 32965 | #define ID3D12GraphicsCommandList6_BeginEvent(This,Metadata,pData,Size) \ | ||
| 32966 | ( (This)->lpVtbl -> BeginEvent(This,Metadata,pData,Size) ) | ||
| 32967 | |||
| 32968 | #define ID3D12GraphicsCommandList6_EndEvent(This) \ | ||
| 32969 | ( (This)->lpVtbl -> EndEvent(This) ) | ||
| 32970 | |||
| 32971 | #define ID3D12GraphicsCommandList6_ExecuteIndirect(This,pCommandSignature,MaxCommandCount,pArgumentBuffer,ArgumentBufferOffset,pCountBuffer,CountBufferOffset) \ | ||
| 32972 | ( (This)->lpVtbl -> ExecuteIndirect(This,pCommandSignature,MaxCommandCount,pArgumentBuffer,ArgumentBufferOffset,pCountBuffer,CountBufferOffset) ) | ||
| 32973 | |||
| 32974 | |||
| 32975 | #define ID3D12GraphicsCommandList6_AtomicCopyBufferUINT(This,pDstBuffer,DstOffset,pSrcBuffer,SrcOffset,Dependencies,ppDependentResources,pDependentSubresourceRanges) \ | ||
| 32976 | ( (This)->lpVtbl -> AtomicCopyBufferUINT(This,pDstBuffer,DstOffset,pSrcBuffer,SrcOffset,Dependencies,ppDependentResources,pDependentSubresourceRanges) ) | ||
| 32977 | |||
| 32978 | #define ID3D12GraphicsCommandList6_AtomicCopyBufferUINT64(This,pDstBuffer,DstOffset,pSrcBuffer,SrcOffset,Dependencies,ppDependentResources,pDependentSubresourceRanges) \ | ||
| 32979 | ( (This)->lpVtbl -> AtomicCopyBufferUINT64(This,pDstBuffer,DstOffset,pSrcBuffer,SrcOffset,Dependencies,ppDependentResources,pDependentSubresourceRanges) ) | ||
| 32980 | |||
| 32981 | #define ID3D12GraphicsCommandList6_OMSetDepthBounds(This,Min,Max) \ | ||
| 32982 | ( (This)->lpVtbl -> OMSetDepthBounds(This,Min,Max) ) | ||
| 32983 | |||
| 32984 | #define ID3D12GraphicsCommandList6_SetSamplePositions(This,NumSamplesPerPixel,NumPixels,pSamplePositions) \ | ||
| 32985 | ( (This)->lpVtbl -> SetSamplePositions(This,NumSamplesPerPixel,NumPixels,pSamplePositions) ) | ||
| 32986 | |||
| 32987 | #define ID3D12GraphicsCommandList6_ResolveSubresourceRegion(This,pDstResource,DstSubresource,DstX,DstY,pSrcResource,SrcSubresource,pSrcRect,Format,ResolveMode) \ | ||
| 32988 | ( (This)->lpVtbl -> ResolveSubresourceRegion(This,pDstResource,DstSubresource,DstX,DstY,pSrcResource,SrcSubresource,pSrcRect,Format,ResolveMode) ) | ||
| 32989 | |||
| 32990 | #define ID3D12GraphicsCommandList6_SetViewInstanceMask(This,Mask) \ | ||
| 32991 | ( (This)->lpVtbl -> SetViewInstanceMask(This,Mask) ) | ||
| 32992 | |||
| 32993 | |||
| 32994 | #define ID3D12GraphicsCommandList6_WriteBufferImmediate(This,Count,pParams,pModes) \ | ||
| 32995 | ( (This)->lpVtbl -> WriteBufferImmediate(This,Count,pParams,pModes) ) | ||
| 32996 | |||
| 32997 | |||
| 32998 | #define ID3D12GraphicsCommandList6_SetProtectedResourceSession(This,pProtectedResourceSession) \ | ||
| 32999 | ( (This)->lpVtbl -> SetProtectedResourceSession(This,pProtectedResourceSession) ) | ||
| 33000 | |||
| 33001 | |||
| 33002 | #define ID3D12GraphicsCommandList6_BeginRenderPass(This,NumRenderTargets,pRenderTargets,pDepthStencil,Flags) \ | ||
| 33003 | ( (This)->lpVtbl -> BeginRenderPass(This,NumRenderTargets,pRenderTargets,pDepthStencil,Flags) ) | ||
| 33004 | |||
| 33005 | #define ID3D12GraphicsCommandList6_EndRenderPass(This) \ | ||
| 33006 | ( (This)->lpVtbl -> EndRenderPass(This) ) | ||
| 33007 | |||
| 33008 | #define ID3D12GraphicsCommandList6_InitializeMetaCommand(This,pMetaCommand,pInitializationParametersData,InitializationParametersDataSizeInBytes) \ | ||
| 33009 | ( (This)->lpVtbl -> InitializeMetaCommand(This,pMetaCommand,pInitializationParametersData,InitializationParametersDataSizeInBytes) ) | ||
| 33010 | |||
| 33011 | #define ID3D12GraphicsCommandList6_ExecuteMetaCommand(This,pMetaCommand,pExecutionParametersData,ExecutionParametersDataSizeInBytes) \ | ||
| 33012 | ( (This)->lpVtbl -> ExecuteMetaCommand(This,pMetaCommand,pExecutionParametersData,ExecutionParametersDataSizeInBytes) ) | ||
| 33013 | |||
| 33014 | #define ID3D12GraphicsCommandList6_BuildRaytracingAccelerationStructure(This,pDesc,NumPostbuildInfoDescs,pPostbuildInfoDescs) \ | ||
| 33015 | ( (This)->lpVtbl -> BuildRaytracingAccelerationStructure(This,pDesc,NumPostbuildInfoDescs,pPostbuildInfoDescs) ) | ||
| 33016 | |||
| 33017 | #define ID3D12GraphicsCommandList6_EmitRaytracingAccelerationStructurePostbuildInfo(This,pDesc,NumSourceAccelerationStructures,pSourceAccelerationStructureData) \ | ||
| 33018 | ( (This)->lpVtbl -> EmitRaytracingAccelerationStructurePostbuildInfo(This,pDesc,NumSourceAccelerationStructures,pSourceAccelerationStructureData) ) | ||
| 33019 | |||
| 33020 | #define ID3D12GraphicsCommandList6_CopyRaytracingAccelerationStructure(This,DestAccelerationStructureData,SourceAccelerationStructureData,Mode) \ | ||
| 33021 | ( (This)->lpVtbl -> CopyRaytracingAccelerationStructure(This,DestAccelerationStructureData,SourceAccelerationStructureData,Mode) ) | ||
| 33022 | |||
| 33023 | #define ID3D12GraphicsCommandList6_SetPipelineState1(This,pStateObject) \ | ||
| 33024 | ( (This)->lpVtbl -> SetPipelineState1(This,pStateObject) ) | ||
| 33025 | |||
| 33026 | #define ID3D12GraphicsCommandList6_DispatchRays(This,pDesc) \ | ||
| 33027 | ( (This)->lpVtbl -> DispatchRays(This,pDesc) ) | ||
| 33028 | |||
| 33029 | |||
| 33030 | #define ID3D12GraphicsCommandList6_RSSetShadingRate(This,baseShadingRate,combiners) \ | ||
| 33031 | ( (This)->lpVtbl -> RSSetShadingRate(This,baseShadingRate,combiners) ) | ||
| 33032 | |||
| 33033 | #define ID3D12GraphicsCommandList6_RSSetShadingRateImage(This,shadingRateImage) \ | ||
| 33034 | ( (This)->lpVtbl -> RSSetShadingRateImage(This,shadingRateImage) ) | ||
| 33035 | |||
| 33036 | |||
| 33037 | #define ID3D12GraphicsCommandList6_DispatchMesh(This,ThreadGroupCountX,ThreadGroupCountY,ThreadGroupCountZ) \ | ||
| 33038 | ( (This)->lpVtbl -> DispatchMesh(This,ThreadGroupCountX,ThreadGroupCountY,ThreadGroupCountZ) ) | ||
| 33039 | |||
| 33040 | #endif /* COBJMACROS */ | ||
| 33041 | |||
| 33042 | |||
| 33043 | #endif /* C style interface */ | ||
| 33044 | |||
| 33045 | |||
| 33046 | |||
| 33047 | |||
| 33048 | #endif /* __ID3D12GraphicsCommandList6_INTERFACE_DEFINED__ */ | ||
| 33049 | |||
| 33050 | |||
| 33051 | #ifndef __ID3D12GraphicsCommandList7_INTERFACE_DEFINED__ | ||
| 33052 | #define __ID3D12GraphicsCommandList7_INTERFACE_DEFINED__ | ||
| 33053 | |||
| 33054 | /* interface ID3D12GraphicsCommandList7 */ | ||
| 33055 | /* [unique][local][object][uuid] */ | ||
| 33056 | |||
| 33057 | |||
| 33058 | EXTERN_C const IID IID_ID3D12GraphicsCommandList7; | ||
| 33059 | |||
| 33060 | #if defined(__cplusplus) && !defined(CINTERFACE) | ||
| 33061 | |||
| 33062 | MIDL_INTERFACE("dd171223-8b61-4769-90e3-160ccde4e2c1") | ||
| 33063 | ID3D12GraphicsCommandList7 : public ID3D12GraphicsCommandList6 | ||
| 33064 | { | ||
| 33065 | public: | ||
| 33066 | virtual void STDMETHODCALLTYPE Barrier( | ||
| 33067 | UINT32 NumBarrierGroups, | ||
| 33068 | _In_reads_(NumBarrierGroups) const D3D12_BARRIER_GROUP *pBarrierGroups) = 0; | ||
| 33069 | |||
| 33070 | }; | ||
| 33071 | |||
| 33072 | |||
| 33073 | #else /* C style interface */ | ||
| 33074 | |||
| 33075 | typedef struct ID3D12GraphicsCommandList7Vtbl | ||
| 33076 | { | ||
| 33077 | BEGIN_INTERFACE | ||
| 33078 | |||
| 33079 | DECLSPEC_XFGVIRT(IUnknown, QueryInterface) | ||
| 33080 | HRESULT ( STDMETHODCALLTYPE *QueryInterface )( | ||
| 33081 | ID3D12GraphicsCommandList7 * This, | ||
| 33082 | REFIID riid, | ||
| 33083 | _COM_Outptr_ void **ppvObject); | ||
| 33084 | |||
| 33085 | DECLSPEC_XFGVIRT(IUnknown, AddRef) | ||
| 33086 | ULONG ( STDMETHODCALLTYPE *AddRef )( | ||
| 33087 | ID3D12GraphicsCommandList7 * This); | ||
| 33088 | |||
| 33089 | DECLSPEC_XFGVIRT(IUnknown, Release) | ||
| 33090 | ULONG ( STDMETHODCALLTYPE *Release )( | ||
| 33091 | ID3D12GraphicsCommandList7 * This); | ||
| 33092 | |||
| 33093 | DECLSPEC_XFGVIRT(ID3D12Object, GetPrivateData) | ||
| 33094 | HRESULT ( STDMETHODCALLTYPE *GetPrivateData )( | ||
| 33095 | ID3D12GraphicsCommandList7 * This, | ||
| 33096 | _In_ REFGUID guid, | ||
| 33097 | _Inout_ UINT *pDataSize, | ||
| 33098 | _Out_writes_bytes_opt_( *pDataSize ) void *pData); | ||
| 33099 | |||
| 33100 | DECLSPEC_XFGVIRT(ID3D12Object, SetPrivateData) | ||
| 33101 | HRESULT ( STDMETHODCALLTYPE *SetPrivateData )( | ||
| 33102 | ID3D12GraphicsCommandList7 * This, | ||
| 33103 | _In_ REFGUID guid, | ||
| 33104 | _In_ UINT DataSize, | ||
| 33105 | _In_reads_bytes_opt_( DataSize ) const void *pData); | ||
| 33106 | |||
| 33107 | DECLSPEC_XFGVIRT(ID3D12Object, SetPrivateDataInterface) | ||
| 33108 | HRESULT ( STDMETHODCALLTYPE *SetPrivateDataInterface )( | ||
| 33109 | ID3D12GraphicsCommandList7 * This, | ||
| 33110 | _In_ REFGUID guid, | ||
| 33111 | _In_opt_ const IUnknown *pData); | ||
| 33112 | |||
| 33113 | DECLSPEC_XFGVIRT(ID3D12Object, SetName) | ||
| 33114 | HRESULT ( STDMETHODCALLTYPE *SetName )( | ||
| 33115 | ID3D12GraphicsCommandList7 * This, | ||
| 33116 | _In_z_ LPCWSTR Name); | ||
| 33117 | |||
| 33118 | DECLSPEC_XFGVIRT(ID3D12DeviceChild, GetDevice) | ||
| 33119 | HRESULT ( STDMETHODCALLTYPE *GetDevice )( | ||
| 33120 | ID3D12GraphicsCommandList7 * This, | ||
| 33121 | REFIID riid, | ||
| 33122 | _COM_Outptr_opt_ void **ppvDevice); | ||
| 33123 | |||
| 33124 | DECLSPEC_XFGVIRT(ID3D12CommandList, GetType) | ||
| 33125 | D3D12_COMMAND_LIST_TYPE ( STDMETHODCALLTYPE *GetType )( | ||
| 33126 | ID3D12GraphicsCommandList7 * This); | ||
| 33127 | |||
| 33128 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, Close) | ||
| 33129 | HRESULT ( STDMETHODCALLTYPE *Close )( | ||
| 33130 | ID3D12GraphicsCommandList7 * This); | ||
| 33131 | |||
| 33132 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, Reset) | ||
| 33133 | HRESULT ( STDMETHODCALLTYPE *Reset )( | ||
| 33134 | ID3D12GraphicsCommandList7 * This, | ||
| 33135 | _In_ ID3D12CommandAllocator *pAllocator, | ||
| 33136 | _In_opt_ ID3D12PipelineState *pInitialState); | ||
| 33137 | |||
| 33138 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, ClearState) | ||
| 33139 | void ( STDMETHODCALLTYPE *ClearState )( | ||
| 33140 | ID3D12GraphicsCommandList7 * This, | ||
| 33141 | _In_opt_ ID3D12PipelineState *pPipelineState); | ||
| 33142 | |||
| 33143 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, DrawInstanced) | ||
| 33144 | void ( STDMETHODCALLTYPE *DrawInstanced )( | ||
| 33145 | ID3D12GraphicsCommandList7 * This, | ||
| 33146 | _In_ UINT VertexCountPerInstance, | ||
| 33147 | _In_ UINT InstanceCount, | ||
| 33148 | _In_ UINT StartVertexLocation, | ||
| 33149 | _In_ UINT StartInstanceLocation); | ||
| 33150 | |||
| 33151 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, DrawIndexedInstanced) | ||
| 33152 | void ( STDMETHODCALLTYPE *DrawIndexedInstanced )( | ||
| 33153 | ID3D12GraphicsCommandList7 * This, | ||
| 33154 | _In_ UINT IndexCountPerInstance, | ||
| 33155 | _In_ UINT InstanceCount, | ||
| 33156 | _In_ UINT StartIndexLocation, | ||
| 33157 | _In_ INT BaseVertexLocation, | ||
| 33158 | _In_ UINT StartInstanceLocation); | ||
| 33159 | |||
| 33160 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, Dispatch) | ||
| 33161 | void ( STDMETHODCALLTYPE *Dispatch )( | ||
| 33162 | ID3D12GraphicsCommandList7 * This, | ||
| 33163 | _In_ UINT ThreadGroupCountX, | ||
| 33164 | _In_ UINT ThreadGroupCountY, | ||
| 33165 | _In_ UINT ThreadGroupCountZ); | ||
| 33166 | |||
| 33167 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, CopyBufferRegion) | ||
| 33168 | void ( STDMETHODCALLTYPE *CopyBufferRegion )( | ||
| 33169 | ID3D12GraphicsCommandList7 * This, | ||
| 33170 | _In_ ID3D12Resource *pDstBuffer, | ||
| 33171 | UINT64 DstOffset, | ||
| 33172 | _In_ ID3D12Resource *pSrcBuffer, | ||
| 33173 | UINT64 SrcOffset, | ||
| 33174 | UINT64 NumBytes); | ||
| 33175 | |||
| 33176 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, CopyTextureRegion) | ||
| 33177 | void ( STDMETHODCALLTYPE *CopyTextureRegion )( | ||
| 33178 | ID3D12GraphicsCommandList7 * This, | ||
| 33179 | _In_ const D3D12_TEXTURE_COPY_LOCATION *pDst, | ||
| 33180 | UINT DstX, | ||
| 33181 | UINT DstY, | ||
| 33182 | UINT DstZ, | ||
| 33183 | _In_ const D3D12_TEXTURE_COPY_LOCATION *pSrc, | ||
| 33184 | _In_opt_ const D3D12_BOX *pSrcBox); | ||
| 33185 | |||
| 33186 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, CopyResource) | ||
| 33187 | void ( STDMETHODCALLTYPE *CopyResource )( | ||
| 33188 | ID3D12GraphicsCommandList7 * This, | ||
| 33189 | _In_ ID3D12Resource *pDstResource, | ||
| 33190 | _In_ ID3D12Resource *pSrcResource); | ||
| 33191 | |||
| 33192 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, CopyTiles) | ||
| 33193 | void ( STDMETHODCALLTYPE *CopyTiles )( | ||
| 33194 | ID3D12GraphicsCommandList7 * This, | ||
| 33195 | _In_ ID3D12Resource *pTiledResource, | ||
| 33196 | _In_ const D3D12_TILED_RESOURCE_COORDINATE *pTileRegionStartCoordinate, | ||
| 33197 | _In_ const D3D12_TILE_REGION_SIZE *pTileRegionSize, | ||
| 33198 | _In_ ID3D12Resource *pBuffer, | ||
| 33199 | UINT64 BufferStartOffsetInBytes, | ||
| 33200 | D3D12_TILE_COPY_FLAGS Flags); | ||
| 33201 | |||
| 33202 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, ResolveSubresource) | ||
| 33203 | void ( STDMETHODCALLTYPE *ResolveSubresource )( | ||
| 33204 | ID3D12GraphicsCommandList7 * This, | ||
| 33205 | _In_ ID3D12Resource *pDstResource, | ||
| 33206 | _In_ UINT DstSubresource, | ||
| 33207 | _In_ ID3D12Resource *pSrcResource, | ||
| 33208 | _In_ UINT SrcSubresource, | ||
| 33209 | _In_ DXGI_FORMAT Format); | ||
| 33210 | |||
| 33211 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, IASetPrimitiveTopology) | ||
| 33212 | void ( STDMETHODCALLTYPE *IASetPrimitiveTopology )( | ||
| 33213 | ID3D12GraphicsCommandList7 * This, | ||
| 33214 | _In_ D3D12_PRIMITIVE_TOPOLOGY PrimitiveTopology); | ||
| 33215 | |||
| 33216 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, RSSetViewports) | ||
| 33217 | void ( STDMETHODCALLTYPE *RSSetViewports )( | ||
| 33218 | ID3D12GraphicsCommandList7 * This, | ||
| 33219 | _In_range_(0, D3D12_VIEWPORT_AND_SCISSORRECT_OBJECT_COUNT_PER_PIPELINE) UINT NumViewports, | ||
| 33220 | _In_reads_( NumViewports) const D3D12_VIEWPORT *pViewports); | ||
| 33221 | |||
| 33222 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, RSSetScissorRects) | ||
| 33223 | void ( STDMETHODCALLTYPE *RSSetScissorRects )( | ||
| 33224 | ID3D12GraphicsCommandList7 * This, | ||
| 33225 | _In_range_(0, D3D12_VIEWPORT_AND_SCISSORRECT_OBJECT_COUNT_PER_PIPELINE) UINT NumRects, | ||
| 33226 | _In_reads_( NumRects) const D3D12_RECT *pRects); | ||
| 33227 | |||
| 33228 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, OMSetBlendFactor) | ||
| 33229 | void ( STDMETHODCALLTYPE *OMSetBlendFactor )( | ||
| 33230 | ID3D12GraphicsCommandList7 * This, | ||
| 33231 | _In_reads_opt_(4) const FLOAT BlendFactor[ 4 ]); | ||
| 33232 | |||
| 33233 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, OMSetStencilRef) | ||
| 33234 | void ( STDMETHODCALLTYPE *OMSetStencilRef )( | ||
| 33235 | ID3D12GraphicsCommandList7 * This, | ||
| 33236 | _In_ UINT StencilRef); | ||
| 33237 | |||
| 33238 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetPipelineState) | ||
| 33239 | void ( STDMETHODCALLTYPE *SetPipelineState )( | ||
| 33240 | ID3D12GraphicsCommandList7 * This, | ||
| 33241 | _In_ ID3D12PipelineState *pPipelineState); | ||
| 33242 | |||
| 33243 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, ResourceBarrier) | ||
| 33244 | void ( STDMETHODCALLTYPE *ResourceBarrier )( | ||
| 33245 | ID3D12GraphicsCommandList7 * This, | ||
| 33246 | _In_ UINT NumBarriers, | ||
| 33247 | _In_reads_(NumBarriers) const D3D12_RESOURCE_BARRIER *pBarriers); | ||
| 33248 | |||
| 33249 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, ExecuteBundle) | ||
| 33250 | void ( STDMETHODCALLTYPE *ExecuteBundle )( | ||
| 33251 | ID3D12GraphicsCommandList7 * This, | ||
| 33252 | _In_ ID3D12GraphicsCommandList *pCommandList); | ||
| 33253 | |||
| 33254 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetDescriptorHeaps) | ||
| 33255 | void ( STDMETHODCALLTYPE *SetDescriptorHeaps )( | ||
| 33256 | ID3D12GraphicsCommandList7 * This, | ||
| 33257 | _In_ UINT NumDescriptorHeaps, | ||
| 33258 | _In_reads_(NumDescriptorHeaps) ID3D12DescriptorHeap *const *ppDescriptorHeaps); | ||
| 33259 | |||
| 33260 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetComputeRootSignature) | ||
| 33261 | void ( STDMETHODCALLTYPE *SetComputeRootSignature )( | ||
| 33262 | ID3D12GraphicsCommandList7 * This, | ||
| 33263 | _In_opt_ ID3D12RootSignature *pRootSignature); | ||
| 33264 | |||
| 33265 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetGraphicsRootSignature) | ||
| 33266 | void ( STDMETHODCALLTYPE *SetGraphicsRootSignature )( | ||
| 33267 | ID3D12GraphicsCommandList7 * This, | ||
| 33268 | _In_opt_ ID3D12RootSignature *pRootSignature); | ||
| 33269 | |||
| 33270 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetComputeRootDescriptorTable) | ||
| 33271 | void ( STDMETHODCALLTYPE *SetComputeRootDescriptorTable )( | ||
| 33272 | ID3D12GraphicsCommandList7 * This, | ||
| 33273 | _In_ UINT RootParameterIndex, | ||
| 33274 | _In_ D3D12_GPU_DESCRIPTOR_HANDLE BaseDescriptor); | ||
| 33275 | |||
| 33276 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetGraphicsRootDescriptorTable) | ||
| 33277 | void ( STDMETHODCALLTYPE *SetGraphicsRootDescriptorTable )( | ||
| 33278 | ID3D12GraphicsCommandList7 * This, | ||
| 33279 | _In_ UINT RootParameterIndex, | ||
| 33280 | _In_ D3D12_GPU_DESCRIPTOR_HANDLE BaseDescriptor); | ||
| 33281 | |||
| 33282 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetComputeRoot32BitConstant) | ||
| 33283 | void ( STDMETHODCALLTYPE *SetComputeRoot32BitConstant )( | ||
| 33284 | ID3D12GraphicsCommandList7 * This, | ||
| 33285 | _In_ UINT RootParameterIndex, | ||
| 33286 | _In_ UINT SrcData, | ||
| 33287 | _In_ UINT DestOffsetIn32BitValues); | ||
| 33288 | |||
| 33289 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetGraphicsRoot32BitConstant) | ||
| 33290 | void ( STDMETHODCALLTYPE *SetGraphicsRoot32BitConstant )( | ||
| 33291 | ID3D12GraphicsCommandList7 * This, | ||
| 33292 | _In_ UINT RootParameterIndex, | ||
| 33293 | _In_ UINT SrcData, | ||
| 33294 | _In_ UINT DestOffsetIn32BitValues); | ||
| 33295 | |||
| 33296 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetComputeRoot32BitConstants) | ||
| 33297 | void ( STDMETHODCALLTYPE *SetComputeRoot32BitConstants )( | ||
| 33298 | ID3D12GraphicsCommandList7 * This, | ||
| 33299 | _In_ UINT RootParameterIndex, | ||
| 33300 | _In_ UINT Num32BitValuesToSet, | ||
| 33301 | _In_reads_(Num32BitValuesToSet*sizeof(UINT)) const void *pSrcData, | ||
| 33302 | _In_ UINT DestOffsetIn32BitValues); | ||
| 33303 | |||
| 33304 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetGraphicsRoot32BitConstants) | ||
| 33305 | void ( STDMETHODCALLTYPE *SetGraphicsRoot32BitConstants )( | ||
| 33306 | ID3D12GraphicsCommandList7 * This, | ||
| 33307 | _In_ UINT RootParameterIndex, | ||
| 33308 | _In_ UINT Num32BitValuesToSet, | ||
| 33309 | _In_reads_(Num32BitValuesToSet*sizeof(UINT)) const void *pSrcData, | ||
| 33310 | _In_ UINT DestOffsetIn32BitValues); | ||
| 33311 | |||
| 33312 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetComputeRootConstantBufferView) | ||
| 33313 | void ( STDMETHODCALLTYPE *SetComputeRootConstantBufferView )( | ||
| 33314 | ID3D12GraphicsCommandList7 * This, | ||
| 33315 | _In_ UINT RootParameterIndex, | ||
| 33316 | _In_ D3D12_GPU_VIRTUAL_ADDRESS BufferLocation); | ||
| 33317 | |||
| 33318 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetGraphicsRootConstantBufferView) | ||
| 33319 | void ( STDMETHODCALLTYPE *SetGraphicsRootConstantBufferView )( | ||
| 33320 | ID3D12GraphicsCommandList7 * This, | ||
| 33321 | _In_ UINT RootParameterIndex, | ||
| 33322 | _In_ D3D12_GPU_VIRTUAL_ADDRESS BufferLocation); | ||
| 33323 | |||
| 33324 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetComputeRootShaderResourceView) | ||
| 33325 | void ( STDMETHODCALLTYPE *SetComputeRootShaderResourceView )( | ||
| 33326 | ID3D12GraphicsCommandList7 * This, | ||
| 33327 | _In_ UINT RootParameterIndex, | ||
| 33328 | _In_ D3D12_GPU_VIRTUAL_ADDRESS BufferLocation); | ||
| 33329 | |||
| 33330 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetGraphicsRootShaderResourceView) | ||
| 33331 | void ( STDMETHODCALLTYPE *SetGraphicsRootShaderResourceView )( | ||
| 33332 | ID3D12GraphicsCommandList7 * This, | ||
| 33333 | _In_ UINT RootParameterIndex, | ||
| 33334 | _In_ D3D12_GPU_VIRTUAL_ADDRESS BufferLocation); | ||
| 33335 | |||
| 33336 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetComputeRootUnorderedAccessView) | ||
| 33337 | void ( STDMETHODCALLTYPE *SetComputeRootUnorderedAccessView )( | ||
| 33338 | ID3D12GraphicsCommandList7 * This, | ||
| 33339 | _In_ UINT RootParameterIndex, | ||
| 33340 | _In_ D3D12_GPU_VIRTUAL_ADDRESS BufferLocation); | ||
| 33341 | |||
| 33342 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetGraphicsRootUnorderedAccessView) | ||
| 33343 | void ( STDMETHODCALLTYPE *SetGraphicsRootUnorderedAccessView )( | ||
| 33344 | ID3D12GraphicsCommandList7 * This, | ||
| 33345 | _In_ UINT RootParameterIndex, | ||
| 33346 | _In_ D3D12_GPU_VIRTUAL_ADDRESS BufferLocation); | ||
| 33347 | |||
| 33348 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, IASetIndexBuffer) | ||
| 33349 | void ( STDMETHODCALLTYPE *IASetIndexBuffer )( | ||
| 33350 | ID3D12GraphicsCommandList7 * This, | ||
| 33351 | _In_opt_ const D3D12_INDEX_BUFFER_VIEW *pView); | ||
| 33352 | |||
| 33353 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, IASetVertexBuffers) | ||
| 33354 | void ( STDMETHODCALLTYPE *IASetVertexBuffers )( | ||
| 33355 | ID3D12GraphicsCommandList7 * This, | ||
| 33356 | _In_ UINT StartSlot, | ||
| 33357 | _In_ UINT NumViews, | ||
| 33358 | _In_reads_opt_(NumViews) const D3D12_VERTEX_BUFFER_VIEW *pViews); | ||
| 33359 | |||
| 33360 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SOSetTargets) | ||
| 33361 | void ( STDMETHODCALLTYPE *SOSetTargets )( | ||
| 33362 | ID3D12GraphicsCommandList7 * This, | ||
| 33363 | _In_ UINT StartSlot, | ||
| 33364 | _In_ UINT NumViews, | ||
| 33365 | _In_reads_opt_(NumViews) const D3D12_STREAM_OUTPUT_BUFFER_VIEW *pViews); | ||
| 33366 | |||
| 33367 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, OMSetRenderTargets) | ||
| 33368 | void ( STDMETHODCALLTYPE *OMSetRenderTargets )( | ||
| 33369 | ID3D12GraphicsCommandList7 * This, | ||
| 33370 | _In_ UINT NumRenderTargetDescriptors, | ||
| 33371 | _In_opt_ const D3D12_CPU_DESCRIPTOR_HANDLE *pRenderTargetDescriptors, | ||
| 33372 | _In_ BOOL RTsSingleHandleToDescriptorRange, | ||
| 33373 | _In_opt_ const D3D12_CPU_DESCRIPTOR_HANDLE *pDepthStencilDescriptor); | ||
| 33374 | |||
| 33375 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, ClearDepthStencilView) | ||
| 33376 | void ( STDMETHODCALLTYPE *ClearDepthStencilView )( | ||
| 33377 | ID3D12GraphicsCommandList7 * This, | ||
| 33378 | _In_ D3D12_CPU_DESCRIPTOR_HANDLE DepthStencilView, | ||
| 33379 | _In_ D3D12_CLEAR_FLAGS ClearFlags, | ||
| 33380 | _In_ FLOAT Depth, | ||
| 33381 | _In_ UINT8 Stencil, | ||
| 33382 | _In_ UINT NumRects, | ||
| 33383 | _In_reads_(NumRects) const D3D12_RECT *pRects); | ||
| 33384 | |||
| 33385 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, ClearRenderTargetView) | ||
| 33386 | void ( STDMETHODCALLTYPE *ClearRenderTargetView )( | ||
| 33387 | ID3D12GraphicsCommandList7 * This, | ||
| 33388 | _In_ D3D12_CPU_DESCRIPTOR_HANDLE RenderTargetView, | ||
| 33389 | _In_ const FLOAT ColorRGBA[ 4 ], | ||
| 33390 | _In_ UINT NumRects, | ||
| 33391 | _In_reads_(NumRects) const D3D12_RECT *pRects); | ||
| 33392 | |||
| 33393 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, ClearUnorderedAccessViewUint) | ||
| 33394 | void ( STDMETHODCALLTYPE *ClearUnorderedAccessViewUint )( | ||
| 33395 | ID3D12GraphicsCommandList7 * This, | ||
| 33396 | _In_ D3D12_GPU_DESCRIPTOR_HANDLE ViewGPUHandleInCurrentHeap, | ||
| 33397 | _In_ D3D12_CPU_DESCRIPTOR_HANDLE ViewCPUHandle, | ||
| 33398 | _In_ ID3D12Resource *pResource, | ||
| 33399 | _In_ const UINT Values[ 4 ], | ||
| 33400 | _In_ UINT NumRects, | ||
| 33401 | _In_reads_(NumRects) const D3D12_RECT *pRects); | ||
| 33402 | |||
| 33403 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, ClearUnorderedAccessViewFloat) | ||
| 33404 | void ( STDMETHODCALLTYPE *ClearUnorderedAccessViewFloat )( | ||
| 33405 | ID3D12GraphicsCommandList7 * This, | ||
| 33406 | _In_ D3D12_GPU_DESCRIPTOR_HANDLE ViewGPUHandleInCurrentHeap, | ||
| 33407 | _In_ D3D12_CPU_DESCRIPTOR_HANDLE ViewCPUHandle, | ||
| 33408 | _In_ ID3D12Resource *pResource, | ||
| 33409 | _In_ const FLOAT Values[ 4 ], | ||
| 33410 | _In_ UINT NumRects, | ||
| 33411 | _In_reads_(NumRects) const D3D12_RECT *pRects); | ||
| 33412 | |||
| 33413 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, DiscardResource) | ||
| 33414 | void ( STDMETHODCALLTYPE *DiscardResource )( | ||
| 33415 | ID3D12GraphicsCommandList7 * This, | ||
| 33416 | _In_ ID3D12Resource *pResource, | ||
| 33417 | _In_opt_ const D3D12_DISCARD_REGION *pRegion); | ||
| 33418 | |||
| 33419 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, BeginQuery) | ||
| 33420 | void ( STDMETHODCALLTYPE *BeginQuery )( | ||
| 33421 | ID3D12GraphicsCommandList7 * This, | ||
| 33422 | _In_ ID3D12QueryHeap *pQueryHeap, | ||
| 33423 | _In_ D3D12_QUERY_TYPE Type, | ||
| 33424 | _In_ UINT Index); | ||
| 33425 | |||
| 33426 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, EndQuery) | ||
| 33427 | void ( STDMETHODCALLTYPE *EndQuery )( | ||
| 33428 | ID3D12GraphicsCommandList7 * This, | ||
| 33429 | _In_ ID3D12QueryHeap *pQueryHeap, | ||
| 33430 | _In_ D3D12_QUERY_TYPE Type, | ||
| 33431 | _In_ UINT Index); | ||
| 33432 | |||
| 33433 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, ResolveQueryData) | ||
| 33434 | void ( STDMETHODCALLTYPE *ResolveQueryData )( | ||
| 33435 | ID3D12GraphicsCommandList7 * This, | ||
| 33436 | _In_ ID3D12QueryHeap *pQueryHeap, | ||
| 33437 | _In_ D3D12_QUERY_TYPE Type, | ||
| 33438 | _In_ UINT StartIndex, | ||
| 33439 | _In_ UINT NumQueries, | ||
| 33440 | _In_ ID3D12Resource *pDestinationBuffer, | ||
| 33441 | _In_ UINT64 AlignedDestinationBufferOffset); | ||
| 33442 | |||
| 33443 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetPredication) | ||
| 33444 | void ( STDMETHODCALLTYPE *SetPredication )( | ||
| 33445 | ID3D12GraphicsCommandList7 * This, | ||
| 33446 | _In_opt_ ID3D12Resource *pBuffer, | ||
| 33447 | _In_ UINT64 AlignedBufferOffset, | ||
| 33448 | _In_ D3D12_PREDICATION_OP Operation); | ||
| 33449 | |||
| 33450 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetMarker) | ||
| 33451 | void ( STDMETHODCALLTYPE *SetMarker )( | ||
| 33452 | ID3D12GraphicsCommandList7 * This, | ||
| 33453 | UINT Metadata, | ||
| 33454 | _In_reads_bytes_opt_(Size) const void *pData, | ||
| 33455 | UINT Size); | ||
| 33456 | |||
| 33457 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, BeginEvent) | ||
| 33458 | void ( STDMETHODCALLTYPE *BeginEvent )( | ||
| 33459 | ID3D12GraphicsCommandList7 * This, | ||
| 33460 | UINT Metadata, | ||
| 33461 | _In_reads_bytes_opt_(Size) const void *pData, | ||
| 33462 | UINT Size); | ||
| 33463 | |||
| 33464 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, EndEvent) | ||
| 33465 | void ( STDMETHODCALLTYPE *EndEvent )( | ||
| 33466 | ID3D12GraphicsCommandList7 * This); | ||
| 33467 | |||
| 33468 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, ExecuteIndirect) | ||
| 33469 | void ( STDMETHODCALLTYPE *ExecuteIndirect )( | ||
| 33470 | ID3D12GraphicsCommandList7 * This, | ||
| 33471 | _In_ ID3D12CommandSignature *pCommandSignature, | ||
| 33472 | _In_ UINT MaxCommandCount, | ||
| 33473 | _In_ ID3D12Resource *pArgumentBuffer, | ||
| 33474 | _In_ UINT64 ArgumentBufferOffset, | ||
| 33475 | _In_opt_ ID3D12Resource *pCountBuffer, | ||
| 33476 | _In_ UINT64 CountBufferOffset); | ||
| 33477 | |||
| 33478 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList1, AtomicCopyBufferUINT) | ||
| 33479 | void ( STDMETHODCALLTYPE *AtomicCopyBufferUINT )( | ||
| 33480 | ID3D12GraphicsCommandList7 * This, | ||
| 33481 | _In_ ID3D12Resource *pDstBuffer, | ||
| 33482 | UINT64 DstOffset, | ||
| 33483 | _In_ ID3D12Resource *pSrcBuffer, | ||
| 33484 | UINT64 SrcOffset, | ||
| 33485 | UINT Dependencies, | ||
| 33486 | _In_reads_(Dependencies) ID3D12Resource *const *ppDependentResources, | ||
| 33487 | _In_reads_(Dependencies) const D3D12_SUBRESOURCE_RANGE_UINT64 *pDependentSubresourceRanges); | ||
| 33488 | |||
| 33489 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList1, AtomicCopyBufferUINT64) | ||
| 33490 | void ( STDMETHODCALLTYPE *AtomicCopyBufferUINT64 )( | ||
| 33491 | ID3D12GraphicsCommandList7 * This, | ||
| 33492 | _In_ ID3D12Resource *pDstBuffer, | ||
| 33493 | UINT64 DstOffset, | ||
| 33494 | _In_ ID3D12Resource *pSrcBuffer, | ||
| 33495 | UINT64 SrcOffset, | ||
| 33496 | UINT Dependencies, | ||
| 33497 | _In_reads_(Dependencies) ID3D12Resource *const *ppDependentResources, | ||
| 33498 | _In_reads_(Dependencies) const D3D12_SUBRESOURCE_RANGE_UINT64 *pDependentSubresourceRanges); | ||
| 33499 | |||
| 33500 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList1, OMSetDepthBounds) | ||
| 33501 | void ( STDMETHODCALLTYPE *OMSetDepthBounds )( | ||
| 33502 | ID3D12GraphicsCommandList7 * This, | ||
| 33503 | _In_ FLOAT Min, | ||
| 33504 | _In_ FLOAT Max); | ||
| 33505 | |||
| 33506 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList1, SetSamplePositions) | ||
| 33507 | void ( STDMETHODCALLTYPE *SetSamplePositions )( | ||
| 33508 | ID3D12GraphicsCommandList7 * This, | ||
| 33509 | _In_ UINT NumSamplesPerPixel, | ||
| 33510 | _In_ UINT NumPixels, | ||
| 33511 | _In_reads_(NumSamplesPerPixel*NumPixels) D3D12_SAMPLE_POSITION *pSamplePositions); | ||
| 33512 | |||
| 33513 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList1, ResolveSubresourceRegion) | ||
| 33514 | void ( STDMETHODCALLTYPE *ResolveSubresourceRegion )( | ||
| 33515 | ID3D12GraphicsCommandList7 * This, | ||
| 33516 | _In_ ID3D12Resource *pDstResource, | ||
| 33517 | _In_ UINT DstSubresource, | ||
| 33518 | _In_ UINT DstX, | ||
| 33519 | _In_ UINT DstY, | ||
| 33520 | _In_ ID3D12Resource *pSrcResource, | ||
| 33521 | _In_ UINT SrcSubresource, | ||
| 33522 | _In_opt_ D3D12_RECT *pSrcRect, | ||
| 33523 | _In_ DXGI_FORMAT Format, | ||
| 33524 | _In_ D3D12_RESOLVE_MODE ResolveMode); | ||
| 33525 | |||
| 33526 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList1, SetViewInstanceMask) | ||
| 33527 | void ( STDMETHODCALLTYPE *SetViewInstanceMask )( | ||
| 33528 | ID3D12GraphicsCommandList7 * This, | ||
| 33529 | _In_ UINT Mask); | ||
| 33530 | |||
| 33531 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList2, WriteBufferImmediate) | ||
| 33532 | void ( STDMETHODCALLTYPE *WriteBufferImmediate )( | ||
| 33533 | ID3D12GraphicsCommandList7 * This, | ||
| 33534 | UINT Count, | ||
| 33535 | _In_reads_(Count) const D3D12_WRITEBUFFERIMMEDIATE_PARAMETER *pParams, | ||
| 33536 | _In_reads_opt_(Count) const D3D12_WRITEBUFFERIMMEDIATE_MODE *pModes); | ||
| 33537 | |||
| 33538 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList3, SetProtectedResourceSession) | ||
| 33539 | void ( STDMETHODCALLTYPE *SetProtectedResourceSession )( | ||
| 33540 | ID3D12GraphicsCommandList7 * This, | ||
| 33541 | _In_opt_ ID3D12ProtectedResourceSession *pProtectedResourceSession); | ||
| 33542 | |||
| 33543 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList4, BeginRenderPass) | ||
| 33544 | void ( STDMETHODCALLTYPE *BeginRenderPass )( | ||
| 33545 | ID3D12GraphicsCommandList7 * This, | ||
| 33546 | _In_ UINT NumRenderTargets, | ||
| 33547 | _In_reads_opt_(NumRenderTargets) const D3D12_RENDER_PASS_RENDER_TARGET_DESC *pRenderTargets, | ||
| 33548 | _In_opt_ const D3D12_RENDER_PASS_DEPTH_STENCIL_DESC *pDepthStencil, | ||
| 33549 | D3D12_RENDER_PASS_FLAGS Flags); | ||
| 33550 | |||
| 33551 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList4, EndRenderPass) | ||
| 33552 | void ( STDMETHODCALLTYPE *EndRenderPass )( | ||
| 33553 | ID3D12GraphicsCommandList7 * This); | ||
| 33554 | |||
| 33555 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList4, InitializeMetaCommand) | ||
| 33556 | void ( STDMETHODCALLTYPE *InitializeMetaCommand )( | ||
| 33557 | ID3D12GraphicsCommandList7 * This, | ||
| 33558 | _In_ ID3D12MetaCommand *pMetaCommand, | ||
| 33559 | _In_reads_bytes_opt_(InitializationParametersDataSizeInBytes) const void *pInitializationParametersData, | ||
| 33560 | _In_ SIZE_T InitializationParametersDataSizeInBytes); | ||
| 33561 | |||
| 33562 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList4, ExecuteMetaCommand) | ||
| 33563 | void ( STDMETHODCALLTYPE *ExecuteMetaCommand )( | ||
| 33564 | ID3D12GraphicsCommandList7 * This, | ||
| 33565 | _In_ ID3D12MetaCommand *pMetaCommand, | ||
| 33566 | _In_reads_bytes_opt_(ExecutionParametersDataSizeInBytes) const void *pExecutionParametersData, | ||
| 33567 | _In_ SIZE_T ExecutionParametersDataSizeInBytes); | ||
| 33568 | |||
| 33569 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList4, BuildRaytracingAccelerationStructure) | ||
| 33570 | void ( STDMETHODCALLTYPE *BuildRaytracingAccelerationStructure )( | ||
| 33571 | ID3D12GraphicsCommandList7 * This, | ||
| 33572 | _In_ const D3D12_BUILD_RAYTRACING_ACCELERATION_STRUCTURE_DESC *pDesc, | ||
| 33573 | _In_ UINT NumPostbuildInfoDescs, | ||
| 33574 | _In_reads_opt_(NumPostbuildInfoDescs) const D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_DESC *pPostbuildInfoDescs); | ||
| 33575 | |||
| 33576 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList4, EmitRaytracingAccelerationStructurePostbuildInfo) | ||
| 33577 | void ( STDMETHODCALLTYPE *EmitRaytracingAccelerationStructurePostbuildInfo )( | ||
| 33578 | ID3D12GraphicsCommandList7 * This, | ||
| 33579 | _In_ const D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_DESC *pDesc, | ||
| 33580 | _In_ UINT NumSourceAccelerationStructures, | ||
| 33581 | _In_reads_( NumSourceAccelerationStructures ) const D3D12_GPU_VIRTUAL_ADDRESS *pSourceAccelerationStructureData); | ||
| 33582 | |||
| 33583 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList4, CopyRaytracingAccelerationStructure) | ||
| 33584 | void ( STDMETHODCALLTYPE *CopyRaytracingAccelerationStructure )( | ||
| 33585 | ID3D12GraphicsCommandList7 * This, | ||
| 33586 | _In_ D3D12_GPU_VIRTUAL_ADDRESS DestAccelerationStructureData, | ||
| 33587 | _In_ D3D12_GPU_VIRTUAL_ADDRESS SourceAccelerationStructureData, | ||
| 33588 | _In_ D3D12_RAYTRACING_ACCELERATION_STRUCTURE_COPY_MODE Mode); | ||
| 33589 | |||
| 33590 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList4, SetPipelineState1) | ||
| 33591 | void ( STDMETHODCALLTYPE *SetPipelineState1 )( | ||
| 33592 | ID3D12GraphicsCommandList7 * This, | ||
| 33593 | _In_ ID3D12StateObject *pStateObject); | ||
| 33594 | |||
| 33595 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList4, DispatchRays) | ||
| 33596 | void ( STDMETHODCALLTYPE *DispatchRays )( | ||
| 33597 | ID3D12GraphicsCommandList7 * This, | ||
| 33598 | _In_ const D3D12_DISPATCH_RAYS_DESC *pDesc); | ||
| 33599 | |||
| 33600 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList5, RSSetShadingRate) | ||
| 33601 | void ( STDMETHODCALLTYPE *RSSetShadingRate )( | ||
| 33602 | ID3D12GraphicsCommandList7 * This, | ||
| 33603 | _In_ D3D12_SHADING_RATE baseShadingRate, | ||
| 33604 | _In_reads_opt_(D3D12_RS_SET_SHADING_RATE_COMBINER_COUNT) const D3D12_SHADING_RATE_COMBINER *combiners); | ||
| 33605 | |||
| 33606 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList5, RSSetShadingRateImage) | ||
| 33607 | void ( STDMETHODCALLTYPE *RSSetShadingRateImage )( | ||
| 33608 | ID3D12GraphicsCommandList7 * This, | ||
| 33609 | _In_opt_ ID3D12Resource *shadingRateImage); | ||
| 33610 | |||
| 33611 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList6, DispatchMesh) | ||
| 33612 | void ( STDMETHODCALLTYPE *DispatchMesh )( | ||
| 33613 | ID3D12GraphicsCommandList7 * This, | ||
| 33614 | _In_ UINT ThreadGroupCountX, | ||
| 33615 | _In_ UINT ThreadGroupCountY, | ||
| 33616 | _In_ UINT ThreadGroupCountZ); | ||
| 33617 | |||
| 33618 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList7, Barrier) | ||
| 33619 | void ( STDMETHODCALLTYPE *Barrier )( | ||
| 33620 | ID3D12GraphicsCommandList7 * This, | ||
| 33621 | UINT32 NumBarrierGroups, | ||
| 33622 | _In_reads_(NumBarrierGroups) const D3D12_BARRIER_GROUP *pBarrierGroups); | ||
| 33623 | |||
| 33624 | END_INTERFACE | ||
| 33625 | } ID3D12GraphicsCommandList7Vtbl; | ||
| 33626 | |||
| 33627 | interface ID3D12GraphicsCommandList7 | ||
| 33628 | { | ||
| 33629 | CONST_VTBL struct ID3D12GraphicsCommandList7Vtbl *lpVtbl; | ||
| 33630 | }; | ||
| 33631 | |||
| 33632 | |||
| 33633 | |||
| 33634 | #ifdef COBJMACROS | ||
| 33635 | |||
| 33636 | |||
| 33637 | #define ID3D12GraphicsCommandList7_QueryInterface(This,riid,ppvObject) \ | ||
| 33638 | ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) | ||
| 33639 | |||
| 33640 | #define ID3D12GraphicsCommandList7_AddRef(This) \ | ||
| 33641 | ( (This)->lpVtbl -> AddRef(This) ) | ||
| 33642 | |||
| 33643 | #define ID3D12GraphicsCommandList7_Release(This) \ | ||
| 33644 | ( (This)->lpVtbl -> Release(This) ) | ||
| 33645 | |||
| 33646 | |||
| 33647 | #define ID3D12GraphicsCommandList7_GetPrivateData(This,guid,pDataSize,pData) \ | ||
| 33648 | ( (This)->lpVtbl -> GetPrivateData(This,guid,pDataSize,pData) ) | ||
| 33649 | |||
| 33650 | #define ID3D12GraphicsCommandList7_SetPrivateData(This,guid,DataSize,pData) \ | ||
| 33651 | ( (This)->lpVtbl -> SetPrivateData(This,guid,DataSize,pData) ) | ||
| 33652 | |||
| 33653 | #define ID3D12GraphicsCommandList7_SetPrivateDataInterface(This,guid,pData) \ | ||
| 33654 | ( (This)->lpVtbl -> SetPrivateDataInterface(This,guid,pData) ) | ||
| 33655 | |||
| 33656 | #define ID3D12GraphicsCommandList7_SetName(This,Name) \ | ||
| 33657 | ( (This)->lpVtbl -> SetName(This,Name) ) | ||
| 33658 | |||
| 33659 | |||
| 33660 | #define ID3D12GraphicsCommandList7_GetDevice(This,riid,ppvDevice) \ | ||
| 33661 | ( (This)->lpVtbl -> GetDevice(This,riid,ppvDevice) ) | ||
| 33662 | |||
| 33663 | |||
| 33664 | #define ID3D12GraphicsCommandList7_GetType(This) \ | ||
| 33665 | ( (This)->lpVtbl -> GetType(This) ) | ||
| 33666 | |||
| 33667 | |||
| 33668 | #define ID3D12GraphicsCommandList7_Close(This) \ | ||
| 33669 | ( (This)->lpVtbl -> Close(This) ) | ||
| 33670 | |||
| 33671 | #define ID3D12GraphicsCommandList7_Reset(This,pAllocator,pInitialState) \ | ||
| 33672 | ( (This)->lpVtbl -> Reset(This,pAllocator,pInitialState) ) | ||
| 33673 | |||
| 33674 | #define ID3D12GraphicsCommandList7_ClearState(This,pPipelineState) \ | ||
| 33675 | ( (This)->lpVtbl -> ClearState(This,pPipelineState) ) | ||
| 33676 | |||
| 33677 | #define ID3D12GraphicsCommandList7_DrawInstanced(This,VertexCountPerInstance,InstanceCount,StartVertexLocation,StartInstanceLocation) \ | ||
| 33678 | ( (This)->lpVtbl -> DrawInstanced(This,VertexCountPerInstance,InstanceCount,StartVertexLocation,StartInstanceLocation) ) | ||
| 33679 | |||
| 33680 | #define ID3D12GraphicsCommandList7_DrawIndexedInstanced(This,IndexCountPerInstance,InstanceCount,StartIndexLocation,BaseVertexLocation,StartInstanceLocation) \ | ||
| 33681 | ( (This)->lpVtbl -> DrawIndexedInstanced(This,IndexCountPerInstance,InstanceCount,StartIndexLocation,BaseVertexLocation,StartInstanceLocation) ) | ||
| 33682 | |||
| 33683 | #define ID3D12GraphicsCommandList7_Dispatch(This,ThreadGroupCountX,ThreadGroupCountY,ThreadGroupCountZ) \ | ||
| 33684 | ( (This)->lpVtbl -> Dispatch(This,ThreadGroupCountX,ThreadGroupCountY,ThreadGroupCountZ) ) | ||
| 33685 | |||
| 33686 | #define ID3D12GraphicsCommandList7_CopyBufferRegion(This,pDstBuffer,DstOffset,pSrcBuffer,SrcOffset,NumBytes) \ | ||
| 33687 | ( (This)->lpVtbl -> CopyBufferRegion(This,pDstBuffer,DstOffset,pSrcBuffer,SrcOffset,NumBytes) ) | ||
| 33688 | |||
| 33689 | #define ID3D12GraphicsCommandList7_CopyTextureRegion(This,pDst,DstX,DstY,DstZ,pSrc,pSrcBox) \ | ||
| 33690 | ( (This)->lpVtbl -> CopyTextureRegion(This,pDst,DstX,DstY,DstZ,pSrc,pSrcBox) ) | ||
| 33691 | |||
| 33692 | #define ID3D12GraphicsCommandList7_CopyResource(This,pDstResource,pSrcResource) \ | ||
| 33693 | ( (This)->lpVtbl -> CopyResource(This,pDstResource,pSrcResource) ) | ||
| 33694 | |||
| 33695 | #define ID3D12GraphicsCommandList7_CopyTiles(This,pTiledResource,pTileRegionStartCoordinate,pTileRegionSize,pBuffer,BufferStartOffsetInBytes,Flags) \ | ||
| 33696 | ( (This)->lpVtbl -> CopyTiles(This,pTiledResource,pTileRegionStartCoordinate,pTileRegionSize,pBuffer,BufferStartOffsetInBytes,Flags) ) | ||
| 33697 | |||
| 33698 | #define ID3D12GraphicsCommandList7_ResolveSubresource(This,pDstResource,DstSubresource,pSrcResource,SrcSubresource,Format) \ | ||
| 33699 | ( (This)->lpVtbl -> ResolveSubresource(This,pDstResource,DstSubresource,pSrcResource,SrcSubresource,Format) ) | ||
| 33700 | |||
| 33701 | #define ID3D12GraphicsCommandList7_IASetPrimitiveTopology(This,PrimitiveTopology) \ | ||
| 33702 | ( (This)->lpVtbl -> IASetPrimitiveTopology(This,PrimitiveTopology) ) | ||
| 33703 | |||
| 33704 | #define ID3D12GraphicsCommandList7_RSSetViewports(This,NumViewports,pViewports) \ | ||
| 33705 | ( (This)->lpVtbl -> RSSetViewports(This,NumViewports,pViewports) ) | ||
| 33706 | |||
| 33707 | #define ID3D12GraphicsCommandList7_RSSetScissorRects(This,NumRects,pRects) \ | ||
| 33708 | ( (This)->lpVtbl -> RSSetScissorRects(This,NumRects,pRects) ) | ||
| 33709 | |||
| 33710 | #define ID3D12GraphicsCommandList7_OMSetBlendFactor(This,BlendFactor) \ | ||
| 33711 | ( (This)->lpVtbl -> OMSetBlendFactor(This,BlendFactor) ) | ||
| 33712 | |||
| 33713 | #define ID3D12GraphicsCommandList7_OMSetStencilRef(This,StencilRef) \ | ||
| 33714 | ( (This)->lpVtbl -> OMSetStencilRef(This,StencilRef) ) | ||
| 33715 | |||
| 33716 | #define ID3D12GraphicsCommandList7_SetPipelineState(This,pPipelineState) \ | ||
| 33717 | ( (This)->lpVtbl -> SetPipelineState(This,pPipelineState) ) | ||
| 33718 | |||
| 33719 | #define ID3D12GraphicsCommandList7_ResourceBarrier(This,NumBarriers,pBarriers) \ | ||
| 33720 | ( (This)->lpVtbl -> ResourceBarrier(This,NumBarriers,pBarriers) ) | ||
| 33721 | |||
| 33722 | #define ID3D12GraphicsCommandList7_ExecuteBundle(This,pCommandList) \ | ||
| 33723 | ( (This)->lpVtbl -> ExecuteBundle(This,pCommandList) ) | ||
| 33724 | |||
| 33725 | #define ID3D12GraphicsCommandList7_SetDescriptorHeaps(This,NumDescriptorHeaps,ppDescriptorHeaps) \ | ||
| 33726 | ( (This)->lpVtbl -> SetDescriptorHeaps(This,NumDescriptorHeaps,ppDescriptorHeaps) ) | ||
| 33727 | |||
| 33728 | #define ID3D12GraphicsCommandList7_SetComputeRootSignature(This,pRootSignature) \ | ||
| 33729 | ( (This)->lpVtbl -> SetComputeRootSignature(This,pRootSignature) ) | ||
| 33730 | |||
| 33731 | #define ID3D12GraphicsCommandList7_SetGraphicsRootSignature(This,pRootSignature) \ | ||
| 33732 | ( (This)->lpVtbl -> SetGraphicsRootSignature(This,pRootSignature) ) | ||
| 33733 | |||
| 33734 | #define ID3D12GraphicsCommandList7_SetComputeRootDescriptorTable(This,RootParameterIndex,BaseDescriptor) \ | ||
| 33735 | ( (This)->lpVtbl -> SetComputeRootDescriptorTable(This,RootParameterIndex,BaseDescriptor) ) | ||
| 33736 | |||
| 33737 | #define ID3D12GraphicsCommandList7_SetGraphicsRootDescriptorTable(This,RootParameterIndex,BaseDescriptor) \ | ||
| 33738 | ( (This)->lpVtbl -> SetGraphicsRootDescriptorTable(This,RootParameterIndex,BaseDescriptor) ) | ||
| 33739 | |||
| 33740 | #define ID3D12GraphicsCommandList7_SetComputeRoot32BitConstant(This,RootParameterIndex,SrcData,DestOffsetIn32BitValues) \ | ||
| 33741 | ( (This)->lpVtbl -> SetComputeRoot32BitConstant(This,RootParameterIndex,SrcData,DestOffsetIn32BitValues) ) | ||
| 33742 | |||
| 33743 | #define ID3D12GraphicsCommandList7_SetGraphicsRoot32BitConstant(This,RootParameterIndex,SrcData,DestOffsetIn32BitValues) \ | ||
| 33744 | ( (This)->lpVtbl -> SetGraphicsRoot32BitConstant(This,RootParameterIndex,SrcData,DestOffsetIn32BitValues) ) | ||
| 33745 | |||
| 33746 | #define ID3D12GraphicsCommandList7_SetComputeRoot32BitConstants(This,RootParameterIndex,Num32BitValuesToSet,pSrcData,DestOffsetIn32BitValues) \ | ||
| 33747 | ( (This)->lpVtbl -> SetComputeRoot32BitConstants(This,RootParameterIndex,Num32BitValuesToSet,pSrcData,DestOffsetIn32BitValues) ) | ||
| 33748 | |||
| 33749 | #define ID3D12GraphicsCommandList7_SetGraphicsRoot32BitConstants(This,RootParameterIndex,Num32BitValuesToSet,pSrcData,DestOffsetIn32BitValues) \ | ||
| 33750 | ( (This)->lpVtbl -> SetGraphicsRoot32BitConstants(This,RootParameterIndex,Num32BitValuesToSet,pSrcData,DestOffsetIn32BitValues) ) | ||
| 33751 | |||
| 33752 | #define ID3D12GraphicsCommandList7_SetComputeRootConstantBufferView(This,RootParameterIndex,BufferLocation) \ | ||
| 33753 | ( (This)->lpVtbl -> SetComputeRootConstantBufferView(This,RootParameterIndex,BufferLocation) ) | ||
| 33754 | |||
| 33755 | #define ID3D12GraphicsCommandList7_SetGraphicsRootConstantBufferView(This,RootParameterIndex,BufferLocation) \ | ||
| 33756 | ( (This)->lpVtbl -> SetGraphicsRootConstantBufferView(This,RootParameterIndex,BufferLocation) ) | ||
| 33757 | |||
| 33758 | #define ID3D12GraphicsCommandList7_SetComputeRootShaderResourceView(This,RootParameterIndex,BufferLocation) \ | ||
| 33759 | ( (This)->lpVtbl -> SetComputeRootShaderResourceView(This,RootParameterIndex,BufferLocation) ) | ||
| 33760 | |||
| 33761 | #define ID3D12GraphicsCommandList7_SetGraphicsRootShaderResourceView(This,RootParameterIndex,BufferLocation) \ | ||
| 33762 | ( (This)->lpVtbl -> SetGraphicsRootShaderResourceView(This,RootParameterIndex,BufferLocation) ) | ||
| 33763 | |||
| 33764 | #define ID3D12GraphicsCommandList7_SetComputeRootUnorderedAccessView(This,RootParameterIndex,BufferLocation) \ | ||
| 33765 | ( (This)->lpVtbl -> SetComputeRootUnorderedAccessView(This,RootParameterIndex,BufferLocation) ) | ||
| 33766 | |||
| 33767 | #define ID3D12GraphicsCommandList7_SetGraphicsRootUnorderedAccessView(This,RootParameterIndex,BufferLocation) \ | ||
| 33768 | ( (This)->lpVtbl -> SetGraphicsRootUnorderedAccessView(This,RootParameterIndex,BufferLocation) ) | ||
| 33769 | |||
| 33770 | #define ID3D12GraphicsCommandList7_IASetIndexBuffer(This,pView) \ | ||
| 33771 | ( (This)->lpVtbl -> IASetIndexBuffer(This,pView) ) | ||
| 33772 | |||
| 33773 | #define ID3D12GraphicsCommandList7_IASetVertexBuffers(This,StartSlot,NumViews,pViews) \ | ||
| 33774 | ( (This)->lpVtbl -> IASetVertexBuffers(This,StartSlot,NumViews,pViews) ) | ||
| 33775 | |||
| 33776 | #define ID3D12GraphicsCommandList7_SOSetTargets(This,StartSlot,NumViews,pViews) \ | ||
| 33777 | ( (This)->lpVtbl -> SOSetTargets(This,StartSlot,NumViews,pViews) ) | ||
| 33778 | |||
| 33779 | #define ID3D12GraphicsCommandList7_OMSetRenderTargets(This,NumRenderTargetDescriptors,pRenderTargetDescriptors,RTsSingleHandleToDescriptorRange,pDepthStencilDescriptor) \ | ||
| 33780 | ( (This)->lpVtbl -> OMSetRenderTargets(This,NumRenderTargetDescriptors,pRenderTargetDescriptors,RTsSingleHandleToDescriptorRange,pDepthStencilDescriptor) ) | ||
| 33781 | |||
| 33782 | #define ID3D12GraphicsCommandList7_ClearDepthStencilView(This,DepthStencilView,ClearFlags,Depth,Stencil,NumRects,pRects) \ | ||
| 33783 | ( (This)->lpVtbl -> ClearDepthStencilView(This,DepthStencilView,ClearFlags,Depth,Stencil,NumRects,pRects) ) | ||
| 33784 | |||
| 33785 | #define ID3D12GraphicsCommandList7_ClearRenderTargetView(This,RenderTargetView,ColorRGBA,NumRects,pRects) \ | ||
| 33786 | ( (This)->lpVtbl -> ClearRenderTargetView(This,RenderTargetView,ColorRGBA,NumRects,pRects) ) | ||
| 33787 | |||
| 33788 | #define ID3D12GraphicsCommandList7_ClearUnorderedAccessViewUint(This,ViewGPUHandleInCurrentHeap,ViewCPUHandle,pResource,Values,NumRects,pRects) \ | ||
| 33789 | ( (This)->lpVtbl -> ClearUnorderedAccessViewUint(This,ViewGPUHandleInCurrentHeap,ViewCPUHandle,pResource,Values,NumRects,pRects) ) | ||
| 33790 | |||
| 33791 | #define ID3D12GraphicsCommandList7_ClearUnorderedAccessViewFloat(This,ViewGPUHandleInCurrentHeap,ViewCPUHandle,pResource,Values,NumRects,pRects) \ | ||
| 33792 | ( (This)->lpVtbl -> ClearUnorderedAccessViewFloat(This,ViewGPUHandleInCurrentHeap,ViewCPUHandle,pResource,Values,NumRects,pRects) ) | ||
| 33793 | |||
| 33794 | #define ID3D12GraphicsCommandList7_DiscardResource(This,pResource,pRegion) \ | ||
| 33795 | ( (This)->lpVtbl -> DiscardResource(This,pResource,pRegion) ) | ||
| 33796 | |||
| 33797 | #define ID3D12GraphicsCommandList7_BeginQuery(This,pQueryHeap,Type,Index) \ | ||
| 33798 | ( (This)->lpVtbl -> BeginQuery(This,pQueryHeap,Type,Index) ) | ||
| 33799 | |||
| 33800 | #define ID3D12GraphicsCommandList7_EndQuery(This,pQueryHeap,Type,Index) \ | ||
| 33801 | ( (This)->lpVtbl -> EndQuery(This,pQueryHeap,Type,Index) ) | ||
| 33802 | |||
| 33803 | #define ID3D12GraphicsCommandList7_ResolveQueryData(This,pQueryHeap,Type,StartIndex,NumQueries,pDestinationBuffer,AlignedDestinationBufferOffset) \ | ||
| 33804 | ( (This)->lpVtbl -> ResolveQueryData(This,pQueryHeap,Type,StartIndex,NumQueries,pDestinationBuffer,AlignedDestinationBufferOffset) ) | ||
| 33805 | |||
| 33806 | #define ID3D12GraphicsCommandList7_SetPredication(This,pBuffer,AlignedBufferOffset,Operation) \ | ||
| 33807 | ( (This)->lpVtbl -> SetPredication(This,pBuffer,AlignedBufferOffset,Operation) ) | ||
| 33808 | |||
| 33809 | #define ID3D12GraphicsCommandList7_SetMarker(This,Metadata,pData,Size) \ | ||
| 33810 | ( (This)->lpVtbl -> SetMarker(This,Metadata,pData,Size) ) | ||
| 33811 | |||
| 33812 | #define ID3D12GraphicsCommandList7_BeginEvent(This,Metadata,pData,Size) \ | ||
| 33813 | ( (This)->lpVtbl -> BeginEvent(This,Metadata,pData,Size) ) | ||
| 33814 | |||
| 33815 | #define ID3D12GraphicsCommandList7_EndEvent(This) \ | ||
| 33816 | ( (This)->lpVtbl -> EndEvent(This) ) | ||
| 33817 | |||
| 33818 | #define ID3D12GraphicsCommandList7_ExecuteIndirect(This,pCommandSignature,MaxCommandCount,pArgumentBuffer,ArgumentBufferOffset,pCountBuffer,CountBufferOffset) \ | ||
| 33819 | ( (This)->lpVtbl -> ExecuteIndirect(This,pCommandSignature,MaxCommandCount,pArgumentBuffer,ArgumentBufferOffset,pCountBuffer,CountBufferOffset) ) | ||
| 33820 | |||
| 33821 | |||
| 33822 | #define ID3D12GraphicsCommandList7_AtomicCopyBufferUINT(This,pDstBuffer,DstOffset,pSrcBuffer,SrcOffset,Dependencies,ppDependentResources,pDependentSubresourceRanges) \ | ||
| 33823 | ( (This)->lpVtbl -> AtomicCopyBufferUINT(This,pDstBuffer,DstOffset,pSrcBuffer,SrcOffset,Dependencies,ppDependentResources,pDependentSubresourceRanges) ) | ||
| 33824 | |||
| 33825 | #define ID3D12GraphicsCommandList7_AtomicCopyBufferUINT64(This,pDstBuffer,DstOffset,pSrcBuffer,SrcOffset,Dependencies,ppDependentResources,pDependentSubresourceRanges) \ | ||
| 33826 | ( (This)->lpVtbl -> AtomicCopyBufferUINT64(This,pDstBuffer,DstOffset,pSrcBuffer,SrcOffset,Dependencies,ppDependentResources,pDependentSubresourceRanges) ) | ||
| 33827 | |||
| 33828 | #define ID3D12GraphicsCommandList7_OMSetDepthBounds(This,Min,Max) \ | ||
| 33829 | ( (This)->lpVtbl -> OMSetDepthBounds(This,Min,Max) ) | ||
| 33830 | |||
| 33831 | #define ID3D12GraphicsCommandList7_SetSamplePositions(This,NumSamplesPerPixel,NumPixels,pSamplePositions) \ | ||
| 33832 | ( (This)->lpVtbl -> SetSamplePositions(This,NumSamplesPerPixel,NumPixels,pSamplePositions) ) | ||
| 33833 | |||
| 33834 | #define ID3D12GraphicsCommandList7_ResolveSubresourceRegion(This,pDstResource,DstSubresource,DstX,DstY,pSrcResource,SrcSubresource,pSrcRect,Format,ResolveMode) \ | ||
| 33835 | ( (This)->lpVtbl -> ResolveSubresourceRegion(This,pDstResource,DstSubresource,DstX,DstY,pSrcResource,SrcSubresource,pSrcRect,Format,ResolveMode) ) | ||
| 33836 | |||
| 33837 | #define ID3D12GraphicsCommandList7_SetViewInstanceMask(This,Mask) \ | ||
| 33838 | ( (This)->lpVtbl -> SetViewInstanceMask(This,Mask) ) | ||
| 33839 | |||
| 33840 | |||
| 33841 | #define ID3D12GraphicsCommandList7_WriteBufferImmediate(This,Count,pParams,pModes) \ | ||
| 33842 | ( (This)->lpVtbl -> WriteBufferImmediate(This,Count,pParams,pModes) ) | ||
| 33843 | |||
| 33844 | |||
| 33845 | #define ID3D12GraphicsCommandList7_SetProtectedResourceSession(This,pProtectedResourceSession) \ | ||
| 33846 | ( (This)->lpVtbl -> SetProtectedResourceSession(This,pProtectedResourceSession) ) | ||
| 33847 | |||
| 33848 | |||
| 33849 | #define ID3D12GraphicsCommandList7_BeginRenderPass(This,NumRenderTargets,pRenderTargets,pDepthStencil,Flags) \ | ||
| 33850 | ( (This)->lpVtbl -> BeginRenderPass(This,NumRenderTargets,pRenderTargets,pDepthStencil,Flags) ) | ||
| 33851 | |||
| 33852 | #define ID3D12GraphicsCommandList7_EndRenderPass(This) \ | ||
| 33853 | ( (This)->lpVtbl -> EndRenderPass(This) ) | ||
| 33854 | |||
| 33855 | #define ID3D12GraphicsCommandList7_InitializeMetaCommand(This,pMetaCommand,pInitializationParametersData,InitializationParametersDataSizeInBytes) \ | ||
| 33856 | ( (This)->lpVtbl -> InitializeMetaCommand(This,pMetaCommand,pInitializationParametersData,InitializationParametersDataSizeInBytes) ) | ||
| 33857 | |||
| 33858 | #define ID3D12GraphicsCommandList7_ExecuteMetaCommand(This,pMetaCommand,pExecutionParametersData,ExecutionParametersDataSizeInBytes) \ | ||
| 33859 | ( (This)->lpVtbl -> ExecuteMetaCommand(This,pMetaCommand,pExecutionParametersData,ExecutionParametersDataSizeInBytes) ) | ||
| 33860 | |||
| 33861 | #define ID3D12GraphicsCommandList7_BuildRaytracingAccelerationStructure(This,pDesc,NumPostbuildInfoDescs,pPostbuildInfoDescs) \ | ||
| 33862 | ( (This)->lpVtbl -> BuildRaytracingAccelerationStructure(This,pDesc,NumPostbuildInfoDescs,pPostbuildInfoDescs) ) | ||
| 33863 | |||
| 33864 | #define ID3D12GraphicsCommandList7_EmitRaytracingAccelerationStructurePostbuildInfo(This,pDesc,NumSourceAccelerationStructures,pSourceAccelerationStructureData) \ | ||
| 33865 | ( (This)->lpVtbl -> EmitRaytracingAccelerationStructurePostbuildInfo(This,pDesc,NumSourceAccelerationStructures,pSourceAccelerationStructureData) ) | ||
| 33866 | |||
| 33867 | #define ID3D12GraphicsCommandList7_CopyRaytracingAccelerationStructure(This,DestAccelerationStructureData,SourceAccelerationStructureData,Mode) \ | ||
| 33868 | ( (This)->lpVtbl -> CopyRaytracingAccelerationStructure(This,DestAccelerationStructureData,SourceAccelerationStructureData,Mode) ) | ||
| 33869 | |||
| 33870 | #define ID3D12GraphicsCommandList7_SetPipelineState1(This,pStateObject) \ | ||
| 33871 | ( (This)->lpVtbl -> SetPipelineState1(This,pStateObject) ) | ||
| 33872 | |||
| 33873 | #define ID3D12GraphicsCommandList7_DispatchRays(This,pDesc) \ | ||
| 33874 | ( (This)->lpVtbl -> DispatchRays(This,pDesc) ) | ||
| 33875 | |||
| 33876 | |||
| 33877 | #define ID3D12GraphicsCommandList7_RSSetShadingRate(This,baseShadingRate,combiners) \ | ||
| 33878 | ( (This)->lpVtbl -> RSSetShadingRate(This,baseShadingRate,combiners) ) | ||
| 33879 | |||
| 33880 | #define ID3D12GraphicsCommandList7_RSSetShadingRateImage(This,shadingRateImage) \ | ||
| 33881 | ( (This)->lpVtbl -> RSSetShadingRateImage(This,shadingRateImage) ) | ||
| 33882 | |||
| 33883 | |||
| 33884 | #define ID3D12GraphicsCommandList7_DispatchMesh(This,ThreadGroupCountX,ThreadGroupCountY,ThreadGroupCountZ) \ | ||
| 33885 | ( (This)->lpVtbl -> DispatchMesh(This,ThreadGroupCountX,ThreadGroupCountY,ThreadGroupCountZ) ) | ||
| 33886 | |||
| 33887 | |||
| 33888 | #define ID3D12GraphicsCommandList7_Barrier(This,NumBarrierGroups,pBarrierGroups) \ | ||
| 33889 | ( (This)->lpVtbl -> Barrier(This,NumBarrierGroups,pBarrierGroups) ) | ||
| 33890 | |||
| 33891 | #endif /* COBJMACROS */ | ||
| 33892 | |||
| 33893 | |||
| 33894 | #endif /* C style interface */ | ||
| 33895 | |||
| 33896 | |||
| 33897 | |||
| 33898 | |||
| 33899 | #endif /* __ID3D12GraphicsCommandList7_INTERFACE_DEFINED__ */ | ||
| 33900 | |||
| 33901 | |||
| 33902 | #ifndef __ID3D12GraphicsCommandList8_INTERFACE_DEFINED__ | ||
| 33903 | #define __ID3D12GraphicsCommandList8_INTERFACE_DEFINED__ | ||
| 33904 | |||
| 33905 | /* interface ID3D12GraphicsCommandList8 */ | ||
| 33906 | /* [unique][local][object][uuid] */ | ||
| 33907 | |||
| 33908 | |||
| 33909 | EXTERN_C const IID IID_ID3D12GraphicsCommandList8; | ||
| 33910 | |||
| 33911 | #if defined(__cplusplus) && !defined(CINTERFACE) | ||
| 33912 | |||
| 33913 | MIDL_INTERFACE("ee936ef9-599d-4d28-938e-23c4ad05ce51") | ||
| 33914 | ID3D12GraphicsCommandList8 : public ID3D12GraphicsCommandList7 | ||
| 33915 | { | ||
| 33916 | public: | ||
| 33917 | virtual void STDMETHODCALLTYPE OMSetFrontAndBackStencilRef( | ||
| 33918 | _In_ UINT FrontStencilRef, | ||
| 33919 | _In_ UINT BackStencilRef) = 0; | ||
| 33920 | |||
| 33921 | }; | ||
| 33922 | |||
| 33923 | |||
| 33924 | #else /* C style interface */ | ||
| 33925 | |||
| 33926 | typedef struct ID3D12GraphicsCommandList8Vtbl | ||
| 33927 | { | ||
| 33928 | BEGIN_INTERFACE | ||
| 33929 | |||
| 33930 | DECLSPEC_XFGVIRT(IUnknown, QueryInterface) | ||
| 33931 | HRESULT ( STDMETHODCALLTYPE *QueryInterface )( | ||
| 33932 | ID3D12GraphicsCommandList8 * This, | ||
| 33933 | REFIID riid, | ||
| 33934 | _COM_Outptr_ void **ppvObject); | ||
| 33935 | |||
| 33936 | DECLSPEC_XFGVIRT(IUnknown, AddRef) | ||
| 33937 | ULONG ( STDMETHODCALLTYPE *AddRef )( | ||
| 33938 | ID3D12GraphicsCommandList8 * This); | ||
| 33939 | |||
| 33940 | DECLSPEC_XFGVIRT(IUnknown, Release) | ||
| 33941 | ULONG ( STDMETHODCALLTYPE *Release )( | ||
| 33942 | ID3D12GraphicsCommandList8 * This); | ||
| 33943 | |||
| 33944 | DECLSPEC_XFGVIRT(ID3D12Object, GetPrivateData) | ||
| 33945 | HRESULT ( STDMETHODCALLTYPE *GetPrivateData )( | ||
| 33946 | ID3D12GraphicsCommandList8 * This, | ||
| 33947 | _In_ REFGUID guid, | ||
| 33948 | _Inout_ UINT *pDataSize, | ||
| 33949 | _Out_writes_bytes_opt_( *pDataSize ) void *pData); | ||
| 33950 | |||
| 33951 | DECLSPEC_XFGVIRT(ID3D12Object, SetPrivateData) | ||
| 33952 | HRESULT ( STDMETHODCALLTYPE *SetPrivateData )( | ||
| 33953 | ID3D12GraphicsCommandList8 * This, | ||
| 33954 | _In_ REFGUID guid, | ||
| 33955 | _In_ UINT DataSize, | ||
| 33956 | _In_reads_bytes_opt_( DataSize ) const void *pData); | ||
| 33957 | |||
| 33958 | DECLSPEC_XFGVIRT(ID3D12Object, SetPrivateDataInterface) | ||
| 33959 | HRESULT ( STDMETHODCALLTYPE *SetPrivateDataInterface )( | ||
| 33960 | ID3D12GraphicsCommandList8 * This, | ||
| 33961 | _In_ REFGUID guid, | ||
| 33962 | _In_opt_ const IUnknown *pData); | ||
| 33963 | |||
| 33964 | DECLSPEC_XFGVIRT(ID3D12Object, SetName) | ||
| 33965 | HRESULT ( STDMETHODCALLTYPE *SetName )( | ||
| 33966 | ID3D12GraphicsCommandList8 * This, | ||
| 33967 | _In_z_ LPCWSTR Name); | ||
| 33968 | |||
| 33969 | DECLSPEC_XFGVIRT(ID3D12DeviceChild, GetDevice) | ||
| 33970 | HRESULT ( STDMETHODCALLTYPE *GetDevice )( | ||
| 33971 | ID3D12GraphicsCommandList8 * This, | ||
| 33972 | REFIID riid, | ||
| 33973 | _COM_Outptr_opt_ void **ppvDevice); | ||
| 33974 | |||
| 33975 | DECLSPEC_XFGVIRT(ID3D12CommandList, GetType) | ||
| 33976 | D3D12_COMMAND_LIST_TYPE ( STDMETHODCALLTYPE *GetType )( | ||
| 33977 | ID3D12GraphicsCommandList8 * This); | ||
| 33978 | |||
| 33979 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, Close) | ||
| 33980 | HRESULT ( STDMETHODCALLTYPE *Close )( | ||
| 33981 | ID3D12GraphicsCommandList8 * This); | ||
| 33982 | |||
| 33983 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, Reset) | ||
| 33984 | HRESULT ( STDMETHODCALLTYPE *Reset )( | ||
| 33985 | ID3D12GraphicsCommandList8 * This, | ||
| 33986 | _In_ ID3D12CommandAllocator *pAllocator, | ||
| 33987 | _In_opt_ ID3D12PipelineState *pInitialState); | ||
| 33988 | |||
| 33989 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, ClearState) | ||
| 33990 | void ( STDMETHODCALLTYPE *ClearState )( | ||
| 33991 | ID3D12GraphicsCommandList8 * This, | ||
| 33992 | _In_opt_ ID3D12PipelineState *pPipelineState); | ||
| 33993 | |||
| 33994 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, DrawInstanced) | ||
| 33995 | void ( STDMETHODCALLTYPE *DrawInstanced )( | ||
| 33996 | ID3D12GraphicsCommandList8 * This, | ||
| 33997 | _In_ UINT VertexCountPerInstance, | ||
| 33998 | _In_ UINT InstanceCount, | ||
| 33999 | _In_ UINT StartVertexLocation, | ||
| 34000 | _In_ UINT StartInstanceLocation); | ||
| 34001 | |||
| 34002 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, DrawIndexedInstanced) | ||
| 34003 | void ( STDMETHODCALLTYPE *DrawIndexedInstanced )( | ||
| 34004 | ID3D12GraphicsCommandList8 * This, | ||
| 34005 | _In_ UINT IndexCountPerInstance, | ||
| 34006 | _In_ UINT InstanceCount, | ||
| 34007 | _In_ UINT StartIndexLocation, | ||
| 34008 | _In_ INT BaseVertexLocation, | ||
| 34009 | _In_ UINT StartInstanceLocation); | ||
| 34010 | |||
| 34011 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, Dispatch) | ||
| 34012 | void ( STDMETHODCALLTYPE *Dispatch )( | ||
| 34013 | ID3D12GraphicsCommandList8 * This, | ||
| 34014 | _In_ UINT ThreadGroupCountX, | ||
| 34015 | _In_ UINT ThreadGroupCountY, | ||
| 34016 | _In_ UINT ThreadGroupCountZ); | ||
| 34017 | |||
| 34018 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, CopyBufferRegion) | ||
| 34019 | void ( STDMETHODCALLTYPE *CopyBufferRegion )( | ||
| 34020 | ID3D12GraphicsCommandList8 * This, | ||
| 34021 | _In_ ID3D12Resource *pDstBuffer, | ||
| 34022 | UINT64 DstOffset, | ||
| 34023 | _In_ ID3D12Resource *pSrcBuffer, | ||
| 34024 | UINT64 SrcOffset, | ||
| 34025 | UINT64 NumBytes); | ||
| 34026 | |||
| 34027 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, CopyTextureRegion) | ||
| 34028 | void ( STDMETHODCALLTYPE *CopyTextureRegion )( | ||
| 34029 | ID3D12GraphicsCommandList8 * This, | ||
| 34030 | _In_ const D3D12_TEXTURE_COPY_LOCATION *pDst, | ||
| 34031 | UINT DstX, | ||
| 34032 | UINT DstY, | ||
| 34033 | UINT DstZ, | ||
| 34034 | _In_ const D3D12_TEXTURE_COPY_LOCATION *pSrc, | ||
| 34035 | _In_opt_ const D3D12_BOX *pSrcBox); | ||
| 34036 | |||
| 34037 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, CopyResource) | ||
| 34038 | void ( STDMETHODCALLTYPE *CopyResource )( | ||
| 34039 | ID3D12GraphicsCommandList8 * This, | ||
| 34040 | _In_ ID3D12Resource *pDstResource, | ||
| 34041 | _In_ ID3D12Resource *pSrcResource); | ||
| 34042 | |||
| 34043 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, CopyTiles) | ||
| 34044 | void ( STDMETHODCALLTYPE *CopyTiles )( | ||
| 34045 | ID3D12GraphicsCommandList8 * This, | ||
| 34046 | _In_ ID3D12Resource *pTiledResource, | ||
| 34047 | _In_ const D3D12_TILED_RESOURCE_COORDINATE *pTileRegionStartCoordinate, | ||
| 34048 | _In_ const D3D12_TILE_REGION_SIZE *pTileRegionSize, | ||
| 34049 | _In_ ID3D12Resource *pBuffer, | ||
| 34050 | UINT64 BufferStartOffsetInBytes, | ||
| 34051 | D3D12_TILE_COPY_FLAGS Flags); | ||
| 34052 | |||
| 34053 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, ResolveSubresource) | ||
| 34054 | void ( STDMETHODCALLTYPE *ResolveSubresource )( | ||
| 34055 | ID3D12GraphicsCommandList8 * This, | ||
| 34056 | _In_ ID3D12Resource *pDstResource, | ||
| 34057 | _In_ UINT DstSubresource, | ||
| 34058 | _In_ ID3D12Resource *pSrcResource, | ||
| 34059 | _In_ UINT SrcSubresource, | ||
| 34060 | _In_ DXGI_FORMAT Format); | ||
| 34061 | |||
| 34062 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, IASetPrimitiveTopology) | ||
| 34063 | void ( STDMETHODCALLTYPE *IASetPrimitiveTopology )( | ||
| 34064 | ID3D12GraphicsCommandList8 * This, | ||
| 34065 | _In_ D3D12_PRIMITIVE_TOPOLOGY PrimitiveTopology); | ||
| 34066 | |||
| 34067 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, RSSetViewports) | ||
| 34068 | void ( STDMETHODCALLTYPE *RSSetViewports )( | ||
| 34069 | ID3D12GraphicsCommandList8 * This, | ||
| 34070 | _In_range_(0, D3D12_VIEWPORT_AND_SCISSORRECT_OBJECT_COUNT_PER_PIPELINE) UINT NumViewports, | ||
| 34071 | _In_reads_( NumViewports) const D3D12_VIEWPORT *pViewports); | ||
| 34072 | |||
| 34073 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, RSSetScissorRects) | ||
| 34074 | void ( STDMETHODCALLTYPE *RSSetScissorRects )( | ||
| 34075 | ID3D12GraphicsCommandList8 * This, | ||
| 34076 | _In_range_(0, D3D12_VIEWPORT_AND_SCISSORRECT_OBJECT_COUNT_PER_PIPELINE) UINT NumRects, | ||
| 34077 | _In_reads_( NumRects) const D3D12_RECT *pRects); | ||
| 34078 | |||
| 34079 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, OMSetBlendFactor) | ||
| 34080 | void ( STDMETHODCALLTYPE *OMSetBlendFactor )( | ||
| 34081 | ID3D12GraphicsCommandList8 * This, | ||
| 34082 | _In_reads_opt_(4) const FLOAT BlendFactor[ 4 ]); | ||
| 34083 | |||
| 34084 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, OMSetStencilRef) | ||
| 34085 | void ( STDMETHODCALLTYPE *OMSetStencilRef )( | ||
| 34086 | ID3D12GraphicsCommandList8 * This, | ||
| 34087 | _In_ UINT StencilRef); | ||
| 34088 | |||
| 34089 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetPipelineState) | ||
| 34090 | void ( STDMETHODCALLTYPE *SetPipelineState )( | ||
| 34091 | ID3D12GraphicsCommandList8 * This, | ||
| 34092 | _In_ ID3D12PipelineState *pPipelineState); | ||
| 34093 | |||
| 34094 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, ResourceBarrier) | ||
| 34095 | void ( STDMETHODCALLTYPE *ResourceBarrier )( | ||
| 34096 | ID3D12GraphicsCommandList8 * This, | ||
| 34097 | _In_ UINT NumBarriers, | ||
| 34098 | _In_reads_(NumBarriers) const D3D12_RESOURCE_BARRIER *pBarriers); | ||
| 34099 | |||
| 34100 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, ExecuteBundle) | ||
| 34101 | void ( STDMETHODCALLTYPE *ExecuteBundle )( | ||
| 34102 | ID3D12GraphicsCommandList8 * This, | ||
| 34103 | _In_ ID3D12GraphicsCommandList *pCommandList); | ||
| 34104 | |||
| 34105 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetDescriptorHeaps) | ||
| 34106 | void ( STDMETHODCALLTYPE *SetDescriptorHeaps )( | ||
| 34107 | ID3D12GraphicsCommandList8 * This, | ||
| 34108 | _In_ UINT NumDescriptorHeaps, | ||
| 34109 | _In_reads_(NumDescriptorHeaps) ID3D12DescriptorHeap *const *ppDescriptorHeaps); | ||
| 34110 | |||
| 34111 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetComputeRootSignature) | ||
| 34112 | void ( STDMETHODCALLTYPE *SetComputeRootSignature )( | ||
| 34113 | ID3D12GraphicsCommandList8 * This, | ||
| 34114 | _In_opt_ ID3D12RootSignature *pRootSignature); | ||
| 34115 | |||
| 34116 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetGraphicsRootSignature) | ||
| 34117 | void ( STDMETHODCALLTYPE *SetGraphicsRootSignature )( | ||
| 34118 | ID3D12GraphicsCommandList8 * This, | ||
| 34119 | _In_opt_ ID3D12RootSignature *pRootSignature); | ||
| 34120 | |||
| 34121 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetComputeRootDescriptorTable) | ||
| 34122 | void ( STDMETHODCALLTYPE *SetComputeRootDescriptorTable )( | ||
| 34123 | ID3D12GraphicsCommandList8 * This, | ||
| 34124 | _In_ UINT RootParameterIndex, | ||
| 34125 | _In_ D3D12_GPU_DESCRIPTOR_HANDLE BaseDescriptor); | ||
| 34126 | |||
| 34127 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetGraphicsRootDescriptorTable) | ||
| 34128 | void ( STDMETHODCALLTYPE *SetGraphicsRootDescriptorTable )( | ||
| 34129 | ID3D12GraphicsCommandList8 * This, | ||
| 34130 | _In_ UINT RootParameterIndex, | ||
| 34131 | _In_ D3D12_GPU_DESCRIPTOR_HANDLE BaseDescriptor); | ||
| 34132 | |||
| 34133 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetComputeRoot32BitConstant) | ||
| 34134 | void ( STDMETHODCALLTYPE *SetComputeRoot32BitConstant )( | ||
| 34135 | ID3D12GraphicsCommandList8 * This, | ||
| 34136 | _In_ UINT RootParameterIndex, | ||
| 34137 | _In_ UINT SrcData, | ||
| 34138 | _In_ UINT DestOffsetIn32BitValues); | ||
| 34139 | |||
| 34140 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetGraphicsRoot32BitConstant) | ||
| 34141 | void ( STDMETHODCALLTYPE *SetGraphicsRoot32BitConstant )( | ||
| 34142 | ID3D12GraphicsCommandList8 * This, | ||
| 34143 | _In_ UINT RootParameterIndex, | ||
| 34144 | _In_ UINT SrcData, | ||
| 34145 | _In_ UINT DestOffsetIn32BitValues); | ||
| 34146 | |||
| 34147 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetComputeRoot32BitConstants) | ||
| 34148 | void ( STDMETHODCALLTYPE *SetComputeRoot32BitConstants )( | ||
| 34149 | ID3D12GraphicsCommandList8 * This, | ||
| 34150 | _In_ UINT RootParameterIndex, | ||
| 34151 | _In_ UINT Num32BitValuesToSet, | ||
| 34152 | _In_reads_(Num32BitValuesToSet*sizeof(UINT)) const void *pSrcData, | ||
| 34153 | _In_ UINT DestOffsetIn32BitValues); | ||
| 34154 | |||
| 34155 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetGraphicsRoot32BitConstants) | ||
| 34156 | void ( STDMETHODCALLTYPE *SetGraphicsRoot32BitConstants )( | ||
| 34157 | ID3D12GraphicsCommandList8 * This, | ||
| 34158 | _In_ UINT RootParameterIndex, | ||
| 34159 | _In_ UINT Num32BitValuesToSet, | ||
| 34160 | _In_reads_(Num32BitValuesToSet*sizeof(UINT)) const void *pSrcData, | ||
| 34161 | _In_ UINT DestOffsetIn32BitValues); | ||
| 34162 | |||
| 34163 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetComputeRootConstantBufferView) | ||
| 34164 | void ( STDMETHODCALLTYPE *SetComputeRootConstantBufferView )( | ||
| 34165 | ID3D12GraphicsCommandList8 * This, | ||
| 34166 | _In_ UINT RootParameterIndex, | ||
| 34167 | _In_ D3D12_GPU_VIRTUAL_ADDRESS BufferLocation); | ||
| 34168 | |||
| 34169 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetGraphicsRootConstantBufferView) | ||
| 34170 | void ( STDMETHODCALLTYPE *SetGraphicsRootConstantBufferView )( | ||
| 34171 | ID3D12GraphicsCommandList8 * This, | ||
| 34172 | _In_ UINT RootParameterIndex, | ||
| 34173 | _In_ D3D12_GPU_VIRTUAL_ADDRESS BufferLocation); | ||
| 34174 | |||
| 34175 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetComputeRootShaderResourceView) | ||
| 34176 | void ( STDMETHODCALLTYPE *SetComputeRootShaderResourceView )( | ||
| 34177 | ID3D12GraphicsCommandList8 * This, | ||
| 34178 | _In_ UINT RootParameterIndex, | ||
| 34179 | _In_ D3D12_GPU_VIRTUAL_ADDRESS BufferLocation); | ||
| 34180 | |||
| 34181 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetGraphicsRootShaderResourceView) | ||
| 34182 | void ( STDMETHODCALLTYPE *SetGraphicsRootShaderResourceView )( | ||
| 34183 | ID3D12GraphicsCommandList8 * This, | ||
| 34184 | _In_ UINT RootParameterIndex, | ||
| 34185 | _In_ D3D12_GPU_VIRTUAL_ADDRESS BufferLocation); | ||
| 34186 | |||
| 34187 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetComputeRootUnorderedAccessView) | ||
| 34188 | void ( STDMETHODCALLTYPE *SetComputeRootUnorderedAccessView )( | ||
| 34189 | ID3D12GraphicsCommandList8 * This, | ||
| 34190 | _In_ UINT RootParameterIndex, | ||
| 34191 | _In_ D3D12_GPU_VIRTUAL_ADDRESS BufferLocation); | ||
| 34192 | |||
| 34193 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetGraphicsRootUnorderedAccessView) | ||
| 34194 | void ( STDMETHODCALLTYPE *SetGraphicsRootUnorderedAccessView )( | ||
| 34195 | ID3D12GraphicsCommandList8 * This, | ||
| 34196 | _In_ UINT RootParameterIndex, | ||
| 34197 | _In_ D3D12_GPU_VIRTUAL_ADDRESS BufferLocation); | ||
| 34198 | |||
| 34199 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, IASetIndexBuffer) | ||
| 34200 | void ( STDMETHODCALLTYPE *IASetIndexBuffer )( | ||
| 34201 | ID3D12GraphicsCommandList8 * This, | ||
| 34202 | _In_opt_ const D3D12_INDEX_BUFFER_VIEW *pView); | ||
| 34203 | |||
| 34204 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, IASetVertexBuffers) | ||
| 34205 | void ( STDMETHODCALLTYPE *IASetVertexBuffers )( | ||
| 34206 | ID3D12GraphicsCommandList8 * This, | ||
| 34207 | _In_ UINT StartSlot, | ||
| 34208 | _In_ UINT NumViews, | ||
| 34209 | _In_reads_opt_(NumViews) const D3D12_VERTEX_BUFFER_VIEW *pViews); | ||
| 34210 | |||
| 34211 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SOSetTargets) | ||
| 34212 | void ( STDMETHODCALLTYPE *SOSetTargets )( | ||
| 34213 | ID3D12GraphicsCommandList8 * This, | ||
| 34214 | _In_ UINT StartSlot, | ||
| 34215 | _In_ UINT NumViews, | ||
| 34216 | _In_reads_opt_(NumViews) const D3D12_STREAM_OUTPUT_BUFFER_VIEW *pViews); | ||
| 34217 | |||
| 34218 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, OMSetRenderTargets) | ||
| 34219 | void ( STDMETHODCALLTYPE *OMSetRenderTargets )( | ||
| 34220 | ID3D12GraphicsCommandList8 * This, | ||
| 34221 | _In_ UINT NumRenderTargetDescriptors, | ||
| 34222 | _In_opt_ const D3D12_CPU_DESCRIPTOR_HANDLE *pRenderTargetDescriptors, | ||
| 34223 | _In_ BOOL RTsSingleHandleToDescriptorRange, | ||
| 34224 | _In_opt_ const D3D12_CPU_DESCRIPTOR_HANDLE *pDepthStencilDescriptor); | ||
| 34225 | |||
| 34226 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, ClearDepthStencilView) | ||
| 34227 | void ( STDMETHODCALLTYPE *ClearDepthStencilView )( | ||
| 34228 | ID3D12GraphicsCommandList8 * This, | ||
| 34229 | _In_ D3D12_CPU_DESCRIPTOR_HANDLE DepthStencilView, | ||
| 34230 | _In_ D3D12_CLEAR_FLAGS ClearFlags, | ||
| 34231 | _In_ FLOAT Depth, | ||
| 34232 | _In_ UINT8 Stencil, | ||
| 34233 | _In_ UINT NumRects, | ||
| 34234 | _In_reads_(NumRects) const D3D12_RECT *pRects); | ||
| 34235 | |||
| 34236 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, ClearRenderTargetView) | ||
| 34237 | void ( STDMETHODCALLTYPE *ClearRenderTargetView )( | ||
| 34238 | ID3D12GraphicsCommandList8 * This, | ||
| 34239 | _In_ D3D12_CPU_DESCRIPTOR_HANDLE RenderTargetView, | ||
| 34240 | _In_ const FLOAT ColorRGBA[ 4 ], | ||
| 34241 | _In_ UINT NumRects, | ||
| 34242 | _In_reads_(NumRects) const D3D12_RECT *pRects); | ||
| 34243 | |||
| 34244 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, ClearUnorderedAccessViewUint) | ||
| 34245 | void ( STDMETHODCALLTYPE *ClearUnorderedAccessViewUint )( | ||
| 34246 | ID3D12GraphicsCommandList8 * This, | ||
| 34247 | _In_ D3D12_GPU_DESCRIPTOR_HANDLE ViewGPUHandleInCurrentHeap, | ||
| 34248 | _In_ D3D12_CPU_DESCRIPTOR_HANDLE ViewCPUHandle, | ||
| 34249 | _In_ ID3D12Resource *pResource, | ||
| 34250 | _In_ const UINT Values[ 4 ], | ||
| 34251 | _In_ UINT NumRects, | ||
| 34252 | _In_reads_(NumRects) const D3D12_RECT *pRects); | ||
| 34253 | |||
| 34254 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, ClearUnorderedAccessViewFloat) | ||
| 34255 | void ( STDMETHODCALLTYPE *ClearUnorderedAccessViewFloat )( | ||
| 34256 | ID3D12GraphicsCommandList8 * This, | ||
| 34257 | _In_ D3D12_GPU_DESCRIPTOR_HANDLE ViewGPUHandleInCurrentHeap, | ||
| 34258 | _In_ D3D12_CPU_DESCRIPTOR_HANDLE ViewCPUHandle, | ||
| 34259 | _In_ ID3D12Resource *pResource, | ||
| 34260 | _In_ const FLOAT Values[ 4 ], | ||
| 34261 | _In_ UINT NumRects, | ||
| 34262 | _In_reads_(NumRects) const D3D12_RECT *pRects); | ||
| 34263 | |||
| 34264 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, DiscardResource) | ||
| 34265 | void ( STDMETHODCALLTYPE *DiscardResource )( | ||
| 34266 | ID3D12GraphicsCommandList8 * This, | ||
| 34267 | _In_ ID3D12Resource *pResource, | ||
| 34268 | _In_opt_ const D3D12_DISCARD_REGION *pRegion); | ||
| 34269 | |||
| 34270 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, BeginQuery) | ||
| 34271 | void ( STDMETHODCALLTYPE *BeginQuery )( | ||
| 34272 | ID3D12GraphicsCommandList8 * This, | ||
| 34273 | _In_ ID3D12QueryHeap *pQueryHeap, | ||
| 34274 | _In_ D3D12_QUERY_TYPE Type, | ||
| 34275 | _In_ UINT Index); | ||
| 34276 | |||
| 34277 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, EndQuery) | ||
| 34278 | void ( STDMETHODCALLTYPE *EndQuery )( | ||
| 34279 | ID3D12GraphicsCommandList8 * This, | ||
| 34280 | _In_ ID3D12QueryHeap *pQueryHeap, | ||
| 34281 | _In_ D3D12_QUERY_TYPE Type, | ||
| 34282 | _In_ UINT Index); | ||
| 34283 | |||
| 34284 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, ResolveQueryData) | ||
| 34285 | void ( STDMETHODCALLTYPE *ResolveQueryData )( | ||
| 34286 | ID3D12GraphicsCommandList8 * This, | ||
| 34287 | _In_ ID3D12QueryHeap *pQueryHeap, | ||
| 34288 | _In_ D3D12_QUERY_TYPE Type, | ||
| 34289 | _In_ UINT StartIndex, | ||
| 34290 | _In_ UINT NumQueries, | ||
| 34291 | _In_ ID3D12Resource *pDestinationBuffer, | ||
| 34292 | _In_ UINT64 AlignedDestinationBufferOffset); | ||
| 34293 | |||
| 34294 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetPredication) | ||
| 34295 | void ( STDMETHODCALLTYPE *SetPredication )( | ||
| 34296 | ID3D12GraphicsCommandList8 * This, | ||
| 34297 | _In_opt_ ID3D12Resource *pBuffer, | ||
| 34298 | _In_ UINT64 AlignedBufferOffset, | ||
| 34299 | _In_ D3D12_PREDICATION_OP Operation); | ||
| 34300 | |||
| 34301 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetMarker) | ||
| 34302 | void ( STDMETHODCALLTYPE *SetMarker )( | ||
| 34303 | ID3D12GraphicsCommandList8 * This, | ||
| 34304 | UINT Metadata, | ||
| 34305 | _In_reads_bytes_opt_(Size) const void *pData, | ||
| 34306 | UINT Size); | ||
| 34307 | |||
| 34308 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, BeginEvent) | ||
| 34309 | void ( STDMETHODCALLTYPE *BeginEvent )( | ||
| 34310 | ID3D12GraphicsCommandList8 * This, | ||
| 34311 | UINT Metadata, | ||
| 34312 | _In_reads_bytes_opt_(Size) const void *pData, | ||
| 34313 | UINT Size); | ||
| 34314 | |||
| 34315 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, EndEvent) | ||
| 34316 | void ( STDMETHODCALLTYPE *EndEvent )( | ||
| 34317 | ID3D12GraphicsCommandList8 * This); | ||
| 34318 | |||
| 34319 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, ExecuteIndirect) | ||
| 34320 | void ( STDMETHODCALLTYPE *ExecuteIndirect )( | ||
| 34321 | ID3D12GraphicsCommandList8 * This, | ||
| 34322 | _In_ ID3D12CommandSignature *pCommandSignature, | ||
| 34323 | _In_ UINT MaxCommandCount, | ||
| 34324 | _In_ ID3D12Resource *pArgumentBuffer, | ||
| 34325 | _In_ UINT64 ArgumentBufferOffset, | ||
| 34326 | _In_opt_ ID3D12Resource *pCountBuffer, | ||
| 34327 | _In_ UINT64 CountBufferOffset); | ||
| 34328 | |||
| 34329 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList1, AtomicCopyBufferUINT) | ||
| 34330 | void ( STDMETHODCALLTYPE *AtomicCopyBufferUINT )( | ||
| 34331 | ID3D12GraphicsCommandList8 * This, | ||
| 34332 | _In_ ID3D12Resource *pDstBuffer, | ||
| 34333 | UINT64 DstOffset, | ||
| 34334 | _In_ ID3D12Resource *pSrcBuffer, | ||
| 34335 | UINT64 SrcOffset, | ||
| 34336 | UINT Dependencies, | ||
| 34337 | _In_reads_(Dependencies) ID3D12Resource *const *ppDependentResources, | ||
| 34338 | _In_reads_(Dependencies) const D3D12_SUBRESOURCE_RANGE_UINT64 *pDependentSubresourceRanges); | ||
| 34339 | |||
| 34340 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList1, AtomicCopyBufferUINT64) | ||
| 34341 | void ( STDMETHODCALLTYPE *AtomicCopyBufferUINT64 )( | ||
| 34342 | ID3D12GraphicsCommandList8 * This, | ||
| 34343 | _In_ ID3D12Resource *pDstBuffer, | ||
| 34344 | UINT64 DstOffset, | ||
| 34345 | _In_ ID3D12Resource *pSrcBuffer, | ||
| 34346 | UINT64 SrcOffset, | ||
| 34347 | UINT Dependencies, | ||
| 34348 | _In_reads_(Dependencies) ID3D12Resource *const *ppDependentResources, | ||
| 34349 | _In_reads_(Dependencies) const D3D12_SUBRESOURCE_RANGE_UINT64 *pDependentSubresourceRanges); | ||
| 34350 | |||
| 34351 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList1, OMSetDepthBounds) | ||
| 34352 | void ( STDMETHODCALLTYPE *OMSetDepthBounds )( | ||
| 34353 | ID3D12GraphicsCommandList8 * This, | ||
| 34354 | _In_ FLOAT Min, | ||
| 34355 | _In_ FLOAT Max); | ||
| 34356 | |||
| 34357 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList1, SetSamplePositions) | ||
| 34358 | void ( STDMETHODCALLTYPE *SetSamplePositions )( | ||
| 34359 | ID3D12GraphicsCommandList8 * This, | ||
| 34360 | _In_ UINT NumSamplesPerPixel, | ||
| 34361 | _In_ UINT NumPixels, | ||
| 34362 | _In_reads_(NumSamplesPerPixel*NumPixels) D3D12_SAMPLE_POSITION *pSamplePositions); | ||
| 34363 | |||
| 34364 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList1, ResolveSubresourceRegion) | ||
| 34365 | void ( STDMETHODCALLTYPE *ResolveSubresourceRegion )( | ||
| 34366 | ID3D12GraphicsCommandList8 * This, | ||
| 34367 | _In_ ID3D12Resource *pDstResource, | ||
| 34368 | _In_ UINT DstSubresource, | ||
| 34369 | _In_ UINT DstX, | ||
| 34370 | _In_ UINT DstY, | ||
| 34371 | _In_ ID3D12Resource *pSrcResource, | ||
| 34372 | _In_ UINT SrcSubresource, | ||
| 34373 | _In_opt_ D3D12_RECT *pSrcRect, | ||
| 34374 | _In_ DXGI_FORMAT Format, | ||
| 34375 | _In_ D3D12_RESOLVE_MODE ResolveMode); | ||
| 34376 | |||
| 34377 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList1, SetViewInstanceMask) | ||
| 34378 | void ( STDMETHODCALLTYPE *SetViewInstanceMask )( | ||
| 34379 | ID3D12GraphicsCommandList8 * This, | ||
| 34380 | _In_ UINT Mask); | ||
| 34381 | |||
| 34382 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList2, WriteBufferImmediate) | ||
| 34383 | void ( STDMETHODCALLTYPE *WriteBufferImmediate )( | ||
| 34384 | ID3D12GraphicsCommandList8 * This, | ||
| 34385 | UINT Count, | ||
| 34386 | _In_reads_(Count) const D3D12_WRITEBUFFERIMMEDIATE_PARAMETER *pParams, | ||
| 34387 | _In_reads_opt_(Count) const D3D12_WRITEBUFFERIMMEDIATE_MODE *pModes); | ||
| 34388 | |||
| 34389 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList3, SetProtectedResourceSession) | ||
| 34390 | void ( STDMETHODCALLTYPE *SetProtectedResourceSession )( | ||
| 34391 | ID3D12GraphicsCommandList8 * This, | ||
| 34392 | _In_opt_ ID3D12ProtectedResourceSession *pProtectedResourceSession); | ||
| 34393 | |||
| 34394 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList4, BeginRenderPass) | ||
| 34395 | void ( STDMETHODCALLTYPE *BeginRenderPass )( | ||
| 34396 | ID3D12GraphicsCommandList8 * This, | ||
| 34397 | _In_ UINT NumRenderTargets, | ||
| 34398 | _In_reads_opt_(NumRenderTargets) const D3D12_RENDER_PASS_RENDER_TARGET_DESC *pRenderTargets, | ||
| 34399 | _In_opt_ const D3D12_RENDER_PASS_DEPTH_STENCIL_DESC *pDepthStencil, | ||
| 34400 | D3D12_RENDER_PASS_FLAGS Flags); | ||
| 34401 | |||
| 34402 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList4, EndRenderPass) | ||
| 34403 | void ( STDMETHODCALLTYPE *EndRenderPass )( | ||
| 34404 | ID3D12GraphicsCommandList8 * This); | ||
| 34405 | |||
| 34406 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList4, InitializeMetaCommand) | ||
| 34407 | void ( STDMETHODCALLTYPE *InitializeMetaCommand )( | ||
| 34408 | ID3D12GraphicsCommandList8 * This, | ||
| 34409 | _In_ ID3D12MetaCommand *pMetaCommand, | ||
| 34410 | _In_reads_bytes_opt_(InitializationParametersDataSizeInBytes) const void *pInitializationParametersData, | ||
| 34411 | _In_ SIZE_T InitializationParametersDataSizeInBytes); | ||
| 34412 | |||
| 34413 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList4, ExecuteMetaCommand) | ||
| 34414 | void ( STDMETHODCALLTYPE *ExecuteMetaCommand )( | ||
| 34415 | ID3D12GraphicsCommandList8 * This, | ||
| 34416 | _In_ ID3D12MetaCommand *pMetaCommand, | ||
| 34417 | _In_reads_bytes_opt_(ExecutionParametersDataSizeInBytes) const void *pExecutionParametersData, | ||
| 34418 | _In_ SIZE_T ExecutionParametersDataSizeInBytes); | ||
| 34419 | |||
| 34420 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList4, BuildRaytracingAccelerationStructure) | ||
| 34421 | void ( STDMETHODCALLTYPE *BuildRaytracingAccelerationStructure )( | ||
| 34422 | ID3D12GraphicsCommandList8 * This, | ||
| 34423 | _In_ const D3D12_BUILD_RAYTRACING_ACCELERATION_STRUCTURE_DESC *pDesc, | ||
| 34424 | _In_ UINT NumPostbuildInfoDescs, | ||
| 34425 | _In_reads_opt_(NumPostbuildInfoDescs) const D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_DESC *pPostbuildInfoDescs); | ||
| 34426 | |||
| 34427 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList4, EmitRaytracingAccelerationStructurePostbuildInfo) | ||
| 34428 | void ( STDMETHODCALLTYPE *EmitRaytracingAccelerationStructurePostbuildInfo )( | ||
| 34429 | ID3D12GraphicsCommandList8 * This, | ||
| 34430 | _In_ const D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_DESC *pDesc, | ||
| 34431 | _In_ UINT NumSourceAccelerationStructures, | ||
| 34432 | _In_reads_( NumSourceAccelerationStructures ) const D3D12_GPU_VIRTUAL_ADDRESS *pSourceAccelerationStructureData); | ||
| 34433 | |||
| 34434 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList4, CopyRaytracingAccelerationStructure) | ||
| 34435 | void ( STDMETHODCALLTYPE *CopyRaytracingAccelerationStructure )( | ||
| 34436 | ID3D12GraphicsCommandList8 * This, | ||
| 34437 | _In_ D3D12_GPU_VIRTUAL_ADDRESS DestAccelerationStructureData, | ||
| 34438 | _In_ D3D12_GPU_VIRTUAL_ADDRESS SourceAccelerationStructureData, | ||
| 34439 | _In_ D3D12_RAYTRACING_ACCELERATION_STRUCTURE_COPY_MODE Mode); | ||
| 34440 | |||
| 34441 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList4, SetPipelineState1) | ||
| 34442 | void ( STDMETHODCALLTYPE *SetPipelineState1 )( | ||
| 34443 | ID3D12GraphicsCommandList8 * This, | ||
| 34444 | _In_ ID3D12StateObject *pStateObject); | ||
| 34445 | |||
| 34446 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList4, DispatchRays) | ||
| 34447 | void ( STDMETHODCALLTYPE *DispatchRays )( | ||
| 34448 | ID3D12GraphicsCommandList8 * This, | ||
| 34449 | _In_ const D3D12_DISPATCH_RAYS_DESC *pDesc); | ||
| 34450 | |||
| 34451 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList5, RSSetShadingRate) | ||
| 34452 | void ( STDMETHODCALLTYPE *RSSetShadingRate )( | ||
| 34453 | ID3D12GraphicsCommandList8 * This, | ||
| 34454 | _In_ D3D12_SHADING_RATE baseShadingRate, | ||
| 34455 | _In_reads_opt_(D3D12_RS_SET_SHADING_RATE_COMBINER_COUNT) const D3D12_SHADING_RATE_COMBINER *combiners); | ||
| 34456 | |||
| 34457 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList5, RSSetShadingRateImage) | ||
| 34458 | void ( STDMETHODCALLTYPE *RSSetShadingRateImage )( | ||
| 34459 | ID3D12GraphicsCommandList8 * This, | ||
| 34460 | _In_opt_ ID3D12Resource *shadingRateImage); | ||
| 34461 | |||
| 34462 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList6, DispatchMesh) | ||
| 34463 | void ( STDMETHODCALLTYPE *DispatchMesh )( | ||
| 34464 | ID3D12GraphicsCommandList8 * This, | ||
| 34465 | _In_ UINT ThreadGroupCountX, | ||
| 34466 | _In_ UINT ThreadGroupCountY, | ||
| 34467 | _In_ UINT ThreadGroupCountZ); | ||
| 34468 | |||
| 34469 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList7, Barrier) | ||
| 34470 | void ( STDMETHODCALLTYPE *Barrier )( | ||
| 34471 | ID3D12GraphicsCommandList8 * This, | ||
| 34472 | UINT32 NumBarrierGroups, | ||
| 34473 | _In_reads_(NumBarrierGroups) const D3D12_BARRIER_GROUP *pBarrierGroups); | ||
| 34474 | |||
| 34475 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList8, OMSetFrontAndBackStencilRef) | ||
| 34476 | void ( STDMETHODCALLTYPE *OMSetFrontAndBackStencilRef )( | ||
| 34477 | ID3D12GraphicsCommandList8 * This, | ||
| 34478 | _In_ UINT FrontStencilRef, | ||
| 34479 | _In_ UINT BackStencilRef); | ||
| 34480 | |||
| 34481 | END_INTERFACE | ||
| 34482 | } ID3D12GraphicsCommandList8Vtbl; | ||
| 34483 | |||
| 34484 | interface ID3D12GraphicsCommandList8 | ||
| 34485 | { | ||
| 34486 | CONST_VTBL struct ID3D12GraphicsCommandList8Vtbl *lpVtbl; | ||
| 34487 | }; | ||
| 34488 | |||
| 34489 | |||
| 34490 | |||
| 34491 | #ifdef COBJMACROS | ||
| 34492 | |||
| 34493 | |||
| 34494 | #define ID3D12GraphicsCommandList8_QueryInterface(This,riid,ppvObject) \ | ||
| 34495 | ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) | ||
| 34496 | |||
| 34497 | #define ID3D12GraphicsCommandList8_AddRef(This) \ | ||
| 34498 | ( (This)->lpVtbl -> AddRef(This) ) | ||
| 34499 | |||
| 34500 | #define ID3D12GraphicsCommandList8_Release(This) \ | ||
| 34501 | ( (This)->lpVtbl -> Release(This) ) | ||
| 34502 | |||
| 34503 | |||
| 34504 | #define ID3D12GraphicsCommandList8_GetPrivateData(This,guid,pDataSize,pData) \ | ||
| 34505 | ( (This)->lpVtbl -> GetPrivateData(This,guid,pDataSize,pData) ) | ||
| 34506 | |||
| 34507 | #define ID3D12GraphicsCommandList8_SetPrivateData(This,guid,DataSize,pData) \ | ||
| 34508 | ( (This)->lpVtbl -> SetPrivateData(This,guid,DataSize,pData) ) | ||
| 34509 | |||
| 34510 | #define ID3D12GraphicsCommandList8_SetPrivateDataInterface(This,guid,pData) \ | ||
| 34511 | ( (This)->lpVtbl -> SetPrivateDataInterface(This,guid,pData) ) | ||
| 34512 | |||
| 34513 | #define ID3D12GraphicsCommandList8_SetName(This,Name) \ | ||
| 34514 | ( (This)->lpVtbl -> SetName(This,Name) ) | ||
| 34515 | |||
| 34516 | |||
| 34517 | #define ID3D12GraphicsCommandList8_GetDevice(This,riid,ppvDevice) \ | ||
| 34518 | ( (This)->lpVtbl -> GetDevice(This,riid,ppvDevice) ) | ||
| 34519 | |||
| 34520 | |||
| 34521 | #define ID3D12GraphicsCommandList8_GetType(This) \ | ||
| 34522 | ( (This)->lpVtbl -> GetType(This) ) | ||
| 34523 | |||
| 34524 | |||
| 34525 | #define ID3D12GraphicsCommandList8_Close(This) \ | ||
| 34526 | ( (This)->lpVtbl -> Close(This) ) | ||
| 34527 | |||
| 34528 | #define ID3D12GraphicsCommandList8_Reset(This,pAllocator,pInitialState) \ | ||
| 34529 | ( (This)->lpVtbl -> Reset(This,pAllocator,pInitialState) ) | ||
| 34530 | |||
| 34531 | #define ID3D12GraphicsCommandList8_ClearState(This,pPipelineState) \ | ||
| 34532 | ( (This)->lpVtbl -> ClearState(This,pPipelineState) ) | ||
| 34533 | |||
| 34534 | #define ID3D12GraphicsCommandList8_DrawInstanced(This,VertexCountPerInstance,InstanceCount,StartVertexLocation,StartInstanceLocation) \ | ||
| 34535 | ( (This)->lpVtbl -> DrawInstanced(This,VertexCountPerInstance,InstanceCount,StartVertexLocation,StartInstanceLocation) ) | ||
| 34536 | |||
| 34537 | #define ID3D12GraphicsCommandList8_DrawIndexedInstanced(This,IndexCountPerInstance,InstanceCount,StartIndexLocation,BaseVertexLocation,StartInstanceLocation) \ | ||
| 34538 | ( (This)->lpVtbl -> DrawIndexedInstanced(This,IndexCountPerInstance,InstanceCount,StartIndexLocation,BaseVertexLocation,StartInstanceLocation) ) | ||
| 34539 | |||
| 34540 | #define ID3D12GraphicsCommandList8_Dispatch(This,ThreadGroupCountX,ThreadGroupCountY,ThreadGroupCountZ) \ | ||
| 34541 | ( (This)->lpVtbl -> Dispatch(This,ThreadGroupCountX,ThreadGroupCountY,ThreadGroupCountZ) ) | ||
| 34542 | |||
| 34543 | #define ID3D12GraphicsCommandList8_CopyBufferRegion(This,pDstBuffer,DstOffset,pSrcBuffer,SrcOffset,NumBytes) \ | ||
| 34544 | ( (This)->lpVtbl -> CopyBufferRegion(This,pDstBuffer,DstOffset,pSrcBuffer,SrcOffset,NumBytes) ) | ||
| 34545 | |||
| 34546 | #define ID3D12GraphicsCommandList8_CopyTextureRegion(This,pDst,DstX,DstY,DstZ,pSrc,pSrcBox) \ | ||
| 34547 | ( (This)->lpVtbl -> CopyTextureRegion(This,pDst,DstX,DstY,DstZ,pSrc,pSrcBox) ) | ||
| 34548 | |||
| 34549 | #define ID3D12GraphicsCommandList8_CopyResource(This,pDstResource,pSrcResource) \ | ||
| 34550 | ( (This)->lpVtbl -> CopyResource(This,pDstResource,pSrcResource) ) | ||
| 34551 | |||
| 34552 | #define ID3D12GraphicsCommandList8_CopyTiles(This,pTiledResource,pTileRegionStartCoordinate,pTileRegionSize,pBuffer,BufferStartOffsetInBytes,Flags) \ | ||
| 34553 | ( (This)->lpVtbl -> CopyTiles(This,pTiledResource,pTileRegionStartCoordinate,pTileRegionSize,pBuffer,BufferStartOffsetInBytes,Flags) ) | ||
| 34554 | |||
| 34555 | #define ID3D12GraphicsCommandList8_ResolveSubresource(This,pDstResource,DstSubresource,pSrcResource,SrcSubresource,Format) \ | ||
| 34556 | ( (This)->lpVtbl -> ResolveSubresource(This,pDstResource,DstSubresource,pSrcResource,SrcSubresource,Format) ) | ||
| 34557 | |||
| 34558 | #define ID3D12GraphicsCommandList8_IASetPrimitiveTopology(This,PrimitiveTopology) \ | ||
| 34559 | ( (This)->lpVtbl -> IASetPrimitiveTopology(This,PrimitiveTopology) ) | ||
| 34560 | |||
| 34561 | #define ID3D12GraphicsCommandList8_RSSetViewports(This,NumViewports,pViewports) \ | ||
| 34562 | ( (This)->lpVtbl -> RSSetViewports(This,NumViewports,pViewports) ) | ||
| 34563 | |||
| 34564 | #define ID3D12GraphicsCommandList8_RSSetScissorRects(This,NumRects,pRects) \ | ||
| 34565 | ( (This)->lpVtbl -> RSSetScissorRects(This,NumRects,pRects) ) | ||
| 34566 | |||
| 34567 | #define ID3D12GraphicsCommandList8_OMSetBlendFactor(This,BlendFactor) \ | ||
| 34568 | ( (This)->lpVtbl -> OMSetBlendFactor(This,BlendFactor) ) | ||
| 34569 | |||
| 34570 | #define ID3D12GraphicsCommandList8_OMSetStencilRef(This,StencilRef) \ | ||
| 34571 | ( (This)->lpVtbl -> OMSetStencilRef(This,StencilRef) ) | ||
| 34572 | |||
| 34573 | #define ID3D12GraphicsCommandList8_SetPipelineState(This,pPipelineState) \ | ||
| 34574 | ( (This)->lpVtbl -> SetPipelineState(This,pPipelineState) ) | ||
| 34575 | |||
| 34576 | #define ID3D12GraphicsCommandList8_ResourceBarrier(This,NumBarriers,pBarriers) \ | ||
| 34577 | ( (This)->lpVtbl -> ResourceBarrier(This,NumBarriers,pBarriers) ) | ||
| 34578 | |||
| 34579 | #define ID3D12GraphicsCommandList8_ExecuteBundle(This,pCommandList) \ | ||
| 34580 | ( (This)->lpVtbl -> ExecuteBundle(This,pCommandList) ) | ||
| 34581 | |||
| 34582 | #define ID3D12GraphicsCommandList8_SetDescriptorHeaps(This,NumDescriptorHeaps,ppDescriptorHeaps) \ | ||
| 34583 | ( (This)->lpVtbl -> SetDescriptorHeaps(This,NumDescriptorHeaps,ppDescriptorHeaps) ) | ||
| 34584 | |||
| 34585 | #define ID3D12GraphicsCommandList8_SetComputeRootSignature(This,pRootSignature) \ | ||
| 34586 | ( (This)->lpVtbl -> SetComputeRootSignature(This,pRootSignature) ) | ||
| 34587 | |||
| 34588 | #define ID3D12GraphicsCommandList8_SetGraphicsRootSignature(This,pRootSignature) \ | ||
| 34589 | ( (This)->lpVtbl -> SetGraphicsRootSignature(This,pRootSignature) ) | ||
| 34590 | |||
| 34591 | #define ID3D12GraphicsCommandList8_SetComputeRootDescriptorTable(This,RootParameterIndex,BaseDescriptor) \ | ||
| 34592 | ( (This)->lpVtbl -> SetComputeRootDescriptorTable(This,RootParameterIndex,BaseDescriptor) ) | ||
| 34593 | |||
| 34594 | #define ID3D12GraphicsCommandList8_SetGraphicsRootDescriptorTable(This,RootParameterIndex,BaseDescriptor) \ | ||
| 34595 | ( (This)->lpVtbl -> SetGraphicsRootDescriptorTable(This,RootParameterIndex,BaseDescriptor) ) | ||
| 34596 | |||
| 34597 | #define ID3D12GraphicsCommandList8_SetComputeRoot32BitConstant(This,RootParameterIndex,SrcData,DestOffsetIn32BitValues) \ | ||
| 34598 | ( (This)->lpVtbl -> SetComputeRoot32BitConstant(This,RootParameterIndex,SrcData,DestOffsetIn32BitValues) ) | ||
| 34599 | |||
| 34600 | #define ID3D12GraphicsCommandList8_SetGraphicsRoot32BitConstant(This,RootParameterIndex,SrcData,DestOffsetIn32BitValues) \ | ||
| 34601 | ( (This)->lpVtbl -> SetGraphicsRoot32BitConstant(This,RootParameterIndex,SrcData,DestOffsetIn32BitValues) ) | ||
| 34602 | |||
| 34603 | #define ID3D12GraphicsCommandList8_SetComputeRoot32BitConstants(This,RootParameterIndex,Num32BitValuesToSet,pSrcData,DestOffsetIn32BitValues) \ | ||
| 34604 | ( (This)->lpVtbl -> SetComputeRoot32BitConstants(This,RootParameterIndex,Num32BitValuesToSet,pSrcData,DestOffsetIn32BitValues) ) | ||
| 34605 | |||
| 34606 | #define ID3D12GraphicsCommandList8_SetGraphicsRoot32BitConstants(This,RootParameterIndex,Num32BitValuesToSet,pSrcData,DestOffsetIn32BitValues) \ | ||
| 34607 | ( (This)->lpVtbl -> SetGraphicsRoot32BitConstants(This,RootParameterIndex,Num32BitValuesToSet,pSrcData,DestOffsetIn32BitValues) ) | ||
| 34608 | |||
| 34609 | #define ID3D12GraphicsCommandList8_SetComputeRootConstantBufferView(This,RootParameterIndex,BufferLocation) \ | ||
| 34610 | ( (This)->lpVtbl -> SetComputeRootConstantBufferView(This,RootParameterIndex,BufferLocation) ) | ||
| 34611 | |||
| 34612 | #define ID3D12GraphicsCommandList8_SetGraphicsRootConstantBufferView(This,RootParameterIndex,BufferLocation) \ | ||
| 34613 | ( (This)->lpVtbl -> SetGraphicsRootConstantBufferView(This,RootParameterIndex,BufferLocation) ) | ||
| 34614 | |||
| 34615 | #define ID3D12GraphicsCommandList8_SetComputeRootShaderResourceView(This,RootParameterIndex,BufferLocation) \ | ||
| 34616 | ( (This)->lpVtbl -> SetComputeRootShaderResourceView(This,RootParameterIndex,BufferLocation) ) | ||
| 34617 | |||
| 34618 | #define ID3D12GraphicsCommandList8_SetGraphicsRootShaderResourceView(This,RootParameterIndex,BufferLocation) \ | ||
| 34619 | ( (This)->lpVtbl -> SetGraphicsRootShaderResourceView(This,RootParameterIndex,BufferLocation) ) | ||
| 34620 | |||
| 34621 | #define ID3D12GraphicsCommandList8_SetComputeRootUnorderedAccessView(This,RootParameterIndex,BufferLocation) \ | ||
| 34622 | ( (This)->lpVtbl -> SetComputeRootUnorderedAccessView(This,RootParameterIndex,BufferLocation) ) | ||
| 34623 | |||
| 34624 | #define ID3D12GraphicsCommandList8_SetGraphicsRootUnorderedAccessView(This,RootParameterIndex,BufferLocation) \ | ||
| 34625 | ( (This)->lpVtbl -> SetGraphicsRootUnorderedAccessView(This,RootParameterIndex,BufferLocation) ) | ||
| 34626 | |||
| 34627 | #define ID3D12GraphicsCommandList8_IASetIndexBuffer(This,pView) \ | ||
| 34628 | ( (This)->lpVtbl -> IASetIndexBuffer(This,pView) ) | ||
| 34629 | |||
| 34630 | #define ID3D12GraphicsCommandList8_IASetVertexBuffers(This,StartSlot,NumViews,pViews) \ | ||
| 34631 | ( (This)->lpVtbl -> IASetVertexBuffers(This,StartSlot,NumViews,pViews) ) | ||
| 34632 | |||
| 34633 | #define ID3D12GraphicsCommandList8_SOSetTargets(This,StartSlot,NumViews,pViews) \ | ||
| 34634 | ( (This)->lpVtbl -> SOSetTargets(This,StartSlot,NumViews,pViews) ) | ||
| 34635 | |||
| 34636 | #define ID3D12GraphicsCommandList8_OMSetRenderTargets(This,NumRenderTargetDescriptors,pRenderTargetDescriptors,RTsSingleHandleToDescriptorRange,pDepthStencilDescriptor) \ | ||
| 34637 | ( (This)->lpVtbl -> OMSetRenderTargets(This,NumRenderTargetDescriptors,pRenderTargetDescriptors,RTsSingleHandleToDescriptorRange,pDepthStencilDescriptor) ) | ||
| 34638 | |||
| 34639 | #define ID3D12GraphicsCommandList8_ClearDepthStencilView(This,DepthStencilView,ClearFlags,Depth,Stencil,NumRects,pRects) \ | ||
| 34640 | ( (This)->lpVtbl -> ClearDepthStencilView(This,DepthStencilView,ClearFlags,Depth,Stencil,NumRects,pRects) ) | ||
| 34641 | |||
| 34642 | #define ID3D12GraphicsCommandList8_ClearRenderTargetView(This,RenderTargetView,ColorRGBA,NumRects,pRects) \ | ||
| 34643 | ( (This)->lpVtbl -> ClearRenderTargetView(This,RenderTargetView,ColorRGBA,NumRects,pRects) ) | ||
| 34644 | |||
| 34645 | #define ID3D12GraphicsCommandList8_ClearUnorderedAccessViewUint(This,ViewGPUHandleInCurrentHeap,ViewCPUHandle,pResource,Values,NumRects,pRects) \ | ||
| 34646 | ( (This)->lpVtbl -> ClearUnorderedAccessViewUint(This,ViewGPUHandleInCurrentHeap,ViewCPUHandle,pResource,Values,NumRects,pRects) ) | ||
| 34647 | |||
| 34648 | #define ID3D12GraphicsCommandList8_ClearUnorderedAccessViewFloat(This,ViewGPUHandleInCurrentHeap,ViewCPUHandle,pResource,Values,NumRects,pRects) \ | ||
| 34649 | ( (This)->lpVtbl -> ClearUnorderedAccessViewFloat(This,ViewGPUHandleInCurrentHeap,ViewCPUHandle,pResource,Values,NumRects,pRects) ) | ||
| 34650 | |||
| 34651 | #define ID3D12GraphicsCommandList8_DiscardResource(This,pResource,pRegion) \ | ||
| 34652 | ( (This)->lpVtbl -> DiscardResource(This,pResource,pRegion) ) | ||
| 34653 | |||
| 34654 | #define ID3D12GraphicsCommandList8_BeginQuery(This,pQueryHeap,Type,Index) \ | ||
| 34655 | ( (This)->lpVtbl -> BeginQuery(This,pQueryHeap,Type,Index) ) | ||
| 34656 | |||
| 34657 | #define ID3D12GraphicsCommandList8_EndQuery(This,pQueryHeap,Type,Index) \ | ||
| 34658 | ( (This)->lpVtbl -> EndQuery(This,pQueryHeap,Type,Index) ) | ||
| 34659 | |||
| 34660 | #define ID3D12GraphicsCommandList8_ResolveQueryData(This,pQueryHeap,Type,StartIndex,NumQueries,pDestinationBuffer,AlignedDestinationBufferOffset) \ | ||
| 34661 | ( (This)->lpVtbl -> ResolveQueryData(This,pQueryHeap,Type,StartIndex,NumQueries,pDestinationBuffer,AlignedDestinationBufferOffset) ) | ||
| 34662 | |||
| 34663 | #define ID3D12GraphicsCommandList8_SetPredication(This,pBuffer,AlignedBufferOffset,Operation) \ | ||
| 34664 | ( (This)->lpVtbl -> SetPredication(This,pBuffer,AlignedBufferOffset,Operation) ) | ||
| 34665 | |||
| 34666 | #define ID3D12GraphicsCommandList8_SetMarker(This,Metadata,pData,Size) \ | ||
| 34667 | ( (This)->lpVtbl -> SetMarker(This,Metadata,pData,Size) ) | ||
| 34668 | |||
| 34669 | #define ID3D12GraphicsCommandList8_BeginEvent(This,Metadata,pData,Size) \ | ||
| 34670 | ( (This)->lpVtbl -> BeginEvent(This,Metadata,pData,Size) ) | ||
| 34671 | |||
| 34672 | #define ID3D12GraphicsCommandList8_EndEvent(This) \ | ||
| 34673 | ( (This)->lpVtbl -> EndEvent(This) ) | ||
| 34674 | |||
| 34675 | #define ID3D12GraphicsCommandList8_ExecuteIndirect(This,pCommandSignature,MaxCommandCount,pArgumentBuffer,ArgumentBufferOffset,pCountBuffer,CountBufferOffset) \ | ||
| 34676 | ( (This)->lpVtbl -> ExecuteIndirect(This,pCommandSignature,MaxCommandCount,pArgumentBuffer,ArgumentBufferOffset,pCountBuffer,CountBufferOffset) ) | ||
| 34677 | |||
| 34678 | |||
| 34679 | #define ID3D12GraphicsCommandList8_AtomicCopyBufferUINT(This,pDstBuffer,DstOffset,pSrcBuffer,SrcOffset,Dependencies,ppDependentResources,pDependentSubresourceRanges) \ | ||
| 34680 | ( (This)->lpVtbl -> AtomicCopyBufferUINT(This,pDstBuffer,DstOffset,pSrcBuffer,SrcOffset,Dependencies,ppDependentResources,pDependentSubresourceRanges) ) | ||
| 34681 | |||
| 34682 | #define ID3D12GraphicsCommandList8_AtomicCopyBufferUINT64(This,pDstBuffer,DstOffset,pSrcBuffer,SrcOffset,Dependencies,ppDependentResources,pDependentSubresourceRanges) \ | ||
| 34683 | ( (This)->lpVtbl -> AtomicCopyBufferUINT64(This,pDstBuffer,DstOffset,pSrcBuffer,SrcOffset,Dependencies,ppDependentResources,pDependentSubresourceRanges) ) | ||
| 34684 | |||
| 34685 | #define ID3D12GraphicsCommandList8_OMSetDepthBounds(This,Min,Max) \ | ||
| 34686 | ( (This)->lpVtbl -> OMSetDepthBounds(This,Min,Max) ) | ||
| 34687 | |||
| 34688 | #define ID3D12GraphicsCommandList8_SetSamplePositions(This,NumSamplesPerPixel,NumPixels,pSamplePositions) \ | ||
| 34689 | ( (This)->lpVtbl -> SetSamplePositions(This,NumSamplesPerPixel,NumPixels,pSamplePositions) ) | ||
| 34690 | |||
| 34691 | #define ID3D12GraphicsCommandList8_ResolveSubresourceRegion(This,pDstResource,DstSubresource,DstX,DstY,pSrcResource,SrcSubresource,pSrcRect,Format,ResolveMode) \ | ||
| 34692 | ( (This)->lpVtbl -> ResolveSubresourceRegion(This,pDstResource,DstSubresource,DstX,DstY,pSrcResource,SrcSubresource,pSrcRect,Format,ResolveMode) ) | ||
| 34693 | |||
| 34694 | #define ID3D12GraphicsCommandList8_SetViewInstanceMask(This,Mask) \ | ||
| 34695 | ( (This)->lpVtbl -> SetViewInstanceMask(This,Mask) ) | ||
| 34696 | |||
| 34697 | |||
| 34698 | #define ID3D12GraphicsCommandList8_WriteBufferImmediate(This,Count,pParams,pModes) \ | ||
| 34699 | ( (This)->lpVtbl -> WriteBufferImmediate(This,Count,pParams,pModes) ) | ||
| 34700 | |||
| 34701 | |||
| 34702 | #define ID3D12GraphicsCommandList8_SetProtectedResourceSession(This,pProtectedResourceSession) \ | ||
| 34703 | ( (This)->lpVtbl -> SetProtectedResourceSession(This,pProtectedResourceSession) ) | ||
| 34704 | |||
| 34705 | |||
| 34706 | #define ID3D12GraphicsCommandList8_BeginRenderPass(This,NumRenderTargets,pRenderTargets,pDepthStencil,Flags) \ | ||
| 34707 | ( (This)->lpVtbl -> BeginRenderPass(This,NumRenderTargets,pRenderTargets,pDepthStencil,Flags) ) | ||
| 34708 | |||
| 34709 | #define ID3D12GraphicsCommandList8_EndRenderPass(This) \ | ||
| 34710 | ( (This)->lpVtbl -> EndRenderPass(This) ) | ||
| 34711 | |||
| 34712 | #define ID3D12GraphicsCommandList8_InitializeMetaCommand(This,pMetaCommand,pInitializationParametersData,InitializationParametersDataSizeInBytes) \ | ||
| 34713 | ( (This)->lpVtbl -> InitializeMetaCommand(This,pMetaCommand,pInitializationParametersData,InitializationParametersDataSizeInBytes) ) | ||
| 34714 | |||
| 34715 | #define ID3D12GraphicsCommandList8_ExecuteMetaCommand(This,pMetaCommand,pExecutionParametersData,ExecutionParametersDataSizeInBytes) \ | ||
| 34716 | ( (This)->lpVtbl -> ExecuteMetaCommand(This,pMetaCommand,pExecutionParametersData,ExecutionParametersDataSizeInBytes) ) | ||
| 34717 | |||
| 34718 | #define ID3D12GraphicsCommandList8_BuildRaytracingAccelerationStructure(This,pDesc,NumPostbuildInfoDescs,pPostbuildInfoDescs) \ | ||
| 34719 | ( (This)->lpVtbl -> BuildRaytracingAccelerationStructure(This,pDesc,NumPostbuildInfoDescs,pPostbuildInfoDescs) ) | ||
| 34720 | |||
| 34721 | #define ID3D12GraphicsCommandList8_EmitRaytracingAccelerationStructurePostbuildInfo(This,pDesc,NumSourceAccelerationStructures,pSourceAccelerationStructureData) \ | ||
| 34722 | ( (This)->lpVtbl -> EmitRaytracingAccelerationStructurePostbuildInfo(This,pDesc,NumSourceAccelerationStructures,pSourceAccelerationStructureData) ) | ||
| 34723 | |||
| 34724 | #define ID3D12GraphicsCommandList8_CopyRaytracingAccelerationStructure(This,DestAccelerationStructureData,SourceAccelerationStructureData,Mode) \ | ||
| 34725 | ( (This)->lpVtbl -> CopyRaytracingAccelerationStructure(This,DestAccelerationStructureData,SourceAccelerationStructureData,Mode) ) | ||
| 34726 | |||
| 34727 | #define ID3D12GraphicsCommandList8_SetPipelineState1(This,pStateObject) \ | ||
| 34728 | ( (This)->lpVtbl -> SetPipelineState1(This,pStateObject) ) | ||
| 34729 | |||
| 34730 | #define ID3D12GraphicsCommandList8_DispatchRays(This,pDesc) \ | ||
| 34731 | ( (This)->lpVtbl -> DispatchRays(This,pDesc) ) | ||
| 34732 | |||
| 34733 | |||
| 34734 | #define ID3D12GraphicsCommandList8_RSSetShadingRate(This,baseShadingRate,combiners) \ | ||
| 34735 | ( (This)->lpVtbl -> RSSetShadingRate(This,baseShadingRate,combiners) ) | ||
| 34736 | |||
| 34737 | #define ID3D12GraphicsCommandList8_RSSetShadingRateImage(This,shadingRateImage) \ | ||
| 34738 | ( (This)->lpVtbl -> RSSetShadingRateImage(This,shadingRateImage) ) | ||
| 34739 | |||
| 34740 | |||
| 34741 | #define ID3D12GraphicsCommandList8_DispatchMesh(This,ThreadGroupCountX,ThreadGroupCountY,ThreadGroupCountZ) \ | ||
| 34742 | ( (This)->lpVtbl -> DispatchMesh(This,ThreadGroupCountX,ThreadGroupCountY,ThreadGroupCountZ) ) | ||
| 34743 | |||
| 34744 | |||
| 34745 | #define ID3D12GraphicsCommandList8_Barrier(This,NumBarrierGroups,pBarrierGroups) \ | ||
| 34746 | ( (This)->lpVtbl -> Barrier(This,NumBarrierGroups,pBarrierGroups) ) | ||
| 34747 | |||
| 34748 | |||
| 34749 | #define ID3D12GraphicsCommandList8_OMSetFrontAndBackStencilRef(This,FrontStencilRef,BackStencilRef) \ | ||
| 34750 | ( (This)->lpVtbl -> OMSetFrontAndBackStencilRef(This,FrontStencilRef,BackStencilRef) ) | ||
| 34751 | |||
| 34752 | #endif /* COBJMACROS */ | ||
| 34753 | |||
| 34754 | |||
| 34755 | #endif /* C style interface */ | ||
| 34756 | |||
| 34757 | |||
| 34758 | |||
| 34759 | |||
| 34760 | #endif /* __ID3D12GraphicsCommandList8_INTERFACE_DEFINED__ */ | ||
| 34761 | |||
| 34762 | |||
| 34763 | #ifndef __ID3D12GraphicsCommandList9_INTERFACE_DEFINED__ | ||
| 34764 | #define __ID3D12GraphicsCommandList9_INTERFACE_DEFINED__ | ||
| 34765 | |||
| 34766 | /* interface ID3D12GraphicsCommandList9 */ | ||
| 34767 | /* [unique][local][object][uuid] */ | ||
| 34768 | |||
| 34769 | |||
| 34770 | EXTERN_C const IID IID_ID3D12GraphicsCommandList9; | ||
| 34771 | |||
| 34772 | #if defined(__cplusplus) && !defined(CINTERFACE) | ||
| 34773 | |||
| 34774 | MIDL_INTERFACE("34ed2808-ffe6-4c2b-b11a-cabd2b0c59e1") | ||
| 34775 | ID3D12GraphicsCommandList9 : public ID3D12GraphicsCommandList8 | ||
| 34776 | { | ||
| 34777 | public: | ||
| 34778 | virtual void STDMETHODCALLTYPE RSSetDepthBias( | ||
| 34779 | _In_ FLOAT DepthBias, | ||
| 34780 | _In_ FLOAT DepthBiasClamp, | ||
| 34781 | _In_ FLOAT SlopeScaledDepthBias) = 0; | ||
| 34782 | |||
| 34783 | virtual void STDMETHODCALLTYPE IASetIndexBufferStripCutValue( | ||
| 34784 | _In_ D3D12_INDEX_BUFFER_STRIP_CUT_VALUE IBStripCutValue) = 0; | ||
| 34785 | |||
| 34786 | }; | ||
| 34787 | |||
| 34788 | |||
| 34789 | #else /* C style interface */ | ||
| 34790 | |||
| 34791 | typedef struct ID3D12GraphicsCommandList9Vtbl | ||
| 34792 | { | ||
| 34793 | BEGIN_INTERFACE | ||
| 34794 | |||
| 34795 | DECLSPEC_XFGVIRT(IUnknown, QueryInterface) | ||
| 34796 | HRESULT ( STDMETHODCALLTYPE *QueryInterface )( | ||
| 34797 | ID3D12GraphicsCommandList9 * This, | ||
| 34798 | REFIID riid, | ||
| 34799 | _COM_Outptr_ void **ppvObject); | ||
| 34800 | |||
| 34801 | DECLSPEC_XFGVIRT(IUnknown, AddRef) | ||
| 34802 | ULONG ( STDMETHODCALLTYPE *AddRef )( | ||
| 34803 | ID3D12GraphicsCommandList9 * This); | ||
| 34804 | |||
| 34805 | DECLSPEC_XFGVIRT(IUnknown, Release) | ||
| 34806 | ULONG ( STDMETHODCALLTYPE *Release )( | ||
| 34807 | ID3D12GraphicsCommandList9 * This); | ||
| 34808 | |||
| 34809 | DECLSPEC_XFGVIRT(ID3D12Object, GetPrivateData) | ||
| 34810 | HRESULT ( STDMETHODCALLTYPE *GetPrivateData )( | ||
| 34811 | ID3D12GraphicsCommandList9 * This, | ||
| 34812 | _In_ REFGUID guid, | ||
| 34813 | _Inout_ UINT *pDataSize, | ||
| 34814 | _Out_writes_bytes_opt_( *pDataSize ) void *pData); | ||
| 34815 | |||
| 34816 | DECLSPEC_XFGVIRT(ID3D12Object, SetPrivateData) | ||
| 34817 | HRESULT ( STDMETHODCALLTYPE *SetPrivateData )( | ||
| 34818 | ID3D12GraphicsCommandList9 * This, | ||
| 34819 | _In_ REFGUID guid, | ||
| 34820 | _In_ UINT DataSize, | ||
| 34821 | _In_reads_bytes_opt_( DataSize ) const void *pData); | ||
| 34822 | |||
| 34823 | DECLSPEC_XFGVIRT(ID3D12Object, SetPrivateDataInterface) | ||
| 34824 | HRESULT ( STDMETHODCALLTYPE *SetPrivateDataInterface )( | ||
| 34825 | ID3D12GraphicsCommandList9 * This, | ||
| 34826 | _In_ REFGUID guid, | ||
| 34827 | _In_opt_ const IUnknown *pData); | ||
| 34828 | |||
| 34829 | DECLSPEC_XFGVIRT(ID3D12Object, SetName) | ||
| 34830 | HRESULT ( STDMETHODCALLTYPE *SetName )( | ||
| 34831 | ID3D12GraphicsCommandList9 * This, | ||
| 34832 | _In_z_ LPCWSTR Name); | ||
| 34833 | |||
| 34834 | DECLSPEC_XFGVIRT(ID3D12DeviceChild, GetDevice) | ||
| 34835 | HRESULT ( STDMETHODCALLTYPE *GetDevice )( | ||
| 34836 | ID3D12GraphicsCommandList9 * This, | ||
| 34837 | REFIID riid, | ||
| 34838 | _COM_Outptr_opt_ void **ppvDevice); | ||
| 34839 | |||
| 34840 | DECLSPEC_XFGVIRT(ID3D12CommandList, GetType) | ||
| 34841 | D3D12_COMMAND_LIST_TYPE ( STDMETHODCALLTYPE *GetType )( | ||
| 34842 | ID3D12GraphicsCommandList9 * This); | ||
| 34843 | |||
| 34844 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, Close) | ||
| 34845 | HRESULT ( STDMETHODCALLTYPE *Close )( | ||
| 34846 | ID3D12GraphicsCommandList9 * This); | ||
| 34847 | |||
| 34848 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, Reset) | ||
| 34849 | HRESULT ( STDMETHODCALLTYPE *Reset )( | ||
| 34850 | ID3D12GraphicsCommandList9 * This, | ||
| 34851 | _In_ ID3D12CommandAllocator *pAllocator, | ||
| 34852 | _In_opt_ ID3D12PipelineState *pInitialState); | ||
| 34853 | |||
| 34854 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, ClearState) | ||
| 34855 | void ( STDMETHODCALLTYPE *ClearState )( | ||
| 34856 | ID3D12GraphicsCommandList9 * This, | ||
| 34857 | _In_opt_ ID3D12PipelineState *pPipelineState); | ||
| 34858 | |||
| 34859 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, DrawInstanced) | ||
| 34860 | void ( STDMETHODCALLTYPE *DrawInstanced )( | ||
| 34861 | ID3D12GraphicsCommandList9 * This, | ||
| 34862 | _In_ UINT VertexCountPerInstance, | ||
| 34863 | _In_ UINT InstanceCount, | ||
| 34864 | _In_ UINT StartVertexLocation, | ||
| 34865 | _In_ UINT StartInstanceLocation); | ||
| 34866 | |||
| 34867 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, DrawIndexedInstanced) | ||
| 34868 | void ( STDMETHODCALLTYPE *DrawIndexedInstanced )( | ||
| 34869 | ID3D12GraphicsCommandList9 * This, | ||
| 34870 | _In_ UINT IndexCountPerInstance, | ||
| 34871 | _In_ UINT InstanceCount, | ||
| 34872 | _In_ UINT StartIndexLocation, | ||
| 34873 | _In_ INT BaseVertexLocation, | ||
| 34874 | _In_ UINT StartInstanceLocation); | ||
| 34875 | |||
| 34876 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, Dispatch) | ||
| 34877 | void ( STDMETHODCALLTYPE *Dispatch )( | ||
| 34878 | ID3D12GraphicsCommandList9 * This, | ||
| 34879 | _In_ UINT ThreadGroupCountX, | ||
| 34880 | _In_ UINT ThreadGroupCountY, | ||
| 34881 | _In_ UINT ThreadGroupCountZ); | ||
| 34882 | |||
| 34883 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, CopyBufferRegion) | ||
| 34884 | void ( STDMETHODCALLTYPE *CopyBufferRegion )( | ||
| 34885 | ID3D12GraphicsCommandList9 * This, | ||
| 34886 | _In_ ID3D12Resource *pDstBuffer, | ||
| 34887 | UINT64 DstOffset, | ||
| 34888 | _In_ ID3D12Resource *pSrcBuffer, | ||
| 34889 | UINT64 SrcOffset, | ||
| 34890 | UINT64 NumBytes); | ||
| 34891 | |||
| 34892 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, CopyTextureRegion) | ||
| 34893 | void ( STDMETHODCALLTYPE *CopyTextureRegion )( | ||
| 34894 | ID3D12GraphicsCommandList9 * This, | ||
| 34895 | _In_ const D3D12_TEXTURE_COPY_LOCATION *pDst, | ||
| 34896 | UINT DstX, | ||
| 34897 | UINT DstY, | ||
| 34898 | UINT DstZ, | ||
| 34899 | _In_ const D3D12_TEXTURE_COPY_LOCATION *pSrc, | ||
| 34900 | _In_opt_ const D3D12_BOX *pSrcBox); | ||
| 34901 | |||
| 34902 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, CopyResource) | ||
| 34903 | void ( STDMETHODCALLTYPE *CopyResource )( | ||
| 34904 | ID3D12GraphicsCommandList9 * This, | ||
| 34905 | _In_ ID3D12Resource *pDstResource, | ||
| 34906 | _In_ ID3D12Resource *pSrcResource); | ||
| 34907 | |||
| 34908 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, CopyTiles) | ||
| 34909 | void ( STDMETHODCALLTYPE *CopyTiles )( | ||
| 34910 | ID3D12GraphicsCommandList9 * This, | ||
| 34911 | _In_ ID3D12Resource *pTiledResource, | ||
| 34912 | _In_ const D3D12_TILED_RESOURCE_COORDINATE *pTileRegionStartCoordinate, | ||
| 34913 | _In_ const D3D12_TILE_REGION_SIZE *pTileRegionSize, | ||
| 34914 | _In_ ID3D12Resource *pBuffer, | ||
| 34915 | UINT64 BufferStartOffsetInBytes, | ||
| 34916 | D3D12_TILE_COPY_FLAGS Flags); | ||
| 34917 | |||
| 34918 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, ResolveSubresource) | ||
| 34919 | void ( STDMETHODCALLTYPE *ResolveSubresource )( | ||
| 34920 | ID3D12GraphicsCommandList9 * This, | ||
| 34921 | _In_ ID3D12Resource *pDstResource, | ||
| 34922 | _In_ UINT DstSubresource, | ||
| 34923 | _In_ ID3D12Resource *pSrcResource, | ||
| 34924 | _In_ UINT SrcSubresource, | ||
| 34925 | _In_ DXGI_FORMAT Format); | ||
| 34926 | |||
| 34927 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, IASetPrimitiveTopology) | ||
| 34928 | void ( STDMETHODCALLTYPE *IASetPrimitiveTopology )( | ||
| 34929 | ID3D12GraphicsCommandList9 * This, | ||
| 34930 | _In_ D3D12_PRIMITIVE_TOPOLOGY PrimitiveTopology); | ||
| 34931 | |||
| 34932 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, RSSetViewports) | ||
| 34933 | void ( STDMETHODCALLTYPE *RSSetViewports )( | ||
| 34934 | ID3D12GraphicsCommandList9 * This, | ||
| 34935 | _In_range_(0, D3D12_VIEWPORT_AND_SCISSORRECT_OBJECT_COUNT_PER_PIPELINE) UINT NumViewports, | ||
| 34936 | _In_reads_( NumViewports) const D3D12_VIEWPORT *pViewports); | ||
| 34937 | |||
| 34938 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, RSSetScissorRects) | ||
| 34939 | void ( STDMETHODCALLTYPE *RSSetScissorRects )( | ||
| 34940 | ID3D12GraphicsCommandList9 * This, | ||
| 34941 | _In_range_(0, D3D12_VIEWPORT_AND_SCISSORRECT_OBJECT_COUNT_PER_PIPELINE) UINT NumRects, | ||
| 34942 | _In_reads_( NumRects) const D3D12_RECT *pRects); | ||
| 34943 | |||
| 34944 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, OMSetBlendFactor) | ||
| 34945 | void ( STDMETHODCALLTYPE *OMSetBlendFactor )( | ||
| 34946 | ID3D12GraphicsCommandList9 * This, | ||
| 34947 | _In_reads_opt_(4) const FLOAT BlendFactor[ 4 ]); | ||
| 34948 | |||
| 34949 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, OMSetStencilRef) | ||
| 34950 | void ( STDMETHODCALLTYPE *OMSetStencilRef )( | ||
| 34951 | ID3D12GraphicsCommandList9 * This, | ||
| 34952 | _In_ UINT StencilRef); | ||
| 34953 | |||
| 34954 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetPipelineState) | ||
| 34955 | void ( STDMETHODCALLTYPE *SetPipelineState )( | ||
| 34956 | ID3D12GraphicsCommandList9 * This, | ||
| 34957 | _In_ ID3D12PipelineState *pPipelineState); | ||
| 34958 | |||
| 34959 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, ResourceBarrier) | ||
| 34960 | void ( STDMETHODCALLTYPE *ResourceBarrier )( | ||
| 34961 | ID3D12GraphicsCommandList9 * This, | ||
| 34962 | _In_ UINT NumBarriers, | ||
| 34963 | _In_reads_(NumBarriers) const D3D12_RESOURCE_BARRIER *pBarriers); | ||
| 34964 | |||
| 34965 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, ExecuteBundle) | ||
| 34966 | void ( STDMETHODCALLTYPE *ExecuteBundle )( | ||
| 34967 | ID3D12GraphicsCommandList9 * This, | ||
| 34968 | _In_ ID3D12GraphicsCommandList *pCommandList); | ||
| 34969 | |||
| 34970 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetDescriptorHeaps) | ||
| 34971 | void ( STDMETHODCALLTYPE *SetDescriptorHeaps )( | ||
| 34972 | ID3D12GraphicsCommandList9 * This, | ||
| 34973 | _In_ UINT NumDescriptorHeaps, | ||
| 34974 | _In_reads_(NumDescriptorHeaps) ID3D12DescriptorHeap *const *ppDescriptorHeaps); | ||
| 34975 | |||
| 34976 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetComputeRootSignature) | ||
| 34977 | void ( STDMETHODCALLTYPE *SetComputeRootSignature )( | ||
| 34978 | ID3D12GraphicsCommandList9 * This, | ||
| 34979 | _In_opt_ ID3D12RootSignature *pRootSignature); | ||
| 34980 | |||
| 34981 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetGraphicsRootSignature) | ||
| 34982 | void ( STDMETHODCALLTYPE *SetGraphicsRootSignature )( | ||
| 34983 | ID3D12GraphicsCommandList9 * This, | ||
| 34984 | _In_opt_ ID3D12RootSignature *pRootSignature); | ||
| 34985 | |||
| 34986 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetComputeRootDescriptorTable) | ||
| 34987 | void ( STDMETHODCALLTYPE *SetComputeRootDescriptorTable )( | ||
| 34988 | ID3D12GraphicsCommandList9 * This, | ||
| 34989 | _In_ UINT RootParameterIndex, | ||
| 34990 | _In_ D3D12_GPU_DESCRIPTOR_HANDLE BaseDescriptor); | ||
| 34991 | |||
| 34992 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetGraphicsRootDescriptorTable) | ||
| 34993 | void ( STDMETHODCALLTYPE *SetGraphicsRootDescriptorTable )( | ||
| 34994 | ID3D12GraphicsCommandList9 * This, | ||
| 34995 | _In_ UINT RootParameterIndex, | ||
| 34996 | _In_ D3D12_GPU_DESCRIPTOR_HANDLE BaseDescriptor); | ||
| 34997 | |||
| 34998 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetComputeRoot32BitConstant) | ||
| 34999 | void ( STDMETHODCALLTYPE *SetComputeRoot32BitConstant )( | ||
| 35000 | ID3D12GraphicsCommandList9 * This, | ||
| 35001 | _In_ UINT RootParameterIndex, | ||
| 35002 | _In_ UINT SrcData, | ||
| 35003 | _In_ UINT DestOffsetIn32BitValues); | ||
| 35004 | |||
| 35005 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetGraphicsRoot32BitConstant) | ||
| 35006 | void ( STDMETHODCALLTYPE *SetGraphicsRoot32BitConstant )( | ||
| 35007 | ID3D12GraphicsCommandList9 * This, | ||
| 35008 | _In_ UINT RootParameterIndex, | ||
| 35009 | _In_ UINT SrcData, | ||
| 35010 | _In_ UINT DestOffsetIn32BitValues); | ||
| 35011 | |||
| 35012 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetComputeRoot32BitConstants) | ||
| 35013 | void ( STDMETHODCALLTYPE *SetComputeRoot32BitConstants )( | ||
| 35014 | ID3D12GraphicsCommandList9 * This, | ||
| 35015 | _In_ UINT RootParameterIndex, | ||
| 35016 | _In_ UINT Num32BitValuesToSet, | ||
| 35017 | _In_reads_(Num32BitValuesToSet*sizeof(UINT)) const void *pSrcData, | ||
| 35018 | _In_ UINT DestOffsetIn32BitValues); | ||
| 35019 | |||
| 35020 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetGraphicsRoot32BitConstants) | ||
| 35021 | void ( STDMETHODCALLTYPE *SetGraphicsRoot32BitConstants )( | ||
| 35022 | ID3D12GraphicsCommandList9 * This, | ||
| 35023 | _In_ UINT RootParameterIndex, | ||
| 35024 | _In_ UINT Num32BitValuesToSet, | ||
| 35025 | _In_reads_(Num32BitValuesToSet*sizeof(UINT)) const void *pSrcData, | ||
| 35026 | _In_ UINT DestOffsetIn32BitValues); | ||
| 35027 | |||
| 35028 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetComputeRootConstantBufferView) | ||
| 35029 | void ( STDMETHODCALLTYPE *SetComputeRootConstantBufferView )( | ||
| 35030 | ID3D12GraphicsCommandList9 * This, | ||
| 35031 | _In_ UINT RootParameterIndex, | ||
| 35032 | _In_ D3D12_GPU_VIRTUAL_ADDRESS BufferLocation); | ||
| 35033 | |||
| 35034 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetGraphicsRootConstantBufferView) | ||
| 35035 | void ( STDMETHODCALLTYPE *SetGraphicsRootConstantBufferView )( | ||
| 35036 | ID3D12GraphicsCommandList9 * This, | ||
| 35037 | _In_ UINT RootParameterIndex, | ||
| 35038 | _In_ D3D12_GPU_VIRTUAL_ADDRESS BufferLocation); | ||
| 35039 | |||
| 35040 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetComputeRootShaderResourceView) | ||
| 35041 | void ( STDMETHODCALLTYPE *SetComputeRootShaderResourceView )( | ||
| 35042 | ID3D12GraphicsCommandList9 * This, | ||
| 35043 | _In_ UINT RootParameterIndex, | ||
| 35044 | _In_ D3D12_GPU_VIRTUAL_ADDRESS BufferLocation); | ||
| 35045 | |||
| 35046 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetGraphicsRootShaderResourceView) | ||
| 35047 | void ( STDMETHODCALLTYPE *SetGraphicsRootShaderResourceView )( | ||
| 35048 | ID3D12GraphicsCommandList9 * This, | ||
| 35049 | _In_ UINT RootParameterIndex, | ||
| 35050 | _In_ D3D12_GPU_VIRTUAL_ADDRESS BufferLocation); | ||
| 35051 | |||
| 35052 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetComputeRootUnorderedAccessView) | ||
| 35053 | void ( STDMETHODCALLTYPE *SetComputeRootUnorderedAccessView )( | ||
| 35054 | ID3D12GraphicsCommandList9 * This, | ||
| 35055 | _In_ UINT RootParameterIndex, | ||
| 35056 | _In_ D3D12_GPU_VIRTUAL_ADDRESS BufferLocation); | ||
| 35057 | |||
| 35058 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetGraphicsRootUnorderedAccessView) | ||
| 35059 | void ( STDMETHODCALLTYPE *SetGraphicsRootUnorderedAccessView )( | ||
| 35060 | ID3D12GraphicsCommandList9 * This, | ||
| 35061 | _In_ UINT RootParameterIndex, | ||
| 35062 | _In_ D3D12_GPU_VIRTUAL_ADDRESS BufferLocation); | ||
| 35063 | |||
| 35064 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, IASetIndexBuffer) | ||
| 35065 | void ( STDMETHODCALLTYPE *IASetIndexBuffer )( | ||
| 35066 | ID3D12GraphicsCommandList9 * This, | ||
| 35067 | _In_opt_ const D3D12_INDEX_BUFFER_VIEW *pView); | ||
| 35068 | |||
| 35069 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, IASetVertexBuffers) | ||
| 35070 | void ( STDMETHODCALLTYPE *IASetVertexBuffers )( | ||
| 35071 | ID3D12GraphicsCommandList9 * This, | ||
| 35072 | _In_ UINT StartSlot, | ||
| 35073 | _In_ UINT NumViews, | ||
| 35074 | _In_reads_opt_(NumViews) const D3D12_VERTEX_BUFFER_VIEW *pViews); | ||
| 35075 | |||
| 35076 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SOSetTargets) | ||
| 35077 | void ( STDMETHODCALLTYPE *SOSetTargets )( | ||
| 35078 | ID3D12GraphicsCommandList9 * This, | ||
| 35079 | _In_ UINT StartSlot, | ||
| 35080 | _In_ UINT NumViews, | ||
| 35081 | _In_reads_opt_(NumViews) const D3D12_STREAM_OUTPUT_BUFFER_VIEW *pViews); | ||
| 35082 | |||
| 35083 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, OMSetRenderTargets) | ||
| 35084 | void ( STDMETHODCALLTYPE *OMSetRenderTargets )( | ||
| 35085 | ID3D12GraphicsCommandList9 * This, | ||
| 35086 | _In_ UINT NumRenderTargetDescriptors, | ||
| 35087 | _In_opt_ const D3D12_CPU_DESCRIPTOR_HANDLE *pRenderTargetDescriptors, | ||
| 35088 | _In_ BOOL RTsSingleHandleToDescriptorRange, | ||
| 35089 | _In_opt_ const D3D12_CPU_DESCRIPTOR_HANDLE *pDepthStencilDescriptor); | ||
| 35090 | |||
| 35091 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, ClearDepthStencilView) | ||
| 35092 | void ( STDMETHODCALLTYPE *ClearDepthStencilView )( | ||
| 35093 | ID3D12GraphicsCommandList9 * This, | ||
| 35094 | _In_ D3D12_CPU_DESCRIPTOR_HANDLE DepthStencilView, | ||
| 35095 | _In_ D3D12_CLEAR_FLAGS ClearFlags, | ||
| 35096 | _In_ FLOAT Depth, | ||
| 35097 | _In_ UINT8 Stencil, | ||
| 35098 | _In_ UINT NumRects, | ||
| 35099 | _In_reads_(NumRects) const D3D12_RECT *pRects); | ||
| 35100 | |||
| 35101 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, ClearRenderTargetView) | ||
| 35102 | void ( STDMETHODCALLTYPE *ClearRenderTargetView )( | ||
| 35103 | ID3D12GraphicsCommandList9 * This, | ||
| 35104 | _In_ D3D12_CPU_DESCRIPTOR_HANDLE RenderTargetView, | ||
| 35105 | _In_ const FLOAT ColorRGBA[ 4 ], | ||
| 35106 | _In_ UINT NumRects, | ||
| 35107 | _In_reads_(NumRects) const D3D12_RECT *pRects); | ||
| 35108 | |||
| 35109 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, ClearUnorderedAccessViewUint) | ||
| 35110 | void ( STDMETHODCALLTYPE *ClearUnorderedAccessViewUint )( | ||
| 35111 | ID3D12GraphicsCommandList9 * This, | ||
| 35112 | _In_ D3D12_GPU_DESCRIPTOR_HANDLE ViewGPUHandleInCurrentHeap, | ||
| 35113 | _In_ D3D12_CPU_DESCRIPTOR_HANDLE ViewCPUHandle, | ||
| 35114 | _In_ ID3D12Resource *pResource, | ||
| 35115 | _In_ const UINT Values[ 4 ], | ||
| 35116 | _In_ UINT NumRects, | ||
| 35117 | _In_reads_(NumRects) const D3D12_RECT *pRects); | ||
| 35118 | |||
| 35119 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, ClearUnorderedAccessViewFloat) | ||
| 35120 | void ( STDMETHODCALLTYPE *ClearUnorderedAccessViewFloat )( | ||
| 35121 | ID3D12GraphicsCommandList9 * This, | ||
| 35122 | _In_ D3D12_GPU_DESCRIPTOR_HANDLE ViewGPUHandleInCurrentHeap, | ||
| 35123 | _In_ D3D12_CPU_DESCRIPTOR_HANDLE ViewCPUHandle, | ||
| 35124 | _In_ ID3D12Resource *pResource, | ||
| 35125 | _In_ const FLOAT Values[ 4 ], | ||
| 35126 | _In_ UINT NumRects, | ||
| 35127 | _In_reads_(NumRects) const D3D12_RECT *pRects); | ||
| 35128 | |||
| 35129 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, DiscardResource) | ||
| 35130 | void ( STDMETHODCALLTYPE *DiscardResource )( | ||
| 35131 | ID3D12GraphicsCommandList9 * This, | ||
| 35132 | _In_ ID3D12Resource *pResource, | ||
| 35133 | _In_opt_ const D3D12_DISCARD_REGION *pRegion); | ||
| 35134 | |||
| 35135 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, BeginQuery) | ||
| 35136 | void ( STDMETHODCALLTYPE *BeginQuery )( | ||
| 35137 | ID3D12GraphicsCommandList9 * This, | ||
| 35138 | _In_ ID3D12QueryHeap *pQueryHeap, | ||
| 35139 | _In_ D3D12_QUERY_TYPE Type, | ||
| 35140 | _In_ UINT Index); | ||
| 35141 | |||
| 35142 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, EndQuery) | ||
| 35143 | void ( STDMETHODCALLTYPE *EndQuery )( | ||
| 35144 | ID3D12GraphicsCommandList9 * This, | ||
| 35145 | _In_ ID3D12QueryHeap *pQueryHeap, | ||
| 35146 | _In_ D3D12_QUERY_TYPE Type, | ||
| 35147 | _In_ UINT Index); | ||
| 35148 | |||
| 35149 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, ResolveQueryData) | ||
| 35150 | void ( STDMETHODCALLTYPE *ResolveQueryData )( | ||
| 35151 | ID3D12GraphicsCommandList9 * This, | ||
| 35152 | _In_ ID3D12QueryHeap *pQueryHeap, | ||
| 35153 | _In_ D3D12_QUERY_TYPE Type, | ||
| 35154 | _In_ UINT StartIndex, | ||
| 35155 | _In_ UINT NumQueries, | ||
| 35156 | _In_ ID3D12Resource *pDestinationBuffer, | ||
| 35157 | _In_ UINT64 AlignedDestinationBufferOffset); | ||
| 35158 | |||
| 35159 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetPredication) | ||
| 35160 | void ( STDMETHODCALLTYPE *SetPredication )( | ||
| 35161 | ID3D12GraphicsCommandList9 * This, | ||
| 35162 | _In_opt_ ID3D12Resource *pBuffer, | ||
| 35163 | _In_ UINT64 AlignedBufferOffset, | ||
| 35164 | _In_ D3D12_PREDICATION_OP Operation); | ||
| 35165 | |||
| 35166 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetMarker) | ||
| 35167 | void ( STDMETHODCALLTYPE *SetMarker )( | ||
| 35168 | ID3D12GraphicsCommandList9 * This, | ||
| 35169 | UINT Metadata, | ||
| 35170 | _In_reads_bytes_opt_(Size) const void *pData, | ||
| 35171 | UINT Size); | ||
| 35172 | |||
| 35173 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, BeginEvent) | ||
| 35174 | void ( STDMETHODCALLTYPE *BeginEvent )( | ||
| 35175 | ID3D12GraphicsCommandList9 * This, | ||
| 35176 | UINT Metadata, | ||
| 35177 | _In_reads_bytes_opt_(Size) const void *pData, | ||
| 35178 | UINT Size); | ||
| 35179 | |||
| 35180 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, EndEvent) | ||
| 35181 | void ( STDMETHODCALLTYPE *EndEvent )( | ||
| 35182 | ID3D12GraphicsCommandList9 * This); | ||
| 35183 | |||
| 35184 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, ExecuteIndirect) | ||
| 35185 | void ( STDMETHODCALLTYPE *ExecuteIndirect )( | ||
| 35186 | ID3D12GraphicsCommandList9 * This, | ||
| 35187 | _In_ ID3D12CommandSignature *pCommandSignature, | ||
| 35188 | _In_ UINT MaxCommandCount, | ||
| 35189 | _In_ ID3D12Resource *pArgumentBuffer, | ||
| 35190 | _In_ UINT64 ArgumentBufferOffset, | ||
| 35191 | _In_opt_ ID3D12Resource *pCountBuffer, | ||
| 35192 | _In_ UINT64 CountBufferOffset); | ||
| 35193 | |||
| 35194 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList1, AtomicCopyBufferUINT) | ||
| 35195 | void ( STDMETHODCALLTYPE *AtomicCopyBufferUINT )( | ||
| 35196 | ID3D12GraphicsCommandList9 * This, | ||
| 35197 | _In_ ID3D12Resource *pDstBuffer, | ||
| 35198 | UINT64 DstOffset, | ||
| 35199 | _In_ ID3D12Resource *pSrcBuffer, | ||
| 35200 | UINT64 SrcOffset, | ||
| 35201 | UINT Dependencies, | ||
| 35202 | _In_reads_(Dependencies) ID3D12Resource *const *ppDependentResources, | ||
| 35203 | _In_reads_(Dependencies) const D3D12_SUBRESOURCE_RANGE_UINT64 *pDependentSubresourceRanges); | ||
| 35204 | |||
| 35205 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList1, AtomicCopyBufferUINT64) | ||
| 35206 | void ( STDMETHODCALLTYPE *AtomicCopyBufferUINT64 )( | ||
| 35207 | ID3D12GraphicsCommandList9 * This, | ||
| 35208 | _In_ ID3D12Resource *pDstBuffer, | ||
| 35209 | UINT64 DstOffset, | ||
| 35210 | _In_ ID3D12Resource *pSrcBuffer, | ||
| 35211 | UINT64 SrcOffset, | ||
| 35212 | UINT Dependencies, | ||
| 35213 | _In_reads_(Dependencies) ID3D12Resource *const *ppDependentResources, | ||
| 35214 | _In_reads_(Dependencies) const D3D12_SUBRESOURCE_RANGE_UINT64 *pDependentSubresourceRanges); | ||
| 35215 | |||
| 35216 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList1, OMSetDepthBounds) | ||
| 35217 | void ( STDMETHODCALLTYPE *OMSetDepthBounds )( | ||
| 35218 | ID3D12GraphicsCommandList9 * This, | ||
| 35219 | _In_ FLOAT Min, | ||
| 35220 | _In_ FLOAT Max); | ||
| 35221 | |||
| 35222 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList1, SetSamplePositions) | ||
| 35223 | void ( STDMETHODCALLTYPE *SetSamplePositions )( | ||
| 35224 | ID3D12GraphicsCommandList9 * This, | ||
| 35225 | _In_ UINT NumSamplesPerPixel, | ||
| 35226 | _In_ UINT NumPixels, | ||
| 35227 | _In_reads_(NumSamplesPerPixel*NumPixels) D3D12_SAMPLE_POSITION *pSamplePositions); | ||
| 35228 | |||
| 35229 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList1, ResolveSubresourceRegion) | ||
| 35230 | void ( STDMETHODCALLTYPE *ResolveSubresourceRegion )( | ||
| 35231 | ID3D12GraphicsCommandList9 * This, | ||
| 35232 | _In_ ID3D12Resource *pDstResource, | ||
| 35233 | _In_ UINT DstSubresource, | ||
| 35234 | _In_ UINT DstX, | ||
| 35235 | _In_ UINT DstY, | ||
| 35236 | _In_ ID3D12Resource *pSrcResource, | ||
| 35237 | _In_ UINT SrcSubresource, | ||
| 35238 | _In_opt_ D3D12_RECT *pSrcRect, | ||
| 35239 | _In_ DXGI_FORMAT Format, | ||
| 35240 | _In_ D3D12_RESOLVE_MODE ResolveMode); | ||
| 35241 | |||
| 35242 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList1, SetViewInstanceMask) | ||
| 35243 | void ( STDMETHODCALLTYPE *SetViewInstanceMask )( | ||
| 35244 | ID3D12GraphicsCommandList9 * This, | ||
| 35245 | _In_ UINT Mask); | ||
| 35246 | |||
| 35247 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList2, WriteBufferImmediate) | ||
| 35248 | void ( STDMETHODCALLTYPE *WriteBufferImmediate )( | ||
| 35249 | ID3D12GraphicsCommandList9 * This, | ||
| 35250 | UINT Count, | ||
| 35251 | _In_reads_(Count) const D3D12_WRITEBUFFERIMMEDIATE_PARAMETER *pParams, | ||
| 35252 | _In_reads_opt_(Count) const D3D12_WRITEBUFFERIMMEDIATE_MODE *pModes); | ||
| 35253 | |||
| 35254 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList3, SetProtectedResourceSession) | ||
| 35255 | void ( STDMETHODCALLTYPE *SetProtectedResourceSession )( | ||
| 35256 | ID3D12GraphicsCommandList9 * This, | ||
| 35257 | _In_opt_ ID3D12ProtectedResourceSession *pProtectedResourceSession); | ||
| 35258 | |||
| 35259 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList4, BeginRenderPass) | ||
| 35260 | void ( STDMETHODCALLTYPE *BeginRenderPass )( | ||
| 35261 | ID3D12GraphicsCommandList9 * This, | ||
| 35262 | _In_ UINT NumRenderTargets, | ||
| 35263 | _In_reads_opt_(NumRenderTargets) const D3D12_RENDER_PASS_RENDER_TARGET_DESC *pRenderTargets, | ||
| 35264 | _In_opt_ const D3D12_RENDER_PASS_DEPTH_STENCIL_DESC *pDepthStencil, | ||
| 35265 | D3D12_RENDER_PASS_FLAGS Flags); | ||
| 35266 | |||
| 35267 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList4, EndRenderPass) | ||
| 35268 | void ( STDMETHODCALLTYPE *EndRenderPass )( | ||
| 35269 | ID3D12GraphicsCommandList9 * This); | ||
| 35270 | |||
| 35271 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList4, InitializeMetaCommand) | ||
| 35272 | void ( STDMETHODCALLTYPE *InitializeMetaCommand )( | ||
| 35273 | ID3D12GraphicsCommandList9 * This, | ||
| 35274 | _In_ ID3D12MetaCommand *pMetaCommand, | ||
| 35275 | _In_reads_bytes_opt_(InitializationParametersDataSizeInBytes) const void *pInitializationParametersData, | ||
| 35276 | _In_ SIZE_T InitializationParametersDataSizeInBytes); | ||
| 35277 | |||
| 35278 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList4, ExecuteMetaCommand) | ||
| 35279 | void ( STDMETHODCALLTYPE *ExecuteMetaCommand )( | ||
| 35280 | ID3D12GraphicsCommandList9 * This, | ||
| 35281 | _In_ ID3D12MetaCommand *pMetaCommand, | ||
| 35282 | _In_reads_bytes_opt_(ExecutionParametersDataSizeInBytes) const void *pExecutionParametersData, | ||
| 35283 | _In_ SIZE_T ExecutionParametersDataSizeInBytes); | ||
| 35284 | |||
| 35285 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList4, BuildRaytracingAccelerationStructure) | ||
| 35286 | void ( STDMETHODCALLTYPE *BuildRaytracingAccelerationStructure )( | ||
| 35287 | ID3D12GraphicsCommandList9 * This, | ||
| 35288 | _In_ const D3D12_BUILD_RAYTRACING_ACCELERATION_STRUCTURE_DESC *pDesc, | ||
| 35289 | _In_ UINT NumPostbuildInfoDescs, | ||
| 35290 | _In_reads_opt_(NumPostbuildInfoDescs) const D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_DESC *pPostbuildInfoDescs); | ||
| 35291 | |||
| 35292 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList4, EmitRaytracingAccelerationStructurePostbuildInfo) | ||
| 35293 | void ( STDMETHODCALLTYPE *EmitRaytracingAccelerationStructurePostbuildInfo )( | ||
| 35294 | ID3D12GraphicsCommandList9 * This, | ||
| 35295 | _In_ const D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_DESC *pDesc, | ||
| 35296 | _In_ UINT NumSourceAccelerationStructures, | ||
| 35297 | _In_reads_( NumSourceAccelerationStructures ) const D3D12_GPU_VIRTUAL_ADDRESS *pSourceAccelerationStructureData); | ||
| 35298 | |||
| 35299 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList4, CopyRaytracingAccelerationStructure) | ||
| 35300 | void ( STDMETHODCALLTYPE *CopyRaytracingAccelerationStructure )( | ||
| 35301 | ID3D12GraphicsCommandList9 * This, | ||
| 35302 | _In_ D3D12_GPU_VIRTUAL_ADDRESS DestAccelerationStructureData, | ||
| 35303 | _In_ D3D12_GPU_VIRTUAL_ADDRESS SourceAccelerationStructureData, | ||
| 35304 | _In_ D3D12_RAYTRACING_ACCELERATION_STRUCTURE_COPY_MODE Mode); | ||
| 35305 | |||
| 35306 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList4, SetPipelineState1) | ||
| 35307 | void ( STDMETHODCALLTYPE *SetPipelineState1 )( | ||
| 35308 | ID3D12GraphicsCommandList9 * This, | ||
| 35309 | _In_ ID3D12StateObject *pStateObject); | ||
| 35310 | |||
| 35311 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList4, DispatchRays) | ||
| 35312 | void ( STDMETHODCALLTYPE *DispatchRays )( | ||
| 35313 | ID3D12GraphicsCommandList9 * This, | ||
| 35314 | _In_ const D3D12_DISPATCH_RAYS_DESC *pDesc); | ||
| 35315 | |||
| 35316 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList5, RSSetShadingRate) | ||
| 35317 | void ( STDMETHODCALLTYPE *RSSetShadingRate )( | ||
| 35318 | ID3D12GraphicsCommandList9 * This, | ||
| 35319 | _In_ D3D12_SHADING_RATE baseShadingRate, | ||
| 35320 | _In_reads_opt_(D3D12_RS_SET_SHADING_RATE_COMBINER_COUNT) const D3D12_SHADING_RATE_COMBINER *combiners); | ||
| 35321 | |||
| 35322 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList5, RSSetShadingRateImage) | ||
| 35323 | void ( STDMETHODCALLTYPE *RSSetShadingRateImage )( | ||
| 35324 | ID3D12GraphicsCommandList9 * This, | ||
| 35325 | _In_opt_ ID3D12Resource *shadingRateImage); | ||
| 35326 | |||
| 35327 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList6, DispatchMesh) | ||
| 35328 | void ( STDMETHODCALLTYPE *DispatchMesh )( | ||
| 35329 | ID3D12GraphicsCommandList9 * This, | ||
| 35330 | _In_ UINT ThreadGroupCountX, | ||
| 35331 | _In_ UINT ThreadGroupCountY, | ||
| 35332 | _In_ UINT ThreadGroupCountZ); | ||
| 35333 | |||
| 35334 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList7, Barrier) | ||
| 35335 | void ( STDMETHODCALLTYPE *Barrier )( | ||
| 35336 | ID3D12GraphicsCommandList9 * This, | ||
| 35337 | UINT32 NumBarrierGroups, | ||
| 35338 | _In_reads_(NumBarrierGroups) const D3D12_BARRIER_GROUP *pBarrierGroups); | ||
| 35339 | |||
| 35340 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList8, OMSetFrontAndBackStencilRef) | ||
| 35341 | void ( STDMETHODCALLTYPE *OMSetFrontAndBackStencilRef )( | ||
| 35342 | ID3D12GraphicsCommandList9 * This, | ||
| 35343 | _In_ UINT FrontStencilRef, | ||
| 35344 | _In_ UINT BackStencilRef); | ||
| 35345 | |||
| 35346 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList9, RSSetDepthBias) | ||
| 35347 | void ( STDMETHODCALLTYPE *RSSetDepthBias )( | ||
| 35348 | ID3D12GraphicsCommandList9 * This, | ||
| 35349 | _In_ FLOAT DepthBias, | ||
| 35350 | _In_ FLOAT DepthBiasClamp, | ||
| 35351 | _In_ FLOAT SlopeScaledDepthBias); | ||
| 35352 | |||
| 35353 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList9, IASetIndexBufferStripCutValue) | ||
| 35354 | void ( STDMETHODCALLTYPE *IASetIndexBufferStripCutValue )( | ||
| 35355 | ID3D12GraphicsCommandList9 * This, | ||
| 35356 | _In_ D3D12_INDEX_BUFFER_STRIP_CUT_VALUE IBStripCutValue); | ||
| 35357 | |||
| 35358 | END_INTERFACE | ||
| 35359 | } ID3D12GraphicsCommandList9Vtbl; | ||
| 35360 | |||
| 35361 | interface ID3D12GraphicsCommandList9 | ||
| 35362 | { | ||
| 35363 | CONST_VTBL struct ID3D12GraphicsCommandList9Vtbl *lpVtbl; | ||
| 35364 | }; | ||
| 35365 | |||
| 35366 | |||
| 35367 | |||
| 35368 | #ifdef COBJMACROS | ||
| 35369 | |||
| 35370 | |||
| 35371 | #define ID3D12GraphicsCommandList9_QueryInterface(This,riid,ppvObject) \ | ||
| 35372 | ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) | ||
| 35373 | |||
| 35374 | #define ID3D12GraphicsCommandList9_AddRef(This) \ | ||
| 35375 | ( (This)->lpVtbl -> AddRef(This) ) | ||
| 35376 | |||
| 35377 | #define ID3D12GraphicsCommandList9_Release(This) \ | ||
| 35378 | ( (This)->lpVtbl -> Release(This) ) | ||
| 35379 | |||
| 35380 | |||
| 35381 | #define ID3D12GraphicsCommandList9_GetPrivateData(This,guid,pDataSize,pData) \ | ||
| 35382 | ( (This)->lpVtbl -> GetPrivateData(This,guid,pDataSize,pData) ) | ||
| 35383 | |||
| 35384 | #define ID3D12GraphicsCommandList9_SetPrivateData(This,guid,DataSize,pData) \ | ||
| 35385 | ( (This)->lpVtbl -> SetPrivateData(This,guid,DataSize,pData) ) | ||
| 35386 | |||
| 35387 | #define ID3D12GraphicsCommandList9_SetPrivateDataInterface(This,guid,pData) \ | ||
| 35388 | ( (This)->lpVtbl -> SetPrivateDataInterface(This,guid,pData) ) | ||
| 35389 | |||
| 35390 | #define ID3D12GraphicsCommandList9_SetName(This,Name) \ | ||
| 35391 | ( (This)->lpVtbl -> SetName(This,Name) ) | ||
| 35392 | |||
| 35393 | |||
| 35394 | #define ID3D12GraphicsCommandList9_GetDevice(This,riid,ppvDevice) \ | ||
| 35395 | ( (This)->lpVtbl -> GetDevice(This,riid,ppvDevice) ) | ||
| 35396 | |||
| 35397 | |||
| 35398 | #define ID3D12GraphicsCommandList9_GetType(This) \ | ||
| 35399 | ( (This)->lpVtbl -> GetType(This) ) | ||
| 35400 | |||
| 35401 | |||
| 35402 | #define ID3D12GraphicsCommandList9_Close(This) \ | ||
| 35403 | ( (This)->lpVtbl -> Close(This) ) | ||
| 35404 | |||
| 35405 | #define ID3D12GraphicsCommandList9_Reset(This,pAllocator,pInitialState) \ | ||
| 35406 | ( (This)->lpVtbl -> Reset(This,pAllocator,pInitialState) ) | ||
| 35407 | |||
| 35408 | #define ID3D12GraphicsCommandList9_ClearState(This,pPipelineState) \ | ||
| 35409 | ( (This)->lpVtbl -> ClearState(This,pPipelineState) ) | ||
| 35410 | |||
| 35411 | #define ID3D12GraphicsCommandList9_DrawInstanced(This,VertexCountPerInstance,InstanceCount,StartVertexLocation,StartInstanceLocation) \ | ||
| 35412 | ( (This)->lpVtbl -> DrawInstanced(This,VertexCountPerInstance,InstanceCount,StartVertexLocation,StartInstanceLocation) ) | ||
| 35413 | |||
| 35414 | #define ID3D12GraphicsCommandList9_DrawIndexedInstanced(This,IndexCountPerInstance,InstanceCount,StartIndexLocation,BaseVertexLocation,StartInstanceLocation) \ | ||
| 35415 | ( (This)->lpVtbl -> DrawIndexedInstanced(This,IndexCountPerInstance,InstanceCount,StartIndexLocation,BaseVertexLocation,StartInstanceLocation) ) | ||
| 35416 | |||
| 35417 | #define ID3D12GraphicsCommandList9_Dispatch(This,ThreadGroupCountX,ThreadGroupCountY,ThreadGroupCountZ) \ | ||
| 35418 | ( (This)->lpVtbl -> Dispatch(This,ThreadGroupCountX,ThreadGroupCountY,ThreadGroupCountZ) ) | ||
| 35419 | |||
| 35420 | #define ID3D12GraphicsCommandList9_CopyBufferRegion(This,pDstBuffer,DstOffset,pSrcBuffer,SrcOffset,NumBytes) \ | ||
| 35421 | ( (This)->lpVtbl -> CopyBufferRegion(This,pDstBuffer,DstOffset,pSrcBuffer,SrcOffset,NumBytes) ) | ||
| 35422 | |||
| 35423 | #define ID3D12GraphicsCommandList9_CopyTextureRegion(This,pDst,DstX,DstY,DstZ,pSrc,pSrcBox) \ | ||
| 35424 | ( (This)->lpVtbl -> CopyTextureRegion(This,pDst,DstX,DstY,DstZ,pSrc,pSrcBox) ) | ||
| 35425 | |||
| 35426 | #define ID3D12GraphicsCommandList9_CopyResource(This,pDstResource,pSrcResource) \ | ||
| 35427 | ( (This)->lpVtbl -> CopyResource(This,pDstResource,pSrcResource) ) | ||
| 35428 | |||
| 35429 | #define ID3D12GraphicsCommandList9_CopyTiles(This,pTiledResource,pTileRegionStartCoordinate,pTileRegionSize,pBuffer,BufferStartOffsetInBytes,Flags) \ | ||
| 35430 | ( (This)->lpVtbl -> CopyTiles(This,pTiledResource,pTileRegionStartCoordinate,pTileRegionSize,pBuffer,BufferStartOffsetInBytes,Flags) ) | ||
| 35431 | |||
| 35432 | #define ID3D12GraphicsCommandList9_ResolveSubresource(This,pDstResource,DstSubresource,pSrcResource,SrcSubresource,Format) \ | ||
| 35433 | ( (This)->lpVtbl -> ResolveSubresource(This,pDstResource,DstSubresource,pSrcResource,SrcSubresource,Format) ) | ||
| 35434 | |||
| 35435 | #define ID3D12GraphicsCommandList9_IASetPrimitiveTopology(This,PrimitiveTopology) \ | ||
| 35436 | ( (This)->lpVtbl -> IASetPrimitiveTopology(This,PrimitiveTopology) ) | ||
| 35437 | |||
| 35438 | #define ID3D12GraphicsCommandList9_RSSetViewports(This,NumViewports,pViewports) \ | ||
| 35439 | ( (This)->lpVtbl -> RSSetViewports(This,NumViewports,pViewports) ) | ||
| 35440 | |||
| 35441 | #define ID3D12GraphicsCommandList9_RSSetScissorRects(This,NumRects,pRects) \ | ||
| 35442 | ( (This)->lpVtbl -> RSSetScissorRects(This,NumRects,pRects) ) | ||
| 35443 | |||
| 35444 | #define ID3D12GraphicsCommandList9_OMSetBlendFactor(This,BlendFactor) \ | ||
| 35445 | ( (This)->lpVtbl -> OMSetBlendFactor(This,BlendFactor) ) | ||
| 35446 | |||
| 35447 | #define ID3D12GraphicsCommandList9_OMSetStencilRef(This,StencilRef) \ | ||
| 35448 | ( (This)->lpVtbl -> OMSetStencilRef(This,StencilRef) ) | ||
| 35449 | |||
| 35450 | #define ID3D12GraphicsCommandList9_SetPipelineState(This,pPipelineState) \ | ||
| 35451 | ( (This)->lpVtbl -> SetPipelineState(This,pPipelineState) ) | ||
| 35452 | |||
| 35453 | #define ID3D12GraphicsCommandList9_ResourceBarrier(This,NumBarriers,pBarriers) \ | ||
| 35454 | ( (This)->lpVtbl -> ResourceBarrier(This,NumBarriers,pBarriers) ) | ||
| 35455 | |||
| 35456 | #define ID3D12GraphicsCommandList9_ExecuteBundle(This,pCommandList) \ | ||
| 35457 | ( (This)->lpVtbl -> ExecuteBundle(This,pCommandList) ) | ||
| 35458 | |||
| 35459 | #define ID3D12GraphicsCommandList9_SetDescriptorHeaps(This,NumDescriptorHeaps,ppDescriptorHeaps) \ | ||
| 35460 | ( (This)->lpVtbl -> SetDescriptorHeaps(This,NumDescriptorHeaps,ppDescriptorHeaps) ) | ||
| 35461 | |||
| 35462 | #define ID3D12GraphicsCommandList9_SetComputeRootSignature(This,pRootSignature) \ | ||
| 35463 | ( (This)->lpVtbl -> SetComputeRootSignature(This,pRootSignature) ) | ||
| 35464 | |||
| 35465 | #define ID3D12GraphicsCommandList9_SetGraphicsRootSignature(This,pRootSignature) \ | ||
| 35466 | ( (This)->lpVtbl -> SetGraphicsRootSignature(This,pRootSignature) ) | ||
| 35467 | |||
| 35468 | #define ID3D12GraphicsCommandList9_SetComputeRootDescriptorTable(This,RootParameterIndex,BaseDescriptor) \ | ||
| 35469 | ( (This)->lpVtbl -> SetComputeRootDescriptorTable(This,RootParameterIndex,BaseDescriptor) ) | ||
| 35470 | |||
| 35471 | #define ID3D12GraphicsCommandList9_SetGraphicsRootDescriptorTable(This,RootParameterIndex,BaseDescriptor) \ | ||
| 35472 | ( (This)->lpVtbl -> SetGraphicsRootDescriptorTable(This,RootParameterIndex,BaseDescriptor) ) | ||
| 35473 | |||
| 35474 | #define ID3D12GraphicsCommandList9_SetComputeRoot32BitConstant(This,RootParameterIndex,SrcData,DestOffsetIn32BitValues) \ | ||
| 35475 | ( (This)->lpVtbl -> SetComputeRoot32BitConstant(This,RootParameterIndex,SrcData,DestOffsetIn32BitValues) ) | ||
| 35476 | |||
| 35477 | #define ID3D12GraphicsCommandList9_SetGraphicsRoot32BitConstant(This,RootParameterIndex,SrcData,DestOffsetIn32BitValues) \ | ||
| 35478 | ( (This)->lpVtbl -> SetGraphicsRoot32BitConstant(This,RootParameterIndex,SrcData,DestOffsetIn32BitValues) ) | ||
| 35479 | |||
| 35480 | #define ID3D12GraphicsCommandList9_SetComputeRoot32BitConstants(This,RootParameterIndex,Num32BitValuesToSet,pSrcData,DestOffsetIn32BitValues) \ | ||
| 35481 | ( (This)->lpVtbl -> SetComputeRoot32BitConstants(This,RootParameterIndex,Num32BitValuesToSet,pSrcData,DestOffsetIn32BitValues) ) | ||
| 35482 | |||
| 35483 | #define ID3D12GraphicsCommandList9_SetGraphicsRoot32BitConstants(This,RootParameterIndex,Num32BitValuesToSet,pSrcData,DestOffsetIn32BitValues) \ | ||
| 35484 | ( (This)->lpVtbl -> SetGraphicsRoot32BitConstants(This,RootParameterIndex,Num32BitValuesToSet,pSrcData,DestOffsetIn32BitValues) ) | ||
| 35485 | |||
| 35486 | #define ID3D12GraphicsCommandList9_SetComputeRootConstantBufferView(This,RootParameterIndex,BufferLocation) \ | ||
| 35487 | ( (This)->lpVtbl -> SetComputeRootConstantBufferView(This,RootParameterIndex,BufferLocation) ) | ||
| 35488 | |||
| 35489 | #define ID3D12GraphicsCommandList9_SetGraphicsRootConstantBufferView(This,RootParameterIndex,BufferLocation) \ | ||
| 35490 | ( (This)->lpVtbl -> SetGraphicsRootConstantBufferView(This,RootParameterIndex,BufferLocation) ) | ||
| 35491 | |||
| 35492 | #define ID3D12GraphicsCommandList9_SetComputeRootShaderResourceView(This,RootParameterIndex,BufferLocation) \ | ||
| 35493 | ( (This)->lpVtbl -> SetComputeRootShaderResourceView(This,RootParameterIndex,BufferLocation) ) | ||
| 35494 | |||
| 35495 | #define ID3D12GraphicsCommandList9_SetGraphicsRootShaderResourceView(This,RootParameterIndex,BufferLocation) \ | ||
| 35496 | ( (This)->lpVtbl -> SetGraphicsRootShaderResourceView(This,RootParameterIndex,BufferLocation) ) | ||
| 35497 | |||
| 35498 | #define ID3D12GraphicsCommandList9_SetComputeRootUnorderedAccessView(This,RootParameterIndex,BufferLocation) \ | ||
| 35499 | ( (This)->lpVtbl -> SetComputeRootUnorderedAccessView(This,RootParameterIndex,BufferLocation) ) | ||
| 35500 | |||
| 35501 | #define ID3D12GraphicsCommandList9_SetGraphicsRootUnorderedAccessView(This,RootParameterIndex,BufferLocation) \ | ||
| 35502 | ( (This)->lpVtbl -> SetGraphicsRootUnorderedAccessView(This,RootParameterIndex,BufferLocation) ) | ||
| 35503 | |||
| 35504 | #define ID3D12GraphicsCommandList9_IASetIndexBuffer(This,pView) \ | ||
| 35505 | ( (This)->lpVtbl -> IASetIndexBuffer(This,pView) ) | ||
| 35506 | |||
| 35507 | #define ID3D12GraphicsCommandList9_IASetVertexBuffers(This,StartSlot,NumViews,pViews) \ | ||
| 35508 | ( (This)->lpVtbl -> IASetVertexBuffers(This,StartSlot,NumViews,pViews) ) | ||
| 35509 | |||
| 35510 | #define ID3D12GraphicsCommandList9_SOSetTargets(This,StartSlot,NumViews,pViews) \ | ||
| 35511 | ( (This)->lpVtbl -> SOSetTargets(This,StartSlot,NumViews,pViews) ) | ||
| 35512 | |||
| 35513 | #define ID3D12GraphicsCommandList9_OMSetRenderTargets(This,NumRenderTargetDescriptors,pRenderTargetDescriptors,RTsSingleHandleToDescriptorRange,pDepthStencilDescriptor) \ | ||
| 35514 | ( (This)->lpVtbl -> OMSetRenderTargets(This,NumRenderTargetDescriptors,pRenderTargetDescriptors,RTsSingleHandleToDescriptorRange,pDepthStencilDescriptor) ) | ||
| 35515 | |||
| 35516 | #define ID3D12GraphicsCommandList9_ClearDepthStencilView(This,DepthStencilView,ClearFlags,Depth,Stencil,NumRects,pRects) \ | ||
| 35517 | ( (This)->lpVtbl -> ClearDepthStencilView(This,DepthStencilView,ClearFlags,Depth,Stencil,NumRects,pRects) ) | ||
| 35518 | |||
| 35519 | #define ID3D12GraphicsCommandList9_ClearRenderTargetView(This,RenderTargetView,ColorRGBA,NumRects,pRects) \ | ||
| 35520 | ( (This)->lpVtbl -> ClearRenderTargetView(This,RenderTargetView,ColorRGBA,NumRects,pRects) ) | ||
| 35521 | |||
| 35522 | #define ID3D12GraphicsCommandList9_ClearUnorderedAccessViewUint(This,ViewGPUHandleInCurrentHeap,ViewCPUHandle,pResource,Values,NumRects,pRects) \ | ||
| 35523 | ( (This)->lpVtbl -> ClearUnorderedAccessViewUint(This,ViewGPUHandleInCurrentHeap,ViewCPUHandle,pResource,Values,NumRects,pRects) ) | ||
| 35524 | |||
| 35525 | #define ID3D12GraphicsCommandList9_ClearUnorderedAccessViewFloat(This,ViewGPUHandleInCurrentHeap,ViewCPUHandle,pResource,Values,NumRects,pRects) \ | ||
| 35526 | ( (This)->lpVtbl -> ClearUnorderedAccessViewFloat(This,ViewGPUHandleInCurrentHeap,ViewCPUHandle,pResource,Values,NumRects,pRects) ) | ||
| 35527 | |||
| 35528 | #define ID3D12GraphicsCommandList9_DiscardResource(This,pResource,pRegion) \ | ||
| 35529 | ( (This)->lpVtbl -> DiscardResource(This,pResource,pRegion) ) | ||
| 35530 | |||
| 35531 | #define ID3D12GraphicsCommandList9_BeginQuery(This,pQueryHeap,Type,Index) \ | ||
| 35532 | ( (This)->lpVtbl -> BeginQuery(This,pQueryHeap,Type,Index) ) | ||
| 35533 | |||
| 35534 | #define ID3D12GraphicsCommandList9_EndQuery(This,pQueryHeap,Type,Index) \ | ||
| 35535 | ( (This)->lpVtbl -> EndQuery(This,pQueryHeap,Type,Index) ) | ||
| 35536 | |||
| 35537 | #define ID3D12GraphicsCommandList9_ResolveQueryData(This,pQueryHeap,Type,StartIndex,NumQueries,pDestinationBuffer,AlignedDestinationBufferOffset) \ | ||
| 35538 | ( (This)->lpVtbl -> ResolveQueryData(This,pQueryHeap,Type,StartIndex,NumQueries,pDestinationBuffer,AlignedDestinationBufferOffset) ) | ||
| 35539 | |||
| 35540 | #define ID3D12GraphicsCommandList9_SetPredication(This,pBuffer,AlignedBufferOffset,Operation) \ | ||
| 35541 | ( (This)->lpVtbl -> SetPredication(This,pBuffer,AlignedBufferOffset,Operation) ) | ||
| 35542 | |||
| 35543 | #define ID3D12GraphicsCommandList9_SetMarker(This,Metadata,pData,Size) \ | ||
| 35544 | ( (This)->lpVtbl -> SetMarker(This,Metadata,pData,Size) ) | ||
| 35545 | |||
| 35546 | #define ID3D12GraphicsCommandList9_BeginEvent(This,Metadata,pData,Size) \ | ||
| 35547 | ( (This)->lpVtbl -> BeginEvent(This,Metadata,pData,Size) ) | ||
| 35548 | |||
| 35549 | #define ID3D12GraphicsCommandList9_EndEvent(This) \ | ||
| 35550 | ( (This)->lpVtbl -> EndEvent(This) ) | ||
| 35551 | |||
| 35552 | #define ID3D12GraphicsCommandList9_ExecuteIndirect(This,pCommandSignature,MaxCommandCount,pArgumentBuffer,ArgumentBufferOffset,pCountBuffer,CountBufferOffset) \ | ||
| 35553 | ( (This)->lpVtbl -> ExecuteIndirect(This,pCommandSignature,MaxCommandCount,pArgumentBuffer,ArgumentBufferOffset,pCountBuffer,CountBufferOffset) ) | ||
| 35554 | |||
| 35555 | |||
| 35556 | #define ID3D12GraphicsCommandList9_AtomicCopyBufferUINT(This,pDstBuffer,DstOffset,pSrcBuffer,SrcOffset,Dependencies,ppDependentResources,pDependentSubresourceRanges) \ | ||
| 35557 | ( (This)->lpVtbl -> AtomicCopyBufferUINT(This,pDstBuffer,DstOffset,pSrcBuffer,SrcOffset,Dependencies,ppDependentResources,pDependentSubresourceRanges) ) | ||
| 35558 | |||
| 35559 | #define ID3D12GraphicsCommandList9_AtomicCopyBufferUINT64(This,pDstBuffer,DstOffset,pSrcBuffer,SrcOffset,Dependencies,ppDependentResources,pDependentSubresourceRanges) \ | ||
| 35560 | ( (This)->lpVtbl -> AtomicCopyBufferUINT64(This,pDstBuffer,DstOffset,pSrcBuffer,SrcOffset,Dependencies,ppDependentResources,pDependentSubresourceRanges) ) | ||
| 35561 | |||
| 35562 | #define ID3D12GraphicsCommandList9_OMSetDepthBounds(This,Min,Max) \ | ||
| 35563 | ( (This)->lpVtbl -> OMSetDepthBounds(This,Min,Max) ) | ||
| 35564 | |||
| 35565 | #define ID3D12GraphicsCommandList9_SetSamplePositions(This,NumSamplesPerPixel,NumPixels,pSamplePositions) \ | ||
| 35566 | ( (This)->lpVtbl -> SetSamplePositions(This,NumSamplesPerPixel,NumPixels,pSamplePositions) ) | ||
| 35567 | |||
| 35568 | #define ID3D12GraphicsCommandList9_ResolveSubresourceRegion(This,pDstResource,DstSubresource,DstX,DstY,pSrcResource,SrcSubresource,pSrcRect,Format,ResolveMode) \ | ||
| 35569 | ( (This)->lpVtbl -> ResolveSubresourceRegion(This,pDstResource,DstSubresource,DstX,DstY,pSrcResource,SrcSubresource,pSrcRect,Format,ResolveMode) ) | ||
| 35570 | |||
| 35571 | #define ID3D12GraphicsCommandList9_SetViewInstanceMask(This,Mask) \ | ||
| 35572 | ( (This)->lpVtbl -> SetViewInstanceMask(This,Mask) ) | ||
| 35573 | |||
| 35574 | |||
| 35575 | #define ID3D12GraphicsCommandList9_WriteBufferImmediate(This,Count,pParams,pModes) \ | ||
| 35576 | ( (This)->lpVtbl -> WriteBufferImmediate(This,Count,pParams,pModes) ) | ||
| 35577 | |||
| 35578 | |||
| 35579 | #define ID3D12GraphicsCommandList9_SetProtectedResourceSession(This,pProtectedResourceSession) \ | ||
| 35580 | ( (This)->lpVtbl -> SetProtectedResourceSession(This,pProtectedResourceSession) ) | ||
| 35581 | |||
| 35582 | |||
| 35583 | #define ID3D12GraphicsCommandList9_BeginRenderPass(This,NumRenderTargets,pRenderTargets,pDepthStencil,Flags) \ | ||
| 35584 | ( (This)->lpVtbl -> BeginRenderPass(This,NumRenderTargets,pRenderTargets,pDepthStencil,Flags) ) | ||
| 35585 | |||
| 35586 | #define ID3D12GraphicsCommandList9_EndRenderPass(This) \ | ||
| 35587 | ( (This)->lpVtbl -> EndRenderPass(This) ) | ||
| 35588 | |||
| 35589 | #define ID3D12GraphicsCommandList9_InitializeMetaCommand(This,pMetaCommand,pInitializationParametersData,InitializationParametersDataSizeInBytes) \ | ||
| 35590 | ( (This)->lpVtbl -> InitializeMetaCommand(This,pMetaCommand,pInitializationParametersData,InitializationParametersDataSizeInBytes) ) | ||
| 35591 | |||
| 35592 | #define ID3D12GraphicsCommandList9_ExecuteMetaCommand(This,pMetaCommand,pExecutionParametersData,ExecutionParametersDataSizeInBytes) \ | ||
| 35593 | ( (This)->lpVtbl -> ExecuteMetaCommand(This,pMetaCommand,pExecutionParametersData,ExecutionParametersDataSizeInBytes) ) | ||
| 35594 | |||
| 35595 | #define ID3D12GraphicsCommandList9_BuildRaytracingAccelerationStructure(This,pDesc,NumPostbuildInfoDescs,pPostbuildInfoDescs) \ | ||
| 35596 | ( (This)->lpVtbl -> BuildRaytracingAccelerationStructure(This,pDesc,NumPostbuildInfoDescs,pPostbuildInfoDescs) ) | ||
| 35597 | |||
| 35598 | #define ID3D12GraphicsCommandList9_EmitRaytracingAccelerationStructurePostbuildInfo(This,pDesc,NumSourceAccelerationStructures,pSourceAccelerationStructureData) \ | ||
| 35599 | ( (This)->lpVtbl -> EmitRaytracingAccelerationStructurePostbuildInfo(This,pDesc,NumSourceAccelerationStructures,pSourceAccelerationStructureData) ) | ||
| 35600 | |||
| 35601 | #define ID3D12GraphicsCommandList9_CopyRaytracingAccelerationStructure(This,DestAccelerationStructureData,SourceAccelerationStructureData,Mode) \ | ||
| 35602 | ( (This)->lpVtbl -> CopyRaytracingAccelerationStructure(This,DestAccelerationStructureData,SourceAccelerationStructureData,Mode) ) | ||
| 35603 | |||
| 35604 | #define ID3D12GraphicsCommandList9_SetPipelineState1(This,pStateObject) \ | ||
| 35605 | ( (This)->lpVtbl -> SetPipelineState1(This,pStateObject) ) | ||
| 35606 | |||
| 35607 | #define ID3D12GraphicsCommandList9_DispatchRays(This,pDesc) \ | ||
| 35608 | ( (This)->lpVtbl -> DispatchRays(This,pDesc) ) | ||
| 35609 | |||
| 35610 | |||
| 35611 | #define ID3D12GraphicsCommandList9_RSSetShadingRate(This,baseShadingRate,combiners) \ | ||
| 35612 | ( (This)->lpVtbl -> RSSetShadingRate(This,baseShadingRate,combiners) ) | ||
| 35613 | |||
| 35614 | #define ID3D12GraphicsCommandList9_RSSetShadingRateImage(This,shadingRateImage) \ | ||
| 35615 | ( (This)->lpVtbl -> RSSetShadingRateImage(This,shadingRateImage) ) | ||
| 35616 | |||
| 35617 | |||
| 35618 | #define ID3D12GraphicsCommandList9_DispatchMesh(This,ThreadGroupCountX,ThreadGroupCountY,ThreadGroupCountZ) \ | ||
| 35619 | ( (This)->lpVtbl -> DispatchMesh(This,ThreadGroupCountX,ThreadGroupCountY,ThreadGroupCountZ) ) | ||
| 35620 | |||
| 35621 | |||
| 35622 | #define ID3D12GraphicsCommandList9_Barrier(This,NumBarrierGroups,pBarrierGroups) \ | ||
| 35623 | ( (This)->lpVtbl -> Barrier(This,NumBarrierGroups,pBarrierGroups) ) | ||
| 35624 | |||
| 35625 | |||
| 35626 | #define ID3D12GraphicsCommandList9_OMSetFrontAndBackStencilRef(This,FrontStencilRef,BackStencilRef) \ | ||
| 35627 | ( (This)->lpVtbl -> OMSetFrontAndBackStencilRef(This,FrontStencilRef,BackStencilRef) ) | ||
| 35628 | |||
| 35629 | |||
| 35630 | #define ID3D12GraphicsCommandList9_RSSetDepthBias(This,DepthBias,DepthBiasClamp,SlopeScaledDepthBias) \ | ||
| 35631 | ( (This)->lpVtbl -> RSSetDepthBias(This,DepthBias,DepthBiasClamp,SlopeScaledDepthBias) ) | ||
| 35632 | |||
| 35633 | #define ID3D12GraphicsCommandList9_IASetIndexBufferStripCutValue(This,IBStripCutValue) \ | ||
| 35634 | ( (This)->lpVtbl -> IASetIndexBufferStripCutValue(This,IBStripCutValue) ) | ||
| 35635 | |||
| 35636 | #endif /* COBJMACROS */ | ||
| 35637 | |||
| 35638 | |||
| 35639 | #endif /* C style interface */ | ||
| 35640 | |||
| 35641 | |||
| 35642 | |||
| 35643 | |||
| 35644 | #endif /* __ID3D12GraphicsCommandList9_INTERFACE_DEFINED__ */ | ||
| 35645 | |||
| 35646 | |||
| 35647 | #ifndef __ID3D12GraphicsCommandList10_INTERFACE_DEFINED__ | ||
| 35648 | #define __ID3D12GraphicsCommandList10_INTERFACE_DEFINED__ | ||
| 35649 | |||
| 35650 | /* interface ID3D12GraphicsCommandList10 */ | ||
| 35651 | /* [unique][local][object][uuid] */ | ||
| 35652 | |||
| 35653 | |||
| 35654 | EXTERN_C const IID IID_ID3D12GraphicsCommandList10; | ||
| 35655 | |||
| 35656 | #if defined(__cplusplus) && !defined(CINTERFACE) | ||
| 35657 | |||
| 35658 | MIDL_INTERFACE("7013c015-d161-4b63-a08c-238552dd8acc") | ||
| 35659 | ID3D12GraphicsCommandList10 : public ID3D12GraphicsCommandList9 | ||
| 35660 | { | ||
| 35661 | public: | ||
| 35662 | virtual void STDMETHODCALLTYPE SetProgram( | ||
| 35663 | _In_ const D3D12_SET_PROGRAM_DESC *pDesc) = 0; | ||
| 35664 | |||
| 35665 | virtual void STDMETHODCALLTYPE DispatchGraph( | ||
| 35666 | _In_ const D3D12_DISPATCH_GRAPH_DESC *pDesc) = 0; | ||
| 35667 | |||
| 35668 | }; | ||
| 35669 | |||
| 35670 | |||
| 35671 | #else /* C style interface */ | ||
| 35672 | |||
| 35673 | typedef struct ID3D12GraphicsCommandList10Vtbl | ||
| 35674 | { | ||
| 35675 | BEGIN_INTERFACE | ||
| 35676 | |||
| 35677 | DECLSPEC_XFGVIRT(IUnknown, QueryInterface) | ||
| 35678 | HRESULT ( STDMETHODCALLTYPE *QueryInterface )( | ||
| 35679 | ID3D12GraphicsCommandList10 * This, | ||
| 35680 | REFIID riid, | ||
| 35681 | _COM_Outptr_ void **ppvObject); | ||
| 35682 | |||
| 35683 | DECLSPEC_XFGVIRT(IUnknown, AddRef) | ||
| 35684 | ULONG ( STDMETHODCALLTYPE *AddRef )( | ||
| 35685 | ID3D12GraphicsCommandList10 * This); | ||
| 35686 | |||
| 35687 | DECLSPEC_XFGVIRT(IUnknown, Release) | ||
| 35688 | ULONG ( STDMETHODCALLTYPE *Release )( | ||
| 35689 | ID3D12GraphicsCommandList10 * This); | ||
| 35690 | |||
| 35691 | DECLSPEC_XFGVIRT(ID3D12Object, GetPrivateData) | ||
| 35692 | HRESULT ( STDMETHODCALLTYPE *GetPrivateData )( | ||
| 35693 | ID3D12GraphicsCommandList10 * This, | ||
| 35694 | _In_ REFGUID guid, | ||
| 35695 | _Inout_ UINT *pDataSize, | ||
| 35696 | _Out_writes_bytes_opt_( *pDataSize ) void *pData); | ||
| 35697 | |||
| 35698 | DECLSPEC_XFGVIRT(ID3D12Object, SetPrivateData) | ||
| 35699 | HRESULT ( STDMETHODCALLTYPE *SetPrivateData )( | ||
| 35700 | ID3D12GraphicsCommandList10 * This, | ||
| 35701 | _In_ REFGUID guid, | ||
| 35702 | _In_ UINT DataSize, | ||
| 35703 | _In_reads_bytes_opt_( DataSize ) const void *pData); | ||
| 35704 | |||
| 35705 | DECLSPEC_XFGVIRT(ID3D12Object, SetPrivateDataInterface) | ||
| 35706 | HRESULT ( STDMETHODCALLTYPE *SetPrivateDataInterface )( | ||
| 35707 | ID3D12GraphicsCommandList10 * This, | ||
| 35708 | _In_ REFGUID guid, | ||
| 35709 | _In_opt_ const IUnknown *pData); | ||
| 35710 | |||
| 35711 | DECLSPEC_XFGVIRT(ID3D12Object, SetName) | ||
| 35712 | HRESULT ( STDMETHODCALLTYPE *SetName )( | ||
| 35713 | ID3D12GraphicsCommandList10 * This, | ||
| 35714 | _In_z_ LPCWSTR Name); | ||
| 35715 | |||
| 35716 | DECLSPEC_XFGVIRT(ID3D12DeviceChild, GetDevice) | ||
| 35717 | HRESULT ( STDMETHODCALLTYPE *GetDevice )( | ||
| 35718 | ID3D12GraphicsCommandList10 * This, | ||
| 35719 | REFIID riid, | ||
| 35720 | _COM_Outptr_opt_ void **ppvDevice); | ||
| 35721 | |||
| 35722 | DECLSPEC_XFGVIRT(ID3D12CommandList, GetType) | ||
| 35723 | D3D12_COMMAND_LIST_TYPE ( STDMETHODCALLTYPE *GetType )( | ||
| 35724 | ID3D12GraphicsCommandList10 * This); | ||
| 35725 | |||
| 35726 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, Close) | ||
| 35727 | HRESULT ( STDMETHODCALLTYPE *Close )( | ||
| 35728 | ID3D12GraphicsCommandList10 * This); | ||
| 35729 | |||
| 35730 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, Reset) | ||
| 35731 | HRESULT ( STDMETHODCALLTYPE *Reset )( | ||
| 35732 | ID3D12GraphicsCommandList10 * This, | ||
| 35733 | _In_ ID3D12CommandAllocator *pAllocator, | ||
| 35734 | _In_opt_ ID3D12PipelineState *pInitialState); | ||
| 35735 | |||
| 35736 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, ClearState) | ||
| 35737 | void ( STDMETHODCALLTYPE *ClearState )( | ||
| 35738 | ID3D12GraphicsCommandList10 * This, | ||
| 35739 | _In_opt_ ID3D12PipelineState *pPipelineState); | ||
| 35740 | |||
| 35741 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, DrawInstanced) | ||
| 35742 | void ( STDMETHODCALLTYPE *DrawInstanced )( | ||
| 35743 | ID3D12GraphicsCommandList10 * This, | ||
| 35744 | _In_ UINT VertexCountPerInstance, | ||
| 35745 | _In_ UINT InstanceCount, | ||
| 35746 | _In_ UINT StartVertexLocation, | ||
| 35747 | _In_ UINT StartInstanceLocation); | ||
| 35748 | |||
| 35749 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, DrawIndexedInstanced) | ||
| 35750 | void ( STDMETHODCALLTYPE *DrawIndexedInstanced )( | ||
| 35751 | ID3D12GraphicsCommandList10 * This, | ||
| 35752 | _In_ UINT IndexCountPerInstance, | ||
| 35753 | _In_ UINT InstanceCount, | ||
| 35754 | _In_ UINT StartIndexLocation, | ||
| 35755 | _In_ INT BaseVertexLocation, | ||
| 35756 | _In_ UINT StartInstanceLocation); | ||
| 35757 | |||
| 35758 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, Dispatch) | ||
| 35759 | void ( STDMETHODCALLTYPE *Dispatch )( | ||
| 35760 | ID3D12GraphicsCommandList10 * This, | ||
| 35761 | _In_ UINT ThreadGroupCountX, | ||
| 35762 | _In_ UINT ThreadGroupCountY, | ||
| 35763 | _In_ UINT ThreadGroupCountZ); | ||
| 35764 | |||
| 35765 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, CopyBufferRegion) | ||
| 35766 | void ( STDMETHODCALLTYPE *CopyBufferRegion )( | ||
| 35767 | ID3D12GraphicsCommandList10 * This, | ||
| 35768 | _In_ ID3D12Resource *pDstBuffer, | ||
| 35769 | UINT64 DstOffset, | ||
| 35770 | _In_ ID3D12Resource *pSrcBuffer, | ||
| 35771 | UINT64 SrcOffset, | ||
| 35772 | UINT64 NumBytes); | ||
| 35773 | |||
| 35774 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, CopyTextureRegion) | ||
| 35775 | void ( STDMETHODCALLTYPE *CopyTextureRegion )( | ||
| 35776 | ID3D12GraphicsCommandList10 * This, | ||
| 35777 | _In_ const D3D12_TEXTURE_COPY_LOCATION *pDst, | ||
| 35778 | UINT DstX, | ||
| 35779 | UINT DstY, | ||
| 35780 | UINT DstZ, | ||
| 35781 | _In_ const D3D12_TEXTURE_COPY_LOCATION *pSrc, | ||
| 35782 | _In_opt_ const D3D12_BOX *pSrcBox); | ||
| 35783 | |||
| 35784 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, CopyResource) | ||
| 35785 | void ( STDMETHODCALLTYPE *CopyResource )( | ||
| 35786 | ID3D12GraphicsCommandList10 * This, | ||
| 35787 | _In_ ID3D12Resource *pDstResource, | ||
| 35788 | _In_ ID3D12Resource *pSrcResource); | ||
| 35789 | |||
| 35790 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, CopyTiles) | ||
| 35791 | void ( STDMETHODCALLTYPE *CopyTiles )( | ||
| 35792 | ID3D12GraphicsCommandList10 * This, | ||
| 35793 | _In_ ID3D12Resource *pTiledResource, | ||
| 35794 | _In_ const D3D12_TILED_RESOURCE_COORDINATE *pTileRegionStartCoordinate, | ||
| 35795 | _In_ const D3D12_TILE_REGION_SIZE *pTileRegionSize, | ||
| 35796 | _In_ ID3D12Resource *pBuffer, | ||
| 35797 | UINT64 BufferStartOffsetInBytes, | ||
| 35798 | D3D12_TILE_COPY_FLAGS Flags); | ||
| 35799 | |||
| 35800 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, ResolveSubresource) | ||
| 35801 | void ( STDMETHODCALLTYPE *ResolveSubresource )( | ||
| 35802 | ID3D12GraphicsCommandList10 * This, | ||
| 35803 | _In_ ID3D12Resource *pDstResource, | ||
| 35804 | _In_ UINT DstSubresource, | ||
| 35805 | _In_ ID3D12Resource *pSrcResource, | ||
| 35806 | _In_ UINT SrcSubresource, | ||
| 35807 | _In_ DXGI_FORMAT Format); | ||
| 35808 | |||
| 35809 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, IASetPrimitiveTopology) | ||
| 35810 | void ( STDMETHODCALLTYPE *IASetPrimitiveTopology )( | ||
| 35811 | ID3D12GraphicsCommandList10 * This, | ||
| 35812 | _In_ D3D12_PRIMITIVE_TOPOLOGY PrimitiveTopology); | ||
| 35813 | |||
| 35814 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, RSSetViewports) | ||
| 35815 | void ( STDMETHODCALLTYPE *RSSetViewports )( | ||
| 35816 | ID3D12GraphicsCommandList10 * This, | ||
| 35817 | _In_range_(0, D3D12_VIEWPORT_AND_SCISSORRECT_OBJECT_COUNT_PER_PIPELINE) UINT NumViewports, | ||
| 35818 | _In_reads_( NumViewports) const D3D12_VIEWPORT *pViewports); | ||
| 35819 | |||
| 35820 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, RSSetScissorRects) | ||
| 35821 | void ( STDMETHODCALLTYPE *RSSetScissorRects )( | ||
| 35822 | ID3D12GraphicsCommandList10 * This, | ||
| 35823 | _In_range_(0, D3D12_VIEWPORT_AND_SCISSORRECT_OBJECT_COUNT_PER_PIPELINE) UINT NumRects, | ||
| 35824 | _In_reads_( NumRects) const D3D12_RECT *pRects); | ||
| 35825 | |||
| 35826 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, OMSetBlendFactor) | ||
| 35827 | void ( STDMETHODCALLTYPE *OMSetBlendFactor )( | ||
| 35828 | ID3D12GraphicsCommandList10 * This, | ||
| 35829 | _In_reads_opt_(4) const FLOAT BlendFactor[ 4 ]); | ||
| 35830 | |||
| 35831 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, OMSetStencilRef) | ||
| 35832 | void ( STDMETHODCALLTYPE *OMSetStencilRef )( | ||
| 35833 | ID3D12GraphicsCommandList10 * This, | ||
| 35834 | _In_ UINT StencilRef); | ||
| 35835 | |||
| 35836 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetPipelineState) | ||
| 35837 | void ( STDMETHODCALLTYPE *SetPipelineState )( | ||
| 35838 | ID3D12GraphicsCommandList10 * This, | ||
| 35839 | _In_ ID3D12PipelineState *pPipelineState); | ||
| 35840 | |||
| 35841 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, ResourceBarrier) | ||
| 35842 | void ( STDMETHODCALLTYPE *ResourceBarrier )( | ||
| 35843 | ID3D12GraphicsCommandList10 * This, | ||
| 35844 | _In_ UINT NumBarriers, | ||
| 35845 | _In_reads_(NumBarriers) const D3D12_RESOURCE_BARRIER *pBarriers); | ||
| 35846 | |||
| 35847 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, ExecuteBundle) | ||
| 35848 | void ( STDMETHODCALLTYPE *ExecuteBundle )( | ||
| 35849 | ID3D12GraphicsCommandList10 * This, | ||
| 35850 | _In_ ID3D12GraphicsCommandList *pCommandList); | ||
| 35851 | |||
| 35852 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetDescriptorHeaps) | ||
| 35853 | void ( STDMETHODCALLTYPE *SetDescriptorHeaps )( | ||
| 35854 | ID3D12GraphicsCommandList10 * This, | ||
| 35855 | _In_ UINT NumDescriptorHeaps, | ||
| 35856 | _In_reads_(NumDescriptorHeaps) ID3D12DescriptorHeap *const *ppDescriptorHeaps); | ||
| 35857 | |||
| 35858 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetComputeRootSignature) | ||
| 35859 | void ( STDMETHODCALLTYPE *SetComputeRootSignature )( | ||
| 35860 | ID3D12GraphicsCommandList10 * This, | ||
| 35861 | _In_opt_ ID3D12RootSignature *pRootSignature); | ||
| 35862 | |||
| 35863 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetGraphicsRootSignature) | ||
| 35864 | void ( STDMETHODCALLTYPE *SetGraphicsRootSignature )( | ||
| 35865 | ID3D12GraphicsCommandList10 * This, | ||
| 35866 | _In_opt_ ID3D12RootSignature *pRootSignature); | ||
| 35867 | |||
| 35868 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetComputeRootDescriptorTable) | ||
| 35869 | void ( STDMETHODCALLTYPE *SetComputeRootDescriptorTable )( | ||
| 35870 | ID3D12GraphicsCommandList10 * This, | ||
| 35871 | _In_ UINT RootParameterIndex, | ||
| 35872 | _In_ D3D12_GPU_DESCRIPTOR_HANDLE BaseDescriptor); | ||
| 35873 | |||
| 35874 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetGraphicsRootDescriptorTable) | ||
| 35875 | void ( STDMETHODCALLTYPE *SetGraphicsRootDescriptorTable )( | ||
| 35876 | ID3D12GraphicsCommandList10 * This, | ||
| 35877 | _In_ UINT RootParameterIndex, | ||
| 35878 | _In_ D3D12_GPU_DESCRIPTOR_HANDLE BaseDescriptor); | ||
| 35879 | |||
| 35880 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetComputeRoot32BitConstant) | ||
| 35881 | void ( STDMETHODCALLTYPE *SetComputeRoot32BitConstant )( | ||
| 35882 | ID3D12GraphicsCommandList10 * This, | ||
| 35883 | _In_ UINT RootParameterIndex, | ||
| 35884 | _In_ UINT SrcData, | ||
| 35885 | _In_ UINT DestOffsetIn32BitValues); | ||
| 35886 | |||
| 35887 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetGraphicsRoot32BitConstant) | ||
| 35888 | void ( STDMETHODCALLTYPE *SetGraphicsRoot32BitConstant )( | ||
| 35889 | ID3D12GraphicsCommandList10 * This, | ||
| 35890 | _In_ UINT RootParameterIndex, | ||
| 35891 | _In_ UINT SrcData, | ||
| 35892 | _In_ UINT DestOffsetIn32BitValues); | ||
| 35893 | |||
| 35894 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetComputeRoot32BitConstants) | ||
| 35895 | void ( STDMETHODCALLTYPE *SetComputeRoot32BitConstants )( | ||
| 35896 | ID3D12GraphicsCommandList10 * This, | ||
| 35897 | _In_ UINT RootParameterIndex, | ||
| 35898 | _In_ UINT Num32BitValuesToSet, | ||
| 35899 | _In_reads_(Num32BitValuesToSet*sizeof(UINT)) const void *pSrcData, | ||
| 35900 | _In_ UINT DestOffsetIn32BitValues); | ||
| 35901 | |||
| 35902 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetGraphicsRoot32BitConstants) | ||
| 35903 | void ( STDMETHODCALLTYPE *SetGraphicsRoot32BitConstants )( | ||
| 35904 | ID3D12GraphicsCommandList10 * This, | ||
| 35905 | _In_ UINT RootParameterIndex, | ||
| 35906 | _In_ UINT Num32BitValuesToSet, | ||
| 35907 | _In_reads_(Num32BitValuesToSet*sizeof(UINT)) const void *pSrcData, | ||
| 35908 | _In_ UINT DestOffsetIn32BitValues); | ||
| 35909 | |||
| 35910 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetComputeRootConstantBufferView) | ||
| 35911 | void ( STDMETHODCALLTYPE *SetComputeRootConstantBufferView )( | ||
| 35912 | ID3D12GraphicsCommandList10 * This, | ||
| 35913 | _In_ UINT RootParameterIndex, | ||
| 35914 | _In_ D3D12_GPU_VIRTUAL_ADDRESS BufferLocation); | ||
| 35915 | |||
| 35916 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetGraphicsRootConstantBufferView) | ||
| 35917 | void ( STDMETHODCALLTYPE *SetGraphicsRootConstantBufferView )( | ||
| 35918 | ID3D12GraphicsCommandList10 * This, | ||
| 35919 | _In_ UINT RootParameterIndex, | ||
| 35920 | _In_ D3D12_GPU_VIRTUAL_ADDRESS BufferLocation); | ||
| 35921 | |||
| 35922 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetComputeRootShaderResourceView) | ||
| 35923 | void ( STDMETHODCALLTYPE *SetComputeRootShaderResourceView )( | ||
| 35924 | ID3D12GraphicsCommandList10 * This, | ||
| 35925 | _In_ UINT RootParameterIndex, | ||
| 35926 | _In_ D3D12_GPU_VIRTUAL_ADDRESS BufferLocation); | ||
| 35927 | |||
| 35928 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetGraphicsRootShaderResourceView) | ||
| 35929 | void ( STDMETHODCALLTYPE *SetGraphicsRootShaderResourceView )( | ||
| 35930 | ID3D12GraphicsCommandList10 * This, | ||
| 35931 | _In_ UINT RootParameterIndex, | ||
| 35932 | _In_ D3D12_GPU_VIRTUAL_ADDRESS BufferLocation); | ||
| 35933 | |||
| 35934 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetComputeRootUnorderedAccessView) | ||
| 35935 | void ( STDMETHODCALLTYPE *SetComputeRootUnorderedAccessView )( | ||
| 35936 | ID3D12GraphicsCommandList10 * This, | ||
| 35937 | _In_ UINT RootParameterIndex, | ||
| 35938 | _In_ D3D12_GPU_VIRTUAL_ADDRESS BufferLocation); | ||
| 35939 | |||
| 35940 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetGraphicsRootUnorderedAccessView) | ||
| 35941 | void ( STDMETHODCALLTYPE *SetGraphicsRootUnorderedAccessView )( | ||
| 35942 | ID3D12GraphicsCommandList10 * This, | ||
| 35943 | _In_ UINT RootParameterIndex, | ||
| 35944 | _In_ D3D12_GPU_VIRTUAL_ADDRESS BufferLocation); | ||
| 35945 | |||
| 35946 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, IASetIndexBuffer) | ||
| 35947 | void ( STDMETHODCALLTYPE *IASetIndexBuffer )( | ||
| 35948 | ID3D12GraphicsCommandList10 * This, | ||
| 35949 | _In_opt_ const D3D12_INDEX_BUFFER_VIEW *pView); | ||
| 35950 | |||
| 35951 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, IASetVertexBuffers) | ||
| 35952 | void ( STDMETHODCALLTYPE *IASetVertexBuffers )( | ||
| 35953 | ID3D12GraphicsCommandList10 * This, | ||
| 35954 | _In_ UINT StartSlot, | ||
| 35955 | _In_ UINT NumViews, | ||
| 35956 | _In_reads_opt_(NumViews) const D3D12_VERTEX_BUFFER_VIEW *pViews); | ||
| 35957 | |||
| 35958 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SOSetTargets) | ||
| 35959 | void ( STDMETHODCALLTYPE *SOSetTargets )( | ||
| 35960 | ID3D12GraphicsCommandList10 * This, | ||
| 35961 | _In_ UINT StartSlot, | ||
| 35962 | _In_ UINT NumViews, | ||
| 35963 | _In_reads_opt_(NumViews) const D3D12_STREAM_OUTPUT_BUFFER_VIEW *pViews); | ||
| 35964 | |||
| 35965 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, OMSetRenderTargets) | ||
| 35966 | void ( STDMETHODCALLTYPE *OMSetRenderTargets )( | ||
| 35967 | ID3D12GraphicsCommandList10 * This, | ||
| 35968 | _In_ UINT NumRenderTargetDescriptors, | ||
| 35969 | _In_opt_ const D3D12_CPU_DESCRIPTOR_HANDLE *pRenderTargetDescriptors, | ||
| 35970 | _In_ BOOL RTsSingleHandleToDescriptorRange, | ||
| 35971 | _In_opt_ const D3D12_CPU_DESCRIPTOR_HANDLE *pDepthStencilDescriptor); | ||
| 35972 | |||
| 35973 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, ClearDepthStencilView) | ||
| 35974 | void ( STDMETHODCALLTYPE *ClearDepthStencilView )( | ||
| 35975 | ID3D12GraphicsCommandList10 * This, | ||
| 35976 | _In_ D3D12_CPU_DESCRIPTOR_HANDLE DepthStencilView, | ||
| 35977 | _In_ D3D12_CLEAR_FLAGS ClearFlags, | ||
| 35978 | _In_ FLOAT Depth, | ||
| 35979 | _In_ UINT8 Stencil, | ||
| 35980 | _In_ UINT NumRects, | ||
| 35981 | _In_reads_(NumRects) const D3D12_RECT *pRects); | ||
| 35982 | |||
| 35983 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, ClearRenderTargetView) | ||
| 35984 | void ( STDMETHODCALLTYPE *ClearRenderTargetView )( | ||
| 35985 | ID3D12GraphicsCommandList10 * This, | ||
| 35986 | _In_ D3D12_CPU_DESCRIPTOR_HANDLE RenderTargetView, | ||
| 35987 | _In_ const FLOAT ColorRGBA[ 4 ], | ||
| 35988 | _In_ UINT NumRects, | ||
| 35989 | _In_reads_(NumRects) const D3D12_RECT *pRects); | ||
| 35990 | |||
| 35991 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, ClearUnorderedAccessViewUint) | ||
| 35992 | void ( STDMETHODCALLTYPE *ClearUnorderedAccessViewUint )( | ||
| 35993 | ID3D12GraphicsCommandList10 * This, | ||
| 35994 | _In_ D3D12_GPU_DESCRIPTOR_HANDLE ViewGPUHandleInCurrentHeap, | ||
| 35995 | _In_ D3D12_CPU_DESCRIPTOR_HANDLE ViewCPUHandle, | ||
| 35996 | _In_ ID3D12Resource *pResource, | ||
| 35997 | _In_ const UINT Values[ 4 ], | ||
| 35998 | _In_ UINT NumRects, | ||
| 35999 | _In_reads_(NumRects) const D3D12_RECT *pRects); | ||
| 36000 | |||
| 36001 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, ClearUnorderedAccessViewFloat) | ||
| 36002 | void ( STDMETHODCALLTYPE *ClearUnorderedAccessViewFloat )( | ||
| 36003 | ID3D12GraphicsCommandList10 * This, | ||
| 36004 | _In_ D3D12_GPU_DESCRIPTOR_HANDLE ViewGPUHandleInCurrentHeap, | ||
| 36005 | _In_ D3D12_CPU_DESCRIPTOR_HANDLE ViewCPUHandle, | ||
| 36006 | _In_ ID3D12Resource *pResource, | ||
| 36007 | _In_ const FLOAT Values[ 4 ], | ||
| 36008 | _In_ UINT NumRects, | ||
| 36009 | _In_reads_(NumRects) const D3D12_RECT *pRects); | ||
| 36010 | |||
| 36011 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, DiscardResource) | ||
| 36012 | void ( STDMETHODCALLTYPE *DiscardResource )( | ||
| 36013 | ID3D12GraphicsCommandList10 * This, | ||
| 36014 | _In_ ID3D12Resource *pResource, | ||
| 36015 | _In_opt_ const D3D12_DISCARD_REGION *pRegion); | ||
| 36016 | |||
| 36017 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, BeginQuery) | ||
| 36018 | void ( STDMETHODCALLTYPE *BeginQuery )( | ||
| 36019 | ID3D12GraphicsCommandList10 * This, | ||
| 36020 | _In_ ID3D12QueryHeap *pQueryHeap, | ||
| 36021 | _In_ D3D12_QUERY_TYPE Type, | ||
| 36022 | _In_ UINT Index); | ||
| 36023 | |||
| 36024 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, EndQuery) | ||
| 36025 | void ( STDMETHODCALLTYPE *EndQuery )( | ||
| 36026 | ID3D12GraphicsCommandList10 * This, | ||
| 36027 | _In_ ID3D12QueryHeap *pQueryHeap, | ||
| 36028 | _In_ D3D12_QUERY_TYPE Type, | ||
| 36029 | _In_ UINT Index); | ||
| 36030 | |||
| 36031 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, ResolveQueryData) | ||
| 36032 | void ( STDMETHODCALLTYPE *ResolveQueryData )( | ||
| 36033 | ID3D12GraphicsCommandList10 * This, | ||
| 36034 | _In_ ID3D12QueryHeap *pQueryHeap, | ||
| 36035 | _In_ D3D12_QUERY_TYPE Type, | ||
| 36036 | _In_ UINT StartIndex, | ||
| 36037 | _In_ UINT NumQueries, | ||
| 36038 | _In_ ID3D12Resource *pDestinationBuffer, | ||
| 36039 | _In_ UINT64 AlignedDestinationBufferOffset); | ||
| 36040 | |||
| 36041 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetPredication) | ||
| 36042 | void ( STDMETHODCALLTYPE *SetPredication )( | ||
| 36043 | ID3D12GraphicsCommandList10 * This, | ||
| 36044 | _In_opt_ ID3D12Resource *pBuffer, | ||
| 36045 | _In_ UINT64 AlignedBufferOffset, | ||
| 36046 | _In_ D3D12_PREDICATION_OP Operation); | ||
| 36047 | |||
| 36048 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetMarker) | ||
| 36049 | void ( STDMETHODCALLTYPE *SetMarker )( | ||
| 36050 | ID3D12GraphicsCommandList10 * This, | ||
| 36051 | UINT Metadata, | ||
| 36052 | _In_reads_bytes_opt_(Size) const void *pData, | ||
| 36053 | UINT Size); | ||
| 36054 | |||
| 36055 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, BeginEvent) | ||
| 36056 | void ( STDMETHODCALLTYPE *BeginEvent )( | ||
| 36057 | ID3D12GraphicsCommandList10 * This, | ||
| 36058 | UINT Metadata, | ||
| 36059 | _In_reads_bytes_opt_(Size) const void *pData, | ||
| 36060 | UINT Size); | ||
| 36061 | |||
| 36062 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, EndEvent) | ||
| 36063 | void ( STDMETHODCALLTYPE *EndEvent )( | ||
| 36064 | ID3D12GraphicsCommandList10 * This); | ||
| 36065 | |||
| 36066 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, ExecuteIndirect) | ||
| 36067 | void ( STDMETHODCALLTYPE *ExecuteIndirect )( | ||
| 36068 | ID3D12GraphicsCommandList10 * This, | ||
| 36069 | _In_ ID3D12CommandSignature *pCommandSignature, | ||
| 36070 | _In_ UINT MaxCommandCount, | ||
| 36071 | _In_ ID3D12Resource *pArgumentBuffer, | ||
| 36072 | _In_ UINT64 ArgumentBufferOffset, | ||
| 36073 | _In_opt_ ID3D12Resource *pCountBuffer, | ||
| 36074 | _In_ UINT64 CountBufferOffset); | ||
| 36075 | |||
| 36076 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList1, AtomicCopyBufferUINT) | ||
| 36077 | void ( STDMETHODCALLTYPE *AtomicCopyBufferUINT )( | ||
| 36078 | ID3D12GraphicsCommandList10 * This, | ||
| 36079 | _In_ ID3D12Resource *pDstBuffer, | ||
| 36080 | UINT64 DstOffset, | ||
| 36081 | _In_ ID3D12Resource *pSrcBuffer, | ||
| 36082 | UINT64 SrcOffset, | ||
| 36083 | UINT Dependencies, | ||
| 36084 | _In_reads_(Dependencies) ID3D12Resource *const *ppDependentResources, | ||
| 36085 | _In_reads_(Dependencies) const D3D12_SUBRESOURCE_RANGE_UINT64 *pDependentSubresourceRanges); | ||
| 36086 | |||
| 36087 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList1, AtomicCopyBufferUINT64) | ||
| 36088 | void ( STDMETHODCALLTYPE *AtomicCopyBufferUINT64 )( | ||
| 36089 | ID3D12GraphicsCommandList10 * This, | ||
| 36090 | _In_ ID3D12Resource *pDstBuffer, | ||
| 36091 | UINT64 DstOffset, | ||
| 36092 | _In_ ID3D12Resource *pSrcBuffer, | ||
| 36093 | UINT64 SrcOffset, | ||
| 36094 | UINT Dependencies, | ||
| 36095 | _In_reads_(Dependencies) ID3D12Resource *const *ppDependentResources, | ||
| 36096 | _In_reads_(Dependencies) const D3D12_SUBRESOURCE_RANGE_UINT64 *pDependentSubresourceRanges); | ||
| 36097 | |||
| 36098 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList1, OMSetDepthBounds) | ||
| 36099 | void ( STDMETHODCALLTYPE *OMSetDepthBounds )( | ||
| 36100 | ID3D12GraphicsCommandList10 * This, | ||
| 36101 | _In_ FLOAT Min, | ||
| 36102 | _In_ FLOAT Max); | ||
| 36103 | |||
| 36104 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList1, SetSamplePositions) | ||
| 36105 | void ( STDMETHODCALLTYPE *SetSamplePositions )( | ||
| 36106 | ID3D12GraphicsCommandList10 * This, | ||
| 36107 | _In_ UINT NumSamplesPerPixel, | ||
| 36108 | _In_ UINT NumPixels, | ||
| 36109 | _In_reads_(NumSamplesPerPixel*NumPixels) D3D12_SAMPLE_POSITION *pSamplePositions); | ||
| 36110 | |||
| 36111 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList1, ResolveSubresourceRegion) | ||
| 36112 | void ( STDMETHODCALLTYPE *ResolveSubresourceRegion )( | ||
| 36113 | ID3D12GraphicsCommandList10 * This, | ||
| 36114 | _In_ ID3D12Resource *pDstResource, | ||
| 36115 | _In_ UINT DstSubresource, | ||
| 36116 | _In_ UINT DstX, | ||
| 36117 | _In_ UINT DstY, | ||
| 36118 | _In_ ID3D12Resource *pSrcResource, | ||
| 36119 | _In_ UINT SrcSubresource, | ||
| 36120 | _In_opt_ D3D12_RECT *pSrcRect, | ||
| 36121 | _In_ DXGI_FORMAT Format, | ||
| 36122 | _In_ D3D12_RESOLVE_MODE ResolveMode); | ||
| 36123 | |||
| 36124 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList1, SetViewInstanceMask) | ||
| 36125 | void ( STDMETHODCALLTYPE *SetViewInstanceMask )( | ||
| 36126 | ID3D12GraphicsCommandList10 * This, | ||
| 36127 | _In_ UINT Mask); | ||
| 36128 | |||
| 36129 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList2, WriteBufferImmediate) | ||
| 36130 | void ( STDMETHODCALLTYPE *WriteBufferImmediate )( | ||
| 36131 | ID3D12GraphicsCommandList10 * This, | ||
| 36132 | UINT Count, | ||
| 36133 | _In_reads_(Count) const D3D12_WRITEBUFFERIMMEDIATE_PARAMETER *pParams, | ||
| 36134 | _In_reads_opt_(Count) const D3D12_WRITEBUFFERIMMEDIATE_MODE *pModes); | ||
| 36135 | |||
| 36136 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList3, SetProtectedResourceSession) | ||
| 36137 | void ( STDMETHODCALLTYPE *SetProtectedResourceSession )( | ||
| 36138 | ID3D12GraphicsCommandList10 * This, | ||
| 36139 | _In_opt_ ID3D12ProtectedResourceSession *pProtectedResourceSession); | ||
| 36140 | |||
| 36141 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList4, BeginRenderPass) | ||
| 36142 | void ( STDMETHODCALLTYPE *BeginRenderPass )( | ||
| 36143 | ID3D12GraphicsCommandList10 * This, | ||
| 36144 | _In_ UINT NumRenderTargets, | ||
| 36145 | _In_reads_opt_(NumRenderTargets) const D3D12_RENDER_PASS_RENDER_TARGET_DESC *pRenderTargets, | ||
| 36146 | _In_opt_ const D3D12_RENDER_PASS_DEPTH_STENCIL_DESC *pDepthStencil, | ||
| 36147 | D3D12_RENDER_PASS_FLAGS Flags); | ||
| 36148 | |||
| 36149 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList4, EndRenderPass) | ||
| 36150 | void ( STDMETHODCALLTYPE *EndRenderPass )( | ||
| 36151 | ID3D12GraphicsCommandList10 * This); | ||
| 36152 | |||
| 36153 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList4, InitializeMetaCommand) | ||
| 36154 | void ( STDMETHODCALLTYPE *InitializeMetaCommand )( | ||
| 36155 | ID3D12GraphicsCommandList10 * This, | ||
| 36156 | _In_ ID3D12MetaCommand *pMetaCommand, | ||
| 36157 | _In_reads_bytes_opt_(InitializationParametersDataSizeInBytes) const void *pInitializationParametersData, | ||
| 36158 | _In_ SIZE_T InitializationParametersDataSizeInBytes); | ||
| 36159 | |||
| 36160 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList4, ExecuteMetaCommand) | ||
| 36161 | void ( STDMETHODCALLTYPE *ExecuteMetaCommand )( | ||
| 36162 | ID3D12GraphicsCommandList10 * This, | ||
| 36163 | _In_ ID3D12MetaCommand *pMetaCommand, | ||
| 36164 | _In_reads_bytes_opt_(ExecutionParametersDataSizeInBytes) const void *pExecutionParametersData, | ||
| 36165 | _In_ SIZE_T ExecutionParametersDataSizeInBytes); | ||
| 36166 | |||
| 36167 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList4, BuildRaytracingAccelerationStructure) | ||
| 36168 | void ( STDMETHODCALLTYPE *BuildRaytracingAccelerationStructure )( | ||
| 36169 | ID3D12GraphicsCommandList10 * This, | ||
| 36170 | _In_ const D3D12_BUILD_RAYTRACING_ACCELERATION_STRUCTURE_DESC *pDesc, | ||
| 36171 | _In_ UINT NumPostbuildInfoDescs, | ||
| 36172 | _In_reads_opt_(NumPostbuildInfoDescs) const D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_DESC *pPostbuildInfoDescs); | ||
| 36173 | |||
| 36174 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList4, EmitRaytracingAccelerationStructurePostbuildInfo) | ||
| 36175 | void ( STDMETHODCALLTYPE *EmitRaytracingAccelerationStructurePostbuildInfo )( | ||
| 36176 | ID3D12GraphicsCommandList10 * This, | ||
| 36177 | _In_ const D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_DESC *pDesc, | ||
| 36178 | _In_ UINT NumSourceAccelerationStructures, | ||
| 36179 | _In_reads_( NumSourceAccelerationStructures ) const D3D12_GPU_VIRTUAL_ADDRESS *pSourceAccelerationStructureData); | ||
| 36180 | |||
| 36181 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList4, CopyRaytracingAccelerationStructure) | ||
| 36182 | void ( STDMETHODCALLTYPE *CopyRaytracingAccelerationStructure )( | ||
| 36183 | ID3D12GraphicsCommandList10 * This, | ||
| 36184 | _In_ D3D12_GPU_VIRTUAL_ADDRESS DestAccelerationStructureData, | ||
| 36185 | _In_ D3D12_GPU_VIRTUAL_ADDRESS SourceAccelerationStructureData, | ||
| 36186 | _In_ D3D12_RAYTRACING_ACCELERATION_STRUCTURE_COPY_MODE Mode); | ||
| 36187 | |||
| 36188 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList4, SetPipelineState1) | ||
| 36189 | void ( STDMETHODCALLTYPE *SetPipelineState1 )( | ||
| 36190 | ID3D12GraphicsCommandList10 * This, | ||
| 36191 | _In_ ID3D12StateObject *pStateObject); | ||
| 36192 | |||
| 36193 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList4, DispatchRays) | ||
| 36194 | void ( STDMETHODCALLTYPE *DispatchRays )( | ||
| 36195 | ID3D12GraphicsCommandList10 * This, | ||
| 36196 | _In_ const D3D12_DISPATCH_RAYS_DESC *pDesc); | ||
| 36197 | |||
| 36198 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList5, RSSetShadingRate) | ||
| 36199 | void ( STDMETHODCALLTYPE *RSSetShadingRate )( | ||
| 36200 | ID3D12GraphicsCommandList10 * This, | ||
| 36201 | _In_ D3D12_SHADING_RATE baseShadingRate, | ||
| 36202 | _In_reads_opt_(D3D12_RS_SET_SHADING_RATE_COMBINER_COUNT) const D3D12_SHADING_RATE_COMBINER *combiners); | ||
| 36203 | |||
| 36204 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList5, RSSetShadingRateImage) | ||
| 36205 | void ( STDMETHODCALLTYPE *RSSetShadingRateImage )( | ||
| 36206 | ID3D12GraphicsCommandList10 * This, | ||
| 36207 | _In_opt_ ID3D12Resource *shadingRateImage); | ||
| 36208 | |||
| 36209 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList6, DispatchMesh) | ||
| 36210 | void ( STDMETHODCALLTYPE *DispatchMesh )( | ||
| 36211 | ID3D12GraphicsCommandList10 * This, | ||
| 36212 | _In_ UINT ThreadGroupCountX, | ||
| 36213 | _In_ UINT ThreadGroupCountY, | ||
| 36214 | _In_ UINT ThreadGroupCountZ); | ||
| 36215 | |||
| 36216 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList7, Barrier) | ||
| 36217 | void ( STDMETHODCALLTYPE *Barrier )( | ||
| 36218 | ID3D12GraphicsCommandList10 * This, | ||
| 36219 | UINT32 NumBarrierGroups, | ||
| 36220 | _In_reads_(NumBarrierGroups) const D3D12_BARRIER_GROUP *pBarrierGroups); | ||
| 36221 | |||
| 36222 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList8, OMSetFrontAndBackStencilRef) | ||
| 36223 | void ( STDMETHODCALLTYPE *OMSetFrontAndBackStencilRef )( | ||
| 36224 | ID3D12GraphicsCommandList10 * This, | ||
| 36225 | _In_ UINT FrontStencilRef, | ||
| 36226 | _In_ UINT BackStencilRef); | ||
| 36227 | |||
| 36228 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList9, RSSetDepthBias) | ||
| 36229 | void ( STDMETHODCALLTYPE *RSSetDepthBias )( | ||
| 36230 | ID3D12GraphicsCommandList10 * This, | ||
| 36231 | _In_ FLOAT DepthBias, | ||
| 36232 | _In_ FLOAT DepthBiasClamp, | ||
| 36233 | _In_ FLOAT SlopeScaledDepthBias); | ||
| 36234 | |||
| 36235 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList9, IASetIndexBufferStripCutValue) | ||
| 36236 | void ( STDMETHODCALLTYPE *IASetIndexBufferStripCutValue )( | ||
| 36237 | ID3D12GraphicsCommandList10 * This, | ||
| 36238 | _In_ D3D12_INDEX_BUFFER_STRIP_CUT_VALUE IBStripCutValue); | ||
| 36239 | |||
| 36240 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList10, SetProgram) | ||
| 36241 | void ( STDMETHODCALLTYPE *SetProgram )( | ||
| 36242 | ID3D12GraphicsCommandList10 * This, | ||
| 36243 | _In_ const D3D12_SET_PROGRAM_DESC *pDesc); | ||
| 36244 | |||
| 36245 | DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList10, DispatchGraph) | ||
| 36246 | void ( STDMETHODCALLTYPE *DispatchGraph )( | ||
| 36247 | ID3D12GraphicsCommandList10 * This, | ||
| 36248 | _In_ const D3D12_DISPATCH_GRAPH_DESC *pDesc); | ||
| 36249 | |||
| 36250 | END_INTERFACE | ||
| 36251 | } ID3D12GraphicsCommandList10Vtbl; | ||
| 36252 | |||
| 36253 | interface ID3D12GraphicsCommandList10 | ||
| 36254 | { | ||
| 36255 | CONST_VTBL struct ID3D12GraphicsCommandList10Vtbl *lpVtbl; | ||
| 36256 | }; | ||
| 36257 | |||
| 36258 | |||
| 36259 | |||
| 36260 | #ifdef COBJMACROS | ||
| 36261 | |||
| 36262 | |||
| 36263 | #define ID3D12GraphicsCommandList10_QueryInterface(This,riid,ppvObject) \ | ||
| 36264 | ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) | ||
| 36265 | |||
| 36266 | #define ID3D12GraphicsCommandList10_AddRef(This) \ | ||
| 36267 | ( (This)->lpVtbl -> AddRef(This) ) | ||
| 36268 | |||
| 36269 | #define ID3D12GraphicsCommandList10_Release(This) \ | ||
| 36270 | ( (This)->lpVtbl -> Release(This) ) | ||
| 36271 | |||
| 36272 | |||
| 36273 | #define ID3D12GraphicsCommandList10_GetPrivateData(This,guid,pDataSize,pData) \ | ||
| 36274 | ( (This)->lpVtbl -> GetPrivateData(This,guid,pDataSize,pData) ) | ||
| 36275 | |||
| 36276 | #define ID3D12GraphicsCommandList10_SetPrivateData(This,guid,DataSize,pData) \ | ||
| 36277 | ( (This)->lpVtbl -> SetPrivateData(This,guid,DataSize,pData) ) | ||
| 36278 | |||
| 36279 | #define ID3D12GraphicsCommandList10_SetPrivateDataInterface(This,guid,pData) \ | ||
| 36280 | ( (This)->lpVtbl -> SetPrivateDataInterface(This,guid,pData) ) | ||
| 36281 | |||
| 36282 | #define ID3D12GraphicsCommandList10_SetName(This,Name) \ | ||
| 36283 | ( (This)->lpVtbl -> SetName(This,Name) ) | ||
| 36284 | |||
| 36285 | |||
| 36286 | #define ID3D12GraphicsCommandList10_GetDevice(This,riid,ppvDevice) \ | ||
| 36287 | ( (This)->lpVtbl -> GetDevice(This,riid,ppvDevice) ) | ||
| 36288 | |||
| 36289 | |||
| 36290 | #define ID3D12GraphicsCommandList10_GetType(This) \ | ||
| 36291 | ( (This)->lpVtbl -> GetType(This) ) | ||
| 36292 | |||
| 36293 | |||
| 36294 | #define ID3D12GraphicsCommandList10_Close(This) \ | ||
| 36295 | ( (This)->lpVtbl -> Close(This) ) | ||
| 36296 | |||
| 36297 | #define ID3D12GraphicsCommandList10_Reset(This,pAllocator,pInitialState) \ | ||
| 36298 | ( (This)->lpVtbl -> Reset(This,pAllocator,pInitialState) ) | ||
| 36299 | |||
| 36300 | #define ID3D12GraphicsCommandList10_ClearState(This,pPipelineState) \ | ||
| 36301 | ( (This)->lpVtbl -> ClearState(This,pPipelineState) ) | ||
| 36302 | |||
| 36303 | #define ID3D12GraphicsCommandList10_DrawInstanced(This,VertexCountPerInstance,InstanceCount,StartVertexLocation,StartInstanceLocation) \ | ||
| 36304 | ( (This)->lpVtbl -> DrawInstanced(This,VertexCountPerInstance,InstanceCount,StartVertexLocation,StartInstanceLocation) ) | ||
| 36305 | |||
| 36306 | #define ID3D12GraphicsCommandList10_DrawIndexedInstanced(This,IndexCountPerInstance,InstanceCount,StartIndexLocation,BaseVertexLocation,StartInstanceLocation) \ | ||
| 36307 | ( (This)->lpVtbl -> DrawIndexedInstanced(This,IndexCountPerInstance,InstanceCount,StartIndexLocation,BaseVertexLocation,StartInstanceLocation) ) | ||
| 36308 | |||
| 36309 | #define ID3D12GraphicsCommandList10_Dispatch(This,ThreadGroupCountX,ThreadGroupCountY,ThreadGroupCountZ) \ | ||
| 36310 | ( (This)->lpVtbl -> Dispatch(This,ThreadGroupCountX,ThreadGroupCountY,ThreadGroupCountZ) ) | ||
| 36311 | |||
| 36312 | #define ID3D12GraphicsCommandList10_CopyBufferRegion(This,pDstBuffer,DstOffset,pSrcBuffer,SrcOffset,NumBytes) \ | ||
| 36313 | ( (This)->lpVtbl -> CopyBufferRegion(This,pDstBuffer,DstOffset,pSrcBuffer,SrcOffset,NumBytes) ) | ||
| 36314 | |||
| 36315 | #define ID3D12GraphicsCommandList10_CopyTextureRegion(This,pDst,DstX,DstY,DstZ,pSrc,pSrcBox) \ | ||
| 36316 | ( (This)->lpVtbl -> CopyTextureRegion(This,pDst,DstX,DstY,DstZ,pSrc,pSrcBox) ) | ||
| 36317 | |||
| 36318 | #define ID3D12GraphicsCommandList10_CopyResource(This,pDstResource,pSrcResource) \ | ||
| 36319 | ( (This)->lpVtbl -> CopyResource(This,pDstResource,pSrcResource) ) | ||
| 36320 | |||
| 36321 | #define ID3D12GraphicsCommandList10_CopyTiles(This,pTiledResource,pTileRegionStartCoordinate,pTileRegionSize,pBuffer,BufferStartOffsetInBytes,Flags) \ | ||
| 36322 | ( (This)->lpVtbl -> CopyTiles(This,pTiledResource,pTileRegionStartCoordinate,pTileRegionSize,pBuffer,BufferStartOffsetInBytes,Flags) ) | ||
| 36323 | |||
| 36324 | #define ID3D12GraphicsCommandList10_ResolveSubresource(This,pDstResource,DstSubresource,pSrcResource,SrcSubresource,Format) \ | ||
| 36325 | ( (This)->lpVtbl -> ResolveSubresource(This,pDstResource,DstSubresource,pSrcResource,SrcSubresource,Format) ) | ||
| 36326 | |||
| 36327 | #define ID3D12GraphicsCommandList10_IASetPrimitiveTopology(This,PrimitiveTopology) \ | ||
| 36328 | ( (This)->lpVtbl -> IASetPrimitiveTopology(This,PrimitiveTopology) ) | ||
| 36329 | |||
| 36330 | #define ID3D12GraphicsCommandList10_RSSetViewports(This,NumViewports,pViewports) \ | ||
| 36331 | ( (This)->lpVtbl -> RSSetViewports(This,NumViewports,pViewports) ) | ||
| 36332 | |||
| 36333 | #define ID3D12GraphicsCommandList10_RSSetScissorRects(This,NumRects,pRects) \ | ||
| 36334 | ( (This)->lpVtbl -> RSSetScissorRects(This,NumRects,pRects) ) | ||
| 36335 | |||
| 36336 | #define ID3D12GraphicsCommandList10_OMSetBlendFactor(This,BlendFactor) \ | ||
| 36337 | ( (This)->lpVtbl -> OMSetBlendFactor(This,BlendFactor) ) | ||
| 36338 | |||
| 36339 | #define ID3D12GraphicsCommandList10_OMSetStencilRef(This,StencilRef) \ | ||
| 36340 | ( (This)->lpVtbl -> OMSetStencilRef(This,StencilRef) ) | ||
| 36341 | |||
| 36342 | #define ID3D12GraphicsCommandList10_SetPipelineState(This,pPipelineState) \ | ||
| 36343 | ( (This)->lpVtbl -> SetPipelineState(This,pPipelineState) ) | ||
| 36344 | |||
| 36345 | #define ID3D12GraphicsCommandList10_ResourceBarrier(This,NumBarriers,pBarriers) \ | ||
| 36346 | ( (This)->lpVtbl -> ResourceBarrier(This,NumBarriers,pBarriers) ) | ||
| 36347 | |||
| 36348 | #define ID3D12GraphicsCommandList10_ExecuteBundle(This,pCommandList) \ | ||
| 36349 | ( (This)->lpVtbl -> ExecuteBundle(This,pCommandList) ) | ||
| 36350 | |||
| 36351 | #define ID3D12GraphicsCommandList10_SetDescriptorHeaps(This,NumDescriptorHeaps,ppDescriptorHeaps) \ | ||
| 36352 | ( (This)->lpVtbl -> SetDescriptorHeaps(This,NumDescriptorHeaps,ppDescriptorHeaps) ) | ||
| 36353 | |||
| 36354 | #define ID3D12GraphicsCommandList10_SetComputeRootSignature(This,pRootSignature) \ | ||
| 36355 | ( (This)->lpVtbl -> SetComputeRootSignature(This,pRootSignature) ) | ||
| 36356 | |||
| 36357 | #define ID3D12GraphicsCommandList10_SetGraphicsRootSignature(This,pRootSignature) \ | ||
| 36358 | ( (This)->lpVtbl -> SetGraphicsRootSignature(This,pRootSignature) ) | ||
| 36359 | |||
| 36360 | #define ID3D12GraphicsCommandList10_SetComputeRootDescriptorTable(This,RootParameterIndex,BaseDescriptor) \ | ||
| 36361 | ( (This)->lpVtbl -> SetComputeRootDescriptorTable(This,RootParameterIndex,BaseDescriptor) ) | ||
| 36362 | |||
| 36363 | #define ID3D12GraphicsCommandList10_SetGraphicsRootDescriptorTable(This,RootParameterIndex,BaseDescriptor) \ | ||
| 36364 | ( (This)->lpVtbl -> SetGraphicsRootDescriptorTable(This,RootParameterIndex,BaseDescriptor) ) | ||
| 36365 | |||
| 36366 | #define ID3D12GraphicsCommandList10_SetComputeRoot32BitConstant(This,RootParameterIndex,SrcData,DestOffsetIn32BitValues) \ | ||
| 36367 | ( (This)->lpVtbl -> SetComputeRoot32BitConstant(This,RootParameterIndex,SrcData,DestOffsetIn32BitValues) ) | ||
| 36368 | |||
| 36369 | #define ID3D12GraphicsCommandList10_SetGraphicsRoot32BitConstant(This,RootParameterIndex,SrcData,DestOffsetIn32BitValues) \ | ||
| 36370 | ( (This)->lpVtbl -> SetGraphicsRoot32BitConstant(This,RootParameterIndex,SrcData,DestOffsetIn32BitValues) ) | ||
| 36371 | |||
| 36372 | #define ID3D12GraphicsCommandList10_SetComputeRoot32BitConstants(This,RootParameterIndex,Num32BitValuesToSet,pSrcData,DestOffsetIn32BitValues) \ | ||
| 36373 | ( (This)->lpVtbl -> SetComputeRoot32BitConstants(This,RootParameterIndex,Num32BitValuesToSet,pSrcData,DestOffsetIn32BitValues) ) | ||
| 36374 | |||
| 36375 | #define ID3D12GraphicsCommandList10_SetGraphicsRoot32BitConstants(This,RootParameterIndex,Num32BitValuesToSet,pSrcData,DestOffsetIn32BitValues) \ | ||
| 36376 | ( (This)->lpVtbl -> SetGraphicsRoot32BitConstants(This,RootParameterIndex,Num32BitValuesToSet,pSrcData,DestOffsetIn32BitValues) ) | ||
| 36377 | |||
| 36378 | #define ID3D12GraphicsCommandList10_SetComputeRootConstantBufferView(This,RootParameterIndex,BufferLocation) \ | ||
| 36379 | ( (This)->lpVtbl -> SetComputeRootConstantBufferView(This,RootParameterIndex,BufferLocation) ) | ||
| 36380 | |||
| 36381 | #define ID3D12GraphicsCommandList10_SetGraphicsRootConstantBufferView(This,RootParameterIndex,BufferLocation) \ | ||
| 36382 | ( (This)->lpVtbl -> SetGraphicsRootConstantBufferView(This,RootParameterIndex,BufferLocation) ) | ||
| 36383 | |||
| 36384 | #define ID3D12GraphicsCommandList10_SetComputeRootShaderResourceView(This,RootParameterIndex,BufferLocation) \ | ||
| 36385 | ( (This)->lpVtbl -> SetComputeRootShaderResourceView(This,RootParameterIndex,BufferLocation) ) | ||
| 36386 | |||
| 36387 | #define ID3D12GraphicsCommandList10_SetGraphicsRootShaderResourceView(This,RootParameterIndex,BufferLocation) \ | ||
| 36388 | ( (This)->lpVtbl -> SetGraphicsRootShaderResourceView(This,RootParameterIndex,BufferLocation) ) | ||
| 36389 | |||
| 36390 | #define ID3D12GraphicsCommandList10_SetComputeRootUnorderedAccessView(This,RootParameterIndex,BufferLocation) \ | ||
| 36391 | ( (This)->lpVtbl -> SetComputeRootUnorderedAccessView(This,RootParameterIndex,BufferLocation) ) | ||
| 36392 | |||
| 36393 | #define ID3D12GraphicsCommandList10_SetGraphicsRootUnorderedAccessView(This,RootParameterIndex,BufferLocation) \ | ||
| 36394 | ( (This)->lpVtbl -> SetGraphicsRootUnorderedAccessView(This,RootParameterIndex,BufferLocation) ) | ||
| 36395 | |||
| 36396 | #define ID3D12GraphicsCommandList10_IASetIndexBuffer(This,pView) \ | ||
| 36397 | ( (This)->lpVtbl -> IASetIndexBuffer(This,pView) ) | ||
| 36398 | |||
| 36399 | #define ID3D12GraphicsCommandList10_IASetVertexBuffers(This,StartSlot,NumViews,pViews) \ | ||
| 36400 | ( (This)->lpVtbl -> IASetVertexBuffers(This,StartSlot,NumViews,pViews) ) | ||
| 36401 | |||
| 36402 | #define ID3D12GraphicsCommandList10_SOSetTargets(This,StartSlot,NumViews,pViews) \ | ||
| 36403 | ( (This)->lpVtbl -> SOSetTargets(This,StartSlot,NumViews,pViews) ) | ||
| 36404 | |||
| 36405 | #define ID3D12GraphicsCommandList10_OMSetRenderTargets(This,NumRenderTargetDescriptors,pRenderTargetDescriptors,RTsSingleHandleToDescriptorRange,pDepthStencilDescriptor) \ | ||
| 36406 | ( (This)->lpVtbl -> OMSetRenderTargets(This,NumRenderTargetDescriptors,pRenderTargetDescriptors,RTsSingleHandleToDescriptorRange,pDepthStencilDescriptor) ) | ||
| 36407 | |||
| 36408 | #define ID3D12GraphicsCommandList10_ClearDepthStencilView(This,DepthStencilView,ClearFlags,Depth,Stencil,NumRects,pRects) \ | ||
| 36409 | ( (This)->lpVtbl -> ClearDepthStencilView(This,DepthStencilView,ClearFlags,Depth,Stencil,NumRects,pRects) ) | ||
| 36410 | |||
| 36411 | #define ID3D12GraphicsCommandList10_ClearRenderTargetView(This,RenderTargetView,ColorRGBA,NumRects,pRects) \ | ||
| 36412 | ( (This)->lpVtbl -> ClearRenderTargetView(This,RenderTargetView,ColorRGBA,NumRects,pRects) ) | ||
| 36413 | |||
| 36414 | #define ID3D12GraphicsCommandList10_ClearUnorderedAccessViewUint(This,ViewGPUHandleInCurrentHeap,ViewCPUHandle,pResource,Values,NumRects,pRects) \ | ||
| 36415 | ( (This)->lpVtbl -> ClearUnorderedAccessViewUint(This,ViewGPUHandleInCurrentHeap,ViewCPUHandle,pResource,Values,NumRects,pRects) ) | ||
| 36416 | |||
| 36417 | #define ID3D12GraphicsCommandList10_ClearUnorderedAccessViewFloat(This,ViewGPUHandleInCurrentHeap,ViewCPUHandle,pResource,Values,NumRects,pRects) \ | ||
| 36418 | ( (This)->lpVtbl -> ClearUnorderedAccessViewFloat(This,ViewGPUHandleInCurrentHeap,ViewCPUHandle,pResource,Values,NumRects,pRects) ) | ||
| 36419 | |||
| 36420 | #define ID3D12GraphicsCommandList10_DiscardResource(This,pResource,pRegion) \ | ||
| 36421 | ( (This)->lpVtbl -> DiscardResource(This,pResource,pRegion) ) | ||
| 36422 | |||
| 36423 | #define ID3D12GraphicsCommandList10_BeginQuery(This,pQueryHeap,Type,Index) \ | ||
| 36424 | ( (This)->lpVtbl -> BeginQuery(This,pQueryHeap,Type,Index) ) | ||
| 36425 | |||
| 36426 | #define ID3D12GraphicsCommandList10_EndQuery(This,pQueryHeap,Type,Index) \ | ||
| 36427 | ( (This)->lpVtbl -> EndQuery(This,pQueryHeap,Type,Index) ) | ||
| 36428 | |||
| 36429 | #define ID3D12GraphicsCommandList10_ResolveQueryData(This,pQueryHeap,Type,StartIndex,NumQueries,pDestinationBuffer,AlignedDestinationBufferOffset) \ | ||
| 36430 | ( (This)->lpVtbl -> ResolveQueryData(This,pQueryHeap,Type,StartIndex,NumQueries,pDestinationBuffer,AlignedDestinationBufferOffset) ) | ||
| 36431 | |||
| 36432 | #define ID3D12GraphicsCommandList10_SetPredication(This,pBuffer,AlignedBufferOffset,Operation) \ | ||
| 36433 | ( (This)->lpVtbl -> SetPredication(This,pBuffer,AlignedBufferOffset,Operation) ) | ||
| 36434 | |||
| 36435 | #define ID3D12GraphicsCommandList10_SetMarker(This,Metadata,pData,Size) \ | ||
| 36436 | ( (This)->lpVtbl -> SetMarker(This,Metadata,pData,Size) ) | ||
| 36437 | |||
| 36438 | #define ID3D12GraphicsCommandList10_BeginEvent(This,Metadata,pData,Size) \ | ||
| 36439 | ( (This)->lpVtbl -> BeginEvent(This,Metadata,pData,Size) ) | ||
| 36440 | |||
| 36441 | #define ID3D12GraphicsCommandList10_EndEvent(This) \ | ||
| 36442 | ( (This)->lpVtbl -> EndEvent(This) ) | ||
| 36443 | |||
| 36444 | #define ID3D12GraphicsCommandList10_ExecuteIndirect(This,pCommandSignature,MaxCommandCount,pArgumentBuffer,ArgumentBufferOffset,pCountBuffer,CountBufferOffset) \ | ||
| 36445 | ( (This)->lpVtbl -> ExecuteIndirect(This,pCommandSignature,MaxCommandCount,pArgumentBuffer,ArgumentBufferOffset,pCountBuffer,CountBufferOffset) ) | ||
| 36446 | |||
| 36447 | |||
| 36448 | #define ID3D12GraphicsCommandList10_AtomicCopyBufferUINT(This,pDstBuffer,DstOffset,pSrcBuffer,SrcOffset,Dependencies,ppDependentResources,pDependentSubresourceRanges) \ | ||
| 36449 | ( (This)->lpVtbl -> AtomicCopyBufferUINT(This,pDstBuffer,DstOffset,pSrcBuffer,SrcOffset,Dependencies,ppDependentResources,pDependentSubresourceRanges) ) | ||
| 36450 | |||
| 36451 | #define ID3D12GraphicsCommandList10_AtomicCopyBufferUINT64(This,pDstBuffer,DstOffset,pSrcBuffer,SrcOffset,Dependencies,ppDependentResources,pDependentSubresourceRanges) \ | ||
| 36452 | ( (This)->lpVtbl -> AtomicCopyBufferUINT64(This,pDstBuffer,DstOffset,pSrcBuffer,SrcOffset,Dependencies,ppDependentResources,pDependentSubresourceRanges) ) | ||
| 36453 | |||
| 36454 | #define ID3D12GraphicsCommandList10_OMSetDepthBounds(This,Min,Max) \ | ||
| 36455 | ( (This)->lpVtbl -> OMSetDepthBounds(This,Min,Max) ) | ||
| 36456 | |||
| 36457 | #define ID3D12GraphicsCommandList10_SetSamplePositions(This,NumSamplesPerPixel,NumPixels,pSamplePositions) \ | ||
| 36458 | ( (This)->lpVtbl -> SetSamplePositions(This,NumSamplesPerPixel,NumPixels,pSamplePositions) ) | ||
| 36459 | |||
| 36460 | #define ID3D12GraphicsCommandList10_ResolveSubresourceRegion(This,pDstResource,DstSubresource,DstX,DstY,pSrcResource,SrcSubresource,pSrcRect,Format,ResolveMode) \ | ||
| 36461 | ( (This)->lpVtbl -> ResolveSubresourceRegion(This,pDstResource,DstSubresource,DstX,DstY,pSrcResource,SrcSubresource,pSrcRect,Format,ResolveMode) ) | ||
| 36462 | |||
| 36463 | #define ID3D12GraphicsCommandList10_SetViewInstanceMask(This,Mask) \ | ||
| 36464 | ( (This)->lpVtbl -> SetViewInstanceMask(This,Mask) ) | ||
| 36465 | |||
| 36466 | |||
| 36467 | #define ID3D12GraphicsCommandList10_WriteBufferImmediate(This,Count,pParams,pModes) \ | ||
| 36468 | ( (This)->lpVtbl -> WriteBufferImmediate(This,Count,pParams,pModes) ) | ||
| 36469 | |||
| 36470 | |||
| 36471 | #define ID3D12GraphicsCommandList10_SetProtectedResourceSession(This,pProtectedResourceSession) \ | ||
| 36472 | ( (This)->lpVtbl -> SetProtectedResourceSession(This,pProtectedResourceSession) ) | ||
| 36473 | |||
| 36474 | |||
| 36475 | #define ID3D12GraphicsCommandList10_BeginRenderPass(This,NumRenderTargets,pRenderTargets,pDepthStencil,Flags) \ | ||
| 36476 | ( (This)->lpVtbl -> BeginRenderPass(This,NumRenderTargets,pRenderTargets,pDepthStencil,Flags) ) | ||
| 36477 | |||
| 36478 | #define ID3D12GraphicsCommandList10_EndRenderPass(This) \ | ||
| 36479 | ( (This)->lpVtbl -> EndRenderPass(This) ) | ||
| 36480 | |||
| 36481 | #define ID3D12GraphicsCommandList10_InitializeMetaCommand(This,pMetaCommand,pInitializationParametersData,InitializationParametersDataSizeInBytes) \ | ||
| 36482 | ( (This)->lpVtbl -> InitializeMetaCommand(This,pMetaCommand,pInitializationParametersData,InitializationParametersDataSizeInBytes) ) | ||
| 36483 | |||
| 36484 | #define ID3D12GraphicsCommandList10_ExecuteMetaCommand(This,pMetaCommand,pExecutionParametersData,ExecutionParametersDataSizeInBytes) \ | ||
| 36485 | ( (This)->lpVtbl -> ExecuteMetaCommand(This,pMetaCommand,pExecutionParametersData,ExecutionParametersDataSizeInBytes) ) | ||
| 36486 | |||
| 36487 | #define ID3D12GraphicsCommandList10_BuildRaytracingAccelerationStructure(This,pDesc,NumPostbuildInfoDescs,pPostbuildInfoDescs) \ | ||
| 36488 | ( (This)->lpVtbl -> BuildRaytracingAccelerationStructure(This,pDesc,NumPostbuildInfoDescs,pPostbuildInfoDescs) ) | ||
| 36489 | |||
| 36490 | #define ID3D12GraphicsCommandList10_EmitRaytracingAccelerationStructurePostbuildInfo(This,pDesc,NumSourceAccelerationStructures,pSourceAccelerationStructureData) \ | ||
| 36491 | ( (This)->lpVtbl -> EmitRaytracingAccelerationStructurePostbuildInfo(This,pDesc,NumSourceAccelerationStructures,pSourceAccelerationStructureData) ) | ||
| 36492 | |||
| 36493 | #define ID3D12GraphicsCommandList10_CopyRaytracingAccelerationStructure(This,DestAccelerationStructureData,SourceAccelerationStructureData,Mode) \ | ||
| 36494 | ( (This)->lpVtbl -> CopyRaytracingAccelerationStructure(This,DestAccelerationStructureData,SourceAccelerationStructureData,Mode) ) | ||
| 36495 | |||
| 36496 | #define ID3D12GraphicsCommandList10_SetPipelineState1(This,pStateObject) \ | ||
| 36497 | ( (This)->lpVtbl -> SetPipelineState1(This,pStateObject) ) | ||
| 36498 | |||
| 36499 | #define ID3D12GraphicsCommandList10_DispatchRays(This,pDesc) \ | ||
| 36500 | ( (This)->lpVtbl -> DispatchRays(This,pDesc) ) | ||
| 36501 | |||
| 36502 | |||
| 36503 | #define ID3D12GraphicsCommandList10_RSSetShadingRate(This,baseShadingRate,combiners) \ | ||
| 36504 | ( (This)->lpVtbl -> RSSetShadingRate(This,baseShadingRate,combiners) ) | ||
| 36505 | |||
| 36506 | #define ID3D12GraphicsCommandList10_RSSetShadingRateImage(This,shadingRateImage) \ | ||
| 36507 | ( (This)->lpVtbl -> RSSetShadingRateImage(This,shadingRateImage) ) | ||
| 36508 | |||
| 36509 | |||
| 36510 | #define ID3D12GraphicsCommandList10_DispatchMesh(This,ThreadGroupCountX,ThreadGroupCountY,ThreadGroupCountZ) \ | ||
| 36511 | ( (This)->lpVtbl -> DispatchMesh(This,ThreadGroupCountX,ThreadGroupCountY,ThreadGroupCountZ) ) | ||
| 36512 | |||
| 36513 | |||
| 36514 | #define ID3D12GraphicsCommandList10_Barrier(This,NumBarrierGroups,pBarrierGroups) \ | ||
| 36515 | ( (This)->lpVtbl -> Barrier(This,NumBarrierGroups,pBarrierGroups) ) | ||
| 36516 | |||
| 36517 | |||
| 36518 | #define ID3D12GraphicsCommandList10_OMSetFrontAndBackStencilRef(This,FrontStencilRef,BackStencilRef) \ | ||
| 36519 | ( (This)->lpVtbl -> OMSetFrontAndBackStencilRef(This,FrontStencilRef,BackStencilRef) ) | ||
| 36520 | |||
| 36521 | |||
| 36522 | #define ID3D12GraphicsCommandList10_RSSetDepthBias(This,DepthBias,DepthBiasClamp,SlopeScaledDepthBias) \ | ||
| 36523 | ( (This)->lpVtbl -> RSSetDepthBias(This,DepthBias,DepthBiasClamp,SlopeScaledDepthBias) ) | ||
| 36524 | |||
| 36525 | #define ID3D12GraphicsCommandList10_IASetIndexBufferStripCutValue(This,IBStripCutValue) \ | ||
| 36526 | ( (This)->lpVtbl -> IASetIndexBufferStripCutValue(This,IBStripCutValue) ) | ||
| 36527 | |||
| 36528 | |||
| 36529 | #define ID3D12GraphicsCommandList10_SetProgram(This,pDesc) \ | ||
| 36530 | ( (This)->lpVtbl -> SetProgram(This,pDesc) ) | ||
| 36531 | |||
| 36532 | #define ID3D12GraphicsCommandList10_DispatchGraph(This,pDesc) \ | ||
| 36533 | ( (This)->lpVtbl -> DispatchGraph(This,pDesc) ) | ||
| 36534 | |||
| 36535 | #endif /* COBJMACROS */ | ||
| 36536 | |||
| 36537 | |||
| 36538 | #endif /* C style interface */ | ||
| 36539 | |||
| 36540 | |||
| 36541 | |||
| 36542 | |||
| 36543 | #endif /* __ID3D12GraphicsCommandList10_INTERFACE_DEFINED__ */ | ||
| 36544 | |||
| 36545 | |||
| 36546 | #ifndef __ID3D12DSRDeviceFactory_INTERFACE_DEFINED__ | ||
| 36547 | #define __ID3D12DSRDeviceFactory_INTERFACE_DEFINED__ | ||
| 36548 | |||
| 36549 | /* interface ID3D12DSRDeviceFactory */ | ||
| 36550 | /* [unique][local][object][uuid] */ | ||
| 36551 | |||
| 36552 | |||
| 36553 | EXTERN_C const IID IID_ID3D12DSRDeviceFactory; | ||
| 36554 | |||
| 36555 | #if defined(__cplusplus) && !defined(CINTERFACE) | ||
| 36556 | |||
| 36557 | MIDL_INTERFACE("f343d1a0-afe3-439f-b13d-cd87a43b70ca") | ||
| 36558 | ID3D12DSRDeviceFactory : public IUnknown | ||
| 36559 | { | ||
| 36560 | public: | ||
| 36561 | virtual HRESULT STDMETHODCALLTYPE CreateDSRDevice( | ||
| 36562 | ID3D12Device *pD3D12Device, | ||
| 36563 | UINT NodeMask, | ||
| 36564 | REFIID riid, | ||
| 36565 | _COM_Outptr_ void **ppvDSRDevice) = 0; | ||
| 36566 | |||
| 36567 | }; | ||
| 36568 | |||
| 36569 | |||
| 36570 | #else /* C style interface */ | ||
| 36571 | |||
| 36572 | typedef struct ID3D12DSRDeviceFactoryVtbl | ||
| 36573 | { | ||
| 36574 | BEGIN_INTERFACE | ||
| 36575 | |||
| 36576 | DECLSPEC_XFGVIRT(IUnknown, QueryInterface) | ||
| 36577 | HRESULT ( STDMETHODCALLTYPE *QueryInterface )( | ||
| 36578 | ID3D12DSRDeviceFactory * This, | ||
| 36579 | REFIID riid, | ||
| 36580 | _COM_Outptr_ void **ppvObject); | ||
| 36581 | |||
| 36582 | DECLSPEC_XFGVIRT(IUnknown, AddRef) | ||
| 36583 | ULONG ( STDMETHODCALLTYPE *AddRef )( | ||
| 36584 | ID3D12DSRDeviceFactory * This); | ||
| 36585 | |||
| 36586 | DECLSPEC_XFGVIRT(IUnknown, Release) | ||
| 36587 | ULONG ( STDMETHODCALLTYPE *Release )( | ||
| 36588 | ID3D12DSRDeviceFactory * This); | ||
| 36589 | |||
| 36590 | DECLSPEC_XFGVIRT(ID3D12DSRDeviceFactory, CreateDSRDevice) | ||
| 36591 | HRESULT ( STDMETHODCALLTYPE *CreateDSRDevice )( | ||
| 36592 | ID3D12DSRDeviceFactory * This, | ||
| 36593 | ID3D12Device *pD3D12Device, | ||
| 36594 | UINT NodeMask, | ||
| 36595 | REFIID riid, | ||
| 36596 | _COM_Outptr_ void **ppvDSRDevice); | ||
| 36597 | |||
| 36598 | END_INTERFACE | ||
| 36599 | } ID3D12DSRDeviceFactoryVtbl; | ||
| 36600 | |||
| 36601 | interface ID3D12DSRDeviceFactory | ||
| 36602 | { | ||
| 36603 | CONST_VTBL struct ID3D12DSRDeviceFactoryVtbl *lpVtbl; | ||
| 36604 | }; | ||
| 36605 | |||
| 36606 | |||
| 36607 | |||
| 36608 | #ifdef COBJMACROS | ||
| 36609 | |||
| 36610 | |||
| 36611 | #define ID3D12DSRDeviceFactory_QueryInterface(This,riid,ppvObject) \ | ||
| 36612 | ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) | ||
| 36613 | |||
| 36614 | #define ID3D12DSRDeviceFactory_AddRef(This) \ | ||
| 36615 | ( (This)->lpVtbl -> AddRef(This) ) | ||
| 36616 | |||
| 36617 | #define ID3D12DSRDeviceFactory_Release(This) \ | ||
| 36618 | ( (This)->lpVtbl -> Release(This) ) | ||
| 36619 | |||
| 36620 | |||
| 36621 | #define ID3D12DSRDeviceFactory_CreateDSRDevice(This,pD3D12Device,NodeMask,riid,ppvDSRDevice) \ | ||
| 36622 | ( (This)->lpVtbl -> CreateDSRDevice(This,pD3D12Device,NodeMask,riid,ppvDSRDevice) ) | ||
| 36623 | |||
| 36624 | #endif /* COBJMACROS */ | ||
| 36625 | |||
| 36626 | |||
| 36627 | #endif /* C style interface */ | ||
| 36628 | |||
| 36629 | |||
| 36630 | |||
| 36631 | |||
| 36632 | #endif /* __ID3D12DSRDeviceFactory_INTERFACE_DEFINED__ */ | ||
| 36633 | |||
| 36634 | |||
| 36635 | #ifndef __ID3D12GBVDiagnostics_INTERFACE_DEFINED__ | ||
| 36636 | #define __ID3D12GBVDiagnostics_INTERFACE_DEFINED__ | ||
| 36637 | |||
| 36638 | /* interface ID3D12GBVDiagnostics */ | ||
| 36639 | /* [unique][local][object][uuid] */ | ||
| 36640 | |||
| 36641 | |||
| 36642 | EXTERN_C const IID IID_ID3D12GBVDiagnostics; | ||
| 36643 | |||
| 36644 | #if defined(__cplusplus) && !defined(CINTERFACE) | ||
| 36645 | |||
| 36646 | MIDL_INTERFACE("597985ab-9b75-4dbb-be23-0761195bebee") | ||
| 36647 | ID3D12GBVDiagnostics : public IUnknown | ||
| 36648 | { | ||
| 36649 | public: | ||
| 36650 | virtual HRESULT STDMETHODCALLTYPE GetGBVEntireSubresourceStatesData( | ||
| 36651 | _In_ ID3D12Resource *pResource, | ||
| 36652 | _Out_writes_bytes_(DataSize) int *pData, | ||
| 36653 | UINT DataSize) = 0; | ||
| 36654 | |||
| 36655 | virtual HRESULT STDMETHODCALLTYPE GetGBVSubresourceState( | ||
| 36656 | _In_ ID3D12Resource *pResource, | ||
| 36657 | UINT Subresource, | ||
| 36658 | _Out_ int *pData) = 0; | ||
| 36659 | |||
| 36660 | virtual HRESULT STDMETHODCALLTYPE GetGBVResourceUniformState( | ||
| 36661 | _In_ ID3D12Resource *pResource, | ||
| 36662 | _Out_ int *pData) = 0; | ||
| 36663 | |||
| 36664 | virtual HRESULT STDMETHODCALLTYPE GetGBVResourceInfo( | ||
| 36665 | _In_ ID3D12Resource *pResource, | ||
| 36666 | _In_opt_ D3D12_RESOURCE_DESC *pResourceDesc, | ||
| 36667 | _In_opt_ UINT32 *pResourceHash, | ||
| 36668 | _In_opt_ UINT32 *pSubresourceStatesByteOffset) = 0; | ||
| 36669 | |||
| 36670 | virtual void STDMETHODCALLTYPE GBVReserved0( void) = 0; | ||
| 36671 | |||
| 36672 | virtual void STDMETHODCALLTYPE GBVReserved1( void) = 0; | ||
| 36673 | |||
| 36674 | }; | ||
| 36675 | |||
| 36676 | |||
| 36677 | #else /* C style interface */ | ||
| 36678 | |||
| 36679 | typedef struct ID3D12GBVDiagnosticsVtbl | ||
| 36680 | { | ||
| 36681 | BEGIN_INTERFACE | ||
| 36682 | |||
| 36683 | DECLSPEC_XFGVIRT(IUnknown, QueryInterface) | ||
| 36684 | HRESULT ( STDMETHODCALLTYPE *QueryInterface )( | ||
| 36685 | ID3D12GBVDiagnostics * This, | ||
| 36686 | REFIID riid, | ||
| 36687 | _COM_Outptr_ void **ppvObject); | ||
| 36688 | |||
| 36689 | DECLSPEC_XFGVIRT(IUnknown, AddRef) | ||
| 36690 | ULONG ( STDMETHODCALLTYPE *AddRef )( | ||
| 36691 | ID3D12GBVDiagnostics * This); | ||
| 36692 | |||
| 36693 | DECLSPEC_XFGVIRT(IUnknown, Release) | ||
| 36694 | ULONG ( STDMETHODCALLTYPE *Release )( | ||
| 36695 | ID3D12GBVDiagnostics * This); | ||
| 36696 | |||
| 36697 | DECLSPEC_XFGVIRT(ID3D12GBVDiagnostics, GetGBVEntireSubresourceStatesData) | ||
| 36698 | HRESULT ( STDMETHODCALLTYPE *GetGBVEntireSubresourceStatesData )( | ||
| 36699 | ID3D12GBVDiagnostics * This, | ||
| 36700 | _In_ ID3D12Resource *pResource, | ||
| 36701 | _Out_writes_bytes_(DataSize) int *pData, | ||
| 36702 | UINT DataSize); | ||
| 36703 | |||
| 36704 | DECLSPEC_XFGVIRT(ID3D12GBVDiagnostics, GetGBVSubresourceState) | ||
| 36705 | HRESULT ( STDMETHODCALLTYPE *GetGBVSubresourceState )( | ||
| 36706 | ID3D12GBVDiagnostics * This, | ||
| 36707 | _In_ ID3D12Resource *pResource, | ||
| 36708 | UINT Subresource, | ||
| 36709 | _Out_ int *pData); | ||
| 36710 | |||
| 36711 | DECLSPEC_XFGVIRT(ID3D12GBVDiagnostics, GetGBVResourceUniformState) | ||
| 36712 | HRESULT ( STDMETHODCALLTYPE *GetGBVResourceUniformState )( | ||
| 36713 | ID3D12GBVDiagnostics * This, | ||
| 36714 | _In_ ID3D12Resource *pResource, | ||
| 36715 | _Out_ int *pData); | ||
| 36716 | |||
| 36717 | DECLSPEC_XFGVIRT(ID3D12GBVDiagnostics, GetGBVResourceInfo) | ||
| 36718 | HRESULT ( STDMETHODCALLTYPE *GetGBVResourceInfo )( | ||
| 36719 | ID3D12GBVDiagnostics * This, | ||
| 36720 | _In_ ID3D12Resource *pResource, | ||
| 36721 | _In_opt_ D3D12_RESOURCE_DESC *pResourceDesc, | ||
| 36722 | _In_opt_ UINT32 *pResourceHash, | ||
| 36723 | _In_opt_ UINT32 *pSubresourceStatesByteOffset); | ||
| 36724 | |||
| 36725 | DECLSPEC_XFGVIRT(ID3D12GBVDiagnostics, GBVReserved0) | ||
| 36726 | void ( STDMETHODCALLTYPE *GBVReserved0 )( | ||
| 36727 | ID3D12GBVDiagnostics * This); | ||
| 36728 | |||
| 36729 | DECLSPEC_XFGVIRT(ID3D12GBVDiagnostics, GBVReserved1) | ||
| 36730 | void ( STDMETHODCALLTYPE *GBVReserved1 )( | ||
| 36731 | ID3D12GBVDiagnostics * This); | ||
| 36732 | |||
| 36733 | END_INTERFACE | ||
| 36734 | } ID3D12GBVDiagnosticsVtbl; | ||
| 36735 | |||
| 36736 | interface ID3D12GBVDiagnostics | ||
| 36737 | { | ||
| 36738 | CONST_VTBL struct ID3D12GBVDiagnosticsVtbl *lpVtbl; | ||
| 36739 | }; | ||
| 36740 | |||
| 36741 | |||
| 36742 | |||
| 36743 | #ifdef COBJMACROS | ||
| 36744 | |||
| 36745 | |||
| 36746 | #define ID3D12GBVDiagnostics_QueryInterface(This,riid,ppvObject) \ | ||
| 36747 | ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) | ||
| 36748 | |||
| 36749 | #define ID3D12GBVDiagnostics_AddRef(This) \ | ||
| 36750 | ( (This)->lpVtbl -> AddRef(This) ) | ||
| 36751 | |||
| 36752 | #define ID3D12GBVDiagnostics_Release(This) \ | ||
| 36753 | ( (This)->lpVtbl -> Release(This) ) | ||
| 36754 | |||
| 36755 | |||
| 36756 | #define ID3D12GBVDiagnostics_GetGBVEntireSubresourceStatesData(This,pResource,pData,DataSize) \ | ||
| 36757 | ( (This)->lpVtbl -> GetGBVEntireSubresourceStatesData(This,pResource,pData,DataSize) ) | ||
| 36758 | |||
| 36759 | #define ID3D12GBVDiagnostics_GetGBVSubresourceState(This,pResource,Subresource,pData) \ | ||
| 36760 | ( (This)->lpVtbl -> GetGBVSubresourceState(This,pResource,Subresource,pData) ) | ||
| 36761 | |||
| 36762 | #define ID3D12GBVDiagnostics_GetGBVResourceUniformState(This,pResource,pData) \ | ||
| 36763 | ( (This)->lpVtbl -> GetGBVResourceUniformState(This,pResource,pData) ) | ||
| 36764 | |||
| 36765 | #define ID3D12GBVDiagnostics_GetGBVResourceInfo(This,pResource,pResourceDesc,pResourceHash,pSubresourceStatesByteOffset) \ | ||
| 36766 | ( (This)->lpVtbl -> GetGBVResourceInfo(This,pResource,pResourceDesc,pResourceHash,pSubresourceStatesByteOffset) ) | ||
| 36767 | |||
| 36768 | #define ID3D12GBVDiagnostics_GBVReserved0(This) \ | ||
| 36769 | ( (This)->lpVtbl -> GBVReserved0(This) ) | ||
| 36770 | |||
| 36771 | #define ID3D12GBVDiagnostics_GBVReserved1(This) \ | ||
| 36772 | ( (This)->lpVtbl -> GBVReserved1(This) ) | ||
| 36773 | |||
| 36774 | #endif /* COBJMACROS */ | ||
| 36775 | |||
| 36776 | |||
| 36777 | #endif /* C style interface */ | ||
| 36778 | |||
| 36779 | |||
| 36780 | |||
| 36781 | |||
| 36782 | #endif /* __ID3D12GBVDiagnostics_INTERFACE_DEFINED__ */ | ||
| 36783 | |||
| 36784 | |||
| 36785 | /* interface __MIDL_itf_d3d12_0000_0085 */ | ||
| 36786 | /* [local] */ | ||
| 36787 | |||
| 36788 | #endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP | WINAPI_PARTITION_GAMES) */ | ||
| 36789 | #pragma endregion | ||
| 36790 | DEFINE_GUID(IID_ID3D12Object,0xc4fec28f,0x7966,0x4e95,0x9f,0x94,0xf4,0x31,0xcb,0x56,0xc3,0xb8); | ||
| 36791 | DEFINE_GUID(IID_ID3D12DeviceChild,0x905db94b,0xa00c,0x4140,0x9d,0xf5,0x2b,0x64,0xca,0x9e,0xa3,0x57); | ||
| 36792 | DEFINE_GUID(IID_ID3D12RootSignature,0xc54a6b66,0x72df,0x4ee8,0x8b,0xe5,0xa9,0x46,0xa1,0x42,0x92,0x14); | ||
| 36793 | DEFINE_GUID(IID_ID3D12RootSignatureDeserializer,0x34AB647B,0x3CC8,0x46AC,0x84,0x1B,0xC0,0x96,0x56,0x45,0xC0,0x46); | ||
| 36794 | DEFINE_GUID(IID_ID3D12VersionedRootSignatureDeserializer,0x7F91CE67,0x090C,0x4BB7,0xB7,0x8E,0xED,0x8F,0xF2,0xE3,0x1D,0xA0); | ||
| 36795 | DEFINE_GUID(IID_ID3D12Pageable,0x63ee58fb,0x1268,0x4835,0x86,0xda,0xf0,0x08,0xce,0x62,0xf0,0xd6); | ||
| 36796 | DEFINE_GUID(IID_ID3D12Heap,0x6b3b2502,0x6e51,0x45b3,0x90,0xee,0x98,0x84,0x26,0x5e,0x8d,0xf3); | ||
| 36797 | DEFINE_GUID(IID_ID3D12Resource,0x696442be,0xa72e,0x4059,0xbc,0x79,0x5b,0x5c,0x98,0x04,0x0f,0xad); | ||
| 36798 | DEFINE_GUID(IID_ID3D12CommandAllocator,0x6102dee4,0xaf59,0x4b09,0xb9,0x99,0xb4,0x4d,0x73,0xf0,0x9b,0x24); | ||
| 36799 | DEFINE_GUID(IID_ID3D12Fence,0x0a753dcf,0xc4d8,0x4b91,0xad,0xf6,0xbe,0x5a,0x60,0xd9,0x5a,0x76); | ||
| 36800 | DEFINE_GUID(IID_ID3D12Fence1,0x433685fe,0xe22b,0x4ca0,0xa8,0xdb,0xb5,0xb4,0xf4,0xdd,0x0e,0x4a); | ||
| 36801 | DEFINE_GUID(IID_ID3D12PipelineState,0x765a30f3,0xf624,0x4c6f,0xa8,0x28,0xac,0xe9,0x48,0x62,0x24,0x45); | ||
| 36802 | DEFINE_GUID(IID_ID3D12PipelineState1,0x5646804c,0x9638,0x48f7,0x91,0x82,0xb3,0xee,0x5a,0x6b,0x60,0xfb); | ||
| 36803 | DEFINE_GUID(IID_ID3D12DescriptorHeap,0x8efb471d,0x616c,0x4f49,0x90,0xf7,0x12,0x7b,0xb7,0x63,0xfa,0x51); | ||
| 36804 | DEFINE_GUID(IID_ID3D12QueryHeap,0x0d9658ae,0xed45,0x469e,0xa6,0x1d,0x97,0x0e,0xc5,0x83,0xca,0xb4); | ||
| 36805 | DEFINE_GUID(IID_ID3D12CommandSignature,0xc36a797c,0xec80,0x4f0a,0x89,0x85,0xa7,0xb2,0x47,0x50,0x82,0xd1); | ||
| 36806 | DEFINE_GUID(IID_ID3D12CommandList,0x7116d91c,0xe7e4,0x47ce,0xb8,0xc6,0xec,0x81,0x68,0xf4,0x37,0xe5); | ||
| 36807 | DEFINE_GUID(IID_ID3D12GraphicsCommandList,0x5b160d0f,0xac1b,0x4185,0x8b,0xa8,0xb3,0xae,0x42,0xa5,0xa4,0x55); | ||
| 36808 | DEFINE_GUID(IID_ID3D12GraphicsCommandList1,0x553103fb,0x1fe7,0x4557,0xbb,0x38,0x94,0x6d,0x7d,0x0e,0x7c,0xa7); | ||
| 36809 | DEFINE_GUID(IID_ID3D12GraphicsCommandList2,0x38C3E585,0xFF17,0x412C,0x91,0x50,0x4F,0xC6,0xF9,0xD7,0x2A,0x28); | ||
| 36810 | DEFINE_GUID(IID_ID3D12CommandQueue,0x0ec870a6,0x5d7e,0x4c22,0x8c,0xfc,0x5b,0xaa,0xe0,0x76,0x16,0xed); | ||
| 36811 | DEFINE_GUID(IID_ID3D12CommandQueue1,0x3a3c3165,0x0ee7,0x4b8e,0xa0,0xaf,0x63,0x56,0xb4,0xc3,0xbb,0xb9); | ||
| 36812 | DEFINE_GUID(IID_ID3D12Device,0x189819f1,0x1db6,0x4b57,0xbe,0x54,0x18,0x21,0x33,0x9b,0x85,0xf7); | ||
| 36813 | DEFINE_GUID(IID_ID3D12PipelineLibrary,0xc64226a8,0x9201,0x46af,0xb4,0xcc,0x53,0xfb,0x9f,0xf7,0x41,0x4f); | ||
| 36814 | DEFINE_GUID(IID_ID3D12PipelineLibrary1,0x80eabf42,0x2568,0x4e5e,0xbd,0x82,0xc3,0x7f,0x86,0x96,0x1d,0xc3); | ||
| 36815 | DEFINE_GUID(IID_ID3D12Device1,0x77acce80,0x638e,0x4e65,0x88,0x95,0xc1,0xf2,0x33,0x86,0x86,0x3e); | ||
| 36816 | DEFINE_GUID(IID_ID3D12Device2,0x30baa41e,0xb15b,0x475c,0xa0,0xbb,0x1a,0xf5,0xc5,0xb6,0x43,0x28); | ||
| 36817 | DEFINE_GUID(IID_ID3D12Device3,0x81dadc15,0x2bad,0x4392,0x93,0xc5,0x10,0x13,0x45,0xc4,0xaa,0x98); | ||
| 36818 | DEFINE_GUID(IID_ID3D12ProtectedSession,0xA1533D18,0x0AC1,0x4084,0x85,0xB9,0x89,0xA9,0x61,0x16,0x80,0x6B); | ||
| 36819 | DEFINE_GUID(IID_ID3D12ProtectedResourceSession,0x6CD696F4,0xF289,0x40CC,0x80,0x91,0x5A,0x6C,0x0A,0x09,0x9C,0x3D); | ||
| 36820 | DEFINE_GUID(IID_ID3D12Device4,0xe865df17,0xa9ee,0x46f9,0xa4,0x63,0x30,0x98,0x31,0x5a,0xa2,0xe5); | ||
| 36821 | DEFINE_GUID(IID_ID3D12LifetimeOwner,0xe667af9f,0xcd56,0x4f46,0x83,0xce,0x03,0x2e,0x59,0x5d,0x70,0xa8); | ||
| 36822 | DEFINE_GUID(IID_ID3D12SwapChainAssistant,0xf1df64b6,0x57fd,0x49cd,0x88,0x07,0xc0,0xeb,0x88,0xb4,0x5c,0x8f); | ||
| 36823 | DEFINE_GUID(IID_ID3D12LifetimeTracker,0x3fd03d36,0x4eb1,0x424a,0xa5,0x82,0x49,0x4e,0xcb,0x8b,0xa8,0x13); | ||
| 36824 | DEFINE_GUID(IID_ID3D12StateObject,0x47016943,0xfca8,0x4594,0x93,0xea,0xaf,0x25,0x8b,0x55,0x34,0x6d); | ||
| 36825 | DEFINE_GUID(IID_ID3D12StateObjectProperties,0xde5fa827,0x9bf9,0x4f26,0x89,0xff,0xd7,0xf5,0x6f,0xde,0x38,0x60); | ||
| 36826 | DEFINE_GUID(IID_ID3D12StateObjectProperties1,0x460caac7,0x1d24,0x446a,0xa1,0x84,0xca,0x67,0xdb,0x49,0x41,0x38); | ||
| 36827 | DEFINE_GUID(IID_ID3D12StateObjectProperties2,0xd5e82917,0xf0f1,0x44cf,0xae,0x5e,0xce,0x22,0x2d,0xd0,0xb8,0x84); | ||
| 36828 | DEFINE_GUID(IID_ID3D12WorkGraphProperties,0x065acf71,0xf863,0x4b89,0x82,0xf4,0x02,0xe4,0xd5,0x88,0x67,0x57); | ||
| 36829 | DEFINE_GUID(IID_ID3D12Device5,0x8b4f173b,0x2fea,0x4b80,0x8f,0x58,0x43,0x07,0x19,0x1a,0xb9,0x5d); | ||
| 36830 | DEFINE_GUID(IID_ID3D12DeviceRemovedExtendedDataSettings,0x82BC481C,0x6B9B,0x4030,0xAE,0xDB,0x7E,0xE3,0xD1,0xDF,0x1E,0x63); | ||
| 36831 | DEFINE_GUID(IID_ID3D12DeviceRemovedExtendedDataSettings1,0xDBD5AE51,0x3317,0x4F0A,0xAD,0xF9,0x1D,0x7C,0xED,0xCA,0xAE,0x0B); | ||
| 36832 | DEFINE_GUID(IID_ID3D12DeviceRemovedExtendedDataSettings2,0x61552388,0x01ab,0x4008,0xa4,0x36,0x83,0xdb,0x18,0x95,0x66,0xea); | ||
| 36833 | DEFINE_GUID(IID_ID3D12DeviceRemovedExtendedData,0x98931D33,0x5AE8,0x4791,0xAA,0x3C,0x1A,0x73,0xA2,0x93,0x4E,0x71); | ||
| 36834 | DEFINE_GUID(IID_ID3D12DeviceRemovedExtendedData1,0x9727A022,0xCF1D,0x4DDA,0x9E,0xBA,0xEF,0xFA,0x65,0x3F,0xC5,0x06); | ||
| 36835 | DEFINE_GUID(IID_ID3D12DeviceRemovedExtendedData2,0x67FC5816,0xE4CA,0x4915,0xBF,0x18,0x42,0x54,0x12,0x72,0xDA,0x54); | ||
| 36836 | DEFINE_GUID(IID_ID3D12Device6,0xc70b221b,0x40e4,0x4a17,0x89,0xaf,0x02,0x5a,0x07,0x27,0xa6,0xdc); | ||
| 36837 | DEFINE_GUID(IID_ID3D12ProtectedResourceSession1,0xD6F12DD6,0x76FB,0x406E,0x89,0x61,0x42,0x96,0xEE,0xFC,0x04,0x09); | ||
| 36838 | DEFINE_GUID(IID_ID3D12Device7,0x5c014b53,0x68a1,0x4b9b,0x8b,0xd1,0xdd,0x60,0x46,0xb9,0x35,0x8b); | ||
| 36839 | DEFINE_GUID(IID_ID3D12Device8,0x9218E6BB,0xF944,0x4F7E,0xA7,0x5C,0xB1,0xB2,0xC7,0xB7,0x01,0xF3); | ||
| 36840 | DEFINE_GUID(IID_ID3D12Resource1,0x9D5E227A,0x4430,0x4161,0x88,0xB3,0x3E,0xCA,0x6B,0xB1,0x6E,0x19); | ||
| 36841 | DEFINE_GUID(IID_ID3D12Resource2,0xBE36EC3B,0xEA85,0x4AEB,0xA4,0x5A,0xE9,0xD7,0x64,0x04,0xA4,0x95); | ||
| 36842 | DEFINE_GUID(IID_ID3D12Heap1,0x572F7389,0x2168,0x49E3,0x96,0x93,0xD6,0xDF,0x58,0x71,0xBF,0x6D); | ||
| 36843 | DEFINE_GUID(IID_ID3D12GraphicsCommandList3,0x6FDA83A7,0xB84C,0x4E38,0x9A,0xC8,0xC7,0xBD,0x22,0x01,0x6B,0x3D); | ||
| 36844 | DEFINE_GUID(IID_ID3D12MetaCommand,0xDBB84C27,0x36CE,0x4FC9,0xB8,0x01,0xF0,0x48,0xC4,0x6A,0xC5,0x70); | ||
| 36845 | DEFINE_GUID(IID_ID3D12GraphicsCommandList4,0x8754318e,0xd3a9,0x4541,0x98,0xcf,0x64,0x5b,0x50,0xdc,0x48,0x74); | ||
| 36846 | DEFINE_GUID(IID_ID3D12ShaderCacheSession,0x28e2495d,0x0f64,0x4ae4,0xa6,0xec,0x12,0x92,0x55,0xdc,0x49,0xa8); | ||
| 36847 | DEFINE_GUID(IID_ID3D12Device9,0x4c80e962,0xf032,0x4f60,0xbc,0x9e,0xeb,0xc2,0xcf,0xa1,0xd8,0x3c); | ||
| 36848 | DEFINE_GUID(IID_ID3D12Device10,0x517f8718,0xaa66,0x49f9,0xb0,0x2b,0xa7,0xab,0x89,0xc0,0x60,0x31); | ||
| 36849 | DEFINE_GUID(IID_ID3D12Device11,0x5405c344,0xd457,0x444e,0xb4,0xdd,0x23,0x66,0xe4,0x5a,0xee,0x39); | ||
| 36850 | DEFINE_GUID(IID_ID3D12Device12,0x5af5c532,0x4c91,0x4cd0,0xb5,0x41,0x15,0xa4,0x05,0x39,0x5f,0xc5); | ||
| 36851 | DEFINE_GUID(IID_ID3D12Device13,0x14eecffc,0x4df8,0x40f7,0xa1,0x18,0x5c,0x81,0x6f,0x45,0x69,0x5e); | ||
| 36852 | DEFINE_GUID(IID_ID3D12Device14,0x5f6e592d,0xd895,0x44c2,0x8e,0x4a,0x88,0xad,0x49,0x26,0xd3,0x23); | ||
| 36853 | DEFINE_GUID(IID_ID3D12StateObjectDatabase,0xc56060b7,0xb5fc,0x4135,0x98,0xe0,0xa1,0xe9,0x99,0x7e,0xac,0xe0); | ||
| 36854 | DEFINE_GUID(IID_ID3D12VirtualizationGuestDevice,0xbc66d368,0x7373,0x4943,0x87,0x57,0xfc,0x87,0xdc,0x79,0xe4,0x76); | ||
| 36855 | DEFINE_GUID(IID_ID3D12Tools,0x7071e1f0,0xe84b,0x4b33,0x97,0x4f,0x12,0xfa,0x49,0xde,0x65,0xc5); | ||
| 36856 | DEFINE_GUID(IID_ID3D12Tools1,0xe4fbc019,0xdd3c,0x43e1,0x8f,0x32,0x7f,0x64,0x95,0x75,0xf0,0xa0); | ||
| 36857 | DEFINE_GUID(IID_ID3D12Tools2,0x01d393c5,0xc9b0,0x42a1,0x95,0x8c,0xc2,0x6b,0x02,0xd4,0xd0,0x97); | ||
| 36858 | DEFINE_GUID(IID_ID3D12PageableTools,0x8f1359db,0xd8d1,0x42f9,0xb5,0xcf,0x79,0xf4,0xcb,0xad,0x0d,0x3d); | ||
| 36859 | DEFINE_GUID(IID_ID3D12DeviceTools,0x2ea68e9c,0x19c3,0x4e47,0xa1,0x09,0x6c,0xda,0xdf,0xf0,0xac,0xa9); | ||
| 36860 | DEFINE_GUID(IID_ID3D12DeviceTools1,0xe30e9fc7,0xe641,0x4d6e,0x8a,0x81,0x9d,0xd9,0x20,0x6e,0xc4,0x7a); | ||
| 36861 | DEFINE_GUID(IID_ID3D12SDKConfiguration,0xe9eb5314,0x33aa,0x42b2,0xa7,0x18,0xd7,0x7f,0x58,0xb1,0xf1,0xc7); | ||
| 36862 | DEFINE_GUID(IID_ID3D12SDKConfiguration1,0x8aaf9303,0xad25,0x48b9,0x9a,0x57,0xd9,0xc3,0x7e,0x00,0x9d,0x9f); | ||
| 36863 | DEFINE_GUID(IID_ID3D12DeviceFactory,0x61f307d3,0xd34e,0x4e7c,0x83,0x74,0x3b,0xa4,0xde,0x23,0xcc,0xcb); | ||
| 36864 | DEFINE_GUID(IID_ID3D12DeviceConfiguration,0x78dbf87b,0xf766,0x422b,0xa6,0x1c,0xc8,0xc4,0x46,0xbd,0xb9,0xad); | ||
| 36865 | DEFINE_GUID(IID_ID3D12DeviceConfiguration1,0xed342442,0x6343,0x4e16,0xbb,0x82,0xa3,0xa5,0x77,0x87,0x4e,0x56); | ||
| 36866 | DEFINE_GUID(IID_ID3D12StateObjectDatabaseFactory,0xf5b066f0,0x648a,0x4611,0xbd,0x41,0x27,0xfd,0x09,0x48,0xb9,0xeb); | ||
| 36867 | DEFINE_GUID(IID_ID3D12GraphicsCommandList5,0x55050859,0x4024,0x474c,0x87,0xf5,0x64,0x72,0xea,0xee,0x44,0xea); | ||
| 36868 | DEFINE_GUID(IID_ID3D12GraphicsCommandList6,0xc3827890,0xe548,0x4cfa,0x96,0xcf,0x56,0x89,0xa9,0x37,0x0f,0x80); | ||
| 36869 | DEFINE_GUID(IID_ID3D12GraphicsCommandList7,0xdd171223,0x8b61,0x4769,0x90,0xe3,0x16,0x0c,0xcd,0xe4,0xe2,0xc1); | ||
| 36870 | DEFINE_GUID(IID_ID3D12GraphicsCommandList8,0xee936ef9,0x599d,0x4d28,0x93,0x8e,0x23,0xc4,0xad,0x05,0xce,0x51); | ||
| 36871 | DEFINE_GUID(IID_ID3D12GraphicsCommandList9,0x34ed2808,0xffe6,0x4c2b,0xb1,0x1a,0xca,0xbd,0x2b,0x0c,0x59,0xe1); | ||
| 36872 | DEFINE_GUID(IID_ID3D12GraphicsCommandList10,0x7013c015,0xd161,0x4b63,0xa0,0x8c,0x23,0x85,0x52,0xdd,0x8a,0xcc); | ||
| 36873 | DEFINE_GUID(IID_ID3D12DSRDeviceFactory,0xf343d1a0,0xafe3,0x439f,0xb1,0x3d,0xcd,0x87,0xa4,0x3b,0x70,0xca); | ||
| 36874 | DEFINE_GUID(IID_ID3D12GBVDiagnostics,0x597985ab,0x9b75,0x4dbb,0xbe,0x23,0x07,0x61,0x19,0x5b,0xeb,0xee); | ||
| 36875 | |||
| 36876 | |||
| 36877 | extern RPC_IF_HANDLE __MIDL_itf_d3d12_0000_0085_v0_0_c_ifspec; | ||
| 36878 | extern RPC_IF_HANDLE __MIDL_itf_d3d12_0000_0085_v0_0_s_ifspec; | ||
| 36879 | |||
| 36880 | /* Additional Prototypes for ALL interfaces */ | ||
| 36881 | |||
| 36882 | /* end of Additional Prototypes */ | ||
| 36883 | |||
| 36884 | #ifdef __cplusplus | ||
| 36885 | } | ||
| 36886 | #endif | ||
| 36887 | |||
| 36888 | #endif | ||
| 36889 | |||
| 36890 | |||
diff --git a/contrib/microsoft.direct3d.d3d12.1.618.4/build/native/include/d3d12.idl b/contrib/microsoft.direct3d.d3d12.1.618.4/build/native/include/d3d12.idl new file mode 100644 index 0000000..a3f0125 --- /dev/null +++ b/contrib/microsoft.direct3d.d3d12.1.618.4/build/native/include/d3d12.idl | |||
| @@ -0,0 +1,7016 @@ | |||
| 1 | /*------------------------------------------------------------------------------------- | ||
| 2 | * | ||
| 3 | * Copyright (c) Microsoft Corporation | ||
| 4 | * Licensed under the MIT license | ||
| 5 | * | ||
| 6 | *-------------------------------------------------------------------------------------*/ | ||
| 7 | import "oaidl.idl"; | ||
| 8 | import "ocidl.idl"; | ||
| 9 | |||
| 10 | import "dxgicommon.idl"; | ||
| 11 | import "dxgiformat.idl"; | ||
| 12 | |||
| 13 | import "d3dcommon.idl"; | ||
| 14 | |||
| 15 | cpp_quote("#include <winapifamily.h>") | ||
| 16 | |||
| 17 | #pragma region App Family | ||
| 18 | cpp_quote("#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP | WINAPI_PARTITION_GAMES)") | ||
| 19 | |||
| 20 | // NOTE: The following constants are generated from the D3D12 hardware spec. Do not edit these values directly. | ||
| 21 | cpp_quote("#ifndef _D3D12_CONSTANTS") | ||
| 22 | cpp_quote("#define _D3D12_CONSTANTS") | ||
| 23 | const UINT D3D12_16BIT_INDEX_STRIP_CUT_VALUE = 0xffff; | ||
| 24 | const UINT D3D12_32BIT_INDEX_STRIP_CUT_VALUE = 0xffffffff; | ||
| 25 | const UINT D3D12_8BIT_INDEX_STRIP_CUT_VALUE = 0xff; | ||
| 26 | const UINT D3D12_APPEND_ALIGNED_ELEMENT = 0xffffffff; | ||
| 27 | const UINT D3D12_ARRAY_AXIS_ADDRESS_RANGE_BIT_COUNT = 9; | ||
| 28 | const UINT D3D12_CLIP_OR_CULL_DISTANCE_COUNT = 8; | ||
| 29 | const UINT D3D12_CLIP_OR_CULL_DISTANCE_ELEMENT_COUNT = 2; | ||
| 30 | const UINT D3D12_COMMONSHADER_CONSTANT_BUFFER_API_SLOT_COUNT = 14; | ||
| 31 | const UINT D3D12_COMMONSHADER_CONSTANT_BUFFER_COMPONENTS = 4; | ||
| 32 | const UINT D3D12_COMMONSHADER_CONSTANT_BUFFER_COMPONENT_BIT_COUNT = 32; | ||
| 33 | const UINT D3D12_COMMONSHADER_CONSTANT_BUFFER_HW_SLOT_COUNT = 15; | ||
| 34 | const UINT D3D12_COMMONSHADER_CONSTANT_BUFFER_PARTIAL_UPDATE_EXTENTS_BYTE_ALIGNMENT = 16; | ||
| 35 | const UINT D3D12_COMMONSHADER_CONSTANT_BUFFER_REGISTER_COMPONENTS = 4; | ||
| 36 | const UINT D3D12_COMMONSHADER_CONSTANT_BUFFER_REGISTER_COUNT = 15; | ||
| 37 | const UINT D3D12_COMMONSHADER_CONSTANT_BUFFER_REGISTER_READS_PER_INST = 1; | ||
| 38 | const UINT D3D12_COMMONSHADER_CONSTANT_BUFFER_REGISTER_READ_PORTS = 1; | ||
| 39 | const UINT D3D12_COMMONSHADER_FLOWCONTROL_NESTING_LIMIT = 64; | ||
| 40 | const UINT D3D12_COMMONSHADER_IMMEDIATE_CONSTANT_BUFFER_REGISTER_COMPONENTS = 4; | ||
| 41 | const UINT D3D12_COMMONSHADER_IMMEDIATE_CONSTANT_BUFFER_REGISTER_COUNT = 1; | ||
| 42 | const UINT D3D12_COMMONSHADER_IMMEDIATE_CONSTANT_BUFFER_REGISTER_READS_PER_INST = 1; | ||
| 43 | const UINT D3D12_COMMONSHADER_IMMEDIATE_CONSTANT_BUFFER_REGISTER_READ_PORTS = 1; | ||
| 44 | const UINT D3D12_COMMONSHADER_IMMEDIATE_VALUE_COMPONENT_BIT_COUNT = 32; | ||
| 45 | const UINT D3D12_COMMONSHADER_INPUT_RESOURCE_REGISTER_COMPONENTS = 1; | ||
| 46 | const UINT D3D12_COMMONSHADER_INPUT_RESOURCE_REGISTER_COUNT = 128; | ||
| 47 | const UINT D3D12_COMMONSHADER_INPUT_RESOURCE_REGISTER_READS_PER_INST = 1; | ||
| 48 | const UINT D3D12_COMMONSHADER_INPUT_RESOURCE_REGISTER_READ_PORTS = 1; | ||
| 49 | const UINT D3D12_COMMONSHADER_INPUT_RESOURCE_SLOT_COUNT = 128; | ||
| 50 | const UINT D3D12_COMMONSHADER_SAMPLER_REGISTER_COMPONENTS = 1; | ||
| 51 | const UINT D3D12_COMMONSHADER_SAMPLER_REGISTER_COUNT = 16; | ||
| 52 | const UINT D3D12_COMMONSHADER_SAMPLER_REGISTER_READS_PER_INST = 1; | ||
| 53 | const UINT D3D12_COMMONSHADER_SAMPLER_REGISTER_READ_PORTS = 1; | ||
| 54 | const UINT D3D12_COMMONSHADER_SAMPLER_SLOT_COUNT = 16; | ||
| 55 | const UINT D3D12_COMMONSHADER_SUBROUTINE_NESTING_LIMIT = 32; | ||
| 56 | const UINT D3D12_COMMONSHADER_TEMP_REGISTER_COMPONENTS = 4; | ||
| 57 | const UINT D3D12_COMMONSHADER_TEMP_REGISTER_COMPONENT_BIT_COUNT = 32; | ||
| 58 | const UINT D3D12_COMMONSHADER_TEMP_REGISTER_COUNT = 4096; | ||
| 59 | const UINT D3D12_COMMONSHADER_TEMP_REGISTER_READS_PER_INST = 3; | ||
| 60 | const UINT D3D12_COMMONSHADER_TEMP_REGISTER_READ_PORTS = 3; | ||
| 61 | const UINT D3D12_COMMONSHADER_TEXCOORD_RANGE_REDUCTION_MAX = 10; | ||
| 62 | const INT D3D12_COMMONSHADER_TEXCOORD_RANGE_REDUCTION_MIN = -10; | ||
| 63 | const INT D3D12_COMMONSHADER_TEXEL_OFFSET_MAX_NEGATIVE = -8; | ||
| 64 | const UINT D3D12_COMMONSHADER_TEXEL_OFFSET_MAX_POSITIVE = 7; | ||
| 65 | const UINT D3D12_CONSTANT_BUFFER_DATA_PLACEMENT_ALIGNMENT = 256; | ||
| 66 | const UINT D3D12_CS_4_X_BUCKET00_MAX_BYTES_TGSM_WRITABLE_PER_THREAD = 256; | ||
| 67 | const UINT D3D12_CS_4_X_BUCKET00_MAX_NUM_THREADS_PER_GROUP = 64; | ||
| 68 | const UINT D3D12_CS_4_X_BUCKET01_MAX_BYTES_TGSM_WRITABLE_PER_THREAD = 240; | ||
| 69 | const UINT D3D12_CS_4_X_BUCKET01_MAX_NUM_THREADS_PER_GROUP = 68; | ||
| 70 | const UINT D3D12_CS_4_X_BUCKET02_MAX_BYTES_TGSM_WRITABLE_PER_THREAD = 224; | ||
| 71 | const UINT D3D12_CS_4_X_BUCKET02_MAX_NUM_THREADS_PER_GROUP = 72; | ||
| 72 | const UINT D3D12_CS_4_X_BUCKET03_MAX_BYTES_TGSM_WRITABLE_PER_THREAD = 208; | ||
| 73 | const UINT D3D12_CS_4_X_BUCKET03_MAX_NUM_THREADS_PER_GROUP = 76; | ||
| 74 | const UINT D3D12_CS_4_X_BUCKET04_MAX_BYTES_TGSM_WRITABLE_PER_THREAD = 192; | ||
| 75 | const UINT D3D12_CS_4_X_BUCKET04_MAX_NUM_THREADS_PER_GROUP = 84; | ||
| 76 | const UINT D3D12_CS_4_X_BUCKET05_MAX_BYTES_TGSM_WRITABLE_PER_THREAD = 176; | ||
| 77 | const UINT D3D12_CS_4_X_BUCKET05_MAX_NUM_THREADS_PER_GROUP = 92; | ||
| 78 | const UINT D3D12_CS_4_X_BUCKET06_MAX_BYTES_TGSM_WRITABLE_PER_THREAD = 160; | ||
| 79 | const UINT D3D12_CS_4_X_BUCKET06_MAX_NUM_THREADS_PER_GROUP = 100; | ||
| 80 | const UINT D3D12_CS_4_X_BUCKET07_MAX_BYTES_TGSM_WRITABLE_PER_THREAD = 144; | ||
| 81 | const UINT D3D12_CS_4_X_BUCKET07_MAX_NUM_THREADS_PER_GROUP = 112; | ||
| 82 | const UINT D3D12_CS_4_X_BUCKET08_MAX_BYTES_TGSM_WRITABLE_PER_THREAD = 128; | ||
| 83 | const UINT D3D12_CS_4_X_BUCKET08_MAX_NUM_THREADS_PER_GROUP = 128; | ||
| 84 | const UINT D3D12_CS_4_X_BUCKET09_MAX_BYTES_TGSM_WRITABLE_PER_THREAD = 112; | ||
| 85 | const UINT D3D12_CS_4_X_BUCKET09_MAX_NUM_THREADS_PER_GROUP = 144; | ||
| 86 | const UINT D3D12_CS_4_X_BUCKET10_MAX_BYTES_TGSM_WRITABLE_PER_THREAD = 96; | ||
| 87 | const UINT D3D12_CS_4_X_BUCKET10_MAX_NUM_THREADS_PER_GROUP = 168; | ||
| 88 | const UINT D3D12_CS_4_X_BUCKET11_MAX_BYTES_TGSM_WRITABLE_PER_THREAD = 80; | ||
| 89 | const UINT D3D12_CS_4_X_BUCKET11_MAX_NUM_THREADS_PER_GROUP = 204; | ||
| 90 | const UINT D3D12_CS_4_X_BUCKET12_MAX_BYTES_TGSM_WRITABLE_PER_THREAD = 64; | ||
| 91 | const UINT D3D12_CS_4_X_BUCKET12_MAX_NUM_THREADS_PER_GROUP = 256; | ||
| 92 | const UINT D3D12_CS_4_X_BUCKET13_MAX_BYTES_TGSM_WRITABLE_PER_THREAD = 48; | ||
| 93 | const UINT D3D12_CS_4_X_BUCKET13_MAX_NUM_THREADS_PER_GROUP = 340; | ||
| 94 | const UINT D3D12_CS_4_X_BUCKET14_MAX_BYTES_TGSM_WRITABLE_PER_THREAD = 32; | ||
| 95 | const UINT D3D12_CS_4_X_BUCKET14_MAX_NUM_THREADS_PER_GROUP = 512; | ||
| 96 | const UINT D3D12_CS_4_X_BUCKET15_MAX_BYTES_TGSM_WRITABLE_PER_THREAD = 16; | ||
| 97 | const UINT D3D12_CS_4_X_BUCKET15_MAX_NUM_THREADS_PER_GROUP = 768; | ||
| 98 | const UINT D3D12_CS_4_X_DISPATCH_MAX_THREAD_GROUPS_IN_Z_DIMENSION = 1; | ||
| 99 | const UINT D3D12_CS_4_X_RAW_UAV_BYTE_ALIGNMENT = 256; | ||
| 100 | const UINT D3D12_CS_4_X_THREAD_GROUP_MAX_THREADS_PER_GROUP = 768; | ||
| 101 | const UINT D3D12_CS_4_X_THREAD_GROUP_MAX_X = 768; | ||
| 102 | const UINT D3D12_CS_4_X_THREAD_GROUP_MAX_Y = 768; | ||
| 103 | const UINT D3D12_CS_4_X_UAV_REGISTER_COUNT = 1; | ||
| 104 | const UINT D3D12_CS_DISPATCH_MAX_THREAD_GROUPS_PER_DIMENSION = 65535; | ||
| 105 | const UINT D3D12_CS_TGSM_REGISTER_COUNT = 8192; | ||
| 106 | const UINT D3D12_CS_TGSM_REGISTER_READS_PER_INST = 1; | ||
| 107 | const UINT D3D12_CS_TGSM_RESOURCE_REGISTER_COMPONENTS = 1; | ||
| 108 | const UINT D3D12_CS_TGSM_RESOURCE_REGISTER_READ_PORTS = 1; | ||
| 109 | const UINT D3D12_CS_THREADGROUPID_REGISTER_COMPONENTS = 3; | ||
| 110 | const UINT D3D12_CS_THREADGROUPID_REGISTER_COUNT = 1; | ||
| 111 | const UINT D3D12_CS_THREADIDINGROUPFLATTENED_REGISTER_COMPONENTS = 1; | ||
| 112 | const UINT D3D12_CS_THREADIDINGROUPFLATTENED_REGISTER_COUNT = 1; | ||
| 113 | const UINT D3D12_CS_THREADIDINGROUP_REGISTER_COMPONENTS = 3; | ||
| 114 | const UINT D3D12_CS_THREADIDINGROUP_REGISTER_COUNT = 1; | ||
| 115 | const UINT D3D12_CS_THREADID_REGISTER_COMPONENTS = 3; | ||
| 116 | const UINT D3D12_CS_THREADID_REGISTER_COUNT = 1; | ||
| 117 | const UINT D3D12_CS_THREAD_GROUP_MAX_THREADS_PER_GROUP = 1024; | ||
| 118 | const UINT D3D12_CS_THREAD_GROUP_MAX_X = 1024; | ||
| 119 | const UINT D3D12_CS_THREAD_GROUP_MAX_Y = 1024; | ||
| 120 | const UINT D3D12_CS_THREAD_GROUP_MAX_Z = 64; | ||
| 121 | const UINT D3D12_CS_THREAD_GROUP_MIN_X = 1; | ||
| 122 | const UINT D3D12_CS_THREAD_GROUP_MIN_Y = 1; | ||
| 123 | const UINT D3D12_CS_THREAD_GROUP_MIN_Z = 1; | ||
| 124 | const UINT D3D12_CS_THREAD_LOCAL_TEMP_REGISTER_POOL = 16384; | ||
| 125 | cpp_quote("#define D3D12_DEFAULT_BLEND_FACTOR_ALPHA ( 1.0f )") | ||
| 126 | cpp_quote("#define D3D12_DEFAULT_BLEND_FACTOR_BLUE ( 1.0f )") | ||
| 127 | cpp_quote("#define D3D12_DEFAULT_BLEND_FACTOR_GREEN ( 1.0f )") | ||
| 128 | cpp_quote("#define D3D12_DEFAULT_BLEND_FACTOR_RED ( 1.0f )") | ||
| 129 | cpp_quote("#define D3D12_DEFAULT_BORDER_COLOR_COMPONENT ( 0.0f )") | ||
| 130 | const UINT D3D12_DEFAULT_DEPTH_BIAS = 0; | ||
| 131 | cpp_quote("#define D3D12_DEFAULT_DEPTH_BIAS_CLAMP ( 0.0f )") | ||
| 132 | const UINT D3D12_DEFAULT_MAX_ANISOTROPY = 16; | ||
| 133 | cpp_quote("#define D3D12_DEFAULT_MIP_LOD_BIAS ( 0.0f )") | ||
| 134 | const UINT D3D12_DEFAULT_MSAA_RESOURCE_PLACEMENT_ALIGNMENT = 4194304; | ||
| 135 | const UINT D3D12_DEFAULT_RENDER_TARGET_ARRAY_INDEX = 0; | ||
| 136 | const UINT D3D12_DEFAULT_RESOURCE_PLACEMENT_ALIGNMENT = 65536; | ||
| 137 | const UINT D3D12_DEFAULT_SAMPLE_MASK = 0xffffffff; | ||
| 138 | const UINT D3D12_DEFAULT_SCISSOR_ENDX = 0; | ||
| 139 | const UINT D3D12_DEFAULT_SCISSOR_ENDY = 0; | ||
| 140 | const UINT D3D12_DEFAULT_SCISSOR_STARTX = 0; | ||
| 141 | const UINT D3D12_DEFAULT_SCISSOR_STARTY = 0; | ||
| 142 | cpp_quote("#define D3D12_DEFAULT_SLOPE_SCALED_DEPTH_BIAS ( 0.0f )") | ||
| 143 | const UINT D3D12_DEFAULT_STENCIL_READ_MASK = 0xff; | ||
| 144 | const UINT D3D12_DEFAULT_STENCIL_REFERENCE = 0; | ||
| 145 | const UINT D3D12_DEFAULT_STENCIL_WRITE_MASK = 0xff; | ||
| 146 | const UINT D3D12_DEFAULT_VIEWPORT_AND_SCISSORRECT_INDEX = 0; | ||
| 147 | const UINT D3D12_DEFAULT_VIEWPORT_HEIGHT = 0; | ||
| 148 | cpp_quote("#define D3D12_DEFAULT_VIEWPORT_MAX_DEPTH ( 0.0f )") | ||
| 149 | cpp_quote("#define D3D12_DEFAULT_VIEWPORT_MIN_DEPTH ( 0.0f )") | ||
| 150 | const UINT D3D12_DEFAULT_VIEWPORT_TOPLEFTX = 0; | ||
| 151 | const UINT D3D12_DEFAULT_VIEWPORT_TOPLEFTY = 0; | ||
| 152 | const UINT D3D12_DEFAULT_VIEWPORT_WIDTH = 0; | ||
| 153 | const UINT D3D12_DESCRIPTOR_RANGE_OFFSET_APPEND = 0xffffffff; | ||
| 154 | const UINT D3D12_DRIVER_RESERVED_REGISTER_SPACE_VALUES_END = 0xfffffff7; | ||
| 155 | const UINT D3D12_DRIVER_RESERVED_REGISTER_SPACE_VALUES_START = 0xfffffff0; | ||
| 156 | const UINT D3D12_DS_INPUT_CONTROL_POINTS_MAX_TOTAL_SCALARS = 3968; | ||
| 157 | const UINT D3D12_DS_INPUT_CONTROL_POINT_REGISTER_COMPONENTS = 4; | ||
| 158 | const UINT D3D12_DS_INPUT_CONTROL_POINT_REGISTER_COMPONENT_BIT_COUNT = 32; | ||
| 159 | const UINT D3D12_DS_INPUT_CONTROL_POINT_REGISTER_COUNT = 32; | ||
| 160 | const UINT D3D12_DS_INPUT_CONTROL_POINT_REGISTER_READS_PER_INST = 2; | ||
| 161 | const UINT D3D12_DS_INPUT_CONTROL_POINT_REGISTER_READ_PORTS = 1; | ||
| 162 | const UINT D3D12_DS_INPUT_DOMAIN_POINT_REGISTER_COMPONENTS = 3; | ||
| 163 | const UINT D3D12_DS_INPUT_DOMAIN_POINT_REGISTER_COMPONENT_BIT_COUNT = 32; | ||
| 164 | const UINT D3D12_DS_INPUT_DOMAIN_POINT_REGISTER_COUNT = 1; | ||
| 165 | const UINT D3D12_DS_INPUT_DOMAIN_POINT_REGISTER_READS_PER_INST = 2; | ||
| 166 | const UINT D3D12_DS_INPUT_DOMAIN_POINT_REGISTER_READ_PORTS = 1; | ||
| 167 | const UINT D3D12_DS_INPUT_PATCH_CONSTANT_REGISTER_COMPONENTS = 4; | ||
| 168 | const UINT D3D12_DS_INPUT_PATCH_CONSTANT_REGISTER_COMPONENT_BIT_COUNT = 32; | ||
| 169 | const UINT D3D12_DS_INPUT_PATCH_CONSTANT_REGISTER_COUNT = 32; | ||
| 170 | const UINT D3D12_DS_INPUT_PATCH_CONSTANT_REGISTER_READS_PER_INST = 2; | ||
| 171 | const UINT D3D12_DS_INPUT_PATCH_CONSTANT_REGISTER_READ_PORTS = 1; | ||
| 172 | const UINT D3D12_DS_INPUT_PRIMITIVE_ID_REGISTER_COMPONENTS = 1; | ||
| 173 | const UINT D3D12_DS_INPUT_PRIMITIVE_ID_REGISTER_COMPONENT_BIT_COUNT = 32; | ||
| 174 | const UINT D3D12_DS_INPUT_PRIMITIVE_ID_REGISTER_COUNT = 1; | ||
| 175 | const UINT D3D12_DS_INPUT_PRIMITIVE_ID_REGISTER_READS_PER_INST = 2; | ||
| 176 | const UINT D3D12_DS_INPUT_PRIMITIVE_ID_REGISTER_READ_PORTS = 1; | ||
| 177 | const UINT D3D12_DS_OUTPUT_REGISTER_COMPONENTS = 4; | ||
| 178 | const UINT D3D12_DS_OUTPUT_REGISTER_COMPONENT_BIT_COUNT = 32; | ||
| 179 | const UINT D3D12_DS_OUTPUT_REGISTER_COUNT = 32; | ||
| 180 | cpp_quote("#define D3D12_FLOAT16_FUSED_TOLERANCE_IN_ULP ( 0.6 )") | ||
| 181 | cpp_quote("#define D3D12_FLOAT32_MAX ( 3.402823466e+38f )") | ||
| 182 | cpp_quote("#define D3D12_FLOAT32_TO_INTEGER_TOLERANCE_IN_ULP ( 0.6f )") | ||
| 183 | cpp_quote("#define D3D12_FLOAT_TO_SRGB_EXPONENT_DENOMINATOR ( 2.4f )") | ||
| 184 | cpp_quote("#define D3D12_FLOAT_TO_SRGB_EXPONENT_NUMERATOR ( 1.0f )") | ||
| 185 | cpp_quote("#define D3D12_FLOAT_TO_SRGB_OFFSET ( 0.055f )") | ||
| 186 | cpp_quote("#define D3D12_FLOAT_TO_SRGB_SCALE_1 ( 12.92f )") | ||
| 187 | cpp_quote("#define D3D12_FLOAT_TO_SRGB_SCALE_2 ( 1.055f )") | ||
| 188 | cpp_quote("#define D3D12_FLOAT_TO_SRGB_THRESHOLD ( 0.0031308f )") | ||
| 189 | cpp_quote("#define D3D12_FTOI_INSTRUCTION_MAX_INPUT ( 2147483647.999f )") | ||
| 190 | cpp_quote("#define D3D12_FTOI_INSTRUCTION_MIN_INPUT ( -2147483648.999f )") | ||
| 191 | cpp_quote("#define D3D12_FTOU_INSTRUCTION_MAX_INPUT ( 4294967295.999f )") | ||
| 192 | cpp_quote("#define D3D12_FTOU_INSTRUCTION_MIN_INPUT ( 0.0f )") | ||
| 193 | const UINT D3D12_GS_INPUT_INSTANCE_ID_READS_PER_INST = 2; | ||
| 194 | const UINT D3D12_GS_INPUT_INSTANCE_ID_READ_PORTS = 1; | ||
| 195 | const UINT D3D12_GS_INPUT_INSTANCE_ID_REGISTER_COMPONENTS = 1; | ||
| 196 | const UINT D3D12_GS_INPUT_INSTANCE_ID_REGISTER_COMPONENT_BIT_COUNT = 32; | ||
| 197 | const UINT D3D12_GS_INPUT_INSTANCE_ID_REGISTER_COUNT = 1; | ||
| 198 | const UINT D3D12_GS_INPUT_PRIM_CONST_REGISTER_COMPONENTS = 1; | ||
| 199 | const UINT D3D12_GS_INPUT_PRIM_CONST_REGISTER_COMPONENT_BIT_COUNT = 32; | ||
| 200 | const UINT D3D12_GS_INPUT_PRIM_CONST_REGISTER_COUNT = 1; | ||
| 201 | const UINT D3D12_GS_INPUT_PRIM_CONST_REGISTER_READS_PER_INST = 2; | ||
| 202 | const UINT D3D12_GS_INPUT_PRIM_CONST_REGISTER_READ_PORTS = 1; | ||
| 203 | const UINT D3D12_GS_INPUT_REGISTER_COMPONENTS = 4; | ||
| 204 | const UINT D3D12_GS_INPUT_REGISTER_COMPONENT_BIT_COUNT = 32; | ||
| 205 | const UINT D3D12_GS_INPUT_REGISTER_COUNT = 32; | ||
| 206 | const UINT D3D12_GS_INPUT_REGISTER_READS_PER_INST = 2; | ||
| 207 | const UINT D3D12_GS_INPUT_REGISTER_READ_PORTS = 1; | ||
| 208 | const UINT D3D12_GS_INPUT_REGISTER_VERTICES = 32; | ||
| 209 | const UINT D3D12_GS_MAX_INSTANCE_COUNT = 32; | ||
| 210 | const UINT D3D12_GS_MAX_OUTPUT_VERTEX_COUNT_ACROSS_INSTANCES = 1024; | ||
| 211 | const UINT D3D12_GS_OUTPUT_ELEMENTS = 32; | ||
| 212 | const UINT D3D12_GS_OUTPUT_REGISTER_COMPONENTS = 4; | ||
| 213 | const UINT D3D12_GS_OUTPUT_REGISTER_COMPONENT_BIT_COUNT = 32; | ||
| 214 | const UINT D3D12_GS_OUTPUT_REGISTER_COUNT = 32; | ||
| 215 | const UINT D3D12_HS_CONTROL_POINT_PHASE_INPUT_REGISTER_COUNT = 32; | ||
| 216 | const UINT D3D12_HS_CONTROL_POINT_PHASE_OUTPUT_REGISTER_COUNT = 32; | ||
| 217 | const UINT D3D12_HS_CONTROL_POINT_REGISTER_COMPONENTS = 4; | ||
| 218 | const UINT D3D12_HS_CONTROL_POINT_REGISTER_COMPONENT_BIT_COUNT = 32; | ||
| 219 | const UINT D3D12_HS_CONTROL_POINT_REGISTER_READS_PER_INST = 2; | ||
| 220 | const UINT D3D12_HS_CONTROL_POINT_REGISTER_READ_PORTS = 1; | ||
| 221 | const UINT D3D12_HS_FORK_PHASE_INSTANCE_COUNT_UPPER_BOUND = 0xFFFFFFFF; | ||
| 222 | const UINT D3D12_HS_INPUT_FORK_INSTANCE_ID_REGISTER_COMPONENTS = 1; | ||
| 223 | const UINT D3D12_HS_INPUT_FORK_INSTANCE_ID_REGISTER_COMPONENT_BIT_COUNT = 32; | ||
| 224 | const UINT D3D12_HS_INPUT_FORK_INSTANCE_ID_REGISTER_COUNT = 1; | ||
| 225 | const UINT D3D12_HS_INPUT_FORK_INSTANCE_ID_REGISTER_READS_PER_INST = 2; | ||
| 226 | const UINT D3D12_HS_INPUT_FORK_INSTANCE_ID_REGISTER_READ_PORTS = 1; | ||
| 227 | const UINT D3D12_HS_INPUT_JOIN_INSTANCE_ID_REGISTER_COMPONENTS = 1; | ||
| 228 | const UINT D3D12_HS_INPUT_JOIN_INSTANCE_ID_REGISTER_COMPONENT_BIT_COUNT = 32; | ||
| 229 | const UINT D3D12_HS_INPUT_JOIN_INSTANCE_ID_REGISTER_COUNT = 1; | ||
| 230 | const UINT D3D12_HS_INPUT_JOIN_INSTANCE_ID_REGISTER_READS_PER_INST = 2; | ||
| 231 | const UINT D3D12_HS_INPUT_JOIN_INSTANCE_ID_REGISTER_READ_PORTS = 1; | ||
| 232 | const UINT D3D12_HS_INPUT_PRIMITIVE_ID_REGISTER_COMPONENTS = 1; | ||
| 233 | const UINT D3D12_HS_INPUT_PRIMITIVE_ID_REGISTER_COMPONENT_BIT_COUNT = 32; | ||
| 234 | const UINT D3D12_HS_INPUT_PRIMITIVE_ID_REGISTER_COUNT = 1; | ||
| 235 | const UINT D3D12_HS_INPUT_PRIMITIVE_ID_REGISTER_READS_PER_INST = 2; | ||
| 236 | const UINT D3D12_HS_INPUT_PRIMITIVE_ID_REGISTER_READ_PORTS = 1; | ||
| 237 | const UINT D3D12_HS_JOIN_PHASE_INSTANCE_COUNT_UPPER_BOUND = 0xFFFFFFFF; | ||
| 238 | cpp_quote("#define D3D12_HS_MAXTESSFACTOR_LOWER_BOUND ( 1.0f )") | ||
| 239 | cpp_quote("#define D3D12_HS_MAXTESSFACTOR_UPPER_BOUND ( 64.0f )") | ||
| 240 | const UINT D3D12_HS_OUTPUT_CONTROL_POINTS_MAX_TOTAL_SCALARS = 3968; | ||
| 241 | const UINT D3D12_HS_OUTPUT_CONTROL_POINT_ID_REGISTER_COMPONENTS = 1; | ||
| 242 | const UINT D3D12_HS_OUTPUT_CONTROL_POINT_ID_REGISTER_COMPONENT_BIT_COUNT = 32; | ||
| 243 | const UINT D3D12_HS_OUTPUT_CONTROL_POINT_ID_REGISTER_COUNT = 1; | ||
| 244 | const UINT D3D12_HS_OUTPUT_CONTROL_POINT_ID_REGISTER_READS_PER_INST = 2; | ||
| 245 | const UINT D3D12_HS_OUTPUT_CONTROL_POINT_ID_REGISTER_READ_PORTS = 1; | ||
| 246 | const UINT D3D12_HS_OUTPUT_PATCH_CONSTANT_REGISTER_COMPONENTS = 4; | ||
| 247 | const UINT D3D12_HS_OUTPUT_PATCH_CONSTANT_REGISTER_COMPONENT_BIT_COUNT = 32; | ||
| 248 | const UINT D3D12_HS_OUTPUT_PATCH_CONSTANT_REGISTER_COUNT = 32; | ||
| 249 | const UINT D3D12_HS_OUTPUT_PATCH_CONSTANT_REGISTER_READS_PER_INST = 2; | ||
| 250 | const UINT D3D12_HS_OUTPUT_PATCH_CONSTANT_REGISTER_READ_PORTS = 1; | ||
| 251 | const UINT D3D12_HS_OUTPUT_PATCH_CONSTANT_REGISTER_SCALAR_COMPONENTS = 128; | ||
| 252 | const UINT D3D12_IA_DEFAULT_INDEX_BUFFER_OFFSET_IN_BYTES = 0; | ||
| 253 | const UINT D3D12_IA_DEFAULT_PRIMITIVE_TOPOLOGY = 0; | ||
| 254 | const UINT D3D12_IA_DEFAULT_VERTEX_BUFFER_OFFSET_IN_BYTES = 0; | ||
| 255 | const UINT D3D12_IA_INDEX_INPUT_RESOURCE_SLOT_COUNT = 1; | ||
| 256 | const UINT D3D12_IA_INSTANCE_ID_BIT_COUNT = 32; | ||
| 257 | const UINT D3D12_IA_INTEGER_ARITHMETIC_BIT_COUNT = 32; | ||
| 258 | const UINT D3D12_IA_PATCH_MAX_CONTROL_POINT_COUNT = 32; | ||
| 259 | const UINT D3D12_IA_PRIMITIVE_ID_BIT_COUNT = 32; | ||
| 260 | const UINT D3D12_IA_VERTEX_ID_BIT_COUNT = 32; | ||
| 261 | const UINT D3D12_IA_VERTEX_INPUT_RESOURCE_SLOT_COUNT = 32; | ||
| 262 | const UINT D3D12_IA_VERTEX_INPUT_STRUCTURE_ELEMENTS_COMPONENTS = 128; | ||
| 263 | const UINT D3D12_IA_VERTEX_INPUT_STRUCTURE_ELEMENT_COUNT = 32; | ||
| 264 | const UINT D3D12_INTEGER_DIVIDE_BY_ZERO_QUOTIENT = 0xffffffff; | ||
| 265 | const UINT D3D12_INTEGER_DIVIDE_BY_ZERO_REMAINDER = 0xffffffff; | ||
| 266 | const UINT D3D12_KEEP_RENDER_TARGETS_AND_DEPTH_STENCIL = 0xffffffff; | ||
| 267 | const UINT D3D12_KEEP_UNORDERED_ACCESS_VIEWS = 0xffffffff; | ||
| 268 | cpp_quote("#define D3D12_LINEAR_GAMMA ( 1.0f )") | ||
| 269 | const UINT D3D12_MAJOR_VERSION = 12; | ||
| 270 | cpp_quote("#define D3D12_MAX_BORDER_COLOR_COMPONENT ( 1.0f )") | ||
| 271 | cpp_quote("#define D3D12_MAX_DEPTH ( 1.0f )") | ||
| 272 | const UINT D3D12_MAX_LIVE_STATIC_SAMPLERS = 2032; | ||
| 273 | const UINT D3D12_MAX_MAXANISOTROPY = 16; | ||
| 274 | const UINT D3D12_MAX_MULTISAMPLE_SAMPLE_COUNT = 32; | ||
| 275 | cpp_quote("#define D3D12_MAX_POSITION_VALUE ( 3.402823466e+34f )") | ||
| 276 | const UINT D3D12_MAX_ROOT_COST = 64; | ||
| 277 | const UINT D3D12_MAX_SHADER_VISIBLE_DESCRIPTOR_HEAP_SIZE_TIER_1 = 1000000; | ||
| 278 | const UINT D3D12_MAX_SHADER_VISIBLE_DESCRIPTOR_HEAP_SIZE_TIER_2 = 1000000; | ||
| 279 | const UINT D3D12_MAX_SHADER_VISIBLE_SAMPLER_HEAP_SIZE = 2048; | ||
| 280 | const UINT D3D12_MAX_TEXTURE_DIMENSION_2_TO_EXP = 17; | ||
| 281 | const UINT D3D12_MAX_VIEW_INSTANCE_COUNT = 4; | ||
| 282 | const UINT D3D12_MINOR_VERSION = 0; | ||
| 283 | cpp_quote("#define D3D12_MIN_BORDER_COLOR_COMPONENT ( 0.0f )") | ||
| 284 | cpp_quote("#define D3D12_MIN_DEPTH ( 0.0f )") | ||
| 285 | const UINT D3D12_MIN_MAXANISOTROPY = 0; | ||
| 286 | cpp_quote("#define D3D12_MIP_LOD_BIAS_MAX ( 15.99f )") | ||
| 287 | cpp_quote("#define D3D12_MIP_LOD_BIAS_MIN ( -16.0f )") | ||
| 288 | const UINT D3D12_MIP_LOD_FRACTIONAL_BIT_COUNT = 8; | ||
| 289 | const UINT D3D12_MIP_LOD_RANGE_BIT_COUNT = 8; | ||
| 290 | const UINT D3D12_MS_DISPATCH_MAX_THREAD_GROUPS_PER_GRID = 4194303; | ||
| 291 | cpp_quote("#define D3D12_MULTISAMPLE_ANTIALIAS_LINE_WIDTH ( 1.4f )") | ||
| 292 | const UINT D3D12_NONSAMPLE_FETCH_OUT_OF_RANGE_ACCESS_RESULT = 0; | ||
| 293 | const UINT D3D12_OS_RESERVED_REGISTER_SPACE_VALUES_END = 0xffffffff; | ||
| 294 | const UINT D3D12_OS_RESERVED_REGISTER_SPACE_VALUES_START = 0xfffffff8; | ||
| 295 | const UINT D3D12_PACKED_TILE = 0xffffffff; | ||
| 296 | const UINT D3D12_PIXEL_ADDRESS_RANGE_BIT_COUNT = 15; | ||
| 297 | const UINT D3D12_PREVIEW_SDK_VERSION = 717; | ||
| 298 | const UINT D3D12_PRE_SCISSOR_PIXEL_ADDRESS_RANGE_BIT_COUNT = 16; | ||
| 299 | const UINT D3D12_PS_CS_UAV_REGISTER_COMPONENTS = 1; | ||
| 300 | const UINT D3D12_PS_CS_UAV_REGISTER_COUNT = 8; | ||
| 301 | const UINT D3D12_PS_CS_UAV_REGISTER_READS_PER_INST = 1; | ||
| 302 | const UINT D3D12_PS_CS_UAV_REGISTER_READ_PORTS = 1; | ||
| 303 | const UINT D3D12_PS_FRONTFACING_DEFAULT_VALUE = 0xFFFFFFFF; | ||
| 304 | const UINT D3D12_PS_FRONTFACING_FALSE_VALUE = 0x00000000; | ||
| 305 | const UINT D3D12_PS_FRONTFACING_TRUE_VALUE = 0xFFFFFFFF; | ||
| 306 | const UINT D3D12_PS_INPUT_REGISTER_COMPONENTS = 4; | ||
| 307 | const UINT D3D12_PS_INPUT_REGISTER_COMPONENT_BIT_COUNT = 32; | ||
| 308 | const UINT D3D12_PS_INPUT_REGISTER_COUNT = 32; | ||
| 309 | const UINT D3D12_PS_INPUT_REGISTER_READS_PER_INST = 2; | ||
| 310 | const UINT D3D12_PS_INPUT_REGISTER_READ_PORTS = 1; | ||
| 311 | cpp_quote("#define D3D12_PS_LEGACY_PIXEL_CENTER_FRACTIONAL_COMPONENT ( 0.0f )") | ||
| 312 | const UINT D3D12_PS_OUTPUT_DEPTH_REGISTER_COMPONENTS = 1; | ||
| 313 | const UINT D3D12_PS_OUTPUT_DEPTH_REGISTER_COMPONENT_BIT_COUNT = 32; | ||
| 314 | const UINT D3D12_PS_OUTPUT_DEPTH_REGISTER_COUNT = 1; | ||
| 315 | const UINT D3D12_PS_OUTPUT_MASK_REGISTER_COMPONENTS = 1; | ||
| 316 | const UINT D3D12_PS_OUTPUT_MASK_REGISTER_COMPONENT_BIT_COUNT = 32; | ||
| 317 | const UINT D3D12_PS_OUTPUT_MASK_REGISTER_COUNT = 1; | ||
| 318 | const UINT D3D12_PS_OUTPUT_REGISTER_COMPONENTS = 4; | ||
| 319 | const UINT D3D12_PS_OUTPUT_REGISTER_COMPONENT_BIT_COUNT = 32; | ||
| 320 | const UINT D3D12_PS_OUTPUT_REGISTER_COUNT = 8; | ||
| 321 | cpp_quote("#define D3D12_PS_PIXEL_CENTER_FRACTIONAL_COMPONENT ( 0.5f )") | ||
| 322 | const UINT D3D12_RAW_UAV_SRV_BYTE_ALIGNMENT = 16; | ||
| 323 | const UINT D3D12_RAYTRACING_AABB_BYTE_ALIGNMENT = 8; | ||
| 324 | const UINT D3D12_RAYTRACING_ACCELERATION_STRUCTURE_BYTE_ALIGNMENT = 256; | ||
| 325 | const UINT D3D12_RAYTRACING_INSTANCE_DESCS_BYTE_ALIGNMENT = 16; | ||
| 326 | const UINT D3D12_RAYTRACING_MAX_ATTRIBUTE_SIZE_IN_BYTES = 32; | ||
| 327 | const UINT D3D12_RAYTRACING_MAX_DECLARABLE_TRACE_RECURSION_DEPTH = 31; | ||
| 328 | const UINT D3D12_RAYTRACING_MAX_GEOMETRIES_PER_BOTTOM_LEVEL_ACCELERATION_STRUCTURE = 16777216; | ||
| 329 | const UINT D3D12_RAYTRACING_MAX_INSTANCES_PER_TOP_LEVEL_ACCELERATION_STRUCTURE = 16777216; | ||
| 330 | const UINT D3D12_RAYTRACING_MAX_PRIMITIVES_PER_BOTTOM_LEVEL_ACCELERATION_STRUCTURE = 536870912; | ||
| 331 | const UINT D3D12_RAYTRACING_MAX_RAY_GENERATION_SHADER_THREADS = 1073741824; | ||
| 332 | const UINT D3D12_RAYTRACING_MAX_SHADER_RECORD_STRIDE = 4096; | ||
| 333 | const UINT D3D12_RAYTRACING_OPACITY_MICROMAP_ARRAY_BYTE_ALIGNMENT = 128; | ||
| 334 | const UINT D3D12_RAYTRACING_OPACITY_MICROMAP_OC1_MAX_SUBDIVISION_LEVEL = 12; | ||
| 335 | const UINT D3D12_RAYTRACING_SHADER_RECORD_BYTE_ALIGNMENT = 32; | ||
| 336 | const UINT D3D12_RAYTRACING_SHADER_TABLE_BYTE_ALIGNMENT = 64; | ||
| 337 | const UINT D3D12_RAYTRACING_TRANSFORM3X4_BYTE_ALIGNMENT = 16; | ||
| 338 | const UINT D3D12_REQ_BLEND_OBJECT_COUNT_PER_DEVICE = 4096; | ||
| 339 | const UINT D3D12_REQ_BUFFER_RESOURCE_TEXEL_COUNT_2_TO_EXP = 27; | ||
| 340 | const UINT D3D12_REQ_CONSTANT_BUFFER_ELEMENT_COUNT = 4096; | ||
| 341 | const UINT D3D12_REQ_DEPTH_STENCIL_OBJECT_COUNT_PER_DEVICE = 4096; | ||
| 342 | const UINT D3D12_REQ_DRAWINDEXED_INDEX_COUNT_2_TO_EXP = 32; | ||
| 343 | const UINT D3D12_REQ_DRAW_VERTEX_COUNT_2_TO_EXP = 32; | ||
| 344 | const UINT D3D12_REQ_FILTERING_HW_ADDRESSABLE_RESOURCE_DIMENSION = 16384; | ||
| 345 | const UINT D3D12_REQ_GS_INVOCATION_32BIT_OUTPUT_COMPONENT_LIMIT = 1024; | ||
| 346 | const UINT D3D12_REQ_IMMEDIATE_CONSTANT_BUFFER_ELEMENT_COUNT = 4096; | ||
| 347 | const UINT D3D12_REQ_MAXANISOTROPY = 16; | ||
| 348 | const UINT D3D12_REQ_MIP_LEVELS = 15; | ||
| 349 | const UINT D3D12_REQ_MULTI_ELEMENT_STRUCTURE_SIZE_IN_BYTES = 2048; | ||
| 350 | const UINT D3D12_REQ_RASTERIZER_OBJECT_COUNT_PER_DEVICE = 4096; | ||
| 351 | const UINT D3D12_REQ_RENDER_TO_BUFFER_WINDOW_WIDTH = 16384; | ||
| 352 | const UINT D3D12_REQ_RESOURCE_SIZE_IN_MEGABYTES_EXPRESSION_A_TERM = 128; | ||
| 353 | cpp_quote("#define D3D12_REQ_RESOURCE_SIZE_IN_MEGABYTES_EXPRESSION_B_TERM ( 0.25f )") | ||
| 354 | const UINT D3D12_REQ_RESOURCE_SIZE_IN_MEGABYTES_EXPRESSION_C_TERM = 2048; | ||
| 355 | const UINT D3D12_REQ_RESOURCE_VIEW_COUNT_PER_DEVICE_2_TO_EXP = 20; | ||
| 356 | const UINT D3D12_REQ_SAMPLER_OBJECT_COUNT_PER_DEVICE = 4096; | ||
| 357 | const UINT D3D12_REQ_SUBRESOURCES = 30720; | ||
| 358 | const UINT D3D12_REQ_TEXTURE1D_ARRAY_AXIS_DIMENSION = 2048; | ||
| 359 | const UINT D3D12_REQ_TEXTURE1D_U_DIMENSION = 16384; | ||
| 360 | const UINT D3D12_REQ_TEXTURE2D_ARRAY_AXIS_DIMENSION = 2048; | ||
| 361 | const UINT D3D12_REQ_TEXTURE2D_U_OR_V_DIMENSION = 16384; | ||
| 362 | const UINT D3D12_REQ_TEXTURE3D_U_V_OR_W_DIMENSION = 2048; | ||
| 363 | const UINT D3D12_REQ_TEXTURECUBE_DIMENSION = 16384; | ||
| 364 | const UINT D3D12_RESINFO_INSTRUCTION_MISSING_COMPONENT_RETVAL = 0; | ||
| 365 | const UINT D3D12_RESOURCE_BARRIER_ALL_SUBRESOURCES = 0xffffffff; | ||
| 366 | const UINT D3D12_RS_SET_SHADING_RATE_COMBINER_COUNT = 2; | ||
| 367 | const UINT D3D12_SDK_VERSION = 618; | ||
| 368 | const UINT D3D12_SHADER_IDENTIFIER_SIZE_IN_BYTES = 32; | ||
| 369 | const UINT D3D12_SHADER_MAJOR_VERSION = 5; | ||
| 370 | const UINT D3D12_SHADER_MAX_INSTANCES = 65535; | ||
| 371 | const UINT D3D12_SHADER_MAX_INTERFACES = 253; | ||
| 372 | const UINT D3D12_SHADER_MAX_INTERFACE_CALL_SITES = 4096; | ||
| 373 | const UINT D3D12_SHADER_MAX_TYPES = 65535; | ||
| 374 | const UINT D3D12_SHADER_MINOR_VERSION = 1; | ||
| 375 | const UINT D3D12_SHIFT_INSTRUCTION_PAD_VALUE = 0; | ||
| 376 | const UINT D3D12_SHIFT_INSTRUCTION_SHIFT_VALUE_BIT_COUNT = 5; | ||
| 377 | const UINT D3D12_SIMULTANEOUS_RENDER_TARGET_COUNT = 8; | ||
| 378 | const UINT D3D12_SMALL_MSAA_RESOURCE_PLACEMENT_ALIGNMENT = 65536; | ||
| 379 | const UINT D3D12_SMALL_RESOURCE_PLACEMENT_ALIGNMENT = 4096; | ||
| 380 | const UINT D3D12_SO_BUFFER_MAX_STRIDE_IN_BYTES = 2048; | ||
| 381 | const UINT D3D12_SO_BUFFER_MAX_WRITE_WINDOW_IN_BYTES = 512; | ||
| 382 | const UINT D3D12_SO_BUFFER_SLOT_COUNT = 4; | ||
| 383 | const UINT D3D12_SO_DDI_REGISTER_INDEX_DENOTING_GAP = 0xffffffff; | ||
| 384 | const UINT D3D12_SO_NO_RASTERIZED_STREAM = 0xffffffff; | ||
| 385 | const UINT D3D12_SO_OUTPUT_COMPONENT_COUNT = 128; | ||
| 386 | const UINT D3D12_SO_STREAM_COUNT = 4; | ||
| 387 | const UINT D3D12_SPEC_DATE_DAY = 14; | ||
| 388 | const UINT D3D12_SPEC_DATE_MONTH = 11; | ||
| 389 | const UINT D3D12_SPEC_DATE_YEAR = 2014; | ||
| 390 | cpp_quote("#define D3D12_SPEC_VERSION ( 1.16 )") | ||
| 391 | cpp_quote("#define D3D12_SRGB_GAMMA ( 2.2f )") | ||
| 392 | cpp_quote("#define D3D12_SRGB_TO_FLOAT_DENOMINATOR_1 ( 12.92f )") | ||
| 393 | cpp_quote("#define D3D12_SRGB_TO_FLOAT_DENOMINATOR_2 ( 1.055f )") | ||
| 394 | cpp_quote("#define D3D12_SRGB_TO_FLOAT_EXPONENT ( 2.4f )") | ||
| 395 | cpp_quote("#define D3D12_SRGB_TO_FLOAT_OFFSET ( 0.055f )") | ||
| 396 | cpp_quote("#define D3D12_SRGB_TO_FLOAT_THRESHOLD ( 0.04045f )") | ||
| 397 | cpp_quote("#define D3D12_SRGB_TO_FLOAT_TOLERANCE_IN_ULP ( 0.5f )") | ||
| 398 | const UINT D3D12_STANDARD_COMPONENT_BIT_COUNT = 32; | ||
| 399 | const UINT D3D12_STANDARD_COMPONENT_BIT_COUNT_DOUBLED = 64; | ||
| 400 | const UINT D3D12_STANDARD_MAXIMUM_ELEMENT_ALIGNMENT_BYTE_MULTIPLE = 4; | ||
| 401 | const UINT D3D12_STANDARD_PIXEL_COMPONENT_COUNT = 128; | ||
| 402 | const UINT D3D12_STANDARD_PIXEL_ELEMENT_COUNT = 32; | ||
| 403 | const UINT D3D12_STANDARD_VECTOR_SIZE = 4; | ||
| 404 | const UINT D3D12_STANDARD_VERTEX_ELEMENT_COUNT = 32; | ||
| 405 | const UINT D3D12_STANDARD_VERTEX_TOTAL_COMPONENT_COUNT = 64; | ||
| 406 | const UINT D3D12_SUBPIXEL_FRACTIONAL_BIT_COUNT = 8; | ||
| 407 | const UINT D3D12_SUBTEXEL_FRACTIONAL_BIT_COUNT = 8; | ||
| 408 | const UINT D3D12_SYSTEM_RESERVED_REGISTER_SPACE_VALUES_END = 0xffffffff; | ||
| 409 | const UINT D3D12_SYSTEM_RESERVED_REGISTER_SPACE_VALUES_START = 0xfffffff0; | ||
| 410 | const UINT D3D12_TESSELLATOR_MAX_EVEN_TESSELLATION_FACTOR = 64; | ||
| 411 | const UINT D3D12_TESSELLATOR_MAX_ISOLINE_DENSITY_TESSELLATION_FACTOR = 64; | ||
| 412 | const UINT D3D12_TESSELLATOR_MAX_ODD_TESSELLATION_FACTOR = 63; | ||
| 413 | const UINT D3D12_TESSELLATOR_MAX_TESSELLATION_FACTOR = 64; | ||
| 414 | const UINT D3D12_TESSELLATOR_MIN_EVEN_TESSELLATION_FACTOR = 2; | ||
| 415 | const UINT D3D12_TESSELLATOR_MIN_ISOLINE_DENSITY_TESSELLATION_FACTOR = 1; | ||
| 416 | const UINT D3D12_TESSELLATOR_MIN_ODD_TESSELLATION_FACTOR = 1; | ||
| 417 | const UINT D3D12_TEXEL_ADDRESS_RANGE_BIT_COUNT = 16; | ||
| 418 | const UINT D3D12_TEXTURE_DATA_PITCH_ALIGNMENT = 256; | ||
| 419 | const UINT D3D12_TEXTURE_DATA_PLACEMENT_ALIGNMENT = 512; | ||
| 420 | const UINT D3D12_TIGHT_ALIGNMENT_MIN_COMMITTED_RESOURCE_ALIGNMENT = 4096; | ||
| 421 | const UINT D3D12_TIGHT_ALIGNMENT_MIN_PLACED_RESOURCE_ALIGNMENT = 8; | ||
| 422 | const UINT D3D12_TILED_RESOURCE_TILE_SIZE_IN_BYTES = 65536; | ||
| 423 | const UINT D3D12_TRACKED_WORKLOAD_MAX_INSTANCES = 32; | ||
| 424 | const UINT D3D12_UAV_COUNTER_PLACEMENT_ALIGNMENT = 4096; | ||
| 425 | const UINT D3D12_UAV_SLOT_COUNT = 64; | ||
| 426 | const UINT D3D12_UNBOUND_MEMORY_ACCESS_RESULT = 0; | ||
| 427 | const UINT D3D12_VIDEO_DECODE_MAX_ARGUMENTS = 10; | ||
| 428 | const UINT D3D12_VIDEO_DECODE_MAX_HISTOGRAM_COMPONENTS = 4; | ||
| 429 | const UINT D3D12_VIDEO_DECODE_MIN_BITSTREAM_OFFSET_ALIGNMENT = 256; | ||
| 430 | const UINT D3D12_VIDEO_DECODE_MIN_HISTOGRAM_OFFSET_ALIGNMENT = 256; | ||
| 431 | const UINT D3D12_VIDEO_DECODE_STATUS_MACROBLOCKS_AFFECTED_UNKNOWN = 0xffffffff; | ||
| 432 | const UINT D3D12_VIDEO_ENCODER_AV1_INVALID_DPB_RESOURCE_INDEX = 0xFF; | ||
| 433 | const UINT D3D12_VIDEO_ENCODER_AV1_MAX_TILE_COLS = 64; | ||
| 434 | const UINT D3D12_VIDEO_ENCODER_AV1_MAX_TILE_ROWS = 64; | ||
| 435 | const UINT D3D12_VIDEO_ENCODER_AV1_SUPERRES_DENOM_MIN = 9; | ||
| 436 | const UINT D3D12_VIDEO_ENCODER_AV1_SUPERRES_NUM = 8; | ||
| 437 | const UINT D3D12_VIDEO_PROCESS_MAX_FILTERS = 32; | ||
| 438 | const UINT D3D12_VIDEO_PROCESS_STEREO_VIEWS = 2; | ||
| 439 | const UINT D3D12_VIEWPORT_AND_SCISSORRECT_MAX_INDEX = 15; | ||
| 440 | const UINT D3D12_VIEWPORT_AND_SCISSORRECT_OBJECT_COUNT_PER_PIPELINE = 16; | ||
| 441 | const UINT D3D12_VIEWPORT_BOUNDS_MAX = 32767; | ||
| 442 | const INT D3D12_VIEWPORT_BOUNDS_MIN = -32768; | ||
| 443 | const UINT D3D12_VS_INPUT_REGISTER_COMPONENTS = 4; | ||
| 444 | const UINT D3D12_VS_INPUT_REGISTER_COMPONENT_BIT_COUNT = 32; | ||
| 445 | const UINT D3D12_VS_INPUT_REGISTER_COUNT = 32; | ||
| 446 | const UINT D3D12_VS_INPUT_REGISTER_READS_PER_INST = 2; | ||
| 447 | const UINT D3D12_VS_INPUT_REGISTER_READ_PORTS = 1; | ||
| 448 | const UINT D3D12_VS_OUTPUT_REGISTER_COMPONENTS = 4; | ||
| 449 | const UINT D3D12_VS_OUTPUT_REGISTER_COMPONENT_BIT_COUNT = 32; | ||
| 450 | const UINT D3D12_VS_OUTPUT_REGISTER_COUNT = 32; | ||
| 451 | const UINT D3D12_WHQL_CONTEXT_COUNT_FOR_RESOURCE_LIMIT = 10; | ||
| 452 | const UINT D3D12_WHQL_DRAWINDEXED_INDEX_COUNT_2_TO_EXP = 25; | ||
| 453 | const UINT D3D12_WHQL_DRAW_VERTEX_COUNT_2_TO_EXP = 25; | ||
| 454 | const UINT D3D12_WORK_GRAPHS_BACKING_MEMORY_ALIGNMENT_IN_BYTES = 8; | ||
| 455 | const UINT D3D12_WORK_GRAPHS_DISPATCH_MAX_THREAD_GROUPS_PER_GRID = 16777215; | ||
| 456 | const UINT D3D12_WORK_GRAPHS_MAX_NODE_DEPTH = 32; | ||
| 457 | cpp_quote("#endif") | ||
| 458 | |||
| 459 | |||
| 460 | // Forward declarations | ||
| 461 | interface ID3D12CommandQueue; | ||
| 462 | |||
| 463 | |||
| 464 | typedef UINT64 D3D12_GPU_VIRTUAL_ADDRESS; | ||
| 465 | |||
| 466 | typedef enum D3D12_COMMAND_LIST_TYPE | ||
| 467 | { | ||
| 468 | D3D12_COMMAND_LIST_TYPE_DIRECT = 0, | ||
| 469 | D3D12_COMMAND_LIST_TYPE_BUNDLE = 1, | ||
| 470 | D3D12_COMMAND_LIST_TYPE_COMPUTE = 2, | ||
| 471 | D3D12_COMMAND_LIST_TYPE_COPY = 3, | ||
| 472 | D3D12_COMMAND_LIST_TYPE_VIDEO_DECODE = 4, | ||
| 473 | D3D12_COMMAND_LIST_TYPE_VIDEO_PROCESS = 5, | ||
| 474 | D3D12_COMMAND_LIST_TYPE_VIDEO_ENCODE = 6, | ||
| 475 | |||
| 476 | D3D12_COMMAND_LIST_TYPE_NONE = -1, | ||
| 477 | |||
| 478 | } D3D12_COMMAND_LIST_TYPE; | ||
| 479 | |||
| 480 | typedef enum D3D12_COMMAND_QUEUE_FLAGS | ||
| 481 | { | ||
| 482 | D3D12_COMMAND_QUEUE_FLAG_NONE = 0x0, | ||
| 483 | D3D12_COMMAND_QUEUE_FLAG_DISABLE_GPU_TIMEOUT = 0x1, | ||
| 484 | D3D12_COMMAND_QUEUE_FLAG_ALLOW_DYNAMIC_PRIORITY = 0x2, | ||
| 485 | } D3D12_COMMAND_QUEUE_FLAGS; | ||
| 486 | cpp_quote( "DEFINE_ENUM_FLAG_OPERATORS( D3D12_COMMAND_QUEUE_FLAGS )" ) | ||
| 487 | |||
| 488 | typedef enum D3D12_COMMAND_QUEUE_PRIORITY | ||
| 489 | { | ||
| 490 | D3D12_COMMAND_QUEUE_PRIORITY_NORMAL = 0, | ||
| 491 | D3D12_COMMAND_QUEUE_PRIORITY_HIGH = 100, | ||
| 492 | D3D12_COMMAND_QUEUE_PRIORITY_GLOBAL_REALTIME = 10000 | ||
| 493 | } D3D12_COMMAND_QUEUE_PRIORITY; | ||
| 494 | |||
| 495 | typedef struct D3D12_COMMAND_QUEUE_DESC | ||
| 496 | { | ||
| 497 | D3D12_COMMAND_LIST_TYPE Type; | ||
| 498 | INT Priority; | ||
| 499 | D3D12_COMMAND_QUEUE_FLAGS Flags; | ||
| 500 | UINT NodeMask; | ||
| 501 | } D3D12_COMMAND_QUEUE_DESC; | ||
| 502 | |||
| 503 | typedef enum D3D12_PRIMITIVE_TOPOLOGY_TYPE | ||
| 504 | { | ||
| 505 | D3D12_PRIMITIVE_TOPOLOGY_TYPE_UNDEFINED = 0, | ||
| 506 | D3D12_PRIMITIVE_TOPOLOGY_TYPE_POINT = 1, | ||
| 507 | D3D12_PRIMITIVE_TOPOLOGY_TYPE_LINE = 2, | ||
| 508 | D3D12_PRIMITIVE_TOPOLOGY_TYPE_TRIANGLE = 3, | ||
| 509 | D3D12_PRIMITIVE_TOPOLOGY_TYPE_PATCH = 4 | ||
| 510 | } D3D12_PRIMITIVE_TOPOLOGY_TYPE; | ||
| 511 | |||
| 512 | typedef enum D3D12_INPUT_CLASSIFICATION | ||
| 513 | { | ||
| 514 | D3D12_INPUT_CLASSIFICATION_PER_VERTEX_DATA = 0, | ||
| 515 | D3D12_INPUT_CLASSIFICATION_PER_INSTANCE_DATA = 1 | ||
| 516 | } D3D12_INPUT_CLASSIFICATION; | ||
| 517 | |||
| 518 | typedef struct D3D12_INPUT_ELEMENT_DESC | ||
| 519 | { | ||
| 520 | LPCSTR SemanticName; | ||
| 521 | UINT SemanticIndex; | ||
| 522 | DXGI_FORMAT Format; | ||
| 523 | UINT InputSlot; | ||
| 524 | UINT AlignedByteOffset; | ||
| 525 | D3D12_INPUT_CLASSIFICATION InputSlotClass; | ||
| 526 | UINT InstanceDataStepRate; | ||
| 527 | } D3D12_INPUT_ELEMENT_DESC; | ||
| 528 | |||
| 529 | // Keep FILL_MODE values in sync with earlier DX versions (HW consumes values directly). | ||
| 530 | typedef enum D3D12_FILL_MODE | ||
| 531 | { | ||
| 532 | // 1 was POINT in D3D, unused in D3D12 | ||
| 533 | D3D12_FILL_MODE_WIREFRAME = 2, | ||
| 534 | D3D12_FILL_MODE_SOLID = 3 | ||
| 535 | } D3D12_FILL_MODE; | ||
| 536 | |||
| 537 | typedef D3D_PRIMITIVE_TOPOLOGY D3D12_PRIMITIVE_TOPOLOGY; | ||
| 538 | |||
| 539 | typedef D3D_PRIMITIVE D3D12_PRIMITIVE; | ||
| 540 | |||
| 541 | // Keep CULL_MODE values in sync with earlier DX versions (HW consumes values directly). | ||
| 542 | typedef enum D3D12_CULL_MODE | ||
| 543 | { | ||
| 544 | D3D12_CULL_MODE_NONE = 1, | ||
| 545 | D3D12_CULL_MODE_FRONT = 2, | ||
| 546 | D3D12_CULL_MODE_BACK = 3 | ||
| 547 | } D3D12_CULL_MODE; | ||
| 548 | |||
| 549 | typedef struct D3D12_SO_DECLARATION_ENTRY | ||
| 550 | { | ||
| 551 | UINT Stream; | ||
| 552 | LPCSTR SemanticName; | ||
| 553 | UINT SemanticIndex; | ||
| 554 | BYTE StartComponent; | ||
| 555 | BYTE ComponentCount; | ||
| 556 | BYTE OutputSlot; | ||
| 557 | } D3D12_SO_DECLARATION_ENTRY; | ||
| 558 | |||
| 559 | typedef struct D3D12_VIEWPORT | ||
| 560 | { | ||
| 561 | FLOAT TopLeftX; | ||
| 562 | FLOAT TopLeftY; | ||
| 563 | FLOAT Width; | ||
| 564 | FLOAT Height; | ||
| 565 | FLOAT MinDepth; | ||
| 566 | FLOAT MaxDepth; | ||
| 567 | } D3D12_VIEWPORT; | ||
| 568 | |||
| 569 | |||
| 570 | typedef RECT D3D12_RECT; | ||
| 571 | |||
| 572 | |||
| 573 | typedef struct D3D12_BOX | ||
| 574 | { | ||
| 575 | UINT left; | ||
| 576 | UINT top; | ||
| 577 | UINT front; | ||
| 578 | UINT right; | ||
| 579 | UINT bottom; | ||
| 580 | UINT back; | ||
| 581 | } D3D12_BOX; | ||
| 582 | |||
| 583 | //-------------------------------------------------------------------------------------------------------- | ||
| 584 | // The system LUID struct isn't defined in wtypes, so we repeat it here just | ||
| 585 | // for the MIDL compiler. | ||
| 586 | cpp_quote("#ifdef __midl") | ||
| 587 | cpp_quote("#ifndef LUID_DEFINED") | ||
| 588 | cpp_quote("#define LUID_DEFINED 1") | ||
| 589 | typedef struct __LUID { | ||
| 590 | DWORD LowPart; | ||
| 591 | LONG HighPart; | ||
| 592 | } LUID, * PLUID; | ||
| 593 | cpp_quote("#endif") | ||
| 594 | cpp_quote("#endif") | ||
| 595 | |||
| 596 | |||
| 597 | //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// | ||
| 598 | // | ||
| 599 | // Depth-Stencil State | ||
| 600 | // | ||
| 601 | //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// | ||
| 602 | |||
| 603 | // Keep COMPARISON_FUNC values in sync with earlier DX versions (HW consumes values directly). | ||
| 604 | typedef enum D3D12_COMPARISON_FUNC | ||
| 605 | { | ||
| 606 | D3D12_COMPARISON_FUNC_NONE = 0, | ||
| 607 | D3D12_COMPARISON_FUNC_NEVER = 1, | ||
| 608 | D3D12_COMPARISON_FUNC_LESS = 2, | ||
| 609 | D3D12_COMPARISON_FUNC_EQUAL = 3, | ||
| 610 | D3D12_COMPARISON_FUNC_LESS_EQUAL = 4, | ||
| 611 | D3D12_COMPARISON_FUNC_GREATER = 5, | ||
| 612 | D3D12_COMPARISON_FUNC_NOT_EQUAL = 6, | ||
| 613 | D3D12_COMPARISON_FUNC_GREATER_EQUAL = 7, | ||
| 614 | D3D12_COMPARISON_FUNC_ALWAYS = 8 | ||
| 615 | } D3D12_COMPARISON_FUNC; | ||
| 616 | |||
| 617 | typedef enum D3D12_DEPTH_WRITE_MASK | ||
| 618 | { | ||
| 619 | D3D12_DEPTH_WRITE_MASK_ZERO = 0, | ||
| 620 | D3D12_DEPTH_WRITE_MASK_ALL = 1 | ||
| 621 | } D3D12_DEPTH_WRITE_MASK; | ||
| 622 | |||
| 623 | // Keep STENCILOP values in sync with earlier DX versions (HW consumes values directly). | ||
| 624 | typedef enum D3D12_STENCIL_OP | ||
| 625 | { | ||
| 626 | D3D12_STENCIL_OP_KEEP = 1, | ||
| 627 | D3D12_STENCIL_OP_ZERO = 2, | ||
| 628 | D3D12_STENCIL_OP_REPLACE = 3, | ||
| 629 | D3D12_STENCIL_OP_INCR_SAT = 4, | ||
| 630 | D3D12_STENCIL_OP_DECR_SAT = 5, | ||
| 631 | D3D12_STENCIL_OP_INVERT = 6, | ||
| 632 | D3D12_STENCIL_OP_INCR = 7, | ||
| 633 | D3D12_STENCIL_OP_DECR = 8 | ||
| 634 | } D3D12_STENCIL_OP; | ||
| 635 | |||
| 636 | typedef struct D3D12_DEPTH_STENCILOP_DESC | ||
| 637 | { | ||
| 638 | D3D12_STENCIL_OP StencilFailOp; | ||
| 639 | D3D12_STENCIL_OP StencilDepthFailOp; | ||
| 640 | D3D12_STENCIL_OP StencilPassOp; | ||
| 641 | D3D12_COMPARISON_FUNC StencilFunc; | ||
| 642 | } D3D12_DEPTH_STENCILOP_DESC; | ||
| 643 | |||
| 644 | typedef struct D3D12_DEPTH_STENCIL_DESC | ||
| 645 | { | ||
| 646 | BOOL DepthEnable; | ||
| 647 | D3D12_DEPTH_WRITE_MASK DepthWriteMask; | ||
| 648 | D3D12_COMPARISON_FUNC DepthFunc; | ||
| 649 | BOOL StencilEnable; | ||
| 650 | UINT8 StencilReadMask; | ||
| 651 | UINT8 StencilWriteMask; | ||
| 652 | D3D12_DEPTH_STENCILOP_DESC FrontFace; | ||
| 653 | D3D12_DEPTH_STENCILOP_DESC BackFace; | ||
| 654 | } D3D12_DEPTH_STENCIL_DESC; | ||
| 655 | |||
| 656 | typedef struct D3D12_DEPTH_STENCIL_DESC1 | ||
| 657 | { | ||
| 658 | BOOL DepthEnable; | ||
| 659 | D3D12_DEPTH_WRITE_MASK DepthWriteMask; | ||
| 660 | D3D12_COMPARISON_FUNC DepthFunc; | ||
| 661 | BOOL StencilEnable; | ||
| 662 | UINT8 StencilReadMask; | ||
| 663 | UINT8 StencilWriteMask; | ||
| 664 | D3D12_DEPTH_STENCILOP_DESC FrontFace; | ||
| 665 | D3D12_DEPTH_STENCILOP_DESC BackFace; | ||
| 666 | BOOL DepthBoundsTestEnable; | ||
| 667 | } D3D12_DEPTH_STENCIL_DESC1; | ||
| 668 | |||
| 669 | // Front/back face independent stencil masks | ||
| 670 | typedef struct D3D12_DEPTH_STENCILOP_DESC1 | ||
| 671 | { | ||
| 672 | D3D12_STENCIL_OP StencilFailOp; | ||
| 673 | D3D12_STENCIL_OP StencilDepthFailOp; | ||
| 674 | D3D12_STENCIL_OP StencilPassOp; | ||
| 675 | D3D12_COMPARISON_FUNC StencilFunc; | ||
| 676 | UINT8 StencilReadMask; | ||
| 677 | UINT8 StencilWriteMask; | ||
| 678 | } D3D12_DEPTH_STENCILOP_DESC1; | ||
| 679 | |||
| 680 | typedef struct D3D12_DEPTH_STENCIL_DESC2 | ||
| 681 | { | ||
| 682 | BOOL DepthEnable; | ||
| 683 | D3D12_DEPTH_WRITE_MASK DepthWriteMask; | ||
| 684 | D3D12_COMPARISON_FUNC DepthFunc; | ||
| 685 | BOOL StencilEnable; | ||
| 686 | D3D12_DEPTH_STENCILOP_DESC1 FrontFace; | ||
| 687 | D3D12_DEPTH_STENCILOP_DESC1 BackFace; | ||
| 688 | BOOL DepthBoundsTestEnable; | ||
| 689 | } D3D12_DEPTH_STENCIL_DESC2; | ||
| 690 | |||
| 691 | |||
| 692 | //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// | ||
| 693 | // | ||
| 694 | // Blend State | ||
| 695 | // | ||
| 696 | //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// | ||
| 697 | |||
| 698 | // Keep BLEND values in sync with earlier DX versions (HW consumes values directly). | ||
| 699 | typedef enum D3D12_BLEND | ||
| 700 | { | ||
| 701 | D3D12_BLEND_ZERO = 1, | ||
| 702 | D3D12_BLEND_ONE = 2, | ||
| 703 | D3D12_BLEND_SRC_COLOR = 3, // PS output oN.rgb (N is current RT being blended) | ||
| 704 | D3D12_BLEND_INV_SRC_COLOR = 4, // 1.0f - PS output oN.rgb | ||
| 705 | D3D12_BLEND_SRC_ALPHA = 5, // PS output oN.a | ||
| 706 | D3D12_BLEND_INV_SRC_ALPHA = 6, // 1.0f - PS output oN.a | ||
| 707 | D3D12_BLEND_DEST_ALPHA = 7, // RT(N).a (N is current RT being blended) | ||
| 708 | D3D12_BLEND_INV_DEST_ALPHA = 8, // 1.0f - RT(N).a | ||
| 709 | D3D12_BLEND_DEST_COLOR = 9, // RT(N).rgb | ||
| 710 | D3D12_BLEND_INV_DEST_COLOR = 10,// 1.0f - RT(N).rgb | ||
| 711 | D3D12_BLEND_SRC_ALPHA_SAT = 11,// (f,f,f,1), f = min(1 - RT(N).a, oN.a) | ||
| 712 | // 12 reserved (was BOTHSRCALPHA) | ||
| 713 | // 13 reserved (was BOTHSRCALPHA) | ||
| 714 | D3D12_BLEND_BLEND_FACTOR = 14, | ||
| 715 | D3D12_BLEND_INV_BLEND_FACTOR = 15, | ||
| 716 | D3D12_BLEND_SRC1_COLOR = 16, // PS output o1.rgb | ||
| 717 | D3D12_BLEND_INV_SRC1_COLOR = 17, // 1.0f - PS output o1.rgb | ||
| 718 | D3D12_BLEND_SRC1_ALPHA = 18, // PS output o1.a | ||
| 719 | D3D12_BLEND_INV_SRC1_ALPHA = 19, // 1.0f - PS output o1.a | ||
| 720 | D3D12_BLEND_ALPHA_FACTOR = 20, | ||
| 721 | D3D12_BLEND_INV_ALPHA_FACTOR = 21 | ||
| 722 | } D3D12_BLEND; | ||
| 723 | |||
| 724 | // Keep BLENDOP values in sync with earlier DX versions (HW consumes values directly). | ||
| 725 | typedef enum D3D12_BLEND_OP | ||
| 726 | { | ||
| 727 | D3D12_BLEND_OP_ADD = 1, | ||
| 728 | D3D12_BLEND_OP_SUBTRACT = 2, | ||
| 729 | D3D12_BLEND_OP_REV_SUBTRACT = 3, | ||
| 730 | D3D12_BLEND_OP_MIN = 4, // min semantics are like min shader instruction | ||
| 731 | D3D12_BLEND_OP_MAX = 5, // max semantics are like max shader instruction | ||
| 732 | } D3D12_BLEND_OP; | ||
| 733 | |||
| 734 | typedef enum D3D12_COLOR_WRITE_ENABLE | ||
| 735 | { | ||
| 736 | D3D12_COLOR_WRITE_ENABLE_RED = 1, | ||
| 737 | D3D12_COLOR_WRITE_ENABLE_GREEN = 2, | ||
| 738 | D3D12_COLOR_WRITE_ENABLE_BLUE = 4, | ||
| 739 | D3D12_COLOR_WRITE_ENABLE_ALPHA = 8, | ||
| 740 | D3D12_COLOR_WRITE_ENABLE_ALL = (D3D12_COLOR_WRITE_ENABLE_RED|D3D12_COLOR_WRITE_ENABLE_GREEN| | ||
| 741 | D3D12_COLOR_WRITE_ENABLE_BLUE|D3D12_COLOR_WRITE_ENABLE_ALPHA), | ||
| 742 | } D3D12_COLOR_WRITE_ENABLE; | ||
| 743 | |||
| 744 | typedef enum D3D12_LOGIC_OP | ||
| 745 | { | ||
| 746 | // Operation: | ||
| 747 | // (s == PS output, d = RTV contents) | ||
| 748 | D3D12_LOGIC_OP_CLEAR = 0, // 0 | ||
| 749 | D3D12_LOGIC_OP_SET, // 1 | ||
| 750 | D3D12_LOGIC_OP_COPY, // s | ||
| 751 | D3D12_LOGIC_OP_COPY_INVERTED, // ~s | ||
| 752 | D3D12_LOGIC_OP_NOOP, // d | ||
| 753 | D3D12_LOGIC_OP_INVERT, // ~d | ||
| 754 | D3D12_LOGIC_OP_AND, // s & d | ||
| 755 | D3D12_LOGIC_OP_NAND, // ~(s & d) | ||
| 756 | D3D12_LOGIC_OP_OR, // s | d | ||
| 757 | D3D12_LOGIC_OP_NOR, // ~(s | d) | ||
| 758 | D3D12_LOGIC_OP_XOR, // s ^ d | ||
| 759 | D3D12_LOGIC_OP_EQUIV, // ~(s ^ d) | ||
| 760 | D3D12_LOGIC_OP_AND_REVERSE, // s & ~d | ||
| 761 | D3D12_LOGIC_OP_AND_INVERTED, // ~s & d | ||
| 762 | D3D12_LOGIC_OP_OR_REVERSE, // s | ~d | ||
| 763 | D3D12_LOGIC_OP_OR_INVERTED, // ~s | d | ||
| 764 | } D3D12_LOGIC_OP; | ||
| 765 | |||
| 766 | typedef struct D3D12_RENDER_TARGET_BLEND_DESC | ||
| 767 | { | ||
| 768 | BOOL BlendEnable; | ||
| 769 | BOOL LogicOpEnable; // LogicOpEnable and BlendEnable can't both be true | ||
| 770 | D3D12_BLEND SrcBlend; | ||
| 771 | D3D12_BLEND DestBlend; | ||
| 772 | D3D12_BLEND_OP BlendOp; | ||
| 773 | D3D12_BLEND SrcBlendAlpha; | ||
| 774 | D3D12_BLEND DestBlendAlpha; | ||
| 775 | D3D12_BLEND_OP BlendOpAlpha; | ||
| 776 | D3D12_LOGIC_OP LogicOp; // applies to RGBA | ||
| 777 | UINT8 RenderTargetWriteMask; // D3D12_COLOR_WRITE_ENABLE | ||
| 778 | } D3D12_RENDER_TARGET_BLEND_DESC; | ||
| 779 | |||
| 780 | typedef struct D3D12_BLEND_DESC | ||
| 781 | { | ||
| 782 | BOOL AlphaToCoverageEnable; // relevant to multisample antialiasing only | ||
| 783 | BOOL IndependentBlendEnable; // if FALSE, then replicate the first entry in RenderTarget array to other entries | ||
| 784 | D3D12_RENDER_TARGET_BLEND_DESC RenderTarget[D3D12_SIMULTANEOUS_RENDER_TARGET_COUNT]; | ||
| 785 | } D3D12_BLEND_DESC; | ||
| 786 | |||
| 787 | cpp_quote( "/* Note, the array size for RenderTarget[] above is D3D12_SIMULTANEOUS_RENDERTARGET_COUNT. ") | ||
| 788 | cpp_quote( " IDL processing/generation of this header replaces the define; this comment is merely explaining what happened. */" ) | ||
| 789 | |||
| 790 | |||
| 791 | //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// | ||
| 792 | // | ||
| 793 | // Rasterizer State | ||
| 794 | // | ||
| 795 | //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// | ||
| 796 | |||
| 797 | typedef enum D3D12_CONSERVATIVE_RASTERIZATION_MODE | ||
| 798 | { | ||
| 799 | D3D12_CONSERVATIVE_RASTERIZATION_MODE_OFF = 0, // Default | ||
| 800 | D3D12_CONSERVATIVE_RASTERIZATION_MODE_ON = 1, | ||
| 801 | } D3D12_CONSERVATIVE_RASTERIZATION_MODE; | ||
| 802 | |||
| 803 | typedef struct D3D12_RASTERIZER_DESC | ||
| 804 | { | ||
| 805 | D3D12_FILL_MODE FillMode; | ||
| 806 | D3D12_CULL_MODE CullMode; | ||
| 807 | BOOL FrontCounterClockwise; | ||
| 808 | INT DepthBias; | ||
| 809 | FLOAT DepthBiasClamp; | ||
| 810 | FLOAT SlopeScaledDepthBias; | ||
| 811 | BOOL DepthClipEnable; | ||
| 812 | BOOL MultisampleEnable; | ||
| 813 | BOOL AntialiasedLineEnable; | ||
| 814 | UINT ForcedSampleCount; | ||
| 815 | D3D12_CONSERVATIVE_RASTERIZATION_MODE ConservativeRaster; | ||
| 816 | } D3D12_RASTERIZER_DESC; | ||
| 817 | |||
| 818 | typedef struct D3D12_RASTERIZER_DESC1 | ||
| 819 | { | ||
| 820 | D3D12_FILL_MODE FillMode; | ||
| 821 | D3D12_CULL_MODE CullMode; | ||
| 822 | BOOL FrontCounterClockwise; | ||
| 823 | FLOAT DepthBias; | ||
| 824 | FLOAT DepthBiasClamp; | ||
| 825 | FLOAT SlopeScaledDepthBias; | ||
| 826 | BOOL DepthClipEnable; | ||
| 827 | BOOL MultisampleEnable; | ||
| 828 | BOOL AntialiasedLineEnable; | ||
| 829 | UINT ForcedSampleCount; | ||
| 830 | D3D12_CONSERVATIVE_RASTERIZATION_MODE ConservativeRaster; | ||
| 831 | } D3D12_RASTERIZER_DESC1; | ||
| 832 | |||
| 833 | typedef enum D3D12_LINE_RASTERIZATION_MODE | ||
| 834 | { | ||
| 835 | D3D12_LINE_RASTERIZATION_MODE_ALIASED, | ||
| 836 | D3D12_LINE_RASTERIZATION_MODE_ALPHA_ANTIALIASED, | ||
| 837 | D3D12_LINE_RASTERIZATION_MODE_QUADRILATERAL_WIDE, | ||
| 838 | D3D12_LINE_RASTERIZATION_MODE_QUADRILATERAL_NARROW, | ||
| 839 | } D3D12_LINE_RASTERIZATION_MODE; | ||
| 840 | |||
| 841 | typedef struct D3D12_RASTERIZER_DESC2 | ||
| 842 | { | ||
| 843 | D3D12_FILL_MODE FillMode; | ||
| 844 | D3D12_CULL_MODE CullMode; | ||
| 845 | BOOL FrontCounterClockwise; | ||
| 846 | FLOAT DepthBias; | ||
| 847 | FLOAT DepthBiasClamp; | ||
| 848 | FLOAT SlopeScaledDepthBias; | ||
| 849 | BOOL DepthClipEnable; | ||
| 850 | D3D12_LINE_RASTERIZATION_MODE LineRasterizationMode; | ||
| 851 | UINT ForcedSampleCount; | ||
| 852 | D3D12_CONSERVATIVE_RASTERIZATION_MODE ConservativeRaster; | ||
| 853 | } D3D12_RASTERIZER_DESC2; | ||
| 854 | |||
| 855 | //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// | ||
| 856 | // | ||
| 857 | // Pipeline State v1 | ||
| 858 | // | ||
| 859 | //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// | ||
| 860 | |||
| 861 | [ uuid( c54a6b66-72df-4ee8-8be5-a946a1429214 ), object, local, pointer_default( unique ) ] | ||
| 862 | interface ID3D12RootSignature | ||
| 863 | : ID3D12DeviceChild | ||
| 864 | { | ||
| 865 | } | ||
| 866 | |||
| 867 | typedef struct D3D12_SHADER_BYTECODE | ||
| 868 | { | ||
| 869 | [annotation("_Field_size_bytes_full_(BytecodeLength)")] const void* pShaderBytecode; | ||
| 870 | SIZE_T BytecodeLength; | ||
| 871 | } D3D12_SHADER_BYTECODE; | ||
| 872 | |||
| 873 | typedef struct D3D12_STREAM_OUTPUT_DESC | ||
| 874 | { | ||
| 875 | [annotation("_Field_size_full_(NumEntries)")] const D3D12_SO_DECLARATION_ENTRY* pSODeclaration; | ||
| 876 | UINT NumEntries; | ||
| 877 | [annotation("_Field_size_full_(NumStrides)")] const UINT* pBufferStrides; | ||
| 878 | UINT NumStrides; | ||
| 879 | UINT RasterizedStream; | ||
| 880 | } D3D12_STREAM_OUTPUT_DESC; | ||
| 881 | |||
| 882 | typedef struct D3D12_INPUT_LAYOUT_DESC | ||
| 883 | { | ||
| 884 | [annotation("_Field_size_full_(NumElements)")] const D3D12_INPUT_ELEMENT_DESC* pInputElementDescs; | ||
| 885 | UINT NumElements; | ||
| 886 | } D3D12_INPUT_LAYOUT_DESC; | ||
| 887 | |||
| 888 | typedef enum D3D12_INDEX_BUFFER_STRIP_CUT_VALUE | ||
| 889 | { | ||
| 890 | D3D12_INDEX_BUFFER_STRIP_CUT_VALUE_DISABLED = 0, | ||
| 891 | D3D12_INDEX_BUFFER_STRIP_CUT_VALUE_0xFFFF = 1, | ||
| 892 | D3D12_INDEX_BUFFER_STRIP_CUT_VALUE_0xFFFFFFFF = 2 | ||
| 893 | } D3D12_INDEX_BUFFER_STRIP_CUT_VALUE; | ||
| 894 | |||
| 895 | typedef enum D3D12_STANDARD_MULTISAMPLE_QUALITY_LEVELS | ||
| 896 | { | ||
| 897 | D3D12_STANDARD_MULTISAMPLE_PATTERN = 0xffffffff, | ||
| 898 | D3D12_CENTER_MULTISAMPLE_PATTERN = 0xfffffffe | ||
| 899 | } D3D12_STANDARD_MULTISAMPLE_QUALITY_LEVELS; | ||
| 900 | |||
| 901 | typedef struct D3D12_CACHED_PIPELINE_STATE | ||
| 902 | { | ||
| 903 | [annotation("_Field_size_bytes_full_(CachedBlobSizeInBytes)")] const void* pCachedBlob; | ||
| 904 | SIZE_T CachedBlobSizeInBytes; | ||
| 905 | } D3D12_CACHED_PIPELINE_STATE; | ||
| 906 | |||
| 907 | typedef enum D3D12_PIPELINE_STATE_FLAGS | ||
| 908 | { | ||
| 909 | D3D12_PIPELINE_STATE_FLAG_NONE = 0x0, | ||
| 910 | D3D12_PIPELINE_STATE_FLAG_TOOL_DEBUG = 0x1, | ||
| 911 | D3D12_PIPELINE_STATE_FLAG_DYNAMIC_DEPTH_BIAS = 0x4, | ||
| 912 | D3D12_PIPELINE_STATE_FLAG_DYNAMIC_INDEX_BUFFER_STRIP_CUT = 0x8, | ||
| 913 | |||
| 914 | } D3D12_PIPELINE_STATE_FLAGS; | ||
| 915 | cpp_quote( "DEFINE_ENUM_FLAG_OPERATORS( D3D12_PIPELINE_STATE_FLAGS )" ) | ||
| 916 | |||
| 917 | typedef struct D3D12_GRAPHICS_PIPELINE_STATE_DESC | ||
| 918 | { | ||
| 919 | ID3D12RootSignature* pRootSignature; | ||
| 920 | D3D12_SHADER_BYTECODE VS; | ||
| 921 | D3D12_SHADER_BYTECODE PS; | ||
| 922 | D3D12_SHADER_BYTECODE DS; | ||
| 923 | D3D12_SHADER_BYTECODE HS; | ||
| 924 | D3D12_SHADER_BYTECODE GS; | ||
| 925 | D3D12_STREAM_OUTPUT_DESC StreamOutput; | ||
| 926 | D3D12_BLEND_DESC BlendState; | ||
| 927 | UINT SampleMask; | ||
| 928 | D3D12_RASTERIZER_DESC RasterizerState; | ||
| 929 | D3D12_DEPTH_STENCIL_DESC DepthStencilState; | ||
| 930 | D3D12_INPUT_LAYOUT_DESC InputLayout; | ||
| 931 | D3D12_INDEX_BUFFER_STRIP_CUT_VALUE IBStripCutValue; | ||
| 932 | D3D12_PRIMITIVE_TOPOLOGY_TYPE PrimitiveTopologyType; | ||
| 933 | UINT NumRenderTargets; | ||
| 934 | DXGI_FORMAT RTVFormats[ D3D12_SIMULTANEOUS_RENDER_TARGET_COUNT ]; | ||
| 935 | DXGI_FORMAT DSVFormat; | ||
| 936 | DXGI_SAMPLE_DESC SampleDesc; | ||
| 937 | UINT NodeMask; | ||
| 938 | D3D12_CACHED_PIPELINE_STATE CachedPSO; | ||
| 939 | D3D12_PIPELINE_STATE_FLAGS Flags; | ||
| 940 | } D3D12_GRAPHICS_PIPELINE_STATE_DESC; | ||
| 941 | |||
| 942 | typedef struct D3D12_COMPUTE_PIPELINE_STATE_DESC | ||
| 943 | { | ||
| 944 | ID3D12RootSignature* pRootSignature; | ||
| 945 | D3D12_SHADER_BYTECODE CS; | ||
| 946 | UINT NodeMask; | ||
| 947 | D3D12_CACHED_PIPELINE_STATE CachedPSO; | ||
| 948 | D3D12_PIPELINE_STATE_FLAGS Flags; | ||
| 949 | } D3D12_COMPUTE_PIPELINE_STATE_DESC; | ||
| 950 | |||
| 951 | //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// | ||
| 952 | // | ||
| 953 | // Serialized Root Signature | ||
| 954 | // | ||
| 955 | //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// | ||
| 956 | typedef enum D3D_ROOT_SIGNATURE_VERSION | ||
| 957 | { | ||
| 958 | D3D_ROOT_SIGNATURE_VERSION_1 = 0x1, | ||
| 959 | D3D_ROOT_SIGNATURE_VERSION_1_0 = 0x1, | ||
| 960 | D3D_ROOT_SIGNATURE_VERSION_1_1 = 0x2, | ||
| 961 | D3D_ROOT_SIGNATURE_VERSION_1_2 = 0x3, | ||
| 962 | } D3D_ROOT_SIGNATURE_VERSION; | ||
| 963 | |||
| 964 | typedef struct D3D12_SERIALIZED_ROOT_SIGNATURE_DESC | ||
| 965 | { | ||
| 966 | [annotation("_Field_size_bytes_full_(SerializedBlobSizeInBytes)")] const void* pSerializedBlob; | ||
| 967 | SIZE_T SerializedBlobSizeInBytes; | ||
| 968 | } D3D12_SERIALIZED_ROOT_SIGNATURE_DESC; | ||
| 969 | |||
| 970 | typedef struct D3D12_GLOBAL_SERIALIZED_ROOT_SIGNATURE | ||
| 971 | { | ||
| 972 | D3D12_SERIALIZED_ROOT_SIGNATURE_DESC Desc; | ||
| 973 | } D3D12_GLOBAL_SERIALIZED_ROOT_SIGNATURE; | ||
| 974 | |||
| 975 | typedef struct D3D12_LOCAL_SERIALIZED_ROOT_SIGNATURE | ||
| 976 | { | ||
| 977 | D3D12_SERIALIZED_ROOT_SIGNATURE_DESC Desc; | ||
| 978 | } D3D12_LOCAL_SERIALIZED_ROOT_SIGNATURE; | ||
| 979 | |||
| 980 | //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// | ||
| 981 | // | ||
| 982 | // Pipeline State v2 | ||
| 983 | // | ||
| 984 | //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// | ||
| 985 | |||
| 986 | struct D3D12_RT_FORMAT_ARRAY | ||
| 987 | { | ||
| 988 | DXGI_FORMAT RTFormats[D3D12_SIMULTANEOUS_RENDER_TARGET_COUNT]; | ||
| 989 | UINT NumRenderTargets; | ||
| 990 | }; | ||
| 991 | |||
| 992 | typedef struct D3D12_PIPELINE_STATE_STREAM_DESC | ||
| 993 | { | ||
| 994 | [annotation("_In_")] SIZE_T SizeInBytes; | ||
| 995 | [annotation("_In_reads_(_Inexpressible_(\"Dependent on size of subobjects\"))")] void* pPipelineStateSubobjectStream; | ||
| 996 | } D3D12_PIPELINE_STATE_STREAM_DESC; | ||
| 997 | |||
| 998 | typedef enum D3D12_PIPELINE_STATE_SUBOBJECT_TYPE | ||
| 999 | { | ||
| 1000 | D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_ROOT_SIGNATURE, // ID3D12RootSignature* | ||
| 1001 | D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_VS, // D3D12_SHADER_BYTECODE | ||
| 1002 | D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_PS, // D3D12_SHADER_BYTECODE | ||
| 1003 | D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_DS, // D3D12_SHADER_BYTECODE | ||
| 1004 | D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_HS, // D3D12_SHADER_BYTECODE | ||
| 1005 | D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_GS, // D3D12_SHADER_BYTECODE | ||
| 1006 | D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_CS, // D3D12_SHADER_BYTECODE | ||
| 1007 | D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_STREAM_OUTPUT, // D3D12_STREAM_OUTPUT_DESC | ||
| 1008 | D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_BLEND, // D3D12_BLEND_DESC | ||
| 1009 | D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_SAMPLE_MASK, // UINT | ||
| 1010 | D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_RASTERIZER, // D3D12_RASTERIZER_DESC | ||
| 1011 | D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_DEPTH_STENCIL, // D3D12_DEPTH_STENCIL_DESC | ||
| 1012 | D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_INPUT_LAYOUT, // D3D12_INPUT_LAYOUT_DESC | ||
| 1013 | D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_IB_STRIP_CUT_VALUE, // D3D12_INDEX_BUFFER_STRIP_CUT_VALUE | ||
| 1014 | D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_PRIMITIVE_TOPOLOGY, // D3D12_PRIMITIVE_TOPOLOGY_TYPE | ||
| 1015 | D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_RENDER_TARGET_FORMATS, // D3D12_RT_FORMAT_ARRAY | ||
| 1016 | D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_DEPTH_STENCIL_FORMAT, // DXGI_FORMAT | ||
| 1017 | D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_SAMPLE_DESC, // DXGI_SAMPLE_DESC | ||
| 1018 | D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_NODE_MASK, // UINT | ||
| 1019 | D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_CACHED_PSO, // D3D12_CACHED_PIPELINE_STATE | ||
| 1020 | D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_FLAGS, // D3D12_PIPELINE_STATE_FLAGS | ||
| 1021 | D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_DEPTH_STENCIL1, // D3D12_DEPTH_STENCIL_DESC1 | ||
| 1022 | D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_VIEW_INSTANCING, // D3D12_VIEW_INSTANCING_DESC | ||
| 1023 | D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_AS = 24, // D3D12_SHADER_BYTECODE | ||
| 1024 | D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_MS = 25, // D3D12_SHADER_BYTECODE | ||
| 1025 | D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_DEPTH_STENCIL2 = 26, // D3D12_DEPTH_STENCIL_DESC2 | ||
| 1026 | D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_RASTERIZER1 = 27, // D3D12_RASTERIZER_DESC1 | ||
| 1027 | D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_RASTERIZER2 = 28, // D3D12_RASTERIZER_DESC2 | ||
| 1028 | D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_SERIALIZED_ROOT_SIGNATURE = 29, // D3D12_SERIALIZED_ROOT_SIGNATURE_DESC | ||
| 1029 | D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_MAX_VALID, | ||
| 1030 | } D3D12_PIPELINE_STATE_SUBOBJECT_TYPE; | ||
| 1031 | |||
| 1032 | //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// | ||
| 1033 | // | ||
| 1034 | // D3D12 Caps | ||
| 1035 | // | ||
| 1036 | //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// | ||
| 1037 | |||
| 1038 | typedef enum D3D12_FEATURE | ||
| 1039 | { | ||
| 1040 | D3D12_FEATURE_D3D12_OPTIONS = 0, | ||
| 1041 | D3D12_FEATURE_ARCHITECTURE = 1, // Deprecated by D3D12_FEATURE_ARCHITECTURE1 | ||
| 1042 | D3D12_FEATURE_FEATURE_LEVELS = 2, | ||
| 1043 | D3D12_FEATURE_FORMAT_SUPPORT = 3, | ||
| 1044 | D3D12_FEATURE_MULTISAMPLE_QUALITY_LEVELS = 4, | ||
| 1045 | D3D12_FEATURE_FORMAT_INFO = 5, | ||
| 1046 | D3D12_FEATURE_GPU_VIRTUAL_ADDRESS_SUPPORT = 6, | ||
| 1047 | D3D12_FEATURE_SHADER_MODEL = 7, | ||
| 1048 | D3D12_FEATURE_D3D12_OPTIONS1 = 8, | ||
| 1049 | D3D12_FEATURE_PROTECTED_RESOURCE_SESSION_SUPPORT = 10, | ||
| 1050 | D3D12_FEATURE_ROOT_SIGNATURE = 12, | ||
| 1051 | D3D12_FEATURE_ARCHITECTURE1 = 16, | ||
| 1052 | D3D12_FEATURE_D3D12_OPTIONS2 = 18, | ||
| 1053 | D3D12_FEATURE_SHADER_CACHE = 19, | ||
| 1054 | D3D12_FEATURE_COMMAND_QUEUE_PRIORITY = 20, | ||
| 1055 | D3D12_FEATURE_D3D12_OPTIONS3 = 21, | ||
| 1056 | D3D12_FEATURE_EXISTING_HEAPS = 22, | ||
| 1057 | D3D12_FEATURE_D3D12_OPTIONS4 = 23, | ||
| 1058 | D3D12_FEATURE_SERIALIZATION = 24, | ||
| 1059 | D3D12_FEATURE_CROSS_NODE = 25, | ||
| 1060 | D3D12_FEATURE_D3D12_OPTIONS5 = 27, | ||
| 1061 | D3D12_FEATURE_DISPLAYABLE = 28, | ||
| 1062 | D3D12_FEATURE_D3D12_OPTIONS6 = 30, | ||
| 1063 | D3D12_FEATURE_QUERY_META_COMMAND = 31, | ||
| 1064 | D3D12_FEATURE_D3D12_OPTIONS7 = 32, | ||
| 1065 | D3D12_FEATURE_PROTECTED_RESOURCE_SESSION_TYPE_COUNT = 33, | ||
| 1066 | D3D12_FEATURE_PROTECTED_RESOURCE_SESSION_TYPES = 34, | ||
| 1067 | D3D12_FEATURE_D3D12_OPTIONS8 = 36, | ||
| 1068 | D3D12_FEATURE_D3D12_OPTIONS9 = 37, | ||
| 1069 | D3D12_FEATURE_D3D12_OPTIONS10 = 39, | ||
| 1070 | D3D12_FEATURE_D3D12_OPTIONS11 = 40, | ||
| 1071 | D3D12_FEATURE_D3D12_OPTIONS12 = 41, | ||
| 1072 | D3D12_FEATURE_D3D12_OPTIONS13 = 42, | ||
| 1073 | D3D12_FEATURE_D3D12_OPTIONS14 = 43, | ||
| 1074 | D3D12_FEATURE_D3D12_OPTIONS15 = 44, | ||
| 1075 | D3D12_FEATURE_D3D12_OPTIONS16 = 45, | ||
| 1076 | D3D12_FEATURE_D3D12_OPTIONS17 = 46, | ||
| 1077 | D3D12_FEATURE_D3D12_OPTIONS18 = 47, | ||
| 1078 | D3D12_FEATURE_D3D12_OPTIONS19 = 48, | ||
| 1079 | D3D12_FEATURE_D3D12_OPTIONS20 = 49, | ||
| 1080 | D3D12_FEATURE_PREDICATION = 50, | ||
| 1081 | D3D12_FEATURE_PLACED_RESOURCE_SUPPORT_INFO = 51, | ||
| 1082 | D3D12_FEATURE_HARDWARE_COPY = 52, | ||
| 1083 | D3D12_FEATURE_D3D12_OPTIONS21 = 53, | ||
| 1084 | D3D12_FEATURE_D3D12_TIGHT_ALIGNMENT = 54, | ||
| 1085 | D3D12_FEATURE_APPLICATION_SPECIFIC_DRIVER_STATE = 56, | ||
| 1086 | D3D12_FEATURE_BYTECODE_BYPASS_HASH_SUPPORTED = 57, | ||
| 1087 | D3D12_FEATURE_SHADER_CACHE_ABI_SUPPORT = 61, | ||
| 1088 | |||
| 1089 | } D3D12_FEATURE; | ||
| 1090 | |||
| 1091 | typedef enum D3D12_SHADER_MIN_PRECISION_SUPPORT | ||
| 1092 | { | ||
| 1093 | D3D12_SHADER_MIN_PRECISION_SUPPORT_NONE = 0x0, | ||
| 1094 | D3D12_SHADER_MIN_PRECISION_SUPPORT_10_BIT = 0x1, | ||
| 1095 | D3D12_SHADER_MIN_PRECISION_SUPPORT_16_BIT = 0x2 | ||
| 1096 | } D3D12_SHADER_MIN_PRECISION_SUPPORT; | ||
| 1097 | cpp_quote( "DEFINE_ENUM_FLAG_OPERATORS( D3D12_SHADER_MIN_PRECISION_SUPPORT )" ) | ||
| 1098 | |||
| 1099 | typedef enum D3D12_TILED_RESOURCES_TIER | ||
| 1100 | { | ||
| 1101 | D3D12_TILED_RESOURCES_TIER_NOT_SUPPORTED = 0, | ||
| 1102 | D3D12_TILED_RESOURCES_TIER_1 = 1, | ||
| 1103 | D3D12_TILED_RESOURCES_TIER_2 = 2, | ||
| 1104 | D3D12_TILED_RESOURCES_TIER_3 = 3, | ||
| 1105 | D3D12_TILED_RESOURCES_TIER_4 = 4, | ||
| 1106 | } D3D12_TILED_RESOURCES_TIER; | ||
| 1107 | |||
| 1108 | typedef enum D3D12_RESOURCE_BINDING_TIER | ||
| 1109 | { | ||
| 1110 | D3D12_RESOURCE_BINDING_TIER_1 = 1, | ||
| 1111 | D3D12_RESOURCE_BINDING_TIER_2 = 2, | ||
| 1112 | D3D12_RESOURCE_BINDING_TIER_3 = 3, | ||
| 1113 | } D3D12_RESOURCE_BINDING_TIER; | ||
| 1114 | |||
| 1115 | typedef enum D3D12_CONSERVATIVE_RASTERIZATION_TIER { | ||
| 1116 | D3D12_CONSERVATIVE_RASTERIZATION_TIER_NOT_SUPPORTED = 0, | ||
| 1117 | D3D12_CONSERVATIVE_RASTERIZATION_TIER_1 = 1, | ||
| 1118 | D3D12_CONSERVATIVE_RASTERIZATION_TIER_2 = 2, | ||
| 1119 | D3D12_CONSERVATIVE_RASTERIZATION_TIER_3 = 3, | ||
| 1120 | } D3D12_CONSERVATIVE_RASTERIZATION_TIER; | ||
| 1121 | |||
| 1122 | |||
| 1123 | typedef enum D3D12_FORMAT_SUPPORT1 | ||
| 1124 | { | ||
| 1125 | D3D12_FORMAT_SUPPORT1_NONE = 0, | ||
| 1126 | D3D12_FORMAT_SUPPORT1_BUFFER = 0x00000001, | ||
| 1127 | D3D12_FORMAT_SUPPORT1_IA_VERTEX_BUFFER = 0x00000002, | ||
| 1128 | D3D12_FORMAT_SUPPORT1_IA_INDEX_BUFFER = 0x00000004, | ||
| 1129 | D3D12_FORMAT_SUPPORT1_SO_BUFFER = 0x00000008, | ||
| 1130 | D3D12_FORMAT_SUPPORT1_TEXTURE1D = 0x00000010, | ||
| 1131 | D3D12_FORMAT_SUPPORT1_TEXTURE2D = 0x00000020, | ||
| 1132 | D3D12_FORMAT_SUPPORT1_TEXTURE3D = 0x00000040, | ||
| 1133 | D3D12_FORMAT_SUPPORT1_TEXTURECUBE = 0x00000080, | ||
| 1134 | D3D12_FORMAT_SUPPORT1_SHADER_LOAD = 0x00000100, | ||
| 1135 | D3D12_FORMAT_SUPPORT1_SHADER_SAMPLE = 0x00000200, | ||
| 1136 | D3D12_FORMAT_SUPPORT1_SHADER_SAMPLE_COMPARISON = 0x00000400, | ||
| 1137 | D3D12_FORMAT_SUPPORT1_SHADER_SAMPLE_MONO_TEXT = 0x00000800, | ||
| 1138 | D3D12_FORMAT_SUPPORT1_MIP = 0x00001000, | ||
| 1139 | D3D12_FORMAT_SUPPORT1_RENDER_TARGET = 0x00004000, | ||
| 1140 | D3D12_FORMAT_SUPPORT1_BLENDABLE = 0x00008000, | ||
| 1141 | D3D12_FORMAT_SUPPORT1_DEPTH_STENCIL = 0x00010000, | ||
| 1142 | D3D12_FORMAT_SUPPORT1_MULTISAMPLE_RESOLVE = 0x00040000, | ||
| 1143 | D3D12_FORMAT_SUPPORT1_DISPLAY = 0x00080000, | ||
| 1144 | D3D12_FORMAT_SUPPORT1_CAST_WITHIN_BIT_LAYOUT = 0x00100000, | ||
| 1145 | D3D12_FORMAT_SUPPORT1_MULTISAMPLE_RENDERTARGET = 0x00200000, | ||
| 1146 | D3D12_FORMAT_SUPPORT1_MULTISAMPLE_LOAD = 0x00400000, | ||
| 1147 | D3D12_FORMAT_SUPPORT1_SHADER_GATHER = 0x00800000, | ||
| 1148 | D3D12_FORMAT_SUPPORT1_BACK_BUFFER_CAST = 0x01000000, | ||
| 1149 | D3D12_FORMAT_SUPPORT1_TYPED_UNORDERED_ACCESS_VIEW = 0x02000000, | ||
| 1150 | D3D12_FORMAT_SUPPORT1_SHADER_GATHER_COMPARISON = 0x04000000, | ||
| 1151 | D3D12_FORMAT_SUPPORT1_DECODER_OUTPUT = 0x08000000, | ||
| 1152 | D3D12_FORMAT_SUPPORT1_VIDEO_PROCESSOR_OUTPUT = 0x10000000, | ||
| 1153 | D3D12_FORMAT_SUPPORT1_VIDEO_PROCESSOR_INPUT = 0x20000000, | ||
| 1154 | D3D12_FORMAT_SUPPORT1_VIDEO_ENCODER = 0x40000000, | ||
| 1155 | } D3D12_FORMAT_SUPPORT1; | ||
| 1156 | cpp_quote( "DEFINE_ENUM_FLAG_OPERATORS( D3D12_FORMAT_SUPPORT1 )" ) | ||
| 1157 | |||
| 1158 | typedef enum D3D12_FORMAT_SUPPORT2 | ||
| 1159 | { | ||
| 1160 | D3D12_FORMAT_SUPPORT2_NONE = 0, | ||
| 1161 | D3D12_FORMAT_SUPPORT2_UAV_ATOMIC_ADD = 0x00000001, | ||
| 1162 | D3D12_FORMAT_SUPPORT2_UAV_ATOMIC_BITWISE_OPS = 0x00000002, | ||
| 1163 | D3D12_FORMAT_SUPPORT2_UAV_ATOMIC_COMPARE_STORE_OR_COMPARE_EXCHANGE = 0x00000004, | ||
| 1164 | D3D12_FORMAT_SUPPORT2_UAV_ATOMIC_EXCHANGE = 0x00000008, | ||
| 1165 | D3D12_FORMAT_SUPPORT2_UAV_ATOMIC_SIGNED_MIN_OR_MAX = 0x00000010, | ||
| 1166 | D3D12_FORMAT_SUPPORT2_UAV_ATOMIC_UNSIGNED_MIN_OR_MAX = 0x00000020, | ||
| 1167 | D3D12_FORMAT_SUPPORT2_UAV_TYPED_LOAD = 0x00000040, | ||
| 1168 | D3D12_FORMAT_SUPPORT2_UAV_TYPED_STORE = 0x00000080, | ||
| 1169 | D3D12_FORMAT_SUPPORT2_OUTPUT_MERGER_LOGIC_OP = 0x00000100, | ||
| 1170 | D3D12_FORMAT_SUPPORT2_TILED = 0x00000200, | ||
| 1171 | D3D12_FORMAT_SUPPORT2_MULTIPLANE_OVERLAY = 0x00004000, | ||
| 1172 | D3D12_FORMAT_SUPPORT2_SAMPLER_FEEDBACK = 0x00008000, | ||
| 1173 | D3D12_FORMAT_SUPPORT2_DISPLAYABLE = 0x00010000, | ||
| 1174 | } D3D12_FORMAT_SUPPORT2; | ||
| 1175 | cpp_quote( "DEFINE_ENUM_FLAG_OPERATORS( D3D12_FORMAT_SUPPORT2 )" ) | ||
| 1176 | |||
| 1177 | typedef enum D3D12_MULTISAMPLE_QUALITY_LEVEL_FLAGS | ||
| 1178 | { | ||
| 1179 | D3D12_MULTISAMPLE_QUALITY_LEVELS_FLAG_NONE = 0, | ||
| 1180 | D3D12_MULTISAMPLE_QUALITY_LEVELS_FLAG_TILED_RESOURCE = 0x00000001, | ||
| 1181 | } D3D12_MULTISAMPLE_QUALITY_LEVEL_FLAGS; | ||
| 1182 | cpp_quote( "DEFINE_ENUM_FLAG_OPERATORS( D3D12_MULTISAMPLE_QUALITY_LEVEL_FLAGS )" ) | ||
| 1183 | |||
| 1184 | typedef enum D3D12_CROSS_NODE_SHARING_TIER | ||
| 1185 | { | ||
| 1186 | D3D12_CROSS_NODE_SHARING_TIER_NOT_SUPPORTED = 0, | ||
| 1187 | D3D12_CROSS_NODE_SHARING_TIER_1_EMULATED = 1, | ||
| 1188 | D3D12_CROSS_NODE_SHARING_TIER_1 = 2, | ||
| 1189 | D3D12_CROSS_NODE_SHARING_TIER_2 = 3, | ||
| 1190 | D3D12_CROSS_NODE_SHARING_TIER_3 = 4, | ||
| 1191 | } D3D12_CROSS_NODE_SHARING_TIER; | ||
| 1192 | |||
| 1193 | typedef enum D3D12_RESOURCE_HEAP_TIER | ||
| 1194 | { | ||
| 1195 | D3D12_RESOURCE_HEAP_TIER_1 = 1, | ||
| 1196 | D3D12_RESOURCE_HEAP_TIER_2 = 2, | ||
| 1197 | } D3D12_RESOURCE_HEAP_TIER; | ||
| 1198 | |||
| 1199 | typedef enum D3D12_PROGRAMMABLE_SAMPLE_POSITIONS_TIER | ||
| 1200 | { | ||
| 1201 | D3D12_PROGRAMMABLE_SAMPLE_POSITIONS_TIER_NOT_SUPPORTED = 0, | ||
| 1202 | D3D12_PROGRAMMABLE_SAMPLE_POSITIONS_TIER_1 = 1, | ||
| 1203 | D3D12_PROGRAMMABLE_SAMPLE_POSITIONS_TIER_2 = 2, | ||
| 1204 | } D3D12_PROGRAMMABLE_SAMPLE_POSITIONS_TIER; | ||
| 1205 | |||
| 1206 | typedef enum D3D12_VIEW_INSTANCING_TIER | ||
| 1207 | { | ||
| 1208 | D3D12_VIEW_INSTANCING_TIER_NOT_SUPPORTED = 0, | ||
| 1209 | D3D12_VIEW_INSTANCING_TIER_1 = 1, | ||
| 1210 | D3D12_VIEW_INSTANCING_TIER_2 = 2, | ||
| 1211 | D3D12_VIEW_INSTANCING_TIER_3 = 3, | ||
| 1212 | } D3D12_VIEW_INSTANCING_TIER; | ||
| 1213 | |||
| 1214 | |||
| 1215 | typedef enum D3D12_WORK_GRAPHS_TIER { | ||
| 1216 | D3D12_WORK_GRAPHS_TIER_NOT_SUPPORTED = 0, | ||
| 1217 | D3D12_WORK_GRAPHS_TIER_1_0 = 10, | ||
| 1218 | } D3D12_WORK_GRAPHS_TIER; | ||
| 1219 | |||
| 1220 | |||
| 1221 | // D3D12_FEATURE_D3D12_OPTIONS | ||
| 1222 | typedef struct D3D12_FEATURE_DATA_D3D12_OPTIONS | ||
| 1223 | { | ||
| 1224 | [annotation("_Out_")] BOOL DoublePrecisionFloatShaderOps; | ||
| 1225 | [annotation("_Out_")] BOOL OutputMergerLogicOp; | ||
| 1226 | [annotation("_Out_")] D3D12_SHADER_MIN_PRECISION_SUPPORT MinPrecisionSupport; | ||
| 1227 | [annotation("_Out_")] D3D12_TILED_RESOURCES_TIER TiledResourcesTier; | ||
| 1228 | [annotation("_Out_")] D3D12_RESOURCE_BINDING_TIER ResourceBindingTier; | ||
| 1229 | [annotation("_Out_")] BOOL PSSpecifiedStencilRefSupported; | ||
| 1230 | [annotation("_Out_")] BOOL TypedUAVLoadAdditionalFormats; | ||
| 1231 | [annotation("_Out_")] BOOL ROVsSupported; | ||
| 1232 | [annotation("_Out_")] D3D12_CONSERVATIVE_RASTERIZATION_TIER ConservativeRasterizationTier; | ||
| 1233 | [annotation("_Out_")] UINT MaxGPUVirtualAddressBitsPerResource; | ||
| 1234 | [annotation("_Out_")] BOOL StandardSwizzle64KBSupported; | ||
| 1235 | [annotation("_Out_")] D3D12_CROSS_NODE_SHARING_TIER CrossNodeSharingTier; | ||
| 1236 | [annotation("_Out_")] BOOL CrossAdapterRowMajorTextureSupported; | ||
| 1237 | [annotation("_Out_")] BOOL VPAndRTArrayIndexFromAnyShaderFeedingRasterizerSupportedWithoutGSEmulation; | ||
| 1238 | [annotation("_Out_")] D3D12_RESOURCE_HEAP_TIER ResourceHeapTier; | ||
| 1239 | } D3D12_FEATURE_DATA_D3D12_OPTIONS; | ||
| 1240 | |||
| 1241 | // D3D12_FEATURE_D3D12_OPTIONS1 | ||
| 1242 | typedef struct D3D12_FEATURE_DATA_D3D12_OPTIONS1 | ||
| 1243 | { | ||
| 1244 | [annotation("_Out_")] BOOL WaveOps; | ||
| 1245 | [annotation("_Out_")] UINT WaveLaneCountMin; | ||
| 1246 | [annotation("_Out_")] UINT WaveLaneCountMax; | ||
| 1247 | [annotation("_Out_")] UINT TotalLaneCount; | ||
| 1248 | [annotation("_Out_")] BOOL ExpandedComputeResourceStates; | ||
| 1249 | [annotation("_Out_")] BOOL Int64ShaderOps; | ||
| 1250 | } D3D12_FEATURE_DATA_D3D12_OPTIONS1; | ||
| 1251 | |||
| 1252 | // D3D12_FEATURE_D3D12_OPTIONS2 | ||
| 1253 | typedef struct D3D12_FEATURE_DATA_D3D12_OPTIONS2 | ||
| 1254 | { | ||
| 1255 | [annotation("_Out_")] BOOL DepthBoundsTestSupported; | ||
| 1256 | [annotation("_Out_")] D3D12_PROGRAMMABLE_SAMPLE_POSITIONS_TIER ProgrammableSamplePositionsTier; | ||
| 1257 | } D3D12_FEATURE_DATA_D3D12_OPTIONS2; | ||
| 1258 | |||
| 1259 | // D3D12_FEATURE_ROOT_SIGNATURE | ||
| 1260 | typedef struct D3D12_FEATURE_DATA_ROOT_SIGNATURE | ||
| 1261 | { | ||
| 1262 | [annotation("_Inout_")] D3D_ROOT_SIGNATURE_VERSION HighestVersion; | ||
| 1263 | } D3D12_FEATURE_DATA_ROOT_SIGNATURE; | ||
| 1264 | |||
| 1265 | // D3D12_FEATURE_ARCHITECTURE | ||
| 1266 | typedef struct D3D12_FEATURE_DATA_ARCHITECTURE // Deprecated by D3D12_FEATURE_DATA_ARCHITECTURE1 | ||
| 1267 | { | ||
| 1268 | [annotation("_In_")] UINT NodeIndex; | ||
| 1269 | [annotation("_Out_")] BOOL TileBasedRenderer; | ||
| 1270 | [annotation("_Out_")] BOOL UMA; // Needed for applications to understand WRITE_COMBINE | ||
| 1271 | [annotation("_Out_")] BOOL CacheCoherentUMA; // Only TRUE when UMA is also TRUE | ||
| 1272 | } D3D12_FEATURE_DATA_ARCHITECTURE; | ||
| 1273 | |||
| 1274 | // D3D12_FEATURE_ARCHITECTURE1 | ||
| 1275 | typedef struct D3D12_FEATURE_DATA_ARCHITECTURE1 | ||
| 1276 | { | ||
| 1277 | [annotation("_In_")] UINT NodeIndex; | ||
| 1278 | [annotation("_Out_")] BOOL TileBasedRenderer; | ||
| 1279 | [annotation("_Out_")] BOOL UMA; // Needed for applications to understand WRITE_COMBINE | ||
| 1280 | [annotation("_Out_")] BOOL CacheCoherentUMA; // Only TRUE when UMA is also TRUE | ||
| 1281 | [annotation("_Out_")] BOOL IsolatedMMU; // GPU accesses don't honor the same MMU functionality as the CPU | ||
| 1282 | } D3D12_FEATURE_DATA_ARCHITECTURE1; | ||
| 1283 | |||
| 1284 | // D3D12_FEATURE_FEATURE_LEVELS | ||
| 1285 | typedef struct D3D12_FEATURE_DATA_FEATURE_LEVELS | ||
| 1286 | { | ||
| 1287 | [annotation("_In_")] UINT NumFeatureLevels; | ||
| 1288 | [annotation("_In_reads_(NumFeatureLevels)")] const D3D_FEATURE_LEVEL* pFeatureLevelsRequested; | ||
| 1289 | [annotation("_Out_")] D3D_FEATURE_LEVEL MaxSupportedFeatureLevel; | ||
| 1290 | } D3D12_FEATURE_DATA_FEATURE_LEVELS; | ||
| 1291 | |||
| 1292 | // D3D_SHADER_MODEL | ||
| 1293 | typedef enum D3D_SHADER_MODEL | ||
| 1294 | { | ||
| 1295 | D3D_SHADER_MODEL_NONE = 0x0, // e.g MCDM Generic devices | ||
| 1296 | D3D_SHADER_MODEL_5_1 = 0x51, | ||
| 1297 | D3D_SHADER_MODEL_6_0 = 0x60, | ||
| 1298 | D3D_SHADER_MODEL_6_1 = 0x61, | ||
| 1299 | D3D_SHADER_MODEL_6_2 = 0x62, | ||
| 1300 | D3D_SHADER_MODEL_6_3 = 0x63, | ||
| 1301 | D3D_SHADER_MODEL_6_4 = 0x64, | ||
| 1302 | D3D_SHADER_MODEL_6_5 = 0x65, | ||
| 1303 | D3D_SHADER_MODEL_6_6 = 0x66, | ||
| 1304 | D3D_SHADER_MODEL_6_7 = 0x67, | ||
| 1305 | D3D_SHADER_MODEL_6_8 = 0x68, | ||
| 1306 | D3D_SHADER_MODEL_6_9 = 0x69, | ||
| 1307 | D3D_HIGHEST_SHADER_MODEL = D3D_SHADER_MODEL_6_9 | ||
| 1308 | } D3D_SHADER_MODEL; | ||
| 1309 | |||
| 1310 | typedef struct D3D12_FEATURE_DATA_SHADER_MODEL | ||
| 1311 | { | ||
| 1312 | [annotation("_Inout_")] D3D_SHADER_MODEL HighestShaderModel; | ||
| 1313 | } D3D12_FEATURE_DATA_SHADER_MODEL; | ||
| 1314 | |||
| 1315 | // D3D12_FEATURE_FORMAT_SUPPORT | ||
| 1316 | typedef struct D3D12_FEATURE_DATA_FORMAT_SUPPORT | ||
| 1317 | { | ||
| 1318 | [annotation("_In_")] DXGI_FORMAT Format; | ||
| 1319 | [annotation("_Out_")] D3D12_FORMAT_SUPPORT1 Support1; | ||
| 1320 | [annotation("_Out_")] D3D12_FORMAT_SUPPORT2 Support2; | ||
| 1321 | } D3D12_FEATURE_DATA_FORMAT_SUPPORT; | ||
| 1322 | |||
| 1323 | // D3D12_FEATURE_MULTISAMPLE_QUALITY_LEVELS | ||
| 1324 | typedef struct D3D12_FEATURE_DATA_MULTISAMPLE_QUALITY_LEVELS | ||
| 1325 | { | ||
| 1326 | [annotation("_In_")] DXGI_FORMAT Format; | ||
| 1327 | [annotation("_In_")] UINT SampleCount; | ||
| 1328 | [annotation("_In_")] D3D12_MULTISAMPLE_QUALITY_LEVEL_FLAGS Flags; | ||
| 1329 | [annotation("_Out_")] UINT NumQualityLevels; | ||
| 1330 | } D3D12_FEATURE_DATA_MULTISAMPLE_QUALITY_LEVELS; | ||
| 1331 | |||
| 1332 | // D3D12_FEATURE_FORMAT_INFO | ||
| 1333 | typedef struct D3D12_FEATURE_DATA_FORMAT_INFO | ||
| 1334 | { | ||
| 1335 | DXGI_FORMAT Format; | ||
| 1336 | UINT8 PlaneCount; | ||
| 1337 | } D3D12_FEATURE_DATA_FORMAT_INFO; | ||
| 1338 | |||
| 1339 | // D3D12_FEATURE_GPU_VIRTUAL_ADDRESS_SUPPORT | ||
| 1340 | typedef struct D3D12_FEATURE_DATA_GPU_VIRTUAL_ADDRESS_SUPPORT | ||
| 1341 | { | ||
| 1342 | UINT MaxGPUVirtualAddressBitsPerResource; | ||
| 1343 | UINT MaxGPUVirtualAddressBitsPerProcess; | ||
| 1344 | } D3D12_FEATURE_DATA_GPU_VIRTUAL_ADDRESS_SUPPORT; | ||
| 1345 | |||
| 1346 | |||
| 1347 | typedef enum D3D12_SHADER_CACHE_SUPPORT_FLAGS | ||
| 1348 | { | ||
| 1349 | D3D12_SHADER_CACHE_SUPPORT_NONE = 0x0, | ||
| 1350 | D3D12_SHADER_CACHE_SUPPORT_SINGLE_PSO = 0x1, // Always supported | ||
| 1351 | D3D12_SHADER_CACHE_SUPPORT_LIBRARY = 0x2, | ||
| 1352 | D3D12_SHADER_CACHE_SUPPORT_AUTOMATIC_INPROC_CACHE = 0x4, | ||
| 1353 | D3D12_SHADER_CACHE_SUPPORT_AUTOMATIC_DISK_CACHE = 0x8, | ||
| 1354 | D3D12_SHADER_CACHE_SUPPORT_DRIVER_MANAGED_CACHE = 0x10, | ||
| 1355 | D3D12_SHADER_CACHE_SUPPORT_SHADER_CONTROL_CLEAR = 0x20, | ||
| 1356 | D3D12_SHADER_CACHE_SUPPORT_SHADER_SESSION_DELETE = 0x40 | ||
| 1357 | } D3D12_SHADER_CACHE_SUPPORT_FLAGS; | ||
| 1358 | cpp_quote( "DEFINE_ENUM_FLAG_OPERATORS( D3D12_SHADER_CACHE_SUPPORT_FLAGS )" ) | ||
| 1359 | |||
| 1360 | // D3D12_FEATURE_SHADER_CACHE | ||
| 1361 | typedef struct D3D12_FEATURE_DATA_SHADER_CACHE | ||
| 1362 | { | ||
| 1363 | [annotation("_Out_")] D3D12_SHADER_CACHE_SUPPORT_FLAGS SupportFlags; | ||
| 1364 | } D3D12_FEATURE_DATA_SHADER_CACHE; | ||
| 1365 | |||
| 1366 | // D3D12_FEATURE_COMMAND_QUEUE_PRIORITY | ||
| 1367 | typedef struct D3D12_FEATURE_DATA_COMMAND_QUEUE_PRIORITY | ||
| 1368 | { | ||
| 1369 | [annotation("_In_")] D3D12_COMMAND_LIST_TYPE CommandListType; | ||
| 1370 | [annotation("_In_")] UINT Priority; | ||
| 1371 | [annotation("_Out_")] BOOL PriorityForTypeIsSupported; | ||
| 1372 | } D3D12_FEATURE_DATA_COMMAND_QUEUE_PRIORITY; | ||
| 1373 | |||
| 1374 | typedef enum D3D12_COMMAND_LIST_SUPPORT_FLAGS | ||
| 1375 | { | ||
| 1376 | D3D12_COMMAND_LIST_SUPPORT_FLAG_NONE = 0x00000000, | ||
| 1377 | D3D12_COMMAND_LIST_SUPPORT_FLAG_DIRECT = 1 << D3D12_COMMAND_LIST_TYPE_DIRECT, | ||
| 1378 | D3D12_COMMAND_LIST_SUPPORT_FLAG_BUNDLE = 1 << D3D12_COMMAND_LIST_TYPE_BUNDLE, | ||
| 1379 | D3D12_COMMAND_LIST_SUPPORT_FLAG_COMPUTE = 1 << D3D12_COMMAND_LIST_TYPE_COMPUTE, | ||
| 1380 | D3D12_COMMAND_LIST_SUPPORT_FLAG_COPY = 1 << D3D12_COMMAND_LIST_TYPE_COPY, | ||
| 1381 | D3D12_COMMAND_LIST_SUPPORT_FLAG_VIDEO_DECODE = 1 << D3D12_COMMAND_LIST_TYPE_VIDEO_DECODE, | ||
| 1382 | D3D12_COMMAND_LIST_SUPPORT_FLAG_VIDEO_PROCESS = 1 << D3D12_COMMAND_LIST_TYPE_VIDEO_PROCESS, | ||
| 1383 | D3D12_COMMAND_LIST_SUPPORT_FLAG_VIDEO_ENCODE = 1 << D3D12_COMMAND_LIST_TYPE_VIDEO_ENCODE, | ||
| 1384 | |||
| 1385 | } D3D12_COMMAND_LIST_SUPPORT_FLAGS; | ||
| 1386 | cpp_quote("DEFINE_ENUM_FLAG_OPERATORS( D3D12_COMMAND_LIST_SUPPORT_FLAGS )") | ||
| 1387 | |||
| 1388 | // D3D12_FEATURE_D3D12_OPTIONS3 | ||
| 1389 | typedef struct D3D12_FEATURE_DATA_D3D12_OPTIONS3 | ||
| 1390 | { | ||
| 1391 | [annotation("_Out_")] BOOL CopyQueueTimestampQueriesSupported; | ||
| 1392 | [annotation("_Out_")] BOOL CastingFullyTypedFormatSupported; | ||
| 1393 | [annotation("_Out_")] D3D12_COMMAND_LIST_SUPPORT_FLAGS WriteBufferImmediateSupportFlags; | ||
| 1394 | [annotation("_Out_")] D3D12_VIEW_INSTANCING_TIER ViewInstancingTier; | ||
| 1395 | [annotation("_Out_")] BOOL BarycentricsSupported; | ||
| 1396 | } D3D12_FEATURE_DATA_D3D12_OPTIONS3; | ||
| 1397 | |||
| 1398 | // D3D12_FEATURE_EXISTING_HEAPS | ||
| 1399 | typedef struct D3D12_FEATURE_DATA_EXISTING_HEAPS | ||
| 1400 | { | ||
| 1401 | [annotation("_Out_")] BOOL Supported; | ||
| 1402 | } D3D12_FEATURE_DATA_EXISTING_HEAPS; | ||
| 1403 | |||
| 1404 | typedef enum D3D12_SHARED_RESOURCE_COMPATIBILITY_TIER | ||
| 1405 | { | ||
| 1406 | D3D12_SHARED_RESOURCE_COMPATIBILITY_TIER_0, | ||
| 1407 | D3D12_SHARED_RESOURCE_COMPATIBILITY_TIER_1, | ||
| 1408 | D3D12_SHARED_RESOURCE_COMPATIBILITY_TIER_2, | ||
| 1409 | } D3D12_SHARED_RESOURCE_COMPATIBILITY_TIER; | ||
| 1410 | |||
| 1411 | typedef struct D3D12_FEATURE_DATA_DISPLAYABLE | ||
| 1412 | { | ||
| 1413 | [annotation("_Out_")] BOOL DisplayableTexture; | ||
| 1414 | [annotation("_Out_")] D3D12_SHARED_RESOURCE_COMPATIBILITY_TIER SharedResourceCompatibilityTier; | ||
| 1415 | } D3D12_FEATURE_DATA_DISPLAYABLE; | ||
| 1416 | |||
| 1417 | // D3D12_FEATURE_D3D12_OPTIONS4 | ||
| 1418 | typedef struct D3D12_FEATURE_DATA_D3D12_OPTIONS4 | ||
| 1419 | { | ||
| 1420 | [annotation("_Out_")] BOOL MSAA64KBAlignedTextureSupported; | ||
| 1421 | [annotation("_Out_")] D3D12_SHARED_RESOURCE_COMPATIBILITY_TIER SharedResourceCompatibilityTier; | ||
| 1422 | [annotation("_Out_")] BOOL Native16BitShaderOpsSupported; | ||
| 1423 | } D3D12_FEATURE_DATA_D3D12_OPTIONS4; | ||
| 1424 | |||
| 1425 | typedef enum D3D12_HEAP_SERIALIZATION_TIER | ||
| 1426 | { | ||
| 1427 | D3D12_HEAP_SERIALIZATION_TIER_0 = 0, | ||
| 1428 | D3D12_HEAP_SERIALIZATION_TIER_10 = 10, | ||
| 1429 | } D3D12_HEAP_SERIALIZATION_TIER; | ||
| 1430 | |||
| 1431 | // D3D12_FEATURE_SERIALIZATION | ||
| 1432 | typedef struct D3D12_FEATURE_DATA_SERIALIZATION | ||
| 1433 | { | ||
| 1434 | [annotation("_In_")] UINT NodeIndex; | ||
| 1435 | [annotation("_Out_")] D3D12_HEAP_SERIALIZATION_TIER HeapSerializationTier; | ||
| 1436 | } D3D12_FEATURE_DATA_SERIALIZATION; | ||
| 1437 | |||
| 1438 | // D3D12_FEATURE_CROSS_NODE | ||
| 1439 | typedef struct D3D12_FEATURE_DATA_CROSS_NODE | ||
| 1440 | { | ||
| 1441 | D3D12_CROSS_NODE_SHARING_TIER SharingTier; | ||
| 1442 | BOOL AtomicShaderInstructions; | ||
| 1443 | } D3D12_FEATURE_DATA_CROSS_NODE; | ||
| 1444 | |||
| 1445 | |||
| 1446 | typedef enum D3D12_RENDER_PASS_TIER | ||
| 1447 | { | ||
| 1448 | D3D12_RENDER_PASS_TIER_0 = 0, | ||
| 1449 | D3D12_RENDER_PASS_TIER_1 = 1, | ||
| 1450 | D3D12_RENDER_PASS_TIER_2 = 2, | ||
| 1451 | |||
| 1452 | |||
| 1453 | } D3D12_RENDER_PASS_TIER; | ||
| 1454 | |||
| 1455 | typedef enum D3D12_RAYTRACING_TIER | ||
| 1456 | { | ||
| 1457 | D3D12_RAYTRACING_TIER_NOT_SUPPORTED = 0, | ||
| 1458 | D3D12_RAYTRACING_TIER_1_0 = 10, | ||
| 1459 | D3D12_RAYTRACING_TIER_1_1 = 11, | ||
| 1460 | D3D12_RAYTRACING_TIER_1_2 = 12, | ||
| 1461 | } D3D12_RAYTRACING_TIER; | ||
| 1462 | |||
| 1463 | // D3D12_FEATURE_D3D12_OPTIONS5 | ||
| 1464 | typedef struct D3D12_FEATURE_DATA_D3D12_OPTIONS5 | ||
| 1465 | { | ||
| 1466 | [annotation("_Out_")] BOOL SRVOnlyTiledResourceTier3; | ||
| 1467 | [annotation("_Out_")] D3D12_RENDER_PASS_TIER RenderPassesTier; | ||
| 1468 | [annotation("_Out_")] D3D12_RAYTRACING_TIER RaytracingTier; | ||
| 1469 | } D3D12_FEATURE_DATA_D3D12_OPTIONS5; | ||
| 1470 | |||
| 1471 | typedef enum D3D12_VARIABLE_SHADING_RATE_TIER | ||
| 1472 | { | ||
| 1473 | D3D12_VARIABLE_SHADING_RATE_TIER_NOT_SUPPORTED = 0, | ||
| 1474 | D3D12_VARIABLE_SHADING_RATE_TIER_1 = 1, | ||
| 1475 | D3D12_VARIABLE_SHADING_RATE_TIER_2 = 2, | ||
| 1476 | } D3D12_VARIABLE_SHADING_RATE_TIER; | ||
| 1477 | |||
| 1478 | // D3D12_FEATURE_D3D12_OPTIONS6 | ||
| 1479 | typedef struct D3D12_FEATURE_DATA_D3D12_OPTIONS6 | ||
| 1480 | { | ||
| 1481 | [annotation("_Out_")] BOOL AdditionalShadingRatesSupported; | ||
| 1482 | [annotation("_Out_")] BOOL PerPrimitiveShadingRateSupportedWithViewportIndexing; | ||
| 1483 | [annotation("_Out_")] D3D12_VARIABLE_SHADING_RATE_TIER VariableShadingRateTier; | ||
| 1484 | [annotation("_Out_")] UINT ShadingRateImageTileSize; | ||
| 1485 | [annotation("_Out_")] BOOL BackgroundProcessingSupported; | ||
| 1486 | } D3D12_FEATURE_DATA_D3D12_OPTIONS6; | ||
| 1487 | |||
| 1488 | typedef enum D3D12_MESH_SHADER_TIER | ||
| 1489 | { | ||
| 1490 | D3D12_MESH_SHADER_TIER_NOT_SUPPORTED = 0, | ||
| 1491 | D3D12_MESH_SHADER_TIER_1 = 10, | ||
| 1492 | } D3D12_MESH_SHADER_TIER; | ||
| 1493 | |||
| 1494 | typedef enum D3D12_SAMPLER_FEEDBACK_TIER | ||
| 1495 | { | ||
| 1496 | D3D12_SAMPLER_FEEDBACK_TIER_NOT_SUPPORTED = 0, | ||
| 1497 | D3D12_SAMPLER_FEEDBACK_TIER_0_9 = 90, | ||
| 1498 | D3D12_SAMPLER_FEEDBACK_TIER_1_0 = 100 | ||
| 1499 | } D3D12_SAMPLER_FEEDBACK_TIER; | ||
| 1500 | |||
| 1501 | // D3D12_FEATURE_D3D12_OPTIONS7 | ||
| 1502 | typedef struct D3D12_FEATURE_DATA_D3D12_OPTIONS7 | ||
| 1503 | { | ||
| 1504 | [annotation("_Out_")] D3D12_MESH_SHADER_TIER MeshShaderTier; | ||
| 1505 | [annotation("_Out_")] D3D12_SAMPLER_FEEDBACK_TIER SamplerFeedbackTier; | ||
| 1506 | |||
| 1507 | } D3D12_FEATURE_DATA_D3D12_OPTIONS7; | ||
| 1508 | |||
| 1509 | typedef struct D3D12_FEATURE_DATA_QUERY_META_COMMAND | ||
| 1510 | { | ||
| 1511 | [annotation("_In_")] GUID CommandId; | ||
| 1512 | [annotation("_In_")] UINT NodeMask; | ||
| 1513 | [annotation("_Field_size_bytes_full_opt_( QueryInputDataSizeInBytes )")] const void* pQueryInputData; | ||
| 1514 | [annotation("_In_")] SIZE_T QueryInputDataSizeInBytes; | ||
| 1515 | [annotation("_Field_size_bytes_full_( QueryOutputDataSizeInBytes )")] void* pQueryOutputData; | ||
| 1516 | [annotation("_In_")] SIZE_T QueryOutputDataSizeInBytes; | ||
| 1517 | } D3D12_FEATURE_DATA_QUERY_META_COMMAND; | ||
| 1518 | |||
| 1519 | // D3D12_FEATURE_D3D12_OPTIONS8 | ||
| 1520 | typedef struct D3D12_FEATURE_DATA_D3D12_OPTIONS8 | ||
| 1521 | { | ||
| 1522 | [annotation("_Out_")] BOOL UnalignedBlockTexturesSupported; | ||
| 1523 | } D3D12_FEATURE_DATA_D3D12_OPTIONS8; | ||
| 1524 | |||
| 1525 | typedef enum D3D12_WAVE_MMA_TIER { | ||
| 1526 | D3D12_WAVE_MMA_TIER_NOT_SUPPORTED = 0, | ||
| 1527 | D3D12_WAVE_MMA_TIER_1_0 = 10, | ||
| 1528 | } D3D12_WAVE_MMA_TIER; | ||
| 1529 | |||
| 1530 | // D3D12_FEATURE_D3D12_OPTIONS9 | ||
| 1531 | typedef struct D3D12_FEATURE_DATA_D3D12_OPTIONS9 | ||
| 1532 | { | ||
| 1533 | [annotation("_Out_")] BOOL MeshShaderPipelineStatsSupported; | ||
| 1534 | [annotation("_Out_")] BOOL MeshShaderSupportsFullRangeRenderTargetArrayIndex; | ||
| 1535 | [annotation("_Out_")] BOOL AtomicInt64OnTypedResourceSupported; | ||
| 1536 | [annotation("_Out_")] BOOL AtomicInt64OnGroupSharedSupported; | ||
| 1537 | [annotation("_Out_")] BOOL DerivativesInMeshAndAmplificationShadersSupported; | ||
| 1538 | [annotation("_Out_")] D3D12_WAVE_MMA_TIER WaveMMATier; | ||
| 1539 | } D3D12_FEATURE_DATA_D3D12_OPTIONS9; | ||
| 1540 | |||
| 1541 | // D3D12_FEATURE_D3D12_OPTIONS10 | ||
| 1542 | typedef struct D3D12_FEATURE_DATA_D3D12_OPTIONS10 | ||
| 1543 | { | ||
| 1544 | [annotation("_Out_")] BOOL VariableRateShadingSumCombinerSupported; | ||
| 1545 | [annotation("_Out_")] BOOL MeshShaderPerPrimitiveShadingRateSupported; | ||
| 1546 | } D3D12_FEATURE_DATA_D3D12_OPTIONS10; | ||
| 1547 | |||
| 1548 | // D3D12_FEATURE_D3D12_OPTIONS11 | ||
| 1549 | typedef struct D3D12_FEATURE_DATA_D3D12_OPTIONS11 | ||
| 1550 | { | ||
| 1551 | [annotation("_Out_")] BOOL AtomicInt64OnDescriptorHeapResourceSupported; | ||
| 1552 | } D3D12_FEATURE_DATA_D3D12_OPTIONS11; | ||
| 1553 | |||
| 1554 | typedef enum D3D12_TRI_STATE { | ||
| 1555 | D3D12_TRI_STATE_UNKNOWN = -1, | ||
| 1556 | D3D12_TRI_STATE_FALSE = 0, | ||
| 1557 | D3D12_TRI_STATE_TRUE = 1, | ||
| 1558 | } D3D12_TRI_STATE; | ||
| 1559 | |||
| 1560 | // D3D12_FEATURE_D3D12_OPTIONS12 | ||
| 1561 | typedef struct D3D12_FEATURE_DATA_D3D12_OPTIONS12 | ||
| 1562 | { | ||
| 1563 | [annotation("_Out_")] D3D12_TRI_STATE MSPrimitivesPipelineStatisticIncludesCulledPrimitives; | ||
| 1564 | [annotation("_Out_")] BOOL EnhancedBarriersSupported; | ||
| 1565 | [annotation("_Out_")] BOOL RelaxedFormatCastingSupported; | ||
| 1566 | } D3D12_FEATURE_DATA_D3D12_OPTIONS12; | ||
| 1567 | |||
| 1568 | // D3D12_FEATURE_D3D12_OPTIONS13 | ||
| 1569 | typedef struct D3D12_FEATURE_DATA_D3D12_OPTIONS13 | ||
| 1570 | { | ||
| 1571 | [annotation("_Out_")] BOOL UnrestrictedBufferTextureCopyPitchSupported; | ||
| 1572 | [annotation("_Out_")] BOOL UnrestrictedVertexElementAlignmentSupported; | ||
| 1573 | [annotation("_Out_")] BOOL InvertedViewportHeightFlipsYSupported; | ||
| 1574 | [annotation("_Out_")] BOOL InvertedViewportDepthFlipsZSupported; | ||
| 1575 | [annotation("_Out_")] BOOL TextureCopyBetweenDimensionsSupported; | ||
| 1576 | [annotation("_Out_")] BOOL AlphaBlendFactorSupported; | ||
| 1577 | } D3D12_FEATURE_DATA_D3D12_OPTIONS13; | ||
| 1578 | |||
| 1579 | // D3D12_FEATURE_D3D12_OPTIONS14 | ||
| 1580 | typedef struct D3D12_FEATURE_DATA_D3D12_OPTIONS14 | ||
| 1581 | { | ||
| 1582 | [annotation("_Out_")] BOOL AdvancedTextureOpsSupported; | ||
| 1583 | [annotation("_Out_")] BOOL WriteableMSAATexturesSupported; | ||
| 1584 | [annotation("_Out_")] BOOL IndependentFrontAndBackStencilRefMaskSupported; | ||
| 1585 | } D3D12_FEATURE_DATA_D3D12_OPTIONS14; | ||
| 1586 | |||
| 1587 | // D3D12_FEATURE_D3D12_OPTIONS15 | ||
| 1588 | typedef struct D3D12_FEATURE_DATA_D3D12_OPTIONS15 | ||
| 1589 | { | ||
| 1590 | [annotation("_Out_")] BOOL TriangleFanSupported; | ||
| 1591 | [annotation("_Out_")] BOOL DynamicIndexBufferStripCutSupported; | ||
| 1592 | } D3D12_FEATURE_DATA_D3D12_OPTIONS15; | ||
| 1593 | |||
| 1594 | // D3D12_FEATURE_D3D12_OPTIONS16 | ||
| 1595 | typedef struct D3D12_FEATURE_DATA_D3D12_OPTIONS16 | ||
| 1596 | { | ||
| 1597 | [annotation("_Out_")] BOOL DynamicDepthBiasSupported; | ||
| 1598 | [annotation("_Out_")] BOOL GPUUploadHeapSupported; | ||
| 1599 | } D3D12_FEATURE_DATA_D3D12_OPTIONS16; | ||
| 1600 | |||
| 1601 | // D3D12_FEATURE_D3D12_OPTIONS17 | ||
| 1602 | typedef struct D3D12_FEATURE_DATA_D3D12_OPTIONS17 | ||
| 1603 | { | ||
| 1604 | [annotation("_Out_")] BOOL NonNormalizedCoordinateSamplersSupported; | ||
| 1605 | [annotation("_Out_")] BOOL ManualWriteTrackingResourceSupported; | ||
| 1606 | } D3D12_FEATURE_DATA_D3D12_OPTIONS17; | ||
| 1607 | |||
| 1608 | // D3D12_FEATURE_D3D12_OPTIONS18 | ||
| 1609 | typedef struct D3D12_FEATURE_DATA_D3D12_OPTIONS18 | ||
| 1610 | { | ||
| 1611 | [annotation("_Out_")] BOOL RenderPassesValid; | ||
| 1612 | } D3D12_FEATURE_DATA_D3D12_OPTIONS18; | ||
| 1613 | |||
| 1614 | // D3D12_FEATURE_D3D12_OPTIONS19 | ||
| 1615 | typedef struct D3D12_FEATURE_DATA_D3D12_OPTIONS19 | ||
| 1616 | { | ||
| 1617 | BOOL MismatchingOutputDimensionsSupported; | ||
| 1618 | UINT SupportedSampleCountsWithNoOutputs; | ||
| 1619 | BOOL PointSamplingAddressesNeverRoundUp; | ||
| 1620 | BOOL RasterizerDesc2Supported; | ||
| 1621 | BOOL NarrowQuadrilateralLinesSupported; | ||
| 1622 | BOOL AnisoFilterWithPointMipSupported; | ||
| 1623 | UINT MaxSamplerDescriptorHeapSize; | ||
| 1624 | UINT MaxSamplerDescriptorHeapSizeWithStaticSamplers; | ||
| 1625 | UINT MaxViewDescriptorHeapSize; | ||
| 1626 | [annotation("_Out_")] BOOL ComputeOnlyCustomHeapSupported; | ||
| 1627 | } D3D12_FEATURE_DATA_D3D12_OPTIONS19; | ||
| 1628 | |||
| 1629 | |||
| 1630 | typedef enum D3D12_RECREATE_AT_TIER | ||
| 1631 | { | ||
| 1632 | D3D12_RECREATE_AT_TIER_NOT_SUPPORTED = 0, | ||
| 1633 | |||
| 1634 | // * Supports retrieving resource and heap allocation information | ||
| 1635 | // with ID3D12PageableTools::GetAllocationInfo | ||
| 1636 | // * Supports setting resource and heap virtual addresses with | ||
| 1637 | // ID3D12DeviceTools::SetNextAllocation | ||
| 1638 | D3D12_RECREATE_AT_TIER_1 = 1, | ||
| 1639 | |||
| 1640 | } D3D12_RECREATE_AT_TIER; | ||
| 1641 | |||
| 1642 | |||
| 1643 | // D3D12_FEATURE_D3D12_OPTIONS20 | ||
| 1644 | typedef struct D3D12_FEATURE_DATA_D3D12_OPTIONS20 | ||
| 1645 | { | ||
| 1646 | [annotation("_Out_")] BOOL ComputeOnlyWriteWatchSupported; | ||
| 1647 | D3D12_RECREATE_AT_TIER RecreateAtTier; | ||
| 1648 | } D3D12_FEATURE_DATA_D3D12_OPTIONS20; | ||
| 1649 | |||
| 1650 | typedef enum D3D12_EXECUTE_INDIRECT_TIER | ||
| 1651 | { | ||
| 1652 | D3D12_EXECUTE_INDIRECT_TIER_1_0 = 10, | ||
| 1653 | D3D12_EXECUTE_INDIRECT_TIER_1_1 = 11, | ||
| 1654 | } D3D12_EXECUTE_INDIRECT_TIER; | ||
| 1655 | |||
| 1656 | typedef struct D3D12_FEATURE_DATA_D3D12_OPTIONS21 | ||
| 1657 | { | ||
| 1658 | [annotation("_Out_")] D3D12_WORK_GRAPHS_TIER WorkGraphsTier; | ||
| 1659 | [annotation("_Out_")] D3D12_EXECUTE_INDIRECT_TIER ExecuteIndirectTier; | ||
| 1660 | [annotation("_Out_")] BOOL SampleCmpGradientAndBiasSupported; | ||
| 1661 | [annotation("_Out_")] BOOL ExtendedCommandInfoSupported; | ||
| 1662 | } D3D12_FEATURE_DATA_D3D12_OPTIONS21; | ||
| 1663 | |||
| 1664 | |||
| 1665 | typedef enum D3D12_TIGHT_ALIGNMENT_TIER | ||
| 1666 | { | ||
| 1667 | D3D12_TIGHT_ALIGNMENT_TIER_NOT_SUPPORTED, | ||
| 1668 | D3D12_TIGHT_ALIGNMENT_TIER_1 // Tight alignment of buffers supported | ||
| 1669 | } D3D12_TIGHT_ALIGNMENT_TIER; | ||
| 1670 | |||
| 1671 | typedef struct D3D12_FEATURE_DATA_TIGHT_ALIGNMENT | ||
| 1672 | { | ||
| 1673 | [annotation("_Out_")] D3D12_TIGHT_ALIGNMENT_TIER SupportTier; | ||
| 1674 | } D3D12_FEATURE_DATA_TIGHT_ALIGNMENT; | ||
| 1675 | |||
| 1676 | |||
| 1677 | typedef struct D3D12_FEATURE_DATA_PREDICATION | ||
| 1678 | { | ||
| 1679 | [annotation("_Out_")] BOOL Supported; | ||
| 1680 | } D3D12_FEATURE_DATA_PREDICATION; | ||
| 1681 | |||
| 1682 | typedef struct D3D12_FEATURE_DATA_HARDWARE_COPY | ||
| 1683 | { | ||
| 1684 | [annotation("_Out_")] BOOL Supported; | ||
| 1685 | } D3D12_FEATURE_DATA_HARDWARE_COPY; | ||
| 1686 | |||
| 1687 | typedef struct D3D12_FEATURE_DATA_APPLICATION_SPECIFIC_DRIVER_STATE | ||
| 1688 | { | ||
| 1689 | [annotation("_Out_")] BOOL Supported; | ||
| 1690 | } D3D12_FEATURE_DATA_APPLICATION_SPECIFIC_DRIVER_STATE; | ||
| 1691 | |||
| 1692 | typedef struct D3D12_FEATURE_DATA_BYTECODE_BYPASS_HASH_SUPPORTED | ||
| 1693 | { | ||
| 1694 | [annotation("_Out_")] BOOL Supported; | ||
| 1695 | } D3D12_FEATURE_DATA_BYTECODE_BYPASS_HASH_SUPPORTED; | ||
| 1696 | |||
| 1697 | typedef struct D3D12_RESOURCE_ALLOCATION_INFO | ||
| 1698 | { | ||
| 1699 | UINT64 SizeInBytes; | ||
| 1700 | UINT64 Alignment; | ||
| 1701 | } D3D12_RESOURCE_ALLOCATION_INFO; | ||
| 1702 | |||
| 1703 | typedef struct D3D12_RESOURCE_ALLOCATION_INFO1 | ||
| 1704 | { | ||
| 1705 | UINT64 Offset; | ||
| 1706 | UINT64 Alignment; | ||
| 1707 | UINT64 SizeInBytes; | ||
| 1708 | } D3D12_RESOURCE_ALLOCATION_INFO1; | ||
| 1709 | |||
| 1710 | typedef enum D3D12_HEAP_TYPE | ||
| 1711 | { | ||
| 1712 | D3D12_HEAP_TYPE_DEFAULT = 1, | ||
| 1713 | D3D12_HEAP_TYPE_UPLOAD = 2, | ||
| 1714 | D3D12_HEAP_TYPE_READBACK = 3, | ||
| 1715 | D3D12_HEAP_TYPE_CUSTOM = 4, | ||
| 1716 | D3D12_HEAP_TYPE_GPU_UPLOAD = 5, | ||
| 1717 | } D3D12_HEAP_TYPE; | ||
| 1718 | |||
| 1719 | typedef enum D3D12_CPU_PAGE_PROPERTY | ||
| 1720 | { | ||
| 1721 | D3D12_CPU_PAGE_PROPERTY_UNKNOWN = 0, | ||
| 1722 | D3D12_CPU_PAGE_PROPERTY_NOT_AVAILABLE = 1, | ||
| 1723 | D3D12_CPU_PAGE_PROPERTY_WRITE_COMBINE = 2, | ||
| 1724 | D3D12_CPU_PAGE_PROPERTY_WRITE_BACK = 3, | ||
| 1725 | } D3D12_CPU_PAGE_PROPERTY; | ||
| 1726 | |||
| 1727 | typedef enum D3D12_MEMORY_POOL | ||
| 1728 | { | ||
| 1729 | D3D12_MEMORY_POOL_UNKNOWN = 0, | ||
| 1730 | D3D12_MEMORY_POOL_L0 = 1, // Maximum bandwidth for CPU | ||
| 1731 | D3D12_MEMORY_POOL_L1 = 2, // More bandwidth for GPU, less for CPU | ||
| 1732 | } D3D12_MEMORY_POOL; | ||
| 1733 | |||
| 1734 | typedef struct D3D12_HEAP_PROPERTIES | ||
| 1735 | { | ||
| 1736 | D3D12_HEAP_TYPE Type; | ||
| 1737 | D3D12_CPU_PAGE_PROPERTY CPUPageProperty; | ||
| 1738 | D3D12_MEMORY_POOL MemoryPoolPreference; | ||
| 1739 | UINT CreationNodeMask; | ||
| 1740 | UINT VisibleNodeMask; | ||
| 1741 | } D3D12_HEAP_PROPERTIES; | ||
| 1742 | |||
| 1743 | typedef enum D3D12_HEAP_FLAGS | ||
| 1744 | { | ||
| 1745 | D3D12_HEAP_FLAG_NONE = 0x0, | ||
| 1746 | D3D12_HEAP_FLAG_SHARED = 0x1, | ||
| 1747 | D3D12_HEAP_FLAG_DENY_BUFFERS = 0x4, | ||
| 1748 | D3D12_HEAP_FLAG_ALLOW_DISPLAY = 0x8, | ||
| 1749 | D3D12_HEAP_FLAG_SHARED_CROSS_ADAPTER = 0x20, | ||
| 1750 | D3D12_HEAP_FLAG_DENY_RT_DS_TEXTURES = 0x40, | ||
| 1751 | D3D12_HEAP_FLAG_DENY_NON_RT_DS_TEXTURES = 0x80, | ||
| 1752 | D3D12_HEAP_FLAG_HARDWARE_PROTECTED = 0x100, | ||
| 1753 | D3D12_HEAP_FLAG_ALLOW_WRITE_WATCH = 0x200, | ||
| 1754 | D3D12_HEAP_FLAG_ALLOW_SHADER_ATOMICS = 0x400, | ||
| 1755 | D3D12_HEAP_FLAG_CREATE_NOT_RESIDENT = 0x800, | ||
| 1756 | D3D12_HEAP_FLAG_CREATE_NOT_ZEROED = 0x1000, | ||
| 1757 | D3D12_HEAP_FLAG_TOOLS_USE_MANUAL_WRITE_TRACKING = 0x2000, | ||
| 1758 | |||
| 1759 | // These are convenience aliases to manage resource heap tier restrictions. They cannot be bitwise OR'ed together cleanly. | ||
| 1760 | D3D12_HEAP_FLAG_ALLOW_ALL_BUFFERS_AND_TEXTURES = 0x0, | ||
| 1761 | D3D12_HEAP_FLAG_ALLOW_ONLY_BUFFERS = 0xC0, | ||
| 1762 | D3D12_HEAP_FLAG_ALLOW_ONLY_NON_RT_DS_TEXTURES = 0x44, | ||
| 1763 | D3D12_HEAP_FLAG_ALLOW_ONLY_RT_DS_TEXTURES = 0x84, | ||
| 1764 | |||
| 1765 | |||
| 1766 | } D3D12_HEAP_FLAGS; | ||
| 1767 | cpp_quote( "DEFINE_ENUM_FLAG_OPERATORS( D3D12_HEAP_FLAGS )" ) | ||
| 1768 | |||
| 1769 | typedef struct D3D12_HEAP_DESC | ||
| 1770 | { | ||
| 1771 | UINT64 SizeInBytes; | ||
| 1772 | D3D12_HEAP_PROPERTIES Properties; | ||
| 1773 | UINT64 Alignment; | ||
| 1774 | D3D12_HEAP_FLAGS Flags; | ||
| 1775 | } D3D12_HEAP_DESC; | ||
| 1776 | |||
| 1777 | typedef enum D3D12_RESOURCE_DIMENSION | ||
| 1778 | { | ||
| 1779 | D3D12_RESOURCE_DIMENSION_UNKNOWN = 0, | ||
| 1780 | D3D12_RESOURCE_DIMENSION_BUFFER = 1, | ||
| 1781 | D3D12_RESOURCE_DIMENSION_TEXTURE1D = 2, | ||
| 1782 | D3D12_RESOURCE_DIMENSION_TEXTURE2D = 3, | ||
| 1783 | D3D12_RESOURCE_DIMENSION_TEXTURE3D = 4, | ||
| 1784 | } D3D12_RESOURCE_DIMENSION; | ||
| 1785 | |||
| 1786 | typedef struct D3D12_FEATURE_DATA_PLACED_RESOURCE_SUPPORT_INFO | ||
| 1787 | { | ||
| 1788 | [annotation("_In_")] DXGI_FORMAT Format; | ||
| 1789 | [annotation("_In_")] D3D12_RESOURCE_DIMENSION Dimension; | ||
| 1790 | [annotation("_In_")] D3D12_HEAP_PROPERTIES DestHeapProperties; | ||
| 1791 | [annotation("_Out_")] BOOL Supported; | ||
| 1792 | } D3D12_FEATURE_DATA_PLACED_RESOURCE_SUPPORT_INFO; | ||
| 1793 | |||
| 1794 | typedef enum D3D12_TEXTURE_LAYOUT | ||
| 1795 | { | ||
| 1796 | D3D12_TEXTURE_LAYOUT_UNKNOWN = 0, | ||
| 1797 | D3D12_TEXTURE_LAYOUT_ROW_MAJOR = 1, // Must be used with buffers. Can be used with cross-adapter shared textures. | ||
| 1798 | D3D12_TEXTURE_LAYOUT_64KB_UNDEFINED_SWIZZLE = 2, | ||
| 1799 | D3D12_TEXTURE_LAYOUT_64KB_STANDARD_SWIZZLE = 3, | ||
| 1800 | } D3D12_TEXTURE_LAYOUT; | ||
| 1801 | |||
| 1802 | typedef enum D3D12_RESOURCE_FLAGS | ||
| 1803 | { | ||
| 1804 | D3D12_RESOURCE_FLAG_NONE = 0x0, | ||
| 1805 | D3D12_RESOURCE_FLAG_ALLOW_RENDER_TARGET = 0x1, | ||
| 1806 | D3D12_RESOURCE_FLAG_ALLOW_DEPTH_STENCIL = 0x2, | ||
| 1807 | D3D12_RESOURCE_FLAG_ALLOW_UNORDERED_ACCESS = 0x4, | ||
| 1808 | D3D12_RESOURCE_FLAG_DENY_SHADER_RESOURCE = 0x8, | ||
| 1809 | D3D12_RESOURCE_FLAG_ALLOW_CROSS_ADAPTER = 0x10, | ||
| 1810 | D3D12_RESOURCE_FLAG_ALLOW_SIMULTANEOUS_ACCESS = 0x20, | ||
| 1811 | D3D12_RESOURCE_FLAG_VIDEO_DECODE_REFERENCE_ONLY = 0x40, | ||
| 1812 | D3D12_RESOURCE_FLAG_VIDEO_ENCODE_REFERENCE_ONLY = 0x80, | ||
| 1813 | D3D12_RESOURCE_FLAG_RAYTRACING_ACCELERATION_STRUCTURE = 0x100, | ||
| 1814 | D3D12_RESOURCE_FLAG_USE_TIGHT_ALIGNMENT = 0x400, | ||
| 1815 | |||
| 1816 | } D3D12_RESOURCE_FLAGS; | ||
| 1817 | cpp_quote( "DEFINE_ENUM_FLAG_OPERATORS( D3D12_RESOURCE_FLAGS )" ) | ||
| 1818 | |||
| 1819 | typedef struct D3D12_MIP_REGION | ||
| 1820 | { | ||
| 1821 | UINT Width; | ||
| 1822 | UINT Height; | ||
| 1823 | UINT Depth; | ||
| 1824 | } D3D12_MIP_REGION; | ||
| 1825 | |||
| 1826 | typedef struct D3D12_RESOURCE_DESC | ||
| 1827 | { | ||
| 1828 | D3D12_RESOURCE_DIMENSION Dimension; | ||
| 1829 | UINT64 Alignment; | ||
| 1830 | UINT64 Width; | ||
| 1831 | UINT Height; | ||
| 1832 | UINT16 DepthOrArraySize; | ||
| 1833 | UINT16 MipLevels; | ||
| 1834 | DXGI_FORMAT Format; | ||
| 1835 | DXGI_SAMPLE_DESC SampleDesc; | ||
| 1836 | D3D12_TEXTURE_LAYOUT Layout; | ||
| 1837 | D3D12_RESOURCE_FLAGS Flags; | ||
| 1838 | } D3D12_RESOURCE_DESC; | ||
| 1839 | |||
| 1840 | typedef struct D3D12_RESOURCE_DESC1 | ||
| 1841 | { | ||
| 1842 | D3D12_RESOURCE_DIMENSION Dimension; | ||
| 1843 | UINT64 Alignment; | ||
| 1844 | UINT64 Width; | ||
| 1845 | UINT Height; | ||
| 1846 | UINT16 DepthOrArraySize; | ||
| 1847 | UINT16 MipLevels; | ||
| 1848 | DXGI_FORMAT Format; | ||
| 1849 | DXGI_SAMPLE_DESC SampleDesc; | ||
| 1850 | D3D12_TEXTURE_LAYOUT Layout; | ||
| 1851 | D3D12_RESOURCE_FLAGS Flags; | ||
| 1852 | D3D12_MIP_REGION SamplerFeedbackMipRegion; | ||
| 1853 | } D3D12_RESOURCE_DESC1; | ||
| 1854 | |||
| 1855 | |||
| 1856 | |||
| 1857 | typedef struct D3D12_DEPTH_STENCIL_VALUE | ||
| 1858 | { | ||
| 1859 | FLOAT Depth; | ||
| 1860 | UINT8 Stencil; | ||
| 1861 | } D3D12_DEPTH_STENCIL_VALUE; | ||
| 1862 | |||
| 1863 | typedef struct D3D12_CLEAR_VALUE | ||
| 1864 | { | ||
| 1865 | DXGI_FORMAT Format; | ||
| 1866 | union | ||
| 1867 | { | ||
| 1868 | FLOAT Color[4]; | ||
| 1869 | D3D12_DEPTH_STENCIL_VALUE DepthStencil; | ||
| 1870 | }; | ||
| 1871 | } D3D12_CLEAR_VALUE; | ||
| 1872 | |||
| 1873 | typedef struct D3D12_RANGE | ||
| 1874 | { | ||
| 1875 | SIZE_T Begin; | ||
| 1876 | SIZE_T End; // One past end, so (End - Begin) = Size | ||
| 1877 | } D3D12_RANGE; | ||
| 1878 | |||
| 1879 | typedef struct D3D12_RANGE_UINT64 | ||
| 1880 | { | ||
| 1881 | UINT64 Begin; | ||
| 1882 | UINT64 End; // One past end, so (End - Begin) = Size | ||
| 1883 | } D3D12_RANGE_UINT64; | ||
| 1884 | |||
| 1885 | typedef struct D3D12_SUBRESOURCE_RANGE_UINT64 | ||
| 1886 | { | ||
| 1887 | UINT Subresource; | ||
| 1888 | D3D12_RANGE_UINT64 Range; | ||
| 1889 | } D3D12_SUBRESOURCE_RANGE_UINT64; | ||
| 1890 | |||
| 1891 | typedef struct D3D12_SUBRESOURCE_INFO | ||
| 1892 | { | ||
| 1893 | UINT64 Offset; | ||
| 1894 | UINT RowPitch; | ||
| 1895 | UINT DepthPitch; | ||
| 1896 | } D3D12_SUBRESOURCE_INFO; | ||
| 1897 | |||
| 1898 | typedef struct D3D12_TILED_RESOURCE_COORDINATE | ||
| 1899 | { | ||
| 1900 | UINT X; | ||
| 1901 | UINT Y; | ||
| 1902 | UINT Z; | ||
| 1903 | UINT Subresource; | ||
| 1904 | } D3D12_TILED_RESOURCE_COORDINATE; | ||
| 1905 | |||
| 1906 | typedef struct D3D12_TILE_REGION_SIZE | ||
| 1907 | { | ||
| 1908 | UINT NumTiles; | ||
| 1909 | BOOL UseBox; | ||
| 1910 | UINT Width; | ||
| 1911 | UINT16 Height; | ||
| 1912 | UINT16 Depth; | ||
| 1913 | } D3D12_TILE_REGION_SIZE; | ||
| 1914 | |||
| 1915 | typedef enum D3D12_TILE_RANGE_FLAGS | ||
| 1916 | { | ||
| 1917 | D3D12_TILE_RANGE_FLAG_NONE = 0, | ||
| 1918 | D3D12_TILE_RANGE_FLAG_NULL = 1, | ||
| 1919 | D3D12_TILE_RANGE_FLAG_SKIP = 2, | ||
| 1920 | D3D12_TILE_RANGE_FLAG_REUSE_SINGLE_TILE = 4, | ||
| 1921 | |||
| 1922 | } D3D12_TILE_RANGE_FLAGS; | ||
| 1923 | |||
| 1924 | typedef struct D3D12_SUBRESOURCE_TILING | ||
| 1925 | { | ||
| 1926 | UINT WidthInTiles; | ||
| 1927 | UINT16 HeightInTiles; | ||
| 1928 | UINT16 DepthInTiles; | ||
| 1929 | UINT StartTileIndexInOverallResource; | ||
| 1930 | } D3D12_SUBRESOURCE_TILING; | ||
| 1931 | |||
| 1932 | typedef struct D3D12_TILE_SHAPE | ||
| 1933 | { | ||
| 1934 | UINT WidthInTexels; | ||
| 1935 | UINT HeightInTexels; | ||
| 1936 | UINT DepthInTexels; | ||
| 1937 | } D3D12_TILE_SHAPE; | ||
| 1938 | |||
| 1939 | typedef struct D3D12_PACKED_MIP_INFO | ||
| 1940 | { | ||
| 1941 | UINT8 NumStandardMips; | ||
| 1942 | UINT8 NumPackedMips; | ||
| 1943 | UINT NumTilesForPackedMips; | ||
| 1944 | UINT StartTileIndexInOverallResource; | ||
| 1945 | } D3D12_PACKED_MIP_INFO; | ||
| 1946 | |||
| 1947 | typedef enum D3D12_TILE_MAPPING_FLAGS | ||
| 1948 | { | ||
| 1949 | D3D12_TILE_MAPPING_FLAG_NONE = 0x0, | ||
| 1950 | D3D12_TILE_MAPPING_FLAG_NO_HAZARD = 0x1, | ||
| 1951 | } D3D12_TILE_MAPPING_FLAGS; | ||
| 1952 | cpp_quote( "DEFINE_ENUM_FLAG_OPERATORS( D3D12_TILE_MAPPING_FLAGS )" ) | ||
| 1953 | |||
| 1954 | typedef enum D3D12_TILE_COPY_FLAGS | ||
| 1955 | { | ||
| 1956 | D3D12_TILE_COPY_FLAG_NONE = 0x0, | ||
| 1957 | D3D12_TILE_COPY_FLAG_NO_HAZARD = 0x1, | ||
| 1958 | D3D12_TILE_COPY_FLAG_LINEAR_BUFFER_TO_SWIZZLED_TILED_RESOURCE = 0x2, | ||
| 1959 | D3D12_TILE_COPY_FLAG_SWIZZLED_TILED_RESOURCE_TO_LINEAR_BUFFER = 0x4, | ||
| 1960 | } D3D12_TILE_COPY_FLAGS; | ||
| 1961 | cpp_quote("DEFINE_ENUM_FLAG_OPERATORS( D3D12_TILE_COPY_FLAGS )") | ||
| 1962 | |||
| 1963 | // Resource Barrier | ||
| 1964 | typedef enum D3D12_RESOURCE_STATES | ||
| 1965 | { | ||
| 1966 | D3D12_RESOURCE_STATE_COMMON = 0, | ||
| 1967 | |||
| 1968 | D3D12_RESOURCE_STATE_VERTEX_AND_CONSTANT_BUFFER = 0x00001, | ||
| 1969 | D3D12_RESOURCE_STATE_INDEX_BUFFER = 0x00002, | ||
| 1970 | D3D12_RESOURCE_STATE_RENDER_TARGET = 0x00004, | ||
| 1971 | D3D12_RESOURCE_STATE_UNORDERED_ACCESS = 0x00008, | ||
| 1972 | D3D12_RESOURCE_STATE_DEPTH_WRITE = 0x00010, | ||
| 1973 | D3D12_RESOURCE_STATE_DEPTH_READ = 0x00020, | ||
| 1974 | D3D12_RESOURCE_STATE_NON_PIXEL_SHADER_RESOURCE = 0x00040, | ||
| 1975 | D3D12_RESOURCE_STATE_PIXEL_SHADER_RESOURCE = 0x00080, | ||
| 1976 | D3D12_RESOURCE_STATE_STREAM_OUT = 0x00100, | ||
| 1977 | D3D12_RESOURCE_STATE_INDIRECT_ARGUMENT = 0x00200, | ||
| 1978 | D3D12_RESOURCE_STATE_COPY_DEST = 0x00400, | ||
| 1979 | D3D12_RESOURCE_STATE_COPY_SOURCE = 0x00800, | ||
| 1980 | D3D12_RESOURCE_STATE_RESOLVE_DEST = 0x01000, | ||
| 1981 | D3D12_RESOURCE_STATE_RESOLVE_SOURCE = 0x02000, | ||
| 1982 | D3D12_RESOURCE_STATE_RAYTRACING_ACCELERATION_STRUCTURE = 0x400000, | ||
| 1983 | D3D12_RESOURCE_STATE_SHADING_RATE_SOURCE = 0x1000000, | ||
| 1984 | |||
| 1985 | D3D12_RESOURCE_STATE_RESERVED_INTERNAL_8000 = 0x8000, | ||
| 1986 | D3D12_RESOURCE_STATE_RESERVED_INTERNAL_4000 = 0x4000, | ||
| 1987 | D3D12_RESOURCE_STATE_RESERVED_INTERNAL_100000 = 0x100000, | ||
| 1988 | D3D12_RESOURCE_STATE_RESERVED_INTERNAL_40000000 = 0x40000000, | ||
| 1989 | D3D12_RESOURCE_STATE_RESERVED_INTERNAL_80000000 = 0x80000000, | ||
| 1990 | |||
| 1991 | D3D12_RESOURCE_STATE_GENERIC_READ = | ||
| 1992 | /*D3D12_RESOURCE_STATE_VERTEX_AND_CONSTANT_BUFFER*/ 0x0001 | | ||
| 1993 | /*D3D12_RESOURCE_STATE_INDEX_BUFFER*/ 0x0002 | | ||
| 1994 | /*D3D12_RESOURCE_STATE_NON_PIXEL_SHADER_RESOURCE*/ 0x0040 | | ||
| 1995 | /*D3D12_RESOURCE_STATE_PIXEL_SHADER_RESOURCE*/ 0x0080 | | ||
| 1996 | /*D3D12_RESOURCE_STATE_INDIRECT_ARGUMENT*/ 0x0200 | | ||
| 1997 | /*D3D12_RESOURCE_STATE_COPY_SOURCE*/ 0x0800, | ||
| 1998 | |||
| 1999 | D3D12_RESOURCE_STATE_ALL_SHADER_RESOURCE = | ||
| 2000 | /*D3D12_RESOURCE_STATE_NON_PIXEL_SHADER_RESOURCE*/ 0x40 | | ||
| 2001 | /*D3D12_RESOURCE_STATE_PIXEL_SHADER_RESOURCE*/ 0x80, | ||
| 2002 | |||
| 2003 | D3D12_RESOURCE_STATE_PRESENT = 0, | ||
| 2004 | D3D12_RESOURCE_STATE_PREDICATION = /*D3D12_RESOURCE_STATE_INDIRECT_ARGUMENT*/ 0x0200, | ||
| 2005 | |||
| 2006 | D3D12_RESOURCE_STATE_VIDEO_DECODE_READ = 0x00010000, | ||
| 2007 | D3D12_RESOURCE_STATE_VIDEO_DECODE_WRITE = 0x00020000, | ||
| 2008 | D3D12_RESOURCE_STATE_VIDEO_PROCESS_READ = 0x00040000, | ||
| 2009 | D3D12_RESOURCE_STATE_VIDEO_PROCESS_WRITE = 0x00080000, | ||
| 2010 | D3D12_RESOURCE_STATE_VIDEO_ENCODE_READ = 0x00200000, | ||
| 2011 | D3D12_RESOURCE_STATE_VIDEO_ENCODE_WRITE = 0x00800000, | ||
| 2012 | |||
| 2013 | } D3D12_RESOURCE_STATES; | ||
| 2014 | cpp_quote( "DEFINE_ENUM_FLAG_OPERATORS( D3D12_RESOURCE_STATES )" ) | ||
| 2015 | |||
| 2016 | typedef enum D3D12_RESOURCE_BARRIER_TYPE | ||
| 2017 | { | ||
| 2018 | D3D12_RESOURCE_BARRIER_TYPE_TRANSITION, | ||
| 2019 | D3D12_RESOURCE_BARRIER_TYPE_ALIASING, | ||
| 2020 | D3D12_RESOURCE_BARRIER_TYPE_UAV, | ||
| 2021 | } D3D12_RESOURCE_BARRIER_TYPE; | ||
| 2022 | |||
| 2023 | interface ID3D12Resource; | ||
| 2024 | |||
| 2025 | typedef struct D3D12_RESOURCE_TRANSITION_BARRIER | ||
| 2026 | { | ||
| 2027 | ID3D12Resource* pResource; | ||
| 2028 | UINT Subresource; | ||
| 2029 | D3D12_RESOURCE_STATES StateBefore; | ||
| 2030 | D3D12_RESOURCE_STATES StateAfter; | ||
| 2031 | } D3D12_RESOURCE_TRANSITION_BARRIER; | ||
| 2032 | |||
| 2033 | typedef struct D3D12_RESOURCE_ALIASING_BARRIER | ||
| 2034 | { | ||
| 2035 | ID3D12Resource* pResourceBefore; | ||
| 2036 | ID3D12Resource* pResourceAfter; | ||
| 2037 | } D3D12_RESOURCE_ALIASING_BARRIER; | ||
| 2038 | |||
| 2039 | typedef struct D3D12_RESOURCE_UAV_BARRIER | ||
| 2040 | { | ||
| 2041 | ID3D12Resource* pResource; | ||
| 2042 | } D3D12_RESOURCE_UAV_BARRIER; | ||
| 2043 | |||
| 2044 | typedef enum D3D12_RESOURCE_BARRIER_FLAGS | ||
| 2045 | { | ||
| 2046 | D3D12_RESOURCE_BARRIER_FLAG_NONE = 0x0, | ||
| 2047 | D3D12_RESOURCE_BARRIER_FLAG_BEGIN_ONLY = 0x1, | ||
| 2048 | D3D12_RESOURCE_BARRIER_FLAG_END_ONLY = 0x2, | ||
| 2049 | } D3D12_RESOURCE_BARRIER_FLAGS; | ||
| 2050 | cpp_quote( "DEFINE_ENUM_FLAG_OPERATORS( D3D12_RESOURCE_BARRIER_FLAGS )" ) | ||
| 2051 | |||
| 2052 | typedef struct D3D12_RESOURCE_BARRIER | ||
| 2053 | { | ||
| 2054 | D3D12_RESOURCE_BARRIER_TYPE Type; | ||
| 2055 | D3D12_RESOURCE_BARRIER_FLAGS Flags; | ||
| 2056 | |||
| 2057 | union | ||
| 2058 | { | ||
| 2059 | D3D12_RESOURCE_TRANSITION_BARRIER Transition; | ||
| 2060 | D3D12_RESOURCE_ALIASING_BARRIER Aliasing; | ||
| 2061 | D3D12_RESOURCE_UAV_BARRIER UAV; | ||
| 2062 | }; | ||
| 2063 | } D3D12_RESOURCE_BARRIER; | ||
| 2064 | |||
| 2065 | typedef struct D3D12_SUBRESOURCE_FOOTPRINT | ||
| 2066 | { | ||
| 2067 | DXGI_FORMAT Format; | ||
| 2068 | UINT Width; | ||
| 2069 | UINT Height; | ||
| 2070 | UINT Depth; | ||
| 2071 | UINT RowPitch; // Must be a multiple of D3D12_TEXTURE_DATA_PITCH_ALIGNMENT | ||
| 2072 | } D3D12_SUBRESOURCE_FOOTPRINT; | ||
| 2073 | |||
| 2074 | typedef struct D3D12_PLACED_SUBRESOURCE_FOOTPRINT | ||
| 2075 | { | ||
| 2076 | UINT64 Offset; // Must be a multiple of D3D12_TEXTURE_DATA_PLACEMENT_ALIGNMENT | ||
| 2077 | D3D12_SUBRESOURCE_FOOTPRINT Footprint; | ||
| 2078 | } D3D12_PLACED_SUBRESOURCE_FOOTPRINT; | ||
| 2079 | |||
| 2080 | typedef enum D3D12_TEXTURE_COPY_TYPE | ||
| 2081 | { | ||
| 2082 | D3D12_TEXTURE_COPY_TYPE_SUBRESOURCE_INDEX = 0, | ||
| 2083 | D3D12_TEXTURE_COPY_TYPE_PLACED_FOOTPRINT = 1, | ||
| 2084 | } D3D12_TEXTURE_COPY_TYPE; | ||
| 2085 | |||
| 2086 | typedef struct D3D12_TEXTURE_COPY_LOCATION | ||
| 2087 | { | ||
| 2088 | ID3D12Resource* pResource; | ||
| 2089 | D3D12_TEXTURE_COPY_TYPE Type; | ||
| 2090 | union | ||
| 2091 | { | ||
| 2092 | D3D12_PLACED_SUBRESOURCE_FOOTPRINT PlacedFootprint; | ||
| 2093 | UINT SubresourceIndex; | ||
| 2094 | }; | ||
| 2095 | } D3D12_TEXTURE_COPY_LOCATION; | ||
| 2096 | |||
| 2097 | typedef enum D3D12_RESOLVE_MODE | ||
| 2098 | { | ||
| 2099 | D3D12_RESOLVE_MODE_DECOMPRESS = 0, | ||
| 2100 | D3D12_RESOLVE_MODE_MIN = 1, | ||
| 2101 | D3D12_RESOLVE_MODE_MAX = 2, | ||
| 2102 | D3D12_RESOLVE_MODE_AVERAGE = 3, | ||
| 2103 | D3D12_RESOLVE_MODE_ENCODE_SAMPLER_FEEDBACK = 4, | ||
| 2104 | D3D12_RESOLVE_MODE_DECODE_SAMPLER_FEEDBACK = 5 | ||
| 2105 | } D3D12_RESOLVE_MODE; | ||
| 2106 | |||
| 2107 | typedef struct D3D12_SAMPLE_POSITION | ||
| 2108 | { | ||
| 2109 | INT8 X; | ||
| 2110 | INT8 Y; | ||
| 2111 | } D3D12_SAMPLE_POSITION; | ||
| 2112 | |||
| 2113 | typedef struct D3D12_VIEW_INSTANCE_LOCATION | ||
| 2114 | { | ||
| 2115 | UINT ViewportArrayIndex; | ||
| 2116 | UINT RenderTargetArrayIndex; | ||
| 2117 | } D3D12_VIEW_INSTANCE_LOCATION; | ||
| 2118 | |||
| 2119 | typedef enum D3D12_VIEW_INSTANCING_FLAGS | ||
| 2120 | { | ||
| 2121 | D3D12_VIEW_INSTANCING_FLAG_NONE = 0x0, | ||
| 2122 | D3D12_VIEW_INSTANCING_FLAG_ENABLE_VIEW_INSTANCE_MASKING = 0x1, | ||
| 2123 | } D3D12_VIEW_INSTANCING_FLAGS; | ||
| 2124 | cpp_quote("DEFINE_ENUM_FLAG_OPERATORS( D3D12_VIEW_INSTANCING_FLAGS )") | ||
| 2125 | |||
| 2126 | typedef struct D3D12_VIEW_INSTANCING_DESC | ||
| 2127 | { | ||
| 2128 | UINT ViewInstanceCount; | ||
| 2129 | [annotation("_Field_size_full_(ViewInstanceCount)")] const D3D12_VIEW_INSTANCE_LOCATION* pViewInstanceLocations; | ||
| 2130 | D3D12_VIEW_INSTANCING_FLAGS Flags; | ||
| 2131 | } D3D12_VIEW_INSTANCING_DESC; | ||
| 2132 | |||
| 2133 | // D3D12 view descriptions | ||
| 2134 | typedef enum D3D12_SHADER_COMPONENT_MAPPING | ||
| 2135 | { | ||
| 2136 | D3D12_SHADER_COMPONENT_MAPPING_FROM_MEMORY_COMPONENT_0 = 0, | ||
| 2137 | D3D12_SHADER_COMPONENT_MAPPING_FROM_MEMORY_COMPONENT_1 = 1, | ||
| 2138 | D3D12_SHADER_COMPONENT_MAPPING_FROM_MEMORY_COMPONENT_2 = 2, | ||
| 2139 | D3D12_SHADER_COMPONENT_MAPPING_FROM_MEMORY_COMPONENT_3 = 3, | ||
| 2140 | D3D12_SHADER_COMPONENT_MAPPING_FORCE_VALUE_0 = 4, | ||
| 2141 | D3D12_SHADER_COMPONENT_MAPPING_FORCE_VALUE_1 = 5, | ||
| 2142 | } D3D12_SHADER_COMPONENT_MAPPING; | ||
| 2143 | |||
| 2144 | cpp_quote( "#define D3D12_SHADER_COMPONENT_MAPPING_MASK 0x7 ") | ||
| 2145 | cpp_quote( "#define D3D12_SHADER_COMPONENT_MAPPING_SHIFT 3 ") | ||
| 2146 | cpp_quote( "#define D3D12_SHADER_COMPONENT_MAPPING_ALWAYS_SET_BIT_AVOIDING_ZEROMEM_MISTAKES (1<<(D3D12_SHADER_COMPONENT_MAPPING_SHIFT*4)) ") | ||
| 2147 | cpp_quote( "#define D3D12_ENCODE_SHADER_4_COMPONENT_MAPPING(Src0,Src1,Src2,Src3) ((((Src0)&D3D12_SHADER_COMPONENT_MAPPING_MASK)| \\") | ||
| 2148 | cpp_quote( " (((Src1)&D3D12_SHADER_COMPONENT_MAPPING_MASK)<<D3D12_SHADER_COMPONENT_MAPPING_SHIFT)| \\") | ||
| 2149 | cpp_quote( " (((Src2)&D3D12_SHADER_COMPONENT_MAPPING_MASK)<<(D3D12_SHADER_COMPONENT_MAPPING_SHIFT*2))| \\") | ||
| 2150 | cpp_quote( " (((Src3)&D3D12_SHADER_COMPONENT_MAPPING_MASK)<<(D3D12_SHADER_COMPONENT_MAPPING_SHIFT*3))| \\") | ||
| 2151 | cpp_quote( " D3D12_SHADER_COMPONENT_MAPPING_ALWAYS_SET_BIT_AVOIDING_ZEROMEM_MISTAKES))") | ||
| 2152 | cpp_quote( "#define D3D12_DECODE_SHADER_4_COMPONENT_MAPPING(ComponentToExtract,Mapping) ((D3D12_SHADER_COMPONENT_MAPPING)(Mapping >> (D3D12_SHADER_COMPONENT_MAPPING_SHIFT*ComponentToExtract) & D3D12_SHADER_COMPONENT_MAPPING_MASK))") | ||
| 2153 | cpp_quote( "#define D3D12_DEFAULT_SHADER_4_COMPONENT_MAPPING D3D12_ENCODE_SHADER_4_COMPONENT_MAPPING(0,1,2,3) ") | ||
| 2154 | typedef enum D3D12_BUFFER_SRV_FLAGS | ||
| 2155 | { | ||
| 2156 | D3D12_BUFFER_SRV_FLAG_NONE = 0, | ||
| 2157 | D3D12_BUFFER_SRV_FLAG_RAW = 0x00000001, // allow device multi-component reads with DWORD addressing | ||
| 2158 | } D3D12_BUFFER_SRV_FLAGS; | ||
| 2159 | cpp_quote( "DEFINE_ENUM_FLAG_OPERATORS( D3D12_BUFFER_SRV_FLAGS )" ) | ||
| 2160 | |||
| 2161 | typedef struct D3D12_BUFFER_SRV | ||
| 2162 | { | ||
| 2163 | UINT64 FirstElement; | ||
| 2164 | UINT NumElements; | ||
| 2165 | UINT StructureByteStride; // if nonzero, format must be DXGI_FORMAT_UNKNOWN | ||
| 2166 | D3D12_BUFFER_SRV_FLAGS Flags; | ||
| 2167 | } D3D12_BUFFER_SRV; | ||
| 2168 | |||
| 2169 | typedef struct D3D12_TEX1D_SRV | ||
| 2170 | { | ||
| 2171 | UINT MostDetailedMip; | ||
| 2172 | UINT MipLevels; | ||
| 2173 | FLOAT ResourceMinLODClamp; | ||
| 2174 | } D3D12_TEX1D_SRV; | ||
| 2175 | |||
| 2176 | typedef struct D3D12_TEX1D_ARRAY_SRV | ||
| 2177 | { | ||
| 2178 | UINT MostDetailedMip; | ||
| 2179 | UINT MipLevels; | ||
| 2180 | UINT FirstArraySlice; | ||
| 2181 | UINT ArraySize; | ||
| 2182 | FLOAT ResourceMinLODClamp; | ||
| 2183 | } D3D12_TEX1D_ARRAY_SRV; | ||
| 2184 | |||
| 2185 | typedef struct D3D12_TEX2D_SRV | ||
| 2186 | { | ||
| 2187 | UINT MostDetailedMip; | ||
| 2188 | UINT MipLevels; | ||
| 2189 | UINT PlaneSlice; | ||
| 2190 | FLOAT ResourceMinLODClamp; | ||
| 2191 | } D3D12_TEX2D_SRV; | ||
| 2192 | |||
| 2193 | typedef struct D3D12_TEX2D_ARRAY_SRV | ||
| 2194 | { | ||
| 2195 | UINT MostDetailedMip; | ||
| 2196 | UINT MipLevels; | ||
| 2197 | UINT FirstArraySlice; | ||
| 2198 | UINT ArraySize; | ||
| 2199 | UINT PlaneSlice; | ||
| 2200 | FLOAT ResourceMinLODClamp; | ||
| 2201 | } D3D12_TEX2D_ARRAY_SRV; | ||
| 2202 | |||
| 2203 | typedef struct D3D12_TEX3D_SRV | ||
| 2204 | { | ||
| 2205 | UINT MostDetailedMip; | ||
| 2206 | UINT MipLevels; | ||
| 2207 | FLOAT ResourceMinLODClamp; | ||
| 2208 | } D3D12_TEX3D_SRV; | ||
| 2209 | |||
| 2210 | typedef struct D3D12_TEXCUBE_SRV | ||
| 2211 | { | ||
| 2212 | UINT MostDetailedMip; | ||
| 2213 | UINT MipLevels; | ||
| 2214 | FLOAT ResourceMinLODClamp; | ||
| 2215 | } D3D12_TEXCUBE_SRV; | ||
| 2216 | |||
| 2217 | typedef struct D3D12_TEXCUBE_ARRAY_SRV | ||
| 2218 | { | ||
| 2219 | UINT MostDetailedMip; | ||
| 2220 | UINT MipLevels; | ||
| 2221 | UINT First2DArrayFace; | ||
| 2222 | UINT NumCubes; | ||
| 2223 | FLOAT ResourceMinLODClamp; | ||
| 2224 | } D3D12_TEXCUBE_ARRAY_SRV; | ||
| 2225 | |||
| 2226 | typedef struct D3D12_TEX2DMS_SRV | ||
| 2227 | { | ||
| 2228 | // don't need to define anything specific for this view dimension | ||
| 2229 | UINT UnusedField_NothingToDefine; | ||
| 2230 | } D3D12_TEX2DMS_SRV; | ||
| 2231 | |||
| 2232 | typedef struct D3D12_TEX2DMS_ARRAY_SRV | ||
| 2233 | { | ||
| 2234 | UINT FirstArraySlice; | ||
| 2235 | UINT ArraySize; | ||
| 2236 | } D3D12_TEX2DMS_ARRAY_SRV; | ||
| 2237 | |||
| 2238 | typedef struct D3D12_RAYTRACING_ACCELERATION_STRUCTURE_SRV | ||
| 2239 | { | ||
| 2240 | D3D12_GPU_VIRTUAL_ADDRESS Location; | ||
| 2241 | } D3D12_RAYTRACING_ACCELERATION_STRUCTURE_SRV; | ||
| 2242 | |||
| 2243 | typedef enum D3D12_SRV_DIMENSION { | ||
| 2244 | D3D12_SRV_DIMENSION_UNKNOWN = 0, | ||
| 2245 | D3D12_SRV_DIMENSION_BUFFER = 1, | ||
| 2246 | D3D12_SRV_DIMENSION_TEXTURE1D = 2, | ||
| 2247 | D3D12_SRV_DIMENSION_TEXTURE1DARRAY = 3, | ||
| 2248 | D3D12_SRV_DIMENSION_TEXTURE2D = 4, | ||
| 2249 | D3D12_SRV_DIMENSION_TEXTURE2DARRAY = 5, | ||
| 2250 | D3D12_SRV_DIMENSION_TEXTURE2DMS = 6, | ||
| 2251 | D3D12_SRV_DIMENSION_TEXTURE2DMSARRAY = 7, | ||
| 2252 | D3D12_SRV_DIMENSION_TEXTURE3D = 8, | ||
| 2253 | D3D12_SRV_DIMENSION_TEXTURECUBE = 9, | ||
| 2254 | D3D12_SRV_DIMENSION_TEXTURECUBEARRAY = 10, | ||
| 2255 | D3D12_SRV_DIMENSION_RAYTRACING_ACCELERATION_STRUCTURE = 11, | ||
| 2256 | } D3D12_SRV_DIMENSION; | ||
| 2257 | |||
| 2258 | typedef struct D3D12_SHADER_RESOURCE_VIEW_DESC | ||
| 2259 | { | ||
| 2260 | DXGI_FORMAT Format; | ||
| 2261 | D3D12_SRV_DIMENSION ViewDimension; | ||
| 2262 | UINT Shader4ComponentMapping; | ||
| 2263 | |||
| 2264 | union | ||
| 2265 | { | ||
| 2266 | D3D12_BUFFER_SRV Buffer; | ||
| 2267 | D3D12_TEX1D_SRV Texture1D; | ||
| 2268 | D3D12_TEX1D_ARRAY_SRV Texture1DArray; | ||
| 2269 | D3D12_TEX2D_SRV Texture2D; | ||
| 2270 | D3D12_TEX2D_ARRAY_SRV Texture2DArray; | ||
| 2271 | D3D12_TEX2DMS_SRV Texture2DMS; | ||
| 2272 | D3D12_TEX2DMS_ARRAY_SRV Texture2DMSArray; | ||
| 2273 | D3D12_TEX3D_SRV Texture3D; | ||
| 2274 | D3D12_TEXCUBE_SRV TextureCube; | ||
| 2275 | D3D12_TEXCUBE_ARRAY_SRV TextureCubeArray; | ||
| 2276 | D3D12_RAYTRACING_ACCELERATION_STRUCTURE_SRV RaytracingAccelerationStructure; | ||
| 2277 | }; | ||
| 2278 | } D3D12_SHADER_RESOURCE_VIEW_DESC; | ||
| 2279 | |||
| 2280 | typedef struct D3D12_CONSTANT_BUFFER_VIEW_DESC | ||
| 2281 | { | ||
| 2282 | D3D12_GPU_VIRTUAL_ADDRESS BufferLocation; | ||
| 2283 | UINT SizeInBytes; | ||
| 2284 | } D3D12_CONSTANT_BUFFER_VIEW_DESC; | ||
| 2285 | |||
| 2286 | //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// | ||
| 2287 | // | ||
| 2288 | // Sampler | ||
| 2289 | // | ||
| 2290 | //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// | ||
| 2291 | typedef enum D3D12_FILTER | ||
| 2292 | { | ||
| 2293 | // Bits used in defining enumeration of valid filters: | ||
| 2294 | // bits [1:0] - mip: 0 == point, 1 == linear, 2,3 unused | ||
| 2295 | // bits [3:2] - mag: 0 == point, 1 == linear, 2,3 unused | ||
| 2296 | // bits [5:4] - min: 0 == point, 1 == linear, 2,3 unused | ||
| 2297 | // bit [6] - aniso | ||
| 2298 | // bits [8:7] - reduction type: | ||
| 2299 | // 0 == standard filtering | ||
| 2300 | // 1 == comparison | ||
| 2301 | // 2 == min | ||
| 2302 | // 3 == max | ||
| 2303 | // bit [31] - mono 1-bit (narrow-purpose filter) [no longer supported in D3D12] | ||
| 2304 | |||
| 2305 | D3D12_FILTER_MIN_MAG_MIP_POINT = 0x00000000, | ||
| 2306 | D3D12_FILTER_MIN_MAG_POINT_MIP_LINEAR = 0x00000001, | ||
| 2307 | D3D12_FILTER_MIN_POINT_MAG_LINEAR_MIP_POINT = 0x00000004, | ||
| 2308 | D3D12_FILTER_MIN_POINT_MAG_MIP_LINEAR = 0x00000005, | ||
| 2309 | D3D12_FILTER_MIN_LINEAR_MAG_MIP_POINT = 0x00000010, | ||
| 2310 | D3D12_FILTER_MIN_LINEAR_MAG_POINT_MIP_LINEAR = 0x00000011, | ||
| 2311 | D3D12_FILTER_MIN_MAG_LINEAR_MIP_POINT = 0x00000014, | ||
| 2312 | D3D12_FILTER_MIN_MAG_MIP_LINEAR = 0x00000015, | ||
| 2313 | D3D12_FILTER_MIN_MAG_ANISOTROPIC_MIP_POINT = 0x00000054, | ||
| 2314 | D3D12_FILTER_ANISOTROPIC = 0x00000055, | ||
| 2315 | D3D12_FILTER_COMPARISON_MIN_MAG_MIP_POINT = 0x00000080, | ||
| 2316 | D3D12_FILTER_COMPARISON_MIN_MAG_POINT_MIP_LINEAR = 0x00000081, | ||
| 2317 | D3D12_FILTER_COMPARISON_MIN_POINT_MAG_LINEAR_MIP_POINT = 0x00000084, | ||
| 2318 | D3D12_FILTER_COMPARISON_MIN_POINT_MAG_MIP_LINEAR = 0x00000085, | ||
| 2319 | D3D12_FILTER_COMPARISON_MIN_LINEAR_MAG_MIP_POINT = 0x00000090, | ||
| 2320 | D3D12_FILTER_COMPARISON_MIN_LINEAR_MAG_POINT_MIP_LINEAR = 0x00000091, | ||
| 2321 | D3D12_FILTER_COMPARISON_MIN_MAG_LINEAR_MIP_POINT = 0x00000094, | ||
| 2322 | D3D12_FILTER_COMPARISON_MIN_MAG_MIP_LINEAR = 0x00000095, | ||
| 2323 | D3D12_FILTER_COMPARISON_MIN_MAG_ANISOTROPIC_MIP_POINT = 0x000000d4, | ||
| 2324 | D3D12_FILTER_COMPARISON_ANISOTROPIC = 0x000000d5, | ||
| 2325 | D3D12_FILTER_MINIMUM_MIN_MAG_MIP_POINT = 0x00000100, | ||
| 2326 | D3D12_FILTER_MINIMUM_MIN_MAG_POINT_MIP_LINEAR = 0x00000101, | ||
| 2327 | D3D12_FILTER_MINIMUM_MIN_POINT_MAG_LINEAR_MIP_POINT = 0x00000104, | ||
| 2328 | D3D12_FILTER_MINIMUM_MIN_POINT_MAG_MIP_LINEAR = 0x00000105, | ||
| 2329 | D3D12_FILTER_MINIMUM_MIN_LINEAR_MAG_MIP_POINT = 0x00000110, | ||
| 2330 | D3D12_FILTER_MINIMUM_MIN_LINEAR_MAG_POINT_MIP_LINEAR = 0x00000111, | ||
| 2331 | D3D12_FILTER_MINIMUM_MIN_MAG_LINEAR_MIP_POINT = 0x00000114, | ||
| 2332 | D3D12_FILTER_MINIMUM_MIN_MAG_MIP_LINEAR = 0x00000115, | ||
| 2333 | D3D12_FILTER_MINIMUM_MIN_MAG_ANISOTROPIC_MIP_POINT = 0x00000154, | ||
| 2334 | D3D12_FILTER_MINIMUM_ANISOTROPIC = 0x00000155, | ||
| 2335 | D3D12_FILTER_MAXIMUM_MIN_MAG_MIP_POINT = 0x00000180, | ||
| 2336 | D3D12_FILTER_MAXIMUM_MIN_MAG_POINT_MIP_LINEAR = 0x00000181, | ||
| 2337 | D3D12_FILTER_MAXIMUM_MIN_POINT_MAG_LINEAR_MIP_POINT = 0x00000184, | ||
| 2338 | D3D12_FILTER_MAXIMUM_MIN_POINT_MAG_MIP_LINEAR = 0x00000185, | ||
| 2339 | D3D12_FILTER_MAXIMUM_MIN_LINEAR_MAG_MIP_POINT = 0x00000190, | ||
| 2340 | D3D12_FILTER_MAXIMUM_MIN_LINEAR_MAG_POINT_MIP_LINEAR = 0x00000191, | ||
| 2341 | D3D12_FILTER_MAXIMUM_MIN_MAG_LINEAR_MIP_POINT = 0x00000194, | ||
| 2342 | D3D12_FILTER_MAXIMUM_MIN_MAG_MIP_LINEAR = 0x00000195, | ||
| 2343 | D3D12_FILTER_MAXIMUM_MIN_MAG_ANISOTROPIC_MIP_POINT = 0x000001d4, | ||
| 2344 | D3D12_FILTER_MAXIMUM_ANISOTROPIC = 0x000001d5 | ||
| 2345 | } D3D12_FILTER; | ||
| 2346 | |||
| 2347 | typedef enum D3D12_FILTER_TYPE | ||
| 2348 | { | ||
| 2349 | D3D12_FILTER_TYPE_POINT = 0, | ||
| 2350 | D3D12_FILTER_TYPE_LINEAR = 1, | ||
| 2351 | } D3D12_FILTER_TYPE; | ||
| 2352 | |||
| 2353 | typedef enum D3D12_FILTER_REDUCTION_TYPE | ||
| 2354 | { | ||
| 2355 | D3D12_FILTER_REDUCTION_TYPE_STANDARD = 0, | ||
| 2356 | D3D12_FILTER_REDUCTION_TYPE_COMPARISON = 1, | ||
| 2357 | D3D12_FILTER_REDUCTION_TYPE_MINIMUM = 2, | ||
| 2358 | D3D12_FILTER_REDUCTION_TYPE_MAXIMUM = 3, | ||
| 2359 | } D3D12_FILTER_REDUCTION_TYPE; | ||
| 2360 | |||
| 2361 | const UINT D3D12_FILTER_REDUCTION_TYPE_MASK = 0x00000003; | ||
| 2362 | const UINT D3D12_FILTER_REDUCTION_TYPE_SHIFT = 7; | ||
| 2363 | |||
| 2364 | const UINT D3D12_FILTER_TYPE_MASK = 0x00000003; | ||
| 2365 | const UINT D3D12_MIN_FILTER_SHIFT = 4; | ||
| 2366 | const UINT D3D12_MAG_FILTER_SHIFT = 2; | ||
| 2367 | const UINT D3D12_MIP_FILTER_SHIFT = 0; | ||
| 2368 | |||
| 2369 | const UINT D3D12_ANISOTROPIC_FILTERING_BIT = 0x00000040; | ||
| 2370 | |||
| 2371 | // encode enum entry for most filters except anisotropic filtering | ||
| 2372 | cpp_quote( "#define D3D12_ENCODE_BASIC_FILTER( min, mag, mip, reduction ) \\" ) | ||
| 2373 | cpp_quote( " ( ( D3D12_FILTER ) ( \\" ) | ||
| 2374 | cpp_quote( " ( ( ( min ) & D3D12_FILTER_TYPE_MASK ) << D3D12_MIN_FILTER_SHIFT ) | \\" ) | ||
| 2375 | cpp_quote( " ( ( ( mag ) & D3D12_FILTER_TYPE_MASK ) << D3D12_MAG_FILTER_SHIFT ) | \\" ) | ||
| 2376 | cpp_quote( " ( ( ( mip ) & D3D12_FILTER_TYPE_MASK ) << D3D12_MIP_FILTER_SHIFT ) | \\" ) | ||
| 2377 | cpp_quote( " ( ( ( reduction ) & D3D12_FILTER_REDUCTION_TYPE_MASK ) << D3D12_FILTER_REDUCTION_TYPE_SHIFT ) ) ) " ) | ||
| 2378 | |||
| 2379 | // encode enum entry for anisotropic filtering (with or without comparison filtering) | ||
| 2380 | cpp_quote( "#define D3D12_ENCODE_ANISOTROPIC_FILTER( reduction ) \\" ) | ||
| 2381 | cpp_quote( " ( ( D3D12_FILTER ) ( \\" ) | ||
| 2382 | cpp_quote( " D3D12_ANISOTROPIC_FILTERING_BIT | \\" ) | ||
| 2383 | cpp_quote( " D3D12_ENCODE_BASIC_FILTER( D3D12_FILTER_TYPE_LINEAR, \\" ) | ||
| 2384 | cpp_quote( " D3D12_FILTER_TYPE_LINEAR, \\" ) | ||
| 2385 | cpp_quote( " D3D12_FILTER_TYPE_LINEAR, \\" ) | ||
| 2386 | cpp_quote( " reduction ) ) ) " ) | ||
| 2387 | cpp_quote( "#define D3D12_ENCODE_MIN_MAG_ANISOTROPIC_MIP_POINT_FILTER( reduction ) \\" ) | ||
| 2388 | cpp_quote( " ( ( D3D12_FILTER ) ( \\" ) | ||
| 2389 | cpp_quote( " D3D12_ANISOTROPIC_FILTERING_BIT | \\" ) | ||
| 2390 | cpp_quote( " D3D12_ENCODE_BASIC_FILTER( D3D12_FILTER_TYPE_LINEAR, \\" ) | ||
| 2391 | cpp_quote( " D3D12_FILTER_TYPE_LINEAR, \\" ) | ||
| 2392 | cpp_quote( " D3D12_FILTER_TYPE_POINT, \\" ) | ||
| 2393 | cpp_quote( " reduction ) ) ) " ) | ||
| 2394 | |||
| 2395 | cpp_quote( "#define D3D12_DECODE_MIN_FILTER( D3D12Filter ) \\" ) | ||
| 2396 | cpp_quote( " ( ( D3D12_FILTER_TYPE ) \\" ) | ||
| 2397 | cpp_quote( " ( ( ( D3D12Filter ) >> D3D12_MIN_FILTER_SHIFT ) & D3D12_FILTER_TYPE_MASK ) ) " ) | ||
| 2398 | |||
| 2399 | cpp_quote( "#define D3D12_DECODE_MAG_FILTER( D3D12Filter ) \\" ) | ||
| 2400 | cpp_quote( " ( ( D3D12_FILTER_TYPE ) \\" ) | ||
| 2401 | cpp_quote( " ( ( ( D3D12Filter ) >> D3D12_MAG_FILTER_SHIFT ) & D3D12_FILTER_TYPE_MASK ) ) " ) | ||
| 2402 | |||
| 2403 | cpp_quote( "#define D3D12_DECODE_MIP_FILTER( D3D12Filter ) \\" ) | ||
| 2404 | cpp_quote( " ( ( D3D12_FILTER_TYPE ) \\" ) | ||
| 2405 | cpp_quote( " ( ( ( D3D12Filter ) >> D3D12_MIP_FILTER_SHIFT ) & D3D12_FILTER_TYPE_MASK ) ) " ) | ||
| 2406 | |||
| 2407 | cpp_quote( "#define D3D12_DECODE_FILTER_REDUCTION( D3D12Filter ) \\" ) | ||
| 2408 | cpp_quote( " ( ( D3D12_FILTER_REDUCTION_TYPE ) \\" ) | ||
| 2409 | cpp_quote( " ( ( ( D3D12Filter ) >> D3D12_FILTER_REDUCTION_TYPE_SHIFT ) & D3D12_FILTER_REDUCTION_TYPE_MASK ) ) " ) | ||
| 2410 | |||
| 2411 | cpp_quote( "#define D3D12_DECODE_IS_COMPARISON_FILTER( D3D12Filter ) \\" ) | ||
| 2412 | cpp_quote( " ( D3D12_DECODE_FILTER_REDUCTION( D3D12Filter ) == D3D12_FILTER_REDUCTION_TYPE_COMPARISON ) " ) | ||
| 2413 | |||
| 2414 | cpp_quote( "#define D3D12_DECODE_IS_ANISOTROPIC_FILTER( D3D12Filter ) \\" ) | ||
| 2415 | cpp_quote( " ( ( ( D3D12Filter ) & D3D12_ANISOTROPIC_FILTERING_BIT ) && \\" ) | ||
| 2416 | cpp_quote( " ( D3D12_FILTER_TYPE_LINEAR == D3D12_DECODE_MIN_FILTER( D3D12Filter ) ) && \\" ) | ||
| 2417 | cpp_quote( " ( D3D12_FILTER_TYPE_LINEAR == D3D12_DECODE_MAG_FILTER( D3D12Filter ) ) ) " ) | ||
| 2418 | |||
| 2419 | typedef enum D3D12_TEXTURE_ADDRESS_MODE | ||
| 2420 | { | ||
| 2421 | D3D12_TEXTURE_ADDRESS_MODE_WRAP = 1, | ||
| 2422 | D3D12_TEXTURE_ADDRESS_MODE_MIRROR = 2, | ||
| 2423 | D3D12_TEXTURE_ADDRESS_MODE_CLAMP = 3, | ||
| 2424 | D3D12_TEXTURE_ADDRESS_MODE_BORDER = 4, | ||
| 2425 | D3D12_TEXTURE_ADDRESS_MODE_MIRROR_ONCE = 5 | ||
| 2426 | } D3D12_TEXTURE_ADDRESS_MODE; | ||
| 2427 | |||
| 2428 | |||
| 2429 | |||
| 2430 | typedef struct D3D12_SAMPLER_DESC | ||
| 2431 | { | ||
| 2432 | D3D12_FILTER Filter; | ||
| 2433 | D3D12_TEXTURE_ADDRESS_MODE AddressU; | ||
| 2434 | D3D12_TEXTURE_ADDRESS_MODE AddressV; | ||
| 2435 | D3D12_TEXTURE_ADDRESS_MODE AddressW; | ||
| 2436 | FLOAT MipLODBias; | ||
| 2437 | UINT MaxAnisotropy; | ||
| 2438 | D3D12_COMPARISON_FUNC ComparisonFunc; | ||
| 2439 | FLOAT BorderColor[4]; // RGBA | ||
| 2440 | FLOAT MinLOD; | ||
| 2441 | FLOAT MaxLOD; | ||
| 2442 | } D3D12_SAMPLER_DESC; | ||
| 2443 | |||
| 2444 | |||
| 2445 | typedef enum D3D12_SAMPLER_FLAGS | ||
| 2446 | { | ||
| 2447 | D3D12_SAMPLER_FLAG_NONE = 0x0, | ||
| 2448 | D3D12_SAMPLER_FLAG_UINT_BORDER_COLOR = 0x01, | ||
| 2449 | D3D12_SAMPLER_FLAG_NON_NORMALIZED_COORDINATES = 0x02, | ||
| 2450 | } D3D12_SAMPLER_FLAGS; | ||
| 2451 | cpp_quote("DEFINE_ENUM_FLAG_OPERATORS( D3D12_SAMPLER_FLAGS )") | ||
| 2452 | |||
| 2453 | typedef struct D3D12_SAMPLER_DESC2 | ||
| 2454 | { | ||
| 2455 | D3D12_FILTER Filter; | ||
| 2456 | D3D12_TEXTURE_ADDRESS_MODE AddressU; | ||
| 2457 | D3D12_TEXTURE_ADDRESS_MODE AddressV; | ||
| 2458 | D3D12_TEXTURE_ADDRESS_MODE AddressW; | ||
| 2459 | FLOAT MipLODBias; | ||
| 2460 | UINT MaxAnisotropy; | ||
| 2461 | D3D12_COMPARISON_FUNC ComparisonFunc; | ||
| 2462 | union | ||
| 2463 | { | ||
| 2464 | FLOAT FloatBorderColor[4]; // RGBA | ||
| 2465 | UINT UintBorderColor[4]; | ||
| 2466 | }; | ||
| 2467 | FLOAT MinLOD; | ||
| 2468 | FLOAT MaxLOD; | ||
| 2469 | D3D12_SAMPLER_FLAGS Flags; | ||
| 2470 | } D3D12_SAMPLER_DESC2; | ||
| 2471 | |||
| 2472 | |||
| 2473 | |||
| 2474 | typedef enum D3D12_BUFFER_UAV_FLAGS | ||
| 2475 | { | ||
| 2476 | D3D12_BUFFER_UAV_FLAG_NONE = 0, | ||
| 2477 | D3D12_BUFFER_UAV_FLAG_RAW = 0x00000001, | ||
| 2478 | } D3D12_BUFFER_UAV_FLAGS; | ||
| 2479 | cpp_quote( "DEFINE_ENUM_FLAG_OPERATORS( D3D12_BUFFER_UAV_FLAGS )" ) | ||
| 2480 | |||
| 2481 | typedef struct D3D12_BUFFER_UAV | ||
| 2482 | { | ||
| 2483 | UINT64 FirstElement; | ||
| 2484 | UINT NumElements; | ||
| 2485 | UINT StructureByteStride; // if nonzero, format must be DXGI_FORMAT_UNKNOWN | ||
| 2486 | UINT64 CounterOffsetInBytes; | ||
| 2487 | D3D12_BUFFER_UAV_FLAGS Flags; | ||
| 2488 | } D3D12_BUFFER_UAV; | ||
| 2489 | |||
| 2490 | typedef struct D3D12_TEX1D_UAV | ||
| 2491 | { | ||
| 2492 | UINT MipSlice; | ||
| 2493 | } D3D12_TEX1D_UAV; | ||
| 2494 | |||
| 2495 | typedef struct D3D12_TEX1D_ARRAY_UAV | ||
| 2496 | { | ||
| 2497 | UINT MipSlice; | ||
| 2498 | UINT FirstArraySlice; | ||
| 2499 | UINT ArraySize; | ||
| 2500 | } D3D12_TEX1D_ARRAY_UAV; | ||
| 2501 | |||
| 2502 | typedef struct D3D12_TEX2D_UAV | ||
| 2503 | { | ||
| 2504 | UINT MipSlice; | ||
| 2505 | UINT PlaneSlice; | ||
| 2506 | } D3D12_TEX2D_UAV; | ||
| 2507 | |||
| 2508 | typedef struct D3D12_TEX2D_ARRAY_UAV | ||
| 2509 | { | ||
| 2510 | UINT MipSlice; | ||
| 2511 | UINT FirstArraySlice; | ||
| 2512 | UINT ArraySize; | ||
| 2513 | UINT PlaneSlice; | ||
| 2514 | } D3D12_TEX2D_ARRAY_UAV; | ||
| 2515 | |||
| 2516 | typedef struct D3D12_TEX2DMS_UAV | ||
| 2517 | { | ||
| 2518 | // don't need to define anything specific for this view dimension | ||
| 2519 | UINT UnusedField_NothingToDefine; | ||
| 2520 | } D3D12_TEX2DMS_UAV; | ||
| 2521 | |||
| 2522 | typedef struct D3D12_TEX2DMS_ARRAY_UAV | ||
| 2523 | { | ||
| 2524 | UINT FirstArraySlice; | ||
| 2525 | UINT ArraySize; | ||
| 2526 | } D3D12_TEX2DMS_ARRAY_UAV; | ||
| 2527 | |||
| 2528 | typedef struct D3D12_TEX3D_UAV | ||
| 2529 | { | ||
| 2530 | UINT MipSlice; | ||
| 2531 | UINT FirstWSlice; | ||
| 2532 | UINT WSize; | ||
| 2533 | } D3D12_TEX3D_UAV; | ||
| 2534 | |||
| 2535 | typedef enum D3D12_UAV_DIMENSION | ||
| 2536 | { | ||
| 2537 | D3D12_UAV_DIMENSION_UNKNOWN = 0, | ||
| 2538 | D3D12_UAV_DIMENSION_BUFFER = 1, | ||
| 2539 | D3D12_UAV_DIMENSION_TEXTURE1D = 2, | ||
| 2540 | D3D12_UAV_DIMENSION_TEXTURE1DARRAY = 3, | ||
| 2541 | D3D12_UAV_DIMENSION_TEXTURE2D = 4, | ||
| 2542 | D3D12_UAV_DIMENSION_TEXTURE2DARRAY = 5, | ||
| 2543 | D3D12_UAV_DIMENSION_TEXTURE2DMS = 6, | ||
| 2544 | D3D12_UAV_DIMENSION_TEXTURE2DMSARRAY = 7, | ||
| 2545 | D3D12_UAV_DIMENSION_TEXTURE3D = 8, | ||
| 2546 | } D3D12_UAV_DIMENSION; | ||
| 2547 | |||
| 2548 | typedef struct D3D12_UNORDERED_ACCESS_VIEW_DESC | ||
| 2549 | { | ||
| 2550 | DXGI_FORMAT Format; | ||
| 2551 | D3D12_UAV_DIMENSION ViewDimension; | ||
| 2552 | |||
| 2553 | union | ||
| 2554 | { | ||
| 2555 | D3D12_BUFFER_UAV Buffer; | ||
| 2556 | D3D12_TEX1D_UAV Texture1D; | ||
| 2557 | D3D12_TEX1D_ARRAY_UAV Texture1DArray; | ||
| 2558 | D3D12_TEX2D_UAV Texture2D; | ||
| 2559 | D3D12_TEX2D_ARRAY_UAV Texture2DArray; | ||
| 2560 | D3D12_TEX2DMS_UAV Texture2DMS; | ||
| 2561 | D3D12_TEX2DMS_ARRAY_UAV Texture2DMSArray; | ||
| 2562 | D3D12_TEX3D_UAV Texture3D; | ||
| 2563 | }; | ||
| 2564 | } D3D12_UNORDERED_ACCESS_VIEW_DESC; | ||
| 2565 | |||
| 2566 | typedef struct D3D12_BUFFER_RTV | ||
| 2567 | { | ||
| 2568 | UINT64 FirstElement; | ||
| 2569 | UINT NumElements; | ||
| 2570 | } D3D12_BUFFER_RTV; | ||
| 2571 | |||
| 2572 | typedef struct D3D12_TEX1D_RTV | ||
| 2573 | { | ||
| 2574 | UINT MipSlice; | ||
| 2575 | } D3D12_TEX1D_RTV; | ||
| 2576 | |||
| 2577 | typedef struct D3D12_TEX1D_ARRAY_RTV | ||
| 2578 | { | ||
| 2579 | UINT MipSlice; | ||
| 2580 | UINT FirstArraySlice; | ||
| 2581 | UINT ArraySize; | ||
| 2582 | } D3D12_TEX1D_ARRAY_RTV; | ||
| 2583 | |||
| 2584 | typedef struct D3D12_TEX2D_RTV | ||
| 2585 | { | ||
| 2586 | UINT MipSlice; | ||
| 2587 | UINT PlaneSlice; | ||
| 2588 | } D3D12_TEX2D_RTV; | ||
| 2589 | |||
| 2590 | typedef struct D3D12_TEX2DMS_RTV | ||
| 2591 | { | ||
| 2592 | UINT UnusedField_NothingToDefine; | ||
| 2593 | } D3D12_TEX2DMS_RTV; | ||
| 2594 | |||
| 2595 | typedef struct D3D12_TEX2D_ARRAY_RTV | ||
| 2596 | { | ||
| 2597 | UINT MipSlice; | ||
| 2598 | UINT FirstArraySlice; | ||
| 2599 | UINT ArraySize; | ||
| 2600 | UINT PlaneSlice; | ||
| 2601 | } D3D12_TEX2D_ARRAY_RTV; | ||
| 2602 | |||
| 2603 | typedef struct D3D12_TEX2DMS_ARRAY_RTV | ||
| 2604 | { | ||
| 2605 | UINT FirstArraySlice; | ||
| 2606 | UINT ArraySize; | ||
| 2607 | } D3D12_TEX2DMS_ARRAY_RTV; | ||
| 2608 | |||
| 2609 | typedef struct D3D12_TEX3D_RTV | ||
| 2610 | { | ||
| 2611 | UINT MipSlice; | ||
| 2612 | UINT FirstWSlice; | ||
| 2613 | UINT WSize; | ||
| 2614 | } D3D12_TEX3D_RTV; | ||
| 2615 | |||
| 2616 | typedef enum D3D12_RTV_DIMENSION | ||
| 2617 | { | ||
| 2618 | D3D12_RTV_DIMENSION_UNKNOWN = 0, | ||
| 2619 | D3D12_RTV_DIMENSION_BUFFER = 1, | ||
| 2620 | D3D12_RTV_DIMENSION_TEXTURE1D = 2, | ||
| 2621 | D3D12_RTV_DIMENSION_TEXTURE1DARRAY = 3, | ||
| 2622 | D3D12_RTV_DIMENSION_TEXTURE2D = 4, | ||
| 2623 | D3D12_RTV_DIMENSION_TEXTURE2DARRAY = 5, | ||
| 2624 | D3D12_RTV_DIMENSION_TEXTURE2DMS = 6, | ||
| 2625 | D3D12_RTV_DIMENSION_TEXTURE2DMSARRAY = 7, | ||
| 2626 | D3D12_RTV_DIMENSION_TEXTURE3D = 8, | ||
| 2627 | } D3D12_RTV_DIMENSION; | ||
| 2628 | |||
| 2629 | typedef struct D3D12_RENDER_TARGET_VIEW_DESC | ||
| 2630 | { | ||
| 2631 | DXGI_FORMAT Format; | ||
| 2632 | D3D12_RTV_DIMENSION ViewDimension; | ||
| 2633 | |||
| 2634 | union | ||
| 2635 | { | ||
| 2636 | D3D12_BUFFER_RTV Buffer; | ||
| 2637 | D3D12_TEX1D_RTV Texture1D; | ||
| 2638 | D3D12_TEX1D_ARRAY_RTV Texture1DArray; | ||
| 2639 | D3D12_TEX2D_RTV Texture2D; | ||
| 2640 | D3D12_TEX2D_ARRAY_RTV Texture2DArray; | ||
| 2641 | D3D12_TEX2DMS_RTV Texture2DMS; | ||
| 2642 | D3D12_TEX2DMS_ARRAY_RTV Texture2DMSArray; | ||
| 2643 | D3D12_TEX3D_RTV Texture3D; | ||
| 2644 | }; | ||
| 2645 | } D3D12_RENDER_TARGET_VIEW_DESC; | ||
| 2646 | |||
| 2647 | typedef struct D3D12_TEX1D_DSV | ||
| 2648 | { | ||
| 2649 | UINT MipSlice; | ||
| 2650 | } D3D12_TEX1D_DSV; | ||
| 2651 | |||
| 2652 | typedef struct D3D12_TEX1D_ARRAY_DSV | ||
| 2653 | { | ||
| 2654 | UINT MipSlice; | ||
| 2655 | UINT FirstArraySlice; | ||
| 2656 | UINT ArraySize; | ||
| 2657 | } D3D12_TEX1D_ARRAY_DSV; | ||
| 2658 | |||
| 2659 | typedef struct D3D12_TEX2D_DSV | ||
| 2660 | { | ||
| 2661 | UINT MipSlice; | ||
| 2662 | } D3D12_TEX2D_DSV; | ||
| 2663 | |||
| 2664 | typedef struct D3D12_TEX2D_ARRAY_DSV | ||
| 2665 | { | ||
| 2666 | UINT MipSlice; | ||
| 2667 | UINT FirstArraySlice; | ||
| 2668 | UINT ArraySize; | ||
| 2669 | } D3D12_TEX2D_ARRAY_DSV; | ||
| 2670 | |||
| 2671 | typedef struct D3D12_TEX2DMS_DSV | ||
| 2672 | { | ||
| 2673 | UINT UnusedField_NothingToDefine; | ||
| 2674 | } D3D12_TEX2DMS_DSV; | ||
| 2675 | |||
| 2676 | typedef struct D3D12_TEX2DMS_ARRAY_DSV | ||
| 2677 | { | ||
| 2678 | UINT FirstArraySlice; | ||
| 2679 | UINT ArraySize; | ||
| 2680 | } D3D12_TEX2DMS_ARRAY_DSV; | ||
| 2681 | |||
| 2682 | typedef enum D3D12_DSV_FLAGS | ||
| 2683 | { | ||
| 2684 | D3D12_DSV_FLAG_NONE = 0x0, | ||
| 2685 | D3D12_DSV_FLAG_READ_ONLY_DEPTH = 0x1, | ||
| 2686 | D3D12_DSV_FLAG_READ_ONLY_STENCIL = 0x2, | ||
| 2687 | } D3D12_DSV_FLAGS; | ||
| 2688 | cpp_quote( "DEFINE_ENUM_FLAG_OPERATORS( D3D12_DSV_FLAGS )" ) | ||
| 2689 | |||
| 2690 | typedef enum D3D12_DSV_DIMENSION | ||
| 2691 | { | ||
| 2692 | D3D12_DSV_DIMENSION_UNKNOWN = 0, | ||
| 2693 | D3D12_DSV_DIMENSION_TEXTURE1D = 1, | ||
| 2694 | D3D12_DSV_DIMENSION_TEXTURE1DARRAY = 2, | ||
| 2695 | D3D12_DSV_DIMENSION_TEXTURE2D = 3, | ||
| 2696 | D3D12_DSV_DIMENSION_TEXTURE2DARRAY = 4, | ||
| 2697 | D3D12_DSV_DIMENSION_TEXTURE2DMS = 5, | ||
| 2698 | D3D12_DSV_DIMENSION_TEXTURE2DMSARRAY = 6, | ||
| 2699 | } D3D12_DSV_DIMENSION; | ||
| 2700 | |||
| 2701 | typedef struct D3D12_DEPTH_STENCIL_VIEW_DESC | ||
| 2702 | { | ||
| 2703 | DXGI_FORMAT Format; | ||
| 2704 | D3D12_DSV_DIMENSION ViewDimension; | ||
| 2705 | D3D12_DSV_FLAGS Flags; | ||
| 2706 | |||
| 2707 | union | ||
| 2708 | { | ||
| 2709 | D3D12_TEX1D_DSV Texture1D; | ||
| 2710 | D3D12_TEX1D_ARRAY_DSV Texture1DArray; | ||
| 2711 | D3D12_TEX2D_DSV Texture2D; | ||
| 2712 | D3D12_TEX2D_ARRAY_DSV Texture2DArray; | ||
| 2713 | D3D12_TEX2DMS_DSV Texture2DMS; | ||
| 2714 | D3D12_TEX2DMS_ARRAY_DSV Texture2DMSArray; | ||
| 2715 | }; | ||
| 2716 | } D3D12_DEPTH_STENCIL_VIEW_DESC; | ||
| 2717 | |||
| 2718 | typedef enum D3D12_CLEAR_FLAGS | ||
| 2719 | { | ||
| 2720 | // Intentionally no flag for NONE | ||
| 2721 | D3D12_CLEAR_FLAG_DEPTH = 0x01, | ||
| 2722 | D3D12_CLEAR_FLAG_STENCIL = 0x02, | ||
| 2723 | } D3D12_CLEAR_FLAGS; | ||
| 2724 | cpp_quote( "DEFINE_ENUM_FLAG_OPERATORS( D3D12_CLEAR_FLAGS )" ) | ||
| 2725 | |||
| 2726 | typedef enum D3D12_FENCE_FLAGS | ||
| 2727 | { | ||
| 2728 | D3D12_FENCE_FLAG_NONE = 0x0, | ||
| 2729 | D3D12_FENCE_FLAG_SHARED = 0x1, | ||
| 2730 | D3D12_FENCE_FLAG_SHARED_CROSS_ADAPTER = 0x2, | ||
| 2731 | D3D12_FENCE_FLAG_NON_MONITORED = 0x4, | ||
| 2732 | } D3D12_FENCE_FLAGS; | ||
| 2733 | cpp_quote( "DEFINE_ENUM_FLAG_OPERATORS( D3D12_FENCE_FLAGS )" ) | ||
| 2734 | |||
| 2735 | typedef enum D3D12_DESCRIPTOR_HEAP_TYPE | ||
| 2736 | { | ||
| 2737 | D3D12_DESCRIPTOR_HEAP_TYPE_CBV_SRV_UAV, | ||
| 2738 | D3D12_DESCRIPTOR_HEAP_TYPE_SAMPLER, | ||
| 2739 | D3D12_DESCRIPTOR_HEAP_TYPE_RTV, | ||
| 2740 | D3D12_DESCRIPTOR_HEAP_TYPE_DSV, | ||
| 2741 | D3D12_DESCRIPTOR_HEAP_TYPE_NUM_TYPES | ||
| 2742 | } D3D12_DESCRIPTOR_HEAP_TYPE; | ||
| 2743 | |||
| 2744 | typedef enum D3D12_DESCRIPTOR_HEAP_FLAGS | ||
| 2745 | { | ||
| 2746 | D3D12_DESCRIPTOR_HEAP_FLAG_NONE = 0x0, | ||
| 2747 | D3D12_DESCRIPTOR_HEAP_FLAG_SHADER_VISIBLE = 0x1, | ||
| 2748 | } D3D12_DESCRIPTOR_HEAP_FLAGS; | ||
| 2749 | cpp_quote( "DEFINE_ENUM_FLAG_OPERATORS( D3D12_DESCRIPTOR_HEAP_FLAGS )" ) | ||
| 2750 | |||
| 2751 | typedef struct D3D12_DESCRIPTOR_HEAP_DESC | ||
| 2752 | { | ||
| 2753 | D3D12_DESCRIPTOR_HEAP_TYPE Type; | ||
| 2754 | UINT NumDescriptors; | ||
| 2755 | D3D12_DESCRIPTOR_HEAP_FLAGS Flags; | ||
| 2756 | UINT NodeMask; | ||
| 2757 | } D3D12_DESCRIPTOR_HEAP_DESC; | ||
| 2758 | |||
| 2759 | typedef enum D3D12_DESCRIPTOR_RANGE_TYPE | ||
| 2760 | { | ||
| 2761 | D3D12_DESCRIPTOR_RANGE_TYPE_SRV, | ||
| 2762 | D3D12_DESCRIPTOR_RANGE_TYPE_UAV, | ||
| 2763 | D3D12_DESCRIPTOR_RANGE_TYPE_CBV, | ||
| 2764 | D3D12_DESCRIPTOR_RANGE_TYPE_SAMPLER | ||
| 2765 | } D3D12_DESCRIPTOR_RANGE_TYPE; | ||
| 2766 | |||
| 2767 | typedef struct D3D12_DESCRIPTOR_RANGE | ||
| 2768 | { | ||
| 2769 | D3D12_DESCRIPTOR_RANGE_TYPE RangeType; | ||
| 2770 | UINT NumDescriptors; | ||
| 2771 | UINT BaseShaderRegister; | ||
| 2772 | UINT RegisterSpace; | ||
| 2773 | UINT OffsetInDescriptorsFromTableStart; | ||
| 2774 | } D3D12_DESCRIPTOR_RANGE; | ||
| 2775 | |||
| 2776 | |||
| 2777 | typedef struct D3D12_ROOT_DESCRIPTOR_TABLE | ||
| 2778 | { | ||
| 2779 | UINT NumDescriptorRanges; | ||
| 2780 | [annotation("_Field_size_full_(NumDescriptorRanges)")] const D3D12_DESCRIPTOR_RANGE* pDescriptorRanges; | ||
| 2781 | } D3D12_ROOT_DESCRIPTOR_TABLE; | ||
| 2782 | |||
| 2783 | |||
| 2784 | typedef struct D3D12_ROOT_CONSTANTS | ||
| 2785 | { | ||
| 2786 | UINT ShaderRegister; | ||
| 2787 | UINT RegisterSpace; | ||
| 2788 | UINT Num32BitValues; | ||
| 2789 | } D3D12_ROOT_CONSTANTS; | ||
| 2790 | |||
| 2791 | typedef struct D3D12_ROOT_DESCRIPTOR | ||
| 2792 | { | ||
| 2793 | UINT ShaderRegister; | ||
| 2794 | UINT RegisterSpace; | ||
| 2795 | } D3D12_ROOT_DESCRIPTOR; | ||
| 2796 | |||
| 2797 | typedef enum D3D12_SHADER_VISIBILITY | ||
| 2798 | { | ||
| 2799 | D3D12_SHADER_VISIBILITY_ALL = 0, | ||
| 2800 | D3D12_SHADER_VISIBILITY_VERTEX = 1, | ||
| 2801 | D3D12_SHADER_VISIBILITY_HULL = 2, | ||
| 2802 | D3D12_SHADER_VISIBILITY_DOMAIN = 3, | ||
| 2803 | D3D12_SHADER_VISIBILITY_GEOMETRY = 4, | ||
| 2804 | D3D12_SHADER_VISIBILITY_PIXEL = 5, | ||
| 2805 | D3D12_SHADER_VISIBILITY_AMPLIFICATION = 6, | ||
| 2806 | D3D12_SHADER_VISIBILITY_MESH = 7, | ||
| 2807 | } D3D12_SHADER_VISIBILITY; | ||
| 2808 | |||
| 2809 | typedef enum D3D12_ROOT_PARAMETER_TYPE | ||
| 2810 | { | ||
| 2811 | D3D12_ROOT_PARAMETER_TYPE_DESCRIPTOR_TABLE, | ||
| 2812 | D3D12_ROOT_PARAMETER_TYPE_32BIT_CONSTANTS, | ||
| 2813 | D3D12_ROOT_PARAMETER_TYPE_CBV, | ||
| 2814 | D3D12_ROOT_PARAMETER_TYPE_SRV, | ||
| 2815 | D3D12_ROOT_PARAMETER_TYPE_UAV | ||
| 2816 | } D3D12_ROOT_PARAMETER_TYPE; | ||
| 2817 | |||
| 2818 | typedef struct D3D12_ROOT_PARAMETER | ||
| 2819 | { | ||
| 2820 | D3D12_ROOT_PARAMETER_TYPE ParameterType; | ||
| 2821 | union | ||
| 2822 | { | ||
| 2823 | D3D12_ROOT_DESCRIPTOR_TABLE DescriptorTable; | ||
| 2824 | D3D12_ROOT_CONSTANTS Constants; | ||
| 2825 | D3D12_ROOT_DESCRIPTOR Descriptor; | ||
| 2826 | }; | ||
| 2827 | D3D12_SHADER_VISIBILITY ShaderVisibility; | ||
| 2828 | } D3D12_ROOT_PARAMETER; | ||
| 2829 | |||
| 2830 | typedef enum D3D12_ROOT_SIGNATURE_FLAGS | ||
| 2831 | { | ||
| 2832 | D3D12_ROOT_SIGNATURE_FLAG_NONE = 0x0, | ||
| 2833 | D3D12_ROOT_SIGNATURE_FLAG_ALLOW_INPUT_ASSEMBLER_INPUT_LAYOUT = 0x1, | ||
| 2834 | D3D12_ROOT_SIGNATURE_FLAG_DENY_VERTEX_SHADER_ROOT_ACCESS = 0x2, | ||
| 2835 | D3D12_ROOT_SIGNATURE_FLAG_DENY_HULL_SHADER_ROOT_ACCESS = 0x4, | ||
| 2836 | D3D12_ROOT_SIGNATURE_FLAG_DENY_DOMAIN_SHADER_ROOT_ACCESS = 0x8, | ||
| 2837 | D3D12_ROOT_SIGNATURE_FLAG_DENY_GEOMETRY_SHADER_ROOT_ACCESS = 0x10, | ||
| 2838 | D3D12_ROOT_SIGNATURE_FLAG_DENY_PIXEL_SHADER_ROOT_ACCESS = 0x20, | ||
| 2839 | D3D12_ROOT_SIGNATURE_FLAG_ALLOW_STREAM_OUTPUT = 0x40, | ||
| 2840 | D3D12_ROOT_SIGNATURE_FLAG_LOCAL_ROOT_SIGNATURE = 0x80, | ||
| 2841 | D3D12_ROOT_SIGNATURE_FLAG_DENY_AMPLIFICATION_SHADER_ROOT_ACCESS = 0x100, | ||
| 2842 | D3D12_ROOT_SIGNATURE_FLAG_DENY_MESH_SHADER_ROOT_ACCESS = 0x200, | ||
| 2843 | D3D12_ROOT_SIGNATURE_FLAG_CBV_SRV_UAV_HEAP_DIRECTLY_INDEXED = 0x400, | ||
| 2844 | D3D12_ROOT_SIGNATURE_FLAG_SAMPLER_HEAP_DIRECTLY_INDEXED = 0x800, | ||
| 2845 | } D3D12_ROOT_SIGNATURE_FLAGS; | ||
| 2846 | cpp_quote( "DEFINE_ENUM_FLAG_OPERATORS( D3D12_ROOT_SIGNATURE_FLAGS )" ) | ||
| 2847 | |||
| 2848 | |||
| 2849 | typedef enum D3D12_STATIC_BORDER_COLOR | ||
| 2850 | { | ||
| 2851 | D3D12_STATIC_BORDER_COLOR_TRANSPARENT_BLACK, // 0.0f,0.0f,0.0f,0.0f | ||
| 2852 | D3D12_STATIC_BORDER_COLOR_OPAQUE_BLACK, // 0.0f,0.0f,0.0f,1.0f | ||
| 2853 | D3D12_STATIC_BORDER_COLOR_OPAQUE_WHITE, // 1.0f,1.0f,1.0f,1.0f | ||
| 2854 | D3D12_STATIC_BORDER_COLOR_OPAQUE_BLACK_UINT, // 0,0,0,1 | ||
| 2855 | D3D12_STATIC_BORDER_COLOR_OPAQUE_WHITE_UINT, // 1,1,1,1 | ||
| 2856 | |||
| 2857 | } D3D12_STATIC_BORDER_COLOR; | ||
| 2858 | |||
| 2859 | typedef struct D3D12_STATIC_SAMPLER_DESC | ||
| 2860 | { | ||
| 2861 | D3D12_FILTER Filter; | ||
| 2862 | D3D12_TEXTURE_ADDRESS_MODE AddressU; | ||
| 2863 | D3D12_TEXTURE_ADDRESS_MODE AddressV; | ||
| 2864 | D3D12_TEXTURE_ADDRESS_MODE AddressW; | ||
| 2865 | FLOAT MipLODBias; | ||
| 2866 | UINT MaxAnisotropy; | ||
| 2867 | D3D12_COMPARISON_FUNC ComparisonFunc; | ||
| 2868 | D3D12_STATIC_BORDER_COLOR BorderColor; | ||
| 2869 | FLOAT MinLOD; | ||
| 2870 | FLOAT MaxLOD; | ||
| 2871 | UINT ShaderRegister; | ||
| 2872 | UINT RegisterSpace; | ||
| 2873 | D3D12_SHADER_VISIBILITY ShaderVisibility; | ||
| 2874 | } D3D12_STATIC_SAMPLER_DESC; | ||
| 2875 | |||
| 2876 | typedef struct D3D12_STATIC_SAMPLER_DESC1 | ||
| 2877 | { | ||
| 2878 | D3D12_FILTER Filter; | ||
| 2879 | D3D12_TEXTURE_ADDRESS_MODE AddressU; | ||
| 2880 | D3D12_TEXTURE_ADDRESS_MODE AddressV; | ||
| 2881 | D3D12_TEXTURE_ADDRESS_MODE AddressW; | ||
| 2882 | FLOAT MipLODBias; | ||
| 2883 | UINT MaxAnisotropy; | ||
| 2884 | D3D12_COMPARISON_FUNC ComparisonFunc; | ||
| 2885 | D3D12_STATIC_BORDER_COLOR BorderColor; | ||
| 2886 | FLOAT MinLOD; | ||
| 2887 | FLOAT MaxLOD; | ||
| 2888 | UINT ShaderRegister; | ||
| 2889 | UINT RegisterSpace; | ||
| 2890 | D3D12_SHADER_VISIBILITY ShaderVisibility; | ||
| 2891 | D3D12_SAMPLER_FLAGS Flags; | ||
| 2892 | } D3D12_STATIC_SAMPLER_DESC1; | ||
| 2893 | |||
| 2894 | typedef struct D3D12_ROOT_SIGNATURE_DESC | ||
| 2895 | { | ||
| 2896 | UINT NumParameters; | ||
| 2897 | [annotation("_Field_size_full_(NumParameters)")] const D3D12_ROOT_PARAMETER* pParameters; | ||
| 2898 | UINT NumStaticSamplers; | ||
| 2899 | [annotation("_Field_size_full_(NumStaticSamplers)")] const D3D12_STATIC_SAMPLER_DESC* pStaticSamplers; | ||
| 2900 | D3D12_ROOT_SIGNATURE_FLAGS Flags; | ||
| 2901 | } D3D12_ROOT_SIGNATURE_DESC; | ||
| 2902 | |||
| 2903 | typedef enum D3D12_DESCRIPTOR_RANGE_FLAGS | ||
| 2904 | { | ||
| 2905 | D3D12_DESCRIPTOR_RANGE_FLAG_NONE = 0x0, | ||
| 2906 | D3D12_DESCRIPTOR_RANGE_FLAG_DESCRIPTORS_VOLATILE = 0x1, | ||
| 2907 | D3D12_DESCRIPTOR_RANGE_FLAG_DATA_VOLATILE = 0x2, | ||
| 2908 | D3D12_DESCRIPTOR_RANGE_FLAG_DATA_STATIC_WHILE_SET_AT_EXECUTE = 0x4, | ||
| 2909 | D3D12_DESCRIPTOR_RANGE_FLAG_DATA_STATIC = 0x8, | ||
| 2910 | D3D12_DESCRIPTOR_RANGE_FLAG_DESCRIPTORS_STATIC_KEEPING_BUFFER_BOUNDS_CHECKS = 0x10000, | ||
| 2911 | } D3D12_DESCRIPTOR_RANGE_FLAGS; | ||
| 2912 | cpp_quote("DEFINE_ENUM_FLAG_OPERATORS( D3D12_DESCRIPTOR_RANGE_FLAGS )") | ||
| 2913 | |||
| 2914 | typedef struct D3D12_DESCRIPTOR_RANGE1 | ||
| 2915 | { | ||
| 2916 | D3D12_DESCRIPTOR_RANGE_TYPE RangeType; | ||
| 2917 | UINT NumDescriptors; | ||
| 2918 | UINT BaseShaderRegister; | ||
| 2919 | UINT RegisterSpace; | ||
| 2920 | D3D12_DESCRIPTOR_RANGE_FLAGS Flags; | ||
| 2921 | UINT OffsetInDescriptorsFromTableStart; | ||
| 2922 | } D3D12_DESCRIPTOR_RANGE1; | ||
| 2923 | |||
| 2924 | typedef struct D3D12_ROOT_DESCRIPTOR_TABLE1 | ||
| 2925 | { | ||
| 2926 | UINT NumDescriptorRanges; | ||
| 2927 | [annotation("_Field_size_full_(NumDescriptorRanges)")] const D3D12_DESCRIPTOR_RANGE1* pDescriptorRanges; | ||
| 2928 | } D3D12_ROOT_DESCRIPTOR_TABLE1; | ||
| 2929 | |||
| 2930 | typedef enum D3D12_ROOT_DESCRIPTOR_FLAGS | ||
| 2931 | { | ||
| 2932 | D3D12_ROOT_DESCRIPTOR_FLAG_NONE = 0x0, | ||
| 2933 | D3D12_ROOT_DESCRIPTOR_FLAG_DATA_VOLATILE = 0x2, | ||
| 2934 | D3D12_ROOT_DESCRIPTOR_FLAG_DATA_STATIC_WHILE_SET_AT_EXECUTE = 0x4, | ||
| 2935 | D3D12_ROOT_DESCRIPTOR_FLAG_DATA_STATIC = 0x8, | ||
| 2936 | } D3D12_ROOT_DESCRIPTOR_FLAGS; | ||
| 2937 | cpp_quote("DEFINE_ENUM_FLAG_OPERATORS( D3D12_ROOT_DESCRIPTOR_FLAGS )") | ||
| 2938 | |||
| 2939 | typedef struct D3D12_ROOT_DESCRIPTOR1 | ||
| 2940 | { | ||
| 2941 | UINT ShaderRegister; | ||
| 2942 | UINT RegisterSpace; | ||
| 2943 | D3D12_ROOT_DESCRIPTOR_FLAGS Flags; | ||
| 2944 | } D3D12_ROOT_DESCRIPTOR1; | ||
| 2945 | |||
| 2946 | typedef struct D3D12_ROOT_PARAMETER1 | ||
| 2947 | { | ||
| 2948 | D3D12_ROOT_PARAMETER_TYPE ParameterType; | ||
| 2949 | union | ||
| 2950 | { | ||
| 2951 | D3D12_ROOT_DESCRIPTOR_TABLE1 DescriptorTable; | ||
| 2952 | D3D12_ROOT_CONSTANTS Constants; | ||
| 2953 | D3D12_ROOT_DESCRIPTOR1 Descriptor; | ||
| 2954 | }; | ||
| 2955 | D3D12_SHADER_VISIBILITY ShaderVisibility; | ||
| 2956 | } D3D12_ROOT_PARAMETER1; | ||
| 2957 | |||
| 2958 | typedef struct D3D12_ROOT_SIGNATURE_DESC1 | ||
| 2959 | { | ||
| 2960 | UINT NumParameters; | ||
| 2961 | [annotation("_Field_size_full_(NumParameters)")] const D3D12_ROOT_PARAMETER1* pParameters; | ||
| 2962 | UINT NumStaticSamplers; | ||
| 2963 | [annotation("_Field_size_full_(NumStaticSamplers)")] const D3D12_STATIC_SAMPLER_DESC* pStaticSamplers; | ||
| 2964 | D3D12_ROOT_SIGNATURE_FLAGS Flags; | ||
| 2965 | } D3D12_ROOT_SIGNATURE_DESC1; | ||
| 2966 | |||
| 2967 | typedef struct D3D12_ROOT_SIGNATURE_DESC2 | ||
| 2968 | { | ||
| 2969 | UINT NumParameters; | ||
| 2970 | [annotation("_Field_size_full_(NumParameters)")] const D3D12_ROOT_PARAMETER1* pParameters; | ||
| 2971 | UINT NumStaticSamplers; | ||
| 2972 | [annotation("_Field_size_full_(NumStaticSamplers)")] const D3D12_STATIC_SAMPLER_DESC1* pStaticSamplers; | ||
| 2973 | D3D12_ROOT_SIGNATURE_FLAGS Flags; | ||
| 2974 | } D3D12_ROOT_SIGNATURE_DESC2; | ||
| 2975 | |||
| 2976 | |||
| 2977 | typedef struct D3D12_VERSIONED_ROOT_SIGNATURE_DESC | ||
| 2978 | { | ||
| 2979 | D3D_ROOT_SIGNATURE_VERSION Version; | ||
| 2980 | union | ||
| 2981 | { | ||
| 2982 | D3D12_ROOT_SIGNATURE_DESC Desc_1_0; | ||
| 2983 | D3D12_ROOT_SIGNATURE_DESC1 Desc_1_1; | ||
| 2984 | D3D12_ROOT_SIGNATURE_DESC2 Desc_1_2; | ||
| 2985 | }; | ||
| 2986 | } D3D12_VERSIONED_ROOT_SIGNATURE_DESC; | ||
| 2987 | |||
| 2988 | [ uuid( 34AB647B-3CC8-46AC-841B-C0965645C046 ), object, local, pointer_default( unique ) ] | ||
| 2989 | interface ID3D12RootSignatureDeserializer | ||
| 2990 | : IUnknown | ||
| 2991 | { | ||
| 2992 | const D3D12_ROOT_SIGNATURE_DESC * GetRootSignatureDesc(); | ||
| 2993 | }; | ||
| 2994 | |||
| 2995 | [ uuid( 7F91CE67-090C-4BB7-B78E-ED8FF2E31DA0 ), object, local, pointer_default( unique ) ] | ||
| 2996 | interface ID3D12VersionedRootSignatureDeserializer | ||
| 2997 | : IUnknown | ||
| 2998 | { | ||
| 2999 | HRESULT GetRootSignatureDescAtVersion(D3D_ROOT_SIGNATURE_VERSION convertToVersion, [annotation("_Out_")] const D3D12_VERSIONED_ROOT_SIGNATURE_DESC** ppDesc); | ||
| 3000 | const D3D12_VERSIONED_ROOT_SIGNATURE_DESC* GetUnconvertedRootSignatureDesc(); | ||
| 3001 | }; | ||
| 3002 | |||
| 3003 | cpp_quote( "typedef HRESULT (WINAPI* PFN_D3D12_SERIALIZE_ROOT_SIGNATURE)(") | ||
| 3004 | cpp_quote( " _In_ const D3D12_ROOT_SIGNATURE_DESC* pRootSignature," ) | ||
| 3005 | cpp_quote( " _In_ D3D_ROOT_SIGNATURE_VERSION Version," ) | ||
| 3006 | cpp_quote( " _Out_ ID3DBlob** ppBlob," ) | ||
| 3007 | cpp_quote( " _Always_(_Outptr_opt_result_maybenull_) ID3DBlob** ppErrorBlob);" ) | ||
| 3008 | cpp_quote( "" ) | ||
| 3009 | cpp_quote( "HRESULT WINAPI D3D12SerializeRootSignature(") | ||
| 3010 | cpp_quote( " _In_ const D3D12_ROOT_SIGNATURE_DESC* pRootSignature," ) | ||
| 3011 | cpp_quote( " _In_ D3D_ROOT_SIGNATURE_VERSION Version," ) | ||
| 3012 | cpp_quote( " _Out_ ID3DBlob** ppBlob," ) | ||
| 3013 | cpp_quote( " _Always_(_Outptr_opt_result_maybenull_) ID3DBlob** ppErrorBlob);" ) | ||
| 3014 | cpp_quote( "" ) | ||
| 3015 | cpp_quote( "typedef HRESULT (WINAPI* PFN_D3D12_CREATE_ROOT_SIGNATURE_DESERIALIZER)(") | ||
| 3016 | cpp_quote( " _In_reads_bytes_(SrcDataSizeInBytes) LPCVOID pSrcData," ) | ||
| 3017 | cpp_quote( " _In_ SIZE_T SrcDataSizeInBytes," ) | ||
| 3018 | cpp_quote( " _In_ REFIID pRootSignatureDeserializerInterface," ) | ||
| 3019 | cpp_quote( " _Out_ void** ppRootSignatureDeserializer);" ) | ||
| 3020 | cpp_quote( "" ) | ||
| 3021 | cpp_quote( "HRESULT WINAPI D3D12CreateRootSignatureDeserializer(") | ||
| 3022 | cpp_quote( " _In_reads_bytes_(SrcDataSizeInBytes) LPCVOID pSrcData," ) | ||
| 3023 | cpp_quote( " _In_ SIZE_T SrcDataSizeInBytes," ) | ||
| 3024 | cpp_quote( " _In_ REFIID pRootSignatureDeserializerInterface," ) | ||
| 3025 | cpp_quote( " _Out_ void** ppRootSignatureDeserializer);" ) | ||
| 3026 | cpp_quote( "" ) | ||
| 3027 | cpp_quote( "typedef HRESULT (WINAPI* PFN_D3D12_SERIALIZE_VERSIONED_ROOT_SIGNATURE)(" ) | ||
| 3028 | cpp_quote( " _In_ const D3D12_VERSIONED_ROOT_SIGNATURE_DESC* pRootSignature," ) | ||
| 3029 | cpp_quote( " _Out_ ID3DBlob** ppBlob," ) | ||
| 3030 | cpp_quote( " _Always_(_Outptr_opt_result_maybenull_) ID3DBlob** ppErrorBlob);" ) | ||
| 3031 | cpp_quote( "" ) | ||
| 3032 | cpp_quote( "HRESULT WINAPI D3D12SerializeVersionedRootSignature(" ) | ||
| 3033 | cpp_quote( " _In_ const D3D12_VERSIONED_ROOT_SIGNATURE_DESC* pRootSignature," ) | ||
| 3034 | cpp_quote( " _Out_ ID3DBlob** ppBlob," ) | ||
| 3035 | cpp_quote( " _Always_(_Outptr_opt_result_maybenull_) ID3DBlob** ppErrorBlob);" ) | ||
| 3036 | cpp_quote( "" ) | ||
| 3037 | cpp_quote( "typedef HRESULT (WINAPI* PFN_D3D12_CREATE_VERSIONED_ROOT_SIGNATURE_DESERIALIZER)(" ) | ||
| 3038 | cpp_quote( " _In_reads_bytes_(SrcDataSizeInBytes) LPCVOID pSrcData," ) | ||
| 3039 | cpp_quote( " _In_ SIZE_T SrcDataSizeInBytes," ) | ||
| 3040 | cpp_quote( " _In_ REFIID pRootSignatureDeserializerInterface," ) | ||
| 3041 | cpp_quote( " _Out_ void** ppRootSignatureDeserializer);" ) | ||
| 3042 | cpp_quote( "" ) | ||
| 3043 | cpp_quote( "HRESULT WINAPI D3D12CreateVersionedRootSignatureDeserializer(") | ||
| 3044 | cpp_quote( " _In_reads_bytes_(SrcDataSizeInBytes) LPCVOID pSrcData," ) | ||
| 3045 | cpp_quote( " _In_ SIZE_T SrcDataSizeInBytes," ) | ||
| 3046 | cpp_quote( " _In_ REFIID pRootSignatureDeserializerInterface," ) | ||
| 3047 | cpp_quote( " _Out_ void** ppRootSignatureDeserializer);" ) | ||
| 3048 | cpp_quote( "" ) | ||
| 3049 | cpp_quote("typedef HRESULT (WINAPI* PFN_D3D12_CREATE_VERSIONED_ROOT_SIGNATURE_DESERIALIZER_FROM_SUBOBJECT_IN_LIBRARY)(") | ||
| 3050 | cpp_quote(" _In_reads_bytes_(SrcDataSizeInBytes) LPCVOID pSrcData,") | ||
| 3051 | cpp_quote(" _In_ SIZE_T SrcDataSizeInBytes,") | ||
| 3052 | cpp_quote(" _In_ LPCWSTR RootSignatureSubobjectName,") | ||
| 3053 | cpp_quote(" _In_ REFIID pRootSignatureDeserializerInterface,") | ||
| 3054 | cpp_quote(" _Out_ void** ppRootSignatureDeserializer);") | ||
| 3055 | cpp_quote("") | ||
| 3056 | cpp_quote("HRESULT WINAPI D3D12CreateVersionedRootSignatureDeserializerFromSubobjectInLibrary(") | ||
| 3057 | cpp_quote(" _In_reads_bytes_(SrcDataSizeInBytes) LPCVOID pSrcData,") | ||
| 3058 | cpp_quote(" _In_ SIZE_T SrcDataSizeInBytes,") | ||
| 3059 | cpp_quote(" _In_opt_ LPCWSTR RootSignatureSubobjectName,") | ||
| 3060 | cpp_quote(" _In_ REFIID pRootSignatureDeserializerInterface,") | ||
| 3061 | cpp_quote(" _Out_ void** ppRootSignatureDeserializer);") | ||
| 3062 | cpp_quote("") | ||
| 3063 | |||
| 3064 | typedef struct D3D12_CPU_DESCRIPTOR_HANDLE | ||
| 3065 | { | ||
| 3066 | SIZE_T ptr; | ||
| 3067 | } D3D12_CPU_DESCRIPTOR_HANDLE; | ||
| 3068 | |||
| 3069 | |||
| 3070 | typedef struct D3D12_GPU_DESCRIPTOR_HANDLE | ||
| 3071 | { | ||
| 3072 | UINT64 ptr; | ||
| 3073 | } D3D12_GPU_DESCRIPTOR_HANDLE; | ||
| 3074 | |||
| 3075 | cpp_quote( "// If rects are supplied in D3D12_DISCARD_REGION, below, the resource " ) | ||
| 3076 | cpp_quote( "// must have 2D subresources with all specified subresources the same dimension." ) | ||
| 3077 | typedef struct D3D12_DISCARD_REGION | ||
| 3078 | { | ||
| 3079 | UINT NumRects; | ||
| 3080 | [annotation("_In_reads_(NumRects)")] const D3D12_RECT* pRects; | ||
| 3081 | UINT FirstSubresource; | ||
| 3082 | UINT NumSubresources; | ||
| 3083 | } D3D12_DISCARD_REGION; | ||
| 3084 | |||
| 3085 | typedef enum D3D12_QUERY_HEAP_TYPE | ||
| 3086 | { | ||
| 3087 | D3D12_QUERY_HEAP_TYPE_OCCLUSION = 0, | ||
| 3088 | D3D12_QUERY_HEAP_TYPE_TIMESTAMP = 1, | ||
| 3089 | D3D12_QUERY_HEAP_TYPE_PIPELINE_STATISTICS = 2, | ||
| 3090 | D3D12_QUERY_HEAP_TYPE_SO_STATISTICS = 3, | ||
| 3091 | D3D12_QUERY_HEAP_TYPE_VIDEO_DECODE_STATISTICS = 4, | ||
| 3092 | D3D12_QUERY_HEAP_TYPE_COPY_QUEUE_TIMESTAMP = 5, | ||
| 3093 | D3D12_QUERY_HEAP_TYPE_PIPELINE_STATISTICS1 = 7, | ||
| 3094 | |||
| 3095 | } D3D12_QUERY_HEAP_TYPE; | ||
| 3096 | |||
| 3097 | typedef struct D3D12_QUERY_HEAP_DESC | ||
| 3098 | { | ||
| 3099 | D3D12_QUERY_HEAP_TYPE Type; | ||
| 3100 | UINT Count; | ||
| 3101 | UINT NodeMask; | ||
| 3102 | } D3D12_QUERY_HEAP_DESC; | ||
| 3103 | |||
| 3104 | typedef enum D3D12_QUERY_TYPE | ||
| 3105 | { | ||
| 3106 | D3D12_QUERY_TYPE_OCCLUSION = 0, | ||
| 3107 | D3D12_QUERY_TYPE_BINARY_OCCLUSION = 1, | ||
| 3108 | D3D12_QUERY_TYPE_TIMESTAMP = 2, | ||
| 3109 | D3D12_QUERY_TYPE_PIPELINE_STATISTICS = 3, | ||
| 3110 | D3D12_QUERY_TYPE_SO_STATISTICS_STREAM0 = 4, | ||
| 3111 | D3D12_QUERY_TYPE_SO_STATISTICS_STREAM1 = 5, | ||
| 3112 | D3D12_QUERY_TYPE_SO_STATISTICS_STREAM2 = 6, | ||
| 3113 | D3D12_QUERY_TYPE_SO_STATISTICS_STREAM3 = 7, | ||
| 3114 | D3D12_QUERY_TYPE_VIDEO_DECODE_STATISTICS = 8, | ||
| 3115 | D3D12_QUERY_TYPE_PIPELINE_STATISTICS1 = 10, | ||
| 3116 | |||
| 3117 | } D3D12_QUERY_TYPE; | ||
| 3118 | |||
| 3119 | typedef enum D3D12_PREDICATION_OP | ||
| 3120 | { | ||
| 3121 | D3D12_PREDICATION_OP_EQUAL_ZERO = 0, | ||
| 3122 | D3D12_PREDICATION_OP_NOT_EQUAL_ZERO = 1, | ||
| 3123 | } D3D12_PREDICATION_OP; | ||
| 3124 | |||
| 3125 | typedef struct D3D12_QUERY_DATA_PIPELINE_STATISTICS | ||
| 3126 | { | ||
| 3127 | UINT64 IAVertices; | ||
| 3128 | UINT64 IAPrimitives; | ||
| 3129 | UINT64 VSInvocations; | ||
| 3130 | UINT64 GSInvocations; | ||
| 3131 | UINT64 GSPrimitives; | ||
| 3132 | UINT64 CInvocations; | ||
| 3133 | UINT64 CPrimitives; | ||
| 3134 | UINT64 PSInvocations; | ||
| 3135 | UINT64 HSInvocations; | ||
| 3136 | UINT64 DSInvocations; | ||
| 3137 | UINT64 CSInvocations; | ||
| 3138 | } D3D12_QUERY_DATA_PIPELINE_STATISTICS; | ||
| 3139 | |||
| 3140 | typedef struct D3D12_QUERY_DATA_PIPELINE_STATISTICS1 | ||
| 3141 | { | ||
| 3142 | UINT64 IAVertices; | ||
| 3143 | UINT64 IAPrimitives; | ||
| 3144 | UINT64 VSInvocations; | ||
| 3145 | UINT64 GSInvocations; | ||
| 3146 | UINT64 GSPrimitives; | ||
| 3147 | UINT64 CInvocations; | ||
| 3148 | UINT64 CPrimitives; | ||
| 3149 | UINT64 PSInvocations; | ||
| 3150 | UINT64 HSInvocations; | ||
| 3151 | UINT64 DSInvocations; | ||
| 3152 | UINT64 CSInvocations; | ||
| 3153 | UINT64 ASInvocations; | ||
| 3154 | UINT64 MSInvocations; | ||
| 3155 | UINT64 MSPrimitives; | ||
| 3156 | } D3D12_QUERY_DATA_PIPELINE_STATISTICS1; | ||
| 3157 | |||
| 3158 | typedef struct D3D12_QUERY_DATA_SO_STATISTICS | ||
| 3159 | { | ||
| 3160 | UINT64 NumPrimitivesWritten; | ||
| 3161 | UINT64 PrimitivesStorageNeeded; | ||
| 3162 | } D3D12_QUERY_DATA_SO_STATISTICS; | ||
| 3163 | |||
| 3164 | typedef struct D3D12_STREAM_OUTPUT_BUFFER_VIEW | ||
| 3165 | { | ||
| 3166 | D3D12_GPU_VIRTUAL_ADDRESS BufferLocation; | ||
| 3167 | UINT64 SizeInBytes; | ||
| 3168 | D3D12_GPU_VIRTUAL_ADDRESS BufferFilledSizeLocation; | ||
| 3169 | } D3D12_STREAM_OUTPUT_BUFFER_VIEW; | ||
| 3170 | |||
| 3171 | typedef struct D3D12_DRAW_ARGUMENTS | ||
| 3172 | { | ||
| 3173 | UINT VertexCountPerInstance; | ||
| 3174 | UINT InstanceCount; | ||
| 3175 | UINT StartVertexLocation; | ||
| 3176 | UINT StartInstanceLocation; | ||
| 3177 | } D3D12_DRAW_ARGUMENTS; | ||
| 3178 | |||
| 3179 | typedef struct D3D12_DRAW_INDEXED_ARGUMENTS | ||
| 3180 | { | ||
| 3181 | UINT IndexCountPerInstance; | ||
| 3182 | UINT InstanceCount; | ||
| 3183 | UINT StartIndexLocation; | ||
| 3184 | INT BaseVertexLocation; | ||
| 3185 | UINT StartInstanceLocation; | ||
| 3186 | } D3D12_DRAW_INDEXED_ARGUMENTS; | ||
| 3187 | |||
| 3188 | typedef struct D3D12_DISPATCH_ARGUMENTS | ||
| 3189 | { | ||
| 3190 | UINT ThreadGroupCountX; | ||
| 3191 | UINT ThreadGroupCountY; | ||
| 3192 | UINT ThreadGroupCountZ; | ||
| 3193 | } D3D12_DISPATCH_ARGUMENTS; | ||
| 3194 | |||
| 3195 | typedef struct D3D12_VERTEX_BUFFER_VIEW | ||
| 3196 | { | ||
| 3197 | D3D12_GPU_VIRTUAL_ADDRESS BufferLocation; | ||
| 3198 | UINT SizeInBytes; | ||
| 3199 | UINT StrideInBytes; | ||
| 3200 | } D3D12_VERTEX_BUFFER_VIEW; | ||
| 3201 | |||
| 3202 | typedef struct D3D12_INDEX_BUFFER_VIEW | ||
| 3203 | { | ||
| 3204 | D3D12_GPU_VIRTUAL_ADDRESS BufferLocation; | ||
| 3205 | UINT SizeInBytes; | ||
| 3206 | DXGI_FORMAT Format; | ||
| 3207 | } D3D12_INDEX_BUFFER_VIEW; | ||
| 3208 | |||
| 3209 | typedef enum D3D12_INDIRECT_ARGUMENT_TYPE | ||
| 3210 | { | ||
| 3211 | D3D12_INDIRECT_ARGUMENT_TYPE_DRAW, | ||
| 3212 | D3D12_INDIRECT_ARGUMENT_TYPE_DRAW_INDEXED, | ||
| 3213 | D3D12_INDIRECT_ARGUMENT_TYPE_DISPATCH, | ||
| 3214 | D3D12_INDIRECT_ARGUMENT_TYPE_VERTEX_BUFFER_VIEW, | ||
| 3215 | D3D12_INDIRECT_ARGUMENT_TYPE_INDEX_BUFFER_VIEW, | ||
| 3216 | D3D12_INDIRECT_ARGUMENT_TYPE_CONSTANT, | ||
| 3217 | D3D12_INDIRECT_ARGUMENT_TYPE_CONSTANT_BUFFER_VIEW, | ||
| 3218 | D3D12_INDIRECT_ARGUMENT_TYPE_SHADER_RESOURCE_VIEW, | ||
| 3219 | D3D12_INDIRECT_ARGUMENT_TYPE_UNORDERED_ACCESS_VIEW, | ||
| 3220 | D3D12_INDIRECT_ARGUMENT_TYPE_DISPATCH_RAYS, | ||
| 3221 | D3D12_INDIRECT_ARGUMENT_TYPE_DISPATCH_MESH, | ||
| 3222 | D3D12_INDIRECT_ARGUMENT_TYPE_INCREMENTING_CONSTANT, | ||
| 3223 | } D3D12_INDIRECT_ARGUMENT_TYPE; | ||
| 3224 | |||
| 3225 | typedef struct D3D12_INDIRECT_ARGUMENT_DESC | ||
| 3226 | { | ||
| 3227 | D3D12_INDIRECT_ARGUMENT_TYPE Type; | ||
| 3228 | |||
| 3229 | union | ||
| 3230 | { | ||
| 3231 | struct | ||
| 3232 | { | ||
| 3233 | UINT Slot; | ||
| 3234 | } VertexBuffer; | ||
| 3235 | |||
| 3236 | struct | ||
| 3237 | { | ||
| 3238 | UINT RootParameterIndex; | ||
| 3239 | UINT DestOffsetIn32BitValues; | ||
| 3240 | UINT Num32BitValuesToSet; | ||
| 3241 | } Constant; | ||
| 3242 | |||
| 3243 | struct | ||
| 3244 | { | ||
| 3245 | UINT RootParameterIndex; | ||
| 3246 | } ConstantBufferView; | ||
| 3247 | |||
| 3248 | struct | ||
| 3249 | { | ||
| 3250 | UINT RootParameterIndex; | ||
| 3251 | } ShaderResourceView; | ||
| 3252 | |||
| 3253 | struct | ||
| 3254 | { | ||
| 3255 | UINT RootParameterIndex; | ||
| 3256 | } UnorderedAccessView; | ||
| 3257 | |||
| 3258 | // Tier 1.1 support | ||
| 3259 | struct | ||
| 3260 | { | ||
| 3261 | UINT RootParameterIndex; | ||
| 3262 | UINT DestOffsetIn32BitValues; | ||
| 3263 | } IncrementingConstant; | ||
| 3264 | }; | ||
| 3265 | } D3D12_INDIRECT_ARGUMENT_DESC; | ||
| 3266 | |||
| 3267 | typedef struct D3D12_COMMAND_SIGNATURE_DESC | ||
| 3268 | { | ||
| 3269 | // The number of bytes between each drawing structure | ||
| 3270 | UINT ByteStride; | ||
| 3271 | UINT NumArgumentDescs; | ||
| 3272 | [annotation("_Field_size_full_(NumArgumentDescs)")] const D3D12_INDIRECT_ARGUMENT_DESC* pArgumentDescs; | ||
| 3273 | UINT NodeMask; | ||
| 3274 | } D3D12_COMMAND_SIGNATURE_DESC; | ||
| 3275 | |||
| 3276 | interface ID3D12Device; | ||
| 3277 | |||
| 3278 | [ uuid( c4fec28f-7966-4e95-9f94-f431cb56c3b8 ), object, local, pointer_default( unique ) ] | ||
| 3279 | interface ID3D12Object | ||
| 3280 | : IUnknown | ||
| 3281 | { | ||
| 3282 | HRESULT GetPrivateData( | ||
| 3283 | [annotation("_In_")] REFGUID guid, | ||
| 3284 | [annotation("_Inout_")] UINT* pDataSize, | ||
| 3285 | [annotation("_Out_writes_bytes_opt_( *pDataSize )")] void* pData ); | ||
| 3286 | HRESULT SetPrivateData( | ||
| 3287 | [annotation("_In_")] REFGUID guid, | ||
| 3288 | [annotation("_In_")] UINT DataSize, | ||
| 3289 | [annotation("_In_reads_bytes_opt_( DataSize )")] const void* pData ); | ||
| 3290 | HRESULT SetPrivateDataInterface( | ||
| 3291 | [annotation("_In_")] REFGUID guid, | ||
| 3292 | [annotation("_In_opt_")] const IUnknown* pData ); | ||
| 3293 | HRESULT SetName( | ||
| 3294 | [annotation("_In_z_")] LPCWSTR Name ); | ||
| 3295 | } | ||
| 3296 | |||
| 3297 | [ uuid( 905db94b-a00c-4140-9df5-2b64ca9ea357 ), object, local, pointer_default( unique ) ] | ||
| 3298 | interface ID3D12DeviceChild | ||
| 3299 | : ID3D12Object | ||
| 3300 | { | ||
| 3301 | HRESULT GetDevice( | ||
| 3302 | [in] REFIID riid, | ||
| 3303 | [out, iid_is(riid), annotation("_COM_Outptr_opt_")] void** ppvDevice | ||
| 3304 | ); | ||
| 3305 | } | ||
| 3306 | |||
| 3307 | [ uuid( 63ee58fb-1268-4835-86da-f008ce62f0d6 ), object, local, pointer_default( unique ) ] | ||
| 3308 | interface ID3D12Pageable | ||
| 3309 | : ID3D12DeviceChild | ||
| 3310 | { | ||
| 3311 | } | ||
| 3312 | |||
| 3313 | [ uuid( 6b3b2502-6e51-45b3-90ee-9884265e8df3 ), object, local, pointer_default( unique ) ] | ||
| 3314 | interface ID3D12Heap | ||
| 3315 | : ID3D12Pageable | ||
| 3316 | { | ||
| 3317 | D3D12_HEAP_DESC GetDesc(); | ||
| 3318 | } | ||
| 3319 | |||
| 3320 | [ uuid( 696442be-a72e-4059-bc79-5b5c98040fad ), object, local, pointer_default( unique ) ] | ||
| 3321 | interface ID3D12Resource | ||
| 3322 | : ID3D12Pageable | ||
| 3323 | { | ||
| 3324 | HRESULT Map( | ||
| 3325 | UINT Subresource, | ||
| 3326 | [annotation("_In_opt_")] const D3D12_RANGE* pReadRange, | ||
| 3327 | [annotation("_Outptr_opt_result_bytebuffer_(_Inexpressible_(\"Dependent on resource\"))")] void** ppData); | ||
| 3328 | |||
| 3329 | void Unmap(UINT Subresource, [annotation("_In_opt_")] const D3D12_RANGE* pWrittenRange ); | ||
| 3330 | |||
| 3331 | D3D12_RESOURCE_DESC GetDesc(); | ||
| 3332 | |||
| 3333 | D3D12_GPU_VIRTUAL_ADDRESS GetGPUVirtualAddress(); | ||
| 3334 | |||
| 3335 | HRESULT WriteToSubresource( | ||
| 3336 | UINT DstSubresource, | ||
| 3337 | [annotation("_In_opt_")] const D3D12_BOX* pDstBox, | ||
| 3338 | [annotation("_In_")] const void* pSrcData, | ||
| 3339 | UINT SrcRowPitch, | ||
| 3340 | UINT SrcDepthPitch ); | ||
| 3341 | |||
| 3342 | HRESULT ReadFromSubresource( | ||
| 3343 | [annotation("_Out_")] void* pDstData, | ||
| 3344 | UINT DstRowPitch, | ||
| 3345 | UINT DstDepthPitch, | ||
| 3346 | UINT SrcSubresource, | ||
| 3347 | [annotation("_In_opt_")] const D3D12_BOX* pSrcBox ); | ||
| 3348 | |||
| 3349 | HRESULT GetHeapProperties( | ||
| 3350 | [annotation("_Out_opt_")] D3D12_HEAP_PROPERTIES* pHeapProperties, | ||
| 3351 | [annotation("_Out_opt_")] D3D12_HEAP_FLAGS* pHeapFlags | ||
| 3352 | ); | ||
| 3353 | } | ||
| 3354 | |||
| 3355 | [ uuid( 6102dee4-af59-4b09-b999-b44d73f09b24 ), object, local, pointer_default( unique ) ] | ||
| 3356 | interface ID3D12CommandAllocator | ||
| 3357 | : ID3D12Pageable | ||
| 3358 | { | ||
| 3359 | HRESULT Reset(); | ||
| 3360 | } | ||
| 3361 | |||
| 3362 | [ uuid( 0a753dcf-c4d8-4b91-adf6-be5a60d95a76 ), object, local, pointer_default( unique ) ] | ||
| 3363 | interface ID3D12Fence | ||
| 3364 | : ID3D12Pageable | ||
| 3365 | { | ||
| 3366 | UINT64 GetCompletedValue(); | ||
| 3367 | HRESULT SetEventOnCompletion(UINT64 Value, HANDLE hEvent); | ||
| 3368 | HRESULT Signal(UINT64 Value); | ||
| 3369 | }; | ||
| 3370 | |||
| 3371 | [ uuid( 433685fe-e22b-4ca0-a8db-b5b4f4dd0e4a ), object, local, pointer_default( unique ) ] | ||
| 3372 | interface ID3D12Fence1 | ||
| 3373 | : ID3D12Fence | ||
| 3374 | { | ||
| 3375 | D3D12_FENCE_FLAGS GetCreationFlags(); | ||
| 3376 | }; | ||
| 3377 | |||
| 3378 | |||
| 3379 | [ uuid( 765a30f3-f624-4c6f-a828-ace948622445 ), object, local, pointer_default( unique ) ] | ||
| 3380 | interface ID3D12PipelineState | ||
| 3381 | : ID3D12Pageable | ||
| 3382 | { | ||
| 3383 | HRESULT GetCachedBlob([annotation("_COM_Outptr_")] ID3DBlob** ppBlob); | ||
| 3384 | } | ||
| 3385 | |||
| 3386 | [uuid(5646804c-9638-48f7-9182-b3ee5a6b60fb), object, local, pointer_default(unique)] | ||
| 3387 | interface ID3D12PipelineState1 | ||
| 3388 | : ID3D12PipelineState | ||
| 3389 | { | ||
| 3390 | HRESULT GetRootSignature( | ||
| 3391 | [in] REFIID riid, // Expected ID3D12RootSignature | ||
| 3392 | [out, iid_is(riid), annotation("_COM_Outptr_")] void** ppvRootSignature); | ||
| 3393 | } | ||
| 3394 | |||
| 3395 | [ uuid( 8efb471d-616c-4f49-90f7-127bb763fa51 ), object, local, pointer_default( unique ) ] | ||
| 3396 | interface ID3D12DescriptorHeap | ||
| 3397 | : ID3D12Pageable | ||
| 3398 | { | ||
| 3399 | D3D12_DESCRIPTOR_HEAP_DESC GetDesc(); | ||
| 3400 | |||
| 3401 | D3D12_CPU_DESCRIPTOR_HANDLE GetCPUDescriptorHandleForHeapStart(); | ||
| 3402 | D3D12_GPU_DESCRIPTOR_HANDLE GetGPUDescriptorHandleForHeapStart(); | ||
| 3403 | } | ||
| 3404 | |||
| 3405 | [ uuid( 0d9658ae-ed45-469e-a61d-970ec583cab4 ), object, local, pointer_default( unique ) ] | ||
| 3406 | interface ID3D12QueryHeap | ||
| 3407 | : ID3D12Pageable | ||
| 3408 | { | ||
| 3409 | }; | ||
| 3410 | |||
| 3411 | [ uuid( c36a797c-ec80-4f0a-8985-a7b2475082d1 ), object, local, pointer_default( unique ) ] | ||
| 3412 | interface ID3D12CommandSignature | ||
| 3413 | : ID3D12Pageable | ||
| 3414 | { | ||
| 3415 | }; | ||
| 3416 | |||
| 3417 | [ uuid( 7116d91c-e7e4-47ce-b8c6-ec8168f437e5 ), object, local, pointer_default( unique ) ] | ||
| 3418 | interface ID3D12CommandList | ||
| 3419 | : ID3D12DeviceChild | ||
| 3420 | { | ||
| 3421 | D3D12_COMMAND_LIST_TYPE GetType(); | ||
| 3422 | } | ||
| 3423 | |||
| 3424 | // Superseded by ID3D12GraphicsCommandList1 | ||
| 3425 | [ uuid( 5b160d0f-ac1b-4185-8ba8-b3ae42a5a455 ), object, local, pointer_default( unique ) ] | ||
| 3426 | interface ID3D12GraphicsCommandList | ||
| 3427 | : ID3D12CommandList | ||
| 3428 | { | ||
| 3429 | HRESULT Close(); | ||
| 3430 | |||
| 3431 | HRESULT Reset( | ||
| 3432 | [annotation("_In_")] ID3D12CommandAllocator* pAllocator, | ||
| 3433 | [annotation("_In_opt_")] ID3D12PipelineState* pInitialState | ||
| 3434 | ); | ||
| 3435 | |||
| 3436 | void ClearState( | ||
| 3437 | [annotation("_In_opt_")] ID3D12PipelineState* pPipelineState | ||
| 3438 | ); | ||
| 3439 | |||
| 3440 | void DrawInstanced( | ||
| 3441 | [annotation("_In_")] UINT VertexCountPerInstance, | ||
| 3442 | [annotation("_In_")] UINT InstanceCount, | ||
| 3443 | [annotation("_In_")] UINT StartVertexLocation, | ||
| 3444 | [annotation("_In_")] UINT StartInstanceLocation | ||
| 3445 | ); | ||
| 3446 | |||
| 3447 | void DrawIndexedInstanced( | ||
| 3448 | [annotation("_In_")] UINT IndexCountPerInstance, | ||
| 3449 | [annotation("_In_")] UINT InstanceCount, | ||
| 3450 | [annotation("_In_")] UINT StartIndexLocation, | ||
| 3451 | [annotation("_In_")] INT BaseVertexLocation, | ||
| 3452 | [annotation("_In_")] UINT StartInstanceLocation | ||
| 3453 | ); | ||
| 3454 | |||
| 3455 | void Dispatch( | ||
| 3456 | [annotation("_In_")] UINT ThreadGroupCountX, | ||
| 3457 | [annotation("_In_")] UINT ThreadGroupCountY, | ||
| 3458 | [annotation("_In_")] UINT ThreadGroupCountZ | ||
| 3459 | ); | ||
| 3460 | |||
| 3461 | void CopyBufferRegion( | ||
| 3462 | [annotation("_In_")] ID3D12Resource* pDstBuffer, | ||
| 3463 | UINT64 DstOffset, | ||
| 3464 | [annotation("_In_")] ID3D12Resource* pSrcBuffer, | ||
| 3465 | UINT64 SrcOffset, | ||
| 3466 | UINT64 NumBytes | ||
| 3467 | ); | ||
| 3468 | |||
| 3469 | void CopyTextureRegion( | ||
| 3470 | [annotation("_In_")] const D3D12_TEXTURE_COPY_LOCATION* pDst, | ||
| 3471 | UINT DstX, UINT DstY, UINT DstZ, | ||
| 3472 | [annotation("_In_")] const D3D12_TEXTURE_COPY_LOCATION* pSrc, | ||
| 3473 | [annotation("_In_opt_")] const D3D12_BOX* pSrcBox | ||
| 3474 | ); | ||
| 3475 | |||
| 3476 | void CopyResource( | ||
| 3477 | [annotation("_In_")] ID3D12Resource* pDstResource, | ||
| 3478 | [annotation("_In_")] ID3D12Resource* pSrcResource | ||
| 3479 | ); | ||
| 3480 | |||
| 3481 | void CopyTiles( | ||
| 3482 | [annotation("_In_")] ID3D12Resource* pTiledResource, | ||
| 3483 | [annotation("_In_")] const D3D12_TILED_RESOURCE_COORDINATE* pTileRegionStartCoordinate, | ||
| 3484 | [annotation("_In_")] const D3D12_TILE_REGION_SIZE* pTileRegionSize, | ||
| 3485 | [annotation("_In_")] ID3D12Resource* pBuffer, | ||
| 3486 | UINT64 BufferStartOffsetInBytes, | ||
| 3487 | D3D12_TILE_COPY_FLAGS Flags | ||
| 3488 | ); | ||
| 3489 | |||
| 3490 | void ResolveSubresource( | ||
| 3491 | [annotation("_In_")] ID3D12Resource* pDstResource, | ||
| 3492 | [annotation("_In_")] UINT DstSubresource, | ||
| 3493 | [annotation("_In_")] ID3D12Resource* pSrcResource, | ||
| 3494 | [annotation("_In_")] UINT SrcSubresource, | ||
| 3495 | [annotation("_In_")] DXGI_FORMAT Format | ||
| 3496 | ); | ||
| 3497 | |||
| 3498 | void IASetPrimitiveTopology( | ||
| 3499 | [annotation("_In_")] D3D12_PRIMITIVE_TOPOLOGY PrimitiveTopology | ||
| 3500 | ); | ||
| 3501 | |||
| 3502 | void RSSetViewports( | ||
| 3503 | [annotation("_In_range_(0, D3D12_VIEWPORT_AND_SCISSORRECT_OBJECT_COUNT_PER_PIPELINE)")] UINT NumViewports, | ||
| 3504 | [annotation("_In_reads_( NumViewports)")] const D3D12_VIEWPORT* pViewports | ||
| 3505 | ); | ||
| 3506 | |||
| 3507 | void RSSetScissorRects( | ||
| 3508 | [annotation("_In_range_(0, D3D12_VIEWPORT_AND_SCISSORRECT_OBJECT_COUNT_PER_PIPELINE)")] UINT NumRects, | ||
| 3509 | [annotation("_In_reads_( NumRects)")] const D3D12_RECT* pRects | ||
| 3510 | ); | ||
| 3511 | |||
| 3512 | void OMSetBlendFactor( | ||
| 3513 | [annotation("_In_reads_opt_(4)")] const FLOAT BlendFactor[ 4 ] | ||
| 3514 | ); | ||
| 3515 | |||
| 3516 | void OMSetStencilRef( | ||
| 3517 | [annotation("_In_")] UINT StencilRef | ||
| 3518 | ); | ||
| 3519 | |||
| 3520 | void SetPipelineState( | ||
| 3521 | [annotation("_In_")] ID3D12PipelineState* pPipelineState | ||
| 3522 | ); | ||
| 3523 | |||
| 3524 | void ResourceBarrier( | ||
| 3525 | [annotation("_In_")] UINT NumBarriers, | ||
| 3526 | [annotation("_In_reads_(NumBarriers)")] const D3D12_RESOURCE_BARRIER* pBarriers | ||
| 3527 | ); | ||
| 3528 | |||
| 3529 | void ExecuteBundle( | ||
| 3530 | [annotation("_In_")] ID3D12GraphicsCommandList* pCommandList | ||
| 3531 | ); | ||
| 3532 | |||
| 3533 | void SetDescriptorHeaps( | ||
| 3534 | [annotation("_In_")] UINT NumDescriptorHeaps, | ||
| 3535 | [annotation("_In_reads_(NumDescriptorHeaps)")] ID3D12DescriptorHeap* const* ppDescriptorHeaps | ||
| 3536 | ); | ||
| 3537 | |||
| 3538 | void SetComputeRootSignature( | ||
| 3539 | [annotation("_In_opt_")] ID3D12RootSignature* pRootSignature | ||
| 3540 | ); | ||
| 3541 | |||
| 3542 | void SetGraphicsRootSignature( | ||
| 3543 | [annotation("_In_opt_")] ID3D12RootSignature* pRootSignature | ||
| 3544 | ); | ||
| 3545 | |||
| 3546 | void SetComputeRootDescriptorTable( | ||
| 3547 | [annotation("_In_")] UINT RootParameterIndex, | ||
| 3548 | [annotation("_In_")] D3D12_GPU_DESCRIPTOR_HANDLE BaseDescriptor | ||
| 3549 | ); | ||
| 3550 | |||
| 3551 | void SetGraphicsRootDescriptorTable( | ||
| 3552 | [annotation("_In_")] UINT RootParameterIndex, | ||
| 3553 | [annotation("_In_")] D3D12_GPU_DESCRIPTOR_HANDLE BaseDescriptor | ||
| 3554 | ); | ||
| 3555 | |||
| 3556 | // Single constant | ||
| 3557 | void SetComputeRoot32BitConstant( | ||
| 3558 | [annotation("_In_")] UINT RootParameterIndex, | ||
| 3559 | [annotation("_In_")] UINT SrcData, | ||
| 3560 | [annotation("_In_")] UINT DestOffsetIn32BitValues | ||
| 3561 | ); | ||
| 3562 | |||
| 3563 | void SetGraphicsRoot32BitConstant( | ||
| 3564 | [annotation("_In_")] UINT RootParameterIndex, | ||
| 3565 | [annotation("_In_")] UINT SrcData, | ||
| 3566 | [annotation("_In_")] UINT DestOffsetIn32BitValues | ||
| 3567 | ); | ||
| 3568 | |||
| 3569 | // Group of constants | ||
| 3570 | void SetComputeRoot32BitConstants( | ||
| 3571 | [annotation("_In_")] UINT RootParameterIndex, | ||
| 3572 | [annotation("_In_")] UINT Num32BitValuesToSet, | ||
| 3573 | [annotation("_In_reads_(Num32BitValuesToSet*sizeof(UINT))")] const void* pSrcData, | ||
| 3574 | [annotation("_In_")] UINT DestOffsetIn32BitValues | ||
| 3575 | ); | ||
| 3576 | |||
| 3577 | void SetGraphicsRoot32BitConstants( | ||
| 3578 | [annotation("_In_")] UINT RootParameterIndex, | ||
| 3579 | [annotation("_In_")] UINT Num32BitValuesToSet, | ||
| 3580 | [annotation("_In_reads_(Num32BitValuesToSet*sizeof(UINT))")] const void* pSrcData, | ||
| 3581 | [annotation("_In_")] UINT DestOffsetIn32BitValues | ||
| 3582 | ); | ||
| 3583 | |||
| 3584 | // CBV | ||
| 3585 | void SetComputeRootConstantBufferView( | ||
| 3586 | [annotation("_In_")] UINT RootParameterIndex, | ||
| 3587 | [annotation("_In_")] D3D12_GPU_VIRTUAL_ADDRESS BufferLocation | ||
| 3588 | ); | ||
| 3589 | |||
| 3590 | void SetGraphicsRootConstantBufferView( | ||
| 3591 | [annotation("_In_")] UINT RootParameterIndex, | ||
| 3592 | [annotation("_In_")] D3D12_GPU_VIRTUAL_ADDRESS BufferLocation | ||
| 3593 | ); | ||
| 3594 | |||
| 3595 | // SRV | ||
| 3596 | void SetComputeRootShaderResourceView( | ||
| 3597 | [annotation("_In_")] UINT RootParameterIndex, | ||
| 3598 | [annotation("_In_")] D3D12_GPU_VIRTUAL_ADDRESS BufferLocation | ||
| 3599 | ); | ||
| 3600 | |||
| 3601 | void SetGraphicsRootShaderResourceView( | ||
| 3602 | [annotation("_In_")] UINT RootParameterIndex, | ||
| 3603 | [annotation("_In_")] D3D12_GPU_VIRTUAL_ADDRESS BufferLocation | ||
| 3604 | ); | ||
| 3605 | |||
| 3606 | // UAV | ||
| 3607 | void SetComputeRootUnorderedAccessView( | ||
| 3608 | [annotation("_In_")] UINT RootParameterIndex, | ||
| 3609 | [annotation("_In_")] D3D12_GPU_VIRTUAL_ADDRESS BufferLocation | ||
| 3610 | ); | ||
| 3611 | |||
| 3612 | void SetGraphicsRootUnorderedAccessView( | ||
| 3613 | [annotation("_In_")] UINT RootParameterIndex, | ||
| 3614 | [annotation("_In_")] D3D12_GPU_VIRTUAL_ADDRESS BufferLocation | ||
| 3615 | ); | ||
| 3616 | |||
| 3617 | void IASetIndexBuffer( | ||
| 3618 | [annotation("_In_opt_")] const D3D12_INDEX_BUFFER_VIEW* pView | ||
| 3619 | ); | ||
| 3620 | |||
| 3621 | void IASetVertexBuffers( | ||
| 3622 | [annotation("_In_")] UINT StartSlot, | ||
| 3623 | [annotation("_In_")] UINT NumViews, | ||
| 3624 | [annotation("_In_reads_opt_(NumViews)")] const D3D12_VERTEX_BUFFER_VIEW* pViews | ||
| 3625 | ); | ||
| 3626 | |||
| 3627 | void SOSetTargets( | ||
| 3628 | [annotation("_In_")] UINT StartSlot, | ||
| 3629 | [annotation("_In_")] UINT NumViews, | ||
| 3630 | [annotation("_In_reads_opt_(NumViews)")] const D3D12_STREAM_OUTPUT_BUFFER_VIEW* pViews | ||
| 3631 | ); | ||
| 3632 | |||
| 3633 | void OMSetRenderTargets( | ||
| 3634 | [annotation("_In_")] UINT NumRenderTargetDescriptors, | ||
| 3635 | [annotation("_In_opt_")] const D3D12_CPU_DESCRIPTOR_HANDLE* pRenderTargetDescriptors, | ||
| 3636 | [annotation("_In_")] BOOL RTsSingleHandleToDescriptorRange, | ||
| 3637 | [annotation("_In_opt_")] const D3D12_CPU_DESCRIPTOR_HANDLE* pDepthStencilDescriptor | ||
| 3638 | ); | ||
| 3639 | |||
| 3640 | void ClearDepthStencilView( | ||
| 3641 | [annotation("_In_")] D3D12_CPU_DESCRIPTOR_HANDLE DepthStencilView, | ||
| 3642 | [annotation("_In_")] D3D12_CLEAR_FLAGS ClearFlags, | ||
| 3643 | [annotation("_In_")] FLOAT Depth, | ||
| 3644 | [annotation("_In_")] UINT8 Stencil, | ||
| 3645 | [annotation("_In_")] UINT NumRects, | ||
| 3646 | [annotation("_In_reads_(NumRects)")] const D3D12_RECT* pRects | ||
| 3647 | ); | ||
| 3648 | |||
| 3649 | void ClearRenderTargetView( | ||
| 3650 | [annotation("_In_")] D3D12_CPU_DESCRIPTOR_HANDLE RenderTargetView, | ||
| 3651 | [annotation("_In_")] const FLOAT ColorRGBA[4], | ||
| 3652 | [annotation("_In_")] UINT NumRects, | ||
| 3653 | [annotation("_In_reads_(NumRects)")] const D3D12_RECT* pRects | ||
| 3654 | ); | ||
| 3655 | |||
| 3656 | void ClearUnorderedAccessViewUint( | ||
| 3657 | [annotation("_In_")] D3D12_GPU_DESCRIPTOR_HANDLE ViewGPUHandleInCurrentHeap, | ||
| 3658 | [annotation("_In_")] D3D12_CPU_DESCRIPTOR_HANDLE ViewCPUHandle, | ||
| 3659 | [annotation("_In_")] ID3D12Resource* pResource, | ||
| 3660 | [annotation("_In_")] const UINT Values[4], | ||
| 3661 | [annotation("_In_")] UINT NumRects, | ||
| 3662 | [annotation("_In_reads_(NumRects)")] const D3D12_RECT* pRects | ||
| 3663 | ); | ||
| 3664 | |||
| 3665 | void ClearUnorderedAccessViewFloat( | ||
| 3666 | [annotation("_In_")] D3D12_GPU_DESCRIPTOR_HANDLE ViewGPUHandleInCurrentHeap, | ||
| 3667 | [annotation("_In_")] D3D12_CPU_DESCRIPTOR_HANDLE ViewCPUHandle, | ||
| 3668 | [annotation("_In_")] ID3D12Resource* pResource, | ||
| 3669 | [annotation("_In_")] const FLOAT Values[4], | ||
| 3670 | [annotation("_In_")] UINT NumRects, | ||
| 3671 | [annotation("_In_reads_(NumRects)")] const D3D12_RECT* pRects | ||
| 3672 | ); | ||
| 3673 | |||
| 3674 | void DiscardResource( | ||
| 3675 | [annotation("_In_")] ID3D12Resource* pResource, | ||
| 3676 | [annotation("_In_opt_")] const D3D12_DISCARD_REGION* pRegion | ||
| 3677 | ); | ||
| 3678 | |||
| 3679 | void BeginQuery( | ||
| 3680 | [annotation("_In_")] ID3D12QueryHeap* pQueryHeap, | ||
| 3681 | [annotation("_In_")] D3D12_QUERY_TYPE Type, | ||
| 3682 | [annotation("_In_")] UINT Index | ||
| 3683 | ); | ||
| 3684 | |||
| 3685 | void EndQuery( | ||
| 3686 | [annotation("_In_")] ID3D12QueryHeap* pQueryHeap, | ||
| 3687 | [annotation("_In_")] D3D12_QUERY_TYPE Type, | ||
| 3688 | [annotation("_In_")] UINT Index | ||
| 3689 | ); | ||
| 3690 | |||
| 3691 | void ResolveQueryData( | ||
| 3692 | [annotation("_In_")] ID3D12QueryHeap* pQueryHeap, | ||
| 3693 | [annotation("_In_")] D3D12_QUERY_TYPE Type, | ||
| 3694 | [annotation("_In_")] UINT StartIndex, | ||
| 3695 | [annotation("_In_")] UINT NumQueries, | ||
| 3696 | [annotation("_In_")] ID3D12Resource* pDestinationBuffer, | ||
| 3697 | [annotation("_In_")] UINT64 AlignedDestinationBufferOffset | ||
| 3698 | ); | ||
| 3699 | |||
| 3700 | void SetPredication( | ||
| 3701 | [annotation("_In_opt_")] ID3D12Resource* pBuffer, | ||
| 3702 | [annotation("_In_")] UINT64 AlignedBufferOffset, | ||
| 3703 | [annotation("_In_")] D3D12_PREDICATION_OP Operation | ||
| 3704 | ); | ||
| 3705 | |||
| 3706 | void SetMarker(UINT Metadata, [annotation("_In_reads_bytes_opt_(Size)")] const void* pData, UINT Size); | ||
| 3707 | void BeginEvent(UINT Metadata, [annotation("_In_reads_bytes_opt_(Size)")] const void* pData, UINT Size); | ||
| 3708 | void EndEvent(); | ||
| 3709 | |||
| 3710 | void ExecuteIndirect( | ||
| 3711 | [annotation("_In_")] ID3D12CommandSignature* pCommandSignature, | ||
| 3712 | [annotation("_In_")] UINT MaxCommandCount, | ||
| 3713 | [annotation("_In_")] ID3D12Resource* pArgumentBuffer, | ||
| 3714 | [annotation("_In_")] UINT64 ArgumentBufferOffset, | ||
| 3715 | [annotation("_In_opt_")] ID3D12Resource* pCountBuffer, | ||
| 3716 | [annotation("_In_")] UINT64 CountBufferOffset | ||
| 3717 | ); | ||
| 3718 | } | ||
| 3719 | |||
| 3720 | [ uuid( 553103fb-1fe7-4557-bb38-946d7d0e7ca7 ), object, local, pointer_default( unique ) ] | ||
| 3721 | interface ID3D12GraphicsCommandList1 | ||
| 3722 | : ID3D12GraphicsCommandList | ||
| 3723 | { | ||
| 3724 | void AtomicCopyBufferUINT( | ||
| 3725 | [annotation("_In_")] ID3D12Resource* pDstBuffer, | ||
| 3726 | UINT64 DstOffset, | ||
| 3727 | [annotation("_In_")] ID3D12Resource* pSrcBuffer, | ||
| 3728 | UINT64 SrcOffset, | ||
| 3729 | UINT Dependencies, // 0 Dependencies means only the dst buffer offset is synchronized | ||
| 3730 | [annotation("_In_reads_(Dependencies)")] ID3D12Resource*const* ppDependentResources, | ||
| 3731 | [annotation("_In_reads_(Dependencies)")] const D3D12_SUBRESOURCE_RANGE_UINT64* pDependentSubresourceRanges | ||
| 3732 | ); | ||
| 3733 | |||
| 3734 | // UINT64 is only valid on UMA architectures | ||
| 3735 | void AtomicCopyBufferUINT64( | ||
| 3736 | [annotation("_In_")] ID3D12Resource* pDstBuffer, | ||
| 3737 | UINT64 DstOffset, | ||
| 3738 | [annotation("_In_")] ID3D12Resource* pSrcBuffer, | ||
| 3739 | UINT64 SrcOffset, | ||
| 3740 | UINT Dependencies, // 0 Dependencies means only the dst buffer offset is synchronized | ||
| 3741 | [annotation("_In_reads_(Dependencies)")] ID3D12Resource*const* ppDependentResources, | ||
| 3742 | [annotation("_In_reads_(Dependencies)")] const D3D12_SUBRESOURCE_RANGE_UINT64* pDependentSubresourceRanges | ||
| 3743 | ); | ||
| 3744 | |||
| 3745 | void OMSetDepthBounds( | ||
| 3746 | [annotation("_In_")] FLOAT Min, | ||
| 3747 | [annotation("_In_")] FLOAT Max | ||
| 3748 | ); | ||
| 3749 | |||
| 3750 | void SetSamplePositions( | ||
| 3751 | [annotation("_In_")] UINT NumSamplesPerPixel, | ||
| 3752 | [annotation("_In_")] UINT NumPixels, | ||
| 3753 | [annotation("_In_reads_(NumSamplesPerPixel*NumPixels)")] D3D12_SAMPLE_POSITION* pSamplePositions | ||
| 3754 | ); | ||
| 3755 | |||
| 3756 | void ResolveSubresourceRegion( | ||
| 3757 | [annotation("_In_")] ID3D12Resource* pDstResource, | ||
| 3758 | [annotation("_In_")] UINT DstSubresource, | ||
| 3759 | [annotation("_In_")] UINT DstX, | ||
| 3760 | [annotation("_In_")] UINT DstY, | ||
| 3761 | [annotation("_In_")] ID3D12Resource* pSrcResource, | ||
| 3762 | [annotation("_In_")] UINT SrcSubresource, | ||
| 3763 | [annotation("_In_opt_")] D3D12_RECT* pSrcRect, | ||
| 3764 | [annotation("_In_")] DXGI_FORMAT Format, | ||
| 3765 | [annotation("_In_")] D3D12_RESOLVE_MODE ResolveMode | ||
| 3766 | ); | ||
| 3767 | |||
| 3768 | void SetViewInstanceMask( | ||
| 3769 | [annotation("_In_")] UINT Mask | ||
| 3770 | ); | ||
| 3771 | |||
| 3772 | } | ||
| 3773 | |||
| 3774 | typedef struct D3D12_WRITEBUFFERIMMEDIATE_PARAMETER | ||
| 3775 | { | ||
| 3776 | D3D12_GPU_VIRTUAL_ADDRESS Dest; | ||
| 3777 | UINT32 Value; | ||
| 3778 | } D3D12_WRITEBUFFERIMMEDIATE_PARAMETER; | ||
| 3779 | |||
| 3780 | typedef enum D3D12_WRITEBUFFERIMMEDIATE_MODE | ||
| 3781 | { | ||
| 3782 | D3D12_WRITEBUFFERIMMEDIATE_MODE_DEFAULT = 0x0, | ||
| 3783 | D3D12_WRITEBUFFERIMMEDIATE_MODE_MARKER_IN = 0x1, | ||
| 3784 | D3D12_WRITEBUFFERIMMEDIATE_MODE_MARKER_OUT = 0x2, | ||
| 3785 | |||
| 3786 | } D3D12_WRITEBUFFERIMMEDIATE_MODE; | ||
| 3787 | |||
| 3788 | [uuid(38C3E585-FF17-412C-9150-4FC6F9D72A28), object, local, pointer_default(unique)] | ||
| 3789 | interface ID3D12GraphicsCommandList2 : ID3D12GraphicsCommandList1 | ||
| 3790 | { | ||
| 3791 | void WriteBufferImmediate( | ||
| 3792 | UINT Count, | ||
| 3793 | [annotation("_In_reads_(Count)")] const D3D12_WRITEBUFFERIMMEDIATE_PARAMETER *pParams, | ||
| 3794 | [annotation("_In_reads_opt_(Count)")] const D3D12_WRITEBUFFERIMMEDIATE_MODE *pModes | ||
| 3795 | ); | ||
| 3796 | } | ||
| 3797 | |||
| 3798 | [ uuid( 0ec870a6-5d7e-4c22-8cfc-5baae07616ed ), object, local, pointer_default( unique ) ] | ||
| 3799 | interface ID3D12CommandQueue | ||
| 3800 | : ID3D12Pageable | ||
| 3801 | { | ||
| 3802 | void UpdateTileMappings( | ||
| 3803 | [annotation("_In_")] ID3D12Resource* pResource, | ||
| 3804 | UINT NumResourceRegions, | ||
| 3805 | [annotation("_In_reads_opt_(NumResourceRegions)")] const D3D12_TILED_RESOURCE_COORDINATE* pResourceRegionStartCoordinates, | ||
| 3806 | [annotation("_In_reads_opt_(NumResourceRegions)")] const D3D12_TILE_REGION_SIZE* pResourceRegionSizes, | ||
| 3807 | [annotation("_In_opt_")] ID3D12Heap* pHeap, | ||
| 3808 | UINT NumRanges, | ||
| 3809 | [annotation("_In_reads_opt_(NumRanges)")] const D3D12_TILE_RANGE_FLAGS* pRangeFlags, | ||
| 3810 | [annotation("_In_reads_opt_(NumRanges)")] const UINT* pHeapRangeStartOffsets, | ||
| 3811 | [annotation("_In_reads_opt_(NumRanges)")] const UINT* pRangeTileCounts, | ||
| 3812 | D3D12_TILE_MAPPING_FLAGS Flags ); | ||
| 3813 | |||
| 3814 | void CopyTileMappings( | ||
| 3815 | [annotation("_In_")] ID3D12Resource* pDstResource, | ||
| 3816 | [annotation("_In_")] const D3D12_TILED_RESOURCE_COORDINATE* pDstRegionStartCoordinate, | ||
| 3817 | [annotation("_In_")] ID3D12Resource* pSrcResource, | ||
| 3818 | [annotation("_In_")] const D3D12_TILED_RESOURCE_COORDINATE* pSrcRegionStartCoordinate, | ||
| 3819 | [annotation("_In_")] const D3D12_TILE_REGION_SIZE* pRegionSize, | ||
| 3820 | D3D12_TILE_MAPPING_FLAGS Flags ); | ||
| 3821 | |||
| 3822 | void ExecuteCommandLists( | ||
| 3823 | [annotation("_In_")] UINT NumCommandLists, | ||
| 3824 | [annotation("_In_reads_(NumCommandLists)")] ID3D12CommandList * const * ppCommandLists | ||
| 3825 | ); | ||
| 3826 | |||
| 3827 | void SetMarker(UINT Metadata, [annotation("_In_reads_bytes_opt_(Size)")] const void* pData, UINT Size); | ||
| 3828 | void BeginEvent(UINT Metadata, [annotation("_In_reads_bytes_opt_(Size)")] const void* pData, UINT Size); | ||
| 3829 | void EndEvent(); | ||
| 3830 | |||
| 3831 | HRESULT Signal(ID3D12Fence* pFence, UINT64 Value); | ||
| 3832 | HRESULT Wait(ID3D12Fence* pFence, UINT64 Value); | ||
| 3833 | |||
| 3834 | HRESULT GetTimestampFrequency( | ||
| 3835 | [annotation("_Out_")] UINT64* pFrequency | ||
| 3836 | ); | ||
| 3837 | |||
| 3838 | HRESULT GetClockCalibration( | ||
| 3839 | [annotation("_Out_")] UINT64* pGpuTimestamp, | ||
| 3840 | [annotation("_Out_")] UINT64* pCpuTimestamp | ||
| 3841 | ); | ||
| 3842 | |||
| 3843 | D3D12_COMMAND_QUEUE_DESC GetDesc(); | ||
| 3844 | } | ||
| 3845 | |||
| 3846 | // | ||
| 3847 | // Dynamic priority command queue features start | ||
| 3848 | // | ||
| 3849 | |||
| 3850 | typedef struct D3D12_FEATURE_DATA_HARDWARE_SCHEDULING_QUEUE_GROUPINGS | ||
| 3851 | { | ||
| 3852 | [annotation("_Out_")] UINT ComputeQueuesPer3DQueue; // 0 means scheduling groups do not group multiple queues. | ||
| 3853 | } D3D12_FEATURE_DATA_HARDWARE_SCHEDULING_QUEUE_GROUPINGS; | ||
| 3854 | |||
| 3855 | typedef enum D3D12_COMMAND_QUEUE_PROCESS_PRIORITY | ||
| 3856 | { | ||
| 3857 | D3D12_COMMAND_QUEUE_PROCESS_PRIORITY_NORMAL = 0, | ||
| 3858 | D3D12_COMMAND_QUEUE_PROCESS_PRIORITY_HIGH = 1, | ||
| 3859 | } D3D12_COMMAND_QUEUE_PROCESS_PRIORITY; | ||
| 3860 | |||
| 3861 | typedef enum D3D12_COMMAND_QUEUE_GLOBAL_PRIORITY | ||
| 3862 | { | ||
| 3863 | D3D12_COMMAND_QUEUE_GLOBAL_PRIORITY_IDLE = 0, | ||
| 3864 | D3D12_COMMAND_QUEUE_GLOBAL_PRIORITY_DEFAULT = 1, | ||
| 3865 | D3D12_COMMAND_QUEUE_GLOBAL_PRIORITY_NORMAL_0 = 2, | ||
| 3866 | |||
| 3867 | D3D12_COMMAND_QUEUE_GLOBAL_PRIORITY_SOFT_REALTIME_0 = 18, | ||
| 3868 | D3D12_COMMAND_QUEUE_GLOBAL_PRIORITY_SOFT_REALTIME_1 = 19, | ||
| 3869 | D3D12_COMMAND_QUEUE_GLOBAL_PRIORITY_SOFT_REALTIME_2 = 20, | ||
| 3870 | D3D12_COMMAND_QUEUE_GLOBAL_PRIORITY_SOFT_REALTIME_3 = 21, | ||
| 3871 | D3D12_COMMAND_QUEUE_GLOBAL_PRIORITY_SOFT_REALTIME_4 = 22, | ||
| 3872 | D3D12_COMMAND_QUEUE_GLOBAL_PRIORITY_SOFT_REALTIME_5 = 23, | ||
| 3873 | D3D12_COMMAND_QUEUE_GLOBAL_PRIORITY_SOFT_REALTIME_6 = 24, | ||
| 3874 | D3D12_COMMAND_QUEUE_GLOBAL_PRIORITY_SOFT_REALTIME_7 = 25, | ||
| 3875 | D3D12_COMMAND_QUEUE_GLOBAL_PRIORITY_SOFT_REALTIME_8 = 26, | ||
| 3876 | D3D12_COMMAND_QUEUE_GLOBAL_PRIORITY_SOFT_REALTIME_9 = 27, | ||
| 3877 | D3D12_COMMAND_QUEUE_GLOBAL_PRIORITY_SOFT_REALTIME_10 = 28, | ||
| 3878 | D3D12_COMMAND_QUEUE_GLOBAL_PRIORITY_SOFT_REALTIME_11 = 29, | ||
| 3879 | D3D12_COMMAND_QUEUE_GLOBAL_PRIORITY_SOFT_REALTIME_12 = 30, | ||
| 3880 | D3D12_COMMAND_QUEUE_GLOBAL_PRIORITY_SOFT_REALTIME_13 = 31, | ||
| 3881 | |||
| 3882 | D3D12_COMMAND_QUEUE_GLOBAL_PRIORITY_HARD_REALTIME = 32, | ||
| 3883 | } D3D12_COMMAND_QUEUE_GLOBAL_PRIORITY; | ||
| 3884 | |||
| 3885 | [uuid(3a3c3165-0ee7-4b8e-a0af-6356b4c3bbb9), object, local, pointer_default(unique)] | ||
| 3886 | interface ID3D12CommandQueue1 | ||
| 3887 | : ID3D12CommandQueue | ||
| 3888 | { | ||
| 3889 | HRESULT SetProcessPriority(D3D12_COMMAND_QUEUE_PROCESS_PRIORITY Priority); | ||
| 3890 | HRESULT GetProcessPriority(D3D12_COMMAND_QUEUE_PROCESS_PRIORITY* pOutValue); | ||
| 3891 | |||
| 3892 | HRESULT SetGlobalPriority(D3D12_COMMAND_QUEUE_GLOBAL_PRIORITY Priority); | ||
| 3893 | HRESULT GetGlobalPriority(D3D12_COMMAND_QUEUE_GLOBAL_PRIORITY* pOutValue); | ||
| 3894 | } | ||
| 3895 | |||
| 3896 | // | ||
| 3897 | // Dynamic priority command queue features end | ||
| 3898 | // | ||
| 3899 | |||
| 3900 | |||
| 3901 | [ uuid( 189819f1-1db6-4b57-be54-1821339b85f7 ), object, local, pointer_default( unique ) ] | ||
| 3902 | interface ID3D12Device | ||
| 3903 | : ID3D12Object | ||
| 3904 | { | ||
| 3905 | UINT GetNodeCount(); | ||
| 3906 | |||
| 3907 | HRESULT CreateCommandQueue( | ||
| 3908 | [annotation("_In_")] const D3D12_COMMAND_QUEUE_DESC* pDesc, | ||
| 3909 | [in] REFIID riid, // Expected: ID3D12CommandQueue | ||
| 3910 | [out, iid_is(riid), annotation("_COM_Outptr_")] void** ppCommandQueue | ||
| 3911 | ); | ||
| 3912 | |||
| 3913 | HRESULT CreateCommandAllocator( | ||
| 3914 | [annotation("_In_")] D3D12_COMMAND_LIST_TYPE type, | ||
| 3915 | [in] REFIID riid, // Expected: ID3D12CommandAllocator | ||
| 3916 | [out, iid_is(riid), annotation("_COM_Outptr_")] void** ppCommandAllocator | ||
| 3917 | ); | ||
| 3918 | |||
| 3919 | HRESULT CreateGraphicsPipelineState( | ||
| 3920 | [annotation("_In_")] const D3D12_GRAPHICS_PIPELINE_STATE_DESC* pDesc, | ||
| 3921 | [in] REFIID riid, // Expected: ID3D12PipelineState | ||
| 3922 | [out, iid_is(riid), annotation("_COM_Outptr_")] void** ppPipelineState | ||
| 3923 | ); | ||
| 3924 | |||
| 3925 | HRESULT CreateComputePipelineState( | ||
| 3926 | [annotation("_In_")] const D3D12_COMPUTE_PIPELINE_STATE_DESC* pDesc, | ||
| 3927 | [in] REFIID riid, // Expected: ID3D12PipelineState | ||
| 3928 | [out, iid_is(riid), annotation("_COM_Outptr_")] void** ppPipelineState | ||
| 3929 | ); | ||
| 3930 | |||
| 3931 | HRESULT CreateCommandList( | ||
| 3932 | [annotation("_In_")] UINT nodeMask, | ||
| 3933 | [annotation("_In_")] D3D12_COMMAND_LIST_TYPE type, | ||
| 3934 | [annotation("_In_")] ID3D12CommandAllocator* pCommandAllocator, | ||
| 3935 | [annotation("_In_opt_")] ID3D12PipelineState* pInitialState, | ||
| 3936 | [in] REFIID riid, // Expected: ID3D12CommandList | ||
| 3937 | [out, iid_is(riid), annotation("_COM_Outptr_")] void** ppCommandList | ||
| 3938 | ); | ||
| 3939 | |||
| 3940 | HRESULT CheckFeatureSupport( | ||
| 3941 | D3D12_FEATURE Feature, | ||
| 3942 | [annotation("_Inout_updates_bytes_(FeatureSupportDataSize)")] void* pFeatureSupportData, | ||
| 3943 | UINT FeatureSupportDataSize | ||
| 3944 | ); | ||
| 3945 | |||
| 3946 | HRESULT CreateDescriptorHeap( | ||
| 3947 | [annotation("_In_")] const D3D12_DESCRIPTOR_HEAP_DESC* pDescriptorHeapDesc, | ||
| 3948 | [in] REFIID riid, // Expected ID3D12DescriptorHeap | ||
| 3949 | [out, iid_is(riid), annotation("_COM_Outptr_")] void** ppvHeap); | ||
| 3950 | |||
| 3951 | UINT GetDescriptorHandleIncrementSize( | ||
| 3952 | [annotation("_In_")] D3D12_DESCRIPTOR_HEAP_TYPE DescriptorHeapType); | ||
| 3953 | |||
| 3954 | HRESULT CreateRootSignature( | ||
| 3955 | [annotation("_In_")] UINT nodeMask, | ||
| 3956 | [annotation("_In_reads_(blobLengthInBytes)")] const void* pBlobWithRootSignature, | ||
| 3957 | [annotation("_In_")] SIZE_T blobLengthInBytes, | ||
| 3958 | [in] REFIID riid, // Expected ID3D12RootSignature | ||
| 3959 | [out, iid_is(riid), annotation("_COM_Outptr_")] void** ppvRootSignature); | ||
| 3960 | |||
| 3961 | void CreateConstantBufferView( | ||
| 3962 | [annotation("_In_opt_")] const D3D12_CONSTANT_BUFFER_VIEW_DESC* pDesc, | ||
| 3963 | [annotation("_In_")] D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor); | ||
| 3964 | |||
| 3965 | void CreateShaderResourceView( | ||
| 3966 | [annotation("_In_opt_")] ID3D12Resource* pResource, | ||
| 3967 | [annotation("_In_opt_")] const D3D12_SHADER_RESOURCE_VIEW_DESC* pDesc, | ||
| 3968 | [annotation("_In_")] D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor); | ||
| 3969 | |||
| 3970 | void CreateUnorderedAccessView( | ||
| 3971 | [annotation("_In_opt_")] ID3D12Resource* pResource, | ||
| 3972 | [annotation("_In_opt_")] ID3D12Resource* pCounterResource, | ||
| 3973 | [annotation("_In_opt_")] const D3D12_UNORDERED_ACCESS_VIEW_DESC* pDesc, | ||
| 3974 | [annotation("_In_")] D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor); | ||
| 3975 | |||
| 3976 | void CreateRenderTargetView( | ||
| 3977 | [annotation("_In_opt_")] ID3D12Resource* pResource, | ||
| 3978 | [annotation("_In_opt_")] const D3D12_RENDER_TARGET_VIEW_DESC* pDesc, | ||
| 3979 | [annotation("_In_")] D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor); | ||
| 3980 | |||
| 3981 | void CreateDepthStencilView( | ||
| 3982 | [annotation("_In_opt_")] ID3D12Resource* pResource, | ||
| 3983 | [annotation("_In_opt_")] const D3D12_DEPTH_STENCIL_VIEW_DESC* pDesc, | ||
| 3984 | [annotation("_In_")] D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor); | ||
| 3985 | |||
| 3986 | void CreateSampler( | ||
| 3987 | [annotation("_In_")] const D3D12_SAMPLER_DESC* pDesc, | ||
| 3988 | [annotation("_In_")] D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor); | ||
| 3989 | |||
| 3990 | void CopyDescriptors( | ||
| 3991 | [annotation("_In_")] UINT NumDestDescriptorRanges, | ||
| 3992 | [annotation("_In_reads_(NumDestDescriptorRanges)")] const D3D12_CPU_DESCRIPTOR_HANDLE* pDestDescriptorRangeStarts, | ||
| 3993 | [annotation("_In_reads_opt_(NumDestDescriptorRanges)")] const UINT* pDestDescriptorRangeSizes, // NULL means all ranges 1 | ||
| 3994 | [annotation("_In_")] UINT NumSrcDescriptorRanges, | ||
| 3995 | [annotation("_In_reads_(NumSrcDescriptorRanges)")] const D3D12_CPU_DESCRIPTOR_HANDLE* pSrcDescriptorRangeStarts, | ||
| 3996 | [annotation("_In_reads_opt_(NumSrcDescriptorRanges)")] const UINT* pSrcDescriptorRangeSizes, // NULL means all ranges 1 | ||
| 3997 | [annotation("_In_")] D3D12_DESCRIPTOR_HEAP_TYPE DescriptorHeapsType); | ||
| 3998 | |||
| 3999 | void CopyDescriptorsSimple( | ||
| 4000 | [annotation("_In_")] UINT NumDescriptors, | ||
| 4001 | [annotation("_In_")] D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptorRangeStart, | ||
| 4002 | [annotation("_In_")] D3D12_CPU_DESCRIPTOR_HANDLE SrcDescriptorRangeStart, | ||
| 4003 | [annotation("_In_")] D3D12_DESCRIPTOR_HEAP_TYPE DescriptorHeapsType); | ||
| 4004 | |||
| 4005 | D3D12_RESOURCE_ALLOCATION_INFO GetResourceAllocationInfo( | ||
| 4006 | [annotation("_In_")] UINT visibleMask, | ||
| 4007 | [annotation("_In_")] UINT numResourceDescs, | ||
| 4008 | [annotation("_In_reads_(numResourceDescs)")] const D3D12_RESOURCE_DESC* pResourceDescs ); | ||
| 4009 | |||
| 4010 | D3D12_HEAP_PROPERTIES GetCustomHeapProperties( | ||
| 4011 | [annotation("_In_")] UINT nodeMask, | ||
| 4012 | D3D12_HEAP_TYPE heapType | ||
| 4013 | ); | ||
| 4014 | |||
| 4015 | HRESULT CreateCommittedResource( | ||
| 4016 | [annotation("_In_")] const D3D12_HEAP_PROPERTIES* pHeapProperties, | ||
| 4017 | D3D12_HEAP_FLAGS HeapFlags, | ||
| 4018 | [annotation("_In_")] const D3D12_RESOURCE_DESC* pDesc, | ||
| 4019 | D3D12_RESOURCE_STATES InitialResourceState, | ||
| 4020 | [annotation("_In_opt_")] const D3D12_CLEAR_VALUE* pOptimizedClearValue, | ||
| 4021 | [in] REFIID riidResource, // Expected: ID3D12Resource* | ||
| 4022 | [out, iid_is(riidResource), annotation("_COM_Outptr_opt_")] void** ppvResource ); | ||
| 4023 | |||
| 4024 | HRESULT CreateHeap( | ||
| 4025 | [annotation("_In_")] const D3D12_HEAP_DESC* pDesc, | ||
| 4026 | [in] REFIID riid, // Expected: ID3D12Heap* | ||
| 4027 | [out, iid_is(riid), annotation("_COM_Outptr_opt_")] void** ppvHeap ); | ||
| 4028 | |||
| 4029 | HRESULT CreatePlacedResource( | ||
| 4030 | [annotation("_In_")] ID3D12Heap* pHeap, | ||
| 4031 | UINT64 HeapOffset, | ||
| 4032 | [annotation("_In_")] const D3D12_RESOURCE_DESC* pDesc, | ||
| 4033 | D3D12_RESOURCE_STATES InitialState, | ||
| 4034 | [annotation("_In_opt_")] const D3D12_CLEAR_VALUE* pOptimizedClearValue, | ||
| 4035 | [in] REFIID riid, // Expected: ID3D12Resource* | ||
| 4036 | [out, iid_is(riid), annotation("_COM_Outptr_opt_")] void** ppvResource ); | ||
| 4037 | |||
| 4038 | HRESULT CreateReservedResource( | ||
| 4039 | [annotation("_In_")] const D3D12_RESOURCE_DESC* pDesc, | ||
| 4040 | D3D12_RESOURCE_STATES InitialState, | ||
| 4041 | [annotation("_In_opt_")] const D3D12_CLEAR_VALUE* pOptimizedClearValue, | ||
| 4042 | [in] REFIID riid, // Expected: ID3D12Resource* | ||
| 4043 | [out, iid_is(riid), annotation("_COM_Outptr_opt_")] void** ppvResource ); | ||
| 4044 | |||
| 4045 | HRESULT CreateSharedHandle( | ||
| 4046 | [annotation("_In_")] ID3D12DeviceChild* pObject, | ||
| 4047 | [annotation("_In_opt_")] const SECURITY_ATTRIBUTES* pAttributes, | ||
| 4048 | DWORD Access, | ||
| 4049 | [annotation("_In_opt_")] LPCWSTR Name, | ||
| 4050 | [annotation("_Out_")] HANDLE* pHandle ); | ||
| 4051 | |||
| 4052 | HRESULT OpenSharedHandle( | ||
| 4053 | [annotation("_In_")] HANDLE NTHandle, | ||
| 4054 | [in] REFIID riid, // Expected: ID3D12Resource*, ID3D12Heap*, or ID3D12Fence | ||
| 4055 | [out, iid_is(riid), annotation("_COM_Outptr_opt_")] void** ppvObj ); | ||
| 4056 | |||
| 4057 | HRESULT OpenSharedHandleByName( | ||
| 4058 | [annotation("_In_")] LPCWSTR Name, | ||
| 4059 | DWORD Access, | ||
| 4060 | [out, annotation("_Out_")] HANDLE* pNTHandle ); | ||
| 4061 | |||
| 4062 | HRESULT MakeResident( | ||
| 4063 | UINT NumObjects, | ||
| 4064 | [annotation("_In_reads_(NumObjects)")] ID3D12Pageable*const* ppObjects ); | ||
| 4065 | |||
| 4066 | HRESULT Evict( | ||
| 4067 | UINT NumObjects, | ||
| 4068 | [annotation("_In_reads_(NumObjects)")] ID3D12Pageable*const* ppObjects ); | ||
| 4069 | |||
| 4070 | HRESULT CreateFence( | ||
| 4071 | UINT64 InitialValue, | ||
| 4072 | D3D12_FENCE_FLAGS Flags, | ||
| 4073 | [in] REFIID riid, // Expected: ID3D12Fence | ||
| 4074 | [out, iid_is(riid), annotation("_COM_Outptr_")] void** ppFence); | ||
| 4075 | |||
| 4076 | HRESULT GetDeviceRemovedReason(); | ||
| 4077 | |||
| 4078 | void GetCopyableFootprints( | ||
| 4079 | [annotation("_In_")] const D3D12_RESOURCE_DESC* pResourceDesc, | ||
| 4080 | [annotation("_In_range_(0,D3D12_REQ_SUBRESOURCES)")] UINT FirstSubresource, | ||
| 4081 | [annotation("_In_range_(0,D3D12_REQ_SUBRESOURCES-FirstSubresource)")] UINT NumSubresources, | ||
| 4082 | UINT64 BaseOffset, | ||
| 4083 | [annotation("_Out_writes_opt_(NumSubresources)")] D3D12_PLACED_SUBRESOURCE_FOOTPRINT* pLayouts, | ||
| 4084 | [annotation("_Out_writes_opt_(NumSubresources)")] UINT* pNumRows, | ||
| 4085 | [annotation("_Out_writes_opt_(NumSubresources)")] UINT64* pRowSizeInBytes, | ||
| 4086 | [annotation("_Out_opt_")] UINT64* pTotalBytes ); | ||
| 4087 | |||
| 4088 | HRESULT CreateQueryHeap( | ||
| 4089 | [annotation("_In_")] const D3D12_QUERY_HEAP_DESC* pDesc, | ||
| 4090 | [in] REFIID riid, // Expected: ID3D12QueryHeap | ||
| 4091 | [out, iid_is(riid), annotation("_COM_Outptr_opt_")] void** ppvHeap | ||
| 4092 | ); | ||
| 4093 | |||
| 4094 | HRESULT SetStablePowerState(BOOL Enable); | ||
| 4095 | |||
| 4096 | HRESULT CreateCommandSignature( | ||
| 4097 | [annotation("_In_")] const D3D12_COMMAND_SIGNATURE_DESC* pDesc, | ||
| 4098 | [annotation("_In_opt_")] ID3D12RootSignature* pRootSignature, | ||
| 4099 | [in] REFIID riid, // Expected: ID3D12CommandSignature | ||
| 4100 | [out, iid_is(riid), annotation("_COM_Outptr_opt_")] void** ppvCommandSignature | ||
| 4101 | ); | ||
| 4102 | |||
| 4103 | void GetResourceTiling( | ||
| 4104 | [annotation("_In_")] ID3D12Resource* pTiledResource, | ||
| 4105 | [annotation("_Out_opt_")] UINT* pNumTilesForEntireResource, | ||
| 4106 | [annotation("_Out_opt_")] D3D12_PACKED_MIP_INFO* pPackedMipDesc, | ||
| 4107 | [annotation("_Out_opt_")] D3D12_TILE_SHAPE* pStandardTileShapeForNonPackedMips, | ||
| 4108 | [annotation("_Inout_opt_")] UINT* pNumSubresourceTilings, | ||
| 4109 | [annotation("_In_")] UINT FirstSubresourceTilingToGet, | ||
| 4110 | [annotation("_Out_writes_(*pNumSubresourceTilings)")] D3D12_SUBRESOURCE_TILING* pSubresourceTilingsForNonPackedMips | ||
| 4111 | ); | ||
| 4112 | |||
| 4113 | LUID GetAdapterLuid(); | ||
| 4114 | } | ||
| 4115 | |||
| 4116 | // D3D12 Revision 1 | ||
| 4117 | [ uuid( c64226a8-9201-46af-b4cc-53fb9ff7414f ), object, local, pointer_default( unique ) ] | ||
| 4118 | interface ID3D12PipelineLibrary | ||
| 4119 | : ID3D12DeviceChild | ||
| 4120 | { | ||
| 4121 | HRESULT StorePipeline( | ||
| 4122 | [annotation("_In_opt_")] LPCWSTR pName, | ||
| 4123 | [annotation("_In_")] ID3D12PipelineState *pPipeline | ||
| 4124 | ); | ||
| 4125 | |||
| 4126 | HRESULT LoadGraphicsPipeline( | ||
| 4127 | [annotation("_In_")] LPCWSTR pName, | ||
| 4128 | [annotation("_In_")] const D3D12_GRAPHICS_PIPELINE_STATE_DESC* pDesc, | ||
| 4129 | [in] REFIID riid, // Expected: ID3D12PipelineState | ||
| 4130 | [out, iid_is(riid), annotation("_COM_Outptr_")] void** ppPipelineState | ||
| 4131 | ); | ||
| 4132 | |||
| 4133 | HRESULT LoadComputePipeline( | ||
| 4134 | [annotation("_In_")] LPCWSTR pName, | ||
| 4135 | [annotation("_In_")] const D3D12_COMPUTE_PIPELINE_STATE_DESC* pDesc, | ||
| 4136 | [in] REFIID riid, // Expected: ID3D12PipelineState | ||
| 4137 | [out, iid_is(riid), annotation("_COM_Outptr_")] void** ppPipelineState | ||
| 4138 | ); | ||
| 4139 | |||
| 4140 | SIZE_T GetSerializedSize(); | ||
| 4141 | |||
| 4142 | HRESULT Serialize( | ||
| 4143 | [annotation("_Out_writes_(DataSizeInBytes)")] void* pData, | ||
| 4144 | SIZE_T DataSizeInBytes | ||
| 4145 | ); | ||
| 4146 | } | ||
| 4147 | |||
| 4148 | // Pipeline State v2 | ||
| 4149 | [ uuid( 80eabf42-2568-4e5e-bd82-c37f86961dc3 ), object, local, pointer_default( unique ) ] | ||
| 4150 | interface ID3D12PipelineLibrary1 | ||
| 4151 | : ID3D12PipelineLibrary | ||
| 4152 | { | ||
| 4153 | HRESULT LoadPipeline( | ||
| 4154 | [annotation("_In_")] LPCWSTR pName, | ||
| 4155 | [annotation("_In_")] const D3D12_PIPELINE_STATE_STREAM_DESC* pDesc, | ||
| 4156 | [in] REFIID riid, // Expected: ID3D12PipelineState | ||
| 4157 | [out, iid_is(riid), annotation("_COM_Outptr_")] void** ppPipelineState | ||
| 4158 | ); | ||
| 4159 | } | ||
| 4160 | |||
| 4161 | typedef enum D3D12_MULTIPLE_FENCE_WAIT_FLAGS | ||
| 4162 | { | ||
| 4163 | D3D12_MULTIPLE_FENCE_WAIT_FLAG_NONE = 0x0, | ||
| 4164 | D3D12_MULTIPLE_FENCE_WAIT_FLAG_ANY = 0x1, | ||
| 4165 | |||
| 4166 | D3D12_MULTIPLE_FENCE_WAIT_FLAG_ALL = 0x0, // Alias, default behavior is ALL | ||
| 4167 | } D3D12_MULTIPLE_FENCE_WAIT_FLAGS; | ||
| 4168 | cpp_quote( "DEFINE_ENUM_FLAG_OPERATORS( D3D12_MULTIPLE_FENCE_WAIT_FLAGS )" ) | ||
| 4169 | |||
| 4170 | // Applications may use the whole value range of UINT for a priority. | ||
| 4171 | // These names are merely semantic suggestions. | ||
| 4172 | typedef enum D3D12_RESIDENCY_PRIORITY | ||
| 4173 | { | ||
| 4174 | D3D12_RESIDENCY_PRIORITY_MINIMUM = 0x28000000, | ||
| 4175 | D3D12_RESIDENCY_PRIORITY_LOW = 0x50000000, | ||
| 4176 | D3D12_RESIDENCY_PRIORITY_NORMAL = 0x78000000, | ||
| 4177 | D3D12_RESIDENCY_PRIORITY_HIGH = 0xa0010000, | ||
| 4178 | D3D12_RESIDENCY_PRIORITY_MAXIMUM = 0xc8000000, | ||
| 4179 | } D3D12_RESIDENCY_PRIORITY; | ||
| 4180 | |||
| 4181 | [uuid(77acce80-638e-4e65-8895-c1f23386863e), object, local, pointer_default(unique)] | ||
| 4182 | interface ID3D12Device1 | ||
| 4183 | : ID3D12Device | ||
| 4184 | { | ||
| 4185 | HRESULT CreatePipelineLibrary( | ||
| 4186 | [annotation("_In_reads_(BlobLength)")] const void *pLibraryBlob, | ||
| 4187 | SIZE_T BlobLength, | ||
| 4188 | [in] REFIID riid, // Expected: ID3D12PipelineLibrary | ||
| 4189 | [out, iid_is(riid), annotation("_COM_Outptr_")] void** ppPipelineLibrary | ||
| 4190 | ); | ||
| 4191 | |||
| 4192 | HRESULT SetEventOnMultipleFenceCompletion( | ||
| 4193 | [annotation("_In_reads_(NumFences)")] ID3D12Fence* const* ppFences, | ||
| 4194 | [annotation("_In_reads_(NumFences)")] const UINT64* pFenceValues, | ||
| 4195 | UINT NumFences, | ||
| 4196 | D3D12_MULTIPLE_FENCE_WAIT_FLAGS Flags, | ||
| 4197 | HANDLE hEvent | ||
| 4198 | ); | ||
| 4199 | |||
| 4200 | HRESULT SetResidencyPriority( | ||
| 4201 | UINT NumObjects, | ||
| 4202 | [annotation("_In_reads_(NumObjects)")] ID3D12Pageable*const* ppObjects, | ||
| 4203 | [annotation("_In_reads_(NumObjects)")] const D3D12_RESIDENCY_PRIORITY* pPriorities ); | ||
| 4204 | } | ||
| 4205 | |||
| 4206 | [uuid(30baa41e-b15b-475c-a0bb-1af5c5b64328), object, local, pointer_default(unique)] | ||
| 4207 | interface ID3D12Device2 | ||
| 4208 | : ID3D12Device1 | ||
| 4209 | { | ||
| 4210 | HRESULT CreatePipelineState( | ||
| 4211 | [in] const D3D12_PIPELINE_STATE_STREAM_DESC* pDesc, | ||
| 4212 | [in] REFIID riid, // Can be any pipeline state interface, provided the pipeline subobjects match | ||
| 4213 | [out, iid_is(riid), annotation("_COM_Outptr_")] void** ppPipelineState | ||
| 4214 | ); | ||
| 4215 | } | ||
| 4216 | |||
| 4217 | typedef enum D3D12_RESIDENCY_FLAGS | ||
| 4218 | { | ||
| 4219 | D3D12_RESIDENCY_FLAG_NONE = 0x0, | ||
| 4220 | D3D12_RESIDENCY_FLAG_DENY_OVERBUDGET = 0x1, | ||
| 4221 | } D3D12_RESIDENCY_FLAGS; | ||
| 4222 | cpp_quote( "DEFINE_ENUM_FLAG_OPERATORS( D3D12_RESIDENCY_FLAGS )" ) | ||
| 4223 | |||
| 4224 | [uuid(81dadc15-2bad-4392-93c5-101345c4aa98), object, local, pointer_default(unique)] | ||
| 4225 | interface ID3D12Device3 | ||
| 4226 | : ID3D12Device2 | ||
| 4227 | { | ||
| 4228 | HRESULT OpenExistingHeapFromAddress( | ||
| 4229 | [annotation("_In_")] const void* pAddress, | ||
| 4230 | [in] REFIID riid, // Expected: ID3D12Heap | ||
| 4231 | [out, iid_is(riid), annotation("_COM_Outptr_")] void** ppvHeap | ||
| 4232 | ); | ||
| 4233 | HRESULT OpenExistingHeapFromFileMapping( | ||
| 4234 | [annotation("_In_")] HANDLE hFileMapping, | ||
| 4235 | [in] REFIID riid, // Expected: ID3D12Heap | ||
| 4236 | [out, iid_is(riid), annotation("_COM_Outptr_")] void** ppvHeap | ||
| 4237 | ); | ||
| 4238 | HRESULT EnqueueMakeResident( | ||
| 4239 | D3D12_RESIDENCY_FLAGS Flags, | ||
| 4240 | UINT NumObjects, | ||
| 4241 | [annotation("_In_reads_(NumObjects)")] ID3D12Pageable*const* ppObjects, | ||
| 4242 | [annotation("_In_")] ID3D12Fence* pFenceToSignal, | ||
| 4243 | UINT64 FenceValueToSignal | ||
| 4244 | ); | ||
| 4245 | } | ||
| 4246 | |||
| 4247 | typedef enum D3D12_COMMAND_LIST_FLAGS | ||
| 4248 | { | ||
| 4249 | D3D12_COMMAND_LIST_FLAG_NONE = 0x0, | ||
| 4250 | } D3D12_COMMAND_LIST_FLAGS; | ||
| 4251 | cpp_quote("DEFINE_ENUM_FLAG_OPERATORS( D3D12_COMMAND_LIST_FLAGS )") | ||
| 4252 | |||
| 4253 | |||
| 4254 | typedef enum D3D12_COMMAND_POOL_FLAGS | ||
| 4255 | { | ||
| 4256 | D3D12_COMMAND_POOL_FLAG_NONE = 0x0, | ||
| 4257 | |||
| 4258 | } D3D12_COMMAND_POOL_FLAGS; | ||
| 4259 | cpp_quote("DEFINE_ENUM_FLAG_OPERATORS( D3D12_COMMAND_POOL_FLAGS )") | ||
| 4260 | |||
| 4261 | typedef enum D3D12_COMMAND_RECORDER_FLAGS | ||
| 4262 | { | ||
| 4263 | D3D12_COMMAND_RECORDER_FLAG_NONE = 0x0, | ||
| 4264 | |||
| 4265 | } D3D12_COMMAND_RECORDER_FLAGS; | ||
| 4266 | cpp_quote("DEFINE_ENUM_FLAG_OPERATORS( D3D12_COMMAND_RECORDER_FLAGS )") | ||
| 4267 | |||
| 4268 | typedef enum D3D12_PROTECTED_SESSION_STATUS | ||
| 4269 | { | ||
| 4270 | D3D12_PROTECTED_SESSION_STATUS_OK = 0, | ||
| 4271 | D3D12_PROTECTED_SESSION_STATUS_INVALID = 1, | ||
| 4272 | } D3D12_PROTECTED_SESSION_STATUS; | ||
| 4273 | |||
| 4274 | [uuid(A1533D18-0AC1-4084-85B9-89A96116806B), object, local, pointer_default(unique)] | ||
| 4275 | interface ID3D12ProtectedSession | ||
| 4276 | : ID3D12DeviceChild | ||
| 4277 | { | ||
| 4278 | HRESULT GetStatusFence( | ||
| 4279 | [in] REFIID riid, | ||
| 4280 | [out, iid_is(riid), annotation("_COM_Outptr_opt_")] void** ppFence); | ||
| 4281 | |||
| 4282 | D3D12_PROTECTED_SESSION_STATUS GetSessionStatus(); | ||
| 4283 | } | ||
| 4284 | |||
| 4285 | typedef enum D3D12_PROTECTED_RESOURCE_SESSION_SUPPORT_FLAGS | ||
| 4286 | { | ||
| 4287 | D3D12_PROTECTED_RESOURCE_SESSION_SUPPORT_FLAG_NONE = 0x0, | ||
| 4288 | D3D12_PROTECTED_RESOURCE_SESSION_SUPPORT_FLAG_SUPPORTED = 0x1, | ||
| 4289 | |||
| 4290 | } D3D12_PROTECTED_RESOURCE_SESSION_SUPPORT_FLAGS; | ||
| 4291 | cpp_quote("DEFINE_ENUM_FLAG_OPERATORS( D3D12_PROTECTED_RESOURCE_SESSION_SUPPORT_FLAGS )") | ||
| 4292 | |||
| 4293 | typedef struct D3D12_FEATURE_DATA_PROTECTED_RESOURCE_SESSION_SUPPORT | ||
| 4294 | { | ||
| 4295 | UINT NodeIndex; // input | ||
| 4296 | D3D12_PROTECTED_RESOURCE_SESSION_SUPPORT_FLAGS Support; // output | ||
| 4297 | } D3D12_FEATURE_DATA_PROTECTED_RESOURCE_SESSION_SUPPORT; | ||
| 4298 | |||
| 4299 | typedef enum D3D12_PROTECTED_RESOURCE_SESSION_FLAGS | ||
| 4300 | { | ||
| 4301 | D3D12_PROTECTED_RESOURCE_SESSION_FLAG_NONE = 0x0, | ||
| 4302 | |||
| 4303 | } D3D12_PROTECTED_RESOURCE_SESSION_FLAGS; | ||
| 4304 | cpp_quote("DEFINE_ENUM_FLAG_OPERATORS( D3D12_PROTECTED_RESOURCE_SESSION_FLAGS )") | ||
| 4305 | |||
| 4306 | typedef struct D3D12_PROTECTED_RESOURCE_SESSION_DESC | ||
| 4307 | { | ||
| 4308 | UINT NodeMask; | ||
| 4309 | D3D12_PROTECTED_RESOURCE_SESSION_FLAGS Flags; | ||
| 4310 | } D3D12_PROTECTED_RESOURCE_SESSION_DESC; | ||
| 4311 | |||
| 4312 | [uuid(6CD696F4-F289-40CC-8091-5A6C0A099C3D), object, local, pointer_default(unique)] | ||
| 4313 | interface ID3D12ProtectedResourceSession | ||
| 4314 | : ID3D12ProtectedSession | ||
| 4315 | { | ||
| 4316 | D3D12_PROTECTED_RESOURCE_SESSION_DESC GetDesc(); | ||
| 4317 | } | ||
| 4318 | |||
| 4319 | [uuid(e865df17-a9ee-46f9-a463-3098315aa2e5), object, local, pointer_default(unique)] | ||
| 4320 | interface ID3D12Device4 | ||
| 4321 | : ID3D12Device3 | ||
| 4322 | { | ||
| 4323 | HRESULT CreateCommandList1( | ||
| 4324 | [annotation("_In_")] UINT nodeMask, | ||
| 4325 | [annotation("_In_")] D3D12_COMMAND_LIST_TYPE type, | ||
| 4326 | [annotation("_In_")] D3D12_COMMAND_LIST_FLAGS flags, | ||
| 4327 | [in] REFIID riid, // Expected: ID3D12CommandList | ||
| 4328 | [out, iid_is(riid), annotation("_COM_Outptr_")] void** ppCommandList | ||
| 4329 | ); | ||
| 4330 | |||
| 4331 | HRESULT CreateProtectedResourceSession( | ||
| 4332 | [annotation("_In_")] const D3D12_PROTECTED_RESOURCE_SESSION_DESC* pDesc, | ||
| 4333 | [annotation("_In_")] REFIID riid, // Expected: ID3D12ProtectedResourceSession, | ||
| 4334 | [out, iid_is(riid), annotation("_COM_Outptr_")] void** ppSession | ||
| 4335 | ); | ||
| 4336 | |||
| 4337 | HRESULT CreateCommittedResource1( | ||
| 4338 | [annotation("_In_")] const D3D12_HEAP_PROPERTIES* pHeapProperties, | ||
| 4339 | D3D12_HEAP_FLAGS HeapFlags, | ||
| 4340 | [annotation("_In_")] const D3D12_RESOURCE_DESC* pDesc, | ||
| 4341 | D3D12_RESOURCE_STATES InitialResourceState, | ||
| 4342 | [annotation("_In_opt_")] const D3D12_CLEAR_VALUE* pOptimizedClearValue, | ||
| 4343 | [annotation("_In_opt_")] ID3D12ProtectedResourceSession *pProtectedSession, | ||
| 4344 | [in] REFIID riidResource, // Expected: ID3D12Resource1* | ||
| 4345 | [out, iid_is(riidResource), annotation("_COM_Outptr_opt_")] void** ppvResource | ||
| 4346 | ); | ||
| 4347 | |||
| 4348 | HRESULT CreateHeap1( | ||
| 4349 | [annotation("_In_")] const D3D12_HEAP_DESC* pDesc, | ||
| 4350 | [annotation("_In_opt_")] ID3D12ProtectedResourceSession *pProtectedSession, | ||
| 4351 | [in] REFIID riid, // Expected: ID3D12Heap1* | ||
| 4352 | [out, iid_is(riid), annotation("_COM_Outptr_opt_")] void** ppvHeap | ||
| 4353 | ); | ||
| 4354 | |||
| 4355 | HRESULT CreateReservedResource1( | ||
| 4356 | [annotation("_In_")] const D3D12_RESOURCE_DESC* pDesc, | ||
| 4357 | D3D12_RESOURCE_STATES InitialState, | ||
| 4358 | [annotation("_In_opt_")] const D3D12_CLEAR_VALUE* pOptimizedClearValue, | ||
| 4359 | [annotation("_In_opt_")] ID3D12ProtectedResourceSession *pProtectedSession, | ||
| 4360 | [in] REFIID riid, // Expected: ID3D12Resource1* | ||
| 4361 | [out, iid_is(riid), annotation("_COM_Outptr_opt_")] void** ppvResource | ||
| 4362 | ); | ||
| 4363 | |||
| 4364 | D3D12_RESOURCE_ALLOCATION_INFO GetResourceAllocationInfo1( | ||
| 4365 | UINT visibleMask, | ||
| 4366 | UINT numResourceDescs, | ||
| 4367 | [annotation("_In_reads_(numResourceDescs)")] const D3D12_RESOURCE_DESC* pResourceDescs, | ||
| 4368 | [annotation("_Out_writes_opt_(numResourceDescs)")] D3D12_RESOURCE_ALLOCATION_INFO1* pResourceAllocationInfo1 | ||
| 4369 | ); | ||
| 4370 | } | ||
| 4371 | |||
| 4372 | typedef enum D3D12_LIFETIME_STATE | ||
| 4373 | { | ||
| 4374 | D3D12_LIFETIME_STATE_IN_USE, | ||
| 4375 | D3D12_LIFETIME_STATE_NOT_IN_USE, | ||
| 4376 | } D3D12_LIFETIME_STATE; | ||
| 4377 | |||
| 4378 | interface ID3D12LifetimeTracker; | ||
| 4379 | |||
| 4380 | [uuid(e667af9f-cd56-4f46-83ce-032e595d70a8), object, local, pointer_default(unique)] | ||
| 4381 | interface ID3D12LifetimeOwner : IUnknown | ||
| 4382 | { | ||
| 4383 | void LifetimeStateUpdated(D3D12_LIFETIME_STATE NewState); | ||
| 4384 | } | ||
| 4385 | |||
| 4386 | [uuid(f1df64b6-57fd-49cd-8807-c0eb88b45c8f), object, local, pointer_default(unique)] | ||
| 4387 | interface ID3D12SwapChainAssistant | ||
| 4388 | : IUnknown | ||
| 4389 | { | ||
| 4390 | LUID GetLUID(); | ||
| 4391 | HRESULT GetSwapChainObject(REFIID riid, [out, iid_is(riid), annotation("_COM_Outptr_")] void** ppv); | ||
| 4392 | HRESULT GetCurrentResourceAndCommandQueue(REFIID riidResource, [out, iid_is(riidResource), annotation("_COM_Outptr_")] void** ppvResource, | ||
| 4393 | REFIID riidQueue, [out, iid_is(riidQueue), annotation("_COM_Outptr_")] void** ppvQueue); | ||
| 4394 | HRESULT InsertImplicitSync(); | ||
| 4395 | } | ||
| 4396 | |||
| 4397 | [uuid(3fd03d36-4eb1-424a-a582-494ecb8ba813), object, local, pointer_default(unique)] | ||
| 4398 | interface ID3D12LifetimeTracker | ||
| 4399 | : ID3D12DeviceChild | ||
| 4400 | { | ||
| 4401 | HRESULT DestroyOwnedObject([annotation("_In_")] ID3D12DeviceChild* pObject); | ||
| 4402 | } | ||
| 4403 | |||
| 4404 | typedef enum D3D12_META_COMMAND_PARAMETER_TYPE | ||
| 4405 | { | ||
| 4406 | D3D12_META_COMMAND_PARAMETER_TYPE_FLOAT = 0, | ||
| 4407 | D3D12_META_COMMAND_PARAMETER_TYPE_UINT64 = 1, | ||
| 4408 | D3D12_META_COMMAND_PARAMETER_TYPE_GPU_VIRTUAL_ADDRESS = 2, | ||
| 4409 | D3D12_META_COMMAND_PARAMETER_TYPE_CPU_DESCRIPTOR_HANDLE_HEAP_TYPE_CBV_SRV_UAV = 3, | ||
| 4410 | D3D12_META_COMMAND_PARAMETER_TYPE_GPU_DESCRIPTOR_HANDLE_HEAP_TYPE_CBV_SRV_UAV = 4, | ||
| 4411 | } D3D12_META_COMMAND_PARAMETER_TYPE; | ||
| 4412 | |||
| 4413 | typedef enum D3D12_META_COMMAND_PARAMETER_FLAGS | ||
| 4414 | { | ||
| 4415 | D3D12_META_COMMAND_PARAMETER_FLAG_INPUT = 0x00000001, | ||
| 4416 | D3D12_META_COMMAND_PARAMETER_FLAG_OUTPUT = 0x00000002 | ||
| 4417 | } D3D12_META_COMMAND_PARAMETER_FLAGS; | ||
| 4418 | cpp_quote("DEFINE_ENUM_FLAG_OPERATORS( D3D12_META_COMMAND_PARAMETER_FLAGS )") | ||
| 4419 | |||
| 4420 | typedef enum D3D12_META_COMMAND_PARAMETER_STAGE | ||
| 4421 | { | ||
| 4422 | D3D12_META_COMMAND_PARAMETER_STAGE_CREATION = 0, | ||
| 4423 | D3D12_META_COMMAND_PARAMETER_STAGE_INITIALIZATION = 1, | ||
| 4424 | D3D12_META_COMMAND_PARAMETER_STAGE_EXECUTION = 2, | ||
| 4425 | } D3D12_META_COMMAND_PARAMETER_STAGE; | ||
| 4426 | |||
| 4427 | typedef struct D3D12_META_COMMAND_PARAMETER_DESC | ||
| 4428 | { | ||
| 4429 | LPCWSTR Name; | ||
| 4430 | D3D12_META_COMMAND_PARAMETER_TYPE Type; | ||
| 4431 | D3D12_META_COMMAND_PARAMETER_FLAGS Flags; | ||
| 4432 | D3D12_RESOURCE_STATES RequiredResourceState; | ||
| 4433 | UINT StructureOffset; | ||
| 4434 | } D3D12_META_COMMAND_PARAMETER_DESC; | ||
| 4435 | |||
| 4436 | typedef enum D3D12_GRAPHICS_STATES | ||
| 4437 | { | ||
| 4438 | D3D12_GRAPHICS_STATE_NONE = 0, | ||
| 4439 | D3D12_GRAPHICS_STATE_IA_VERTEX_BUFFERS = (1 << 0), | ||
| 4440 | D3D12_GRAPHICS_STATE_IA_INDEX_BUFFER = (1 << 1), | ||
| 4441 | D3D12_GRAPHICS_STATE_IA_PRIMITIVE_TOPOLOGY = (1 << 2), | ||
| 4442 | D3D12_GRAPHICS_STATE_DESCRIPTOR_HEAP = (1 << 3), | ||
| 4443 | D3D12_GRAPHICS_STATE_GRAPHICS_ROOT_SIGNATURE = (1 << 4), | ||
| 4444 | D3D12_GRAPHICS_STATE_COMPUTE_ROOT_SIGNATURE = (1 << 5), | ||
| 4445 | D3D12_GRAPHICS_STATE_RS_VIEWPORTS = (1 << 6), | ||
| 4446 | D3D12_GRAPHICS_STATE_RS_SCISSOR_RECTS = (1 << 7), | ||
| 4447 | D3D12_GRAPHICS_STATE_PREDICATION = (1 << 8), | ||
| 4448 | D3D12_GRAPHICS_STATE_OM_RENDER_TARGETS = (1 << 9), | ||
| 4449 | D3D12_GRAPHICS_STATE_OM_STENCIL_REF = (1 << 10), | ||
| 4450 | D3D12_GRAPHICS_STATE_OM_BLEND_FACTOR = (1 << 11), | ||
| 4451 | D3D12_GRAPHICS_STATE_PIPELINE_STATE = (1 << 12), | ||
| 4452 | D3D12_GRAPHICS_STATE_SO_TARGETS = (1 << 13), | ||
| 4453 | D3D12_GRAPHICS_STATE_OM_DEPTH_BOUNDS = (1 << 14), | ||
| 4454 | D3D12_GRAPHICS_STATE_SAMPLE_POSITIONS = (1 << 15), | ||
| 4455 | D3D12_GRAPHICS_STATE_VIEW_INSTANCE_MASK = (1 << 16), | ||
| 4456 | |||
| 4457 | } D3D12_GRAPHICS_STATES; | ||
| 4458 | cpp_quote("DEFINE_ENUM_FLAG_OPERATORS( D3D12_GRAPHICS_STATES )") | ||
| 4459 | |||
| 4460 | typedef struct D3D12_META_COMMAND_DESC | ||
| 4461 | { | ||
| 4462 | GUID Id; | ||
| 4463 | LPCWSTR Name; | ||
| 4464 | D3D12_GRAPHICS_STATES InitializationDirtyState; | ||
| 4465 | D3D12_GRAPHICS_STATES ExecutionDirtyState; | ||
| 4466 | } D3D12_META_COMMAND_DESC; | ||
| 4467 | |||
| 4468 | [uuid(47016943-fca8-4594-93ea-af258b55346d), object, local, pointer_default(unique)] | ||
| 4469 | interface ID3D12StateObject | ||
| 4470 | : ID3D12Pageable | ||
| 4471 | { | ||
| 4472 | } | ||
| 4473 | |||
| 4474 | [uuid(de5fa827-9bf9-4f26-89ff-d7f56fde3860), object, local, pointer_default(unique)] | ||
| 4475 | interface ID3D12StateObjectProperties | ||
| 4476 | : IUnknown | ||
| 4477 | { | ||
| 4478 | void* GetShaderIdentifier([annotation("_In_")] LPCWSTR pExportName); | ||
| 4479 | UINT64 GetShaderStackSize([annotation("_In_")] LPCWSTR pExportName); | ||
| 4480 | UINT64 GetPipelineStackSize(); | ||
| 4481 | void SetPipelineStackSize(UINT64 PipelineStackSizeInBytes); | ||
| 4482 | } | ||
| 4483 | |||
| 4484 | typedef struct D3D12_PROGRAM_IDENTIFIER | ||
| 4485 | { | ||
| 4486 | UINT64 OpaqueData[4]; | ||
| 4487 | } D3D12_PROGRAM_IDENTIFIER; | ||
| 4488 | |||
| 4489 | [uuid(460caac7-1d24-446a-a184-ca67db494138), object, local, pointer_default(unique)] | ||
| 4490 | interface ID3D12StateObjectProperties1 | ||
| 4491 | : ID3D12StateObjectProperties | ||
| 4492 | { | ||
| 4493 | D3D12_PROGRAM_IDENTIFIER GetProgramIdentifier(LPCWSTR pProgramName); | ||
| 4494 | } | ||
| 4495 | |||
| 4496 | [uuid(d5e82917-f0f1-44cf-ae5e-ce222dd0b884), object, local, pointer_default(unique)] | ||
| 4497 | interface ID3D12StateObjectProperties2 | ||
| 4498 | : ID3D12StateObjectProperties1 | ||
| 4499 | { | ||
| 4500 | HRESULT GetGlobalRootSignatureForProgram( | ||
| 4501 | [in] LPCWSTR pProgramName, | ||
| 4502 | [in] REFIID riid, // Expected ID3D12RootSignature | ||
| 4503 | [out, iid_is(riid), annotation("_COM_Outptr_")] void** ppvRootSignature); | ||
| 4504 | |||
| 4505 | HRESULT GetGlobalRootSignatureForShader( | ||
| 4506 | [in] LPCWSTR pExportName, | ||
| 4507 | [in] REFIID riid, // Expected ID3D12RootSignature | ||
| 4508 | [out, iid_is(riid), annotation("_COM_Outptr_")] void** ppvRootSignature); | ||
| 4509 | } | ||
| 4510 | |||
| 4511 | typedef struct D3D12_NODE_ID | ||
| 4512 | { | ||
| 4513 | LPCWSTR Name; | ||
| 4514 | UINT ArrayIndex; | ||
| 4515 | } D3D12_NODE_ID; | ||
| 4516 | |||
| 4517 | typedef struct D3D12_WORK_GRAPH_MEMORY_REQUIREMENTS | ||
| 4518 | { | ||
| 4519 | UINT64 MinSizeInBytes; | ||
| 4520 | UINT64 MaxSizeInBytes; | ||
| 4521 | UINT SizeGranularityInBytes; | ||
| 4522 | } D3D12_WORK_GRAPH_MEMORY_REQUIREMENTS; | ||
| 4523 | |||
| 4524 | [uuid(065acf71-f863-4b89-82f4-02e4d5886757), object, local, pointer_default(unique)] | ||
| 4525 | interface ID3D12WorkGraphProperties : IUnknown | ||
| 4526 | { | ||
| 4527 | UINT GetNumWorkGraphs(); | ||
| 4528 | LPCWSTR GetProgramName(UINT WorkGraphIndex); | ||
| 4529 | UINT GetWorkGraphIndex(LPCWSTR pProgramName); | ||
| 4530 | |||
| 4531 | UINT GetNumNodes(UINT WorkGraphIndex); | ||
| 4532 | D3D12_NODE_ID GetNodeID(UINT WorkGraphIndex, UINT NodeIndex); | ||
| 4533 | UINT GetNodeIndex(UINT WorkGraphIndex, D3D12_NODE_ID NodeID); | ||
| 4534 | UINT GetNodeLocalRootArgumentsTableIndex(UINT WorkGraphIndex, UINT NodeIndex); | ||
| 4535 | |||
| 4536 | UINT GetNumEntrypoints(UINT WorkGraphIndex); | ||
| 4537 | D3D12_NODE_ID GetEntrypointID(UINT WorkGraphIndex, UINT EntrypointIndex); | ||
| 4538 | UINT GetEntrypointIndex(UINT WorkGraphIndex, D3D12_NODE_ID NodeID); | ||
| 4539 | UINT GetEntrypointRecordSizeInBytes(UINT WorkGraphIndex, UINT EntrypointIndex); | ||
| 4540 | |||
| 4541 | void GetWorkGraphMemoryRequirements( | ||
| 4542 | UINT WorkGraphIndex, | ||
| 4543 | [annotation("_Out_")] D3D12_WORK_GRAPH_MEMORY_REQUIREMENTS* pWorkGraphMemoryRequirements); | ||
| 4544 | |||
| 4545 | UINT GetEntrypointRecordAlignmentInBytes(UINT WorkGraphIndex, UINT EntrypointIndex); | ||
| 4546 | } | ||
| 4547 | |||
| 4548 | |||
| 4549 | typedef enum D3D12_STATE_SUBOBJECT_TYPE | ||
| 4550 | { | ||
| 4551 | D3D12_STATE_SUBOBJECT_TYPE_STATE_OBJECT_CONFIG = 0, // D3D12_STATE_OBJECT_CONFIG | ||
| 4552 | D3D12_STATE_SUBOBJECT_TYPE_GLOBAL_ROOT_SIGNATURE = 1, // D3D12_GLOBAL_ROOT_SIGNATURE | ||
| 4553 | D3D12_STATE_SUBOBJECT_TYPE_LOCAL_ROOT_SIGNATURE = 2, // D3D12_LOCAL_ROOT_SIGNATURE | ||
| 4554 | D3D12_STATE_SUBOBJECT_TYPE_NODE_MASK = 3, // D3D12_NODE_MASK | ||
| 4555 | // 4 unused | ||
| 4556 | D3D12_STATE_SUBOBJECT_TYPE_DXIL_LIBRARY = 5, // D3D12_DXIL_LIBRARY_DESC | ||
| 4557 | D3D12_STATE_SUBOBJECT_TYPE_EXISTING_COLLECTION = 6, // D3D12_EXISTING_COLLECTION_DESC | ||
| 4558 | D3D12_STATE_SUBOBJECT_TYPE_SUBOBJECT_TO_EXPORTS_ASSOCIATION = 7, // D3D12_SUBOBJECT_TO_EXPORTS_ASSOCIATION | ||
| 4559 | D3D12_STATE_SUBOBJECT_TYPE_DXIL_SUBOBJECT_TO_EXPORTS_ASSOCIATION = 8, // D3D12_DXIL_SUBOBJECT_TO_EXPORTS_ASSOCIATION | ||
| 4560 | D3D12_STATE_SUBOBJECT_TYPE_RAYTRACING_SHADER_CONFIG = 9, // D3D12_RAYTRACING_SHADER_CONFIG | ||
| 4561 | D3D12_STATE_SUBOBJECT_TYPE_RAYTRACING_PIPELINE_CONFIG = 10, // D3D12_RAYTRACING_PIPELINE_CONFIG | ||
| 4562 | D3D12_STATE_SUBOBJECT_TYPE_HIT_GROUP = 11, // D3D12_HIT_GROUP_DESC | ||
| 4563 | D3D12_STATE_SUBOBJECT_TYPE_RAYTRACING_PIPELINE_CONFIG1 = 12, // D3D12_RAYTRACING_PIPELINE_CONFIG1 | ||
| 4564 | D3D12_STATE_SUBOBJECT_TYPE_WORK_GRAPH = 13, // D3D12_WORK_GRAPH_DESC | ||
| 4565 | D3D12_STATE_SUBOBJECT_TYPE_STREAM_OUTPUT = 14, // D3D12_STREAM_OUTPUT_DESC | ||
| 4566 | D3D12_STATE_SUBOBJECT_TYPE_BLEND = 15, // D3D12_BLEND_DESC | ||
| 4567 | D3D12_STATE_SUBOBJECT_TYPE_SAMPLE_MASK = 16, // UINT | ||
| 4568 | D3D12_STATE_SUBOBJECT_TYPE_RASTERIZER = 17, // D3D12_RASTERIZER_DESC2 | ||
| 4569 | D3D12_STATE_SUBOBJECT_TYPE_DEPTH_STENCIL = 18, // D3D12_DEPTH_STENCIL_DESC | ||
| 4570 | D3D12_STATE_SUBOBJECT_TYPE_INPUT_LAYOUT = 19, // D3D12_INPUT_LAYOUT_DESC | ||
| 4571 | D3D12_STATE_SUBOBJECT_TYPE_IB_STRIP_CUT_VALUE = 20, // D3D12_INDEX_BUFFER_STRIP_CUT_VALUE | ||
| 4572 | D3D12_STATE_SUBOBJECT_TYPE_PRIMITIVE_TOPOLOGY = 21, // D3D12_PRIMITIVE_TOPOLOGY_TYPE | ||
| 4573 | D3D12_STATE_SUBOBJECT_TYPE_RENDER_TARGET_FORMATS = 22, // D3D12_RT_FORMAT_ARRAY | ||
| 4574 | D3D12_STATE_SUBOBJECT_TYPE_DEPTH_STENCIL_FORMAT = 23, // DXGI_FORMAT | ||
| 4575 | D3D12_STATE_SUBOBJECT_TYPE_SAMPLE_DESC = 24, // DXGI_SAMPLE_DESC | ||
| 4576 | // 25 is unused | ||
| 4577 | D3D12_STATE_SUBOBJECT_TYPE_FLAGS = 26, // D3D12_PIPELINE_STATE_FLAGS | ||
| 4578 | D3D12_STATE_SUBOBJECT_TYPE_DEPTH_STENCIL1 = 27, // D3D12_DEPTH_STENCIL_DESC1 | ||
| 4579 | D3D12_STATE_SUBOBJECT_TYPE_VIEW_INSTANCING = 28, // D3D12_VIEW_INSTANCING_DESC | ||
| 4580 | D3D12_STATE_SUBOBJECT_TYPE_GENERIC_PROGRAM = 29, // D3D12_GENERIC_PROGRAM_DESC | ||
| 4581 | D3D12_STATE_SUBOBJECT_TYPE_DEPTH_STENCIL2 = 30, // D3D12_DEPTH_STENCIL_DESC2 | ||
| 4582 | D3D12_STATE_SUBOBJECT_TYPE_GLOBAL_SERIALIZED_ROOT_SIGNATURE = 31, // D3D12_GLOBAL_SERIALIZED_ROOT_SIGNATURE_DESC | ||
| 4583 | D3D12_STATE_SUBOBJECT_TYPE_LOCAL_SERIALIZED_ROOT_SIGNATURE = 32, // D3D12_LOCAL_SERIALIZED_ROOT_SIGNATURE_DESC | ||
| 4584 | D3D12_STATE_SUBOBJECT_TYPE_COMPILER_EXISITING_COLLECTION = 33, // D3D12_COMPILER_EXISTING_COLLECTION_DESC | ||
| 4585 | D3D12_STATE_SUBOBJECT_TYPE_EXISTING_COLLECTION_BY_KEY = 36, // D3D12_EXISTING_COLLECTION_BY_KEY_DESC | ||
| 4586 | D3D12_STATE_SUBOBJECT_TYPE_MAX_VALID, | ||
| 4587 | } D3D12_STATE_SUBOBJECT_TYPE; | ||
| 4588 | |||
| 4589 | typedef struct D3D12_STATE_SUBOBJECT | ||
| 4590 | { | ||
| 4591 | D3D12_STATE_SUBOBJECT_TYPE Type; | ||
| 4592 | const void* pDesc; | ||
| 4593 | } D3D12_STATE_SUBOBJECT; | ||
| 4594 | |||
| 4595 | typedef enum D3D12_STATE_OBJECT_FLAGS | ||
| 4596 | { | ||
| 4597 | D3D12_STATE_OBJECT_FLAG_NONE = 0x0, | ||
| 4598 | D3D12_STATE_OBJECT_FLAG_ALLOW_LOCAL_DEPENDENCIES_ON_EXTERNAL_DEFINITIONS = 0x1, | ||
| 4599 | D3D12_STATE_OBJECT_FLAG_ALLOW_EXTERNAL_DEPENDENCIES_ON_LOCAL_DEFINITIONS = 0x2, | ||
| 4600 | D3D12_STATE_OBJECT_FLAG_ALLOW_STATE_OBJECT_ADDITIONS = 0x4, | ||
| 4601 | |||
| 4602 | } D3D12_STATE_OBJECT_FLAGS; | ||
| 4603 | cpp_quote("DEFINE_ENUM_FLAG_OPERATORS( D3D12_STATE_OBJECT_FLAGS )") | ||
| 4604 | |||
| 4605 | typedef struct D3D12_STATE_OBJECT_CONFIG | ||
| 4606 | { | ||
| 4607 | D3D12_STATE_OBJECT_FLAGS Flags; | ||
| 4608 | } D3D12_STATE_OBJECT_CONFIG; | ||
| 4609 | |||
| 4610 | typedef struct D3D12_GLOBAL_ROOT_SIGNATURE | ||
| 4611 | { | ||
| 4612 | ID3D12RootSignature* pGlobalRootSignature; | ||
| 4613 | } D3D12_GLOBAL_ROOT_SIGNATURE; | ||
| 4614 | |||
| 4615 | typedef struct D3D12_LOCAL_ROOT_SIGNATURE | ||
| 4616 | { | ||
| 4617 | ID3D12RootSignature* pLocalRootSignature; | ||
| 4618 | } D3D12_LOCAL_ROOT_SIGNATURE; | ||
| 4619 | |||
| 4620 | typedef struct D3D12_NODE_MASK | ||
| 4621 | { | ||
| 4622 | UINT NodeMask; | ||
| 4623 | } D3D12_NODE_MASK; | ||
| 4624 | |||
| 4625 | typedef struct D3D12_SAMPLE_MASK | ||
| 4626 | { | ||
| 4627 | UINT SampleMask; | ||
| 4628 | } D3D12_SAMPLE_MASK; | ||
| 4629 | |||
| 4630 | typedef struct D3D12_IB_STRIP_CUT_VALUE | ||
| 4631 | { | ||
| 4632 | D3D12_INDEX_BUFFER_STRIP_CUT_VALUE IndexBufferStripCutValue; | ||
| 4633 | } D3D12_IB_STRIP_CUT_VALUE; | ||
| 4634 | |||
| 4635 | typedef struct D3D12_PRIMITIVE_TOPOLOGY_DESC | ||
| 4636 | { | ||
| 4637 | D3D12_PRIMITIVE_TOPOLOGY_TYPE PrimitiveTopology; | ||
| 4638 | } D3D12_PRIMITIVE_TOPOLOGY_DESC; | ||
| 4639 | |||
| 4640 | typedef struct D3D12_DEPTH_STENCIL_FORMAT | ||
| 4641 | { | ||
| 4642 | DXGI_FORMAT DepthStencilFormat; | ||
| 4643 | } D3D12_DEPTH_STENCIL_FORMAT; | ||
| 4644 | |||
| 4645 | typedef enum D3D12_EXPORT_FLAGS | ||
| 4646 | { | ||
| 4647 | D3D12_EXPORT_FLAG_NONE = 0x0, | ||
| 4648 | } D3D12_EXPORT_FLAGS; | ||
| 4649 | cpp_quote("DEFINE_ENUM_FLAG_OPERATORS( D3D12_EXPORT_FLAGS )") | ||
| 4650 | |||
| 4651 | typedef struct D3D12_EXPORT_DESC | ||
| 4652 | { | ||
| 4653 | LPCWSTR Name; | ||
| 4654 | [annotation("_In_opt_")] LPCWSTR ExportToRename; | ||
| 4655 | D3D12_EXPORT_FLAGS Flags; | ||
| 4656 | } D3D12_EXPORT_DESC; | ||
| 4657 | |||
| 4658 | typedef struct D3D12_DXIL_LIBRARY_DESC | ||
| 4659 | { | ||
| 4660 | D3D12_SHADER_BYTECODE DXILLibrary; | ||
| 4661 | UINT NumExports; // Optional, if 0 all exports in the library/collection will be surfaced | ||
| 4662 | [annotation("_In_reads_(NumExports)")] const D3D12_EXPORT_DESC* pExports; | ||
| 4663 | } D3D12_DXIL_LIBRARY_DESC; | ||
| 4664 | |||
| 4665 | |||
| 4666 | typedef struct D3D12_EXISTING_COLLECTION_DESC | ||
| 4667 | { | ||
| 4668 | ID3D12StateObject* pExistingCollection; | ||
| 4669 | UINT NumExports; // Optional, if 0 all exports in the library/collection will be surfaced | ||
| 4670 | [annotation("_In_reads_(NumExports)")] const D3D12_EXPORT_DESC* pExports; | ||
| 4671 | } D3D12_EXISTING_COLLECTION_DESC; | ||
| 4672 | |||
| 4673 | typedef struct D3D12_SUBOBJECT_TO_EXPORTS_ASSOCIATION | ||
| 4674 | { | ||
| 4675 | const D3D12_STATE_SUBOBJECT* pSubobjectToAssociate; | ||
| 4676 | UINT NumExports; | ||
| 4677 | [annotation("_In_reads_(NumExports)")] LPCWSTR* pExports; | ||
| 4678 | } D3D12_SUBOBJECT_TO_EXPORTS_ASSOCIATION; | ||
| 4679 | |||
| 4680 | typedef struct D3D12_DXIL_SUBOBJECT_TO_EXPORTS_ASSOCIATION | ||
| 4681 | { | ||
| 4682 | LPCWSTR SubobjectToAssociate; | ||
| 4683 | UINT NumExports; | ||
| 4684 | [annotation("_In_reads_(NumExports)")] LPCWSTR* pExports; | ||
| 4685 | } D3D12_DXIL_SUBOBJECT_TO_EXPORTS_ASSOCIATION; | ||
| 4686 | |||
| 4687 | typedef enum D3D12_HIT_GROUP_TYPE | ||
| 4688 | { | ||
| 4689 | D3D12_HIT_GROUP_TYPE_TRIANGLES = 0x0, | ||
| 4690 | D3D12_HIT_GROUP_TYPE_PROCEDURAL_PRIMITIVE = 0x1, | ||
| 4691 | } D3D12_HIT_GROUP_TYPE; | ||
| 4692 | |||
| 4693 | typedef struct D3D12_HIT_GROUP_DESC | ||
| 4694 | { | ||
| 4695 | LPCWSTR HitGroupExport; | ||
| 4696 | D3D12_HIT_GROUP_TYPE Type; | ||
| 4697 | [annotation("_In_opt_")] LPCWSTR AnyHitShaderImport; | ||
| 4698 | [annotation("_In_opt_")] LPCWSTR ClosestHitShaderImport; | ||
| 4699 | [annotation("_In_opt_")] LPCWSTR IntersectionShaderImport; | ||
| 4700 | } D3D12_HIT_GROUP_DESC; | ||
| 4701 | |||
| 4702 | typedef struct D3D12_RAYTRACING_SHADER_CONFIG | ||
| 4703 | { | ||
| 4704 | UINT MaxPayloadSizeInBytes; | ||
| 4705 | UINT MaxAttributeSizeInBytes; | ||
| 4706 | } D3D12_RAYTRACING_SHADER_CONFIG; | ||
| 4707 | |||
| 4708 | typedef struct D3D12_RAYTRACING_PIPELINE_CONFIG | ||
| 4709 | { | ||
| 4710 | UINT MaxTraceRecursionDepth; | ||
| 4711 | } D3D12_RAYTRACING_PIPELINE_CONFIG; | ||
| 4712 | |||
| 4713 | typedef enum D3D12_RAYTRACING_PIPELINE_FLAGS | ||
| 4714 | { | ||
| 4715 | D3D12_RAYTRACING_PIPELINE_FLAG_NONE = 0x0, | ||
| 4716 | D3D12_RAYTRACING_PIPELINE_FLAG_SKIP_TRIANGLES = 0x100, | ||
| 4717 | D3D12_RAYTRACING_PIPELINE_FLAG_SKIP_PROCEDURAL_PRIMITIVES = 0x200, | ||
| 4718 | D3D12_RAYTRACING_PIPELINE_FLAG_ALLOW_OPACITY_MICROMAPS = 0x400, | ||
| 4719 | } D3D12_RAYTRACING_PIPELINE_FLAGS; | ||
| 4720 | cpp_quote("DEFINE_ENUM_FLAG_OPERATORS( D3D12_RAYTRACING_PIPELINE_FLAGS )") | ||
| 4721 | |||
| 4722 | typedef struct D3D12_RAYTRACING_PIPELINE_CONFIG1 | ||
| 4723 | { | ||
| 4724 | UINT MaxTraceRecursionDepth; | ||
| 4725 | D3D12_RAYTRACING_PIPELINE_FLAGS Flags; | ||
| 4726 | } D3D12_RAYTRACING_PIPELINE_CONFIG1; | ||
| 4727 | |||
| 4728 | typedef struct D3D12_NODE_OUTPUT_OVERRIDES | ||
| 4729 | { | ||
| 4730 | UINT OutputIndex; | ||
| 4731 | [annotation("_In_opt_")] const D3D12_NODE_ID* pNewName; | ||
| 4732 | [annotation("_In_opt_")] const BOOL* pAllowSparseNodes; | ||
| 4733 | [annotation("_In_opt_")] const UINT* pMaxRecords; | ||
| 4734 | [annotation("_In_opt_")] const UINT* pMaxRecordsSharedWithOutputIndex; | ||
| 4735 | } D3D12_NODE_OUTPUT_OVERRIDES; | ||
| 4736 | |||
| 4737 | typedef struct D3D12_BROADCASTING_LAUNCH_OVERRIDES | ||
| 4738 | { | ||
| 4739 | [annotation("_In_opt_")] const UINT* pLocalRootArgumentsTableIndex; | ||
| 4740 | [annotation("_In_opt_")] const BOOL* pProgramEntry; | ||
| 4741 | [annotation("_In_opt_")] const D3D12_NODE_ID* pNewName; | ||
| 4742 | [annotation("_In_opt_ ")] const D3D12_NODE_ID* pShareInputOf; | ||
| 4743 | [annotation("_In_reads_opt_(3)")] const UINT* pDispatchGrid; | ||
| 4744 | [annotation("_In_reads_opt_(3)")] const UINT* pMaxDispatchGrid; | ||
| 4745 | UINT NumOutputOverrides; | ||
| 4746 | [annotation("_In_reads_opt_(NumOutputOverrides)")] const D3D12_NODE_OUTPUT_OVERRIDES* pOutputOverrides; | ||
| 4747 | } D3D12_BROADCASTING_LAUNCH_OVERRIDES; | ||
| 4748 | |||
| 4749 | typedef struct D3D12_COALESCING_LAUNCH_OVERRIDES | ||
| 4750 | { | ||
| 4751 | [annotation("_In_opt_")] const UINT* pLocalRootArgumentsTableIndex; | ||
| 4752 | [annotation("_In_opt_")] const BOOL* pProgramEntry; | ||
| 4753 | [annotation("_In_opt_")] const D3D12_NODE_ID* pNewName; | ||
| 4754 | [annotation("_In_opt_")] const D3D12_NODE_ID* pShareInputOf; | ||
| 4755 | UINT NumOutputOverrides; | ||
| 4756 | [annotation("_In_reads_opt_(NumOutputOverrides)")] const D3D12_NODE_OUTPUT_OVERRIDES* pOutputOverrides; | ||
| 4757 | } D3D12_COALESCING_LAUNCH_OVERRIDES; | ||
| 4758 | |||
| 4759 | typedef struct D3D12_THREAD_LAUNCH_OVERRIDES | ||
| 4760 | { | ||
| 4761 | [annotation("_In_opt_")] const UINT* pLocalRootArgumentsTableIndex; | ||
| 4762 | [annotation("_In_opt_")] const BOOL* pProgramEntry; | ||
| 4763 | [annotation("_In_opt_")] const D3D12_NODE_ID* pNewName; | ||
| 4764 | [annotation("_In_opt_")] const D3D12_NODE_ID* pShareInputOf; | ||
| 4765 | UINT NumOutputOverrides; | ||
| 4766 | [annotation("_In_reads_opt_(NumOutputOverrides)")] const D3D12_NODE_OUTPUT_OVERRIDES* pOutputOverrides; | ||
| 4767 | } D3D12_THREAD_LAUNCH_OVERRIDES; | ||
| 4768 | |||
| 4769 | typedef struct D3D12_COMMON_COMPUTE_NODE_OVERRIDES | ||
| 4770 | { | ||
| 4771 | [annotation("_In_opt_")] const UINT* pLocalRootArgumentsTableIndex; | ||
| 4772 | [annotation("_In_opt_")] const BOOL* pProgramEntry; | ||
| 4773 | [annotation("_In_opt_")] const D3D12_NODE_ID* pNewName; | ||
| 4774 | [annotation("_In_opt_")] const D3D12_NODE_ID* pShareInputOf; | ||
| 4775 | UINT NumOutputOverrides; | ||
| 4776 | [annotation("_In_reads_opt_(NumOutputOverrides)")] const D3D12_NODE_OUTPUT_OVERRIDES* pOutputOverrides; | ||
| 4777 | } D3D12_COMMON_COMPUTE_NODE_OVERRIDES; | ||
| 4778 | |||
| 4779 | typedef enum D3D12_NODE_OVERRIDES_TYPE | ||
| 4780 | { | ||
| 4781 | D3D12_NODE_OVERRIDES_TYPE_NONE = 0, | ||
| 4782 | D3D12_NODE_OVERRIDES_TYPE_BROADCASTING_LAUNCH = 1, | ||
| 4783 | D3D12_NODE_OVERRIDES_TYPE_COALESCING_LAUNCH = 2, | ||
| 4784 | D3D12_NODE_OVERRIDES_TYPE_THREAD_LAUNCH = 3, | ||
| 4785 | D3D12_NODE_OVERRIDES_TYPE_COMMON_COMPUTE = 4, | ||
| 4786 | } D3D12_NODE_OVERRIDES_TYPE; | ||
| 4787 | |||
| 4788 | typedef struct D3D12_SHADER_NODE | ||
| 4789 | { | ||
| 4790 | LPCWSTR Shader; | ||
| 4791 | D3D12_NODE_OVERRIDES_TYPE OverridesType; | ||
| 4792 | union | ||
| 4793 | { | ||
| 4794 | const D3D12_BROADCASTING_LAUNCH_OVERRIDES* pBroadcastingLaunchOverrides; | ||
| 4795 | const D3D12_COALESCING_LAUNCH_OVERRIDES* pCoalescingLaunchOverrides; | ||
| 4796 | const D3D12_THREAD_LAUNCH_OVERRIDES* pThreadLaunchOverrides; | ||
| 4797 | const D3D12_COMMON_COMPUTE_NODE_OVERRIDES* pCommonComputeNodeOverrides; | ||
| 4798 | }; | ||
| 4799 | } D3D12_SHADER_NODE; | ||
| 4800 | |||
| 4801 | |||
| 4802 | typedef enum D3D12_NODE_TYPE | ||
| 4803 | { | ||
| 4804 | D3D12_NODE_TYPE_SHADER = 0x0, | ||
| 4805 | } D3D12_NODE_TYPE; | ||
| 4806 | |||
| 4807 | typedef struct D3D12_NODE | ||
| 4808 | { | ||
| 4809 | D3D12_NODE_TYPE NodeType; | ||
| 4810 | union | ||
| 4811 | { | ||
| 4812 | D3D12_SHADER_NODE Shader; // D3D12_NODE_TYPE_SHADER | ||
| 4813 | }; | ||
| 4814 | } D3D12_NODE; | ||
| 4815 | |||
| 4816 | typedef enum D3D12_WORK_GRAPH_FLAGS | ||
| 4817 | { | ||
| 4818 | D3D12_WORK_GRAPH_FLAG_NONE = 0x0, | ||
| 4819 | D3D12_WORK_GRAPH_FLAG_INCLUDE_ALL_AVAILABLE_NODES = 0x1, | ||
| 4820 | } D3D12_WORK_GRAPH_FLAGS; | ||
| 4821 | cpp_quote("DEFINE_ENUM_FLAG_OPERATORS( D3D12_WORK_GRAPH_FLAGS )") | ||
| 4822 | |||
| 4823 | typedef struct D3D12_WORK_GRAPH_DESC | ||
| 4824 | { | ||
| 4825 | LPCWSTR ProgramName; | ||
| 4826 | D3D12_WORK_GRAPH_FLAGS Flags; | ||
| 4827 | UINT NumEntrypoints; | ||
| 4828 | [annotation("_In_reads_opt_(NumEntrypoints)")] const D3D12_NODE_ID* pEntrypoints; | ||
| 4829 | UINT NumExplicitlyDefinedNodes; | ||
| 4830 | [annotation("_In_reads_opt_(NumExplicitlyDefinedNodes)")] const D3D12_NODE* pExplicitlyDefinedNodes; | ||
| 4831 | } D3D12_WORK_GRAPH_DESC; | ||
| 4832 | |||
| 4833 | typedef struct D3D12_GENERIC_PROGRAM_DESC | ||
| 4834 | { | ||
| 4835 | LPCWSTR ProgramName; | ||
| 4836 | UINT NumExports; | ||
| 4837 | [annotation("_In_reads_(NumExports)")] LPCWSTR* pExports; | ||
| 4838 | UINT NumSubobjects; | ||
| 4839 | [annotation("_In_reads_opt_(NumSubobjects)")] const D3D12_STATE_SUBOBJECT* const* ppSubobjects; | ||
| 4840 | } D3D12_GENERIC_PROGRAM_DESC; | ||
| 4841 | |||
| 4842 | typedef enum D3D12_STATE_OBJECT_TYPE | ||
| 4843 | { | ||
| 4844 | D3D12_STATE_OBJECT_TYPE_COLLECTION = 0, | ||
| 4845 | D3D12_STATE_OBJECT_TYPE_RAYTRACING_PIPELINE = 3, | ||
| 4846 | D3D12_STATE_OBJECT_TYPE_EXECUTABLE = 4 | ||
| 4847 | } D3D12_STATE_OBJECT_TYPE; | ||
| 4848 | |||
| 4849 | typedef struct D3D12_STATE_OBJECT_DESC | ||
| 4850 | { | ||
| 4851 | D3D12_STATE_OBJECT_TYPE Type; | ||
| 4852 | UINT NumSubobjects; | ||
| 4853 | [annotation("_In_reads_(NumSubobjects)")] const D3D12_STATE_SUBOBJECT* pSubobjects; | ||
| 4854 | } D3D12_STATE_OBJECT_DESC; | ||
| 4855 | |||
| 4856 | typedef enum D3D12_RAYTRACING_GEOMETRY_FLAGS | ||
| 4857 | { | ||
| 4858 | D3D12_RAYTRACING_GEOMETRY_FLAG_NONE = 0x0, | ||
| 4859 | D3D12_RAYTRACING_GEOMETRY_FLAG_OPAQUE = 0x1, | ||
| 4860 | D3D12_RAYTRACING_GEOMETRY_FLAG_NO_DUPLICATE_ANYHIT_INVOCATION = 0x2, | ||
| 4861 | } D3D12_RAYTRACING_GEOMETRY_FLAGS; | ||
| 4862 | cpp_quote("DEFINE_ENUM_FLAG_OPERATORS( D3D12_RAYTRACING_GEOMETRY_FLAGS )") | ||
| 4863 | |||
| 4864 | typedef enum D3D12_RAYTRACING_GEOMETRY_TYPE | ||
| 4865 | { | ||
| 4866 | D3D12_RAYTRACING_GEOMETRY_TYPE_TRIANGLES, | ||
| 4867 | D3D12_RAYTRACING_GEOMETRY_TYPE_PROCEDURAL_PRIMITIVE_AABBS, | ||
| 4868 | D3D12_RAYTRACING_GEOMETRY_TYPE_OMM_TRIANGLES | ||
| 4869 | } D3D12_RAYTRACING_GEOMETRY_TYPE; | ||
| 4870 | |||
| 4871 | typedef enum D3D12_RAYTRACING_INSTANCE_FLAGS | ||
| 4872 | { | ||
| 4873 | D3D12_RAYTRACING_INSTANCE_FLAG_NONE = 0x0, | ||
| 4874 | D3D12_RAYTRACING_INSTANCE_FLAG_TRIANGLE_CULL_DISABLE = 0x1, | ||
| 4875 | D3D12_RAYTRACING_INSTANCE_FLAG_TRIANGLE_FRONT_COUNTERCLOCKWISE = 0x2, | ||
| 4876 | D3D12_RAYTRACING_INSTANCE_FLAG_FORCE_OPAQUE = 0x4, | ||
| 4877 | D3D12_RAYTRACING_INSTANCE_FLAG_FORCE_NON_OPAQUE = 0x8, | ||
| 4878 | D3D12_RAYTRACING_INSTANCE_FLAG_FORCE_OMM_2_STATE = 0x10, | ||
| 4879 | D3D12_RAYTRACING_INSTANCE_FLAG_DISABLE_OMMS = 0x20 | ||
| 4880 | } D3D12_RAYTRACING_INSTANCE_FLAGS; | ||
| 4881 | cpp_quote("DEFINE_ENUM_FLAG_OPERATORS( D3D12_RAYTRACING_INSTANCE_FLAGS )") | ||
| 4882 | |||
| 4883 | typedef struct D3D12_GPU_VIRTUAL_ADDRESS_AND_STRIDE | ||
| 4884 | { | ||
| 4885 | D3D12_GPU_VIRTUAL_ADDRESS StartAddress; | ||
| 4886 | UINT64 StrideInBytes; | ||
| 4887 | } D3D12_GPU_VIRTUAL_ADDRESS_AND_STRIDE; | ||
| 4888 | |||
| 4889 | typedef struct D3D12_GPU_VIRTUAL_ADDRESS_RANGE | ||
| 4890 | { | ||
| 4891 | D3D12_GPU_VIRTUAL_ADDRESS StartAddress; | ||
| 4892 | UINT64 SizeInBytes; | ||
| 4893 | } D3D12_GPU_VIRTUAL_ADDRESS_RANGE; | ||
| 4894 | |||
| 4895 | typedef struct D3D12_GPU_VIRTUAL_ADDRESS_RANGE_AND_STRIDE | ||
| 4896 | { | ||
| 4897 | D3D12_GPU_VIRTUAL_ADDRESS StartAddress; | ||
| 4898 | UINT64 SizeInBytes; | ||
| 4899 | UINT64 StrideInBytes; | ||
| 4900 | } D3D12_GPU_VIRTUAL_ADDRESS_RANGE_AND_STRIDE; | ||
| 4901 | |||
| 4902 | typedef struct D3D12_RAYTRACING_GEOMETRY_TRIANGLES_DESC | ||
| 4903 | { | ||
| 4904 | D3D12_GPU_VIRTUAL_ADDRESS Transform3x4; | ||
| 4905 | DXGI_FORMAT IndexFormat; | ||
| 4906 | DXGI_FORMAT VertexFormat; | ||
| 4907 | UINT IndexCount; | ||
| 4908 | UINT VertexCount; | ||
| 4909 | D3D12_GPU_VIRTUAL_ADDRESS IndexBuffer; | ||
| 4910 | D3D12_GPU_VIRTUAL_ADDRESS_AND_STRIDE VertexBuffer; | ||
| 4911 | } D3D12_RAYTRACING_GEOMETRY_TRIANGLES_DESC; | ||
| 4912 | |||
| 4913 | typedef struct D3D12_RAYTRACING_AABB | ||
| 4914 | { | ||
| 4915 | FLOAT MinX; | ||
| 4916 | FLOAT MinY; | ||
| 4917 | FLOAT MinZ; | ||
| 4918 | FLOAT MaxX; | ||
| 4919 | FLOAT MaxY; | ||
| 4920 | FLOAT MaxZ; | ||
| 4921 | } D3D12_RAYTRACING_AABB; | ||
| 4922 | |||
| 4923 | typedef struct D3D12_RAYTRACING_GEOMETRY_AABBS_DESC | ||
| 4924 | { | ||
| 4925 | UINT64 AABBCount; | ||
| 4926 | D3D12_GPU_VIRTUAL_ADDRESS_AND_STRIDE AABBs; | ||
| 4927 | } D3D12_RAYTRACING_GEOMETRY_AABBS_DESC; | ||
| 4928 | |||
| 4929 | typedef enum D3D12_RAYTRACING_OPACITY_MICROMAP_SPECIAL_INDEX | ||
| 4930 | { | ||
| 4931 | D3D12_RAYTRACING_OPACITY_MICROMAP_SPECIAL_INDEX_FULLY_TRANSPARENT = -1, | ||
| 4932 | D3D12_RAYTRACING_OPACITY_MICROMAP_SPECIAL_INDEX_FULLY_OPAQUE = -2, | ||
| 4933 | D3D12_RAYTRACING_OPACITY_MICROMAP_SPECIAL_INDEX_FULLY_UNKNOWN_TRANSPARENT = -3, | ||
| 4934 | D3D12_RAYTRACING_OPACITY_MICROMAP_SPECIAL_INDEX_FULLY_UNKNOWN_OPAQUE = -4, | ||
| 4935 | } D3D12_RAYTRACING_OPACITY_MICROMAP_SPECIAL_INDEX; | ||
| 4936 | |||
| 4937 | typedef enum D3D12_RAYTRACING_OPACITY_MICROMAP_STATE | ||
| 4938 | { | ||
| 4939 | D3D12_RAYTRACING_OPACITY_MICROMAP_STATE_TRANSPARENT = 0, | ||
| 4940 | D3D12_RAYTRACING_OPACITY_MICROMAP_STATE_OPAQUE = 1, | ||
| 4941 | D3D12_RAYTRACING_OPACITY_MICROMAP_STATE_UNKNOWN_TRANSPARENT = 2, | ||
| 4942 | D3D12_RAYTRACING_OPACITY_MICROMAP_STATE_UNKNOWN_OPAQUE = 3, | ||
| 4943 | } D3D12_RAYTRACING_OPACITY_MICROMAP_STATE; | ||
| 4944 | |||
| 4945 | typedef enum D3D12_RAYTRACING_OPACITY_MICROMAP_FORMAT | ||
| 4946 | { | ||
| 4947 | D3D12_RAYTRACING_OPACITY_MICROMAP_FORMAT_OC1_2_STATE = 0x1, | ||
| 4948 | D3D12_RAYTRACING_OPACITY_MICROMAP_FORMAT_OC1_4_STATE = 0x2, | ||
| 4949 | } D3D12_RAYTRACING_OPACITY_MICROMAP_FORMAT; | ||
| 4950 | |||
| 4951 | cpp_quote("typedef struct D3D12_RAYTRACING_OPACITY_MICROMAP_DESC") | ||
| 4952 | cpp_quote("{") | ||
| 4953 | cpp_quote(" UINT ByteOffset;") | ||
| 4954 | cpp_quote(" UINT SubdivisionLevel : 16;") | ||
| 4955 | cpp_quote(" D3D12_RAYTRACING_OPACITY_MICROMAP_FORMAT Format : 16;") | ||
| 4956 | cpp_quote("} D3D12_RAYTRACING_OPACITY_MICROMAP_DESC;") | ||
| 4957 | |||
| 4958 | typedef struct D3D12_RAYTRACING_GEOMETRY_OMM_LINKAGE_DESC | ||
| 4959 | { | ||
| 4960 | D3D12_GPU_VIRTUAL_ADDRESS_AND_STRIDE OpacityMicromapIndexBuffer; | ||
| 4961 | DXGI_FORMAT OpacityMicromapIndexFormat; | ||
| 4962 | UINT OpacityMicromapBaseLocation; | ||
| 4963 | D3D12_GPU_VIRTUAL_ADDRESS OpacityMicromapArray; | ||
| 4964 | } D3D12_RAYTRACING_GEOMETRY_OMM_LINKAGE_DESC; | ||
| 4965 | |||
| 4966 | typedef struct D3D12_RAYTRACING_GEOMETRY_OMM_TRIANGLES_DESC | ||
| 4967 | { | ||
| 4968 | const D3D12_RAYTRACING_GEOMETRY_TRIANGLES_DESC* pTriangles; | ||
| 4969 | const D3D12_RAYTRACING_GEOMETRY_OMM_LINKAGE_DESC* pOmmLinkage; | ||
| 4970 | } D3D12_RAYTRACING_GEOMETRY_OMM_TRIANGLES_DESC; | ||
| 4971 | |||
| 4972 | typedef enum D3D12_RAYTRACING_ACCELERATION_STRUCTURE_BUILD_FLAGS | ||
| 4973 | { | ||
| 4974 | D3D12_RAYTRACING_ACCELERATION_STRUCTURE_BUILD_FLAG_NONE = 0x00, | ||
| 4975 | D3D12_RAYTRACING_ACCELERATION_STRUCTURE_BUILD_FLAG_ALLOW_UPDATE = 0x01, | ||
| 4976 | D3D12_RAYTRACING_ACCELERATION_STRUCTURE_BUILD_FLAG_ALLOW_COMPACTION = 0x02, | ||
| 4977 | D3D12_RAYTRACING_ACCELERATION_STRUCTURE_BUILD_FLAG_PREFER_FAST_TRACE = 0x04, | ||
| 4978 | D3D12_RAYTRACING_ACCELERATION_STRUCTURE_BUILD_FLAG_PREFER_FAST_BUILD = 0x08, | ||
| 4979 | D3D12_RAYTRACING_ACCELERATION_STRUCTURE_BUILD_FLAG_MINIMIZE_MEMORY = 0x10, | ||
| 4980 | D3D12_RAYTRACING_ACCELERATION_STRUCTURE_BUILD_FLAG_PERFORM_UPDATE = 0x20, | ||
| 4981 | D3D12_RAYTRACING_ACCELERATION_STRUCTURE_BUILD_FLAG_ALLOW_OMM_UPDATE = 0x40, | ||
| 4982 | D3D12_RAYTRACING_ACCELERATION_STRUCTURE_BUILD_FLAG_ALLOW_DISABLE_OMMS = 0x80, | ||
| 4983 | |||
| 4984 | } D3D12_RAYTRACING_ACCELERATION_STRUCTURE_BUILD_FLAGS; | ||
| 4985 | cpp_quote("DEFINE_ENUM_FLAG_OPERATORS( D3D12_RAYTRACING_ACCELERATION_STRUCTURE_BUILD_FLAGS )") | ||
| 4986 | |||
| 4987 | typedef enum D3D12_RAYTRACING_ACCELERATION_STRUCTURE_COPY_MODE | ||
| 4988 | { | ||
| 4989 | D3D12_RAYTRACING_ACCELERATION_STRUCTURE_COPY_MODE_CLONE = 0x0, | ||
| 4990 | D3D12_RAYTRACING_ACCELERATION_STRUCTURE_COPY_MODE_COMPACT = 0x1, | ||
| 4991 | D3D12_RAYTRACING_ACCELERATION_STRUCTURE_COPY_MODE_VISUALIZATION_DECODE_FOR_TOOLS = 0x2, | ||
| 4992 | D3D12_RAYTRACING_ACCELERATION_STRUCTURE_COPY_MODE_SERIALIZE = 0x3, | ||
| 4993 | D3D12_RAYTRACING_ACCELERATION_STRUCTURE_COPY_MODE_DESERIALIZE = 0x4, | ||
| 4994 | } D3D12_RAYTRACING_ACCELERATION_STRUCTURE_COPY_MODE; | ||
| 4995 | |||
| 4996 | typedef enum D3D12_RAYTRACING_ACCELERATION_STRUCTURE_TYPE | ||
| 4997 | { | ||
| 4998 | D3D12_RAYTRACING_ACCELERATION_STRUCTURE_TYPE_TOP_LEVEL = 0x0, | ||
| 4999 | D3D12_RAYTRACING_ACCELERATION_STRUCTURE_TYPE_BOTTOM_LEVEL = 0x1, | ||
| 5000 | D3D12_RAYTRACING_ACCELERATION_STRUCTURE_TYPE_OPACITY_MICROMAP_ARRAY = 0x2, | ||
| 5001 | } D3D12_RAYTRACING_ACCELERATION_STRUCTURE_TYPE; | ||
| 5002 | |||
| 5003 | typedef enum D3D12_ELEMENTS_LAYOUT | ||
| 5004 | { | ||
| 5005 | D3D12_ELEMENTS_LAYOUT_ARRAY = 0x0, | ||
| 5006 | D3D12_ELEMENTS_LAYOUT_ARRAY_OF_POINTERS = 0x1 | ||
| 5007 | } D3D12_ELEMENTS_LAYOUT; | ||
| 5008 | |||
| 5009 | typedef enum D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_TYPE | ||
| 5010 | { | ||
| 5011 | D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_COMPACTED_SIZE = 0x0, | ||
| 5012 | D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_TOOLS_VISUALIZATION = 0x1, | ||
| 5013 | D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_SERIALIZATION = 0x2, | ||
| 5014 | D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_CURRENT_SIZE = 0x3, | ||
| 5015 | } D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_TYPE; | ||
| 5016 | |||
| 5017 | typedef struct D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_DESC | ||
| 5018 | { | ||
| 5019 | D3D12_GPU_VIRTUAL_ADDRESS DestBuffer; | ||
| 5020 | D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_TYPE InfoType; | ||
| 5021 | } D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_DESC; | ||
| 5022 | |||
| 5023 | typedef struct D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_COMPACTED_SIZE_DESC | ||
| 5024 | { | ||
| 5025 | UINT64 CompactedSizeInBytes; | ||
| 5026 | } D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_COMPACTED_SIZE_DESC; | ||
| 5027 | |||
| 5028 | typedef struct D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_TOOLS_VISUALIZATION_DESC | ||
| 5029 | { | ||
| 5030 | UINT64 DecodedSizeInBytes; | ||
| 5031 | } D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_TOOLS_VISUALIZATION_DESC; | ||
| 5032 | |||
| 5033 | typedef struct D3D12_BUILD_RAYTRACING_ACCELERATION_STRUCTURE_TOOLS_VISUALIZATION_HEADER | ||
| 5034 | { | ||
| 5035 | D3D12_RAYTRACING_ACCELERATION_STRUCTURE_TYPE Type; | ||
| 5036 | UINT NumDescs; | ||
| 5037 | } D3D12_BUILD_RAYTRACING_ACCELERATION_STRUCTURE_TOOLS_VISUALIZATION_HEADER; | ||
| 5038 | cpp_quote("// Regarding D3D12_BUILD_RAY_TRACING_ACCELERATION_STRUCTURE_TOOLS_VISUALIZATION_HEADER above,") | ||
| 5039 | cpp_quote("// depending on Type field, NumDescs above is followed by either:") | ||
| 5040 | cpp_quote("// D3D12_RAY_TRACING_INSTANCE_DESC InstanceDescs[NumDescs]") | ||
| 5041 | cpp_quote("// or D3D12_RAY_TRACING_GEOMETRY_DESC GeometryDescs[NumDescs].") | ||
| 5042 | cpp_quote("// or D3D12_RAYTRACING_OPACITY_MICROMAP_ARRAY_DESC (NumDescs == 1 in this case).") | ||
| 5043 | cpp_quote("//") | ||
| 5044 | cpp_quote("// For D3D12_RAYTRACING_OPACITY_MICROMAP_ARRAY_DESC, the pOmmHistogram pointer becomes a GPUVA instead of CPU pointer") | ||
| 5045 | cpp_quote("//") | ||
| 5046 | cpp_quote("// There is 4 bytes of padding between GeometryDesc structs in the array so alignment is natural when viewed by CPU.") | ||
| 5047 | cpp_quote("") | ||
| 5048 | |||
| 5049 | typedef struct D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_SERIALIZATION_DESC | ||
| 5050 | { | ||
| 5051 | UINT64 SerializedSizeInBytes; | ||
| 5052 | union | ||
| 5053 | { | ||
| 5054 | UINT64 NumBottomLevelAccelerationStructurePointers; | ||
| 5055 | UINT64 NumBottomLevelAccelerationStructureHeaderAndPointerListPairs; | ||
| 5056 | }; | ||
| 5057 | } D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_SERIALIZATION_DESC; | ||
| 5058 | |||
| 5059 | typedef struct D3D12_SERIALIZED_DATA_DRIVER_MATCHING_IDENTIFIER | ||
| 5060 | { | ||
| 5061 | GUID DriverOpaqueGUID; | ||
| 5062 | BYTE DriverOpaqueVersioningData[16]; | ||
| 5063 | } D3D12_SERIALIZED_DATA_DRIVER_MATCHING_IDENTIFIER; | ||
| 5064 | |||
| 5065 | typedef enum D3D12_SERIALIZED_DATA_TYPE | ||
| 5066 | { | ||
| 5067 | D3D12_SERIALIZED_DATA_RAYTRACING_ACCELERATION_STRUCTURE = 0x0, | ||
| 5068 | D3D12_SERIALIZED_DATA_APPLICATION_SPECIFIC_DRIVER_STATE = 0x1, | ||
| 5069 | } D3D12_SERIALIZED_DATA_TYPE; | ||
| 5070 | |||
| 5071 | typedef enum D3D12_DRIVER_MATCHING_IDENTIFIER_STATUS | ||
| 5072 | { | ||
| 5073 | D3D12_DRIVER_MATCHING_IDENTIFIER_COMPATIBLE_WITH_DEVICE = 0x0, | ||
| 5074 | D3D12_DRIVER_MATCHING_IDENTIFIER_UNSUPPORTED_TYPE = 0x1, | ||
| 5075 | D3D12_DRIVER_MATCHING_IDENTIFIER_UNRECOGNIZED = 0x2, | ||
| 5076 | D3D12_DRIVER_MATCHING_IDENTIFIER_INCOMPATIBLE_VERSION = 0x3, | ||
| 5077 | D3D12_DRIVER_MATCHING_IDENTIFIER_INCOMPATIBLE_TYPE = 0x4, | ||
| 5078 | } D3D12_DRIVER_MATCHING_IDENTIFIER_STATUS; | ||
| 5079 | |||
| 5080 | typedef struct D3D12_SERIALIZED_RAYTRACING_ACCELERATION_STRUCTURE_HEADER | ||
| 5081 | { | ||
| 5082 | D3D12_SERIALIZED_DATA_DRIVER_MATCHING_IDENTIFIER DriverMatchingIdentifier; | ||
| 5083 | UINT64 SerializedSizeInBytesIncludingHeader; | ||
| 5084 | UINT64 DeserializedSizeInBytes; | ||
| 5085 | UINT64 NumBottomLevelAccelerationStructurePointersAfterHeader; | ||
| 5086 | } D3D12_SERIALIZED_RAYTRACING_ACCELERATION_STRUCTURE_HEADER; | ||
| 5087 | |||
| 5088 | typedef enum D3D12_SERIALIZED_RAYTRACING_ACCELERATION_STRUCTURE_HEADER_POSTAMBLE_TYPE | ||
| 5089 | { | ||
| 5090 | D3D12_SERIALIZED_RAYTRACING_ACCELERATION_STRUCTURE_HEADER_POSTAMBLE_TYPE_NONE = 0, | ||
| 5091 | D3D12_SERIALIZED_RAYTRACING_ACCELERATION_STRUCTURE_HEADER_POSTAMBLE_TYPE_BOTTOM_LEVEL_POINTERS = 0, | ||
| 5092 | D3D12_SERIALIZED_RAYTRACING_ACCELERATION_STRUCTURE_HEADER_POSTAMBLE_TYPE_BLOCKS = 0xffffffff | ||
| 5093 | } D3D12_SERIALIZED_RAYTRACING_ACCELERATION_STRUCTURE_HEADER_POSTAMBLE_TYPE; | ||
| 5094 | |||
| 5095 | typedef struct D3D12_SERIALIZED_RAYTRACING_ACCELERATION_STRUCTURE_HEADER1 | ||
| 5096 | { | ||
| 5097 | D3D12_SERIALIZED_DATA_DRIVER_MATCHING_IDENTIFIER DriverMatchingIdentifier; | ||
| 5098 | UINT64 SerializedSizeInBytesIncludingHeader; | ||
| 5099 | UINT64 DeserializedSizeInBytes; | ||
| 5100 | union | ||
| 5101 | { | ||
| 5102 | UINT NumBottomLevelAccelerationStructurePointersAfterHeader; | ||
| 5103 | UINT NumBlocks; | ||
| 5104 | }; | ||
| 5105 | D3D12_SERIALIZED_RAYTRACING_ACCELERATION_STRUCTURE_HEADER_POSTAMBLE_TYPE HeaderPostambleType; | ||
| 5106 | } D3D12_SERIALIZED_RAYTRACING_ACCELERATION_STRUCTURE_HEADER1; | ||
| 5107 | |||
| 5108 | typedef enum D3D12_SERIALIZED_BLOCK_TYPE | ||
| 5109 | { | ||
| 5110 | D3D12_RAYTRACING_SERIALIZED_BLOCK_TYPE_OPACITY_MICROMAPS = 0x0, | ||
| 5111 | } D3D12_RAYTRACING_SERIALIZED_BLOCK_TYPE; | ||
| 5112 | |||
| 5113 | typedef struct D3D12_RAYTRACING_SERIALIZED_BLOCK | ||
| 5114 | { | ||
| 5115 | D3D12_RAYTRACING_SERIALIZED_BLOCK_TYPE Type; | ||
| 5116 | UINT64 NumBlockPointersAfterHeader; | ||
| 5117 | } D3D12_RAYTRACING_SERIALIZED_BLOCK; | ||
| 5118 | |||
| 5119 | typedef struct D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_CURRENT_SIZE_DESC | ||
| 5120 | { | ||
| 5121 | UINT64 CurrentSizeInBytes; | ||
| 5122 | } D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_CURRENT_SIZE_DESC; | ||
| 5123 | |||
| 5124 | typedef struct D3D12_RAYTRACING_INSTANCE_DESC | ||
| 5125 | { | ||
| 5126 | FLOAT Transform[3][4]; | ||
| 5127 | UINT InstanceID : 24; | ||
| 5128 | UINT InstanceMask : 8; | ||
| 5129 | UINT InstanceContributionToHitGroupIndex : 24; | ||
| 5130 | UINT Flags : 8; | ||
| 5131 | D3D12_GPU_VIRTUAL_ADDRESS AccelerationStructure; | ||
| 5132 | } D3D12_RAYTRACING_INSTANCE_DESC; | ||
| 5133 | |||
| 5134 | typedef struct D3D12_RAYTRACING_GEOMETRY_DESC | ||
| 5135 | { | ||
| 5136 | D3D12_RAYTRACING_GEOMETRY_TYPE Type; | ||
| 5137 | D3D12_RAYTRACING_GEOMETRY_FLAGS Flags; | ||
| 5138 | union | ||
| 5139 | { | ||
| 5140 | D3D12_RAYTRACING_GEOMETRY_TRIANGLES_DESC Triangles; | ||
| 5141 | D3D12_RAYTRACING_GEOMETRY_AABBS_DESC AABBs; | ||
| 5142 | D3D12_RAYTRACING_GEOMETRY_OMM_TRIANGLES_DESC OmmTriangles; | ||
| 5143 | }; | ||
| 5144 | } D3D12_RAYTRACING_GEOMETRY_DESC; | ||
| 5145 | |||
| 5146 | typedef struct D3D12_RAYTRACING_OPACITY_MICROMAP_HISTOGRAM_ENTRY | ||
| 5147 | { | ||
| 5148 | UINT Count; | ||
| 5149 | UINT SubdivisionLevel; | ||
| 5150 | D3D12_RAYTRACING_OPACITY_MICROMAP_FORMAT Format; | ||
| 5151 | } D3D12_RAYTRACING_OPACITY_MICROMAP_HISTOGRAM_ENTRY; | ||
| 5152 | |||
| 5153 | typedef struct D3D12_RAYTRACING_OPACITY_MICROMAP_ARRAY_DESC | ||
| 5154 | { | ||
| 5155 | UINT NumOmmHistogramEntries; | ||
| 5156 | const D3D12_RAYTRACING_OPACITY_MICROMAP_HISTOGRAM_ENTRY* pOmmHistogram; | ||
| 5157 | D3D12_GPU_VIRTUAL_ADDRESS InputBuffer; | ||
| 5158 | D3D12_GPU_VIRTUAL_ADDRESS_AND_STRIDE PerOmmDescs; | ||
| 5159 | } D3D12_RAYTRACING_OPACITY_MICROMAP_ARRAY_DESC; | ||
| 5160 | |||
| 5161 | typedef struct D3D12_BUILD_RAYTRACING_ACCELERATION_STRUCTURE_INPUTS | ||
| 5162 | { | ||
| 5163 | D3D12_RAYTRACING_ACCELERATION_STRUCTURE_TYPE Type; | ||
| 5164 | D3D12_RAYTRACING_ACCELERATION_STRUCTURE_BUILD_FLAGS Flags; | ||
| 5165 | UINT NumDescs; | ||
| 5166 | D3D12_ELEMENTS_LAYOUT DescsLayout; | ||
| 5167 | union | ||
| 5168 | { | ||
| 5169 | D3D12_GPU_VIRTUAL_ADDRESS InstanceDescs; | ||
| 5170 | const D3D12_RAYTRACING_GEOMETRY_DESC* pGeometryDescs; | ||
| 5171 | const D3D12_RAYTRACING_GEOMETRY_DESC*const* ppGeometryDescs; | ||
| 5172 | const D3D12_RAYTRACING_OPACITY_MICROMAP_ARRAY_DESC* pOpacityMicromapArrayDesc; | ||
| 5173 | }; | ||
| 5174 | } D3D12_BUILD_RAYTRACING_ACCELERATION_STRUCTURE_INPUTS; | ||
| 5175 | |||
| 5176 | typedef struct D3D12_BUILD_RAYTRACING_ACCELERATION_STRUCTURE_DESC | ||
| 5177 | { | ||
| 5178 | D3D12_GPU_VIRTUAL_ADDRESS DestAccelerationStructureData; | ||
| 5179 | D3D12_BUILD_RAYTRACING_ACCELERATION_STRUCTURE_INPUTS Inputs; | ||
| 5180 | [annotation("_In_opt_")] D3D12_GPU_VIRTUAL_ADDRESS SourceAccelerationStructureData; | ||
| 5181 | D3D12_GPU_VIRTUAL_ADDRESS ScratchAccelerationStructureData; | ||
| 5182 | } D3D12_BUILD_RAYTRACING_ACCELERATION_STRUCTURE_DESC; | ||
| 5183 | |||
| 5184 | typedef struct D3D12_RAYTRACING_ACCELERATION_STRUCTURE_PREBUILD_INFO | ||
| 5185 | { | ||
| 5186 | UINT64 ResultDataMaxSizeInBytes; | ||
| 5187 | UINT64 ScratchDataSizeInBytes; | ||
| 5188 | UINT64 UpdateScratchDataSizeInBytes; | ||
| 5189 | } D3D12_RAYTRACING_ACCELERATION_STRUCTURE_PREBUILD_INFO; | ||
| 5190 | |||
| 5191 | typedef enum D3D12_RAYTRACING_OPACITY_MICROMAP_ARRAY_POSTBUILD_INFO_TYPE | ||
| 5192 | { | ||
| 5193 | D3D12_RAYTRACING_OPACITY_MICROMAP_ARRAY_POSTBUILD_INFO_CURRENT_SIZE = 0x0, | ||
| 5194 | D3D12_RAYTRACING_OPACITY_MICROMAP_ARRAY_POSTBUILD_INFO_TOOLS_VISUALIZATION = 0x1, | ||
| 5195 | } D3D12_RAYTRACING_OPACITY_MICROMAP_ARRAY_POSTBUILD_INFO_TYPE; | ||
| 5196 | |||
| 5197 | typedef struct D3D12_RAYTRACING_OPACITY_MICROMAP_ARRAY_POSTBUILD_INFO_DESC | ||
| 5198 | { | ||
| 5199 | D3D12_GPU_VIRTUAL_ADDRESS DestBuffer; | ||
| 5200 | D3D12_RAYTRACING_OPACITY_MICROMAP_ARRAY_POSTBUILD_INFO_TYPE InfoType; | ||
| 5201 | } D3D12_RAYTRACING_OPACITY_MICROMAP_ARRAY_POSTBUILD_INFO_DESC; | ||
| 5202 | |||
| 5203 | typedef struct D3D12_RAYTRACING_OPACITY_MICROMAP_ARRAY_POSTBUILD_INFO_CURRENT_SIZE_DESC | ||
| 5204 | { | ||
| 5205 | UINT64 CurrentSizeInBytes; | ||
| 5206 | } D3D12_RAYTRACING_OPACITY_MICROMAP_ARRAY_POSTBUILD_INFO_CURRENT_SIZE_DESC; | ||
| 5207 | |||
| 5208 | typedef struct D3D12_RAYTRACING_OPACITY_MICROMAP_ARRAY_POSTBUILD_INFO_TOOLS_VISUALIZATION_DESC | ||
| 5209 | { | ||
| 5210 | UINT64 DecodedSizeInBytes; | ||
| 5211 | } D3D12_RAYTRACING_OPACITY_MICROMAP_ARRAY_POSTBUILD_INFO_TOOLS_VISUALIZATION_DESC; | ||
| 5212 | |||
| 5213 | typedef enum D3D12_RAY_FLAGS | ||
| 5214 | { | ||
| 5215 | D3D12_RAY_FLAG_NONE = 0x00, | ||
| 5216 | D3D12_RAY_FLAG_FORCE_OPAQUE = 0x01, | ||
| 5217 | D3D12_RAY_FLAG_FORCE_NON_OPAQUE = 0x02, | ||
| 5218 | D3D12_RAY_FLAG_ACCEPT_FIRST_HIT_AND_END_SEARCH = 0x04, | ||
| 5219 | D3D12_RAY_FLAG_SKIP_CLOSEST_HIT_SHADER = 0x08, | ||
| 5220 | D3D12_RAY_FLAG_CULL_BACK_FACING_TRIANGLES = 0x10, | ||
| 5221 | D3D12_RAY_FLAG_CULL_FRONT_FACING_TRIANGLES = 0x20, | ||
| 5222 | D3D12_RAY_FLAG_CULL_OPAQUE = 0x40, | ||
| 5223 | D3D12_RAY_FLAG_CULL_NON_OPAQUE = 0x80, | ||
| 5224 | D3D12_RAY_FLAG_SKIP_TRIANGLES = 0x100, | ||
| 5225 | D3D12_RAY_FLAG_SKIP_PROCEDURAL_PRIMITIVES = 0x200, | ||
| 5226 | D3D12_RAY_FLAG_FORCE_OMM_2_STATE = 0x400, | ||
| 5227 | } D3D12_RAY_FLAGS; | ||
| 5228 | cpp_quote( "DEFINE_ENUM_FLAG_OPERATORS( D3D12_RAY_FLAGS )" ) | ||
| 5229 | |||
| 5230 | typedef enum D3D12_HIT_KIND | ||
| 5231 | { | ||
| 5232 | D3D12_HIT_KIND_TRIANGLE_FRONT_FACE = 0xfe, | ||
| 5233 | D3D12_HIT_KIND_TRIANGLE_BACK_FACE = 0xff, | ||
| 5234 | } D3D12_HIT_KIND; | ||
| 5235 | |||
| 5236 | [uuid(8b4f173b-2fea-4b80-8f58-4307191ab95d), object, local, pointer_default(unique)] | ||
| 5237 | interface ID3D12Device5 | ||
| 5238 | : ID3D12Device4 | ||
| 5239 | { | ||
| 5240 | HRESULT CreateLifetimeTracker( | ||
| 5241 | [annotation("_In_")] ID3D12LifetimeOwner* pOwner, | ||
| 5242 | [in] REFIID riid, // Expected: ID3D12LifetimeTracker* | ||
| 5243 | [out, iid_is(riid), annotation("_COM_Outptr_")] void** ppvTracker | ||
| 5244 | ); | ||
| 5245 | |||
| 5246 | void RemoveDevice(); | ||
| 5247 | |||
| 5248 | HRESULT EnumerateMetaCommands( | ||
| 5249 | [annotation("_Inout_")] UINT* pNumMetaCommands, | ||
| 5250 | [annotation("_Out_writes_opt_(*pNumMetaCommands)")] D3D12_META_COMMAND_DESC* pDescs | ||
| 5251 | ); | ||
| 5252 | |||
| 5253 | HRESULT EnumerateMetaCommandParameters( | ||
| 5254 | [annotation("_In_")] REFGUID CommandId, | ||
| 5255 | [annotation("_In_")] D3D12_META_COMMAND_PARAMETER_STAGE Stage, | ||
| 5256 | [annotation("_Out_opt_")] UINT* pTotalStructureSizeInBytes, | ||
| 5257 | [annotation("_Inout_")] UINT* pParameterCount, | ||
| 5258 | [annotation("_Out_writes_opt_(*pParameterCount)")] D3D12_META_COMMAND_PARAMETER_DESC* pParameterDescs | ||
| 5259 | ); | ||
| 5260 | |||
| 5261 | HRESULT CreateMetaCommand( | ||
| 5262 | [annotation("_In_")] REFGUID CommandId, | ||
| 5263 | [annotation("_In_")] UINT NodeMask, | ||
| 5264 | [annotation("_In_reads_bytes_opt_(CreationParametersDataSizeInBytes)")] const void * pCreationParametersData, | ||
| 5265 | [annotation("_In_")] SIZE_T CreationParametersDataSizeInBytes, | ||
| 5266 | [in] REFIID riid, | ||
| 5267 | [out, iid_is(riid), annotation("_COM_Outptr_")] void** ppMetaCommand | ||
| 5268 | ); | ||
| 5269 | |||
| 5270 | HRESULT CreateStateObject( | ||
| 5271 | [in] const D3D12_STATE_OBJECT_DESC* pDesc, | ||
| 5272 | [in] REFIID riid, // ID3D12StateObject | ||
| 5273 | [out, iid_is(riid), annotation("_COM_Outptr_")] void** ppStateObject | ||
| 5274 | ); | ||
| 5275 | |||
| 5276 | void GetRaytracingAccelerationStructurePrebuildInfo( | ||
| 5277 | [annotation("_In_")] const D3D12_BUILD_RAYTRACING_ACCELERATION_STRUCTURE_INPUTS* pDesc, | ||
| 5278 | [annotation("_Out_")] D3D12_RAYTRACING_ACCELERATION_STRUCTURE_PREBUILD_INFO *pInfo | ||
| 5279 | ); | ||
| 5280 | |||
| 5281 | D3D12_DRIVER_MATCHING_IDENTIFIER_STATUS CheckDriverMatchingIdentifier( | ||
| 5282 | [annotation("_In_")] D3D12_SERIALIZED_DATA_TYPE SerializedDataType, | ||
| 5283 | [annotation("_In_")] const D3D12_SERIALIZED_DATA_DRIVER_MATCHING_IDENTIFIER* pIdentifierToCheck); | ||
| 5284 | } | ||
| 5285 | |||
| 5286 | #include "D3D12MarkerApiEnums.idl" | ||
| 5287 | |||
| 5288 | typedef struct D3D12_AUTO_BREADCRUMB_NODE | ||
| 5289 | { | ||
| 5290 | const char *pCommandListDebugNameA; | ||
| 5291 | const wchar_t *pCommandListDebugNameW; | ||
| 5292 | const char *pCommandQueueDebugNameA; | ||
| 5293 | const wchar_t *pCommandQueueDebugNameW; | ||
| 5294 | ID3D12GraphicsCommandList *pCommandList; | ||
| 5295 | ID3D12CommandQueue *pCommandQueue; | ||
| 5296 | UINT32 BreadcrumbCount; | ||
| 5297 | const UINT32 *pLastBreadcrumbValue; | ||
| 5298 | const D3D12_AUTO_BREADCRUMB_OP *pCommandHistory; | ||
| 5299 | const struct D3D12_AUTO_BREADCRUMB_NODE *pNext; // pointer to next node | ||
| 5300 | } D3D12_AUTO_BREADCRUMB_NODE; | ||
| 5301 | |||
| 5302 | typedef struct D3D12_DRED_BREADCRUMB_CONTEXT | ||
| 5303 | { | ||
| 5304 | UINT BreadcrumbIndex; | ||
| 5305 | const wchar_t *pContextString; | ||
| 5306 | } D3D12_DRED_BREADCRUMB_CONTEXT; | ||
| 5307 | |||
| 5308 | // !!! Must be castable to D3D12_AUTO_BREADCRUMB_NODE | ||
| 5309 | typedef struct D3D12_AUTO_BREADCRUMB_NODE1 | ||
| 5310 | { | ||
| 5311 | const char *pCommandListDebugNameA; | ||
| 5312 | const wchar_t *pCommandListDebugNameW; | ||
| 5313 | const char *pCommandQueueDebugNameA; | ||
| 5314 | const wchar_t *pCommandQueueDebugNameW; | ||
| 5315 | ID3D12GraphicsCommandList *pCommandList; | ||
| 5316 | ID3D12CommandQueue *pCommandQueue; | ||
| 5317 | UINT BreadcrumbCount; | ||
| 5318 | const UINT *pLastBreadcrumbValue; | ||
| 5319 | const D3D12_AUTO_BREADCRUMB_OP *pCommandHistory; | ||
| 5320 | const struct D3D12_AUTO_BREADCRUMB_NODE1 *pNext; // pointer to next node | ||
| 5321 | UINT BreadcrumbContextsCount; | ||
| 5322 | D3D12_DRED_BREADCRUMB_CONTEXT *pBreadcrumbContexts; | ||
| 5323 | } D3D12_AUTO_BREADCRUMB_NODE1; | ||
| 5324 | |||
| 5325 | // D3D12_DRED_VERSION | ||
| 5326 | typedef enum D3D12_DRED_VERSION | ||
| 5327 | { | ||
| 5328 | D3D12_DRED_VERSION_1_0 = 0x1, | ||
| 5329 | D3D12_DRED_VERSION_1_1 = 0x2, | ||
| 5330 | D3D12_DRED_VERSION_1_2 = 0x3, | ||
| 5331 | D3D12_DRED_VERSION_1_3 = 0x4, | ||
| 5332 | } D3D12_DRED_VERSION; | ||
| 5333 | |||
| 5334 | typedef enum D3D12_DRED_FLAGS | ||
| 5335 | { | ||
| 5336 | D3D12_DRED_FLAG_NONE = 0, | ||
| 5337 | D3D12_DRED_FLAG_FORCE_ENABLE = 1, | ||
| 5338 | D3D12_DRED_FLAG_DISABLE_AUTOBREADCRUMBS = 2, | ||
| 5339 | } D3D12_DRED_FLAGS; | ||
| 5340 | cpp_quote("DEFINE_ENUM_FLAG_OPERATORS( D3D12_DRED_FLAGS )") | ||
| 5341 | |||
| 5342 | typedef enum D3D12_DRED_ENABLEMENT | ||
| 5343 | { | ||
| 5344 | D3D12_DRED_ENABLEMENT_SYSTEM_CONTROLLED = 0, | ||
| 5345 | D3D12_DRED_ENABLEMENT_FORCED_OFF = 1, | ||
| 5346 | D3D12_DRED_ENABLEMENT_FORCED_ON = 2, | ||
| 5347 | } D3D12_DRED_ENABLEMENT; | ||
| 5348 | |||
| 5349 | typedef struct D3D12_DEVICE_REMOVED_EXTENDED_DATA | ||
| 5350 | { | ||
| 5351 | [annotation("_In_")] D3D12_DRED_FLAGS Flags; // Dred flags | ||
| 5352 | [annotation("_Out_")] D3D12_AUTO_BREADCRUMB_NODE *pHeadAutoBreadcrumbNode; // Pointer to head of a linked list of auto-breadcrumb data | ||
| 5353 | } D3D12_DEVICE_REMOVED_EXTENDED_DATA; | ||
| 5354 | |||
| 5355 | typedef enum D3D12_DRED_ALLOCATION_TYPE | ||
| 5356 | { | ||
| 5357 | // Enum starts at 19 and skips 26 to maintain compatibility with older D3D12 drivers | ||
| 5358 | D3D12_DRED_ALLOCATION_TYPE_COMMAND_QUEUE = 19, | ||
| 5359 | D3D12_DRED_ALLOCATION_TYPE_COMMAND_ALLOCATOR = 20, | ||
| 5360 | D3D12_DRED_ALLOCATION_TYPE_PIPELINE_STATE = 21, | ||
| 5361 | D3D12_DRED_ALLOCATION_TYPE_COMMAND_LIST = 22, | ||
| 5362 | D3D12_DRED_ALLOCATION_TYPE_FENCE = 23, | ||
| 5363 | D3D12_DRED_ALLOCATION_TYPE_DESCRIPTOR_HEAP = 24, | ||
| 5364 | D3D12_DRED_ALLOCATION_TYPE_HEAP = 25, | ||
| 5365 | D3D12_DRED_ALLOCATION_TYPE_QUERY_HEAP = 27, | ||
| 5366 | D3D12_DRED_ALLOCATION_TYPE_COMMAND_SIGNATURE = 28, | ||
| 5367 | D3D12_DRED_ALLOCATION_TYPE_PIPELINE_LIBRARY = 29, | ||
| 5368 | D3D12_DRED_ALLOCATION_TYPE_VIDEO_DECODER = 30, | ||
| 5369 | D3D12_DRED_ALLOCATION_TYPE_VIDEO_PROCESSOR = 32, | ||
| 5370 | D3D12_DRED_ALLOCATION_TYPE_RESOURCE = 34, | ||
| 5371 | D3D12_DRED_ALLOCATION_TYPE_PASS = 35, | ||
| 5372 | D3D12_DRED_ALLOCATION_TYPE_CRYPTOSESSION = 36, | ||
| 5373 | D3D12_DRED_ALLOCATION_TYPE_CRYPTOSESSIONPOLICY = 37, | ||
| 5374 | D3D12_DRED_ALLOCATION_TYPE_PROTECTEDRESOURCESESSION = 38, | ||
| 5375 | D3D12_DRED_ALLOCATION_TYPE_VIDEO_DECODER_HEAP = 39, | ||
| 5376 | D3D12_DRED_ALLOCATION_TYPE_COMMAND_POOL = 40, | ||
| 5377 | D3D12_DRED_ALLOCATION_TYPE_COMMAND_RECORDER = 41, | ||
| 5378 | D3D12_DRED_ALLOCATION_TYPE_STATE_OBJECT = 42, | ||
| 5379 | D3D12_DRED_ALLOCATION_TYPE_METACOMMAND = 43, | ||
| 5380 | D3D12_DRED_ALLOCATION_TYPE_SCHEDULINGGROUP = 44, | ||
| 5381 | D3D12_DRED_ALLOCATION_TYPE_VIDEO_MOTION_ESTIMATOR = 45, | ||
| 5382 | D3D12_DRED_ALLOCATION_TYPE_VIDEO_MOTION_VECTOR_HEAP = 46, | ||
| 5383 | D3D12_DRED_ALLOCATION_TYPE_VIDEO_EXTENSION_COMMAND = 47, | ||
| 5384 | D3D12_DRED_ALLOCATION_TYPE_VIDEO_ENCODER = 48, | ||
| 5385 | D3D12_DRED_ALLOCATION_TYPE_VIDEO_ENCODER_HEAP = 49, | ||
| 5386 | |||
| 5387 | |||
| 5388 | D3D12_DRED_ALLOCATION_TYPE_INVALID = 0xFFFFFFFF | ||
| 5389 | } D3D12_DRED_ALLOCATION_TYPE; | ||
| 5390 | |||
| 5391 | typedef struct D3D12_DRED_ALLOCATION_NODE | ||
| 5392 | { | ||
| 5393 | const char *ObjectNameA; | ||
| 5394 | const wchar_t *ObjectNameW; | ||
| 5395 | D3D12_DRED_ALLOCATION_TYPE AllocationType; | ||
| 5396 | const struct D3D12_DRED_ALLOCATION_NODE *pNext; | ||
| 5397 | } D3D12_DRED_ALLOCATION_NODE; | ||
| 5398 | |||
| 5399 | typedef struct D3D12_DRED_ALLOCATION_NODE1 | ||
| 5400 | { | ||
| 5401 | const char *ObjectNameA; | ||
| 5402 | const wchar_t *ObjectNameW; | ||
| 5403 | D3D12_DRED_ALLOCATION_TYPE AllocationType; | ||
| 5404 | const struct D3D12_DRED_ALLOCATION_NODE1 *pNext; | ||
| 5405 | const IUnknown *pObject; | ||
| 5406 | } D3D12_DRED_ALLOCATION_NODE1; | ||
| 5407 | |||
| 5408 | typedef struct D3D12_DRED_AUTO_BREADCRUMBS_OUTPUT | ||
| 5409 | { | ||
| 5410 | [annotation("_Out_")] const D3D12_AUTO_BREADCRUMB_NODE *pHeadAutoBreadcrumbNode; // Pointer to head of a null-terminated linked list of auto-breadcrumb data | ||
| 5411 | } D3D12_DRED_AUTO_BREADCRUMBS_OUTPUT; | ||
| 5412 | |||
| 5413 | typedef struct D3D12_DRED_AUTO_BREADCRUMBS_OUTPUT1 | ||
| 5414 | { | ||
| 5415 | [annotation("_Out_")] const D3D12_AUTO_BREADCRUMB_NODE1 *pHeadAutoBreadcrumbNode; // Pointer to head of a null-terminated linked list of auto-breadcrumb data | ||
| 5416 | } D3D12_DRED_AUTO_BREADCRUMBS_OUTPUT1; | ||
| 5417 | |||
| 5418 | typedef struct D3D12_DRED_PAGE_FAULT_OUTPUT | ||
| 5419 | { | ||
| 5420 | D3D12_GPU_VIRTUAL_ADDRESS PageFaultVA; //If the device removal was due to GPU Fault, this contains the VA of the faulting op | ||
| 5421 | [annotation("_Out_")] const D3D12_DRED_ALLOCATION_NODE *pHeadExistingAllocationNode; | ||
| 5422 | [annotation("_Out_")] const D3D12_DRED_ALLOCATION_NODE *pHeadRecentFreedAllocationNode; | ||
| 5423 | } D3D12_DRED_PAGE_FAULT_OUTPUT; | ||
| 5424 | |||
| 5425 | typedef struct D3D12_DRED_PAGE_FAULT_OUTPUT1 | ||
| 5426 | { | ||
| 5427 | D3D12_GPU_VIRTUAL_ADDRESS PageFaultVA; //If the device removal was due to GPU Fault, this contains the VA of the faulting op | ||
| 5428 | [annotation("_Out_")] const D3D12_DRED_ALLOCATION_NODE1 *pHeadExistingAllocationNode; | ||
| 5429 | [annotation("_Out_")] const D3D12_DRED_ALLOCATION_NODE1 *pHeadRecentFreedAllocationNode; | ||
| 5430 | } D3D12_DRED_PAGE_FAULT_OUTPUT1; | ||
| 5431 | |||
| 5432 | typedef enum D3D12_DRED_PAGE_FAULT_FLAGS | ||
| 5433 | { | ||
| 5434 | D3D12_DRED_PAGE_FAULT_FLAGS_NONE = 0, | ||
| 5435 | } D3D12_DRED_PAGE_FAULT_FLAGS; | ||
| 5436 | cpp_quote("DEFINE_ENUM_FLAG_OPERATORS( D3D12_DRED_PAGE_FAULT_FLAGS )") | ||
| 5437 | |||
| 5438 | typedef enum D3D12_DRED_DEVICE_STATE | ||
| 5439 | { | ||
| 5440 | D3D12_DRED_DEVICE_STATE_UNKNOWN = 0, // Only known if DRED event occurred | ||
| 5441 | D3D12_DRED_DEVICE_STATE_HUNG = 3, | ||
| 5442 | D3D12_DRED_DEVICE_STATE_FAULT = 6, | ||
| 5443 | D3D12_DRED_DEVICE_STATE_PAGEFAULT = 7, | ||
| 5444 | } D3D12_DRED_DEVICE_STATE; | ||
| 5445 | |||
| 5446 | typedef struct D3D12_DRED_PAGE_FAULT_OUTPUT2 | ||
| 5447 | { | ||
| 5448 | D3D12_GPU_VIRTUAL_ADDRESS PageFaultVA; //If the device removal was due to GPU Fault, this contains the VA of the faulting op | ||
| 5449 | [annotation("_Out_")] const D3D12_DRED_ALLOCATION_NODE1 *pHeadExistingAllocationNode; | ||
| 5450 | [annotation("_Out_")] const D3D12_DRED_ALLOCATION_NODE1 *pHeadRecentFreedAllocationNode; | ||
| 5451 | D3D12_DRED_PAGE_FAULT_FLAGS PageFaultFlags; | ||
| 5452 | |||
| 5453 | } D3D12_DRED_PAGE_FAULT_OUTPUT2; | ||
| 5454 | |||
| 5455 | typedef struct D3D12_DEVICE_REMOVED_EXTENDED_DATA1 | ||
| 5456 | { | ||
| 5457 | HRESULT DeviceRemovedReason; | ||
| 5458 | D3D12_DRED_AUTO_BREADCRUMBS_OUTPUT AutoBreadcrumbsOutput; | ||
| 5459 | D3D12_DRED_PAGE_FAULT_OUTPUT PageFaultOutput; | ||
| 5460 | } D3D12_DEVICE_REMOVED_EXTENDED_DATA1; | ||
| 5461 | |||
| 5462 | typedef struct D3D12_DEVICE_REMOVED_EXTENDED_DATA2 | ||
| 5463 | { | ||
| 5464 | HRESULT DeviceRemovedReason; | ||
| 5465 | D3D12_DRED_AUTO_BREADCRUMBS_OUTPUT1 AutoBreadcrumbsOutput; | ||
| 5466 | D3D12_DRED_PAGE_FAULT_OUTPUT1 PageFaultOutput; | ||
| 5467 | } D3D12_DEVICE_REMOVED_EXTENDED_DATA2; | ||
| 5468 | |||
| 5469 | typedef struct D3D12_DEVICE_REMOVED_EXTENDED_DATA3 | ||
| 5470 | { | ||
| 5471 | HRESULT DeviceRemovedReason; | ||
| 5472 | D3D12_DRED_AUTO_BREADCRUMBS_OUTPUT1 AutoBreadcrumbsOutput; | ||
| 5473 | D3D12_DRED_PAGE_FAULT_OUTPUT2 PageFaultOutput; | ||
| 5474 | D3D12_DRED_DEVICE_STATE DeviceState; | ||
| 5475 | } D3D12_DEVICE_REMOVED_EXTENDED_DATA3; | ||
| 5476 | |||
| 5477 | typedef struct D3D12_VERSIONED_DEVICE_REMOVED_EXTENDED_DATA | ||
| 5478 | { | ||
| 5479 | D3D12_DRED_VERSION Version; // Version of the DRED data | ||
| 5480 | union | ||
| 5481 | { | ||
| 5482 | D3D12_DEVICE_REMOVED_EXTENDED_DATA Dred_1_0; | ||
| 5483 | D3D12_DEVICE_REMOVED_EXTENDED_DATA1 Dred_1_1; | ||
| 5484 | D3D12_DEVICE_REMOVED_EXTENDED_DATA2 Dred_1_2; | ||
| 5485 | D3D12_DEVICE_REMOVED_EXTENDED_DATA3 Dred_1_3; | ||
| 5486 | }; | ||
| 5487 | } D3D12_VERSIONED_DEVICE_REMOVED_EXTENDED_DATA; | ||
| 5488 | |||
| 5489 | [uuid(82BC481C-6B9B-4030-AEDB-7EE3D1DF1E63), object, local, pointer_default(unique)] | ||
| 5490 | interface ID3D12DeviceRemovedExtendedDataSettings | ||
| 5491 | : IUnknown | ||
| 5492 | { | ||
| 5493 | void SetAutoBreadcrumbsEnablement(D3D12_DRED_ENABLEMENT Enablement); | ||
| 5494 | void SetPageFaultEnablement(D3D12_DRED_ENABLEMENT Enablement); | ||
| 5495 | void SetWatsonDumpEnablement(D3D12_DRED_ENABLEMENT Enablement); | ||
| 5496 | }; | ||
| 5497 | |||
| 5498 | [uuid(DBD5AE51-3317-4F0A-ADF9-1D7CEDCAAE0B), object, local, pointer_default(unique)] | ||
| 5499 | interface ID3D12DeviceRemovedExtendedDataSettings1 | ||
| 5500 | : ID3D12DeviceRemovedExtendedDataSettings | ||
| 5501 | { | ||
| 5502 | void SetBreadcrumbContextEnablement(D3D12_DRED_ENABLEMENT Enablement); | ||
| 5503 | }; | ||
| 5504 | |||
| 5505 | [uuid(61552388-01ab-4008-a436-83db189566ea), object, local, pointer_default(unique)] | ||
| 5506 | interface ID3D12DeviceRemovedExtendedDataSettings2 | ||
| 5507 | : ID3D12DeviceRemovedExtendedDataSettings1 | ||
| 5508 | { | ||
| 5509 | void UseMarkersOnlyAutoBreadcrumbs(BOOL MarkersOnly); | ||
| 5510 | }; | ||
| 5511 | |||
| 5512 | |||
| 5513 | [uuid(98931D33-5AE8-4791-AA3C-1A73A2934E71), object, local, pointer_default(unique)] | ||
| 5514 | interface ID3D12DeviceRemovedExtendedData | ||
| 5515 | : IUnknown | ||
| 5516 | { | ||
| 5517 | HRESULT GetAutoBreadcrumbsOutput([annotation("_Out_")] D3D12_DRED_AUTO_BREADCRUMBS_OUTPUT *pOutput); | ||
| 5518 | HRESULT GetPageFaultAllocationOutput([annotation("_Out_")] D3D12_DRED_PAGE_FAULT_OUTPUT *pOutput); | ||
| 5519 | }; | ||
| 5520 | |||
| 5521 | [uuid(9727A022-CF1D-4DDA-9EBA-EFFA653FC506), object, local, pointer_default(unique)] | ||
| 5522 | interface ID3D12DeviceRemovedExtendedData1 | ||
| 5523 | : ID3D12DeviceRemovedExtendedData | ||
| 5524 | { | ||
| 5525 | HRESULT GetAutoBreadcrumbsOutput1([annotation("_Out_")] D3D12_DRED_AUTO_BREADCRUMBS_OUTPUT1 *pOutput); | ||
| 5526 | HRESULT GetPageFaultAllocationOutput1([annotation("_Out_")] D3D12_DRED_PAGE_FAULT_OUTPUT1 *pOutput); | ||
| 5527 | }; | ||
| 5528 | |||
| 5529 | [uuid(67FC5816-E4CA-4915-BF18-42541272DA54), object, local, pointer_default(unique)] | ||
| 5530 | interface ID3D12DeviceRemovedExtendedData2 | ||
| 5531 | : ID3D12DeviceRemovedExtendedData1 | ||
| 5532 | { | ||
| 5533 | HRESULT GetPageFaultAllocationOutput2([annotation("_Out_")] D3D12_DRED_PAGE_FAULT_OUTPUT2 *pOutput); | ||
| 5534 | D3D12_DRED_DEVICE_STATE GetDeviceState(); | ||
| 5535 | }; | ||
| 5536 | |||
| 5537 | typedef enum D3D12_BACKGROUND_PROCESSING_MODE | ||
| 5538 | { | ||
| 5539 | D3D12_BACKGROUND_PROCESSING_MODE_ALLOWED, | ||
| 5540 | D3D12_BACKGROUND_PROCESSING_MODE_ALLOW_INTRUSIVE_MEASUREMENTS, | ||
| 5541 | D3D12_BACKGROUND_PROCESSING_MODE_DISABLE_BACKGROUND_WORK, | ||
| 5542 | D3D12_BACKGROUND_PROCESSING_MODE_DISABLE_PROFILING_BY_SYSTEM, | ||
| 5543 | } D3D12_BACKGROUND_PROCESSING_MODE; | ||
| 5544 | |||
| 5545 | typedef enum D3D12_MEASUREMENTS_ACTION | ||
| 5546 | { | ||
| 5547 | D3D12_MEASUREMENTS_ACTION_KEEP_ALL, | ||
| 5548 | D3D12_MEASUREMENTS_ACTION_COMMIT_RESULTS, | ||
| 5549 | D3D12_MEASUREMENTS_ACTION_COMMIT_RESULTS_HIGH_PRIORITY, | ||
| 5550 | D3D12_MEASUREMENTS_ACTION_DISCARD_PREVIOUS, | ||
| 5551 | } D3D12_MEASUREMENTS_ACTION; | ||
| 5552 | |||
| 5553 | [uuid(c70b221b-40e4-4a17-89af-025a0727a6dc), object, local, pointer_default(unique)] | ||
| 5554 | interface ID3D12Device6 : ID3D12Device5 | ||
| 5555 | { | ||
| 5556 | HRESULT SetBackgroundProcessingMode( | ||
| 5557 | D3D12_BACKGROUND_PROCESSING_MODE Mode, | ||
| 5558 | D3D12_MEASUREMENTS_ACTION MeasurementsAction, | ||
| 5559 | [annotation("_In_opt_")] HANDLE hEventToSignalUponCompletion, | ||
| 5560 | [annotation("_Out_opt_")] BOOL* pbFurtherMeasurementsDesired); | ||
| 5561 | }; | ||
| 5562 | |||
| 5563 | cpp_quote("DEFINE_GUID(D3D12_PROTECTED_RESOURCES_SESSION_HARDWARE_PROTECTED, 0x62B0084E, 0xC70E, 0x4DAA, 0xA1, 0x09, 0x30, 0xFF, 0x8D, 0x5A, 0x04, 0x82); ") | ||
| 5564 | |||
| 5565 | // D3D12_FEATURE_PROTECTED_RESOURCE_SESSION_TYPE_COUNT | ||
| 5566 | typedef struct D3D12_FEATURE_DATA_PROTECTED_RESOURCE_SESSION_TYPE_COUNT | ||
| 5567 | { | ||
| 5568 | UINT NodeIndex; // input | ||
| 5569 | UINT Count; // output | ||
| 5570 | } D3D12_FEATURE_DATA_PROTECTED_RESOURCE_SESSION_TYPE_COUNT; | ||
| 5571 | |||
| 5572 | // D3D12_FEATURE_PROTECTED_RESOURCE_SESSION_TYPES | ||
| 5573 | typedef struct D3D12_FEATURE_DATA_PROTECTED_RESOURCE_SESSION_TYPES | ||
| 5574 | { | ||
| 5575 | UINT NodeIndex; // input | ||
| 5576 | UINT Count; // input | ||
| 5577 | GUID* pTypes; // output | ||
| 5578 | } D3D12_FEATURE_DATA_PROTECTED_RESOURCE_SESSION_TYPES; | ||
| 5579 | |||
| 5580 | typedef struct D3D12_PROTECTED_RESOURCE_SESSION_DESC1 | ||
| 5581 | { | ||
| 5582 | UINT NodeMask; | ||
| 5583 | D3D12_PROTECTED_RESOURCE_SESSION_FLAGS Flags; | ||
| 5584 | GUID ProtectionType; | ||
| 5585 | } D3D12_PROTECTED_RESOURCE_SESSION_DESC1; | ||
| 5586 | |||
| 5587 | [uuid(D6F12DD6-76FB-406E-8961-4296EEFC0409), object, local, pointer_default(unique)] | ||
| 5588 | interface ID3D12ProtectedResourceSession1 | ||
| 5589 | : ID3D12ProtectedResourceSession | ||
| 5590 | { | ||
| 5591 | D3D12_PROTECTED_RESOURCE_SESSION_DESC1 GetDesc1(); | ||
| 5592 | }; | ||
| 5593 | |||
| 5594 | [uuid(5c014b53-68a1-4b9b-8bd1-dd6046b9358b), object, local, pointer_default(unique)] | ||
| 5595 | interface ID3D12Device7 : ID3D12Device6 | ||
| 5596 | { | ||
| 5597 | HRESULT AddToStateObject( | ||
| 5598 | [in] const D3D12_STATE_OBJECT_DESC* pAddition, | ||
| 5599 | [in] ID3D12StateObject* pStateObjectToGrowFrom, | ||
| 5600 | [in] REFIID riid, // ID3D12StateObject | ||
| 5601 | [out, iid_is(riid), annotation("_COM_Outptr_")] void** ppNewStateObject | ||
| 5602 | ); | ||
| 5603 | |||
| 5604 | HRESULT CreateProtectedResourceSession1( | ||
| 5605 | [annotation("_In_")] const D3D12_PROTECTED_RESOURCE_SESSION_DESC1* pDesc, | ||
| 5606 | [annotation("_In_")] REFIID riid, // Expected: ID3D12ProtectedResourceSession1, | ||
| 5607 | [out, iid_is(riid), annotation("_COM_Outptr_")] void** ppSession | ||
| 5608 | ); | ||
| 5609 | }; | ||
| 5610 | |||
| 5611 | [uuid(9218E6BB-F944-4F7E-A75C-B1B2C7B701F3), object, local, pointer_default(unique)] | ||
| 5612 | interface ID3D12Device8 : ID3D12Device7 | ||
| 5613 | { | ||
| 5614 | D3D12_RESOURCE_ALLOCATION_INFO GetResourceAllocationInfo2( | ||
| 5615 | UINT visibleMask, | ||
| 5616 | UINT numResourceDescs, | ||
| 5617 | [annotation("_In_reads_(numResourceDescs)")] const D3D12_RESOURCE_DESC1* pResourceDescs, | ||
| 5618 | [annotation("_Out_writes_opt_(numResourceDescs)")] D3D12_RESOURCE_ALLOCATION_INFO1* pResourceAllocationInfo1); | ||
| 5619 | |||
| 5620 | HRESULT CreateCommittedResource2( | ||
| 5621 | [annotation("_In_")] const D3D12_HEAP_PROPERTIES* pHeapProperties, | ||
| 5622 | D3D12_HEAP_FLAGS HeapFlags, | ||
| 5623 | [annotation("_In_")] const D3D12_RESOURCE_DESC1* pDesc, | ||
| 5624 | D3D12_RESOURCE_STATES InitialResourceState, | ||
| 5625 | [annotation("_In_opt_")] const D3D12_CLEAR_VALUE* pOptimizedClearValue, | ||
| 5626 | [annotation("_In_opt_")] ID3D12ProtectedResourceSession* pProtectedSession, | ||
| 5627 | [in] REFIID riidResource, // Expected: ID3D12Resource1* | ||
| 5628 | [out, iid_is(riidResource), annotation("_COM_Outptr_opt_")] void** ppvResource); | ||
| 5629 | |||
| 5630 | HRESULT CreatePlacedResource1( | ||
| 5631 | [annotation("_In_")] ID3D12Heap* pHeap, | ||
| 5632 | UINT64 HeapOffset, | ||
| 5633 | [annotation("_In_")] const D3D12_RESOURCE_DESC1* pDesc, | ||
| 5634 | D3D12_RESOURCE_STATES InitialState, | ||
| 5635 | [annotation("_In_opt_")] const D3D12_CLEAR_VALUE* pOptimizedClearValue, | ||
| 5636 | [in] REFIID riid, // Expected: ID3D12Resource* | ||
| 5637 | [out, iid_is(riid), annotation("_COM_Outptr_opt_")] void** ppvResource); | ||
| 5638 | |||
| 5639 | void CreateSamplerFeedbackUnorderedAccessView( | ||
| 5640 | [annotation("_In_opt_")] ID3D12Resource* pTargetedResource, | ||
| 5641 | [annotation("_In_opt_")] ID3D12Resource* pFeedbackResource, | ||
| 5642 | [annotation("_In_")] D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor); | ||
| 5643 | |||
| 5644 | void GetCopyableFootprints1( | ||
| 5645 | [annotation("_In_")] const D3D12_RESOURCE_DESC1* pResourceDesc, | ||
| 5646 | [annotation("_In_range_(0,D3D12_REQ_SUBRESOURCES)")] UINT FirstSubresource, | ||
| 5647 | [annotation("_In_range_(0,D3D12_REQ_SUBRESOURCES-FirstSubresource)")] UINT NumSubresources, | ||
| 5648 | UINT64 BaseOffset, | ||
| 5649 | [annotation("_Out_writes_opt_(NumSubresources)")] D3D12_PLACED_SUBRESOURCE_FOOTPRINT* pLayouts, | ||
| 5650 | [annotation("_Out_writes_opt_(NumSubresources)")] UINT* pNumRows, | ||
| 5651 | [annotation("_Out_writes_opt_(NumSubresources)")] UINT64* pRowSizeInBytes, | ||
| 5652 | [annotation("_Out_opt_")] UINT64* pTotalBytes); | ||
| 5653 | }; | ||
| 5654 | |||
| 5655 | |||
| 5656 | [uuid(9D5E227A-4430-4161-88B3-3ECA6BB16E19), object, local, pointer_default(unique)] | ||
| 5657 | interface ID3D12Resource1 | ||
| 5658 | : ID3D12Resource | ||
| 5659 | { | ||
| 5660 | HRESULT GetProtectedResourceSession( | ||
| 5661 | [in] REFIID riid, // Expected: ID3D12ProtectedResourceSession | ||
| 5662 | [out, iid_is(riid), annotation("_COM_Outptr_opt_")] void** ppProtectedSession); | ||
| 5663 | } | ||
| 5664 | |||
| 5665 | [uuid(BE36EC3B-EA85-4AEB-A45A-E9D76404A495), object, local, pointer_default(unique)] | ||
| 5666 | interface ID3D12Resource2 | ||
| 5667 | : ID3D12Resource1 | ||
| 5668 | { | ||
| 5669 | D3D12_RESOURCE_DESC1 GetDesc1(); | ||
| 5670 | } | ||
| 5671 | |||
| 5672 | |||
| 5673 | |||
| 5674 | [uuid(572F7389-2168-49E3-9693-D6DF5871BF6D), object, local, pointer_default(unique)] | ||
| 5675 | interface ID3D12Heap1 | ||
| 5676 | : ID3D12Heap | ||
| 5677 | { | ||
| 5678 | HRESULT GetProtectedResourceSession( | ||
| 5679 | [in] REFIID riid, // Expected: ID3D12ProtectedResourceSession | ||
| 5680 | [out, iid_is(riid), annotation("_COM_Outptr_opt_")] void** ppProtectedSession); | ||
| 5681 | } | ||
| 5682 | |||
| 5683 | |||
| 5684 | [uuid(6FDA83A7-B84C-4E38-9AC8-C7BD22016B3D), object, local, pointer_default(unique)] | ||
| 5685 | interface ID3D12GraphicsCommandList3 : ID3D12GraphicsCommandList2 | ||
| 5686 | { | ||
| 5687 | void SetProtectedResourceSession( | ||
| 5688 | [annotation("_In_opt_")]ID3D12ProtectedResourceSession *pProtectedResourceSession | ||
| 5689 | ); | ||
| 5690 | } | ||
| 5691 | |||
| 5692 | // Beginning Access | ||
| 5693 | typedef enum D3D12_RENDER_PASS_BEGINNING_ACCESS_TYPE | ||
| 5694 | { | ||
| 5695 | D3D12_RENDER_PASS_BEGINNING_ACCESS_TYPE_DISCARD, | ||
| 5696 | D3D12_RENDER_PASS_BEGINNING_ACCESS_TYPE_PRESERVE, | ||
| 5697 | D3D12_RENDER_PASS_BEGINNING_ACCESS_TYPE_CLEAR, | ||
| 5698 | D3D12_RENDER_PASS_BEGINNING_ACCESS_TYPE_NO_ACCESS, | ||
| 5699 | D3D12_RENDER_PASS_BEGINNING_ACCESS_TYPE_PRESERVE_LOCAL_RENDER, | ||
| 5700 | D3D12_RENDER_PASS_BEGINNING_ACCESS_TYPE_PRESERVE_LOCAL_SRV, | ||
| 5701 | D3D12_RENDER_PASS_BEGINNING_ACCESS_TYPE_PRESERVE_LOCAL_UAV | ||
| 5702 | } D3D12_RENDER_PASS_BEGINNING_ACCESS_TYPE; | ||
| 5703 | |||
| 5704 | typedef struct D3D12_RENDER_PASS_BEGINNING_ACCESS_CLEAR_PARAMETERS | ||
| 5705 | { | ||
| 5706 | D3D12_CLEAR_VALUE ClearValue; | ||
| 5707 | } D3D12_RENDER_PASS_BEGINNING_ACCESS_CLEAR_PARAMETERS; | ||
| 5708 | |||
| 5709 | typedef struct D3D12_RENDER_PASS_BEGINNING_ACCESS_PRESERVE_LOCAL_PARAMETERS | ||
| 5710 | { | ||
| 5711 | UINT AdditionalWidth; | ||
| 5712 | UINT AdditionalHeight; | ||
| 5713 | } D3D12_RENDER_PASS_BEGINNING_ACCESS_PRESERVE_LOCAL_PARAMETERS; | ||
| 5714 | |||
| 5715 | typedef struct D3D12_RENDER_PASS_BEGINNING_ACCESS | ||
| 5716 | { | ||
| 5717 | D3D12_RENDER_PASS_BEGINNING_ACCESS_TYPE Type; | ||
| 5718 | |||
| 5719 | union | ||
| 5720 | { | ||
| 5721 | D3D12_RENDER_PASS_BEGINNING_ACCESS_CLEAR_PARAMETERS Clear; | ||
| 5722 | D3D12_RENDER_PASS_BEGINNING_ACCESS_PRESERVE_LOCAL_PARAMETERS PreserveLocal; | ||
| 5723 | }; | ||
| 5724 | } D3D12_RENDER_PASS_BEGINNING_ACCESS; | ||
| 5725 | |||
| 5726 | // Ending Access | ||
| 5727 | typedef enum D3D12_RENDER_PASS_ENDING_ACCESS_TYPE | ||
| 5728 | { | ||
| 5729 | D3D12_RENDER_PASS_ENDING_ACCESS_TYPE_DISCARD, | ||
| 5730 | D3D12_RENDER_PASS_ENDING_ACCESS_TYPE_PRESERVE, | ||
| 5731 | D3D12_RENDER_PASS_ENDING_ACCESS_TYPE_RESOLVE, | ||
| 5732 | D3D12_RENDER_PASS_ENDING_ACCESS_TYPE_NO_ACCESS, | ||
| 5733 | D3D12_RENDER_PASS_ENDING_ACCESS_TYPE_PRESERVE_LOCAL_RENDER, | ||
| 5734 | D3D12_RENDER_PASS_ENDING_ACCESS_TYPE_PRESERVE_LOCAL_SRV, | ||
| 5735 | D3D12_RENDER_PASS_ENDING_ACCESS_TYPE_PRESERVE_LOCAL_UAV | ||
| 5736 | } D3D12_RENDER_PASS_ENDING_ACCESS_TYPE; | ||
| 5737 | |||
| 5738 | typedef struct D3D12_RENDER_PASS_ENDING_ACCESS_RESOLVE_SUBRESOURCE_PARAMETERS | ||
| 5739 | { | ||
| 5740 | UINT SrcSubresource; | ||
| 5741 | UINT DstSubresource; | ||
| 5742 | |||
| 5743 | UINT DstX; | ||
| 5744 | UINT DstY; | ||
| 5745 | D3D12_RECT SrcRect; // (0, 0, 0, 0) == resolve entire resource. | ||
| 5746 | |||
| 5747 | } D3D12_RENDER_PASS_ENDING_ACCESS_RESOLVE_SUBRESOURCE_PARAMETERS; | ||
| 5748 | |||
| 5749 | typedef struct D3D12_RENDER_PASS_ENDING_ACCESS_RESOLVE_PARAMETERS | ||
| 5750 | { | ||
| 5751 | ID3D12Resource* pSrcResource; | ||
| 5752 | ID3D12Resource* pDstResource; | ||
| 5753 | |||
| 5754 | // Can be a subset of RT's array slices, but can't target subresources that were't part of RTV/DSV. | ||
| 5755 | UINT SubresourceCount; | ||
| 5756 | [annotation("_Field_size_full_(SubresourceCount)")] const D3D12_RENDER_PASS_ENDING_ACCESS_RESOLVE_SUBRESOURCE_PARAMETERS *pSubresourceParameters; | ||
| 5757 | |||
| 5758 | DXGI_FORMAT Format; | ||
| 5759 | D3D12_RESOLVE_MODE ResolveMode; | ||
| 5760 | |||
| 5761 | BOOL PreserveResolveSource; | ||
| 5762 | |||
| 5763 | } D3D12_RENDER_PASS_ENDING_ACCESS_RESOLVE_PARAMETERS; | ||
| 5764 | |||
| 5765 | typedef struct D3D12_RENDER_PASS_ENDING_ACCESS_PRESERVE_LOCAL_PARAMETERS | ||
| 5766 | { | ||
| 5767 | UINT AdditionalWidth; | ||
| 5768 | UINT AdditionalHeight; | ||
| 5769 | } D3D12_RENDER_PASS_ENDING_ACCESS_PRESERVE_LOCAL_PARAMETERS; | ||
| 5770 | |||
| 5771 | typedef struct D3D12_RENDER_PASS_ENDING_ACCESS | ||
| 5772 | { | ||
| 5773 | D3D12_RENDER_PASS_ENDING_ACCESS_TYPE Type; | ||
| 5774 | |||
| 5775 | union | ||
| 5776 | { | ||
| 5777 | D3D12_RENDER_PASS_ENDING_ACCESS_RESOLVE_PARAMETERS Resolve; | ||
| 5778 | D3D12_RENDER_PASS_ENDING_ACCESS_PRESERVE_LOCAL_PARAMETERS PreserveLocal; | ||
| 5779 | }; | ||
| 5780 | } D3D12_RENDER_PASS_ENDING_ACCESS; | ||
| 5781 | |||
| 5782 | // Render Target Desc | ||
| 5783 | typedef struct D3D12_RENDER_PASS_RENDER_TARGET_DESC | ||
| 5784 | { | ||
| 5785 | D3D12_CPU_DESCRIPTOR_HANDLE cpuDescriptor; | ||
| 5786 | |||
| 5787 | D3D12_RENDER_PASS_BEGINNING_ACCESS BeginningAccess; | ||
| 5788 | D3D12_RENDER_PASS_ENDING_ACCESS EndingAccess; | ||
| 5789 | |||
| 5790 | } D3D12_RENDER_PASS_RENDER_TARGET_DESC; | ||
| 5791 | |||
| 5792 | // Depth-Stencil Desc | ||
| 5793 | typedef struct D3D12_RENDER_PASS_DEPTH_STENCIL_DESC | ||
| 5794 | { | ||
| 5795 | D3D12_CPU_DESCRIPTOR_HANDLE cpuDescriptor; | ||
| 5796 | |||
| 5797 | D3D12_RENDER_PASS_BEGINNING_ACCESS DepthBeginningAccess; | ||
| 5798 | D3D12_RENDER_PASS_BEGINNING_ACCESS StencilBeginningAccess; | ||
| 5799 | |||
| 5800 | D3D12_RENDER_PASS_ENDING_ACCESS DepthEndingAccess; | ||
| 5801 | D3D12_RENDER_PASS_ENDING_ACCESS StencilEndingAccess; | ||
| 5802 | |||
| 5803 | } D3D12_RENDER_PASS_DEPTH_STENCIL_DESC; | ||
| 5804 | |||
| 5805 | typedef enum D3D12_RENDER_PASS_FLAGS | ||
| 5806 | { | ||
| 5807 | D3D12_RENDER_PASS_FLAG_NONE = 0x0, | ||
| 5808 | D3D12_RENDER_PASS_FLAG_ALLOW_UAV_WRITES = 0x1, | ||
| 5809 | D3D12_RENDER_PASS_FLAG_SUSPENDING_PASS = 0x2, | ||
| 5810 | D3D12_RENDER_PASS_FLAG_RESUMING_PASS = 0x4, | ||
| 5811 | D3D12_RENDER_PASS_FLAG_BIND_READ_ONLY_DEPTH = 0x8, | ||
| 5812 | D3D12_RENDER_PASS_FLAG_BIND_READ_ONLY_STENCIL = 0x10 | ||
| 5813 | } D3D12_RENDER_PASS_FLAGS; | ||
| 5814 | cpp_quote("DEFINE_ENUM_FLAG_OPERATORS( D3D12_RENDER_PASS_FLAGS )") | ||
| 5815 | |||
| 5816 | [uuid(DBB84C27-36CE-4FC9-B801-F048C46AC570), object, local, pointer_default(unique)] | ||
| 5817 | interface ID3D12MetaCommand : ID3D12Pageable | ||
| 5818 | { | ||
| 5819 | UINT64 GetRequiredParameterResourceSize([annotation("_In_")] D3D12_META_COMMAND_PARAMETER_STAGE Stage, [annotation("_In_")] UINT ParameterIndex); | ||
| 5820 | } | ||
| 5821 | |||
| 5822 | typedef struct D3D12_DISPATCH_RAYS_DESC | ||
| 5823 | { | ||
| 5824 | D3D12_GPU_VIRTUAL_ADDRESS_RANGE RayGenerationShaderRecord; | ||
| 5825 | D3D12_GPU_VIRTUAL_ADDRESS_RANGE_AND_STRIDE MissShaderTable; | ||
| 5826 | D3D12_GPU_VIRTUAL_ADDRESS_RANGE_AND_STRIDE HitGroupTable; | ||
| 5827 | D3D12_GPU_VIRTUAL_ADDRESS_RANGE_AND_STRIDE CallableShaderTable; | ||
| 5828 | UINT Width; | ||
| 5829 | UINT Height; | ||
| 5830 | UINT Depth; | ||
| 5831 | } D3D12_DISPATCH_RAYS_DESC; | ||
| 5832 | |||
| 5833 | typedef enum D3D12_SET_WORK_GRAPH_FLAGS | ||
| 5834 | { | ||
| 5835 | D3D12_SET_WORK_GRAPH_FLAG_NONE = 0x0, | ||
| 5836 | D3D12_SET_WORK_GRAPH_FLAG_INITIALIZE = 0x1, | ||
| 5837 | } D3D12_SET_WORK_GRAPH_FLAGS; | ||
| 5838 | cpp_quote( "DEFINE_ENUM_FLAG_OPERATORS( D3D12_SET_WORK_GRAPH_FLAGS )" ) | ||
| 5839 | |||
| 5840 | typedef struct D3D12_SET_WORK_GRAPH_DESC | ||
| 5841 | { | ||
| 5842 | D3D12_PROGRAM_IDENTIFIER ProgramIdentifier; | ||
| 5843 | D3D12_SET_WORK_GRAPH_FLAGS Flags; | ||
| 5844 | D3D12_GPU_VIRTUAL_ADDRESS_RANGE BackingMemory; | ||
| 5845 | D3D12_GPU_VIRTUAL_ADDRESS_RANGE_AND_STRIDE NodeLocalRootArgumentsTable; | ||
| 5846 | } D3D12_SET_WORK_GRAPH_DESC; | ||
| 5847 | |||
| 5848 | typedef struct D3D12_SET_RAYTRACING_PIPELINE_DESC | ||
| 5849 | { | ||
| 5850 | D3D12_PROGRAM_IDENTIFIER ProgramIdentifier; | ||
| 5851 | } D3D12_SET_RAYTRACING_PIPELINE_DESC; | ||
| 5852 | |||
| 5853 | typedef struct D3D12_SET_GENERIC_PIPELINE_DESC | ||
| 5854 | { | ||
| 5855 | D3D12_PROGRAM_IDENTIFIER ProgramIdentifier; | ||
| 5856 | } D3D12_SET_GENERIC_PIPELINE_DESC; | ||
| 5857 | |||
| 5858 | typedef enum D3D12_PROGRAM_TYPE | ||
| 5859 | { | ||
| 5860 | D3D12_PROGRAM_TYPE_GENERIC_PIPELINE = 1, | ||
| 5861 | D3D12_PROGRAM_TYPE_RAYTRACING_PIPELINE = 4, | ||
| 5862 | D3D12_PROGRAM_TYPE_WORK_GRAPH = 5 | ||
| 5863 | } D3D12_PROGRAM_TYPE; | ||
| 5864 | |||
| 5865 | typedef struct D3D12_SET_PROGRAM_DESC | ||
| 5866 | { | ||
| 5867 | D3D12_PROGRAM_TYPE Type; | ||
| 5868 | union | ||
| 5869 | { | ||
| 5870 | D3D12_SET_GENERIC_PIPELINE_DESC GenericPipeline; | ||
| 5871 | D3D12_SET_RAYTRACING_PIPELINE_DESC RaytracingPipeline; | ||
| 5872 | D3D12_SET_WORK_GRAPH_DESC WorkGraph; | ||
| 5873 | }; | ||
| 5874 | } D3D12_SET_PROGRAM_DESC; | ||
| 5875 | |||
| 5876 | typedef enum D3D12_DISPATCH_MODE | ||
| 5877 | { | ||
| 5878 | D3D12_DISPATCH_MODE_NODE_CPU_INPUT = 0, // D3D12_NODE_CPU_INPUT | ||
| 5879 | D3D12_DISPATCH_MODE_NODE_GPU_INPUT = 1, // D3D12_NODE_GPU_INPUT in GPU memory | ||
| 5880 | D3D12_DISPATCH_MODE_MULTI_NODE_CPU_INPUT = 2, // D3D12_MULTI_NODE_CPU_INPUT | ||
| 5881 | D3D12_DISPATCH_MODE_MULTI_NODE_GPU_INPUT = 3 // D3D12_MULTI_NODE_GPU_INPUT in GPU memory | ||
| 5882 | } D3D12_DISPATCH_MODE; | ||
| 5883 | |||
| 5884 | typedef struct D3D12_NODE_CPU_INPUT | ||
| 5885 | { | ||
| 5886 | UINT EntrypointIndex; | ||
| 5887 | UINT NumRecords; | ||
| 5888 | const void* pRecords; | ||
| 5889 | UINT64 RecordStrideInBytes; | ||
| 5890 | } D3D12_NODE_CPU_INPUT; | ||
| 5891 | |||
| 5892 | typedef struct D3D12_NODE_GPU_INPUT | ||
| 5893 | { | ||
| 5894 | UINT EntrypointIndex; | ||
| 5895 | UINT NumRecords; | ||
| 5896 | D3D12_GPU_VIRTUAL_ADDRESS_AND_STRIDE Records; | ||
| 5897 | } D3D12_NODE_GPU_INPUT; | ||
| 5898 | |||
| 5899 | typedef struct D3D12_MULTI_NODE_CPU_INPUT | ||
| 5900 | { | ||
| 5901 | UINT NumNodeInputs; | ||
| 5902 | const D3D12_NODE_CPU_INPUT* pNodeInputs; | ||
| 5903 | UINT64 NodeInputStrideInBytes; | ||
| 5904 | } D3D12_MULTI_NODE_CPU_INPUT; | ||
| 5905 | |||
| 5906 | typedef struct D3D12_MULTI_NODE_GPU_INPUT | ||
| 5907 | { | ||
| 5908 | UINT NumNodeInputs; | ||
| 5909 | D3D12_GPU_VIRTUAL_ADDRESS_AND_STRIDE NodeInputs; // D3D12_GPU_NODE_INPUT array | ||
| 5910 | } D3D12_MULTI_NODE_GPU_INPUT; | ||
| 5911 | |||
| 5912 | typedef struct D3D12_DISPATCH_GRAPH_DESC | ||
| 5913 | { | ||
| 5914 | D3D12_DISPATCH_MODE Mode; | ||
| 5915 | union | ||
| 5916 | { | ||
| 5917 | D3D12_NODE_CPU_INPUT NodeCPUInput; | ||
| 5918 | D3D12_GPU_VIRTUAL_ADDRESS NodeGPUInput; | ||
| 5919 | D3D12_MULTI_NODE_CPU_INPUT MultiNodeCPUInput; | ||
| 5920 | D3D12_GPU_VIRTUAL_ADDRESS MultiNodeGPUInput; | ||
| 5921 | }; | ||
| 5922 | } D3D12_DISPATCH_GRAPH_DESC; | ||
| 5923 | |||
| 5924 | [uuid(8754318e-d3a9-4541-98cf-645b50dc4874), object, local, pointer_default(unique)] | ||
| 5925 | interface ID3D12GraphicsCommandList4 : ID3D12GraphicsCommandList3 | ||
| 5926 | { | ||
| 5927 | void BeginRenderPass( | ||
| 5928 | [annotation("_In_")] UINT NumRenderTargets, | ||
| 5929 | [annotation("_In_reads_opt_(NumRenderTargets)")] const D3D12_RENDER_PASS_RENDER_TARGET_DESC* pRenderTargets, | ||
| 5930 | [annotation("_In_opt_")] const D3D12_RENDER_PASS_DEPTH_STENCIL_DESC* pDepthStencil, | ||
| 5931 | D3D12_RENDER_PASS_FLAGS Flags | ||
| 5932 | ); | ||
| 5933 | |||
| 5934 | void EndRenderPass(); | ||
| 5935 | |||
| 5936 | void InitializeMetaCommand( | ||
| 5937 | [annotation("_In_")] ID3D12MetaCommand * pMetaCommand, | ||
| 5938 | [annotation("_In_reads_bytes_opt_(InitializationParametersDataSizeInBytes)")] const void * pInitializationParametersData, | ||
| 5939 | [annotation("_In_")] SIZE_T InitializationParametersDataSizeInBytes | ||
| 5940 | ); | ||
| 5941 | |||
| 5942 | void ExecuteMetaCommand( | ||
| 5943 | [annotation("_In_")] ID3D12MetaCommand * pMetaCommand, | ||
| 5944 | [annotation("_In_reads_bytes_opt_(ExecutionParametersDataSizeInBytes)")] const void * pExecutionParametersData, | ||
| 5945 | [annotation("_In_")] SIZE_T ExecutionParametersDataSizeInBytes | ||
| 5946 | ); | ||
| 5947 | |||
| 5948 | void BuildRaytracingAccelerationStructure( | ||
| 5949 | [annotation("_In_")] const D3D12_BUILD_RAYTRACING_ACCELERATION_STRUCTURE_DESC* pDesc, | ||
| 5950 | [annotation("_In_")] UINT NumPostbuildInfoDescs, | ||
| 5951 | [annotation("_In_reads_opt_(NumPostbuildInfoDescs)")] const D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_DESC* pPostbuildInfoDescs | ||
| 5952 | ); | ||
| 5953 | |||
| 5954 | void EmitRaytracingAccelerationStructurePostbuildInfo( | ||
| 5955 | [annotation("_In_")] const D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_DESC* pDesc, | ||
| 5956 | [annotation("_In_")] UINT NumSourceAccelerationStructures, | ||
| 5957 | [annotation("_In_reads_( NumSourceAccelerationStructures )")] const D3D12_GPU_VIRTUAL_ADDRESS* pSourceAccelerationStructureData); | ||
| 5958 | |||
| 5959 | void CopyRaytracingAccelerationStructure( | ||
| 5960 | [annotation("_In_")] D3D12_GPU_VIRTUAL_ADDRESS DestAccelerationStructureData, | ||
| 5961 | [annotation("_In_")] D3D12_GPU_VIRTUAL_ADDRESS SourceAccelerationStructureData, | ||
| 5962 | [annotation("_In_")] D3D12_RAYTRACING_ACCELERATION_STRUCTURE_COPY_MODE Mode); | ||
| 5963 | |||
| 5964 | void SetPipelineState1( | ||
| 5965 | [annotation("_In_")] ID3D12StateObject* pStateObject); | ||
| 5966 | |||
| 5967 | void DispatchRays( | ||
| 5968 | [annotation("_In_")] const D3D12_DISPATCH_RAYS_DESC* pDesc); | ||
| 5969 | } | ||
| 5970 | |||
| 5971 | typedef enum D3D12_SHADER_CACHE_MODE | ||
| 5972 | { | ||
| 5973 | D3D12_SHADER_CACHE_MODE_MEMORY, | ||
| 5974 | D3D12_SHADER_CACHE_MODE_DISK, | ||
| 5975 | } D3D12_SHADER_CACHE_MODE; | ||
| 5976 | |||
| 5977 | typedef enum D3D12_SHADER_CACHE_FLAGS | ||
| 5978 | { | ||
| 5979 | D3D12_SHADER_CACHE_FLAG_NONE = 0x0, | ||
| 5980 | D3D12_SHADER_CACHE_FLAG_DRIVER_VERSIONED = 0x1, | ||
| 5981 | D3D12_SHADER_CACHE_FLAG_USE_WORKING_DIR = 0x2, | ||
| 5982 | } D3D12_SHADER_CACHE_FLAGS; | ||
| 5983 | cpp_quote("DEFINE_ENUM_FLAG_OPERATORS( D3D12_SHADER_CACHE_FLAGS )") | ||
| 5984 | |||
| 5985 | typedef struct D3D12_SHADER_CACHE_SESSION_DESC | ||
| 5986 | { | ||
| 5987 | GUID Identifier; | ||
| 5988 | D3D12_SHADER_CACHE_MODE Mode; | ||
| 5989 | D3D12_SHADER_CACHE_FLAGS Flags; | ||
| 5990 | |||
| 5991 | UINT MaximumInMemoryCacheSizeBytes; | ||
| 5992 | UINT MaximumInMemoryCacheEntries; | ||
| 5993 | |||
| 5994 | UINT MaximumValueFileSizeBytes; | ||
| 5995 | |||
| 5996 | UINT64 Version; | ||
| 5997 | } D3D12_SHADER_CACHE_SESSION_DESC; | ||
| 5998 | |||
| 5999 | typedef enum D3D12_BARRIER_LAYOUT | ||
| 6000 | { | ||
| 6001 | D3D12_BARRIER_LAYOUT_UNDEFINED = 0xffffffff, | ||
| 6002 | D3D12_BARRIER_LAYOUT_COMMON = 0, | ||
| 6003 | D3D12_BARRIER_LAYOUT_PRESENT = 0, | ||
| 6004 | D3D12_BARRIER_LAYOUT_GENERIC_READ = 1, | ||
| 6005 | D3D12_BARRIER_LAYOUT_RENDER_TARGET = 2, | ||
| 6006 | D3D12_BARRIER_LAYOUT_UNORDERED_ACCESS = 3, | ||
| 6007 | D3D12_BARRIER_LAYOUT_DEPTH_STENCIL_WRITE = 4, | ||
| 6008 | D3D12_BARRIER_LAYOUT_DEPTH_STENCIL_READ = 5, | ||
| 6009 | D3D12_BARRIER_LAYOUT_SHADER_RESOURCE = 6, | ||
| 6010 | D3D12_BARRIER_LAYOUT_COPY_SOURCE = 7, | ||
| 6011 | D3D12_BARRIER_LAYOUT_COPY_DEST = 8, | ||
| 6012 | D3D12_BARRIER_LAYOUT_RESOLVE_SOURCE = 9, | ||
| 6013 | D3D12_BARRIER_LAYOUT_RESOLVE_DEST = 10, | ||
| 6014 | D3D12_BARRIER_LAYOUT_SHADING_RATE_SOURCE = 11, | ||
| 6015 | D3D12_BARRIER_LAYOUT_VIDEO_DECODE_READ = 12, | ||
| 6016 | D3D12_BARRIER_LAYOUT_VIDEO_DECODE_WRITE = 13, | ||
| 6017 | D3D12_BARRIER_LAYOUT_VIDEO_PROCESS_READ = 14, | ||
| 6018 | D3D12_BARRIER_LAYOUT_VIDEO_PROCESS_WRITE = 15, | ||
| 6019 | D3D12_BARRIER_LAYOUT_VIDEO_ENCODE_READ = 16, | ||
| 6020 | D3D12_BARRIER_LAYOUT_VIDEO_ENCODE_WRITE = 17, | ||
| 6021 | D3D12_BARRIER_LAYOUT_DIRECT_QUEUE_COMMON = 18, | ||
| 6022 | D3D12_BARRIER_LAYOUT_DIRECT_QUEUE_GENERIC_READ = 19, | ||
| 6023 | D3D12_BARRIER_LAYOUT_DIRECT_QUEUE_UNORDERED_ACCESS = 20, | ||
| 6024 | D3D12_BARRIER_LAYOUT_DIRECT_QUEUE_SHADER_RESOURCE = 21, | ||
| 6025 | D3D12_BARRIER_LAYOUT_DIRECT_QUEUE_COPY_SOURCE = 22, | ||
| 6026 | D3D12_BARRIER_LAYOUT_DIRECT_QUEUE_COPY_DEST = 23, | ||
| 6027 | D3D12_BARRIER_LAYOUT_COMPUTE_QUEUE_COMMON = 24, | ||
| 6028 | D3D12_BARRIER_LAYOUT_COMPUTE_QUEUE_GENERIC_READ = 25, | ||
| 6029 | D3D12_BARRIER_LAYOUT_COMPUTE_QUEUE_UNORDERED_ACCESS = 26, | ||
| 6030 | D3D12_BARRIER_LAYOUT_COMPUTE_QUEUE_SHADER_RESOURCE = 27, | ||
| 6031 | D3D12_BARRIER_LAYOUT_COMPUTE_QUEUE_COPY_SOURCE = 28, | ||
| 6032 | D3D12_BARRIER_LAYOUT_COMPUTE_QUEUE_COPY_DEST = 29, | ||
| 6033 | D3D12_BARRIER_LAYOUT_DIRECT_QUEUE_GENERIC_READ_COMPUTE_QUEUE_ACCESSIBLE = 31, | ||
| 6034 | |||
| 6035 | } D3D12_BARRIER_LAYOUT; | ||
| 6036 | |||
| 6037 | typedef enum D3D12_BARRIER_SYNC | ||
| 6038 | { | ||
| 6039 | D3D12_BARRIER_SYNC_NONE = 0x0, | ||
| 6040 | D3D12_BARRIER_SYNC_ALL = 0x1, | ||
| 6041 | D3D12_BARRIER_SYNC_DRAW = 0x2, | ||
| 6042 | D3D12_BARRIER_SYNC_INDEX_INPUT = 0x4, | ||
| 6043 | D3D12_BARRIER_SYNC_VERTEX_SHADING = 0x8, | ||
| 6044 | D3D12_BARRIER_SYNC_PIXEL_SHADING = 0x10, | ||
| 6045 | D3D12_BARRIER_SYNC_DEPTH_STENCIL = 0x20, | ||
| 6046 | D3D12_BARRIER_SYNC_RENDER_TARGET = 0x40, | ||
| 6047 | D3D12_BARRIER_SYNC_COMPUTE_SHADING = 0x80, | ||
| 6048 | D3D12_BARRIER_SYNC_RAYTRACING = 0x100, | ||
| 6049 | D3D12_BARRIER_SYNC_COPY = 0x200, | ||
| 6050 | D3D12_BARRIER_SYNC_RESOLVE = 0x400, | ||
| 6051 | D3D12_BARRIER_SYNC_EXECUTE_INDIRECT = 0x800, | ||
| 6052 | D3D12_BARRIER_SYNC_PREDICATION = 0x800, // Aliased with SYNC_EXECUTE_INDIRECT | ||
| 6053 | D3D12_BARRIER_SYNC_ALL_SHADING = 0x1000, | ||
| 6054 | D3D12_BARRIER_SYNC_NON_PIXEL_SHADING = 0x2000, | ||
| 6055 | D3D12_BARRIER_SYNC_EMIT_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO = 0x4000, | ||
| 6056 | D3D12_BARRIER_SYNC_CLEAR_UNORDERED_ACCESS_VIEW = 0x8000, | ||
| 6057 | D3D12_BARRIER_SYNC_VIDEO_DECODE = 0x100000, | ||
| 6058 | D3D12_BARRIER_SYNC_VIDEO_PROCESS = 0x200000, | ||
| 6059 | D3D12_BARRIER_SYNC_VIDEO_ENCODE = 0x400000, | ||
| 6060 | D3D12_BARRIER_SYNC_BUILD_RAYTRACING_ACCELERATION_STRUCTURE = 0x800000, | ||
| 6061 | D3D12_BARRIER_SYNC_COPY_RAYTRACING_ACCELERATION_STRUCTURE = 0x1000000, | ||
| 6062 | D3D12_BARRIER_SYNC_SPLIT = 0x80000000, | ||
| 6063 | } D3D12_BARRIER_SYNC; | ||
| 6064 | cpp_quote( "DEFINE_ENUM_FLAG_OPERATORS( D3D12_BARRIER_SYNC )" ) | ||
| 6065 | |||
| 6066 | typedef enum D3D12_BARRIER_ACCESS | ||
| 6067 | { | ||
| 6068 | D3D12_BARRIER_ACCESS_COMMON = 0, | ||
| 6069 | D3D12_BARRIER_ACCESS_VERTEX_BUFFER = 0x1, | ||
| 6070 | D3D12_BARRIER_ACCESS_CONSTANT_BUFFER = 0x2, | ||
| 6071 | D3D12_BARRIER_ACCESS_INDEX_BUFFER = 0x4, | ||
| 6072 | D3D12_BARRIER_ACCESS_RENDER_TARGET = 0x8, | ||
| 6073 | D3D12_BARRIER_ACCESS_UNORDERED_ACCESS = 0x10, | ||
| 6074 | D3D12_BARRIER_ACCESS_DEPTH_STENCIL_WRITE = 0x20, | ||
| 6075 | D3D12_BARRIER_ACCESS_DEPTH_STENCIL_READ = 0x40, | ||
| 6076 | D3D12_BARRIER_ACCESS_SHADER_RESOURCE = 0x80, | ||
| 6077 | D3D12_BARRIER_ACCESS_STREAM_OUTPUT = 0x100, | ||
| 6078 | D3D12_BARRIER_ACCESS_INDIRECT_ARGUMENT = 0x200, | ||
| 6079 | D3D12_BARRIER_ACCESS_PREDICATION = 0x200, // Aliased with ACCESS_INDIRECT_ARGUMENT | ||
| 6080 | D3D12_BARRIER_ACCESS_COPY_DEST = 0x400, | ||
| 6081 | D3D12_BARRIER_ACCESS_COPY_SOURCE = 0x800, | ||
| 6082 | D3D12_BARRIER_ACCESS_RESOLVE_DEST = 0x1000, | ||
| 6083 | D3D12_BARRIER_ACCESS_RESOLVE_SOURCE = 0x2000, | ||
| 6084 | D3D12_BARRIER_ACCESS_RAYTRACING_ACCELERATION_STRUCTURE_READ = 0x4000, | ||
| 6085 | D3D12_BARRIER_ACCESS_RAYTRACING_ACCELERATION_STRUCTURE_WRITE = 0x8000, | ||
| 6086 | D3D12_BARRIER_ACCESS_SHADING_RATE_SOURCE = 0x10000, | ||
| 6087 | D3D12_BARRIER_ACCESS_VIDEO_DECODE_READ = 0x20000, | ||
| 6088 | D3D12_BARRIER_ACCESS_VIDEO_DECODE_WRITE = 0x40000, | ||
| 6089 | D3D12_BARRIER_ACCESS_VIDEO_PROCESS_READ = 0x80000, | ||
| 6090 | D3D12_BARRIER_ACCESS_VIDEO_PROCESS_WRITE = 0x100000, | ||
| 6091 | D3D12_BARRIER_ACCESS_VIDEO_ENCODE_READ = 0x200000, | ||
| 6092 | D3D12_BARRIER_ACCESS_VIDEO_ENCODE_WRITE = 0x400000, | ||
| 6093 | D3D12_BARRIER_ACCESS_NO_ACCESS = 0x80000000, | ||
| 6094 | } D3D12_BARRIER_ACCESS; | ||
| 6095 | cpp_quote( "DEFINE_ENUM_FLAG_OPERATORS( D3D12_BARRIER_ACCESS )" ) | ||
| 6096 | |||
| 6097 | typedef enum D3D12_BARRIER_TYPE | ||
| 6098 | { | ||
| 6099 | D3D12_BARRIER_TYPE_GLOBAL, | ||
| 6100 | D3D12_BARRIER_TYPE_TEXTURE, | ||
| 6101 | D3D12_BARRIER_TYPE_BUFFER, | ||
| 6102 | } D3D12_BARRIER_TYPE; | ||
| 6103 | |||
| 6104 | typedef enum D3D12_TEXTURE_BARRIER_FLAGS | ||
| 6105 | { | ||
| 6106 | D3D12_TEXTURE_BARRIER_FLAG_NONE = 0x0, | ||
| 6107 | D3D12_TEXTURE_BARRIER_FLAG_DISCARD = 0x1, | ||
| 6108 | } D3D12_TEXTURE_BARRIER_FLAGS; | ||
| 6109 | cpp_quote("DEFINE_ENUM_FLAG_OPERATORS( D3D12_TEXTURE_BARRIER_FLAGS )") | ||
| 6110 | |||
| 6111 | typedef struct D3D12_BARRIER_SUBRESOURCE_RANGE | ||
| 6112 | { | ||
| 6113 | UINT IndexOrFirstMipLevel; | ||
| 6114 | UINT NumMipLevels; | ||
| 6115 | UINT FirstArraySlice; | ||
| 6116 | UINT NumArraySlices; | ||
| 6117 | UINT FirstPlane; | ||
| 6118 | UINT NumPlanes; | ||
| 6119 | } D3D12_BARRIER_SUBRESOURCE_RANGE; | ||
| 6120 | |||
| 6121 | typedef struct D3D12_GLOBAL_BARRIER | ||
| 6122 | { | ||
| 6123 | D3D12_BARRIER_SYNC SyncBefore; | ||
| 6124 | D3D12_BARRIER_SYNC SyncAfter; | ||
| 6125 | D3D12_BARRIER_ACCESS AccessBefore; | ||
| 6126 | D3D12_BARRIER_ACCESS AccessAfter; | ||
| 6127 | } D3D12_GLOBAL_BARRIER; | ||
| 6128 | |||
| 6129 | typedef struct D3D12_TEXTURE_BARRIER | ||
| 6130 | { | ||
| 6131 | D3D12_BARRIER_SYNC SyncBefore; | ||
| 6132 | D3D12_BARRIER_SYNC SyncAfter; | ||
| 6133 | D3D12_BARRIER_ACCESS AccessBefore; | ||
| 6134 | D3D12_BARRIER_ACCESS AccessAfter; | ||
| 6135 | D3D12_BARRIER_LAYOUT LayoutBefore; | ||
| 6136 | D3D12_BARRIER_LAYOUT LayoutAfter; | ||
| 6137 | [annotation("_In_")] ID3D12Resource *pResource; | ||
| 6138 | D3D12_BARRIER_SUBRESOURCE_RANGE Subresources; | ||
| 6139 | D3D12_TEXTURE_BARRIER_FLAGS Flags; | ||
| 6140 | } D3D12_TEXTURE_BARRIER; | ||
| 6141 | |||
| 6142 | typedef struct D3D12_BUFFER_BARRIER | ||
| 6143 | { | ||
| 6144 | D3D12_BARRIER_SYNC SyncBefore; | ||
| 6145 | D3D12_BARRIER_SYNC SyncAfter; | ||
| 6146 | D3D12_BARRIER_ACCESS AccessBefore; | ||
| 6147 | D3D12_BARRIER_ACCESS AccessAfter; | ||
| 6148 | [annotation("_In_")] ID3D12Resource *pResource; | ||
| 6149 | UINT64 Offset; | ||
| 6150 | UINT64 Size; | ||
| 6151 | } D3D12_BUFFER_BARRIER; | ||
| 6152 | |||
| 6153 | typedef struct D3D12_BARRIER_GROUP | ||
| 6154 | { | ||
| 6155 | D3D12_BARRIER_TYPE Type; | ||
| 6156 | UINT32 NumBarriers; | ||
| 6157 | union | ||
| 6158 | { | ||
| 6159 | [annotation("_In_reads_(NumBarriers)")] const D3D12_GLOBAL_BARRIER *pGlobalBarriers; | ||
| 6160 | [annotation("_In_reads_(NumBarriers)")] const D3D12_TEXTURE_BARRIER *pTextureBarriers; | ||
| 6161 | [annotation("_In_reads_(NumBarriers)")] const D3D12_BUFFER_BARRIER *pBufferBarriers; | ||
| 6162 | }; | ||
| 6163 | } D3D12_BARRIER_GROUP; | ||
| 6164 | |||
| 6165 | [uuid(28e2495d-0f64-4ae4-a6ec-129255dc49a8), object, local, pointer_default(unique)] | ||
| 6166 | interface ID3D12ShaderCacheSession | ||
| 6167 | : ID3D12DeviceChild | ||
| 6168 | { | ||
| 6169 | HRESULT FindValue( | ||
| 6170 | [in, annotation("_In_reads_bytes_(KeySize)")] const void* pKey, | ||
| 6171 | UINT KeySize, | ||
| 6172 | [out, annotation("_Out_writes_bytes_(*pValueSize)")] void* pValue, | ||
| 6173 | [annotation("_Inout_")] UINT* pValueSize); | ||
| 6174 | HRESULT StoreValue( | ||
| 6175 | [in, annotation("_In_reads_bytes_(KeySize)")] const void* pKey, | ||
| 6176 | UINT KeySize, | ||
| 6177 | [in, annotation("_In_reads_bytes_(ValueSize)")] const void* pValue, | ||
| 6178 | UINT ValueSize); | ||
| 6179 | |||
| 6180 | void SetDeleteOnDestroy(); | ||
| 6181 | D3D12_SHADER_CACHE_SESSION_DESC GetDesc(); | ||
| 6182 | }; | ||
| 6183 | |||
| 6184 | typedef enum D3D12_SHADER_CACHE_KIND_FLAGS | ||
| 6185 | { | ||
| 6186 | D3D12_SHADER_CACHE_KIND_FLAG_IMPLICIT_D3D_CACHE_FOR_DRIVER = 0x1, | ||
| 6187 | D3D12_SHADER_CACHE_KIND_FLAG_IMPLICIT_D3D_CONVERSIONS = 0x2, | ||
| 6188 | D3D12_SHADER_CACHE_KIND_FLAG_IMPLICIT_DRIVER_MANAGED = 0x4, | ||
| 6189 | D3D12_SHADER_CACHE_KIND_FLAG_APPLICATION_MANAGED = 0x8, | ||
| 6190 | } D3D12_SHADER_CACHE_KIND_FLAGS; | ||
| 6191 | cpp_quote("DEFINE_ENUM_FLAG_OPERATORS( D3D12_SHADER_CACHE_KIND_FLAGS )") | ||
| 6192 | |||
| 6193 | typedef enum D3D12_SHADER_CACHE_CONTROL_FLAGS | ||
| 6194 | { | ||
| 6195 | D3D12_SHADER_CACHE_CONTROL_FLAG_DISABLE = 0x1, | ||
| 6196 | D3D12_SHADER_CACHE_CONTROL_FLAG_ENABLE = 0x2, | ||
| 6197 | D3D12_SHADER_CACHE_CONTROL_FLAG_CLEAR = 0x4, | ||
| 6198 | } D3D12_SHADER_CACHE_CONTROL_FLAGS; | ||
| 6199 | cpp_quote("DEFINE_ENUM_FLAG_OPERATORS( D3D12_SHADER_CACHE_CONTROL_FLAGS )") | ||
| 6200 | |||
| 6201 | [uuid(4c80e962-f032-4f60-bc9e-ebc2cfa1d83c), object, local, pointer_default(unique)] | ||
| 6202 | interface ID3D12Device9 | ||
| 6203 | : ID3D12Device8 | ||
| 6204 | { | ||
| 6205 | HRESULT CreateShaderCacheSession( | ||
| 6206 | [annotation("_In_")] const D3D12_SHADER_CACHE_SESSION_DESC* pDesc, | ||
| 6207 | REFIID riid, | ||
| 6208 | [annotation("_COM_Outptr_opt_")] void** ppvSession); | ||
| 6209 | |||
| 6210 | HRESULT ShaderCacheControl( | ||
| 6211 | D3D12_SHADER_CACHE_KIND_FLAGS Kinds, | ||
| 6212 | D3D12_SHADER_CACHE_CONTROL_FLAGS Control); | ||
| 6213 | |||
| 6214 | HRESULT CreateCommandQueue1( | ||
| 6215 | [annotation("_In_")] const D3D12_COMMAND_QUEUE_DESC* pDesc, | ||
| 6216 | REFIID CreatorID, | ||
| 6217 | [in] REFIID riid, // Expected: ID3D12CommandQueue | ||
| 6218 | [out, iid_is(riid), annotation("_COM_Outptr_")] void** ppCommandQueue | ||
| 6219 | ); | ||
| 6220 | }; | ||
| 6221 | |||
| 6222 | [uuid(517f8718-aa66-49f9-b02b-a7ab89c06031), object, local, pointer_default(unique)] | ||
| 6223 | interface ID3D12Device10 | ||
| 6224 | : ID3D12Device9 | ||
| 6225 | { | ||
| 6226 | HRESULT CreateCommittedResource3( | ||
| 6227 | [annotation("_In_")] const D3D12_HEAP_PROPERTIES* pHeapProperties, | ||
| 6228 | D3D12_HEAP_FLAGS HeapFlags, | ||
| 6229 | [annotation("_In_")] const D3D12_RESOURCE_DESC1* pDesc, | ||
| 6230 | D3D12_BARRIER_LAYOUT InitialLayout, | ||
| 6231 | [annotation("_In_opt_")] const D3D12_CLEAR_VALUE* pOptimizedClearValue, | ||
| 6232 | [annotation("_In_opt_")] ID3D12ProtectedResourceSession* pProtectedSession, | ||
| 6233 | UINT32 NumCastableFormats, | ||
| 6234 | [annotation("_In_opt_count_(NumCastableFormats)")] const DXGI_FORMAT *pCastableFormats, | ||
| 6235 | [in] REFIID riidResource, // Expected: ID3D12Resource1* | ||
| 6236 | [out, iid_is(riidResource), annotation("_COM_Outptr_opt_")] void** ppvResource); | ||
| 6237 | |||
| 6238 | HRESULT CreatePlacedResource2( | ||
| 6239 | [annotation("_In_")] ID3D12Heap* pHeap, | ||
| 6240 | UINT64 HeapOffset, | ||
| 6241 | [annotation("_In_")] const D3D12_RESOURCE_DESC1* pDesc, | ||
| 6242 | D3D12_BARRIER_LAYOUT InitialLayout, | ||
| 6243 | [annotation("_In_opt_")] const D3D12_CLEAR_VALUE* pOptimizedClearValue, | ||
| 6244 | UINT32 NumCastableFormats, | ||
| 6245 | [annotation("_In_opt_count_(NumCastableFormats)")] const DXGI_FORMAT *pCastableFormats, | ||
| 6246 | [in] REFIID riid, // Expected: ID3D12Resource* | ||
| 6247 | [out, iid_is(riid), annotation("_COM_Outptr_opt_")] void** ppvResource); | ||
| 6248 | |||
| 6249 | HRESULT CreateReservedResource2( | ||
| 6250 | [annotation("_In_")] const D3D12_RESOURCE_DESC* pDesc, | ||
| 6251 | D3D12_BARRIER_LAYOUT InitialLayout, | ||
| 6252 | [annotation("_In_opt_")] const D3D12_CLEAR_VALUE* pOptimizedClearValue, | ||
| 6253 | [annotation("_In_opt_")] ID3D12ProtectedResourceSession *pProtectedSession, | ||
| 6254 | UINT32 NumCastableFormats, | ||
| 6255 | [annotation("_In_opt_count_(NumCastableFormats)")] const DXGI_FORMAT *pCastableFormats, | ||
| 6256 | [in] REFIID riid, // Expected: ID3D12Resource1* | ||
| 6257 | [out, iid_is(riid), annotation("_COM_Outptr_opt_")] void** ppvResource | ||
| 6258 | ); | ||
| 6259 | }; | ||
| 6260 | |||
| 6261 | [uuid(5405c344-d457-444e-b4dd-2366e45aee39), object, local, pointer_default(unique)] | ||
| 6262 | interface ID3D12Device11 | ||
| 6263 | : ID3D12Device10 | ||
| 6264 | { | ||
| 6265 | void CreateSampler2( | ||
| 6266 | [annotation("_In_")] const D3D12_SAMPLER_DESC2* pDesc, | ||
| 6267 | [annotation("_In_")] D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor); | ||
| 6268 | }; | ||
| 6269 | |||
| 6270 | [uuid(5af5c532-4c91-4cd0-b541-15a405395fc5), object, local, pointer_default(unique)] | ||
| 6271 | interface ID3D12Device12 | ||
| 6272 | : ID3D12Device11 | ||
| 6273 | { | ||
| 6274 | D3D12_RESOURCE_ALLOCATION_INFO GetResourceAllocationInfo3( | ||
| 6275 | UINT visibleMask, | ||
| 6276 | UINT numResourceDescs, | ||
| 6277 | [annotation("_In_reads_(numResourceDescs)")] const D3D12_RESOURCE_DESC1* pResourceDescs, | ||
| 6278 | [annotation("_In_opt_count_(numResourceDescs)")] const UINT32* pNumCastableFormats, | ||
| 6279 | [annotation("_In_opt_count_(numResourceDescs)")] const DXGI_FORMAT *const *ppCastableFormats, | ||
| 6280 | [annotation("_Out_writes_opt_(numResourceDescs)")] D3D12_RESOURCE_ALLOCATION_INFO1* pResourceAllocationInfo1); | ||
| 6281 | }; | ||
| 6282 | |||
| 6283 | [uuid(14eecffc-4df8-40f7-a118-5c816f45695e), object, local, pointer_default(unique)] | ||
| 6284 | interface ID3D12Device13 | ||
| 6285 | : ID3D12Device12 | ||
| 6286 | { | ||
| 6287 | HRESULT OpenExistingHeapFromAddress1( | ||
| 6288 | [annotation("_In_")] const void* pAddress, | ||
| 6289 | SIZE_T size, | ||
| 6290 | [in] REFIID riid, // Expected: ID3D12Heap | ||
| 6291 | [out, iid_is(riid), annotation("_COM_Outptr_")] void** ppvHeap | ||
| 6292 | ); | ||
| 6293 | }; | ||
| 6294 | |||
| 6295 | [uuid(5f6e592d-d895-44c2-8e4a-88ad4926d323), object, local, pointer_default(unique)] | ||
| 6296 | interface ID3D12Device14 : ID3D12Device13 | ||
| 6297 | { | ||
| 6298 | HRESULT CreateRootSignatureFromSubobjectInLibrary( | ||
| 6299 | [annotation("_In_")] UINT nodeMask, | ||
| 6300 | [annotation("_In_reads_(blobLengthInBytes)")] const void* pLibraryBlob, | ||
| 6301 | [annotation("_In_")] SIZE_T blobLengthInBytes, | ||
| 6302 | [annotation("_In_opt_")] LPCWSTR subobjectName, | ||
| 6303 | [in] REFIID riid, // Expected ID3D12RootSignature | ||
| 6304 | [out, iid_is(riid), annotation("_COM_Outptr_")] void** ppvRootSignature); | ||
| 6305 | }; | ||
| 6306 | |||
| 6307 | typedef union D3D12_VERSION_NUMBER | ||
| 6308 | { | ||
| 6309 | UINT64 Version; | ||
| 6310 | UINT16 VersionParts[4]; | ||
| 6311 | } D3D12_VERSION_NUMBER; | ||
| 6312 | |||
| 6313 | // D3D12_FEATURE_SHADER_CACHE_ABI_SUPPORT | ||
| 6314 | typedef struct D3D12_FEATURE_DATA_SHADERCACHE_ABI_SUPPORT | ||
| 6315 | { | ||
| 6316 | WCHAR szAdapterFamily[128]; | ||
| 6317 | UINT64 MinimumABISupportVersion; | ||
| 6318 | UINT64 MaximumABISupportVersion; | ||
| 6319 | D3D12_VERSION_NUMBER CompilerVersion; | ||
| 6320 | D3D12_VERSION_NUMBER ApplicationProfileVersion; | ||
| 6321 | } D3D12_FEATURE_DATA_SHADERCACHE_ABI_SUPPORT; | ||
| 6322 | |||
| 6323 | |||
| 6324 | typedef void(__stdcall* D3D12PipelineStateFunc) ( | ||
| 6325 | [annotation("_In_reads_bytes_(KeySize)")] const void* pKey, | ||
| 6326 | UINT KeySize, | ||
| 6327 | UINT Version, | ||
| 6328 | const D3D12_PIPELINE_STATE_STREAM_DESC* pDesc, | ||
| 6329 | [annotation("_Inout_opt_")] void* pContext | ||
| 6330 | ); | ||
| 6331 | |||
| 6332 | typedef void(__stdcall* D3D12StateObjectFunc) ( | ||
| 6333 | [annotation("_In_reads_bytes_(KeySize)")] const void* pKey, | ||
| 6334 | UINT KeySize, | ||
| 6335 | UINT Version, | ||
| 6336 | const D3D12_STATE_OBJECT_DESC* pDesc, | ||
| 6337 | [annotation("_In_reads_bytes_(ParentKeySize)")] const void* pParentKey, | ||
| 6338 | UINT ParentKeySize, | ||
| 6339 | [annotation("_Inout_opt_")] void* pContext | ||
| 6340 | ); | ||
| 6341 | |||
| 6342 | |||
| 6343 | typedef struct D3D12_APPLICATION_DESC | ||
| 6344 | { | ||
| 6345 | LPCWSTR pExeFilename; | ||
| 6346 | LPCWSTR pName; | ||
| 6347 | D3D12_VERSION_NUMBER Version; | ||
| 6348 | LPCWSTR pEngineName; | ||
| 6349 | D3D12_VERSION_NUMBER EngineVersion; | ||
| 6350 | } D3D12_APPLICATION_DESC; | ||
| 6351 | |||
| 6352 | typedef void(__stdcall* D3D12ApplicationDescFunc) ( | ||
| 6353 | [annotation("_In_")] const D3D12_APPLICATION_DESC* pApplicationDesc, | ||
| 6354 | [annotation("_Inout_opt_")] void* pContext | ||
| 6355 | ); | ||
| 6356 | |||
| 6357 | typedef struct D3D12_EXISTING_COLLECTION_BY_KEY_DESC | ||
| 6358 | { | ||
| 6359 | [annotation("_Field_size_bytes_full_(KeySize)")] const void* pKey; | ||
| 6360 | UINT KeySize; | ||
| 6361 | UINT NumExports; // Optional, if 0 all exports in the library/collection will be surfaced | ||
| 6362 | [annotation("_In_reads_(NumExports)")] const D3D12_EXPORT_DESC* pExports; | ||
| 6363 | } D3D12_EXISTING_COLLECTION_BY_KEY_DESC; | ||
| 6364 | |||
| 6365 | [uuid(c56060b7-b5fc-4135-98e0-a1e9997eace0), object, local, pointer_default(unique)] | ||
| 6366 | interface ID3D12StateObjectDatabase | ||
| 6367 | : IUnknown | ||
| 6368 | { | ||
| 6369 | HRESULT SetApplicationDesc( | ||
| 6370 | [annotation("_In_")] const D3D12_APPLICATION_DESC* pApplicationDesc); | ||
| 6371 | |||
| 6372 | HRESULT GetApplicationDesc( | ||
| 6373 | [annotation("_In_")] D3D12ApplicationDescFunc CallbackFunc, | ||
| 6374 | [annotation("_Inout_opt_")] void* pContext); | ||
| 6375 | |||
| 6376 | HRESULT StorePipelineStateDesc( | ||
| 6377 | [annotation("_In_reads_(KeySize)")] const void* pKey, | ||
| 6378 | UINT KeySize, | ||
| 6379 | UINT Version, | ||
| 6380 | [annotation("_In_")] const D3D12_PIPELINE_STATE_STREAM_DESC* pDesc); | ||
| 6381 | |||
| 6382 | HRESULT FindPipelineStateDesc( | ||
| 6383 | [annotation("_In_reads_(KeySize)")] const void* pKey, | ||
| 6384 | UINT KeySize, | ||
| 6385 | [annotation("_In_")] D3D12PipelineStateFunc CallbackFunc, | ||
| 6386 | [annotation("_Inout_opt_")] void* pContext); | ||
| 6387 | |||
| 6388 | HRESULT StoreStateObjectDesc( | ||
| 6389 | [annotation("_In_reads_(KeySize)")] const void* pKey, | ||
| 6390 | UINT KeySize, | ||
| 6391 | UINT Version, | ||
| 6392 | [annotation("_In_")] const D3D12_STATE_OBJECT_DESC* pDesc, | ||
| 6393 | [annotation("_In_reads_opt_(StateObjectToGrowFromKeySize)")] const void* pStateObjectToGrowFromKey, | ||
| 6394 | UINT StateObjectToGrowFromKeySize); | ||
| 6395 | |||
| 6396 | HRESULT FindStateObjectDesc( | ||
| 6397 | [annotation("_In_reads_(keySize)")] const void* pKey, | ||
| 6398 | UINT KeySize, | ||
| 6399 | D3D12StateObjectFunc CallbackFunc, | ||
| 6400 | [annotation("_Inout_opt_")] void* pContext); | ||
| 6401 | |||
| 6402 | HRESULT FindObjectVersion( | ||
| 6403 | [annotation("_In_reads_(keySize)")] const void* pKey, | ||
| 6404 | UINT KeySize, | ||
| 6405 | [annotation("_Out_")] UINT* pVersion); | ||
| 6406 | }; | ||
| 6407 | |||
| 6408 | |||
| 6409 | |||
| 6410 | [uuid(bc66d368-7373-4943-8757-fc87dc79e476), object, local, pointer_default(unique)] | ||
| 6411 | interface ID3D12VirtualizationGuestDevice | ||
| 6412 | : IUnknown | ||
| 6413 | { | ||
| 6414 | HRESULT ShareWithHost( | ||
| 6415 | [annotation("_In_")] ID3D12DeviceChild* pObject, | ||
| 6416 | [annotation("_Out_")] HANDLE* pHandle | ||
| 6417 | ); | ||
| 6418 | |||
| 6419 | HRESULT CreateFenceFd( | ||
| 6420 | [annotation("_In_")] ID3D12Fence *pFence, | ||
| 6421 | UINT64 FenceValue, | ||
| 6422 | [annotation("_Out_")] int *pFenceFd | ||
| 6423 | ); | ||
| 6424 | }; | ||
| 6425 | |||
| 6426 | |||
| 6427 | |||
| 6428 | [uuid(7071e1f0-e84b-4b33-974f-12fa49de65c5), object, local, pointer_default(unique)] | ||
| 6429 | interface ID3D12Tools | ||
| 6430 | : IUnknown | ||
| 6431 | { | ||
| 6432 | void EnableShaderInstrumentation(BOOL bEnable); | ||
| 6433 | BOOL ShaderInstrumentationEnabled(); | ||
| 6434 | } | ||
| 6435 | |||
| 6436 | [uuid(e4fbc019-dd3c-43e1-8f32-7f649575f0a0), object, local, pointer_default(unique)] | ||
| 6437 | interface ID3D12Tools1 | ||
| 6438 | : ID3D12Tools | ||
| 6439 | { | ||
| 6440 | HRESULT ReserveGPUVARangesAtCreate( | ||
| 6441 | [annotation("_In_reads_(uiNumRanges)")] D3D12_GPU_VIRTUAL_ADDRESS_RANGE* pRanges, | ||
| 6442 | [annotation("_In_")] UINT uiNumRanges); | ||
| 6443 | void ClearReservedGPUVARangesList(); | ||
| 6444 | } | ||
| 6445 | |||
| 6446 | [uuid(01d393c5-c9b0-42a1-958c-c26b02d4d097), object, local, pointer_default(unique)] | ||
| 6447 | interface ID3D12Tools2 | ||
| 6448 | : ID3D12Tools1 | ||
| 6449 | { | ||
| 6450 | HRESULT SetApplicationSpecificDriverState( | ||
| 6451 | [annotation("_In_")] IUnknown* pAdapter, | ||
| 6452 | [annotation("_In_opt_")] ID3DBlob* pBlob); | ||
| 6453 | }; | ||
| 6454 | |||
| 6455 | |||
| 6456 | [uuid(8f1359db-d8d1-42f9-b5cf-79f4cbad0d3d), object, local, pointer_default(unique)] | ||
| 6457 | interface ID3D12PageableTools | ||
| 6458 | : IUnknown | ||
| 6459 | { | ||
| 6460 | HRESULT GetAllocation( | ||
| 6461 | [annotation("_Inout_")] D3D12_GPU_VIRTUAL_ADDRESS_RANGE* pAllocation); | ||
| 6462 | } | ||
| 6463 | |||
| 6464 | [uuid(2ea68e9c-19c3-4e47-a109-6cdadff0aca9), object, local, pointer_default(unique)] | ||
| 6465 | interface ID3D12DeviceTools | ||
| 6466 | : IUnknown | ||
| 6467 | { | ||
| 6468 | void SetNextAllocationAddress( | ||
| 6469 | [annotation("_In_")] D3D12_GPU_VIRTUAL_ADDRESS nextAllocationVirtualAddress); | ||
| 6470 | } | ||
| 6471 | |||
| 6472 | typedef enum D3D12_APPLICATION_SPECIFIC_DRIVER_BLOB_STATUS | ||
| 6473 | { | ||
| 6474 | D3D12_APPLICATION_SPECIFIC_DRIVER_BLOB_UNKNOWN = 1, | ||
| 6475 | D3D12_APPLICATION_SPECIFIC_DRIVER_BLOB_USED = 2, | ||
| 6476 | D3D12_APPLICATION_SPECIFIC_DRIVER_BLOB_IGNORED = 3, | ||
| 6477 | D3D12_APPLICATION_SPECIFIC_DRIVER_BLOB_NOT_SPECIFIED = 4, | ||
| 6478 | } D3D12_APPLICATION_SPECIFIC_DRIVER_BLOB_STATUS; | ||
| 6479 | |||
| 6480 | [uuid(e30e9fc7-e641-4d6e-8a81-9dd9206ec47a), object, local, pointer_default(unique)] | ||
| 6481 | interface ID3D12DeviceTools1 | ||
| 6482 | : ID3D12DeviceTools | ||
| 6483 | { | ||
| 6484 | HRESULT GetApplicationSpecificDriverState( | ||
| 6485 | [annotation("_COM_Outptr_")] ID3DBlob** ppBlob); | ||
| 6486 | D3D12_APPLICATION_SPECIFIC_DRIVER_BLOB_STATUS GetApplicationSpecificDriverBlobStatus(); | ||
| 6487 | } | ||
| 6488 | |||
| 6489 | typedef struct D3D12_SUBRESOURCE_DATA | ||
| 6490 | { | ||
| 6491 | const void* pData; | ||
| 6492 | LONG_PTR RowPitch; | ||
| 6493 | LONG_PTR SlicePitch; | ||
| 6494 | } D3D12_SUBRESOURCE_DATA; | ||
| 6495 | |||
| 6496 | typedef struct D3D12_MEMCPY_DEST | ||
| 6497 | { | ||
| 6498 | void* pData; | ||
| 6499 | SIZE_T RowPitch; | ||
| 6500 | SIZE_T SlicePitch; | ||
| 6501 | } D3D12_MEMCPY_DEST; | ||
| 6502 | |||
| 6503 | |||
| 6504 | |||
| 6505 | cpp_quote( "#if !defined( D3D12_IGNORE_SDK_LAYERS ) ") | ||
| 6506 | cpp_quote( "#include \"d3d12sdklayers.h\" ") | ||
| 6507 | cpp_quote( "#endif ") | ||
| 6508 | |||
| 6509 | |||
| 6510 | cpp_quote("") | ||
| 6511 | cpp_quote("///////////////////////////////////////////////////////////////////////////") | ||
| 6512 | cpp_quote("// D3D12CreateDevice") | ||
| 6513 | cpp_quote("// ------------------") | ||
| 6514 | cpp_quote("//") | ||
| 6515 | cpp_quote("// pAdapter") | ||
| 6516 | cpp_quote("// If NULL, D3D12CreateDevice will choose the primary adapter.") | ||
| 6517 | cpp_quote("// If non-NULL, D3D12CreateDevice will use the provided adapter.") | ||
| 6518 | cpp_quote("// MinimumFeatureLevel") | ||
| 6519 | cpp_quote("// The minimum feature level required for successful device creation.") | ||
| 6520 | cpp_quote("// riid") | ||
| 6521 | cpp_quote("// The interface IID of the device to be returned. Expected: ID3D12Device.") | ||
| 6522 | cpp_quote("// ppDevice") | ||
| 6523 | cpp_quote("// Pointer to returned interface. May be NULL.") | ||
| 6524 | cpp_quote("//") | ||
| 6525 | cpp_quote("// Return Values") | ||
| 6526 | cpp_quote("// Any of those documented for ") | ||
| 6527 | cpp_quote("// CreateDXGIFactory1") | ||
| 6528 | cpp_quote("// IDXGIFactory::EnumAdapters") | ||
| 6529 | cpp_quote("// D3D12CreateDevice") | ||
| 6530 | cpp_quote("//") | ||
| 6531 | cpp_quote("///////////////////////////////////////////////////////////////////////////") | ||
| 6532 | cpp_quote("typedef HRESULT (WINAPI* PFN_D3D12_CREATE_DEVICE)( _In_opt_ IUnknown*, ") | ||
| 6533 | cpp_quote(" D3D_FEATURE_LEVEL, ") | ||
| 6534 | cpp_quote(" _In_ REFIID, _COM_Outptr_opt_ void** );") | ||
| 6535 | cpp_quote("") | ||
| 6536 | cpp_quote("HRESULT WINAPI D3D12CreateDevice(") | ||
| 6537 | cpp_quote(" _In_opt_ IUnknown* pAdapter,") | ||
| 6538 | cpp_quote(" D3D_FEATURE_LEVEL MinimumFeatureLevel,") | ||
| 6539 | cpp_quote(" _In_ REFIID riid, // Expected: ID3D12Device") | ||
| 6540 | cpp_quote(" _COM_Outptr_opt_ void** ppDevice );") | ||
| 6541 | cpp_quote("") | ||
| 6542 | |||
| 6543 | cpp_quote("") | ||
| 6544 | cpp_quote("typedef HRESULT (WINAPI* PFN_D3D12_GET_DEBUG_INTERFACE)( _In_ REFIID, _COM_Outptr_opt_ void** );") | ||
| 6545 | cpp_quote("") | ||
| 6546 | cpp_quote("HRESULT WINAPI D3D12GetDebugInterface( _In_ REFIID riid, _COM_Outptr_opt_ void** ppvDebug );") | ||
| 6547 | cpp_quote("") | ||
| 6548 | |||
| 6549 | cpp_quote("// --------------------------------------------------------------------------------------------------------------------------------") | ||
| 6550 | cpp_quote("// D3D12EnableExperimentalFeatures") | ||
| 6551 | cpp_quote("//") | ||
| 6552 | cpp_quote("// Pass in a list of feature GUIDs to be enabled together.") | ||
| 6553 | cpp_quote("// ") | ||
| 6554 | cpp_quote("// If a particular feature requires some configuration information on enablement, it will have") | ||
| 6555 | cpp_quote("// a configuration struct that can be passed alongside the GUID.") | ||
| 6556 | cpp_quote("// ") | ||
| 6557 | cpp_quote("// Some features might use an interface IID as the GUID. For these, once the feature is enabled via") | ||
| 6558 | cpp_quote("// D3D12EnableExperimentalFeatures, D3D12GetDebugInterface can then be called with the IID to retrieve the interface") | ||
| 6559 | cpp_quote("// for manipulating the feature. This allows for control that might not cleanly be expressed by just ") | ||
| 6560 | cpp_quote("// the configuration struct that D3D12EnableExperimentalFeatures provides.") | ||
| 6561 | cpp_quote("//") | ||
| 6562 | cpp_quote("// If this method is called and a change to existing feature enablement is made, ") | ||
| 6563 | cpp_quote("// all current D3D12 devices are set to DEVICE_REMOVED state, since under the covers there is really only one") | ||
| 6564 | cpp_quote("// singleton device for a process. Removing the devices when configuration changes prevents") | ||
| 6565 | cpp_quote("// mismatched expectations of how a device is supposed to work after it has been created from the app's point of view.") | ||
| 6566 | cpp_quote("//") | ||
| 6567 | cpp_quote("// The call returns E_NOINTERFACE if an unrecognized feature is passed in or Windows Developer mode is not on.") | ||
| 6568 | cpp_quote("// The call returns E_INVALIDARG if the configuration of a feature is incorrect, the set of features passed") | ||
| 6569 | cpp_quote("// in are known to be incompatible with each other, or other errors.") | ||
| 6570 | cpp_quote("// Returns S_OK otherwise.") | ||
| 6571 | cpp_quote("//") | ||
| 6572 | cpp_quote("// --------------------------------------------------------------------------------------------------------------------------------") | ||
| 6573 | cpp_quote("HRESULT WINAPI D3D12EnableExperimentalFeatures(") | ||
| 6574 | cpp_quote(" UINT NumFeatures,") | ||
| 6575 | cpp_quote(" _In_count_(NumFeatures) const IID* pIIDs,") | ||
| 6576 | cpp_quote(" _In_opt_count_(NumFeatures) void* pConfigurationStructs,") | ||
| 6577 | cpp_quote(" _In_opt_count_(NumFeatures) UINT* pConfigurationStructSizes);") | ||
| 6578 | cpp_quote("") | ||
| 6579 | cpp_quote("// --------------------------------------------------------------------------------------------------------------------------------") | ||
| 6580 | cpp_quote("// Experimental Feature: D3D12ExperimentalShaderModels") | ||
| 6581 | cpp_quote("//") | ||
| 6582 | cpp_quote("// Use with D3D12EnableExperimentalFeatures to enable experimental shader model support,") | ||
| 6583 | cpp_quote("// meaning shader models that haven't been finalized for use in retail.") | ||
| 6584 | cpp_quote("//") | ||
| 6585 | cpp_quote("// Enabling D3D12ExperimentalShaderModels needs no configuration struct, pass NULL in the pConfigurationStructs array.") | ||
| 6586 | cpp_quote("//") | ||
| 6587 | cpp_quote("// --------------------------------------------------------------------------------------------------------------------------------") | ||
| 6588 | cpp_quote("static const UUID D3D12ExperimentalShaderModels = { /* 76f5573e-f13a-40f5-b297-81ce9e18933f */") | ||
| 6589 | cpp_quote(" 0x76f5573e,") | ||
| 6590 | cpp_quote(" 0xf13a,") | ||
| 6591 | cpp_quote(" 0x40f5,") | ||
| 6592 | cpp_quote(" { 0xb2, 0x97, 0x81, 0xce, 0x9e, 0x18, 0x93, 0x3f }") | ||
| 6593 | cpp_quote("};") | ||
| 6594 | cpp_quote("// --------------------------------------------------------------------------------------------------------------------------------") | ||
| 6595 | cpp_quote("// Experimental Feature: D3D12TiledResourceTier4") | ||
| 6596 | cpp_quote("//") | ||
| 6597 | cpp_quote("// Use with D3D12EnableExperimentalFeatures to enable tiled resource tier 4 support,") | ||
| 6598 | cpp_quote("// meaning texture tile data-inheritance is allowed.") | ||
| 6599 | cpp_quote("//") | ||
| 6600 | cpp_quote("// Enabling D3D12TiledResourceTier4 needs no configuration struct, pass NULL in the pConfigurationStructs array.") | ||
| 6601 | cpp_quote("//") | ||
| 6602 | cpp_quote("// --------------------------------------------------------------------------------------------------------------------------------") | ||
| 6603 | cpp_quote("static const UUID D3D12TiledResourceTier4 = { /* c9c4725f-a81a-4f56-8c5b-c51039d694fb */") | ||
| 6604 | cpp_quote(" 0xc9c4725f,") | ||
| 6605 | cpp_quote(" 0xa81a,") | ||
| 6606 | cpp_quote(" 0x4f56,") | ||
| 6607 | cpp_quote(" { 0x8c, 0x5b, 0xc5, 0x10, 0x39, 0xd6, 0x94, 0xfb }") | ||
| 6608 | cpp_quote("};") | ||
| 6609 | cpp_quote("// --------------------------------------------------------------------------------------------------------------------------------") | ||
| 6610 | cpp_quote("// Experimental Feature: D3D12GPUUploadHeapsOnUnsupportedOS") | ||
| 6611 | cpp_quote("//") | ||
| 6612 | cpp_quote("// Use with D3D12EnableExperimentalFeatures to enable GPU upload heaps support on an unsupported OS, ") | ||
| 6613 | cpp_quote("// driver support is still required for this feature.") | ||
| 6614 | cpp_quote("//") | ||
| 6615 | cpp_quote("// Enabling D3D12GPUUploadHeapsOnUnsupportedOS needs no configuration struct, pass NULL in the pConfigurationStructs array.") | ||
| 6616 | cpp_quote("//") | ||
| 6617 | cpp_quote("// --------------------------------------------------------------------------------------------------------------------------------") | ||
| 6618 | cpp_quote("static const UUID D3D12GPUUploadHeapsOnUnsupportedOS = { /* 45dc51f3-767f-4588-b206-0baa2b16fbae */") | ||
| 6619 | cpp_quote(" 0x45dc51f3,") | ||
| 6620 | cpp_quote(" 0x767f,") | ||
| 6621 | cpp_quote(" 0x4588,") | ||
| 6622 | cpp_quote(" { 0xb2, 0x06, 0x0b, 0xaa, 0x2b, 0x16, 0xfb, 0xae }") | ||
| 6623 | cpp_quote("};") | ||
| 6624 | cpp_quote("// --------------------------------------------------------------------------------------------------------------------------------") | ||
| 6625 | cpp_quote("// D3D12GetInterface") | ||
| 6626 | cpp_quote("//") | ||
| 6627 | cpp_quote("// Retrieve Global D3D12 Interface.") | ||
| 6628 | cpp_quote("//") | ||
| 6629 | cpp_quote("") | ||
| 6630 | cpp_quote("DEFINE_GUID(CLSID_D3D12Debug, 0xf2352aeb, 0xdd84, 0x49fe, 0xb9, 0x7b, 0xa9, 0xdc, 0xfd, 0xcc, 0x1b, 0x4f);") | ||
| 6631 | cpp_quote("DEFINE_GUID(CLSID_D3D12Tools, 0xe38216b1, 0x3c8c, 0x4833, 0xaa, 0x09, 0x0a, 0x06, 0xb6, 0x5d, 0x96, 0xc8);") | ||
| 6632 | cpp_quote("DEFINE_GUID(CLSID_D3D12DeviceRemovedExtendedData, 0x4a75bbc4, 0x9ff4, 0x4ad8, 0x9f, 0x18, 0xab, 0xae, 0x84, 0xdc, 0x5f, 0xf2);") | ||
| 6633 | cpp_quote("DEFINE_GUID(CLSID_D3D12SDKConfiguration, 0x7cda6aca, 0xa03e, 0x49c8, 0x94, 0x58, 0x03, 0x34, 0xd2, 0x0e, 0x07, 0xce);") | ||
| 6634 | cpp_quote("DEFINE_GUID(CLSID_D3D12DeviceFactory, 0x114863bf, 0xc386, 0x4aee, 0xb3, 0x9d, 0x8f, 0x0b, 0xbb, 0x06, 0x29, 0x55);") | ||
| 6635 | cpp_quote("DEFINE_GUID(CLSID_D3D12DSRDeviceFactory, 0xbb6dd27e, 0x94a9, 0x41a6, 0x9f, 0x1b, 0x13, 0x37, 0x72, 0x17, 0x24, 0x28);") | ||
| 6636 | cpp_quote("DEFINE_GUID(CLSID_D3D12StateObjectFactory, 0x54e1c9f3, 0x1303, 0x4112, 0xbf, 0x8e, 0x7b, 0xf2, 0xbb, 0x60, 0x6a, 0x73);") | ||
| 6637 | cpp_quote("") | ||
| 6638 | cpp_quote("typedef HRESULT (WINAPI* PFN_D3D12_GET_INTERFACE)( _In_ REFCLSID, _In_ REFIID, _COM_Outptr_opt_ void** );") | ||
| 6639 | cpp_quote("") | ||
| 6640 | cpp_quote("HRESULT WINAPI D3D12GetInterface( _In_ REFCLSID rclsid, _In_ REFIID riid, _COM_Outptr_opt_ void** ppvDebug );") | ||
| 6641 | cpp_quote("") | ||
| 6642 | |||
| 6643 | //================================================================================================================================== | ||
| 6644 | // | ||
| 6645 | // SDK Configuration | ||
| 6646 | // | ||
| 6647 | //================================================================================================================================== | ||
| 6648 | |||
| 6649 | [uuid(e9eb5314-33aa-42b2-a718-d77f58b1f1c7), object, local, pointer_default(unique)] | ||
| 6650 | interface ID3D12SDKConfiguration | ||
| 6651 | : IUnknown | ||
| 6652 | { | ||
| 6653 | HRESULT SetSDKVersion( | ||
| 6654 | UINT SDKVersion, | ||
| 6655 | [annotation("_In_z_")] LPCSTR SDKPath | ||
| 6656 | ); | ||
| 6657 | } | ||
| 6658 | |||
| 6659 | [uuid(8aaf9303-ad25-48b9-9a57-d9c37e009d9f), object, local, pointer_default(unique)] | ||
| 6660 | interface ID3D12SDKConfiguration1 | ||
| 6661 | : ID3D12SDKConfiguration | ||
| 6662 | { | ||
| 6663 | HRESULT CreateDeviceFactory( | ||
| 6664 | UINT SDKVersion, | ||
| 6665 | [annotation("_In_")] LPCSTR SDKPath, | ||
| 6666 | REFIID riid, // Expected: ID3D12DeviceFactory | ||
| 6667 | [annotation("_COM_Outptr_")] void **ppvFactory | ||
| 6668 | ); | ||
| 6669 | void FreeUnusedSDKs(); | ||
| 6670 | } | ||
| 6671 | |||
| 6672 | typedef enum D3D12_DEVICE_FACTORY_FLAGS | ||
| 6673 | { | ||
| 6674 | D3D12_DEVICE_FACTORY_FLAG_NONE = 0, | ||
| 6675 | D3D12_DEVICE_FACTORY_FLAG_ALLOW_RETURNING_EXISTING_DEVICE = 0x1, | ||
| 6676 | D3D12_DEVICE_FACTORY_FLAG_ALLOW_RETURNING_INCOMPATIBLE_EXISTING_DEVICE = 0x2, | ||
| 6677 | D3D12_DEVICE_FACTORY_FLAG_DISALLOW_STORING_NEW_DEVICE_AS_SINGLETON = 0x4, | ||
| 6678 | } D3D12_DEVICE_FACTORY_FLAGS; | ||
| 6679 | cpp_quote("DEFINE_ENUM_FLAG_OPERATORS( D3D12_DEVICE_FACTORY_FLAGS )") | ||
| 6680 | |||
| 6681 | [uuid(61f307d3-d34e-4e7c-8374-3ba4de23cccb), object, local, pointer_default(unique)] | ||
| 6682 | interface ID3D12DeviceFactory | ||
| 6683 | : IUnknown | ||
| 6684 | { | ||
| 6685 | HRESULT InitializeFromGlobalState(); | ||
| 6686 | HRESULT ApplyToGlobalState(); | ||
| 6687 | |||
| 6688 | HRESULT SetFlags(D3D12_DEVICE_FACTORY_FLAGS flags); | ||
| 6689 | D3D12_DEVICE_FACTORY_FLAGS GetFlags(); | ||
| 6690 | |||
| 6691 | HRESULT GetConfigurationInterface( | ||
| 6692 | REFCLSID clsid, | ||
| 6693 | REFIID iid, | ||
| 6694 | [annotation("_COM_Outptr_")] void **ppv); | ||
| 6695 | |||
| 6696 | HRESULT EnableExperimentalFeatures( | ||
| 6697 | UINT NumFeatures, | ||
| 6698 | [annotation("_In_reads_(NumFeatures)")] const IID *pIIDs, | ||
| 6699 | [annotation("_In_reads_opt_(NumFeatures)")] void *pConfigurationStructs, | ||
| 6700 | [annotation("_In_reads_opt_(NumFeatures)")] UINT *pConfigurationStructSizes); | ||
| 6701 | |||
| 6702 | HRESULT CreateDevice( | ||
| 6703 | [annotation("_In_opt_")] IUnknown *adapter, | ||
| 6704 | D3D_FEATURE_LEVEL FeatureLevel, | ||
| 6705 | REFIID riid, | ||
| 6706 | [annotation("_COM_Outptr_opt_")] void **ppvDevice); | ||
| 6707 | }; | ||
| 6708 | |||
| 6709 | typedef enum D3D12_DEVICE_FLAGS | ||
| 6710 | { | ||
| 6711 | D3D12_DEVICE_FLAG_NONE = 0, | ||
| 6712 | D3D12_DEVICE_FLAG_DEBUG_LAYER_ENABLED = 0x1, | ||
| 6713 | D3D12_DEVICE_FLAG_GPU_BASED_VALIDATION_ENABLED = 0x2, | ||
| 6714 | D3D12_DEVICE_FLAG_SYNCHRONIZED_COMMAND_QUEUE_VALIDATION_DISABLED = 0x4, | ||
| 6715 | D3D12_DEVICE_FLAG_DRED_AUTO_BREADCRUMBS_ENABLED = 0x8, | ||
| 6716 | D3D12_DEVICE_FLAG_DRED_PAGE_FAULT_REPORTING_ENABLED = 0x10, | ||
| 6717 | D3D12_DEVICE_FLAG_DRED_WATSON_REPORTING_ENABLED = 0x20, | ||
| 6718 | D3D12_DEVICE_FLAG_DRED_BREADCRUMB_CONTEXT_ENABLED = 0x40, | ||
| 6719 | D3D12_DEVICE_FLAG_DRED_USE_MARKERS_ONLY_BREADCRUMBS = 0x80, | ||
| 6720 | D3D12_DEVICE_FLAG_SHADER_INSTRUMENTATION_ENABLED = 0x100, | ||
| 6721 | D3D12_DEVICE_FLAG_AUTO_DEBUG_NAME_ENABLED = 0x200, | ||
| 6722 | D3D12_DEVICE_FLAG_FORCE_LEGACY_STATE_VALIDATION = 0x400, | ||
| 6723 | } D3D12_DEVICE_FLAGS; | ||
| 6724 | cpp_quote("DEFINE_ENUM_FLAG_OPERATORS( D3D12_DEVICE_FLAGS )") | ||
| 6725 | |||
| 6726 | typedef struct D3D12_DEVICE_CONFIGURATION_DESC | ||
| 6727 | { | ||
| 6728 | D3D12_DEVICE_FLAGS Flags; | ||
| 6729 | UINT GpuBasedValidationFlags; // D3D12_GPU_BASED_VALIDATION_FLAGS from d3d12sdklayers.h | ||
| 6730 | UINT SDKVersion; | ||
| 6731 | UINT NumEnabledExperimentalFeatures; | ||
| 6732 | } D3D12_DEVICE_CONFIGURATION_DESC; | ||
| 6733 | |||
| 6734 | [uuid(78dbf87b-f766-422b-a61c-c8c446bdb9ad), object, local, pointer_default(unique)] | ||
| 6735 | interface ID3D12DeviceConfiguration | ||
| 6736 | : IUnknown | ||
| 6737 | { | ||
| 6738 | D3D12_DEVICE_CONFIGURATION_DESC GetDesc(); | ||
| 6739 | HRESULT GetEnabledExperimentalFeatures([annotation("_Out_writes_(NumGuids)")] GUID *pGuids, UINT NumGuids); | ||
| 6740 | |||
| 6741 | HRESULT SerializeVersionedRootSignature( | ||
| 6742 | [annotation("_In_")] const D3D12_VERSIONED_ROOT_SIGNATURE_DESC *pDesc, | ||
| 6743 | [annotation("_COM_Outptr_")] ID3DBlob **ppResult, | ||
| 6744 | [annotation("_Always_(_Outptr_opt_result_maybenull_)")] ID3DBlob **ppError); | ||
| 6745 | |||
| 6746 | HRESULT CreateVersionedRootSignatureDeserializer( | ||
| 6747 | [annotation("_In_reads_bytes_(Size)")] const void *pBlob, | ||
| 6748 | SIZE_T Size, | ||
| 6749 | REFIID riid, | ||
| 6750 | [annotation("_COM_Outptr_")] void **ppvDeserializer); | ||
| 6751 | }; | ||
| 6752 | |||
| 6753 | [uuid(ed342442-6343-4e16-bb82-a3a577874e56), object, local, pointer_default(unique)] | ||
| 6754 | interface ID3D12DeviceConfiguration1 | ||
| 6755 | : ID3D12DeviceConfiguration | ||
| 6756 | { | ||
| 6757 | HRESULT CreateVersionedRootSignatureDeserializerFromSubobjectInLibrary( | ||
| 6758 | [annotation("_In_reads_bytes_(Size)")] const void* pLibraryBlob, | ||
| 6759 | SIZE_T Size, | ||
| 6760 | LPCWSTR RootSignatureSubobjectName, | ||
| 6761 | REFIID riid, | ||
| 6762 | [annotation("_COM_Outptr_")] void** ppvDeserializer); | ||
| 6763 | }; | ||
| 6764 | |||
| 6765 | |||
| 6766 | typedef enum D3D12_STATE_OBJECT_DATABASE_FLAGS | ||
| 6767 | { | ||
| 6768 | D3D12_STATE_OBJECT_DATABASE_FLAG_NONE = 0x0, | ||
| 6769 | D3D12_STATE_OBJECT_DATABASE_FLAG_READ_ONLY = 0x1, | ||
| 6770 | } D3D12_STATE_OBJECT_DATABASE_FLAGS; | ||
| 6771 | cpp_quote("DEFINE_ENUM_FLAG_OPERATORS( D3D12_STATE_OBJECT_DATABASE_FLAGS )") | ||
| 6772 | |||
| 6773 | [uuid(f5b066f0-648a-4611-bd41-27fd0948b9eb), object, local, pointer_default(unique)] | ||
| 6774 | interface ID3D12StateObjectDatabaseFactory | ||
| 6775 | : IUnknown | ||
| 6776 | { | ||
| 6777 | HRESULT CreateStateObjectDatabaseFromFile( | ||
| 6778 | LPCWSTR pDatabaseFile, | ||
| 6779 | D3D12_STATE_OBJECT_DATABASE_FLAGS flags, | ||
| 6780 | REFIID riid, | ||
| 6781 | [out, iid_is(riid), annotation("_COM_Outptr_")] void** ppvStateObjectDatabase | ||
| 6782 | ); | ||
| 6783 | }; | ||
| 6784 | |||
| 6785 | |||
| 6786 | typedef enum D3D12_AXIS_SHADING_RATE | ||
| 6787 | { | ||
| 6788 | D3D12_AXIS_SHADING_RATE_1X = 0x0, | ||
| 6789 | D3D12_AXIS_SHADING_RATE_2X = 0x1, | ||
| 6790 | D3D12_AXIS_SHADING_RATE_4X = 0x2 | ||
| 6791 | } D3D12_AXIS_SHADING_RATE; | ||
| 6792 | |||
| 6793 | |||
| 6794 | cpp_quote("#define D3D12_SHADING_RATE_X_AXIS_SHIFT 2") | ||
| 6795 | cpp_quote("#define D3D12_SHADING_RATE_VALID_MASK 3") | ||
| 6796 | |||
| 6797 | cpp_quote("#define D3D12_MAKE_COARSE_SHADING_RATE(x,y) ((x) << D3D12_SHADING_RATE_X_AXIS_SHIFT | (y))") | ||
| 6798 | |||
| 6799 | cpp_quote("#define D3D12_GET_COARSE_SHADING_RATE_X_AXIS(x) (((x) >> D3D12_SHADING_RATE_X_AXIS_SHIFT) & D3D12_SHADING_RATE_VALID_MASK)") | ||
| 6800 | cpp_quote("#define D3D12_GET_COARSE_SHADING_RATE_Y_AXIS(y) ((y) & D3D12_SHADING_RATE_VALID_MASK)") | ||
| 6801 | |||
| 6802 | typedef enum D3D12_SHADING_RATE | ||
| 6803 | { | ||
| 6804 | D3D12_SHADING_RATE_1X1 = 0x0, | ||
| 6805 | D3D12_SHADING_RATE_1X2 = 0x1, | ||
| 6806 | D3D12_SHADING_RATE_2X1 = 0x4, | ||
| 6807 | D3D12_SHADING_RATE_2X2 = 0x5, | ||
| 6808 | D3D12_SHADING_RATE_2X4 = 0x6, | ||
| 6809 | D3D12_SHADING_RATE_4X2 = 0x9, | ||
| 6810 | D3D12_SHADING_RATE_4X4 = 0xA | ||
| 6811 | } D3D12_SHADING_RATE; | ||
| 6812 | |||
| 6813 | typedef enum D3D12_SHADING_RATE_COMBINER | ||
| 6814 | { | ||
| 6815 | D3D12_SHADING_RATE_COMBINER_PASSTHROUGH = 0, | ||
| 6816 | D3D12_SHADING_RATE_COMBINER_OVERRIDE = 1, | ||
| 6817 | D3D12_SHADING_RATE_COMBINER_MIN = 2, | ||
| 6818 | D3D12_SHADING_RATE_COMBINER_MAX = 3, | ||
| 6819 | D3D12_SHADING_RATE_COMBINER_SUM = 4, | ||
| 6820 | } D3D12_SHADING_RATE_COMBINER; | ||
| 6821 | |||
| 6822 | [uuid(55050859-4024-474c-87f5-6472eaee44ea), object, local, pointer_default(unique)] | ||
| 6823 | interface ID3D12GraphicsCommandList5 : ID3D12GraphicsCommandList4 | ||
| 6824 | { | ||
| 6825 | void RSSetShadingRate( | ||
| 6826 | [annotation("_In_")] D3D12_SHADING_RATE baseShadingRate, | ||
| 6827 | [annotation("_In_reads_opt_(D3D12_RS_SET_SHADING_RATE_COMBINER_COUNT)")] const D3D12_SHADING_RATE_COMBINER* combiners); | ||
| 6828 | |||
| 6829 | void RSSetShadingRateImage( | ||
| 6830 | [annotation("_In_opt_")] ID3D12Resource* shadingRateImage); | ||
| 6831 | } | ||
| 6832 | |||
| 6833 | typedef struct D3D12_DISPATCH_MESH_ARGUMENTS | ||
| 6834 | { | ||
| 6835 | UINT ThreadGroupCountX; | ||
| 6836 | UINT ThreadGroupCountY; | ||
| 6837 | UINT ThreadGroupCountZ; | ||
| 6838 | } D3D12_DISPATCH_MESH_ARGUMENTS; | ||
| 6839 | |||
| 6840 | [uuid(c3827890-e548-4cfa-96cf-5689a9370f80), object, local, pointer_default(unique)] | ||
| 6841 | interface ID3D12GraphicsCommandList6 : ID3D12GraphicsCommandList5 | ||
| 6842 | { | ||
| 6843 | void DispatchMesh( | ||
| 6844 | [annotation("_In_")] UINT ThreadGroupCountX, | ||
| 6845 | [annotation("_In_")] UINT ThreadGroupCountY, | ||
| 6846 | [annotation("_In_")] UINT ThreadGroupCountZ | ||
| 6847 | ); | ||
| 6848 | } | ||
| 6849 | |||
| 6850 | [uuid(dd171223-8b61-4769-90e3-160ccde4e2c1), object, local, pointer_default(unique)] | ||
| 6851 | interface ID3D12GraphicsCommandList7 : ID3D12GraphicsCommandList6 | ||
| 6852 | { | ||
| 6853 | void Barrier( | ||
| 6854 | UINT32 NumBarrierGroups, | ||
| 6855 | [annotation("_In_reads_(NumBarrierGroups)")] const D3D12_BARRIER_GROUP *pBarrierGroups | ||
| 6856 | ); | ||
| 6857 | }; | ||
| 6858 | |||
| 6859 | [uuid(ee936ef9-599d-4d28-938e-23c4ad05ce51), object, local, pointer_default(unique)] | ||
| 6860 | interface ID3D12GraphicsCommandList8 : ID3D12GraphicsCommandList7 | ||
| 6861 | { | ||
| 6862 | void OMSetFrontAndBackStencilRef( | ||
| 6863 | [annotation("_In_")] UINT FrontStencilRef, | ||
| 6864 | [annotation("_In_")] UINT BackStencilRef | ||
| 6865 | ); | ||
| 6866 | }; | ||
| 6867 | |||
| 6868 | [uuid(34ed2808-ffe6-4c2b-b11a-cabd2b0c59e1), object, local, pointer_default(unique)] | ||
| 6869 | interface ID3D12GraphicsCommandList9 : ID3D12GraphicsCommandList8 | ||
| 6870 | { | ||
| 6871 | void RSSetDepthBias( | ||
| 6872 | [annotation("_In_")] FLOAT DepthBias, | ||
| 6873 | [annotation("_In_")] FLOAT DepthBiasClamp, | ||
| 6874 | [annotation("_In_")] FLOAT SlopeScaledDepthBias | ||
| 6875 | ); | ||
| 6876 | |||
| 6877 | void IASetIndexBufferStripCutValue( | ||
| 6878 | [annotation("_In_")] D3D12_INDEX_BUFFER_STRIP_CUT_VALUE IBStripCutValue | ||
| 6879 | ); | ||
| 6880 | }; | ||
| 6881 | |||
| 6882 | [uuid(7013c015-d161-4b63-a08c-238552dd8acc), object, local, pointer_default(unique)] | ||
| 6883 | interface ID3D12GraphicsCommandList10 : ID3D12GraphicsCommandList9 | ||
| 6884 | { | ||
| 6885 | void SetProgram([annotation("_In_")] const D3D12_SET_PROGRAM_DESC* pDesc); | ||
| 6886 | void DispatchGraph([annotation("_In_")] const D3D12_DISPATCH_GRAPH_DESC* pDesc); | ||
| 6887 | }; | ||
| 6888 | |||
| 6889 | |||
| 6890 | |||
| 6891 | |||
| 6892 | |||
| 6893 | |||
| 6894 | |||
| 6895 | |||
| 6896 | |||
| 6897 | [uuid(f343d1a0-afe3-439f-b13d-cd87a43b70ca), object, local, pointer_default(unique)] | ||
| 6898 | interface ID3D12DSRDeviceFactory : IUnknown | ||
| 6899 | { | ||
| 6900 | HRESULT CreateDSRDevice( | ||
| 6901 | [in] ID3D12Device *pD3D12Device, | ||
| 6902 | [in] UINT NodeMask, | ||
| 6903 | [in] REFIID riid, // Expected IDSRDevice | ||
| 6904 | [out, iid_is(riid), annotation("_COM_Outptr_")] void** ppvDSRDevice); | ||
| 6905 | } | ||
| 6906 | |||
| 6907 | [uuid(597985ab-9b75-4dbb-be23-0761195bebee), object, local, pointer_default(unique)] | ||
| 6908 | interface ID3D12GBVDiagnostics | ||
| 6909 | : IUnknown | ||
| 6910 | { | ||
| 6911 | HRESULT GetGBVEntireSubresourceStatesData( [annotation("_In_")] ID3D12Resource* pResource, [annotation("_Out_writes_bytes_(DataSize)")] int *pData, UINT DataSize ); | ||
| 6912 | HRESULT GetGBVSubresourceState( [annotation("_In_")] ID3D12Resource* pResource, UINT Subresource, [annotation("_Out_")] int *pData ); | ||
| 6913 | HRESULT GetGBVResourceUniformState( [annotation("_In_")] ID3D12Resource* pResource, [annotation("_Out_")] int *pData ); | ||
| 6914 | HRESULT GetGBVResourceInfo( [annotation("_In_")] ID3D12Resource* pResource, | ||
| 6915 | [annotation("_In_opt_")] D3D12_RESOURCE_DESC* pResourceDesc, | ||
| 6916 | [annotation("_In_opt_")] UINT32* pResourceHash, | ||
| 6917 | [annotation("_In_opt_")] UINT32* pSubresourceStatesByteOffset ); | ||
| 6918 | |||
| 6919 | void GBVReserved0(); | ||
| 6920 | |||
| 6921 | void GBVReserved1(); | ||
| 6922 | } | ||
| 6923 | |||
| 6924 | |||
| 6925 | //---------------------------------------------------------------------------------------------------------- | ||
| 6926 | // Old types which are still supported by the runtime for app-compat | ||
| 6927 | |||
| 6928 | cpp_quote("#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP | WINAPI_PARTITION_GAMES) */") | ||
| 6929 | #pragma endregion | ||
| 6930 | |||
| 6931 | |||
| 6932 | cpp_quote( "DEFINE_GUID(IID_ID3D12Object,0xc4fec28f,0x7966,0x4e95,0x9f,0x94,0xf4,0x31,0xcb,0x56,0xc3,0xb8);" ) | ||
| 6933 | cpp_quote( "DEFINE_GUID(IID_ID3D12DeviceChild,0x905db94b,0xa00c,0x4140,0x9d,0xf5,0x2b,0x64,0xca,0x9e,0xa3,0x57);" ) | ||
| 6934 | cpp_quote( "DEFINE_GUID(IID_ID3D12RootSignature,0xc54a6b66,0x72df,0x4ee8,0x8b,0xe5,0xa9,0x46,0xa1,0x42,0x92,0x14);" ) | ||
| 6935 | cpp_quote( "DEFINE_GUID(IID_ID3D12RootSignatureDeserializer,0x34AB647B,0x3CC8,0x46AC,0x84,0x1B,0xC0,0x96,0x56,0x45,0xC0,0x46);" ) | ||
| 6936 | cpp_quote( "DEFINE_GUID(IID_ID3D12VersionedRootSignatureDeserializer,0x7F91CE67,0x090C,0x4BB7,0xB7,0x8E,0xED,0x8F,0xF2,0xE3,0x1D,0xA0);" ) | ||
| 6937 | cpp_quote( "DEFINE_GUID(IID_ID3D12Pageable,0x63ee58fb,0x1268,0x4835,0x86,0xda,0xf0,0x08,0xce,0x62,0xf0,0xd6);" ) | ||
| 6938 | cpp_quote( "DEFINE_GUID(IID_ID3D12Heap,0x6b3b2502,0x6e51,0x45b3,0x90,0xee,0x98,0x84,0x26,0x5e,0x8d,0xf3);" ) | ||
| 6939 | cpp_quote( "DEFINE_GUID(IID_ID3D12Resource,0x696442be,0xa72e,0x4059,0xbc,0x79,0x5b,0x5c,0x98,0x04,0x0f,0xad);" ) | ||
| 6940 | cpp_quote( "DEFINE_GUID(IID_ID3D12CommandAllocator,0x6102dee4,0xaf59,0x4b09,0xb9,0x99,0xb4,0x4d,0x73,0xf0,0x9b,0x24);" ) | ||
| 6941 | cpp_quote( "DEFINE_GUID(IID_ID3D12Fence,0x0a753dcf,0xc4d8,0x4b91,0xad,0xf6,0xbe,0x5a,0x60,0xd9,0x5a,0x76);" ) | ||
| 6942 | cpp_quote( "DEFINE_GUID(IID_ID3D12Fence1,0x433685fe,0xe22b,0x4ca0,0xa8,0xdb,0xb5,0xb4,0xf4,0xdd,0x0e,0x4a);" ) | ||
| 6943 | cpp_quote( "DEFINE_GUID(IID_ID3D12PipelineState,0x765a30f3,0xf624,0x4c6f,0xa8,0x28,0xac,0xe9,0x48,0x62,0x24,0x45);" ) | ||
| 6944 | cpp_quote( "DEFINE_GUID(IID_ID3D12PipelineState1,0x5646804c,0x9638,0x48f7,0x91,0x82,0xb3,0xee,0x5a,0x6b,0x60,0xfb);" ) | ||
| 6945 | cpp_quote( "DEFINE_GUID(IID_ID3D12DescriptorHeap,0x8efb471d,0x616c,0x4f49,0x90,0xf7,0x12,0x7b,0xb7,0x63,0xfa,0x51);" ) | ||
| 6946 | cpp_quote( "DEFINE_GUID(IID_ID3D12QueryHeap,0x0d9658ae,0xed45,0x469e,0xa6,0x1d,0x97,0x0e,0xc5,0x83,0xca,0xb4);" ) | ||
| 6947 | cpp_quote( "DEFINE_GUID(IID_ID3D12CommandSignature,0xc36a797c,0xec80,0x4f0a,0x89,0x85,0xa7,0xb2,0x47,0x50,0x82,0xd1);" ) | ||
| 6948 | cpp_quote( "DEFINE_GUID(IID_ID3D12CommandList,0x7116d91c,0xe7e4,0x47ce,0xb8,0xc6,0xec,0x81,0x68,0xf4,0x37,0xe5);" ) | ||
| 6949 | cpp_quote( "DEFINE_GUID(IID_ID3D12GraphicsCommandList,0x5b160d0f,0xac1b,0x4185,0x8b,0xa8,0xb3,0xae,0x42,0xa5,0xa4,0x55);" ) | ||
| 6950 | cpp_quote( "DEFINE_GUID(IID_ID3D12GraphicsCommandList1,0x553103fb,0x1fe7,0x4557,0xbb,0x38,0x94,0x6d,0x7d,0x0e,0x7c,0xa7);" ) | ||
| 6951 | cpp_quote( "DEFINE_GUID(IID_ID3D12GraphicsCommandList2,0x38C3E585,0xFF17,0x412C,0x91,0x50,0x4F,0xC6,0xF9,0xD7,0x2A,0x28);" ) | ||
| 6952 | cpp_quote( "DEFINE_GUID(IID_ID3D12CommandQueue,0x0ec870a6,0x5d7e,0x4c22,0x8c,0xfc,0x5b,0xaa,0xe0,0x76,0x16,0xed);" ) | ||
| 6953 | cpp_quote( "DEFINE_GUID(IID_ID3D12CommandQueue1,0x3a3c3165,0x0ee7,0x4b8e,0xa0,0xaf,0x63,0x56,0xb4,0xc3,0xbb,0xb9);" ) | ||
| 6954 | cpp_quote( "DEFINE_GUID(IID_ID3D12Device,0x189819f1,0x1db6,0x4b57,0xbe,0x54,0x18,0x21,0x33,0x9b,0x85,0xf7);" ) | ||
| 6955 | cpp_quote( "DEFINE_GUID(IID_ID3D12PipelineLibrary,0xc64226a8,0x9201,0x46af,0xb4,0xcc,0x53,0xfb,0x9f,0xf7,0x41,0x4f);" ) | ||
| 6956 | cpp_quote( "DEFINE_GUID(IID_ID3D12PipelineLibrary1,0x80eabf42,0x2568,0x4e5e,0xbd,0x82,0xc3,0x7f,0x86,0x96,0x1d,0xc3);" ) | ||
| 6957 | cpp_quote( "DEFINE_GUID(IID_ID3D12Device1,0x77acce80,0x638e,0x4e65,0x88,0x95,0xc1,0xf2,0x33,0x86,0x86,0x3e);" ) | ||
| 6958 | cpp_quote( "DEFINE_GUID(IID_ID3D12Device2,0x30baa41e,0xb15b,0x475c,0xa0,0xbb,0x1a,0xf5,0xc5,0xb6,0x43,0x28);" ) | ||
| 6959 | cpp_quote( "DEFINE_GUID(IID_ID3D12Device3,0x81dadc15,0x2bad,0x4392,0x93,0xc5,0x10,0x13,0x45,0xc4,0xaa,0x98);" ) | ||
| 6960 | cpp_quote( "DEFINE_GUID(IID_ID3D12ProtectedSession,0xA1533D18,0x0AC1,0x4084,0x85,0xB9,0x89,0xA9,0x61,0x16,0x80,0x6B);" ) | ||
| 6961 | cpp_quote( "DEFINE_GUID(IID_ID3D12ProtectedResourceSession,0x6CD696F4,0xF289,0x40CC,0x80,0x91,0x5A,0x6C,0x0A,0x09,0x9C,0x3D);" ) | ||
| 6962 | cpp_quote( "DEFINE_GUID(IID_ID3D12Device4,0xe865df17,0xa9ee,0x46f9,0xa4,0x63,0x30,0x98,0x31,0x5a,0xa2,0xe5);" ) | ||
| 6963 | cpp_quote( "DEFINE_GUID(IID_ID3D12LifetimeOwner,0xe667af9f,0xcd56,0x4f46,0x83,0xce,0x03,0x2e,0x59,0x5d,0x70,0xa8);" ) | ||
| 6964 | cpp_quote( "DEFINE_GUID(IID_ID3D12SwapChainAssistant,0xf1df64b6,0x57fd,0x49cd,0x88,0x07,0xc0,0xeb,0x88,0xb4,0x5c,0x8f);" ) | ||
| 6965 | cpp_quote( "DEFINE_GUID(IID_ID3D12LifetimeTracker,0x3fd03d36,0x4eb1,0x424a,0xa5,0x82,0x49,0x4e,0xcb,0x8b,0xa8,0x13);" ) | ||
| 6966 | cpp_quote( "DEFINE_GUID(IID_ID3D12StateObject,0x47016943,0xfca8,0x4594,0x93,0xea,0xaf,0x25,0x8b,0x55,0x34,0x6d);" ) | ||
| 6967 | cpp_quote( "DEFINE_GUID(IID_ID3D12StateObjectProperties,0xde5fa827,0x9bf9,0x4f26,0x89,0xff,0xd7,0xf5,0x6f,0xde,0x38,0x60);" ) | ||
| 6968 | cpp_quote( "DEFINE_GUID(IID_ID3D12StateObjectProperties1,0x460caac7,0x1d24,0x446a,0xa1,0x84,0xca,0x67,0xdb,0x49,0x41,0x38);" ) | ||
| 6969 | cpp_quote( "DEFINE_GUID(IID_ID3D12StateObjectProperties2,0xd5e82917,0xf0f1,0x44cf,0xae,0x5e,0xce,0x22,0x2d,0xd0,0xb8,0x84);" ) | ||
| 6970 | cpp_quote( "DEFINE_GUID(IID_ID3D12WorkGraphProperties,0x065acf71,0xf863,0x4b89,0x82,0xf4,0x02,0xe4,0xd5,0x88,0x67,0x57);" ) | ||
| 6971 | cpp_quote( "DEFINE_GUID(IID_ID3D12Device5,0x8b4f173b,0x2fea,0x4b80,0x8f,0x58,0x43,0x07,0x19,0x1a,0xb9,0x5d);" ) | ||
| 6972 | cpp_quote( "DEFINE_GUID(IID_ID3D12DeviceRemovedExtendedDataSettings,0x82BC481C,0x6B9B,0x4030,0xAE,0xDB,0x7E,0xE3,0xD1,0xDF,0x1E,0x63);" ) | ||
| 6973 | cpp_quote( "DEFINE_GUID(IID_ID3D12DeviceRemovedExtendedDataSettings1,0xDBD5AE51,0x3317,0x4F0A,0xAD,0xF9,0x1D,0x7C,0xED,0xCA,0xAE,0x0B);" ) | ||
| 6974 | cpp_quote( "DEFINE_GUID(IID_ID3D12DeviceRemovedExtendedDataSettings2,0x61552388,0x01ab,0x4008,0xa4,0x36,0x83,0xdb,0x18,0x95,0x66,0xea);" ) | ||
| 6975 | cpp_quote( "DEFINE_GUID(IID_ID3D12DeviceRemovedExtendedData,0x98931D33,0x5AE8,0x4791,0xAA,0x3C,0x1A,0x73,0xA2,0x93,0x4E,0x71);" ) | ||
| 6976 | cpp_quote( "DEFINE_GUID(IID_ID3D12DeviceRemovedExtendedData1,0x9727A022,0xCF1D,0x4DDA,0x9E,0xBA,0xEF,0xFA,0x65,0x3F,0xC5,0x06);" ) | ||
| 6977 | cpp_quote( "DEFINE_GUID(IID_ID3D12DeviceRemovedExtendedData2,0x67FC5816,0xE4CA,0x4915,0xBF,0x18,0x42,0x54,0x12,0x72,0xDA,0x54);" ) | ||
| 6978 | cpp_quote( "DEFINE_GUID(IID_ID3D12Device6,0xc70b221b,0x40e4,0x4a17,0x89,0xaf,0x02,0x5a,0x07,0x27,0xa6,0xdc);" ) | ||
| 6979 | cpp_quote( "DEFINE_GUID(IID_ID3D12ProtectedResourceSession1,0xD6F12DD6,0x76FB,0x406E,0x89,0x61,0x42,0x96,0xEE,0xFC,0x04,0x09);" ) | ||
| 6980 | cpp_quote( "DEFINE_GUID(IID_ID3D12Device7,0x5c014b53,0x68a1,0x4b9b,0x8b,0xd1,0xdd,0x60,0x46,0xb9,0x35,0x8b);" ) | ||
| 6981 | cpp_quote( "DEFINE_GUID(IID_ID3D12Device8,0x9218E6BB,0xF944,0x4F7E,0xA7,0x5C,0xB1,0xB2,0xC7,0xB7,0x01,0xF3);" ) | ||
| 6982 | cpp_quote( "DEFINE_GUID(IID_ID3D12Resource1,0x9D5E227A,0x4430,0x4161,0x88,0xB3,0x3E,0xCA,0x6B,0xB1,0x6E,0x19);" ) | ||
| 6983 | cpp_quote( "DEFINE_GUID(IID_ID3D12Resource2,0xBE36EC3B,0xEA85,0x4AEB,0xA4,0x5A,0xE9,0xD7,0x64,0x04,0xA4,0x95);" ) | ||
| 6984 | cpp_quote( "DEFINE_GUID(IID_ID3D12Heap1,0x572F7389,0x2168,0x49E3,0x96,0x93,0xD6,0xDF,0x58,0x71,0xBF,0x6D);" ) | ||
| 6985 | cpp_quote( "DEFINE_GUID(IID_ID3D12GraphicsCommandList3,0x6FDA83A7,0xB84C,0x4E38,0x9A,0xC8,0xC7,0xBD,0x22,0x01,0x6B,0x3D);" ) | ||
| 6986 | cpp_quote( "DEFINE_GUID(IID_ID3D12MetaCommand,0xDBB84C27,0x36CE,0x4FC9,0xB8,0x01,0xF0,0x48,0xC4,0x6A,0xC5,0x70);" ) | ||
| 6987 | cpp_quote( "DEFINE_GUID(IID_ID3D12GraphicsCommandList4,0x8754318e,0xd3a9,0x4541,0x98,0xcf,0x64,0x5b,0x50,0xdc,0x48,0x74);" ) | ||
| 6988 | cpp_quote( "DEFINE_GUID(IID_ID3D12ShaderCacheSession,0x28e2495d,0x0f64,0x4ae4,0xa6,0xec,0x12,0x92,0x55,0xdc,0x49,0xa8);" ) | ||
| 6989 | cpp_quote( "DEFINE_GUID(IID_ID3D12Device9,0x4c80e962,0xf032,0x4f60,0xbc,0x9e,0xeb,0xc2,0xcf,0xa1,0xd8,0x3c);" ) | ||
| 6990 | cpp_quote( "DEFINE_GUID(IID_ID3D12Device10,0x517f8718,0xaa66,0x49f9,0xb0,0x2b,0xa7,0xab,0x89,0xc0,0x60,0x31);" ) | ||
| 6991 | cpp_quote( "DEFINE_GUID(IID_ID3D12Device11,0x5405c344,0xd457,0x444e,0xb4,0xdd,0x23,0x66,0xe4,0x5a,0xee,0x39);" ) | ||
| 6992 | cpp_quote( "DEFINE_GUID(IID_ID3D12Device12,0x5af5c532,0x4c91,0x4cd0,0xb5,0x41,0x15,0xa4,0x05,0x39,0x5f,0xc5);" ) | ||
| 6993 | cpp_quote( "DEFINE_GUID(IID_ID3D12Device13,0x14eecffc,0x4df8,0x40f7,0xa1,0x18,0x5c,0x81,0x6f,0x45,0x69,0x5e);" ) | ||
| 6994 | cpp_quote( "DEFINE_GUID(IID_ID3D12Device14,0x5f6e592d,0xd895,0x44c2,0x8e,0x4a,0x88,0xad,0x49,0x26,0xd3,0x23);" ) | ||
| 6995 | cpp_quote( "DEFINE_GUID(IID_ID3D12StateObjectDatabase,0xc56060b7,0xb5fc,0x4135,0x98,0xe0,0xa1,0xe9,0x99,0x7e,0xac,0xe0);" ) | ||
| 6996 | cpp_quote( "DEFINE_GUID(IID_ID3D12VirtualizationGuestDevice,0xbc66d368,0x7373,0x4943,0x87,0x57,0xfc,0x87,0xdc,0x79,0xe4,0x76);" ) | ||
| 6997 | cpp_quote( "DEFINE_GUID(IID_ID3D12Tools,0x7071e1f0,0xe84b,0x4b33,0x97,0x4f,0x12,0xfa,0x49,0xde,0x65,0xc5);" ) | ||
| 6998 | cpp_quote( "DEFINE_GUID(IID_ID3D12Tools1,0xe4fbc019,0xdd3c,0x43e1,0x8f,0x32,0x7f,0x64,0x95,0x75,0xf0,0xa0);" ) | ||
| 6999 | cpp_quote( "DEFINE_GUID(IID_ID3D12Tools2,0x01d393c5,0xc9b0,0x42a1,0x95,0x8c,0xc2,0x6b,0x02,0xd4,0xd0,0x97);" ) | ||
| 7000 | cpp_quote( "DEFINE_GUID(IID_ID3D12PageableTools,0x8f1359db,0xd8d1,0x42f9,0xb5,0xcf,0x79,0xf4,0xcb,0xad,0x0d,0x3d);" ) | ||
| 7001 | cpp_quote( "DEFINE_GUID(IID_ID3D12DeviceTools,0x2ea68e9c,0x19c3,0x4e47,0xa1,0x09,0x6c,0xda,0xdf,0xf0,0xac,0xa9);" ) | ||
| 7002 | cpp_quote( "DEFINE_GUID(IID_ID3D12DeviceTools1,0xe30e9fc7,0xe641,0x4d6e,0x8a,0x81,0x9d,0xd9,0x20,0x6e,0xc4,0x7a);" ) | ||
| 7003 | cpp_quote( "DEFINE_GUID(IID_ID3D12SDKConfiguration,0xe9eb5314,0x33aa,0x42b2,0xa7,0x18,0xd7,0x7f,0x58,0xb1,0xf1,0xc7);" ) | ||
| 7004 | cpp_quote( "DEFINE_GUID(IID_ID3D12SDKConfiguration1,0x8aaf9303,0xad25,0x48b9,0x9a,0x57,0xd9,0xc3,0x7e,0x00,0x9d,0x9f);" ) | ||
| 7005 | cpp_quote( "DEFINE_GUID(IID_ID3D12DeviceFactory,0x61f307d3,0xd34e,0x4e7c,0x83,0x74,0x3b,0xa4,0xde,0x23,0xcc,0xcb);" ) | ||
| 7006 | cpp_quote( "DEFINE_GUID(IID_ID3D12DeviceConfiguration,0x78dbf87b,0xf766,0x422b,0xa6,0x1c,0xc8,0xc4,0x46,0xbd,0xb9,0xad);" ) | ||
| 7007 | cpp_quote( "DEFINE_GUID(IID_ID3D12DeviceConfiguration1,0xed342442,0x6343,0x4e16,0xbb,0x82,0xa3,0xa5,0x77,0x87,0x4e,0x56);" ) | ||
| 7008 | cpp_quote( "DEFINE_GUID(IID_ID3D12StateObjectDatabaseFactory,0xf5b066f0,0x648a,0x4611,0xbd,0x41,0x27,0xfd,0x09,0x48,0xb9,0xeb);" ) | ||
| 7009 | cpp_quote( "DEFINE_GUID(IID_ID3D12GraphicsCommandList5,0x55050859,0x4024,0x474c,0x87,0xf5,0x64,0x72,0xea,0xee,0x44,0xea);" ) | ||
| 7010 | cpp_quote( "DEFINE_GUID(IID_ID3D12GraphicsCommandList6,0xc3827890,0xe548,0x4cfa,0x96,0xcf,0x56,0x89,0xa9,0x37,0x0f,0x80);" ) | ||
| 7011 | cpp_quote( "DEFINE_GUID(IID_ID3D12GraphicsCommandList7,0xdd171223,0x8b61,0x4769,0x90,0xe3,0x16,0x0c,0xcd,0xe4,0xe2,0xc1);" ) | ||
| 7012 | cpp_quote( "DEFINE_GUID(IID_ID3D12GraphicsCommandList8,0xee936ef9,0x599d,0x4d28,0x93,0x8e,0x23,0xc4,0xad,0x05,0xce,0x51);" ) | ||
| 7013 | cpp_quote( "DEFINE_GUID(IID_ID3D12GraphicsCommandList9,0x34ed2808,0xffe6,0x4c2b,0xb1,0x1a,0xca,0xbd,0x2b,0x0c,0x59,0xe1);" ) | ||
| 7014 | cpp_quote( "DEFINE_GUID(IID_ID3D12GraphicsCommandList10,0x7013c015,0xd161,0x4b63,0xa0,0x8c,0x23,0x85,0x52,0xdd,0x8a,0xcc);" ) | ||
| 7015 | cpp_quote( "DEFINE_GUID(IID_ID3D12DSRDeviceFactory,0xf343d1a0,0xafe3,0x439f,0xb1,0x3d,0xcd,0x87,0xa4,0x3b,0x70,0xca);" ) | ||
| 7016 | cpp_quote( "DEFINE_GUID(IID_ID3D12GBVDiagnostics,0x597985ab,0x9b75,0x4dbb,0xbe,0x23,0x07,0x61,0x19,0x5b,0xeb,0xee);" ) | ||
diff --git a/contrib/microsoft.direct3d.d3d12.1.618.4/build/native/include/d3d12compatibility.h b/contrib/microsoft.direct3d.d3d12.1.618.4/build/native/include/d3d12compatibility.h new file mode 100644 index 0000000..ec9ff5f --- /dev/null +++ b/contrib/microsoft.direct3d.d3d12.1.618.4/build/native/include/d3d12compatibility.h | |||
| @@ -0,0 +1,899 @@ | |||
| 1 | /*------------------------------------------------------------------------------------- | ||
| 2 | * | ||
| 3 | * Copyright (c) Microsoft Corporation | ||
| 4 | * Licensed under the MIT license | ||
| 5 | * | ||
| 6 | *-------------------------------------------------------------------------------------*/ | ||
| 7 | |||
| 8 | |||
| 9 | /* this ALWAYS GENERATED file contains the definitions for the interfaces */ | ||
| 10 | |||
| 11 | |||
| 12 | /* File created by MIDL compiler version 8.01.0628 */ | ||
| 13 | |||
| 14 | |||
| 15 | |||
| 16 | /* verify that the <rpcndr.h> version is high enough to compile this file*/ | ||
| 17 | #ifndef __REQUIRED_RPCNDR_H_VERSION__ | ||
| 18 | #define __REQUIRED_RPCNDR_H_VERSION__ 500 | ||
| 19 | #endif | ||
| 20 | |||
| 21 | /* verify that the <rpcsal.h> version is high enough to compile this file*/ | ||
| 22 | #ifndef __REQUIRED_RPCSAL_H_VERSION__ | ||
| 23 | #define __REQUIRED_RPCSAL_H_VERSION__ 100 | ||
| 24 | #endif | ||
| 25 | |||
| 26 | #include "rpc.h" | ||
| 27 | #include "rpcndr.h" | ||
| 28 | |||
| 29 | #ifndef __RPCNDR_H_VERSION__ | ||
| 30 | #error this stub requires an updated version of <rpcndr.h> | ||
| 31 | #endif /* __RPCNDR_H_VERSION__ */ | ||
| 32 | |||
| 33 | #ifndef COM_NO_WINDOWS_H | ||
| 34 | #include "windows.h" | ||
| 35 | #include "ole2.h" | ||
| 36 | #endif /*COM_NO_WINDOWS_H*/ | ||
| 37 | |||
| 38 | #ifndef __d3d12compatibility_h__ | ||
| 39 | #define __d3d12compatibility_h__ | ||
| 40 | |||
| 41 | #if defined(_MSC_VER) && (_MSC_VER >= 1020) | ||
| 42 | #pragma once | ||
| 43 | #endif | ||
| 44 | |||
| 45 | #ifndef DECLSPEC_XFGVIRT | ||
| 46 | #if defined(_CONTROL_FLOW_GUARD_XFG) | ||
| 47 | #define DECLSPEC_XFGVIRT(base, func) __declspec(xfg_virtual(base, func)) | ||
| 48 | #else | ||
| 49 | #define DECLSPEC_XFGVIRT(base, func) | ||
| 50 | #endif | ||
| 51 | #endif | ||
| 52 | |||
| 53 | /* Forward Declarations */ | ||
| 54 | |||
| 55 | #ifndef __ID3D12CompatibilityDevice_FWD_DEFINED__ | ||
| 56 | #define __ID3D12CompatibilityDevice_FWD_DEFINED__ | ||
| 57 | typedef interface ID3D12CompatibilityDevice ID3D12CompatibilityDevice; | ||
| 58 | |||
| 59 | #endif /* __ID3D12CompatibilityDevice_FWD_DEFINED__ */ | ||
| 60 | |||
| 61 | |||
| 62 | #ifndef __D3D11On12CreatorID_FWD_DEFINED__ | ||
| 63 | #define __D3D11On12CreatorID_FWD_DEFINED__ | ||
| 64 | typedef interface D3D11On12CreatorID D3D11On12CreatorID; | ||
| 65 | |||
| 66 | #endif /* __D3D11On12CreatorID_FWD_DEFINED__ */ | ||
| 67 | |||
| 68 | |||
| 69 | #ifndef __D3D9On12CreatorID_FWD_DEFINED__ | ||
| 70 | #define __D3D9On12CreatorID_FWD_DEFINED__ | ||
| 71 | typedef interface D3D9On12CreatorID D3D9On12CreatorID; | ||
| 72 | |||
| 73 | #endif /* __D3D9On12CreatorID_FWD_DEFINED__ */ | ||
| 74 | |||
| 75 | |||
| 76 | #ifndef __OpenGLOn12CreatorID_FWD_DEFINED__ | ||
| 77 | #define __OpenGLOn12CreatorID_FWD_DEFINED__ | ||
| 78 | typedef interface OpenGLOn12CreatorID OpenGLOn12CreatorID; | ||
| 79 | |||
| 80 | #endif /* __OpenGLOn12CreatorID_FWD_DEFINED__ */ | ||
| 81 | |||
| 82 | |||
| 83 | #ifndef __OpenCLOn12CreatorID_FWD_DEFINED__ | ||
| 84 | #define __OpenCLOn12CreatorID_FWD_DEFINED__ | ||
| 85 | typedef interface OpenCLOn12CreatorID OpenCLOn12CreatorID; | ||
| 86 | |||
| 87 | #endif /* __OpenCLOn12CreatorID_FWD_DEFINED__ */ | ||
| 88 | |||
| 89 | |||
| 90 | #ifndef __VulkanOn12CreatorID_FWD_DEFINED__ | ||
| 91 | #define __VulkanOn12CreatorID_FWD_DEFINED__ | ||
| 92 | typedef interface VulkanOn12CreatorID VulkanOn12CreatorID; | ||
| 93 | |||
| 94 | #endif /* __VulkanOn12CreatorID_FWD_DEFINED__ */ | ||
| 95 | |||
| 96 | |||
| 97 | #ifndef __DirectMLTensorFlowCreatorID_FWD_DEFINED__ | ||
| 98 | #define __DirectMLTensorFlowCreatorID_FWD_DEFINED__ | ||
| 99 | typedef interface DirectMLTensorFlowCreatorID DirectMLTensorFlowCreatorID; | ||
| 100 | |||
| 101 | #endif /* __DirectMLTensorFlowCreatorID_FWD_DEFINED__ */ | ||
| 102 | |||
| 103 | |||
| 104 | #ifndef __DirectMLPyTorchCreatorID_FWD_DEFINED__ | ||
| 105 | #define __DirectMLPyTorchCreatorID_FWD_DEFINED__ | ||
| 106 | typedef interface DirectMLPyTorchCreatorID DirectMLPyTorchCreatorID; | ||
| 107 | |||
| 108 | #endif /* __DirectMLPyTorchCreatorID_FWD_DEFINED__ */ | ||
| 109 | |||
| 110 | |||
| 111 | #ifndef __DirectMLWebNNCreatorID_FWD_DEFINED__ | ||
| 112 | #define __DirectMLWebNNCreatorID_FWD_DEFINED__ | ||
| 113 | typedef interface DirectMLWebNNCreatorID DirectMLWebNNCreatorID; | ||
| 114 | |||
| 115 | #endif /* __DirectMLWebNNCreatorID_FWD_DEFINED__ */ | ||
| 116 | |||
| 117 | |||
| 118 | /* header files for imported files */ | ||
| 119 | #include "oaidl.h" | ||
| 120 | #include "ocidl.h" | ||
| 121 | #include "d3d11on12.h" | ||
| 122 | |||
| 123 | #ifdef __cplusplus | ||
| 124 | extern "C"{ | ||
| 125 | #endif | ||
| 126 | |||
| 127 | |||
| 128 | /* interface __MIDL_itf_d3d12compatibility_0000_0000 */ | ||
| 129 | /* [local] */ | ||
| 130 | |||
| 131 | #include <winapifamily.h> | ||
| 132 | #pragma region Desktop Family | ||
| 133 | #if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP | WINAPI_PARTITION_GAMES) | ||
| 134 | typedef | ||
| 135 | enum D3D12_COMPATIBILITY_SHARED_FLAGS | ||
| 136 | { | ||
| 137 | D3D12_COMPATIBILITY_SHARED_FLAG_NONE = 0, | ||
| 138 | D3D12_COMPATIBILITY_SHARED_FLAG_NON_NT_HANDLE = 0x1, | ||
| 139 | D3D12_COMPATIBILITY_SHARED_FLAG_KEYED_MUTEX = 0x2, | ||
| 140 | D3D12_COMPATIBILITY_SHARED_FLAG_9_ON_12 = 0x4 | ||
| 141 | } D3D12_COMPATIBILITY_SHARED_FLAGS; | ||
| 142 | |||
| 143 | DEFINE_ENUM_FLAG_OPERATORS( D3D12_COMPATIBILITY_SHARED_FLAGS ) | ||
| 144 | typedef | ||
| 145 | enum D3D12_REFLECT_SHARED_PROPERTY | ||
| 146 | { | ||
| 147 | D3D12_REFLECT_SHARED_PROPERTY_D3D11_RESOURCE_FLAGS = 0, | ||
| 148 | D3D12_REFELCT_SHARED_PROPERTY_COMPATIBILITY_SHARED_FLAGS = ( D3D12_REFLECT_SHARED_PROPERTY_D3D11_RESOURCE_FLAGS + 1 ) , | ||
| 149 | D3D12_REFLECT_SHARED_PROPERTY_NON_NT_SHARED_HANDLE = ( D3D12_REFELCT_SHARED_PROPERTY_COMPATIBILITY_SHARED_FLAGS + 1 ) | ||
| 150 | } D3D12_REFLECT_SHARED_PROPERTY; | ||
| 151 | |||
| 152 | |||
| 153 | |||
| 154 | extern RPC_IF_HANDLE __MIDL_itf_d3d12compatibility_0000_0000_v0_0_c_ifspec; | ||
| 155 | extern RPC_IF_HANDLE __MIDL_itf_d3d12compatibility_0000_0000_v0_0_s_ifspec; | ||
| 156 | |||
| 157 | #ifndef __ID3D12CompatibilityDevice_INTERFACE_DEFINED__ | ||
| 158 | #define __ID3D12CompatibilityDevice_INTERFACE_DEFINED__ | ||
| 159 | |||
| 160 | /* interface ID3D12CompatibilityDevice */ | ||
| 161 | /* [unique][local][object][uuid] */ | ||
| 162 | |||
| 163 | |||
| 164 | EXTERN_C const IID IID_ID3D12CompatibilityDevice; | ||
| 165 | |||
| 166 | #if defined(__cplusplus) && !defined(CINTERFACE) | ||
| 167 | |||
| 168 | MIDL_INTERFACE("8f1c0e3c-fae3-4a82-b098-bfe1708207ff") | ||
| 169 | ID3D12CompatibilityDevice : public IUnknown | ||
| 170 | { | ||
| 171 | public: | ||
| 172 | virtual HRESULT STDMETHODCALLTYPE CreateSharedResource( | ||
| 173 | _In_ const D3D12_HEAP_PROPERTIES *pHeapProperties, | ||
| 174 | D3D12_HEAP_FLAGS HeapFlags, | ||
| 175 | _In_ const D3D12_RESOURCE_DESC *pDesc, | ||
| 176 | D3D12_RESOURCE_STATES InitialResourceState, | ||
| 177 | _In_opt_ const D3D12_CLEAR_VALUE *pOptimizedClearValue, | ||
| 178 | _In_opt_ const D3D11_RESOURCE_FLAGS *pFlags11, | ||
| 179 | D3D12_COMPATIBILITY_SHARED_FLAGS CompatibilityFlags, | ||
| 180 | _In_opt_ ID3D12LifetimeTracker *pLifetimeTracker, | ||
| 181 | _In_opt_ ID3D12SwapChainAssistant *pOwningSwapchain, | ||
| 182 | REFIID riid, | ||
| 183 | _COM_Outptr_opt_ void **ppResource) = 0; | ||
| 184 | |||
| 185 | virtual HRESULT STDMETHODCALLTYPE CreateSharedHeap( | ||
| 186 | _In_ const D3D12_HEAP_DESC *pHeapDesc, | ||
| 187 | D3D12_COMPATIBILITY_SHARED_FLAGS CompatibilityFlags, | ||
| 188 | REFIID riid, | ||
| 189 | _COM_Outptr_opt_ void **ppHeap) = 0; | ||
| 190 | |||
| 191 | virtual HRESULT STDMETHODCALLTYPE ReflectSharedProperties( | ||
| 192 | _In_ ID3D12Object *pHeapOrResource, | ||
| 193 | D3D12_REFLECT_SHARED_PROPERTY ReflectType, | ||
| 194 | _Out_writes_bytes_(DataSize) void *pData, | ||
| 195 | UINT DataSize) = 0; | ||
| 196 | |||
| 197 | }; | ||
| 198 | |||
| 199 | |||
| 200 | #else /* C style interface */ | ||
| 201 | |||
| 202 | typedef struct ID3D12CompatibilityDeviceVtbl | ||
| 203 | { | ||
| 204 | BEGIN_INTERFACE | ||
| 205 | |||
| 206 | DECLSPEC_XFGVIRT(IUnknown, QueryInterface) | ||
| 207 | HRESULT ( STDMETHODCALLTYPE *QueryInterface )( | ||
| 208 | ID3D12CompatibilityDevice * This, | ||
| 209 | REFIID riid, | ||
| 210 | _COM_Outptr_ void **ppvObject); | ||
| 211 | |||
| 212 | DECLSPEC_XFGVIRT(IUnknown, AddRef) | ||
| 213 | ULONG ( STDMETHODCALLTYPE *AddRef )( | ||
| 214 | ID3D12CompatibilityDevice * This); | ||
| 215 | |||
| 216 | DECLSPEC_XFGVIRT(IUnknown, Release) | ||
| 217 | ULONG ( STDMETHODCALLTYPE *Release )( | ||
| 218 | ID3D12CompatibilityDevice * This); | ||
| 219 | |||
| 220 | DECLSPEC_XFGVIRT(ID3D12CompatibilityDevice, CreateSharedResource) | ||
| 221 | HRESULT ( STDMETHODCALLTYPE *CreateSharedResource )( | ||
| 222 | ID3D12CompatibilityDevice * This, | ||
| 223 | _In_ const D3D12_HEAP_PROPERTIES *pHeapProperties, | ||
| 224 | D3D12_HEAP_FLAGS HeapFlags, | ||
| 225 | _In_ const D3D12_RESOURCE_DESC *pDesc, | ||
| 226 | D3D12_RESOURCE_STATES InitialResourceState, | ||
| 227 | _In_opt_ const D3D12_CLEAR_VALUE *pOptimizedClearValue, | ||
| 228 | _In_opt_ const D3D11_RESOURCE_FLAGS *pFlags11, | ||
| 229 | D3D12_COMPATIBILITY_SHARED_FLAGS CompatibilityFlags, | ||
| 230 | _In_opt_ ID3D12LifetimeTracker *pLifetimeTracker, | ||
| 231 | _In_opt_ ID3D12SwapChainAssistant *pOwningSwapchain, | ||
| 232 | REFIID riid, | ||
| 233 | _COM_Outptr_opt_ void **ppResource); | ||
| 234 | |||
| 235 | DECLSPEC_XFGVIRT(ID3D12CompatibilityDevice, CreateSharedHeap) | ||
| 236 | HRESULT ( STDMETHODCALLTYPE *CreateSharedHeap )( | ||
| 237 | ID3D12CompatibilityDevice * This, | ||
| 238 | _In_ const D3D12_HEAP_DESC *pHeapDesc, | ||
| 239 | D3D12_COMPATIBILITY_SHARED_FLAGS CompatibilityFlags, | ||
| 240 | REFIID riid, | ||
| 241 | _COM_Outptr_opt_ void **ppHeap); | ||
| 242 | |||
| 243 | DECLSPEC_XFGVIRT(ID3D12CompatibilityDevice, ReflectSharedProperties) | ||
| 244 | HRESULT ( STDMETHODCALLTYPE *ReflectSharedProperties )( | ||
| 245 | ID3D12CompatibilityDevice * This, | ||
| 246 | _In_ ID3D12Object *pHeapOrResource, | ||
| 247 | D3D12_REFLECT_SHARED_PROPERTY ReflectType, | ||
| 248 | _Out_writes_bytes_(DataSize) void *pData, | ||
| 249 | UINT DataSize); | ||
| 250 | |||
| 251 | END_INTERFACE | ||
| 252 | } ID3D12CompatibilityDeviceVtbl; | ||
| 253 | |||
| 254 | interface ID3D12CompatibilityDevice | ||
| 255 | { | ||
| 256 | CONST_VTBL struct ID3D12CompatibilityDeviceVtbl *lpVtbl; | ||
| 257 | }; | ||
| 258 | |||
| 259 | |||
| 260 | |||
| 261 | #ifdef COBJMACROS | ||
| 262 | |||
| 263 | |||
| 264 | #define ID3D12CompatibilityDevice_QueryInterface(This,riid,ppvObject) \ | ||
| 265 | ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) | ||
| 266 | |||
| 267 | #define ID3D12CompatibilityDevice_AddRef(This) \ | ||
| 268 | ( (This)->lpVtbl -> AddRef(This) ) | ||
| 269 | |||
| 270 | #define ID3D12CompatibilityDevice_Release(This) \ | ||
| 271 | ( (This)->lpVtbl -> Release(This) ) | ||
| 272 | |||
| 273 | |||
| 274 | #define ID3D12CompatibilityDevice_CreateSharedResource(This,pHeapProperties,HeapFlags,pDesc,InitialResourceState,pOptimizedClearValue,pFlags11,CompatibilityFlags,pLifetimeTracker,pOwningSwapchain,riid,ppResource) \ | ||
| 275 | ( (This)->lpVtbl -> CreateSharedResource(This,pHeapProperties,HeapFlags,pDesc,InitialResourceState,pOptimizedClearValue,pFlags11,CompatibilityFlags,pLifetimeTracker,pOwningSwapchain,riid,ppResource) ) | ||
| 276 | |||
| 277 | #define ID3D12CompatibilityDevice_CreateSharedHeap(This,pHeapDesc,CompatibilityFlags,riid,ppHeap) \ | ||
| 278 | ( (This)->lpVtbl -> CreateSharedHeap(This,pHeapDesc,CompatibilityFlags,riid,ppHeap) ) | ||
| 279 | |||
| 280 | #define ID3D12CompatibilityDevice_ReflectSharedProperties(This,pHeapOrResource,ReflectType,pData,DataSize) \ | ||
| 281 | ( (This)->lpVtbl -> ReflectSharedProperties(This,pHeapOrResource,ReflectType,pData,DataSize) ) | ||
| 282 | |||
| 283 | #endif /* COBJMACROS */ | ||
| 284 | |||
| 285 | |||
| 286 | #endif /* C style interface */ | ||
| 287 | |||
| 288 | |||
| 289 | |||
| 290 | |||
| 291 | #endif /* __ID3D12CompatibilityDevice_INTERFACE_DEFINED__ */ | ||
| 292 | |||
| 293 | |||
| 294 | #ifndef __D3D11On12CreatorID_INTERFACE_DEFINED__ | ||
| 295 | #define __D3D11On12CreatorID_INTERFACE_DEFINED__ | ||
| 296 | |||
| 297 | /* interface D3D11On12CreatorID */ | ||
| 298 | /* [unique][local][object][uuid] */ | ||
| 299 | |||
| 300 | |||
| 301 | EXTERN_C const IID IID_D3D11On12CreatorID; | ||
| 302 | |||
| 303 | #if defined(__cplusplus) && !defined(CINTERFACE) | ||
| 304 | |||
| 305 | MIDL_INTERFACE("edbf5678-2960-4e81-8429-99d4b2630c4e") | ||
| 306 | D3D11On12CreatorID : public IUnknown | ||
| 307 | { | ||
| 308 | public: | ||
| 309 | }; | ||
| 310 | |||
| 311 | |||
| 312 | #else /* C style interface */ | ||
| 313 | |||
| 314 | typedef struct D3D11On12CreatorIDVtbl | ||
| 315 | { | ||
| 316 | BEGIN_INTERFACE | ||
| 317 | |||
| 318 | DECLSPEC_XFGVIRT(IUnknown, QueryInterface) | ||
| 319 | HRESULT ( STDMETHODCALLTYPE *QueryInterface )( | ||
| 320 | D3D11On12CreatorID * This, | ||
| 321 | REFIID riid, | ||
| 322 | _COM_Outptr_ void **ppvObject); | ||
| 323 | |||
| 324 | DECLSPEC_XFGVIRT(IUnknown, AddRef) | ||
| 325 | ULONG ( STDMETHODCALLTYPE *AddRef )( | ||
| 326 | D3D11On12CreatorID * This); | ||
| 327 | |||
| 328 | DECLSPEC_XFGVIRT(IUnknown, Release) | ||
| 329 | ULONG ( STDMETHODCALLTYPE *Release )( | ||
| 330 | D3D11On12CreatorID * This); | ||
| 331 | |||
| 332 | END_INTERFACE | ||
| 333 | } D3D11On12CreatorIDVtbl; | ||
| 334 | |||
| 335 | interface D3D11On12CreatorID | ||
| 336 | { | ||
| 337 | CONST_VTBL struct D3D11On12CreatorIDVtbl *lpVtbl; | ||
| 338 | }; | ||
| 339 | |||
| 340 | |||
| 341 | |||
| 342 | #ifdef COBJMACROS | ||
| 343 | |||
| 344 | |||
| 345 | #define D3D11On12CreatorID_QueryInterface(This,riid,ppvObject) \ | ||
| 346 | ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) | ||
| 347 | |||
| 348 | #define D3D11On12CreatorID_AddRef(This) \ | ||
| 349 | ( (This)->lpVtbl -> AddRef(This) ) | ||
| 350 | |||
| 351 | #define D3D11On12CreatorID_Release(This) \ | ||
| 352 | ( (This)->lpVtbl -> Release(This) ) | ||
| 353 | |||
| 354 | |||
| 355 | #endif /* COBJMACROS */ | ||
| 356 | |||
| 357 | |||
| 358 | #endif /* C style interface */ | ||
| 359 | |||
| 360 | |||
| 361 | |||
| 362 | |||
| 363 | #endif /* __D3D11On12CreatorID_INTERFACE_DEFINED__ */ | ||
| 364 | |||
| 365 | |||
| 366 | #ifndef __D3D9On12CreatorID_INTERFACE_DEFINED__ | ||
| 367 | #define __D3D9On12CreatorID_INTERFACE_DEFINED__ | ||
| 368 | |||
| 369 | /* interface D3D9On12CreatorID */ | ||
| 370 | /* [unique][local][object][uuid] */ | ||
| 371 | |||
| 372 | |||
| 373 | EXTERN_C const IID IID_D3D9On12CreatorID; | ||
| 374 | |||
| 375 | #if defined(__cplusplus) && !defined(CINTERFACE) | ||
| 376 | |||
| 377 | MIDL_INTERFACE("fffcbb7f-15d3-42a2-841e-9d8d32f37ddd") | ||
| 378 | D3D9On12CreatorID : public IUnknown | ||
| 379 | { | ||
| 380 | public: | ||
| 381 | }; | ||
| 382 | |||
| 383 | |||
| 384 | #else /* C style interface */ | ||
| 385 | |||
| 386 | typedef struct D3D9On12CreatorIDVtbl | ||
| 387 | { | ||
| 388 | BEGIN_INTERFACE | ||
| 389 | |||
| 390 | DECLSPEC_XFGVIRT(IUnknown, QueryInterface) | ||
| 391 | HRESULT ( STDMETHODCALLTYPE *QueryInterface )( | ||
| 392 | D3D9On12CreatorID * This, | ||
| 393 | REFIID riid, | ||
| 394 | _COM_Outptr_ void **ppvObject); | ||
| 395 | |||
| 396 | DECLSPEC_XFGVIRT(IUnknown, AddRef) | ||
| 397 | ULONG ( STDMETHODCALLTYPE *AddRef )( | ||
| 398 | D3D9On12CreatorID * This); | ||
| 399 | |||
| 400 | DECLSPEC_XFGVIRT(IUnknown, Release) | ||
| 401 | ULONG ( STDMETHODCALLTYPE *Release )( | ||
| 402 | D3D9On12CreatorID * This); | ||
| 403 | |||
| 404 | END_INTERFACE | ||
| 405 | } D3D9On12CreatorIDVtbl; | ||
| 406 | |||
| 407 | interface D3D9On12CreatorID | ||
| 408 | { | ||
| 409 | CONST_VTBL struct D3D9On12CreatorIDVtbl *lpVtbl; | ||
| 410 | }; | ||
| 411 | |||
| 412 | |||
| 413 | |||
| 414 | #ifdef COBJMACROS | ||
| 415 | |||
| 416 | |||
| 417 | #define D3D9On12CreatorID_QueryInterface(This,riid,ppvObject) \ | ||
| 418 | ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) | ||
| 419 | |||
| 420 | #define D3D9On12CreatorID_AddRef(This) \ | ||
| 421 | ( (This)->lpVtbl -> AddRef(This) ) | ||
| 422 | |||
| 423 | #define D3D9On12CreatorID_Release(This) \ | ||
| 424 | ( (This)->lpVtbl -> Release(This) ) | ||
| 425 | |||
| 426 | |||
| 427 | #endif /* COBJMACROS */ | ||
| 428 | |||
| 429 | |||
| 430 | #endif /* C style interface */ | ||
| 431 | |||
| 432 | |||
| 433 | |||
| 434 | |||
| 435 | #endif /* __D3D9On12CreatorID_INTERFACE_DEFINED__ */ | ||
| 436 | |||
| 437 | |||
| 438 | #ifndef __OpenGLOn12CreatorID_INTERFACE_DEFINED__ | ||
| 439 | #define __OpenGLOn12CreatorID_INTERFACE_DEFINED__ | ||
| 440 | |||
| 441 | /* interface OpenGLOn12CreatorID */ | ||
| 442 | /* [unique][local][object][uuid] */ | ||
| 443 | |||
| 444 | |||
| 445 | EXTERN_C const IID IID_OpenGLOn12CreatorID; | ||
| 446 | |||
| 447 | #if defined(__cplusplus) && !defined(CINTERFACE) | ||
| 448 | |||
| 449 | MIDL_INTERFACE("6bb3cd34-0d19-45ab-97ed-d720ba3dfc80") | ||
| 450 | OpenGLOn12CreatorID : public IUnknown | ||
| 451 | { | ||
| 452 | public: | ||
| 453 | }; | ||
| 454 | |||
| 455 | |||
| 456 | #else /* C style interface */ | ||
| 457 | |||
| 458 | typedef struct OpenGLOn12CreatorIDVtbl | ||
| 459 | { | ||
| 460 | BEGIN_INTERFACE | ||
| 461 | |||
| 462 | DECLSPEC_XFGVIRT(IUnknown, QueryInterface) | ||
| 463 | HRESULT ( STDMETHODCALLTYPE *QueryInterface )( | ||
| 464 | OpenGLOn12CreatorID * This, | ||
| 465 | REFIID riid, | ||
| 466 | _COM_Outptr_ void **ppvObject); | ||
| 467 | |||
| 468 | DECLSPEC_XFGVIRT(IUnknown, AddRef) | ||
| 469 | ULONG ( STDMETHODCALLTYPE *AddRef )( | ||
| 470 | OpenGLOn12CreatorID * This); | ||
| 471 | |||
| 472 | DECLSPEC_XFGVIRT(IUnknown, Release) | ||
| 473 | ULONG ( STDMETHODCALLTYPE *Release )( | ||
| 474 | OpenGLOn12CreatorID * This); | ||
| 475 | |||
| 476 | END_INTERFACE | ||
| 477 | } OpenGLOn12CreatorIDVtbl; | ||
| 478 | |||
| 479 | interface OpenGLOn12CreatorID | ||
| 480 | { | ||
| 481 | CONST_VTBL struct OpenGLOn12CreatorIDVtbl *lpVtbl; | ||
| 482 | }; | ||
| 483 | |||
| 484 | |||
| 485 | |||
| 486 | #ifdef COBJMACROS | ||
| 487 | |||
| 488 | |||
| 489 | #define OpenGLOn12CreatorID_QueryInterface(This,riid,ppvObject) \ | ||
| 490 | ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) | ||
| 491 | |||
| 492 | #define OpenGLOn12CreatorID_AddRef(This) \ | ||
| 493 | ( (This)->lpVtbl -> AddRef(This) ) | ||
| 494 | |||
| 495 | #define OpenGLOn12CreatorID_Release(This) \ | ||
| 496 | ( (This)->lpVtbl -> Release(This) ) | ||
| 497 | |||
| 498 | |||
| 499 | #endif /* COBJMACROS */ | ||
| 500 | |||
| 501 | |||
| 502 | #endif /* C style interface */ | ||
| 503 | |||
| 504 | |||
| 505 | |||
| 506 | |||
| 507 | #endif /* __OpenGLOn12CreatorID_INTERFACE_DEFINED__ */ | ||
| 508 | |||
| 509 | |||
| 510 | #ifndef __OpenCLOn12CreatorID_INTERFACE_DEFINED__ | ||
| 511 | #define __OpenCLOn12CreatorID_INTERFACE_DEFINED__ | ||
| 512 | |||
| 513 | /* interface OpenCLOn12CreatorID */ | ||
| 514 | /* [unique][local][object][uuid] */ | ||
| 515 | |||
| 516 | |||
| 517 | EXTERN_C const IID IID_OpenCLOn12CreatorID; | ||
| 518 | |||
| 519 | #if defined(__cplusplus) && !defined(CINTERFACE) | ||
| 520 | |||
| 521 | MIDL_INTERFACE("3f76bb74-91b5-4a88-b126-20ca0331cd60") | ||
| 522 | OpenCLOn12CreatorID : public IUnknown | ||
| 523 | { | ||
| 524 | public: | ||
| 525 | }; | ||
| 526 | |||
| 527 | |||
| 528 | #else /* C style interface */ | ||
| 529 | |||
| 530 | typedef struct OpenCLOn12CreatorIDVtbl | ||
| 531 | { | ||
| 532 | BEGIN_INTERFACE | ||
| 533 | |||
| 534 | DECLSPEC_XFGVIRT(IUnknown, QueryInterface) | ||
| 535 | HRESULT ( STDMETHODCALLTYPE *QueryInterface )( | ||
| 536 | OpenCLOn12CreatorID * This, | ||
| 537 | REFIID riid, | ||
| 538 | _COM_Outptr_ void **ppvObject); | ||
| 539 | |||
| 540 | DECLSPEC_XFGVIRT(IUnknown, AddRef) | ||
| 541 | ULONG ( STDMETHODCALLTYPE *AddRef )( | ||
| 542 | OpenCLOn12CreatorID * This); | ||
| 543 | |||
| 544 | DECLSPEC_XFGVIRT(IUnknown, Release) | ||
| 545 | ULONG ( STDMETHODCALLTYPE *Release )( | ||
| 546 | OpenCLOn12CreatorID * This); | ||
| 547 | |||
| 548 | END_INTERFACE | ||
| 549 | } OpenCLOn12CreatorIDVtbl; | ||
| 550 | |||
| 551 | interface OpenCLOn12CreatorID | ||
| 552 | { | ||
| 553 | CONST_VTBL struct OpenCLOn12CreatorIDVtbl *lpVtbl; | ||
| 554 | }; | ||
| 555 | |||
| 556 | |||
| 557 | |||
| 558 | #ifdef COBJMACROS | ||
| 559 | |||
| 560 | |||
| 561 | #define OpenCLOn12CreatorID_QueryInterface(This,riid,ppvObject) \ | ||
| 562 | ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) | ||
| 563 | |||
| 564 | #define OpenCLOn12CreatorID_AddRef(This) \ | ||
| 565 | ( (This)->lpVtbl -> AddRef(This) ) | ||
| 566 | |||
| 567 | #define OpenCLOn12CreatorID_Release(This) \ | ||
| 568 | ( (This)->lpVtbl -> Release(This) ) | ||
| 569 | |||
| 570 | |||
| 571 | #endif /* COBJMACROS */ | ||
| 572 | |||
| 573 | |||
| 574 | #endif /* C style interface */ | ||
| 575 | |||
| 576 | |||
| 577 | |||
| 578 | |||
| 579 | #endif /* __OpenCLOn12CreatorID_INTERFACE_DEFINED__ */ | ||
| 580 | |||
| 581 | |||
| 582 | #ifndef __VulkanOn12CreatorID_INTERFACE_DEFINED__ | ||
| 583 | #define __VulkanOn12CreatorID_INTERFACE_DEFINED__ | ||
| 584 | |||
| 585 | /* interface VulkanOn12CreatorID */ | ||
| 586 | /* [unique][local][object][uuid] */ | ||
| 587 | |||
| 588 | |||
| 589 | EXTERN_C const IID IID_VulkanOn12CreatorID; | ||
| 590 | |||
| 591 | #if defined(__cplusplus) && !defined(CINTERFACE) | ||
| 592 | |||
| 593 | MIDL_INTERFACE("bc806e01-3052-406c-a3e8-9fc07f048f98") | ||
| 594 | VulkanOn12CreatorID : public IUnknown | ||
| 595 | { | ||
| 596 | public: | ||
| 597 | }; | ||
| 598 | |||
| 599 | |||
| 600 | #else /* C style interface */ | ||
| 601 | |||
| 602 | typedef struct VulkanOn12CreatorIDVtbl | ||
| 603 | { | ||
| 604 | BEGIN_INTERFACE | ||
| 605 | |||
| 606 | DECLSPEC_XFGVIRT(IUnknown, QueryInterface) | ||
| 607 | HRESULT ( STDMETHODCALLTYPE *QueryInterface )( | ||
| 608 | VulkanOn12CreatorID * This, | ||
| 609 | REFIID riid, | ||
| 610 | _COM_Outptr_ void **ppvObject); | ||
| 611 | |||
| 612 | DECLSPEC_XFGVIRT(IUnknown, AddRef) | ||
| 613 | ULONG ( STDMETHODCALLTYPE *AddRef )( | ||
| 614 | VulkanOn12CreatorID * This); | ||
| 615 | |||
| 616 | DECLSPEC_XFGVIRT(IUnknown, Release) | ||
| 617 | ULONG ( STDMETHODCALLTYPE *Release )( | ||
| 618 | VulkanOn12CreatorID * This); | ||
| 619 | |||
| 620 | END_INTERFACE | ||
| 621 | } VulkanOn12CreatorIDVtbl; | ||
| 622 | |||
| 623 | interface VulkanOn12CreatorID | ||
| 624 | { | ||
| 625 | CONST_VTBL struct VulkanOn12CreatorIDVtbl *lpVtbl; | ||
| 626 | }; | ||
| 627 | |||
| 628 | |||
| 629 | |||
| 630 | #ifdef COBJMACROS | ||
| 631 | |||
| 632 | |||
| 633 | #define VulkanOn12CreatorID_QueryInterface(This,riid,ppvObject) \ | ||
| 634 | ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) | ||
| 635 | |||
| 636 | #define VulkanOn12CreatorID_AddRef(This) \ | ||
| 637 | ( (This)->lpVtbl -> AddRef(This) ) | ||
| 638 | |||
| 639 | #define VulkanOn12CreatorID_Release(This) \ | ||
| 640 | ( (This)->lpVtbl -> Release(This) ) | ||
| 641 | |||
| 642 | |||
| 643 | #endif /* COBJMACROS */ | ||
| 644 | |||
| 645 | |||
| 646 | #endif /* C style interface */ | ||
| 647 | |||
| 648 | |||
| 649 | |||
| 650 | |||
| 651 | #endif /* __VulkanOn12CreatorID_INTERFACE_DEFINED__ */ | ||
| 652 | |||
| 653 | |||
| 654 | #ifndef __DirectMLTensorFlowCreatorID_INTERFACE_DEFINED__ | ||
| 655 | #define __DirectMLTensorFlowCreatorID_INTERFACE_DEFINED__ | ||
| 656 | |||
| 657 | /* interface DirectMLTensorFlowCreatorID */ | ||
| 658 | /* [unique][local][object][uuid] */ | ||
| 659 | |||
| 660 | |||
| 661 | EXTERN_C const IID IID_DirectMLTensorFlowCreatorID; | ||
| 662 | |||
| 663 | #if defined(__cplusplus) && !defined(CINTERFACE) | ||
| 664 | |||
| 665 | MIDL_INTERFACE("cb7490ac-8a0f-44ec-9b7b-6f4cafe8e9ab") | ||
| 666 | DirectMLTensorFlowCreatorID : public IUnknown | ||
| 667 | { | ||
| 668 | public: | ||
| 669 | }; | ||
| 670 | |||
| 671 | |||
| 672 | #else /* C style interface */ | ||
| 673 | |||
| 674 | typedef struct DirectMLTensorFlowCreatorIDVtbl | ||
| 675 | { | ||
| 676 | BEGIN_INTERFACE | ||
| 677 | |||
| 678 | DECLSPEC_XFGVIRT(IUnknown, QueryInterface) | ||
| 679 | HRESULT ( STDMETHODCALLTYPE *QueryInterface )( | ||
| 680 | DirectMLTensorFlowCreatorID * This, | ||
| 681 | REFIID riid, | ||
| 682 | _COM_Outptr_ void **ppvObject); | ||
| 683 | |||
| 684 | DECLSPEC_XFGVIRT(IUnknown, AddRef) | ||
| 685 | ULONG ( STDMETHODCALLTYPE *AddRef )( | ||
| 686 | DirectMLTensorFlowCreatorID * This); | ||
| 687 | |||
| 688 | DECLSPEC_XFGVIRT(IUnknown, Release) | ||
| 689 | ULONG ( STDMETHODCALLTYPE *Release )( | ||
| 690 | DirectMLTensorFlowCreatorID * This); | ||
| 691 | |||
| 692 | END_INTERFACE | ||
| 693 | } DirectMLTensorFlowCreatorIDVtbl; | ||
| 694 | |||
| 695 | interface DirectMLTensorFlowCreatorID | ||
| 696 | { | ||
| 697 | CONST_VTBL struct DirectMLTensorFlowCreatorIDVtbl *lpVtbl; | ||
| 698 | }; | ||
| 699 | |||
| 700 | |||
| 701 | |||
| 702 | #ifdef COBJMACROS | ||
| 703 | |||
| 704 | |||
| 705 | #define DirectMLTensorFlowCreatorID_QueryInterface(This,riid,ppvObject) \ | ||
| 706 | ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) | ||
| 707 | |||
| 708 | #define DirectMLTensorFlowCreatorID_AddRef(This) \ | ||
| 709 | ( (This)->lpVtbl -> AddRef(This) ) | ||
| 710 | |||
| 711 | #define DirectMLTensorFlowCreatorID_Release(This) \ | ||
| 712 | ( (This)->lpVtbl -> Release(This) ) | ||
| 713 | |||
| 714 | |||
| 715 | #endif /* COBJMACROS */ | ||
| 716 | |||
| 717 | |||
| 718 | #endif /* C style interface */ | ||
| 719 | |||
| 720 | |||
| 721 | |||
| 722 | |||
| 723 | #endif /* __DirectMLTensorFlowCreatorID_INTERFACE_DEFINED__ */ | ||
| 724 | |||
| 725 | |||
| 726 | #ifndef __DirectMLPyTorchCreatorID_INTERFACE_DEFINED__ | ||
| 727 | #define __DirectMLPyTorchCreatorID_INTERFACE_DEFINED__ | ||
| 728 | |||
| 729 | /* interface DirectMLPyTorchCreatorID */ | ||
| 730 | /* [unique][local][object][uuid] */ | ||
| 731 | |||
| 732 | |||
| 733 | EXTERN_C const IID IID_DirectMLPyTorchCreatorID; | ||
| 734 | |||
| 735 | #if defined(__cplusplus) && !defined(CINTERFACE) | ||
| 736 | |||
| 737 | MIDL_INTERFACE("af029192-fba1-4b05-9116-235e06560354") | ||
| 738 | DirectMLPyTorchCreatorID : public IUnknown | ||
| 739 | { | ||
| 740 | public: | ||
| 741 | }; | ||
| 742 | |||
| 743 | |||
| 744 | #else /* C style interface */ | ||
| 745 | |||
| 746 | typedef struct DirectMLPyTorchCreatorIDVtbl | ||
| 747 | { | ||
| 748 | BEGIN_INTERFACE | ||
| 749 | |||
| 750 | DECLSPEC_XFGVIRT(IUnknown, QueryInterface) | ||
| 751 | HRESULT ( STDMETHODCALLTYPE *QueryInterface )( | ||
| 752 | DirectMLPyTorchCreatorID * This, | ||
| 753 | REFIID riid, | ||
| 754 | _COM_Outptr_ void **ppvObject); | ||
| 755 | |||
| 756 | DECLSPEC_XFGVIRT(IUnknown, AddRef) | ||
| 757 | ULONG ( STDMETHODCALLTYPE *AddRef )( | ||
| 758 | DirectMLPyTorchCreatorID * This); | ||
| 759 | |||
| 760 | DECLSPEC_XFGVIRT(IUnknown, Release) | ||
| 761 | ULONG ( STDMETHODCALLTYPE *Release )( | ||
| 762 | DirectMLPyTorchCreatorID * This); | ||
| 763 | |||
| 764 | END_INTERFACE | ||
| 765 | } DirectMLPyTorchCreatorIDVtbl; | ||
| 766 | |||
| 767 | interface DirectMLPyTorchCreatorID | ||
| 768 | { | ||
| 769 | CONST_VTBL struct DirectMLPyTorchCreatorIDVtbl *lpVtbl; | ||
| 770 | }; | ||
| 771 | |||
| 772 | |||
| 773 | |||
| 774 | #ifdef COBJMACROS | ||
| 775 | |||
| 776 | |||
| 777 | #define DirectMLPyTorchCreatorID_QueryInterface(This,riid,ppvObject) \ | ||
| 778 | ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) | ||
| 779 | |||
| 780 | #define DirectMLPyTorchCreatorID_AddRef(This) \ | ||
| 781 | ( (This)->lpVtbl -> AddRef(This) ) | ||
| 782 | |||
| 783 | #define DirectMLPyTorchCreatorID_Release(This) \ | ||
| 784 | ( (This)->lpVtbl -> Release(This) ) | ||
| 785 | |||
| 786 | |||
| 787 | #endif /* COBJMACROS */ | ||
| 788 | |||
| 789 | |||
| 790 | #endif /* C style interface */ | ||
| 791 | |||
| 792 | |||
| 793 | |||
| 794 | |||
| 795 | #endif /* __DirectMLPyTorchCreatorID_INTERFACE_DEFINED__ */ | ||
| 796 | |||
| 797 | |||
| 798 | #ifndef __DirectMLWebNNCreatorID_INTERFACE_DEFINED__ | ||
| 799 | #define __DirectMLWebNNCreatorID_INTERFACE_DEFINED__ | ||
| 800 | |||
| 801 | /* interface DirectMLWebNNCreatorID */ | ||
| 802 | /* [unique][local][object][uuid] */ | ||
| 803 | |||
| 804 | |||
| 805 | EXTERN_C const IID IID_DirectMLWebNNCreatorID; | ||
| 806 | |||
| 807 | #if defined(__cplusplus) && !defined(CINTERFACE) | ||
| 808 | |||
| 809 | MIDL_INTERFACE("fdf01a76-1e11-450f-902b-74f04ea08094") | ||
| 810 | DirectMLWebNNCreatorID : public IUnknown | ||
| 811 | { | ||
| 812 | public: | ||
| 813 | }; | ||
| 814 | |||
| 815 | |||
| 816 | #else /* C style interface */ | ||
| 817 | |||
| 818 | typedef struct DirectMLWebNNCreatorIDVtbl | ||
| 819 | { | ||
| 820 | BEGIN_INTERFACE | ||
| 821 | |||
| 822 | DECLSPEC_XFGVIRT(IUnknown, QueryInterface) | ||
| 823 | HRESULT ( STDMETHODCALLTYPE *QueryInterface )( | ||
| 824 | DirectMLWebNNCreatorID * This, | ||
| 825 | REFIID riid, | ||
| 826 | _COM_Outptr_ void **ppvObject); | ||
| 827 | |||
| 828 | DECLSPEC_XFGVIRT(IUnknown, AddRef) | ||
| 829 | ULONG ( STDMETHODCALLTYPE *AddRef )( | ||
| 830 | DirectMLWebNNCreatorID * This); | ||
| 831 | |||
| 832 | DECLSPEC_XFGVIRT(IUnknown, Release) | ||
| 833 | ULONG ( STDMETHODCALLTYPE *Release )( | ||
| 834 | DirectMLWebNNCreatorID * This); | ||
| 835 | |||
| 836 | END_INTERFACE | ||
| 837 | } DirectMLWebNNCreatorIDVtbl; | ||
| 838 | |||
| 839 | interface DirectMLWebNNCreatorID | ||
| 840 | { | ||
| 841 | CONST_VTBL struct DirectMLWebNNCreatorIDVtbl *lpVtbl; | ||
| 842 | }; | ||
| 843 | |||
| 844 | |||
| 845 | |||
| 846 | #ifdef COBJMACROS | ||
| 847 | |||
| 848 | |||
| 849 | #define DirectMLWebNNCreatorID_QueryInterface(This,riid,ppvObject) \ | ||
| 850 | ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) | ||
| 851 | |||
| 852 | #define DirectMLWebNNCreatorID_AddRef(This) \ | ||
| 853 | ( (This)->lpVtbl -> AddRef(This) ) | ||
| 854 | |||
| 855 | #define DirectMLWebNNCreatorID_Release(This) \ | ||
| 856 | ( (This)->lpVtbl -> Release(This) ) | ||
| 857 | |||
| 858 | |||
| 859 | #endif /* COBJMACROS */ | ||
| 860 | |||
| 861 | |||
| 862 | #endif /* C style interface */ | ||
| 863 | |||
| 864 | |||
| 865 | |||
| 866 | |||
| 867 | #endif /* __DirectMLWebNNCreatorID_INTERFACE_DEFINED__ */ | ||
| 868 | |||
| 869 | |||
| 870 | /* interface __MIDL_itf_d3d12compatibility_0000_0009 */ | ||
| 871 | /* [local] */ | ||
| 872 | |||
| 873 | #endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP | WINAPI_PARTITION_GAMES) */ | ||
| 874 | #pragma endregion | ||
| 875 | DEFINE_GUID(IID_ID3D12CompatibilityDevice,0x8f1c0e3c,0xfae3,0x4a82,0xb0,0x98,0xbf,0xe1,0x70,0x82,0x07,0xff); | ||
| 876 | DEFINE_GUID(IID_D3D11On12CreatorID,0xedbf5678,0x2960,0x4e81,0x84,0x29,0x99,0xd4,0xb2,0x63,0x0c,0x4e); | ||
| 877 | DEFINE_GUID(IID_D3D9On12CreatorID,0xfffcbb7f,0x15d3,0x42a2,0x84,0x1e,0x9d,0x8d,0x32,0xf3,0x7d,0xdd); | ||
| 878 | DEFINE_GUID(IID_OpenGLOn12CreatorID,0x6bb3cd34,0x0d19,0x45ab,0x97,0xed,0xd7,0x20,0xba,0x3d,0xfc,0x80); | ||
| 879 | DEFINE_GUID(IID_OpenCLOn12CreatorID,0x3f76bb74,0x91b5,0x4a88,0xb1,0x26,0x20,0xca,0x03,0x31,0xcd,0x60); | ||
| 880 | DEFINE_GUID(IID_VulkanOn12CreatorID,0xbc806e01,0x3052,0x406c,0xa3,0xe8,0x9f,0xc0,0x7f,0x04,0x8f,0x98); | ||
| 881 | DEFINE_GUID(IID_DirectMLTensorFlowCreatorID,0xcb7490ac,0x8a0f,0x44ec,0x9b,0x7b,0x6f,0x4c,0xaf,0xe8,0xe9,0xab); | ||
| 882 | DEFINE_GUID(IID_DirectMLPyTorchCreatorID,0xaf029192,0xfba1,0x4b05,0x91,0x16,0x23,0x5e,0x06,0x56,0x03,0x54); | ||
| 883 | DEFINE_GUID(IID_DirectMLWebNNCreatorID,0xfdf01a76,0x1e11,0x450f,0x90,0x2b,0x74,0xf0,0x4e,0xa0,0x80,0x94); | ||
| 884 | |||
| 885 | |||
| 886 | extern RPC_IF_HANDLE __MIDL_itf_d3d12compatibility_0000_0009_v0_0_c_ifspec; | ||
| 887 | extern RPC_IF_HANDLE __MIDL_itf_d3d12compatibility_0000_0009_v0_0_s_ifspec; | ||
| 888 | |||
| 889 | /* Additional Prototypes for ALL interfaces */ | ||
| 890 | |||
| 891 | /* end of Additional Prototypes */ | ||
| 892 | |||
| 893 | #ifdef __cplusplus | ||
| 894 | } | ||
| 895 | #endif | ||
| 896 | |||
| 897 | #endif | ||
| 898 | |||
| 899 | |||
diff --git a/contrib/microsoft.direct3d.d3d12.1.618.4/build/native/include/d3d12compatibility.idl b/contrib/microsoft.direct3d.d3d12.1.618.4/build/native/include/d3d12compatibility.idl new file mode 100644 index 0000000..019afc9 --- /dev/null +++ b/contrib/microsoft.direct3d.d3d12.1.618.4/build/native/include/d3d12compatibility.idl | |||
| @@ -0,0 +1,101 @@ | |||
| 1 | /*------------------------------------------------------------------------------------- | ||
| 2 | * | ||
| 3 | * Copyright (c) Microsoft Corporation | ||
| 4 | * Licensed under the MIT license | ||
| 5 | * | ||
| 6 | *-------------------------------------------------------------------------------------*/ | ||
| 7 | import "oaidl.idl"; | ||
| 8 | import "ocidl.idl"; | ||
| 9 | |||
| 10 | import "d3d11on12.idl"; | ||
| 11 | |||
| 12 | cpp_quote("#include <winapifamily.h>") | ||
| 13 | |||
| 14 | #pragma region Desktop Family | ||
| 15 | cpp_quote("#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP | WINAPI_PARTITION_GAMES)") | ||
| 16 | |||
| 17 | typedef enum D3D12_COMPATIBILITY_SHARED_FLAGS | ||
| 18 | { | ||
| 19 | D3D12_COMPATIBILITY_SHARED_FLAG_NONE = 0, | ||
| 20 | D3D12_COMPATIBILITY_SHARED_FLAG_NON_NT_HANDLE = 0x1, | ||
| 21 | D3D12_COMPATIBILITY_SHARED_FLAG_KEYED_MUTEX = 0x2, | ||
| 22 | D3D12_COMPATIBILITY_SHARED_FLAG_9_ON_12 = 0x4, | ||
| 23 | |||
| 24 | } D3D12_COMPATIBILITY_SHARED_FLAGS; | ||
| 25 | cpp_quote( "DEFINE_ENUM_FLAG_OPERATORS( D3D12_COMPATIBILITY_SHARED_FLAGS )" ) | ||
| 26 | |||
| 27 | typedef enum D3D12_REFLECT_SHARED_PROPERTY | ||
| 28 | { | ||
| 29 | D3D12_REFLECT_SHARED_PROPERTY_D3D11_RESOURCE_FLAGS, // D3D11_RESOURCE_FLAGS | ||
| 30 | D3D12_REFELCT_SHARED_PROPERTY_COMPATIBILITY_SHARED_FLAGS, // D3D12_COMPATIBILITY_SHARED_FLAGS | ||
| 31 | D3D12_REFLECT_SHARED_PROPERTY_NON_NT_SHARED_HANDLE, // HANDLE | ||
| 32 | } D3D12_REFLECT_SHARED_PROPERTY; | ||
| 33 | |||
| 34 | [ uuid( 8f1c0e3c-fae3-4a82-b098-bfe1708207ff ), object, local, pointer_default( unique ) ] | ||
| 35 | interface ID3D12CompatibilityDevice | ||
| 36 | : IUnknown | ||
| 37 | { | ||
| 38 | HRESULT CreateSharedResource( | ||
| 39 | [annotation("_In_")] const D3D12_HEAP_PROPERTIES* pHeapProperties, | ||
| 40 | D3D12_HEAP_FLAGS HeapFlags, | ||
| 41 | [annotation("_In_")] const D3D12_RESOURCE_DESC* pDesc, | ||
| 42 | D3D12_RESOURCE_STATES InitialResourceState, | ||
| 43 | [annotation("_In_opt_")] const D3D12_CLEAR_VALUE* pOptimizedClearValue, | ||
| 44 | [annotation("_In_opt_")] const D3D11_RESOURCE_FLAGS* pFlags11, | ||
| 45 | D3D12_COMPATIBILITY_SHARED_FLAGS CompatibilityFlags, | ||
| 46 | [annotation("_In_opt_")] ID3D12LifetimeTracker* pLifetimeTracker, | ||
| 47 | [annotation("_In_opt_")] ID3D12SwapChainAssistant* pOwningSwapchain, | ||
| 48 | REFIID riid, | ||
| 49 | [out, iid_is(riid), annotation("_COM_Outptr_opt_")] void** ppResource); | ||
| 50 | |||
| 51 | HRESULT CreateSharedHeap( | ||
| 52 | [annotation("_In_")] const D3D12_HEAP_DESC* pHeapDesc, | ||
| 53 | D3D12_COMPATIBILITY_SHARED_FLAGS CompatibilityFlags, | ||
| 54 | REFIID riid, | ||
| 55 | [out, iid_is(riid), annotation("_COM_Outptr_opt_")] void** ppHeap); | ||
| 56 | |||
| 57 | HRESULT ReflectSharedProperties( | ||
| 58 | [annotation("_In_")] ID3D12Object* pHeapOrResource, | ||
| 59 | D3D12_REFLECT_SHARED_PROPERTY ReflectType, | ||
| 60 | [annotation("_Out_writes_bytes_(DataSize)")] void* pData, | ||
| 61 | UINT DataSize); | ||
| 62 | } | ||
| 63 | |||
| 64 | [uuid(edbf5678-2960-4e81-8429-99d4b2630c4e), object, local, pointer_default(unique)] | ||
| 65 | interface D3D11On12CreatorID : IUnknown { }; | ||
| 66 | |||
| 67 | [uuid(fffcbb7f-15d3-42a2-841e-9d8d32f37ddd), object, local, pointer_default(unique)] | ||
| 68 | interface D3D9On12CreatorID : IUnknown { }; | ||
| 69 | |||
| 70 | [uuid(6bb3cd34-0d19-45ab-97ed-d720ba3dfc80), object, local, pointer_default(unique)] | ||
| 71 | interface OpenGLOn12CreatorID : IUnknown { }; | ||
| 72 | |||
| 73 | [uuid(3f76bb74-91b5-4a88-b126-20ca0331cd60), object, local, pointer_default(unique)] | ||
| 74 | interface OpenCLOn12CreatorID : IUnknown { }; | ||
| 75 | |||
| 76 | [uuid(bc806e01-3052-406c-a3e8-9fc07f048f98), object, local, pointer_default(unique)] | ||
| 77 | interface VulkanOn12CreatorID : IUnknown { }; | ||
| 78 | |||
| 79 | [uuid(cb7490ac-8a0f-44ec-9b7b-6f4cafe8e9ab), object, local, pointer_default(unique)] | ||
| 80 | interface DirectMLTensorFlowCreatorID : IUnknown { }; | ||
| 81 | |||
| 82 | [uuid(af029192-fba1-4b05-9116-235e06560354), object, local, pointer_default(unique)] | ||
| 83 | interface DirectMLPyTorchCreatorID : IUnknown { }; | ||
| 84 | |||
| 85 | [uuid(fdf01a76-1e11-450f-902b-74f04ea08094), object, local, pointer_default(unique)] | ||
| 86 | interface DirectMLWebNNCreatorID : IUnknown { }; | ||
| 87 | |||
| 88 | |||
| 89 | cpp_quote("#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP | WINAPI_PARTITION_GAMES) */") | ||
| 90 | #pragma endregion | ||
| 91 | |||
| 92 | |||
| 93 | cpp_quote( "DEFINE_GUID(IID_ID3D12CompatibilityDevice,0x8f1c0e3c,0xfae3,0x4a82,0xb0,0x98,0xbf,0xe1,0x70,0x82,0x07,0xff);" ) | ||
| 94 | cpp_quote( "DEFINE_GUID(IID_D3D11On12CreatorID,0xedbf5678,0x2960,0x4e81,0x84,0x29,0x99,0xd4,0xb2,0x63,0x0c,0x4e);" ) | ||
| 95 | cpp_quote( "DEFINE_GUID(IID_D3D9On12CreatorID,0xfffcbb7f,0x15d3,0x42a2,0x84,0x1e,0x9d,0x8d,0x32,0xf3,0x7d,0xdd);" ) | ||
| 96 | cpp_quote( "DEFINE_GUID(IID_OpenGLOn12CreatorID,0x6bb3cd34,0x0d19,0x45ab,0x97,0xed,0xd7,0x20,0xba,0x3d,0xfc,0x80);" ) | ||
| 97 | cpp_quote( "DEFINE_GUID(IID_OpenCLOn12CreatorID,0x3f76bb74,0x91b5,0x4a88,0xb1,0x26,0x20,0xca,0x03,0x31,0xcd,0x60);" ) | ||
| 98 | cpp_quote( "DEFINE_GUID(IID_VulkanOn12CreatorID,0xbc806e01,0x3052,0x406c,0xa3,0xe8,0x9f,0xc0,0x7f,0x04,0x8f,0x98);" ) | ||
| 99 | cpp_quote( "DEFINE_GUID(IID_DirectMLTensorFlowCreatorID,0xcb7490ac,0x8a0f,0x44ec,0x9b,0x7b,0x6f,0x4c,0xaf,0xe8,0xe9,0xab);" ) | ||
| 100 | cpp_quote( "DEFINE_GUID(IID_DirectMLPyTorchCreatorID,0xaf029192,0xfba1,0x4b05,0x91,0x16,0x23,0x5e,0x06,0x56,0x03,0x54);" ) | ||
| 101 | cpp_quote( "DEFINE_GUID(IID_DirectMLWebNNCreatorID,0xfdf01a76,0x1e11,0x450f,0x90,0x2b,0x74,0xf0,0x4e,0xa0,0x80,0x94);" ) | ||
diff --git a/contrib/microsoft.direct3d.d3d12.1.618.4/build/native/include/d3d12compiler.h b/contrib/microsoft.direct3d.d3d12.1.618.4/build/native/include/d3d12compiler.h new file mode 100644 index 0000000..1d8fe3b --- /dev/null +++ b/contrib/microsoft.direct3d.d3d12.1.618.4/build/native/include/d3d12compiler.h | |||
| @@ -0,0 +1,977 @@ | |||
| 1 | /*------------------------------------------------------------------------------------- | ||
| 2 | * | ||
| 3 | * Copyright (c) Microsoft Corporation | ||
| 4 | * Licensed under the MIT license | ||
| 5 | * | ||
| 6 | *-------------------------------------------------------------------------------------*/ | ||
| 7 | |||
| 8 | |||
| 9 | /* this ALWAYS GENERATED file contains the definitions for the interfaces */ | ||
| 10 | |||
| 11 | |||
| 12 | /* File created by MIDL compiler version 8.01.0628 */ | ||
| 13 | |||
| 14 | |||
| 15 | |||
| 16 | /* verify that the <rpcndr.h> version is high enough to compile this file*/ | ||
| 17 | #ifndef __REQUIRED_RPCNDR_H_VERSION__ | ||
| 18 | #define __REQUIRED_RPCNDR_H_VERSION__ 500 | ||
| 19 | #endif | ||
| 20 | |||
| 21 | /* verify that the <rpcsal.h> version is high enough to compile this file*/ | ||
| 22 | #ifndef __REQUIRED_RPCSAL_H_VERSION__ | ||
| 23 | #define __REQUIRED_RPCSAL_H_VERSION__ 100 | ||
| 24 | #endif | ||
| 25 | |||
| 26 | #include "rpc.h" | ||
| 27 | #include "rpcndr.h" | ||
| 28 | |||
| 29 | #ifndef __RPCNDR_H_VERSION__ | ||
| 30 | #error this stub requires an updated version of <rpcndr.h> | ||
| 31 | #endif /* __RPCNDR_H_VERSION__ */ | ||
| 32 | |||
| 33 | #ifndef COM_NO_WINDOWS_H | ||
| 34 | #include "windows.h" | ||
| 35 | #include "ole2.h" | ||
| 36 | #endif /*COM_NO_WINDOWS_H*/ | ||
| 37 | |||
| 38 | #ifndef __d3d12compiler_h__ | ||
| 39 | #define __d3d12compiler_h__ | ||
| 40 | |||
| 41 | #if defined(_MSC_VER) && (_MSC_VER >= 1020) | ||
| 42 | #pragma once | ||
| 43 | #endif | ||
| 44 | |||
| 45 | #ifndef DECLSPEC_XFGVIRT | ||
| 46 | #if defined(_CONTROL_FLOW_GUARD_XFG) | ||
| 47 | #define DECLSPEC_XFGVIRT(base, func) __declspec(xfg_virtual(base, func)) | ||
| 48 | #else | ||
| 49 | #define DECLSPEC_XFGVIRT(base, func) | ||
| 50 | #endif | ||
| 51 | #endif | ||
| 52 | |||
| 53 | /* Forward Declarations */ | ||
| 54 | |||
| 55 | #ifndef __ID3D12CompilerFactoryChild_FWD_DEFINED__ | ||
| 56 | #define __ID3D12CompilerFactoryChild_FWD_DEFINED__ | ||
| 57 | typedef interface ID3D12CompilerFactoryChild ID3D12CompilerFactoryChild; | ||
| 58 | |||
| 59 | #endif /* __ID3D12CompilerFactoryChild_FWD_DEFINED__ */ | ||
| 60 | |||
| 61 | |||
| 62 | #ifndef __ID3D12CompilerCacheSession_FWD_DEFINED__ | ||
| 63 | #define __ID3D12CompilerCacheSession_FWD_DEFINED__ | ||
| 64 | typedef interface ID3D12CompilerCacheSession ID3D12CompilerCacheSession; | ||
| 65 | |||
| 66 | #endif /* __ID3D12CompilerCacheSession_FWD_DEFINED__ */ | ||
| 67 | |||
| 68 | |||
| 69 | #ifndef __ID3D12CompilerStateObject_FWD_DEFINED__ | ||
| 70 | #define __ID3D12CompilerStateObject_FWD_DEFINED__ | ||
| 71 | typedef interface ID3D12CompilerStateObject ID3D12CompilerStateObject; | ||
| 72 | |||
| 73 | #endif /* __ID3D12CompilerStateObject_FWD_DEFINED__ */ | ||
| 74 | |||
| 75 | |||
| 76 | #ifndef __ID3D12Compiler_FWD_DEFINED__ | ||
| 77 | #define __ID3D12Compiler_FWD_DEFINED__ | ||
| 78 | typedef interface ID3D12Compiler ID3D12Compiler; | ||
| 79 | |||
| 80 | #endif /* __ID3D12Compiler_FWD_DEFINED__ */ | ||
| 81 | |||
| 82 | |||
| 83 | #ifndef __ID3D12CompilerFactory_FWD_DEFINED__ | ||
| 84 | #define __ID3D12CompilerFactory_FWD_DEFINED__ | ||
| 85 | typedef interface ID3D12CompilerFactory ID3D12CompilerFactory; | ||
| 86 | |||
| 87 | #endif /* __ID3D12CompilerFactory_FWD_DEFINED__ */ | ||
| 88 | |||
| 89 | |||
| 90 | /* header files for imported files */ | ||
| 91 | #include "oaidl.h" | ||
| 92 | #include "ocidl.h" | ||
| 93 | #include "dxgicommon.h" | ||
| 94 | #include "d3d12.h" | ||
| 95 | |||
| 96 | #ifdef __cplusplus | ||
| 97 | extern "C"{ | ||
| 98 | #endif | ||
| 99 | |||
| 100 | |||
| 101 | /* interface __MIDL_itf_d3d12compiler_0000_0000 */ | ||
| 102 | /* [local] */ | ||
| 103 | |||
| 104 | #include <winapifamily.h> | ||
| 105 | #pragma region App Family | ||
| 106 | #if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP | WINAPI_PARTITION_GAMES) | ||
| 107 | typedef struct D3D12_ADAPTER_FAMILY | ||
| 108 | { | ||
| 109 | WCHAR szAdapterFamily[ 128 ]; | ||
| 110 | } D3D12_ADAPTER_FAMILY; | ||
| 111 | |||
| 112 | typedef HRESULT (WINAPI* PFN_D3D12_COMPILER_CREATE_FACTORY)( | ||
| 113 | _In_ LPCWSTR pPluginCompilerDllPath, | ||
| 114 | _In_ REFIID riid, | ||
| 115 | _COM_Outptr_opt_ void** ppFactory ); | ||
| 116 | |||
| 117 | HRESULT WINAPI D3D12CompilerCreateFactory( | ||
| 118 | _In_ LPCWSTR pPluginCompilerDllPath, | ||
| 119 | _In_ REFIID riid, // Expected: ID3D12CompilerFactory | ||
| 120 | _COM_Outptr_opt_ void** ppFactory ); | ||
| 121 | |||
| 122 | typedef HRESULT (WINAPI* PFN_D3D12_COMPILER_SERIALIZE_VERSIONED_ROOT_SIGNATURE)( | ||
| 123 | _In_ const D3D12_VERSIONED_ROOT_SIGNATURE_DESC* pRootSignature, | ||
| 124 | _Out_ ID3DBlob** ppBlob, | ||
| 125 | _Always_(_Outptr_opt_result_maybenull_) ID3DBlob** ppErrorBlob); | ||
| 126 | |||
| 127 | HRESULT WINAPI D3D12CompilerSerializeVersionedRootSignature( | ||
| 128 | _In_ const D3D12_VERSIONED_ROOT_SIGNATURE_DESC* pRootSignature, | ||
| 129 | _Out_ ID3DBlob** ppBlob, | ||
| 130 | _Always_(_Outptr_opt_result_maybenull_) ID3DBlob** ppErrorBlob); | ||
| 131 | |||
| 132 | |||
| 133 | |||
| 134 | extern RPC_IF_HANDLE __MIDL_itf_d3d12compiler_0000_0000_v0_0_c_ifspec; | ||
| 135 | extern RPC_IF_HANDLE __MIDL_itf_d3d12compiler_0000_0000_v0_0_s_ifspec; | ||
| 136 | |||
| 137 | #ifndef __ID3D12CompilerFactoryChild_INTERFACE_DEFINED__ | ||
| 138 | #define __ID3D12CompilerFactoryChild_INTERFACE_DEFINED__ | ||
| 139 | |||
| 140 | /* interface ID3D12CompilerFactoryChild */ | ||
| 141 | /* [unique][local][object][uuid] */ | ||
| 142 | |||
| 143 | |||
| 144 | EXTERN_C const IID IID_ID3D12CompilerFactoryChild; | ||
| 145 | |||
| 146 | #if defined(__cplusplus) && !defined(CINTERFACE) | ||
| 147 | |||
| 148 | MIDL_INTERFACE("e0d06420-9f31-47e8-ae9a-dd2ba25ac0bc") | ||
| 149 | ID3D12CompilerFactoryChild : public IUnknown | ||
| 150 | { | ||
| 151 | public: | ||
| 152 | virtual HRESULT STDMETHODCALLTYPE GetFactory( | ||
| 153 | _In_ REFIID riid, | ||
| 154 | _COM_Outptr_ void **ppCompilerFactory) = 0; | ||
| 155 | |||
| 156 | }; | ||
| 157 | |||
| 158 | |||
| 159 | #else /* C style interface */ | ||
| 160 | |||
| 161 | typedef struct ID3D12CompilerFactoryChildVtbl | ||
| 162 | { | ||
| 163 | BEGIN_INTERFACE | ||
| 164 | |||
| 165 | DECLSPEC_XFGVIRT(IUnknown, QueryInterface) | ||
| 166 | HRESULT ( STDMETHODCALLTYPE *QueryInterface )( | ||
| 167 | ID3D12CompilerFactoryChild * This, | ||
| 168 | REFIID riid, | ||
| 169 | _COM_Outptr_ void **ppvObject); | ||
| 170 | |||
| 171 | DECLSPEC_XFGVIRT(IUnknown, AddRef) | ||
| 172 | ULONG ( STDMETHODCALLTYPE *AddRef )( | ||
| 173 | ID3D12CompilerFactoryChild * This); | ||
| 174 | |||
| 175 | DECLSPEC_XFGVIRT(IUnknown, Release) | ||
| 176 | ULONG ( STDMETHODCALLTYPE *Release )( | ||
| 177 | ID3D12CompilerFactoryChild * This); | ||
| 178 | |||
| 179 | DECLSPEC_XFGVIRT(ID3D12CompilerFactoryChild, GetFactory) | ||
| 180 | HRESULT ( STDMETHODCALLTYPE *GetFactory )( | ||
| 181 | ID3D12CompilerFactoryChild * This, | ||
| 182 | _In_ REFIID riid, | ||
| 183 | _COM_Outptr_ void **ppCompilerFactory); | ||
| 184 | |||
| 185 | END_INTERFACE | ||
| 186 | } ID3D12CompilerFactoryChildVtbl; | ||
| 187 | |||
| 188 | interface ID3D12CompilerFactoryChild | ||
| 189 | { | ||
| 190 | CONST_VTBL struct ID3D12CompilerFactoryChildVtbl *lpVtbl; | ||
| 191 | }; | ||
| 192 | |||
| 193 | |||
| 194 | |||
| 195 | #ifdef COBJMACROS | ||
| 196 | |||
| 197 | |||
| 198 | #define ID3D12CompilerFactoryChild_QueryInterface(This,riid,ppvObject) \ | ||
| 199 | ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) | ||
| 200 | |||
| 201 | #define ID3D12CompilerFactoryChild_AddRef(This) \ | ||
| 202 | ( (This)->lpVtbl -> AddRef(This) ) | ||
| 203 | |||
| 204 | #define ID3D12CompilerFactoryChild_Release(This) \ | ||
| 205 | ( (This)->lpVtbl -> Release(This) ) | ||
| 206 | |||
| 207 | |||
| 208 | #define ID3D12CompilerFactoryChild_GetFactory(This,riid,ppCompilerFactory) \ | ||
| 209 | ( (This)->lpVtbl -> GetFactory(This,riid,ppCompilerFactory) ) | ||
| 210 | |||
| 211 | #endif /* COBJMACROS */ | ||
| 212 | |||
| 213 | |||
| 214 | #endif /* C style interface */ | ||
| 215 | |||
| 216 | |||
| 217 | |||
| 218 | |||
| 219 | #endif /* __ID3D12CompilerFactoryChild_INTERFACE_DEFINED__ */ | ||
| 220 | |||
| 221 | |||
| 222 | /* interface __MIDL_itf_d3d12compiler_0000_0001 */ | ||
| 223 | /* [local] */ | ||
| 224 | |||
| 225 | typedef | ||
| 226 | enum D3D12_COMPILER_VALUE_TYPE | ||
| 227 | { | ||
| 228 | D3D12_COMPILER_VALUE_TYPE_OBJECT_CODE = 0, | ||
| 229 | D3D12_COMPILER_VALUE_TYPE_METADATA = 1, | ||
| 230 | D3D12_COMPILER_VALUE_TYPE_DEBUG_PDB = 2, | ||
| 231 | D3D12_COMPILER_VALUE_TYPE_PERFORMANCE_DATA = 3 | ||
| 232 | } D3D12_COMPILER_VALUE_TYPE; | ||
| 233 | |||
| 234 | typedef | ||
| 235 | enum D3D12_COMPILER_VALUE_TYPE_FLAGS | ||
| 236 | { | ||
| 237 | D3D12_COMPILER_VALUE_TYPE_FLAGS_NONE = 0, | ||
| 238 | D3D12_COMPILER_VALUE_TYPE_FLAGS_OBJECT_CODE = ( 1 << D3D12_COMPILER_VALUE_TYPE_OBJECT_CODE ) , | ||
| 239 | D3D12_COMPILER_VALUE_TYPE_FLAGS_METADATA = ( 1 << D3D12_COMPILER_VALUE_TYPE_METADATA ) , | ||
| 240 | D3D12_COMPILER_VALUE_TYPE_FLAGS_DEBUG_PDB = ( 1 << D3D12_COMPILER_VALUE_TYPE_DEBUG_PDB ) , | ||
| 241 | D3D12_COMPILER_VALUE_TYPE_FLAGS_PERFORMANCE_DATA = ( 1 << D3D12_COMPILER_VALUE_TYPE_PERFORMANCE_DATA ) | ||
| 242 | } D3D12_COMPILER_VALUE_TYPE_FLAGS; | ||
| 243 | |||
| 244 | DEFINE_ENUM_FLAG_OPERATORS( D3D12_COMPILER_VALUE_TYPE_FLAGS ) | ||
| 245 | typedef struct D3D12_COMPILER_DATABASE_PATH | ||
| 246 | { | ||
| 247 | D3D12_COMPILER_VALUE_TYPE_FLAGS Types; | ||
| 248 | LPCWSTR pPath; | ||
| 249 | } D3D12_COMPILER_DATABASE_PATH; | ||
| 250 | |||
| 251 | typedef struct D3D12_COMPILER_CACHE_GROUP_KEY | ||
| 252 | { | ||
| 253 | _Field_size_bytes_full_(KeySize) const void *pKey; | ||
| 254 | UINT KeySize; | ||
| 255 | } D3D12_COMPILER_CACHE_GROUP_KEY; | ||
| 256 | |||
| 257 | typedef struct D3D12_COMPILER_CACHE_VALUE_KEY | ||
| 258 | { | ||
| 259 | _Field_size_bytes_full_(KeySize) const void *pKey; | ||
| 260 | UINT KeySize; | ||
| 261 | } D3D12_COMPILER_CACHE_VALUE_KEY; | ||
| 262 | |||
| 263 | typedef struct D3D12_COMPILER_CACHE_VALUE | ||
| 264 | { | ||
| 265 | _Field_size_bytes_full_(ValueSize) void *pValue; | ||
| 266 | UINT ValueSize; | ||
| 267 | } D3D12_COMPILER_CACHE_VALUE; | ||
| 268 | |||
| 269 | typedef struct D3D12_COMPILER_CACHE_TYPED_VALUE | ||
| 270 | { | ||
| 271 | D3D12_COMPILER_VALUE_TYPE Type; | ||
| 272 | D3D12_COMPILER_CACHE_VALUE Value; | ||
| 273 | } D3D12_COMPILER_CACHE_TYPED_VALUE; | ||
| 274 | |||
| 275 | typedef struct D3D12_COMPILER_CACHE_CONST_VALUE | ||
| 276 | { | ||
| 277 | _Field_size_bytes_full_(ValueSize) const void *pValue; | ||
| 278 | UINT ValueSize; | ||
| 279 | } D3D12_COMPILER_CACHE_CONST_VALUE; | ||
| 280 | |||
| 281 | typedef struct D3D12_COMPILER_CACHE_TYPED_CONST_VALUE | ||
| 282 | { | ||
| 283 | D3D12_COMPILER_VALUE_TYPE Type; | ||
| 284 | D3D12_COMPILER_CACHE_CONST_VALUE Value; | ||
| 285 | } D3D12_COMPILER_CACHE_TYPED_CONST_VALUE; | ||
| 286 | |||
| 287 | typedef struct D3D12_COMPILER_TARGET | ||
| 288 | { | ||
| 289 | UINT AdapterFamilyIndex; | ||
| 290 | UINT64 ABIVersion; | ||
| 291 | } D3D12_COMPILER_TARGET; | ||
| 292 | |||
| 293 | typedef void *( __stdcall *D3D12CompilerCacheSessionAllocationFunc )( | ||
| 294 | SIZE_T SizeInBytes, | ||
| 295 | _Inout_opt_ void *pContext); | ||
| 296 | |||
| 297 | typedef void ( __stdcall *D3D12CompilerCacheSessionGroupValueKeysFunc )( | ||
| 298 | _In_ const D3D12_COMPILER_CACHE_VALUE_KEY *pValueKey, | ||
| 299 | _Inout_opt_ void *pContext); | ||
| 300 | |||
| 301 | typedef void ( __stdcall *D3D12CompilerCacheSessionGroupValuesFunc )( | ||
| 302 | UINT ValueKeyIndex, | ||
| 303 | _In_ const D3D12_COMPILER_CACHE_TYPED_CONST_VALUE *pTypedValue, | ||
| 304 | _Inout_opt_ void *pContext); | ||
| 305 | |||
| 306 | |||
| 307 | |||
| 308 | extern RPC_IF_HANDLE __MIDL_itf_d3d12compiler_0000_0001_v0_0_c_ifspec; | ||
| 309 | extern RPC_IF_HANDLE __MIDL_itf_d3d12compiler_0000_0001_v0_0_s_ifspec; | ||
| 310 | |||
| 311 | #ifndef __ID3D12CompilerCacheSession_INTERFACE_DEFINED__ | ||
| 312 | #define __ID3D12CompilerCacheSession_INTERFACE_DEFINED__ | ||
| 313 | |||
| 314 | /* interface ID3D12CompilerCacheSession */ | ||
| 315 | /* [unique][local][object][uuid] */ | ||
| 316 | |||
| 317 | |||
| 318 | EXTERN_C const IID IID_ID3D12CompilerCacheSession; | ||
| 319 | |||
| 320 | #if defined(__cplusplus) && !defined(CINTERFACE) | ||
| 321 | |||
| 322 | MIDL_INTERFACE("5704e5e6-054b-4738-b661-7b0d68d8dde2") | ||
| 323 | ID3D12CompilerCacheSession : public ID3D12CompilerFactoryChild | ||
| 324 | { | ||
| 325 | public: | ||
| 326 | virtual HRESULT STDMETHODCALLTYPE FindGroup( | ||
| 327 | _In_ const D3D12_COMPILER_CACHE_GROUP_KEY *pGroupKey, | ||
| 328 | _Out_opt_ UINT *pGroupVersion) = 0; | ||
| 329 | |||
| 330 | virtual HRESULT STDMETHODCALLTYPE FindGroupValueKeys( | ||
| 331 | _In_ const D3D12_COMPILER_CACHE_GROUP_KEY *pGroupKey, | ||
| 332 | _In_opt_ const UINT *pExpectedGroupVersion, | ||
| 333 | _In_ D3D12CompilerCacheSessionGroupValueKeysFunc CallbackFunc, | ||
| 334 | _Inout_opt_ void *pContext) = 0; | ||
| 335 | |||
| 336 | virtual HRESULT STDMETHODCALLTYPE FindGroupValues( | ||
| 337 | _In_ const D3D12_COMPILER_CACHE_GROUP_KEY *pGroupKey, | ||
| 338 | _In_opt_ const UINT *pExpectedGroupVersion, | ||
| 339 | D3D12_COMPILER_VALUE_TYPE_FLAGS ValueTypeFlags, | ||
| 340 | _In_opt_ D3D12CompilerCacheSessionGroupValuesFunc CallbackFunc, | ||
| 341 | _Inout_opt_ void *pContext) = 0; | ||
| 342 | |||
| 343 | virtual HRESULT STDMETHODCALLTYPE FindValue( | ||
| 344 | _In_ const D3D12_COMPILER_CACHE_VALUE_KEY *pValueKey, | ||
| 345 | _Inout_count_(NumTypedValues) D3D12_COMPILER_CACHE_TYPED_VALUE *pTypedValues, | ||
| 346 | UINT NumTypedValues, | ||
| 347 | _In_opt_ D3D12CompilerCacheSessionAllocationFunc pCallbackFunc, | ||
| 348 | _Inout_opt_ void *pContext) = 0; | ||
| 349 | |||
| 350 | virtual const D3D12_APPLICATION_DESC *STDMETHODCALLTYPE GetApplicationDesc( void) = 0; | ||
| 351 | |||
| 352 | #if defined(_MSC_VER) || !defined(_WIN32) | ||
| 353 | virtual D3D12_COMPILER_TARGET STDMETHODCALLTYPE GetCompilerTarget( void) = 0; | ||
| 354 | #else | ||
| 355 | virtual D3D12_COMPILER_TARGET *STDMETHODCALLTYPE GetCompilerTarget( | ||
| 356 | D3D12_COMPILER_TARGET * RetVal) = 0; | ||
| 357 | #endif | ||
| 358 | |||
| 359 | virtual D3D12_COMPILER_VALUE_TYPE_FLAGS STDMETHODCALLTYPE GetValueTypes( void) = 0; | ||
| 360 | |||
| 361 | virtual HRESULT STDMETHODCALLTYPE StoreGroupValueKeys( | ||
| 362 | _In_ const D3D12_COMPILER_CACHE_GROUP_KEY *pGroupKey, | ||
| 363 | UINT GroupVersion, | ||
| 364 | _In_reads_(NumValueKeys) const D3D12_COMPILER_CACHE_VALUE_KEY *pValueKeys, | ||
| 365 | UINT NumValueKeys) = 0; | ||
| 366 | |||
| 367 | virtual HRESULT STDMETHODCALLTYPE StoreValue( | ||
| 368 | _In_ const D3D12_COMPILER_CACHE_VALUE_KEY *pValueKey, | ||
| 369 | _In_reads_(NumTypedValues) const D3D12_COMPILER_CACHE_TYPED_CONST_VALUE *pTypedValues, | ||
| 370 | UINT NumTypedValues) = 0; | ||
| 371 | |||
| 372 | }; | ||
| 373 | |||
| 374 | |||
| 375 | #else /* C style interface */ | ||
| 376 | |||
| 377 | typedef struct ID3D12CompilerCacheSessionVtbl | ||
| 378 | { | ||
| 379 | BEGIN_INTERFACE | ||
| 380 | |||
| 381 | DECLSPEC_XFGVIRT(IUnknown, QueryInterface) | ||
| 382 | HRESULT ( STDMETHODCALLTYPE *QueryInterface )( | ||
| 383 | ID3D12CompilerCacheSession * This, | ||
| 384 | REFIID riid, | ||
| 385 | _COM_Outptr_ void **ppvObject); | ||
| 386 | |||
| 387 | DECLSPEC_XFGVIRT(IUnknown, AddRef) | ||
| 388 | ULONG ( STDMETHODCALLTYPE *AddRef )( | ||
| 389 | ID3D12CompilerCacheSession * This); | ||
| 390 | |||
| 391 | DECLSPEC_XFGVIRT(IUnknown, Release) | ||
| 392 | ULONG ( STDMETHODCALLTYPE *Release )( | ||
| 393 | ID3D12CompilerCacheSession * This); | ||
| 394 | |||
| 395 | DECLSPEC_XFGVIRT(ID3D12CompilerFactoryChild, GetFactory) | ||
| 396 | HRESULT ( STDMETHODCALLTYPE *GetFactory )( | ||
| 397 | ID3D12CompilerCacheSession * This, | ||
| 398 | _In_ REFIID riid, | ||
| 399 | _COM_Outptr_ void **ppCompilerFactory); | ||
| 400 | |||
| 401 | DECLSPEC_XFGVIRT(ID3D12CompilerCacheSession, FindGroup) | ||
| 402 | HRESULT ( STDMETHODCALLTYPE *FindGroup )( | ||
| 403 | ID3D12CompilerCacheSession * This, | ||
| 404 | _In_ const D3D12_COMPILER_CACHE_GROUP_KEY *pGroupKey, | ||
| 405 | _Out_opt_ UINT *pGroupVersion); | ||
| 406 | |||
| 407 | DECLSPEC_XFGVIRT(ID3D12CompilerCacheSession, FindGroupValueKeys) | ||
| 408 | HRESULT ( STDMETHODCALLTYPE *FindGroupValueKeys )( | ||
| 409 | ID3D12CompilerCacheSession * This, | ||
| 410 | _In_ const D3D12_COMPILER_CACHE_GROUP_KEY *pGroupKey, | ||
| 411 | _In_opt_ const UINT *pExpectedGroupVersion, | ||
| 412 | _In_ D3D12CompilerCacheSessionGroupValueKeysFunc CallbackFunc, | ||
| 413 | _Inout_opt_ void *pContext); | ||
| 414 | |||
| 415 | DECLSPEC_XFGVIRT(ID3D12CompilerCacheSession, FindGroupValues) | ||
| 416 | HRESULT ( STDMETHODCALLTYPE *FindGroupValues )( | ||
| 417 | ID3D12CompilerCacheSession * This, | ||
| 418 | _In_ const D3D12_COMPILER_CACHE_GROUP_KEY *pGroupKey, | ||
| 419 | _In_opt_ const UINT *pExpectedGroupVersion, | ||
| 420 | D3D12_COMPILER_VALUE_TYPE_FLAGS ValueTypeFlags, | ||
| 421 | _In_opt_ D3D12CompilerCacheSessionGroupValuesFunc CallbackFunc, | ||
| 422 | _Inout_opt_ void *pContext); | ||
| 423 | |||
| 424 | DECLSPEC_XFGVIRT(ID3D12CompilerCacheSession, FindValue) | ||
| 425 | HRESULT ( STDMETHODCALLTYPE *FindValue )( | ||
| 426 | ID3D12CompilerCacheSession * This, | ||
| 427 | _In_ const D3D12_COMPILER_CACHE_VALUE_KEY *pValueKey, | ||
| 428 | _Inout_count_(NumTypedValues) D3D12_COMPILER_CACHE_TYPED_VALUE *pTypedValues, | ||
| 429 | UINT NumTypedValues, | ||
| 430 | _In_opt_ D3D12CompilerCacheSessionAllocationFunc pCallbackFunc, | ||
| 431 | _Inout_opt_ void *pContext); | ||
| 432 | |||
| 433 | DECLSPEC_XFGVIRT(ID3D12CompilerCacheSession, GetApplicationDesc) | ||
| 434 | const D3D12_APPLICATION_DESC *( STDMETHODCALLTYPE *GetApplicationDesc )( | ||
| 435 | ID3D12CompilerCacheSession * This); | ||
| 436 | |||
| 437 | DECLSPEC_XFGVIRT(ID3D12CompilerCacheSession, GetCompilerTarget) | ||
| 438 | #if !defined(_WIN32) | ||
| 439 | D3D12_COMPILER_TARGET ( STDMETHODCALLTYPE *GetCompilerTarget )( | ||
| 440 | ID3D12CompilerCacheSession * This); | ||
| 441 | |||
| 442 | #else | ||
| 443 | D3D12_COMPILER_TARGET *( STDMETHODCALLTYPE *GetCompilerTarget )( | ||
| 444 | ID3D12CompilerCacheSession * This, | ||
| 445 | D3D12_COMPILER_TARGET * RetVal); | ||
| 446 | |||
| 447 | #endif | ||
| 448 | |||
| 449 | DECLSPEC_XFGVIRT(ID3D12CompilerCacheSession, GetValueTypes) | ||
| 450 | D3D12_COMPILER_VALUE_TYPE_FLAGS ( STDMETHODCALLTYPE *GetValueTypes )( | ||
| 451 | ID3D12CompilerCacheSession * This); | ||
| 452 | |||
| 453 | DECLSPEC_XFGVIRT(ID3D12CompilerCacheSession, StoreGroupValueKeys) | ||
| 454 | HRESULT ( STDMETHODCALLTYPE *StoreGroupValueKeys )( | ||
| 455 | ID3D12CompilerCacheSession * This, | ||
| 456 | _In_ const D3D12_COMPILER_CACHE_GROUP_KEY *pGroupKey, | ||
| 457 | UINT GroupVersion, | ||
| 458 | _In_reads_(NumValueKeys) const D3D12_COMPILER_CACHE_VALUE_KEY *pValueKeys, | ||
| 459 | UINT NumValueKeys); | ||
| 460 | |||
| 461 | DECLSPEC_XFGVIRT(ID3D12CompilerCacheSession, StoreValue) | ||
| 462 | HRESULT ( STDMETHODCALLTYPE *StoreValue )( | ||
| 463 | ID3D12CompilerCacheSession * This, | ||
| 464 | _In_ const D3D12_COMPILER_CACHE_VALUE_KEY *pValueKey, | ||
| 465 | _In_reads_(NumTypedValues) const D3D12_COMPILER_CACHE_TYPED_CONST_VALUE *pTypedValues, | ||
| 466 | UINT NumTypedValues); | ||
| 467 | |||
| 468 | END_INTERFACE | ||
| 469 | } ID3D12CompilerCacheSessionVtbl; | ||
| 470 | |||
| 471 | interface ID3D12CompilerCacheSession | ||
| 472 | { | ||
| 473 | CONST_VTBL struct ID3D12CompilerCacheSessionVtbl *lpVtbl; | ||
| 474 | }; | ||
| 475 | |||
| 476 | |||
| 477 | |||
| 478 | #ifdef COBJMACROS | ||
| 479 | |||
| 480 | |||
| 481 | #define ID3D12CompilerCacheSession_QueryInterface(This,riid,ppvObject) \ | ||
| 482 | ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) | ||
| 483 | |||
| 484 | #define ID3D12CompilerCacheSession_AddRef(This) \ | ||
| 485 | ( (This)->lpVtbl -> AddRef(This) ) | ||
| 486 | |||
| 487 | #define ID3D12CompilerCacheSession_Release(This) \ | ||
| 488 | ( (This)->lpVtbl -> Release(This) ) | ||
| 489 | |||
| 490 | |||
| 491 | #define ID3D12CompilerCacheSession_GetFactory(This,riid,ppCompilerFactory) \ | ||
| 492 | ( (This)->lpVtbl -> GetFactory(This,riid,ppCompilerFactory) ) | ||
| 493 | |||
| 494 | |||
| 495 | #define ID3D12CompilerCacheSession_FindGroup(This,pGroupKey,pGroupVersion) \ | ||
| 496 | ( (This)->lpVtbl -> FindGroup(This,pGroupKey,pGroupVersion) ) | ||
| 497 | |||
| 498 | #define ID3D12CompilerCacheSession_FindGroupValueKeys(This,pGroupKey,pExpectedGroupVersion,CallbackFunc,pContext) \ | ||
| 499 | ( (This)->lpVtbl -> FindGroupValueKeys(This,pGroupKey,pExpectedGroupVersion,CallbackFunc,pContext) ) | ||
| 500 | |||
| 501 | #define ID3D12CompilerCacheSession_FindGroupValues(This,pGroupKey,pExpectedGroupVersion,ValueTypeFlags,CallbackFunc,pContext) \ | ||
| 502 | ( (This)->lpVtbl -> FindGroupValues(This,pGroupKey,pExpectedGroupVersion,ValueTypeFlags,CallbackFunc,pContext) ) | ||
| 503 | |||
| 504 | #define ID3D12CompilerCacheSession_FindValue(This,pValueKey,pTypedValues,NumTypedValues,pCallbackFunc,pContext) \ | ||
| 505 | ( (This)->lpVtbl -> FindValue(This,pValueKey,pTypedValues,NumTypedValues,pCallbackFunc,pContext) ) | ||
| 506 | |||
| 507 | #define ID3D12CompilerCacheSession_GetApplicationDesc(This) \ | ||
| 508 | ( (This)->lpVtbl -> GetApplicationDesc(This) ) | ||
| 509 | #if !defined(_WIN32) | ||
| 510 | |||
| 511 | #define ID3D12CompilerCacheSession_GetCompilerTarget(This) \ | ||
| 512 | ( (This)->lpVtbl -> GetCompilerTarget(This) ) | ||
| 513 | #else | ||
| 514 | #define ID3D12CompilerCacheSession_GetCompilerTarget(This,RetVal) \ | ||
| 515 | ( (This)->lpVtbl -> GetCompilerTarget(This,RetVal) ) | ||
| 516 | #endif | ||
| 517 | |||
| 518 | #define ID3D12CompilerCacheSession_GetValueTypes(This) \ | ||
| 519 | ( (This)->lpVtbl -> GetValueTypes(This) ) | ||
| 520 | |||
| 521 | #define ID3D12CompilerCacheSession_StoreGroupValueKeys(This,pGroupKey,GroupVersion,pValueKeys,NumValueKeys) \ | ||
| 522 | ( (This)->lpVtbl -> StoreGroupValueKeys(This,pGroupKey,GroupVersion,pValueKeys,NumValueKeys) ) | ||
| 523 | |||
| 524 | #define ID3D12CompilerCacheSession_StoreValue(This,pValueKey,pTypedValues,NumTypedValues) \ | ||
| 525 | ( (This)->lpVtbl -> StoreValue(This,pValueKey,pTypedValues,NumTypedValues) ) | ||
| 526 | |||
| 527 | #endif /* COBJMACROS */ | ||
| 528 | |||
| 529 | |||
| 530 | #endif /* C style interface */ | ||
| 531 | |||
| 532 | |||
| 533 | |||
| 534 | |||
| 535 | #endif /* __ID3D12CompilerCacheSession_INTERFACE_DEFINED__ */ | ||
| 536 | |||
| 537 | |||
| 538 | #ifndef __ID3D12CompilerStateObject_INTERFACE_DEFINED__ | ||
| 539 | #define __ID3D12CompilerStateObject_INTERFACE_DEFINED__ | ||
| 540 | |||
| 541 | /* interface ID3D12CompilerStateObject */ | ||
| 542 | /* [unique][local][object][uuid] */ | ||
| 543 | |||
| 544 | |||
| 545 | EXTERN_C const IID IID_ID3D12CompilerStateObject; | ||
| 546 | |||
| 547 | #if defined(__cplusplus) && !defined(CINTERFACE) | ||
| 548 | |||
| 549 | MIDL_INTERFACE("5981cca4-e8ae-44ca-9b92-4fa86f5a3a3a") | ||
| 550 | ID3D12CompilerStateObject : public IUnknown | ||
| 551 | { | ||
| 552 | public: | ||
| 553 | virtual HRESULT STDMETHODCALLTYPE GetCompiler( | ||
| 554 | _In_ REFIID riid, | ||
| 555 | _COM_Outptr_ void **ppCompiler) = 0; | ||
| 556 | |||
| 557 | }; | ||
| 558 | |||
| 559 | |||
| 560 | #else /* C style interface */ | ||
| 561 | |||
| 562 | typedef struct ID3D12CompilerStateObjectVtbl | ||
| 563 | { | ||
| 564 | BEGIN_INTERFACE | ||
| 565 | |||
| 566 | DECLSPEC_XFGVIRT(IUnknown, QueryInterface) | ||
| 567 | HRESULT ( STDMETHODCALLTYPE *QueryInterface )( | ||
| 568 | ID3D12CompilerStateObject * This, | ||
| 569 | REFIID riid, | ||
| 570 | _COM_Outptr_ void **ppvObject); | ||
| 571 | |||
| 572 | DECLSPEC_XFGVIRT(IUnknown, AddRef) | ||
| 573 | ULONG ( STDMETHODCALLTYPE *AddRef )( | ||
| 574 | ID3D12CompilerStateObject * This); | ||
| 575 | |||
| 576 | DECLSPEC_XFGVIRT(IUnknown, Release) | ||
| 577 | ULONG ( STDMETHODCALLTYPE *Release )( | ||
| 578 | ID3D12CompilerStateObject * This); | ||
| 579 | |||
| 580 | DECLSPEC_XFGVIRT(ID3D12CompilerStateObject, GetCompiler) | ||
| 581 | HRESULT ( STDMETHODCALLTYPE *GetCompiler )( | ||
| 582 | ID3D12CompilerStateObject * This, | ||
| 583 | _In_ REFIID riid, | ||
| 584 | _COM_Outptr_ void **ppCompiler); | ||
| 585 | |||
| 586 | END_INTERFACE | ||
| 587 | } ID3D12CompilerStateObjectVtbl; | ||
| 588 | |||
| 589 | interface ID3D12CompilerStateObject | ||
| 590 | { | ||
| 591 | CONST_VTBL struct ID3D12CompilerStateObjectVtbl *lpVtbl; | ||
| 592 | }; | ||
| 593 | |||
| 594 | |||
| 595 | |||
| 596 | #ifdef COBJMACROS | ||
| 597 | |||
| 598 | |||
| 599 | #define ID3D12CompilerStateObject_QueryInterface(This,riid,ppvObject) \ | ||
| 600 | ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) | ||
| 601 | |||
| 602 | #define ID3D12CompilerStateObject_AddRef(This) \ | ||
| 603 | ( (This)->lpVtbl -> AddRef(This) ) | ||
| 604 | |||
| 605 | #define ID3D12CompilerStateObject_Release(This) \ | ||
| 606 | ( (This)->lpVtbl -> Release(This) ) | ||
| 607 | |||
| 608 | |||
| 609 | #define ID3D12CompilerStateObject_GetCompiler(This,riid,ppCompiler) \ | ||
| 610 | ( (This)->lpVtbl -> GetCompiler(This,riid,ppCompiler) ) | ||
| 611 | |||
| 612 | #endif /* COBJMACROS */ | ||
| 613 | |||
| 614 | |||
| 615 | #endif /* C style interface */ | ||
| 616 | |||
| 617 | |||
| 618 | |||
| 619 | |||
| 620 | #endif /* __ID3D12CompilerStateObject_INTERFACE_DEFINED__ */ | ||
| 621 | |||
| 622 | |||
| 623 | /* interface __MIDL_itf_d3d12compiler_0000_0003 */ | ||
| 624 | /* [local] */ | ||
| 625 | |||
| 626 | typedef struct D3D12_COMPILER_EXISTING_COLLECTION_DESC | ||
| 627 | { | ||
| 628 | ID3D12CompilerStateObject *pExistingCollection; | ||
| 629 | UINT NumExports; | ||
| 630 | _In_reads_(NumExports) const D3D12_EXPORT_DESC *pExports; | ||
| 631 | } D3D12_COMPILER_EXISTING_COLLECTION_DESC; | ||
| 632 | |||
| 633 | |||
| 634 | |||
| 635 | extern RPC_IF_HANDLE __MIDL_itf_d3d12compiler_0000_0003_v0_0_c_ifspec; | ||
| 636 | extern RPC_IF_HANDLE __MIDL_itf_d3d12compiler_0000_0003_v0_0_s_ifspec; | ||
| 637 | |||
| 638 | #ifndef __ID3D12Compiler_INTERFACE_DEFINED__ | ||
| 639 | #define __ID3D12Compiler_INTERFACE_DEFINED__ | ||
| 640 | |||
| 641 | /* interface ID3D12Compiler */ | ||
| 642 | /* [unique][local][object][uuid] */ | ||
| 643 | |||
| 644 | |||
| 645 | EXTERN_C const IID IID_ID3D12Compiler; | ||
| 646 | |||
| 647 | #if defined(__cplusplus) && !defined(CINTERFACE) | ||
| 648 | |||
| 649 | MIDL_INTERFACE("8c403c12-993b-4583-80f1-6824138fa68e") | ||
| 650 | ID3D12Compiler : public ID3D12CompilerFactoryChild | ||
| 651 | { | ||
| 652 | public: | ||
| 653 | virtual HRESULT STDMETHODCALLTYPE CompilePipelineState( | ||
| 654 | _In_ const D3D12_COMPILER_CACHE_GROUP_KEY *pGroupKey, | ||
| 655 | UINT GroupVersion, | ||
| 656 | _In_ const D3D12_PIPELINE_STATE_STREAM_DESC *pDesc) = 0; | ||
| 657 | |||
| 658 | virtual HRESULT STDMETHODCALLTYPE CompileStateObject( | ||
| 659 | _In_ const D3D12_COMPILER_CACHE_GROUP_KEY *pGroupKey, | ||
| 660 | UINT GroupVersion, | ||
| 661 | _In_ const D3D12_STATE_OBJECT_DESC *pDesc, | ||
| 662 | _In_ REFIID riid, | ||
| 663 | _COM_Outptr_ void **ppCompilerStateObject) = 0; | ||
| 664 | |||
| 665 | virtual HRESULT STDMETHODCALLTYPE CompileAddToStateObject( | ||
| 666 | _In_ const D3D12_COMPILER_CACHE_GROUP_KEY *pGroupKey, | ||
| 667 | UINT GroupVersion, | ||
| 668 | _In_ const D3D12_STATE_OBJECT_DESC *pAddition, | ||
| 669 | _In_ ID3D12CompilerStateObject *pCompilerStateObjectToGrowFrom, | ||
| 670 | _In_ REFIID riid, | ||
| 671 | _COM_Outptr_ void **ppNewCompilerStateObject) = 0; | ||
| 672 | |||
| 673 | virtual HRESULT STDMETHODCALLTYPE GetCacheSession( | ||
| 674 | _In_ REFIID riid, | ||
| 675 | _COM_Outptr_ void **ppCompilerCacheSession) = 0; | ||
| 676 | |||
| 677 | }; | ||
| 678 | |||
| 679 | |||
| 680 | #else /* C style interface */ | ||
| 681 | |||
| 682 | typedef struct ID3D12CompilerVtbl | ||
| 683 | { | ||
| 684 | BEGIN_INTERFACE | ||
| 685 | |||
| 686 | DECLSPEC_XFGVIRT(IUnknown, QueryInterface) | ||
| 687 | HRESULT ( STDMETHODCALLTYPE *QueryInterface )( | ||
| 688 | ID3D12Compiler * This, | ||
| 689 | REFIID riid, | ||
| 690 | _COM_Outptr_ void **ppvObject); | ||
| 691 | |||
| 692 | DECLSPEC_XFGVIRT(IUnknown, AddRef) | ||
| 693 | ULONG ( STDMETHODCALLTYPE *AddRef )( | ||
| 694 | ID3D12Compiler * This); | ||
| 695 | |||
| 696 | DECLSPEC_XFGVIRT(IUnknown, Release) | ||
| 697 | ULONG ( STDMETHODCALLTYPE *Release )( | ||
| 698 | ID3D12Compiler * This); | ||
| 699 | |||
| 700 | DECLSPEC_XFGVIRT(ID3D12CompilerFactoryChild, GetFactory) | ||
| 701 | HRESULT ( STDMETHODCALLTYPE *GetFactory )( | ||
| 702 | ID3D12Compiler * This, | ||
| 703 | _In_ REFIID riid, | ||
| 704 | _COM_Outptr_ void **ppCompilerFactory); | ||
| 705 | |||
| 706 | DECLSPEC_XFGVIRT(ID3D12Compiler, CompilePipelineState) | ||
| 707 | HRESULT ( STDMETHODCALLTYPE *CompilePipelineState )( | ||
| 708 | ID3D12Compiler * This, | ||
| 709 | _In_ const D3D12_COMPILER_CACHE_GROUP_KEY *pGroupKey, | ||
| 710 | UINT GroupVersion, | ||
| 711 | _In_ const D3D12_PIPELINE_STATE_STREAM_DESC *pDesc); | ||
| 712 | |||
| 713 | DECLSPEC_XFGVIRT(ID3D12Compiler, CompileStateObject) | ||
| 714 | HRESULT ( STDMETHODCALLTYPE *CompileStateObject )( | ||
| 715 | ID3D12Compiler * This, | ||
| 716 | _In_ const D3D12_COMPILER_CACHE_GROUP_KEY *pGroupKey, | ||
| 717 | UINT GroupVersion, | ||
| 718 | _In_ const D3D12_STATE_OBJECT_DESC *pDesc, | ||
| 719 | _In_ REFIID riid, | ||
| 720 | _COM_Outptr_ void **ppCompilerStateObject); | ||
| 721 | |||
| 722 | DECLSPEC_XFGVIRT(ID3D12Compiler, CompileAddToStateObject) | ||
| 723 | HRESULT ( STDMETHODCALLTYPE *CompileAddToStateObject )( | ||
| 724 | ID3D12Compiler * This, | ||
| 725 | _In_ const D3D12_COMPILER_CACHE_GROUP_KEY *pGroupKey, | ||
| 726 | UINT GroupVersion, | ||
| 727 | _In_ const D3D12_STATE_OBJECT_DESC *pAddition, | ||
| 728 | _In_ ID3D12CompilerStateObject *pCompilerStateObjectToGrowFrom, | ||
| 729 | _In_ REFIID riid, | ||
| 730 | _COM_Outptr_ void **ppNewCompilerStateObject); | ||
| 731 | |||
| 732 | DECLSPEC_XFGVIRT(ID3D12Compiler, GetCacheSession) | ||
| 733 | HRESULT ( STDMETHODCALLTYPE *GetCacheSession )( | ||
| 734 | ID3D12Compiler * This, | ||
| 735 | _In_ REFIID riid, | ||
| 736 | _COM_Outptr_ void **ppCompilerCacheSession); | ||
| 737 | |||
| 738 | END_INTERFACE | ||
| 739 | } ID3D12CompilerVtbl; | ||
| 740 | |||
| 741 | interface ID3D12Compiler | ||
| 742 | { | ||
| 743 | CONST_VTBL struct ID3D12CompilerVtbl *lpVtbl; | ||
| 744 | }; | ||
| 745 | |||
| 746 | |||
| 747 | |||
| 748 | #ifdef COBJMACROS | ||
| 749 | |||
| 750 | |||
| 751 | #define ID3D12Compiler_QueryInterface(This,riid,ppvObject) \ | ||
| 752 | ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) | ||
| 753 | |||
| 754 | #define ID3D12Compiler_AddRef(This) \ | ||
| 755 | ( (This)->lpVtbl -> AddRef(This) ) | ||
| 756 | |||
| 757 | #define ID3D12Compiler_Release(This) \ | ||
| 758 | ( (This)->lpVtbl -> Release(This) ) | ||
| 759 | |||
| 760 | |||
| 761 | #define ID3D12Compiler_GetFactory(This,riid,ppCompilerFactory) \ | ||
| 762 | ( (This)->lpVtbl -> GetFactory(This,riid,ppCompilerFactory) ) | ||
| 763 | |||
| 764 | |||
| 765 | #define ID3D12Compiler_CompilePipelineState(This,pGroupKey,GroupVersion,pDesc) \ | ||
| 766 | ( (This)->lpVtbl -> CompilePipelineState(This,pGroupKey,GroupVersion,pDesc) ) | ||
| 767 | |||
| 768 | #define ID3D12Compiler_CompileStateObject(This,pGroupKey,GroupVersion,pDesc,riid,ppCompilerStateObject) \ | ||
| 769 | ( (This)->lpVtbl -> CompileStateObject(This,pGroupKey,GroupVersion,pDesc,riid,ppCompilerStateObject) ) | ||
| 770 | |||
| 771 | #define ID3D12Compiler_CompileAddToStateObject(This,pGroupKey,GroupVersion,pAddition,pCompilerStateObjectToGrowFrom,riid,ppNewCompilerStateObject) \ | ||
| 772 | ( (This)->lpVtbl -> CompileAddToStateObject(This,pGroupKey,GroupVersion,pAddition,pCompilerStateObjectToGrowFrom,riid,ppNewCompilerStateObject) ) | ||
| 773 | |||
| 774 | #define ID3D12Compiler_GetCacheSession(This,riid,ppCompilerCacheSession) \ | ||
| 775 | ( (This)->lpVtbl -> GetCacheSession(This,riid,ppCompilerCacheSession) ) | ||
| 776 | |||
| 777 | #endif /* COBJMACROS */ | ||
| 778 | |||
| 779 | |||
| 780 | #endif /* C style interface */ | ||
| 781 | |||
| 782 | |||
| 783 | |||
| 784 | |||
| 785 | #endif /* __ID3D12Compiler_INTERFACE_DEFINED__ */ | ||
| 786 | |||
| 787 | |||
| 788 | #ifndef __ID3D12CompilerFactory_INTERFACE_DEFINED__ | ||
| 789 | #define __ID3D12CompilerFactory_INTERFACE_DEFINED__ | ||
| 790 | |||
| 791 | /* interface ID3D12CompilerFactory */ | ||
| 792 | /* [unique][local][object][uuid] */ | ||
| 793 | |||
| 794 | |||
| 795 | EXTERN_C const IID IID_ID3D12CompilerFactory; | ||
| 796 | |||
| 797 | #if defined(__cplusplus) && !defined(CINTERFACE) | ||
| 798 | |||
| 799 | MIDL_INTERFACE("c1ee4b59-3f59-47a5-9b4e-a855c858a878") | ||
| 800 | ID3D12CompilerFactory : public IUnknown | ||
| 801 | { | ||
| 802 | public: | ||
| 803 | virtual HRESULT STDMETHODCALLTYPE EnumerateAdapterFamilies( | ||
| 804 | UINT AdapterFamilyIndex, | ||
| 805 | _Out_ D3D12_ADAPTER_FAMILY *pAdapterFamily) = 0; | ||
| 806 | |||
| 807 | virtual HRESULT STDMETHODCALLTYPE EnumerateAdapterFamilyABIVersions( | ||
| 808 | UINT AdapterFamilyIndex, | ||
| 809 | _Inout_ UINT32 *pNumABIVersions, | ||
| 810 | _Out_writes_opt_(*pNumABIVersions) UINT64 *pABIVersions) = 0; | ||
| 811 | |||
| 812 | virtual HRESULT STDMETHODCALLTYPE EnumerateAdapterFamilyCompilerVersion( | ||
| 813 | UINT AdapterFamilyIndex, | ||
| 814 | _Out_ D3D12_VERSION_NUMBER *pCompilerVersion) = 0; | ||
| 815 | |||
| 816 | virtual HRESULT STDMETHODCALLTYPE GetApplicationProfileVersion( | ||
| 817 | _In_ const D3D12_COMPILER_TARGET *pTarget, | ||
| 818 | _In_ const D3D12_APPLICATION_DESC *pApplicationDesc, | ||
| 819 | _Out_ D3D12_VERSION_NUMBER *pApplicationProfileVersion) = 0; | ||
| 820 | |||
| 821 | virtual HRESULT STDMETHODCALLTYPE CreateCompilerCacheSession( | ||
| 822 | _In_reads_(NumPaths) const D3D12_COMPILER_DATABASE_PATH *pPaths, | ||
| 823 | UINT NumPaths, | ||
| 824 | _In_opt_ const D3D12_COMPILER_TARGET *pTarget, | ||
| 825 | _In_opt_ const D3D12_APPLICATION_DESC *pApplicationDesc, | ||
| 826 | _In_ REFIID riid, | ||
| 827 | _COM_Outptr_ void **ppCompilerCacheSession) = 0; | ||
| 828 | |||
| 829 | virtual HRESULT STDMETHODCALLTYPE CreateCompiler( | ||
| 830 | _In_ ID3D12CompilerCacheSession *pCompilerCacheSession, | ||
| 831 | _In_ REFIID riid, | ||
| 832 | _COM_Outptr_ void **ppCompiler) = 0; | ||
| 833 | |||
| 834 | }; | ||
| 835 | |||
| 836 | |||
| 837 | #else /* C style interface */ | ||
| 838 | |||
| 839 | typedef struct ID3D12CompilerFactoryVtbl | ||
| 840 | { | ||
| 841 | BEGIN_INTERFACE | ||
| 842 | |||
| 843 | DECLSPEC_XFGVIRT(IUnknown, QueryInterface) | ||
| 844 | HRESULT ( STDMETHODCALLTYPE *QueryInterface )( | ||
| 845 | ID3D12CompilerFactory * This, | ||
| 846 | REFIID riid, | ||
| 847 | _COM_Outptr_ void **ppvObject); | ||
| 848 | |||
| 849 | DECLSPEC_XFGVIRT(IUnknown, AddRef) | ||
| 850 | ULONG ( STDMETHODCALLTYPE *AddRef )( | ||
| 851 | ID3D12CompilerFactory * This); | ||
| 852 | |||
| 853 | DECLSPEC_XFGVIRT(IUnknown, Release) | ||
| 854 | ULONG ( STDMETHODCALLTYPE *Release )( | ||
| 855 | ID3D12CompilerFactory * This); | ||
| 856 | |||
| 857 | DECLSPEC_XFGVIRT(ID3D12CompilerFactory, EnumerateAdapterFamilies) | ||
| 858 | HRESULT ( STDMETHODCALLTYPE *EnumerateAdapterFamilies )( | ||
| 859 | ID3D12CompilerFactory * This, | ||
| 860 | UINT AdapterFamilyIndex, | ||
| 861 | _Out_ D3D12_ADAPTER_FAMILY *pAdapterFamily); | ||
| 862 | |||
| 863 | DECLSPEC_XFGVIRT(ID3D12CompilerFactory, EnumerateAdapterFamilyABIVersions) | ||
| 864 | HRESULT ( STDMETHODCALLTYPE *EnumerateAdapterFamilyABIVersions )( | ||
| 865 | ID3D12CompilerFactory * This, | ||
| 866 | UINT AdapterFamilyIndex, | ||
| 867 | _Inout_ UINT32 *pNumABIVersions, | ||
| 868 | _Out_writes_opt_(*pNumABIVersions) UINT64 *pABIVersions); | ||
| 869 | |||
| 870 | DECLSPEC_XFGVIRT(ID3D12CompilerFactory, EnumerateAdapterFamilyCompilerVersion) | ||
| 871 | HRESULT ( STDMETHODCALLTYPE *EnumerateAdapterFamilyCompilerVersion )( | ||
| 872 | ID3D12CompilerFactory * This, | ||
| 873 | UINT AdapterFamilyIndex, | ||
| 874 | _Out_ D3D12_VERSION_NUMBER *pCompilerVersion); | ||
| 875 | |||
| 876 | DECLSPEC_XFGVIRT(ID3D12CompilerFactory, GetApplicationProfileVersion) | ||
| 877 | HRESULT ( STDMETHODCALLTYPE *GetApplicationProfileVersion )( | ||
| 878 | ID3D12CompilerFactory * This, | ||
| 879 | _In_ const D3D12_COMPILER_TARGET *pTarget, | ||
| 880 | _In_ const D3D12_APPLICATION_DESC *pApplicationDesc, | ||
| 881 | _Out_ D3D12_VERSION_NUMBER *pApplicationProfileVersion); | ||
| 882 | |||
| 883 | DECLSPEC_XFGVIRT(ID3D12CompilerFactory, CreateCompilerCacheSession) | ||
| 884 | HRESULT ( STDMETHODCALLTYPE *CreateCompilerCacheSession )( | ||
| 885 | ID3D12CompilerFactory * This, | ||
| 886 | _In_reads_(NumPaths) const D3D12_COMPILER_DATABASE_PATH *pPaths, | ||
| 887 | UINT NumPaths, | ||
| 888 | _In_opt_ const D3D12_COMPILER_TARGET *pTarget, | ||
| 889 | _In_opt_ const D3D12_APPLICATION_DESC *pApplicationDesc, | ||
| 890 | _In_ REFIID riid, | ||
| 891 | _COM_Outptr_ void **ppCompilerCacheSession); | ||
| 892 | |||
| 893 | DECLSPEC_XFGVIRT(ID3D12CompilerFactory, CreateCompiler) | ||
| 894 | HRESULT ( STDMETHODCALLTYPE *CreateCompiler )( | ||
| 895 | ID3D12CompilerFactory * This, | ||
| 896 | _In_ ID3D12CompilerCacheSession *pCompilerCacheSession, | ||
| 897 | _In_ REFIID riid, | ||
| 898 | _COM_Outptr_ void **ppCompiler); | ||
| 899 | |||
| 900 | END_INTERFACE | ||
| 901 | } ID3D12CompilerFactoryVtbl; | ||
| 902 | |||
| 903 | interface ID3D12CompilerFactory | ||
| 904 | { | ||
| 905 | CONST_VTBL struct ID3D12CompilerFactoryVtbl *lpVtbl; | ||
| 906 | }; | ||
| 907 | |||
| 908 | |||
| 909 | |||
| 910 | #ifdef COBJMACROS | ||
| 911 | |||
| 912 | |||
| 913 | #define ID3D12CompilerFactory_QueryInterface(This,riid,ppvObject) \ | ||
| 914 | ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) | ||
| 915 | |||
| 916 | #define ID3D12CompilerFactory_AddRef(This) \ | ||
| 917 | ( (This)->lpVtbl -> AddRef(This) ) | ||
| 918 | |||
| 919 | #define ID3D12CompilerFactory_Release(This) \ | ||
| 920 | ( (This)->lpVtbl -> Release(This) ) | ||
| 921 | |||
| 922 | |||
| 923 | #define ID3D12CompilerFactory_EnumerateAdapterFamilies(This,AdapterFamilyIndex,pAdapterFamily) \ | ||
| 924 | ( (This)->lpVtbl -> EnumerateAdapterFamilies(This,AdapterFamilyIndex,pAdapterFamily) ) | ||
| 925 | |||
| 926 | #define ID3D12CompilerFactory_EnumerateAdapterFamilyABIVersions(This,AdapterFamilyIndex,pNumABIVersions,pABIVersions) \ | ||
| 927 | ( (This)->lpVtbl -> EnumerateAdapterFamilyABIVersions(This,AdapterFamilyIndex,pNumABIVersions,pABIVersions) ) | ||
| 928 | |||
| 929 | #define ID3D12CompilerFactory_EnumerateAdapterFamilyCompilerVersion(This,AdapterFamilyIndex,pCompilerVersion) \ | ||
| 930 | ( (This)->lpVtbl -> EnumerateAdapterFamilyCompilerVersion(This,AdapterFamilyIndex,pCompilerVersion) ) | ||
| 931 | |||
| 932 | #define ID3D12CompilerFactory_GetApplicationProfileVersion(This,pTarget,pApplicationDesc,pApplicationProfileVersion) \ | ||
| 933 | ( (This)->lpVtbl -> GetApplicationProfileVersion(This,pTarget,pApplicationDesc,pApplicationProfileVersion) ) | ||
| 934 | |||
| 935 | #define ID3D12CompilerFactory_CreateCompilerCacheSession(This,pPaths,NumPaths,pTarget,pApplicationDesc,riid,ppCompilerCacheSession) \ | ||
| 936 | ( (This)->lpVtbl -> CreateCompilerCacheSession(This,pPaths,NumPaths,pTarget,pApplicationDesc,riid,ppCompilerCacheSession) ) | ||
| 937 | |||
| 938 | #define ID3D12CompilerFactory_CreateCompiler(This,pCompilerCacheSession,riid,ppCompiler) \ | ||
| 939 | ( (This)->lpVtbl -> CreateCompiler(This,pCompilerCacheSession,riid,ppCompiler) ) | ||
| 940 | |||
| 941 | #endif /* COBJMACROS */ | ||
| 942 | |||
| 943 | |||
| 944 | #endif /* C style interface */ | ||
| 945 | |||
| 946 | |||
| 947 | |||
| 948 | |||
| 949 | #endif /* __ID3D12CompilerFactory_INTERFACE_DEFINED__ */ | ||
| 950 | |||
| 951 | |||
| 952 | /* interface __MIDL_itf_d3d12compiler_0000_0005 */ | ||
| 953 | /* [local] */ | ||
| 954 | |||
| 955 | #endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP | WINAPI_PARTITION_GAMES) */ | ||
| 956 | #pragma endregion | ||
| 957 | DEFINE_GUID(IID_ID3D12CompilerFactoryChild,0xe0d06420,0x9f31,0x47e8,0xae,0x9a,0xdd,0x2b,0xa2,0x5a,0xc0,0xbc); | ||
| 958 | DEFINE_GUID(IID_ID3D12CompilerCacheSession,0x5704e5e6,0x054b,0x4738,0xb6,0x61,0x7b,0x0d,0x68,0xd8,0xdd,0xe2); | ||
| 959 | DEFINE_GUID(IID_ID3D12CompilerStateObject,0x5981cca4,0xe8ae,0x44ca,0x9b,0x92,0x4f,0xa8,0x6f,0x5a,0x3a,0x3a); | ||
| 960 | DEFINE_GUID(IID_ID3D12Compiler,0x8c403c12,0x993b,0x4583,0x80,0xf1,0x68,0x24,0x13,0x8f,0xa6,0x8e); | ||
| 961 | DEFINE_GUID(IID_ID3D12CompilerFactory,0xc1ee4b59,0x3f59,0x47a5,0x9b,0x4e,0xa8,0x55,0xc8,0x58,0xa8,0x78); | ||
| 962 | |||
| 963 | |||
| 964 | extern RPC_IF_HANDLE __MIDL_itf_d3d12compiler_0000_0005_v0_0_c_ifspec; | ||
| 965 | extern RPC_IF_HANDLE __MIDL_itf_d3d12compiler_0000_0005_v0_0_s_ifspec; | ||
| 966 | |||
| 967 | /* Additional Prototypes for ALL interfaces */ | ||
| 968 | |||
| 969 | /* end of Additional Prototypes */ | ||
| 970 | |||
| 971 | #ifdef __cplusplus | ||
| 972 | } | ||
| 973 | #endif | ||
| 974 | |||
| 975 | #endif | ||
| 976 | |||
| 977 | |||
diff --git a/contrib/microsoft.direct3d.d3d12.1.618.4/build/native/include/d3d12compiler.idl b/contrib/microsoft.direct3d.d3d12.1.618.4/build/native/include/d3d12compiler.idl new file mode 100644 index 0000000..c8ae4b4 --- /dev/null +++ b/contrib/microsoft.direct3d.d3d12.1.618.4/build/native/include/d3d12compiler.idl | |||
| @@ -0,0 +1,291 @@ | |||
| 1 | /*------------------------------------------------------------------------------------- | ||
| 2 | * | ||
| 3 | * Copyright (c) Microsoft Corporation | ||
| 4 | * Licensed under the MIT license | ||
| 5 | * | ||
| 6 | *-------------------------------------------------------------------------------------*/ | ||
| 7 | import "oaidl.idl"; | ||
| 8 | import "ocidl.idl"; | ||
| 9 | |||
| 10 | import "dxgicommon.idl"; | ||
| 11 | import "d3d12.idl"; | ||
| 12 | |||
| 13 | cpp_quote("#include <winapifamily.h>") | ||
| 14 | |||
| 15 | #pragma region App Family | ||
| 16 | cpp_quote("#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP | WINAPI_PARTITION_GAMES)") | ||
| 17 | |||
| 18 | |||
| 19 | typedef struct D3D12_ADAPTER_FAMILY | ||
| 20 | { | ||
| 21 | WCHAR szAdapterFamily[128]; | ||
| 22 | } D3D12_ADAPTER_FAMILY; | ||
| 23 | |||
| 24 | cpp_quote("typedef HRESULT (WINAPI* PFN_D3D12_COMPILER_CREATE_FACTORY)( ") | ||
| 25 | cpp_quote(" _In_ LPCWSTR pPluginCompilerDllPath,") | ||
| 26 | cpp_quote(" _In_ REFIID riid,") | ||
| 27 | cpp_quote(" _COM_Outptr_opt_ void** ppFactory );") | ||
| 28 | cpp_quote("") | ||
| 29 | cpp_quote("HRESULT WINAPI D3D12CompilerCreateFactory(") | ||
| 30 | cpp_quote(" _In_ LPCWSTR pPluginCompilerDllPath,") | ||
| 31 | cpp_quote(" _In_ REFIID riid, // Expected: ID3D12CompilerFactory") | ||
| 32 | cpp_quote(" _COM_Outptr_opt_ void** ppFactory );") | ||
| 33 | cpp_quote("") | ||
| 34 | cpp_quote("typedef HRESULT (WINAPI* PFN_D3D12_COMPILER_SERIALIZE_VERSIONED_ROOT_SIGNATURE)(") | ||
| 35 | cpp_quote(" _In_ const D3D12_VERSIONED_ROOT_SIGNATURE_DESC* pRootSignature,") | ||
| 36 | cpp_quote(" _Out_ ID3DBlob** ppBlob,") | ||
| 37 | cpp_quote(" _Always_(_Outptr_opt_result_maybenull_) ID3DBlob** ppErrorBlob);") | ||
| 38 | cpp_quote("") | ||
| 39 | cpp_quote("HRESULT WINAPI D3D12CompilerSerializeVersionedRootSignature(") | ||
| 40 | cpp_quote(" _In_ const D3D12_VERSIONED_ROOT_SIGNATURE_DESC* pRootSignature,") | ||
| 41 | cpp_quote(" _Out_ ID3DBlob** ppBlob,") | ||
| 42 | cpp_quote(" _Always_(_Outptr_opt_result_maybenull_) ID3DBlob** ppErrorBlob);") | ||
| 43 | cpp_quote("") | ||
| 44 | |||
| 45 | [uuid(e0d06420-9f31-47e8-ae9a-dd2ba25ac0bc), object, local, pointer_default(unique)] | ||
| 46 | interface ID3D12CompilerFactoryChild | ||
| 47 | : IUnknown | ||
| 48 | { | ||
| 49 | HRESULT GetFactory( | ||
| 50 | [annotation("_In_")] REFIID riid, // ID3D12CompilerFactory | ||
| 51 | [annotation("_COM_Outptr_")] void** ppCompilerFactory | ||
| 52 | ); | ||
| 53 | }; | ||
| 54 | |||
| 55 | typedef enum D3D12_COMPILER_VALUE_TYPE | ||
| 56 | { | ||
| 57 | D3D12_COMPILER_VALUE_TYPE_OBJECT_CODE = 0, | ||
| 58 | D3D12_COMPILER_VALUE_TYPE_METADATA = 1, | ||
| 59 | D3D12_COMPILER_VALUE_TYPE_DEBUG_PDB = 2, | ||
| 60 | D3D12_COMPILER_VALUE_TYPE_PERFORMANCE_DATA = 3, | ||
| 61 | |||
| 62 | } D3D12_COMPILER_VALUE_TYPE; | ||
| 63 | |||
| 64 | typedef enum D3D12_COMPILER_VALUE_TYPE_FLAGS | ||
| 65 | { | ||
| 66 | D3D12_COMPILER_VALUE_TYPE_FLAGS_NONE = 0x00000000, | ||
| 67 | D3D12_COMPILER_VALUE_TYPE_FLAGS_OBJECT_CODE = (1 << D3D12_COMPILER_VALUE_TYPE_OBJECT_CODE), | ||
| 68 | D3D12_COMPILER_VALUE_TYPE_FLAGS_METADATA = (1 << D3D12_COMPILER_VALUE_TYPE_METADATA), | ||
| 69 | D3D12_COMPILER_VALUE_TYPE_FLAGS_DEBUG_PDB = (1 << D3D12_COMPILER_VALUE_TYPE_DEBUG_PDB), | ||
| 70 | D3D12_COMPILER_VALUE_TYPE_FLAGS_PERFORMANCE_DATA = (1 << D3D12_COMPILER_VALUE_TYPE_PERFORMANCE_DATA), | ||
| 71 | |||
| 72 | |||
| 73 | } D3D12_COMPILER_VALUE_TYPE_FLAGS; | ||
| 74 | cpp_quote("DEFINE_ENUM_FLAG_OPERATORS( D3D12_COMPILER_VALUE_TYPE_FLAGS )") | ||
| 75 | |||
| 76 | typedef struct D3D12_COMPILER_DATABASE_PATH | ||
| 77 | { | ||
| 78 | D3D12_COMPILER_VALUE_TYPE_FLAGS Types; | ||
| 79 | LPCWSTR pPath; | ||
| 80 | } D3D12_COMPILER_DATABASE_PATH; | ||
| 81 | |||
| 82 | typedef struct D3D12_COMPILER_CACHE_GROUP_KEY | ||
| 83 | { | ||
| 84 | [annotation("_Field_size_bytes_full_(KeySize)")] const void* pKey; | ||
| 85 | UINT KeySize; | ||
| 86 | } D3D12_COMPILER_CACHE_GROUP_KEY; | ||
| 87 | |||
| 88 | typedef struct D3D12_COMPILER_CACHE_VALUE_KEY | ||
| 89 | { | ||
| 90 | [annotation("_Field_size_bytes_full_(KeySize)")] const void* pKey; | ||
| 91 | UINT KeySize; | ||
| 92 | } D3D12_COMPILER_CACHE_VALUE_KEY; | ||
| 93 | |||
| 94 | typedef struct D3D12_COMPILER_CACHE_VALUE | ||
| 95 | { | ||
| 96 | [annotation("_Field_size_bytes_full_(ValueSize)")] void* pValue; | ||
| 97 | UINT ValueSize; | ||
| 98 | } D3D12_COMPILER_CACHE_VALUE; | ||
| 99 | |||
| 100 | typedef struct D3D12_COMPILER_CACHE_TYPED_VALUE | ||
| 101 | { | ||
| 102 | D3D12_COMPILER_VALUE_TYPE Type; | ||
| 103 | D3D12_COMPILER_CACHE_VALUE Value; | ||
| 104 | } D3D12_COMPILER_CACHE_TYPED_VALUE; | ||
| 105 | |||
| 106 | typedef struct D3D12_COMPILER_CACHE_CONST_VALUE | ||
| 107 | { | ||
| 108 | [annotation("_Field_size_bytes_full_(ValueSize)")] const void* pValue; | ||
| 109 | UINT ValueSize; | ||
| 110 | } D3D12_COMPILER_CACHE_CONST_VALUE; | ||
| 111 | |||
| 112 | typedef struct D3D12_COMPILER_CACHE_TYPED_CONST_VALUE | ||
| 113 | { | ||
| 114 | D3D12_COMPILER_VALUE_TYPE Type; | ||
| 115 | D3D12_COMPILER_CACHE_CONST_VALUE Value; | ||
| 116 | } D3D12_COMPILER_CACHE_TYPED_CONST_VALUE; | ||
| 117 | |||
| 118 | typedef struct D3D12_COMPILER_TARGET | ||
| 119 | { | ||
| 120 | UINT AdapterFamilyIndex; | ||
| 121 | UINT64 ABIVersion; | ||
| 122 | } D3D12_COMPILER_TARGET; | ||
| 123 | |||
| 124 | typedef void* (__stdcall* D3D12CompilerCacheSessionAllocationFunc) ( | ||
| 125 | SIZE_T SizeInBytes, | ||
| 126 | [annotation("_Inout_opt_")] void* pContext | ||
| 127 | ); | ||
| 128 | |||
| 129 | typedef void(__stdcall* D3D12CompilerCacheSessionGroupValueKeysFunc) ( | ||
| 130 | [annotation("_In_")] const D3D12_COMPILER_CACHE_VALUE_KEY* pValueKey, | ||
| 131 | [annotation("_Inout_opt_")] void* pContext | ||
| 132 | ); | ||
| 133 | |||
| 134 | typedef void(__stdcall* D3D12CompilerCacheSessionGroupValuesFunc) ( | ||
| 135 | UINT ValueKeyIndex, | ||
| 136 | [annotation("_In_")] const D3D12_COMPILER_CACHE_TYPED_CONST_VALUE* pTypedValue, | ||
| 137 | [annotation("_Inout_opt_")] void* pContext | ||
| 138 | ); | ||
| 139 | |||
| 140 | [uuid(5704e5e6-054b-4738-b661-7b0d68d8dde2), object, local, pointer_default(unique)] | ||
| 141 | interface ID3D12CompilerCacheSession | ||
| 142 | : ID3D12CompilerFactoryChild | ||
| 143 | { | ||
| 144 | HRESULT FindGroup( | ||
| 145 | [annotation("_In_")] const D3D12_COMPILER_CACHE_GROUP_KEY* pGroupKey, | ||
| 146 | [annotation("_Out_opt_")] UINT* pGroupVersion | ||
| 147 | ); | ||
| 148 | |||
| 149 | HRESULT FindGroupValueKeys( | ||
| 150 | [annotation("_In_")] const D3D12_COMPILER_CACHE_GROUP_KEY* pGroupKey, | ||
| 151 | [annotation("_In_opt_")] const UINT* pExpectedGroupVersion, | ||
| 152 | [annotation("_In_")] D3D12CompilerCacheSessionGroupValueKeysFunc CallbackFunc, | ||
| 153 | [annotation("_Inout_opt_")] void* pContext | ||
| 154 | ); | ||
| 155 | |||
| 156 | HRESULT FindGroupValues( | ||
| 157 | [annotation("_In_")] const D3D12_COMPILER_CACHE_GROUP_KEY* pGroupKey, | ||
| 158 | [annotation("_In_opt_")] const UINT* pExpectedGroupVersion, | ||
| 159 | D3D12_COMPILER_VALUE_TYPE_FLAGS ValueTypeFlags, | ||
| 160 | [annotation("_In_opt_")] D3D12CompilerCacheSessionGroupValuesFunc CallbackFunc, | ||
| 161 | [annotation("_Inout_opt_")] void* pContext | ||
| 162 | ); | ||
| 163 | |||
| 164 | HRESULT FindValue( | ||
| 165 | [annotation("_In_")] const D3D12_COMPILER_CACHE_VALUE_KEY* pValueKey, | ||
| 166 | [annotation("_Inout_count_(NumTypedValues)")] D3D12_COMPILER_CACHE_TYPED_VALUE* pTypedValues, | ||
| 167 | UINT NumTypedValues, | ||
| 168 | [annotation("_In_opt_")] D3D12CompilerCacheSessionAllocationFunc pCallbackFunc, | ||
| 169 | [annotation("_Inout_opt_")] void* pContext | ||
| 170 | ); | ||
| 171 | |||
| 172 | const D3D12_APPLICATION_DESC* GetApplicationDesc(); | ||
| 173 | |||
| 174 | D3D12_COMPILER_TARGET GetCompilerTarget(); | ||
| 175 | |||
| 176 | D3D12_COMPILER_VALUE_TYPE_FLAGS GetValueTypes(); | ||
| 177 | |||
| 178 | HRESULT StoreGroupValueKeys( | ||
| 179 | [annotation("_In_")] const D3D12_COMPILER_CACHE_GROUP_KEY* pGroupKey, | ||
| 180 | UINT GroupVersion, | ||
| 181 | [annotation("_In_reads_(NumValueKeys)")] const D3D12_COMPILER_CACHE_VALUE_KEY* pValueKeys, | ||
| 182 | UINT NumValueKeys | ||
| 183 | ); | ||
| 184 | |||
| 185 | HRESULT StoreValue( | ||
| 186 | [annotation("_In_")] const D3D12_COMPILER_CACHE_VALUE_KEY* pValueKey, | ||
| 187 | [annotation("_In_reads_(NumTypedValues)")] const D3D12_COMPILER_CACHE_TYPED_CONST_VALUE* pTypedValues, | ||
| 188 | UINT NumTypedValues | ||
| 189 | ); | ||
| 190 | }; | ||
| 191 | |||
| 192 | [uuid(5981cca4-e8ae-44ca-9b92-4fa86f5a3a3a), object, local, pointer_default(unique)] | ||
| 193 | interface ID3D12CompilerStateObject | ||
| 194 | : IUnknown | ||
| 195 | { | ||
| 196 | HRESULT GetCompiler( | ||
| 197 | [annotation("_In_")] REFIID riid, // ID3D12Compiler | ||
| 198 | [annotation("_COM_Outptr_")] void** ppCompiler | ||
| 199 | ); | ||
| 200 | }; | ||
| 201 | |||
| 202 | typedef struct D3D12_COMPILER_EXISTING_COLLECTION_DESC | ||
| 203 | { | ||
| 204 | ID3D12CompilerStateObject* pExistingCollection; | ||
| 205 | UINT NumExports; // Optional, if 0 all exports in the library/collection will be surfaced | ||
| 206 | [annotation("_In_reads_(NumExports)")] const D3D12_EXPORT_DESC* pExports; | ||
| 207 | } D3D12_COMPILER_EXISTING_COLLECTION_DESC; | ||
| 208 | |||
| 209 | [uuid(8c403c12-993b-4583-80f1-6824138fa68e), object, local, pointer_default(unique)] | ||
| 210 | interface ID3D12Compiler | ||
| 211 | : ID3D12CompilerFactoryChild | ||
| 212 | { | ||
| 213 | HRESULT CompilePipelineState( | ||
| 214 | [annotation("_In_")] const D3D12_COMPILER_CACHE_GROUP_KEY* pGroupKey, | ||
| 215 | UINT GroupVersion, | ||
| 216 | [annotation("_In_")] const D3D12_PIPELINE_STATE_STREAM_DESC* pDesc | ||
| 217 | ); | ||
| 218 | |||
| 219 | HRESULT CompileStateObject( | ||
| 220 | [annotation("_In_")] const D3D12_COMPILER_CACHE_GROUP_KEY* pGroupKey, | ||
| 221 | UINT GroupVersion, | ||
| 222 | [annotation("_In_")] const D3D12_STATE_OBJECT_DESC* pDesc, | ||
| 223 | [annotation("_In_")] REFIID riid, // ID3D12CompilerStateObject | ||
| 224 | [annotation("_COM_Outptr_")] void** ppCompilerStateObject | ||
| 225 | ); | ||
| 226 | |||
| 227 | HRESULT CompileAddToStateObject( | ||
| 228 | [annotation("_In_")] const D3D12_COMPILER_CACHE_GROUP_KEY* pGroupKey, | ||
| 229 | UINT GroupVersion, | ||
| 230 | [annotation("_In_")] const D3D12_STATE_OBJECT_DESC* pAddition, | ||
| 231 | [annotation("_In_")] ID3D12CompilerStateObject* pCompilerStateObjectToGrowFrom, | ||
| 232 | [annotation("_In_")] REFIID riid, // ID3D12CompilerStateObject | ||
| 233 | [annotation("_COM_Outptr_")] void** ppNewCompilerStateObject | ||
| 234 | ); | ||
| 235 | |||
| 236 | HRESULT GetCacheSession( | ||
| 237 | [annotation("_In_")] REFIID riid, // ID3D12CompilerCacheSession | ||
| 238 | [annotation("_COM_Outptr_")] void** ppCompilerCacheSession | ||
| 239 | ); | ||
| 240 | }; | ||
| 241 | |||
| 242 | [uuid(c1ee4b59-3f59-47a5-9b4e-a855c858a878), object, local, pointer_default(unique)] | ||
| 243 | interface ID3D12CompilerFactory | ||
| 244 | : IUnknown | ||
| 245 | { | ||
| 246 | HRESULT EnumerateAdapterFamilies( | ||
| 247 | UINT AdapterFamilyIndex, | ||
| 248 | [annotation("_Out_")] D3D12_ADAPTER_FAMILY* pAdapterFamily | ||
| 249 | ); | ||
| 250 | |||
| 251 | HRESULT EnumerateAdapterFamilyABIVersions( | ||
| 252 | UINT AdapterFamilyIndex, | ||
| 253 | [annotation("_Inout_")] UINT32* pNumABIVersions, | ||
| 254 | [annotation("_Out_writes_opt_(*pNumABIVersions)")] UINT64 * pABIVersions | ||
| 255 | ); | ||
| 256 | |||
| 257 | HRESULT EnumerateAdapterFamilyCompilerVersion( | ||
| 258 | UINT AdapterFamilyIndex, | ||
| 259 | [annotation("_Out_")] D3D12_VERSION_NUMBER* pCompilerVersion | ||
| 260 | ); | ||
| 261 | |||
| 262 | HRESULT GetApplicationProfileVersion( | ||
| 263 | [annotation("_In_")] const D3D12_COMPILER_TARGET* pTarget, | ||
| 264 | [annotation("_In_")] const D3D12_APPLICATION_DESC* pApplicationDesc, | ||
| 265 | [annotation("_Out_")] D3D12_VERSION_NUMBER* pApplicationProfileVersion | ||
| 266 | ); | ||
| 267 | |||
| 268 | HRESULT CreateCompilerCacheSession( | ||
| 269 | [annotation("_In_reads_(NumPaths)")] const D3D12_COMPILER_DATABASE_PATH* pPaths, | ||
| 270 | UINT NumPaths, | ||
| 271 | [annotation("_In_opt_")] const D3D12_COMPILER_TARGET* pTarget, | ||
| 272 | [annotation("_In_opt_")] const D3D12_APPLICATION_DESC* pApplicationDesc, | ||
| 273 | [annotation("_In_")] REFIID riid, // ID3D12CompilerCacheSession | ||
| 274 | [annotation("_COM_Outptr_")] void** ppCompilerCacheSession | ||
| 275 | ); | ||
| 276 | |||
| 277 | HRESULT CreateCompiler( | ||
| 278 | [annotation("_In_")] ID3D12CompilerCacheSession* pCompilerCacheSession, | ||
| 279 | [annotation("_In_")] REFIID riid, // ID3D12Compiler | ||
| 280 | [annotation("_COM_Outptr_")] void** ppCompiler | ||
| 281 | ); | ||
| 282 | }; | ||
| 283 | |||
| 284 | cpp_quote("#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP | WINAPI_PARTITION_GAMES) */") | ||
| 285 | #pragma endregion | ||
| 286 | |||
| 287 | cpp_quote( "DEFINE_GUID(IID_ID3D12CompilerFactoryChild,0xe0d06420,0x9f31,0x47e8,0xae,0x9a,0xdd,0x2b,0xa2,0x5a,0xc0,0xbc);" ) | ||
| 288 | cpp_quote( "DEFINE_GUID(IID_ID3D12CompilerCacheSession,0x5704e5e6,0x054b,0x4738,0xb6,0x61,0x7b,0x0d,0x68,0xd8,0xdd,0xe2);" ) | ||
| 289 | cpp_quote( "DEFINE_GUID(IID_ID3D12CompilerStateObject,0x5981cca4,0xe8ae,0x44ca,0x9b,0x92,0x4f,0xa8,0x6f,0x5a,0x3a,0x3a);" ) | ||
| 290 | cpp_quote( "DEFINE_GUID(IID_ID3D12Compiler,0x8c403c12,0x993b,0x4583,0x80,0xf1,0x68,0x24,0x13,0x8f,0xa6,0x8e);" ) | ||
| 291 | cpp_quote( "DEFINE_GUID(IID_ID3D12CompilerFactory,0xc1ee4b59,0x3f59,0x47a5,0x9b,0x4e,0xa8,0x55,0xc8,0x58,0xa8,0x78);" ) | ||
diff --git a/contrib/microsoft.direct3d.d3d12.1.618.4/build/native/include/d3d12markerapienums.idl b/contrib/microsoft.direct3d.d3d12.1.618.4/build/native/include/d3d12markerapienums.idl new file mode 100644 index 0000000..1384b73 --- /dev/null +++ b/contrib/microsoft.direct3d.d3d12.1.618.4/build/native/include/d3d12markerapienums.idl | |||
| @@ -0,0 +1,119 @@ | |||
| 1 | /*------------------------------------------------------------------------------------- | ||
| 2 | * | ||
| 3 | * Copyright (c) Microsoft Corporation | ||
| 4 | * | ||
| 5 | *-------------------------------------------------------------------------------------*/ | ||
| 6 | typedef enum D3D12_MARKER_API { | ||
| 7 | D3D12_MARKER_API_SETMARKER = 0, | ||
| 8 | D3D12_MARKER_API_BEGINEVENT = 1, | ||
| 9 | D3D12_MARKER_API_ENDEVENT = 2, | ||
| 10 | D3D12_MARKER_API_DRAWINSTANCED = 3, | ||
| 11 | D3D12_MARKER_API_DRAWINDEXEDINSTANCED = 4, | ||
| 12 | D3D12_MARKER_API_EXECUTEINDIRECT = 5, | ||
| 13 | D3D12_MARKER_API_DISPATCH = 6, | ||
| 14 | D3D12_MARKER_API_COPYBUFFERREGION = 7, | ||
| 15 | D3D12_MARKER_API_COPYTEXTUREREGION = 8, | ||
| 16 | D3D12_MARKER_API_COPYRESOURCE = 9, | ||
| 17 | D3D12_MARKER_API_COPYTILES = 10, | ||
| 18 | D3D12_MARKER_API_RESOLVESUBRESOURCE = 11, | ||
| 19 | D3D12_MARKER_API_CLEARRENDERTARGETVIEW = 12, | ||
| 20 | D3D12_MARKER_API_CLEARUNORDEREDACCESSVIEW = 13, | ||
| 21 | D3D12_MARKER_API_CLEARDEPTHSTENCILVIEW = 14, | ||
| 22 | D3D12_MARKER_API_RESOURCEBARRIER = 15, | ||
| 23 | D3D12_MARKER_API_EXECUTEBUNDLE = 16, | ||
| 24 | D3D12_MARKER_API_PRESENT = 17, | ||
| 25 | D3D12_MARKER_API_RESOLVEQUERYDATA = 18, | ||
| 26 | D3D12_MARKER_API_BEGINSUBMISSION = 19, | ||
| 27 | D3D12_MARKER_API_ENDSUBMISSION = 20, | ||
| 28 | D3D12_MARKER_API_DECODEFRAME = 21, | ||
| 29 | D3D12_MARKER_API_PROCESSFRAMES = 22, | ||
| 30 | D3D12_MARKER_API_ATOMICCOPYBUFFERUINT = 23, | ||
| 31 | D3D12_MARKER_API_ATOMICCOPYBUFFERUINT64 = 24, | ||
| 32 | D3D12_MARKER_API_RESOLVESUBRESOURCEREGION = 25, | ||
| 33 | D3D12_MARKER_API_WRITEBUFFERIMMEDIATE = 26, | ||
| 34 | D3D12_MARKER_API_DECODEFRAME1 = 27, | ||
| 35 | D3D12_MARKER_API_SETPROTECTEDRESOURCESESSION = 28, | ||
| 36 | D3D12_MARKER_API_DECODEFRAME2 = 29, | ||
| 37 | D3D12_MARKER_API_PROCESSFRAMES1 = 30, | ||
| 38 | D3D12_MARKER_API_BUILDRAYTRACINGACCELERATIONSTRUCTURE = 31, | ||
| 39 | D3D12_MARKER_API_EMITRAYTRACINGACCELERATIONSTRUCTUREPOSTBUILDINFO = 32, | ||
| 40 | D3D12_MARKER_API_COPYRAYTRACINGACCELERATIONSTRUCTURE = 33, | ||
| 41 | D3D12_MARKER_API_DISPATCHRAYS = 34, | ||
| 42 | D3D12_MARKER_API_INITIALIZEMETACOMMAND = 35, | ||
| 43 | D3D12_MARKER_API_EXECUTEMETACOMMAND = 36, | ||
| 44 | D3D12_MARKER_API_ESTIMATEMOTION = 37, | ||
| 45 | D3D12_MARKER_API_RESOLVEMOTIONVECTORHEAP = 38, | ||
| 46 | D3D12_MARKER_API_SETPIPELINESTATE1 = 39, | ||
| 47 | D3D12_MARKER_API_INITIALIZEEXTENSIONCOMMAND = 40, | ||
| 48 | D3D12_MARKER_API_EXECUTEEXTENSIONCOMMAND = 41, | ||
| 49 | D3D12_MARKER_API_DISPATCHMESH = 42, | ||
| 50 | D3D12_MARKER_API_ENCODEFRAME = 43, | ||
| 51 | D3D12_MARKER_API_RESOLVEENCODEROUTPUTMETADATA = 44, | ||
| 52 | D3D12_MARKER_API_BARRIER = 45, | ||
| 53 | D3D12_MARKER_API_BEGIN_COMMAND_LIST = 46, | ||
| 54 | D3D12_MARKER_API_DISPATCHGRAPH = 47, | ||
| 55 | D3D12_MARKER_API_SETPROGRAM = 48, | ||
| 56 | D3D12_MARKER_API_ENCODEFRAME1 = 49, | ||
| 57 | D3D12_MARKER_API_RESOLVEENCODEROUTPUTMETADATA1 = 50, | ||
| 58 | D3D12_MARKER_API_RESOLVEINPUTPARAMLAYOUT = 51, | ||
| 59 | D3D12_MARKER_API_PROCESSFRAMES2 = 52, | ||
| 60 | D3D12_MARKER_API_SET_WORK_GRAPH_MAXIMUM_GPU_INPUT_RECORDS = 53, | ||
| 61 | } D3D12_MARKER_API; | ||
| 62 | |||
| 63 | typedef enum D3D12_AUTO_BREADCRUMB_OP { | ||
| 64 | D3D12_AUTO_BREADCRUMB_OP_SETMARKER = D3D12_MARKER_API_SETMARKER, | ||
| 65 | D3D12_AUTO_BREADCRUMB_OP_BEGINEVENT = D3D12_MARKER_API_BEGINEVENT, | ||
| 66 | D3D12_AUTO_BREADCRUMB_OP_ENDEVENT = D3D12_MARKER_API_ENDEVENT, | ||
| 67 | D3D12_AUTO_BREADCRUMB_OP_DRAWINSTANCED = D3D12_MARKER_API_DRAWINSTANCED, | ||
| 68 | D3D12_AUTO_BREADCRUMB_OP_DRAWINDEXEDINSTANCED = D3D12_MARKER_API_DRAWINDEXEDINSTANCED, | ||
| 69 | D3D12_AUTO_BREADCRUMB_OP_EXECUTEINDIRECT = D3D12_MARKER_API_EXECUTEINDIRECT, | ||
| 70 | D3D12_AUTO_BREADCRUMB_OP_DISPATCH = D3D12_MARKER_API_DISPATCH, | ||
| 71 | D3D12_AUTO_BREADCRUMB_OP_COPYBUFFERREGION = D3D12_MARKER_API_COPYBUFFERREGION, | ||
| 72 | D3D12_AUTO_BREADCRUMB_OP_COPYTEXTUREREGION = D3D12_MARKER_API_COPYTEXTUREREGION, | ||
| 73 | D3D12_AUTO_BREADCRUMB_OP_COPYRESOURCE = D3D12_MARKER_API_COPYRESOURCE, | ||
| 74 | D3D12_AUTO_BREADCRUMB_OP_COPYTILES = D3D12_MARKER_API_COPYTILES, | ||
| 75 | D3D12_AUTO_BREADCRUMB_OP_RESOLVESUBRESOURCE = D3D12_MARKER_API_RESOLVESUBRESOURCE, | ||
| 76 | D3D12_AUTO_BREADCRUMB_OP_CLEARRENDERTARGETVIEW = D3D12_MARKER_API_CLEARRENDERTARGETVIEW, | ||
| 77 | D3D12_AUTO_BREADCRUMB_OP_CLEARUNORDEREDACCESSVIEW = D3D12_MARKER_API_CLEARUNORDEREDACCESSVIEW, | ||
| 78 | D3D12_AUTO_BREADCRUMB_OP_CLEARDEPTHSTENCILVIEW = D3D12_MARKER_API_CLEARDEPTHSTENCILVIEW, | ||
| 79 | D3D12_AUTO_BREADCRUMB_OP_RESOURCEBARRIER = D3D12_MARKER_API_RESOURCEBARRIER, | ||
| 80 | D3D12_AUTO_BREADCRUMB_OP_EXECUTEBUNDLE = D3D12_MARKER_API_EXECUTEBUNDLE, | ||
| 81 | D3D12_AUTO_BREADCRUMB_OP_PRESENT = D3D12_MARKER_API_PRESENT, | ||
| 82 | D3D12_AUTO_BREADCRUMB_OP_RESOLVEQUERYDATA = D3D12_MARKER_API_RESOLVEQUERYDATA, | ||
| 83 | D3D12_AUTO_BREADCRUMB_OP_BEGINSUBMISSION = D3D12_MARKER_API_BEGINSUBMISSION, | ||
| 84 | D3D12_AUTO_BREADCRUMB_OP_ENDSUBMISSION = D3D12_MARKER_API_ENDSUBMISSION, | ||
| 85 | D3D12_AUTO_BREADCRUMB_OP_DECODEFRAME = D3D12_MARKER_API_DECODEFRAME, | ||
| 86 | D3D12_AUTO_BREADCRUMB_OP_PROCESSFRAMES = D3D12_MARKER_API_PROCESSFRAMES, | ||
| 87 | D3D12_AUTO_BREADCRUMB_OP_ATOMICCOPYBUFFERUINT = D3D12_MARKER_API_ATOMICCOPYBUFFERUINT, | ||
| 88 | D3D12_AUTO_BREADCRUMB_OP_ATOMICCOPYBUFFERUINT64 = D3D12_MARKER_API_ATOMICCOPYBUFFERUINT64, | ||
| 89 | D3D12_AUTO_BREADCRUMB_OP_RESOLVESUBRESOURCEREGION = D3D12_MARKER_API_RESOLVESUBRESOURCEREGION, | ||
| 90 | D3D12_AUTO_BREADCRUMB_OP_WRITEBUFFERIMMEDIATE = D3D12_MARKER_API_WRITEBUFFERIMMEDIATE, | ||
| 91 | D3D12_AUTO_BREADCRUMB_OP_DECODEFRAME1 = D3D12_MARKER_API_DECODEFRAME1, | ||
| 92 | D3D12_AUTO_BREADCRUMB_OP_SETPROTECTEDRESOURCESESSION = D3D12_MARKER_API_SETPROTECTEDRESOURCESESSION, | ||
| 93 | D3D12_AUTO_BREADCRUMB_OP_DECODEFRAME2 = D3D12_MARKER_API_DECODEFRAME2, | ||
| 94 | D3D12_AUTO_BREADCRUMB_OP_PROCESSFRAMES1 = D3D12_MARKER_API_PROCESSFRAMES1, | ||
| 95 | D3D12_AUTO_BREADCRUMB_OP_BUILDRAYTRACINGACCELERATIONSTRUCTURE = D3D12_MARKER_API_BUILDRAYTRACINGACCELERATIONSTRUCTURE, | ||
| 96 | D3D12_AUTO_BREADCRUMB_OP_EMITRAYTRACINGACCELERATIONSTRUCTUREPOSTBUILDINFO = D3D12_MARKER_API_EMITRAYTRACINGACCELERATIONSTRUCTUREPOSTBUILDINFO, | ||
| 97 | D3D12_AUTO_BREADCRUMB_OP_COPYRAYTRACINGACCELERATIONSTRUCTURE = D3D12_MARKER_API_COPYRAYTRACINGACCELERATIONSTRUCTURE, | ||
| 98 | D3D12_AUTO_BREADCRUMB_OP_DISPATCHRAYS = D3D12_MARKER_API_DISPATCHRAYS, | ||
| 99 | D3D12_AUTO_BREADCRUMB_OP_INITIALIZEMETACOMMAND = D3D12_MARKER_API_INITIALIZEMETACOMMAND, | ||
| 100 | D3D12_AUTO_BREADCRUMB_OP_EXECUTEMETACOMMAND = D3D12_MARKER_API_EXECUTEMETACOMMAND, | ||
| 101 | D3D12_AUTO_BREADCRUMB_OP_ESTIMATEMOTION = D3D12_MARKER_API_ESTIMATEMOTION, | ||
| 102 | D3D12_AUTO_BREADCRUMB_OP_RESOLVEMOTIONVECTORHEAP = D3D12_MARKER_API_RESOLVEMOTIONVECTORHEAP, | ||
| 103 | D3D12_AUTO_BREADCRUMB_OP_SETPIPELINESTATE1 = D3D12_MARKER_API_SETPIPELINESTATE1, | ||
| 104 | D3D12_AUTO_BREADCRUMB_OP_INITIALIZEEXTENSIONCOMMAND = D3D12_MARKER_API_INITIALIZEEXTENSIONCOMMAND, | ||
| 105 | D3D12_AUTO_BREADCRUMB_OP_EXECUTEEXTENSIONCOMMAND = D3D12_MARKER_API_EXECUTEEXTENSIONCOMMAND, | ||
| 106 | D3D12_AUTO_BREADCRUMB_OP_DISPATCHMESH = D3D12_MARKER_API_DISPATCHMESH, | ||
| 107 | D3D12_AUTO_BREADCRUMB_OP_ENCODEFRAME = D3D12_MARKER_API_ENCODEFRAME, | ||
| 108 | D3D12_AUTO_BREADCRUMB_OP_RESOLVEENCODEROUTPUTMETADATA = D3D12_MARKER_API_RESOLVEENCODEROUTPUTMETADATA, | ||
| 109 | D3D12_AUTO_BREADCRUMB_OP_BARRIER = D3D12_MARKER_API_BARRIER, | ||
| 110 | D3D12_AUTO_BREADCRUMB_OP_BEGIN_COMMAND_LIST = D3D12_MARKER_API_BEGIN_COMMAND_LIST, | ||
| 111 | D3D12_AUTO_BREADCRUMB_OP_DISPATCHGRAPH = D3D12_MARKER_API_DISPATCHGRAPH, | ||
| 112 | D3D12_AUTO_BREADCRUMB_OP_SETPROGRAM = D3D12_MARKER_API_SETPROGRAM, | ||
| 113 | D3D12_AUTO_BREADCRUMB_OP_ENCODEFRAME1 = D3D12_MARKER_API_ENCODEFRAME1, | ||
| 114 | D3D12_AUTO_BREADCRUMB_OP_RESOLVEENCODEROUTPUTMETADATA1 = D3D12_MARKER_API_RESOLVEENCODEROUTPUTMETADATA1, | ||
| 115 | D3D12_AUTO_BREADCRUMB_OP_RESOLVEINPUTPARAMLAYOUT = D3D12_MARKER_API_RESOLVEINPUTPARAMLAYOUT, | ||
| 116 | D3D12_AUTO_BREADCRUMB_OP_PROCESSFRAMES2 = D3D12_MARKER_API_PROCESSFRAMES2, | ||
| 117 | D3D12_AUTO_BREADCRUMB_OP_SET_WORK_GRAPH_MAXIMUM_GPU_INPUT_RECORDS = D3D12_MARKER_API_SET_WORK_GRAPH_MAXIMUM_GPU_INPUT_RECORDS, | ||
| 118 | } D3D12_AUTO_BREADCRUMB_OP; | ||
| 119 | |||
diff --git a/contrib/microsoft.direct3d.d3d12.1.618.4/build/native/include/d3d12sdklayers.h b/contrib/microsoft.direct3d.d3d12.1.618.4/build/native/include/d3d12sdklayers.h new file mode 100644 index 0000000..96c812b --- /dev/null +++ b/contrib/microsoft.direct3d.d3d12.1.618.4/build/native/include/d3d12sdklayers.h | |||
| @@ -0,0 +1,4280 @@ | |||
| 1 | /*------------------------------------------------------------------------------------- | ||
| 2 | * | ||
| 3 | * Copyright (c) Microsoft Corporation | ||
| 4 | * Licensed under the MIT license | ||
| 5 | * | ||
| 6 | *-------------------------------------------------------------------------------------*/ | ||
| 7 | |||
| 8 | |||
| 9 | /* this ALWAYS GENERATED file contains the definitions for the interfaces */ | ||
| 10 | |||
| 11 | |||
| 12 | /* File created by MIDL compiler version 8.01.0628 */ | ||
| 13 | |||
| 14 | |||
| 15 | |||
| 16 | /* verify that the <rpcndr.h> version is high enough to compile this file*/ | ||
| 17 | #ifndef __REQUIRED_RPCNDR_H_VERSION__ | ||
| 18 | #define __REQUIRED_RPCNDR_H_VERSION__ 500 | ||
| 19 | #endif | ||
| 20 | |||
| 21 | /* verify that the <rpcsal.h> version is high enough to compile this file*/ | ||
| 22 | #ifndef __REQUIRED_RPCSAL_H_VERSION__ | ||
| 23 | #define __REQUIRED_RPCSAL_H_VERSION__ 100 | ||
| 24 | #endif | ||
| 25 | |||
| 26 | #include "rpc.h" | ||
| 27 | #include "rpcndr.h" | ||
| 28 | |||
| 29 | #ifndef __RPCNDR_H_VERSION__ | ||
| 30 | #error this stub requires an updated version of <rpcndr.h> | ||
| 31 | #endif /* __RPCNDR_H_VERSION__ */ | ||
| 32 | |||
| 33 | #ifndef COM_NO_WINDOWS_H | ||
| 34 | #include "windows.h" | ||
| 35 | #include "ole2.h" | ||
| 36 | #endif /*COM_NO_WINDOWS_H*/ | ||
| 37 | |||
| 38 | #ifndef __d3d12sdklayers_h__ | ||
| 39 | #define __d3d12sdklayers_h__ | ||
| 40 | |||
| 41 | #if defined(_MSC_VER) && (_MSC_VER >= 1020) | ||
| 42 | #pragma once | ||
| 43 | #endif | ||
| 44 | |||
| 45 | #ifndef DECLSPEC_XFGVIRT | ||
| 46 | #if defined(_CONTROL_FLOW_GUARD_XFG) | ||
| 47 | #define DECLSPEC_XFGVIRT(base, func) __declspec(xfg_virtual(base, func)) | ||
| 48 | #else | ||
| 49 | #define DECLSPEC_XFGVIRT(base, func) | ||
| 50 | #endif | ||
| 51 | #endif | ||
| 52 | |||
| 53 | /* Forward Declarations */ | ||
| 54 | |||
| 55 | #ifndef __ID3D12Debug_FWD_DEFINED__ | ||
| 56 | #define __ID3D12Debug_FWD_DEFINED__ | ||
| 57 | typedef interface ID3D12Debug ID3D12Debug; | ||
| 58 | |||
| 59 | #endif /* __ID3D12Debug_FWD_DEFINED__ */ | ||
| 60 | |||
| 61 | |||
| 62 | #ifndef __ID3D12Debug1_FWD_DEFINED__ | ||
| 63 | #define __ID3D12Debug1_FWD_DEFINED__ | ||
| 64 | typedef interface ID3D12Debug1 ID3D12Debug1; | ||
| 65 | |||
| 66 | #endif /* __ID3D12Debug1_FWD_DEFINED__ */ | ||
| 67 | |||
| 68 | |||
| 69 | #ifndef __ID3D12Debug2_FWD_DEFINED__ | ||
| 70 | #define __ID3D12Debug2_FWD_DEFINED__ | ||
| 71 | typedef interface ID3D12Debug2 ID3D12Debug2; | ||
| 72 | |||
| 73 | #endif /* __ID3D12Debug2_FWD_DEFINED__ */ | ||
| 74 | |||
| 75 | |||
| 76 | #ifndef __ID3D12Debug3_FWD_DEFINED__ | ||
| 77 | #define __ID3D12Debug3_FWD_DEFINED__ | ||
| 78 | typedef interface ID3D12Debug3 ID3D12Debug3; | ||
| 79 | |||
| 80 | #endif /* __ID3D12Debug3_FWD_DEFINED__ */ | ||
| 81 | |||
| 82 | |||
| 83 | #ifndef __ID3D12Debug4_FWD_DEFINED__ | ||
| 84 | #define __ID3D12Debug4_FWD_DEFINED__ | ||
| 85 | typedef interface ID3D12Debug4 ID3D12Debug4; | ||
| 86 | |||
| 87 | #endif /* __ID3D12Debug4_FWD_DEFINED__ */ | ||
| 88 | |||
| 89 | |||
| 90 | #ifndef __ID3D12Debug5_FWD_DEFINED__ | ||
| 91 | #define __ID3D12Debug5_FWD_DEFINED__ | ||
| 92 | typedef interface ID3D12Debug5 ID3D12Debug5; | ||
| 93 | |||
| 94 | #endif /* __ID3D12Debug5_FWD_DEFINED__ */ | ||
| 95 | |||
| 96 | |||
| 97 | #ifndef __ID3D12Debug6_FWD_DEFINED__ | ||
| 98 | #define __ID3D12Debug6_FWD_DEFINED__ | ||
| 99 | typedef interface ID3D12Debug6 ID3D12Debug6; | ||
| 100 | |||
| 101 | #endif /* __ID3D12Debug6_FWD_DEFINED__ */ | ||
| 102 | |||
| 103 | |||
| 104 | #ifndef __ID3D12DebugDevice1_FWD_DEFINED__ | ||
| 105 | #define __ID3D12DebugDevice1_FWD_DEFINED__ | ||
| 106 | typedef interface ID3D12DebugDevice1 ID3D12DebugDevice1; | ||
| 107 | |||
| 108 | #endif /* __ID3D12DebugDevice1_FWD_DEFINED__ */ | ||
| 109 | |||
| 110 | |||
| 111 | #ifndef __ID3D12DebugDevice_FWD_DEFINED__ | ||
| 112 | #define __ID3D12DebugDevice_FWD_DEFINED__ | ||
| 113 | typedef interface ID3D12DebugDevice ID3D12DebugDevice; | ||
| 114 | |||
| 115 | #endif /* __ID3D12DebugDevice_FWD_DEFINED__ */ | ||
| 116 | |||
| 117 | |||
| 118 | #ifndef __ID3D12DebugDevice2_FWD_DEFINED__ | ||
| 119 | #define __ID3D12DebugDevice2_FWD_DEFINED__ | ||
| 120 | typedef interface ID3D12DebugDevice2 ID3D12DebugDevice2; | ||
| 121 | |||
| 122 | #endif /* __ID3D12DebugDevice2_FWD_DEFINED__ */ | ||
| 123 | |||
| 124 | |||
| 125 | #ifndef __ID3D12DebugCommandQueue_FWD_DEFINED__ | ||
| 126 | #define __ID3D12DebugCommandQueue_FWD_DEFINED__ | ||
| 127 | typedef interface ID3D12DebugCommandQueue ID3D12DebugCommandQueue; | ||
| 128 | |||
| 129 | #endif /* __ID3D12DebugCommandQueue_FWD_DEFINED__ */ | ||
| 130 | |||
| 131 | |||
| 132 | #ifndef __ID3D12DebugCommandQueue1_FWD_DEFINED__ | ||
| 133 | #define __ID3D12DebugCommandQueue1_FWD_DEFINED__ | ||
| 134 | typedef interface ID3D12DebugCommandQueue1 ID3D12DebugCommandQueue1; | ||
| 135 | |||
| 136 | #endif /* __ID3D12DebugCommandQueue1_FWD_DEFINED__ */ | ||
| 137 | |||
| 138 | |||
| 139 | #ifndef __ID3D12DebugCommandList1_FWD_DEFINED__ | ||
| 140 | #define __ID3D12DebugCommandList1_FWD_DEFINED__ | ||
| 141 | typedef interface ID3D12DebugCommandList1 ID3D12DebugCommandList1; | ||
| 142 | |||
| 143 | #endif /* __ID3D12DebugCommandList1_FWD_DEFINED__ */ | ||
| 144 | |||
| 145 | |||
| 146 | #ifndef __ID3D12DebugCommandList_FWD_DEFINED__ | ||
| 147 | #define __ID3D12DebugCommandList_FWD_DEFINED__ | ||
| 148 | typedef interface ID3D12DebugCommandList ID3D12DebugCommandList; | ||
| 149 | |||
| 150 | #endif /* __ID3D12DebugCommandList_FWD_DEFINED__ */ | ||
| 151 | |||
| 152 | |||
| 153 | #ifndef __ID3D12DebugCommandList2_FWD_DEFINED__ | ||
| 154 | #define __ID3D12DebugCommandList2_FWD_DEFINED__ | ||
| 155 | typedef interface ID3D12DebugCommandList2 ID3D12DebugCommandList2; | ||
| 156 | |||
| 157 | #endif /* __ID3D12DebugCommandList2_FWD_DEFINED__ */ | ||
| 158 | |||
| 159 | |||
| 160 | #ifndef __ID3D12DebugCommandList3_FWD_DEFINED__ | ||
| 161 | #define __ID3D12DebugCommandList3_FWD_DEFINED__ | ||
| 162 | typedef interface ID3D12DebugCommandList3 ID3D12DebugCommandList3; | ||
| 163 | |||
| 164 | #endif /* __ID3D12DebugCommandList3_FWD_DEFINED__ */ | ||
| 165 | |||
| 166 | |||
| 167 | #ifndef __ID3D12SharingContract_FWD_DEFINED__ | ||
| 168 | #define __ID3D12SharingContract_FWD_DEFINED__ | ||
| 169 | typedef interface ID3D12SharingContract ID3D12SharingContract; | ||
| 170 | |||
| 171 | #endif /* __ID3D12SharingContract_FWD_DEFINED__ */ | ||
| 172 | |||
| 173 | |||
| 174 | #ifndef __ID3D12ManualWriteTrackingResource_FWD_DEFINED__ | ||
| 175 | #define __ID3D12ManualWriteTrackingResource_FWD_DEFINED__ | ||
| 176 | typedef interface ID3D12ManualWriteTrackingResource ID3D12ManualWriteTrackingResource; | ||
| 177 | |||
| 178 | #endif /* __ID3D12ManualWriteTrackingResource_FWD_DEFINED__ */ | ||
| 179 | |||
| 180 | |||
| 181 | #ifndef __ID3D12InfoQueue_FWD_DEFINED__ | ||
| 182 | #define __ID3D12InfoQueue_FWD_DEFINED__ | ||
| 183 | typedef interface ID3D12InfoQueue ID3D12InfoQueue; | ||
| 184 | |||
| 185 | #endif /* __ID3D12InfoQueue_FWD_DEFINED__ */ | ||
| 186 | |||
| 187 | |||
| 188 | #ifndef __ID3D12InfoQueue1_FWD_DEFINED__ | ||
| 189 | #define __ID3D12InfoQueue1_FWD_DEFINED__ | ||
| 190 | typedef interface ID3D12InfoQueue1 ID3D12InfoQueue1; | ||
| 191 | |||
| 192 | #endif /* __ID3D12InfoQueue1_FWD_DEFINED__ */ | ||
| 193 | |||
| 194 | |||
| 195 | /* header files for imported files */ | ||
| 196 | #include "oaidl.h" | ||
| 197 | #include "ocidl.h" | ||
| 198 | #include "d3d12.h" | ||
| 199 | |||
| 200 | #ifdef __cplusplus | ||
| 201 | extern "C"{ | ||
| 202 | #endif | ||
| 203 | |||
| 204 | |||
| 205 | /* interface __MIDL_itf_d3d12sdklayers_0000_0000 */ | ||
| 206 | /* [local] */ | ||
| 207 | |||
| 208 | #include <winapifamily.h> | ||
| 209 | #pragma region App Family | ||
| 210 | #if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP | WINAPI_PARTITION_GAMES) | ||
| 211 | |||
| 212 | |||
| 213 | extern RPC_IF_HANDLE __MIDL_itf_d3d12sdklayers_0000_0000_v0_0_c_ifspec; | ||
| 214 | extern RPC_IF_HANDLE __MIDL_itf_d3d12sdklayers_0000_0000_v0_0_s_ifspec; | ||
| 215 | |||
| 216 | #ifndef __ID3D12Debug_INTERFACE_DEFINED__ | ||
| 217 | #define __ID3D12Debug_INTERFACE_DEFINED__ | ||
| 218 | |||
| 219 | /* interface ID3D12Debug */ | ||
| 220 | /* [unique][local][object][uuid] */ | ||
| 221 | |||
| 222 | |||
| 223 | EXTERN_C const IID IID_ID3D12Debug; | ||
| 224 | |||
| 225 | #if defined(__cplusplus) && !defined(CINTERFACE) | ||
| 226 | |||
| 227 | MIDL_INTERFACE("344488b7-6846-474b-b989-f027448245e0") | ||
| 228 | ID3D12Debug : public IUnknown | ||
| 229 | { | ||
| 230 | public: | ||
| 231 | virtual void STDMETHODCALLTYPE EnableDebugLayer( void) = 0; | ||
| 232 | |||
| 233 | }; | ||
| 234 | |||
| 235 | |||
| 236 | #else /* C style interface */ | ||
| 237 | |||
| 238 | typedef struct ID3D12DebugVtbl | ||
| 239 | { | ||
| 240 | BEGIN_INTERFACE | ||
| 241 | |||
| 242 | DECLSPEC_XFGVIRT(IUnknown, QueryInterface) | ||
| 243 | HRESULT ( STDMETHODCALLTYPE *QueryInterface )( | ||
| 244 | ID3D12Debug * This, | ||
| 245 | REFIID riid, | ||
| 246 | _COM_Outptr_ void **ppvObject); | ||
| 247 | |||
| 248 | DECLSPEC_XFGVIRT(IUnknown, AddRef) | ||
| 249 | ULONG ( STDMETHODCALLTYPE *AddRef )( | ||
| 250 | ID3D12Debug * This); | ||
| 251 | |||
| 252 | DECLSPEC_XFGVIRT(IUnknown, Release) | ||
| 253 | ULONG ( STDMETHODCALLTYPE *Release )( | ||
| 254 | ID3D12Debug * This); | ||
| 255 | |||
| 256 | DECLSPEC_XFGVIRT(ID3D12Debug, EnableDebugLayer) | ||
| 257 | void ( STDMETHODCALLTYPE *EnableDebugLayer )( | ||
| 258 | ID3D12Debug * This); | ||
| 259 | |||
| 260 | END_INTERFACE | ||
| 261 | } ID3D12DebugVtbl; | ||
| 262 | |||
| 263 | interface ID3D12Debug | ||
| 264 | { | ||
| 265 | CONST_VTBL struct ID3D12DebugVtbl *lpVtbl; | ||
| 266 | }; | ||
| 267 | |||
| 268 | |||
| 269 | |||
| 270 | #ifdef COBJMACROS | ||
| 271 | |||
| 272 | |||
| 273 | #define ID3D12Debug_QueryInterface(This,riid,ppvObject) \ | ||
| 274 | ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) | ||
| 275 | |||
| 276 | #define ID3D12Debug_AddRef(This) \ | ||
| 277 | ( (This)->lpVtbl -> AddRef(This) ) | ||
| 278 | |||
| 279 | #define ID3D12Debug_Release(This) \ | ||
| 280 | ( (This)->lpVtbl -> Release(This) ) | ||
| 281 | |||
| 282 | |||
| 283 | #define ID3D12Debug_EnableDebugLayer(This) \ | ||
| 284 | ( (This)->lpVtbl -> EnableDebugLayer(This) ) | ||
| 285 | |||
| 286 | #endif /* COBJMACROS */ | ||
| 287 | |||
| 288 | |||
| 289 | #endif /* C style interface */ | ||
| 290 | |||
| 291 | |||
| 292 | |||
| 293 | |||
| 294 | #endif /* __ID3D12Debug_INTERFACE_DEFINED__ */ | ||
| 295 | |||
| 296 | |||
| 297 | /* interface __MIDL_itf_d3d12sdklayers_0000_0001 */ | ||
| 298 | /* [local] */ | ||
| 299 | |||
| 300 | typedef | ||
| 301 | enum D3D12_GPU_BASED_VALIDATION_FLAGS | ||
| 302 | { | ||
| 303 | D3D12_GPU_BASED_VALIDATION_FLAGS_NONE = 0, | ||
| 304 | D3D12_GPU_BASED_VALIDATION_FLAGS_DISABLE_STATE_TRACKING = 0x1 | ||
| 305 | } D3D12_GPU_BASED_VALIDATION_FLAGS; | ||
| 306 | |||
| 307 | DEFINE_ENUM_FLAG_OPERATORS(D3D12_GPU_BASED_VALIDATION_FLAGS) | ||
| 308 | |||
| 309 | |||
| 310 | extern RPC_IF_HANDLE __MIDL_itf_d3d12sdklayers_0000_0001_v0_0_c_ifspec; | ||
| 311 | extern RPC_IF_HANDLE __MIDL_itf_d3d12sdklayers_0000_0001_v0_0_s_ifspec; | ||
| 312 | |||
| 313 | #ifndef __ID3D12Debug1_INTERFACE_DEFINED__ | ||
| 314 | #define __ID3D12Debug1_INTERFACE_DEFINED__ | ||
| 315 | |||
| 316 | /* interface ID3D12Debug1 */ | ||
| 317 | /* [unique][local][object][uuid] */ | ||
| 318 | |||
| 319 | |||
| 320 | EXTERN_C const IID IID_ID3D12Debug1; | ||
| 321 | |||
| 322 | #if defined(__cplusplus) && !defined(CINTERFACE) | ||
| 323 | |||
| 324 | MIDL_INTERFACE("affaa4ca-63fe-4d8e-b8ad-159000af4304") | ||
| 325 | ID3D12Debug1 : public IUnknown | ||
| 326 | { | ||
| 327 | public: | ||
| 328 | virtual void STDMETHODCALLTYPE EnableDebugLayer( void) = 0; | ||
| 329 | |||
| 330 | virtual void STDMETHODCALLTYPE SetEnableGPUBasedValidation( | ||
| 331 | BOOL Enable) = 0; | ||
| 332 | |||
| 333 | virtual void STDMETHODCALLTYPE SetEnableSynchronizedCommandQueueValidation( | ||
| 334 | BOOL Enable) = 0; | ||
| 335 | |||
| 336 | }; | ||
| 337 | |||
| 338 | |||
| 339 | #else /* C style interface */ | ||
| 340 | |||
| 341 | typedef struct ID3D12Debug1Vtbl | ||
| 342 | { | ||
| 343 | BEGIN_INTERFACE | ||
| 344 | |||
| 345 | DECLSPEC_XFGVIRT(IUnknown, QueryInterface) | ||
| 346 | HRESULT ( STDMETHODCALLTYPE *QueryInterface )( | ||
| 347 | ID3D12Debug1 * This, | ||
| 348 | REFIID riid, | ||
| 349 | _COM_Outptr_ void **ppvObject); | ||
| 350 | |||
| 351 | DECLSPEC_XFGVIRT(IUnknown, AddRef) | ||
| 352 | ULONG ( STDMETHODCALLTYPE *AddRef )( | ||
| 353 | ID3D12Debug1 * This); | ||
| 354 | |||
| 355 | DECLSPEC_XFGVIRT(IUnknown, Release) | ||
| 356 | ULONG ( STDMETHODCALLTYPE *Release )( | ||
| 357 | ID3D12Debug1 * This); | ||
| 358 | |||
| 359 | DECLSPEC_XFGVIRT(ID3D12Debug1, EnableDebugLayer) | ||
| 360 | void ( STDMETHODCALLTYPE *EnableDebugLayer )( | ||
| 361 | ID3D12Debug1 * This); | ||
| 362 | |||
| 363 | DECLSPEC_XFGVIRT(ID3D12Debug1, SetEnableGPUBasedValidation) | ||
| 364 | void ( STDMETHODCALLTYPE *SetEnableGPUBasedValidation )( | ||
| 365 | ID3D12Debug1 * This, | ||
| 366 | BOOL Enable); | ||
| 367 | |||
| 368 | DECLSPEC_XFGVIRT(ID3D12Debug1, SetEnableSynchronizedCommandQueueValidation) | ||
| 369 | void ( STDMETHODCALLTYPE *SetEnableSynchronizedCommandQueueValidation )( | ||
| 370 | ID3D12Debug1 * This, | ||
| 371 | BOOL Enable); | ||
| 372 | |||
| 373 | END_INTERFACE | ||
| 374 | } ID3D12Debug1Vtbl; | ||
| 375 | |||
| 376 | interface ID3D12Debug1 | ||
| 377 | { | ||
| 378 | CONST_VTBL struct ID3D12Debug1Vtbl *lpVtbl; | ||
| 379 | }; | ||
| 380 | |||
| 381 | |||
| 382 | |||
| 383 | #ifdef COBJMACROS | ||
| 384 | |||
| 385 | |||
| 386 | #define ID3D12Debug1_QueryInterface(This,riid,ppvObject) \ | ||
| 387 | ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) | ||
| 388 | |||
| 389 | #define ID3D12Debug1_AddRef(This) \ | ||
| 390 | ( (This)->lpVtbl -> AddRef(This) ) | ||
| 391 | |||
| 392 | #define ID3D12Debug1_Release(This) \ | ||
| 393 | ( (This)->lpVtbl -> Release(This) ) | ||
| 394 | |||
| 395 | |||
| 396 | #define ID3D12Debug1_EnableDebugLayer(This) \ | ||
| 397 | ( (This)->lpVtbl -> EnableDebugLayer(This) ) | ||
| 398 | |||
| 399 | #define ID3D12Debug1_SetEnableGPUBasedValidation(This,Enable) \ | ||
| 400 | ( (This)->lpVtbl -> SetEnableGPUBasedValidation(This,Enable) ) | ||
| 401 | |||
| 402 | #define ID3D12Debug1_SetEnableSynchronizedCommandQueueValidation(This,Enable) \ | ||
| 403 | ( (This)->lpVtbl -> SetEnableSynchronizedCommandQueueValidation(This,Enable) ) | ||
| 404 | |||
| 405 | #endif /* COBJMACROS */ | ||
| 406 | |||
| 407 | |||
| 408 | #endif /* C style interface */ | ||
| 409 | |||
| 410 | |||
| 411 | |||
| 412 | |||
| 413 | #endif /* __ID3D12Debug1_INTERFACE_DEFINED__ */ | ||
| 414 | |||
| 415 | |||
| 416 | #ifndef __ID3D12Debug2_INTERFACE_DEFINED__ | ||
| 417 | #define __ID3D12Debug2_INTERFACE_DEFINED__ | ||
| 418 | |||
| 419 | /* interface ID3D12Debug2 */ | ||
| 420 | /* [unique][local][object][uuid] */ | ||
| 421 | |||
| 422 | |||
| 423 | EXTERN_C const IID IID_ID3D12Debug2; | ||
| 424 | |||
| 425 | #if defined(__cplusplus) && !defined(CINTERFACE) | ||
| 426 | |||
| 427 | MIDL_INTERFACE("93a665c4-a3b2-4e5d-b692-a26ae14e3374") | ||
| 428 | ID3D12Debug2 : public IUnknown | ||
| 429 | { | ||
| 430 | public: | ||
| 431 | virtual void STDMETHODCALLTYPE SetGPUBasedValidationFlags( | ||
| 432 | D3D12_GPU_BASED_VALIDATION_FLAGS Flags) = 0; | ||
| 433 | |||
| 434 | }; | ||
| 435 | |||
| 436 | |||
| 437 | #else /* C style interface */ | ||
| 438 | |||
| 439 | typedef struct ID3D12Debug2Vtbl | ||
| 440 | { | ||
| 441 | BEGIN_INTERFACE | ||
| 442 | |||
| 443 | DECLSPEC_XFGVIRT(IUnknown, QueryInterface) | ||
| 444 | HRESULT ( STDMETHODCALLTYPE *QueryInterface )( | ||
| 445 | ID3D12Debug2 * This, | ||
| 446 | REFIID riid, | ||
| 447 | _COM_Outptr_ void **ppvObject); | ||
| 448 | |||
| 449 | DECLSPEC_XFGVIRT(IUnknown, AddRef) | ||
| 450 | ULONG ( STDMETHODCALLTYPE *AddRef )( | ||
| 451 | ID3D12Debug2 * This); | ||
| 452 | |||
| 453 | DECLSPEC_XFGVIRT(IUnknown, Release) | ||
| 454 | ULONG ( STDMETHODCALLTYPE *Release )( | ||
| 455 | ID3D12Debug2 * This); | ||
| 456 | |||
| 457 | DECLSPEC_XFGVIRT(ID3D12Debug2, SetGPUBasedValidationFlags) | ||
| 458 | void ( STDMETHODCALLTYPE *SetGPUBasedValidationFlags )( | ||
| 459 | ID3D12Debug2 * This, | ||
| 460 | D3D12_GPU_BASED_VALIDATION_FLAGS Flags); | ||
| 461 | |||
| 462 | END_INTERFACE | ||
| 463 | } ID3D12Debug2Vtbl; | ||
| 464 | |||
| 465 | interface ID3D12Debug2 | ||
| 466 | { | ||
| 467 | CONST_VTBL struct ID3D12Debug2Vtbl *lpVtbl; | ||
| 468 | }; | ||
| 469 | |||
| 470 | |||
| 471 | |||
| 472 | #ifdef COBJMACROS | ||
| 473 | |||
| 474 | |||
| 475 | #define ID3D12Debug2_QueryInterface(This,riid,ppvObject) \ | ||
| 476 | ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) | ||
| 477 | |||
| 478 | #define ID3D12Debug2_AddRef(This) \ | ||
| 479 | ( (This)->lpVtbl -> AddRef(This) ) | ||
| 480 | |||
| 481 | #define ID3D12Debug2_Release(This) \ | ||
| 482 | ( (This)->lpVtbl -> Release(This) ) | ||
| 483 | |||
| 484 | |||
| 485 | #define ID3D12Debug2_SetGPUBasedValidationFlags(This,Flags) \ | ||
| 486 | ( (This)->lpVtbl -> SetGPUBasedValidationFlags(This,Flags) ) | ||
| 487 | |||
| 488 | #endif /* COBJMACROS */ | ||
| 489 | |||
| 490 | |||
| 491 | #endif /* C style interface */ | ||
| 492 | |||
| 493 | |||
| 494 | |||
| 495 | |||
| 496 | #endif /* __ID3D12Debug2_INTERFACE_DEFINED__ */ | ||
| 497 | |||
| 498 | |||
| 499 | #ifndef __ID3D12Debug3_INTERFACE_DEFINED__ | ||
| 500 | #define __ID3D12Debug3_INTERFACE_DEFINED__ | ||
| 501 | |||
| 502 | /* interface ID3D12Debug3 */ | ||
| 503 | /* [unique][local][object][uuid] */ | ||
| 504 | |||
| 505 | |||
| 506 | EXTERN_C const IID IID_ID3D12Debug3; | ||
| 507 | |||
| 508 | #if defined(__cplusplus) && !defined(CINTERFACE) | ||
| 509 | |||
| 510 | MIDL_INTERFACE("5cf4e58f-f671-4ff1-a542-3686e3d153d1") | ||
| 511 | ID3D12Debug3 : public ID3D12Debug | ||
| 512 | { | ||
| 513 | public: | ||
| 514 | virtual void STDMETHODCALLTYPE SetEnableGPUBasedValidation( | ||
| 515 | BOOL Enable) = 0; | ||
| 516 | |||
| 517 | virtual void STDMETHODCALLTYPE SetEnableSynchronizedCommandQueueValidation( | ||
| 518 | BOOL Enable) = 0; | ||
| 519 | |||
| 520 | virtual void STDMETHODCALLTYPE SetGPUBasedValidationFlags( | ||
| 521 | D3D12_GPU_BASED_VALIDATION_FLAGS Flags) = 0; | ||
| 522 | |||
| 523 | }; | ||
| 524 | |||
| 525 | |||
| 526 | #else /* C style interface */ | ||
| 527 | |||
| 528 | typedef struct ID3D12Debug3Vtbl | ||
| 529 | { | ||
| 530 | BEGIN_INTERFACE | ||
| 531 | |||
| 532 | DECLSPEC_XFGVIRT(IUnknown, QueryInterface) | ||
| 533 | HRESULT ( STDMETHODCALLTYPE *QueryInterface )( | ||
| 534 | ID3D12Debug3 * This, | ||
| 535 | REFIID riid, | ||
| 536 | _COM_Outptr_ void **ppvObject); | ||
| 537 | |||
| 538 | DECLSPEC_XFGVIRT(IUnknown, AddRef) | ||
| 539 | ULONG ( STDMETHODCALLTYPE *AddRef )( | ||
| 540 | ID3D12Debug3 * This); | ||
| 541 | |||
| 542 | DECLSPEC_XFGVIRT(IUnknown, Release) | ||
| 543 | ULONG ( STDMETHODCALLTYPE *Release )( | ||
| 544 | ID3D12Debug3 * This); | ||
| 545 | |||
| 546 | DECLSPEC_XFGVIRT(ID3D12Debug, EnableDebugLayer) | ||
| 547 | void ( STDMETHODCALLTYPE *EnableDebugLayer )( | ||
| 548 | ID3D12Debug3 * This); | ||
| 549 | |||
| 550 | DECLSPEC_XFGVIRT(ID3D12Debug3, SetEnableGPUBasedValidation) | ||
| 551 | void ( STDMETHODCALLTYPE *SetEnableGPUBasedValidation )( | ||
| 552 | ID3D12Debug3 * This, | ||
| 553 | BOOL Enable); | ||
| 554 | |||
| 555 | DECLSPEC_XFGVIRT(ID3D12Debug3, SetEnableSynchronizedCommandQueueValidation) | ||
| 556 | void ( STDMETHODCALLTYPE *SetEnableSynchronizedCommandQueueValidation )( | ||
| 557 | ID3D12Debug3 * This, | ||
| 558 | BOOL Enable); | ||
| 559 | |||
| 560 | DECLSPEC_XFGVIRT(ID3D12Debug3, SetGPUBasedValidationFlags) | ||
| 561 | void ( STDMETHODCALLTYPE *SetGPUBasedValidationFlags )( | ||
| 562 | ID3D12Debug3 * This, | ||
| 563 | D3D12_GPU_BASED_VALIDATION_FLAGS Flags); | ||
| 564 | |||
| 565 | END_INTERFACE | ||
| 566 | } ID3D12Debug3Vtbl; | ||
| 567 | |||
| 568 | interface ID3D12Debug3 | ||
| 569 | { | ||
| 570 | CONST_VTBL struct ID3D12Debug3Vtbl *lpVtbl; | ||
| 571 | }; | ||
| 572 | |||
| 573 | |||
| 574 | |||
| 575 | #ifdef COBJMACROS | ||
| 576 | |||
| 577 | |||
| 578 | #define ID3D12Debug3_QueryInterface(This,riid,ppvObject) \ | ||
| 579 | ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) | ||
| 580 | |||
| 581 | #define ID3D12Debug3_AddRef(This) \ | ||
| 582 | ( (This)->lpVtbl -> AddRef(This) ) | ||
| 583 | |||
| 584 | #define ID3D12Debug3_Release(This) \ | ||
| 585 | ( (This)->lpVtbl -> Release(This) ) | ||
| 586 | |||
| 587 | |||
| 588 | #define ID3D12Debug3_EnableDebugLayer(This) \ | ||
| 589 | ( (This)->lpVtbl -> EnableDebugLayer(This) ) | ||
| 590 | |||
| 591 | |||
| 592 | #define ID3D12Debug3_SetEnableGPUBasedValidation(This,Enable) \ | ||
| 593 | ( (This)->lpVtbl -> SetEnableGPUBasedValidation(This,Enable) ) | ||
| 594 | |||
| 595 | #define ID3D12Debug3_SetEnableSynchronizedCommandQueueValidation(This,Enable) \ | ||
| 596 | ( (This)->lpVtbl -> SetEnableSynchronizedCommandQueueValidation(This,Enable) ) | ||
| 597 | |||
| 598 | #define ID3D12Debug3_SetGPUBasedValidationFlags(This,Flags) \ | ||
| 599 | ( (This)->lpVtbl -> SetGPUBasedValidationFlags(This,Flags) ) | ||
| 600 | |||
| 601 | #endif /* COBJMACROS */ | ||
| 602 | |||
| 603 | |||
| 604 | #endif /* C style interface */ | ||
| 605 | |||
| 606 | |||
| 607 | |||
| 608 | |||
| 609 | #endif /* __ID3D12Debug3_INTERFACE_DEFINED__ */ | ||
| 610 | |||
| 611 | |||
| 612 | #ifndef __ID3D12Debug4_INTERFACE_DEFINED__ | ||
| 613 | #define __ID3D12Debug4_INTERFACE_DEFINED__ | ||
| 614 | |||
| 615 | /* interface ID3D12Debug4 */ | ||
| 616 | /* [unique][local][object][uuid] */ | ||
| 617 | |||
| 618 | |||
| 619 | EXTERN_C const IID IID_ID3D12Debug4; | ||
| 620 | |||
| 621 | #if defined(__cplusplus) && !defined(CINTERFACE) | ||
| 622 | |||
| 623 | MIDL_INTERFACE("014b816e-9ec5-4a2f-a845-ffbe441ce13a") | ||
| 624 | ID3D12Debug4 : public ID3D12Debug3 | ||
| 625 | { | ||
| 626 | public: | ||
| 627 | virtual void STDMETHODCALLTYPE DisableDebugLayer( void) = 0; | ||
| 628 | |||
| 629 | }; | ||
| 630 | |||
| 631 | |||
| 632 | #else /* C style interface */ | ||
| 633 | |||
| 634 | typedef struct ID3D12Debug4Vtbl | ||
| 635 | { | ||
| 636 | BEGIN_INTERFACE | ||
| 637 | |||
| 638 | DECLSPEC_XFGVIRT(IUnknown, QueryInterface) | ||
| 639 | HRESULT ( STDMETHODCALLTYPE *QueryInterface )( | ||
| 640 | ID3D12Debug4 * This, | ||
| 641 | REFIID riid, | ||
| 642 | _COM_Outptr_ void **ppvObject); | ||
| 643 | |||
| 644 | DECLSPEC_XFGVIRT(IUnknown, AddRef) | ||
| 645 | ULONG ( STDMETHODCALLTYPE *AddRef )( | ||
| 646 | ID3D12Debug4 * This); | ||
| 647 | |||
| 648 | DECLSPEC_XFGVIRT(IUnknown, Release) | ||
| 649 | ULONG ( STDMETHODCALLTYPE *Release )( | ||
| 650 | ID3D12Debug4 * This); | ||
| 651 | |||
| 652 | DECLSPEC_XFGVIRT(ID3D12Debug, EnableDebugLayer) | ||
| 653 | void ( STDMETHODCALLTYPE *EnableDebugLayer )( | ||
| 654 | ID3D12Debug4 * This); | ||
| 655 | |||
| 656 | DECLSPEC_XFGVIRT(ID3D12Debug3, SetEnableGPUBasedValidation) | ||
| 657 | void ( STDMETHODCALLTYPE *SetEnableGPUBasedValidation )( | ||
| 658 | ID3D12Debug4 * This, | ||
| 659 | BOOL Enable); | ||
| 660 | |||
| 661 | DECLSPEC_XFGVIRT(ID3D12Debug3, SetEnableSynchronizedCommandQueueValidation) | ||
| 662 | void ( STDMETHODCALLTYPE *SetEnableSynchronizedCommandQueueValidation )( | ||
| 663 | ID3D12Debug4 * This, | ||
| 664 | BOOL Enable); | ||
| 665 | |||
| 666 | DECLSPEC_XFGVIRT(ID3D12Debug3, SetGPUBasedValidationFlags) | ||
| 667 | void ( STDMETHODCALLTYPE *SetGPUBasedValidationFlags )( | ||
| 668 | ID3D12Debug4 * This, | ||
| 669 | D3D12_GPU_BASED_VALIDATION_FLAGS Flags); | ||
| 670 | |||
| 671 | DECLSPEC_XFGVIRT(ID3D12Debug4, DisableDebugLayer) | ||
| 672 | void ( STDMETHODCALLTYPE *DisableDebugLayer )( | ||
| 673 | ID3D12Debug4 * This); | ||
| 674 | |||
| 675 | END_INTERFACE | ||
| 676 | } ID3D12Debug4Vtbl; | ||
| 677 | |||
| 678 | interface ID3D12Debug4 | ||
| 679 | { | ||
| 680 | CONST_VTBL struct ID3D12Debug4Vtbl *lpVtbl; | ||
| 681 | }; | ||
| 682 | |||
| 683 | |||
| 684 | |||
| 685 | #ifdef COBJMACROS | ||
| 686 | |||
| 687 | |||
| 688 | #define ID3D12Debug4_QueryInterface(This,riid,ppvObject) \ | ||
| 689 | ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) | ||
| 690 | |||
| 691 | #define ID3D12Debug4_AddRef(This) \ | ||
| 692 | ( (This)->lpVtbl -> AddRef(This) ) | ||
| 693 | |||
| 694 | #define ID3D12Debug4_Release(This) \ | ||
| 695 | ( (This)->lpVtbl -> Release(This) ) | ||
| 696 | |||
| 697 | |||
| 698 | #define ID3D12Debug4_EnableDebugLayer(This) \ | ||
| 699 | ( (This)->lpVtbl -> EnableDebugLayer(This) ) | ||
| 700 | |||
| 701 | |||
| 702 | #define ID3D12Debug4_SetEnableGPUBasedValidation(This,Enable) \ | ||
| 703 | ( (This)->lpVtbl -> SetEnableGPUBasedValidation(This,Enable) ) | ||
| 704 | |||
| 705 | #define ID3D12Debug4_SetEnableSynchronizedCommandQueueValidation(This,Enable) \ | ||
| 706 | ( (This)->lpVtbl -> SetEnableSynchronizedCommandQueueValidation(This,Enable) ) | ||
| 707 | |||
| 708 | #define ID3D12Debug4_SetGPUBasedValidationFlags(This,Flags) \ | ||
| 709 | ( (This)->lpVtbl -> SetGPUBasedValidationFlags(This,Flags) ) | ||
| 710 | |||
| 711 | |||
| 712 | #define ID3D12Debug4_DisableDebugLayer(This) \ | ||
| 713 | ( (This)->lpVtbl -> DisableDebugLayer(This) ) | ||
| 714 | |||
| 715 | #endif /* COBJMACROS */ | ||
| 716 | |||
| 717 | |||
| 718 | #endif /* C style interface */ | ||
| 719 | |||
| 720 | |||
| 721 | |||
| 722 | |||
| 723 | #endif /* __ID3D12Debug4_INTERFACE_DEFINED__ */ | ||
| 724 | |||
| 725 | |||
| 726 | #ifndef __ID3D12Debug5_INTERFACE_DEFINED__ | ||
| 727 | #define __ID3D12Debug5_INTERFACE_DEFINED__ | ||
| 728 | |||
| 729 | /* interface ID3D12Debug5 */ | ||
| 730 | /* [unique][local][object][uuid] */ | ||
| 731 | |||
| 732 | |||
| 733 | EXTERN_C const IID IID_ID3D12Debug5; | ||
| 734 | |||
| 735 | #if defined(__cplusplus) && !defined(CINTERFACE) | ||
| 736 | |||
| 737 | MIDL_INTERFACE("548d6b12-09fa-40e0-9069-5dcd589a52c9") | ||
| 738 | ID3D12Debug5 : public ID3D12Debug4 | ||
| 739 | { | ||
| 740 | public: | ||
| 741 | virtual void STDMETHODCALLTYPE SetEnableAutoName( | ||
| 742 | BOOL Enable) = 0; | ||
| 743 | |||
| 744 | }; | ||
| 745 | |||
| 746 | |||
| 747 | #else /* C style interface */ | ||
| 748 | |||
| 749 | typedef struct ID3D12Debug5Vtbl | ||
| 750 | { | ||
| 751 | BEGIN_INTERFACE | ||
| 752 | |||
| 753 | DECLSPEC_XFGVIRT(IUnknown, QueryInterface) | ||
| 754 | HRESULT ( STDMETHODCALLTYPE *QueryInterface )( | ||
| 755 | ID3D12Debug5 * This, | ||
| 756 | REFIID riid, | ||
| 757 | _COM_Outptr_ void **ppvObject); | ||
| 758 | |||
| 759 | DECLSPEC_XFGVIRT(IUnknown, AddRef) | ||
| 760 | ULONG ( STDMETHODCALLTYPE *AddRef )( | ||
| 761 | ID3D12Debug5 * This); | ||
| 762 | |||
| 763 | DECLSPEC_XFGVIRT(IUnknown, Release) | ||
| 764 | ULONG ( STDMETHODCALLTYPE *Release )( | ||
| 765 | ID3D12Debug5 * This); | ||
| 766 | |||
| 767 | DECLSPEC_XFGVIRT(ID3D12Debug, EnableDebugLayer) | ||
| 768 | void ( STDMETHODCALLTYPE *EnableDebugLayer )( | ||
| 769 | ID3D12Debug5 * This); | ||
| 770 | |||
| 771 | DECLSPEC_XFGVIRT(ID3D12Debug3, SetEnableGPUBasedValidation) | ||
| 772 | void ( STDMETHODCALLTYPE *SetEnableGPUBasedValidation )( | ||
| 773 | ID3D12Debug5 * This, | ||
| 774 | BOOL Enable); | ||
| 775 | |||
| 776 | DECLSPEC_XFGVIRT(ID3D12Debug3, SetEnableSynchronizedCommandQueueValidation) | ||
| 777 | void ( STDMETHODCALLTYPE *SetEnableSynchronizedCommandQueueValidation )( | ||
| 778 | ID3D12Debug5 * This, | ||
| 779 | BOOL Enable); | ||
| 780 | |||
| 781 | DECLSPEC_XFGVIRT(ID3D12Debug3, SetGPUBasedValidationFlags) | ||
| 782 | void ( STDMETHODCALLTYPE *SetGPUBasedValidationFlags )( | ||
| 783 | ID3D12Debug5 * This, | ||
| 784 | D3D12_GPU_BASED_VALIDATION_FLAGS Flags); | ||
| 785 | |||
| 786 | DECLSPEC_XFGVIRT(ID3D12Debug4, DisableDebugLayer) | ||
| 787 | void ( STDMETHODCALLTYPE *DisableDebugLayer )( | ||
| 788 | ID3D12Debug5 * This); | ||
| 789 | |||
| 790 | DECLSPEC_XFGVIRT(ID3D12Debug5, SetEnableAutoName) | ||
| 791 | void ( STDMETHODCALLTYPE *SetEnableAutoName )( | ||
| 792 | ID3D12Debug5 * This, | ||
| 793 | BOOL Enable); | ||
| 794 | |||
| 795 | END_INTERFACE | ||
| 796 | } ID3D12Debug5Vtbl; | ||
| 797 | |||
| 798 | interface ID3D12Debug5 | ||
| 799 | { | ||
| 800 | CONST_VTBL struct ID3D12Debug5Vtbl *lpVtbl; | ||
| 801 | }; | ||
| 802 | |||
| 803 | |||
| 804 | |||
| 805 | #ifdef COBJMACROS | ||
| 806 | |||
| 807 | |||
| 808 | #define ID3D12Debug5_QueryInterface(This,riid,ppvObject) \ | ||
| 809 | ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) | ||
| 810 | |||
| 811 | #define ID3D12Debug5_AddRef(This) \ | ||
| 812 | ( (This)->lpVtbl -> AddRef(This) ) | ||
| 813 | |||
| 814 | #define ID3D12Debug5_Release(This) \ | ||
| 815 | ( (This)->lpVtbl -> Release(This) ) | ||
| 816 | |||
| 817 | |||
| 818 | #define ID3D12Debug5_EnableDebugLayer(This) \ | ||
| 819 | ( (This)->lpVtbl -> EnableDebugLayer(This) ) | ||
| 820 | |||
| 821 | |||
| 822 | #define ID3D12Debug5_SetEnableGPUBasedValidation(This,Enable) \ | ||
| 823 | ( (This)->lpVtbl -> SetEnableGPUBasedValidation(This,Enable) ) | ||
| 824 | |||
| 825 | #define ID3D12Debug5_SetEnableSynchronizedCommandQueueValidation(This,Enable) \ | ||
| 826 | ( (This)->lpVtbl -> SetEnableSynchronizedCommandQueueValidation(This,Enable) ) | ||
| 827 | |||
| 828 | #define ID3D12Debug5_SetGPUBasedValidationFlags(This,Flags) \ | ||
| 829 | ( (This)->lpVtbl -> SetGPUBasedValidationFlags(This,Flags) ) | ||
| 830 | |||
| 831 | |||
| 832 | #define ID3D12Debug5_DisableDebugLayer(This) \ | ||
| 833 | ( (This)->lpVtbl -> DisableDebugLayer(This) ) | ||
| 834 | |||
| 835 | |||
| 836 | #define ID3D12Debug5_SetEnableAutoName(This,Enable) \ | ||
| 837 | ( (This)->lpVtbl -> SetEnableAutoName(This,Enable) ) | ||
| 838 | |||
| 839 | #endif /* COBJMACROS */ | ||
| 840 | |||
| 841 | |||
| 842 | #endif /* C style interface */ | ||
| 843 | |||
| 844 | |||
| 845 | |||
| 846 | |||
| 847 | #endif /* __ID3D12Debug5_INTERFACE_DEFINED__ */ | ||
| 848 | |||
| 849 | |||
| 850 | #ifndef __ID3D12Debug6_INTERFACE_DEFINED__ | ||
| 851 | #define __ID3D12Debug6_INTERFACE_DEFINED__ | ||
| 852 | |||
| 853 | /* interface ID3D12Debug6 */ | ||
| 854 | /* [unique][local][object][uuid] */ | ||
| 855 | |||
| 856 | |||
| 857 | EXTERN_C const IID IID_ID3D12Debug6; | ||
| 858 | |||
| 859 | #if defined(__cplusplus) && !defined(CINTERFACE) | ||
| 860 | |||
| 861 | MIDL_INTERFACE("82a816d6-5d01-4157-97d0-4975463fd1ed") | ||
| 862 | ID3D12Debug6 : public ID3D12Debug5 | ||
| 863 | { | ||
| 864 | public: | ||
| 865 | virtual void STDMETHODCALLTYPE SetForceLegacyBarrierValidation( | ||
| 866 | BOOL Enable) = 0; | ||
| 867 | |||
| 868 | }; | ||
| 869 | |||
| 870 | |||
| 871 | #else /* C style interface */ | ||
| 872 | |||
| 873 | typedef struct ID3D12Debug6Vtbl | ||
| 874 | { | ||
| 875 | BEGIN_INTERFACE | ||
| 876 | |||
| 877 | DECLSPEC_XFGVIRT(IUnknown, QueryInterface) | ||
| 878 | HRESULT ( STDMETHODCALLTYPE *QueryInterface )( | ||
| 879 | ID3D12Debug6 * This, | ||
| 880 | REFIID riid, | ||
| 881 | _COM_Outptr_ void **ppvObject); | ||
| 882 | |||
| 883 | DECLSPEC_XFGVIRT(IUnknown, AddRef) | ||
| 884 | ULONG ( STDMETHODCALLTYPE *AddRef )( | ||
| 885 | ID3D12Debug6 * This); | ||
| 886 | |||
| 887 | DECLSPEC_XFGVIRT(IUnknown, Release) | ||
| 888 | ULONG ( STDMETHODCALLTYPE *Release )( | ||
| 889 | ID3D12Debug6 * This); | ||
| 890 | |||
| 891 | DECLSPEC_XFGVIRT(ID3D12Debug, EnableDebugLayer) | ||
| 892 | void ( STDMETHODCALLTYPE *EnableDebugLayer )( | ||
| 893 | ID3D12Debug6 * This); | ||
| 894 | |||
| 895 | DECLSPEC_XFGVIRT(ID3D12Debug3, SetEnableGPUBasedValidation) | ||
| 896 | void ( STDMETHODCALLTYPE *SetEnableGPUBasedValidation )( | ||
| 897 | ID3D12Debug6 * This, | ||
| 898 | BOOL Enable); | ||
| 899 | |||
| 900 | DECLSPEC_XFGVIRT(ID3D12Debug3, SetEnableSynchronizedCommandQueueValidation) | ||
| 901 | void ( STDMETHODCALLTYPE *SetEnableSynchronizedCommandQueueValidation )( | ||
| 902 | ID3D12Debug6 * This, | ||
| 903 | BOOL Enable); | ||
| 904 | |||
| 905 | DECLSPEC_XFGVIRT(ID3D12Debug3, SetGPUBasedValidationFlags) | ||
| 906 | void ( STDMETHODCALLTYPE *SetGPUBasedValidationFlags )( | ||
| 907 | ID3D12Debug6 * This, | ||
| 908 | D3D12_GPU_BASED_VALIDATION_FLAGS Flags); | ||
| 909 | |||
| 910 | DECLSPEC_XFGVIRT(ID3D12Debug4, DisableDebugLayer) | ||
| 911 | void ( STDMETHODCALLTYPE *DisableDebugLayer )( | ||
| 912 | ID3D12Debug6 * This); | ||
| 913 | |||
| 914 | DECLSPEC_XFGVIRT(ID3D12Debug5, SetEnableAutoName) | ||
| 915 | void ( STDMETHODCALLTYPE *SetEnableAutoName )( | ||
| 916 | ID3D12Debug6 * This, | ||
| 917 | BOOL Enable); | ||
| 918 | |||
| 919 | DECLSPEC_XFGVIRT(ID3D12Debug6, SetForceLegacyBarrierValidation) | ||
| 920 | void ( STDMETHODCALLTYPE *SetForceLegacyBarrierValidation )( | ||
| 921 | ID3D12Debug6 * This, | ||
| 922 | BOOL Enable); | ||
| 923 | |||
| 924 | END_INTERFACE | ||
| 925 | } ID3D12Debug6Vtbl; | ||
| 926 | |||
| 927 | interface ID3D12Debug6 | ||
| 928 | { | ||
| 929 | CONST_VTBL struct ID3D12Debug6Vtbl *lpVtbl; | ||
| 930 | }; | ||
| 931 | |||
| 932 | |||
| 933 | |||
| 934 | #ifdef COBJMACROS | ||
| 935 | |||
| 936 | |||
| 937 | #define ID3D12Debug6_QueryInterface(This,riid,ppvObject) \ | ||
| 938 | ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) | ||
| 939 | |||
| 940 | #define ID3D12Debug6_AddRef(This) \ | ||
| 941 | ( (This)->lpVtbl -> AddRef(This) ) | ||
| 942 | |||
| 943 | #define ID3D12Debug6_Release(This) \ | ||
| 944 | ( (This)->lpVtbl -> Release(This) ) | ||
| 945 | |||
| 946 | |||
| 947 | #define ID3D12Debug6_EnableDebugLayer(This) \ | ||
| 948 | ( (This)->lpVtbl -> EnableDebugLayer(This) ) | ||
| 949 | |||
| 950 | |||
| 951 | #define ID3D12Debug6_SetEnableGPUBasedValidation(This,Enable) \ | ||
| 952 | ( (This)->lpVtbl -> SetEnableGPUBasedValidation(This,Enable) ) | ||
| 953 | |||
| 954 | #define ID3D12Debug6_SetEnableSynchronizedCommandQueueValidation(This,Enable) \ | ||
| 955 | ( (This)->lpVtbl -> SetEnableSynchronizedCommandQueueValidation(This,Enable) ) | ||
| 956 | |||
| 957 | #define ID3D12Debug6_SetGPUBasedValidationFlags(This,Flags) \ | ||
| 958 | ( (This)->lpVtbl -> SetGPUBasedValidationFlags(This,Flags) ) | ||
| 959 | |||
| 960 | |||
| 961 | #define ID3D12Debug6_DisableDebugLayer(This) \ | ||
| 962 | ( (This)->lpVtbl -> DisableDebugLayer(This) ) | ||
| 963 | |||
| 964 | |||
| 965 | #define ID3D12Debug6_SetEnableAutoName(This,Enable) \ | ||
| 966 | ( (This)->lpVtbl -> SetEnableAutoName(This,Enable) ) | ||
| 967 | |||
| 968 | |||
| 969 | #define ID3D12Debug6_SetForceLegacyBarrierValidation(This,Enable) \ | ||
| 970 | ( (This)->lpVtbl -> SetForceLegacyBarrierValidation(This,Enable) ) | ||
| 971 | |||
| 972 | #endif /* COBJMACROS */ | ||
| 973 | |||
| 974 | |||
| 975 | #endif /* C style interface */ | ||
| 976 | |||
| 977 | |||
| 978 | |||
| 979 | |||
| 980 | #endif /* __ID3D12Debug6_INTERFACE_DEFINED__ */ | ||
| 981 | |||
| 982 | |||
| 983 | /* interface __MIDL_itf_d3d12sdklayers_0000_0007 */ | ||
| 984 | /* [local] */ | ||
| 985 | |||
| 986 | DEFINE_GUID(WKPDID_D3DAutoDebugObjectNameW, 0xd4902e36, 0x757a, 0x4942, 0x95, 0x94, 0xb6, 0x76, 0x9a, 0xfa, 0x43, 0xcd); | ||
| 987 | typedef | ||
| 988 | enum D3D12_RLDO_FLAGS | ||
| 989 | { | ||
| 990 | D3D12_RLDO_NONE = 0, | ||
| 991 | D3D12_RLDO_SUMMARY = 0x1, | ||
| 992 | D3D12_RLDO_DETAIL = 0x2, | ||
| 993 | D3D12_RLDO_IGNORE_INTERNAL = 0x4 | ||
| 994 | } D3D12_RLDO_FLAGS; | ||
| 995 | |||
| 996 | DEFINE_ENUM_FLAG_OPERATORS(D3D12_RLDO_FLAGS) | ||
| 997 | typedef | ||
| 998 | enum D3D12_DEBUG_DEVICE_PARAMETER_TYPE | ||
| 999 | { | ||
| 1000 | D3D12_DEBUG_DEVICE_PARAMETER_FEATURE_FLAGS = 0, | ||
| 1001 | D3D12_DEBUG_DEVICE_PARAMETER_GPU_BASED_VALIDATION_SETTINGS = ( D3D12_DEBUG_DEVICE_PARAMETER_FEATURE_FLAGS + 1 ) , | ||
| 1002 | D3D12_DEBUG_DEVICE_PARAMETER_GPU_SLOWDOWN_PERFORMANCE_FACTOR = ( D3D12_DEBUG_DEVICE_PARAMETER_GPU_BASED_VALIDATION_SETTINGS + 1 ) , | ||
| 1003 | D3D12_DEBUG_DEVICE_PARAMETER_BYTECODE_VALIDATION_MODE = ( D3D12_DEBUG_DEVICE_PARAMETER_GPU_SLOWDOWN_PERFORMANCE_FACTOR + 1 ) | ||
| 1004 | } D3D12_DEBUG_DEVICE_PARAMETER_TYPE; | ||
| 1005 | |||
| 1006 | typedef | ||
| 1007 | enum D3D12_DEBUG_FEATURE | ||
| 1008 | { | ||
| 1009 | D3D12_DEBUG_FEATURE_NONE = 0, | ||
| 1010 | D3D12_DEBUG_FEATURE_ALLOW_BEHAVIOR_CHANGING_DEBUG_AIDS = 0x1, | ||
| 1011 | D3D12_DEBUG_FEATURE_CONSERVATIVE_RESOURCE_STATE_TRACKING = 0x2, | ||
| 1012 | D3D12_DEBUG_FEATURE_DISABLE_VIRTUALIZED_BUNDLES_VALIDATION = 0x4, | ||
| 1013 | D3D12_DEBUG_FEATURE_EMULATE_WINDOWS7 = 0x8 | ||
| 1014 | } D3D12_DEBUG_FEATURE; | ||
| 1015 | |||
| 1016 | DEFINE_ENUM_FLAG_OPERATORS(D3D12_DEBUG_FEATURE) | ||
| 1017 | typedef | ||
| 1018 | enum D3D12_GPU_BASED_VALIDATION_SHADER_PATCH_MODE | ||
| 1019 | { | ||
| 1020 | D3D12_GPU_BASED_VALIDATION_SHADER_PATCH_MODE_NONE = 0, | ||
| 1021 | D3D12_GPU_BASED_VALIDATION_SHADER_PATCH_MODE_STATE_TRACKING_ONLY = ( D3D12_GPU_BASED_VALIDATION_SHADER_PATCH_MODE_NONE + 1 ) , | ||
| 1022 | D3D12_GPU_BASED_VALIDATION_SHADER_PATCH_MODE_UNGUARDED_VALIDATION = ( D3D12_GPU_BASED_VALIDATION_SHADER_PATCH_MODE_STATE_TRACKING_ONLY + 1 ) , | ||
| 1023 | D3D12_GPU_BASED_VALIDATION_SHADER_PATCH_MODE_GUARDED_VALIDATION = ( D3D12_GPU_BASED_VALIDATION_SHADER_PATCH_MODE_UNGUARDED_VALIDATION + 1 ) , | ||
| 1024 | NUM_D3D12_GPU_BASED_VALIDATION_SHADER_PATCH_MODES = ( D3D12_GPU_BASED_VALIDATION_SHADER_PATCH_MODE_GUARDED_VALIDATION + 1 ) | ||
| 1025 | } D3D12_GPU_BASED_VALIDATION_SHADER_PATCH_MODE; | ||
| 1026 | |||
| 1027 | typedef | ||
| 1028 | enum D3D12_GPU_BASED_VALIDATION_PIPELINE_STATE_CREATE_FLAGS | ||
| 1029 | { | ||
| 1030 | D3D12_GPU_BASED_VALIDATION_PIPELINE_STATE_CREATE_FLAG_NONE = 0, | ||
| 1031 | D3D12_GPU_BASED_VALIDATION_PIPELINE_STATE_CREATE_FLAG_FRONT_LOAD_CREATE_TRACKING_ONLY_SHADERS = 0x1, | ||
| 1032 | D3D12_GPU_BASED_VALIDATION_PIPELINE_STATE_CREATE_FLAG_FRONT_LOAD_CREATE_UNGUARDED_VALIDATION_SHADERS = 0x2, | ||
| 1033 | D3D12_GPU_BASED_VALIDATION_PIPELINE_STATE_CREATE_FLAG_FRONT_LOAD_CREATE_GUARDED_VALIDATION_SHADERS = 0x4, | ||
| 1034 | D3D12_GPU_BASED_VALIDATION_PIPELINE_STATE_CREATE_FLAGS_VALID_MASK = 0x7 | ||
| 1035 | } D3D12_GPU_BASED_VALIDATION_PIPELINE_STATE_CREATE_FLAGS; | ||
| 1036 | |||
| 1037 | DEFINE_ENUM_FLAG_OPERATORS(D3D12_GPU_BASED_VALIDATION_PIPELINE_STATE_CREATE_FLAGS) | ||
| 1038 | typedef struct D3D12_DEBUG_DEVICE_GPU_BASED_VALIDATION_SETTINGS | ||
| 1039 | { | ||
| 1040 | UINT MaxMessagesPerCommandList; | ||
| 1041 | D3D12_GPU_BASED_VALIDATION_SHADER_PATCH_MODE DefaultShaderPatchMode; | ||
| 1042 | D3D12_GPU_BASED_VALIDATION_PIPELINE_STATE_CREATE_FLAGS PipelineStateCreateFlags; | ||
| 1043 | } D3D12_DEBUG_DEVICE_GPU_BASED_VALIDATION_SETTINGS; | ||
| 1044 | |||
| 1045 | typedef struct D3D12_DEBUG_DEVICE_GPU_SLOWDOWN_PERFORMANCE_FACTOR | ||
| 1046 | { | ||
| 1047 | FLOAT SlowdownFactor; | ||
| 1048 | } D3D12_DEBUG_DEVICE_GPU_SLOWDOWN_PERFORMANCE_FACTOR; | ||
| 1049 | |||
| 1050 | typedef | ||
| 1051 | enum D3D12_DEBUG_DEVICE_BYTECODE_VALIDATION_MODE | ||
| 1052 | { | ||
| 1053 | D3D12_DEBUG_DEVICE_BYTECODE_VALIDATION_DISABLED = 0, | ||
| 1054 | D3D12_DEBUG_DEVICE_BYTECODE_VALIDATION_WHEN_HASH_BYPASSED = ( D3D12_DEBUG_DEVICE_BYTECODE_VALIDATION_DISABLED + 1 ) , | ||
| 1055 | D3D12_DEBUG_DEVICE_BYTECODE_VALIDATION_ALL_BYTECODE = ( D3D12_DEBUG_DEVICE_BYTECODE_VALIDATION_WHEN_HASH_BYPASSED + 1 ) , | ||
| 1056 | D3D12_DEBUG_DEVICE_BYTECODE_VALIDATION_MODE_DEFAULT = D3D12_DEBUG_DEVICE_BYTECODE_VALIDATION_WHEN_HASH_BYPASSED | ||
| 1057 | } D3D12_DEBUG_DEVICE_BYTECODE_VALIDATION_MODE; | ||
| 1058 | |||
| 1059 | |||
| 1060 | |||
| 1061 | extern RPC_IF_HANDLE __MIDL_itf_d3d12sdklayers_0000_0007_v0_0_c_ifspec; | ||
| 1062 | extern RPC_IF_HANDLE __MIDL_itf_d3d12sdklayers_0000_0007_v0_0_s_ifspec; | ||
| 1063 | |||
| 1064 | #ifndef __ID3D12DebugDevice1_INTERFACE_DEFINED__ | ||
| 1065 | #define __ID3D12DebugDevice1_INTERFACE_DEFINED__ | ||
| 1066 | |||
| 1067 | /* interface ID3D12DebugDevice1 */ | ||
| 1068 | /* [unique][local][object][uuid] */ | ||
| 1069 | |||
| 1070 | |||
| 1071 | EXTERN_C const IID IID_ID3D12DebugDevice1; | ||
| 1072 | |||
| 1073 | #if defined(__cplusplus) && !defined(CINTERFACE) | ||
| 1074 | |||
| 1075 | MIDL_INTERFACE("a9b71770-d099-4a65-a698-3dee10020f88") | ||
| 1076 | ID3D12DebugDevice1 : public IUnknown | ||
| 1077 | { | ||
| 1078 | public: | ||
| 1079 | virtual HRESULT STDMETHODCALLTYPE SetDebugParameter( | ||
| 1080 | D3D12_DEBUG_DEVICE_PARAMETER_TYPE Type, | ||
| 1081 | _In_reads_bytes_(DataSize) const void *pData, | ||
| 1082 | UINT DataSize) = 0; | ||
| 1083 | |||
| 1084 | virtual HRESULT STDMETHODCALLTYPE GetDebugParameter( | ||
| 1085 | D3D12_DEBUG_DEVICE_PARAMETER_TYPE Type, | ||
| 1086 | _Out_writes_bytes_(DataSize) void *pData, | ||
| 1087 | UINT DataSize) = 0; | ||
| 1088 | |||
| 1089 | virtual HRESULT STDMETHODCALLTYPE ReportLiveDeviceObjects( | ||
| 1090 | D3D12_RLDO_FLAGS Flags) = 0; | ||
| 1091 | |||
| 1092 | }; | ||
| 1093 | |||
| 1094 | |||
| 1095 | #else /* C style interface */ | ||
| 1096 | |||
| 1097 | typedef struct ID3D12DebugDevice1Vtbl | ||
| 1098 | { | ||
| 1099 | BEGIN_INTERFACE | ||
| 1100 | |||
| 1101 | DECLSPEC_XFGVIRT(IUnknown, QueryInterface) | ||
| 1102 | HRESULT ( STDMETHODCALLTYPE *QueryInterface )( | ||
| 1103 | ID3D12DebugDevice1 * This, | ||
| 1104 | REFIID riid, | ||
| 1105 | _COM_Outptr_ void **ppvObject); | ||
| 1106 | |||
| 1107 | DECLSPEC_XFGVIRT(IUnknown, AddRef) | ||
| 1108 | ULONG ( STDMETHODCALLTYPE *AddRef )( | ||
| 1109 | ID3D12DebugDevice1 * This); | ||
| 1110 | |||
| 1111 | DECLSPEC_XFGVIRT(IUnknown, Release) | ||
| 1112 | ULONG ( STDMETHODCALLTYPE *Release )( | ||
| 1113 | ID3D12DebugDevice1 * This); | ||
| 1114 | |||
| 1115 | DECLSPEC_XFGVIRT(ID3D12DebugDevice1, SetDebugParameter) | ||
| 1116 | HRESULT ( STDMETHODCALLTYPE *SetDebugParameter )( | ||
| 1117 | ID3D12DebugDevice1 * This, | ||
| 1118 | D3D12_DEBUG_DEVICE_PARAMETER_TYPE Type, | ||
| 1119 | _In_reads_bytes_(DataSize) const void *pData, | ||
| 1120 | UINT DataSize); | ||
| 1121 | |||
| 1122 | DECLSPEC_XFGVIRT(ID3D12DebugDevice1, GetDebugParameter) | ||
| 1123 | HRESULT ( STDMETHODCALLTYPE *GetDebugParameter )( | ||
| 1124 | ID3D12DebugDevice1 * This, | ||
| 1125 | D3D12_DEBUG_DEVICE_PARAMETER_TYPE Type, | ||
| 1126 | _Out_writes_bytes_(DataSize) void *pData, | ||
| 1127 | UINT DataSize); | ||
| 1128 | |||
| 1129 | DECLSPEC_XFGVIRT(ID3D12DebugDevice1, ReportLiveDeviceObjects) | ||
| 1130 | HRESULT ( STDMETHODCALLTYPE *ReportLiveDeviceObjects )( | ||
| 1131 | ID3D12DebugDevice1 * This, | ||
| 1132 | D3D12_RLDO_FLAGS Flags); | ||
| 1133 | |||
| 1134 | END_INTERFACE | ||
| 1135 | } ID3D12DebugDevice1Vtbl; | ||
| 1136 | |||
| 1137 | interface ID3D12DebugDevice1 | ||
| 1138 | { | ||
| 1139 | CONST_VTBL struct ID3D12DebugDevice1Vtbl *lpVtbl; | ||
| 1140 | }; | ||
| 1141 | |||
| 1142 | |||
| 1143 | |||
| 1144 | #ifdef COBJMACROS | ||
| 1145 | |||
| 1146 | |||
| 1147 | #define ID3D12DebugDevice1_QueryInterface(This,riid,ppvObject) \ | ||
| 1148 | ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) | ||
| 1149 | |||
| 1150 | #define ID3D12DebugDevice1_AddRef(This) \ | ||
| 1151 | ( (This)->lpVtbl -> AddRef(This) ) | ||
| 1152 | |||
| 1153 | #define ID3D12DebugDevice1_Release(This) \ | ||
| 1154 | ( (This)->lpVtbl -> Release(This) ) | ||
| 1155 | |||
| 1156 | |||
| 1157 | #define ID3D12DebugDevice1_SetDebugParameter(This,Type,pData,DataSize) \ | ||
| 1158 | ( (This)->lpVtbl -> SetDebugParameter(This,Type,pData,DataSize) ) | ||
| 1159 | |||
| 1160 | #define ID3D12DebugDevice1_GetDebugParameter(This,Type,pData,DataSize) \ | ||
| 1161 | ( (This)->lpVtbl -> GetDebugParameter(This,Type,pData,DataSize) ) | ||
| 1162 | |||
| 1163 | #define ID3D12DebugDevice1_ReportLiveDeviceObjects(This,Flags) \ | ||
| 1164 | ( (This)->lpVtbl -> ReportLiveDeviceObjects(This,Flags) ) | ||
| 1165 | |||
| 1166 | #endif /* COBJMACROS */ | ||
| 1167 | |||
| 1168 | |||
| 1169 | #endif /* C style interface */ | ||
| 1170 | |||
| 1171 | |||
| 1172 | |||
| 1173 | |||
| 1174 | #endif /* __ID3D12DebugDevice1_INTERFACE_DEFINED__ */ | ||
| 1175 | |||
| 1176 | |||
| 1177 | #ifndef __ID3D12DebugDevice_INTERFACE_DEFINED__ | ||
| 1178 | #define __ID3D12DebugDevice_INTERFACE_DEFINED__ | ||
| 1179 | |||
| 1180 | /* interface ID3D12DebugDevice */ | ||
| 1181 | /* [unique][local][object][uuid] */ | ||
| 1182 | |||
| 1183 | |||
| 1184 | EXTERN_C const IID IID_ID3D12DebugDevice; | ||
| 1185 | |||
| 1186 | #if defined(__cplusplus) && !defined(CINTERFACE) | ||
| 1187 | |||
| 1188 | MIDL_INTERFACE("3febd6dd-4973-4787-8194-e45f9e28923e") | ||
| 1189 | ID3D12DebugDevice : public IUnknown | ||
| 1190 | { | ||
| 1191 | public: | ||
| 1192 | virtual HRESULT STDMETHODCALLTYPE SetFeatureMask( | ||
| 1193 | D3D12_DEBUG_FEATURE Mask) = 0; | ||
| 1194 | |||
| 1195 | virtual D3D12_DEBUG_FEATURE STDMETHODCALLTYPE GetFeatureMask( void) = 0; | ||
| 1196 | |||
| 1197 | virtual HRESULT STDMETHODCALLTYPE ReportLiveDeviceObjects( | ||
| 1198 | D3D12_RLDO_FLAGS Flags) = 0; | ||
| 1199 | |||
| 1200 | }; | ||
| 1201 | |||
| 1202 | |||
| 1203 | #else /* C style interface */ | ||
| 1204 | |||
| 1205 | typedef struct ID3D12DebugDeviceVtbl | ||
| 1206 | { | ||
| 1207 | BEGIN_INTERFACE | ||
| 1208 | |||
| 1209 | DECLSPEC_XFGVIRT(IUnknown, QueryInterface) | ||
| 1210 | HRESULT ( STDMETHODCALLTYPE *QueryInterface )( | ||
| 1211 | ID3D12DebugDevice * This, | ||
| 1212 | REFIID riid, | ||
| 1213 | _COM_Outptr_ void **ppvObject); | ||
| 1214 | |||
| 1215 | DECLSPEC_XFGVIRT(IUnknown, AddRef) | ||
| 1216 | ULONG ( STDMETHODCALLTYPE *AddRef )( | ||
| 1217 | ID3D12DebugDevice * This); | ||
| 1218 | |||
| 1219 | DECLSPEC_XFGVIRT(IUnknown, Release) | ||
| 1220 | ULONG ( STDMETHODCALLTYPE *Release )( | ||
| 1221 | ID3D12DebugDevice * This); | ||
| 1222 | |||
| 1223 | DECLSPEC_XFGVIRT(ID3D12DebugDevice, SetFeatureMask) | ||
| 1224 | HRESULT ( STDMETHODCALLTYPE *SetFeatureMask )( | ||
| 1225 | ID3D12DebugDevice * This, | ||
| 1226 | D3D12_DEBUG_FEATURE Mask); | ||
| 1227 | |||
| 1228 | DECLSPEC_XFGVIRT(ID3D12DebugDevice, GetFeatureMask) | ||
| 1229 | D3D12_DEBUG_FEATURE ( STDMETHODCALLTYPE *GetFeatureMask )( | ||
| 1230 | ID3D12DebugDevice * This); | ||
| 1231 | |||
| 1232 | DECLSPEC_XFGVIRT(ID3D12DebugDevice, ReportLiveDeviceObjects) | ||
| 1233 | HRESULT ( STDMETHODCALLTYPE *ReportLiveDeviceObjects )( | ||
| 1234 | ID3D12DebugDevice * This, | ||
| 1235 | D3D12_RLDO_FLAGS Flags); | ||
| 1236 | |||
| 1237 | END_INTERFACE | ||
| 1238 | } ID3D12DebugDeviceVtbl; | ||
| 1239 | |||
| 1240 | interface ID3D12DebugDevice | ||
| 1241 | { | ||
| 1242 | CONST_VTBL struct ID3D12DebugDeviceVtbl *lpVtbl; | ||
| 1243 | }; | ||
| 1244 | |||
| 1245 | |||
| 1246 | |||
| 1247 | #ifdef COBJMACROS | ||
| 1248 | |||
| 1249 | |||
| 1250 | #define ID3D12DebugDevice_QueryInterface(This,riid,ppvObject) \ | ||
| 1251 | ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) | ||
| 1252 | |||
| 1253 | #define ID3D12DebugDevice_AddRef(This) \ | ||
| 1254 | ( (This)->lpVtbl -> AddRef(This) ) | ||
| 1255 | |||
| 1256 | #define ID3D12DebugDevice_Release(This) \ | ||
| 1257 | ( (This)->lpVtbl -> Release(This) ) | ||
| 1258 | |||
| 1259 | |||
| 1260 | #define ID3D12DebugDevice_SetFeatureMask(This,Mask) \ | ||
| 1261 | ( (This)->lpVtbl -> SetFeatureMask(This,Mask) ) | ||
| 1262 | |||
| 1263 | #define ID3D12DebugDevice_GetFeatureMask(This) \ | ||
| 1264 | ( (This)->lpVtbl -> GetFeatureMask(This) ) | ||
| 1265 | |||
| 1266 | #define ID3D12DebugDevice_ReportLiveDeviceObjects(This,Flags) \ | ||
| 1267 | ( (This)->lpVtbl -> ReportLiveDeviceObjects(This,Flags) ) | ||
| 1268 | |||
| 1269 | #endif /* COBJMACROS */ | ||
| 1270 | |||
| 1271 | |||
| 1272 | #endif /* C style interface */ | ||
| 1273 | |||
| 1274 | |||
| 1275 | |||
| 1276 | |||
| 1277 | #endif /* __ID3D12DebugDevice_INTERFACE_DEFINED__ */ | ||
| 1278 | |||
| 1279 | |||
| 1280 | #ifndef __ID3D12DebugDevice2_INTERFACE_DEFINED__ | ||
| 1281 | #define __ID3D12DebugDevice2_INTERFACE_DEFINED__ | ||
| 1282 | |||
| 1283 | /* interface ID3D12DebugDevice2 */ | ||
| 1284 | /* [unique][local][object][uuid] */ | ||
| 1285 | |||
| 1286 | |||
| 1287 | EXTERN_C const IID IID_ID3D12DebugDevice2; | ||
| 1288 | |||
| 1289 | #if defined(__cplusplus) && !defined(CINTERFACE) | ||
| 1290 | |||
| 1291 | MIDL_INTERFACE("60eccbc1-378d-4df1-894c-f8ac5ce4d7dd") | ||
| 1292 | ID3D12DebugDevice2 : public ID3D12DebugDevice | ||
| 1293 | { | ||
| 1294 | public: | ||
| 1295 | virtual HRESULT STDMETHODCALLTYPE SetDebugParameter( | ||
| 1296 | D3D12_DEBUG_DEVICE_PARAMETER_TYPE Type, | ||
| 1297 | _In_reads_bytes_(DataSize) const void *pData, | ||
| 1298 | UINT DataSize) = 0; | ||
| 1299 | |||
| 1300 | virtual HRESULT STDMETHODCALLTYPE GetDebugParameter( | ||
| 1301 | D3D12_DEBUG_DEVICE_PARAMETER_TYPE Type, | ||
| 1302 | _Out_writes_bytes_(DataSize) void *pData, | ||
| 1303 | UINT DataSize) = 0; | ||
| 1304 | |||
| 1305 | }; | ||
| 1306 | |||
| 1307 | |||
| 1308 | #else /* C style interface */ | ||
| 1309 | |||
| 1310 | typedef struct ID3D12DebugDevice2Vtbl | ||
| 1311 | { | ||
| 1312 | BEGIN_INTERFACE | ||
| 1313 | |||
| 1314 | DECLSPEC_XFGVIRT(IUnknown, QueryInterface) | ||
| 1315 | HRESULT ( STDMETHODCALLTYPE *QueryInterface )( | ||
| 1316 | ID3D12DebugDevice2 * This, | ||
| 1317 | REFIID riid, | ||
| 1318 | _COM_Outptr_ void **ppvObject); | ||
| 1319 | |||
| 1320 | DECLSPEC_XFGVIRT(IUnknown, AddRef) | ||
| 1321 | ULONG ( STDMETHODCALLTYPE *AddRef )( | ||
| 1322 | ID3D12DebugDevice2 * This); | ||
| 1323 | |||
| 1324 | DECLSPEC_XFGVIRT(IUnknown, Release) | ||
| 1325 | ULONG ( STDMETHODCALLTYPE *Release )( | ||
| 1326 | ID3D12DebugDevice2 * This); | ||
| 1327 | |||
| 1328 | DECLSPEC_XFGVIRT(ID3D12DebugDevice, SetFeatureMask) | ||
| 1329 | HRESULT ( STDMETHODCALLTYPE *SetFeatureMask )( | ||
| 1330 | ID3D12DebugDevice2 * This, | ||
| 1331 | D3D12_DEBUG_FEATURE Mask); | ||
| 1332 | |||
| 1333 | DECLSPEC_XFGVIRT(ID3D12DebugDevice, GetFeatureMask) | ||
| 1334 | D3D12_DEBUG_FEATURE ( STDMETHODCALLTYPE *GetFeatureMask )( | ||
| 1335 | ID3D12DebugDevice2 * This); | ||
| 1336 | |||
| 1337 | DECLSPEC_XFGVIRT(ID3D12DebugDevice, ReportLiveDeviceObjects) | ||
| 1338 | HRESULT ( STDMETHODCALLTYPE *ReportLiveDeviceObjects )( | ||
| 1339 | ID3D12DebugDevice2 * This, | ||
| 1340 | D3D12_RLDO_FLAGS Flags); | ||
| 1341 | |||
| 1342 | DECLSPEC_XFGVIRT(ID3D12DebugDevice2, SetDebugParameter) | ||
| 1343 | HRESULT ( STDMETHODCALLTYPE *SetDebugParameter )( | ||
| 1344 | ID3D12DebugDevice2 * This, | ||
| 1345 | D3D12_DEBUG_DEVICE_PARAMETER_TYPE Type, | ||
| 1346 | _In_reads_bytes_(DataSize) const void *pData, | ||
| 1347 | UINT DataSize); | ||
| 1348 | |||
| 1349 | DECLSPEC_XFGVIRT(ID3D12DebugDevice2, GetDebugParameter) | ||
| 1350 | HRESULT ( STDMETHODCALLTYPE *GetDebugParameter )( | ||
| 1351 | ID3D12DebugDevice2 * This, | ||
| 1352 | D3D12_DEBUG_DEVICE_PARAMETER_TYPE Type, | ||
| 1353 | _Out_writes_bytes_(DataSize) void *pData, | ||
| 1354 | UINT DataSize); | ||
| 1355 | |||
| 1356 | END_INTERFACE | ||
| 1357 | } ID3D12DebugDevice2Vtbl; | ||
| 1358 | |||
| 1359 | interface ID3D12DebugDevice2 | ||
| 1360 | { | ||
| 1361 | CONST_VTBL struct ID3D12DebugDevice2Vtbl *lpVtbl; | ||
| 1362 | }; | ||
| 1363 | |||
| 1364 | |||
| 1365 | |||
| 1366 | #ifdef COBJMACROS | ||
| 1367 | |||
| 1368 | |||
| 1369 | #define ID3D12DebugDevice2_QueryInterface(This,riid,ppvObject) \ | ||
| 1370 | ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) | ||
| 1371 | |||
| 1372 | #define ID3D12DebugDevice2_AddRef(This) \ | ||
| 1373 | ( (This)->lpVtbl -> AddRef(This) ) | ||
| 1374 | |||
| 1375 | #define ID3D12DebugDevice2_Release(This) \ | ||
| 1376 | ( (This)->lpVtbl -> Release(This) ) | ||
| 1377 | |||
| 1378 | |||
| 1379 | #define ID3D12DebugDevice2_SetFeatureMask(This,Mask) \ | ||
| 1380 | ( (This)->lpVtbl -> SetFeatureMask(This,Mask) ) | ||
| 1381 | |||
| 1382 | #define ID3D12DebugDevice2_GetFeatureMask(This) \ | ||
| 1383 | ( (This)->lpVtbl -> GetFeatureMask(This) ) | ||
| 1384 | |||
| 1385 | #define ID3D12DebugDevice2_ReportLiveDeviceObjects(This,Flags) \ | ||
| 1386 | ( (This)->lpVtbl -> ReportLiveDeviceObjects(This,Flags) ) | ||
| 1387 | |||
| 1388 | |||
| 1389 | #define ID3D12DebugDevice2_SetDebugParameter(This,Type,pData,DataSize) \ | ||
| 1390 | ( (This)->lpVtbl -> SetDebugParameter(This,Type,pData,DataSize) ) | ||
| 1391 | |||
| 1392 | #define ID3D12DebugDevice2_GetDebugParameter(This,Type,pData,DataSize) \ | ||
| 1393 | ( (This)->lpVtbl -> GetDebugParameter(This,Type,pData,DataSize) ) | ||
| 1394 | |||
| 1395 | #endif /* COBJMACROS */ | ||
| 1396 | |||
| 1397 | |||
| 1398 | #endif /* C style interface */ | ||
| 1399 | |||
| 1400 | |||
| 1401 | |||
| 1402 | |||
| 1403 | #endif /* __ID3D12DebugDevice2_INTERFACE_DEFINED__ */ | ||
| 1404 | |||
| 1405 | |||
| 1406 | /* interface __MIDL_itf_d3d12sdklayers_0000_0010 */ | ||
| 1407 | /* [local] */ | ||
| 1408 | |||
| 1409 | DEFINE_GUID(DXGI_DEBUG_D3D12, 0xcf59a98c, 0xa950, 0x4326, 0x91, 0xef, 0x9b, 0xba, 0xa1, 0x7b, 0xfd, 0x95); | ||
| 1410 | |||
| 1411 | |||
| 1412 | extern RPC_IF_HANDLE __MIDL_itf_d3d12sdklayers_0000_0010_v0_0_c_ifspec; | ||
| 1413 | extern RPC_IF_HANDLE __MIDL_itf_d3d12sdklayers_0000_0010_v0_0_s_ifspec; | ||
| 1414 | |||
| 1415 | #ifndef __ID3D12DebugCommandQueue_INTERFACE_DEFINED__ | ||
| 1416 | #define __ID3D12DebugCommandQueue_INTERFACE_DEFINED__ | ||
| 1417 | |||
| 1418 | /* interface ID3D12DebugCommandQueue */ | ||
| 1419 | /* [unique][local][object][uuid] */ | ||
| 1420 | |||
| 1421 | |||
| 1422 | EXTERN_C const IID IID_ID3D12DebugCommandQueue; | ||
| 1423 | |||
| 1424 | #if defined(__cplusplus) && !defined(CINTERFACE) | ||
| 1425 | |||
| 1426 | MIDL_INTERFACE("09e0bf36-54ac-484f-8847-4baeeab6053a") | ||
| 1427 | ID3D12DebugCommandQueue : public IUnknown | ||
| 1428 | { | ||
| 1429 | public: | ||
| 1430 | virtual BOOL STDMETHODCALLTYPE AssertResourceState( | ||
| 1431 | _In_ ID3D12Resource *pResource, | ||
| 1432 | UINT Subresource, | ||
| 1433 | UINT State) = 0; | ||
| 1434 | |||
| 1435 | }; | ||
| 1436 | |||
| 1437 | |||
| 1438 | #else /* C style interface */ | ||
| 1439 | |||
| 1440 | typedef struct ID3D12DebugCommandQueueVtbl | ||
| 1441 | { | ||
| 1442 | BEGIN_INTERFACE | ||
| 1443 | |||
| 1444 | DECLSPEC_XFGVIRT(IUnknown, QueryInterface) | ||
| 1445 | HRESULT ( STDMETHODCALLTYPE *QueryInterface )( | ||
| 1446 | ID3D12DebugCommandQueue * This, | ||
| 1447 | REFIID riid, | ||
| 1448 | _COM_Outptr_ void **ppvObject); | ||
| 1449 | |||
| 1450 | DECLSPEC_XFGVIRT(IUnknown, AddRef) | ||
| 1451 | ULONG ( STDMETHODCALLTYPE *AddRef )( | ||
| 1452 | ID3D12DebugCommandQueue * This); | ||
| 1453 | |||
| 1454 | DECLSPEC_XFGVIRT(IUnknown, Release) | ||
| 1455 | ULONG ( STDMETHODCALLTYPE *Release )( | ||
| 1456 | ID3D12DebugCommandQueue * This); | ||
| 1457 | |||
| 1458 | DECLSPEC_XFGVIRT(ID3D12DebugCommandQueue, AssertResourceState) | ||
| 1459 | BOOL ( STDMETHODCALLTYPE *AssertResourceState )( | ||
| 1460 | ID3D12DebugCommandQueue * This, | ||
| 1461 | _In_ ID3D12Resource *pResource, | ||
| 1462 | UINT Subresource, | ||
| 1463 | UINT State); | ||
| 1464 | |||
| 1465 | END_INTERFACE | ||
| 1466 | } ID3D12DebugCommandQueueVtbl; | ||
| 1467 | |||
| 1468 | interface ID3D12DebugCommandQueue | ||
| 1469 | { | ||
| 1470 | CONST_VTBL struct ID3D12DebugCommandQueueVtbl *lpVtbl; | ||
| 1471 | }; | ||
| 1472 | |||
| 1473 | |||
| 1474 | |||
| 1475 | #ifdef COBJMACROS | ||
| 1476 | |||
| 1477 | |||
| 1478 | #define ID3D12DebugCommandQueue_QueryInterface(This,riid,ppvObject) \ | ||
| 1479 | ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) | ||
| 1480 | |||
| 1481 | #define ID3D12DebugCommandQueue_AddRef(This) \ | ||
| 1482 | ( (This)->lpVtbl -> AddRef(This) ) | ||
| 1483 | |||
| 1484 | #define ID3D12DebugCommandQueue_Release(This) \ | ||
| 1485 | ( (This)->lpVtbl -> Release(This) ) | ||
| 1486 | |||
| 1487 | |||
| 1488 | #define ID3D12DebugCommandQueue_AssertResourceState(This,pResource,Subresource,State) \ | ||
| 1489 | ( (This)->lpVtbl -> AssertResourceState(This,pResource,Subresource,State) ) | ||
| 1490 | |||
| 1491 | #endif /* COBJMACROS */ | ||
| 1492 | |||
| 1493 | |||
| 1494 | #endif /* C style interface */ | ||
| 1495 | |||
| 1496 | |||
| 1497 | |||
| 1498 | |||
| 1499 | #endif /* __ID3D12DebugCommandQueue_INTERFACE_DEFINED__ */ | ||
| 1500 | |||
| 1501 | |||
| 1502 | #ifndef __ID3D12DebugCommandQueue1_INTERFACE_DEFINED__ | ||
| 1503 | #define __ID3D12DebugCommandQueue1_INTERFACE_DEFINED__ | ||
| 1504 | |||
| 1505 | /* interface ID3D12DebugCommandQueue1 */ | ||
| 1506 | /* [unique][local][object][uuid] */ | ||
| 1507 | |||
| 1508 | |||
| 1509 | EXTERN_C const IID IID_ID3D12DebugCommandQueue1; | ||
| 1510 | |||
| 1511 | #if defined(__cplusplus) && !defined(CINTERFACE) | ||
| 1512 | |||
| 1513 | MIDL_INTERFACE("16be35a2-bfd6-49f2-bcae-eaae4aff862d") | ||
| 1514 | ID3D12DebugCommandQueue1 : public ID3D12DebugCommandQueue | ||
| 1515 | { | ||
| 1516 | public: | ||
| 1517 | virtual void STDMETHODCALLTYPE AssertResourceAccess( | ||
| 1518 | _In_ ID3D12Resource *pResource, | ||
| 1519 | UINT Subresource, | ||
| 1520 | D3D12_BARRIER_ACCESS Access) = 0; | ||
| 1521 | |||
| 1522 | virtual void STDMETHODCALLTYPE AssertTextureLayout( | ||
| 1523 | _In_ ID3D12Resource *pResource, | ||
| 1524 | UINT Subresource, | ||
| 1525 | D3D12_BARRIER_LAYOUT Layout) = 0; | ||
| 1526 | |||
| 1527 | }; | ||
| 1528 | |||
| 1529 | |||
| 1530 | #else /* C style interface */ | ||
| 1531 | |||
| 1532 | typedef struct ID3D12DebugCommandQueue1Vtbl | ||
| 1533 | { | ||
| 1534 | BEGIN_INTERFACE | ||
| 1535 | |||
| 1536 | DECLSPEC_XFGVIRT(IUnknown, QueryInterface) | ||
| 1537 | HRESULT ( STDMETHODCALLTYPE *QueryInterface )( | ||
| 1538 | ID3D12DebugCommandQueue1 * This, | ||
| 1539 | REFIID riid, | ||
| 1540 | _COM_Outptr_ void **ppvObject); | ||
| 1541 | |||
| 1542 | DECLSPEC_XFGVIRT(IUnknown, AddRef) | ||
| 1543 | ULONG ( STDMETHODCALLTYPE *AddRef )( | ||
| 1544 | ID3D12DebugCommandQueue1 * This); | ||
| 1545 | |||
| 1546 | DECLSPEC_XFGVIRT(IUnknown, Release) | ||
| 1547 | ULONG ( STDMETHODCALLTYPE *Release )( | ||
| 1548 | ID3D12DebugCommandQueue1 * This); | ||
| 1549 | |||
| 1550 | DECLSPEC_XFGVIRT(ID3D12DebugCommandQueue, AssertResourceState) | ||
| 1551 | BOOL ( STDMETHODCALLTYPE *AssertResourceState )( | ||
| 1552 | ID3D12DebugCommandQueue1 * This, | ||
| 1553 | _In_ ID3D12Resource *pResource, | ||
| 1554 | UINT Subresource, | ||
| 1555 | UINT State); | ||
| 1556 | |||
| 1557 | DECLSPEC_XFGVIRT(ID3D12DebugCommandQueue1, AssertResourceAccess) | ||
| 1558 | void ( STDMETHODCALLTYPE *AssertResourceAccess )( | ||
| 1559 | ID3D12DebugCommandQueue1 * This, | ||
| 1560 | _In_ ID3D12Resource *pResource, | ||
| 1561 | UINT Subresource, | ||
| 1562 | D3D12_BARRIER_ACCESS Access); | ||
| 1563 | |||
| 1564 | DECLSPEC_XFGVIRT(ID3D12DebugCommandQueue1, AssertTextureLayout) | ||
| 1565 | void ( STDMETHODCALLTYPE *AssertTextureLayout )( | ||
| 1566 | ID3D12DebugCommandQueue1 * This, | ||
| 1567 | _In_ ID3D12Resource *pResource, | ||
| 1568 | UINT Subresource, | ||
| 1569 | D3D12_BARRIER_LAYOUT Layout); | ||
| 1570 | |||
| 1571 | END_INTERFACE | ||
| 1572 | } ID3D12DebugCommandQueue1Vtbl; | ||
| 1573 | |||
| 1574 | interface ID3D12DebugCommandQueue1 | ||
| 1575 | { | ||
| 1576 | CONST_VTBL struct ID3D12DebugCommandQueue1Vtbl *lpVtbl; | ||
| 1577 | }; | ||
| 1578 | |||
| 1579 | |||
| 1580 | |||
| 1581 | #ifdef COBJMACROS | ||
| 1582 | |||
| 1583 | |||
| 1584 | #define ID3D12DebugCommandQueue1_QueryInterface(This,riid,ppvObject) \ | ||
| 1585 | ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) | ||
| 1586 | |||
| 1587 | #define ID3D12DebugCommandQueue1_AddRef(This) \ | ||
| 1588 | ( (This)->lpVtbl -> AddRef(This) ) | ||
| 1589 | |||
| 1590 | #define ID3D12DebugCommandQueue1_Release(This) \ | ||
| 1591 | ( (This)->lpVtbl -> Release(This) ) | ||
| 1592 | |||
| 1593 | |||
| 1594 | #define ID3D12DebugCommandQueue1_AssertResourceState(This,pResource,Subresource,State) \ | ||
| 1595 | ( (This)->lpVtbl -> AssertResourceState(This,pResource,Subresource,State) ) | ||
| 1596 | |||
| 1597 | |||
| 1598 | #define ID3D12DebugCommandQueue1_AssertResourceAccess(This,pResource,Subresource,Access) \ | ||
| 1599 | ( (This)->lpVtbl -> AssertResourceAccess(This,pResource,Subresource,Access) ) | ||
| 1600 | |||
| 1601 | #define ID3D12DebugCommandQueue1_AssertTextureLayout(This,pResource,Subresource,Layout) \ | ||
| 1602 | ( (This)->lpVtbl -> AssertTextureLayout(This,pResource,Subresource,Layout) ) | ||
| 1603 | |||
| 1604 | #endif /* COBJMACROS */ | ||
| 1605 | |||
| 1606 | |||
| 1607 | #endif /* C style interface */ | ||
| 1608 | |||
| 1609 | |||
| 1610 | |||
| 1611 | |||
| 1612 | #endif /* __ID3D12DebugCommandQueue1_INTERFACE_DEFINED__ */ | ||
| 1613 | |||
| 1614 | |||
| 1615 | /* interface __MIDL_itf_d3d12sdklayers_0000_0012 */ | ||
| 1616 | /* [local] */ | ||
| 1617 | |||
| 1618 | typedef | ||
| 1619 | enum D3D12_DEBUG_COMMAND_LIST_PARAMETER_TYPE | ||
| 1620 | { | ||
| 1621 | D3D12_DEBUG_COMMAND_LIST_PARAMETER_GPU_BASED_VALIDATION_SETTINGS = 0 | ||
| 1622 | } D3D12_DEBUG_COMMAND_LIST_PARAMETER_TYPE; | ||
| 1623 | |||
| 1624 | typedef struct D3D12_DEBUG_COMMAND_LIST_GPU_BASED_VALIDATION_SETTINGS | ||
| 1625 | { | ||
| 1626 | D3D12_GPU_BASED_VALIDATION_SHADER_PATCH_MODE ShaderPatchMode; | ||
| 1627 | } D3D12_DEBUG_COMMAND_LIST_GPU_BASED_VALIDATION_SETTINGS; | ||
| 1628 | |||
| 1629 | |||
| 1630 | |||
| 1631 | extern RPC_IF_HANDLE __MIDL_itf_d3d12sdklayers_0000_0012_v0_0_c_ifspec; | ||
| 1632 | extern RPC_IF_HANDLE __MIDL_itf_d3d12sdklayers_0000_0012_v0_0_s_ifspec; | ||
| 1633 | |||
| 1634 | #ifndef __ID3D12DebugCommandList1_INTERFACE_DEFINED__ | ||
| 1635 | #define __ID3D12DebugCommandList1_INTERFACE_DEFINED__ | ||
| 1636 | |||
| 1637 | /* interface ID3D12DebugCommandList1 */ | ||
| 1638 | /* [unique][local][object][uuid] */ | ||
| 1639 | |||
| 1640 | |||
| 1641 | EXTERN_C const IID IID_ID3D12DebugCommandList1; | ||
| 1642 | |||
| 1643 | #if defined(__cplusplus) && !defined(CINTERFACE) | ||
| 1644 | |||
| 1645 | MIDL_INTERFACE("102ca951-311b-4b01-b11f-ecb83e061b37") | ||
| 1646 | ID3D12DebugCommandList1 : public IUnknown | ||
| 1647 | { | ||
| 1648 | public: | ||
| 1649 | virtual BOOL STDMETHODCALLTYPE AssertResourceState( | ||
| 1650 | _In_ ID3D12Resource *pResource, | ||
| 1651 | UINT Subresource, | ||
| 1652 | UINT State) = 0; | ||
| 1653 | |||
| 1654 | virtual HRESULT STDMETHODCALLTYPE SetDebugParameter( | ||
| 1655 | D3D12_DEBUG_COMMAND_LIST_PARAMETER_TYPE Type, | ||
| 1656 | _In_reads_bytes_(DataSize) const void *pData, | ||
| 1657 | UINT DataSize) = 0; | ||
| 1658 | |||
| 1659 | virtual HRESULT STDMETHODCALLTYPE GetDebugParameter( | ||
| 1660 | D3D12_DEBUG_COMMAND_LIST_PARAMETER_TYPE Type, | ||
| 1661 | _Out_writes_bytes_(DataSize) void *pData, | ||
| 1662 | UINT DataSize) = 0; | ||
| 1663 | |||
| 1664 | }; | ||
| 1665 | |||
| 1666 | |||
| 1667 | #else /* C style interface */ | ||
| 1668 | |||
| 1669 | typedef struct ID3D12DebugCommandList1Vtbl | ||
| 1670 | { | ||
| 1671 | BEGIN_INTERFACE | ||
| 1672 | |||
| 1673 | DECLSPEC_XFGVIRT(IUnknown, QueryInterface) | ||
| 1674 | HRESULT ( STDMETHODCALLTYPE *QueryInterface )( | ||
| 1675 | ID3D12DebugCommandList1 * This, | ||
| 1676 | REFIID riid, | ||
| 1677 | _COM_Outptr_ void **ppvObject); | ||
| 1678 | |||
| 1679 | DECLSPEC_XFGVIRT(IUnknown, AddRef) | ||
| 1680 | ULONG ( STDMETHODCALLTYPE *AddRef )( | ||
| 1681 | ID3D12DebugCommandList1 * This); | ||
| 1682 | |||
| 1683 | DECLSPEC_XFGVIRT(IUnknown, Release) | ||
| 1684 | ULONG ( STDMETHODCALLTYPE *Release )( | ||
| 1685 | ID3D12DebugCommandList1 * This); | ||
| 1686 | |||
| 1687 | DECLSPEC_XFGVIRT(ID3D12DebugCommandList1, AssertResourceState) | ||
| 1688 | BOOL ( STDMETHODCALLTYPE *AssertResourceState )( | ||
| 1689 | ID3D12DebugCommandList1 * This, | ||
| 1690 | _In_ ID3D12Resource *pResource, | ||
| 1691 | UINT Subresource, | ||
| 1692 | UINT State); | ||
| 1693 | |||
| 1694 | DECLSPEC_XFGVIRT(ID3D12DebugCommandList1, SetDebugParameter) | ||
| 1695 | HRESULT ( STDMETHODCALLTYPE *SetDebugParameter )( | ||
| 1696 | ID3D12DebugCommandList1 * This, | ||
| 1697 | D3D12_DEBUG_COMMAND_LIST_PARAMETER_TYPE Type, | ||
| 1698 | _In_reads_bytes_(DataSize) const void *pData, | ||
| 1699 | UINT DataSize); | ||
| 1700 | |||
| 1701 | DECLSPEC_XFGVIRT(ID3D12DebugCommandList1, GetDebugParameter) | ||
| 1702 | HRESULT ( STDMETHODCALLTYPE *GetDebugParameter )( | ||
| 1703 | ID3D12DebugCommandList1 * This, | ||
| 1704 | D3D12_DEBUG_COMMAND_LIST_PARAMETER_TYPE Type, | ||
| 1705 | _Out_writes_bytes_(DataSize) void *pData, | ||
| 1706 | UINT DataSize); | ||
| 1707 | |||
| 1708 | END_INTERFACE | ||
| 1709 | } ID3D12DebugCommandList1Vtbl; | ||
| 1710 | |||
| 1711 | interface ID3D12DebugCommandList1 | ||
| 1712 | { | ||
| 1713 | CONST_VTBL struct ID3D12DebugCommandList1Vtbl *lpVtbl; | ||
| 1714 | }; | ||
| 1715 | |||
| 1716 | |||
| 1717 | |||
| 1718 | #ifdef COBJMACROS | ||
| 1719 | |||
| 1720 | |||
| 1721 | #define ID3D12DebugCommandList1_QueryInterface(This,riid,ppvObject) \ | ||
| 1722 | ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) | ||
| 1723 | |||
| 1724 | #define ID3D12DebugCommandList1_AddRef(This) \ | ||
| 1725 | ( (This)->lpVtbl -> AddRef(This) ) | ||
| 1726 | |||
| 1727 | #define ID3D12DebugCommandList1_Release(This) \ | ||
| 1728 | ( (This)->lpVtbl -> Release(This) ) | ||
| 1729 | |||
| 1730 | |||
| 1731 | #define ID3D12DebugCommandList1_AssertResourceState(This,pResource,Subresource,State) \ | ||
| 1732 | ( (This)->lpVtbl -> AssertResourceState(This,pResource,Subresource,State) ) | ||
| 1733 | |||
| 1734 | #define ID3D12DebugCommandList1_SetDebugParameter(This,Type,pData,DataSize) \ | ||
| 1735 | ( (This)->lpVtbl -> SetDebugParameter(This,Type,pData,DataSize) ) | ||
| 1736 | |||
| 1737 | #define ID3D12DebugCommandList1_GetDebugParameter(This,Type,pData,DataSize) \ | ||
| 1738 | ( (This)->lpVtbl -> GetDebugParameter(This,Type,pData,DataSize) ) | ||
| 1739 | |||
| 1740 | #endif /* COBJMACROS */ | ||
| 1741 | |||
| 1742 | |||
| 1743 | #endif /* C style interface */ | ||
| 1744 | |||
| 1745 | |||
| 1746 | |||
| 1747 | |||
| 1748 | #endif /* __ID3D12DebugCommandList1_INTERFACE_DEFINED__ */ | ||
| 1749 | |||
| 1750 | |||
| 1751 | #ifndef __ID3D12DebugCommandList_INTERFACE_DEFINED__ | ||
| 1752 | #define __ID3D12DebugCommandList_INTERFACE_DEFINED__ | ||
| 1753 | |||
| 1754 | /* interface ID3D12DebugCommandList */ | ||
| 1755 | /* [unique][local][object][uuid] */ | ||
| 1756 | |||
| 1757 | |||
| 1758 | EXTERN_C const IID IID_ID3D12DebugCommandList; | ||
| 1759 | |||
| 1760 | #if defined(__cplusplus) && !defined(CINTERFACE) | ||
| 1761 | |||
| 1762 | MIDL_INTERFACE("09e0bf36-54ac-484f-8847-4baeeab6053f") | ||
| 1763 | ID3D12DebugCommandList : public IUnknown | ||
| 1764 | { | ||
| 1765 | public: | ||
| 1766 | virtual BOOL STDMETHODCALLTYPE AssertResourceState( | ||
| 1767 | _In_ ID3D12Resource *pResource, | ||
| 1768 | UINT Subresource, | ||
| 1769 | UINT State) = 0; | ||
| 1770 | |||
| 1771 | virtual HRESULT STDMETHODCALLTYPE SetFeatureMask( | ||
| 1772 | D3D12_DEBUG_FEATURE Mask) = 0; | ||
| 1773 | |||
| 1774 | virtual D3D12_DEBUG_FEATURE STDMETHODCALLTYPE GetFeatureMask( void) = 0; | ||
| 1775 | |||
| 1776 | }; | ||
| 1777 | |||
| 1778 | |||
| 1779 | #else /* C style interface */ | ||
| 1780 | |||
| 1781 | typedef struct ID3D12DebugCommandListVtbl | ||
| 1782 | { | ||
| 1783 | BEGIN_INTERFACE | ||
| 1784 | |||
| 1785 | DECLSPEC_XFGVIRT(IUnknown, QueryInterface) | ||
| 1786 | HRESULT ( STDMETHODCALLTYPE *QueryInterface )( | ||
| 1787 | ID3D12DebugCommandList * This, | ||
| 1788 | REFIID riid, | ||
| 1789 | _COM_Outptr_ void **ppvObject); | ||
| 1790 | |||
| 1791 | DECLSPEC_XFGVIRT(IUnknown, AddRef) | ||
| 1792 | ULONG ( STDMETHODCALLTYPE *AddRef )( | ||
| 1793 | ID3D12DebugCommandList * This); | ||
| 1794 | |||
| 1795 | DECLSPEC_XFGVIRT(IUnknown, Release) | ||
| 1796 | ULONG ( STDMETHODCALLTYPE *Release )( | ||
| 1797 | ID3D12DebugCommandList * This); | ||
| 1798 | |||
| 1799 | DECLSPEC_XFGVIRT(ID3D12DebugCommandList, AssertResourceState) | ||
| 1800 | BOOL ( STDMETHODCALLTYPE *AssertResourceState )( | ||
| 1801 | ID3D12DebugCommandList * This, | ||
| 1802 | _In_ ID3D12Resource *pResource, | ||
| 1803 | UINT Subresource, | ||
| 1804 | UINT State); | ||
| 1805 | |||
| 1806 | DECLSPEC_XFGVIRT(ID3D12DebugCommandList, SetFeatureMask) | ||
| 1807 | HRESULT ( STDMETHODCALLTYPE *SetFeatureMask )( | ||
| 1808 | ID3D12DebugCommandList * This, | ||
| 1809 | D3D12_DEBUG_FEATURE Mask); | ||
| 1810 | |||
| 1811 | DECLSPEC_XFGVIRT(ID3D12DebugCommandList, GetFeatureMask) | ||
| 1812 | D3D12_DEBUG_FEATURE ( STDMETHODCALLTYPE *GetFeatureMask )( | ||
| 1813 | ID3D12DebugCommandList * This); | ||
| 1814 | |||
| 1815 | END_INTERFACE | ||
| 1816 | } ID3D12DebugCommandListVtbl; | ||
| 1817 | |||
| 1818 | interface ID3D12DebugCommandList | ||
| 1819 | { | ||
| 1820 | CONST_VTBL struct ID3D12DebugCommandListVtbl *lpVtbl; | ||
| 1821 | }; | ||
| 1822 | |||
| 1823 | |||
| 1824 | |||
| 1825 | #ifdef COBJMACROS | ||
| 1826 | |||
| 1827 | |||
| 1828 | #define ID3D12DebugCommandList_QueryInterface(This,riid,ppvObject) \ | ||
| 1829 | ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) | ||
| 1830 | |||
| 1831 | #define ID3D12DebugCommandList_AddRef(This) \ | ||
| 1832 | ( (This)->lpVtbl -> AddRef(This) ) | ||
| 1833 | |||
| 1834 | #define ID3D12DebugCommandList_Release(This) \ | ||
| 1835 | ( (This)->lpVtbl -> Release(This) ) | ||
| 1836 | |||
| 1837 | |||
| 1838 | #define ID3D12DebugCommandList_AssertResourceState(This,pResource,Subresource,State) \ | ||
| 1839 | ( (This)->lpVtbl -> AssertResourceState(This,pResource,Subresource,State) ) | ||
| 1840 | |||
| 1841 | #define ID3D12DebugCommandList_SetFeatureMask(This,Mask) \ | ||
| 1842 | ( (This)->lpVtbl -> SetFeatureMask(This,Mask) ) | ||
| 1843 | |||
| 1844 | #define ID3D12DebugCommandList_GetFeatureMask(This) \ | ||
| 1845 | ( (This)->lpVtbl -> GetFeatureMask(This) ) | ||
| 1846 | |||
| 1847 | #endif /* COBJMACROS */ | ||
| 1848 | |||
| 1849 | |||
| 1850 | #endif /* C style interface */ | ||
| 1851 | |||
| 1852 | |||
| 1853 | |||
| 1854 | |||
| 1855 | #endif /* __ID3D12DebugCommandList_INTERFACE_DEFINED__ */ | ||
| 1856 | |||
| 1857 | |||
| 1858 | #ifndef __ID3D12DebugCommandList2_INTERFACE_DEFINED__ | ||
| 1859 | #define __ID3D12DebugCommandList2_INTERFACE_DEFINED__ | ||
| 1860 | |||
| 1861 | /* interface ID3D12DebugCommandList2 */ | ||
| 1862 | /* [unique][local][object][uuid] */ | ||
| 1863 | |||
| 1864 | |||
| 1865 | EXTERN_C const IID IID_ID3D12DebugCommandList2; | ||
| 1866 | |||
| 1867 | #if defined(__cplusplus) && !defined(CINTERFACE) | ||
| 1868 | |||
| 1869 | MIDL_INTERFACE("aeb575cf-4e06-48be-ba3b-c450fc96652e") | ||
| 1870 | ID3D12DebugCommandList2 : public ID3D12DebugCommandList | ||
| 1871 | { | ||
| 1872 | public: | ||
| 1873 | virtual HRESULT STDMETHODCALLTYPE SetDebugParameter( | ||
| 1874 | D3D12_DEBUG_COMMAND_LIST_PARAMETER_TYPE Type, | ||
| 1875 | _In_reads_bytes_(DataSize) const void *pData, | ||
| 1876 | UINT DataSize) = 0; | ||
| 1877 | |||
| 1878 | virtual HRESULT STDMETHODCALLTYPE GetDebugParameter( | ||
| 1879 | D3D12_DEBUG_COMMAND_LIST_PARAMETER_TYPE Type, | ||
| 1880 | _Out_writes_bytes_(DataSize) void *pData, | ||
| 1881 | UINT DataSize) = 0; | ||
| 1882 | |||
| 1883 | }; | ||
| 1884 | |||
| 1885 | |||
| 1886 | #else /* C style interface */ | ||
| 1887 | |||
| 1888 | typedef struct ID3D12DebugCommandList2Vtbl | ||
| 1889 | { | ||
| 1890 | BEGIN_INTERFACE | ||
| 1891 | |||
| 1892 | DECLSPEC_XFGVIRT(IUnknown, QueryInterface) | ||
| 1893 | HRESULT ( STDMETHODCALLTYPE *QueryInterface )( | ||
| 1894 | ID3D12DebugCommandList2 * This, | ||
| 1895 | REFIID riid, | ||
| 1896 | _COM_Outptr_ void **ppvObject); | ||
| 1897 | |||
| 1898 | DECLSPEC_XFGVIRT(IUnknown, AddRef) | ||
| 1899 | ULONG ( STDMETHODCALLTYPE *AddRef )( | ||
| 1900 | ID3D12DebugCommandList2 * This); | ||
| 1901 | |||
| 1902 | DECLSPEC_XFGVIRT(IUnknown, Release) | ||
| 1903 | ULONG ( STDMETHODCALLTYPE *Release )( | ||
| 1904 | ID3D12DebugCommandList2 * This); | ||
| 1905 | |||
| 1906 | DECLSPEC_XFGVIRT(ID3D12DebugCommandList, AssertResourceState) | ||
| 1907 | BOOL ( STDMETHODCALLTYPE *AssertResourceState )( | ||
| 1908 | ID3D12DebugCommandList2 * This, | ||
| 1909 | _In_ ID3D12Resource *pResource, | ||
| 1910 | UINT Subresource, | ||
| 1911 | UINT State); | ||
| 1912 | |||
| 1913 | DECLSPEC_XFGVIRT(ID3D12DebugCommandList, SetFeatureMask) | ||
| 1914 | HRESULT ( STDMETHODCALLTYPE *SetFeatureMask )( | ||
| 1915 | ID3D12DebugCommandList2 * This, | ||
| 1916 | D3D12_DEBUG_FEATURE Mask); | ||
| 1917 | |||
| 1918 | DECLSPEC_XFGVIRT(ID3D12DebugCommandList, GetFeatureMask) | ||
| 1919 | D3D12_DEBUG_FEATURE ( STDMETHODCALLTYPE *GetFeatureMask )( | ||
| 1920 | ID3D12DebugCommandList2 * This); | ||
| 1921 | |||
| 1922 | DECLSPEC_XFGVIRT(ID3D12DebugCommandList2, SetDebugParameter) | ||
| 1923 | HRESULT ( STDMETHODCALLTYPE *SetDebugParameter )( | ||
| 1924 | ID3D12DebugCommandList2 * This, | ||
| 1925 | D3D12_DEBUG_COMMAND_LIST_PARAMETER_TYPE Type, | ||
| 1926 | _In_reads_bytes_(DataSize) const void *pData, | ||
| 1927 | UINT DataSize); | ||
| 1928 | |||
| 1929 | DECLSPEC_XFGVIRT(ID3D12DebugCommandList2, GetDebugParameter) | ||
| 1930 | HRESULT ( STDMETHODCALLTYPE *GetDebugParameter )( | ||
| 1931 | ID3D12DebugCommandList2 * This, | ||
| 1932 | D3D12_DEBUG_COMMAND_LIST_PARAMETER_TYPE Type, | ||
| 1933 | _Out_writes_bytes_(DataSize) void *pData, | ||
| 1934 | UINT DataSize); | ||
| 1935 | |||
| 1936 | END_INTERFACE | ||
| 1937 | } ID3D12DebugCommandList2Vtbl; | ||
| 1938 | |||
| 1939 | interface ID3D12DebugCommandList2 | ||
| 1940 | { | ||
| 1941 | CONST_VTBL struct ID3D12DebugCommandList2Vtbl *lpVtbl; | ||
| 1942 | }; | ||
| 1943 | |||
| 1944 | |||
| 1945 | |||
| 1946 | #ifdef COBJMACROS | ||
| 1947 | |||
| 1948 | |||
| 1949 | #define ID3D12DebugCommandList2_QueryInterface(This,riid,ppvObject) \ | ||
| 1950 | ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) | ||
| 1951 | |||
| 1952 | #define ID3D12DebugCommandList2_AddRef(This) \ | ||
| 1953 | ( (This)->lpVtbl -> AddRef(This) ) | ||
| 1954 | |||
| 1955 | #define ID3D12DebugCommandList2_Release(This) \ | ||
| 1956 | ( (This)->lpVtbl -> Release(This) ) | ||
| 1957 | |||
| 1958 | |||
| 1959 | #define ID3D12DebugCommandList2_AssertResourceState(This,pResource,Subresource,State) \ | ||
| 1960 | ( (This)->lpVtbl -> AssertResourceState(This,pResource,Subresource,State) ) | ||
| 1961 | |||
| 1962 | #define ID3D12DebugCommandList2_SetFeatureMask(This,Mask) \ | ||
| 1963 | ( (This)->lpVtbl -> SetFeatureMask(This,Mask) ) | ||
| 1964 | |||
| 1965 | #define ID3D12DebugCommandList2_GetFeatureMask(This) \ | ||
| 1966 | ( (This)->lpVtbl -> GetFeatureMask(This) ) | ||
| 1967 | |||
| 1968 | |||
| 1969 | #define ID3D12DebugCommandList2_SetDebugParameter(This,Type,pData,DataSize) \ | ||
| 1970 | ( (This)->lpVtbl -> SetDebugParameter(This,Type,pData,DataSize) ) | ||
| 1971 | |||
| 1972 | #define ID3D12DebugCommandList2_GetDebugParameter(This,Type,pData,DataSize) \ | ||
| 1973 | ( (This)->lpVtbl -> GetDebugParameter(This,Type,pData,DataSize) ) | ||
| 1974 | |||
| 1975 | #endif /* COBJMACROS */ | ||
| 1976 | |||
| 1977 | |||
| 1978 | #endif /* C style interface */ | ||
| 1979 | |||
| 1980 | |||
| 1981 | |||
| 1982 | |||
| 1983 | #endif /* __ID3D12DebugCommandList2_INTERFACE_DEFINED__ */ | ||
| 1984 | |||
| 1985 | |||
| 1986 | #ifndef __ID3D12DebugCommandList3_INTERFACE_DEFINED__ | ||
| 1987 | #define __ID3D12DebugCommandList3_INTERFACE_DEFINED__ | ||
| 1988 | |||
| 1989 | /* interface ID3D12DebugCommandList3 */ | ||
| 1990 | /* [unique][local][object][uuid] */ | ||
| 1991 | |||
| 1992 | |||
| 1993 | EXTERN_C const IID IID_ID3D12DebugCommandList3; | ||
| 1994 | |||
| 1995 | #if defined(__cplusplus) && !defined(CINTERFACE) | ||
| 1996 | |||
| 1997 | MIDL_INTERFACE("197d5e15-4d37-4d34-af78-724cd70fdb1f") | ||
| 1998 | ID3D12DebugCommandList3 : public ID3D12DebugCommandList2 | ||
| 1999 | { | ||
| 2000 | public: | ||
| 2001 | virtual void STDMETHODCALLTYPE AssertResourceAccess( | ||
| 2002 | _In_ ID3D12Resource *pResource, | ||
| 2003 | UINT Subresource, | ||
| 2004 | D3D12_BARRIER_ACCESS Access) = 0; | ||
| 2005 | |||
| 2006 | virtual void STDMETHODCALLTYPE AssertTextureLayout( | ||
| 2007 | _In_ ID3D12Resource *pResource, | ||
| 2008 | UINT Subresource, | ||
| 2009 | D3D12_BARRIER_LAYOUT Layout) = 0; | ||
| 2010 | |||
| 2011 | }; | ||
| 2012 | |||
| 2013 | |||
| 2014 | #else /* C style interface */ | ||
| 2015 | |||
| 2016 | typedef struct ID3D12DebugCommandList3Vtbl | ||
| 2017 | { | ||
| 2018 | BEGIN_INTERFACE | ||
| 2019 | |||
| 2020 | DECLSPEC_XFGVIRT(IUnknown, QueryInterface) | ||
| 2021 | HRESULT ( STDMETHODCALLTYPE *QueryInterface )( | ||
| 2022 | ID3D12DebugCommandList3 * This, | ||
| 2023 | REFIID riid, | ||
| 2024 | _COM_Outptr_ void **ppvObject); | ||
| 2025 | |||
| 2026 | DECLSPEC_XFGVIRT(IUnknown, AddRef) | ||
| 2027 | ULONG ( STDMETHODCALLTYPE *AddRef )( | ||
| 2028 | ID3D12DebugCommandList3 * This); | ||
| 2029 | |||
| 2030 | DECLSPEC_XFGVIRT(IUnknown, Release) | ||
| 2031 | ULONG ( STDMETHODCALLTYPE *Release )( | ||
| 2032 | ID3D12DebugCommandList3 * This); | ||
| 2033 | |||
| 2034 | DECLSPEC_XFGVIRT(ID3D12DebugCommandList, AssertResourceState) | ||
| 2035 | BOOL ( STDMETHODCALLTYPE *AssertResourceState )( | ||
| 2036 | ID3D12DebugCommandList3 * This, | ||
| 2037 | _In_ ID3D12Resource *pResource, | ||
| 2038 | UINT Subresource, | ||
| 2039 | UINT State); | ||
| 2040 | |||
| 2041 | DECLSPEC_XFGVIRT(ID3D12DebugCommandList, SetFeatureMask) | ||
| 2042 | HRESULT ( STDMETHODCALLTYPE *SetFeatureMask )( | ||
| 2043 | ID3D12DebugCommandList3 * This, | ||
| 2044 | D3D12_DEBUG_FEATURE Mask); | ||
| 2045 | |||
| 2046 | DECLSPEC_XFGVIRT(ID3D12DebugCommandList, GetFeatureMask) | ||
| 2047 | D3D12_DEBUG_FEATURE ( STDMETHODCALLTYPE *GetFeatureMask )( | ||
| 2048 | ID3D12DebugCommandList3 * This); | ||
| 2049 | |||
| 2050 | DECLSPEC_XFGVIRT(ID3D12DebugCommandList2, SetDebugParameter) | ||
| 2051 | HRESULT ( STDMETHODCALLTYPE *SetDebugParameter )( | ||
| 2052 | ID3D12DebugCommandList3 * This, | ||
| 2053 | D3D12_DEBUG_COMMAND_LIST_PARAMETER_TYPE Type, | ||
| 2054 | _In_reads_bytes_(DataSize) const void *pData, | ||
| 2055 | UINT DataSize); | ||
| 2056 | |||
| 2057 | DECLSPEC_XFGVIRT(ID3D12DebugCommandList2, GetDebugParameter) | ||
| 2058 | HRESULT ( STDMETHODCALLTYPE *GetDebugParameter )( | ||
| 2059 | ID3D12DebugCommandList3 * This, | ||
| 2060 | D3D12_DEBUG_COMMAND_LIST_PARAMETER_TYPE Type, | ||
| 2061 | _Out_writes_bytes_(DataSize) void *pData, | ||
| 2062 | UINT DataSize); | ||
| 2063 | |||
| 2064 | DECLSPEC_XFGVIRT(ID3D12DebugCommandList3, AssertResourceAccess) | ||
| 2065 | void ( STDMETHODCALLTYPE *AssertResourceAccess )( | ||
| 2066 | ID3D12DebugCommandList3 * This, | ||
| 2067 | _In_ ID3D12Resource *pResource, | ||
| 2068 | UINT Subresource, | ||
| 2069 | D3D12_BARRIER_ACCESS Access); | ||
| 2070 | |||
| 2071 | DECLSPEC_XFGVIRT(ID3D12DebugCommandList3, AssertTextureLayout) | ||
| 2072 | void ( STDMETHODCALLTYPE *AssertTextureLayout )( | ||
| 2073 | ID3D12DebugCommandList3 * This, | ||
| 2074 | _In_ ID3D12Resource *pResource, | ||
| 2075 | UINT Subresource, | ||
| 2076 | D3D12_BARRIER_LAYOUT Layout); | ||
| 2077 | |||
| 2078 | END_INTERFACE | ||
| 2079 | } ID3D12DebugCommandList3Vtbl; | ||
| 2080 | |||
| 2081 | interface ID3D12DebugCommandList3 | ||
| 2082 | { | ||
| 2083 | CONST_VTBL struct ID3D12DebugCommandList3Vtbl *lpVtbl; | ||
| 2084 | }; | ||
| 2085 | |||
| 2086 | |||
| 2087 | |||
| 2088 | #ifdef COBJMACROS | ||
| 2089 | |||
| 2090 | |||
| 2091 | #define ID3D12DebugCommandList3_QueryInterface(This,riid,ppvObject) \ | ||
| 2092 | ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) | ||
| 2093 | |||
| 2094 | #define ID3D12DebugCommandList3_AddRef(This) \ | ||
| 2095 | ( (This)->lpVtbl -> AddRef(This) ) | ||
| 2096 | |||
| 2097 | #define ID3D12DebugCommandList3_Release(This) \ | ||
| 2098 | ( (This)->lpVtbl -> Release(This) ) | ||
| 2099 | |||
| 2100 | |||
| 2101 | #define ID3D12DebugCommandList3_AssertResourceState(This,pResource,Subresource,State) \ | ||
| 2102 | ( (This)->lpVtbl -> AssertResourceState(This,pResource,Subresource,State) ) | ||
| 2103 | |||
| 2104 | #define ID3D12DebugCommandList3_SetFeatureMask(This,Mask) \ | ||
| 2105 | ( (This)->lpVtbl -> SetFeatureMask(This,Mask) ) | ||
| 2106 | |||
| 2107 | #define ID3D12DebugCommandList3_GetFeatureMask(This) \ | ||
| 2108 | ( (This)->lpVtbl -> GetFeatureMask(This) ) | ||
| 2109 | |||
| 2110 | |||
| 2111 | #define ID3D12DebugCommandList3_SetDebugParameter(This,Type,pData,DataSize) \ | ||
| 2112 | ( (This)->lpVtbl -> SetDebugParameter(This,Type,pData,DataSize) ) | ||
| 2113 | |||
| 2114 | #define ID3D12DebugCommandList3_GetDebugParameter(This,Type,pData,DataSize) \ | ||
| 2115 | ( (This)->lpVtbl -> GetDebugParameter(This,Type,pData,DataSize) ) | ||
| 2116 | |||
| 2117 | |||
| 2118 | #define ID3D12DebugCommandList3_AssertResourceAccess(This,pResource,Subresource,Access) \ | ||
| 2119 | ( (This)->lpVtbl -> AssertResourceAccess(This,pResource,Subresource,Access) ) | ||
| 2120 | |||
| 2121 | #define ID3D12DebugCommandList3_AssertTextureLayout(This,pResource,Subresource,Layout) \ | ||
| 2122 | ( (This)->lpVtbl -> AssertTextureLayout(This,pResource,Subresource,Layout) ) | ||
| 2123 | |||
| 2124 | #endif /* COBJMACROS */ | ||
| 2125 | |||
| 2126 | |||
| 2127 | #endif /* C style interface */ | ||
| 2128 | |||
| 2129 | |||
| 2130 | |||
| 2131 | |||
| 2132 | #endif /* __ID3D12DebugCommandList3_INTERFACE_DEFINED__ */ | ||
| 2133 | |||
| 2134 | |||
| 2135 | #ifndef __ID3D12SharingContract_INTERFACE_DEFINED__ | ||
| 2136 | #define __ID3D12SharingContract_INTERFACE_DEFINED__ | ||
| 2137 | |||
| 2138 | /* interface ID3D12SharingContract */ | ||
| 2139 | /* [unique][local][object][uuid] */ | ||
| 2140 | |||
| 2141 | |||
| 2142 | EXTERN_C const IID IID_ID3D12SharingContract; | ||
| 2143 | |||
| 2144 | #if defined(__cplusplus) && !defined(CINTERFACE) | ||
| 2145 | |||
| 2146 | MIDL_INTERFACE("0adf7d52-929c-4e61-addb-ffed30de66ef") | ||
| 2147 | ID3D12SharingContract : public IUnknown | ||
| 2148 | { | ||
| 2149 | public: | ||
| 2150 | virtual void STDMETHODCALLTYPE Present( | ||
| 2151 | _In_ ID3D12Resource *pResource, | ||
| 2152 | UINT Subresource, | ||
| 2153 | _In_ HWND window) = 0; | ||
| 2154 | |||
| 2155 | virtual void STDMETHODCALLTYPE SharedFenceSignal( | ||
| 2156 | _In_ ID3D12Fence *pFence, | ||
| 2157 | UINT64 FenceValue) = 0; | ||
| 2158 | |||
| 2159 | virtual void STDMETHODCALLTYPE BeginCapturableWork( | ||
| 2160 | _In_ REFGUID guid) = 0; | ||
| 2161 | |||
| 2162 | virtual void STDMETHODCALLTYPE EndCapturableWork( | ||
| 2163 | _In_ REFGUID guid) = 0; | ||
| 2164 | |||
| 2165 | }; | ||
| 2166 | |||
| 2167 | |||
| 2168 | #else /* C style interface */ | ||
| 2169 | |||
| 2170 | typedef struct ID3D12SharingContractVtbl | ||
| 2171 | { | ||
| 2172 | BEGIN_INTERFACE | ||
| 2173 | |||
| 2174 | DECLSPEC_XFGVIRT(IUnknown, QueryInterface) | ||
| 2175 | HRESULT ( STDMETHODCALLTYPE *QueryInterface )( | ||
| 2176 | ID3D12SharingContract * This, | ||
| 2177 | REFIID riid, | ||
| 2178 | _COM_Outptr_ void **ppvObject); | ||
| 2179 | |||
| 2180 | DECLSPEC_XFGVIRT(IUnknown, AddRef) | ||
| 2181 | ULONG ( STDMETHODCALLTYPE *AddRef )( | ||
| 2182 | ID3D12SharingContract * This); | ||
| 2183 | |||
| 2184 | DECLSPEC_XFGVIRT(IUnknown, Release) | ||
| 2185 | ULONG ( STDMETHODCALLTYPE *Release )( | ||
| 2186 | ID3D12SharingContract * This); | ||
| 2187 | |||
| 2188 | DECLSPEC_XFGVIRT(ID3D12SharingContract, Present) | ||
| 2189 | void ( STDMETHODCALLTYPE *Present )( | ||
| 2190 | ID3D12SharingContract * This, | ||
| 2191 | _In_ ID3D12Resource *pResource, | ||
| 2192 | UINT Subresource, | ||
| 2193 | _In_ HWND window); | ||
| 2194 | |||
| 2195 | DECLSPEC_XFGVIRT(ID3D12SharingContract, SharedFenceSignal) | ||
| 2196 | void ( STDMETHODCALLTYPE *SharedFenceSignal )( | ||
| 2197 | ID3D12SharingContract * This, | ||
| 2198 | _In_ ID3D12Fence *pFence, | ||
| 2199 | UINT64 FenceValue); | ||
| 2200 | |||
| 2201 | DECLSPEC_XFGVIRT(ID3D12SharingContract, BeginCapturableWork) | ||
| 2202 | void ( STDMETHODCALLTYPE *BeginCapturableWork )( | ||
| 2203 | ID3D12SharingContract * This, | ||
| 2204 | _In_ REFGUID guid); | ||
| 2205 | |||
| 2206 | DECLSPEC_XFGVIRT(ID3D12SharingContract, EndCapturableWork) | ||
| 2207 | void ( STDMETHODCALLTYPE *EndCapturableWork )( | ||
| 2208 | ID3D12SharingContract * This, | ||
| 2209 | _In_ REFGUID guid); | ||
| 2210 | |||
| 2211 | END_INTERFACE | ||
| 2212 | } ID3D12SharingContractVtbl; | ||
| 2213 | |||
| 2214 | interface ID3D12SharingContract | ||
| 2215 | { | ||
| 2216 | CONST_VTBL struct ID3D12SharingContractVtbl *lpVtbl; | ||
| 2217 | }; | ||
| 2218 | |||
| 2219 | |||
| 2220 | |||
| 2221 | #ifdef COBJMACROS | ||
| 2222 | |||
| 2223 | |||
| 2224 | #define ID3D12SharingContract_QueryInterface(This,riid,ppvObject) \ | ||
| 2225 | ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) | ||
| 2226 | |||
| 2227 | #define ID3D12SharingContract_AddRef(This) \ | ||
| 2228 | ( (This)->lpVtbl -> AddRef(This) ) | ||
| 2229 | |||
| 2230 | #define ID3D12SharingContract_Release(This) \ | ||
| 2231 | ( (This)->lpVtbl -> Release(This) ) | ||
| 2232 | |||
| 2233 | |||
| 2234 | #define ID3D12SharingContract_Present(This,pResource,Subresource,window) \ | ||
| 2235 | ( (This)->lpVtbl -> Present(This,pResource,Subresource,window) ) | ||
| 2236 | |||
| 2237 | #define ID3D12SharingContract_SharedFenceSignal(This,pFence,FenceValue) \ | ||
| 2238 | ( (This)->lpVtbl -> SharedFenceSignal(This,pFence,FenceValue) ) | ||
| 2239 | |||
| 2240 | #define ID3D12SharingContract_BeginCapturableWork(This,guid) \ | ||
| 2241 | ( (This)->lpVtbl -> BeginCapturableWork(This,guid) ) | ||
| 2242 | |||
| 2243 | #define ID3D12SharingContract_EndCapturableWork(This,guid) \ | ||
| 2244 | ( (This)->lpVtbl -> EndCapturableWork(This,guid) ) | ||
| 2245 | |||
| 2246 | #endif /* COBJMACROS */ | ||
| 2247 | |||
| 2248 | |||
| 2249 | #endif /* C style interface */ | ||
| 2250 | |||
| 2251 | |||
| 2252 | |||
| 2253 | |||
| 2254 | #endif /* __ID3D12SharingContract_INTERFACE_DEFINED__ */ | ||
| 2255 | |||
| 2256 | |||
| 2257 | #ifndef __ID3D12ManualWriteTrackingResource_INTERFACE_DEFINED__ | ||
| 2258 | #define __ID3D12ManualWriteTrackingResource_INTERFACE_DEFINED__ | ||
| 2259 | |||
| 2260 | /* interface ID3D12ManualWriteTrackingResource */ | ||
| 2261 | /* [unique][local][object][uuid] */ | ||
| 2262 | |||
| 2263 | |||
| 2264 | EXTERN_C const IID IID_ID3D12ManualWriteTrackingResource; | ||
| 2265 | |||
| 2266 | #if defined(__cplusplus) && !defined(CINTERFACE) | ||
| 2267 | |||
| 2268 | MIDL_INTERFACE("86ca3b85-49ad-4b6e-aed5-eddb18540f41") | ||
| 2269 | ID3D12ManualWriteTrackingResource : public IUnknown | ||
| 2270 | { | ||
| 2271 | public: | ||
| 2272 | virtual void STDMETHODCALLTYPE TrackWrite( | ||
| 2273 | UINT Subresource, | ||
| 2274 | _In_opt_ const D3D12_RANGE *pWrittenRange) = 0; | ||
| 2275 | |||
| 2276 | }; | ||
| 2277 | |||
| 2278 | |||
| 2279 | #else /* C style interface */ | ||
| 2280 | |||
| 2281 | typedef struct ID3D12ManualWriteTrackingResourceVtbl | ||
| 2282 | { | ||
| 2283 | BEGIN_INTERFACE | ||
| 2284 | |||
| 2285 | DECLSPEC_XFGVIRT(IUnknown, QueryInterface) | ||
| 2286 | HRESULT ( STDMETHODCALLTYPE *QueryInterface )( | ||
| 2287 | ID3D12ManualWriteTrackingResource * This, | ||
| 2288 | REFIID riid, | ||
| 2289 | _COM_Outptr_ void **ppvObject); | ||
| 2290 | |||
| 2291 | DECLSPEC_XFGVIRT(IUnknown, AddRef) | ||
| 2292 | ULONG ( STDMETHODCALLTYPE *AddRef )( | ||
| 2293 | ID3D12ManualWriteTrackingResource * This); | ||
| 2294 | |||
| 2295 | DECLSPEC_XFGVIRT(IUnknown, Release) | ||
| 2296 | ULONG ( STDMETHODCALLTYPE *Release )( | ||
| 2297 | ID3D12ManualWriteTrackingResource * This); | ||
| 2298 | |||
| 2299 | DECLSPEC_XFGVIRT(ID3D12ManualWriteTrackingResource, TrackWrite) | ||
| 2300 | void ( STDMETHODCALLTYPE *TrackWrite )( | ||
| 2301 | ID3D12ManualWriteTrackingResource * This, | ||
| 2302 | UINT Subresource, | ||
| 2303 | _In_opt_ const D3D12_RANGE *pWrittenRange); | ||
| 2304 | |||
| 2305 | END_INTERFACE | ||
| 2306 | } ID3D12ManualWriteTrackingResourceVtbl; | ||
| 2307 | |||
| 2308 | interface ID3D12ManualWriteTrackingResource | ||
| 2309 | { | ||
| 2310 | CONST_VTBL struct ID3D12ManualWriteTrackingResourceVtbl *lpVtbl; | ||
| 2311 | }; | ||
| 2312 | |||
| 2313 | |||
| 2314 | |||
| 2315 | #ifdef COBJMACROS | ||
| 2316 | |||
| 2317 | |||
| 2318 | #define ID3D12ManualWriteTrackingResource_QueryInterface(This,riid,ppvObject) \ | ||
| 2319 | ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) | ||
| 2320 | |||
| 2321 | #define ID3D12ManualWriteTrackingResource_AddRef(This) \ | ||
| 2322 | ( (This)->lpVtbl -> AddRef(This) ) | ||
| 2323 | |||
| 2324 | #define ID3D12ManualWriteTrackingResource_Release(This) \ | ||
| 2325 | ( (This)->lpVtbl -> Release(This) ) | ||
| 2326 | |||
| 2327 | |||
| 2328 | #define ID3D12ManualWriteTrackingResource_TrackWrite(This,Subresource,pWrittenRange) \ | ||
| 2329 | ( (This)->lpVtbl -> TrackWrite(This,Subresource,pWrittenRange) ) | ||
| 2330 | |||
| 2331 | #endif /* COBJMACROS */ | ||
| 2332 | |||
| 2333 | |||
| 2334 | #endif /* C style interface */ | ||
| 2335 | |||
| 2336 | |||
| 2337 | |||
| 2338 | |||
| 2339 | #endif /* __ID3D12ManualWriteTrackingResource_INTERFACE_DEFINED__ */ | ||
| 2340 | |||
| 2341 | |||
| 2342 | /* interface __MIDL_itf_d3d12sdklayers_0000_0018 */ | ||
| 2343 | /* [local] */ | ||
| 2344 | |||
| 2345 | typedef | ||
| 2346 | enum D3D12_MESSAGE_CATEGORY | ||
| 2347 | { | ||
| 2348 | D3D12_MESSAGE_CATEGORY_APPLICATION_DEFINED = 0, | ||
| 2349 | D3D12_MESSAGE_CATEGORY_MISCELLANEOUS = ( D3D12_MESSAGE_CATEGORY_APPLICATION_DEFINED + 1 ) , | ||
| 2350 | D3D12_MESSAGE_CATEGORY_INITIALIZATION = ( D3D12_MESSAGE_CATEGORY_MISCELLANEOUS + 1 ) , | ||
| 2351 | D3D12_MESSAGE_CATEGORY_CLEANUP = ( D3D12_MESSAGE_CATEGORY_INITIALIZATION + 1 ) , | ||
| 2352 | D3D12_MESSAGE_CATEGORY_COMPILATION = ( D3D12_MESSAGE_CATEGORY_CLEANUP + 1 ) , | ||
| 2353 | D3D12_MESSAGE_CATEGORY_STATE_CREATION = ( D3D12_MESSAGE_CATEGORY_COMPILATION + 1 ) , | ||
| 2354 | D3D12_MESSAGE_CATEGORY_STATE_SETTING = ( D3D12_MESSAGE_CATEGORY_STATE_CREATION + 1 ) , | ||
| 2355 | D3D12_MESSAGE_CATEGORY_STATE_GETTING = ( D3D12_MESSAGE_CATEGORY_STATE_SETTING + 1 ) , | ||
| 2356 | D3D12_MESSAGE_CATEGORY_RESOURCE_MANIPULATION = ( D3D12_MESSAGE_CATEGORY_STATE_GETTING + 1 ) , | ||
| 2357 | D3D12_MESSAGE_CATEGORY_EXECUTION = ( D3D12_MESSAGE_CATEGORY_RESOURCE_MANIPULATION + 1 ) , | ||
| 2358 | D3D12_MESSAGE_CATEGORY_SHADER = ( D3D12_MESSAGE_CATEGORY_EXECUTION + 1 ) | ||
| 2359 | } D3D12_MESSAGE_CATEGORY; | ||
| 2360 | |||
| 2361 | typedef | ||
| 2362 | enum D3D12_MESSAGE_SEVERITY | ||
| 2363 | { | ||
| 2364 | D3D12_MESSAGE_SEVERITY_CORRUPTION = 0, | ||
| 2365 | D3D12_MESSAGE_SEVERITY_ERROR = ( D3D12_MESSAGE_SEVERITY_CORRUPTION + 1 ) , | ||
| 2366 | D3D12_MESSAGE_SEVERITY_WARNING = ( D3D12_MESSAGE_SEVERITY_ERROR + 1 ) , | ||
| 2367 | D3D12_MESSAGE_SEVERITY_INFO = ( D3D12_MESSAGE_SEVERITY_WARNING + 1 ) , | ||
| 2368 | D3D12_MESSAGE_SEVERITY_MESSAGE = ( D3D12_MESSAGE_SEVERITY_INFO + 1 ) | ||
| 2369 | } D3D12_MESSAGE_SEVERITY; | ||
| 2370 | |||
| 2371 | typedef | ||
| 2372 | enum D3D12_MESSAGE_ID | ||
| 2373 | { | ||
| 2374 | D3D12_MESSAGE_ID_UNKNOWN = 0, | ||
| 2375 | D3D12_MESSAGE_ID_STRING_FROM_APPLICATION = 1, | ||
| 2376 | D3D12_MESSAGE_ID_CORRUPTED_THIS = 2, | ||
| 2377 | D3D12_MESSAGE_ID_CORRUPTED_PARAMETER1 = 3, | ||
| 2378 | D3D12_MESSAGE_ID_CORRUPTED_PARAMETER2 = 4, | ||
| 2379 | D3D12_MESSAGE_ID_CORRUPTED_PARAMETER3 = 5, | ||
| 2380 | D3D12_MESSAGE_ID_CORRUPTED_PARAMETER4 = 6, | ||
| 2381 | D3D12_MESSAGE_ID_CORRUPTED_PARAMETER5 = 7, | ||
| 2382 | D3D12_MESSAGE_ID_CORRUPTED_PARAMETER6 = 8, | ||
| 2383 | D3D12_MESSAGE_ID_CORRUPTED_PARAMETER7 = 9, | ||
| 2384 | D3D12_MESSAGE_ID_CORRUPTED_PARAMETER8 = 10, | ||
| 2385 | D3D12_MESSAGE_ID_CORRUPTED_PARAMETER9 = 11, | ||
| 2386 | D3D12_MESSAGE_ID_CORRUPTED_PARAMETER10 = 12, | ||
| 2387 | D3D12_MESSAGE_ID_CORRUPTED_PARAMETER11 = 13, | ||
| 2388 | D3D12_MESSAGE_ID_CORRUPTED_PARAMETER12 = 14, | ||
| 2389 | D3D12_MESSAGE_ID_CORRUPTED_PARAMETER13 = 15, | ||
| 2390 | D3D12_MESSAGE_ID_CORRUPTED_PARAMETER14 = 16, | ||
| 2391 | D3D12_MESSAGE_ID_CORRUPTED_PARAMETER15 = 17, | ||
| 2392 | D3D12_MESSAGE_ID_CORRUPTED_MULTITHREADING = 18, | ||
| 2393 | D3D12_MESSAGE_ID_MESSAGE_REPORTING_OUTOFMEMORY = 19, | ||
| 2394 | D3D12_MESSAGE_ID_GETPRIVATEDATA_MOREDATA = 20, | ||
| 2395 | D3D12_MESSAGE_ID_SETPRIVATEDATA_INVALIDFREEDATA = 21, | ||
| 2396 | D3D12_MESSAGE_ID_SETPRIVATEDATA_CHANGINGPARAMS = 24, | ||
| 2397 | D3D12_MESSAGE_ID_SETPRIVATEDATA_OUTOFMEMORY = 25, | ||
| 2398 | D3D12_MESSAGE_ID_CREATESHADERRESOURCEVIEW_UNRECOGNIZEDFORMAT = 26, | ||
| 2399 | D3D12_MESSAGE_ID_CREATESHADERRESOURCEVIEW_INVALIDDESC = 27, | ||
| 2400 | D3D12_MESSAGE_ID_CREATESHADERRESOURCEVIEW_INVALIDFORMAT = 28, | ||
| 2401 | D3D12_MESSAGE_ID_CREATESHADERRESOURCEVIEW_INVALIDVIDEOPLANESLICE = 29, | ||
| 2402 | D3D12_MESSAGE_ID_CREATESHADERRESOURCEVIEW_INVALIDPLANESLICE = 30, | ||
| 2403 | D3D12_MESSAGE_ID_CREATESHADERRESOURCEVIEW_INVALIDDIMENSIONS = 31, | ||
| 2404 | D3D12_MESSAGE_ID_CREATESHADERRESOURCEVIEW_INVALIDRESOURCE = 32, | ||
| 2405 | D3D12_MESSAGE_ID_CREATERENDERTARGETVIEW_UNRECOGNIZEDFORMAT = 35, | ||
| 2406 | D3D12_MESSAGE_ID_CREATERENDERTARGETVIEW_UNSUPPORTEDFORMAT = 36, | ||
| 2407 | D3D12_MESSAGE_ID_CREATERENDERTARGETVIEW_INVALIDDESC = 37, | ||
| 2408 | D3D12_MESSAGE_ID_CREATERENDERTARGETVIEW_INVALIDFORMAT = 38, | ||
| 2409 | D3D12_MESSAGE_ID_CREATERENDERTARGETVIEW_INVALIDVIDEOPLANESLICE = 39, | ||
| 2410 | D3D12_MESSAGE_ID_CREATERENDERTARGETVIEW_INVALIDPLANESLICE = 40, | ||
| 2411 | D3D12_MESSAGE_ID_CREATERENDERTARGETVIEW_INVALIDDIMENSIONS = 41, | ||
| 2412 | D3D12_MESSAGE_ID_CREATERENDERTARGETVIEW_INVALIDRESOURCE = 42, | ||
| 2413 | D3D12_MESSAGE_ID_CREATEDEPTHSTENCILVIEW_UNRECOGNIZEDFORMAT = 45, | ||
| 2414 | D3D12_MESSAGE_ID_CREATEDEPTHSTENCILVIEW_INVALIDDESC = 46, | ||
| 2415 | D3D12_MESSAGE_ID_CREATEDEPTHSTENCILVIEW_INVALIDFORMAT = 47, | ||
| 2416 | D3D12_MESSAGE_ID_CREATEDEPTHSTENCILVIEW_INVALIDDIMENSIONS = 48, | ||
| 2417 | D3D12_MESSAGE_ID_CREATEDEPTHSTENCILVIEW_INVALIDRESOURCE = 49, | ||
| 2418 | D3D12_MESSAGE_ID_CREATEINPUTLAYOUT_OUTOFMEMORY = 52, | ||
| 2419 | D3D12_MESSAGE_ID_CREATEINPUTLAYOUT_TOOMANYELEMENTS = 53, | ||
| 2420 | D3D12_MESSAGE_ID_CREATEINPUTLAYOUT_INVALIDFORMAT = 54, | ||
| 2421 | D3D12_MESSAGE_ID_CREATEINPUTLAYOUT_INCOMPATIBLEFORMAT = 55, | ||
| 2422 | D3D12_MESSAGE_ID_CREATEINPUTLAYOUT_INVALIDSLOT = 56, | ||
| 2423 | D3D12_MESSAGE_ID_CREATEINPUTLAYOUT_INVALIDINPUTSLOTCLASS = 57, | ||
| 2424 | D3D12_MESSAGE_ID_CREATEINPUTLAYOUT_STEPRATESLOTCLASSMISMATCH = 58, | ||
| 2425 | D3D12_MESSAGE_ID_CREATEINPUTLAYOUT_INVALIDSLOTCLASSCHANGE = 59, | ||
| 2426 | D3D12_MESSAGE_ID_CREATEINPUTLAYOUT_INVALIDSTEPRATECHANGE = 60, | ||
| 2427 | D3D12_MESSAGE_ID_CREATEINPUTLAYOUT_INVALIDALIGNMENT = 61, | ||
| 2428 | D3D12_MESSAGE_ID_CREATEINPUTLAYOUT_DUPLICATESEMANTIC = 62, | ||
| 2429 | D3D12_MESSAGE_ID_CREATEINPUTLAYOUT_UNPARSEABLEINPUTSIGNATURE = 63, | ||
| 2430 | D3D12_MESSAGE_ID_CREATEINPUTLAYOUT_NULLSEMANTIC = 64, | ||
| 2431 | D3D12_MESSAGE_ID_CREATEINPUTLAYOUT_MISSINGELEMENT = 65, | ||
| 2432 | D3D12_MESSAGE_ID_CREATEVERTEXSHADER_OUTOFMEMORY = 66, | ||
| 2433 | D3D12_MESSAGE_ID_CREATEVERTEXSHADER_INVALIDSHADERBYTECODE = 67, | ||
| 2434 | D3D12_MESSAGE_ID_CREATEVERTEXSHADER_INVALIDSHADERTYPE = 68, | ||
| 2435 | D3D12_MESSAGE_ID_CREATEGEOMETRYSHADER_OUTOFMEMORY = 69, | ||
| 2436 | D3D12_MESSAGE_ID_CREATEGEOMETRYSHADER_INVALIDSHADERBYTECODE = 70, | ||
| 2437 | D3D12_MESSAGE_ID_CREATEGEOMETRYSHADER_INVALIDSHADERTYPE = 71, | ||
| 2438 | D3D12_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_OUTOFMEMORY = 72, | ||
| 2439 | D3D12_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_INVALIDSHADERBYTECODE = 73, | ||
| 2440 | D3D12_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_INVALIDSHADERTYPE = 74, | ||
| 2441 | D3D12_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_INVALIDNUMENTRIES = 75, | ||
| 2442 | D3D12_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_OUTPUTSTREAMSTRIDEUNUSED = 76, | ||
| 2443 | D3D12_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_OUTPUTSLOT0EXPECTED = 79, | ||
| 2444 | D3D12_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_INVALIDOUTPUTSLOT = 80, | ||
| 2445 | D3D12_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_ONLYONEELEMENTPERSLOT = 81, | ||
| 2446 | D3D12_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_INVALIDCOMPONENTCOUNT = 82, | ||
| 2447 | D3D12_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_INVALIDSTARTCOMPONENTANDCOMPONENTCOUNT = 83, | ||
| 2448 | D3D12_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_INVALIDGAPDEFINITION = 84, | ||
| 2449 | D3D12_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_REPEATEDOUTPUT = 85, | ||
| 2450 | D3D12_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_INVALIDOUTPUTSTREAMSTRIDE = 86, | ||
| 2451 | D3D12_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_MISSINGSEMANTIC = 87, | ||
| 2452 | D3D12_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_MASKMISMATCH = 88, | ||
| 2453 | D3D12_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_CANTHAVEONLYGAPS = 89, | ||
| 2454 | D3D12_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_DECLTOOCOMPLEX = 90, | ||
| 2455 | D3D12_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_MISSINGOUTPUTSIGNATURE = 91, | ||
| 2456 | D3D12_MESSAGE_ID_CREATEPIXELSHADER_OUTOFMEMORY = 92, | ||
| 2457 | D3D12_MESSAGE_ID_CREATEPIXELSHADER_INVALIDSHADERBYTECODE = 93, | ||
| 2458 | D3D12_MESSAGE_ID_CREATEPIXELSHADER_INVALIDSHADERTYPE = 94, | ||
| 2459 | D3D12_MESSAGE_ID_CREATERASTERIZERSTATE_INVALIDFILLMODE = 95, | ||
| 2460 | D3D12_MESSAGE_ID_CREATERASTERIZERSTATE_INVALIDCULLMODE = 96, | ||
| 2461 | D3D12_MESSAGE_ID_CREATERASTERIZERSTATE_INVALIDDEPTHBIASCLAMP = 97, | ||
| 2462 | D3D12_MESSAGE_ID_CREATERASTERIZERSTATE_INVALIDSLOPESCALEDDEPTHBIAS = 98, | ||
| 2463 | D3D12_MESSAGE_ID_CREATEDEPTHSTENCILSTATE_INVALIDDEPTHWRITEMASK = 100, | ||
| 2464 | D3D12_MESSAGE_ID_CREATEDEPTHSTENCILSTATE_INVALIDDEPTHFUNC = 101, | ||
| 2465 | D3D12_MESSAGE_ID_CREATEDEPTHSTENCILSTATE_INVALIDFRONTFACESTENCILFAILOP = 102, | ||
| 2466 | D3D12_MESSAGE_ID_CREATEDEPTHSTENCILSTATE_INVALIDFRONTFACESTENCILZFAILOP = 103, | ||
| 2467 | D3D12_MESSAGE_ID_CREATEDEPTHSTENCILSTATE_INVALIDFRONTFACESTENCILPASSOP = 104, | ||
| 2468 | D3D12_MESSAGE_ID_CREATEDEPTHSTENCILSTATE_INVALIDFRONTFACESTENCILFUNC = 105, | ||
| 2469 | D3D12_MESSAGE_ID_CREATEDEPTHSTENCILSTATE_INVALIDBACKFACESTENCILFAILOP = 106, | ||
| 2470 | D3D12_MESSAGE_ID_CREATEDEPTHSTENCILSTATE_INVALIDBACKFACESTENCILZFAILOP = 107, | ||
| 2471 | D3D12_MESSAGE_ID_CREATEDEPTHSTENCILSTATE_INVALIDBACKFACESTENCILPASSOP = 108, | ||
| 2472 | D3D12_MESSAGE_ID_CREATEDEPTHSTENCILSTATE_INVALIDBACKFACESTENCILFUNC = 109, | ||
| 2473 | D3D12_MESSAGE_ID_CREATEBLENDSTATE_INVALIDSRCBLEND = 111, | ||
| 2474 | D3D12_MESSAGE_ID_CREATEBLENDSTATE_INVALIDDESTBLEND = 112, | ||
| 2475 | D3D12_MESSAGE_ID_CREATEBLENDSTATE_INVALIDBLENDOP = 113, | ||
| 2476 | D3D12_MESSAGE_ID_CREATEBLENDSTATE_INVALIDSRCBLENDALPHA = 114, | ||
| 2477 | D3D12_MESSAGE_ID_CREATEBLENDSTATE_INVALIDDESTBLENDALPHA = 115, | ||
| 2478 | D3D12_MESSAGE_ID_CREATEBLENDSTATE_INVALIDBLENDOPALPHA = 116, | ||
| 2479 | D3D12_MESSAGE_ID_CREATEBLENDSTATE_INVALIDRENDERTARGETWRITEMASK = 117, | ||
| 2480 | D3D12_MESSAGE_ID_GET_PROGRAM_IDENTIFIER_ERROR = 118, | ||
| 2481 | D3D12_MESSAGE_ID_GET_WORK_GRAPH_PROPERTIES_ERROR = 119, | ||
| 2482 | D3D12_MESSAGE_ID_SET_PROGRAM_ERROR = 120, | ||
| 2483 | D3D12_MESSAGE_ID_CLEARDEPTHSTENCILVIEW_INVALID = 135, | ||
| 2484 | D3D12_MESSAGE_ID_COMMAND_LIST_DRAW_ROOT_SIGNATURE_NOT_SET = 200, | ||
| 2485 | D3D12_MESSAGE_ID_COMMAND_LIST_DRAW_ROOT_SIGNATURE_MISMATCH = 201, | ||
| 2486 | D3D12_MESSAGE_ID_COMMAND_LIST_DRAW_VERTEX_BUFFER_NOT_SET = 202, | ||
| 2487 | D3D12_MESSAGE_ID_COMMAND_LIST_DRAW_VERTEX_BUFFER_STRIDE_TOO_SMALL = 209, | ||
| 2488 | D3D12_MESSAGE_ID_COMMAND_LIST_DRAW_VERTEX_BUFFER_TOO_SMALL = 210, | ||
| 2489 | D3D12_MESSAGE_ID_COMMAND_LIST_DRAW_INDEX_BUFFER_NOT_SET = 211, | ||
| 2490 | D3D12_MESSAGE_ID_COMMAND_LIST_DRAW_INDEX_BUFFER_FORMAT_INVALID = 212, | ||
| 2491 | D3D12_MESSAGE_ID_COMMAND_LIST_DRAW_INDEX_BUFFER_TOO_SMALL = 213, | ||
| 2492 | D3D12_MESSAGE_ID_COMMAND_LIST_DRAW_INVALID_PRIMITIVETOPOLOGY = 219, | ||
| 2493 | D3D12_MESSAGE_ID_COMMAND_LIST_DRAW_VERTEX_STRIDE_UNALIGNED = 221, | ||
| 2494 | D3D12_MESSAGE_ID_COMMAND_LIST_DRAW_INDEX_OFFSET_UNALIGNED = 222, | ||
| 2495 | D3D12_MESSAGE_ID_DEVICE_REMOVAL_PROCESS_AT_FAULT = 232, | ||
| 2496 | D3D12_MESSAGE_ID_DEVICE_REMOVAL_PROCESS_POSSIBLY_AT_FAULT = 233, | ||
| 2497 | D3D12_MESSAGE_ID_DEVICE_REMOVAL_PROCESS_NOT_AT_FAULT = 234, | ||
| 2498 | D3D12_MESSAGE_ID_CREATEINPUTLAYOUT_TRAILING_DIGIT_IN_SEMANTIC = 239, | ||
| 2499 | D3D12_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_TRAILING_DIGIT_IN_SEMANTIC = 240, | ||
| 2500 | D3D12_MESSAGE_ID_CREATEINPUTLAYOUT_TYPE_MISMATCH = 245, | ||
| 2501 | D3D12_MESSAGE_ID_CREATEINPUTLAYOUT_EMPTY_LAYOUT = 253, | ||
| 2502 | D3D12_MESSAGE_ID_LIVE_OBJECT_SUMMARY = 255, | ||
| 2503 | D3D12_MESSAGE_ID_LIVE_DEVICE = 274, | ||
| 2504 | D3D12_MESSAGE_ID_LIVE_SWAPCHAIN = 275, | ||
| 2505 | D3D12_MESSAGE_ID_CREATEDEPTHSTENCILVIEW_INVALIDFLAGS = 276, | ||
| 2506 | D3D12_MESSAGE_ID_CREATEVERTEXSHADER_INVALIDCLASSLINKAGE = 277, | ||
| 2507 | D3D12_MESSAGE_ID_CREATEGEOMETRYSHADER_INVALIDCLASSLINKAGE = 278, | ||
| 2508 | D3D12_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_INVALIDSTREAMTORASTERIZER = 280, | ||
| 2509 | D3D12_MESSAGE_ID_CREATEPIXELSHADER_INVALIDCLASSLINKAGE = 283, | ||
| 2510 | D3D12_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_INVALIDSTREAM = 284, | ||
| 2511 | D3D12_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_UNEXPECTEDENTRIES = 285, | ||
| 2512 | D3D12_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_UNEXPECTEDSTRIDES = 286, | ||
| 2513 | D3D12_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_INVALIDNUMSTRIDES = 287, | ||
| 2514 | D3D12_MESSAGE_ID_CREATEHULLSHADER_OUTOFMEMORY = 289, | ||
| 2515 | D3D12_MESSAGE_ID_CREATEHULLSHADER_INVALIDSHADERBYTECODE = 290, | ||
| 2516 | D3D12_MESSAGE_ID_CREATEHULLSHADER_INVALIDSHADERTYPE = 291, | ||
| 2517 | D3D12_MESSAGE_ID_CREATEHULLSHADER_INVALIDCLASSLINKAGE = 292, | ||
| 2518 | D3D12_MESSAGE_ID_CREATEDOMAINSHADER_OUTOFMEMORY = 294, | ||
| 2519 | D3D12_MESSAGE_ID_CREATEDOMAINSHADER_INVALIDSHADERBYTECODE = 295, | ||
| 2520 | D3D12_MESSAGE_ID_CREATEDOMAINSHADER_INVALIDSHADERTYPE = 296, | ||
| 2521 | D3D12_MESSAGE_ID_CREATEDOMAINSHADER_INVALIDCLASSLINKAGE = 297, | ||
| 2522 | D3D12_MESSAGE_ID_RESOURCE_UNMAP_NOTMAPPED = 310, | ||
| 2523 | D3D12_MESSAGE_ID_DEVICE_CHECKFEATURESUPPORT_MISMATCHED_DATA_SIZE = 318, | ||
| 2524 | D3D12_MESSAGE_ID_CREATECOMPUTESHADER_OUTOFMEMORY = 321, | ||
| 2525 | D3D12_MESSAGE_ID_CREATECOMPUTESHADER_INVALIDSHADERBYTECODE = 322, | ||
| 2526 | D3D12_MESSAGE_ID_CREATECOMPUTESHADER_INVALIDCLASSLINKAGE = 323, | ||
| 2527 | D3D12_MESSAGE_ID_DEVICE_CREATEVERTEXSHADER_DOUBLEFLOATOPSNOTSUPPORTED = 331, | ||
| 2528 | D3D12_MESSAGE_ID_DEVICE_CREATEHULLSHADER_DOUBLEFLOATOPSNOTSUPPORTED = 332, | ||
| 2529 | D3D12_MESSAGE_ID_DEVICE_CREATEDOMAINSHADER_DOUBLEFLOATOPSNOTSUPPORTED = 333, | ||
| 2530 | D3D12_MESSAGE_ID_DEVICE_CREATEGEOMETRYSHADER_DOUBLEFLOATOPSNOTSUPPORTED = 334, | ||
| 2531 | D3D12_MESSAGE_ID_DEVICE_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_DOUBLEFLOATOPSNOTSUPPORTED = 335, | ||
| 2532 | D3D12_MESSAGE_ID_DEVICE_CREATEPIXELSHADER_DOUBLEFLOATOPSNOTSUPPORTED = 336, | ||
| 2533 | D3D12_MESSAGE_ID_DEVICE_CREATECOMPUTESHADER_DOUBLEFLOATOPSNOTSUPPORTED = 337, | ||
| 2534 | D3D12_MESSAGE_ID_CREATEUNORDEREDACCESSVIEW_INVALIDRESOURCE = 340, | ||
| 2535 | D3D12_MESSAGE_ID_CREATEUNORDEREDACCESSVIEW_INVALIDDESC = 341, | ||
| 2536 | D3D12_MESSAGE_ID_CREATEUNORDEREDACCESSVIEW_INVALIDFORMAT = 342, | ||
| 2537 | D3D12_MESSAGE_ID_CREATEUNORDEREDACCESSVIEW_INVALIDVIDEOPLANESLICE = 343, | ||
| 2538 | D3D12_MESSAGE_ID_CREATEUNORDEREDACCESSVIEW_INVALIDPLANESLICE = 344, | ||
| 2539 | D3D12_MESSAGE_ID_CREATEUNORDEREDACCESSVIEW_INVALIDDIMENSIONS = 345, | ||
| 2540 | D3D12_MESSAGE_ID_CREATEUNORDEREDACCESSVIEW_UNRECOGNIZEDFORMAT = 346, | ||
| 2541 | D3D12_MESSAGE_ID_CREATEUNORDEREDACCESSVIEW_INVALIDFLAGS = 354, | ||
| 2542 | D3D12_MESSAGE_ID_CREATERASTERIZERSTATE_INVALIDFORCEDSAMPLECOUNT = 401, | ||
| 2543 | D3D12_MESSAGE_ID_CREATEBLENDSTATE_INVALIDLOGICOPS = 403, | ||
| 2544 | D3D12_MESSAGE_ID_DEVICE_CREATEVERTEXSHADER_DOUBLEEXTENSIONSNOTSUPPORTED = 410, | ||
| 2545 | D3D12_MESSAGE_ID_DEVICE_CREATEHULLSHADER_DOUBLEEXTENSIONSNOTSUPPORTED = 412, | ||
| 2546 | D3D12_MESSAGE_ID_DEVICE_CREATEDOMAINSHADER_DOUBLEEXTENSIONSNOTSUPPORTED = 414, | ||
| 2547 | D3D12_MESSAGE_ID_DEVICE_CREATEGEOMETRYSHADER_DOUBLEEXTENSIONSNOTSUPPORTED = 416, | ||
| 2548 | D3D12_MESSAGE_ID_DEVICE_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_DOUBLEEXTENSIONSNOTSUPPORTED = 418, | ||
| 2549 | D3D12_MESSAGE_ID_DEVICE_CREATEPIXELSHADER_DOUBLEEXTENSIONSNOTSUPPORTED = 420, | ||
| 2550 | D3D12_MESSAGE_ID_DEVICE_CREATECOMPUTESHADER_DOUBLEEXTENSIONSNOTSUPPORTED = 422, | ||
| 2551 | D3D12_MESSAGE_ID_DEVICE_CREATEVERTEXSHADER_UAVSNOTSUPPORTED = 425, | ||
| 2552 | D3D12_MESSAGE_ID_DEVICE_CREATEHULLSHADER_UAVSNOTSUPPORTED = 426, | ||
| 2553 | D3D12_MESSAGE_ID_DEVICE_CREATEDOMAINSHADER_UAVSNOTSUPPORTED = 427, | ||
| 2554 | D3D12_MESSAGE_ID_DEVICE_CREATEGEOMETRYSHADER_UAVSNOTSUPPORTED = 428, | ||
| 2555 | D3D12_MESSAGE_ID_DEVICE_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_UAVSNOTSUPPORTED = 429, | ||
| 2556 | D3D12_MESSAGE_ID_DEVICE_CREATEPIXELSHADER_UAVSNOTSUPPORTED = 430, | ||
| 2557 | D3D12_MESSAGE_ID_DEVICE_CREATECOMPUTESHADER_UAVSNOTSUPPORTED = 431, | ||
| 2558 | D3D12_MESSAGE_ID_DEVICE_CLEARVIEW_INVALIDSOURCERECT = 447, | ||
| 2559 | D3D12_MESSAGE_ID_DEVICE_CLEARVIEW_EMPTYRECT = 448, | ||
| 2560 | D3D12_MESSAGE_ID_UPDATETILEMAPPINGS_INVALID_PARAMETER = 493, | ||
| 2561 | D3D12_MESSAGE_ID_COPYTILEMAPPINGS_INVALID_PARAMETER = 494, | ||
| 2562 | D3D12_MESSAGE_ID_CREATEDEVICE_INVALIDARGS = 506, | ||
| 2563 | D3D12_MESSAGE_ID_CREATEDEVICE_WARNING = 507, | ||
| 2564 | D3D12_MESSAGE_ID_RESOURCE_BARRIER_INVALID_TYPE = 519, | ||
| 2565 | D3D12_MESSAGE_ID_RESOURCE_BARRIER_NULL_POINTER = 520, | ||
| 2566 | D3D12_MESSAGE_ID_RESOURCE_BARRIER_INVALID_SUBRESOURCE = 521, | ||
| 2567 | D3D12_MESSAGE_ID_RESOURCE_BARRIER_RESERVED_BITS = 522, | ||
| 2568 | D3D12_MESSAGE_ID_RESOURCE_BARRIER_MISSING_BIND_FLAGS = 523, | ||
| 2569 | D3D12_MESSAGE_ID_RESOURCE_BARRIER_MISMATCHING_MISC_FLAGS = 524, | ||
| 2570 | D3D12_MESSAGE_ID_RESOURCE_BARRIER_MATCHING_STATES = 525, | ||
| 2571 | D3D12_MESSAGE_ID_RESOURCE_BARRIER_INVALID_COMBINATION = 526, | ||
| 2572 | D3D12_MESSAGE_ID_RESOURCE_BARRIER_BEFORE_AFTER_MISMATCH = 527, | ||
| 2573 | D3D12_MESSAGE_ID_RESOURCE_BARRIER_INVALID_RESOURCE = 528, | ||
| 2574 | D3D12_MESSAGE_ID_RESOURCE_BARRIER_SAMPLE_COUNT = 529, | ||
| 2575 | D3D12_MESSAGE_ID_RESOURCE_BARRIER_INVALID_FLAGS = 530, | ||
| 2576 | D3D12_MESSAGE_ID_RESOURCE_BARRIER_INVALID_COMBINED_FLAGS = 531, | ||
| 2577 | D3D12_MESSAGE_ID_RESOURCE_BARRIER_INVALID_FLAGS_FOR_FORMAT = 532, | ||
| 2578 | D3D12_MESSAGE_ID_RESOURCE_BARRIER_INVALID_SPLIT_BARRIER = 533, | ||
| 2579 | D3D12_MESSAGE_ID_RESOURCE_BARRIER_UNMATCHED_END = 534, | ||
| 2580 | D3D12_MESSAGE_ID_RESOURCE_BARRIER_UNMATCHED_BEGIN = 535, | ||
| 2581 | D3D12_MESSAGE_ID_RESOURCE_BARRIER_INVALID_FLAG = 536, | ||
| 2582 | D3D12_MESSAGE_ID_RESOURCE_BARRIER_INVALID_COMMAND_LIST_TYPE = 537, | ||
| 2583 | D3D12_MESSAGE_ID_INVALID_SUBRESOURCE_STATE = 538, | ||
| 2584 | D3D12_MESSAGE_ID_COMMAND_ALLOCATOR_CONTENTION = 540, | ||
| 2585 | D3D12_MESSAGE_ID_COMMAND_ALLOCATOR_RESET = 541, | ||
| 2586 | D3D12_MESSAGE_ID_COMMAND_ALLOCATOR_RESET_BUNDLE = 542, | ||
| 2587 | D3D12_MESSAGE_ID_COMMAND_ALLOCATOR_CANNOT_RESET = 543, | ||
| 2588 | D3D12_MESSAGE_ID_COMMAND_LIST_OPEN = 544, | ||
| 2589 | D3D12_MESSAGE_ID_INVALID_BUNDLE_API = 546, | ||
| 2590 | D3D12_MESSAGE_ID_COMMAND_LIST_CLOSED = 547, | ||
| 2591 | D3D12_MESSAGE_ID_WRONG_COMMAND_ALLOCATOR_TYPE = 549, | ||
| 2592 | D3D12_MESSAGE_ID_COMMAND_ALLOCATOR_SYNC = 552, | ||
| 2593 | D3D12_MESSAGE_ID_COMMAND_LIST_SYNC = 553, | ||
| 2594 | D3D12_MESSAGE_ID_SET_DESCRIPTOR_HEAP_INVALID = 554, | ||
| 2595 | D3D12_MESSAGE_ID_CREATE_COMMANDQUEUE = 557, | ||
| 2596 | D3D12_MESSAGE_ID_CREATE_COMMANDALLOCATOR = 558, | ||
| 2597 | D3D12_MESSAGE_ID_CREATE_PIPELINESTATE = 559, | ||
| 2598 | D3D12_MESSAGE_ID_CREATE_COMMANDLIST12 = 560, | ||
| 2599 | D3D12_MESSAGE_ID_CREATE_RESOURCE = 562, | ||
| 2600 | D3D12_MESSAGE_ID_CREATE_DESCRIPTORHEAP = 563, | ||
| 2601 | D3D12_MESSAGE_ID_CREATE_ROOTSIGNATURE = 564, | ||
| 2602 | D3D12_MESSAGE_ID_CREATE_LIBRARY = 565, | ||
| 2603 | D3D12_MESSAGE_ID_CREATE_HEAP = 566, | ||
| 2604 | D3D12_MESSAGE_ID_CREATE_MONITOREDFENCE = 567, | ||
| 2605 | D3D12_MESSAGE_ID_CREATE_QUERYHEAP = 568, | ||
| 2606 | D3D12_MESSAGE_ID_CREATE_COMMANDSIGNATURE = 569, | ||
| 2607 | D3D12_MESSAGE_ID_LIVE_COMMANDQUEUE = 570, | ||
| 2608 | D3D12_MESSAGE_ID_LIVE_COMMANDALLOCATOR = 571, | ||
| 2609 | D3D12_MESSAGE_ID_LIVE_PIPELINESTATE = 572, | ||
| 2610 | D3D12_MESSAGE_ID_LIVE_COMMANDLIST12 = 573, | ||
| 2611 | D3D12_MESSAGE_ID_LIVE_RESOURCE = 575, | ||
| 2612 | D3D12_MESSAGE_ID_LIVE_DESCRIPTORHEAP = 576, | ||
| 2613 | D3D12_MESSAGE_ID_LIVE_ROOTSIGNATURE = 577, | ||
| 2614 | D3D12_MESSAGE_ID_LIVE_LIBRARY = 578, | ||
| 2615 | D3D12_MESSAGE_ID_LIVE_HEAP = 579, | ||
| 2616 | D3D12_MESSAGE_ID_LIVE_MONITOREDFENCE = 580, | ||
| 2617 | D3D12_MESSAGE_ID_LIVE_QUERYHEAP = 581, | ||
| 2618 | D3D12_MESSAGE_ID_LIVE_COMMANDSIGNATURE = 582, | ||
| 2619 | D3D12_MESSAGE_ID_DESTROY_COMMANDQUEUE = 583, | ||
| 2620 | D3D12_MESSAGE_ID_DESTROY_COMMANDALLOCATOR = 584, | ||
| 2621 | D3D12_MESSAGE_ID_DESTROY_PIPELINESTATE = 585, | ||
| 2622 | D3D12_MESSAGE_ID_DESTROY_COMMANDLIST12 = 586, | ||
| 2623 | D3D12_MESSAGE_ID_DESTROY_RESOURCE = 588, | ||
| 2624 | D3D12_MESSAGE_ID_DESTROY_DESCRIPTORHEAP = 589, | ||
| 2625 | D3D12_MESSAGE_ID_DESTROY_ROOTSIGNATURE = 590, | ||
| 2626 | D3D12_MESSAGE_ID_DESTROY_LIBRARY = 591, | ||
| 2627 | D3D12_MESSAGE_ID_DESTROY_HEAP = 592, | ||
| 2628 | D3D12_MESSAGE_ID_DESTROY_MONITOREDFENCE = 593, | ||
| 2629 | D3D12_MESSAGE_ID_DESTROY_QUERYHEAP = 594, | ||
| 2630 | D3D12_MESSAGE_ID_DESTROY_COMMANDSIGNATURE = 595, | ||
| 2631 | D3D12_MESSAGE_ID_CREATERESOURCE_INVALIDDIMENSIONS = 597, | ||
| 2632 | D3D12_MESSAGE_ID_CREATERESOURCE_INVALIDMISCFLAGS = 599, | ||
| 2633 | D3D12_MESSAGE_ID_CREATERESOURCE_INVALIDARG_RETURN = 602, | ||
| 2634 | D3D12_MESSAGE_ID_CREATERESOURCE_OUTOFMEMORY_RETURN = 603, | ||
| 2635 | D3D12_MESSAGE_ID_CREATERESOURCE_INVALIDDESC = 604, | ||
| 2636 | D3D12_MESSAGE_ID_POSSIBLY_INVALID_SUBRESOURCE_STATE = 607, | ||
| 2637 | D3D12_MESSAGE_ID_INVALID_USE_OF_NON_RESIDENT_RESOURCE = 608, | ||
| 2638 | D3D12_MESSAGE_ID_POSSIBLE_INVALID_USE_OF_NON_RESIDENT_RESOURCE = 609, | ||
| 2639 | D3D12_MESSAGE_ID_BUNDLE_PIPELINE_STATE_MISMATCH = 610, | ||
| 2640 | D3D12_MESSAGE_ID_PRIMITIVE_TOPOLOGY_MISMATCH_PIPELINE_STATE = 611, | ||
| 2641 | D3D12_MESSAGE_ID_RENDER_TARGET_FORMAT_MISMATCH_PIPELINE_STATE = 613, | ||
| 2642 | D3D12_MESSAGE_ID_RENDER_TARGET_SAMPLE_DESC_MISMATCH_PIPELINE_STATE = 614, | ||
| 2643 | D3D12_MESSAGE_ID_DEPTH_STENCIL_FORMAT_MISMATCH_PIPELINE_STATE = 615, | ||
| 2644 | D3D12_MESSAGE_ID_DEPTH_STENCIL_SAMPLE_DESC_MISMATCH_PIPELINE_STATE = 616, | ||
| 2645 | D3D12_MESSAGE_ID_CREATESHADER_INVALIDBYTECODE = 622, | ||
| 2646 | D3D12_MESSAGE_ID_CREATEHEAP_NULLDESC = 623, | ||
| 2647 | D3D12_MESSAGE_ID_CREATEHEAP_INVALIDSIZE = 624, | ||
| 2648 | D3D12_MESSAGE_ID_CREATEHEAP_UNRECOGNIZEDHEAPTYPE = 625, | ||
| 2649 | D3D12_MESSAGE_ID_CREATEHEAP_UNRECOGNIZEDCPUPAGEPROPERTIES = 626, | ||
| 2650 | D3D12_MESSAGE_ID_CREATEHEAP_UNRECOGNIZEDMEMORYPOOL = 627, | ||
| 2651 | D3D12_MESSAGE_ID_CREATEHEAP_INVALIDPROPERTIES = 628, | ||
| 2652 | D3D12_MESSAGE_ID_CREATEHEAP_INVALIDALIGNMENT = 629, | ||
| 2653 | D3D12_MESSAGE_ID_CREATEHEAP_UNRECOGNIZEDMISCFLAGS = 630, | ||
| 2654 | D3D12_MESSAGE_ID_CREATEHEAP_INVALIDMISCFLAGS = 631, | ||
| 2655 | D3D12_MESSAGE_ID_CREATEHEAP_INVALIDARG_RETURN = 632, | ||
| 2656 | D3D12_MESSAGE_ID_CREATEHEAP_OUTOFMEMORY_RETURN = 633, | ||
| 2657 | D3D12_MESSAGE_ID_CREATERESOURCEANDHEAP_NULLHEAPPROPERTIES = 634, | ||
| 2658 | D3D12_MESSAGE_ID_CREATERESOURCEANDHEAP_UNRECOGNIZEDHEAPTYPE = 635, | ||
| 2659 | D3D12_MESSAGE_ID_CREATERESOURCEANDHEAP_UNRECOGNIZEDCPUPAGEPROPERTIES = 636, | ||
| 2660 | D3D12_MESSAGE_ID_CREATERESOURCEANDHEAP_UNRECOGNIZEDMEMORYPOOL = 637, | ||
| 2661 | D3D12_MESSAGE_ID_CREATERESOURCEANDHEAP_INVALIDHEAPPROPERTIES = 638, | ||
| 2662 | D3D12_MESSAGE_ID_CREATERESOURCEANDHEAP_UNRECOGNIZEDHEAPMISCFLAGS = 639, | ||
| 2663 | D3D12_MESSAGE_ID_CREATERESOURCEANDHEAP_INVALIDHEAPMISCFLAGS = 640, | ||
| 2664 | D3D12_MESSAGE_ID_CREATERESOURCEANDHEAP_INVALIDARG_RETURN = 641, | ||
| 2665 | D3D12_MESSAGE_ID_CREATERESOURCEANDHEAP_OUTOFMEMORY_RETURN = 642, | ||
| 2666 | D3D12_MESSAGE_ID_GETCUSTOMHEAPPROPERTIES_UNRECOGNIZEDHEAPTYPE = 643, | ||
| 2667 | D3D12_MESSAGE_ID_GETCUSTOMHEAPPROPERTIES_INVALIDHEAPTYPE = 644, | ||
| 2668 | D3D12_MESSAGE_ID_CREATE_DESCRIPTOR_HEAP_INVALID_DESC = 645, | ||
| 2669 | D3D12_MESSAGE_ID_INVALID_DESCRIPTOR_HANDLE = 646, | ||
| 2670 | D3D12_MESSAGE_ID_CREATERASTERIZERSTATE_INVALID_CONSERVATIVERASTERMODE = 647, | ||
| 2671 | D3D12_MESSAGE_ID_CREATE_CONSTANT_BUFFER_VIEW_INVALID_RESOURCE = 649, | ||
| 2672 | D3D12_MESSAGE_ID_CREATE_CONSTANT_BUFFER_VIEW_INVALID_DESC = 650, | ||
| 2673 | D3D12_MESSAGE_ID_CREATE_UNORDEREDACCESS_VIEW_INVALID_COUNTER_USAGE = 652, | ||
| 2674 | D3D12_MESSAGE_ID_COPY_DESCRIPTORS_INVALID_RANGES = 653, | ||
| 2675 | D3D12_MESSAGE_ID_COPY_DESCRIPTORS_WRITE_ONLY_DESCRIPTOR = 654, | ||
| 2676 | D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_RTV_FORMAT_NOT_UNKNOWN = 655, | ||
| 2677 | D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_INVALID_RENDER_TARGET_COUNT = 656, | ||
| 2678 | D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_VERTEX_SHADER_NOT_SET = 657, | ||
| 2679 | D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_INPUTLAYOUT_NOT_SET = 658, | ||
| 2680 | D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_SHADER_LINKAGE_HS_DS_SIGNATURE_MISMATCH = 659, | ||
| 2681 | D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_SHADER_LINKAGE_REGISTERINDEX = 660, | ||
| 2682 | D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_SHADER_LINKAGE_COMPONENTTYPE = 661, | ||
| 2683 | D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_SHADER_LINKAGE_REGISTERMASK = 662, | ||
| 2684 | D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_SHADER_LINKAGE_SYSTEMVALUE = 663, | ||
| 2685 | D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_SHADER_LINKAGE_NEVERWRITTEN_ALWAYSREADS = 664, | ||
| 2686 | D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_SHADER_LINKAGE_MINPRECISION = 665, | ||
| 2687 | D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_SHADER_LINKAGE_SEMANTICNAME_NOT_FOUND = 666, | ||
| 2688 | D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_HS_XOR_DS_MISMATCH = 667, | ||
| 2689 | D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_HULL_SHADER_INPUT_TOPOLOGY_MISMATCH = 668, | ||
| 2690 | D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_HS_DS_CONTROL_POINT_COUNT_MISMATCH = 669, | ||
| 2691 | D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_HS_DS_TESSELLATOR_DOMAIN_MISMATCH = 670, | ||
| 2692 | D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_INVALID_USE_OF_CENTER_MULTISAMPLE_PATTERN = 671, | ||
| 2693 | D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_INVALID_USE_OF_FORCED_SAMPLE_COUNT = 672, | ||
| 2694 | D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_INVALID_PRIMITIVETOPOLOGY = 673, | ||
| 2695 | D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_INVALID_SYSTEMVALUE = 674, | ||
| 2696 | D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_OM_DUAL_SOURCE_BLENDING_CAN_ONLY_HAVE_RENDER_TARGET_0 = 675, | ||
| 2697 | D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_OM_RENDER_TARGET_DOES_NOT_SUPPORT_BLENDING = 676, | ||
| 2698 | D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_PS_OUTPUT_TYPE_MISMATCH = 677, | ||
| 2699 | D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_OM_RENDER_TARGET_DOES_NOT_SUPPORT_LOGIC_OPS = 678, | ||
| 2700 | D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_RENDERTARGETVIEW_NOT_SET = 679, | ||
| 2701 | D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_DEPTHSTENCILVIEW_NOT_SET = 680, | ||
| 2702 | D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_GS_INPUT_PRIMITIVE_MISMATCH = 681, | ||
| 2703 | D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_POSITION_NOT_PRESENT = 682, | ||
| 2704 | D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_MISSING_ROOT_SIGNATURE_FLAGS = 683, | ||
| 2705 | D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_INVALID_INDEX_BUFFER_PROPERTIES = 684, | ||
| 2706 | D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_INVALID_SAMPLE_DESC = 685, | ||
| 2707 | D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_HS_ROOT_SIGNATURE_MISMATCH = 686, | ||
| 2708 | D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_DS_ROOT_SIGNATURE_MISMATCH = 687, | ||
| 2709 | D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_VS_ROOT_SIGNATURE_MISMATCH = 688, | ||
| 2710 | D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_GS_ROOT_SIGNATURE_MISMATCH = 689, | ||
| 2711 | D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_PS_ROOT_SIGNATURE_MISMATCH = 690, | ||
| 2712 | D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_MISSING_ROOT_SIGNATURE = 691, | ||
| 2713 | D3D12_MESSAGE_ID_EXECUTE_BUNDLE_OPEN_BUNDLE = 692, | ||
| 2714 | D3D12_MESSAGE_ID_EXECUTE_BUNDLE_DESCRIPTOR_HEAP_MISMATCH = 693, | ||
| 2715 | D3D12_MESSAGE_ID_EXECUTE_BUNDLE_TYPE = 694, | ||
| 2716 | D3D12_MESSAGE_ID_DRAW_EMPTY_SCISSOR_RECTANGLE = 695, | ||
| 2717 | D3D12_MESSAGE_ID_CREATE_ROOT_SIGNATURE_BLOB_NOT_FOUND = 696, | ||
| 2718 | D3D12_MESSAGE_ID_CREATE_ROOT_SIGNATURE_DESERIALIZE_FAILED = 697, | ||
| 2719 | D3D12_MESSAGE_ID_CREATE_ROOT_SIGNATURE_INVALID_CONFIGURATION = 698, | ||
| 2720 | D3D12_MESSAGE_ID_CREATE_ROOT_SIGNATURE_NOT_SUPPORTED_ON_DEVICE = 699, | ||
| 2721 | D3D12_MESSAGE_ID_CREATERESOURCEANDHEAP_NULLRESOURCEPROPERTIES = 700, | ||
| 2722 | D3D12_MESSAGE_ID_CREATERESOURCEANDHEAP_NULLHEAP = 701, | ||
| 2723 | D3D12_MESSAGE_ID_GETRESOURCEALLOCATIONINFO_INVALIDRDESCS = 702, | ||
| 2724 | D3D12_MESSAGE_ID_MAKERESIDENT_NULLOBJECTARRAY = 703, | ||
| 2725 | D3D12_MESSAGE_ID_EVICT_NULLOBJECTARRAY = 705, | ||
| 2726 | D3D12_MESSAGE_ID_SET_DESCRIPTOR_TABLE_INVALID = 708, | ||
| 2727 | D3D12_MESSAGE_ID_SET_ROOT_CONSTANT_INVALID = 709, | ||
| 2728 | D3D12_MESSAGE_ID_SET_ROOT_CONSTANT_BUFFER_VIEW_INVALID = 710, | ||
| 2729 | D3D12_MESSAGE_ID_SET_ROOT_SHADER_RESOURCE_VIEW_INVALID = 711, | ||
| 2730 | D3D12_MESSAGE_ID_SET_ROOT_UNORDERED_ACCESS_VIEW_INVALID = 712, | ||
| 2731 | D3D12_MESSAGE_ID_SET_VERTEX_BUFFERS_INVALID_DESC = 713, | ||
| 2732 | D3D12_MESSAGE_ID_SET_INDEX_BUFFER_INVALID_DESC = 715, | ||
| 2733 | D3D12_MESSAGE_ID_SET_STREAM_OUTPUT_BUFFERS_INVALID_DESC = 717, | ||
| 2734 | D3D12_MESSAGE_ID_CREATERESOURCE_UNRECOGNIZEDDIMENSIONALITY = 718, | ||
| 2735 | D3D12_MESSAGE_ID_CREATERESOURCE_UNRECOGNIZEDLAYOUT = 719, | ||
| 2736 | D3D12_MESSAGE_ID_CREATERESOURCE_INVALIDDIMENSIONALITY = 720, | ||
| 2737 | D3D12_MESSAGE_ID_CREATERESOURCE_INVALIDALIGNMENT = 721, | ||
| 2738 | D3D12_MESSAGE_ID_CREATERESOURCE_INVALIDMIPLEVELS = 722, | ||
| 2739 | D3D12_MESSAGE_ID_CREATERESOURCE_INVALIDSAMPLEDESC = 723, | ||
| 2740 | D3D12_MESSAGE_ID_CREATERESOURCE_INVALIDLAYOUT = 724, | ||
| 2741 | D3D12_MESSAGE_ID_SET_INDEX_BUFFER_INVALID = 725, | ||
| 2742 | D3D12_MESSAGE_ID_SET_VERTEX_BUFFERS_INVALID = 726, | ||
| 2743 | D3D12_MESSAGE_ID_SET_STREAM_OUTPUT_BUFFERS_INVALID = 727, | ||
| 2744 | D3D12_MESSAGE_ID_SET_RENDER_TARGETS_INVALID = 728, | ||
| 2745 | D3D12_MESSAGE_ID_CREATEQUERY_HEAP_INVALID_PARAMETERS = 729, | ||
| 2746 | D3D12_MESSAGE_ID_BEGIN_END_QUERY_INVALID_PARAMETERS = 731, | ||
| 2747 | D3D12_MESSAGE_ID_CLOSE_COMMAND_LIST_OPEN_QUERY = 732, | ||
| 2748 | D3D12_MESSAGE_ID_RESOLVE_QUERY_DATA_INVALID_PARAMETERS = 733, | ||
| 2749 | D3D12_MESSAGE_ID_SET_PREDICATION_INVALID_PARAMETERS = 734, | ||
| 2750 | D3D12_MESSAGE_ID_TIMESTAMPS_NOT_SUPPORTED = 735, | ||
| 2751 | D3D12_MESSAGE_ID_CREATERESOURCE_UNRECOGNIZEDFORMAT = 737, | ||
| 2752 | D3D12_MESSAGE_ID_CREATERESOURCE_INVALIDFORMAT = 738, | ||
| 2753 | D3D12_MESSAGE_ID_GETCOPYABLEFOOTPRINTS_INVALIDSUBRESOURCERANGE = 739, | ||
| 2754 | D3D12_MESSAGE_ID_GETCOPYABLEFOOTPRINTS_INVALIDBASEOFFSET = 740, | ||
| 2755 | D3D12_MESSAGE_ID_GETCOPYABLELAYOUT_INVALIDSUBRESOURCERANGE = 739, | ||
| 2756 | D3D12_MESSAGE_ID_GETCOPYABLELAYOUT_INVALIDBASEOFFSET = 740, | ||
| 2757 | D3D12_MESSAGE_ID_RESOURCE_BARRIER_INVALID_HEAP = 741, | ||
| 2758 | D3D12_MESSAGE_ID_CREATE_SAMPLER_INVALID = 742, | ||
| 2759 | D3D12_MESSAGE_ID_CREATECOMMANDSIGNATURE_INVALID = 743, | ||
| 2760 | D3D12_MESSAGE_ID_EXECUTE_INDIRECT_INVALID_PARAMETERS = 744, | ||
| 2761 | D3D12_MESSAGE_ID_GETGPUVIRTUALADDRESS_INVALID_RESOURCE_DIMENSION = 745, | ||
| 2762 | D3D12_MESSAGE_ID_CREATERESOURCE_INVALIDCLEARVALUE = 815, | ||
| 2763 | D3D12_MESSAGE_ID_CREATERESOURCE_UNRECOGNIZEDCLEARVALUEFORMAT = 816, | ||
| 2764 | D3D12_MESSAGE_ID_CREATERESOURCE_INVALIDCLEARVALUEFORMAT = 817, | ||
| 2765 | D3D12_MESSAGE_ID_CREATERESOURCE_CLEARVALUEDENORMFLUSH = 818, | ||
| 2766 | D3D12_MESSAGE_ID_CLEARRENDERTARGETVIEW_MISMATCHINGCLEARVALUE = 820, | ||
| 2767 | D3D12_MESSAGE_ID_CLEARDEPTHSTENCILVIEW_MISMATCHINGCLEARVALUE = 821, | ||
| 2768 | D3D12_MESSAGE_ID_MAP_INVALIDHEAP = 822, | ||
| 2769 | D3D12_MESSAGE_ID_UNMAP_INVALIDHEAP = 823, | ||
| 2770 | D3D12_MESSAGE_ID_MAP_INVALIDRESOURCE = 824, | ||
| 2771 | D3D12_MESSAGE_ID_UNMAP_INVALIDRESOURCE = 825, | ||
| 2772 | D3D12_MESSAGE_ID_MAP_INVALIDSUBRESOURCE = 826, | ||
| 2773 | D3D12_MESSAGE_ID_UNMAP_INVALIDSUBRESOURCE = 827, | ||
| 2774 | D3D12_MESSAGE_ID_MAP_INVALIDRANGE = 828, | ||
| 2775 | D3D12_MESSAGE_ID_UNMAP_INVALIDRANGE = 829, | ||
| 2776 | D3D12_MESSAGE_ID_MAP_INVALIDDATAPOINTER = 832, | ||
| 2777 | D3D12_MESSAGE_ID_MAP_INVALIDARG_RETURN = 833, | ||
| 2778 | D3D12_MESSAGE_ID_MAP_OUTOFMEMORY_RETURN = 834, | ||
| 2779 | D3D12_MESSAGE_ID_EXECUTECOMMANDLISTS_BUNDLENOTSUPPORTED = 835, | ||
| 2780 | D3D12_MESSAGE_ID_EXECUTECOMMANDLISTS_COMMANDLISTMISMATCH = 836, | ||
| 2781 | D3D12_MESSAGE_ID_EXECUTECOMMANDLISTS_OPENCOMMANDLIST = 837, | ||
| 2782 | D3D12_MESSAGE_ID_EXECUTECOMMANDLISTS_FAILEDCOMMANDLIST = 838, | ||
| 2783 | D3D12_MESSAGE_ID_COPYBUFFERREGION_NULLDST = 839, | ||
| 2784 | D3D12_MESSAGE_ID_COPYBUFFERREGION_INVALIDDSTRESOURCEDIMENSION = 840, | ||
| 2785 | D3D12_MESSAGE_ID_COPYBUFFERREGION_DSTRANGEOUTOFBOUNDS = 841, | ||
| 2786 | D3D12_MESSAGE_ID_COPYBUFFERREGION_NULLSRC = 842, | ||
| 2787 | D3D12_MESSAGE_ID_COPYBUFFERREGION_INVALIDSRCRESOURCEDIMENSION = 843, | ||
| 2788 | D3D12_MESSAGE_ID_COPYBUFFERREGION_SRCRANGEOUTOFBOUNDS = 844, | ||
| 2789 | D3D12_MESSAGE_ID_COPYBUFFERREGION_INVALIDCOPYFLAGS = 845, | ||
| 2790 | D3D12_MESSAGE_ID_COPYTEXTUREREGION_NULLDST = 846, | ||
| 2791 | D3D12_MESSAGE_ID_COPYTEXTUREREGION_UNRECOGNIZEDDSTTYPE = 847, | ||
| 2792 | D3D12_MESSAGE_ID_COPYTEXTUREREGION_INVALIDDSTRESOURCEDIMENSION = 848, | ||
| 2793 | D3D12_MESSAGE_ID_COPYTEXTUREREGION_INVALIDDSTRESOURCE = 849, | ||
| 2794 | D3D12_MESSAGE_ID_COPYTEXTUREREGION_INVALIDDSTSUBRESOURCE = 850, | ||
| 2795 | D3D12_MESSAGE_ID_COPYTEXTUREREGION_INVALIDDSTOFFSET = 851, | ||
| 2796 | D3D12_MESSAGE_ID_COPYTEXTUREREGION_UNRECOGNIZEDDSTFORMAT = 852, | ||
| 2797 | D3D12_MESSAGE_ID_COPYTEXTUREREGION_INVALIDDSTFORMAT = 853, | ||
| 2798 | D3D12_MESSAGE_ID_COPYTEXTUREREGION_INVALIDDSTDIMENSIONS = 854, | ||
| 2799 | D3D12_MESSAGE_ID_COPYTEXTUREREGION_INVALIDDSTROWPITCH = 855, | ||
| 2800 | D3D12_MESSAGE_ID_COPYTEXTUREREGION_INVALIDDSTPLACEMENT = 856, | ||
| 2801 | D3D12_MESSAGE_ID_COPYTEXTUREREGION_INVALIDDSTDSPLACEDFOOTPRINTFORMAT = 857, | ||
| 2802 | D3D12_MESSAGE_ID_COPYTEXTUREREGION_DSTREGIONOUTOFBOUNDS = 858, | ||
| 2803 | D3D12_MESSAGE_ID_COPYTEXTUREREGION_NULLSRC = 859, | ||
| 2804 | D3D12_MESSAGE_ID_COPYTEXTUREREGION_UNRECOGNIZEDSRCTYPE = 860, | ||
| 2805 | D3D12_MESSAGE_ID_COPYTEXTUREREGION_INVALIDSRCRESOURCEDIMENSION = 861, | ||
| 2806 | D3D12_MESSAGE_ID_COPYTEXTUREREGION_INVALIDSRCRESOURCE = 862, | ||
| 2807 | D3D12_MESSAGE_ID_COPYTEXTUREREGION_INVALIDSRCSUBRESOURCE = 863, | ||
| 2808 | D3D12_MESSAGE_ID_COPYTEXTUREREGION_INVALIDSRCOFFSET = 864, | ||
| 2809 | D3D12_MESSAGE_ID_COPYTEXTUREREGION_UNRECOGNIZEDSRCFORMAT = 865, | ||
| 2810 | D3D12_MESSAGE_ID_COPYTEXTUREREGION_INVALIDSRCFORMAT = 866, | ||
| 2811 | D3D12_MESSAGE_ID_COPYTEXTUREREGION_INVALIDSRCDIMENSIONS = 867, | ||
| 2812 | D3D12_MESSAGE_ID_COPYTEXTUREREGION_INVALIDSRCROWPITCH = 868, | ||
| 2813 | D3D12_MESSAGE_ID_COPYTEXTUREREGION_INVALIDSRCPLACEMENT = 869, | ||
| 2814 | D3D12_MESSAGE_ID_COPYTEXTUREREGION_INVALIDSRCDSPLACEDFOOTPRINTFORMAT = 870, | ||
| 2815 | D3D12_MESSAGE_ID_COPYTEXTUREREGION_SRCREGIONOUTOFBOUNDS = 871, | ||
| 2816 | D3D12_MESSAGE_ID_COPYTEXTUREREGION_INVALIDDSTCOORDINATES = 872, | ||
| 2817 | D3D12_MESSAGE_ID_COPYTEXTUREREGION_INVALIDSRCBOX = 873, | ||
| 2818 | D3D12_MESSAGE_ID_COPYTEXTUREREGION_FORMATMISMATCH = 874, | ||
| 2819 | D3D12_MESSAGE_ID_COPYTEXTUREREGION_EMPTYBOX = 875, | ||
| 2820 | D3D12_MESSAGE_ID_COPYTEXTUREREGION_INVALIDCOPYFLAGS = 876, | ||
| 2821 | D3D12_MESSAGE_ID_RESOLVESUBRESOURCE_INVALID_SUBRESOURCE_INDEX = 877, | ||
| 2822 | D3D12_MESSAGE_ID_RESOLVESUBRESOURCE_INVALID_FORMAT = 878, | ||
| 2823 | D3D12_MESSAGE_ID_RESOLVESUBRESOURCE_RESOURCE_MISMATCH = 879, | ||
| 2824 | D3D12_MESSAGE_ID_RESOLVESUBRESOURCE_INVALID_SAMPLE_COUNT = 880, | ||
| 2825 | D3D12_MESSAGE_ID_CREATECOMPUTEPIPELINESTATE_INVALID_SHADER = 881, | ||
| 2826 | D3D12_MESSAGE_ID_CREATECOMPUTEPIPELINESTATE_CS_ROOT_SIGNATURE_MISMATCH = 882, | ||
| 2827 | D3D12_MESSAGE_ID_CREATECOMPUTEPIPELINESTATE_MISSING_ROOT_SIGNATURE = 883, | ||
| 2828 | D3D12_MESSAGE_ID_CREATEPIPELINESTATE_INVALIDCACHEDBLOB = 884, | ||
| 2829 | D3D12_MESSAGE_ID_CREATEPIPELINESTATE_CACHEDBLOBADAPTERMISMATCH = 885, | ||
| 2830 | D3D12_MESSAGE_ID_CREATEPIPELINESTATE_CACHEDBLOBDRIVERVERSIONMISMATCH = 886, | ||
| 2831 | D3D12_MESSAGE_ID_CREATEPIPELINESTATE_CACHEDBLOBDESCMISMATCH = 887, | ||
| 2832 | D3D12_MESSAGE_ID_CREATEPIPELINESTATE_CACHEDBLOBIGNORED = 888, | ||
| 2833 | D3D12_MESSAGE_ID_WRITETOSUBRESOURCE_INVALIDHEAP = 889, | ||
| 2834 | D3D12_MESSAGE_ID_WRITETOSUBRESOURCE_INVALIDRESOURCE = 890, | ||
| 2835 | D3D12_MESSAGE_ID_WRITETOSUBRESOURCE_INVALIDBOX = 891, | ||
| 2836 | D3D12_MESSAGE_ID_WRITETOSUBRESOURCE_INVALIDSUBRESOURCE = 892, | ||
| 2837 | D3D12_MESSAGE_ID_WRITETOSUBRESOURCE_EMPTYBOX = 893, | ||
| 2838 | D3D12_MESSAGE_ID_READFROMSUBRESOURCE_INVALIDHEAP = 894, | ||
| 2839 | D3D12_MESSAGE_ID_READFROMSUBRESOURCE_INVALIDRESOURCE = 895, | ||
| 2840 | D3D12_MESSAGE_ID_READFROMSUBRESOURCE_INVALIDBOX = 896, | ||
| 2841 | D3D12_MESSAGE_ID_READFROMSUBRESOURCE_INVALIDSUBRESOURCE = 897, | ||
| 2842 | D3D12_MESSAGE_ID_READFROMSUBRESOURCE_EMPTYBOX = 898, | ||
| 2843 | D3D12_MESSAGE_ID_TOO_MANY_NODES_SPECIFIED = 899, | ||
| 2844 | D3D12_MESSAGE_ID_INVALID_NODE_INDEX = 900, | ||
| 2845 | D3D12_MESSAGE_ID_GETHEAPPROPERTIES_INVALIDRESOURCE = 901, | ||
| 2846 | D3D12_MESSAGE_ID_NODE_MASK_MISMATCH = 902, | ||
| 2847 | D3D12_MESSAGE_ID_COMMAND_LIST_OUTOFMEMORY = 903, | ||
| 2848 | D3D12_MESSAGE_ID_COMMAND_LIST_MULTIPLE_SWAPCHAIN_BUFFER_REFERENCES = 904, | ||
| 2849 | D3D12_MESSAGE_ID_COMMAND_LIST_TOO_MANY_SWAPCHAIN_REFERENCES = 905, | ||
| 2850 | D3D12_MESSAGE_ID_COMMAND_QUEUE_TOO_MANY_SWAPCHAIN_REFERENCES = 906, | ||
| 2851 | D3D12_MESSAGE_ID_EXECUTECOMMANDLISTS_WRONGSWAPCHAINBUFFERREFERENCE = 907, | ||
| 2852 | D3D12_MESSAGE_ID_COMMAND_LIST_SETRENDERTARGETS_INVALIDNUMRENDERTARGETS = 908, | ||
| 2853 | D3D12_MESSAGE_ID_CREATE_QUEUE_INVALID_TYPE = 909, | ||
| 2854 | D3D12_MESSAGE_ID_CREATE_QUEUE_INVALID_FLAGS = 910, | ||
| 2855 | D3D12_MESSAGE_ID_CREATESHAREDRESOURCE_INVALIDFLAGS = 911, | ||
| 2856 | D3D12_MESSAGE_ID_CREATESHAREDRESOURCE_INVALIDFORMAT = 912, | ||
| 2857 | D3D12_MESSAGE_ID_CREATESHAREDHEAP_INVALIDFLAGS = 913, | ||
| 2858 | D3D12_MESSAGE_ID_REFLECTSHAREDPROPERTIES_UNRECOGNIZEDPROPERTIES = 914, | ||
| 2859 | D3D12_MESSAGE_ID_REFLECTSHAREDPROPERTIES_INVALIDSIZE = 915, | ||
| 2860 | D3D12_MESSAGE_ID_REFLECTSHAREDPROPERTIES_INVALIDOBJECT = 916, | ||
| 2861 | D3D12_MESSAGE_ID_KEYEDMUTEX_INVALIDOBJECT = 917, | ||
| 2862 | D3D12_MESSAGE_ID_KEYEDMUTEX_INVALIDKEY = 918, | ||
| 2863 | D3D12_MESSAGE_ID_KEYEDMUTEX_WRONGSTATE = 919, | ||
| 2864 | D3D12_MESSAGE_ID_CREATE_QUEUE_INVALID_PRIORITY = 920, | ||
| 2865 | D3D12_MESSAGE_ID_OBJECT_DELETED_WHILE_STILL_IN_USE = 921, | ||
| 2866 | D3D12_MESSAGE_ID_CREATEPIPELINESTATE_INVALID_FLAGS = 922, | ||
| 2867 | D3D12_MESSAGE_ID_HEAP_ADDRESS_RANGE_HAS_NO_RESOURCE = 923, | ||
| 2868 | D3D12_MESSAGE_ID_COMMAND_LIST_DRAW_RENDER_TARGET_DELETED = 924, | ||
| 2869 | D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_ALL_RENDER_TARGETS_HAVE_UNKNOWN_FORMAT = 925, | ||
| 2870 | D3D12_MESSAGE_ID_HEAP_ADDRESS_RANGE_INTERSECTS_MULTIPLE_BUFFERS = 926, | ||
| 2871 | D3D12_MESSAGE_ID_EXECUTECOMMANDLISTS_GPU_WRITTEN_READBACK_RESOURCE_MAPPED = 927, | ||
| 2872 | D3D12_MESSAGE_ID_UNMAP_RANGE_NOT_EMPTY = 929, | ||
| 2873 | D3D12_MESSAGE_ID_MAP_INVALID_NULLRANGE = 930, | ||
| 2874 | D3D12_MESSAGE_ID_UNMAP_INVALID_NULLRANGE = 931, | ||
| 2875 | D3D12_MESSAGE_ID_NO_GRAPHICS_API_SUPPORT = 932, | ||
| 2876 | D3D12_MESSAGE_ID_NO_COMPUTE_API_SUPPORT = 933, | ||
| 2877 | D3D12_MESSAGE_ID_RESOLVESUBRESOURCE_RESOURCE_FLAGS_NOT_SUPPORTED = 934, | ||
| 2878 | D3D12_MESSAGE_ID_GPU_BASED_VALIDATION_ROOT_ARGUMENT_UNINITIALIZED = 935, | ||
| 2879 | D3D12_MESSAGE_ID_GPU_BASED_VALIDATION_DESCRIPTOR_HEAP_INDEX_OUT_OF_BOUNDS = 936, | ||
| 2880 | D3D12_MESSAGE_ID_GPU_BASED_VALIDATION_DESCRIPTOR_TABLE_REGISTER_INDEX_OUT_OF_BOUNDS = 937, | ||
| 2881 | D3D12_MESSAGE_ID_GPU_BASED_VALIDATION_DESCRIPTOR_UNINITIALIZED = 938, | ||
| 2882 | D3D12_MESSAGE_ID_GPU_BASED_VALIDATION_DESCRIPTOR_TYPE_MISMATCH = 939, | ||
| 2883 | D3D12_MESSAGE_ID_GPU_BASED_VALIDATION_SRV_RESOURCE_DIMENSION_MISMATCH = 940, | ||
| 2884 | D3D12_MESSAGE_ID_GPU_BASED_VALIDATION_UAV_RESOURCE_DIMENSION_MISMATCH = 941, | ||
| 2885 | D3D12_MESSAGE_ID_GPU_BASED_VALIDATION_INCOMPATIBLE_RESOURCE_STATE = 942, | ||
| 2886 | D3D12_MESSAGE_ID_COPYRESOURCE_NULLDST = 943, | ||
| 2887 | D3D12_MESSAGE_ID_COPYRESOURCE_INVALIDDSTRESOURCE = 944, | ||
| 2888 | D3D12_MESSAGE_ID_COPYRESOURCE_NULLSRC = 945, | ||
| 2889 | D3D12_MESSAGE_ID_COPYRESOURCE_INVALIDSRCRESOURCE = 946, | ||
| 2890 | D3D12_MESSAGE_ID_RESOLVESUBRESOURCE_NULLDST = 947, | ||
| 2891 | D3D12_MESSAGE_ID_RESOLVESUBRESOURCE_INVALIDDSTRESOURCE = 948, | ||
| 2892 | D3D12_MESSAGE_ID_RESOLVESUBRESOURCE_NULLSRC = 949, | ||
| 2893 | D3D12_MESSAGE_ID_RESOLVESUBRESOURCE_INVALIDSRCRESOURCE = 950, | ||
| 2894 | D3D12_MESSAGE_ID_PIPELINE_STATE_TYPE_MISMATCH = 951, | ||
| 2895 | D3D12_MESSAGE_ID_COMMAND_LIST_DISPATCH_ROOT_SIGNATURE_NOT_SET = 952, | ||
| 2896 | D3D12_MESSAGE_ID_COMMAND_LIST_DISPATCH_ROOT_SIGNATURE_MISMATCH = 953, | ||
| 2897 | D3D12_MESSAGE_ID_RESOURCE_BARRIER_ZERO_BARRIERS = 954, | ||
| 2898 | D3D12_MESSAGE_ID_BEGIN_END_EVENT_MISMATCH = 955, | ||
| 2899 | D3D12_MESSAGE_ID_RESOURCE_BARRIER_POSSIBLE_BEFORE_AFTER_MISMATCH = 956, | ||
| 2900 | D3D12_MESSAGE_ID_RESOURCE_BARRIER_MISMATCHING_BEGIN_END = 957, | ||
| 2901 | D3D12_MESSAGE_ID_GPU_BASED_VALIDATION_INVALID_RESOURCE = 958, | ||
| 2902 | D3D12_MESSAGE_ID_USE_OF_ZERO_REFCOUNT_OBJECT = 959, | ||
| 2903 | D3D12_MESSAGE_ID_OBJECT_EVICTED_WHILE_STILL_IN_USE = 960, | ||
| 2904 | D3D12_MESSAGE_ID_GPU_BASED_VALIDATION_ROOT_DESCRIPTOR_ACCESS_OUT_OF_BOUNDS = 961, | ||
| 2905 | D3D12_MESSAGE_ID_CREATEPIPELINELIBRARY_INVALIDLIBRARYBLOB = 962, | ||
| 2906 | D3D12_MESSAGE_ID_CREATEPIPELINELIBRARY_DRIVERVERSIONMISMATCH = 963, | ||
| 2907 | D3D12_MESSAGE_ID_CREATEPIPELINELIBRARY_ADAPTERVERSIONMISMATCH = 964, | ||
| 2908 | D3D12_MESSAGE_ID_CREATEPIPELINELIBRARY_UNSUPPORTED = 965, | ||
| 2909 | D3D12_MESSAGE_ID_CREATE_PIPELINELIBRARY = 966, | ||
| 2910 | D3D12_MESSAGE_ID_LIVE_PIPELINELIBRARY = 967, | ||
| 2911 | D3D12_MESSAGE_ID_DESTROY_PIPELINELIBRARY = 968, | ||
| 2912 | D3D12_MESSAGE_ID_STOREPIPELINE_NONAME = 969, | ||
| 2913 | D3D12_MESSAGE_ID_STOREPIPELINE_DUPLICATENAME = 970, | ||
| 2914 | D3D12_MESSAGE_ID_LOADPIPELINE_NAMENOTFOUND = 971, | ||
| 2915 | D3D12_MESSAGE_ID_LOADPIPELINE_INVALIDDESC = 972, | ||
| 2916 | D3D12_MESSAGE_ID_PIPELINELIBRARY_SERIALIZE_NOTENOUGHMEMORY = 973, | ||
| 2917 | D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_PS_OUTPUT_RT_OUTPUT_MISMATCH = 974, | ||
| 2918 | D3D12_MESSAGE_ID_SETEVENTONMULTIPLEFENCECOMPLETION_INVALIDFLAGS = 975, | ||
| 2919 | D3D12_MESSAGE_ID_CREATE_QUEUE_VIDEO_NOT_SUPPORTED = 976, | ||
| 2920 | D3D12_MESSAGE_ID_CREATE_COMMAND_ALLOCATOR_VIDEO_NOT_SUPPORTED = 977, | ||
| 2921 | D3D12_MESSAGE_ID_CREATEQUERY_HEAP_VIDEO_DECODE_STATISTICS_NOT_SUPPORTED = 978, | ||
| 2922 | D3D12_MESSAGE_ID_CREATE_VIDEODECODECOMMANDLIST = 979, | ||
| 2923 | D3D12_MESSAGE_ID_CREATE_VIDEODECODER = 980, | ||
| 2924 | D3D12_MESSAGE_ID_CREATE_VIDEODECODESTREAM = 981, | ||
| 2925 | D3D12_MESSAGE_ID_LIVE_VIDEODECODECOMMANDLIST = 982, | ||
| 2926 | D3D12_MESSAGE_ID_LIVE_VIDEODECODER = 983, | ||
| 2927 | D3D12_MESSAGE_ID_LIVE_VIDEODECODESTREAM = 984, | ||
| 2928 | D3D12_MESSAGE_ID_DESTROY_VIDEODECODECOMMANDLIST = 985, | ||
| 2929 | D3D12_MESSAGE_ID_DESTROY_VIDEODECODER = 986, | ||
| 2930 | D3D12_MESSAGE_ID_DESTROY_VIDEODECODESTREAM = 987, | ||
| 2931 | D3D12_MESSAGE_ID_DECODE_FRAME_INVALID_PARAMETERS = 988, | ||
| 2932 | D3D12_MESSAGE_ID_DEPRECATED_API = 989, | ||
| 2933 | D3D12_MESSAGE_ID_RESOURCE_BARRIER_MISMATCHING_COMMAND_LIST_TYPE = 990, | ||
| 2934 | D3D12_MESSAGE_ID_COMMAND_LIST_DESCRIPTOR_TABLE_NOT_SET = 991, | ||
| 2935 | D3D12_MESSAGE_ID_COMMAND_LIST_ROOT_CONSTANT_BUFFER_VIEW_NOT_SET = 992, | ||
| 2936 | D3D12_MESSAGE_ID_COMMAND_LIST_ROOT_SHADER_RESOURCE_VIEW_NOT_SET = 993, | ||
| 2937 | D3D12_MESSAGE_ID_COMMAND_LIST_ROOT_UNORDERED_ACCESS_VIEW_NOT_SET = 994, | ||
| 2938 | D3D12_MESSAGE_ID_DISCARD_INVALID_SUBRESOURCE_RANGE = 995, | ||
| 2939 | D3D12_MESSAGE_ID_DISCARD_ONE_SUBRESOURCE_FOR_MIPS_WITH_RECTS = 996, | ||
| 2940 | D3D12_MESSAGE_ID_DISCARD_NO_RECTS_FOR_NON_TEXTURE2D = 997, | ||
| 2941 | D3D12_MESSAGE_ID_COPY_ON_SAME_SUBRESOURCE = 998, | ||
| 2942 | D3D12_MESSAGE_ID_SETRESIDENCYPRIORITY_INVALID_PAGEABLE = 999, | ||
| 2943 | D3D12_MESSAGE_ID_GPU_BASED_VALIDATION_UNSUPPORTED = 1000, | ||
| 2944 | D3D12_MESSAGE_ID_STATIC_DESCRIPTOR_INVALID_DESCRIPTOR_CHANGE = 1001, | ||
| 2945 | D3D12_MESSAGE_ID_DATA_STATIC_DESCRIPTOR_INVALID_DATA_CHANGE = 1002, | ||
| 2946 | D3D12_MESSAGE_ID_DATA_STATIC_WHILE_SET_AT_EXECUTE_DESCRIPTOR_INVALID_DATA_CHANGE = 1003, | ||
| 2947 | D3D12_MESSAGE_ID_EXECUTE_BUNDLE_STATIC_DESCRIPTOR_DATA_STATIC_NOT_SET = 1004, | ||
| 2948 | D3D12_MESSAGE_ID_GPU_BASED_VALIDATION_RESOURCE_ACCESS_OUT_OF_BOUNDS = 1005, | ||
| 2949 | D3D12_MESSAGE_ID_GPU_BASED_VALIDATION_SAMPLER_MODE_MISMATCH = 1006, | ||
| 2950 | D3D12_MESSAGE_ID_CREATE_FENCE_INVALID_FLAGS = 1007, | ||
| 2951 | D3D12_MESSAGE_ID_RESOURCE_BARRIER_DUPLICATE_SUBRESOURCE_TRANSITIONS = 1008, | ||
| 2952 | D3D12_MESSAGE_ID_SETRESIDENCYPRIORITY_INVALID_PRIORITY = 1009, | ||
| 2953 | D3D12_MESSAGE_ID_CREATE_DESCRIPTOR_HEAP_LARGE_NUM_DESCRIPTORS = 1013, | ||
| 2954 | D3D12_MESSAGE_ID_BEGIN_EVENT = 1014, | ||
| 2955 | D3D12_MESSAGE_ID_END_EVENT = 1015, | ||
| 2956 | D3D12_MESSAGE_ID_CREATEDEVICE_DEBUG_LAYER_STARTUP_OPTIONS = 1016, | ||
| 2957 | D3D12_MESSAGE_ID_CREATEDEPTHSTENCILSTATE_DEPTHBOUNDSTEST_UNSUPPORTED = 1017, | ||
| 2958 | D3D12_MESSAGE_ID_CREATEPIPELINESTATE_DUPLICATE_SUBOBJECT = 1018, | ||
| 2959 | D3D12_MESSAGE_ID_CREATEPIPELINESTATE_UNKNOWN_SUBOBJECT = 1019, | ||
| 2960 | D3D12_MESSAGE_ID_CREATEPIPELINESTATE_ZERO_SIZE_STREAM = 1020, | ||
| 2961 | D3D12_MESSAGE_ID_CREATEPIPELINESTATE_INVALID_STREAM = 1021, | ||
| 2962 | D3D12_MESSAGE_ID_CREATEPIPELINESTATE_CANNOT_DEDUCE_TYPE = 1022, | ||
| 2963 | D3D12_MESSAGE_ID_COMMAND_LIST_STATIC_DESCRIPTOR_RESOURCE_DIMENSION_MISMATCH = 1023, | ||
| 2964 | D3D12_MESSAGE_ID_CREATE_COMMAND_QUEUE_INSUFFICIENT_PRIVILEGE_FOR_GLOBAL_REALTIME = 1024, | ||
| 2965 | D3D12_MESSAGE_ID_CREATE_COMMAND_QUEUE_INSUFFICIENT_HARDWARE_SUPPORT_FOR_GLOBAL_REALTIME = 1025, | ||
| 2966 | D3D12_MESSAGE_ID_ATOMICCOPYBUFFER_INVALID_ARCHITECTURE = 1026, | ||
| 2967 | D3D12_MESSAGE_ID_ATOMICCOPYBUFFER_NULL_DST = 1027, | ||
| 2968 | D3D12_MESSAGE_ID_ATOMICCOPYBUFFER_INVALID_DST_RESOURCE_DIMENSION = 1028, | ||
| 2969 | D3D12_MESSAGE_ID_ATOMICCOPYBUFFER_DST_RANGE_OUT_OF_BOUNDS = 1029, | ||
| 2970 | D3D12_MESSAGE_ID_ATOMICCOPYBUFFER_NULL_SRC = 1030, | ||
| 2971 | D3D12_MESSAGE_ID_ATOMICCOPYBUFFER_INVALID_SRC_RESOURCE_DIMENSION = 1031, | ||
| 2972 | D3D12_MESSAGE_ID_ATOMICCOPYBUFFER_SRC_RANGE_OUT_OF_BOUNDS = 1032, | ||
| 2973 | D3D12_MESSAGE_ID_ATOMICCOPYBUFFER_INVALID_OFFSET_ALIGNMENT = 1033, | ||
| 2974 | D3D12_MESSAGE_ID_ATOMICCOPYBUFFER_NULL_DEPENDENT_RESOURCES = 1034, | ||
| 2975 | D3D12_MESSAGE_ID_ATOMICCOPYBUFFER_NULL_DEPENDENT_SUBRESOURCE_RANGES = 1035, | ||
| 2976 | D3D12_MESSAGE_ID_ATOMICCOPYBUFFER_INVALID_DEPENDENT_RESOURCE = 1036, | ||
| 2977 | D3D12_MESSAGE_ID_ATOMICCOPYBUFFER_INVALID_DEPENDENT_SUBRESOURCE_RANGE = 1037, | ||
| 2978 | D3D12_MESSAGE_ID_ATOMICCOPYBUFFER_DEPENDENT_SUBRESOURCE_OUT_OF_BOUNDS = 1038, | ||
| 2979 | D3D12_MESSAGE_ID_ATOMICCOPYBUFFER_DEPENDENT_RANGE_OUT_OF_BOUNDS = 1039, | ||
| 2980 | D3D12_MESSAGE_ID_ATOMICCOPYBUFFER_ZERO_DEPENDENCIES = 1040, | ||
| 2981 | D3D12_MESSAGE_ID_DEVICE_CREATE_SHARED_HANDLE_INVALIDARG = 1041, | ||
| 2982 | D3D12_MESSAGE_ID_DESCRIPTOR_HANDLE_WITH_INVALID_RESOURCE = 1042, | ||
| 2983 | D3D12_MESSAGE_ID_SETDEPTHBOUNDS_INVALIDARGS = 1043, | ||
| 2984 | D3D12_MESSAGE_ID_GPU_BASED_VALIDATION_RESOURCE_STATE_IMPRECISE = 1044, | ||
| 2985 | D3D12_MESSAGE_ID_COMMAND_LIST_PIPELINE_STATE_NOT_SET = 1045, | ||
| 2986 | D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_SHADER_MODEL_MISMATCH = 1046, | ||
| 2987 | D3D12_MESSAGE_ID_OBJECT_ACCESSED_WHILE_STILL_IN_USE = 1047, | ||
| 2988 | D3D12_MESSAGE_ID_PROGRAMMABLE_MSAA_UNSUPPORTED = 1048, | ||
| 2989 | D3D12_MESSAGE_ID_SETSAMPLEPOSITIONS_INVALIDARGS = 1049, | ||
| 2990 | D3D12_MESSAGE_ID_RESOLVESUBRESOURCEREGION_INVALID_RECT = 1050, | ||
| 2991 | D3D12_MESSAGE_ID_CREATE_VIDEODECODECOMMANDQUEUE = 1051, | ||
| 2992 | D3D12_MESSAGE_ID_CREATE_VIDEOPROCESSCOMMANDLIST = 1052, | ||
| 2993 | D3D12_MESSAGE_ID_CREATE_VIDEOPROCESSCOMMANDQUEUE = 1053, | ||
| 2994 | D3D12_MESSAGE_ID_LIVE_VIDEODECODECOMMANDQUEUE = 1054, | ||
| 2995 | D3D12_MESSAGE_ID_LIVE_VIDEOPROCESSCOMMANDLIST = 1055, | ||
| 2996 | D3D12_MESSAGE_ID_LIVE_VIDEOPROCESSCOMMANDQUEUE = 1056, | ||
| 2997 | D3D12_MESSAGE_ID_DESTROY_VIDEODECODECOMMANDQUEUE = 1057, | ||
| 2998 | D3D12_MESSAGE_ID_DESTROY_VIDEOPROCESSCOMMANDLIST = 1058, | ||
| 2999 | D3D12_MESSAGE_ID_DESTROY_VIDEOPROCESSCOMMANDQUEUE = 1059, | ||
| 3000 | D3D12_MESSAGE_ID_CREATE_VIDEOPROCESSOR = 1060, | ||
| 3001 | D3D12_MESSAGE_ID_CREATE_VIDEOPROCESSSTREAM = 1061, | ||
| 3002 | D3D12_MESSAGE_ID_LIVE_VIDEOPROCESSOR = 1062, | ||
| 3003 | D3D12_MESSAGE_ID_LIVE_VIDEOPROCESSSTREAM = 1063, | ||
| 3004 | D3D12_MESSAGE_ID_DESTROY_VIDEOPROCESSOR = 1064, | ||
| 3005 | D3D12_MESSAGE_ID_DESTROY_VIDEOPROCESSSTREAM = 1065, | ||
| 3006 | D3D12_MESSAGE_ID_PROCESS_FRAME_INVALID_PARAMETERS = 1066, | ||
| 3007 | D3D12_MESSAGE_ID_COPY_INVALIDLAYOUT = 1067, | ||
| 3008 | D3D12_MESSAGE_ID_CREATE_CRYPTO_SESSION = 1068, | ||
| 3009 | D3D12_MESSAGE_ID_CREATE_CRYPTO_SESSION_POLICY = 1069, | ||
| 3010 | D3D12_MESSAGE_ID_CREATE_PROTECTED_RESOURCE_SESSION = 1070, | ||
| 3011 | D3D12_MESSAGE_ID_LIVE_CRYPTO_SESSION = 1071, | ||
| 3012 | D3D12_MESSAGE_ID_LIVE_CRYPTO_SESSION_POLICY = 1072, | ||
| 3013 | D3D12_MESSAGE_ID_LIVE_PROTECTED_RESOURCE_SESSION = 1073, | ||
| 3014 | D3D12_MESSAGE_ID_DESTROY_CRYPTO_SESSION = 1074, | ||
| 3015 | D3D12_MESSAGE_ID_DESTROY_CRYPTO_SESSION_POLICY = 1075, | ||
| 3016 | D3D12_MESSAGE_ID_DESTROY_PROTECTED_RESOURCE_SESSION = 1076, | ||
| 3017 | D3D12_MESSAGE_ID_PROTECTED_RESOURCE_SESSION_UNSUPPORTED = 1077, | ||
| 3018 | D3D12_MESSAGE_ID_FENCE_INVALIDOPERATION = 1078, | ||
| 3019 | D3D12_MESSAGE_ID_CREATEQUERY_HEAP_COPY_QUEUE_TIMESTAMPS_NOT_SUPPORTED = 1079, | ||
| 3020 | D3D12_MESSAGE_ID_SAMPLEPOSITIONS_MISMATCH_DEFERRED = 1080, | ||
| 3021 | D3D12_MESSAGE_ID_SAMPLEPOSITIONS_MISMATCH_RECORDTIME_ASSUMEDFROMFIRSTUSE = 1081, | ||
| 3022 | D3D12_MESSAGE_ID_SAMPLEPOSITIONS_MISMATCH_RECORDTIME_ASSUMEDFROMCLEAR = 1082, | ||
| 3023 | D3D12_MESSAGE_ID_CREATE_VIDEODECODERHEAP = 1083, | ||
| 3024 | D3D12_MESSAGE_ID_LIVE_VIDEODECODERHEAP = 1084, | ||
| 3025 | D3D12_MESSAGE_ID_DESTROY_VIDEODECODERHEAP = 1085, | ||
| 3026 | D3D12_MESSAGE_ID_OPENEXISTINGHEAP_INVALIDARG_RETURN = 1086, | ||
| 3027 | D3D12_MESSAGE_ID_OPENEXISTINGHEAP_OUTOFMEMORY_RETURN = 1087, | ||
| 3028 | D3D12_MESSAGE_ID_OPENEXISTINGHEAP_INVALIDADDRESS = 1088, | ||
| 3029 | D3D12_MESSAGE_ID_OPENEXISTINGHEAP_INVALIDHANDLE = 1089, | ||
| 3030 | D3D12_MESSAGE_ID_WRITEBUFFERIMMEDIATE_INVALID_DEST = 1090, | ||
| 3031 | D3D12_MESSAGE_ID_WRITEBUFFERIMMEDIATE_INVALID_MODE = 1091, | ||
| 3032 | D3D12_MESSAGE_ID_WRITEBUFFERIMMEDIATE_INVALID_ALIGNMENT = 1092, | ||
| 3033 | D3D12_MESSAGE_ID_WRITEBUFFERIMMEDIATE_NOT_SUPPORTED = 1093, | ||
| 3034 | D3D12_MESSAGE_ID_SETVIEWINSTANCEMASK_INVALIDARGS = 1094, | ||
| 3035 | D3D12_MESSAGE_ID_VIEW_INSTANCING_UNSUPPORTED = 1095, | ||
| 3036 | D3D12_MESSAGE_ID_VIEW_INSTANCING_INVALIDARGS = 1096, | ||
| 3037 | D3D12_MESSAGE_ID_COPYTEXTUREREGION_MISMATCH_DECODE_REFERENCE_ONLY_FLAG = 1097, | ||
| 3038 | D3D12_MESSAGE_ID_COPYRESOURCE_MISMATCH_DECODE_REFERENCE_ONLY_FLAG = 1098, | ||
| 3039 | D3D12_MESSAGE_ID_CREATE_VIDEO_DECODE_HEAP_CAPS_FAILURE = 1099, | ||
| 3040 | D3D12_MESSAGE_ID_CREATE_VIDEO_DECODE_HEAP_CAPS_UNSUPPORTED = 1100, | ||
| 3041 | D3D12_MESSAGE_ID_VIDEO_DECODE_SUPPORT_INVALID_INPUT = 1101, | ||
| 3042 | D3D12_MESSAGE_ID_CREATE_VIDEO_DECODER_UNSUPPORTED = 1102, | ||
| 3043 | D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_METADATA_ERROR = 1103, | ||
| 3044 | D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_VIEW_INSTANCING_VERTEX_SIZE_EXCEEDED = 1104, | ||
| 3045 | D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_RUNTIME_INTERNAL_ERROR = 1105, | ||
| 3046 | D3D12_MESSAGE_ID_NO_VIDEO_API_SUPPORT = 1106, | ||
| 3047 | D3D12_MESSAGE_ID_VIDEO_PROCESS_SUPPORT_INVALID_INPUT = 1107, | ||
| 3048 | D3D12_MESSAGE_ID_CREATE_VIDEO_PROCESSOR_CAPS_FAILURE = 1108, | ||
| 3049 | D3D12_MESSAGE_ID_VIDEO_PROCESS_SUPPORT_UNSUPPORTED_FORMAT = 1109, | ||
| 3050 | D3D12_MESSAGE_ID_VIDEO_DECODE_FRAME_INVALID_ARGUMENT = 1110, | ||
| 3051 | D3D12_MESSAGE_ID_ENQUEUE_MAKE_RESIDENT_INVALID_FLAGS = 1111, | ||
| 3052 | D3D12_MESSAGE_ID_OPENEXISTINGHEAP_UNSUPPORTED = 1112, | ||
| 3053 | D3D12_MESSAGE_ID_VIDEO_PROCESS_FRAMES_INVALID_ARGUMENT = 1113, | ||
| 3054 | D3D12_MESSAGE_ID_VIDEO_DECODE_SUPPORT_UNSUPPORTED = 1114, | ||
| 3055 | D3D12_MESSAGE_ID_CREATE_COMMANDRECORDER = 1115, | ||
| 3056 | D3D12_MESSAGE_ID_LIVE_COMMANDRECORDER = 1116, | ||
| 3057 | D3D12_MESSAGE_ID_DESTROY_COMMANDRECORDER = 1117, | ||
| 3058 | D3D12_MESSAGE_ID_CREATE_COMMAND_RECORDER_VIDEO_NOT_SUPPORTED = 1118, | ||
| 3059 | D3D12_MESSAGE_ID_CREATE_COMMAND_RECORDER_INVALID_SUPPORT_FLAGS = 1119, | ||
| 3060 | D3D12_MESSAGE_ID_CREATE_COMMAND_RECORDER_INVALID_FLAGS = 1120, | ||
| 3061 | D3D12_MESSAGE_ID_CREATE_COMMAND_RECORDER_MORE_RECORDERS_THAN_LOGICAL_PROCESSORS = 1121, | ||
| 3062 | D3D12_MESSAGE_ID_CREATE_COMMANDPOOL = 1122, | ||
| 3063 | D3D12_MESSAGE_ID_LIVE_COMMANDPOOL = 1123, | ||
| 3064 | D3D12_MESSAGE_ID_DESTROY_COMMANDPOOL = 1124, | ||
| 3065 | D3D12_MESSAGE_ID_CREATE_COMMAND_POOL_INVALID_FLAGS = 1125, | ||
| 3066 | D3D12_MESSAGE_ID_CREATE_COMMAND_LIST_VIDEO_NOT_SUPPORTED = 1126, | ||
| 3067 | D3D12_MESSAGE_ID_COMMAND_RECORDER_SUPPORT_FLAGS_MISMATCH = 1127, | ||
| 3068 | D3D12_MESSAGE_ID_COMMAND_RECORDER_CONTENTION = 1128, | ||
| 3069 | D3D12_MESSAGE_ID_COMMAND_RECORDER_USAGE_WITH_CREATECOMMANDLIST_COMMAND_LIST = 1129, | ||
| 3070 | D3D12_MESSAGE_ID_COMMAND_ALLOCATOR_USAGE_WITH_CREATECOMMANDLIST1_COMMAND_LIST = 1130, | ||
| 3071 | D3D12_MESSAGE_ID_CANNOT_EXECUTE_EMPTY_COMMAND_LIST = 1131, | ||
| 3072 | D3D12_MESSAGE_ID_CANNOT_RESET_COMMAND_POOL_WITH_OPEN_COMMAND_LISTS = 1132, | ||
| 3073 | D3D12_MESSAGE_ID_CANNOT_USE_COMMAND_RECORDER_WITHOUT_CURRENT_TARGET = 1133, | ||
| 3074 | D3D12_MESSAGE_ID_CANNOT_CHANGE_COMMAND_RECORDER_TARGET_WHILE_RECORDING = 1134, | ||
| 3075 | D3D12_MESSAGE_ID_COMMAND_POOL_SYNC = 1135, | ||
| 3076 | D3D12_MESSAGE_ID_EVICT_UNDERFLOW = 1136, | ||
| 3077 | D3D12_MESSAGE_ID_CREATE_META_COMMAND = 1137, | ||
| 3078 | D3D12_MESSAGE_ID_LIVE_META_COMMAND = 1138, | ||
| 3079 | D3D12_MESSAGE_ID_DESTROY_META_COMMAND = 1139, | ||
| 3080 | D3D12_MESSAGE_ID_COPYBUFFERREGION_INVALID_DST_RESOURCE = 1140, | ||
| 3081 | D3D12_MESSAGE_ID_COPYBUFFERREGION_INVALID_SRC_RESOURCE = 1141, | ||
| 3082 | D3D12_MESSAGE_ID_ATOMICCOPYBUFFER_INVALID_DST_RESOURCE = 1142, | ||
| 3083 | D3D12_MESSAGE_ID_ATOMICCOPYBUFFER_INVALID_SRC_RESOURCE = 1143, | ||
| 3084 | D3D12_MESSAGE_ID_CREATEPLACEDRESOURCEONBUFFER_NULL_BUFFER = 1144, | ||
| 3085 | D3D12_MESSAGE_ID_CREATEPLACEDRESOURCEONBUFFER_NULL_RESOURCE_DESC = 1145, | ||
| 3086 | D3D12_MESSAGE_ID_CREATEPLACEDRESOURCEONBUFFER_UNSUPPORTED = 1146, | ||
| 3087 | D3D12_MESSAGE_ID_CREATEPLACEDRESOURCEONBUFFER_INVALID_BUFFER_DIMENSION = 1147, | ||
| 3088 | D3D12_MESSAGE_ID_CREATEPLACEDRESOURCEONBUFFER_INVALID_BUFFER_FLAGS = 1148, | ||
| 3089 | D3D12_MESSAGE_ID_CREATEPLACEDRESOURCEONBUFFER_INVALID_BUFFER_OFFSET = 1149, | ||
| 3090 | D3D12_MESSAGE_ID_CREATEPLACEDRESOURCEONBUFFER_INVALID_RESOURCE_DIMENSION = 1150, | ||
| 3091 | D3D12_MESSAGE_ID_CREATEPLACEDRESOURCEONBUFFER_INVALID_RESOURCE_FLAGS = 1151, | ||
| 3092 | D3D12_MESSAGE_ID_CREATEPLACEDRESOURCEONBUFFER_OUTOFMEMORY_RETURN = 1152, | ||
| 3093 | D3D12_MESSAGE_ID_CANNOT_CREATE_GRAPHICS_AND_VIDEO_COMMAND_RECORDER = 1153, | ||
| 3094 | D3D12_MESSAGE_ID_UPDATETILEMAPPINGS_POSSIBLY_MISMATCHING_PROPERTIES = 1154, | ||
| 3095 | D3D12_MESSAGE_ID_CREATE_COMMAND_LIST_INVALID_COMMAND_LIST_TYPE = 1155, | ||
| 3096 | D3D12_MESSAGE_ID_CLEARUNORDEREDACCESSVIEW_INCOMPATIBLE_WITH_STRUCTURED_BUFFERS = 1156, | ||
| 3097 | D3D12_MESSAGE_ID_COMPUTE_ONLY_DEVICE_OPERATION_UNSUPPORTED = 1157, | ||
| 3098 | D3D12_MESSAGE_ID_BUILD_RAYTRACING_ACCELERATION_STRUCTURE_INVALID = 1158, | ||
| 3099 | D3D12_MESSAGE_ID_EMIT_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_INVALID = 1159, | ||
| 3100 | D3D12_MESSAGE_ID_COPY_RAYTRACING_ACCELERATION_STRUCTURE_INVALID = 1160, | ||
| 3101 | D3D12_MESSAGE_ID_DISPATCH_RAYS_INVALID = 1161, | ||
| 3102 | D3D12_MESSAGE_ID_GET_RAYTRACING_ACCELERATION_STRUCTURE_PREBUILD_INFO_INVALID = 1162, | ||
| 3103 | D3D12_MESSAGE_ID_CREATE_LIFETIMETRACKER = 1163, | ||
| 3104 | D3D12_MESSAGE_ID_LIVE_LIFETIMETRACKER = 1164, | ||
| 3105 | D3D12_MESSAGE_ID_DESTROY_LIFETIMETRACKER = 1165, | ||
| 3106 | D3D12_MESSAGE_ID_DESTROYOWNEDOBJECT_OBJECTNOTOWNED = 1166, | ||
| 3107 | D3D12_MESSAGE_ID_CREATE_TRACKEDWORKLOAD = 1167, | ||
| 3108 | D3D12_MESSAGE_ID_LIVE_TRACKEDWORKLOAD = 1168, | ||
| 3109 | D3D12_MESSAGE_ID_DESTROY_TRACKEDWORKLOAD = 1169, | ||
| 3110 | D3D12_MESSAGE_ID_RENDER_PASS_ERROR = 1170, | ||
| 3111 | D3D12_MESSAGE_ID_META_COMMAND_ID_INVALID = 1171, | ||
| 3112 | D3D12_MESSAGE_ID_META_COMMAND_UNSUPPORTED_PARAMS = 1172, | ||
| 3113 | D3D12_MESSAGE_ID_META_COMMAND_FAILED_ENUMERATION = 1173, | ||
| 3114 | D3D12_MESSAGE_ID_META_COMMAND_PARAMETER_SIZE_MISMATCH = 1174, | ||
| 3115 | D3D12_MESSAGE_ID_UNINITIALIZED_META_COMMAND = 1175, | ||
| 3116 | D3D12_MESSAGE_ID_META_COMMAND_INVALID_GPU_VIRTUAL_ADDRESS = 1176, | ||
| 3117 | D3D12_MESSAGE_ID_CREATE_VIDEOENCODECOMMANDLIST = 1177, | ||
| 3118 | D3D12_MESSAGE_ID_LIVE_VIDEOENCODECOMMANDLIST = 1178, | ||
| 3119 | D3D12_MESSAGE_ID_DESTROY_VIDEOENCODECOMMANDLIST = 1179, | ||
| 3120 | D3D12_MESSAGE_ID_CREATE_VIDEOENCODECOMMANDQUEUE = 1180, | ||
| 3121 | D3D12_MESSAGE_ID_LIVE_VIDEOENCODECOMMANDQUEUE = 1181, | ||
| 3122 | D3D12_MESSAGE_ID_DESTROY_VIDEOENCODECOMMANDQUEUE = 1182, | ||
| 3123 | D3D12_MESSAGE_ID_CREATE_VIDEOMOTIONESTIMATOR = 1183, | ||
| 3124 | D3D12_MESSAGE_ID_LIVE_VIDEOMOTIONESTIMATOR = 1184, | ||
| 3125 | D3D12_MESSAGE_ID_DESTROY_VIDEOMOTIONESTIMATOR = 1185, | ||
| 3126 | D3D12_MESSAGE_ID_CREATE_VIDEOMOTIONVECTORHEAP = 1186, | ||
| 3127 | D3D12_MESSAGE_ID_LIVE_VIDEOMOTIONVECTORHEAP = 1187, | ||
| 3128 | D3D12_MESSAGE_ID_DESTROY_VIDEOMOTIONVECTORHEAP = 1188, | ||
| 3129 | D3D12_MESSAGE_ID_MULTIPLE_TRACKED_WORKLOADS = 1189, | ||
| 3130 | D3D12_MESSAGE_ID_MULTIPLE_TRACKED_WORKLOAD_PAIRS = 1190, | ||
| 3131 | D3D12_MESSAGE_ID_OUT_OF_ORDER_TRACKED_WORKLOAD_PAIR = 1191, | ||
| 3132 | D3D12_MESSAGE_ID_CANNOT_ADD_TRACKED_WORKLOAD = 1192, | ||
| 3133 | D3D12_MESSAGE_ID_INCOMPLETE_TRACKED_WORKLOAD_PAIR = 1193, | ||
| 3134 | D3D12_MESSAGE_ID_CREATE_STATE_OBJECT_ERROR = 1194, | ||
| 3135 | D3D12_MESSAGE_ID_GET_SHADER_IDENTIFIER_ERROR = 1195, | ||
| 3136 | D3D12_MESSAGE_ID_GET_SHADER_STACK_SIZE_ERROR = 1196, | ||
| 3137 | D3D12_MESSAGE_ID_GET_PIPELINE_STACK_SIZE_ERROR = 1197, | ||
| 3138 | D3D12_MESSAGE_ID_SET_PIPELINE_STACK_SIZE_ERROR = 1198, | ||
| 3139 | D3D12_MESSAGE_ID_GET_SHADER_IDENTIFIER_SIZE_INVALID = 1199, | ||
| 3140 | D3D12_MESSAGE_ID_CHECK_DRIVER_MATCHING_IDENTIFIER_INVALID = 1200, | ||
| 3141 | D3D12_MESSAGE_ID_CHECK_DRIVER_MATCHING_IDENTIFIER_DRIVER_REPORTED_ISSUE = 1201, | ||
| 3142 | D3D12_MESSAGE_ID_RENDER_PASS_INVALID_RESOURCE_BARRIER = 1202, | ||
| 3143 | D3D12_MESSAGE_ID_RENDER_PASS_DISALLOWED_API_CALLED = 1203, | ||
| 3144 | D3D12_MESSAGE_ID_RENDER_PASS_CANNOT_NEST_RENDER_PASSES = 1204, | ||
| 3145 | D3D12_MESSAGE_ID_RENDER_PASS_CANNOT_END_WITHOUT_BEGIN = 1205, | ||
| 3146 | D3D12_MESSAGE_ID_RENDER_PASS_CANNOT_CLOSE_COMMAND_LIST = 1206, | ||
| 3147 | D3D12_MESSAGE_ID_RENDER_PASS_GPU_WORK_WHILE_SUSPENDED = 1207, | ||
| 3148 | D3D12_MESSAGE_ID_RENDER_PASS_MISMATCHING_SUSPEND_RESUME = 1208, | ||
| 3149 | D3D12_MESSAGE_ID_RENDER_PASS_NO_PRIOR_SUSPEND_WITHIN_EXECUTECOMMANDLISTS = 1209, | ||
| 3150 | D3D12_MESSAGE_ID_RENDER_PASS_NO_SUBSEQUENT_RESUME_WITHIN_EXECUTECOMMANDLISTS = 1210, | ||
| 3151 | D3D12_MESSAGE_ID_TRACKED_WORKLOAD_COMMAND_QUEUE_MISMATCH = 1211, | ||
| 3152 | D3D12_MESSAGE_ID_TRACKED_WORKLOAD_NOT_SUPPORTED = 1212, | ||
| 3153 | D3D12_MESSAGE_ID_RENDER_PASS_MISMATCHING_NO_ACCESS = 1213, | ||
| 3154 | D3D12_MESSAGE_ID_RENDER_PASS_UNSUPPORTED_RESOLVE = 1214, | ||
| 3155 | D3D12_MESSAGE_ID_CLEARUNORDEREDACCESSVIEW_INVALID_RESOURCE_PTR = 1215, | ||
| 3156 | D3D12_MESSAGE_ID_WINDOWS7_FENCE_OUTOFORDER_SIGNAL = 1216, | ||
| 3157 | D3D12_MESSAGE_ID_WINDOWS7_FENCE_OUTOFORDER_WAIT = 1217, | ||
| 3158 | D3D12_MESSAGE_ID_VIDEO_CREATE_MOTION_ESTIMATOR_INVALID_ARGUMENT = 1218, | ||
| 3159 | D3D12_MESSAGE_ID_VIDEO_CREATE_MOTION_VECTOR_HEAP_INVALID_ARGUMENT = 1219, | ||
| 3160 | D3D12_MESSAGE_ID_ESTIMATE_MOTION_INVALID_ARGUMENT = 1220, | ||
| 3161 | D3D12_MESSAGE_ID_RESOLVE_MOTION_VECTOR_HEAP_INVALID_ARGUMENT = 1221, | ||
| 3162 | D3D12_MESSAGE_ID_GETGPUVIRTUALADDRESS_INVALID_HEAP_TYPE = 1222, | ||
| 3163 | D3D12_MESSAGE_ID_SET_BACKGROUND_PROCESSING_MODE_INVALID_ARGUMENT = 1223, | ||
| 3164 | D3D12_MESSAGE_ID_CREATE_COMMAND_LIST_INVALID_COMMAND_LIST_TYPE_FOR_FEATURE_LEVEL = 1224, | ||
| 3165 | D3D12_MESSAGE_ID_CREATE_VIDEOEXTENSIONCOMMAND = 1225, | ||
| 3166 | D3D12_MESSAGE_ID_LIVE_VIDEOEXTENSIONCOMMAND = 1226, | ||
| 3167 | D3D12_MESSAGE_ID_DESTROY_VIDEOEXTENSIONCOMMAND = 1227, | ||
| 3168 | D3D12_MESSAGE_ID_INVALID_VIDEO_EXTENSION_COMMAND_ID = 1228, | ||
| 3169 | D3D12_MESSAGE_ID_VIDEO_EXTENSION_COMMAND_INVALID_ARGUMENT = 1229, | ||
| 3170 | D3D12_MESSAGE_ID_CREATE_ROOT_SIGNATURE_NOT_UNIQUE_IN_DXIL_LIBRARY = 1230, | ||
| 3171 | D3D12_MESSAGE_ID_VARIABLE_SHADING_RATE_NOT_ALLOWED_WITH_TIR = 1231, | ||
| 3172 | D3D12_MESSAGE_ID_GEOMETRY_SHADER_OUTPUTTING_BOTH_VIEWPORT_ARRAY_INDEX_AND_SHADING_RATE_NOT_SUPPORTED_ON_DEVICE = 1232, | ||
| 3173 | D3D12_MESSAGE_ID_RSSETSHADING_RATE_INVALID_SHADING_RATE = 1233, | ||
| 3174 | D3D12_MESSAGE_ID_RSSETSHADING_RATE_SHADING_RATE_NOT_PERMITTED_BY_CAP = 1234, | ||
| 3175 | D3D12_MESSAGE_ID_RSSETSHADING_RATE_INVALID_COMBINER = 1235, | ||
| 3176 | D3D12_MESSAGE_ID_RSSETSHADINGRATEIMAGE_REQUIRES_TIER_2 = 1236, | ||
| 3177 | D3D12_MESSAGE_ID_RSSETSHADINGRATE_REQUIRES_TIER_1 = 1237, | ||
| 3178 | D3D12_MESSAGE_ID_SHADING_RATE_IMAGE_INCORRECT_FORMAT = 1238, | ||
| 3179 | D3D12_MESSAGE_ID_SHADING_RATE_IMAGE_INCORRECT_ARRAY_SIZE = 1239, | ||
| 3180 | D3D12_MESSAGE_ID_SHADING_RATE_IMAGE_INCORRECT_MIP_LEVEL = 1240, | ||
| 3181 | D3D12_MESSAGE_ID_SHADING_RATE_IMAGE_INCORRECT_SAMPLE_COUNT = 1241, | ||
| 3182 | D3D12_MESSAGE_ID_SHADING_RATE_IMAGE_INCORRECT_SAMPLE_QUALITY = 1242, | ||
| 3183 | D3D12_MESSAGE_ID_NON_RETAIL_SHADER_MODEL_WONT_VALIDATE = 1243, | ||
| 3184 | D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_AS_ROOT_SIGNATURE_MISMATCH = 1244, | ||
| 3185 | D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_MS_ROOT_SIGNATURE_MISMATCH = 1245, | ||
| 3186 | D3D12_MESSAGE_ID_ADD_TO_STATE_OBJECT_ERROR = 1246, | ||
| 3187 | D3D12_MESSAGE_ID_CREATE_PROTECTED_RESOURCE_SESSION_INVALID_ARGUMENT = 1247, | ||
| 3188 | D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_MS_PSO_DESC_MISMATCH = 1248, | ||
| 3189 | D3D12_MESSAGE_ID_CREATEPIPELINESTATE_MS_INCOMPLETE_TYPE = 1249, | ||
| 3190 | D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_AS_NOT_MS_MISMATCH = 1250, | ||
| 3191 | D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_MS_NOT_PS_MISMATCH = 1251, | ||
| 3192 | D3D12_MESSAGE_ID_NONZERO_SAMPLER_FEEDBACK_MIP_REGION_WITH_INCOMPATIBLE_FORMAT = 1252, | ||
| 3193 | D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_INPUTLAYOUT_SHADER_MISMATCH = 1253, | ||
| 3194 | D3D12_MESSAGE_ID_EMPTY_DISPATCH = 1254, | ||
| 3195 | D3D12_MESSAGE_ID_RESOURCE_FORMAT_REQUIRES_SAMPLER_FEEDBACK_CAPABILITY = 1255, | ||
| 3196 | D3D12_MESSAGE_ID_SAMPLER_FEEDBACK_MAP_INVALID_MIP_REGION = 1256, | ||
| 3197 | D3D12_MESSAGE_ID_SAMPLER_FEEDBACK_MAP_INVALID_DIMENSION = 1257, | ||
| 3198 | D3D12_MESSAGE_ID_SAMPLER_FEEDBACK_MAP_INVALID_SAMPLE_COUNT = 1258, | ||
| 3199 | D3D12_MESSAGE_ID_SAMPLER_FEEDBACK_MAP_INVALID_SAMPLE_QUALITY = 1259, | ||
| 3200 | D3D12_MESSAGE_ID_SAMPLER_FEEDBACK_MAP_INVALID_LAYOUT = 1260, | ||
| 3201 | D3D12_MESSAGE_ID_SAMPLER_FEEDBACK_MAP_REQUIRES_UNORDERED_ACCESS_FLAG = 1261, | ||
| 3202 | D3D12_MESSAGE_ID_SAMPLER_FEEDBACK_CREATE_UAV_NULL_ARGUMENTS = 1262, | ||
| 3203 | D3D12_MESSAGE_ID_SAMPLER_FEEDBACK_UAV_REQUIRES_SAMPLER_FEEDBACK_CAPABILITY = 1263, | ||
| 3204 | D3D12_MESSAGE_ID_SAMPLER_FEEDBACK_CREATE_UAV_REQUIRES_FEEDBACK_MAP_FORMAT = 1264, | ||
| 3205 | D3D12_MESSAGE_ID_CREATEMESHSHADER_INVALIDSHADERBYTECODE = 1265, | ||
| 3206 | D3D12_MESSAGE_ID_CREATEMESHSHADER_OUTOFMEMORY = 1266, | ||
| 3207 | D3D12_MESSAGE_ID_CREATEMESHSHADERWITHSTREAMOUTPUT_INVALIDSHADERTYPE = 1267, | ||
| 3208 | D3D12_MESSAGE_ID_RESOLVESUBRESOURCE_SAMPLER_FEEDBACK_TRANSCODE_INVALID_FORMAT = 1268, | ||
| 3209 | D3D12_MESSAGE_ID_RESOLVESUBRESOURCE_SAMPLER_FEEDBACK_INVALID_MIP_LEVEL_COUNT = 1269, | ||
| 3210 | D3D12_MESSAGE_ID_RESOLVESUBRESOURCE_SAMPLER_FEEDBACK_TRANSCODE_ARRAY_SIZE_MISMATCH = 1270, | ||
| 3211 | D3D12_MESSAGE_ID_SAMPLER_FEEDBACK_CREATE_UAV_MISMATCHING_TARGETED_RESOURCE = 1271, | ||
| 3212 | D3D12_MESSAGE_ID_CREATEMESHSHADER_OUTPUTEXCEEDSMAXSIZE = 1272, | ||
| 3213 | D3D12_MESSAGE_ID_CREATEMESHSHADER_GROUPSHAREDEXCEEDSMAXSIZE = 1273, | ||
| 3214 | D3D12_MESSAGE_ID_VERTEX_SHADER_OUTPUTTING_BOTH_VIEWPORT_ARRAY_INDEX_AND_SHADING_RATE_NOT_SUPPORTED_ON_DEVICE = 1274, | ||
| 3215 | D3D12_MESSAGE_ID_MESH_SHADER_OUTPUTTING_BOTH_VIEWPORT_ARRAY_INDEX_AND_SHADING_RATE_NOT_SUPPORTED_ON_DEVICE = 1275, | ||
| 3216 | D3D12_MESSAGE_ID_CREATEMESHSHADER_MISMATCHEDASMSPAYLOADSIZE = 1276, | ||
| 3217 | D3D12_MESSAGE_ID_CREATE_ROOT_SIGNATURE_UNBOUNDED_STATIC_DESCRIPTORS = 1277, | ||
| 3218 | D3D12_MESSAGE_ID_CREATEAMPLIFICATIONSHADER_INVALIDSHADERBYTECODE = 1278, | ||
| 3219 | D3D12_MESSAGE_ID_CREATEAMPLIFICATIONSHADER_OUTOFMEMORY = 1279, | ||
| 3220 | D3D12_MESSAGE_ID_CREATE_SHADERCACHESESSION = 1280, | ||
| 3221 | D3D12_MESSAGE_ID_LIVE_SHADERCACHESESSION = 1281, | ||
| 3222 | D3D12_MESSAGE_ID_DESTROY_SHADERCACHESESSION = 1282, | ||
| 3223 | D3D12_MESSAGE_ID_CREATESHADERCACHESESSION_INVALIDARGS = 1283, | ||
| 3224 | D3D12_MESSAGE_ID_CREATESHADERCACHESESSION_DISABLED = 1284, | ||
| 3225 | D3D12_MESSAGE_ID_CREATESHADERCACHESESSION_ALREADYOPEN = 1285, | ||
| 3226 | D3D12_MESSAGE_ID_SHADERCACHECONTROL_DEVELOPERMODE = 1286, | ||
| 3227 | D3D12_MESSAGE_ID_SHADERCACHECONTROL_INVALIDFLAGS = 1287, | ||
| 3228 | D3D12_MESSAGE_ID_SHADERCACHECONTROL_STATEALREADYSET = 1288, | ||
| 3229 | D3D12_MESSAGE_ID_SHADERCACHECONTROL_IGNOREDFLAG = 1289, | ||
| 3230 | D3D12_MESSAGE_ID_SHADERCACHESESSION_STOREVALUE_ALREADYPRESENT = 1290, | ||
| 3231 | D3D12_MESSAGE_ID_SHADERCACHESESSION_STOREVALUE_HASHCOLLISION = 1291, | ||
| 3232 | D3D12_MESSAGE_ID_SHADERCACHESESSION_STOREVALUE_CACHEFULL = 1292, | ||
| 3233 | D3D12_MESSAGE_ID_SHADERCACHESESSION_FINDVALUE_NOTFOUND = 1293, | ||
| 3234 | D3D12_MESSAGE_ID_SHADERCACHESESSION_CORRUPT = 1294, | ||
| 3235 | D3D12_MESSAGE_ID_SHADERCACHESESSION_DISABLED = 1295, | ||
| 3236 | D3D12_MESSAGE_ID_OVERSIZED_DISPATCH = 1296, | ||
| 3237 | D3D12_MESSAGE_ID_CREATE_VIDEOENCODER = 1297, | ||
| 3238 | D3D12_MESSAGE_ID_LIVE_VIDEOENCODER = 1298, | ||
| 3239 | D3D12_MESSAGE_ID_DESTROY_VIDEOENCODER = 1299, | ||
| 3240 | D3D12_MESSAGE_ID_CREATE_VIDEOENCODERHEAP = 1300, | ||
| 3241 | D3D12_MESSAGE_ID_LIVE_VIDEOENCODERHEAP = 1301, | ||
| 3242 | D3D12_MESSAGE_ID_DESTROY_VIDEOENCODERHEAP = 1302, | ||
| 3243 | D3D12_MESSAGE_ID_COPYTEXTUREREGION_MISMATCH_ENCODE_REFERENCE_ONLY_FLAG = 1303, | ||
| 3244 | D3D12_MESSAGE_ID_COPYRESOURCE_MISMATCH_ENCODE_REFERENCE_ONLY_FLAG = 1304, | ||
| 3245 | D3D12_MESSAGE_ID_ENCODE_FRAME_INVALID_PARAMETERS = 1305, | ||
| 3246 | D3D12_MESSAGE_ID_ENCODE_FRAME_UNSUPPORTED_PARAMETERS = 1306, | ||
| 3247 | D3D12_MESSAGE_ID_RESOLVE_ENCODER_OUTPUT_METADATA_INVALID_PARAMETERS = 1307, | ||
| 3248 | D3D12_MESSAGE_ID_RESOLVE_ENCODER_OUTPUT_METADATA_UNSUPPORTED_PARAMETERS = 1308, | ||
| 3249 | D3D12_MESSAGE_ID_CREATE_VIDEO_ENCODER_INVALID_PARAMETERS = 1309, | ||
| 3250 | D3D12_MESSAGE_ID_CREATE_VIDEO_ENCODER_UNSUPPORTED_PARAMETERS = 1310, | ||
| 3251 | D3D12_MESSAGE_ID_CREATE_VIDEO_ENCODER_HEAP_INVALID_PARAMETERS = 1311, | ||
| 3252 | D3D12_MESSAGE_ID_CREATE_VIDEO_ENCODER_HEAP_UNSUPPORTED_PARAMETERS = 1312, | ||
| 3253 | D3D12_MESSAGE_ID_CREATECOMMANDLIST_NULL_COMMANDALLOCATOR = 1313, | ||
| 3254 | D3D12_MESSAGE_ID_CLEAR_UNORDERED_ACCESS_VIEW_INVALID_DESCRIPTOR_HANDLE = 1314, | ||
| 3255 | D3D12_MESSAGE_ID_DESCRIPTOR_HEAP_NOT_SHADER_VISIBLE = 1315, | ||
| 3256 | D3D12_MESSAGE_ID_CREATEBLENDSTATE_BLENDOP_WARNING = 1316, | ||
| 3257 | D3D12_MESSAGE_ID_CREATEBLENDSTATE_BLENDOPALPHA_WARNING = 1317, | ||
| 3258 | D3D12_MESSAGE_ID_WRITE_COMBINE_PERFORMANCE_WARNING = 1318, | ||
| 3259 | D3D12_MESSAGE_ID_RESOLVE_QUERY_INVALID_QUERY_STATE = 1319, | ||
| 3260 | D3D12_MESSAGE_ID_SETPRIVATEDATA_NO_ACCESS = 1320, | ||
| 3261 | D3D12_MESSAGE_ID_COMMAND_LIST_STATIC_DESCRIPTOR_SAMPLER_MODE_MISMATCH = 1321, | ||
| 3262 | D3D12_MESSAGE_ID_GETCOPYABLEFOOTPRINTS_UNSUPPORTED_BUFFER_WIDTH = 1322, | ||
| 3263 | D3D12_MESSAGE_ID_CREATEMESHSHADER_TOPOLOGY_MISMATCH = 1323, | ||
| 3264 | D3D12_MESSAGE_ID_VRS_SUM_COMBINER_REQUIRES_CAPABILITY = 1324, | ||
| 3265 | D3D12_MESSAGE_ID_SETTING_SHADING_RATE_FROM_MS_REQUIRES_CAPABILITY = 1325, | ||
| 3266 | D3D12_MESSAGE_ID_SHADERCACHESESSION_SHADERCACHEDELETE_NOTSUPPORTED = 1326, | ||
| 3267 | D3D12_MESSAGE_ID_SHADERCACHECONTROL_SHADERCACHECLEAR_NOTSUPPORTED = 1327, | ||
| 3268 | D3D12_MESSAGE_ID_CREATERESOURCE_STATE_IGNORED = 1328, | ||
| 3269 | D3D12_MESSAGE_ID_UNUSED_CROSS_EXECUTE_SPLIT_BARRIER = 1329, | ||
| 3270 | D3D12_MESSAGE_ID_DEVICE_OPEN_SHARED_HANDLE_ACCESS_DENIED = 1330, | ||
| 3271 | D3D12_MESSAGE_ID_INCOMPATIBLE_BARRIER_VALUES = 1331, | ||
| 3272 | D3D12_MESSAGE_ID_INCOMPATIBLE_BARRIER_ACCESS = 1332, | ||
| 3273 | D3D12_MESSAGE_ID_INCOMPATIBLE_BARRIER_SYNC = 1333, | ||
| 3274 | D3D12_MESSAGE_ID_INCOMPATIBLE_BARRIER_LAYOUT = 1334, | ||
| 3275 | D3D12_MESSAGE_ID_INCOMPATIBLE_BARRIER_TYPE = 1335, | ||
| 3276 | D3D12_MESSAGE_ID_OUT_OF_BOUNDS_BARRIER_SUBRESOURCE_RANGE = 1336, | ||
| 3277 | D3D12_MESSAGE_ID_INCOMPATIBLE_BARRIER_RESOURCE_DIMENSION = 1337, | ||
| 3278 | D3D12_MESSAGE_ID_SET_SCISSOR_RECTS_INVALID_RECT = 1338, | ||
| 3279 | D3D12_MESSAGE_ID_SHADING_RATE_SOURCE_REQUIRES_DIMENSION_TEXTURE2D = 1339, | ||
| 3280 | D3D12_MESSAGE_ID_BUFFER_BARRIER_SUBREGION_OUT_OF_BOUNDS = 1340, | ||
| 3281 | D3D12_MESSAGE_ID_UNSUPPORTED_BARRIER_LAYOUT = 1341, | ||
| 3282 | D3D12_MESSAGE_ID_CREATERESOURCEANDHEAP_INVALID_PARAMETERS = 1342, | ||
| 3283 | D3D12_MESSAGE_ID_ENHANCED_BARRIERS_NOT_SUPPORTED = 1343, | ||
| 3284 | D3D12_MESSAGE_ID_LEGACY_BARRIER_VALIDATION_FORCED_ON = 1346, | ||
| 3285 | D3D12_MESSAGE_ID_EMPTY_ROOT_DESCRIPTOR_TABLE = 1347, | ||
| 3286 | D3D12_MESSAGE_ID_COMMAND_LIST_DRAW_ELEMENT_OFFSET_UNALIGNED = 1348, | ||
| 3287 | D3D12_MESSAGE_ID_ALPHA_BLEND_FACTOR_NOT_SUPPORTED = 1349, | ||
| 3288 | D3D12_MESSAGE_ID_BARRIER_INTEROP_INVALID_LAYOUT = 1350, | ||
| 3289 | D3D12_MESSAGE_ID_BARRIER_INTEROP_INVALID_STATE = 1351, | ||
| 3290 | D3D12_MESSAGE_ID_GRAPHICS_PIPELINE_STATE_DESC_ZERO_SAMPLE_MASK = 1352, | ||
| 3291 | D3D12_MESSAGE_ID_INDEPENDENT_STENCIL_REF_NOT_SUPPORTED = 1353, | ||
| 3292 | D3D12_MESSAGE_ID_CREATEDEPTHSTENCILSTATE_INDEPENDENT_MASKS_UNSUPPORTED = 1354, | ||
| 3293 | D3D12_MESSAGE_ID_TEXTURE_BARRIER_SUBRESOURCES_OUT_OF_BOUNDS = 1355, | ||
| 3294 | D3D12_MESSAGE_ID_NON_OPTIMAL_BARRIER_ONLY_EXECUTE_COMMAND_LISTS = 1356, | ||
| 3295 | D3D12_MESSAGE_ID_EXECUTE_INDIRECT_ZERO_COMMAND_COUNT = 1357, | ||
| 3296 | D3D12_MESSAGE_ID_GPU_BASED_VALIDATION_INCOMPATIBLE_TEXTURE_LAYOUT = 1358, | ||
| 3297 | D3D12_MESSAGE_ID_DYNAMIC_INDEX_BUFFER_STRIP_CUT_NOT_SUPPORTED = 1359, | ||
| 3298 | D3D12_MESSAGE_ID_PRIMITIVE_TOPOLOGY_TRIANGLE_FANS_NOT_SUPPORTED = 1360, | ||
| 3299 | D3D12_MESSAGE_ID_CREATE_SAMPLER_COMPARISON_FUNC_IGNORED = 1361, | ||
| 3300 | D3D12_MESSAGE_ID_CREATEHEAP_INVALIDHEAPTYPE = 1362, | ||
| 3301 | D3D12_MESSAGE_ID_CREATERESOURCEANDHEAP_INVALIDHEAPTYPE = 1363, | ||
| 3302 | D3D12_MESSAGE_ID_DYNAMIC_DEPTH_BIAS_NOT_SUPPORTED = 1364, | ||
| 3303 | D3D12_MESSAGE_ID_CREATERASTERIZERSTATE_NON_WHOLE_DYNAMIC_DEPTH_BIAS = 1365, | ||
| 3304 | D3D12_MESSAGE_ID_DYNAMIC_DEPTH_BIAS_FLAG_MISSING = 1366, | ||
| 3305 | D3D12_MESSAGE_ID_DYNAMIC_DEPTH_BIAS_NO_PIPELINE = 1367, | ||
| 3306 | D3D12_MESSAGE_ID_DYNAMIC_INDEX_BUFFER_STRIP_CUT_FLAG_MISSING = 1368, | ||
| 3307 | D3D12_MESSAGE_ID_DYNAMIC_INDEX_BUFFER_STRIP_CUT_NO_PIPELINE = 1369, | ||
| 3308 | D3D12_MESSAGE_ID_NONNORMALIZED_COORDINATE_SAMPLING_NOT_SUPPORTED = 1370, | ||
| 3309 | D3D12_MESSAGE_ID_INVALID_CAST_TARGET = 1371, | ||
| 3310 | D3D12_MESSAGE_ID_RENDER_PASS_COMMANDLIST_INVALID_END_STATE = 1372, | ||
| 3311 | D3D12_MESSAGE_ID_RENDER_PASS_COMMANDLIST_INVALID_START_STATE = 1373, | ||
| 3312 | D3D12_MESSAGE_ID_RENDER_PASS_MISMATCHING_ACCESS = 1374, | ||
| 3313 | D3D12_MESSAGE_ID_RENDER_PASS_MISMATCHING_LOCAL_PRESERVE_PARAMETERS = 1375, | ||
| 3314 | D3D12_MESSAGE_ID_RENDER_PASS_LOCAL_PRESERVE_RENDER_PARAMETERS_ERROR = 1376, | ||
| 3315 | D3D12_MESSAGE_ID_RENDER_PASS_LOCAL_DEPTH_STENCIL_ERROR = 1377, | ||
| 3316 | D3D12_MESSAGE_ID_DRAW_POTENTIALLY_OUTSIDE_OF_VALID_RENDER_AREA = 1378, | ||
| 3317 | D3D12_MESSAGE_ID_CREATERASTERIZERSTATE_INVALID_LINERASTERIZATIONMODE = 1379, | ||
| 3318 | D3D12_MESSAGE_ID_CREATERESOURCE_INVALIDALIGNMENT_SMALLRESOURCE = 1380, | ||
| 3319 | D3D12_MESSAGE_ID_GENERIC_DEVICE_OPERATION_UNSUPPORTED = 1381, | ||
| 3320 | D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_RENDER_TARGET_WRONG_WRITE_MASK = 1382, | ||
| 3321 | D3D12_MESSAGE_ID_PROBABLE_PIX_EVENT_LEAK = 1383, | ||
| 3322 | D3D12_MESSAGE_ID_PIX_EVENT_UNDERFLOW = 1384, | ||
| 3323 | D3D12_MESSAGE_ID_RECREATEAT_INVALID_TARGET = 1385, | ||
| 3324 | D3D12_MESSAGE_ID_RECREATEAT_INSUFFICIENT_SUPPORT = 1386, | ||
| 3325 | D3D12_MESSAGE_ID_GPU_BASED_VALIDATION_STRUCTURED_BUFFER_STRIDE_MISMATCH = 1387, | ||
| 3326 | D3D12_MESSAGE_ID_DISPATCH_GRAPH_INVALID = 1388, | ||
| 3327 | D3D12_MESSAGE_ID_DIRECTSR_SUPERRES_TARGET_FORMAT_INVALID = 1389, | ||
| 3328 | D3D12_MESSAGE_ID_DIRECTSR_SUPERRES_TARGET_DIMENSION_INVALID = 1390, | ||
| 3329 | D3D12_MESSAGE_ID_DIRECTSR_SUPERRES_SOURCE_COLOR_FORMAT_INVALID = 1391, | ||
| 3330 | D3D12_MESSAGE_ID_DIRECTSR_SUPERRES_SOURCE_DEPTH_FORMAT_INVALID = 1392, | ||
| 3331 | D3D12_MESSAGE_ID_DIRECTSR_SUPERRES_EXPOSURE_SCALE_FORMAT_INVALID = 1393, | ||
| 3332 | D3D12_MESSAGE_ID_DIRECTSR_SUPERRES_ENGINE_CREATE_FLAGS_INVALID = 1394, | ||
| 3333 | D3D12_MESSAGE_ID_DIRECTSR_SUPERRES_EXTENSION_INTERNAL_LOAD_FAILURE = 1395, | ||
| 3334 | D3D12_MESSAGE_ID_DIRECTSR_SUPERRES_EXTENSION_INTERNAL_ENGINE_CREATION_ERROR = 1396, | ||
| 3335 | D3D12_MESSAGE_ID_DIRECTSR_SUPERRES_EXTENSION_INTERNAL_UPSCALER_CREATION_ERROR = 1397, | ||
| 3336 | D3D12_MESSAGE_ID_DIRECTSR_SUPERRES_EXTENSION_INTERNAL_UPSCALER_EXECUTION_ERROR = 1398, | ||
| 3337 | D3D12_MESSAGE_ID_DIRECTSR_SUPERRES_UPSCALER_EXECUTE_REGION_INVALID = 1399, | ||
| 3338 | D3D12_MESSAGE_ID_DIRECTSR_SUPERRES_UPSCALER_EXECUTE_TIME_DELTA_INVALID = 1400, | ||
| 3339 | D3D12_MESSAGE_ID_DIRECTSR_SUPERRES_UPSCALER_EXECUTE_REQUIRED_TEXTURE_IS_NULL = 1401, | ||
| 3340 | D3D12_MESSAGE_ID_DIRECTSR_SUPERRES_UPSCALER_EXECUTE_MOTION_VECTORS_FORMAT_INVALID = 1402, | ||
| 3341 | D3D12_MESSAGE_ID_DIRECTSR_SUPERRES_UPSCALER_EXECUTE_FLAGS_INVALID = 1403, | ||
| 3342 | D3D12_MESSAGE_ID_DIRECTSR_SUPERRES_UPSCALER_EXECUTE_FORMAT_INVALID = 1404, | ||
| 3343 | D3D12_MESSAGE_ID_DIRECTSR_SUPERRES_UPSCALER_EXECUTE_EXPOSURE_SCALE_TEXTURE_SIZE_INVALID = 1405, | ||
| 3344 | D3D12_MESSAGE_ID_DIRECTSR_SUPERRES_VARIANT_INDEX_OUT_OF_BOUNDS = 1406, | ||
| 3345 | D3D12_MESSAGE_ID_DIRECTSR_SUPERRES_VARIANT_ID_NOT_FOUND = 1407, | ||
| 3346 | D3D12_MESSAGE_ID_DIRECTSR_SUPERRES_DUPLICATE_VARIANT_ID = 1408, | ||
| 3347 | D3D12_MESSAGE_ID_DIRECTSR_OUT_OF_MEMORY = 1409, | ||
| 3348 | D3D12_MESSAGE_ID_DIRECTSR_SUPERRES_UPSCALER_EXECUTE_UNEXPECTED_TEXTURE_IS_IGNORED = 1410, | ||
| 3349 | D3D12_MESSAGE_ID_DIRECTSR_SUPERRES_UPSCALER_EVICT_UNDERFLOW = 1411, | ||
| 3350 | D3D12_MESSAGE_ID_DIRECTSR_SUPERRES_UPSCALER_EXECUTE_OPTIONAL_TEXTURE_IS_NULL = 1412, | ||
| 3351 | D3D12_MESSAGE_ID_DIRECTSR_SUPERRES_UPSCALER_EXECUTE_INVALID_CAMERA_JITTER = 1413, | ||
| 3352 | D3D12_MESSAGE_ID_CREATE_STATE_OBJECT_WARNING = 1414, | ||
| 3353 | D3D12_MESSAGE_ID_GUID_TEXTURE_LAYOUT_UNSUPPORTED = 1415, | ||
| 3354 | D3D12_MESSAGE_ID_RESOLVE_ENCODER_INPUT_PARAM_LAYOUT_INVALID_PARAMETERS = 1416, | ||
| 3355 | D3D12_MESSAGE_ID_INVALID_BARRIER_ACCESS = 1417, | ||
| 3356 | D3D12_MESSAGE_ID_COMMAND_LIST_DRAW_INSTANCE_COUNT_ZERO = 1418, | ||
| 3357 | D3D12_MESSAGE_ID_DESCRIPTOR_HEAP_NOT_SET_BEFORE_ROOT_SIGNATURE_WITH_DIRECTLY_INDEXED_FLAG = 1419, | ||
| 3358 | D3D12_MESSAGE_ID_DIFFERENT_DESCRIPTOR_HEAP_SET_AFTER_ROOT_SIGNATURE_WITH_DIRECTLY_INDEXED_FLAG = 1420, | ||
| 3359 | D3D12_MESSAGE_ID_APPLICATION_SPECIFIC_DRIVER_STATE_NOT_SUPPORTED = 1421, | ||
| 3360 | D3D12_MESSAGE_ID_RENDER_TARGET_OR_DEPTH_STENCIL_RESOUCE_NOT_INITIALIZED = 1422, | ||
| 3361 | D3D12_MESSAGE_ID_BYTECODE_VALIDATION_ERROR = 1423, | ||
| 3362 | D3D12_MESSAGE_ID_FENCE_ZERO_WAIT = 1424, | ||
| 3363 | D3D12_MESSAGE_ID_NON_COMMON_RESOURCE_IN_COPY_QUEUE = 1431, | ||
| 3364 | D3D12_MESSAGE_ID_CREATEPIPELINESTATE_MULTIPLE_ROOT_SIGNATURES_DEFINED = 1435, | ||
| 3365 | D3D12_MESSAGE_ID_TEXTURE_BARRIER_INVALID_FLAGS = 1436, | ||
| 3366 | D3D12_MESSAGE_ID_D3D12_MESSAGES_END = 1442 | ||
| 3367 | } D3D12_MESSAGE_ID; | ||
| 3368 | |||
| 3369 | typedef struct D3D12_MESSAGE | ||
| 3370 | { | ||
| 3371 | D3D12_MESSAGE_CATEGORY Category; | ||
| 3372 | D3D12_MESSAGE_SEVERITY Severity; | ||
| 3373 | D3D12_MESSAGE_ID ID; | ||
| 3374 | _Field_size_(DescriptionByteLength) const char *pDescription; | ||
| 3375 | SIZE_T DescriptionByteLength; | ||
| 3376 | } D3D12_MESSAGE; | ||
| 3377 | |||
| 3378 | typedef struct D3D12_INFO_QUEUE_FILTER_DESC | ||
| 3379 | { | ||
| 3380 | UINT NumCategories; | ||
| 3381 | _Field_size_(NumCategories) D3D12_MESSAGE_CATEGORY *pCategoryList; | ||
| 3382 | UINT NumSeverities; | ||
| 3383 | _Field_size_(NumSeverities) D3D12_MESSAGE_SEVERITY *pSeverityList; | ||
| 3384 | UINT NumIDs; | ||
| 3385 | _Field_size_(NumIDs) D3D12_MESSAGE_ID *pIDList; | ||
| 3386 | } D3D12_INFO_QUEUE_FILTER_DESC; | ||
| 3387 | |||
| 3388 | typedef struct D3D12_INFO_QUEUE_FILTER | ||
| 3389 | { | ||
| 3390 | D3D12_INFO_QUEUE_FILTER_DESC AllowList; | ||
| 3391 | D3D12_INFO_QUEUE_FILTER_DESC DenyList; | ||
| 3392 | } D3D12_INFO_QUEUE_FILTER; | ||
| 3393 | |||
| 3394 | #define D3D12_INFO_QUEUE_DEFAULT_MESSAGE_COUNT_LIMIT 1024 | ||
| 3395 | |||
| 3396 | |||
| 3397 | extern RPC_IF_HANDLE __MIDL_itf_d3d12sdklayers_0000_0018_v0_0_c_ifspec; | ||
| 3398 | extern RPC_IF_HANDLE __MIDL_itf_d3d12sdklayers_0000_0018_v0_0_s_ifspec; | ||
| 3399 | |||
| 3400 | #ifndef __ID3D12InfoQueue_INTERFACE_DEFINED__ | ||
| 3401 | #define __ID3D12InfoQueue_INTERFACE_DEFINED__ | ||
| 3402 | |||
| 3403 | /* interface ID3D12InfoQueue */ | ||
| 3404 | /* [unique][local][object][uuid] */ | ||
| 3405 | |||
| 3406 | |||
| 3407 | EXTERN_C const IID IID_ID3D12InfoQueue; | ||
| 3408 | |||
| 3409 | #if defined(__cplusplus) && !defined(CINTERFACE) | ||
| 3410 | |||
| 3411 | MIDL_INTERFACE("0742a90b-c387-483f-b946-30a7e4e61458") | ||
| 3412 | ID3D12InfoQueue : public IUnknown | ||
| 3413 | { | ||
| 3414 | public: | ||
| 3415 | virtual HRESULT STDMETHODCALLTYPE SetMessageCountLimit( | ||
| 3416 | _In_ UINT64 MessageCountLimit) = 0; | ||
| 3417 | |||
| 3418 | virtual void STDMETHODCALLTYPE ClearStoredMessages( void) = 0; | ||
| 3419 | |||
| 3420 | virtual HRESULT STDMETHODCALLTYPE GetMessage( | ||
| 3421 | _In_ UINT64 MessageIndex, | ||
| 3422 | _Out_writes_bytes_opt_(*pMessageByteLength) D3D12_MESSAGE *pMessage, | ||
| 3423 | _Inout_ SIZE_T *pMessageByteLength) = 0; | ||
| 3424 | |||
| 3425 | virtual UINT64 STDMETHODCALLTYPE GetNumMessagesAllowedByStorageFilter( void) = 0; | ||
| 3426 | |||
| 3427 | virtual UINT64 STDMETHODCALLTYPE GetNumMessagesDeniedByStorageFilter( void) = 0; | ||
| 3428 | |||
| 3429 | virtual UINT64 STDMETHODCALLTYPE GetNumStoredMessages( void) = 0; | ||
| 3430 | |||
| 3431 | virtual UINT64 STDMETHODCALLTYPE GetNumStoredMessagesAllowedByRetrievalFilter( void) = 0; | ||
| 3432 | |||
| 3433 | virtual UINT64 STDMETHODCALLTYPE GetNumMessagesDiscardedByMessageCountLimit( void) = 0; | ||
| 3434 | |||
| 3435 | virtual UINT64 STDMETHODCALLTYPE GetMessageCountLimit( void) = 0; | ||
| 3436 | |||
| 3437 | virtual HRESULT STDMETHODCALLTYPE AddStorageFilterEntries( | ||
| 3438 | _In_ D3D12_INFO_QUEUE_FILTER *pFilter) = 0; | ||
| 3439 | |||
| 3440 | virtual HRESULT STDMETHODCALLTYPE GetStorageFilter( | ||
| 3441 | _Out_writes_bytes_opt_(*pFilterByteLength) D3D12_INFO_QUEUE_FILTER *pFilter, | ||
| 3442 | _Inout_ SIZE_T *pFilterByteLength) = 0; | ||
| 3443 | |||
| 3444 | virtual void STDMETHODCALLTYPE ClearStorageFilter( void) = 0; | ||
| 3445 | |||
| 3446 | virtual HRESULT STDMETHODCALLTYPE PushEmptyStorageFilter( void) = 0; | ||
| 3447 | |||
| 3448 | virtual HRESULT STDMETHODCALLTYPE PushCopyOfStorageFilter( void) = 0; | ||
| 3449 | |||
| 3450 | virtual HRESULT STDMETHODCALLTYPE PushStorageFilter( | ||
| 3451 | _In_ D3D12_INFO_QUEUE_FILTER *pFilter) = 0; | ||
| 3452 | |||
| 3453 | virtual void STDMETHODCALLTYPE PopStorageFilter( void) = 0; | ||
| 3454 | |||
| 3455 | virtual UINT STDMETHODCALLTYPE GetStorageFilterStackSize( void) = 0; | ||
| 3456 | |||
| 3457 | virtual HRESULT STDMETHODCALLTYPE AddRetrievalFilterEntries( | ||
| 3458 | _In_ D3D12_INFO_QUEUE_FILTER *pFilter) = 0; | ||
| 3459 | |||
| 3460 | virtual HRESULT STDMETHODCALLTYPE GetRetrievalFilter( | ||
| 3461 | _Out_writes_bytes_opt_(*pFilterByteLength) D3D12_INFO_QUEUE_FILTER *pFilter, | ||
| 3462 | _Inout_ SIZE_T *pFilterByteLength) = 0; | ||
| 3463 | |||
| 3464 | virtual void STDMETHODCALLTYPE ClearRetrievalFilter( void) = 0; | ||
| 3465 | |||
| 3466 | virtual HRESULT STDMETHODCALLTYPE PushEmptyRetrievalFilter( void) = 0; | ||
| 3467 | |||
| 3468 | virtual HRESULT STDMETHODCALLTYPE PushCopyOfRetrievalFilter( void) = 0; | ||
| 3469 | |||
| 3470 | virtual HRESULT STDMETHODCALLTYPE PushRetrievalFilter( | ||
| 3471 | _In_ D3D12_INFO_QUEUE_FILTER *pFilter) = 0; | ||
| 3472 | |||
| 3473 | virtual void STDMETHODCALLTYPE PopRetrievalFilter( void) = 0; | ||
| 3474 | |||
| 3475 | virtual UINT STDMETHODCALLTYPE GetRetrievalFilterStackSize( void) = 0; | ||
| 3476 | |||
| 3477 | virtual HRESULT STDMETHODCALLTYPE AddMessage( | ||
| 3478 | _In_ D3D12_MESSAGE_CATEGORY Category, | ||
| 3479 | _In_ D3D12_MESSAGE_SEVERITY Severity, | ||
| 3480 | _In_ D3D12_MESSAGE_ID ID, | ||
| 3481 | _In_ LPCSTR pDescription) = 0; | ||
| 3482 | |||
| 3483 | virtual HRESULT STDMETHODCALLTYPE AddApplicationMessage( | ||
| 3484 | _In_ D3D12_MESSAGE_SEVERITY Severity, | ||
| 3485 | _In_ LPCSTR pDescription) = 0; | ||
| 3486 | |||
| 3487 | virtual HRESULT STDMETHODCALLTYPE SetBreakOnCategory( | ||
| 3488 | _In_ D3D12_MESSAGE_CATEGORY Category, | ||
| 3489 | _In_ BOOL bEnable) = 0; | ||
| 3490 | |||
| 3491 | virtual HRESULT STDMETHODCALLTYPE SetBreakOnSeverity( | ||
| 3492 | _In_ D3D12_MESSAGE_SEVERITY Severity, | ||
| 3493 | _In_ BOOL bEnable) = 0; | ||
| 3494 | |||
| 3495 | virtual HRESULT STDMETHODCALLTYPE SetBreakOnID( | ||
| 3496 | _In_ D3D12_MESSAGE_ID ID, | ||
| 3497 | _In_ BOOL bEnable) = 0; | ||
| 3498 | |||
| 3499 | virtual BOOL STDMETHODCALLTYPE GetBreakOnCategory( | ||
| 3500 | _In_ D3D12_MESSAGE_CATEGORY Category) = 0; | ||
| 3501 | |||
| 3502 | virtual BOOL STDMETHODCALLTYPE GetBreakOnSeverity( | ||
| 3503 | _In_ D3D12_MESSAGE_SEVERITY Severity) = 0; | ||
| 3504 | |||
| 3505 | virtual BOOL STDMETHODCALLTYPE GetBreakOnID( | ||
| 3506 | _In_ D3D12_MESSAGE_ID ID) = 0; | ||
| 3507 | |||
| 3508 | virtual void STDMETHODCALLTYPE SetMuteDebugOutput( | ||
| 3509 | _In_ BOOL bMute) = 0; | ||
| 3510 | |||
| 3511 | virtual BOOL STDMETHODCALLTYPE GetMuteDebugOutput( void) = 0; | ||
| 3512 | |||
| 3513 | }; | ||
| 3514 | |||
| 3515 | |||
| 3516 | #else /* C style interface */ | ||
| 3517 | |||
| 3518 | typedef struct ID3D12InfoQueueVtbl | ||
| 3519 | { | ||
| 3520 | BEGIN_INTERFACE | ||
| 3521 | |||
| 3522 | DECLSPEC_XFGVIRT(IUnknown, QueryInterface) | ||
| 3523 | HRESULT ( STDMETHODCALLTYPE *QueryInterface )( | ||
| 3524 | ID3D12InfoQueue * This, | ||
| 3525 | REFIID riid, | ||
| 3526 | _COM_Outptr_ void **ppvObject); | ||
| 3527 | |||
| 3528 | DECLSPEC_XFGVIRT(IUnknown, AddRef) | ||
| 3529 | ULONG ( STDMETHODCALLTYPE *AddRef )( | ||
| 3530 | ID3D12InfoQueue * This); | ||
| 3531 | |||
| 3532 | DECLSPEC_XFGVIRT(IUnknown, Release) | ||
| 3533 | ULONG ( STDMETHODCALLTYPE *Release )( | ||
| 3534 | ID3D12InfoQueue * This); | ||
| 3535 | |||
| 3536 | DECLSPEC_XFGVIRT(ID3D12InfoQueue, SetMessageCountLimit) | ||
| 3537 | HRESULT ( STDMETHODCALLTYPE *SetMessageCountLimit )( | ||
| 3538 | ID3D12InfoQueue * This, | ||
| 3539 | _In_ UINT64 MessageCountLimit); | ||
| 3540 | |||
| 3541 | DECLSPEC_XFGVIRT(ID3D12InfoQueue, ClearStoredMessages) | ||
| 3542 | void ( STDMETHODCALLTYPE *ClearStoredMessages )( | ||
| 3543 | ID3D12InfoQueue * This); | ||
| 3544 | |||
| 3545 | DECLSPEC_XFGVIRT(ID3D12InfoQueue, GetMessage) | ||
| 3546 | HRESULT ( STDMETHODCALLTYPE *GetMessage )( | ||
| 3547 | ID3D12InfoQueue * This, | ||
| 3548 | _In_ UINT64 MessageIndex, | ||
| 3549 | _Out_writes_bytes_opt_(*pMessageByteLength) D3D12_MESSAGE *pMessage, | ||
| 3550 | _Inout_ SIZE_T *pMessageByteLength); | ||
| 3551 | |||
| 3552 | DECLSPEC_XFGVIRT(ID3D12InfoQueue, GetNumMessagesAllowedByStorageFilter) | ||
| 3553 | UINT64 ( STDMETHODCALLTYPE *GetNumMessagesAllowedByStorageFilter )( | ||
| 3554 | ID3D12InfoQueue * This); | ||
| 3555 | |||
| 3556 | DECLSPEC_XFGVIRT(ID3D12InfoQueue, GetNumMessagesDeniedByStorageFilter) | ||
| 3557 | UINT64 ( STDMETHODCALLTYPE *GetNumMessagesDeniedByStorageFilter )( | ||
| 3558 | ID3D12InfoQueue * This); | ||
| 3559 | |||
| 3560 | DECLSPEC_XFGVIRT(ID3D12InfoQueue, GetNumStoredMessages) | ||
| 3561 | UINT64 ( STDMETHODCALLTYPE *GetNumStoredMessages )( | ||
| 3562 | ID3D12InfoQueue * This); | ||
| 3563 | |||
| 3564 | DECLSPEC_XFGVIRT(ID3D12InfoQueue, GetNumStoredMessagesAllowedByRetrievalFilter) | ||
| 3565 | UINT64 ( STDMETHODCALLTYPE *GetNumStoredMessagesAllowedByRetrievalFilter )( | ||
| 3566 | ID3D12InfoQueue * This); | ||
| 3567 | |||
| 3568 | DECLSPEC_XFGVIRT(ID3D12InfoQueue, GetNumMessagesDiscardedByMessageCountLimit) | ||
| 3569 | UINT64 ( STDMETHODCALLTYPE *GetNumMessagesDiscardedByMessageCountLimit )( | ||
| 3570 | ID3D12InfoQueue * This); | ||
| 3571 | |||
| 3572 | DECLSPEC_XFGVIRT(ID3D12InfoQueue, GetMessageCountLimit) | ||
| 3573 | UINT64 ( STDMETHODCALLTYPE *GetMessageCountLimit )( | ||
| 3574 | ID3D12InfoQueue * This); | ||
| 3575 | |||
| 3576 | DECLSPEC_XFGVIRT(ID3D12InfoQueue, AddStorageFilterEntries) | ||
| 3577 | HRESULT ( STDMETHODCALLTYPE *AddStorageFilterEntries )( | ||
| 3578 | ID3D12InfoQueue * This, | ||
| 3579 | _In_ D3D12_INFO_QUEUE_FILTER *pFilter); | ||
| 3580 | |||
| 3581 | DECLSPEC_XFGVIRT(ID3D12InfoQueue, GetStorageFilter) | ||
| 3582 | HRESULT ( STDMETHODCALLTYPE *GetStorageFilter )( | ||
| 3583 | ID3D12InfoQueue * This, | ||
| 3584 | _Out_writes_bytes_opt_(*pFilterByteLength) D3D12_INFO_QUEUE_FILTER *pFilter, | ||
| 3585 | _Inout_ SIZE_T *pFilterByteLength); | ||
| 3586 | |||
| 3587 | DECLSPEC_XFGVIRT(ID3D12InfoQueue, ClearStorageFilter) | ||
| 3588 | void ( STDMETHODCALLTYPE *ClearStorageFilter )( | ||
| 3589 | ID3D12InfoQueue * This); | ||
| 3590 | |||
| 3591 | DECLSPEC_XFGVIRT(ID3D12InfoQueue, PushEmptyStorageFilter) | ||
| 3592 | HRESULT ( STDMETHODCALLTYPE *PushEmptyStorageFilter )( | ||
| 3593 | ID3D12InfoQueue * This); | ||
| 3594 | |||
| 3595 | DECLSPEC_XFGVIRT(ID3D12InfoQueue, PushCopyOfStorageFilter) | ||
| 3596 | HRESULT ( STDMETHODCALLTYPE *PushCopyOfStorageFilter )( | ||
| 3597 | ID3D12InfoQueue * This); | ||
| 3598 | |||
| 3599 | DECLSPEC_XFGVIRT(ID3D12InfoQueue, PushStorageFilter) | ||
| 3600 | HRESULT ( STDMETHODCALLTYPE *PushStorageFilter )( | ||
| 3601 | ID3D12InfoQueue * This, | ||
| 3602 | _In_ D3D12_INFO_QUEUE_FILTER *pFilter); | ||
| 3603 | |||
| 3604 | DECLSPEC_XFGVIRT(ID3D12InfoQueue, PopStorageFilter) | ||
| 3605 | void ( STDMETHODCALLTYPE *PopStorageFilter )( | ||
| 3606 | ID3D12InfoQueue * This); | ||
| 3607 | |||
| 3608 | DECLSPEC_XFGVIRT(ID3D12InfoQueue, GetStorageFilterStackSize) | ||
| 3609 | UINT ( STDMETHODCALLTYPE *GetStorageFilterStackSize )( | ||
| 3610 | ID3D12InfoQueue * This); | ||
| 3611 | |||
| 3612 | DECLSPEC_XFGVIRT(ID3D12InfoQueue, AddRetrievalFilterEntries) | ||
| 3613 | HRESULT ( STDMETHODCALLTYPE *AddRetrievalFilterEntries )( | ||
| 3614 | ID3D12InfoQueue * This, | ||
| 3615 | _In_ D3D12_INFO_QUEUE_FILTER *pFilter); | ||
| 3616 | |||
| 3617 | DECLSPEC_XFGVIRT(ID3D12InfoQueue, GetRetrievalFilter) | ||
| 3618 | HRESULT ( STDMETHODCALLTYPE *GetRetrievalFilter )( | ||
| 3619 | ID3D12InfoQueue * This, | ||
| 3620 | _Out_writes_bytes_opt_(*pFilterByteLength) D3D12_INFO_QUEUE_FILTER *pFilter, | ||
| 3621 | _Inout_ SIZE_T *pFilterByteLength); | ||
| 3622 | |||
| 3623 | DECLSPEC_XFGVIRT(ID3D12InfoQueue, ClearRetrievalFilter) | ||
| 3624 | void ( STDMETHODCALLTYPE *ClearRetrievalFilter )( | ||
| 3625 | ID3D12InfoQueue * This); | ||
| 3626 | |||
| 3627 | DECLSPEC_XFGVIRT(ID3D12InfoQueue, PushEmptyRetrievalFilter) | ||
| 3628 | HRESULT ( STDMETHODCALLTYPE *PushEmptyRetrievalFilter )( | ||
| 3629 | ID3D12InfoQueue * This); | ||
| 3630 | |||
| 3631 | DECLSPEC_XFGVIRT(ID3D12InfoQueue, PushCopyOfRetrievalFilter) | ||
| 3632 | HRESULT ( STDMETHODCALLTYPE *PushCopyOfRetrievalFilter )( | ||
| 3633 | ID3D12InfoQueue * This); | ||
| 3634 | |||
| 3635 | DECLSPEC_XFGVIRT(ID3D12InfoQueue, PushRetrievalFilter) | ||
| 3636 | HRESULT ( STDMETHODCALLTYPE *PushRetrievalFilter )( | ||
| 3637 | ID3D12InfoQueue * This, | ||
| 3638 | _In_ D3D12_INFO_QUEUE_FILTER *pFilter); | ||
| 3639 | |||
| 3640 | DECLSPEC_XFGVIRT(ID3D12InfoQueue, PopRetrievalFilter) | ||
| 3641 | void ( STDMETHODCALLTYPE *PopRetrievalFilter )( | ||
| 3642 | ID3D12InfoQueue * This); | ||
| 3643 | |||
| 3644 | DECLSPEC_XFGVIRT(ID3D12InfoQueue, GetRetrievalFilterStackSize) | ||
| 3645 | UINT ( STDMETHODCALLTYPE *GetRetrievalFilterStackSize )( | ||
| 3646 | ID3D12InfoQueue * This); | ||
| 3647 | |||
| 3648 | DECLSPEC_XFGVIRT(ID3D12InfoQueue, AddMessage) | ||
| 3649 | HRESULT ( STDMETHODCALLTYPE *AddMessage )( | ||
| 3650 | ID3D12InfoQueue * This, | ||
| 3651 | _In_ D3D12_MESSAGE_CATEGORY Category, | ||
| 3652 | _In_ D3D12_MESSAGE_SEVERITY Severity, | ||
| 3653 | _In_ D3D12_MESSAGE_ID ID, | ||
| 3654 | _In_ LPCSTR pDescription); | ||
| 3655 | |||
| 3656 | DECLSPEC_XFGVIRT(ID3D12InfoQueue, AddApplicationMessage) | ||
| 3657 | HRESULT ( STDMETHODCALLTYPE *AddApplicationMessage )( | ||
| 3658 | ID3D12InfoQueue * This, | ||
| 3659 | _In_ D3D12_MESSAGE_SEVERITY Severity, | ||
| 3660 | _In_ LPCSTR pDescription); | ||
| 3661 | |||
| 3662 | DECLSPEC_XFGVIRT(ID3D12InfoQueue, SetBreakOnCategory) | ||
| 3663 | HRESULT ( STDMETHODCALLTYPE *SetBreakOnCategory )( | ||
| 3664 | ID3D12InfoQueue * This, | ||
| 3665 | _In_ D3D12_MESSAGE_CATEGORY Category, | ||
| 3666 | _In_ BOOL bEnable); | ||
| 3667 | |||
| 3668 | DECLSPEC_XFGVIRT(ID3D12InfoQueue, SetBreakOnSeverity) | ||
| 3669 | HRESULT ( STDMETHODCALLTYPE *SetBreakOnSeverity )( | ||
| 3670 | ID3D12InfoQueue * This, | ||
| 3671 | _In_ D3D12_MESSAGE_SEVERITY Severity, | ||
| 3672 | _In_ BOOL bEnable); | ||
| 3673 | |||
| 3674 | DECLSPEC_XFGVIRT(ID3D12InfoQueue, SetBreakOnID) | ||
| 3675 | HRESULT ( STDMETHODCALLTYPE *SetBreakOnID )( | ||
| 3676 | ID3D12InfoQueue * This, | ||
| 3677 | _In_ D3D12_MESSAGE_ID ID, | ||
| 3678 | _In_ BOOL bEnable); | ||
| 3679 | |||
| 3680 | DECLSPEC_XFGVIRT(ID3D12InfoQueue, GetBreakOnCategory) | ||
| 3681 | BOOL ( STDMETHODCALLTYPE *GetBreakOnCategory )( | ||
| 3682 | ID3D12InfoQueue * This, | ||
| 3683 | _In_ D3D12_MESSAGE_CATEGORY Category); | ||
| 3684 | |||
| 3685 | DECLSPEC_XFGVIRT(ID3D12InfoQueue, GetBreakOnSeverity) | ||
| 3686 | BOOL ( STDMETHODCALLTYPE *GetBreakOnSeverity )( | ||
| 3687 | ID3D12InfoQueue * This, | ||
| 3688 | _In_ D3D12_MESSAGE_SEVERITY Severity); | ||
| 3689 | |||
| 3690 | DECLSPEC_XFGVIRT(ID3D12InfoQueue, GetBreakOnID) | ||
| 3691 | BOOL ( STDMETHODCALLTYPE *GetBreakOnID )( | ||
| 3692 | ID3D12InfoQueue * This, | ||
| 3693 | _In_ D3D12_MESSAGE_ID ID); | ||
| 3694 | |||
| 3695 | DECLSPEC_XFGVIRT(ID3D12InfoQueue, SetMuteDebugOutput) | ||
| 3696 | void ( STDMETHODCALLTYPE *SetMuteDebugOutput )( | ||
| 3697 | ID3D12InfoQueue * This, | ||
| 3698 | _In_ BOOL bMute); | ||
| 3699 | |||
| 3700 | DECLSPEC_XFGVIRT(ID3D12InfoQueue, GetMuteDebugOutput) | ||
| 3701 | BOOL ( STDMETHODCALLTYPE *GetMuteDebugOutput )( | ||
| 3702 | ID3D12InfoQueue * This); | ||
| 3703 | |||
| 3704 | END_INTERFACE | ||
| 3705 | } ID3D12InfoQueueVtbl; | ||
| 3706 | |||
| 3707 | interface ID3D12InfoQueue | ||
| 3708 | { | ||
| 3709 | CONST_VTBL struct ID3D12InfoQueueVtbl *lpVtbl; | ||
| 3710 | }; | ||
| 3711 | |||
| 3712 | |||
| 3713 | |||
| 3714 | #ifdef COBJMACROS | ||
| 3715 | |||
| 3716 | |||
| 3717 | #define ID3D12InfoQueue_QueryInterface(This,riid,ppvObject) \ | ||
| 3718 | ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) | ||
| 3719 | |||
| 3720 | #define ID3D12InfoQueue_AddRef(This) \ | ||
| 3721 | ( (This)->lpVtbl -> AddRef(This) ) | ||
| 3722 | |||
| 3723 | #define ID3D12InfoQueue_Release(This) \ | ||
| 3724 | ( (This)->lpVtbl -> Release(This) ) | ||
| 3725 | |||
| 3726 | |||
| 3727 | #define ID3D12InfoQueue_SetMessageCountLimit(This,MessageCountLimit) \ | ||
| 3728 | ( (This)->lpVtbl -> SetMessageCountLimit(This,MessageCountLimit) ) | ||
| 3729 | |||
| 3730 | #define ID3D12InfoQueue_ClearStoredMessages(This) \ | ||
| 3731 | ( (This)->lpVtbl -> ClearStoredMessages(This) ) | ||
| 3732 | |||
| 3733 | #define ID3D12InfoQueue_GetMessage(This,MessageIndex,pMessage,pMessageByteLength) \ | ||
| 3734 | ( (This)->lpVtbl -> GetMessage(This,MessageIndex,pMessage,pMessageByteLength) ) | ||
| 3735 | |||
| 3736 | #define ID3D12InfoQueue_GetNumMessagesAllowedByStorageFilter(This) \ | ||
| 3737 | ( (This)->lpVtbl -> GetNumMessagesAllowedByStorageFilter(This) ) | ||
| 3738 | |||
| 3739 | #define ID3D12InfoQueue_GetNumMessagesDeniedByStorageFilter(This) \ | ||
| 3740 | ( (This)->lpVtbl -> GetNumMessagesDeniedByStorageFilter(This) ) | ||
| 3741 | |||
| 3742 | #define ID3D12InfoQueue_GetNumStoredMessages(This) \ | ||
| 3743 | ( (This)->lpVtbl -> GetNumStoredMessages(This) ) | ||
| 3744 | |||
| 3745 | #define ID3D12InfoQueue_GetNumStoredMessagesAllowedByRetrievalFilter(This) \ | ||
| 3746 | ( (This)->lpVtbl -> GetNumStoredMessagesAllowedByRetrievalFilter(This) ) | ||
| 3747 | |||
| 3748 | #define ID3D12InfoQueue_GetNumMessagesDiscardedByMessageCountLimit(This) \ | ||
| 3749 | ( (This)->lpVtbl -> GetNumMessagesDiscardedByMessageCountLimit(This) ) | ||
| 3750 | |||
| 3751 | #define ID3D12InfoQueue_GetMessageCountLimit(This) \ | ||
| 3752 | ( (This)->lpVtbl -> GetMessageCountLimit(This) ) | ||
| 3753 | |||
| 3754 | #define ID3D12InfoQueue_AddStorageFilterEntries(This,pFilter) \ | ||
| 3755 | ( (This)->lpVtbl -> AddStorageFilterEntries(This,pFilter) ) | ||
| 3756 | |||
| 3757 | #define ID3D12InfoQueue_GetStorageFilter(This,pFilter,pFilterByteLength) \ | ||
| 3758 | ( (This)->lpVtbl -> GetStorageFilter(This,pFilter,pFilterByteLength) ) | ||
| 3759 | |||
| 3760 | #define ID3D12InfoQueue_ClearStorageFilter(This) \ | ||
| 3761 | ( (This)->lpVtbl -> ClearStorageFilter(This) ) | ||
| 3762 | |||
| 3763 | #define ID3D12InfoQueue_PushEmptyStorageFilter(This) \ | ||
| 3764 | ( (This)->lpVtbl -> PushEmptyStorageFilter(This) ) | ||
| 3765 | |||
| 3766 | #define ID3D12InfoQueue_PushCopyOfStorageFilter(This) \ | ||
| 3767 | ( (This)->lpVtbl -> PushCopyOfStorageFilter(This) ) | ||
| 3768 | |||
| 3769 | #define ID3D12InfoQueue_PushStorageFilter(This,pFilter) \ | ||
| 3770 | ( (This)->lpVtbl -> PushStorageFilter(This,pFilter) ) | ||
| 3771 | |||
| 3772 | #define ID3D12InfoQueue_PopStorageFilter(This) \ | ||
| 3773 | ( (This)->lpVtbl -> PopStorageFilter(This) ) | ||
| 3774 | |||
| 3775 | #define ID3D12InfoQueue_GetStorageFilterStackSize(This) \ | ||
| 3776 | ( (This)->lpVtbl -> GetStorageFilterStackSize(This) ) | ||
| 3777 | |||
| 3778 | #define ID3D12InfoQueue_AddRetrievalFilterEntries(This,pFilter) \ | ||
| 3779 | ( (This)->lpVtbl -> AddRetrievalFilterEntries(This,pFilter) ) | ||
| 3780 | |||
| 3781 | #define ID3D12InfoQueue_GetRetrievalFilter(This,pFilter,pFilterByteLength) \ | ||
| 3782 | ( (This)->lpVtbl -> GetRetrievalFilter(This,pFilter,pFilterByteLength) ) | ||
| 3783 | |||
| 3784 | #define ID3D12InfoQueue_ClearRetrievalFilter(This) \ | ||
| 3785 | ( (This)->lpVtbl -> ClearRetrievalFilter(This) ) | ||
| 3786 | |||
| 3787 | #define ID3D12InfoQueue_PushEmptyRetrievalFilter(This) \ | ||
| 3788 | ( (This)->lpVtbl -> PushEmptyRetrievalFilter(This) ) | ||
| 3789 | |||
| 3790 | #define ID3D12InfoQueue_PushCopyOfRetrievalFilter(This) \ | ||
| 3791 | ( (This)->lpVtbl -> PushCopyOfRetrievalFilter(This) ) | ||
| 3792 | |||
| 3793 | #define ID3D12InfoQueue_PushRetrievalFilter(This,pFilter) \ | ||
| 3794 | ( (This)->lpVtbl -> PushRetrievalFilter(This,pFilter) ) | ||
| 3795 | |||
| 3796 | #define ID3D12InfoQueue_PopRetrievalFilter(This) \ | ||
| 3797 | ( (This)->lpVtbl -> PopRetrievalFilter(This) ) | ||
| 3798 | |||
| 3799 | #define ID3D12InfoQueue_GetRetrievalFilterStackSize(This) \ | ||
| 3800 | ( (This)->lpVtbl -> GetRetrievalFilterStackSize(This) ) | ||
| 3801 | |||
| 3802 | #define ID3D12InfoQueue_AddMessage(This,Category,Severity,ID,pDescription) \ | ||
| 3803 | ( (This)->lpVtbl -> AddMessage(This,Category,Severity,ID,pDescription) ) | ||
| 3804 | |||
| 3805 | #define ID3D12InfoQueue_AddApplicationMessage(This,Severity,pDescription) \ | ||
| 3806 | ( (This)->lpVtbl -> AddApplicationMessage(This,Severity,pDescription) ) | ||
| 3807 | |||
| 3808 | #define ID3D12InfoQueue_SetBreakOnCategory(This,Category,bEnable) \ | ||
| 3809 | ( (This)->lpVtbl -> SetBreakOnCategory(This,Category,bEnable) ) | ||
| 3810 | |||
| 3811 | #define ID3D12InfoQueue_SetBreakOnSeverity(This,Severity,bEnable) \ | ||
| 3812 | ( (This)->lpVtbl -> SetBreakOnSeverity(This,Severity,bEnable) ) | ||
| 3813 | |||
| 3814 | #define ID3D12InfoQueue_SetBreakOnID(This,ID,bEnable) \ | ||
| 3815 | ( (This)->lpVtbl -> SetBreakOnID(This,ID,bEnable) ) | ||
| 3816 | |||
| 3817 | #define ID3D12InfoQueue_GetBreakOnCategory(This,Category) \ | ||
| 3818 | ( (This)->lpVtbl -> GetBreakOnCategory(This,Category) ) | ||
| 3819 | |||
| 3820 | #define ID3D12InfoQueue_GetBreakOnSeverity(This,Severity) \ | ||
| 3821 | ( (This)->lpVtbl -> GetBreakOnSeverity(This,Severity) ) | ||
| 3822 | |||
| 3823 | #define ID3D12InfoQueue_GetBreakOnID(This,ID) \ | ||
| 3824 | ( (This)->lpVtbl -> GetBreakOnID(This,ID) ) | ||
| 3825 | |||
| 3826 | #define ID3D12InfoQueue_SetMuteDebugOutput(This,bMute) \ | ||
| 3827 | ( (This)->lpVtbl -> SetMuteDebugOutput(This,bMute) ) | ||
| 3828 | |||
| 3829 | #define ID3D12InfoQueue_GetMuteDebugOutput(This) \ | ||
| 3830 | ( (This)->lpVtbl -> GetMuteDebugOutput(This) ) | ||
| 3831 | |||
| 3832 | #endif /* COBJMACROS */ | ||
| 3833 | |||
| 3834 | |||
| 3835 | #endif /* C style interface */ | ||
| 3836 | |||
| 3837 | |||
| 3838 | |||
| 3839 | |||
| 3840 | #endif /* __ID3D12InfoQueue_INTERFACE_DEFINED__ */ | ||
| 3841 | |||
| 3842 | |||
| 3843 | /* interface __MIDL_itf_d3d12sdklayers_0000_0019 */ | ||
| 3844 | /* [local] */ | ||
| 3845 | |||
| 3846 | typedef | ||
| 3847 | enum D3D12_MESSAGE_CALLBACK_FLAGS | ||
| 3848 | { | ||
| 3849 | D3D12_MESSAGE_CALLBACK_FLAG_NONE = 0, | ||
| 3850 | D3D12_MESSAGE_CALLBACK_IGNORE_FILTERS = 0x1 | ||
| 3851 | } D3D12_MESSAGE_CALLBACK_FLAGS; | ||
| 3852 | |||
| 3853 | DEFINE_ENUM_FLAG_OPERATORS(D3D12_MESSAGE_CALLBACK_FLAGS) | ||
| 3854 | typedef void ( __stdcall *D3D12MessageFunc )( | ||
| 3855 | D3D12_MESSAGE_CATEGORY Category, | ||
| 3856 | D3D12_MESSAGE_SEVERITY Severity, | ||
| 3857 | D3D12_MESSAGE_ID ID, | ||
| 3858 | LPCSTR pDescription, | ||
| 3859 | void *pContext); | ||
| 3860 | |||
| 3861 | |||
| 3862 | |||
| 3863 | extern RPC_IF_HANDLE __MIDL_itf_d3d12sdklayers_0000_0019_v0_0_c_ifspec; | ||
| 3864 | extern RPC_IF_HANDLE __MIDL_itf_d3d12sdklayers_0000_0019_v0_0_s_ifspec; | ||
| 3865 | |||
| 3866 | #ifndef __ID3D12InfoQueue1_INTERFACE_DEFINED__ | ||
| 3867 | #define __ID3D12InfoQueue1_INTERFACE_DEFINED__ | ||
| 3868 | |||
| 3869 | /* interface ID3D12InfoQueue1 */ | ||
| 3870 | /* [unique][local][object][uuid] */ | ||
| 3871 | |||
| 3872 | |||
| 3873 | EXTERN_C const IID IID_ID3D12InfoQueue1; | ||
| 3874 | |||
| 3875 | #if defined(__cplusplus) && !defined(CINTERFACE) | ||
| 3876 | |||
| 3877 | MIDL_INTERFACE("2852dd88-b484-4c0c-b6b1-67168500e600") | ||
| 3878 | ID3D12InfoQueue1 : public ID3D12InfoQueue | ||
| 3879 | { | ||
| 3880 | public: | ||
| 3881 | virtual HRESULT STDMETHODCALLTYPE RegisterMessageCallback( | ||
| 3882 | _In_ D3D12MessageFunc CallbackFunc, | ||
| 3883 | _In_ D3D12_MESSAGE_CALLBACK_FLAGS CallbackFilterFlags, | ||
| 3884 | _Inout_ void *pContext, | ||
| 3885 | _Inout_ DWORD *pCallbackCookie) = 0; | ||
| 3886 | |||
| 3887 | virtual HRESULT STDMETHODCALLTYPE UnregisterMessageCallback( | ||
| 3888 | _In_ DWORD CallbackCookie) = 0; | ||
| 3889 | |||
| 3890 | }; | ||
| 3891 | |||
| 3892 | |||
| 3893 | #else /* C style interface */ | ||
| 3894 | |||
| 3895 | typedef struct ID3D12InfoQueue1Vtbl | ||
| 3896 | { | ||
| 3897 | BEGIN_INTERFACE | ||
| 3898 | |||
| 3899 | DECLSPEC_XFGVIRT(IUnknown, QueryInterface) | ||
| 3900 | HRESULT ( STDMETHODCALLTYPE *QueryInterface )( | ||
| 3901 | ID3D12InfoQueue1 * This, | ||
| 3902 | REFIID riid, | ||
| 3903 | _COM_Outptr_ void **ppvObject); | ||
| 3904 | |||
| 3905 | DECLSPEC_XFGVIRT(IUnknown, AddRef) | ||
| 3906 | ULONG ( STDMETHODCALLTYPE *AddRef )( | ||
| 3907 | ID3D12InfoQueue1 * This); | ||
| 3908 | |||
| 3909 | DECLSPEC_XFGVIRT(IUnknown, Release) | ||
| 3910 | ULONG ( STDMETHODCALLTYPE *Release )( | ||
| 3911 | ID3D12InfoQueue1 * This); | ||
| 3912 | |||
| 3913 | DECLSPEC_XFGVIRT(ID3D12InfoQueue, SetMessageCountLimit) | ||
| 3914 | HRESULT ( STDMETHODCALLTYPE *SetMessageCountLimit )( | ||
| 3915 | ID3D12InfoQueue1 * This, | ||
| 3916 | _In_ UINT64 MessageCountLimit); | ||
| 3917 | |||
| 3918 | DECLSPEC_XFGVIRT(ID3D12InfoQueue, ClearStoredMessages) | ||
| 3919 | void ( STDMETHODCALLTYPE *ClearStoredMessages )( | ||
| 3920 | ID3D12InfoQueue1 * This); | ||
| 3921 | |||
| 3922 | DECLSPEC_XFGVIRT(ID3D12InfoQueue, GetMessage) | ||
| 3923 | HRESULT ( STDMETHODCALLTYPE *GetMessage )( | ||
| 3924 | ID3D12InfoQueue1 * This, | ||
| 3925 | _In_ UINT64 MessageIndex, | ||
| 3926 | _Out_writes_bytes_opt_(*pMessageByteLength) D3D12_MESSAGE *pMessage, | ||
| 3927 | _Inout_ SIZE_T *pMessageByteLength); | ||
| 3928 | |||
| 3929 | DECLSPEC_XFGVIRT(ID3D12InfoQueue, GetNumMessagesAllowedByStorageFilter) | ||
| 3930 | UINT64 ( STDMETHODCALLTYPE *GetNumMessagesAllowedByStorageFilter )( | ||
| 3931 | ID3D12InfoQueue1 * This); | ||
| 3932 | |||
| 3933 | DECLSPEC_XFGVIRT(ID3D12InfoQueue, GetNumMessagesDeniedByStorageFilter) | ||
| 3934 | UINT64 ( STDMETHODCALLTYPE *GetNumMessagesDeniedByStorageFilter )( | ||
| 3935 | ID3D12InfoQueue1 * This); | ||
| 3936 | |||
| 3937 | DECLSPEC_XFGVIRT(ID3D12InfoQueue, GetNumStoredMessages) | ||
| 3938 | UINT64 ( STDMETHODCALLTYPE *GetNumStoredMessages )( | ||
| 3939 | ID3D12InfoQueue1 * This); | ||
| 3940 | |||
| 3941 | DECLSPEC_XFGVIRT(ID3D12InfoQueue, GetNumStoredMessagesAllowedByRetrievalFilter) | ||
| 3942 | UINT64 ( STDMETHODCALLTYPE *GetNumStoredMessagesAllowedByRetrievalFilter )( | ||
| 3943 | ID3D12InfoQueue1 * This); | ||
| 3944 | |||
| 3945 | DECLSPEC_XFGVIRT(ID3D12InfoQueue, GetNumMessagesDiscardedByMessageCountLimit) | ||
| 3946 | UINT64 ( STDMETHODCALLTYPE *GetNumMessagesDiscardedByMessageCountLimit )( | ||
| 3947 | ID3D12InfoQueue1 * This); | ||
| 3948 | |||
| 3949 | DECLSPEC_XFGVIRT(ID3D12InfoQueue, GetMessageCountLimit) | ||
| 3950 | UINT64 ( STDMETHODCALLTYPE *GetMessageCountLimit )( | ||
| 3951 | ID3D12InfoQueue1 * This); | ||
| 3952 | |||
| 3953 | DECLSPEC_XFGVIRT(ID3D12InfoQueue, AddStorageFilterEntries) | ||
| 3954 | HRESULT ( STDMETHODCALLTYPE *AddStorageFilterEntries )( | ||
| 3955 | ID3D12InfoQueue1 * This, | ||
| 3956 | _In_ D3D12_INFO_QUEUE_FILTER *pFilter); | ||
| 3957 | |||
| 3958 | DECLSPEC_XFGVIRT(ID3D12InfoQueue, GetStorageFilter) | ||
| 3959 | HRESULT ( STDMETHODCALLTYPE *GetStorageFilter )( | ||
| 3960 | ID3D12InfoQueue1 * This, | ||
| 3961 | _Out_writes_bytes_opt_(*pFilterByteLength) D3D12_INFO_QUEUE_FILTER *pFilter, | ||
| 3962 | _Inout_ SIZE_T *pFilterByteLength); | ||
| 3963 | |||
| 3964 | DECLSPEC_XFGVIRT(ID3D12InfoQueue, ClearStorageFilter) | ||
| 3965 | void ( STDMETHODCALLTYPE *ClearStorageFilter )( | ||
| 3966 | ID3D12InfoQueue1 * This); | ||
| 3967 | |||
| 3968 | DECLSPEC_XFGVIRT(ID3D12InfoQueue, PushEmptyStorageFilter) | ||
| 3969 | HRESULT ( STDMETHODCALLTYPE *PushEmptyStorageFilter )( | ||
| 3970 | ID3D12InfoQueue1 * This); | ||
| 3971 | |||
| 3972 | DECLSPEC_XFGVIRT(ID3D12InfoQueue, PushCopyOfStorageFilter) | ||
| 3973 | HRESULT ( STDMETHODCALLTYPE *PushCopyOfStorageFilter )( | ||
| 3974 | ID3D12InfoQueue1 * This); | ||
| 3975 | |||
| 3976 | DECLSPEC_XFGVIRT(ID3D12InfoQueue, PushStorageFilter) | ||
| 3977 | HRESULT ( STDMETHODCALLTYPE *PushStorageFilter )( | ||
| 3978 | ID3D12InfoQueue1 * This, | ||
| 3979 | _In_ D3D12_INFO_QUEUE_FILTER *pFilter); | ||
| 3980 | |||
| 3981 | DECLSPEC_XFGVIRT(ID3D12InfoQueue, PopStorageFilter) | ||
| 3982 | void ( STDMETHODCALLTYPE *PopStorageFilter )( | ||
| 3983 | ID3D12InfoQueue1 * This); | ||
| 3984 | |||
| 3985 | DECLSPEC_XFGVIRT(ID3D12InfoQueue, GetStorageFilterStackSize) | ||
| 3986 | UINT ( STDMETHODCALLTYPE *GetStorageFilterStackSize )( | ||
| 3987 | ID3D12InfoQueue1 * This); | ||
| 3988 | |||
| 3989 | DECLSPEC_XFGVIRT(ID3D12InfoQueue, AddRetrievalFilterEntries) | ||
| 3990 | HRESULT ( STDMETHODCALLTYPE *AddRetrievalFilterEntries )( | ||
| 3991 | ID3D12InfoQueue1 * This, | ||
| 3992 | _In_ D3D12_INFO_QUEUE_FILTER *pFilter); | ||
| 3993 | |||
| 3994 | DECLSPEC_XFGVIRT(ID3D12InfoQueue, GetRetrievalFilter) | ||
| 3995 | HRESULT ( STDMETHODCALLTYPE *GetRetrievalFilter )( | ||
| 3996 | ID3D12InfoQueue1 * This, | ||
| 3997 | _Out_writes_bytes_opt_(*pFilterByteLength) D3D12_INFO_QUEUE_FILTER *pFilter, | ||
| 3998 | _Inout_ SIZE_T *pFilterByteLength); | ||
| 3999 | |||
| 4000 | DECLSPEC_XFGVIRT(ID3D12InfoQueue, ClearRetrievalFilter) | ||
| 4001 | void ( STDMETHODCALLTYPE *ClearRetrievalFilter )( | ||
| 4002 | ID3D12InfoQueue1 * This); | ||
| 4003 | |||
| 4004 | DECLSPEC_XFGVIRT(ID3D12InfoQueue, PushEmptyRetrievalFilter) | ||
| 4005 | HRESULT ( STDMETHODCALLTYPE *PushEmptyRetrievalFilter )( | ||
| 4006 | ID3D12InfoQueue1 * This); | ||
| 4007 | |||
| 4008 | DECLSPEC_XFGVIRT(ID3D12InfoQueue, PushCopyOfRetrievalFilter) | ||
| 4009 | HRESULT ( STDMETHODCALLTYPE *PushCopyOfRetrievalFilter )( | ||
| 4010 | ID3D12InfoQueue1 * This); | ||
| 4011 | |||
| 4012 | DECLSPEC_XFGVIRT(ID3D12InfoQueue, PushRetrievalFilter) | ||
| 4013 | HRESULT ( STDMETHODCALLTYPE *PushRetrievalFilter )( | ||
| 4014 | ID3D12InfoQueue1 * This, | ||
| 4015 | _In_ D3D12_INFO_QUEUE_FILTER *pFilter); | ||
| 4016 | |||
| 4017 | DECLSPEC_XFGVIRT(ID3D12InfoQueue, PopRetrievalFilter) | ||
| 4018 | void ( STDMETHODCALLTYPE *PopRetrievalFilter )( | ||
| 4019 | ID3D12InfoQueue1 * This); | ||
| 4020 | |||
| 4021 | DECLSPEC_XFGVIRT(ID3D12InfoQueue, GetRetrievalFilterStackSize) | ||
| 4022 | UINT ( STDMETHODCALLTYPE *GetRetrievalFilterStackSize )( | ||
| 4023 | ID3D12InfoQueue1 * This); | ||
| 4024 | |||
| 4025 | DECLSPEC_XFGVIRT(ID3D12InfoQueue, AddMessage) | ||
| 4026 | HRESULT ( STDMETHODCALLTYPE *AddMessage )( | ||
| 4027 | ID3D12InfoQueue1 * This, | ||
| 4028 | _In_ D3D12_MESSAGE_CATEGORY Category, | ||
| 4029 | _In_ D3D12_MESSAGE_SEVERITY Severity, | ||
| 4030 | _In_ D3D12_MESSAGE_ID ID, | ||
| 4031 | _In_ LPCSTR pDescription); | ||
| 4032 | |||
| 4033 | DECLSPEC_XFGVIRT(ID3D12InfoQueue, AddApplicationMessage) | ||
| 4034 | HRESULT ( STDMETHODCALLTYPE *AddApplicationMessage )( | ||
| 4035 | ID3D12InfoQueue1 * This, | ||
| 4036 | _In_ D3D12_MESSAGE_SEVERITY Severity, | ||
| 4037 | _In_ LPCSTR pDescription); | ||
| 4038 | |||
| 4039 | DECLSPEC_XFGVIRT(ID3D12InfoQueue, SetBreakOnCategory) | ||
| 4040 | HRESULT ( STDMETHODCALLTYPE *SetBreakOnCategory )( | ||
| 4041 | ID3D12InfoQueue1 * This, | ||
| 4042 | _In_ D3D12_MESSAGE_CATEGORY Category, | ||
| 4043 | _In_ BOOL bEnable); | ||
| 4044 | |||
| 4045 | DECLSPEC_XFGVIRT(ID3D12InfoQueue, SetBreakOnSeverity) | ||
| 4046 | HRESULT ( STDMETHODCALLTYPE *SetBreakOnSeverity )( | ||
| 4047 | ID3D12InfoQueue1 * This, | ||
| 4048 | _In_ D3D12_MESSAGE_SEVERITY Severity, | ||
| 4049 | _In_ BOOL bEnable); | ||
| 4050 | |||
| 4051 | DECLSPEC_XFGVIRT(ID3D12InfoQueue, SetBreakOnID) | ||
| 4052 | HRESULT ( STDMETHODCALLTYPE *SetBreakOnID )( | ||
| 4053 | ID3D12InfoQueue1 * This, | ||
| 4054 | _In_ D3D12_MESSAGE_ID ID, | ||
| 4055 | _In_ BOOL bEnable); | ||
| 4056 | |||
| 4057 | DECLSPEC_XFGVIRT(ID3D12InfoQueue, GetBreakOnCategory) | ||
| 4058 | BOOL ( STDMETHODCALLTYPE *GetBreakOnCategory )( | ||
| 4059 | ID3D12InfoQueue1 * This, | ||
| 4060 | _In_ D3D12_MESSAGE_CATEGORY Category); | ||
| 4061 | |||
| 4062 | DECLSPEC_XFGVIRT(ID3D12InfoQueue, GetBreakOnSeverity) | ||
| 4063 | BOOL ( STDMETHODCALLTYPE *GetBreakOnSeverity )( | ||
| 4064 | ID3D12InfoQueue1 * This, | ||
| 4065 | _In_ D3D12_MESSAGE_SEVERITY Severity); | ||
| 4066 | |||
| 4067 | DECLSPEC_XFGVIRT(ID3D12InfoQueue, GetBreakOnID) | ||
| 4068 | BOOL ( STDMETHODCALLTYPE *GetBreakOnID )( | ||
| 4069 | ID3D12InfoQueue1 * This, | ||
| 4070 | _In_ D3D12_MESSAGE_ID ID); | ||
| 4071 | |||
| 4072 | DECLSPEC_XFGVIRT(ID3D12InfoQueue, SetMuteDebugOutput) | ||
| 4073 | void ( STDMETHODCALLTYPE *SetMuteDebugOutput )( | ||
| 4074 | ID3D12InfoQueue1 * This, | ||
| 4075 | _In_ BOOL bMute); | ||
| 4076 | |||
| 4077 | DECLSPEC_XFGVIRT(ID3D12InfoQueue, GetMuteDebugOutput) | ||
| 4078 | BOOL ( STDMETHODCALLTYPE *GetMuteDebugOutput )( | ||
| 4079 | ID3D12InfoQueue1 * This); | ||
| 4080 | |||
| 4081 | DECLSPEC_XFGVIRT(ID3D12InfoQueue1, RegisterMessageCallback) | ||
| 4082 | HRESULT ( STDMETHODCALLTYPE *RegisterMessageCallback )( | ||
| 4083 | ID3D12InfoQueue1 * This, | ||
| 4084 | _In_ D3D12MessageFunc CallbackFunc, | ||
| 4085 | _In_ D3D12_MESSAGE_CALLBACK_FLAGS CallbackFilterFlags, | ||
| 4086 | _Inout_ void *pContext, | ||
| 4087 | _Inout_ DWORD *pCallbackCookie); | ||
| 4088 | |||
| 4089 | DECLSPEC_XFGVIRT(ID3D12InfoQueue1, UnregisterMessageCallback) | ||
| 4090 | HRESULT ( STDMETHODCALLTYPE *UnregisterMessageCallback )( | ||
| 4091 | ID3D12InfoQueue1 * This, | ||
| 4092 | _In_ DWORD CallbackCookie); | ||
| 4093 | |||
| 4094 | END_INTERFACE | ||
| 4095 | } ID3D12InfoQueue1Vtbl; | ||
| 4096 | |||
| 4097 | interface ID3D12InfoQueue1 | ||
| 4098 | { | ||
| 4099 | CONST_VTBL struct ID3D12InfoQueue1Vtbl *lpVtbl; | ||
| 4100 | }; | ||
| 4101 | |||
| 4102 | |||
| 4103 | |||
| 4104 | #ifdef COBJMACROS | ||
| 4105 | |||
| 4106 | |||
| 4107 | #define ID3D12InfoQueue1_QueryInterface(This,riid,ppvObject) \ | ||
| 4108 | ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) | ||
| 4109 | |||
| 4110 | #define ID3D12InfoQueue1_AddRef(This) \ | ||
| 4111 | ( (This)->lpVtbl -> AddRef(This) ) | ||
| 4112 | |||
| 4113 | #define ID3D12InfoQueue1_Release(This) \ | ||
| 4114 | ( (This)->lpVtbl -> Release(This) ) | ||
| 4115 | |||
| 4116 | |||
| 4117 | #define ID3D12InfoQueue1_SetMessageCountLimit(This,MessageCountLimit) \ | ||
| 4118 | ( (This)->lpVtbl -> SetMessageCountLimit(This,MessageCountLimit) ) | ||
| 4119 | |||
| 4120 | #define ID3D12InfoQueue1_ClearStoredMessages(This) \ | ||
| 4121 | ( (This)->lpVtbl -> ClearStoredMessages(This) ) | ||
| 4122 | |||
| 4123 | #define ID3D12InfoQueue1_GetMessage(This,MessageIndex,pMessage,pMessageByteLength) \ | ||
| 4124 | ( (This)->lpVtbl -> GetMessage(This,MessageIndex,pMessage,pMessageByteLength) ) | ||
| 4125 | |||
| 4126 | #define ID3D12InfoQueue1_GetNumMessagesAllowedByStorageFilter(This) \ | ||
| 4127 | ( (This)->lpVtbl -> GetNumMessagesAllowedByStorageFilter(This) ) | ||
| 4128 | |||
| 4129 | #define ID3D12InfoQueue1_GetNumMessagesDeniedByStorageFilter(This) \ | ||
| 4130 | ( (This)->lpVtbl -> GetNumMessagesDeniedByStorageFilter(This) ) | ||
| 4131 | |||
| 4132 | #define ID3D12InfoQueue1_GetNumStoredMessages(This) \ | ||
| 4133 | ( (This)->lpVtbl -> GetNumStoredMessages(This) ) | ||
| 4134 | |||
| 4135 | #define ID3D12InfoQueue1_GetNumStoredMessagesAllowedByRetrievalFilter(This) \ | ||
| 4136 | ( (This)->lpVtbl -> GetNumStoredMessagesAllowedByRetrievalFilter(This) ) | ||
| 4137 | |||
| 4138 | #define ID3D12InfoQueue1_GetNumMessagesDiscardedByMessageCountLimit(This) \ | ||
| 4139 | ( (This)->lpVtbl -> GetNumMessagesDiscardedByMessageCountLimit(This) ) | ||
| 4140 | |||
| 4141 | #define ID3D12InfoQueue1_GetMessageCountLimit(This) \ | ||
| 4142 | ( (This)->lpVtbl -> GetMessageCountLimit(This) ) | ||
| 4143 | |||
| 4144 | #define ID3D12InfoQueue1_AddStorageFilterEntries(This,pFilter) \ | ||
| 4145 | ( (This)->lpVtbl -> AddStorageFilterEntries(This,pFilter) ) | ||
| 4146 | |||
| 4147 | #define ID3D12InfoQueue1_GetStorageFilter(This,pFilter,pFilterByteLength) \ | ||
| 4148 | ( (This)->lpVtbl -> GetStorageFilter(This,pFilter,pFilterByteLength) ) | ||
| 4149 | |||
| 4150 | #define ID3D12InfoQueue1_ClearStorageFilter(This) \ | ||
| 4151 | ( (This)->lpVtbl -> ClearStorageFilter(This) ) | ||
| 4152 | |||
| 4153 | #define ID3D12InfoQueue1_PushEmptyStorageFilter(This) \ | ||
| 4154 | ( (This)->lpVtbl -> PushEmptyStorageFilter(This) ) | ||
| 4155 | |||
| 4156 | #define ID3D12InfoQueue1_PushCopyOfStorageFilter(This) \ | ||
| 4157 | ( (This)->lpVtbl -> PushCopyOfStorageFilter(This) ) | ||
| 4158 | |||
| 4159 | #define ID3D12InfoQueue1_PushStorageFilter(This,pFilter) \ | ||
| 4160 | ( (This)->lpVtbl -> PushStorageFilter(This,pFilter) ) | ||
| 4161 | |||
| 4162 | #define ID3D12InfoQueue1_PopStorageFilter(This) \ | ||
| 4163 | ( (This)->lpVtbl -> PopStorageFilter(This) ) | ||
| 4164 | |||
| 4165 | #define ID3D12InfoQueue1_GetStorageFilterStackSize(This) \ | ||
| 4166 | ( (This)->lpVtbl -> GetStorageFilterStackSize(This) ) | ||
| 4167 | |||
| 4168 | #define ID3D12InfoQueue1_AddRetrievalFilterEntries(This,pFilter) \ | ||
| 4169 | ( (This)->lpVtbl -> AddRetrievalFilterEntries(This,pFilter) ) | ||
| 4170 | |||
| 4171 | #define ID3D12InfoQueue1_GetRetrievalFilter(This,pFilter,pFilterByteLength) \ | ||
| 4172 | ( (This)->lpVtbl -> GetRetrievalFilter(This,pFilter,pFilterByteLength) ) | ||
| 4173 | |||
| 4174 | #define ID3D12InfoQueue1_ClearRetrievalFilter(This) \ | ||
| 4175 | ( (This)->lpVtbl -> ClearRetrievalFilter(This) ) | ||
| 4176 | |||
| 4177 | #define ID3D12InfoQueue1_PushEmptyRetrievalFilter(This) \ | ||
| 4178 | ( (This)->lpVtbl -> PushEmptyRetrievalFilter(This) ) | ||
| 4179 | |||
| 4180 | #define ID3D12InfoQueue1_PushCopyOfRetrievalFilter(This) \ | ||
| 4181 | ( (This)->lpVtbl -> PushCopyOfRetrievalFilter(This) ) | ||
| 4182 | |||
| 4183 | #define ID3D12InfoQueue1_PushRetrievalFilter(This,pFilter) \ | ||
| 4184 | ( (This)->lpVtbl -> PushRetrievalFilter(This,pFilter) ) | ||
| 4185 | |||
| 4186 | #define ID3D12InfoQueue1_PopRetrievalFilter(This) \ | ||
| 4187 | ( (This)->lpVtbl -> PopRetrievalFilter(This) ) | ||
| 4188 | |||
| 4189 | #define ID3D12InfoQueue1_GetRetrievalFilterStackSize(This) \ | ||
| 4190 | ( (This)->lpVtbl -> GetRetrievalFilterStackSize(This) ) | ||
| 4191 | |||
| 4192 | #define ID3D12InfoQueue1_AddMessage(This,Category,Severity,ID,pDescription) \ | ||
| 4193 | ( (This)->lpVtbl -> AddMessage(This,Category,Severity,ID,pDescription) ) | ||
| 4194 | |||
| 4195 | #define ID3D12InfoQueue1_AddApplicationMessage(This,Severity,pDescription) \ | ||
| 4196 | ( (This)->lpVtbl -> AddApplicationMessage(This,Severity,pDescription) ) | ||
| 4197 | |||
| 4198 | #define ID3D12InfoQueue1_SetBreakOnCategory(This,Category,bEnable) \ | ||
| 4199 | ( (This)->lpVtbl -> SetBreakOnCategory(This,Category,bEnable) ) | ||
| 4200 | |||
| 4201 | #define ID3D12InfoQueue1_SetBreakOnSeverity(This,Severity,bEnable) \ | ||
| 4202 | ( (This)->lpVtbl -> SetBreakOnSeverity(This,Severity,bEnable) ) | ||
| 4203 | |||
| 4204 | #define ID3D12InfoQueue1_SetBreakOnID(This,ID,bEnable) \ | ||
| 4205 | ( (This)->lpVtbl -> SetBreakOnID(This,ID,bEnable) ) | ||
| 4206 | |||
| 4207 | #define ID3D12InfoQueue1_GetBreakOnCategory(This,Category) \ | ||
| 4208 | ( (This)->lpVtbl -> GetBreakOnCategory(This,Category) ) | ||
| 4209 | |||
| 4210 | #define ID3D12InfoQueue1_GetBreakOnSeverity(This,Severity) \ | ||
| 4211 | ( (This)->lpVtbl -> GetBreakOnSeverity(This,Severity) ) | ||
| 4212 | |||
| 4213 | #define ID3D12InfoQueue1_GetBreakOnID(This,ID) \ | ||
| 4214 | ( (This)->lpVtbl -> GetBreakOnID(This,ID) ) | ||
| 4215 | |||
| 4216 | #define ID3D12InfoQueue1_SetMuteDebugOutput(This,bMute) \ | ||
| 4217 | ( (This)->lpVtbl -> SetMuteDebugOutput(This,bMute) ) | ||
| 4218 | |||
| 4219 | #define ID3D12InfoQueue1_GetMuteDebugOutput(This) \ | ||
| 4220 | ( (This)->lpVtbl -> GetMuteDebugOutput(This) ) | ||
| 4221 | |||
| 4222 | |||
| 4223 | #define ID3D12InfoQueue1_RegisterMessageCallback(This,CallbackFunc,CallbackFilterFlags,pContext,pCallbackCookie) \ | ||
| 4224 | ( (This)->lpVtbl -> RegisterMessageCallback(This,CallbackFunc,CallbackFilterFlags,pContext,pCallbackCookie) ) | ||
| 4225 | |||
| 4226 | #define ID3D12InfoQueue1_UnregisterMessageCallback(This,CallbackCookie) \ | ||
| 4227 | ( (This)->lpVtbl -> UnregisterMessageCallback(This,CallbackCookie) ) | ||
| 4228 | |||
| 4229 | #endif /* COBJMACROS */ | ||
| 4230 | |||
| 4231 | |||
| 4232 | #endif /* C style interface */ | ||
| 4233 | |||
| 4234 | |||
| 4235 | |||
| 4236 | |||
| 4237 | #endif /* __ID3D12InfoQueue1_INTERFACE_DEFINED__ */ | ||
| 4238 | |||
| 4239 | |||
| 4240 | /* interface __MIDL_itf_d3d12sdklayers_0000_0020 */ | ||
| 4241 | /* [local] */ | ||
| 4242 | |||
| 4243 | #endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP | WINAPI_PARTITION_GAMES) */ | ||
| 4244 | #pragma endregion | ||
| 4245 | DEFINE_GUID(IID_ID3D12Debug,0x344488b7,0x6846,0x474b,0xb9,0x89,0xf0,0x27,0x44,0x82,0x45,0xe0); | ||
| 4246 | DEFINE_GUID(IID_ID3D12Debug1,0xaffaa4ca,0x63fe,0x4d8e,0xb8,0xad,0x15,0x90,0x00,0xaf,0x43,0x04); | ||
| 4247 | DEFINE_GUID(IID_ID3D12Debug2,0x93a665c4,0xa3b2,0x4e5d,0xb6,0x92,0xa2,0x6a,0xe1,0x4e,0x33,0x74); | ||
| 4248 | DEFINE_GUID(IID_ID3D12Debug3,0x5cf4e58f,0xf671,0x4ff1,0xa5,0x42,0x36,0x86,0xe3,0xd1,0x53,0xd1); | ||
| 4249 | DEFINE_GUID(IID_ID3D12Debug4,0x014b816e,0x9ec5,0x4a2f,0xa8,0x45,0xff,0xbe,0x44,0x1c,0xe1,0x3a); | ||
| 4250 | DEFINE_GUID(IID_ID3D12Debug5,0x548d6b12,0x09fa,0x40e0,0x90,0x69,0x5d,0xcd,0x58,0x9a,0x52,0xc9); | ||
| 4251 | DEFINE_GUID(IID_ID3D12Debug6,0x82a816d6,0x5d01,0x4157,0x97,0xd0,0x49,0x75,0x46,0x3f,0xd1,0xed); | ||
| 4252 | DEFINE_GUID(IID_ID3D12DebugDevice1,0xa9b71770,0xd099,0x4a65,0xa6,0x98,0x3d,0xee,0x10,0x02,0x0f,0x88); | ||
| 4253 | DEFINE_GUID(IID_ID3D12DebugDevice,0x3febd6dd,0x4973,0x4787,0x81,0x94,0xe4,0x5f,0x9e,0x28,0x92,0x3e); | ||
| 4254 | DEFINE_GUID(IID_ID3D12DebugDevice2,0x60eccbc1,0x378d,0x4df1,0x89,0x4c,0xf8,0xac,0x5c,0xe4,0xd7,0xdd); | ||
| 4255 | DEFINE_GUID(IID_ID3D12DebugCommandQueue,0x09e0bf36,0x54ac,0x484f,0x88,0x47,0x4b,0xae,0xea,0xb6,0x05,0x3a); | ||
| 4256 | DEFINE_GUID(IID_ID3D12DebugCommandQueue1,0x16be35a2,0xbfd6,0x49f2,0xbc,0xae,0xea,0xae,0x4a,0xff,0x86,0x2d); | ||
| 4257 | DEFINE_GUID(IID_ID3D12DebugCommandList1,0x102ca951,0x311b,0x4b01,0xb1,0x1f,0xec,0xb8,0x3e,0x06,0x1b,0x37); | ||
| 4258 | DEFINE_GUID(IID_ID3D12DebugCommandList,0x09e0bf36,0x54ac,0x484f,0x88,0x47,0x4b,0xae,0xea,0xb6,0x05,0x3f); | ||
| 4259 | DEFINE_GUID(IID_ID3D12DebugCommandList2,0xaeb575cf,0x4e06,0x48be,0xba,0x3b,0xc4,0x50,0xfc,0x96,0x65,0x2e); | ||
| 4260 | DEFINE_GUID(IID_ID3D12DebugCommandList3,0x197d5e15,0x4d37,0x4d34,0xaf,0x78,0x72,0x4c,0xd7,0x0f,0xdb,0x1f); | ||
| 4261 | DEFINE_GUID(IID_ID3D12SharingContract,0x0adf7d52,0x929c,0x4e61,0xad,0xdb,0xff,0xed,0x30,0xde,0x66,0xef); | ||
| 4262 | DEFINE_GUID(IID_ID3D12ManualWriteTrackingResource,0x86ca3b85,0x49ad,0x4b6e,0xae,0xd5,0xed,0xdb,0x18,0x54,0x0f,0x41); | ||
| 4263 | DEFINE_GUID(IID_ID3D12InfoQueue,0x0742a90b,0xc387,0x483f,0xb9,0x46,0x30,0xa7,0xe4,0xe6,0x14,0x58); | ||
| 4264 | DEFINE_GUID(IID_ID3D12InfoQueue1,0x2852dd88,0xb484,0x4c0c,0xb6,0xb1,0x67,0x16,0x85,0x00,0xe6,0x00); | ||
| 4265 | |||
| 4266 | |||
| 4267 | extern RPC_IF_HANDLE __MIDL_itf_d3d12sdklayers_0000_0020_v0_0_c_ifspec; | ||
| 4268 | extern RPC_IF_HANDLE __MIDL_itf_d3d12sdklayers_0000_0020_v0_0_s_ifspec; | ||
| 4269 | |||
| 4270 | /* Additional Prototypes for ALL interfaces */ | ||
| 4271 | |||
| 4272 | /* end of Additional Prototypes */ | ||
| 4273 | |||
| 4274 | #ifdef __cplusplus | ||
| 4275 | } | ||
| 4276 | #endif | ||
| 4277 | |||
| 4278 | #endif | ||
| 4279 | |||
| 4280 | |||
diff --git a/contrib/microsoft.direct3d.d3d12.1.618.4/build/native/include/d3d12sdklayers.idl b/contrib/microsoft.direct3d.d3d12.1.618.4/build/native/include/d3d12sdklayers.idl new file mode 100644 index 0000000..082565d --- /dev/null +++ b/contrib/microsoft.direct3d.d3d12.1.618.4/build/native/include/d3d12sdklayers.idl | |||
| @@ -0,0 +1,1860 @@ | |||
| 1 | /*------------------------------------------------------------------------------------- | ||
| 2 | * | ||
| 3 | * Copyright (c) Microsoft Corporation | ||
| 4 | * Licensed under the MIT license | ||
| 5 | * | ||
| 6 | *-------------------------------------------------------------------------------------*/ | ||
| 7 | import "oaidl.idl"; | ||
| 8 | import "ocidl.idl"; | ||
| 9 | |||
| 10 | import "d3d12.idl"; | ||
| 11 | |||
| 12 | cpp_quote("#include <winapifamily.h>") | ||
| 13 | |||
| 14 | #pragma region App Family | ||
| 15 | cpp_quote("#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP | WINAPI_PARTITION_GAMES)") | ||
| 16 | |||
| 17 | //================================================================================================================================== | ||
| 18 | // | ||
| 19 | // Debugging Layer | ||
| 20 | // | ||
| 21 | //================================================================================================================================== | ||
| 22 | |||
| 23 | [uuid(344488b7-6846-474b-b989-f027448245e0), object, local, pointer_default(unique)] | ||
| 24 | interface ID3D12Debug | ||
| 25 | : IUnknown | ||
| 26 | { | ||
| 27 | void EnableDebugLayer(); | ||
| 28 | } | ||
| 29 | |||
| 30 | typedef enum D3D12_GPU_BASED_VALIDATION_FLAGS | ||
| 31 | { | ||
| 32 | D3D12_GPU_BASED_VALIDATION_FLAGS_NONE = 0x00, | ||
| 33 | D3D12_GPU_BASED_VALIDATION_FLAGS_DISABLE_STATE_TRACKING = 0x01, | ||
| 34 | |||
| 35 | } D3D12_GPU_BASED_VALIDATION_FLAGS; | ||
| 36 | cpp_quote("DEFINE_ENUM_FLAG_OPERATORS(D3D12_GPU_BASED_VALIDATION_FLAGS)") | ||
| 37 | |||
| 38 | |||
| 39 | [uuid(affaa4ca-63fe-4d8e-b8ad-159000af4304), object, local, pointer_default(unique)] | ||
| 40 | interface ID3D12Debug1 | ||
| 41 | : IUnknown | ||
| 42 | { | ||
| 43 | void EnableDebugLayer(); | ||
| 44 | void SetEnableGPUBasedValidation(BOOL Enable); | ||
| 45 | void SetEnableSynchronizedCommandQueueValidation(BOOL Enable); | ||
| 46 | } | ||
| 47 | |||
| 48 | [uuid(93a665c4-a3b2-4e5d-b692-a26ae14e3374), object, local, pointer_default(unique)] | ||
| 49 | interface ID3D12Debug2 | ||
| 50 | : IUnknown | ||
| 51 | { | ||
| 52 | void SetGPUBasedValidationFlags(D3D12_GPU_BASED_VALIDATION_FLAGS Flags); | ||
| 53 | } | ||
| 54 | |||
| 55 | [uuid(5cf4e58f-f671-4ff1-a542-3686e3d153d1), object, local, pointer_default(unique)] | ||
| 56 | interface ID3D12Debug3 | ||
| 57 | : ID3D12Debug | ||
| 58 | { | ||
| 59 | void SetEnableGPUBasedValidation(BOOL Enable); | ||
| 60 | void SetEnableSynchronizedCommandQueueValidation(BOOL Enable); | ||
| 61 | void SetGPUBasedValidationFlags(D3D12_GPU_BASED_VALIDATION_FLAGS Flags); | ||
| 62 | } | ||
| 63 | |||
| 64 | [uuid(014b816e-9ec5-4a2f-a845-ffbe441ce13a), object, local, pointer_default(unique)] | ||
| 65 | interface ID3D12Debug4 | ||
| 66 | : ID3D12Debug3 | ||
| 67 | { | ||
| 68 | void DisableDebugLayer(); | ||
| 69 | } | ||
| 70 | |||
| 71 | [uuid(548d6b12-09fa-40e0-9069-5dcd589a52c9), object, local, pointer_default(unique)] | ||
| 72 | interface ID3D12Debug5 | ||
| 73 | : ID3D12Debug4 | ||
| 74 | { | ||
| 75 | void SetEnableAutoName(BOOL Enable); | ||
| 76 | } | ||
| 77 | |||
| 78 | [uuid(82a816d6-5d01-4157-97d0-4975463fd1ed), object, local, pointer_default(unique)] | ||
| 79 | interface ID3D12Debug6 | ||
| 80 | : ID3D12Debug5 | ||
| 81 | { | ||
| 82 | void SetForceLegacyBarrierValidation(BOOL Enable); | ||
| 83 | } | ||
| 84 | |||
| 85 | cpp_quote("DEFINE_GUID(WKPDID_D3DAutoDebugObjectNameW, 0xd4902e36, 0x757a, 0x4942, 0x95, 0x94, 0xb6, 0x76, 0x9a, 0xfa, 0x43, 0xcd);") | ||
| 86 | |||
| 87 | typedef enum D3D12_RLDO_FLAGS | ||
| 88 | { | ||
| 89 | D3D12_RLDO_NONE = 0x0, | ||
| 90 | D3D12_RLDO_SUMMARY = 0x1, | ||
| 91 | D3D12_RLDO_DETAIL = 0x2, | ||
| 92 | D3D12_RLDO_IGNORE_INTERNAL = 0x4, | ||
| 93 | |||
| 94 | } D3D12_RLDO_FLAGS; | ||
| 95 | |||
| 96 | cpp_quote( "DEFINE_ENUM_FLAG_OPERATORS(D3D12_RLDO_FLAGS)") | ||
| 97 | |||
| 98 | typedef enum D3D12_DEBUG_DEVICE_PARAMETER_TYPE | ||
| 99 | { | ||
| 100 | D3D12_DEBUG_DEVICE_PARAMETER_FEATURE_FLAGS, | ||
| 101 | D3D12_DEBUG_DEVICE_PARAMETER_GPU_BASED_VALIDATION_SETTINGS, | ||
| 102 | D3D12_DEBUG_DEVICE_PARAMETER_GPU_SLOWDOWN_PERFORMANCE_FACTOR, | ||
| 103 | D3D12_DEBUG_DEVICE_PARAMETER_BYTECODE_VALIDATION_MODE | ||
| 104 | } D3D12_DEBUG_DEVICE_PARAMETER_TYPE; | ||
| 105 | |||
| 106 | typedef enum D3D12_DEBUG_FEATURE | ||
| 107 | { | ||
| 108 | D3D12_DEBUG_FEATURE_NONE = 0x00, | ||
| 109 | D3D12_DEBUG_FEATURE_ALLOW_BEHAVIOR_CHANGING_DEBUG_AIDS = 0x01, | ||
| 110 | D3D12_DEBUG_FEATURE_CONSERVATIVE_RESOURCE_STATE_TRACKING = 0x02, | ||
| 111 | D3D12_DEBUG_FEATURE_DISABLE_VIRTUALIZED_BUNDLES_VALIDATION = 0x04, | ||
| 112 | D3D12_DEBUG_FEATURE_EMULATE_WINDOWS7 = 0x08, | ||
| 113 | } D3D12_DEBUG_FEATURE; | ||
| 114 | |||
| 115 | cpp_quote("DEFINE_ENUM_FLAG_OPERATORS(D3D12_DEBUG_FEATURE)") | ||
| 116 | |||
| 117 | typedef enum D3D12_GPU_BASED_VALIDATION_SHADER_PATCH_MODE | ||
| 118 | { | ||
| 119 | D3D12_GPU_BASED_VALIDATION_SHADER_PATCH_MODE_NONE, | ||
| 120 | D3D12_GPU_BASED_VALIDATION_SHADER_PATCH_MODE_STATE_TRACKING_ONLY, | ||
| 121 | D3D12_GPU_BASED_VALIDATION_SHADER_PATCH_MODE_UNGUARDED_VALIDATION, | ||
| 122 | D3D12_GPU_BASED_VALIDATION_SHADER_PATCH_MODE_GUARDED_VALIDATION, | ||
| 123 | NUM_D3D12_GPU_BASED_VALIDATION_SHADER_PATCH_MODES | ||
| 124 | } D3D12_GPU_BASED_VALIDATION_SHADER_PATCH_MODE; | ||
| 125 | |||
| 126 | typedef enum D3D12_GPU_BASED_VALIDATION_PIPELINE_STATE_CREATE_FLAGS | ||
| 127 | { | ||
| 128 | D3D12_GPU_BASED_VALIDATION_PIPELINE_STATE_CREATE_FLAG_NONE = 0x00, | ||
| 129 | D3D12_GPU_BASED_VALIDATION_PIPELINE_STATE_CREATE_FLAG_FRONT_LOAD_CREATE_TRACKING_ONLY_SHADERS = 0x01, | ||
| 130 | D3D12_GPU_BASED_VALIDATION_PIPELINE_STATE_CREATE_FLAG_FRONT_LOAD_CREATE_UNGUARDED_VALIDATION_SHADERS = 0x02, | ||
| 131 | D3D12_GPU_BASED_VALIDATION_PIPELINE_STATE_CREATE_FLAG_FRONT_LOAD_CREATE_GUARDED_VALIDATION_SHADERS = 0x04, | ||
| 132 | D3D12_GPU_BASED_VALIDATION_PIPELINE_STATE_CREATE_FLAGS_VALID_MASK = 0x07 | ||
| 133 | } D3D12_GPU_BASED_VALIDATION_PIPELINE_STATE_CREATE_FLAGS; | ||
| 134 | |||
| 135 | cpp_quote("DEFINE_ENUM_FLAG_OPERATORS(D3D12_GPU_BASED_VALIDATION_PIPELINE_STATE_CREATE_FLAGS)") | ||
| 136 | |||
| 137 | typedef struct D3D12_DEBUG_DEVICE_GPU_BASED_VALIDATION_SETTINGS | ||
| 138 | { | ||
| 139 | UINT MaxMessagesPerCommandList; | ||
| 140 | D3D12_GPU_BASED_VALIDATION_SHADER_PATCH_MODE DefaultShaderPatchMode; | ||
| 141 | D3D12_GPU_BASED_VALIDATION_PIPELINE_STATE_CREATE_FLAGS PipelineStateCreateFlags; | ||
| 142 | } D3D12_DEBUG_DEVICE_GPU_BASED_VALIDATION_SETTINGS; | ||
| 143 | |||
| 144 | typedef struct D3D12_DEBUG_DEVICE_GPU_SLOWDOWN_PERFORMANCE_FACTOR | ||
| 145 | { | ||
| 146 | FLOAT SlowdownFactor; | ||
| 147 | } D3D12_DEBUG_DEVICE_GPU_SLOWDOWN_PERFORMANCE_FACTOR; | ||
| 148 | |||
| 149 | typedef enum D3D12_DEBUG_DEVICE_BYTECODE_VALIDATION_MODE | ||
| 150 | { | ||
| 151 | D3D12_DEBUG_DEVICE_BYTECODE_VALIDATION_DISABLED, | ||
| 152 | D3D12_DEBUG_DEVICE_BYTECODE_VALIDATION_WHEN_HASH_BYPASSED, | ||
| 153 | D3D12_DEBUG_DEVICE_BYTECODE_VALIDATION_ALL_BYTECODE, | ||
| 154 | D3D12_DEBUG_DEVICE_BYTECODE_VALIDATION_MODE_DEFAULT = | ||
| 155 | D3D12_DEBUG_DEVICE_BYTECODE_VALIDATION_WHEN_HASH_BYPASSED | ||
| 156 | } D3D12_DEBUG_DEVICE_BYTECODE_VALIDATION_MODE; | ||
| 157 | |||
| 158 | [uuid(a9b71770-d099-4a65-a698-3dee10020f88), object, local, pointer_default(unique)] | ||
| 159 | interface ID3D12DebugDevice1 | ||
| 160 | : IUnknown | ||
| 161 | { | ||
| 162 | HRESULT SetDebugParameter(D3D12_DEBUG_DEVICE_PARAMETER_TYPE Type, [annotation("_In_reads_bytes_(DataSize)")] const void *pData, UINT DataSize); | ||
| 163 | HRESULT GetDebugParameter(D3D12_DEBUG_DEVICE_PARAMETER_TYPE Type, [annotation("_Out_writes_bytes_(DataSize)")] void *pData, UINT DataSize); | ||
| 164 | HRESULT ReportLiveDeviceObjects( D3D12_RLDO_FLAGS Flags ); | ||
| 165 | } | ||
| 166 | |||
| 167 | [uuid(3febd6dd-4973-4787-8194-e45f9e28923e), object, local, pointer_default(unique)] | ||
| 168 | interface ID3D12DebugDevice | ||
| 169 | : IUnknown | ||
| 170 | { | ||
| 171 | HRESULT SetFeatureMask(D3D12_DEBUG_FEATURE Mask); | ||
| 172 | D3D12_DEBUG_FEATURE GetFeatureMask(); | ||
| 173 | HRESULT ReportLiveDeviceObjects(D3D12_RLDO_FLAGS Flags); | ||
| 174 | } | ||
| 175 | |||
| 176 | [uuid(60eccbc1-378d-4df1-894c-f8ac5ce4d7dd), object, local, pointer_default(unique)] | ||
| 177 | interface ID3D12DebugDevice2 | ||
| 178 | : ID3D12DebugDevice | ||
| 179 | { | ||
| 180 | HRESULT SetDebugParameter(D3D12_DEBUG_DEVICE_PARAMETER_TYPE Type, [annotation("_In_reads_bytes_(DataSize)")] const void *pData, UINT DataSize); | ||
| 181 | HRESULT GetDebugParameter(D3D12_DEBUG_DEVICE_PARAMETER_TYPE Type, [annotation("_Out_writes_bytes_(DataSize)")] void *pData, UINT DataSize); | ||
| 182 | } | ||
| 183 | |||
| 184 | cpp_quote("DEFINE_GUID(DXGI_DEBUG_D3D12, 0xcf59a98c, 0xa950, 0x4326, 0x91, 0xef, 0x9b, 0xba, 0xa1, 0x7b, 0xfd, 0x95);") | ||
| 185 | |||
| 186 | |||
| 187 | [ uuid( 09e0bf36-54ac-484f-8847-4baeeab6053a ), object, local, pointer_default( unique ) ] | ||
| 188 | interface ID3D12DebugCommandQueue | ||
| 189 | : IUnknown | ||
| 190 | { | ||
| 191 | BOOL AssertResourceState( [annotation("_In_")] ID3D12Resource* pResource, UINT Subresource, UINT State ); | ||
| 192 | // TODO: Stale BOOL AssertResourceStateThroughView( [annotation("_In_")] ID3D12View* pView, UINT State ); | ||
| 193 | }; | ||
| 194 | |||
| 195 | [ uuid( 16be35a2-bfd6-49f2-bcae-eaae4aff862d ), object, local, pointer_default( unique ) ] | ||
| 196 | interface ID3D12DebugCommandQueue1 | ||
| 197 | : ID3D12DebugCommandQueue | ||
| 198 | { | ||
| 199 | void AssertResourceAccess([annotation("_In_")] ID3D12Resource* pResource, UINT Subresource, D3D12_BARRIER_ACCESS Access); | ||
| 200 | void AssertTextureLayout([annotation("_In_")] ID3D12Resource* pResource, UINT Subresource, D3D12_BARRIER_LAYOUT Layout); | ||
| 201 | }; | ||
| 202 | |||
| 203 | typedef enum D3D12_DEBUG_COMMAND_LIST_PARAMETER_TYPE | ||
| 204 | { | ||
| 205 | D3D12_DEBUG_COMMAND_LIST_PARAMETER_GPU_BASED_VALIDATION_SETTINGS, | ||
| 206 | } D3D12_DEBUG_COMMAND_LIST_PARAMETER_TYPE; | ||
| 207 | |||
| 208 | typedef struct D3D12_DEBUG_COMMAND_LIST_GPU_BASED_VALIDATION_SETTINGS | ||
| 209 | { | ||
| 210 | D3D12_GPU_BASED_VALIDATION_SHADER_PATCH_MODE ShaderPatchMode; | ||
| 211 | } D3D12_DEBUG_COMMAND_LIST_GPU_BASED_VALIDATION_SETTINGS; | ||
| 212 | |||
| 213 | [ uuid( 102ca951-311b-4b01-b11f-ecb83e061b37 ), object, local, pointer_default( unique ) ] | ||
| 214 | interface ID3D12DebugCommandList1 | ||
| 215 | : IUnknown | ||
| 216 | { | ||
| 217 | BOOL AssertResourceState( [annotation("_In_")] ID3D12Resource* pResource, UINT Subresource, UINT State ); | ||
| 218 | HRESULT SetDebugParameter(D3D12_DEBUG_COMMAND_LIST_PARAMETER_TYPE Type, [annotation("_In_reads_bytes_(DataSize)")] const void *pData, UINT DataSize); | ||
| 219 | HRESULT GetDebugParameter(D3D12_DEBUG_COMMAND_LIST_PARAMETER_TYPE Type, [annotation("_Out_writes_bytes_(DataSize)")] void *pData, UINT DataSize); | ||
| 220 | }; | ||
| 221 | |||
| 222 | [uuid(09e0bf36-54ac-484f-8847-4baeeab6053f), object, local, pointer_default(unique)] | ||
| 223 | interface ID3D12DebugCommandList | ||
| 224 | : IUnknown | ||
| 225 | { | ||
| 226 | BOOL AssertResourceState([annotation("_In_")] ID3D12Resource* pResource, UINT Subresource, UINT State); | ||
| 227 | HRESULT SetFeatureMask(D3D12_DEBUG_FEATURE Mask); | ||
| 228 | D3D12_DEBUG_FEATURE GetFeatureMask(); | ||
| 229 | }; | ||
| 230 | |||
| 231 | [ uuid(aeb575cf-4e06-48be-ba3b-c450fc96652e), object, local, pointer_default( unique ) ] | ||
| 232 | interface ID3D12DebugCommandList2 | ||
| 233 | : ID3D12DebugCommandList | ||
| 234 | { | ||
| 235 | HRESULT SetDebugParameter(D3D12_DEBUG_COMMAND_LIST_PARAMETER_TYPE Type, [annotation("_In_reads_bytes_(DataSize)")] const void *pData, UINT DataSize); | ||
| 236 | HRESULT GetDebugParameter(D3D12_DEBUG_COMMAND_LIST_PARAMETER_TYPE Type, [annotation("_Out_writes_bytes_(DataSize)")] void *pData, UINT DataSize); | ||
| 237 | }; | ||
| 238 | |||
| 239 | [ uuid(197d5e15-4d37-4d34-af78-724cd70fdb1f), object, local, pointer_default( unique ) ] | ||
| 240 | interface ID3D12DebugCommandList3 | ||
| 241 | : ID3D12DebugCommandList2 | ||
| 242 | { | ||
| 243 | void AssertResourceAccess([annotation("_In_")] ID3D12Resource* pResource, UINT Subresource, D3D12_BARRIER_ACCESS Access); | ||
| 244 | void AssertTextureLayout([annotation("_In_")] ID3D12Resource* pResource, UINT Subresource, D3D12_BARRIER_LAYOUT Layout); | ||
| 245 | }; | ||
| 246 | |||
| 247 | [uuid(0adf7d52-929c-4e61-addb-ffed30de66ef), object, local, pointer_default(unique)] | ||
| 248 | interface ID3D12SharingContract | ||
| 249 | : IUnknown | ||
| 250 | { | ||
| 251 | void Present([annotation("_In_")] ID3D12Resource* pResource, UINT Subresource, [annotation("_In_")] HWND window); | ||
| 252 | void SharedFenceSignal([annotation("_In_")] ID3D12Fence* pFence, UINT64 FenceValue); | ||
| 253 | void BeginCapturableWork([annotation("_In_")] REFGUID guid); | ||
| 254 | void EndCapturableWork([annotation("_In_")] REFGUID guid); | ||
| 255 | }; | ||
| 256 | |||
| 257 | [uuid(86ca3b85-49ad-4b6e-aed5-eddb18540f41), object, local, pointer_default(unique)] | ||
| 258 | interface ID3D12ManualWriteTrackingResource | ||
| 259 | : IUnknown | ||
| 260 | { | ||
| 261 | void TrackWrite( | ||
| 262 | UINT Subresource, | ||
| 263 | [annotation("_In_opt_")] const D3D12_RANGE* pWrittenRange); | ||
| 264 | }; | ||
| 265 | |||
| 266 | |||
| 267 | //================================================================================================================================== | ||
| 268 | // | ||
| 269 | // Info Queue | ||
| 270 | // | ||
| 271 | //================================================================================================================================== | ||
| 272 | typedef enum D3D12_MESSAGE_CATEGORY { | ||
| 273 | D3D12_MESSAGE_CATEGORY_APPLICATION_DEFINED, | ||
| 274 | D3D12_MESSAGE_CATEGORY_MISCELLANEOUS, | ||
| 275 | D3D12_MESSAGE_CATEGORY_INITIALIZATION, | ||
| 276 | D3D12_MESSAGE_CATEGORY_CLEANUP, | ||
| 277 | D3D12_MESSAGE_CATEGORY_COMPILATION, | ||
| 278 | D3D12_MESSAGE_CATEGORY_STATE_CREATION, | ||
| 279 | D3D12_MESSAGE_CATEGORY_STATE_SETTING, | ||
| 280 | D3D12_MESSAGE_CATEGORY_STATE_GETTING, | ||
| 281 | D3D12_MESSAGE_CATEGORY_RESOURCE_MANIPULATION, | ||
| 282 | D3D12_MESSAGE_CATEGORY_EXECUTION, | ||
| 283 | D3D12_MESSAGE_CATEGORY_SHADER, | ||
| 284 | } D3D12_MESSAGE_CATEGORY; | ||
| 285 | |||
| 286 | typedef enum D3D12_MESSAGE_SEVERITY { | ||
| 287 | D3D12_MESSAGE_SEVERITY_CORRUPTION, | ||
| 288 | D3D12_MESSAGE_SEVERITY_ERROR, | ||
| 289 | D3D12_MESSAGE_SEVERITY_WARNING, | ||
| 290 | D3D12_MESSAGE_SEVERITY_INFO, | ||
| 291 | D3D12_MESSAGE_SEVERITY_MESSAGE | ||
| 292 | } D3D12_MESSAGE_SEVERITY; | ||
| 293 | |||
| 294 | // Unique ID for every error | ||
| 295 | // CAUTION: New enum values should be appended to the list only. Inserting | ||
| 296 | // new enum values into the middle of the list results in changing the numeric | ||
| 297 | // values of some ID's from one SDK release to the next. This in-turn breaks | ||
| 298 | // PIX and customer tools/filters. | ||
| 299 | typedef enum D3D12_MESSAGE_ID { | ||
| 300 | D3D12_MESSAGE_ID_UNKNOWN = 0, | ||
| 301 | |||
| 302 | //-------------------------------------------------------------------------- | ||
| 303 | // Messages Used by Core | ||
| 304 | // Message IDs generated from core are at the beginning | ||
| 305 | // since the core changes less frequently than the debug layer. | ||
| 306 | |||
| 307 | // End of Messages used by Core | ||
| 308 | // ------------------------------------------------------------------------ | ||
| 309 | D3D12_MESSAGE_ID_STRING_FROM_APPLICATION = 1, | ||
| 310 | D3D12_MESSAGE_ID_CORRUPTED_THIS = 2, | ||
| 311 | D3D12_MESSAGE_ID_CORRUPTED_PARAMETER1 = 3, | ||
| 312 | D3D12_MESSAGE_ID_CORRUPTED_PARAMETER2 = 4, | ||
| 313 | D3D12_MESSAGE_ID_CORRUPTED_PARAMETER3 = 5, | ||
| 314 | D3D12_MESSAGE_ID_CORRUPTED_PARAMETER4 = 6, | ||
| 315 | D3D12_MESSAGE_ID_CORRUPTED_PARAMETER5 = 7, | ||
| 316 | D3D12_MESSAGE_ID_CORRUPTED_PARAMETER6 = 8, | ||
| 317 | D3D12_MESSAGE_ID_CORRUPTED_PARAMETER7 = 9, | ||
| 318 | D3D12_MESSAGE_ID_CORRUPTED_PARAMETER8 = 10, | ||
| 319 | D3D12_MESSAGE_ID_CORRUPTED_PARAMETER9 = 11, | ||
| 320 | D3D12_MESSAGE_ID_CORRUPTED_PARAMETER10 = 12, | ||
| 321 | D3D12_MESSAGE_ID_CORRUPTED_PARAMETER11 = 13, | ||
| 322 | D3D12_MESSAGE_ID_CORRUPTED_PARAMETER12 = 14, | ||
| 323 | D3D12_MESSAGE_ID_CORRUPTED_PARAMETER13 = 15, | ||
| 324 | D3D12_MESSAGE_ID_CORRUPTED_PARAMETER14 = 16, | ||
| 325 | D3D12_MESSAGE_ID_CORRUPTED_PARAMETER15 = 17, | ||
| 326 | D3D12_MESSAGE_ID_CORRUPTED_MULTITHREADING = 18, | ||
| 327 | D3D12_MESSAGE_ID_MESSAGE_REPORTING_OUTOFMEMORY = 19, | ||
| 328 | |||
| 329 | D3D12_MESSAGE_ID_GETPRIVATEDATA_MOREDATA = 20, | ||
| 330 | D3D12_MESSAGE_ID_SETPRIVATEDATA_INVALIDFREEDATA = 21, | ||
| 331 | D3D12_MESSAGE_ID_SETPRIVATEDATA_CHANGINGPARAMS = 24, | ||
| 332 | D3D12_MESSAGE_ID_SETPRIVATEDATA_OUTOFMEMORY = 25, | ||
| 333 | |||
| 334 | D3D12_MESSAGE_ID_CREATESHADERRESOURCEVIEW_UNRECOGNIZEDFORMAT = 26, | ||
| 335 | D3D12_MESSAGE_ID_CREATESHADERRESOURCEVIEW_INVALIDDESC = 27, | ||
| 336 | D3D12_MESSAGE_ID_CREATESHADERRESOURCEVIEW_INVALIDFORMAT = 28, | ||
| 337 | D3D12_MESSAGE_ID_CREATESHADERRESOURCEVIEW_INVALIDVIDEOPLANESLICE = 29, | ||
| 338 | D3D12_MESSAGE_ID_CREATESHADERRESOURCEVIEW_INVALIDPLANESLICE = 30, | ||
| 339 | D3D12_MESSAGE_ID_CREATESHADERRESOURCEVIEW_INVALIDDIMENSIONS = 31, | ||
| 340 | D3D12_MESSAGE_ID_CREATESHADERRESOURCEVIEW_INVALIDRESOURCE = 32, | ||
| 341 | |||
| 342 | D3D12_MESSAGE_ID_CREATERENDERTARGETVIEW_UNRECOGNIZEDFORMAT = 35, | ||
| 343 | D3D12_MESSAGE_ID_CREATERENDERTARGETVIEW_UNSUPPORTEDFORMAT = 36, | ||
| 344 | D3D12_MESSAGE_ID_CREATERENDERTARGETVIEW_INVALIDDESC = 37, | ||
| 345 | D3D12_MESSAGE_ID_CREATERENDERTARGETVIEW_INVALIDFORMAT = 38, | ||
| 346 | D3D12_MESSAGE_ID_CREATERENDERTARGETVIEW_INVALIDVIDEOPLANESLICE = 39, | ||
| 347 | D3D12_MESSAGE_ID_CREATERENDERTARGETVIEW_INVALIDPLANESLICE = 40, | ||
| 348 | D3D12_MESSAGE_ID_CREATERENDERTARGETVIEW_INVALIDDIMENSIONS = 41, | ||
| 349 | D3D12_MESSAGE_ID_CREATERENDERTARGETVIEW_INVALIDRESOURCE = 42, | ||
| 350 | |||
| 351 | D3D12_MESSAGE_ID_CREATEDEPTHSTENCILVIEW_UNRECOGNIZEDFORMAT = 45, | ||
| 352 | D3D12_MESSAGE_ID_CREATEDEPTHSTENCILVIEW_INVALIDDESC = 46, | ||
| 353 | D3D12_MESSAGE_ID_CREATEDEPTHSTENCILVIEW_INVALIDFORMAT = 47, | ||
| 354 | D3D12_MESSAGE_ID_CREATEDEPTHSTENCILVIEW_INVALIDDIMENSIONS = 48, | ||
| 355 | D3D12_MESSAGE_ID_CREATEDEPTHSTENCILVIEW_INVALIDRESOURCE = 49, | ||
| 356 | |||
| 357 | D3D12_MESSAGE_ID_CREATEINPUTLAYOUT_OUTOFMEMORY = 52, | ||
| 358 | D3D12_MESSAGE_ID_CREATEINPUTLAYOUT_TOOMANYELEMENTS = 53, | ||
| 359 | D3D12_MESSAGE_ID_CREATEINPUTLAYOUT_INVALIDFORMAT = 54, | ||
| 360 | D3D12_MESSAGE_ID_CREATEINPUTLAYOUT_INCOMPATIBLEFORMAT = 55, | ||
| 361 | D3D12_MESSAGE_ID_CREATEINPUTLAYOUT_INVALIDSLOT = 56, | ||
| 362 | D3D12_MESSAGE_ID_CREATEINPUTLAYOUT_INVALIDINPUTSLOTCLASS = 57, | ||
| 363 | D3D12_MESSAGE_ID_CREATEINPUTLAYOUT_STEPRATESLOTCLASSMISMATCH = 58, | ||
| 364 | D3D12_MESSAGE_ID_CREATEINPUTLAYOUT_INVALIDSLOTCLASSCHANGE = 59, | ||
| 365 | D3D12_MESSAGE_ID_CREATEINPUTLAYOUT_INVALIDSTEPRATECHANGE = 60, | ||
| 366 | D3D12_MESSAGE_ID_CREATEINPUTLAYOUT_INVALIDALIGNMENT = 61, | ||
| 367 | D3D12_MESSAGE_ID_CREATEINPUTLAYOUT_DUPLICATESEMANTIC = 62, | ||
| 368 | D3D12_MESSAGE_ID_CREATEINPUTLAYOUT_UNPARSEABLEINPUTSIGNATURE = 63, | ||
| 369 | D3D12_MESSAGE_ID_CREATEINPUTLAYOUT_NULLSEMANTIC = 64, | ||
| 370 | D3D12_MESSAGE_ID_CREATEINPUTLAYOUT_MISSINGELEMENT = 65, | ||
| 371 | |||
| 372 | D3D12_MESSAGE_ID_CREATEVERTEXSHADER_OUTOFMEMORY = 66, | ||
| 373 | D3D12_MESSAGE_ID_CREATEVERTEXSHADER_INVALIDSHADERBYTECODE = 67, | ||
| 374 | D3D12_MESSAGE_ID_CREATEVERTEXSHADER_INVALIDSHADERTYPE = 68, | ||
| 375 | |||
| 376 | D3D12_MESSAGE_ID_CREATEGEOMETRYSHADER_OUTOFMEMORY = 69, | ||
| 377 | D3D12_MESSAGE_ID_CREATEGEOMETRYSHADER_INVALIDSHADERBYTECODE = 70, | ||
| 378 | D3D12_MESSAGE_ID_CREATEGEOMETRYSHADER_INVALIDSHADERTYPE = 71, | ||
| 379 | |||
| 380 | D3D12_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_OUTOFMEMORY = 72, | ||
| 381 | D3D12_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_INVALIDSHADERBYTECODE = 73, | ||
| 382 | D3D12_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_INVALIDSHADERTYPE = 74, | ||
| 383 | D3D12_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_INVALIDNUMENTRIES = 75, | ||
| 384 | D3D12_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_OUTPUTSTREAMSTRIDEUNUSED = 76, | ||
| 385 | D3D12_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_OUTPUTSLOT0EXPECTED = 79, | ||
| 386 | D3D12_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_INVALIDOUTPUTSLOT = 80, | ||
| 387 | D3D12_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_ONLYONEELEMENTPERSLOT = 81, | ||
| 388 | D3D12_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_INVALIDCOMPONENTCOUNT = 82, | ||
| 389 | D3D12_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_INVALIDSTARTCOMPONENTANDCOMPONENTCOUNT = 83, | ||
| 390 | D3D12_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_INVALIDGAPDEFINITION = 84, | ||
| 391 | D3D12_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_REPEATEDOUTPUT = 85, | ||
| 392 | D3D12_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_INVALIDOUTPUTSTREAMSTRIDE = 86, | ||
| 393 | D3D12_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_MISSINGSEMANTIC = 87, | ||
| 394 | D3D12_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_MASKMISMATCH = 88, | ||
| 395 | D3D12_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_CANTHAVEONLYGAPS = 89, | ||
| 396 | D3D12_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_DECLTOOCOMPLEX = 90, | ||
| 397 | D3D12_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_MISSINGOUTPUTSIGNATURE = 91, | ||
| 398 | |||
| 399 | D3D12_MESSAGE_ID_CREATEPIXELSHADER_OUTOFMEMORY = 92, | ||
| 400 | D3D12_MESSAGE_ID_CREATEPIXELSHADER_INVALIDSHADERBYTECODE = 93, | ||
| 401 | D3D12_MESSAGE_ID_CREATEPIXELSHADER_INVALIDSHADERTYPE = 94, | ||
| 402 | |||
| 403 | D3D12_MESSAGE_ID_CREATERASTERIZERSTATE_INVALIDFILLMODE = 95, | ||
| 404 | D3D12_MESSAGE_ID_CREATERASTERIZERSTATE_INVALIDCULLMODE = 96, | ||
| 405 | D3D12_MESSAGE_ID_CREATERASTERIZERSTATE_INVALIDDEPTHBIASCLAMP = 97, | ||
| 406 | D3D12_MESSAGE_ID_CREATERASTERIZERSTATE_INVALIDSLOPESCALEDDEPTHBIAS = 98, | ||
| 407 | |||
| 408 | D3D12_MESSAGE_ID_CREATEDEPTHSTENCILSTATE_INVALIDDEPTHWRITEMASK = 100, | ||
| 409 | D3D12_MESSAGE_ID_CREATEDEPTHSTENCILSTATE_INVALIDDEPTHFUNC = 101, | ||
| 410 | D3D12_MESSAGE_ID_CREATEDEPTHSTENCILSTATE_INVALIDFRONTFACESTENCILFAILOP = 102, | ||
| 411 | D3D12_MESSAGE_ID_CREATEDEPTHSTENCILSTATE_INVALIDFRONTFACESTENCILZFAILOP = 103, | ||
| 412 | D3D12_MESSAGE_ID_CREATEDEPTHSTENCILSTATE_INVALIDFRONTFACESTENCILPASSOP = 104, | ||
| 413 | D3D12_MESSAGE_ID_CREATEDEPTHSTENCILSTATE_INVALIDFRONTFACESTENCILFUNC = 105, | ||
| 414 | D3D12_MESSAGE_ID_CREATEDEPTHSTENCILSTATE_INVALIDBACKFACESTENCILFAILOP = 106, | ||
| 415 | D3D12_MESSAGE_ID_CREATEDEPTHSTENCILSTATE_INVALIDBACKFACESTENCILZFAILOP = 107, | ||
| 416 | D3D12_MESSAGE_ID_CREATEDEPTHSTENCILSTATE_INVALIDBACKFACESTENCILPASSOP = 108, | ||
| 417 | D3D12_MESSAGE_ID_CREATEDEPTHSTENCILSTATE_INVALIDBACKFACESTENCILFUNC = 109, | ||
| 418 | |||
| 419 | D3D12_MESSAGE_ID_CREATEBLENDSTATE_INVALIDSRCBLEND = 111, | ||
| 420 | D3D12_MESSAGE_ID_CREATEBLENDSTATE_INVALIDDESTBLEND = 112, | ||
| 421 | D3D12_MESSAGE_ID_CREATEBLENDSTATE_INVALIDBLENDOP = 113, | ||
| 422 | D3D12_MESSAGE_ID_CREATEBLENDSTATE_INVALIDSRCBLENDALPHA = 114, | ||
| 423 | D3D12_MESSAGE_ID_CREATEBLENDSTATE_INVALIDDESTBLENDALPHA = 115, | ||
| 424 | D3D12_MESSAGE_ID_CREATEBLENDSTATE_INVALIDBLENDOPALPHA = 116, | ||
| 425 | D3D12_MESSAGE_ID_CREATEBLENDSTATE_INVALIDRENDERTARGETWRITEMASK = 117, | ||
| 426 | |||
| 427 | D3D12_MESSAGE_ID_GET_PROGRAM_IDENTIFIER_ERROR = 118, | ||
| 428 | D3D12_MESSAGE_ID_GET_WORK_GRAPH_PROPERTIES_ERROR = 119, | ||
| 429 | D3D12_MESSAGE_ID_SET_PROGRAM_ERROR = 120, | ||
| 430 | |||
| 431 | D3D12_MESSAGE_ID_CLEARDEPTHSTENCILVIEW_INVALID = 135, | ||
| 432 | |||
| 433 | D3D12_MESSAGE_ID_COMMAND_LIST_DRAW_ROOT_SIGNATURE_NOT_SET = 200, | ||
| 434 | D3D12_MESSAGE_ID_COMMAND_LIST_DRAW_ROOT_SIGNATURE_MISMATCH = 201, | ||
| 435 | D3D12_MESSAGE_ID_COMMAND_LIST_DRAW_VERTEX_BUFFER_NOT_SET = 202, | ||
| 436 | D3D12_MESSAGE_ID_COMMAND_LIST_DRAW_VERTEX_BUFFER_STRIDE_TOO_SMALL = 209, | ||
| 437 | D3D12_MESSAGE_ID_COMMAND_LIST_DRAW_VERTEX_BUFFER_TOO_SMALL = 210, | ||
| 438 | D3D12_MESSAGE_ID_COMMAND_LIST_DRAW_INDEX_BUFFER_NOT_SET = 211, | ||
| 439 | D3D12_MESSAGE_ID_COMMAND_LIST_DRAW_INDEX_BUFFER_FORMAT_INVALID = 212, | ||
| 440 | D3D12_MESSAGE_ID_COMMAND_LIST_DRAW_INDEX_BUFFER_TOO_SMALL = 213, | ||
| 441 | D3D12_MESSAGE_ID_COMMAND_LIST_DRAW_INVALID_PRIMITIVETOPOLOGY = 219, | ||
| 442 | D3D12_MESSAGE_ID_COMMAND_LIST_DRAW_VERTEX_STRIDE_UNALIGNED = 221, | ||
| 443 | D3D12_MESSAGE_ID_COMMAND_LIST_DRAW_INDEX_OFFSET_UNALIGNED = 222, | ||
| 444 | D3D12_MESSAGE_ID_DEVICE_REMOVAL_PROCESS_AT_FAULT = 232, | ||
| 445 | D3D12_MESSAGE_ID_DEVICE_REMOVAL_PROCESS_POSSIBLY_AT_FAULT = 233, | ||
| 446 | D3D12_MESSAGE_ID_DEVICE_REMOVAL_PROCESS_NOT_AT_FAULT = 234, | ||
| 447 | |||
| 448 | D3D12_MESSAGE_ID_CREATEINPUTLAYOUT_TRAILING_DIGIT_IN_SEMANTIC = 239, | ||
| 449 | D3D12_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_TRAILING_DIGIT_IN_SEMANTIC = 240, | ||
| 450 | D3D12_MESSAGE_ID_CREATEINPUTLAYOUT_TYPE_MISMATCH = 245, | ||
| 451 | |||
| 452 | D3D12_MESSAGE_ID_CREATEINPUTLAYOUT_EMPTY_LAYOUT = 253, | ||
| 453 | |||
| 454 | D3D12_MESSAGE_ID_LIVE_OBJECT_SUMMARY = 255, | ||
| 455 | D3D12_MESSAGE_ID_LIVE_DEVICE = 274, | ||
| 456 | D3D12_MESSAGE_ID_LIVE_SWAPCHAIN = 275, | ||
| 457 | |||
| 458 | D3D12_MESSAGE_ID_CREATEDEPTHSTENCILVIEW_INVALIDFLAGS = 276, | ||
| 459 | D3D12_MESSAGE_ID_CREATEVERTEXSHADER_INVALIDCLASSLINKAGE = 277, | ||
| 460 | D3D12_MESSAGE_ID_CREATEGEOMETRYSHADER_INVALIDCLASSLINKAGE = 278, | ||
| 461 | D3D12_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_INVALIDSTREAMTORASTERIZER = 280, | ||
| 462 | D3D12_MESSAGE_ID_CREATEPIXELSHADER_INVALIDCLASSLINKAGE = 283, | ||
| 463 | |||
| 464 | D3D12_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_INVALIDSTREAM = 284, | ||
| 465 | D3D12_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_UNEXPECTEDENTRIES = 285, | ||
| 466 | D3D12_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_UNEXPECTEDSTRIDES = 286, | ||
| 467 | D3D12_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_INVALIDNUMSTRIDES = 287, | ||
| 468 | |||
| 469 | D3D12_MESSAGE_ID_CREATEHULLSHADER_OUTOFMEMORY = 289, | ||
| 470 | D3D12_MESSAGE_ID_CREATEHULLSHADER_INVALIDSHADERBYTECODE = 290, | ||
| 471 | D3D12_MESSAGE_ID_CREATEHULLSHADER_INVALIDSHADERTYPE = 291, | ||
| 472 | D3D12_MESSAGE_ID_CREATEHULLSHADER_INVALIDCLASSLINKAGE = 292, | ||
| 473 | |||
| 474 | D3D12_MESSAGE_ID_CREATEDOMAINSHADER_OUTOFMEMORY = 294, | ||
| 475 | D3D12_MESSAGE_ID_CREATEDOMAINSHADER_INVALIDSHADERBYTECODE = 295, | ||
| 476 | D3D12_MESSAGE_ID_CREATEDOMAINSHADER_INVALIDSHADERTYPE = 296, | ||
| 477 | D3D12_MESSAGE_ID_CREATEDOMAINSHADER_INVALIDCLASSLINKAGE = 297, | ||
| 478 | |||
| 479 | D3D12_MESSAGE_ID_RESOURCE_UNMAP_NOTMAPPED = 310, | ||
| 480 | |||
| 481 | D3D12_MESSAGE_ID_DEVICE_CHECKFEATURESUPPORT_MISMATCHED_DATA_SIZE = 318, | ||
| 482 | |||
| 483 | D3D12_MESSAGE_ID_CREATECOMPUTESHADER_OUTOFMEMORY = 321, | ||
| 484 | D3D12_MESSAGE_ID_CREATECOMPUTESHADER_INVALIDSHADERBYTECODE = 322, | ||
| 485 | D3D12_MESSAGE_ID_CREATECOMPUTESHADER_INVALIDCLASSLINKAGE = 323, | ||
| 486 | |||
| 487 | D3D12_MESSAGE_ID_DEVICE_CREATEVERTEXSHADER_DOUBLEFLOATOPSNOTSUPPORTED = 331, | ||
| 488 | D3D12_MESSAGE_ID_DEVICE_CREATEHULLSHADER_DOUBLEFLOATOPSNOTSUPPORTED = 332, | ||
| 489 | D3D12_MESSAGE_ID_DEVICE_CREATEDOMAINSHADER_DOUBLEFLOATOPSNOTSUPPORTED = 333, | ||
| 490 | D3D12_MESSAGE_ID_DEVICE_CREATEGEOMETRYSHADER_DOUBLEFLOATOPSNOTSUPPORTED = 334, | ||
| 491 | D3D12_MESSAGE_ID_DEVICE_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_DOUBLEFLOATOPSNOTSUPPORTED = 335, | ||
| 492 | D3D12_MESSAGE_ID_DEVICE_CREATEPIXELSHADER_DOUBLEFLOATOPSNOTSUPPORTED = 336, | ||
| 493 | D3D12_MESSAGE_ID_DEVICE_CREATECOMPUTESHADER_DOUBLEFLOATOPSNOTSUPPORTED = 337, | ||
| 494 | |||
| 495 | D3D12_MESSAGE_ID_CREATEUNORDEREDACCESSVIEW_INVALIDRESOURCE = 340, | ||
| 496 | D3D12_MESSAGE_ID_CREATEUNORDEREDACCESSVIEW_INVALIDDESC = 341, | ||
| 497 | D3D12_MESSAGE_ID_CREATEUNORDEREDACCESSVIEW_INVALIDFORMAT = 342, | ||
| 498 | D3D12_MESSAGE_ID_CREATEUNORDEREDACCESSVIEW_INVALIDVIDEOPLANESLICE = 343, | ||
| 499 | D3D12_MESSAGE_ID_CREATEUNORDEREDACCESSVIEW_INVALIDPLANESLICE = 344, | ||
| 500 | D3D12_MESSAGE_ID_CREATEUNORDEREDACCESSVIEW_INVALIDDIMENSIONS = 345, | ||
| 501 | D3D12_MESSAGE_ID_CREATEUNORDEREDACCESSVIEW_UNRECOGNIZEDFORMAT = 346, | ||
| 502 | D3D12_MESSAGE_ID_CREATEUNORDEREDACCESSVIEW_INVALIDFLAGS = 354, | ||
| 503 | |||
| 504 | D3D12_MESSAGE_ID_CREATERASTERIZERSTATE_INVALIDFORCEDSAMPLECOUNT = 401, | ||
| 505 | |||
| 506 | D3D12_MESSAGE_ID_CREATEBLENDSTATE_INVALIDLOGICOPS = 403, | ||
| 507 | |||
| 508 | D3D12_MESSAGE_ID_DEVICE_CREATEVERTEXSHADER_DOUBLEEXTENSIONSNOTSUPPORTED = 410, | ||
| 509 | D3D12_MESSAGE_ID_DEVICE_CREATEHULLSHADER_DOUBLEEXTENSIONSNOTSUPPORTED = 412, | ||
| 510 | D3D12_MESSAGE_ID_DEVICE_CREATEDOMAINSHADER_DOUBLEEXTENSIONSNOTSUPPORTED = 414, | ||
| 511 | D3D12_MESSAGE_ID_DEVICE_CREATEGEOMETRYSHADER_DOUBLEEXTENSIONSNOTSUPPORTED = 416, | ||
| 512 | D3D12_MESSAGE_ID_DEVICE_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_DOUBLEEXTENSIONSNOTSUPPORTED = 418, | ||
| 513 | D3D12_MESSAGE_ID_DEVICE_CREATEPIXELSHADER_DOUBLEEXTENSIONSNOTSUPPORTED = 420, | ||
| 514 | D3D12_MESSAGE_ID_DEVICE_CREATECOMPUTESHADER_DOUBLEEXTENSIONSNOTSUPPORTED = 422, | ||
| 515 | |||
| 516 | D3D12_MESSAGE_ID_DEVICE_CREATEVERTEXSHADER_UAVSNOTSUPPORTED = 425, | ||
| 517 | D3D12_MESSAGE_ID_DEVICE_CREATEHULLSHADER_UAVSNOTSUPPORTED = 426, | ||
| 518 | D3D12_MESSAGE_ID_DEVICE_CREATEDOMAINSHADER_UAVSNOTSUPPORTED = 427, | ||
| 519 | D3D12_MESSAGE_ID_DEVICE_CREATEGEOMETRYSHADER_UAVSNOTSUPPORTED = 428, | ||
| 520 | D3D12_MESSAGE_ID_DEVICE_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_UAVSNOTSUPPORTED = 429, | ||
| 521 | D3D12_MESSAGE_ID_DEVICE_CREATEPIXELSHADER_UAVSNOTSUPPORTED = 430, | ||
| 522 | D3D12_MESSAGE_ID_DEVICE_CREATECOMPUTESHADER_UAVSNOTSUPPORTED = 431, | ||
| 523 | |||
| 524 | D3D12_MESSAGE_ID_DEVICE_CLEARVIEW_INVALIDSOURCERECT = 447, | ||
| 525 | D3D12_MESSAGE_ID_DEVICE_CLEARVIEW_EMPTYRECT = 448, | ||
| 526 | |||
| 527 | D3D12_MESSAGE_ID_UPDATETILEMAPPINGS_INVALID_PARAMETER = 493, | ||
| 528 | D3D12_MESSAGE_ID_COPYTILEMAPPINGS_INVALID_PARAMETER = 494, | ||
| 529 | |||
| 530 | D3D12_MESSAGE_ID_CREATEDEVICE_INVALIDARGS = 506, | ||
| 531 | D3D12_MESSAGE_ID_CREATEDEVICE_WARNING = 507, | ||
| 532 | |||
| 533 | D3D12_MESSAGE_ID_RESOURCE_BARRIER_INVALID_TYPE = 519, | ||
| 534 | D3D12_MESSAGE_ID_RESOURCE_BARRIER_NULL_POINTER = 520, | ||
| 535 | D3D12_MESSAGE_ID_RESOURCE_BARRIER_INVALID_SUBRESOURCE = 521, | ||
| 536 | D3D12_MESSAGE_ID_RESOURCE_BARRIER_RESERVED_BITS = 522, | ||
| 537 | D3D12_MESSAGE_ID_RESOURCE_BARRIER_MISSING_BIND_FLAGS = 523, | ||
| 538 | D3D12_MESSAGE_ID_RESOURCE_BARRIER_MISMATCHING_MISC_FLAGS = 524, | ||
| 539 | D3D12_MESSAGE_ID_RESOURCE_BARRIER_MATCHING_STATES = 525, | ||
| 540 | D3D12_MESSAGE_ID_RESOURCE_BARRIER_INVALID_COMBINATION = 526, | ||
| 541 | D3D12_MESSAGE_ID_RESOURCE_BARRIER_BEFORE_AFTER_MISMATCH = 527, | ||
| 542 | D3D12_MESSAGE_ID_RESOURCE_BARRIER_INVALID_RESOURCE = 528, | ||
| 543 | D3D12_MESSAGE_ID_RESOURCE_BARRIER_SAMPLE_COUNT = 529, | ||
| 544 | D3D12_MESSAGE_ID_RESOURCE_BARRIER_INVALID_FLAGS = 530, | ||
| 545 | D3D12_MESSAGE_ID_RESOURCE_BARRIER_INVALID_COMBINED_FLAGS = 531, | ||
| 546 | D3D12_MESSAGE_ID_RESOURCE_BARRIER_INVALID_FLAGS_FOR_FORMAT = 532, | ||
| 547 | D3D12_MESSAGE_ID_RESOURCE_BARRIER_INVALID_SPLIT_BARRIER = 533, | ||
| 548 | D3D12_MESSAGE_ID_RESOURCE_BARRIER_UNMATCHED_END = 534, | ||
| 549 | D3D12_MESSAGE_ID_RESOURCE_BARRIER_UNMATCHED_BEGIN = 535, | ||
| 550 | D3D12_MESSAGE_ID_RESOURCE_BARRIER_INVALID_FLAG = 536, | ||
| 551 | D3D12_MESSAGE_ID_RESOURCE_BARRIER_INVALID_COMMAND_LIST_TYPE = 537, | ||
| 552 | D3D12_MESSAGE_ID_INVALID_SUBRESOURCE_STATE = 538, | ||
| 553 | D3D12_MESSAGE_ID_COMMAND_ALLOCATOR_CONTENTION = 540, | ||
| 554 | D3D12_MESSAGE_ID_COMMAND_ALLOCATOR_RESET = 541, | ||
| 555 | D3D12_MESSAGE_ID_COMMAND_ALLOCATOR_RESET_BUNDLE = 542, | ||
| 556 | D3D12_MESSAGE_ID_COMMAND_ALLOCATOR_CANNOT_RESET = 543, | ||
| 557 | D3D12_MESSAGE_ID_COMMAND_LIST_OPEN = 544, | ||
| 558 | D3D12_MESSAGE_ID_INVALID_BUNDLE_API = 546, | ||
| 559 | D3D12_MESSAGE_ID_COMMAND_LIST_CLOSED = 547, | ||
| 560 | D3D12_MESSAGE_ID_WRONG_COMMAND_ALLOCATOR_TYPE = 549, | ||
| 561 | D3D12_MESSAGE_ID_COMMAND_ALLOCATOR_SYNC = 552, | ||
| 562 | D3D12_MESSAGE_ID_COMMAND_LIST_SYNC = 553, | ||
| 563 | D3D12_MESSAGE_ID_SET_DESCRIPTOR_HEAP_INVALID = 554, | ||
| 564 | |||
| 565 | D3D12_MESSAGE_ID_CREATE_COMMANDQUEUE = 557, | ||
| 566 | D3D12_MESSAGE_ID_CREATE_COMMANDALLOCATOR = 558, | ||
| 567 | D3D12_MESSAGE_ID_CREATE_PIPELINESTATE = 559, | ||
| 568 | D3D12_MESSAGE_ID_CREATE_COMMANDLIST12 = 560, | ||
| 569 | D3D12_MESSAGE_ID_CREATE_RESOURCE = 562, | ||
| 570 | D3D12_MESSAGE_ID_CREATE_DESCRIPTORHEAP = 563, | ||
| 571 | D3D12_MESSAGE_ID_CREATE_ROOTSIGNATURE = 564, | ||
| 572 | D3D12_MESSAGE_ID_CREATE_LIBRARY = 565, | ||
| 573 | D3D12_MESSAGE_ID_CREATE_HEAP = 566, | ||
| 574 | D3D12_MESSAGE_ID_CREATE_MONITOREDFENCE = 567, | ||
| 575 | D3D12_MESSAGE_ID_CREATE_QUERYHEAP = 568, | ||
| 576 | D3D12_MESSAGE_ID_CREATE_COMMANDSIGNATURE = 569, | ||
| 577 | |||
| 578 | D3D12_MESSAGE_ID_LIVE_COMMANDQUEUE = 570, | ||
| 579 | D3D12_MESSAGE_ID_LIVE_COMMANDALLOCATOR = 571, | ||
| 580 | D3D12_MESSAGE_ID_LIVE_PIPELINESTATE = 572, | ||
| 581 | D3D12_MESSAGE_ID_LIVE_COMMANDLIST12 = 573, | ||
| 582 | D3D12_MESSAGE_ID_LIVE_RESOURCE = 575, | ||
| 583 | D3D12_MESSAGE_ID_LIVE_DESCRIPTORHEAP = 576, | ||
| 584 | D3D12_MESSAGE_ID_LIVE_ROOTSIGNATURE = 577, | ||
| 585 | D3D12_MESSAGE_ID_LIVE_LIBRARY = 578, | ||
| 586 | D3D12_MESSAGE_ID_LIVE_HEAP = 579, | ||
| 587 | D3D12_MESSAGE_ID_LIVE_MONITOREDFENCE = 580, | ||
| 588 | D3D12_MESSAGE_ID_LIVE_QUERYHEAP = 581, | ||
| 589 | D3D12_MESSAGE_ID_LIVE_COMMANDSIGNATURE = 582, | ||
| 590 | |||
| 591 | D3D12_MESSAGE_ID_DESTROY_COMMANDQUEUE = 583, | ||
| 592 | D3D12_MESSAGE_ID_DESTROY_COMMANDALLOCATOR = 584, | ||
| 593 | D3D12_MESSAGE_ID_DESTROY_PIPELINESTATE = 585, | ||
| 594 | D3D12_MESSAGE_ID_DESTROY_COMMANDLIST12 = 586, | ||
| 595 | D3D12_MESSAGE_ID_DESTROY_RESOURCE = 588, | ||
| 596 | D3D12_MESSAGE_ID_DESTROY_DESCRIPTORHEAP = 589, | ||
| 597 | D3D12_MESSAGE_ID_DESTROY_ROOTSIGNATURE = 590, | ||
| 598 | D3D12_MESSAGE_ID_DESTROY_LIBRARY = 591, | ||
| 599 | D3D12_MESSAGE_ID_DESTROY_HEAP = 592, | ||
| 600 | D3D12_MESSAGE_ID_DESTROY_MONITOREDFENCE = 593, | ||
| 601 | D3D12_MESSAGE_ID_DESTROY_QUERYHEAP = 594, | ||
| 602 | D3D12_MESSAGE_ID_DESTROY_COMMANDSIGNATURE = 595, | ||
| 603 | |||
| 604 | D3D12_MESSAGE_ID_CREATERESOURCE_INVALIDDIMENSIONS = 597, | ||
| 605 | D3D12_MESSAGE_ID_CREATERESOURCE_INVALIDMISCFLAGS = 599, | ||
| 606 | D3D12_MESSAGE_ID_CREATERESOURCE_INVALIDARG_RETURN = 602, | ||
| 607 | D3D12_MESSAGE_ID_CREATERESOURCE_OUTOFMEMORY_RETURN = 603, | ||
| 608 | D3D12_MESSAGE_ID_CREATERESOURCE_INVALIDDESC = 604, | ||
| 609 | // This was shipped, but is no longer used. Do not reuse. | ||
| 610 | //D3D12_MESSAGE_ID_CREATERESOURCE_INVALIDINITIALSTATE = 605, | ||
| 611 | D3D12_MESSAGE_ID_POSSIBLY_INVALID_SUBRESOURCE_STATE = 607, | ||
| 612 | D3D12_MESSAGE_ID_INVALID_USE_OF_NON_RESIDENT_RESOURCE = 608, | ||
| 613 | D3D12_MESSAGE_ID_POSSIBLE_INVALID_USE_OF_NON_RESIDENT_RESOURCE = 609, | ||
| 614 | D3D12_MESSAGE_ID_BUNDLE_PIPELINE_STATE_MISMATCH = 610, | ||
| 615 | D3D12_MESSAGE_ID_PRIMITIVE_TOPOLOGY_MISMATCH_PIPELINE_STATE = 611, | ||
| 616 | D3D12_MESSAGE_ID_RENDER_TARGET_FORMAT_MISMATCH_PIPELINE_STATE = 613, | ||
| 617 | D3D12_MESSAGE_ID_RENDER_TARGET_SAMPLE_DESC_MISMATCH_PIPELINE_STATE = 614, | ||
| 618 | D3D12_MESSAGE_ID_DEPTH_STENCIL_FORMAT_MISMATCH_PIPELINE_STATE = 615, | ||
| 619 | D3D12_MESSAGE_ID_DEPTH_STENCIL_SAMPLE_DESC_MISMATCH_PIPELINE_STATE = 616, | ||
| 620 | D3D12_MESSAGE_ID_CREATESHADER_INVALIDBYTECODE = 622, | ||
| 621 | D3D12_MESSAGE_ID_CREATEHEAP_NULLDESC = 623, | ||
| 622 | D3D12_MESSAGE_ID_CREATEHEAP_INVALIDSIZE = 624, | ||
| 623 | D3D12_MESSAGE_ID_CREATEHEAP_UNRECOGNIZEDHEAPTYPE = 625, | ||
| 624 | D3D12_MESSAGE_ID_CREATEHEAP_UNRECOGNIZEDCPUPAGEPROPERTIES = 626, | ||
| 625 | D3D12_MESSAGE_ID_CREATEHEAP_UNRECOGNIZEDMEMORYPOOL = 627, | ||
| 626 | D3D12_MESSAGE_ID_CREATEHEAP_INVALIDPROPERTIES = 628, | ||
| 627 | D3D12_MESSAGE_ID_CREATEHEAP_INVALIDALIGNMENT = 629, | ||
| 628 | D3D12_MESSAGE_ID_CREATEHEAP_UNRECOGNIZEDMISCFLAGS = 630, | ||
| 629 | D3D12_MESSAGE_ID_CREATEHEAP_INVALIDMISCFLAGS = 631, | ||
| 630 | D3D12_MESSAGE_ID_CREATEHEAP_INVALIDARG_RETURN = 632, | ||
| 631 | D3D12_MESSAGE_ID_CREATEHEAP_OUTOFMEMORY_RETURN = 633, | ||
| 632 | D3D12_MESSAGE_ID_CREATERESOURCEANDHEAP_NULLHEAPPROPERTIES = 634, | ||
| 633 | D3D12_MESSAGE_ID_CREATERESOURCEANDHEAP_UNRECOGNIZEDHEAPTYPE = 635, | ||
| 634 | D3D12_MESSAGE_ID_CREATERESOURCEANDHEAP_UNRECOGNIZEDCPUPAGEPROPERTIES = 636, | ||
| 635 | D3D12_MESSAGE_ID_CREATERESOURCEANDHEAP_UNRECOGNIZEDMEMORYPOOL = 637, | ||
| 636 | D3D12_MESSAGE_ID_CREATERESOURCEANDHEAP_INVALIDHEAPPROPERTIES = 638, | ||
| 637 | D3D12_MESSAGE_ID_CREATERESOURCEANDHEAP_UNRECOGNIZEDHEAPMISCFLAGS = 639, | ||
| 638 | D3D12_MESSAGE_ID_CREATERESOURCEANDHEAP_INVALIDHEAPMISCFLAGS = 640, | ||
| 639 | D3D12_MESSAGE_ID_CREATERESOURCEANDHEAP_INVALIDARG_RETURN = 641, | ||
| 640 | D3D12_MESSAGE_ID_CREATERESOURCEANDHEAP_OUTOFMEMORY_RETURN = 642, | ||
| 641 | D3D12_MESSAGE_ID_GETCUSTOMHEAPPROPERTIES_UNRECOGNIZEDHEAPTYPE = 643, | ||
| 642 | D3D12_MESSAGE_ID_GETCUSTOMHEAPPROPERTIES_INVALIDHEAPTYPE = 644, | ||
| 643 | D3D12_MESSAGE_ID_CREATE_DESCRIPTOR_HEAP_INVALID_DESC = 645, | ||
| 644 | D3D12_MESSAGE_ID_INVALID_DESCRIPTOR_HANDLE = 646, | ||
| 645 | D3D12_MESSAGE_ID_CREATERASTERIZERSTATE_INVALID_CONSERVATIVERASTERMODE = 647, | ||
| 646 | D3D12_MESSAGE_ID_CREATE_CONSTANT_BUFFER_VIEW_INVALID_RESOURCE = 649, | ||
| 647 | D3D12_MESSAGE_ID_CREATE_CONSTANT_BUFFER_VIEW_INVALID_DESC = 650, | ||
| 648 | D3D12_MESSAGE_ID_CREATE_UNORDEREDACCESS_VIEW_INVALID_COUNTER_USAGE = 652, | ||
| 649 | D3D12_MESSAGE_ID_COPY_DESCRIPTORS_INVALID_RANGES = 653, | ||
| 650 | D3D12_MESSAGE_ID_COPY_DESCRIPTORS_WRITE_ONLY_DESCRIPTOR = 654, | ||
| 651 | D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_RTV_FORMAT_NOT_UNKNOWN = 655, | ||
| 652 | D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_INVALID_RENDER_TARGET_COUNT = 656, | ||
| 653 | D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_VERTEX_SHADER_NOT_SET = 657, | ||
| 654 | D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_INPUTLAYOUT_NOT_SET = 658, | ||
| 655 | D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_SHADER_LINKAGE_HS_DS_SIGNATURE_MISMATCH = 659, | ||
| 656 | D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_SHADER_LINKAGE_REGISTERINDEX = 660, | ||
| 657 | D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_SHADER_LINKAGE_COMPONENTTYPE = 661, | ||
| 658 | D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_SHADER_LINKAGE_REGISTERMASK = 662, | ||
| 659 | D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_SHADER_LINKAGE_SYSTEMVALUE = 663, | ||
| 660 | D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_SHADER_LINKAGE_NEVERWRITTEN_ALWAYSREADS = 664, | ||
| 661 | D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_SHADER_LINKAGE_MINPRECISION = 665, | ||
| 662 | D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_SHADER_LINKAGE_SEMANTICNAME_NOT_FOUND = 666, | ||
| 663 | D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_HS_XOR_DS_MISMATCH = 667, | ||
| 664 | D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_HULL_SHADER_INPUT_TOPOLOGY_MISMATCH = 668, | ||
| 665 | D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_HS_DS_CONTROL_POINT_COUNT_MISMATCH = 669, | ||
| 666 | D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_HS_DS_TESSELLATOR_DOMAIN_MISMATCH = 670, | ||
| 667 | D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_INVALID_USE_OF_CENTER_MULTISAMPLE_PATTERN = 671, | ||
| 668 | D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_INVALID_USE_OF_FORCED_SAMPLE_COUNT = 672, | ||
| 669 | D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_INVALID_PRIMITIVETOPOLOGY = 673, | ||
| 670 | D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_INVALID_SYSTEMVALUE = 674, | ||
| 671 | D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_OM_DUAL_SOURCE_BLENDING_CAN_ONLY_HAVE_RENDER_TARGET_0 = 675, | ||
| 672 | D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_OM_RENDER_TARGET_DOES_NOT_SUPPORT_BLENDING = 676, | ||
| 673 | D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_PS_OUTPUT_TYPE_MISMATCH = 677, | ||
| 674 | D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_OM_RENDER_TARGET_DOES_NOT_SUPPORT_LOGIC_OPS = 678, | ||
| 675 | D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_RENDERTARGETVIEW_NOT_SET = 679, | ||
| 676 | D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_DEPTHSTENCILVIEW_NOT_SET = 680, | ||
| 677 | D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_GS_INPUT_PRIMITIVE_MISMATCH = 681, | ||
| 678 | D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_POSITION_NOT_PRESENT = 682, | ||
| 679 | D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_MISSING_ROOT_SIGNATURE_FLAGS = 683, | ||
| 680 | D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_INVALID_INDEX_BUFFER_PROPERTIES = 684, | ||
| 681 | D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_INVALID_SAMPLE_DESC = 685, | ||
| 682 | D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_HS_ROOT_SIGNATURE_MISMATCH = 686, | ||
| 683 | D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_DS_ROOT_SIGNATURE_MISMATCH = 687, | ||
| 684 | D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_VS_ROOT_SIGNATURE_MISMATCH = 688, | ||
| 685 | D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_GS_ROOT_SIGNATURE_MISMATCH = 689, | ||
| 686 | D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_PS_ROOT_SIGNATURE_MISMATCH = 690, | ||
| 687 | D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_MISSING_ROOT_SIGNATURE = 691, | ||
| 688 | D3D12_MESSAGE_ID_EXECUTE_BUNDLE_OPEN_BUNDLE = 692, | ||
| 689 | D3D12_MESSAGE_ID_EXECUTE_BUNDLE_DESCRIPTOR_HEAP_MISMATCH = 693, | ||
| 690 | D3D12_MESSAGE_ID_EXECUTE_BUNDLE_TYPE = 694, | ||
| 691 | D3D12_MESSAGE_ID_DRAW_EMPTY_SCISSOR_RECTANGLE = 695, | ||
| 692 | D3D12_MESSAGE_ID_CREATE_ROOT_SIGNATURE_BLOB_NOT_FOUND = 696, | ||
| 693 | D3D12_MESSAGE_ID_CREATE_ROOT_SIGNATURE_DESERIALIZE_FAILED = 697, | ||
| 694 | D3D12_MESSAGE_ID_CREATE_ROOT_SIGNATURE_INVALID_CONFIGURATION = 698, | ||
| 695 | D3D12_MESSAGE_ID_CREATE_ROOT_SIGNATURE_NOT_SUPPORTED_ON_DEVICE = 699, | ||
| 696 | D3D12_MESSAGE_ID_CREATERESOURCEANDHEAP_NULLRESOURCEPROPERTIES = 700, | ||
| 697 | D3D12_MESSAGE_ID_CREATERESOURCEANDHEAP_NULLHEAP = 701, | ||
| 698 | D3D12_MESSAGE_ID_GETRESOURCEALLOCATIONINFO_INVALIDRDESCS = 702, | ||
| 699 | D3D12_MESSAGE_ID_MAKERESIDENT_NULLOBJECTARRAY = 703, | ||
| 700 | D3D12_MESSAGE_ID_EVICT_NULLOBJECTARRAY = 705, | ||
| 701 | D3D12_MESSAGE_ID_SET_DESCRIPTOR_TABLE_INVALID = 708, | ||
| 702 | D3D12_MESSAGE_ID_SET_ROOT_CONSTANT_INVALID = 709, | ||
| 703 | D3D12_MESSAGE_ID_SET_ROOT_CONSTANT_BUFFER_VIEW_INVALID = 710, | ||
| 704 | D3D12_MESSAGE_ID_SET_ROOT_SHADER_RESOURCE_VIEW_INVALID = 711, | ||
| 705 | D3D12_MESSAGE_ID_SET_ROOT_UNORDERED_ACCESS_VIEW_INVALID = 712, | ||
| 706 | D3D12_MESSAGE_ID_SET_VERTEX_BUFFERS_INVALID_DESC = 713, | ||
| 707 | D3D12_MESSAGE_ID_SET_INDEX_BUFFER_INVALID_DESC = 715, | ||
| 708 | D3D12_MESSAGE_ID_SET_STREAM_OUTPUT_BUFFERS_INVALID_DESC = 717, | ||
| 709 | D3D12_MESSAGE_ID_CREATERESOURCE_UNRECOGNIZEDDIMENSIONALITY = 718, | ||
| 710 | D3D12_MESSAGE_ID_CREATERESOURCE_UNRECOGNIZEDLAYOUT = 719, | ||
| 711 | D3D12_MESSAGE_ID_CREATERESOURCE_INVALIDDIMENSIONALITY = 720, | ||
| 712 | D3D12_MESSAGE_ID_CREATERESOURCE_INVALIDALIGNMENT = 721, | ||
| 713 | D3D12_MESSAGE_ID_CREATERESOURCE_INVALIDMIPLEVELS = 722, | ||
| 714 | D3D12_MESSAGE_ID_CREATERESOURCE_INVALIDSAMPLEDESC = 723, | ||
| 715 | D3D12_MESSAGE_ID_CREATERESOURCE_INVALIDLAYOUT = 724, | ||
| 716 | D3D12_MESSAGE_ID_SET_INDEX_BUFFER_INVALID = 725, | ||
| 717 | D3D12_MESSAGE_ID_SET_VERTEX_BUFFERS_INVALID = 726, | ||
| 718 | D3D12_MESSAGE_ID_SET_STREAM_OUTPUT_BUFFERS_INVALID = 727, | ||
| 719 | D3D12_MESSAGE_ID_SET_RENDER_TARGETS_INVALID = 728, | ||
| 720 | D3D12_MESSAGE_ID_CREATEQUERY_HEAP_INVALID_PARAMETERS = 729, | ||
| 721 | D3D12_MESSAGE_ID_BEGIN_END_QUERY_INVALID_PARAMETERS = 731, | ||
| 722 | D3D12_MESSAGE_ID_CLOSE_COMMAND_LIST_OPEN_QUERY = 732, | ||
| 723 | D3D12_MESSAGE_ID_RESOLVE_QUERY_DATA_INVALID_PARAMETERS = 733, | ||
| 724 | D3D12_MESSAGE_ID_SET_PREDICATION_INVALID_PARAMETERS = 734, | ||
| 725 | D3D12_MESSAGE_ID_TIMESTAMPS_NOT_SUPPORTED = 735, | ||
| 726 | // This was shipped, but is no longer used. Do not reuse. | ||
| 727 | //D3D12_MESSAGE_ID_UNSTABLE_POWER_STATE = 736, | ||
| 728 | D3D12_MESSAGE_ID_CREATERESOURCE_UNRECOGNIZEDFORMAT = 737, | ||
| 729 | D3D12_MESSAGE_ID_CREATERESOURCE_INVALIDFORMAT = 738, | ||
| 730 | D3D12_MESSAGE_ID_GETCOPYABLEFOOTPRINTS_INVALIDSUBRESOURCERANGE = 739, | ||
| 731 | D3D12_MESSAGE_ID_GETCOPYABLEFOOTPRINTS_INVALIDBASEOFFSET = 740, | ||
| 732 | // Note: These are the same as the above two, with the original (incorrect) name | ||
| 733 | D3D12_MESSAGE_ID_GETCOPYABLELAYOUT_INVALIDSUBRESOURCERANGE = 739, | ||
| 734 | D3D12_MESSAGE_ID_GETCOPYABLELAYOUT_INVALIDBASEOFFSET = 740, | ||
| 735 | D3D12_MESSAGE_ID_RESOURCE_BARRIER_INVALID_HEAP = 741, | ||
| 736 | D3D12_MESSAGE_ID_CREATE_SAMPLER_INVALID = 742, | ||
| 737 | D3D12_MESSAGE_ID_CREATECOMMANDSIGNATURE_INVALID = 743, | ||
| 738 | D3D12_MESSAGE_ID_EXECUTE_INDIRECT_INVALID_PARAMETERS = 744, | ||
| 739 | D3D12_MESSAGE_ID_GETGPUVIRTUALADDRESS_INVALID_RESOURCE_DIMENSION = 745, | ||
| 740 | |||
| 741 | // These values shipped, but are no longer used. Do not reuse. | ||
| 742 | //D3D12_MESSAGE_ID_CREATEQUERYORPREDICATE_INVALIDCONTEXTTYPE = 746, | ||
| 743 | //D3D12_MESSAGE_ID_CREATEQUERYORPREDICATE_DECODENOTSUPPORTED = 747, | ||
| 744 | //D3D12_MESSAGE_ID_CREATEQUERYORPREDICATE_ENCODENOTSUPPORTED = 748, | ||
| 745 | D3D12_MESSAGE_ID_CREATERESOURCE_INVALIDCLEARVALUE = 815, | ||
| 746 | D3D12_MESSAGE_ID_CREATERESOURCE_UNRECOGNIZEDCLEARVALUEFORMAT = 816, | ||
| 747 | D3D12_MESSAGE_ID_CREATERESOURCE_INVALIDCLEARVALUEFORMAT = 817, | ||
| 748 | D3D12_MESSAGE_ID_CREATERESOURCE_CLEARVALUEDENORMFLUSH = 818, | ||
| 749 | D3D12_MESSAGE_ID_CLEARRENDERTARGETVIEW_MISMATCHINGCLEARVALUE = 820, | ||
| 750 | D3D12_MESSAGE_ID_CLEARDEPTHSTENCILVIEW_MISMATCHINGCLEARVALUE = 821, | ||
| 751 | D3D12_MESSAGE_ID_MAP_INVALIDHEAP = 822, | ||
| 752 | D3D12_MESSAGE_ID_UNMAP_INVALIDHEAP = 823, | ||
| 753 | D3D12_MESSAGE_ID_MAP_INVALIDRESOURCE = 824, | ||
| 754 | D3D12_MESSAGE_ID_UNMAP_INVALIDRESOURCE = 825, | ||
| 755 | D3D12_MESSAGE_ID_MAP_INVALIDSUBRESOURCE = 826, | ||
| 756 | D3D12_MESSAGE_ID_UNMAP_INVALIDSUBRESOURCE = 827, | ||
| 757 | D3D12_MESSAGE_ID_MAP_INVALIDRANGE = 828, | ||
| 758 | D3D12_MESSAGE_ID_UNMAP_INVALIDRANGE = 829, | ||
| 759 | D3D12_MESSAGE_ID_MAP_INVALIDDATAPOINTER = 832, | ||
| 760 | D3D12_MESSAGE_ID_MAP_INVALIDARG_RETURN = 833, | ||
| 761 | D3D12_MESSAGE_ID_MAP_OUTOFMEMORY_RETURN = 834, | ||
| 762 | D3D12_MESSAGE_ID_EXECUTECOMMANDLISTS_BUNDLENOTSUPPORTED = 835, | ||
| 763 | D3D12_MESSAGE_ID_EXECUTECOMMANDLISTS_COMMANDLISTMISMATCH = 836, | ||
| 764 | D3D12_MESSAGE_ID_EXECUTECOMMANDLISTS_OPENCOMMANDLIST = 837, | ||
| 765 | D3D12_MESSAGE_ID_EXECUTECOMMANDLISTS_FAILEDCOMMANDLIST = 838, | ||
| 766 | D3D12_MESSAGE_ID_COPYBUFFERREGION_NULLDST = 839, | ||
| 767 | D3D12_MESSAGE_ID_COPYBUFFERREGION_INVALIDDSTRESOURCEDIMENSION = 840, | ||
| 768 | D3D12_MESSAGE_ID_COPYBUFFERREGION_DSTRANGEOUTOFBOUNDS = 841, | ||
| 769 | D3D12_MESSAGE_ID_COPYBUFFERREGION_NULLSRC = 842, | ||
| 770 | D3D12_MESSAGE_ID_COPYBUFFERREGION_INVALIDSRCRESOURCEDIMENSION = 843, | ||
| 771 | D3D12_MESSAGE_ID_COPYBUFFERREGION_SRCRANGEOUTOFBOUNDS = 844, | ||
| 772 | D3D12_MESSAGE_ID_COPYBUFFERREGION_INVALIDCOPYFLAGS = 845, | ||
| 773 | D3D12_MESSAGE_ID_COPYTEXTUREREGION_NULLDST = 846, | ||
| 774 | D3D12_MESSAGE_ID_COPYTEXTUREREGION_UNRECOGNIZEDDSTTYPE = 847, | ||
| 775 | D3D12_MESSAGE_ID_COPYTEXTUREREGION_INVALIDDSTRESOURCEDIMENSION = 848, | ||
| 776 | D3D12_MESSAGE_ID_COPYTEXTUREREGION_INVALIDDSTRESOURCE = 849, | ||
| 777 | D3D12_MESSAGE_ID_COPYTEXTUREREGION_INVALIDDSTSUBRESOURCE = 850, | ||
| 778 | D3D12_MESSAGE_ID_COPYTEXTUREREGION_INVALIDDSTOFFSET = 851, | ||
| 779 | D3D12_MESSAGE_ID_COPYTEXTUREREGION_UNRECOGNIZEDDSTFORMAT = 852, | ||
| 780 | D3D12_MESSAGE_ID_COPYTEXTUREREGION_INVALIDDSTFORMAT = 853, | ||
| 781 | D3D12_MESSAGE_ID_COPYTEXTUREREGION_INVALIDDSTDIMENSIONS = 854, | ||
| 782 | D3D12_MESSAGE_ID_COPYTEXTUREREGION_INVALIDDSTROWPITCH = 855, | ||
| 783 | D3D12_MESSAGE_ID_COPYTEXTUREREGION_INVALIDDSTPLACEMENT = 856, | ||
| 784 | D3D12_MESSAGE_ID_COPYTEXTUREREGION_INVALIDDSTDSPLACEDFOOTPRINTFORMAT = 857, | ||
| 785 | D3D12_MESSAGE_ID_COPYTEXTUREREGION_DSTREGIONOUTOFBOUNDS = 858, | ||
| 786 | D3D12_MESSAGE_ID_COPYTEXTUREREGION_NULLSRC = 859, | ||
| 787 | D3D12_MESSAGE_ID_COPYTEXTUREREGION_UNRECOGNIZEDSRCTYPE = 860, | ||
| 788 | D3D12_MESSAGE_ID_COPYTEXTUREREGION_INVALIDSRCRESOURCEDIMENSION = 861, | ||
| 789 | D3D12_MESSAGE_ID_COPYTEXTUREREGION_INVALIDSRCRESOURCE = 862, | ||
| 790 | D3D12_MESSAGE_ID_COPYTEXTUREREGION_INVALIDSRCSUBRESOURCE = 863, | ||
| 791 | D3D12_MESSAGE_ID_COPYTEXTUREREGION_INVALIDSRCOFFSET = 864, | ||
| 792 | D3D12_MESSAGE_ID_COPYTEXTUREREGION_UNRECOGNIZEDSRCFORMAT = 865, | ||
| 793 | D3D12_MESSAGE_ID_COPYTEXTUREREGION_INVALIDSRCFORMAT = 866, | ||
| 794 | D3D12_MESSAGE_ID_COPYTEXTUREREGION_INVALIDSRCDIMENSIONS = 867, | ||
| 795 | D3D12_MESSAGE_ID_COPYTEXTUREREGION_INVALIDSRCROWPITCH = 868, | ||
| 796 | D3D12_MESSAGE_ID_COPYTEXTUREREGION_INVALIDSRCPLACEMENT = 869, | ||
| 797 | D3D12_MESSAGE_ID_COPYTEXTUREREGION_INVALIDSRCDSPLACEDFOOTPRINTFORMAT = 870, | ||
| 798 | D3D12_MESSAGE_ID_COPYTEXTUREREGION_SRCREGIONOUTOFBOUNDS = 871, | ||
| 799 | D3D12_MESSAGE_ID_COPYTEXTUREREGION_INVALIDDSTCOORDINATES = 872, | ||
| 800 | D3D12_MESSAGE_ID_COPYTEXTUREREGION_INVALIDSRCBOX = 873, | ||
| 801 | D3D12_MESSAGE_ID_COPYTEXTUREREGION_FORMATMISMATCH = 874, | ||
| 802 | D3D12_MESSAGE_ID_COPYTEXTUREREGION_EMPTYBOX = 875, | ||
| 803 | D3D12_MESSAGE_ID_COPYTEXTUREREGION_INVALIDCOPYFLAGS = 876, | ||
| 804 | |||
| 805 | D3D12_MESSAGE_ID_RESOLVESUBRESOURCE_INVALID_SUBRESOURCE_INDEX = 877, | ||
| 806 | D3D12_MESSAGE_ID_RESOLVESUBRESOURCE_INVALID_FORMAT = 878, | ||
| 807 | D3D12_MESSAGE_ID_RESOLVESUBRESOURCE_RESOURCE_MISMATCH = 879, | ||
| 808 | D3D12_MESSAGE_ID_RESOLVESUBRESOURCE_INVALID_SAMPLE_COUNT = 880, | ||
| 809 | |||
| 810 | D3D12_MESSAGE_ID_CREATECOMPUTEPIPELINESTATE_INVALID_SHADER = 881, | ||
| 811 | D3D12_MESSAGE_ID_CREATECOMPUTEPIPELINESTATE_CS_ROOT_SIGNATURE_MISMATCH = 882, | ||
| 812 | D3D12_MESSAGE_ID_CREATECOMPUTEPIPELINESTATE_MISSING_ROOT_SIGNATURE = 883, | ||
| 813 | |||
| 814 | D3D12_MESSAGE_ID_CREATEPIPELINESTATE_INVALIDCACHEDBLOB = 884, | ||
| 815 | D3D12_MESSAGE_ID_CREATEPIPELINESTATE_CACHEDBLOBADAPTERMISMATCH = 885, | ||
| 816 | D3D12_MESSAGE_ID_CREATEPIPELINESTATE_CACHEDBLOBDRIVERVERSIONMISMATCH = 886, | ||
| 817 | D3D12_MESSAGE_ID_CREATEPIPELINESTATE_CACHEDBLOBDESCMISMATCH = 887, | ||
| 818 | D3D12_MESSAGE_ID_CREATEPIPELINESTATE_CACHEDBLOBIGNORED = 888, | ||
| 819 | D3D12_MESSAGE_ID_WRITETOSUBRESOURCE_INVALIDHEAP = 889, | ||
| 820 | D3D12_MESSAGE_ID_WRITETOSUBRESOURCE_INVALIDRESOURCE = 890, | ||
| 821 | D3D12_MESSAGE_ID_WRITETOSUBRESOURCE_INVALIDBOX = 891, | ||
| 822 | D3D12_MESSAGE_ID_WRITETOSUBRESOURCE_INVALIDSUBRESOURCE = 892, | ||
| 823 | D3D12_MESSAGE_ID_WRITETOSUBRESOURCE_EMPTYBOX = 893, | ||
| 824 | D3D12_MESSAGE_ID_READFROMSUBRESOURCE_INVALIDHEAP = 894, | ||
| 825 | D3D12_MESSAGE_ID_READFROMSUBRESOURCE_INVALIDRESOURCE = 895, | ||
| 826 | D3D12_MESSAGE_ID_READFROMSUBRESOURCE_INVALIDBOX = 896, | ||
| 827 | D3D12_MESSAGE_ID_READFROMSUBRESOURCE_INVALIDSUBRESOURCE = 897, | ||
| 828 | D3D12_MESSAGE_ID_READFROMSUBRESOURCE_EMPTYBOX = 898, | ||
| 829 | |||
| 830 | D3D12_MESSAGE_ID_TOO_MANY_NODES_SPECIFIED = 899, | ||
| 831 | D3D12_MESSAGE_ID_INVALID_NODE_INDEX = 900, | ||
| 832 | |||
| 833 | D3D12_MESSAGE_ID_GETHEAPPROPERTIES_INVALIDRESOURCE = 901, | ||
| 834 | D3D12_MESSAGE_ID_NODE_MASK_MISMATCH = 902, | ||
| 835 | D3D12_MESSAGE_ID_COMMAND_LIST_OUTOFMEMORY = 903, | ||
| 836 | D3D12_MESSAGE_ID_COMMAND_LIST_MULTIPLE_SWAPCHAIN_BUFFER_REFERENCES = 904, | ||
| 837 | D3D12_MESSAGE_ID_COMMAND_LIST_TOO_MANY_SWAPCHAIN_REFERENCES = 905, | ||
| 838 | D3D12_MESSAGE_ID_COMMAND_QUEUE_TOO_MANY_SWAPCHAIN_REFERENCES = 906, | ||
| 839 | D3D12_MESSAGE_ID_EXECUTECOMMANDLISTS_WRONGSWAPCHAINBUFFERREFERENCE = 907, | ||
| 840 | D3D12_MESSAGE_ID_COMMAND_LIST_SETRENDERTARGETS_INVALIDNUMRENDERTARGETS = 908, | ||
| 841 | D3D12_MESSAGE_ID_CREATE_QUEUE_INVALID_TYPE = 909, | ||
| 842 | D3D12_MESSAGE_ID_CREATE_QUEUE_INVALID_FLAGS = 910, | ||
| 843 | |||
| 844 | D3D12_MESSAGE_ID_CREATESHAREDRESOURCE_INVALIDFLAGS = 911, | ||
| 845 | D3D12_MESSAGE_ID_CREATESHAREDRESOURCE_INVALIDFORMAT = 912, | ||
| 846 | D3D12_MESSAGE_ID_CREATESHAREDHEAP_INVALIDFLAGS = 913, | ||
| 847 | D3D12_MESSAGE_ID_REFLECTSHAREDPROPERTIES_UNRECOGNIZEDPROPERTIES = 914, | ||
| 848 | D3D12_MESSAGE_ID_REFLECTSHAREDPROPERTIES_INVALIDSIZE = 915, | ||
| 849 | D3D12_MESSAGE_ID_REFLECTSHAREDPROPERTIES_INVALIDOBJECT = 916, | ||
| 850 | D3D12_MESSAGE_ID_KEYEDMUTEX_INVALIDOBJECT = 917, | ||
| 851 | D3D12_MESSAGE_ID_KEYEDMUTEX_INVALIDKEY = 918, | ||
| 852 | D3D12_MESSAGE_ID_KEYEDMUTEX_WRONGSTATE = 919, | ||
| 853 | D3D12_MESSAGE_ID_CREATE_QUEUE_INVALID_PRIORITY = 920, | ||
| 854 | |||
| 855 | D3D12_MESSAGE_ID_OBJECT_DELETED_WHILE_STILL_IN_USE = 921, | ||
| 856 | D3D12_MESSAGE_ID_CREATEPIPELINESTATE_INVALID_FLAGS = 922, | ||
| 857 | |||
| 858 | D3D12_MESSAGE_ID_HEAP_ADDRESS_RANGE_HAS_NO_RESOURCE = 923, | ||
| 859 | |||
| 860 | D3D12_MESSAGE_ID_COMMAND_LIST_DRAW_RENDER_TARGET_DELETED = 924, | ||
| 861 | |||
| 862 | D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_ALL_RENDER_TARGETS_HAVE_UNKNOWN_FORMAT = 925, | ||
| 863 | |||
| 864 | D3D12_MESSAGE_ID_HEAP_ADDRESS_RANGE_INTERSECTS_MULTIPLE_BUFFERS = 926, | ||
| 865 | |||
| 866 | D3D12_MESSAGE_ID_EXECUTECOMMANDLISTS_GPU_WRITTEN_READBACK_RESOURCE_MAPPED = 927, | ||
| 867 | D3D12_MESSAGE_ID_UNMAP_RANGE_NOT_EMPTY = 929, | ||
| 868 | D3D12_MESSAGE_ID_MAP_INVALID_NULLRANGE = 930, | ||
| 869 | D3D12_MESSAGE_ID_UNMAP_INVALID_NULLRANGE = 931, | ||
| 870 | |||
| 871 | D3D12_MESSAGE_ID_NO_GRAPHICS_API_SUPPORT = 932, | ||
| 872 | D3D12_MESSAGE_ID_NO_COMPUTE_API_SUPPORT = 933, | ||
| 873 | |||
| 874 | D3D12_MESSAGE_ID_RESOLVESUBRESOURCE_RESOURCE_FLAGS_NOT_SUPPORTED = 934, | ||
| 875 | |||
| 876 | D3D12_MESSAGE_ID_GPU_BASED_VALIDATION_ROOT_ARGUMENT_UNINITIALIZED = 935, | ||
| 877 | D3D12_MESSAGE_ID_GPU_BASED_VALIDATION_DESCRIPTOR_HEAP_INDEX_OUT_OF_BOUNDS = 936, | ||
| 878 | D3D12_MESSAGE_ID_GPU_BASED_VALIDATION_DESCRIPTOR_TABLE_REGISTER_INDEX_OUT_OF_BOUNDS = 937, | ||
| 879 | D3D12_MESSAGE_ID_GPU_BASED_VALIDATION_DESCRIPTOR_UNINITIALIZED = 938, | ||
| 880 | D3D12_MESSAGE_ID_GPU_BASED_VALIDATION_DESCRIPTOR_TYPE_MISMATCH = 939, | ||
| 881 | D3D12_MESSAGE_ID_GPU_BASED_VALIDATION_SRV_RESOURCE_DIMENSION_MISMATCH = 940, | ||
| 882 | D3D12_MESSAGE_ID_GPU_BASED_VALIDATION_UAV_RESOURCE_DIMENSION_MISMATCH = 941, | ||
| 883 | D3D12_MESSAGE_ID_GPU_BASED_VALIDATION_INCOMPATIBLE_RESOURCE_STATE = 942, | ||
| 884 | |||
| 885 | D3D12_MESSAGE_ID_COPYRESOURCE_NULLDST = 943, | ||
| 886 | D3D12_MESSAGE_ID_COPYRESOURCE_INVALIDDSTRESOURCE = 944, | ||
| 887 | D3D12_MESSAGE_ID_COPYRESOURCE_NULLSRC = 945, | ||
| 888 | D3D12_MESSAGE_ID_COPYRESOURCE_INVALIDSRCRESOURCE = 946, | ||
| 889 | |||
| 890 | D3D12_MESSAGE_ID_RESOLVESUBRESOURCE_NULLDST = 947, | ||
| 891 | D3D12_MESSAGE_ID_RESOLVESUBRESOURCE_INVALIDDSTRESOURCE = 948, | ||
| 892 | D3D12_MESSAGE_ID_RESOLVESUBRESOURCE_NULLSRC = 949, | ||
| 893 | D3D12_MESSAGE_ID_RESOLVESUBRESOURCE_INVALIDSRCRESOURCE = 950, | ||
| 894 | |||
| 895 | D3D12_MESSAGE_ID_PIPELINE_STATE_TYPE_MISMATCH = 951, | ||
| 896 | D3D12_MESSAGE_ID_COMMAND_LIST_DISPATCH_ROOT_SIGNATURE_NOT_SET = 952, | ||
| 897 | D3D12_MESSAGE_ID_COMMAND_LIST_DISPATCH_ROOT_SIGNATURE_MISMATCH = 953, | ||
| 898 | |||
| 899 | D3D12_MESSAGE_ID_RESOURCE_BARRIER_ZERO_BARRIERS = 954, | ||
| 900 | |||
| 901 | D3D12_MESSAGE_ID_BEGIN_END_EVENT_MISMATCH = 955, | ||
| 902 | |||
| 903 | D3D12_MESSAGE_ID_RESOURCE_BARRIER_POSSIBLE_BEFORE_AFTER_MISMATCH = 956, | ||
| 904 | |||
| 905 | D3D12_MESSAGE_ID_RESOURCE_BARRIER_MISMATCHING_BEGIN_END = 957, | ||
| 906 | |||
| 907 | D3D12_MESSAGE_ID_GPU_BASED_VALIDATION_INVALID_RESOURCE = 958, | ||
| 908 | |||
| 909 | D3D12_MESSAGE_ID_USE_OF_ZERO_REFCOUNT_OBJECT = 959, | ||
| 910 | |||
| 911 | D3D12_MESSAGE_ID_OBJECT_EVICTED_WHILE_STILL_IN_USE = 960, | ||
| 912 | |||
| 913 | D3D12_MESSAGE_ID_GPU_BASED_VALIDATION_ROOT_DESCRIPTOR_ACCESS_OUT_OF_BOUNDS = 961, | ||
| 914 | |||
| 915 | D3D12_MESSAGE_ID_CREATEPIPELINELIBRARY_INVALIDLIBRARYBLOB = 962, | ||
| 916 | D3D12_MESSAGE_ID_CREATEPIPELINELIBRARY_DRIVERVERSIONMISMATCH = 963, | ||
| 917 | D3D12_MESSAGE_ID_CREATEPIPELINELIBRARY_ADAPTERVERSIONMISMATCH = 964, | ||
| 918 | D3D12_MESSAGE_ID_CREATEPIPELINELIBRARY_UNSUPPORTED = 965, | ||
| 919 | D3D12_MESSAGE_ID_CREATE_PIPELINELIBRARY = 966, | ||
| 920 | D3D12_MESSAGE_ID_LIVE_PIPELINELIBRARY = 967, | ||
| 921 | D3D12_MESSAGE_ID_DESTROY_PIPELINELIBRARY = 968, | ||
| 922 | |||
| 923 | D3D12_MESSAGE_ID_STOREPIPELINE_NONAME = 969, | ||
| 924 | D3D12_MESSAGE_ID_STOREPIPELINE_DUPLICATENAME = 970, | ||
| 925 | D3D12_MESSAGE_ID_LOADPIPELINE_NAMENOTFOUND = 971, | ||
| 926 | D3D12_MESSAGE_ID_LOADPIPELINE_INVALIDDESC = 972, | ||
| 927 | D3D12_MESSAGE_ID_PIPELINELIBRARY_SERIALIZE_NOTENOUGHMEMORY = 973, | ||
| 928 | |||
| 929 | D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_PS_OUTPUT_RT_OUTPUT_MISMATCH = 974, | ||
| 930 | |||
| 931 | D3D12_MESSAGE_ID_SETEVENTONMULTIPLEFENCECOMPLETION_INVALIDFLAGS = 975, | ||
| 932 | |||
| 933 | D3D12_MESSAGE_ID_CREATE_QUEUE_VIDEO_NOT_SUPPORTED = 976, | ||
| 934 | D3D12_MESSAGE_ID_CREATE_COMMAND_ALLOCATOR_VIDEO_NOT_SUPPORTED = 977, | ||
| 935 | D3D12_MESSAGE_ID_CREATEQUERY_HEAP_VIDEO_DECODE_STATISTICS_NOT_SUPPORTED = 978, | ||
| 936 | D3D12_MESSAGE_ID_CREATE_VIDEODECODECOMMANDLIST = 979, | ||
| 937 | D3D12_MESSAGE_ID_CREATE_VIDEODECODER = 980, | ||
| 938 | D3D12_MESSAGE_ID_CREATE_VIDEODECODESTREAM = 981, | ||
| 939 | D3D12_MESSAGE_ID_LIVE_VIDEODECODECOMMANDLIST = 982, | ||
| 940 | D3D12_MESSAGE_ID_LIVE_VIDEODECODER = 983, | ||
| 941 | D3D12_MESSAGE_ID_LIVE_VIDEODECODESTREAM = 984, | ||
| 942 | D3D12_MESSAGE_ID_DESTROY_VIDEODECODECOMMANDLIST = 985, | ||
| 943 | D3D12_MESSAGE_ID_DESTROY_VIDEODECODER = 986, | ||
| 944 | D3D12_MESSAGE_ID_DESTROY_VIDEODECODESTREAM = 987, | ||
| 945 | D3D12_MESSAGE_ID_DECODE_FRAME_INVALID_PARAMETERS = 988, | ||
| 946 | |||
| 947 | D3D12_MESSAGE_ID_DEPRECATED_API = 989, | ||
| 948 | |||
| 949 | D3D12_MESSAGE_ID_RESOURCE_BARRIER_MISMATCHING_COMMAND_LIST_TYPE = 990, | ||
| 950 | |||
| 951 | D3D12_MESSAGE_ID_COMMAND_LIST_DESCRIPTOR_TABLE_NOT_SET = 991, | ||
| 952 | D3D12_MESSAGE_ID_COMMAND_LIST_ROOT_CONSTANT_BUFFER_VIEW_NOT_SET = 992, | ||
| 953 | D3D12_MESSAGE_ID_COMMAND_LIST_ROOT_SHADER_RESOURCE_VIEW_NOT_SET = 993, | ||
| 954 | D3D12_MESSAGE_ID_COMMAND_LIST_ROOT_UNORDERED_ACCESS_VIEW_NOT_SET = 994, | ||
| 955 | |||
| 956 | D3D12_MESSAGE_ID_DISCARD_INVALID_SUBRESOURCE_RANGE = 995, | ||
| 957 | D3D12_MESSAGE_ID_DISCARD_ONE_SUBRESOURCE_FOR_MIPS_WITH_RECTS = 996, | ||
| 958 | D3D12_MESSAGE_ID_DISCARD_NO_RECTS_FOR_NON_TEXTURE2D = 997, | ||
| 959 | |||
| 960 | D3D12_MESSAGE_ID_COPY_ON_SAME_SUBRESOURCE = 998, | ||
| 961 | |||
| 962 | D3D12_MESSAGE_ID_SETRESIDENCYPRIORITY_INVALID_PAGEABLE = 999, | ||
| 963 | |||
| 964 | D3D12_MESSAGE_ID_GPU_BASED_VALIDATION_UNSUPPORTED = 1000, | ||
| 965 | |||
| 966 | D3D12_MESSAGE_ID_STATIC_DESCRIPTOR_INVALID_DESCRIPTOR_CHANGE = 1001, | ||
| 967 | D3D12_MESSAGE_ID_DATA_STATIC_DESCRIPTOR_INVALID_DATA_CHANGE = 1002, | ||
| 968 | D3D12_MESSAGE_ID_DATA_STATIC_WHILE_SET_AT_EXECUTE_DESCRIPTOR_INVALID_DATA_CHANGE = 1003, | ||
| 969 | D3D12_MESSAGE_ID_EXECUTE_BUNDLE_STATIC_DESCRIPTOR_DATA_STATIC_NOT_SET = 1004, | ||
| 970 | |||
| 971 | D3D12_MESSAGE_ID_GPU_BASED_VALIDATION_RESOURCE_ACCESS_OUT_OF_BOUNDS = 1005, | ||
| 972 | D3D12_MESSAGE_ID_GPU_BASED_VALIDATION_SAMPLER_MODE_MISMATCH = 1006, | ||
| 973 | |||
| 974 | D3D12_MESSAGE_ID_CREATE_FENCE_INVALID_FLAGS = 1007, | ||
| 975 | |||
| 976 | D3D12_MESSAGE_ID_RESOURCE_BARRIER_DUPLICATE_SUBRESOURCE_TRANSITIONS = 1008, | ||
| 977 | D3D12_MESSAGE_ID_SETRESIDENCYPRIORITY_INVALID_PRIORITY = 1009, | ||
| 978 | D3D12_MESSAGE_ID_CREATE_DESCRIPTOR_HEAP_LARGE_NUM_DESCRIPTORS = 1013, | ||
| 979 | |||
| 980 | D3D12_MESSAGE_ID_BEGIN_EVENT = 1014, | ||
| 981 | D3D12_MESSAGE_ID_END_EVENT = 1015, | ||
| 982 | |||
| 983 | D3D12_MESSAGE_ID_CREATEDEVICE_DEBUG_LAYER_STARTUP_OPTIONS = 1016, | ||
| 984 | |||
| 985 | D3D12_MESSAGE_ID_CREATEDEPTHSTENCILSTATE_DEPTHBOUNDSTEST_UNSUPPORTED = 1017, | ||
| 986 | |||
| 987 | D3D12_MESSAGE_ID_CREATEPIPELINESTATE_DUPLICATE_SUBOBJECT = 1018, | ||
| 988 | D3D12_MESSAGE_ID_CREATEPIPELINESTATE_UNKNOWN_SUBOBJECT = 1019, | ||
| 989 | D3D12_MESSAGE_ID_CREATEPIPELINESTATE_ZERO_SIZE_STREAM = 1020, | ||
| 990 | D3D12_MESSAGE_ID_CREATEPIPELINESTATE_INVALID_STREAM = 1021, | ||
| 991 | D3D12_MESSAGE_ID_CREATEPIPELINESTATE_CANNOT_DEDUCE_TYPE = 1022, | ||
| 992 | |||
| 993 | D3D12_MESSAGE_ID_COMMAND_LIST_STATIC_DESCRIPTOR_RESOURCE_DIMENSION_MISMATCH = 1023, | ||
| 994 | |||
| 995 | D3D12_MESSAGE_ID_CREATE_COMMAND_QUEUE_INSUFFICIENT_PRIVILEGE_FOR_GLOBAL_REALTIME = 1024, | ||
| 996 | D3D12_MESSAGE_ID_CREATE_COMMAND_QUEUE_INSUFFICIENT_HARDWARE_SUPPORT_FOR_GLOBAL_REALTIME = 1025, | ||
| 997 | |||
| 998 | D3D12_MESSAGE_ID_ATOMICCOPYBUFFER_INVALID_ARCHITECTURE = 1026, | ||
| 999 | D3D12_MESSAGE_ID_ATOMICCOPYBUFFER_NULL_DST = 1027, | ||
| 1000 | D3D12_MESSAGE_ID_ATOMICCOPYBUFFER_INVALID_DST_RESOURCE_DIMENSION = 1028, | ||
| 1001 | D3D12_MESSAGE_ID_ATOMICCOPYBUFFER_DST_RANGE_OUT_OF_BOUNDS = 1029, | ||
| 1002 | D3D12_MESSAGE_ID_ATOMICCOPYBUFFER_NULL_SRC = 1030, | ||
| 1003 | D3D12_MESSAGE_ID_ATOMICCOPYBUFFER_INVALID_SRC_RESOURCE_DIMENSION = 1031, | ||
| 1004 | D3D12_MESSAGE_ID_ATOMICCOPYBUFFER_SRC_RANGE_OUT_OF_BOUNDS = 1032, | ||
| 1005 | D3D12_MESSAGE_ID_ATOMICCOPYBUFFER_INVALID_OFFSET_ALIGNMENT = 1033, | ||
| 1006 | D3D12_MESSAGE_ID_ATOMICCOPYBUFFER_NULL_DEPENDENT_RESOURCES = 1034, | ||
| 1007 | D3D12_MESSAGE_ID_ATOMICCOPYBUFFER_NULL_DEPENDENT_SUBRESOURCE_RANGES = 1035, | ||
| 1008 | D3D12_MESSAGE_ID_ATOMICCOPYBUFFER_INVALID_DEPENDENT_RESOURCE = 1036, | ||
| 1009 | D3D12_MESSAGE_ID_ATOMICCOPYBUFFER_INVALID_DEPENDENT_SUBRESOURCE_RANGE = 1037, | ||
| 1010 | D3D12_MESSAGE_ID_ATOMICCOPYBUFFER_DEPENDENT_SUBRESOURCE_OUT_OF_BOUNDS = 1038, | ||
| 1011 | D3D12_MESSAGE_ID_ATOMICCOPYBUFFER_DEPENDENT_RANGE_OUT_OF_BOUNDS = 1039, | ||
| 1012 | D3D12_MESSAGE_ID_ATOMICCOPYBUFFER_ZERO_DEPENDENCIES = 1040, | ||
| 1013 | |||
| 1014 | D3D12_MESSAGE_ID_DEVICE_CREATE_SHARED_HANDLE_INVALIDARG = 1041, | ||
| 1015 | |||
| 1016 | D3D12_MESSAGE_ID_DESCRIPTOR_HANDLE_WITH_INVALID_RESOURCE = 1042, | ||
| 1017 | |||
| 1018 | D3D12_MESSAGE_ID_SETDEPTHBOUNDS_INVALIDARGS = 1043, | ||
| 1019 | |||
| 1020 | D3D12_MESSAGE_ID_GPU_BASED_VALIDATION_RESOURCE_STATE_IMPRECISE = 1044, | ||
| 1021 | |||
| 1022 | D3D12_MESSAGE_ID_COMMAND_LIST_PIPELINE_STATE_NOT_SET = 1045, | ||
| 1023 | |||
| 1024 | D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_SHADER_MODEL_MISMATCH = 1046, | ||
| 1025 | |||
| 1026 | D3D12_MESSAGE_ID_OBJECT_ACCESSED_WHILE_STILL_IN_USE = 1047, | ||
| 1027 | |||
| 1028 | D3D12_MESSAGE_ID_PROGRAMMABLE_MSAA_UNSUPPORTED = 1048, | ||
| 1029 | |||
| 1030 | D3D12_MESSAGE_ID_SETSAMPLEPOSITIONS_INVALIDARGS = 1049, | ||
| 1031 | |||
| 1032 | D3D12_MESSAGE_ID_RESOLVESUBRESOURCEREGION_INVALID_RECT = 1050, | ||
| 1033 | |||
| 1034 | D3D12_MESSAGE_ID_CREATE_VIDEODECODECOMMANDQUEUE = 1051, | ||
| 1035 | D3D12_MESSAGE_ID_CREATE_VIDEOPROCESSCOMMANDLIST = 1052, | ||
| 1036 | D3D12_MESSAGE_ID_CREATE_VIDEOPROCESSCOMMANDQUEUE = 1053, | ||
| 1037 | D3D12_MESSAGE_ID_LIVE_VIDEODECODECOMMANDQUEUE = 1054, | ||
| 1038 | D3D12_MESSAGE_ID_LIVE_VIDEOPROCESSCOMMANDLIST = 1055, | ||
| 1039 | D3D12_MESSAGE_ID_LIVE_VIDEOPROCESSCOMMANDQUEUE = 1056, | ||
| 1040 | D3D12_MESSAGE_ID_DESTROY_VIDEODECODECOMMANDQUEUE = 1057, | ||
| 1041 | D3D12_MESSAGE_ID_DESTROY_VIDEOPROCESSCOMMANDLIST = 1058, | ||
| 1042 | D3D12_MESSAGE_ID_DESTROY_VIDEOPROCESSCOMMANDQUEUE = 1059, | ||
| 1043 | D3D12_MESSAGE_ID_CREATE_VIDEOPROCESSOR = 1060, | ||
| 1044 | D3D12_MESSAGE_ID_CREATE_VIDEOPROCESSSTREAM = 1061, | ||
| 1045 | D3D12_MESSAGE_ID_LIVE_VIDEOPROCESSOR = 1062, | ||
| 1046 | D3D12_MESSAGE_ID_LIVE_VIDEOPROCESSSTREAM = 1063, | ||
| 1047 | D3D12_MESSAGE_ID_DESTROY_VIDEOPROCESSOR = 1064, | ||
| 1048 | D3D12_MESSAGE_ID_DESTROY_VIDEOPROCESSSTREAM = 1065, | ||
| 1049 | |||
| 1050 | D3D12_MESSAGE_ID_PROCESS_FRAME_INVALID_PARAMETERS = 1066, | ||
| 1051 | |||
| 1052 | D3D12_MESSAGE_ID_COPY_INVALIDLAYOUT = 1067, | ||
| 1053 | |||
| 1054 | D3D12_MESSAGE_ID_CREATE_CRYPTO_SESSION = 1068, | ||
| 1055 | D3D12_MESSAGE_ID_CREATE_CRYPTO_SESSION_POLICY = 1069, | ||
| 1056 | D3D12_MESSAGE_ID_CREATE_PROTECTED_RESOURCE_SESSION = 1070, | ||
| 1057 | D3D12_MESSAGE_ID_LIVE_CRYPTO_SESSION = 1071, | ||
| 1058 | D3D12_MESSAGE_ID_LIVE_CRYPTO_SESSION_POLICY = 1072, | ||
| 1059 | D3D12_MESSAGE_ID_LIVE_PROTECTED_RESOURCE_SESSION = 1073, | ||
| 1060 | D3D12_MESSAGE_ID_DESTROY_CRYPTO_SESSION = 1074, | ||
| 1061 | D3D12_MESSAGE_ID_DESTROY_CRYPTO_SESSION_POLICY = 1075, | ||
| 1062 | D3D12_MESSAGE_ID_DESTROY_PROTECTED_RESOURCE_SESSION = 1076, | ||
| 1063 | D3D12_MESSAGE_ID_PROTECTED_RESOURCE_SESSION_UNSUPPORTED = 1077, | ||
| 1064 | |||
| 1065 | D3D12_MESSAGE_ID_FENCE_INVALIDOPERATION = 1078, | ||
| 1066 | |||
| 1067 | D3D12_MESSAGE_ID_CREATEQUERY_HEAP_COPY_QUEUE_TIMESTAMPS_NOT_SUPPORTED = 1079, | ||
| 1068 | |||
| 1069 | D3D12_MESSAGE_ID_SAMPLEPOSITIONS_MISMATCH_DEFERRED = 1080, | ||
| 1070 | D3D12_MESSAGE_ID_SAMPLEPOSITIONS_MISMATCH_RECORDTIME_ASSUMEDFROMFIRSTUSE = 1081, | ||
| 1071 | D3D12_MESSAGE_ID_SAMPLEPOSITIONS_MISMATCH_RECORDTIME_ASSUMEDFROMCLEAR = 1082, | ||
| 1072 | |||
| 1073 | D3D12_MESSAGE_ID_CREATE_VIDEODECODERHEAP = 1083, | ||
| 1074 | D3D12_MESSAGE_ID_LIVE_VIDEODECODERHEAP = 1084, | ||
| 1075 | D3D12_MESSAGE_ID_DESTROY_VIDEODECODERHEAP = 1085, | ||
| 1076 | |||
| 1077 | D3D12_MESSAGE_ID_OPENEXISTINGHEAP_INVALIDARG_RETURN = 1086, | ||
| 1078 | D3D12_MESSAGE_ID_OPENEXISTINGHEAP_OUTOFMEMORY_RETURN = 1087, | ||
| 1079 | D3D12_MESSAGE_ID_OPENEXISTINGHEAP_INVALIDADDRESS = 1088, | ||
| 1080 | D3D12_MESSAGE_ID_OPENEXISTINGHEAP_INVALIDHANDLE = 1089, | ||
| 1081 | |||
| 1082 | D3D12_MESSAGE_ID_WRITEBUFFERIMMEDIATE_INVALID_DEST = 1090, | ||
| 1083 | D3D12_MESSAGE_ID_WRITEBUFFERIMMEDIATE_INVALID_MODE = 1091, | ||
| 1084 | D3D12_MESSAGE_ID_WRITEBUFFERIMMEDIATE_INVALID_ALIGNMENT = 1092, | ||
| 1085 | D3D12_MESSAGE_ID_WRITEBUFFERIMMEDIATE_NOT_SUPPORTED = 1093, | ||
| 1086 | |||
| 1087 | D3D12_MESSAGE_ID_SETVIEWINSTANCEMASK_INVALIDARGS = 1094, | ||
| 1088 | D3D12_MESSAGE_ID_VIEW_INSTANCING_UNSUPPORTED = 1095, | ||
| 1089 | D3D12_MESSAGE_ID_VIEW_INSTANCING_INVALIDARGS = 1096, | ||
| 1090 | |||
| 1091 | D3D12_MESSAGE_ID_COPYTEXTUREREGION_MISMATCH_DECODE_REFERENCE_ONLY_FLAG = 1097, | ||
| 1092 | D3D12_MESSAGE_ID_COPYRESOURCE_MISMATCH_DECODE_REFERENCE_ONLY_FLAG = 1098, | ||
| 1093 | |||
| 1094 | D3D12_MESSAGE_ID_CREATE_VIDEO_DECODE_HEAP_CAPS_FAILURE = 1099, | ||
| 1095 | D3D12_MESSAGE_ID_CREATE_VIDEO_DECODE_HEAP_CAPS_UNSUPPORTED = 1100, | ||
| 1096 | D3D12_MESSAGE_ID_VIDEO_DECODE_SUPPORT_INVALID_INPUT = 1101, | ||
| 1097 | D3D12_MESSAGE_ID_CREATE_VIDEO_DECODER_UNSUPPORTED = 1102, | ||
| 1098 | |||
| 1099 | D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_METADATA_ERROR = 1103, | ||
| 1100 | D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_VIEW_INSTANCING_VERTEX_SIZE_EXCEEDED = 1104, | ||
| 1101 | D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_RUNTIME_INTERNAL_ERROR = 1105, | ||
| 1102 | |||
| 1103 | D3D12_MESSAGE_ID_NO_VIDEO_API_SUPPORT = 1106, | ||
| 1104 | |||
| 1105 | D3D12_MESSAGE_ID_VIDEO_PROCESS_SUPPORT_INVALID_INPUT = 1107, | ||
| 1106 | D3D12_MESSAGE_ID_CREATE_VIDEO_PROCESSOR_CAPS_FAILURE = 1108, | ||
| 1107 | D3D12_MESSAGE_ID_VIDEO_PROCESS_SUPPORT_UNSUPPORTED_FORMAT = 1109, | ||
| 1108 | |||
| 1109 | D3D12_MESSAGE_ID_VIDEO_DECODE_FRAME_INVALID_ARGUMENT = 1110, | ||
| 1110 | |||
| 1111 | D3D12_MESSAGE_ID_ENQUEUE_MAKE_RESIDENT_INVALID_FLAGS = 1111, | ||
| 1112 | D3D12_MESSAGE_ID_OPENEXISTINGHEAP_UNSUPPORTED = 1112, | ||
| 1113 | |||
| 1114 | D3D12_MESSAGE_ID_VIDEO_PROCESS_FRAMES_INVALID_ARGUMENT = 1113, | ||
| 1115 | |||
| 1116 | D3D12_MESSAGE_ID_VIDEO_DECODE_SUPPORT_UNSUPPORTED = 1114, | ||
| 1117 | |||
| 1118 | D3D12_MESSAGE_ID_CREATE_COMMANDRECORDER = 1115, | ||
| 1119 | D3D12_MESSAGE_ID_LIVE_COMMANDRECORDER = 1116, | ||
| 1120 | D3D12_MESSAGE_ID_DESTROY_COMMANDRECORDER = 1117, | ||
| 1121 | D3D12_MESSAGE_ID_CREATE_COMMAND_RECORDER_VIDEO_NOT_SUPPORTED = 1118, | ||
| 1122 | D3D12_MESSAGE_ID_CREATE_COMMAND_RECORDER_INVALID_SUPPORT_FLAGS = 1119, | ||
| 1123 | D3D12_MESSAGE_ID_CREATE_COMMAND_RECORDER_INVALID_FLAGS = 1120, | ||
| 1124 | D3D12_MESSAGE_ID_CREATE_COMMAND_RECORDER_MORE_RECORDERS_THAN_LOGICAL_PROCESSORS = 1121, | ||
| 1125 | |||
| 1126 | D3D12_MESSAGE_ID_CREATE_COMMANDPOOL = 1122, | ||
| 1127 | D3D12_MESSAGE_ID_LIVE_COMMANDPOOL = 1123, | ||
| 1128 | D3D12_MESSAGE_ID_DESTROY_COMMANDPOOL = 1124, | ||
| 1129 | D3D12_MESSAGE_ID_CREATE_COMMAND_POOL_INVALID_FLAGS = 1125, | ||
| 1130 | |||
| 1131 | D3D12_MESSAGE_ID_CREATE_COMMAND_LIST_VIDEO_NOT_SUPPORTED = 1126, | ||
| 1132 | |||
| 1133 | D3D12_MESSAGE_ID_COMMAND_RECORDER_SUPPORT_FLAGS_MISMATCH = 1127, | ||
| 1134 | D3D12_MESSAGE_ID_COMMAND_RECORDER_CONTENTION = 1128, | ||
| 1135 | |||
| 1136 | D3D12_MESSAGE_ID_COMMAND_RECORDER_USAGE_WITH_CREATECOMMANDLIST_COMMAND_LIST = 1129, | ||
| 1137 | D3D12_MESSAGE_ID_COMMAND_ALLOCATOR_USAGE_WITH_CREATECOMMANDLIST1_COMMAND_LIST = 1130, | ||
| 1138 | D3D12_MESSAGE_ID_CANNOT_EXECUTE_EMPTY_COMMAND_LIST = 1131, | ||
| 1139 | |||
| 1140 | D3D12_MESSAGE_ID_CANNOT_RESET_COMMAND_POOL_WITH_OPEN_COMMAND_LISTS = 1132, | ||
| 1141 | D3D12_MESSAGE_ID_CANNOT_USE_COMMAND_RECORDER_WITHOUT_CURRENT_TARGET = 1133, | ||
| 1142 | D3D12_MESSAGE_ID_CANNOT_CHANGE_COMMAND_RECORDER_TARGET_WHILE_RECORDING = 1134, | ||
| 1143 | D3D12_MESSAGE_ID_COMMAND_POOL_SYNC = 1135, | ||
| 1144 | |||
| 1145 | D3D12_MESSAGE_ID_EVICT_UNDERFLOW = 1136, | ||
| 1146 | |||
| 1147 | D3D12_MESSAGE_ID_CREATE_META_COMMAND = 1137, | ||
| 1148 | D3D12_MESSAGE_ID_LIVE_META_COMMAND = 1138, | ||
| 1149 | D3D12_MESSAGE_ID_DESTROY_META_COMMAND = 1139, | ||
| 1150 | D3D12_MESSAGE_ID_COPYBUFFERREGION_INVALID_DST_RESOURCE = 1140, | ||
| 1151 | D3D12_MESSAGE_ID_COPYBUFFERREGION_INVALID_SRC_RESOURCE = 1141, | ||
| 1152 | D3D12_MESSAGE_ID_ATOMICCOPYBUFFER_INVALID_DST_RESOURCE = 1142, | ||
| 1153 | D3D12_MESSAGE_ID_ATOMICCOPYBUFFER_INVALID_SRC_RESOURCE = 1143, | ||
| 1154 | D3D12_MESSAGE_ID_CREATEPLACEDRESOURCEONBUFFER_NULL_BUFFER = 1144, | ||
| 1155 | D3D12_MESSAGE_ID_CREATEPLACEDRESOURCEONBUFFER_NULL_RESOURCE_DESC = 1145, | ||
| 1156 | D3D12_MESSAGE_ID_CREATEPLACEDRESOURCEONBUFFER_UNSUPPORTED = 1146, | ||
| 1157 | D3D12_MESSAGE_ID_CREATEPLACEDRESOURCEONBUFFER_INVALID_BUFFER_DIMENSION = 1147, | ||
| 1158 | D3D12_MESSAGE_ID_CREATEPLACEDRESOURCEONBUFFER_INVALID_BUFFER_FLAGS = 1148, | ||
| 1159 | D3D12_MESSAGE_ID_CREATEPLACEDRESOURCEONBUFFER_INVALID_BUFFER_OFFSET = 1149, | ||
| 1160 | D3D12_MESSAGE_ID_CREATEPLACEDRESOURCEONBUFFER_INVALID_RESOURCE_DIMENSION = 1150, | ||
| 1161 | D3D12_MESSAGE_ID_CREATEPLACEDRESOURCEONBUFFER_INVALID_RESOURCE_FLAGS = 1151, | ||
| 1162 | D3D12_MESSAGE_ID_CREATEPLACEDRESOURCEONBUFFER_OUTOFMEMORY_RETURN = 1152, | ||
| 1163 | |||
| 1164 | D3D12_MESSAGE_ID_CANNOT_CREATE_GRAPHICS_AND_VIDEO_COMMAND_RECORDER = 1153, | ||
| 1165 | D3D12_MESSAGE_ID_UPDATETILEMAPPINGS_POSSIBLY_MISMATCHING_PROPERTIES = 1154, | ||
| 1166 | |||
| 1167 | D3D12_MESSAGE_ID_CREATE_COMMAND_LIST_INVALID_COMMAND_LIST_TYPE = 1155, | ||
| 1168 | |||
| 1169 | D3D12_MESSAGE_ID_CLEARUNORDEREDACCESSVIEW_INCOMPATIBLE_WITH_STRUCTURED_BUFFERS = 1156, | ||
| 1170 | |||
| 1171 | D3D12_MESSAGE_ID_COMPUTE_ONLY_DEVICE_OPERATION_UNSUPPORTED = 1157, | ||
| 1172 | |||
| 1173 | D3D12_MESSAGE_ID_BUILD_RAYTRACING_ACCELERATION_STRUCTURE_INVALID = 1158, | ||
| 1174 | D3D12_MESSAGE_ID_EMIT_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_INVALID = 1159, | ||
| 1175 | D3D12_MESSAGE_ID_COPY_RAYTRACING_ACCELERATION_STRUCTURE_INVALID = 1160, | ||
| 1176 | D3D12_MESSAGE_ID_DISPATCH_RAYS_INVALID = 1161, | ||
| 1177 | D3D12_MESSAGE_ID_GET_RAYTRACING_ACCELERATION_STRUCTURE_PREBUILD_INFO_INVALID = 1162, | ||
| 1178 | |||
| 1179 | D3D12_MESSAGE_ID_CREATE_LIFETIMETRACKER = 1163, | ||
| 1180 | D3D12_MESSAGE_ID_LIVE_LIFETIMETRACKER = 1164, | ||
| 1181 | D3D12_MESSAGE_ID_DESTROY_LIFETIMETRACKER = 1165, | ||
| 1182 | D3D12_MESSAGE_ID_DESTROYOWNEDOBJECT_OBJECTNOTOWNED = 1166, | ||
| 1183 | |||
| 1184 | D3D12_MESSAGE_ID_CREATE_TRACKEDWORKLOAD = 1167, | ||
| 1185 | D3D12_MESSAGE_ID_LIVE_TRACKEDWORKLOAD = 1168, | ||
| 1186 | D3D12_MESSAGE_ID_DESTROY_TRACKEDWORKLOAD = 1169, | ||
| 1187 | |||
| 1188 | D3D12_MESSAGE_ID_RENDER_PASS_ERROR = 1170, | ||
| 1189 | |||
| 1190 | D3D12_MESSAGE_ID_META_COMMAND_ID_INVALID = 1171, | ||
| 1191 | D3D12_MESSAGE_ID_META_COMMAND_UNSUPPORTED_PARAMS = 1172, | ||
| 1192 | D3D12_MESSAGE_ID_META_COMMAND_FAILED_ENUMERATION = 1173, | ||
| 1193 | D3D12_MESSAGE_ID_META_COMMAND_PARAMETER_SIZE_MISMATCH = 1174, | ||
| 1194 | D3D12_MESSAGE_ID_UNINITIALIZED_META_COMMAND = 1175, | ||
| 1195 | D3D12_MESSAGE_ID_META_COMMAND_INVALID_GPU_VIRTUAL_ADDRESS = 1176, | ||
| 1196 | |||
| 1197 | D3D12_MESSAGE_ID_CREATE_VIDEOENCODECOMMANDLIST = 1177, | ||
| 1198 | D3D12_MESSAGE_ID_LIVE_VIDEOENCODECOMMANDLIST = 1178, | ||
| 1199 | D3D12_MESSAGE_ID_DESTROY_VIDEOENCODECOMMANDLIST = 1179, | ||
| 1200 | |||
| 1201 | D3D12_MESSAGE_ID_CREATE_VIDEOENCODECOMMANDQUEUE = 1180, | ||
| 1202 | D3D12_MESSAGE_ID_LIVE_VIDEOENCODECOMMANDQUEUE = 1181, | ||
| 1203 | D3D12_MESSAGE_ID_DESTROY_VIDEOENCODECOMMANDQUEUE = 1182, | ||
| 1204 | |||
| 1205 | D3D12_MESSAGE_ID_CREATE_VIDEOMOTIONESTIMATOR = 1183, | ||
| 1206 | D3D12_MESSAGE_ID_LIVE_VIDEOMOTIONESTIMATOR = 1184, | ||
| 1207 | D3D12_MESSAGE_ID_DESTROY_VIDEOMOTIONESTIMATOR = 1185, | ||
| 1208 | |||
| 1209 | D3D12_MESSAGE_ID_CREATE_VIDEOMOTIONVECTORHEAP = 1186, | ||
| 1210 | D3D12_MESSAGE_ID_LIVE_VIDEOMOTIONVECTORHEAP = 1187, | ||
| 1211 | D3D12_MESSAGE_ID_DESTROY_VIDEOMOTIONVECTORHEAP = 1188, | ||
| 1212 | |||
| 1213 | D3D12_MESSAGE_ID_MULTIPLE_TRACKED_WORKLOADS = 1189, | ||
| 1214 | D3D12_MESSAGE_ID_MULTIPLE_TRACKED_WORKLOAD_PAIRS = 1190, | ||
| 1215 | D3D12_MESSAGE_ID_OUT_OF_ORDER_TRACKED_WORKLOAD_PAIR = 1191, | ||
| 1216 | D3D12_MESSAGE_ID_CANNOT_ADD_TRACKED_WORKLOAD = 1192, | ||
| 1217 | D3D12_MESSAGE_ID_INCOMPLETE_TRACKED_WORKLOAD_PAIR = 1193, | ||
| 1218 | D3D12_MESSAGE_ID_CREATE_STATE_OBJECT_ERROR = 1194, | ||
| 1219 | D3D12_MESSAGE_ID_GET_SHADER_IDENTIFIER_ERROR = 1195, | ||
| 1220 | D3D12_MESSAGE_ID_GET_SHADER_STACK_SIZE_ERROR = 1196, | ||
| 1221 | D3D12_MESSAGE_ID_GET_PIPELINE_STACK_SIZE_ERROR = 1197, | ||
| 1222 | D3D12_MESSAGE_ID_SET_PIPELINE_STACK_SIZE_ERROR = 1198, | ||
| 1223 | D3D12_MESSAGE_ID_GET_SHADER_IDENTIFIER_SIZE_INVALID = 1199, | ||
| 1224 | D3D12_MESSAGE_ID_CHECK_DRIVER_MATCHING_IDENTIFIER_INVALID = 1200, | ||
| 1225 | D3D12_MESSAGE_ID_CHECK_DRIVER_MATCHING_IDENTIFIER_DRIVER_REPORTED_ISSUE = 1201, | ||
| 1226 | |||
| 1227 | D3D12_MESSAGE_ID_RENDER_PASS_INVALID_RESOURCE_BARRIER = 1202, | ||
| 1228 | D3D12_MESSAGE_ID_RENDER_PASS_DISALLOWED_API_CALLED = 1203, | ||
| 1229 | D3D12_MESSAGE_ID_RENDER_PASS_CANNOT_NEST_RENDER_PASSES = 1204, | ||
| 1230 | D3D12_MESSAGE_ID_RENDER_PASS_CANNOT_END_WITHOUT_BEGIN = 1205, | ||
| 1231 | D3D12_MESSAGE_ID_RENDER_PASS_CANNOT_CLOSE_COMMAND_LIST = 1206, | ||
| 1232 | D3D12_MESSAGE_ID_RENDER_PASS_GPU_WORK_WHILE_SUSPENDED = 1207, | ||
| 1233 | D3D12_MESSAGE_ID_RENDER_PASS_MISMATCHING_SUSPEND_RESUME = 1208, | ||
| 1234 | D3D12_MESSAGE_ID_RENDER_PASS_NO_PRIOR_SUSPEND_WITHIN_EXECUTECOMMANDLISTS = 1209, | ||
| 1235 | D3D12_MESSAGE_ID_RENDER_PASS_NO_SUBSEQUENT_RESUME_WITHIN_EXECUTECOMMANDLISTS = 1210, | ||
| 1236 | |||
| 1237 | D3D12_MESSAGE_ID_TRACKED_WORKLOAD_COMMAND_QUEUE_MISMATCH = 1211, | ||
| 1238 | D3D12_MESSAGE_ID_TRACKED_WORKLOAD_NOT_SUPPORTED = 1212, | ||
| 1239 | |||
| 1240 | D3D12_MESSAGE_ID_RENDER_PASS_MISMATCHING_NO_ACCESS = 1213, | ||
| 1241 | D3D12_MESSAGE_ID_RENDER_PASS_UNSUPPORTED_RESOLVE = 1214, | ||
| 1242 | |||
| 1243 | D3D12_MESSAGE_ID_CLEARUNORDEREDACCESSVIEW_INVALID_RESOURCE_PTR = 1215, | ||
| 1244 | |||
| 1245 | D3D12_MESSAGE_ID_WINDOWS7_FENCE_OUTOFORDER_SIGNAL = 1216, | ||
| 1246 | D3D12_MESSAGE_ID_WINDOWS7_FENCE_OUTOFORDER_WAIT = 1217, | ||
| 1247 | |||
| 1248 | D3D12_MESSAGE_ID_VIDEO_CREATE_MOTION_ESTIMATOR_INVALID_ARGUMENT = 1218, | ||
| 1249 | D3D12_MESSAGE_ID_VIDEO_CREATE_MOTION_VECTOR_HEAP_INVALID_ARGUMENT = 1219, | ||
| 1250 | D3D12_MESSAGE_ID_ESTIMATE_MOTION_INVALID_ARGUMENT = 1220, | ||
| 1251 | D3D12_MESSAGE_ID_RESOLVE_MOTION_VECTOR_HEAP_INVALID_ARGUMENT = 1221, | ||
| 1252 | |||
| 1253 | D3D12_MESSAGE_ID_GETGPUVIRTUALADDRESS_INVALID_HEAP_TYPE = 1222, | ||
| 1254 | D3D12_MESSAGE_ID_SET_BACKGROUND_PROCESSING_MODE_INVALID_ARGUMENT = 1223, | ||
| 1255 | D3D12_MESSAGE_ID_CREATE_COMMAND_LIST_INVALID_COMMAND_LIST_TYPE_FOR_FEATURE_LEVEL = 1224, | ||
| 1256 | |||
| 1257 | D3D12_MESSAGE_ID_CREATE_VIDEOEXTENSIONCOMMAND = 1225, | ||
| 1258 | D3D12_MESSAGE_ID_LIVE_VIDEOEXTENSIONCOMMAND = 1226, | ||
| 1259 | D3D12_MESSAGE_ID_DESTROY_VIDEOEXTENSIONCOMMAND = 1227, | ||
| 1260 | D3D12_MESSAGE_ID_INVALID_VIDEO_EXTENSION_COMMAND_ID = 1228, | ||
| 1261 | D3D12_MESSAGE_ID_VIDEO_EXTENSION_COMMAND_INVALID_ARGUMENT = 1229, | ||
| 1262 | |||
| 1263 | D3D12_MESSAGE_ID_CREATE_ROOT_SIGNATURE_NOT_UNIQUE_IN_DXIL_LIBRARY = 1230, | ||
| 1264 | |||
| 1265 | D3D12_MESSAGE_ID_VARIABLE_SHADING_RATE_NOT_ALLOWED_WITH_TIR = 1231, | ||
| 1266 | D3D12_MESSAGE_ID_GEOMETRY_SHADER_OUTPUTTING_BOTH_VIEWPORT_ARRAY_INDEX_AND_SHADING_RATE_NOT_SUPPORTED_ON_DEVICE = 1232, | ||
| 1267 | D3D12_MESSAGE_ID_RSSETSHADING_RATE_INVALID_SHADING_RATE = 1233, | ||
| 1268 | D3D12_MESSAGE_ID_RSSETSHADING_RATE_SHADING_RATE_NOT_PERMITTED_BY_CAP = 1234, | ||
| 1269 | D3D12_MESSAGE_ID_RSSETSHADING_RATE_INVALID_COMBINER = 1235, | ||
| 1270 | D3D12_MESSAGE_ID_RSSETSHADINGRATEIMAGE_REQUIRES_TIER_2 = 1236, | ||
| 1271 | D3D12_MESSAGE_ID_RSSETSHADINGRATE_REQUIRES_TIER_1 = 1237, | ||
| 1272 | D3D12_MESSAGE_ID_SHADING_RATE_IMAGE_INCORRECT_FORMAT = 1238, | ||
| 1273 | D3D12_MESSAGE_ID_SHADING_RATE_IMAGE_INCORRECT_ARRAY_SIZE = 1239, | ||
| 1274 | D3D12_MESSAGE_ID_SHADING_RATE_IMAGE_INCORRECT_MIP_LEVEL = 1240, | ||
| 1275 | D3D12_MESSAGE_ID_SHADING_RATE_IMAGE_INCORRECT_SAMPLE_COUNT = 1241, | ||
| 1276 | D3D12_MESSAGE_ID_SHADING_RATE_IMAGE_INCORRECT_SAMPLE_QUALITY = 1242, | ||
| 1277 | |||
| 1278 | D3D12_MESSAGE_ID_NON_RETAIL_SHADER_MODEL_WONT_VALIDATE = 1243, | ||
| 1279 | |||
| 1280 | D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_AS_ROOT_SIGNATURE_MISMATCH = 1244, | ||
| 1281 | D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_MS_ROOT_SIGNATURE_MISMATCH = 1245, | ||
| 1282 | |||
| 1283 | D3D12_MESSAGE_ID_ADD_TO_STATE_OBJECT_ERROR = 1246, | ||
| 1284 | |||
| 1285 | D3D12_MESSAGE_ID_CREATE_PROTECTED_RESOURCE_SESSION_INVALID_ARGUMENT = 1247, | ||
| 1286 | |||
| 1287 | D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_MS_PSO_DESC_MISMATCH = 1248, | ||
| 1288 | D3D12_MESSAGE_ID_CREATEPIPELINESTATE_MS_INCOMPLETE_TYPE = 1249, | ||
| 1289 | D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_AS_NOT_MS_MISMATCH = 1250, | ||
| 1290 | D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_MS_NOT_PS_MISMATCH = 1251, | ||
| 1291 | D3D12_MESSAGE_ID_NONZERO_SAMPLER_FEEDBACK_MIP_REGION_WITH_INCOMPATIBLE_FORMAT = 1252, | ||
| 1292 | D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_INPUTLAYOUT_SHADER_MISMATCH = 1253, | ||
| 1293 | |||
| 1294 | D3D12_MESSAGE_ID_EMPTY_DISPATCH = 1254, | ||
| 1295 | |||
| 1296 | |||
| 1297 | D3D12_MESSAGE_ID_RESOURCE_FORMAT_REQUIRES_SAMPLER_FEEDBACK_CAPABILITY = 1255, | ||
| 1298 | D3D12_MESSAGE_ID_SAMPLER_FEEDBACK_MAP_INVALID_MIP_REGION = 1256, | ||
| 1299 | D3D12_MESSAGE_ID_SAMPLER_FEEDBACK_MAP_INVALID_DIMENSION = 1257, | ||
| 1300 | D3D12_MESSAGE_ID_SAMPLER_FEEDBACK_MAP_INVALID_SAMPLE_COUNT = 1258, | ||
| 1301 | D3D12_MESSAGE_ID_SAMPLER_FEEDBACK_MAP_INVALID_SAMPLE_QUALITY = 1259, | ||
| 1302 | D3D12_MESSAGE_ID_SAMPLER_FEEDBACK_MAP_INVALID_LAYOUT = 1260, | ||
| 1303 | D3D12_MESSAGE_ID_SAMPLER_FEEDBACK_MAP_REQUIRES_UNORDERED_ACCESS_FLAG = 1261, | ||
| 1304 | D3D12_MESSAGE_ID_SAMPLER_FEEDBACK_CREATE_UAV_NULL_ARGUMENTS = 1262, | ||
| 1305 | D3D12_MESSAGE_ID_SAMPLER_FEEDBACK_UAV_REQUIRES_SAMPLER_FEEDBACK_CAPABILITY = 1263, | ||
| 1306 | D3D12_MESSAGE_ID_SAMPLER_FEEDBACK_CREATE_UAV_REQUIRES_FEEDBACK_MAP_FORMAT = 1264, | ||
| 1307 | |||
| 1308 | D3D12_MESSAGE_ID_CREATEMESHSHADER_INVALIDSHADERBYTECODE = 1265, | ||
| 1309 | D3D12_MESSAGE_ID_CREATEMESHSHADER_OUTOFMEMORY = 1266, | ||
| 1310 | D3D12_MESSAGE_ID_CREATEMESHSHADERWITHSTREAMOUTPUT_INVALIDSHADERTYPE = 1267, | ||
| 1311 | |||
| 1312 | D3D12_MESSAGE_ID_RESOLVESUBRESOURCE_SAMPLER_FEEDBACK_TRANSCODE_INVALID_FORMAT = 1268, | ||
| 1313 | D3D12_MESSAGE_ID_RESOLVESUBRESOURCE_SAMPLER_FEEDBACK_INVALID_MIP_LEVEL_COUNT = 1269, | ||
| 1314 | D3D12_MESSAGE_ID_RESOLVESUBRESOURCE_SAMPLER_FEEDBACK_TRANSCODE_ARRAY_SIZE_MISMATCH = 1270, | ||
| 1315 | |||
| 1316 | D3D12_MESSAGE_ID_SAMPLER_FEEDBACK_CREATE_UAV_MISMATCHING_TARGETED_RESOURCE = 1271, | ||
| 1317 | |||
| 1318 | D3D12_MESSAGE_ID_CREATEMESHSHADER_OUTPUTEXCEEDSMAXSIZE = 1272, | ||
| 1319 | D3D12_MESSAGE_ID_CREATEMESHSHADER_GROUPSHAREDEXCEEDSMAXSIZE = 1273, | ||
| 1320 | |||
| 1321 | D3D12_MESSAGE_ID_VERTEX_SHADER_OUTPUTTING_BOTH_VIEWPORT_ARRAY_INDEX_AND_SHADING_RATE_NOT_SUPPORTED_ON_DEVICE = 1274, | ||
| 1322 | D3D12_MESSAGE_ID_MESH_SHADER_OUTPUTTING_BOTH_VIEWPORT_ARRAY_INDEX_AND_SHADING_RATE_NOT_SUPPORTED_ON_DEVICE = 1275, | ||
| 1323 | D3D12_MESSAGE_ID_CREATEMESHSHADER_MISMATCHEDASMSPAYLOADSIZE = 1276, | ||
| 1324 | |||
| 1325 | D3D12_MESSAGE_ID_CREATE_ROOT_SIGNATURE_UNBOUNDED_STATIC_DESCRIPTORS = 1277, | ||
| 1326 | |||
| 1327 | D3D12_MESSAGE_ID_CREATEAMPLIFICATIONSHADER_INVALIDSHADERBYTECODE = 1278, | ||
| 1328 | D3D12_MESSAGE_ID_CREATEAMPLIFICATIONSHADER_OUTOFMEMORY = 1279, | ||
| 1329 | |||
| 1330 | D3D12_MESSAGE_ID_CREATE_SHADERCACHESESSION = 1280, | ||
| 1331 | D3D12_MESSAGE_ID_LIVE_SHADERCACHESESSION = 1281, | ||
| 1332 | D3D12_MESSAGE_ID_DESTROY_SHADERCACHESESSION = 1282, | ||
| 1333 | |||
| 1334 | D3D12_MESSAGE_ID_CREATESHADERCACHESESSION_INVALIDARGS = 1283, | ||
| 1335 | D3D12_MESSAGE_ID_CREATESHADERCACHESESSION_DISABLED = 1284, | ||
| 1336 | D3D12_MESSAGE_ID_CREATESHADERCACHESESSION_ALREADYOPEN = 1285, | ||
| 1337 | |||
| 1338 | D3D12_MESSAGE_ID_SHADERCACHECONTROL_DEVELOPERMODE = 1286, | ||
| 1339 | D3D12_MESSAGE_ID_SHADERCACHECONTROL_INVALIDFLAGS = 1287, | ||
| 1340 | D3D12_MESSAGE_ID_SHADERCACHECONTROL_STATEALREADYSET = 1288, | ||
| 1341 | D3D12_MESSAGE_ID_SHADERCACHECONTROL_IGNOREDFLAG = 1289, | ||
| 1342 | |||
| 1343 | D3D12_MESSAGE_ID_SHADERCACHESESSION_STOREVALUE_ALREADYPRESENT = 1290, | ||
| 1344 | D3D12_MESSAGE_ID_SHADERCACHESESSION_STOREVALUE_HASHCOLLISION = 1291, | ||
| 1345 | D3D12_MESSAGE_ID_SHADERCACHESESSION_STOREVALUE_CACHEFULL = 1292, | ||
| 1346 | D3D12_MESSAGE_ID_SHADERCACHESESSION_FINDVALUE_NOTFOUND = 1293, | ||
| 1347 | D3D12_MESSAGE_ID_SHADERCACHESESSION_CORRUPT = 1294, | ||
| 1348 | D3D12_MESSAGE_ID_SHADERCACHESESSION_DISABLED = 1295, | ||
| 1349 | |||
| 1350 | D3D12_MESSAGE_ID_OVERSIZED_DISPATCH = 1296, | ||
| 1351 | D3D12_MESSAGE_ID_CREATE_VIDEOENCODER = 1297, | ||
| 1352 | D3D12_MESSAGE_ID_LIVE_VIDEOENCODER = 1298, | ||
| 1353 | D3D12_MESSAGE_ID_DESTROY_VIDEOENCODER = 1299, | ||
| 1354 | D3D12_MESSAGE_ID_CREATE_VIDEOENCODERHEAP = 1300, | ||
| 1355 | D3D12_MESSAGE_ID_LIVE_VIDEOENCODERHEAP = 1301, | ||
| 1356 | D3D12_MESSAGE_ID_DESTROY_VIDEOENCODERHEAP = 1302, | ||
| 1357 | |||
| 1358 | D3D12_MESSAGE_ID_COPYTEXTUREREGION_MISMATCH_ENCODE_REFERENCE_ONLY_FLAG = 1303, | ||
| 1359 | D3D12_MESSAGE_ID_COPYRESOURCE_MISMATCH_ENCODE_REFERENCE_ONLY_FLAG = 1304, | ||
| 1360 | D3D12_MESSAGE_ID_ENCODE_FRAME_INVALID_PARAMETERS = 1305, | ||
| 1361 | D3D12_MESSAGE_ID_ENCODE_FRAME_UNSUPPORTED_PARAMETERS = 1306, | ||
| 1362 | D3D12_MESSAGE_ID_RESOLVE_ENCODER_OUTPUT_METADATA_INVALID_PARAMETERS = 1307, | ||
| 1363 | D3D12_MESSAGE_ID_RESOLVE_ENCODER_OUTPUT_METADATA_UNSUPPORTED_PARAMETERS = 1308, | ||
| 1364 | D3D12_MESSAGE_ID_CREATE_VIDEO_ENCODER_INVALID_PARAMETERS = 1309, | ||
| 1365 | D3D12_MESSAGE_ID_CREATE_VIDEO_ENCODER_UNSUPPORTED_PARAMETERS = 1310, | ||
| 1366 | D3D12_MESSAGE_ID_CREATE_VIDEO_ENCODER_HEAP_INVALID_PARAMETERS = 1311, | ||
| 1367 | D3D12_MESSAGE_ID_CREATE_VIDEO_ENCODER_HEAP_UNSUPPORTED_PARAMETERS = 1312, | ||
| 1368 | D3D12_MESSAGE_ID_CREATECOMMANDLIST_NULL_COMMANDALLOCATOR = 1313, | ||
| 1369 | D3D12_MESSAGE_ID_CLEAR_UNORDERED_ACCESS_VIEW_INVALID_DESCRIPTOR_HANDLE = 1314, | ||
| 1370 | D3D12_MESSAGE_ID_DESCRIPTOR_HEAP_NOT_SHADER_VISIBLE = 1315, | ||
| 1371 | D3D12_MESSAGE_ID_CREATEBLENDSTATE_BLENDOP_WARNING = 1316, | ||
| 1372 | D3D12_MESSAGE_ID_CREATEBLENDSTATE_BLENDOPALPHA_WARNING = 1317, | ||
| 1373 | D3D12_MESSAGE_ID_WRITE_COMBINE_PERFORMANCE_WARNING = 1318, | ||
| 1374 | D3D12_MESSAGE_ID_RESOLVE_QUERY_INVALID_QUERY_STATE = 1319, | ||
| 1375 | D3D12_MESSAGE_ID_SETPRIVATEDATA_NO_ACCESS = 1320, | ||
| 1376 | D3D12_MESSAGE_ID_COMMAND_LIST_STATIC_DESCRIPTOR_SAMPLER_MODE_MISMATCH = 1321, | ||
| 1377 | D3D12_MESSAGE_ID_GETCOPYABLEFOOTPRINTS_UNSUPPORTED_BUFFER_WIDTH = 1322, | ||
| 1378 | D3D12_MESSAGE_ID_CREATEMESHSHADER_TOPOLOGY_MISMATCH = 1323, | ||
| 1379 | D3D12_MESSAGE_ID_VRS_SUM_COMBINER_REQUIRES_CAPABILITY = 1324, | ||
| 1380 | D3D12_MESSAGE_ID_SETTING_SHADING_RATE_FROM_MS_REQUIRES_CAPABILITY = 1325, | ||
| 1381 | D3D12_MESSAGE_ID_SHADERCACHESESSION_SHADERCACHEDELETE_NOTSUPPORTED = 1326, | ||
| 1382 | D3D12_MESSAGE_ID_SHADERCACHECONTROL_SHADERCACHECLEAR_NOTSUPPORTED = 1327, | ||
| 1383 | D3D12_MESSAGE_ID_CREATERESOURCE_STATE_IGNORED = 1328, | ||
| 1384 | D3D12_MESSAGE_ID_UNUSED_CROSS_EXECUTE_SPLIT_BARRIER = 1329, | ||
| 1385 | D3D12_MESSAGE_ID_DEVICE_OPEN_SHARED_HANDLE_ACCESS_DENIED = 1330, | ||
| 1386 | |||
| 1387 | D3D12_MESSAGE_ID_INCOMPATIBLE_BARRIER_VALUES = 1331, | ||
| 1388 | D3D12_MESSAGE_ID_INCOMPATIBLE_BARRIER_ACCESS = 1332, | ||
| 1389 | D3D12_MESSAGE_ID_INCOMPATIBLE_BARRIER_SYNC = 1333, | ||
| 1390 | D3D12_MESSAGE_ID_INCOMPATIBLE_BARRIER_LAYOUT = 1334, | ||
| 1391 | D3D12_MESSAGE_ID_INCOMPATIBLE_BARRIER_TYPE = 1335, | ||
| 1392 | D3D12_MESSAGE_ID_OUT_OF_BOUNDS_BARRIER_SUBRESOURCE_RANGE = 1336, | ||
| 1393 | D3D12_MESSAGE_ID_INCOMPATIBLE_BARRIER_RESOURCE_DIMENSION = 1337, | ||
| 1394 | |||
| 1395 | D3D12_MESSAGE_ID_SET_SCISSOR_RECTS_INVALID_RECT = 1338, | ||
| 1396 | |||
| 1397 | D3D12_MESSAGE_ID_SHADING_RATE_SOURCE_REQUIRES_DIMENSION_TEXTURE2D = 1339, | ||
| 1398 | |||
| 1399 | D3D12_MESSAGE_ID_BUFFER_BARRIER_SUBREGION_OUT_OF_BOUNDS = 1340, | ||
| 1400 | |||
| 1401 | D3D12_MESSAGE_ID_UNSUPPORTED_BARRIER_LAYOUT = 1341, | ||
| 1402 | |||
| 1403 | D3D12_MESSAGE_ID_CREATERESOURCEANDHEAP_INVALID_PARAMETERS = 1342, | ||
| 1404 | |||
| 1405 | D3D12_MESSAGE_ID_ENHANCED_BARRIERS_NOT_SUPPORTED = 1343, | ||
| 1406 | |||
| 1407 | D3D12_MESSAGE_ID_LEGACY_BARRIER_VALIDATION_FORCED_ON = 1346, | ||
| 1408 | |||
| 1409 | D3D12_MESSAGE_ID_EMPTY_ROOT_DESCRIPTOR_TABLE = 1347, | ||
| 1410 | |||
| 1411 | D3D12_MESSAGE_ID_COMMAND_LIST_DRAW_ELEMENT_OFFSET_UNALIGNED = 1348, | ||
| 1412 | |||
| 1413 | D3D12_MESSAGE_ID_ALPHA_BLEND_FACTOR_NOT_SUPPORTED = 1349, | ||
| 1414 | |||
| 1415 | D3D12_MESSAGE_ID_BARRIER_INTEROP_INVALID_LAYOUT = 1350, | ||
| 1416 | D3D12_MESSAGE_ID_BARRIER_INTEROP_INVALID_STATE = 1351, | ||
| 1417 | |||
| 1418 | D3D12_MESSAGE_ID_GRAPHICS_PIPELINE_STATE_DESC_ZERO_SAMPLE_MASK = 1352, | ||
| 1419 | |||
| 1420 | D3D12_MESSAGE_ID_INDEPENDENT_STENCIL_REF_NOT_SUPPORTED = 1353, | ||
| 1421 | D3D12_MESSAGE_ID_CREATEDEPTHSTENCILSTATE_INDEPENDENT_MASKS_UNSUPPORTED = 1354, | ||
| 1422 | |||
| 1423 | D3D12_MESSAGE_ID_TEXTURE_BARRIER_SUBRESOURCES_OUT_OF_BOUNDS = 1355, | ||
| 1424 | |||
| 1425 | D3D12_MESSAGE_ID_NON_OPTIMAL_BARRIER_ONLY_EXECUTE_COMMAND_LISTS = 1356, | ||
| 1426 | |||
| 1427 | D3D12_MESSAGE_ID_EXECUTE_INDIRECT_ZERO_COMMAND_COUNT = 1357, | ||
| 1428 | |||
| 1429 | D3D12_MESSAGE_ID_GPU_BASED_VALIDATION_INCOMPATIBLE_TEXTURE_LAYOUT = 1358, | ||
| 1430 | |||
| 1431 | D3D12_MESSAGE_ID_DYNAMIC_INDEX_BUFFER_STRIP_CUT_NOT_SUPPORTED = 1359, | ||
| 1432 | D3D12_MESSAGE_ID_PRIMITIVE_TOPOLOGY_TRIANGLE_FANS_NOT_SUPPORTED = 1360, | ||
| 1433 | |||
| 1434 | D3D12_MESSAGE_ID_CREATE_SAMPLER_COMPARISON_FUNC_IGNORED = 1361, | ||
| 1435 | |||
| 1436 | D3D12_MESSAGE_ID_CREATEHEAP_INVALIDHEAPTYPE = 1362, | ||
| 1437 | D3D12_MESSAGE_ID_CREATERESOURCEANDHEAP_INVALIDHEAPTYPE = 1363, | ||
| 1438 | D3D12_MESSAGE_ID_DYNAMIC_DEPTH_BIAS_NOT_SUPPORTED = 1364, | ||
| 1439 | D3D12_MESSAGE_ID_CREATERASTERIZERSTATE_NON_WHOLE_DYNAMIC_DEPTH_BIAS = 1365, | ||
| 1440 | |||
| 1441 | D3D12_MESSAGE_ID_DYNAMIC_DEPTH_BIAS_FLAG_MISSING = 1366, | ||
| 1442 | D3D12_MESSAGE_ID_DYNAMIC_DEPTH_BIAS_NO_PIPELINE = 1367, | ||
| 1443 | D3D12_MESSAGE_ID_DYNAMIC_INDEX_BUFFER_STRIP_CUT_FLAG_MISSING = 1368, | ||
| 1444 | D3D12_MESSAGE_ID_DYNAMIC_INDEX_BUFFER_STRIP_CUT_NO_PIPELINE = 1369, | ||
| 1445 | |||
| 1446 | D3D12_MESSAGE_ID_NONNORMALIZED_COORDINATE_SAMPLING_NOT_SUPPORTED = 1370, | ||
| 1447 | |||
| 1448 | D3D12_MESSAGE_ID_INVALID_CAST_TARGET = 1371, | ||
| 1449 | |||
| 1450 | D3D12_MESSAGE_ID_RENDER_PASS_COMMANDLIST_INVALID_END_STATE = 1372, | ||
| 1451 | D3D12_MESSAGE_ID_RENDER_PASS_COMMANDLIST_INVALID_START_STATE = 1373, | ||
| 1452 | D3D12_MESSAGE_ID_RENDER_PASS_MISMATCHING_ACCESS = 1374, | ||
| 1453 | D3D12_MESSAGE_ID_RENDER_PASS_MISMATCHING_LOCAL_PRESERVE_PARAMETERS = 1375, | ||
| 1454 | D3D12_MESSAGE_ID_RENDER_PASS_LOCAL_PRESERVE_RENDER_PARAMETERS_ERROR = 1376, | ||
| 1455 | D3D12_MESSAGE_ID_RENDER_PASS_LOCAL_DEPTH_STENCIL_ERROR = 1377, | ||
| 1456 | |||
| 1457 | D3D12_MESSAGE_ID_DRAW_POTENTIALLY_OUTSIDE_OF_VALID_RENDER_AREA = 1378, | ||
| 1458 | D3D12_MESSAGE_ID_CREATERASTERIZERSTATE_INVALID_LINERASTERIZATIONMODE = 1379, | ||
| 1459 | |||
| 1460 | D3D12_MESSAGE_ID_CREATERESOURCE_INVALIDALIGNMENT_SMALLRESOURCE = 1380, | ||
| 1461 | D3D12_MESSAGE_ID_GENERIC_DEVICE_OPERATION_UNSUPPORTED = 1381, | ||
| 1462 | |||
| 1463 | D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_RENDER_TARGET_WRONG_WRITE_MASK = 1382, | ||
| 1464 | |||
| 1465 | D3D12_MESSAGE_ID_PROBABLE_PIX_EVENT_LEAK = 1383, | ||
| 1466 | D3D12_MESSAGE_ID_PIX_EVENT_UNDERFLOW = 1384, | ||
| 1467 | |||
| 1468 | D3D12_MESSAGE_ID_RECREATEAT_INVALID_TARGET = 1385, | ||
| 1469 | D3D12_MESSAGE_ID_RECREATEAT_INSUFFICIENT_SUPPORT = 1386, | ||
| 1470 | |||
| 1471 | D3D12_MESSAGE_ID_GPU_BASED_VALIDATION_STRUCTURED_BUFFER_STRIDE_MISMATCH = 1387, | ||
| 1472 | |||
| 1473 | D3D12_MESSAGE_ID_DISPATCH_GRAPH_INVALID = 1388, | ||
| 1474 | |||
| 1475 | D3D12_MESSAGE_ID_DIRECTSR_SUPERRES_TARGET_FORMAT_INVALID = 1389, | ||
| 1476 | D3D12_MESSAGE_ID_DIRECTSR_SUPERRES_TARGET_DIMENSION_INVALID = 1390, | ||
| 1477 | D3D12_MESSAGE_ID_DIRECTSR_SUPERRES_SOURCE_COLOR_FORMAT_INVALID = 1391, | ||
| 1478 | D3D12_MESSAGE_ID_DIRECTSR_SUPERRES_SOURCE_DEPTH_FORMAT_INVALID = 1392, | ||
| 1479 | D3D12_MESSAGE_ID_DIRECTSR_SUPERRES_EXPOSURE_SCALE_FORMAT_INVALID = 1393, | ||
| 1480 | D3D12_MESSAGE_ID_DIRECTSR_SUPERRES_ENGINE_CREATE_FLAGS_INVALID = 1394, | ||
| 1481 | D3D12_MESSAGE_ID_DIRECTSR_SUPERRES_EXTENSION_INTERNAL_LOAD_FAILURE = 1395, | ||
| 1482 | D3D12_MESSAGE_ID_DIRECTSR_SUPERRES_EXTENSION_INTERNAL_ENGINE_CREATION_ERROR = 1396, | ||
| 1483 | D3D12_MESSAGE_ID_DIRECTSR_SUPERRES_EXTENSION_INTERNAL_UPSCALER_CREATION_ERROR = 1397, | ||
| 1484 | D3D12_MESSAGE_ID_DIRECTSR_SUPERRES_EXTENSION_INTERNAL_UPSCALER_EXECUTION_ERROR = 1398, | ||
| 1485 | D3D12_MESSAGE_ID_DIRECTSR_SUPERRES_UPSCALER_EXECUTE_REGION_INVALID = 1399, | ||
| 1486 | D3D12_MESSAGE_ID_DIRECTSR_SUPERRES_UPSCALER_EXECUTE_TIME_DELTA_INVALID = 1400, | ||
| 1487 | D3D12_MESSAGE_ID_DIRECTSR_SUPERRES_UPSCALER_EXECUTE_REQUIRED_TEXTURE_IS_NULL = 1401, | ||
| 1488 | D3D12_MESSAGE_ID_DIRECTSR_SUPERRES_UPSCALER_EXECUTE_MOTION_VECTORS_FORMAT_INVALID = 1402, | ||
| 1489 | D3D12_MESSAGE_ID_DIRECTSR_SUPERRES_UPSCALER_EXECUTE_FLAGS_INVALID = 1403, | ||
| 1490 | D3D12_MESSAGE_ID_DIRECTSR_SUPERRES_UPSCALER_EXECUTE_FORMAT_INVALID = 1404, | ||
| 1491 | D3D12_MESSAGE_ID_DIRECTSR_SUPERRES_UPSCALER_EXECUTE_EXPOSURE_SCALE_TEXTURE_SIZE_INVALID = 1405, | ||
| 1492 | D3D12_MESSAGE_ID_DIRECTSR_SUPERRES_VARIANT_INDEX_OUT_OF_BOUNDS = 1406, | ||
| 1493 | D3D12_MESSAGE_ID_DIRECTSR_SUPERRES_VARIANT_ID_NOT_FOUND = 1407, | ||
| 1494 | D3D12_MESSAGE_ID_DIRECTSR_SUPERRES_DUPLICATE_VARIANT_ID = 1408, | ||
| 1495 | D3D12_MESSAGE_ID_DIRECTSR_OUT_OF_MEMORY = 1409, | ||
| 1496 | D3D12_MESSAGE_ID_DIRECTSR_SUPERRES_UPSCALER_EXECUTE_UNEXPECTED_TEXTURE_IS_IGNORED = 1410, | ||
| 1497 | D3D12_MESSAGE_ID_DIRECTSR_SUPERRES_UPSCALER_EVICT_UNDERFLOW = 1411, | ||
| 1498 | D3D12_MESSAGE_ID_DIRECTSR_SUPERRES_UPSCALER_EXECUTE_OPTIONAL_TEXTURE_IS_NULL = 1412, | ||
| 1499 | D3D12_MESSAGE_ID_DIRECTSR_SUPERRES_UPSCALER_EXECUTE_INVALID_CAMERA_JITTER = 1413, | ||
| 1500 | D3D12_MESSAGE_ID_CREATE_STATE_OBJECT_WARNING = 1414, | ||
| 1501 | D3D12_MESSAGE_ID_GUID_TEXTURE_LAYOUT_UNSUPPORTED = 1415, | ||
| 1502 | D3D12_MESSAGE_ID_RESOLVE_ENCODER_INPUT_PARAM_LAYOUT_INVALID_PARAMETERS = 1416, | ||
| 1503 | D3D12_MESSAGE_ID_INVALID_BARRIER_ACCESS = 1417, | ||
| 1504 | D3D12_MESSAGE_ID_COMMAND_LIST_DRAW_INSTANCE_COUNT_ZERO = 1418, | ||
| 1505 | D3D12_MESSAGE_ID_DESCRIPTOR_HEAP_NOT_SET_BEFORE_ROOT_SIGNATURE_WITH_DIRECTLY_INDEXED_FLAG = 1419, | ||
| 1506 | D3D12_MESSAGE_ID_DIFFERENT_DESCRIPTOR_HEAP_SET_AFTER_ROOT_SIGNATURE_WITH_DIRECTLY_INDEXED_FLAG = 1420, | ||
| 1507 | D3D12_MESSAGE_ID_APPLICATION_SPECIFIC_DRIVER_STATE_NOT_SUPPORTED = 1421, | ||
| 1508 | D3D12_MESSAGE_ID_RENDER_TARGET_OR_DEPTH_STENCIL_RESOUCE_NOT_INITIALIZED = 1422, | ||
| 1509 | D3D12_MESSAGE_ID_BYTECODE_VALIDATION_ERROR = 1423, | ||
| 1510 | D3D12_MESSAGE_ID_FENCE_ZERO_WAIT = 1424, | ||
| 1511 | D3D12_MESSAGE_ID_NON_COMMON_RESOURCE_IN_COPY_QUEUE = 1431, | ||
| 1512 | D3D12_MESSAGE_ID_CREATEPIPELINESTATE_MULTIPLE_ROOT_SIGNATURES_DEFINED = 1435, | ||
| 1513 | D3D12_MESSAGE_ID_TEXTURE_BARRIER_INVALID_FLAGS = 1436, | ||
| 1514 | D3D12_MESSAGE_ID_D3D12_MESSAGES_END = 1442, // This must be the last entry in the enum. | ||
| 1515 | } D3D12_MESSAGE_ID; | ||
| 1516 | |||
| 1517 | typedef struct D3D12_MESSAGE | ||
| 1518 | { | ||
| 1519 | D3D12_MESSAGE_CATEGORY Category; | ||
| 1520 | D3D12_MESSAGE_SEVERITY Severity; | ||
| 1521 | D3D12_MESSAGE_ID ID; | ||
| 1522 | [annotation("_Field_size_(DescriptionByteLength)")] const char* pDescription; | ||
| 1523 | SIZE_T DescriptionByteLength; | ||
| 1524 | } D3D12_MESSAGE; | ||
| 1525 | |||
| 1526 | typedef struct D3D12_INFO_QUEUE_FILTER_DESC | ||
| 1527 | { | ||
| 1528 | UINT NumCategories; | ||
| 1529 | [annotation("_Field_size_(NumCategories)")] D3D12_MESSAGE_CATEGORY* pCategoryList; | ||
| 1530 | UINT NumSeverities; | ||
| 1531 | [annotation("_Field_size_(NumSeverities)")] D3D12_MESSAGE_SEVERITY* pSeverityList; | ||
| 1532 | UINT NumIDs; | ||
| 1533 | [annotation("_Field_size_(NumIDs)")] D3D12_MESSAGE_ID* pIDList; | ||
| 1534 | } D3D12_INFO_QUEUE_FILTER_DESC; | ||
| 1535 | |||
| 1536 | // To use, memset to 0, then fill in what you need. | ||
| 1537 | typedef struct D3D12_INFO_QUEUE_FILTER | ||
| 1538 | { | ||
| 1539 | D3D12_INFO_QUEUE_FILTER_DESC AllowList; | ||
| 1540 | D3D12_INFO_QUEUE_FILTER_DESC DenyList; | ||
| 1541 | } D3D12_INFO_QUEUE_FILTER; | ||
| 1542 | |||
| 1543 | //============================================================================= | ||
| 1544 | // ID3D12InfoQueue | ||
| 1545 | // | ||
| 1546 | // Logs D3D12 Messages. | ||
| 1547 | // This interface can be queried from ID3D12Device, as long as the device | ||
| 1548 | // was created with the debug layer. | ||
| 1549 | // | ||
| 1550 | // | ||
| 1551 | cpp_quote("#define D3D12_INFO_QUEUE_DEFAULT_MESSAGE_COUNT_LIMIT 1024") | ||
| 1552 | [uuid(0742a90b-c387-483f-b946-30a7e4e61458), object, local, pointer_default(unique)] | ||
| 1553 | interface ID3D12InfoQueue | ||
| 1554 | : IUnknown | ||
| 1555 | { | ||
| 1556 | //========================================================================= | ||
| 1557 | // Methods for configuring how much data is stored in the queue. | ||
| 1558 | |||
| 1559 | // SetMessageCountLimit() | ||
| 1560 | // This sets how many messages are stored. When the queue is full, | ||
| 1561 | // new messages coming in push old messages out. | ||
| 1562 | // Passing -1 to SetMessageCountLimit means the queue has | ||
| 1563 | // unlimited size (go until out of memory or ClearStoredMessages()). | ||
| 1564 | // The default message count size is | ||
| 1565 | // D3D12_INFO_QUEUE_DEFAULT_MESSAGE_COUNT_LIMIT | ||
| 1566 | // Returns S_OK or E_INVALIDARG. | ||
| 1567 | HRESULT SetMessageCountLimit([annotation("_In_")] UINT64 MessageCountLimit); | ||
| 1568 | |||
| 1569 | // ClearStoredMessages | ||
| 1570 | void ClearStoredMessages(); | ||
| 1571 | |||
| 1572 | //========================================================================= | ||
| 1573 | // Methods for retrieving data or statistics from the queue. | ||
| 1574 | |||
| 1575 | // GetMessage() | ||
| 1576 | // Retrieves messages, one at a time, from the queue which pass any | ||
| 1577 | // retrieval filter currently defined. If there is no retrieval filter, | ||
| 1578 | // all messages can be retrieved. | ||
| 1579 | // The MessageIndex parameter is a 0 based index into the results passing | ||
| 1580 | // the filter. The number of results is returned by | ||
| 1581 | // GetNumStoredMessagesAllowedByRetrievalFilter(). | ||
| 1582 | // | ||
| 1583 | // Note this does not remove the message from the queue. | ||
| 1584 | // | ||
| 1585 | // pMessageByteLength inputs the size of the buffer passed in via | ||
| 1586 | // pMessage, and outputs the size of the message. pMessage can be NULL | ||
| 1587 | // when the size of the required buffer is being queried (return S_FALSE). | ||
| 1588 | // | ||
| 1589 | // NOTE: The returned buffer pMessage is NOT just the size of D3D12_MESSAGE, | ||
| 1590 | // it includes extra memory after the D3D12_MESSAGE for storing the string | ||
| 1591 | // description, which is pointed to from within D3D12_MESSAGE. Therefore | ||
| 1592 | // applications should check the size needed for pMessage as described above. | ||
| 1593 | // | ||
| 1594 | // Watch out for thread safety when making consecutive calls first to | ||
| 1595 | // determine the buffer size required and then to pass in the buffer and | ||
| 1596 | // retrieve the message, and also between calling | ||
| 1597 | // GetNumStoredMessagesAllowedByRetrievalFilter() and enumerating through | ||
| 1598 | // the results via GetMessagE(). | ||
| 1599 | // | ||
| 1600 | // Returns: S_OK, S_FALSE, E_INVALIDARG or E_OUTOFMEMORY. | ||
| 1601 | HRESULT GetMessage( | ||
| 1602 | [annotation("_In_")] UINT64 MessageIndex, | ||
| 1603 | [annotation("_Out_writes_bytes_opt_(*pMessageByteLength)")] D3D12_MESSAGE* pMessage, | ||
| 1604 | [annotation("_Inout_")] SIZE_T* pMessageByteLength); | ||
| 1605 | |||
| 1606 | // GetNumMessagesAllowedByStorageFilter() | ||
| 1607 | // Returns how many messages sent to the queue passed | ||
| 1608 | // whatever storage filter was active upon receipt of | ||
| 1609 | // the message. | ||
| 1610 | // This can be a larger value than the message count limit, | ||
| 1611 | // returned by GetMessageCountLimit(), since old messages are discarded | ||
| 1612 | // when the queue is full to prevent overflow. | ||
| 1613 | UINT64 GetNumMessagesAllowedByStorageFilter(); | ||
| 1614 | |||
| 1615 | // GetNumMessagesDeniedByStorageFilter() | ||
| 1616 | UINT64 GetNumMessagesDeniedByStorageFilter(); | ||
| 1617 | |||
| 1618 | // GetNumStoredMessages() | ||
| 1619 | // Returns how many messages are currently stored in the queue. | ||
| 1620 | UINT64 GetNumStoredMessages(); | ||
| 1621 | |||
| 1622 | // GetNumStoredMessagesAllowedByRetrievalFilter() | ||
| 1623 | // Returns how many messages that are currently in the queue | ||
| 1624 | // pass any retrieval filter that is currently set. | ||
| 1625 | // The MessageIndex parameter to GetMessage() indexes | ||
| 1626 | // an array of this many results. | ||
| 1627 | UINT64 GetNumStoredMessagesAllowedByRetrievalFilter(); | ||
| 1628 | |||
| 1629 | // GetNumMessagesDiscardedByMessageCountLimit() | ||
| 1630 | UINT64 GetNumMessagesDiscardedByMessageCountLimit(); | ||
| 1631 | |||
| 1632 | // GetMessageCountLimit | ||
| 1633 | // This is how many messages can be stored in the queue. | ||
| 1634 | // When the queue is full, new messages coming in push old messages out. | ||
| 1635 | // -1 means there is no limit. | ||
| 1636 | UINT64 GetMessageCountLimit(); | ||
| 1637 | |||
| 1638 | //========================================================================= | ||
| 1639 | // Methods for filtering what gets stored in the queue | ||
| 1640 | |||
| 1641 | // AddStorageFilterEntries() | ||
| 1642 | // Adds to the existing entries at top of stack | ||
| 1643 | // Returns: S_OK, E_INVALIDARG or E_OUTOFMEMORY. | ||
| 1644 | HRESULT AddStorageFilterEntries( | ||
| 1645 | [annotation("_In_")] D3D12_INFO_QUEUE_FILTER* pFilter); | ||
| 1646 | |||
| 1647 | // GetStorageFilter() | ||
| 1648 | // Gets all entries at top of stack. | ||
| 1649 | // The application must allocate the output buffer. The size required can be | ||
| 1650 | // queried by passing null for pFilter and looking at the returned | ||
| 1651 | // pFilterByteLength (HRESULT is S_FALSE). Note that D3D12_INFO_QUEUE_FILTER contains | ||
| 1652 | // pointers - these will point to locations within the same | ||
| 1653 | // contiguous buffer - *pFilterByteLength is the total storage needed for all | ||
| 1654 | // data. So the application needs to only allocate/free the memory for pFilter. | ||
| 1655 | // Returns S_OK, S_FALSE, E_INVALIDARG or E_OUTOFMEMORY | ||
| 1656 | HRESULT GetStorageFilter( | ||
| 1657 | [annotation("_Out_writes_bytes_opt_(*pFilterByteLength)")] D3D12_INFO_QUEUE_FILTER* pFilter, | ||
| 1658 | [annotation("_Inout_")] SIZE_T* pFilterByteLength); | ||
| 1659 | |||
| 1660 | // ClearStorageFilter() | ||
| 1661 | // Clears filter at the top of the stack (if there is one) | ||
| 1662 | void ClearStorageFilter(); | ||
| 1663 | |||
| 1664 | // PushEmptyStorageFilter() | ||
| 1665 | // Push an empty storage filter on the stack to allow local filtering changes. | ||
| 1666 | // For convenience, this is automatically called by SetStorageFilter() | ||
| 1667 | // if the stack is empty. Thus if the stack is not needed, filters can be | ||
| 1668 | // defined without ever bothering to push or pop. | ||
| 1669 | // Returns S_OK or E_OUTOFMEMORY | ||
| 1670 | HRESULT PushEmptyStorageFilter(); | ||
| 1671 | |||
| 1672 | // PushCopyOfStorageFilter() | ||
| 1673 | // Push a copy of the current filter so that local modifications can be made | ||
| 1674 | // starting from what currently exists. | ||
| 1675 | // Returns S_OK or E_OUTOFMEMORY | ||
| 1676 | HRESULT PushCopyOfStorageFilter(); | ||
| 1677 | |||
| 1678 | // PushStorageFilter() | ||
| 1679 | // Push a filter passed as a parameter onto the stack. This is | ||
| 1680 | // just a helper for calling PushEmptyStorageFilter() followed | ||
| 1681 | // by AddStorageFilterEntries() | ||
| 1682 | // Returns S_OK, E_INVALIDARG or E_OUTOFMEMORY. | ||
| 1683 | HRESULT PushStorageFilter( | ||
| 1684 | [annotation("_In_")] D3D12_INFO_QUEUE_FILTER* pFilter); | ||
| 1685 | |||
| 1686 | // PopStorageFilter() | ||
| 1687 | // Pop the current storage filter off the stack (if there is one) | ||
| 1688 | void PopStorageFilter(); | ||
| 1689 | |||
| 1690 | // GetStorageFilterStackSize() | ||
| 1691 | UINT GetStorageFilterStackSize(); | ||
| 1692 | |||
| 1693 | //========================================================================= | ||
| 1694 | // Methods for filtering what gets read out of the queue by GetMessage(). | ||
| 1695 | |||
| 1696 | // AddRetrievalFilterEntries() | ||
| 1697 | // Adds to the existing entries at top of stack | ||
| 1698 | // Returns: S_OK, E_INVALIDARG or E_OUTOFMEMORY. | ||
| 1699 | HRESULT AddRetrievalFilterEntries( | ||
| 1700 | [annotation("_In_")] D3D12_INFO_QUEUE_FILTER* pFilter); | ||
| 1701 | |||
| 1702 | // GetRetrievalFilter() | ||
| 1703 | // Gets all entries at top of stack. | ||
| 1704 | // The application must allocate the output buffer. The size required can be | ||
| 1705 | // queried by passing null for pFilter and looking at the returned | ||
| 1706 | // pFilterByteLength (HRESULT is S_FALSE). Note that D3D12_INFO_QUEUE_FILTER contains | ||
| 1707 | // pointers - these will point to locations within the same | ||
| 1708 | // contiguous buffer - *pFilterByteLength is the total storage needed for all | ||
| 1709 | // data. So the application needs to only allocate/free the memory for pFilter. | ||
| 1710 | // Returns S_OK, S_FALSE, E_INVALIDARG or E_OUTOFMEMORY | ||
| 1711 | HRESULT GetRetrievalFilter( | ||
| 1712 | [annotation("_Out_writes_bytes_opt_(*pFilterByteLength)")] D3D12_INFO_QUEUE_FILTER* pFilter, | ||
| 1713 | [annotation("_Inout_")] SIZE_T* pFilterByteLength); | ||
| 1714 | |||
| 1715 | // ClearRetrievalFilter() | ||
| 1716 | // Clears filter at the top of the stack (if there is one) | ||
| 1717 | void ClearRetrievalFilter(); | ||
| 1718 | |||
| 1719 | // PushEmptyRetrievalFilter() | ||
| 1720 | // Push an empty storage filter on the stack to allow local filtering changes. | ||
| 1721 | // For convenience, this is automatically called by SetRetrievalFilter() | ||
| 1722 | // if the stack is empty. Thus if the stack is not needed, filters can be | ||
| 1723 | // defined without ever bothering to push or pop. | ||
| 1724 | // Returns S_OK or E_OUTOFMEMORY | ||
| 1725 | HRESULT PushEmptyRetrievalFilter(); | ||
| 1726 | |||
| 1727 | // PushCopyOfRetrievalFilter() | ||
| 1728 | // Push a copy of the current filter so that local modifications can be made | ||
| 1729 | // starting from what currently exists. | ||
| 1730 | // Returns S_OK or E_OUTOFMEMORY | ||
| 1731 | HRESULT PushCopyOfRetrievalFilter(); | ||
| 1732 | |||
| 1733 | // PushRetrievalFilter() | ||
| 1734 | // Push a filter passed as a parameter onto the stack. This is | ||
| 1735 | // just a helper for calling PushEmptyRetrievalFilter() followed | ||
| 1736 | // by AddRetrievalFilterEntries() | ||
| 1737 | // Returns S_OK, E_INVALIDARG or E_OUTOFMEMORY. | ||
| 1738 | HRESULT PushRetrievalFilter( | ||
| 1739 | [annotation("_In_")] D3D12_INFO_QUEUE_FILTER* pFilter); | ||
| 1740 | |||
| 1741 | // PopRetrievalFilter() | ||
| 1742 | // Pop the current storage filter off the stack (if there is one) | ||
| 1743 | void PopRetrievalFilter(); | ||
| 1744 | |||
| 1745 | // GetRetrievalFilterStackSize() | ||
| 1746 | UINT GetRetrievalFilterStackSize(); | ||
| 1747 | |||
| 1748 | //========================================================================= | ||
| 1749 | // Methods for adding entries to the queue. | ||
| 1750 | |||
| 1751 | // AddMessage() | ||
| 1752 | // This is used by D3D12 components to log messages. Nothing stops | ||
| 1753 | // applications from calling this, but it isn’t particularly useful. | ||
| 1754 | // If an application wishes to insert custom strings into the queue, | ||
| 1755 | // AddApplicationMessage() below is suggested. See below. | ||
| 1756 | // | ||
| 1757 | // Returns S_OK, E_INVALIDARG or E_OUTOFMEMORY | ||
| 1758 | HRESULT AddMessage( | ||
| 1759 | [annotation("_In_")] D3D12_MESSAGE_CATEGORY Category, | ||
| 1760 | [annotation("_In_")] D3D12_MESSAGE_SEVERITY Severity, | ||
| 1761 | [annotation("_In_")] D3D12_MESSAGE_ID ID, | ||
| 1762 | [annotation("_In_")] LPCSTR pDescription); | ||
| 1763 | |||
| 1764 | // AddApplicationMessage() | ||
| 1765 | // This is a convenience for applications that want | ||
| 1766 | // to insert strings of their own into the queue, perhaps to log issues | ||
| 1767 | // of its own, or to mark out points in time in the queue. This | ||
| 1768 | // has the same effect as calling AddMessage() above with the | ||
| 1769 | // following settings: | ||
| 1770 | // Category = D3D12_MESSAGE_CATEGORY_APPLICATION_DEFINED | ||
| 1771 | // Severity = <app selects from D3D12_MESSAGE_SEVERITY> | ||
| 1772 | // ID = D3D12_MESSAGE_ID_STRING_FROM_APPLICATION | ||
| 1773 | // pDescription = <application provided string> | ||
| 1774 | // | ||
| 1775 | // Returns S_OK, E_INVALIDARG or E_OUTOFMEMORY | ||
| 1776 | HRESULT AddApplicationMessage( | ||
| 1777 | [annotation("_In_")] D3D12_MESSAGE_SEVERITY Severity, | ||
| 1778 | [annotation("_In_")] LPCSTR pDescription); | ||
| 1779 | |||
| 1780 | //========================================================================= | ||
| 1781 | // Methods for breaking on errors that pass the storage filter. | ||
| 1782 | HRESULT SetBreakOnCategory( | ||
| 1783 | [annotation("_In_")] D3D12_MESSAGE_CATEGORY Category, | ||
| 1784 | [annotation("_In_")] BOOL bEnable); | ||
| 1785 | HRESULT SetBreakOnSeverity( | ||
| 1786 | [annotation("_In_")] D3D12_MESSAGE_SEVERITY Severity, | ||
| 1787 | [annotation("_In_")] BOOL bEnable); | ||
| 1788 | HRESULT SetBreakOnID( | ||
| 1789 | [annotation("_In_")] D3D12_MESSAGE_ID ID, | ||
| 1790 | [annotation("_In_")] BOOL bEnable); | ||
| 1791 | |||
| 1792 | BOOL GetBreakOnCategory( | ||
| 1793 | [annotation("_In_")] D3D12_MESSAGE_CATEGORY Category); | ||
| 1794 | BOOL GetBreakOnSeverity( | ||
| 1795 | [annotation("_In_")] D3D12_MESSAGE_SEVERITY Severity); | ||
| 1796 | BOOL GetBreakOnID( | ||
| 1797 | [annotation("_In_")] D3D12_MESSAGE_ID ID); | ||
| 1798 | |||
| 1799 | //========================================================================= | ||
| 1800 | // Methods for globally muting debug spte from the InfoQueue | ||
| 1801 | void SetMuteDebugOutput( | ||
| 1802 | [annotation("_In_")] BOOL bMute); | ||
| 1803 | BOOL GetMuteDebugOutput(); | ||
| 1804 | }; | ||
| 1805 | |||
| 1806 | typedef enum D3D12_MESSAGE_CALLBACK_FLAGS | ||
| 1807 | { | ||
| 1808 | D3D12_MESSAGE_CALLBACK_FLAG_NONE = 0x00, | ||
| 1809 | D3D12_MESSAGE_CALLBACK_IGNORE_FILTERS = 0x01, | ||
| 1810 | |||
| 1811 | } D3D12_MESSAGE_CALLBACK_FLAGS; | ||
| 1812 | |||
| 1813 | cpp_quote( "DEFINE_ENUM_FLAG_OPERATORS(D3D12_MESSAGE_CALLBACK_FLAGS)") | ||
| 1814 | |||
| 1815 | typedef void (__stdcall *D3D12MessageFunc) (D3D12_MESSAGE_CATEGORY Category, | ||
| 1816 | D3D12_MESSAGE_SEVERITY Severity, | ||
| 1817 | D3D12_MESSAGE_ID ID, | ||
| 1818 | LPCSTR pDescription, | ||
| 1819 | void* pContext); | ||
| 1820 | |||
| 1821 | [ uuid( 2852dd88-b484-4c0c-b6b1-67168500e600 ), object, local, pointer_default( unique ) ] | ||
| 1822 | interface ID3D12InfoQueue1 | ||
| 1823 | : ID3D12InfoQueue | ||
| 1824 | { | ||
| 1825 | HRESULT RegisterMessageCallback( | ||
| 1826 | [annotation("_In_")] D3D12MessageFunc CallbackFunc, | ||
| 1827 | [annotation("_In_")] D3D12_MESSAGE_CALLBACK_FLAGS CallbackFilterFlags, | ||
| 1828 | [annotation("_Inout_")] void* pContext, | ||
| 1829 | [annotation("_Inout_")] DWORD *pCallbackCookie); | ||
| 1830 | |||
| 1831 | HRESULT UnregisterMessageCallback( | ||
| 1832 | [annotation("_In_")] DWORD CallbackCookie); | ||
| 1833 | }; | ||
| 1834 | |||
| 1835 | |||
| 1836 | |||
| 1837 | cpp_quote("#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP | WINAPI_PARTITION_GAMES) */") | ||
| 1838 | #pragma endregion | ||
| 1839 | |||
| 1840 | |||
| 1841 | cpp_quote( "DEFINE_GUID(IID_ID3D12Debug,0x344488b7,0x6846,0x474b,0xb9,0x89,0xf0,0x27,0x44,0x82,0x45,0xe0);" ) | ||
| 1842 | cpp_quote( "DEFINE_GUID(IID_ID3D12Debug1,0xaffaa4ca,0x63fe,0x4d8e,0xb8,0xad,0x15,0x90,0x00,0xaf,0x43,0x04);" ) | ||
| 1843 | cpp_quote( "DEFINE_GUID(IID_ID3D12Debug2,0x93a665c4,0xa3b2,0x4e5d,0xb6,0x92,0xa2,0x6a,0xe1,0x4e,0x33,0x74);" ) | ||
| 1844 | cpp_quote( "DEFINE_GUID(IID_ID3D12Debug3,0x5cf4e58f,0xf671,0x4ff1,0xa5,0x42,0x36,0x86,0xe3,0xd1,0x53,0xd1);" ) | ||
| 1845 | cpp_quote( "DEFINE_GUID(IID_ID3D12Debug4,0x014b816e,0x9ec5,0x4a2f,0xa8,0x45,0xff,0xbe,0x44,0x1c,0xe1,0x3a);" ) | ||
| 1846 | cpp_quote( "DEFINE_GUID(IID_ID3D12Debug5,0x548d6b12,0x09fa,0x40e0,0x90,0x69,0x5d,0xcd,0x58,0x9a,0x52,0xc9);" ) | ||
| 1847 | cpp_quote( "DEFINE_GUID(IID_ID3D12Debug6,0x82a816d6,0x5d01,0x4157,0x97,0xd0,0x49,0x75,0x46,0x3f,0xd1,0xed);" ) | ||
| 1848 | cpp_quote( "DEFINE_GUID(IID_ID3D12DebugDevice1,0xa9b71770,0xd099,0x4a65,0xa6,0x98,0x3d,0xee,0x10,0x02,0x0f,0x88);" ) | ||
| 1849 | cpp_quote( "DEFINE_GUID(IID_ID3D12DebugDevice,0x3febd6dd,0x4973,0x4787,0x81,0x94,0xe4,0x5f,0x9e,0x28,0x92,0x3e);" ) | ||
| 1850 | cpp_quote( "DEFINE_GUID(IID_ID3D12DebugDevice2,0x60eccbc1,0x378d,0x4df1,0x89,0x4c,0xf8,0xac,0x5c,0xe4,0xd7,0xdd);" ) | ||
| 1851 | cpp_quote( "DEFINE_GUID(IID_ID3D12DebugCommandQueue,0x09e0bf36,0x54ac,0x484f,0x88,0x47,0x4b,0xae,0xea,0xb6,0x05,0x3a);" ) | ||
| 1852 | cpp_quote( "DEFINE_GUID(IID_ID3D12DebugCommandQueue1,0x16be35a2,0xbfd6,0x49f2,0xbc,0xae,0xea,0xae,0x4a,0xff,0x86,0x2d);" ) | ||
| 1853 | cpp_quote( "DEFINE_GUID(IID_ID3D12DebugCommandList1,0x102ca951,0x311b,0x4b01,0xb1,0x1f,0xec,0xb8,0x3e,0x06,0x1b,0x37);" ) | ||
| 1854 | cpp_quote( "DEFINE_GUID(IID_ID3D12DebugCommandList,0x09e0bf36,0x54ac,0x484f,0x88,0x47,0x4b,0xae,0xea,0xb6,0x05,0x3f);" ) | ||
| 1855 | cpp_quote( "DEFINE_GUID(IID_ID3D12DebugCommandList2,0xaeb575cf,0x4e06,0x48be,0xba,0x3b,0xc4,0x50,0xfc,0x96,0x65,0x2e);" ) | ||
| 1856 | cpp_quote( "DEFINE_GUID(IID_ID3D12DebugCommandList3,0x197d5e15,0x4d37,0x4d34,0xaf,0x78,0x72,0x4c,0xd7,0x0f,0xdb,0x1f);" ) | ||
| 1857 | cpp_quote( "DEFINE_GUID(IID_ID3D12SharingContract,0x0adf7d52,0x929c,0x4e61,0xad,0xdb,0xff,0xed,0x30,0xde,0x66,0xef);" ) | ||
| 1858 | cpp_quote( "DEFINE_GUID(IID_ID3D12ManualWriteTrackingResource,0x86ca3b85,0x49ad,0x4b6e,0xae,0xd5,0xed,0xdb,0x18,0x54,0x0f,0x41);" ) | ||
| 1859 | cpp_quote( "DEFINE_GUID(IID_ID3D12InfoQueue,0x0742a90b,0xc387,0x483f,0xb9,0x46,0x30,0xa7,0xe4,0xe6,0x14,0x58);" ) | ||
| 1860 | cpp_quote( "DEFINE_GUID(IID_ID3D12InfoQueue1,0x2852dd88,0xb484,0x4c0c,0xb6,0xb1,0x67,0x16,0x85,0x00,0xe6,0x00);" ) | ||
diff --git a/contrib/microsoft.direct3d.d3d12.1.618.4/build/native/include/d3d12shader.h b/contrib/microsoft.direct3d.d3d12.1.618.4/build/native/include/d3d12shader.h new file mode 100644 index 0000000..56455b5 --- /dev/null +++ b/contrib/microsoft.direct3d.d3d12.1.618.4/build/native/include/d3d12shader.h | |||
| @@ -0,0 +1,495 @@ | |||
| 1 | ////////////////////////////////////////////////////////////////////////////// | ||
| 2 | // | ||
| 3 | // Copyright (c) Microsoft Corporation. | ||
| 4 | // Licensed under the MIT license. | ||
| 5 | // | ||
| 6 | // File: D3D12Shader.h | ||
| 7 | // Content: D3D12 Shader Types and APIs | ||
| 8 | // | ||
| 9 | ////////////////////////////////////////////////////////////////////////////// | ||
| 10 | |||
| 11 | #ifndef __D3D12SHADER_H__ | ||
| 12 | #define __D3D12SHADER_H__ | ||
| 13 | |||
| 14 | #include "d3dcommon.h" | ||
| 15 | |||
| 16 | typedef enum D3D12_SHADER_VERSION_TYPE | ||
| 17 | { | ||
| 18 | D3D12_SHVER_PIXEL_SHADER = 0, | ||
| 19 | D3D12_SHVER_VERTEX_SHADER = 1, | ||
| 20 | D3D12_SHVER_GEOMETRY_SHADER = 2, | ||
| 21 | |||
| 22 | // D3D11 Shaders | ||
| 23 | D3D12_SHVER_HULL_SHADER = 3, | ||
| 24 | D3D12_SHVER_DOMAIN_SHADER = 4, | ||
| 25 | D3D12_SHVER_COMPUTE_SHADER = 5, | ||
| 26 | |||
| 27 | // D3D12 Shaders | ||
| 28 | D3D12_SHVER_LIBRARY = 6, | ||
| 29 | |||
| 30 | D3D12_SHVER_RAY_GENERATION_SHADER = 7, | ||
| 31 | D3D12_SHVER_INTERSECTION_SHADER = 8, | ||
| 32 | D3D12_SHVER_ANY_HIT_SHADER = 9, | ||
| 33 | D3D12_SHVER_CLOSEST_HIT_SHADER = 10, | ||
| 34 | D3D12_SHVER_MISS_SHADER = 11, | ||
| 35 | D3D12_SHVER_CALLABLE_SHADER = 12, | ||
| 36 | |||
| 37 | D3D12_SHVER_MESH_SHADER = 13, | ||
| 38 | D3D12_SHVER_AMPLIFICATION_SHADER = 14, | ||
| 39 | |||
| 40 | D3D12_SHVER_NODE_SHADER = 15, | ||
| 41 | |||
| 42 | D3D12_SHVER_RESERVED0 = 0xFFF0, | ||
| 43 | } D3D12_SHADER_VERSION_TYPE; | ||
| 44 | |||
| 45 | #define D3D12_SHVER_GET_TYPE(_Version) \ | ||
| 46 | (((_Version) >> 16) & 0xffff) | ||
| 47 | #define D3D12_SHVER_GET_MAJOR(_Version) \ | ||
| 48 | (((_Version) >> 4) & 0xf) | ||
| 49 | #define D3D12_SHVER_GET_MINOR(_Version) \ | ||
| 50 | (((_Version) >> 0) & 0xf) | ||
| 51 | |||
| 52 | // Slot ID for library function return | ||
| 53 | #define D3D_RETURN_PARAMETER_INDEX (-1) | ||
| 54 | |||
| 55 | typedef D3D_RESOURCE_RETURN_TYPE D3D12_RESOURCE_RETURN_TYPE; | ||
| 56 | |||
| 57 | typedef D3D_CBUFFER_TYPE D3D12_CBUFFER_TYPE; | ||
| 58 | |||
| 59 | |||
| 60 | typedef struct _D3D12_SIGNATURE_PARAMETER_DESC | ||
| 61 | { | ||
| 62 | LPCSTR SemanticName; // Name of the semantic | ||
| 63 | UINT SemanticIndex; // Index of the semantic | ||
| 64 | UINT Register; // Number of member variables | ||
| 65 | D3D_NAME SystemValueType;// A predefined system value, or D3D_NAME_UNDEFINED if not applicable | ||
| 66 | D3D_REGISTER_COMPONENT_TYPE ComponentType; // Scalar type (e.g. uint, float, etc.) | ||
| 67 | BYTE Mask; // Mask to indicate which components of the register | ||
| 68 | // are used (combination of D3D10_COMPONENT_MASK values) | ||
| 69 | BYTE ReadWriteMask; // Mask to indicate whether a given component is | ||
| 70 | // never written (if this is an output signature) or | ||
| 71 | // always read (if this is an input signature). | ||
| 72 | // (combination of D3D_MASK_* values) | ||
| 73 | UINT Stream; // Stream index | ||
| 74 | D3D_MIN_PRECISION MinPrecision; // Minimum desired interpolation precision | ||
| 75 | } D3D12_SIGNATURE_PARAMETER_DESC; | ||
| 76 | |||
| 77 | typedef struct _D3D12_SHADER_BUFFER_DESC | ||
| 78 | { | ||
| 79 | LPCSTR Name; // Name of the constant buffer | ||
| 80 | D3D_CBUFFER_TYPE Type; // Indicates type of buffer content | ||
| 81 | UINT Variables; // Number of member variables | ||
| 82 | UINT Size; // Size of CB (in bytes) | ||
| 83 | UINT uFlags; // Buffer description flags | ||
| 84 | } D3D12_SHADER_BUFFER_DESC; | ||
| 85 | |||
| 86 | typedef struct _D3D12_SHADER_VARIABLE_DESC | ||
| 87 | { | ||
| 88 | LPCSTR Name; // Name of the variable | ||
| 89 | UINT StartOffset; // Offset in constant buffer's backing store | ||
| 90 | UINT Size; // Size of variable (in bytes) | ||
| 91 | UINT uFlags; // Variable flags | ||
| 92 | LPVOID DefaultValue; // Raw pointer to default value | ||
| 93 | UINT StartTexture; // First texture index (or -1 if no textures used) | ||
| 94 | UINT TextureSize; // Number of texture slots possibly used. | ||
| 95 | UINT StartSampler; // First sampler index (or -1 if no textures used) | ||
| 96 | UINT SamplerSize; // Number of sampler slots possibly used. | ||
| 97 | } D3D12_SHADER_VARIABLE_DESC; | ||
| 98 | |||
| 99 | typedef struct _D3D12_SHADER_TYPE_DESC | ||
| 100 | { | ||
| 101 | D3D_SHADER_VARIABLE_CLASS Class; // Variable class (e.g. object, matrix, etc.) | ||
| 102 | D3D_SHADER_VARIABLE_TYPE Type; // Variable type (e.g. float, sampler, etc.) | ||
| 103 | UINT Rows; // Number of rows (for matrices, 1 for other numeric, 0 if not applicable) | ||
| 104 | UINT Columns; // Number of columns (for vectors & matrices, 1 for other numeric, 0 if not applicable) | ||
| 105 | UINT Elements; // Number of elements (0 if not an array) | ||
| 106 | UINT Members; // Number of members (0 if not a structure) | ||
| 107 | UINT Offset; // Offset from the start of structure (0 if not a structure member) | ||
| 108 | LPCSTR Name; // Name of type, can be NULL | ||
| 109 | } D3D12_SHADER_TYPE_DESC; | ||
| 110 | |||
| 111 | typedef D3D_TESSELLATOR_DOMAIN D3D12_TESSELLATOR_DOMAIN; | ||
| 112 | |||
| 113 | typedef D3D_TESSELLATOR_PARTITIONING D3D12_TESSELLATOR_PARTITIONING; | ||
| 114 | |||
| 115 | typedef D3D_TESSELLATOR_OUTPUT_PRIMITIVE D3D12_TESSELLATOR_OUTPUT_PRIMITIVE; | ||
| 116 | |||
| 117 | typedef struct _D3D12_SHADER_DESC | ||
| 118 | { | ||
| 119 | UINT Version; // Shader version | ||
| 120 | LPCSTR Creator; // Creator string | ||
| 121 | UINT Flags; // Shader compilation/parse flags | ||
| 122 | |||
| 123 | UINT ConstantBuffers; // Number of constant buffers | ||
| 124 | UINT BoundResources; // Number of bound resources | ||
| 125 | UINT InputParameters; // Number of parameters in the input signature | ||
| 126 | UINT OutputParameters; // Number of parameters in the output signature | ||
| 127 | |||
| 128 | UINT InstructionCount; // Number of emitted instructions | ||
| 129 | UINT TempRegisterCount; // Number of temporary registers used | ||
| 130 | UINT TempArrayCount; // Number of temporary arrays used | ||
| 131 | UINT DefCount; // Number of constant defines | ||
| 132 | UINT DclCount; // Number of declarations (input + output) | ||
| 133 | UINT TextureNormalInstructions; // Number of non-categorized texture instructions | ||
| 134 | UINT TextureLoadInstructions; // Number of texture load instructions | ||
| 135 | UINT TextureCompInstructions; // Number of texture comparison instructions | ||
| 136 | UINT TextureBiasInstructions; // Number of texture bias instructions | ||
| 137 | UINT TextureGradientInstructions; // Number of texture gradient instructions | ||
| 138 | UINT FloatInstructionCount; // Number of floating point arithmetic instructions used | ||
| 139 | UINT IntInstructionCount; // Number of signed integer arithmetic instructions used | ||
| 140 | UINT UintInstructionCount; // Number of unsigned integer arithmetic instructions used | ||
| 141 | UINT StaticFlowControlCount; // Number of static flow control instructions used | ||
| 142 | UINT DynamicFlowControlCount; // Number of dynamic flow control instructions used | ||
| 143 | UINT MacroInstructionCount; // Number of macro instructions used | ||
| 144 | UINT ArrayInstructionCount; // Number of array instructions used | ||
| 145 | UINT CutInstructionCount; // Number of cut instructions used | ||
| 146 | UINT EmitInstructionCount; // Number of emit instructions used | ||
| 147 | D3D_PRIMITIVE_TOPOLOGY GSOutputTopology; // Geometry shader output topology | ||
| 148 | UINT GSMaxOutputVertexCount; // Geometry shader maximum output vertex count | ||
| 149 | D3D_PRIMITIVE InputPrimitive; // GS/HS input primitive | ||
| 150 | UINT PatchConstantParameters; // Number of parameters in the patch constant signature | ||
| 151 | UINT cGSInstanceCount; // Number of Geometry shader instances | ||
| 152 | UINT cControlPoints; // Number of control points in the HS->DS stage | ||
| 153 | D3D_TESSELLATOR_OUTPUT_PRIMITIVE HSOutputPrimitive; // Primitive output by the tessellator | ||
| 154 | D3D_TESSELLATOR_PARTITIONING HSPartitioning; // Partitioning mode of the tessellator | ||
| 155 | D3D_TESSELLATOR_DOMAIN TessellatorDomain; // Domain of the tessellator (quad, tri, isoline) | ||
| 156 | // instruction counts | ||
| 157 | UINT cBarrierInstructions; // Number of barrier instructions in a compute shader | ||
| 158 | UINT cInterlockedInstructions; // Number of interlocked instructions | ||
| 159 | UINT cTextureStoreInstructions; // Number of texture writes | ||
| 160 | } D3D12_SHADER_DESC; | ||
| 161 | |||
| 162 | typedef struct _D3D12_SHADER_INPUT_BIND_DESC | ||
| 163 | { | ||
| 164 | LPCSTR Name; // Name of the resource | ||
| 165 | D3D_SHADER_INPUT_TYPE Type; // Type of resource (e.g. texture, cbuffer, etc.) | ||
| 166 | UINT BindPoint; // Starting bind point | ||
| 167 | UINT BindCount; // Number of contiguous bind points (for arrays) | ||
| 168 | |||
| 169 | UINT uFlags; // Input binding flags | ||
| 170 | D3D_RESOURCE_RETURN_TYPE ReturnType; // Return type (if texture) | ||
| 171 | D3D_SRV_DIMENSION Dimension; // Dimension (if texture) | ||
| 172 | UINT NumSamples; // Number of samples (0 if not MS texture) | ||
| 173 | UINT Space; // Register space | ||
| 174 | UINT uID; // Range ID in the bytecode | ||
| 175 | } D3D12_SHADER_INPUT_BIND_DESC; | ||
| 176 | |||
| 177 | #define D3D_SHADER_REQUIRES_DOUBLES 0x00000001 | ||
| 178 | #define D3D_SHADER_REQUIRES_EARLY_DEPTH_STENCIL 0x00000002 | ||
| 179 | #define D3D_SHADER_REQUIRES_UAVS_AT_EVERY_STAGE 0x00000004 | ||
| 180 | #define D3D_SHADER_REQUIRES_64_UAVS 0x00000008 | ||
| 181 | #define D3D_SHADER_REQUIRES_MINIMUM_PRECISION 0x00000010 | ||
| 182 | #define D3D_SHADER_REQUIRES_11_1_DOUBLE_EXTENSIONS 0x00000020 | ||
| 183 | #define D3D_SHADER_REQUIRES_11_1_SHADER_EXTENSIONS 0x00000040 | ||
| 184 | #define D3D_SHADER_REQUIRES_LEVEL_9_COMPARISON_FILTERING 0x00000080 | ||
| 185 | #define D3D_SHADER_REQUIRES_TILED_RESOURCES 0x00000100 | ||
| 186 | #define D3D_SHADER_REQUIRES_STENCIL_REF 0x00000200 | ||
| 187 | #define D3D_SHADER_REQUIRES_INNER_COVERAGE 0x00000400 | ||
| 188 | #define D3D_SHADER_REQUIRES_TYPED_UAV_LOAD_ADDITIONAL_FORMATS 0x00000800 | ||
| 189 | #define D3D_SHADER_REQUIRES_ROVS 0x00001000 | ||
| 190 | #define D3D_SHADER_REQUIRES_VIEWPORT_AND_RT_ARRAY_INDEX_FROM_ANY_SHADER_FEEDING_RASTERIZER 0x00002000 | ||
| 191 | #define D3D_SHADER_REQUIRES_WAVE_OPS 0x00004000 | ||
| 192 | #define D3D_SHADER_REQUIRES_INT64_OPS 0x00008000 | ||
| 193 | #define D3D_SHADER_REQUIRES_VIEW_ID 0x00010000 | ||
| 194 | #define D3D_SHADER_REQUIRES_BARYCENTRICS 0x00020000 | ||
| 195 | #define D3D_SHADER_REQUIRES_NATIVE_16BIT_OPS 0x00040000 | ||
| 196 | #define D3D_SHADER_REQUIRES_SHADING_RATE 0x00080000 | ||
| 197 | #define D3D_SHADER_REQUIRES_RAYTRACING_TIER_1_1 0x00100000 | ||
| 198 | #define D3D_SHADER_REQUIRES_SAMPLER_FEEDBACK 0x00200000 | ||
| 199 | #define D3D_SHADER_REQUIRES_ATOMIC_INT64_ON_TYPED_RESOURCE 0x00400000 | ||
| 200 | #define D3D_SHADER_REQUIRES_ATOMIC_INT64_ON_GROUP_SHARED 0x00800000 | ||
| 201 | #define D3D_SHADER_REQUIRES_DERIVATIVES_IN_MESH_AND_AMPLIFICATION_SHADERS 0x01000000 | ||
| 202 | #define D3D_SHADER_REQUIRES_RESOURCE_DESCRIPTOR_HEAP_INDEXING 0x02000000 | ||
| 203 | #define D3D_SHADER_REQUIRES_SAMPLER_DESCRIPTOR_HEAP_INDEXING 0x04000000 | ||
| 204 | #define D3D_SHADER_REQUIRES_WAVE_MMA 0x08000000 | ||
| 205 | #define D3D_SHADER_REQUIRES_ATOMIC_INT64_ON_DESCRIPTOR_HEAP_RESOURCE 0x10000000 | ||
| 206 | #define D3D_SHADER_REQUIRES_ADVANCED_TEXTURE_OPS 0x20000000 | ||
| 207 | #define D3D_SHADER_REQUIRES_WRITEABLE_MSAA_TEXTURES 0x40000000 | ||
| 208 | #define D3D_SHADER_REQUIRES_SAMPLE_CMP_GRADIENT_OR_BIAS 0x80000000 | ||
| 209 | #define D3D_SHADER_REQUIRES_EXTENDED_COMMAND_INFO 0x100000000ull | ||
| 210 | |||
| 211 | |||
| 212 | typedef struct _D3D12_LIBRARY_DESC | ||
| 213 | { | ||
| 214 | LPCSTR Creator; // The name of the originator of the library. | ||
| 215 | UINT Flags; // Compilation flags. | ||
| 216 | UINT FunctionCount; // Number of functions exported from the library. | ||
| 217 | } D3D12_LIBRARY_DESC; | ||
| 218 | |||
| 219 | typedef struct _D3D12_FUNCTION_DESC | ||
| 220 | { | ||
| 221 | UINT Version; // Shader version | ||
| 222 | LPCSTR Creator; // Creator string | ||
| 223 | UINT Flags; // Shader compilation/parse flags | ||
| 224 | |||
| 225 | UINT ConstantBuffers; // Number of constant buffers | ||
| 226 | UINT BoundResources; // Number of bound resources | ||
| 227 | |||
| 228 | UINT InstructionCount; // Number of emitted instructions | ||
| 229 | UINT TempRegisterCount; // Number of temporary registers used | ||
| 230 | UINT TempArrayCount; // Number of temporary arrays used | ||
| 231 | UINT DefCount; // Number of constant defines | ||
| 232 | UINT DclCount; // Number of declarations (input + output) | ||
| 233 | UINT TextureNormalInstructions; // Number of non-categorized texture instructions | ||
| 234 | UINT TextureLoadInstructions; // Number of texture load instructions | ||
| 235 | UINT TextureCompInstructions; // Number of texture comparison instructions | ||
| 236 | UINT TextureBiasInstructions; // Number of texture bias instructions | ||
| 237 | UINT TextureGradientInstructions; // Number of texture gradient instructions | ||
| 238 | UINT FloatInstructionCount; // Number of floating point arithmetic instructions used | ||
| 239 | UINT IntInstructionCount; // Number of signed integer arithmetic instructions used | ||
| 240 | UINT UintInstructionCount; // Number of unsigned integer arithmetic instructions used | ||
| 241 | UINT StaticFlowControlCount; // Number of static flow control instructions used | ||
| 242 | UINT DynamicFlowControlCount; // Number of dynamic flow control instructions used | ||
| 243 | UINT MacroInstructionCount; // Number of macro instructions used | ||
| 244 | UINT ArrayInstructionCount; // Number of array instructions used | ||
| 245 | UINT MovInstructionCount; // Number of mov instructions used | ||
| 246 | UINT MovcInstructionCount; // Number of movc instructions used | ||
| 247 | UINT ConversionInstructionCount; // Number of type conversion instructions used | ||
| 248 | UINT BitwiseInstructionCount; // Number of bitwise arithmetic instructions used | ||
| 249 | D3D_FEATURE_LEVEL MinFeatureLevel; // Min target of the function byte code | ||
| 250 | UINT64 RequiredFeatureFlags; // Required feature flags | ||
| 251 | |||
| 252 | LPCSTR Name; // Function name | ||
| 253 | INT FunctionParameterCount; // Number of logical parameters in the function signature (not including return) | ||
| 254 | BOOL HasReturn; // TRUE, if function returns a value, false - it is a subroutine | ||
| 255 | BOOL Has10Level9VertexShader; // TRUE, if there is a 10L9 VS blob | ||
| 256 | BOOL Has10Level9PixelShader; // TRUE, if there is a 10L9 PS blob | ||
| 257 | } D3D12_FUNCTION_DESC; | ||
| 258 | |||
| 259 | typedef struct _D3D12_PARAMETER_DESC | ||
| 260 | { | ||
| 261 | LPCSTR Name; // Parameter name. | ||
| 262 | LPCSTR SemanticName; // Parameter semantic name (+index). | ||
| 263 | D3D_SHADER_VARIABLE_TYPE Type; // Element type. | ||
| 264 | D3D_SHADER_VARIABLE_CLASS Class; // Scalar/Vector/Matrix. | ||
| 265 | UINT Rows; // Rows are for matrix parameters. | ||
| 266 | UINT Columns; // Components or Columns in matrix. | ||
| 267 | D3D_INTERPOLATION_MODE InterpolationMode; // Interpolation mode. | ||
| 268 | D3D_PARAMETER_FLAGS Flags; // Parameter modifiers. | ||
| 269 | |||
| 270 | UINT FirstInRegister; // The first input register for this parameter. | ||
| 271 | UINT FirstInComponent; // The first input register component for this parameter. | ||
| 272 | UINT FirstOutRegister; // The first output register for this parameter. | ||
| 273 | UINT FirstOutComponent; // The first output register component for this parameter. | ||
| 274 | } D3D12_PARAMETER_DESC; | ||
| 275 | |||
| 276 | |||
| 277 | ////////////////////////////////////////////////////////////////////////////// | ||
| 278 | // Interfaces //////////////////////////////////////////////////////////////// | ||
| 279 | ////////////////////////////////////////////////////////////////////////////// | ||
| 280 | |||
| 281 | typedef interface ID3D12ShaderReflectionType ID3D12ShaderReflectionType; | ||
| 282 | typedef interface ID3D12ShaderReflectionType *LPD3D12SHADERREFLECTIONTYPE; | ||
| 283 | |||
| 284 | typedef interface ID3D12ShaderReflectionVariable ID3D12ShaderReflectionVariable; | ||
| 285 | typedef interface ID3D12ShaderReflectionVariable *LPD3D12SHADERREFLECTIONVARIABLE; | ||
| 286 | |||
| 287 | typedef interface ID3D12ShaderReflectionConstantBuffer ID3D12ShaderReflectionConstantBuffer; | ||
| 288 | typedef interface ID3D12ShaderReflectionConstantBuffer *LPD3D12SHADERREFLECTIONCONSTANTBUFFER; | ||
| 289 | |||
| 290 | typedef interface ID3D12ShaderReflection ID3D12ShaderReflection; | ||
| 291 | typedef interface ID3D12ShaderReflection *LPD3D12SHADERREFLECTION; | ||
| 292 | |||
| 293 | typedef interface ID3D12LibraryReflection ID3D12LibraryReflection; | ||
| 294 | typedef interface ID3D12LibraryReflection *LPD3D12LIBRARYREFLECTION; | ||
| 295 | |||
| 296 | typedef interface ID3D12FunctionReflection ID3D12FunctionReflection; | ||
| 297 | typedef interface ID3D12FunctionReflection *LPD3D12FUNCTIONREFLECTION; | ||
| 298 | |||
| 299 | typedef interface ID3D12FunctionParameterReflection ID3D12FunctionParameterReflection; | ||
| 300 | typedef interface ID3D12FunctionParameterReflection *LPD3D12FUNCTIONPARAMETERREFLECTION; | ||
| 301 | |||
| 302 | |||
| 303 | // {E913C351-783D-48CA-A1D1-4F306284AD56} | ||
| 304 | interface DECLSPEC_UUID("E913C351-783D-48CA-A1D1-4F306284AD56") ID3D12ShaderReflectionType; | ||
| 305 | DEFINE_GUID(IID_ID3D12ShaderReflectionType, | ||
| 306 | 0xe913c351, 0x783d, 0x48ca, 0xa1, 0xd1, 0x4f, 0x30, 0x62, 0x84, 0xad, 0x56); | ||
| 307 | |||
| 308 | #undef INTERFACE | ||
| 309 | #define INTERFACE ID3D12ShaderReflectionType | ||
| 310 | |||
| 311 | DECLARE_INTERFACE(ID3D12ShaderReflectionType) | ||
| 312 | { | ||
| 313 | STDMETHOD(GetDesc)(THIS_ _Out_ D3D12_SHADER_TYPE_DESC *pDesc) PURE; | ||
| 314 | |||
| 315 | STDMETHOD_(ID3D12ShaderReflectionType*, GetMemberTypeByIndex)(THIS_ _In_ UINT Index) PURE; | ||
| 316 | STDMETHOD_(ID3D12ShaderReflectionType*, GetMemberTypeByName)(THIS_ _In_ LPCSTR Name) PURE; | ||
| 317 | STDMETHOD_(LPCSTR, GetMemberTypeName)(THIS_ _In_ UINT Index) PURE; | ||
| 318 | |||
| 319 | STDMETHOD(IsEqual)(THIS_ _In_ ID3D12ShaderReflectionType* pType) PURE; | ||
| 320 | STDMETHOD_(ID3D12ShaderReflectionType*, GetSubType)(THIS) PURE; | ||
| 321 | STDMETHOD_(ID3D12ShaderReflectionType*, GetBaseClass)(THIS) PURE; | ||
| 322 | STDMETHOD_(UINT, GetNumInterfaces)(THIS) PURE; | ||
| 323 | STDMETHOD_(ID3D12ShaderReflectionType*, GetInterfaceByIndex)(THIS_ _In_ UINT uIndex) PURE; | ||
| 324 | STDMETHOD(IsOfType)(THIS_ _In_ ID3D12ShaderReflectionType* pType) PURE; | ||
| 325 | STDMETHOD(ImplementsInterface)(THIS_ _In_ ID3D12ShaderReflectionType* pBase) PURE; | ||
| 326 | }; | ||
| 327 | |||
| 328 | // {8337A8A6-A216-444A-B2F4-314733A73AEA} | ||
| 329 | interface DECLSPEC_UUID("8337A8A6-A216-444A-B2F4-314733A73AEA") ID3D12ShaderReflectionVariable; | ||
| 330 | DEFINE_GUID(IID_ID3D12ShaderReflectionVariable, | ||
| 331 | 0x8337a8a6, 0xa216, 0x444a, 0xb2, 0xf4, 0x31, 0x47, 0x33, 0xa7, 0x3a, 0xea); | ||
| 332 | |||
| 333 | #undef INTERFACE | ||
| 334 | #define INTERFACE ID3D12ShaderReflectionVariable | ||
| 335 | |||
| 336 | DECLARE_INTERFACE(ID3D12ShaderReflectionVariable) | ||
| 337 | { | ||
| 338 | STDMETHOD(GetDesc)(THIS_ _Out_ D3D12_SHADER_VARIABLE_DESC *pDesc) PURE; | ||
| 339 | |||
| 340 | STDMETHOD_(ID3D12ShaderReflectionType*, GetType)(THIS) PURE; | ||
| 341 | STDMETHOD_(ID3D12ShaderReflectionConstantBuffer*, GetBuffer)(THIS) PURE; | ||
| 342 | |||
| 343 | STDMETHOD_(UINT, GetInterfaceSlot)(THIS_ _In_ UINT uArrayIndex) PURE; | ||
| 344 | }; | ||
| 345 | |||
| 346 | // {C59598B4-48B3-4869-B9B1-B1618B14A8B7} | ||
| 347 | interface DECLSPEC_UUID("C59598B4-48B3-4869-B9B1-B1618B14A8B7") ID3D12ShaderReflectionConstantBuffer; | ||
| 348 | DEFINE_GUID(IID_ID3D12ShaderReflectionConstantBuffer, | ||
| 349 | 0xc59598b4, 0x48b3, 0x4869, 0xb9, 0xb1, 0xb1, 0x61, 0x8b, 0x14, 0xa8, 0xb7); | ||
| 350 | |||
| 351 | #undef INTERFACE | ||
| 352 | #define INTERFACE ID3D12ShaderReflectionConstantBuffer | ||
| 353 | |||
| 354 | DECLARE_INTERFACE(ID3D12ShaderReflectionConstantBuffer) | ||
| 355 | { | ||
| 356 | STDMETHOD(GetDesc)(THIS_ D3D12_SHADER_BUFFER_DESC *pDesc) PURE; | ||
| 357 | |||
| 358 | STDMETHOD_(ID3D12ShaderReflectionVariable*, GetVariableByIndex)(THIS_ _In_ UINT Index) PURE; | ||
| 359 | STDMETHOD_(ID3D12ShaderReflectionVariable*, GetVariableByName)(THIS_ _In_ LPCSTR Name) PURE; | ||
| 360 | }; | ||
| 361 | |||
| 362 | // The ID3D12ShaderReflection IID may change from SDK version to SDK version | ||
| 363 | // if the reflection API changes. This prevents new code with the new API | ||
| 364 | // from working with an old binary. Recompiling with the new header | ||
| 365 | // will pick up the new IID. | ||
| 366 | |||
| 367 | // {5A58797D-A72C-478D-8BA2-EFC6B0EFE88E} | ||
| 368 | interface DECLSPEC_UUID("5A58797D-A72C-478D-8BA2-EFC6B0EFE88E") ID3D12ShaderReflection; | ||
| 369 | DEFINE_GUID(IID_ID3D12ShaderReflection, | ||
| 370 | 0x5a58797d, 0xa72c, 0x478d, 0x8b, 0xa2, 0xef, 0xc6, 0xb0, 0xef, 0xe8, 0x8e); | ||
| 371 | |||
| 372 | #undef INTERFACE | ||
| 373 | #define INTERFACE ID3D12ShaderReflection | ||
| 374 | |||
| 375 | DECLARE_INTERFACE_(ID3D12ShaderReflection, IUnknown) | ||
| 376 | { | ||
| 377 | STDMETHOD(QueryInterface)(THIS_ _In_ REFIID iid, | ||
| 378 | _Out_ LPVOID *ppv) PURE; | ||
| 379 | STDMETHOD_(ULONG, AddRef)(THIS) PURE; | ||
| 380 | STDMETHOD_(ULONG, Release)(THIS) PURE; | ||
| 381 | |||
| 382 | STDMETHOD(GetDesc)(THIS_ _Out_ D3D12_SHADER_DESC *pDesc) PURE; | ||
| 383 | |||
| 384 | STDMETHOD_(ID3D12ShaderReflectionConstantBuffer*, GetConstantBufferByIndex)(THIS_ _In_ UINT Index) PURE; | ||
| 385 | STDMETHOD_(ID3D12ShaderReflectionConstantBuffer*, GetConstantBufferByName)(THIS_ _In_ LPCSTR Name) PURE; | ||
| 386 | |||
| 387 | STDMETHOD(GetResourceBindingDesc)(THIS_ _In_ UINT ResourceIndex, | ||
| 388 | _Out_ D3D12_SHADER_INPUT_BIND_DESC *pDesc) PURE; | ||
| 389 | |||
| 390 | STDMETHOD(GetInputParameterDesc)(THIS_ _In_ UINT ParameterIndex, | ||
| 391 | _Out_ D3D12_SIGNATURE_PARAMETER_DESC *pDesc) PURE; | ||
| 392 | STDMETHOD(GetOutputParameterDesc)(THIS_ _In_ UINT ParameterIndex, | ||
| 393 | _Out_ D3D12_SIGNATURE_PARAMETER_DESC *pDesc) PURE; | ||
| 394 | STDMETHOD(GetPatchConstantParameterDesc)(THIS_ _In_ UINT ParameterIndex, | ||
| 395 | _Out_ D3D12_SIGNATURE_PARAMETER_DESC *pDesc) PURE; | ||
| 396 | |||
| 397 | STDMETHOD_(ID3D12ShaderReflectionVariable*, GetVariableByName)(THIS_ _In_ LPCSTR Name) PURE; | ||
| 398 | |||
| 399 | STDMETHOD(GetResourceBindingDescByName)(THIS_ _In_ LPCSTR Name, | ||
| 400 | _Out_ D3D12_SHADER_INPUT_BIND_DESC *pDesc) PURE; | ||
| 401 | |||
| 402 | STDMETHOD_(UINT, GetMovInstructionCount)(THIS) PURE; | ||
| 403 | STDMETHOD_(UINT, GetMovcInstructionCount)(THIS) PURE; | ||
| 404 | STDMETHOD_(UINT, GetConversionInstructionCount)(THIS) PURE; | ||
| 405 | STDMETHOD_(UINT, GetBitwiseInstructionCount)(THIS) PURE; | ||
| 406 | |||
| 407 | STDMETHOD_(D3D_PRIMITIVE, GetGSInputPrimitive)(THIS) PURE; | ||
| 408 | STDMETHOD_(BOOL, IsSampleFrequencyShader)(THIS) PURE; | ||
| 409 | |||
| 410 | STDMETHOD_(UINT, GetNumInterfaceSlots)(THIS) PURE; | ||
| 411 | STDMETHOD(GetMinFeatureLevel)(THIS_ _Out_ enum D3D_FEATURE_LEVEL* pLevel) PURE; | ||
| 412 | |||
| 413 | STDMETHOD_(UINT, GetThreadGroupSize)(THIS_ | ||
| 414 | _Out_opt_ UINT* pSizeX, | ||
| 415 | _Out_opt_ UINT* pSizeY, | ||
| 416 | _Out_opt_ UINT* pSizeZ) PURE; | ||
| 417 | |||
| 418 | STDMETHOD_(UINT64, GetRequiresFlags)(THIS) PURE; | ||
| 419 | }; | ||
| 420 | |||
| 421 | // {8E349D19-54DB-4A56-9DC9-119D87BDB804} | ||
| 422 | interface DECLSPEC_UUID("8E349D19-54DB-4A56-9DC9-119D87BDB804") ID3D12LibraryReflection; | ||
| 423 | DEFINE_GUID(IID_ID3D12LibraryReflection, | ||
| 424 | 0x8e349d19, 0x54db, 0x4a56, 0x9d, 0xc9, 0x11, 0x9d, 0x87, 0xbd, 0xb8, 0x4); | ||
| 425 | |||
| 426 | #undef INTERFACE | ||
| 427 | #define INTERFACE ID3D12LibraryReflection | ||
| 428 | |||
| 429 | DECLARE_INTERFACE_(ID3D12LibraryReflection, IUnknown) | ||
| 430 | { | ||
| 431 | STDMETHOD(QueryInterface)(THIS_ _In_ REFIID iid, _Out_ LPVOID * ppv) PURE; | ||
| 432 | STDMETHOD_(ULONG, AddRef)(THIS) PURE; | ||
| 433 | STDMETHOD_(ULONG, Release)(THIS) PURE; | ||
| 434 | |||
| 435 | STDMETHOD(GetDesc)(THIS_ _Out_ D3D12_LIBRARY_DESC * pDesc) PURE; | ||
| 436 | |||
| 437 | STDMETHOD_(ID3D12FunctionReflection *, GetFunctionByIndex)(THIS_ _In_ INT FunctionIndex) PURE; | ||
| 438 | }; | ||
| 439 | |||
| 440 | // {1108795C-2772-4BA9-B2A8-D464DC7E2799} | ||
| 441 | interface DECLSPEC_UUID("1108795C-2772-4BA9-B2A8-D464DC7E2799") ID3D12FunctionReflection; | ||
| 442 | DEFINE_GUID(IID_ID3D12FunctionReflection, | ||
| 443 | 0x1108795c, 0x2772, 0x4ba9, 0xb2, 0xa8, 0xd4, 0x64, 0xdc, 0x7e, 0x27, 0x99); | ||
| 444 | |||
| 445 | #undef INTERFACE | ||
| 446 | #define INTERFACE ID3D12FunctionReflection | ||
| 447 | |||
| 448 | DECLARE_INTERFACE(ID3D12FunctionReflection) | ||
| 449 | { | ||
| 450 | STDMETHOD(GetDesc)(THIS_ _Out_ D3D12_FUNCTION_DESC * pDesc) PURE; | ||
| 451 | |||
| 452 | STDMETHOD_(ID3D12ShaderReflectionConstantBuffer *, GetConstantBufferByIndex)(THIS_ _In_ UINT BufferIndex) PURE; | ||
| 453 | STDMETHOD_(ID3D12ShaderReflectionConstantBuffer *, GetConstantBufferByName)(THIS_ _In_ LPCSTR Name) PURE; | ||
| 454 | |||
| 455 | STDMETHOD(GetResourceBindingDesc)(THIS_ _In_ UINT ResourceIndex, | ||
| 456 | _Out_ D3D12_SHADER_INPUT_BIND_DESC * pDesc) PURE; | ||
| 457 | |||
| 458 | STDMETHOD_(ID3D12ShaderReflectionVariable *, GetVariableByName)(THIS_ _In_ LPCSTR Name) PURE; | ||
| 459 | |||
| 460 | STDMETHOD(GetResourceBindingDescByName)(THIS_ _In_ LPCSTR Name, | ||
| 461 | _Out_ D3D12_SHADER_INPUT_BIND_DESC * pDesc) PURE; | ||
| 462 | |||
| 463 | // Use D3D_RETURN_PARAMETER_INDEX to get description of the return value. | ||
| 464 | STDMETHOD_(ID3D12FunctionParameterReflection *, GetFunctionParameter)(THIS_ _In_ INT ParameterIndex) PURE; | ||
| 465 | }; | ||
| 466 | |||
| 467 | // {EC25F42D-7006-4F2B-B33E-02CC3375733F} | ||
| 468 | interface DECLSPEC_UUID("EC25F42D-7006-4F2B-B33E-02CC3375733F") ID3D12FunctionParameterReflection; | ||
| 469 | DEFINE_GUID(IID_ID3D12FunctionParameterReflection, | ||
| 470 | 0xec25f42d, 0x7006, 0x4f2b, 0xb3, 0x3e, 0x2, 0xcc, 0x33, 0x75, 0x73, 0x3f); | ||
| 471 | |||
| 472 | #undef INTERFACE | ||
| 473 | #define INTERFACE ID3D12FunctionParameterReflection | ||
| 474 | |||
| 475 | DECLARE_INTERFACE(ID3D12FunctionParameterReflection) | ||
| 476 | { | ||
| 477 | STDMETHOD(GetDesc)(THIS_ _Out_ D3D12_PARAMETER_DESC * pDesc) PURE; | ||
| 478 | }; | ||
| 479 | |||
| 480 | |||
| 481 | ////////////////////////////////////////////////////////////////////////////// | ||
| 482 | // APIs ////////////////////////////////////////////////////////////////////// | ||
| 483 | ////////////////////////////////////////////////////////////////////////////// | ||
| 484 | |||
| 485 | #ifdef __cplusplus | ||
| 486 | extern "C" { | ||
| 487 | #endif //__cplusplus | ||
| 488 | |||
| 489 | #ifdef __cplusplus | ||
| 490 | } | ||
| 491 | #endif //__cplusplus | ||
| 492 | |||
| 493 | #endif //__D3D12SHADER_H__ | ||
| 494 | |||
| 495 | |||
diff --git a/contrib/microsoft.direct3d.d3d12.1.618.4/build/native/include/d3d12video.h b/contrib/microsoft.direct3d.d3d12.1.618.4/build/native/include/d3d12video.h new file mode 100644 index 0000000..843e78d --- /dev/null +++ b/contrib/microsoft.direct3d.d3d12.1.618.4/build/native/include/d3d12video.h | |||
| @@ -0,0 +1,10726 @@ | |||
| 1 | /*------------------------------------------------------------------------------------- | ||
| 2 | * | ||
| 3 | * Copyright (c) Microsoft Corporation | ||
| 4 | * Licensed under the MIT license | ||
| 5 | * | ||
| 6 | *-------------------------------------------------------------------------------------*/ | ||
| 7 | |||
| 8 | |||
| 9 | /* this ALWAYS GENERATED file contains the definitions for the interfaces */ | ||
| 10 | |||
| 11 | |||
| 12 | /* File created by MIDL compiler version 8.01.0628 */ | ||
| 13 | |||
| 14 | |||
| 15 | |||
| 16 | /* verify that the <rpcndr.h> version is high enough to compile this file*/ | ||
| 17 | #ifndef __REQUIRED_RPCNDR_H_VERSION__ | ||
| 18 | #define __REQUIRED_RPCNDR_H_VERSION__ 500 | ||
| 19 | #endif | ||
| 20 | |||
| 21 | /* verify that the <rpcsal.h> version is high enough to compile this file*/ | ||
| 22 | #ifndef __REQUIRED_RPCSAL_H_VERSION__ | ||
| 23 | #define __REQUIRED_RPCSAL_H_VERSION__ 100 | ||
| 24 | #endif | ||
| 25 | |||
| 26 | #include "rpc.h" | ||
| 27 | #include "rpcndr.h" | ||
| 28 | |||
| 29 | #ifndef __RPCNDR_H_VERSION__ | ||
| 30 | #error this stub requires an updated version of <rpcndr.h> | ||
| 31 | #endif /* __RPCNDR_H_VERSION__ */ | ||
| 32 | |||
| 33 | #ifndef COM_NO_WINDOWS_H | ||
| 34 | #include "windows.h" | ||
| 35 | #include "ole2.h" | ||
| 36 | #endif /*COM_NO_WINDOWS_H*/ | ||
| 37 | |||
| 38 | #ifndef __d3d12video_h__ | ||
| 39 | #define __d3d12video_h__ | ||
| 40 | |||
| 41 | #if defined(_MSC_VER) && (_MSC_VER >= 1020) | ||
| 42 | #pragma once | ||
| 43 | #endif | ||
| 44 | |||
| 45 | #ifndef DECLSPEC_XFGVIRT | ||
| 46 | #if defined(_CONTROL_FLOW_GUARD_XFG) | ||
| 47 | #define DECLSPEC_XFGVIRT(base, func) __declspec(xfg_virtual(base, func)) | ||
| 48 | #else | ||
| 49 | #define DECLSPEC_XFGVIRT(base, func) | ||
| 50 | #endif | ||
| 51 | #endif | ||
| 52 | |||
| 53 | /* Forward Declarations */ | ||
| 54 | |||
| 55 | #ifndef __ID3D12VideoDecoderHeap_FWD_DEFINED__ | ||
| 56 | #define __ID3D12VideoDecoderHeap_FWD_DEFINED__ | ||
| 57 | typedef interface ID3D12VideoDecoderHeap ID3D12VideoDecoderHeap; | ||
| 58 | |||
| 59 | #endif /* __ID3D12VideoDecoderHeap_FWD_DEFINED__ */ | ||
| 60 | |||
| 61 | |||
| 62 | #ifndef __ID3D12VideoDevice_FWD_DEFINED__ | ||
| 63 | #define __ID3D12VideoDevice_FWD_DEFINED__ | ||
| 64 | typedef interface ID3D12VideoDevice ID3D12VideoDevice; | ||
| 65 | |||
| 66 | #endif /* __ID3D12VideoDevice_FWD_DEFINED__ */ | ||
| 67 | |||
| 68 | |||
| 69 | #ifndef __ID3D12VideoDecoder_FWD_DEFINED__ | ||
| 70 | #define __ID3D12VideoDecoder_FWD_DEFINED__ | ||
| 71 | typedef interface ID3D12VideoDecoder ID3D12VideoDecoder; | ||
| 72 | |||
| 73 | #endif /* __ID3D12VideoDecoder_FWD_DEFINED__ */ | ||
| 74 | |||
| 75 | |||
| 76 | #ifndef __ID3D12VideoProcessor_FWD_DEFINED__ | ||
| 77 | #define __ID3D12VideoProcessor_FWD_DEFINED__ | ||
| 78 | typedef interface ID3D12VideoProcessor ID3D12VideoProcessor; | ||
| 79 | |||
| 80 | #endif /* __ID3D12VideoProcessor_FWD_DEFINED__ */ | ||
| 81 | |||
| 82 | |||
| 83 | #ifndef __ID3D12VideoDecodeCommandList_FWD_DEFINED__ | ||
| 84 | #define __ID3D12VideoDecodeCommandList_FWD_DEFINED__ | ||
| 85 | typedef interface ID3D12VideoDecodeCommandList ID3D12VideoDecodeCommandList; | ||
| 86 | |||
| 87 | #endif /* __ID3D12VideoDecodeCommandList_FWD_DEFINED__ */ | ||
| 88 | |||
| 89 | |||
| 90 | #ifndef __ID3D12VideoProcessCommandList_FWD_DEFINED__ | ||
| 91 | #define __ID3D12VideoProcessCommandList_FWD_DEFINED__ | ||
| 92 | typedef interface ID3D12VideoProcessCommandList ID3D12VideoProcessCommandList; | ||
| 93 | |||
| 94 | #endif /* __ID3D12VideoProcessCommandList_FWD_DEFINED__ */ | ||
| 95 | |||
| 96 | |||
| 97 | #ifndef __ID3D12VideoDecodeCommandList1_FWD_DEFINED__ | ||
| 98 | #define __ID3D12VideoDecodeCommandList1_FWD_DEFINED__ | ||
| 99 | typedef interface ID3D12VideoDecodeCommandList1 ID3D12VideoDecodeCommandList1; | ||
| 100 | |||
| 101 | #endif /* __ID3D12VideoDecodeCommandList1_FWD_DEFINED__ */ | ||
| 102 | |||
| 103 | |||
| 104 | #ifndef __ID3D12VideoProcessCommandList1_FWD_DEFINED__ | ||
| 105 | #define __ID3D12VideoProcessCommandList1_FWD_DEFINED__ | ||
| 106 | typedef interface ID3D12VideoProcessCommandList1 ID3D12VideoProcessCommandList1; | ||
| 107 | |||
| 108 | #endif /* __ID3D12VideoProcessCommandList1_FWD_DEFINED__ */ | ||
| 109 | |||
| 110 | |||
| 111 | #ifndef __ID3D12VideoMotionEstimator_FWD_DEFINED__ | ||
| 112 | #define __ID3D12VideoMotionEstimator_FWD_DEFINED__ | ||
| 113 | typedef interface ID3D12VideoMotionEstimator ID3D12VideoMotionEstimator; | ||
| 114 | |||
| 115 | #endif /* __ID3D12VideoMotionEstimator_FWD_DEFINED__ */ | ||
| 116 | |||
| 117 | |||
| 118 | #ifndef __ID3D12VideoMotionVectorHeap_FWD_DEFINED__ | ||
| 119 | #define __ID3D12VideoMotionVectorHeap_FWD_DEFINED__ | ||
| 120 | typedef interface ID3D12VideoMotionVectorHeap ID3D12VideoMotionVectorHeap; | ||
| 121 | |||
| 122 | #endif /* __ID3D12VideoMotionVectorHeap_FWD_DEFINED__ */ | ||
| 123 | |||
| 124 | |||
| 125 | #ifndef __ID3D12VideoDevice1_FWD_DEFINED__ | ||
| 126 | #define __ID3D12VideoDevice1_FWD_DEFINED__ | ||
| 127 | typedef interface ID3D12VideoDevice1 ID3D12VideoDevice1; | ||
| 128 | |||
| 129 | #endif /* __ID3D12VideoDevice1_FWD_DEFINED__ */ | ||
| 130 | |||
| 131 | |||
| 132 | #ifndef __ID3D12VideoEncodeCommandList_FWD_DEFINED__ | ||
| 133 | #define __ID3D12VideoEncodeCommandList_FWD_DEFINED__ | ||
| 134 | typedef interface ID3D12VideoEncodeCommandList ID3D12VideoEncodeCommandList; | ||
| 135 | |||
| 136 | #endif /* __ID3D12VideoEncodeCommandList_FWD_DEFINED__ */ | ||
| 137 | |||
| 138 | |||
| 139 | #ifndef __ID3D12VideoDecoder1_FWD_DEFINED__ | ||
| 140 | #define __ID3D12VideoDecoder1_FWD_DEFINED__ | ||
| 141 | typedef interface ID3D12VideoDecoder1 ID3D12VideoDecoder1; | ||
| 142 | |||
| 143 | #endif /* __ID3D12VideoDecoder1_FWD_DEFINED__ */ | ||
| 144 | |||
| 145 | |||
| 146 | #ifndef __ID3D12VideoDecoderHeap1_FWD_DEFINED__ | ||
| 147 | #define __ID3D12VideoDecoderHeap1_FWD_DEFINED__ | ||
| 148 | typedef interface ID3D12VideoDecoderHeap1 ID3D12VideoDecoderHeap1; | ||
| 149 | |||
| 150 | #endif /* __ID3D12VideoDecoderHeap1_FWD_DEFINED__ */ | ||
| 151 | |||
| 152 | |||
| 153 | #ifndef __ID3D12VideoProcessor1_FWD_DEFINED__ | ||
| 154 | #define __ID3D12VideoProcessor1_FWD_DEFINED__ | ||
| 155 | typedef interface ID3D12VideoProcessor1 ID3D12VideoProcessor1; | ||
| 156 | |||
| 157 | #endif /* __ID3D12VideoProcessor1_FWD_DEFINED__ */ | ||
| 158 | |||
| 159 | |||
| 160 | #ifndef __ID3D12VideoExtensionCommand_FWD_DEFINED__ | ||
| 161 | #define __ID3D12VideoExtensionCommand_FWD_DEFINED__ | ||
| 162 | typedef interface ID3D12VideoExtensionCommand ID3D12VideoExtensionCommand; | ||
| 163 | |||
| 164 | #endif /* __ID3D12VideoExtensionCommand_FWD_DEFINED__ */ | ||
| 165 | |||
| 166 | |||
| 167 | #ifndef __ID3D12VideoDevice2_FWD_DEFINED__ | ||
| 168 | #define __ID3D12VideoDevice2_FWD_DEFINED__ | ||
| 169 | typedef interface ID3D12VideoDevice2 ID3D12VideoDevice2; | ||
| 170 | |||
| 171 | #endif /* __ID3D12VideoDevice2_FWD_DEFINED__ */ | ||
| 172 | |||
| 173 | |||
| 174 | #ifndef __ID3D12VideoDecodeCommandList2_FWD_DEFINED__ | ||
| 175 | #define __ID3D12VideoDecodeCommandList2_FWD_DEFINED__ | ||
| 176 | typedef interface ID3D12VideoDecodeCommandList2 ID3D12VideoDecodeCommandList2; | ||
| 177 | |||
| 178 | #endif /* __ID3D12VideoDecodeCommandList2_FWD_DEFINED__ */ | ||
| 179 | |||
| 180 | |||
| 181 | #ifndef __ID3D12VideoDecodeCommandList3_FWD_DEFINED__ | ||
| 182 | #define __ID3D12VideoDecodeCommandList3_FWD_DEFINED__ | ||
| 183 | typedef interface ID3D12VideoDecodeCommandList3 ID3D12VideoDecodeCommandList3; | ||
| 184 | |||
| 185 | #endif /* __ID3D12VideoDecodeCommandList3_FWD_DEFINED__ */ | ||
| 186 | |||
| 187 | |||
| 188 | #ifndef __ID3D12VideoProcessCommandList2_FWD_DEFINED__ | ||
| 189 | #define __ID3D12VideoProcessCommandList2_FWD_DEFINED__ | ||
| 190 | typedef interface ID3D12VideoProcessCommandList2 ID3D12VideoProcessCommandList2; | ||
| 191 | |||
| 192 | #endif /* __ID3D12VideoProcessCommandList2_FWD_DEFINED__ */ | ||
| 193 | |||
| 194 | |||
| 195 | #ifndef __ID3D12VideoProcessCommandList3_FWD_DEFINED__ | ||
| 196 | #define __ID3D12VideoProcessCommandList3_FWD_DEFINED__ | ||
| 197 | typedef interface ID3D12VideoProcessCommandList3 ID3D12VideoProcessCommandList3; | ||
| 198 | |||
| 199 | #endif /* __ID3D12VideoProcessCommandList3_FWD_DEFINED__ */ | ||
| 200 | |||
| 201 | |||
| 202 | #ifndef __ID3D12VideoEncodeCommandList1_FWD_DEFINED__ | ||
| 203 | #define __ID3D12VideoEncodeCommandList1_FWD_DEFINED__ | ||
| 204 | typedef interface ID3D12VideoEncodeCommandList1 ID3D12VideoEncodeCommandList1; | ||
| 205 | |||
| 206 | #endif /* __ID3D12VideoEncodeCommandList1_FWD_DEFINED__ */ | ||
| 207 | |||
| 208 | |||
| 209 | #ifndef __ID3D12VideoEncoder_FWD_DEFINED__ | ||
| 210 | #define __ID3D12VideoEncoder_FWD_DEFINED__ | ||
| 211 | typedef interface ID3D12VideoEncoder ID3D12VideoEncoder; | ||
| 212 | |||
| 213 | #endif /* __ID3D12VideoEncoder_FWD_DEFINED__ */ | ||
| 214 | |||
| 215 | |||
| 216 | #ifndef __ID3D12VideoEncoderHeap_FWD_DEFINED__ | ||
| 217 | #define __ID3D12VideoEncoderHeap_FWD_DEFINED__ | ||
| 218 | typedef interface ID3D12VideoEncoderHeap ID3D12VideoEncoderHeap; | ||
| 219 | |||
| 220 | #endif /* __ID3D12VideoEncoderHeap_FWD_DEFINED__ */ | ||
| 221 | |||
| 222 | |||
| 223 | #ifndef __ID3D12VideoDevice3_FWD_DEFINED__ | ||
| 224 | #define __ID3D12VideoDevice3_FWD_DEFINED__ | ||
| 225 | typedef interface ID3D12VideoDevice3 ID3D12VideoDevice3; | ||
| 226 | |||
| 227 | #endif /* __ID3D12VideoDevice3_FWD_DEFINED__ */ | ||
| 228 | |||
| 229 | |||
| 230 | #ifndef __ID3D12VideoEncodeCommandList2_FWD_DEFINED__ | ||
| 231 | #define __ID3D12VideoEncodeCommandList2_FWD_DEFINED__ | ||
| 232 | typedef interface ID3D12VideoEncodeCommandList2 ID3D12VideoEncodeCommandList2; | ||
| 233 | |||
| 234 | #endif /* __ID3D12VideoEncodeCommandList2_FWD_DEFINED__ */ | ||
| 235 | |||
| 236 | |||
| 237 | #ifndef __ID3D12VideoEncodeCommandList3_FWD_DEFINED__ | ||
| 238 | #define __ID3D12VideoEncodeCommandList3_FWD_DEFINED__ | ||
| 239 | typedef interface ID3D12VideoEncodeCommandList3 ID3D12VideoEncodeCommandList3; | ||
| 240 | |||
| 241 | #endif /* __ID3D12VideoEncodeCommandList3_FWD_DEFINED__ */ | ||
| 242 | |||
| 243 | |||
| 244 | #ifndef __ID3D12VideoEncoderHeap1_FWD_DEFINED__ | ||
| 245 | #define __ID3D12VideoEncoderHeap1_FWD_DEFINED__ | ||
| 246 | typedef interface ID3D12VideoEncoderHeap1 ID3D12VideoEncoderHeap1; | ||
| 247 | |||
| 248 | #endif /* __ID3D12VideoEncoderHeap1_FWD_DEFINED__ */ | ||
| 249 | |||
| 250 | |||
| 251 | #ifndef __ID3D12VideoDevice4_FWD_DEFINED__ | ||
| 252 | #define __ID3D12VideoDevice4_FWD_DEFINED__ | ||
| 253 | typedef interface ID3D12VideoDevice4 ID3D12VideoDevice4; | ||
| 254 | |||
| 255 | #endif /* __ID3D12VideoDevice4_FWD_DEFINED__ */ | ||
| 256 | |||
| 257 | |||
| 258 | #ifndef __ID3D12VideoEncodeCommandList4_FWD_DEFINED__ | ||
| 259 | #define __ID3D12VideoEncodeCommandList4_FWD_DEFINED__ | ||
| 260 | typedef interface ID3D12VideoEncodeCommandList4 ID3D12VideoEncodeCommandList4; | ||
| 261 | |||
| 262 | #endif /* __ID3D12VideoEncodeCommandList4_FWD_DEFINED__ */ | ||
| 263 | |||
| 264 | |||
| 265 | /* header files for imported files */ | ||
| 266 | #include "oaidl.h" | ||
| 267 | #include "ocidl.h" | ||
| 268 | #include "dxgicommon.h" | ||
| 269 | #include "d3d12.h" | ||
| 270 | |||
| 271 | #ifdef __cplusplus | ||
| 272 | extern "C"{ | ||
| 273 | #endif | ||
| 274 | |||
| 275 | |||
| 276 | /* interface __MIDL_itf_d3d12video_0000_0000 */ | ||
| 277 | /* [local] */ | ||
| 278 | |||
| 279 | #include <winapifamily.h> | ||
| 280 | #pragma region App Family | ||
| 281 | #if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP | WINAPI_PARTITION_GAMES) | ||
| 282 | typedef | ||
| 283 | enum D3D12_VIDEO_FIELD_TYPE | ||
| 284 | { | ||
| 285 | D3D12_VIDEO_FIELD_TYPE_NONE = 0, | ||
| 286 | D3D12_VIDEO_FIELD_TYPE_INTERLACED_TOP_FIELD_FIRST = 1, | ||
| 287 | D3D12_VIDEO_FIELD_TYPE_INTERLACED_BOTTOM_FIELD_FIRST = 2 | ||
| 288 | } D3D12_VIDEO_FIELD_TYPE; | ||
| 289 | |||
| 290 | typedef | ||
| 291 | enum D3D12_VIDEO_FRAME_STEREO_FORMAT | ||
| 292 | { | ||
| 293 | D3D12_VIDEO_FRAME_STEREO_FORMAT_NONE = 0, | ||
| 294 | D3D12_VIDEO_FRAME_STEREO_FORMAT_MONO = 1, | ||
| 295 | D3D12_VIDEO_FRAME_STEREO_FORMAT_HORIZONTAL = 2, | ||
| 296 | D3D12_VIDEO_FRAME_STEREO_FORMAT_VERTICAL = 3, | ||
| 297 | D3D12_VIDEO_FRAME_STEREO_FORMAT_SEPARATE = 4 | ||
| 298 | } D3D12_VIDEO_FRAME_STEREO_FORMAT; | ||
| 299 | |||
| 300 | typedef struct D3D12_VIDEO_FORMAT | ||
| 301 | { | ||
| 302 | DXGI_FORMAT Format; | ||
| 303 | DXGI_COLOR_SPACE_TYPE ColorSpace; | ||
| 304 | } D3D12_VIDEO_FORMAT; | ||
| 305 | |||
| 306 | typedef struct D3D12_VIDEO_SAMPLE | ||
| 307 | { | ||
| 308 | UINT Width; | ||
| 309 | UINT Height; | ||
| 310 | D3D12_VIDEO_FORMAT Format; | ||
| 311 | } D3D12_VIDEO_SAMPLE; | ||
| 312 | |||
| 313 | typedef | ||
| 314 | enum D3D12_VIDEO_FRAME_CODED_INTERLACE_TYPE | ||
| 315 | { | ||
| 316 | D3D12_VIDEO_FRAME_CODED_INTERLACE_TYPE_NONE = 0, | ||
| 317 | D3D12_VIDEO_FRAME_CODED_INTERLACE_TYPE_FIELD_BASED = 1 | ||
| 318 | } D3D12_VIDEO_FRAME_CODED_INTERLACE_TYPE; | ||
| 319 | |||
| 320 | typedef | ||
| 321 | enum D3D12_FEATURE_VIDEO | ||
| 322 | { | ||
| 323 | D3D12_FEATURE_VIDEO_DECODE_SUPPORT = 0, | ||
| 324 | D3D12_FEATURE_VIDEO_DECODE_PROFILES = 1, | ||
| 325 | D3D12_FEATURE_VIDEO_DECODE_FORMATS = 2, | ||
| 326 | D3D12_FEATURE_VIDEO_DECODE_CONVERSION_SUPPORT = 3, | ||
| 327 | D3D12_FEATURE_VIDEO_PROCESS_SUPPORT = 5, | ||
| 328 | D3D12_FEATURE_VIDEO_PROCESS_MAX_INPUT_STREAMS = 6, | ||
| 329 | D3D12_FEATURE_VIDEO_PROCESS_REFERENCE_INFO = 7, | ||
| 330 | D3D12_FEATURE_VIDEO_DECODER_HEAP_SIZE = 8, | ||
| 331 | D3D12_FEATURE_VIDEO_PROCESSOR_SIZE = 9, | ||
| 332 | D3D12_FEATURE_VIDEO_DECODE_PROFILE_COUNT = 10, | ||
| 333 | D3D12_FEATURE_VIDEO_DECODE_FORMAT_COUNT = 11, | ||
| 334 | D3D12_FEATURE_VIDEO_ARCHITECTURE = 17, | ||
| 335 | D3D12_FEATURE_VIDEO_DECODE_HISTOGRAM = 18, | ||
| 336 | D3D12_FEATURE_VIDEO_FEATURE_AREA_SUPPORT = 19, | ||
| 337 | D3D12_FEATURE_VIDEO_MOTION_ESTIMATOR = 20, | ||
| 338 | D3D12_FEATURE_VIDEO_MOTION_ESTIMATOR_SIZE = 21, | ||
| 339 | D3D12_FEATURE_VIDEO_EXTENSION_COMMAND_COUNT = 22, | ||
| 340 | D3D12_FEATURE_VIDEO_EXTENSION_COMMANDS = 23, | ||
| 341 | D3D12_FEATURE_VIDEO_EXTENSION_COMMAND_PARAMETER_COUNT = 24, | ||
| 342 | D3D12_FEATURE_VIDEO_EXTENSION_COMMAND_PARAMETERS = 25, | ||
| 343 | D3D12_FEATURE_VIDEO_EXTENSION_COMMAND_SUPPORT = 26, | ||
| 344 | D3D12_FEATURE_VIDEO_EXTENSION_COMMAND_SIZE = 27, | ||
| 345 | D3D12_FEATURE_VIDEO_DECODE_PROTECTED_RESOURCES = 28, | ||
| 346 | D3D12_FEATURE_VIDEO_PROCESS_PROTECTED_RESOURCES = 29, | ||
| 347 | D3D12_FEATURE_VIDEO_MOTION_ESTIMATOR_PROTECTED_RESOURCES = 30, | ||
| 348 | D3D12_FEATURE_VIDEO_DECODER_HEAP_SIZE1 = 31, | ||
| 349 | D3D12_FEATURE_VIDEO_PROCESSOR_SIZE1 = 32, | ||
| 350 | D3D12_FEATURE_VIDEO_ENCODER_CODEC = 33, | ||
| 351 | D3D12_FEATURE_VIDEO_ENCODER_PROFILE_LEVEL = 34, | ||
| 352 | D3D12_FEATURE_VIDEO_ENCODER_OUTPUT_RESOLUTION_RATIOS_COUNT = 35, | ||
| 353 | D3D12_FEATURE_VIDEO_ENCODER_OUTPUT_RESOLUTION = 36, | ||
| 354 | D3D12_FEATURE_VIDEO_ENCODER_INPUT_FORMAT = 37, | ||
| 355 | D3D12_FEATURE_VIDEO_ENCODER_RATE_CONTROL_MODE = 38, | ||
| 356 | D3D12_FEATURE_VIDEO_ENCODER_INTRA_REFRESH_MODE = 39, | ||
| 357 | D3D12_FEATURE_VIDEO_ENCODER_FRAME_SUBREGION_LAYOUT_MODE = 40, | ||
| 358 | D3D12_FEATURE_VIDEO_ENCODER_HEAP_SIZE = 41, | ||
| 359 | D3D12_FEATURE_VIDEO_ENCODER_CODEC_CONFIGURATION_SUPPORT = 42, | ||
| 360 | D3D12_FEATURE_VIDEO_ENCODER_SUPPORT = 43, | ||
| 361 | D3D12_FEATURE_VIDEO_ENCODER_CODEC_PICTURE_CONTROL_SUPPORT = 44, | ||
| 362 | D3D12_FEATURE_VIDEO_ENCODER_RESOURCE_REQUIREMENTS = 45, | ||
| 363 | D3D12_FEATURE_VIDEO_ENCODER_FRAME_SUBREGION_LAYOUT_CONFIG = 46, | ||
| 364 | D3D12_FEATURE_VIDEO_ENCODER_SUPPORT1 = 47, | ||
| 365 | D3D12_FEATURE_VIDEO_ENCODER_RESOURCE_REQUIREMENTS1 = 48, | ||
| 366 | D3D12_FEATURE_VIDEO_ENCODER_RESOLVE_INPUT_PARAM_LAYOUT = 49, | ||
| 367 | D3D12_FEATURE_VIDEO_ENCODER_QPMAP_INPUT = 50, | ||
| 368 | D3D12_FEATURE_VIDEO_ENCODER_DIRTY_REGIONS = 51, | ||
| 369 | D3D12_FEATURE_VIDEO_ENCODER_MOTION_SEARCH = 52, | ||
| 370 | D3D12_FEATURE_VIDEO_ENCODER_SUPPORT2 = 55, | ||
| 371 | D3D12_FEATURE_VIDEO_ENCODER_HEAP_SIZE1 = 56, | ||
| 372 | D3D12_FEATURE_VIDEO_ENCODER_RATE_CONTROL_FRAME_ANALYSIS = 57 | ||
| 373 | } D3D12_FEATURE_VIDEO; | ||
| 374 | |||
| 375 | typedef | ||
| 376 | enum D3D12_BITSTREAM_ENCRYPTION_TYPE | ||
| 377 | { | ||
| 378 | D3D12_BITSTREAM_ENCRYPTION_TYPE_NONE = 0 | ||
| 379 | } D3D12_BITSTREAM_ENCRYPTION_TYPE; | ||
| 380 | |||
| 381 | typedef struct D3D12_VIDEO_DECODE_CONFIGURATION | ||
| 382 | { | ||
| 383 | GUID DecodeProfile; | ||
| 384 | D3D12_BITSTREAM_ENCRYPTION_TYPE BitstreamEncryption; | ||
| 385 | D3D12_VIDEO_FRAME_CODED_INTERLACE_TYPE InterlaceType; | ||
| 386 | } D3D12_VIDEO_DECODE_CONFIGURATION; | ||
| 387 | |||
| 388 | typedef struct D3D12_VIDEO_DECODER_DESC | ||
| 389 | { | ||
| 390 | UINT NodeMask; | ||
| 391 | D3D12_VIDEO_DECODE_CONFIGURATION Configuration; | ||
| 392 | } D3D12_VIDEO_DECODER_DESC; | ||
| 393 | |||
| 394 | typedef struct D3D12_VIDEO_DECODER_HEAP_DESC | ||
| 395 | { | ||
| 396 | UINT NodeMask; | ||
| 397 | D3D12_VIDEO_DECODE_CONFIGURATION Configuration; | ||
| 398 | UINT DecodeWidth; | ||
| 399 | UINT DecodeHeight; | ||
| 400 | DXGI_FORMAT Format; | ||
| 401 | DXGI_RATIONAL FrameRate; | ||
| 402 | UINT BitRate; | ||
| 403 | UINT MaxDecodePictureBufferCount; | ||
| 404 | } D3D12_VIDEO_DECODER_HEAP_DESC; | ||
| 405 | |||
| 406 | typedef struct D3D12_VIDEO_SIZE_RANGE | ||
| 407 | { | ||
| 408 | UINT MaxWidth; | ||
| 409 | UINT MaxHeight; | ||
| 410 | UINT MinWidth; | ||
| 411 | UINT MinHeight; | ||
| 412 | } D3D12_VIDEO_SIZE_RANGE; | ||
| 413 | |||
| 414 | typedef | ||
| 415 | enum D3D12_VIDEO_PROCESS_FILTER | ||
| 416 | { | ||
| 417 | D3D12_VIDEO_PROCESS_FILTER_BRIGHTNESS = 0, | ||
| 418 | D3D12_VIDEO_PROCESS_FILTER_CONTRAST = 1, | ||
| 419 | D3D12_VIDEO_PROCESS_FILTER_HUE = 2, | ||
| 420 | D3D12_VIDEO_PROCESS_FILTER_SATURATION = 3, | ||
| 421 | D3D12_VIDEO_PROCESS_FILTER_NOISE_REDUCTION = 4, | ||
| 422 | D3D12_VIDEO_PROCESS_FILTER_EDGE_ENHANCEMENT = 5, | ||
| 423 | D3D12_VIDEO_PROCESS_FILTER_ANAMORPHIC_SCALING = 6, | ||
| 424 | D3D12_VIDEO_PROCESS_FILTER_STEREO_ADJUSTMENT = 7 | ||
| 425 | } D3D12_VIDEO_PROCESS_FILTER; | ||
| 426 | |||
| 427 | typedef | ||
| 428 | enum D3D12_VIDEO_PROCESS_FILTER_FLAGS | ||
| 429 | { | ||
| 430 | D3D12_VIDEO_PROCESS_FILTER_FLAG_NONE = 0, | ||
| 431 | D3D12_VIDEO_PROCESS_FILTER_FLAG_BRIGHTNESS = ( 1 << D3D12_VIDEO_PROCESS_FILTER_BRIGHTNESS ) , | ||
| 432 | D3D12_VIDEO_PROCESS_FILTER_FLAG_CONTRAST = ( 1 << D3D12_VIDEO_PROCESS_FILTER_CONTRAST ) , | ||
| 433 | D3D12_VIDEO_PROCESS_FILTER_FLAG_HUE = ( 1 << D3D12_VIDEO_PROCESS_FILTER_HUE ) , | ||
| 434 | D3D12_VIDEO_PROCESS_FILTER_FLAG_SATURATION = ( 1 << D3D12_VIDEO_PROCESS_FILTER_SATURATION ) , | ||
| 435 | D3D12_VIDEO_PROCESS_FILTER_FLAG_NOISE_REDUCTION = ( 1 << D3D12_VIDEO_PROCESS_FILTER_NOISE_REDUCTION ) , | ||
| 436 | D3D12_VIDEO_PROCESS_FILTER_FLAG_EDGE_ENHANCEMENT = ( 1 << D3D12_VIDEO_PROCESS_FILTER_EDGE_ENHANCEMENT ) , | ||
| 437 | D3D12_VIDEO_PROCESS_FILTER_FLAG_ANAMORPHIC_SCALING = ( 1 << D3D12_VIDEO_PROCESS_FILTER_ANAMORPHIC_SCALING ) , | ||
| 438 | D3D12_VIDEO_PROCESS_FILTER_FLAG_STEREO_ADJUSTMENT = ( 1 << D3D12_VIDEO_PROCESS_FILTER_STEREO_ADJUSTMENT ) | ||
| 439 | } D3D12_VIDEO_PROCESS_FILTER_FLAGS; | ||
| 440 | |||
| 441 | DEFINE_ENUM_FLAG_OPERATORS(D3D12_VIDEO_PROCESS_FILTER_FLAGS ) | ||
| 442 | typedef | ||
| 443 | enum D3D12_VIDEO_PROCESS_DEINTERLACE_FLAGS | ||
| 444 | { | ||
| 445 | D3D12_VIDEO_PROCESS_DEINTERLACE_FLAG_NONE = 0, | ||
| 446 | D3D12_VIDEO_PROCESS_DEINTERLACE_FLAG_BOB = 0x1, | ||
| 447 | D3D12_VIDEO_PROCESS_DEINTERLACE_FLAG_CUSTOM = 0x80000000 | ||
| 448 | } D3D12_VIDEO_PROCESS_DEINTERLACE_FLAGS; | ||
| 449 | |||
| 450 | DEFINE_ENUM_FLAG_OPERATORS(D3D12_VIDEO_PROCESS_DEINTERLACE_FLAGS ) | ||
| 451 | typedef struct D3D12_VIDEO_PROCESS_ALPHA_BLENDING | ||
| 452 | { | ||
| 453 | BOOL Enable; | ||
| 454 | FLOAT Alpha; | ||
| 455 | } D3D12_VIDEO_PROCESS_ALPHA_BLENDING; | ||
| 456 | |||
| 457 | typedef struct D3D12_VIDEO_PROCESS_LUMA_KEY | ||
| 458 | { | ||
| 459 | BOOL Enable; | ||
| 460 | FLOAT Lower; | ||
| 461 | FLOAT Upper; | ||
| 462 | } D3D12_VIDEO_PROCESS_LUMA_KEY; | ||
| 463 | |||
| 464 | typedef struct D3D12_VIDEO_PROCESS_INPUT_STREAM_DESC | ||
| 465 | { | ||
| 466 | DXGI_FORMAT Format; | ||
| 467 | DXGI_COLOR_SPACE_TYPE ColorSpace; | ||
| 468 | DXGI_RATIONAL SourceAspectRatio; | ||
| 469 | DXGI_RATIONAL DestinationAspectRatio; | ||
| 470 | DXGI_RATIONAL FrameRate; | ||
| 471 | D3D12_VIDEO_SIZE_RANGE SourceSizeRange; | ||
| 472 | D3D12_VIDEO_SIZE_RANGE DestinationSizeRange; | ||
| 473 | BOOL EnableOrientation; | ||
| 474 | D3D12_VIDEO_PROCESS_FILTER_FLAGS FilterFlags; | ||
| 475 | D3D12_VIDEO_FRAME_STEREO_FORMAT StereoFormat; | ||
| 476 | D3D12_VIDEO_FIELD_TYPE FieldType; | ||
| 477 | D3D12_VIDEO_PROCESS_DEINTERLACE_FLAGS DeinterlaceMode; | ||
| 478 | BOOL EnableAlphaBlending; | ||
| 479 | D3D12_VIDEO_PROCESS_LUMA_KEY LumaKey; | ||
| 480 | UINT NumPastFrames; | ||
| 481 | UINT NumFutureFrames; | ||
| 482 | BOOL EnableAutoProcessing; | ||
| 483 | } D3D12_VIDEO_PROCESS_INPUT_STREAM_DESC; | ||
| 484 | |||
| 485 | typedef | ||
| 486 | enum D3D12_VIDEO_PROCESS_ALPHA_FILL_MODE | ||
| 487 | { | ||
| 488 | D3D12_VIDEO_PROCESS_ALPHA_FILL_MODE_OPAQUE = 0, | ||
| 489 | D3D12_VIDEO_PROCESS_ALPHA_FILL_MODE_BACKGROUND = 1, | ||
| 490 | D3D12_VIDEO_PROCESS_ALPHA_FILL_MODE_DESTINATION = 2, | ||
| 491 | D3D12_VIDEO_PROCESS_ALPHA_FILL_MODE_SOURCE_STREAM = 3 | ||
| 492 | } D3D12_VIDEO_PROCESS_ALPHA_FILL_MODE; | ||
| 493 | |||
| 494 | typedef struct D3D12_VIDEO_PROCESS_OUTPUT_STREAM_DESC | ||
| 495 | { | ||
| 496 | DXGI_FORMAT Format; | ||
| 497 | DXGI_COLOR_SPACE_TYPE ColorSpace; | ||
| 498 | D3D12_VIDEO_PROCESS_ALPHA_FILL_MODE AlphaFillMode; | ||
| 499 | UINT AlphaFillModeSourceStreamIndex; | ||
| 500 | FLOAT BackgroundColor[ 4 ]; | ||
| 501 | DXGI_RATIONAL FrameRate; | ||
| 502 | BOOL EnableStereo; | ||
| 503 | } D3D12_VIDEO_PROCESS_OUTPUT_STREAM_DESC; | ||
| 504 | |||
| 505 | |||
| 506 | |||
| 507 | extern RPC_IF_HANDLE __MIDL_itf_d3d12video_0000_0000_v0_0_c_ifspec; | ||
| 508 | extern RPC_IF_HANDLE __MIDL_itf_d3d12video_0000_0000_v0_0_s_ifspec; | ||
| 509 | |||
| 510 | #ifndef __ID3D12VideoDecoderHeap_INTERFACE_DEFINED__ | ||
| 511 | #define __ID3D12VideoDecoderHeap_INTERFACE_DEFINED__ | ||
| 512 | |||
| 513 | /* interface ID3D12VideoDecoderHeap */ | ||
| 514 | /* [unique][local][object][uuid] */ | ||
| 515 | |||
| 516 | |||
| 517 | EXTERN_C const IID IID_ID3D12VideoDecoderHeap; | ||
| 518 | |||
| 519 | #if defined(__cplusplus) && !defined(CINTERFACE) | ||
| 520 | |||
| 521 | MIDL_INTERFACE("0946B7C9-EBF6-4047-BB73-8683E27DBB1F") | ||
| 522 | ID3D12VideoDecoderHeap : public ID3D12Pageable | ||
| 523 | { | ||
| 524 | public: | ||
| 525 | #if defined(_MSC_VER) || !defined(_WIN32) | ||
| 526 | virtual D3D12_VIDEO_DECODER_HEAP_DESC STDMETHODCALLTYPE GetDesc( void) = 0; | ||
| 527 | #else | ||
| 528 | virtual D3D12_VIDEO_DECODER_HEAP_DESC *STDMETHODCALLTYPE GetDesc( | ||
| 529 | D3D12_VIDEO_DECODER_HEAP_DESC * RetVal) = 0; | ||
| 530 | #endif | ||
| 531 | |||
| 532 | }; | ||
| 533 | |||
| 534 | |||
| 535 | #else /* C style interface */ | ||
| 536 | |||
| 537 | typedef struct ID3D12VideoDecoderHeapVtbl | ||
| 538 | { | ||
| 539 | BEGIN_INTERFACE | ||
| 540 | |||
| 541 | DECLSPEC_XFGVIRT(IUnknown, QueryInterface) | ||
| 542 | HRESULT ( STDMETHODCALLTYPE *QueryInterface )( | ||
| 543 | ID3D12VideoDecoderHeap * This, | ||
| 544 | REFIID riid, | ||
| 545 | _COM_Outptr_ void **ppvObject); | ||
| 546 | |||
| 547 | DECLSPEC_XFGVIRT(IUnknown, AddRef) | ||
| 548 | ULONG ( STDMETHODCALLTYPE *AddRef )( | ||
| 549 | ID3D12VideoDecoderHeap * This); | ||
| 550 | |||
| 551 | DECLSPEC_XFGVIRT(IUnknown, Release) | ||
| 552 | ULONG ( STDMETHODCALLTYPE *Release )( | ||
| 553 | ID3D12VideoDecoderHeap * This); | ||
| 554 | |||
| 555 | DECLSPEC_XFGVIRT(ID3D12Object, GetPrivateData) | ||
| 556 | HRESULT ( STDMETHODCALLTYPE *GetPrivateData )( | ||
| 557 | ID3D12VideoDecoderHeap * This, | ||
| 558 | _In_ REFGUID guid, | ||
| 559 | _Inout_ UINT *pDataSize, | ||
| 560 | _Out_writes_bytes_opt_( *pDataSize ) void *pData); | ||
| 561 | |||
| 562 | DECLSPEC_XFGVIRT(ID3D12Object, SetPrivateData) | ||
| 563 | HRESULT ( STDMETHODCALLTYPE *SetPrivateData )( | ||
| 564 | ID3D12VideoDecoderHeap * This, | ||
| 565 | _In_ REFGUID guid, | ||
| 566 | _In_ UINT DataSize, | ||
| 567 | _In_reads_bytes_opt_( DataSize ) const void *pData); | ||
| 568 | |||
| 569 | DECLSPEC_XFGVIRT(ID3D12Object, SetPrivateDataInterface) | ||
| 570 | HRESULT ( STDMETHODCALLTYPE *SetPrivateDataInterface )( | ||
| 571 | ID3D12VideoDecoderHeap * This, | ||
| 572 | _In_ REFGUID guid, | ||
| 573 | _In_opt_ const IUnknown *pData); | ||
| 574 | |||
| 575 | DECLSPEC_XFGVIRT(ID3D12Object, SetName) | ||
| 576 | HRESULT ( STDMETHODCALLTYPE *SetName )( | ||
| 577 | ID3D12VideoDecoderHeap * This, | ||
| 578 | _In_z_ LPCWSTR Name); | ||
| 579 | |||
| 580 | DECLSPEC_XFGVIRT(ID3D12DeviceChild, GetDevice) | ||
| 581 | HRESULT ( STDMETHODCALLTYPE *GetDevice )( | ||
| 582 | ID3D12VideoDecoderHeap * This, | ||
| 583 | REFIID riid, | ||
| 584 | _COM_Outptr_opt_ void **ppvDevice); | ||
| 585 | |||
| 586 | DECLSPEC_XFGVIRT(ID3D12VideoDecoderHeap, GetDesc) | ||
| 587 | #if !defined(_WIN32) | ||
| 588 | D3D12_VIDEO_DECODER_HEAP_DESC ( STDMETHODCALLTYPE *GetDesc )( | ||
| 589 | ID3D12VideoDecoderHeap * This); | ||
| 590 | |||
| 591 | #else | ||
| 592 | D3D12_VIDEO_DECODER_HEAP_DESC *( STDMETHODCALLTYPE *GetDesc )( | ||
| 593 | ID3D12VideoDecoderHeap * This, | ||
| 594 | D3D12_VIDEO_DECODER_HEAP_DESC * RetVal); | ||
| 595 | |||
| 596 | #endif | ||
| 597 | |||
| 598 | END_INTERFACE | ||
| 599 | } ID3D12VideoDecoderHeapVtbl; | ||
| 600 | |||
| 601 | interface ID3D12VideoDecoderHeap | ||
| 602 | { | ||
| 603 | CONST_VTBL struct ID3D12VideoDecoderHeapVtbl *lpVtbl; | ||
| 604 | }; | ||
| 605 | |||
| 606 | |||
| 607 | |||
| 608 | #ifdef COBJMACROS | ||
| 609 | |||
| 610 | |||
| 611 | #define ID3D12VideoDecoderHeap_QueryInterface(This,riid,ppvObject) \ | ||
| 612 | ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) | ||
| 613 | |||
| 614 | #define ID3D12VideoDecoderHeap_AddRef(This) \ | ||
| 615 | ( (This)->lpVtbl -> AddRef(This) ) | ||
| 616 | |||
| 617 | #define ID3D12VideoDecoderHeap_Release(This) \ | ||
| 618 | ( (This)->lpVtbl -> Release(This) ) | ||
| 619 | |||
| 620 | |||
| 621 | #define ID3D12VideoDecoderHeap_GetPrivateData(This,guid,pDataSize,pData) \ | ||
| 622 | ( (This)->lpVtbl -> GetPrivateData(This,guid,pDataSize,pData) ) | ||
| 623 | |||
| 624 | #define ID3D12VideoDecoderHeap_SetPrivateData(This,guid,DataSize,pData) \ | ||
| 625 | ( (This)->lpVtbl -> SetPrivateData(This,guid,DataSize,pData) ) | ||
| 626 | |||
| 627 | #define ID3D12VideoDecoderHeap_SetPrivateDataInterface(This,guid,pData) \ | ||
| 628 | ( (This)->lpVtbl -> SetPrivateDataInterface(This,guid,pData) ) | ||
| 629 | |||
| 630 | #define ID3D12VideoDecoderHeap_SetName(This,Name) \ | ||
| 631 | ( (This)->lpVtbl -> SetName(This,Name) ) | ||
| 632 | |||
| 633 | |||
| 634 | #define ID3D12VideoDecoderHeap_GetDevice(This,riid,ppvDevice) \ | ||
| 635 | ( (This)->lpVtbl -> GetDevice(This,riid,ppvDevice) ) | ||
| 636 | |||
| 637 | |||
| 638 | #if !defined(_WIN32) | ||
| 639 | |||
| 640 | #define ID3D12VideoDecoderHeap_GetDesc(This) \ | ||
| 641 | ( (This)->lpVtbl -> GetDesc(This) ) | ||
| 642 | #else | ||
| 643 | #define ID3D12VideoDecoderHeap_GetDesc(This,RetVal) \ | ||
| 644 | ( (This)->lpVtbl -> GetDesc(This,RetVal) ) | ||
| 645 | #endif | ||
| 646 | |||
| 647 | #endif /* COBJMACROS */ | ||
| 648 | |||
| 649 | |||
| 650 | #endif /* C style interface */ | ||
| 651 | |||
| 652 | |||
| 653 | |||
| 654 | |||
| 655 | #endif /* __ID3D12VideoDecoderHeap_INTERFACE_DEFINED__ */ | ||
| 656 | |||
| 657 | |||
| 658 | #ifndef __ID3D12VideoDevice_INTERFACE_DEFINED__ | ||
| 659 | #define __ID3D12VideoDevice_INTERFACE_DEFINED__ | ||
| 660 | |||
| 661 | /* interface ID3D12VideoDevice */ | ||
| 662 | /* [unique][local][object][uuid] */ | ||
| 663 | |||
| 664 | |||
| 665 | EXTERN_C const IID IID_ID3D12VideoDevice; | ||
| 666 | |||
| 667 | #if defined(__cplusplus) && !defined(CINTERFACE) | ||
| 668 | |||
| 669 | MIDL_INTERFACE("1F052807-0B46-4ACC-8A89-364F793718A4") | ||
| 670 | ID3D12VideoDevice : public IUnknown | ||
| 671 | { | ||
| 672 | public: | ||
| 673 | virtual HRESULT STDMETHODCALLTYPE CheckFeatureSupport( | ||
| 674 | D3D12_FEATURE_VIDEO FeatureVideo, | ||
| 675 | _Inout_updates_bytes_(FeatureSupportDataSize) void *pFeatureSupportData, | ||
| 676 | UINT FeatureSupportDataSize) = 0; | ||
| 677 | |||
| 678 | virtual HRESULT STDMETHODCALLTYPE CreateVideoDecoder( | ||
| 679 | _In_ const D3D12_VIDEO_DECODER_DESC *pDesc, | ||
| 680 | _In_ REFIID riid, | ||
| 681 | _COM_Outptr_ void **ppVideoDecoder) = 0; | ||
| 682 | |||
| 683 | virtual HRESULT STDMETHODCALLTYPE CreateVideoDecoderHeap( | ||
| 684 | _In_ const D3D12_VIDEO_DECODER_HEAP_DESC *pVideoDecoderHeapDesc, | ||
| 685 | _In_ REFIID riid, | ||
| 686 | _COM_Outptr_ void **ppVideoDecoderHeap) = 0; | ||
| 687 | |||
| 688 | virtual HRESULT STDMETHODCALLTYPE CreateVideoProcessor( | ||
| 689 | UINT NodeMask, | ||
| 690 | _In_ const D3D12_VIDEO_PROCESS_OUTPUT_STREAM_DESC *pOutputStreamDesc, | ||
| 691 | UINT NumInputStreamDescs, | ||
| 692 | _In_reads_(NumInputStreamDescs) const D3D12_VIDEO_PROCESS_INPUT_STREAM_DESC *pInputStreamDescs, | ||
| 693 | _In_ REFIID riid, | ||
| 694 | _COM_Outptr_ void **ppVideoProcessor) = 0; | ||
| 695 | |||
| 696 | }; | ||
| 697 | |||
| 698 | |||
| 699 | #else /* C style interface */ | ||
| 700 | |||
| 701 | typedef struct ID3D12VideoDeviceVtbl | ||
| 702 | { | ||
| 703 | BEGIN_INTERFACE | ||
| 704 | |||
| 705 | DECLSPEC_XFGVIRT(IUnknown, QueryInterface) | ||
| 706 | HRESULT ( STDMETHODCALLTYPE *QueryInterface )( | ||
| 707 | ID3D12VideoDevice * This, | ||
| 708 | REFIID riid, | ||
| 709 | _COM_Outptr_ void **ppvObject); | ||
| 710 | |||
| 711 | DECLSPEC_XFGVIRT(IUnknown, AddRef) | ||
| 712 | ULONG ( STDMETHODCALLTYPE *AddRef )( | ||
| 713 | ID3D12VideoDevice * This); | ||
| 714 | |||
| 715 | DECLSPEC_XFGVIRT(IUnknown, Release) | ||
| 716 | ULONG ( STDMETHODCALLTYPE *Release )( | ||
| 717 | ID3D12VideoDevice * This); | ||
| 718 | |||
| 719 | DECLSPEC_XFGVIRT(ID3D12VideoDevice, CheckFeatureSupport) | ||
| 720 | HRESULT ( STDMETHODCALLTYPE *CheckFeatureSupport )( | ||
| 721 | ID3D12VideoDevice * This, | ||
| 722 | D3D12_FEATURE_VIDEO FeatureVideo, | ||
| 723 | _Inout_updates_bytes_(FeatureSupportDataSize) void *pFeatureSupportData, | ||
| 724 | UINT FeatureSupportDataSize); | ||
| 725 | |||
| 726 | DECLSPEC_XFGVIRT(ID3D12VideoDevice, CreateVideoDecoder) | ||
| 727 | HRESULT ( STDMETHODCALLTYPE *CreateVideoDecoder )( | ||
| 728 | ID3D12VideoDevice * This, | ||
| 729 | _In_ const D3D12_VIDEO_DECODER_DESC *pDesc, | ||
| 730 | _In_ REFIID riid, | ||
| 731 | _COM_Outptr_ void **ppVideoDecoder); | ||
| 732 | |||
| 733 | DECLSPEC_XFGVIRT(ID3D12VideoDevice, CreateVideoDecoderHeap) | ||
| 734 | HRESULT ( STDMETHODCALLTYPE *CreateVideoDecoderHeap )( | ||
| 735 | ID3D12VideoDevice * This, | ||
| 736 | _In_ const D3D12_VIDEO_DECODER_HEAP_DESC *pVideoDecoderHeapDesc, | ||
| 737 | _In_ REFIID riid, | ||
| 738 | _COM_Outptr_ void **ppVideoDecoderHeap); | ||
| 739 | |||
| 740 | DECLSPEC_XFGVIRT(ID3D12VideoDevice, CreateVideoProcessor) | ||
| 741 | HRESULT ( STDMETHODCALLTYPE *CreateVideoProcessor )( | ||
| 742 | ID3D12VideoDevice * This, | ||
| 743 | UINT NodeMask, | ||
| 744 | _In_ const D3D12_VIDEO_PROCESS_OUTPUT_STREAM_DESC *pOutputStreamDesc, | ||
| 745 | UINT NumInputStreamDescs, | ||
| 746 | _In_reads_(NumInputStreamDescs) const D3D12_VIDEO_PROCESS_INPUT_STREAM_DESC *pInputStreamDescs, | ||
| 747 | _In_ REFIID riid, | ||
| 748 | _COM_Outptr_ void **ppVideoProcessor); | ||
| 749 | |||
| 750 | END_INTERFACE | ||
| 751 | } ID3D12VideoDeviceVtbl; | ||
| 752 | |||
| 753 | interface ID3D12VideoDevice | ||
| 754 | { | ||
| 755 | CONST_VTBL struct ID3D12VideoDeviceVtbl *lpVtbl; | ||
| 756 | }; | ||
| 757 | |||
| 758 | |||
| 759 | |||
| 760 | #ifdef COBJMACROS | ||
| 761 | |||
| 762 | |||
| 763 | #define ID3D12VideoDevice_QueryInterface(This,riid,ppvObject) \ | ||
| 764 | ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) | ||
| 765 | |||
| 766 | #define ID3D12VideoDevice_AddRef(This) \ | ||
| 767 | ( (This)->lpVtbl -> AddRef(This) ) | ||
| 768 | |||
| 769 | #define ID3D12VideoDevice_Release(This) \ | ||
| 770 | ( (This)->lpVtbl -> Release(This) ) | ||
| 771 | |||
| 772 | |||
| 773 | #define ID3D12VideoDevice_CheckFeatureSupport(This,FeatureVideo,pFeatureSupportData,FeatureSupportDataSize) \ | ||
| 774 | ( (This)->lpVtbl -> CheckFeatureSupport(This,FeatureVideo,pFeatureSupportData,FeatureSupportDataSize) ) | ||
| 775 | |||
| 776 | #define ID3D12VideoDevice_CreateVideoDecoder(This,pDesc,riid,ppVideoDecoder) \ | ||
| 777 | ( (This)->lpVtbl -> CreateVideoDecoder(This,pDesc,riid,ppVideoDecoder) ) | ||
| 778 | |||
| 779 | #define ID3D12VideoDevice_CreateVideoDecoderHeap(This,pVideoDecoderHeapDesc,riid,ppVideoDecoderHeap) \ | ||
| 780 | ( (This)->lpVtbl -> CreateVideoDecoderHeap(This,pVideoDecoderHeapDesc,riid,ppVideoDecoderHeap) ) | ||
| 781 | |||
| 782 | #define ID3D12VideoDevice_CreateVideoProcessor(This,NodeMask,pOutputStreamDesc,NumInputStreamDescs,pInputStreamDescs,riid,ppVideoProcessor) \ | ||
| 783 | ( (This)->lpVtbl -> CreateVideoProcessor(This,NodeMask,pOutputStreamDesc,NumInputStreamDescs,pInputStreamDescs,riid,ppVideoProcessor) ) | ||
| 784 | |||
| 785 | #endif /* COBJMACROS */ | ||
| 786 | |||
| 787 | |||
| 788 | #endif /* C style interface */ | ||
| 789 | |||
| 790 | |||
| 791 | |||
| 792 | |||
| 793 | #endif /* __ID3D12VideoDevice_INTERFACE_DEFINED__ */ | ||
| 794 | |||
| 795 | |||
| 796 | #ifndef __ID3D12VideoDecoder_INTERFACE_DEFINED__ | ||
| 797 | #define __ID3D12VideoDecoder_INTERFACE_DEFINED__ | ||
| 798 | |||
| 799 | /* interface ID3D12VideoDecoder */ | ||
| 800 | /* [unique][local][object][uuid] */ | ||
| 801 | |||
| 802 | |||
| 803 | EXTERN_C const IID IID_ID3D12VideoDecoder; | ||
| 804 | |||
| 805 | #if defined(__cplusplus) && !defined(CINTERFACE) | ||
| 806 | |||
| 807 | MIDL_INTERFACE("C59B6BDC-7720-4074-A136-17A156037470") | ||
| 808 | ID3D12VideoDecoder : public ID3D12Pageable | ||
| 809 | { | ||
| 810 | public: | ||
| 811 | #if defined(_MSC_VER) || !defined(_WIN32) | ||
| 812 | virtual D3D12_VIDEO_DECODER_DESC STDMETHODCALLTYPE GetDesc( void) = 0; | ||
| 813 | #else | ||
| 814 | virtual D3D12_VIDEO_DECODER_DESC *STDMETHODCALLTYPE GetDesc( | ||
| 815 | D3D12_VIDEO_DECODER_DESC * RetVal) = 0; | ||
| 816 | #endif | ||
| 817 | |||
| 818 | }; | ||
| 819 | |||
| 820 | |||
| 821 | #else /* C style interface */ | ||
| 822 | |||
| 823 | typedef struct ID3D12VideoDecoderVtbl | ||
| 824 | { | ||
| 825 | BEGIN_INTERFACE | ||
| 826 | |||
| 827 | DECLSPEC_XFGVIRT(IUnknown, QueryInterface) | ||
| 828 | HRESULT ( STDMETHODCALLTYPE *QueryInterface )( | ||
| 829 | ID3D12VideoDecoder * This, | ||
| 830 | REFIID riid, | ||
| 831 | _COM_Outptr_ void **ppvObject); | ||
| 832 | |||
| 833 | DECLSPEC_XFGVIRT(IUnknown, AddRef) | ||
| 834 | ULONG ( STDMETHODCALLTYPE *AddRef )( | ||
| 835 | ID3D12VideoDecoder * This); | ||
| 836 | |||
| 837 | DECLSPEC_XFGVIRT(IUnknown, Release) | ||
| 838 | ULONG ( STDMETHODCALLTYPE *Release )( | ||
| 839 | ID3D12VideoDecoder * This); | ||
| 840 | |||
| 841 | DECLSPEC_XFGVIRT(ID3D12Object, GetPrivateData) | ||
| 842 | HRESULT ( STDMETHODCALLTYPE *GetPrivateData )( | ||
| 843 | ID3D12VideoDecoder * This, | ||
| 844 | _In_ REFGUID guid, | ||
| 845 | _Inout_ UINT *pDataSize, | ||
| 846 | _Out_writes_bytes_opt_( *pDataSize ) void *pData); | ||
| 847 | |||
| 848 | DECLSPEC_XFGVIRT(ID3D12Object, SetPrivateData) | ||
| 849 | HRESULT ( STDMETHODCALLTYPE *SetPrivateData )( | ||
| 850 | ID3D12VideoDecoder * This, | ||
| 851 | _In_ REFGUID guid, | ||
| 852 | _In_ UINT DataSize, | ||
| 853 | _In_reads_bytes_opt_( DataSize ) const void *pData); | ||
| 854 | |||
| 855 | DECLSPEC_XFGVIRT(ID3D12Object, SetPrivateDataInterface) | ||
| 856 | HRESULT ( STDMETHODCALLTYPE *SetPrivateDataInterface )( | ||
| 857 | ID3D12VideoDecoder * This, | ||
| 858 | _In_ REFGUID guid, | ||
| 859 | _In_opt_ const IUnknown *pData); | ||
| 860 | |||
| 861 | DECLSPEC_XFGVIRT(ID3D12Object, SetName) | ||
| 862 | HRESULT ( STDMETHODCALLTYPE *SetName )( | ||
| 863 | ID3D12VideoDecoder * This, | ||
| 864 | _In_z_ LPCWSTR Name); | ||
| 865 | |||
| 866 | DECLSPEC_XFGVIRT(ID3D12DeviceChild, GetDevice) | ||
| 867 | HRESULT ( STDMETHODCALLTYPE *GetDevice )( | ||
| 868 | ID3D12VideoDecoder * This, | ||
| 869 | REFIID riid, | ||
| 870 | _COM_Outptr_opt_ void **ppvDevice); | ||
| 871 | |||
| 872 | DECLSPEC_XFGVIRT(ID3D12VideoDecoder, GetDesc) | ||
| 873 | #if !defined(_WIN32) | ||
| 874 | D3D12_VIDEO_DECODER_DESC ( STDMETHODCALLTYPE *GetDesc )( | ||
| 875 | ID3D12VideoDecoder * This); | ||
| 876 | |||
| 877 | #else | ||
| 878 | D3D12_VIDEO_DECODER_DESC *( STDMETHODCALLTYPE *GetDesc )( | ||
| 879 | ID3D12VideoDecoder * This, | ||
| 880 | D3D12_VIDEO_DECODER_DESC * RetVal); | ||
| 881 | |||
| 882 | #endif | ||
| 883 | |||
| 884 | END_INTERFACE | ||
| 885 | } ID3D12VideoDecoderVtbl; | ||
| 886 | |||
| 887 | interface ID3D12VideoDecoder | ||
| 888 | { | ||
| 889 | CONST_VTBL struct ID3D12VideoDecoderVtbl *lpVtbl; | ||
| 890 | }; | ||
| 891 | |||
| 892 | |||
| 893 | |||
| 894 | #ifdef COBJMACROS | ||
| 895 | |||
| 896 | |||
| 897 | #define ID3D12VideoDecoder_QueryInterface(This,riid,ppvObject) \ | ||
| 898 | ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) | ||
| 899 | |||
| 900 | #define ID3D12VideoDecoder_AddRef(This) \ | ||
| 901 | ( (This)->lpVtbl -> AddRef(This) ) | ||
| 902 | |||
| 903 | #define ID3D12VideoDecoder_Release(This) \ | ||
| 904 | ( (This)->lpVtbl -> Release(This) ) | ||
| 905 | |||
| 906 | |||
| 907 | #define ID3D12VideoDecoder_GetPrivateData(This,guid,pDataSize,pData) \ | ||
| 908 | ( (This)->lpVtbl -> GetPrivateData(This,guid,pDataSize,pData) ) | ||
| 909 | |||
| 910 | #define ID3D12VideoDecoder_SetPrivateData(This,guid,DataSize,pData) \ | ||
| 911 | ( (This)->lpVtbl -> SetPrivateData(This,guid,DataSize,pData) ) | ||
| 912 | |||
| 913 | #define ID3D12VideoDecoder_SetPrivateDataInterface(This,guid,pData) \ | ||
| 914 | ( (This)->lpVtbl -> SetPrivateDataInterface(This,guid,pData) ) | ||
| 915 | |||
| 916 | #define ID3D12VideoDecoder_SetName(This,Name) \ | ||
| 917 | ( (This)->lpVtbl -> SetName(This,Name) ) | ||
| 918 | |||
| 919 | |||
| 920 | #define ID3D12VideoDecoder_GetDevice(This,riid,ppvDevice) \ | ||
| 921 | ( (This)->lpVtbl -> GetDevice(This,riid,ppvDevice) ) | ||
| 922 | |||
| 923 | |||
| 924 | #if !defined(_WIN32) | ||
| 925 | |||
| 926 | #define ID3D12VideoDecoder_GetDesc(This) \ | ||
| 927 | ( (This)->lpVtbl -> GetDesc(This) ) | ||
| 928 | #else | ||
| 929 | #define ID3D12VideoDecoder_GetDesc(This,RetVal) \ | ||
| 930 | ( (This)->lpVtbl -> GetDesc(This,RetVal) ) | ||
| 931 | #endif | ||
| 932 | |||
| 933 | #endif /* COBJMACROS */ | ||
| 934 | |||
| 935 | |||
| 936 | #endif /* C style interface */ | ||
| 937 | |||
| 938 | |||
| 939 | |||
| 940 | |||
| 941 | #endif /* __ID3D12VideoDecoder_INTERFACE_DEFINED__ */ | ||
| 942 | |||
| 943 | |||
| 944 | /* interface __MIDL_itf_d3d12video_0000_0003 */ | ||
| 945 | /* [local] */ | ||
| 946 | |||
| 947 | typedef | ||
| 948 | enum D3D12_VIDEO_DECODE_TIER | ||
| 949 | { | ||
| 950 | D3D12_VIDEO_DECODE_TIER_NOT_SUPPORTED = 0, | ||
| 951 | D3D12_VIDEO_DECODE_TIER_1 = 1, | ||
| 952 | D3D12_VIDEO_DECODE_TIER_2 = 2, | ||
| 953 | D3D12_VIDEO_DECODE_TIER_3 = 3 | ||
| 954 | } D3D12_VIDEO_DECODE_TIER; | ||
| 955 | |||
| 956 | typedef | ||
| 957 | enum D3D12_VIDEO_DECODE_SUPPORT_FLAGS | ||
| 958 | { | ||
| 959 | D3D12_VIDEO_DECODE_SUPPORT_FLAG_NONE = 0, | ||
| 960 | D3D12_VIDEO_DECODE_SUPPORT_FLAG_SUPPORTED = 0x1 | ||
| 961 | } D3D12_VIDEO_DECODE_SUPPORT_FLAGS; | ||
| 962 | |||
| 963 | DEFINE_ENUM_FLAG_OPERATORS(D3D12_VIDEO_DECODE_SUPPORT_FLAGS ) | ||
| 964 | typedef | ||
| 965 | enum D3D12_VIDEO_DECODE_CONFIGURATION_FLAGS | ||
| 966 | { | ||
| 967 | D3D12_VIDEO_DECODE_CONFIGURATION_FLAG_NONE = 0, | ||
| 968 | D3D12_VIDEO_DECODE_CONFIGURATION_FLAG_HEIGHT_ALIGNMENT_MULTIPLE_32_REQUIRED = 0x1, | ||
| 969 | D3D12_VIDEO_DECODE_CONFIGURATION_FLAG_POST_PROCESSING_SUPPORTED = 0x2, | ||
| 970 | D3D12_VIDEO_DECODE_CONFIGURATION_FLAG_REFERENCE_ONLY_ALLOCATIONS_REQUIRED = 0x4, | ||
| 971 | D3D12_VIDEO_DECODE_CONFIGURATION_FLAG_ALLOW_RESOLUTION_CHANGE_ON_NON_KEY_FRAME = 0x8 | ||
| 972 | } D3D12_VIDEO_DECODE_CONFIGURATION_FLAGS; | ||
| 973 | |||
| 974 | DEFINE_ENUM_FLAG_OPERATORS(D3D12_VIDEO_DECODE_CONFIGURATION_FLAGS ) | ||
| 975 | typedef | ||
| 976 | enum D3D12_VIDEO_DECODE_STATUS | ||
| 977 | { | ||
| 978 | D3D12_VIDEO_DECODE_STATUS_OK = 0, | ||
| 979 | D3D12_VIDEO_DECODE_STATUS_CONTINUE = 1, | ||
| 980 | D3D12_VIDEO_DECODE_STATUS_CONTINUE_SKIP_DISPLAY = 2, | ||
| 981 | D3D12_VIDEO_DECODE_STATUS_RESTART = 3, | ||
| 982 | D3D12_VIDEO_DECODE_STATUS_RATE_EXCEEDED = 4 | ||
| 983 | } D3D12_VIDEO_DECODE_STATUS; | ||
| 984 | |||
| 985 | typedef | ||
| 986 | enum D3D12_VIDEO_DECODE_ARGUMENT_TYPE | ||
| 987 | { | ||
| 988 | D3D12_VIDEO_DECODE_ARGUMENT_TYPE_PICTURE_PARAMETERS = 0, | ||
| 989 | D3D12_VIDEO_DECODE_ARGUMENT_TYPE_INVERSE_QUANTIZATION_MATRIX = 1, | ||
| 990 | D3D12_VIDEO_DECODE_ARGUMENT_TYPE_SLICE_CONTROL = 2, | ||
| 991 | D3D12_VIDEO_DECODE_ARGUMENT_TYPE_HUFFMAN_TABLE = 3 | ||
| 992 | } D3D12_VIDEO_DECODE_ARGUMENT_TYPE; | ||
| 993 | |||
| 994 | typedef struct D3D12_FEATURE_DATA_VIDEO_DECODE_SUPPORT | ||
| 995 | { | ||
| 996 | UINT NodeIndex; | ||
| 997 | D3D12_VIDEO_DECODE_CONFIGURATION Configuration; | ||
| 998 | UINT Width; | ||
| 999 | UINT Height; | ||
| 1000 | DXGI_FORMAT DecodeFormat; | ||
| 1001 | DXGI_RATIONAL FrameRate; | ||
| 1002 | UINT BitRate; | ||
| 1003 | D3D12_VIDEO_DECODE_SUPPORT_FLAGS SupportFlags; | ||
| 1004 | D3D12_VIDEO_DECODE_CONFIGURATION_FLAGS ConfigurationFlags; | ||
| 1005 | D3D12_VIDEO_DECODE_TIER DecodeTier; | ||
| 1006 | } D3D12_FEATURE_DATA_VIDEO_DECODE_SUPPORT; | ||
| 1007 | |||
| 1008 | typedef struct D3D12_FEATURE_DATA_VIDEO_DECODE_PROFILE_COUNT | ||
| 1009 | { | ||
| 1010 | UINT NodeIndex; | ||
| 1011 | UINT ProfileCount; | ||
| 1012 | } D3D12_FEATURE_DATA_VIDEO_DECODE_PROFILE_COUNT; | ||
| 1013 | |||
| 1014 | typedef struct D3D12_FEATURE_DATA_VIDEO_DECODE_PROFILES | ||
| 1015 | { | ||
| 1016 | UINT NodeIndex; | ||
| 1017 | UINT ProfileCount; | ||
| 1018 | _Field_size_full_(ProfileCount) GUID *pProfiles; | ||
| 1019 | } D3D12_FEATURE_DATA_VIDEO_DECODE_PROFILES; | ||
| 1020 | |||
| 1021 | typedef struct D3D12_FEATURE_DATA_VIDEO_DECODE_FORMAT_COUNT | ||
| 1022 | { | ||
| 1023 | UINT NodeIndex; | ||
| 1024 | D3D12_VIDEO_DECODE_CONFIGURATION Configuration; | ||
| 1025 | UINT FormatCount; | ||
| 1026 | } D3D12_FEATURE_DATA_VIDEO_DECODE_FORMAT_COUNT; | ||
| 1027 | |||
| 1028 | typedef struct D3D12_FEATURE_DATA_VIDEO_DECODE_FORMATS | ||
| 1029 | { | ||
| 1030 | UINT NodeIndex; | ||
| 1031 | D3D12_VIDEO_DECODE_CONFIGURATION Configuration; | ||
| 1032 | UINT FormatCount; | ||
| 1033 | _Field_size_full_(FormatCount) DXGI_FORMAT *pOutputFormats; | ||
| 1034 | } D3D12_FEATURE_DATA_VIDEO_DECODE_FORMATS; | ||
| 1035 | |||
| 1036 | typedef struct D3D12_FEATURE_DATA_VIDEO_ARCHITECTURE | ||
| 1037 | { | ||
| 1038 | BOOL IOCoherent; | ||
| 1039 | } D3D12_FEATURE_DATA_VIDEO_ARCHITECTURE; | ||
| 1040 | |||
| 1041 | typedef | ||
| 1042 | enum D3D12_VIDEO_DECODE_HISTOGRAM_COMPONENT | ||
| 1043 | { | ||
| 1044 | D3D12_VIDEO_DECODE_HISTOGRAM_COMPONENT_Y = 0, | ||
| 1045 | D3D12_VIDEO_DECODE_HISTOGRAM_COMPONENT_U = 1, | ||
| 1046 | D3D12_VIDEO_DECODE_HISTOGRAM_COMPONENT_V = 2, | ||
| 1047 | D3D12_VIDEO_DECODE_HISTOGRAM_COMPONENT_R = 0, | ||
| 1048 | D3D12_VIDEO_DECODE_HISTOGRAM_COMPONENT_G = 1, | ||
| 1049 | D3D12_VIDEO_DECODE_HISTOGRAM_COMPONENT_B = 2, | ||
| 1050 | D3D12_VIDEO_DECODE_HISTOGRAM_COMPONENT_A = 3 | ||
| 1051 | } D3D12_VIDEO_DECODE_HISTOGRAM_COMPONENT; | ||
| 1052 | |||
| 1053 | typedef | ||
| 1054 | enum D3D12_VIDEO_DECODE_HISTOGRAM_COMPONENT_FLAGS | ||
| 1055 | { | ||
| 1056 | D3D12_VIDEO_DECODE_HISTOGRAM_COMPONENT_FLAG_NONE = 0, | ||
| 1057 | D3D12_VIDEO_DECODE_HISTOGRAM_COMPONENT_FLAG_Y = ( 1 << D3D12_VIDEO_DECODE_HISTOGRAM_COMPONENT_Y ) , | ||
| 1058 | D3D12_VIDEO_DECODE_HISTOGRAM_COMPONENT_FLAG_U = ( 1 << D3D12_VIDEO_DECODE_HISTOGRAM_COMPONENT_U ) , | ||
| 1059 | D3D12_VIDEO_DECODE_HISTOGRAM_COMPONENT_FLAG_V = ( 1 << D3D12_VIDEO_DECODE_HISTOGRAM_COMPONENT_V ) , | ||
| 1060 | D3D12_VIDEO_DECODE_HISTOGRAM_COMPONENT_FLAG_R = ( 1 << D3D12_VIDEO_DECODE_HISTOGRAM_COMPONENT_R ) , | ||
| 1061 | D3D12_VIDEO_DECODE_HISTOGRAM_COMPONENT_FLAG_G = ( 1 << D3D12_VIDEO_DECODE_HISTOGRAM_COMPONENT_G ) , | ||
| 1062 | D3D12_VIDEO_DECODE_HISTOGRAM_COMPONENT_FLAG_B = ( 1 << D3D12_VIDEO_DECODE_HISTOGRAM_COMPONENT_B ) , | ||
| 1063 | D3D12_VIDEO_DECODE_HISTOGRAM_COMPONENT_FLAG_A = ( 1 << D3D12_VIDEO_DECODE_HISTOGRAM_COMPONENT_A ) | ||
| 1064 | } D3D12_VIDEO_DECODE_HISTOGRAM_COMPONENT_FLAGS; | ||
| 1065 | |||
| 1066 | DEFINE_ENUM_FLAG_OPERATORS(D3D12_VIDEO_DECODE_HISTOGRAM_COMPONENT_FLAGS ) | ||
| 1067 | typedef struct D3D12_FEATURE_DATA_VIDEO_DECODE_HISTOGRAM | ||
| 1068 | { | ||
| 1069 | UINT NodeIndex; | ||
| 1070 | GUID DecodeProfile; | ||
| 1071 | UINT Width; | ||
| 1072 | UINT Height; | ||
| 1073 | DXGI_FORMAT DecodeFormat; | ||
| 1074 | D3D12_VIDEO_DECODE_HISTOGRAM_COMPONENT_FLAGS Components; | ||
| 1075 | UINT BinCount; | ||
| 1076 | UINT CounterBitDepth; | ||
| 1077 | } D3D12_FEATURE_DATA_VIDEO_DECODE_HISTOGRAM; | ||
| 1078 | |||
| 1079 | typedef | ||
| 1080 | enum D3D12_VIDEO_DECODE_CONVERSION_SUPPORT_FLAGS | ||
| 1081 | { | ||
| 1082 | D3D12_VIDEO_DECODE_CONVERSION_SUPPORT_FLAG_NONE = 0, | ||
| 1083 | D3D12_VIDEO_DECODE_CONVERSION_SUPPORT_FLAG_SUPPORTED = 0x1 | ||
| 1084 | } D3D12_VIDEO_DECODE_CONVERSION_SUPPORT_FLAGS; | ||
| 1085 | |||
| 1086 | DEFINE_ENUM_FLAG_OPERATORS(D3D12_VIDEO_DECODE_CONVERSION_SUPPORT_FLAGS ) | ||
| 1087 | typedef | ||
| 1088 | enum D3D12_VIDEO_SCALE_SUPPORT_FLAGS | ||
| 1089 | { | ||
| 1090 | D3D12_VIDEO_SCALE_SUPPORT_FLAG_NONE = 0, | ||
| 1091 | D3D12_VIDEO_SCALE_SUPPORT_FLAG_POW2_ONLY = 0x1, | ||
| 1092 | D3D12_VIDEO_SCALE_SUPPORT_FLAG_EVEN_DIMENSIONS_ONLY = 0x2, | ||
| 1093 | D3D12_VIDEO_SCALE_SUPPORT_FLAG_DPB_ENCODER_RESOURCES = 0x4 | ||
| 1094 | } D3D12_VIDEO_SCALE_SUPPORT_FLAGS; | ||
| 1095 | |||
| 1096 | DEFINE_ENUM_FLAG_OPERATORS(D3D12_VIDEO_SCALE_SUPPORT_FLAGS ) | ||
| 1097 | typedef struct D3D12_VIDEO_SCALE_SUPPORT | ||
| 1098 | { | ||
| 1099 | D3D12_VIDEO_SIZE_RANGE OutputSizeRange; | ||
| 1100 | D3D12_VIDEO_SCALE_SUPPORT_FLAGS Flags; | ||
| 1101 | } D3D12_VIDEO_SCALE_SUPPORT; | ||
| 1102 | |||
| 1103 | typedef struct D3D12_FEATURE_DATA_VIDEO_DECODE_CONVERSION_SUPPORT | ||
| 1104 | { | ||
| 1105 | UINT NodeIndex; | ||
| 1106 | D3D12_VIDEO_DECODE_CONFIGURATION Configuration; | ||
| 1107 | D3D12_VIDEO_SAMPLE DecodeSample; | ||
| 1108 | D3D12_VIDEO_FORMAT OutputFormat; | ||
| 1109 | DXGI_RATIONAL FrameRate; | ||
| 1110 | UINT BitRate; | ||
| 1111 | D3D12_VIDEO_DECODE_CONVERSION_SUPPORT_FLAGS SupportFlags; | ||
| 1112 | D3D12_VIDEO_SCALE_SUPPORT ScaleSupport; | ||
| 1113 | } D3D12_FEATURE_DATA_VIDEO_DECODE_CONVERSION_SUPPORT; | ||
| 1114 | |||
| 1115 | typedef struct D3D12_FEATURE_DATA_VIDEO_DECODER_HEAP_SIZE | ||
| 1116 | { | ||
| 1117 | D3D12_VIDEO_DECODER_HEAP_DESC VideoDecoderHeapDesc; | ||
| 1118 | UINT64 MemoryPoolL0Size; | ||
| 1119 | UINT64 MemoryPoolL1Size; | ||
| 1120 | } D3D12_FEATURE_DATA_VIDEO_DECODER_HEAP_SIZE; | ||
| 1121 | |||
| 1122 | typedef struct D3D12_FEATURE_DATA_VIDEO_PROCESSOR_SIZE | ||
| 1123 | { | ||
| 1124 | UINT NodeMask; | ||
| 1125 | const D3D12_VIDEO_PROCESS_OUTPUT_STREAM_DESC *pOutputStreamDesc; | ||
| 1126 | UINT NumInputStreamDescs; | ||
| 1127 | const D3D12_VIDEO_PROCESS_INPUT_STREAM_DESC *pInputStreamDescs; | ||
| 1128 | UINT64 MemoryPoolL0Size; | ||
| 1129 | UINT64 MemoryPoolL1Size; | ||
| 1130 | } D3D12_FEATURE_DATA_VIDEO_PROCESSOR_SIZE; | ||
| 1131 | |||
| 1132 | typedef struct D3D12_QUERY_DATA_VIDEO_DECODE_STATISTICS | ||
| 1133 | { | ||
| 1134 | UINT64 Status; | ||
| 1135 | UINT64 NumMacroblocksAffected; | ||
| 1136 | DXGI_RATIONAL FrameRate; | ||
| 1137 | UINT BitRate; | ||
| 1138 | } D3D12_QUERY_DATA_VIDEO_DECODE_STATISTICS; | ||
| 1139 | |||
| 1140 | typedef struct D3D12_VIDEO_DECODE_FRAME_ARGUMENT | ||
| 1141 | { | ||
| 1142 | D3D12_VIDEO_DECODE_ARGUMENT_TYPE Type; | ||
| 1143 | UINT Size; | ||
| 1144 | _Field_size_bytes_full_(Size) void *pData; | ||
| 1145 | } D3D12_VIDEO_DECODE_FRAME_ARGUMENT; | ||
| 1146 | |||
| 1147 | typedef struct D3D12_VIDEO_DECODE_REFERENCE_FRAMES | ||
| 1148 | { | ||
| 1149 | UINT NumTexture2Ds; | ||
| 1150 | _Field_size_full_(NumTexture2Ds) ID3D12Resource **ppTexture2Ds; | ||
| 1151 | _Field_size_full_(NumTexture2Ds) UINT *pSubresources; | ||
| 1152 | _Field_size_full_opt_(NumTexture2Ds) ID3D12VideoDecoderHeap **ppHeaps; | ||
| 1153 | } D3D12_VIDEO_DECODE_REFERENCE_FRAMES; | ||
| 1154 | |||
| 1155 | typedef struct D3D12_VIDEO_DECODE_COMPRESSED_BITSTREAM | ||
| 1156 | { | ||
| 1157 | ID3D12Resource *pBuffer; | ||
| 1158 | UINT64 Offset; | ||
| 1159 | UINT64 Size; | ||
| 1160 | } D3D12_VIDEO_DECODE_COMPRESSED_BITSTREAM; | ||
| 1161 | |||
| 1162 | typedef struct D3D12_VIDEO_DECODE_CONVERSION_ARGUMENTS | ||
| 1163 | { | ||
| 1164 | BOOL Enable; | ||
| 1165 | ID3D12Resource *pReferenceTexture2D; | ||
| 1166 | UINT ReferenceSubresource; | ||
| 1167 | DXGI_COLOR_SPACE_TYPE OutputColorSpace; | ||
| 1168 | DXGI_COLOR_SPACE_TYPE DecodeColorSpace; | ||
| 1169 | } D3D12_VIDEO_DECODE_CONVERSION_ARGUMENTS; | ||
| 1170 | |||
| 1171 | typedef struct D3D12_VIDEO_DECODE_INPUT_STREAM_ARGUMENTS | ||
| 1172 | { | ||
| 1173 | UINT NumFrameArguments; | ||
| 1174 | D3D12_VIDEO_DECODE_FRAME_ARGUMENT FrameArguments[ 10 ]; | ||
| 1175 | D3D12_VIDEO_DECODE_REFERENCE_FRAMES ReferenceFrames; | ||
| 1176 | D3D12_VIDEO_DECODE_COMPRESSED_BITSTREAM CompressedBitstream; | ||
| 1177 | ID3D12VideoDecoderHeap *pHeap; | ||
| 1178 | } D3D12_VIDEO_DECODE_INPUT_STREAM_ARGUMENTS; | ||
| 1179 | |||
| 1180 | typedef struct D3D12_VIDEO_DECODE_OUTPUT_STREAM_ARGUMENTS | ||
| 1181 | { | ||
| 1182 | ID3D12Resource *pOutputTexture2D; | ||
| 1183 | UINT OutputSubresource; | ||
| 1184 | D3D12_VIDEO_DECODE_CONVERSION_ARGUMENTS ConversionArguments; | ||
| 1185 | } D3D12_VIDEO_DECODE_OUTPUT_STREAM_ARGUMENTS; | ||
| 1186 | |||
| 1187 | |||
| 1188 | |||
| 1189 | extern RPC_IF_HANDLE __MIDL_itf_d3d12video_0000_0003_v0_0_c_ifspec; | ||
| 1190 | extern RPC_IF_HANDLE __MIDL_itf_d3d12video_0000_0003_v0_0_s_ifspec; | ||
| 1191 | |||
| 1192 | #ifndef __ID3D12VideoProcessor_INTERFACE_DEFINED__ | ||
| 1193 | #define __ID3D12VideoProcessor_INTERFACE_DEFINED__ | ||
| 1194 | |||
| 1195 | /* interface ID3D12VideoProcessor */ | ||
| 1196 | /* [unique][local][object][uuid] */ | ||
| 1197 | |||
| 1198 | |||
| 1199 | EXTERN_C const IID IID_ID3D12VideoProcessor; | ||
| 1200 | |||
| 1201 | #if defined(__cplusplus) && !defined(CINTERFACE) | ||
| 1202 | |||
| 1203 | MIDL_INTERFACE("304FDB32-BEDE-410A-8545-943AC6A46138") | ||
| 1204 | ID3D12VideoProcessor : public ID3D12Pageable | ||
| 1205 | { | ||
| 1206 | public: | ||
| 1207 | virtual UINT STDMETHODCALLTYPE GetNodeMask( void) = 0; | ||
| 1208 | |||
| 1209 | virtual UINT STDMETHODCALLTYPE GetNumInputStreamDescs( void) = 0; | ||
| 1210 | |||
| 1211 | virtual HRESULT STDMETHODCALLTYPE GetInputStreamDescs( | ||
| 1212 | UINT NumInputStreamDescs, | ||
| 1213 | _Out_writes_(NumInputStreamDescs) D3D12_VIDEO_PROCESS_INPUT_STREAM_DESC *pInputStreamDescs) = 0; | ||
| 1214 | |||
| 1215 | #if defined(_MSC_VER) || !defined(_WIN32) | ||
| 1216 | virtual D3D12_VIDEO_PROCESS_OUTPUT_STREAM_DESC STDMETHODCALLTYPE GetOutputStreamDesc( void) = 0; | ||
| 1217 | #else | ||
| 1218 | virtual D3D12_VIDEO_PROCESS_OUTPUT_STREAM_DESC *STDMETHODCALLTYPE GetOutputStreamDesc( | ||
| 1219 | D3D12_VIDEO_PROCESS_OUTPUT_STREAM_DESC * RetVal) = 0; | ||
| 1220 | #endif | ||
| 1221 | |||
| 1222 | }; | ||
| 1223 | |||
| 1224 | |||
| 1225 | #else /* C style interface */ | ||
| 1226 | |||
| 1227 | typedef struct ID3D12VideoProcessorVtbl | ||
| 1228 | { | ||
| 1229 | BEGIN_INTERFACE | ||
| 1230 | |||
| 1231 | DECLSPEC_XFGVIRT(IUnknown, QueryInterface) | ||
| 1232 | HRESULT ( STDMETHODCALLTYPE *QueryInterface )( | ||
| 1233 | ID3D12VideoProcessor * This, | ||
| 1234 | REFIID riid, | ||
| 1235 | _COM_Outptr_ void **ppvObject); | ||
| 1236 | |||
| 1237 | DECLSPEC_XFGVIRT(IUnknown, AddRef) | ||
| 1238 | ULONG ( STDMETHODCALLTYPE *AddRef )( | ||
| 1239 | ID3D12VideoProcessor * This); | ||
| 1240 | |||
| 1241 | DECLSPEC_XFGVIRT(IUnknown, Release) | ||
| 1242 | ULONG ( STDMETHODCALLTYPE *Release )( | ||
| 1243 | ID3D12VideoProcessor * This); | ||
| 1244 | |||
| 1245 | DECLSPEC_XFGVIRT(ID3D12Object, GetPrivateData) | ||
| 1246 | HRESULT ( STDMETHODCALLTYPE *GetPrivateData )( | ||
| 1247 | ID3D12VideoProcessor * This, | ||
| 1248 | _In_ REFGUID guid, | ||
| 1249 | _Inout_ UINT *pDataSize, | ||
| 1250 | _Out_writes_bytes_opt_( *pDataSize ) void *pData); | ||
| 1251 | |||
| 1252 | DECLSPEC_XFGVIRT(ID3D12Object, SetPrivateData) | ||
| 1253 | HRESULT ( STDMETHODCALLTYPE *SetPrivateData )( | ||
| 1254 | ID3D12VideoProcessor * This, | ||
| 1255 | _In_ REFGUID guid, | ||
| 1256 | _In_ UINT DataSize, | ||
| 1257 | _In_reads_bytes_opt_( DataSize ) const void *pData); | ||
| 1258 | |||
| 1259 | DECLSPEC_XFGVIRT(ID3D12Object, SetPrivateDataInterface) | ||
| 1260 | HRESULT ( STDMETHODCALLTYPE *SetPrivateDataInterface )( | ||
| 1261 | ID3D12VideoProcessor * This, | ||
| 1262 | _In_ REFGUID guid, | ||
| 1263 | _In_opt_ const IUnknown *pData); | ||
| 1264 | |||
| 1265 | DECLSPEC_XFGVIRT(ID3D12Object, SetName) | ||
| 1266 | HRESULT ( STDMETHODCALLTYPE *SetName )( | ||
| 1267 | ID3D12VideoProcessor * This, | ||
| 1268 | _In_z_ LPCWSTR Name); | ||
| 1269 | |||
| 1270 | DECLSPEC_XFGVIRT(ID3D12DeviceChild, GetDevice) | ||
| 1271 | HRESULT ( STDMETHODCALLTYPE *GetDevice )( | ||
| 1272 | ID3D12VideoProcessor * This, | ||
| 1273 | REFIID riid, | ||
| 1274 | _COM_Outptr_opt_ void **ppvDevice); | ||
| 1275 | |||
| 1276 | DECLSPEC_XFGVIRT(ID3D12VideoProcessor, GetNodeMask) | ||
| 1277 | UINT ( STDMETHODCALLTYPE *GetNodeMask )( | ||
| 1278 | ID3D12VideoProcessor * This); | ||
| 1279 | |||
| 1280 | DECLSPEC_XFGVIRT(ID3D12VideoProcessor, GetNumInputStreamDescs) | ||
| 1281 | UINT ( STDMETHODCALLTYPE *GetNumInputStreamDescs )( | ||
| 1282 | ID3D12VideoProcessor * This); | ||
| 1283 | |||
| 1284 | DECLSPEC_XFGVIRT(ID3D12VideoProcessor, GetInputStreamDescs) | ||
| 1285 | HRESULT ( STDMETHODCALLTYPE *GetInputStreamDescs )( | ||
| 1286 | ID3D12VideoProcessor * This, | ||
| 1287 | UINT NumInputStreamDescs, | ||
| 1288 | _Out_writes_(NumInputStreamDescs) D3D12_VIDEO_PROCESS_INPUT_STREAM_DESC *pInputStreamDescs); | ||
| 1289 | |||
| 1290 | DECLSPEC_XFGVIRT(ID3D12VideoProcessor, GetOutputStreamDesc) | ||
| 1291 | #if !defined(_WIN32) | ||
| 1292 | D3D12_VIDEO_PROCESS_OUTPUT_STREAM_DESC ( STDMETHODCALLTYPE *GetOutputStreamDesc )( | ||
| 1293 | ID3D12VideoProcessor * This); | ||
| 1294 | |||
| 1295 | #else | ||
| 1296 | D3D12_VIDEO_PROCESS_OUTPUT_STREAM_DESC *( STDMETHODCALLTYPE *GetOutputStreamDesc )( | ||
| 1297 | ID3D12VideoProcessor * This, | ||
| 1298 | D3D12_VIDEO_PROCESS_OUTPUT_STREAM_DESC * RetVal); | ||
| 1299 | |||
| 1300 | #endif | ||
| 1301 | |||
| 1302 | END_INTERFACE | ||
| 1303 | } ID3D12VideoProcessorVtbl; | ||
| 1304 | |||
| 1305 | interface ID3D12VideoProcessor | ||
| 1306 | { | ||
| 1307 | CONST_VTBL struct ID3D12VideoProcessorVtbl *lpVtbl; | ||
| 1308 | }; | ||
| 1309 | |||
| 1310 | |||
| 1311 | |||
| 1312 | #ifdef COBJMACROS | ||
| 1313 | |||
| 1314 | |||
| 1315 | #define ID3D12VideoProcessor_QueryInterface(This,riid,ppvObject) \ | ||
| 1316 | ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) | ||
| 1317 | |||
| 1318 | #define ID3D12VideoProcessor_AddRef(This) \ | ||
| 1319 | ( (This)->lpVtbl -> AddRef(This) ) | ||
| 1320 | |||
| 1321 | #define ID3D12VideoProcessor_Release(This) \ | ||
| 1322 | ( (This)->lpVtbl -> Release(This) ) | ||
| 1323 | |||
| 1324 | |||
| 1325 | #define ID3D12VideoProcessor_GetPrivateData(This,guid,pDataSize,pData) \ | ||
| 1326 | ( (This)->lpVtbl -> GetPrivateData(This,guid,pDataSize,pData) ) | ||
| 1327 | |||
| 1328 | #define ID3D12VideoProcessor_SetPrivateData(This,guid,DataSize,pData) \ | ||
| 1329 | ( (This)->lpVtbl -> SetPrivateData(This,guid,DataSize,pData) ) | ||
| 1330 | |||
| 1331 | #define ID3D12VideoProcessor_SetPrivateDataInterface(This,guid,pData) \ | ||
| 1332 | ( (This)->lpVtbl -> SetPrivateDataInterface(This,guid,pData) ) | ||
| 1333 | |||
| 1334 | #define ID3D12VideoProcessor_SetName(This,Name) \ | ||
| 1335 | ( (This)->lpVtbl -> SetName(This,Name) ) | ||
| 1336 | |||
| 1337 | |||
| 1338 | #define ID3D12VideoProcessor_GetDevice(This,riid,ppvDevice) \ | ||
| 1339 | ( (This)->lpVtbl -> GetDevice(This,riid,ppvDevice) ) | ||
| 1340 | |||
| 1341 | |||
| 1342 | |||
| 1343 | #define ID3D12VideoProcessor_GetNodeMask(This) \ | ||
| 1344 | ( (This)->lpVtbl -> GetNodeMask(This) ) | ||
| 1345 | |||
| 1346 | #define ID3D12VideoProcessor_GetNumInputStreamDescs(This) \ | ||
| 1347 | ( (This)->lpVtbl -> GetNumInputStreamDescs(This) ) | ||
| 1348 | |||
| 1349 | #define ID3D12VideoProcessor_GetInputStreamDescs(This,NumInputStreamDescs,pInputStreamDescs) \ | ||
| 1350 | ( (This)->lpVtbl -> GetInputStreamDescs(This,NumInputStreamDescs,pInputStreamDescs) ) | ||
| 1351 | #if !defined(_WIN32) | ||
| 1352 | |||
| 1353 | #define ID3D12VideoProcessor_GetOutputStreamDesc(This) \ | ||
| 1354 | ( (This)->lpVtbl -> GetOutputStreamDesc(This) ) | ||
| 1355 | #else | ||
| 1356 | #define ID3D12VideoProcessor_GetOutputStreamDesc(This,RetVal) \ | ||
| 1357 | ( (This)->lpVtbl -> GetOutputStreamDesc(This,RetVal) ) | ||
| 1358 | #endif | ||
| 1359 | |||
| 1360 | #endif /* COBJMACROS */ | ||
| 1361 | |||
| 1362 | |||
| 1363 | #endif /* C style interface */ | ||
| 1364 | |||
| 1365 | |||
| 1366 | |||
| 1367 | |||
| 1368 | #endif /* __ID3D12VideoProcessor_INTERFACE_DEFINED__ */ | ||
| 1369 | |||
| 1370 | |||
| 1371 | /* interface __MIDL_itf_d3d12video_0000_0004 */ | ||
| 1372 | /* [local] */ | ||
| 1373 | |||
| 1374 | typedef | ||
| 1375 | enum D3D12_VIDEO_PROCESS_FEATURE_FLAGS | ||
| 1376 | { | ||
| 1377 | D3D12_VIDEO_PROCESS_FEATURE_FLAG_NONE = 0, | ||
| 1378 | D3D12_VIDEO_PROCESS_FEATURE_FLAG_ALPHA_FILL = 0x1, | ||
| 1379 | D3D12_VIDEO_PROCESS_FEATURE_FLAG_LUMA_KEY = 0x2, | ||
| 1380 | D3D12_VIDEO_PROCESS_FEATURE_FLAG_STEREO = 0x4, | ||
| 1381 | D3D12_VIDEO_PROCESS_FEATURE_FLAG_ROTATION = 0x8, | ||
| 1382 | D3D12_VIDEO_PROCESS_FEATURE_FLAG_FLIP = 0x10, | ||
| 1383 | D3D12_VIDEO_PROCESS_FEATURE_FLAG_ALPHA_BLENDING = 0x20, | ||
| 1384 | D3D12_VIDEO_PROCESS_FEATURE_FLAG_PIXEL_ASPECT_RATIO = 0x40 | ||
| 1385 | } D3D12_VIDEO_PROCESS_FEATURE_FLAGS; | ||
| 1386 | |||
| 1387 | DEFINE_ENUM_FLAG_OPERATORS(D3D12_VIDEO_PROCESS_FEATURE_FLAGS ) | ||
| 1388 | typedef | ||
| 1389 | enum D3D12_VIDEO_PROCESS_AUTO_PROCESSING_FLAGS | ||
| 1390 | { | ||
| 1391 | D3D12_VIDEO_PROCESS_AUTO_PROCESSING_FLAG_NONE = 0, | ||
| 1392 | D3D12_VIDEO_PROCESS_AUTO_PROCESSING_FLAG_DENOISE = 0x1, | ||
| 1393 | D3D12_VIDEO_PROCESS_AUTO_PROCESSING_FLAG_DERINGING = 0x2, | ||
| 1394 | D3D12_VIDEO_PROCESS_AUTO_PROCESSING_FLAG_EDGE_ENHANCEMENT = 0x4, | ||
| 1395 | D3D12_VIDEO_PROCESS_AUTO_PROCESSING_FLAG_COLOR_CORRECTION = 0x8, | ||
| 1396 | D3D12_VIDEO_PROCESS_AUTO_PROCESSING_FLAG_FLESH_TONE_MAPPING = 0x10, | ||
| 1397 | D3D12_VIDEO_PROCESS_AUTO_PROCESSING_FLAG_IMAGE_STABILIZATION = 0x20, | ||
| 1398 | D3D12_VIDEO_PROCESS_AUTO_PROCESSING_FLAG_SUPER_RESOLUTION = 0x40, | ||
| 1399 | D3D12_VIDEO_PROCESS_AUTO_PROCESSING_FLAG_ANAMORPHIC_SCALING = 0x80, | ||
| 1400 | D3D12_VIDEO_PROCESS_AUTO_PROCESSING_FLAG_CUSTOM = 0x80000000 | ||
| 1401 | } D3D12_VIDEO_PROCESS_AUTO_PROCESSING_FLAGS; | ||
| 1402 | |||
| 1403 | DEFINE_ENUM_FLAG_OPERATORS(D3D12_VIDEO_PROCESS_AUTO_PROCESSING_FLAGS ) | ||
| 1404 | typedef | ||
| 1405 | enum D3D12_VIDEO_PROCESS_ORIENTATION | ||
| 1406 | { | ||
| 1407 | D3D12_VIDEO_PROCESS_ORIENTATION_DEFAULT = 0, | ||
| 1408 | D3D12_VIDEO_PROCESS_ORIENTATION_FLIP_HORIZONTAL = 1, | ||
| 1409 | D3D12_VIDEO_PROCESS_ORIENTATION_CLOCKWISE_90 = 2, | ||
| 1410 | D3D12_VIDEO_PROCESS_ORIENTATION_CLOCKWISE_90_FLIP_HORIZONTAL = 3, | ||
| 1411 | D3D12_VIDEO_PROCESS_ORIENTATION_CLOCKWISE_180 = 4, | ||
| 1412 | D3D12_VIDEO_PROCESS_ORIENTATION_FLIP_VERTICAL = 5, | ||
| 1413 | D3D12_VIDEO_PROCESS_ORIENTATION_CLOCKWISE_270 = 6, | ||
| 1414 | D3D12_VIDEO_PROCESS_ORIENTATION_CLOCKWISE_270_FLIP_HORIZONTAL = 7 | ||
| 1415 | } D3D12_VIDEO_PROCESS_ORIENTATION; | ||
| 1416 | |||
| 1417 | typedef | ||
| 1418 | enum D3D12_VIDEO_PROCESS_INPUT_STREAM_FLAGS | ||
| 1419 | { | ||
| 1420 | D3D12_VIDEO_PROCESS_INPUT_STREAM_FLAG_NONE = 0, | ||
| 1421 | D3D12_VIDEO_PROCESS_INPUT_STREAM_FLAG_FRAME_DISCONTINUITY = 0x1, | ||
| 1422 | D3D12_VIDEO_PROCESS_INPUT_STREAM_FLAG_FRAME_REPEAT = 0x2 | ||
| 1423 | } D3D12_VIDEO_PROCESS_INPUT_STREAM_FLAGS; | ||
| 1424 | |||
| 1425 | DEFINE_ENUM_FLAG_OPERATORS(D3D12_VIDEO_PROCESS_INPUT_STREAM_FLAGS ) | ||
| 1426 | typedef struct D3D12_VIDEO_PROCESS_FILTER_RANGE | ||
| 1427 | { | ||
| 1428 | INT Minimum; | ||
| 1429 | INT Maximum; | ||
| 1430 | INT Default; | ||
| 1431 | FLOAT Multiplier; | ||
| 1432 | } D3D12_VIDEO_PROCESS_FILTER_RANGE; | ||
| 1433 | |||
| 1434 | typedef | ||
| 1435 | enum D3D12_VIDEO_PROCESS_SUPPORT_FLAGS | ||
| 1436 | { | ||
| 1437 | D3D12_VIDEO_PROCESS_SUPPORT_FLAG_NONE = 0, | ||
| 1438 | D3D12_VIDEO_PROCESS_SUPPORT_FLAG_SUPPORTED = 0x1 | ||
| 1439 | } D3D12_VIDEO_PROCESS_SUPPORT_FLAGS; | ||
| 1440 | |||
| 1441 | DEFINE_ENUM_FLAG_OPERATORS(D3D12_VIDEO_PROCESS_SUPPORT_FLAGS ) | ||
| 1442 | typedef struct D3D12_FEATURE_DATA_VIDEO_PROCESS_SUPPORT | ||
| 1443 | { | ||
| 1444 | UINT NodeIndex; | ||
| 1445 | D3D12_VIDEO_SAMPLE InputSample; | ||
| 1446 | D3D12_VIDEO_FIELD_TYPE InputFieldType; | ||
| 1447 | D3D12_VIDEO_FRAME_STEREO_FORMAT InputStereoFormat; | ||
| 1448 | DXGI_RATIONAL InputFrameRate; | ||
| 1449 | D3D12_VIDEO_FORMAT OutputFormat; | ||
| 1450 | D3D12_VIDEO_FRAME_STEREO_FORMAT OutputStereoFormat; | ||
| 1451 | DXGI_RATIONAL OutputFrameRate; | ||
| 1452 | D3D12_VIDEO_PROCESS_SUPPORT_FLAGS SupportFlags; | ||
| 1453 | D3D12_VIDEO_SCALE_SUPPORT ScaleSupport; | ||
| 1454 | D3D12_VIDEO_PROCESS_FEATURE_FLAGS FeatureSupport; | ||
| 1455 | D3D12_VIDEO_PROCESS_DEINTERLACE_FLAGS DeinterlaceSupport; | ||
| 1456 | D3D12_VIDEO_PROCESS_AUTO_PROCESSING_FLAGS AutoProcessingSupport; | ||
| 1457 | D3D12_VIDEO_PROCESS_FILTER_FLAGS FilterSupport; | ||
| 1458 | D3D12_VIDEO_PROCESS_FILTER_RANGE FilterRangeSupport[ 32 ]; | ||
| 1459 | } D3D12_FEATURE_DATA_VIDEO_PROCESS_SUPPORT; | ||
| 1460 | |||
| 1461 | typedef struct D3D12_FEATURE_DATA_VIDEO_PROCESS_MAX_INPUT_STREAMS | ||
| 1462 | { | ||
| 1463 | UINT NodeIndex; | ||
| 1464 | UINT MaxInputStreams; | ||
| 1465 | } D3D12_FEATURE_DATA_VIDEO_PROCESS_MAX_INPUT_STREAMS; | ||
| 1466 | |||
| 1467 | typedef struct D3D12_FEATURE_DATA_VIDEO_PROCESS_REFERENCE_INFO | ||
| 1468 | { | ||
| 1469 | UINT NodeIndex; | ||
| 1470 | D3D12_VIDEO_PROCESS_DEINTERLACE_FLAGS DeinterlaceMode; | ||
| 1471 | D3D12_VIDEO_PROCESS_FILTER_FLAGS Filters; | ||
| 1472 | D3D12_VIDEO_PROCESS_FEATURE_FLAGS FeatureSupport; | ||
| 1473 | DXGI_RATIONAL InputFrameRate; | ||
| 1474 | DXGI_RATIONAL OutputFrameRate; | ||
| 1475 | BOOL EnableAutoProcessing; | ||
| 1476 | UINT PastFrames; | ||
| 1477 | UINT FutureFrames; | ||
| 1478 | } D3D12_FEATURE_DATA_VIDEO_PROCESS_REFERENCE_INFO; | ||
| 1479 | |||
| 1480 | typedef struct D3D12_VIDEO_PROCESS_REFERENCE_SET | ||
| 1481 | { | ||
| 1482 | UINT NumPastFrames; | ||
| 1483 | ID3D12Resource **ppPastFrames; | ||
| 1484 | UINT *pPastSubresources; | ||
| 1485 | UINT NumFutureFrames; | ||
| 1486 | ID3D12Resource **ppFutureFrames; | ||
| 1487 | UINT *pFutureSubresources; | ||
| 1488 | } D3D12_VIDEO_PROCESS_REFERENCE_SET; | ||
| 1489 | |||
| 1490 | typedef struct D3D12_VIDEO_PROCESS_TRANSFORM | ||
| 1491 | { | ||
| 1492 | D3D12_RECT SourceRectangle; | ||
| 1493 | D3D12_RECT DestinationRectangle; | ||
| 1494 | D3D12_VIDEO_PROCESS_ORIENTATION Orientation; | ||
| 1495 | } D3D12_VIDEO_PROCESS_TRANSFORM; | ||
| 1496 | |||
| 1497 | typedef struct D3D12_VIDEO_PROCESS_INPUT_STREAM_RATE | ||
| 1498 | { | ||
| 1499 | UINT OutputIndex; | ||
| 1500 | UINT InputFrameOrField; | ||
| 1501 | } D3D12_VIDEO_PROCESS_INPUT_STREAM_RATE; | ||
| 1502 | |||
| 1503 | typedef struct D3D12_VIDEO_PROCESS_INPUT_STREAM | ||
| 1504 | { | ||
| 1505 | ID3D12Resource *pTexture2D; | ||
| 1506 | UINT Subresource; | ||
| 1507 | D3D12_VIDEO_PROCESS_REFERENCE_SET ReferenceSet; | ||
| 1508 | } D3D12_VIDEO_PROCESS_INPUT_STREAM; | ||
| 1509 | |||
| 1510 | typedef struct D3D12_VIDEO_PROCESS_INPUT_STREAM_ARGUMENTS | ||
| 1511 | { | ||
| 1512 | D3D12_VIDEO_PROCESS_INPUT_STREAM InputStream[ 2 ]; | ||
| 1513 | D3D12_VIDEO_PROCESS_TRANSFORM Transform; | ||
| 1514 | D3D12_VIDEO_PROCESS_INPUT_STREAM_FLAGS Flags; | ||
| 1515 | D3D12_VIDEO_PROCESS_INPUT_STREAM_RATE RateInfo; | ||
| 1516 | INT FilterLevels[ 32 ]; | ||
| 1517 | D3D12_VIDEO_PROCESS_ALPHA_BLENDING AlphaBlending; | ||
| 1518 | } D3D12_VIDEO_PROCESS_INPUT_STREAM_ARGUMENTS; | ||
| 1519 | |||
| 1520 | typedef struct D3D12_VIDEO_PROCESS_OUTPUT_STREAM | ||
| 1521 | { | ||
| 1522 | ID3D12Resource *pTexture2D; | ||
| 1523 | UINT Subresource; | ||
| 1524 | } D3D12_VIDEO_PROCESS_OUTPUT_STREAM; | ||
| 1525 | |||
| 1526 | typedef struct D3D12_VIDEO_PROCESS_OUTPUT_STREAM_ARGUMENTS | ||
| 1527 | { | ||
| 1528 | D3D12_VIDEO_PROCESS_OUTPUT_STREAM OutputStream[ 2 ]; | ||
| 1529 | D3D12_RECT TargetRectangle; | ||
| 1530 | } D3D12_VIDEO_PROCESS_OUTPUT_STREAM_ARGUMENTS; | ||
| 1531 | |||
| 1532 | |||
| 1533 | |||
| 1534 | extern RPC_IF_HANDLE __MIDL_itf_d3d12video_0000_0004_v0_0_c_ifspec; | ||
| 1535 | extern RPC_IF_HANDLE __MIDL_itf_d3d12video_0000_0004_v0_0_s_ifspec; | ||
| 1536 | |||
| 1537 | #ifndef __ID3D12VideoDecodeCommandList_INTERFACE_DEFINED__ | ||
| 1538 | #define __ID3D12VideoDecodeCommandList_INTERFACE_DEFINED__ | ||
| 1539 | |||
| 1540 | /* interface ID3D12VideoDecodeCommandList */ | ||
| 1541 | /* [unique][local][object][uuid] */ | ||
| 1542 | |||
| 1543 | |||
| 1544 | EXTERN_C const IID IID_ID3D12VideoDecodeCommandList; | ||
| 1545 | |||
| 1546 | #if defined(__cplusplus) && !defined(CINTERFACE) | ||
| 1547 | |||
| 1548 | MIDL_INTERFACE("3B60536E-AD29-4E64-A269-F853837E5E53") | ||
| 1549 | ID3D12VideoDecodeCommandList : public ID3D12CommandList | ||
| 1550 | { | ||
| 1551 | public: | ||
| 1552 | virtual HRESULT STDMETHODCALLTYPE Close( void) = 0; | ||
| 1553 | |||
| 1554 | virtual HRESULT STDMETHODCALLTYPE Reset( | ||
| 1555 | _In_ ID3D12CommandAllocator *pAllocator) = 0; | ||
| 1556 | |||
| 1557 | virtual void STDMETHODCALLTYPE ClearState( void) = 0; | ||
| 1558 | |||
| 1559 | virtual void STDMETHODCALLTYPE ResourceBarrier( | ||
| 1560 | _In_ UINT NumBarriers, | ||
| 1561 | _In_reads_(NumBarriers) const D3D12_RESOURCE_BARRIER *pBarriers) = 0; | ||
| 1562 | |||
| 1563 | virtual void STDMETHODCALLTYPE DiscardResource( | ||
| 1564 | _In_ ID3D12Resource *pResource, | ||
| 1565 | _In_opt_ const D3D12_DISCARD_REGION *pRegion) = 0; | ||
| 1566 | |||
| 1567 | virtual void STDMETHODCALLTYPE BeginQuery( | ||
| 1568 | _In_ ID3D12QueryHeap *pQueryHeap, | ||
| 1569 | _In_ D3D12_QUERY_TYPE Type, | ||
| 1570 | _In_ UINT Index) = 0; | ||
| 1571 | |||
| 1572 | virtual void STDMETHODCALLTYPE EndQuery( | ||
| 1573 | _In_ ID3D12QueryHeap *pQueryHeap, | ||
| 1574 | _In_ D3D12_QUERY_TYPE Type, | ||
| 1575 | _In_ UINT Index) = 0; | ||
| 1576 | |||
| 1577 | virtual void STDMETHODCALLTYPE ResolveQueryData( | ||
| 1578 | _In_ ID3D12QueryHeap *pQueryHeap, | ||
| 1579 | _In_ D3D12_QUERY_TYPE Type, | ||
| 1580 | _In_ UINT StartIndex, | ||
| 1581 | _In_ UINT NumQueries, | ||
| 1582 | _In_ ID3D12Resource *pDestinationBuffer, | ||
| 1583 | _In_ UINT64 AlignedDestinationBufferOffset) = 0; | ||
| 1584 | |||
| 1585 | virtual void STDMETHODCALLTYPE SetPredication( | ||
| 1586 | _In_opt_ ID3D12Resource *pBuffer, | ||
| 1587 | _In_ UINT64 AlignedBufferOffset, | ||
| 1588 | _In_ D3D12_PREDICATION_OP Operation) = 0; | ||
| 1589 | |||
| 1590 | virtual void STDMETHODCALLTYPE SetMarker( | ||
| 1591 | UINT Metadata, | ||
| 1592 | _In_reads_bytes_opt_(Size) const void *pData, | ||
| 1593 | UINT Size) = 0; | ||
| 1594 | |||
| 1595 | virtual void STDMETHODCALLTYPE BeginEvent( | ||
| 1596 | UINT Metadata, | ||
| 1597 | _In_reads_bytes_opt_(Size) const void *pData, | ||
| 1598 | UINT Size) = 0; | ||
| 1599 | |||
| 1600 | virtual void STDMETHODCALLTYPE EndEvent( void) = 0; | ||
| 1601 | |||
| 1602 | virtual void STDMETHODCALLTYPE DecodeFrame( | ||
| 1603 | _In_ ID3D12VideoDecoder *pDecoder, | ||
| 1604 | _In_ const D3D12_VIDEO_DECODE_OUTPUT_STREAM_ARGUMENTS *pOutputArguments, | ||
| 1605 | _In_ const D3D12_VIDEO_DECODE_INPUT_STREAM_ARGUMENTS *pInputArguments) = 0; | ||
| 1606 | |||
| 1607 | virtual void STDMETHODCALLTYPE WriteBufferImmediate( | ||
| 1608 | UINT Count, | ||
| 1609 | _In_reads_(Count) const D3D12_WRITEBUFFERIMMEDIATE_PARAMETER *pParams, | ||
| 1610 | _In_reads_opt_(Count) const D3D12_WRITEBUFFERIMMEDIATE_MODE *pModes) = 0; | ||
| 1611 | |||
| 1612 | }; | ||
| 1613 | |||
| 1614 | |||
| 1615 | #else /* C style interface */ | ||
| 1616 | |||
| 1617 | typedef struct ID3D12VideoDecodeCommandListVtbl | ||
| 1618 | { | ||
| 1619 | BEGIN_INTERFACE | ||
| 1620 | |||
| 1621 | DECLSPEC_XFGVIRT(IUnknown, QueryInterface) | ||
| 1622 | HRESULT ( STDMETHODCALLTYPE *QueryInterface )( | ||
| 1623 | ID3D12VideoDecodeCommandList * This, | ||
| 1624 | REFIID riid, | ||
| 1625 | _COM_Outptr_ void **ppvObject); | ||
| 1626 | |||
| 1627 | DECLSPEC_XFGVIRT(IUnknown, AddRef) | ||
| 1628 | ULONG ( STDMETHODCALLTYPE *AddRef )( | ||
| 1629 | ID3D12VideoDecodeCommandList * This); | ||
| 1630 | |||
| 1631 | DECLSPEC_XFGVIRT(IUnknown, Release) | ||
| 1632 | ULONG ( STDMETHODCALLTYPE *Release )( | ||
| 1633 | ID3D12VideoDecodeCommandList * This); | ||
| 1634 | |||
| 1635 | DECLSPEC_XFGVIRT(ID3D12Object, GetPrivateData) | ||
| 1636 | HRESULT ( STDMETHODCALLTYPE *GetPrivateData )( | ||
| 1637 | ID3D12VideoDecodeCommandList * This, | ||
| 1638 | _In_ REFGUID guid, | ||
| 1639 | _Inout_ UINT *pDataSize, | ||
| 1640 | _Out_writes_bytes_opt_( *pDataSize ) void *pData); | ||
| 1641 | |||
| 1642 | DECLSPEC_XFGVIRT(ID3D12Object, SetPrivateData) | ||
| 1643 | HRESULT ( STDMETHODCALLTYPE *SetPrivateData )( | ||
| 1644 | ID3D12VideoDecodeCommandList * This, | ||
| 1645 | _In_ REFGUID guid, | ||
| 1646 | _In_ UINT DataSize, | ||
| 1647 | _In_reads_bytes_opt_( DataSize ) const void *pData); | ||
| 1648 | |||
| 1649 | DECLSPEC_XFGVIRT(ID3D12Object, SetPrivateDataInterface) | ||
| 1650 | HRESULT ( STDMETHODCALLTYPE *SetPrivateDataInterface )( | ||
| 1651 | ID3D12VideoDecodeCommandList * This, | ||
| 1652 | _In_ REFGUID guid, | ||
| 1653 | _In_opt_ const IUnknown *pData); | ||
| 1654 | |||
| 1655 | DECLSPEC_XFGVIRT(ID3D12Object, SetName) | ||
| 1656 | HRESULT ( STDMETHODCALLTYPE *SetName )( | ||
| 1657 | ID3D12VideoDecodeCommandList * This, | ||
| 1658 | _In_z_ LPCWSTR Name); | ||
| 1659 | |||
| 1660 | DECLSPEC_XFGVIRT(ID3D12DeviceChild, GetDevice) | ||
| 1661 | HRESULT ( STDMETHODCALLTYPE *GetDevice )( | ||
| 1662 | ID3D12VideoDecodeCommandList * This, | ||
| 1663 | REFIID riid, | ||
| 1664 | _COM_Outptr_opt_ void **ppvDevice); | ||
| 1665 | |||
| 1666 | DECLSPEC_XFGVIRT(ID3D12CommandList, GetType) | ||
| 1667 | D3D12_COMMAND_LIST_TYPE ( STDMETHODCALLTYPE *GetType )( | ||
| 1668 | ID3D12VideoDecodeCommandList * This); | ||
| 1669 | |||
| 1670 | DECLSPEC_XFGVIRT(ID3D12VideoDecodeCommandList, Close) | ||
| 1671 | HRESULT ( STDMETHODCALLTYPE *Close )( | ||
| 1672 | ID3D12VideoDecodeCommandList * This); | ||
| 1673 | |||
| 1674 | DECLSPEC_XFGVIRT(ID3D12VideoDecodeCommandList, Reset) | ||
| 1675 | HRESULT ( STDMETHODCALLTYPE *Reset )( | ||
| 1676 | ID3D12VideoDecodeCommandList * This, | ||
| 1677 | _In_ ID3D12CommandAllocator *pAllocator); | ||
| 1678 | |||
| 1679 | DECLSPEC_XFGVIRT(ID3D12VideoDecodeCommandList, ClearState) | ||
| 1680 | void ( STDMETHODCALLTYPE *ClearState )( | ||
| 1681 | ID3D12VideoDecodeCommandList * This); | ||
| 1682 | |||
| 1683 | DECLSPEC_XFGVIRT(ID3D12VideoDecodeCommandList, ResourceBarrier) | ||
| 1684 | void ( STDMETHODCALLTYPE *ResourceBarrier )( | ||
| 1685 | ID3D12VideoDecodeCommandList * This, | ||
| 1686 | _In_ UINT NumBarriers, | ||
| 1687 | _In_reads_(NumBarriers) const D3D12_RESOURCE_BARRIER *pBarriers); | ||
| 1688 | |||
| 1689 | DECLSPEC_XFGVIRT(ID3D12VideoDecodeCommandList, DiscardResource) | ||
| 1690 | void ( STDMETHODCALLTYPE *DiscardResource )( | ||
| 1691 | ID3D12VideoDecodeCommandList * This, | ||
| 1692 | _In_ ID3D12Resource *pResource, | ||
| 1693 | _In_opt_ const D3D12_DISCARD_REGION *pRegion); | ||
| 1694 | |||
| 1695 | DECLSPEC_XFGVIRT(ID3D12VideoDecodeCommandList, BeginQuery) | ||
| 1696 | void ( STDMETHODCALLTYPE *BeginQuery )( | ||
| 1697 | ID3D12VideoDecodeCommandList * This, | ||
| 1698 | _In_ ID3D12QueryHeap *pQueryHeap, | ||
| 1699 | _In_ D3D12_QUERY_TYPE Type, | ||
| 1700 | _In_ UINT Index); | ||
| 1701 | |||
| 1702 | DECLSPEC_XFGVIRT(ID3D12VideoDecodeCommandList, EndQuery) | ||
| 1703 | void ( STDMETHODCALLTYPE *EndQuery )( | ||
| 1704 | ID3D12VideoDecodeCommandList * This, | ||
| 1705 | _In_ ID3D12QueryHeap *pQueryHeap, | ||
| 1706 | _In_ D3D12_QUERY_TYPE Type, | ||
| 1707 | _In_ UINT Index); | ||
| 1708 | |||
| 1709 | DECLSPEC_XFGVIRT(ID3D12VideoDecodeCommandList, ResolveQueryData) | ||
| 1710 | void ( STDMETHODCALLTYPE *ResolveQueryData )( | ||
| 1711 | ID3D12VideoDecodeCommandList * This, | ||
| 1712 | _In_ ID3D12QueryHeap *pQueryHeap, | ||
| 1713 | _In_ D3D12_QUERY_TYPE Type, | ||
| 1714 | _In_ UINT StartIndex, | ||
| 1715 | _In_ UINT NumQueries, | ||
| 1716 | _In_ ID3D12Resource *pDestinationBuffer, | ||
| 1717 | _In_ UINT64 AlignedDestinationBufferOffset); | ||
| 1718 | |||
| 1719 | DECLSPEC_XFGVIRT(ID3D12VideoDecodeCommandList, SetPredication) | ||
| 1720 | void ( STDMETHODCALLTYPE *SetPredication )( | ||
| 1721 | ID3D12VideoDecodeCommandList * This, | ||
| 1722 | _In_opt_ ID3D12Resource *pBuffer, | ||
| 1723 | _In_ UINT64 AlignedBufferOffset, | ||
| 1724 | _In_ D3D12_PREDICATION_OP Operation); | ||
| 1725 | |||
| 1726 | DECLSPEC_XFGVIRT(ID3D12VideoDecodeCommandList, SetMarker) | ||
| 1727 | void ( STDMETHODCALLTYPE *SetMarker )( | ||
| 1728 | ID3D12VideoDecodeCommandList * This, | ||
| 1729 | UINT Metadata, | ||
| 1730 | _In_reads_bytes_opt_(Size) const void *pData, | ||
| 1731 | UINT Size); | ||
| 1732 | |||
| 1733 | DECLSPEC_XFGVIRT(ID3D12VideoDecodeCommandList, BeginEvent) | ||
| 1734 | void ( STDMETHODCALLTYPE *BeginEvent )( | ||
| 1735 | ID3D12VideoDecodeCommandList * This, | ||
| 1736 | UINT Metadata, | ||
| 1737 | _In_reads_bytes_opt_(Size) const void *pData, | ||
| 1738 | UINT Size); | ||
| 1739 | |||
| 1740 | DECLSPEC_XFGVIRT(ID3D12VideoDecodeCommandList, EndEvent) | ||
| 1741 | void ( STDMETHODCALLTYPE *EndEvent )( | ||
| 1742 | ID3D12VideoDecodeCommandList * This); | ||
| 1743 | |||
| 1744 | DECLSPEC_XFGVIRT(ID3D12VideoDecodeCommandList, DecodeFrame) | ||
| 1745 | void ( STDMETHODCALLTYPE *DecodeFrame )( | ||
| 1746 | ID3D12VideoDecodeCommandList * This, | ||
| 1747 | _In_ ID3D12VideoDecoder *pDecoder, | ||
| 1748 | _In_ const D3D12_VIDEO_DECODE_OUTPUT_STREAM_ARGUMENTS *pOutputArguments, | ||
| 1749 | _In_ const D3D12_VIDEO_DECODE_INPUT_STREAM_ARGUMENTS *pInputArguments); | ||
| 1750 | |||
| 1751 | DECLSPEC_XFGVIRT(ID3D12VideoDecodeCommandList, WriteBufferImmediate) | ||
| 1752 | void ( STDMETHODCALLTYPE *WriteBufferImmediate )( | ||
| 1753 | ID3D12VideoDecodeCommandList * This, | ||
| 1754 | UINT Count, | ||
| 1755 | _In_reads_(Count) const D3D12_WRITEBUFFERIMMEDIATE_PARAMETER *pParams, | ||
| 1756 | _In_reads_opt_(Count) const D3D12_WRITEBUFFERIMMEDIATE_MODE *pModes); | ||
| 1757 | |||
| 1758 | END_INTERFACE | ||
| 1759 | } ID3D12VideoDecodeCommandListVtbl; | ||
| 1760 | |||
| 1761 | interface ID3D12VideoDecodeCommandList | ||
| 1762 | { | ||
| 1763 | CONST_VTBL struct ID3D12VideoDecodeCommandListVtbl *lpVtbl; | ||
| 1764 | }; | ||
| 1765 | |||
| 1766 | |||
| 1767 | |||
| 1768 | #ifdef COBJMACROS | ||
| 1769 | |||
| 1770 | |||
| 1771 | #define ID3D12VideoDecodeCommandList_QueryInterface(This,riid,ppvObject) \ | ||
| 1772 | ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) | ||
| 1773 | |||
| 1774 | #define ID3D12VideoDecodeCommandList_AddRef(This) \ | ||
| 1775 | ( (This)->lpVtbl -> AddRef(This) ) | ||
| 1776 | |||
| 1777 | #define ID3D12VideoDecodeCommandList_Release(This) \ | ||
| 1778 | ( (This)->lpVtbl -> Release(This) ) | ||
| 1779 | |||
| 1780 | |||
| 1781 | #define ID3D12VideoDecodeCommandList_GetPrivateData(This,guid,pDataSize,pData) \ | ||
| 1782 | ( (This)->lpVtbl -> GetPrivateData(This,guid,pDataSize,pData) ) | ||
| 1783 | |||
| 1784 | #define ID3D12VideoDecodeCommandList_SetPrivateData(This,guid,DataSize,pData) \ | ||
| 1785 | ( (This)->lpVtbl -> SetPrivateData(This,guid,DataSize,pData) ) | ||
| 1786 | |||
| 1787 | #define ID3D12VideoDecodeCommandList_SetPrivateDataInterface(This,guid,pData) \ | ||
| 1788 | ( (This)->lpVtbl -> SetPrivateDataInterface(This,guid,pData) ) | ||
| 1789 | |||
| 1790 | #define ID3D12VideoDecodeCommandList_SetName(This,Name) \ | ||
| 1791 | ( (This)->lpVtbl -> SetName(This,Name) ) | ||
| 1792 | |||
| 1793 | |||
| 1794 | #define ID3D12VideoDecodeCommandList_GetDevice(This,riid,ppvDevice) \ | ||
| 1795 | ( (This)->lpVtbl -> GetDevice(This,riid,ppvDevice) ) | ||
| 1796 | |||
| 1797 | |||
| 1798 | #define ID3D12VideoDecodeCommandList_GetType(This) \ | ||
| 1799 | ( (This)->lpVtbl -> GetType(This) ) | ||
| 1800 | |||
| 1801 | |||
| 1802 | #define ID3D12VideoDecodeCommandList_Close(This) \ | ||
| 1803 | ( (This)->lpVtbl -> Close(This) ) | ||
| 1804 | |||
| 1805 | #define ID3D12VideoDecodeCommandList_Reset(This,pAllocator) \ | ||
| 1806 | ( (This)->lpVtbl -> Reset(This,pAllocator) ) | ||
| 1807 | |||
| 1808 | #define ID3D12VideoDecodeCommandList_ClearState(This) \ | ||
| 1809 | ( (This)->lpVtbl -> ClearState(This) ) | ||
| 1810 | |||
| 1811 | #define ID3D12VideoDecodeCommandList_ResourceBarrier(This,NumBarriers,pBarriers) \ | ||
| 1812 | ( (This)->lpVtbl -> ResourceBarrier(This,NumBarriers,pBarriers) ) | ||
| 1813 | |||
| 1814 | #define ID3D12VideoDecodeCommandList_DiscardResource(This,pResource,pRegion) \ | ||
| 1815 | ( (This)->lpVtbl -> DiscardResource(This,pResource,pRegion) ) | ||
| 1816 | |||
| 1817 | #define ID3D12VideoDecodeCommandList_BeginQuery(This,pQueryHeap,Type,Index) \ | ||
| 1818 | ( (This)->lpVtbl -> BeginQuery(This,pQueryHeap,Type,Index) ) | ||
| 1819 | |||
| 1820 | #define ID3D12VideoDecodeCommandList_EndQuery(This,pQueryHeap,Type,Index) \ | ||
| 1821 | ( (This)->lpVtbl -> EndQuery(This,pQueryHeap,Type,Index) ) | ||
| 1822 | |||
| 1823 | #define ID3D12VideoDecodeCommandList_ResolveQueryData(This,pQueryHeap,Type,StartIndex,NumQueries,pDestinationBuffer,AlignedDestinationBufferOffset) \ | ||
| 1824 | ( (This)->lpVtbl -> ResolveQueryData(This,pQueryHeap,Type,StartIndex,NumQueries,pDestinationBuffer,AlignedDestinationBufferOffset) ) | ||
| 1825 | |||
| 1826 | #define ID3D12VideoDecodeCommandList_SetPredication(This,pBuffer,AlignedBufferOffset,Operation) \ | ||
| 1827 | ( (This)->lpVtbl -> SetPredication(This,pBuffer,AlignedBufferOffset,Operation) ) | ||
| 1828 | |||
| 1829 | #define ID3D12VideoDecodeCommandList_SetMarker(This,Metadata,pData,Size) \ | ||
| 1830 | ( (This)->lpVtbl -> SetMarker(This,Metadata,pData,Size) ) | ||
| 1831 | |||
| 1832 | #define ID3D12VideoDecodeCommandList_BeginEvent(This,Metadata,pData,Size) \ | ||
| 1833 | ( (This)->lpVtbl -> BeginEvent(This,Metadata,pData,Size) ) | ||
| 1834 | |||
| 1835 | #define ID3D12VideoDecodeCommandList_EndEvent(This) \ | ||
| 1836 | ( (This)->lpVtbl -> EndEvent(This) ) | ||
| 1837 | |||
| 1838 | #define ID3D12VideoDecodeCommandList_DecodeFrame(This,pDecoder,pOutputArguments,pInputArguments) \ | ||
| 1839 | ( (This)->lpVtbl -> DecodeFrame(This,pDecoder,pOutputArguments,pInputArguments) ) | ||
| 1840 | |||
| 1841 | #define ID3D12VideoDecodeCommandList_WriteBufferImmediate(This,Count,pParams,pModes) \ | ||
| 1842 | ( (This)->lpVtbl -> WriteBufferImmediate(This,Count,pParams,pModes) ) | ||
| 1843 | |||
| 1844 | #endif /* COBJMACROS */ | ||
| 1845 | |||
| 1846 | |||
| 1847 | #endif /* C style interface */ | ||
| 1848 | |||
| 1849 | |||
| 1850 | |||
| 1851 | |||
| 1852 | #endif /* __ID3D12VideoDecodeCommandList_INTERFACE_DEFINED__ */ | ||
| 1853 | |||
| 1854 | |||
| 1855 | #ifndef __ID3D12VideoProcessCommandList_INTERFACE_DEFINED__ | ||
| 1856 | #define __ID3D12VideoProcessCommandList_INTERFACE_DEFINED__ | ||
| 1857 | |||
| 1858 | /* interface ID3D12VideoProcessCommandList */ | ||
| 1859 | /* [unique][local][object][uuid] */ | ||
| 1860 | |||
| 1861 | |||
| 1862 | EXTERN_C const IID IID_ID3D12VideoProcessCommandList; | ||
| 1863 | |||
| 1864 | #if defined(__cplusplus) && !defined(CINTERFACE) | ||
| 1865 | |||
| 1866 | MIDL_INTERFACE("AEB2543A-167F-4682-ACC8-D159ED4A6209") | ||
| 1867 | ID3D12VideoProcessCommandList : public ID3D12CommandList | ||
| 1868 | { | ||
| 1869 | public: | ||
| 1870 | virtual HRESULT STDMETHODCALLTYPE Close( void) = 0; | ||
| 1871 | |||
| 1872 | virtual HRESULT STDMETHODCALLTYPE Reset( | ||
| 1873 | _In_ ID3D12CommandAllocator *pAllocator) = 0; | ||
| 1874 | |||
| 1875 | virtual void STDMETHODCALLTYPE ClearState( void) = 0; | ||
| 1876 | |||
| 1877 | virtual void STDMETHODCALLTYPE ResourceBarrier( | ||
| 1878 | _In_ UINT NumBarriers, | ||
| 1879 | _In_reads_(NumBarriers) const D3D12_RESOURCE_BARRIER *pBarriers) = 0; | ||
| 1880 | |||
| 1881 | virtual void STDMETHODCALLTYPE DiscardResource( | ||
| 1882 | _In_ ID3D12Resource *pResource, | ||
| 1883 | _In_opt_ const D3D12_DISCARD_REGION *pRegion) = 0; | ||
| 1884 | |||
| 1885 | virtual void STDMETHODCALLTYPE BeginQuery( | ||
| 1886 | _In_ ID3D12QueryHeap *pQueryHeap, | ||
| 1887 | _In_ D3D12_QUERY_TYPE Type, | ||
| 1888 | _In_ UINT Index) = 0; | ||
| 1889 | |||
| 1890 | virtual void STDMETHODCALLTYPE EndQuery( | ||
| 1891 | _In_ ID3D12QueryHeap *pQueryHeap, | ||
| 1892 | _In_ D3D12_QUERY_TYPE Type, | ||
| 1893 | _In_ UINT Index) = 0; | ||
| 1894 | |||
| 1895 | virtual void STDMETHODCALLTYPE ResolveQueryData( | ||
| 1896 | _In_ ID3D12QueryHeap *pQueryHeap, | ||
| 1897 | _In_ D3D12_QUERY_TYPE Type, | ||
| 1898 | _In_ UINT StartIndex, | ||
| 1899 | _In_ UINT NumQueries, | ||
| 1900 | _In_ ID3D12Resource *pDestinationBuffer, | ||
| 1901 | _In_ UINT64 AlignedDestinationBufferOffset) = 0; | ||
| 1902 | |||
| 1903 | virtual void STDMETHODCALLTYPE SetPredication( | ||
| 1904 | _In_opt_ ID3D12Resource *pBuffer, | ||
| 1905 | _In_ UINT64 AlignedBufferOffset, | ||
| 1906 | _In_ D3D12_PREDICATION_OP Operation) = 0; | ||
| 1907 | |||
| 1908 | virtual void STDMETHODCALLTYPE SetMarker( | ||
| 1909 | UINT Metadata, | ||
| 1910 | _In_reads_bytes_opt_(Size) const void *pData, | ||
| 1911 | UINT Size) = 0; | ||
| 1912 | |||
| 1913 | virtual void STDMETHODCALLTYPE BeginEvent( | ||
| 1914 | UINT Metadata, | ||
| 1915 | _In_reads_bytes_opt_(Size) const void *pData, | ||
| 1916 | UINT Size) = 0; | ||
| 1917 | |||
| 1918 | virtual void STDMETHODCALLTYPE EndEvent( void) = 0; | ||
| 1919 | |||
| 1920 | virtual void STDMETHODCALLTYPE ProcessFrames( | ||
| 1921 | _In_ ID3D12VideoProcessor *pVideoProcessor, | ||
| 1922 | _In_ const D3D12_VIDEO_PROCESS_OUTPUT_STREAM_ARGUMENTS *pOutputArguments, | ||
| 1923 | UINT NumInputStreams, | ||
| 1924 | _In_reads_(NumInputStreams) const D3D12_VIDEO_PROCESS_INPUT_STREAM_ARGUMENTS *pInputArguments) = 0; | ||
| 1925 | |||
| 1926 | virtual void STDMETHODCALLTYPE WriteBufferImmediate( | ||
| 1927 | UINT Count, | ||
| 1928 | _In_reads_(Count) const D3D12_WRITEBUFFERIMMEDIATE_PARAMETER *pParams, | ||
| 1929 | _In_reads_opt_(Count) const D3D12_WRITEBUFFERIMMEDIATE_MODE *pModes) = 0; | ||
| 1930 | |||
| 1931 | }; | ||
| 1932 | |||
| 1933 | |||
| 1934 | #else /* C style interface */ | ||
| 1935 | |||
| 1936 | typedef struct ID3D12VideoProcessCommandListVtbl | ||
| 1937 | { | ||
| 1938 | BEGIN_INTERFACE | ||
| 1939 | |||
| 1940 | DECLSPEC_XFGVIRT(IUnknown, QueryInterface) | ||
| 1941 | HRESULT ( STDMETHODCALLTYPE *QueryInterface )( | ||
| 1942 | ID3D12VideoProcessCommandList * This, | ||
| 1943 | REFIID riid, | ||
| 1944 | _COM_Outptr_ void **ppvObject); | ||
| 1945 | |||
| 1946 | DECLSPEC_XFGVIRT(IUnknown, AddRef) | ||
| 1947 | ULONG ( STDMETHODCALLTYPE *AddRef )( | ||
| 1948 | ID3D12VideoProcessCommandList * This); | ||
| 1949 | |||
| 1950 | DECLSPEC_XFGVIRT(IUnknown, Release) | ||
| 1951 | ULONG ( STDMETHODCALLTYPE *Release )( | ||
| 1952 | ID3D12VideoProcessCommandList * This); | ||
| 1953 | |||
| 1954 | DECLSPEC_XFGVIRT(ID3D12Object, GetPrivateData) | ||
| 1955 | HRESULT ( STDMETHODCALLTYPE *GetPrivateData )( | ||
| 1956 | ID3D12VideoProcessCommandList * This, | ||
| 1957 | _In_ REFGUID guid, | ||
| 1958 | _Inout_ UINT *pDataSize, | ||
| 1959 | _Out_writes_bytes_opt_( *pDataSize ) void *pData); | ||
| 1960 | |||
| 1961 | DECLSPEC_XFGVIRT(ID3D12Object, SetPrivateData) | ||
| 1962 | HRESULT ( STDMETHODCALLTYPE *SetPrivateData )( | ||
| 1963 | ID3D12VideoProcessCommandList * This, | ||
| 1964 | _In_ REFGUID guid, | ||
| 1965 | _In_ UINT DataSize, | ||
| 1966 | _In_reads_bytes_opt_( DataSize ) const void *pData); | ||
| 1967 | |||
| 1968 | DECLSPEC_XFGVIRT(ID3D12Object, SetPrivateDataInterface) | ||
| 1969 | HRESULT ( STDMETHODCALLTYPE *SetPrivateDataInterface )( | ||
| 1970 | ID3D12VideoProcessCommandList * This, | ||
| 1971 | _In_ REFGUID guid, | ||
| 1972 | _In_opt_ const IUnknown *pData); | ||
| 1973 | |||
| 1974 | DECLSPEC_XFGVIRT(ID3D12Object, SetName) | ||
| 1975 | HRESULT ( STDMETHODCALLTYPE *SetName )( | ||
| 1976 | ID3D12VideoProcessCommandList * This, | ||
| 1977 | _In_z_ LPCWSTR Name); | ||
| 1978 | |||
| 1979 | DECLSPEC_XFGVIRT(ID3D12DeviceChild, GetDevice) | ||
| 1980 | HRESULT ( STDMETHODCALLTYPE *GetDevice )( | ||
| 1981 | ID3D12VideoProcessCommandList * This, | ||
| 1982 | REFIID riid, | ||
| 1983 | _COM_Outptr_opt_ void **ppvDevice); | ||
| 1984 | |||
| 1985 | DECLSPEC_XFGVIRT(ID3D12CommandList, GetType) | ||
| 1986 | D3D12_COMMAND_LIST_TYPE ( STDMETHODCALLTYPE *GetType )( | ||
| 1987 | ID3D12VideoProcessCommandList * This); | ||
| 1988 | |||
| 1989 | DECLSPEC_XFGVIRT(ID3D12VideoProcessCommandList, Close) | ||
| 1990 | HRESULT ( STDMETHODCALLTYPE *Close )( | ||
| 1991 | ID3D12VideoProcessCommandList * This); | ||
| 1992 | |||
| 1993 | DECLSPEC_XFGVIRT(ID3D12VideoProcessCommandList, Reset) | ||
| 1994 | HRESULT ( STDMETHODCALLTYPE *Reset )( | ||
| 1995 | ID3D12VideoProcessCommandList * This, | ||
| 1996 | _In_ ID3D12CommandAllocator *pAllocator); | ||
| 1997 | |||
| 1998 | DECLSPEC_XFGVIRT(ID3D12VideoProcessCommandList, ClearState) | ||
| 1999 | void ( STDMETHODCALLTYPE *ClearState )( | ||
| 2000 | ID3D12VideoProcessCommandList * This); | ||
| 2001 | |||
| 2002 | DECLSPEC_XFGVIRT(ID3D12VideoProcessCommandList, ResourceBarrier) | ||
| 2003 | void ( STDMETHODCALLTYPE *ResourceBarrier )( | ||
| 2004 | ID3D12VideoProcessCommandList * This, | ||
| 2005 | _In_ UINT NumBarriers, | ||
| 2006 | _In_reads_(NumBarriers) const D3D12_RESOURCE_BARRIER *pBarriers); | ||
| 2007 | |||
| 2008 | DECLSPEC_XFGVIRT(ID3D12VideoProcessCommandList, DiscardResource) | ||
| 2009 | void ( STDMETHODCALLTYPE *DiscardResource )( | ||
| 2010 | ID3D12VideoProcessCommandList * This, | ||
| 2011 | _In_ ID3D12Resource *pResource, | ||
| 2012 | _In_opt_ const D3D12_DISCARD_REGION *pRegion); | ||
| 2013 | |||
| 2014 | DECLSPEC_XFGVIRT(ID3D12VideoProcessCommandList, BeginQuery) | ||
| 2015 | void ( STDMETHODCALLTYPE *BeginQuery )( | ||
| 2016 | ID3D12VideoProcessCommandList * This, | ||
| 2017 | _In_ ID3D12QueryHeap *pQueryHeap, | ||
| 2018 | _In_ D3D12_QUERY_TYPE Type, | ||
| 2019 | _In_ UINT Index); | ||
| 2020 | |||
| 2021 | DECLSPEC_XFGVIRT(ID3D12VideoProcessCommandList, EndQuery) | ||
| 2022 | void ( STDMETHODCALLTYPE *EndQuery )( | ||
| 2023 | ID3D12VideoProcessCommandList * This, | ||
| 2024 | _In_ ID3D12QueryHeap *pQueryHeap, | ||
| 2025 | _In_ D3D12_QUERY_TYPE Type, | ||
| 2026 | _In_ UINT Index); | ||
| 2027 | |||
| 2028 | DECLSPEC_XFGVIRT(ID3D12VideoProcessCommandList, ResolveQueryData) | ||
| 2029 | void ( STDMETHODCALLTYPE *ResolveQueryData )( | ||
| 2030 | ID3D12VideoProcessCommandList * This, | ||
| 2031 | _In_ ID3D12QueryHeap *pQueryHeap, | ||
| 2032 | _In_ D3D12_QUERY_TYPE Type, | ||
| 2033 | _In_ UINT StartIndex, | ||
| 2034 | _In_ UINT NumQueries, | ||
| 2035 | _In_ ID3D12Resource *pDestinationBuffer, | ||
| 2036 | _In_ UINT64 AlignedDestinationBufferOffset); | ||
| 2037 | |||
| 2038 | DECLSPEC_XFGVIRT(ID3D12VideoProcessCommandList, SetPredication) | ||
| 2039 | void ( STDMETHODCALLTYPE *SetPredication )( | ||
| 2040 | ID3D12VideoProcessCommandList * This, | ||
| 2041 | _In_opt_ ID3D12Resource *pBuffer, | ||
| 2042 | _In_ UINT64 AlignedBufferOffset, | ||
| 2043 | _In_ D3D12_PREDICATION_OP Operation); | ||
| 2044 | |||
| 2045 | DECLSPEC_XFGVIRT(ID3D12VideoProcessCommandList, SetMarker) | ||
| 2046 | void ( STDMETHODCALLTYPE *SetMarker )( | ||
| 2047 | ID3D12VideoProcessCommandList * This, | ||
| 2048 | UINT Metadata, | ||
| 2049 | _In_reads_bytes_opt_(Size) const void *pData, | ||
| 2050 | UINT Size); | ||
| 2051 | |||
| 2052 | DECLSPEC_XFGVIRT(ID3D12VideoProcessCommandList, BeginEvent) | ||
| 2053 | void ( STDMETHODCALLTYPE *BeginEvent )( | ||
| 2054 | ID3D12VideoProcessCommandList * This, | ||
| 2055 | UINT Metadata, | ||
| 2056 | _In_reads_bytes_opt_(Size) const void *pData, | ||
| 2057 | UINT Size); | ||
| 2058 | |||
| 2059 | DECLSPEC_XFGVIRT(ID3D12VideoProcessCommandList, EndEvent) | ||
| 2060 | void ( STDMETHODCALLTYPE *EndEvent )( | ||
| 2061 | ID3D12VideoProcessCommandList * This); | ||
| 2062 | |||
| 2063 | DECLSPEC_XFGVIRT(ID3D12VideoProcessCommandList, ProcessFrames) | ||
| 2064 | void ( STDMETHODCALLTYPE *ProcessFrames )( | ||
| 2065 | ID3D12VideoProcessCommandList * This, | ||
| 2066 | _In_ ID3D12VideoProcessor *pVideoProcessor, | ||
| 2067 | _In_ const D3D12_VIDEO_PROCESS_OUTPUT_STREAM_ARGUMENTS *pOutputArguments, | ||
| 2068 | UINT NumInputStreams, | ||
| 2069 | _In_reads_(NumInputStreams) const D3D12_VIDEO_PROCESS_INPUT_STREAM_ARGUMENTS *pInputArguments); | ||
| 2070 | |||
| 2071 | DECLSPEC_XFGVIRT(ID3D12VideoProcessCommandList, WriteBufferImmediate) | ||
| 2072 | void ( STDMETHODCALLTYPE *WriteBufferImmediate )( | ||
| 2073 | ID3D12VideoProcessCommandList * This, | ||
| 2074 | UINT Count, | ||
| 2075 | _In_reads_(Count) const D3D12_WRITEBUFFERIMMEDIATE_PARAMETER *pParams, | ||
| 2076 | _In_reads_opt_(Count) const D3D12_WRITEBUFFERIMMEDIATE_MODE *pModes); | ||
| 2077 | |||
| 2078 | END_INTERFACE | ||
| 2079 | } ID3D12VideoProcessCommandListVtbl; | ||
| 2080 | |||
| 2081 | interface ID3D12VideoProcessCommandList | ||
| 2082 | { | ||
| 2083 | CONST_VTBL struct ID3D12VideoProcessCommandListVtbl *lpVtbl; | ||
| 2084 | }; | ||
| 2085 | |||
| 2086 | |||
| 2087 | |||
| 2088 | #ifdef COBJMACROS | ||
| 2089 | |||
| 2090 | |||
| 2091 | #define ID3D12VideoProcessCommandList_QueryInterface(This,riid,ppvObject) \ | ||
| 2092 | ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) | ||
| 2093 | |||
| 2094 | #define ID3D12VideoProcessCommandList_AddRef(This) \ | ||
| 2095 | ( (This)->lpVtbl -> AddRef(This) ) | ||
| 2096 | |||
| 2097 | #define ID3D12VideoProcessCommandList_Release(This) \ | ||
| 2098 | ( (This)->lpVtbl -> Release(This) ) | ||
| 2099 | |||
| 2100 | |||
| 2101 | #define ID3D12VideoProcessCommandList_GetPrivateData(This,guid,pDataSize,pData) \ | ||
| 2102 | ( (This)->lpVtbl -> GetPrivateData(This,guid,pDataSize,pData) ) | ||
| 2103 | |||
| 2104 | #define ID3D12VideoProcessCommandList_SetPrivateData(This,guid,DataSize,pData) \ | ||
| 2105 | ( (This)->lpVtbl -> SetPrivateData(This,guid,DataSize,pData) ) | ||
| 2106 | |||
| 2107 | #define ID3D12VideoProcessCommandList_SetPrivateDataInterface(This,guid,pData) \ | ||
| 2108 | ( (This)->lpVtbl -> SetPrivateDataInterface(This,guid,pData) ) | ||
| 2109 | |||
| 2110 | #define ID3D12VideoProcessCommandList_SetName(This,Name) \ | ||
| 2111 | ( (This)->lpVtbl -> SetName(This,Name) ) | ||
| 2112 | |||
| 2113 | |||
| 2114 | #define ID3D12VideoProcessCommandList_GetDevice(This,riid,ppvDevice) \ | ||
| 2115 | ( (This)->lpVtbl -> GetDevice(This,riid,ppvDevice) ) | ||
| 2116 | |||
| 2117 | |||
| 2118 | #define ID3D12VideoProcessCommandList_GetType(This) \ | ||
| 2119 | ( (This)->lpVtbl -> GetType(This) ) | ||
| 2120 | |||
| 2121 | |||
| 2122 | #define ID3D12VideoProcessCommandList_Close(This) \ | ||
| 2123 | ( (This)->lpVtbl -> Close(This) ) | ||
| 2124 | |||
| 2125 | #define ID3D12VideoProcessCommandList_Reset(This,pAllocator) \ | ||
| 2126 | ( (This)->lpVtbl -> Reset(This,pAllocator) ) | ||
| 2127 | |||
| 2128 | #define ID3D12VideoProcessCommandList_ClearState(This) \ | ||
| 2129 | ( (This)->lpVtbl -> ClearState(This) ) | ||
| 2130 | |||
| 2131 | #define ID3D12VideoProcessCommandList_ResourceBarrier(This,NumBarriers,pBarriers) \ | ||
| 2132 | ( (This)->lpVtbl -> ResourceBarrier(This,NumBarriers,pBarriers) ) | ||
| 2133 | |||
| 2134 | #define ID3D12VideoProcessCommandList_DiscardResource(This,pResource,pRegion) \ | ||
| 2135 | ( (This)->lpVtbl -> DiscardResource(This,pResource,pRegion) ) | ||
| 2136 | |||
| 2137 | #define ID3D12VideoProcessCommandList_BeginQuery(This,pQueryHeap,Type,Index) \ | ||
| 2138 | ( (This)->lpVtbl -> BeginQuery(This,pQueryHeap,Type,Index) ) | ||
| 2139 | |||
| 2140 | #define ID3D12VideoProcessCommandList_EndQuery(This,pQueryHeap,Type,Index) \ | ||
| 2141 | ( (This)->lpVtbl -> EndQuery(This,pQueryHeap,Type,Index) ) | ||
| 2142 | |||
| 2143 | #define ID3D12VideoProcessCommandList_ResolveQueryData(This,pQueryHeap,Type,StartIndex,NumQueries,pDestinationBuffer,AlignedDestinationBufferOffset) \ | ||
| 2144 | ( (This)->lpVtbl -> ResolveQueryData(This,pQueryHeap,Type,StartIndex,NumQueries,pDestinationBuffer,AlignedDestinationBufferOffset) ) | ||
| 2145 | |||
| 2146 | #define ID3D12VideoProcessCommandList_SetPredication(This,pBuffer,AlignedBufferOffset,Operation) \ | ||
| 2147 | ( (This)->lpVtbl -> SetPredication(This,pBuffer,AlignedBufferOffset,Operation) ) | ||
| 2148 | |||
| 2149 | #define ID3D12VideoProcessCommandList_SetMarker(This,Metadata,pData,Size) \ | ||
| 2150 | ( (This)->lpVtbl -> SetMarker(This,Metadata,pData,Size) ) | ||
| 2151 | |||
| 2152 | #define ID3D12VideoProcessCommandList_BeginEvent(This,Metadata,pData,Size) \ | ||
| 2153 | ( (This)->lpVtbl -> BeginEvent(This,Metadata,pData,Size) ) | ||
| 2154 | |||
| 2155 | #define ID3D12VideoProcessCommandList_EndEvent(This) \ | ||
| 2156 | ( (This)->lpVtbl -> EndEvent(This) ) | ||
| 2157 | |||
| 2158 | #define ID3D12VideoProcessCommandList_ProcessFrames(This,pVideoProcessor,pOutputArguments,NumInputStreams,pInputArguments) \ | ||
| 2159 | ( (This)->lpVtbl -> ProcessFrames(This,pVideoProcessor,pOutputArguments,NumInputStreams,pInputArguments) ) | ||
| 2160 | |||
| 2161 | #define ID3D12VideoProcessCommandList_WriteBufferImmediate(This,Count,pParams,pModes) \ | ||
| 2162 | ( (This)->lpVtbl -> WriteBufferImmediate(This,Count,pParams,pModes) ) | ||
| 2163 | |||
| 2164 | #endif /* COBJMACROS */ | ||
| 2165 | |||
| 2166 | |||
| 2167 | #endif /* C style interface */ | ||
| 2168 | |||
| 2169 | |||
| 2170 | |||
| 2171 | |||
| 2172 | #endif /* __ID3D12VideoProcessCommandList_INTERFACE_DEFINED__ */ | ||
| 2173 | |||
| 2174 | |||
| 2175 | /* interface __MIDL_itf_d3d12video_0000_0006 */ | ||
| 2176 | /* [local] */ | ||
| 2177 | |||
| 2178 | typedef struct D3D12_VIDEO_DECODE_OUTPUT_HISTOGRAM | ||
| 2179 | { | ||
| 2180 | UINT64 Offset; | ||
| 2181 | ID3D12Resource *pBuffer; | ||
| 2182 | } D3D12_VIDEO_DECODE_OUTPUT_HISTOGRAM; | ||
| 2183 | |||
| 2184 | typedef struct D3D12_VIDEO_DECODE_CONVERSION_ARGUMENTS1 | ||
| 2185 | { | ||
| 2186 | BOOL Enable; | ||
| 2187 | ID3D12Resource *pReferenceTexture2D; | ||
| 2188 | UINT ReferenceSubresource; | ||
| 2189 | DXGI_COLOR_SPACE_TYPE OutputColorSpace; | ||
| 2190 | DXGI_COLOR_SPACE_TYPE DecodeColorSpace; | ||
| 2191 | UINT OutputWidth; | ||
| 2192 | UINT OutputHeight; | ||
| 2193 | } D3D12_VIDEO_DECODE_CONVERSION_ARGUMENTS1; | ||
| 2194 | |||
| 2195 | typedef struct D3D12_VIDEO_DECODE_OUTPUT_STREAM_ARGUMENTS1 | ||
| 2196 | { | ||
| 2197 | ID3D12Resource *pOutputTexture2D; | ||
| 2198 | UINT OutputSubresource; | ||
| 2199 | D3D12_VIDEO_DECODE_CONVERSION_ARGUMENTS1 ConversionArguments; | ||
| 2200 | D3D12_VIDEO_DECODE_OUTPUT_HISTOGRAM Histograms[ 4 ]; | ||
| 2201 | } D3D12_VIDEO_DECODE_OUTPUT_STREAM_ARGUMENTS1; | ||
| 2202 | |||
| 2203 | |||
| 2204 | |||
| 2205 | extern RPC_IF_HANDLE __MIDL_itf_d3d12video_0000_0006_v0_0_c_ifspec; | ||
| 2206 | extern RPC_IF_HANDLE __MIDL_itf_d3d12video_0000_0006_v0_0_s_ifspec; | ||
| 2207 | |||
| 2208 | #ifndef __ID3D12VideoDecodeCommandList1_INTERFACE_DEFINED__ | ||
| 2209 | #define __ID3D12VideoDecodeCommandList1_INTERFACE_DEFINED__ | ||
| 2210 | |||
| 2211 | /* interface ID3D12VideoDecodeCommandList1 */ | ||
| 2212 | /* [unique][local][object][uuid] */ | ||
| 2213 | |||
| 2214 | |||
| 2215 | EXTERN_C const IID IID_ID3D12VideoDecodeCommandList1; | ||
| 2216 | |||
| 2217 | #if defined(__cplusplus) && !defined(CINTERFACE) | ||
| 2218 | |||
| 2219 | MIDL_INTERFACE("D52F011B-B56E-453C-A05A-A7F311C8F472") | ||
| 2220 | ID3D12VideoDecodeCommandList1 : public ID3D12VideoDecodeCommandList | ||
| 2221 | { | ||
| 2222 | public: | ||
| 2223 | virtual void STDMETHODCALLTYPE DecodeFrame1( | ||
| 2224 | _In_ ID3D12VideoDecoder *pDecoder, | ||
| 2225 | _In_ const D3D12_VIDEO_DECODE_OUTPUT_STREAM_ARGUMENTS1 *pOutputArguments, | ||
| 2226 | _In_ const D3D12_VIDEO_DECODE_INPUT_STREAM_ARGUMENTS *pInputArguments) = 0; | ||
| 2227 | |||
| 2228 | }; | ||
| 2229 | |||
| 2230 | |||
| 2231 | #else /* C style interface */ | ||
| 2232 | |||
| 2233 | typedef struct ID3D12VideoDecodeCommandList1Vtbl | ||
| 2234 | { | ||
| 2235 | BEGIN_INTERFACE | ||
| 2236 | |||
| 2237 | DECLSPEC_XFGVIRT(IUnknown, QueryInterface) | ||
| 2238 | HRESULT ( STDMETHODCALLTYPE *QueryInterface )( | ||
| 2239 | ID3D12VideoDecodeCommandList1 * This, | ||
| 2240 | REFIID riid, | ||
| 2241 | _COM_Outptr_ void **ppvObject); | ||
| 2242 | |||
| 2243 | DECLSPEC_XFGVIRT(IUnknown, AddRef) | ||
| 2244 | ULONG ( STDMETHODCALLTYPE *AddRef )( | ||
| 2245 | ID3D12VideoDecodeCommandList1 * This); | ||
| 2246 | |||
| 2247 | DECLSPEC_XFGVIRT(IUnknown, Release) | ||
| 2248 | ULONG ( STDMETHODCALLTYPE *Release )( | ||
| 2249 | ID3D12VideoDecodeCommandList1 * This); | ||
| 2250 | |||
| 2251 | DECLSPEC_XFGVIRT(ID3D12Object, GetPrivateData) | ||
| 2252 | HRESULT ( STDMETHODCALLTYPE *GetPrivateData )( | ||
| 2253 | ID3D12VideoDecodeCommandList1 * This, | ||
| 2254 | _In_ REFGUID guid, | ||
| 2255 | _Inout_ UINT *pDataSize, | ||
| 2256 | _Out_writes_bytes_opt_( *pDataSize ) void *pData); | ||
| 2257 | |||
| 2258 | DECLSPEC_XFGVIRT(ID3D12Object, SetPrivateData) | ||
| 2259 | HRESULT ( STDMETHODCALLTYPE *SetPrivateData )( | ||
| 2260 | ID3D12VideoDecodeCommandList1 * This, | ||
| 2261 | _In_ REFGUID guid, | ||
| 2262 | _In_ UINT DataSize, | ||
| 2263 | _In_reads_bytes_opt_( DataSize ) const void *pData); | ||
| 2264 | |||
| 2265 | DECLSPEC_XFGVIRT(ID3D12Object, SetPrivateDataInterface) | ||
| 2266 | HRESULT ( STDMETHODCALLTYPE *SetPrivateDataInterface )( | ||
| 2267 | ID3D12VideoDecodeCommandList1 * This, | ||
| 2268 | _In_ REFGUID guid, | ||
| 2269 | _In_opt_ const IUnknown *pData); | ||
| 2270 | |||
| 2271 | DECLSPEC_XFGVIRT(ID3D12Object, SetName) | ||
| 2272 | HRESULT ( STDMETHODCALLTYPE *SetName )( | ||
| 2273 | ID3D12VideoDecodeCommandList1 * This, | ||
| 2274 | _In_z_ LPCWSTR Name); | ||
| 2275 | |||
| 2276 | DECLSPEC_XFGVIRT(ID3D12DeviceChild, GetDevice) | ||
| 2277 | HRESULT ( STDMETHODCALLTYPE *GetDevice )( | ||
| 2278 | ID3D12VideoDecodeCommandList1 * This, | ||
| 2279 | REFIID riid, | ||
| 2280 | _COM_Outptr_opt_ void **ppvDevice); | ||
| 2281 | |||
| 2282 | DECLSPEC_XFGVIRT(ID3D12CommandList, GetType) | ||
| 2283 | D3D12_COMMAND_LIST_TYPE ( STDMETHODCALLTYPE *GetType )( | ||
| 2284 | ID3D12VideoDecodeCommandList1 * This); | ||
| 2285 | |||
| 2286 | DECLSPEC_XFGVIRT(ID3D12VideoDecodeCommandList, Close) | ||
| 2287 | HRESULT ( STDMETHODCALLTYPE *Close )( | ||
| 2288 | ID3D12VideoDecodeCommandList1 * This); | ||
| 2289 | |||
| 2290 | DECLSPEC_XFGVIRT(ID3D12VideoDecodeCommandList, Reset) | ||
| 2291 | HRESULT ( STDMETHODCALLTYPE *Reset )( | ||
| 2292 | ID3D12VideoDecodeCommandList1 * This, | ||
| 2293 | _In_ ID3D12CommandAllocator *pAllocator); | ||
| 2294 | |||
| 2295 | DECLSPEC_XFGVIRT(ID3D12VideoDecodeCommandList, ClearState) | ||
| 2296 | void ( STDMETHODCALLTYPE *ClearState )( | ||
| 2297 | ID3D12VideoDecodeCommandList1 * This); | ||
| 2298 | |||
| 2299 | DECLSPEC_XFGVIRT(ID3D12VideoDecodeCommandList, ResourceBarrier) | ||
| 2300 | void ( STDMETHODCALLTYPE *ResourceBarrier )( | ||
| 2301 | ID3D12VideoDecodeCommandList1 * This, | ||
| 2302 | _In_ UINT NumBarriers, | ||
| 2303 | _In_reads_(NumBarriers) const D3D12_RESOURCE_BARRIER *pBarriers); | ||
| 2304 | |||
| 2305 | DECLSPEC_XFGVIRT(ID3D12VideoDecodeCommandList, DiscardResource) | ||
| 2306 | void ( STDMETHODCALLTYPE *DiscardResource )( | ||
| 2307 | ID3D12VideoDecodeCommandList1 * This, | ||
| 2308 | _In_ ID3D12Resource *pResource, | ||
| 2309 | _In_opt_ const D3D12_DISCARD_REGION *pRegion); | ||
| 2310 | |||
| 2311 | DECLSPEC_XFGVIRT(ID3D12VideoDecodeCommandList, BeginQuery) | ||
| 2312 | void ( STDMETHODCALLTYPE *BeginQuery )( | ||
| 2313 | ID3D12VideoDecodeCommandList1 * This, | ||
| 2314 | _In_ ID3D12QueryHeap *pQueryHeap, | ||
| 2315 | _In_ D3D12_QUERY_TYPE Type, | ||
| 2316 | _In_ UINT Index); | ||
| 2317 | |||
| 2318 | DECLSPEC_XFGVIRT(ID3D12VideoDecodeCommandList, EndQuery) | ||
| 2319 | void ( STDMETHODCALLTYPE *EndQuery )( | ||
| 2320 | ID3D12VideoDecodeCommandList1 * This, | ||
| 2321 | _In_ ID3D12QueryHeap *pQueryHeap, | ||
| 2322 | _In_ D3D12_QUERY_TYPE Type, | ||
| 2323 | _In_ UINT Index); | ||
| 2324 | |||
| 2325 | DECLSPEC_XFGVIRT(ID3D12VideoDecodeCommandList, ResolveQueryData) | ||
| 2326 | void ( STDMETHODCALLTYPE *ResolveQueryData )( | ||
| 2327 | ID3D12VideoDecodeCommandList1 * This, | ||
| 2328 | _In_ ID3D12QueryHeap *pQueryHeap, | ||
| 2329 | _In_ D3D12_QUERY_TYPE Type, | ||
| 2330 | _In_ UINT StartIndex, | ||
| 2331 | _In_ UINT NumQueries, | ||
| 2332 | _In_ ID3D12Resource *pDestinationBuffer, | ||
| 2333 | _In_ UINT64 AlignedDestinationBufferOffset); | ||
| 2334 | |||
| 2335 | DECLSPEC_XFGVIRT(ID3D12VideoDecodeCommandList, SetPredication) | ||
| 2336 | void ( STDMETHODCALLTYPE *SetPredication )( | ||
| 2337 | ID3D12VideoDecodeCommandList1 * This, | ||
| 2338 | _In_opt_ ID3D12Resource *pBuffer, | ||
| 2339 | _In_ UINT64 AlignedBufferOffset, | ||
| 2340 | _In_ D3D12_PREDICATION_OP Operation); | ||
| 2341 | |||
| 2342 | DECLSPEC_XFGVIRT(ID3D12VideoDecodeCommandList, SetMarker) | ||
| 2343 | void ( STDMETHODCALLTYPE *SetMarker )( | ||
| 2344 | ID3D12VideoDecodeCommandList1 * This, | ||
| 2345 | UINT Metadata, | ||
| 2346 | _In_reads_bytes_opt_(Size) const void *pData, | ||
| 2347 | UINT Size); | ||
| 2348 | |||
| 2349 | DECLSPEC_XFGVIRT(ID3D12VideoDecodeCommandList, BeginEvent) | ||
| 2350 | void ( STDMETHODCALLTYPE *BeginEvent )( | ||
| 2351 | ID3D12VideoDecodeCommandList1 * This, | ||
| 2352 | UINT Metadata, | ||
| 2353 | _In_reads_bytes_opt_(Size) const void *pData, | ||
| 2354 | UINT Size); | ||
| 2355 | |||
| 2356 | DECLSPEC_XFGVIRT(ID3D12VideoDecodeCommandList, EndEvent) | ||
| 2357 | void ( STDMETHODCALLTYPE *EndEvent )( | ||
| 2358 | ID3D12VideoDecodeCommandList1 * This); | ||
| 2359 | |||
| 2360 | DECLSPEC_XFGVIRT(ID3D12VideoDecodeCommandList, DecodeFrame) | ||
| 2361 | void ( STDMETHODCALLTYPE *DecodeFrame )( | ||
| 2362 | ID3D12VideoDecodeCommandList1 * This, | ||
| 2363 | _In_ ID3D12VideoDecoder *pDecoder, | ||
| 2364 | _In_ const D3D12_VIDEO_DECODE_OUTPUT_STREAM_ARGUMENTS *pOutputArguments, | ||
| 2365 | _In_ const D3D12_VIDEO_DECODE_INPUT_STREAM_ARGUMENTS *pInputArguments); | ||
| 2366 | |||
| 2367 | DECLSPEC_XFGVIRT(ID3D12VideoDecodeCommandList, WriteBufferImmediate) | ||
| 2368 | void ( STDMETHODCALLTYPE *WriteBufferImmediate )( | ||
| 2369 | ID3D12VideoDecodeCommandList1 * This, | ||
| 2370 | UINT Count, | ||
| 2371 | _In_reads_(Count) const D3D12_WRITEBUFFERIMMEDIATE_PARAMETER *pParams, | ||
| 2372 | _In_reads_opt_(Count) const D3D12_WRITEBUFFERIMMEDIATE_MODE *pModes); | ||
| 2373 | |||
| 2374 | DECLSPEC_XFGVIRT(ID3D12VideoDecodeCommandList1, DecodeFrame1) | ||
| 2375 | void ( STDMETHODCALLTYPE *DecodeFrame1 )( | ||
| 2376 | ID3D12VideoDecodeCommandList1 * This, | ||
| 2377 | _In_ ID3D12VideoDecoder *pDecoder, | ||
| 2378 | _In_ const D3D12_VIDEO_DECODE_OUTPUT_STREAM_ARGUMENTS1 *pOutputArguments, | ||
| 2379 | _In_ const D3D12_VIDEO_DECODE_INPUT_STREAM_ARGUMENTS *pInputArguments); | ||
| 2380 | |||
| 2381 | END_INTERFACE | ||
| 2382 | } ID3D12VideoDecodeCommandList1Vtbl; | ||
| 2383 | |||
| 2384 | interface ID3D12VideoDecodeCommandList1 | ||
| 2385 | { | ||
| 2386 | CONST_VTBL struct ID3D12VideoDecodeCommandList1Vtbl *lpVtbl; | ||
| 2387 | }; | ||
| 2388 | |||
| 2389 | |||
| 2390 | |||
| 2391 | #ifdef COBJMACROS | ||
| 2392 | |||
| 2393 | |||
| 2394 | #define ID3D12VideoDecodeCommandList1_QueryInterface(This,riid,ppvObject) \ | ||
| 2395 | ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) | ||
| 2396 | |||
| 2397 | #define ID3D12VideoDecodeCommandList1_AddRef(This) \ | ||
| 2398 | ( (This)->lpVtbl -> AddRef(This) ) | ||
| 2399 | |||
| 2400 | #define ID3D12VideoDecodeCommandList1_Release(This) \ | ||
| 2401 | ( (This)->lpVtbl -> Release(This) ) | ||
| 2402 | |||
| 2403 | |||
| 2404 | #define ID3D12VideoDecodeCommandList1_GetPrivateData(This,guid,pDataSize,pData) \ | ||
| 2405 | ( (This)->lpVtbl -> GetPrivateData(This,guid,pDataSize,pData) ) | ||
| 2406 | |||
| 2407 | #define ID3D12VideoDecodeCommandList1_SetPrivateData(This,guid,DataSize,pData) \ | ||
| 2408 | ( (This)->lpVtbl -> SetPrivateData(This,guid,DataSize,pData) ) | ||
| 2409 | |||
| 2410 | #define ID3D12VideoDecodeCommandList1_SetPrivateDataInterface(This,guid,pData) \ | ||
| 2411 | ( (This)->lpVtbl -> SetPrivateDataInterface(This,guid,pData) ) | ||
| 2412 | |||
| 2413 | #define ID3D12VideoDecodeCommandList1_SetName(This,Name) \ | ||
| 2414 | ( (This)->lpVtbl -> SetName(This,Name) ) | ||
| 2415 | |||
| 2416 | |||
| 2417 | #define ID3D12VideoDecodeCommandList1_GetDevice(This,riid,ppvDevice) \ | ||
| 2418 | ( (This)->lpVtbl -> GetDevice(This,riid,ppvDevice) ) | ||
| 2419 | |||
| 2420 | |||
| 2421 | #define ID3D12VideoDecodeCommandList1_GetType(This) \ | ||
| 2422 | ( (This)->lpVtbl -> GetType(This) ) | ||
| 2423 | |||
| 2424 | |||
| 2425 | #define ID3D12VideoDecodeCommandList1_Close(This) \ | ||
| 2426 | ( (This)->lpVtbl -> Close(This) ) | ||
| 2427 | |||
| 2428 | #define ID3D12VideoDecodeCommandList1_Reset(This,pAllocator) \ | ||
| 2429 | ( (This)->lpVtbl -> Reset(This,pAllocator) ) | ||
| 2430 | |||
| 2431 | #define ID3D12VideoDecodeCommandList1_ClearState(This) \ | ||
| 2432 | ( (This)->lpVtbl -> ClearState(This) ) | ||
| 2433 | |||
| 2434 | #define ID3D12VideoDecodeCommandList1_ResourceBarrier(This,NumBarriers,pBarriers) \ | ||
| 2435 | ( (This)->lpVtbl -> ResourceBarrier(This,NumBarriers,pBarriers) ) | ||
| 2436 | |||
| 2437 | #define ID3D12VideoDecodeCommandList1_DiscardResource(This,pResource,pRegion) \ | ||
| 2438 | ( (This)->lpVtbl -> DiscardResource(This,pResource,pRegion) ) | ||
| 2439 | |||
| 2440 | #define ID3D12VideoDecodeCommandList1_BeginQuery(This,pQueryHeap,Type,Index) \ | ||
| 2441 | ( (This)->lpVtbl -> BeginQuery(This,pQueryHeap,Type,Index) ) | ||
| 2442 | |||
| 2443 | #define ID3D12VideoDecodeCommandList1_EndQuery(This,pQueryHeap,Type,Index) \ | ||
| 2444 | ( (This)->lpVtbl -> EndQuery(This,pQueryHeap,Type,Index) ) | ||
| 2445 | |||
| 2446 | #define ID3D12VideoDecodeCommandList1_ResolveQueryData(This,pQueryHeap,Type,StartIndex,NumQueries,pDestinationBuffer,AlignedDestinationBufferOffset) \ | ||
| 2447 | ( (This)->lpVtbl -> ResolveQueryData(This,pQueryHeap,Type,StartIndex,NumQueries,pDestinationBuffer,AlignedDestinationBufferOffset) ) | ||
| 2448 | |||
| 2449 | #define ID3D12VideoDecodeCommandList1_SetPredication(This,pBuffer,AlignedBufferOffset,Operation) \ | ||
| 2450 | ( (This)->lpVtbl -> SetPredication(This,pBuffer,AlignedBufferOffset,Operation) ) | ||
| 2451 | |||
| 2452 | #define ID3D12VideoDecodeCommandList1_SetMarker(This,Metadata,pData,Size) \ | ||
| 2453 | ( (This)->lpVtbl -> SetMarker(This,Metadata,pData,Size) ) | ||
| 2454 | |||
| 2455 | #define ID3D12VideoDecodeCommandList1_BeginEvent(This,Metadata,pData,Size) \ | ||
| 2456 | ( (This)->lpVtbl -> BeginEvent(This,Metadata,pData,Size) ) | ||
| 2457 | |||
| 2458 | #define ID3D12VideoDecodeCommandList1_EndEvent(This) \ | ||
| 2459 | ( (This)->lpVtbl -> EndEvent(This) ) | ||
| 2460 | |||
| 2461 | #define ID3D12VideoDecodeCommandList1_DecodeFrame(This,pDecoder,pOutputArguments,pInputArguments) \ | ||
| 2462 | ( (This)->lpVtbl -> DecodeFrame(This,pDecoder,pOutputArguments,pInputArguments) ) | ||
| 2463 | |||
| 2464 | #define ID3D12VideoDecodeCommandList1_WriteBufferImmediate(This,Count,pParams,pModes) \ | ||
| 2465 | ( (This)->lpVtbl -> WriteBufferImmediate(This,Count,pParams,pModes) ) | ||
| 2466 | |||
| 2467 | |||
| 2468 | #define ID3D12VideoDecodeCommandList1_DecodeFrame1(This,pDecoder,pOutputArguments,pInputArguments) \ | ||
| 2469 | ( (This)->lpVtbl -> DecodeFrame1(This,pDecoder,pOutputArguments,pInputArguments) ) | ||
| 2470 | |||
| 2471 | #endif /* COBJMACROS */ | ||
| 2472 | |||
| 2473 | |||
| 2474 | #endif /* C style interface */ | ||
| 2475 | |||
| 2476 | |||
| 2477 | |||
| 2478 | |||
| 2479 | #endif /* __ID3D12VideoDecodeCommandList1_INTERFACE_DEFINED__ */ | ||
| 2480 | |||
| 2481 | |||
| 2482 | /* interface __MIDL_itf_d3d12video_0000_0007 */ | ||
| 2483 | /* [local] */ | ||
| 2484 | |||
| 2485 | typedef struct D3D12_VIDEO_PROCESS_INPUT_STREAM_ARGUMENTS1 | ||
| 2486 | { | ||
| 2487 | D3D12_VIDEO_PROCESS_INPUT_STREAM InputStream[ 2 ]; | ||
| 2488 | D3D12_VIDEO_PROCESS_TRANSFORM Transform; | ||
| 2489 | D3D12_VIDEO_PROCESS_INPUT_STREAM_FLAGS Flags; | ||
| 2490 | D3D12_VIDEO_PROCESS_INPUT_STREAM_RATE RateInfo; | ||
| 2491 | INT FilterLevels[ 32 ]; | ||
| 2492 | D3D12_VIDEO_PROCESS_ALPHA_BLENDING AlphaBlending; | ||
| 2493 | D3D12_VIDEO_FIELD_TYPE FieldType; | ||
| 2494 | } D3D12_VIDEO_PROCESS_INPUT_STREAM_ARGUMENTS1; | ||
| 2495 | |||
| 2496 | |||
| 2497 | |||
| 2498 | extern RPC_IF_HANDLE __MIDL_itf_d3d12video_0000_0007_v0_0_c_ifspec; | ||
| 2499 | extern RPC_IF_HANDLE __MIDL_itf_d3d12video_0000_0007_v0_0_s_ifspec; | ||
| 2500 | |||
| 2501 | #ifndef __ID3D12VideoProcessCommandList1_INTERFACE_DEFINED__ | ||
| 2502 | #define __ID3D12VideoProcessCommandList1_INTERFACE_DEFINED__ | ||
| 2503 | |||
| 2504 | /* interface ID3D12VideoProcessCommandList1 */ | ||
| 2505 | /* [unique][local][object][uuid] */ | ||
| 2506 | |||
| 2507 | |||
| 2508 | EXTERN_C const IID IID_ID3D12VideoProcessCommandList1; | ||
| 2509 | |||
| 2510 | #if defined(__cplusplus) && !defined(CINTERFACE) | ||
| 2511 | |||
| 2512 | MIDL_INTERFACE("542C5C4D-7596-434F-8C93-4EFA6766F267") | ||
| 2513 | ID3D12VideoProcessCommandList1 : public ID3D12VideoProcessCommandList | ||
| 2514 | { | ||
| 2515 | public: | ||
| 2516 | virtual void STDMETHODCALLTYPE ProcessFrames1( | ||
| 2517 | _In_ ID3D12VideoProcessor *pVideoProcessor, | ||
| 2518 | _In_ const D3D12_VIDEO_PROCESS_OUTPUT_STREAM_ARGUMENTS *pOutputArguments, | ||
| 2519 | UINT NumInputStreams, | ||
| 2520 | _In_reads_(NumInputStreams) const D3D12_VIDEO_PROCESS_INPUT_STREAM_ARGUMENTS1 *pInputArguments) = 0; | ||
| 2521 | |||
| 2522 | }; | ||
| 2523 | |||
| 2524 | |||
| 2525 | #else /* C style interface */ | ||
| 2526 | |||
| 2527 | typedef struct ID3D12VideoProcessCommandList1Vtbl | ||
| 2528 | { | ||
| 2529 | BEGIN_INTERFACE | ||
| 2530 | |||
| 2531 | DECLSPEC_XFGVIRT(IUnknown, QueryInterface) | ||
| 2532 | HRESULT ( STDMETHODCALLTYPE *QueryInterface )( | ||
| 2533 | ID3D12VideoProcessCommandList1 * This, | ||
| 2534 | REFIID riid, | ||
| 2535 | _COM_Outptr_ void **ppvObject); | ||
| 2536 | |||
| 2537 | DECLSPEC_XFGVIRT(IUnknown, AddRef) | ||
| 2538 | ULONG ( STDMETHODCALLTYPE *AddRef )( | ||
| 2539 | ID3D12VideoProcessCommandList1 * This); | ||
| 2540 | |||
| 2541 | DECLSPEC_XFGVIRT(IUnknown, Release) | ||
| 2542 | ULONG ( STDMETHODCALLTYPE *Release )( | ||
| 2543 | ID3D12VideoProcessCommandList1 * This); | ||
| 2544 | |||
| 2545 | DECLSPEC_XFGVIRT(ID3D12Object, GetPrivateData) | ||
| 2546 | HRESULT ( STDMETHODCALLTYPE *GetPrivateData )( | ||
| 2547 | ID3D12VideoProcessCommandList1 * This, | ||
| 2548 | _In_ REFGUID guid, | ||
| 2549 | _Inout_ UINT *pDataSize, | ||
| 2550 | _Out_writes_bytes_opt_( *pDataSize ) void *pData); | ||
| 2551 | |||
| 2552 | DECLSPEC_XFGVIRT(ID3D12Object, SetPrivateData) | ||
| 2553 | HRESULT ( STDMETHODCALLTYPE *SetPrivateData )( | ||
| 2554 | ID3D12VideoProcessCommandList1 * This, | ||
| 2555 | _In_ REFGUID guid, | ||
| 2556 | _In_ UINT DataSize, | ||
| 2557 | _In_reads_bytes_opt_( DataSize ) const void *pData); | ||
| 2558 | |||
| 2559 | DECLSPEC_XFGVIRT(ID3D12Object, SetPrivateDataInterface) | ||
| 2560 | HRESULT ( STDMETHODCALLTYPE *SetPrivateDataInterface )( | ||
| 2561 | ID3D12VideoProcessCommandList1 * This, | ||
| 2562 | _In_ REFGUID guid, | ||
| 2563 | _In_opt_ const IUnknown *pData); | ||
| 2564 | |||
| 2565 | DECLSPEC_XFGVIRT(ID3D12Object, SetName) | ||
| 2566 | HRESULT ( STDMETHODCALLTYPE *SetName )( | ||
| 2567 | ID3D12VideoProcessCommandList1 * This, | ||
| 2568 | _In_z_ LPCWSTR Name); | ||
| 2569 | |||
| 2570 | DECLSPEC_XFGVIRT(ID3D12DeviceChild, GetDevice) | ||
| 2571 | HRESULT ( STDMETHODCALLTYPE *GetDevice )( | ||
| 2572 | ID3D12VideoProcessCommandList1 * This, | ||
| 2573 | REFIID riid, | ||
| 2574 | _COM_Outptr_opt_ void **ppvDevice); | ||
| 2575 | |||
| 2576 | DECLSPEC_XFGVIRT(ID3D12CommandList, GetType) | ||
| 2577 | D3D12_COMMAND_LIST_TYPE ( STDMETHODCALLTYPE *GetType )( | ||
| 2578 | ID3D12VideoProcessCommandList1 * This); | ||
| 2579 | |||
| 2580 | DECLSPEC_XFGVIRT(ID3D12VideoProcessCommandList, Close) | ||
| 2581 | HRESULT ( STDMETHODCALLTYPE *Close )( | ||
| 2582 | ID3D12VideoProcessCommandList1 * This); | ||
| 2583 | |||
| 2584 | DECLSPEC_XFGVIRT(ID3D12VideoProcessCommandList, Reset) | ||
| 2585 | HRESULT ( STDMETHODCALLTYPE *Reset )( | ||
| 2586 | ID3D12VideoProcessCommandList1 * This, | ||
| 2587 | _In_ ID3D12CommandAllocator *pAllocator); | ||
| 2588 | |||
| 2589 | DECLSPEC_XFGVIRT(ID3D12VideoProcessCommandList, ClearState) | ||
| 2590 | void ( STDMETHODCALLTYPE *ClearState )( | ||
| 2591 | ID3D12VideoProcessCommandList1 * This); | ||
| 2592 | |||
| 2593 | DECLSPEC_XFGVIRT(ID3D12VideoProcessCommandList, ResourceBarrier) | ||
| 2594 | void ( STDMETHODCALLTYPE *ResourceBarrier )( | ||
| 2595 | ID3D12VideoProcessCommandList1 * This, | ||
| 2596 | _In_ UINT NumBarriers, | ||
| 2597 | _In_reads_(NumBarriers) const D3D12_RESOURCE_BARRIER *pBarriers); | ||
| 2598 | |||
| 2599 | DECLSPEC_XFGVIRT(ID3D12VideoProcessCommandList, DiscardResource) | ||
| 2600 | void ( STDMETHODCALLTYPE *DiscardResource )( | ||
| 2601 | ID3D12VideoProcessCommandList1 * This, | ||
| 2602 | _In_ ID3D12Resource *pResource, | ||
| 2603 | _In_opt_ const D3D12_DISCARD_REGION *pRegion); | ||
| 2604 | |||
| 2605 | DECLSPEC_XFGVIRT(ID3D12VideoProcessCommandList, BeginQuery) | ||
| 2606 | void ( STDMETHODCALLTYPE *BeginQuery )( | ||
| 2607 | ID3D12VideoProcessCommandList1 * This, | ||
| 2608 | _In_ ID3D12QueryHeap *pQueryHeap, | ||
| 2609 | _In_ D3D12_QUERY_TYPE Type, | ||
| 2610 | _In_ UINT Index); | ||
| 2611 | |||
| 2612 | DECLSPEC_XFGVIRT(ID3D12VideoProcessCommandList, EndQuery) | ||
| 2613 | void ( STDMETHODCALLTYPE *EndQuery )( | ||
| 2614 | ID3D12VideoProcessCommandList1 * This, | ||
| 2615 | _In_ ID3D12QueryHeap *pQueryHeap, | ||
| 2616 | _In_ D3D12_QUERY_TYPE Type, | ||
| 2617 | _In_ UINT Index); | ||
| 2618 | |||
| 2619 | DECLSPEC_XFGVIRT(ID3D12VideoProcessCommandList, ResolveQueryData) | ||
| 2620 | void ( STDMETHODCALLTYPE *ResolveQueryData )( | ||
| 2621 | ID3D12VideoProcessCommandList1 * This, | ||
| 2622 | _In_ ID3D12QueryHeap *pQueryHeap, | ||
| 2623 | _In_ D3D12_QUERY_TYPE Type, | ||
| 2624 | _In_ UINT StartIndex, | ||
| 2625 | _In_ UINT NumQueries, | ||
| 2626 | _In_ ID3D12Resource *pDestinationBuffer, | ||
| 2627 | _In_ UINT64 AlignedDestinationBufferOffset); | ||
| 2628 | |||
| 2629 | DECLSPEC_XFGVIRT(ID3D12VideoProcessCommandList, SetPredication) | ||
| 2630 | void ( STDMETHODCALLTYPE *SetPredication )( | ||
| 2631 | ID3D12VideoProcessCommandList1 * This, | ||
| 2632 | _In_opt_ ID3D12Resource *pBuffer, | ||
| 2633 | _In_ UINT64 AlignedBufferOffset, | ||
| 2634 | _In_ D3D12_PREDICATION_OP Operation); | ||
| 2635 | |||
| 2636 | DECLSPEC_XFGVIRT(ID3D12VideoProcessCommandList, SetMarker) | ||
| 2637 | void ( STDMETHODCALLTYPE *SetMarker )( | ||
| 2638 | ID3D12VideoProcessCommandList1 * This, | ||
| 2639 | UINT Metadata, | ||
| 2640 | _In_reads_bytes_opt_(Size) const void *pData, | ||
| 2641 | UINT Size); | ||
| 2642 | |||
| 2643 | DECLSPEC_XFGVIRT(ID3D12VideoProcessCommandList, BeginEvent) | ||
| 2644 | void ( STDMETHODCALLTYPE *BeginEvent )( | ||
| 2645 | ID3D12VideoProcessCommandList1 * This, | ||
| 2646 | UINT Metadata, | ||
| 2647 | _In_reads_bytes_opt_(Size) const void *pData, | ||
| 2648 | UINT Size); | ||
| 2649 | |||
| 2650 | DECLSPEC_XFGVIRT(ID3D12VideoProcessCommandList, EndEvent) | ||
| 2651 | void ( STDMETHODCALLTYPE *EndEvent )( | ||
| 2652 | ID3D12VideoProcessCommandList1 * This); | ||
| 2653 | |||
| 2654 | DECLSPEC_XFGVIRT(ID3D12VideoProcessCommandList, ProcessFrames) | ||
| 2655 | void ( STDMETHODCALLTYPE *ProcessFrames )( | ||
| 2656 | ID3D12VideoProcessCommandList1 * This, | ||
| 2657 | _In_ ID3D12VideoProcessor *pVideoProcessor, | ||
| 2658 | _In_ const D3D12_VIDEO_PROCESS_OUTPUT_STREAM_ARGUMENTS *pOutputArguments, | ||
| 2659 | UINT NumInputStreams, | ||
| 2660 | _In_reads_(NumInputStreams) const D3D12_VIDEO_PROCESS_INPUT_STREAM_ARGUMENTS *pInputArguments); | ||
| 2661 | |||
| 2662 | DECLSPEC_XFGVIRT(ID3D12VideoProcessCommandList, WriteBufferImmediate) | ||
| 2663 | void ( STDMETHODCALLTYPE *WriteBufferImmediate )( | ||
| 2664 | ID3D12VideoProcessCommandList1 * This, | ||
| 2665 | UINT Count, | ||
| 2666 | _In_reads_(Count) const D3D12_WRITEBUFFERIMMEDIATE_PARAMETER *pParams, | ||
| 2667 | _In_reads_opt_(Count) const D3D12_WRITEBUFFERIMMEDIATE_MODE *pModes); | ||
| 2668 | |||
| 2669 | DECLSPEC_XFGVIRT(ID3D12VideoProcessCommandList1, ProcessFrames1) | ||
| 2670 | void ( STDMETHODCALLTYPE *ProcessFrames1 )( | ||
| 2671 | ID3D12VideoProcessCommandList1 * This, | ||
| 2672 | _In_ ID3D12VideoProcessor *pVideoProcessor, | ||
| 2673 | _In_ const D3D12_VIDEO_PROCESS_OUTPUT_STREAM_ARGUMENTS *pOutputArguments, | ||
| 2674 | UINT NumInputStreams, | ||
| 2675 | _In_reads_(NumInputStreams) const D3D12_VIDEO_PROCESS_INPUT_STREAM_ARGUMENTS1 *pInputArguments); | ||
| 2676 | |||
| 2677 | END_INTERFACE | ||
| 2678 | } ID3D12VideoProcessCommandList1Vtbl; | ||
| 2679 | |||
| 2680 | interface ID3D12VideoProcessCommandList1 | ||
| 2681 | { | ||
| 2682 | CONST_VTBL struct ID3D12VideoProcessCommandList1Vtbl *lpVtbl; | ||
| 2683 | }; | ||
| 2684 | |||
| 2685 | |||
| 2686 | |||
| 2687 | #ifdef COBJMACROS | ||
| 2688 | |||
| 2689 | |||
| 2690 | #define ID3D12VideoProcessCommandList1_QueryInterface(This,riid,ppvObject) \ | ||
| 2691 | ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) | ||
| 2692 | |||
| 2693 | #define ID3D12VideoProcessCommandList1_AddRef(This) \ | ||
| 2694 | ( (This)->lpVtbl -> AddRef(This) ) | ||
| 2695 | |||
| 2696 | #define ID3D12VideoProcessCommandList1_Release(This) \ | ||
| 2697 | ( (This)->lpVtbl -> Release(This) ) | ||
| 2698 | |||
| 2699 | |||
| 2700 | #define ID3D12VideoProcessCommandList1_GetPrivateData(This,guid,pDataSize,pData) \ | ||
| 2701 | ( (This)->lpVtbl -> GetPrivateData(This,guid,pDataSize,pData) ) | ||
| 2702 | |||
| 2703 | #define ID3D12VideoProcessCommandList1_SetPrivateData(This,guid,DataSize,pData) \ | ||
| 2704 | ( (This)->lpVtbl -> SetPrivateData(This,guid,DataSize,pData) ) | ||
| 2705 | |||
| 2706 | #define ID3D12VideoProcessCommandList1_SetPrivateDataInterface(This,guid,pData) \ | ||
| 2707 | ( (This)->lpVtbl -> SetPrivateDataInterface(This,guid,pData) ) | ||
| 2708 | |||
| 2709 | #define ID3D12VideoProcessCommandList1_SetName(This,Name) \ | ||
| 2710 | ( (This)->lpVtbl -> SetName(This,Name) ) | ||
| 2711 | |||
| 2712 | |||
| 2713 | #define ID3D12VideoProcessCommandList1_GetDevice(This,riid,ppvDevice) \ | ||
| 2714 | ( (This)->lpVtbl -> GetDevice(This,riid,ppvDevice) ) | ||
| 2715 | |||
| 2716 | |||
| 2717 | #define ID3D12VideoProcessCommandList1_GetType(This) \ | ||
| 2718 | ( (This)->lpVtbl -> GetType(This) ) | ||
| 2719 | |||
| 2720 | |||
| 2721 | #define ID3D12VideoProcessCommandList1_Close(This) \ | ||
| 2722 | ( (This)->lpVtbl -> Close(This) ) | ||
| 2723 | |||
| 2724 | #define ID3D12VideoProcessCommandList1_Reset(This,pAllocator) \ | ||
| 2725 | ( (This)->lpVtbl -> Reset(This,pAllocator) ) | ||
| 2726 | |||
| 2727 | #define ID3D12VideoProcessCommandList1_ClearState(This) \ | ||
| 2728 | ( (This)->lpVtbl -> ClearState(This) ) | ||
| 2729 | |||
| 2730 | #define ID3D12VideoProcessCommandList1_ResourceBarrier(This,NumBarriers,pBarriers) \ | ||
| 2731 | ( (This)->lpVtbl -> ResourceBarrier(This,NumBarriers,pBarriers) ) | ||
| 2732 | |||
| 2733 | #define ID3D12VideoProcessCommandList1_DiscardResource(This,pResource,pRegion) \ | ||
| 2734 | ( (This)->lpVtbl -> DiscardResource(This,pResource,pRegion) ) | ||
| 2735 | |||
| 2736 | #define ID3D12VideoProcessCommandList1_BeginQuery(This,pQueryHeap,Type,Index) \ | ||
| 2737 | ( (This)->lpVtbl -> BeginQuery(This,pQueryHeap,Type,Index) ) | ||
| 2738 | |||
| 2739 | #define ID3D12VideoProcessCommandList1_EndQuery(This,pQueryHeap,Type,Index) \ | ||
| 2740 | ( (This)->lpVtbl -> EndQuery(This,pQueryHeap,Type,Index) ) | ||
| 2741 | |||
| 2742 | #define ID3D12VideoProcessCommandList1_ResolveQueryData(This,pQueryHeap,Type,StartIndex,NumQueries,pDestinationBuffer,AlignedDestinationBufferOffset) \ | ||
| 2743 | ( (This)->lpVtbl -> ResolveQueryData(This,pQueryHeap,Type,StartIndex,NumQueries,pDestinationBuffer,AlignedDestinationBufferOffset) ) | ||
| 2744 | |||
| 2745 | #define ID3D12VideoProcessCommandList1_SetPredication(This,pBuffer,AlignedBufferOffset,Operation) \ | ||
| 2746 | ( (This)->lpVtbl -> SetPredication(This,pBuffer,AlignedBufferOffset,Operation) ) | ||
| 2747 | |||
| 2748 | #define ID3D12VideoProcessCommandList1_SetMarker(This,Metadata,pData,Size) \ | ||
| 2749 | ( (This)->lpVtbl -> SetMarker(This,Metadata,pData,Size) ) | ||
| 2750 | |||
| 2751 | #define ID3D12VideoProcessCommandList1_BeginEvent(This,Metadata,pData,Size) \ | ||
| 2752 | ( (This)->lpVtbl -> BeginEvent(This,Metadata,pData,Size) ) | ||
| 2753 | |||
| 2754 | #define ID3D12VideoProcessCommandList1_EndEvent(This) \ | ||
| 2755 | ( (This)->lpVtbl -> EndEvent(This) ) | ||
| 2756 | |||
| 2757 | #define ID3D12VideoProcessCommandList1_ProcessFrames(This,pVideoProcessor,pOutputArguments,NumInputStreams,pInputArguments) \ | ||
| 2758 | ( (This)->lpVtbl -> ProcessFrames(This,pVideoProcessor,pOutputArguments,NumInputStreams,pInputArguments) ) | ||
| 2759 | |||
| 2760 | #define ID3D12VideoProcessCommandList1_WriteBufferImmediate(This,Count,pParams,pModes) \ | ||
| 2761 | ( (This)->lpVtbl -> WriteBufferImmediate(This,Count,pParams,pModes) ) | ||
| 2762 | |||
| 2763 | |||
| 2764 | #define ID3D12VideoProcessCommandList1_ProcessFrames1(This,pVideoProcessor,pOutputArguments,NumInputStreams,pInputArguments) \ | ||
| 2765 | ( (This)->lpVtbl -> ProcessFrames1(This,pVideoProcessor,pOutputArguments,NumInputStreams,pInputArguments) ) | ||
| 2766 | |||
| 2767 | #endif /* COBJMACROS */ | ||
| 2768 | |||
| 2769 | |||
| 2770 | #endif /* C style interface */ | ||
| 2771 | |||
| 2772 | |||
| 2773 | |||
| 2774 | |||
| 2775 | #endif /* __ID3D12VideoProcessCommandList1_INTERFACE_DEFINED__ */ | ||
| 2776 | |||
| 2777 | |||
| 2778 | /* interface __MIDL_itf_d3d12video_0000_0008 */ | ||
| 2779 | /* [local] */ | ||
| 2780 | |||
| 2781 | typedef | ||
| 2782 | enum D3D12_VIDEO_MOTION_ESTIMATOR_SEARCH_BLOCK_SIZE | ||
| 2783 | { | ||
| 2784 | D3D12_VIDEO_MOTION_ESTIMATOR_SEARCH_BLOCK_SIZE_8X8 = 0, | ||
| 2785 | D3D12_VIDEO_MOTION_ESTIMATOR_SEARCH_BLOCK_SIZE_16X16 = 1 | ||
| 2786 | } D3D12_VIDEO_MOTION_ESTIMATOR_SEARCH_BLOCK_SIZE; | ||
| 2787 | |||
| 2788 | typedef | ||
| 2789 | enum D3D12_VIDEO_MOTION_ESTIMATOR_SEARCH_BLOCK_SIZE_FLAGS | ||
| 2790 | { | ||
| 2791 | D3D12_VIDEO_MOTION_ESTIMATOR_SEARCH_BLOCK_SIZE_FLAG_NONE = 0, | ||
| 2792 | D3D12_VIDEO_MOTION_ESTIMATOR_SEARCH_BLOCK_SIZE_FLAG_8X8 = ( 1 << D3D12_VIDEO_MOTION_ESTIMATOR_SEARCH_BLOCK_SIZE_8X8 ) , | ||
| 2793 | D3D12_VIDEO_MOTION_ESTIMATOR_SEARCH_BLOCK_SIZE_FLAG_16X16 = ( 1 << D3D12_VIDEO_MOTION_ESTIMATOR_SEARCH_BLOCK_SIZE_16X16 ) | ||
| 2794 | } D3D12_VIDEO_MOTION_ESTIMATOR_SEARCH_BLOCK_SIZE_FLAGS; | ||
| 2795 | |||
| 2796 | DEFINE_ENUM_FLAG_OPERATORS( D3D12_VIDEO_MOTION_ESTIMATOR_SEARCH_BLOCK_SIZE_FLAGS ) | ||
| 2797 | typedef | ||
| 2798 | enum D3D12_VIDEO_MOTION_ESTIMATOR_VECTOR_PRECISION | ||
| 2799 | { | ||
| 2800 | D3D12_VIDEO_MOTION_ESTIMATOR_VECTOR_PRECISION_QUARTER_PEL = 0 | ||
| 2801 | } D3D12_VIDEO_MOTION_ESTIMATOR_VECTOR_PRECISION; | ||
| 2802 | |||
| 2803 | typedef | ||
| 2804 | enum D3D12_VIDEO_MOTION_ESTIMATOR_VECTOR_PRECISION_FLAGS | ||
| 2805 | { | ||
| 2806 | D3D12_VIDEO_MOTION_ESTIMATOR_VECTOR_PRECISION_FLAG_NONE = 0, | ||
| 2807 | D3D12_VIDEO_MOTION_ESTIMATOR_VECTOR_PRECISION_FLAG_QUARTER_PEL = ( 1 << D3D12_VIDEO_MOTION_ESTIMATOR_VECTOR_PRECISION_QUARTER_PEL ) | ||
| 2808 | } D3D12_VIDEO_MOTION_ESTIMATOR_VECTOR_PRECISION_FLAGS; | ||
| 2809 | |||
| 2810 | DEFINE_ENUM_FLAG_OPERATORS( D3D12_VIDEO_MOTION_ESTIMATOR_VECTOR_PRECISION_FLAGS ) | ||
| 2811 | typedef struct D3D12_FEATURE_DATA_VIDEO_FEATURE_AREA_SUPPORT | ||
| 2812 | { | ||
| 2813 | UINT NodeIndex; | ||
| 2814 | BOOL VideoDecodeSupport; | ||
| 2815 | BOOL VideoProcessSupport; | ||
| 2816 | BOOL VideoEncodeSupport; | ||
| 2817 | } D3D12_FEATURE_DATA_VIDEO_FEATURE_AREA_SUPPORT; | ||
| 2818 | |||
| 2819 | typedef struct D3D12_FEATURE_DATA_VIDEO_MOTION_ESTIMATOR | ||
| 2820 | { | ||
| 2821 | UINT NodeIndex; | ||
| 2822 | DXGI_FORMAT InputFormat; | ||
| 2823 | D3D12_VIDEO_MOTION_ESTIMATOR_SEARCH_BLOCK_SIZE_FLAGS BlockSizeFlags; | ||
| 2824 | D3D12_VIDEO_MOTION_ESTIMATOR_VECTOR_PRECISION_FLAGS PrecisionFlags; | ||
| 2825 | D3D12_VIDEO_SIZE_RANGE SizeRange; | ||
| 2826 | } D3D12_FEATURE_DATA_VIDEO_MOTION_ESTIMATOR; | ||
| 2827 | |||
| 2828 | typedef struct D3D12_FEATURE_DATA_VIDEO_MOTION_ESTIMATOR_SIZE | ||
| 2829 | { | ||
| 2830 | UINT NodeIndex; | ||
| 2831 | DXGI_FORMAT InputFormat; | ||
| 2832 | D3D12_VIDEO_MOTION_ESTIMATOR_SEARCH_BLOCK_SIZE BlockSize; | ||
| 2833 | D3D12_VIDEO_MOTION_ESTIMATOR_VECTOR_PRECISION Precision; | ||
| 2834 | D3D12_VIDEO_SIZE_RANGE SizeRange; | ||
| 2835 | BOOL Protected; | ||
| 2836 | UINT64 MotionVectorHeapMemoryPoolL0Size; | ||
| 2837 | UINT64 MotionVectorHeapMemoryPoolL1Size; | ||
| 2838 | UINT64 MotionEstimatorMemoryPoolL0Size; | ||
| 2839 | UINT64 MotionEstimatorMemoryPoolL1Size; | ||
| 2840 | } D3D12_FEATURE_DATA_VIDEO_MOTION_ESTIMATOR_SIZE; | ||
| 2841 | |||
| 2842 | typedef struct D3D12_VIDEO_MOTION_ESTIMATOR_DESC | ||
| 2843 | { | ||
| 2844 | UINT NodeMask; | ||
| 2845 | DXGI_FORMAT InputFormat; | ||
| 2846 | D3D12_VIDEO_MOTION_ESTIMATOR_SEARCH_BLOCK_SIZE BlockSize; | ||
| 2847 | D3D12_VIDEO_MOTION_ESTIMATOR_VECTOR_PRECISION Precision; | ||
| 2848 | D3D12_VIDEO_SIZE_RANGE SizeRange; | ||
| 2849 | } D3D12_VIDEO_MOTION_ESTIMATOR_DESC; | ||
| 2850 | |||
| 2851 | |||
| 2852 | |||
| 2853 | extern RPC_IF_HANDLE __MIDL_itf_d3d12video_0000_0008_v0_0_c_ifspec; | ||
| 2854 | extern RPC_IF_HANDLE __MIDL_itf_d3d12video_0000_0008_v0_0_s_ifspec; | ||
| 2855 | |||
| 2856 | #ifndef __ID3D12VideoMotionEstimator_INTERFACE_DEFINED__ | ||
| 2857 | #define __ID3D12VideoMotionEstimator_INTERFACE_DEFINED__ | ||
| 2858 | |||
| 2859 | /* interface ID3D12VideoMotionEstimator */ | ||
| 2860 | /* [unique][local][object][uuid] */ | ||
| 2861 | |||
| 2862 | |||
| 2863 | EXTERN_C const IID IID_ID3D12VideoMotionEstimator; | ||
| 2864 | |||
| 2865 | #if defined(__cplusplus) && !defined(CINTERFACE) | ||
| 2866 | |||
| 2867 | MIDL_INTERFACE("33FDAE0E-098B-428F-87BB-34B695DE08F8") | ||
| 2868 | ID3D12VideoMotionEstimator : public ID3D12Pageable | ||
| 2869 | { | ||
| 2870 | public: | ||
| 2871 | #if defined(_MSC_VER) || !defined(_WIN32) | ||
| 2872 | virtual D3D12_VIDEO_MOTION_ESTIMATOR_DESC STDMETHODCALLTYPE GetDesc( void) = 0; | ||
| 2873 | #else | ||
| 2874 | virtual D3D12_VIDEO_MOTION_ESTIMATOR_DESC *STDMETHODCALLTYPE GetDesc( | ||
| 2875 | D3D12_VIDEO_MOTION_ESTIMATOR_DESC * RetVal) = 0; | ||
| 2876 | #endif | ||
| 2877 | |||
| 2878 | virtual HRESULT STDMETHODCALLTYPE GetProtectedResourceSession( | ||
| 2879 | REFIID riid, | ||
| 2880 | _COM_Outptr_opt_ void **ppProtectedSession) = 0; | ||
| 2881 | |||
| 2882 | }; | ||
| 2883 | |||
| 2884 | |||
| 2885 | #else /* C style interface */ | ||
| 2886 | |||
| 2887 | typedef struct ID3D12VideoMotionEstimatorVtbl | ||
| 2888 | { | ||
| 2889 | BEGIN_INTERFACE | ||
| 2890 | |||
| 2891 | DECLSPEC_XFGVIRT(IUnknown, QueryInterface) | ||
| 2892 | HRESULT ( STDMETHODCALLTYPE *QueryInterface )( | ||
| 2893 | ID3D12VideoMotionEstimator * This, | ||
| 2894 | REFIID riid, | ||
| 2895 | _COM_Outptr_ void **ppvObject); | ||
| 2896 | |||
| 2897 | DECLSPEC_XFGVIRT(IUnknown, AddRef) | ||
| 2898 | ULONG ( STDMETHODCALLTYPE *AddRef )( | ||
| 2899 | ID3D12VideoMotionEstimator * This); | ||
| 2900 | |||
| 2901 | DECLSPEC_XFGVIRT(IUnknown, Release) | ||
| 2902 | ULONG ( STDMETHODCALLTYPE *Release )( | ||
| 2903 | ID3D12VideoMotionEstimator * This); | ||
| 2904 | |||
| 2905 | DECLSPEC_XFGVIRT(ID3D12Object, GetPrivateData) | ||
| 2906 | HRESULT ( STDMETHODCALLTYPE *GetPrivateData )( | ||
| 2907 | ID3D12VideoMotionEstimator * This, | ||
| 2908 | _In_ REFGUID guid, | ||
| 2909 | _Inout_ UINT *pDataSize, | ||
| 2910 | _Out_writes_bytes_opt_( *pDataSize ) void *pData); | ||
| 2911 | |||
| 2912 | DECLSPEC_XFGVIRT(ID3D12Object, SetPrivateData) | ||
| 2913 | HRESULT ( STDMETHODCALLTYPE *SetPrivateData )( | ||
| 2914 | ID3D12VideoMotionEstimator * This, | ||
| 2915 | _In_ REFGUID guid, | ||
| 2916 | _In_ UINT DataSize, | ||
| 2917 | _In_reads_bytes_opt_( DataSize ) const void *pData); | ||
| 2918 | |||
| 2919 | DECLSPEC_XFGVIRT(ID3D12Object, SetPrivateDataInterface) | ||
| 2920 | HRESULT ( STDMETHODCALLTYPE *SetPrivateDataInterface )( | ||
| 2921 | ID3D12VideoMotionEstimator * This, | ||
| 2922 | _In_ REFGUID guid, | ||
| 2923 | _In_opt_ const IUnknown *pData); | ||
| 2924 | |||
| 2925 | DECLSPEC_XFGVIRT(ID3D12Object, SetName) | ||
| 2926 | HRESULT ( STDMETHODCALLTYPE *SetName )( | ||
| 2927 | ID3D12VideoMotionEstimator * This, | ||
| 2928 | _In_z_ LPCWSTR Name); | ||
| 2929 | |||
| 2930 | DECLSPEC_XFGVIRT(ID3D12DeviceChild, GetDevice) | ||
| 2931 | HRESULT ( STDMETHODCALLTYPE *GetDevice )( | ||
| 2932 | ID3D12VideoMotionEstimator * This, | ||
| 2933 | REFIID riid, | ||
| 2934 | _COM_Outptr_opt_ void **ppvDevice); | ||
| 2935 | |||
| 2936 | DECLSPEC_XFGVIRT(ID3D12VideoMotionEstimator, GetDesc) | ||
| 2937 | #if !defined(_WIN32) | ||
| 2938 | D3D12_VIDEO_MOTION_ESTIMATOR_DESC ( STDMETHODCALLTYPE *GetDesc )( | ||
| 2939 | ID3D12VideoMotionEstimator * This); | ||
| 2940 | |||
| 2941 | #else | ||
| 2942 | D3D12_VIDEO_MOTION_ESTIMATOR_DESC *( STDMETHODCALLTYPE *GetDesc )( | ||
| 2943 | ID3D12VideoMotionEstimator * This, | ||
| 2944 | D3D12_VIDEO_MOTION_ESTIMATOR_DESC * RetVal); | ||
| 2945 | |||
| 2946 | #endif | ||
| 2947 | |||
| 2948 | DECLSPEC_XFGVIRT(ID3D12VideoMotionEstimator, GetProtectedResourceSession) | ||
| 2949 | HRESULT ( STDMETHODCALLTYPE *GetProtectedResourceSession )( | ||
| 2950 | ID3D12VideoMotionEstimator * This, | ||
| 2951 | REFIID riid, | ||
| 2952 | _COM_Outptr_opt_ void **ppProtectedSession); | ||
| 2953 | |||
| 2954 | END_INTERFACE | ||
| 2955 | } ID3D12VideoMotionEstimatorVtbl; | ||
| 2956 | |||
| 2957 | interface ID3D12VideoMotionEstimator | ||
| 2958 | { | ||
| 2959 | CONST_VTBL struct ID3D12VideoMotionEstimatorVtbl *lpVtbl; | ||
| 2960 | }; | ||
| 2961 | |||
| 2962 | |||
| 2963 | |||
| 2964 | #ifdef COBJMACROS | ||
| 2965 | |||
| 2966 | |||
| 2967 | #define ID3D12VideoMotionEstimator_QueryInterface(This,riid,ppvObject) \ | ||
| 2968 | ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) | ||
| 2969 | |||
| 2970 | #define ID3D12VideoMotionEstimator_AddRef(This) \ | ||
| 2971 | ( (This)->lpVtbl -> AddRef(This) ) | ||
| 2972 | |||
| 2973 | #define ID3D12VideoMotionEstimator_Release(This) \ | ||
| 2974 | ( (This)->lpVtbl -> Release(This) ) | ||
| 2975 | |||
| 2976 | |||
| 2977 | #define ID3D12VideoMotionEstimator_GetPrivateData(This,guid,pDataSize,pData) \ | ||
| 2978 | ( (This)->lpVtbl -> GetPrivateData(This,guid,pDataSize,pData) ) | ||
| 2979 | |||
| 2980 | #define ID3D12VideoMotionEstimator_SetPrivateData(This,guid,DataSize,pData) \ | ||
| 2981 | ( (This)->lpVtbl -> SetPrivateData(This,guid,DataSize,pData) ) | ||
| 2982 | |||
| 2983 | #define ID3D12VideoMotionEstimator_SetPrivateDataInterface(This,guid,pData) \ | ||
| 2984 | ( (This)->lpVtbl -> SetPrivateDataInterface(This,guid,pData) ) | ||
| 2985 | |||
| 2986 | #define ID3D12VideoMotionEstimator_SetName(This,Name) \ | ||
| 2987 | ( (This)->lpVtbl -> SetName(This,Name) ) | ||
| 2988 | |||
| 2989 | |||
| 2990 | #define ID3D12VideoMotionEstimator_GetDevice(This,riid,ppvDevice) \ | ||
| 2991 | ( (This)->lpVtbl -> GetDevice(This,riid,ppvDevice) ) | ||
| 2992 | |||
| 2993 | |||
| 2994 | #if !defined(_WIN32) | ||
| 2995 | |||
| 2996 | #define ID3D12VideoMotionEstimator_GetDesc(This) \ | ||
| 2997 | ( (This)->lpVtbl -> GetDesc(This) ) | ||
| 2998 | #else | ||
| 2999 | #define ID3D12VideoMotionEstimator_GetDesc(This,RetVal) \ | ||
| 3000 | ( (This)->lpVtbl -> GetDesc(This,RetVal) ) | ||
| 3001 | #endif | ||
| 3002 | |||
| 3003 | #define ID3D12VideoMotionEstimator_GetProtectedResourceSession(This,riid,ppProtectedSession) \ | ||
| 3004 | ( (This)->lpVtbl -> GetProtectedResourceSession(This,riid,ppProtectedSession) ) | ||
| 3005 | |||
| 3006 | #endif /* COBJMACROS */ | ||
| 3007 | |||
| 3008 | |||
| 3009 | #endif /* C style interface */ | ||
| 3010 | |||
| 3011 | |||
| 3012 | |||
| 3013 | |||
| 3014 | #endif /* __ID3D12VideoMotionEstimator_INTERFACE_DEFINED__ */ | ||
| 3015 | |||
| 3016 | |||
| 3017 | /* interface __MIDL_itf_d3d12video_0000_0009 */ | ||
| 3018 | /* [local] */ | ||
| 3019 | |||
| 3020 | typedef struct D3D12_VIDEO_MOTION_VECTOR_HEAP_DESC | ||
| 3021 | { | ||
| 3022 | UINT NodeMask; | ||
| 3023 | DXGI_FORMAT InputFormat; | ||
| 3024 | D3D12_VIDEO_MOTION_ESTIMATOR_SEARCH_BLOCK_SIZE BlockSize; | ||
| 3025 | D3D12_VIDEO_MOTION_ESTIMATOR_VECTOR_PRECISION Precision; | ||
| 3026 | D3D12_VIDEO_SIZE_RANGE SizeRange; | ||
| 3027 | } D3D12_VIDEO_MOTION_VECTOR_HEAP_DESC; | ||
| 3028 | |||
| 3029 | |||
| 3030 | |||
| 3031 | extern RPC_IF_HANDLE __MIDL_itf_d3d12video_0000_0009_v0_0_c_ifspec; | ||
| 3032 | extern RPC_IF_HANDLE __MIDL_itf_d3d12video_0000_0009_v0_0_s_ifspec; | ||
| 3033 | |||
| 3034 | #ifndef __ID3D12VideoMotionVectorHeap_INTERFACE_DEFINED__ | ||
| 3035 | #define __ID3D12VideoMotionVectorHeap_INTERFACE_DEFINED__ | ||
| 3036 | |||
| 3037 | /* interface ID3D12VideoMotionVectorHeap */ | ||
| 3038 | /* [unique][local][object][uuid] */ | ||
| 3039 | |||
| 3040 | |||
| 3041 | EXTERN_C const IID IID_ID3D12VideoMotionVectorHeap; | ||
| 3042 | |||
| 3043 | #if defined(__cplusplus) && !defined(CINTERFACE) | ||
| 3044 | |||
| 3045 | MIDL_INTERFACE("5BE17987-743A-4061-834B-23D22DAEA505") | ||
| 3046 | ID3D12VideoMotionVectorHeap : public ID3D12Pageable | ||
| 3047 | { | ||
| 3048 | public: | ||
| 3049 | #if defined(_MSC_VER) || !defined(_WIN32) | ||
| 3050 | virtual D3D12_VIDEO_MOTION_VECTOR_HEAP_DESC STDMETHODCALLTYPE GetDesc( void) = 0; | ||
| 3051 | #else | ||
| 3052 | virtual D3D12_VIDEO_MOTION_VECTOR_HEAP_DESC *STDMETHODCALLTYPE GetDesc( | ||
| 3053 | D3D12_VIDEO_MOTION_VECTOR_HEAP_DESC * RetVal) = 0; | ||
| 3054 | #endif | ||
| 3055 | |||
| 3056 | virtual HRESULT STDMETHODCALLTYPE GetProtectedResourceSession( | ||
| 3057 | REFIID riid, | ||
| 3058 | _COM_Outptr_opt_ void **ppProtectedSession) = 0; | ||
| 3059 | |||
| 3060 | }; | ||
| 3061 | |||
| 3062 | |||
| 3063 | #else /* C style interface */ | ||
| 3064 | |||
| 3065 | typedef struct ID3D12VideoMotionVectorHeapVtbl | ||
| 3066 | { | ||
| 3067 | BEGIN_INTERFACE | ||
| 3068 | |||
| 3069 | DECLSPEC_XFGVIRT(IUnknown, QueryInterface) | ||
| 3070 | HRESULT ( STDMETHODCALLTYPE *QueryInterface )( | ||
| 3071 | ID3D12VideoMotionVectorHeap * This, | ||
| 3072 | REFIID riid, | ||
| 3073 | _COM_Outptr_ void **ppvObject); | ||
| 3074 | |||
| 3075 | DECLSPEC_XFGVIRT(IUnknown, AddRef) | ||
| 3076 | ULONG ( STDMETHODCALLTYPE *AddRef )( | ||
| 3077 | ID3D12VideoMotionVectorHeap * This); | ||
| 3078 | |||
| 3079 | DECLSPEC_XFGVIRT(IUnknown, Release) | ||
| 3080 | ULONG ( STDMETHODCALLTYPE *Release )( | ||
| 3081 | ID3D12VideoMotionVectorHeap * This); | ||
| 3082 | |||
| 3083 | DECLSPEC_XFGVIRT(ID3D12Object, GetPrivateData) | ||
| 3084 | HRESULT ( STDMETHODCALLTYPE *GetPrivateData )( | ||
| 3085 | ID3D12VideoMotionVectorHeap * This, | ||
| 3086 | _In_ REFGUID guid, | ||
| 3087 | _Inout_ UINT *pDataSize, | ||
| 3088 | _Out_writes_bytes_opt_( *pDataSize ) void *pData); | ||
| 3089 | |||
| 3090 | DECLSPEC_XFGVIRT(ID3D12Object, SetPrivateData) | ||
| 3091 | HRESULT ( STDMETHODCALLTYPE *SetPrivateData )( | ||
| 3092 | ID3D12VideoMotionVectorHeap * This, | ||
| 3093 | _In_ REFGUID guid, | ||
| 3094 | _In_ UINT DataSize, | ||
| 3095 | _In_reads_bytes_opt_( DataSize ) const void *pData); | ||
| 3096 | |||
| 3097 | DECLSPEC_XFGVIRT(ID3D12Object, SetPrivateDataInterface) | ||
| 3098 | HRESULT ( STDMETHODCALLTYPE *SetPrivateDataInterface )( | ||
| 3099 | ID3D12VideoMotionVectorHeap * This, | ||
| 3100 | _In_ REFGUID guid, | ||
| 3101 | _In_opt_ const IUnknown *pData); | ||
| 3102 | |||
| 3103 | DECLSPEC_XFGVIRT(ID3D12Object, SetName) | ||
| 3104 | HRESULT ( STDMETHODCALLTYPE *SetName )( | ||
| 3105 | ID3D12VideoMotionVectorHeap * This, | ||
| 3106 | _In_z_ LPCWSTR Name); | ||
| 3107 | |||
| 3108 | DECLSPEC_XFGVIRT(ID3D12DeviceChild, GetDevice) | ||
| 3109 | HRESULT ( STDMETHODCALLTYPE *GetDevice )( | ||
| 3110 | ID3D12VideoMotionVectorHeap * This, | ||
| 3111 | REFIID riid, | ||
| 3112 | _COM_Outptr_opt_ void **ppvDevice); | ||
| 3113 | |||
| 3114 | DECLSPEC_XFGVIRT(ID3D12VideoMotionVectorHeap, GetDesc) | ||
| 3115 | #if !defined(_WIN32) | ||
| 3116 | D3D12_VIDEO_MOTION_VECTOR_HEAP_DESC ( STDMETHODCALLTYPE *GetDesc )( | ||
| 3117 | ID3D12VideoMotionVectorHeap * This); | ||
| 3118 | |||
| 3119 | #else | ||
| 3120 | D3D12_VIDEO_MOTION_VECTOR_HEAP_DESC *( STDMETHODCALLTYPE *GetDesc )( | ||
| 3121 | ID3D12VideoMotionVectorHeap * This, | ||
| 3122 | D3D12_VIDEO_MOTION_VECTOR_HEAP_DESC * RetVal); | ||
| 3123 | |||
| 3124 | #endif | ||
| 3125 | |||
| 3126 | DECLSPEC_XFGVIRT(ID3D12VideoMotionVectorHeap, GetProtectedResourceSession) | ||
| 3127 | HRESULT ( STDMETHODCALLTYPE *GetProtectedResourceSession )( | ||
| 3128 | ID3D12VideoMotionVectorHeap * This, | ||
| 3129 | REFIID riid, | ||
| 3130 | _COM_Outptr_opt_ void **ppProtectedSession); | ||
| 3131 | |||
| 3132 | END_INTERFACE | ||
| 3133 | } ID3D12VideoMotionVectorHeapVtbl; | ||
| 3134 | |||
| 3135 | interface ID3D12VideoMotionVectorHeap | ||
| 3136 | { | ||
| 3137 | CONST_VTBL struct ID3D12VideoMotionVectorHeapVtbl *lpVtbl; | ||
| 3138 | }; | ||
| 3139 | |||
| 3140 | |||
| 3141 | |||
| 3142 | #ifdef COBJMACROS | ||
| 3143 | |||
| 3144 | |||
| 3145 | #define ID3D12VideoMotionVectorHeap_QueryInterface(This,riid,ppvObject) \ | ||
| 3146 | ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) | ||
| 3147 | |||
| 3148 | #define ID3D12VideoMotionVectorHeap_AddRef(This) \ | ||
| 3149 | ( (This)->lpVtbl -> AddRef(This) ) | ||
| 3150 | |||
| 3151 | #define ID3D12VideoMotionVectorHeap_Release(This) \ | ||
| 3152 | ( (This)->lpVtbl -> Release(This) ) | ||
| 3153 | |||
| 3154 | |||
| 3155 | #define ID3D12VideoMotionVectorHeap_GetPrivateData(This,guid,pDataSize,pData) \ | ||
| 3156 | ( (This)->lpVtbl -> GetPrivateData(This,guid,pDataSize,pData) ) | ||
| 3157 | |||
| 3158 | #define ID3D12VideoMotionVectorHeap_SetPrivateData(This,guid,DataSize,pData) \ | ||
| 3159 | ( (This)->lpVtbl -> SetPrivateData(This,guid,DataSize,pData) ) | ||
| 3160 | |||
| 3161 | #define ID3D12VideoMotionVectorHeap_SetPrivateDataInterface(This,guid,pData) \ | ||
| 3162 | ( (This)->lpVtbl -> SetPrivateDataInterface(This,guid,pData) ) | ||
| 3163 | |||
| 3164 | #define ID3D12VideoMotionVectorHeap_SetName(This,Name) \ | ||
| 3165 | ( (This)->lpVtbl -> SetName(This,Name) ) | ||
| 3166 | |||
| 3167 | |||
| 3168 | #define ID3D12VideoMotionVectorHeap_GetDevice(This,riid,ppvDevice) \ | ||
| 3169 | ( (This)->lpVtbl -> GetDevice(This,riid,ppvDevice) ) | ||
| 3170 | |||
| 3171 | |||
| 3172 | #if !defined(_WIN32) | ||
| 3173 | |||
| 3174 | #define ID3D12VideoMotionVectorHeap_GetDesc(This) \ | ||
| 3175 | ( (This)->lpVtbl -> GetDesc(This) ) | ||
| 3176 | #else | ||
| 3177 | #define ID3D12VideoMotionVectorHeap_GetDesc(This,RetVal) \ | ||
| 3178 | ( (This)->lpVtbl -> GetDesc(This,RetVal) ) | ||
| 3179 | #endif | ||
| 3180 | |||
| 3181 | #define ID3D12VideoMotionVectorHeap_GetProtectedResourceSession(This,riid,ppProtectedSession) \ | ||
| 3182 | ( (This)->lpVtbl -> GetProtectedResourceSession(This,riid,ppProtectedSession) ) | ||
| 3183 | |||
| 3184 | #endif /* COBJMACROS */ | ||
| 3185 | |||
| 3186 | |||
| 3187 | #endif /* C style interface */ | ||
| 3188 | |||
| 3189 | |||
| 3190 | |||
| 3191 | |||
| 3192 | #endif /* __ID3D12VideoMotionVectorHeap_INTERFACE_DEFINED__ */ | ||
| 3193 | |||
| 3194 | |||
| 3195 | #ifndef __ID3D12VideoDevice1_INTERFACE_DEFINED__ | ||
| 3196 | #define __ID3D12VideoDevice1_INTERFACE_DEFINED__ | ||
| 3197 | |||
| 3198 | /* interface ID3D12VideoDevice1 */ | ||
| 3199 | /* [unique][local][object][uuid] */ | ||
| 3200 | |||
| 3201 | |||
| 3202 | EXTERN_C const IID IID_ID3D12VideoDevice1; | ||
| 3203 | |||
| 3204 | #if defined(__cplusplus) && !defined(CINTERFACE) | ||
| 3205 | |||
| 3206 | MIDL_INTERFACE("981611AD-A144-4C83-9890-F30E26D658AB") | ||
| 3207 | ID3D12VideoDevice1 : public ID3D12VideoDevice | ||
| 3208 | { | ||
| 3209 | public: | ||
| 3210 | virtual HRESULT STDMETHODCALLTYPE CreateVideoMotionEstimator( | ||
| 3211 | _In_ const D3D12_VIDEO_MOTION_ESTIMATOR_DESC *pDesc, | ||
| 3212 | _In_opt_ ID3D12ProtectedResourceSession *pProtectedResourceSession, | ||
| 3213 | _In_ REFIID riid, | ||
| 3214 | _COM_Outptr_ void **ppVideoMotionEstimator) = 0; | ||
| 3215 | |||
| 3216 | virtual HRESULT STDMETHODCALLTYPE CreateVideoMotionVectorHeap( | ||
| 3217 | _In_ const D3D12_VIDEO_MOTION_VECTOR_HEAP_DESC *pDesc, | ||
| 3218 | _In_opt_ ID3D12ProtectedResourceSession *pProtectedResourceSession, | ||
| 3219 | _In_ REFIID riid, | ||
| 3220 | _COM_Outptr_ void **ppVideoMotionVectorHeap) = 0; | ||
| 3221 | |||
| 3222 | }; | ||
| 3223 | |||
| 3224 | |||
| 3225 | #else /* C style interface */ | ||
| 3226 | |||
| 3227 | typedef struct ID3D12VideoDevice1Vtbl | ||
| 3228 | { | ||
| 3229 | BEGIN_INTERFACE | ||
| 3230 | |||
| 3231 | DECLSPEC_XFGVIRT(IUnknown, QueryInterface) | ||
| 3232 | HRESULT ( STDMETHODCALLTYPE *QueryInterface )( | ||
| 3233 | ID3D12VideoDevice1 * This, | ||
| 3234 | REFIID riid, | ||
| 3235 | _COM_Outptr_ void **ppvObject); | ||
| 3236 | |||
| 3237 | DECLSPEC_XFGVIRT(IUnknown, AddRef) | ||
| 3238 | ULONG ( STDMETHODCALLTYPE *AddRef )( | ||
| 3239 | ID3D12VideoDevice1 * This); | ||
| 3240 | |||
| 3241 | DECLSPEC_XFGVIRT(IUnknown, Release) | ||
| 3242 | ULONG ( STDMETHODCALLTYPE *Release )( | ||
| 3243 | ID3D12VideoDevice1 * This); | ||
| 3244 | |||
| 3245 | DECLSPEC_XFGVIRT(ID3D12VideoDevice, CheckFeatureSupport) | ||
| 3246 | HRESULT ( STDMETHODCALLTYPE *CheckFeatureSupport )( | ||
| 3247 | ID3D12VideoDevice1 * This, | ||
| 3248 | D3D12_FEATURE_VIDEO FeatureVideo, | ||
| 3249 | _Inout_updates_bytes_(FeatureSupportDataSize) void *pFeatureSupportData, | ||
| 3250 | UINT FeatureSupportDataSize); | ||
| 3251 | |||
| 3252 | DECLSPEC_XFGVIRT(ID3D12VideoDevice, CreateVideoDecoder) | ||
| 3253 | HRESULT ( STDMETHODCALLTYPE *CreateVideoDecoder )( | ||
| 3254 | ID3D12VideoDevice1 * This, | ||
| 3255 | _In_ const D3D12_VIDEO_DECODER_DESC *pDesc, | ||
| 3256 | _In_ REFIID riid, | ||
| 3257 | _COM_Outptr_ void **ppVideoDecoder); | ||
| 3258 | |||
| 3259 | DECLSPEC_XFGVIRT(ID3D12VideoDevice, CreateVideoDecoderHeap) | ||
| 3260 | HRESULT ( STDMETHODCALLTYPE *CreateVideoDecoderHeap )( | ||
| 3261 | ID3D12VideoDevice1 * This, | ||
| 3262 | _In_ const D3D12_VIDEO_DECODER_HEAP_DESC *pVideoDecoderHeapDesc, | ||
| 3263 | _In_ REFIID riid, | ||
| 3264 | _COM_Outptr_ void **ppVideoDecoderHeap); | ||
| 3265 | |||
| 3266 | DECLSPEC_XFGVIRT(ID3D12VideoDevice, CreateVideoProcessor) | ||
| 3267 | HRESULT ( STDMETHODCALLTYPE *CreateVideoProcessor )( | ||
| 3268 | ID3D12VideoDevice1 * This, | ||
| 3269 | UINT NodeMask, | ||
| 3270 | _In_ const D3D12_VIDEO_PROCESS_OUTPUT_STREAM_DESC *pOutputStreamDesc, | ||
| 3271 | UINT NumInputStreamDescs, | ||
| 3272 | _In_reads_(NumInputStreamDescs) const D3D12_VIDEO_PROCESS_INPUT_STREAM_DESC *pInputStreamDescs, | ||
| 3273 | _In_ REFIID riid, | ||
| 3274 | _COM_Outptr_ void **ppVideoProcessor); | ||
| 3275 | |||
| 3276 | DECLSPEC_XFGVIRT(ID3D12VideoDevice1, CreateVideoMotionEstimator) | ||
| 3277 | HRESULT ( STDMETHODCALLTYPE *CreateVideoMotionEstimator )( | ||
| 3278 | ID3D12VideoDevice1 * This, | ||
| 3279 | _In_ const D3D12_VIDEO_MOTION_ESTIMATOR_DESC *pDesc, | ||
| 3280 | _In_opt_ ID3D12ProtectedResourceSession *pProtectedResourceSession, | ||
| 3281 | _In_ REFIID riid, | ||
| 3282 | _COM_Outptr_ void **ppVideoMotionEstimator); | ||
| 3283 | |||
| 3284 | DECLSPEC_XFGVIRT(ID3D12VideoDevice1, CreateVideoMotionVectorHeap) | ||
| 3285 | HRESULT ( STDMETHODCALLTYPE *CreateVideoMotionVectorHeap )( | ||
| 3286 | ID3D12VideoDevice1 * This, | ||
| 3287 | _In_ const D3D12_VIDEO_MOTION_VECTOR_HEAP_DESC *pDesc, | ||
| 3288 | _In_opt_ ID3D12ProtectedResourceSession *pProtectedResourceSession, | ||
| 3289 | _In_ REFIID riid, | ||
| 3290 | _COM_Outptr_ void **ppVideoMotionVectorHeap); | ||
| 3291 | |||
| 3292 | END_INTERFACE | ||
| 3293 | } ID3D12VideoDevice1Vtbl; | ||
| 3294 | |||
| 3295 | interface ID3D12VideoDevice1 | ||
| 3296 | { | ||
| 3297 | CONST_VTBL struct ID3D12VideoDevice1Vtbl *lpVtbl; | ||
| 3298 | }; | ||
| 3299 | |||
| 3300 | |||
| 3301 | |||
| 3302 | #ifdef COBJMACROS | ||
| 3303 | |||
| 3304 | |||
| 3305 | #define ID3D12VideoDevice1_QueryInterface(This,riid,ppvObject) \ | ||
| 3306 | ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) | ||
| 3307 | |||
| 3308 | #define ID3D12VideoDevice1_AddRef(This) \ | ||
| 3309 | ( (This)->lpVtbl -> AddRef(This) ) | ||
| 3310 | |||
| 3311 | #define ID3D12VideoDevice1_Release(This) \ | ||
| 3312 | ( (This)->lpVtbl -> Release(This) ) | ||
| 3313 | |||
| 3314 | |||
| 3315 | #define ID3D12VideoDevice1_CheckFeatureSupport(This,FeatureVideo,pFeatureSupportData,FeatureSupportDataSize) \ | ||
| 3316 | ( (This)->lpVtbl -> CheckFeatureSupport(This,FeatureVideo,pFeatureSupportData,FeatureSupportDataSize) ) | ||
| 3317 | |||
| 3318 | #define ID3D12VideoDevice1_CreateVideoDecoder(This,pDesc,riid,ppVideoDecoder) \ | ||
| 3319 | ( (This)->lpVtbl -> CreateVideoDecoder(This,pDesc,riid,ppVideoDecoder) ) | ||
| 3320 | |||
| 3321 | #define ID3D12VideoDevice1_CreateVideoDecoderHeap(This,pVideoDecoderHeapDesc,riid,ppVideoDecoderHeap) \ | ||
| 3322 | ( (This)->lpVtbl -> CreateVideoDecoderHeap(This,pVideoDecoderHeapDesc,riid,ppVideoDecoderHeap) ) | ||
| 3323 | |||
| 3324 | #define ID3D12VideoDevice1_CreateVideoProcessor(This,NodeMask,pOutputStreamDesc,NumInputStreamDescs,pInputStreamDescs,riid,ppVideoProcessor) \ | ||
| 3325 | ( (This)->lpVtbl -> CreateVideoProcessor(This,NodeMask,pOutputStreamDesc,NumInputStreamDescs,pInputStreamDescs,riid,ppVideoProcessor) ) | ||
| 3326 | |||
| 3327 | |||
| 3328 | #define ID3D12VideoDevice1_CreateVideoMotionEstimator(This,pDesc,pProtectedResourceSession,riid,ppVideoMotionEstimator) \ | ||
| 3329 | ( (This)->lpVtbl -> CreateVideoMotionEstimator(This,pDesc,pProtectedResourceSession,riid,ppVideoMotionEstimator) ) | ||
| 3330 | |||
| 3331 | #define ID3D12VideoDevice1_CreateVideoMotionVectorHeap(This,pDesc,pProtectedResourceSession,riid,ppVideoMotionVectorHeap) \ | ||
| 3332 | ( (This)->lpVtbl -> CreateVideoMotionVectorHeap(This,pDesc,pProtectedResourceSession,riid,ppVideoMotionVectorHeap) ) | ||
| 3333 | |||
| 3334 | #endif /* COBJMACROS */ | ||
| 3335 | |||
| 3336 | |||
| 3337 | #endif /* C style interface */ | ||
| 3338 | |||
| 3339 | |||
| 3340 | |||
| 3341 | |||
| 3342 | #endif /* __ID3D12VideoDevice1_INTERFACE_DEFINED__ */ | ||
| 3343 | |||
| 3344 | |||
| 3345 | /* interface __MIDL_itf_d3d12video_0000_0011 */ | ||
| 3346 | /* [local] */ | ||
| 3347 | |||
| 3348 | typedef struct D3D12_RESOURCE_COORDINATE | ||
| 3349 | { | ||
| 3350 | UINT64 X; | ||
| 3351 | UINT Y; | ||
| 3352 | UINT Z; | ||
| 3353 | UINT SubresourceIndex; | ||
| 3354 | } D3D12_RESOURCE_COORDINATE; | ||
| 3355 | |||
| 3356 | typedef struct D3D12_VIDEO_MOTION_ESTIMATOR_OUTPUT | ||
| 3357 | { | ||
| 3358 | ID3D12VideoMotionVectorHeap *pMotionVectorHeap; | ||
| 3359 | } D3D12_VIDEO_MOTION_ESTIMATOR_OUTPUT; | ||
| 3360 | |||
| 3361 | typedef struct D3D12_VIDEO_MOTION_ESTIMATOR_INPUT | ||
| 3362 | { | ||
| 3363 | ID3D12Resource *pInputTexture2D; | ||
| 3364 | UINT InputSubresourceIndex; | ||
| 3365 | ID3D12Resource *pReferenceTexture2D; | ||
| 3366 | UINT ReferenceSubresourceIndex; | ||
| 3367 | ID3D12VideoMotionVectorHeap *pHintMotionVectorHeap; | ||
| 3368 | } D3D12_VIDEO_MOTION_ESTIMATOR_INPUT; | ||
| 3369 | |||
| 3370 | typedef struct D3D12_RESOLVE_VIDEO_MOTION_VECTOR_HEAP_OUTPUT | ||
| 3371 | { | ||
| 3372 | ID3D12Resource *pMotionVectorTexture2D; | ||
| 3373 | D3D12_RESOURCE_COORDINATE MotionVectorCoordinate; | ||
| 3374 | } D3D12_RESOLVE_VIDEO_MOTION_VECTOR_HEAP_OUTPUT; | ||
| 3375 | |||
| 3376 | typedef struct D3D12_RESOLVE_VIDEO_MOTION_VECTOR_HEAP_INPUT | ||
| 3377 | { | ||
| 3378 | ID3D12VideoMotionVectorHeap *pMotionVectorHeap; | ||
| 3379 | UINT PixelWidth; | ||
| 3380 | UINT PixelHeight; | ||
| 3381 | } D3D12_RESOLVE_VIDEO_MOTION_VECTOR_HEAP_INPUT; | ||
| 3382 | |||
| 3383 | |||
| 3384 | |||
| 3385 | extern RPC_IF_HANDLE __MIDL_itf_d3d12video_0000_0011_v0_0_c_ifspec; | ||
| 3386 | extern RPC_IF_HANDLE __MIDL_itf_d3d12video_0000_0011_v0_0_s_ifspec; | ||
| 3387 | |||
| 3388 | #ifndef __ID3D12VideoEncodeCommandList_INTERFACE_DEFINED__ | ||
| 3389 | #define __ID3D12VideoEncodeCommandList_INTERFACE_DEFINED__ | ||
| 3390 | |||
| 3391 | /* interface ID3D12VideoEncodeCommandList */ | ||
| 3392 | /* [unique][local][object][uuid] */ | ||
| 3393 | |||
| 3394 | |||
| 3395 | EXTERN_C const IID IID_ID3D12VideoEncodeCommandList; | ||
| 3396 | |||
| 3397 | #if defined(__cplusplus) && !defined(CINTERFACE) | ||
| 3398 | |||
| 3399 | MIDL_INTERFACE("8455293A-0CBD-4831-9B39-FBDBAB724723") | ||
| 3400 | ID3D12VideoEncodeCommandList : public ID3D12CommandList | ||
| 3401 | { | ||
| 3402 | public: | ||
| 3403 | virtual HRESULT STDMETHODCALLTYPE Close( void) = 0; | ||
| 3404 | |||
| 3405 | virtual HRESULT STDMETHODCALLTYPE Reset( | ||
| 3406 | _In_ ID3D12CommandAllocator *pAllocator) = 0; | ||
| 3407 | |||
| 3408 | virtual void STDMETHODCALLTYPE ClearState( void) = 0; | ||
| 3409 | |||
| 3410 | virtual void STDMETHODCALLTYPE ResourceBarrier( | ||
| 3411 | _In_ UINT NumBarriers, | ||
| 3412 | _In_reads_(NumBarriers) const D3D12_RESOURCE_BARRIER *pBarriers) = 0; | ||
| 3413 | |||
| 3414 | virtual void STDMETHODCALLTYPE DiscardResource( | ||
| 3415 | _In_ ID3D12Resource *pResource, | ||
| 3416 | _In_opt_ const D3D12_DISCARD_REGION *pRegion) = 0; | ||
| 3417 | |||
| 3418 | virtual void STDMETHODCALLTYPE BeginQuery( | ||
| 3419 | _In_ ID3D12QueryHeap *pQueryHeap, | ||
| 3420 | _In_ D3D12_QUERY_TYPE Type, | ||
| 3421 | _In_ UINT Index) = 0; | ||
| 3422 | |||
| 3423 | virtual void STDMETHODCALLTYPE EndQuery( | ||
| 3424 | _In_ ID3D12QueryHeap *pQueryHeap, | ||
| 3425 | _In_ D3D12_QUERY_TYPE Type, | ||
| 3426 | _In_ UINT Index) = 0; | ||
| 3427 | |||
| 3428 | virtual void STDMETHODCALLTYPE ResolveQueryData( | ||
| 3429 | _In_ ID3D12QueryHeap *pQueryHeap, | ||
| 3430 | _In_ D3D12_QUERY_TYPE Type, | ||
| 3431 | _In_ UINT StartIndex, | ||
| 3432 | _In_ UINT NumQueries, | ||
| 3433 | _In_ ID3D12Resource *pDestinationBuffer, | ||
| 3434 | _In_ UINT64 AlignedDestinationBufferOffset) = 0; | ||
| 3435 | |||
| 3436 | virtual void STDMETHODCALLTYPE SetPredication( | ||
| 3437 | _In_opt_ ID3D12Resource *pBuffer, | ||
| 3438 | _In_ UINT64 AlignedBufferOffset, | ||
| 3439 | _In_ D3D12_PREDICATION_OP Operation) = 0; | ||
| 3440 | |||
| 3441 | virtual void STDMETHODCALLTYPE SetMarker( | ||
| 3442 | UINT Metadata, | ||
| 3443 | _In_reads_bytes_opt_(Size) const void *pData, | ||
| 3444 | UINT Size) = 0; | ||
| 3445 | |||
| 3446 | virtual void STDMETHODCALLTYPE BeginEvent( | ||
| 3447 | UINT Metadata, | ||
| 3448 | _In_reads_bytes_opt_(Size) const void *pData, | ||
| 3449 | UINT Size) = 0; | ||
| 3450 | |||
| 3451 | virtual void STDMETHODCALLTYPE EndEvent( void) = 0; | ||
| 3452 | |||
| 3453 | virtual void STDMETHODCALLTYPE EstimateMotion( | ||
| 3454 | _In_ ID3D12VideoMotionEstimator *pMotionEstimator, | ||
| 3455 | _In_ const D3D12_VIDEO_MOTION_ESTIMATOR_OUTPUT *pOutputArguments, | ||
| 3456 | _In_ const D3D12_VIDEO_MOTION_ESTIMATOR_INPUT *pInputArguments) = 0; | ||
| 3457 | |||
| 3458 | virtual void STDMETHODCALLTYPE ResolveMotionVectorHeap( | ||
| 3459 | const D3D12_RESOLVE_VIDEO_MOTION_VECTOR_HEAP_OUTPUT *pOutputArguments, | ||
| 3460 | const D3D12_RESOLVE_VIDEO_MOTION_VECTOR_HEAP_INPUT *pInputArguments) = 0; | ||
| 3461 | |||
| 3462 | virtual void STDMETHODCALLTYPE WriteBufferImmediate( | ||
| 3463 | UINT Count, | ||
| 3464 | _In_reads_(Count) const D3D12_WRITEBUFFERIMMEDIATE_PARAMETER *pParams, | ||
| 3465 | _In_reads_opt_(Count) const D3D12_WRITEBUFFERIMMEDIATE_MODE *pModes) = 0; | ||
| 3466 | |||
| 3467 | virtual void STDMETHODCALLTYPE SetProtectedResourceSession( | ||
| 3468 | _In_opt_ ID3D12ProtectedResourceSession *pProtectedResourceSession) = 0; | ||
| 3469 | |||
| 3470 | }; | ||
| 3471 | |||
| 3472 | |||
| 3473 | #else /* C style interface */ | ||
| 3474 | |||
| 3475 | typedef struct ID3D12VideoEncodeCommandListVtbl | ||
| 3476 | { | ||
| 3477 | BEGIN_INTERFACE | ||
| 3478 | |||
| 3479 | DECLSPEC_XFGVIRT(IUnknown, QueryInterface) | ||
| 3480 | HRESULT ( STDMETHODCALLTYPE *QueryInterface )( | ||
| 3481 | ID3D12VideoEncodeCommandList * This, | ||
| 3482 | REFIID riid, | ||
| 3483 | _COM_Outptr_ void **ppvObject); | ||
| 3484 | |||
| 3485 | DECLSPEC_XFGVIRT(IUnknown, AddRef) | ||
| 3486 | ULONG ( STDMETHODCALLTYPE *AddRef )( | ||
| 3487 | ID3D12VideoEncodeCommandList * This); | ||
| 3488 | |||
| 3489 | DECLSPEC_XFGVIRT(IUnknown, Release) | ||
| 3490 | ULONG ( STDMETHODCALLTYPE *Release )( | ||
| 3491 | ID3D12VideoEncodeCommandList * This); | ||
| 3492 | |||
| 3493 | DECLSPEC_XFGVIRT(ID3D12Object, GetPrivateData) | ||
| 3494 | HRESULT ( STDMETHODCALLTYPE *GetPrivateData )( | ||
| 3495 | ID3D12VideoEncodeCommandList * This, | ||
| 3496 | _In_ REFGUID guid, | ||
| 3497 | _Inout_ UINT *pDataSize, | ||
| 3498 | _Out_writes_bytes_opt_( *pDataSize ) void *pData); | ||
| 3499 | |||
| 3500 | DECLSPEC_XFGVIRT(ID3D12Object, SetPrivateData) | ||
| 3501 | HRESULT ( STDMETHODCALLTYPE *SetPrivateData )( | ||
| 3502 | ID3D12VideoEncodeCommandList * This, | ||
| 3503 | _In_ REFGUID guid, | ||
| 3504 | _In_ UINT DataSize, | ||
| 3505 | _In_reads_bytes_opt_( DataSize ) const void *pData); | ||
| 3506 | |||
| 3507 | DECLSPEC_XFGVIRT(ID3D12Object, SetPrivateDataInterface) | ||
| 3508 | HRESULT ( STDMETHODCALLTYPE *SetPrivateDataInterface )( | ||
| 3509 | ID3D12VideoEncodeCommandList * This, | ||
| 3510 | _In_ REFGUID guid, | ||
| 3511 | _In_opt_ const IUnknown *pData); | ||
| 3512 | |||
| 3513 | DECLSPEC_XFGVIRT(ID3D12Object, SetName) | ||
| 3514 | HRESULT ( STDMETHODCALLTYPE *SetName )( | ||
| 3515 | ID3D12VideoEncodeCommandList * This, | ||
| 3516 | _In_z_ LPCWSTR Name); | ||
| 3517 | |||
| 3518 | DECLSPEC_XFGVIRT(ID3D12DeviceChild, GetDevice) | ||
| 3519 | HRESULT ( STDMETHODCALLTYPE *GetDevice )( | ||
| 3520 | ID3D12VideoEncodeCommandList * This, | ||
| 3521 | REFIID riid, | ||
| 3522 | _COM_Outptr_opt_ void **ppvDevice); | ||
| 3523 | |||
| 3524 | DECLSPEC_XFGVIRT(ID3D12CommandList, GetType) | ||
| 3525 | D3D12_COMMAND_LIST_TYPE ( STDMETHODCALLTYPE *GetType )( | ||
| 3526 | ID3D12VideoEncodeCommandList * This); | ||
| 3527 | |||
| 3528 | DECLSPEC_XFGVIRT(ID3D12VideoEncodeCommandList, Close) | ||
| 3529 | HRESULT ( STDMETHODCALLTYPE *Close )( | ||
| 3530 | ID3D12VideoEncodeCommandList * This); | ||
| 3531 | |||
| 3532 | DECLSPEC_XFGVIRT(ID3D12VideoEncodeCommandList, Reset) | ||
| 3533 | HRESULT ( STDMETHODCALLTYPE *Reset )( | ||
| 3534 | ID3D12VideoEncodeCommandList * This, | ||
| 3535 | _In_ ID3D12CommandAllocator *pAllocator); | ||
| 3536 | |||
| 3537 | DECLSPEC_XFGVIRT(ID3D12VideoEncodeCommandList, ClearState) | ||
| 3538 | void ( STDMETHODCALLTYPE *ClearState )( | ||
| 3539 | ID3D12VideoEncodeCommandList * This); | ||
| 3540 | |||
| 3541 | DECLSPEC_XFGVIRT(ID3D12VideoEncodeCommandList, ResourceBarrier) | ||
| 3542 | void ( STDMETHODCALLTYPE *ResourceBarrier )( | ||
| 3543 | ID3D12VideoEncodeCommandList * This, | ||
| 3544 | _In_ UINT NumBarriers, | ||
| 3545 | _In_reads_(NumBarriers) const D3D12_RESOURCE_BARRIER *pBarriers); | ||
| 3546 | |||
| 3547 | DECLSPEC_XFGVIRT(ID3D12VideoEncodeCommandList, DiscardResource) | ||
| 3548 | void ( STDMETHODCALLTYPE *DiscardResource )( | ||
| 3549 | ID3D12VideoEncodeCommandList * This, | ||
| 3550 | _In_ ID3D12Resource *pResource, | ||
| 3551 | _In_opt_ const D3D12_DISCARD_REGION *pRegion); | ||
| 3552 | |||
| 3553 | DECLSPEC_XFGVIRT(ID3D12VideoEncodeCommandList, BeginQuery) | ||
| 3554 | void ( STDMETHODCALLTYPE *BeginQuery )( | ||
| 3555 | ID3D12VideoEncodeCommandList * This, | ||
| 3556 | _In_ ID3D12QueryHeap *pQueryHeap, | ||
| 3557 | _In_ D3D12_QUERY_TYPE Type, | ||
| 3558 | _In_ UINT Index); | ||
| 3559 | |||
| 3560 | DECLSPEC_XFGVIRT(ID3D12VideoEncodeCommandList, EndQuery) | ||
| 3561 | void ( STDMETHODCALLTYPE *EndQuery )( | ||
| 3562 | ID3D12VideoEncodeCommandList * This, | ||
| 3563 | _In_ ID3D12QueryHeap *pQueryHeap, | ||
| 3564 | _In_ D3D12_QUERY_TYPE Type, | ||
| 3565 | _In_ UINT Index); | ||
| 3566 | |||
| 3567 | DECLSPEC_XFGVIRT(ID3D12VideoEncodeCommandList, ResolveQueryData) | ||
| 3568 | void ( STDMETHODCALLTYPE *ResolveQueryData )( | ||
| 3569 | ID3D12VideoEncodeCommandList * This, | ||
| 3570 | _In_ ID3D12QueryHeap *pQueryHeap, | ||
| 3571 | _In_ D3D12_QUERY_TYPE Type, | ||
| 3572 | _In_ UINT StartIndex, | ||
| 3573 | _In_ UINT NumQueries, | ||
| 3574 | _In_ ID3D12Resource *pDestinationBuffer, | ||
| 3575 | _In_ UINT64 AlignedDestinationBufferOffset); | ||
| 3576 | |||
| 3577 | DECLSPEC_XFGVIRT(ID3D12VideoEncodeCommandList, SetPredication) | ||
| 3578 | void ( STDMETHODCALLTYPE *SetPredication )( | ||
| 3579 | ID3D12VideoEncodeCommandList * This, | ||
| 3580 | _In_opt_ ID3D12Resource *pBuffer, | ||
| 3581 | _In_ UINT64 AlignedBufferOffset, | ||
| 3582 | _In_ D3D12_PREDICATION_OP Operation); | ||
| 3583 | |||
| 3584 | DECLSPEC_XFGVIRT(ID3D12VideoEncodeCommandList, SetMarker) | ||
| 3585 | void ( STDMETHODCALLTYPE *SetMarker )( | ||
| 3586 | ID3D12VideoEncodeCommandList * This, | ||
| 3587 | UINT Metadata, | ||
| 3588 | _In_reads_bytes_opt_(Size) const void *pData, | ||
| 3589 | UINT Size); | ||
| 3590 | |||
| 3591 | DECLSPEC_XFGVIRT(ID3D12VideoEncodeCommandList, BeginEvent) | ||
| 3592 | void ( STDMETHODCALLTYPE *BeginEvent )( | ||
| 3593 | ID3D12VideoEncodeCommandList * This, | ||
| 3594 | UINT Metadata, | ||
| 3595 | _In_reads_bytes_opt_(Size) const void *pData, | ||
| 3596 | UINT Size); | ||
| 3597 | |||
| 3598 | DECLSPEC_XFGVIRT(ID3D12VideoEncodeCommandList, EndEvent) | ||
| 3599 | void ( STDMETHODCALLTYPE *EndEvent )( | ||
| 3600 | ID3D12VideoEncodeCommandList * This); | ||
| 3601 | |||
| 3602 | DECLSPEC_XFGVIRT(ID3D12VideoEncodeCommandList, EstimateMotion) | ||
| 3603 | void ( STDMETHODCALLTYPE *EstimateMotion )( | ||
| 3604 | ID3D12VideoEncodeCommandList * This, | ||
| 3605 | _In_ ID3D12VideoMotionEstimator *pMotionEstimator, | ||
| 3606 | _In_ const D3D12_VIDEO_MOTION_ESTIMATOR_OUTPUT *pOutputArguments, | ||
| 3607 | _In_ const D3D12_VIDEO_MOTION_ESTIMATOR_INPUT *pInputArguments); | ||
| 3608 | |||
| 3609 | DECLSPEC_XFGVIRT(ID3D12VideoEncodeCommandList, ResolveMotionVectorHeap) | ||
| 3610 | void ( STDMETHODCALLTYPE *ResolveMotionVectorHeap )( | ||
| 3611 | ID3D12VideoEncodeCommandList * This, | ||
| 3612 | const D3D12_RESOLVE_VIDEO_MOTION_VECTOR_HEAP_OUTPUT *pOutputArguments, | ||
| 3613 | const D3D12_RESOLVE_VIDEO_MOTION_VECTOR_HEAP_INPUT *pInputArguments); | ||
| 3614 | |||
| 3615 | DECLSPEC_XFGVIRT(ID3D12VideoEncodeCommandList, WriteBufferImmediate) | ||
| 3616 | void ( STDMETHODCALLTYPE *WriteBufferImmediate )( | ||
| 3617 | ID3D12VideoEncodeCommandList * This, | ||
| 3618 | UINT Count, | ||
| 3619 | _In_reads_(Count) const D3D12_WRITEBUFFERIMMEDIATE_PARAMETER *pParams, | ||
| 3620 | _In_reads_opt_(Count) const D3D12_WRITEBUFFERIMMEDIATE_MODE *pModes); | ||
| 3621 | |||
| 3622 | DECLSPEC_XFGVIRT(ID3D12VideoEncodeCommandList, SetProtectedResourceSession) | ||
| 3623 | void ( STDMETHODCALLTYPE *SetProtectedResourceSession )( | ||
| 3624 | ID3D12VideoEncodeCommandList * This, | ||
| 3625 | _In_opt_ ID3D12ProtectedResourceSession *pProtectedResourceSession); | ||
| 3626 | |||
| 3627 | END_INTERFACE | ||
| 3628 | } ID3D12VideoEncodeCommandListVtbl; | ||
| 3629 | |||
| 3630 | interface ID3D12VideoEncodeCommandList | ||
| 3631 | { | ||
| 3632 | CONST_VTBL struct ID3D12VideoEncodeCommandListVtbl *lpVtbl; | ||
| 3633 | }; | ||
| 3634 | |||
| 3635 | |||
| 3636 | |||
| 3637 | #ifdef COBJMACROS | ||
| 3638 | |||
| 3639 | |||
| 3640 | #define ID3D12VideoEncodeCommandList_QueryInterface(This,riid,ppvObject) \ | ||
| 3641 | ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) | ||
| 3642 | |||
| 3643 | #define ID3D12VideoEncodeCommandList_AddRef(This) \ | ||
| 3644 | ( (This)->lpVtbl -> AddRef(This) ) | ||
| 3645 | |||
| 3646 | #define ID3D12VideoEncodeCommandList_Release(This) \ | ||
| 3647 | ( (This)->lpVtbl -> Release(This) ) | ||
| 3648 | |||
| 3649 | |||
| 3650 | #define ID3D12VideoEncodeCommandList_GetPrivateData(This,guid,pDataSize,pData) \ | ||
| 3651 | ( (This)->lpVtbl -> GetPrivateData(This,guid,pDataSize,pData) ) | ||
| 3652 | |||
| 3653 | #define ID3D12VideoEncodeCommandList_SetPrivateData(This,guid,DataSize,pData) \ | ||
| 3654 | ( (This)->lpVtbl -> SetPrivateData(This,guid,DataSize,pData) ) | ||
| 3655 | |||
| 3656 | #define ID3D12VideoEncodeCommandList_SetPrivateDataInterface(This,guid,pData) \ | ||
| 3657 | ( (This)->lpVtbl -> SetPrivateDataInterface(This,guid,pData) ) | ||
| 3658 | |||
| 3659 | #define ID3D12VideoEncodeCommandList_SetName(This,Name) \ | ||
| 3660 | ( (This)->lpVtbl -> SetName(This,Name) ) | ||
| 3661 | |||
| 3662 | |||
| 3663 | #define ID3D12VideoEncodeCommandList_GetDevice(This,riid,ppvDevice) \ | ||
| 3664 | ( (This)->lpVtbl -> GetDevice(This,riid,ppvDevice) ) | ||
| 3665 | |||
| 3666 | |||
| 3667 | #define ID3D12VideoEncodeCommandList_GetType(This) \ | ||
| 3668 | ( (This)->lpVtbl -> GetType(This) ) | ||
| 3669 | |||
| 3670 | |||
| 3671 | #define ID3D12VideoEncodeCommandList_Close(This) \ | ||
| 3672 | ( (This)->lpVtbl -> Close(This) ) | ||
| 3673 | |||
| 3674 | #define ID3D12VideoEncodeCommandList_Reset(This,pAllocator) \ | ||
| 3675 | ( (This)->lpVtbl -> Reset(This,pAllocator) ) | ||
| 3676 | |||
| 3677 | #define ID3D12VideoEncodeCommandList_ClearState(This) \ | ||
| 3678 | ( (This)->lpVtbl -> ClearState(This) ) | ||
| 3679 | |||
| 3680 | #define ID3D12VideoEncodeCommandList_ResourceBarrier(This,NumBarriers,pBarriers) \ | ||
| 3681 | ( (This)->lpVtbl -> ResourceBarrier(This,NumBarriers,pBarriers) ) | ||
| 3682 | |||
| 3683 | #define ID3D12VideoEncodeCommandList_DiscardResource(This,pResource,pRegion) \ | ||
| 3684 | ( (This)->lpVtbl -> DiscardResource(This,pResource,pRegion) ) | ||
| 3685 | |||
| 3686 | #define ID3D12VideoEncodeCommandList_BeginQuery(This,pQueryHeap,Type,Index) \ | ||
| 3687 | ( (This)->lpVtbl -> BeginQuery(This,pQueryHeap,Type,Index) ) | ||
| 3688 | |||
| 3689 | #define ID3D12VideoEncodeCommandList_EndQuery(This,pQueryHeap,Type,Index) \ | ||
| 3690 | ( (This)->lpVtbl -> EndQuery(This,pQueryHeap,Type,Index) ) | ||
| 3691 | |||
| 3692 | #define ID3D12VideoEncodeCommandList_ResolveQueryData(This,pQueryHeap,Type,StartIndex,NumQueries,pDestinationBuffer,AlignedDestinationBufferOffset) \ | ||
| 3693 | ( (This)->lpVtbl -> ResolveQueryData(This,pQueryHeap,Type,StartIndex,NumQueries,pDestinationBuffer,AlignedDestinationBufferOffset) ) | ||
| 3694 | |||
| 3695 | #define ID3D12VideoEncodeCommandList_SetPredication(This,pBuffer,AlignedBufferOffset,Operation) \ | ||
| 3696 | ( (This)->lpVtbl -> SetPredication(This,pBuffer,AlignedBufferOffset,Operation) ) | ||
| 3697 | |||
| 3698 | #define ID3D12VideoEncodeCommandList_SetMarker(This,Metadata,pData,Size) \ | ||
| 3699 | ( (This)->lpVtbl -> SetMarker(This,Metadata,pData,Size) ) | ||
| 3700 | |||
| 3701 | #define ID3D12VideoEncodeCommandList_BeginEvent(This,Metadata,pData,Size) \ | ||
| 3702 | ( (This)->lpVtbl -> BeginEvent(This,Metadata,pData,Size) ) | ||
| 3703 | |||
| 3704 | #define ID3D12VideoEncodeCommandList_EndEvent(This) \ | ||
| 3705 | ( (This)->lpVtbl -> EndEvent(This) ) | ||
| 3706 | |||
| 3707 | #define ID3D12VideoEncodeCommandList_EstimateMotion(This,pMotionEstimator,pOutputArguments,pInputArguments) \ | ||
| 3708 | ( (This)->lpVtbl -> EstimateMotion(This,pMotionEstimator,pOutputArguments,pInputArguments) ) | ||
| 3709 | |||
| 3710 | #define ID3D12VideoEncodeCommandList_ResolveMotionVectorHeap(This,pOutputArguments,pInputArguments) \ | ||
| 3711 | ( (This)->lpVtbl -> ResolveMotionVectorHeap(This,pOutputArguments,pInputArguments) ) | ||
| 3712 | |||
| 3713 | #define ID3D12VideoEncodeCommandList_WriteBufferImmediate(This,Count,pParams,pModes) \ | ||
| 3714 | ( (This)->lpVtbl -> WriteBufferImmediate(This,Count,pParams,pModes) ) | ||
| 3715 | |||
| 3716 | #define ID3D12VideoEncodeCommandList_SetProtectedResourceSession(This,pProtectedResourceSession) \ | ||
| 3717 | ( (This)->lpVtbl -> SetProtectedResourceSession(This,pProtectedResourceSession) ) | ||
| 3718 | |||
| 3719 | #endif /* COBJMACROS */ | ||
| 3720 | |||
| 3721 | |||
| 3722 | #endif /* C style interface */ | ||
| 3723 | |||
| 3724 | |||
| 3725 | |||
| 3726 | |||
| 3727 | #endif /* __ID3D12VideoEncodeCommandList_INTERFACE_DEFINED__ */ | ||
| 3728 | |||
| 3729 | |||
| 3730 | /* interface __MIDL_itf_d3d12video_0000_0012 */ | ||
| 3731 | /* [local] */ | ||
| 3732 | |||
| 3733 | typedef | ||
| 3734 | enum D3D12_VIDEO_PROTECTED_RESOURCE_SUPPORT_FLAGS | ||
| 3735 | { | ||
| 3736 | D3D12_VIDEO_PROTECTED_RESOURCE_SUPPORT_FLAG_NONE = 0, | ||
| 3737 | D3D12_VIDEO_PROTECTED_RESOURCE_SUPPORT_FLAG_SUPPORTED = 0x1 | ||
| 3738 | } D3D12_VIDEO_PROTECTED_RESOURCE_SUPPORT_FLAGS; | ||
| 3739 | |||
| 3740 | DEFINE_ENUM_FLAG_OPERATORS(D3D12_VIDEO_PROTECTED_RESOURCE_SUPPORT_FLAGS ) | ||
| 3741 | typedef struct D3D12_FEATURE_DATA_VIDEO_DECODE_PROTECTED_RESOURCES | ||
| 3742 | { | ||
| 3743 | UINT NodeIndex; | ||
| 3744 | D3D12_VIDEO_DECODE_CONFIGURATION Configuration; | ||
| 3745 | D3D12_VIDEO_PROTECTED_RESOURCE_SUPPORT_FLAGS SupportFlags; | ||
| 3746 | } D3D12_FEATURE_DATA_VIDEO_DECODE_PROTECTED_RESOURCES; | ||
| 3747 | |||
| 3748 | typedef struct D3D12_FEATURE_DATA_VIDEO_PROCESS_PROTECTED_RESOURCES | ||
| 3749 | { | ||
| 3750 | UINT NodeIndex; | ||
| 3751 | D3D12_VIDEO_PROTECTED_RESOURCE_SUPPORT_FLAGS SupportFlags; | ||
| 3752 | } D3D12_FEATURE_DATA_VIDEO_PROCESS_PROTECTED_RESOURCES; | ||
| 3753 | |||
| 3754 | typedef struct D3D12_FEATURE_DATA_VIDEO_MOTION_ESTIMATOR_PROTECTED_RESOURCES | ||
| 3755 | { | ||
| 3756 | UINT NodeIndex; | ||
| 3757 | D3D12_VIDEO_PROTECTED_RESOURCE_SUPPORT_FLAGS SupportFlags; | ||
| 3758 | } D3D12_FEATURE_DATA_VIDEO_MOTION_ESTIMATOR_PROTECTED_RESOURCES; | ||
| 3759 | |||
| 3760 | typedef struct D3D12_FEATURE_DATA_VIDEO_DECODER_HEAP_SIZE1 | ||
| 3761 | { | ||
| 3762 | D3D12_VIDEO_DECODER_HEAP_DESC VideoDecoderHeapDesc; | ||
| 3763 | BOOL Protected; | ||
| 3764 | UINT64 MemoryPoolL0Size; | ||
| 3765 | UINT64 MemoryPoolL1Size; | ||
| 3766 | } D3D12_FEATURE_DATA_VIDEO_DECODER_HEAP_SIZE1; | ||
| 3767 | |||
| 3768 | typedef struct D3D12_FEATURE_DATA_VIDEO_PROCESSOR_SIZE1 | ||
| 3769 | { | ||
| 3770 | UINT NodeMask; | ||
| 3771 | const D3D12_VIDEO_PROCESS_OUTPUT_STREAM_DESC *pOutputStreamDesc; | ||
| 3772 | UINT NumInputStreamDescs; | ||
| 3773 | const D3D12_VIDEO_PROCESS_INPUT_STREAM_DESC *pInputStreamDescs; | ||
| 3774 | BOOL Protected; | ||
| 3775 | UINT64 MemoryPoolL0Size; | ||
| 3776 | UINT64 MemoryPoolL1Size; | ||
| 3777 | } D3D12_FEATURE_DATA_VIDEO_PROCESSOR_SIZE1; | ||
| 3778 | |||
| 3779 | typedef | ||
| 3780 | enum D3D12_VIDEO_EXTENSION_COMMAND_PARAMETER_STAGE | ||
| 3781 | { | ||
| 3782 | D3D12_VIDEO_EXTENSION_COMMAND_PARAMETER_STAGE_CREATION = 0, | ||
| 3783 | D3D12_VIDEO_EXTENSION_COMMAND_PARAMETER_STAGE_INITIALIZATION = 1, | ||
| 3784 | D3D12_VIDEO_EXTENSION_COMMAND_PARAMETER_STAGE_EXECUTION = 2, | ||
| 3785 | D3D12_VIDEO_EXTENSION_COMMAND_PARAMETER_STAGE_CAPS_INPUT = 3, | ||
| 3786 | D3D12_VIDEO_EXTENSION_COMMAND_PARAMETER_STAGE_CAPS_OUTPUT = 4, | ||
| 3787 | D3D12_VIDEO_EXTENSION_COMMAND_PARAMETER_STAGE_DEVICE_EXECUTE_INPUT = 5, | ||
| 3788 | D3D12_VIDEO_EXTENSION_COMMAND_PARAMETER_STAGE_DEVICE_EXECUTE_OUTPUT = 6 | ||
| 3789 | } D3D12_VIDEO_EXTENSION_COMMAND_PARAMETER_STAGE; | ||
| 3790 | |||
| 3791 | typedef | ||
| 3792 | enum D3D12_VIDEO_EXTENSION_COMMAND_PARAMETER_TYPE | ||
| 3793 | { | ||
| 3794 | D3D12_VIDEO_EXTENSION_COMMAND_PARAMETER_TYPE_UINT8 = 0, | ||
| 3795 | D3D12_VIDEO_EXTENSION_COMMAND_PARAMETER_TYPE_UINT16 = 1, | ||
| 3796 | D3D12_VIDEO_EXTENSION_COMMAND_PARAMETER_TYPE_UINT32 = 2, | ||
| 3797 | D3D12_VIDEO_EXTENSION_COMMAND_PARAMETER_TYPE_UINT64 = 3, | ||
| 3798 | D3D12_VIDEO_EXTENSION_COMMAND_PARAMETER_TYPE_SINT8 = 4, | ||
| 3799 | D3D12_VIDEO_EXTENSION_COMMAND_PARAMETER_TYPE_SINT16 = 5, | ||
| 3800 | D3D12_VIDEO_EXTENSION_COMMAND_PARAMETER_TYPE_SINT32 = 6, | ||
| 3801 | D3D12_VIDEO_EXTENSION_COMMAND_PARAMETER_TYPE_SINT64 = 7, | ||
| 3802 | D3D12_VIDEO_EXTENSION_COMMAND_PARAMETER_TYPE_FLOAT = 8, | ||
| 3803 | D3D12_VIDEO_EXTENSION_COMMAND_PARAMETER_TYPE_DOUBLE = 9, | ||
| 3804 | D3D12_VIDEO_EXTENSION_COMMAND_PARAMETER_TYPE_RESOURCE = 10 | ||
| 3805 | } D3D12_VIDEO_EXTENSION_COMMAND_PARAMETER_TYPE; | ||
| 3806 | |||
| 3807 | typedef | ||
| 3808 | enum D3D12_VIDEO_EXTENSION_COMMAND_PARAMETER_FLAGS | ||
| 3809 | { | ||
| 3810 | D3D12_VIDEO_EXTENSION_COMMAND_PARAMETER_FLAG_NONE = 0, | ||
| 3811 | D3D12_VIDEO_EXTENSION_COMMAND_PARAMETER_FLAG_READ = 0x1, | ||
| 3812 | D3D12_VIDEO_EXTENSION_COMMAND_PARAMETER_FLAG_WRITE = 0x2 | ||
| 3813 | } D3D12_VIDEO_EXTENSION_COMMAND_PARAMETER_FLAGS; | ||
| 3814 | |||
| 3815 | DEFINE_ENUM_FLAG_OPERATORS(D3D12_VIDEO_EXTENSION_COMMAND_PARAMETER_FLAGS ) | ||
| 3816 | typedef struct D3D12_FEATURE_DATA_VIDEO_EXTENSION_COMMAND_COUNT | ||
| 3817 | { | ||
| 3818 | UINT NodeIndex; | ||
| 3819 | UINT CommandCount; | ||
| 3820 | } D3D12_FEATURE_DATA_VIDEO_EXTENSION_COMMAND_COUNT; | ||
| 3821 | |||
| 3822 | typedef struct D3D12_VIDEO_EXTENSION_COMMAND_INFO | ||
| 3823 | { | ||
| 3824 | GUID CommandId; | ||
| 3825 | LPCWSTR Name; | ||
| 3826 | D3D12_COMMAND_LIST_SUPPORT_FLAGS CommandListSupportFlags; | ||
| 3827 | } D3D12_VIDEO_EXTENSION_COMMAND_INFO; | ||
| 3828 | |||
| 3829 | typedef struct D3D12_FEATURE_DATA_VIDEO_EXTENSION_COMMANDS | ||
| 3830 | { | ||
| 3831 | UINT NodeIndex; | ||
| 3832 | UINT CommandCount; | ||
| 3833 | _Field_size_full_(CommandCount) D3D12_VIDEO_EXTENSION_COMMAND_INFO *pCommandInfos; | ||
| 3834 | } D3D12_FEATURE_DATA_VIDEO_EXTENSION_COMMANDS; | ||
| 3835 | |||
| 3836 | typedef struct D3D12_FEATURE_DATA_VIDEO_EXTENSION_COMMAND_PARAMETER_COUNT | ||
| 3837 | { | ||
| 3838 | GUID CommandId; | ||
| 3839 | D3D12_VIDEO_EXTENSION_COMMAND_PARAMETER_STAGE Stage; | ||
| 3840 | UINT ParameterCount; | ||
| 3841 | UINT ParameterPacking; | ||
| 3842 | } D3D12_FEATURE_DATA_VIDEO_EXTENSION_COMMAND_PARAMETER_COUNT; | ||
| 3843 | |||
| 3844 | typedef struct D3D12_VIDEO_EXTENSION_COMMAND_PARAMETER_INFO | ||
| 3845 | { | ||
| 3846 | LPCWSTR Name; | ||
| 3847 | D3D12_VIDEO_EXTENSION_COMMAND_PARAMETER_TYPE Type; | ||
| 3848 | D3D12_VIDEO_EXTENSION_COMMAND_PARAMETER_FLAGS Flags; | ||
| 3849 | } D3D12_VIDEO_EXTENSION_COMMAND_PARAMETER_INFO; | ||
| 3850 | |||
| 3851 | typedef struct D3D12_FEATURE_DATA_VIDEO_EXTENSION_COMMAND_PARAMETERS | ||
| 3852 | { | ||
| 3853 | GUID CommandId; | ||
| 3854 | D3D12_VIDEO_EXTENSION_COMMAND_PARAMETER_STAGE Stage; | ||
| 3855 | UINT ParameterCount; | ||
| 3856 | _Field_size_full_(ParameterCount) D3D12_VIDEO_EXTENSION_COMMAND_PARAMETER_INFO *pParameterInfos; | ||
| 3857 | } D3D12_FEATURE_DATA_VIDEO_EXTENSION_COMMAND_PARAMETERS; | ||
| 3858 | |||
| 3859 | typedef struct D3D12_FEATURE_DATA_VIDEO_EXTENSION_COMMAND_SUPPORT | ||
| 3860 | { | ||
| 3861 | UINT NodeIndex; | ||
| 3862 | GUID CommandId; | ||
| 3863 | _Field_size_bytes_full_opt_(InputDataSizeInBytes) const void *pInputData; | ||
| 3864 | SIZE_T InputDataSizeInBytes; | ||
| 3865 | _Field_size_bytes_full_opt_(OutputDataSizeInBytes) void *pOutputData; | ||
| 3866 | SIZE_T OutputDataSizeInBytes; | ||
| 3867 | } D3D12_FEATURE_DATA_VIDEO_EXTENSION_COMMAND_SUPPORT; | ||
| 3868 | |||
| 3869 | typedef struct D3D12_FEATURE_DATA_VIDEO_EXTENSION_COMMAND_SIZE | ||
| 3870 | { | ||
| 3871 | UINT NodeIndex; | ||
| 3872 | GUID CommandId; | ||
| 3873 | _Field_size_bytes_full_(CreationParametersDataSizeInBytes) const void *pCreationParameters; | ||
| 3874 | SIZE_T CreationParametersSizeInBytes; | ||
| 3875 | UINT64 MemoryPoolL0Size; | ||
| 3876 | UINT64 MemoryPoolL1Size; | ||
| 3877 | } D3D12_FEATURE_DATA_VIDEO_EXTENSION_COMMAND_SIZE; | ||
| 3878 | |||
| 3879 | typedef struct D3D12_VIDEO_EXTENSION_COMMAND_DESC | ||
| 3880 | { | ||
| 3881 | UINT NodeMask; | ||
| 3882 | GUID CommandId; | ||
| 3883 | } D3D12_VIDEO_EXTENSION_COMMAND_DESC; | ||
| 3884 | |||
| 3885 | |||
| 3886 | |||
| 3887 | extern RPC_IF_HANDLE __MIDL_itf_d3d12video_0000_0012_v0_0_c_ifspec; | ||
| 3888 | extern RPC_IF_HANDLE __MIDL_itf_d3d12video_0000_0012_v0_0_s_ifspec; | ||
| 3889 | |||
| 3890 | #ifndef __ID3D12VideoDecoder1_INTERFACE_DEFINED__ | ||
| 3891 | #define __ID3D12VideoDecoder1_INTERFACE_DEFINED__ | ||
| 3892 | |||
| 3893 | /* interface ID3D12VideoDecoder1 */ | ||
| 3894 | /* [unique][local][object][uuid] */ | ||
| 3895 | |||
| 3896 | |||
| 3897 | EXTERN_C const IID IID_ID3D12VideoDecoder1; | ||
| 3898 | |||
| 3899 | #if defined(__cplusplus) && !defined(CINTERFACE) | ||
| 3900 | |||
| 3901 | MIDL_INTERFACE("79A2E5FB-CCD2-469A-9FDE-195D10951F7E") | ||
| 3902 | ID3D12VideoDecoder1 : public ID3D12VideoDecoder | ||
| 3903 | { | ||
| 3904 | public: | ||
| 3905 | virtual HRESULT STDMETHODCALLTYPE GetProtectedResourceSession( | ||
| 3906 | REFIID riid, | ||
| 3907 | _COM_Outptr_opt_ void **ppProtectedSession) = 0; | ||
| 3908 | |||
| 3909 | }; | ||
| 3910 | |||
| 3911 | |||
| 3912 | #else /* C style interface */ | ||
| 3913 | |||
| 3914 | typedef struct ID3D12VideoDecoder1Vtbl | ||
| 3915 | { | ||
| 3916 | BEGIN_INTERFACE | ||
| 3917 | |||
| 3918 | DECLSPEC_XFGVIRT(IUnknown, QueryInterface) | ||
| 3919 | HRESULT ( STDMETHODCALLTYPE *QueryInterface )( | ||
| 3920 | ID3D12VideoDecoder1 * This, | ||
| 3921 | REFIID riid, | ||
| 3922 | _COM_Outptr_ void **ppvObject); | ||
| 3923 | |||
| 3924 | DECLSPEC_XFGVIRT(IUnknown, AddRef) | ||
| 3925 | ULONG ( STDMETHODCALLTYPE *AddRef )( | ||
| 3926 | ID3D12VideoDecoder1 * This); | ||
| 3927 | |||
| 3928 | DECLSPEC_XFGVIRT(IUnknown, Release) | ||
| 3929 | ULONG ( STDMETHODCALLTYPE *Release )( | ||
| 3930 | ID3D12VideoDecoder1 * This); | ||
| 3931 | |||
| 3932 | DECLSPEC_XFGVIRT(ID3D12Object, GetPrivateData) | ||
| 3933 | HRESULT ( STDMETHODCALLTYPE *GetPrivateData )( | ||
| 3934 | ID3D12VideoDecoder1 * This, | ||
| 3935 | _In_ REFGUID guid, | ||
| 3936 | _Inout_ UINT *pDataSize, | ||
| 3937 | _Out_writes_bytes_opt_( *pDataSize ) void *pData); | ||
| 3938 | |||
| 3939 | DECLSPEC_XFGVIRT(ID3D12Object, SetPrivateData) | ||
| 3940 | HRESULT ( STDMETHODCALLTYPE *SetPrivateData )( | ||
| 3941 | ID3D12VideoDecoder1 * This, | ||
| 3942 | _In_ REFGUID guid, | ||
| 3943 | _In_ UINT DataSize, | ||
| 3944 | _In_reads_bytes_opt_( DataSize ) const void *pData); | ||
| 3945 | |||
| 3946 | DECLSPEC_XFGVIRT(ID3D12Object, SetPrivateDataInterface) | ||
| 3947 | HRESULT ( STDMETHODCALLTYPE *SetPrivateDataInterface )( | ||
| 3948 | ID3D12VideoDecoder1 * This, | ||
| 3949 | _In_ REFGUID guid, | ||
| 3950 | _In_opt_ const IUnknown *pData); | ||
| 3951 | |||
| 3952 | DECLSPEC_XFGVIRT(ID3D12Object, SetName) | ||
| 3953 | HRESULT ( STDMETHODCALLTYPE *SetName )( | ||
| 3954 | ID3D12VideoDecoder1 * This, | ||
| 3955 | _In_z_ LPCWSTR Name); | ||
| 3956 | |||
| 3957 | DECLSPEC_XFGVIRT(ID3D12DeviceChild, GetDevice) | ||
| 3958 | HRESULT ( STDMETHODCALLTYPE *GetDevice )( | ||
| 3959 | ID3D12VideoDecoder1 * This, | ||
| 3960 | REFIID riid, | ||
| 3961 | _COM_Outptr_opt_ void **ppvDevice); | ||
| 3962 | |||
| 3963 | DECLSPEC_XFGVIRT(ID3D12VideoDecoder, GetDesc) | ||
| 3964 | #if !defined(_WIN32) | ||
| 3965 | D3D12_VIDEO_DECODER_DESC ( STDMETHODCALLTYPE *GetDesc )( | ||
| 3966 | ID3D12VideoDecoder1 * This); | ||
| 3967 | |||
| 3968 | #else | ||
| 3969 | D3D12_VIDEO_DECODER_DESC *( STDMETHODCALLTYPE *GetDesc )( | ||
| 3970 | ID3D12VideoDecoder1 * This, | ||
| 3971 | D3D12_VIDEO_DECODER_DESC * RetVal); | ||
| 3972 | |||
| 3973 | #endif | ||
| 3974 | |||
| 3975 | DECLSPEC_XFGVIRT(ID3D12VideoDecoder1, GetProtectedResourceSession) | ||
| 3976 | HRESULT ( STDMETHODCALLTYPE *GetProtectedResourceSession )( | ||
| 3977 | ID3D12VideoDecoder1 * This, | ||
| 3978 | REFIID riid, | ||
| 3979 | _COM_Outptr_opt_ void **ppProtectedSession); | ||
| 3980 | |||
| 3981 | END_INTERFACE | ||
| 3982 | } ID3D12VideoDecoder1Vtbl; | ||
| 3983 | |||
| 3984 | interface ID3D12VideoDecoder1 | ||
| 3985 | { | ||
| 3986 | CONST_VTBL struct ID3D12VideoDecoder1Vtbl *lpVtbl; | ||
| 3987 | }; | ||
| 3988 | |||
| 3989 | |||
| 3990 | |||
| 3991 | #ifdef COBJMACROS | ||
| 3992 | |||
| 3993 | |||
| 3994 | #define ID3D12VideoDecoder1_QueryInterface(This,riid,ppvObject) \ | ||
| 3995 | ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) | ||
| 3996 | |||
| 3997 | #define ID3D12VideoDecoder1_AddRef(This) \ | ||
| 3998 | ( (This)->lpVtbl -> AddRef(This) ) | ||
| 3999 | |||
| 4000 | #define ID3D12VideoDecoder1_Release(This) \ | ||
| 4001 | ( (This)->lpVtbl -> Release(This) ) | ||
| 4002 | |||
| 4003 | |||
| 4004 | #define ID3D12VideoDecoder1_GetPrivateData(This,guid,pDataSize,pData) \ | ||
| 4005 | ( (This)->lpVtbl -> GetPrivateData(This,guid,pDataSize,pData) ) | ||
| 4006 | |||
| 4007 | #define ID3D12VideoDecoder1_SetPrivateData(This,guid,DataSize,pData) \ | ||
| 4008 | ( (This)->lpVtbl -> SetPrivateData(This,guid,DataSize,pData) ) | ||
| 4009 | |||
| 4010 | #define ID3D12VideoDecoder1_SetPrivateDataInterface(This,guid,pData) \ | ||
| 4011 | ( (This)->lpVtbl -> SetPrivateDataInterface(This,guid,pData) ) | ||
| 4012 | |||
| 4013 | #define ID3D12VideoDecoder1_SetName(This,Name) \ | ||
| 4014 | ( (This)->lpVtbl -> SetName(This,Name) ) | ||
| 4015 | |||
| 4016 | |||
| 4017 | #define ID3D12VideoDecoder1_GetDevice(This,riid,ppvDevice) \ | ||
| 4018 | ( (This)->lpVtbl -> GetDevice(This,riid,ppvDevice) ) | ||
| 4019 | |||
| 4020 | |||
| 4021 | #if !defined(_WIN32) | ||
| 4022 | |||
| 4023 | #define ID3D12VideoDecoder1_GetDesc(This) \ | ||
| 4024 | ( (This)->lpVtbl -> GetDesc(This) ) | ||
| 4025 | #else | ||
| 4026 | #define ID3D12VideoDecoder1_GetDesc(This,RetVal) \ | ||
| 4027 | ( (This)->lpVtbl -> GetDesc(This,RetVal) ) | ||
| 4028 | #endif | ||
| 4029 | |||
| 4030 | |||
| 4031 | #define ID3D12VideoDecoder1_GetProtectedResourceSession(This,riid,ppProtectedSession) \ | ||
| 4032 | ( (This)->lpVtbl -> GetProtectedResourceSession(This,riid,ppProtectedSession) ) | ||
| 4033 | |||
| 4034 | #endif /* COBJMACROS */ | ||
| 4035 | |||
| 4036 | |||
| 4037 | #endif /* C style interface */ | ||
| 4038 | |||
| 4039 | |||
| 4040 | |||
| 4041 | |||
| 4042 | #endif /* __ID3D12VideoDecoder1_INTERFACE_DEFINED__ */ | ||
| 4043 | |||
| 4044 | |||
| 4045 | #ifndef __ID3D12VideoDecoderHeap1_INTERFACE_DEFINED__ | ||
| 4046 | #define __ID3D12VideoDecoderHeap1_INTERFACE_DEFINED__ | ||
| 4047 | |||
| 4048 | /* interface ID3D12VideoDecoderHeap1 */ | ||
| 4049 | /* [unique][local][object][uuid] */ | ||
| 4050 | |||
| 4051 | |||
| 4052 | EXTERN_C const IID IID_ID3D12VideoDecoderHeap1; | ||
| 4053 | |||
| 4054 | #if defined(__cplusplus) && !defined(CINTERFACE) | ||
| 4055 | |||
| 4056 | MIDL_INTERFACE("DA1D98C5-539F-41B2-BF6B-1198A03B6D26") | ||
| 4057 | ID3D12VideoDecoderHeap1 : public ID3D12VideoDecoderHeap | ||
| 4058 | { | ||
| 4059 | public: | ||
| 4060 | virtual HRESULT STDMETHODCALLTYPE GetProtectedResourceSession( | ||
| 4061 | REFIID riid, | ||
| 4062 | _COM_Outptr_opt_ void **ppProtectedSession) = 0; | ||
| 4063 | |||
| 4064 | }; | ||
| 4065 | |||
| 4066 | |||
| 4067 | #else /* C style interface */ | ||
| 4068 | |||
| 4069 | typedef struct ID3D12VideoDecoderHeap1Vtbl | ||
| 4070 | { | ||
| 4071 | BEGIN_INTERFACE | ||
| 4072 | |||
| 4073 | DECLSPEC_XFGVIRT(IUnknown, QueryInterface) | ||
| 4074 | HRESULT ( STDMETHODCALLTYPE *QueryInterface )( | ||
| 4075 | ID3D12VideoDecoderHeap1 * This, | ||
| 4076 | REFIID riid, | ||
| 4077 | _COM_Outptr_ void **ppvObject); | ||
| 4078 | |||
| 4079 | DECLSPEC_XFGVIRT(IUnknown, AddRef) | ||
| 4080 | ULONG ( STDMETHODCALLTYPE *AddRef )( | ||
| 4081 | ID3D12VideoDecoderHeap1 * This); | ||
| 4082 | |||
| 4083 | DECLSPEC_XFGVIRT(IUnknown, Release) | ||
| 4084 | ULONG ( STDMETHODCALLTYPE *Release )( | ||
| 4085 | ID3D12VideoDecoderHeap1 * This); | ||
| 4086 | |||
| 4087 | DECLSPEC_XFGVIRT(ID3D12Object, GetPrivateData) | ||
| 4088 | HRESULT ( STDMETHODCALLTYPE *GetPrivateData )( | ||
| 4089 | ID3D12VideoDecoderHeap1 * This, | ||
| 4090 | _In_ REFGUID guid, | ||
| 4091 | _Inout_ UINT *pDataSize, | ||
| 4092 | _Out_writes_bytes_opt_( *pDataSize ) void *pData); | ||
| 4093 | |||
| 4094 | DECLSPEC_XFGVIRT(ID3D12Object, SetPrivateData) | ||
| 4095 | HRESULT ( STDMETHODCALLTYPE *SetPrivateData )( | ||
| 4096 | ID3D12VideoDecoderHeap1 * This, | ||
| 4097 | _In_ REFGUID guid, | ||
| 4098 | _In_ UINT DataSize, | ||
| 4099 | _In_reads_bytes_opt_( DataSize ) const void *pData); | ||
| 4100 | |||
| 4101 | DECLSPEC_XFGVIRT(ID3D12Object, SetPrivateDataInterface) | ||
| 4102 | HRESULT ( STDMETHODCALLTYPE *SetPrivateDataInterface )( | ||
| 4103 | ID3D12VideoDecoderHeap1 * This, | ||
| 4104 | _In_ REFGUID guid, | ||
| 4105 | _In_opt_ const IUnknown *pData); | ||
| 4106 | |||
| 4107 | DECLSPEC_XFGVIRT(ID3D12Object, SetName) | ||
| 4108 | HRESULT ( STDMETHODCALLTYPE *SetName )( | ||
| 4109 | ID3D12VideoDecoderHeap1 * This, | ||
| 4110 | _In_z_ LPCWSTR Name); | ||
| 4111 | |||
| 4112 | DECLSPEC_XFGVIRT(ID3D12DeviceChild, GetDevice) | ||
| 4113 | HRESULT ( STDMETHODCALLTYPE *GetDevice )( | ||
| 4114 | ID3D12VideoDecoderHeap1 * This, | ||
| 4115 | REFIID riid, | ||
| 4116 | _COM_Outptr_opt_ void **ppvDevice); | ||
| 4117 | |||
| 4118 | DECLSPEC_XFGVIRT(ID3D12VideoDecoderHeap, GetDesc) | ||
| 4119 | #if !defined(_WIN32) | ||
| 4120 | D3D12_VIDEO_DECODER_HEAP_DESC ( STDMETHODCALLTYPE *GetDesc )( | ||
| 4121 | ID3D12VideoDecoderHeap1 * This); | ||
| 4122 | |||
| 4123 | #else | ||
| 4124 | D3D12_VIDEO_DECODER_HEAP_DESC *( STDMETHODCALLTYPE *GetDesc )( | ||
| 4125 | ID3D12VideoDecoderHeap1 * This, | ||
| 4126 | D3D12_VIDEO_DECODER_HEAP_DESC * RetVal); | ||
| 4127 | |||
| 4128 | #endif | ||
| 4129 | |||
| 4130 | DECLSPEC_XFGVIRT(ID3D12VideoDecoderHeap1, GetProtectedResourceSession) | ||
| 4131 | HRESULT ( STDMETHODCALLTYPE *GetProtectedResourceSession )( | ||
| 4132 | ID3D12VideoDecoderHeap1 * This, | ||
| 4133 | REFIID riid, | ||
| 4134 | _COM_Outptr_opt_ void **ppProtectedSession); | ||
| 4135 | |||
| 4136 | END_INTERFACE | ||
| 4137 | } ID3D12VideoDecoderHeap1Vtbl; | ||
| 4138 | |||
| 4139 | interface ID3D12VideoDecoderHeap1 | ||
| 4140 | { | ||
| 4141 | CONST_VTBL struct ID3D12VideoDecoderHeap1Vtbl *lpVtbl; | ||
| 4142 | }; | ||
| 4143 | |||
| 4144 | |||
| 4145 | |||
| 4146 | #ifdef COBJMACROS | ||
| 4147 | |||
| 4148 | |||
| 4149 | #define ID3D12VideoDecoderHeap1_QueryInterface(This,riid,ppvObject) \ | ||
| 4150 | ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) | ||
| 4151 | |||
| 4152 | #define ID3D12VideoDecoderHeap1_AddRef(This) \ | ||
| 4153 | ( (This)->lpVtbl -> AddRef(This) ) | ||
| 4154 | |||
| 4155 | #define ID3D12VideoDecoderHeap1_Release(This) \ | ||
| 4156 | ( (This)->lpVtbl -> Release(This) ) | ||
| 4157 | |||
| 4158 | |||
| 4159 | #define ID3D12VideoDecoderHeap1_GetPrivateData(This,guid,pDataSize,pData) \ | ||
| 4160 | ( (This)->lpVtbl -> GetPrivateData(This,guid,pDataSize,pData) ) | ||
| 4161 | |||
| 4162 | #define ID3D12VideoDecoderHeap1_SetPrivateData(This,guid,DataSize,pData) \ | ||
| 4163 | ( (This)->lpVtbl -> SetPrivateData(This,guid,DataSize,pData) ) | ||
| 4164 | |||
| 4165 | #define ID3D12VideoDecoderHeap1_SetPrivateDataInterface(This,guid,pData) \ | ||
| 4166 | ( (This)->lpVtbl -> SetPrivateDataInterface(This,guid,pData) ) | ||
| 4167 | |||
| 4168 | #define ID3D12VideoDecoderHeap1_SetName(This,Name) \ | ||
| 4169 | ( (This)->lpVtbl -> SetName(This,Name) ) | ||
| 4170 | |||
| 4171 | |||
| 4172 | #define ID3D12VideoDecoderHeap1_GetDevice(This,riid,ppvDevice) \ | ||
| 4173 | ( (This)->lpVtbl -> GetDevice(This,riid,ppvDevice) ) | ||
| 4174 | |||
| 4175 | |||
| 4176 | #if !defined(_WIN32) | ||
| 4177 | |||
| 4178 | #define ID3D12VideoDecoderHeap1_GetDesc(This) \ | ||
| 4179 | ( (This)->lpVtbl -> GetDesc(This) ) | ||
| 4180 | #else | ||
| 4181 | #define ID3D12VideoDecoderHeap1_GetDesc(This,RetVal) \ | ||
| 4182 | ( (This)->lpVtbl -> GetDesc(This,RetVal) ) | ||
| 4183 | #endif | ||
| 4184 | |||
| 4185 | |||
| 4186 | #define ID3D12VideoDecoderHeap1_GetProtectedResourceSession(This,riid,ppProtectedSession) \ | ||
| 4187 | ( (This)->lpVtbl -> GetProtectedResourceSession(This,riid,ppProtectedSession) ) | ||
| 4188 | |||
| 4189 | #endif /* COBJMACROS */ | ||
| 4190 | |||
| 4191 | |||
| 4192 | #endif /* C style interface */ | ||
| 4193 | |||
| 4194 | |||
| 4195 | |||
| 4196 | |||
| 4197 | #endif /* __ID3D12VideoDecoderHeap1_INTERFACE_DEFINED__ */ | ||
| 4198 | |||
| 4199 | |||
| 4200 | #ifndef __ID3D12VideoProcessor1_INTERFACE_DEFINED__ | ||
| 4201 | #define __ID3D12VideoProcessor1_INTERFACE_DEFINED__ | ||
| 4202 | |||
| 4203 | /* interface ID3D12VideoProcessor1 */ | ||
| 4204 | /* [unique][local][object][uuid] */ | ||
| 4205 | |||
| 4206 | |||
| 4207 | EXTERN_C const IID IID_ID3D12VideoProcessor1; | ||
| 4208 | |||
| 4209 | #if defined(__cplusplus) && !defined(CINTERFACE) | ||
| 4210 | |||
| 4211 | MIDL_INTERFACE("F3CFE615-553F-425C-86D8-EE8C1B1FB01C") | ||
| 4212 | ID3D12VideoProcessor1 : public ID3D12VideoProcessor | ||
| 4213 | { | ||
| 4214 | public: | ||
| 4215 | virtual HRESULT STDMETHODCALLTYPE GetProtectedResourceSession( | ||
| 4216 | REFIID riid, | ||
| 4217 | _COM_Outptr_opt_ void **ppProtectedSession) = 0; | ||
| 4218 | |||
| 4219 | }; | ||
| 4220 | |||
| 4221 | |||
| 4222 | #else /* C style interface */ | ||
| 4223 | |||
| 4224 | typedef struct ID3D12VideoProcessor1Vtbl | ||
| 4225 | { | ||
| 4226 | BEGIN_INTERFACE | ||
| 4227 | |||
| 4228 | DECLSPEC_XFGVIRT(IUnknown, QueryInterface) | ||
| 4229 | HRESULT ( STDMETHODCALLTYPE *QueryInterface )( | ||
| 4230 | ID3D12VideoProcessor1 * This, | ||
| 4231 | REFIID riid, | ||
| 4232 | _COM_Outptr_ void **ppvObject); | ||
| 4233 | |||
| 4234 | DECLSPEC_XFGVIRT(IUnknown, AddRef) | ||
| 4235 | ULONG ( STDMETHODCALLTYPE *AddRef )( | ||
| 4236 | ID3D12VideoProcessor1 * This); | ||
| 4237 | |||
| 4238 | DECLSPEC_XFGVIRT(IUnknown, Release) | ||
| 4239 | ULONG ( STDMETHODCALLTYPE *Release )( | ||
| 4240 | ID3D12VideoProcessor1 * This); | ||
| 4241 | |||
| 4242 | DECLSPEC_XFGVIRT(ID3D12Object, GetPrivateData) | ||
| 4243 | HRESULT ( STDMETHODCALLTYPE *GetPrivateData )( | ||
| 4244 | ID3D12VideoProcessor1 * This, | ||
| 4245 | _In_ REFGUID guid, | ||
| 4246 | _Inout_ UINT *pDataSize, | ||
| 4247 | _Out_writes_bytes_opt_( *pDataSize ) void *pData); | ||
| 4248 | |||
| 4249 | DECLSPEC_XFGVIRT(ID3D12Object, SetPrivateData) | ||
| 4250 | HRESULT ( STDMETHODCALLTYPE *SetPrivateData )( | ||
| 4251 | ID3D12VideoProcessor1 * This, | ||
| 4252 | _In_ REFGUID guid, | ||
| 4253 | _In_ UINT DataSize, | ||
| 4254 | _In_reads_bytes_opt_( DataSize ) const void *pData); | ||
| 4255 | |||
| 4256 | DECLSPEC_XFGVIRT(ID3D12Object, SetPrivateDataInterface) | ||
| 4257 | HRESULT ( STDMETHODCALLTYPE *SetPrivateDataInterface )( | ||
| 4258 | ID3D12VideoProcessor1 * This, | ||
| 4259 | _In_ REFGUID guid, | ||
| 4260 | _In_opt_ const IUnknown *pData); | ||
| 4261 | |||
| 4262 | DECLSPEC_XFGVIRT(ID3D12Object, SetName) | ||
| 4263 | HRESULT ( STDMETHODCALLTYPE *SetName )( | ||
| 4264 | ID3D12VideoProcessor1 * This, | ||
| 4265 | _In_z_ LPCWSTR Name); | ||
| 4266 | |||
| 4267 | DECLSPEC_XFGVIRT(ID3D12DeviceChild, GetDevice) | ||
| 4268 | HRESULT ( STDMETHODCALLTYPE *GetDevice )( | ||
| 4269 | ID3D12VideoProcessor1 * This, | ||
| 4270 | REFIID riid, | ||
| 4271 | _COM_Outptr_opt_ void **ppvDevice); | ||
| 4272 | |||
| 4273 | DECLSPEC_XFGVIRT(ID3D12VideoProcessor, GetNodeMask) | ||
| 4274 | UINT ( STDMETHODCALLTYPE *GetNodeMask )( | ||
| 4275 | ID3D12VideoProcessor1 * This); | ||
| 4276 | |||
| 4277 | DECLSPEC_XFGVIRT(ID3D12VideoProcessor, GetNumInputStreamDescs) | ||
| 4278 | UINT ( STDMETHODCALLTYPE *GetNumInputStreamDescs )( | ||
| 4279 | ID3D12VideoProcessor1 * This); | ||
| 4280 | |||
| 4281 | DECLSPEC_XFGVIRT(ID3D12VideoProcessor, GetInputStreamDescs) | ||
| 4282 | HRESULT ( STDMETHODCALLTYPE *GetInputStreamDescs )( | ||
| 4283 | ID3D12VideoProcessor1 * This, | ||
| 4284 | UINT NumInputStreamDescs, | ||
| 4285 | _Out_writes_(NumInputStreamDescs) D3D12_VIDEO_PROCESS_INPUT_STREAM_DESC *pInputStreamDescs); | ||
| 4286 | |||
| 4287 | DECLSPEC_XFGVIRT(ID3D12VideoProcessor, GetOutputStreamDesc) | ||
| 4288 | #if !defined(_WIN32) | ||
| 4289 | D3D12_VIDEO_PROCESS_OUTPUT_STREAM_DESC ( STDMETHODCALLTYPE *GetOutputStreamDesc )( | ||
| 4290 | ID3D12VideoProcessor1 * This); | ||
| 4291 | |||
| 4292 | #else | ||
| 4293 | D3D12_VIDEO_PROCESS_OUTPUT_STREAM_DESC *( STDMETHODCALLTYPE *GetOutputStreamDesc )( | ||
| 4294 | ID3D12VideoProcessor1 * This, | ||
| 4295 | D3D12_VIDEO_PROCESS_OUTPUT_STREAM_DESC * RetVal); | ||
| 4296 | |||
| 4297 | #endif | ||
| 4298 | |||
| 4299 | DECLSPEC_XFGVIRT(ID3D12VideoProcessor1, GetProtectedResourceSession) | ||
| 4300 | HRESULT ( STDMETHODCALLTYPE *GetProtectedResourceSession )( | ||
| 4301 | ID3D12VideoProcessor1 * This, | ||
| 4302 | REFIID riid, | ||
| 4303 | _COM_Outptr_opt_ void **ppProtectedSession); | ||
| 4304 | |||
| 4305 | END_INTERFACE | ||
| 4306 | } ID3D12VideoProcessor1Vtbl; | ||
| 4307 | |||
| 4308 | interface ID3D12VideoProcessor1 | ||
| 4309 | { | ||
| 4310 | CONST_VTBL struct ID3D12VideoProcessor1Vtbl *lpVtbl; | ||
| 4311 | }; | ||
| 4312 | |||
| 4313 | |||
| 4314 | |||
| 4315 | #ifdef COBJMACROS | ||
| 4316 | |||
| 4317 | |||
| 4318 | #define ID3D12VideoProcessor1_QueryInterface(This,riid,ppvObject) \ | ||
| 4319 | ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) | ||
| 4320 | |||
| 4321 | #define ID3D12VideoProcessor1_AddRef(This) \ | ||
| 4322 | ( (This)->lpVtbl -> AddRef(This) ) | ||
| 4323 | |||
| 4324 | #define ID3D12VideoProcessor1_Release(This) \ | ||
| 4325 | ( (This)->lpVtbl -> Release(This) ) | ||
| 4326 | |||
| 4327 | |||
| 4328 | #define ID3D12VideoProcessor1_GetPrivateData(This,guid,pDataSize,pData) \ | ||
| 4329 | ( (This)->lpVtbl -> GetPrivateData(This,guid,pDataSize,pData) ) | ||
| 4330 | |||
| 4331 | #define ID3D12VideoProcessor1_SetPrivateData(This,guid,DataSize,pData) \ | ||
| 4332 | ( (This)->lpVtbl -> SetPrivateData(This,guid,DataSize,pData) ) | ||
| 4333 | |||
| 4334 | #define ID3D12VideoProcessor1_SetPrivateDataInterface(This,guid,pData) \ | ||
| 4335 | ( (This)->lpVtbl -> SetPrivateDataInterface(This,guid,pData) ) | ||
| 4336 | |||
| 4337 | #define ID3D12VideoProcessor1_SetName(This,Name) \ | ||
| 4338 | ( (This)->lpVtbl -> SetName(This,Name) ) | ||
| 4339 | |||
| 4340 | |||
| 4341 | #define ID3D12VideoProcessor1_GetDevice(This,riid,ppvDevice) \ | ||
| 4342 | ( (This)->lpVtbl -> GetDevice(This,riid,ppvDevice) ) | ||
| 4343 | |||
| 4344 | |||
| 4345 | |||
| 4346 | #define ID3D12VideoProcessor1_GetNodeMask(This) \ | ||
| 4347 | ( (This)->lpVtbl -> GetNodeMask(This) ) | ||
| 4348 | |||
| 4349 | #define ID3D12VideoProcessor1_GetNumInputStreamDescs(This) \ | ||
| 4350 | ( (This)->lpVtbl -> GetNumInputStreamDescs(This) ) | ||
| 4351 | |||
| 4352 | #define ID3D12VideoProcessor1_GetInputStreamDescs(This,NumInputStreamDescs,pInputStreamDescs) \ | ||
| 4353 | ( (This)->lpVtbl -> GetInputStreamDescs(This,NumInputStreamDescs,pInputStreamDescs) ) | ||
| 4354 | #if !defined(_WIN32) | ||
| 4355 | |||
| 4356 | #define ID3D12VideoProcessor1_GetOutputStreamDesc(This) \ | ||
| 4357 | ( (This)->lpVtbl -> GetOutputStreamDesc(This) ) | ||
| 4358 | #else | ||
| 4359 | #define ID3D12VideoProcessor1_GetOutputStreamDesc(This,RetVal) \ | ||
| 4360 | ( (This)->lpVtbl -> GetOutputStreamDesc(This,RetVal) ) | ||
| 4361 | #endif | ||
| 4362 | |||
| 4363 | |||
| 4364 | #define ID3D12VideoProcessor1_GetProtectedResourceSession(This,riid,ppProtectedSession) \ | ||
| 4365 | ( (This)->lpVtbl -> GetProtectedResourceSession(This,riid,ppProtectedSession) ) | ||
| 4366 | |||
| 4367 | #endif /* COBJMACROS */ | ||
| 4368 | |||
| 4369 | |||
| 4370 | #endif /* C style interface */ | ||
| 4371 | |||
| 4372 | |||
| 4373 | |||
| 4374 | |||
| 4375 | #endif /* __ID3D12VideoProcessor1_INTERFACE_DEFINED__ */ | ||
| 4376 | |||
| 4377 | |||
| 4378 | #ifndef __ID3D12VideoExtensionCommand_INTERFACE_DEFINED__ | ||
| 4379 | #define __ID3D12VideoExtensionCommand_INTERFACE_DEFINED__ | ||
| 4380 | |||
| 4381 | /* interface ID3D12VideoExtensionCommand */ | ||
| 4382 | /* [unique][local][object][uuid] */ | ||
| 4383 | |||
| 4384 | |||
| 4385 | EXTERN_C const IID IID_ID3D12VideoExtensionCommand; | ||
| 4386 | |||
| 4387 | #if defined(__cplusplus) && !defined(CINTERFACE) | ||
| 4388 | |||
| 4389 | MIDL_INTERFACE("554E41E8-AE8E-4A8C-B7D2-5B4F274A30E4") | ||
| 4390 | ID3D12VideoExtensionCommand : public ID3D12Pageable | ||
| 4391 | { | ||
| 4392 | public: | ||
| 4393 | #if defined(_MSC_VER) || !defined(_WIN32) | ||
| 4394 | virtual D3D12_VIDEO_EXTENSION_COMMAND_DESC STDMETHODCALLTYPE GetDesc( void) = 0; | ||
| 4395 | #else | ||
| 4396 | virtual D3D12_VIDEO_EXTENSION_COMMAND_DESC *STDMETHODCALLTYPE GetDesc( | ||
| 4397 | D3D12_VIDEO_EXTENSION_COMMAND_DESC * RetVal) = 0; | ||
| 4398 | #endif | ||
| 4399 | |||
| 4400 | virtual HRESULT STDMETHODCALLTYPE GetProtectedResourceSession( | ||
| 4401 | REFIID riid, | ||
| 4402 | _COM_Outptr_opt_ void **ppProtectedSession) = 0; | ||
| 4403 | |||
| 4404 | }; | ||
| 4405 | |||
| 4406 | |||
| 4407 | #else /* C style interface */ | ||
| 4408 | |||
| 4409 | typedef struct ID3D12VideoExtensionCommandVtbl | ||
| 4410 | { | ||
| 4411 | BEGIN_INTERFACE | ||
| 4412 | |||
| 4413 | DECLSPEC_XFGVIRT(IUnknown, QueryInterface) | ||
| 4414 | HRESULT ( STDMETHODCALLTYPE *QueryInterface )( | ||
| 4415 | ID3D12VideoExtensionCommand * This, | ||
| 4416 | REFIID riid, | ||
| 4417 | _COM_Outptr_ void **ppvObject); | ||
| 4418 | |||
| 4419 | DECLSPEC_XFGVIRT(IUnknown, AddRef) | ||
| 4420 | ULONG ( STDMETHODCALLTYPE *AddRef )( | ||
| 4421 | ID3D12VideoExtensionCommand * This); | ||
| 4422 | |||
| 4423 | DECLSPEC_XFGVIRT(IUnknown, Release) | ||
| 4424 | ULONG ( STDMETHODCALLTYPE *Release )( | ||
| 4425 | ID3D12VideoExtensionCommand * This); | ||
| 4426 | |||
| 4427 | DECLSPEC_XFGVIRT(ID3D12Object, GetPrivateData) | ||
| 4428 | HRESULT ( STDMETHODCALLTYPE *GetPrivateData )( | ||
| 4429 | ID3D12VideoExtensionCommand * This, | ||
| 4430 | _In_ REFGUID guid, | ||
| 4431 | _Inout_ UINT *pDataSize, | ||
| 4432 | _Out_writes_bytes_opt_( *pDataSize ) void *pData); | ||
| 4433 | |||
| 4434 | DECLSPEC_XFGVIRT(ID3D12Object, SetPrivateData) | ||
| 4435 | HRESULT ( STDMETHODCALLTYPE *SetPrivateData )( | ||
| 4436 | ID3D12VideoExtensionCommand * This, | ||
| 4437 | _In_ REFGUID guid, | ||
| 4438 | _In_ UINT DataSize, | ||
| 4439 | _In_reads_bytes_opt_( DataSize ) const void *pData); | ||
| 4440 | |||
| 4441 | DECLSPEC_XFGVIRT(ID3D12Object, SetPrivateDataInterface) | ||
| 4442 | HRESULT ( STDMETHODCALLTYPE *SetPrivateDataInterface )( | ||
| 4443 | ID3D12VideoExtensionCommand * This, | ||
| 4444 | _In_ REFGUID guid, | ||
| 4445 | _In_opt_ const IUnknown *pData); | ||
| 4446 | |||
| 4447 | DECLSPEC_XFGVIRT(ID3D12Object, SetName) | ||
| 4448 | HRESULT ( STDMETHODCALLTYPE *SetName )( | ||
| 4449 | ID3D12VideoExtensionCommand * This, | ||
| 4450 | _In_z_ LPCWSTR Name); | ||
| 4451 | |||
| 4452 | DECLSPEC_XFGVIRT(ID3D12DeviceChild, GetDevice) | ||
| 4453 | HRESULT ( STDMETHODCALLTYPE *GetDevice )( | ||
| 4454 | ID3D12VideoExtensionCommand * This, | ||
| 4455 | REFIID riid, | ||
| 4456 | _COM_Outptr_opt_ void **ppvDevice); | ||
| 4457 | |||
| 4458 | DECLSPEC_XFGVIRT(ID3D12VideoExtensionCommand, GetDesc) | ||
| 4459 | #if !defined(_WIN32) | ||
| 4460 | D3D12_VIDEO_EXTENSION_COMMAND_DESC ( STDMETHODCALLTYPE *GetDesc )( | ||
| 4461 | ID3D12VideoExtensionCommand * This); | ||
| 4462 | |||
| 4463 | #else | ||
| 4464 | D3D12_VIDEO_EXTENSION_COMMAND_DESC *( STDMETHODCALLTYPE *GetDesc )( | ||
| 4465 | ID3D12VideoExtensionCommand * This, | ||
| 4466 | D3D12_VIDEO_EXTENSION_COMMAND_DESC * RetVal); | ||
| 4467 | |||
| 4468 | #endif | ||
| 4469 | |||
| 4470 | DECLSPEC_XFGVIRT(ID3D12VideoExtensionCommand, GetProtectedResourceSession) | ||
| 4471 | HRESULT ( STDMETHODCALLTYPE *GetProtectedResourceSession )( | ||
| 4472 | ID3D12VideoExtensionCommand * This, | ||
| 4473 | REFIID riid, | ||
| 4474 | _COM_Outptr_opt_ void **ppProtectedSession); | ||
| 4475 | |||
| 4476 | END_INTERFACE | ||
| 4477 | } ID3D12VideoExtensionCommandVtbl; | ||
| 4478 | |||
| 4479 | interface ID3D12VideoExtensionCommand | ||
| 4480 | { | ||
| 4481 | CONST_VTBL struct ID3D12VideoExtensionCommandVtbl *lpVtbl; | ||
| 4482 | }; | ||
| 4483 | |||
| 4484 | |||
| 4485 | |||
| 4486 | #ifdef COBJMACROS | ||
| 4487 | |||
| 4488 | |||
| 4489 | #define ID3D12VideoExtensionCommand_QueryInterface(This,riid,ppvObject) \ | ||
| 4490 | ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) | ||
| 4491 | |||
| 4492 | #define ID3D12VideoExtensionCommand_AddRef(This) \ | ||
| 4493 | ( (This)->lpVtbl -> AddRef(This) ) | ||
| 4494 | |||
| 4495 | #define ID3D12VideoExtensionCommand_Release(This) \ | ||
| 4496 | ( (This)->lpVtbl -> Release(This) ) | ||
| 4497 | |||
| 4498 | |||
| 4499 | #define ID3D12VideoExtensionCommand_GetPrivateData(This,guid,pDataSize,pData) \ | ||
| 4500 | ( (This)->lpVtbl -> GetPrivateData(This,guid,pDataSize,pData) ) | ||
| 4501 | |||
| 4502 | #define ID3D12VideoExtensionCommand_SetPrivateData(This,guid,DataSize,pData) \ | ||
| 4503 | ( (This)->lpVtbl -> SetPrivateData(This,guid,DataSize,pData) ) | ||
| 4504 | |||
| 4505 | #define ID3D12VideoExtensionCommand_SetPrivateDataInterface(This,guid,pData) \ | ||
| 4506 | ( (This)->lpVtbl -> SetPrivateDataInterface(This,guid,pData) ) | ||
| 4507 | |||
| 4508 | #define ID3D12VideoExtensionCommand_SetName(This,Name) \ | ||
| 4509 | ( (This)->lpVtbl -> SetName(This,Name) ) | ||
| 4510 | |||
| 4511 | |||
| 4512 | #define ID3D12VideoExtensionCommand_GetDevice(This,riid,ppvDevice) \ | ||
| 4513 | ( (This)->lpVtbl -> GetDevice(This,riid,ppvDevice) ) | ||
| 4514 | |||
| 4515 | |||
| 4516 | #if !defined(_WIN32) | ||
| 4517 | |||
| 4518 | #define ID3D12VideoExtensionCommand_GetDesc(This) \ | ||
| 4519 | ( (This)->lpVtbl -> GetDesc(This) ) | ||
| 4520 | #else | ||
| 4521 | #define ID3D12VideoExtensionCommand_GetDesc(This,RetVal) \ | ||
| 4522 | ( (This)->lpVtbl -> GetDesc(This,RetVal) ) | ||
| 4523 | #endif | ||
| 4524 | |||
| 4525 | #define ID3D12VideoExtensionCommand_GetProtectedResourceSession(This,riid,ppProtectedSession) \ | ||
| 4526 | ( (This)->lpVtbl -> GetProtectedResourceSession(This,riid,ppProtectedSession) ) | ||
| 4527 | |||
| 4528 | #endif /* COBJMACROS */ | ||
| 4529 | |||
| 4530 | |||
| 4531 | #endif /* C style interface */ | ||
| 4532 | |||
| 4533 | |||
| 4534 | |||
| 4535 | |||
| 4536 | #endif /* __ID3D12VideoExtensionCommand_INTERFACE_DEFINED__ */ | ||
| 4537 | |||
| 4538 | |||
| 4539 | #ifndef __ID3D12VideoDevice2_INTERFACE_DEFINED__ | ||
| 4540 | #define __ID3D12VideoDevice2_INTERFACE_DEFINED__ | ||
| 4541 | |||
| 4542 | /* interface ID3D12VideoDevice2 */ | ||
| 4543 | /* [unique][local][object][uuid] */ | ||
| 4544 | |||
| 4545 | |||
| 4546 | EXTERN_C const IID IID_ID3D12VideoDevice2; | ||
| 4547 | |||
| 4548 | #if defined(__cplusplus) && !defined(CINTERFACE) | ||
| 4549 | |||
| 4550 | MIDL_INTERFACE("F019AC49-F838-4A95-9B17-579437C8F513") | ||
| 4551 | ID3D12VideoDevice2 : public ID3D12VideoDevice1 | ||
| 4552 | { | ||
| 4553 | public: | ||
| 4554 | virtual HRESULT STDMETHODCALLTYPE CreateVideoDecoder1( | ||
| 4555 | _In_ const D3D12_VIDEO_DECODER_DESC *pDesc, | ||
| 4556 | _In_opt_ ID3D12ProtectedResourceSession *pProtectedResourceSession, | ||
| 4557 | _In_ REFIID riid, | ||
| 4558 | _COM_Outptr_ void **ppVideoDecoder) = 0; | ||
| 4559 | |||
| 4560 | virtual HRESULT STDMETHODCALLTYPE CreateVideoDecoderHeap1( | ||
| 4561 | _In_ const D3D12_VIDEO_DECODER_HEAP_DESC *pVideoDecoderHeapDesc, | ||
| 4562 | _In_opt_ ID3D12ProtectedResourceSession *pProtectedResourceSession, | ||
| 4563 | _In_ REFIID riid, | ||
| 4564 | _COM_Outptr_ void **ppVideoDecoderHeap) = 0; | ||
| 4565 | |||
| 4566 | virtual HRESULT STDMETHODCALLTYPE CreateVideoProcessor1( | ||
| 4567 | UINT NodeMask, | ||
| 4568 | _In_ const D3D12_VIDEO_PROCESS_OUTPUT_STREAM_DESC *pOutputStreamDesc, | ||
| 4569 | UINT NumInputStreamDescs, | ||
| 4570 | _In_reads_(NumInputStreamDescs) const D3D12_VIDEO_PROCESS_INPUT_STREAM_DESC *pInputStreamDescs, | ||
| 4571 | _In_opt_ ID3D12ProtectedResourceSession *pProtectedResourceSession, | ||
| 4572 | _In_ REFIID riid, | ||
| 4573 | _COM_Outptr_ void **ppVideoProcessor) = 0; | ||
| 4574 | |||
| 4575 | virtual HRESULT STDMETHODCALLTYPE CreateVideoExtensionCommand( | ||
| 4576 | _In_ const D3D12_VIDEO_EXTENSION_COMMAND_DESC *pDesc, | ||
| 4577 | _In_reads_bytes_(CreationParametersDataSizeInBytes) const void *pCreationParameters, | ||
| 4578 | SIZE_T CreationParametersDataSizeInBytes, | ||
| 4579 | _In_opt_ ID3D12ProtectedResourceSession *pProtectedResourceSession, | ||
| 4580 | _In_ REFIID riid, | ||
| 4581 | _COM_Outptr_ void **ppVideoExtensionCommand) = 0; | ||
| 4582 | |||
| 4583 | virtual HRESULT STDMETHODCALLTYPE ExecuteExtensionCommand( | ||
| 4584 | _In_ ID3D12VideoExtensionCommand *pExtensionCommand, | ||
| 4585 | _In_reads_bytes_(ExecutionParametersSizeInBytes) const void *pExecutionParameters, | ||
| 4586 | SIZE_T ExecutionParametersSizeInBytes, | ||
| 4587 | _Out_writes_bytes_(OutputDataSizeInBytes) void *pOutputData, | ||
| 4588 | SIZE_T OutputDataSizeInBytes) = 0; | ||
| 4589 | |||
| 4590 | }; | ||
| 4591 | |||
| 4592 | |||
| 4593 | #else /* C style interface */ | ||
| 4594 | |||
| 4595 | typedef struct ID3D12VideoDevice2Vtbl | ||
| 4596 | { | ||
| 4597 | BEGIN_INTERFACE | ||
| 4598 | |||
| 4599 | DECLSPEC_XFGVIRT(IUnknown, QueryInterface) | ||
| 4600 | HRESULT ( STDMETHODCALLTYPE *QueryInterface )( | ||
| 4601 | ID3D12VideoDevice2 * This, | ||
| 4602 | REFIID riid, | ||
| 4603 | _COM_Outptr_ void **ppvObject); | ||
| 4604 | |||
| 4605 | DECLSPEC_XFGVIRT(IUnknown, AddRef) | ||
| 4606 | ULONG ( STDMETHODCALLTYPE *AddRef )( | ||
| 4607 | ID3D12VideoDevice2 * This); | ||
| 4608 | |||
| 4609 | DECLSPEC_XFGVIRT(IUnknown, Release) | ||
| 4610 | ULONG ( STDMETHODCALLTYPE *Release )( | ||
| 4611 | ID3D12VideoDevice2 * This); | ||
| 4612 | |||
| 4613 | DECLSPEC_XFGVIRT(ID3D12VideoDevice, CheckFeatureSupport) | ||
| 4614 | HRESULT ( STDMETHODCALLTYPE *CheckFeatureSupport )( | ||
| 4615 | ID3D12VideoDevice2 * This, | ||
| 4616 | D3D12_FEATURE_VIDEO FeatureVideo, | ||
| 4617 | _Inout_updates_bytes_(FeatureSupportDataSize) void *pFeatureSupportData, | ||
| 4618 | UINT FeatureSupportDataSize); | ||
| 4619 | |||
| 4620 | DECLSPEC_XFGVIRT(ID3D12VideoDevice, CreateVideoDecoder) | ||
| 4621 | HRESULT ( STDMETHODCALLTYPE *CreateVideoDecoder )( | ||
| 4622 | ID3D12VideoDevice2 * This, | ||
| 4623 | _In_ const D3D12_VIDEO_DECODER_DESC *pDesc, | ||
| 4624 | _In_ REFIID riid, | ||
| 4625 | _COM_Outptr_ void **ppVideoDecoder); | ||
| 4626 | |||
| 4627 | DECLSPEC_XFGVIRT(ID3D12VideoDevice, CreateVideoDecoderHeap) | ||
| 4628 | HRESULT ( STDMETHODCALLTYPE *CreateVideoDecoderHeap )( | ||
| 4629 | ID3D12VideoDevice2 * This, | ||
| 4630 | _In_ const D3D12_VIDEO_DECODER_HEAP_DESC *pVideoDecoderHeapDesc, | ||
| 4631 | _In_ REFIID riid, | ||
| 4632 | _COM_Outptr_ void **ppVideoDecoderHeap); | ||
| 4633 | |||
| 4634 | DECLSPEC_XFGVIRT(ID3D12VideoDevice, CreateVideoProcessor) | ||
| 4635 | HRESULT ( STDMETHODCALLTYPE *CreateVideoProcessor )( | ||
| 4636 | ID3D12VideoDevice2 * This, | ||
| 4637 | UINT NodeMask, | ||
| 4638 | _In_ const D3D12_VIDEO_PROCESS_OUTPUT_STREAM_DESC *pOutputStreamDesc, | ||
| 4639 | UINT NumInputStreamDescs, | ||
| 4640 | _In_reads_(NumInputStreamDescs) const D3D12_VIDEO_PROCESS_INPUT_STREAM_DESC *pInputStreamDescs, | ||
| 4641 | _In_ REFIID riid, | ||
| 4642 | _COM_Outptr_ void **ppVideoProcessor); | ||
| 4643 | |||
| 4644 | DECLSPEC_XFGVIRT(ID3D12VideoDevice1, CreateVideoMotionEstimator) | ||
| 4645 | HRESULT ( STDMETHODCALLTYPE *CreateVideoMotionEstimator )( | ||
| 4646 | ID3D12VideoDevice2 * This, | ||
| 4647 | _In_ const D3D12_VIDEO_MOTION_ESTIMATOR_DESC *pDesc, | ||
| 4648 | _In_opt_ ID3D12ProtectedResourceSession *pProtectedResourceSession, | ||
| 4649 | _In_ REFIID riid, | ||
| 4650 | _COM_Outptr_ void **ppVideoMotionEstimator); | ||
| 4651 | |||
| 4652 | DECLSPEC_XFGVIRT(ID3D12VideoDevice1, CreateVideoMotionVectorHeap) | ||
| 4653 | HRESULT ( STDMETHODCALLTYPE *CreateVideoMotionVectorHeap )( | ||
| 4654 | ID3D12VideoDevice2 * This, | ||
| 4655 | _In_ const D3D12_VIDEO_MOTION_VECTOR_HEAP_DESC *pDesc, | ||
| 4656 | _In_opt_ ID3D12ProtectedResourceSession *pProtectedResourceSession, | ||
| 4657 | _In_ REFIID riid, | ||
| 4658 | _COM_Outptr_ void **ppVideoMotionVectorHeap); | ||
| 4659 | |||
| 4660 | DECLSPEC_XFGVIRT(ID3D12VideoDevice2, CreateVideoDecoder1) | ||
| 4661 | HRESULT ( STDMETHODCALLTYPE *CreateVideoDecoder1 )( | ||
| 4662 | ID3D12VideoDevice2 * This, | ||
| 4663 | _In_ const D3D12_VIDEO_DECODER_DESC *pDesc, | ||
| 4664 | _In_opt_ ID3D12ProtectedResourceSession *pProtectedResourceSession, | ||
| 4665 | _In_ REFIID riid, | ||
| 4666 | _COM_Outptr_ void **ppVideoDecoder); | ||
| 4667 | |||
| 4668 | DECLSPEC_XFGVIRT(ID3D12VideoDevice2, CreateVideoDecoderHeap1) | ||
| 4669 | HRESULT ( STDMETHODCALLTYPE *CreateVideoDecoderHeap1 )( | ||
| 4670 | ID3D12VideoDevice2 * This, | ||
| 4671 | _In_ const D3D12_VIDEO_DECODER_HEAP_DESC *pVideoDecoderHeapDesc, | ||
| 4672 | _In_opt_ ID3D12ProtectedResourceSession *pProtectedResourceSession, | ||
| 4673 | _In_ REFIID riid, | ||
| 4674 | _COM_Outptr_ void **ppVideoDecoderHeap); | ||
| 4675 | |||
| 4676 | DECLSPEC_XFGVIRT(ID3D12VideoDevice2, CreateVideoProcessor1) | ||
| 4677 | HRESULT ( STDMETHODCALLTYPE *CreateVideoProcessor1 )( | ||
| 4678 | ID3D12VideoDevice2 * This, | ||
| 4679 | UINT NodeMask, | ||
| 4680 | _In_ const D3D12_VIDEO_PROCESS_OUTPUT_STREAM_DESC *pOutputStreamDesc, | ||
| 4681 | UINT NumInputStreamDescs, | ||
| 4682 | _In_reads_(NumInputStreamDescs) const D3D12_VIDEO_PROCESS_INPUT_STREAM_DESC *pInputStreamDescs, | ||
| 4683 | _In_opt_ ID3D12ProtectedResourceSession *pProtectedResourceSession, | ||
| 4684 | _In_ REFIID riid, | ||
| 4685 | _COM_Outptr_ void **ppVideoProcessor); | ||
| 4686 | |||
| 4687 | DECLSPEC_XFGVIRT(ID3D12VideoDevice2, CreateVideoExtensionCommand) | ||
| 4688 | HRESULT ( STDMETHODCALLTYPE *CreateVideoExtensionCommand )( | ||
| 4689 | ID3D12VideoDevice2 * This, | ||
| 4690 | _In_ const D3D12_VIDEO_EXTENSION_COMMAND_DESC *pDesc, | ||
| 4691 | _In_reads_bytes_(CreationParametersDataSizeInBytes) const void *pCreationParameters, | ||
| 4692 | SIZE_T CreationParametersDataSizeInBytes, | ||
| 4693 | _In_opt_ ID3D12ProtectedResourceSession *pProtectedResourceSession, | ||
| 4694 | _In_ REFIID riid, | ||
| 4695 | _COM_Outptr_ void **ppVideoExtensionCommand); | ||
| 4696 | |||
| 4697 | DECLSPEC_XFGVIRT(ID3D12VideoDevice2, ExecuteExtensionCommand) | ||
| 4698 | HRESULT ( STDMETHODCALLTYPE *ExecuteExtensionCommand )( | ||
| 4699 | ID3D12VideoDevice2 * This, | ||
| 4700 | _In_ ID3D12VideoExtensionCommand *pExtensionCommand, | ||
| 4701 | _In_reads_bytes_(ExecutionParametersSizeInBytes) const void *pExecutionParameters, | ||
| 4702 | SIZE_T ExecutionParametersSizeInBytes, | ||
| 4703 | _Out_writes_bytes_(OutputDataSizeInBytes) void *pOutputData, | ||
| 4704 | SIZE_T OutputDataSizeInBytes); | ||
| 4705 | |||
| 4706 | END_INTERFACE | ||
| 4707 | } ID3D12VideoDevice2Vtbl; | ||
| 4708 | |||
| 4709 | interface ID3D12VideoDevice2 | ||
| 4710 | { | ||
| 4711 | CONST_VTBL struct ID3D12VideoDevice2Vtbl *lpVtbl; | ||
| 4712 | }; | ||
| 4713 | |||
| 4714 | |||
| 4715 | |||
| 4716 | #ifdef COBJMACROS | ||
| 4717 | |||
| 4718 | |||
| 4719 | #define ID3D12VideoDevice2_QueryInterface(This,riid,ppvObject) \ | ||
| 4720 | ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) | ||
| 4721 | |||
| 4722 | #define ID3D12VideoDevice2_AddRef(This) \ | ||
| 4723 | ( (This)->lpVtbl -> AddRef(This) ) | ||
| 4724 | |||
| 4725 | #define ID3D12VideoDevice2_Release(This) \ | ||
| 4726 | ( (This)->lpVtbl -> Release(This) ) | ||
| 4727 | |||
| 4728 | |||
| 4729 | #define ID3D12VideoDevice2_CheckFeatureSupport(This,FeatureVideo,pFeatureSupportData,FeatureSupportDataSize) \ | ||
| 4730 | ( (This)->lpVtbl -> CheckFeatureSupport(This,FeatureVideo,pFeatureSupportData,FeatureSupportDataSize) ) | ||
| 4731 | |||
| 4732 | #define ID3D12VideoDevice2_CreateVideoDecoder(This,pDesc,riid,ppVideoDecoder) \ | ||
| 4733 | ( (This)->lpVtbl -> CreateVideoDecoder(This,pDesc,riid,ppVideoDecoder) ) | ||
| 4734 | |||
| 4735 | #define ID3D12VideoDevice2_CreateVideoDecoderHeap(This,pVideoDecoderHeapDesc,riid,ppVideoDecoderHeap) \ | ||
| 4736 | ( (This)->lpVtbl -> CreateVideoDecoderHeap(This,pVideoDecoderHeapDesc,riid,ppVideoDecoderHeap) ) | ||
| 4737 | |||
| 4738 | #define ID3D12VideoDevice2_CreateVideoProcessor(This,NodeMask,pOutputStreamDesc,NumInputStreamDescs,pInputStreamDescs,riid,ppVideoProcessor) \ | ||
| 4739 | ( (This)->lpVtbl -> CreateVideoProcessor(This,NodeMask,pOutputStreamDesc,NumInputStreamDescs,pInputStreamDescs,riid,ppVideoProcessor) ) | ||
| 4740 | |||
| 4741 | |||
| 4742 | #define ID3D12VideoDevice2_CreateVideoMotionEstimator(This,pDesc,pProtectedResourceSession,riid,ppVideoMotionEstimator) \ | ||
| 4743 | ( (This)->lpVtbl -> CreateVideoMotionEstimator(This,pDesc,pProtectedResourceSession,riid,ppVideoMotionEstimator) ) | ||
| 4744 | |||
| 4745 | #define ID3D12VideoDevice2_CreateVideoMotionVectorHeap(This,pDesc,pProtectedResourceSession,riid,ppVideoMotionVectorHeap) \ | ||
| 4746 | ( (This)->lpVtbl -> CreateVideoMotionVectorHeap(This,pDesc,pProtectedResourceSession,riid,ppVideoMotionVectorHeap) ) | ||
| 4747 | |||
| 4748 | |||
| 4749 | #define ID3D12VideoDevice2_CreateVideoDecoder1(This,pDesc,pProtectedResourceSession,riid,ppVideoDecoder) \ | ||
| 4750 | ( (This)->lpVtbl -> CreateVideoDecoder1(This,pDesc,pProtectedResourceSession,riid,ppVideoDecoder) ) | ||
| 4751 | |||
| 4752 | #define ID3D12VideoDevice2_CreateVideoDecoderHeap1(This,pVideoDecoderHeapDesc,pProtectedResourceSession,riid,ppVideoDecoderHeap) \ | ||
| 4753 | ( (This)->lpVtbl -> CreateVideoDecoderHeap1(This,pVideoDecoderHeapDesc,pProtectedResourceSession,riid,ppVideoDecoderHeap) ) | ||
| 4754 | |||
| 4755 | #define ID3D12VideoDevice2_CreateVideoProcessor1(This,NodeMask,pOutputStreamDesc,NumInputStreamDescs,pInputStreamDescs,pProtectedResourceSession,riid,ppVideoProcessor) \ | ||
| 4756 | ( (This)->lpVtbl -> CreateVideoProcessor1(This,NodeMask,pOutputStreamDesc,NumInputStreamDescs,pInputStreamDescs,pProtectedResourceSession,riid,ppVideoProcessor) ) | ||
| 4757 | |||
| 4758 | #define ID3D12VideoDevice2_CreateVideoExtensionCommand(This,pDesc,pCreationParameters,CreationParametersDataSizeInBytes,pProtectedResourceSession,riid,ppVideoExtensionCommand) \ | ||
| 4759 | ( (This)->lpVtbl -> CreateVideoExtensionCommand(This,pDesc,pCreationParameters,CreationParametersDataSizeInBytes,pProtectedResourceSession,riid,ppVideoExtensionCommand) ) | ||
| 4760 | |||
| 4761 | #define ID3D12VideoDevice2_ExecuteExtensionCommand(This,pExtensionCommand,pExecutionParameters,ExecutionParametersSizeInBytes,pOutputData,OutputDataSizeInBytes) \ | ||
| 4762 | ( (This)->lpVtbl -> ExecuteExtensionCommand(This,pExtensionCommand,pExecutionParameters,ExecutionParametersSizeInBytes,pOutputData,OutputDataSizeInBytes) ) | ||
| 4763 | |||
| 4764 | #endif /* COBJMACROS */ | ||
| 4765 | |||
| 4766 | |||
| 4767 | #endif /* C style interface */ | ||
| 4768 | |||
| 4769 | |||
| 4770 | |||
| 4771 | |||
| 4772 | #endif /* __ID3D12VideoDevice2_INTERFACE_DEFINED__ */ | ||
| 4773 | |||
| 4774 | |||
| 4775 | #ifndef __ID3D12VideoDecodeCommandList2_INTERFACE_DEFINED__ | ||
| 4776 | #define __ID3D12VideoDecodeCommandList2_INTERFACE_DEFINED__ | ||
| 4777 | |||
| 4778 | /* interface ID3D12VideoDecodeCommandList2 */ | ||
| 4779 | /* [unique][local][object][uuid] */ | ||
| 4780 | |||
| 4781 | |||
| 4782 | EXTERN_C const IID IID_ID3D12VideoDecodeCommandList2; | ||
| 4783 | |||
| 4784 | #if defined(__cplusplus) && !defined(CINTERFACE) | ||
| 4785 | |||
| 4786 | MIDL_INTERFACE("6e120880-c114-4153-8036-d247051e1729") | ||
| 4787 | ID3D12VideoDecodeCommandList2 : public ID3D12VideoDecodeCommandList1 | ||
| 4788 | { | ||
| 4789 | public: | ||
| 4790 | virtual void STDMETHODCALLTYPE SetProtectedResourceSession( | ||
| 4791 | _In_opt_ ID3D12ProtectedResourceSession *pProtectedResourceSession) = 0; | ||
| 4792 | |||
| 4793 | virtual void STDMETHODCALLTYPE InitializeExtensionCommand( | ||
| 4794 | _In_ ID3D12VideoExtensionCommand *pExtensionCommand, | ||
| 4795 | _In_reads_bytes_(InitializationParametersSizeInBytes) const void *pInitializationParameters, | ||
| 4796 | SIZE_T InitializationParametersSizeInBytes) = 0; | ||
| 4797 | |||
| 4798 | virtual void STDMETHODCALLTYPE ExecuteExtensionCommand( | ||
| 4799 | _In_ ID3D12VideoExtensionCommand *pExtensionCommand, | ||
| 4800 | _In_reads_bytes_(ExecutionParametersSizeInBytes) const void *pExecutionParameters, | ||
| 4801 | SIZE_T ExecutionParametersSizeInBytes) = 0; | ||
| 4802 | |||
| 4803 | }; | ||
| 4804 | |||
| 4805 | |||
| 4806 | #else /* C style interface */ | ||
| 4807 | |||
| 4808 | typedef struct ID3D12VideoDecodeCommandList2Vtbl | ||
| 4809 | { | ||
| 4810 | BEGIN_INTERFACE | ||
| 4811 | |||
| 4812 | DECLSPEC_XFGVIRT(IUnknown, QueryInterface) | ||
| 4813 | HRESULT ( STDMETHODCALLTYPE *QueryInterface )( | ||
| 4814 | ID3D12VideoDecodeCommandList2 * This, | ||
| 4815 | REFIID riid, | ||
| 4816 | _COM_Outptr_ void **ppvObject); | ||
| 4817 | |||
| 4818 | DECLSPEC_XFGVIRT(IUnknown, AddRef) | ||
| 4819 | ULONG ( STDMETHODCALLTYPE *AddRef )( | ||
| 4820 | ID3D12VideoDecodeCommandList2 * This); | ||
| 4821 | |||
| 4822 | DECLSPEC_XFGVIRT(IUnknown, Release) | ||
| 4823 | ULONG ( STDMETHODCALLTYPE *Release )( | ||
| 4824 | ID3D12VideoDecodeCommandList2 * This); | ||
| 4825 | |||
| 4826 | DECLSPEC_XFGVIRT(ID3D12Object, GetPrivateData) | ||
| 4827 | HRESULT ( STDMETHODCALLTYPE *GetPrivateData )( | ||
| 4828 | ID3D12VideoDecodeCommandList2 * This, | ||
| 4829 | _In_ REFGUID guid, | ||
| 4830 | _Inout_ UINT *pDataSize, | ||
| 4831 | _Out_writes_bytes_opt_( *pDataSize ) void *pData); | ||
| 4832 | |||
| 4833 | DECLSPEC_XFGVIRT(ID3D12Object, SetPrivateData) | ||
| 4834 | HRESULT ( STDMETHODCALLTYPE *SetPrivateData )( | ||
| 4835 | ID3D12VideoDecodeCommandList2 * This, | ||
| 4836 | _In_ REFGUID guid, | ||
| 4837 | _In_ UINT DataSize, | ||
| 4838 | _In_reads_bytes_opt_( DataSize ) const void *pData); | ||
| 4839 | |||
| 4840 | DECLSPEC_XFGVIRT(ID3D12Object, SetPrivateDataInterface) | ||
| 4841 | HRESULT ( STDMETHODCALLTYPE *SetPrivateDataInterface )( | ||
| 4842 | ID3D12VideoDecodeCommandList2 * This, | ||
| 4843 | _In_ REFGUID guid, | ||
| 4844 | _In_opt_ const IUnknown *pData); | ||
| 4845 | |||
| 4846 | DECLSPEC_XFGVIRT(ID3D12Object, SetName) | ||
| 4847 | HRESULT ( STDMETHODCALLTYPE *SetName )( | ||
| 4848 | ID3D12VideoDecodeCommandList2 * This, | ||
| 4849 | _In_z_ LPCWSTR Name); | ||
| 4850 | |||
| 4851 | DECLSPEC_XFGVIRT(ID3D12DeviceChild, GetDevice) | ||
| 4852 | HRESULT ( STDMETHODCALLTYPE *GetDevice )( | ||
| 4853 | ID3D12VideoDecodeCommandList2 * This, | ||
| 4854 | REFIID riid, | ||
| 4855 | _COM_Outptr_opt_ void **ppvDevice); | ||
| 4856 | |||
| 4857 | DECLSPEC_XFGVIRT(ID3D12CommandList, GetType) | ||
| 4858 | D3D12_COMMAND_LIST_TYPE ( STDMETHODCALLTYPE *GetType )( | ||
| 4859 | ID3D12VideoDecodeCommandList2 * This); | ||
| 4860 | |||
| 4861 | DECLSPEC_XFGVIRT(ID3D12VideoDecodeCommandList, Close) | ||
| 4862 | HRESULT ( STDMETHODCALLTYPE *Close )( | ||
| 4863 | ID3D12VideoDecodeCommandList2 * This); | ||
| 4864 | |||
| 4865 | DECLSPEC_XFGVIRT(ID3D12VideoDecodeCommandList, Reset) | ||
| 4866 | HRESULT ( STDMETHODCALLTYPE *Reset )( | ||
| 4867 | ID3D12VideoDecodeCommandList2 * This, | ||
| 4868 | _In_ ID3D12CommandAllocator *pAllocator); | ||
| 4869 | |||
| 4870 | DECLSPEC_XFGVIRT(ID3D12VideoDecodeCommandList, ClearState) | ||
| 4871 | void ( STDMETHODCALLTYPE *ClearState )( | ||
| 4872 | ID3D12VideoDecodeCommandList2 * This); | ||
| 4873 | |||
| 4874 | DECLSPEC_XFGVIRT(ID3D12VideoDecodeCommandList, ResourceBarrier) | ||
| 4875 | void ( STDMETHODCALLTYPE *ResourceBarrier )( | ||
| 4876 | ID3D12VideoDecodeCommandList2 * This, | ||
| 4877 | _In_ UINT NumBarriers, | ||
| 4878 | _In_reads_(NumBarriers) const D3D12_RESOURCE_BARRIER *pBarriers); | ||
| 4879 | |||
| 4880 | DECLSPEC_XFGVIRT(ID3D12VideoDecodeCommandList, DiscardResource) | ||
| 4881 | void ( STDMETHODCALLTYPE *DiscardResource )( | ||
| 4882 | ID3D12VideoDecodeCommandList2 * This, | ||
| 4883 | _In_ ID3D12Resource *pResource, | ||
| 4884 | _In_opt_ const D3D12_DISCARD_REGION *pRegion); | ||
| 4885 | |||
| 4886 | DECLSPEC_XFGVIRT(ID3D12VideoDecodeCommandList, BeginQuery) | ||
| 4887 | void ( STDMETHODCALLTYPE *BeginQuery )( | ||
| 4888 | ID3D12VideoDecodeCommandList2 * This, | ||
| 4889 | _In_ ID3D12QueryHeap *pQueryHeap, | ||
| 4890 | _In_ D3D12_QUERY_TYPE Type, | ||
| 4891 | _In_ UINT Index); | ||
| 4892 | |||
| 4893 | DECLSPEC_XFGVIRT(ID3D12VideoDecodeCommandList, EndQuery) | ||
| 4894 | void ( STDMETHODCALLTYPE *EndQuery )( | ||
| 4895 | ID3D12VideoDecodeCommandList2 * This, | ||
| 4896 | _In_ ID3D12QueryHeap *pQueryHeap, | ||
| 4897 | _In_ D3D12_QUERY_TYPE Type, | ||
| 4898 | _In_ UINT Index); | ||
| 4899 | |||
| 4900 | DECLSPEC_XFGVIRT(ID3D12VideoDecodeCommandList, ResolveQueryData) | ||
| 4901 | void ( STDMETHODCALLTYPE *ResolveQueryData )( | ||
| 4902 | ID3D12VideoDecodeCommandList2 * This, | ||
| 4903 | _In_ ID3D12QueryHeap *pQueryHeap, | ||
| 4904 | _In_ D3D12_QUERY_TYPE Type, | ||
| 4905 | _In_ UINT StartIndex, | ||
| 4906 | _In_ UINT NumQueries, | ||
| 4907 | _In_ ID3D12Resource *pDestinationBuffer, | ||
| 4908 | _In_ UINT64 AlignedDestinationBufferOffset); | ||
| 4909 | |||
| 4910 | DECLSPEC_XFGVIRT(ID3D12VideoDecodeCommandList, SetPredication) | ||
| 4911 | void ( STDMETHODCALLTYPE *SetPredication )( | ||
| 4912 | ID3D12VideoDecodeCommandList2 * This, | ||
| 4913 | _In_opt_ ID3D12Resource *pBuffer, | ||
| 4914 | _In_ UINT64 AlignedBufferOffset, | ||
| 4915 | _In_ D3D12_PREDICATION_OP Operation); | ||
| 4916 | |||
| 4917 | DECLSPEC_XFGVIRT(ID3D12VideoDecodeCommandList, SetMarker) | ||
| 4918 | void ( STDMETHODCALLTYPE *SetMarker )( | ||
| 4919 | ID3D12VideoDecodeCommandList2 * This, | ||
| 4920 | UINT Metadata, | ||
| 4921 | _In_reads_bytes_opt_(Size) const void *pData, | ||
| 4922 | UINT Size); | ||
| 4923 | |||
| 4924 | DECLSPEC_XFGVIRT(ID3D12VideoDecodeCommandList, BeginEvent) | ||
| 4925 | void ( STDMETHODCALLTYPE *BeginEvent )( | ||
| 4926 | ID3D12VideoDecodeCommandList2 * This, | ||
| 4927 | UINT Metadata, | ||
| 4928 | _In_reads_bytes_opt_(Size) const void *pData, | ||
| 4929 | UINT Size); | ||
| 4930 | |||
| 4931 | DECLSPEC_XFGVIRT(ID3D12VideoDecodeCommandList, EndEvent) | ||
| 4932 | void ( STDMETHODCALLTYPE *EndEvent )( | ||
| 4933 | ID3D12VideoDecodeCommandList2 * This); | ||
| 4934 | |||
| 4935 | DECLSPEC_XFGVIRT(ID3D12VideoDecodeCommandList, DecodeFrame) | ||
| 4936 | void ( STDMETHODCALLTYPE *DecodeFrame )( | ||
| 4937 | ID3D12VideoDecodeCommandList2 * This, | ||
| 4938 | _In_ ID3D12VideoDecoder *pDecoder, | ||
| 4939 | _In_ const D3D12_VIDEO_DECODE_OUTPUT_STREAM_ARGUMENTS *pOutputArguments, | ||
| 4940 | _In_ const D3D12_VIDEO_DECODE_INPUT_STREAM_ARGUMENTS *pInputArguments); | ||
| 4941 | |||
| 4942 | DECLSPEC_XFGVIRT(ID3D12VideoDecodeCommandList, WriteBufferImmediate) | ||
| 4943 | void ( STDMETHODCALLTYPE *WriteBufferImmediate )( | ||
| 4944 | ID3D12VideoDecodeCommandList2 * This, | ||
| 4945 | UINT Count, | ||
| 4946 | _In_reads_(Count) const D3D12_WRITEBUFFERIMMEDIATE_PARAMETER *pParams, | ||
| 4947 | _In_reads_opt_(Count) const D3D12_WRITEBUFFERIMMEDIATE_MODE *pModes); | ||
| 4948 | |||
| 4949 | DECLSPEC_XFGVIRT(ID3D12VideoDecodeCommandList1, DecodeFrame1) | ||
| 4950 | void ( STDMETHODCALLTYPE *DecodeFrame1 )( | ||
| 4951 | ID3D12VideoDecodeCommandList2 * This, | ||
| 4952 | _In_ ID3D12VideoDecoder *pDecoder, | ||
| 4953 | _In_ const D3D12_VIDEO_DECODE_OUTPUT_STREAM_ARGUMENTS1 *pOutputArguments, | ||
| 4954 | _In_ const D3D12_VIDEO_DECODE_INPUT_STREAM_ARGUMENTS *pInputArguments); | ||
| 4955 | |||
| 4956 | DECLSPEC_XFGVIRT(ID3D12VideoDecodeCommandList2, SetProtectedResourceSession) | ||
| 4957 | void ( STDMETHODCALLTYPE *SetProtectedResourceSession )( | ||
| 4958 | ID3D12VideoDecodeCommandList2 * This, | ||
| 4959 | _In_opt_ ID3D12ProtectedResourceSession *pProtectedResourceSession); | ||
| 4960 | |||
| 4961 | DECLSPEC_XFGVIRT(ID3D12VideoDecodeCommandList2, InitializeExtensionCommand) | ||
| 4962 | void ( STDMETHODCALLTYPE *InitializeExtensionCommand )( | ||
| 4963 | ID3D12VideoDecodeCommandList2 * This, | ||
| 4964 | _In_ ID3D12VideoExtensionCommand *pExtensionCommand, | ||
| 4965 | _In_reads_bytes_(InitializationParametersSizeInBytes) const void *pInitializationParameters, | ||
| 4966 | SIZE_T InitializationParametersSizeInBytes); | ||
| 4967 | |||
| 4968 | DECLSPEC_XFGVIRT(ID3D12VideoDecodeCommandList2, ExecuteExtensionCommand) | ||
| 4969 | void ( STDMETHODCALLTYPE *ExecuteExtensionCommand )( | ||
| 4970 | ID3D12VideoDecodeCommandList2 * This, | ||
| 4971 | _In_ ID3D12VideoExtensionCommand *pExtensionCommand, | ||
| 4972 | _In_reads_bytes_(ExecutionParametersSizeInBytes) const void *pExecutionParameters, | ||
| 4973 | SIZE_T ExecutionParametersSizeInBytes); | ||
| 4974 | |||
| 4975 | END_INTERFACE | ||
| 4976 | } ID3D12VideoDecodeCommandList2Vtbl; | ||
| 4977 | |||
| 4978 | interface ID3D12VideoDecodeCommandList2 | ||
| 4979 | { | ||
| 4980 | CONST_VTBL struct ID3D12VideoDecodeCommandList2Vtbl *lpVtbl; | ||
| 4981 | }; | ||
| 4982 | |||
| 4983 | |||
| 4984 | |||
| 4985 | #ifdef COBJMACROS | ||
| 4986 | |||
| 4987 | |||
| 4988 | #define ID3D12VideoDecodeCommandList2_QueryInterface(This,riid,ppvObject) \ | ||
| 4989 | ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) | ||
| 4990 | |||
| 4991 | #define ID3D12VideoDecodeCommandList2_AddRef(This) \ | ||
| 4992 | ( (This)->lpVtbl -> AddRef(This) ) | ||
| 4993 | |||
| 4994 | #define ID3D12VideoDecodeCommandList2_Release(This) \ | ||
| 4995 | ( (This)->lpVtbl -> Release(This) ) | ||
| 4996 | |||
| 4997 | |||
| 4998 | #define ID3D12VideoDecodeCommandList2_GetPrivateData(This,guid,pDataSize,pData) \ | ||
| 4999 | ( (This)->lpVtbl -> GetPrivateData(This,guid,pDataSize,pData) ) | ||
| 5000 | |||
| 5001 | #define ID3D12VideoDecodeCommandList2_SetPrivateData(This,guid,DataSize,pData) \ | ||
| 5002 | ( (This)->lpVtbl -> SetPrivateData(This,guid,DataSize,pData) ) | ||
| 5003 | |||
| 5004 | #define ID3D12VideoDecodeCommandList2_SetPrivateDataInterface(This,guid,pData) \ | ||
| 5005 | ( (This)->lpVtbl -> SetPrivateDataInterface(This,guid,pData) ) | ||
| 5006 | |||
| 5007 | #define ID3D12VideoDecodeCommandList2_SetName(This,Name) \ | ||
| 5008 | ( (This)->lpVtbl -> SetName(This,Name) ) | ||
| 5009 | |||
| 5010 | |||
| 5011 | #define ID3D12VideoDecodeCommandList2_GetDevice(This,riid,ppvDevice) \ | ||
| 5012 | ( (This)->lpVtbl -> GetDevice(This,riid,ppvDevice) ) | ||
| 5013 | |||
| 5014 | |||
| 5015 | #define ID3D12VideoDecodeCommandList2_GetType(This) \ | ||
| 5016 | ( (This)->lpVtbl -> GetType(This) ) | ||
| 5017 | |||
| 5018 | |||
| 5019 | #define ID3D12VideoDecodeCommandList2_Close(This) \ | ||
| 5020 | ( (This)->lpVtbl -> Close(This) ) | ||
| 5021 | |||
| 5022 | #define ID3D12VideoDecodeCommandList2_Reset(This,pAllocator) \ | ||
| 5023 | ( (This)->lpVtbl -> Reset(This,pAllocator) ) | ||
| 5024 | |||
| 5025 | #define ID3D12VideoDecodeCommandList2_ClearState(This) \ | ||
| 5026 | ( (This)->lpVtbl -> ClearState(This) ) | ||
| 5027 | |||
| 5028 | #define ID3D12VideoDecodeCommandList2_ResourceBarrier(This,NumBarriers,pBarriers) \ | ||
| 5029 | ( (This)->lpVtbl -> ResourceBarrier(This,NumBarriers,pBarriers) ) | ||
| 5030 | |||
| 5031 | #define ID3D12VideoDecodeCommandList2_DiscardResource(This,pResource,pRegion) \ | ||
| 5032 | ( (This)->lpVtbl -> DiscardResource(This,pResource,pRegion) ) | ||
| 5033 | |||
| 5034 | #define ID3D12VideoDecodeCommandList2_BeginQuery(This,pQueryHeap,Type,Index) \ | ||
| 5035 | ( (This)->lpVtbl -> BeginQuery(This,pQueryHeap,Type,Index) ) | ||
| 5036 | |||
| 5037 | #define ID3D12VideoDecodeCommandList2_EndQuery(This,pQueryHeap,Type,Index) \ | ||
| 5038 | ( (This)->lpVtbl -> EndQuery(This,pQueryHeap,Type,Index) ) | ||
| 5039 | |||
| 5040 | #define ID3D12VideoDecodeCommandList2_ResolveQueryData(This,pQueryHeap,Type,StartIndex,NumQueries,pDestinationBuffer,AlignedDestinationBufferOffset) \ | ||
| 5041 | ( (This)->lpVtbl -> ResolveQueryData(This,pQueryHeap,Type,StartIndex,NumQueries,pDestinationBuffer,AlignedDestinationBufferOffset) ) | ||
| 5042 | |||
| 5043 | #define ID3D12VideoDecodeCommandList2_SetPredication(This,pBuffer,AlignedBufferOffset,Operation) \ | ||
| 5044 | ( (This)->lpVtbl -> SetPredication(This,pBuffer,AlignedBufferOffset,Operation) ) | ||
| 5045 | |||
| 5046 | #define ID3D12VideoDecodeCommandList2_SetMarker(This,Metadata,pData,Size) \ | ||
| 5047 | ( (This)->lpVtbl -> SetMarker(This,Metadata,pData,Size) ) | ||
| 5048 | |||
| 5049 | #define ID3D12VideoDecodeCommandList2_BeginEvent(This,Metadata,pData,Size) \ | ||
| 5050 | ( (This)->lpVtbl -> BeginEvent(This,Metadata,pData,Size) ) | ||
| 5051 | |||
| 5052 | #define ID3D12VideoDecodeCommandList2_EndEvent(This) \ | ||
| 5053 | ( (This)->lpVtbl -> EndEvent(This) ) | ||
| 5054 | |||
| 5055 | #define ID3D12VideoDecodeCommandList2_DecodeFrame(This,pDecoder,pOutputArguments,pInputArguments) \ | ||
| 5056 | ( (This)->lpVtbl -> DecodeFrame(This,pDecoder,pOutputArguments,pInputArguments) ) | ||
| 5057 | |||
| 5058 | #define ID3D12VideoDecodeCommandList2_WriteBufferImmediate(This,Count,pParams,pModes) \ | ||
| 5059 | ( (This)->lpVtbl -> WriteBufferImmediate(This,Count,pParams,pModes) ) | ||
| 5060 | |||
| 5061 | |||
| 5062 | #define ID3D12VideoDecodeCommandList2_DecodeFrame1(This,pDecoder,pOutputArguments,pInputArguments) \ | ||
| 5063 | ( (This)->lpVtbl -> DecodeFrame1(This,pDecoder,pOutputArguments,pInputArguments) ) | ||
| 5064 | |||
| 5065 | |||
| 5066 | #define ID3D12VideoDecodeCommandList2_SetProtectedResourceSession(This,pProtectedResourceSession) \ | ||
| 5067 | ( (This)->lpVtbl -> SetProtectedResourceSession(This,pProtectedResourceSession) ) | ||
| 5068 | |||
| 5069 | #define ID3D12VideoDecodeCommandList2_InitializeExtensionCommand(This,pExtensionCommand,pInitializationParameters,InitializationParametersSizeInBytes) \ | ||
| 5070 | ( (This)->lpVtbl -> InitializeExtensionCommand(This,pExtensionCommand,pInitializationParameters,InitializationParametersSizeInBytes) ) | ||
| 5071 | |||
| 5072 | #define ID3D12VideoDecodeCommandList2_ExecuteExtensionCommand(This,pExtensionCommand,pExecutionParameters,ExecutionParametersSizeInBytes) \ | ||
| 5073 | ( (This)->lpVtbl -> ExecuteExtensionCommand(This,pExtensionCommand,pExecutionParameters,ExecutionParametersSizeInBytes) ) | ||
| 5074 | |||
| 5075 | #endif /* COBJMACROS */ | ||
| 5076 | |||
| 5077 | |||
| 5078 | #endif /* C style interface */ | ||
| 5079 | |||
| 5080 | |||
| 5081 | |||
| 5082 | |||
| 5083 | #endif /* __ID3D12VideoDecodeCommandList2_INTERFACE_DEFINED__ */ | ||
| 5084 | |||
| 5085 | |||
| 5086 | #ifndef __ID3D12VideoDecodeCommandList3_INTERFACE_DEFINED__ | ||
| 5087 | #define __ID3D12VideoDecodeCommandList3_INTERFACE_DEFINED__ | ||
| 5088 | |||
| 5089 | /* interface ID3D12VideoDecodeCommandList3 */ | ||
| 5090 | /* [unique][local][object][uuid] */ | ||
| 5091 | |||
| 5092 | |||
| 5093 | EXTERN_C const IID IID_ID3D12VideoDecodeCommandList3; | ||
| 5094 | |||
| 5095 | #if defined(__cplusplus) && !defined(CINTERFACE) | ||
| 5096 | |||
| 5097 | MIDL_INTERFACE("2aee8c37-9562-42da-8abf-61efeb2e4513") | ||
| 5098 | ID3D12VideoDecodeCommandList3 : public ID3D12VideoDecodeCommandList2 | ||
| 5099 | { | ||
| 5100 | public: | ||
| 5101 | virtual void STDMETHODCALLTYPE Barrier( | ||
| 5102 | UINT32 NumBarrierGroups, | ||
| 5103 | _In_reads_(NumBarrierGroups) const D3D12_BARRIER_GROUP *pBarrierGroups) = 0; | ||
| 5104 | |||
| 5105 | }; | ||
| 5106 | |||
| 5107 | |||
| 5108 | #else /* C style interface */ | ||
| 5109 | |||
| 5110 | typedef struct ID3D12VideoDecodeCommandList3Vtbl | ||
| 5111 | { | ||
| 5112 | BEGIN_INTERFACE | ||
| 5113 | |||
| 5114 | DECLSPEC_XFGVIRT(IUnknown, QueryInterface) | ||
| 5115 | HRESULT ( STDMETHODCALLTYPE *QueryInterface )( | ||
| 5116 | ID3D12VideoDecodeCommandList3 * This, | ||
| 5117 | REFIID riid, | ||
| 5118 | _COM_Outptr_ void **ppvObject); | ||
| 5119 | |||
| 5120 | DECLSPEC_XFGVIRT(IUnknown, AddRef) | ||
| 5121 | ULONG ( STDMETHODCALLTYPE *AddRef )( | ||
| 5122 | ID3D12VideoDecodeCommandList3 * This); | ||
| 5123 | |||
| 5124 | DECLSPEC_XFGVIRT(IUnknown, Release) | ||
| 5125 | ULONG ( STDMETHODCALLTYPE *Release )( | ||
| 5126 | ID3D12VideoDecodeCommandList3 * This); | ||
| 5127 | |||
| 5128 | DECLSPEC_XFGVIRT(ID3D12Object, GetPrivateData) | ||
| 5129 | HRESULT ( STDMETHODCALLTYPE *GetPrivateData )( | ||
| 5130 | ID3D12VideoDecodeCommandList3 * This, | ||
| 5131 | _In_ REFGUID guid, | ||
| 5132 | _Inout_ UINT *pDataSize, | ||
| 5133 | _Out_writes_bytes_opt_( *pDataSize ) void *pData); | ||
| 5134 | |||
| 5135 | DECLSPEC_XFGVIRT(ID3D12Object, SetPrivateData) | ||
| 5136 | HRESULT ( STDMETHODCALLTYPE *SetPrivateData )( | ||
| 5137 | ID3D12VideoDecodeCommandList3 * This, | ||
| 5138 | _In_ REFGUID guid, | ||
| 5139 | _In_ UINT DataSize, | ||
| 5140 | _In_reads_bytes_opt_( DataSize ) const void *pData); | ||
| 5141 | |||
| 5142 | DECLSPEC_XFGVIRT(ID3D12Object, SetPrivateDataInterface) | ||
| 5143 | HRESULT ( STDMETHODCALLTYPE *SetPrivateDataInterface )( | ||
| 5144 | ID3D12VideoDecodeCommandList3 * This, | ||
| 5145 | _In_ REFGUID guid, | ||
| 5146 | _In_opt_ const IUnknown *pData); | ||
| 5147 | |||
| 5148 | DECLSPEC_XFGVIRT(ID3D12Object, SetName) | ||
| 5149 | HRESULT ( STDMETHODCALLTYPE *SetName )( | ||
| 5150 | ID3D12VideoDecodeCommandList3 * This, | ||
| 5151 | _In_z_ LPCWSTR Name); | ||
| 5152 | |||
| 5153 | DECLSPEC_XFGVIRT(ID3D12DeviceChild, GetDevice) | ||
| 5154 | HRESULT ( STDMETHODCALLTYPE *GetDevice )( | ||
| 5155 | ID3D12VideoDecodeCommandList3 * This, | ||
| 5156 | REFIID riid, | ||
| 5157 | _COM_Outptr_opt_ void **ppvDevice); | ||
| 5158 | |||
| 5159 | DECLSPEC_XFGVIRT(ID3D12CommandList, GetType) | ||
| 5160 | D3D12_COMMAND_LIST_TYPE ( STDMETHODCALLTYPE *GetType )( | ||
| 5161 | ID3D12VideoDecodeCommandList3 * This); | ||
| 5162 | |||
| 5163 | DECLSPEC_XFGVIRT(ID3D12VideoDecodeCommandList, Close) | ||
| 5164 | HRESULT ( STDMETHODCALLTYPE *Close )( | ||
| 5165 | ID3D12VideoDecodeCommandList3 * This); | ||
| 5166 | |||
| 5167 | DECLSPEC_XFGVIRT(ID3D12VideoDecodeCommandList, Reset) | ||
| 5168 | HRESULT ( STDMETHODCALLTYPE *Reset )( | ||
| 5169 | ID3D12VideoDecodeCommandList3 * This, | ||
| 5170 | _In_ ID3D12CommandAllocator *pAllocator); | ||
| 5171 | |||
| 5172 | DECLSPEC_XFGVIRT(ID3D12VideoDecodeCommandList, ClearState) | ||
| 5173 | void ( STDMETHODCALLTYPE *ClearState )( | ||
| 5174 | ID3D12VideoDecodeCommandList3 * This); | ||
| 5175 | |||
| 5176 | DECLSPEC_XFGVIRT(ID3D12VideoDecodeCommandList, ResourceBarrier) | ||
| 5177 | void ( STDMETHODCALLTYPE *ResourceBarrier )( | ||
| 5178 | ID3D12VideoDecodeCommandList3 * This, | ||
| 5179 | _In_ UINT NumBarriers, | ||
| 5180 | _In_reads_(NumBarriers) const D3D12_RESOURCE_BARRIER *pBarriers); | ||
| 5181 | |||
| 5182 | DECLSPEC_XFGVIRT(ID3D12VideoDecodeCommandList, DiscardResource) | ||
| 5183 | void ( STDMETHODCALLTYPE *DiscardResource )( | ||
| 5184 | ID3D12VideoDecodeCommandList3 * This, | ||
| 5185 | _In_ ID3D12Resource *pResource, | ||
| 5186 | _In_opt_ const D3D12_DISCARD_REGION *pRegion); | ||
| 5187 | |||
| 5188 | DECLSPEC_XFGVIRT(ID3D12VideoDecodeCommandList, BeginQuery) | ||
| 5189 | void ( STDMETHODCALLTYPE *BeginQuery )( | ||
| 5190 | ID3D12VideoDecodeCommandList3 * This, | ||
| 5191 | _In_ ID3D12QueryHeap *pQueryHeap, | ||
| 5192 | _In_ D3D12_QUERY_TYPE Type, | ||
| 5193 | _In_ UINT Index); | ||
| 5194 | |||
| 5195 | DECLSPEC_XFGVIRT(ID3D12VideoDecodeCommandList, EndQuery) | ||
| 5196 | void ( STDMETHODCALLTYPE *EndQuery )( | ||
| 5197 | ID3D12VideoDecodeCommandList3 * This, | ||
| 5198 | _In_ ID3D12QueryHeap *pQueryHeap, | ||
| 5199 | _In_ D3D12_QUERY_TYPE Type, | ||
| 5200 | _In_ UINT Index); | ||
| 5201 | |||
| 5202 | DECLSPEC_XFGVIRT(ID3D12VideoDecodeCommandList, ResolveQueryData) | ||
| 5203 | void ( STDMETHODCALLTYPE *ResolveQueryData )( | ||
| 5204 | ID3D12VideoDecodeCommandList3 * This, | ||
| 5205 | _In_ ID3D12QueryHeap *pQueryHeap, | ||
| 5206 | _In_ D3D12_QUERY_TYPE Type, | ||
| 5207 | _In_ UINT StartIndex, | ||
| 5208 | _In_ UINT NumQueries, | ||
| 5209 | _In_ ID3D12Resource *pDestinationBuffer, | ||
| 5210 | _In_ UINT64 AlignedDestinationBufferOffset); | ||
| 5211 | |||
| 5212 | DECLSPEC_XFGVIRT(ID3D12VideoDecodeCommandList, SetPredication) | ||
| 5213 | void ( STDMETHODCALLTYPE *SetPredication )( | ||
| 5214 | ID3D12VideoDecodeCommandList3 * This, | ||
| 5215 | _In_opt_ ID3D12Resource *pBuffer, | ||
| 5216 | _In_ UINT64 AlignedBufferOffset, | ||
| 5217 | _In_ D3D12_PREDICATION_OP Operation); | ||
| 5218 | |||
| 5219 | DECLSPEC_XFGVIRT(ID3D12VideoDecodeCommandList, SetMarker) | ||
| 5220 | void ( STDMETHODCALLTYPE *SetMarker )( | ||
| 5221 | ID3D12VideoDecodeCommandList3 * This, | ||
| 5222 | UINT Metadata, | ||
| 5223 | _In_reads_bytes_opt_(Size) const void *pData, | ||
| 5224 | UINT Size); | ||
| 5225 | |||
| 5226 | DECLSPEC_XFGVIRT(ID3D12VideoDecodeCommandList, BeginEvent) | ||
| 5227 | void ( STDMETHODCALLTYPE *BeginEvent )( | ||
| 5228 | ID3D12VideoDecodeCommandList3 * This, | ||
| 5229 | UINT Metadata, | ||
| 5230 | _In_reads_bytes_opt_(Size) const void *pData, | ||
| 5231 | UINT Size); | ||
| 5232 | |||
| 5233 | DECLSPEC_XFGVIRT(ID3D12VideoDecodeCommandList, EndEvent) | ||
| 5234 | void ( STDMETHODCALLTYPE *EndEvent )( | ||
| 5235 | ID3D12VideoDecodeCommandList3 * This); | ||
| 5236 | |||
| 5237 | DECLSPEC_XFGVIRT(ID3D12VideoDecodeCommandList, DecodeFrame) | ||
| 5238 | void ( STDMETHODCALLTYPE *DecodeFrame )( | ||
| 5239 | ID3D12VideoDecodeCommandList3 * This, | ||
| 5240 | _In_ ID3D12VideoDecoder *pDecoder, | ||
| 5241 | _In_ const D3D12_VIDEO_DECODE_OUTPUT_STREAM_ARGUMENTS *pOutputArguments, | ||
| 5242 | _In_ const D3D12_VIDEO_DECODE_INPUT_STREAM_ARGUMENTS *pInputArguments); | ||
| 5243 | |||
| 5244 | DECLSPEC_XFGVIRT(ID3D12VideoDecodeCommandList, WriteBufferImmediate) | ||
| 5245 | void ( STDMETHODCALLTYPE *WriteBufferImmediate )( | ||
| 5246 | ID3D12VideoDecodeCommandList3 * This, | ||
| 5247 | UINT Count, | ||
| 5248 | _In_reads_(Count) const D3D12_WRITEBUFFERIMMEDIATE_PARAMETER *pParams, | ||
| 5249 | _In_reads_opt_(Count) const D3D12_WRITEBUFFERIMMEDIATE_MODE *pModes); | ||
| 5250 | |||
| 5251 | DECLSPEC_XFGVIRT(ID3D12VideoDecodeCommandList1, DecodeFrame1) | ||
| 5252 | void ( STDMETHODCALLTYPE *DecodeFrame1 )( | ||
| 5253 | ID3D12VideoDecodeCommandList3 * This, | ||
| 5254 | _In_ ID3D12VideoDecoder *pDecoder, | ||
| 5255 | _In_ const D3D12_VIDEO_DECODE_OUTPUT_STREAM_ARGUMENTS1 *pOutputArguments, | ||
| 5256 | _In_ const D3D12_VIDEO_DECODE_INPUT_STREAM_ARGUMENTS *pInputArguments); | ||
| 5257 | |||
| 5258 | DECLSPEC_XFGVIRT(ID3D12VideoDecodeCommandList2, SetProtectedResourceSession) | ||
| 5259 | void ( STDMETHODCALLTYPE *SetProtectedResourceSession )( | ||
| 5260 | ID3D12VideoDecodeCommandList3 * This, | ||
| 5261 | _In_opt_ ID3D12ProtectedResourceSession *pProtectedResourceSession); | ||
| 5262 | |||
| 5263 | DECLSPEC_XFGVIRT(ID3D12VideoDecodeCommandList2, InitializeExtensionCommand) | ||
| 5264 | void ( STDMETHODCALLTYPE *InitializeExtensionCommand )( | ||
| 5265 | ID3D12VideoDecodeCommandList3 * This, | ||
| 5266 | _In_ ID3D12VideoExtensionCommand *pExtensionCommand, | ||
| 5267 | _In_reads_bytes_(InitializationParametersSizeInBytes) const void *pInitializationParameters, | ||
| 5268 | SIZE_T InitializationParametersSizeInBytes); | ||
| 5269 | |||
| 5270 | DECLSPEC_XFGVIRT(ID3D12VideoDecodeCommandList2, ExecuteExtensionCommand) | ||
| 5271 | void ( STDMETHODCALLTYPE *ExecuteExtensionCommand )( | ||
| 5272 | ID3D12VideoDecodeCommandList3 * This, | ||
| 5273 | _In_ ID3D12VideoExtensionCommand *pExtensionCommand, | ||
| 5274 | _In_reads_bytes_(ExecutionParametersSizeInBytes) const void *pExecutionParameters, | ||
| 5275 | SIZE_T ExecutionParametersSizeInBytes); | ||
| 5276 | |||
| 5277 | DECLSPEC_XFGVIRT(ID3D12VideoDecodeCommandList3, Barrier) | ||
| 5278 | void ( STDMETHODCALLTYPE *Barrier )( | ||
| 5279 | ID3D12VideoDecodeCommandList3 * This, | ||
| 5280 | UINT32 NumBarrierGroups, | ||
| 5281 | _In_reads_(NumBarrierGroups) const D3D12_BARRIER_GROUP *pBarrierGroups); | ||
| 5282 | |||
| 5283 | END_INTERFACE | ||
| 5284 | } ID3D12VideoDecodeCommandList3Vtbl; | ||
| 5285 | |||
| 5286 | interface ID3D12VideoDecodeCommandList3 | ||
| 5287 | { | ||
| 5288 | CONST_VTBL struct ID3D12VideoDecodeCommandList3Vtbl *lpVtbl; | ||
| 5289 | }; | ||
| 5290 | |||
| 5291 | |||
| 5292 | |||
| 5293 | #ifdef COBJMACROS | ||
| 5294 | |||
| 5295 | |||
| 5296 | #define ID3D12VideoDecodeCommandList3_QueryInterface(This,riid,ppvObject) \ | ||
| 5297 | ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) | ||
| 5298 | |||
| 5299 | #define ID3D12VideoDecodeCommandList3_AddRef(This) \ | ||
| 5300 | ( (This)->lpVtbl -> AddRef(This) ) | ||
| 5301 | |||
| 5302 | #define ID3D12VideoDecodeCommandList3_Release(This) \ | ||
| 5303 | ( (This)->lpVtbl -> Release(This) ) | ||
| 5304 | |||
| 5305 | |||
| 5306 | #define ID3D12VideoDecodeCommandList3_GetPrivateData(This,guid,pDataSize,pData) \ | ||
| 5307 | ( (This)->lpVtbl -> GetPrivateData(This,guid,pDataSize,pData) ) | ||
| 5308 | |||
| 5309 | #define ID3D12VideoDecodeCommandList3_SetPrivateData(This,guid,DataSize,pData) \ | ||
| 5310 | ( (This)->lpVtbl -> SetPrivateData(This,guid,DataSize,pData) ) | ||
| 5311 | |||
| 5312 | #define ID3D12VideoDecodeCommandList3_SetPrivateDataInterface(This,guid,pData) \ | ||
| 5313 | ( (This)->lpVtbl -> SetPrivateDataInterface(This,guid,pData) ) | ||
| 5314 | |||
| 5315 | #define ID3D12VideoDecodeCommandList3_SetName(This,Name) \ | ||
| 5316 | ( (This)->lpVtbl -> SetName(This,Name) ) | ||
| 5317 | |||
| 5318 | |||
| 5319 | #define ID3D12VideoDecodeCommandList3_GetDevice(This,riid,ppvDevice) \ | ||
| 5320 | ( (This)->lpVtbl -> GetDevice(This,riid,ppvDevice) ) | ||
| 5321 | |||
| 5322 | |||
| 5323 | #define ID3D12VideoDecodeCommandList3_GetType(This) \ | ||
| 5324 | ( (This)->lpVtbl -> GetType(This) ) | ||
| 5325 | |||
| 5326 | |||
| 5327 | #define ID3D12VideoDecodeCommandList3_Close(This) \ | ||
| 5328 | ( (This)->lpVtbl -> Close(This) ) | ||
| 5329 | |||
| 5330 | #define ID3D12VideoDecodeCommandList3_Reset(This,pAllocator) \ | ||
| 5331 | ( (This)->lpVtbl -> Reset(This,pAllocator) ) | ||
| 5332 | |||
| 5333 | #define ID3D12VideoDecodeCommandList3_ClearState(This) \ | ||
| 5334 | ( (This)->lpVtbl -> ClearState(This) ) | ||
| 5335 | |||
| 5336 | #define ID3D12VideoDecodeCommandList3_ResourceBarrier(This,NumBarriers,pBarriers) \ | ||
| 5337 | ( (This)->lpVtbl -> ResourceBarrier(This,NumBarriers,pBarriers) ) | ||
| 5338 | |||
| 5339 | #define ID3D12VideoDecodeCommandList3_DiscardResource(This,pResource,pRegion) \ | ||
| 5340 | ( (This)->lpVtbl -> DiscardResource(This,pResource,pRegion) ) | ||
| 5341 | |||
| 5342 | #define ID3D12VideoDecodeCommandList3_BeginQuery(This,pQueryHeap,Type,Index) \ | ||
| 5343 | ( (This)->lpVtbl -> BeginQuery(This,pQueryHeap,Type,Index) ) | ||
| 5344 | |||
| 5345 | #define ID3D12VideoDecodeCommandList3_EndQuery(This,pQueryHeap,Type,Index) \ | ||
| 5346 | ( (This)->lpVtbl -> EndQuery(This,pQueryHeap,Type,Index) ) | ||
| 5347 | |||
| 5348 | #define ID3D12VideoDecodeCommandList3_ResolveQueryData(This,pQueryHeap,Type,StartIndex,NumQueries,pDestinationBuffer,AlignedDestinationBufferOffset) \ | ||
| 5349 | ( (This)->lpVtbl -> ResolveQueryData(This,pQueryHeap,Type,StartIndex,NumQueries,pDestinationBuffer,AlignedDestinationBufferOffset) ) | ||
| 5350 | |||
| 5351 | #define ID3D12VideoDecodeCommandList3_SetPredication(This,pBuffer,AlignedBufferOffset,Operation) \ | ||
| 5352 | ( (This)->lpVtbl -> SetPredication(This,pBuffer,AlignedBufferOffset,Operation) ) | ||
| 5353 | |||
| 5354 | #define ID3D12VideoDecodeCommandList3_SetMarker(This,Metadata,pData,Size) \ | ||
| 5355 | ( (This)->lpVtbl -> SetMarker(This,Metadata,pData,Size) ) | ||
| 5356 | |||
| 5357 | #define ID3D12VideoDecodeCommandList3_BeginEvent(This,Metadata,pData,Size) \ | ||
| 5358 | ( (This)->lpVtbl -> BeginEvent(This,Metadata,pData,Size) ) | ||
| 5359 | |||
| 5360 | #define ID3D12VideoDecodeCommandList3_EndEvent(This) \ | ||
| 5361 | ( (This)->lpVtbl -> EndEvent(This) ) | ||
| 5362 | |||
| 5363 | #define ID3D12VideoDecodeCommandList3_DecodeFrame(This,pDecoder,pOutputArguments,pInputArguments) \ | ||
| 5364 | ( (This)->lpVtbl -> DecodeFrame(This,pDecoder,pOutputArguments,pInputArguments) ) | ||
| 5365 | |||
| 5366 | #define ID3D12VideoDecodeCommandList3_WriteBufferImmediate(This,Count,pParams,pModes) \ | ||
| 5367 | ( (This)->lpVtbl -> WriteBufferImmediate(This,Count,pParams,pModes) ) | ||
| 5368 | |||
| 5369 | |||
| 5370 | #define ID3D12VideoDecodeCommandList3_DecodeFrame1(This,pDecoder,pOutputArguments,pInputArguments) \ | ||
| 5371 | ( (This)->lpVtbl -> DecodeFrame1(This,pDecoder,pOutputArguments,pInputArguments) ) | ||
| 5372 | |||
| 5373 | |||
| 5374 | #define ID3D12VideoDecodeCommandList3_SetProtectedResourceSession(This,pProtectedResourceSession) \ | ||
| 5375 | ( (This)->lpVtbl -> SetProtectedResourceSession(This,pProtectedResourceSession) ) | ||
| 5376 | |||
| 5377 | #define ID3D12VideoDecodeCommandList3_InitializeExtensionCommand(This,pExtensionCommand,pInitializationParameters,InitializationParametersSizeInBytes) \ | ||
| 5378 | ( (This)->lpVtbl -> InitializeExtensionCommand(This,pExtensionCommand,pInitializationParameters,InitializationParametersSizeInBytes) ) | ||
| 5379 | |||
| 5380 | #define ID3D12VideoDecodeCommandList3_ExecuteExtensionCommand(This,pExtensionCommand,pExecutionParameters,ExecutionParametersSizeInBytes) \ | ||
| 5381 | ( (This)->lpVtbl -> ExecuteExtensionCommand(This,pExtensionCommand,pExecutionParameters,ExecutionParametersSizeInBytes) ) | ||
| 5382 | |||
| 5383 | |||
| 5384 | #define ID3D12VideoDecodeCommandList3_Barrier(This,NumBarrierGroups,pBarrierGroups) \ | ||
| 5385 | ( (This)->lpVtbl -> Barrier(This,NumBarrierGroups,pBarrierGroups) ) | ||
| 5386 | |||
| 5387 | #endif /* COBJMACROS */ | ||
| 5388 | |||
| 5389 | |||
| 5390 | #endif /* C style interface */ | ||
| 5391 | |||
| 5392 | |||
| 5393 | |||
| 5394 | |||
| 5395 | #endif /* __ID3D12VideoDecodeCommandList3_INTERFACE_DEFINED__ */ | ||
| 5396 | |||
| 5397 | |||
| 5398 | #ifndef __ID3D12VideoProcessCommandList2_INTERFACE_DEFINED__ | ||
| 5399 | #define __ID3D12VideoProcessCommandList2_INTERFACE_DEFINED__ | ||
| 5400 | |||
| 5401 | /* interface ID3D12VideoProcessCommandList2 */ | ||
| 5402 | /* [unique][local][object][uuid] */ | ||
| 5403 | |||
| 5404 | |||
| 5405 | EXTERN_C const IID IID_ID3D12VideoProcessCommandList2; | ||
| 5406 | |||
| 5407 | #if defined(__cplusplus) && !defined(CINTERFACE) | ||
| 5408 | |||
| 5409 | MIDL_INTERFACE("db525ae4-6ad6-473c-baa7-59b2e37082e4") | ||
| 5410 | ID3D12VideoProcessCommandList2 : public ID3D12VideoProcessCommandList1 | ||
| 5411 | { | ||
| 5412 | public: | ||
| 5413 | virtual void STDMETHODCALLTYPE SetProtectedResourceSession( | ||
| 5414 | _In_opt_ ID3D12ProtectedResourceSession *pProtectedResourceSession) = 0; | ||
| 5415 | |||
| 5416 | virtual void STDMETHODCALLTYPE InitializeExtensionCommand( | ||
| 5417 | _In_ ID3D12VideoExtensionCommand *pExtensionCommand, | ||
| 5418 | _In_reads_bytes_(InitializationParametersSizeInBytes) const void *pInitializationParameters, | ||
| 5419 | SIZE_T InitializationParametersSizeInBytes) = 0; | ||
| 5420 | |||
| 5421 | virtual void STDMETHODCALLTYPE ExecuteExtensionCommand( | ||
| 5422 | _In_ ID3D12VideoExtensionCommand *pExtensionCommand, | ||
| 5423 | _In_reads_bytes_(ExecutionParametersSizeInBytes) const void *pExecutionParameters, | ||
| 5424 | SIZE_T ExecutionParametersSizeInBytes) = 0; | ||
| 5425 | |||
| 5426 | }; | ||
| 5427 | |||
| 5428 | |||
| 5429 | #else /* C style interface */ | ||
| 5430 | |||
| 5431 | typedef struct ID3D12VideoProcessCommandList2Vtbl | ||
| 5432 | { | ||
| 5433 | BEGIN_INTERFACE | ||
| 5434 | |||
| 5435 | DECLSPEC_XFGVIRT(IUnknown, QueryInterface) | ||
| 5436 | HRESULT ( STDMETHODCALLTYPE *QueryInterface )( | ||
| 5437 | ID3D12VideoProcessCommandList2 * This, | ||
| 5438 | REFIID riid, | ||
| 5439 | _COM_Outptr_ void **ppvObject); | ||
| 5440 | |||
| 5441 | DECLSPEC_XFGVIRT(IUnknown, AddRef) | ||
| 5442 | ULONG ( STDMETHODCALLTYPE *AddRef )( | ||
| 5443 | ID3D12VideoProcessCommandList2 * This); | ||
| 5444 | |||
| 5445 | DECLSPEC_XFGVIRT(IUnknown, Release) | ||
| 5446 | ULONG ( STDMETHODCALLTYPE *Release )( | ||
| 5447 | ID3D12VideoProcessCommandList2 * This); | ||
| 5448 | |||
| 5449 | DECLSPEC_XFGVIRT(ID3D12Object, GetPrivateData) | ||
| 5450 | HRESULT ( STDMETHODCALLTYPE *GetPrivateData )( | ||
| 5451 | ID3D12VideoProcessCommandList2 * This, | ||
| 5452 | _In_ REFGUID guid, | ||
| 5453 | _Inout_ UINT *pDataSize, | ||
| 5454 | _Out_writes_bytes_opt_( *pDataSize ) void *pData); | ||
| 5455 | |||
| 5456 | DECLSPEC_XFGVIRT(ID3D12Object, SetPrivateData) | ||
| 5457 | HRESULT ( STDMETHODCALLTYPE *SetPrivateData )( | ||
| 5458 | ID3D12VideoProcessCommandList2 * This, | ||
| 5459 | _In_ REFGUID guid, | ||
| 5460 | _In_ UINT DataSize, | ||
| 5461 | _In_reads_bytes_opt_( DataSize ) const void *pData); | ||
| 5462 | |||
| 5463 | DECLSPEC_XFGVIRT(ID3D12Object, SetPrivateDataInterface) | ||
| 5464 | HRESULT ( STDMETHODCALLTYPE *SetPrivateDataInterface )( | ||
| 5465 | ID3D12VideoProcessCommandList2 * This, | ||
| 5466 | _In_ REFGUID guid, | ||
| 5467 | _In_opt_ const IUnknown *pData); | ||
| 5468 | |||
| 5469 | DECLSPEC_XFGVIRT(ID3D12Object, SetName) | ||
| 5470 | HRESULT ( STDMETHODCALLTYPE *SetName )( | ||
| 5471 | ID3D12VideoProcessCommandList2 * This, | ||
| 5472 | _In_z_ LPCWSTR Name); | ||
| 5473 | |||
| 5474 | DECLSPEC_XFGVIRT(ID3D12DeviceChild, GetDevice) | ||
| 5475 | HRESULT ( STDMETHODCALLTYPE *GetDevice )( | ||
| 5476 | ID3D12VideoProcessCommandList2 * This, | ||
| 5477 | REFIID riid, | ||
| 5478 | _COM_Outptr_opt_ void **ppvDevice); | ||
| 5479 | |||
| 5480 | DECLSPEC_XFGVIRT(ID3D12CommandList, GetType) | ||
| 5481 | D3D12_COMMAND_LIST_TYPE ( STDMETHODCALLTYPE *GetType )( | ||
| 5482 | ID3D12VideoProcessCommandList2 * This); | ||
| 5483 | |||
| 5484 | DECLSPEC_XFGVIRT(ID3D12VideoProcessCommandList, Close) | ||
| 5485 | HRESULT ( STDMETHODCALLTYPE *Close )( | ||
| 5486 | ID3D12VideoProcessCommandList2 * This); | ||
| 5487 | |||
| 5488 | DECLSPEC_XFGVIRT(ID3D12VideoProcessCommandList, Reset) | ||
| 5489 | HRESULT ( STDMETHODCALLTYPE *Reset )( | ||
| 5490 | ID3D12VideoProcessCommandList2 * This, | ||
| 5491 | _In_ ID3D12CommandAllocator *pAllocator); | ||
| 5492 | |||
| 5493 | DECLSPEC_XFGVIRT(ID3D12VideoProcessCommandList, ClearState) | ||
| 5494 | void ( STDMETHODCALLTYPE *ClearState )( | ||
| 5495 | ID3D12VideoProcessCommandList2 * This); | ||
| 5496 | |||
| 5497 | DECLSPEC_XFGVIRT(ID3D12VideoProcessCommandList, ResourceBarrier) | ||
| 5498 | void ( STDMETHODCALLTYPE *ResourceBarrier )( | ||
| 5499 | ID3D12VideoProcessCommandList2 * This, | ||
| 5500 | _In_ UINT NumBarriers, | ||
| 5501 | _In_reads_(NumBarriers) const D3D12_RESOURCE_BARRIER *pBarriers); | ||
| 5502 | |||
| 5503 | DECLSPEC_XFGVIRT(ID3D12VideoProcessCommandList, DiscardResource) | ||
| 5504 | void ( STDMETHODCALLTYPE *DiscardResource )( | ||
| 5505 | ID3D12VideoProcessCommandList2 * This, | ||
| 5506 | _In_ ID3D12Resource *pResource, | ||
| 5507 | _In_opt_ const D3D12_DISCARD_REGION *pRegion); | ||
| 5508 | |||
| 5509 | DECLSPEC_XFGVIRT(ID3D12VideoProcessCommandList, BeginQuery) | ||
| 5510 | void ( STDMETHODCALLTYPE *BeginQuery )( | ||
| 5511 | ID3D12VideoProcessCommandList2 * This, | ||
| 5512 | _In_ ID3D12QueryHeap *pQueryHeap, | ||
| 5513 | _In_ D3D12_QUERY_TYPE Type, | ||
| 5514 | _In_ UINT Index); | ||
| 5515 | |||
| 5516 | DECLSPEC_XFGVIRT(ID3D12VideoProcessCommandList, EndQuery) | ||
| 5517 | void ( STDMETHODCALLTYPE *EndQuery )( | ||
| 5518 | ID3D12VideoProcessCommandList2 * This, | ||
| 5519 | _In_ ID3D12QueryHeap *pQueryHeap, | ||
| 5520 | _In_ D3D12_QUERY_TYPE Type, | ||
| 5521 | _In_ UINT Index); | ||
| 5522 | |||
| 5523 | DECLSPEC_XFGVIRT(ID3D12VideoProcessCommandList, ResolveQueryData) | ||
| 5524 | void ( STDMETHODCALLTYPE *ResolveQueryData )( | ||
| 5525 | ID3D12VideoProcessCommandList2 * This, | ||
| 5526 | _In_ ID3D12QueryHeap *pQueryHeap, | ||
| 5527 | _In_ D3D12_QUERY_TYPE Type, | ||
| 5528 | _In_ UINT StartIndex, | ||
| 5529 | _In_ UINT NumQueries, | ||
| 5530 | _In_ ID3D12Resource *pDestinationBuffer, | ||
| 5531 | _In_ UINT64 AlignedDestinationBufferOffset); | ||
| 5532 | |||
| 5533 | DECLSPEC_XFGVIRT(ID3D12VideoProcessCommandList, SetPredication) | ||
| 5534 | void ( STDMETHODCALLTYPE *SetPredication )( | ||
| 5535 | ID3D12VideoProcessCommandList2 * This, | ||
| 5536 | _In_opt_ ID3D12Resource *pBuffer, | ||
| 5537 | _In_ UINT64 AlignedBufferOffset, | ||
| 5538 | _In_ D3D12_PREDICATION_OP Operation); | ||
| 5539 | |||
| 5540 | DECLSPEC_XFGVIRT(ID3D12VideoProcessCommandList, SetMarker) | ||
| 5541 | void ( STDMETHODCALLTYPE *SetMarker )( | ||
| 5542 | ID3D12VideoProcessCommandList2 * This, | ||
| 5543 | UINT Metadata, | ||
| 5544 | _In_reads_bytes_opt_(Size) const void *pData, | ||
| 5545 | UINT Size); | ||
| 5546 | |||
| 5547 | DECLSPEC_XFGVIRT(ID3D12VideoProcessCommandList, BeginEvent) | ||
| 5548 | void ( STDMETHODCALLTYPE *BeginEvent )( | ||
| 5549 | ID3D12VideoProcessCommandList2 * This, | ||
| 5550 | UINT Metadata, | ||
| 5551 | _In_reads_bytes_opt_(Size) const void *pData, | ||
| 5552 | UINT Size); | ||
| 5553 | |||
| 5554 | DECLSPEC_XFGVIRT(ID3D12VideoProcessCommandList, EndEvent) | ||
| 5555 | void ( STDMETHODCALLTYPE *EndEvent )( | ||
| 5556 | ID3D12VideoProcessCommandList2 * This); | ||
| 5557 | |||
| 5558 | DECLSPEC_XFGVIRT(ID3D12VideoProcessCommandList, ProcessFrames) | ||
| 5559 | void ( STDMETHODCALLTYPE *ProcessFrames )( | ||
| 5560 | ID3D12VideoProcessCommandList2 * This, | ||
| 5561 | _In_ ID3D12VideoProcessor *pVideoProcessor, | ||
| 5562 | _In_ const D3D12_VIDEO_PROCESS_OUTPUT_STREAM_ARGUMENTS *pOutputArguments, | ||
| 5563 | UINT NumInputStreams, | ||
| 5564 | _In_reads_(NumInputStreams) const D3D12_VIDEO_PROCESS_INPUT_STREAM_ARGUMENTS *pInputArguments); | ||
| 5565 | |||
| 5566 | DECLSPEC_XFGVIRT(ID3D12VideoProcessCommandList, WriteBufferImmediate) | ||
| 5567 | void ( STDMETHODCALLTYPE *WriteBufferImmediate )( | ||
| 5568 | ID3D12VideoProcessCommandList2 * This, | ||
| 5569 | UINT Count, | ||
| 5570 | _In_reads_(Count) const D3D12_WRITEBUFFERIMMEDIATE_PARAMETER *pParams, | ||
| 5571 | _In_reads_opt_(Count) const D3D12_WRITEBUFFERIMMEDIATE_MODE *pModes); | ||
| 5572 | |||
| 5573 | DECLSPEC_XFGVIRT(ID3D12VideoProcessCommandList1, ProcessFrames1) | ||
| 5574 | void ( STDMETHODCALLTYPE *ProcessFrames1 )( | ||
| 5575 | ID3D12VideoProcessCommandList2 * This, | ||
| 5576 | _In_ ID3D12VideoProcessor *pVideoProcessor, | ||
| 5577 | _In_ const D3D12_VIDEO_PROCESS_OUTPUT_STREAM_ARGUMENTS *pOutputArguments, | ||
| 5578 | UINT NumInputStreams, | ||
| 5579 | _In_reads_(NumInputStreams) const D3D12_VIDEO_PROCESS_INPUT_STREAM_ARGUMENTS1 *pInputArguments); | ||
| 5580 | |||
| 5581 | DECLSPEC_XFGVIRT(ID3D12VideoProcessCommandList2, SetProtectedResourceSession) | ||
| 5582 | void ( STDMETHODCALLTYPE *SetProtectedResourceSession )( | ||
| 5583 | ID3D12VideoProcessCommandList2 * This, | ||
| 5584 | _In_opt_ ID3D12ProtectedResourceSession *pProtectedResourceSession); | ||
| 5585 | |||
| 5586 | DECLSPEC_XFGVIRT(ID3D12VideoProcessCommandList2, InitializeExtensionCommand) | ||
| 5587 | void ( STDMETHODCALLTYPE *InitializeExtensionCommand )( | ||
| 5588 | ID3D12VideoProcessCommandList2 * This, | ||
| 5589 | _In_ ID3D12VideoExtensionCommand *pExtensionCommand, | ||
| 5590 | _In_reads_bytes_(InitializationParametersSizeInBytes) const void *pInitializationParameters, | ||
| 5591 | SIZE_T InitializationParametersSizeInBytes); | ||
| 5592 | |||
| 5593 | DECLSPEC_XFGVIRT(ID3D12VideoProcessCommandList2, ExecuteExtensionCommand) | ||
| 5594 | void ( STDMETHODCALLTYPE *ExecuteExtensionCommand )( | ||
| 5595 | ID3D12VideoProcessCommandList2 * This, | ||
| 5596 | _In_ ID3D12VideoExtensionCommand *pExtensionCommand, | ||
| 5597 | _In_reads_bytes_(ExecutionParametersSizeInBytes) const void *pExecutionParameters, | ||
| 5598 | SIZE_T ExecutionParametersSizeInBytes); | ||
| 5599 | |||
| 5600 | END_INTERFACE | ||
| 5601 | } ID3D12VideoProcessCommandList2Vtbl; | ||
| 5602 | |||
| 5603 | interface ID3D12VideoProcessCommandList2 | ||
| 5604 | { | ||
| 5605 | CONST_VTBL struct ID3D12VideoProcessCommandList2Vtbl *lpVtbl; | ||
| 5606 | }; | ||
| 5607 | |||
| 5608 | |||
| 5609 | |||
| 5610 | #ifdef COBJMACROS | ||
| 5611 | |||
| 5612 | |||
| 5613 | #define ID3D12VideoProcessCommandList2_QueryInterface(This,riid,ppvObject) \ | ||
| 5614 | ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) | ||
| 5615 | |||
| 5616 | #define ID3D12VideoProcessCommandList2_AddRef(This) \ | ||
| 5617 | ( (This)->lpVtbl -> AddRef(This) ) | ||
| 5618 | |||
| 5619 | #define ID3D12VideoProcessCommandList2_Release(This) \ | ||
| 5620 | ( (This)->lpVtbl -> Release(This) ) | ||
| 5621 | |||
| 5622 | |||
| 5623 | #define ID3D12VideoProcessCommandList2_GetPrivateData(This,guid,pDataSize,pData) \ | ||
| 5624 | ( (This)->lpVtbl -> GetPrivateData(This,guid,pDataSize,pData) ) | ||
| 5625 | |||
| 5626 | #define ID3D12VideoProcessCommandList2_SetPrivateData(This,guid,DataSize,pData) \ | ||
| 5627 | ( (This)->lpVtbl -> SetPrivateData(This,guid,DataSize,pData) ) | ||
| 5628 | |||
| 5629 | #define ID3D12VideoProcessCommandList2_SetPrivateDataInterface(This,guid,pData) \ | ||
| 5630 | ( (This)->lpVtbl -> SetPrivateDataInterface(This,guid,pData) ) | ||
| 5631 | |||
| 5632 | #define ID3D12VideoProcessCommandList2_SetName(This,Name) \ | ||
| 5633 | ( (This)->lpVtbl -> SetName(This,Name) ) | ||
| 5634 | |||
| 5635 | |||
| 5636 | #define ID3D12VideoProcessCommandList2_GetDevice(This,riid,ppvDevice) \ | ||
| 5637 | ( (This)->lpVtbl -> GetDevice(This,riid,ppvDevice) ) | ||
| 5638 | |||
| 5639 | |||
| 5640 | #define ID3D12VideoProcessCommandList2_GetType(This) \ | ||
| 5641 | ( (This)->lpVtbl -> GetType(This) ) | ||
| 5642 | |||
| 5643 | |||
| 5644 | #define ID3D12VideoProcessCommandList2_Close(This) \ | ||
| 5645 | ( (This)->lpVtbl -> Close(This) ) | ||
| 5646 | |||
| 5647 | #define ID3D12VideoProcessCommandList2_Reset(This,pAllocator) \ | ||
| 5648 | ( (This)->lpVtbl -> Reset(This,pAllocator) ) | ||
| 5649 | |||
| 5650 | #define ID3D12VideoProcessCommandList2_ClearState(This) \ | ||
| 5651 | ( (This)->lpVtbl -> ClearState(This) ) | ||
| 5652 | |||
| 5653 | #define ID3D12VideoProcessCommandList2_ResourceBarrier(This,NumBarriers,pBarriers) \ | ||
| 5654 | ( (This)->lpVtbl -> ResourceBarrier(This,NumBarriers,pBarriers) ) | ||
| 5655 | |||
| 5656 | #define ID3D12VideoProcessCommandList2_DiscardResource(This,pResource,pRegion) \ | ||
| 5657 | ( (This)->lpVtbl -> DiscardResource(This,pResource,pRegion) ) | ||
| 5658 | |||
| 5659 | #define ID3D12VideoProcessCommandList2_BeginQuery(This,pQueryHeap,Type,Index) \ | ||
| 5660 | ( (This)->lpVtbl -> BeginQuery(This,pQueryHeap,Type,Index) ) | ||
| 5661 | |||
| 5662 | #define ID3D12VideoProcessCommandList2_EndQuery(This,pQueryHeap,Type,Index) \ | ||
| 5663 | ( (This)->lpVtbl -> EndQuery(This,pQueryHeap,Type,Index) ) | ||
| 5664 | |||
| 5665 | #define ID3D12VideoProcessCommandList2_ResolveQueryData(This,pQueryHeap,Type,StartIndex,NumQueries,pDestinationBuffer,AlignedDestinationBufferOffset) \ | ||
| 5666 | ( (This)->lpVtbl -> ResolveQueryData(This,pQueryHeap,Type,StartIndex,NumQueries,pDestinationBuffer,AlignedDestinationBufferOffset) ) | ||
| 5667 | |||
| 5668 | #define ID3D12VideoProcessCommandList2_SetPredication(This,pBuffer,AlignedBufferOffset,Operation) \ | ||
| 5669 | ( (This)->lpVtbl -> SetPredication(This,pBuffer,AlignedBufferOffset,Operation) ) | ||
| 5670 | |||
| 5671 | #define ID3D12VideoProcessCommandList2_SetMarker(This,Metadata,pData,Size) \ | ||
| 5672 | ( (This)->lpVtbl -> SetMarker(This,Metadata,pData,Size) ) | ||
| 5673 | |||
| 5674 | #define ID3D12VideoProcessCommandList2_BeginEvent(This,Metadata,pData,Size) \ | ||
| 5675 | ( (This)->lpVtbl -> BeginEvent(This,Metadata,pData,Size) ) | ||
| 5676 | |||
| 5677 | #define ID3D12VideoProcessCommandList2_EndEvent(This) \ | ||
| 5678 | ( (This)->lpVtbl -> EndEvent(This) ) | ||
| 5679 | |||
| 5680 | #define ID3D12VideoProcessCommandList2_ProcessFrames(This,pVideoProcessor,pOutputArguments,NumInputStreams,pInputArguments) \ | ||
| 5681 | ( (This)->lpVtbl -> ProcessFrames(This,pVideoProcessor,pOutputArguments,NumInputStreams,pInputArguments) ) | ||
| 5682 | |||
| 5683 | #define ID3D12VideoProcessCommandList2_WriteBufferImmediate(This,Count,pParams,pModes) \ | ||
| 5684 | ( (This)->lpVtbl -> WriteBufferImmediate(This,Count,pParams,pModes) ) | ||
| 5685 | |||
| 5686 | |||
| 5687 | #define ID3D12VideoProcessCommandList2_ProcessFrames1(This,pVideoProcessor,pOutputArguments,NumInputStreams,pInputArguments) \ | ||
| 5688 | ( (This)->lpVtbl -> ProcessFrames1(This,pVideoProcessor,pOutputArguments,NumInputStreams,pInputArguments) ) | ||
| 5689 | |||
| 5690 | |||
| 5691 | #define ID3D12VideoProcessCommandList2_SetProtectedResourceSession(This,pProtectedResourceSession) \ | ||
| 5692 | ( (This)->lpVtbl -> SetProtectedResourceSession(This,pProtectedResourceSession) ) | ||
| 5693 | |||
| 5694 | #define ID3D12VideoProcessCommandList2_InitializeExtensionCommand(This,pExtensionCommand,pInitializationParameters,InitializationParametersSizeInBytes) \ | ||
| 5695 | ( (This)->lpVtbl -> InitializeExtensionCommand(This,pExtensionCommand,pInitializationParameters,InitializationParametersSizeInBytes) ) | ||
| 5696 | |||
| 5697 | #define ID3D12VideoProcessCommandList2_ExecuteExtensionCommand(This,pExtensionCommand,pExecutionParameters,ExecutionParametersSizeInBytes) \ | ||
| 5698 | ( (This)->lpVtbl -> ExecuteExtensionCommand(This,pExtensionCommand,pExecutionParameters,ExecutionParametersSizeInBytes) ) | ||
| 5699 | |||
| 5700 | #endif /* COBJMACROS */ | ||
| 5701 | |||
| 5702 | |||
| 5703 | #endif /* C style interface */ | ||
| 5704 | |||
| 5705 | |||
| 5706 | |||
| 5707 | |||
| 5708 | #endif /* __ID3D12VideoProcessCommandList2_INTERFACE_DEFINED__ */ | ||
| 5709 | |||
| 5710 | |||
| 5711 | #ifndef __ID3D12VideoProcessCommandList3_INTERFACE_DEFINED__ | ||
| 5712 | #define __ID3D12VideoProcessCommandList3_INTERFACE_DEFINED__ | ||
| 5713 | |||
| 5714 | /* interface ID3D12VideoProcessCommandList3 */ | ||
| 5715 | /* [unique][local][object][uuid] */ | ||
| 5716 | |||
| 5717 | |||
| 5718 | EXTERN_C const IID IID_ID3D12VideoProcessCommandList3; | ||
| 5719 | |||
| 5720 | #if defined(__cplusplus) && !defined(CINTERFACE) | ||
| 5721 | |||
| 5722 | MIDL_INTERFACE("1a0a4ca4-9f08-40ce-9558-b411fd2666ff") | ||
| 5723 | ID3D12VideoProcessCommandList3 : public ID3D12VideoProcessCommandList2 | ||
| 5724 | { | ||
| 5725 | public: | ||
| 5726 | virtual void STDMETHODCALLTYPE Barrier( | ||
| 5727 | UINT32 NumBarrierGroups, | ||
| 5728 | _In_reads_(NumBarrierGroups) const D3D12_BARRIER_GROUP *pBarrierGroups) = 0; | ||
| 5729 | |||
| 5730 | }; | ||
| 5731 | |||
| 5732 | |||
| 5733 | #else /* C style interface */ | ||
| 5734 | |||
| 5735 | typedef struct ID3D12VideoProcessCommandList3Vtbl | ||
| 5736 | { | ||
| 5737 | BEGIN_INTERFACE | ||
| 5738 | |||
| 5739 | DECLSPEC_XFGVIRT(IUnknown, QueryInterface) | ||
| 5740 | HRESULT ( STDMETHODCALLTYPE *QueryInterface )( | ||
| 5741 | ID3D12VideoProcessCommandList3 * This, | ||
| 5742 | REFIID riid, | ||
| 5743 | _COM_Outptr_ void **ppvObject); | ||
| 5744 | |||
| 5745 | DECLSPEC_XFGVIRT(IUnknown, AddRef) | ||
| 5746 | ULONG ( STDMETHODCALLTYPE *AddRef )( | ||
| 5747 | ID3D12VideoProcessCommandList3 * This); | ||
| 5748 | |||
| 5749 | DECLSPEC_XFGVIRT(IUnknown, Release) | ||
| 5750 | ULONG ( STDMETHODCALLTYPE *Release )( | ||
| 5751 | ID3D12VideoProcessCommandList3 * This); | ||
| 5752 | |||
| 5753 | DECLSPEC_XFGVIRT(ID3D12Object, GetPrivateData) | ||
| 5754 | HRESULT ( STDMETHODCALLTYPE *GetPrivateData )( | ||
| 5755 | ID3D12VideoProcessCommandList3 * This, | ||
| 5756 | _In_ REFGUID guid, | ||
| 5757 | _Inout_ UINT *pDataSize, | ||
| 5758 | _Out_writes_bytes_opt_( *pDataSize ) void *pData); | ||
| 5759 | |||
| 5760 | DECLSPEC_XFGVIRT(ID3D12Object, SetPrivateData) | ||
| 5761 | HRESULT ( STDMETHODCALLTYPE *SetPrivateData )( | ||
| 5762 | ID3D12VideoProcessCommandList3 * This, | ||
| 5763 | _In_ REFGUID guid, | ||
| 5764 | _In_ UINT DataSize, | ||
| 5765 | _In_reads_bytes_opt_( DataSize ) const void *pData); | ||
| 5766 | |||
| 5767 | DECLSPEC_XFGVIRT(ID3D12Object, SetPrivateDataInterface) | ||
| 5768 | HRESULT ( STDMETHODCALLTYPE *SetPrivateDataInterface )( | ||
| 5769 | ID3D12VideoProcessCommandList3 * This, | ||
| 5770 | _In_ REFGUID guid, | ||
| 5771 | _In_opt_ const IUnknown *pData); | ||
| 5772 | |||
| 5773 | DECLSPEC_XFGVIRT(ID3D12Object, SetName) | ||
| 5774 | HRESULT ( STDMETHODCALLTYPE *SetName )( | ||
| 5775 | ID3D12VideoProcessCommandList3 * This, | ||
| 5776 | _In_z_ LPCWSTR Name); | ||
| 5777 | |||
| 5778 | DECLSPEC_XFGVIRT(ID3D12DeviceChild, GetDevice) | ||
| 5779 | HRESULT ( STDMETHODCALLTYPE *GetDevice )( | ||
| 5780 | ID3D12VideoProcessCommandList3 * This, | ||
| 5781 | REFIID riid, | ||
| 5782 | _COM_Outptr_opt_ void **ppvDevice); | ||
| 5783 | |||
| 5784 | DECLSPEC_XFGVIRT(ID3D12CommandList, GetType) | ||
| 5785 | D3D12_COMMAND_LIST_TYPE ( STDMETHODCALLTYPE *GetType )( | ||
| 5786 | ID3D12VideoProcessCommandList3 * This); | ||
| 5787 | |||
| 5788 | DECLSPEC_XFGVIRT(ID3D12VideoProcessCommandList, Close) | ||
| 5789 | HRESULT ( STDMETHODCALLTYPE *Close )( | ||
| 5790 | ID3D12VideoProcessCommandList3 * This); | ||
| 5791 | |||
| 5792 | DECLSPEC_XFGVIRT(ID3D12VideoProcessCommandList, Reset) | ||
| 5793 | HRESULT ( STDMETHODCALLTYPE *Reset )( | ||
| 5794 | ID3D12VideoProcessCommandList3 * This, | ||
| 5795 | _In_ ID3D12CommandAllocator *pAllocator); | ||
| 5796 | |||
| 5797 | DECLSPEC_XFGVIRT(ID3D12VideoProcessCommandList, ClearState) | ||
| 5798 | void ( STDMETHODCALLTYPE *ClearState )( | ||
| 5799 | ID3D12VideoProcessCommandList3 * This); | ||
| 5800 | |||
| 5801 | DECLSPEC_XFGVIRT(ID3D12VideoProcessCommandList, ResourceBarrier) | ||
| 5802 | void ( STDMETHODCALLTYPE *ResourceBarrier )( | ||
| 5803 | ID3D12VideoProcessCommandList3 * This, | ||
| 5804 | _In_ UINT NumBarriers, | ||
| 5805 | _In_reads_(NumBarriers) const D3D12_RESOURCE_BARRIER *pBarriers); | ||
| 5806 | |||
| 5807 | DECLSPEC_XFGVIRT(ID3D12VideoProcessCommandList, DiscardResource) | ||
| 5808 | void ( STDMETHODCALLTYPE *DiscardResource )( | ||
| 5809 | ID3D12VideoProcessCommandList3 * This, | ||
| 5810 | _In_ ID3D12Resource *pResource, | ||
| 5811 | _In_opt_ const D3D12_DISCARD_REGION *pRegion); | ||
| 5812 | |||
| 5813 | DECLSPEC_XFGVIRT(ID3D12VideoProcessCommandList, BeginQuery) | ||
| 5814 | void ( STDMETHODCALLTYPE *BeginQuery )( | ||
| 5815 | ID3D12VideoProcessCommandList3 * This, | ||
| 5816 | _In_ ID3D12QueryHeap *pQueryHeap, | ||
| 5817 | _In_ D3D12_QUERY_TYPE Type, | ||
| 5818 | _In_ UINT Index); | ||
| 5819 | |||
| 5820 | DECLSPEC_XFGVIRT(ID3D12VideoProcessCommandList, EndQuery) | ||
| 5821 | void ( STDMETHODCALLTYPE *EndQuery )( | ||
| 5822 | ID3D12VideoProcessCommandList3 * This, | ||
| 5823 | _In_ ID3D12QueryHeap *pQueryHeap, | ||
| 5824 | _In_ D3D12_QUERY_TYPE Type, | ||
| 5825 | _In_ UINT Index); | ||
| 5826 | |||
| 5827 | DECLSPEC_XFGVIRT(ID3D12VideoProcessCommandList, ResolveQueryData) | ||
| 5828 | void ( STDMETHODCALLTYPE *ResolveQueryData )( | ||
| 5829 | ID3D12VideoProcessCommandList3 * This, | ||
| 5830 | _In_ ID3D12QueryHeap *pQueryHeap, | ||
| 5831 | _In_ D3D12_QUERY_TYPE Type, | ||
| 5832 | _In_ UINT StartIndex, | ||
| 5833 | _In_ UINT NumQueries, | ||
| 5834 | _In_ ID3D12Resource *pDestinationBuffer, | ||
| 5835 | _In_ UINT64 AlignedDestinationBufferOffset); | ||
| 5836 | |||
| 5837 | DECLSPEC_XFGVIRT(ID3D12VideoProcessCommandList, SetPredication) | ||
| 5838 | void ( STDMETHODCALLTYPE *SetPredication )( | ||
| 5839 | ID3D12VideoProcessCommandList3 * This, | ||
| 5840 | _In_opt_ ID3D12Resource *pBuffer, | ||
| 5841 | _In_ UINT64 AlignedBufferOffset, | ||
| 5842 | _In_ D3D12_PREDICATION_OP Operation); | ||
| 5843 | |||
| 5844 | DECLSPEC_XFGVIRT(ID3D12VideoProcessCommandList, SetMarker) | ||
| 5845 | void ( STDMETHODCALLTYPE *SetMarker )( | ||
| 5846 | ID3D12VideoProcessCommandList3 * This, | ||
| 5847 | UINT Metadata, | ||
| 5848 | _In_reads_bytes_opt_(Size) const void *pData, | ||
| 5849 | UINT Size); | ||
| 5850 | |||
| 5851 | DECLSPEC_XFGVIRT(ID3D12VideoProcessCommandList, BeginEvent) | ||
| 5852 | void ( STDMETHODCALLTYPE *BeginEvent )( | ||
| 5853 | ID3D12VideoProcessCommandList3 * This, | ||
| 5854 | UINT Metadata, | ||
| 5855 | _In_reads_bytes_opt_(Size) const void *pData, | ||
| 5856 | UINT Size); | ||
| 5857 | |||
| 5858 | DECLSPEC_XFGVIRT(ID3D12VideoProcessCommandList, EndEvent) | ||
| 5859 | void ( STDMETHODCALLTYPE *EndEvent )( | ||
| 5860 | ID3D12VideoProcessCommandList3 * This); | ||
| 5861 | |||
| 5862 | DECLSPEC_XFGVIRT(ID3D12VideoProcessCommandList, ProcessFrames) | ||
| 5863 | void ( STDMETHODCALLTYPE *ProcessFrames )( | ||
| 5864 | ID3D12VideoProcessCommandList3 * This, | ||
| 5865 | _In_ ID3D12VideoProcessor *pVideoProcessor, | ||
| 5866 | _In_ const D3D12_VIDEO_PROCESS_OUTPUT_STREAM_ARGUMENTS *pOutputArguments, | ||
| 5867 | UINT NumInputStreams, | ||
| 5868 | _In_reads_(NumInputStreams) const D3D12_VIDEO_PROCESS_INPUT_STREAM_ARGUMENTS *pInputArguments); | ||
| 5869 | |||
| 5870 | DECLSPEC_XFGVIRT(ID3D12VideoProcessCommandList, WriteBufferImmediate) | ||
| 5871 | void ( STDMETHODCALLTYPE *WriteBufferImmediate )( | ||
| 5872 | ID3D12VideoProcessCommandList3 * This, | ||
| 5873 | UINT Count, | ||
| 5874 | _In_reads_(Count) const D3D12_WRITEBUFFERIMMEDIATE_PARAMETER *pParams, | ||
| 5875 | _In_reads_opt_(Count) const D3D12_WRITEBUFFERIMMEDIATE_MODE *pModes); | ||
| 5876 | |||
| 5877 | DECLSPEC_XFGVIRT(ID3D12VideoProcessCommandList1, ProcessFrames1) | ||
| 5878 | void ( STDMETHODCALLTYPE *ProcessFrames1 )( | ||
| 5879 | ID3D12VideoProcessCommandList3 * This, | ||
| 5880 | _In_ ID3D12VideoProcessor *pVideoProcessor, | ||
| 5881 | _In_ const D3D12_VIDEO_PROCESS_OUTPUT_STREAM_ARGUMENTS *pOutputArguments, | ||
| 5882 | UINT NumInputStreams, | ||
| 5883 | _In_reads_(NumInputStreams) const D3D12_VIDEO_PROCESS_INPUT_STREAM_ARGUMENTS1 *pInputArguments); | ||
| 5884 | |||
| 5885 | DECLSPEC_XFGVIRT(ID3D12VideoProcessCommandList2, SetProtectedResourceSession) | ||
| 5886 | void ( STDMETHODCALLTYPE *SetProtectedResourceSession )( | ||
| 5887 | ID3D12VideoProcessCommandList3 * This, | ||
| 5888 | _In_opt_ ID3D12ProtectedResourceSession *pProtectedResourceSession); | ||
| 5889 | |||
| 5890 | DECLSPEC_XFGVIRT(ID3D12VideoProcessCommandList2, InitializeExtensionCommand) | ||
| 5891 | void ( STDMETHODCALLTYPE *InitializeExtensionCommand )( | ||
| 5892 | ID3D12VideoProcessCommandList3 * This, | ||
| 5893 | _In_ ID3D12VideoExtensionCommand *pExtensionCommand, | ||
| 5894 | _In_reads_bytes_(InitializationParametersSizeInBytes) const void *pInitializationParameters, | ||
| 5895 | SIZE_T InitializationParametersSizeInBytes); | ||
| 5896 | |||
| 5897 | DECLSPEC_XFGVIRT(ID3D12VideoProcessCommandList2, ExecuteExtensionCommand) | ||
| 5898 | void ( STDMETHODCALLTYPE *ExecuteExtensionCommand )( | ||
| 5899 | ID3D12VideoProcessCommandList3 * This, | ||
| 5900 | _In_ ID3D12VideoExtensionCommand *pExtensionCommand, | ||
| 5901 | _In_reads_bytes_(ExecutionParametersSizeInBytes) const void *pExecutionParameters, | ||
| 5902 | SIZE_T ExecutionParametersSizeInBytes); | ||
| 5903 | |||
| 5904 | DECLSPEC_XFGVIRT(ID3D12VideoProcessCommandList3, Barrier) | ||
| 5905 | void ( STDMETHODCALLTYPE *Barrier )( | ||
| 5906 | ID3D12VideoProcessCommandList3 * This, | ||
| 5907 | UINT32 NumBarrierGroups, | ||
| 5908 | _In_reads_(NumBarrierGroups) const D3D12_BARRIER_GROUP *pBarrierGroups); | ||
| 5909 | |||
| 5910 | END_INTERFACE | ||
| 5911 | } ID3D12VideoProcessCommandList3Vtbl; | ||
| 5912 | |||
| 5913 | interface ID3D12VideoProcessCommandList3 | ||
| 5914 | { | ||
| 5915 | CONST_VTBL struct ID3D12VideoProcessCommandList3Vtbl *lpVtbl; | ||
| 5916 | }; | ||
| 5917 | |||
| 5918 | |||
| 5919 | |||
| 5920 | #ifdef COBJMACROS | ||
| 5921 | |||
| 5922 | |||
| 5923 | #define ID3D12VideoProcessCommandList3_QueryInterface(This,riid,ppvObject) \ | ||
| 5924 | ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) | ||
| 5925 | |||
| 5926 | #define ID3D12VideoProcessCommandList3_AddRef(This) \ | ||
| 5927 | ( (This)->lpVtbl -> AddRef(This) ) | ||
| 5928 | |||
| 5929 | #define ID3D12VideoProcessCommandList3_Release(This) \ | ||
| 5930 | ( (This)->lpVtbl -> Release(This) ) | ||
| 5931 | |||
| 5932 | |||
| 5933 | #define ID3D12VideoProcessCommandList3_GetPrivateData(This,guid,pDataSize,pData) \ | ||
| 5934 | ( (This)->lpVtbl -> GetPrivateData(This,guid,pDataSize,pData) ) | ||
| 5935 | |||
| 5936 | #define ID3D12VideoProcessCommandList3_SetPrivateData(This,guid,DataSize,pData) \ | ||
| 5937 | ( (This)->lpVtbl -> SetPrivateData(This,guid,DataSize,pData) ) | ||
| 5938 | |||
| 5939 | #define ID3D12VideoProcessCommandList3_SetPrivateDataInterface(This,guid,pData) \ | ||
| 5940 | ( (This)->lpVtbl -> SetPrivateDataInterface(This,guid,pData) ) | ||
| 5941 | |||
| 5942 | #define ID3D12VideoProcessCommandList3_SetName(This,Name) \ | ||
| 5943 | ( (This)->lpVtbl -> SetName(This,Name) ) | ||
| 5944 | |||
| 5945 | |||
| 5946 | #define ID3D12VideoProcessCommandList3_GetDevice(This,riid,ppvDevice) \ | ||
| 5947 | ( (This)->lpVtbl -> GetDevice(This,riid,ppvDevice) ) | ||
| 5948 | |||
| 5949 | |||
| 5950 | #define ID3D12VideoProcessCommandList3_GetType(This) \ | ||
| 5951 | ( (This)->lpVtbl -> GetType(This) ) | ||
| 5952 | |||
| 5953 | |||
| 5954 | #define ID3D12VideoProcessCommandList3_Close(This) \ | ||
| 5955 | ( (This)->lpVtbl -> Close(This) ) | ||
| 5956 | |||
| 5957 | #define ID3D12VideoProcessCommandList3_Reset(This,pAllocator) \ | ||
| 5958 | ( (This)->lpVtbl -> Reset(This,pAllocator) ) | ||
| 5959 | |||
| 5960 | #define ID3D12VideoProcessCommandList3_ClearState(This) \ | ||
| 5961 | ( (This)->lpVtbl -> ClearState(This) ) | ||
| 5962 | |||
| 5963 | #define ID3D12VideoProcessCommandList3_ResourceBarrier(This,NumBarriers,pBarriers) \ | ||
| 5964 | ( (This)->lpVtbl -> ResourceBarrier(This,NumBarriers,pBarriers) ) | ||
| 5965 | |||
| 5966 | #define ID3D12VideoProcessCommandList3_DiscardResource(This,pResource,pRegion) \ | ||
| 5967 | ( (This)->lpVtbl -> DiscardResource(This,pResource,pRegion) ) | ||
| 5968 | |||
| 5969 | #define ID3D12VideoProcessCommandList3_BeginQuery(This,pQueryHeap,Type,Index) \ | ||
| 5970 | ( (This)->lpVtbl -> BeginQuery(This,pQueryHeap,Type,Index) ) | ||
| 5971 | |||
| 5972 | #define ID3D12VideoProcessCommandList3_EndQuery(This,pQueryHeap,Type,Index) \ | ||
| 5973 | ( (This)->lpVtbl -> EndQuery(This,pQueryHeap,Type,Index) ) | ||
| 5974 | |||
| 5975 | #define ID3D12VideoProcessCommandList3_ResolveQueryData(This,pQueryHeap,Type,StartIndex,NumQueries,pDestinationBuffer,AlignedDestinationBufferOffset) \ | ||
| 5976 | ( (This)->lpVtbl -> ResolveQueryData(This,pQueryHeap,Type,StartIndex,NumQueries,pDestinationBuffer,AlignedDestinationBufferOffset) ) | ||
| 5977 | |||
| 5978 | #define ID3D12VideoProcessCommandList3_SetPredication(This,pBuffer,AlignedBufferOffset,Operation) \ | ||
| 5979 | ( (This)->lpVtbl -> SetPredication(This,pBuffer,AlignedBufferOffset,Operation) ) | ||
| 5980 | |||
| 5981 | #define ID3D12VideoProcessCommandList3_SetMarker(This,Metadata,pData,Size) \ | ||
| 5982 | ( (This)->lpVtbl -> SetMarker(This,Metadata,pData,Size) ) | ||
| 5983 | |||
| 5984 | #define ID3D12VideoProcessCommandList3_BeginEvent(This,Metadata,pData,Size) \ | ||
| 5985 | ( (This)->lpVtbl -> BeginEvent(This,Metadata,pData,Size) ) | ||
| 5986 | |||
| 5987 | #define ID3D12VideoProcessCommandList3_EndEvent(This) \ | ||
| 5988 | ( (This)->lpVtbl -> EndEvent(This) ) | ||
| 5989 | |||
| 5990 | #define ID3D12VideoProcessCommandList3_ProcessFrames(This,pVideoProcessor,pOutputArguments,NumInputStreams,pInputArguments) \ | ||
| 5991 | ( (This)->lpVtbl -> ProcessFrames(This,pVideoProcessor,pOutputArguments,NumInputStreams,pInputArguments) ) | ||
| 5992 | |||
| 5993 | #define ID3D12VideoProcessCommandList3_WriteBufferImmediate(This,Count,pParams,pModes) \ | ||
| 5994 | ( (This)->lpVtbl -> WriteBufferImmediate(This,Count,pParams,pModes) ) | ||
| 5995 | |||
| 5996 | |||
| 5997 | #define ID3D12VideoProcessCommandList3_ProcessFrames1(This,pVideoProcessor,pOutputArguments,NumInputStreams,pInputArguments) \ | ||
| 5998 | ( (This)->lpVtbl -> ProcessFrames1(This,pVideoProcessor,pOutputArguments,NumInputStreams,pInputArguments) ) | ||
| 5999 | |||
| 6000 | |||
| 6001 | #define ID3D12VideoProcessCommandList3_SetProtectedResourceSession(This,pProtectedResourceSession) \ | ||
| 6002 | ( (This)->lpVtbl -> SetProtectedResourceSession(This,pProtectedResourceSession) ) | ||
| 6003 | |||
| 6004 | #define ID3D12VideoProcessCommandList3_InitializeExtensionCommand(This,pExtensionCommand,pInitializationParameters,InitializationParametersSizeInBytes) \ | ||
| 6005 | ( (This)->lpVtbl -> InitializeExtensionCommand(This,pExtensionCommand,pInitializationParameters,InitializationParametersSizeInBytes) ) | ||
| 6006 | |||
| 6007 | #define ID3D12VideoProcessCommandList3_ExecuteExtensionCommand(This,pExtensionCommand,pExecutionParameters,ExecutionParametersSizeInBytes) \ | ||
| 6008 | ( (This)->lpVtbl -> ExecuteExtensionCommand(This,pExtensionCommand,pExecutionParameters,ExecutionParametersSizeInBytes) ) | ||
| 6009 | |||
| 6010 | |||
| 6011 | #define ID3D12VideoProcessCommandList3_Barrier(This,NumBarrierGroups,pBarrierGroups) \ | ||
| 6012 | ( (This)->lpVtbl -> Barrier(This,NumBarrierGroups,pBarrierGroups) ) | ||
| 6013 | |||
| 6014 | #endif /* COBJMACROS */ | ||
| 6015 | |||
| 6016 | |||
| 6017 | #endif /* C style interface */ | ||
| 6018 | |||
| 6019 | |||
| 6020 | |||
| 6021 | |||
| 6022 | #endif /* __ID3D12VideoProcessCommandList3_INTERFACE_DEFINED__ */ | ||
| 6023 | |||
| 6024 | |||
| 6025 | #ifndef __ID3D12VideoEncodeCommandList1_INTERFACE_DEFINED__ | ||
| 6026 | #define __ID3D12VideoEncodeCommandList1_INTERFACE_DEFINED__ | ||
| 6027 | |||
| 6028 | /* interface ID3D12VideoEncodeCommandList1 */ | ||
| 6029 | /* [unique][local][object][uuid] */ | ||
| 6030 | |||
| 6031 | |||
| 6032 | EXTERN_C const IID IID_ID3D12VideoEncodeCommandList1; | ||
| 6033 | |||
| 6034 | #if defined(__cplusplus) && !defined(CINTERFACE) | ||
| 6035 | |||
| 6036 | MIDL_INTERFACE("94971eca-2bdb-4769-88cf-3675ea757ebc") | ||
| 6037 | ID3D12VideoEncodeCommandList1 : public ID3D12VideoEncodeCommandList | ||
| 6038 | { | ||
| 6039 | public: | ||
| 6040 | virtual void STDMETHODCALLTYPE InitializeExtensionCommand( | ||
| 6041 | _In_ ID3D12VideoExtensionCommand *pExtensionCommand, | ||
| 6042 | _In_reads_bytes_(InitializationParametersSizeInBytes) const void *pInitializationParameters, | ||
| 6043 | SIZE_T InitializationParametersSizeInBytes) = 0; | ||
| 6044 | |||
| 6045 | virtual void STDMETHODCALLTYPE ExecuteExtensionCommand( | ||
| 6046 | _In_ ID3D12VideoExtensionCommand *pExtensionCommand, | ||
| 6047 | _In_reads_bytes_(ExecutionParametersSizeInBytes) const void *pExecutionParameters, | ||
| 6048 | SIZE_T ExecutionParametersSizeInBytes) = 0; | ||
| 6049 | |||
| 6050 | }; | ||
| 6051 | |||
| 6052 | |||
| 6053 | #else /* C style interface */ | ||
| 6054 | |||
| 6055 | typedef struct ID3D12VideoEncodeCommandList1Vtbl | ||
| 6056 | { | ||
| 6057 | BEGIN_INTERFACE | ||
| 6058 | |||
| 6059 | DECLSPEC_XFGVIRT(IUnknown, QueryInterface) | ||
| 6060 | HRESULT ( STDMETHODCALLTYPE *QueryInterface )( | ||
| 6061 | ID3D12VideoEncodeCommandList1 * This, | ||
| 6062 | REFIID riid, | ||
| 6063 | _COM_Outptr_ void **ppvObject); | ||
| 6064 | |||
| 6065 | DECLSPEC_XFGVIRT(IUnknown, AddRef) | ||
| 6066 | ULONG ( STDMETHODCALLTYPE *AddRef )( | ||
| 6067 | ID3D12VideoEncodeCommandList1 * This); | ||
| 6068 | |||
| 6069 | DECLSPEC_XFGVIRT(IUnknown, Release) | ||
| 6070 | ULONG ( STDMETHODCALLTYPE *Release )( | ||
| 6071 | ID3D12VideoEncodeCommandList1 * This); | ||
| 6072 | |||
| 6073 | DECLSPEC_XFGVIRT(ID3D12Object, GetPrivateData) | ||
| 6074 | HRESULT ( STDMETHODCALLTYPE *GetPrivateData )( | ||
| 6075 | ID3D12VideoEncodeCommandList1 * This, | ||
| 6076 | _In_ REFGUID guid, | ||
| 6077 | _Inout_ UINT *pDataSize, | ||
| 6078 | _Out_writes_bytes_opt_( *pDataSize ) void *pData); | ||
| 6079 | |||
| 6080 | DECLSPEC_XFGVIRT(ID3D12Object, SetPrivateData) | ||
| 6081 | HRESULT ( STDMETHODCALLTYPE *SetPrivateData )( | ||
| 6082 | ID3D12VideoEncodeCommandList1 * This, | ||
| 6083 | _In_ REFGUID guid, | ||
| 6084 | _In_ UINT DataSize, | ||
| 6085 | _In_reads_bytes_opt_( DataSize ) const void *pData); | ||
| 6086 | |||
| 6087 | DECLSPEC_XFGVIRT(ID3D12Object, SetPrivateDataInterface) | ||
| 6088 | HRESULT ( STDMETHODCALLTYPE *SetPrivateDataInterface )( | ||
| 6089 | ID3D12VideoEncodeCommandList1 * This, | ||
| 6090 | _In_ REFGUID guid, | ||
| 6091 | _In_opt_ const IUnknown *pData); | ||
| 6092 | |||
| 6093 | DECLSPEC_XFGVIRT(ID3D12Object, SetName) | ||
| 6094 | HRESULT ( STDMETHODCALLTYPE *SetName )( | ||
| 6095 | ID3D12VideoEncodeCommandList1 * This, | ||
| 6096 | _In_z_ LPCWSTR Name); | ||
| 6097 | |||
| 6098 | DECLSPEC_XFGVIRT(ID3D12DeviceChild, GetDevice) | ||
| 6099 | HRESULT ( STDMETHODCALLTYPE *GetDevice )( | ||
| 6100 | ID3D12VideoEncodeCommandList1 * This, | ||
| 6101 | REFIID riid, | ||
| 6102 | _COM_Outptr_opt_ void **ppvDevice); | ||
| 6103 | |||
| 6104 | DECLSPEC_XFGVIRT(ID3D12CommandList, GetType) | ||
| 6105 | D3D12_COMMAND_LIST_TYPE ( STDMETHODCALLTYPE *GetType )( | ||
| 6106 | ID3D12VideoEncodeCommandList1 * This); | ||
| 6107 | |||
| 6108 | DECLSPEC_XFGVIRT(ID3D12VideoEncodeCommandList, Close) | ||
| 6109 | HRESULT ( STDMETHODCALLTYPE *Close )( | ||
| 6110 | ID3D12VideoEncodeCommandList1 * This); | ||
| 6111 | |||
| 6112 | DECLSPEC_XFGVIRT(ID3D12VideoEncodeCommandList, Reset) | ||
| 6113 | HRESULT ( STDMETHODCALLTYPE *Reset )( | ||
| 6114 | ID3D12VideoEncodeCommandList1 * This, | ||
| 6115 | _In_ ID3D12CommandAllocator *pAllocator); | ||
| 6116 | |||
| 6117 | DECLSPEC_XFGVIRT(ID3D12VideoEncodeCommandList, ClearState) | ||
| 6118 | void ( STDMETHODCALLTYPE *ClearState )( | ||
| 6119 | ID3D12VideoEncodeCommandList1 * This); | ||
| 6120 | |||
| 6121 | DECLSPEC_XFGVIRT(ID3D12VideoEncodeCommandList, ResourceBarrier) | ||
| 6122 | void ( STDMETHODCALLTYPE *ResourceBarrier )( | ||
| 6123 | ID3D12VideoEncodeCommandList1 * This, | ||
| 6124 | _In_ UINT NumBarriers, | ||
| 6125 | _In_reads_(NumBarriers) const D3D12_RESOURCE_BARRIER *pBarriers); | ||
| 6126 | |||
| 6127 | DECLSPEC_XFGVIRT(ID3D12VideoEncodeCommandList, DiscardResource) | ||
| 6128 | void ( STDMETHODCALLTYPE *DiscardResource )( | ||
| 6129 | ID3D12VideoEncodeCommandList1 * This, | ||
| 6130 | _In_ ID3D12Resource *pResource, | ||
| 6131 | _In_opt_ const D3D12_DISCARD_REGION *pRegion); | ||
| 6132 | |||
| 6133 | DECLSPEC_XFGVIRT(ID3D12VideoEncodeCommandList, BeginQuery) | ||
| 6134 | void ( STDMETHODCALLTYPE *BeginQuery )( | ||
| 6135 | ID3D12VideoEncodeCommandList1 * This, | ||
| 6136 | _In_ ID3D12QueryHeap *pQueryHeap, | ||
| 6137 | _In_ D3D12_QUERY_TYPE Type, | ||
| 6138 | _In_ UINT Index); | ||
| 6139 | |||
| 6140 | DECLSPEC_XFGVIRT(ID3D12VideoEncodeCommandList, EndQuery) | ||
| 6141 | void ( STDMETHODCALLTYPE *EndQuery )( | ||
| 6142 | ID3D12VideoEncodeCommandList1 * This, | ||
| 6143 | _In_ ID3D12QueryHeap *pQueryHeap, | ||
| 6144 | _In_ D3D12_QUERY_TYPE Type, | ||
| 6145 | _In_ UINT Index); | ||
| 6146 | |||
| 6147 | DECLSPEC_XFGVIRT(ID3D12VideoEncodeCommandList, ResolveQueryData) | ||
| 6148 | void ( STDMETHODCALLTYPE *ResolveQueryData )( | ||
| 6149 | ID3D12VideoEncodeCommandList1 * This, | ||
| 6150 | _In_ ID3D12QueryHeap *pQueryHeap, | ||
| 6151 | _In_ D3D12_QUERY_TYPE Type, | ||
| 6152 | _In_ UINT StartIndex, | ||
| 6153 | _In_ UINT NumQueries, | ||
| 6154 | _In_ ID3D12Resource *pDestinationBuffer, | ||
| 6155 | _In_ UINT64 AlignedDestinationBufferOffset); | ||
| 6156 | |||
| 6157 | DECLSPEC_XFGVIRT(ID3D12VideoEncodeCommandList, SetPredication) | ||
| 6158 | void ( STDMETHODCALLTYPE *SetPredication )( | ||
| 6159 | ID3D12VideoEncodeCommandList1 * This, | ||
| 6160 | _In_opt_ ID3D12Resource *pBuffer, | ||
| 6161 | _In_ UINT64 AlignedBufferOffset, | ||
| 6162 | _In_ D3D12_PREDICATION_OP Operation); | ||
| 6163 | |||
| 6164 | DECLSPEC_XFGVIRT(ID3D12VideoEncodeCommandList, SetMarker) | ||
| 6165 | void ( STDMETHODCALLTYPE *SetMarker )( | ||
| 6166 | ID3D12VideoEncodeCommandList1 * This, | ||
| 6167 | UINT Metadata, | ||
| 6168 | _In_reads_bytes_opt_(Size) const void *pData, | ||
| 6169 | UINT Size); | ||
| 6170 | |||
| 6171 | DECLSPEC_XFGVIRT(ID3D12VideoEncodeCommandList, BeginEvent) | ||
| 6172 | void ( STDMETHODCALLTYPE *BeginEvent )( | ||
| 6173 | ID3D12VideoEncodeCommandList1 * This, | ||
| 6174 | UINT Metadata, | ||
| 6175 | _In_reads_bytes_opt_(Size) const void *pData, | ||
| 6176 | UINT Size); | ||
| 6177 | |||
| 6178 | DECLSPEC_XFGVIRT(ID3D12VideoEncodeCommandList, EndEvent) | ||
| 6179 | void ( STDMETHODCALLTYPE *EndEvent )( | ||
| 6180 | ID3D12VideoEncodeCommandList1 * This); | ||
| 6181 | |||
| 6182 | DECLSPEC_XFGVIRT(ID3D12VideoEncodeCommandList, EstimateMotion) | ||
| 6183 | void ( STDMETHODCALLTYPE *EstimateMotion )( | ||
| 6184 | ID3D12VideoEncodeCommandList1 * This, | ||
| 6185 | _In_ ID3D12VideoMotionEstimator *pMotionEstimator, | ||
| 6186 | _In_ const D3D12_VIDEO_MOTION_ESTIMATOR_OUTPUT *pOutputArguments, | ||
| 6187 | _In_ const D3D12_VIDEO_MOTION_ESTIMATOR_INPUT *pInputArguments); | ||
| 6188 | |||
| 6189 | DECLSPEC_XFGVIRT(ID3D12VideoEncodeCommandList, ResolveMotionVectorHeap) | ||
| 6190 | void ( STDMETHODCALLTYPE *ResolveMotionVectorHeap )( | ||
| 6191 | ID3D12VideoEncodeCommandList1 * This, | ||
| 6192 | const D3D12_RESOLVE_VIDEO_MOTION_VECTOR_HEAP_OUTPUT *pOutputArguments, | ||
| 6193 | const D3D12_RESOLVE_VIDEO_MOTION_VECTOR_HEAP_INPUT *pInputArguments); | ||
| 6194 | |||
| 6195 | DECLSPEC_XFGVIRT(ID3D12VideoEncodeCommandList, WriteBufferImmediate) | ||
| 6196 | void ( STDMETHODCALLTYPE *WriteBufferImmediate )( | ||
| 6197 | ID3D12VideoEncodeCommandList1 * This, | ||
| 6198 | UINT Count, | ||
| 6199 | _In_reads_(Count) const D3D12_WRITEBUFFERIMMEDIATE_PARAMETER *pParams, | ||
| 6200 | _In_reads_opt_(Count) const D3D12_WRITEBUFFERIMMEDIATE_MODE *pModes); | ||
| 6201 | |||
| 6202 | DECLSPEC_XFGVIRT(ID3D12VideoEncodeCommandList, SetProtectedResourceSession) | ||
| 6203 | void ( STDMETHODCALLTYPE *SetProtectedResourceSession )( | ||
| 6204 | ID3D12VideoEncodeCommandList1 * This, | ||
| 6205 | _In_opt_ ID3D12ProtectedResourceSession *pProtectedResourceSession); | ||
| 6206 | |||
| 6207 | DECLSPEC_XFGVIRT(ID3D12VideoEncodeCommandList1, InitializeExtensionCommand) | ||
| 6208 | void ( STDMETHODCALLTYPE *InitializeExtensionCommand )( | ||
| 6209 | ID3D12VideoEncodeCommandList1 * This, | ||
| 6210 | _In_ ID3D12VideoExtensionCommand *pExtensionCommand, | ||
| 6211 | _In_reads_bytes_(InitializationParametersSizeInBytes) const void *pInitializationParameters, | ||
| 6212 | SIZE_T InitializationParametersSizeInBytes); | ||
| 6213 | |||
| 6214 | DECLSPEC_XFGVIRT(ID3D12VideoEncodeCommandList1, ExecuteExtensionCommand) | ||
| 6215 | void ( STDMETHODCALLTYPE *ExecuteExtensionCommand )( | ||
| 6216 | ID3D12VideoEncodeCommandList1 * This, | ||
| 6217 | _In_ ID3D12VideoExtensionCommand *pExtensionCommand, | ||
| 6218 | _In_reads_bytes_(ExecutionParametersSizeInBytes) const void *pExecutionParameters, | ||
| 6219 | SIZE_T ExecutionParametersSizeInBytes); | ||
| 6220 | |||
| 6221 | END_INTERFACE | ||
| 6222 | } ID3D12VideoEncodeCommandList1Vtbl; | ||
| 6223 | |||
| 6224 | interface ID3D12VideoEncodeCommandList1 | ||
| 6225 | { | ||
| 6226 | CONST_VTBL struct ID3D12VideoEncodeCommandList1Vtbl *lpVtbl; | ||
| 6227 | }; | ||
| 6228 | |||
| 6229 | |||
| 6230 | |||
| 6231 | #ifdef COBJMACROS | ||
| 6232 | |||
| 6233 | |||
| 6234 | #define ID3D12VideoEncodeCommandList1_QueryInterface(This,riid,ppvObject) \ | ||
| 6235 | ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) | ||
| 6236 | |||
| 6237 | #define ID3D12VideoEncodeCommandList1_AddRef(This) \ | ||
| 6238 | ( (This)->lpVtbl -> AddRef(This) ) | ||
| 6239 | |||
| 6240 | #define ID3D12VideoEncodeCommandList1_Release(This) \ | ||
| 6241 | ( (This)->lpVtbl -> Release(This) ) | ||
| 6242 | |||
| 6243 | |||
| 6244 | #define ID3D12VideoEncodeCommandList1_GetPrivateData(This,guid,pDataSize,pData) \ | ||
| 6245 | ( (This)->lpVtbl -> GetPrivateData(This,guid,pDataSize,pData) ) | ||
| 6246 | |||
| 6247 | #define ID3D12VideoEncodeCommandList1_SetPrivateData(This,guid,DataSize,pData) \ | ||
| 6248 | ( (This)->lpVtbl -> SetPrivateData(This,guid,DataSize,pData) ) | ||
| 6249 | |||
| 6250 | #define ID3D12VideoEncodeCommandList1_SetPrivateDataInterface(This,guid,pData) \ | ||
| 6251 | ( (This)->lpVtbl -> SetPrivateDataInterface(This,guid,pData) ) | ||
| 6252 | |||
| 6253 | #define ID3D12VideoEncodeCommandList1_SetName(This,Name) \ | ||
| 6254 | ( (This)->lpVtbl -> SetName(This,Name) ) | ||
| 6255 | |||
| 6256 | |||
| 6257 | #define ID3D12VideoEncodeCommandList1_GetDevice(This,riid,ppvDevice) \ | ||
| 6258 | ( (This)->lpVtbl -> GetDevice(This,riid,ppvDevice) ) | ||
| 6259 | |||
| 6260 | |||
| 6261 | #define ID3D12VideoEncodeCommandList1_GetType(This) \ | ||
| 6262 | ( (This)->lpVtbl -> GetType(This) ) | ||
| 6263 | |||
| 6264 | |||
| 6265 | #define ID3D12VideoEncodeCommandList1_Close(This) \ | ||
| 6266 | ( (This)->lpVtbl -> Close(This) ) | ||
| 6267 | |||
| 6268 | #define ID3D12VideoEncodeCommandList1_Reset(This,pAllocator) \ | ||
| 6269 | ( (This)->lpVtbl -> Reset(This,pAllocator) ) | ||
| 6270 | |||
| 6271 | #define ID3D12VideoEncodeCommandList1_ClearState(This) \ | ||
| 6272 | ( (This)->lpVtbl -> ClearState(This) ) | ||
| 6273 | |||
| 6274 | #define ID3D12VideoEncodeCommandList1_ResourceBarrier(This,NumBarriers,pBarriers) \ | ||
| 6275 | ( (This)->lpVtbl -> ResourceBarrier(This,NumBarriers,pBarriers) ) | ||
| 6276 | |||
| 6277 | #define ID3D12VideoEncodeCommandList1_DiscardResource(This,pResource,pRegion) \ | ||
| 6278 | ( (This)->lpVtbl -> DiscardResource(This,pResource,pRegion) ) | ||
| 6279 | |||
| 6280 | #define ID3D12VideoEncodeCommandList1_BeginQuery(This,pQueryHeap,Type,Index) \ | ||
| 6281 | ( (This)->lpVtbl -> BeginQuery(This,pQueryHeap,Type,Index) ) | ||
| 6282 | |||
| 6283 | #define ID3D12VideoEncodeCommandList1_EndQuery(This,pQueryHeap,Type,Index) \ | ||
| 6284 | ( (This)->lpVtbl -> EndQuery(This,pQueryHeap,Type,Index) ) | ||
| 6285 | |||
| 6286 | #define ID3D12VideoEncodeCommandList1_ResolveQueryData(This,pQueryHeap,Type,StartIndex,NumQueries,pDestinationBuffer,AlignedDestinationBufferOffset) \ | ||
| 6287 | ( (This)->lpVtbl -> ResolveQueryData(This,pQueryHeap,Type,StartIndex,NumQueries,pDestinationBuffer,AlignedDestinationBufferOffset) ) | ||
| 6288 | |||
| 6289 | #define ID3D12VideoEncodeCommandList1_SetPredication(This,pBuffer,AlignedBufferOffset,Operation) \ | ||
| 6290 | ( (This)->lpVtbl -> SetPredication(This,pBuffer,AlignedBufferOffset,Operation) ) | ||
| 6291 | |||
| 6292 | #define ID3D12VideoEncodeCommandList1_SetMarker(This,Metadata,pData,Size) \ | ||
| 6293 | ( (This)->lpVtbl -> SetMarker(This,Metadata,pData,Size) ) | ||
| 6294 | |||
| 6295 | #define ID3D12VideoEncodeCommandList1_BeginEvent(This,Metadata,pData,Size) \ | ||
| 6296 | ( (This)->lpVtbl -> BeginEvent(This,Metadata,pData,Size) ) | ||
| 6297 | |||
| 6298 | #define ID3D12VideoEncodeCommandList1_EndEvent(This) \ | ||
| 6299 | ( (This)->lpVtbl -> EndEvent(This) ) | ||
| 6300 | |||
| 6301 | #define ID3D12VideoEncodeCommandList1_EstimateMotion(This,pMotionEstimator,pOutputArguments,pInputArguments) \ | ||
| 6302 | ( (This)->lpVtbl -> EstimateMotion(This,pMotionEstimator,pOutputArguments,pInputArguments) ) | ||
| 6303 | |||
| 6304 | #define ID3D12VideoEncodeCommandList1_ResolveMotionVectorHeap(This,pOutputArguments,pInputArguments) \ | ||
| 6305 | ( (This)->lpVtbl -> ResolveMotionVectorHeap(This,pOutputArguments,pInputArguments) ) | ||
| 6306 | |||
| 6307 | #define ID3D12VideoEncodeCommandList1_WriteBufferImmediate(This,Count,pParams,pModes) \ | ||
| 6308 | ( (This)->lpVtbl -> WriteBufferImmediate(This,Count,pParams,pModes) ) | ||
| 6309 | |||
| 6310 | #define ID3D12VideoEncodeCommandList1_SetProtectedResourceSession(This,pProtectedResourceSession) \ | ||
| 6311 | ( (This)->lpVtbl -> SetProtectedResourceSession(This,pProtectedResourceSession) ) | ||
| 6312 | |||
| 6313 | |||
| 6314 | #define ID3D12VideoEncodeCommandList1_InitializeExtensionCommand(This,pExtensionCommand,pInitializationParameters,InitializationParametersSizeInBytes) \ | ||
| 6315 | ( (This)->lpVtbl -> InitializeExtensionCommand(This,pExtensionCommand,pInitializationParameters,InitializationParametersSizeInBytes) ) | ||
| 6316 | |||
| 6317 | #define ID3D12VideoEncodeCommandList1_ExecuteExtensionCommand(This,pExtensionCommand,pExecutionParameters,ExecutionParametersSizeInBytes) \ | ||
| 6318 | ( (This)->lpVtbl -> ExecuteExtensionCommand(This,pExtensionCommand,pExecutionParameters,ExecutionParametersSizeInBytes) ) | ||
| 6319 | |||
| 6320 | #endif /* COBJMACROS */ | ||
| 6321 | |||
| 6322 | |||
| 6323 | #endif /* C style interface */ | ||
| 6324 | |||
| 6325 | |||
| 6326 | |||
| 6327 | |||
| 6328 | #endif /* __ID3D12VideoEncodeCommandList1_INTERFACE_DEFINED__ */ | ||
| 6329 | |||
| 6330 | |||
| 6331 | /* interface __MIDL_itf_d3d12video_0000_0022 */ | ||
| 6332 | /* [local] */ | ||
| 6333 | |||
| 6334 | DEFINE_GUID(D3D12_VIDEO_DECODE_PROFILE_MPEG2, 0xee27417f, 0x5e28, 0x4e65, 0xbe, 0xea, 0x1d, 0x26, 0xb5, 0x08, 0xad, 0xc9); | ||
| 6335 | DEFINE_GUID(D3D12_VIDEO_DECODE_PROFILE_MPEG1_AND_MPEG2, 0x86695f12, 0x340e, 0x4f04, 0x9f, 0xd3, 0x92, 0x53, 0xdd, 0x32, 0x74, 0x60); | ||
| 6336 | DEFINE_GUID(D3D12_VIDEO_DECODE_PROFILE_H264, 0x1b81be68, 0xa0c7, 0x11d3, 0xb9, 0x84, 0x00, 0xc0, 0x4f, 0x2e, 0x73, 0xc5); | ||
| 6337 | DEFINE_GUID(D3D12_VIDEO_DECODE_PROFILE_H264_STEREO_PROGRESSIVE, 0xd79be8da, 0x0cf1, 0x4c81, 0xb8, 0x2a, 0x69, 0xa4, 0xe2, 0x36, 0xf4, 0x3d); | ||
| 6338 | DEFINE_GUID(D3D12_VIDEO_DECODE_PROFILE_H264_STEREO, 0xf9aaccbb, 0xc2b6, 0x4cfc, 0x87, 0x79, 0x57, 0x07, 0xb1, 0x76, 0x05, 0x52); | ||
| 6339 | DEFINE_GUID(D3D12_VIDEO_DECODE_PROFILE_H264_MULTIVIEW, 0x705b9d82, 0x76cf, 0x49d6, 0xb7, 0xe6, 0xac, 0x88, 0x72, 0xdb, 0x01, 0x3c); | ||
| 6340 | DEFINE_GUID(D3D12_VIDEO_DECODE_PROFILE_VC1, 0x1b81beA3, 0xa0c7, 0x11d3, 0xb9, 0x84, 0x00, 0xc0, 0x4f, 0x2e, 0x73, 0xc5); | ||
| 6341 | DEFINE_GUID(D3D12_VIDEO_DECODE_PROFILE_VC1_D2010, 0x1b81beA4, 0xa0c7, 0x11d3, 0xb9, 0x84, 0x00, 0xc0, 0x4f, 0x2e, 0x73, 0xc5); | ||
| 6342 | DEFINE_GUID(D3D12_VIDEO_DECODE_PROFILE_MPEG4PT2_SIMPLE, 0xefd64d74, 0xc9e8,0x41d7,0xa5,0xe9,0xe9,0xb0,0xe3,0x9f,0xa3,0x19); | ||
| 6343 | DEFINE_GUID(D3D12_VIDEO_DECODE_PROFILE_MPEG4PT2_ADVSIMPLE_NOGMC, 0xed418a9f, 0x010d, 0x4eda, 0x9a, 0xe3, 0x9a, 0x65, 0x35, 0x8d, 0x8d, 0x2e); | ||
| 6344 | DEFINE_GUID(D3D12_VIDEO_DECODE_PROFILE_HEVC_MAIN, 0x5b11d51b, 0x2f4c, 0x4452, 0xbc, 0xc3, 0x09, 0xf2, 0xa1, 0x16, 0x0c, 0xc0); | ||
| 6345 | DEFINE_GUID(D3D12_VIDEO_DECODE_PROFILE_HEVC_MAIN10, 0x107af0e0, 0xef1a, 0x4d19, 0xab, 0xa8, 0x67, 0xa1, 0x63, 0x07, 0x3d, 0x13); | ||
| 6346 | DEFINE_GUID(D3D12_VIDEO_DECODE_PROFILE_HEVC_MONOCHROME, 0x0685b993, 0x3d8c, 0x43a0, 0x8b, 0x28, 0xd7, 0x4c, 0x2d, 0x68, 0x99, 0xa4); | ||
| 6347 | DEFINE_GUID(D3D12_VIDEO_DECODE_PROFILE_HEVC_MONOCHROME10, 0x142a1d0f, 0x69dd, 0x4ec9, 0x85, 0x91, 0xb1, 0x2f, 0xfc, 0xb9, 0x1a, 0x29); | ||
| 6348 | DEFINE_GUID(D3D12_VIDEO_DECODE_PROFILE_HEVC_MAIN12, 0x1a72925f, 0x0c2c, 0x4f15, 0x96, 0xfb, 0xb1, 0x7d, 0x14, 0x73, 0x60, 0x3f); | ||
| 6349 | DEFINE_GUID(D3D12_VIDEO_DECODE_PROFILE_HEVC_MAIN10_422, 0x0bac4fe5, 0x1532, 0x4429, 0xa8, 0x54, 0xf8, 0x4d, 0xe0, 0x49, 0x53, 0xdb); | ||
| 6350 | DEFINE_GUID(D3D12_VIDEO_DECODE_PROFILE_HEVC_MAIN12_422, 0x55bcac81, 0xf311, 0x4093, 0xa7, 0xd0, 0x1c, 0xbc, 0x0b, 0x84, 0x9b, 0xee); | ||
| 6351 | DEFINE_GUID(D3D12_VIDEO_DECODE_PROFILE_HEVC_MAIN_444, 0x4008018f, 0xf537, 0x4b36, 0x98, 0xcf, 0x61, 0xaf, 0x8a, 0x2c, 0x1a, 0x33); | ||
| 6352 | DEFINE_GUID(D3D12_VIDEO_DECODE_PROFILE_HEVC_MAIN10_EXT, 0x9cc55490, 0xe37c, 0x4932, 0x86, 0x84, 0x49, 0x20, 0xf9, 0xf6, 0x40, 0x9c); | ||
| 6353 | DEFINE_GUID(D3D12_VIDEO_DECODE_PROFILE_HEVC_MAIN10_444, 0x0dabeffa, 0x4458, 0x4602, 0xbc, 0x03, 0x07, 0x95, 0x65, 0x9d, 0x61, 0x7c); | ||
| 6354 | DEFINE_GUID(D3D12_VIDEO_DECODE_PROFILE_HEVC_MAIN12_444, 0x9798634d, 0xfe9d, 0x48e5, 0xb4, 0xda, 0xdb, 0xec, 0x45, 0xb3, 0xdf, 0x01); | ||
| 6355 | DEFINE_GUID(D3D12_VIDEO_DECODE_PROFILE_HEVC_MAIN16, 0xa4fbdbb0, 0xa113, 0x482b, 0xa2, 0x32, 0x63, 0x5c, 0xc0, 0x69, 0x7f, 0x6d); | ||
| 6356 | DEFINE_GUID(D3D12_VIDEO_DECODE_PROFILE_VP9, 0x463707f8, 0xa1d0, 0x4585, 0x87, 0x6d, 0x83, 0xaa, 0x6d, 0x60, 0xb8, 0x9e); | ||
| 6357 | DEFINE_GUID(D3D12_VIDEO_DECODE_PROFILE_VP9_10BIT_PROFILE2, 0xa4c749ef, 0x6ecf, 0x48aa, 0x84, 0x48, 0x50, 0xa7, 0xa1, 0x16, 0x5f, 0xf7); | ||
| 6358 | DEFINE_GUID(D3D12_VIDEO_DECODE_PROFILE_VP8, 0x90b899ea, 0x3a62, 0x4705, 0x88, 0xb3, 0x8d, 0xf0, 0x4b, 0x27, 0x44, 0xe7); | ||
| 6359 | DEFINE_GUID(D3D12_VIDEO_DECODE_PROFILE_AV1_PROFILE0, 0xb8be4ccb, 0xcf53, 0x46ba, 0x8d, 0x59, 0xd6, 0xb8, 0xa6, 0xda, 0x5d, 0x2a); | ||
| 6360 | DEFINE_GUID(D3D12_VIDEO_DECODE_PROFILE_AV1_PROFILE1, 0x6936ff0f, 0x45b1, 0x4163, 0x9c, 0xc1, 0x64, 0x6e, 0xf6, 0x94, 0x61, 0x08); | ||
| 6361 | DEFINE_GUID(D3D12_VIDEO_DECODE_PROFILE_AV1_PROFILE2, 0x0c5f2aa1, 0xe541, 0x4089, 0xbb, 0x7b, 0x98, 0x11, 0x0a, 0x19, 0xd7, 0xc8); | ||
| 6362 | DEFINE_GUID(D3D12_VIDEO_DECODE_PROFILE_AV1_12BIT_PROFILE2, 0x17127009, 0xa00f, 0x4ce1, 0x99, 0x4e, 0xbf, 0x40, 0x81, 0xf6, 0xf3, 0xf0); | ||
| 6363 | DEFINE_GUID(D3D12_VIDEO_DECODE_PROFILE_AV1_12BIT_PROFILE2_420, 0x2d80bed6, 0x9cac, 0x4835, 0x9e, 0x91, 0x32, 0x7b, 0xbc, 0x4f, 0x9e, 0xe8); | ||
| 6364 | DEFINE_GUID(D3D12_VIDEO_DECODE_PROFILE_MJPEG_VLD_420, 0x725cb506, 0xc29, 0x43c4, 0x94, 0x40, 0x8e, 0x93, 0x97, 0x90, 0x3a, 0x4); | ||
| 6365 | DEFINE_GUID(D3D12_VIDEO_DECODE_PROFILE_MJPEG_VLD_422, 0x5b77b9cd, 0x1a35, 0x4c30, 0x9f, 0xd8, 0xef, 0x4b, 0x60, 0xc0, 0x35, 0xdd); | ||
| 6366 | DEFINE_GUID(D3D12_VIDEO_DECODE_PROFILE_MJPEG_VLD_444, 0xd95161f9, 0xd44, 0x47e6, 0xbc, 0xf5, 0x1b, 0xfb, 0xfb, 0x26, 0x8f, 0x97); | ||
| 6367 | DEFINE_GUID(D3D12_VIDEO_DECODE_PROFILE_MJPEG_VLD_4444, 0xc91748d5, 0xfd18, 0x4aca, 0x9d, 0xb3, 0x3a, 0x66, 0x34, 0xab, 0x54, 0x7d); | ||
| 6368 | DEFINE_GUID(D3D12_VIDEO_DECODE_PROFILE_JPEG_VLD_420, 0xcf782c83, 0xbef5, 0x4a2c, 0x87, 0xcb, 0x60, 0x19, 0xe7, 0xb1, 0x75, 0xac); | ||
| 6369 | DEFINE_GUID(D3D12_VIDEO_DECODE_PROFILE_JPEG_VLD_422, 0xf04df417, 0xeee2, 0x4067, 0xa7, 0x78, 0xf3, 0x5c, 0x15, 0xab, 0x97, 0x21); | ||
| 6370 | DEFINE_GUID(D3D12_VIDEO_DECODE_PROFILE_JPEG_VLD_444, 0x4cd00e17, 0x89ba, 0x48ef, 0xb9, 0xf9, 0xed, 0xcb, 0x82, 0x71, 0x3f, 0x65); | ||
| 6371 | typedef | ||
| 6372 | enum D3D12_VIDEO_ENCODER_AV1_PROFILE | ||
| 6373 | { | ||
| 6374 | D3D12_VIDEO_ENCODER_AV1_PROFILE_MAIN = 0, | ||
| 6375 | D3D12_VIDEO_ENCODER_AV1_PROFILE_HIGH = 1, | ||
| 6376 | D3D12_VIDEO_ENCODER_AV1_PROFILE_PROFESSIONAL = 2 | ||
| 6377 | } D3D12_VIDEO_ENCODER_AV1_PROFILE; | ||
| 6378 | |||
| 6379 | typedef | ||
| 6380 | enum D3D12_VIDEO_ENCODER_AV1_LEVELS | ||
| 6381 | { | ||
| 6382 | D3D12_VIDEO_ENCODER_AV1_LEVELS_2_0 = 0, | ||
| 6383 | D3D12_VIDEO_ENCODER_AV1_LEVELS_2_1 = 1, | ||
| 6384 | D3D12_VIDEO_ENCODER_AV1_LEVELS_2_2 = 2, | ||
| 6385 | D3D12_VIDEO_ENCODER_AV1_LEVELS_2_3 = 3, | ||
| 6386 | D3D12_VIDEO_ENCODER_AV1_LEVELS_3_0 = 4, | ||
| 6387 | D3D12_VIDEO_ENCODER_AV1_LEVELS_3_1 = 5, | ||
| 6388 | D3D12_VIDEO_ENCODER_AV1_LEVELS_3_2 = 6, | ||
| 6389 | D3D12_VIDEO_ENCODER_AV1_LEVELS_3_3 = 7, | ||
| 6390 | D3D12_VIDEO_ENCODER_AV1_LEVELS_4_0 = 8, | ||
| 6391 | D3D12_VIDEO_ENCODER_AV1_LEVELS_4_1 = 9, | ||
| 6392 | D3D12_VIDEO_ENCODER_AV1_LEVELS_4_2 = 10, | ||
| 6393 | D3D12_VIDEO_ENCODER_AV1_LEVELS_4_3 = 11, | ||
| 6394 | D3D12_VIDEO_ENCODER_AV1_LEVELS_5_0 = 12, | ||
| 6395 | D3D12_VIDEO_ENCODER_AV1_LEVELS_5_1 = 13, | ||
| 6396 | D3D12_VIDEO_ENCODER_AV1_LEVELS_5_2 = 14, | ||
| 6397 | D3D12_VIDEO_ENCODER_AV1_LEVELS_5_3 = 15, | ||
| 6398 | D3D12_VIDEO_ENCODER_AV1_LEVELS_6_0 = 16, | ||
| 6399 | D3D12_VIDEO_ENCODER_AV1_LEVELS_6_1 = 17, | ||
| 6400 | D3D12_VIDEO_ENCODER_AV1_LEVELS_6_2 = 18, | ||
| 6401 | D3D12_VIDEO_ENCODER_AV1_LEVELS_6_3 = 19, | ||
| 6402 | D3D12_VIDEO_ENCODER_AV1_LEVELS_7_0 = 20, | ||
| 6403 | D3D12_VIDEO_ENCODER_AV1_LEVELS_7_1 = 21, | ||
| 6404 | D3D12_VIDEO_ENCODER_AV1_LEVELS_7_2 = 22, | ||
| 6405 | D3D12_VIDEO_ENCODER_AV1_LEVELS_7_3 = 23 | ||
| 6406 | } D3D12_VIDEO_ENCODER_AV1_LEVELS; | ||
| 6407 | |||
| 6408 | typedef | ||
| 6409 | enum D3D12_VIDEO_ENCODER_AV1_TIER | ||
| 6410 | { | ||
| 6411 | D3D12_VIDEO_ENCODER_AV1_TIER_MAIN = 0, | ||
| 6412 | D3D12_VIDEO_ENCODER_AV1_TIER_HIGH = 1 | ||
| 6413 | } D3D12_VIDEO_ENCODER_AV1_TIER; | ||
| 6414 | |||
| 6415 | typedef struct D3D12_VIDEO_ENCODER_AV1_LEVEL_TIER_CONSTRAINTS | ||
| 6416 | { | ||
| 6417 | D3D12_VIDEO_ENCODER_AV1_LEVELS Level; | ||
| 6418 | D3D12_VIDEO_ENCODER_AV1_TIER Tier; | ||
| 6419 | } D3D12_VIDEO_ENCODER_AV1_LEVEL_TIER_CONSTRAINTS; | ||
| 6420 | |||
| 6421 | typedef | ||
| 6422 | enum D3D12_VIDEO_ENCODER_AV1_FEATURE_FLAGS | ||
| 6423 | { | ||
| 6424 | D3D12_VIDEO_ENCODER_AV1_FEATURE_FLAG_NONE = 0, | ||
| 6425 | D3D12_VIDEO_ENCODER_AV1_FEATURE_FLAG_128x128_SUPERBLOCK = 0x1, | ||
| 6426 | D3D12_VIDEO_ENCODER_AV1_FEATURE_FLAG_FILTER_INTRA = 0x2, | ||
| 6427 | D3D12_VIDEO_ENCODER_AV1_FEATURE_FLAG_INTRA_EDGE_FILTER = 0x4, | ||
| 6428 | D3D12_VIDEO_ENCODER_AV1_FEATURE_FLAG_INTERINTRA_COMPOUND = 0x8, | ||
| 6429 | D3D12_VIDEO_ENCODER_AV1_FEATURE_FLAG_MASKED_COMPOUND = 0x10, | ||
| 6430 | D3D12_VIDEO_ENCODER_AV1_FEATURE_FLAG_WARPED_MOTION = 0x20, | ||
| 6431 | D3D12_VIDEO_ENCODER_AV1_FEATURE_FLAG_DUAL_FILTER = 0x40, | ||
| 6432 | D3D12_VIDEO_ENCODER_AV1_FEATURE_FLAG_JNT_COMP = 0x80, | ||
| 6433 | D3D12_VIDEO_ENCODER_AV1_FEATURE_FLAG_FORCED_INTEGER_MOTION_VECTORS = 0x100, | ||
| 6434 | D3D12_VIDEO_ENCODER_AV1_FEATURE_FLAG_SUPER_RESOLUTION = 0x200, | ||
| 6435 | D3D12_VIDEO_ENCODER_AV1_FEATURE_FLAG_LOOP_RESTORATION_FILTER = 0x400, | ||
| 6436 | D3D12_VIDEO_ENCODER_AV1_FEATURE_FLAG_PALETTE_ENCODING = 0x800, | ||
| 6437 | D3D12_VIDEO_ENCODER_AV1_FEATURE_FLAG_CDEF_FILTERING = 0x1000, | ||
| 6438 | D3D12_VIDEO_ENCODER_AV1_FEATURE_FLAG_INTRA_BLOCK_COPY = 0x2000, | ||
| 6439 | D3D12_VIDEO_ENCODER_AV1_FEATURE_FLAG_FRAME_REFERENCE_MOTION_VECTORS = 0x4000, | ||
| 6440 | D3D12_VIDEO_ENCODER_AV1_FEATURE_FLAG_ORDER_HINT_TOOLS = 0x8000, | ||
| 6441 | D3D12_VIDEO_ENCODER_AV1_FEATURE_FLAG_AUTO_SEGMENTATION = 0x10000, | ||
| 6442 | D3D12_VIDEO_ENCODER_AV1_FEATURE_FLAG_CUSTOM_SEGMENTATION = 0x20000, | ||
| 6443 | D3D12_VIDEO_ENCODER_AV1_FEATURE_FLAG_LOOP_FILTER_DELTAS = 0x40000, | ||
| 6444 | D3D12_VIDEO_ENCODER_AV1_FEATURE_FLAG_QUANTIZATION_DELTAS = 0x80000, | ||
| 6445 | D3D12_VIDEO_ENCODER_AV1_FEATURE_FLAG_QUANTIZATION_MATRIX = 0x100000, | ||
| 6446 | D3D12_VIDEO_ENCODER_AV1_FEATURE_FLAG_REDUCED_TX_SET = 0x200000, | ||
| 6447 | D3D12_VIDEO_ENCODER_AV1_FEATURE_FLAG_MOTION_MODE_SWITCHABLE = 0x400000, | ||
| 6448 | D3D12_VIDEO_ENCODER_AV1_FEATURE_FLAG_ALLOW_HIGH_PRECISION_MV = 0x800000, | ||
| 6449 | D3D12_VIDEO_ENCODER_AV1_FEATURE_FLAG_SKIP_MODE_PRESENT = 0x1000000, | ||
| 6450 | D3D12_VIDEO_ENCODER_AV1_FEATURE_FLAG_DELTA_LF_PARAMS = 0x2000000 | ||
| 6451 | } D3D12_VIDEO_ENCODER_AV1_FEATURE_FLAGS; | ||
| 6452 | |||
| 6453 | DEFINE_ENUM_FLAG_OPERATORS(D3D12_VIDEO_ENCODER_AV1_FEATURE_FLAGS) | ||
| 6454 | typedef | ||
| 6455 | enum D3D12_VIDEO_ENCODER_AV1_TX_MODE | ||
| 6456 | { | ||
| 6457 | D3D12_VIDEO_ENCODER_AV1_TX_MODE_ONLY4x4 = 0, | ||
| 6458 | D3D12_VIDEO_ENCODER_AV1_TX_MODE_LARGEST = 1, | ||
| 6459 | D3D12_VIDEO_ENCODER_AV1_TX_MODE_SELECT = 2 | ||
| 6460 | } D3D12_VIDEO_ENCODER_AV1_TX_MODE; | ||
| 6461 | |||
| 6462 | typedef | ||
| 6463 | enum D3D12_VIDEO_ENCODER_AV1_TX_MODE_FLAGS | ||
| 6464 | { | ||
| 6465 | D3D12_VIDEO_ENCODER_AV1_TX_MODE_FLAG_NONE = 0, | ||
| 6466 | D3D12_VIDEO_ENCODER_AV1_TX_MODE_FLAG_ONLY4x4 = ( 1 << D3D12_VIDEO_ENCODER_AV1_TX_MODE_ONLY4x4 ) , | ||
| 6467 | D3D12_VIDEO_ENCODER_AV1_TX_MODE_FLAG_LARGEST = ( 1 << D3D12_VIDEO_ENCODER_AV1_TX_MODE_LARGEST ) , | ||
| 6468 | D3D12_VIDEO_ENCODER_AV1_TX_MODE_FLAG_SELECT = ( 1 << D3D12_VIDEO_ENCODER_AV1_TX_MODE_SELECT ) | ||
| 6469 | } D3D12_VIDEO_ENCODER_AV1_TX_MODE_FLAGS; | ||
| 6470 | |||
| 6471 | DEFINE_ENUM_FLAG_OPERATORS(D3D12_VIDEO_ENCODER_AV1_TX_MODE_FLAGS) | ||
| 6472 | typedef | ||
| 6473 | enum D3D12_VIDEO_ENCODER_AV1_INTERPOLATION_FILTERS | ||
| 6474 | { | ||
| 6475 | D3D12_VIDEO_ENCODER_AV1_INTERPOLATION_FILTERS_EIGHTTAP = 0, | ||
| 6476 | D3D12_VIDEO_ENCODER_AV1_INTERPOLATION_FILTERS_EIGHTTAP_SMOOTH = 1, | ||
| 6477 | D3D12_VIDEO_ENCODER_AV1_INTERPOLATION_FILTERS_EIGHTTAP_SHARP = 2, | ||
| 6478 | D3D12_VIDEO_ENCODER_AV1_INTERPOLATION_FILTERS_BILINEAR = 3, | ||
| 6479 | D3D12_VIDEO_ENCODER_AV1_INTERPOLATION_FILTERS_SWITCHABLE = 4 | ||
| 6480 | } D3D12_VIDEO_ENCODER_AV1_INTERPOLATION_FILTERS; | ||
| 6481 | |||
| 6482 | typedef | ||
| 6483 | enum D3D12_VIDEO_ENCODER_AV1_INTERPOLATION_FILTERS_FLAGS | ||
| 6484 | { | ||
| 6485 | D3D12_VIDEO_ENCODER_AV1_INTERPOLATION_FILTERS_FLAG_NONE = 0, | ||
| 6486 | D3D12_VIDEO_ENCODER_AV1_INTERPOLATION_FILTERS_FLAG_EIGHTTAP = ( 1 << D3D12_VIDEO_ENCODER_AV1_INTERPOLATION_FILTERS_EIGHTTAP ) , | ||
| 6487 | D3D12_VIDEO_ENCODER_AV1_INTERPOLATION_FILTERS_FLAG_EIGHTTAP_SMOOTH = ( 1 << D3D12_VIDEO_ENCODER_AV1_INTERPOLATION_FILTERS_EIGHTTAP_SMOOTH ) , | ||
| 6488 | D3D12_VIDEO_ENCODER_AV1_INTERPOLATION_FILTERS_FLAG_EIGHTTAP_SHARP = ( 1 << D3D12_VIDEO_ENCODER_AV1_INTERPOLATION_FILTERS_EIGHTTAP_SHARP ) , | ||
| 6489 | D3D12_VIDEO_ENCODER_AV1_INTERPOLATION_FILTERS_FLAG_BILINEAR = ( 1 << D3D12_VIDEO_ENCODER_AV1_INTERPOLATION_FILTERS_BILINEAR ) , | ||
| 6490 | D3D12_VIDEO_ENCODER_AV1_INTERPOLATION_FILTERS_FLAG_SWITCHABLE = ( 1 << D3D12_VIDEO_ENCODER_AV1_INTERPOLATION_FILTERS_SWITCHABLE ) | ||
| 6491 | } D3D12_VIDEO_ENCODER_AV1_INTERPOLATION_FILTERS_FLAGS; | ||
| 6492 | |||
| 6493 | DEFINE_ENUM_FLAG_OPERATORS(D3D12_VIDEO_ENCODER_AV1_INTERPOLATION_FILTERS_FLAGS) | ||
| 6494 | typedef | ||
| 6495 | enum D3D12_VIDEO_ENCODER_AV1_SEGMENTATION_BLOCK_SIZE | ||
| 6496 | { | ||
| 6497 | D3D12_VIDEO_ENCODER_AV1_SEGMENTATION_BLOCK_SIZE_4x4 = 0, | ||
| 6498 | D3D12_VIDEO_ENCODER_AV1_SEGMENTATION_BLOCK_SIZE_8x8 = 1, | ||
| 6499 | D3D12_VIDEO_ENCODER_AV1_SEGMENTATION_BLOCK_SIZE_16x16 = 2, | ||
| 6500 | D3D12_VIDEO_ENCODER_AV1_SEGMENTATION_BLOCK_SIZE_32x32 = 3, | ||
| 6501 | D3D12_VIDEO_ENCODER_AV1_SEGMENTATION_BLOCK_SIZE_64x64 = 4 | ||
| 6502 | } D3D12_VIDEO_ENCODER_AV1_SEGMENTATION_BLOCK_SIZE; | ||
| 6503 | |||
| 6504 | typedef | ||
| 6505 | enum D3D12_VIDEO_ENCODER_AV1_SEGMENTATION_MODE | ||
| 6506 | { | ||
| 6507 | D3D12_VIDEO_ENCODER_AV1_SEGMENTATION_MODE_DISABLED = 0, | ||
| 6508 | D3D12_VIDEO_ENCODER_AV1_SEGMENTATION_MODE_ALT_Q = 1, | ||
| 6509 | D3D12_VIDEO_ENCODER_AV1_SEGMENTATION_MODE_ALT_LF_Y_V = 2, | ||
| 6510 | D3D12_VIDEO_ENCODER_AV1_SEGMENTATION_MODE_ALT_LF_Y_H = 3, | ||
| 6511 | D3D12_VIDEO_ENCODER_AV1_SEGMENTATION_MODE_ALT_LF_U = 4, | ||
| 6512 | D3D12_VIDEO_ENCODER_AV1_SEGMENTATION_MODE_ALT_LF_V = 5, | ||
| 6513 | D3D12_VIDEO_ENCODER_AV1_SEGMENTATION_MODE_ALT_REF_FRAME = 6, | ||
| 6514 | D3D12_VIDEO_ENCODER_AV1_SEGMENTATION_MODE_ALT_SKIP = 7, | ||
| 6515 | D3D12_VIDEO_ENCODER_AV1_SEGMENTATION_MODE_ALT_GLOBALMV = 8 | ||
| 6516 | } D3D12_VIDEO_ENCODER_AV1_SEGMENTATION_MODE; | ||
| 6517 | |||
| 6518 | typedef | ||
| 6519 | enum D3D12_VIDEO_ENCODER_AV1_SEGMENTATION_MODE_FLAGS | ||
| 6520 | { | ||
| 6521 | D3D12_VIDEO_ENCODER_AV1_SEGMENTATION_MODE_FLAG_NONE = 0, | ||
| 6522 | D3D12_VIDEO_ENCODER_AV1_SEGMENTATION_MODE_FLAG_DISABLED = ( 1 << D3D12_VIDEO_ENCODER_AV1_SEGMENTATION_MODE_DISABLED ) , | ||
| 6523 | D3D12_VIDEO_ENCODER_AV1_SEGMENTATION_MODE_FLAG_ALT_Q = ( 1 << D3D12_VIDEO_ENCODER_AV1_SEGMENTATION_MODE_ALT_Q ) , | ||
| 6524 | D3D12_VIDEO_ENCODER_AV1_SEGMENTATION_MODE_FLAG_ALT_LF_Y_V = ( 1 << D3D12_VIDEO_ENCODER_AV1_SEGMENTATION_MODE_ALT_LF_Y_V ) , | ||
| 6525 | D3D12_VIDEO_ENCODER_AV1_SEGMENTATION_MODE_FLAG_ALT_LF_Y_H = ( 1 << D3D12_VIDEO_ENCODER_AV1_SEGMENTATION_MODE_ALT_LF_Y_H ) , | ||
| 6526 | D3D12_VIDEO_ENCODER_AV1_SEGMENTATION_MODE_FLAG_ALT_LF_U = ( 1 << D3D12_VIDEO_ENCODER_AV1_SEGMENTATION_MODE_ALT_LF_U ) , | ||
| 6527 | D3D12_VIDEO_ENCODER_AV1_SEGMENTATION_MODE_FLAG_ALT_LF_V = ( 1 << D3D12_VIDEO_ENCODER_AV1_SEGMENTATION_MODE_ALT_LF_V ) , | ||
| 6528 | D3D12_VIDEO_ENCODER_AV1_SEGMENTATION_MODE_FLAG_REF_FRAME = ( 1 << D3D12_VIDEO_ENCODER_AV1_SEGMENTATION_MODE_ALT_REF_FRAME ) , | ||
| 6529 | D3D12_VIDEO_ENCODER_AV1_SEGMENTATION_MODE_FLAG_ALT_SKIP = ( 1 << D3D12_VIDEO_ENCODER_AV1_SEGMENTATION_MODE_ALT_SKIP ) , | ||
| 6530 | D3D12_VIDEO_ENCODER_AV1_SEGMENTATION_MODE_FLAG_ALT_GLOBALMV = ( 1 << D3D12_VIDEO_ENCODER_AV1_SEGMENTATION_MODE_ALT_GLOBALMV ) | ||
| 6531 | } D3D12_VIDEO_ENCODER_AV1_SEGMENTATION_MODE_FLAGS; | ||
| 6532 | |||
| 6533 | DEFINE_ENUM_FLAG_OPERATORS(D3D12_VIDEO_ENCODER_AV1_SEGMENTATION_MODE_FLAGS) | ||
| 6534 | typedef | ||
| 6535 | enum D3D12_VIDEO_ENCODER_AV1_RESTORATION_TYPE | ||
| 6536 | { | ||
| 6537 | D3D12_VIDEO_ENCODER_AV1_RESTORATION_TYPE_DISABLED = 0, | ||
| 6538 | D3D12_VIDEO_ENCODER_AV1_RESTORATION_TYPE_SWITCHABLE = 1, | ||
| 6539 | D3D12_VIDEO_ENCODER_AV1_RESTORATION_TYPE_WIENER = 2, | ||
| 6540 | D3D12_VIDEO_ENCODER_AV1_RESTORATION_TYPE_SGRPROJ = 3 | ||
| 6541 | } D3D12_VIDEO_ENCODER_AV1_RESTORATION_TYPE; | ||
| 6542 | |||
| 6543 | typedef | ||
| 6544 | enum D3D12_VIDEO_ENCODER_AV1_RESTORATION_TILESIZE | ||
| 6545 | { | ||
| 6546 | D3D12_VIDEO_ENCODER_AV1_RESTORATION_TILESIZE_DISABLED = 0, | ||
| 6547 | D3D12_VIDEO_ENCODER_AV1_RESTORATION_TILESIZE_32x32 = 1, | ||
| 6548 | D3D12_VIDEO_ENCODER_AV1_RESTORATION_TILESIZE_64x64 = 2, | ||
| 6549 | D3D12_VIDEO_ENCODER_AV1_RESTORATION_TILESIZE_128x128 = 3, | ||
| 6550 | D3D12_VIDEO_ENCODER_AV1_RESTORATION_TILESIZE_256x256 = 4 | ||
| 6551 | } D3D12_VIDEO_ENCODER_AV1_RESTORATION_TILESIZE; | ||
| 6552 | |||
| 6553 | typedef | ||
| 6554 | enum D3D12_VIDEO_ENCODER_AV1_RESTORATION_SUPPORT_FLAGS | ||
| 6555 | { | ||
| 6556 | D3D12_VIDEO_ENCODER_AV1_RESTORATION_SUPPORT_FLAG_NOT_SUPPORTED = 0, | ||
| 6557 | D3D12_VIDEO_ENCODER_AV1_RESTORATION_SUPPORT_FLAG_32x32 = 0x1, | ||
| 6558 | D3D12_VIDEO_ENCODER_AV1_RESTORATION_SUPPORT_FLAG_64x64 = 0x2, | ||
| 6559 | D3D12_VIDEO_ENCODER_AV1_RESTORATION_SUPPORT_FLAG_128x128 = 0x4, | ||
| 6560 | D3D12_VIDEO_ENCODER_AV1_RESTORATION_SUPPORT_FLAG_256x256 = 0x8 | ||
| 6561 | } D3D12_VIDEO_ENCODER_AV1_RESTORATION_SUPPORT_FLAGS; | ||
| 6562 | |||
| 6563 | DEFINE_ENUM_FLAG_OPERATORS(D3D12_VIDEO_ENCODER_AV1_RESTORATION_SUPPORT_FLAGS) | ||
| 6564 | typedef | ||
| 6565 | enum D3D12_VIDEO_ENCODER_AV1_REFERENCE_WARPED_MOTION_TRANSFORMATION | ||
| 6566 | { | ||
| 6567 | D3D12_VIDEO_ENCODER_AV1_REFERENCE_WARPED_MOTION_TRANSFORMATION_IDENTITY = 0, | ||
| 6568 | D3D12_VIDEO_ENCODER_AV1_REFERENCE_WARPED_MOTION_TRANSFORMATION_TRANSLATION = 1, | ||
| 6569 | D3D12_VIDEO_ENCODER_AV1_REFERENCE_WARPED_MOTION_TRANSFORMATION_ROTZOOM = 2, | ||
| 6570 | D3D12_VIDEO_ENCODER_AV1_REFERENCE_WARPED_MOTION_TRANSFORMATION_AFFINE = 3 | ||
| 6571 | } D3D12_VIDEO_ENCODER_AV1_REFERENCE_WARPED_MOTION_TRANSFORMATION; | ||
| 6572 | |||
| 6573 | typedef | ||
| 6574 | enum D3D12_VIDEO_ENCODER_AV1_REFERENCE_WARPED_MOTION_TRANSFORMATION_FLAGS | ||
| 6575 | { | ||
| 6576 | D3D12_VIDEO_ENCODER_AV1_REFERENCE_WARPED_MOTION_TRANSFORMATION_FLAG_NONE = 0, | ||
| 6577 | D3D12_VIDEO_ENCODER_AV1_REFERENCE_WARPED_MOTION_TRANSFORMATION_FLAG_IDENTITY = ( 1 << D3D12_VIDEO_ENCODER_AV1_REFERENCE_WARPED_MOTION_TRANSFORMATION_IDENTITY ) , | ||
| 6578 | D3D12_VIDEO_ENCODER_AV1_REFERENCE_WARPED_MOTION_TRANSFORMATION_FLAG_TRANSLATION = ( 1 << D3D12_VIDEO_ENCODER_AV1_REFERENCE_WARPED_MOTION_TRANSFORMATION_TRANSLATION ) , | ||
| 6579 | D3D12_VIDEO_ENCODER_AV1_REFERENCE_WARPED_MOTION_TRANSFORMATION_FLAG_ROTZOOM = ( 1 << D3D12_VIDEO_ENCODER_AV1_REFERENCE_WARPED_MOTION_TRANSFORMATION_ROTZOOM ) , | ||
| 6580 | D3D12_VIDEO_ENCODER_AV1_REFERENCE_WARPED_MOTION_TRANSFORMATION_FLAG_AFFINE = ( 1 << D3D12_VIDEO_ENCODER_AV1_REFERENCE_WARPED_MOTION_TRANSFORMATION_AFFINE ) | ||
| 6581 | } D3D12_VIDEO_ENCODER_AV1_REFERENCE_WARPED_MOTION_TRANSFORMATION_FLAGS; | ||
| 6582 | |||
| 6583 | DEFINE_ENUM_FLAG_OPERATORS(D3D12_VIDEO_ENCODER_AV1_REFERENCE_WARPED_MOTION_TRANSFORMATION_FLAGS) | ||
| 6584 | typedef | ||
| 6585 | enum D3D12_VIDEO_ENCODER_AV1_POST_ENCODE_VALUES_FLAGS | ||
| 6586 | { | ||
| 6587 | D3D12_VIDEO_ENCODER_AV1_POST_ENCODE_VALUES_FLAG_NONE = 0, | ||
| 6588 | D3D12_VIDEO_ENCODER_AV1_POST_ENCODE_VALUES_FLAG_QUANTIZATION = 0x1, | ||
| 6589 | D3D12_VIDEO_ENCODER_AV1_POST_ENCODE_VALUES_FLAG_QUANTIZATION_DELTA = 0x2, | ||
| 6590 | D3D12_VIDEO_ENCODER_AV1_POST_ENCODE_VALUES_FLAG_LOOP_FILTER = 0x4, | ||
| 6591 | D3D12_VIDEO_ENCODER_AV1_POST_ENCODE_VALUES_FLAG_LOOP_FILTER_DELTA = 0x8, | ||
| 6592 | D3D12_VIDEO_ENCODER_AV1_POST_ENCODE_VALUES_FLAG_CDEF_DATA = 0x10, | ||
| 6593 | D3D12_VIDEO_ENCODER_AV1_POST_ENCODE_VALUES_FLAG_CONTEXT_UPDATE_TILE_ID = 0x20, | ||
| 6594 | D3D12_VIDEO_ENCODER_AV1_POST_ENCODE_VALUES_FLAG_COMPOUND_PREDICTION_MODE = 0x40, | ||
| 6595 | D3D12_VIDEO_ENCODER_AV1_POST_ENCODE_VALUES_FLAG_PRIMARY_REF_FRAME = 0x80, | ||
| 6596 | D3D12_VIDEO_ENCODER_AV1_POST_ENCODE_VALUES_FLAG_REFERENCE_INDICES = 0x100 | ||
| 6597 | } D3D12_VIDEO_ENCODER_AV1_POST_ENCODE_VALUES_FLAGS; | ||
| 6598 | |||
| 6599 | DEFINE_ENUM_FLAG_OPERATORS(D3D12_VIDEO_ENCODER_AV1_POST_ENCODE_VALUES_FLAGS) | ||
| 6600 | typedef struct D3D12_VIDEO_ENCODER_AV1_CODEC_CONFIGURATION_SUPPORT | ||
| 6601 | { | ||
| 6602 | D3D12_VIDEO_ENCODER_AV1_FEATURE_FLAGS SupportedFeatureFlags; | ||
| 6603 | D3D12_VIDEO_ENCODER_AV1_FEATURE_FLAGS RequiredFeatureFlags; | ||
| 6604 | D3D12_VIDEO_ENCODER_AV1_INTERPOLATION_FILTERS_FLAGS SupportedInterpolationFilters; | ||
| 6605 | D3D12_VIDEO_ENCODER_AV1_RESTORATION_SUPPORT_FLAGS SupportedRestorationParams[ 3 ][ 3 ]; | ||
| 6606 | D3D12_VIDEO_ENCODER_AV1_SEGMENTATION_MODE_FLAGS SupportedSegmentationModes; | ||
| 6607 | D3D12_VIDEO_ENCODER_AV1_TX_MODE_FLAGS SupportedTxModes[ 4 ]; | ||
| 6608 | D3D12_VIDEO_ENCODER_AV1_SEGMENTATION_BLOCK_SIZE SegmentationBlockSize; | ||
| 6609 | D3D12_VIDEO_ENCODER_AV1_POST_ENCODE_VALUES_FLAGS PostEncodeValuesFlags; | ||
| 6610 | UINT MaxTemporalLayers; | ||
| 6611 | UINT MaxSpatialLayers; | ||
| 6612 | } D3D12_VIDEO_ENCODER_AV1_CODEC_CONFIGURATION_SUPPORT; | ||
| 6613 | |||
| 6614 | typedef | ||
| 6615 | enum D3D12_VIDEO_ENCODER_AV1_FRAME_TYPE | ||
| 6616 | { | ||
| 6617 | D3D12_VIDEO_ENCODER_AV1_FRAME_TYPE_KEY_FRAME = 0, | ||
| 6618 | D3D12_VIDEO_ENCODER_AV1_FRAME_TYPE_INTER_FRAME = 1, | ||
| 6619 | D3D12_VIDEO_ENCODER_AV1_FRAME_TYPE_INTRA_ONLY_FRAME = 2, | ||
| 6620 | D3D12_VIDEO_ENCODER_AV1_FRAME_TYPE_SWITCH_FRAME = 3 | ||
| 6621 | } D3D12_VIDEO_ENCODER_AV1_FRAME_TYPE; | ||
| 6622 | |||
| 6623 | typedef | ||
| 6624 | enum D3D12_VIDEO_ENCODER_AV1_FRAME_TYPE_FLAGS | ||
| 6625 | { | ||
| 6626 | D3D12_VIDEO_ENCODER_AV1_FRAME_TYPE_FLAG_NONE = 0, | ||
| 6627 | D3D12_VIDEO_ENCODER_AV1_FRAME_TYPE_FLAG_KEY_FRAME = ( 1 << D3D12_VIDEO_ENCODER_AV1_FRAME_TYPE_KEY_FRAME ) , | ||
| 6628 | D3D12_VIDEO_ENCODER_AV1_FRAME_TYPE_FLAG_INTER_FRAME = ( 1 << D3D12_VIDEO_ENCODER_AV1_FRAME_TYPE_INTER_FRAME ) , | ||
| 6629 | D3D12_VIDEO_ENCODER_AV1_FRAME_TYPE_FLAG_INTRA_ONLY_FRAME = ( 1 << D3D12_VIDEO_ENCODER_AV1_FRAME_TYPE_INTRA_ONLY_FRAME ) , | ||
| 6630 | D3D12_VIDEO_ENCODER_AV1_FRAME_TYPE_FLAG_SWITCH_FRAME = ( 1 << D3D12_VIDEO_ENCODER_AV1_FRAME_TYPE_SWITCH_FRAME ) | ||
| 6631 | } D3D12_VIDEO_ENCODER_AV1_FRAME_TYPE_FLAGS; | ||
| 6632 | |||
| 6633 | DEFINE_ENUM_FLAG_OPERATORS(D3D12_VIDEO_ENCODER_AV1_FRAME_TYPE_FLAGS) | ||
| 6634 | typedef | ||
| 6635 | enum D3D12_VIDEO_ENCODER_AV1_COMP_PREDICTION_TYPE | ||
| 6636 | { | ||
| 6637 | D3D12_VIDEO_ENCODER_AV1_COMP_PREDICTION_TYPE_SINGLE_REFERENCE = 0, | ||
| 6638 | D3D12_VIDEO_ENCODER_AV1_COMP_PREDICTION_TYPE_COMPOUND_REFERENCE = 1 | ||
| 6639 | } D3D12_VIDEO_ENCODER_AV1_COMP_PREDICTION_TYPE; | ||
| 6640 | |||
| 6641 | typedef struct D3D12_VIDEO_ENCODER_CODEC_AV1_PICTURE_CONTROL_SUPPORT | ||
| 6642 | { | ||
| 6643 | D3D12_VIDEO_ENCODER_AV1_COMP_PREDICTION_TYPE PredictionMode; | ||
| 6644 | UINT MaxUniqueReferencesPerFrame; | ||
| 6645 | D3D12_VIDEO_ENCODER_AV1_FRAME_TYPE_FLAGS SupportedFrameTypes; | ||
| 6646 | D3D12_VIDEO_ENCODER_AV1_REFERENCE_WARPED_MOTION_TRANSFORMATION_FLAGS SupportedReferenceWarpedMotionFlags; | ||
| 6647 | } D3D12_VIDEO_ENCODER_CODEC_AV1_PICTURE_CONTROL_SUPPORT; | ||
| 6648 | |||
| 6649 | typedef struct D3D12_VIDEO_ENCODER_AV1_CODEC_CONFIGURATION | ||
| 6650 | { | ||
| 6651 | D3D12_VIDEO_ENCODER_AV1_FEATURE_FLAGS FeatureFlags; | ||
| 6652 | UINT OrderHintBitsMinus1; | ||
| 6653 | } D3D12_VIDEO_ENCODER_AV1_CODEC_CONFIGURATION; | ||
| 6654 | |||
| 6655 | typedef struct D3D12_VIDEO_ENCODER_AV1_SEQUENCE_STRUCTURE | ||
| 6656 | { | ||
| 6657 | UINT IntraDistance; | ||
| 6658 | UINT InterFramePeriod; | ||
| 6659 | } D3D12_VIDEO_ENCODER_AV1_SEQUENCE_STRUCTURE; | ||
| 6660 | |||
| 6661 | typedef struct D3D12_VIDEO_ENCODER_AV1_REFERENCE_PICTURE_WARPED_MOTION_INFO | ||
| 6662 | { | ||
| 6663 | D3D12_VIDEO_ENCODER_AV1_REFERENCE_WARPED_MOTION_TRANSFORMATION TransformationType; | ||
| 6664 | INT TransformationMatrix[ 8 ]; | ||
| 6665 | BOOL InvalidAffineSet; | ||
| 6666 | } D3D12_VIDEO_ENCODER_AV1_REFERENCE_PICTURE_WARPED_MOTION_INFO; | ||
| 6667 | |||
| 6668 | typedef struct D3D12_VIDEO_ENCODER_AV1_REFERENCE_PICTURE_DESCRIPTOR | ||
| 6669 | { | ||
| 6670 | UINT ReconstructedPictureResourceIndex; | ||
| 6671 | UINT TemporalLayerIndexPlus1; | ||
| 6672 | UINT SpatialLayerIndexPlus1; | ||
| 6673 | D3D12_VIDEO_ENCODER_AV1_FRAME_TYPE FrameType; | ||
| 6674 | D3D12_VIDEO_ENCODER_AV1_REFERENCE_PICTURE_WARPED_MOTION_INFO WarpedMotionInfo; | ||
| 6675 | UINT OrderHint; | ||
| 6676 | UINT PictureIndex; | ||
| 6677 | } D3D12_VIDEO_ENCODER_AV1_REFERENCE_PICTURE_DESCRIPTOR; | ||
| 6678 | |||
| 6679 | typedef | ||
| 6680 | enum D3D12_VIDEO_ENCODER_AV1_PICTURE_CONTROL_FLAGS | ||
| 6681 | { | ||
| 6682 | D3D12_VIDEO_ENCODER_AV1_PICTURE_CONTROL_FLAG_NONE = 0, | ||
| 6683 | D3D12_VIDEO_ENCODER_AV1_PICTURE_CONTROL_FLAG_ENABLE_ERROR_RESILIENT_MODE = 0x1, | ||
| 6684 | D3D12_VIDEO_ENCODER_AV1_PICTURE_CONTROL_FLAG_DISABLE_CDF_UPDATE = 0x2, | ||
| 6685 | D3D12_VIDEO_ENCODER_AV1_PICTURE_CONTROL_FLAG_ENABLE_PALETTE_ENCODING = 0x4, | ||
| 6686 | D3D12_VIDEO_ENCODER_AV1_PICTURE_CONTROL_FLAG_ENABLE_SKIP_MODE = 0x8, | ||
| 6687 | D3D12_VIDEO_ENCODER_AV1_PICTURE_CONTROL_FLAG_FRAME_REFERENCE_MOTION_VECTORS = 0x10, | ||
| 6688 | D3D12_VIDEO_ENCODER_AV1_PICTURE_CONTROL_FLAG_FORCE_INTEGER_MOTION_VECTORS = 0x20, | ||
| 6689 | D3D12_VIDEO_ENCODER_AV1_PICTURE_CONTROL_FLAG_ALLOW_INTRA_BLOCK_COPY = 0x40, | ||
| 6690 | D3D12_VIDEO_ENCODER_AV1_PICTURE_CONTROL_FLAG_USE_SUPER_RESOLUTION = 0x80, | ||
| 6691 | D3D12_VIDEO_ENCODER_AV1_PICTURE_CONTROL_FLAG_DISABLE_FRAME_END_UPDATE_CDF = 0x100, | ||
| 6692 | D3D12_VIDEO_ENCODER_AV1_PICTURE_CONTROL_FLAG_ENABLE_FRAME_SEGMENTATION_AUTO = 0x200, | ||
| 6693 | D3D12_VIDEO_ENCODER_AV1_PICTURE_CONTROL_FLAG_ENABLE_FRAME_SEGMENTATION_CUSTOM = 0x400, | ||
| 6694 | D3D12_VIDEO_ENCODER_AV1_PICTURE_CONTROL_FLAG_ENABLE_WARPED_MOTION = 0x800, | ||
| 6695 | D3D12_VIDEO_ENCODER_AV1_PICTURE_CONTROL_FLAG_REDUCED_TX_SET = 0x1000, | ||
| 6696 | D3D12_VIDEO_ENCODER_AV1_PICTURE_CONTROL_FLAG_MOTION_MODE_SWITCHABLE = 0x2000, | ||
| 6697 | D3D12_VIDEO_ENCODER_AV1_PICTURE_CONTROL_FLAG_ALLOW_HIGH_PRECISION_MV = 0x4000 | ||
| 6698 | } D3D12_VIDEO_ENCODER_AV1_PICTURE_CONTROL_FLAGS; | ||
| 6699 | |||
| 6700 | DEFINE_ENUM_FLAG_OPERATORS(D3D12_VIDEO_ENCODER_AV1_PICTURE_CONTROL_FLAGS) | ||
| 6701 | typedef struct D3D12_VIDEO_ENCODER_AV1_RESTORATION_CONFIG | ||
| 6702 | { | ||
| 6703 | D3D12_VIDEO_ENCODER_AV1_RESTORATION_TYPE FrameRestorationType[ 3 ]; | ||
| 6704 | D3D12_VIDEO_ENCODER_AV1_RESTORATION_TILESIZE LoopRestorationPixelSize[ 3 ]; | ||
| 6705 | } D3D12_VIDEO_ENCODER_AV1_RESTORATION_CONFIG; | ||
| 6706 | |||
| 6707 | typedef struct D3D12_VIDEO_ENCODER_AV1_SEGMENT_DATA | ||
| 6708 | { | ||
| 6709 | UINT64 EnabledFeatures; | ||
| 6710 | INT64 FeatureValue[ 8 ]; | ||
| 6711 | } D3D12_VIDEO_ENCODER_AV1_SEGMENT_DATA; | ||
| 6712 | |||
| 6713 | typedef struct D3D12_VIDEO_ENCODER_AV1_SEGMENTATION_CONFIG | ||
| 6714 | { | ||
| 6715 | UINT64 UpdateMap; | ||
| 6716 | UINT64 TemporalUpdate; | ||
| 6717 | UINT64 UpdateData; | ||
| 6718 | UINT64 NumSegments; | ||
| 6719 | D3D12_VIDEO_ENCODER_AV1_SEGMENT_DATA SegmentsData[ 8 ]; | ||
| 6720 | } D3D12_VIDEO_ENCODER_AV1_SEGMENTATION_CONFIG; | ||
| 6721 | |||
| 6722 | typedef struct D3D12_VIDEO_ENCODER_AV1_SEGMENTATION_MAP | ||
| 6723 | { | ||
| 6724 | UINT SegmentsMapByteSize; | ||
| 6725 | UINT8 *pSegmentsMap; | ||
| 6726 | } D3D12_VIDEO_ENCODER_AV1_SEGMENTATION_MAP; | ||
| 6727 | |||
| 6728 | typedef struct D3D12_VIDEO_ENCODER_CODEC_AV1_LOOP_FILTER_CONFIG | ||
| 6729 | { | ||
| 6730 | UINT64 LoopFilterLevel[ 2 ]; | ||
| 6731 | UINT64 LoopFilterLevelU; | ||
| 6732 | UINT64 LoopFilterLevelV; | ||
| 6733 | UINT64 LoopFilterSharpnessLevel; | ||
| 6734 | UINT64 LoopFilterDeltaEnabled; | ||
| 6735 | UINT64 UpdateRefDelta; | ||
| 6736 | INT64 RefDeltas[ 8 ]; | ||
| 6737 | UINT64 UpdateModeDelta; | ||
| 6738 | INT64 ModeDeltas[ 2 ]; | ||
| 6739 | } D3D12_VIDEO_ENCODER_CODEC_AV1_LOOP_FILTER_CONFIG; | ||
| 6740 | |||
| 6741 | typedef struct D3D12_VIDEO_ENCODER_CODEC_AV1_LOOP_FILTER_DELTA_CONFIG | ||
| 6742 | { | ||
| 6743 | UINT64 DeltaLFPresent; | ||
| 6744 | UINT64 DeltaLFMulti; | ||
| 6745 | UINT64 DeltaLFRes; | ||
| 6746 | } D3D12_VIDEO_ENCODER_CODEC_AV1_LOOP_FILTER_DELTA_CONFIG; | ||
| 6747 | |||
| 6748 | typedef struct D3D12_VIDEO_ENCODER_CODEC_AV1_QUANTIZATION_CONFIG | ||
| 6749 | { | ||
| 6750 | UINT64 BaseQIndex; | ||
| 6751 | INT64 YDCDeltaQ; | ||
| 6752 | INT64 UDCDeltaQ; | ||
| 6753 | INT64 UACDeltaQ; | ||
| 6754 | INT64 VDCDeltaQ; | ||
| 6755 | INT64 VACDeltaQ; | ||
| 6756 | UINT64 UsingQMatrix; | ||
| 6757 | UINT64 QMY; | ||
| 6758 | UINT64 QMU; | ||
| 6759 | UINT64 QMV; | ||
| 6760 | } D3D12_VIDEO_ENCODER_CODEC_AV1_QUANTIZATION_CONFIG; | ||
| 6761 | |||
| 6762 | typedef struct D3D12_VIDEO_ENCODER_CODEC_AV1_QUANTIZATION_DELTA_CONFIG | ||
| 6763 | { | ||
| 6764 | UINT64 DeltaQPresent; | ||
| 6765 | UINT64 DeltaQRes; | ||
| 6766 | } D3D12_VIDEO_ENCODER_CODEC_AV1_QUANTIZATION_DELTA_CONFIG; | ||
| 6767 | |||
| 6768 | typedef struct D3D12_VIDEO_ENCODER_AV1_CDEF_CONFIG | ||
| 6769 | { | ||
| 6770 | UINT64 CdefBits; | ||
| 6771 | UINT64 CdefDampingMinus3; | ||
| 6772 | UINT64 CdefYPriStrength[ 8 ]; | ||
| 6773 | UINT64 CdefUVPriStrength[ 8 ]; | ||
| 6774 | UINT64 CdefYSecStrength[ 8 ]; | ||
| 6775 | UINT64 CdefUVSecStrength[ 8 ]; | ||
| 6776 | } D3D12_VIDEO_ENCODER_AV1_CDEF_CONFIG; | ||
| 6777 | |||
| 6778 | typedef struct D3D12_VIDEO_ENCODER_AV1_PICTURE_CONTROL_CODEC_DATA | ||
| 6779 | { | ||
| 6780 | D3D12_VIDEO_ENCODER_AV1_PICTURE_CONTROL_FLAGS Flags; | ||
| 6781 | D3D12_VIDEO_ENCODER_AV1_FRAME_TYPE FrameType; | ||
| 6782 | D3D12_VIDEO_ENCODER_AV1_COMP_PREDICTION_TYPE CompoundPredictionType; | ||
| 6783 | D3D12_VIDEO_ENCODER_AV1_INTERPOLATION_FILTERS InterpolationFilter; | ||
| 6784 | D3D12_VIDEO_ENCODER_AV1_RESTORATION_CONFIG FrameRestorationConfig; | ||
| 6785 | D3D12_VIDEO_ENCODER_AV1_TX_MODE TxMode; | ||
| 6786 | UINT SuperResDenominator; | ||
| 6787 | UINT OrderHint; | ||
| 6788 | UINT PictureIndex; | ||
| 6789 | UINT TemporalLayerIndexPlus1; | ||
| 6790 | UINT SpatialLayerIndexPlus1; | ||
| 6791 | D3D12_VIDEO_ENCODER_AV1_REFERENCE_PICTURE_DESCRIPTOR ReferenceFramesReconPictureDescriptors[ 8 ]; | ||
| 6792 | UINT ReferenceIndices[ 7 ]; | ||
| 6793 | UINT PrimaryRefFrame; | ||
| 6794 | UINT RefreshFrameFlags; | ||
| 6795 | D3D12_VIDEO_ENCODER_CODEC_AV1_LOOP_FILTER_CONFIG LoopFilter; | ||
| 6796 | D3D12_VIDEO_ENCODER_CODEC_AV1_LOOP_FILTER_DELTA_CONFIG LoopFilterDelta; | ||
| 6797 | D3D12_VIDEO_ENCODER_CODEC_AV1_QUANTIZATION_CONFIG Quantization; | ||
| 6798 | D3D12_VIDEO_ENCODER_CODEC_AV1_QUANTIZATION_DELTA_CONFIG QuantizationDelta; | ||
| 6799 | D3D12_VIDEO_ENCODER_AV1_CDEF_CONFIG CDEF; | ||
| 6800 | UINT QPMapValuesCount; | ||
| 6801 | _Field_size_full_(QPMapValuesCount) INT16 *pRateControlQPMap; | ||
| 6802 | D3D12_VIDEO_ENCODER_AV1_SEGMENTATION_CONFIG CustomSegmentation; | ||
| 6803 | D3D12_VIDEO_ENCODER_AV1_SEGMENTATION_MAP CustomSegmentsMap; | ||
| 6804 | } D3D12_VIDEO_ENCODER_AV1_PICTURE_CONTROL_CODEC_DATA; | ||
| 6805 | |||
| 6806 | typedef struct D3D12_VIDEO_ENCODER_AV1_PICTURE_CONTROL_SUBREGIONS_LAYOUT_DATA_TILES | ||
| 6807 | { | ||
| 6808 | UINT64 RowCount; | ||
| 6809 | UINT64 ColCount; | ||
| 6810 | UINT64 RowHeights[ 64 ]; | ||
| 6811 | UINT64 ColWidths[ 64 ]; | ||
| 6812 | UINT64 ContextUpdateTileId; | ||
| 6813 | } D3D12_VIDEO_ENCODER_AV1_PICTURE_CONTROL_SUBREGIONS_LAYOUT_DATA_TILES; | ||
| 6814 | |||
| 6815 | typedef struct D3D12_VIDEO_ENCODER_AV1_POST_ENCODE_VALUES | ||
| 6816 | { | ||
| 6817 | UINT64 CompoundPredictionType; | ||
| 6818 | D3D12_VIDEO_ENCODER_CODEC_AV1_LOOP_FILTER_CONFIG LoopFilter; | ||
| 6819 | D3D12_VIDEO_ENCODER_CODEC_AV1_LOOP_FILTER_DELTA_CONFIG LoopFilterDelta; | ||
| 6820 | D3D12_VIDEO_ENCODER_CODEC_AV1_QUANTIZATION_CONFIG Quantization; | ||
| 6821 | D3D12_VIDEO_ENCODER_CODEC_AV1_QUANTIZATION_DELTA_CONFIG QuantizationDelta; | ||
| 6822 | D3D12_VIDEO_ENCODER_AV1_CDEF_CONFIG CDEF; | ||
| 6823 | D3D12_VIDEO_ENCODER_AV1_SEGMENTATION_CONFIG SegmentationConfig; | ||
| 6824 | UINT64 PrimaryRefFrame; | ||
| 6825 | UINT64 ReferenceIndices[ 7 ]; | ||
| 6826 | } D3D12_VIDEO_ENCODER_AV1_POST_ENCODE_VALUES; | ||
| 6827 | |||
| 6828 | typedef | ||
| 6829 | enum D3D12_VIDEO_ENCODER_RATE_CONTROL_MODE | ||
| 6830 | { | ||
| 6831 | D3D12_VIDEO_ENCODER_RATE_CONTROL_MODE_ABSOLUTE_QP_MAP = 0, | ||
| 6832 | D3D12_VIDEO_ENCODER_RATE_CONTROL_MODE_CQP = 1, | ||
| 6833 | D3D12_VIDEO_ENCODER_RATE_CONTROL_MODE_CBR = 2, | ||
| 6834 | D3D12_VIDEO_ENCODER_RATE_CONTROL_MODE_VBR = 3, | ||
| 6835 | D3D12_VIDEO_ENCODER_RATE_CONTROL_MODE_QVBR = 4 | ||
| 6836 | } D3D12_VIDEO_ENCODER_RATE_CONTROL_MODE; | ||
| 6837 | |||
| 6838 | typedef | ||
| 6839 | enum D3D12_VIDEO_ENCODER_RATE_CONTROL_FLAGS | ||
| 6840 | { | ||
| 6841 | D3D12_VIDEO_ENCODER_RATE_CONTROL_FLAG_NONE = 0, | ||
| 6842 | D3D12_VIDEO_ENCODER_RATE_CONTROL_FLAG_ENABLE_DELTA_QP = 0x1, | ||
| 6843 | D3D12_VIDEO_ENCODER_RATE_CONTROL_FLAG_ENABLE_FRAME_ANALYSIS = 0x2, | ||
| 6844 | D3D12_VIDEO_ENCODER_RATE_CONTROL_FLAG_ENABLE_QP_RANGE = 0x4, | ||
| 6845 | D3D12_VIDEO_ENCODER_RATE_CONTROL_FLAG_ENABLE_INITIAL_QP = 0x8, | ||
| 6846 | D3D12_VIDEO_ENCODER_RATE_CONTROL_FLAG_ENABLE_MAX_FRAME_SIZE = 0x10, | ||
| 6847 | D3D12_VIDEO_ENCODER_RATE_CONTROL_FLAG_ENABLE_VBV_SIZES = 0x20, | ||
| 6848 | D3D12_VIDEO_ENCODER_RATE_CONTROL_FLAG_ENABLE_EXTENSION1_SUPPORT = 0x40, | ||
| 6849 | D3D12_VIDEO_ENCODER_RATE_CONTROL_FLAG_ENABLE_QUALITY_VS_SPEED = 0x80, | ||
| 6850 | D3D12_VIDEO_ENCODER_RATE_CONTROL_FLAG_ENABLE_SPATIAL_ADAPTIVE_QP = 0x100 | ||
| 6851 | } D3D12_VIDEO_ENCODER_RATE_CONTROL_FLAGS; | ||
| 6852 | |||
| 6853 | DEFINE_ENUM_FLAG_OPERATORS(D3D12_VIDEO_ENCODER_RATE_CONTROL_FLAGS) | ||
| 6854 | typedef struct D3D12_VIDEO_ENCODER_RATE_CONTROL_CQP | ||
| 6855 | { | ||
| 6856 | UINT ConstantQP_FullIntracodedFrame; | ||
| 6857 | UINT ConstantQP_InterPredictedFrame_PrevRefOnly; | ||
| 6858 | UINT ConstantQP_InterPredictedFrame_BiDirectionalRef; | ||
| 6859 | } D3D12_VIDEO_ENCODER_RATE_CONTROL_CQP; | ||
| 6860 | |||
| 6861 | typedef struct D3D12_VIDEO_ENCODER_RATE_CONTROL_CQP1 | ||
| 6862 | { | ||
| 6863 | UINT ConstantQP_FullIntracodedFrame; | ||
| 6864 | UINT ConstantQP_InterPredictedFrame_PrevRefOnly; | ||
| 6865 | UINT ConstantQP_InterPredictedFrame_BiDirectionalRef; | ||
| 6866 | UINT QualityVsSpeed; | ||
| 6867 | } D3D12_VIDEO_ENCODER_RATE_CONTROL_CQP1; | ||
| 6868 | |||
| 6869 | typedef struct D3D12_VIDEO_ENCODER_RATE_CONTROL_CBR | ||
| 6870 | { | ||
| 6871 | UINT InitialQP; | ||
| 6872 | UINT MinQP; | ||
| 6873 | UINT MaxQP; | ||
| 6874 | UINT64 MaxFrameBitSize; | ||
| 6875 | UINT64 TargetBitRate; | ||
| 6876 | UINT64 VBVCapacity; | ||
| 6877 | UINT64 InitialVBVFullness; | ||
| 6878 | } D3D12_VIDEO_ENCODER_RATE_CONTROL_CBR; | ||
| 6879 | |||
| 6880 | typedef struct D3D12_VIDEO_ENCODER_RATE_CONTROL_CBR1 | ||
| 6881 | { | ||
| 6882 | UINT InitialQP; | ||
| 6883 | UINT MinQP; | ||
| 6884 | UINT MaxQP; | ||
| 6885 | UINT64 MaxFrameBitSize; | ||
| 6886 | UINT64 TargetBitRate; | ||
| 6887 | UINT64 VBVCapacity; | ||
| 6888 | UINT64 InitialVBVFullness; | ||
| 6889 | UINT QualityVsSpeed; | ||
| 6890 | } D3D12_VIDEO_ENCODER_RATE_CONTROL_CBR1; | ||
| 6891 | |||
| 6892 | typedef struct D3D12_VIDEO_ENCODER_RATE_CONTROL_VBR | ||
| 6893 | { | ||
| 6894 | UINT InitialQP; | ||
| 6895 | UINT MinQP; | ||
| 6896 | UINT MaxQP; | ||
| 6897 | UINT64 MaxFrameBitSize; | ||
| 6898 | UINT64 TargetAvgBitRate; | ||
| 6899 | UINT64 PeakBitRate; | ||
| 6900 | UINT64 VBVCapacity; | ||
| 6901 | UINT64 InitialVBVFullness; | ||
| 6902 | } D3D12_VIDEO_ENCODER_RATE_CONTROL_VBR; | ||
| 6903 | |||
| 6904 | typedef struct D3D12_VIDEO_ENCODER_RATE_CONTROL_VBR1 | ||
| 6905 | { | ||
| 6906 | UINT InitialQP; | ||
| 6907 | UINT MinQP; | ||
| 6908 | UINT MaxQP; | ||
| 6909 | UINT64 MaxFrameBitSize; | ||
| 6910 | UINT64 TargetAvgBitRate; | ||
| 6911 | UINT64 PeakBitRate; | ||
| 6912 | UINT64 VBVCapacity; | ||
| 6913 | UINT64 InitialVBVFullness; | ||
| 6914 | UINT QualityVsSpeed; | ||
| 6915 | } D3D12_VIDEO_ENCODER_RATE_CONTROL_VBR1; | ||
| 6916 | |||
| 6917 | typedef struct D3D12_VIDEO_ENCODER_RATE_CONTROL_QVBR | ||
| 6918 | { | ||
| 6919 | UINT InitialQP; | ||
| 6920 | UINT MinQP; | ||
| 6921 | UINT MaxQP; | ||
| 6922 | UINT64 MaxFrameBitSize; | ||
| 6923 | UINT64 TargetAvgBitRate; | ||
| 6924 | UINT64 PeakBitRate; | ||
| 6925 | UINT ConstantQualityTarget; | ||
| 6926 | } D3D12_VIDEO_ENCODER_RATE_CONTROL_QVBR; | ||
| 6927 | |||
| 6928 | typedef struct D3D12_VIDEO_ENCODER_RATE_CONTROL_QVBR1 | ||
| 6929 | { | ||
| 6930 | UINT InitialQP; | ||
| 6931 | UINT MinQP; | ||
| 6932 | UINT MaxQP; | ||
| 6933 | UINT64 MaxFrameBitSize; | ||
| 6934 | UINT64 TargetAvgBitRate; | ||
| 6935 | UINT64 PeakBitRate; | ||
| 6936 | UINT ConstantQualityTarget; | ||
| 6937 | UINT64 VBVCapacity; | ||
| 6938 | UINT64 InitialVBVFullness; | ||
| 6939 | UINT QualityVsSpeed; | ||
| 6940 | } D3D12_VIDEO_ENCODER_RATE_CONTROL_QVBR1; | ||
| 6941 | |||
| 6942 | typedef struct D3D12_VIDEO_ENCODER_RATE_CONTROL_ABSOLUTE_QP_MAP | ||
| 6943 | { | ||
| 6944 | UINT QualityVsSpeed; | ||
| 6945 | } D3D12_VIDEO_ENCODER_RATE_CONTROL_ABSOLUTE_QP_MAP; | ||
| 6946 | |||
| 6947 | typedef struct D3D12_VIDEO_ENCODER_RATE_CONTROL_CONFIGURATION_PARAMS | ||
| 6948 | { | ||
| 6949 | UINT DataSize; | ||
| 6950 | union | ||
| 6951 | { | ||
| 6952 | const D3D12_VIDEO_ENCODER_RATE_CONTROL_CQP *pConfiguration_CQP; | ||
| 6953 | const D3D12_VIDEO_ENCODER_RATE_CONTROL_CBR *pConfiguration_CBR; | ||
| 6954 | const D3D12_VIDEO_ENCODER_RATE_CONTROL_VBR *pConfiguration_VBR; | ||
| 6955 | const D3D12_VIDEO_ENCODER_RATE_CONTROL_QVBR *pConfiguration_QVBR; | ||
| 6956 | const D3D12_VIDEO_ENCODER_RATE_CONTROL_CQP1 *pConfiguration_CQP1; | ||
| 6957 | const D3D12_VIDEO_ENCODER_RATE_CONTROL_CBR1 *pConfiguration_CBR1; | ||
| 6958 | const D3D12_VIDEO_ENCODER_RATE_CONTROL_VBR1 *pConfiguration_VBR1; | ||
| 6959 | const D3D12_VIDEO_ENCODER_RATE_CONTROL_QVBR1 *pConfiguration_QVBR1; | ||
| 6960 | const D3D12_VIDEO_ENCODER_RATE_CONTROL_ABSOLUTE_QP_MAP *pConfiguration_AbsoluteQPMap; | ||
| 6961 | } ; | ||
| 6962 | } D3D12_VIDEO_ENCODER_RATE_CONTROL_CONFIGURATION_PARAMS; | ||
| 6963 | |||
| 6964 | typedef struct D3D12_VIDEO_ENCODER_RATE_CONTROL | ||
| 6965 | { | ||
| 6966 | D3D12_VIDEO_ENCODER_RATE_CONTROL_MODE Mode; | ||
| 6967 | D3D12_VIDEO_ENCODER_RATE_CONTROL_FLAGS Flags; | ||
| 6968 | D3D12_VIDEO_ENCODER_RATE_CONTROL_CONFIGURATION_PARAMS ConfigParams; | ||
| 6969 | DXGI_RATIONAL TargetFrameRate; | ||
| 6970 | } D3D12_VIDEO_ENCODER_RATE_CONTROL; | ||
| 6971 | |||
| 6972 | typedef | ||
| 6973 | enum D3D12_VIDEO_ENCODER_CODEC | ||
| 6974 | { | ||
| 6975 | D3D12_VIDEO_ENCODER_CODEC_H264 = 0, | ||
| 6976 | D3D12_VIDEO_ENCODER_CODEC_HEVC = 1, | ||
| 6977 | D3D12_VIDEO_ENCODER_CODEC_AV1 = 2 | ||
| 6978 | } D3D12_VIDEO_ENCODER_CODEC; | ||
| 6979 | |||
| 6980 | typedef struct D3D12_FEATURE_DATA_VIDEO_ENCODER_CODEC | ||
| 6981 | { | ||
| 6982 | UINT NodeIndex; | ||
| 6983 | D3D12_VIDEO_ENCODER_CODEC Codec; | ||
| 6984 | BOOL IsSupported; | ||
| 6985 | } D3D12_FEATURE_DATA_VIDEO_ENCODER_CODEC; | ||
| 6986 | |||
| 6987 | typedef | ||
| 6988 | enum D3D12_VIDEO_ENCODER_PROFILE_H264 | ||
| 6989 | { | ||
| 6990 | D3D12_VIDEO_ENCODER_PROFILE_H264_MAIN = 0, | ||
| 6991 | D3D12_VIDEO_ENCODER_PROFILE_H264_HIGH = 1, | ||
| 6992 | D3D12_VIDEO_ENCODER_PROFILE_H264_HIGH_10 = 2 | ||
| 6993 | } D3D12_VIDEO_ENCODER_PROFILE_H264; | ||
| 6994 | |||
| 6995 | typedef | ||
| 6996 | enum D3D12_VIDEO_ENCODER_PROFILE_HEVC | ||
| 6997 | { | ||
| 6998 | D3D12_VIDEO_ENCODER_PROFILE_HEVC_MAIN = 0, | ||
| 6999 | D3D12_VIDEO_ENCODER_PROFILE_HEVC_MAIN10 = 1, | ||
| 7000 | D3D12_VIDEO_ENCODER_PROFILE_HEVC_MAIN12 = 2, | ||
| 7001 | D3D12_VIDEO_ENCODER_PROFILE_HEVC_MAIN10_422 = 3, | ||
| 7002 | D3D12_VIDEO_ENCODER_PROFILE_HEVC_MAIN12_422 = 4, | ||
| 7003 | D3D12_VIDEO_ENCODER_PROFILE_HEVC_MAIN_444 = 5, | ||
| 7004 | D3D12_VIDEO_ENCODER_PROFILE_HEVC_MAIN10_444 = 6, | ||
| 7005 | D3D12_VIDEO_ENCODER_PROFILE_HEVC_MAIN12_444 = 7, | ||
| 7006 | D3D12_VIDEO_ENCODER_PROFILE_HEVC_MAIN16_444 = 8 | ||
| 7007 | } D3D12_VIDEO_ENCODER_PROFILE_HEVC; | ||
| 7008 | |||
| 7009 | typedef struct D3D12_VIDEO_ENCODER_PROFILE_DESC | ||
| 7010 | { | ||
| 7011 | UINT DataSize; | ||
| 7012 | union | ||
| 7013 | { | ||
| 7014 | D3D12_VIDEO_ENCODER_PROFILE_H264 *pH264Profile; | ||
| 7015 | D3D12_VIDEO_ENCODER_PROFILE_HEVC *pHEVCProfile; | ||
| 7016 | D3D12_VIDEO_ENCODER_AV1_PROFILE *pAV1Profile; | ||
| 7017 | } ; | ||
| 7018 | } D3D12_VIDEO_ENCODER_PROFILE_DESC; | ||
| 7019 | |||
| 7020 | typedef | ||
| 7021 | enum D3D12_VIDEO_ENCODER_LEVELS_H264 | ||
| 7022 | { | ||
| 7023 | D3D12_VIDEO_ENCODER_LEVELS_H264_1 = 0, | ||
| 7024 | D3D12_VIDEO_ENCODER_LEVELS_H264_1b = 1, | ||
| 7025 | D3D12_VIDEO_ENCODER_LEVELS_H264_11 = 2, | ||
| 7026 | D3D12_VIDEO_ENCODER_LEVELS_H264_12 = 3, | ||
| 7027 | D3D12_VIDEO_ENCODER_LEVELS_H264_13 = 4, | ||
| 7028 | D3D12_VIDEO_ENCODER_LEVELS_H264_2 = 5, | ||
| 7029 | D3D12_VIDEO_ENCODER_LEVELS_H264_21 = 6, | ||
| 7030 | D3D12_VIDEO_ENCODER_LEVELS_H264_22 = 7, | ||
| 7031 | D3D12_VIDEO_ENCODER_LEVELS_H264_3 = 8, | ||
| 7032 | D3D12_VIDEO_ENCODER_LEVELS_H264_31 = 9, | ||
| 7033 | D3D12_VIDEO_ENCODER_LEVELS_H264_32 = 10, | ||
| 7034 | D3D12_VIDEO_ENCODER_LEVELS_H264_4 = 11, | ||
| 7035 | D3D12_VIDEO_ENCODER_LEVELS_H264_41 = 12, | ||
| 7036 | D3D12_VIDEO_ENCODER_LEVELS_H264_42 = 13, | ||
| 7037 | D3D12_VIDEO_ENCODER_LEVELS_H264_5 = 14, | ||
| 7038 | D3D12_VIDEO_ENCODER_LEVELS_H264_51 = 15, | ||
| 7039 | D3D12_VIDEO_ENCODER_LEVELS_H264_52 = 16, | ||
| 7040 | D3D12_VIDEO_ENCODER_LEVELS_H264_6 = 17, | ||
| 7041 | D3D12_VIDEO_ENCODER_LEVELS_H264_61 = 18, | ||
| 7042 | D3D12_VIDEO_ENCODER_LEVELS_H264_62 = 19 | ||
| 7043 | } D3D12_VIDEO_ENCODER_LEVELS_H264; | ||
| 7044 | |||
| 7045 | typedef | ||
| 7046 | enum D3D12_VIDEO_ENCODER_TIER_HEVC | ||
| 7047 | { | ||
| 7048 | D3D12_VIDEO_ENCODER_TIER_HEVC_MAIN = 0, | ||
| 7049 | D3D12_VIDEO_ENCODER_TIER_HEVC_HIGH = 1 | ||
| 7050 | } D3D12_VIDEO_ENCODER_TIER_HEVC; | ||
| 7051 | |||
| 7052 | typedef | ||
| 7053 | enum D3D12_VIDEO_ENCODER_LEVELS_HEVC | ||
| 7054 | { | ||
| 7055 | D3D12_VIDEO_ENCODER_LEVELS_HEVC_1 = 0, | ||
| 7056 | D3D12_VIDEO_ENCODER_LEVELS_HEVC_2 = 1, | ||
| 7057 | D3D12_VIDEO_ENCODER_LEVELS_HEVC_21 = 2, | ||
| 7058 | D3D12_VIDEO_ENCODER_LEVELS_HEVC_3 = 3, | ||
| 7059 | D3D12_VIDEO_ENCODER_LEVELS_HEVC_31 = 4, | ||
| 7060 | D3D12_VIDEO_ENCODER_LEVELS_HEVC_4 = 5, | ||
| 7061 | D3D12_VIDEO_ENCODER_LEVELS_HEVC_41 = 6, | ||
| 7062 | D3D12_VIDEO_ENCODER_LEVELS_HEVC_5 = 7, | ||
| 7063 | D3D12_VIDEO_ENCODER_LEVELS_HEVC_51 = 8, | ||
| 7064 | D3D12_VIDEO_ENCODER_LEVELS_HEVC_52 = 9, | ||
| 7065 | D3D12_VIDEO_ENCODER_LEVELS_HEVC_6 = 10, | ||
| 7066 | D3D12_VIDEO_ENCODER_LEVELS_HEVC_61 = 11, | ||
| 7067 | D3D12_VIDEO_ENCODER_LEVELS_HEVC_62 = 12 | ||
| 7068 | } D3D12_VIDEO_ENCODER_LEVELS_HEVC; | ||
| 7069 | |||
| 7070 | typedef struct D3D12_VIDEO_ENCODER_LEVEL_TIER_CONSTRAINTS_HEVC | ||
| 7071 | { | ||
| 7072 | D3D12_VIDEO_ENCODER_LEVELS_HEVC Level; | ||
| 7073 | D3D12_VIDEO_ENCODER_TIER_HEVC Tier; | ||
| 7074 | } D3D12_VIDEO_ENCODER_LEVEL_TIER_CONSTRAINTS_HEVC; | ||
| 7075 | |||
| 7076 | typedef struct D3D12_VIDEO_ENCODER_LEVEL_SETTING | ||
| 7077 | { | ||
| 7078 | UINT DataSize; | ||
| 7079 | union | ||
| 7080 | { | ||
| 7081 | D3D12_VIDEO_ENCODER_LEVELS_H264 *pH264LevelSetting; | ||
| 7082 | D3D12_VIDEO_ENCODER_LEVEL_TIER_CONSTRAINTS_HEVC *pHEVCLevelSetting; | ||
| 7083 | D3D12_VIDEO_ENCODER_AV1_LEVEL_TIER_CONSTRAINTS *pAV1LevelSetting; | ||
| 7084 | } ; | ||
| 7085 | } D3D12_VIDEO_ENCODER_LEVEL_SETTING; | ||
| 7086 | |||
| 7087 | typedef struct D3D12_FEATURE_DATA_VIDEO_ENCODER_PROFILE_LEVEL | ||
| 7088 | { | ||
| 7089 | UINT NodeIndex; | ||
| 7090 | D3D12_VIDEO_ENCODER_CODEC Codec; | ||
| 7091 | D3D12_VIDEO_ENCODER_PROFILE_DESC Profile; | ||
| 7092 | BOOL IsSupported; | ||
| 7093 | D3D12_VIDEO_ENCODER_LEVEL_SETTING MinSupportedLevel; | ||
| 7094 | D3D12_VIDEO_ENCODER_LEVEL_SETTING MaxSupportedLevel; | ||
| 7095 | } D3D12_FEATURE_DATA_VIDEO_ENCODER_PROFILE_LEVEL; | ||
| 7096 | |||
| 7097 | typedef struct D3D12_VIDEO_ENCODER_PICTURE_RESOLUTION_DESC | ||
| 7098 | { | ||
| 7099 | UINT Width; | ||
| 7100 | UINT Height; | ||
| 7101 | } D3D12_VIDEO_ENCODER_PICTURE_RESOLUTION_DESC; | ||
| 7102 | |||
| 7103 | typedef struct D3D12_VIDEO_ENCODER_PICTURE_RESOLUTION_RATIO_DESC | ||
| 7104 | { | ||
| 7105 | UINT WidthRatio; | ||
| 7106 | UINT HeightRatio; | ||
| 7107 | } D3D12_VIDEO_ENCODER_PICTURE_RESOLUTION_RATIO_DESC; | ||
| 7108 | |||
| 7109 | typedef struct D3D12_FEATURE_DATA_VIDEO_ENCODER_OUTPUT_RESOLUTION_RATIOS_COUNT | ||
| 7110 | { | ||
| 7111 | UINT NodeIndex; | ||
| 7112 | D3D12_VIDEO_ENCODER_CODEC Codec; | ||
| 7113 | UINT ResolutionRatiosCount; | ||
| 7114 | } D3D12_FEATURE_DATA_VIDEO_ENCODER_OUTPUT_RESOLUTION_RATIOS_COUNT; | ||
| 7115 | |||
| 7116 | typedef struct D3D12_FEATURE_DATA_VIDEO_ENCODER_OUTPUT_RESOLUTION | ||
| 7117 | { | ||
| 7118 | UINT NodeIndex; | ||
| 7119 | D3D12_VIDEO_ENCODER_CODEC Codec; | ||
| 7120 | UINT ResolutionRatiosCount; | ||
| 7121 | BOOL IsSupported; | ||
| 7122 | D3D12_VIDEO_ENCODER_PICTURE_RESOLUTION_DESC MinResolutionSupported; | ||
| 7123 | D3D12_VIDEO_ENCODER_PICTURE_RESOLUTION_DESC MaxResolutionSupported; | ||
| 7124 | UINT ResolutionWidthMultipleRequirement; | ||
| 7125 | UINT ResolutionHeightMultipleRequirement; | ||
| 7126 | _Field_size_full_(ResolutionRatiosCount) D3D12_VIDEO_ENCODER_PICTURE_RESOLUTION_RATIO_DESC *pResolutionRatios; | ||
| 7127 | } D3D12_FEATURE_DATA_VIDEO_ENCODER_OUTPUT_RESOLUTION; | ||
| 7128 | |||
| 7129 | typedef struct D3D12_FEATURE_DATA_VIDEO_ENCODER_INPUT_FORMAT | ||
| 7130 | { | ||
| 7131 | UINT NodeIndex; | ||
| 7132 | D3D12_VIDEO_ENCODER_CODEC Codec; | ||
| 7133 | D3D12_VIDEO_ENCODER_PROFILE_DESC Profile; | ||
| 7134 | DXGI_FORMAT Format; | ||
| 7135 | BOOL IsSupported; | ||
| 7136 | } D3D12_FEATURE_DATA_VIDEO_ENCODER_INPUT_FORMAT; | ||
| 7137 | |||
| 7138 | typedef struct D3D12_FEATURE_DATA_VIDEO_ENCODER_RATE_CONTROL_MODE | ||
| 7139 | { | ||
| 7140 | UINT NodeIndex; | ||
| 7141 | D3D12_VIDEO_ENCODER_CODEC Codec; | ||
| 7142 | D3D12_VIDEO_ENCODER_RATE_CONTROL_MODE RateControlMode; | ||
| 7143 | BOOL IsSupported; | ||
| 7144 | } D3D12_FEATURE_DATA_VIDEO_ENCODER_RATE_CONTROL_MODE; | ||
| 7145 | |||
| 7146 | typedef | ||
| 7147 | enum D3D12_VIDEO_ENCODER_INTRA_REFRESH_MODE | ||
| 7148 | { | ||
| 7149 | D3D12_VIDEO_ENCODER_INTRA_REFRESH_MODE_NONE = 0, | ||
| 7150 | D3D12_VIDEO_ENCODER_INTRA_REFRESH_MODE_ROW_BASED = 1 | ||
| 7151 | } D3D12_VIDEO_ENCODER_INTRA_REFRESH_MODE; | ||
| 7152 | |||
| 7153 | typedef struct D3D12_FEATURE_DATA_VIDEO_ENCODER_INTRA_REFRESH_MODE | ||
| 7154 | { | ||
| 7155 | UINT NodeIndex; | ||
| 7156 | D3D12_VIDEO_ENCODER_CODEC Codec; | ||
| 7157 | D3D12_VIDEO_ENCODER_PROFILE_DESC Profile; | ||
| 7158 | D3D12_VIDEO_ENCODER_LEVEL_SETTING Level; | ||
| 7159 | D3D12_VIDEO_ENCODER_INTRA_REFRESH_MODE IntraRefreshMode; | ||
| 7160 | BOOL IsSupported; | ||
| 7161 | } D3D12_FEATURE_DATA_VIDEO_ENCODER_INTRA_REFRESH_MODE; | ||
| 7162 | |||
| 7163 | typedef | ||
| 7164 | enum D3D12_VIDEO_ENCODER_FRAME_SUBREGION_LAYOUT_MODE | ||
| 7165 | { | ||
| 7166 | D3D12_VIDEO_ENCODER_FRAME_SUBREGION_LAYOUT_MODE_FULL_FRAME = 0, | ||
| 7167 | D3D12_VIDEO_ENCODER_FRAME_SUBREGION_LAYOUT_MODE_BYTES_PER_SUBREGION = 1, | ||
| 7168 | D3D12_VIDEO_ENCODER_FRAME_SUBREGION_LAYOUT_MODE_SQUARE_UNITS_PER_SUBREGION_ROW_UNALIGNED = 2, | ||
| 7169 | D3D12_VIDEO_ENCODER_FRAME_SUBREGION_LAYOUT_MODE_UNIFORM_PARTITIONING_ROWS_PER_SUBREGION = 3, | ||
| 7170 | D3D12_VIDEO_ENCODER_FRAME_SUBREGION_LAYOUT_MODE_UNIFORM_PARTITIONING_SUBREGIONS_PER_FRAME = 4, | ||
| 7171 | D3D12_VIDEO_ENCODER_FRAME_SUBREGION_LAYOUT_MODE_UNIFORM_GRID_PARTITION = 5, | ||
| 7172 | D3D12_VIDEO_ENCODER_FRAME_SUBREGION_LAYOUT_MODE_CONFIGURABLE_GRID_PARTITION = 6, | ||
| 7173 | D3D12_VIDEO_ENCODER_FRAME_SUBREGION_LAYOUT_MODE_AUTO = 7 | ||
| 7174 | } D3D12_VIDEO_ENCODER_FRAME_SUBREGION_LAYOUT_MODE; | ||
| 7175 | |||
| 7176 | typedef struct D3D12_FEATURE_DATA_VIDEO_ENCODER_FRAME_SUBREGION_LAYOUT_MODE | ||
| 7177 | { | ||
| 7178 | UINT NodeIndex; | ||
| 7179 | D3D12_VIDEO_ENCODER_CODEC Codec; | ||
| 7180 | D3D12_VIDEO_ENCODER_PROFILE_DESC Profile; | ||
| 7181 | D3D12_VIDEO_ENCODER_LEVEL_SETTING Level; | ||
| 7182 | D3D12_VIDEO_ENCODER_FRAME_SUBREGION_LAYOUT_MODE SubregionMode; | ||
| 7183 | BOOL IsSupported; | ||
| 7184 | } D3D12_FEATURE_DATA_VIDEO_ENCODER_FRAME_SUBREGION_LAYOUT_MODE; | ||
| 7185 | |||
| 7186 | typedef | ||
| 7187 | enum D3D12_VIDEO_ENCODER_AV1_FRAME_SUBREGION_LAYOUT_CONFIG_VALIDATION_FLAGS | ||
| 7188 | { | ||
| 7189 | D3D12_VIDEO_ENCODER_AV1_FRAME_SUBREGION_LAYOUT_CONFIG_VALIDATION_FLAG_NONE = 0, | ||
| 7190 | D3D12_VIDEO_ENCODER_AV1_FRAME_SUBREGION_LAYOUT_CONFIG_VALIDATION_FLAG_NOT_SPECIFIED = 0x1, | ||
| 7191 | D3D12_VIDEO_ENCODER_AV1_FRAME_SUBREGION_LAYOUT_CONFIG_VALIDATION_FLAG_CODEC_CONSTRAINT = 0x2, | ||
| 7192 | D3D12_VIDEO_ENCODER_AV1_FRAME_SUBREGION_LAYOUT_CONFIG_VALIDATION_FLAG_HARDWARE_CONSTRAINT = 0x4, | ||
| 7193 | D3D12_VIDEO_ENCODER_AV1_FRAME_SUBREGION_LAYOUT_CONFIG_VALIDATION_FLAG_ROWS_COUNT = 0x8, | ||
| 7194 | D3D12_VIDEO_ENCODER_AV1_FRAME_SUBREGION_LAYOUT_CONFIG_VALIDATION_FLAG_COLS_COUNT = 0x10, | ||
| 7195 | D3D12_VIDEO_ENCODER_AV1_FRAME_SUBREGION_LAYOUT_CONFIG_VALIDATION_FLAG_WIDTH = 0x20, | ||
| 7196 | D3D12_VIDEO_ENCODER_AV1_FRAME_SUBREGION_LAYOUT_CONFIG_VALIDATION_FLAG_AREA = 0x40, | ||
| 7197 | D3D12_VIDEO_ENCODER_AV1_FRAME_SUBREGION_LAYOUT_CONFIG_VALIDATION_FLAG_TOTAL_TILES = 0x80 | ||
| 7198 | } D3D12_VIDEO_ENCODER_AV1_FRAME_SUBREGION_LAYOUT_CONFIG_VALIDATION_FLAGS; | ||
| 7199 | |||
| 7200 | DEFINE_ENUM_FLAG_OPERATORS(D3D12_VIDEO_ENCODER_AV1_FRAME_SUBREGION_LAYOUT_CONFIG_VALIDATION_FLAGS) | ||
| 7201 | typedef struct D3D12_VIDEO_ENCODER_AV1_FRAME_SUBREGION_LAYOUT_CONFIG_SUPPORT | ||
| 7202 | { | ||
| 7203 | BOOL Use128SuperBlocks; | ||
| 7204 | D3D12_VIDEO_ENCODER_AV1_PICTURE_CONTROL_SUBREGIONS_LAYOUT_DATA_TILES TilesConfiguration; | ||
| 7205 | D3D12_VIDEO_ENCODER_AV1_FRAME_SUBREGION_LAYOUT_CONFIG_VALIDATION_FLAGS ValidationFlags; | ||
| 7206 | UINT MinTileRows; | ||
| 7207 | UINT MaxTileRows; | ||
| 7208 | UINT MinTileCols; | ||
| 7209 | UINT MaxTileCols; | ||
| 7210 | UINT MinTileWidth; | ||
| 7211 | UINT MaxTileWidth; | ||
| 7212 | UINT MinTileArea; | ||
| 7213 | UINT MaxTileArea; | ||
| 7214 | UINT TileSizeBytesMinus1; | ||
| 7215 | } D3D12_VIDEO_ENCODER_AV1_FRAME_SUBREGION_LAYOUT_CONFIG_SUPPORT; | ||
| 7216 | |||
| 7217 | typedef struct D3D12_VIDEO_ENCODER_FRAME_SUBREGION_LAYOUT_CONFIG_SUPPORT | ||
| 7218 | { | ||
| 7219 | UINT DataSize; | ||
| 7220 | union | ||
| 7221 | { | ||
| 7222 | D3D12_VIDEO_ENCODER_AV1_FRAME_SUBREGION_LAYOUT_CONFIG_SUPPORT *pAV1Support; | ||
| 7223 | } ; | ||
| 7224 | } D3D12_VIDEO_ENCODER_FRAME_SUBREGION_LAYOUT_CONFIG_SUPPORT; | ||
| 7225 | |||
| 7226 | typedef struct D3D12_FEATURE_DATA_VIDEO_ENCODER_FRAME_SUBREGION_LAYOUT_CONFIG | ||
| 7227 | { | ||
| 7228 | UINT NodeIndex; | ||
| 7229 | D3D12_VIDEO_ENCODER_CODEC Codec; | ||
| 7230 | D3D12_VIDEO_ENCODER_PROFILE_DESC Profile; | ||
| 7231 | D3D12_VIDEO_ENCODER_LEVEL_SETTING Level; | ||
| 7232 | D3D12_VIDEO_ENCODER_FRAME_SUBREGION_LAYOUT_MODE SubregionMode; | ||
| 7233 | D3D12_VIDEO_ENCODER_PICTURE_RESOLUTION_DESC FrameResolution; | ||
| 7234 | D3D12_VIDEO_ENCODER_FRAME_SUBREGION_LAYOUT_CONFIG_SUPPORT CodecSupport; | ||
| 7235 | BOOL IsSupported; | ||
| 7236 | } D3D12_FEATURE_DATA_VIDEO_ENCODER_FRAME_SUBREGION_LAYOUT_CONFIG; | ||
| 7237 | |||
| 7238 | typedef | ||
| 7239 | enum D3D12_VIDEO_ENCODER_HEAP_FLAGS | ||
| 7240 | { | ||
| 7241 | D3D12_VIDEO_ENCODER_HEAP_FLAG_NONE = 0, | ||
| 7242 | D3D12_VIDEO_ENCODER_HEAP_FLAG_ALLOW_SUBREGION_NOTIFICATION_ARRAY_OF_BUFFERS = 0x1, | ||
| 7243 | D3D12_VIDEO_ENCODER_HEAP_FLAG_ALLOW_SUBREGION_NOTIFICATION_SINGLE_BUFFER = 0x2, | ||
| 7244 | D3D12_VIDEO_ENCODER_HEAP_FLAG_ALLOW_DIRTY_REGIONS = 0x4, | ||
| 7245 | D3D12_VIDEO_ENCODER_HEAP_FLAG_ALLOW_RATE_CONTROL_FRAME_ANALYSIS = 0x8 | ||
| 7246 | } D3D12_VIDEO_ENCODER_HEAP_FLAGS; | ||
| 7247 | |||
| 7248 | DEFINE_ENUM_FLAG_OPERATORS(D3D12_VIDEO_ENCODER_HEAP_FLAGS) | ||
| 7249 | typedef struct D3D12_VIDEO_ENCODER_HEAP_DESC | ||
| 7250 | { | ||
| 7251 | UINT NodeMask; | ||
| 7252 | D3D12_VIDEO_ENCODER_HEAP_FLAGS Flags; | ||
| 7253 | D3D12_VIDEO_ENCODER_CODEC EncodeCodec; | ||
| 7254 | D3D12_VIDEO_ENCODER_PROFILE_DESC EncodeProfile; | ||
| 7255 | D3D12_VIDEO_ENCODER_LEVEL_SETTING EncodeLevel; | ||
| 7256 | UINT ResolutionsListCount; | ||
| 7257 | _Field_size_full_(ResolutionsListCount) const D3D12_VIDEO_ENCODER_PICTURE_RESOLUTION_DESC *pResolutionList; | ||
| 7258 | } D3D12_VIDEO_ENCODER_HEAP_DESC; | ||
| 7259 | |||
| 7260 | typedef struct D3D12_FEATURE_DATA_VIDEO_ENCODER_HEAP_SIZE | ||
| 7261 | { | ||
| 7262 | D3D12_VIDEO_ENCODER_HEAP_DESC HeapDesc; | ||
| 7263 | BOOL IsSupported; | ||
| 7264 | UINT64 MemoryPoolL0Size; | ||
| 7265 | UINT64 MemoryPoolL1Size; | ||
| 7266 | } D3D12_FEATURE_DATA_VIDEO_ENCODER_HEAP_SIZE; | ||
| 7267 | |||
| 7268 | typedef | ||
| 7269 | enum D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_SUPPORT_H264_FLAGS | ||
| 7270 | { | ||
| 7271 | D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_SUPPORT_H264_FLAG_NONE = 0, | ||
| 7272 | D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_SUPPORT_H264_FLAG_CABAC_ENCODING_SUPPORT = 0x1, | ||
| 7273 | D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_SUPPORT_H264_FLAG_INTRA_SLICE_CONSTRAINED_ENCODING_SUPPORT = 0x2, | ||
| 7274 | D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_SUPPORT_H264_FLAG_BFRAME_LTR_COMBINED_SUPPORT = 0x4, | ||
| 7275 | D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_SUPPORT_H264_FLAG_ADAPTIVE_8x8_TRANSFORM_ENCODING_SUPPORT = 0x8, | ||
| 7276 | D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_SUPPORT_H264_FLAG_DIRECT_SPATIAL_ENCODING_SUPPORT = 0x10, | ||
| 7277 | D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_SUPPORT_H264_FLAG_DIRECT_TEMPORAL_ENCODING_SUPPORT = 0x20, | ||
| 7278 | D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_SUPPORT_H264_FLAG_CONSTRAINED_INTRAPREDICTION_SUPPORT = 0x40, | ||
| 7279 | D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_SUPPORT_H264_FLAG_NUM_REF_IDX_ACTIVE_OVERRIDE_FLAG_SLICE_SUPPORT = 0x80 | ||
| 7280 | } D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_SUPPORT_H264_FLAGS; | ||
| 7281 | |||
| 7282 | DEFINE_ENUM_FLAG_OPERATORS(D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_SUPPORT_H264_FLAGS) | ||
| 7283 | typedef | ||
| 7284 | enum D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_H264_SLICES_DEBLOCKING_MODES | ||
| 7285 | { | ||
| 7286 | D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_H264_SLICES_DEBLOCKING_MODE_0_ALL_LUMA_CHROMA_SLICE_BLOCK_EDGES_ALWAYS_FILTERED = 0, | ||
| 7287 | D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_H264_SLICES_DEBLOCKING_MODE_1_DISABLE_ALL_SLICE_BLOCK_EDGES = 1, | ||
| 7288 | D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_H264_SLICES_DEBLOCKING_MODE_2_DISABLE_SLICE_BOUNDARIES_BLOCKS = 2, | ||
| 7289 | D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_H264_SLICES_DEBLOCKING_MODE_3_USE_TWO_STAGE_DEBLOCKING = 3, | ||
| 7290 | D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_H264_SLICES_DEBLOCKING_MODE_4_DISABLE_CHROMA_BLOCK_EDGES = 4, | ||
| 7291 | D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_H264_SLICES_DEBLOCKING_MODE_5_DISABLE_CHROMA_BLOCK_EDGES_AND_LUMA_BOUNDARIES = 5, | ||
| 7292 | D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_H264_SLICES_DEBLOCKING_MODE_6_DISABLE_CHROMA_BLOCK_EDGES_AND_USE_LUMA_TWO_STAGE_DEBLOCKING = 6 | ||
| 7293 | } D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_H264_SLICES_DEBLOCKING_MODES; | ||
| 7294 | |||
| 7295 | typedef | ||
| 7296 | enum D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_H264_SLICES_DEBLOCKING_MODE_FLAGS | ||
| 7297 | { | ||
| 7298 | D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_H264_SLICES_DEBLOCKING_MODE_FLAG_NONE = 0, | ||
| 7299 | D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_H264_SLICES_DEBLOCKING_MODE_FLAG_0_ALL_LUMA_CHROMA_SLICE_BLOCK_EDGES_ALWAYS_FILTERED = ( 1 << D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_H264_SLICES_DEBLOCKING_MODE_0_ALL_LUMA_CHROMA_SLICE_BLOCK_EDGES_ALWAYS_FILTERED ) , | ||
| 7300 | D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_H264_SLICES_DEBLOCKING_MODE_FLAG_1_DISABLE_ALL_SLICE_BLOCK_EDGES = ( 1 << D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_H264_SLICES_DEBLOCKING_MODE_1_DISABLE_ALL_SLICE_BLOCK_EDGES ) , | ||
| 7301 | D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_H264_SLICES_DEBLOCKING_MODE_FLAG_2_DISABLE_SLICE_BOUNDARIES_BLOCKS = ( 1 << D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_H264_SLICES_DEBLOCKING_MODE_2_DISABLE_SLICE_BOUNDARIES_BLOCKS ) , | ||
| 7302 | D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_H264_SLICES_DEBLOCKING_MODE_FLAG_3_USE_TWO_STAGE_DEBLOCKING = ( 1 << D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_H264_SLICES_DEBLOCKING_MODE_3_USE_TWO_STAGE_DEBLOCKING ) , | ||
| 7303 | D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_H264_SLICES_DEBLOCKING_MODE_FLAG_4_DISABLE_CHROMA_BLOCK_EDGES = ( 1 << D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_H264_SLICES_DEBLOCKING_MODE_4_DISABLE_CHROMA_BLOCK_EDGES ) , | ||
| 7304 | D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_H264_SLICES_DEBLOCKING_MODE_FLAG_5_DISABLE_CHROMA_BLOCK_EDGES_AND_LUMA_BOUNDARIES = ( 1 << D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_H264_SLICES_DEBLOCKING_MODE_5_DISABLE_CHROMA_BLOCK_EDGES_AND_LUMA_BOUNDARIES ) , | ||
| 7305 | D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_H264_SLICES_DEBLOCKING_MODE_FLAG_6_DISABLE_CHROMA_BLOCK_EDGES_AND_USE_LUMA_TWO_STAGE_DEBLOCKING = ( 1 << D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_H264_SLICES_DEBLOCKING_MODE_6_DISABLE_CHROMA_BLOCK_EDGES_AND_USE_LUMA_TWO_STAGE_DEBLOCKING ) | ||
| 7306 | } D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_H264_SLICES_DEBLOCKING_MODE_FLAGS; | ||
| 7307 | |||
| 7308 | DEFINE_ENUM_FLAG_OPERATORS(D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_H264_SLICES_DEBLOCKING_MODE_FLAGS) | ||
| 7309 | typedef struct D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_SUPPORT_H264 | ||
| 7310 | { | ||
| 7311 | D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_SUPPORT_H264_FLAGS SupportFlags; | ||
| 7312 | D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_H264_SLICES_DEBLOCKING_MODE_FLAGS DisableDeblockingFilterSupportedModes; | ||
| 7313 | } D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_SUPPORT_H264; | ||
| 7314 | |||
| 7315 | typedef | ||
| 7316 | enum D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_SUPPORT_HEVC_FLAGS | ||
| 7317 | { | ||
| 7318 | D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_SUPPORT_HEVC_FLAG_NONE = 0, | ||
| 7319 | D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_SUPPORT_HEVC_FLAG_BFRAME_LTR_COMBINED_SUPPORT = 0x1, | ||
| 7320 | D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_SUPPORT_HEVC_FLAG_INTRA_SLICE_CONSTRAINED_ENCODING_SUPPORT = 0x2, | ||
| 7321 | D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_SUPPORT_HEVC_FLAG_CONSTRAINED_INTRAPREDICTION_SUPPORT = 0x4, | ||
| 7322 | D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_SUPPORT_HEVC_FLAG_SAO_FILTER_SUPPORT = 0x8, | ||
| 7323 | D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_SUPPORT_HEVC_FLAG_ASYMETRIC_MOTION_PARTITION_SUPPORT = 0x10, | ||
| 7324 | D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_SUPPORT_HEVC_FLAG_ASYMETRIC_MOTION_PARTITION_REQUIRED = 0x20, | ||
| 7325 | D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_SUPPORT_HEVC_FLAG_TRANSFORM_SKIP_SUPPORT = 0x40, | ||
| 7326 | D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_SUPPORT_HEVC_FLAG_DISABLING_LOOP_FILTER_ACROSS_SLICES_SUPPORT = 0x80, | ||
| 7327 | D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_SUPPORT_HEVC_FLAG_P_FRAMES_IMPLEMENTED_AS_LOW_DELAY_B_FRAMES = 0x100, | ||
| 7328 | D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_SUPPORT_HEVC_FLAG_NUM_REF_IDX_ACTIVE_OVERRIDE_FLAG_SLICE_SUPPORT = 0x200, | ||
| 7329 | D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_SUPPORT_HEVC_FLAG_TRANSFORM_SKIP_ROTATION_ENABLED_SUPPORT = 0x400, | ||
| 7330 | D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_SUPPORT_HEVC_FLAG_TRANSFORM_SKIP_ROTATION_ENABLED_REQUIRED = 0x800, | ||
| 7331 | D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_SUPPORT_HEVC_FLAG_TRANSFORM_SKIP_CONTEXT_ENABLED_SUPPORT = 0x1000, | ||
| 7332 | D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_SUPPORT_HEVC_FLAG_TRANSFORM_SKIP_CONTEXT_ENABLED_REQUIRED = 0x2000, | ||
| 7333 | D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_SUPPORT_HEVC_FLAG_IMPLICIT_RDPCM_ENABLED_SUPPORT = 0x4000, | ||
| 7334 | D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_SUPPORT_HEVC_FLAG_IMPLICIT_RDPCM_ENABLED_REQUIRED = 0x8000, | ||
| 7335 | D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_SUPPORT_HEVC_FLAG_EXPLICIT_RDPCM_ENABLED_SUPPORT = 0x10000, | ||
| 7336 | D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_SUPPORT_HEVC_FLAG_EXPLICIT_RDPCM_ENABLED_REQUIRED = 0x20000, | ||
| 7337 | D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_SUPPORT_HEVC_FLAG_EXTENDED_PRECISION_PROCESSING_SUPPORT = 0x40000, | ||
| 7338 | D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_SUPPORT_HEVC_FLAG_EXTENDED_PRECISION_PROCESSING_REQUIRED = 0x80000, | ||
| 7339 | D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_SUPPORT_HEVC_FLAG_INTRA_SMOOTHING_DISABLED_SUPPORT = 0x100000, | ||
| 7340 | D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_SUPPORT_HEVC_FLAG_INTRA_SMOOTHING_DISABLED_REQUIRED = 0x200000, | ||
| 7341 | D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_SUPPORT_HEVC_FLAG_HIGH_PRECISION_OFFSETS_ENABLED_SUPPORT = 0x400000, | ||
| 7342 | D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_SUPPORT_HEVC_FLAG_HIGH_PRECISION_OFFSETS_ENABLED_REQUIRED = 0x800000, | ||
| 7343 | D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_SUPPORT_HEVC_FLAG_PERSISTENT_RICE_ADAPTATION_ENABLED_SUPPORT = 0x1000000, | ||
| 7344 | D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_SUPPORT_HEVC_FLAG_PERSISTENT_RICE_ADAPTATION_ENABLED_REQUIRED = 0x2000000, | ||
| 7345 | D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_SUPPORT_HEVC_FLAG_CABAC_BYPASS_ALIGNMENT_ENABLED_SUPPORT = 0x4000000, | ||
| 7346 | D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_SUPPORT_HEVC_FLAG_CABAC_BYPASS_ALIGNMENT_ENABLED_REQUIRED = 0x8000000, | ||
| 7347 | D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_SUPPORT_HEVC_FLAG_CROSS_COMPONENT_PREDICTION_ENABLED_FLAG_SUPPORT = 0x10000000, | ||
| 7348 | D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_SUPPORT_HEVC_FLAG_CROSS_COMPONENT_PREDICTION_ENABLED_FLAG_REQUIRED = 0x20000000, | ||
| 7349 | D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_SUPPORT_HEVC_FLAG_CHROMA_QP_OFFSET_LIST_ENABLED_FLAG_SUPPORT = 0x40000000, | ||
| 7350 | D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_SUPPORT_HEVC_FLAG_CHROMA_QP_OFFSET_LIST_ENABLED_FLAG_REQUIRED = 0x80000000 | ||
| 7351 | } D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_SUPPORT_HEVC_FLAGS; | ||
| 7352 | |||
| 7353 | DEFINE_ENUM_FLAG_OPERATORS(D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_SUPPORT_HEVC_FLAGS) | ||
| 7354 | typedef | ||
| 7355 | enum D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_HEVC_CUSIZE | ||
| 7356 | { | ||
| 7357 | D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_HEVC_CUSIZE_8x8 = 0, | ||
| 7358 | D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_HEVC_CUSIZE_16x16 = 1, | ||
| 7359 | D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_HEVC_CUSIZE_32x32 = 2, | ||
| 7360 | D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_HEVC_CUSIZE_64x64 = 3 | ||
| 7361 | } D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_HEVC_CUSIZE; | ||
| 7362 | |||
| 7363 | typedef | ||
| 7364 | enum D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_HEVC_TUSIZE | ||
| 7365 | { | ||
| 7366 | D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_HEVC_TUSIZE_4x4 = 0, | ||
| 7367 | D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_HEVC_TUSIZE_8x8 = 1, | ||
| 7368 | D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_HEVC_TUSIZE_16x16 = 2, | ||
| 7369 | D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_HEVC_TUSIZE_32x32 = 3 | ||
| 7370 | } D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_HEVC_TUSIZE; | ||
| 7371 | |||
| 7372 | typedef struct D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_SUPPORT_HEVC | ||
| 7373 | { | ||
| 7374 | D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_SUPPORT_HEVC_FLAGS SupportFlags; | ||
| 7375 | D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_HEVC_CUSIZE MinLumaCodingUnitSize; | ||
| 7376 | D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_HEVC_CUSIZE MaxLumaCodingUnitSize; | ||
| 7377 | D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_HEVC_TUSIZE MinLumaTransformUnitSize; | ||
| 7378 | D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_HEVC_TUSIZE MaxLumaTransformUnitSize; | ||
| 7379 | UCHAR max_transform_hierarchy_depth_inter; | ||
| 7380 | UCHAR max_transform_hierarchy_depth_intra; | ||
| 7381 | } D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_SUPPORT_HEVC; | ||
| 7382 | |||
| 7383 | typedef | ||
| 7384 | enum D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_SUPPORT_HEVC_FLAGS1 | ||
| 7385 | { | ||
| 7386 | D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_SUPPORT_HEVC_FLAG1_NONE = 0, | ||
| 7387 | D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_SUPPORT_HEVC_FLAG1_SEPARATE_COLOUR_PLANE_SUPPORT = 0x1, | ||
| 7388 | D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_SUPPORT_HEVC_FLAG1_SEPARATE_COLOUR_PLANE_REQUIRED = 0x2 | ||
| 7389 | } D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_SUPPORT_HEVC_FLAGS1; | ||
| 7390 | |||
| 7391 | DEFINE_ENUM_FLAG_OPERATORS(D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_SUPPORT_HEVC_FLAGS1) | ||
| 7392 | typedef struct D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_SUPPORT_HEVC1 | ||
| 7393 | { | ||
| 7394 | D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_SUPPORT_HEVC_FLAGS SupportFlags; | ||
| 7395 | D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_HEVC_CUSIZE MinLumaCodingUnitSize; | ||
| 7396 | D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_HEVC_CUSIZE MaxLumaCodingUnitSize; | ||
| 7397 | D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_HEVC_TUSIZE MinLumaTransformUnitSize; | ||
| 7398 | D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_HEVC_TUSIZE MaxLumaTransformUnitSize; | ||
| 7399 | UCHAR max_transform_hierarchy_depth_inter; | ||
| 7400 | UCHAR max_transform_hierarchy_depth_intra; | ||
| 7401 | UINT allowed_diff_cu_chroma_qp_offset_depth_values; | ||
| 7402 | UINT allowed_log2_sao_offset_scale_luma_values; | ||
| 7403 | UINT allowed_log2_sao_offset_scale_chroma_values; | ||
| 7404 | UINT allowed_log2_max_transform_skip_block_size_minus2_values; | ||
| 7405 | UINT allowed_chroma_qp_offset_list_len_minus1_values; | ||
| 7406 | UINT allowed_cb_qp_offset_list_values[ 6 ]; | ||
| 7407 | UINT allowed_cr_qp_offset_list_values[ 6 ]; | ||
| 7408 | D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_SUPPORT_HEVC_FLAGS1 SupportFlags1; | ||
| 7409 | } D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_SUPPORT_HEVC1; | ||
| 7410 | |||
| 7411 | typedef struct D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_SUPPORT | ||
| 7412 | { | ||
| 7413 | UINT DataSize; | ||
| 7414 | union | ||
| 7415 | { | ||
| 7416 | D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_SUPPORT_H264 *pH264Support; | ||
| 7417 | D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_SUPPORT_HEVC *pHEVCSupport; | ||
| 7418 | D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_SUPPORT_HEVC1 *pHEVCSupport1; | ||
| 7419 | D3D12_VIDEO_ENCODER_AV1_CODEC_CONFIGURATION_SUPPORT *pAV1Support; | ||
| 7420 | } ; | ||
| 7421 | } D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_SUPPORT; | ||
| 7422 | |||
| 7423 | typedef struct D3D12_FEATURE_DATA_VIDEO_ENCODER_CODEC_CONFIGURATION_SUPPORT | ||
| 7424 | { | ||
| 7425 | UINT NodeIndex; | ||
| 7426 | D3D12_VIDEO_ENCODER_CODEC Codec; | ||
| 7427 | D3D12_VIDEO_ENCODER_PROFILE_DESC Profile; | ||
| 7428 | BOOL IsSupported; | ||
| 7429 | D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_SUPPORT CodecSupportLimits; | ||
| 7430 | } D3D12_FEATURE_DATA_VIDEO_ENCODER_CODEC_CONFIGURATION_SUPPORT; | ||
| 7431 | |||
| 7432 | typedef struct D3D12_VIDEO_ENCODER_CODEC_PICTURE_CONTROL_SUPPORT_H264 | ||
| 7433 | { | ||
| 7434 | UINT MaxL0ReferencesForP; | ||
| 7435 | UINT MaxL0ReferencesForB; | ||
| 7436 | UINT MaxL1ReferencesForB; | ||
| 7437 | UINT MaxLongTermReferences; | ||
| 7438 | UINT MaxDPBCapacity; | ||
| 7439 | } D3D12_VIDEO_ENCODER_CODEC_PICTURE_CONTROL_SUPPORT_H264; | ||
| 7440 | |||
| 7441 | typedef struct D3D12_VIDEO_ENCODER_CODEC_PICTURE_CONTROL_SUPPORT_HEVC | ||
| 7442 | { | ||
| 7443 | UINT MaxL0ReferencesForP; | ||
| 7444 | UINT MaxL0ReferencesForB; | ||
| 7445 | UINT MaxL1ReferencesForB; | ||
| 7446 | UINT MaxLongTermReferences; | ||
| 7447 | UINT MaxDPBCapacity; | ||
| 7448 | } D3D12_VIDEO_ENCODER_CODEC_PICTURE_CONTROL_SUPPORT_HEVC; | ||
| 7449 | |||
| 7450 | typedef struct D3D12_VIDEO_ENCODER_CODEC_PICTURE_CONTROL_SUPPORT | ||
| 7451 | { | ||
| 7452 | UINT DataSize; | ||
| 7453 | union | ||
| 7454 | { | ||
| 7455 | D3D12_VIDEO_ENCODER_CODEC_PICTURE_CONTROL_SUPPORT_H264 *pH264Support; | ||
| 7456 | D3D12_VIDEO_ENCODER_CODEC_PICTURE_CONTROL_SUPPORT_HEVC *pHEVCSupport; | ||
| 7457 | D3D12_VIDEO_ENCODER_CODEC_AV1_PICTURE_CONTROL_SUPPORT *pAV1Support; | ||
| 7458 | } ; | ||
| 7459 | } D3D12_VIDEO_ENCODER_CODEC_PICTURE_CONTROL_SUPPORT; | ||
| 7460 | |||
| 7461 | typedef struct D3D12_FEATURE_DATA_VIDEO_ENCODER_CODEC_PICTURE_CONTROL_SUPPORT | ||
| 7462 | { | ||
| 7463 | UINT NodeIndex; | ||
| 7464 | D3D12_VIDEO_ENCODER_CODEC Codec; | ||
| 7465 | D3D12_VIDEO_ENCODER_PROFILE_DESC Profile; | ||
| 7466 | BOOL IsSupported; | ||
| 7467 | D3D12_VIDEO_ENCODER_CODEC_PICTURE_CONTROL_SUPPORT PictureSupport; | ||
| 7468 | } D3D12_FEATURE_DATA_VIDEO_ENCODER_CODEC_PICTURE_CONTROL_SUPPORT; | ||
| 7469 | |||
| 7470 | typedef | ||
| 7471 | enum D3D12_VIDEO_ENCODER_SUPPORT_FLAGS | ||
| 7472 | { | ||
| 7473 | D3D12_VIDEO_ENCODER_SUPPORT_FLAG_NONE = 0, | ||
| 7474 | D3D12_VIDEO_ENCODER_SUPPORT_FLAG_GENERAL_SUPPORT_OK = 0x1, | ||
| 7475 | D3D12_VIDEO_ENCODER_SUPPORT_FLAG_RATE_CONTROL_RECONFIGURATION_AVAILABLE = 0x2, | ||
| 7476 | D3D12_VIDEO_ENCODER_SUPPORT_FLAG_RESOLUTION_RECONFIGURATION_AVAILABLE = 0x4, | ||
| 7477 | D3D12_VIDEO_ENCODER_SUPPORT_FLAG_RATE_CONTROL_VBV_SIZE_CONFIG_AVAILABLE = 0x8, | ||
| 7478 | D3D12_VIDEO_ENCODER_SUPPORT_FLAG_RATE_CONTROL_FRAME_ANALYSIS_AVAILABLE = 0x10, | ||
| 7479 | D3D12_VIDEO_ENCODER_SUPPORT_FLAG_RECONSTRUCTED_FRAMES_REQUIRE_TEXTURE_ARRAYS = 0x20, | ||
| 7480 | D3D12_VIDEO_ENCODER_SUPPORT_FLAG_RATE_CONTROL_DELTA_QP_AVAILABLE = 0x40, | ||
| 7481 | D3D12_VIDEO_ENCODER_SUPPORT_FLAG_SUBREGION_LAYOUT_RECONFIGURATION_AVAILABLE = 0x80, | ||
| 7482 | D3D12_VIDEO_ENCODER_SUPPORT_FLAG_RATE_CONTROL_ADJUSTABLE_QP_RANGE_AVAILABLE = 0x100, | ||
| 7483 | D3D12_VIDEO_ENCODER_SUPPORT_FLAG_RATE_CONTROL_INITIAL_QP_AVAILABLE = 0x200, | ||
| 7484 | D3D12_VIDEO_ENCODER_SUPPORT_FLAG_RATE_CONTROL_MAX_FRAME_SIZE_AVAILABLE = 0x400, | ||
| 7485 | D3D12_VIDEO_ENCODER_SUPPORT_FLAG_SEQUENCE_GOP_RECONFIGURATION_AVAILABLE = 0x800, | ||
| 7486 | D3D12_VIDEO_ENCODER_SUPPORT_FLAG_MOTION_ESTIMATION_PRECISION_MODE_LIMIT_AVAILABLE = 0x1000, | ||
| 7487 | D3D12_VIDEO_ENCODER_SUPPORT_FLAG_RATE_CONTROL_EXTENSION1_SUPPORT = 0x2000, | ||
| 7488 | D3D12_VIDEO_ENCODER_SUPPORT_FLAG_RATE_CONTROL_QUALITY_VS_SPEED_AVAILABLE = 0x4000, | ||
| 7489 | D3D12_VIDEO_ENCODER_SUPPORT_FLAG_READABLE_RECONSTRUCTED_PICTURE_LAYOUT_AVAILABLE = 0x8000, | ||
| 7490 | D3D12_VIDEO_ENCODER_SUPPORT_FLAG_PER_BLOCK_QP_MAP_METADATA_AVAILABLE = 0x10000, | ||
| 7491 | D3D12_VIDEO_ENCODER_SUPPORT_FLAG_PER_BLOCK_SATD_MAP_METADATA_AVAILABLE = 0x20000, | ||
| 7492 | D3D12_VIDEO_ENCODER_SUPPORT_FLAG_PER_BLOCK_RC_BIT_ALLOCATION_MAP_METADATA_AVAILABLE = 0x40000, | ||
| 7493 | D3D12_VIDEO_ENCODER_SUPPORT_FLAG_SUBREGION_NOTIFICATION_ARRAY_OF_BUFFERS_AVAILABLE = 0x80000, | ||
| 7494 | D3D12_VIDEO_ENCODER_SUPPORT_FLAG_SUBREGION_NOTIFICATION_SINGLE_BUFFER_AVAILABLE = 0x100000, | ||
| 7495 | D3D12_VIDEO_ENCODER_SUPPORT_FLAG_FRAME_PSNR_METADATA_AVAILABLE = 0x200000, | ||
| 7496 | D3D12_VIDEO_ENCODER_SUPPORT_FLAG_SUBREGIONS_PSNR_METADATA_AVAILABLE = 0x400000, | ||
| 7497 | D3D12_VIDEO_ENCODER_SUPPORT_FLAG_RATE_CONTROL_SPATIAL_ADAPTIVE_QP_AVAILABLE = 0x800000 | ||
| 7498 | } D3D12_VIDEO_ENCODER_SUPPORT_FLAGS; | ||
| 7499 | |||
| 7500 | DEFINE_ENUM_FLAG_OPERATORS(D3D12_VIDEO_ENCODER_SUPPORT_FLAGS) | ||
| 7501 | typedef | ||
| 7502 | enum D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_H264_FLAGS | ||
| 7503 | { | ||
| 7504 | D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_H264_FLAG_NONE = 0, | ||
| 7505 | D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_H264_FLAG_USE_CONSTRAINED_INTRAPREDICTION = 0x1, | ||
| 7506 | D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_H264_FLAG_USE_ADAPTIVE_8x8_TRANSFORM = 0x2, | ||
| 7507 | D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_H264_FLAG_ENABLE_CABAC_ENCODING = 0x4, | ||
| 7508 | D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_H264_FLAG_ALLOW_REQUEST_INTRA_CONSTRAINED_SLICES = 0x8 | ||
| 7509 | } D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_H264_FLAGS; | ||
| 7510 | |||
| 7511 | DEFINE_ENUM_FLAG_OPERATORS(D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_H264_FLAGS) | ||
| 7512 | typedef | ||
| 7513 | enum D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_H264_DIRECT_MODES | ||
| 7514 | { | ||
| 7515 | D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_H264_DIRECT_MODES_DISABLED = 0, | ||
| 7516 | D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_H264_DIRECT_MODES_TEMPORAL = 1, | ||
| 7517 | D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_H264_DIRECT_MODES_SPATIAL = 2 | ||
| 7518 | } D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_H264_DIRECT_MODES; | ||
| 7519 | |||
| 7520 | typedef struct D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_H264 | ||
| 7521 | { | ||
| 7522 | D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_H264_FLAGS ConfigurationFlags; | ||
| 7523 | D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_H264_DIRECT_MODES DirectModeConfig; | ||
| 7524 | D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_H264_SLICES_DEBLOCKING_MODES DisableDeblockingFilterConfig; | ||
| 7525 | } D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_H264; | ||
| 7526 | |||
| 7527 | typedef | ||
| 7528 | enum D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_HEVC_FLAGS | ||
| 7529 | { | ||
| 7530 | D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_HEVC_FLAG_NONE = 0, | ||
| 7531 | D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_HEVC_FLAG_DISABLE_LOOP_FILTER_ACROSS_SLICES = 0x1, | ||
| 7532 | D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_HEVC_FLAG_ALLOW_REQUEST_INTRA_CONSTRAINED_SLICES = 0x2, | ||
| 7533 | D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_HEVC_FLAG_ENABLE_SAO_FILTER = 0x4, | ||
| 7534 | D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_HEVC_FLAG_ENABLE_LONG_TERM_REFERENCES = 0x8, | ||
| 7535 | D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_HEVC_FLAG_USE_ASYMETRIC_MOTION_PARTITION = 0x10, | ||
| 7536 | D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_HEVC_FLAG_ENABLE_TRANSFORM_SKIPPING = 0x20, | ||
| 7537 | D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_HEVC_FLAG_USE_CONSTRAINED_INTRAPREDICTION = 0x40, | ||
| 7538 | D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_HEVC_FLAG_TRANSFORM_SKIP_ROTATION = 0x80, | ||
| 7539 | D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_HEVC_FLAG_TRANSFORM_SKIP_CONTEXT = 0x100, | ||
| 7540 | D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_HEVC_FLAG_IMPLICIT_RDPCM = 0x200, | ||
| 7541 | D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_HEVC_FLAG_EXPLICIT_RDPCM = 0x400, | ||
| 7542 | D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_HEVC_FLAG_EXTENDED_PRECISION_PROCESSING = 0x800, | ||
| 7543 | D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_HEVC_FLAG_INTRA_SMOOTHING_DISABLED = 0x1000, | ||
| 7544 | D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_HEVC_FLAG_HIGH_PRECISION_OFFSETS = 0x2000, | ||
| 7545 | D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_HEVC_FLAG_PERSISTENT_RICE_ADAPTATION = 0x4000, | ||
| 7546 | D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_HEVC_FLAG_CABAC_BYPASS_ALIGNMENT = 0x8000, | ||
| 7547 | D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_HEVC_FLAG_SEPARATE_COLOUR_PLANE = 0x10000 | ||
| 7548 | } D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_HEVC_FLAGS; | ||
| 7549 | |||
| 7550 | DEFINE_ENUM_FLAG_OPERATORS(D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_HEVC_FLAGS) | ||
| 7551 | typedef struct D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_HEVC | ||
| 7552 | { | ||
| 7553 | D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_HEVC_FLAGS ConfigurationFlags; | ||
| 7554 | D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_HEVC_CUSIZE MinLumaCodingUnitSize; | ||
| 7555 | D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_HEVC_CUSIZE MaxLumaCodingUnitSize; | ||
| 7556 | D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_HEVC_TUSIZE MinLumaTransformUnitSize; | ||
| 7557 | D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_HEVC_TUSIZE MaxLumaTransformUnitSize; | ||
| 7558 | UCHAR max_transform_hierarchy_depth_inter; | ||
| 7559 | UCHAR max_transform_hierarchy_depth_intra; | ||
| 7560 | } D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_HEVC; | ||
| 7561 | |||
| 7562 | typedef struct D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION | ||
| 7563 | { | ||
| 7564 | UINT DataSize; | ||
| 7565 | union | ||
| 7566 | { | ||
| 7567 | D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_H264 *pH264Config; | ||
| 7568 | D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_HEVC *pHEVCConfig; | ||
| 7569 | D3D12_VIDEO_ENCODER_AV1_CODEC_CONFIGURATION *pAV1Config; | ||
| 7570 | } ; | ||
| 7571 | } D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION; | ||
| 7572 | |||
| 7573 | typedef struct D3D12_VIDEO_ENCODER_INTRA_REFRESH | ||
| 7574 | { | ||
| 7575 | D3D12_VIDEO_ENCODER_INTRA_REFRESH_MODE Mode; | ||
| 7576 | UINT IntraRefreshDuration; | ||
| 7577 | } D3D12_VIDEO_ENCODER_INTRA_REFRESH; | ||
| 7578 | |||
| 7579 | typedef | ||
| 7580 | enum D3D12_VIDEO_ENCODER_MOTION_ESTIMATION_PRECISION_MODE | ||
| 7581 | { | ||
| 7582 | D3D12_VIDEO_ENCODER_MOTION_ESTIMATION_PRECISION_MODE_MAXIMUM = 0, | ||
| 7583 | D3D12_VIDEO_ENCODER_MOTION_ESTIMATION_PRECISION_MODE_FULL_PIXEL = 1, | ||
| 7584 | D3D12_VIDEO_ENCODER_MOTION_ESTIMATION_PRECISION_MODE_HALF_PIXEL = 2, | ||
| 7585 | D3D12_VIDEO_ENCODER_MOTION_ESTIMATION_PRECISION_MODE_QUARTER_PIXEL = 3, | ||
| 7586 | D3D12_VIDEO_ENCODER_MOTION_ESTIMATION_PRECISION_MODE_EIGHTH_PIXEL = 4 | ||
| 7587 | } D3D12_VIDEO_ENCODER_MOTION_ESTIMATION_PRECISION_MODE; | ||
| 7588 | |||
| 7589 | typedef struct D3D12_FEATURE_DATA_VIDEO_ENCODER_RESOLUTION_SUPPORT_LIMITS | ||
| 7590 | { | ||
| 7591 | UINT MaxSubregionsNumber; | ||
| 7592 | UINT MaxIntraRefreshFrameDuration; | ||
| 7593 | UINT SubregionBlockPixelsSize; | ||
| 7594 | UINT QPMapRegionPixelsSize; | ||
| 7595 | } D3D12_FEATURE_DATA_VIDEO_ENCODER_RESOLUTION_SUPPORT_LIMITS; | ||
| 7596 | |||
| 7597 | typedef | ||
| 7598 | enum D3D12_VIDEO_ENCODER_VALIDATION_FLAGS | ||
| 7599 | { | ||
| 7600 | D3D12_VIDEO_ENCODER_VALIDATION_FLAG_NONE = 0, | ||
| 7601 | D3D12_VIDEO_ENCODER_VALIDATION_FLAG_CODEC_NOT_SUPPORTED = 0x1, | ||
| 7602 | D3D12_VIDEO_ENCODER_VALIDATION_FLAG_INPUT_FORMAT_NOT_SUPPORTED = 0x8, | ||
| 7603 | D3D12_VIDEO_ENCODER_VALIDATION_FLAG_CODEC_CONFIGURATION_NOT_SUPPORTED = 0x10, | ||
| 7604 | D3D12_VIDEO_ENCODER_VALIDATION_FLAG_RATE_CONTROL_MODE_NOT_SUPPORTED = 0x20, | ||
| 7605 | D3D12_VIDEO_ENCODER_VALIDATION_FLAG_RATE_CONTROL_CONFIGURATION_NOT_SUPPORTED = 0x40, | ||
| 7606 | D3D12_VIDEO_ENCODER_VALIDATION_FLAG_INTRA_REFRESH_MODE_NOT_SUPPORTED = 0x80, | ||
| 7607 | D3D12_VIDEO_ENCODER_VALIDATION_FLAG_SUBREGION_LAYOUT_MODE_NOT_SUPPORTED = 0x100, | ||
| 7608 | D3D12_VIDEO_ENCODER_VALIDATION_FLAG_RESOLUTION_NOT_SUPPORTED_IN_LIST = 0x200, | ||
| 7609 | D3D12_VIDEO_ENCODER_VALIDATION_FLAG_GOP_STRUCTURE_NOT_SUPPORTED = 0x800, | ||
| 7610 | D3D12_VIDEO_ENCODER_VALIDATION_FLAG_SUBREGION_LAYOUT_DATA_NOT_SUPPORTED = 0x1000, | ||
| 7611 | D3D12_VIDEO_ENCODER_VALIDATION_FLAG_QPMAP_NOT_SUPPORTED = 0x2000, | ||
| 7612 | D3D12_VIDEO_ENCODER_VALIDATION_FLAG_DIRTY_REGIONS_NOT_SUPPORTED = 0x4000, | ||
| 7613 | D3D12_VIDEO_ENCODER_VALIDATION_FLAG_MOTION_SEARCH_NOT_SUPPORTED = 0x8000, | ||
| 7614 | D3D12_VIDEO_ENCODER_VALIDATION_FLAG_FRAME_ANALYSIS_NOT_SUPPORTED = 0x10000 | ||
| 7615 | } D3D12_VIDEO_ENCODER_VALIDATION_FLAGS; | ||
| 7616 | |||
| 7617 | DEFINE_ENUM_FLAG_OPERATORS(D3D12_VIDEO_ENCODER_VALIDATION_FLAGS) | ||
| 7618 | typedef struct D3D12_VIDEO_ENCODER_SEQUENCE_GOP_STRUCTURE_H264 | ||
| 7619 | { | ||
| 7620 | UINT GOPLength; | ||
| 7621 | UINT PPicturePeriod; | ||
| 7622 | UCHAR pic_order_cnt_type; | ||
| 7623 | UCHAR log2_max_frame_num_minus4; | ||
| 7624 | UCHAR log2_max_pic_order_cnt_lsb_minus4; | ||
| 7625 | } D3D12_VIDEO_ENCODER_SEQUENCE_GOP_STRUCTURE_H264; | ||
| 7626 | |||
| 7627 | typedef struct D3D12_VIDEO_ENCODER_SEQUENCE_GOP_STRUCTURE_HEVC | ||
| 7628 | { | ||
| 7629 | UINT GOPLength; | ||
| 7630 | UINT PPicturePeriod; | ||
| 7631 | UCHAR log2_max_pic_order_cnt_lsb_minus4; | ||
| 7632 | } D3D12_VIDEO_ENCODER_SEQUENCE_GOP_STRUCTURE_HEVC; | ||
| 7633 | |||
| 7634 | typedef struct D3D12_VIDEO_ENCODER_SEQUENCE_GOP_STRUCTURE | ||
| 7635 | { | ||
| 7636 | UINT DataSize; | ||
| 7637 | union | ||
| 7638 | { | ||
| 7639 | D3D12_VIDEO_ENCODER_SEQUENCE_GOP_STRUCTURE_H264 *pH264GroupOfPictures; | ||
| 7640 | D3D12_VIDEO_ENCODER_SEQUENCE_GOP_STRUCTURE_HEVC *pHEVCGroupOfPictures; | ||
| 7641 | D3D12_VIDEO_ENCODER_AV1_SEQUENCE_STRUCTURE *pAV1SequenceStructure; | ||
| 7642 | } ; | ||
| 7643 | } D3D12_VIDEO_ENCODER_SEQUENCE_GOP_STRUCTURE; | ||
| 7644 | |||
| 7645 | typedef struct D3D12_FEATURE_DATA_VIDEO_ENCODER_SUPPORT | ||
| 7646 | { | ||
| 7647 | UINT NodeIndex; | ||
| 7648 | D3D12_VIDEO_ENCODER_CODEC Codec; | ||
| 7649 | DXGI_FORMAT InputFormat; | ||
| 7650 | D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION CodecConfiguration; | ||
| 7651 | D3D12_VIDEO_ENCODER_SEQUENCE_GOP_STRUCTURE CodecGopSequence; | ||
| 7652 | D3D12_VIDEO_ENCODER_RATE_CONTROL RateControl; | ||
| 7653 | D3D12_VIDEO_ENCODER_INTRA_REFRESH_MODE IntraRefresh; | ||
| 7654 | D3D12_VIDEO_ENCODER_FRAME_SUBREGION_LAYOUT_MODE SubregionFrameEncoding; | ||
| 7655 | UINT ResolutionsListCount; | ||
| 7656 | const D3D12_VIDEO_ENCODER_PICTURE_RESOLUTION_DESC *pResolutionList; | ||
| 7657 | UINT MaxReferenceFramesInDPB; | ||
| 7658 | D3D12_VIDEO_ENCODER_VALIDATION_FLAGS ValidationFlags; | ||
| 7659 | D3D12_VIDEO_ENCODER_SUPPORT_FLAGS SupportFlags; | ||
| 7660 | D3D12_VIDEO_ENCODER_PROFILE_DESC SuggestedProfile; | ||
| 7661 | D3D12_VIDEO_ENCODER_LEVEL_SETTING SuggestedLevel; | ||
| 7662 | _Field_size_full_(ResolutionsListCount) D3D12_FEATURE_DATA_VIDEO_ENCODER_RESOLUTION_SUPPORT_LIMITS *pResolutionDependentSupport; | ||
| 7663 | } D3D12_FEATURE_DATA_VIDEO_ENCODER_SUPPORT; | ||
| 7664 | |||
| 7665 | typedef struct D3D12_VIDEO_ENCODER_PICTURE_CONTROL_SUBREGIONS_LAYOUT_DATA_SLICES | ||
| 7666 | { | ||
| 7667 | union | ||
| 7668 | { | ||
| 7669 | UINT MaxBytesPerSlice; | ||
| 7670 | UINT NumberOfCodingUnitsPerSlice; | ||
| 7671 | UINT NumberOfRowsPerSlice; | ||
| 7672 | UINT NumberOfSlicesPerFrame; | ||
| 7673 | } ; | ||
| 7674 | } D3D12_VIDEO_ENCODER_PICTURE_CONTROL_SUBREGIONS_LAYOUT_DATA_SLICES; | ||
| 7675 | |||
| 7676 | typedef struct D3D12_VIDEO_ENCODER_PICTURE_CONTROL_SUBREGIONS_LAYOUT_DATA | ||
| 7677 | { | ||
| 7678 | UINT DataSize; | ||
| 7679 | union | ||
| 7680 | { | ||
| 7681 | const D3D12_VIDEO_ENCODER_PICTURE_CONTROL_SUBREGIONS_LAYOUT_DATA_SLICES *pSlicesPartition_H264; | ||
| 7682 | const D3D12_VIDEO_ENCODER_PICTURE_CONTROL_SUBREGIONS_LAYOUT_DATA_SLICES *pSlicesPartition_HEVC; | ||
| 7683 | const D3D12_VIDEO_ENCODER_AV1_PICTURE_CONTROL_SUBREGIONS_LAYOUT_DATA_TILES *pTilesPartition_AV1; | ||
| 7684 | } ; | ||
| 7685 | } D3D12_VIDEO_ENCODER_PICTURE_CONTROL_SUBREGIONS_LAYOUT_DATA; | ||
| 7686 | |||
| 7687 | typedef struct D3D12_FEATURE_DATA_VIDEO_ENCODER_SUPPORT1 | ||
| 7688 | { | ||
| 7689 | UINT NodeIndex; | ||
| 7690 | D3D12_VIDEO_ENCODER_CODEC Codec; | ||
| 7691 | DXGI_FORMAT InputFormat; | ||
| 7692 | D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION CodecConfiguration; | ||
| 7693 | D3D12_VIDEO_ENCODER_SEQUENCE_GOP_STRUCTURE CodecGopSequence; | ||
| 7694 | D3D12_VIDEO_ENCODER_RATE_CONTROL RateControl; | ||
| 7695 | D3D12_VIDEO_ENCODER_INTRA_REFRESH_MODE IntraRefresh; | ||
| 7696 | D3D12_VIDEO_ENCODER_FRAME_SUBREGION_LAYOUT_MODE SubregionFrameEncoding; | ||
| 7697 | UINT ResolutionsListCount; | ||
| 7698 | const D3D12_VIDEO_ENCODER_PICTURE_RESOLUTION_DESC *pResolutionList; | ||
| 7699 | UINT MaxReferenceFramesInDPB; | ||
| 7700 | D3D12_VIDEO_ENCODER_VALIDATION_FLAGS ValidationFlags; | ||
| 7701 | D3D12_VIDEO_ENCODER_SUPPORT_FLAGS SupportFlags; | ||
| 7702 | D3D12_VIDEO_ENCODER_PROFILE_DESC SuggestedProfile; | ||
| 7703 | D3D12_VIDEO_ENCODER_LEVEL_SETTING SuggestedLevel; | ||
| 7704 | _Field_size_full_(ResolutionsListCount) D3D12_FEATURE_DATA_VIDEO_ENCODER_RESOLUTION_SUPPORT_LIMITS *pResolutionDependentSupport; | ||
| 7705 | D3D12_VIDEO_ENCODER_PICTURE_CONTROL_SUBREGIONS_LAYOUT_DATA SubregionFrameEncodingData; | ||
| 7706 | UINT MaxQualityVsSpeed; | ||
| 7707 | } D3D12_FEATURE_DATA_VIDEO_ENCODER_SUPPORT1; | ||
| 7708 | |||
| 7709 | typedef struct D3D12_FEATURE_DATA_VIDEO_ENCODER_RESOURCE_REQUIREMENTS | ||
| 7710 | { | ||
| 7711 | UINT NodeIndex; | ||
| 7712 | D3D12_VIDEO_ENCODER_CODEC Codec; | ||
| 7713 | D3D12_VIDEO_ENCODER_PROFILE_DESC Profile; | ||
| 7714 | DXGI_FORMAT InputFormat; | ||
| 7715 | D3D12_VIDEO_ENCODER_PICTURE_RESOLUTION_DESC PictureTargetResolution; | ||
| 7716 | BOOL IsSupported; | ||
| 7717 | UINT CompressedBitstreamBufferAccessAlignment; | ||
| 7718 | UINT EncoderMetadataBufferAccessAlignment; | ||
| 7719 | UINT MaxEncoderOutputMetadataBufferSize; | ||
| 7720 | } D3D12_FEATURE_DATA_VIDEO_ENCODER_RESOURCE_REQUIREMENTS; | ||
| 7721 | |||
| 7722 | typedef | ||
| 7723 | enum D3D12_VIDEO_ENCODER_FLAGS | ||
| 7724 | { | ||
| 7725 | D3D12_VIDEO_ENCODER_FLAG_NONE = 0 | ||
| 7726 | } D3D12_VIDEO_ENCODER_FLAGS; | ||
| 7727 | |||
| 7728 | DEFINE_ENUM_FLAG_OPERATORS(D3D12_VIDEO_ENCODER_FLAGS) | ||
| 7729 | typedef struct D3D12_VIDEO_ENCODER_DESC | ||
| 7730 | { | ||
| 7731 | UINT NodeMask; | ||
| 7732 | D3D12_VIDEO_ENCODER_FLAGS Flags; | ||
| 7733 | D3D12_VIDEO_ENCODER_CODEC EncodeCodec; | ||
| 7734 | D3D12_VIDEO_ENCODER_PROFILE_DESC EncodeProfile; | ||
| 7735 | DXGI_FORMAT InputFormat; | ||
| 7736 | D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION CodecConfiguration; | ||
| 7737 | D3D12_VIDEO_ENCODER_MOTION_ESTIMATION_PRECISION_MODE MaxMotionEstimationPrecision; | ||
| 7738 | } D3D12_VIDEO_ENCODER_DESC; | ||
| 7739 | |||
| 7740 | |||
| 7741 | |||
| 7742 | extern RPC_IF_HANDLE __MIDL_itf_d3d12video_0000_0022_v0_0_c_ifspec; | ||
| 7743 | extern RPC_IF_HANDLE __MIDL_itf_d3d12video_0000_0022_v0_0_s_ifspec; | ||
| 7744 | |||
| 7745 | #ifndef __ID3D12VideoEncoder_INTERFACE_DEFINED__ | ||
| 7746 | #define __ID3D12VideoEncoder_INTERFACE_DEFINED__ | ||
| 7747 | |||
| 7748 | /* interface ID3D12VideoEncoder */ | ||
| 7749 | /* [unique][local][object][uuid] */ | ||
| 7750 | |||
| 7751 | |||
| 7752 | EXTERN_C const IID IID_ID3D12VideoEncoder; | ||
| 7753 | |||
| 7754 | #if defined(__cplusplus) && !defined(CINTERFACE) | ||
| 7755 | |||
| 7756 | MIDL_INTERFACE("2E0D212D-8DF9-44A6-A770-BB289B182737") | ||
| 7757 | ID3D12VideoEncoder : public ID3D12Pageable | ||
| 7758 | { | ||
| 7759 | public: | ||
| 7760 | virtual UINT STDMETHODCALLTYPE GetNodeMask( void) = 0; | ||
| 7761 | |||
| 7762 | virtual D3D12_VIDEO_ENCODER_FLAGS STDMETHODCALLTYPE GetEncoderFlags( void) = 0; | ||
| 7763 | |||
| 7764 | virtual D3D12_VIDEO_ENCODER_CODEC STDMETHODCALLTYPE GetCodec( void) = 0; | ||
| 7765 | |||
| 7766 | virtual HRESULT STDMETHODCALLTYPE GetCodecProfile( | ||
| 7767 | _Inout_ D3D12_VIDEO_ENCODER_PROFILE_DESC dstProfile) = 0; | ||
| 7768 | |||
| 7769 | virtual HRESULT STDMETHODCALLTYPE GetCodecConfiguration( | ||
| 7770 | _Inout_ D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION dstCodecConfig) = 0; | ||
| 7771 | |||
| 7772 | virtual DXGI_FORMAT STDMETHODCALLTYPE GetInputFormat( void) = 0; | ||
| 7773 | |||
| 7774 | virtual D3D12_VIDEO_ENCODER_MOTION_ESTIMATION_PRECISION_MODE STDMETHODCALLTYPE GetMaxMotionEstimationPrecision( void) = 0; | ||
| 7775 | |||
| 7776 | }; | ||
| 7777 | |||
| 7778 | |||
| 7779 | #else /* C style interface */ | ||
| 7780 | |||
| 7781 | typedef struct ID3D12VideoEncoderVtbl | ||
| 7782 | { | ||
| 7783 | BEGIN_INTERFACE | ||
| 7784 | |||
| 7785 | DECLSPEC_XFGVIRT(IUnknown, QueryInterface) | ||
| 7786 | HRESULT ( STDMETHODCALLTYPE *QueryInterface )( | ||
| 7787 | ID3D12VideoEncoder * This, | ||
| 7788 | REFIID riid, | ||
| 7789 | _COM_Outptr_ void **ppvObject); | ||
| 7790 | |||
| 7791 | DECLSPEC_XFGVIRT(IUnknown, AddRef) | ||
| 7792 | ULONG ( STDMETHODCALLTYPE *AddRef )( | ||
| 7793 | ID3D12VideoEncoder * This); | ||
| 7794 | |||
| 7795 | DECLSPEC_XFGVIRT(IUnknown, Release) | ||
| 7796 | ULONG ( STDMETHODCALLTYPE *Release )( | ||
| 7797 | ID3D12VideoEncoder * This); | ||
| 7798 | |||
| 7799 | DECLSPEC_XFGVIRT(ID3D12Object, GetPrivateData) | ||
| 7800 | HRESULT ( STDMETHODCALLTYPE *GetPrivateData )( | ||
| 7801 | ID3D12VideoEncoder * This, | ||
| 7802 | _In_ REFGUID guid, | ||
| 7803 | _Inout_ UINT *pDataSize, | ||
| 7804 | _Out_writes_bytes_opt_( *pDataSize ) void *pData); | ||
| 7805 | |||
| 7806 | DECLSPEC_XFGVIRT(ID3D12Object, SetPrivateData) | ||
| 7807 | HRESULT ( STDMETHODCALLTYPE *SetPrivateData )( | ||
| 7808 | ID3D12VideoEncoder * This, | ||
| 7809 | _In_ REFGUID guid, | ||
| 7810 | _In_ UINT DataSize, | ||
| 7811 | _In_reads_bytes_opt_( DataSize ) const void *pData); | ||
| 7812 | |||
| 7813 | DECLSPEC_XFGVIRT(ID3D12Object, SetPrivateDataInterface) | ||
| 7814 | HRESULT ( STDMETHODCALLTYPE *SetPrivateDataInterface )( | ||
| 7815 | ID3D12VideoEncoder * This, | ||
| 7816 | _In_ REFGUID guid, | ||
| 7817 | _In_opt_ const IUnknown *pData); | ||
| 7818 | |||
| 7819 | DECLSPEC_XFGVIRT(ID3D12Object, SetName) | ||
| 7820 | HRESULT ( STDMETHODCALLTYPE *SetName )( | ||
| 7821 | ID3D12VideoEncoder * This, | ||
| 7822 | _In_z_ LPCWSTR Name); | ||
| 7823 | |||
| 7824 | DECLSPEC_XFGVIRT(ID3D12DeviceChild, GetDevice) | ||
| 7825 | HRESULT ( STDMETHODCALLTYPE *GetDevice )( | ||
| 7826 | ID3D12VideoEncoder * This, | ||
| 7827 | REFIID riid, | ||
| 7828 | _COM_Outptr_opt_ void **ppvDevice); | ||
| 7829 | |||
| 7830 | DECLSPEC_XFGVIRT(ID3D12VideoEncoder, GetNodeMask) | ||
| 7831 | UINT ( STDMETHODCALLTYPE *GetNodeMask )( | ||
| 7832 | ID3D12VideoEncoder * This); | ||
| 7833 | |||
| 7834 | DECLSPEC_XFGVIRT(ID3D12VideoEncoder, GetEncoderFlags) | ||
| 7835 | D3D12_VIDEO_ENCODER_FLAGS ( STDMETHODCALLTYPE *GetEncoderFlags )( | ||
| 7836 | ID3D12VideoEncoder * This); | ||
| 7837 | |||
| 7838 | DECLSPEC_XFGVIRT(ID3D12VideoEncoder, GetCodec) | ||
| 7839 | D3D12_VIDEO_ENCODER_CODEC ( STDMETHODCALLTYPE *GetCodec )( | ||
| 7840 | ID3D12VideoEncoder * This); | ||
| 7841 | |||
| 7842 | DECLSPEC_XFGVIRT(ID3D12VideoEncoder, GetCodecProfile) | ||
| 7843 | HRESULT ( STDMETHODCALLTYPE *GetCodecProfile )( | ||
| 7844 | ID3D12VideoEncoder * This, | ||
| 7845 | _Inout_ D3D12_VIDEO_ENCODER_PROFILE_DESC dstProfile); | ||
| 7846 | |||
| 7847 | DECLSPEC_XFGVIRT(ID3D12VideoEncoder, GetCodecConfiguration) | ||
| 7848 | HRESULT ( STDMETHODCALLTYPE *GetCodecConfiguration )( | ||
| 7849 | ID3D12VideoEncoder * This, | ||
| 7850 | _Inout_ D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION dstCodecConfig); | ||
| 7851 | |||
| 7852 | DECLSPEC_XFGVIRT(ID3D12VideoEncoder, GetInputFormat) | ||
| 7853 | DXGI_FORMAT ( STDMETHODCALLTYPE *GetInputFormat )( | ||
| 7854 | ID3D12VideoEncoder * This); | ||
| 7855 | |||
| 7856 | DECLSPEC_XFGVIRT(ID3D12VideoEncoder, GetMaxMotionEstimationPrecision) | ||
| 7857 | D3D12_VIDEO_ENCODER_MOTION_ESTIMATION_PRECISION_MODE ( STDMETHODCALLTYPE *GetMaxMotionEstimationPrecision )( | ||
| 7858 | ID3D12VideoEncoder * This); | ||
| 7859 | |||
| 7860 | END_INTERFACE | ||
| 7861 | } ID3D12VideoEncoderVtbl; | ||
| 7862 | |||
| 7863 | interface ID3D12VideoEncoder | ||
| 7864 | { | ||
| 7865 | CONST_VTBL struct ID3D12VideoEncoderVtbl *lpVtbl; | ||
| 7866 | }; | ||
| 7867 | |||
| 7868 | |||
| 7869 | |||
| 7870 | #ifdef COBJMACROS | ||
| 7871 | |||
| 7872 | |||
| 7873 | #define ID3D12VideoEncoder_QueryInterface(This,riid,ppvObject) \ | ||
| 7874 | ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) | ||
| 7875 | |||
| 7876 | #define ID3D12VideoEncoder_AddRef(This) \ | ||
| 7877 | ( (This)->lpVtbl -> AddRef(This) ) | ||
| 7878 | |||
| 7879 | #define ID3D12VideoEncoder_Release(This) \ | ||
| 7880 | ( (This)->lpVtbl -> Release(This) ) | ||
| 7881 | |||
| 7882 | |||
| 7883 | #define ID3D12VideoEncoder_GetPrivateData(This,guid,pDataSize,pData) \ | ||
| 7884 | ( (This)->lpVtbl -> GetPrivateData(This,guid,pDataSize,pData) ) | ||
| 7885 | |||
| 7886 | #define ID3D12VideoEncoder_SetPrivateData(This,guid,DataSize,pData) \ | ||
| 7887 | ( (This)->lpVtbl -> SetPrivateData(This,guid,DataSize,pData) ) | ||
| 7888 | |||
| 7889 | #define ID3D12VideoEncoder_SetPrivateDataInterface(This,guid,pData) \ | ||
| 7890 | ( (This)->lpVtbl -> SetPrivateDataInterface(This,guid,pData) ) | ||
| 7891 | |||
| 7892 | #define ID3D12VideoEncoder_SetName(This,Name) \ | ||
| 7893 | ( (This)->lpVtbl -> SetName(This,Name) ) | ||
| 7894 | |||
| 7895 | |||
| 7896 | #define ID3D12VideoEncoder_GetDevice(This,riid,ppvDevice) \ | ||
| 7897 | ( (This)->lpVtbl -> GetDevice(This,riid,ppvDevice) ) | ||
| 7898 | |||
| 7899 | |||
| 7900 | |||
| 7901 | #define ID3D12VideoEncoder_GetNodeMask(This) \ | ||
| 7902 | ( (This)->lpVtbl -> GetNodeMask(This) ) | ||
| 7903 | |||
| 7904 | #define ID3D12VideoEncoder_GetEncoderFlags(This) \ | ||
| 7905 | ( (This)->lpVtbl -> GetEncoderFlags(This) ) | ||
| 7906 | |||
| 7907 | #define ID3D12VideoEncoder_GetCodec(This) \ | ||
| 7908 | ( (This)->lpVtbl -> GetCodec(This) ) | ||
| 7909 | |||
| 7910 | #define ID3D12VideoEncoder_GetCodecProfile(This,dstProfile) \ | ||
| 7911 | ( (This)->lpVtbl -> GetCodecProfile(This,dstProfile) ) | ||
| 7912 | |||
| 7913 | #define ID3D12VideoEncoder_GetCodecConfiguration(This,dstCodecConfig) \ | ||
| 7914 | ( (This)->lpVtbl -> GetCodecConfiguration(This,dstCodecConfig) ) | ||
| 7915 | |||
| 7916 | #define ID3D12VideoEncoder_GetInputFormat(This) \ | ||
| 7917 | ( (This)->lpVtbl -> GetInputFormat(This) ) | ||
| 7918 | |||
| 7919 | #define ID3D12VideoEncoder_GetMaxMotionEstimationPrecision(This) \ | ||
| 7920 | ( (This)->lpVtbl -> GetMaxMotionEstimationPrecision(This) ) | ||
| 7921 | |||
| 7922 | #endif /* COBJMACROS */ | ||
| 7923 | |||
| 7924 | |||
| 7925 | #endif /* C style interface */ | ||
| 7926 | |||
| 7927 | |||
| 7928 | |||
| 7929 | |||
| 7930 | #endif /* __ID3D12VideoEncoder_INTERFACE_DEFINED__ */ | ||
| 7931 | |||
| 7932 | |||
| 7933 | #ifndef __ID3D12VideoEncoderHeap_INTERFACE_DEFINED__ | ||
| 7934 | #define __ID3D12VideoEncoderHeap_INTERFACE_DEFINED__ | ||
| 7935 | |||
| 7936 | /* interface ID3D12VideoEncoderHeap */ | ||
| 7937 | /* [unique][local][object][uuid] */ | ||
| 7938 | |||
| 7939 | |||
| 7940 | EXTERN_C const IID IID_ID3D12VideoEncoderHeap; | ||
| 7941 | |||
| 7942 | #if defined(__cplusplus) && !defined(CINTERFACE) | ||
| 7943 | |||
| 7944 | MIDL_INTERFACE("22B35D96-876A-44C0-B25E-FB8C9C7F1C4A") | ||
| 7945 | ID3D12VideoEncoderHeap : public ID3D12Pageable | ||
| 7946 | { | ||
| 7947 | public: | ||
| 7948 | virtual UINT STDMETHODCALLTYPE GetNodeMask( void) = 0; | ||
| 7949 | |||
| 7950 | virtual D3D12_VIDEO_ENCODER_HEAP_FLAGS STDMETHODCALLTYPE GetEncoderHeapFlags( void) = 0; | ||
| 7951 | |||
| 7952 | virtual D3D12_VIDEO_ENCODER_CODEC STDMETHODCALLTYPE GetCodec( void) = 0; | ||
| 7953 | |||
| 7954 | virtual HRESULT STDMETHODCALLTYPE GetCodecProfile( | ||
| 7955 | _Inout_ D3D12_VIDEO_ENCODER_PROFILE_DESC dstProfile) = 0; | ||
| 7956 | |||
| 7957 | virtual HRESULT STDMETHODCALLTYPE GetCodecLevel( | ||
| 7958 | _Inout_ D3D12_VIDEO_ENCODER_LEVEL_SETTING dstLevel) = 0; | ||
| 7959 | |||
| 7960 | virtual UINT STDMETHODCALLTYPE GetResolutionListCount( void) = 0; | ||
| 7961 | |||
| 7962 | virtual HRESULT STDMETHODCALLTYPE GetResolutionList( | ||
| 7963 | const UINT ResolutionsListCount, | ||
| 7964 | _Out_writes_(ResolutionsListCount) D3D12_VIDEO_ENCODER_PICTURE_RESOLUTION_DESC *pResolutionList) = 0; | ||
| 7965 | |||
| 7966 | }; | ||
| 7967 | |||
| 7968 | |||
| 7969 | #else /* C style interface */ | ||
| 7970 | |||
| 7971 | typedef struct ID3D12VideoEncoderHeapVtbl | ||
| 7972 | { | ||
| 7973 | BEGIN_INTERFACE | ||
| 7974 | |||
| 7975 | DECLSPEC_XFGVIRT(IUnknown, QueryInterface) | ||
| 7976 | HRESULT ( STDMETHODCALLTYPE *QueryInterface )( | ||
| 7977 | ID3D12VideoEncoderHeap * This, | ||
| 7978 | REFIID riid, | ||
| 7979 | _COM_Outptr_ void **ppvObject); | ||
| 7980 | |||
| 7981 | DECLSPEC_XFGVIRT(IUnknown, AddRef) | ||
| 7982 | ULONG ( STDMETHODCALLTYPE *AddRef )( | ||
| 7983 | ID3D12VideoEncoderHeap * This); | ||
| 7984 | |||
| 7985 | DECLSPEC_XFGVIRT(IUnknown, Release) | ||
| 7986 | ULONG ( STDMETHODCALLTYPE *Release )( | ||
| 7987 | ID3D12VideoEncoderHeap * This); | ||
| 7988 | |||
| 7989 | DECLSPEC_XFGVIRT(ID3D12Object, GetPrivateData) | ||
| 7990 | HRESULT ( STDMETHODCALLTYPE *GetPrivateData )( | ||
| 7991 | ID3D12VideoEncoderHeap * This, | ||
| 7992 | _In_ REFGUID guid, | ||
| 7993 | _Inout_ UINT *pDataSize, | ||
| 7994 | _Out_writes_bytes_opt_( *pDataSize ) void *pData); | ||
| 7995 | |||
| 7996 | DECLSPEC_XFGVIRT(ID3D12Object, SetPrivateData) | ||
| 7997 | HRESULT ( STDMETHODCALLTYPE *SetPrivateData )( | ||
| 7998 | ID3D12VideoEncoderHeap * This, | ||
| 7999 | _In_ REFGUID guid, | ||
| 8000 | _In_ UINT DataSize, | ||
| 8001 | _In_reads_bytes_opt_( DataSize ) const void *pData); | ||
| 8002 | |||
| 8003 | DECLSPEC_XFGVIRT(ID3D12Object, SetPrivateDataInterface) | ||
| 8004 | HRESULT ( STDMETHODCALLTYPE *SetPrivateDataInterface )( | ||
| 8005 | ID3D12VideoEncoderHeap * This, | ||
| 8006 | _In_ REFGUID guid, | ||
| 8007 | _In_opt_ const IUnknown *pData); | ||
| 8008 | |||
| 8009 | DECLSPEC_XFGVIRT(ID3D12Object, SetName) | ||
| 8010 | HRESULT ( STDMETHODCALLTYPE *SetName )( | ||
| 8011 | ID3D12VideoEncoderHeap * This, | ||
| 8012 | _In_z_ LPCWSTR Name); | ||
| 8013 | |||
| 8014 | DECLSPEC_XFGVIRT(ID3D12DeviceChild, GetDevice) | ||
| 8015 | HRESULT ( STDMETHODCALLTYPE *GetDevice )( | ||
| 8016 | ID3D12VideoEncoderHeap * This, | ||
| 8017 | REFIID riid, | ||
| 8018 | _COM_Outptr_opt_ void **ppvDevice); | ||
| 8019 | |||
| 8020 | DECLSPEC_XFGVIRT(ID3D12VideoEncoderHeap, GetNodeMask) | ||
| 8021 | UINT ( STDMETHODCALLTYPE *GetNodeMask )( | ||
| 8022 | ID3D12VideoEncoderHeap * This); | ||
| 8023 | |||
| 8024 | DECLSPEC_XFGVIRT(ID3D12VideoEncoderHeap, GetEncoderHeapFlags) | ||
| 8025 | D3D12_VIDEO_ENCODER_HEAP_FLAGS ( STDMETHODCALLTYPE *GetEncoderHeapFlags )( | ||
| 8026 | ID3D12VideoEncoderHeap * This); | ||
| 8027 | |||
| 8028 | DECLSPEC_XFGVIRT(ID3D12VideoEncoderHeap, GetCodec) | ||
| 8029 | D3D12_VIDEO_ENCODER_CODEC ( STDMETHODCALLTYPE *GetCodec )( | ||
| 8030 | ID3D12VideoEncoderHeap * This); | ||
| 8031 | |||
| 8032 | DECLSPEC_XFGVIRT(ID3D12VideoEncoderHeap, GetCodecProfile) | ||
| 8033 | HRESULT ( STDMETHODCALLTYPE *GetCodecProfile )( | ||
| 8034 | ID3D12VideoEncoderHeap * This, | ||
| 8035 | _Inout_ D3D12_VIDEO_ENCODER_PROFILE_DESC dstProfile); | ||
| 8036 | |||
| 8037 | DECLSPEC_XFGVIRT(ID3D12VideoEncoderHeap, GetCodecLevel) | ||
| 8038 | HRESULT ( STDMETHODCALLTYPE *GetCodecLevel )( | ||
| 8039 | ID3D12VideoEncoderHeap * This, | ||
| 8040 | _Inout_ D3D12_VIDEO_ENCODER_LEVEL_SETTING dstLevel); | ||
| 8041 | |||
| 8042 | DECLSPEC_XFGVIRT(ID3D12VideoEncoderHeap, GetResolutionListCount) | ||
| 8043 | UINT ( STDMETHODCALLTYPE *GetResolutionListCount )( | ||
| 8044 | ID3D12VideoEncoderHeap * This); | ||
| 8045 | |||
| 8046 | DECLSPEC_XFGVIRT(ID3D12VideoEncoderHeap, GetResolutionList) | ||
| 8047 | HRESULT ( STDMETHODCALLTYPE *GetResolutionList )( | ||
| 8048 | ID3D12VideoEncoderHeap * This, | ||
| 8049 | const UINT ResolutionsListCount, | ||
| 8050 | _Out_writes_(ResolutionsListCount) D3D12_VIDEO_ENCODER_PICTURE_RESOLUTION_DESC *pResolutionList); | ||
| 8051 | |||
| 8052 | END_INTERFACE | ||
| 8053 | } ID3D12VideoEncoderHeapVtbl; | ||
| 8054 | |||
| 8055 | interface ID3D12VideoEncoderHeap | ||
| 8056 | { | ||
| 8057 | CONST_VTBL struct ID3D12VideoEncoderHeapVtbl *lpVtbl; | ||
| 8058 | }; | ||
| 8059 | |||
| 8060 | |||
| 8061 | |||
| 8062 | #ifdef COBJMACROS | ||
| 8063 | |||
| 8064 | |||
| 8065 | #define ID3D12VideoEncoderHeap_QueryInterface(This,riid,ppvObject) \ | ||
| 8066 | ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) | ||
| 8067 | |||
| 8068 | #define ID3D12VideoEncoderHeap_AddRef(This) \ | ||
| 8069 | ( (This)->lpVtbl -> AddRef(This) ) | ||
| 8070 | |||
| 8071 | #define ID3D12VideoEncoderHeap_Release(This) \ | ||
| 8072 | ( (This)->lpVtbl -> Release(This) ) | ||
| 8073 | |||
| 8074 | |||
| 8075 | #define ID3D12VideoEncoderHeap_GetPrivateData(This,guid,pDataSize,pData) \ | ||
| 8076 | ( (This)->lpVtbl -> GetPrivateData(This,guid,pDataSize,pData) ) | ||
| 8077 | |||
| 8078 | #define ID3D12VideoEncoderHeap_SetPrivateData(This,guid,DataSize,pData) \ | ||
| 8079 | ( (This)->lpVtbl -> SetPrivateData(This,guid,DataSize,pData) ) | ||
| 8080 | |||
| 8081 | #define ID3D12VideoEncoderHeap_SetPrivateDataInterface(This,guid,pData) \ | ||
| 8082 | ( (This)->lpVtbl -> SetPrivateDataInterface(This,guid,pData) ) | ||
| 8083 | |||
| 8084 | #define ID3D12VideoEncoderHeap_SetName(This,Name) \ | ||
| 8085 | ( (This)->lpVtbl -> SetName(This,Name) ) | ||
| 8086 | |||
| 8087 | |||
| 8088 | #define ID3D12VideoEncoderHeap_GetDevice(This,riid,ppvDevice) \ | ||
| 8089 | ( (This)->lpVtbl -> GetDevice(This,riid,ppvDevice) ) | ||
| 8090 | |||
| 8091 | |||
| 8092 | |||
| 8093 | #define ID3D12VideoEncoderHeap_GetNodeMask(This) \ | ||
| 8094 | ( (This)->lpVtbl -> GetNodeMask(This) ) | ||
| 8095 | |||
| 8096 | #define ID3D12VideoEncoderHeap_GetEncoderHeapFlags(This) \ | ||
| 8097 | ( (This)->lpVtbl -> GetEncoderHeapFlags(This) ) | ||
| 8098 | |||
| 8099 | #define ID3D12VideoEncoderHeap_GetCodec(This) \ | ||
| 8100 | ( (This)->lpVtbl -> GetCodec(This) ) | ||
| 8101 | |||
| 8102 | #define ID3D12VideoEncoderHeap_GetCodecProfile(This,dstProfile) \ | ||
| 8103 | ( (This)->lpVtbl -> GetCodecProfile(This,dstProfile) ) | ||
| 8104 | |||
| 8105 | #define ID3D12VideoEncoderHeap_GetCodecLevel(This,dstLevel) \ | ||
| 8106 | ( (This)->lpVtbl -> GetCodecLevel(This,dstLevel) ) | ||
| 8107 | |||
| 8108 | #define ID3D12VideoEncoderHeap_GetResolutionListCount(This) \ | ||
| 8109 | ( (This)->lpVtbl -> GetResolutionListCount(This) ) | ||
| 8110 | |||
| 8111 | #define ID3D12VideoEncoderHeap_GetResolutionList(This,ResolutionsListCount,pResolutionList) \ | ||
| 8112 | ( (This)->lpVtbl -> GetResolutionList(This,ResolutionsListCount,pResolutionList) ) | ||
| 8113 | |||
| 8114 | #endif /* COBJMACROS */ | ||
| 8115 | |||
| 8116 | |||
| 8117 | #endif /* C style interface */ | ||
| 8118 | |||
| 8119 | |||
| 8120 | |||
| 8121 | |||
| 8122 | #endif /* __ID3D12VideoEncoderHeap_INTERFACE_DEFINED__ */ | ||
| 8123 | |||
| 8124 | |||
| 8125 | #ifndef __ID3D12VideoDevice3_INTERFACE_DEFINED__ | ||
| 8126 | #define __ID3D12VideoDevice3_INTERFACE_DEFINED__ | ||
| 8127 | |||
| 8128 | /* interface ID3D12VideoDevice3 */ | ||
| 8129 | /* [unique][local][object][uuid] */ | ||
| 8130 | |||
| 8131 | |||
| 8132 | EXTERN_C const IID IID_ID3D12VideoDevice3; | ||
| 8133 | |||
| 8134 | #if defined(__cplusplus) && !defined(CINTERFACE) | ||
| 8135 | |||
| 8136 | MIDL_INTERFACE("4243ADB4-3A32-4666-973C-0CCC5625DC44") | ||
| 8137 | ID3D12VideoDevice3 : public ID3D12VideoDevice2 | ||
| 8138 | { | ||
| 8139 | public: | ||
| 8140 | virtual HRESULT STDMETHODCALLTYPE CreateVideoEncoder( | ||
| 8141 | _In_ const D3D12_VIDEO_ENCODER_DESC *pDesc, | ||
| 8142 | _In_ REFIID riid, | ||
| 8143 | _COM_Outptr_ void **ppVideoEncoder) = 0; | ||
| 8144 | |||
| 8145 | virtual HRESULT STDMETHODCALLTYPE CreateVideoEncoderHeap( | ||
| 8146 | _In_ const D3D12_VIDEO_ENCODER_HEAP_DESC *pDesc, | ||
| 8147 | _In_ REFIID riid, | ||
| 8148 | _COM_Outptr_ void **ppVideoEncoderHeap) = 0; | ||
| 8149 | |||
| 8150 | }; | ||
| 8151 | |||
| 8152 | |||
| 8153 | #else /* C style interface */ | ||
| 8154 | |||
| 8155 | typedef struct ID3D12VideoDevice3Vtbl | ||
| 8156 | { | ||
| 8157 | BEGIN_INTERFACE | ||
| 8158 | |||
| 8159 | DECLSPEC_XFGVIRT(IUnknown, QueryInterface) | ||
| 8160 | HRESULT ( STDMETHODCALLTYPE *QueryInterface )( | ||
| 8161 | ID3D12VideoDevice3 * This, | ||
| 8162 | REFIID riid, | ||
| 8163 | _COM_Outptr_ void **ppvObject); | ||
| 8164 | |||
| 8165 | DECLSPEC_XFGVIRT(IUnknown, AddRef) | ||
| 8166 | ULONG ( STDMETHODCALLTYPE *AddRef )( | ||
| 8167 | ID3D12VideoDevice3 * This); | ||
| 8168 | |||
| 8169 | DECLSPEC_XFGVIRT(IUnknown, Release) | ||
| 8170 | ULONG ( STDMETHODCALLTYPE *Release )( | ||
| 8171 | ID3D12VideoDevice3 * This); | ||
| 8172 | |||
| 8173 | DECLSPEC_XFGVIRT(ID3D12VideoDevice, CheckFeatureSupport) | ||
| 8174 | HRESULT ( STDMETHODCALLTYPE *CheckFeatureSupport )( | ||
| 8175 | ID3D12VideoDevice3 * This, | ||
| 8176 | D3D12_FEATURE_VIDEO FeatureVideo, | ||
| 8177 | _Inout_updates_bytes_(FeatureSupportDataSize) void *pFeatureSupportData, | ||
| 8178 | UINT FeatureSupportDataSize); | ||
| 8179 | |||
| 8180 | DECLSPEC_XFGVIRT(ID3D12VideoDevice, CreateVideoDecoder) | ||
| 8181 | HRESULT ( STDMETHODCALLTYPE *CreateVideoDecoder )( | ||
| 8182 | ID3D12VideoDevice3 * This, | ||
| 8183 | _In_ const D3D12_VIDEO_DECODER_DESC *pDesc, | ||
| 8184 | _In_ REFIID riid, | ||
| 8185 | _COM_Outptr_ void **ppVideoDecoder); | ||
| 8186 | |||
| 8187 | DECLSPEC_XFGVIRT(ID3D12VideoDevice, CreateVideoDecoderHeap) | ||
| 8188 | HRESULT ( STDMETHODCALLTYPE *CreateVideoDecoderHeap )( | ||
| 8189 | ID3D12VideoDevice3 * This, | ||
| 8190 | _In_ const D3D12_VIDEO_DECODER_HEAP_DESC *pVideoDecoderHeapDesc, | ||
| 8191 | _In_ REFIID riid, | ||
| 8192 | _COM_Outptr_ void **ppVideoDecoderHeap); | ||
| 8193 | |||
| 8194 | DECLSPEC_XFGVIRT(ID3D12VideoDevice, CreateVideoProcessor) | ||
| 8195 | HRESULT ( STDMETHODCALLTYPE *CreateVideoProcessor )( | ||
| 8196 | ID3D12VideoDevice3 * This, | ||
| 8197 | UINT NodeMask, | ||
| 8198 | _In_ const D3D12_VIDEO_PROCESS_OUTPUT_STREAM_DESC *pOutputStreamDesc, | ||
| 8199 | UINT NumInputStreamDescs, | ||
| 8200 | _In_reads_(NumInputStreamDescs) const D3D12_VIDEO_PROCESS_INPUT_STREAM_DESC *pInputStreamDescs, | ||
| 8201 | _In_ REFIID riid, | ||
| 8202 | _COM_Outptr_ void **ppVideoProcessor); | ||
| 8203 | |||
| 8204 | DECLSPEC_XFGVIRT(ID3D12VideoDevice1, CreateVideoMotionEstimator) | ||
| 8205 | HRESULT ( STDMETHODCALLTYPE *CreateVideoMotionEstimator )( | ||
| 8206 | ID3D12VideoDevice3 * This, | ||
| 8207 | _In_ const D3D12_VIDEO_MOTION_ESTIMATOR_DESC *pDesc, | ||
| 8208 | _In_opt_ ID3D12ProtectedResourceSession *pProtectedResourceSession, | ||
| 8209 | _In_ REFIID riid, | ||
| 8210 | _COM_Outptr_ void **ppVideoMotionEstimator); | ||
| 8211 | |||
| 8212 | DECLSPEC_XFGVIRT(ID3D12VideoDevice1, CreateVideoMotionVectorHeap) | ||
| 8213 | HRESULT ( STDMETHODCALLTYPE *CreateVideoMotionVectorHeap )( | ||
| 8214 | ID3D12VideoDevice3 * This, | ||
| 8215 | _In_ const D3D12_VIDEO_MOTION_VECTOR_HEAP_DESC *pDesc, | ||
| 8216 | _In_opt_ ID3D12ProtectedResourceSession *pProtectedResourceSession, | ||
| 8217 | _In_ REFIID riid, | ||
| 8218 | _COM_Outptr_ void **ppVideoMotionVectorHeap); | ||
| 8219 | |||
| 8220 | DECLSPEC_XFGVIRT(ID3D12VideoDevice2, CreateVideoDecoder1) | ||
| 8221 | HRESULT ( STDMETHODCALLTYPE *CreateVideoDecoder1 )( | ||
| 8222 | ID3D12VideoDevice3 * This, | ||
| 8223 | _In_ const D3D12_VIDEO_DECODER_DESC *pDesc, | ||
| 8224 | _In_opt_ ID3D12ProtectedResourceSession *pProtectedResourceSession, | ||
| 8225 | _In_ REFIID riid, | ||
| 8226 | _COM_Outptr_ void **ppVideoDecoder); | ||
| 8227 | |||
| 8228 | DECLSPEC_XFGVIRT(ID3D12VideoDevice2, CreateVideoDecoderHeap1) | ||
| 8229 | HRESULT ( STDMETHODCALLTYPE *CreateVideoDecoderHeap1 )( | ||
| 8230 | ID3D12VideoDevice3 * This, | ||
| 8231 | _In_ const D3D12_VIDEO_DECODER_HEAP_DESC *pVideoDecoderHeapDesc, | ||
| 8232 | _In_opt_ ID3D12ProtectedResourceSession *pProtectedResourceSession, | ||
| 8233 | _In_ REFIID riid, | ||
| 8234 | _COM_Outptr_ void **ppVideoDecoderHeap); | ||
| 8235 | |||
| 8236 | DECLSPEC_XFGVIRT(ID3D12VideoDevice2, CreateVideoProcessor1) | ||
| 8237 | HRESULT ( STDMETHODCALLTYPE *CreateVideoProcessor1 )( | ||
| 8238 | ID3D12VideoDevice3 * This, | ||
| 8239 | UINT NodeMask, | ||
| 8240 | _In_ const D3D12_VIDEO_PROCESS_OUTPUT_STREAM_DESC *pOutputStreamDesc, | ||
| 8241 | UINT NumInputStreamDescs, | ||
| 8242 | _In_reads_(NumInputStreamDescs) const D3D12_VIDEO_PROCESS_INPUT_STREAM_DESC *pInputStreamDescs, | ||
| 8243 | _In_opt_ ID3D12ProtectedResourceSession *pProtectedResourceSession, | ||
| 8244 | _In_ REFIID riid, | ||
| 8245 | _COM_Outptr_ void **ppVideoProcessor); | ||
| 8246 | |||
| 8247 | DECLSPEC_XFGVIRT(ID3D12VideoDevice2, CreateVideoExtensionCommand) | ||
| 8248 | HRESULT ( STDMETHODCALLTYPE *CreateVideoExtensionCommand )( | ||
| 8249 | ID3D12VideoDevice3 * This, | ||
| 8250 | _In_ const D3D12_VIDEO_EXTENSION_COMMAND_DESC *pDesc, | ||
| 8251 | _In_reads_bytes_(CreationParametersDataSizeInBytes) const void *pCreationParameters, | ||
| 8252 | SIZE_T CreationParametersDataSizeInBytes, | ||
| 8253 | _In_opt_ ID3D12ProtectedResourceSession *pProtectedResourceSession, | ||
| 8254 | _In_ REFIID riid, | ||
| 8255 | _COM_Outptr_ void **ppVideoExtensionCommand); | ||
| 8256 | |||
| 8257 | DECLSPEC_XFGVIRT(ID3D12VideoDevice2, ExecuteExtensionCommand) | ||
| 8258 | HRESULT ( STDMETHODCALLTYPE *ExecuteExtensionCommand )( | ||
| 8259 | ID3D12VideoDevice3 * This, | ||
| 8260 | _In_ ID3D12VideoExtensionCommand *pExtensionCommand, | ||
| 8261 | _In_reads_bytes_(ExecutionParametersSizeInBytes) const void *pExecutionParameters, | ||
| 8262 | SIZE_T ExecutionParametersSizeInBytes, | ||
| 8263 | _Out_writes_bytes_(OutputDataSizeInBytes) void *pOutputData, | ||
| 8264 | SIZE_T OutputDataSizeInBytes); | ||
| 8265 | |||
| 8266 | DECLSPEC_XFGVIRT(ID3D12VideoDevice3, CreateVideoEncoder) | ||
| 8267 | HRESULT ( STDMETHODCALLTYPE *CreateVideoEncoder )( | ||
| 8268 | ID3D12VideoDevice3 * This, | ||
| 8269 | _In_ const D3D12_VIDEO_ENCODER_DESC *pDesc, | ||
| 8270 | _In_ REFIID riid, | ||
| 8271 | _COM_Outptr_ void **ppVideoEncoder); | ||
| 8272 | |||
| 8273 | DECLSPEC_XFGVIRT(ID3D12VideoDevice3, CreateVideoEncoderHeap) | ||
| 8274 | HRESULT ( STDMETHODCALLTYPE *CreateVideoEncoderHeap )( | ||
| 8275 | ID3D12VideoDevice3 * This, | ||
| 8276 | _In_ const D3D12_VIDEO_ENCODER_HEAP_DESC *pDesc, | ||
| 8277 | _In_ REFIID riid, | ||
| 8278 | _COM_Outptr_ void **ppVideoEncoderHeap); | ||
| 8279 | |||
| 8280 | END_INTERFACE | ||
| 8281 | } ID3D12VideoDevice3Vtbl; | ||
| 8282 | |||
| 8283 | interface ID3D12VideoDevice3 | ||
| 8284 | { | ||
| 8285 | CONST_VTBL struct ID3D12VideoDevice3Vtbl *lpVtbl; | ||
| 8286 | }; | ||
| 8287 | |||
| 8288 | |||
| 8289 | |||
| 8290 | #ifdef COBJMACROS | ||
| 8291 | |||
| 8292 | |||
| 8293 | #define ID3D12VideoDevice3_QueryInterface(This,riid,ppvObject) \ | ||
| 8294 | ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) | ||
| 8295 | |||
| 8296 | #define ID3D12VideoDevice3_AddRef(This) \ | ||
| 8297 | ( (This)->lpVtbl -> AddRef(This) ) | ||
| 8298 | |||
| 8299 | #define ID3D12VideoDevice3_Release(This) \ | ||
| 8300 | ( (This)->lpVtbl -> Release(This) ) | ||
| 8301 | |||
| 8302 | |||
| 8303 | #define ID3D12VideoDevice3_CheckFeatureSupport(This,FeatureVideo,pFeatureSupportData,FeatureSupportDataSize) \ | ||
| 8304 | ( (This)->lpVtbl -> CheckFeatureSupport(This,FeatureVideo,pFeatureSupportData,FeatureSupportDataSize) ) | ||
| 8305 | |||
| 8306 | #define ID3D12VideoDevice3_CreateVideoDecoder(This,pDesc,riid,ppVideoDecoder) \ | ||
| 8307 | ( (This)->lpVtbl -> CreateVideoDecoder(This,pDesc,riid,ppVideoDecoder) ) | ||
| 8308 | |||
| 8309 | #define ID3D12VideoDevice3_CreateVideoDecoderHeap(This,pVideoDecoderHeapDesc,riid,ppVideoDecoderHeap) \ | ||
| 8310 | ( (This)->lpVtbl -> CreateVideoDecoderHeap(This,pVideoDecoderHeapDesc,riid,ppVideoDecoderHeap) ) | ||
| 8311 | |||
| 8312 | #define ID3D12VideoDevice3_CreateVideoProcessor(This,NodeMask,pOutputStreamDesc,NumInputStreamDescs,pInputStreamDescs,riid,ppVideoProcessor) \ | ||
| 8313 | ( (This)->lpVtbl -> CreateVideoProcessor(This,NodeMask,pOutputStreamDesc,NumInputStreamDescs,pInputStreamDescs,riid,ppVideoProcessor) ) | ||
| 8314 | |||
| 8315 | |||
| 8316 | #define ID3D12VideoDevice3_CreateVideoMotionEstimator(This,pDesc,pProtectedResourceSession,riid,ppVideoMotionEstimator) \ | ||
| 8317 | ( (This)->lpVtbl -> CreateVideoMotionEstimator(This,pDesc,pProtectedResourceSession,riid,ppVideoMotionEstimator) ) | ||
| 8318 | |||
| 8319 | #define ID3D12VideoDevice3_CreateVideoMotionVectorHeap(This,pDesc,pProtectedResourceSession,riid,ppVideoMotionVectorHeap) \ | ||
| 8320 | ( (This)->lpVtbl -> CreateVideoMotionVectorHeap(This,pDesc,pProtectedResourceSession,riid,ppVideoMotionVectorHeap) ) | ||
| 8321 | |||
| 8322 | |||
| 8323 | #define ID3D12VideoDevice3_CreateVideoDecoder1(This,pDesc,pProtectedResourceSession,riid,ppVideoDecoder) \ | ||
| 8324 | ( (This)->lpVtbl -> CreateVideoDecoder1(This,pDesc,pProtectedResourceSession,riid,ppVideoDecoder) ) | ||
| 8325 | |||
| 8326 | #define ID3D12VideoDevice3_CreateVideoDecoderHeap1(This,pVideoDecoderHeapDesc,pProtectedResourceSession,riid,ppVideoDecoderHeap) \ | ||
| 8327 | ( (This)->lpVtbl -> CreateVideoDecoderHeap1(This,pVideoDecoderHeapDesc,pProtectedResourceSession,riid,ppVideoDecoderHeap) ) | ||
| 8328 | |||
| 8329 | #define ID3D12VideoDevice3_CreateVideoProcessor1(This,NodeMask,pOutputStreamDesc,NumInputStreamDescs,pInputStreamDescs,pProtectedResourceSession,riid,ppVideoProcessor) \ | ||
| 8330 | ( (This)->lpVtbl -> CreateVideoProcessor1(This,NodeMask,pOutputStreamDesc,NumInputStreamDescs,pInputStreamDescs,pProtectedResourceSession,riid,ppVideoProcessor) ) | ||
| 8331 | |||
| 8332 | #define ID3D12VideoDevice3_CreateVideoExtensionCommand(This,pDesc,pCreationParameters,CreationParametersDataSizeInBytes,pProtectedResourceSession,riid,ppVideoExtensionCommand) \ | ||
| 8333 | ( (This)->lpVtbl -> CreateVideoExtensionCommand(This,pDesc,pCreationParameters,CreationParametersDataSizeInBytes,pProtectedResourceSession,riid,ppVideoExtensionCommand) ) | ||
| 8334 | |||
| 8335 | #define ID3D12VideoDevice3_ExecuteExtensionCommand(This,pExtensionCommand,pExecutionParameters,ExecutionParametersSizeInBytes,pOutputData,OutputDataSizeInBytes) \ | ||
| 8336 | ( (This)->lpVtbl -> ExecuteExtensionCommand(This,pExtensionCommand,pExecutionParameters,ExecutionParametersSizeInBytes,pOutputData,OutputDataSizeInBytes) ) | ||
| 8337 | |||
| 8338 | |||
| 8339 | #define ID3D12VideoDevice3_CreateVideoEncoder(This,pDesc,riid,ppVideoEncoder) \ | ||
| 8340 | ( (This)->lpVtbl -> CreateVideoEncoder(This,pDesc,riid,ppVideoEncoder) ) | ||
| 8341 | |||
| 8342 | #define ID3D12VideoDevice3_CreateVideoEncoderHeap(This,pDesc,riid,ppVideoEncoderHeap) \ | ||
| 8343 | ( (This)->lpVtbl -> CreateVideoEncoderHeap(This,pDesc,riid,ppVideoEncoderHeap) ) | ||
| 8344 | |||
| 8345 | #endif /* COBJMACROS */ | ||
| 8346 | |||
| 8347 | |||
| 8348 | #endif /* C style interface */ | ||
| 8349 | |||
| 8350 | |||
| 8351 | |||
| 8352 | |||
| 8353 | #endif /* __ID3D12VideoDevice3_INTERFACE_DEFINED__ */ | ||
| 8354 | |||
| 8355 | |||
| 8356 | /* interface __MIDL_itf_d3d12video_0000_0025 */ | ||
| 8357 | /* [local] */ | ||
| 8358 | |||
| 8359 | typedef | ||
| 8360 | enum D3D12_VIDEO_ENCODER_FRAME_TYPE_H264 | ||
| 8361 | { | ||
| 8362 | D3D12_VIDEO_ENCODER_FRAME_TYPE_H264_I_FRAME = 0, | ||
| 8363 | D3D12_VIDEO_ENCODER_FRAME_TYPE_H264_P_FRAME = 1, | ||
| 8364 | D3D12_VIDEO_ENCODER_FRAME_TYPE_H264_B_FRAME = 2, | ||
| 8365 | D3D12_VIDEO_ENCODER_FRAME_TYPE_H264_IDR_FRAME = 3 | ||
| 8366 | } D3D12_VIDEO_ENCODER_FRAME_TYPE_H264; | ||
| 8367 | |||
| 8368 | typedef struct D3D12_VIDEO_ENCODER_REFERENCE_PICTURE_DESCRIPTOR_H264 | ||
| 8369 | { | ||
| 8370 | UINT ReconstructedPictureResourceIndex; | ||
| 8371 | BOOL IsLongTermReference; | ||
| 8372 | UINT LongTermPictureIdx; | ||
| 8373 | UINT PictureOrderCountNumber; | ||
| 8374 | UINT FrameDecodingOrderNumber; | ||
| 8375 | UINT TemporalLayerIndex; | ||
| 8376 | } D3D12_VIDEO_ENCODER_REFERENCE_PICTURE_DESCRIPTOR_H264; | ||
| 8377 | |||
| 8378 | typedef | ||
| 8379 | enum D3D12_VIDEO_ENCODER_PICTURE_CONTROL_CODEC_DATA_H264_FLAGS | ||
| 8380 | { | ||
| 8381 | D3D12_VIDEO_ENCODER_PICTURE_CONTROL_CODEC_DATA_H264_FLAG_NONE = 0, | ||
| 8382 | D3D12_VIDEO_ENCODER_PICTURE_CONTROL_CODEC_DATA_H264_FLAG_REQUEST_INTRA_CONSTRAINED_SLICES = 0x1, | ||
| 8383 | D3D12_VIDEO_ENCODER_PICTURE_CONTROL_CODEC_DATA_H264_FLAG_REQUEST_NUM_REF_IDX_ACTIVE_OVERRIDE_FLAG_SLICE = 0x2 | ||
| 8384 | } D3D12_VIDEO_ENCODER_PICTURE_CONTROL_CODEC_DATA_H264_FLAGS; | ||
| 8385 | |||
| 8386 | DEFINE_ENUM_FLAG_OPERATORS(D3D12_VIDEO_ENCODER_PICTURE_CONTROL_CODEC_DATA_H264_FLAGS) | ||
| 8387 | typedef struct D3D12_VIDEO_ENCODER_PICTURE_CONTROL_CODEC_DATA_H264_REFERENCE_PICTURE_MARKING_OPERATION | ||
| 8388 | { | ||
| 8389 | UCHAR memory_management_control_operation; | ||
| 8390 | UINT difference_of_pic_nums_minus1; | ||
| 8391 | UINT long_term_pic_num; | ||
| 8392 | UINT long_term_frame_idx; | ||
| 8393 | UINT max_long_term_frame_idx_plus1; | ||
| 8394 | } D3D12_VIDEO_ENCODER_PICTURE_CONTROL_CODEC_DATA_H264_REFERENCE_PICTURE_MARKING_OPERATION; | ||
| 8395 | |||
| 8396 | typedef struct D3D12_VIDEO_ENCODER_PICTURE_CONTROL_CODEC_DATA_H264_REFERENCE_PICTURE_LIST_MODIFICATION_OPERATION | ||
| 8397 | { | ||
| 8398 | UCHAR modification_of_pic_nums_idc; | ||
| 8399 | UINT abs_diff_pic_num_minus1; | ||
| 8400 | UINT long_term_pic_num; | ||
| 8401 | } D3D12_VIDEO_ENCODER_PICTURE_CONTROL_CODEC_DATA_H264_REFERENCE_PICTURE_LIST_MODIFICATION_OPERATION; | ||
| 8402 | |||
| 8403 | typedef struct D3D12_VIDEO_ENCODER_PICTURE_CONTROL_CODEC_DATA_H264 | ||
| 8404 | { | ||
| 8405 | D3D12_VIDEO_ENCODER_PICTURE_CONTROL_CODEC_DATA_H264_FLAGS Flags; | ||
| 8406 | D3D12_VIDEO_ENCODER_FRAME_TYPE_H264 FrameType; | ||
| 8407 | UINT pic_parameter_set_id; | ||
| 8408 | UINT idr_pic_id; | ||
| 8409 | UINT PictureOrderCountNumber; | ||
| 8410 | UINT FrameDecodingOrderNumber; | ||
| 8411 | UINT TemporalLayerIndex; | ||
| 8412 | UINT List0ReferenceFramesCount; | ||
| 8413 | _Field_size_full_(List0ReferenceFramesCount) UINT *pList0ReferenceFrames; | ||
| 8414 | UINT List1ReferenceFramesCount; | ||
| 8415 | _Field_size_full_(List1ReferenceFramesCount) UINT *pList1ReferenceFrames; | ||
| 8416 | UINT ReferenceFramesReconPictureDescriptorsCount; | ||
| 8417 | _Field_size_full_(ReferenceFramesReconPictureDescriptorsCount) D3D12_VIDEO_ENCODER_REFERENCE_PICTURE_DESCRIPTOR_H264 *pReferenceFramesReconPictureDescriptors; | ||
| 8418 | UCHAR adaptive_ref_pic_marking_mode_flag; | ||
| 8419 | UINT RefPicMarkingOperationsCommandsCount; | ||
| 8420 | _Field_size_full_(RefPicMarkingOperationsCommandsCount) D3D12_VIDEO_ENCODER_PICTURE_CONTROL_CODEC_DATA_H264_REFERENCE_PICTURE_MARKING_OPERATION *pRefPicMarkingOperationsCommands; | ||
| 8421 | UINT List0RefPicModificationsCount; | ||
| 8422 | _Field_size_full_(List0RefPicModificationsCount) D3D12_VIDEO_ENCODER_PICTURE_CONTROL_CODEC_DATA_H264_REFERENCE_PICTURE_LIST_MODIFICATION_OPERATION *pList0RefPicModifications; | ||
| 8423 | UINT List1RefPicModificationsCount; | ||
| 8424 | _Field_size_full_(List1RefPicModificationsCount) D3D12_VIDEO_ENCODER_PICTURE_CONTROL_CODEC_DATA_H264_REFERENCE_PICTURE_LIST_MODIFICATION_OPERATION *pList1RefPicModifications; | ||
| 8425 | UINT QPMapValuesCount; | ||
| 8426 | _Field_size_full_(QPMapValuesCount) INT8 *pRateControlQPMap; | ||
| 8427 | } D3D12_VIDEO_ENCODER_PICTURE_CONTROL_CODEC_DATA_H264; | ||
| 8428 | |||
| 8429 | typedef | ||
| 8430 | enum D3D12_VIDEO_ENCODER_FRAME_TYPE_HEVC | ||
| 8431 | { | ||
| 8432 | D3D12_VIDEO_ENCODER_FRAME_TYPE_HEVC_I_FRAME = 0, | ||
| 8433 | D3D12_VIDEO_ENCODER_FRAME_TYPE_HEVC_P_FRAME = 1, | ||
| 8434 | D3D12_VIDEO_ENCODER_FRAME_TYPE_HEVC_B_FRAME = 2, | ||
| 8435 | D3D12_VIDEO_ENCODER_FRAME_TYPE_HEVC_IDR_FRAME = 3 | ||
| 8436 | } D3D12_VIDEO_ENCODER_FRAME_TYPE_HEVC; | ||
| 8437 | |||
| 8438 | typedef struct D3D12_VIDEO_ENCODER_REFERENCE_PICTURE_DESCRIPTOR_HEVC | ||
| 8439 | { | ||
| 8440 | UINT ReconstructedPictureResourceIndex; | ||
| 8441 | BOOL IsRefUsedByCurrentPic; | ||
| 8442 | BOOL IsLongTermReference; | ||
| 8443 | UINT PictureOrderCountNumber; | ||
| 8444 | UINT TemporalLayerIndex; | ||
| 8445 | } D3D12_VIDEO_ENCODER_REFERENCE_PICTURE_DESCRIPTOR_HEVC; | ||
| 8446 | |||
| 8447 | typedef | ||
| 8448 | enum D3D12_VIDEO_ENCODER_PICTURE_CONTROL_CODEC_DATA_HEVC_FLAGS | ||
| 8449 | { | ||
| 8450 | D3D12_VIDEO_ENCODER_PICTURE_CONTROL_CODEC_DATA_HEVC_FLAG_NONE = 0, | ||
| 8451 | D3D12_VIDEO_ENCODER_PICTURE_CONTROL_CODEC_DATA_HEVC_FLAG_REQUEST_INTRA_CONSTRAINED_SLICES = 0x1, | ||
| 8452 | D3D12_VIDEO_ENCODER_PICTURE_CONTROL_CODEC_DATA_HEVC_FLAG_REQUEST_NUM_REF_IDX_ACTIVE_OVERRIDE_FLAG_SLICE = 0x2, | ||
| 8453 | D3D12_VIDEO_ENCODER_PICTURE_CONTROL_CODEC_DATA_HEVC_FLAG_CROSS_COMPONENT_PREDICTION = 0x4, | ||
| 8454 | D3D12_VIDEO_ENCODER_PICTURE_CONTROL_CODEC_DATA_HEVC_FLAG_CHROMA_QP_OFFSET_LIST = 0x8 | ||
| 8455 | } D3D12_VIDEO_ENCODER_PICTURE_CONTROL_CODEC_DATA_HEVC_FLAGS; | ||
| 8456 | |||
| 8457 | DEFINE_ENUM_FLAG_OPERATORS(D3D12_VIDEO_ENCODER_PICTURE_CONTROL_CODEC_DATA_HEVC_FLAGS) | ||
| 8458 | typedef struct D3D12_VIDEO_ENCODER_PICTURE_CONTROL_CODEC_DATA_HEVC | ||
| 8459 | { | ||
| 8460 | D3D12_VIDEO_ENCODER_PICTURE_CONTROL_CODEC_DATA_HEVC_FLAGS Flags; | ||
| 8461 | D3D12_VIDEO_ENCODER_FRAME_TYPE_HEVC FrameType; | ||
| 8462 | UINT slice_pic_parameter_set_id; | ||
| 8463 | UINT PictureOrderCountNumber; | ||
| 8464 | UINT TemporalLayerIndex; | ||
| 8465 | UINT List0ReferenceFramesCount; | ||
| 8466 | _Field_size_full_(List0ReferenceFramesCount) UINT *pList0ReferenceFrames; | ||
| 8467 | UINT List1ReferenceFramesCount; | ||
| 8468 | _Field_size_full_(List1ReferenceFramesCount) UINT *pList1ReferenceFrames; | ||
| 8469 | UINT ReferenceFramesReconPictureDescriptorsCount; | ||
| 8470 | _Field_size_full_(ReferenceFramesReconPictureDescriptorsCount) D3D12_VIDEO_ENCODER_REFERENCE_PICTURE_DESCRIPTOR_HEVC *pReferenceFramesReconPictureDescriptors; | ||
| 8471 | UINT List0RefPicModificationsCount; | ||
| 8472 | _Field_size_full_(List0RefPicModificationsCount) UINT *pList0RefPicModifications; | ||
| 8473 | UINT List1RefPicModificationsCount; | ||
| 8474 | _Field_size_full_(List1RefPicModificationsCount) UINT *pList1RefPicModifications; | ||
| 8475 | UINT QPMapValuesCount; | ||
| 8476 | _Field_size_full_(QPMapValuesCount) INT8 *pRateControlQPMap; | ||
| 8477 | } D3D12_VIDEO_ENCODER_PICTURE_CONTROL_CODEC_DATA_HEVC; | ||
| 8478 | |||
| 8479 | typedef struct D3D12_VIDEO_ENCODER_PICTURE_CONTROL_CODEC_DATA_HEVC1 | ||
| 8480 | { | ||
| 8481 | D3D12_VIDEO_ENCODER_PICTURE_CONTROL_CODEC_DATA_HEVC_FLAGS Flags; | ||
| 8482 | D3D12_VIDEO_ENCODER_FRAME_TYPE_HEVC FrameType; | ||
| 8483 | UINT slice_pic_parameter_set_id; | ||
| 8484 | UINT PictureOrderCountNumber; | ||
| 8485 | UINT TemporalLayerIndex; | ||
| 8486 | UINT List0ReferenceFramesCount; | ||
| 8487 | _Field_size_full_(List0ReferenceFramesCount) UINT *pList0ReferenceFrames; | ||
| 8488 | UINT List1ReferenceFramesCount; | ||
| 8489 | _Field_size_full_(List1ReferenceFramesCount) UINT *pList1ReferenceFrames; | ||
| 8490 | UINT ReferenceFramesReconPictureDescriptorsCount; | ||
| 8491 | _Field_size_full_(ReferenceFramesReconPictureDescriptorsCount) D3D12_VIDEO_ENCODER_REFERENCE_PICTURE_DESCRIPTOR_HEVC *pReferenceFramesReconPictureDescriptors; | ||
| 8492 | UINT List0RefPicModificationsCount; | ||
| 8493 | _Field_size_full_(List0RefPicModificationsCount) UINT *pList0RefPicModifications; | ||
| 8494 | UINT List1RefPicModificationsCount; | ||
| 8495 | _Field_size_full_(List1RefPicModificationsCount) UINT *pList1RefPicModifications; | ||
| 8496 | UINT QPMapValuesCount; | ||
| 8497 | _Field_size_full_(QPMapValuesCount) INT8 *pRateControlQPMap; | ||
| 8498 | UCHAR diff_cu_chroma_qp_offset_depth; | ||
| 8499 | UCHAR log2_sao_offset_scale_luma; | ||
| 8500 | UCHAR log2_sao_offset_scale_chroma; | ||
| 8501 | UCHAR log2_max_transform_skip_block_size_minus2; | ||
| 8502 | UCHAR chroma_qp_offset_list_len_minus1; | ||
| 8503 | CHAR cb_qp_offset_list[ 6 ]; | ||
| 8504 | CHAR cr_qp_offset_list[ 6 ]; | ||
| 8505 | } D3D12_VIDEO_ENCODER_PICTURE_CONTROL_CODEC_DATA_HEVC1; | ||
| 8506 | |||
| 8507 | typedef struct D3D12_VIDEO_ENCODER_PICTURE_CONTROL_CODEC_DATA | ||
| 8508 | { | ||
| 8509 | UINT DataSize; | ||
| 8510 | union | ||
| 8511 | { | ||
| 8512 | D3D12_VIDEO_ENCODER_PICTURE_CONTROL_CODEC_DATA_H264 *pH264PicData; | ||
| 8513 | D3D12_VIDEO_ENCODER_PICTURE_CONTROL_CODEC_DATA_HEVC *pHEVCPicData; | ||
| 8514 | D3D12_VIDEO_ENCODER_PICTURE_CONTROL_CODEC_DATA_HEVC1 *pHEVCPicData1; | ||
| 8515 | D3D12_VIDEO_ENCODER_AV1_PICTURE_CONTROL_CODEC_DATA *pAV1PicData; | ||
| 8516 | } ; | ||
| 8517 | } D3D12_VIDEO_ENCODER_PICTURE_CONTROL_CODEC_DATA; | ||
| 8518 | |||
| 8519 | typedef struct D3D12_VIDEO_ENCODE_REFERENCE_FRAMES | ||
| 8520 | { | ||
| 8521 | UINT NumTexture2Ds; | ||
| 8522 | _Field_size_full_(NumTexture2Ds) ID3D12Resource **ppTexture2Ds; | ||
| 8523 | _Field_size_full_(NumTexture2Ds) UINT *pSubresources; | ||
| 8524 | } D3D12_VIDEO_ENCODE_REFERENCE_FRAMES; | ||
| 8525 | |||
| 8526 | typedef | ||
| 8527 | enum D3D12_VIDEO_ENCODER_PICTURE_CONTROL_FLAGS | ||
| 8528 | { | ||
| 8529 | D3D12_VIDEO_ENCODER_PICTURE_CONTROL_FLAG_NONE = 0, | ||
| 8530 | D3D12_VIDEO_ENCODER_PICTURE_CONTROL_FLAG_USED_AS_REFERENCE_PICTURE = 0x1, | ||
| 8531 | D3D12_VIDEO_ENCODER_PICTURE_CONTROL_FLAG_ENABLE_QUANTIZATION_MATRIX_INPUT = 0x2, | ||
| 8532 | D3D12_VIDEO_ENCODER_PICTURE_CONTROL_FLAG_ENABLE_DIRTY_REGIONS_INPUT = 0x4, | ||
| 8533 | D3D12_VIDEO_ENCODER_PICTURE_CONTROL_FLAG_ENABLE_MOTION_VECTORS_INPUT = 0x8 | ||
| 8534 | } D3D12_VIDEO_ENCODER_PICTURE_CONTROL_FLAGS; | ||
| 8535 | |||
| 8536 | DEFINE_ENUM_FLAG_OPERATORS(D3D12_VIDEO_ENCODER_PICTURE_CONTROL_FLAGS) | ||
| 8537 | typedef struct D3D12_VIDEO_ENCODER_PICTURE_CONTROL_DESC | ||
| 8538 | { | ||
| 8539 | UINT IntraRefreshFrameIndex; | ||
| 8540 | D3D12_VIDEO_ENCODER_PICTURE_CONTROL_FLAGS Flags; | ||
| 8541 | D3D12_VIDEO_ENCODER_PICTURE_CONTROL_CODEC_DATA PictureControlCodecData; | ||
| 8542 | D3D12_VIDEO_ENCODE_REFERENCE_FRAMES ReferenceFrames; | ||
| 8543 | } D3D12_VIDEO_ENCODER_PICTURE_CONTROL_DESC; | ||
| 8544 | |||
| 8545 | typedef | ||
| 8546 | enum D3D12_VIDEO_ENCODER_SEQUENCE_CONTROL_FLAGS | ||
| 8547 | { | ||
| 8548 | D3D12_VIDEO_ENCODER_SEQUENCE_CONTROL_FLAG_NONE = 0, | ||
| 8549 | D3D12_VIDEO_ENCODER_SEQUENCE_CONTROL_FLAG_RESOLUTION_CHANGE = 0x1, | ||
| 8550 | D3D12_VIDEO_ENCODER_SEQUENCE_CONTROL_FLAG_RATE_CONTROL_CHANGE = 0x2, | ||
| 8551 | D3D12_VIDEO_ENCODER_SEQUENCE_CONTROL_FLAG_SUBREGION_LAYOUT_CHANGE = 0x4, | ||
| 8552 | D3D12_VIDEO_ENCODER_SEQUENCE_CONTROL_FLAG_REQUEST_INTRA_REFRESH = 0x8, | ||
| 8553 | D3D12_VIDEO_ENCODER_SEQUENCE_CONTROL_FLAG_GOP_SEQUENCE_CHANGE = 0x10 | ||
| 8554 | } D3D12_VIDEO_ENCODER_SEQUENCE_CONTROL_FLAGS; | ||
| 8555 | |||
| 8556 | DEFINE_ENUM_FLAG_OPERATORS(D3D12_VIDEO_ENCODER_SEQUENCE_CONTROL_FLAGS) | ||
| 8557 | typedef struct D3D12_VIDEO_ENCODER_SEQUENCE_CONTROL_DESC | ||
| 8558 | { | ||
| 8559 | D3D12_VIDEO_ENCODER_SEQUENCE_CONTROL_FLAGS Flags; | ||
| 8560 | D3D12_VIDEO_ENCODER_INTRA_REFRESH IntraRefreshConfig; | ||
| 8561 | D3D12_VIDEO_ENCODER_RATE_CONTROL RateControl; | ||
| 8562 | D3D12_VIDEO_ENCODER_PICTURE_RESOLUTION_DESC PictureTargetResolution; | ||
| 8563 | D3D12_VIDEO_ENCODER_FRAME_SUBREGION_LAYOUT_MODE SelectedLayoutMode; | ||
| 8564 | D3D12_VIDEO_ENCODER_PICTURE_CONTROL_SUBREGIONS_LAYOUT_DATA FrameSubregionsLayoutData; | ||
| 8565 | D3D12_VIDEO_ENCODER_SEQUENCE_GOP_STRUCTURE CodecGopSequence; | ||
| 8566 | } D3D12_VIDEO_ENCODER_SEQUENCE_CONTROL_DESC; | ||
| 8567 | |||
| 8568 | typedef struct D3D12_VIDEO_ENCODER_ENCODEFRAME_INPUT_ARGUMENTS | ||
| 8569 | { | ||
| 8570 | D3D12_VIDEO_ENCODER_SEQUENCE_CONTROL_DESC SequenceControlDesc; | ||
| 8571 | D3D12_VIDEO_ENCODER_PICTURE_CONTROL_DESC PictureControlDesc; | ||
| 8572 | ID3D12Resource *pInputFrame; | ||
| 8573 | UINT InputFrameSubresource; | ||
| 8574 | UINT CurrentFrameBitstreamMetadataSize; | ||
| 8575 | } D3D12_VIDEO_ENCODER_ENCODEFRAME_INPUT_ARGUMENTS; | ||
| 8576 | |||
| 8577 | typedef struct D3D12_VIDEO_ENCODER_COMPRESSED_BITSTREAM | ||
| 8578 | { | ||
| 8579 | ID3D12Resource *pBuffer; | ||
| 8580 | UINT64 FrameStartOffset; | ||
| 8581 | } D3D12_VIDEO_ENCODER_COMPRESSED_BITSTREAM; | ||
| 8582 | |||
| 8583 | typedef struct D3D12_VIDEO_ENCODER_RECONSTRUCTED_PICTURE | ||
| 8584 | { | ||
| 8585 | ID3D12Resource *pReconstructedPicture; | ||
| 8586 | UINT ReconstructedPictureSubresource; | ||
| 8587 | } D3D12_VIDEO_ENCODER_RECONSTRUCTED_PICTURE; | ||
| 8588 | |||
| 8589 | typedef struct D3D12_VIDEO_ENCODER_FRAME_SUBREGION_METADATA | ||
| 8590 | { | ||
| 8591 | UINT64 bSize; | ||
| 8592 | UINT64 bStartOffset; | ||
| 8593 | UINT64 bHeaderSize; | ||
| 8594 | } D3D12_VIDEO_ENCODER_FRAME_SUBREGION_METADATA; | ||
| 8595 | |||
| 8596 | typedef | ||
| 8597 | enum D3D12_VIDEO_ENCODER_ENCODE_ERROR_FLAGS | ||
| 8598 | { | ||
| 8599 | D3D12_VIDEO_ENCODER_ENCODE_ERROR_FLAG_NO_ERROR = 0, | ||
| 8600 | D3D12_VIDEO_ENCODER_ENCODE_ERROR_FLAG_CODEC_PICTURE_CONTROL_NOT_SUPPORTED = 0x1, | ||
| 8601 | D3D12_VIDEO_ENCODER_ENCODE_ERROR_FLAG_SUBREGION_LAYOUT_CONFIGURATION_NOT_SUPPORTED = 0x2, | ||
| 8602 | D3D12_VIDEO_ENCODER_ENCODE_ERROR_FLAG_INVALID_REFERENCE_PICTURES = 0x4, | ||
| 8603 | D3D12_VIDEO_ENCODER_ENCODE_ERROR_FLAG_RECONFIGURATION_REQUEST_NOT_SUPPORTED = 0x8, | ||
| 8604 | D3D12_VIDEO_ENCODER_ENCODE_ERROR_FLAG_INVALID_METADATA_BUFFER_SOURCE = 0x10 | ||
| 8605 | } D3D12_VIDEO_ENCODER_ENCODE_ERROR_FLAGS; | ||
| 8606 | |||
| 8607 | DEFINE_ENUM_FLAG_OPERATORS(D3D12_VIDEO_ENCODER_ENCODE_ERROR_FLAGS) | ||
| 8608 | typedef struct D3D12_VIDEO_ENCODER_OUTPUT_METADATA_STATISTICS | ||
| 8609 | { | ||
| 8610 | UINT64 AverageQP; | ||
| 8611 | UINT64 IntraCodingUnitsCount; | ||
| 8612 | UINT64 InterCodingUnitsCount; | ||
| 8613 | UINT64 SkipCodingUnitsCount; | ||
| 8614 | UINT64 AverageMotionEstimationXDirection; | ||
| 8615 | UINT64 AverageMotionEstimationYDirection; | ||
| 8616 | } D3D12_VIDEO_ENCODER_OUTPUT_METADATA_STATISTICS; | ||
| 8617 | |||
| 8618 | typedef struct D3D12_VIDEO_ENCODER_OUTPUT_METADATA | ||
| 8619 | { | ||
| 8620 | UINT64 EncodeErrorFlags; | ||
| 8621 | D3D12_VIDEO_ENCODER_OUTPUT_METADATA_STATISTICS EncodeStats; | ||
| 8622 | UINT64 EncodedBitstreamWrittenBytesCount; | ||
| 8623 | UINT64 WrittenSubregionsCount; | ||
| 8624 | } D3D12_VIDEO_ENCODER_OUTPUT_METADATA; | ||
| 8625 | |||
| 8626 | typedef struct D3D12_VIDEO_ENCODER_ENCODE_OPERATION_METADATA_BUFFER | ||
| 8627 | { | ||
| 8628 | ID3D12Resource *pBuffer; | ||
| 8629 | UINT64 Offset; | ||
| 8630 | } D3D12_VIDEO_ENCODER_ENCODE_OPERATION_METADATA_BUFFER; | ||
| 8631 | |||
| 8632 | typedef struct D3D12_VIDEO_ENCODER_RESOLVE_METADATA_INPUT_ARGUMENTS | ||
| 8633 | { | ||
| 8634 | D3D12_VIDEO_ENCODER_CODEC EncoderCodec; | ||
| 8635 | D3D12_VIDEO_ENCODER_PROFILE_DESC EncoderProfile; | ||
| 8636 | DXGI_FORMAT EncoderInputFormat; | ||
| 8637 | D3D12_VIDEO_ENCODER_PICTURE_RESOLUTION_DESC EncodedPictureEffectiveResolution; | ||
| 8638 | D3D12_VIDEO_ENCODER_ENCODE_OPERATION_METADATA_BUFFER HWLayoutMetadata; | ||
| 8639 | } D3D12_VIDEO_ENCODER_RESOLVE_METADATA_INPUT_ARGUMENTS; | ||
| 8640 | |||
| 8641 | typedef struct D3D12_VIDEO_ENCODER_RESOLVE_METADATA_OUTPUT_ARGUMENTS | ||
| 8642 | { | ||
| 8643 | D3D12_VIDEO_ENCODER_ENCODE_OPERATION_METADATA_BUFFER ResolvedLayoutMetadata; | ||
| 8644 | } D3D12_VIDEO_ENCODER_RESOLVE_METADATA_OUTPUT_ARGUMENTS; | ||
| 8645 | |||
| 8646 | typedef struct D3D12_VIDEO_ENCODER_ENCODEFRAME_OUTPUT_ARGUMENTS | ||
| 8647 | { | ||
| 8648 | D3D12_VIDEO_ENCODER_COMPRESSED_BITSTREAM Bitstream; | ||
| 8649 | D3D12_VIDEO_ENCODER_RECONSTRUCTED_PICTURE ReconstructedPicture; | ||
| 8650 | D3D12_VIDEO_ENCODER_ENCODE_OPERATION_METADATA_BUFFER EncoderOutputMetadata; | ||
| 8651 | } D3D12_VIDEO_ENCODER_ENCODEFRAME_OUTPUT_ARGUMENTS; | ||
| 8652 | |||
| 8653 | |||
| 8654 | |||
| 8655 | extern RPC_IF_HANDLE __MIDL_itf_d3d12video_0000_0025_v0_0_c_ifspec; | ||
| 8656 | extern RPC_IF_HANDLE __MIDL_itf_d3d12video_0000_0025_v0_0_s_ifspec; | ||
| 8657 | |||
| 8658 | #ifndef __ID3D12VideoEncodeCommandList2_INTERFACE_DEFINED__ | ||
| 8659 | #define __ID3D12VideoEncodeCommandList2_INTERFACE_DEFINED__ | ||
| 8660 | |||
| 8661 | /* interface ID3D12VideoEncodeCommandList2 */ | ||
| 8662 | /* [unique][local][object][uuid] */ | ||
| 8663 | |||
| 8664 | |||
| 8665 | EXTERN_C const IID IID_ID3D12VideoEncodeCommandList2; | ||
| 8666 | |||
| 8667 | #if defined(__cplusplus) && !defined(CINTERFACE) | ||
| 8668 | |||
| 8669 | MIDL_INTERFACE("895491e2-e701-46a9-9a1f-8d3480ed867a") | ||
| 8670 | ID3D12VideoEncodeCommandList2 : public ID3D12VideoEncodeCommandList1 | ||
| 8671 | { | ||
| 8672 | public: | ||
| 8673 | virtual void STDMETHODCALLTYPE EncodeFrame( | ||
| 8674 | _In_ ID3D12VideoEncoder *pEncoder, | ||
| 8675 | _In_ ID3D12VideoEncoderHeap *pHeap, | ||
| 8676 | _In_ const D3D12_VIDEO_ENCODER_ENCODEFRAME_INPUT_ARGUMENTS *pInputArguments, | ||
| 8677 | _In_ const D3D12_VIDEO_ENCODER_ENCODEFRAME_OUTPUT_ARGUMENTS *pOutputArguments) = 0; | ||
| 8678 | |||
| 8679 | virtual void STDMETHODCALLTYPE ResolveEncoderOutputMetadata( | ||
| 8680 | _In_ const D3D12_VIDEO_ENCODER_RESOLVE_METADATA_INPUT_ARGUMENTS *pInputArguments, | ||
| 8681 | _In_ const D3D12_VIDEO_ENCODER_RESOLVE_METADATA_OUTPUT_ARGUMENTS *pOutputArguments) = 0; | ||
| 8682 | |||
| 8683 | }; | ||
| 8684 | |||
| 8685 | |||
| 8686 | #else /* C style interface */ | ||
| 8687 | |||
| 8688 | typedef struct ID3D12VideoEncodeCommandList2Vtbl | ||
| 8689 | { | ||
| 8690 | BEGIN_INTERFACE | ||
| 8691 | |||
| 8692 | DECLSPEC_XFGVIRT(IUnknown, QueryInterface) | ||
| 8693 | HRESULT ( STDMETHODCALLTYPE *QueryInterface )( | ||
| 8694 | ID3D12VideoEncodeCommandList2 * This, | ||
| 8695 | REFIID riid, | ||
| 8696 | _COM_Outptr_ void **ppvObject); | ||
| 8697 | |||
| 8698 | DECLSPEC_XFGVIRT(IUnknown, AddRef) | ||
| 8699 | ULONG ( STDMETHODCALLTYPE *AddRef )( | ||
| 8700 | ID3D12VideoEncodeCommandList2 * This); | ||
| 8701 | |||
| 8702 | DECLSPEC_XFGVIRT(IUnknown, Release) | ||
| 8703 | ULONG ( STDMETHODCALLTYPE *Release )( | ||
| 8704 | ID3D12VideoEncodeCommandList2 * This); | ||
| 8705 | |||
| 8706 | DECLSPEC_XFGVIRT(ID3D12Object, GetPrivateData) | ||
| 8707 | HRESULT ( STDMETHODCALLTYPE *GetPrivateData )( | ||
| 8708 | ID3D12VideoEncodeCommandList2 * This, | ||
| 8709 | _In_ REFGUID guid, | ||
| 8710 | _Inout_ UINT *pDataSize, | ||
| 8711 | _Out_writes_bytes_opt_( *pDataSize ) void *pData); | ||
| 8712 | |||
| 8713 | DECLSPEC_XFGVIRT(ID3D12Object, SetPrivateData) | ||
| 8714 | HRESULT ( STDMETHODCALLTYPE *SetPrivateData )( | ||
| 8715 | ID3D12VideoEncodeCommandList2 * This, | ||
| 8716 | _In_ REFGUID guid, | ||
| 8717 | _In_ UINT DataSize, | ||
| 8718 | _In_reads_bytes_opt_( DataSize ) const void *pData); | ||
| 8719 | |||
| 8720 | DECLSPEC_XFGVIRT(ID3D12Object, SetPrivateDataInterface) | ||
| 8721 | HRESULT ( STDMETHODCALLTYPE *SetPrivateDataInterface )( | ||
| 8722 | ID3D12VideoEncodeCommandList2 * This, | ||
| 8723 | _In_ REFGUID guid, | ||
| 8724 | _In_opt_ const IUnknown *pData); | ||
| 8725 | |||
| 8726 | DECLSPEC_XFGVIRT(ID3D12Object, SetName) | ||
| 8727 | HRESULT ( STDMETHODCALLTYPE *SetName )( | ||
| 8728 | ID3D12VideoEncodeCommandList2 * This, | ||
| 8729 | _In_z_ LPCWSTR Name); | ||
| 8730 | |||
| 8731 | DECLSPEC_XFGVIRT(ID3D12DeviceChild, GetDevice) | ||
| 8732 | HRESULT ( STDMETHODCALLTYPE *GetDevice )( | ||
| 8733 | ID3D12VideoEncodeCommandList2 * This, | ||
| 8734 | REFIID riid, | ||
| 8735 | _COM_Outptr_opt_ void **ppvDevice); | ||
| 8736 | |||
| 8737 | DECLSPEC_XFGVIRT(ID3D12CommandList, GetType) | ||
| 8738 | D3D12_COMMAND_LIST_TYPE ( STDMETHODCALLTYPE *GetType )( | ||
| 8739 | ID3D12VideoEncodeCommandList2 * This); | ||
| 8740 | |||
| 8741 | DECLSPEC_XFGVIRT(ID3D12VideoEncodeCommandList, Close) | ||
| 8742 | HRESULT ( STDMETHODCALLTYPE *Close )( | ||
| 8743 | ID3D12VideoEncodeCommandList2 * This); | ||
| 8744 | |||
| 8745 | DECLSPEC_XFGVIRT(ID3D12VideoEncodeCommandList, Reset) | ||
| 8746 | HRESULT ( STDMETHODCALLTYPE *Reset )( | ||
| 8747 | ID3D12VideoEncodeCommandList2 * This, | ||
| 8748 | _In_ ID3D12CommandAllocator *pAllocator); | ||
| 8749 | |||
| 8750 | DECLSPEC_XFGVIRT(ID3D12VideoEncodeCommandList, ClearState) | ||
| 8751 | void ( STDMETHODCALLTYPE *ClearState )( | ||
| 8752 | ID3D12VideoEncodeCommandList2 * This); | ||
| 8753 | |||
| 8754 | DECLSPEC_XFGVIRT(ID3D12VideoEncodeCommandList, ResourceBarrier) | ||
| 8755 | void ( STDMETHODCALLTYPE *ResourceBarrier )( | ||
| 8756 | ID3D12VideoEncodeCommandList2 * This, | ||
| 8757 | _In_ UINT NumBarriers, | ||
| 8758 | _In_reads_(NumBarriers) const D3D12_RESOURCE_BARRIER *pBarriers); | ||
| 8759 | |||
| 8760 | DECLSPEC_XFGVIRT(ID3D12VideoEncodeCommandList, DiscardResource) | ||
| 8761 | void ( STDMETHODCALLTYPE *DiscardResource )( | ||
| 8762 | ID3D12VideoEncodeCommandList2 * This, | ||
| 8763 | _In_ ID3D12Resource *pResource, | ||
| 8764 | _In_opt_ const D3D12_DISCARD_REGION *pRegion); | ||
| 8765 | |||
| 8766 | DECLSPEC_XFGVIRT(ID3D12VideoEncodeCommandList, BeginQuery) | ||
| 8767 | void ( STDMETHODCALLTYPE *BeginQuery )( | ||
| 8768 | ID3D12VideoEncodeCommandList2 * This, | ||
| 8769 | _In_ ID3D12QueryHeap *pQueryHeap, | ||
| 8770 | _In_ D3D12_QUERY_TYPE Type, | ||
| 8771 | _In_ UINT Index); | ||
| 8772 | |||
| 8773 | DECLSPEC_XFGVIRT(ID3D12VideoEncodeCommandList, EndQuery) | ||
| 8774 | void ( STDMETHODCALLTYPE *EndQuery )( | ||
| 8775 | ID3D12VideoEncodeCommandList2 * This, | ||
| 8776 | _In_ ID3D12QueryHeap *pQueryHeap, | ||
| 8777 | _In_ D3D12_QUERY_TYPE Type, | ||
| 8778 | _In_ UINT Index); | ||
| 8779 | |||
| 8780 | DECLSPEC_XFGVIRT(ID3D12VideoEncodeCommandList, ResolveQueryData) | ||
| 8781 | void ( STDMETHODCALLTYPE *ResolveQueryData )( | ||
| 8782 | ID3D12VideoEncodeCommandList2 * This, | ||
| 8783 | _In_ ID3D12QueryHeap *pQueryHeap, | ||
| 8784 | _In_ D3D12_QUERY_TYPE Type, | ||
| 8785 | _In_ UINT StartIndex, | ||
| 8786 | _In_ UINT NumQueries, | ||
| 8787 | _In_ ID3D12Resource *pDestinationBuffer, | ||
| 8788 | _In_ UINT64 AlignedDestinationBufferOffset); | ||
| 8789 | |||
| 8790 | DECLSPEC_XFGVIRT(ID3D12VideoEncodeCommandList, SetPredication) | ||
| 8791 | void ( STDMETHODCALLTYPE *SetPredication )( | ||
| 8792 | ID3D12VideoEncodeCommandList2 * This, | ||
| 8793 | _In_opt_ ID3D12Resource *pBuffer, | ||
| 8794 | _In_ UINT64 AlignedBufferOffset, | ||
| 8795 | _In_ D3D12_PREDICATION_OP Operation); | ||
| 8796 | |||
| 8797 | DECLSPEC_XFGVIRT(ID3D12VideoEncodeCommandList, SetMarker) | ||
| 8798 | void ( STDMETHODCALLTYPE *SetMarker )( | ||
| 8799 | ID3D12VideoEncodeCommandList2 * This, | ||
| 8800 | UINT Metadata, | ||
| 8801 | _In_reads_bytes_opt_(Size) const void *pData, | ||
| 8802 | UINT Size); | ||
| 8803 | |||
| 8804 | DECLSPEC_XFGVIRT(ID3D12VideoEncodeCommandList, BeginEvent) | ||
| 8805 | void ( STDMETHODCALLTYPE *BeginEvent )( | ||
| 8806 | ID3D12VideoEncodeCommandList2 * This, | ||
| 8807 | UINT Metadata, | ||
| 8808 | _In_reads_bytes_opt_(Size) const void *pData, | ||
| 8809 | UINT Size); | ||
| 8810 | |||
| 8811 | DECLSPEC_XFGVIRT(ID3D12VideoEncodeCommandList, EndEvent) | ||
| 8812 | void ( STDMETHODCALLTYPE *EndEvent )( | ||
| 8813 | ID3D12VideoEncodeCommandList2 * This); | ||
| 8814 | |||
| 8815 | DECLSPEC_XFGVIRT(ID3D12VideoEncodeCommandList, EstimateMotion) | ||
| 8816 | void ( STDMETHODCALLTYPE *EstimateMotion )( | ||
| 8817 | ID3D12VideoEncodeCommandList2 * This, | ||
| 8818 | _In_ ID3D12VideoMotionEstimator *pMotionEstimator, | ||
| 8819 | _In_ const D3D12_VIDEO_MOTION_ESTIMATOR_OUTPUT *pOutputArguments, | ||
| 8820 | _In_ const D3D12_VIDEO_MOTION_ESTIMATOR_INPUT *pInputArguments); | ||
| 8821 | |||
| 8822 | DECLSPEC_XFGVIRT(ID3D12VideoEncodeCommandList, ResolveMotionVectorHeap) | ||
| 8823 | void ( STDMETHODCALLTYPE *ResolveMotionVectorHeap )( | ||
| 8824 | ID3D12VideoEncodeCommandList2 * This, | ||
| 8825 | const D3D12_RESOLVE_VIDEO_MOTION_VECTOR_HEAP_OUTPUT *pOutputArguments, | ||
| 8826 | const D3D12_RESOLVE_VIDEO_MOTION_VECTOR_HEAP_INPUT *pInputArguments); | ||
| 8827 | |||
| 8828 | DECLSPEC_XFGVIRT(ID3D12VideoEncodeCommandList, WriteBufferImmediate) | ||
| 8829 | void ( STDMETHODCALLTYPE *WriteBufferImmediate )( | ||
| 8830 | ID3D12VideoEncodeCommandList2 * This, | ||
| 8831 | UINT Count, | ||
| 8832 | _In_reads_(Count) const D3D12_WRITEBUFFERIMMEDIATE_PARAMETER *pParams, | ||
| 8833 | _In_reads_opt_(Count) const D3D12_WRITEBUFFERIMMEDIATE_MODE *pModes); | ||
| 8834 | |||
| 8835 | DECLSPEC_XFGVIRT(ID3D12VideoEncodeCommandList, SetProtectedResourceSession) | ||
| 8836 | void ( STDMETHODCALLTYPE *SetProtectedResourceSession )( | ||
| 8837 | ID3D12VideoEncodeCommandList2 * This, | ||
| 8838 | _In_opt_ ID3D12ProtectedResourceSession *pProtectedResourceSession); | ||
| 8839 | |||
| 8840 | DECLSPEC_XFGVIRT(ID3D12VideoEncodeCommandList1, InitializeExtensionCommand) | ||
| 8841 | void ( STDMETHODCALLTYPE *InitializeExtensionCommand )( | ||
| 8842 | ID3D12VideoEncodeCommandList2 * This, | ||
| 8843 | _In_ ID3D12VideoExtensionCommand *pExtensionCommand, | ||
| 8844 | _In_reads_bytes_(InitializationParametersSizeInBytes) const void *pInitializationParameters, | ||
| 8845 | SIZE_T InitializationParametersSizeInBytes); | ||
| 8846 | |||
| 8847 | DECLSPEC_XFGVIRT(ID3D12VideoEncodeCommandList1, ExecuteExtensionCommand) | ||
| 8848 | void ( STDMETHODCALLTYPE *ExecuteExtensionCommand )( | ||
| 8849 | ID3D12VideoEncodeCommandList2 * This, | ||
| 8850 | _In_ ID3D12VideoExtensionCommand *pExtensionCommand, | ||
| 8851 | _In_reads_bytes_(ExecutionParametersSizeInBytes) const void *pExecutionParameters, | ||
| 8852 | SIZE_T ExecutionParametersSizeInBytes); | ||
| 8853 | |||
| 8854 | DECLSPEC_XFGVIRT(ID3D12VideoEncodeCommandList2, EncodeFrame) | ||
| 8855 | void ( STDMETHODCALLTYPE *EncodeFrame )( | ||
| 8856 | ID3D12VideoEncodeCommandList2 * This, | ||
| 8857 | _In_ ID3D12VideoEncoder *pEncoder, | ||
| 8858 | _In_ ID3D12VideoEncoderHeap *pHeap, | ||
| 8859 | _In_ const D3D12_VIDEO_ENCODER_ENCODEFRAME_INPUT_ARGUMENTS *pInputArguments, | ||
| 8860 | _In_ const D3D12_VIDEO_ENCODER_ENCODEFRAME_OUTPUT_ARGUMENTS *pOutputArguments); | ||
| 8861 | |||
| 8862 | DECLSPEC_XFGVIRT(ID3D12VideoEncodeCommandList2, ResolveEncoderOutputMetadata) | ||
| 8863 | void ( STDMETHODCALLTYPE *ResolveEncoderOutputMetadata )( | ||
| 8864 | ID3D12VideoEncodeCommandList2 * This, | ||
| 8865 | _In_ const D3D12_VIDEO_ENCODER_RESOLVE_METADATA_INPUT_ARGUMENTS *pInputArguments, | ||
| 8866 | _In_ const D3D12_VIDEO_ENCODER_RESOLVE_METADATA_OUTPUT_ARGUMENTS *pOutputArguments); | ||
| 8867 | |||
| 8868 | END_INTERFACE | ||
| 8869 | } ID3D12VideoEncodeCommandList2Vtbl; | ||
| 8870 | |||
| 8871 | interface ID3D12VideoEncodeCommandList2 | ||
| 8872 | { | ||
| 8873 | CONST_VTBL struct ID3D12VideoEncodeCommandList2Vtbl *lpVtbl; | ||
| 8874 | }; | ||
| 8875 | |||
| 8876 | |||
| 8877 | |||
| 8878 | #ifdef COBJMACROS | ||
| 8879 | |||
| 8880 | |||
| 8881 | #define ID3D12VideoEncodeCommandList2_QueryInterface(This,riid,ppvObject) \ | ||
| 8882 | ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) | ||
| 8883 | |||
| 8884 | #define ID3D12VideoEncodeCommandList2_AddRef(This) \ | ||
| 8885 | ( (This)->lpVtbl -> AddRef(This) ) | ||
| 8886 | |||
| 8887 | #define ID3D12VideoEncodeCommandList2_Release(This) \ | ||
| 8888 | ( (This)->lpVtbl -> Release(This) ) | ||
| 8889 | |||
| 8890 | |||
| 8891 | #define ID3D12VideoEncodeCommandList2_GetPrivateData(This,guid,pDataSize,pData) \ | ||
| 8892 | ( (This)->lpVtbl -> GetPrivateData(This,guid,pDataSize,pData) ) | ||
| 8893 | |||
| 8894 | #define ID3D12VideoEncodeCommandList2_SetPrivateData(This,guid,DataSize,pData) \ | ||
| 8895 | ( (This)->lpVtbl -> SetPrivateData(This,guid,DataSize,pData) ) | ||
| 8896 | |||
| 8897 | #define ID3D12VideoEncodeCommandList2_SetPrivateDataInterface(This,guid,pData) \ | ||
| 8898 | ( (This)->lpVtbl -> SetPrivateDataInterface(This,guid,pData) ) | ||
| 8899 | |||
| 8900 | #define ID3D12VideoEncodeCommandList2_SetName(This,Name) \ | ||
| 8901 | ( (This)->lpVtbl -> SetName(This,Name) ) | ||
| 8902 | |||
| 8903 | |||
| 8904 | #define ID3D12VideoEncodeCommandList2_GetDevice(This,riid,ppvDevice) \ | ||
| 8905 | ( (This)->lpVtbl -> GetDevice(This,riid,ppvDevice) ) | ||
| 8906 | |||
| 8907 | |||
| 8908 | #define ID3D12VideoEncodeCommandList2_GetType(This) \ | ||
| 8909 | ( (This)->lpVtbl -> GetType(This) ) | ||
| 8910 | |||
| 8911 | |||
| 8912 | #define ID3D12VideoEncodeCommandList2_Close(This) \ | ||
| 8913 | ( (This)->lpVtbl -> Close(This) ) | ||
| 8914 | |||
| 8915 | #define ID3D12VideoEncodeCommandList2_Reset(This,pAllocator) \ | ||
| 8916 | ( (This)->lpVtbl -> Reset(This,pAllocator) ) | ||
| 8917 | |||
| 8918 | #define ID3D12VideoEncodeCommandList2_ClearState(This) \ | ||
| 8919 | ( (This)->lpVtbl -> ClearState(This) ) | ||
| 8920 | |||
| 8921 | #define ID3D12VideoEncodeCommandList2_ResourceBarrier(This,NumBarriers,pBarriers) \ | ||
| 8922 | ( (This)->lpVtbl -> ResourceBarrier(This,NumBarriers,pBarriers) ) | ||
| 8923 | |||
| 8924 | #define ID3D12VideoEncodeCommandList2_DiscardResource(This,pResource,pRegion) \ | ||
| 8925 | ( (This)->lpVtbl -> DiscardResource(This,pResource,pRegion) ) | ||
| 8926 | |||
| 8927 | #define ID3D12VideoEncodeCommandList2_BeginQuery(This,pQueryHeap,Type,Index) \ | ||
| 8928 | ( (This)->lpVtbl -> BeginQuery(This,pQueryHeap,Type,Index) ) | ||
| 8929 | |||
| 8930 | #define ID3D12VideoEncodeCommandList2_EndQuery(This,pQueryHeap,Type,Index) \ | ||
| 8931 | ( (This)->lpVtbl -> EndQuery(This,pQueryHeap,Type,Index) ) | ||
| 8932 | |||
| 8933 | #define ID3D12VideoEncodeCommandList2_ResolveQueryData(This,pQueryHeap,Type,StartIndex,NumQueries,pDestinationBuffer,AlignedDestinationBufferOffset) \ | ||
| 8934 | ( (This)->lpVtbl -> ResolveQueryData(This,pQueryHeap,Type,StartIndex,NumQueries,pDestinationBuffer,AlignedDestinationBufferOffset) ) | ||
| 8935 | |||
| 8936 | #define ID3D12VideoEncodeCommandList2_SetPredication(This,pBuffer,AlignedBufferOffset,Operation) \ | ||
| 8937 | ( (This)->lpVtbl -> SetPredication(This,pBuffer,AlignedBufferOffset,Operation) ) | ||
| 8938 | |||
| 8939 | #define ID3D12VideoEncodeCommandList2_SetMarker(This,Metadata,pData,Size) \ | ||
| 8940 | ( (This)->lpVtbl -> SetMarker(This,Metadata,pData,Size) ) | ||
| 8941 | |||
| 8942 | #define ID3D12VideoEncodeCommandList2_BeginEvent(This,Metadata,pData,Size) \ | ||
| 8943 | ( (This)->lpVtbl -> BeginEvent(This,Metadata,pData,Size) ) | ||
| 8944 | |||
| 8945 | #define ID3D12VideoEncodeCommandList2_EndEvent(This) \ | ||
| 8946 | ( (This)->lpVtbl -> EndEvent(This) ) | ||
| 8947 | |||
| 8948 | #define ID3D12VideoEncodeCommandList2_EstimateMotion(This,pMotionEstimator,pOutputArguments,pInputArguments) \ | ||
| 8949 | ( (This)->lpVtbl -> EstimateMotion(This,pMotionEstimator,pOutputArguments,pInputArguments) ) | ||
| 8950 | |||
| 8951 | #define ID3D12VideoEncodeCommandList2_ResolveMotionVectorHeap(This,pOutputArguments,pInputArguments) \ | ||
| 8952 | ( (This)->lpVtbl -> ResolveMotionVectorHeap(This,pOutputArguments,pInputArguments) ) | ||
| 8953 | |||
| 8954 | #define ID3D12VideoEncodeCommandList2_WriteBufferImmediate(This,Count,pParams,pModes) \ | ||
| 8955 | ( (This)->lpVtbl -> WriteBufferImmediate(This,Count,pParams,pModes) ) | ||
| 8956 | |||
| 8957 | #define ID3D12VideoEncodeCommandList2_SetProtectedResourceSession(This,pProtectedResourceSession) \ | ||
| 8958 | ( (This)->lpVtbl -> SetProtectedResourceSession(This,pProtectedResourceSession) ) | ||
| 8959 | |||
| 8960 | |||
| 8961 | #define ID3D12VideoEncodeCommandList2_InitializeExtensionCommand(This,pExtensionCommand,pInitializationParameters,InitializationParametersSizeInBytes) \ | ||
| 8962 | ( (This)->lpVtbl -> InitializeExtensionCommand(This,pExtensionCommand,pInitializationParameters,InitializationParametersSizeInBytes) ) | ||
| 8963 | |||
| 8964 | #define ID3D12VideoEncodeCommandList2_ExecuteExtensionCommand(This,pExtensionCommand,pExecutionParameters,ExecutionParametersSizeInBytes) \ | ||
| 8965 | ( (This)->lpVtbl -> ExecuteExtensionCommand(This,pExtensionCommand,pExecutionParameters,ExecutionParametersSizeInBytes) ) | ||
| 8966 | |||
| 8967 | |||
| 8968 | #define ID3D12VideoEncodeCommandList2_EncodeFrame(This,pEncoder,pHeap,pInputArguments,pOutputArguments) \ | ||
| 8969 | ( (This)->lpVtbl -> EncodeFrame(This,pEncoder,pHeap,pInputArguments,pOutputArguments) ) | ||
| 8970 | |||
| 8971 | #define ID3D12VideoEncodeCommandList2_ResolveEncoderOutputMetadata(This,pInputArguments,pOutputArguments) \ | ||
| 8972 | ( (This)->lpVtbl -> ResolveEncoderOutputMetadata(This,pInputArguments,pOutputArguments) ) | ||
| 8973 | |||
| 8974 | #endif /* COBJMACROS */ | ||
| 8975 | |||
| 8976 | |||
| 8977 | #endif /* C style interface */ | ||
| 8978 | |||
| 8979 | |||
| 8980 | |||
| 8981 | |||
| 8982 | #endif /* __ID3D12VideoEncodeCommandList2_INTERFACE_DEFINED__ */ | ||
| 8983 | |||
| 8984 | |||
| 8985 | #ifndef __ID3D12VideoEncodeCommandList3_INTERFACE_DEFINED__ | ||
| 8986 | #define __ID3D12VideoEncodeCommandList3_INTERFACE_DEFINED__ | ||
| 8987 | |||
| 8988 | /* interface ID3D12VideoEncodeCommandList3 */ | ||
| 8989 | /* [unique][local][object][uuid] */ | ||
| 8990 | |||
| 8991 | |||
| 8992 | EXTERN_C const IID IID_ID3D12VideoEncodeCommandList3; | ||
| 8993 | |||
| 8994 | #if defined(__cplusplus) && !defined(CINTERFACE) | ||
| 8995 | |||
| 8996 | MIDL_INTERFACE("7f027b22-1515-4e85-aa0d-026486580576") | ||
| 8997 | ID3D12VideoEncodeCommandList3 : public ID3D12VideoEncodeCommandList2 | ||
| 8998 | { | ||
| 8999 | public: | ||
| 9000 | virtual void STDMETHODCALLTYPE Barrier( | ||
| 9001 | UINT32 NumBarrierGroups, | ||
| 9002 | _In_reads_(NumBarrierGroups) const D3D12_BARRIER_GROUP *pBarrierGroups) = 0; | ||
| 9003 | |||
| 9004 | }; | ||
| 9005 | |||
| 9006 | |||
| 9007 | #else /* C style interface */ | ||
| 9008 | |||
| 9009 | typedef struct ID3D12VideoEncodeCommandList3Vtbl | ||
| 9010 | { | ||
| 9011 | BEGIN_INTERFACE | ||
| 9012 | |||
| 9013 | DECLSPEC_XFGVIRT(IUnknown, QueryInterface) | ||
| 9014 | HRESULT ( STDMETHODCALLTYPE *QueryInterface )( | ||
| 9015 | ID3D12VideoEncodeCommandList3 * This, | ||
| 9016 | REFIID riid, | ||
| 9017 | _COM_Outptr_ void **ppvObject); | ||
| 9018 | |||
| 9019 | DECLSPEC_XFGVIRT(IUnknown, AddRef) | ||
| 9020 | ULONG ( STDMETHODCALLTYPE *AddRef )( | ||
| 9021 | ID3D12VideoEncodeCommandList3 * This); | ||
| 9022 | |||
| 9023 | DECLSPEC_XFGVIRT(IUnknown, Release) | ||
| 9024 | ULONG ( STDMETHODCALLTYPE *Release )( | ||
| 9025 | ID3D12VideoEncodeCommandList3 * This); | ||
| 9026 | |||
| 9027 | DECLSPEC_XFGVIRT(ID3D12Object, GetPrivateData) | ||
| 9028 | HRESULT ( STDMETHODCALLTYPE *GetPrivateData )( | ||
| 9029 | ID3D12VideoEncodeCommandList3 * This, | ||
| 9030 | _In_ REFGUID guid, | ||
| 9031 | _Inout_ UINT *pDataSize, | ||
| 9032 | _Out_writes_bytes_opt_( *pDataSize ) void *pData); | ||
| 9033 | |||
| 9034 | DECLSPEC_XFGVIRT(ID3D12Object, SetPrivateData) | ||
| 9035 | HRESULT ( STDMETHODCALLTYPE *SetPrivateData )( | ||
| 9036 | ID3D12VideoEncodeCommandList3 * This, | ||
| 9037 | _In_ REFGUID guid, | ||
| 9038 | _In_ UINT DataSize, | ||
| 9039 | _In_reads_bytes_opt_( DataSize ) const void *pData); | ||
| 9040 | |||
| 9041 | DECLSPEC_XFGVIRT(ID3D12Object, SetPrivateDataInterface) | ||
| 9042 | HRESULT ( STDMETHODCALLTYPE *SetPrivateDataInterface )( | ||
| 9043 | ID3D12VideoEncodeCommandList3 * This, | ||
| 9044 | _In_ REFGUID guid, | ||
| 9045 | _In_opt_ const IUnknown *pData); | ||
| 9046 | |||
| 9047 | DECLSPEC_XFGVIRT(ID3D12Object, SetName) | ||
| 9048 | HRESULT ( STDMETHODCALLTYPE *SetName )( | ||
| 9049 | ID3D12VideoEncodeCommandList3 * This, | ||
| 9050 | _In_z_ LPCWSTR Name); | ||
| 9051 | |||
| 9052 | DECLSPEC_XFGVIRT(ID3D12DeviceChild, GetDevice) | ||
| 9053 | HRESULT ( STDMETHODCALLTYPE *GetDevice )( | ||
| 9054 | ID3D12VideoEncodeCommandList3 * This, | ||
| 9055 | REFIID riid, | ||
| 9056 | _COM_Outptr_opt_ void **ppvDevice); | ||
| 9057 | |||
| 9058 | DECLSPEC_XFGVIRT(ID3D12CommandList, GetType) | ||
| 9059 | D3D12_COMMAND_LIST_TYPE ( STDMETHODCALLTYPE *GetType )( | ||
| 9060 | ID3D12VideoEncodeCommandList3 * This); | ||
| 9061 | |||
| 9062 | DECLSPEC_XFGVIRT(ID3D12VideoEncodeCommandList, Close) | ||
| 9063 | HRESULT ( STDMETHODCALLTYPE *Close )( | ||
| 9064 | ID3D12VideoEncodeCommandList3 * This); | ||
| 9065 | |||
| 9066 | DECLSPEC_XFGVIRT(ID3D12VideoEncodeCommandList, Reset) | ||
| 9067 | HRESULT ( STDMETHODCALLTYPE *Reset )( | ||
| 9068 | ID3D12VideoEncodeCommandList3 * This, | ||
| 9069 | _In_ ID3D12CommandAllocator *pAllocator); | ||
| 9070 | |||
| 9071 | DECLSPEC_XFGVIRT(ID3D12VideoEncodeCommandList, ClearState) | ||
| 9072 | void ( STDMETHODCALLTYPE *ClearState )( | ||
| 9073 | ID3D12VideoEncodeCommandList3 * This); | ||
| 9074 | |||
| 9075 | DECLSPEC_XFGVIRT(ID3D12VideoEncodeCommandList, ResourceBarrier) | ||
| 9076 | void ( STDMETHODCALLTYPE *ResourceBarrier )( | ||
| 9077 | ID3D12VideoEncodeCommandList3 * This, | ||
| 9078 | _In_ UINT NumBarriers, | ||
| 9079 | _In_reads_(NumBarriers) const D3D12_RESOURCE_BARRIER *pBarriers); | ||
| 9080 | |||
| 9081 | DECLSPEC_XFGVIRT(ID3D12VideoEncodeCommandList, DiscardResource) | ||
| 9082 | void ( STDMETHODCALLTYPE *DiscardResource )( | ||
| 9083 | ID3D12VideoEncodeCommandList3 * This, | ||
| 9084 | _In_ ID3D12Resource *pResource, | ||
| 9085 | _In_opt_ const D3D12_DISCARD_REGION *pRegion); | ||
| 9086 | |||
| 9087 | DECLSPEC_XFGVIRT(ID3D12VideoEncodeCommandList, BeginQuery) | ||
| 9088 | void ( STDMETHODCALLTYPE *BeginQuery )( | ||
| 9089 | ID3D12VideoEncodeCommandList3 * This, | ||
| 9090 | _In_ ID3D12QueryHeap *pQueryHeap, | ||
| 9091 | _In_ D3D12_QUERY_TYPE Type, | ||
| 9092 | _In_ UINT Index); | ||
| 9093 | |||
| 9094 | DECLSPEC_XFGVIRT(ID3D12VideoEncodeCommandList, EndQuery) | ||
| 9095 | void ( STDMETHODCALLTYPE *EndQuery )( | ||
| 9096 | ID3D12VideoEncodeCommandList3 * This, | ||
| 9097 | _In_ ID3D12QueryHeap *pQueryHeap, | ||
| 9098 | _In_ D3D12_QUERY_TYPE Type, | ||
| 9099 | _In_ UINT Index); | ||
| 9100 | |||
| 9101 | DECLSPEC_XFGVIRT(ID3D12VideoEncodeCommandList, ResolveQueryData) | ||
| 9102 | void ( STDMETHODCALLTYPE *ResolveQueryData )( | ||
| 9103 | ID3D12VideoEncodeCommandList3 * This, | ||
| 9104 | _In_ ID3D12QueryHeap *pQueryHeap, | ||
| 9105 | _In_ D3D12_QUERY_TYPE Type, | ||
| 9106 | _In_ UINT StartIndex, | ||
| 9107 | _In_ UINT NumQueries, | ||
| 9108 | _In_ ID3D12Resource *pDestinationBuffer, | ||
| 9109 | _In_ UINT64 AlignedDestinationBufferOffset); | ||
| 9110 | |||
| 9111 | DECLSPEC_XFGVIRT(ID3D12VideoEncodeCommandList, SetPredication) | ||
| 9112 | void ( STDMETHODCALLTYPE *SetPredication )( | ||
| 9113 | ID3D12VideoEncodeCommandList3 * This, | ||
| 9114 | _In_opt_ ID3D12Resource *pBuffer, | ||
| 9115 | _In_ UINT64 AlignedBufferOffset, | ||
| 9116 | _In_ D3D12_PREDICATION_OP Operation); | ||
| 9117 | |||
| 9118 | DECLSPEC_XFGVIRT(ID3D12VideoEncodeCommandList, SetMarker) | ||
| 9119 | void ( STDMETHODCALLTYPE *SetMarker )( | ||
| 9120 | ID3D12VideoEncodeCommandList3 * This, | ||
| 9121 | UINT Metadata, | ||
| 9122 | _In_reads_bytes_opt_(Size) const void *pData, | ||
| 9123 | UINT Size); | ||
| 9124 | |||
| 9125 | DECLSPEC_XFGVIRT(ID3D12VideoEncodeCommandList, BeginEvent) | ||
| 9126 | void ( STDMETHODCALLTYPE *BeginEvent )( | ||
| 9127 | ID3D12VideoEncodeCommandList3 * This, | ||
| 9128 | UINT Metadata, | ||
| 9129 | _In_reads_bytes_opt_(Size) const void *pData, | ||
| 9130 | UINT Size); | ||
| 9131 | |||
| 9132 | DECLSPEC_XFGVIRT(ID3D12VideoEncodeCommandList, EndEvent) | ||
| 9133 | void ( STDMETHODCALLTYPE *EndEvent )( | ||
| 9134 | ID3D12VideoEncodeCommandList3 * This); | ||
| 9135 | |||
| 9136 | DECLSPEC_XFGVIRT(ID3D12VideoEncodeCommandList, EstimateMotion) | ||
| 9137 | void ( STDMETHODCALLTYPE *EstimateMotion )( | ||
| 9138 | ID3D12VideoEncodeCommandList3 * This, | ||
| 9139 | _In_ ID3D12VideoMotionEstimator *pMotionEstimator, | ||
| 9140 | _In_ const D3D12_VIDEO_MOTION_ESTIMATOR_OUTPUT *pOutputArguments, | ||
| 9141 | _In_ const D3D12_VIDEO_MOTION_ESTIMATOR_INPUT *pInputArguments); | ||
| 9142 | |||
| 9143 | DECLSPEC_XFGVIRT(ID3D12VideoEncodeCommandList, ResolveMotionVectorHeap) | ||
| 9144 | void ( STDMETHODCALLTYPE *ResolveMotionVectorHeap )( | ||
| 9145 | ID3D12VideoEncodeCommandList3 * This, | ||
| 9146 | const D3D12_RESOLVE_VIDEO_MOTION_VECTOR_HEAP_OUTPUT *pOutputArguments, | ||
| 9147 | const D3D12_RESOLVE_VIDEO_MOTION_VECTOR_HEAP_INPUT *pInputArguments); | ||
| 9148 | |||
| 9149 | DECLSPEC_XFGVIRT(ID3D12VideoEncodeCommandList, WriteBufferImmediate) | ||
| 9150 | void ( STDMETHODCALLTYPE *WriteBufferImmediate )( | ||
| 9151 | ID3D12VideoEncodeCommandList3 * This, | ||
| 9152 | UINT Count, | ||
| 9153 | _In_reads_(Count) const D3D12_WRITEBUFFERIMMEDIATE_PARAMETER *pParams, | ||
| 9154 | _In_reads_opt_(Count) const D3D12_WRITEBUFFERIMMEDIATE_MODE *pModes); | ||
| 9155 | |||
| 9156 | DECLSPEC_XFGVIRT(ID3D12VideoEncodeCommandList, SetProtectedResourceSession) | ||
| 9157 | void ( STDMETHODCALLTYPE *SetProtectedResourceSession )( | ||
| 9158 | ID3D12VideoEncodeCommandList3 * This, | ||
| 9159 | _In_opt_ ID3D12ProtectedResourceSession *pProtectedResourceSession); | ||
| 9160 | |||
| 9161 | DECLSPEC_XFGVIRT(ID3D12VideoEncodeCommandList1, InitializeExtensionCommand) | ||
| 9162 | void ( STDMETHODCALLTYPE *InitializeExtensionCommand )( | ||
| 9163 | ID3D12VideoEncodeCommandList3 * This, | ||
| 9164 | _In_ ID3D12VideoExtensionCommand *pExtensionCommand, | ||
| 9165 | _In_reads_bytes_(InitializationParametersSizeInBytes) const void *pInitializationParameters, | ||
| 9166 | SIZE_T InitializationParametersSizeInBytes); | ||
| 9167 | |||
| 9168 | DECLSPEC_XFGVIRT(ID3D12VideoEncodeCommandList1, ExecuteExtensionCommand) | ||
| 9169 | void ( STDMETHODCALLTYPE *ExecuteExtensionCommand )( | ||
| 9170 | ID3D12VideoEncodeCommandList3 * This, | ||
| 9171 | _In_ ID3D12VideoExtensionCommand *pExtensionCommand, | ||
| 9172 | _In_reads_bytes_(ExecutionParametersSizeInBytes) const void *pExecutionParameters, | ||
| 9173 | SIZE_T ExecutionParametersSizeInBytes); | ||
| 9174 | |||
| 9175 | DECLSPEC_XFGVIRT(ID3D12VideoEncodeCommandList2, EncodeFrame) | ||
| 9176 | void ( STDMETHODCALLTYPE *EncodeFrame )( | ||
| 9177 | ID3D12VideoEncodeCommandList3 * This, | ||
| 9178 | _In_ ID3D12VideoEncoder *pEncoder, | ||
| 9179 | _In_ ID3D12VideoEncoderHeap *pHeap, | ||
| 9180 | _In_ const D3D12_VIDEO_ENCODER_ENCODEFRAME_INPUT_ARGUMENTS *pInputArguments, | ||
| 9181 | _In_ const D3D12_VIDEO_ENCODER_ENCODEFRAME_OUTPUT_ARGUMENTS *pOutputArguments); | ||
| 9182 | |||
| 9183 | DECLSPEC_XFGVIRT(ID3D12VideoEncodeCommandList2, ResolveEncoderOutputMetadata) | ||
| 9184 | void ( STDMETHODCALLTYPE *ResolveEncoderOutputMetadata )( | ||
| 9185 | ID3D12VideoEncodeCommandList3 * This, | ||
| 9186 | _In_ const D3D12_VIDEO_ENCODER_RESOLVE_METADATA_INPUT_ARGUMENTS *pInputArguments, | ||
| 9187 | _In_ const D3D12_VIDEO_ENCODER_RESOLVE_METADATA_OUTPUT_ARGUMENTS *pOutputArguments); | ||
| 9188 | |||
| 9189 | DECLSPEC_XFGVIRT(ID3D12VideoEncodeCommandList3, Barrier) | ||
| 9190 | void ( STDMETHODCALLTYPE *Barrier )( | ||
| 9191 | ID3D12VideoEncodeCommandList3 * This, | ||
| 9192 | UINT32 NumBarrierGroups, | ||
| 9193 | _In_reads_(NumBarrierGroups) const D3D12_BARRIER_GROUP *pBarrierGroups); | ||
| 9194 | |||
| 9195 | END_INTERFACE | ||
| 9196 | } ID3D12VideoEncodeCommandList3Vtbl; | ||
| 9197 | |||
| 9198 | interface ID3D12VideoEncodeCommandList3 | ||
| 9199 | { | ||
| 9200 | CONST_VTBL struct ID3D12VideoEncodeCommandList3Vtbl *lpVtbl; | ||
| 9201 | }; | ||
| 9202 | |||
| 9203 | |||
| 9204 | |||
| 9205 | #ifdef COBJMACROS | ||
| 9206 | |||
| 9207 | |||
| 9208 | #define ID3D12VideoEncodeCommandList3_QueryInterface(This,riid,ppvObject) \ | ||
| 9209 | ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) | ||
| 9210 | |||
| 9211 | #define ID3D12VideoEncodeCommandList3_AddRef(This) \ | ||
| 9212 | ( (This)->lpVtbl -> AddRef(This) ) | ||
| 9213 | |||
| 9214 | #define ID3D12VideoEncodeCommandList3_Release(This) \ | ||
| 9215 | ( (This)->lpVtbl -> Release(This) ) | ||
| 9216 | |||
| 9217 | |||
| 9218 | #define ID3D12VideoEncodeCommandList3_GetPrivateData(This,guid,pDataSize,pData) \ | ||
| 9219 | ( (This)->lpVtbl -> GetPrivateData(This,guid,pDataSize,pData) ) | ||
| 9220 | |||
| 9221 | #define ID3D12VideoEncodeCommandList3_SetPrivateData(This,guid,DataSize,pData) \ | ||
| 9222 | ( (This)->lpVtbl -> SetPrivateData(This,guid,DataSize,pData) ) | ||
| 9223 | |||
| 9224 | #define ID3D12VideoEncodeCommandList3_SetPrivateDataInterface(This,guid,pData) \ | ||
| 9225 | ( (This)->lpVtbl -> SetPrivateDataInterface(This,guid,pData) ) | ||
| 9226 | |||
| 9227 | #define ID3D12VideoEncodeCommandList3_SetName(This,Name) \ | ||
| 9228 | ( (This)->lpVtbl -> SetName(This,Name) ) | ||
| 9229 | |||
| 9230 | |||
| 9231 | #define ID3D12VideoEncodeCommandList3_GetDevice(This,riid,ppvDevice) \ | ||
| 9232 | ( (This)->lpVtbl -> GetDevice(This,riid,ppvDevice) ) | ||
| 9233 | |||
| 9234 | |||
| 9235 | #define ID3D12VideoEncodeCommandList3_GetType(This) \ | ||
| 9236 | ( (This)->lpVtbl -> GetType(This) ) | ||
| 9237 | |||
| 9238 | |||
| 9239 | #define ID3D12VideoEncodeCommandList3_Close(This) \ | ||
| 9240 | ( (This)->lpVtbl -> Close(This) ) | ||
| 9241 | |||
| 9242 | #define ID3D12VideoEncodeCommandList3_Reset(This,pAllocator) \ | ||
| 9243 | ( (This)->lpVtbl -> Reset(This,pAllocator) ) | ||
| 9244 | |||
| 9245 | #define ID3D12VideoEncodeCommandList3_ClearState(This) \ | ||
| 9246 | ( (This)->lpVtbl -> ClearState(This) ) | ||
| 9247 | |||
| 9248 | #define ID3D12VideoEncodeCommandList3_ResourceBarrier(This,NumBarriers,pBarriers) \ | ||
| 9249 | ( (This)->lpVtbl -> ResourceBarrier(This,NumBarriers,pBarriers) ) | ||
| 9250 | |||
| 9251 | #define ID3D12VideoEncodeCommandList3_DiscardResource(This,pResource,pRegion) \ | ||
| 9252 | ( (This)->lpVtbl -> DiscardResource(This,pResource,pRegion) ) | ||
| 9253 | |||
| 9254 | #define ID3D12VideoEncodeCommandList3_BeginQuery(This,pQueryHeap,Type,Index) \ | ||
| 9255 | ( (This)->lpVtbl -> BeginQuery(This,pQueryHeap,Type,Index) ) | ||
| 9256 | |||
| 9257 | #define ID3D12VideoEncodeCommandList3_EndQuery(This,pQueryHeap,Type,Index) \ | ||
| 9258 | ( (This)->lpVtbl -> EndQuery(This,pQueryHeap,Type,Index) ) | ||
| 9259 | |||
| 9260 | #define ID3D12VideoEncodeCommandList3_ResolveQueryData(This,pQueryHeap,Type,StartIndex,NumQueries,pDestinationBuffer,AlignedDestinationBufferOffset) \ | ||
| 9261 | ( (This)->lpVtbl -> ResolveQueryData(This,pQueryHeap,Type,StartIndex,NumQueries,pDestinationBuffer,AlignedDestinationBufferOffset) ) | ||
| 9262 | |||
| 9263 | #define ID3D12VideoEncodeCommandList3_SetPredication(This,pBuffer,AlignedBufferOffset,Operation) \ | ||
| 9264 | ( (This)->lpVtbl -> SetPredication(This,pBuffer,AlignedBufferOffset,Operation) ) | ||
| 9265 | |||
| 9266 | #define ID3D12VideoEncodeCommandList3_SetMarker(This,Metadata,pData,Size) \ | ||
| 9267 | ( (This)->lpVtbl -> SetMarker(This,Metadata,pData,Size) ) | ||
| 9268 | |||
| 9269 | #define ID3D12VideoEncodeCommandList3_BeginEvent(This,Metadata,pData,Size) \ | ||
| 9270 | ( (This)->lpVtbl -> BeginEvent(This,Metadata,pData,Size) ) | ||
| 9271 | |||
| 9272 | #define ID3D12VideoEncodeCommandList3_EndEvent(This) \ | ||
| 9273 | ( (This)->lpVtbl -> EndEvent(This) ) | ||
| 9274 | |||
| 9275 | #define ID3D12VideoEncodeCommandList3_EstimateMotion(This,pMotionEstimator,pOutputArguments,pInputArguments) \ | ||
| 9276 | ( (This)->lpVtbl -> EstimateMotion(This,pMotionEstimator,pOutputArguments,pInputArguments) ) | ||
| 9277 | |||
| 9278 | #define ID3D12VideoEncodeCommandList3_ResolveMotionVectorHeap(This,pOutputArguments,pInputArguments) \ | ||
| 9279 | ( (This)->lpVtbl -> ResolveMotionVectorHeap(This,pOutputArguments,pInputArguments) ) | ||
| 9280 | |||
| 9281 | #define ID3D12VideoEncodeCommandList3_WriteBufferImmediate(This,Count,pParams,pModes) \ | ||
| 9282 | ( (This)->lpVtbl -> WriteBufferImmediate(This,Count,pParams,pModes) ) | ||
| 9283 | |||
| 9284 | #define ID3D12VideoEncodeCommandList3_SetProtectedResourceSession(This,pProtectedResourceSession) \ | ||
| 9285 | ( (This)->lpVtbl -> SetProtectedResourceSession(This,pProtectedResourceSession) ) | ||
| 9286 | |||
| 9287 | |||
| 9288 | #define ID3D12VideoEncodeCommandList3_InitializeExtensionCommand(This,pExtensionCommand,pInitializationParameters,InitializationParametersSizeInBytes) \ | ||
| 9289 | ( (This)->lpVtbl -> InitializeExtensionCommand(This,pExtensionCommand,pInitializationParameters,InitializationParametersSizeInBytes) ) | ||
| 9290 | |||
| 9291 | #define ID3D12VideoEncodeCommandList3_ExecuteExtensionCommand(This,pExtensionCommand,pExecutionParameters,ExecutionParametersSizeInBytes) \ | ||
| 9292 | ( (This)->lpVtbl -> ExecuteExtensionCommand(This,pExtensionCommand,pExecutionParameters,ExecutionParametersSizeInBytes) ) | ||
| 9293 | |||
| 9294 | |||
| 9295 | #define ID3D12VideoEncodeCommandList3_EncodeFrame(This,pEncoder,pHeap,pInputArguments,pOutputArguments) \ | ||
| 9296 | ( (This)->lpVtbl -> EncodeFrame(This,pEncoder,pHeap,pInputArguments,pOutputArguments) ) | ||
| 9297 | |||
| 9298 | #define ID3D12VideoEncodeCommandList3_ResolveEncoderOutputMetadata(This,pInputArguments,pOutputArguments) \ | ||
| 9299 | ( (This)->lpVtbl -> ResolveEncoderOutputMetadata(This,pInputArguments,pOutputArguments) ) | ||
| 9300 | |||
| 9301 | |||
| 9302 | #define ID3D12VideoEncodeCommandList3_Barrier(This,NumBarrierGroups,pBarrierGroups) \ | ||
| 9303 | ( (This)->lpVtbl -> Barrier(This,NumBarrierGroups,pBarrierGroups) ) | ||
| 9304 | |||
| 9305 | #endif /* COBJMACROS */ | ||
| 9306 | |||
| 9307 | |||
| 9308 | #endif /* C style interface */ | ||
| 9309 | |||
| 9310 | |||
| 9311 | |||
| 9312 | |||
| 9313 | #endif /* __ID3D12VideoEncodeCommandList3_INTERFACE_DEFINED__ */ | ||
| 9314 | |||
| 9315 | |||
| 9316 | /* interface __MIDL_itf_d3d12video_0000_0027 */ | ||
| 9317 | /* [local] */ | ||
| 9318 | |||
| 9319 | typedef struct D3D12_VIDEO_ENCODER_HEAP_DESC1 | ||
| 9320 | { | ||
| 9321 | UINT NodeMask; | ||
| 9322 | D3D12_VIDEO_ENCODER_HEAP_FLAGS Flags; | ||
| 9323 | D3D12_VIDEO_ENCODER_CODEC EncodeCodec; | ||
| 9324 | D3D12_VIDEO_ENCODER_PROFILE_DESC EncodeProfile; | ||
| 9325 | D3D12_VIDEO_ENCODER_LEVEL_SETTING EncodeLevel; | ||
| 9326 | UINT ResolutionsListCount; | ||
| 9327 | _Field_size_full_(ResolutionsListCount) const D3D12_VIDEO_ENCODER_PICTURE_RESOLUTION_DESC *pResolutionList; | ||
| 9328 | UINT Pow2DownscaleFactor; | ||
| 9329 | } D3D12_VIDEO_ENCODER_HEAP_DESC1; | ||
| 9330 | |||
| 9331 | |||
| 9332 | |||
| 9333 | extern RPC_IF_HANDLE __MIDL_itf_d3d12video_0000_0027_v0_0_c_ifspec; | ||
| 9334 | extern RPC_IF_HANDLE __MIDL_itf_d3d12video_0000_0027_v0_0_s_ifspec; | ||
| 9335 | |||
| 9336 | #ifndef __ID3D12VideoEncoderHeap1_INTERFACE_DEFINED__ | ||
| 9337 | #define __ID3D12VideoEncoderHeap1_INTERFACE_DEFINED__ | ||
| 9338 | |||
| 9339 | /* interface ID3D12VideoEncoderHeap1 */ | ||
| 9340 | /* [unique][local][object][uuid] */ | ||
| 9341 | |||
| 9342 | |||
| 9343 | EXTERN_C const IID IID_ID3D12VideoEncoderHeap1; | ||
| 9344 | |||
| 9345 | #if defined(__cplusplus) && !defined(CINTERFACE) | ||
| 9346 | |||
| 9347 | MIDL_INTERFACE("ea8f1968-4aa0-43a4-9d30-ba86ec84d4f9") | ||
| 9348 | ID3D12VideoEncoderHeap1 : public ID3D12VideoEncoderHeap | ||
| 9349 | { | ||
| 9350 | public: | ||
| 9351 | virtual UINT STDMETHODCALLTYPE GetPow2DownscaleFactor( void) = 0; | ||
| 9352 | |||
| 9353 | }; | ||
| 9354 | |||
| 9355 | |||
| 9356 | #else /* C style interface */ | ||
| 9357 | |||
| 9358 | typedef struct ID3D12VideoEncoderHeap1Vtbl | ||
| 9359 | { | ||
| 9360 | BEGIN_INTERFACE | ||
| 9361 | |||
| 9362 | DECLSPEC_XFGVIRT(IUnknown, QueryInterface) | ||
| 9363 | HRESULT ( STDMETHODCALLTYPE *QueryInterface )( | ||
| 9364 | ID3D12VideoEncoderHeap1 * This, | ||
| 9365 | REFIID riid, | ||
| 9366 | _COM_Outptr_ void **ppvObject); | ||
| 9367 | |||
| 9368 | DECLSPEC_XFGVIRT(IUnknown, AddRef) | ||
| 9369 | ULONG ( STDMETHODCALLTYPE *AddRef )( | ||
| 9370 | ID3D12VideoEncoderHeap1 * This); | ||
| 9371 | |||
| 9372 | DECLSPEC_XFGVIRT(IUnknown, Release) | ||
| 9373 | ULONG ( STDMETHODCALLTYPE *Release )( | ||
| 9374 | ID3D12VideoEncoderHeap1 * This); | ||
| 9375 | |||
| 9376 | DECLSPEC_XFGVIRT(ID3D12Object, GetPrivateData) | ||
| 9377 | HRESULT ( STDMETHODCALLTYPE *GetPrivateData )( | ||
| 9378 | ID3D12VideoEncoderHeap1 * This, | ||
| 9379 | _In_ REFGUID guid, | ||
| 9380 | _Inout_ UINT *pDataSize, | ||
| 9381 | _Out_writes_bytes_opt_( *pDataSize ) void *pData); | ||
| 9382 | |||
| 9383 | DECLSPEC_XFGVIRT(ID3D12Object, SetPrivateData) | ||
| 9384 | HRESULT ( STDMETHODCALLTYPE *SetPrivateData )( | ||
| 9385 | ID3D12VideoEncoderHeap1 * This, | ||
| 9386 | _In_ REFGUID guid, | ||
| 9387 | _In_ UINT DataSize, | ||
| 9388 | _In_reads_bytes_opt_( DataSize ) const void *pData); | ||
| 9389 | |||
| 9390 | DECLSPEC_XFGVIRT(ID3D12Object, SetPrivateDataInterface) | ||
| 9391 | HRESULT ( STDMETHODCALLTYPE *SetPrivateDataInterface )( | ||
| 9392 | ID3D12VideoEncoderHeap1 * This, | ||
| 9393 | _In_ REFGUID guid, | ||
| 9394 | _In_opt_ const IUnknown *pData); | ||
| 9395 | |||
| 9396 | DECLSPEC_XFGVIRT(ID3D12Object, SetName) | ||
| 9397 | HRESULT ( STDMETHODCALLTYPE *SetName )( | ||
| 9398 | ID3D12VideoEncoderHeap1 * This, | ||
| 9399 | _In_z_ LPCWSTR Name); | ||
| 9400 | |||
| 9401 | DECLSPEC_XFGVIRT(ID3D12DeviceChild, GetDevice) | ||
| 9402 | HRESULT ( STDMETHODCALLTYPE *GetDevice )( | ||
| 9403 | ID3D12VideoEncoderHeap1 * This, | ||
| 9404 | REFIID riid, | ||
| 9405 | _COM_Outptr_opt_ void **ppvDevice); | ||
| 9406 | |||
| 9407 | DECLSPEC_XFGVIRT(ID3D12VideoEncoderHeap, GetNodeMask) | ||
| 9408 | UINT ( STDMETHODCALLTYPE *GetNodeMask )( | ||
| 9409 | ID3D12VideoEncoderHeap1 * This); | ||
| 9410 | |||
| 9411 | DECLSPEC_XFGVIRT(ID3D12VideoEncoderHeap, GetEncoderHeapFlags) | ||
| 9412 | D3D12_VIDEO_ENCODER_HEAP_FLAGS ( STDMETHODCALLTYPE *GetEncoderHeapFlags )( | ||
| 9413 | ID3D12VideoEncoderHeap1 * This); | ||
| 9414 | |||
| 9415 | DECLSPEC_XFGVIRT(ID3D12VideoEncoderHeap, GetCodec) | ||
| 9416 | D3D12_VIDEO_ENCODER_CODEC ( STDMETHODCALLTYPE *GetCodec )( | ||
| 9417 | ID3D12VideoEncoderHeap1 * This); | ||
| 9418 | |||
| 9419 | DECLSPEC_XFGVIRT(ID3D12VideoEncoderHeap, GetCodecProfile) | ||
| 9420 | HRESULT ( STDMETHODCALLTYPE *GetCodecProfile )( | ||
| 9421 | ID3D12VideoEncoderHeap1 * This, | ||
| 9422 | _Inout_ D3D12_VIDEO_ENCODER_PROFILE_DESC dstProfile); | ||
| 9423 | |||
| 9424 | DECLSPEC_XFGVIRT(ID3D12VideoEncoderHeap, GetCodecLevel) | ||
| 9425 | HRESULT ( STDMETHODCALLTYPE *GetCodecLevel )( | ||
| 9426 | ID3D12VideoEncoderHeap1 * This, | ||
| 9427 | _Inout_ D3D12_VIDEO_ENCODER_LEVEL_SETTING dstLevel); | ||
| 9428 | |||
| 9429 | DECLSPEC_XFGVIRT(ID3D12VideoEncoderHeap, GetResolutionListCount) | ||
| 9430 | UINT ( STDMETHODCALLTYPE *GetResolutionListCount )( | ||
| 9431 | ID3D12VideoEncoderHeap1 * This); | ||
| 9432 | |||
| 9433 | DECLSPEC_XFGVIRT(ID3D12VideoEncoderHeap, GetResolutionList) | ||
| 9434 | HRESULT ( STDMETHODCALLTYPE *GetResolutionList )( | ||
| 9435 | ID3D12VideoEncoderHeap1 * This, | ||
| 9436 | const UINT ResolutionsListCount, | ||
| 9437 | _Out_writes_(ResolutionsListCount) D3D12_VIDEO_ENCODER_PICTURE_RESOLUTION_DESC *pResolutionList); | ||
| 9438 | |||
| 9439 | DECLSPEC_XFGVIRT(ID3D12VideoEncoderHeap1, GetPow2DownscaleFactor) | ||
| 9440 | UINT ( STDMETHODCALLTYPE *GetPow2DownscaleFactor )( | ||
| 9441 | ID3D12VideoEncoderHeap1 * This); | ||
| 9442 | |||
| 9443 | END_INTERFACE | ||
| 9444 | } ID3D12VideoEncoderHeap1Vtbl; | ||
| 9445 | |||
| 9446 | interface ID3D12VideoEncoderHeap1 | ||
| 9447 | { | ||
| 9448 | CONST_VTBL struct ID3D12VideoEncoderHeap1Vtbl *lpVtbl; | ||
| 9449 | }; | ||
| 9450 | |||
| 9451 | |||
| 9452 | |||
| 9453 | #ifdef COBJMACROS | ||
| 9454 | |||
| 9455 | |||
| 9456 | #define ID3D12VideoEncoderHeap1_QueryInterface(This,riid,ppvObject) \ | ||
| 9457 | ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) | ||
| 9458 | |||
| 9459 | #define ID3D12VideoEncoderHeap1_AddRef(This) \ | ||
| 9460 | ( (This)->lpVtbl -> AddRef(This) ) | ||
| 9461 | |||
| 9462 | #define ID3D12VideoEncoderHeap1_Release(This) \ | ||
| 9463 | ( (This)->lpVtbl -> Release(This) ) | ||
| 9464 | |||
| 9465 | |||
| 9466 | #define ID3D12VideoEncoderHeap1_GetPrivateData(This,guid,pDataSize,pData) \ | ||
| 9467 | ( (This)->lpVtbl -> GetPrivateData(This,guid,pDataSize,pData) ) | ||
| 9468 | |||
| 9469 | #define ID3D12VideoEncoderHeap1_SetPrivateData(This,guid,DataSize,pData) \ | ||
| 9470 | ( (This)->lpVtbl -> SetPrivateData(This,guid,DataSize,pData) ) | ||
| 9471 | |||
| 9472 | #define ID3D12VideoEncoderHeap1_SetPrivateDataInterface(This,guid,pData) \ | ||
| 9473 | ( (This)->lpVtbl -> SetPrivateDataInterface(This,guid,pData) ) | ||
| 9474 | |||
| 9475 | #define ID3D12VideoEncoderHeap1_SetName(This,Name) \ | ||
| 9476 | ( (This)->lpVtbl -> SetName(This,Name) ) | ||
| 9477 | |||
| 9478 | |||
| 9479 | #define ID3D12VideoEncoderHeap1_GetDevice(This,riid,ppvDevice) \ | ||
| 9480 | ( (This)->lpVtbl -> GetDevice(This,riid,ppvDevice) ) | ||
| 9481 | |||
| 9482 | |||
| 9483 | |||
| 9484 | #define ID3D12VideoEncoderHeap1_GetNodeMask(This) \ | ||
| 9485 | ( (This)->lpVtbl -> GetNodeMask(This) ) | ||
| 9486 | |||
| 9487 | #define ID3D12VideoEncoderHeap1_GetEncoderHeapFlags(This) \ | ||
| 9488 | ( (This)->lpVtbl -> GetEncoderHeapFlags(This) ) | ||
| 9489 | |||
| 9490 | #define ID3D12VideoEncoderHeap1_GetCodec(This) \ | ||
| 9491 | ( (This)->lpVtbl -> GetCodec(This) ) | ||
| 9492 | |||
| 9493 | #define ID3D12VideoEncoderHeap1_GetCodecProfile(This,dstProfile) \ | ||
| 9494 | ( (This)->lpVtbl -> GetCodecProfile(This,dstProfile) ) | ||
| 9495 | |||
| 9496 | #define ID3D12VideoEncoderHeap1_GetCodecLevel(This,dstLevel) \ | ||
| 9497 | ( (This)->lpVtbl -> GetCodecLevel(This,dstLevel) ) | ||
| 9498 | |||
| 9499 | #define ID3D12VideoEncoderHeap1_GetResolutionListCount(This) \ | ||
| 9500 | ( (This)->lpVtbl -> GetResolutionListCount(This) ) | ||
| 9501 | |||
| 9502 | #define ID3D12VideoEncoderHeap1_GetResolutionList(This,ResolutionsListCount,pResolutionList) \ | ||
| 9503 | ( (This)->lpVtbl -> GetResolutionList(This,ResolutionsListCount,pResolutionList) ) | ||
| 9504 | |||
| 9505 | |||
| 9506 | #define ID3D12VideoEncoderHeap1_GetPow2DownscaleFactor(This) \ | ||
| 9507 | ( (This)->lpVtbl -> GetPow2DownscaleFactor(This) ) | ||
| 9508 | |||
| 9509 | #endif /* COBJMACROS */ | ||
| 9510 | |||
| 9511 | |||
| 9512 | #endif /* C style interface */ | ||
| 9513 | |||
| 9514 | |||
| 9515 | |||
| 9516 | |||
| 9517 | #endif /* __ID3D12VideoEncoderHeap1_INTERFACE_DEFINED__ */ | ||
| 9518 | |||
| 9519 | |||
| 9520 | #ifndef __ID3D12VideoDevice4_INTERFACE_DEFINED__ | ||
| 9521 | #define __ID3D12VideoDevice4_INTERFACE_DEFINED__ | ||
| 9522 | |||
| 9523 | /* interface ID3D12VideoDevice4 */ | ||
| 9524 | /* [unique][local][object][uuid] */ | ||
| 9525 | |||
| 9526 | |||
| 9527 | EXTERN_C const IID IID_ID3D12VideoDevice4; | ||
| 9528 | |||
| 9529 | #if defined(__cplusplus) && !defined(CINTERFACE) | ||
| 9530 | |||
| 9531 | MIDL_INTERFACE("e59ad09e-f1ae-42bb-8983-9f6e5586c4eb") | ||
| 9532 | ID3D12VideoDevice4 : public ID3D12VideoDevice3 | ||
| 9533 | { | ||
| 9534 | public: | ||
| 9535 | virtual HRESULT STDMETHODCALLTYPE CreateVideoEncoderHeap1( | ||
| 9536 | _In_ const D3D12_VIDEO_ENCODER_HEAP_DESC1 *pDesc, | ||
| 9537 | _In_ REFIID riid, | ||
| 9538 | _COM_Outptr_ void **ppVideoEncoderHeap) = 0; | ||
| 9539 | |||
| 9540 | }; | ||
| 9541 | |||
| 9542 | |||
| 9543 | #else /* C style interface */ | ||
| 9544 | |||
| 9545 | typedef struct ID3D12VideoDevice4Vtbl | ||
| 9546 | { | ||
| 9547 | BEGIN_INTERFACE | ||
| 9548 | |||
| 9549 | DECLSPEC_XFGVIRT(IUnknown, QueryInterface) | ||
| 9550 | HRESULT ( STDMETHODCALLTYPE *QueryInterface )( | ||
| 9551 | ID3D12VideoDevice4 * This, | ||
| 9552 | REFIID riid, | ||
| 9553 | _COM_Outptr_ void **ppvObject); | ||
| 9554 | |||
| 9555 | DECLSPEC_XFGVIRT(IUnknown, AddRef) | ||
| 9556 | ULONG ( STDMETHODCALLTYPE *AddRef )( | ||
| 9557 | ID3D12VideoDevice4 * This); | ||
| 9558 | |||
| 9559 | DECLSPEC_XFGVIRT(IUnknown, Release) | ||
| 9560 | ULONG ( STDMETHODCALLTYPE *Release )( | ||
| 9561 | ID3D12VideoDevice4 * This); | ||
| 9562 | |||
| 9563 | DECLSPEC_XFGVIRT(ID3D12VideoDevice, CheckFeatureSupport) | ||
| 9564 | HRESULT ( STDMETHODCALLTYPE *CheckFeatureSupport )( | ||
| 9565 | ID3D12VideoDevice4 * This, | ||
| 9566 | D3D12_FEATURE_VIDEO FeatureVideo, | ||
| 9567 | _Inout_updates_bytes_(FeatureSupportDataSize) void *pFeatureSupportData, | ||
| 9568 | UINT FeatureSupportDataSize); | ||
| 9569 | |||
| 9570 | DECLSPEC_XFGVIRT(ID3D12VideoDevice, CreateVideoDecoder) | ||
| 9571 | HRESULT ( STDMETHODCALLTYPE *CreateVideoDecoder )( | ||
| 9572 | ID3D12VideoDevice4 * This, | ||
| 9573 | _In_ const D3D12_VIDEO_DECODER_DESC *pDesc, | ||
| 9574 | _In_ REFIID riid, | ||
| 9575 | _COM_Outptr_ void **ppVideoDecoder); | ||
| 9576 | |||
| 9577 | DECLSPEC_XFGVIRT(ID3D12VideoDevice, CreateVideoDecoderHeap) | ||
| 9578 | HRESULT ( STDMETHODCALLTYPE *CreateVideoDecoderHeap )( | ||
| 9579 | ID3D12VideoDevice4 * This, | ||
| 9580 | _In_ const D3D12_VIDEO_DECODER_HEAP_DESC *pVideoDecoderHeapDesc, | ||
| 9581 | _In_ REFIID riid, | ||
| 9582 | _COM_Outptr_ void **ppVideoDecoderHeap); | ||
| 9583 | |||
| 9584 | DECLSPEC_XFGVIRT(ID3D12VideoDevice, CreateVideoProcessor) | ||
| 9585 | HRESULT ( STDMETHODCALLTYPE *CreateVideoProcessor )( | ||
| 9586 | ID3D12VideoDevice4 * This, | ||
| 9587 | UINT NodeMask, | ||
| 9588 | _In_ const D3D12_VIDEO_PROCESS_OUTPUT_STREAM_DESC *pOutputStreamDesc, | ||
| 9589 | UINT NumInputStreamDescs, | ||
| 9590 | _In_reads_(NumInputStreamDescs) const D3D12_VIDEO_PROCESS_INPUT_STREAM_DESC *pInputStreamDescs, | ||
| 9591 | _In_ REFIID riid, | ||
| 9592 | _COM_Outptr_ void **ppVideoProcessor); | ||
| 9593 | |||
| 9594 | DECLSPEC_XFGVIRT(ID3D12VideoDevice1, CreateVideoMotionEstimator) | ||
| 9595 | HRESULT ( STDMETHODCALLTYPE *CreateVideoMotionEstimator )( | ||
| 9596 | ID3D12VideoDevice4 * This, | ||
| 9597 | _In_ const D3D12_VIDEO_MOTION_ESTIMATOR_DESC *pDesc, | ||
| 9598 | _In_opt_ ID3D12ProtectedResourceSession *pProtectedResourceSession, | ||
| 9599 | _In_ REFIID riid, | ||
| 9600 | _COM_Outptr_ void **ppVideoMotionEstimator); | ||
| 9601 | |||
| 9602 | DECLSPEC_XFGVIRT(ID3D12VideoDevice1, CreateVideoMotionVectorHeap) | ||
| 9603 | HRESULT ( STDMETHODCALLTYPE *CreateVideoMotionVectorHeap )( | ||
| 9604 | ID3D12VideoDevice4 * This, | ||
| 9605 | _In_ const D3D12_VIDEO_MOTION_VECTOR_HEAP_DESC *pDesc, | ||
| 9606 | _In_opt_ ID3D12ProtectedResourceSession *pProtectedResourceSession, | ||
| 9607 | _In_ REFIID riid, | ||
| 9608 | _COM_Outptr_ void **ppVideoMotionVectorHeap); | ||
| 9609 | |||
| 9610 | DECLSPEC_XFGVIRT(ID3D12VideoDevice2, CreateVideoDecoder1) | ||
| 9611 | HRESULT ( STDMETHODCALLTYPE *CreateVideoDecoder1 )( | ||
| 9612 | ID3D12VideoDevice4 * This, | ||
| 9613 | _In_ const D3D12_VIDEO_DECODER_DESC *pDesc, | ||
| 9614 | _In_opt_ ID3D12ProtectedResourceSession *pProtectedResourceSession, | ||
| 9615 | _In_ REFIID riid, | ||
| 9616 | _COM_Outptr_ void **ppVideoDecoder); | ||
| 9617 | |||
| 9618 | DECLSPEC_XFGVIRT(ID3D12VideoDevice2, CreateVideoDecoderHeap1) | ||
| 9619 | HRESULT ( STDMETHODCALLTYPE *CreateVideoDecoderHeap1 )( | ||
| 9620 | ID3D12VideoDevice4 * This, | ||
| 9621 | _In_ const D3D12_VIDEO_DECODER_HEAP_DESC *pVideoDecoderHeapDesc, | ||
| 9622 | _In_opt_ ID3D12ProtectedResourceSession *pProtectedResourceSession, | ||
| 9623 | _In_ REFIID riid, | ||
| 9624 | _COM_Outptr_ void **ppVideoDecoderHeap); | ||
| 9625 | |||
| 9626 | DECLSPEC_XFGVIRT(ID3D12VideoDevice2, CreateVideoProcessor1) | ||
| 9627 | HRESULT ( STDMETHODCALLTYPE *CreateVideoProcessor1 )( | ||
| 9628 | ID3D12VideoDevice4 * This, | ||
| 9629 | UINT NodeMask, | ||
| 9630 | _In_ const D3D12_VIDEO_PROCESS_OUTPUT_STREAM_DESC *pOutputStreamDesc, | ||
| 9631 | UINT NumInputStreamDescs, | ||
| 9632 | _In_reads_(NumInputStreamDescs) const D3D12_VIDEO_PROCESS_INPUT_STREAM_DESC *pInputStreamDescs, | ||
| 9633 | _In_opt_ ID3D12ProtectedResourceSession *pProtectedResourceSession, | ||
| 9634 | _In_ REFIID riid, | ||
| 9635 | _COM_Outptr_ void **ppVideoProcessor); | ||
| 9636 | |||
| 9637 | DECLSPEC_XFGVIRT(ID3D12VideoDevice2, CreateVideoExtensionCommand) | ||
| 9638 | HRESULT ( STDMETHODCALLTYPE *CreateVideoExtensionCommand )( | ||
| 9639 | ID3D12VideoDevice4 * This, | ||
| 9640 | _In_ const D3D12_VIDEO_EXTENSION_COMMAND_DESC *pDesc, | ||
| 9641 | _In_reads_bytes_(CreationParametersDataSizeInBytes) const void *pCreationParameters, | ||
| 9642 | SIZE_T CreationParametersDataSizeInBytes, | ||
| 9643 | _In_opt_ ID3D12ProtectedResourceSession *pProtectedResourceSession, | ||
| 9644 | _In_ REFIID riid, | ||
| 9645 | _COM_Outptr_ void **ppVideoExtensionCommand); | ||
| 9646 | |||
| 9647 | DECLSPEC_XFGVIRT(ID3D12VideoDevice2, ExecuteExtensionCommand) | ||
| 9648 | HRESULT ( STDMETHODCALLTYPE *ExecuteExtensionCommand )( | ||
| 9649 | ID3D12VideoDevice4 * This, | ||
| 9650 | _In_ ID3D12VideoExtensionCommand *pExtensionCommand, | ||
| 9651 | _In_reads_bytes_(ExecutionParametersSizeInBytes) const void *pExecutionParameters, | ||
| 9652 | SIZE_T ExecutionParametersSizeInBytes, | ||
| 9653 | _Out_writes_bytes_(OutputDataSizeInBytes) void *pOutputData, | ||
| 9654 | SIZE_T OutputDataSizeInBytes); | ||
| 9655 | |||
| 9656 | DECLSPEC_XFGVIRT(ID3D12VideoDevice3, CreateVideoEncoder) | ||
| 9657 | HRESULT ( STDMETHODCALLTYPE *CreateVideoEncoder )( | ||
| 9658 | ID3D12VideoDevice4 * This, | ||
| 9659 | _In_ const D3D12_VIDEO_ENCODER_DESC *pDesc, | ||
| 9660 | _In_ REFIID riid, | ||
| 9661 | _COM_Outptr_ void **ppVideoEncoder); | ||
| 9662 | |||
| 9663 | DECLSPEC_XFGVIRT(ID3D12VideoDevice3, CreateVideoEncoderHeap) | ||
| 9664 | HRESULT ( STDMETHODCALLTYPE *CreateVideoEncoderHeap )( | ||
| 9665 | ID3D12VideoDevice4 * This, | ||
| 9666 | _In_ const D3D12_VIDEO_ENCODER_HEAP_DESC *pDesc, | ||
| 9667 | _In_ REFIID riid, | ||
| 9668 | _COM_Outptr_ void **ppVideoEncoderHeap); | ||
| 9669 | |||
| 9670 | DECLSPEC_XFGVIRT(ID3D12VideoDevice4, CreateVideoEncoderHeap1) | ||
| 9671 | HRESULT ( STDMETHODCALLTYPE *CreateVideoEncoderHeap1 )( | ||
| 9672 | ID3D12VideoDevice4 * This, | ||
| 9673 | _In_ const D3D12_VIDEO_ENCODER_HEAP_DESC1 *pDesc, | ||
| 9674 | _In_ REFIID riid, | ||
| 9675 | _COM_Outptr_ void **ppVideoEncoderHeap); | ||
| 9676 | |||
| 9677 | END_INTERFACE | ||
| 9678 | } ID3D12VideoDevice4Vtbl; | ||
| 9679 | |||
| 9680 | interface ID3D12VideoDevice4 | ||
| 9681 | { | ||
| 9682 | CONST_VTBL struct ID3D12VideoDevice4Vtbl *lpVtbl; | ||
| 9683 | }; | ||
| 9684 | |||
| 9685 | |||
| 9686 | |||
| 9687 | #ifdef COBJMACROS | ||
| 9688 | |||
| 9689 | |||
| 9690 | #define ID3D12VideoDevice4_QueryInterface(This,riid,ppvObject) \ | ||
| 9691 | ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) | ||
| 9692 | |||
| 9693 | #define ID3D12VideoDevice4_AddRef(This) \ | ||
| 9694 | ( (This)->lpVtbl -> AddRef(This) ) | ||
| 9695 | |||
| 9696 | #define ID3D12VideoDevice4_Release(This) \ | ||
| 9697 | ( (This)->lpVtbl -> Release(This) ) | ||
| 9698 | |||
| 9699 | |||
| 9700 | #define ID3D12VideoDevice4_CheckFeatureSupport(This,FeatureVideo,pFeatureSupportData,FeatureSupportDataSize) \ | ||
| 9701 | ( (This)->lpVtbl -> CheckFeatureSupport(This,FeatureVideo,pFeatureSupportData,FeatureSupportDataSize) ) | ||
| 9702 | |||
| 9703 | #define ID3D12VideoDevice4_CreateVideoDecoder(This,pDesc,riid,ppVideoDecoder) \ | ||
| 9704 | ( (This)->lpVtbl -> CreateVideoDecoder(This,pDesc,riid,ppVideoDecoder) ) | ||
| 9705 | |||
| 9706 | #define ID3D12VideoDevice4_CreateVideoDecoderHeap(This,pVideoDecoderHeapDesc,riid,ppVideoDecoderHeap) \ | ||
| 9707 | ( (This)->lpVtbl -> CreateVideoDecoderHeap(This,pVideoDecoderHeapDesc,riid,ppVideoDecoderHeap) ) | ||
| 9708 | |||
| 9709 | #define ID3D12VideoDevice4_CreateVideoProcessor(This,NodeMask,pOutputStreamDesc,NumInputStreamDescs,pInputStreamDescs,riid,ppVideoProcessor) \ | ||
| 9710 | ( (This)->lpVtbl -> CreateVideoProcessor(This,NodeMask,pOutputStreamDesc,NumInputStreamDescs,pInputStreamDescs,riid,ppVideoProcessor) ) | ||
| 9711 | |||
| 9712 | |||
| 9713 | #define ID3D12VideoDevice4_CreateVideoMotionEstimator(This,pDesc,pProtectedResourceSession,riid,ppVideoMotionEstimator) \ | ||
| 9714 | ( (This)->lpVtbl -> CreateVideoMotionEstimator(This,pDesc,pProtectedResourceSession,riid,ppVideoMotionEstimator) ) | ||
| 9715 | |||
| 9716 | #define ID3D12VideoDevice4_CreateVideoMotionVectorHeap(This,pDesc,pProtectedResourceSession,riid,ppVideoMotionVectorHeap) \ | ||
| 9717 | ( (This)->lpVtbl -> CreateVideoMotionVectorHeap(This,pDesc,pProtectedResourceSession,riid,ppVideoMotionVectorHeap) ) | ||
| 9718 | |||
| 9719 | |||
| 9720 | #define ID3D12VideoDevice4_CreateVideoDecoder1(This,pDesc,pProtectedResourceSession,riid,ppVideoDecoder) \ | ||
| 9721 | ( (This)->lpVtbl -> CreateVideoDecoder1(This,pDesc,pProtectedResourceSession,riid,ppVideoDecoder) ) | ||
| 9722 | |||
| 9723 | #define ID3D12VideoDevice4_CreateVideoDecoderHeap1(This,pVideoDecoderHeapDesc,pProtectedResourceSession,riid,ppVideoDecoderHeap) \ | ||
| 9724 | ( (This)->lpVtbl -> CreateVideoDecoderHeap1(This,pVideoDecoderHeapDesc,pProtectedResourceSession,riid,ppVideoDecoderHeap) ) | ||
| 9725 | |||
| 9726 | #define ID3D12VideoDevice4_CreateVideoProcessor1(This,NodeMask,pOutputStreamDesc,NumInputStreamDescs,pInputStreamDescs,pProtectedResourceSession,riid,ppVideoProcessor) \ | ||
| 9727 | ( (This)->lpVtbl -> CreateVideoProcessor1(This,NodeMask,pOutputStreamDesc,NumInputStreamDescs,pInputStreamDescs,pProtectedResourceSession,riid,ppVideoProcessor) ) | ||
| 9728 | |||
| 9729 | #define ID3D12VideoDevice4_CreateVideoExtensionCommand(This,pDesc,pCreationParameters,CreationParametersDataSizeInBytes,pProtectedResourceSession,riid,ppVideoExtensionCommand) \ | ||
| 9730 | ( (This)->lpVtbl -> CreateVideoExtensionCommand(This,pDesc,pCreationParameters,CreationParametersDataSizeInBytes,pProtectedResourceSession,riid,ppVideoExtensionCommand) ) | ||
| 9731 | |||
| 9732 | #define ID3D12VideoDevice4_ExecuteExtensionCommand(This,pExtensionCommand,pExecutionParameters,ExecutionParametersSizeInBytes,pOutputData,OutputDataSizeInBytes) \ | ||
| 9733 | ( (This)->lpVtbl -> ExecuteExtensionCommand(This,pExtensionCommand,pExecutionParameters,ExecutionParametersSizeInBytes,pOutputData,OutputDataSizeInBytes) ) | ||
| 9734 | |||
| 9735 | |||
| 9736 | #define ID3D12VideoDevice4_CreateVideoEncoder(This,pDesc,riid,ppVideoEncoder) \ | ||
| 9737 | ( (This)->lpVtbl -> CreateVideoEncoder(This,pDesc,riid,ppVideoEncoder) ) | ||
| 9738 | |||
| 9739 | #define ID3D12VideoDevice4_CreateVideoEncoderHeap(This,pDesc,riid,ppVideoEncoderHeap) \ | ||
| 9740 | ( (This)->lpVtbl -> CreateVideoEncoderHeap(This,pDesc,riid,ppVideoEncoderHeap) ) | ||
| 9741 | |||
| 9742 | |||
| 9743 | #define ID3D12VideoDevice4_CreateVideoEncoderHeap1(This,pDesc,riid,ppVideoEncoderHeap) \ | ||
| 9744 | ( (This)->lpVtbl -> CreateVideoEncoderHeap1(This,pDesc,riid,ppVideoEncoderHeap) ) | ||
| 9745 | |||
| 9746 | #endif /* COBJMACROS */ | ||
| 9747 | |||
| 9748 | |||
| 9749 | #endif /* C style interface */ | ||
| 9750 | |||
| 9751 | |||
| 9752 | |||
| 9753 | |||
| 9754 | #endif /* __ID3D12VideoDevice4_INTERFACE_DEFINED__ */ | ||
| 9755 | |||
| 9756 | |||
| 9757 | /* interface __MIDL_itf_d3d12video_0000_0029 */ | ||
| 9758 | /* [local] */ | ||
| 9759 | |||
| 9760 | typedef struct D3D12_FEATURE_DATA_VIDEO_ENCODER_HEAP_SIZE1 | ||
| 9761 | { | ||
| 9762 | D3D12_VIDEO_ENCODER_HEAP_DESC1 HeapDesc; | ||
| 9763 | BOOL IsSupported; | ||
| 9764 | UINT64 MemoryPoolL0Size; | ||
| 9765 | UINT64 MemoryPoolL1Size; | ||
| 9766 | } D3D12_FEATURE_DATA_VIDEO_ENCODER_HEAP_SIZE1; | ||
| 9767 | |||
| 9768 | typedef | ||
| 9769 | enum D3D12_VIDEO_ENCODER_OPTIONAL_METADATA_ENABLE_FLAGS | ||
| 9770 | { | ||
| 9771 | D3D12_VIDEO_ENCODER_OPTIONAL_METADATA_ENABLE_FLAG_NONE = 0, | ||
| 9772 | D3D12_VIDEO_ENCODER_OPTIONAL_METADATA_ENABLE_FLAG_QP_MAP = 0x1, | ||
| 9773 | D3D12_VIDEO_ENCODER_OPTIONAL_METADATA_ENABLE_FLAG_SATD_MAP = 0x2, | ||
| 9774 | D3D12_VIDEO_ENCODER_OPTIONAL_METADATA_ENABLE_FLAG_RC_BIT_ALLOCATION_MAP = 0x4, | ||
| 9775 | D3D12_VIDEO_ENCODER_OPTIONAL_METADATA_ENABLE_FLAG_FRAME_PSNR = 0x8, | ||
| 9776 | D3D12_VIDEO_ENCODER_OPTIONAL_METADATA_ENABLE_FLAG_SUBREGIONS_PSNR = 0x10 | ||
| 9777 | } D3D12_VIDEO_ENCODER_OPTIONAL_METADATA_ENABLE_FLAGS; | ||
| 9778 | |||
| 9779 | DEFINE_ENUM_FLAG_OPERATORS(D3D12_VIDEO_ENCODER_OPTIONAL_METADATA_ENABLE_FLAGS ) | ||
| 9780 | typedef struct D3D12_FEATURE_DATA_VIDEO_ENCODER_RESOURCE_REQUIREMENTS1 | ||
| 9781 | { | ||
| 9782 | UINT NodeIndex; | ||
| 9783 | D3D12_VIDEO_ENCODER_CODEC Codec; | ||
| 9784 | D3D12_VIDEO_ENCODER_PROFILE_DESC Profile; | ||
| 9785 | DXGI_FORMAT InputFormat; | ||
| 9786 | D3D12_VIDEO_ENCODER_PICTURE_RESOLUTION_DESC PictureTargetResolution; | ||
| 9787 | BOOL IsSupported; | ||
| 9788 | UINT CompressedBitstreamBufferAccessAlignment; | ||
| 9789 | UINT EncoderMetadataBufferAccessAlignment; | ||
| 9790 | UINT MaxEncoderOutputMetadataBufferSize; | ||
| 9791 | D3D12_VIDEO_ENCODER_OPTIONAL_METADATA_ENABLE_FLAGS OptionalMetadata; | ||
| 9792 | D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION CodecConfiguration; | ||
| 9793 | D3D12_VIDEO_ENCODER_PICTURE_RESOLUTION_DESC EncoderOutputMetadataQPMapTextureDimensions; | ||
| 9794 | D3D12_VIDEO_ENCODER_PICTURE_RESOLUTION_DESC EncoderOutputMetadataSATDMapTextureDimensions; | ||
| 9795 | D3D12_VIDEO_ENCODER_PICTURE_RESOLUTION_DESC EncoderOutputMetadataBitAllocationMapTextureDimensions; | ||
| 9796 | UINT EncoderOutputMetadataFramePSNRComponentsNumber; | ||
| 9797 | UINT EncoderOutputMetadataSubregionsPSNRComponentsNumber; | ||
| 9798 | UINT EncoderOutputMetadataSubregionsPSNRResolvedMetadataBufferSize; | ||
| 9799 | } D3D12_FEATURE_DATA_VIDEO_ENCODER_RESOURCE_REQUIREMENTS1; | ||
| 9800 | |||
| 9801 | typedef struct D3D12_VIDEO_ENCODER_RESOLVE_METADATA_OUTPUT_PSNR_RESOLVED_LAYOUT | ||
| 9802 | { | ||
| 9803 | float PSNRY; | ||
| 9804 | float PSNRU; | ||
| 9805 | float PSNRV; | ||
| 9806 | } D3D12_VIDEO_ENCODER_RESOLVE_METADATA_OUTPUT_PSNR_RESOLVED_LAYOUT; | ||
| 9807 | |||
| 9808 | typedef | ||
| 9809 | enum D3D12_VIDEO_ENCODER_INPUT_MAP_SOURCE | ||
| 9810 | { | ||
| 9811 | D3D12_VIDEO_ENCODER_INPUT_MAP_SOURCE_CPU_BUFFER = 0, | ||
| 9812 | D3D12_VIDEO_ENCODER_INPUT_MAP_SOURCE_GPU_TEXTURE = 1 | ||
| 9813 | } D3D12_VIDEO_ENCODER_INPUT_MAP_SOURCE; | ||
| 9814 | |||
| 9815 | typedef | ||
| 9816 | enum D3D12_VIDEO_ENCODER_DIRTY_REGIONS_MAP_VALUES_MODE | ||
| 9817 | { | ||
| 9818 | D3D12_VIDEO_ENCODER_DIRTY_REGIONS_MAP_VALUES_MODE_DIRTY = 0, | ||
| 9819 | D3D12_VIDEO_ENCODER_DIRTY_REGIONS_MAP_VALUES_MODE_SKIP = 1 | ||
| 9820 | } D3D12_VIDEO_ENCODER_DIRTY_REGIONS_MAP_VALUES_MODE; | ||
| 9821 | |||
| 9822 | typedef struct D3D12_VIDEO_ENCODER_INPUT_MAP_SESSION_INFO | ||
| 9823 | { | ||
| 9824 | D3D12_VIDEO_ENCODER_CODEC Codec; | ||
| 9825 | D3D12_VIDEO_ENCODER_PROFILE_DESC Profile; | ||
| 9826 | D3D12_VIDEO_ENCODER_LEVEL_SETTING Level; | ||
| 9827 | DXGI_FORMAT InputFormat; | ||
| 9828 | D3D12_VIDEO_ENCODER_PICTURE_RESOLUTION_DESC InputResolution; | ||
| 9829 | D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION CodecConfiguration; | ||
| 9830 | D3D12_VIDEO_ENCODER_FRAME_SUBREGION_LAYOUT_MODE SubregionFrameEncoding; | ||
| 9831 | D3D12_VIDEO_ENCODER_PICTURE_CONTROL_SUBREGIONS_LAYOUT_DATA SubregionFrameEncodingData; | ||
| 9832 | } D3D12_VIDEO_ENCODER_INPUT_MAP_SESSION_INFO; | ||
| 9833 | |||
| 9834 | typedef | ||
| 9835 | enum D3D12_VIDEO_ENCODER_INPUT_MAP_TYPE | ||
| 9836 | { | ||
| 9837 | D3D12_VIDEO_ENCODER_INPUT_MAP_TYPE_QUANTIZATION_MATRIX = 0, | ||
| 9838 | D3D12_VIDEO_ENCODER_INPUT_MAP_TYPE_DIRTY_REGIONS = 1, | ||
| 9839 | D3D12_VIDEO_ENCODER_INPUT_MAP_TYPE_MOTION_VECTORS = 2 | ||
| 9840 | } D3D12_VIDEO_ENCODER_INPUT_MAP_TYPE; | ||
| 9841 | |||
| 9842 | typedef | ||
| 9843 | enum D3D12_VIDEO_ENCODER_FRAME_MOTION_SEARCH_MODE | ||
| 9844 | { | ||
| 9845 | D3D12_VIDEO_ENCODER_FRAME_MOTION_SEARCH_MODE_FULL_SEARCH = 0, | ||
| 9846 | D3D12_VIDEO_ENCODER_FRAME_MOTION_SEARCH_MODE_START_HINT = 1, | ||
| 9847 | D3D12_VIDEO_ENCODER_FRAME_MOTION_SEARCH_MODE_START_HINT_LIMITED_DISTANCE = 2 | ||
| 9848 | } D3D12_VIDEO_ENCODER_FRAME_MOTION_SEARCH_MODE; | ||
| 9849 | |||
| 9850 | typedef struct D3D12_FEATURE_DATA_VIDEO_ENCODER_QPMAP_INPUT | ||
| 9851 | { | ||
| 9852 | UINT NodeIndex; | ||
| 9853 | D3D12_VIDEO_ENCODER_INPUT_MAP_SESSION_INFO SessionInfo; | ||
| 9854 | D3D12_VIDEO_ENCODER_INPUT_MAP_SOURCE MapSource; | ||
| 9855 | BOOL IsSupported; | ||
| 9856 | UINT MapSourcePreferenceRanking; | ||
| 9857 | UINT BlockSize; | ||
| 9858 | } D3D12_FEATURE_DATA_VIDEO_ENCODER_QPMAP_INPUT; | ||
| 9859 | |||
| 9860 | typedef | ||
| 9861 | enum D3D12_VIDEO_ENCODER_DIRTY_REGIONS_SUPPORT_FLAGS | ||
| 9862 | { | ||
| 9863 | D3D12_VIDEO_ENCODER_DIRTY_REGIONS_SUPPORT_FLAG_NONE = 0, | ||
| 9864 | D3D12_VIDEO_ENCODER_DIRTY_REGIONS_SUPPORT_FLAG_REPEAT_FRAME = 0x1, | ||
| 9865 | D3D12_VIDEO_ENCODER_DIRTY_REGIONS_SUPPORT_FLAG_DIRTY_REGIONS = 0x2, | ||
| 9866 | D3D12_VIDEO_ENCODER_DIRTY_REGIONS_SUPPORT_FLAG_DIRTY_REGIONS_REQUIRE_FULL_ROW = 0x4 | ||
| 9867 | } D3D12_VIDEO_ENCODER_DIRTY_REGIONS_SUPPORT_FLAGS; | ||
| 9868 | |||
| 9869 | DEFINE_ENUM_FLAG_OPERATORS( D3D12_VIDEO_ENCODER_DIRTY_REGIONS_SUPPORT_FLAGS ) | ||
| 9870 | typedef struct D3D12_FEATURE_DATA_VIDEO_ENCODER_DIRTY_REGIONS | ||
| 9871 | { | ||
| 9872 | UINT NodeIndex; | ||
| 9873 | D3D12_VIDEO_ENCODER_INPUT_MAP_SESSION_INFO SessionInfo; | ||
| 9874 | D3D12_VIDEO_ENCODER_INPUT_MAP_SOURCE MapSource; | ||
| 9875 | D3D12_VIDEO_ENCODER_DIRTY_REGIONS_MAP_VALUES_MODE MapValuesType; | ||
| 9876 | D3D12_VIDEO_ENCODER_DIRTY_REGIONS_SUPPORT_FLAGS SupportFlags; | ||
| 9877 | UINT MapSourcePreferenceRanking; | ||
| 9878 | } D3D12_FEATURE_DATA_VIDEO_ENCODER_DIRTY_REGIONS; | ||
| 9879 | |||
| 9880 | typedef | ||
| 9881 | enum D3D12_VIDEO_ENCODER_FRAME_INPUT_MOTION_UNIT_PRECISION | ||
| 9882 | { | ||
| 9883 | D3D12_VIDEO_ENCODER_FRAME_INPUT_MOTION_UNIT_PRECISION_FULL_PIXEL = 0, | ||
| 9884 | D3D12_VIDEO_ENCODER_FRAME_INPUT_MOTION_UNIT_PRECISION_HALF_PIXEL = 1, | ||
| 9885 | D3D12_VIDEO_ENCODER_FRAME_INPUT_MOTION_UNIT_PRECISION_QUARTER_PIXEL = 2 | ||
| 9886 | } D3D12_VIDEO_ENCODER_FRAME_INPUT_MOTION_UNIT_PRECISION; | ||
| 9887 | |||
| 9888 | typedef | ||
| 9889 | enum D3D12_VIDEO_ENCODER_FRAME_INPUT_MOTION_UNIT_PRECISION_SUPPORT_FLAGS | ||
| 9890 | { | ||
| 9891 | D3D12_VIDEO_ENCODER_FRAME_INPUT_MOTION_UNIT_PRECISION_SUPPORT_FLAG_NONE = 0, | ||
| 9892 | D3D12_VIDEO_ENCODER_FRAME_INPUT_MOTION_UNIT_PRECISION_SUPPORT_FLAG_FULL_PIXEL = ( 1 << D3D12_VIDEO_ENCODER_FRAME_INPUT_MOTION_UNIT_PRECISION_FULL_PIXEL ) , | ||
| 9893 | D3D12_VIDEO_ENCODER_FRAME_INPUT_MOTION_UNIT_PRECISION_SUPPORT_FLAG_HALF_PIXEL = ( 1 << D3D12_VIDEO_ENCODER_FRAME_INPUT_MOTION_UNIT_PRECISION_HALF_PIXEL ) , | ||
| 9894 | D3D12_VIDEO_ENCODER_FRAME_INPUT_MOTION_UNIT_PRECISION_SUPPORT_FLAG_QUARTER_PIXEL = ( 1 << D3D12_VIDEO_ENCODER_FRAME_INPUT_MOTION_UNIT_PRECISION_QUARTER_PIXEL ) | ||
| 9895 | } D3D12_VIDEO_ENCODER_FRAME_INPUT_MOTION_UNIT_PRECISION_SUPPORT_FLAGS; | ||
| 9896 | |||
| 9897 | DEFINE_ENUM_FLAG_OPERATORS( D3D12_VIDEO_ENCODER_FRAME_INPUT_MOTION_UNIT_PRECISION_SUPPORT_FLAGS ) | ||
| 9898 | typedef | ||
| 9899 | enum D3D12_VIDEO_ENCODER_MOTION_SEARCH_SUPPORT_FLAGS | ||
| 9900 | { | ||
| 9901 | D3D12_VIDEO_ENCODER_MOTION_SEARCH_SUPPORT_FLAG_NONE = 0, | ||
| 9902 | D3D12_VIDEO_ENCODER_MOTION_SEARCH_SUPPORT_FLAG_SUPPORTED = 0x1, | ||
| 9903 | D3D12_VIDEO_ENCODER_MOTION_SEARCH_SUPPORT_FLAG_MULTIPLE_HINTS = 0x2, | ||
| 9904 | D3D12_VIDEO_ENCODER_MOTION_SEARCH_SUPPORT_FLAG_GPU_TEXTURE_MULTIPLE_REFERENCES = 0x4 | ||
| 9905 | } D3D12_VIDEO_ENCODER_MOTION_SEARCH_SUPPORT_FLAGS; | ||
| 9906 | |||
| 9907 | DEFINE_ENUM_FLAG_OPERATORS( D3D12_VIDEO_ENCODER_MOTION_SEARCH_SUPPORT_FLAGS ) | ||
| 9908 | typedef struct D3D12_FEATURE_DATA_VIDEO_ENCODER_MOTION_SEARCH | ||
| 9909 | { | ||
| 9910 | UINT NodeIndex; | ||
| 9911 | D3D12_VIDEO_ENCODER_INPUT_MAP_SESSION_INFO SessionInfo; | ||
| 9912 | D3D12_VIDEO_ENCODER_FRAME_MOTION_SEARCH_MODE MotionSearchMode; | ||
| 9913 | D3D12_VIDEO_ENCODER_INPUT_MAP_SOURCE MapSource; | ||
| 9914 | BOOL BidirectionalRefFrameEnabled; | ||
| 9915 | D3D12_VIDEO_ENCODER_MOTION_SEARCH_SUPPORT_FLAGS SupportFlags; | ||
| 9916 | UINT MaxMotionHints; | ||
| 9917 | UINT MinDeviation; | ||
| 9918 | UINT MaxDeviation; | ||
| 9919 | UINT MapSourcePreferenceRanking; | ||
| 9920 | D3D12_VIDEO_ENCODER_FRAME_INPUT_MOTION_UNIT_PRECISION_SUPPORT_FLAGS MotionUnitPrecisionSupport; | ||
| 9921 | } D3D12_FEATURE_DATA_VIDEO_ENCODER_MOTION_SEARCH; | ||
| 9922 | |||
| 9923 | typedef struct D3D12_FEATURE_DATA_VIDEO_ENCODER_RESOLVE_INPUT_PARAM_LAYOUT | ||
| 9924 | { | ||
| 9925 | UINT NodeIndex; | ||
| 9926 | D3D12_VIDEO_ENCODER_INPUT_MAP_SESSION_INFO SessionInfo; | ||
| 9927 | D3D12_VIDEO_ENCODER_INPUT_MAP_TYPE MapType; | ||
| 9928 | BOOL IsSupported; | ||
| 9929 | UINT64 MaxResolvedBufferAllocationSize; | ||
| 9930 | } D3D12_FEATURE_DATA_VIDEO_ENCODER_RESOLVE_INPUT_PARAM_LAYOUT; | ||
| 9931 | |||
| 9932 | typedef struct D3D12_VIDEO_ENCODER_QPMAP_CONFIGURATION | ||
| 9933 | { | ||
| 9934 | BOOL Enabled; | ||
| 9935 | D3D12_VIDEO_ENCODER_INPUT_MAP_SOURCE MapSource; | ||
| 9936 | } D3D12_VIDEO_ENCODER_QPMAP_CONFIGURATION; | ||
| 9937 | |||
| 9938 | typedef struct D3D12_FEATURE_DATA_VIDEO_ENCODER_RESOLUTION_SUPPORT_QPMAP | ||
| 9939 | { | ||
| 9940 | UINT MapSourcePreferenceRanking; | ||
| 9941 | } D3D12_FEATURE_DATA_VIDEO_ENCODER_RESOLUTION_SUPPORT_QPMAP; | ||
| 9942 | |||
| 9943 | typedef struct D3D12_VIDEO_ENCODER_DIRTY_REGIONS_CONFIGURATION | ||
| 9944 | { | ||
| 9945 | BOOL Enabled; | ||
| 9946 | D3D12_VIDEO_ENCODER_INPUT_MAP_SOURCE MapSource; | ||
| 9947 | D3D12_VIDEO_ENCODER_DIRTY_REGIONS_MAP_VALUES_MODE MapValuesType; | ||
| 9948 | } D3D12_VIDEO_ENCODER_DIRTY_REGIONS_CONFIGURATION; | ||
| 9949 | |||
| 9950 | typedef struct D3D12_FEATURE_DATA_VIDEO_ENCODER_RESOLUTION_SUPPORT_DIRTY_REGIONS | ||
| 9951 | { | ||
| 9952 | D3D12_VIDEO_ENCODER_DIRTY_REGIONS_SUPPORT_FLAGS DirtyRegionsSupportFlags; | ||
| 9953 | UINT MapSourcePreferenceRanking; | ||
| 9954 | } D3D12_FEATURE_DATA_VIDEO_ENCODER_RESOLUTION_SUPPORT_DIRTY_REGIONS; | ||
| 9955 | |||
| 9956 | typedef struct D3D12_VIDEO_ENCODER_MOTION_SEARCH_CONFIGURATION | ||
| 9957 | { | ||
| 9958 | BOOL Enabled; | ||
| 9959 | D3D12_VIDEO_ENCODER_INPUT_MAP_SOURCE MapSource; | ||
| 9960 | D3D12_VIDEO_ENCODER_FRAME_MOTION_SEARCH_MODE MotionSearchMode; | ||
| 9961 | BOOL BidirectionalRefFrameEnabled; | ||
| 9962 | } D3D12_VIDEO_ENCODER_MOTION_SEARCH_CONFIGURATION; | ||
| 9963 | |||
| 9964 | typedef struct D3D12_FEATURE_DATA_VIDEO_ENCODER_RESOLUTION_SUPPORT_MOTION_SEARCH | ||
| 9965 | { | ||
| 9966 | UINT MaxMotionHints; | ||
| 9967 | UINT MinDeviation; | ||
| 9968 | UINT MaxDeviation; | ||
| 9969 | UINT MapSourcePreferenceRanking; | ||
| 9970 | D3D12_VIDEO_ENCODER_FRAME_INPUT_MOTION_UNIT_PRECISION_SUPPORT_FLAGS MotionUnitPrecisionSupportFlags; | ||
| 9971 | D3D12_VIDEO_ENCODER_MOTION_SEARCH_SUPPORT_FLAGS SupportFlags; | ||
| 9972 | } D3D12_FEATURE_DATA_VIDEO_ENCODER_RESOLUTION_SUPPORT_MOTION_SEARCH; | ||
| 9973 | |||
| 9974 | typedef | ||
| 9975 | enum D3D12_VIDEO_ENCODER_RATE_CONTROL_FRAME_ANALYSIS_SUPPORT_FLAGS | ||
| 9976 | { | ||
| 9977 | D3D12_VIDEO_ENCODER_RATE_CONTROL_FRAME_ANALYSIS_SUPPORT_FLAG_NONE = 0, | ||
| 9978 | D3D12_VIDEO_ENCODER_RATE_CONTROL_FRAME_ANALYSIS_SUPPORT_FLAG_INTRACODED_FRAME_SUPPORTED = 0x1, | ||
| 9979 | D3D12_VIDEO_ENCODER_RATE_CONTROL_FRAME_ANALYSIS_SUPPORT_FLAG_UNIDIR_INTER_FRAME_SUPPORTED = 0x2, | ||
| 9980 | D3D12_VIDEO_ENCODER_RATE_CONTROL_FRAME_ANALYSIS_SUPPORT_FLAG_BIDIR_INTER_FRAME_SUPPORTED = 0x4, | ||
| 9981 | D3D12_VIDEO_ENCODER_RATE_CONTROL_FRAME_ANALYSIS_SUPPORT_FLAG_EXTERNAL_DPB_DOWNSCALING = 0x8, | ||
| 9982 | D3D12_VIDEO_ENCODER_RATE_CONTROL_FRAME_ANALYSIS_SUPPORT_FLAG_DYNAMIC_1ST_PASS_SKIP = 0x10, | ||
| 9983 | D3D12_VIDEO_ENCODER_RATE_CONTROL_FRAME_ANALYSIS_SUPPORT_FLAG_DYNAMIC_DOWNSCALE_FACTOR_CHANGE_KEY_FRAME = 0x20, | ||
| 9984 | D3D12_VIDEO_ENCODER_RATE_CONTROL_FRAME_ANALYSIS_SUPPORT_FLAG_SUPPORTED = ( ( D3D12_VIDEO_ENCODER_RATE_CONTROL_FRAME_ANALYSIS_SUPPORT_FLAG_INTRACODED_FRAME_SUPPORTED | D3D12_VIDEO_ENCODER_RATE_CONTROL_FRAME_ANALYSIS_SUPPORT_FLAG_UNIDIR_INTER_FRAME_SUPPORTED ) | D3D12_VIDEO_ENCODER_RATE_CONTROL_FRAME_ANALYSIS_SUPPORT_FLAG_BIDIR_INTER_FRAME_SUPPORTED ) | ||
| 9985 | } D3D12_VIDEO_ENCODER_RATE_CONTROL_FRAME_ANALYSIS_SUPPORT_FLAGS; | ||
| 9986 | |||
| 9987 | DEFINE_ENUM_FLAG_OPERATORS( D3D12_VIDEO_ENCODER_RATE_CONTROL_FRAME_ANALYSIS_SUPPORT_FLAGS ) | ||
| 9988 | typedef struct D3D12_FEATURE_DATA_VIDEO_ENCODER_RATE_CONTROL_FRAME_ANALYSIS | ||
| 9989 | { | ||
| 9990 | UINT NodeIndex; | ||
| 9991 | D3D12_VIDEO_ENCODER_CODEC Codec; | ||
| 9992 | D3D12_VIDEO_ENCODER_PROFILE_DESC Profile; | ||
| 9993 | D3D12_VIDEO_ENCODER_LEVEL_SETTING Level; | ||
| 9994 | DXGI_FORMAT InputFormat; | ||
| 9995 | D3D12_VIDEO_ENCODER_PICTURE_RESOLUTION_DESC InputResolution; | ||
| 9996 | D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION CodecConfiguration; | ||
| 9997 | D3D12_VIDEO_ENCODER_FRAME_SUBREGION_LAYOUT_MODE SubregionFrameEncoding; | ||
| 9998 | D3D12_VIDEO_ENCODER_PICTURE_CONTROL_SUBREGIONS_LAYOUT_DATA SubregionFrameEncodingData; | ||
| 9999 | D3D12_VIDEO_ENCODER_QPMAP_CONFIGURATION QPMap; | ||
| 10000 | D3D12_VIDEO_ENCODER_DIRTY_REGIONS_CONFIGURATION DirtyRegions; | ||
| 10001 | D3D12_VIDEO_ENCODER_MOTION_SEARCH_CONFIGURATION MotionSearch; | ||
| 10002 | UINT Pow2DownscaleFactor; | ||
| 10003 | D3D12_VIDEO_ENCODER_RATE_CONTROL_FRAME_ANALYSIS_SUPPORT_FLAGS SupportFlags; | ||
| 10004 | } D3D12_FEATURE_DATA_VIDEO_ENCODER_RATE_CONTROL_FRAME_ANALYSIS; | ||
| 10005 | |||
| 10006 | typedef struct D3D12_FEATURE_DATA_VIDEO_ENCODER_RESOLUTION_SUPPORT_FRAME_ANALYSIS | ||
| 10007 | { | ||
| 10008 | D3D12_VIDEO_ENCODER_RATE_CONTROL_FRAME_ANALYSIS_SUPPORT_FLAGS SupportFlags; | ||
| 10009 | } D3D12_FEATURE_DATA_VIDEO_ENCODER_RESOLUTION_SUPPORT_FRAME_ANALYSIS; | ||
| 10010 | |||
| 10011 | typedef struct D3D12_FEATURE_DATA_VIDEO_ENCODER_RESOLUTION_SUPPORT_LIMITS1 | ||
| 10012 | { | ||
| 10013 | UINT MaxSubregionsNumber; | ||
| 10014 | UINT MaxIntraRefreshFrameDuration; | ||
| 10015 | UINT SubregionBlockPixelsSize; | ||
| 10016 | UINT QPMapRegionPixelsSize; | ||
| 10017 | D3D12_FEATURE_DATA_VIDEO_ENCODER_RESOLUTION_SUPPORT_QPMAP QPMap; | ||
| 10018 | D3D12_FEATURE_DATA_VIDEO_ENCODER_RESOLUTION_SUPPORT_DIRTY_REGIONS DirtyRegions; | ||
| 10019 | D3D12_FEATURE_DATA_VIDEO_ENCODER_RESOLUTION_SUPPORT_MOTION_SEARCH MotionSearch; | ||
| 10020 | D3D12_FEATURE_DATA_VIDEO_ENCODER_RESOLUTION_SUPPORT_FRAME_ANALYSIS FrameAnalysis; | ||
| 10021 | } D3D12_FEATURE_DATA_VIDEO_ENCODER_RESOLUTION_SUPPORT_LIMITS1; | ||
| 10022 | |||
| 10023 | typedef struct D3D12_VIDEO_ENCODER_FRAME_ANALYSIS_CONFIGURATION | ||
| 10024 | { | ||
| 10025 | BOOL Enabled; | ||
| 10026 | UINT Pow2DownscaleFactor; | ||
| 10027 | } D3D12_VIDEO_ENCODER_FRAME_ANALYSIS_CONFIGURATION; | ||
| 10028 | |||
| 10029 | typedef struct D3D12_FEATURE_DATA_VIDEO_ENCODER_SUPPORT2 | ||
| 10030 | { | ||
| 10031 | UINT NodeIndex; | ||
| 10032 | D3D12_VIDEO_ENCODER_CODEC Codec; | ||
| 10033 | DXGI_FORMAT InputFormat; | ||
| 10034 | D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION CodecConfiguration; | ||
| 10035 | D3D12_VIDEO_ENCODER_SEQUENCE_GOP_STRUCTURE CodecGopSequence; | ||
| 10036 | D3D12_VIDEO_ENCODER_RATE_CONTROL RateControl; | ||
| 10037 | D3D12_VIDEO_ENCODER_INTRA_REFRESH_MODE IntraRefresh; | ||
| 10038 | D3D12_VIDEO_ENCODER_FRAME_SUBREGION_LAYOUT_MODE SubregionFrameEncoding; | ||
| 10039 | UINT ResolutionsListCount; | ||
| 10040 | const D3D12_VIDEO_ENCODER_PICTURE_RESOLUTION_DESC *pResolutionList; | ||
| 10041 | UINT MaxReferenceFramesInDPB; | ||
| 10042 | D3D12_VIDEO_ENCODER_VALIDATION_FLAGS ValidationFlags; | ||
| 10043 | D3D12_VIDEO_ENCODER_SUPPORT_FLAGS SupportFlags; | ||
| 10044 | D3D12_VIDEO_ENCODER_PROFILE_DESC SuggestedProfile; | ||
| 10045 | D3D12_VIDEO_ENCODER_LEVEL_SETTING SuggestedLevel; | ||
| 10046 | _Field_size_full_(ResolutionsListCount) D3D12_FEATURE_DATA_VIDEO_ENCODER_RESOLUTION_SUPPORT_LIMITS1 *pResolutionDependentSupport; | ||
| 10047 | D3D12_VIDEO_ENCODER_PICTURE_CONTROL_SUBREGIONS_LAYOUT_DATA SubregionFrameEncodingData; | ||
| 10048 | UINT MaxQualityVsSpeed; | ||
| 10049 | D3D12_VIDEO_ENCODER_QPMAP_CONFIGURATION QPMap; | ||
| 10050 | D3D12_VIDEO_ENCODER_DIRTY_REGIONS_CONFIGURATION DirtyRegions; | ||
| 10051 | D3D12_VIDEO_ENCODER_MOTION_SEARCH_CONFIGURATION MotionSearch; | ||
| 10052 | D3D12_VIDEO_ENCODER_FRAME_ANALYSIS_CONFIGURATION FrameAnalysis; | ||
| 10053 | } D3D12_FEATURE_DATA_VIDEO_ENCODER_SUPPORT2; | ||
| 10054 | |||
| 10055 | typedef struct D3D12_VIDEO_ENCODER_DIRTY_RECT_INFO | ||
| 10056 | { | ||
| 10057 | BOOL FullFrameIdentical; | ||
| 10058 | D3D12_VIDEO_ENCODER_DIRTY_REGIONS_MAP_VALUES_MODE MapValuesType; | ||
| 10059 | UINT NumDirtyRects; | ||
| 10060 | _Field_size_full_(NumDirtyRects) RECT *pDirtyRects; | ||
| 10061 | UINT SourceDPBFrameReference; | ||
| 10062 | } D3D12_VIDEO_ENCODER_DIRTY_RECT_INFO; | ||
| 10063 | |||
| 10064 | typedef struct D3D12_VIDEO_ENCODER_DIRTY_REGIONS | ||
| 10065 | { | ||
| 10066 | D3D12_VIDEO_ENCODER_INPUT_MAP_SOURCE MapSource; | ||
| 10067 | union | ||
| 10068 | { | ||
| 10069 | ID3D12Resource *pOpaqueLayoutBuffer; | ||
| 10070 | D3D12_VIDEO_ENCODER_DIRTY_RECT_INFO *pCPUBuffer; | ||
| 10071 | } ; | ||
| 10072 | } D3D12_VIDEO_ENCODER_DIRTY_REGIONS; | ||
| 10073 | |||
| 10074 | typedef struct D3D12_VIDEO_ENCODER_QUANTIZATION_OPAQUE_MAP | ||
| 10075 | { | ||
| 10076 | ID3D12Resource *pOpaqueQuantizationMap; | ||
| 10077 | } D3D12_VIDEO_ENCODER_QUANTIZATION_OPAQUE_MAP; | ||
| 10078 | |||
| 10079 | typedef struct D3D12_VIDEO_ENCODER_FRAME_MOTION_SEARCH_MODE_CONFIG | ||
| 10080 | { | ||
| 10081 | D3D12_VIDEO_ENCODER_FRAME_MOTION_SEARCH_MODE MotionSearchMode; | ||
| 10082 | UINT SearchDeviationLimit; | ||
| 10083 | } D3D12_VIDEO_ENCODER_FRAME_MOTION_SEARCH_MODE_CONFIG; | ||
| 10084 | |||
| 10085 | typedef struct D3D12_VIDEO_ENCODER_MOVE_RECT | ||
| 10086 | { | ||
| 10087 | POINT SourcePoint; | ||
| 10088 | RECT DestRect; | ||
| 10089 | } D3D12_VIDEO_ENCODER_MOVE_RECT; | ||
| 10090 | |||
| 10091 | typedef | ||
| 10092 | enum D3D12_VIDEO_ENCODER_MOVEREGION_INFO_FLAGS | ||
| 10093 | { | ||
| 10094 | D3D12_VIDEO_ENCODER_MOVEREGION_INFO_FLAG_NONE = 0, | ||
| 10095 | D3D12_VIDEO_ENCODER_MOVEREGION_INFO_FLAG_MULTIPLE_HINTS = 0x1 | ||
| 10096 | } D3D12_VIDEO_ENCODER_MOVEREGION_INFO_FLAGS; | ||
| 10097 | |||
| 10098 | typedef struct D3D12_VIDEO_ENCODER_MOVEREGION_INFO | ||
| 10099 | { | ||
| 10100 | UINT NumMoveRegions; | ||
| 10101 | _Field_size_full_(NumMoveRegions) D3D12_VIDEO_ENCODER_MOVE_RECT *pMoveRegions; | ||
| 10102 | D3D12_VIDEO_ENCODER_FRAME_MOTION_SEARCH_MODE_CONFIG MotionSearchModeConfiguration; | ||
| 10103 | UINT SourceDPBFrameReference; | ||
| 10104 | D3D12_VIDEO_ENCODER_FRAME_INPUT_MOTION_UNIT_PRECISION MotionUnitPrecision; | ||
| 10105 | D3D12_VIDEO_ENCODER_MOVEREGION_INFO_FLAGS Flags; | ||
| 10106 | } D3D12_VIDEO_ENCODER_MOVEREGION_INFO; | ||
| 10107 | |||
| 10108 | typedef struct D3D12_VIDEO_ENCODER_FRAME_MOTION_VECTORS | ||
| 10109 | { | ||
| 10110 | D3D12_VIDEO_ENCODER_INPUT_MAP_SOURCE MapSource; | ||
| 10111 | union | ||
| 10112 | { | ||
| 10113 | ID3D12Resource *pOpaqueLayoutBuffer; | ||
| 10114 | D3D12_VIDEO_ENCODER_MOVEREGION_INFO *pCPUBuffer; | ||
| 10115 | } ; | ||
| 10116 | } D3D12_VIDEO_ENCODER_FRAME_MOTION_VECTORS; | ||
| 10117 | |||
| 10118 | typedef struct D3D12_VIDEO_ENCODER_PICTURE_CONTROL_CODEC_DATA_HEVC2 | ||
| 10119 | { | ||
| 10120 | D3D12_VIDEO_ENCODER_PICTURE_CONTROL_CODEC_DATA_HEVC_FLAGS Flags; | ||
| 10121 | D3D12_VIDEO_ENCODER_FRAME_TYPE_HEVC FrameType; | ||
| 10122 | UINT slice_pic_parameter_set_id; | ||
| 10123 | UINT PictureOrderCountNumber; | ||
| 10124 | UINT TemporalLayerIndex; | ||
| 10125 | UINT List0ReferenceFramesCount; | ||
| 10126 | _Field_size_full_(List0ReferenceFramesCount) UINT *pList0ReferenceFrames; | ||
| 10127 | UINT List1ReferenceFramesCount; | ||
| 10128 | _Field_size_full_(List1ReferenceFramesCount) UINT *pList1ReferenceFrames; | ||
| 10129 | UINT ReferenceFramesReconPictureDescriptorsCount; | ||
| 10130 | _Field_size_full_(ReferenceFramesReconPictureDescriptorsCount) D3D12_VIDEO_ENCODER_REFERENCE_PICTURE_DESCRIPTOR_HEVC *pReferenceFramesReconPictureDescriptors; | ||
| 10131 | UINT List0RefPicModificationsCount; | ||
| 10132 | _Field_size_full_(List0RefPicModificationsCount) UINT *pList0RefPicModifications; | ||
| 10133 | UINT List1RefPicModificationsCount; | ||
| 10134 | _Field_size_full_(List1RefPicModificationsCount) UINT *pList1RefPicModifications; | ||
| 10135 | UINT QPMapValuesCount; | ||
| 10136 | _Field_size_full_(QPMapValuesCount) INT8 *pRateControlQPMap; | ||
| 10137 | UCHAR diff_cu_chroma_qp_offset_depth; | ||
| 10138 | UCHAR log2_sao_offset_scale_luma; | ||
| 10139 | UCHAR log2_sao_offset_scale_chroma; | ||
| 10140 | UCHAR log2_max_transform_skip_block_size_minus2; | ||
| 10141 | UCHAR chroma_qp_offset_list_len_minus1; | ||
| 10142 | CHAR cb_qp_offset_list[ 6 ]; | ||
| 10143 | CHAR cr_qp_offset_list[ 6 ]; | ||
| 10144 | UINT num_ref_idx_l0_active_minus1; | ||
| 10145 | UINT num_ref_idx_l1_active_minus1; | ||
| 10146 | } D3D12_VIDEO_ENCODER_PICTURE_CONTROL_CODEC_DATA_HEVC2; | ||
| 10147 | |||
| 10148 | typedef struct D3D12_VIDEO_ENCODER_PICTURE_CONTROL_CODEC_DATA1 | ||
| 10149 | { | ||
| 10150 | UINT DataSize; | ||
| 10151 | union | ||
| 10152 | { | ||
| 10153 | D3D12_VIDEO_ENCODER_PICTURE_CONTROL_CODEC_DATA_H264 *pH264PicData; | ||
| 10154 | D3D12_VIDEO_ENCODER_PICTURE_CONTROL_CODEC_DATA_HEVC2 *pHEVCPicData; | ||
| 10155 | D3D12_VIDEO_ENCODER_AV1_PICTURE_CONTROL_CODEC_DATA *pAV1PicData; | ||
| 10156 | } ; | ||
| 10157 | } D3D12_VIDEO_ENCODER_PICTURE_CONTROL_CODEC_DATA1; | ||
| 10158 | |||
| 10159 | typedef struct D3D12_VIDEO_ENCODER_FRAME_ANALYSIS | ||
| 10160 | { | ||
| 10161 | ID3D12Resource *pDownscaledFrame; | ||
| 10162 | UINT64 Subresource; | ||
| 10163 | D3D12_VIDEO_ENCODE_REFERENCE_FRAMES DownscaledReferences; | ||
| 10164 | } D3D12_VIDEO_ENCODER_FRAME_ANALYSIS; | ||
| 10165 | |||
| 10166 | typedef struct D3D12_VIDEO_ENCODER_PICTURE_CONTROL_DESC1 | ||
| 10167 | { | ||
| 10168 | UINT IntraRefreshFrameIndex; | ||
| 10169 | D3D12_VIDEO_ENCODER_PICTURE_CONTROL_FLAGS Flags; | ||
| 10170 | D3D12_VIDEO_ENCODER_PICTURE_CONTROL_CODEC_DATA1 PictureControlCodecData; | ||
| 10171 | D3D12_VIDEO_ENCODE_REFERENCE_FRAMES ReferenceFrames; | ||
| 10172 | D3D12_VIDEO_ENCODER_FRAME_MOTION_VECTORS MotionVectors; | ||
| 10173 | D3D12_VIDEO_ENCODER_DIRTY_REGIONS DirtyRects; | ||
| 10174 | D3D12_VIDEO_ENCODER_QUANTIZATION_OPAQUE_MAP QuantizationTextureMap; | ||
| 10175 | D3D12_VIDEO_ENCODER_FRAME_ANALYSIS FrameAnalysis; | ||
| 10176 | } D3D12_VIDEO_ENCODER_PICTURE_CONTROL_DESC1; | ||
| 10177 | |||
| 10178 | typedef struct D3D12_VIDEO_ENCODER_ENCODEFRAME_INPUT_ARGUMENTS1 | ||
| 10179 | { | ||
| 10180 | D3D12_VIDEO_ENCODER_SEQUENCE_CONTROL_DESC SequenceControlDesc; | ||
| 10181 | D3D12_VIDEO_ENCODER_PICTURE_CONTROL_DESC1 PictureControlDesc; | ||
| 10182 | ID3D12Resource *pInputFrame; | ||
| 10183 | UINT InputFrameSubresource; | ||
| 10184 | UINT CurrentFrameBitstreamMetadataSize; | ||
| 10185 | D3D12_VIDEO_ENCODER_OPTIONAL_METADATA_ENABLE_FLAGS OptionalMetadata; | ||
| 10186 | } D3D12_VIDEO_ENCODER_ENCODEFRAME_INPUT_ARGUMENTS1; | ||
| 10187 | |||
| 10188 | typedef | ||
| 10189 | enum D3D12_VIDEO_ENCODER_SUBREGION_COMPRESSED_BITSTREAM_BUFFER_MODE | ||
| 10190 | { | ||
| 10191 | D3D12_VIDEO_ENCODER_SUBREGION_COMPRESSED_BITSTREAM_BUFFER_MODE_ARRAY_OF_BUFFERS = 0, | ||
| 10192 | D3D12_VIDEO_ENCODER_SUBREGION_COMPRESSED_BITSTREAM_BUFFER_MODE_SINGLE_BUFFER = 1 | ||
| 10193 | } D3D12_VIDEO_ENCODER_SUBREGION_COMPRESSED_BITSTREAM_BUFFER_MODE; | ||
| 10194 | |||
| 10195 | typedef struct D3D12_VIDEO_ENCODER_SUBREGION_COMPRESSED_BITSTREAM | ||
| 10196 | { | ||
| 10197 | D3D12_VIDEO_ENCODER_SUBREGION_COMPRESSED_BITSTREAM_BUFFER_MODE BufferMode; | ||
| 10198 | UINT ExpectedSubregionCount; | ||
| 10199 | UINT64 *pSubregionBitstreamsBaseOffsets; | ||
| 10200 | ID3D12Resource **ppSubregionBitstreams; | ||
| 10201 | ID3D12Resource **ppSubregionSizes; | ||
| 10202 | ID3D12Resource **ppSubregionOffsets; | ||
| 10203 | ID3D12Fence **ppSubregionFences; | ||
| 10204 | UINT64 *pSubregionFenceValues; | ||
| 10205 | } D3D12_VIDEO_ENCODER_SUBREGION_COMPRESSED_BITSTREAM; | ||
| 10206 | |||
| 10207 | typedef | ||
| 10208 | enum D3D12_VIDEO_ENCODER_COMPRESSED_BITSTREAM_NOTIFICATION_MODE | ||
| 10209 | { | ||
| 10210 | D3D12_VIDEO_ENCODER_COMPRESSED_BITSTREAM_NOTIFICATION_MODE_FULL_FRAME = 0, | ||
| 10211 | D3D12_VIDEO_ENCODER_COMPRESSED_BITSTREAM_NOTIFICATION_MODE_SUBREGIONS = 1 | ||
| 10212 | } D3D12_VIDEO_ENCODER_COMPRESSED_BITSTREAM_NOTIFICATION_MODE; | ||
| 10213 | |||
| 10214 | typedef struct D3D12_VIDEO_ENCODER_COMPRESSED_BITSTREAM1 | ||
| 10215 | { | ||
| 10216 | D3D12_VIDEO_ENCODER_COMPRESSED_BITSTREAM_NOTIFICATION_MODE NotificationMode; | ||
| 10217 | union | ||
| 10218 | { | ||
| 10219 | D3D12_VIDEO_ENCODER_COMPRESSED_BITSTREAM FrameOutputBuffer; | ||
| 10220 | D3D12_VIDEO_ENCODER_SUBREGION_COMPRESSED_BITSTREAM SubregionOutputBuffers; | ||
| 10221 | } ; | ||
| 10222 | } D3D12_VIDEO_ENCODER_COMPRESSED_BITSTREAM1; | ||
| 10223 | |||
| 10224 | typedef struct D3D12_VIDEO_ENCODER_ENCODEFRAME_OUTPUT_ARGUMENTS1 | ||
| 10225 | { | ||
| 10226 | D3D12_VIDEO_ENCODER_COMPRESSED_BITSTREAM1 Bitstream; | ||
| 10227 | D3D12_VIDEO_ENCODER_RECONSTRUCTED_PICTURE ReconstructedPicture; | ||
| 10228 | D3D12_VIDEO_ENCODER_ENCODE_OPERATION_METADATA_BUFFER EncoderOutputMetadata; | ||
| 10229 | D3D12_VIDEO_ENCODER_RECONSTRUCTED_PICTURE FrameAnalysisReconstructedPicture; | ||
| 10230 | } D3D12_VIDEO_ENCODER_ENCODEFRAME_OUTPUT_ARGUMENTS1; | ||
| 10231 | |||
| 10232 | typedef struct D3D12_VIDEO_ENCODER_RESOLVE_METADATA_INPUT_ARGUMENTS1 | ||
| 10233 | { | ||
| 10234 | D3D12_VIDEO_ENCODER_CODEC EncoderCodec; | ||
| 10235 | D3D12_VIDEO_ENCODER_PROFILE_DESC EncoderProfile; | ||
| 10236 | DXGI_FORMAT EncoderInputFormat; | ||
| 10237 | D3D12_VIDEO_ENCODER_PICTURE_RESOLUTION_DESC EncodedPictureEffectiveResolution; | ||
| 10238 | D3D12_VIDEO_ENCODER_ENCODE_OPERATION_METADATA_BUFFER HWLayoutMetadata; | ||
| 10239 | D3D12_VIDEO_ENCODER_OPTIONAL_METADATA_ENABLE_FLAGS OptionalMetadata; | ||
| 10240 | D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION CodecConfiguration; | ||
| 10241 | } D3D12_VIDEO_ENCODER_RESOLVE_METADATA_INPUT_ARGUMENTS1; | ||
| 10242 | |||
| 10243 | typedef struct D3D12_VIDEO_ENCODER_RESOLVE_METADATA_OUTPUT_ARGUMENTS1 | ||
| 10244 | { | ||
| 10245 | D3D12_VIDEO_ENCODER_ENCODE_OPERATION_METADATA_BUFFER ResolvedLayoutMetadata; | ||
| 10246 | ID3D12Resource *pOutputQPMap; | ||
| 10247 | ID3D12Resource *pOutputSATDMap; | ||
| 10248 | ID3D12Resource *pOutputBitAllocationMap; | ||
| 10249 | D3D12_VIDEO_ENCODER_ENCODE_OPERATION_METADATA_BUFFER ResolvedFramePSNRData; | ||
| 10250 | D3D12_VIDEO_ENCODER_ENCODE_OPERATION_METADATA_BUFFER ResolvedSubregionsPSNRData; | ||
| 10251 | } D3D12_VIDEO_ENCODER_RESOLVE_METADATA_OUTPUT_ARGUMENTS1; | ||
| 10252 | |||
| 10253 | typedef struct D3D12_VIDEO_ENCODER_INPUT_MAP_DATA_QUANTIZATION_MATRIX | ||
| 10254 | { | ||
| 10255 | ID3D12Resource *pQuantizationMap; | ||
| 10256 | } D3D12_VIDEO_ENCODER_INPUT_MAP_DATA_QUANTIZATION_MATRIX; | ||
| 10257 | |||
| 10258 | typedef struct D3D12_VIDEO_ENCODER_INPUT_MAP_DATA_DIRTY_REGIONS | ||
| 10259 | { | ||
| 10260 | BOOL FullFrameIdentical; | ||
| 10261 | D3D12_VIDEO_ENCODER_DIRTY_REGIONS_MAP_VALUES_MODE MapValuesType; | ||
| 10262 | ID3D12Resource *pDirtyRegionsMap; | ||
| 10263 | UINT SourceDPBFrameReference; | ||
| 10264 | } D3D12_VIDEO_ENCODER_INPUT_MAP_DATA_DIRTY_REGIONS; | ||
| 10265 | |||
| 10266 | typedef struct D3D12_VIDEO_ENCODER_INPUT_MAP_DATA_MOTION_VECTORS | ||
| 10267 | { | ||
| 10268 | D3D12_VIDEO_ENCODER_FRAME_MOTION_SEARCH_MODE_CONFIG MotionSearchModeConfiguration; | ||
| 10269 | UINT NumHintsPerPixel; | ||
| 10270 | _Field_size_full_(NumHintsPerPixel) ID3D12Resource **ppMotionVectorMaps; | ||
| 10271 | _Field_size_full_(NumHintsPerPixel) UINT *pMotionVectorMapsSubresources; | ||
| 10272 | _Field_size_full_(NumHintsPerPixel) ID3D12Resource **ppMotionVectorMapsMetadata; | ||
| 10273 | _Field_size_full_(NumHintsPerPixel) UINT *pMotionVectorMapsMetadataSubresources; | ||
| 10274 | D3D12_VIDEO_ENCODER_FRAME_INPUT_MOTION_UNIT_PRECISION MotionUnitPrecision; | ||
| 10275 | D3D12_VIDEO_ENCODER_PICTURE_CONTROL_CODEC_DATA1 PictureControlConfiguration; | ||
| 10276 | } D3D12_VIDEO_ENCODER_INPUT_MAP_DATA_MOTION_VECTORS; | ||
| 10277 | |||
| 10278 | typedef struct D3D12_VIDEO_ENCODER_INPUT_MAP_DATA | ||
| 10279 | { | ||
| 10280 | D3D12_VIDEO_ENCODER_INPUT_MAP_TYPE MapType; | ||
| 10281 | union | ||
| 10282 | { | ||
| 10283 | D3D12_VIDEO_ENCODER_INPUT_MAP_DATA_QUANTIZATION_MATRIX Quantization; | ||
| 10284 | D3D12_VIDEO_ENCODER_INPUT_MAP_DATA_DIRTY_REGIONS DirtyRegions; | ||
| 10285 | D3D12_VIDEO_ENCODER_INPUT_MAP_DATA_MOTION_VECTORS MotionVectors; | ||
| 10286 | } ; | ||
| 10287 | } D3D12_VIDEO_ENCODER_INPUT_MAP_DATA; | ||
| 10288 | |||
| 10289 | typedef struct D3D12_VIDEO_ENCODER_RESOLVE_INPUT_PARAM_LAYOUT_INPUT_ARGUMENTS | ||
| 10290 | { | ||
| 10291 | D3D12_VIDEO_ENCODER_INPUT_MAP_SESSION_INFO SessionInfo; | ||
| 10292 | D3D12_VIDEO_ENCODER_INPUT_MAP_DATA InputData; | ||
| 10293 | } D3D12_VIDEO_ENCODER_RESOLVE_INPUT_PARAM_LAYOUT_INPUT_ARGUMENTS; | ||
| 10294 | |||
| 10295 | typedef struct D3D12_VIDEO_ENCODER_RESOLVE_INPUT_PARAM_LAYOUT_OUTPUT_ARGUMENTS | ||
| 10296 | { | ||
| 10297 | ID3D12Resource *pOpaqueLayoutBuffer; | ||
| 10298 | } D3D12_VIDEO_ENCODER_RESOLVE_INPUT_PARAM_LAYOUT_OUTPUT_ARGUMENTS; | ||
| 10299 | |||
| 10300 | |||
| 10301 | |||
| 10302 | extern RPC_IF_HANDLE __MIDL_itf_d3d12video_0000_0029_v0_0_c_ifspec; | ||
| 10303 | extern RPC_IF_HANDLE __MIDL_itf_d3d12video_0000_0029_v0_0_s_ifspec; | ||
| 10304 | |||
| 10305 | #ifndef __ID3D12VideoEncodeCommandList4_INTERFACE_DEFINED__ | ||
| 10306 | #define __ID3D12VideoEncodeCommandList4_INTERFACE_DEFINED__ | ||
| 10307 | |||
| 10308 | /* interface ID3D12VideoEncodeCommandList4 */ | ||
| 10309 | /* [unique][local][object][uuid] */ | ||
| 10310 | |||
| 10311 | |||
| 10312 | EXTERN_C const IID IID_ID3D12VideoEncodeCommandList4; | ||
| 10313 | |||
| 10314 | #if defined(__cplusplus) && !defined(CINTERFACE) | ||
| 10315 | |||
| 10316 | MIDL_INTERFACE("69aeb5b7-55f2-4012-8b73-3a88d65a204c") | ||
| 10317 | ID3D12VideoEncodeCommandList4 : public ID3D12VideoEncodeCommandList3 | ||
| 10318 | { | ||
| 10319 | public: | ||
| 10320 | virtual void STDMETHODCALLTYPE EncodeFrame1( | ||
| 10321 | _In_ ID3D12VideoEncoder *pEncoder, | ||
| 10322 | _In_ ID3D12VideoEncoderHeap1 *pHeap, | ||
| 10323 | _In_ const D3D12_VIDEO_ENCODER_ENCODEFRAME_INPUT_ARGUMENTS1 *pInputArguments, | ||
| 10324 | _In_ const D3D12_VIDEO_ENCODER_ENCODEFRAME_OUTPUT_ARGUMENTS1 *pOutputArguments) = 0; | ||
| 10325 | |||
| 10326 | virtual void STDMETHODCALLTYPE ResolveEncoderOutputMetadata1( | ||
| 10327 | _In_ const D3D12_VIDEO_ENCODER_RESOLVE_METADATA_INPUT_ARGUMENTS1 *pInputArguments, | ||
| 10328 | _In_ const D3D12_VIDEO_ENCODER_RESOLVE_METADATA_OUTPUT_ARGUMENTS1 *pOutputArguments) = 0; | ||
| 10329 | |||
| 10330 | virtual void STDMETHODCALLTYPE ResolveInputParamLayout( | ||
| 10331 | _In_ const D3D12_VIDEO_ENCODER_RESOLVE_INPUT_PARAM_LAYOUT_INPUT_ARGUMENTS *pInputArguments, | ||
| 10332 | _In_ const D3D12_VIDEO_ENCODER_RESOLVE_INPUT_PARAM_LAYOUT_OUTPUT_ARGUMENTS *pOutputArguments) = 0; | ||
| 10333 | |||
| 10334 | }; | ||
| 10335 | |||
| 10336 | |||
| 10337 | #else /* C style interface */ | ||
| 10338 | |||
| 10339 | typedef struct ID3D12VideoEncodeCommandList4Vtbl | ||
| 10340 | { | ||
| 10341 | BEGIN_INTERFACE | ||
| 10342 | |||
| 10343 | DECLSPEC_XFGVIRT(IUnknown, QueryInterface) | ||
| 10344 | HRESULT ( STDMETHODCALLTYPE *QueryInterface )( | ||
| 10345 | ID3D12VideoEncodeCommandList4 * This, | ||
| 10346 | REFIID riid, | ||
| 10347 | _COM_Outptr_ void **ppvObject); | ||
| 10348 | |||
| 10349 | DECLSPEC_XFGVIRT(IUnknown, AddRef) | ||
| 10350 | ULONG ( STDMETHODCALLTYPE *AddRef )( | ||
| 10351 | ID3D12VideoEncodeCommandList4 * This); | ||
| 10352 | |||
| 10353 | DECLSPEC_XFGVIRT(IUnknown, Release) | ||
| 10354 | ULONG ( STDMETHODCALLTYPE *Release )( | ||
| 10355 | ID3D12VideoEncodeCommandList4 * This); | ||
| 10356 | |||
| 10357 | DECLSPEC_XFGVIRT(ID3D12Object, GetPrivateData) | ||
| 10358 | HRESULT ( STDMETHODCALLTYPE *GetPrivateData )( | ||
| 10359 | ID3D12VideoEncodeCommandList4 * This, | ||
| 10360 | _In_ REFGUID guid, | ||
| 10361 | _Inout_ UINT *pDataSize, | ||
| 10362 | _Out_writes_bytes_opt_( *pDataSize ) void *pData); | ||
| 10363 | |||
| 10364 | DECLSPEC_XFGVIRT(ID3D12Object, SetPrivateData) | ||
| 10365 | HRESULT ( STDMETHODCALLTYPE *SetPrivateData )( | ||
| 10366 | ID3D12VideoEncodeCommandList4 * This, | ||
| 10367 | _In_ REFGUID guid, | ||
| 10368 | _In_ UINT DataSize, | ||
| 10369 | _In_reads_bytes_opt_( DataSize ) const void *pData); | ||
| 10370 | |||
| 10371 | DECLSPEC_XFGVIRT(ID3D12Object, SetPrivateDataInterface) | ||
| 10372 | HRESULT ( STDMETHODCALLTYPE *SetPrivateDataInterface )( | ||
| 10373 | ID3D12VideoEncodeCommandList4 * This, | ||
| 10374 | _In_ REFGUID guid, | ||
| 10375 | _In_opt_ const IUnknown *pData); | ||
| 10376 | |||
| 10377 | DECLSPEC_XFGVIRT(ID3D12Object, SetName) | ||
| 10378 | HRESULT ( STDMETHODCALLTYPE *SetName )( | ||
| 10379 | ID3D12VideoEncodeCommandList4 * This, | ||
| 10380 | _In_z_ LPCWSTR Name); | ||
| 10381 | |||
| 10382 | DECLSPEC_XFGVIRT(ID3D12DeviceChild, GetDevice) | ||
| 10383 | HRESULT ( STDMETHODCALLTYPE *GetDevice )( | ||
| 10384 | ID3D12VideoEncodeCommandList4 * This, | ||
| 10385 | REFIID riid, | ||
| 10386 | _COM_Outptr_opt_ void **ppvDevice); | ||
| 10387 | |||
| 10388 | DECLSPEC_XFGVIRT(ID3D12CommandList, GetType) | ||
| 10389 | D3D12_COMMAND_LIST_TYPE ( STDMETHODCALLTYPE *GetType )( | ||
| 10390 | ID3D12VideoEncodeCommandList4 * This); | ||
| 10391 | |||
| 10392 | DECLSPEC_XFGVIRT(ID3D12VideoEncodeCommandList, Close) | ||
| 10393 | HRESULT ( STDMETHODCALLTYPE *Close )( | ||
| 10394 | ID3D12VideoEncodeCommandList4 * This); | ||
| 10395 | |||
| 10396 | DECLSPEC_XFGVIRT(ID3D12VideoEncodeCommandList, Reset) | ||
| 10397 | HRESULT ( STDMETHODCALLTYPE *Reset )( | ||
| 10398 | ID3D12VideoEncodeCommandList4 * This, | ||
| 10399 | _In_ ID3D12CommandAllocator *pAllocator); | ||
| 10400 | |||
| 10401 | DECLSPEC_XFGVIRT(ID3D12VideoEncodeCommandList, ClearState) | ||
| 10402 | void ( STDMETHODCALLTYPE *ClearState )( | ||
| 10403 | ID3D12VideoEncodeCommandList4 * This); | ||
| 10404 | |||
| 10405 | DECLSPEC_XFGVIRT(ID3D12VideoEncodeCommandList, ResourceBarrier) | ||
| 10406 | void ( STDMETHODCALLTYPE *ResourceBarrier )( | ||
| 10407 | ID3D12VideoEncodeCommandList4 * This, | ||
| 10408 | _In_ UINT NumBarriers, | ||
| 10409 | _In_reads_(NumBarriers) const D3D12_RESOURCE_BARRIER *pBarriers); | ||
| 10410 | |||
| 10411 | DECLSPEC_XFGVIRT(ID3D12VideoEncodeCommandList, DiscardResource) | ||
| 10412 | void ( STDMETHODCALLTYPE *DiscardResource )( | ||
| 10413 | ID3D12VideoEncodeCommandList4 * This, | ||
| 10414 | _In_ ID3D12Resource *pResource, | ||
| 10415 | _In_opt_ const D3D12_DISCARD_REGION *pRegion); | ||
| 10416 | |||
| 10417 | DECLSPEC_XFGVIRT(ID3D12VideoEncodeCommandList, BeginQuery) | ||
| 10418 | void ( STDMETHODCALLTYPE *BeginQuery )( | ||
| 10419 | ID3D12VideoEncodeCommandList4 * This, | ||
| 10420 | _In_ ID3D12QueryHeap *pQueryHeap, | ||
| 10421 | _In_ D3D12_QUERY_TYPE Type, | ||
| 10422 | _In_ UINT Index); | ||
| 10423 | |||
| 10424 | DECLSPEC_XFGVIRT(ID3D12VideoEncodeCommandList, EndQuery) | ||
| 10425 | void ( STDMETHODCALLTYPE *EndQuery )( | ||
| 10426 | ID3D12VideoEncodeCommandList4 * This, | ||
| 10427 | _In_ ID3D12QueryHeap *pQueryHeap, | ||
| 10428 | _In_ D3D12_QUERY_TYPE Type, | ||
| 10429 | _In_ UINT Index); | ||
| 10430 | |||
| 10431 | DECLSPEC_XFGVIRT(ID3D12VideoEncodeCommandList, ResolveQueryData) | ||
| 10432 | void ( STDMETHODCALLTYPE *ResolveQueryData )( | ||
| 10433 | ID3D12VideoEncodeCommandList4 * This, | ||
| 10434 | _In_ ID3D12QueryHeap *pQueryHeap, | ||
| 10435 | _In_ D3D12_QUERY_TYPE Type, | ||
| 10436 | _In_ UINT StartIndex, | ||
| 10437 | _In_ UINT NumQueries, | ||
| 10438 | _In_ ID3D12Resource *pDestinationBuffer, | ||
| 10439 | _In_ UINT64 AlignedDestinationBufferOffset); | ||
| 10440 | |||
| 10441 | DECLSPEC_XFGVIRT(ID3D12VideoEncodeCommandList, SetPredication) | ||
| 10442 | void ( STDMETHODCALLTYPE *SetPredication )( | ||
| 10443 | ID3D12VideoEncodeCommandList4 * This, | ||
| 10444 | _In_opt_ ID3D12Resource *pBuffer, | ||
| 10445 | _In_ UINT64 AlignedBufferOffset, | ||
| 10446 | _In_ D3D12_PREDICATION_OP Operation); | ||
| 10447 | |||
| 10448 | DECLSPEC_XFGVIRT(ID3D12VideoEncodeCommandList, SetMarker) | ||
| 10449 | void ( STDMETHODCALLTYPE *SetMarker )( | ||
| 10450 | ID3D12VideoEncodeCommandList4 * This, | ||
| 10451 | UINT Metadata, | ||
| 10452 | _In_reads_bytes_opt_(Size) const void *pData, | ||
| 10453 | UINT Size); | ||
| 10454 | |||
| 10455 | DECLSPEC_XFGVIRT(ID3D12VideoEncodeCommandList, BeginEvent) | ||
| 10456 | void ( STDMETHODCALLTYPE *BeginEvent )( | ||
| 10457 | ID3D12VideoEncodeCommandList4 * This, | ||
| 10458 | UINT Metadata, | ||
| 10459 | _In_reads_bytes_opt_(Size) const void *pData, | ||
| 10460 | UINT Size); | ||
| 10461 | |||
| 10462 | DECLSPEC_XFGVIRT(ID3D12VideoEncodeCommandList, EndEvent) | ||
| 10463 | void ( STDMETHODCALLTYPE *EndEvent )( | ||
| 10464 | ID3D12VideoEncodeCommandList4 * This); | ||
| 10465 | |||
| 10466 | DECLSPEC_XFGVIRT(ID3D12VideoEncodeCommandList, EstimateMotion) | ||
| 10467 | void ( STDMETHODCALLTYPE *EstimateMotion )( | ||
| 10468 | ID3D12VideoEncodeCommandList4 * This, | ||
| 10469 | _In_ ID3D12VideoMotionEstimator *pMotionEstimator, | ||
| 10470 | _In_ const D3D12_VIDEO_MOTION_ESTIMATOR_OUTPUT *pOutputArguments, | ||
| 10471 | _In_ const D3D12_VIDEO_MOTION_ESTIMATOR_INPUT *pInputArguments); | ||
| 10472 | |||
| 10473 | DECLSPEC_XFGVIRT(ID3D12VideoEncodeCommandList, ResolveMotionVectorHeap) | ||
| 10474 | void ( STDMETHODCALLTYPE *ResolveMotionVectorHeap )( | ||
| 10475 | ID3D12VideoEncodeCommandList4 * This, | ||
| 10476 | const D3D12_RESOLVE_VIDEO_MOTION_VECTOR_HEAP_OUTPUT *pOutputArguments, | ||
| 10477 | const D3D12_RESOLVE_VIDEO_MOTION_VECTOR_HEAP_INPUT *pInputArguments); | ||
| 10478 | |||
| 10479 | DECLSPEC_XFGVIRT(ID3D12VideoEncodeCommandList, WriteBufferImmediate) | ||
| 10480 | void ( STDMETHODCALLTYPE *WriteBufferImmediate )( | ||
| 10481 | ID3D12VideoEncodeCommandList4 * This, | ||
| 10482 | UINT Count, | ||
| 10483 | _In_reads_(Count) const D3D12_WRITEBUFFERIMMEDIATE_PARAMETER *pParams, | ||
| 10484 | _In_reads_opt_(Count) const D3D12_WRITEBUFFERIMMEDIATE_MODE *pModes); | ||
| 10485 | |||
| 10486 | DECLSPEC_XFGVIRT(ID3D12VideoEncodeCommandList, SetProtectedResourceSession) | ||
| 10487 | void ( STDMETHODCALLTYPE *SetProtectedResourceSession )( | ||
| 10488 | ID3D12VideoEncodeCommandList4 * This, | ||
| 10489 | _In_opt_ ID3D12ProtectedResourceSession *pProtectedResourceSession); | ||
| 10490 | |||
| 10491 | DECLSPEC_XFGVIRT(ID3D12VideoEncodeCommandList1, InitializeExtensionCommand) | ||
| 10492 | void ( STDMETHODCALLTYPE *InitializeExtensionCommand )( | ||
| 10493 | ID3D12VideoEncodeCommandList4 * This, | ||
| 10494 | _In_ ID3D12VideoExtensionCommand *pExtensionCommand, | ||
| 10495 | _In_reads_bytes_(InitializationParametersSizeInBytes) const void *pInitializationParameters, | ||
| 10496 | SIZE_T InitializationParametersSizeInBytes); | ||
| 10497 | |||
| 10498 | DECLSPEC_XFGVIRT(ID3D12VideoEncodeCommandList1, ExecuteExtensionCommand) | ||
| 10499 | void ( STDMETHODCALLTYPE *ExecuteExtensionCommand )( | ||
| 10500 | ID3D12VideoEncodeCommandList4 * This, | ||
| 10501 | _In_ ID3D12VideoExtensionCommand *pExtensionCommand, | ||
| 10502 | _In_reads_bytes_(ExecutionParametersSizeInBytes) const void *pExecutionParameters, | ||
| 10503 | SIZE_T ExecutionParametersSizeInBytes); | ||
| 10504 | |||
| 10505 | DECLSPEC_XFGVIRT(ID3D12VideoEncodeCommandList2, EncodeFrame) | ||
| 10506 | void ( STDMETHODCALLTYPE *EncodeFrame )( | ||
| 10507 | ID3D12VideoEncodeCommandList4 * This, | ||
| 10508 | _In_ ID3D12VideoEncoder *pEncoder, | ||
| 10509 | _In_ ID3D12VideoEncoderHeap *pHeap, | ||
| 10510 | _In_ const D3D12_VIDEO_ENCODER_ENCODEFRAME_INPUT_ARGUMENTS *pInputArguments, | ||
| 10511 | _In_ const D3D12_VIDEO_ENCODER_ENCODEFRAME_OUTPUT_ARGUMENTS *pOutputArguments); | ||
| 10512 | |||
| 10513 | DECLSPEC_XFGVIRT(ID3D12VideoEncodeCommandList2, ResolveEncoderOutputMetadata) | ||
| 10514 | void ( STDMETHODCALLTYPE *ResolveEncoderOutputMetadata )( | ||
| 10515 | ID3D12VideoEncodeCommandList4 * This, | ||
| 10516 | _In_ const D3D12_VIDEO_ENCODER_RESOLVE_METADATA_INPUT_ARGUMENTS *pInputArguments, | ||
| 10517 | _In_ const D3D12_VIDEO_ENCODER_RESOLVE_METADATA_OUTPUT_ARGUMENTS *pOutputArguments); | ||
| 10518 | |||
| 10519 | DECLSPEC_XFGVIRT(ID3D12VideoEncodeCommandList3, Barrier) | ||
| 10520 | void ( STDMETHODCALLTYPE *Barrier )( | ||
| 10521 | ID3D12VideoEncodeCommandList4 * This, | ||
| 10522 | UINT32 NumBarrierGroups, | ||
| 10523 | _In_reads_(NumBarrierGroups) const D3D12_BARRIER_GROUP *pBarrierGroups); | ||
| 10524 | |||
| 10525 | DECLSPEC_XFGVIRT(ID3D12VideoEncodeCommandList4, EncodeFrame1) | ||
| 10526 | void ( STDMETHODCALLTYPE *EncodeFrame1 )( | ||
| 10527 | ID3D12VideoEncodeCommandList4 * This, | ||
| 10528 | _In_ ID3D12VideoEncoder *pEncoder, | ||
| 10529 | _In_ ID3D12VideoEncoderHeap1 *pHeap, | ||
| 10530 | _In_ const D3D12_VIDEO_ENCODER_ENCODEFRAME_INPUT_ARGUMENTS1 *pInputArguments, | ||
| 10531 | _In_ const D3D12_VIDEO_ENCODER_ENCODEFRAME_OUTPUT_ARGUMENTS1 *pOutputArguments); | ||
| 10532 | |||
| 10533 | DECLSPEC_XFGVIRT(ID3D12VideoEncodeCommandList4, ResolveEncoderOutputMetadata1) | ||
| 10534 | void ( STDMETHODCALLTYPE *ResolveEncoderOutputMetadata1 )( | ||
| 10535 | ID3D12VideoEncodeCommandList4 * This, | ||
| 10536 | _In_ const D3D12_VIDEO_ENCODER_RESOLVE_METADATA_INPUT_ARGUMENTS1 *pInputArguments, | ||
| 10537 | _In_ const D3D12_VIDEO_ENCODER_RESOLVE_METADATA_OUTPUT_ARGUMENTS1 *pOutputArguments); | ||
| 10538 | |||
| 10539 | DECLSPEC_XFGVIRT(ID3D12VideoEncodeCommandList4, ResolveInputParamLayout) | ||
| 10540 | void ( STDMETHODCALLTYPE *ResolveInputParamLayout )( | ||
| 10541 | ID3D12VideoEncodeCommandList4 * This, | ||
| 10542 | _In_ const D3D12_VIDEO_ENCODER_RESOLVE_INPUT_PARAM_LAYOUT_INPUT_ARGUMENTS *pInputArguments, | ||
| 10543 | _In_ const D3D12_VIDEO_ENCODER_RESOLVE_INPUT_PARAM_LAYOUT_OUTPUT_ARGUMENTS *pOutputArguments); | ||
| 10544 | |||
| 10545 | END_INTERFACE | ||
| 10546 | } ID3D12VideoEncodeCommandList4Vtbl; | ||
| 10547 | |||
| 10548 | interface ID3D12VideoEncodeCommandList4 | ||
| 10549 | { | ||
| 10550 | CONST_VTBL struct ID3D12VideoEncodeCommandList4Vtbl *lpVtbl; | ||
| 10551 | }; | ||
| 10552 | |||
| 10553 | |||
| 10554 | |||
| 10555 | #ifdef COBJMACROS | ||
| 10556 | |||
| 10557 | |||
| 10558 | #define ID3D12VideoEncodeCommandList4_QueryInterface(This,riid,ppvObject) \ | ||
| 10559 | ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) | ||
| 10560 | |||
| 10561 | #define ID3D12VideoEncodeCommandList4_AddRef(This) \ | ||
| 10562 | ( (This)->lpVtbl -> AddRef(This) ) | ||
| 10563 | |||
| 10564 | #define ID3D12VideoEncodeCommandList4_Release(This) \ | ||
| 10565 | ( (This)->lpVtbl -> Release(This) ) | ||
| 10566 | |||
| 10567 | |||
| 10568 | #define ID3D12VideoEncodeCommandList4_GetPrivateData(This,guid,pDataSize,pData) \ | ||
| 10569 | ( (This)->lpVtbl -> GetPrivateData(This,guid,pDataSize,pData) ) | ||
| 10570 | |||
| 10571 | #define ID3D12VideoEncodeCommandList4_SetPrivateData(This,guid,DataSize,pData) \ | ||
| 10572 | ( (This)->lpVtbl -> SetPrivateData(This,guid,DataSize,pData) ) | ||
| 10573 | |||
| 10574 | #define ID3D12VideoEncodeCommandList4_SetPrivateDataInterface(This,guid,pData) \ | ||
| 10575 | ( (This)->lpVtbl -> SetPrivateDataInterface(This,guid,pData) ) | ||
| 10576 | |||
| 10577 | #define ID3D12VideoEncodeCommandList4_SetName(This,Name) \ | ||
| 10578 | ( (This)->lpVtbl -> SetName(This,Name) ) | ||
| 10579 | |||
| 10580 | |||
| 10581 | #define ID3D12VideoEncodeCommandList4_GetDevice(This,riid,ppvDevice) \ | ||
| 10582 | ( (This)->lpVtbl -> GetDevice(This,riid,ppvDevice) ) | ||
| 10583 | |||
| 10584 | |||
| 10585 | #define ID3D12VideoEncodeCommandList4_GetType(This) \ | ||
| 10586 | ( (This)->lpVtbl -> GetType(This) ) | ||
| 10587 | |||
| 10588 | |||
| 10589 | #define ID3D12VideoEncodeCommandList4_Close(This) \ | ||
| 10590 | ( (This)->lpVtbl -> Close(This) ) | ||
| 10591 | |||
| 10592 | #define ID3D12VideoEncodeCommandList4_Reset(This,pAllocator) \ | ||
| 10593 | ( (This)->lpVtbl -> Reset(This,pAllocator) ) | ||
| 10594 | |||
| 10595 | #define ID3D12VideoEncodeCommandList4_ClearState(This) \ | ||
| 10596 | ( (This)->lpVtbl -> ClearState(This) ) | ||
| 10597 | |||
| 10598 | #define ID3D12VideoEncodeCommandList4_ResourceBarrier(This,NumBarriers,pBarriers) \ | ||
| 10599 | ( (This)->lpVtbl -> ResourceBarrier(This,NumBarriers,pBarriers) ) | ||
| 10600 | |||
| 10601 | #define ID3D12VideoEncodeCommandList4_DiscardResource(This,pResource,pRegion) \ | ||
| 10602 | ( (This)->lpVtbl -> DiscardResource(This,pResource,pRegion) ) | ||
| 10603 | |||
| 10604 | #define ID3D12VideoEncodeCommandList4_BeginQuery(This,pQueryHeap,Type,Index) \ | ||
| 10605 | ( (This)->lpVtbl -> BeginQuery(This,pQueryHeap,Type,Index) ) | ||
| 10606 | |||
| 10607 | #define ID3D12VideoEncodeCommandList4_EndQuery(This,pQueryHeap,Type,Index) \ | ||
| 10608 | ( (This)->lpVtbl -> EndQuery(This,pQueryHeap,Type,Index) ) | ||
| 10609 | |||
| 10610 | #define ID3D12VideoEncodeCommandList4_ResolveQueryData(This,pQueryHeap,Type,StartIndex,NumQueries,pDestinationBuffer,AlignedDestinationBufferOffset) \ | ||
| 10611 | ( (This)->lpVtbl -> ResolveQueryData(This,pQueryHeap,Type,StartIndex,NumQueries,pDestinationBuffer,AlignedDestinationBufferOffset) ) | ||
| 10612 | |||
| 10613 | #define ID3D12VideoEncodeCommandList4_SetPredication(This,pBuffer,AlignedBufferOffset,Operation) \ | ||
| 10614 | ( (This)->lpVtbl -> SetPredication(This,pBuffer,AlignedBufferOffset,Operation) ) | ||
| 10615 | |||
| 10616 | #define ID3D12VideoEncodeCommandList4_SetMarker(This,Metadata,pData,Size) \ | ||
| 10617 | ( (This)->lpVtbl -> SetMarker(This,Metadata,pData,Size) ) | ||
| 10618 | |||
| 10619 | #define ID3D12VideoEncodeCommandList4_BeginEvent(This,Metadata,pData,Size) \ | ||
| 10620 | ( (This)->lpVtbl -> BeginEvent(This,Metadata,pData,Size) ) | ||
| 10621 | |||
| 10622 | #define ID3D12VideoEncodeCommandList4_EndEvent(This) \ | ||
| 10623 | ( (This)->lpVtbl -> EndEvent(This) ) | ||
| 10624 | |||
| 10625 | #define ID3D12VideoEncodeCommandList4_EstimateMotion(This,pMotionEstimator,pOutputArguments,pInputArguments) \ | ||
| 10626 | ( (This)->lpVtbl -> EstimateMotion(This,pMotionEstimator,pOutputArguments,pInputArguments) ) | ||
| 10627 | |||
| 10628 | #define ID3D12VideoEncodeCommandList4_ResolveMotionVectorHeap(This,pOutputArguments,pInputArguments) \ | ||
| 10629 | ( (This)->lpVtbl -> ResolveMotionVectorHeap(This,pOutputArguments,pInputArguments) ) | ||
| 10630 | |||
| 10631 | #define ID3D12VideoEncodeCommandList4_WriteBufferImmediate(This,Count,pParams,pModes) \ | ||
| 10632 | ( (This)->lpVtbl -> WriteBufferImmediate(This,Count,pParams,pModes) ) | ||
| 10633 | |||
| 10634 | #define ID3D12VideoEncodeCommandList4_SetProtectedResourceSession(This,pProtectedResourceSession) \ | ||
| 10635 | ( (This)->lpVtbl -> SetProtectedResourceSession(This,pProtectedResourceSession) ) | ||
| 10636 | |||
| 10637 | |||
| 10638 | #define ID3D12VideoEncodeCommandList4_InitializeExtensionCommand(This,pExtensionCommand,pInitializationParameters,InitializationParametersSizeInBytes) \ | ||
| 10639 | ( (This)->lpVtbl -> InitializeExtensionCommand(This,pExtensionCommand,pInitializationParameters,InitializationParametersSizeInBytes) ) | ||
| 10640 | |||
| 10641 | #define ID3D12VideoEncodeCommandList4_ExecuteExtensionCommand(This,pExtensionCommand,pExecutionParameters,ExecutionParametersSizeInBytes) \ | ||
| 10642 | ( (This)->lpVtbl -> ExecuteExtensionCommand(This,pExtensionCommand,pExecutionParameters,ExecutionParametersSizeInBytes) ) | ||
| 10643 | |||
| 10644 | |||
| 10645 | #define ID3D12VideoEncodeCommandList4_EncodeFrame(This,pEncoder,pHeap,pInputArguments,pOutputArguments) \ | ||
| 10646 | ( (This)->lpVtbl -> EncodeFrame(This,pEncoder,pHeap,pInputArguments,pOutputArguments) ) | ||
| 10647 | |||
| 10648 | #define ID3D12VideoEncodeCommandList4_ResolveEncoderOutputMetadata(This,pInputArguments,pOutputArguments) \ | ||
| 10649 | ( (This)->lpVtbl -> ResolveEncoderOutputMetadata(This,pInputArguments,pOutputArguments) ) | ||
| 10650 | |||
| 10651 | |||
| 10652 | #define ID3D12VideoEncodeCommandList4_Barrier(This,NumBarrierGroups,pBarrierGroups) \ | ||
| 10653 | ( (This)->lpVtbl -> Barrier(This,NumBarrierGroups,pBarrierGroups) ) | ||
| 10654 | |||
| 10655 | |||
| 10656 | #define ID3D12VideoEncodeCommandList4_EncodeFrame1(This,pEncoder,pHeap,pInputArguments,pOutputArguments) \ | ||
| 10657 | ( (This)->lpVtbl -> EncodeFrame1(This,pEncoder,pHeap,pInputArguments,pOutputArguments) ) | ||
| 10658 | |||
| 10659 | #define ID3D12VideoEncodeCommandList4_ResolveEncoderOutputMetadata1(This,pInputArguments,pOutputArguments) \ | ||
| 10660 | ( (This)->lpVtbl -> ResolveEncoderOutputMetadata1(This,pInputArguments,pOutputArguments) ) | ||
| 10661 | |||
| 10662 | #define ID3D12VideoEncodeCommandList4_ResolveInputParamLayout(This,pInputArguments,pOutputArguments) \ | ||
| 10663 | ( (This)->lpVtbl -> ResolveInputParamLayout(This,pInputArguments,pOutputArguments) ) | ||
| 10664 | |||
| 10665 | #endif /* COBJMACROS */ | ||
| 10666 | |||
| 10667 | |||
| 10668 | #endif /* C style interface */ | ||
| 10669 | |||
| 10670 | |||
| 10671 | |||
| 10672 | |||
| 10673 | #endif /* __ID3D12VideoEncodeCommandList4_INTERFACE_DEFINED__ */ | ||
| 10674 | |||
| 10675 | |||
| 10676 | /* interface __MIDL_itf_d3d12video_0000_0030 */ | ||
| 10677 | /* [local] */ | ||
| 10678 | |||
| 10679 | #endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP | WINAPI_PARTITION_GAMES) */ | ||
| 10680 | #pragma endregion | ||
| 10681 | DEFINE_GUID(IID_ID3D12VideoDecoderHeap,0x0946B7C9,0xEBF6,0x4047,0xBB,0x73,0x86,0x83,0xE2,0x7D,0xBB,0x1F); | ||
| 10682 | DEFINE_GUID(IID_ID3D12VideoDevice,0x1F052807,0x0B46,0x4ACC,0x8A,0x89,0x36,0x4F,0x79,0x37,0x18,0xA4); | ||
| 10683 | DEFINE_GUID(IID_ID3D12VideoDecoder,0xC59B6BDC,0x7720,0x4074,0xA1,0x36,0x17,0xA1,0x56,0x03,0x74,0x70); | ||
| 10684 | DEFINE_GUID(IID_ID3D12VideoProcessor,0x304FDB32,0xBEDE,0x410A,0x85,0x45,0x94,0x3A,0xC6,0xA4,0x61,0x38); | ||
| 10685 | DEFINE_GUID(IID_ID3D12VideoDecodeCommandList,0x3B60536E,0xAD29,0x4E64,0xA2,0x69,0xF8,0x53,0x83,0x7E,0x5E,0x53); | ||
| 10686 | DEFINE_GUID(IID_ID3D12VideoProcessCommandList,0xAEB2543A,0x167F,0x4682,0xAC,0xC8,0xD1,0x59,0xED,0x4A,0x62,0x09); | ||
| 10687 | DEFINE_GUID(IID_ID3D12VideoDecodeCommandList1,0xD52F011B,0xB56E,0x453C,0xA0,0x5A,0xA7,0xF3,0x11,0xC8,0xF4,0x72); | ||
| 10688 | DEFINE_GUID(IID_ID3D12VideoProcessCommandList1,0x542C5C4D,0x7596,0x434F,0x8C,0x93,0x4E,0xFA,0x67,0x66,0xF2,0x67); | ||
| 10689 | DEFINE_GUID(IID_ID3D12VideoMotionEstimator,0x33FDAE0E,0x098B,0x428F,0x87,0xBB,0x34,0xB6,0x95,0xDE,0x08,0xF8); | ||
| 10690 | DEFINE_GUID(IID_ID3D12VideoMotionVectorHeap,0x5BE17987,0x743A,0x4061,0x83,0x4B,0x23,0xD2,0x2D,0xAE,0xA5,0x05); | ||
| 10691 | DEFINE_GUID(IID_ID3D12VideoDevice1,0x981611AD,0xA144,0x4C83,0x98,0x90,0xF3,0x0E,0x26,0xD6,0x58,0xAB); | ||
| 10692 | DEFINE_GUID(IID_ID3D12VideoEncodeCommandList,0x8455293A,0x0CBD,0x4831,0x9B,0x39,0xFB,0xDB,0xAB,0x72,0x47,0x23); | ||
| 10693 | DEFINE_GUID(IID_ID3D12VideoDecoder1,0x79A2E5FB,0xCCD2,0x469A,0x9F,0xDE,0x19,0x5D,0x10,0x95,0x1F,0x7E); | ||
| 10694 | DEFINE_GUID(IID_ID3D12VideoDecoderHeap1,0xDA1D98C5,0x539F,0x41B2,0xBF,0x6B,0x11,0x98,0xA0,0x3B,0x6D,0x26); | ||
| 10695 | DEFINE_GUID(IID_ID3D12VideoProcessor1,0xF3CFE615,0x553F,0x425C,0x86,0xD8,0xEE,0x8C,0x1B,0x1F,0xB0,0x1C); | ||
| 10696 | DEFINE_GUID(IID_ID3D12VideoExtensionCommand,0x554E41E8,0xAE8E,0x4A8C,0xB7,0xD2,0x5B,0x4F,0x27,0x4A,0x30,0xE4); | ||
| 10697 | DEFINE_GUID(IID_ID3D12VideoDevice2,0xF019AC49,0xF838,0x4A95,0x9B,0x17,0x57,0x94,0x37,0xC8,0xF5,0x13); | ||
| 10698 | DEFINE_GUID(IID_ID3D12VideoDecodeCommandList2,0x6e120880,0xc114,0x4153,0x80,0x36,0xd2,0x47,0x05,0x1e,0x17,0x29); | ||
| 10699 | DEFINE_GUID(IID_ID3D12VideoDecodeCommandList3,0x2aee8c37,0x9562,0x42da,0x8a,0xbf,0x61,0xef,0xeb,0x2e,0x45,0x13); | ||
| 10700 | DEFINE_GUID(IID_ID3D12VideoProcessCommandList2,0xdb525ae4,0x6ad6,0x473c,0xba,0xa7,0x59,0xb2,0xe3,0x70,0x82,0xe4); | ||
| 10701 | DEFINE_GUID(IID_ID3D12VideoProcessCommandList3,0x1a0a4ca4,0x9f08,0x40ce,0x95,0x58,0xb4,0x11,0xfd,0x26,0x66,0xff); | ||
| 10702 | DEFINE_GUID(IID_ID3D12VideoEncodeCommandList1,0x94971eca,0x2bdb,0x4769,0x88,0xcf,0x36,0x75,0xea,0x75,0x7e,0xbc); | ||
| 10703 | DEFINE_GUID(IID_ID3D12VideoEncoder,0x2E0D212D,0x8DF9,0x44A6,0xA7,0x70,0xBB,0x28,0x9B,0x18,0x27,0x37); | ||
| 10704 | DEFINE_GUID(IID_ID3D12VideoEncoderHeap,0x22B35D96,0x876A,0x44C0,0xB2,0x5E,0xFB,0x8C,0x9C,0x7F,0x1C,0x4A); | ||
| 10705 | DEFINE_GUID(IID_ID3D12VideoDevice3,0x4243ADB4,0x3A32,0x4666,0x97,0x3C,0x0C,0xCC,0x56,0x25,0xDC,0x44); | ||
| 10706 | DEFINE_GUID(IID_ID3D12VideoEncodeCommandList2,0x895491e2,0xe701,0x46a9,0x9a,0x1f,0x8d,0x34,0x80,0xed,0x86,0x7a); | ||
| 10707 | DEFINE_GUID(IID_ID3D12VideoEncodeCommandList3,0x7f027b22,0x1515,0x4e85,0xaa,0x0d,0x02,0x64,0x86,0x58,0x05,0x76); | ||
| 10708 | DEFINE_GUID(IID_ID3D12VideoEncoderHeap1,0xea8f1968,0x4aa0,0x43a4,0x9d,0x30,0xba,0x86,0xec,0x84,0xd4,0xf9); | ||
| 10709 | DEFINE_GUID(IID_ID3D12VideoDevice4,0xe59ad09e,0xf1ae,0x42bb,0x89,0x83,0x9f,0x6e,0x55,0x86,0xc4,0xeb); | ||
| 10710 | DEFINE_GUID(IID_ID3D12VideoEncodeCommandList4,0x69aeb5b7,0x55f2,0x4012,0x8b,0x73,0x3a,0x88,0xd6,0x5a,0x20,0x4c); | ||
| 10711 | |||
| 10712 | |||
| 10713 | extern RPC_IF_HANDLE __MIDL_itf_d3d12video_0000_0030_v0_0_c_ifspec; | ||
| 10714 | extern RPC_IF_HANDLE __MIDL_itf_d3d12video_0000_0030_v0_0_s_ifspec; | ||
| 10715 | |||
| 10716 | /* Additional Prototypes for ALL interfaces */ | ||
| 10717 | |||
| 10718 | /* end of Additional Prototypes */ | ||
| 10719 | |||
| 10720 | #ifdef __cplusplus | ||
| 10721 | } | ||
| 10722 | #endif | ||
| 10723 | |||
| 10724 | #endif | ||
| 10725 | |||
| 10726 | |||
diff --git a/contrib/microsoft.direct3d.d3d12.1.618.4/build/native/include/d3d12video.idl b/contrib/microsoft.direct3d.d3d12.1.618.4/build/native/include/d3d12video.idl new file mode 100644 index 0000000..b2c930b --- /dev/null +++ b/contrib/microsoft.direct3d.d3d12.1.618.4/build/native/include/d3d12video.idl | |||
| @@ -0,0 +1,3818 @@ | |||
| 1 | /*------------------------------------------------------------------------------------- | ||
| 2 | * | ||
| 3 | * Copyright (c) Microsoft Corporation | ||
| 4 | * Licensed under the MIT license | ||
| 5 | * | ||
| 6 | *-------------------------------------------------------------------------------------*/ | ||
| 7 | import "oaidl.idl"; | ||
| 8 | import "ocidl.idl"; | ||
| 9 | |||
| 10 | import "dxgicommon.idl"; | ||
| 11 | import "d3d12.idl"; | ||
| 12 | |||
| 13 | cpp_quote("#include <winapifamily.h>") | ||
| 14 | |||
| 15 | #pragma region App Family | ||
| 16 | cpp_quote("#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP | WINAPI_PARTITION_GAMES)") | ||
| 17 | |||
| 18 | typedef enum D3D12_VIDEO_FIELD_TYPE | ||
| 19 | { | ||
| 20 | D3D12_VIDEO_FIELD_TYPE_NONE = 0, | ||
| 21 | D3D12_VIDEO_FIELD_TYPE_INTERLACED_TOP_FIELD_FIRST = 1, | ||
| 22 | D3D12_VIDEO_FIELD_TYPE_INTERLACED_BOTTOM_FIELD_FIRST = 2, | ||
| 23 | } D3D12_VIDEO_FIELD_TYPE; | ||
| 24 | |||
| 25 | typedef enum D3D12_VIDEO_FRAME_STEREO_FORMAT | ||
| 26 | { | ||
| 27 | D3D12_VIDEO_FRAME_STEREO_FORMAT_NONE = 0, | ||
| 28 | D3D12_VIDEO_FRAME_STEREO_FORMAT_MONO = 1, | ||
| 29 | D3D12_VIDEO_FRAME_STEREO_FORMAT_HORIZONTAL = 2, | ||
| 30 | D3D12_VIDEO_FRAME_STEREO_FORMAT_VERTICAL = 3, | ||
| 31 | D3D12_VIDEO_FRAME_STEREO_FORMAT_SEPARATE = 4, | ||
| 32 | } D3D12_VIDEO_FRAME_STEREO_FORMAT; | ||
| 33 | |||
| 34 | typedef struct D3D12_VIDEO_FORMAT | ||
| 35 | { | ||
| 36 | DXGI_FORMAT Format; | ||
| 37 | DXGI_COLOR_SPACE_TYPE ColorSpace; | ||
| 38 | } D3D12_VIDEO_FORMAT; | ||
| 39 | |||
| 40 | typedef struct D3D12_VIDEO_SAMPLE | ||
| 41 | { | ||
| 42 | UINT Width; | ||
| 43 | UINT Height; | ||
| 44 | D3D12_VIDEO_FORMAT Format; | ||
| 45 | } D3D12_VIDEO_SAMPLE; | ||
| 46 | |||
| 47 | typedef enum D3D12_VIDEO_FRAME_CODED_INTERLACE_TYPE | ||
| 48 | { | ||
| 49 | D3D12_VIDEO_FRAME_CODED_INTERLACE_TYPE_NONE = 0, | ||
| 50 | D3D12_VIDEO_FRAME_CODED_INTERLACE_TYPE_FIELD_BASED = 1, | ||
| 51 | } D3D12_VIDEO_FRAME_CODED_INTERLACE_TYPE; | ||
| 52 | |||
| 53 | typedef enum D3D12_FEATURE_VIDEO | ||
| 54 | { | ||
| 55 | D3D12_FEATURE_VIDEO_DECODE_SUPPORT = 0, | ||
| 56 | D3D12_FEATURE_VIDEO_DECODE_PROFILES = 1, | ||
| 57 | D3D12_FEATURE_VIDEO_DECODE_FORMATS = 2, | ||
| 58 | D3D12_FEATURE_VIDEO_DECODE_CONVERSION_SUPPORT = 3, | ||
| 59 | D3D12_FEATURE_VIDEO_PROCESS_SUPPORT = 5, | ||
| 60 | D3D12_FEATURE_VIDEO_PROCESS_MAX_INPUT_STREAMS = 6, | ||
| 61 | D3D12_FEATURE_VIDEO_PROCESS_REFERENCE_INFO = 7, | ||
| 62 | D3D12_FEATURE_VIDEO_DECODER_HEAP_SIZE = 8, | ||
| 63 | D3D12_FEATURE_VIDEO_PROCESSOR_SIZE = 9, | ||
| 64 | D3D12_FEATURE_VIDEO_DECODE_PROFILE_COUNT = 10, | ||
| 65 | D3D12_FEATURE_VIDEO_DECODE_FORMAT_COUNT = 11, | ||
| 66 | D3D12_FEATURE_VIDEO_ARCHITECTURE = 17, | ||
| 67 | D3D12_FEATURE_VIDEO_DECODE_HISTOGRAM = 18, | ||
| 68 | D3D12_FEATURE_VIDEO_FEATURE_AREA_SUPPORT = 19, | ||
| 69 | D3D12_FEATURE_VIDEO_MOTION_ESTIMATOR = 20, | ||
| 70 | D3D12_FEATURE_VIDEO_MOTION_ESTIMATOR_SIZE = 21, | ||
| 71 | D3D12_FEATURE_VIDEO_EXTENSION_COMMAND_COUNT = 22, | ||
| 72 | D3D12_FEATURE_VIDEO_EXTENSION_COMMANDS = 23, | ||
| 73 | D3D12_FEATURE_VIDEO_EXTENSION_COMMAND_PARAMETER_COUNT = 24, | ||
| 74 | D3D12_FEATURE_VIDEO_EXTENSION_COMMAND_PARAMETERS = 25, | ||
| 75 | D3D12_FEATURE_VIDEO_EXTENSION_COMMAND_SUPPORT = 26, | ||
| 76 | D3D12_FEATURE_VIDEO_EXTENSION_COMMAND_SIZE = 27, | ||
| 77 | D3D12_FEATURE_VIDEO_DECODE_PROTECTED_RESOURCES = 28, | ||
| 78 | D3D12_FEATURE_VIDEO_PROCESS_PROTECTED_RESOURCES = 29, | ||
| 79 | D3D12_FEATURE_VIDEO_MOTION_ESTIMATOR_PROTECTED_RESOURCES = 30, | ||
| 80 | D3D12_FEATURE_VIDEO_DECODER_HEAP_SIZE1 = 31, | ||
| 81 | D3D12_FEATURE_VIDEO_PROCESSOR_SIZE1 = 32, | ||
| 82 | D3D12_FEATURE_VIDEO_ENCODER_CODEC = 33, | ||
| 83 | D3D12_FEATURE_VIDEO_ENCODER_PROFILE_LEVEL = 34, | ||
| 84 | D3D12_FEATURE_VIDEO_ENCODER_OUTPUT_RESOLUTION_RATIOS_COUNT = 35, | ||
| 85 | D3D12_FEATURE_VIDEO_ENCODER_OUTPUT_RESOLUTION = 36, | ||
| 86 | D3D12_FEATURE_VIDEO_ENCODER_INPUT_FORMAT = 37, | ||
| 87 | D3D12_FEATURE_VIDEO_ENCODER_RATE_CONTROL_MODE = 38, | ||
| 88 | D3D12_FEATURE_VIDEO_ENCODER_INTRA_REFRESH_MODE = 39, | ||
| 89 | D3D12_FEATURE_VIDEO_ENCODER_FRAME_SUBREGION_LAYOUT_MODE = 40, | ||
| 90 | D3D12_FEATURE_VIDEO_ENCODER_HEAP_SIZE = 41, | ||
| 91 | D3D12_FEATURE_VIDEO_ENCODER_CODEC_CONFIGURATION_SUPPORT = 42, | ||
| 92 | D3D12_FEATURE_VIDEO_ENCODER_SUPPORT = 43, | ||
| 93 | D3D12_FEATURE_VIDEO_ENCODER_CODEC_PICTURE_CONTROL_SUPPORT = 44, | ||
| 94 | D3D12_FEATURE_VIDEO_ENCODER_RESOURCE_REQUIREMENTS = 45, | ||
| 95 | D3D12_FEATURE_VIDEO_ENCODER_FRAME_SUBREGION_LAYOUT_CONFIG = 46, | ||
| 96 | D3D12_FEATURE_VIDEO_ENCODER_SUPPORT1 = 47, | ||
| 97 | D3D12_FEATURE_VIDEO_ENCODER_RESOURCE_REQUIREMENTS1 = 48, | ||
| 98 | D3D12_FEATURE_VIDEO_ENCODER_RESOLVE_INPUT_PARAM_LAYOUT = 49, | ||
| 99 | D3D12_FEATURE_VIDEO_ENCODER_QPMAP_INPUT = 50, | ||
| 100 | D3D12_FEATURE_VIDEO_ENCODER_DIRTY_REGIONS = 51, | ||
| 101 | D3D12_FEATURE_VIDEO_ENCODER_MOTION_SEARCH = 52, | ||
| 102 | D3D12_FEATURE_VIDEO_ENCODER_SUPPORT2 = 55, | ||
| 103 | D3D12_FEATURE_VIDEO_ENCODER_HEAP_SIZE1 = 56, | ||
| 104 | D3D12_FEATURE_VIDEO_ENCODER_RATE_CONTROL_FRAME_ANALYSIS = 57, | ||
| 105 | |||
| 106 | } D3D12_FEATURE_VIDEO; | ||
| 107 | |||
| 108 | typedef enum D3D12_BITSTREAM_ENCRYPTION_TYPE | ||
| 109 | { | ||
| 110 | D3D12_BITSTREAM_ENCRYPTION_TYPE_NONE = 0, | ||
| 111 | } D3D12_BITSTREAM_ENCRYPTION_TYPE; | ||
| 112 | |||
| 113 | typedef struct D3D12_VIDEO_DECODE_CONFIGURATION | ||
| 114 | { | ||
| 115 | GUID DecodeProfile; | ||
| 116 | D3D12_BITSTREAM_ENCRYPTION_TYPE BitstreamEncryption; | ||
| 117 | D3D12_VIDEO_FRAME_CODED_INTERLACE_TYPE InterlaceType; | ||
| 118 | } D3D12_VIDEO_DECODE_CONFIGURATION; | ||
| 119 | |||
| 120 | typedef struct D3D12_VIDEO_DECODER_DESC | ||
| 121 | { | ||
| 122 | UINT NodeMask; | ||
| 123 | D3D12_VIDEO_DECODE_CONFIGURATION Configuration; | ||
| 124 | } D3D12_VIDEO_DECODER_DESC; | ||
| 125 | |||
| 126 | typedef struct D3D12_VIDEO_DECODER_HEAP_DESC | ||
| 127 | { | ||
| 128 | UINT NodeMask; | ||
| 129 | D3D12_VIDEO_DECODE_CONFIGURATION Configuration; | ||
| 130 | UINT DecodeWidth; | ||
| 131 | UINT DecodeHeight; | ||
| 132 | DXGI_FORMAT Format; | ||
| 133 | DXGI_RATIONAL FrameRate; | ||
| 134 | UINT BitRate; | ||
| 135 | UINT MaxDecodePictureBufferCount; | ||
| 136 | } D3D12_VIDEO_DECODER_HEAP_DESC; | ||
| 137 | |||
| 138 | typedef struct D3D12_VIDEO_SIZE_RANGE | ||
| 139 | { | ||
| 140 | UINT MaxWidth; | ||
| 141 | UINT MaxHeight; | ||
| 142 | UINT MinWidth; | ||
| 143 | UINT MinHeight; | ||
| 144 | } D3D12_VIDEO_SIZE_RANGE; | ||
| 145 | |||
| 146 | typedef enum D3D12_VIDEO_PROCESS_FILTER | ||
| 147 | { | ||
| 148 | D3D12_VIDEO_PROCESS_FILTER_BRIGHTNESS = 0, | ||
| 149 | D3D12_VIDEO_PROCESS_FILTER_CONTRAST = 1, | ||
| 150 | D3D12_VIDEO_PROCESS_FILTER_HUE = 2, | ||
| 151 | D3D12_VIDEO_PROCESS_FILTER_SATURATION = 3, | ||
| 152 | D3D12_VIDEO_PROCESS_FILTER_NOISE_REDUCTION = 4, | ||
| 153 | D3D12_VIDEO_PROCESS_FILTER_EDGE_ENHANCEMENT = 5, | ||
| 154 | D3D12_VIDEO_PROCESS_FILTER_ANAMORPHIC_SCALING = 6, | ||
| 155 | D3D12_VIDEO_PROCESS_FILTER_STEREO_ADJUSTMENT = 7, | ||
| 156 | } D3D12_VIDEO_PROCESS_FILTER; | ||
| 157 | |||
| 158 | typedef enum D3D12_VIDEO_PROCESS_FILTER_FLAGS | ||
| 159 | { | ||
| 160 | D3D12_VIDEO_PROCESS_FILTER_FLAG_NONE = 0x0, | ||
| 161 | D3D12_VIDEO_PROCESS_FILTER_FLAG_BRIGHTNESS = (1 << D3D12_VIDEO_PROCESS_FILTER_BRIGHTNESS), | ||
| 162 | D3D12_VIDEO_PROCESS_FILTER_FLAG_CONTRAST = (1 << D3D12_VIDEO_PROCESS_FILTER_CONTRAST), | ||
| 163 | D3D12_VIDEO_PROCESS_FILTER_FLAG_HUE = (1 << D3D12_VIDEO_PROCESS_FILTER_HUE), | ||
| 164 | D3D12_VIDEO_PROCESS_FILTER_FLAG_SATURATION = (1 << D3D12_VIDEO_PROCESS_FILTER_SATURATION), | ||
| 165 | D3D12_VIDEO_PROCESS_FILTER_FLAG_NOISE_REDUCTION = (1 << D3D12_VIDEO_PROCESS_FILTER_NOISE_REDUCTION), | ||
| 166 | D3D12_VIDEO_PROCESS_FILTER_FLAG_EDGE_ENHANCEMENT = (1 << D3D12_VIDEO_PROCESS_FILTER_EDGE_ENHANCEMENT), | ||
| 167 | D3D12_VIDEO_PROCESS_FILTER_FLAG_ANAMORPHIC_SCALING = (1 << D3D12_VIDEO_PROCESS_FILTER_ANAMORPHIC_SCALING), | ||
| 168 | D3D12_VIDEO_PROCESS_FILTER_FLAG_STEREO_ADJUSTMENT = (1 << D3D12_VIDEO_PROCESS_FILTER_STEREO_ADJUSTMENT), | ||
| 169 | |||
| 170 | } D3D12_VIDEO_PROCESS_FILTER_FLAGS; | ||
| 171 | cpp_quote("DEFINE_ENUM_FLAG_OPERATORS(D3D12_VIDEO_PROCESS_FILTER_FLAGS )") | ||
| 172 | |||
| 173 | typedef enum D3D12_VIDEO_PROCESS_DEINTERLACE_FLAGS | ||
| 174 | { | ||
| 175 | D3D12_VIDEO_PROCESS_DEINTERLACE_FLAG_NONE = 0x0, | ||
| 176 | D3D12_VIDEO_PROCESS_DEINTERLACE_FLAG_BOB = 0x1, | ||
| 177 | D3D12_VIDEO_PROCESS_DEINTERLACE_FLAG_CUSTOM = 0x80000000, | ||
| 178 | |||
| 179 | } D3D12_VIDEO_PROCESS_DEINTERLACE_FLAGS; | ||
| 180 | cpp_quote("DEFINE_ENUM_FLAG_OPERATORS(D3D12_VIDEO_PROCESS_DEINTERLACE_FLAGS )") | ||
| 181 | |||
| 182 | typedef struct D3D12_VIDEO_PROCESS_ALPHA_BLENDING | ||
| 183 | { | ||
| 184 | BOOL Enable; | ||
| 185 | FLOAT Alpha; | ||
| 186 | } D3D12_VIDEO_PROCESS_ALPHA_BLENDING; | ||
| 187 | |||
| 188 | typedef struct D3D12_VIDEO_PROCESS_LUMA_KEY | ||
| 189 | { | ||
| 190 | BOOL Enable; | ||
| 191 | FLOAT Lower; | ||
| 192 | FLOAT Upper; | ||
| 193 | } D3D12_VIDEO_PROCESS_LUMA_KEY; | ||
| 194 | |||
| 195 | typedef struct D3D12_VIDEO_PROCESS_INPUT_STREAM_DESC | ||
| 196 | { | ||
| 197 | DXGI_FORMAT Format; | ||
| 198 | DXGI_COLOR_SPACE_TYPE ColorSpace; | ||
| 199 | DXGI_RATIONAL SourceAspectRatio; | ||
| 200 | DXGI_RATIONAL DestinationAspectRatio; | ||
| 201 | DXGI_RATIONAL FrameRate; | ||
| 202 | D3D12_VIDEO_SIZE_RANGE SourceSizeRange; | ||
| 203 | D3D12_VIDEO_SIZE_RANGE DestinationSizeRange; | ||
| 204 | BOOL EnableOrientation; | ||
| 205 | D3D12_VIDEO_PROCESS_FILTER_FLAGS FilterFlags; | ||
| 206 | D3D12_VIDEO_FRAME_STEREO_FORMAT StereoFormat; | ||
| 207 | D3D12_VIDEO_FIELD_TYPE FieldType; | ||
| 208 | D3D12_VIDEO_PROCESS_DEINTERLACE_FLAGS DeinterlaceMode; | ||
| 209 | BOOL EnableAlphaBlending; | ||
| 210 | D3D12_VIDEO_PROCESS_LUMA_KEY LumaKey; | ||
| 211 | UINT NumPastFrames; | ||
| 212 | UINT NumFutureFrames; | ||
| 213 | BOOL EnableAutoProcessing; | ||
| 214 | } D3D12_VIDEO_PROCESS_INPUT_STREAM_DESC; | ||
| 215 | |||
| 216 | typedef enum D3D12_VIDEO_PROCESS_ALPHA_FILL_MODE | ||
| 217 | { | ||
| 218 | D3D12_VIDEO_PROCESS_ALPHA_FILL_MODE_OPAQUE = 0, | ||
| 219 | D3D12_VIDEO_PROCESS_ALPHA_FILL_MODE_BACKGROUND = 1, | ||
| 220 | D3D12_VIDEO_PROCESS_ALPHA_FILL_MODE_DESTINATION = 2, | ||
| 221 | D3D12_VIDEO_PROCESS_ALPHA_FILL_MODE_SOURCE_STREAM = 3, | ||
| 222 | } D3D12_VIDEO_PROCESS_ALPHA_FILL_MODE; | ||
| 223 | |||
| 224 | typedef struct D3D12_VIDEO_PROCESS_OUTPUT_STREAM_DESC | ||
| 225 | { | ||
| 226 | DXGI_FORMAT Format; | ||
| 227 | DXGI_COLOR_SPACE_TYPE ColorSpace; | ||
| 228 | D3D12_VIDEO_PROCESS_ALPHA_FILL_MODE AlphaFillMode; | ||
| 229 | UINT AlphaFillModeSourceStreamIndex; | ||
| 230 | FLOAT BackgroundColor[4]; | ||
| 231 | DXGI_RATIONAL FrameRate; | ||
| 232 | BOOL EnableStereo; | ||
| 233 | } D3D12_VIDEO_PROCESS_OUTPUT_STREAM_DESC; | ||
| 234 | |||
| 235 | [uuid(0946B7C9-EBF6-4047-BB73-8683E27DBB1F), object, local, pointer_default(unique)] | ||
| 236 | interface ID3D12VideoDecoderHeap | ||
| 237 | : ID3D12Pageable | ||
| 238 | { | ||
| 239 | D3D12_VIDEO_DECODER_HEAP_DESC GetDesc(); | ||
| 240 | } | ||
| 241 | |||
| 242 | [uuid(1F052807-0B46-4ACC-8A89-364F793718A4), object, local, pointer_default(unique)] | ||
| 243 | interface ID3D12VideoDevice | ||
| 244 | : IUnknown | ||
| 245 | { | ||
| 246 | HRESULT CheckFeatureSupport( | ||
| 247 | D3D12_FEATURE_VIDEO FeatureVideo, | ||
| 248 | [annotation("_Inout_updates_bytes_(FeatureSupportDataSize)")] void* pFeatureSupportData, | ||
| 249 | UINT FeatureSupportDataSize | ||
| 250 | ); | ||
| 251 | |||
| 252 | HRESULT CreateVideoDecoder( | ||
| 253 | [annotation("_In_")] const D3D12_VIDEO_DECODER_DESC* pDesc, | ||
| 254 | [annotation("_In_")] REFIID riid, // Expected: IID_ID3D12VideoDecoder, | ||
| 255 | [out, iid_is(riid), annotation("_COM_Outptr_")] void** ppVideoDecoder | ||
| 256 | ); | ||
| 257 | |||
| 258 | HRESULT CreateVideoDecoderHeap( | ||
| 259 | [annotation("_In_")]const D3D12_VIDEO_DECODER_HEAP_DESC* pVideoDecoderHeapDesc, | ||
| 260 | [annotation("_In_")] REFIID riid, // Expected: IID_ID3D12VideoDecoderHeap, | ||
| 261 | [out, iid_is(riid), annotation("_COM_Outptr_")] void** ppVideoDecoderHeap | ||
| 262 | ); | ||
| 263 | |||
| 264 | HRESULT CreateVideoProcessor( | ||
| 265 | UINT NodeMask, | ||
| 266 | [annotation("_In_")] const D3D12_VIDEO_PROCESS_OUTPUT_STREAM_DESC* pOutputStreamDesc, | ||
| 267 | UINT NumInputStreamDescs, | ||
| 268 | [annotation("_In_reads_(NumInputStreamDescs)")]const D3D12_VIDEO_PROCESS_INPUT_STREAM_DESC *pInputStreamDescs, | ||
| 269 | [annotation("_In_")] REFIID riid, // Expected: IID_ID3D12VideoProcessor, | ||
| 270 | [out, iid_is(riid), annotation("_COM_Outptr_")] void **ppVideoProcessor | ||
| 271 | ); | ||
| 272 | } | ||
| 273 | |||
| 274 | [uuid(C59B6BDC-7720-4074-A136-17A156037470), object, local, pointer_default(unique)] | ||
| 275 | interface ID3D12VideoDecoder | ||
| 276 | : ID3D12Pageable | ||
| 277 | { | ||
| 278 | D3D12_VIDEO_DECODER_DESC GetDesc(); | ||
| 279 | } | ||
| 280 | |||
| 281 | typedef enum D3D12_VIDEO_DECODE_TIER | ||
| 282 | { | ||
| 283 | D3D12_VIDEO_DECODE_TIER_NOT_SUPPORTED = 0, | ||
| 284 | D3D12_VIDEO_DECODE_TIER_1 = 1, | ||
| 285 | D3D12_VIDEO_DECODE_TIER_2 = 2, | ||
| 286 | D3D12_VIDEO_DECODE_TIER_3 = 3, | ||
| 287 | } D3D12_VIDEO_DECODE_TIER; | ||
| 288 | |||
| 289 | typedef enum D3D12_VIDEO_DECODE_SUPPORT_FLAGS | ||
| 290 | { | ||
| 291 | D3D12_VIDEO_DECODE_SUPPORT_FLAG_NONE = 0x0, | ||
| 292 | D3D12_VIDEO_DECODE_SUPPORT_FLAG_SUPPORTED = 0x1, | ||
| 293 | |||
| 294 | } D3D12_VIDEO_DECODE_SUPPORT_FLAGS; | ||
| 295 | cpp_quote("DEFINE_ENUM_FLAG_OPERATORS(D3D12_VIDEO_DECODE_SUPPORT_FLAGS )") | ||
| 296 | |||
| 297 | typedef enum D3D12_VIDEO_DECODE_CONFIGURATION_FLAGS | ||
| 298 | { | ||
| 299 | D3D12_VIDEO_DECODE_CONFIGURATION_FLAG_NONE = 0x0, | ||
| 300 | D3D12_VIDEO_DECODE_CONFIGURATION_FLAG_HEIGHT_ALIGNMENT_MULTIPLE_32_REQUIRED = 0x1, | ||
| 301 | D3D12_VIDEO_DECODE_CONFIGURATION_FLAG_POST_PROCESSING_SUPPORTED = 0x2, | ||
| 302 | D3D12_VIDEO_DECODE_CONFIGURATION_FLAG_REFERENCE_ONLY_ALLOCATIONS_REQUIRED = 0x4, | ||
| 303 | D3D12_VIDEO_DECODE_CONFIGURATION_FLAG_ALLOW_RESOLUTION_CHANGE_ON_NON_KEY_FRAME = 0x8, | ||
| 304 | |||
| 305 | } D3D12_VIDEO_DECODE_CONFIGURATION_FLAGS; | ||
| 306 | cpp_quote("DEFINE_ENUM_FLAG_OPERATORS(D3D12_VIDEO_DECODE_CONFIGURATION_FLAGS )") | ||
| 307 | |||
| 308 | typedef enum D3D12_VIDEO_DECODE_STATUS | ||
| 309 | { | ||
| 310 | D3D12_VIDEO_DECODE_STATUS_OK = 0, | ||
| 311 | D3D12_VIDEO_DECODE_STATUS_CONTINUE = 1, | ||
| 312 | D3D12_VIDEO_DECODE_STATUS_CONTINUE_SKIP_DISPLAY = 2, | ||
| 313 | D3D12_VIDEO_DECODE_STATUS_RESTART = 3, | ||
| 314 | D3D12_VIDEO_DECODE_STATUS_RATE_EXCEEDED = 4, | ||
| 315 | } D3D12_VIDEO_DECODE_STATUS; | ||
| 316 | |||
| 317 | typedef enum D3D12_VIDEO_DECODE_ARGUMENT_TYPE | ||
| 318 | { | ||
| 319 | D3D12_VIDEO_DECODE_ARGUMENT_TYPE_PICTURE_PARAMETERS = 0, | ||
| 320 | D3D12_VIDEO_DECODE_ARGUMENT_TYPE_INVERSE_QUANTIZATION_MATRIX = 1, | ||
| 321 | D3D12_VIDEO_DECODE_ARGUMENT_TYPE_SLICE_CONTROL = 2, | ||
| 322 | D3D12_VIDEO_DECODE_ARGUMENT_TYPE_HUFFMAN_TABLE = 3, | ||
| 323 | } D3D12_VIDEO_DECODE_ARGUMENT_TYPE; | ||
| 324 | |||
| 325 | typedef struct D3D12_FEATURE_DATA_VIDEO_DECODE_SUPPORT | ||
| 326 | { | ||
| 327 | UINT NodeIndex; // input | ||
| 328 | D3D12_VIDEO_DECODE_CONFIGURATION Configuration; // input | ||
| 329 | UINT Width; // input | ||
| 330 | UINT Height; // input | ||
| 331 | DXGI_FORMAT DecodeFormat; // input | ||
| 332 | DXGI_RATIONAL FrameRate; // input | ||
| 333 | UINT BitRate; // input | ||
| 334 | D3D12_VIDEO_DECODE_SUPPORT_FLAGS SupportFlags; // output | ||
| 335 | D3D12_VIDEO_DECODE_CONFIGURATION_FLAGS ConfigurationFlags; // output | ||
| 336 | D3D12_VIDEO_DECODE_TIER DecodeTier; // output | ||
| 337 | } D3D12_FEATURE_DATA_VIDEO_DECODE_SUPPORT; | ||
| 338 | |||
| 339 | typedef struct D3D12_FEATURE_DATA_VIDEO_DECODE_PROFILE_COUNT | ||
| 340 | { | ||
| 341 | UINT NodeIndex; // input | ||
| 342 | UINT ProfileCount; // output | ||
| 343 | } D3D12_FEATURE_DATA_VIDEO_DECODE_PROFILE_COUNT; | ||
| 344 | |||
| 345 | typedef struct D3D12_FEATURE_DATA_VIDEO_DECODE_PROFILES | ||
| 346 | { | ||
| 347 | UINT NodeIndex; // input | ||
| 348 | UINT ProfileCount; // input | ||
| 349 | [annotation("_Field_size_full_(ProfileCount)")] GUID *pProfiles; // output. The list of supported profiles. The caller allocates storage for the profile list before calling CheckFeatureSupport. | ||
| 350 | } D3D12_FEATURE_DATA_VIDEO_DECODE_PROFILES; | ||
| 351 | |||
| 352 | typedef struct D3D12_FEATURE_DATA_VIDEO_DECODE_FORMAT_COUNT | ||
| 353 | { | ||
| 354 | UINT NodeIndex; // input | ||
| 355 | D3D12_VIDEO_DECODE_CONFIGURATION Configuration; // input | ||
| 356 | UINT FormatCount; // output | ||
| 357 | } D3D12_FEATURE_DATA_VIDEO_DECODE_FORMAT_COUNT; | ||
| 358 | |||
| 359 | typedef struct D3D12_FEATURE_DATA_VIDEO_DECODE_FORMATS | ||
| 360 | { | ||
| 361 | UINT NodeIndex; // input | ||
| 362 | D3D12_VIDEO_DECODE_CONFIGURATION Configuration; // input | ||
| 363 | UINT FormatCount; // input | ||
| 364 | [annotation("_Field_size_full_(FormatCount)")] DXGI_FORMAT *pOutputFormats; // output. The list of supported video formats. The caller allocates storage for the format list before calling CheckFeatureSupport. | ||
| 365 | } D3D12_FEATURE_DATA_VIDEO_DECODE_FORMATS; | ||
| 366 | |||
| 367 | typedef struct D3D12_FEATURE_DATA_VIDEO_ARCHITECTURE | ||
| 368 | { | ||
| 369 | BOOL IOCoherent; | ||
| 370 | } D3D12_FEATURE_DATA_VIDEO_ARCHITECTURE; | ||
| 371 | |||
| 372 | typedef enum D3D12_VIDEO_DECODE_HISTOGRAM_COMPONENT | ||
| 373 | { | ||
| 374 | D3D12_VIDEO_DECODE_HISTOGRAM_COMPONENT_Y = 0, | ||
| 375 | D3D12_VIDEO_DECODE_HISTOGRAM_COMPONENT_U = 1, | ||
| 376 | D3D12_VIDEO_DECODE_HISTOGRAM_COMPONENT_V = 2, | ||
| 377 | |||
| 378 | D3D12_VIDEO_DECODE_HISTOGRAM_COMPONENT_R = 0, | ||
| 379 | D3D12_VIDEO_DECODE_HISTOGRAM_COMPONENT_G = 1, | ||
| 380 | D3D12_VIDEO_DECODE_HISTOGRAM_COMPONENT_B = 2, | ||
| 381 | |||
| 382 | D3D12_VIDEO_DECODE_HISTOGRAM_COMPONENT_A = 3, | ||
| 383 | } D3D12_VIDEO_DECODE_HISTOGRAM_COMPONENT; | ||
| 384 | |||
| 385 | typedef enum D3D12_VIDEO_DECODE_HISTOGRAM_COMPONENT_FLAGS | ||
| 386 | { | ||
| 387 | D3D12_VIDEO_DECODE_HISTOGRAM_COMPONENT_FLAG_NONE = 0x0, | ||
| 388 | |||
| 389 | D3D12_VIDEO_DECODE_HISTOGRAM_COMPONENT_FLAG_Y = (1 << D3D12_VIDEO_DECODE_HISTOGRAM_COMPONENT_Y), | ||
| 390 | D3D12_VIDEO_DECODE_HISTOGRAM_COMPONENT_FLAG_U = (1 << D3D12_VIDEO_DECODE_HISTOGRAM_COMPONENT_U), | ||
| 391 | D3D12_VIDEO_DECODE_HISTOGRAM_COMPONENT_FLAG_V = (1 << D3D12_VIDEO_DECODE_HISTOGRAM_COMPONENT_V), | ||
| 392 | |||
| 393 | D3D12_VIDEO_DECODE_HISTOGRAM_COMPONENT_FLAG_R = (1 << D3D12_VIDEO_DECODE_HISTOGRAM_COMPONENT_R), | ||
| 394 | D3D12_VIDEO_DECODE_HISTOGRAM_COMPONENT_FLAG_G = (1 << D3D12_VIDEO_DECODE_HISTOGRAM_COMPONENT_G), | ||
| 395 | D3D12_VIDEO_DECODE_HISTOGRAM_COMPONENT_FLAG_B = (1 << D3D12_VIDEO_DECODE_HISTOGRAM_COMPONENT_B), | ||
| 396 | |||
| 397 | D3D12_VIDEO_DECODE_HISTOGRAM_COMPONENT_FLAG_A = (1 << D3D12_VIDEO_DECODE_HISTOGRAM_COMPONENT_A), | ||
| 398 | } D3D12_VIDEO_DECODE_HISTOGRAM_COMPONENT_FLAGS; | ||
| 399 | cpp_quote("DEFINE_ENUM_FLAG_OPERATORS(D3D12_VIDEO_DECODE_HISTOGRAM_COMPONENT_FLAGS )") | ||
| 400 | |||
| 401 | typedef struct D3D12_FEATURE_DATA_VIDEO_DECODE_HISTOGRAM | ||
| 402 | { | ||
| 403 | UINT NodeIndex; // in | ||
| 404 | GUID DecodeProfile; // in | ||
| 405 | UINT Width; // in | ||
| 406 | UINT Height; // in | ||
| 407 | DXGI_FORMAT DecodeFormat; // in | ||
| 408 | D3D12_VIDEO_DECODE_HISTOGRAM_COMPONENT_FLAGS Components; // out | ||
| 409 | UINT BinCount; // out | ||
| 410 | UINT CounterBitDepth; // out | ||
| 411 | } D3D12_FEATURE_DATA_VIDEO_DECODE_HISTOGRAM; | ||
| 412 | |||
| 413 | typedef enum D3D12_VIDEO_DECODE_CONVERSION_SUPPORT_FLAGS | ||
| 414 | { | ||
| 415 | D3D12_VIDEO_DECODE_CONVERSION_SUPPORT_FLAG_NONE = 0x0, | ||
| 416 | D3D12_VIDEO_DECODE_CONVERSION_SUPPORT_FLAG_SUPPORTED = 0x1, | ||
| 417 | |||
| 418 | } D3D12_VIDEO_DECODE_CONVERSION_SUPPORT_FLAGS; | ||
| 419 | cpp_quote("DEFINE_ENUM_FLAG_OPERATORS(D3D12_VIDEO_DECODE_CONVERSION_SUPPORT_FLAGS )") | ||
| 420 | |||
| 421 | typedef enum D3D12_VIDEO_SCALE_SUPPORT_FLAGS | ||
| 422 | { | ||
| 423 | D3D12_VIDEO_SCALE_SUPPORT_FLAG_NONE = 0x0, | ||
| 424 | D3D12_VIDEO_SCALE_SUPPORT_FLAG_POW2_ONLY = 0x1, | ||
| 425 | D3D12_VIDEO_SCALE_SUPPORT_FLAG_EVEN_DIMENSIONS_ONLY = 0x2, | ||
| 426 | D3D12_VIDEO_SCALE_SUPPORT_FLAG_DPB_ENCODER_RESOURCES = 0x4, | ||
| 427 | |||
| 428 | } D3D12_VIDEO_SCALE_SUPPORT_FLAGS; | ||
| 429 | cpp_quote("DEFINE_ENUM_FLAG_OPERATORS(D3D12_VIDEO_SCALE_SUPPORT_FLAGS )") | ||
| 430 | |||
| 431 | typedef struct D3D12_VIDEO_SCALE_SUPPORT | ||
| 432 | { | ||
| 433 | D3D12_VIDEO_SIZE_RANGE OutputSizeRange; | ||
| 434 | D3D12_VIDEO_SCALE_SUPPORT_FLAGS Flags; | ||
| 435 | } D3D12_VIDEO_SCALE_SUPPORT; | ||
| 436 | |||
| 437 | typedef struct D3D12_FEATURE_DATA_VIDEO_DECODE_CONVERSION_SUPPORT | ||
| 438 | { | ||
| 439 | UINT NodeIndex; // input | ||
| 440 | D3D12_VIDEO_DECODE_CONFIGURATION Configuration; // input | ||
| 441 | D3D12_VIDEO_SAMPLE DecodeSample; // input | ||
| 442 | D3D12_VIDEO_FORMAT OutputFormat; // input | ||
| 443 | DXGI_RATIONAL FrameRate; // input | ||
| 444 | UINT BitRate; // input | ||
| 445 | D3D12_VIDEO_DECODE_CONVERSION_SUPPORT_FLAGS SupportFlags; // output | ||
| 446 | D3D12_VIDEO_SCALE_SUPPORT ScaleSupport; // output | ||
| 447 | } D3D12_FEATURE_DATA_VIDEO_DECODE_CONVERSION_SUPPORT; | ||
| 448 | |||
| 449 | typedef struct D3D12_FEATURE_DATA_VIDEO_DECODER_HEAP_SIZE | ||
| 450 | { | ||
| 451 | D3D12_VIDEO_DECODER_HEAP_DESC VideoDecoderHeapDesc; // input | ||
| 452 | UINT64 MemoryPoolL0Size; // output | ||
| 453 | UINT64 MemoryPoolL1Size; // output | ||
| 454 | } D3D12_FEATURE_DATA_VIDEO_DECODER_HEAP_SIZE; | ||
| 455 | |||
| 456 | typedef struct D3D12_FEATURE_DATA_VIDEO_PROCESSOR_SIZE | ||
| 457 | { | ||
| 458 | UINT NodeMask; | ||
| 459 | const D3D12_VIDEO_PROCESS_OUTPUT_STREAM_DESC* pOutputStreamDesc; // input | ||
| 460 | UINT NumInputStreamDescs; // input | ||
| 461 | const D3D12_VIDEO_PROCESS_INPUT_STREAM_DESC *pInputStreamDescs; // input | ||
| 462 | UINT64 MemoryPoolL0Size; // output | ||
| 463 | UINT64 MemoryPoolL1Size; // output | ||
| 464 | } D3D12_FEATURE_DATA_VIDEO_PROCESSOR_SIZE; | ||
| 465 | |||
| 466 | typedef struct D3D12_QUERY_DATA_VIDEO_DECODE_STATISTICS | ||
| 467 | { | ||
| 468 | UINT64 Status; // see D3D12_VIDEO_DECODE_STATUS | ||
| 469 | UINT64 NumMacroblocksAffected; | ||
| 470 | DXGI_RATIONAL FrameRate; | ||
| 471 | UINT BitRate; | ||
| 472 | } D3D12_QUERY_DATA_VIDEO_DECODE_STATISTICS; | ||
| 473 | |||
| 474 | typedef struct D3D12_VIDEO_DECODE_FRAME_ARGUMENT | ||
| 475 | { | ||
| 476 | D3D12_VIDEO_DECODE_ARGUMENT_TYPE Type; | ||
| 477 | UINT Size; | ||
| 478 | [annotation("_Field_size_bytes_full_(Size)")] void *pData; | ||
| 479 | } D3D12_VIDEO_DECODE_FRAME_ARGUMENT; | ||
| 480 | |||
| 481 | typedef struct D3D12_VIDEO_DECODE_REFERENCE_FRAMES | ||
| 482 | { | ||
| 483 | UINT NumTexture2Ds; | ||
| 484 | [annotation("_Field_size_full_(NumTexture2Ds)")] ID3D12Resource** ppTexture2Ds; | ||
| 485 | [annotation("_Field_size_full_(NumTexture2Ds)")] UINT* pSubresources; | ||
| 486 | [annotation("_Field_size_full_opt_(NumTexture2Ds)")] ID3D12VideoDecoderHeap** ppHeaps; // If null, assume single decoder heap from input args. | ||
| 487 | } D3D12_VIDEO_DECODE_REFERENCE_FRAMES; | ||
| 488 | |||
| 489 | typedef struct D3D12_VIDEO_DECODE_COMPRESSED_BITSTREAM | ||
| 490 | { | ||
| 491 | ID3D12Resource* pBuffer; | ||
| 492 | UINT64 Offset; | ||
| 493 | UINT64 Size; | ||
| 494 | } D3D12_VIDEO_DECODE_COMPRESSED_BITSTREAM; | ||
| 495 | |||
| 496 | typedef struct D3D12_VIDEO_DECODE_CONVERSION_ARGUMENTS | ||
| 497 | { | ||
| 498 | BOOL Enable; | ||
| 499 | ID3D12Resource* pReferenceTexture2D; | ||
| 500 | UINT ReferenceSubresource; | ||
| 501 | DXGI_COLOR_SPACE_TYPE OutputColorSpace; | ||
| 502 | DXGI_COLOR_SPACE_TYPE DecodeColorSpace; | ||
| 503 | } D3D12_VIDEO_DECODE_CONVERSION_ARGUMENTS; | ||
| 504 | |||
| 505 | typedef struct D3D12_VIDEO_DECODE_INPUT_STREAM_ARGUMENTS | ||
| 506 | { | ||
| 507 | UINT NumFrameArguments; | ||
| 508 | D3D12_VIDEO_DECODE_FRAME_ARGUMENT FrameArguments[D3D12_VIDEO_DECODE_MAX_ARGUMENTS]; | ||
| 509 | D3D12_VIDEO_DECODE_REFERENCE_FRAMES ReferenceFrames; | ||
| 510 | D3D12_VIDEO_DECODE_COMPRESSED_BITSTREAM CompressedBitstream; | ||
| 511 | ID3D12VideoDecoderHeap *pHeap; | ||
| 512 | } D3D12_VIDEO_DECODE_INPUT_STREAM_ARGUMENTS; | ||
| 513 | |||
| 514 | typedef struct D3D12_VIDEO_DECODE_OUTPUT_STREAM_ARGUMENTS | ||
| 515 | { | ||
| 516 | ID3D12Resource* pOutputTexture2D; | ||
| 517 | UINT OutputSubresource; | ||
| 518 | D3D12_VIDEO_DECODE_CONVERSION_ARGUMENTS ConversionArguments; | ||
| 519 | } D3D12_VIDEO_DECODE_OUTPUT_STREAM_ARGUMENTS; | ||
| 520 | |||
| 521 | [uuid(304FDB32-BEDE-410A-8545-943AC6A46138), object, local, pointer_default(unique)] | ||
| 522 | interface ID3D12VideoProcessor | ||
| 523 | : ID3D12Pageable | ||
| 524 | { | ||
| 525 | UINT GetNodeMask(); | ||
| 526 | UINT GetNumInputStreamDescs(); | ||
| 527 | HRESULT GetInputStreamDescs(UINT NumInputStreamDescs, [annotation("_Out_writes_(NumInputStreamDescs)")] D3D12_VIDEO_PROCESS_INPUT_STREAM_DESC *pInputStreamDescs); | ||
| 528 | D3D12_VIDEO_PROCESS_OUTPUT_STREAM_DESC GetOutputStreamDesc(); | ||
| 529 | } | ||
| 530 | |||
| 531 | typedef enum D3D12_VIDEO_PROCESS_FEATURE_FLAGS | ||
| 532 | { | ||
| 533 | D3D12_VIDEO_PROCESS_FEATURE_FLAG_NONE = 0x0, | ||
| 534 | D3D12_VIDEO_PROCESS_FEATURE_FLAG_ALPHA_FILL = 0x1, | ||
| 535 | D3D12_VIDEO_PROCESS_FEATURE_FLAG_LUMA_KEY = 0x2, | ||
| 536 | D3D12_VIDEO_PROCESS_FEATURE_FLAG_STEREO = 0x4, | ||
| 537 | D3D12_VIDEO_PROCESS_FEATURE_FLAG_ROTATION = 0x8, | ||
| 538 | D3D12_VIDEO_PROCESS_FEATURE_FLAG_FLIP = 0x10, | ||
| 539 | D3D12_VIDEO_PROCESS_FEATURE_FLAG_ALPHA_BLENDING = 0x20, | ||
| 540 | D3D12_VIDEO_PROCESS_FEATURE_FLAG_PIXEL_ASPECT_RATIO = 0x40, | ||
| 541 | |||
| 542 | } D3D12_VIDEO_PROCESS_FEATURE_FLAGS; | ||
| 543 | cpp_quote("DEFINE_ENUM_FLAG_OPERATORS(D3D12_VIDEO_PROCESS_FEATURE_FLAGS )") | ||
| 544 | |||
| 545 | typedef enum D3D12_VIDEO_PROCESS_AUTO_PROCESSING_FLAGS | ||
| 546 | { | ||
| 547 | D3D12_VIDEO_PROCESS_AUTO_PROCESSING_FLAG_NONE = 0x0, | ||
| 548 | D3D12_VIDEO_PROCESS_AUTO_PROCESSING_FLAG_DENOISE = 0x01, | ||
| 549 | D3D12_VIDEO_PROCESS_AUTO_PROCESSING_FLAG_DERINGING = 0x02, | ||
| 550 | D3D12_VIDEO_PROCESS_AUTO_PROCESSING_FLAG_EDGE_ENHANCEMENT = 0x04, | ||
| 551 | D3D12_VIDEO_PROCESS_AUTO_PROCESSING_FLAG_COLOR_CORRECTION = 0x08, | ||
| 552 | D3D12_VIDEO_PROCESS_AUTO_PROCESSING_FLAG_FLESH_TONE_MAPPING = 0x10, | ||
| 553 | D3D12_VIDEO_PROCESS_AUTO_PROCESSING_FLAG_IMAGE_STABILIZATION = 0x20, | ||
| 554 | D3D12_VIDEO_PROCESS_AUTO_PROCESSING_FLAG_SUPER_RESOLUTION = 0x40, | ||
| 555 | D3D12_VIDEO_PROCESS_AUTO_PROCESSING_FLAG_ANAMORPHIC_SCALING = 0x80, | ||
| 556 | D3D12_VIDEO_PROCESS_AUTO_PROCESSING_FLAG_CUSTOM = 0x80000000, | ||
| 557 | |||
| 558 | } D3D12_VIDEO_PROCESS_AUTO_PROCESSING_FLAGS; | ||
| 559 | cpp_quote("DEFINE_ENUM_FLAG_OPERATORS(D3D12_VIDEO_PROCESS_AUTO_PROCESSING_FLAGS )") | ||
| 560 | |||
| 561 | typedef enum D3D12_VIDEO_PROCESS_ORIENTATION | ||
| 562 | { | ||
| 563 | D3D12_VIDEO_PROCESS_ORIENTATION_DEFAULT = 0, | ||
| 564 | D3D12_VIDEO_PROCESS_ORIENTATION_FLIP_HORIZONTAL = 1, | ||
| 565 | D3D12_VIDEO_PROCESS_ORIENTATION_CLOCKWISE_90 = 2, | ||
| 566 | D3D12_VIDEO_PROCESS_ORIENTATION_CLOCKWISE_90_FLIP_HORIZONTAL = 3, | ||
| 567 | D3D12_VIDEO_PROCESS_ORIENTATION_CLOCKWISE_180 = 4, | ||
| 568 | D3D12_VIDEO_PROCESS_ORIENTATION_FLIP_VERTICAL = 5, | ||
| 569 | D3D12_VIDEO_PROCESS_ORIENTATION_CLOCKWISE_270 = 6, | ||
| 570 | D3D12_VIDEO_PROCESS_ORIENTATION_CLOCKWISE_270_FLIP_HORIZONTAL = 7, | ||
| 571 | } D3D12_VIDEO_PROCESS_ORIENTATION; | ||
| 572 | |||
| 573 | typedef enum D3D12_VIDEO_PROCESS_INPUT_STREAM_FLAGS | ||
| 574 | { | ||
| 575 | D3D12_VIDEO_PROCESS_INPUT_STREAM_FLAG_NONE = 0x0, | ||
| 576 | D3D12_VIDEO_PROCESS_INPUT_STREAM_FLAG_FRAME_DISCONTINUITY = 0x1, | ||
| 577 | D3D12_VIDEO_PROCESS_INPUT_STREAM_FLAG_FRAME_REPEAT = 0x2, | ||
| 578 | |||
| 579 | } D3D12_VIDEO_PROCESS_INPUT_STREAM_FLAGS; | ||
| 580 | cpp_quote("DEFINE_ENUM_FLAG_OPERATORS(D3D12_VIDEO_PROCESS_INPUT_STREAM_FLAGS )") | ||
| 581 | |||
| 582 | typedef struct D3D12_VIDEO_PROCESS_FILTER_RANGE | ||
| 583 | { | ||
| 584 | INT Minimum; | ||
| 585 | INT Maximum; | ||
| 586 | INT Default; | ||
| 587 | FLOAT Multiplier; | ||
| 588 | } D3D12_VIDEO_PROCESS_FILTER_RANGE; | ||
| 589 | |||
| 590 | typedef enum D3D12_VIDEO_PROCESS_SUPPORT_FLAGS | ||
| 591 | { | ||
| 592 | D3D12_VIDEO_PROCESS_SUPPORT_FLAG_NONE = 0x0, | ||
| 593 | D3D12_VIDEO_PROCESS_SUPPORT_FLAG_SUPPORTED = 0x1, | ||
| 594 | |||
| 595 | } D3D12_VIDEO_PROCESS_SUPPORT_FLAGS; | ||
| 596 | cpp_quote("DEFINE_ENUM_FLAG_OPERATORS(D3D12_VIDEO_PROCESS_SUPPORT_FLAGS )") | ||
| 597 | |||
| 598 | typedef struct D3D12_FEATURE_DATA_VIDEO_PROCESS_SUPPORT | ||
| 599 | { | ||
| 600 | UINT NodeIndex; // input | ||
| 601 | D3D12_VIDEO_SAMPLE InputSample; // input | ||
| 602 | D3D12_VIDEO_FIELD_TYPE InputFieldType; // input | ||
| 603 | D3D12_VIDEO_FRAME_STEREO_FORMAT InputStereoFormat; // input | ||
| 604 | DXGI_RATIONAL InputFrameRate; // input | ||
| 605 | D3D12_VIDEO_FORMAT OutputFormat; // input | ||
| 606 | D3D12_VIDEO_FRAME_STEREO_FORMAT OutputStereoFormat; // input | ||
| 607 | DXGI_RATIONAL OutputFrameRate; // input | ||
| 608 | D3D12_VIDEO_PROCESS_SUPPORT_FLAGS SupportFlags; // output | ||
| 609 | D3D12_VIDEO_SCALE_SUPPORT ScaleSupport; // output | ||
| 610 | D3D12_VIDEO_PROCESS_FEATURE_FLAGS FeatureSupport; // output | ||
| 611 | D3D12_VIDEO_PROCESS_DEINTERLACE_FLAGS DeinterlaceSupport; // output | ||
| 612 | D3D12_VIDEO_PROCESS_AUTO_PROCESSING_FLAGS AutoProcessingSupport; // output | ||
| 613 | D3D12_VIDEO_PROCESS_FILTER_FLAGS FilterSupport; // output | ||
| 614 | D3D12_VIDEO_PROCESS_FILTER_RANGE FilterRangeSupport[D3D12_VIDEO_PROCESS_MAX_FILTERS]; // output | ||
| 615 | } D3D12_FEATURE_DATA_VIDEO_PROCESS_SUPPORT; | ||
| 616 | |||
| 617 | typedef struct D3D12_FEATURE_DATA_VIDEO_PROCESS_MAX_INPUT_STREAMS | ||
| 618 | { | ||
| 619 | UINT NodeIndex; // input | ||
| 620 | UINT MaxInputStreams; // output | ||
| 621 | } D3D12_FEATURE_DATA_VIDEO_PROCESS_MAX_INPUT_STREAMS; | ||
| 622 | |||
| 623 | typedef struct D3D12_FEATURE_DATA_VIDEO_PROCESS_REFERENCE_INFO | ||
| 624 | { | ||
| 625 | UINT NodeIndex; // input | ||
| 626 | D3D12_VIDEO_PROCESS_DEINTERLACE_FLAGS DeinterlaceMode; // input | ||
| 627 | D3D12_VIDEO_PROCESS_FILTER_FLAGS Filters; // input | ||
| 628 | D3D12_VIDEO_PROCESS_FEATURE_FLAGS FeatureSupport; // input | ||
| 629 | DXGI_RATIONAL InputFrameRate; // input | ||
| 630 | DXGI_RATIONAL OutputFrameRate; // input | ||
| 631 | BOOL EnableAutoProcessing; // input | ||
| 632 | UINT PastFrames; // output | ||
| 633 | UINT FutureFrames; // output | ||
| 634 | } D3D12_FEATURE_DATA_VIDEO_PROCESS_REFERENCE_INFO; | ||
| 635 | |||
| 636 | typedef struct D3D12_VIDEO_PROCESS_REFERENCE_SET | ||
| 637 | { | ||
| 638 | UINT NumPastFrames; | ||
| 639 | ID3D12Resource **ppPastFrames; | ||
| 640 | UINT *pPastSubresources; | ||
| 641 | UINT NumFutureFrames; | ||
| 642 | ID3D12Resource **ppFutureFrames; | ||
| 643 | UINT *pFutureSubresources; | ||
| 644 | } D3D12_VIDEO_PROCESS_REFERENCE_SET; | ||
| 645 | |||
| 646 | typedef struct D3D12_VIDEO_PROCESS_TRANSFORM | ||
| 647 | { | ||
| 648 | D3D12_RECT SourceRectangle; | ||
| 649 | D3D12_RECT DestinationRectangle; | ||
| 650 | D3D12_VIDEO_PROCESS_ORIENTATION Orientation; | ||
| 651 | } D3D12_VIDEO_PROCESS_TRANSFORM; | ||
| 652 | |||
| 653 | typedef struct D3D12_VIDEO_PROCESS_INPUT_STREAM_RATE | ||
| 654 | { | ||
| 655 | UINT OutputIndex; | ||
| 656 | UINT InputFrameOrField; | ||
| 657 | } D3D12_VIDEO_PROCESS_INPUT_STREAM_RATE; | ||
| 658 | |||
| 659 | typedef struct D3D12_VIDEO_PROCESS_INPUT_STREAM | ||
| 660 | { | ||
| 661 | ID3D12Resource *pTexture2D; | ||
| 662 | UINT Subresource; | ||
| 663 | D3D12_VIDEO_PROCESS_REFERENCE_SET ReferenceSet; | ||
| 664 | } D3D12_VIDEO_PROCESS_INPUT_STREAM; | ||
| 665 | |||
| 666 | typedef struct D3D12_VIDEO_PROCESS_INPUT_STREAM_ARGUMENTS | ||
| 667 | { | ||
| 668 | D3D12_VIDEO_PROCESS_INPUT_STREAM InputStream[D3D12_VIDEO_PROCESS_STEREO_VIEWS]; | ||
| 669 | D3D12_VIDEO_PROCESS_TRANSFORM Transform; | ||
| 670 | D3D12_VIDEO_PROCESS_INPUT_STREAM_FLAGS Flags; | ||
| 671 | D3D12_VIDEO_PROCESS_INPUT_STREAM_RATE RateInfo; | ||
| 672 | INT FilterLevels[D3D12_VIDEO_PROCESS_MAX_FILTERS]; | ||
| 673 | D3D12_VIDEO_PROCESS_ALPHA_BLENDING AlphaBlending; | ||
| 674 | } D3D12_VIDEO_PROCESS_INPUT_STREAM_ARGUMENTS; | ||
| 675 | |||
| 676 | typedef struct D3D12_VIDEO_PROCESS_OUTPUT_STREAM | ||
| 677 | { | ||
| 678 | ID3D12Resource* pTexture2D; | ||
| 679 | UINT Subresource; | ||
| 680 | } D3D12_VIDEO_PROCESS_OUTPUT_STREAM; | ||
| 681 | |||
| 682 | typedef struct D3D12_VIDEO_PROCESS_OUTPUT_STREAM_ARGUMENTS | ||
| 683 | { | ||
| 684 | D3D12_VIDEO_PROCESS_OUTPUT_STREAM OutputStream[D3D12_VIDEO_PROCESS_STEREO_VIEWS]; | ||
| 685 | D3D12_RECT TargetRectangle; | ||
| 686 | } D3D12_VIDEO_PROCESS_OUTPUT_STREAM_ARGUMENTS; | ||
| 687 | |||
| 688 | [uuid(3B60536E-AD29-4E64-A269-F853837E5E53), object, local, pointer_default(unique)] | ||
| 689 | interface ID3D12VideoDecodeCommandList | ||
| 690 | : ID3D12CommandList | ||
| 691 | { | ||
| 692 | HRESULT Close(); | ||
| 693 | |||
| 694 | HRESULT Reset( | ||
| 695 | [annotation("_In_")] ID3D12CommandAllocator* pAllocator | ||
| 696 | ); | ||
| 697 | |||
| 698 | void ClearState(); | ||
| 699 | |||
| 700 | void ResourceBarrier( | ||
| 701 | [annotation("_In_")] UINT NumBarriers, | ||
| 702 | [annotation("_In_reads_(NumBarriers)")] const D3D12_RESOURCE_BARRIER* pBarriers | ||
| 703 | ); | ||
| 704 | |||
| 705 | void DiscardResource( | ||
| 706 | [annotation("_In_")] ID3D12Resource* pResource, | ||
| 707 | [annotation("_In_opt_")] const D3D12_DISCARD_REGION* pRegion | ||
| 708 | ); | ||
| 709 | |||
| 710 | void BeginQuery( | ||
| 711 | [annotation("_In_")] ID3D12QueryHeap* pQueryHeap, | ||
| 712 | [annotation("_In_")] D3D12_QUERY_TYPE Type, | ||
| 713 | [annotation("_In_")] UINT Index | ||
| 714 | ); | ||
| 715 | |||
| 716 | void EndQuery( | ||
| 717 | [annotation("_In_")] ID3D12QueryHeap* pQueryHeap, | ||
| 718 | [annotation("_In_")] D3D12_QUERY_TYPE Type, | ||
| 719 | [annotation("_In_")] UINT Index | ||
| 720 | ); | ||
| 721 | |||
| 722 | void ResolveQueryData( | ||
| 723 | [annotation("_In_")] ID3D12QueryHeap* pQueryHeap, | ||
| 724 | [annotation("_In_")] D3D12_QUERY_TYPE Type, | ||
| 725 | [annotation("_In_")] UINT StartIndex, | ||
| 726 | [annotation("_In_")] UINT NumQueries, | ||
| 727 | [annotation("_In_")] ID3D12Resource* pDestinationBuffer, | ||
| 728 | [annotation("_In_")] UINT64 AlignedDestinationBufferOffset | ||
| 729 | ); | ||
| 730 | |||
| 731 | void SetPredication( | ||
| 732 | [annotation("_In_opt_")] ID3D12Resource* pBuffer, | ||
| 733 | [annotation("_In_")] UINT64 AlignedBufferOffset, | ||
| 734 | [annotation("_In_")] D3D12_PREDICATION_OP Operation | ||
| 735 | ); | ||
| 736 | |||
| 737 | void SetMarker( | ||
| 738 | UINT Metadata, | ||
| 739 | [annotation("_In_reads_bytes_opt_(Size)")] const void* pData, | ||
| 740 | UINT Size); | ||
| 741 | |||
| 742 | void BeginEvent( | ||
| 743 | UINT Metadata, | ||
| 744 | [annotation("_In_reads_bytes_opt_(Size)")] const void* pData, | ||
| 745 | UINT Size); | ||
| 746 | |||
| 747 | void EndEvent(); | ||
| 748 | |||
| 749 | void DecodeFrame( | ||
| 750 | [annotation("_In_")] ID3D12VideoDecoder* pDecoder, | ||
| 751 | [annotation("_In_")] const D3D12_VIDEO_DECODE_OUTPUT_STREAM_ARGUMENTS *pOutputArguments, | ||
| 752 | [annotation("_In_")] const D3D12_VIDEO_DECODE_INPUT_STREAM_ARGUMENTS *pInputArguments | ||
| 753 | ); | ||
| 754 | |||
| 755 | void WriteBufferImmediate( | ||
| 756 | UINT Count, | ||
| 757 | [annotation("_In_reads_(Count)")] const D3D12_WRITEBUFFERIMMEDIATE_PARAMETER *pParams, | ||
| 758 | [annotation("_In_reads_opt_(Count)")] const D3D12_WRITEBUFFERIMMEDIATE_MODE *pModes | ||
| 759 | ); | ||
| 760 | } | ||
| 761 | |||
| 762 | [uuid(AEB2543A-167F-4682-ACC8-D159ED4A6209), object, local, pointer_default(unique)] | ||
| 763 | interface ID3D12VideoProcessCommandList | ||
| 764 | : ID3D12CommandList | ||
| 765 | { | ||
| 766 | HRESULT Close(); | ||
| 767 | |||
| 768 | HRESULT Reset( | ||
| 769 | [annotation("_In_")] ID3D12CommandAllocator* pAllocator | ||
| 770 | ); | ||
| 771 | |||
| 772 | void ClearState(); | ||
| 773 | |||
| 774 | void ResourceBarrier( | ||
| 775 | [annotation("_In_")] UINT NumBarriers, | ||
| 776 | [annotation("_In_reads_(NumBarriers)")] const D3D12_RESOURCE_BARRIER* pBarriers | ||
| 777 | ); | ||
| 778 | |||
| 779 | void DiscardResource( | ||
| 780 | [annotation("_In_")] ID3D12Resource* pResource, | ||
| 781 | [annotation("_In_opt_")] const D3D12_DISCARD_REGION* pRegion | ||
| 782 | ); | ||
| 783 | |||
| 784 | void BeginQuery( | ||
| 785 | [annotation("_In_")] ID3D12QueryHeap* pQueryHeap, | ||
| 786 | [annotation("_In_")] D3D12_QUERY_TYPE Type, | ||
| 787 | [annotation("_In_")] UINT Index | ||
| 788 | ); | ||
| 789 | |||
| 790 | void EndQuery( | ||
| 791 | [annotation("_In_")] ID3D12QueryHeap* pQueryHeap, | ||
| 792 | [annotation("_In_")] D3D12_QUERY_TYPE Type, | ||
| 793 | [annotation("_In_")] UINT Index | ||
| 794 | ); | ||
| 795 | |||
| 796 | void ResolveQueryData( | ||
| 797 | [annotation("_In_")] ID3D12QueryHeap* pQueryHeap, | ||
| 798 | [annotation("_In_")] D3D12_QUERY_TYPE Type, | ||
| 799 | [annotation("_In_")] UINT StartIndex, | ||
| 800 | [annotation("_In_")] UINT NumQueries, | ||
| 801 | [annotation("_In_")] ID3D12Resource* pDestinationBuffer, | ||
| 802 | [annotation("_In_")] UINT64 AlignedDestinationBufferOffset | ||
| 803 | ); | ||
| 804 | |||
| 805 | void SetPredication( | ||
| 806 | [annotation("_In_opt_")] ID3D12Resource* pBuffer, | ||
| 807 | [annotation("_In_")] UINT64 AlignedBufferOffset, | ||
| 808 | [annotation("_In_")] D3D12_PREDICATION_OP Operation | ||
| 809 | ); | ||
| 810 | |||
| 811 | void SetMarker( | ||
| 812 | UINT Metadata, | ||
| 813 | [annotation("_In_reads_bytes_opt_(Size)")] const void* pData, | ||
| 814 | UINT Size); | ||
| 815 | |||
| 816 | void BeginEvent( | ||
| 817 | UINT Metadata, | ||
| 818 | [annotation("_In_reads_bytes_opt_(Size)")] const void* pData, | ||
| 819 | UINT Size); | ||
| 820 | |||
| 821 | void EndEvent(); | ||
| 822 | |||
| 823 | void ProcessFrames( | ||
| 824 | [annotation("_In_")] ID3D12VideoProcessor* pVideoProcessor, | ||
| 825 | [annotation("_In_")] const D3D12_VIDEO_PROCESS_OUTPUT_STREAM_ARGUMENTS *pOutputArguments, | ||
| 826 | UINT NumInputStreams, | ||
| 827 | [annotation("_In_reads_(NumInputStreams)")] const D3D12_VIDEO_PROCESS_INPUT_STREAM_ARGUMENTS *pInputArguments | ||
| 828 | ); | ||
| 829 | |||
| 830 | void WriteBufferImmediate( | ||
| 831 | UINT Count, | ||
| 832 | [annotation("_In_reads_(Count)")] const D3D12_WRITEBUFFERIMMEDIATE_PARAMETER *pParams, | ||
| 833 | [annotation("_In_reads_opt_(Count)")] const D3D12_WRITEBUFFERIMMEDIATE_MODE *pModes | ||
| 834 | ); | ||
| 835 | } | ||
| 836 | |||
| 837 | typedef struct D3D12_VIDEO_DECODE_OUTPUT_HISTOGRAM | ||
| 838 | { | ||
| 839 | UINT64 Offset; | ||
| 840 | ID3D12Resource* pBuffer; | ||
| 841 | } D3D12_VIDEO_DECODE_OUTPUT_HISTOGRAM; | ||
| 842 | |||
| 843 | typedef struct D3D12_VIDEO_DECODE_CONVERSION_ARGUMENTS1 | ||
| 844 | { | ||
| 845 | BOOL Enable; | ||
| 846 | ID3D12Resource* pReferenceTexture2D; | ||
| 847 | UINT ReferenceSubresource; | ||
| 848 | DXGI_COLOR_SPACE_TYPE OutputColorSpace; | ||
| 849 | DXGI_COLOR_SPACE_TYPE DecodeColorSpace; | ||
| 850 | UINT OutputWidth; | ||
| 851 | UINT OutputHeight; | ||
| 852 | } D3D12_VIDEO_DECODE_CONVERSION_ARGUMENTS1; | ||
| 853 | |||
| 854 | typedef struct D3D12_VIDEO_DECODE_OUTPUT_STREAM_ARGUMENTS1 | ||
| 855 | { | ||
| 856 | ID3D12Resource* pOutputTexture2D; | ||
| 857 | UINT OutputSubresource; | ||
| 858 | D3D12_VIDEO_DECODE_CONVERSION_ARGUMENTS1 ConversionArguments; | ||
| 859 | D3D12_VIDEO_DECODE_OUTPUT_HISTOGRAM Histograms[D3D12_VIDEO_DECODE_MAX_HISTOGRAM_COMPONENTS]; | ||
| 860 | } D3D12_VIDEO_DECODE_OUTPUT_STREAM_ARGUMENTS1; | ||
| 861 | |||
| 862 | [uuid(D52F011B-B56E-453C-A05A-A7F311C8F472), object, local, pointer_default(unique)] | ||
| 863 | interface ID3D12VideoDecodeCommandList1 | ||
| 864 | : ID3D12VideoDecodeCommandList | ||
| 865 | { | ||
| 866 | void DecodeFrame1( | ||
| 867 | [annotation("_In_")] ID3D12VideoDecoder* pDecoder, | ||
| 868 | [annotation("_In_")] const D3D12_VIDEO_DECODE_OUTPUT_STREAM_ARGUMENTS1 *pOutputArguments, | ||
| 869 | [annotation("_In_")] const D3D12_VIDEO_DECODE_INPUT_STREAM_ARGUMENTS *pInputArguments | ||
| 870 | ); | ||
| 871 | } | ||
| 872 | |||
| 873 | typedef struct D3D12_VIDEO_PROCESS_INPUT_STREAM_ARGUMENTS1 | ||
| 874 | { | ||
| 875 | D3D12_VIDEO_PROCESS_INPUT_STREAM InputStream[D3D12_VIDEO_PROCESS_STEREO_VIEWS]; | ||
| 876 | D3D12_VIDEO_PROCESS_TRANSFORM Transform; | ||
| 877 | D3D12_VIDEO_PROCESS_INPUT_STREAM_FLAGS Flags; | ||
| 878 | D3D12_VIDEO_PROCESS_INPUT_STREAM_RATE RateInfo; | ||
| 879 | INT FilterLevels[D3D12_VIDEO_PROCESS_MAX_FILTERS]; | ||
| 880 | D3D12_VIDEO_PROCESS_ALPHA_BLENDING AlphaBlending; | ||
| 881 | D3D12_VIDEO_FIELD_TYPE FieldType; | ||
| 882 | } D3D12_VIDEO_PROCESS_INPUT_STREAM_ARGUMENTS1; | ||
| 883 | |||
| 884 | [uuid(542C5C4D-7596-434F-8C93-4EFA6766F267), object, local, pointer_default(unique)] | ||
| 885 | interface ID3D12VideoProcessCommandList1 : ID3D12VideoProcessCommandList | ||
| 886 | { | ||
| 887 | void ProcessFrames1( | ||
| 888 | [annotation("_In_")] ID3D12VideoProcessor* pVideoProcessor, | ||
| 889 | [annotation("_In_")] const D3D12_VIDEO_PROCESS_OUTPUT_STREAM_ARGUMENTS *pOutputArguments, | ||
| 890 | UINT NumInputStreams, | ||
| 891 | [annotation("_In_reads_(NumInputStreams)")] const D3D12_VIDEO_PROCESS_INPUT_STREAM_ARGUMENTS1 *pInputArguments | ||
| 892 | ); | ||
| 893 | } | ||
| 894 | |||
| 895 | typedef enum D3D12_VIDEO_MOTION_ESTIMATOR_SEARCH_BLOCK_SIZE | ||
| 896 | { | ||
| 897 | D3D12_VIDEO_MOTION_ESTIMATOR_SEARCH_BLOCK_SIZE_8X8 = 0, | ||
| 898 | D3D12_VIDEO_MOTION_ESTIMATOR_SEARCH_BLOCK_SIZE_16X16 = 1, | ||
| 899 | } D3D12_VIDEO_MOTION_ESTIMATOR_SEARCH_BLOCK_SIZE; | ||
| 900 | |||
| 901 | typedef enum D3D12_VIDEO_MOTION_ESTIMATOR_SEARCH_BLOCK_SIZE_FLAGS | ||
| 902 | { | ||
| 903 | D3D12_VIDEO_MOTION_ESTIMATOR_SEARCH_BLOCK_SIZE_FLAG_NONE = 0, | ||
| 904 | D3D12_VIDEO_MOTION_ESTIMATOR_SEARCH_BLOCK_SIZE_FLAG_8X8 = (1 << D3D12_VIDEO_MOTION_ESTIMATOR_SEARCH_BLOCK_SIZE_8X8), | ||
| 905 | D3D12_VIDEO_MOTION_ESTIMATOR_SEARCH_BLOCK_SIZE_FLAG_16X16 = (1 << D3D12_VIDEO_MOTION_ESTIMATOR_SEARCH_BLOCK_SIZE_16X16), | ||
| 906 | |||
| 907 | } D3D12_VIDEO_MOTION_ESTIMATOR_SEARCH_BLOCK_SIZE_FLAGS; | ||
| 908 | cpp_quote( "DEFINE_ENUM_FLAG_OPERATORS( D3D12_VIDEO_MOTION_ESTIMATOR_SEARCH_BLOCK_SIZE_FLAGS )" ) | ||
| 909 | |||
| 910 | typedef enum D3D12_VIDEO_MOTION_ESTIMATOR_VECTOR_PRECISION | ||
| 911 | { | ||
| 912 | D3D12_VIDEO_MOTION_ESTIMATOR_VECTOR_PRECISION_QUARTER_PEL = 0, | ||
| 913 | } D3D12_VIDEO_MOTION_ESTIMATOR_VECTOR_PRECISION; | ||
| 914 | |||
| 915 | typedef enum D3D12_VIDEO_MOTION_ESTIMATOR_VECTOR_PRECISION_FLAGS | ||
| 916 | { | ||
| 917 | D3D12_VIDEO_MOTION_ESTIMATOR_VECTOR_PRECISION_FLAG_NONE = 0, | ||
| 918 | D3D12_VIDEO_MOTION_ESTIMATOR_VECTOR_PRECISION_FLAG_QUARTER_PEL = (1 << D3D12_VIDEO_MOTION_ESTIMATOR_VECTOR_PRECISION_QUARTER_PEL), | ||
| 919 | |||
| 920 | } D3D12_VIDEO_MOTION_ESTIMATOR_VECTOR_PRECISION_FLAGS; | ||
| 921 | cpp_quote( "DEFINE_ENUM_FLAG_OPERATORS( D3D12_VIDEO_MOTION_ESTIMATOR_VECTOR_PRECISION_FLAGS )" ) | ||
| 922 | |||
| 923 | // D3D12_FEATURE_VIDEO_FEATURE_AREA_SUPPORT | ||
| 924 | typedef struct D3D12_FEATURE_DATA_VIDEO_FEATURE_AREA_SUPPORT | ||
| 925 | { | ||
| 926 | UINT NodeIndex; // input | ||
| 927 | BOOL VideoDecodeSupport; // output | ||
| 928 | BOOL VideoProcessSupport; // output | ||
| 929 | BOOL VideoEncodeSupport; // output | ||
| 930 | } D3D12_FEATURE_DATA_VIDEO_FEATURE_AREA_SUPPORT; | ||
| 931 | |||
| 932 | // D3D12_FEATURE_VIDEO_MOTION_ESTIMATOR | ||
| 933 | typedef struct D3D12_FEATURE_DATA_VIDEO_MOTION_ESTIMATOR | ||
| 934 | { | ||
| 935 | UINT NodeIndex; // input | ||
| 936 | DXGI_FORMAT InputFormat; // input | ||
| 937 | D3D12_VIDEO_MOTION_ESTIMATOR_SEARCH_BLOCK_SIZE_FLAGS BlockSizeFlags; // output | ||
| 938 | D3D12_VIDEO_MOTION_ESTIMATOR_VECTOR_PRECISION_FLAGS PrecisionFlags; // output | ||
| 939 | D3D12_VIDEO_SIZE_RANGE SizeRange; // output | ||
| 940 | } D3D12_FEATURE_DATA_VIDEO_MOTION_ESTIMATOR; | ||
| 941 | |||
| 942 | // D3D12_FEATURE_VIDEO_MOTION_ESTIMATOR_SIZE | ||
| 943 | typedef struct D3D12_FEATURE_DATA_VIDEO_MOTION_ESTIMATOR_SIZE | ||
| 944 | { | ||
| 945 | UINT NodeIndex; // input | ||
| 946 | DXGI_FORMAT InputFormat; // input | ||
| 947 | D3D12_VIDEO_MOTION_ESTIMATOR_SEARCH_BLOCK_SIZE BlockSize; // input | ||
| 948 | D3D12_VIDEO_MOTION_ESTIMATOR_VECTOR_PRECISION Precision; // input | ||
| 949 | D3D12_VIDEO_SIZE_RANGE SizeRange; // input | ||
| 950 | BOOL Protected; // input | ||
| 951 | UINT64 MotionVectorHeapMemoryPoolL0Size; // output | ||
| 952 | UINT64 MotionVectorHeapMemoryPoolL1Size; // output | ||
| 953 | UINT64 MotionEstimatorMemoryPoolL0Size; // output | ||
| 954 | UINT64 MotionEstimatorMemoryPoolL1Size; // output | ||
| 955 | } D3D12_FEATURE_DATA_VIDEO_MOTION_ESTIMATOR_SIZE; | ||
| 956 | |||
| 957 | typedef struct D3D12_VIDEO_MOTION_ESTIMATOR_DESC | ||
| 958 | { | ||
| 959 | UINT NodeMask; | ||
| 960 | DXGI_FORMAT InputFormat; | ||
| 961 | D3D12_VIDEO_MOTION_ESTIMATOR_SEARCH_BLOCK_SIZE BlockSize; | ||
| 962 | D3D12_VIDEO_MOTION_ESTIMATOR_VECTOR_PRECISION Precision; | ||
| 963 | D3D12_VIDEO_SIZE_RANGE SizeRange; | ||
| 964 | |||
| 965 | } D3D12_VIDEO_MOTION_ESTIMATOR_DESC; | ||
| 966 | |||
| 967 | [uuid(33FDAE0E-098B-428F-87BB-34B695DE08F8), object, local, pointer_default(unique)] | ||
| 968 | interface ID3D12VideoMotionEstimator | ||
| 969 | : ID3D12Pageable | ||
| 970 | { | ||
| 971 | D3D12_VIDEO_MOTION_ESTIMATOR_DESC GetDesc(); | ||
| 972 | |||
| 973 | HRESULT GetProtectedResourceSession( | ||
| 974 | [in] REFIID riid, // Expected: ID3D12ProtectedResourceSession | ||
| 975 | [out, iid_is(riid), annotation("_COM_Outptr_opt_")] void** ppProtectedSession); | ||
| 976 | } | ||
| 977 | |||
| 978 | typedef struct D3D12_VIDEO_MOTION_VECTOR_HEAP_DESC | ||
| 979 | { | ||
| 980 | UINT NodeMask; | ||
| 981 | DXGI_FORMAT InputFormat; | ||
| 982 | D3D12_VIDEO_MOTION_ESTIMATOR_SEARCH_BLOCK_SIZE BlockSize; | ||
| 983 | D3D12_VIDEO_MOTION_ESTIMATOR_VECTOR_PRECISION Precision; | ||
| 984 | D3D12_VIDEO_SIZE_RANGE SizeRange; | ||
| 985 | |||
| 986 | } D3D12_VIDEO_MOTION_VECTOR_HEAP_DESC; | ||
| 987 | |||
| 988 | [uuid(5BE17987-743A-4061-834B-23D22DAEA505), object, local, pointer_default(unique)] | ||
| 989 | interface ID3D12VideoMotionVectorHeap | ||
| 990 | : ID3D12Pageable | ||
| 991 | { | ||
| 992 | D3D12_VIDEO_MOTION_VECTOR_HEAP_DESC GetDesc(); | ||
| 993 | |||
| 994 | HRESULT GetProtectedResourceSession( | ||
| 995 | [in] REFIID riid, // Expected: ID3D12ProtectedResourceSession | ||
| 996 | [out, iid_is(riid), annotation("_COM_Outptr_opt_")] void** ppProtectedSession); | ||
| 997 | } | ||
| 998 | |||
| 999 | [uuid(981611AD-A144-4C83-9890-F30E26D658AB), object, local, pointer_default(unique)] | ||
| 1000 | interface ID3D12VideoDevice1 | ||
| 1001 | : ID3D12VideoDevice | ||
| 1002 | { | ||
| 1003 | HRESULT CreateVideoMotionEstimator( | ||
| 1004 | [annotation("_In_")] const D3D12_VIDEO_MOTION_ESTIMATOR_DESC* pDesc, | ||
| 1005 | [annotation("_In_opt_")] ID3D12ProtectedResourceSession *pProtectedResourceSession, | ||
| 1006 | [annotation("_In_")] REFIID riid, // Expected: IID_ID3D12VideoMotionEstimator, | ||
| 1007 | [out, iid_is(riid), annotation("_COM_Outptr_")] void** ppVideoMotionEstimator | ||
| 1008 | ); | ||
| 1009 | |||
| 1010 | HRESULT CreateVideoMotionVectorHeap( | ||
| 1011 | [annotation("_In_")] const D3D12_VIDEO_MOTION_VECTOR_HEAP_DESC* pDesc, | ||
| 1012 | [annotation("_In_opt_")] ID3D12ProtectedResourceSession *pProtectedResourceSession, | ||
| 1013 | [annotation("_In_")] REFIID riid, // Expected: IID_ID3D12VideoMotionVectorHeap, | ||
| 1014 | [out, iid_is(riid), annotation("_COM_Outptr_")] void** ppVideoMotionVectorHeap | ||
| 1015 | ); | ||
| 1016 | } | ||
| 1017 | |||
| 1018 | typedef struct D3D12_RESOURCE_COORDINATE | ||
| 1019 | { | ||
| 1020 | // Coordinate values below index pixels. | ||
| 1021 | UINT64 X; // Used for buffer, 1D, 2D, 3D | ||
| 1022 | UINT Y; // Used for 2D, 3D | ||
| 1023 | UINT Z; // Used for 3D | ||
| 1024 | UINT SubresourceIndex; // indexes into mips, arrays, and planes. Used for 1D, 2D, 3D | ||
| 1025 | } D3D12_RESOURCE_COORDINATE; | ||
| 1026 | |||
| 1027 | typedef struct D3D12_VIDEO_MOTION_ESTIMATOR_OUTPUT | ||
| 1028 | { | ||
| 1029 | ID3D12VideoMotionVectorHeap* pMotionVectorHeap; | ||
| 1030 | } D3D12_VIDEO_MOTION_ESTIMATOR_OUTPUT; | ||
| 1031 | |||
| 1032 | typedef struct D3D12_VIDEO_MOTION_ESTIMATOR_INPUT | ||
| 1033 | { | ||
| 1034 | ID3D12Resource* pInputTexture2D; | ||
| 1035 | UINT InputSubresourceIndex; | ||
| 1036 | ID3D12Resource* pReferenceTexture2D; | ||
| 1037 | UINT ReferenceSubresourceIndex; | ||
| 1038 | ID3D12VideoMotionVectorHeap* pHintMotionVectorHeap; | ||
| 1039 | } D3D12_VIDEO_MOTION_ESTIMATOR_INPUT; | ||
| 1040 | |||
| 1041 | typedef struct D3D12_RESOLVE_VIDEO_MOTION_VECTOR_HEAP_OUTPUT | ||
| 1042 | { | ||
| 1043 | ID3D12Resource* pMotionVectorTexture2D; | ||
| 1044 | D3D12_RESOURCE_COORDINATE MotionVectorCoordinate; | ||
| 1045 | } D3D12_RESOLVE_VIDEO_MOTION_VECTOR_HEAP_OUTPUT; | ||
| 1046 | |||
| 1047 | typedef struct D3D12_RESOLVE_VIDEO_MOTION_VECTOR_HEAP_INPUT | ||
| 1048 | { | ||
| 1049 | ID3D12VideoMotionVectorHeap* pMotionVectorHeap; | ||
| 1050 | UINT PixelWidth; | ||
| 1051 | UINT PixelHeight; | ||
| 1052 | } D3D12_RESOLVE_VIDEO_MOTION_VECTOR_HEAP_INPUT; | ||
| 1053 | |||
| 1054 | [uuid(8455293A-0CBD-4831-9B39-FBDBAB724723), object, local, pointer_default(unique)] | ||
| 1055 | interface ID3D12VideoEncodeCommandList | ||
| 1056 | : ID3D12CommandList | ||
| 1057 | { | ||
| 1058 | HRESULT Close(); | ||
| 1059 | |||
| 1060 | HRESULT Reset( | ||
| 1061 | [annotation("_In_")] ID3D12CommandAllocator* pAllocator | ||
| 1062 | ); | ||
| 1063 | |||
| 1064 | void ClearState(); | ||
| 1065 | |||
| 1066 | void ResourceBarrier( | ||
| 1067 | [annotation("_In_")] UINT NumBarriers, | ||
| 1068 | [annotation("_In_reads_(NumBarriers)")] const D3D12_RESOURCE_BARRIER* pBarriers | ||
| 1069 | ); | ||
| 1070 | |||
| 1071 | void DiscardResource( | ||
| 1072 | [annotation("_In_")] ID3D12Resource* pResource, | ||
| 1073 | [annotation("_In_opt_")] const D3D12_DISCARD_REGION* pRegion | ||
| 1074 | ); | ||
| 1075 | |||
| 1076 | void BeginQuery( | ||
| 1077 | [annotation("_In_")] ID3D12QueryHeap* pQueryHeap, | ||
| 1078 | [annotation("_In_")] D3D12_QUERY_TYPE Type, | ||
| 1079 | [annotation("_In_")] UINT Index | ||
| 1080 | ); | ||
| 1081 | |||
| 1082 | void EndQuery( | ||
| 1083 | [annotation("_In_")] ID3D12QueryHeap* pQueryHeap, | ||
| 1084 | [annotation("_In_")] D3D12_QUERY_TYPE Type, | ||
| 1085 | [annotation("_In_")] UINT Index | ||
| 1086 | ); | ||
| 1087 | |||
| 1088 | void ResolveQueryData( | ||
| 1089 | [annotation("_In_")] ID3D12QueryHeap* pQueryHeap, | ||
| 1090 | [annotation("_In_")] D3D12_QUERY_TYPE Type, | ||
| 1091 | [annotation("_In_")] UINT StartIndex, | ||
| 1092 | [annotation("_In_")] UINT NumQueries, | ||
| 1093 | [annotation("_In_")] ID3D12Resource* pDestinationBuffer, | ||
| 1094 | [annotation("_In_")] UINT64 AlignedDestinationBufferOffset | ||
| 1095 | ); | ||
| 1096 | |||
| 1097 | void SetPredication( | ||
| 1098 | [annotation("_In_opt_")] ID3D12Resource* pBuffer, | ||
| 1099 | [annotation("_In_")] UINT64 AlignedBufferOffset, | ||
| 1100 | [annotation("_In_")] D3D12_PREDICATION_OP Operation | ||
| 1101 | ); | ||
| 1102 | |||
| 1103 | void SetMarker( | ||
| 1104 | UINT Metadata, | ||
| 1105 | [annotation("_In_reads_bytes_opt_(Size)")] const void* pData, | ||
| 1106 | UINT Size); | ||
| 1107 | |||
| 1108 | void BeginEvent( | ||
| 1109 | UINT Metadata, | ||
| 1110 | [annotation("_In_reads_bytes_opt_(Size)")] const void* pData, | ||
| 1111 | UINT Size); | ||
| 1112 | |||
| 1113 | void EndEvent(); | ||
| 1114 | |||
| 1115 | void EstimateMotion( | ||
| 1116 | [annotation("_In_")] ID3D12VideoMotionEstimator* pMotionEstimator, | ||
| 1117 | [annotation("_In_")] const D3D12_VIDEO_MOTION_ESTIMATOR_OUTPUT* pOutputArguments, | ||
| 1118 | [annotation("_In_")] const D3D12_VIDEO_MOTION_ESTIMATOR_INPUT* pInputArguments | ||
| 1119 | ); | ||
| 1120 | |||
| 1121 | void ResolveMotionVectorHeap( | ||
| 1122 | const D3D12_RESOLVE_VIDEO_MOTION_VECTOR_HEAP_OUTPUT* pOutputArguments, | ||
| 1123 | const D3D12_RESOLVE_VIDEO_MOTION_VECTOR_HEAP_INPUT* pInputArguments | ||
| 1124 | ); | ||
| 1125 | |||
| 1126 | void WriteBufferImmediate( | ||
| 1127 | UINT Count, | ||
| 1128 | [annotation("_In_reads_(Count)")] const D3D12_WRITEBUFFERIMMEDIATE_PARAMETER *pParams, | ||
| 1129 | [annotation("_In_reads_opt_(Count)")] const D3D12_WRITEBUFFERIMMEDIATE_MODE *pModes | ||
| 1130 | ); | ||
| 1131 | |||
| 1132 | void SetProtectedResourceSession( | ||
| 1133 | [annotation("_In_opt_")]ID3D12ProtectedResourceSession *pProtectedResourceSession | ||
| 1134 | ); | ||
| 1135 | } | ||
| 1136 | |||
| 1137 | typedef enum D3D12_VIDEO_PROTECTED_RESOURCE_SUPPORT_FLAGS | ||
| 1138 | { | ||
| 1139 | D3D12_VIDEO_PROTECTED_RESOURCE_SUPPORT_FLAG_NONE = 0x0, | ||
| 1140 | D3D12_VIDEO_PROTECTED_RESOURCE_SUPPORT_FLAG_SUPPORTED = 0x1, | ||
| 1141 | |||
| 1142 | } D3D12_VIDEO_PROTECTED_RESOURCE_SUPPORT_FLAGS; | ||
| 1143 | cpp_quote("DEFINE_ENUM_FLAG_OPERATORS(D3D12_VIDEO_PROTECTED_RESOURCE_SUPPORT_FLAGS )") | ||
| 1144 | |||
| 1145 | // D3D12_FEATURE_VIDEO_DECODE_PROTECTED_RESOURCES | ||
| 1146 | typedef struct D3D12_FEATURE_DATA_VIDEO_DECODE_PROTECTED_RESOURCES | ||
| 1147 | { | ||
| 1148 | UINT NodeIndex; // input | ||
| 1149 | D3D12_VIDEO_DECODE_CONFIGURATION Configuration; // input | ||
| 1150 | D3D12_VIDEO_PROTECTED_RESOURCE_SUPPORT_FLAGS SupportFlags; // output | ||
| 1151 | } D3D12_FEATURE_DATA_VIDEO_DECODE_PROTECTED_RESOURCES; | ||
| 1152 | |||
| 1153 | // D3D12_FEATURE_VIDEO_PROCESS_PROTECTED_RESOURCES | ||
| 1154 | typedef struct D3D12_FEATURE_DATA_VIDEO_PROCESS_PROTECTED_RESOURCES | ||
| 1155 | { | ||
| 1156 | UINT NodeIndex; // input | ||
| 1157 | D3D12_VIDEO_PROTECTED_RESOURCE_SUPPORT_FLAGS SupportFlags; // output | ||
| 1158 | } D3D12_FEATURE_DATA_VIDEO_PROCESS_PROTECTED_RESOURCES; | ||
| 1159 | |||
| 1160 | // D3D12_FEATURE_VIDEO_MOTION_ESTIMATOR_PROTECTED_RESOURCES | ||
| 1161 | typedef struct D3D12_FEATURE_DATA_VIDEO_MOTION_ESTIMATOR_PROTECTED_RESOURCES | ||
| 1162 | { | ||
| 1163 | UINT NodeIndex; // input | ||
| 1164 | D3D12_VIDEO_PROTECTED_RESOURCE_SUPPORT_FLAGS SupportFlags; // output | ||
| 1165 | } D3D12_FEATURE_DATA_VIDEO_MOTION_ESTIMATOR_PROTECTED_RESOURCES; | ||
| 1166 | |||
| 1167 | //D3D12_FEATURE_VIDEO_DECODER_HEAP_SIZE1 | ||
| 1168 | typedef struct D3D12_FEATURE_DATA_VIDEO_DECODER_HEAP_SIZE1 | ||
| 1169 | { | ||
| 1170 | D3D12_VIDEO_DECODER_HEAP_DESC VideoDecoderHeapDesc; // input | ||
| 1171 | BOOL Protected; // input | ||
| 1172 | UINT64 MemoryPoolL0Size; // output | ||
| 1173 | UINT64 MemoryPoolL1Size; // output | ||
| 1174 | } D3D12_FEATURE_DATA_VIDEO_DECODER_HEAP_SIZE1; | ||
| 1175 | |||
| 1176 | // D3D12_FEATURE_VIDEO_PROCESSOR_SIZE1 | ||
| 1177 | typedef struct D3D12_FEATURE_DATA_VIDEO_PROCESSOR_SIZE1 | ||
| 1178 | { | ||
| 1179 | UINT NodeMask; | ||
| 1180 | const D3D12_VIDEO_PROCESS_OUTPUT_STREAM_DESC* pOutputStreamDesc; // input | ||
| 1181 | UINT NumInputStreamDescs; // input | ||
| 1182 | const D3D12_VIDEO_PROCESS_INPUT_STREAM_DESC *pInputStreamDescs; // input | ||
| 1183 | BOOL Protected; // input | ||
| 1184 | UINT64 MemoryPoolL0Size; // output | ||
| 1185 | UINT64 MemoryPoolL1Size; // output | ||
| 1186 | } D3D12_FEATURE_DATA_VIDEO_PROCESSOR_SIZE1; | ||
| 1187 | |||
| 1188 | typedef enum D3D12_VIDEO_EXTENSION_COMMAND_PARAMETER_STAGE | ||
| 1189 | { | ||
| 1190 | D3D12_VIDEO_EXTENSION_COMMAND_PARAMETER_STAGE_CREATION = 0, | ||
| 1191 | D3D12_VIDEO_EXTENSION_COMMAND_PARAMETER_STAGE_INITIALIZATION = 1, | ||
| 1192 | D3D12_VIDEO_EXTENSION_COMMAND_PARAMETER_STAGE_EXECUTION = 2, | ||
| 1193 | D3D12_VIDEO_EXTENSION_COMMAND_PARAMETER_STAGE_CAPS_INPUT = 3, | ||
| 1194 | D3D12_VIDEO_EXTENSION_COMMAND_PARAMETER_STAGE_CAPS_OUTPUT = 4, | ||
| 1195 | D3D12_VIDEO_EXTENSION_COMMAND_PARAMETER_STAGE_DEVICE_EXECUTE_INPUT = 5, | ||
| 1196 | D3D12_VIDEO_EXTENSION_COMMAND_PARAMETER_STAGE_DEVICE_EXECUTE_OUTPUT = 6, | ||
| 1197 | } D3D12_VIDEO_EXTENSION_COMMAND_PARAMETER_STAGE; | ||
| 1198 | |||
| 1199 | typedef enum D3D12_VIDEO_EXTENSION_COMMAND_PARAMETER_TYPE | ||
| 1200 | { | ||
| 1201 | D3D12_VIDEO_EXTENSION_COMMAND_PARAMETER_TYPE_UINT8 = 0, | ||
| 1202 | D3D12_VIDEO_EXTENSION_COMMAND_PARAMETER_TYPE_UINT16 = 1, | ||
| 1203 | D3D12_VIDEO_EXTENSION_COMMAND_PARAMETER_TYPE_UINT32 = 2, | ||
| 1204 | D3D12_VIDEO_EXTENSION_COMMAND_PARAMETER_TYPE_UINT64 = 3, | ||
| 1205 | D3D12_VIDEO_EXTENSION_COMMAND_PARAMETER_TYPE_SINT8 = 4, | ||
| 1206 | D3D12_VIDEO_EXTENSION_COMMAND_PARAMETER_TYPE_SINT16 = 5, | ||
| 1207 | D3D12_VIDEO_EXTENSION_COMMAND_PARAMETER_TYPE_SINT32 = 6, | ||
| 1208 | D3D12_VIDEO_EXTENSION_COMMAND_PARAMETER_TYPE_SINT64 = 7, | ||
| 1209 | D3D12_VIDEO_EXTENSION_COMMAND_PARAMETER_TYPE_FLOAT = 8, | ||
| 1210 | D3D12_VIDEO_EXTENSION_COMMAND_PARAMETER_TYPE_DOUBLE = 9, | ||
| 1211 | D3D12_VIDEO_EXTENSION_COMMAND_PARAMETER_TYPE_RESOURCE = 10, | ||
| 1212 | } D3D12_VIDEO_EXTENSION_COMMAND_PARAMETER_TYPE; | ||
| 1213 | |||
| 1214 | typedef enum D3D12_VIDEO_EXTENSION_COMMAND_PARAMETER_FLAGS | ||
| 1215 | { | ||
| 1216 | D3D12_VIDEO_EXTENSION_COMMAND_PARAMETER_FLAG_NONE = 0x00000000, | ||
| 1217 | D3D12_VIDEO_EXTENSION_COMMAND_PARAMETER_FLAG_READ = 0x00000001, | ||
| 1218 | D3D12_VIDEO_EXTENSION_COMMAND_PARAMETER_FLAG_WRITE = 0x00000002 | ||
| 1219 | } D3D12_VIDEO_EXTENSION_COMMAND_PARAMETER_FLAGS; | ||
| 1220 | |||
| 1221 | cpp_quote("DEFINE_ENUM_FLAG_OPERATORS(D3D12_VIDEO_EXTENSION_COMMAND_PARAMETER_FLAGS )") | ||
| 1222 | |||
| 1223 | typedef struct D3D12_FEATURE_DATA_VIDEO_EXTENSION_COMMAND_COUNT | ||
| 1224 | { | ||
| 1225 | UINT NodeIndex; // in | ||
| 1226 | UINT CommandCount; // out | ||
| 1227 | } D3D12_FEATURE_DATA_VIDEO_EXTENSION_COMMAND_COUNT; | ||
| 1228 | |||
| 1229 | typedef struct D3D12_VIDEO_EXTENSION_COMMAND_INFO | ||
| 1230 | { | ||
| 1231 | GUID CommandId; | ||
| 1232 | LPCWSTR Name; | ||
| 1233 | D3D12_COMMAND_LIST_SUPPORT_FLAGS CommandListSupportFlags; | ||
| 1234 | } D3D12_VIDEO_EXTENSION_COMMAND_INFO; | ||
| 1235 | |||
| 1236 | typedef struct D3D12_FEATURE_DATA_VIDEO_EXTENSION_COMMANDS | ||
| 1237 | { | ||
| 1238 | UINT NodeIndex; | ||
| 1239 | UINT CommandCount; | ||
| 1240 | [annotation("_Field_size_full_(CommandCount)")] D3D12_VIDEO_EXTENSION_COMMAND_INFO* pCommandInfos; | ||
| 1241 | } D3D12_FEATURE_DATA_VIDEO_EXTENSION_COMMANDS; | ||
| 1242 | |||
| 1243 | typedef struct D3D12_FEATURE_DATA_VIDEO_EXTENSION_COMMAND_PARAMETER_COUNT | ||
| 1244 | { | ||
| 1245 | GUID CommandId; // in | ||
| 1246 | D3D12_VIDEO_EXTENSION_COMMAND_PARAMETER_STAGE Stage; // in | ||
| 1247 | UINT ParameterCount; // out | ||
| 1248 | UINT ParameterPacking; // out | ||
| 1249 | } D3D12_FEATURE_DATA_VIDEO_EXTENSION_COMMAND_PARAMETER_COUNT; | ||
| 1250 | |||
| 1251 | typedef struct D3D12_VIDEO_EXTENSION_COMMAND_PARAMETER_INFO | ||
| 1252 | { | ||
| 1253 | LPCWSTR Name; | ||
| 1254 | D3D12_VIDEO_EXTENSION_COMMAND_PARAMETER_TYPE Type; | ||
| 1255 | D3D12_VIDEO_EXTENSION_COMMAND_PARAMETER_FLAGS Flags; | ||
| 1256 | } D3D12_VIDEO_EXTENSION_COMMAND_PARAMETER_INFO; | ||
| 1257 | |||
| 1258 | typedef struct D3D12_FEATURE_DATA_VIDEO_EXTENSION_COMMAND_PARAMETERS | ||
| 1259 | { | ||
| 1260 | GUID CommandId; // in | ||
| 1261 | D3D12_VIDEO_EXTENSION_COMMAND_PARAMETER_STAGE Stage; // in | ||
| 1262 | UINT ParameterCount; // in | ||
| 1263 | [annotation("_Field_size_full_(ParameterCount)")] D3D12_VIDEO_EXTENSION_COMMAND_PARAMETER_INFO* pParameterInfos; // out | ||
| 1264 | } D3D12_FEATURE_DATA_VIDEO_EXTENSION_COMMAND_PARAMETERS; | ||
| 1265 | |||
| 1266 | typedef struct D3D12_FEATURE_DATA_VIDEO_EXTENSION_COMMAND_SUPPORT | ||
| 1267 | { | ||
| 1268 | UINT NodeIndex; | ||
| 1269 | GUID CommandId; | ||
| 1270 | [annotation("_Field_size_bytes_full_opt_(InputDataSizeInBytes)")] const void *pInputData; | ||
| 1271 | SIZE_T InputDataSizeInBytes; | ||
| 1272 | [annotation("_Field_size_bytes_full_opt_(OutputDataSizeInBytes)")] void *pOutputData; | ||
| 1273 | SIZE_T OutputDataSizeInBytes; | ||
| 1274 | } D3D12_FEATURE_DATA_VIDEO_EXTENSION_COMMAND_SUPPORT; | ||
| 1275 | |||
| 1276 | typedef struct D3D12_FEATURE_DATA_VIDEO_EXTENSION_COMMAND_SIZE | ||
| 1277 | { | ||
| 1278 | UINT NodeIndex; | ||
| 1279 | GUID CommandId; | ||
| 1280 | [annotation("_Field_size_bytes_full_(CreationParametersDataSizeInBytes)")] const void* pCreationParameters; | ||
| 1281 | SIZE_T CreationParametersSizeInBytes; | ||
| 1282 | UINT64 MemoryPoolL0Size; // output | ||
| 1283 | UINT64 MemoryPoolL1Size; // output | ||
| 1284 | } D3D12_FEATURE_DATA_VIDEO_EXTENSION_COMMAND_SIZE; | ||
| 1285 | |||
| 1286 | typedef struct D3D12_VIDEO_EXTENSION_COMMAND_DESC | ||
| 1287 | { | ||
| 1288 | UINT NodeMask; | ||
| 1289 | GUID CommandId; | ||
| 1290 | } D3D12_VIDEO_EXTENSION_COMMAND_DESC; | ||
| 1291 | |||
| 1292 | [uuid(79A2E5FB-CCD2-469A-9FDE-195D10951F7E), object, local, pointer_default(unique)] | ||
| 1293 | interface ID3D12VideoDecoder1 | ||
| 1294 | : ID3D12VideoDecoder | ||
| 1295 | { | ||
| 1296 | HRESULT GetProtectedResourceSession( | ||
| 1297 | [in] REFIID riid, // Expected: ID3D12ProtectedResourceSession | ||
| 1298 | [out, iid_is(riid), annotation("_COM_Outptr_opt_")] void** ppProtectedSession); | ||
| 1299 | } | ||
| 1300 | |||
| 1301 | [uuid(DA1D98C5-539F-41B2-BF6B-1198A03B6D26), object, local, pointer_default(unique)] | ||
| 1302 | interface ID3D12VideoDecoderHeap1 | ||
| 1303 | : ID3D12VideoDecoderHeap | ||
| 1304 | { | ||
| 1305 | HRESULT GetProtectedResourceSession( | ||
| 1306 | [in] REFIID riid, // Expected: ID3D12ProtectedResourceSession | ||
| 1307 | [out, iid_is(riid), annotation("_COM_Outptr_opt_")] void** ppProtectedSession); | ||
| 1308 | } | ||
| 1309 | |||
| 1310 | [uuid(F3CFE615-553F-425C-86D8-EE8C1B1FB01C), object, local, pointer_default(unique)] | ||
| 1311 | interface ID3D12VideoProcessor1 | ||
| 1312 | : ID3D12VideoProcessor | ||
| 1313 | { | ||
| 1314 | HRESULT GetProtectedResourceSession( | ||
| 1315 | [in] REFIID riid, // Expected: ID3D12ProtectedResourceSession | ||
| 1316 | [out, iid_is(riid), annotation("_COM_Outptr_opt_")] void** ppProtectedSession); | ||
| 1317 | } | ||
| 1318 | |||
| 1319 | [uuid(554E41E8-AE8E-4A8C-B7D2-5B4F274A30E4), object, local, pointer_default(unique)] | ||
| 1320 | interface ID3D12VideoExtensionCommand | ||
| 1321 | : ID3D12Pageable | ||
| 1322 | { | ||
| 1323 | D3D12_VIDEO_EXTENSION_COMMAND_DESC GetDesc(); | ||
| 1324 | |||
| 1325 | HRESULT GetProtectedResourceSession( | ||
| 1326 | [in] REFIID riid, // Expected: ID3D12ProtectedResourceSession | ||
| 1327 | [out, iid_is(riid), annotation("_COM_Outptr_opt_")] void** ppProtectedSession); | ||
| 1328 | } | ||
| 1329 | |||
| 1330 | [uuid(F019AC49-F838-4A95-9B17-579437C8F513), object, local, pointer_default(unique)] | ||
| 1331 | interface ID3D12VideoDevice2 | ||
| 1332 | : ID3D12VideoDevice1 | ||
| 1333 | { | ||
| 1334 | HRESULT CreateVideoDecoder1( | ||
| 1335 | [annotation("_In_")] const D3D12_VIDEO_DECODER_DESC* pDesc, | ||
| 1336 | [annotation("_In_opt_")] ID3D12ProtectedResourceSession *pProtectedResourceSession, | ||
| 1337 | [annotation("_In_")] REFIID riid, // Expected: IID_ID3D12VideoDecoder1, | ||
| 1338 | [out, iid_is(riid), annotation("_COM_Outptr_")] void** ppVideoDecoder | ||
| 1339 | ); | ||
| 1340 | |||
| 1341 | HRESULT CreateVideoDecoderHeap1( | ||
| 1342 | [annotation("_In_")] const D3D12_VIDEO_DECODER_HEAP_DESC* pVideoDecoderHeapDesc, | ||
| 1343 | [annotation("_In_opt_")] ID3D12ProtectedResourceSession *pProtectedResourceSession, | ||
| 1344 | [annotation("_In_")] REFIID riid, // Expected: IID_ID3D12VideoDecoderHeap1, | ||
| 1345 | [out, iid_is(riid), annotation("_COM_Outptr_")] void** ppVideoDecoderHeap | ||
| 1346 | ); | ||
| 1347 | |||
| 1348 | HRESULT CreateVideoProcessor1( | ||
| 1349 | UINT NodeMask, | ||
| 1350 | [annotation("_In_")] const D3D12_VIDEO_PROCESS_OUTPUT_STREAM_DESC* pOutputStreamDesc, | ||
| 1351 | UINT NumInputStreamDescs, | ||
| 1352 | [annotation("_In_reads_(NumInputStreamDescs)")]const D3D12_VIDEO_PROCESS_INPUT_STREAM_DESC *pInputStreamDescs, | ||
| 1353 | [annotation("_In_opt_")] ID3D12ProtectedResourceSession *pProtectedResourceSession, | ||
| 1354 | [annotation("_In_")] REFIID riid, // Expected: IID_ID3D12VideoProcessor1, | ||
| 1355 | [out, iid_is(riid), annotation("_COM_Outptr_")] void **ppVideoProcessor | ||
| 1356 | ); | ||
| 1357 | |||
| 1358 | HRESULT CreateVideoExtensionCommand( | ||
| 1359 | [annotation("_In_")] const D3D12_VIDEO_EXTENSION_COMMAND_DESC* pDesc, | ||
| 1360 | [annotation("_In_reads_bytes_(CreationParametersDataSizeInBytes)")] const void* pCreationParameters, | ||
| 1361 | SIZE_T CreationParametersDataSizeInBytes, | ||
| 1362 | [annotation("_In_opt_")] ID3D12ProtectedResourceSession* pProtectedResourceSession, | ||
| 1363 | [annotation("_In_")] REFIID riid, // Expected: IID_ID3D12VideoExtensionCommand, | ||
| 1364 | [annotation("_COM_Outptr_")] void** ppVideoExtensionCommand); | ||
| 1365 | |||
| 1366 | HRESULT ExecuteExtensionCommand( | ||
| 1367 | [annotation("_In_")] ID3D12VideoExtensionCommand* pExtensionCommand, | ||
| 1368 | [annotation("_In_reads_bytes_(ExecutionParametersSizeInBytes)")] const void *pExecutionParameters, | ||
| 1369 | SIZE_T ExecutionParametersSizeInBytes, | ||
| 1370 | [annotation("_Out_writes_bytes_(OutputDataSizeInBytes)")] void *pOutputData, | ||
| 1371 | SIZE_T OutputDataSizeInBytes | ||
| 1372 | ); | ||
| 1373 | } | ||
| 1374 | |||
| 1375 | [uuid(6e120880-c114-4153-8036-d247051e1729), object, local, pointer_default(unique)] | ||
| 1376 | interface ID3D12VideoDecodeCommandList2 | ||
| 1377 | : ID3D12VideoDecodeCommandList1 | ||
| 1378 | { | ||
| 1379 | void SetProtectedResourceSession( | ||
| 1380 | [annotation("_In_opt_")]ID3D12ProtectedResourceSession *pProtectedResourceSession | ||
| 1381 | ); | ||
| 1382 | |||
| 1383 | void InitializeExtensionCommand( | ||
| 1384 | [annotation("_In_")] ID3D12VideoExtensionCommand* pExtensionCommand, | ||
| 1385 | [annotation("_In_reads_bytes_(InitializationParametersSizeInBytes)")] const void *pInitializationParameters, | ||
| 1386 | SIZE_T InitializationParametersSizeInBytes); | ||
| 1387 | |||
| 1388 | void ExecuteExtensionCommand( | ||
| 1389 | [annotation("_In_")] ID3D12VideoExtensionCommand* pExtensionCommand, | ||
| 1390 | [annotation("_In_reads_bytes_(ExecutionParametersSizeInBytes)")] const void *pExecutionParameters, | ||
| 1391 | SIZE_T ExecutionParametersSizeInBytes); | ||
| 1392 | } | ||
| 1393 | |||
| 1394 | [uuid(2aee8c37-9562-42da-8abf-61efeb2e4513), object, local, pointer_default(unique)] | ||
| 1395 | interface ID3D12VideoDecodeCommandList3 | ||
| 1396 | : ID3D12VideoDecodeCommandList2 | ||
| 1397 | { | ||
| 1398 | void Barrier( | ||
| 1399 | UINT32 NumBarrierGroups, | ||
| 1400 | [annotation("_In_reads_(NumBarrierGroups)")] const D3D12_BARRIER_GROUP *pBarrierGroups | ||
| 1401 | ); | ||
| 1402 | } | ||
| 1403 | |||
| 1404 | |||
| 1405 | |||
| 1406 | [uuid(db525ae4-6ad6-473c-baa7-59b2e37082e4), object, local, pointer_default(unique)] | ||
| 1407 | interface ID3D12VideoProcessCommandList2 | ||
| 1408 | : ID3D12VideoProcessCommandList1 | ||
| 1409 | { | ||
| 1410 | |||
| 1411 | void SetProtectedResourceSession( | ||
| 1412 | [annotation("_In_opt_")]ID3D12ProtectedResourceSession *pProtectedResourceSession | ||
| 1413 | ); | ||
| 1414 | |||
| 1415 | void InitializeExtensionCommand( | ||
| 1416 | [annotation("_In_")] ID3D12VideoExtensionCommand* pExtensionCommand, | ||
| 1417 | [annotation("_In_reads_bytes_(InitializationParametersSizeInBytes)")] const void *pInitializationParameters, | ||
| 1418 | SIZE_T InitializationParametersSizeInBytes); | ||
| 1419 | |||
| 1420 | void ExecuteExtensionCommand( | ||
| 1421 | [annotation("_In_")] ID3D12VideoExtensionCommand* pExtensionCommand, | ||
| 1422 | [annotation("_In_reads_bytes_(ExecutionParametersSizeInBytes)")] const void *pExecutionParameters, | ||
| 1423 | SIZE_T ExecutionParametersSizeInBytes); | ||
| 1424 | } | ||
| 1425 | |||
| 1426 | [uuid(1a0a4ca4-9f08-40ce-9558-b411fd2666ff), object, local, pointer_default(unique)] | ||
| 1427 | interface ID3D12VideoProcessCommandList3 | ||
| 1428 | : ID3D12VideoProcessCommandList2 | ||
| 1429 | { | ||
| 1430 | void Barrier( | ||
| 1431 | UINT32 NumBarrierGroups, | ||
| 1432 | [annotation("_In_reads_(NumBarrierGroups)")] const D3D12_BARRIER_GROUP *pBarrierGroups | ||
| 1433 | ); | ||
| 1434 | } | ||
| 1435 | |||
| 1436 | |||
| 1437 | |||
| 1438 | [uuid(94971eca-2bdb-4769-88cf-3675ea757ebc), object, local, pointer_default(unique)] | ||
| 1439 | interface ID3D12VideoEncodeCommandList1 | ||
| 1440 | : ID3D12VideoEncodeCommandList | ||
| 1441 | { | ||
| 1442 | void InitializeExtensionCommand( | ||
| 1443 | [annotation("_In_")] ID3D12VideoExtensionCommand* pExtensionCommand, | ||
| 1444 | [annotation("_In_reads_bytes_(InitializationParametersSizeInBytes)")] const void *pInitializationParameters, | ||
| 1445 | SIZE_T InitializationParametersSizeInBytes); | ||
| 1446 | |||
| 1447 | void ExecuteExtensionCommand( | ||
| 1448 | [annotation("_In_")] ID3D12VideoExtensionCommand* pExtensionCommand, | ||
| 1449 | [annotation("_In_reads_bytes_(ExecutionParametersSizeInBytes)")] const void *pExecutionParameters, | ||
| 1450 | SIZE_T ExecutionParametersSizeInBytes); | ||
| 1451 | } | ||
| 1452 | |||
| 1453 | cpp_quote("DEFINE_GUID(D3D12_VIDEO_DECODE_PROFILE_MPEG2, 0xee27417f, 0x5e28, 0x4e65, 0xbe, 0xea, 0x1d, 0x26, 0xb5, 0x08, 0xad, 0xc9); ") | ||
| 1454 | cpp_quote("DEFINE_GUID(D3D12_VIDEO_DECODE_PROFILE_MPEG1_AND_MPEG2, 0x86695f12, 0x340e, 0x4f04, 0x9f, 0xd3, 0x92, 0x53, 0xdd, 0x32, 0x74, 0x60); ") | ||
| 1455 | cpp_quote("DEFINE_GUID(D3D12_VIDEO_DECODE_PROFILE_H264, 0x1b81be68, 0xa0c7, 0x11d3, 0xb9, 0x84, 0x00, 0xc0, 0x4f, 0x2e, 0x73, 0xc5);") | ||
| 1456 | cpp_quote("DEFINE_GUID(D3D12_VIDEO_DECODE_PROFILE_H264_STEREO_PROGRESSIVE, 0xd79be8da, 0x0cf1, 0x4c81, 0xb8, 0x2a, 0x69, 0xa4, 0xe2, 0x36, 0xf4, 0x3d);") | ||
| 1457 | cpp_quote("DEFINE_GUID(D3D12_VIDEO_DECODE_PROFILE_H264_STEREO, 0xf9aaccbb, 0xc2b6, 0x4cfc, 0x87, 0x79, 0x57, 0x07, 0xb1, 0x76, 0x05, 0x52);") | ||
| 1458 | cpp_quote("DEFINE_GUID(D3D12_VIDEO_DECODE_PROFILE_H264_MULTIVIEW, 0x705b9d82, 0x76cf, 0x49d6, 0xb7, 0xe6, 0xac, 0x88, 0x72, 0xdb, 0x01, 0x3c);") | ||
| 1459 | cpp_quote("DEFINE_GUID(D3D12_VIDEO_DECODE_PROFILE_VC1, 0x1b81beA3, 0xa0c7, 0x11d3, 0xb9, 0x84, 0x00, 0xc0, 0x4f, 0x2e, 0x73, 0xc5);") | ||
| 1460 | cpp_quote("DEFINE_GUID(D3D12_VIDEO_DECODE_PROFILE_VC1_D2010, 0x1b81beA4, 0xa0c7, 0x11d3, 0xb9, 0x84, 0x00, 0xc0, 0x4f, 0x2e, 0x73, 0xc5);") | ||
| 1461 | cpp_quote("DEFINE_GUID(D3D12_VIDEO_DECODE_PROFILE_MPEG4PT2_SIMPLE, 0xefd64d74, 0xc9e8,0x41d7,0xa5,0xe9,0xe9,0xb0,0xe3,0x9f,0xa3,0x19);") | ||
| 1462 | cpp_quote("DEFINE_GUID(D3D12_VIDEO_DECODE_PROFILE_MPEG4PT2_ADVSIMPLE_NOGMC, 0xed418a9f, 0x010d, 0x4eda, 0x9a, 0xe3, 0x9a, 0x65, 0x35, 0x8d, 0x8d, 0x2e);") | ||
| 1463 | cpp_quote("DEFINE_GUID(D3D12_VIDEO_DECODE_PROFILE_HEVC_MAIN, 0x5b11d51b, 0x2f4c, 0x4452, 0xbc, 0xc3, 0x09, 0xf2, 0xa1, 0x16, 0x0c, 0xc0);") | ||
| 1464 | cpp_quote("DEFINE_GUID(D3D12_VIDEO_DECODE_PROFILE_HEVC_MAIN10, 0x107af0e0, 0xef1a, 0x4d19, 0xab, 0xa8, 0x67, 0xa1, 0x63, 0x07, 0x3d, 0x13);") | ||
| 1465 | cpp_quote("DEFINE_GUID(D3D12_VIDEO_DECODE_PROFILE_HEVC_MONOCHROME, 0x0685b993, 0x3d8c, 0x43a0, 0x8b, 0x28, 0xd7, 0x4c, 0x2d, 0x68, 0x99, 0xa4);") | ||
| 1466 | cpp_quote("DEFINE_GUID(D3D12_VIDEO_DECODE_PROFILE_HEVC_MONOCHROME10, 0x142a1d0f, 0x69dd, 0x4ec9, 0x85, 0x91, 0xb1, 0x2f, 0xfc, 0xb9, 0x1a, 0x29);") | ||
| 1467 | cpp_quote("DEFINE_GUID(D3D12_VIDEO_DECODE_PROFILE_HEVC_MAIN12, 0x1a72925f, 0x0c2c, 0x4f15, 0x96, 0xfb, 0xb1, 0x7d, 0x14, 0x73, 0x60, 0x3f);") | ||
| 1468 | cpp_quote("DEFINE_GUID(D3D12_VIDEO_DECODE_PROFILE_HEVC_MAIN10_422, 0x0bac4fe5, 0x1532, 0x4429, 0xa8, 0x54, 0xf8, 0x4d, 0xe0, 0x49, 0x53, 0xdb);") | ||
| 1469 | cpp_quote("DEFINE_GUID(D3D12_VIDEO_DECODE_PROFILE_HEVC_MAIN12_422, 0x55bcac81, 0xf311, 0x4093, 0xa7, 0xd0, 0x1c, 0xbc, 0x0b, 0x84, 0x9b, 0xee);") | ||
| 1470 | cpp_quote("DEFINE_GUID(D3D12_VIDEO_DECODE_PROFILE_HEVC_MAIN_444, 0x4008018f, 0xf537, 0x4b36, 0x98, 0xcf, 0x61, 0xaf, 0x8a, 0x2c, 0x1a, 0x33);") | ||
| 1471 | cpp_quote("DEFINE_GUID(D3D12_VIDEO_DECODE_PROFILE_HEVC_MAIN10_EXT, 0x9cc55490, 0xe37c, 0x4932, 0x86, 0x84, 0x49, 0x20, 0xf9, 0xf6, 0x40, 0x9c);") | ||
| 1472 | cpp_quote("DEFINE_GUID(D3D12_VIDEO_DECODE_PROFILE_HEVC_MAIN10_444, 0x0dabeffa, 0x4458, 0x4602, 0xbc, 0x03, 0x07, 0x95, 0x65, 0x9d, 0x61, 0x7c);") | ||
| 1473 | cpp_quote("DEFINE_GUID(D3D12_VIDEO_DECODE_PROFILE_HEVC_MAIN12_444, 0x9798634d, 0xfe9d, 0x48e5, 0xb4, 0xda, 0xdb, 0xec, 0x45, 0xb3, 0xdf, 0x01);") | ||
| 1474 | cpp_quote("DEFINE_GUID(D3D12_VIDEO_DECODE_PROFILE_HEVC_MAIN16, 0xa4fbdbb0, 0xa113, 0x482b, 0xa2, 0x32, 0x63, 0x5c, 0xc0, 0x69, 0x7f, 0x6d);") | ||
| 1475 | cpp_quote("DEFINE_GUID(D3D12_VIDEO_DECODE_PROFILE_VP9, 0x463707f8, 0xa1d0, 0x4585, 0x87, 0x6d, 0x83, 0xaa, 0x6d, 0x60, 0xb8, 0x9e);") | ||
| 1476 | cpp_quote("DEFINE_GUID(D3D12_VIDEO_DECODE_PROFILE_VP9_10BIT_PROFILE2, 0xa4c749ef, 0x6ecf, 0x48aa, 0x84, 0x48, 0x50, 0xa7, 0xa1, 0x16, 0x5f, 0xf7);") | ||
| 1477 | cpp_quote("DEFINE_GUID(D3D12_VIDEO_DECODE_PROFILE_VP8, 0x90b899ea, 0x3a62, 0x4705, 0x88, 0xb3, 0x8d, 0xf0, 0x4b, 0x27, 0x44, 0xe7);") | ||
| 1478 | cpp_quote("DEFINE_GUID(D3D12_VIDEO_DECODE_PROFILE_AV1_PROFILE0, 0xb8be4ccb, 0xcf53, 0x46ba, 0x8d, 0x59, 0xd6, 0xb8, 0xa6, 0xda, 0x5d, 0x2a);") | ||
| 1479 | cpp_quote("DEFINE_GUID(D3D12_VIDEO_DECODE_PROFILE_AV1_PROFILE1, 0x6936ff0f, 0x45b1, 0x4163, 0x9c, 0xc1, 0x64, 0x6e, 0xf6, 0x94, 0x61, 0x08);") | ||
| 1480 | cpp_quote("DEFINE_GUID(D3D12_VIDEO_DECODE_PROFILE_AV1_PROFILE2, 0x0c5f2aa1, 0xe541, 0x4089, 0xbb, 0x7b, 0x98, 0x11, 0x0a, 0x19, 0xd7, 0xc8);") | ||
| 1481 | cpp_quote("DEFINE_GUID(D3D12_VIDEO_DECODE_PROFILE_AV1_12BIT_PROFILE2, 0x17127009, 0xa00f, 0x4ce1, 0x99, 0x4e, 0xbf, 0x40, 0x81, 0xf6, 0xf3, 0xf0);") | ||
| 1482 | cpp_quote("DEFINE_GUID(D3D12_VIDEO_DECODE_PROFILE_AV1_12BIT_PROFILE2_420, 0x2d80bed6, 0x9cac, 0x4835, 0x9e, 0x91, 0x32, 0x7b, 0xbc, 0x4f, 0x9e, 0xe8);") | ||
| 1483 | cpp_quote("DEFINE_GUID(D3D12_VIDEO_DECODE_PROFILE_MJPEG_VLD_420, 0x725cb506, 0xc29, 0x43c4, 0x94, 0x40, 0x8e, 0x93, 0x97, 0x90, 0x3a, 0x4); ") | ||
| 1484 | cpp_quote("DEFINE_GUID(D3D12_VIDEO_DECODE_PROFILE_MJPEG_VLD_422, 0x5b77b9cd, 0x1a35, 0x4c30, 0x9f, 0xd8, 0xef, 0x4b, 0x60, 0xc0, 0x35, 0xdd); ") | ||
| 1485 | cpp_quote("DEFINE_GUID(D3D12_VIDEO_DECODE_PROFILE_MJPEG_VLD_444, 0xd95161f9, 0xd44, 0x47e6, 0xbc, 0xf5, 0x1b, 0xfb, 0xfb, 0x26, 0x8f, 0x97); ") | ||
| 1486 | cpp_quote("DEFINE_GUID(D3D12_VIDEO_DECODE_PROFILE_MJPEG_VLD_4444, 0xc91748d5, 0xfd18, 0x4aca, 0x9d, 0xb3, 0x3a, 0x66, 0x34, 0xab, 0x54, 0x7d); ") | ||
| 1487 | cpp_quote("DEFINE_GUID(D3D12_VIDEO_DECODE_PROFILE_JPEG_VLD_420, 0xcf782c83, 0xbef5, 0x4a2c, 0x87, 0xcb, 0x60, 0x19, 0xe7, 0xb1, 0x75, 0xac); ") | ||
| 1488 | cpp_quote("DEFINE_GUID(D3D12_VIDEO_DECODE_PROFILE_JPEG_VLD_422, 0xf04df417, 0xeee2, 0x4067, 0xa7, 0x78, 0xf3, 0x5c, 0x15, 0xab, 0x97, 0x21); ") | ||
| 1489 | cpp_quote("DEFINE_GUID(D3D12_VIDEO_DECODE_PROFILE_JPEG_VLD_444, 0x4cd00e17, 0x89ba, 0x48ef, 0xb9, 0xf9, 0xed, 0xcb, 0x82, 0x71, 0x3f, 0x65);") | ||
| 1490 | |||
| 1491 | /////////////////////////////////////////////////////////////////////////////////////////////////////////////////// | ||
| 1492 | // Video Encoder | ||
| 1493 | /////////////////////////////////////////////////////////////////////////////////////////////////////////////////// | ||
| 1494 | |||
| 1495 | typedef enum D3D12_VIDEO_ENCODER_AV1_PROFILE | ||
| 1496 | { | ||
| 1497 | D3D12_VIDEO_ENCODER_AV1_PROFILE_MAIN = 0, | ||
| 1498 | D3D12_VIDEO_ENCODER_AV1_PROFILE_HIGH = 1, | ||
| 1499 | D3D12_VIDEO_ENCODER_AV1_PROFILE_PROFESSIONAL = 2, | ||
| 1500 | } D3D12_VIDEO_ENCODER_AV1_PROFILE; | ||
| 1501 | |||
| 1502 | typedef enum D3D12_VIDEO_ENCODER_AV1_LEVELS | ||
| 1503 | { // These values are defined according to the AV1 codec standard spec | ||
| 1504 | D3D12_VIDEO_ENCODER_AV1_LEVELS_2_0 = 0, | ||
| 1505 | D3D12_VIDEO_ENCODER_AV1_LEVELS_2_1 = 1, | ||
| 1506 | D3D12_VIDEO_ENCODER_AV1_LEVELS_2_2 = 2, | ||
| 1507 | D3D12_VIDEO_ENCODER_AV1_LEVELS_2_3 = 3, | ||
| 1508 | D3D12_VIDEO_ENCODER_AV1_LEVELS_3_0 = 4, | ||
| 1509 | D3D12_VIDEO_ENCODER_AV1_LEVELS_3_1 = 5, | ||
| 1510 | D3D12_VIDEO_ENCODER_AV1_LEVELS_3_2 = 6, | ||
| 1511 | D3D12_VIDEO_ENCODER_AV1_LEVELS_3_3 = 7, | ||
| 1512 | D3D12_VIDEO_ENCODER_AV1_LEVELS_4_0 = 8, | ||
| 1513 | D3D12_VIDEO_ENCODER_AV1_LEVELS_4_1 = 9, | ||
| 1514 | D3D12_VIDEO_ENCODER_AV1_LEVELS_4_2 = 10, | ||
| 1515 | D3D12_VIDEO_ENCODER_AV1_LEVELS_4_3 = 11, | ||
| 1516 | D3D12_VIDEO_ENCODER_AV1_LEVELS_5_0 = 12, | ||
| 1517 | D3D12_VIDEO_ENCODER_AV1_LEVELS_5_1 = 13, | ||
| 1518 | D3D12_VIDEO_ENCODER_AV1_LEVELS_5_2 = 14, | ||
| 1519 | D3D12_VIDEO_ENCODER_AV1_LEVELS_5_3 = 15, | ||
| 1520 | D3D12_VIDEO_ENCODER_AV1_LEVELS_6_0 = 16, | ||
| 1521 | D3D12_VIDEO_ENCODER_AV1_LEVELS_6_1 = 17, | ||
| 1522 | D3D12_VIDEO_ENCODER_AV1_LEVELS_6_2 = 18, | ||
| 1523 | D3D12_VIDEO_ENCODER_AV1_LEVELS_6_3 = 19, | ||
| 1524 | D3D12_VIDEO_ENCODER_AV1_LEVELS_7_0 = 20, | ||
| 1525 | D3D12_VIDEO_ENCODER_AV1_LEVELS_7_1 = 21, | ||
| 1526 | D3D12_VIDEO_ENCODER_AV1_LEVELS_7_2 = 22, | ||
| 1527 | D3D12_VIDEO_ENCODER_AV1_LEVELS_7_3 = 23, | ||
| 1528 | } D3D12_VIDEO_ENCODER_AV1_LEVELS; | ||
| 1529 | |||
| 1530 | typedef enum D3D12_VIDEO_ENCODER_AV1_TIER | ||
| 1531 | { | ||
| 1532 | D3D12_VIDEO_ENCODER_AV1_TIER_MAIN = 0, | ||
| 1533 | D3D12_VIDEO_ENCODER_AV1_TIER_HIGH = 1, | ||
| 1534 | } D3D12_VIDEO_ENCODER_AV1_TIER; | ||
| 1535 | |||
| 1536 | typedef struct D3D12_VIDEO_ENCODER_AV1_LEVEL_TIER_CONSTRAINTS | ||
| 1537 | { | ||
| 1538 | D3D12_VIDEO_ENCODER_AV1_LEVELS Level; | ||
| 1539 | D3D12_VIDEO_ENCODER_AV1_TIER Tier; | ||
| 1540 | } D3D12_VIDEO_ENCODER_AV1_LEVEL_TIER_CONSTRAINTS; | ||
| 1541 | |||
| 1542 | typedef enum D3D12_VIDEO_ENCODER_AV1_FEATURE_FLAGS | ||
| 1543 | { | ||
| 1544 | D3D12_VIDEO_ENCODER_AV1_FEATURE_FLAG_NONE = 0x0, | ||
| 1545 | D3D12_VIDEO_ENCODER_AV1_FEATURE_FLAG_128x128_SUPERBLOCK = 0x1, | ||
| 1546 | D3D12_VIDEO_ENCODER_AV1_FEATURE_FLAG_FILTER_INTRA = 0x2, | ||
| 1547 | D3D12_VIDEO_ENCODER_AV1_FEATURE_FLAG_INTRA_EDGE_FILTER = 0x4, | ||
| 1548 | D3D12_VIDEO_ENCODER_AV1_FEATURE_FLAG_INTERINTRA_COMPOUND = 0x8, | ||
| 1549 | D3D12_VIDEO_ENCODER_AV1_FEATURE_FLAG_MASKED_COMPOUND = 0x10, | ||
| 1550 | D3D12_VIDEO_ENCODER_AV1_FEATURE_FLAG_WARPED_MOTION = 0x20, | ||
| 1551 | D3D12_VIDEO_ENCODER_AV1_FEATURE_FLAG_DUAL_FILTER = 0x40, | ||
| 1552 | D3D12_VIDEO_ENCODER_AV1_FEATURE_FLAG_JNT_COMP = 0x80, | ||
| 1553 | D3D12_VIDEO_ENCODER_AV1_FEATURE_FLAG_FORCED_INTEGER_MOTION_VECTORS = 0x100, | ||
| 1554 | D3D12_VIDEO_ENCODER_AV1_FEATURE_FLAG_SUPER_RESOLUTION = 0x200, | ||
| 1555 | D3D12_VIDEO_ENCODER_AV1_FEATURE_FLAG_LOOP_RESTORATION_FILTER = 0x400, | ||
| 1556 | D3D12_VIDEO_ENCODER_AV1_FEATURE_FLAG_PALETTE_ENCODING = 0x800, | ||
| 1557 | D3D12_VIDEO_ENCODER_AV1_FEATURE_FLAG_CDEF_FILTERING = 0x1000, | ||
| 1558 | D3D12_VIDEO_ENCODER_AV1_FEATURE_FLAG_INTRA_BLOCK_COPY = 0x2000, | ||
| 1559 | D3D12_VIDEO_ENCODER_AV1_FEATURE_FLAG_FRAME_REFERENCE_MOTION_VECTORS = 0x4000, | ||
| 1560 | D3D12_VIDEO_ENCODER_AV1_FEATURE_FLAG_ORDER_HINT_TOOLS = 0x8000, | ||
| 1561 | D3D12_VIDEO_ENCODER_AV1_FEATURE_FLAG_AUTO_SEGMENTATION = 0x10000, | ||
| 1562 | D3D12_VIDEO_ENCODER_AV1_FEATURE_FLAG_CUSTOM_SEGMENTATION = 0x20000, | ||
| 1563 | D3D12_VIDEO_ENCODER_AV1_FEATURE_FLAG_LOOP_FILTER_DELTAS = 0x40000, | ||
| 1564 | D3D12_VIDEO_ENCODER_AV1_FEATURE_FLAG_QUANTIZATION_DELTAS = 0x80000, | ||
| 1565 | D3D12_VIDEO_ENCODER_AV1_FEATURE_FLAG_QUANTIZATION_MATRIX = 0x100000, | ||
| 1566 | D3D12_VIDEO_ENCODER_AV1_FEATURE_FLAG_REDUCED_TX_SET = 0x200000, | ||
| 1567 | D3D12_VIDEO_ENCODER_AV1_FEATURE_FLAG_MOTION_MODE_SWITCHABLE = 0x400000, | ||
| 1568 | D3D12_VIDEO_ENCODER_AV1_FEATURE_FLAG_ALLOW_HIGH_PRECISION_MV = 0x800000, | ||
| 1569 | D3D12_VIDEO_ENCODER_AV1_FEATURE_FLAG_SKIP_MODE_PRESENT = 0x1000000, | ||
| 1570 | D3D12_VIDEO_ENCODER_AV1_FEATURE_FLAG_DELTA_LF_PARAMS = 0x2000000, | ||
| 1571 | } D3D12_VIDEO_ENCODER_AV1_FEATURE_FLAGS; | ||
| 1572 | cpp_quote("DEFINE_ENUM_FLAG_OPERATORS(D3D12_VIDEO_ENCODER_AV1_FEATURE_FLAGS)") | ||
| 1573 | |||
| 1574 | typedef enum D3D12_VIDEO_ENCODER_AV1_TX_MODE { | ||
| 1575 | D3D12_VIDEO_ENCODER_AV1_TX_MODE_ONLY4x4 = 0, | ||
| 1576 | D3D12_VIDEO_ENCODER_AV1_TX_MODE_LARGEST = 1, | ||
| 1577 | D3D12_VIDEO_ENCODER_AV1_TX_MODE_SELECT = 2, | ||
| 1578 | } D3D12_VIDEO_ENCODER_AV1_TX_MODE; | ||
| 1579 | |||
| 1580 | typedef enum D3D12_VIDEO_ENCODER_AV1_TX_MODE_FLAGS { | ||
| 1581 | D3D12_VIDEO_ENCODER_AV1_TX_MODE_FLAG_NONE = 0x0, | ||
| 1582 | D3D12_VIDEO_ENCODER_AV1_TX_MODE_FLAG_ONLY4x4 = (1 << D3D12_VIDEO_ENCODER_AV1_TX_MODE_ONLY4x4), | ||
| 1583 | D3D12_VIDEO_ENCODER_AV1_TX_MODE_FLAG_LARGEST = (1 << D3D12_VIDEO_ENCODER_AV1_TX_MODE_LARGEST), | ||
| 1584 | D3D12_VIDEO_ENCODER_AV1_TX_MODE_FLAG_SELECT = (1 << D3D12_VIDEO_ENCODER_AV1_TX_MODE_SELECT), | ||
| 1585 | } D3D12_VIDEO_ENCODER_AV1_TX_MODE_FLAGS; | ||
| 1586 | cpp_quote("DEFINE_ENUM_FLAG_OPERATORS(D3D12_VIDEO_ENCODER_AV1_TX_MODE_FLAGS)") | ||
| 1587 | |||
| 1588 | typedef enum D3D12_VIDEO_ENCODER_AV1_INTERPOLATION_FILTERS { | ||
| 1589 | D3D12_VIDEO_ENCODER_AV1_INTERPOLATION_FILTERS_EIGHTTAP = 0, | ||
| 1590 | D3D12_VIDEO_ENCODER_AV1_INTERPOLATION_FILTERS_EIGHTTAP_SMOOTH = 1, | ||
| 1591 | D3D12_VIDEO_ENCODER_AV1_INTERPOLATION_FILTERS_EIGHTTAP_SHARP = 2, | ||
| 1592 | D3D12_VIDEO_ENCODER_AV1_INTERPOLATION_FILTERS_BILINEAR = 3, | ||
| 1593 | D3D12_VIDEO_ENCODER_AV1_INTERPOLATION_FILTERS_SWITCHABLE = 4, | ||
| 1594 | } D3D12_VIDEO_ENCODER_AV1_INTERPOLATION_FILTERS; | ||
| 1595 | |||
| 1596 | typedef enum D3D12_VIDEO_ENCODER_AV1_INTERPOLATION_FILTERS_FLAGS { | ||
| 1597 | D3D12_VIDEO_ENCODER_AV1_INTERPOLATION_FILTERS_FLAG_NONE = 0x0, | ||
| 1598 | D3D12_VIDEO_ENCODER_AV1_INTERPOLATION_FILTERS_FLAG_EIGHTTAP = (1 << D3D12_VIDEO_ENCODER_AV1_INTERPOLATION_FILTERS_EIGHTTAP), | ||
| 1599 | D3D12_VIDEO_ENCODER_AV1_INTERPOLATION_FILTERS_FLAG_EIGHTTAP_SMOOTH = (1 << D3D12_VIDEO_ENCODER_AV1_INTERPOLATION_FILTERS_EIGHTTAP_SMOOTH), | ||
| 1600 | D3D12_VIDEO_ENCODER_AV1_INTERPOLATION_FILTERS_FLAG_EIGHTTAP_SHARP = (1 << D3D12_VIDEO_ENCODER_AV1_INTERPOLATION_FILTERS_EIGHTTAP_SHARP), | ||
| 1601 | D3D12_VIDEO_ENCODER_AV1_INTERPOLATION_FILTERS_FLAG_BILINEAR = (1 << D3D12_VIDEO_ENCODER_AV1_INTERPOLATION_FILTERS_BILINEAR), | ||
| 1602 | D3D12_VIDEO_ENCODER_AV1_INTERPOLATION_FILTERS_FLAG_SWITCHABLE = (1 << D3D12_VIDEO_ENCODER_AV1_INTERPOLATION_FILTERS_SWITCHABLE), | ||
| 1603 | } D3D12_VIDEO_ENCODER_AV1_INTERPOLATION_FILTERS_FLAGS; | ||
| 1604 | cpp_quote("DEFINE_ENUM_FLAG_OPERATORS(D3D12_VIDEO_ENCODER_AV1_INTERPOLATION_FILTERS_FLAGS)") | ||
| 1605 | |||
| 1606 | typedef enum D3D12_VIDEO_ENCODER_AV1_SEGMENTATION_BLOCK_SIZE { | ||
| 1607 | D3D12_VIDEO_ENCODER_AV1_SEGMENTATION_BLOCK_SIZE_4x4 = 0, | ||
| 1608 | D3D12_VIDEO_ENCODER_AV1_SEGMENTATION_BLOCK_SIZE_8x8 = 1, | ||
| 1609 | D3D12_VIDEO_ENCODER_AV1_SEGMENTATION_BLOCK_SIZE_16x16 = 2, | ||
| 1610 | D3D12_VIDEO_ENCODER_AV1_SEGMENTATION_BLOCK_SIZE_32x32 = 3, | ||
| 1611 | D3D12_VIDEO_ENCODER_AV1_SEGMENTATION_BLOCK_SIZE_64x64 = 4, | ||
| 1612 | } D3D12_VIDEO_ENCODER_AV1_SEGMENTATION_BLOCK_SIZE; | ||
| 1613 | |||
| 1614 | typedef enum D3D12_VIDEO_ENCODER_AV1_SEGMENTATION_MODE { | ||
| 1615 | D3D12_VIDEO_ENCODER_AV1_SEGMENTATION_MODE_DISABLED = 0, | ||
| 1616 | D3D12_VIDEO_ENCODER_AV1_SEGMENTATION_MODE_ALT_Q = 1, | ||
| 1617 | D3D12_VIDEO_ENCODER_AV1_SEGMENTATION_MODE_ALT_LF_Y_V = 2, | ||
| 1618 | D3D12_VIDEO_ENCODER_AV1_SEGMENTATION_MODE_ALT_LF_Y_H = 3, | ||
| 1619 | D3D12_VIDEO_ENCODER_AV1_SEGMENTATION_MODE_ALT_LF_U = 4, | ||
| 1620 | D3D12_VIDEO_ENCODER_AV1_SEGMENTATION_MODE_ALT_LF_V = 5, | ||
| 1621 | D3D12_VIDEO_ENCODER_AV1_SEGMENTATION_MODE_ALT_REF_FRAME = 6, | ||
| 1622 | D3D12_VIDEO_ENCODER_AV1_SEGMENTATION_MODE_ALT_SKIP = 7, | ||
| 1623 | D3D12_VIDEO_ENCODER_AV1_SEGMENTATION_MODE_ALT_GLOBALMV = 8, | ||
| 1624 | } D3D12_VIDEO_ENCODER_AV1_SEGMENTATION_MODE; | ||
| 1625 | |||
| 1626 | typedef enum D3D12_VIDEO_ENCODER_AV1_SEGMENTATION_MODE_FLAGS { | ||
| 1627 | D3D12_VIDEO_ENCODER_AV1_SEGMENTATION_MODE_FLAG_NONE = 0, | ||
| 1628 | D3D12_VIDEO_ENCODER_AV1_SEGMENTATION_MODE_FLAG_DISABLED = (1 << D3D12_VIDEO_ENCODER_AV1_SEGMENTATION_MODE_DISABLED), | ||
| 1629 | D3D12_VIDEO_ENCODER_AV1_SEGMENTATION_MODE_FLAG_ALT_Q = (1 << D3D12_VIDEO_ENCODER_AV1_SEGMENTATION_MODE_ALT_Q), | ||
| 1630 | D3D12_VIDEO_ENCODER_AV1_SEGMENTATION_MODE_FLAG_ALT_LF_Y_V = (1 << D3D12_VIDEO_ENCODER_AV1_SEGMENTATION_MODE_ALT_LF_Y_V), | ||
| 1631 | D3D12_VIDEO_ENCODER_AV1_SEGMENTATION_MODE_FLAG_ALT_LF_Y_H = (1 << D3D12_VIDEO_ENCODER_AV1_SEGMENTATION_MODE_ALT_LF_Y_H), | ||
| 1632 | D3D12_VIDEO_ENCODER_AV1_SEGMENTATION_MODE_FLAG_ALT_LF_U = (1 << D3D12_VIDEO_ENCODER_AV1_SEGMENTATION_MODE_ALT_LF_U), | ||
| 1633 | D3D12_VIDEO_ENCODER_AV1_SEGMENTATION_MODE_FLAG_ALT_LF_V = (1 << D3D12_VIDEO_ENCODER_AV1_SEGMENTATION_MODE_ALT_LF_V), | ||
| 1634 | D3D12_VIDEO_ENCODER_AV1_SEGMENTATION_MODE_FLAG_REF_FRAME = (1 << D3D12_VIDEO_ENCODER_AV1_SEGMENTATION_MODE_ALT_REF_FRAME), | ||
| 1635 | D3D12_VIDEO_ENCODER_AV1_SEGMENTATION_MODE_FLAG_ALT_SKIP = (1 << D3D12_VIDEO_ENCODER_AV1_SEGMENTATION_MODE_ALT_SKIP), | ||
| 1636 | D3D12_VIDEO_ENCODER_AV1_SEGMENTATION_MODE_FLAG_ALT_GLOBALMV = (1 << D3D12_VIDEO_ENCODER_AV1_SEGMENTATION_MODE_ALT_GLOBALMV), | ||
| 1637 | } D3D12_VIDEO_ENCODER_AV1_SEGMENTATION_MODE_FLAGS; | ||
| 1638 | cpp_quote("DEFINE_ENUM_FLAG_OPERATORS(D3D12_VIDEO_ENCODER_AV1_SEGMENTATION_MODE_FLAGS)") | ||
| 1639 | |||
| 1640 | typedef enum D3D12_VIDEO_ENCODER_AV1_RESTORATION_TYPE { | ||
| 1641 | D3D12_VIDEO_ENCODER_AV1_RESTORATION_TYPE_DISABLED = 0, | ||
| 1642 | D3D12_VIDEO_ENCODER_AV1_RESTORATION_TYPE_SWITCHABLE = 1, | ||
| 1643 | D3D12_VIDEO_ENCODER_AV1_RESTORATION_TYPE_WIENER = 2, | ||
| 1644 | D3D12_VIDEO_ENCODER_AV1_RESTORATION_TYPE_SGRPROJ = 3, | ||
| 1645 | } D3D12_VIDEO_ENCODER_AV1_RESTORATION_TYPE; | ||
| 1646 | |||
| 1647 | typedef enum D3D12_VIDEO_ENCODER_AV1_RESTORATION_TILESIZE { | ||
| 1648 | D3D12_VIDEO_ENCODER_AV1_RESTORATION_TILESIZE_DISABLED = 0, | ||
| 1649 | D3D12_VIDEO_ENCODER_AV1_RESTORATION_TILESIZE_32x32 = 1, | ||
| 1650 | D3D12_VIDEO_ENCODER_AV1_RESTORATION_TILESIZE_64x64 = 2, | ||
| 1651 | D3D12_VIDEO_ENCODER_AV1_RESTORATION_TILESIZE_128x128 = 3, | ||
| 1652 | D3D12_VIDEO_ENCODER_AV1_RESTORATION_TILESIZE_256x256 = 4, | ||
| 1653 | } D3D12_VIDEO_ENCODER_AV1_RESTORATION_TILESIZE; | ||
| 1654 | |||
| 1655 | typedef enum D3D12_VIDEO_ENCODER_AV1_RESTORATION_SUPPORT_FLAGS { | ||
| 1656 | D3D12_VIDEO_ENCODER_AV1_RESTORATION_SUPPORT_FLAG_NOT_SUPPORTED = 0x0, | ||
| 1657 | D3D12_VIDEO_ENCODER_AV1_RESTORATION_SUPPORT_FLAG_32x32 = 0x1, | ||
| 1658 | D3D12_VIDEO_ENCODER_AV1_RESTORATION_SUPPORT_FLAG_64x64 = 0x2, | ||
| 1659 | D3D12_VIDEO_ENCODER_AV1_RESTORATION_SUPPORT_FLAG_128x128 = 0x4, | ||
| 1660 | D3D12_VIDEO_ENCODER_AV1_RESTORATION_SUPPORT_FLAG_256x256 = 0x8, | ||
| 1661 | } D3D12_VIDEO_ENCODER_AV1_RESTORATION_SUPPORT_FLAGS; | ||
| 1662 | cpp_quote("DEFINE_ENUM_FLAG_OPERATORS(D3D12_VIDEO_ENCODER_AV1_RESTORATION_SUPPORT_FLAGS)") | ||
| 1663 | |||
| 1664 | typedef enum D3D12_VIDEO_ENCODER_AV1_REFERENCE_WARPED_MOTION_TRANSFORMATION | ||
| 1665 | { | ||
| 1666 | D3D12_VIDEO_ENCODER_AV1_REFERENCE_WARPED_MOTION_TRANSFORMATION_IDENTITY = 0, | ||
| 1667 | D3D12_VIDEO_ENCODER_AV1_REFERENCE_WARPED_MOTION_TRANSFORMATION_TRANSLATION = 1, | ||
| 1668 | D3D12_VIDEO_ENCODER_AV1_REFERENCE_WARPED_MOTION_TRANSFORMATION_ROTZOOM = 2, | ||
| 1669 | D3D12_VIDEO_ENCODER_AV1_REFERENCE_WARPED_MOTION_TRANSFORMATION_AFFINE = 3, | ||
| 1670 | } D3D12_VIDEO_ENCODER_AV1_REFERENCE_WARPED_MOTION_TRANSFORMATION; | ||
| 1671 | |||
| 1672 | typedef enum D3D12_VIDEO_ENCODER_AV1_REFERENCE_WARPED_MOTION_TRANSFORMATION_FLAGS { | ||
| 1673 | D3D12_VIDEO_ENCODER_AV1_REFERENCE_WARPED_MOTION_TRANSFORMATION_FLAG_NONE = 0, // None is supported, reference warp motion arguments are ignored and is_global syntax is false for all references | ||
| 1674 | D3D12_VIDEO_ENCODER_AV1_REFERENCE_WARPED_MOTION_TRANSFORMATION_FLAG_IDENTITY = (1 << D3D12_VIDEO_ENCODER_AV1_REFERENCE_WARPED_MOTION_TRANSFORMATION_IDENTITY), | ||
| 1675 | D3D12_VIDEO_ENCODER_AV1_REFERENCE_WARPED_MOTION_TRANSFORMATION_FLAG_TRANSLATION = (1 << D3D12_VIDEO_ENCODER_AV1_REFERENCE_WARPED_MOTION_TRANSFORMATION_TRANSLATION), | ||
| 1676 | D3D12_VIDEO_ENCODER_AV1_REFERENCE_WARPED_MOTION_TRANSFORMATION_FLAG_ROTZOOM = (1 << D3D12_VIDEO_ENCODER_AV1_REFERENCE_WARPED_MOTION_TRANSFORMATION_ROTZOOM), | ||
| 1677 | D3D12_VIDEO_ENCODER_AV1_REFERENCE_WARPED_MOTION_TRANSFORMATION_FLAG_AFFINE = (1 << D3D12_VIDEO_ENCODER_AV1_REFERENCE_WARPED_MOTION_TRANSFORMATION_AFFINE), | ||
| 1678 | } D3D12_VIDEO_ENCODER_AV1_REFERENCE_WARPED_MOTION_TRANSFORMATION_FLAGS; | ||
| 1679 | cpp_quote("DEFINE_ENUM_FLAG_OPERATORS(D3D12_VIDEO_ENCODER_AV1_REFERENCE_WARPED_MOTION_TRANSFORMATION_FLAGS)") | ||
| 1680 | |||
| 1681 | typedef enum D3D12_VIDEO_ENCODER_AV1_POST_ENCODE_VALUES_FLAGS { | ||
| 1682 | D3D12_VIDEO_ENCODER_AV1_POST_ENCODE_VALUES_FLAG_NONE = 0, | ||
| 1683 | D3D12_VIDEO_ENCODER_AV1_POST_ENCODE_VALUES_FLAG_QUANTIZATION = 0x1, | ||
| 1684 | D3D12_VIDEO_ENCODER_AV1_POST_ENCODE_VALUES_FLAG_QUANTIZATION_DELTA = 0x2, | ||
| 1685 | D3D12_VIDEO_ENCODER_AV1_POST_ENCODE_VALUES_FLAG_LOOP_FILTER = 0x4, | ||
| 1686 | D3D12_VIDEO_ENCODER_AV1_POST_ENCODE_VALUES_FLAG_LOOP_FILTER_DELTA = 0x8, | ||
| 1687 | D3D12_VIDEO_ENCODER_AV1_POST_ENCODE_VALUES_FLAG_CDEF_DATA = 0x10, | ||
| 1688 | D3D12_VIDEO_ENCODER_AV1_POST_ENCODE_VALUES_FLAG_CONTEXT_UPDATE_TILE_ID = 0x20, | ||
| 1689 | D3D12_VIDEO_ENCODER_AV1_POST_ENCODE_VALUES_FLAG_COMPOUND_PREDICTION_MODE = 0x40, | ||
| 1690 | D3D12_VIDEO_ENCODER_AV1_POST_ENCODE_VALUES_FLAG_PRIMARY_REF_FRAME = 0x80, | ||
| 1691 | D3D12_VIDEO_ENCODER_AV1_POST_ENCODE_VALUES_FLAG_REFERENCE_INDICES = 0x100, | ||
| 1692 | } D3D12_VIDEO_ENCODER_AV1_POST_ENCODE_VALUES_FLAGS; | ||
| 1693 | cpp_quote("DEFINE_ENUM_FLAG_OPERATORS(D3D12_VIDEO_ENCODER_AV1_POST_ENCODE_VALUES_FLAGS)") | ||
| 1694 | |||
| 1695 | typedef struct D3D12_VIDEO_ENCODER_AV1_CODEC_CONFIGURATION_SUPPORT { | ||
| 1696 | D3D12_VIDEO_ENCODER_AV1_FEATURE_FLAGS SupportedFeatureFlags; | ||
| 1697 | D3D12_VIDEO_ENCODER_AV1_FEATURE_FLAGS RequiredFeatureFlags; | ||
| 1698 | D3D12_VIDEO_ENCODER_AV1_INTERPOLATION_FILTERS_FLAGS SupportedInterpolationFilters; | ||
| 1699 | D3D12_VIDEO_ENCODER_AV1_RESTORATION_SUPPORT_FLAGS SupportedRestorationParams[3][3]; | ||
| 1700 | D3D12_VIDEO_ENCODER_AV1_SEGMENTATION_MODE_FLAGS SupportedSegmentationModes; | ||
| 1701 | D3D12_VIDEO_ENCODER_AV1_TX_MODE_FLAGS SupportedTxModes[4]; // Different for D3D12_VIDEO_ENCODER_AV1_FRAME_TYPE types | ||
| 1702 | D3D12_VIDEO_ENCODER_AV1_SEGMENTATION_BLOCK_SIZE SegmentationBlockSize; | ||
| 1703 | D3D12_VIDEO_ENCODER_AV1_POST_ENCODE_VALUES_FLAGS PostEncodeValuesFlags; | ||
| 1704 | UINT MaxTemporalLayers; | ||
| 1705 | UINT MaxSpatialLayers; | ||
| 1706 | } D3D12_VIDEO_ENCODER_AV1_CODEC_CONFIGURATION_SUPPORT; | ||
| 1707 | |||
| 1708 | typedef enum D3D12_VIDEO_ENCODER_AV1_FRAME_TYPE | ||
| 1709 | { | ||
| 1710 | D3D12_VIDEO_ENCODER_AV1_FRAME_TYPE_KEY_FRAME = 0, | ||
| 1711 | D3D12_VIDEO_ENCODER_AV1_FRAME_TYPE_INTER_FRAME = 1, | ||
| 1712 | D3D12_VIDEO_ENCODER_AV1_FRAME_TYPE_INTRA_ONLY_FRAME = 2, | ||
| 1713 | D3D12_VIDEO_ENCODER_AV1_FRAME_TYPE_SWITCH_FRAME = 3, | ||
| 1714 | } D3D12_VIDEO_ENCODER_AV1_FRAME_TYPE; | ||
| 1715 | |||
| 1716 | typedef enum D3D12_VIDEO_ENCODER_AV1_FRAME_TYPE_FLAGS { | ||
| 1717 | D3D12_VIDEO_ENCODER_AV1_FRAME_TYPE_FLAG_NONE = 0x0, | ||
| 1718 | D3D12_VIDEO_ENCODER_AV1_FRAME_TYPE_FLAG_KEY_FRAME = (1 << D3D12_VIDEO_ENCODER_AV1_FRAME_TYPE_KEY_FRAME), | ||
| 1719 | D3D12_VIDEO_ENCODER_AV1_FRAME_TYPE_FLAG_INTER_FRAME = (1 << D3D12_VIDEO_ENCODER_AV1_FRAME_TYPE_INTER_FRAME), | ||
| 1720 | D3D12_VIDEO_ENCODER_AV1_FRAME_TYPE_FLAG_INTRA_ONLY_FRAME = (1 << D3D12_VIDEO_ENCODER_AV1_FRAME_TYPE_INTRA_ONLY_FRAME), | ||
| 1721 | D3D12_VIDEO_ENCODER_AV1_FRAME_TYPE_FLAG_SWITCH_FRAME = (1 << D3D12_VIDEO_ENCODER_AV1_FRAME_TYPE_SWITCH_FRAME), | ||
| 1722 | } D3D12_VIDEO_ENCODER_AV1_FRAME_TYPE_FLAGS; | ||
| 1723 | cpp_quote("DEFINE_ENUM_FLAG_OPERATORS(D3D12_VIDEO_ENCODER_AV1_FRAME_TYPE_FLAGS)") | ||
| 1724 | |||
| 1725 | typedef enum D3D12_VIDEO_ENCODER_AV1_COMP_PREDICTION_TYPE | ||
| 1726 | { | ||
| 1727 | D3D12_VIDEO_ENCODER_AV1_COMP_PREDICTION_TYPE_SINGLE_REFERENCE = 0, | ||
| 1728 | D3D12_VIDEO_ENCODER_AV1_COMP_PREDICTION_TYPE_COMPOUND_REFERENCE = 1, | ||
| 1729 | } D3D12_VIDEO_ENCODER_AV1_COMP_PREDICTION_TYPE; | ||
| 1730 | |||
| 1731 | typedef struct D3D12_VIDEO_ENCODER_CODEC_AV1_PICTURE_CONTROL_SUPPORT { | ||
| 1732 | D3D12_VIDEO_ENCODER_AV1_COMP_PREDICTION_TYPE PredictionMode; | ||
| 1733 | UINT MaxUniqueReferencesPerFrame; | ||
| 1734 | D3D12_VIDEO_ENCODER_AV1_FRAME_TYPE_FLAGS SupportedFrameTypes; | ||
| 1735 | D3D12_VIDEO_ENCODER_AV1_REFERENCE_WARPED_MOTION_TRANSFORMATION_FLAGS SupportedReferenceWarpedMotionFlags; | ||
| 1736 | } D3D12_VIDEO_ENCODER_CODEC_AV1_PICTURE_CONTROL_SUPPORT; | ||
| 1737 | |||
| 1738 | typedef struct D3D12_VIDEO_ENCODER_AV1_CODEC_CONFIGURATION { | ||
| 1739 | D3D12_VIDEO_ENCODER_AV1_FEATURE_FLAGS FeatureFlags; | ||
| 1740 | UINT OrderHintBitsMinus1; | ||
| 1741 | } D3D12_VIDEO_ENCODER_AV1_CODEC_CONFIGURATION; | ||
| 1742 | |||
| 1743 | typedef struct D3D12_VIDEO_ENCODER_AV1_SEQUENCE_STRUCTURE | ||
| 1744 | { | ||
| 1745 | UINT IntraDistance; | ||
| 1746 | UINT InterFramePeriod; | ||
| 1747 | } D3D12_VIDEO_ENCODER_AV1_SEQUENCE_STRUCTURE; | ||
| 1748 | |||
| 1749 | typedef struct D3D12_VIDEO_ENCODER_AV1_REFERENCE_PICTURE_WARPED_MOTION_INFO | ||
| 1750 | { | ||
| 1751 | D3D12_VIDEO_ENCODER_AV1_REFERENCE_WARPED_MOTION_TRANSFORMATION TransformationType; | ||
| 1752 | INT TransformationMatrix[8]; | ||
| 1753 | BOOL InvalidAffineSet; // Valid or invalid on affine set | ||
| 1754 | } D3D12_VIDEO_ENCODER_AV1_REFERENCE_PICTURE_WARPED_MOTION_INFO; | ||
| 1755 | |||
| 1756 | typedef struct D3D12_VIDEO_ENCODER_AV1_REFERENCE_PICTURE_DESCRIPTOR | ||
| 1757 | { | ||
| 1758 | UINT ReconstructedPictureResourceIndex; | ||
| 1759 | UINT TemporalLayerIndexPlus1; | ||
| 1760 | UINT SpatialLayerIndexPlus1; | ||
| 1761 | D3D12_VIDEO_ENCODER_AV1_FRAME_TYPE FrameType; | ||
| 1762 | // Only used if supported in D3D12_VIDEO_ENCODER_AV1_REFERENCE_WARPED_MOTION_TRANSFORMATION_FLAGS, ignored by driver otherwise | ||
| 1763 | D3D12_VIDEO_ENCODER_AV1_REFERENCE_PICTURE_WARPED_MOTION_INFO WarpedMotionInfo; | ||
| 1764 | UINT OrderHint; | ||
| 1765 | UINT PictureIndex; | ||
| 1766 | } D3D12_VIDEO_ENCODER_AV1_REFERENCE_PICTURE_DESCRIPTOR; | ||
| 1767 | |||
| 1768 | typedef enum D3D12_VIDEO_ENCODER_AV1_PICTURE_CONTROL_FLAGS | ||
| 1769 | { | ||
| 1770 | D3D12_VIDEO_ENCODER_AV1_PICTURE_CONTROL_FLAG_NONE = 0x0, | ||
| 1771 | D3D12_VIDEO_ENCODER_AV1_PICTURE_CONTROL_FLAG_ENABLE_ERROR_RESILIENT_MODE = 0x1, | ||
| 1772 | D3D12_VIDEO_ENCODER_AV1_PICTURE_CONTROL_FLAG_DISABLE_CDF_UPDATE = 0x2, | ||
| 1773 | D3D12_VIDEO_ENCODER_AV1_PICTURE_CONTROL_FLAG_ENABLE_PALETTE_ENCODING = 0x4, | ||
| 1774 | D3D12_VIDEO_ENCODER_AV1_PICTURE_CONTROL_FLAG_ENABLE_SKIP_MODE = 0x8, | ||
| 1775 | D3D12_VIDEO_ENCODER_AV1_PICTURE_CONTROL_FLAG_FRAME_REFERENCE_MOTION_VECTORS = 0x10, | ||
| 1776 | D3D12_VIDEO_ENCODER_AV1_PICTURE_CONTROL_FLAG_FORCE_INTEGER_MOTION_VECTORS = 0x20, | ||
| 1777 | D3D12_VIDEO_ENCODER_AV1_PICTURE_CONTROL_FLAG_ALLOW_INTRA_BLOCK_COPY = 0x40, | ||
| 1778 | D3D12_VIDEO_ENCODER_AV1_PICTURE_CONTROL_FLAG_USE_SUPER_RESOLUTION = 0x80, | ||
| 1779 | D3D12_VIDEO_ENCODER_AV1_PICTURE_CONTROL_FLAG_DISABLE_FRAME_END_UPDATE_CDF = 0x100, | ||
| 1780 | D3D12_VIDEO_ENCODER_AV1_PICTURE_CONTROL_FLAG_ENABLE_FRAME_SEGMENTATION_AUTO = 0x200, | ||
| 1781 | D3D12_VIDEO_ENCODER_AV1_PICTURE_CONTROL_FLAG_ENABLE_FRAME_SEGMENTATION_CUSTOM = 0x400, | ||
| 1782 | D3D12_VIDEO_ENCODER_AV1_PICTURE_CONTROL_FLAG_ENABLE_WARPED_MOTION = 0x800, | ||
| 1783 | D3D12_VIDEO_ENCODER_AV1_PICTURE_CONTROL_FLAG_REDUCED_TX_SET = 0x1000, | ||
| 1784 | D3D12_VIDEO_ENCODER_AV1_PICTURE_CONTROL_FLAG_MOTION_MODE_SWITCHABLE = 0x2000, | ||
| 1785 | D3D12_VIDEO_ENCODER_AV1_PICTURE_CONTROL_FLAG_ALLOW_HIGH_PRECISION_MV = 0x4000, | ||
| 1786 | |||
| 1787 | } D3D12_VIDEO_ENCODER_AV1_PICTURE_CONTROL_FLAGS; | ||
| 1788 | cpp_quote("DEFINE_ENUM_FLAG_OPERATORS(D3D12_VIDEO_ENCODER_AV1_PICTURE_CONTROL_FLAGS)") | ||
| 1789 | |||
| 1790 | typedef struct D3D12_VIDEO_ENCODER_AV1_RESTORATION_CONFIG { | ||
| 1791 | D3D12_VIDEO_ENCODER_AV1_RESTORATION_TYPE FrameRestorationType[3]; | ||
| 1792 | D3D12_VIDEO_ENCODER_AV1_RESTORATION_TILESIZE LoopRestorationPixelSize[3]; | ||
| 1793 | } D3D12_VIDEO_ENCODER_AV1_RESTORATION_CONFIG; | ||
| 1794 | |||
| 1795 | typedef struct D3D12_VIDEO_ENCODER_AV1_SEGMENT_DATA { | ||
| 1796 | UINT64 EnabledFeatures; // D3D12_VIDEO_ENCODER_AV1_SEGMENTATION_MODE_FLAGS | ||
| 1797 | // For the enabled features in EnabledFeatures, the array below | ||
| 1798 | // is indexed by D3D12_VIDEO_ENCODER_AV1_SEGMENTATION_MODE - 1 | ||
| 1799 | INT64 FeatureValue[8]; | ||
| 1800 | } D3D12_VIDEO_ENCODER_AV1_SEGMENT_DATA; | ||
| 1801 | |||
| 1802 | typedef struct D3D12_VIDEO_ENCODER_AV1_SEGMENTATION_CONFIG { | ||
| 1803 | UINT64 UpdateMap; | ||
| 1804 | UINT64 TemporalUpdate; | ||
| 1805 | UINT64 UpdateData; | ||
| 1806 | UINT64 NumSegments; | ||
| 1807 | D3D12_VIDEO_ENCODER_AV1_SEGMENT_DATA SegmentsData[8]; | ||
| 1808 | } D3D12_VIDEO_ENCODER_AV1_SEGMENTATION_CONFIG; | ||
| 1809 | |||
| 1810 | typedef struct D3D12_VIDEO_ENCODER_AV1_SEGMENTATION_MAP { | ||
| 1811 | UINT SegmentsMapByteSize; | ||
| 1812 | UINT8* pSegmentsMap; | ||
| 1813 | } D3D12_VIDEO_ENCODER_AV1_SEGMENTATION_MAP; | ||
| 1814 | |||
| 1815 | typedef struct D3D12_VIDEO_ENCODER_CODEC_AV1_LOOP_FILTER_CONFIG { | ||
| 1816 | UINT64 LoopFilterLevel[2]; | ||
| 1817 | UINT64 LoopFilterLevelU; | ||
| 1818 | UINT64 LoopFilterLevelV; | ||
| 1819 | UINT64 LoopFilterSharpnessLevel; | ||
| 1820 | UINT64 LoopFilterDeltaEnabled; | ||
| 1821 | // loop_filter_delta_update = UpdateRefDelta || UpdateModeDelta | ||
| 1822 | UINT64 UpdateRefDelta; | ||
| 1823 | INT64 RefDeltas[8]; | ||
| 1824 | UINT64 UpdateModeDelta; | ||
| 1825 | INT64 ModeDeltas[2]; | ||
| 1826 | } D3D12_VIDEO_ENCODER_CODEC_AV1_LOOP_FILTER_CONFIG; | ||
| 1827 | |||
| 1828 | typedef struct D3D12_VIDEO_ENCODER_CODEC_AV1_LOOP_FILTER_DELTA_CONFIG { | ||
| 1829 | UINT64 DeltaLFPresent; | ||
| 1830 | UINT64 DeltaLFMulti; | ||
| 1831 | UINT64 DeltaLFRes; | ||
| 1832 | } D3D12_VIDEO_ENCODER_CODEC_AV1_LOOP_FILTER_DELTA_CONFIG; | ||
| 1833 | |||
| 1834 | typedef struct D3D12_VIDEO_ENCODER_CODEC_AV1_QUANTIZATION_CONFIG { | ||
| 1835 | UINT64 BaseQIndex; | ||
| 1836 | INT64 YDCDeltaQ; | ||
| 1837 | INT64 UDCDeltaQ; | ||
| 1838 | INT64 UACDeltaQ; | ||
| 1839 | INT64 VDCDeltaQ; | ||
| 1840 | INT64 VACDeltaQ; | ||
| 1841 | UINT64 UsingQMatrix; | ||
| 1842 | UINT64 QMY; | ||
| 1843 | UINT64 QMU; | ||
| 1844 | UINT64 QMV; | ||
| 1845 | } D3D12_VIDEO_ENCODER_CODEC_AV1_QUANTIZATION_CONFIG; | ||
| 1846 | |||
| 1847 | typedef struct D3D12_VIDEO_ENCODER_CODEC_AV1_QUANTIZATION_DELTA_CONFIG { | ||
| 1848 | UINT64 DeltaQPresent; | ||
| 1849 | UINT64 DeltaQRes; | ||
| 1850 | } D3D12_VIDEO_ENCODER_CODEC_AV1_QUANTIZATION_DELTA_CONFIG; | ||
| 1851 | |||
| 1852 | typedef struct D3D12_VIDEO_ENCODER_AV1_CDEF_CONFIG { | ||
| 1853 | UINT64 CdefBits; | ||
| 1854 | UINT64 CdefDampingMinus3; | ||
| 1855 | UINT64 CdefYPriStrength[8]; | ||
| 1856 | UINT64 CdefUVPriStrength[8]; | ||
| 1857 | UINT64 CdefYSecStrength[8]; | ||
| 1858 | UINT64 CdefUVSecStrength[8]; | ||
| 1859 | } D3D12_VIDEO_ENCODER_AV1_CDEF_CONFIG; | ||
| 1860 | |||
| 1861 | typedef struct D3D12_VIDEO_ENCODER_AV1_PICTURE_CONTROL_CODEC_DATA | ||
| 1862 | { | ||
| 1863 | D3D12_VIDEO_ENCODER_AV1_PICTURE_CONTROL_FLAGS Flags; | ||
| 1864 | D3D12_VIDEO_ENCODER_AV1_FRAME_TYPE FrameType; | ||
| 1865 | D3D12_VIDEO_ENCODER_AV1_COMP_PREDICTION_TYPE CompoundPredictionType; | ||
| 1866 | D3D12_VIDEO_ENCODER_AV1_INTERPOLATION_FILTERS InterpolationFilter; | ||
| 1867 | D3D12_VIDEO_ENCODER_AV1_RESTORATION_CONFIG FrameRestorationConfig; | ||
| 1868 | D3D12_VIDEO_ENCODER_AV1_TX_MODE TxMode; | ||
| 1869 | UINT SuperResDenominator; | ||
| 1870 | UINT OrderHint; | ||
| 1871 | UINT PictureIndex; | ||
| 1872 | UINT TemporalLayerIndexPlus1; | ||
| 1873 | UINT SpatialLayerIndexPlus1; | ||
| 1874 | D3D12_VIDEO_ENCODER_AV1_REFERENCE_PICTURE_DESCRIPTOR ReferenceFramesReconPictureDescriptors[8]; | ||
| 1875 | UINT ReferenceIndices[7]; | ||
| 1876 | UINT PrimaryRefFrame; | ||
| 1877 | UINT RefreshFrameFlags; | ||
| 1878 | D3D12_VIDEO_ENCODER_CODEC_AV1_LOOP_FILTER_CONFIG LoopFilter; | ||
| 1879 | D3D12_VIDEO_ENCODER_CODEC_AV1_LOOP_FILTER_DELTA_CONFIG LoopFilterDelta; | ||
| 1880 | D3D12_VIDEO_ENCODER_CODEC_AV1_QUANTIZATION_CONFIG Quantization; | ||
| 1881 | D3D12_VIDEO_ENCODER_CODEC_AV1_QUANTIZATION_DELTA_CONFIG QuantizationDelta; | ||
| 1882 | D3D12_VIDEO_ENCODER_AV1_CDEF_CONFIG CDEF; | ||
| 1883 | UINT QPMapValuesCount; | ||
| 1884 | [annotation("_Field_size_full_(QPMapValuesCount)")] INT16* pRateControlQPMap; | ||
| 1885 | D3D12_VIDEO_ENCODER_AV1_SEGMENTATION_CONFIG CustomSegmentation; | ||
| 1886 | D3D12_VIDEO_ENCODER_AV1_SEGMENTATION_MAP CustomSegmentsMap; | ||
| 1887 | } D3D12_VIDEO_ENCODER_AV1_PICTURE_CONTROL_CODEC_DATA; | ||
| 1888 | |||
| 1889 | typedef struct D3D12_VIDEO_ENCODER_AV1_PICTURE_CONTROL_SUBREGIONS_LAYOUT_DATA_TILES | ||
| 1890 | { | ||
| 1891 | UINT64 RowCount; | ||
| 1892 | UINT64 ColCount; | ||
| 1893 | UINT64 RowHeights[D3D12_VIDEO_ENCODER_AV1_MAX_TILE_ROWS]; | ||
| 1894 | UINT64 ColWidths[D3D12_VIDEO_ENCODER_AV1_MAX_TILE_COLS]; | ||
| 1895 | UINT64 ContextUpdateTileId; | ||
| 1896 | } D3D12_VIDEO_ENCODER_AV1_PICTURE_CONTROL_SUBREGIONS_LAYOUT_DATA_TILES; | ||
| 1897 | |||
| 1898 | typedef struct D3D12_VIDEO_ENCODER_AV1_POST_ENCODE_VALUES | ||
| 1899 | { | ||
| 1900 | UINT64 CompoundPredictionType; // D3D12_VIDEO_ENCODER_AV1_COMP_PREDICTION_TYPE | ||
| 1901 | D3D12_VIDEO_ENCODER_CODEC_AV1_LOOP_FILTER_CONFIG LoopFilter; | ||
| 1902 | D3D12_VIDEO_ENCODER_CODEC_AV1_LOOP_FILTER_DELTA_CONFIG LoopFilterDelta; | ||
| 1903 | D3D12_VIDEO_ENCODER_CODEC_AV1_QUANTIZATION_CONFIG Quantization; | ||
| 1904 | D3D12_VIDEO_ENCODER_CODEC_AV1_QUANTIZATION_DELTA_CONFIG QuantizationDelta; | ||
| 1905 | D3D12_VIDEO_ENCODER_AV1_CDEF_CONFIG CDEF; | ||
| 1906 | D3D12_VIDEO_ENCODER_AV1_SEGMENTATION_CONFIG SegmentationConfig; | ||
| 1907 | UINT64 PrimaryRefFrame; // Aligned to 64 for use of post encode metadata with predication | ||
| 1908 | UINT64 ReferenceIndices[7]; // Aligned to 64 for use of post encode metadata with predication | ||
| 1909 | } D3D12_VIDEO_ENCODER_AV1_POST_ENCODE_VALUES; | ||
| 1910 | |||
| 1911 | // | ||
| 1912 | // Rate control API | ||
| 1913 | // | ||
| 1914 | |||
| 1915 | typedef enum D3D12_VIDEO_ENCODER_RATE_CONTROL_MODE | ||
| 1916 | { | ||
| 1917 | D3D12_VIDEO_ENCODER_RATE_CONTROL_MODE_ABSOLUTE_QP_MAP = 0, | ||
| 1918 | D3D12_VIDEO_ENCODER_RATE_CONTROL_MODE_CQP = 1, | ||
| 1919 | D3D12_VIDEO_ENCODER_RATE_CONTROL_MODE_CBR = 2, | ||
| 1920 | D3D12_VIDEO_ENCODER_RATE_CONTROL_MODE_VBR = 3, | ||
| 1921 | D3D12_VIDEO_ENCODER_RATE_CONTROL_MODE_QVBR = 4, | ||
| 1922 | } D3D12_VIDEO_ENCODER_RATE_CONTROL_MODE; | ||
| 1923 | |||
| 1924 | typedef enum D3D12_VIDEO_ENCODER_RATE_CONTROL_FLAGS | ||
| 1925 | { | ||
| 1926 | D3D12_VIDEO_ENCODER_RATE_CONTROL_FLAG_NONE = 0x0, | ||
| 1927 | D3D12_VIDEO_ENCODER_RATE_CONTROL_FLAG_ENABLE_DELTA_QP = 0x1, | ||
| 1928 | D3D12_VIDEO_ENCODER_RATE_CONTROL_FLAG_ENABLE_FRAME_ANALYSIS = 0x2, | ||
| 1929 | D3D12_VIDEO_ENCODER_RATE_CONTROL_FLAG_ENABLE_QP_RANGE = 0x4, | ||
| 1930 | D3D12_VIDEO_ENCODER_RATE_CONTROL_FLAG_ENABLE_INITIAL_QP = 0x8, | ||
| 1931 | D3D12_VIDEO_ENCODER_RATE_CONTROL_FLAG_ENABLE_MAX_FRAME_SIZE = 0x10, | ||
| 1932 | D3D12_VIDEO_ENCODER_RATE_CONTROL_FLAG_ENABLE_VBV_SIZES = 0x20, | ||
| 1933 | D3D12_VIDEO_ENCODER_RATE_CONTROL_FLAG_ENABLE_EXTENSION1_SUPPORT = 0x40, | ||
| 1934 | D3D12_VIDEO_ENCODER_RATE_CONTROL_FLAG_ENABLE_QUALITY_VS_SPEED = 0x80, | ||
| 1935 | D3D12_VIDEO_ENCODER_RATE_CONTROL_FLAG_ENABLE_SPATIAL_ADAPTIVE_QP = 0x100, | ||
| 1936 | } D3D12_VIDEO_ENCODER_RATE_CONTROL_FLAGS; | ||
| 1937 | cpp_quote("DEFINE_ENUM_FLAG_OPERATORS(D3D12_VIDEO_ENCODER_RATE_CONTROL_FLAGS)") | ||
| 1938 | |||
| 1939 | typedef struct D3D12_VIDEO_ENCODER_RATE_CONTROL_CQP { | ||
| 1940 | UINT ConstantQP_FullIntracodedFrame; | ||
| 1941 | UINT ConstantQP_InterPredictedFrame_PrevRefOnly; | ||
| 1942 | UINT ConstantQP_InterPredictedFrame_BiDirectionalRef; | ||
| 1943 | } D3D12_VIDEO_ENCODER_RATE_CONTROL_CQP; | ||
| 1944 | |||
| 1945 | typedef struct D3D12_VIDEO_ENCODER_RATE_CONTROL_CQP1 { | ||
| 1946 | UINT ConstantQP_FullIntracodedFrame; | ||
| 1947 | UINT ConstantQP_InterPredictedFrame_PrevRefOnly; | ||
| 1948 | UINT ConstantQP_InterPredictedFrame_BiDirectionalRef; | ||
| 1949 | UINT QualityVsSpeed; | ||
| 1950 | } D3D12_VIDEO_ENCODER_RATE_CONTROL_CQP1; | ||
| 1951 | |||
| 1952 | typedef struct D3D12_VIDEO_ENCODER_RATE_CONTROL_CBR { | ||
| 1953 | UINT InitialQP; | ||
| 1954 | UINT MinQP; | ||
| 1955 | UINT MaxQP; | ||
| 1956 | UINT64 MaxFrameBitSize; | ||
| 1957 | UINT64 TargetBitRate; | ||
| 1958 | UINT64 VBVCapacity; | ||
| 1959 | UINT64 InitialVBVFullness; | ||
| 1960 | } D3D12_VIDEO_ENCODER_RATE_CONTROL_CBR; | ||
| 1961 | |||
| 1962 | typedef struct D3D12_VIDEO_ENCODER_RATE_CONTROL_CBR1 { | ||
| 1963 | UINT InitialQP; | ||
| 1964 | UINT MinQP; | ||
| 1965 | UINT MaxQP; | ||
| 1966 | UINT64 MaxFrameBitSize; | ||
| 1967 | UINT64 TargetBitRate; | ||
| 1968 | UINT64 VBVCapacity; | ||
| 1969 | UINT64 InitialVBVFullness; | ||
| 1970 | UINT QualityVsSpeed; | ||
| 1971 | } D3D12_VIDEO_ENCODER_RATE_CONTROL_CBR1; | ||
| 1972 | |||
| 1973 | typedef struct D3D12_VIDEO_ENCODER_RATE_CONTROL_VBR { | ||
| 1974 | UINT InitialQP; | ||
| 1975 | UINT MinQP; | ||
| 1976 | UINT MaxQP; | ||
| 1977 | UINT64 MaxFrameBitSize; | ||
| 1978 | UINT64 TargetAvgBitRate; | ||
| 1979 | UINT64 PeakBitRate; | ||
| 1980 | UINT64 VBVCapacity; | ||
| 1981 | UINT64 InitialVBVFullness; | ||
| 1982 | } D3D12_VIDEO_ENCODER_RATE_CONTROL_VBR; | ||
| 1983 | |||
| 1984 | typedef struct D3D12_VIDEO_ENCODER_RATE_CONTROL_VBR1 { | ||
| 1985 | UINT InitialQP; | ||
| 1986 | UINT MinQP; | ||
| 1987 | UINT MaxQP; | ||
| 1988 | UINT64 MaxFrameBitSize; | ||
| 1989 | UINT64 TargetAvgBitRate; | ||
| 1990 | UINT64 PeakBitRate; | ||
| 1991 | UINT64 VBVCapacity; | ||
| 1992 | UINT64 InitialVBVFullness; | ||
| 1993 | UINT QualityVsSpeed; | ||
| 1994 | } D3D12_VIDEO_ENCODER_RATE_CONTROL_VBR1; | ||
| 1995 | |||
| 1996 | typedef struct D3D12_VIDEO_ENCODER_RATE_CONTROL_QVBR { | ||
| 1997 | UINT InitialQP; | ||
| 1998 | UINT MinQP; | ||
| 1999 | UINT MaxQP; | ||
| 2000 | UINT64 MaxFrameBitSize; | ||
| 2001 | UINT64 TargetAvgBitRate; | ||
| 2002 | UINT64 PeakBitRate; | ||
| 2003 | UINT ConstantQualityTarget; | ||
| 2004 | } D3D12_VIDEO_ENCODER_RATE_CONTROL_QVBR; | ||
| 2005 | |||
| 2006 | typedef struct D3D12_VIDEO_ENCODER_RATE_CONTROL_QVBR1 | ||
| 2007 | { | ||
| 2008 | UINT InitialQP; | ||
| 2009 | UINT MinQP; | ||
| 2010 | UINT MaxQP; | ||
| 2011 | UINT64 MaxFrameBitSize; | ||
| 2012 | UINT64 TargetAvgBitRate; | ||
| 2013 | UINT64 PeakBitRate; | ||
| 2014 | UINT ConstantQualityTarget; | ||
| 2015 | UINT64 VBVCapacity; | ||
| 2016 | UINT64 InitialVBVFullness; | ||
| 2017 | UINT QualityVsSpeed; | ||
| 2018 | } D3D12_VIDEO_ENCODER_RATE_CONTROL_QVBR1; | ||
| 2019 | |||
| 2020 | typedef struct D3D12_VIDEO_ENCODER_RATE_CONTROL_ABSOLUTE_QP_MAP { | ||
| 2021 | UINT QualityVsSpeed; | ||
| 2022 | } D3D12_VIDEO_ENCODER_RATE_CONTROL_ABSOLUTE_QP_MAP; | ||
| 2023 | |||
| 2024 | typedef struct D3D12_VIDEO_ENCODER_RATE_CONTROL_CONFIGURATION_PARAMS | ||
| 2025 | { | ||
| 2026 | UINT DataSize; | ||
| 2027 | union | ||
| 2028 | { | ||
| 2029 | const D3D12_VIDEO_ENCODER_RATE_CONTROL_CQP* pConfiguration_CQP; | ||
| 2030 | const D3D12_VIDEO_ENCODER_RATE_CONTROL_CBR* pConfiguration_CBR; | ||
| 2031 | const D3D12_VIDEO_ENCODER_RATE_CONTROL_VBR* pConfiguration_VBR; | ||
| 2032 | const D3D12_VIDEO_ENCODER_RATE_CONTROL_QVBR* pConfiguration_QVBR; | ||
| 2033 | const D3D12_VIDEO_ENCODER_RATE_CONTROL_CQP1* pConfiguration_CQP1; | ||
| 2034 | const D3D12_VIDEO_ENCODER_RATE_CONTROL_CBR1* pConfiguration_CBR1; | ||
| 2035 | const D3D12_VIDEO_ENCODER_RATE_CONTROL_VBR1* pConfiguration_VBR1; | ||
| 2036 | const D3D12_VIDEO_ENCODER_RATE_CONTROL_QVBR1* pConfiguration_QVBR1; | ||
| 2037 | const D3D12_VIDEO_ENCODER_RATE_CONTROL_ABSOLUTE_QP_MAP* pConfiguration_AbsoluteQPMap; | ||
| 2038 | }; | ||
| 2039 | } D3D12_VIDEO_ENCODER_RATE_CONTROL_CONFIGURATION_PARAMS; | ||
| 2040 | |||
| 2041 | typedef struct D3D12_VIDEO_ENCODER_RATE_CONTROL { | ||
| 2042 | D3D12_VIDEO_ENCODER_RATE_CONTROL_MODE Mode; | ||
| 2043 | D3D12_VIDEO_ENCODER_RATE_CONTROL_FLAGS Flags; | ||
| 2044 | D3D12_VIDEO_ENCODER_RATE_CONTROL_CONFIGURATION_PARAMS ConfigParams; | ||
| 2045 | DXGI_RATIONAL TargetFrameRate; | ||
| 2046 | } D3D12_VIDEO_ENCODER_RATE_CONTROL; | ||
| 2047 | |||
| 2048 | // | ||
| 2049 | // Video Encoder support API | ||
| 2050 | // | ||
| 2051 | |||
| 2052 | typedef enum D3D12_VIDEO_ENCODER_CODEC | ||
| 2053 | { | ||
| 2054 | D3D12_VIDEO_ENCODER_CODEC_H264 = 0, | ||
| 2055 | D3D12_VIDEO_ENCODER_CODEC_HEVC = 1, | ||
| 2056 | D3D12_VIDEO_ENCODER_CODEC_AV1 = 2, | ||
| 2057 | } D3D12_VIDEO_ENCODER_CODEC; | ||
| 2058 | |||
| 2059 | typedef struct D3D12_FEATURE_DATA_VIDEO_ENCODER_CODEC | ||
| 2060 | { | ||
| 2061 | UINT NodeIndex; // input | ||
| 2062 | D3D12_VIDEO_ENCODER_CODEC Codec; // input | ||
| 2063 | BOOL IsSupported; // output | ||
| 2064 | } D3D12_FEATURE_DATA_VIDEO_ENCODER_CODEC; | ||
| 2065 | |||
| 2066 | typedef enum D3D12_VIDEO_ENCODER_PROFILE_H264 | ||
| 2067 | { | ||
| 2068 | D3D12_VIDEO_ENCODER_PROFILE_H264_MAIN = 0, | ||
| 2069 | D3D12_VIDEO_ENCODER_PROFILE_H264_HIGH = 1, | ||
| 2070 | D3D12_VIDEO_ENCODER_PROFILE_H264_HIGH_10 = 2, | ||
| 2071 | } D3D12_VIDEO_ENCODER_PROFILE_H264; | ||
| 2072 | |||
| 2073 | typedef enum D3D12_VIDEO_ENCODER_PROFILE_HEVC | ||
| 2074 | { | ||
| 2075 | D3D12_VIDEO_ENCODER_PROFILE_HEVC_MAIN = 0, | ||
| 2076 | D3D12_VIDEO_ENCODER_PROFILE_HEVC_MAIN10 = 1, | ||
| 2077 | D3D12_VIDEO_ENCODER_PROFILE_HEVC_MAIN12 = 2, | ||
| 2078 | D3D12_VIDEO_ENCODER_PROFILE_HEVC_MAIN10_422 = 3, | ||
| 2079 | D3D12_VIDEO_ENCODER_PROFILE_HEVC_MAIN12_422 = 4, | ||
| 2080 | D3D12_VIDEO_ENCODER_PROFILE_HEVC_MAIN_444 = 5, | ||
| 2081 | D3D12_VIDEO_ENCODER_PROFILE_HEVC_MAIN10_444 = 6, | ||
| 2082 | D3D12_VIDEO_ENCODER_PROFILE_HEVC_MAIN12_444 = 7, | ||
| 2083 | D3D12_VIDEO_ENCODER_PROFILE_HEVC_MAIN16_444 = 8, | ||
| 2084 | } D3D12_VIDEO_ENCODER_PROFILE_HEVC; | ||
| 2085 | |||
| 2086 | typedef struct D3D12_VIDEO_ENCODER_PROFILE_DESC | ||
| 2087 | { | ||
| 2088 | UINT DataSize; | ||
| 2089 | union | ||
| 2090 | { | ||
| 2091 | D3D12_VIDEO_ENCODER_PROFILE_H264* pH264Profile; | ||
| 2092 | D3D12_VIDEO_ENCODER_PROFILE_HEVC* pHEVCProfile; | ||
| 2093 | D3D12_VIDEO_ENCODER_AV1_PROFILE* pAV1Profile; | ||
| 2094 | }; | ||
| 2095 | } D3D12_VIDEO_ENCODER_PROFILE_DESC; | ||
| 2096 | |||
| 2097 | typedef enum D3D12_VIDEO_ENCODER_LEVELS_H264 | ||
| 2098 | { | ||
| 2099 | D3D12_VIDEO_ENCODER_LEVELS_H264_1 = 0, | ||
| 2100 | D3D12_VIDEO_ENCODER_LEVELS_H264_1b = 1, | ||
| 2101 | D3D12_VIDEO_ENCODER_LEVELS_H264_11 = 2, | ||
| 2102 | D3D12_VIDEO_ENCODER_LEVELS_H264_12 = 3, | ||
| 2103 | D3D12_VIDEO_ENCODER_LEVELS_H264_13 = 4, | ||
| 2104 | D3D12_VIDEO_ENCODER_LEVELS_H264_2 = 5, | ||
| 2105 | D3D12_VIDEO_ENCODER_LEVELS_H264_21 = 6, | ||
| 2106 | D3D12_VIDEO_ENCODER_LEVELS_H264_22 = 7, | ||
| 2107 | D3D12_VIDEO_ENCODER_LEVELS_H264_3 = 8, | ||
| 2108 | D3D12_VIDEO_ENCODER_LEVELS_H264_31 = 9, | ||
| 2109 | D3D12_VIDEO_ENCODER_LEVELS_H264_32 = 10, | ||
| 2110 | D3D12_VIDEO_ENCODER_LEVELS_H264_4 = 11, | ||
| 2111 | D3D12_VIDEO_ENCODER_LEVELS_H264_41 = 12, | ||
| 2112 | D3D12_VIDEO_ENCODER_LEVELS_H264_42 = 13, | ||
| 2113 | D3D12_VIDEO_ENCODER_LEVELS_H264_5 = 14, | ||
| 2114 | D3D12_VIDEO_ENCODER_LEVELS_H264_51 = 15, | ||
| 2115 | D3D12_VIDEO_ENCODER_LEVELS_H264_52 = 16, | ||
| 2116 | D3D12_VIDEO_ENCODER_LEVELS_H264_6 = 17, | ||
| 2117 | D3D12_VIDEO_ENCODER_LEVELS_H264_61 = 18, | ||
| 2118 | D3D12_VIDEO_ENCODER_LEVELS_H264_62 = 19, | ||
| 2119 | } D3D12_VIDEO_ENCODER_LEVELS_H264; | ||
| 2120 | |||
| 2121 | typedef enum D3D12_VIDEO_ENCODER_TIER_HEVC | ||
| 2122 | { | ||
| 2123 | D3D12_VIDEO_ENCODER_TIER_HEVC_MAIN = 0, | ||
| 2124 | D3D12_VIDEO_ENCODER_TIER_HEVC_HIGH = 1, | ||
| 2125 | } D3D12_VIDEO_ENCODER_TIER_HEVC; | ||
| 2126 | |||
| 2127 | typedef enum D3D12_VIDEO_ENCODER_LEVELS_HEVC | ||
| 2128 | { | ||
| 2129 | D3D12_VIDEO_ENCODER_LEVELS_HEVC_1 = 0, | ||
| 2130 | D3D12_VIDEO_ENCODER_LEVELS_HEVC_2 = 1, | ||
| 2131 | D3D12_VIDEO_ENCODER_LEVELS_HEVC_21 = 2, | ||
| 2132 | D3D12_VIDEO_ENCODER_LEVELS_HEVC_3 = 3, | ||
| 2133 | D3D12_VIDEO_ENCODER_LEVELS_HEVC_31 = 4, | ||
| 2134 | D3D12_VIDEO_ENCODER_LEVELS_HEVC_4 = 5, | ||
| 2135 | D3D12_VIDEO_ENCODER_LEVELS_HEVC_41 = 6, | ||
| 2136 | D3D12_VIDEO_ENCODER_LEVELS_HEVC_5 = 7, | ||
| 2137 | D3D12_VIDEO_ENCODER_LEVELS_HEVC_51 = 8, | ||
| 2138 | D3D12_VIDEO_ENCODER_LEVELS_HEVC_52 = 9, | ||
| 2139 | D3D12_VIDEO_ENCODER_LEVELS_HEVC_6 = 10, | ||
| 2140 | D3D12_VIDEO_ENCODER_LEVELS_HEVC_61 = 11, | ||
| 2141 | D3D12_VIDEO_ENCODER_LEVELS_HEVC_62 = 12, | ||
| 2142 | } D3D12_VIDEO_ENCODER_LEVELS_HEVC; | ||
| 2143 | |||
| 2144 | typedef struct D3D12_VIDEO_ENCODER_LEVEL_TIER_CONSTRAINTS_HEVC | ||
| 2145 | { | ||
| 2146 | D3D12_VIDEO_ENCODER_LEVELS_HEVC Level; | ||
| 2147 | D3D12_VIDEO_ENCODER_TIER_HEVC Tier; | ||
| 2148 | } D3D12_VIDEO_ENCODER_LEVEL_TIER_CONSTRAINTS_HEVC; | ||
| 2149 | |||
| 2150 | typedef struct D3D12_VIDEO_ENCODER_LEVEL_SETTING | ||
| 2151 | { | ||
| 2152 | UINT DataSize; | ||
| 2153 | union | ||
| 2154 | { | ||
| 2155 | D3D12_VIDEO_ENCODER_LEVELS_H264* pH264LevelSetting; | ||
| 2156 | D3D12_VIDEO_ENCODER_LEVEL_TIER_CONSTRAINTS_HEVC* pHEVCLevelSetting; | ||
| 2157 | D3D12_VIDEO_ENCODER_AV1_LEVEL_TIER_CONSTRAINTS* pAV1LevelSetting; | ||
| 2158 | }; | ||
| 2159 | } D3D12_VIDEO_ENCODER_LEVEL_SETTING; | ||
| 2160 | |||
| 2161 | typedef struct D3D12_FEATURE_DATA_VIDEO_ENCODER_PROFILE_LEVEL | ||
| 2162 | { | ||
| 2163 | UINT NodeIndex; // input | ||
| 2164 | D3D12_VIDEO_ENCODER_CODEC Codec; // input | ||
| 2165 | D3D12_VIDEO_ENCODER_PROFILE_DESC Profile; // input | ||
| 2166 | BOOL IsSupported; // output | ||
| 2167 | D3D12_VIDEO_ENCODER_LEVEL_SETTING MinSupportedLevel; // output | ||
| 2168 | D3D12_VIDEO_ENCODER_LEVEL_SETTING MaxSupportedLevel; // output | ||
| 2169 | } D3D12_FEATURE_DATA_VIDEO_ENCODER_PROFILE_LEVEL; | ||
| 2170 | |||
| 2171 | typedef struct D3D12_VIDEO_ENCODER_PICTURE_RESOLUTION_DESC | ||
| 2172 | { | ||
| 2173 | UINT Width; | ||
| 2174 | UINT Height; | ||
| 2175 | } D3D12_VIDEO_ENCODER_PICTURE_RESOLUTION_DESC; | ||
| 2176 | |||
| 2177 | typedef struct D3D12_VIDEO_ENCODER_PICTURE_RESOLUTION_RATIO_DESC | ||
| 2178 | { | ||
| 2179 | UINT WidthRatio; | ||
| 2180 | UINT HeightRatio; | ||
| 2181 | } D3D12_VIDEO_ENCODER_PICTURE_RESOLUTION_RATIO_DESC; | ||
| 2182 | |||
| 2183 | typedef struct D3D12_FEATURE_DATA_VIDEO_ENCODER_OUTPUT_RESOLUTION_RATIOS_COUNT | ||
| 2184 | { | ||
| 2185 | UINT NodeIndex; // input | ||
| 2186 | D3D12_VIDEO_ENCODER_CODEC Codec; // input | ||
| 2187 | UINT ResolutionRatiosCount; // output | ||
| 2188 | } D3D12_FEATURE_DATA_VIDEO_ENCODER_OUTPUT_RESOLUTION_RATIOS_COUNT; | ||
| 2189 | |||
| 2190 | typedef struct D3D12_FEATURE_DATA_VIDEO_ENCODER_OUTPUT_RESOLUTION | ||
| 2191 | { | ||
| 2192 | UINT NodeIndex; // input | ||
| 2193 | D3D12_VIDEO_ENCODER_CODEC Codec; // input | ||
| 2194 | UINT ResolutionRatiosCount; // input | ||
| 2195 | BOOL IsSupported; // output | ||
| 2196 | D3D12_VIDEO_ENCODER_PICTURE_RESOLUTION_DESC MinResolutionSupported; // output | ||
| 2197 | D3D12_VIDEO_ENCODER_PICTURE_RESOLUTION_DESC MaxResolutionSupported; // output | ||
| 2198 | UINT ResolutionWidthMultipleRequirement; // output | ||
| 2199 | UINT ResolutionHeightMultipleRequirement; // output | ||
| 2200 | [annotation("_Field_size_full_(ResolutionRatiosCount)")] D3D12_VIDEO_ENCODER_PICTURE_RESOLUTION_RATIO_DESC* pResolutionRatios; | ||
| 2201 | } D3D12_FEATURE_DATA_VIDEO_ENCODER_OUTPUT_RESOLUTION; | ||
| 2202 | |||
| 2203 | typedef struct D3D12_FEATURE_DATA_VIDEO_ENCODER_INPUT_FORMAT | ||
| 2204 | { | ||
| 2205 | UINT NodeIndex; // input | ||
| 2206 | D3D12_VIDEO_ENCODER_CODEC Codec; // input | ||
| 2207 | D3D12_VIDEO_ENCODER_PROFILE_DESC Profile; // input | ||
| 2208 | DXGI_FORMAT Format; // input | ||
| 2209 | BOOL IsSupported; // output | ||
| 2210 | } D3D12_FEATURE_DATA_VIDEO_ENCODER_INPUT_FORMAT; | ||
| 2211 | |||
| 2212 | typedef struct D3D12_FEATURE_DATA_VIDEO_ENCODER_RATE_CONTROL_MODE | ||
| 2213 | { | ||
| 2214 | UINT NodeIndex; // input | ||
| 2215 | D3D12_VIDEO_ENCODER_CODEC Codec; // input | ||
| 2216 | D3D12_VIDEO_ENCODER_RATE_CONTROL_MODE RateControlMode; // input | ||
| 2217 | BOOL IsSupported; // output | ||
| 2218 | } D3D12_FEATURE_DATA_VIDEO_ENCODER_RATE_CONTROL_MODE; | ||
| 2219 | |||
| 2220 | typedef enum D3D12_VIDEO_ENCODER_INTRA_REFRESH_MODE | ||
| 2221 | { | ||
| 2222 | D3D12_VIDEO_ENCODER_INTRA_REFRESH_MODE_NONE = 0, | ||
| 2223 | D3D12_VIDEO_ENCODER_INTRA_REFRESH_MODE_ROW_BASED = 1, | ||
| 2224 | } D3D12_VIDEO_ENCODER_INTRA_REFRESH_MODE; | ||
| 2225 | |||
| 2226 | typedef struct D3D12_FEATURE_DATA_VIDEO_ENCODER_INTRA_REFRESH_MODE { | ||
| 2227 | UINT NodeIndex; // input | ||
| 2228 | D3D12_VIDEO_ENCODER_CODEC Codec; // input | ||
| 2229 | D3D12_VIDEO_ENCODER_PROFILE_DESC Profile; // input | ||
| 2230 | D3D12_VIDEO_ENCODER_LEVEL_SETTING Level; // input | ||
| 2231 | D3D12_VIDEO_ENCODER_INTRA_REFRESH_MODE IntraRefreshMode; // input | ||
| 2232 | BOOL IsSupported; // output | ||
| 2233 | } D3D12_FEATURE_DATA_VIDEO_ENCODER_INTRA_REFRESH_MODE; | ||
| 2234 | |||
| 2235 | typedef enum D3D12_VIDEO_ENCODER_FRAME_SUBREGION_LAYOUT_MODE | ||
| 2236 | { | ||
| 2237 | D3D12_VIDEO_ENCODER_FRAME_SUBREGION_LAYOUT_MODE_FULL_FRAME = 0, | ||
| 2238 | D3D12_VIDEO_ENCODER_FRAME_SUBREGION_LAYOUT_MODE_BYTES_PER_SUBREGION = 1, | ||
| 2239 | D3D12_VIDEO_ENCODER_FRAME_SUBREGION_LAYOUT_MODE_SQUARE_UNITS_PER_SUBREGION_ROW_UNALIGNED = 2, | ||
| 2240 | D3D12_VIDEO_ENCODER_FRAME_SUBREGION_LAYOUT_MODE_UNIFORM_PARTITIONING_ROWS_PER_SUBREGION = 3, | ||
| 2241 | D3D12_VIDEO_ENCODER_FRAME_SUBREGION_LAYOUT_MODE_UNIFORM_PARTITIONING_SUBREGIONS_PER_FRAME = 4, | ||
| 2242 | D3D12_VIDEO_ENCODER_FRAME_SUBREGION_LAYOUT_MODE_UNIFORM_GRID_PARTITION = 5, | ||
| 2243 | D3D12_VIDEO_ENCODER_FRAME_SUBREGION_LAYOUT_MODE_CONFIGURABLE_GRID_PARTITION = 6, | ||
| 2244 | D3D12_VIDEO_ENCODER_FRAME_SUBREGION_LAYOUT_MODE_AUTO = 7, | ||
| 2245 | } D3D12_VIDEO_ENCODER_FRAME_SUBREGION_LAYOUT_MODE; | ||
| 2246 | |||
| 2247 | typedef struct D3D12_FEATURE_DATA_VIDEO_ENCODER_FRAME_SUBREGION_LAYOUT_MODE | ||
| 2248 | { | ||
| 2249 | UINT NodeIndex; // input | ||
| 2250 | D3D12_VIDEO_ENCODER_CODEC Codec; // input | ||
| 2251 | D3D12_VIDEO_ENCODER_PROFILE_DESC Profile; // input | ||
| 2252 | D3D12_VIDEO_ENCODER_LEVEL_SETTING Level; // input | ||
| 2253 | D3D12_VIDEO_ENCODER_FRAME_SUBREGION_LAYOUT_MODE SubregionMode; // input | ||
| 2254 | BOOL IsSupported; // output | ||
| 2255 | } D3D12_FEATURE_DATA_VIDEO_ENCODER_FRAME_SUBREGION_LAYOUT_MODE; | ||
| 2256 | |||
| 2257 | typedef enum D3D12_VIDEO_ENCODER_AV1_FRAME_SUBREGION_LAYOUT_CONFIG_VALIDATION_FLAGS | ||
| 2258 | { | ||
| 2259 | D3D12_VIDEO_ENCODER_AV1_FRAME_SUBREGION_LAYOUT_CONFIG_VALIDATION_FLAG_NONE = 0x0, | ||
| 2260 | D3D12_VIDEO_ENCODER_AV1_FRAME_SUBREGION_LAYOUT_CONFIG_VALIDATION_FLAG_NOT_SPECIFIED = 0x1, | ||
| 2261 | D3D12_VIDEO_ENCODER_AV1_FRAME_SUBREGION_LAYOUT_CONFIG_VALIDATION_FLAG_CODEC_CONSTRAINT = 0x2, | ||
| 2262 | D3D12_VIDEO_ENCODER_AV1_FRAME_SUBREGION_LAYOUT_CONFIG_VALIDATION_FLAG_HARDWARE_CONSTRAINT = 0x4, | ||
| 2263 | D3D12_VIDEO_ENCODER_AV1_FRAME_SUBREGION_LAYOUT_CONFIG_VALIDATION_FLAG_ROWS_COUNT = 0x8, | ||
| 2264 | D3D12_VIDEO_ENCODER_AV1_FRAME_SUBREGION_LAYOUT_CONFIG_VALIDATION_FLAG_COLS_COUNT = 0x10, | ||
| 2265 | D3D12_VIDEO_ENCODER_AV1_FRAME_SUBREGION_LAYOUT_CONFIG_VALIDATION_FLAG_WIDTH = 0x20, | ||
| 2266 | D3D12_VIDEO_ENCODER_AV1_FRAME_SUBREGION_LAYOUT_CONFIG_VALIDATION_FLAG_AREA = 0x40, | ||
| 2267 | D3D12_VIDEO_ENCODER_AV1_FRAME_SUBREGION_LAYOUT_CONFIG_VALIDATION_FLAG_TOTAL_TILES = 0x80, | ||
| 2268 | |||
| 2269 | } D3D12_VIDEO_ENCODER_AV1_FRAME_SUBREGION_LAYOUT_CONFIG_VALIDATION_FLAGS; | ||
| 2270 | cpp_quote("DEFINE_ENUM_FLAG_OPERATORS(D3D12_VIDEO_ENCODER_AV1_FRAME_SUBREGION_LAYOUT_CONFIG_VALIDATION_FLAGS)") | ||
| 2271 | |||
| 2272 | typedef struct D3D12_VIDEO_ENCODER_AV1_FRAME_SUBREGION_LAYOUT_CONFIG_SUPPORT | ||
| 2273 | { | ||
| 2274 | BOOL Use128SuperBlocks; | ||
| 2275 | D3D12_VIDEO_ENCODER_AV1_PICTURE_CONTROL_SUBREGIONS_LAYOUT_DATA_TILES TilesConfiguration; | ||
| 2276 | D3D12_VIDEO_ENCODER_AV1_FRAME_SUBREGION_LAYOUT_CONFIG_VALIDATION_FLAGS ValidationFlags; | ||
| 2277 | UINT MinTileRows; | ||
| 2278 | UINT MaxTileRows; | ||
| 2279 | UINT MinTileCols; | ||
| 2280 | UINT MaxTileCols; | ||
| 2281 | UINT MinTileWidth; | ||
| 2282 | UINT MaxTileWidth; | ||
| 2283 | UINT MinTileArea; | ||
| 2284 | UINT MaxTileArea; | ||
| 2285 | UINT TileSizeBytesMinus1; | ||
| 2286 | } D3D12_VIDEO_ENCODER_AV1_FRAME_SUBREGION_LAYOUT_CONFIG_SUPPORT; | ||
| 2287 | |||
| 2288 | typedef struct D3D12_VIDEO_ENCODER_FRAME_SUBREGION_LAYOUT_CONFIG_SUPPORT { | ||
| 2289 | UINT DataSize; | ||
| 2290 | union | ||
| 2291 | { | ||
| 2292 | D3D12_VIDEO_ENCODER_AV1_FRAME_SUBREGION_LAYOUT_CONFIG_SUPPORT* pAV1Support; | ||
| 2293 | }; | ||
| 2294 | } D3D12_VIDEO_ENCODER_FRAME_SUBREGION_LAYOUT_CONFIG_SUPPORT; | ||
| 2295 | |||
| 2296 | typedef struct D3D12_FEATURE_DATA_VIDEO_ENCODER_FRAME_SUBREGION_LAYOUT_CONFIG | ||
| 2297 | { | ||
| 2298 | UINT NodeIndex; // input | ||
| 2299 | D3D12_VIDEO_ENCODER_CODEC Codec; // input | ||
| 2300 | D3D12_VIDEO_ENCODER_PROFILE_DESC Profile; // input | ||
| 2301 | D3D12_VIDEO_ENCODER_LEVEL_SETTING Level; // input | ||
| 2302 | D3D12_VIDEO_ENCODER_FRAME_SUBREGION_LAYOUT_MODE SubregionMode; // input | ||
| 2303 | D3D12_VIDEO_ENCODER_PICTURE_RESOLUTION_DESC FrameResolution; // input | ||
| 2304 | D3D12_VIDEO_ENCODER_FRAME_SUBREGION_LAYOUT_CONFIG_SUPPORT CodecSupport; // input/output | ||
| 2305 | BOOL IsSupported; // output | ||
| 2306 | } D3D12_FEATURE_DATA_VIDEO_ENCODER_FRAME_SUBREGION_LAYOUT_CONFIG; | ||
| 2307 | |||
| 2308 | typedef enum D3D12_VIDEO_ENCODER_HEAP_FLAGS | ||
| 2309 | { | ||
| 2310 | D3D12_VIDEO_ENCODER_HEAP_FLAG_NONE = 0x0, | ||
| 2311 | D3D12_VIDEO_ENCODER_HEAP_FLAG_ALLOW_SUBREGION_NOTIFICATION_ARRAY_OF_BUFFERS = 0x1, | ||
| 2312 | D3D12_VIDEO_ENCODER_HEAP_FLAG_ALLOW_SUBREGION_NOTIFICATION_SINGLE_BUFFER = 0x2, | ||
| 2313 | D3D12_VIDEO_ENCODER_HEAP_FLAG_ALLOW_DIRTY_REGIONS = 0x4, | ||
| 2314 | D3D12_VIDEO_ENCODER_HEAP_FLAG_ALLOW_RATE_CONTROL_FRAME_ANALYSIS = 0x8, | ||
| 2315 | } D3D12_VIDEO_ENCODER_HEAP_FLAGS; | ||
| 2316 | cpp_quote("DEFINE_ENUM_FLAG_OPERATORS(D3D12_VIDEO_ENCODER_HEAP_FLAGS)") | ||
| 2317 | |||
| 2318 | typedef struct D3D12_VIDEO_ENCODER_HEAP_DESC | ||
| 2319 | { | ||
| 2320 | UINT NodeMask; | ||
| 2321 | D3D12_VIDEO_ENCODER_HEAP_FLAGS Flags; | ||
| 2322 | D3D12_VIDEO_ENCODER_CODEC EncodeCodec; | ||
| 2323 | D3D12_VIDEO_ENCODER_PROFILE_DESC EncodeProfile; | ||
| 2324 | D3D12_VIDEO_ENCODER_LEVEL_SETTING EncodeLevel; | ||
| 2325 | UINT ResolutionsListCount; | ||
| 2326 | [annotation("_Field_size_full_(ResolutionsListCount)")] const D3D12_VIDEO_ENCODER_PICTURE_RESOLUTION_DESC* pResolutionList; | ||
| 2327 | } D3D12_VIDEO_ENCODER_HEAP_DESC; | ||
| 2328 | |||
| 2329 | typedef struct D3D12_FEATURE_DATA_VIDEO_ENCODER_HEAP_SIZE { | ||
| 2330 | D3D12_VIDEO_ENCODER_HEAP_DESC HeapDesc; // input | ||
| 2331 | BOOL IsSupported; // output | ||
| 2332 | UINT64 MemoryPoolL0Size; // output | ||
| 2333 | UINT64 MemoryPoolL1Size; // output | ||
| 2334 | } D3D12_FEATURE_DATA_VIDEO_ENCODER_HEAP_SIZE; | ||
| 2335 | |||
| 2336 | typedef enum D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_SUPPORT_H264_FLAGS | ||
| 2337 | { | ||
| 2338 | D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_SUPPORT_H264_FLAG_NONE = 0x0, | ||
| 2339 | D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_SUPPORT_H264_FLAG_CABAC_ENCODING_SUPPORT = 0x1, | ||
| 2340 | D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_SUPPORT_H264_FLAG_INTRA_SLICE_CONSTRAINED_ENCODING_SUPPORT = 0x2, | ||
| 2341 | D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_SUPPORT_H264_FLAG_BFRAME_LTR_COMBINED_SUPPORT = 0x4, | ||
| 2342 | D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_SUPPORT_H264_FLAG_ADAPTIVE_8x8_TRANSFORM_ENCODING_SUPPORT = 0x8, | ||
| 2343 | D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_SUPPORT_H264_FLAG_DIRECT_SPATIAL_ENCODING_SUPPORT = 0x10, | ||
| 2344 | D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_SUPPORT_H264_FLAG_DIRECT_TEMPORAL_ENCODING_SUPPORT = 0x20, | ||
| 2345 | D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_SUPPORT_H264_FLAG_CONSTRAINED_INTRAPREDICTION_SUPPORT = 0x40, | ||
| 2346 | D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_SUPPORT_H264_FLAG_NUM_REF_IDX_ACTIVE_OVERRIDE_FLAG_SLICE_SUPPORT = 0x80, | ||
| 2347 | } D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_SUPPORT_H264_FLAGS; | ||
| 2348 | cpp_quote("DEFINE_ENUM_FLAG_OPERATORS(D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_SUPPORT_H264_FLAGS)") | ||
| 2349 | |||
| 2350 | typedef enum D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_H264_SLICES_DEBLOCKING_MODES { | ||
| 2351 | D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_H264_SLICES_DEBLOCKING_MODE_0_ALL_LUMA_CHROMA_SLICE_BLOCK_EDGES_ALWAYS_FILTERED = 0, | ||
| 2352 | D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_H264_SLICES_DEBLOCKING_MODE_1_DISABLE_ALL_SLICE_BLOCK_EDGES = 1, | ||
| 2353 | D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_H264_SLICES_DEBLOCKING_MODE_2_DISABLE_SLICE_BOUNDARIES_BLOCKS = 2, | ||
| 2354 | D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_H264_SLICES_DEBLOCKING_MODE_3_USE_TWO_STAGE_DEBLOCKING = 3, | ||
| 2355 | D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_H264_SLICES_DEBLOCKING_MODE_4_DISABLE_CHROMA_BLOCK_EDGES = 4, | ||
| 2356 | D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_H264_SLICES_DEBLOCKING_MODE_5_DISABLE_CHROMA_BLOCK_EDGES_AND_LUMA_BOUNDARIES = 5, | ||
| 2357 | D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_H264_SLICES_DEBLOCKING_MODE_6_DISABLE_CHROMA_BLOCK_EDGES_AND_USE_LUMA_TWO_STAGE_DEBLOCKING = 6, | ||
| 2358 | } D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_H264_SLICES_DEBLOCKING_MODES; | ||
| 2359 | |||
| 2360 | typedef enum D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_H264_SLICES_DEBLOCKING_MODE_FLAGS { | ||
| 2361 | D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_H264_SLICES_DEBLOCKING_MODE_FLAG_NONE = 0x0, | ||
| 2362 | D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_H264_SLICES_DEBLOCKING_MODE_FLAG_0_ALL_LUMA_CHROMA_SLICE_BLOCK_EDGES_ALWAYS_FILTERED = (1 << D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_H264_SLICES_DEBLOCKING_MODE_0_ALL_LUMA_CHROMA_SLICE_BLOCK_EDGES_ALWAYS_FILTERED), | ||
| 2363 | D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_H264_SLICES_DEBLOCKING_MODE_FLAG_1_DISABLE_ALL_SLICE_BLOCK_EDGES = (1 << D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_H264_SLICES_DEBLOCKING_MODE_1_DISABLE_ALL_SLICE_BLOCK_EDGES), | ||
| 2364 | D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_H264_SLICES_DEBLOCKING_MODE_FLAG_2_DISABLE_SLICE_BOUNDARIES_BLOCKS = (1 << D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_H264_SLICES_DEBLOCKING_MODE_2_DISABLE_SLICE_BOUNDARIES_BLOCKS), | ||
| 2365 | D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_H264_SLICES_DEBLOCKING_MODE_FLAG_3_USE_TWO_STAGE_DEBLOCKING = (1 << D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_H264_SLICES_DEBLOCKING_MODE_3_USE_TWO_STAGE_DEBLOCKING), | ||
| 2366 | D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_H264_SLICES_DEBLOCKING_MODE_FLAG_4_DISABLE_CHROMA_BLOCK_EDGES = (1 << D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_H264_SLICES_DEBLOCKING_MODE_4_DISABLE_CHROMA_BLOCK_EDGES), | ||
| 2367 | D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_H264_SLICES_DEBLOCKING_MODE_FLAG_5_DISABLE_CHROMA_BLOCK_EDGES_AND_LUMA_BOUNDARIES = (1 << D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_H264_SLICES_DEBLOCKING_MODE_5_DISABLE_CHROMA_BLOCK_EDGES_AND_LUMA_BOUNDARIES), | ||
| 2368 | D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_H264_SLICES_DEBLOCKING_MODE_FLAG_6_DISABLE_CHROMA_BLOCK_EDGES_AND_USE_LUMA_TWO_STAGE_DEBLOCKING = (1 << D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_H264_SLICES_DEBLOCKING_MODE_6_DISABLE_CHROMA_BLOCK_EDGES_AND_USE_LUMA_TWO_STAGE_DEBLOCKING), | ||
| 2369 | } D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_H264_SLICES_DEBLOCKING_MODE_FLAGS; | ||
| 2370 | cpp_quote("DEFINE_ENUM_FLAG_OPERATORS(D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_H264_SLICES_DEBLOCKING_MODE_FLAGS)") | ||
| 2371 | |||
| 2372 | typedef struct D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_SUPPORT_H264 { | ||
| 2373 | D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_SUPPORT_H264_FLAGS SupportFlags; | ||
| 2374 | D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_H264_SLICES_DEBLOCKING_MODE_FLAGS DisableDeblockingFilterSupportedModes; | ||
| 2375 | } D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_SUPPORT_H264; | ||
| 2376 | |||
| 2377 | typedef enum D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_SUPPORT_HEVC_FLAGS | ||
| 2378 | { | ||
| 2379 | D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_SUPPORT_HEVC_FLAG_NONE = 0x0, | ||
| 2380 | D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_SUPPORT_HEVC_FLAG_BFRAME_LTR_COMBINED_SUPPORT = 0x1, | ||
| 2381 | D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_SUPPORT_HEVC_FLAG_INTRA_SLICE_CONSTRAINED_ENCODING_SUPPORT = 0x2, | ||
| 2382 | D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_SUPPORT_HEVC_FLAG_CONSTRAINED_INTRAPREDICTION_SUPPORT = 0x4, | ||
| 2383 | D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_SUPPORT_HEVC_FLAG_SAO_FILTER_SUPPORT = 0x8, | ||
| 2384 | D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_SUPPORT_HEVC_FLAG_ASYMETRIC_MOTION_PARTITION_SUPPORT = 0x10, | ||
| 2385 | D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_SUPPORT_HEVC_FLAG_ASYMETRIC_MOTION_PARTITION_REQUIRED = 0x20, | ||
| 2386 | D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_SUPPORT_HEVC_FLAG_TRANSFORM_SKIP_SUPPORT = 0x40, | ||
| 2387 | D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_SUPPORT_HEVC_FLAG_DISABLING_LOOP_FILTER_ACROSS_SLICES_SUPPORT = 0x80, | ||
| 2388 | D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_SUPPORT_HEVC_FLAG_P_FRAMES_IMPLEMENTED_AS_LOW_DELAY_B_FRAMES = 0x100, | ||
| 2389 | D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_SUPPORT_HEVC_FLAG_NUM_REF_IDX_ACTIVE_OVERRIDE_FLAG_SLICE_SUPPORT = 0x200, | ||
| 2390 | D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_SUPPORT_HEVC_FLAG_TRANSFORM_SKIP_ROTATION_ENABLED_SUPPORT = 0x400, | ||
| 2391 | D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_SUPPORT_HEVC_FLAG_TRANSFORM_SKIP_ROTATION_ENABLED_REQUIRED = 0x800, | ||
| 2392 | D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_SUPPORT_HEVC_FLAG_TRANSFORM_SKIP_CONTEXT_ENABLED_SUPPORT = 0x1000, | ||
| 2393 | D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_SUPPORT_HEVC_FLAG_TRANSFORM_SKIP_CONTEXT_ENABLED_REQUIRED = 0x2000, | ||
| 2394 | D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_SUPPORT_HEVC_FLAG_IMPLICIT_RDPCM_ENABLED_SUPPORT = 0x4000, | ||
| 2395 | D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_SUPPORT_HEVC_FLAG_IMPLICIT_RDPCM_ENABLED_REQUIRED = 0x8000, | ||
| 2396 | D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_SUPPORT_HEVC_FLAG_EXPLICIT_RDPCM_ENABLED_SUPPORT = 0x10000, | ||
| 2397 | D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_SUPPORT_HEVC_FLAG_EXPLICIT_RDPCM_ENABLED_REQUIRED = 0x20000, | ||
| 2398 | D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_SUPPORT_HEVC_FLAG_EXTENDED_PRECISION_PROCESSING_SUPPORT = 0x40000, | ||
| 2399 | D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_SUPPORT_HEVC_FLAG_EXTENDED_PRECISION_PROCESSING_REQUIRED = 0x80000, | ||
| 2400 | D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_SUPPORT_HEVC_FLAG_INTRA_SMOOTHING_DISABLED_SUPPORT = 0x100000, | ||
| 2401 | D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_SUPPORT_HEVC_FLAG_INTRA_SMOOTHING_DISABLED_REQUIRED = 0x200000, | ||
| 2402 | D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_SUPPORT_HEVC_FLAG_HIGH_PRECISION_OFFSETS_ENABLED_SUPPORT = 0x400000, | ||
| 2403 | D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_SUPPORT_HEVC_FLAG_HIGH_PRECISION_OFFSETS_ENABLED_REQUIRED = 0x800000, | ||
| 2404 | D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_SUPPORT_HEVC_FLAG_PERSISTENT_RICE_ADAPTATION_ENABLED_SUPPORT = 0x1000000, | ||
| 2405 | D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_SUPPORT_HEVC_FLAG_PERSISTENT_RICE_ADAPTATION_ENABLED_REQUIRED = 0x2000000, | ||
| 2406 | D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_SUPPORT_HEVC_FLAG_CABAC_BYPASS_ALIGNMENT_ENABLED_SUPPORT = 0x4000000, | ||
| 2407 | D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_SUPPORT_HEVC_FLAG_CABAC_BYPASS_ALIGNMENT_ENABLED_REQUIRED = 0x8000000, | ||
| 2408 | D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_SUPPORT_HEVC_FLAG_CROSS_COMPONENT_PREDICTION_ENABLED_FLAG_SUPPORT = 0x10000000, | ||
| 2409 | D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_SUPPORT_HEVC_FLAG_CROSS_COMPONENT_PREDICTION_ENABLED_FLAG_REQUIRED = 0x20000000, | ||
| 2410 | D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_SUPPORT_HEVC_FLAG_CHROMA_QP_OFFSET_LIST_ENABLED_FLAG_SUPPORT = 0x40000000, | ||
| 2411 | D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_SUPPORT_HEVC_FLAG_CHROMA_QP_OFFSET_LIST_ENABLED_FLAG_REQUIRED = 0x80000000, // 2^31 - 32 bit integer enum type | ||
| 2412 | |||
| 2413 | } D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_SUPPORT_HEVC_FLAGS; | ||
| 2414 | cpp_quote("DEFINE_ENUM_FLAG_OPERATORS(D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_SUPPORT_HEVC_FLAGS)") | ||
| 2415 | |||
| 2416 | typedef enum D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_HEVC_CUSIZE { | ||
| 2417 | D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_HEVC_CUSIZE_8x8 = 0, | ||
| 2418 | D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_HEVC_CUSIZE_16x16 = 1, | ||
| 2419 | D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_HEVC_CUSIZE_32x32 = 2, | ||
| 2420 | D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_HEVC_CUSIZE_64x64 = 3, | ||
| 2421 | } D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_HEVC_CUSIZE; | ||
| 2422 | |||
| 2423 | typedef enum D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_HEVC_TUSIZE { | ||
| 2424 | D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_HEVC_TUSIZE_4x4 = 0, | ||
| 2425 | D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_HEVC_TUSIZE_8x8 = 1, | ||
| 2426 | D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_HEVC_TUSIZE_16x16 = 2, | ||
| 2427 | D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_HEVC_TUSIZE_32x32 = 3, | ||
| 2428 | } D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_HEVC_TUSIZE; | ||
| 2429 | |||
| 2430 | typedef struct D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_SUPPORT_HEVC { | ||
| 2431 | D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_SUPPORT_HEVC_FLAGS SupportFlags; | ||
| 2432 | D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_HEVC_CUSIZE MinLumaCodingUnitSize; | ||
| 2433 | D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_HEVC_CUSIZE MaxLumaCodingUnitSize; | ||
| 2434 | D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_HEVC_TUSIZE MinLumaTransformUnitSize; | ||
| 2435 | D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_HEVC_TUSIZE MaxLumaTransformUnitSize; | ||
| 2436 | UCHAR max_transform_hierarchy_depth_inter; | ||
| 2437 | UCHAR max_transform_hierarchy_depth_intra; | ||
| 2438 | } D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_SUPPORT_HEVC; | ||
| 2439 | |||
| 2440 | |||
| 2441 | typedef enum D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_SUPPORT_HEVC_FLAGS1 | ||
| 2442 | { | ||
| 2443 | D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_SUPPORT_HEVC_FLAG1_NONE = 0x0, | ||
| 2444 | D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_SUPPORT_HEVC_FLAG1_SEPARATE_COLOUR_PLANE_SUPPORT = 0x1, | ||
| 2445 | D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_SUPPORT_HEVC_FLAG1_SEPARATE_COLOUR_PLANE_REQUIRED = 0x2, | ||
| 2446 | } D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_SUPPORT_HEVC_FLAGS1; | ||
| 2447 | cpp_quote("DEFINE_ENUM_FLAG_OPERATORS(D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_SUPPORT_HEVC_FLAGS1)") | ||
| 2448 | |||
| 2449 | typedef struct D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_SUPPORT_HEVC1 { | ||
| 2450 | D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_SUPPORT_HEVC_FLAGS SupportFlags; | ||
| 2451 | D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_HEVC_CUSIZE MinLumaCodingUnitSize; | ||
| 2452 | D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_HEVC_CUSIZE MaxLumaCodingUnitSize; | ||
| 2453 | D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_HEVC_TUSIZE MinLumaTransformUnitSize; | ||
| 2454 | D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_HEVC_TUSIZE MaxLumaTransformUnitSize; | ||
| 2455 | UCHAR max_transform_hierarchy_depth_inter; | ||
| 2456 | UCHAR max_transform_hierarchy_depth_intra; | ||
| 2457 | UINT allowed_diff_cu_chroma_qp_offset_depth_values; | ||
| 2458 | UINT allowed_log2_sao_offset_scale_luma_values; | ||
| 2459 | UINT allowed_log2_sao_offset_scale_chroma_values; | ||
| 2460 | UINT allowed_log2_max_transform_skip_block_size_minus2_values; | ||
| 2461 | UINT allowed_chroma_qp_offset_list_len_minus1_values; | ||
| 2462 | UINT allowed_cb_qp_offset_list_values[6]; | ||
| 2463 | UINT allowed_cr_qp_offset_list_values[6]; | ||
| 2464 | D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_SUPPORT_HEVC_FLAGS1 SupportFlags1; | ||
| 2465 | } D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_SUPPORT_HEVC1; | ||
| 2466 | |||
| 2467 | typedef struct D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_SUPPORT { | ||
| 2468 | UINT DataSize; | ||
| 2469 | union | ||
| 2470 | { | ||
| 2471 | D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_SUPPORT_H264* pH264Support; | ||
| 2472 | D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_SUPPORT_HEVC* pHEVCSupport; | ||
| 2473 | D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_SUPPORT_HEVC1* pHEVCSupport1; | ||
| 2474 | D3D12_VIDEO_ENCODER_AV1_CODEC_CONFIGURATION_SUPPORT* pAV1Support; | ||
| 2475 | }; | ||
| 2476 | } D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_SUPPORT; | ||
| 2477 | |||
| 2478 | typedef struct D3D12_FEATURE_DATA_VIDEO_ENCODER_CODEC_CONFIGURATION_SUPPORT { | ||
| 2479 | UINT NodeIndex; // input | ||
| 2480 | D3D12_VIDEO_ENCODER_CODEC Codec; // input | ||
| 2481 | D3D12_VIDEO_ENCODER_PROFILE_DESC Profile; // input | ||
| 2482 | BOOL IsSupported; // output | ||
| 2483 | D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_SUPPORT CodecSupportLimits; // input/output | ||
| 2484 | } D3D12_FEATURE_DATA_VIDEO_ENCODER_CODEC_CONFIGURATION_SUPPORT; | ||
| 2485 | |||
| 2486 | typedef struct D3D12_VIDEO_ENCODER_CODEC_PICTURE_CONTROL_SUPPORT_H264 { | ||
| 2487 | UINT MaxL0ReferencesForP; | ||
| 2488 | UINT MaxL0ReferencesForB; | ||
| 2489 | UINT MaxL1ReferencesForB; | ||
| 2490 | UINT MaxLongTermReferences; | ||
| 2491 | UINT MaxDPBCapacity; | ||
| 2492 | } D3D12_VIDEO_ENCODER_CODEC_PICTURE_CONTROL_SUPPORT_H264; | ||
| 2493 | |||
| 2494 | typedef struct D3D12_VIDEO_ENCODER_CODEC_PICTURE_CONTROL_SUPPORT_HEVC { | ||
| 2495 | UINT MaxL0ReferencesForP; | ||
| 2496 | UINT MaxL0ReferencesForB; | ||
| 2497 | UINT MaxL1ReferencesForB; | ||
| 2498 | UINT MaxLongTermReferences; | ||
| 2499 | UINT MaxDPBCapacity; | ||
| 2500 | } D3D12_VIDEO_ENCODER_CODEC_PICTURE_CONTROL_SUPPORT_HEVC; | ||
| 2501 | |||
| 2502 | typedef struct D3D12_VIDEO_ENCODER_CODEC_PICTURE_CONTROL_SUPPORT { | ||
| 2503 | UINT DataSize; | ||
| 2504 | union | ||
| 2505 | { | ||
| 2506 | D3D12_VIDEO_ENCODER_CODEC_PICTURE_CONTROL_SUPPORT_H264* pH264Support; | ||
| 2507 | D3D12_VIDEO_ENCODER_CODEC_PICTURE_CONTROL_SUPPORT_HEVC* pHEVCSupport; | ||
| 2508 | D3D12_VIDEO_ENCODER_CODEC_AV1_PICTURE_CONTROL_SUPPORT* pAV1Support; | ||
| 2509 | }; | ||
| 2510 | } D3D12_VIDEO_ENCODER_CODEC_PICTURE_CONTROL_SUPPORT; | ||
| 2511 | |||
| 2512 | typedef struct D3D12_FEATURE_DATA_VIDEO_ENCODER_CODEC_PICTURE_CONTROL_SUPPORT { | ||
| 2513 | UINT NodeIndex; // input | ||
| 2514 | D3D12_VIDEO_ENCODER_CODEC Codec; // input | ||
| 2515 | D3D12_VIDEO_ENCODER_PROFILE_DESC Profile; // input | ||
| 2516 | BOOL IsSupported; // output | ||
| 2517 | D3D12_VIDEO_ENCODER_CODEC_PICTURE_CONTROL_SUPPORT PictureSupport; // output | ||
| 2518 | } D3D12_FEATURE_DATA_VIDEO_ENCODER_CODEC_PICTURE_CONTROL_SUPPORT; | ||
| 2519 | |||
| 2520 | typedef enum D3D12_VIDEO_ENCODER_SUPPORT_FLAGS | ||
| 2521 | { | ||
| 2522 | D3D12_VIDEO_ENCODER_SUPPORT_FLAG_NONE = 0x0, | ||
| 2523 | D3D12_VIDEO_ENCODER_SUPPORT_FLAG_GENERAL_SUPPORT_OK = 0x1, | ||
| 2524 | D3D12_VIDEO_ENCODER_SUPPORT_FLAG_RATE_CONTROL_RECONFIGURATION_AVAILABLE = 0x2, | ||
| 2525 | D3D12_VIDEO_ENCODER_SUPPORT_FLAG_RESOLUTION_RECONFIGURATION_AVAILABLE = 0x4, | ||
| 2526 | D3D12_VIDEO_ENCODER_SUPPORT_FLAG_RATE_CONTROL_VBV_SIZE_CONFIG_AVAILABLE = 0x8, | ||
| 2527 | D3D12_VIDEO_ENCODER_SUPPORT_FLAG_RATE_CONTROL_FRAME_ANALYSIS_AVAILABLE = 0x10, | ||
| 2528 | D3D12_VIDEO_ENCODER_SUPPORT_FLAG_RECONSTRUCTED_FRAMES_REQUIRE_TEXTURE_ARRAYS = 0x20, | ||
| 2529 | D3D12_VIDEO_ENCODER_SUPPORT_FLAG_RATE_CONTROL_DELTA_QP_AVAILABLE = 0x40, | ||
| 2530 | D3D12_VIDEO_ENCODER_SUPPORT_FLAG_SUBREGION_LAYOUT_RECONFIGURATION_AVAILABLE = 0x80, | ||
| 2531 | D3D12_VIDEO_ENCODER_SUPPORT_FLAG_RATE_CONTROL_ADJUSTABLE_QP_RANGE_AVAILABLE = 0x100, | ||
| 2532 | D3D12_VIDEO_ENCODER_SUPPORT_FLAG_RATE_CONTROL_INITIAL_QP_AVAILABLE = 0x200, | ||
| 2533 | D3D12_VIDEO_ENCODER_SUPPORT_FLAG_RATE_CONTROL_MAX_FRAME_SIZE_AVAILABLE = 0x400, | ||
| 2534 | D3D12_VIDEO_ENCODER_SUPPORT_FLAG_SEQUENCE_GOP_RECONFIGURATION_AVAILABLE = 0x800, | ||
| 2535 | D3D12_VIDEO_ENCODER_SUPPORT_FLAG_MOTION_ESTIMATION_PRECISION_MODE_LIMIT_AVAILABLE = 0x1000, | ||
| 2536 | D3D12_VIDEO_ENCODER_SUPPORT_FLAG_RATE_CONTROL_EXTENSION1_SUPPORT = 0x2000, | ||
| 2537 | D3D12_VIDEO_ENCODER_SUPPORT_FLAG_RATE_CONTROL_QUALITY_VS_SPEED_AVAILABLE = 0x4000, | ||
| 2538 | D3D12_VIDEO_ENCODER_SUPPORT_FLAG_READABLE_RECONSTRUCTED_PICTURE_LAYOUT_AVAILABLE = 0x8000, | ||
| 2539 | D3D12_VIDEO_ENCODER_SUPPORT_FLAG_PER_BLOCK_QP_MAP_METADATA_AVAILABLE = 0x10000, | ||
| 2540 | D3D12_VIDEO_ENCODER_SUPPORT_FLAG_PER_BLOCK_SATD_MAP_METADATA_AVAILABLE = 0x20000, | ||
| 2541 | D3D12_VIDEO_ENCODER_SUPPORT_FLAG_PER_BLOCK_RC_BIT_ALLOCATION_MAP_METADATA_AVAILABLE = 0x40000, | ||
| 2542 | D3D12_VIDEO_ENCODER_SUPPORT_FLAG_SUBREGION_NOTIFICATION_ARRAY_OF_BUFFERS_AVAILABLE = 0x80000, | ||
| 2543 | D3D12_VIDEO_ENCODER_SUPPORT_FLAG_SUBREGION_NOTIFICATION_SINGLE_BUFFER_AVAILABLE = 0x100000, | ||
| 2544 | D3D12_VIDEO_ENCODER_SUPPORT_FLAG_FRAME_PSNR_METADATA_AVAILABLE = 0x200000, | ||
| 2545 | D3D12_VIDEO_ENCODER_SUPPORT_FLAG_SUBREGIONS_PSNR_METADATA_AVAILABLE = 0x400000, | ||
| 2546 | D3D12_VIDEO_ENCODER_SUPPORT_FLAG_RATE_CONTROL_SPATIAL_ADAPTIVE_QP_AVAILABLE = 0x800000, | ||
| 2547 | } D3D12_VIDEO_ENCODER_SUPPORT_FLAGS; | ||
| 2548 | cpp_quote("DEFINE_ENUM_FLAG_OPERATORS(D3D12_VIDEO_ENCODER_SUPPORT_FLAGS)") | ||
| 2549 | |||
| 2550 | typedef enum D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_H264_FLAGS | ||
| 2551 | { | ||
| 2552 | D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_H264_FLAG_NONE = 0x0, | ||
| 2553 | D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_H264_FLAG_USE_CONSTRAINED_INTRAPREDICTION = 0x1, | ||
| 2554 | D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_H264_FLAG_USE_ADAPTIVE_8x8_TRANSFORM = 0x2, | ||
| 2555 | D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_H264_FLAG_ENABLE_CABAC_ENCODING = 0x4, | ||
| 2556 | D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_H264_FLAG_ALLOW_REQUEST_INTRA_CONSTRAINED_SLICES = 0x8, | ||
| 2557 | } D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_H264_FLAGS; | ||
| 2558 | cpp_quote("DEFINE_ENUM_FLAG_OPERATORS(D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_H264_FLAGS)") | ||
| 2559 | |||
| 2560 | typedef enum D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_H264_DIRECT_MODES { | ||
| 2561 | D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_H264_DIRECT_MODES_DISABLED = 0, | ||
| 2562 | D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_H264_DIRECT_MODES_TEMPORAL = 1, | ||
| 2563 | D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_H264_DIRECT_MODES_SPATIAL = 2, | ||
| 2564 | } D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_H264_DIRECT_MODES; | ||
| 2565 | |||
| 2566 | typedef struct D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_H264 | ||
| 2567 | { | ||
| 2568 | D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_H264_FLAGS ConfigurationFlags; | ||
| 2569 | D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_H264_DIRECT_MODES DirectModeConfig; | ||
| 2570 | D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_H264_SLICES_DEBLOCKING_MODES DisableDeblockingFilterConfig; | ||
| 2571 | } D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_H264; | ||
| 2572 | |||
| 2573 | typedef enum D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_HEVC_FLAGS | ||
| 2574 | { | ||
| 2575 | D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_HEVC_FLAG_NONE = 0x0, | ||
| 2576 | D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_HEVC_FLAG_DISABLE_LOOP_FILTER_ACROSS_SLICES = 0x1, | ||
| 2577 | D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_HEVC_FLAG_ALLOW_REQUEST_INTRA_CONSTRAINED_SLICES = 0x2, | ||
| 2578 | D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_HEVC_FLAG_ENABLE_SAO_FILTER = 0x4, | ||
| 2579 | D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_HEVC_FLAG_ENABLE_LONG_TERM_REFERENCES = 0x8, | ||
| 2580 | D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_HEVC_FLAG_USE_ASYMETRIC_MOTION_PARTITION = 0x10, | ||
| 2581 | D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_HEVC_FLAG_ENABLE_TRANSFORM_SKIPPING = 0x20, | ||
| 2582 | D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_HEVC_FLAG_USE_CONSTRAINED_INTRAPREDICTION = 0x40, | ||
| 2583 | D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_HEVC_FLAG_TRANSFORM_SKIP_ROTATION = 0x80, | ||
| 2584 | D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_HEVC_FLAG_TRANSFORM_SKIP_CONTEXT = 0x100, | ||
| 2585 | D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_HEVC_FLAG_IMPLICIT_RDPCM = 0x200, | ||
| 2586 | D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_HEVC_FLAG_EXPLICIT_RDPCM = 0x400, | ||
| 2587 | D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_HEVC_FLAG_EXTENDED_PRECISION_PROCESSING = 0x800, | ||
| 2588 | D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_HEVC_FLAG_INTRA_SMOOTHING_DISABLED = 0x1000, | ||
| 2589 | D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_HEVC_FLAG_HIGH_PRECISION_OFFSETS = 0x2000, | ||
| 2590 | D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_HEVC_FLAG_PERSISTENT_RICE_ADAPTATION = 0x4000, | ||
| 2591 | D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_HEVC_FLAG_CABAC_BYPASS_ALIGNMENT = 0x8000, | ||
| 2592 | D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_HEVC_FLAG_SEPARATE_COLOUR_PLANE = 0x10000, | ||
| 2593 | } D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_HEVC_FLAGS; | ||
| 2594 | cpp_quote("DEFINE_ENUM_FLAG_OPERATORS(D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_HEVC_FLAGS)") | ||
| 2595 | |||
| 2596 | typedef struct D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_HEVC { | ||
| 2597 | D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_HEVC_FLAGS ConfigurationFlags; | ||
| 2598 | D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_HEVC_CUSIZE MinLumaCodingUnitSize; | ||
| 2599 | D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_HEVC_CUSIZE MaxLumaCodingUnitSize; | ||
| 2600 | D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_HEVC_TUSIZE MinLumaTransformUnitSize; | ||
| 2601 | D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_HEVC_TUSIZE MaxLumaTransformUnitSize; | ||
| 2602 | UCHAR max_transform_hierarchy_depth_inter; | ||
| 2603 | UCHAR max_transform_hierarchy_depth_intra; | ||
| 2604 | } D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_HEVC; | ||
| 2605 | |||
| 2606 | typedef struct D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION | ||
| 2607 | { | ||
| 2608 | UINT DataSize; | ||
| 2609 | union | ||
| 2610 | { | ||
| 2611 | D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_H264* pH264Config; | ||
| 2612 | D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_HEVC* pHEVCConfig; | ||
| 2613 | D3D12_VIDEO_ENCODER_AV1_CODEC_CONFIGURATION* pAV1Config; | ||
| 2614 | }; | ||
| 2615 | } D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION; | ||
| 2616 | |||
| 2617 | typedef struct D3D12_VIDEO_ENCODER_INTRA_REFRESH | ||
| 2618 | { | ||
| 2619 | D3D12_VIDEO_ENCODER_INTRA_REFRESH_MODE Mode; | ||
| 2620 | UINT IntraRefreshDuration; | ||
| 2621 | } D3D12_VIDEO_ENCODER_INTRA_REFRESH; | ||
| 2622 | |||
| 2623 | |||
| 2624 | typedef enum D3D12_VIDEO_ENCODER_MOTION_ESTIMATION_PRECISION_MODE | ||
| 2625 | { | ||
| 2626 | D3D12_VIDEO_ENCODER_MOTION_ESTIMATION_PRECISION_MODE_MAXIMUM = 0, | ||
| 2627 | D3D12_VIDEO_ENCODER_MOTION_ESTIMATION_PRECISION_MODE_FULL_PIXEL = 1, | ||
| 2628 | D3D12_VIDEO_ENCODER_MOTION_ESTIMATION_PRECISION_MODE_HALF_PIXEL = 2, | ||
| 2629 | D3D12_VIDEO_ENCODER_MOTION_ESTIMATION_PRECISION_MODE_QUARTER_PIXEL = 3, | ||
| 2630 | D3D12_VIDEO_ENCODER_MOTION_ESTIMATION_PRECISION_MODE_EIGHTH_PIXEL = 4, | ||
| 2631 | } D3D12_VIDEO_ENCODER_MOTION_ESTIMATION_PRECISION_MODE; | ||
| 2632 | |||
| 2633 | typedef struct D3D12_FEATURE_DATA_VIDEO_ENCODER_RESOLUTION_SUPPORT_LIMITS | ||
| 2634 | { | ||
| 2635 | UINT MaxSubregionsNumber; | ||
| 2636 | UINT MaxIntraRefreshFrameDuration; | ||
| 2637 | UINT SubregionBlockPixelsSize; | ||
| 2638 | UINT QPMapRegionPixelsSize; | ||
| 2639 | } D3D12_FEATURE_DATA_VIDEO_ENCODER_RESOLUTION_SUPPORT_LIMITS; | ||
| 2640 | |||
| 2641 | typedef enum D3D12_VIDEO_ENCODER_VALIDATION_FLAGS | ||
| 2642 | { | ||
| 2643 | D3D12_VIDEO_ENCODER_VALIDATION_FLAG_NONE = 0x0, | ||
| 2644 | D3D12_VIDEO_ENCODER_VALIDATION_FLAG_CODEC_NOT_SUPPORTED = 0x1, | ||
| 2645 | D3D12_VIDEO_ENCODER_VALIDATION_FLAG_INPUT_FORMAT_NOT_SUPPORTED = 0x8, | ||
| 2646 | D3D12_VIDEO_ENCODER_VALIDATION_FLAG_CODEC_CONFIGURATION_NOT_SUPPORTED = 0x10, | ||
| 2647 | D3D12_VIDEO_ENCODER_VALIDATION_FLAG_RATE_CONTROL_MODE_NOT_SUPPORTED = 0x20, | ||
| 2648 | D3D12_VIDEO_ENCODER_VALIDATION_FLAG_RATE_CONTROL_CONFIGURATION_NOT_SUPPORTED = 0x40, | ||
| 2649 | D3D12_VIDEO_ENCODER_VALIDATION_FLAG_INTRA_REFRESH_MODE_NOT_SUPPORTED = 0x80, | ||
| 2650 | D3D12_VIDEO_ENCODER_VALIDATION_FLAG_SUBREGION_LAYOUT_MODE_NOT_SUPPORTED = 0x100, | ||
| 2651 | D3D12_VIDEO_ENCODER_VALIDATION_FLAG_RESOLUTION_NOT_SUPPORTED_IN_LIST = 0x200, | ||
| 2652 | D3D12_VIDEO_ENCODER_VALIDATION_FLAG_GOP_STRUCTURE_NOT_SUPPORTED = 0x800, | ||
| 2653 | D3D12_VIDEO_ENCODER_VALIDATION_FLAG_SUBREGION_LAYOUT_DATA_NOT_SUPPORTED = 0x1000, | ||
| 2654 | D3D12_VIDEO_ENCODER_VALIDATION_FLAG_QPMAP_NOT_SUPPORTED = 0x2000, | ||
| 2655 | D3D12_VIDEO_ENCODER_VALIDATION_FLAG_DIRTY_REGIONS_NOT_SUPPORTED = 0x4000, | ||
| 2656 | D3D12_VIDEO_ENCODER_VALIDATION_FLAG_MOTION_SEARCH_NOT_SUPPORTED = 0x8000, | ||
| 2657 | D3D12_VIDEO_ENCODER_VALIDATION_FLAG_FRAME_ANALYSIS_NOT_SUPPORTED = 0x10000, | ||
| 2658 | } D3D12_VIDEO_ENCODER_VALIDATION_FLAGS; | ||
| 2659 | cpp_quote("DEFINE_ENUM_FLAG_OPERATORS(D3D12_VIDEO_ENCODER_VALIDATION_FLAGS)") | ||
| 2660 | |||
| 2661 | typedef struct D3D12_VIDEO_ENCODER_SEQUENCE_GOP_STRUCTURE_H264 | ||
| 2662 | { | ||
| 2663 | UINT GOPLength; | ||
| 2664 | UINT PPicturePeriod; | ||
| 2665 | UCHAR pic_order_cnt_type; | ||
| 2666 | UCHAR log2_max_frame_num_minus4; | ||
| 2667 | UCHAR log2_max_pic_order_cnt_lsb_minus4; | ||
| 2668 | } D3D12_VIDEO_ENCODER_SEQUENCE_GOP_STRUCTURE_H264; | ||
| 2669 | |||
| 2670 | typedef struct D3D12_VIDEO_ENCODER_SEQUENCE_GOP_STRUCTURE_HEVC | ||
| 2671 | { | ||
| 2672 | UINT GOPLength; | ||
| 2673 | UINT PPicturePeriod; | ||
| 2674 | UCHAR log2_max_pic_order_cnt_lsb_minus4; | ||
| 2675 | } D3D12_VIDEO_ENCODER_SEQUENCE_GOP_STRUCTURE_HEVC; | ||
| 2676 | |||
| 2677 | typedef struct D3D12_VIDEO_ENCODER_SEQUENCE_GOP_STRUCTURE | ||
| 2678 | { | ||
| 2679 | UINT DataSize; | ||
| 2680 | union | ||
| 2681 | { | ||
| 2682 | D3D12_VIDEO_ENCODER_SEQUENCE_GOP_STRUCTURE_H264* pH264GroupOfPictures; | ||
| 2683 | D3D12_VIDEO_ENCODER_SEQUENCE_GOP_STRUCTURE_HEVC* pHEVCGroupOfPictures; | ||
| 2684 | D3D12_VIDEO_ENCODER_AV1_SEQUENCE_STRUCTURE* pAV1SequenceStructure; | ||
| 2685 | }; | ||
| 2686 | } D3D12_VIDEO_ENCODER_SEQUENCE_GOP_STRUCTURE; | ||
| 2687 | |||
| 2688 | typedef struct D3D12_FEATURE_DATA_VIDEO_ENCODER_SUPPORT | ||
| 2689 | { | ||
| 2690 | // input | ||
| 2691 | UINT NodeIndex; | ||
| 2692 | D3D12_VIDEO_ENCODER_CODEC Codec; | ||
| 2693 | DXGI_FORMAT InputFormat; | ||
| 2694 | D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION CodecConfiguration; | ||
| 2695 | D3D12_VIDEO_ENCODER_SEQUENCE_GOP_STRUCTURE CodecGopSequence; | ||
| 2696 | D3D12_VIDEO_ENCODER_RATE_CONTROL RateControl; | ||
| 2697 | D3D12_VIDEO_ENCODER_INTRA_REFRESH_MODE IntraRefresh; | ||
| 2698 | D3D12_VIDEO_ENCODER_FRAME_SUBREGION_LAYOUT_MODE SubregionFrameEncoding; | ||
| 2699 | UINT ResolutionsListCount; | ||
| 2700 | const D3D12_VIDEO_ENCODER_PICTURE_RESOLUTION_DESC* pResolutionList; | ||
| 2701 | UINT MaxReferenceFramesInDPB; | ||
| 2702 | |||
| 2703 | // single value output | ||
| 2704 | D3D12_VIDEO_ENCODER_VALIDATION_FLAGS ValidationFlags; | ||
| 2705 | D3D12_VIDEO_ENCODER_SUPPORT_FLAGS SupportFlags; | ||
| 2706 | D3D12_VIDEO_ENCODER_PROFILE_DESC SuggestedProfile; | ||
| 2707 | D3D12_VIDEO_ENCODER_LEVEL_SETTING SuggestedLevel; // assuming max resolution from input list | ||
| 2708 | |||
| 2709 | // resolution dependent output | ||
| 2710 | [annotation("_Field_size_full_(ResolutionsListCount)")] D3D12_FEATURE_DATA_VIDEO_ENCODER_RESOLUTION_SUPPORT_LIMITS* pResolutionDependentSupport; | ||
| 2711 | } D3D12_FEATURE_DATA_VIDEO_ENCODER_SUPPORT; | ||
| 2712 | |||
| 2713 | typedef struct D3D12_VIDEO_ENCODER_PICTURE_CONTROL_SUBREGIONS_LAYOUT_DATA_SLICES | ||
| 2714 | { | ||
| 2715 | // Mutually exclusive options according to selected mode | ||
| 2716 | union | ||
| 2717 | { | ||
| 2718 | // Use with mode: D3D12_VIDEO_ENCODER_FRAME_SUBREGION_LAYOUT_MODE_BYTES_PER_SUBREGION | ||
| 2719 | UINT MaxBytesPerSlice; | ||
| 2720 | |||
| 2721 | // Use with mode: D3D12_VIDEO_ENCODER_FRAME_SUBREGION_LAYOUT_MODE_SQUARE_UNITS_PER_SUBREGION_ROW_UNALIGNED | ||
| 2722 | UINT NumberOfCodingUnitsPerSlice; | ||
| 2723 | |||
| 2724 | // Use with mode: D3D12_VIDEO_ENCODER_FRAME_SUBREGION_LAYOUT_MODE_UNIFORM_PARTITIONING_ROWS_PER_SUBREGION | ||
| 2725 | UINT NumberOfRowsPerSlice; | ||
| 2726 | |||
| 2727 | // Use with mode: D3D12_VIDEO_ENCODER_FRAME_SUBREGION_LAYOUT_MODE_UNIFORM_PARTITIONING_SUBREGIONS_PER_FRAME | ||
| 2728 | UINT NumberOfSlicesPerFrame; | ||
| 2729 | }; | ||
| 2730 | } D3D12_VIDEO_ENCODER_PICTURE_CONTROL_SUBREGIONS_LAYOUT_DATA_SLICES; | ||
| 2731 | |||
| 2732 | typedef struct D3D12_VIDEO_ENCODER_PICTURE_CONTROL_SUBREGIONS_LAYOUT_DATA | ||
| 2733 | { | ||
| 2734 | UINT DataSize; | ||
| 2735 | union | ||
| 2736 | { | ||
| 2737 | const D3D12_VIDEO_ENCODER_PICTURE_CONTROL_SUBREGIONS_LAYOUT_DATA_SLICES* pSlicesPartition_H264; | ||
| 2738 | const D3D12_VIDEO_ENCODER_PICTURE_CONTROL_SUBREGIONS_LAYOUT_DATA_SLICES* pSlicesPartition_HEVC; | ||
| 2739 | const D3D12_VIDEO_ENCODER_AV1_PICTURE_CONTROL_SUBREGIONS_LAYOUT_DATA_TILES* pTilesPartition_AV1; | ||
| 2740 | }; | ||
| 2741 | |||
| 2742 | } D3D12_VIDEO_ENCODER_PICTURE_CONTROL_SUBREGIONS_LAYOUT_DATA; | ||
| 2743 | |||
| 2744 | typedef struct D3D12_FEATURE_DATA_VIDEO_ENCODER_SUPPORT1 | ||
| 2745 | { | ||
| 2746 | /* Below match existing D3D12_FEATURE_DATA_VIDEO_ENCODER_SUPPORT */ | ||
| 2747 | UINT NodeIndex; | ||
| 2748 | D3D12_VIDEO_ENCODER_CODEC Codec; | ||
| 2749 | DXGI_FORMAT InputFormat; | ||
| 2750 | D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION CodecConfiguration; | ||
| 2751 | D3D12_VIDEO_ENCODER_SEQUENCE_GOP_STRUCTURE CodecGopSequence; | ||
| 2752 | D3D12_VIDEO_ENCODER_RATE_CONTROL RateControl; | ||
| 2753 | D3D12_VIDEO_ENCODER_INTRA_REFRESH_MODE IntraRefresh; | ||
| 2754 | D3D12_VIDEO_ENCODER_FRAME_SUBREGION_LAYOUT_MODE SubregionFrameEncoding; | ||
| 2755 | UINT ResolutionsListCount; | ||
| 2756 | const D3D12_VIDEO_ENCODER_PICTURE_RESOLUTION_DESC* pResolutionList; | ||
| 2757 | UINT MaxReferenceFramesInDPB; | ||
| 2758 | D3D12_VIDEO_ENCODER_VALIDATION_FLAGS ValidationFlags; | ||
| 2759 | D3D12_VIDEO_ENCODER_SUPPORT_FLAGS SupportFlags; | ||
| 2760 | D3D12_VIDEO_ENCODER_PROFILE_DESC SuggestedProfile; | ||
| 2761 | D3D12_VIDEO_ENCODER_LEVEL_SETTING SuggestedLevel; | ||
| 2762 | [annotation("_Field_size_full_(ResolutionsListCount)")] D3D12_FEATURE_DATA_VIDEO_ENCODER_RESOLUTION_SUPPORT_LIMITS* pResolutionDependentSupport; | ||
| 2763 | |||
| 2764 | /* Below are new arguments for D3D12_FEATURE_DATA_VIDEO_ENCODER_SUPPORT1 */ | ||
| 2765 | D3D12_VIDEO_ENCODER_PICTURE_CONTROL_SUBREGIONS_LAYOUT_DATA SubregionFrameEncodingData; // input | ||
| 2766 | UINT MaxQualityVsSpeed; | ||
| 2767 | } D3D12_FEATURE_DATA_VIDEO_ENCODER_SUPPORT1; | ||
| 2768 | |||
| 2769 | typedef struct D3D12_FEATURE_DATA_VIDEO_ENCODER_RESOURCE_REQUIREMENTS | ||
| 2770 | { | ||
| 2771 | UINT NodeIndex; // input | ||
| 2772 | D3D12_VIDEO_ENCODER_CODEC Codec; // input | ||
| 2773 | D3D12_VIDEO_ENCODER_PROFILE_DESC Profile; // input | ||
| 2774 | DXGI_FORMAT InputFormat; // input | ||
| 2775 | D3D12_VIDEO_ENCODER_PICTURE_RESOLUTION_DESC PictureTargetResolution; // input | ||
| 2776 | |||
| 2777 | BOOL IsSupported; // output | ||
| 2778 | UINT CompressedBitstreamBufferAccessAlignment; // output | ||
| 2779 | UINT EncoderMetadataBufferAccessAlignment; // output | ||
| 2780 | UINT MaxEncoderOutputMetadataBufferSize; // output | ||
| 2781 | } D3D12_FEATURE_DATA_VIDEO_ENCODER_RESOURCE_REQUIREMENTS; | ||
| 2782 | |||
| 2783 | // | ||
| 2784 | // Video Encoder creation API | ||
| 2785 | // | ||
| 2786 | |||
| 2787 | typedef enum D3D12_VIDEO_ENCODER_FLAGS | ||
| 2788 | { | ||
| 2789 | D3D12_VIDEO_ENCODER_FLAG_NONE = 0x0, | ||
| 2790 | } D3D12_VIDEO_ENCODER_FLAGS; | ||
| 2791 | cpp_quote("DEFINE_ENUM_FLAG_OPERATORS(D3D12_VIDEO_ENCODER_FLAGS)") | ||
| 2792 | |||
| 2793 | typedef struct D3D12_VIDEO_ENCODER_DESC | ||
| 2794 | { | ||
| 2795 | UINT NodeMask; | ||
| 2796 | D3D12_VIDEO_ENCODER_FLAGS Flags; | ||
| 2797 | D3D12_VIDEO_ENCODER_CODEC EncodeCodec; | ||
| 2798 | D3D12_VIDEO_ENCODER_PROFILE_DESC EncodeProfile; | ||
| 2799 | DXGI_FORMAT InputFormat; | ||
| 2800 | D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION CodecConfiguration; | ||
| 2801 | D3D12_VIDEO_ENCODER_MOTION_ESTIMATION_PRECISION_MODE MaxMotionEstimationPrecision; | ||
| 2802 | } D3D12_VIDEO_ENCODER_DESC; | ||
| 2803 | |||
| 2804 | [uuid(2E0D212D-8DF9-44A6-A770-BB289B182737), object, local, pointer_default(unique)] | ||
| 2805 | interface ID3D12VideoEncoder | ||
| 2806 | : ID3D12Pageable | ||
| 2807 | { | ||
| 2808 | UINT GetNodeMask(); | ||
| 2809 | D3D12_VIDEO_ENCODER_FLAGS GetEncoderFlags(); | ||
| 2810 | D3D12_VIDEO_ENCODER_CODEC GetCodec(); | ||
| 2811 | HRESULT GetCodecProfile([annotation("_Inout_")] D3D12_VIDEO_ENCODER_PROFILE_DESC dstProfile); | ||
| 2812 | HRESULT GetCodecConfiguration([annotation("_Inout_")] D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION dstCodecConfig); | ||
| 2813 | DXGI_FORMAT GetInputFormat(); | ||
| 2814 | D3D12_VIDEO_ENCODER_MOTION_ESTIMATION_PRECISION_MODE GetMaxMotionEstimationPrecision(); | ||
| 2815 | } | ||
| 2816 | |||
| 2817 | [uuid(22B35D96-876A-44C0-B25E-FB8C9C7F1C4A), object, local, pointer_default(unique)] | ||
| 2818 | interface ID3D12VideoEncoderHeap | ||
| 2819 | : ID3D12Pageable | ||
| 2820 | { | ||
| 2821 | UINT GetNodeMask(); | ||
| 2822 | D3D12_VIDEO_ENCODER_HEAP_FLAGS GetEncoderHeapFlags(); | ||
| 2823 | D3D12_VIDEO_ENCODER_CODEC GetCodec(); | ||
| 2824 | HRESULT GetCodecProfile([annotation("_Inout_")] D3D12_VIDEO_ENCODER_PROFILE_DESC dstProfile); | ||
| 2825 | HRESULT GetCodecLevel([annotation("_Inout_")] D3D12_VIDEO_ENCODER_LEVEL_SETTING dstLevel); | ||
| 2826 | UINT GetResolutionListCount(); | ||
| 2827 | HRESULT GetResolutionList( | ||
| 2828 | const UINT ResolutionsListCount, | ||
| 2829 | [annotation("_Out_writes_(ResolutionsListCount)")] D3D12_VIDEO_ENCODER_PICTURE_RESOLUTION_DESC* pResolutionList); | ||
| 2830 | } | ||
| 2831 | |||
| 2832 | [uuid(4243ADB4-3A32-4666-973C-0CCC5625DC44), object, local, pointer_default(unique)] | ||
| 2833 | interface ID3D12VideoDevice3 | ||
| 2834 | : ID3D12VideoDevice2 | ||
| 2835 | { | ||
| 2836 | |||
| 2837 | HRESULT CreateVideoEncoder( | ||
| 2838 | [annotation("_In_")] const D3D12_VIDEO_ENCODER_DESC* pDesc, | ||
| 2839 | [annotation("_In_")] REFIID riid, // Expected: IID_ID3D12VideoEncoder, | ||
| 2840 | [annotation("_COM_Outptr_")] void** ppVideoEncoder); | ||
| 2841 | |||
| 2842 | HRESULT CreateVideoEncoderHeap( | ||
| 2843 | [annotation("_In_")] const D3D12_VIDEO_ENCODER_HEAP_DESC* pDesc, | ||
| 2844 | [annotation("_In_")] REFIID riid, // Expected: IID_ID3D12VideoEncoderHeap, | ||
| 2845 | [annotation("_COM_Outptr_")] void** ppVideoEncoderHeap); | ||
| 2846 | |||
| 2847 | } | ||
| 2848 | |||
| 2849 | // | ||
| 2850 | // Video Encoder operation API | ||
| 2851 | // | ||
| 2852 | |||
| 2853 | |||
| 2854 | typedef enum D3D12_VIDEO_ENCODER_FRAME_TYPE_H264 | ||
| 2855 | { | ||
| 2856 | D3D12_VIDEO_ENCODER_FRAME_TYPE_H264_I_FRAME = 0, | ||
| 2857 | D3D12_VIDEO_ENCODER_FRAME_TYPE_H264_P_FRAME = 1, | ||
| 2858 | D3D12_VIDEO_ENCODER_FRAME_TYPE_H264_B_FRAME = 2, | ||
| 2859 | D3D12_VIDEO_ENCODER_FRAME_TYPE_H264_IDR_FRAME = 3, | ||
| 2860 | } D3D12_VIDEO_ENCODER_FRAME_TYPE_H264; | ||
| 2861 | |||
| 2862 | |||
| 2863 | typedef struct D3D12_VIDEO_ENCODER_REFERENCE_PICTURE_DESCRIPTOR_H264 | ||
| 2864 | { | ||
| 2865 | UINT ReconstructedPictureResourceIndex; | ||
| 2866 | BOOL IsLongTermReference; | ||
| 2867 | UINT LongTermPictureIdx; | ||
| 2868 | UINT PictureOrderCountNumber; | ||
| 2869 | UINT FrameDecodingOrderNumber; | ||
| 2870 | UINT TemporalLayerIndex; | ||
| 2871 | } D3D12_VIDEO_ENCODER_REFERENCE_PICTURE_DESCRIPTOR_H264; | ||
| 2872 | |||
| 2873 | typedef enum D3D12_VIDEO_ENCODER_PICTURE_CONTROL_CODEC_DATA_H264_FLAGS | ||
| 2874 | { | ||
| 2875 | D3D12_VIDEO_ENCODER_PICTURE_CONTROL_CODEC_DATA_H264_FLAG_NONE = 0x0, | ||
| 2876 | D3D12_VIDEO_ENCODER_PICTURE_CONTROL_CODEC_DATA_H264_FLAG_REQUEST_INTRA_CONSTRAINED_SLICES = 0x1, | ||
| 2877 | D3D12_VIDEO_ENCODER_PICTURE_CONTROL_CODEC_DATA_H264_FLAG_REQUEST_NUM_REF_IDX_ACTIVE_OVERRIDE_FLAG_SLICE = 0x2, | ||
| 2878 | } D3D12_VIDEO_ENCODER_PICTURE_CONTROL_CODEC_DATA_H264_FLAGS; | ||
| 2879 | cpp_quote("DEFINE_ENUM_FLAG_OPERATORS(D3D12_VIDEO_ENCODER_PICTURE_CONTROL_CODEC_DATA_H264_FLAGS)") | ||
| 2880 | |||
| 2881 | typedef struct D3D12_VIDEO_ENCODER_PICTURE_CONTROL_CODEC_DATA_H264_REFERENCE_PICTURE_MARKING_OPERATION | ||
| 2882 | { | ||
| 2883 | UCHAR memory_management_control_operation; | ||
| 2884 | UINT difference_of_pic_nums_minus1; | ||
| 2885 | UINT long_term_pic_num; | ||
| 2886 | UINT long_term_frame_idx; | ||
| 2887 | UINT max_long_term_frame_idx_plus1; | ||
| 2888 | } D3D12_VIDEO_ENCODER_PICTURE_CONTROL_CODEC_DATA_H264_REFERENCE_PICTURE_MARKING_OPERATION; | ||
| 2889 | |||
| 2890 | typedef struct D3D12_VIDEO_ENCODER_PICTURE_CONTROL_CODEC_DATA_H264_REFERENCE_PICTURE_LIST_MODIFICATION_OPERATION | ||
| 2891 | { | ||
| 2892 | UCHAR modification_of_pic_nums_idc; | ||
| 2893 | UINT abs_diff_pic_num_minus1; | ||
| 2894 | UINT long_term_pic_num; | ||
| 2895 | } D3D12_VIDEO_ENCODER_PICTURE_CONTROL_CODEC_DATA_H264_REFERENCE_PICTURE_LIST_MODIFICATION_OPERATION; | ||
| 2896 | |||
| 2897 | typedef struct D3D12_VIDEO_ENCODER_PICTURE_CONTROL_CODEC_DATA_H264 | ||
| 2898 | { | ||
| 2899 | D3D12_VIDEO_ENCODER_PICTURE_CONTROL_CODEC_DATA_H264_FLAGS Flags; | ||
| 2900 | D3D12_VIDEO_ENCODER_FRAME_TYPE_H264 FrameType; | ||
| 2901 | UINT pic_parameter_set_id; | ||
| 2902 | UINT idr_pic_id; | ||
| 2903 | UINT PictureOrderCountNumber; | ||
| 2904 | UINT FrameDecodingOrderNumber; | ||
| 2905 | UINT TemporalLayerIndex; | ||
| 2906 | UINT List0ReferenceFramesCount; | ||
| 2907 | [annotation("_Field_size_full_(List0ReferenceFramesCount)")] UINT* pList0ReferenceFrames; | ||
| 2908 | UINT List1ReferenceFramesCount; | ||
| 2909 | [annotation("_Field_size_full_(List1ReferenceFramesCount)")] UINT* pList1ReferenceFrames; | ||
| 2910 | UINT ReferenceFramesReconPictureDescriptorsCount; | ||
| 2911 | [annotation("_Field_size_full_(ReferenceFramesReconPictureDescriptorsCount)")] D3D12_VIDEO_ENCODER_REFERENCE_PICTURE_DESCRIPTOR_H264* pReferenceFramesReconPictureDescriptors; | ||
| 2912 | UCHAR adaptive_ref_pic_marking_mode_flag; | ||
| 2913 | UINT RefPicMarkingOperationsCommandsCount; | ||
| 2914 | [annotation("_Field_size_full_(RefPicMarkingOperationsCommandsCount)")] D3D12_VIDEO_ENCODER_PICTURE_CONTROL_CODEC_DATA_H264_REFERENCE_PICTURE_MARKING_OPERATION* pRefPicMarkingOperationsCommands; | ||
| 2915 | UINT List0RefPicModificationsCount; | ||
| 2916 | [annotation("_Field_size_full_(List0RefPicModificationsCount)")] D3D12_VIDEO_ENCODER_PICTURE_CONTROL_CODEC_DATA_H264_REFERENCE_PICTURE_LIST_MODIFICATION_OPERATION* pList0RefPicModifications; | ||
| 2917 | UINT List1RefPicModificationsCount; | ||
| 2918 | [annotation("_Field_size_full_(List1RefPicModificationsCount)")] D3D12_VIDEO_ENCODER_PICTURE_CONTROL_CODEC_DATA_H264_REFERENCE_PICTURE_LIST_MODIFICATION_OPERATION* pList1RefPicModifications; | ||
| 2919 | UINT QPMapValuesCount; | ||
| 2920 | [annotation("_Field_size_full_(QPMapValuesCount)")] INT8 *pRateControlQPMap; | ||
| 2921 | } D3D12_VIDEO_ENCODER_PICTURE_CONTROL_CODEC_DATA_H264; | ||
| 2922 | |||
| 2923 | typedef enum D3D12_VIDEO_ENCODER_FRAME_TYPE_HEVC | ||
| 2924 | { | ||
| 2925 | D3D12_VIDEO_ENCODER_FRAME_TYPE_HEVC_I_FRAME = 0, | ||
| 2926 | D3D12_VIDEO_ENCODER_FRAME_TYPE_HEVC_P_FRAME = 1, | ||
| 2927 | D3D12_VIDEO_ENCODER_FRAME_TYPE_HEVC_B_FRAME = 2, | ||
| 2928 | D3D12_VIDEO_ENCODER_FRAME_TYPE_HEVC_IDR_FRAME = 3, | ||
| 2929 | } D3D12_VIDEO_ENCODER_FRAME_TYPE_HEVC; | ||
| 2930 | |||
| 2931 | typedef struct D3D12_VIDEO_ENCODER_REFERENCE_PICTURE_DESCRIPTOR_HEVC | ||
| 2932 | { | ||
| 2933 | UINT ReconstructedPictureResourceIndex; | ||
| 2934 | BOOL IsRefUsedByCurrentPic; | ||
| 2935 | BOOL IsLongTermReference; | ||
| 2936 | UINT PictureOrderCountNumber; | ||
| 2937 | UINT TemporalLayerIndex; | ||
| 2938 | } D3D12_VIDEO_ENCODER_REFERENCE_PICTURE_DESCRIPTOR_HEVC; | ||
| 2939 | |||
| 2940 | typedef enum D3D12_VIDEO_ENCODER_PICTURE_CONTROL_CODEC_DATA_HEVC_FLAGS | ||
| 2941 | { | ||
| 2942 | D3D12_VIDEO_ENCODER_PICTURE_CONTROL_CODEC_DATA_HEVC_FLAG_NONE = 0x0, | ||
| 2943 | D3D12_VIDEO_ENCODER_PICTURE_CONTROL_CODEC_DATA_HEVC_FLAG_REQUEST_INTRA_CONSTRAINED_SLICES = 0x1, | ||
| 2944 | D3D12_VIDEO_ENCODER_PICTURE_CONTROL_CODEC_DATA_HEVC_FLAG_REQUEST_NUM_REF_IDX_ACTIVE_OVERRIDE_FLAG_SLICE = 0x2, | ||
| 2945 | D3D12_VIDEO_ENCODER_PICTURE_CONTROL_CODEC_DATA_HEVC_FLAG_CROSS_COMPONENT_PREDICTION = 0x4, | ||
| 2946 | D3D12_VIDEO_ENCODER_PICTURE_CONTROL_CODEC_DATA_HEVC_FLAG_CHROMA_QP_OFFSET_LIST = 0x8, | ||
| 2947 | } D3D12_VIDEO_ENCODER_PICTURE_CONTROL_CODEC_DATA_HEVC_FLAGS; | ||
| 2948 | cpp_quote("DEFINE_ENUM_FLAG_OPERATORS(D3D12_VIDEO_ENCODER_PICTURE_CONTROL_CODEC_DATA_HEVC_FLAGS)") | ||
| 2949 | |||
| 2950 | typedef struct D3D12_VIDEO_ENCODER_PICTURE_CONTROL_CODEC_DATA_HEVC | ||
| 2951 | { | ||
| 2952 | D3D12_VIDEO_ENCODER_PICTURE_CONTROL_CODEC_DATA_HEVC_FLAGS Flags; | ||
| 2953 | D3D12_VIDEO_ENCODER_FRAME_TYPE_HEVC FrameType; | ||
| 2954 | UINT slice_pic_parameter_set_id; | ||
| 2955 | UINT PictureOrderCountNumber; | ||
| 2956 | UINT TemporalLayerIndex; | ||
| 2957 | UINT List0ReferenceFramesCount; | ||
| 2958 | [annotation("_Field_size_full_(List0ReferenceFramesCount)")] UINT* pList0ReferenceFrames; | ||
| 2959 | UINT List1ReferenceFramesCount; | ||
| 2960 | [annotation("_Field_size_full_(List1ReferenceFramesCount)")] UINT* pList1ReferenceFrames; | ||
| 2961 | UINT ReferenceFramesReconPictureDescriptorsCount; | ||
| 2962 | [annotation("_Field_size_full_(ReferenceFramesReconPictureDescriptorsCount)")] D3D12_VIDEO_ENCODER_REFERENCE_PICTURE_DESCRIPTOR_HEVC* pReferenceFramesReconPictureDescriptors; | ||
| 2963 | UINT List0RefPicModificationsCount; | ||
| 2964 | [annotation("_Field_size_full_(List0RefPicModificationsCount)")] UINT* pList0RefPicModifications; | ||
| 2965 | UINT List1RefPicModificationsCount; | ||
| 2966 | [annotation("_Field_size_full_(List1RefPicModificationsCount)")] UINT* pList1RefPicModifications; | ||
| 2967 | UINT QPMapValuesCount; | ||
| 2968 | [annotation("_Field_size_full_(QPMapValuesCount)")] INT8 *pRateControlQPMap; | ||
| 2969 | } D3D12_VIDEO_ENCODER_PICTURE_CONTROL_CODEC_DATA_HEVC; | ||
| 2970 | |||
| 2971 | typedef struct D3D12_VIDEO_ENCODER_PICTURE_CONTROL_CODEC_DATA_HEVC1 | ||
| 2972 | { | ||
| 2973 | D3D12_VIDEO_ENCODER_PICTURE_CONTROL_CODEC_DATA_HEVC_FLAGS Flags; | ||
| 2974 | D3D12_VIDEO_ENCODER_FRAME_TYPE_HEVC FrameType; | ||
| 2975 | UINT slice_pic_parameter_set_id; | ||
| 2976 | UINT PictureOrderCountNumber; | ||
| 2977 | UINT TemporalLayerIndex; | ||
| 2978 | UINT List0ReferenceFramesCount; | ||
| 2979 | [annotation("_Field_size_full_(List0ReferenceFramesCount)")] UINT* pList0ReferenceFrames; | ||
| 2980 | UINT List1ReferenceFramesCount; | ||
| 2981 | [annotation("_Field_size_full_(List1ReferenceFramesCount)")] UINT* pList1ReferenceFrames; | ||
| 2982 | UINT ReferenceFramesReconPictureDescriptorsCount; | ||
| 2983 | [annotation("_Field_size_full_(ReferenceFramesReconPictureDescriptorsCount)")] D3D12_VIDEO_ENCODER_REFERENCE_PICTURE_DESCRIPTOR_HEVC* pReferenceFramesReconPictureDescriptors; | ||
| 2984 | UINT List0RefPicModificationsCount; | ||
| 2985 | [annotation("_Field_size_full_(List0RefPicModificationsCount)")] UINT* pList0RefPicModifications; | ||
| 2986 | UINT List1RefPicModificationsCount; | ||
| 2987 | [annotation("_Field_size_full_(List1RefPicModificationsCount)")] UINT* pList1RefPicModifications; | ||
| 2988 | UINT QPMapValuesCount; | ||
| 2989 | [annotation("_Field_size_full_(QPMapValuesCount)")] INT8* pRateControlQPMap; | ||
| 2990 | UCHAR diff_cu_chroma_qp_offset_depth; | ||
| 2991 | UCHAR log2_sao_offset_scale_luma; | ||
| 2992 | UCHAR log2_sao_offset_scale_chroma; | ||
| 2993 | UCHAR log2_max_transform_skip_block_size_minus2; | ||
| 2994 | UCHAR chroma_qp_offset_list_len_minus1; | ||
| 2995 | CHAR cb_qp_offset_list[6]; | ||
| 2996 | CHAR cr_qp_offset_list[6]; | ||
| 2997 | } D3D12_VIDEO_ENCODER_PICTURE_CONTROL_CODEC_DATA_HEVC1; | ||
| 2998 | |||
| 2999 | typedef struct D3D12_VIDEO_ENCODER_PICTURE_CONTROL_CODEC_DATA | ||
| 3000 | { | ||
| 3001 | UINT DataSize; | ||
| 3002 | union | ||
| 3003 | { | ||
| 3004 | D3D12_VIDEO_ENCODER_PICTURE_CONTROL_CODEC_DATA_H264* pH264PicData; | ||
| 3005 | D3D12_VIDEO_ENCODER_PICTURE_CONTROL_CODEC_DATA_HEVC* pHEVCPicData; | ||
| 3006 | D3D12_VIDEO_ENCODER_PICTURE_CONTROL_CODEC_DATA_HEVC1* pHEVCPicData1; | ||
| 3007 | D3D12_VIDEO_ENCODER_AV1_PICTURE_CONTROL_CODEC_DATA* pAV1PicData; | ||
| 3008 | }; | ||
| 3009 | } D3D12_VIDEO_ENCODER_PICTURE_CONTROL_CODEC_DATA; | ||
| 3010 | |||
| 3011 | typedef struct D3D12_VIDEO_ENCODE_REFERENCE_FRAMES | ||
| 3012 | { | ||
| 3013 | UINT NumTexture2Ds; | ||
| 3014 | [annotation("_Field_size_full_(NumTexture2Ds)")] ID3D12Resource** ppTexture2Ds; | ||
| 3015 | [annotation("_Field_size_full_(NumTexture2Ds)")] UINT* pSubresources; | ||
| 3016 | } D3D12_VIDEO_ENCODE_REFERENCE_FRAMES; | ||
| 3017 | |||
| 3018 | typedef enum D3D12_VIDEO_ENCODER_PICTURE_CONTROL_FLAGS | ||
| 3019 | { | ||
| 3020 | D3D12_VIDEO_ENCODER_PICTURE_CONTROL_FLAG_NONE = 0x0, | ||
| 3021 | D3D12_VIDEO_ENCODER_PICTURE_CONTROL_FLAG_USED_AS_REFERENCE_PICTURE = 0x1, | ||
| 3022 | D3D12_VIDEO_ENCODER_PICTURE_CONTROL_FLAG_ENABLE_QUANTIZATION_MATRIX_INPUT = 0x2, | ||
| 3023 | D3D12_VIDEO_ENCODER_PICTURE_CONTROL_FLAG_ENABLE_DIRTY_REGIONS_INPUT = 0x4, | ||
| 3024 | D3D12_VIDEO_ENCODER_PICTURE_CONTROL_FLAG_ENABLE_MOTION_VECTORS_INPUT = 0x8, | ||
| 3025 | } D3D12_VIDEO_ENCODER_PICTURE_CONTROL_FLAGS; | ||
| 3026 | cpp_quote("DEFINE_ENUM_FLAG_OPERATORS(D3D12_VIDEO_ENCODER_PICTURE_CONTROL_FLAGS)") | ||
| 3027 | |||
| 3028 | typedef struct D3D12_VIDEO_ENCODER_PICTURE_CONTROL_DESC | ||
| 3029 | { | ||
| 3030 | UINT IntraRefreshFrameIndex; | ||
| 3031 | D3D12_VIDEO_ENCODER_PICTURE_CONTROL_FLAGS Flags; | ||
| 3032 | D3D12_VIDEO_ENCODER_PICTURE_CONTROL_CODEC_DATA PictureControlCodecData; | ||
| 3033 | D3D12_VIDEO_ENCODE_REFERENCE_FRAMES ReferenceFrames; | ||
| 3034 | } D3D12_VIDEO_ENCODER_PICTURE_CONTROL_DESC; | ||
| 3035 | |||
| 3036 | typedef enum D3D12_VIDEO_ENCODER_SEQUENCE_CONTROL_FLAGS | ||
| 3037 | { | ||
| 3038 | D3D12_VIDEO_ENCODER_SEQUENCE_CONTROL_FLAG_NONE = 0x0, | ||
| 3039 | D3D12_VIDEO_ENCODER_SEQUENCE_CONTROL_FLAG_RESOLUTION_CHANGE = 0x1, | ||
| 3040 | D3D12_VIDEO_ENCODER_SEQUENCE_CONTROL_FLAG_RATE_CONTROL_CHANGE = 0x2, | ||
| 3041 | D3D12_VIDEO_ENCODER_SEQUENCE_CONTROL_FLAG_SUBREGION_LAYOUT_CHANGE = 0x4, | ||
| 3042 | D3D12_VIDEO_ENCODER_SEQUENCE_CONTROL_FLAG_REQUEST_INTRA_REFRESH = 0x8, | ||
| 3043 | D3D12_VIDEO_ENCODER_SEQUENCE_CONTROL_FLAG_GOP_SEQUENCE_CHANGE = 0x10, | ||
| 3044 | } D3D12_VIDEO_ENCODER_SEQUENCE_CONTROL_FLAGS; | ||
| 3045 | cpp_quote("DEFINE_ENUM_FLAG_OPERATORS(D3D12_VIDEO_ENCODER_SEQUENCE_CONTROL_FLAGS)") | ||
| 3046 | |||
| 3047 | typedef struct D3D12_VIDEO_ENCODER_SEQUENCE_CONTROL_DESC | ||
| 3048 | { | ||
| 3049 | D3D12_VIDEO_ENCODER_SEQUENCE_CONTROL_FLAGS Flags; | ||
| 3050 | D3D12_VIDEO_ENCODER_INTRA_REFRESH IntraRefreshConfig; | ||
| 3051 | D3D12_VIDEO_ENCODER_RATE_CONTROL RateControl; | ||
| 3052 | D3D12_VIDEO_ENCODER_PICTURE_RESOLUTION_DESC PictureTargetResolution; | ||
| 3053 | D3D12_VIDEO_ENCODER_FRAME_SUBREGION_LAYOUT_MODE SelectedLayoutMode; | ||
| 3054 | D3D12_VIDEO_ENCODER_PICTURE_CONTROL_SUBREGIONS_LAYOUT_DATA FrameSubregionsLayoutData; | ||
| 3055 | D3D12_VIDEO_ENCODER_SEQUENCE_GOP_STRUCTURE CodecGopSequence; | ||
| 3056 | } D3D12_VIDEO_ENCODER_SEQUENCE_CONTROL_DESC; | ||
| 3057 | |||
| 3058 | // | ||
| 3059 | // Video Encoder operation commands API | ||
| 3060 | // | ||
| 3061 | |||
| 3062 | typedef struct D3D12_VIDEO_ENCODER_ENCODEFRAME_INPUT_ARGUMENTS | ||
| 3063 | { | ||
| 3064 | D3D12_VIDEO_ENCODER_SEQUENCE_CONTROL_DESC SequenceControlDesc; | ||
| 3065 | D3D12_VIDEO_ENCODER_PICTURE_CONTROL_DESC PictureControlDesc; | ||
| 3066 | ID3D12Resource *pInputFrame; | ||
| 3067 | UINT InputFrameSubresource; | ||
| 3068 | UINT CurrentFrameBitstreamMetadataSize; | ||
| 3069 | } D3D12_VIDEO_ENCODER_ENCODEFRAME_INPUT_ARGUMENTS; | ||
| 3070 | |||
| 3071 | typedef struct D3D12_VIDEO_ENCODER_COMPRESSED_BITSTREAM | ||
| 3072 | { | ||
| 3073 | ID3D12Resource* pBuffer; | ||
| 3074 | UINT64 FrameStartOffset; | ||
| 3075 | } D3D12_VIDEO_ENCODER_COMPRESSED_BITSTREAM; | ||
| 3076 | |||
| 3077 | typedef struct D3D12_VIDEO_ENCODER_RECONSTRUCTED_PICTURE | ||
| 3078 | { | ||
| 3079 | ID3D12Resource *pReconstructedPicture; | ||
| 3080 | UINT ReconstructedPictureSubresource; | ||
| 3081 | } D3D12_VIDEO_ENCODER_RECONSTRUCTED_PICTURE; | ||
| 3082 | |||
| 3083 | typedef struct D3D12_VIDEO_ENCODER_FRAME_SUBREGION_METADATA | ||
| 3084 | { | ||
| 3085 | UINT64 bSize; | ||
| 3086 | UINT64 bStartOffset; | ||
| 3087 | UINT64 bHeaderSize; | ||
| 3088 | } D3D12_VIDEO_ENCODER_FRAME_SUBREGION_METADATA; | ||
| 3089 | |||
| 3090 | typedef enum D3D12_VIDEO_ENCODER_ENCODE_ERROR_FLAGS | ||
| 3091 | { | ||
| 3092 | D3D12_VIDEO_ENCODER_ENCODE_ERROR_FLAG_NO_ERROR = 0x0, | ||
| 3093 | D3D12_VIDEO_ENCODER_ENCODE_ERROR_FLAG_CODEC_PICTURE_CONTROL_NOT_SUPPORTED = 0x1, | ||
| 3094 | D3D12_VIDEO_ENCODER_ENCODE_ERROR_FLAG_SUBREGION_LAYOUT_CONFIGURATION_NOT_SUPPORTED = 0x2, | ||
| 3095 | D3D12_VIDEO_ENCODER_ENCODE_ERROR_FLAG_INVALID_REFERENCE_PICTURES = 0x4, | ||
| 3096 | D3D12_VIDEO_ENCODER_ENCODE_ERROR_FLAG_RECONFIGURATION_REQUEST_NOT_SUPPORTED = 0x8, | ||
| 3097 | D3D12_VIDEO_ENCODER_ENCODE_ERROR_FLAG_INVALID_METADATA_BUFFER_SOURCE = 0x10, | ||
| 3098 | } D3D12_VIDEO_ENCODER_ENCODE_ERROR_FLAGS; | ||
| 3099 | cpp_quote("DEFINE_ENUM_FLAG_OPERATORS(D3D12_VIDEO_ENCODER_ENCODE_ERROR_FLAGS)") | ||
| 3100 | |||
| 3101 | typedef struct D3D12_VIDEO_ENCODER_OUTPUT_METADATA_STATISTICS | ||
| 3102 | { | ||
| 3103 | UINT64 AverageQP; | ||
| 3104 | UINT64 IntraCodingUnitsCount; | ||
| 3105 | UINT64 InterCodingUnitsCount; | ||
| 3106 | UINT64 SkipCodingUnitsCount; | ||
| 3107 | UINT64 AverageMotionEstimationXDirection; | ||
| 3108 | UINT64 AverageMotionEstimationYDirection; | ||
| 3109 | } D3D12_VIDEO_ENCODER_OUTPUT_METADATA_STATISTICS; | ||
| 3110 | |||
| 3111 | typedef struct D3D12_VIDEO_ENCODER_OUTPUT_METADATA | ||
| 3112 | { | ||
| 3113 | UINT64 EncodeErrorFlags; // D3D12_VIDEO_ENCODER_ENCODE_ERROR_FLAGS | ||
| 3114 | D3D12_VIDEO_ENCODER_OUTPUT_METADATA_STATISTICS EncodeStats; | ||
| 3115 | UINT64 EncodedBitstreamWrittenBytesCount; | ||
| 3116 | UINT64 WrittenSubregionsCount; | ||
| 3117 | } D3D12_VIDEO_ENCODER_OUTPUT_METADATA; | ||
| 3118 | |||
| 3119 | typedef struct D3D12_VIDEO_ENCODER_ENCODE_OPERATION_METADATA_BUFFER | ||
| 3120 | { | ||
| 3121 | ID3D12Resource* pBuffer; | ||
| 3122 | UINT64 Offset; | ||
| 3123 | } D3D12_VIDEO_ENCODER_ENCODE_OPERATION_METADATA_BUFFER; | ||
| 3124 | |||
| 3125 | typedef struct D3D12_VIDEO_ENCODER_RESOLVE_METADATA_INPUT_ARGUMENTS | ||
| 3126 | { | ||
| 3127 | D3D12_VIDEO_ENCODER_CODEC EncoderCodec; | ||
| 3128 | D3D12_VIDEO_ENCODER_PROFILE_DESC EncoderProfile; | ||
| 3129 | DXGI_FORMAT EncoderInputFormat; | ||
| 3130 | D3D12_VIDEO_ENCODER_PICTURE_RESOLUTION_DESC EncodedPictureEffectiveResolution; | ||
| 3131 | D3D12_VIDEO_ENCODER_ENCODE_OPERATION_METADATA_BUFFER HWLayoutMetadata; | ||
| 3132 | } D3D12_VIDEO_ENCODER_RESOLVE_METADATA_INPUT_ARGUMENTS; | ||
| 3133 | |||
| 3134 | typedef struct D3D12_VIDEO_ENCODER_RESOLVE_METADATA_OUTPUT_ARGUMENTS | ||
| 3135 | { | ||
| 3136 | D3D12_VIDEO_ENCODER_ENCODE_OPERATION_METADATA_BUFFER ResolvedLayoutMetadata; | ||
| 3137 | } D3D12_VIDEO_ENCODER_RESOLVE_METADATA_OUTPUT_ARGUMENTS; | ||
| 3138 | |||
| 3139 | typedef struct D3D12_VIDEO_ENCODER_ENCODEFRAME_OUTPUT_ARGUMENTS | ||
| 3140 | { | ||
| 3141 | D3D12_VIDEO_ENCODER_COMPRESSED_BITSTREAM Bitstream; | ||
| 3142 | D3D12_VIDEO_ENCODER_RECONSTRUCTED_PICTURE ReconstructedPicture; | ||
| 3143 | D3D12_VIDEO_ENCODER_ENCODE_OPERATION_METADATA_BUFFER EncoderOutputMetadata; | ||
| 3144 | } D3D12_VIDEO_ENCODER_ENCODEFRAME_OUTPUT_ARGUMENTS; | ||
| 3145 | |||
| 3146 | [uuid(895491e2-e701-46a9-9a1f-8d3480ed867a), object, local, pointer_default(unique)] | ||
| 3147 | interface ID3D12VideoEncodeCommandList2 | ||
| 3148 | : ID3D12VideoEncodeCommandList1 | ||
| 3149 | { | ||
| 3150 | void EncodeFrame( | ||
| 3151 | [annotation("_In_")] ID3D12VideoEncoder* pEncoder, | ||
| 3152 | [annotation("_In_")] ID3D12VideoEncoderHeap *pHeap, | ||
| 3153 | [annotation("_In_")] const D3D12_VIDEO_ENCODER_ENCODEFRAME_INPUT_ARGUMENTS *pInputArguments, | ||
| 3154 | [annotation("_In_")] const D3D12_VIDEO_ENCODER_ENCODEFRAME_OUTPUT_ARGUMENTS *pOutputArguments); | ||
| 3155 | |||
| 3156 | void ResolveEncoderOutputMetadata( | ||
| 3157 | [annotation("_In_")] const D3D12_VIDEO_ENCODER_RESOLVE_METADATA_INPUT_ARGUMENTS* pInputArguments, | ||
| 3158 | [annotation("_In_")] const D3D12_VIDEO_ENCODER_RESOLVE_METADATA_OUTPUT_ARGUMENTS* pOutputArguments); | ||
| 3159 | } | ||
| 3160 | |||
| 3161 | |||
| 3162 | [uuid(7f027b22-1515-4e85-aa0d-026486580576), object, local, pointer_default(unique)] | ||
| 3163 | interface ID3D12VideoEncodeCommandList3 | ||
| 3164 | : ID3D12VideoEncodeCommandList2 | ||
| 3165 | { | ||
| 3166 | |||
| 3167 | void Barrier( | ||
| 3168 | UINT32 NumBarrierGroups, | ||
| 3169 | [annotation("_In_reads_(NumBarrierGroups)")] const D3D12_BARRIER_GROUP *pBarrierGroups | ||
| 3170 | ); | ||
| 3171 | } | ||
| 3172 | |||
| 3173 | |||
| 3174 | |||
| 3175 | typedef struct D3D12_VIDEO_ENCODER_HEAP_DESC1 | ||
| 3176 | { | ||
| 3177 | UINT NodeMask; | ||
| 3178 | D3D12_VIDEO_ENCODER_HEAP_FLAGS Flags; | ||
| 3179 | D3D12_VIDEO_ENCODER_CODEC EncodeCodec; | ||
| 3180 | D3D12_VIDEO_ENCODER_PROFILE_DESC EncodeProfile; | ||
| 3181 | D3D12_VIDEO_ENCODER_LEVEL_SETTING EncodeLevel; | ||
| 3182 | UINT ResolutionsListCount; | ||
| 3183 | [annotation("_Field_size_full_(ResolutionsListCount)")] const D3D12_VIDEO_ENCODER_PICTURE_RESOLUTION_DESC* pResolutionList; | ||
| 3184 | UINT Pow2DownscaleFactor; | ||
| 3185 | } D3D12_VIDEO_ENCODER_HEAP_DESC1; | ||
| 3186 | |||
| 3187 | [uuid(ea8f1968-4aa0-43a4-9d30-ba86ec84d4f9), object, local, pointer_default(unique)] | ||
| 3188 | interface ID3D12VideoEncoderHeap1 | ||
| 3189 | : ID3D12VideoEncoderHeap | ||
| 3190 | { | ||
| 3191 | UINT GetPow2DownscaleFactor(); | ||
| 3192 | } | ||
| 3193 | |||
| 3194 | [uuid(e59ad09e-f1ae-42bb-8983-9f6e5586c4eb), object, local, pointer_default(unique)] | ||
| 3195 | interface ID3D12VideoDevice4 | ||
| 3196 | : ID3D12VideoDevice3 | ||
| 3197 | { | ||
| 3198 | HRESULT CreateVideoEncoderHeap1( | ||
| 3199 | [annotation("_In_")] const D3D12_VIDEO_ENCODER_HEAP_DESC1* pDesc, | ||
| 3200 | [annotation("_In_")] REFIID riid, // Expected: IID_ID3D12VideoEncoderHeap1, | ||
| 3201 | [annotation("_COM_Outptr_")] void** ppVideoEncoderHeap); | ||
| 3202 | |||
| 3203 | } | ||
| 3204 | |||
| 3205 | typedef struct D3D12_FEATURE_DATA_VIDEO_ENCODER_HEAP_SIZE1 { | ||
| 3206 | D3D12_VIDEO_ENCODER_HEAP_DESC1 HeapDesc; // input | ||
| 3207 | BOOL IsSupported; // output | ||
| 3208 | UINT64 MemoryPoolL0Size; // output | ||
| 3209 | UINT64 MemoryPoolL1Size; // output | ||
| 3210 | } D3D12_FEATURE_DATA_VIDEO_ENCODER_HEAP_SIZE1; | ||
| 3211 | |||
| 3212 | typedef enum D3D12_VIDEO_ENCODER_OPTIONAL_METADATA_ENABLE_FLAGS | ||
| 3213 | { | ||
| 3214 | D3D12_VIDEO_ENCODER_OPTIONAL_METADATA_ENABLE_FLAG_NONE = 0x0, | ||
| 3215 | D3D12_VIDEO_ENCODER_OPTIONAL_METADATA_ENABLE_FLAG_QP_MAP = 0x1, | ||
| 3216 | D3D12_VIDEO_ENCODER_OPTIONAL_METADATA_ENABLE_FLAG_SATD_MAP = 0x2, | ||
| 3217 | D3D12_VIDEO_ENCODER_OPTIONAL_METADATA_ENABLE_FLAG_RC_BIT_ALLOCATION_MAP = 0x4, | ||
| 3218 | D3D12_VIDEO_ENCODER_OPTIONAL_METADATA_ENABLE_FLAG_FRAME_PSNR = 0x8, | ||
| 3219 | D3D12_VIDEO_ENCODER_OPTIONAL_METADATA_ENABLE_FLAG_SUBREGIONS_PSNR = 0x10, | ||
| 3220 | } D3D12_VIDEO_ENCODER_OPTIONAL_METADATA_ENABLE_FLAGS; | ||
| 3221 | cpp_quote("DEFINE_ENUM_FLAG_OPERATORS(D3D12_VIDEO_ENCODER_OPTIONAL_METADATA_ENABLE_FLAGS )") | ||
| 3222 | |||
| 3223 | // Binary back-compat with D3D12_FEATURE_DATA_VIDEO_ENCODER_RESOURCE_REQUIREMENTS | ||
| 3224 | typedef struct D3D12_FEATURE_DATA_VIDEO_ENCODER_RESOURCE_REQUIREMENTS1 | ||
| 3225 | { | ||
| 3226 | UINT NodeIndex; // input | ||
| 3227 | D3D12_VIDEO_ENCODER_CODEC Codec; // input | ||
| 3228 | D3D12_VIDEO_ENCODER_PROFILE_DESC Profile; // input | ||
| 3229 | DXGI_FORMAT InputFormat; // input | ||
| 3230 | D3D12_VIDEO_ENCODER_PICTURE_RESOLUTION_DESC PictureTargetResolution; // input | ||
| 3231 | |||
| 3232 | BOOL IsSupported; // output | ||
| 3233 | UINT CompressedBitstreamBufferAccessAlignment; // output | ||
| 3234 | UINT EncoderMetadataBufferAccessAlignment; // output | ||
| 3235 | UINT MaxEncoderOutputMetadataBufferSize; // output | ||
| 3236 | D3D12_VIDEO_ENCODER_OPTIONAL_METADATA_ENABLE_FLAGS OptionalMetadata; // input | ||
| 3237 | D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION CodecConfiguration; // input | ||
| 3238 | D3D12_VIDEO_ENCODER_PICTURE_RESOLUTION_DESC EncoderOutputMetadataQPMapTextureDimensions; // output | ||
| 3239 | D3D12_VIDEO_ENCODER_PICTURE_RESOLUTION_DESC EncoderOutputMetadataSATDMapTextureDimensions; // output | ||
| 3240 | D3D12_VIDEO_ENCODER_PICTURE_RESOLUTION_DESC EncoderOutputMetadataBitAllocationMapTextureDimensions; // output | ||
| 3241 | UINT EncoderOutputMetadataFramePSNRComponentsNumber; // output | ||
| 3242 | UINT EncoderOutputMetadataSubregionsPSNRComponentsNumber; // output | ||
| 3243 | UINT EncoderOutputMetadataSubregionsPSNRResolvedMetadataBufferSize; // output | ||
| 3244 | } D3D12_FEATURE_DATA_VIDEO_ENCODER_RESOURCE_REQUIREMENTS1; | ||
| 3245 | |||
| 3246 | typedef struct D3D12_VIDEO_ENCODER_RESOLVE_METADATA_OUTPUT_PSNR_RESOLVED_LAYOUT | ||
| 3247 | { | ||
| 3248 | float PSNRY; | ||
| 3249 | float PSNRU; | ||
| 3250 | float PSNRV; | ||
| 3251 | } D3D12_VIDEO_ENCODER_RESOLVE_METADATA_OUTPUT_PSNR_RESOLVED_LAYOUT; | ||
| 3252 | |||
| 3253 | typedef enum D3D12_VIDEO_ENCODER_INPUT_MAP_SOURCE | ||
| 3254 | { | ||
| 3255 | D3D12_VIDEO_ENCODER_INPUT_MAP_SOURCE_CPU_BUFFER = 0, | ||
| 3256 | D3D12_VIDEO_ENCODER_INPUT_MAP_SOURCE_GPU_TEXTURE = 1, | ||
| 3257 | } D3D12_VIDEO_ENCODER_INPUT_MAP_SOURCE; | ||
| 3258 | |||
| 3259 | typedef enum D3D12_VIDEO_ENCODER_DIRTY_REGIONS_MAP_VALUES_MODE | ||
| 3260 | { | ||
| 3261 | D3D12_VIDEO_ENCODER_DIRTY_REGIONS_MAP_VALUES_MODE_DIRTY = 0, | ||
| 3262 | D3D12_VIDEO_ENCODER_DIRTY_REGIONS_MAP_VALUES_MODE_SKIP = 1, | ||
| 3263 | } D3D12_VIDEO_ENCODER_DIRTY_REGIONS_MAP_VALUES_MODE; | ||
| 3264 | |||
| 3265 | typedef struct D3D12_VIDEO_ENCODER_INPUT_MAP_SESSION_INFO | ||
| 3266 | { | ||
| 3267 | D3D12_VIDEO_ENCODER_CODEC Codec; | ||
| 3268 | D3D12_VIDEO_ENCODER_PROFILE_DESC Profile; | ||
| 3269 | D3D12_VIDEO_ENCODER_LEVEL_SETTING Level; | ||
| 3270 | DXGI_FORMAT InputFormat; | ||
| 3271 | D3D12_VIDEO_ENCODER_PICTURE_RESOLUTION_DESC InputResolution; | ||
| 3272 | D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION CodecConfiguration; | ||
| 3273 | D3D12_VIDEO_ENCODER_FRAME_SUBREGION_LAYOUT_MODE SubregionFrameEncoding; | ||
| 3274 | D3D12_VIDEO_ENCODER_PICTURE_CONTROL_SUBREGIONS_LAYOUT_DATA SubregionFrameEncodingData; | ||
| 3275 | } D3D12_VIDEO_ENCODER_INPUT_MAP_SESSION_INFO; | ||
| 3276 | |||
| 3277 | typedef enum D3D12_VIDEO_ENCODER_INPUT_MAP_TYPE | ||
| 3278 | { | ||
| 3279 | D3D12_VIDEO_ENCODER_INPUT_MAP_TYPE_QUANTIZATION_MATRIX = 0, | ||
| 3280 | D3D12_VIDEO_ENCODER_INPUT_MAP_TYPE_DIRTY_REGIONS = 1, | ||
| 3281 | D3D12_VIDEO_ENCODER_INPUT_MAP_TYPE_MOTION_VECTORS = 2, | ||
| 3282 | } D3D12_VIDEO_ENCODER_INPUT_MAP_TYPE; | ||
| 3283 | |||
| 3284 | typedef enum D3D12_VIDEO_ENCODER_FRAME_MOTION_SEARCH_MODE | ||
| 3285 | { | ||
| 3286 | D3D12_VIDEO_ENCODER_FRAME_MOTION_SEARCH_MODE_FULL_SEARCH = 0, | ||
| 3287 | D3D12_VIDEO_ENCODER_FRAME_MOTION_SEARCH_MODE_START_HINT = 1, | ||
| 3288 | D3D12_VIDEO_ENCODER_FRAME_MOTION_SEARCH_MODE_START_HINT_LIMITED_DISTANCE = 2, | ||
| 3289 | } D3D12_VIDEO_ENCODER_FRAME_MOTION_SEARCH_MODE; | ||
| 3290 | |||
| 3291 | // D3D12_FEATURE_VIDEO_ENCODER_QPMAP_INPUT | ||
| 3292 | typedef struct D3D12_FEATURE_DATA_VIDEO_ENCODER_QPMAP_INPUT | ||
| 3293 | { | ||
| 3294 | UINT NodeIndex; | ||
| 3295 | D3D12_VIDEO_ENCODER_INPUT_MAP_SESSION_INFO SessionInfo; | ||
| 3296 | D3D12_VIDEO_ENCODER_INPUT_MAP_SOURCE MapSource; | ||
| 3297 | BOOL IsSupported; | ||
| 3298 | UINT MapSourcePreferenceRanking; | ||
| 3299 | UINT BlockSize; | ||
| 3300 | } D3D12_FEATURE_DATA_VIDEO_ENCODER_QPMAP_INPUT; | ||
| 3301 | |||
| 3302 | typedef enum D3D12_VIDEO_ENCODER_DIRTY_REGIONS_SUPPORT_FLAGS | ||
| 3303 | { | ||
| 3304 | D3D12_VIDEO_ENCODER_DIRTY_REGIONS_SUPPORT_FLAG_NONE = 0x0, | ||
| 3305 | D3D12_VIDEO_ENCODER_DIRTY_REGIONS_SUPPORT_FLAG_REPEAT_FRAME = 0x1, | ||
| 3306 | D3D12_VIDEO_ENCODER_DIRTY_REGIONS_SUPPORT_FLAG_DIRTY_REGIONS = 0x2, | ||
| 3307 | D3D12_VIDEO_ENCODER_DIRTY_REGIONS_SUPPORT_FLAG_DIRTY_REGIONS_REQUIRE_FULL_ROW = 0x4, | ||
| 3308 | } D3D12_VIDEO_ENCODER_DIRTY_REGIONS_SUPPORT_FLAGS; | ||
| 3309 | cpp_quote("DEFINE_ENUM_FLAG_OPERATORS( D3D12_VIDEO_ENCODER_DIRTY_REGIONS_SUPPORT_FLAGS )") | ||
| 3310 | |||
| 3311 | // D3D12_FEATURE_VIDEO_ENCODER_DIRTY_REGIONS | ||
| 3312 | typedef struct D3D12_FEATURE_DATA_VIDEO_ENCODER_DIRTY_REGIONS | ||
| 3313 | { | ||
| 3314 | UINT NodeIndex; | ||
| 3315 | D3D12_VIDEO_ENCODER_INPUT_MAP_SESSION_INFO SessionInfo; | ||
| 3316 | D3D12_VIDEO_ENCODER_INPUT_MAP_SOURCE MapSource; | ||
| 3317 | D3D12_VIDEO_ENCODER_DIRTY_REGIONS_MAP_VALUES_MODE MapValuesType; | ||
| 3318 | D3D12_VIDEO_ENCODER_DIRTY_REGIONS_SUPPORT_FLAGS SupportFlags; | ||
| 3319 | UINT MapSourcePreferenceRanking; | ||
| 3320 | } D3D12_FEATURE_DATA_VIDEO_ENCODER_DIRTY_REGIONS; | ||
| 3321 | |||
| 3322 | typedef enum D3D12_VIDEO_ENCODER_FRAME_INPUT_MOTION_UNIT_PRECISION | ||
| 3323 | { | ||
| 3324 | D3D12_VIDEO_ENCODER_FRAME_INPUT_MOTION_UNIT_PRECISION_FULL_PIXEL = 0, | ||
| 3325 | D3D12_VIDEO_ENCODER_FRAME_INPUT_MOTION_UNIT_PRECISION_HALF_PIXEL = 1, | ||
| 3326 | D3D12_VIDEO_ENCODER_FRAME_INPUT_MOTION_UNIT_PRECISION_QUARTER_PIXEL = 2, | ||
| 3327 | } D3D12_VIDEO_ENCODER_FRAME_INPUT_MOTION_UNIT_PRECISION; | ||
| 3328 | |||
| 3329 | typedef enum D3D12_VIDEO_ENCODER_FRAME_INPUT_MOTION_UNIT_PRECISION_SUPPORT_FLAGS { | ||
| 3330 | D3D12_VIDEO_ENCODER_FRAME_INPUT_MOTION_UNIT_PRECISION_SUPPORT_FLAG_NONE = 0x0, | ||
| 3331 | D3D12_VIDEO_ENCODER_FRAME_INPUT_MOTION_UNIT_PRECISION_SUPPORT_FLAG_FULL_PIXEL = (1 << D3D12_VIDEO_ENCODER_FRAME_INPUT_MOTION_UNIT_PRECISION_FULL_PIXEL), // 0x1 | ||
| 3332 | D3D12_VIDEO_ENCODER_FRAME_INPUT_MOTION_UNIT_PRECISION_SUPPORT_FLAG_HALF_PIXEL = (1 << D3D12_VIDEO_ENCODER_FRAME_INPUT_MOTION_UNIT_PRECISION_HALF_PIXEL), // 0x2 | ||
| 3333 | D3D12_VIDEO_ENCODER_FRAME_INPUT_MOTION_UNIT_PRECISION_SUPPORT_FLAG_QUARTER_PIXEL = (1 << D3D12_VIDEO_ENCODER_FRAME_INPUT_MOTION_UNIT_PRECISION_QUARTER_PIXEL), // 0x4 | ||
| 3334 | } D3D12_VIDEO_ENCODER_FRAME_INPUT_MOTION_UNIT_PRECISION_SUPPORT_FLAGS; | ||
| 3335 | cpp_quote("DEFINE_ENUM_FLAG_OPERATORS( D3D12_VIDEO_ENCODER_FRAME_INPUT_MOTION_UNIT_PRECISION_SUPPORT_FLAGS )") | ||
| 3336 | |||
| 3337 | typedef enum D3D12_VIDEO_ENCODER_MOTION_SEARCH_SUPPORT_FLAGS | ||
| 3338 | { | ||
| 3339 | D3D12_VIDEO_ENCODER_MOTION_SEARCH_SUPPORT_FLAG_NONE = 0x0, | ||
| 3340 | D3D12_VIDEO_ENCODER_MOTION_SEARCH_SUPPORT_FLAG_SUPPORTED = 0x1, | ||
| 3341 | D3D12_VIDEO_ENCODER_MOTION_SEARCH_SUPPORT_FLAG_MULTIPLE_HINTS = 0x2, | ||
| 3342 | D3D12_VIDEO_ENCODER_MOTION_SEARCH_SUPPORT_FLAG_GPU_TEXTURE_MULTIPLE_REFERENCES = 0x4, | ||
| 3343 | |||
| 3344 | |||
| 3345 | } D3D12_VIDEO_ENCODER_MOTION_SEARCH_SUPPORT_FLAGS; | ||
| 3346 | cpp_quote("DEFINE_ENUM_FLAG_OPERATORS( D3D12_VIDEO_ENCODER_MOTION_SEARCH_SUPPORT_FLAGS )") | ||
| 3347 | |||
| 3348 | // D3D12_FEATURE_VIDEO_ENCODER_MOTION_SEARCH | ||
| 3349 | typedef struct D3D12_FEATURE_DATA_VIDEO_ENCODER_MOTION_SEARCH | ||
| 3350 | { | ||
| 3351 | UINT NodeIndex; | ||
| 3352 | D3D12_VIDEO_ENCODER_INPUT_MAP_SESSION_INFO SessionInfo; | ||
| 3353 | D3D12_VIDEO_ENCODER_FRAME_MOTION_SEARCH_MODE MotionSearchMode; | ||
| 3354 | D3D12_VIDEO_ENCODER_INPUT_MAP_SOURCE MapSource; | ||
| 3355 | BOOL BidirectionalRefFrameEnabled; | ||
| 3356 | D3D12_VIDEO_ENCODER_MOTION_SEARCH_SUPPORT_FLAGS SupportFlags; | ||
| 3357 | UINT MaxMotionHints; | ||
| 3358 | UINT MinDeviation; | ||
| 3359 | UINT MaxDeviation; | ||
| 3360 | UINT MapSourcePreferenceRanking; | ||
| 3361 | D3D12_VIDEO_ENCODER_FRAME_INPUT_MOTION_UNIT_PRECISION_SUPPORT_FLAGS MotionUnitPrecisionSupport; | ||
| 3362 | } D3D12_FEATURE_DATA_VIDEO_ENCODER_MOTION_SEARCH; | ||
| 3363 | |||
| 3364 | // D3D12_FEATURE_VIDEO_ENCODER_RESOLVE_INPUT_PARAM_LAYOUT | ||
| 3365 | typedef struct D3D12_FEATURE_DATA_VIDEO_ENCODER_RESOLVE_INPUT_PARAM_LAYOUT | ||
| 3366 | { | ||
| 3367 | UINT NodeIndex; | ||
| 3368 | D3D12_VIDEO_ENCODER_INPUT_MAP_SESSION_INFO SessionInfo; | ||
| 3369 | D3D12_VIDEO_ENCODER_INPUT_MAP_TYPE MapType; | ||
| 3370 | BOOL IsSupported; | ||
| 3371 | UINT64 MaxResolvedBufferAllocationSize; | ||
| 3372 | } D3D12_FEATURE_DATA_VIDEO_ENCODER_RESOLVE_INPUT_PARAM_LAYOUT; | ||
| 3373 | |||
| 3374 | typedef struct D3D12_VIDEO_ENCODER_QPMAP_CONFIGURATION | ||
| 3375 | { | ||
| 3376 | BOOL Enabled; | ||
| 3377 | D3D12_VIDEO_ENCODER_INPUT_MAP_SOURCE MapSource; | ||
| 3378 | } D3D12_VIDEO_ENCODER_QPMAP_CONFIGURATION; | ||
| 3379 | |||
| 3380 | typedef struct D3D12_FEATURE_DATA_VIDEO_ENCODER_RESOLUTION_SUPPORT_QPMAP | ||
| 3381 | { | ||
| 3382 | // Reuse existing D3D12_FEATURE_DATA_VIDEO_ENCODER_RESOLUTION_SUPPORT_LIMITS1.QPMapRegionPixelsSize for BlockSize | ||
| 3383 | UINT MapSourcePreferenceRanking; | ||
| 3384 | } D3D12_FEATURE_DATA_VIDEO_ENCODER_RESOLUTION_SUPPORT_QPMAP; | ||
| 3385 | |||
| 3386 | typedef struct D3D12_VIDEO_ENCODER_DIRTY_REGIONS_CONFIGURATION | ||
| 3387 | { | ||
| 3388 | BOOL Enabled; | ||
| 3389 | D3D12_VIDEO_ENCODER_INPUT_MAP_SOURCE MapSource; | ||
| 3390 | D3D12_VIDEO_ENCODER_DIRTY_REGIONS_MAP_VALUES_MODE MapValuesType; | ||
| 3391 | } D3D12_VIDEO_ENCODER_DIRTY_REGIONS_CONFIGURATION; | ||
| 3392 | |||
| 3393 | typedef struct D3D12_FEATURE_DATA_VIDEO_ENCODER_RESOLUTION_SUPPORT_DIRTY_REGIONS | ||
| 3394 | { | ||
| 3395 | D3D12_VIDEO_ENCODER_DIRTY_REGIONS_SUPPORT_FLAGS DirtyRegionsSupportFlags; | ||
| 3396 | UINT MapSourcePreferenceRanking; | ||
| 3397 | } D3D12_FEATURE_DATA_VIDEO_ENCODER_RESOLUTION_SUPPORT_DIRTY_REGIONS; | ||
| 3398 | |||
| 3399 | typedef struct D3D12_VIDEO_ENCODER_MOTION_SEARCH_CONFIGURATION | ||
| 3400 | { | ||
| 3401 | BOOL Enabled; | ||
| 3402 | D3D12_VIDEO_ENCODER_INPUT_MAP_SOURCE MapSource; | ||
| 3403 | D3D12_VIDEO_ENCODER_FRAME_MOTION_SEARCH_MODE MotionSearchMode; | ||
| 3404 | BOOL BidirectionalRefFrameEnabled; | ||
| 3405 | } D3D12_VIDEO_ENCODER_MOTION_SEARCH_CONFIGURATION; | ||
| 3406 | |||
| 3407 | typedef struct D3D12_FEATURE_DATA_VIDEO_ENCODER_RESOLUTION_SUPPORT_MOTION_SEARCH | ||
| 3408 | { | ||
| 3409 | UINT MaxMotionHints; | ||
| 3410 | UINT MinDeviation; | ||
| 3411 | UINT MaxDeviation; | ||
| 3412 | UINT MapSourcePreferenceRanking; | ||
| 3413 | D3D12_VIDEO_ENCODER_FRAME_INPUT_MOTION_UNIT_PRECISION_SUPPORT_FLAGS MotionUnitPrecisionSupportFlags; | ||
| 3414 | D3D12_VIDEO_ENCODER_MOTION_SEARCH_SUPPORT_FLAGS SupportFlags; | ||
| 3415 | } D3D12_FEATURE_DATA_VIDEO_ENCODER_RESOLUTION_SUPPORT_MOTION_SEARCH; | ||
| 3416 | |||
| 3417 | typedef enum D3D12_VIDEO_ENCODER_RATE_CONTROL_FRAME_ANALYSIS_SUPPORT_FLAGS | ||
| 3418 | { | ||
| 3419 | D3D12_VIDEO_ENCODER_RATE_CONTROL_FRAME_ANALYSIS_SUPPORT_FLAG_NONE = 0x0, | ||
| 3420 | D3D12_VIDEO_ENCODER_RATE_CONTROL_FRAME_ANALYSIS_SUPPORT_FLAG_INTRACODED_FRAME_SUPPORTED = 0x1, | ||
| 3421 | D3D12_VIDEO_ENCODER_RATE_CONTROL_FRAME_ANALYSIS_SUPPORT_FLAG_UNIDIR_INTER_FRAME_SUPPORTED = 0x2, | ||
| 3422 | D3D12_VIDEO_ENCODER_RATE_CONTROL_FRAME_ANALYSIS_SUPPORT_FLAG_BIDIR_INTER_FRAME_SUPPORTED = 0x4, | ||
| 3423 | D3D12_VIDEO_ENCODER_RATE_CONTROL_FRAME_ANALYSIS_SUPPORT_FLAG_EXTERNAL_DPB_DOWNSCALING = 0x8, | ||
| 3424 | D3D12_VIDEO_ENCODER_RATE_CONTROL_FRAME_ANALYSIS_SUPPORT_FLAG_DYNAMIC_1ST_PASS_SKIP = 0x10, | ||
| 3425 | D3D12_VIDEO_ENCODER_RATE_CONTROL_FRAME_ANALYSIS_SUPPORT_FLAG_DYNAMIC_DOWNSCALE_FACTOR_CHANGE_KEY_FRAME = 0x20, | ||
| 3426 | |||
| 3427 | D3D12_VIDEO_ENCODER_RATE_CONTROL_FRAME_ANALYSIS_SUPPORT_FLAG_SUPPORTED = | ||
| 3428 | D3D12_VIDEO_ENCODER_RATE_CONTROL_FRAME_ANALYSIS_SUPPORT_FLAG_INTRACODED_FRAME_SUPPORTED | | ||
| 3429 | D3D12_VIDEO_ENCODER_RATE_CONTROL_FRAME_ANALYSIS_SUPPORT_FLAG_UNIDIR_INTER_FRAME_SUPPORTED | | ||
| 3430 | D3D12_VIDEO_ENCODER_RATE_CONTROL_FRAME_ANALYSIS_SUPPORT_FLAG_BIDIR_INTER_FRAME_SUPPORTED, | ||
| 3431 | |||
| 3432 | } D3D12_VIDEO_ENCODER_RATE_CONTROL_FRAME_ANALYSIS_SUPPORT_FLAGS; | ||
| 3433 | cpp_quote("DEFINE_ENUM_FLAG_OPERATORS( D3D12_VIDEO_ENCODER_RATE_CONTROL_FRAME_ANALYSIS_SUPPORT_FLAGS )") | ||
| 3434 | |||
| 3435 | // D3D12_FEATURE_VIDEO_ENCODER_RATE_CONTROL_FRAME_ANALYSIS | ||
| 3436 | typedef struct D3D12_FEATURE_DATA_VIDEO_ENCODER_RATE_CONTROL_FRAME_ANALYSIS | ||
| 3437 | { | ||
| 3438 | UINT NodeIndex; | ||
| 3439 | D3D12_VIDEO_ENCODER_CODEC Codec; | ||
| 3440 | D3D12_VIDEO_ENCODER_PROFILE_DESC Profile; | ||
| 3441 | D3D12_VIDEO_ENCODER_LEVEL_SETTING Level; | ||
| 3442 | DXGI_FORMAT InputFormat; | ||
| 3443 | D3D12_VIDEO_ENCODER_PICTURE_RESOLUTION_DESC InputResolution; | ||
| 3444 | D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION CodecConfiguration; | ||
| 3445 | D3D12_VIDEO_ENCODER_FRAME_SUBREGION_LAYOUT_MODE SubregionFrameEncoding; | ||
| 3446 | D3D12_VIDEO_ENCODER_PICTURE_CONTROL_SUBREGIONS_LAYOUT_DATA SubregionFrameEncodingData; | ||
| 3447 | D3D12_VIDEO_ENCODER_QPMAP_CONFIGURATION QPMap; | ||
| 3448 | D3D12_VIDEO_ENCODER_DIRTY_REGIONS_CONFIGURATION DirtyRegions; | ||
| 3449 | D3D12_VIDEO_ENCODER_MOTION_SEARCH_CONFIGURATION MotionSearch; | ||
| 3450 | UINT Pow2DownscaleFactor; | ||
| 3451 | D3D12_VIDEO_ENCODER_RATE_CONTROL_FRAME_ANALYSIS_SUPPORT_FLAGS SupportFlags; | ||
| 3452 | } D3D12_FEATURE_DATA_VIDEO_ENCODER_RATE_CONTROL_FRAME_ANALYSIS; | ||
| 3453 | |||
| 3454 | typedef struct D3D12_FEATURE_DATA_VIDEO_ENCODER_RESOLUTION_SUPPORT_FRAME_ANALYSIS | ||
| 3455 | { | ||
| 3456 | D3D12_VIDEO_ENCODER_RATE_CONTROL_FRAME_ANALYSIS_SUPPORT_FLAGS SupportFlags; | ||
| 3457 | } D3D12_FEATURE_DATA_VIDEO_ENCODER_RESOLUTION_SUPPORT_FRAME_ANALYSIS; | ||
| 3458 | |||
| 3459 | typedef struct D3D12_FEATURE_DATA_VIDEO_ENCODER_RESOLUTION_SUPPORT_LIMITS1 | ||
| 3460 | { | ||
| 3461 | /* Below match existing D3D12_FEATURE_DATA_VIDEO_ENCODER_RESOLUTION_SUPPORT_LIMITS */ | ||
| 3462 | UINT MaxSubregionsNumber; | ||
| 3463 | UINT MaxIntraRefreshFrameDuration; | ||
| 3464 | UINT SubregionBlockPixelsSize; | ||
| 3465 | UINT QPMapRegionPixelsSize; | ||
| 3466 | |||
| 3467 | /* Below are new arguments for D3D12_FEATURE_DATA_VIDEO_ENCODER_RESOLUTION_SUPPORT_LIMITS1 */ | ||
| 3468 | D3D12_FEATURE_DATA_VIDEO_ENCODER_RESOLUTION_SUPPORT_QPMAP QPMap; | ||
| 3469 | D3D12_FEATURE_DATA_VIDEO_ENCODER_RESOLUTION_SUPPORT_DIRTY_REGIONS DirtyRegions; | ||
| 3470 | D3D12_FEATURE_DATA_VIDEO_ENCODER_RESOLUTION_SUPPORT_MOTION_SEARCH MotionSearch; | ||
| 3471 | D3D12_FEATURE_DATA_VIDEO_ENCODER_RESOLUTION_SUPPORT_FRAME_ANALYSIS FrameAnalysis; | ||
| 3472 | } D3D12_FEATURE_DATA_VIDEO_ENCODER_RESOLUTION_SUPPORT_LIMITS1; | ||
| 3473 | |||
| 3474 | typedef struct D3D12_VIDEO_ENCODER_FRAME_ANALYSIS_CONFIGURATION | ||
| 3475 | { | ||
| 3476 | BOOL Enabled; | ||
| 3477 | UINT Pow2DownscaleFactor; | ||
| 3478 | } D3D12_VIDEO_ENCODER_FRAME_ANALYSIS_CONFIGURATION; | ||
| 3479 | |||
| 3480 | // D3D12_FEATURE_VIDEO_ENCODER_SUPPORT2 | ||
| 3481 | typedef struct D3D12_FEATURE_DATA_VIDEO_ENCODER_SUPPORT2 | ||
| 3482 | { | ||
| 3483 | /* | ||
| 3484 | * Below params match existing D3D12_FEATURE_DATA_VIDEO_ENCODER_SUPPORT1 binary size | ||
| 3485 | * please note pResolutionDependentSupport type changes from D3D12_FEATURE_DATA_VIDEO_ENCODER_RESOLUTION_SUPPORT_LIMITS to D3D12_FEATURE_DATA_VIDEO_ENCODER_RESOLUTION_SUPPORT_LIMITS1 | ||
| 3486 | */ | ||
| 3487 | |||
| 3488 | UINT NodeIndex; | ||
| 3489 | D3D12_VIDEO_ENCODER_CODEC Codec; | ||
| 3490 | DXGI_FORMAT InputFormat; | ||
| 3491 | D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION CodecConfiguration; | ||
| 3492 | D3D12_VIDEO_ENCODER_SEQUENCE_GOP_STRUCTURE CodecGopSequence; | ||
| 3493 | D3D12_VIDEO_ENCODER_RATE_CONTROL RateControl; | ||
| 3494 | D3D12_VIDEO_ENCODER_INTRA_REFRESH_MODE IntraRefresh; | ||
| 3495 | D3D12_VIDEO_ENCODER_FRAME_SUBREGION_LAYOUT_MODE SubregionFrameEncoding; | ||
| 3496 | UINT ResolutionsListCount; | ||
| 3497 | const D3D12_VIDEO_ENCODER_PICTURE_RESOLUTION_DESC* pResolutionList; | ||
| 3498 | UINT MaxReferenceFramesInDPB; | ||
| 3499 | D3D12_VIDEO_ENCODER_VALIDATION_FLAGS ValidationFlags; | ||
| 3500 | D3D12_VIDEO_ENCODER_SUPPORT_FLAGS SupportFlags; | ||
| 3501 | D3D12_VIDEO_ENCODER_PROFILE_DESC SuggestedProfile; | ||
| 3502 | D3D12_VIDEO_ENCODER_LEVEL_SETTING SuggestedLevel; | ||
| 3503 | [annotation("_Field_size_full_(ResolutionsListCount)")] D3D12_FEATURE_DATA_VIDEO_ENCODER_RESOLUTION_SUPPORT_LIMITS1* pResolutionDependentSupport; | ||
| 3504 | D3D12_VIDEO_ENCODER_PICTURE_CONTROL_SUBREGIONS_LAYOUT_DATA SubregionFrameEncodingData; | ||
| 3505 | UINT MaxQualityVsSpeed; | ||
| 3506 | |||
| 3507 | /* Below are new arguments for D3D12_FEATURE_DATA_VIDEO_ENCODER_SUPPORT2 */ | ||
| 3508 | D3D12_VIDEO_ENCODER_QPMAP_CONFIGURATION QPMap; | ||
| 3509 | D3D12_VIDEO_ENCODER_DIRTY_REGIONS_CONFIGURATION DirtyRegions; | ||
| 3510 | D3D12_VIDEO_ENCODER_MOTION_SEARCH_CONFIGURATION MotionSearch; | ||
| 3511 | D3D12_VIDEO_ENCODER_FRAME_ANALYSIS_CONFIGURATION FrameAnalysis; | ||
| 3512 | } D3D12_FEATURE_DATA_VIDEO_ENCODER_SUPPORT2; | ||
| 3513 | |||
| 3514 | typedef struct D3D12_VIDEO_ENCODER_DIRTY_RECT_INFO | ||
| 3515 | { | ||
| 3516 | BOOL FullFrameIdentical; | ||
| 3517 | D3D12_VIDEO_ENCODER_DIRTY_REGIONS_MAP_VALUES_MODE MapValuesType; | ||
| 3518 | UINT NumDirtyRects; | ||
| 3519 | [annotation("_Field_size_full_(NumDirtyRects)")] RECT* pDirtyRects; | ||
| 3520 | UINT SourceDPBFrameReference; | ||
| 3521 | } D3D12_VIDEO_ENCODER_DIRTY_RECT_INFO; | ||
| 3522 | |||
| 3523 | typedef struct D3D12_VIDEO_ENCODER_DIRTY_REGIONS | ||
| 3524 | { | ||
| 3525 | D3D12_VIDEO_ENCODER_INPUT_MAP_SOURCE MapSource; | ||
| 3526 | union | ||
| 3527 | { | ||
| 3528 | // Use with: D3D12_VIDEO_ENCODER_INPUT_MAP_SOURCE_GPU_TEXTURE | ||
| 3529 | ID3D12Resource* pOpaqueLayoutBuffer; | ||
| 3530 | // Use with: D3D12_VIDEO_ENCODER_INPUT_MAP_SOURCE_CPU_BUFFER | ||
| 3531 | D3D12_VIDEO_ENCODER_DIRTY_RECT_INFO* pCPUBuffer; | ||
| 3532 | }; | ||
| 3533 | } D3D12_VIDEO_ENCODER_DIRTY_REGIONS; | ||
| 3534 | |||
| 3535 | typedef struct D3D12_VIDEO_ENCODER_QUANTIZATION_OPAQUE_MAP | ||
| 3536 | { | ||
| 3537 | ID3D12Resource* pOpaqueQuantizationMap; | ||
| 3538 | } D3D12_VIDEO_ENCODER_QUANTIZATION_OPAQUE_MAP; | ||
| 3539 | |||
| 3540 | typedef struct D3D12_VIDEO_ENCODER_FRAME_MOTION_SEARCH_MODE_CONFIG | ||
| 3541 | { | ||
| 3542 | D3D12_VIDEO_ENCODER_FRAME_MOTION_SEARCH_MODE MotionSearchMode; | ||
| 3543 | UINT SearchDeviationLimit; | ||
| 3544 | } D3D12_VIDEO_ENCODER_FRAME_MOTION_SEARCH_MODE_CONFIG; | ||
| 3545 | |||
| 3546 | typedef struct D3D12_VIDEO_ENCODER_MOVE_RECT | ||
| 3547 | { | ||
| 3548 | POINT SourcePoint; | ||
| 3549 | RECT DestRect; | ||
| 3550 | } D3D12_VIDEO_ENCODER_MOVE_RECT; | ||
| 3551 | |||
| 3552 | typedef enum D3D12_VIDEO_ENCODER_MOVEREGION_INFO_FLAGS | ||
| 3553 | { | ||
| 3554 | D3D12_VIDEO_ENCODER_MOVEREGION_INFO_FLAG_NONE = 0x0, | ||
| 3555 | D3D12_VIDEO_ENCODER_MOVEREGION_INFO_FLAG_MULTIPLE_HINTS = 0x1, | ||
| 3556 | } D3D12_VIDEO_ENCODER_MOVEREGION_INFO_FLAGS; | ||
| 3557 | |||
| 3558 | typedef struct D3D12_VIDEO_ENCODER_MOVEREGION_INFO | ||
| 3559 | { | ||
| 3560 | UINT NumMoveRegions; | ||
| 3561 | [annotation("_Field_size_full_(NumMoveRegions)")] D3D12_VIDEO_ENCODER_MOVE_RECT* pMoveRegions; | ||
| 3562 | D3D12_VIDEO_ENCODER_FRAME_MOTION_SEARCH_MODE_CONFIG MotionSearchModeConfiguration; | ||
| 3563 | UINT SourceDPBFrameReference; | ||
| 3564 | D3D12_VIDEO_ENCODER_FRAME_INPUT_MOTION_UNIT_PRECISION MotionUnitPrecision; | ||
| 3565 | D3D12_VIDEO_ENCODER_MOVEREGION_INFO_FLAGS Flags; | ||
| 3566 | } D3D12_VIDEO_ENCODER_MOVEREGION_INFO; | ||
| 3567 | |||
| 3568 | typedef struct D3D12_VIDEO_ENCODER_FRAME_MOTION_VECTORS | ||
| 3569 | { | ||
| 3570 | D3D12_VIDEO_ENCODER_INPUT_MAP_SOURCE MapSource; | ||
| 3571 | union | ||
| 3572 | { | ||
| 3573 | // Use with: D3D12_VIDEO_ENCODER_INPUT_MAP_SOURCE_GPU_TEXTURE | ||
| 3574 | ID3D12Resource* pOpaqueLayoutBuffer; | ||
| 3575 | // Use with: D3D12_VIDEO_ENCODER_INPUT_MAP_SOURCE_CPU_BUFFER | ||
| 3576 | D3D12_VIDEO_ENCODER_MOVEREGION_INFO* pCPUBuffer; | ||
| 3577 | }; | ||
| 3578 | } D3D12_VIDEO_ENCODER_FRAME_MOTION_VECTORS; | ||
| 3579 | |||
| 3580 | typedef struct D3D12_VIDEO_ENCODER_PICTURE_CONTROL_CODEC_DATA_HEVC2 | ||
| 3581 | { | ||
| 3582 | D3D12_VIDEO_ENCODER_PICTURE_CONTROL_CODEC_DATA_HEVC_FLAGS Flags; | ||
| 3583 | D3D12_VIDEO_ENCODER_FRAME_TYPE_HEVC FrameType; | ||
| 3584 | UINT slice_pic_parameter_set_id; | ||
| 3585 | UINT PictureOrderCountNumber; | ||
| 3586 | UINT TemporalLayerIndex; | ||
| 3587 | UINT List0ReferenceFramesCount; | ||
| 3588 | [annotation("_Field_size_full_(List0ReferenceFramesCount)")] UINT* pList0ReferenceFrames; | ||
| 3589 | UINT List1ReferenceFramesCount; | ||
| 3590 | [annotation("_Field_size_full_(List1ReferenceFramesCount)")] UINT* pList1ReferenceFrames; | ||
| 3591 | UINT ReferenceFramesReconPictureDescriptorsCount; | ||
| 3592 | [annotation("_Field_size_full_(ReferenceFramesReconPictureDescriptorsCount)")] D3D12_VIDEO_ENCODER_REFERENCE_PICTURE_DESCRIPTOR_HEVC* pReferenceFramesReconPictureDescriptors; | ||
| 3593 | UINT List0RefPicModificationsCount; | ||
| 3594 | [annotation("_Field_size_full_(List0RefPicModificationsCount)")] UINT* pList0RefPicModifications; | ||
| 3595 | UINT List1RefPicModificationsCount; | ||
| 3596 | [annotation("_Field_size_full_(List1RefPicModificationsCount)")] UINT* pList1RefPicModifications; | ||
| 3597 | UINT QPMapValuesCount; | ||
| 3598 | [annotation("_Field_size_full_(QPMapValuesCount)")] INT8* pRateControlQPMap; | ||
| 3599 | UCHAR diff_cu_chroma_qp_offset_depth; | ||
| 3600 | UCHAR log2_sao_offset_scale_luma; | ||
| 3601 | UCHAR log2_sao_offset_scale_chroma; | ||
| 3602 | UCHAR log2_max_transform_skip_block_size_minus2; | ||
| 3603 | UCHAR chroma_qp_offset_list_len_minus1; | ||
| 3604 | CHAR cb_qp_offset_list[6]; | ||
| 3605 | CHAR cr_qp_offset_list[6]; | ||
| 3606 | UINT num_ref_idx_l0_active_minus1; | ||
| 3607 | UINT num_ref_idx_l1_active_minus1; | ||
| 3608 | } D3D12_VIDEO_ENCODER_PICTURE_CONTROL_CODEC_DATA_HEVC2; | ||
| 3609 | |||
| 3610 | typedef struct D3D12_VIDEO_ENCODER_PICTURE_CONTROL_CODEC_DATA1 | ||
| 3611 | { | ||
| 3612 | UINT DataSize; | ||
| 3613 | union | ||
| 3614 | { | ||
| 3615 | D3D12_VIDEO_ENCODER_PICTURE_CONTROL_CODEC_DATA_H264* pH264PicData; | ||
| 3616 | D3D12_VIDEO_ENCODER_PICTURE_CONTROL_CODEC_DATA_HEVC2* pHEVCPicData; | ||
| 3617 | D3D12_VIDEO_ENCODER_AV1_PICTURE_CONTROL_CODEC_DATA* pAV1PicData; | ||
| 3618 | }; | ||
| 3619 | } D3D12_VIDEO_ENCODER_PICTURE_CONTROL_CODEC_DATA1; | ||
| 3620 | |||
| 3621 | typedef struct D3D12_VIDEO_ENCODER_FRAME_ANALYSIS | ||
| 3622 | { | ||
| 3623 | ID3D12Resource* pDownscaledFrame; | ||
| 3624 | UINT64 Subresource; | ||
| 3625 | D3D12_VIDEO_ENCODE_REFERENCE_FRAMES DownscaledReferences; | ||
| 3626 | } D3D12_VIDEO_ENCODER_FRAME_ANALYSIS; | ||
| 3627 | |||
| 3628 | typedef struct D3D12_VIDEO_ENCODER_PICTURE_CONTROL_DESC1 | ||
| 3629 | { | ||
| 3630 | UINT IntraRefreshFrameIndex; | ||
| 3631 | D3D12_VIDEO_ENCODER_PICTURE_CONTROL_FLAGS Flags; | ||
| 3632 | D3D12_VIDEO_ENCODER_PICTURE_CONTROL_CODEC_DATA1 PictureControlCodecData; | ||
| 3633 | D3D12_VIDEO_ENCODE_REFERENCE_FRAMES ReferenceFrames; | ||
| 3634 | D3D12_VIDEO_ENCODER_FRAME_MOTION_VECTORS MotionVectors; | ||
| 3635 | D3D12_VIDEO_ENCODER_DIRTY_REGIONS DirtyRects; | ||
| 3636 | D3D12_VIDEO_ENCODER_QUANTIZATION_OPAQUE_MAP QuantizationTextureMap; | ||
| 3637 | D3D12_VIDEO_ENCODER_FRAME_ANALYSIS FrameAnalysis; | ||
| 3638 | } D3D12_VIDEO_ENCODER_PICTURE_CONTROL_DESC1; | ||
| 3639 | |||
| 3640 | typedef struct D3D12_VIDEO_ENCODER_ENCODEFRAME_INPUT_ARGUMENTS1 | ||
| 3641 | { | ||
| 3642 | D3D12_VIDEO_ENCODER_SEQUENCE_CONTROL_DESC SequenceControlDesc; | ||
| 3643 | D3D12_VIDEO_ENCODER_PICTURE_CONTROL_DESC1 PictureControlDesc; | ||
| 3644 | ID3D12Resource* pInputFrame; | ||
| 3645 | UINT InputFrameSubresource; | ||
| 3646 | UINT CurrentFrameBitstreamMetadataSize; | ||
| 3647 | D3D12_VIDEO_ENCODER_OPTIONAL_METADATA_ENABLE_FLAGS OptionalMetadata; | ||
| 3648 | } D3D12_VIDEO_ENCODER_ENCODEFRAME_INPUT_ARGUMENTS1; | ||
| 3649 | |||
| 3650 | typedef enum D3D12_VIDEO_ENCODER_SUBREGION_COMPRESSED_BITSTREAM_BUFFER_MODE | ||
| 3651 | { | ||
| 3652 | D3D12_VIDEO_ENCODER_SUBREGION_COMPRESSED_BITSTREAM_BUFFER_MODE_ARRAY_OF_BUFFERS = 0, | ||
| 3653 | D3D12_VIDEO_ENCODER_SUBREGION_COMPRESSED_BITSTREAM_BUFFER_MODE_SINGLE_BUFFER = 1, | ||
| 3654 | } D3D12_VIDEO_ENCODER_SUBREGION_COMPRESSED_BITSTREAM_BUFFER_MODE; | ||
| 3655 | |||
| 3656 | typedef struct D3D12_VIDEO_ENCODER_SUBREGION_COMPRESSED_BITSTREAM | ||
| 3657 | { | ||
| 3658 | D3D12_VIDEO_ENCODER_SUBREGION_COMPRESSED_BITSTREAM_BUFFER_MODE BufferMode; | ||
| 3659 | UINT ExpectedSubregionCount; | ||
| 3660 | UINT64* pSubregionBitstreamsBaseOffsets; | ||
| 3661 | ID3D12Resource** ppSubregionBitstreams; | ||
| 3662 | ID3D12Resource** ppSubregionSizes; | ||
| 3663 | ID3D12Resource** ppSubregionOffsets; | ||
| 3664 | ID3D12Fence** ppSubregionFences; | ||
| 3665 | UINT64* pSubregionFenceValues; | ||
| 3666 | } D3D12_VIDEO_ENCODER_SUBREGION_COMPRESSED_BITSTREAM; | ||
| 3667 | |||
| 3668 | typedef enum D3D12_VIDEO_ENCODER_COMPRESSED_BITSTREAM_NOTIFICATION_MODE | ||
| 3669 | { | ||
| 3670 | D3D12_VIDEO_ENCODER_COMPRESSED_BITSTREAM_NOTIFICATION_MODE_FULL_FRAME = 0, | ||
| 3671 | D3D12_VIDEO_ENCODER_COMPRESSED_BITSTREAM_NOTIFICATION_MODE_SUBREGIONS = 1, | ||
| 3672 | } D3D12_VIDEO_ENCODER_COMPRESSED_BITSTREAM_NOTIFICATION_MODE; | ||
| 3673 | |||
| 3674 | typedef struct D3D12_VIDEO_ENCODER_COMPRESSED_BITSTREAM1 | ||
| 3675 | { | ||
| 3676 | D3D12_VIDEO_ENCODER_COMPRESSED_BITSTREAM_NOTIFICATION_MODE NotificationMode; | ||
| 3677 | union | ||
| 3678 | { | ||
| 3679 | D3D12_VIDEO_ENCODER_COMPRESSED_BITSTREAM FrameOutputBuffer; | ||
| 3680 | D3D12_VIDEO_ENCODER_SUBREGION_COMPRESSED_BITSTREAM SubregionOutputBuffers; | ||
| 3681 | }; | ||
| 3682 | } D3D12_VIDEO_ENCODER_COMPRESSED_BITSTREAM1; | ||
| 3683 | |||
| 3684 | typedef struct D3D12_VIDEO_ENCODER_ENCODEFRAME_OUTPUT_ARGUMENTS1 | ||
| 3685 | { | ||
| 3686 | D3D12_VIDEO_ENCODER_COMPRESSED_BITSTREAM1 Bitstream; | ||
| 3687 | D3D12_VIDEO_ENCODER_RECONSTRUCTED_PICTURE ReconstructedPicture; | ||
| 3688 | D3D12_VIDEO_ENCODER_ENCODE_OPERATION_METADATA_BUFFER EncoderOutputMetadata; | ||
| 3689 | D3D12_VIDEO_ENCODER_RECONSTRUCTED_PICTURE FrameAnalysisReconstructedPicture; | ||
| 3690 | } D3D12_VIDEO_ENCODER_ENCODEFRAME_OUTPUT_ARGUMENTS1; | ||
| 3691 | |||
| 3692 | typedef struct D3D12_VIDEO_ENCODER_RESOLVE_METADATA_INPUT_ARGUMENTS1 | ||
| 3693 | { | ||
| 3694 | D3D12_VIDEO_ENCODER_CODEC EncoderCodec; | ||
| 3695 | D3D12_VIDEO_ENCODER_PROFILE_DESC EncoderProfile; | ||
| 3696 | DXGI_FORMAT EncoderInputFormat; | ||
| 3697 | D3D12_VIDEO_ENCODER_PICTURE_RESOLUTION_DESC EncodedPictureEffectiveResolution; | ||
| 3698 | D3D12_VIDEO_ENCODER_ENCODE_OPERATION_METADATA_BUFFER HWLayoutMetadata; | ||
| 3699 | D3D12_VIDEO_ENCODER_OPTIONAL_METADATA_ENABLE_FLAGS OptionalMetadata; | ||
| 3700 | D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION CodecConfiguration; | ||
| 3701 | } D3D12_VIDEO_ENCODER_RESOLVE_METADATA_INPUT_ARGUMENTS1; | ||
| 3702 | |||
| 3703 | typedef struct D3D12_VIDEO_ENCODER_RESOLVE_METADATA_OUTPUT_ARGUMENTS1 | ||
| 3704 | { | ||
| 3705 | D3D12_VIDEO_ENCODER_ENCODE_OPERATION_METADATA_BUFFER ResolvedLayoutMetadata; | ||
| 3706 | ID3D12Resource* pOutputQPMap; | ||
| 3707 | ID3D12Resource* pOutputSATDMap; | ||
| 3708 | ID3D12Resource* pOutputBitAllocationMap; | ||
| 3709 | D3D12_VIDEO_ENCODER_ENCODE_OPERATION_METADATA_BUFFER ResolvedFramePSNRData; | ||
| 3710 | D3D12_VIDEO_ENCODER_ENCODE_OPERATION_METADATA_BUFFER ResolvedSubregionsPSNRData; | ||
| 3711 | } D3D12_VIDEO_ENCODER_RESOLVE_METADATA_OUTPUT_ARGUMENTS1; | ||
| 3712 | |||
| 3713 | typedef struct D3D12_VIDEO_ENCODER_INPUT_MAP_DATA_QUANTIZATION_MATRIX | ||
| 3714 | { | ||
| 3715 | ID3D12Resource* pQuantizationMap; | ||
| 3716 | } D3D12_VIDEO_ENCODER_INPUT_MAP_DATA_QUANTIZATION_MATRIX; | ||
| 3717 | |||
| 3718 | typedef struct D3D12_VIDEO_ENCODER_INPUT_MAP_DATA_DIRTY_REGIONS | ||
| 3719 | { | ||
| 3720 | BOOL FullFrameIdentical; | ||
| 3721 | D3D12_VIDEO_ENCODER_DIRTY_REGIONS_MAP_VALUES_MODE MapValuesType; | ||
| 3722 | ID3D12Resource* pDirtyRegionsMap; | ||
| 3723 | UINT SourceDPBFrameReference; | ||
| 3724 | } D3D12_VIDEO_ENCODER_INPUT_MAP_DATA_DIRTY_REGIONS; | ||
| 3725 | |||
| 3726 | typedef struct D3D12_VIDEO_ENCODER_INPUT_MAP_DATA_MOTION_VECTORS | ||
| 3727 | { | ||
| 3728 | D3D12_VIDEO_ENCODER_FRAME_MOTION_SEARCH_MODE_CONFIG MotionSearchModeConfiguration; | ||
| 3729 | UINT NumHintsPerPixel; | ||
| 3730 | [annotation("_Field_size_full_(NumHintsPerPixel)")] ID3D12Resource** ppMotionVectorMaps; | ||
| 3731 | [annotation("_Field_size_full_(NumHintsPerPixel)")] UINT* pMotionVectorMapsSubresources; | ||
| 3732 | [annotation("_Field_size_full_(NumHintsPerPixel)")] ID3D12Resource** ppMotionVectorMapsMetadata; | ||
| 3733 | [annotation("_Field_size_full_(NumHintsPerPixel)")] UINT* pMotionVectorMapsMetadataSubresources; | ||
| 3734 | D3D12_VIDEO_ENCODER_FRAME_INPUT_MOTION_UNIT_PRECISION MotionUnitPrecision; | ||
| 3735 | D3D12_VIDEO_ENCODER_PICTURE_CONTROL_CODEC_DATA1 PictureControlConfiguration; | ||
| 3736 | } D3D12_VIDEO_ENCODER_INPUT_MAP_DATA_MOTION_VECTORS; | ||
| 3737 | |||
| 3738 | typedef struct D3D12_VIDEO_ENCODER_INPUT_MAP_DATA | ||
| 3739 | { | ||
| 3740 | D3D12_VIDEO_ENCODER_INPUT_MAP_TYPE MapType; | ||
| 3741 | union | ||
| 3742 | { | ||
| 3743 | // For MapType: D3D12_VIDEO_ENCODER_INPUT_MAP_TYPE_QUANTIZATION_MATRIX | ||
| 3744 | D3D12_VIDEO_ENCODER_INPUT_MAP_DATA_QUANTIZATION_MATRIX Quantization; | ||
| 3745 | // For MapType: D3D12_VIDEO_ENCODER_INPUT_MAP_TYPE_DIRTY_REGIONS | ||
| 3746 | D3D12_VIDEO_ENCODER_INPUT_MAP_DATA_DIRTY_REGIONS DirtyRegions; | ||
| 3747 | // For MapType: D3D12_VIDEO_ENCODER_INPUT_MAP_TYPE_MOTION_VECTORS | ||
| 3748 | D3D12_VIDEO_ENCODER_INPUT_MAP_DATA_MOTION_VECTORS MotionVectors; | ||
| 3749 | }; | ||
| 3750 | } D3D12_VIDEO_ENCODER_INPUT_MAP_DATA; | ||
| 3751 | |||
| 3752 | typedef struct D3D12_VIDEO_ENCODER_RESOLVE_INPUT_PARAM_LAYOUT_INPUT_ARGUMENTS | ||
| 3753 | { | ||
| 3754 | D3D12_VIDEO_ENCODER_INPUT_MAP_SESSION_INFO SessionInfo; | ||
| 3755 | D3D12_VIDEO_ENCODER_INPUT_MAP_DATA InputData; | ||
| 3756 | } D3D12_VIDEO_ENCODER_RESOLVE_INPUT_PARAM_LAYOUT_INPUT_ARGUMENTS; | ||
| 3757 | |||
| 3758 | typedef struct D3D12_VIDEO_ENCODER_RESOLVE_INPUT_PARAM_LAYOUT_OUTPUT_ARGUMENTS | ||
| 3759 | { | ||
| 3760 | ID3D12Resource* pOpaqueLayoutBuffer; | ||
| 3761 | } D3D12_VIDEO_ENCODER_RESOLVE_INPUT_PARAM_LAYOUT_OUTPUT_ARGUMENTS; | ||
| 3762 | |||
| 3763 | // Change this interface UUID when changing the base class in the inheritance | ||
| 3764 | [uuid(69aeb5b7-55f2-4012-8b73-3a88d65a204c), object, local, pointer_default(unique)] | ||
| 3765 | interface ID3D12VideoEncodeCommandList4 | ||
| 3766 | : ID3D12VideoEncodeCommandList3 | ||
| 3767 | { | ||
| 3768 | void EncodeFrame1( | ||
| 3769 | [annotation("_In_")] ID3D12VideoEncoder* pEncoder, | ||
| 3770 | [annotation("_In_")] ID3D12VideoEncoderHeap1* pHeap, | ||
| 3771 | [annotation("_In_")] const D3D12_VIDEO_ENCODER_ENCODEFRAME_INPUT_ARGUMENTS1* pInputArguments, | ||
| 3772 | [annotation("_In_")] const D3D12_VIDEO_ENCODER_ENCODEFRAME_OUTPUT_ARGUMENTS1* pOutputArguments); | ||
| 3773 | |||
| 3774 | void ResolveEncoderOutputMetadata1( | ||
| 3775 | [annotation("_In_")] const D3D12_VIDEO_ENCODER_RESOLVE_METADATA_INPUT_ARGUMENTS1* pInputArguments, | ||
| 3776 | [annotation("_In_")] const D3D12_VIDEO_ENCODER_RESOLVE_METADATA_OUTPUT_ARGUMENTS1* pOutputArguments); | ||
| 3777 | |||
| 3778 | void ResolveInputParamLayout( | ||
| 3779 | [annotation("_In_")] const D3D12_VIDEO_ENCODER_RESOLVE_INPUT_PARAM_LAYOUT_INPUT_ARGUMENTS* pInputArguments, | ||
| 3780 | [annotation("_In_")] const D3D12_VIDEO_ENCODER_RESOLVE_INPUT_PARAM_LAYOUT_OUTPUT_ARGUMENTS* pOutputArguments); | ||
| 3781 | } | ||
| 3782 | |||
| 3783 | |||
| 3784 | |||
| 3785 | cpp_quote("#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP | WINAPI_PARTITION_GAMES) */") | ||
| 3786 | #pragma endregion | ||
| 3787 | |||
| 3788 | |||
| 3789 | cpp_quote( "DEFINE_GUID(IID_ID3D12VideoDecoderHeap,0x0946B7C9,0xEBF6,0x4047,0xBB,0x73,0x86,0x83,0xE2,0x7D,0xBB,0x1F);" ) | ||
| 3790 | cpp_quote( "DEFINE_GUID(IID_ID3D12VideoDevice,0x1F052807,0x0B46,0x4ACC,0x8A,0x89,0x36,0x4F,0x79,0x37,0x18,0xA4);" ) | ||
| 3791 | cpp_quote( "DEFINE_GUID(IID_ID3D12VideoDecoder,0xC59B6BDC,0x7720,0x4074,0xA1,0x36,0x17,0xA1,0x56,0x03,0x74,0x70);" ) | ||
| 3792 | cpp_quote( "DEFINE_GUID(IID_ID3D12VideoProcessor,0x304FDB32,0xBEDE,0x410A,0x85,0x45,0x94,0x3A,0xC6,0xA4,0x61,0x38);" ) | ||
| 3793 | cpp_quote( "DEFINE_GUID(IID_ID3D12VideoDecodeCommandList,0x3B60536E,0xAD29,0x4E64,0xA2,0x69,0xF8,0x53,0x83,0x7E,0x5E,0x53);" ) | ||
| 3794 | cpp_quote( "DEFINE_GUID(IID_ID3D12VideoProcessCommandList,0xAEB2543A,0x167F,0x4682,0xAC,0xC8,0xD1,0x59,0xED,0x4A,0x62,0x09);" ) | ||
| 3795 | cpp_quote( "DEFINE_GUID(IID_ID3D12VideoDecodeCommandList1,0xD52F011B,0xB56E,0x453C,0xA0,0x5A,0xA7,0xF3,0x11,0xC8,0xF4,0x72);" ) | ||
| 3796 | cpp_quote( "DEFINE_GUID(IID_ID3D12VideoProcessCommandList1,0x542C5C4D,0x7596,0x434F,0x8C,0x93,0x4E,0xFA,0x67,0x66,0xF2,0x67);" ) | ||
| 3797 | cpp_quote( "DEFINE_GUID(IID_ID3D12VideoMotionEstimator,0x33FDAE0E,0x098B,0x428F,0x87,0xBB,0x34,0xB6,0x95,0xDE,0x08,0xF8);" ) | ||
| 3798 | cpp_quote( "DEFINE_GUID(IID_ID3D12VideoMotionVectorHeap,0x5BE17987,0x743A,0x4061,0x83,0x4B,0x23,0xD2,0x2D,0xAE,0xA5,0x05);" ) | ||
| 3799 | cpp_quote( "DEFINE_GUID(IID_ID3D12VideoDevice1,0x981611AD,0xA144,0x4C83,0x98,0x90,0xF3,0x0E,0x26,0xD6,0x58,0xAB);" ) | ||
| 3800 | cpp_quote( "DEFINE_GUID(IID_ID3D12VideoEncodeCommandList,0x8455293A,0x0CBD,0x4831,0x9B,0x39,0xFB,0xDB,0xAB,0x72,0x47,0x23);" ) | ||
| 3801 | cpp_quote( "DEFINE_GUID(IID_ID3D12VideoDecoder1,0x79A2E5FB,0xCCD2,0x469A,0x9F,0xDE,0x19,0x5D,0x10,0x95,0x1F,0x7E);" ) | ||
| 3802 | cpp_quote( "DEFINE_GUID(IID_ID3D12VideoDecoderHeap1,0xDA1D98C5,0x539F,0x41B2,0xBF,0x6B,0x11,0x98,0xA0,0x3B,0x6D,0x26);" ) | ||
| 3803 | cpp_quote( "DEFINE_GUID(IID_ID3D12VideoProcessor1,0xF3CFE615,0x553F,0x425C,0x86,0xD8,0xEE,0x8C,0x1B,0x1F,0xB0,0x1C);" ) | ||
| 3804 | cpp_quote( "DEFINE_GUID(IID_ID3D12VideoExtensionCommand,0x554E41E8,0xAE8E,0x4A8C,0xB7,0xD2,0x5B,0x4F,0x27,0x4A,0x30,0xE4);" ) | ||
| 3805 | cpp_quote( "DEFINE_GUID(IID_ID3D12VideoDevice2,0xF019AC49,0xF838,0x4A95,0x9B,0x17,0x57,0x94,0x37,0xC8,0xF5,0x13);" ) | ||
| 3806 | cpp_quote( "DEFINE_GUID(IID_ID3D12VideoDecodeCommandList2,0x6e120880,0xc114,0x4153,0x80,0x36,0xd2,0x47,0x05,0x1e,0x17,0x29);" ) | ||
| 3807 | cpp_quote( "DEFINE_GUID(IID_ID3D12VideoDecodeCommandList3,0x2aee8c37,0x9562,0x42da,0x8a,0xbf,0x61,0xef,0xeb,0x2e,0x45,0x13);" ) | ||
| 3808 | cpp_quote( "DEFINE_GUID(IID_ID3D12VideoProcessCommandList2,0xdb525ae4,0x6ad6,0x473c,0xba,0xa7,0x59,0xb2,0xe3,0x70,0x82,0xe4);" ) | ||
| 3809 | cpp_quote( "DEFINE_GUID(IID_ID3D12VideoProcessCommandList3,0x1a0a4ca4,0x9f08,0x40ce,0x95,0x58,0xb4,0x11,0xfd,0x26,0x66,0xff);" ) | ||
| 3810 | cpp_quote( "DEFINE_GUID(IID_ID3D12VideoEncodeCommandList1,0x94971eca,0x2bdb,0x4769,0x88,0xcf,0x36,0x75,0xea,0x75,0x7e,0xbc);" ) | ||
| 3811 | cpp_quote( "DEFINE_GUID(IID_ID3D12VideoEncoder,0x2E0D212D,0x8DF9,0x44A6,0xA7,0x70,0xBB,0x28,0x9B,0x18,0x27,0x37);" ) | ||
| 3812 | cpp_quote( "DEFINE_GUID(IID_ID3D12VideoEncoderHeap,0x22B35D96,0x876A,0x44C0,0xB2,0x5E,0xFB,0x8C,0x9C,0x7F,0x1C,0x4A);" ) | ||
| 3813 | cpp_quote( "DEFINE_GUID(IID_ID3D12VideoDevice3,0x4243ADB4,0x3A32,0x4666,0x97,0x3C,0x0C,0xCC,0x56,0x25,0xDC,0x44);" ) | ||
| 3814 | cpp_quote( "DEFINE_GUID(IID_ID3D12VideoEncodeCommandList2,0x895491e2,0xe701,0x46a9,0x9a,0x1f,0x8d,0x34,0x80,0xed,0x86,0x7a);" ) | ||
| 3815 | cpp_quote( "DEFINE_GUID(IID_ID3D12VideoEncodeCommandList3,0x7f027b22,0x1515,0x4e85,0xaa,0x0d,0x02,0x64,0x86,0x58,0x05,0x76);" ) | ||
| 3816 | cpp_quote( "DEFINE_GUID(IID_ID3D12VideoEncoderHeap1,0xea8f1968,0x4aa0,0x43a4,0x9d,0x30,0xba,0x86,0xec,0x84,0xd4,0xf9);" ) | ||
| 3817 | cpp_quote( "DEFINE_GUID(IID_ID3D12VideoDevice4,0xe59ad09e,0xf1ae,0x42bb,0x89,0x83,0x9f,0x6e,0x55,0x86,0xc4,0xeb);" ) | ||
| 3818 | cpp_quote( "DEFINE_GUID(IID_ID3D12VideoEncodeCommandList4,0x69aeb5b7,0x55f2,0x4012,0x8b,0x73,0x3a,0x88,0xd6,0x5a,0x20,0x4c);" ) | ||
diff --git a/contrib/microsoft.direct3d.d3d12.1.618.4/build/native/include/d3dcommon.h b/contrib/microsoft.direct3d.d3d12.1.618.4/build/native/include/d3dcommon.h new file mode 100644 index 0000000..2e2418d --- /dev/null +++ b/contrib/microsoft.direct3d.d3d12.1.618.4/build/native/include/d3dcommon.h | |||
| @@ -0,0 +1,1133 @@ | |||
| 1 | /*------------------------------------------------------------------------------------- | ||
| 2 | * | ||
| 3 | * Copyright (c) Microsoft Corporation | ||
| 4 | * Licensed under the MIT license | ||
| 5 | * | ||
| 6 | *-------------------------------------------------------------------------------------*/ | ||
| 7 | |||
| 8 | |||
| 9 | /* this ALWAYS GENERATED file contains the definitions for the interfaces */ | ||
| 10 | |||
| 11 | |||
| 12 | /* File created by MIDL compiler version 8.01.0628 */ | ||
| 13 | /* @@MIDL_FILE_HEADING( ) */ | ||
| 14 | |||
| 15 | |||
| 16 | |||
| 17 | /* verify that the <rpcndr.h> version is high enough to compile this file*/ | ||
| 18 | #ifndef __REQUIRED_RPCNDR_H_VERSION__ | ||
| 19 | #define __REQUIRED_RPCNDR_H_VERSION__ 500 | ||
| 20 | #endif | ||
| 21 | |||
| 22 | /* verify that the <rpcsal.h> version is high enough to compile this file*/ | ||
| 23 | #ifndef __REQUIRED_RPCSAL_H_VERSION__ | ||
| 24 | #define __REQUIRED_RPCSAL_H_VERSION__ 100 | ||
| 25 | #endif | ||
| 26 | |||
| 27 | #include "rpc.h" | ||
| 28 | #include "rpcndr.h" | ||
| 29 | |||
| 30 | #ifndef __RPCNDR_H_VERSION__ | ||
| 31 | #error this stub requires an updated version of <rpcndr.h> | ||
| 32 | #endif /* __RPCNDR_H_VERSION__ */ | ||
| 33 | |||
| 34 | #ifndef COM_NO_WINDOWS_H | ||
| 35 | #include "windows.h" | ||
| 36 | #include "ole2.h" | ||
| 37 | #endif /*COM_NO_WINDOWS_H*/ | ||
| 38 | |||
| 39 | #ifndef __d3dcommon_h__ | ||
| 40 | #define __d3dcommon_h__ | ||
| 41 | |||
| 42 | #if defined(_MSC_VER) && (_MSC_VER >= 1020) | ||
| 43 | #pragma once | ||
| 44 | #endif | ||
| 45 | |||
| 46 | #ifndef DECLSPEC_XFGVIRT | ||
| 47 | #if defined(_CONTROL_FLOW_GUARD_XFG) | ||
| 48 | #define DECLSPEC_XFGVIRT(base, func) __declspec(xfg_virtual(base, func)) | ||
| 49 | #else | ||
| 50 | #define DECLSPEC_XFGVIRT(base, func) | ||
| 51 | #endif | ||
| 52 | #endif | ||
| 53 | |||
| 54 | /* Forward Declarations */ | ||
| 55 | |||
| 56 | #ifndef __ID3D10Blob_FWD_DEFINED__ | ||
| 57 | #define __ID3D10Blob_FWD_DEFINED__ | ||
| 58 | typedef interface ID3D10Blob ID3D10Blob; | ||
| 59 | |||
| 60 | #endif /* __ID3D10Blob_FWD_DEFINED__ */ | ||
| 61 | |||
| 62 | |||
| 63 | #ifndef __ID3DDestructionNotifier_FWD_DEFINED__ | ||
| 64 | #define __ID3DDestructionNotifier_FWD_DEFINED__ | ||
| 65 | typedef interface ID3DDestructionNotifier ID3DDestructionNotifier; | ||
| 66 | |||
| 67 | #endif /* __ID3DDestructionNotifier_FWD_DEFINED__ */ | ||
| 68 | |||
| 69 | |||
| 70 | /* header files for imported files */ | ||
| 71 | #include "oaidl.h" | ||
| 72 | #include "ocidl.h" | ||
| 73 | |||
| 74 | #ifdef __cplusplus | ||
| 75 | extern "C"{ | ||
| 76 | #endif | ||
| 77 | |||
| 78 | |||
| 79 | /* interface __MIDL_itf_d3dcommon_0000_0000 */ | ||
| 80 | /* [local] */ | ||
| 81 | |||
| 82 | typedef | ||
| 83 | enum D3D_DRIVER_TYPE | ||
| 84 | { | ||
| 85 | D3D_DRIVER_TYPE_UNKNOWN = 0, | ||
| 86 | D3D_DRIVER_TYPE_HARDWARE = ( D3D_DRIVER_TYPE_UNKNOWN + 1 ) , | ||
| 87 | D3D_DRIVER_TYPE_REFERENCE = ( D3D_DRIVER_TYPE_HARDWARE + 1 ) , | ||
| 88 | D3D_DRIVER_TYPE_NULL = ( D3D_DRIVER_TYPE_REFERENCE + 1 ) , | ||
| 89 | D3D_DRIVER_TYPE_SOFTWARE = ( D3D_DRIVER_TYPE_NULL + 1 ) , | ||
| 90 | D3D_DRIVER_TYPE_WARP = ( D3D_DRIVER_TYPE_SOFTWARE + 1 ) | ||
| 91 | } D3D_DRIVER_TYPE; | ||
| 92 | |||
| 93 | typedef | ||
| 94 | enum D3D_FEATURE_LEVEL | ||
| 95 | { | ||
| 96 | D3D_FEATURE_LEVEL_1_0_GENERIC = 0x100, | ||
| 97 | D3D_FEATURE_LEVEL_1_0_CORE = 0x1000, | ||
| 98 | D3D_FEATURE_LEVEL_9_1 = 0x9100, | ||
| 99 | D3D_FEATURE_LEVEL_9_2 = 0x9200, | ||
| 100 | D3D_FEATURE_LEVEL_9_3 = 0x9300, | ||
| 101 | D3D_FEATURE_LEVEL_10_0 = 0xa000, | ||
| 102 | D3D_FEATURE_LEVEL_10_1 = 0xa100, | ||
| 103 | D3D_FEATURE_LEVEL_11_0 = 0xb000, | ||
| 104 | D3D_FEATURE_LEVEL_11_1 = 0xb100, | ||
| 105 | D3D_FEATURE_LEVEL_12_0 = 0xc000, | ||
| 106 | D3D_FEATURE_LEVEL_12_1 = 0xc100, | ||
| 107 | D3D_FEATURE_LEVEL_12_2 = 0xc200 | ||
| 108 | } D3D_FEATURE_LEVEL; | ||
| 109 | |||
| 110 | #define D3D_FL9_1_REQ_TEXTURE1D_U_DIMENSION 2048 | ||
| 111 | #define D3D_FL9_3_REQ_TEXTURE1D_U_DIMENSION 4096 | ||
| 112 | #define D3D_FL9_1_REQ_TEXTURE2D_U_OR_V_DIMENSION 2048 | ||
| 113 | #define D3D_FL9_3_REQ_TEXTURE2D_U_OR_V_DIMENSION 4096 | ||
| 114 | #define D3D_FL9_1_REQ_TEXTURECUBE_DIMENSION 512 | ||
| 115 | #define D3D_FL9_3_REQ_TEXTURECUBE_DIMENSION 4096 | ||
| 116 | #define D3D_FL9_1_REQ_TEXTURE3D_U_V_OR_W_DIMENSION 256 | ||
| 117 | #define D3D_FL9_1_DEFAULT_MAX_ANISOTROPY 2 | ||
| 118 | #define D3D_FL9_1_IA_PRIMITIVE_MAX_COUNT 65535 | ||
| 119 | #define D3D_FL9_2_IA_PRIMITIVE_MAX_COUNT 1048575 | ||
| 120 | #define D3D_FL9_1_SIMULTANEOUS_RENDER_TARGET_COUNT 1 | ||
| 121 | #define D3D_FL9_3_SIMULTANEOUS_RENDER_TARGET_COUNT 4 | ||
| 122 | #define D3D_FL9_1_MAX_TEXTURE_REPEAT 128 | ||
| 123 | #define D3D_FL9_2_MAX_TEXTURE_REPEAT 2048 | ||
| 124 | #define D3D_FL9_3_MAX_TEXTURE_REPEAT 8192 | ||
| 125 | typedef | ||
| 126 | enum D3D_PRIMITIVE_TOPOLOGY | ||
| 127 | { | ||
| 128 | D3D_PRIMITIVE_TOPOLOGY_UNDEFINED = 0, | ||
| 129 | D3D_PRIMITIVE_TOPOLOGY_POINTLIST = 1, | ||
| 130 | D3D_PRIMITIVE_TOPOLOGY_LINELIST = 2, | ||
| 131 | D3D_PRIMITIVE_TOPOLOGY_LINESTRIP = 3, | ||
| 132 | D3D_PRIMITIVE_TOPOLOGY_TRIANGLELIST = 4, | ||
| 133 | D3D_PRIMITIVE_TOPOLOGY_TRIANGLESTRIP = 5, | ||
| 134 | D3D_PRIMITIVE_TOPOLOGY_TRIANGLEFAN = 6, | ||
| 135 | D3D_PRIMITIVE_TOPOLOGY_LINELIST_ADJ = 10, | ||
| 136 | D3D_PRIMITIVE_TOPOLOGY_LINESTRIP_ADJ = 11, | ||
| 137 | D3D_PRIMITIVE_TOPOLOGY_TRIANGLELIST_ADJ = 12, | ||
| 138 | D3D_PRIMITIVE_TOPOLOGY_TRIANGLESTRIP_ADJ = 13, | ||
| 139 | D3D_PRIMITIVE_TOPOLOGY_1_CONTROL_POINT_PATCHLIST = 33, | ||
| 140 | D3D_PRIMITIVE_TOPOLOGY_2_CONTROL_POINT_PATCHLIST = 34, | ||
| 141 | D3D_PRIMITIVE_TOPOLOGY_3_CONTROL_POINT_PATCHLIST = 35, | ||
| 142 | D3D_PRIMITIVE_TOPOLOGY_4_CONTROL_POINT_PATCHLIST = 36, | ||
| 143 | D3D_PRIMITIVE_TOPOLOGY_5_CONTROL_POINT_PATCHLIST = 37, | ||
| 144 | D3D_PRIMITIVE_TOPOLOGY_6_CONTROL_POINT_PATCHLIST = 38, | ||
| 145 | D3D_PRIMITIVE_TOPOLOGY_7_CONTROL_POINT_PATCHLIST = 39, | ||
| 146 | D3D_PRIMITIVE_TOPOLOGY_8_CONTROL_POINT_PATCHLIST = 40, | ||
| 147 | D3D_PRIMITIVE_TOPOLOGY_9_CONTROL_POINT_PATCHLIST = 41, | ||
| 148 | D3D_PRIMITIVE_TOPOLOGY_10_CONTROL_POINT_PATCHLIST = 42, | ||
| 149 | D3D_PRIMITIVE_TOPOLOGY_11_CONTROL_POINT_PATCHLIST = 43, | ||
| 150 | D3D_PRIMITIVE_TOPOLOGY_12_CONTROL_POINT_PATCHLIST = 44, | ||
| 151 | D3D_PRIMITIVE_TOPOLOGY_13_CONTROL_POINT_PATCHLIST = 45, | ||
| 152 | D3D_PRIMITIVE_TOPOLOGY_14_CONTROL_POINT_PATCHLIST = 46, | ||
| 153 | D3D_PRIMITIVE_TOPOLOGY_15_CONTROL_POINT_PATCHLIST = 47, | ||
| 154 | D3D_PRIMITIVE_TOPOLOGY_16_CONTROL_POINT_PATCHLIST = 48, | ||
| 155 | D3D_PRIMITIVE_TOPOLOGY_17_CONTROL_POINT_PATCHLIST = 49, | ||
| 156 | D3D_PRIMITIVE_TOPOLOGY_18_CONTROL_POINT_PATCHLIST = 50, | ||
| 157 | D3D_PRIMITIVE_TOPOLOGY_19_CONTROL_POINT_PATCHLIST = 51, | ||
| 158 | D3D_PRIMITIVE_TOPOLOGY_20_CONTROL_POINT_PATCHLIST = 52, | ||
| 159 | D3D_PRIMITIVE_TOPOLOGY_21_CONTROL_POINT_PATCHLIST = 53, | ||
| 160 | D3D_PRIMITIVE_TOPOLOGY_22_CONTROL_POINT_PATCHLIST = 54, | ||
| 161 | D3D_PRIMITIVE_TOPOLOGY_23_CONTROL_POINT_PATCHLIST = 55, | ||
| 162 | D3D_PRIMITIVE_TOPOLOGY_24_CONTROL_POINT_PATCHLIST = 56, | ||
| 163 | D3D_PRIMITIVE_TOPOLOGY_25_CONTROL_POINT_PATCHLIST = 57, | ||
| 164 | D3D_PRIMITIVE_TOPOLOGY_26_CONTROL_POINT_PATCHLIST = 58, | ||
| 165 | D3D_PRIMITIVE_TOPOLOGY_27_CONTROL_POINT_PATCHLIST = 59, | ||
| 166 | D3D_PRIMITIVE_TOPOLOGY_28_CONTROL_POINT_PATCHLIST = 60, | ||
| 167 | D3D_PRIMITIVE_TOPOLOGY_29_CONTROL_POINT_PATCHLIST = 61, | ||
| 168 | D3D_PRIMITIVE_TOPOLOGY_30_CONTROL_POINT_PATCHLIST = 62, | ||
| 169 | D3D_PRIMITIVE_TOPOLOGY_31_CONTROL_POINT_PATCHLIST = 63, | ||
| 170 | D3D_PRIMITIVE_TOPOLOGY_32_CONTROL_POINT_PATCHLIST = 64, | ||
| 171 | D3D10_PRIMITIVE_TOPOLOGY_UNDEFINED = D3D_PRIMITIVE_TOPOLOGY_UNDEFINED, | ||
| 172 | D3D10_PRIMITIVE_TOPOLOGY_POINTLIST = D3D_PRIMITIVE_TOPOLOGY_POINTLIST, | ||
| 173 | D3D10_PRIMITIVE_TOPOLOGY_LINELIST = D3D_PRIMITIVE_TOPOLOGY_LINELIST, | ||
| 174 | D3D10_PRIMITIVE_TOPOLOGY_LINESTRIP = D3D_PRIMITIVE_TOPOLOGY_LINESTRIP, | ||
| 175 | D3D10_PRIMITIVE_TOPOLOGY_TRIANGLELIST = D3D_PRIMITIVE_TOPOLOGY_TRIANGLELIST, | ||
| 176 | D3D10_PRIMITIVE_TOPOLOGY_TRIANGLESTRIP = D3D_PRIMITIVE_TOPOLOGY_TRIANGLESTRIP, | ||
| 177 | D3D10_PRIMITIVE_TOPOLOGY_LINELIST_ADJ = D3D_PRIMITIVE_TOPOLOGY_LINELIST_ADJ, | ||
| 178 | D3D10_PRIMITIVE_TOPOLOGY_LINESTRIP_ADJ = D3D_PRIMITIVE_TOPOLOGY_LINESTRIP_ADJ, | ||
| 179 | D3D10_PRIMITIVE_TOPOLOGY_TRIANGLELIST_ADJ = D3D_PRIMITIVE_TOPOLOGY_TRIANGLELIST_ADJ, | ||
| 180 | D3D10_PRIMITIVE_TOPOLOGY_TRIANGLESTRIP_ADJ = D3D_PRIMITIVE_TOPOLOGY_TRIANGLESTRIP_ADJ, | ||
| 181 | D3D11_PRIMITIVE_TOPOLOGY_UNDEFINED = D3D_PRIMITIVE_TOPOLOGY_UNDEFINED, | ||
| 182 | D3D11_PRIMITIVE_TOPOLOGY_POINTLIST = D3D_PRIMITIVE_TOPOLOGY_POINTLIST, | ||
| 183 | D3D11_PRIMITIVE_TOPOLOGY_LINELIST = D3D_PRIMITIVE_TOPOLOGY_LINELIST, | ||
| 184 | D3D11_PRIMITIVE_TOPOLOGY_LINESTRIP = D3D_PRIMITIVE_TOPOLOGY_LINESTRIP, | ||
| 185 | D3D11_PRIMITIVE_TOPOLOGY_TRIANGLELIST = D3D_PRIMITIVE_TOPOLOGY_TRIANGLELIST, | ||
| 186 | D3D11_PRIMITIVE_TOPOLOGY_TRIANGLESTRIP = D3D_PRIMITIVE_TOPOLOGY_TRIANGLESTRIP, | ||
| 187 | D3D11_PRIMITIVE_TOPOLOGY_LINELIST_ADJ = D3D_PRIMITIVE_TOPOLOGY_LINELIST_ADJ, | ||
| 188 | D3D11_PRIMITIVE_TOPOLOGY_LINESTRIP_ADJ = D3D_PRIMITIVE_TOPOLOGY_LINESTRIP_ADJ, | ||
| 189 | D3D11_PRIMITIVE_TOPOLOGY_TRIANGLELIST_ADJ = D3D_PRIMITIVE_TOPOLOGY_TRIANGLELIST_ADJ, | ||
| 190 | D3D11_PRIMITIVE_TOPOLOGY_TRIANGLESTRIP_ADJ = D3D_PRIMITIVE_TOPOLOGY_TRIANGLESTRIP_ADJ, | ||
| 191 | D3D11_PRIMITIVE_TOPOLOGY_1_CONTROL_POINT_PATCHLIST = D3D_PRIMITIVE_TOPOLOGY_1_CONTROL_POINT_PATCHLIST, | ||
| 192 | D3D11_PRIMITIVE_TOPOLOGY_2_CONTROL_POINT_PATCHLIST = D3D_PRIMITIVE_TOPOLOGY_2_CONTROL_POINT_PATCHLIST, | ||
| 193 | D3D11_PRIMITIVE_TOPOLOGY_3_CONTROL_POINT_PATCHLIST = D3D_PRIMITIVE_TOPOLOGY_3_CONTROL_POINT_PATCHLIST, | ||
| 194 | D3D11_PRIMITIVE_TOPOLOGY_4_CONTROL_POINT_PATCHLIST = D3D_PRIMITIVE_TOPOLOGY_4_CONTROL_POINT_PATCHLIST, | ||
| 195 | D3D11_PRIMITIVE_TOPOLOGY_5_CONTROL_POINT_PATCHLIST = D3D_PRIMITIVE_TOPOLOGY_5_CONTROL_POINT_PATCHLIST, | ||
| 196 | D3D11_PRIMITIVE_TOPOLOGY_6_CONTROL_POINT_PATCHLIST = D3D_PRIMITIVE_TOPOLOGY_6_CONTROL_POINT_PATCHLIST, | ||
| 197 | D3D11_PRIMITIVE_TOPOLOGY_7_CONTROL_POINT_PATCHLIST = D3D_PRIMITIVE_TOPOLOGY_7_CONTROL_POINT_PATCHLIST, | ||
| 198 | D3D11_PRIMITIVE_TOPOLOGY_8_CONTROL_POINT_PATCHLIST = D3D_PRIMITIVE_TOPOLOGY_8_CONTROL_POINT_PATCHLIST, | ||
| 199 | D3D11_PRIMITIVE_TOPOLOGY_9_CONTROL_POINT_PATCHLIST = D3D_PRIMITIVE_TOPOLOGY_9_CONTROL_POINT_PATCHLIST, | ||
| 200 | D3D11_PRIMITIVE_TOPOLOGY_10_CONTROL_POINT_PATCHLIST = D3D_PRIMITIVE_TOPOLOGY_10_CONTROL_POINT_PATCHLIST, | ||
| 201 | D3D11_PRIMITIVE_TOPOLOGY_11_CONTROL_POINT_PATCHLIST = D3D_PRIMITIVE_TOPOLOGY_11_CONTROL_POINT_PATCHLIST, | ||
| 202 | D3D11_PRIMITIVE_TOPOLOGY_12_CONTROL_POINT_PATCHLIST = D3D_PRIMITIVE_TOPOLOGY_12_CONTROL_POINT_PATCHLIST, | ||
| 203 | D3D11_PRIMITIVE_TOPOLOGY_13_CONTROL_POINT_PATCHLIST = D3D_PRIMITIVE_TOPOLOGY_13_CONTROL_POINT_PATCHLIST, | ||
| 204 | D3D11_PRIMITIVE_TOPOLOGY_14_CONTROL_POINT_PATCHLIST = D3D_PRIMITIVE_TOPOLOGY_14_CONTROL_POINT_PATCHLIST, | ||
| 205 | D3D11_PRIMITIVE_TOPOLOGY_15_CONTROL_POINT_PATCHLIST = D3D_PRIMITIVE_TOPOLOGY_15_CONTROL_POINT_PATCHLIST, | ||
| 206 | D3D11_PRIMITIVE_TOPOLOGY_16_CONTROL_POINT_PATCHLIST = D3D_PRIMITIVE_TOPOLOGY_16_CONTROL_POINT_PATCHLIST, | ||
| 207 | D3D11_PRIMITIVE_TOPOLOGY_17_CONTROL_POINT_PATCHLIST = D3D_PRIMITIVE_TOPOLOGY_17_CONTROL_POINT_PATCHLIST, | ||
| 208 | D3D11_PRIMITIVE_TOPOLOGY_18_CONTROL_POINT_PATCHLIST = D3D_PRIMITIVE_TOPOLOGY_18_CONTROL_POINT_PATCHLIST, | ||
| 209 | D3D11_PRIMITIVE_TOPOLOGY_19_CONTROL_POINT_PATCHLIST = D3D_PRIMITIVE_TOPOLOGY_19_CONTROL_POINT_PATCHLIST, | ||
| 210 | D3D11_PRIMITIVE_TOPOLOGY_20_CONTROL_POINT_PATCHLIST = D3D_PRIMITIVE_TOPOLOGY_20_CONTROL_POINT_PATCHLIST, | ||
| 211 | D3D11_PRIMITIVE_TOPOLOGY_21_CONTROL_POINT_PATCHLIST = D3D_PRIMITIVE_TOPOLOGY_21_CONTROL_POINT_PATCHLIST, | ||
| 212 | D3D11_PRIMITIVE_TOPOLOGY_22_CONTROL_POINT_PATCHLIST = D3D_PRIMITIVE_TOPOLOGY_22_CONTROL_POINT_PATCHLIST, | ||
| 213 | D3D11_PRIMITIVE_TOPOLOGY_23_CONTROL_POINT_PATCHLIST = D3D_PRIMITIVE_TOPOLOGY_23_CONTROL_POINT_PATCHLIST, | ||
| 214 | D3D11_PRIMITIVE_TOPOLOGY_24_CONTROL_POINT_PATCHLIST = D3D_PRIMITIVE_TOPOLOGY_24_CONTROL_POINT_PATCHLIST, | ||
| 215 | D3D11_PRIMITIVE_TOPOLOGY_25_CONTROL_POINT_PATCHLIST = D3D_PRIMITIVE_TOPOLOGY_25_CONTROL_POINT_PATCHLIST, | ||
| 216 | D3D11_PRIMITIVE_TOPOLOGY_26_CONTROL_POINT_PATCHLIST = D3D_PRIMITIVE_TOPOLOGY_26_CONTROL_POINT_PATCHLIST, | ||
| 217 | D3D11_PRIMITIVE_TOPOLOGY_27_CONTROL_POINT_PATCHLIST = D3D_PRIMITIVE_TOPOLOGY_27_CONTROL_POINT_PATCHLIST, | ||
| 218 | D3D11_PRIMITIVE_TOPOLOGY_28_CONTROL_POINT_PATCHLIST = D3D_PRIMITIVE_TOPOLOGY_28_CONTROL_POINT_PATCHLIST, | ||
| 219 | D3D11_PRIMITIVE_TOPOLOGY_29_CONTROL_POINT_PATCHLIST = D3D_PRIMITIVE_TOPOLOGY_29_CONTROL_POINT_PATCHLIST, | ||
| 220 | D3D11_PRIMITIVE_TOPOLOGY_30_CONTROL_POINT_PATCHLIST = D3D_PRIMITIVE_TOPOLOGY_30_CONTROL_POINT_PATCHLIST, | ||
| 221 | D3D11_PRIMITIVE_TOPOLOGY_31_CONTROL_POINT_PATCHLIST = D3D_PRIMITIVE_TOPOLOGY_31_CONTROL_POINT_PATCHLIST, | ||
| 222 | D3D11_PRIMITIVE_TOPOLOGY_32_CONTROL_POINT_PATCHLIST = D3D_PRIMITIVE_TOPOLOGY_32_CONTROL_POINT_PATCHLIST | ||
| 223 | } D3D_PRIMITIVE_TOPOLOGY; | ||
| 224 | |||
| 225 | typedef | ||
| 226 | enum D3D_PRIMITIVE | ||
| 227 | { | ||
| 228 | D3D_PRIMITIVE_UNDEFINED = 0, | ||
| 229 | D3D_PRIMITIVE_POINT = 1, | ||
| 230 | D3D_PRIMITIVE_LINE = 2, | ||
| 231 | D3D_PRIMITIVE_TRIANGLE = 3, | ||
| 232 | D3D_PRIMITIVE_LINE_ADJ = 6, | ||
| 233 | D3D_PRIMITIVE_TRIANGLE_ADJ = 7, | ||
| 234 | D3D_PRIMITIVE_1_CONTROL_POINT_PATCH = 8, | ||
| 235 | D3D_PRIMITIVE_2_CONTROL_POINT_PATCH = 9, | ||
| 236 | D3D_PRIMITIVE_3_CONTROL_POINT_PATCH = 10, | ||
| 237 | D3D_PRIMITIVE_4_CONTROL_POINT_PATCH = 11, | ||
| 238 | D3D_PRIMITIVE_5_CONTROL_POINT_PATCH = 12, | ||
| 239 | D3D_PRIMITIVE_6_CONTROL_POINT_PATCH = 13, | ||
| 240 | D3D_PRIMITIVE_7_CONTROL_POINT_PATCH = 14, | ||
| 241 | D3D_PRIMITIVE_8_CONTROL_POINT_PATCH = 15, | ||
| 242 | D3D_PRIMITIVE_9_CONTROL_POINT_PATCH = 16, | ||
| 243 | D3D_PRIMITIVE_10_CONTROL_POINT_PATCH = 17, | ||
| 244 | D3D_PRIMITIVE_11_CONTROL_POINT_PATCH = 18, | ||
| 245 | D3D_PRIMITIVE_12_CONTROL_POINT_PATCH = 19, | ||
| 246 | D3D_PRIMITIVE_13_CONTROL_POINT_PATCH = 20, | ||
| 247 | D3D_PRIMITIVE_14_CONTROL_POINT_PATCH = 21, | ||
| 248 | D3D_PRIMITIVE_15_CONTROL_POINT_PATCH = 22, | ||
| 249 | D3D_PRIMITIVE_16_CONTROL_POINT_PATCH = 23, | ||
| 250 | D3D_PRIMITIVE_17_CONTROL_POINT_PATCH = 24, | ||
| 251 | D3D_PRIMITIVE_18_CONTROL_POINT_PATCH = 25, | ||
| 252 | D3D_PRIMITIVE_19_CONTROL_POINT_PATCH = 26, | ||
| 253 | D3D_PRIMITIVE_20_CONTROL_POINT_PATCH = 27, | ||
| 254 | D3D_PRIMITIVE_21_CONTROL_POINT_PATCH = 28, | ||
| 255 | D3D_PRIMITIVE_22_CONTROL_POINT_PATCH = 29, | ||
| 256 | D3D_PRIMITIVE_23_CONTROL_POINT_PATCH = 30, | ||
| 257 | D3D_PRIMITIVE_24_CONTROL_POINT_PATCH = 31, | ||
| 258 | D3D_PRIMITIVE_25_CONTROL_POINT_PATCH = 32, | ||
| 259 | D3D_PRIMITIVE_26_CONTROL_POINT_PATCH = 33, | ||
| 260 | D3D_PRIMITIVE_27_CONTROL_POINT_PATCH = 34, | ||
| 261 | D3D_PRIMITIVE_28_CONTROL_POINT_PATCH = 35, | ||
| 262 | D3D_PRIMITIVE_29_CONTROL_POINT_PATCH = 36, | ||
| 263 | D3D_PRIMITIVE_30_CONTROL_POINT_PATCH = 37, | ||
| 264 | D3D_PRIMITIVE_31_CONTROL_POINT_PATCH = 38, | ||
| 265 | D3D_PRIMITIVE_32_CONTROL_POINT_PATCH = 39, | ||
| 266 | D3D10_PRIMITIVE_UNDEFINED = D3D_PRIMITIVE_UNDEFINED, | ||
| 267 | D3D10_PRIMITIVE_POINT = D3D_PRIMITIVE_POINT, | ||
| 268 | D3D10_PRIMITIVE_LINE = D3D_PRIMITIVE_LINE, | ||
| 269 | D3D10_PRIMITIVE_TRIANGLE = D3D_PRIMITIVE_TRIANGLE, | ||
| 270 | D3D10_PRIMITIVE_LINE_ADJ = D3D_PRIMITIVE_LINE_ADJ, | ||
| 271 | D3D10_PRIMITIVE_TRIANGLE_ADJ = D3D_PRIMITIVE_TRIANGLE_ADJ, | ||
| 272 | D3D11_PRIMITIVE_UNDEFINED = D3D_PRIMITIVE_UNDEFINED, | ||
| 273 | D3D11_PRIMITIVE_POINT = D3D_PRIMITIVE_POINT, | ||
| 274 | D3D11_PRIMITIVE_LINE = D3D_PRIMITIVE_LINE, | ||
| 275 | D3D11_PRIMITIVE_TRIANGLE = D3D_PRIMITIVE_TRIANGLE, | ||
| 276 | D3D11_PRIMITIVE_LINE_ADJ = D3D_PRIMITIVE_LINE_ADJ, | ||
| 277 | D3D11_PRIMITIVE_TRIANGLE_ADJ = D3D_PRIMITIVE_TRIANGLE_ADJ, | ||
| 278 | D3D11_PRIMITIVE_1_CONTROL_POINT_PATCH = D3D_PRIMITIVE_1_CONTROL_POINT_PATCH, | ||
| 279 | D3D11_PRIMITIVE_2_CONTROL_POINT_PATCH = D3D_PRIMITIVE_2_CONTROL_POINT_PATCH, | ||
| 280 | D3D11_PRIMITIVE_3_CONTROL_POINT_PATCH = D3D_PRIMITIVE_3_CONTROL_POINT_PATCH, | ||
| 281 | D3D11_PRIMITIVE_4_CONTROL_POINT_PATCH = D3D_PRIMITIVE_4_CONTROL_POINT_PATCH, | ||
| 282 | D3D11_PRIMITIVE_5_CONTROL_POINT_PATCH = D3D_PRIMITIVE_5_CONTROL_POINT_PATCH, | ||
| 283 | D3D11_PRIMITIVE_6_CONTROL_POINT_PATCH = D3D_PRIMITIVE_6_CONTROL_POINT_PATCH, | ||
| 284 | D3D11_PRIMITIVE_7_CONTROL_POINT_PATCH = D3D_PRIMITIVE_7_CONTROL_POINT_PATCH, | ||
| 285 | D3D11_PRIMITIVE_8_CONTROL_POINT_PATCH = D3D_PRIMITIVE_8_CONTROL_POINT_PATCH, | ||
| 286 | D3D11_PRIMITIVE_9_CONTROL_POINT_PATCH = D3D_PRIMITIVE_9_CONTROL_POINT_PATCH, | ||
| 287 | D3D11_PRIMITIVE_10_CONTROL_POINT_PATCH = D3D_PRIMITIVE_10_CONTROL_POINT_PATCH, | ||
| 288 | D3D11_PRIMITIVE_11_CONTROL_POINT_PATCH = D3D_PRIMITIVE_11_CONTROL_POINT_PATCH, | ||
| 289 | D3D11_PRIMITIVE_12_CONTROL_POINT_PATCH = D3D_PRIMITIVE_12_CONTROL_POINT_PATCH, | ||
| 290 | D3D11_PRIMITIVE_13_CONTROL_POINT_PATCH = D3D_PRIMITIVE_13_CONTROL_POINT_PATCH, | ||
| 291 | D3D11_PRIMITIVE_14_CONTROL_POINT_PATCH = D3D_PRIMITIVE_14_CONTROL_POINT_PATCH, | ||
| 292 | D3D11_PRIMITIVE_15_CONTROL_POINT_PATCH = D3D_PRIMITIVE_15_CONTROL_POINT_PATCH, | ||
| 293 | D3D11_PRIMITIVE_16_CONTROL_POINT_PATCH = D3D_PRIMITIVE_16_CONTROL_POINT_PATCH, | ||
| 294 | D3D11_PRIMITIVE_17_CONTROL_POINT_PATCH = D3D_PRIMITIVE_17_CONTROL_POINT_PATCH, | ||
| 295 | D3D11_PRIMITIVE_18_CONTROL_POINT_PATCH = D3D_PRIMITIVE_18_CONTROL_POINT_PATCH, | ||
| 296 | D3D11_PRIMITIVE_19_CONTROL_POINT_PATCH = D3D_PRIMITIVE_19_CONTROL_POINT_PATCH, | ||
| 297 | D3D11_PRIMITIVE_20_CONTROL_POINT_PATCH = D3D_PRIMITIVE_20_CONTROL_POINT_PATCH, | ||
| 298 | D3D11_PRIMITIVE_21_CONTROL_POINT_PATCH = D3D_PRIMITIVE_21_CONTROL_POINT_PATCH, | ||
| 299 | D3D11_PRIMITIVE_22_CONTROL_POINT_PATCH = D3D_PRIMITIVE_22_CONTROL_POINT_PATCH, | ||
| 300 | D3D11_PRIMITIVE_23_CONTROL_POINT_PATCH = D3D_PRIMITIVE_23_CONTROL_POINT_PATCH, | ||
| 301 | D3D11_PRIMITIVE_24_CONTROL_POINT_PATCH = D3D_PRIMITIVE_24_CONTROL_POINT_PATCH, | ||
| 302 | D3D11_PRIMITIVE_25_CONTROL_POINT_PATCH = D3D_PRIMITIVE_25_CONTROL_POINT_PATCH, | ||
| 303 | D3D11_PRIMITIVE_26_CONTROL_POINT_PATCH = D3D_PRIMITIVE_26_CONTROL_POINT_PATCH, | ||
| 304 | D3D11_PRIMITIVE_27_CONTROL_POINT_PATCH = D3D_PRIMITIVE_27_CONTROL_POINT_PATCH, | ||
| 305 | D3D11_PRIMITIVE_28_CONTROL_POINT_PATCH = D3D_PRIMITIVE_28_CONTROL_POINT_PATCH, | ||
| 306 | D3D11_PRIMITIVE_29_CONTROL_POINT_PATCH = D3D_PRIMITIVE_29_CONTROL_POINT_PATCH, | ||
| 307 | D3D11_PRIMITIVE_30_CONTROL_POINT_PATCH = D3D_PRIMITIVE_30_CONTROL_POINT_PATCH, | ||
| 308 | D3D11_PRIMITIVE_31_CONTROL_POINT_PATCH = D3D_PRIMITIVE_31_CONTROL_POINT_PATCH, | ||
| 309 | D3D11_PRIMITIVE_32_CONTROL_POINT_PATCH = D3D_PRIMITIVE_32_CONTROL_POINT_PATCH | ||
| 310 | } D3D_PRIMITIVE; | ||
| 311 | |||
| 312 | typedef | ||
| 313 | enum D3D_SRV_DIMENSION | ||
| 314 | { | ||
| 315 | D3D_SRV_DIMENSION_UNKNOWN = 0, | ||
| 316 | D3D_SRV_DIMENSION_BUFFER = 1, | ||
| 317 | D3D_SRV_DIMENSION_TEXTURE1D = 2, | ||
| 318 | D3D_SRV_DIMENSION_TEXTURE1DARRAY = 3, | ||
| 319 | D3D_SRV_DIMENSION_TEXTURE2D = 4, | ||
| 320 | D3D_SRV_DIMENSION_TEXTURE2DARRAY = 5, | ||
| 321 | D3D_SRV_DIMENSION_TEXTURE2DMS = 6, | ||
| 322 | D3D_SRV_DIMENSION_TEXTURE2DMSARRAY = 7, | ||
| 323 | D3D_SRV_DIMENSION_TEXTURE3D = 8, | ||
| 324 | D3D_SRV_DIMENSION_TEXTURECUBE = 9, | ||
| 325 | D3D_SRV_DIMENSION_TEXTURECUBEARRAY = 10, | ||
| 326 | D3D_SRV_DIMENSION_BUFFEREX = 11, | ||
| 327 | D3D10_SRV_DIMENSION_UNKNOWN = D3D_SRV_DIMENSION_UNKNOWN, | ||
| 328 | D3D10_SRV_DIMENSION_BUFFER = D3D_SRV_DIMENSION_BUFFER, | ||
| 329 | D3D10_SRV_DIMENSION_TEXTURE1D = D3D_SRV_DIMENSION_TEXTURE1D, | ||
| 330 | D3D10_SRV_DIMENSION_TEXTURE1DARRAY = D3D_SRV_DIMENSION_TEXTURE1DARRAY, | ||
| 331 | D3D10_SRV_DIMENSION_TEXTURE2D = D3D_SRV_DIMENSION_TEXTURE2D, | ||
| 332 | D3D10_SRV_DIMENSION_TEXTURE2DARRAY = D3D_SRV_DIMENSION_TEXTURE2DARRAY, | ||
| 333 | D3D10_SRV_DIMENSION_TEXTURE2DMS = D3D_SRV_DIMENSION_TEXTURE2DMS, | ||
| 334 | D3D10_SRV_DIMENSION_TEXTURE2DMSARRAY = D3D_SRV_DIMENSION_TEXTURE2DMSARRAY, | ||
| 335 | D3D10_SRV_DIMENSION_TEXTURE3D = D3D_SRV_DIMENSION_TEXTURE3D, | ||
| 336 | D3D10_SRV_DIMENSION_TEXTURECUBE = D3D_SRV_DIMENSION_TEXTURECUBE, | ||
| 337 | D3D10_1_SRV_DIMENSION_UNKNOWN = D3D_SRV_DIMENSION_UNKNOWN, | ||
| 338 | D3D10_1_SRV_DIMENSION_BUFFER = D3D_SRV_DIMENSION_BUFFER, | ||
| 339 | D3D10_1_SRV_DIMENSION_TEXTURE1D = D3D_SRV_DIMENSION_TEXTURE1D, | ||
| 340 | D3D10_1_SRV_DIMENSION_TEXTURE1DARRAY = D3D_SRV_DIMENSION_TEXTURE1DARRAY, | ||
| 341 | D3D10_1_SRV_DIMENSION_TEXTURE2D = D3D_SRV_DIMENSION_TEXTURE2D, | ||
| 342 | D3D10_1_SRV_DIMENSION_TEXTURE2DARRAY = D3D_SRV_DIMENSION_TEXTURE2DARRAY, | ||
| 343 | D3D10_1_SRV_DIMENSION_TEXTURE2DMS = D3D_SRV_DIMENSION_TEXTURE2DMS, | ||
| 344 | D3D10_1_SRV_DIMENSION_TEXTURE2DMSARRAY = D3D_SRV_DIMENSION_TEXTURE2DMSARRAY, | ||
| 345 | D3D10_1_SRV_DIMENSION_TEXTURE3D = D3D_SRV_DIMENSION_TEXTURE3D, | ||
| 346 | D3D10_1_SRV_DIMENSION_TEXTURECUBE = D3D_SRV_DIMENSION_TEXTURECUBE, | ||
| 347 | D3D10_1_SRV_DIMENSION_TEXTURECUBEARRAY = D3D_SRV_DIMENSION_TEXTURECUBEARRAY, | ||
| 348 | D3D11_SRV_DIMENSION_UNKNOWN = D3D_SRV_DIMENSION_UNKNOWN, | ||
| 349 | D3D11_SRV_DIMENSION_BUFFER = D3D_SRV_DIMENSION_BUFFER, | ||
| 350 | D3D11_SRV_DIMENSION_TEXTURE1D = D3D_SRV_DIMENSION_TEXTURE1D, | ||
| 351 | D3D11_SRV_DIMENSION_TEXTURE1DARRAY = D3D_SRV_DIMENSION_TEXTURE1DARRAY, | ||
| 352 | D3D11_SRV_DIMENSION_TEXTURE2D = D3D_SRV_DIMENSION_TEXTURE2D, | ||
| 353 | D3D11_SRV_DIMENSION_TEXTURE2DARRAY = D3D_SRV_DIMENSION_TEXTURE2DARRAY, | ||
| 354 | D3D11_SRV_DIMENSION_TEXTURE2DMS = D3D_SRV_DIMENSION_TEXTURE2DMS, | ||
| 355 | D3D11_SRV_DIMENSION_TEXTURE2DMSARRAY = D3D_SRV_DIMENSION_TEXTURE2DMSARRAY, | ||
| 356 | D3D11_SRV_DIMENSION_TEXTURE3D = D3D_SRV_DIMENSION_TEXTURE3D, | ||
| 357 | D3D11_SRV_DIMENSION_TEXTURECUBE = D3D_SRV_DIMENSION_TEXTURECUBE, | ||
| 358 | D3D11_SRV_DIMENSION_TEXTURECUBEARRAY = D3D_SRV_DIMENSION_TEXTURECUBEARRAY, | ||
| 359 | D3D11_SRV_DIMENSION_BUFFEREX = D3D_SRV_DIMENSION_BUFFEREX | ||
| 360 | } D3D_SRV_DIMENSION; | ||
| 361 | |||
| 362 | #define D3D_SHADER_FEATURE_DOUBLES 0x00001 | ||
| 363 | #define D3D_SHADER_FEATURE_COMPUTE_SHADERS_PLUS_RAW_AND_STRUCTURED_BUFFERS_VIA_SHADER_4_X 0x00002 | ||
| 364 | #define D3D_SHADER_FEATURE_UAVS_AT_EVERY_STAGE 0x00004 | ||
| 365 | #define D3D_SHADER_FEATURE_64_UAVS 0x00008 | ||
| 366 | #define D3D_SHADER_FEATURE_MINIMUM_PRECISION 0x00010 | ||
| 367 | #define D3D_SHADER_FEATURE_11_1_DOUBLE_EXTENSIONS 0x00020 | ||
| 368 | #define D3D_SHADER_FEATURE_11_1_SHADER_EXTENSIONS 0x00040 | ||
| 369 | #define D3D_SHADER_FEATURE_LEVEL_9_COMPARISON_FILTERING 0x00080 | ||
| 370 | #define D3D_SHADER_FEATURE_TILED_RESOURCES 0x00100 | ||
| 371 | #define D3D_SHADER_FEATURE_STENCIL_REF 0x00200 | ||
| 372 | #define D3D_SHADER_FEATURE_INNER_COVERAGE 0x00400 | ||
| 373 | #define D3D_SHADER_FEATURE_TYPED_UAV_LOAD_ADDITIONAL_FORMATS 0x00800 | ||
| 374 | #define D3D_SHADER_FEATURE_ROVS 0x01000 | ||
| 375 | #define D3D_SHADER_FEATURE_VIEWPORT_AND_RT_ARRAY_INDEX_FROM_ANY_SHADER_FEEDING_RASTERIZER 0x02000 | ||
| 376 | #define D3D_SHADER_FEATURE_WAVE_OPS 0x04000 | ||
| 377 | #define D3D_SHADER_FEATURE_INT64_OPS 0x08000 | ||
| 378 | #define D3D_SHADER_FEATURE_VIEW_ID 0x10000 | ||
| 379 | #define D3D_SHADER_FEATURE_BARYCENTRICS 0x20000 | ||
| 380 | #define D3D_SHADER_FEATURE_NATIVE_16BIT_OPS 0x40000 | ||
| 381 | #define D3D_SHADER_FEATURE_SHADING_RATE 0x80000 | ||
| 382 | #define D3D_SHADER_FEATURE_RAYTRACING_TIER_1_1 0x100000 | ||
| 383 | #define D3D_SHADER_FEATURE_SAMPLER_FEEDBACK 0x200000 | ||
| 384 | #define D3D_SHADER_FEATURE_ATOMIC_INT64_ON_TYPED_RESOURCE 0x400000 | ||
| 385 | #define D3D_SHADER_FEATURE_ATOMIC_INT64_ON_GROUP_SHARED 0x800000 | ||
| 386 | #define D3D_SHADER_FEATURE_DERIVATIVES_IN_MESH_AND_AMPLIFICATION_SHADERS 0x1000000 | ||
| 387 | #define D3D_SHADER_FEATURE_RESOURCE_DESCRIPTOR_HEAP_INDEXING 0x2000000 | ||
| 388 | #define D3D_SHADER_FEATURE_SAMPLER_DESCRIPTOR_HEAP_INDEXING 0x4000000 | ||
| 389 | #define D3D_SHADER_FEATURE_WAVE_MMA 0x8000000 | ||
| 390 | #define D3D_SHADER_FEATURE_ATOMIC_INT64_ON_DESCRIPTOR_HEAP_RESOURCE 0x10000000 | ||
| 391 | #define D3D_SHADER_FEATURE_ADVANCED_TEXTURE_OPS 0x20000000 | ||
| 392 | #define D3D_SHADER_FEATURE_WRITEABLE_MSAA_TEXTURES 0x40000000 | ||
| 393 | #define D3D_SHADER_FEATURE_SAMPLE_CMP_GRADIENT_OR_BIAS 0x80000000 | ||
| 394 | #define D3D_SHADER_FEATURE_EXTENDED_COMMAND_INFO 0x100000000ull | ||
| 395 | #define D3D_OPT_SHADER_FEATURE_USES_DERIVATIVES 0x0000010000000000ull | ||
| 396 | #define D3D_OPT_SHADER_FEATURE_REQUIRES_GROUP 0x0000020000000000ull | ||
| 397 | typedef struct _D3D_SHADER_MACRO | ||
| 398 | { | ||
| 399 | LPCSTR Name; | ||
| 400 | LPCSTR Definition; | ||
| 401 | } D3D_SHADER_MACRO; | ||
| 402 | |||
| 403 | typedef struct _D3D_SHADER_MACRO *LPD3D_SHADER_MACRO; | ||
| 404 | |||
| 405 | DEFINE_GUID(IID_ID3D10Blob, 0x8ba5fb08, 0x5195, 0x40e2, 0xac, 0x58, 0xd, 0x98, 0x9c, 0x3a, 0x1, 0x2); | ||
| 406 | |||
| 407 | |||
| 408 | extern RPC_IF_HANDLE __MIDL_itf_d3dcommon_0000_0000_v0_0_c_ifspec; | ||
| 409 | extern RPC_IF_HANDLE __MIDL_itf_d3dcommon_0000_0000_v0_0_s_ifspec; | ||
| 410 | |||
| 411 | #ifndef __ID3D10Blob_INTERFACE_DEFINED__ | ||
| 412 | #define __ID3D10Blob_INTERFACE_DEFINED__ | ||
| 413 | |||
| 414 | /* interface ID3D10Blob */ | ||
| 415 | /* [unique][local][object][uuid] */ | ||
| 416 | |||
| 417 | |||
| 418 | EXTERN_C const IID IID_ID3D10Blob; | ||
| 419 | |||
| 420 | #if defined(__cplusplus) && !defined(CINTERFACE) | ||
| 421 | |||
| 422 | MIDL_INTERFACE("8BA5FB08-5195-40e2-AC58-0D989C3A0102") | ||
| 423 | ID3D10Blob : public IUnknown | ||
| 424 | { | ||
| 425 | public: | ||
| 426 | virtual LPVOID STDMETHODCALLTYPE GetBufferPointer( void) = 0; | ||
| 427 | |||
| 428 | virtual SIZE_T STDMETHODCALLTYPE GetBufferSize( void) = 0; | ||
| 429 | |||
| 430 | }; | ||
| 431 | |||
| 432 | |||
| 433 | #else /* C style interface */ | ||
| 434 | |||
| 435 | typedef struct ID3D10BlobVtbl | ||
| 436 | { | ||
| 437 | BEGIN_INTERFACE | ||
| 438 | |||
| 439 | DECLSPEC_XFGVIRT(IUnknown, QueryInterface) | ||
| 440 | HRESULT ( STDMETHODCALLTYPE *QueryInterface )( | ||
| 441 | ID3D10Blob * This, | ||
| 442 | /* [in] */ REFIID riid, | ||
| 443 | /* [annotation][iid_is][out] */ | ||
| 444 | _COM_Outptr_ void **ppvObject); | ||
| 445 | |||
| 446 | DECLSPEC_XFGVIRT(IUnknown, AddRef) | ||
| 447 | ULONG ( STDMETHODCALLTYPE *AddRef )( | ||
| 448 | ID3D10Blob * This); | ||
| 449 | |||
| 450 | DECLSPEC_XFGVIRT(IUnknown, Release) | ||
| 451 | ULONG ( STDMETHODCALLTYPE *Release )( | ||
| 452 | ID3D10Blob * This); | ||
| 453 | |||
| 454 | DECLSPEC_XFGVIRT(ID3D10Blob, GetBufferPointer) | ||
| 455 | LPVOID ( STDMETHODCALLTYPE *GetBufferPointer )( | ||
| 456 | ID3D10Blob * This); | ||
| 457 | |||
| 458 | DECLSPEC_XFGVIRT(ID3D10Blob, GetBufferSize) | ||
| 459 | SIZE_T ( STDMETHODCALLTYPE *GetBufferSize )( | ||
| 460 | ID3D10Blob * This); | ||
| 461 | |||
| 462 | END_INTERFACE | ||
| 463 | } ID3D10BlobVtbl; | ||
| 464 | |||
| 465 | interface ID3D10Blob | ||
| 466 | { | ||
| 467 | CONST_VTBL struct ID3D10BlobVtbl *lpVtbl; | ||
| 468 | }; | ||
| 469 | |||
| 470 | |||
| 471 | |||
| 472 | #ifdef COBJMACROS | ||
| 473 | |||
| 474 | |||
| 475 | #define ID3D10Blob_QueryInterface(This,riid,ppvObject) \ | ||
| 476 | ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) | ||
| 477 | |||
| 478 | #define ID3D10Blob_AddRef(This) \ | ||
| 479 | ( (This)->lpVtbl -> AddRef(This) ) | ||
| 480 | |||
| 481 | #define ID3D10Blob_Release(This) \ | ||
| 482 | ( (This)->lpVtbl -> Release(This) ) | ||
| 483 | |||
| 484 | |||
| 485 | #define ID3D10Blob_GetBufferPointer(This) \ | ||
| 486 | ( (This)->lpVtbl -> GetBufferPointer(This) ) | ||
| 487 | |||
| 488 | #define ID3D10Blob_GetBufferSize(This) \ | ||
| 489 | ( (This)->lpVtbl -> GetBufferSize(This) ) | ||
| 490 | |||
| 491 | #endif /* COBJMACROS */ | ||
| 492 | |||
| 493 | |||
| 494 | #endif /* C style interface */ | ||
| 495 | |||
| 496 | |||
| 497 | |||
| 498 | |||
| 499 | #endif /* __ID3D10Blob_INTERFACE_DEFINED__ */ | ||
| 500 | |||
| 501 | |||
| 502 | /* interface __MIDL_itf_d3dcommon_0000_0001 */ | ||
| 503 | /* [local] */ | ||
| 504 | |||
| 505 | typedef interface ID3D10Blob* LPD3D10BLOB; | ||
| 506 | typedef ID3D10Blob ID3DBlob; | ||
| 507 | |||
| 508 | typedef ID3DBlob* LPD3DBLOB; | ||
| 509 | #define IID_ID3DBlob IID_ID3D10Blob | ||
| 510 | typedef void ( __stdcall *PFN_DESTRUCTION_CALLBACK )( | ||
| 511 | void *pData); | ||
| 512 | |||
| 513 | |||
| 514 | |||
| 515 | extern RPC_IF_HANDLE __MIDL_itf_d3dcommon_0000_0001_v0_0_c_ifspec; | ||
| 516 | extern RPC_IF_HANDLE __MIDL_itf_d3dcommon_0000_0001_v0_0_s_ifspec; | ||
| 517 | |||
| 518 | #ifndef __ID3DDestructionNotifier_INTERFACE_DEFINED__ | ||
| 519 | #define __ID3DDestructionNotifier_INTERFACE_DEFINED__ | ||
| 520 | |||
| 521 | /* interface ID3DDestructionNotifier */ | ||
| 522 | /* [unique][local][object][uuid] */ | ||
| 523 | |||
| 524 | |||
| 525 | EXTERN_C const IID IID_ID3DDestructionNotifier; | ||
| 526 | |||
| 527 | #if defined(__cplusplus) && !defined(CINTERFACE) | ||
| 528 | |||
| 529 | MIDL_INTERFACE("a06eb39a-50da-425b-8c31-4eecd6c270f3") | ||
| 530 | ID3DDestructionNotifier : public IUnknown | ||
| 531 | { | ||
| 532 | public: | ||
| 533 | virtual HRESULT STDMETHODCALLTYPE RegisterDestructionCallback( | ||
| 534 | /* [annotation] */ | ||
| 535 | _In_ PFN_DESTRUCTION_CALLBACK callbackFn, | ||
| 536 | /* [annotation] */ | ||
| 537 | _In_ void *pData, | ||
| 538 | /* [annotation] */ | ||
| 539 | _Out_ UINT *pCallbackID) = 0; | ||
| 540 | |||
| 541 | virtual HRESULT STDMETHODCALLTYPE UnregisterDestructionCallback( | ||
| 542 | /* [annotation] */ | ||
| 543 | _In_ UINT callbackID) = 0; | ||
| 544 | |||
| 545 | }; | ||
| 546 | |||
| 547 | |||
| 548 | #else /* C style interface */ | ||
| 549 | |||
| 550 | typedef struct ID3DDestructionNotifierVtbl | ||
| 551 | { | ||
| 552 | BEGIN_INTERFACE | ||
| 553 | |||
| 554 | DECLSPEC_XFGVIRT(IUnknown, QueryInterface) | ||
| 555 | HRESULT ( STDMETHODCALLTYPE *QueryInterface )( | ||
| 556 | ID3DDestructionNotifier * This, | ||
| 557 | /* [in] */ REFIID riid, | ||
| 558 | /* [annotation][iid_is][out] */ | ||
| 559 | _COM_Outptr_ void **ppvObject); | ||
| 560 | |||
| 561 | DECLSPEC_XFGVIRT(IUnknown, AddRef) | ||
| 562 | ULONG ( STDMETHODCALLTYPE *AddRef )( | ||
| 563 | ID3DDestructionNotifier * This); | ||
| 564 | |||
| 565 | DECLSPEC_XFGVIRT(IUnknown, Release) | ||
| 566 | ULONG ( STDMETHODCALLTYPE *Release )( | ||
| 567 | ID3DDestructionNotifier * This); | ||
| 568 | |||
| 569 | DECLSPEC_XFGVIRT(ID3DDestructionNotifier, RegisterDestructionCallback) | ||
| 570 | HRESULT ( STDMETHODCALLTYPE *RegisterDestructionCallback )( | ||
| 571 | ID3DDestructionNotifier * This, | ||
| 572 | /* [annotation] */ | ||
| 573 | _In_ PFN_DESTRUCTION_CALLBACK callbackFn, | ||
| 574 | /* [annotation] */ | ||
| 575 | _In_ void *pData, | ||
| 576 | /* [annotation] */ | ||
| 577 | _Out_ UINT *pCallbackID); | ||
| 578 | |||
| 579 | DECLSPEC_XFGVIRT(ID3DDestructionNotifier, UnregisterDestructionCallback) | ||
| 580 | HRESULT ( STDMETHODCALLTYPE *UnregisterDestructionCallback )( | ||
| 581 | ID3DDestructionNotifier * This, | ||
| 582 | /* [annotation] */ | ||
| 583 | _In_ UINT callbackID); | ||
| 584 | |||
| 585 | END_INTERFACE | ||
| 586 | } ID3DDestructionNotifierVtbl; | ||
| 587 | |||
| 588 | interface ID3DDestructionNotifier | ||
| 589 | { | ||
| 590 | CONST_VTBL struct ID3DDestructionNotifierVtbl *lpVtbl; | ||
| 591 | }; | ||
| 592 | |||
| 593 | |||
| 594 | |||
| 595 | #ifdef COBJMACROS | ||
| 596 | |||
| 597 | |||
| 598 | #define ID3DDestructionNotifier_QueryInterface(This,riid,ppvObject) \ | ||
| 599 | ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) | ||
| 600 | |||
| 601 | #define ID3DDestructionNotifier_AddRef(This) \ | ||
| 602 | ( (This)->lpVtbl -> AddRef(This) ) | ||
| 603 | |||
| 604 | #define ID3DDestructionNotifier_Release(This) \ | ||
| 605 | ( (This)->lpVtbl -> Release(This) ) | ||
| 606 | |||
| 607 | |||
| 608 | #define ID3DDestructionNotifier_RegisterDestructionCallback(This,callbackFn,pData,pCallbackID) \ | ||
| 609 | ( (This)->lpVtbl -> RegisterDestructionCallback(This,callbackFn,pData,pCallbackID) ) | ||
| 610 | |||
| 611 | #define ID3DDestructionNotifier_UnregisterDestructionCallback(This,callbackID) \ | ||
| 612 | ( (This)->lpVtbl -> UnregisterDestructionCallback(This,callbackID) ) | ||
| 613 | |||
| 614 | #endif /* COBJMACROS */ | ||
| 615 | |||
| 616 | |||
| 617 | #endif /* C style interface */ | ||
| 618 | |||
| 619 | |||
| 620 | |||
| 621 | |||
| 622 | #endif /* __ID3DDestructionNotifier_INTERFACE_DEFINED__ */ | ||
| 623 | |||
| 624 | |||
| 625 | /* interface __MIDL_itf_d3dcommon_0000_0002 */ | ||
| 626 | /* [local] */ | ||
| 627 | |||
| 628 | typedef | ||
| 629 | enum _D3D_INCLUDE_TYPE | ||
| 630 | { | ||
| 631 | D3D_INCLUDE_LOCAL = 0, | ||
| 632 | D3D_INCLUDE_SYSTEM = ( D3D_INCLUDE_LOCAL + 1 ) , | ||
| 633 | D3D10_INCLUDE_LOCAL = D3D_INCLUDE_LOCAL, | ||
| 634 | D3D10_INCLUDE_SYSTEM = D3D_INCLUDE_SYSTEM, | ||
| 635 | D3D_INCLUDE_FORCE_DWORD = 0x7fffffff | ||
| 636 | } D3D_INCLUDE_TYPE; | ||
| 637 | |||
| 638 | typedef interface ID3DInclude ID3DInclude; | ||
| 639 | #undef INTERFACE | ||
| 640 | #define INTERFACE ID3DInclude | ||
| 641 | DECLARE_INTERFACE(ID3DInclude) | ||
| 642 | { | ||
| 643 | STDMETHOD(Open)(THIS_ D3D_INCLUDE_TYPE IncludeType, LPCSTR pFileName, LPCVOID pParentData, LPCVOID *ppData, UINT *pBytes) PURE; | ||
| 644 | STDMETHOD(Close)(THIS_ LPCVOID pData) PURE; | ||
| 645 | }; | ||
| 646 | typedef ID3DInclude* LPD3DINCLUDE; | ||
| 647 | typedef | ||
| 648 | enum _D3D_SHADER_VARIABLE_CLASS | ||
| 649 | { | ||
| 650 | D3D_SVC_SCALAR = 0, | ||
| 651 | D3D_SVC_VECTOR = ( D3D_SVC_SCALAR + 1 ) , | ||
| 652 | D3D_SVC_MATRIX_ROWS = ( D3D_SVC_VECTOR + 1 ) , | ||
| 653 | D3D_SVC_MATRIX_COLUMNS = ( D3D_SVC_MATRIX_ROWS + 1 ) , | ||
| 654 | D3D_SVC_OBJECT = ( D3D_SVC_MATRIX_COLUMNS + 1 ) , | ||
| 655 | D3D_SVC_STRUCT = ( D3D_SVC_OBJECT + 1 ) , | ||
| 656 | D3D_SVC_INTERFACE_CLASS = ( D3D_SVC_STRUCT + 1 ) , | ||
| 657 | D3D_SVC_INTERFACE_POINTER = ( D3D_SVC_INTERFACE_CLASS + 1 ) , | ||
| 658 | D3D10_SVC_SCALAR = D3D_SVC_SCALAR, | ||
| 659 | D3D10_SVC_VECTOR = D3D_SVC_VECTOR, | ||
| 660 | D3D10_SVC_MATRIX_ROWS = D3D_SVC_MATRIX_ROWS, | ||
| 661 | D3D10_SVC_MATRIX_COLUMNS = D3D_SVC_MATRIX_COLUMNS, | ||
| 662 | D3D10_SVC_OBJECT = D3D_SVC_OBJECT, | ||
| 663 | D3D10_SVC_STRUCT = D3D_SVC_STRUCT, | ||
| 664 | D3D11_SVC_INTERFACE_CLASS = D3D_SVC_INTERFACE_CLASS, | ||
| 665 | D3D11_SVC_INTERFACE_POINTER = D3D_SVC_INTERFACE_POINTER, | ||
| 666 | D3D_SVC_FORCE_DWORD = 0x7fffffff | ||
| 667 | } D3D_SHADER_VARIABLE_CLASS; | ||
| 668 | |||
| 669 | typedef | ||
| 670 | enum _D3D_SHADER_VARIABLE_FLAGS | ||
| 671 | { | ||
| 672 | D3D_SVF_USERPACKED = 1, | ||
| 673 | D3D_SVF_USED = 2, | ||
| 674 | D3D_SVF_INTERFACE_POINTER = 4, | ||
| 675 | D3D_SVF_INTERFACE_PARAMETER = 8, | ||
| 676 | D3D10_SVF_USERPACKED = D3D_SVF_USERPACKED, | ||
| 677 | D3D10_SVF_USED = D3D_SVF_USED, | ||
| 678 | D3D11_SVF_INTERFACE_POINTER = D3D_SVF_INTERFACE_POINTER, | ||
| 679 | D3D11_SVF_INTERFACE_PARAMETER = D3D_SVF_INTERFACE_PARAMETER, | ||
| 680 | D3D_SVF_FORCE_DWORD = 0x7fffffff | ||
| 681 | } D3D_SHADER_VARIABLE_FLAGS; | ||
| 682 | |||
| 683 | typedef | ||
| 684 | enum _D3D_SHADER_VARIABLE_TYPE | ||
| 685 | { | ||
| 686 | D3D_SVT_VOID = 0, | ||
| 687 | D3D_SVT_BOOL = 1, | ||
| 688 | D3D_SVT_INT = 2, | ||
| 689 | D3D_SVT_FLOAT = 3, | ||
| 690 | D3D_SVT_STRING = 4, | ||
| 691 | D3D_SVT_TEXTURE = 5, | ||
| 692 | D3D_SVT_TEXTURE1D = 6, | ||
| 693 | D3D_SVT_TEXTURE2D = 7, | ||
| 694 | D3D_SVT_TEXTURE3D = 8, | ||
| 695 | D3D_SVT_TEXTURECUBE = 9, | ||
| 696 | D3D_SVT_SAMPLER = 10, | ||
| 697 | D3D_SVT_SAMPLER1D = 11, | ||
| 698 | D3D_SVT_SAMPLER2D = 12, | ||
| 699 | D3D_SVT_SAMPLER3D = 13, | ||
| 700 | D3D_SVT_SAMPLERCUBE = 14, | ||
| 701 | D3D_SVT_PIXELSHADER = 15, | ||
| 702 | D3D_SVT_VERTEXSHADER = 16, | ||
| 703 | D3D_SVT_PIXELFRAGMENT = 17, | ||
| 704 | D3D_SVT_VERTEXFRAGMENT = 18, | ||
| 705 | D3D_SVT_UINT = 19, | ||
| 706 | D3D_SVT_UINT8 = 20, | ||
| 707 | D3D_SVT_GEOMETRYSHADER = 21, | ||
| 708 | D3D_SVT_RASTERIZER = 22, | ||
| 709 | D3D_SVT_DEPTHSTENCIL = 23, | ||
| 710 | D3D_SVT_BLEND = 24, | ||
| 711 | D3D_SVT_BUFFER = 25, | ||
| 712 | D3D_SVT_CBUFFER = 26, | ||
| 713 | D3D_SVT_TBUFFER = 27, | ||
| 714 | D3D_SVT_TEXTURE1DARRAY = 28, | ||
| 715 | D3D_SVT_TEXTURE2DARRAY = 29, | ||
| 716 | D3D_SVT_RENDERTARGETVIEW = 30, | ||
| 717 | D3D_SVT_DEPTHSTENCILVIEW = 31, | ||
| 718 | D3D_SVT_TEXTURE2DMS = 32, | ||
| 719 | D3D_SVT_TEXTURE2DMSARRAY = 33, | ||
| 720 | D3D_SVT_TEXTURECUBEARRAY = 34, | ||
| 721 | D3D_SVT_HULLSHADER = 35, | ||
| 722 | D3D_SVT_DOMAINSHADER = 36, | ||
| 723 | D3D_SVT_INTERFACE_POINTER = 37, | ||
| 724 | D3D_SVT_COMPUTESHADER = 38, | ||
| 725 | D3D_SVT_DOUBLE = 39, | ||
| 726 | D3D_SVT_RWTEXTURE1D = 40, | ||
| 727 | D3D_SVT_RWTEXTURE1DARRAY = 41, | ||
| 728 | D3D_SVT_RWTEXTURE2D = 42, | ||
| 729 | D3D_SVT_RWTEXTURE2DARRAY = 43, | ||
| 730 | D3D_SVT_RWTEXTURE3D = 44, | ||
| 731 | D3D_SVT_RWBUFFER = 45, | ||
| 732 | D3D_SVT_BYTEADDRESS_BUFFER = 46, | ||
| 733 | D3D_SVT_RWBYTEADDRESS_BUFFER = 47, | ||
| 734 | D3D_SVT_STRUCTURED_BUFFER = 48, | ||
| 735 | D3D_SVT_RWSTRUCTURED_BUFFER = 49, | ||
| 736 | D3D_SVT_APPEND_STRUCTURED_BUFFER = 50, | ||
| 737 | D3D_SVT_CONSUME_STRUCTURED_BUFFER = 51, | ||
| 738 | D3D_SVT_MIN8FLOAT = 52, | ||
| 739 | D3D_SVT_MIN10FLOAT = 53, | ||
| 740 | D3D_SVT_MIN16FLOAT = 54, | ||
| 741 | D3D_SVT_MIN12INT = 55, | ||
| 742 | D3D_SVT_MIN16INT = 56, | ||
| 743 | D3D_SVT_MIN16UINT = 57, | ||
| 744 | D3D_SVT_INT16 = 58, | ||
| 745 | D3D_SVT_UINT16 = 59, | ||
| 746 | D3D_SVT_FLOAT16 = 60, | ||
| 747 | D3D_SVT_INT64 = 61, | ||
| 748 | D3D_SVT_UINT64 = 62, | ||
| 749 | D3D10_SVT_VOID = D3D_SVT_VOID, | ||
| 750 | D3D10_SVT_BOOL = D3D_SVT_BOOL, | ||
| 751 | D3D10_SVT_INT = D3D_SVT_INT, | ||
| 752 | D3D10_SVT_FLOAT = D3D_SVT_FLOAT, | ||
| 753 | D3D10_SVT_STRING = D3D_SVT_STRING, | ||
| 754 | D3D10_SVT_TEXTURE = D3D_SVT_TEXTURE, | ||
| 755 | D3D10_SVT_TEXTURE1D = D3D_SVT_TEXTURE1D, | ||
| 756 | D3D10_SVT_TEXTURE2D = D3D_SVT_TEXTURE2D, | ||
| 757 | D3D10_SVT_TEXTURE3D = D3D_SVT_TEXTURE3D, | ||
| 758 | D3D10_SVT_TEXTURECUBE = D3D_SVT_TEXTURECUBE, | ||
| 759 | D3D10_SVT_SAMPLER = D3D_SVT_SAMPLER, | ||
| 760 | D3D10_SVT_SAMPLER1D = D3D_SVT_SAMPLER1D, | ||
| 761 | D3D10_SVT_SAMPLER2D = D3D_SVT_SAMPLER2D, | ||
| 762 | D3D10_SVT_SAMPLER3D = D3D_SVT_SAMPLER3D, | ||
| 763 | D3D10_SVT_SAMPLERCUBE = D3D_SVT_SAMPLERCUBE, | ||
| 764 | D3D10_SVT_PIXELSHADER = D3D_SVT_PIXELSHADER, | ||
| 765 | D3D10_SVT_VERTEXSHADER = D3D_SVT_VERTEXSHADER, | ||
| 766 | D3D10_SVT_PIXELFRAGMENT = D3D_SVT_PIXELFRAGMENT, | ||
| 767 | D3D10_SVT_VERTEXFRAGMENT = D3D_SVT_VERTEXFRAGMENT, | ||
| 768 | D3D10_SVT_UINT = D3D_SVT_UINT, | ||
| 769 | D3D10_SVT_UINT8 = D3D_SVT_UINT8, | ||
| 770 | D3D10_SVT_GEOMETRYSHADER = D3D_SVT_GEOMETRYSHADER, | ||
| 771 | D3D10_SVT_RASTERIZER = D3D_SVT_RASTERIZER, | ||
| 772 | D3D10_SVT_DEPTHSTENCIL = D3D_SVT_DEPTHSTENCIL, | ||
| 773 | D3D10_SVT_BLEND = D3D_SVT_BLEND, | ||
| 774 | D3D10_SVT_BUFFER = D3D_SVT_BUFFER, | ||
| 775 | D3D10_SVT_CBUFFER = D3D_SVT_CBUFFER, | ||
| 776 | D3D10_SVT_TBUFFER = D3D_SVT_TBUFFER, | ||
| 777 | D3D10_SVT_TEXTURE1DARRAY = D3D_SVT_TEXTURE1DARRAY, | ||
| 778 | D3D10_SVT_TEXTURE2DARRAY = D3D_SVT_TEXTURE2DARRAY, | ||
| 779 | D3D10_SVT_RENDERTARGETVIEW = D3D_SVT_RENDERTARGETVIEW, | ||
| 780 | D3D10_SVT_DEPTHSTENCILVIEW = D3D_SVT_DEPTHSTENCILVIEW, | ||
| 781 | D3D10_SVT_TEXTURE2DMS = D3D_SVT_TEXTURE2DMS, | ||
| 782 | D3D10_SVT_TEXTURE2DMSARRAY = D3D_SVT_TEXTURE2DMSARRAY, | ||
| 783 | D3D10_SVT_TEXTURECUBEARRAY = D3D_SVT_TEXTURECUBEARRAY, | ||
| 784 | D3D11_SVT_HULLSHADER = D3D_SVT_HULLSHADER, | ||
| 785 | D3D11_SVT_DOMAINSHADER = D3D_SVT_DOMAINSHADER, | ||
| 786 | D3D11_SVT_INTERFACE_POINTER = D3D_SVT_INTERFACE_POINTER, | ||
| 787 | D3D11_SVT_COMPUTESHADER = D3D_SVT_COMPUTESHADER, | ||
| 788 | D3D11_SVT_DOUBLE = D3D_SVT_DOUBLE, | ||
| 789 | D3D11_SVT_RWTEXTURE1D = D3D_SVT_RWTEXTURE1D, | ||
| 790 | D3D11_SVT_RWTEXTURE1DARRAY = D3D_SVT_RWTEXTURE1DARRAY, | ||
| 791 | D3D11_SVT_RWTEXTURE2D = D3D_SVT_RWTEXTURE2D, | ||
| 792 | D3D11_SVT_RWTEXTURE2DARRAY = D3D_SVT_RWTEXTURE2DARRAY, | ||
| 793 | D3D11_SVT_RWTEXTURE3D = D3D_SVT_RWTEXTURE3D, | ||
| 794 | D3D11_SVT_RWBUFFER = D3D_SVT_RWBUFFER, | ||
| 795 | D3D11_SVT_BYTEADDRESS_BUFFER = D3D_SVT_BYTEADDRESS_BUFFER, | ||
| 796 | D3D11_SVT_RWBYTEADDRESS_BUFFER = D3D_SVT_RWBYTEADDRESS_BUFFER, | ||
| 797 | D3D11_SVT_STRUCTURED_BUFFER = D3D_SVT_STRUCTURED_BUFFER, | ||
| 798 | D3D11_SVT_RWSTRUCTURED_BUFFER = D3D_SVT_RWSTRUCTURED_BUFFER, | ||
| 799 | D3D11_SVT_APPEND_STRUCTURED_BUFFER = D3D_SVT_APPEND_STRUCTURED_BUFFER, | ||
| 800 | D3D11_SVT_CONSUME_STRUCTURED_BUFFER = D3D_SVT_CONSUME_STRUCTURED_BUFFER, | ||
| 801 | D3D_SVT_FORCE_DWORD = 0x7fffffff | ||
| 802 | } D3D_SHADER_VARIABLE_TYPE; | ||
| 803 | |||
| 804 | typedef | ||
| 805 | enum _D3D_SHADER_INPUT_FLAGS | ||
| 806 | { | ||
| 807 | D3D_SIF_USERPACKED = 0x1, | ||
| 808 | D3D_SIF_COMPARISON_SAMPLER = 0x2, | ||
| 809 | D3D_SIF_TEXTURE_COMPONENT_0 = 0x4, | ||
| 810 | D3D_SIF_TEXTURE_COMPONENT_1 = 0x8, | ||
| 811 | D3D_SIF_TEXTURE_COMPONENTS = 0xc, | ||
| 812 | D3D_SIF_UNUSED = 0x10, | ||
| 813 | D3D10_SIF_USERPACKED = D3D_SIF_USERPACKED, | ||
| 814 | D3D10_SIF_COMPARISON_SAMPLER = D3D_SIF_COMPARISON_SAMPLER, | ||
| 815 | D3D10_SIF_TEXTURE_COMPONENT_0 = D3D_SIF_TEXTURE_COMPONENT_0, | ||
| 816 | D3D10_SIF_TEXTURE_COMPONENT_1 = D3D_SIF_TEXTURE_COMPONENT_1, | ||
| 817 | D3D10_SIF_TEXTURE_COMPONENTS = D3D_SIF_TEXTURE_COMPONENTS, | ||
| 818 | D3D_SIF_FORCE_DWORD = 0x7fffffff | ||
| 819 | } D3D_SHADER_INPUT_FLAGS; | ||
| 820 | |||
| 821 | typedef | ||
| 822 | enum _D3D_SHADER_INPUT_TYPE | ||
| 823 | { | ||
| 824 | D3D_SIT_CBUFFER = 0, | ||
| 825 | D3D_SIT_TBUFFER = ( D3D_SIT_CBUFFER + 1 ) , | ||
| 826 | D3D_SIT_TEXTURE = ( D3D_SIT_TBUFFER + 1 ) , | ||
| 827 | D3D_SIT_SAMPLER = ( D3D_SIT_TEXTURE + 1 ) , | ||
| 828 | D3D_SIT_UAV_RWTYPED = ( D3D_SIT_SAMPLER + 1 ) , | ||
| 829 | D3D_SIT_STRUCTURED = ( D3D_SIT_UAV_RWTYPED + 1 ) , | ||
| 830 | D3D_SIT_UAV_RWSTRUCTURED = ( D3D_SIT_STRUCTURED + 1 ) , | ||
| 831 | D3D_SIT_BYTEADDRESS = ( D3D_SIT_UAV_RWSTRUCTURED + 1 ) , | ||
| 832 | D3D_SIT_UAV_RWBYTEADDRESS = ( D3D_SIT_BYTEADDRESS + 1 ) , | ||
| 833 | D3D_SIT_UAV_APPEND_STRUCTURED = ( D3D_SIT_UAV_RWBYTEADDRESS + 1 ) , | ||
| 834 | D3D_SIT_UAV_CONSUME_STRUCTURED = ( D3D_SIT_UAV_APPEND_STRUCTURED + 1 ) , | ||
| 835 | D3D_SIT_UAV_RWSTRUCTURED_WITH_COUNTER = ( D3D_SIT_UAV_CONSUME_STRUCTURED + 1 ) , | ||
| 836 | D3D_SIT_RTACCELERATIONSTRUCTURE = ( D3D_SIT_UAV_RWSTRUCTURED_WITH_COUNTER + 1 ) , | ||
| 837 | D3D_SIT_UAV_FEEDBACKTEXTURE = ( D3D_SIT_RTACCELERATIONSTRUCTURE + 1 ) , | ||
| 838 | D3D10_SIT_CBUFFER = D3D_SIT_CBUFFER, | ||
| 839 | D3D10_SIT_TBUFFER = D3D_SIT_TBUFFER, | ||
| 840 | D3D10_SIT_TEXTURE = D3D_SIT_TEXTURE, | ||
| 841 | D3D10_SIT_SAMPLER = D3D_SIT_SAMPLER, | ||
| 842 | D3D11_SIT_UAV_RWTYPED = D3D_SIT_UAV_RWTYPED, | ||
| 843 | D3D11_SIT_STRUCTURED = D3D_SIT_STRUCTURED, | ||
| 844 | D3D11_SIT_UAV_RWSTRUCTURED = D3D_SIT_UAV_RWSTRUCTURED, | ||
| 845 | D3D11_SIT_BYTEADDRESS = D3D_SIT_BYTEADDRESS, | ||
| 846 | D3D11_SIT_UAV_RWBYTEADDRESS = D3D_SIT_UAV_RWBYTEADDRESS, | ||
| 847 | D3D11_SIT_UAV_APPEND_STRUCTURED = D3D_SIT_UAV_APPEND_STRUCTURED, | ||
| 848 | D3D11_SIT_UAV_CONSUME_STRUCTURED = D3D_SIT_UAV_CONSUME_STRUCTURED, | ||
| 849 | D3D11_SIT_UAV_RWSTRUCTURED_WITH_COUNTER = D3D_SIT_UAV_RWSTRUCTURED_WITH_COUNTER | ||
| 850 | } D3D_SHADER_INPUT_TYPE; | ||
| 851 | |||
| 852 | typedef | ||
| 853 | enum _D3D_SHADER_CBUFFER_FLAGS | ||
| 854 | { | ||
| 855 | D3D_CBF_USERPACKED = 1, | ||
| 856 | D3D10_CBF_USERPACKED = D3D_CBF_USERPACKED, | ||
| 857 | D3D_CBF_FORCE_DWORD = 0x7fffffff | ||
| 858 | } D3D_SHADER_CBUFFER_FLAGS; | ||
| 859 | |||
| 860 | typedef | ||
| 861 | enum _D3D_CBUFFER_TYPE | ||
| 862 | { | ||
| 863 | D3D_CT_CBUFFER = 0, | ||
| 864 | D3D_CT_TBUFFER = ( D3D_CT_CBUFFER + 1 ) , | ||
| 865 | D3D_CT_INTERFACE_POINTERS = ( D3D_CT_TBUFFER + 1 ) , | ||
| 866 | D3D_CT_RESOURCE_BIND_INFO = ( D3D_CT_INTERFACE_POINTERS + 1 ) , | ||
| 867 | D3D10_CT_CBUFFER = D3D_CT_CBUFFER, | ||
| 868 | D3D10_CT_TBUFFER = D3D_CT_TBUFFER, | ||
| 869 | D3D11_CT_CBUFFER = D3D_CT_CBUFFER, | ||
| 870 | D3D11_CT_TBUFFER = D3D_CT_TBUFFER, | ||
| 871 | D3D11_CT_INTERFACE_POINTERS = D3D_CT_INTERFACE_POINTERS, | ||
| 872 | D3D11_CT_RESOURCE_BIND_INFO = D3D_CT_RESOURCE_BIND_INFO | ||
| 873 | } D3D_CBUFFER_TYPE; | ||
| 874 | |||
| 875 | typedef | ||
| 876 | enum D3D_NAME | ||
| 877 | { | ||
| 878 | D3D_NAME_UNDEFINED = 0, | ||
| 879 | D3D_NAME_POSITION = 1, | ||
| 880 | D3D_NAME_CLIP_DISTANCE = 2, | ||
| 881 | D3D_NAME_CULL_DISTANCE = 3, | ||
| 882 | D3D_NAME_RENDER_TARGET_ARRAY_INDEX = 4, | ||
| 883 | D3D_NAME_VIEWPORT_ARRAY_INDEX = 5, | ||
| 884 | D3D_NAME_VERTEX_ID = 6, | ||
| 885 | D3D_NAME_PRIMITIVE_ID = 7, | ||
| 886 | D3D_NAME_INSTANCE_ID = 8, | ||
| 887 | D3D_NAME_IS_FRONT_FACE = 9, | ||
| 888 | D3D_NAME_SAMPLE_INDEX = 10, | ||
| 889 | D3D_NAME_FINAL_QUAD_EDGE_TESSFACTOR = 11, | ||
| 890 | D3D_NAME_FINAL_QUAD_INSIDE_TESSFACTOR = 12, | ||
| 891 | D3D_NAME_FINAL_TRI_EDGE_TESSFACTOR = 13, | ||
| 892 | D3D_NAME_FINAL_TRI_INSIDE_TESSFACTOR = 14, | ||
| 893 | D3D_NAME_FINAL_LINE_DETAIL_TESSFACTOR = 15, | ||
| 894 | D3D_NAME_FINAL_LINE_DENSITY_TESSFACTOR = 16, | ||
| 895 | D3D_NAME_BARYCENTRICS = 23, | ||
| 896 | D3D_NAME_SHADINGRATE = 24, | ||
| 897 | D3D_NAME_CULLPRIMITIVE = 25, | ||
| 898 | D3D_NAME_TARGET = 64, | ||
| 899 | D3D_NAME_DEPTH = 65, | ||
| 900 | D3D_NAME_COVERAGE = 66, | ||
| 901 | D3D_NAME_DEPTH_GREATER_EQUAL = 67, | ||
| 902 | D3D_NAME_DEPTH_LESS_EQUAL = 68, | ||
| 903 | D3D_NAME_STENCIL_REF = 69, | ||
| 904 | D3D_NAME_INNER_COVERAGE = 70, | ||
| 905 | D3D10_NAME_UNDEFINED = D3D_NAME_UNDEFINED, | ||
| 906 | D3D10_NAME_POSITION = D3D_NAME_POSITION, | ||
| 907 | D3D10_NAME_CLIP_DISTANCE = D3D_NAME_CLIP_DISTANCE, | ||
| 908 | D3D10_NAME_CULL_DISTANCE = D3D_NAME_CULL_DISTANCE, | ||
| 909 | D3D10_NAME_RENDER_TARGET_ARRAY_INDEX = D3D_NAME_RENDER_TARGET_ARRAY_INDEX, | ||
| 910 | D3D10_NAME_VIEWPORT_ARRAY_INDEX = D3D_NAME_VIEWPORT_ARRAY_INDEX, | ||
| 911 | D3D10_NAME_VERTEX_ID = D3D_NAME_VERTEX_ID, | ||
| 912 | D3D10_NAME_PRIMITIVE_ID = D3D_NAME_PRIMITIVE_ID, | ||
| 913 | D3D10_NAME_INSTANCE_ID = D3D_NAME_INSTANCE_ID, | ||
| 914 | D3D10_NAME_IS_FRONT_FACE = D3D_NAME_IS_FRONT_FACE, | ||
| 915 | D3D10_NAME_SAMPLE_INDEX = D3D_NAME_SAMPLE_INDEX, | ||
| 916 | D3D10_NAME_TARGET = D3D_NAME_TARGET, | ||
| 917 | D3D10_NAME_DEPTH = D3D_NAME_DEPTH, | ||
| 918 | D3D10_NAME_COVERAGE = D3D_NAME_COVERAGE, | ||
| 919 | D3D11_NAME_FINAL_QUAD_EDGE_TESSFACTOR = D3D_NAME_FINAL_QUAD_EDGE_TESSFACTOR, | ||
| 920 | D3D11_NAME_FINAL_QUAD_INSIDE_TESSFACTOR = D3D_NAME_FINAL_QUAD_INSIDE_TESSFACTOR, | ||
| 921 | D3D11_NAME_FINAL_TRI_EDGE_TESSFACTOR = D3D_NAME_FINAL_TRI_EDGE_TESSFACTOR, | ||
| 922 | D3D11_NAME_FINAL_TRI_INSIDE_TESSFACTOR = D3D_NAME_FINAL_TRI_INSIDE_TESSFACTOR, | ||
| 923 | D3D11_NAME_FINAL_LINE_DETAIL_TESSFACTOR = D3D_NAME_FINAL_LINE_DETAIL_TESSFACTOR, | ||
| 924 | D3D11_NAME_FINAL_LINE_DENSITY_TESSFACTOR = D3D_NAME_FINAL_LINE_DENSITY_TESSFACTOR, | ||
| 925 | D3D11_NAME_DEPTH_GREATER_EQUAL = D3D_NAME_DEPTH_GREATER_EQUAL, | ||
| 926 | D3D11_NAME_DEPTH_LESS_EQUAL = D3D_NAME_DEPTH_LESS_EQUAL, | ||
| 927 | D3D11_NAME_STENCIL_REF = D3D_NAME_STENCIL_REF, | ||
| 928 | D3D11_NAME_INNER_COVERAGE = D3D_NAME_INNER_COVERAGE, | ||
| 929 | D3D12_NAME_BARYCENTRICS = D3D_NAME_BARYCENTRICS, | ||
| 930 | D3D12_NAME_SHADINGRATE = D3D_NAME_SHADINGRATE, | ||
| 931 | D3D12_NAME_CULLPRIMITIVE = D3D_NAME_CULLPRIMITIVE | ||
| 932 | } D3D_NAME; | ||
| 933 | |||
| 934 | typedef | ||
| 935 | enum D3D_RESOURCE_RETURN_TYPE | ||
| 936 | { | ||
| 937 | D3D_RETURN_TYPE_UNORM = 1, | ||
| 938 | D3D_RETURN_TYPE_SNORM = 2, | ||
| 939 | D3D_RETURN_TYPE_SINT = 3, | ||
| 940 | D3D_RETURN_TYPE_UINT = 4, | ||
| 941 | D3D_RETURN_TYPE_FLOAT = 5, | ||
| 942 | D3D_RETURN_TYPE_MIXED = 6, | ||
| 943 | D3D_RETURN_TYPE_DOUBLE = 7, | ||
| 944 | D3D_RETURN_TYPE_CONTINUED = 8, | ||
| 945 | D3D10_RETURN_TYPE_UNORM = D3D_RETURN_TYPE_UNORM, | ||
| 946 | D3D10_RETURN_TYPE_SNORM = D3D_RETURN_TYPE_SNORM, | ||
| 947 | D3D10_RETURN_TYPE_SINT = D3D_RETURN_TYPE_SINT, | ||
| 948 | D3D10_RETURN_TYPE_UINT = D3D_RETURN_TYPE_UINT, | ||
| 949 | D3D10_RETURN_TYPE_FLOAT = D3D_RETURN_TYPE_FLOAT, | ||
| 950 | D3D10_RETURN_TYPE_MIXED = D3D_RETURN_TYPE_MIXED, | ||
| 951 | D3D11_RETURN_TYPE_UNORM = D3D_RETURN_TYPE_UNORM, | ||
| 952 | D3D11_RETURN_TYPE_SNORM = D3D_RETURN_TYPE_SNORM, | ||
| 953 | D3D11_RETURN_TYPE_SINT = D3D_RETURN_TYPE_SINT, | ||
| 954 | D3D11_RETURN_TYPE_UINT = D3D_RETURN_TYPE_UINT, | ||
| 955 | D3D11_RETURN_TYPE_FLOAT = D3D_RETURN_TYPE_FLOAT, | ||
| 956 | D3D11_RETURN_TYPE_MIXED = D3D_RETURN_TYPE_MIXED, | ||
| 957 | D3D11_RETURN_TYPE_DOUBLE = D3D_RETURN_TYPE_DOUBLE, | ||
| 958 | D3D11_RETURN_TYPE_CONTINUED = D3D_RETURN_TYPE_CONTINUED | ||
| 959 | } D3D_RESOURCE_RETURN_TYPE; | ||
| 960 | |||
| 961 | typedef | ||
| 962 | enum D3D_REGISTER_COMPONENT_TYPE | ||
| 963 | { | ||
| 964 | D3D_REGISTER_COMPONENT_UNKNOWN = 0, | ||
| 965 | D3D_REGISTER_COMPONENT_UINT32 = 1, | ||
| 966 | D3D_REGISTER_COMPONENT_SINT32 = 2, | ||
| 967 | D3D_REGISTER_COMPONENT_FLOAT32 = 3, | ||
| 968 | D3D_REGISTER_COMPONENT_UINT16 = 4, | ||
| 969 | D3D_REGISTER_COMPONENT_SINT16 = 5, | ||
| 970 | D3D_REGISTER_COMPONENT_FLOAT16 = 6, | ||
| 971 | D3D_REGISTER_COMPONENT_UINT64 = 7, | ||
| 972 | D3D_REGISTER_COMPONENT_SINT64 = 8, | ||
| 973 | D3D_REGISTER_COMPONENT_FLOAT64 = 9, | ||
| 974 | D3D10_REGISTER_COMPONENT_UNKNOWN = D3D_REGISTER_COMPONENT_UNKNOWN, | ||
| 975 | D3D10_REGISTER_COMPONENT_UINT32 = D3D_REGISTER_COMPONENT_UINT32, | ||
| 976 | D3D10_REGISTER_COMPONENT_SINT32 = D3D_REGISTER_COMPONENT_SINT32, | ||
| 977 | D3D10_REGISTER_COMPONENT_FLOAT32 = D3D_REGISTER_COMPONENT_FLOAT32, | ||
| 978 | D3D10_REGISTER_COMPONENT_UINT16 = D3D_REGISTER_COMPONENT_UINT16, | ||
| 979 | D3D10_REGISTER_COMPONENT_SINT16 = D3D_REGISTER_COMPONENT_SINT16, | ||
| 980 | D3D10_REGISTER_COMPONENT_FLOAT16 = D3D_REGISTER_COMPONENT_FLOAT16, | ||
| 981 | D3D10_REGISTER_COMPONENT_UINT64 = D3D_REGISTER_COMPONENT_UINT64, | ||
| 982 | D3D10_REGISTER_COMPONENT_SINT64 = D3D_REGISTER_COMPONENT_SINT64, | ||
| 983 | D3D10_REGISTER_COMPONENT_FLOAT64 = D3D_REGISTER_COMPONENT_FLOAT64 | ||
| 984 | } D3D_REGISTER_COMPONENT_TYPE; | ||
| 985 | |||
| 986 | typedef | ||
| 987 | enum D3D_TESSELLATOR_DOMAIN | ||
| 988 | { | ||
| 989 | D3D_TESSELLATOR_DOMAIN_UNDEFINED = 0, | ||
| 990 | D3D_TESSELLATOR_DOMAIN_ISOLINE = 1, | ||
| 991 | D3D_TESSELLATOR_DOMAIN_TRI = 2, | ||
| 992 | D3D_TESSELLATOR_DOMAIN_QUAD = 3, | ||
| 993 | D3D11_TESSELLATOR_DOMAIN_UNDEFINED = D3D_TESSELLATOR_DOMAIN_UNDEFINED, | ||
| 994 | D3D11_TESSELLATOR_DOMAIN_ISOLINE = D3D_TESSELLATOR_DOMAIN_ISOLINE, | ||
| 995 | D3D11_TESSELLATOR_DOMAIN_TRI = D3D_TESSELLATOR_DOMAIN_TRI, | ||
| 996 | D3D11_TESSELLATOR_DOMAIN_QUAD = D3D_TESSELLATOR_DOMAIN_QUAD | ||
| 997 | } D3D_TESSELLATOR_DOMAIN; | ||
| 998 | |||
| 999 | typedef | ||
| 1000 | enum D3D_TESSELLATOR_PARTITIONING | ||
| 1001 | { | ||
| 1002 | D3D_TESSELLATOR_PARTITIONING_UNDEFINED = 0, | ||
| 1003 | D3D_TESSELLATOR_PARTITIONING_INTEGER = 1, | ||
| 1004 | D3D_TESSELLATOR_PARTITIONING_POW2 = 2, | ||
| 1005 | D3D_TESSELLATOR_PARTITIONING_FRACTIONAL_ODD = 3, | ||
| 1006 | D3D_TESSELLATOR_PARTITIONING_FRACTIONAL_EVEN = 4, | ||
| 1007 | D3D11_TESSELLATOR_PARTITIONING_UNDEFINED = D3D_TESSELLATOR_PARTITIONING_UNDEFINED, | ||
| 1008 | D3D11_TESSELLATOR_PARTITIONING_INTEGER = D3D_TESSELLATOR_PARTITIONING_INTEGER, | ||
| 1009 | D3D11_TESSELLATOR_PARTITIONING_POW2 = D3D_TESSELLATOR_PARTITIONING_POW2, | ||
| 1010 | D3D11_TESSELLATOR_PARTITIONING_FRACTIONAL_ODD = D3D_TESSELLATOR_PARTITIONING_FRACTIONAL_ODD, | ||
| 1011 | D3D11_TESSELLATOR_PARTITIONING_FRACTIONAL_EVEN = D3D_TESSELLATOR_PARTITIONING_FRACTIONAL_EVEN | ||
| 1012 | } D3D_TESSELLATOR_PARTITIONING; | ||
| 1013 | |||
| 1014 | typedef | ||
| 1015 | enum D3D_TESSELLATOR_OUTPUT_PRIMITIVE | ||
| 1016 | { | ||
| 1017 | D3D_TESSELLATOR_OUTPUT_UNDEFINED = 0, | ||
| 1018 | D3D_TESSELLATOR_OUTPUT_POINT = 1, | ||
| 1019 | D3D_TESSELLATOR_OUTPUT_LINE = 2, | ||
| 1020 | D3D_TESSELLATOR_OUTPUT_TRIANGLE_CW = 3, | ||
| 1021 | D3D_TESSELLATOR_OUTPUT_TRIANGLE_CCW = 4, | ||
| 1022 | D3D11_TESSELLATOR_OUTPUT_UNDEFINED = D3D_TESSELLATOR_OUTPUT_UNDEFINED, | ||
| 1023 | D3D11_TESSELLATOR_OUTPUT_POINT = D3D_TESSELLATOR_OUTPUT_POINT, | ||
| 1024 | D3D11_TESSELLATOR_OUTPUT_LINE = D3D_TESSELLATOR_OUTPUT_LINE, | ||
| 1025 | D3D11_TESSELLATOR_OUTPUT_TRIANGLE_CW = D3D_TESSELLATOR_OUTPUT_TRIANGLE_CW, | ||
| 1026 | D3D11_TESSELLATOR_OUTPUT_TRIANGLE_CCW = D3D_TESSELLATOR_OUTPUT_TRIANGLE_CCW | ||
| 1027 | } D3D_TESSELLATOR_OUTPUT_PRIMITIVE; | ||
| 1028 | |||
| 1029 | typedef | ||
| 1030 | enum D3D_MIN_PRECISION | ||
| 1031 | { | ||
| 1032 | D3D_MIN_PRECISION_DEFAULT = 0, | ||
| 1033 | D3D_MIN_PRECISION_FLOAT_16 = 1, | ||
| 1034 | D3D_MIN_PRECISION_FLOAT_2_8 = 2, | ||
| 1035 | D3D_MIN_PRECISION_RESERVED = 3, | ||
| 1036 | D3D_MIN_PRECISION_SINT_16 = 4, | ||
| 1037 | D3D_MIN_PRECISION_UINT_16 = 5, | ||
| 1038 | D3D_MIN_PRECISION_ANY_16 = 0xf0, | ||
| 1039 | D3D_MIN_PRECISION_ANY_10 = 0xf1 | ||
| 1040 | } D3D_MIN_PRECISION; | ||
| 1041 | |||
| 1042 | typedef | ||
| 1043 | enum D3D_INTERPOLATION_MODE | ||
| 1044 | { | ||
| 1045 | D3D_INTERPOLATION_UNDEFINED = 0, | ||
| 1046 | D3D_INTERPOLATION_CONSTANT = 1, | ||
| 1047 | D3D_INTERPOLATION_LINEAR = 2, | ||
| 1048 | D3D_INTERPOLATION_LINEAR_CENTROID = 3, | ||
| 1049 | D3D_INTERPOLATION_LINEAR_NOPERSPECTIVE = 4, | ||
| 1050 | D3D_INTERPOLATION_LINEAR_NOPERSPECTIVE_CENTROID = 5, | ||
| 1051 | D3D_INTERPOLATION_LINEAR_SAMPLE = 6, | ||
| 1052 | D3D_INTERPOLATION_LINEAR_NOPERSPECTIVE_SAMPLE = 7 | ||
| 1053 | } D3D_INTERPOLATION_MODE; | ||
| 1054 | |||
| 1055 | typedef | ||
| 1056 | enum _D3D_PARAMETER_FLAGS | ||
| 1057 | { | ||
| 1058 | D3D_PF_NONE = 0, | ||
| 1059 | D3D_PF_IN = 0x1, | ||
| 1060 | D3D_PF_OUT = 0x2, | ||
| 1061 | D3D_PF_FORCE_DWORD = 0x7fffffff | ||
| 1062 | } D3D_PARAMETER_FLAGS; | ||
| 1063 | |||
| 1064 | typedef | ||
| 1065 | enum D3D_FORMAT_LAYOUT | ||
| 1066 | { | ||
| 1067 | D3DFL_STANDARD = 0, | ||
| 1068 | D3DFL_CUSTOM = -1 | ||
| 1069 | } D3D_FORMAT_LAYOUT; | ||
| 1070 | |||
| 1071 | typedef | ||
| 1072 | enum D3D_FORMAT_TYPE_LEVEL | ||
| 1073 | { | ||
| 1074 | D3DFTL_NO_TYPE = 0, | ||
| 1075 | D3DFTL_PARTIAL_TYPE = -2, | ||
| 1076 | D3DFTL_FULL_TYPE = -1 | ||
| 1077 | } D3D_FORMAT_TYPE_LEVEL; | ||
| 1078 | |||
| 1079 | typedef | ||
| 1080 | enum D3D_FORMAT_COMPONENT_NAME | ||
| 1081 | { | ||
| 1082 | D3DFCN_R = -4, | ||
| 1083 | D3DFCN_G = -3, | ||
| 1084 | D3DFCN_B = -2, | ||
| 1085 | D3DFCN_A = -1, | ||
| 1086 | D3DFCN_D = 0, | ||
| 1087 | D3DFCN_S = 1, | ||
| 1088 | D3DFCN_X = 2 | ||
| 1089 | } D3D_FORMAT_COMPONENT_NAME; | ||
| 1090 | |||
| 1091 | typedef | ||
| 1092 | enum D3D_FORMAT_COMPONENT_INTERPRETATION | ||
| 1093 | { | ||
| 1094 | D3DFCI_TYPELESS = 0, | ||
| 1095 | D3DFCI_FLOAT = -4, | ||
| 1096 | D3DFCI_SNORM = -3, | ||
| 1097 | D3DFCI_UNORM = -2, | ||
| 1098 | D3DFCI_SINT = -1, | ||
| 1099 | D3DFCI_UINT = 1, | ||
| 1100 | D3DFCI_UNORM_SRGB = 2, | ||
| 1101 | D3DFCI_BIASED_FIXED_2_8 = 3 | ||
| 1102 | } D3D_FORMAT_COMPONENT_INTERPRETATION; | ||
| 1103 | |||
| 1104 | DEFINE_GUID(WKPDID_D3DDebugObjectName,0x429b8c22,0x9188,0x4b0c,0x87,0x42,0xac,0xb0,0xbf,0x85,0xc2,0x00); | ||
| 1105 | DEFINE_GUID(WKPDID_D3DDebugObjectNameW,0x4cca5fd8,0x921f,0x42c8,0x85,0x66,0x70,0xca,0xf2,0xa9,0xb7,0x41); | ||
| 1106 | DEFINE_GUID(WKPDID_CommentStringW,0xd0149dc0,0x90e8,0x4ec8,0x81, 0x44, 0xe9, 0x00, 0xad, 0x26, 0x6b, 0xb2); | ||
| 1107 | DEFINE_GUID(WKPDID_D3D12UniqueObjectId, 0x1b39de15, 0xec04, 0x4bae, 0xba, 0x4d, 0x8c, 0xef, 0x79, 0xfc, 0x04, 0xc1); | ||
| 1108 | #define D3D_SET_OBJECT_NAME_N_A(pObject, Chars, pName) (pObject)->SetPrivateData(WKPDID_D3DDebugObjectName, Chars, pName) | ||
| 1109 | #define D3D_SET_OBJECT_NAME_A(pObject, pName) D3D_SET_OBJECT_NAME_N_A(pObject, lstrlenA(pName), pName) | ||
| 1110 | #define D3D_SET_OBJECT_NAME_N_W(pObject, Chars, pName) (pObject)->SetPrivateData(WKPDID_D3DDebugObjectNameW, Chars*2, pName) | ||
| 1111 | #define D3D_SET_OBJECT_NAME_W(pObject, pName) D3D_SET_OBJECT_NAME_N_W(pObject, wcslen(pName), pName) | ||
| 1112 | #define D3D_COMPONENT_MASK_X 1 | ||
| 1113 | #define D3D_COMPONENT_MASK_Y 2 | ||
| 1114 | #define D3D_COMPONENT_MASK_Z 4 | ||
| 1115 | #define D3D_COMPONENT_MASK_W 8 | ||
| 1116 | DEFINE_GUID(D3D_TEXTURE_LAYOUT_ROW_MAJOR,0xb5dc234f,0x72bb,0x4bec,0x97,0x05,0x8c,0xf2,0x58,0xdf,0x6b,0x6c); | ||
| 1117 | DEFINE_GUID(D3D_TEXTURE_LAYOUT_64KB_STANDARD_SWIZZLE,0x4c0f29e3,0x3f5f,0x4d35,0x84,0xc9,0xbc,0x09,0x83,0xb6,0x2c,0x28); | ||
| 1118 | |||
| 1119 | |||
| 1120 | extern RPC_IF_HANDLE __MIDL_itf_d3dcommon_0000_0002_v0_0_c_ifspec; | ||
| 1121 | extern RPC_IF_HANDLE __MIDL_itf_d3dcommon_0000_0002_v0_0_s_ifspec; | ||
| 1122 | |||
| 1123 | /* Additional Prototypes for ALL interfaces */ | ||
| 1124 | |||
| 1125 | /* end of Additional Prototypes */ | ||
| 1126 | |||
| 1127 | #ifdef __cplusplus | ||
| 1128 | } | ||
| 1129 | #endif | ||
| 1130 | |||
| 1131 | #endif | ||
| 1132 | |||
| 1133 | |||
diff --git a/contrib/microsoft.direct3d.d3d12.1.618.4/build/native/include/d3dcommon.idl b/contrib/microsoft.direct3d.d3d12.1.618.4/build/native/include/d3dcommon.idl new file mode 100644 index 0000000..bfa375d --- /dev/null +++ b/contrib/microsoft.direct3d.d3d12.1.618.4/build/native/include/d3dcommon.idl | |||
| @@ -0,0 +1,991 @@ | |||
| 1 | /*------------------------------------------------------------------------------------- | ||
| 2 | * | ||
| 3 | * Copyright (c) Microsoft Corporation | ||
| 4 | * Licensed under the MIT license | ||
| 5 | * | ||
| 6 | *-------------------------------------------------------------------------------------*/ | ||
| 7 | import "oaidl.idl"; | ||
| 8 | import "ocidl.idl"; | ||
| 9 | |||
| 10 | //---------------------------------------------------------------------------- | ||
| 11 | // | ||
| 12 | // D3D-version-neutral runtime information. | ||
| 13 | // | ||
| 14 | //---------------------------------------------------------------------------- | ||
| 15 | |||
| 16 | typedef enum D3D_DRIVER_TYPE | ||
| 17 | { | ||
| 18 | D3D_DRIVER_TYPE_UNKNOWN, | ||
| 19 | D3D_DRIVER_TYPE_HARDWARE, | ||
| 20 | D3D_DRIVER_TYPE_REFERENCE, | ||
| 21 | D3D_DRIVER_TYPE_NULL, | ||
| 22 | D3D_DRIVER_TYPE_SOFTWARE, | ||
| 23 | D3D_DRIVER_TYPE_WARP, | ||
| 24 | } D3D_DRIVER_TYPE; | ||
| 25 | |||
| 26 | typedef enum D3D_FEATURE_LEVEL | ||
| 27 | { | ||
| 28 | D3D_FEATURE_LEVEL_1_0_GENERIC = 0x100, | ||
| 29 | D3D_FEATURE_LEVEL_1_0_CORE = 0x1000, | ||
| 30 | D3D_FEATURE_LEVEL_9_1 = 0x9100, | ||
| 31 | D3D_FEATURE_LEVEL_9_2 = 0x9200, | ||
| 32 | D3D_FEATURE_LEVEL_9_3 = 0x9300, | ||
| 33 | D3D_FEATURE_LEVEL_10_0 = 0xa000, | ||
| 34 | D3D_FEATURE_LEVEL_10_1 = 0xa100, | ||
| 35 | D3D_FEATURE_LEVEL_11_0 = 0xb000, | ||
| 36 | D3D_FEATURE_LEVEL_11_1 = 0xb100, | ||
| 37 | D3D_FEATURE_LEVEL_12_0 = 0xc000, | ||
| 38 | D3D_FEATURE_LEVEL_12_1 = 0xc100, | ||
| 39 | D3D_FEATURE_LEVEL_12_2 = 0xc200 | ||
| 40 | } D3D_FEATURE_LEVEL; | ||
| 41 | |||
| 42 | cpp_quote("#define D3D_FL9_1_REQ_TEXTURE1D_U_DIMENSION 2048") | ||
| 43 | cpp_quote("#define D3D_FL9_3_REQ_TEXTURE1D_U_DIMENSION 4096") | ||
| 44 | cpp_quote("#define D3D_FL9_1_REQ_TEXTURE2D_U_OR_V_DIMENSION 2048") | ||
| 45 | cpp_quote("#define D3D_FL9_3_REQ_TEXTURE2D_U_OR_V_DIMENSION 4096") | ||
| 46 | cpp_quote("#define D3D_FL9_1_REQ_TEXTURECUBE_DIMENSION 512") | ||
| 47 | cpp_quote("#define D3D_FL9_3_REQ_TEXTURECUBE_DIMENSION 4096") | ||
| 48 | cpp_quote("#define D3D_FL9_1_REQ_TEXTURE3D_U_V_OR_W_DIMENSION 256") | ||
| 49 | cpp_quote("#define D3D_FL9_1_DEFAULT_MAX_ANISOTROPY 2") | ||
| 50 | cpp_quote("#define D3D_FL9_1_IA_PRIMITIVE_MAX_COUNT 65535") | ||
| 51 | cpp_quote("#define D3D_FL9_2_IA_PRIMITIVE_MAX_COUNT 1048575") | ||
| 52 | cpp_quote("#define D3D_FL9_1_SIMULTANEOUS_RENDER_TARGET_COUNT 1") | ||
| 53 | cpp_quote("#define D3D_FL9_3_SIMULTANEOUS_RENDER_TARGET_COUNT 4") | ||
| 54 | cpp_quote("#define D3D_FL9_1_MAX_TEXTURE_REPEAT 128") | ||
| 55 | cpp_quote("#define D3D_FL9_2_MAX_TEXTURE_REPEAT 2048") | ||
| 56 | cpp_quote("#define D3D_FL9_3_MAX_TEXTURE_REPEAT 8192") | ||
| 57 | |||
| 58 | typedef enum D3D_PRIMITIVE_TOPOLOGY | ||
| 59 | { | ||
| 60 | D3D_PRIMITIVE_TOPOLOGY_UNDEFINED = 0, | ||
| 61 | D3D_PRIMITIVE_TOPOLOGY_POINTLIST = 1, | ||
| 62 | D3D_PRIMITIVE_TOPOLOGY_LINELIST = 2, | ||
| 63 | D3D_PRIMITIVE_TOPOLOGY_LINESTRIP = 3, | ||
| 64 | D3D_PRIMITIVE_TOPOLOGY_TRIANGLELIST = 4, | ||
| 65 | D3D_PRIMITIVE_TOPOLOGY_TRIANGLESTRIP = 5, | ||
| 66 | D3D_PRIMITIVE_TOPOLOGY_TRIANGLEFAN = 6, | ||
| 67 | // Adjacency values should be equal to (0x8 & non-adjacency): | ||
| 68 | D3D_PRIMITIVE_TOPOLOGY_LINELIST_ADJ = 10, | ||
| 69 | D3D_PRIMITIVE_TOPOLOGY_LINESTRIP_ADJ = 11, | ||
| 70 | D3D_PRIMITIVE_TOPOLOGY_TRIANGLELIST_ADJ = 12, | ||
| 71 | D3D_PRIMITIVE_TOPOLOGY_TRIANGLESTRIP_ADJ = 13, | ||
| 72 | D3D_PRIMITIVE_TOPOLOGY_1_CONTROL_POINT_PATCHLIST = 33, | ||
| 73 | D3D_PRIMITIVE_TOPOLOGY_2_CONTROL_POINT_PATCHLIST = 34, | ||
| 74 | D3D_PRIMITIVE_TOPOLOGY_3_CONTROL_POINT_PATCHLIST = 35, | ||
| 75 | D3D_PRIMITIVE_TOPOLOGY_4_CONTROL_POINT_PATCHLIST = 36, | ||
| 76 | D3D_PRIMITIVE_TOPOLOGY_5_CONTROL_POINT_PATCHLIST = 37, | ||
| 77 | D3D_PRIMITIVE_TOPOLOGY_6_CONTROL_POINT_PATCHLIST = 38, | ||
| 78 | D3D_PRIMITIVE_TOPOLOGY_7_CONTROL_POINT_PATCHLIST = 39, | ||
| 79 | D3D_PRIMITIVE_TOPOLOGY_8_CONTROL_POINT_PATCHLIST = 40, | ||
| 80 | D3D_PRIMITIVE_TOPOLOGY_9_CONTROL_POINT_PATCHLIST = 41, | ||
| 81 | D3D_PRIMITIVE_TOPOLOGY_10_CONTROL_POINT_PATCHLIST = 42, | ||
| 82 | D3D_PRIMITIVE_TOPOLOGY_11_CONTROL_POINT_PATCHLIST = 43, | ||
| 83 | D3D_PRIMITIVE_TOPOLOGY_12_CONTROL_POINT_PATCHLIST = 44, | ||
| 84 | D3D_PRIMITIVE_TOPOLOGY_13_CONTROL_POINT_PATCHLIST = 45, | ||
| 85 | D3D_PRIMITIVE_TOPOLOGY_14_CONTROL_POINT_PATCHLIST = 46, | ||
| 86 | D3D_PRIMITIVE_TOPOLOGY_15_CONTROL_POINT_PATCHLIST = 47, | ||
| 87 | D3D_PRIMITIVE_TOPOLOGY_16_CONTROL_POINT_PATCHLIST = 48, | ||
| 88 | D3D_PRIMITIVE_TOPOLOGY_17_CONTROL_POINT_PATCHLIST = 49, | ||
| 89 | D3D_PRIMITIVE_TOPOLOGY_18_CONTROL_POINT_PATCHLIST = 50, | ||
| 90 | D3D_PRIMITIVE_TOPOLOGY_19_CONTROL_POINT_PATCHLIST = 51, | ||
| 91 | D3D_PRIMITIVE_TOPOLOGY_20_CONTROL_POINT_PATCHLIST = 52, | ||
| 92 | D3D_PRIMITIVE_TOPOLOGY_21_CONTROL_POINT_PATCHLIST = 53, | ||
| 93 | D3D_PRIMITIVE_TOPOLOGY_22_CONTROL_POINT_PATCHLIST = 54, | ||
| 94 | D3D_PRIMITIVE_TOPOLOGY_23_CONTROL_POINT_PATCHLIST = 55, | ||
| 95 | D3D_PRIMITIVE_TOPOLOGY_24_CONTROL_POINT_PATCHLIST = 56, | ||
| 96 | D3D_PRIMITIVE_TOPOLOGY_25_CONTROL_POINT_PATCHLIST = 57, | ||
| 97 | D3D_PRIMITIVE_TOPOLOGY_26_CONTROL_POINT_PATCHLIST = 58, | ||
| 98 | D3D_PRIMITIVE_TOPOLOGY_27_CONTROL_POINT_PATCHLIST = 59, | ||
| 99 | D3D_PRIMITIVE_TOPOLOGY_28_CONTROL_POINT_PATCHLIST = 60, | ||
| 100 | D3D_PRIMITIVE_TOPOLOGY_29_CONTROL_POINT_PATCHLIST = 61, | ||
| 101 | D3D_PRIMITIVE_TOPOLOGY_30_CONTROL_POINT_PATCHLIST = 62, | ||
| 102 | D3D_PRIMITIVE_TOPOLOGY_31_CONTROL_POINT_PATCHLIST = 63, | ||
| 103 | D3D_PRIMITIVE_TOPOLOGY_32_CONTROL_POINT_PATCHLIST = 64, | ||
| 104 | |||
| 105 | D3D10_PRIMITIVE_TOPOLOGY_UNDEFINED = D3D_PRIMITIVE_TOPOLOGY_UNDEFINED, | ||
| 106 | D3D10_PRIMITIVE_TOPOLOGY_POINTLIST = D3D_PRIMITIVE_TOPOLOGY_POINTLIST, | ||
| 107 | D3D10_PRIMITIVE_TOPOLOGY_LINELIST = D3D_PRIMITIVE_TOPOLOGY_LINELIST, | ||
| 108 | D3D10_PRIMITIVE_TOPOLOGY_LINESTRIP = D3D_PRIMITIVE_TOPOLOGY_LINESTRIP, | ||
| 109 | D3D10_PRIMITIVE_TOPOLOGY_TRIANGLELIST = D3D_PRIMITIVE_TOPOLOGY_TRIANGLELIST, | ||
| 110 | D3D10_PRIMITIVE_TOPOLOGY_TRIANGLESTRIP = D3D_PRIMITIVE_TOPOLOGY_TRIANGLESTRIP, | ||
| 111 | D3D10_PRIMITIVE_TOPOLOGY_LINELIST_ADJ = D3D_PRIMITIVE_TOPOLOGY_LINELIST_ADJ, | ||
| 112 | D3D10_PRIMITIVE_TOPOLOGY_LINESTRIP_ADJ = D3D_PRIMITIVE_TOPOLOGY_LINESTRIP_ADJ, | ||
| 113 | D3D10_PRIMITIVE_TOPOLOGY_TRIANGLELIST_ADJ = D3D_PRIMITIVE_TOPOLOGY_TRIANGLELIST_ADJ, | ||
| 114 | D3D10_PRIMITIVE_TOPOLOGY_TRIANGLESTRIP_ADJ = D3D_PRIMITIVE_TOPOLOGY_TRIANGLESTRIP_ADJ, | ||
| 115 | |||
| 116 | D3D11_PRIMITIVE_TOPOLOGY_UNDEFINED = D3D_PRIMITIVE_TOPOLOGY_UNDEFINED, | ||
| 117 | D3D11_PRIMITIVE_TOPOLOGY_POINTLIST = D3D_PRIMITIVE_TOPOLOGY_POINTLIST, | ||
| 118 | D3D11_PRIMITIVE_TOPOLOGY_LINELIST = D3D_PRIMITIVE_TOPOLOGY_LINELIST, | ||
| 119 | D3D11_PRIMITIVE_TOPOLOGY_LINESTRIP = D3D_PRIMITIVE_TOPOLOGY_LINESTRIP, | ||
| 120 | D3D11_PRIMITIVE_TOPOLOGY_TRIANGLELIST = D3D_PRIMITIVE_TOPOLOGY_TRIANGLELIST, | ||
| 121 | D3D11_PRIMITIVE_TOPOLOGY_TRIANGLESTRIP = D3D_PRIMITIVE_TOPOLOGY_TRIANGLESTRIP, | ||
| 122 | D3D11_PRIMITIVE_TOPOLOGY_LINELIST_ADJ = D3D_PRIMITIVE_TOPOLOGY_LINELIST_ADJ, | ||
| 123 | D3D11_PRIMITIVE_TOPOLOGY_LINESTRIP_ADJ = D3D_PRIMITIVE_TOPOLOGY_LINESTRIP_ADJ, | ||
| 124 | D3D11_PRIMITIVE_TOPOLOGY_TRIANGLELIST_ADJ = D3D_PRIMITIVE_TOPOLOGY_TRIANGLELIST_ADJ, | ||
| 125 | D3D11_PRIMITIVE_TOPOLOGY_TRIANGLESTRIP_ADJ = D3D_PRIMITIVE_TOPOLOGY_TRIANGLESTRIP_ADJ, | ||
| 126 | D3D11_PRIMITIVE_TOPOLOGY_1_CONTROL_POINT_PATCHLIST = D3D_PRIMITIVE_TOPOLOGY_1_CONTROL_POINT_PATCHLIST, | ||
| 127 | D3D11_PRIMITIVE_TOPOLOGY_2_CONTROL_POINT_PATCHLIST = D3D_PRIMITIVE_TOPOLOGY_2_CONTROL_POINT_PATCHLIST, | ||
| 128 | D3D11_PRIMITIVE_TOPOLOGY_3_CONTROL_POINT_PATCHLIST = D3D_PRIMITIVE_TOPOLOGY_3_CONTROL_POINT_PATCHLIST, | ||
| 129 | D3D11_PRIMITIVE_TOPOLOGY_4_CONTROL_POINT_PATCHLIST = D3D_PRIMITIVE_TOPOLOGY_4_CONTROL_POINT_PATCHLIST, | ||
| 130 | D3D11_PRIMITIVE_TOPOLOGY_5_CONTROL_POINT_PATCHLIST = D3D_PRIMITIVE_TOPOLOGY_5_CONTROL_POINT_PATCHLIST, | ||
| 131 | D3D11_PRIMITIVE_TOPOLOGY_6_CONTROL_POINT_PATCHLIST = D3D_PRIMITIVE_TOPOLOGY_6_CONTROL_POINT_PATCHLIST, | ||
| 132 | D3D11_PRIMITIVE_TOPOLOGY_7_CONTROL_POINT_PATCHLIST = D3D_PRIMITIVE_TOPOLOGY_7_CONTROL_POINT_PATCHLIST, | ||
| 133 | D3D11_PRIMITIVE_TOPOLOGY_8_CONTROL_POINT_PATCHLIST = D3D_PRIMITIVE_TOPOLOGY_8_CONTROL_POINT_PATCHLIST, | ||
| 134 | D3D11_PRIMITIVE_TOPOLOGY_9_CONTROL_POINT_PATCHLIST = D3D_PRIMITIVE_TOPOLOGY_9_CONTROL_POINT_PATCHLIST, | ||
| 135 | D3D11_PRIMITIVE_TOPOLOGY_10_CONTROL_POINT_PATCHLIST = D3D_PRIMITIVE_TOPOLOGY_10_CONTROL_POINT_PATCHLIST, | ||
| 136 | D3D11_PRIMITIVE_TOPOLOGY_11_CONTROL_POINT_PATCHLIST = D3D_PRIMITIVE_TOPOLOGY_11_CONTROL_POINT_PATCHLIST, | ||
| 137 | D3D11_PRIMITIVE_TOPOLOGY_12_CONTROL_POINT_PATCHLIST = D3D_PRIMITIVE_TOPOLOGY_12_CONTROL_POINT_PATCHLIST, | ||
| 138 | D3D11_PRIMITIVE_TOPOLOGY_13_CONTROL_POINT_PATCHLIST = D3D_PRIMITIVE_TOPOLOGY_13_CONTROL_POINT_PATCHLIST, | ||
| 139 | D3D11_PRIMITIVE_TOPOLOGY_14_CONTROL_POINT_PATCHLIST = D3D_PRIMITIVE_TOPOLOGY_14_CONTROL_POINT_PATCHLIST, | ||
| 140 | D3D11_PRIMITIVE_TOPOLOGY_15_CONTROL_POINT_PATCHLIST = D3D_PRIMITIVE_TOPOLOGY_15_CONTROL_POINT_PATCHLIST, | ||
| 141 | D3D11_PRIMITIVE_TOPOLOGY_16_CONTROL_POINT_PATCHLIST = D3D_PRIMITIVE_TOPOLOGY_16_CONTROL_POINT_PATCHLIST, | ||
| 142 | D3D11_PRIMITIVE_TOPOLOGY_17_CONTROL_POINT_PATCHLIST = D3D_PRIMITIVE_TOPOLOGY_17_CONTROL_POINT_PATCHLIST, | ||
| 143 | D3D11_PRIMITIVE_TOPOLOGY_18_CONTROL_POINT_PATCHLIST = D3D_PRIMITIVE_TOPOLOGY_18_CONTROL_POINT_PATCHLIST, | ||
| 144 | D3D11_PRIMITIVE_TOPOLOGY_19_CONTROL_POINT_PATCHLIST = D3D_PRIMITIVE_TOPOLOGY_19_CONTROL_POINT_PATCHLIST, | ||
| 145 | D3D11_PRIMITIVE_TOPOLOGY_20_CONTROL_POINT_PATCHLIST = D3D_PRIMITIVE_TOPOLOGY_20_CONTROL_POINT_PATCHLIST, | ||
| 146 | D3D11_PRIMITIVE_TOPOLOGY_21_CONTROL_POINT_PATCHLIST = D3D_PRIMITIVE_TOPOLOGY_21_CONTROL_POINT_PATCHLIST, | ||
| 147 | D3D11_PRIMITIVE_TOPOLOGY_22_CONTROL_POINT_PATCHLIST = D3D_PRIMITIVE_TOPOLOGY_22_CONTROL_POINT_PATCHLIST, | ||
| 148 | D3D11_PRIMITIVE_TOPOLOGY_23_CONTROL_POINT_PATCHLIST = D3D_PRIMITIVE_TOPOLOGY_23_CONTROL_POINT_PATCHLIST, | ||
| 149 | D3D11_PRIMITIVE_TOPOLOGY_24_CONTROL_POINT_PATCHLIST = D3D_PRIMITIVE_TOPOLOGY_24_CONTROL_POINT_PATCHLIST, | ||
| 150 | D3D11_PRIMITIVE_TOPOLOGY_25_CONTROL_POINT_PATCHLIST = D3D_PRIMITIVE_TOPOLOGY_25_CONTROL_POINT_PATCHLIST, | ||
| 151 | D3D11_PRIMITIVE_TOPOLOGY_26_CONTROL_POINT_PATCHLIST = D3D_PRIMITIVE_TOPOLOGY_26_CONTROL_POINT_PATCHLIST, | ||
| 152 | D3D11_PRIMITIVE_TOPOLOGY_27_CONTROL_POINT_PATCHLIST = D3D_PRIMITIVE_TOPOLOGY_27_CONTROL_POINT_PATCHLIST, | ||
| 153 | D3D11_PRIMITIVE_TOPOLOGY_28_CONTROL_POINT_PATCHLIST = D3D_PRIMITIVE_TOPOLOGY_28_CONTROL_POINT_PATCHLIST, | ||
| 154 | D3D11_PRIMITIVE_TOPOLOGY_29_CONTROL_POINT_PATCHLIST = D3D_PRIMITIVE_TOPOLOGY_29_CONTROL_POINT_PATCHLIST, | ||
| 155 | D3D11_PRIMITIVE_TOPOLOGY_30_CONTROL_POINT_PATCHLIST = D3D_PRIMITIVE_TOPOLOGY_30_CONTROL_POINT_PATCHLIST, | ||
| 156 | D3D11_PRIMITIVE_TOPOLOGY_31_CONTROL_POINT_PATCHLIST = D3D_PRIMITIVE_TOPOLOGY_31_CONTROL_POINT_PATCHLIST, | ||
| 157 | D3D11_PRIMITIVE_TOPOLOGY_32_CONTROL_POINT_PATCHLIST = D3D_PRIMITIVE_TOPOLOGY_32_CONTROL_POINT_PATCHLIST | ||
| 158 | } D3D_PRIMITIVE_TOPOLOGY; | ||
| 159 | |||
| 160 | typedef enum D3D_PRIMITIVE | ||
| 161 | { | ||
| 162 | D3D_PRIMITIVE_UNDEFINED = 0, | ||
| 163 | D3D_PRIMITIVE_POINT = 1, | ||
| 164 | D3D_PRIMITIVE_LINE = 2, | ||
| 165 | D3D_PRIMITIVE_TRIANGLE = 3, | ||
| 166 | // Adjacency values should be equal to (0x4 & non-adjacency): | ||
| 167 | D3D_PRIMITIVE_LINE_ADJ = 6, | ||
| 168 | D3D_PRIMITIVE_TRIANGLE_ADJ = 7, | ||
| 169 | D3D_PRIMITIVE_1_CONTROL_POINT_PATCH = 8, | ||
| 170 | D3D_PRIMITIVE_2_CONTROL_POINT_PATCH = 9, | ||
| 171 | D3D_PRIMITIVE_3_CONTROL_POINT_PATCH = 10, | ||
| 172 | D3D_PRIMITIVE_4_CONTROL_POINT_PATCH = 11, | ||
| 173 | D3D_PRIMITIVE_5_CONTROL_POINT_PATCH = 12, | ||
| 174 | D3D_PRIMITIVE_6_CONTROL_POINT_PATCH = 13, | ||
| 175 | D3D_PRIMITIVE_7_CONTROL_POINT_PATCH = 14, | ||
| 176 | D3D_PRIMITIVE_8_CONTROL_POINT_PATCH = 15, | ||
| 177 | D3D_PRIMITIVE_9_CONTROL_POINT_PATCH = 16, | ||
| 178 | D3D_PRIMITIVE_10_CONTROL_POINT_PATCH = 17, | ||
| 179 | D3D_PRIMITIVE_11_CONTROL_POINT_PATCH = 18, | ||
| 180 | D3D_PRIMITIVE_12_CONTROL_POINT_PATCH = 19, | ||
| 181 | D3D_PRIMITIVE_13_CONTROL_POINT_PATCH = 20, | ||
| 182 | D3D_PRIMITIVE_14_CONTROL_POINT_PATCH = 21, | ||
| 183 | D3D_PRIMITIVE_15_CONTROL_POINT_PATCH = 22, | ||
| 184 | D3D_PRIMITIVE_16_CONTROL_POINT_PATCH = 23, | ||
| 185 | D3D_PRIMITIVE_17_CONTROL_POINT_PATCH = 24, | ||
| 186 | D3D_PRIMITIVE_18_CONTROL_POINT_PATCH = 25, | ||
| 187 | D3D_PRIMITIVE_19_CONTROL_POINT_PATCH = 26, | ||
| 188 | D3D_PRIMITIVE_20_CONTROL_POINT_PATCH = 27, | ||
| 189 | D3D_PRIMITIVE_21_CONTROL_POINT_PATCH = 28, | ||
| 190 | D3D_PRIMITIVE_22_CONTROL_POINT_PATCH = 29, | ||
| 191 | D3D_PRIMITIVE_23_CONTROL_POINT_PATCH = 30, | ||
| 192 | D3D_PRIMITIVE_24_CONTROL_POINT_PATCH = 31, | ||
| 193 | D3D_PRIMITIVE_25_CONTROL_POINT_PATCH = 32, | ||
| 194 | D3D_PRIMITIVE_26_CONTROL_POINT_PATCH = 33, | ||
| 195 | D3D_PRIMITIVE_27_CONTROL_POINT_PATCH = 34, | ||
| 196 | D3D_PRIMITIVE_28_CONTROL_POINT_PATCH = 35, | ||
| 197 | D3D_PRIMITIVE_29_CONTROL_POINT_PATCH = 36, | ||
| 198 | D3D_PRIMITIVE_30_CONTROL_POINT_PATCH = 37, | ||
| 199 | D3D_PRIMITIVE_31_CONTROL_POINT_PATCH = 38, | ||
| 200 | D3D_PRIMITIVE_32_CONTROL_POINT_PATCH = 39, | ||
| 201 | |||
| 202 | D3D10_PRIMITIVE_UNDEFINED = D3D_PRIMITIVE_UNDEFINED, | ||
| 203 | D3D10_PRIMITIVE_POINT = D3D_PRIMITIVE_POINT, | ||
| 204 | D3D10_PRIMITIVE_LINE = D3D_PRIMITIVE_LINE, | ||
| 205 | D3D10_PRIMITIVE_TRIANGLE = D3D_PRIMITIVE_TRIANGLE, | ||
| 206 | D3D10_PRIMITIVE_LINE_ADJ = D3D_PRIMITIVE_LINE_ADJ, | ||
| 207 | D3D10_PRIMITIVE_TRIANGLE_ADJ = D3D_PRIMITIVE_TRIANGLE_ADJ, | ||
| 208 | |||
| 209 | D3D11_PRIMITIVE_UNDEFINED = D3D_PRIMITIVE_UNDEFINED, | ||
| 210 | D3D11_PRIMITIVE_POINT = D3D_PRIMITIVE_POINT, | ||
| 211 | D3D11_PRIMITIVE_LINE = D3D_PRIMITIVE_LINE, | ||
| 212 | D3D11_PRIMITIVE_TRIANGLE = D3D_PRIMITIVE_TRIANGLE, | ||
| 213 | D3D11_PRIMITIVE_LINE_ADJ = D3D_PRIMITIVE_LINE_ADJ, | ||
| 214 | D3D11_PRIMITIVE_TRIANGLE_ADJ = D3D_PRIMITIVE_TRIANGLE_ADJ, | ||
| 215 | D3D11_PRIMITIVE_1_CONTROL_POINT_PATCH = D3D_PRIMITIVE_1_CONTROL_POINT_PATCH, | ||
| 216 | D3D11_PRIMITIVE_2_CONTROL_POINT_PATCH = D3D_PRIMITIVE_2_CONTROL_POINT_PATCH, | ||
| 217 | D3D11_PRIMITIVE_3_CONTROL_POINT_PATCH = D3D_PRIMITIVE_3_CONTROL_POINT_PATCH, | ||
| 218 | D3D11_PRIMITIVE_4_CONTROL_POINT_PATCH = D3D_PRIMITIVE_4_CONTROL_POINT_PATCH, | ||
| 219 | D3D11_PRIMITIVE_5_CONTROL_POINT_PATCH = D3D_PRIMITIVE_5_CONTROL_POINT_PATCH, | ||
| 220 | D3D11_PRIMITIVE_6_CONTROL_POINT_PATCH = D3D_PRIMITIVE_6_CONTROL_POINT_PATCH, | ||
| 221 | D3D11_PRIMITIVE_7_CONTROL_POINT_PATCH = D3D_PRIMITIVE_7_CONTROL_POINT_PATCH, | ||
| 222 | D3D11_PRIMITIVE_8_CONTROL_POINT_PATCH = D3D_PRIMITIVE_8_CONTROL_POINT_PATCH, | ||
| 223 | D3D11_PRIMITIVE_9_CONTROL_POINT_PATCH = D3D_PRIMITIVE_9_CONTROL_POINT_PATCH, | ||
| 224 | D3D11_PRIMITIVE_10_CONTROL_POINT_PATCH = D3D_PRIMITIVE_10_CONTROL_POINT_PATCH, | ||
| 225 | D3D11_PRIMITIVE_11_CONTROL_POINT_PATCH = D3D_PRIMITIVE_11_CONTROL_POINT_PATCH, | ||
| 226 | D3D11_PRIMITIVE_12_CONTROL_POINT_PATCH = D3D_PRIMITIVE_12_CONTROL_POINT_PATCH, | ||
| 227 | D3D11_PRIMITIVE_13_CONTROL_POINT_PATCH = D3D_PRIMITIVE_13_CONTROL_POINT_PATCH, | ||
| 228 | D3D11_PRIMITIVE_14_CONTROL_POINT_PATCH = D3D_PRIMITIVE_14_CONTROL_POINT_PATCH, | ||
| 229 | D3D11_PRIMITIVE_15_CONTROL_POINT_PATCH = D3D_PRIMITIVE_15_CONTROL_POINT_PATCH, | ||
| 230 | D3D11_PRIMITIVE_16_CONTROL_POINT_PATCH = D3D_PRIMITIVE_16_CONTROL_POINT_PATCH, | ||
| 231 | D3D11_PRIMITIVE_17_CONTROL_POINT_PATCH = D3D_PRIMITIVE_17_CONTROL_POINT_PATCH, | ||
| 232 | D3D11_PRIMITIVE_18_CONTROL_POINT_PATCH = D3D_PRIMITIVE_18_CONTROL_POINT_PATCH, | ||
| 233 | D3D11_PRIMITIVE_19_CONTROL_POINT_PATCH = D3D_PRIMITIVE_19_CONTROL_POINT_PATCH, | ||
| 234 | D3D11_PRIMITIVE_20_CONTROL_POINT_PATCH = D3D_PRIMITIVE_20_CONTROL_POINT_PATCH, | ||
| 235 | D3D11_PRIMITIVE_21_CONTROL_POINT_PATCH = D3D_PRIMITIVE_21_CONTROL_POINT_PATCH, | ||
| 236 | D3D11_PRIMITIVE_22_CONTROL_POINT_PATCH = D3D_PRIMITIVE_22_CONTROL_POINT_PATCH, | ||
| 237 | D3D11_PRIMITIVE_23_CONTROL_POINT_PATCH = D3D_PRIMITIVE_23_CONTROL_POINT_PATCH, | ||
| 238 | D3D11_PRIMITIVE_24_CONTROL_POINT_PATCH = D3D_PRIMITIVE_24_CONTROL_POINT_PATCH, | ||
| 239 | D3D11_PRIMITIVE_25_CONTROL_POINT_PATCH = D3D_PRIMITIVE_25_CONTROL_POINT_PATCH, | ||
| 240 | D3D11_PRIMITIVE_26_CONTROL_POINT_PATCH = D3D_PRIMITIVE_26_CONTROL_POINT_PATCH, | ||
| 241 | D3D11_PRIMITIVE_27_CONTROL_POINT_PATCH = D3D_PRIMITIVE_27_CONTROL_POINT_PATCH, | ||
| 242 | D3D11_PRIMITIVE_28_CONTROL_POINT_PATCH = D3D_PRIMITIVE_28_CONTROL_POINT_PATCH, | ||
| 243 | D3D11_PRIMITIVE_29_CONTROL_POINT_PATCH = D3D_PRIMITIVE_29_CONTROL_POINT_PATCH, | ||
| 244 | D3D11_PRIMITIVE_30_CONTROL_POINT_PATCH = D3D_PRIMITIVE_30_CONTROL_POINT_PATCH, | ||
| 245 | D3D11_PRIMITIVE_31_CONTROL_POINT_PATCH = D3D_PRIMITIVE_31_CONTROL_POINT_PATCH, | ||
| 246 | D3D11_PRIMITIVE_32_CONTROL_POINT_PATCH = D3D_PRIMITIVE_32_CONTROL_POINT_PATCH, | ||
| 247 | } D3D_PRIMITIVE; | ||
| 248 | |||
| 249 | typedef enum D3D_SRV_DIMENSION | ||
| 250 | { | ||
| 251 | D3D_SRV_DIMENSION_UNKNOWN = 0, | ||
| 252 | D3D_SRV_DIMENSION_BUFFER = 1, | ||
| 253 | D3D_SRV_DIMENSION_TEXTURE1D = 2, | ||
| 254 | D3D_SRV_DIMENSION_TEXTURE1DARRAY = 3, | ||
| 255 | D3D_SRV_DIMENSION_TEXTURE2D = 4, | ||
| 256 | D3D_SRV_DIMENSION_TEXTURE2DARRAY = 5, | ||
| 257 | D3D_SRV_DIMENSION_TEXTURE2DMS = 6, | ||
| 258 | D3D_SRV_DIMENSION_TEXTURE2DMSARRAY = 7, | ||
| 259 | D3D_SRV_DIMENSION_TEXTURE3D = 8, | ||
| 260 | D3D_SRV_DIMENSION_TEXTURECUBE = 9, | ||
| 261 | D3D_SRV_DIMENSION_TEXTURECUBEARRAY = 10, | ||
| 262 | D3D_SRV_DIMENSION_BUFFEREX = 11, | ||
| 263 | |||
| 264 | D3D10_SRV_DIMENSION_UNKNOWN = D3D_SRV_DIMENSION_UNKNOWN, | ||
| 265 | D3D10_SRV_DIMENSION_BUFFER = D3D_SRV_DIMENSION_BUFFER, | ||
| 266 | D3D10_SRV_DIMENSION_TEXTURE1D = D3D_SRV_DIMENSION_TEXTURE1D, | ||
| 267 | D3D10_SRV_DIMENSION_TEXTURE1DARRAY = D3D_SRV_DIMENSION_TEXTURE1DARRAY, | ||
| 268 | D3D10_SRV_DIMENSION_TEXTURE2D = D3D_SRV_DIMENSION_TEXTURE2D, | ||
| 269 | D3D10_SRV_DIMENSION_TEXTURE2DARRAY = D3D_SRV_DIMENSION_TEXTURE2DARRAY, | ||
| 270 | D3D10_SRV_DIMENSION_TEXTURE2DMS = D3D_SRV_DIMENSION_TEXTURE2DMS, | ||
| 271 | D3D10_SRV_DIMENSION_TEXTURE2DMSARRAY = D3D_SRV_DIMENSION_TEXTURE2DMSARRAY, | ||
| 272 | D3D10_SRV_DIMENSION_TEXTURE3D = D3D_SRV_DIMENSION_TEXTURE3D, | ||
| 273 | D3D10_SRV_DIMENSION_TEXTURECUBE = D3D_SRV_DIMENSION_TEXTURECUBE, | ||
| 274 | |||
| 275 | D3D10_1_SRV_DIMENSION_UNKNOWN = D3D_SRV_DIMENSION_UNKNOWN, | ||
| 276 | D3D10_1_SRV_DIMENSION_BUFFER = D3D_SRV_DIMENSION_BUFFER, | ||
| 277 | D3D10_1_SRV_DIMENSION_TEXTURE1D = D3D_SRV_DIMENSION_TEXTURE1D, | ||
| 278 | D3D10_1_SRV_DIMENSION_TEXTURE1DARRAY = D3D_SRV_DIMENSION_TEXTURE1DARRAY, | ||
| 279 | D3D10_1_SRV_DIMENSION_TEXTURE2D = D3D_SRV_DIMENSION_TEXTURE2D, | ||
| 280 | D3D10_1_SRV_DIMENSION_TEXTURE2DARRAY = D3D_SRV_DIMENSION_TEXTURE2DARRAY, | ||
| 281 | D3D10_1_SRV_DIMENSION_TEXTURE2DMS = D3D_SRV_DIMENSION_TEXTURE2DMS, | ||
| 282 | D3D10_1_SRV_DIMENSION_TEXTURE2DMSARRAY = D3D_SRV_DIMENSION_TEXTURE2DMSARRAY, | ||
| 283 | D3D10_1_SRV_DIMENSION_TEXTURE3D = D3D_SRV_DIMENSION_TEXTURE3D, | ||
| 284 | D3D10_1_SRV_DIMENSION_TEXTURECUBE = D3D_SRV_DIMENSION_TEXTURECUBE, | ||
| 285 | D3D10_1_SRV_DIMENSION_TEXTURECUBEARRAY = D3D_SRV_DIMENSION_TEXTURECUBEARRAY, | ||
| 286 | |||
| 287 | D3D11_SRV_DIMENSION_UNKNOWN = D3D_SRV_DIMENSION_UNKNOWN, | ||
| 288 | D3D11_SRV_DIMENSION_BUFFER = D3D_SRV_DIMENSION_BUFFER, | ||
| 289 | D3D11_SRV_DIMENSION_TEXTURE1D = D3D_SRV_DIMENSION_TEXTURE1D, | ||
| 290 | D3D11_SRV_DIMENSION_TEXTURE1DARRAY = D3D_SRV_DIMENSION_TEXTURE1DARRAY, | ||
| 291 | D3D11_SRV_DIMENSION_TEXTURE2D = D3D_SRV_DIMENSION_TEXTURE2D, | ||
| 292 | D3D11_SRV_DIMENSION_TEXTURE2DARRAY = D3D_SRV_DIMENSION_TEXTURE2DARRAY, | ||
| 293 | D3D11_SRV_DIMENSION_TEXTURE2DMS = D3D_SRV_DIMENSION_TEXTURE2DMS, | ||
| 294 | D3D11_SRV_DIMENSION_TEXTURE2DMSARRAY = D3D_SRV_DIMENSION_TEXTURE2DMSARRAY, | ||
| 295 | D3D11_SRV_DIMENSION_TEXTURE3D = D3D_SRV_DIMENSION_TEXTURE3D, | ||
| 296 | D3D11_SRV_DIMENSION_TEXTURECUBE = D3D_SRV_DIMENSION_TEXTURECUBE, | ||
| 297 | D3D11_SRV_DIMENSION_TEXTURECUBEARRAY = D3D_SRV_DIMENSION_TEXTURECUBEARRAY, | ||
| 298 | D3D11_SRV_DIMENSION_BUFFEREX = D3D_SRV_DIMENSION_BUFFEREX, | ||
| 299 | } D3D_SRV_DIMENSION; | ||
| 300 | |||
| 301 | // Bits in shaders indicating features they use which the runtime checks against current device support: | ||
| 302 | cpp_quote("#define D3D_SHADER_FEATURE_DOUBLES 0x00001") | ||
| 303 | cpp_quote("#define D3D_SHADER_FEATURE_COMPUTE_SHADERS_PLUS_RAW_AND_STRUCTURED_BUFFERS_VIA_SHADER_4_X 0x00002") | ||
| 304 | cpp_quote("#define D3D_SHADER_FEATURE_UAVS_AT_EVERY_STAGE 0x00004") | ||
| 305 | cpp_quote("#define D3D_SHADER_FEATURE_64_UAVS 0x00008") | ||
| 306 | cpp_quote("#define D3D_SHADER_FEATURE_MINIMUM_PRECISION 0x00010") | ||
| 307 | cpp_quote("#define D3D_SHADER_FEATURE_11_1_DOUBLE_EXTENSIONS 0x00020") | ||
| 308 | cpp_quote("#define D3D_SHADER_FEATURE_11_1_SHADER_EXTENSIONS 0x00040") | ||
| 309 | cpp_quote("#define D3D_SHADER_FEATURE_LEVEL_9_COMPARISON_FILTERING 0x00080") | ||
| 310 | cpp_quote("#define D3D_SHADER_FEATURE_TILED_RESOURCES 0x00100") | ||
| 311 | cpp_quote("#define D3D_SHADER_FEATURE_STENCIL_REF 0x00200") | ||
| 312 | cpp_quote("#define D3D_SHADER_FEATURE_INNER_COVERAGE 0x00400") | ||
| 313 | cpp_quote("#define D3D_SHADER_FEATURE_TYPED_UAV_LOAD_ADDITIONAL_FORMATS 0x00800") | ||
| 314 | cpp_quote("#define D3D_SHADER_FEATURE_ROVS 0x01000") | ||
| 315 | cpp_quote("#define D3D_SHADER_FEATURE_VIEWPORT_AND_RT_ARRAY_INDEX_FROM_ANY_SHADER_FEEDING_RASTERIZER 0x02000") | ||
| 316 | cpp_quote("#define D3D_SHADER_FEATURE_WAVE_OPS 0x04000") | ||
| 317 | cpp_quote("#define D3D_SHADER_FEATURE_INT64_OPS 0x08000") | ||
| 318 | cpp_quote("#define D3D_SHADER_FEATURE_VIEW_ID 0x10000") | ||
| 319 | cpp_quote("#define D3D_SHADER_FEATURE_BARYCENTRICS 0x20000") | ||
| 320 | cpp_quote("#define D3D_SHADER_FEATURE_NATIVE_16BIT_OPS 0x40000") | ||
| 321 | cpp_quote("#define D3D_SHADER_FEATURE_SHADING_RATE 0x80000") | ||
| 322 | cpp_quote("#define D3D_SHADER_FEATURE_RAYTRACING_TIER_1_1 0x100000") | ||
| 323 | cpp_quote("#define D3D_SHADER_FEATURE_SAMPLER_FEEDBACK 0x200000") | ||
| 324 | cpp_quote("#define D3D_SHADER_FEATURE_ATOMIC_INT64_ON_TYPED_RESOURCE 0x400000") | ||
| 325 | cpp_quote("#define D3D_SHADER_FEATURE_ATOMIC_INT64_ON_GROUP_SHARED 0x800000") | ||
| 326 | cpp_quote("#define D3D_SHADER_FEATURE_DERIVATIVES_IN_MESH_AND_AMPLIFICATION_SHADERS 0x1000000") | ||
| 327 | cpp_quote("#define D3D_SHADER_FEATURE_RESOURCE_DESCRIPTOR_HEAP_INDEXING 0x2000000") | ||
| 328 | cpp_quote("#define D3D_SHADER_FEATURE_SAMPLER_DESCRIPTOR_HEAP_INDEXING 0x4000000") | ||
| 329 | cpp_quote("#define D3D_SHADER_FEATURE_WAVE_MMA 0x8000000") | ||
| 330 | cpp_quote("#define D3D_SHADER_FEATURE_ATOMIC_INT64_ON_DESCRIPTOR_HEAP_RESOURCE 0x10000000") | ||
| 331 | cpp_quote("#define D3D_SHADER_FEATURE_ADVANCED_TEXTURE_OPS 0x20000000") | ||
| 332 | cpp_quote("#define D3D_SHADER_FEATURE_WRITEABLE_MSAA_TEXTURES 0x40000000") | ||
| 333 | cpp_quote("#define D3D_SHADER_FEATURE_SAMPLE_CMP_GRADIENT_OR_BIAS 0x80000000") | ||
| 334 | cpp_quote("#define D3D_SHADER_FEATURE_EXTENDED_COMMAND_INFO 0x100000000ull") | ||
| 335 | |||
| 336 | // This section is for flags that do not directly indicate a required feature, | ||
| 337 | // but are used to indicate something about the shader. | ||
| 338 | |||
| 339 | // Flag for any derivative use. This allows call-graph validation | ||
| 340 | // in the runtime to detect misuse of derivatives for an entry point that cannot | ||
| 341 | // support it, or to determine when the flag | ||
| 342 | // D3D_SHADER_FEATURE_DERIVATIVES_IN_MESH_AND_AMPLIFICATION_SHADERS is required. | ||
| 343 | cpp_quote("#define D3D_OPT_SHADER_FEATURE_USES_DERIVATIVES 0x0000010000000000ull") | ||
| 344 | |||
| 345 | cpp_quote("#define D3D_OPT_SHADER_FEATURE_REQUIRES_GROUP 0x0000020000000000ull") | ||
| 346 | |||
| 347 | |||
| 348 | // Additional internal shader feature flags are listed in dxbcutils.h (not relevant/useful for public to see) | ||
| 349 | // When adding entries here, make sure they don't conflict with what's there. | ||
| 350 | |||
| 351 | //---------------------------------------------------------------------------- | ||
| 352 | // | ||
| 353 | // Shader compilation information. | ||
| 354 | // | ||
| 355 | //---------------------------------------------------------------------------- | ||
| 356 | |||
| 357 | //---------------------------------------------------------------------------- | ||
| 358 | // D3D_SHADER_MACRO: | ||
| 359 | // ---------- | ||
| 360 | // Preprocessor macro definition. The application pass in a NULL-terminated | ||
| 361 | // array of this structure to various D3D APIs. This enables the application | ||
| 362 | // to #define tokens at runtime, before the file is parsed. | ||
| 363 | //---------------------------------------------------------------------------- | ||
| 364 | |||
| 365 | typedef struct _D3D_SHADER_MACRO | ||
| 366 | { | ||
| 367 | LPCSTR Name; | ||
| 368 | LPCSTR Definition; | ||
| 369 | } D3D_SHADER_MACRO, *LPD3D_SHADER_MACRO; | ||
| 370 | |||
| 371 | //---------------------------------------------------------------------------- | ||
| 372 | // ID3DBlob: | ||
| 373 | // ------------ | ||
| 374 | // The buffer object is used by D3D to return arbitrary size data. | ||
| 375 | // For compatibility with D3D10 this interface is also called ID3D10Blob, | ||
| 376 | // but the version-neutral form is preferred. | ||
| 377 | // | ||
| 378 | // GetBufferPointer - | ||
| 379 | // Returns a pointer to the beginning of the buffer. | ||
| 380 | // | ||
| 381 | // GetBufferSize - | ||
| 382 | // Returns the size of the buffer, in bytes. | ||
| 383 | //---------------------------------------------------------------------------- | ||
| 384 | |||
| 385 | // {8BA5FB08-5195-40e2-AC58-0D989C3A0102} | ||
| 386 | cpp_quote("DEFINE_GUID(IID_ID3D10Blob, 0x8ba5fb08, 0x5195, 0x40e2, 0xac, 0x58, 0xd, 0x98, 0x9c, 0x3a, 0x1, 0x2);") | ||
| 387 | |||
| 388 | [ uuid( 8BA5FB08-5195-40e2-AC58-0D989C3A0102 ), object, local, pointer_default( unique ) ] | ||
| 389 | interface ID3D10Blob : IUnknown | ||
| 390 | { | ||
| 391 | LPVOID GetBufferPointer(); | ||
| 392 | SIZE_T GetBufferSize(); | ||
| 393 | }; | ||
| 394 | |||
| 395 | cpp_quote("typedef interface ID3D10Blob* LPD3D10BLOB;") | ||
| 396 | |||
| 397 | typedef ID3D10Blob ID3DBlob; | ||
| 398 | cpp_quote("typedef ID3DBlob* LPD3DBLOB;") | ||
| 399 | cpp_quote("#define IID_ID3DBlob IID_ID3D10Blob") | ||
| 400 | |||
| 401 | // ID3DDestructionNotifier: An interface to QI for, to set a callback which is triggered when the object is fully destroyed | ||
| 402 | typedef void(__stdcall *PFN_DESTRUCTION_CALLBACK)(void* pData); | ||
| 403 | |||
| 404 | [uuid(a06eb39a-50da-425b-8c31-4eecd6c270f3), object, local, pointer_default(unique)] | ||
| 405 | interface ID3DDestructionNotifier | ||
| 406 | : IUnknown | ||
| 407 | { | ||
| 408 | HRESULT RegisterDestructionCallback( | ||
| 409 | [annotation("_In_")] PFN_DESTRUCTION_CALLBACK callbackFn, | ||
| 410 | [annotation("_In_")] void* pData, | ||
| 411 | [annotation("_Out_")] UINT* pCallbackID | ||
| 412 | ); | ||
| 413 | HRESULT UnregisterDestructionCallback( | ||
| 414 | [annotation("_In_")] UINT callbackID | ||
| 415 | ); | ||
| 416 | }; | ||
| 417 | |||
| 418 | typedef enum _D3D_INCLUDE_TYPE | ||
| 419 | { | ||
| 420 | D3D_INCLUDE_LOCAL, | ||
| 421 | D3D_INCLUDE_SYSTEM, | ||
| 422 | |||
| 423 | D3D10_INCLUDE_LOCAL = D3D_INCLUDE_LOCAL, | ||
| 424 | D3D10_INCLUDE_SYSTEM = D3D_INCLUDE_SYSTEM, | ||
| 425 | |||
| 426 | // force 32-bit size enum | ||
| 427 | D3D_INCLUDE_FORCE_DWORD = 0x7fffffff | ||
| 428 | } D3D_INCLUDE_TYPE; | ||
| 429 | |||
| 430 | //---------------------------------------------------------------------------- | ||
| 431 | // ID3DInclude: | ||
| 432 | // ------------- | ||
| 433 | // This interface is intended to be implemented by the application, and can | ||
| 434 | // be used by various D3D APIs. This enables application-specific handling | ||
| 435 | // of #include directives in source files. | ||
| 436 | // | ||
| 437 | // Open() | ||
| 438 | // Opens an include file. If successful, it should fill in ppData and | ||
| 439 | // pBytes. The data pointer returned must remain valid until Close is | ||
| 440 | // subsequently called. The name of the file is encoded in UTF-8 format. | ||
| 441 | // Close() | ||
| 442 | // Closes an include file. If Open was successful, Close is guaranteed | ||
| 443 | // to be called before the API using this interface returns. | ||
| 444 | //---------------------------------------------------------------------------- | ||
| 445 | |||
| 446 | cpp_quote("typedef interface ID3DInclude ID3DInclude;") | ||
| 447 | |||
| 448 | cpp_quote("#undef INTERFACE") | ||
| 449 | cpp_quote("#define INTERFACE ID3DInclude") | ||
| 450 | |||
| 451 | cpp_quote("DECLARE_INTERFACE(ID3DInclude)") | ||
| 452 | cpp_quote("{") | ||
| 453 | cpp_quote(" STDMETHOD(Open)(THIS_ D3D_INCLUDE_TYPE IncludeType, LPCSTR pFileName, LPCVOID pParentData, LPCVOID *ppData, UINT *pBytes) PURE;") | ||
| 454 | cpp_quote(" STDMETHOD(Close)(THIS_ LPCVOID pData) PURE;") | ||
| 455 | cpp_quote("};") | ||
| 456 | |||
| 457 | cpp_quote("typedef ID3DInclude* LPD3DINCLUDE;") | ||
| 458 | |||
| 459 | //---------------------------------------------------------------------------- | ||
| 460 | // | ||
| 461 | // Shader reflection information. | ||
| 462 | // | ||
| 463 | //---------------------------------------------------------------------------- | ||
| 464 | |||
| 465 | typedef enum _D3D_SHADER_VARIABLE_CLASS | ||
| 466 | { | ||
| 467 | D3D_SVC_SCALAR, | ||
| 468 | D3D_SVC_VECTOR, | ||
| 469 | D3D_SVC_MATRIX_ROWS, | ||
| 470 | D3D_SVC_MATRIX_COLUMNS, | ||
| 471 | D3D_SVC_OBJECT, | ||
| 472 | D3D_SVC_STRUCT, | ||
| 473 | D3D_SVC_INTERFACE_CLASS, | ||
| 474 | D3D_SVC_INTERFACE_POINTER, | ||
| 475 | |||
| 476 | D3D10_SVC_SCALAR = D3D_SVC_SCALAR, | ||
| 477 | D3D10_SVC_VECTOR = D3D_SVC_VECTOR, | ||
| 478 | D3D10_SVC_MATRIX_ROWS = D3D_SVC_MATRIX_ROWS, | ||
| 479 | D3D10_SVC_MATRIX_COLUMNS = D3D_SVC_MATRIX_COLUMNS, | ||
| 480 | D3D10_SVC_OBJECT = D3D_SVC_OBJECT, | ||
| 481 | D3D10_SVC_STRUCT = D3D_SVC_STRUCT, | ||
| 482 | |||
| 483 | D3D11_SVC_INTERFACE_CLASS = D3D_SVC_INTERFACE_CLASS, | ||
| 484 | D3D11_SVC_INTERFACE_POINTER = D3D_SVC_INTERFACE_POINTER, | ||
| 485 | |||
| 486 | // force 32-bit size enum | ||
| 487 | D3D_SVC_FORCE_DWORD = 0x7fffffff | ||
| 488 | } D3D_SHADER_VARIABLE_CLASS; | ||
| 489 | |||
| 490 | typedef enum _D3D_SHADER_VARIABLE_FLAGS | ||
| 491 | { | ||
| 492 | D3D_SVF_USERPACKED = 1, | ||
| 493 | D3D_SVF_USED = 2, | ||
| 494 | |||
| 495 | D3D_SVF_INTERFACE_POINTER = 4, | ||
| 496 | D3D_SVF_INTERFACE_PARAMETER = 8, | ||
| 497 | |||
| 498 | D3D10_SVF_USERPACKED = D3D_SVF_USERPACKED, | ||
| 499 | D3D10_SVF_USED = D3D_SVF_USED, | ||
| 500 | |||
| 501 | D3D11_SVF_INTERFACE_POINTER = D3D_SVF_INTERFACE_POINTER, | ||
| 502 | D3D11_SVF_INTERFACE_PARAMETER = D3D_SVF_INTERFACE_PARAMETER, | ||
| 503 | |||
| 504 | // force 32-bit size enum | ||
| 505 | D3D_SVF_FORCE_DWORD = 0x7fffffff | ||
| 506 | } D3D_SHADER_VARIABLE_FLAGS; | ||
| 507 | |||
| 508 | typedef enum _D3D_SHADER_VARIABLE_TYPE | ||
| 509 | { | ||
| 510 | D3D_SVT_VOID = 0, | ||
| 511 | D3D_SVT_BOOL = 1, | ||
| 512 | D3D_SVT_INT = 2, | ||
| 513 | D3D_SVT_FLOAT = 3, | ||
| 514 | D3D_SVT_STRING = 4, | ||
| 515 | D3D_SVT_TEXTURE = 5, | ||
| 516 | D3D_SVT_TEXTURE1D = 6, | ||
| 517 | D3D_SVT_TEXTURE2D = 7, | ||
| 518 | D3D_SVT_TEXTURE3D = 8, | ||
| 519 | D3D_SVT_TEXTURECUBE = 9, | ||
| 520 | D3D_SVT_SAMPLER = 10, | ||
| 521 | D3D_SVT_SAMPLER1D = 11, | ||
| 522 | D3D_SVT_SAMPLER2D = 12, | ||
| 523 | D3D_SVT_SAMPLER3D = 13, | ||
| 524 | D3D_SVT_SAMPLERCUBE = 14, | ||
| 525 | D3D_SVT_PIXELSHADER = 15, | ||
| 526 | D3D_SVT_VERTEXSHADER = 16, | ||
| 527 | D3D_SVT_PIXELFRAGMENT = 17, | ||
| 528 | D3D_SVT_VERTEXFRAGMENT = 18, | ||
| 529 | D3D_SVT_UINT = 19, | ||
| 530 | D3D_SVT_UINT8 = 20, | ||
| 531 | D3D_SVT_GEOMETRYSHADER = 21, | ||
| 532 | D3D_SVT_RASTERIZER = 22, | ||
| 533 | D3D_SVT_DEPTHSTENCIL = 23, | ||
| 534 | D3D_SVT_BLEND = 24, | ||
| 535 | D3D_SVT_BUFFER = 25, | ||
| 536 | D3D_SVT_CBUFFER = 26, | ||
| 537 | D3D_SVT_TBUFFER = 27, | ||
| 538 | D3D_SVT_TEXTURE1DARRAY = 28, | ||
| 539 | D3D_SVT_TEXTURE2DARRAY = 29, | ||
| 540 | D3D_SVT_RENDERTARGETVIEW = 30, | ||
| 541 | D3D_SVT_DEPTHSTENCILVIEW = 31, | ||
| 542 | |||
| 543 | D3D_SVT_TEXTURE2DMS = 32, | ||
| 544 | D3D_SVT_TEXTURE2DMSARRAY = 33, | ||
| 545 | |||
| 546 | D3D_SVT_TEXTURECUBEARRAY = 34, | ||
| 547 | |||
| 548 | D3D_SVT_HULLSHADER = 35, | ||
| 549 | D3D_SVT_DOMAINSHADER = 36, | ||
| 550 | |||
| 551 | D3D_SVT_INTERFACE_POINTER = 37, | ||
| 552 | D3D_SVT_COMPUTESHADER = 38, | ||
| 553 | |||
| 554 | D3D_SVT_DOUBLE = 39, | ||
| 555 | |||
| 556 | D3D_SVT_RWTEXTURE1D = 40, | ||
| 557 | D3D_SVT_RWTEXTURE1DARRAY = 41, | ||
| 558 | D3D_SVT_RWTEXTURE2D = 42, | ||
| 559 | D3D_SVT_RWTEXTURE2DARRAY = 43, | ||
| 560 | D3D_SVT_RWTEXTURE3D = 44, | ||
| 561 | D3D_SVT_RWBUFFER = 45, | ||
| 562 | |||
| 563 | D3D_SVT_BYTEADDRESS_BUFFER = 46, | ||
| 564 | D3D_SVT_RWBYTEADDRESS_BUFFER = 47, | ||
| 565 | D3D_SVT_STRUCTURED_BUFFER = 48, | ||
| 566 | D3D_SVT_RWSTRUCTURED_BUFFER = 49, | ||
| 567 | D3D_SVT_APPEND_STRUCTURED_BUFFER = 50, | ||
| 568 | D3D_SVT_CONSUME_STRUCTURED_BUFFER = 51, | ||
| 569 | |||
| 570 | D3D_SVT_MIN8FLOAT = 52, | ||
| 571 | D3D_SVT_MIN10FLOAT = 53, | ||
| 572 | D3D_SVT_MIN16FLOAT = 54, | ||
| 573 | D3D_SVT_MIN12INT = 55, | ||
| 574 | D3D_SVT_MIN16INT = 56, | ||
| 575 | D3D_SVT_MIN16UINT = 57, | ||
| 576 | |||
| 577 | D3D_SVT_INT16 = 58, | ||
| 578 | D3D_SVT_UINT16 = 59, | ||
| 579 | D3D_SVT_FLOAT16 = 60, | ||
| 580 | D3D_SVT_INT64 = 61, | ||
| 581 | D3D_SVT_UINT64 = 62, | ||
| 582 | |||
| 583 | D3D10_SVT_VOID = D3D_SVT_VOID, | ||
| 584 | D3D10_SVT_BOOL = D3D_SVT_BOOL, | ||
| 585 | D3D10_SVT_INT = D3D_SVT_INT, | ||
| 586 | D3D10_SVT_FLOAT = D3D_SVT_FLOAT, | ||
| 587 | D3D10_SVT_STRING = D3D_SVT_STRING, | ||
| 588 | D3D10_SVT_TEXTURE = D3D_SVT_TEXTURE, | ||
| 589 | D3D10_SVT_TEXTURE1D = D3D_SVT_TEXTURE1D, | ||
| 590 | D3D10_SVT_TEXTURE2D = D3D_SVT_TEXTURE2D, | ||
| 591 | D3D10_SVT_TEXTURE3D = D3D_SVT_TEXTURE3D, | ||
| 592 | D3D10_SVT_TEXTURECUBE = D3D_SVT_TEXTURECUBE, | ||
| 593 | D3D10_SVT_SAMPLER = D3D_SVT_SAMPLER, | ||
| 594 | D3D10_SVT_SAMPLER1D = D3D_SVT_SAMPLER1D, | ||
| 595 | D3D10_SVT_SAMPLER2D = D3D_SVT_SAMPLER2D, | ||
| 596 | D3D10_SVT_SAMPLER3D = D3D_SVT_SAMPLER3D, | ||
| 597 | D3D10_SVT_SAMPLERCUBE = D3D_SVT_SAMPLERCUBE, | ||
| 598 | D3D10_SVT_PIXELSHADER = D3D_SVT_PIXELSHADER, | ||
| 599 | D3D10_SVT_VERTEXSHADER = D3D_SVT_VERTEXSHADER, | ||
| 600 | D3D10_SVT_PIXELFRAGMENT = D3D_SVT_PIXELFRAGMENT, | ||
| 601 | D3D10_SVT_VERTEXFRAGMENT = D3D_SVT_VERTEXFRAGMENT, | ||
| 602 | D3D10_SVT_UINT = D3D_SVT_UINT, | ||
| 603 | D3D10_SVT_UINT8 = D3D_SVT_UINT8, | ||
| 604 | D3D10_SVT_GEOMETRYSHADER = D3D_SVT_GEOMETRYSHADER, | ||
| 605 | D3D10_SVT_RASTERIZER = D3D_SVT_RASTERIZER, | ||
| 606 | D3D10_SVT_DEPTHSTENCIL = D3D_SVT_DEPTHSTENCIL, | ||
| 607 | D3D10_SVT_BLEND = D3D_SVT_BLEND, | ||
| 608 | D3D10_SVT_BUFFER = D3D_SVT_BUFFER, | ||
| 609 | D3D10_SVT_CBUFFER = D3D_SVT_CBUFFER, | ||
| 610 | D3D10_SVT_TBUFFER = D3D_SVT_TBUFFER, | ||
| 611 | D3D10_SVT_TEXTURE1DARRAY = D3D_SVT_TEXTURE1DARRAY, | ||
| 612 | D3D10_SVT_TEXTURE2DARRAY = D3D_SVT_TEXTURE2DARRAY, | ||
| 613 | D3D10_SVT_RENDERTARGETVIEW = D3D_SVT_RENDERTARGETVIEW, | ||
| 614 | D3D10_SVT_DEPTHSTENCILVIEW = D3D_SVT_DEPTHSTENCILVIEW, | ||
| 615 | |||
| 616 | D3D10_SVT_TEXTURE2DMS = D3D_SVT_TEXTURE2DMS, | ||
| 617 | D3D10_SVT_TEXTURE2DMSARRAY = D3D_SVT_TEXTURE2DMSARRAY, | ||
| 618 | |||
| 619 | D3D10_SVT_TEXTURECUBEARRAY = D3D_SVT_TEXTURECUBEARRAY, | ||
| 620 | |||
| 621 | D3D11_SVT_HULLSHADER = D3D_SVT_HULLSHADER, | ||
| 622 | D3D11_SVT_DOMAINSHADER = D3D_SVT_DOMAINSHADER, | ||
| 623 | |||
| 624 | D3D11_SVT_INTERFACE_POINTER = D3D_SVT_INTERFACE_POINTER, | ||
| 625 | D3D11_SVT_COMPUTESHADER = D3D_SVT_COMPUTESHADER, | ||
| 626 | |||
| 627 | D3D11_SVT_DOUBLE = D3D_SVT_DOUBLE, | ||
| 628 | |||
| 629 | D3D11_SVT_RWTEXTURE1D = D3D_SVT_RWTEXTURE1D, | ||
| 630 | D3D11_SVT_RWTEXTURE1DARRAY = D3D_SVT_RWTEXTURE1DARRAY, | ||
| 631 | D3D11_SVT_RWTEXTURE2D = D3D_SVT_RWTEXTURE2D, | ||
| 632 | D3D11_SVT_RWTEXTURE2DARRAY = D3D_SVT_RWTEXTURE2DARRAY, | ||
| 633 | D3D11_SVT_RWTEXTURE3D = D3D_SVT_RWTEXTURE3D, | ||
| 634 | D3D11_SVT_RWBUFFER = D3D_SVT_RWBUFFER, | ||
| 635 | |||
| 636 | D3D11_SVT_BYTEADDRESS_BUFFER = D3D_SVT_BYTEADDRESS_BUFFER, | ||
| 637 | D3D11_SVT_RWBYTEADDRESS_BUFFER = D3D_SVT_RWBYTEADDRESS_BUFFER, | ||
| 638 | D3D11_SVT_STRUCTURED_BUFFER = D3D_SVT_STRUCTURED_BUFFER, | ||
| 639 | D3D11_SVT_RWSTRUCTURED_BUFFER = D3D_SVT_RWSTRUCTURED_BUFFER, | ||
| 640 | D3D11_SVT_APPEND_STRUCTURED_BUFFER = D3D_SVT_APPEND_STRUCTURED_BUFFER, | ||
| 641 | D3D11_SVT_CONSUME_STRUCTURED_BUFFER = D3D_SVT_CONSUME_STRUCTURED_BUFFER, | ||
| 642 | |||
| 643 | // force 32-bit size enum | ||
| 644 | D3D_SVT_FORCE_DWORD = 0x7fffffff | ||
| 645 | } D3D_SHADER_VARIABLE_TYPE; | ||
| 646 | |||
| 647 | typedef enum _D3D_SHADER_INPUT_FLAGS | ||
| 648 | { | ||
| 649 | D3D_SIF_USERPACKED = 0x01, | ||
| 650 | D3D_SIF_COMPARISON_SAMPLER = 0x02, // is this a comparison sampler? | ||
| 651 | D3D_SIF_TEXTURE_COMPONENT_0 = 0x04, // this 2-bit value encodes c - 1, where c | ||
| 652 | D3D_SIF_TEXTURE_COMPONENT_1 = 0x08, // is the number of components in the texture | ||
| 653 | D3D_SIF_TEXTURE_COMPONENTS = 0x0c, | ||
| 654 | D3D_SIF_UNUSED = 0x10, | ||
| 655 | |||
| 656 | D3D10_SIF_USERPACKED = D3D_SIF_USERPACKED, | ||
| 657 | D3D10_SIF_COMPARISON_SAMPLER = D3D_SIF_COMPARISON_SAMPLER, | ||
| 658 | D3D10_SIF_TEXTURE_COMPONENT_0 = D3D_SIF_TEXTURE_COMPONENT_0, | ||
| 659 | D3D10_SIF_TEXTURE_COMPONENT_1 = D3D_SIF_TEXTURE_COMPONENT_1, | ||
| 660 | D3D10_SIF_TEXTURE_COMPONENTS = D3D_SIF_TEXTURE_COMPONENTS, | ||
| 661 | |||
| 662 | // force 32-bit size enum | ||
| 663 | D3D_SIF_FORCE_DWORD = 0x7fffffff | ||
| 664 | } D3D_SHADER_INPUT_FLAGS; | ||
| 665 | |||
| 666 | typedef enum _D3D_SHADER_INPUT_TYPE | ||
| 667 | { | ||
| 668 | D3D_SIT_CBUFFER, | ||
| 669 | D3D_SIT_TBUFFER, | ||
| 670 | D3D_SIT_TEXTURE, | ||
| 671 | D3D_SIT_SAMPLER, | ||
| 672 | D3D_SIT_UAV_RWTYPED, | ||
| 673 | D3D_SIT_STRUCTURED, | ||
| 674 | D3D_SIT_UAV_RWSTRUCTURED, | ||
| 675 | D3D_SIT_BYTEADDRESS, | ||
| 676 | D3D_SIT_UAV_RWBYTEADDRESS, | ||
| 677 | D3D_SIT_UAV_APPEND_STRUCTURED, | ||
| 678 | D3D_SIT_UAV_CONSUME_STRUCTURED, | ||
| 679 | D3D_SIT_UAV_RWSTRUCTURED_WITH_COUNTER, | ||
| 680 | D3D_SIT_RTACCELERATIONSTRUCTURE, | ||
| 681 | D3D_SIT_UAV_FEEDBACKTEXTURE, | ||
| 682 | |||
| 683 | D3D10_SIT_CBUFFER = D3D_SIT_CBUFFER, | ||
| 684 | D3D10_SIT_TBUFFER = D3D_SIT_TBUFFER, | ||
| 685 | D3D10_SIT_TEXTURE = D3D_SIT_TEXTURE, | ||
| 686 | D3D10_SIT_SAMPLER = D3D_SIT_SAMPLER, | ||
| 687 | |||
| 688 | D3D11_SIT_UAV_RWTYPED = D3D_SIT_UAV_RWTYPED, | ||
| 689 | D3D11_SIT_STRUCTURED = D3D_SIT_STRUCTURED, | ||
| 690 | D3D11_SIT_UAV_RWSTRUCTURED = D3D_SIT_UAV_RWSTRUCTURED, | ||
| 691 | D3D11_SIT_BYTEADDRESS = D3D_SIT_BYTEADDRESS, | ||
| 692 | D3D11_SIT_UAV_RWBYTEADDRESS = D3D_SIT_UAV_RWBYTEADDRESS, | ||
| 693 | D3D11_SIT_UAV_APPEND_STRUCTURED = D3D_SIT_UAV_APPEND_STRUCTURED, | ||
| 694 | D3D11_SIT_UAV_CONSUME_STRUCTURED = D3D_SIT_UAV_CONSUME_STRUCTURED, | ||
| 695 | D3D11_SIT_UAV_RWSTRUCTURED_WITH_COUNTER = D3D_SIT_UAV_RWSTRUCTURED_WITH_COUNTER, | ||
| 696 | } D3D_SHADER_INPUT_TYPE; | ||
| 697 | |||
| 698 | typedef enum _D3D_SHADER_CBUFFER_FLAGS | ||
| 699 | { | ||
| 700 | D3D_CBF_USERPACKED = 1, | ||
| 701 | |||
| 702 | D3D10_CBF_USERPACKED = D3D_CBF_USERPACKED, | ||
| 703 | |||
| 704 | // force 32-bit size enum | ||
| 705 | D3D_CBF_FORCE_DWORD = 0x7fffffff | ||
| 706 | } D3D_SHADER_CBUFFER_FLAGS; | ||
| 707 | |||
| 708 | typedef enum _D3D_CBUFFER_TYPE | ||
| 709 | { | ||
| 710 | D3D_CT_CBUFFER, | ||
| 711 | D3D_CT_TBUFFER, | ||
| 712 | D3D_CT_INTERFACE_POINTERS, | ||
| 713 | D3D_CT_RESOURCE_BIND_INFO, | ||
| 714 | |||
| 715 | D3D10_CT_CBUFFER = D3D_CT_CBUFFER, | ||
| 716 | D3D10_CT_TBUFFER = D3D_CT_TBUFFER, | ||
| 717 | |||
| 718 | D3D11_CT_CBUFFER = D3D_CT_CBUFFER, | ||
| 719 | D3D11_CT_TBUFFER = D3D_CT_TBUFFER, | ||
| 720 | D3D11_CT_INTERFACE_POINTERS = D3D_CT_INTERFACE_POINTERS, | ||
| 721 | D3D11_CT_RESOURCE_BIND_INFO = D3D_CT_RESOURCE_BIND_INFO, | ||
| 722 | } D3D_CBUFFER_TYPE; | ||
| 723 | |||
| 724 | typedef enum D3D_NAME | ||
| 725 | { | ||
| 726 | D3D_NAME_UNDEFINED = 0, | ||
| 727 | |||
| 728 | // Names meaningful to both HLSL and hardware | ||
| 729 | D3D_NAME_POSITION = 1, | ||
| 730 | D3D_NAME_CLIP_DISTANCE = 2, | ||
| 731 | D3D_NAME_CULL_DISTANCE = 3, | ||
| 732 | D3D_NAME_RENDER_TARGET_ARRAY_INDEX = 4, | ||
| 733 | D3D_NAME_VIEWPORT_ARRAY_INDEX = 5, | ||
| 734 | D3D_NAME_VERTEX_ID = 6, | ||
| 735 | D3D_NAME_PRIMITIVE_ID = 7, | ||
| 736 | D3D_NAME_INSTANCE_ID = 8, | ||
| 737 | D3D_NAME_IS_FRONT_FACE = 9, | ||
| 738 | D3D_NAME_SAMPLE_INDEX = 10, | ||
| 739 | D3D_NAME_FINAL_QUAD_EDGE_TESSFACTOR = 11, | ||
| 740 | D3D_NAME_FINAL_QUAD_INSIDE_TESSFACTOR = 12, | ||
| 741 | D3D_NAME_FINAL_TRI_EDGE_TESSFACTOR = 13, | ||
| 742 | D3D_NAME_FINAL_TRI_INSIDE_TESSFACTOR = 14, | ||
| 743 | D3D_NAME_FINAL_LINE_DETAIL_TESSFACTOR = 15, | ||
| 744 | D3D_NAME_FINAL_LINE_DENSITY_TESSFACTOR = 16, | ||
| 745 | D3D_NAME_BARYCENTRICS = 23, | ||
| 746 | D3D_NAME_SHADINGRATE = 24, | ||
| 747 | D3D_NAME_CULLPRIMITIVE = 25, | ||
| 748 | |||
| 749 | // Names meaningful to HLSL only | ||
| 750 | D3D_NAME_TARGET = 64, | ||
| 751 | D3D_NAME_DEPTH = 65, | ||
| 752 | D3D_NAME_COVERAGE = 66, | ||
| 753 | D3D_NAME_DEPTH_GREATER_EQUAL = 67, | ||
| 754 | D3D_NAME_DEPTH_LESS_EQUAL = 68, | ||
| 755 | D3D_NAME_STENCIL_REF = 69, | ||
| 756 | D3D_NAME_INNER_COVERAGE = 70, | ||
| 757 | |||
| 758 | D3D10_NAME_UNDEFINED = D3D_NAME_UNDEFINED, | ||
| 759 | D3D10_NAME_POSITION = D3D_NAME_POSITION, | ||
| 760 | D3D10_NAME_CLIP_DISTANCE = D3D_NAME_CLIP_DISTANCE, | ||
| 761 | D3D10_NAME_CULL_DISTANCE = D3D_NAME_CULL_DISTANCE, | ||
| 762 | D3D10_NAME_RENDER_TARGET_ARRAY_INDEX = D3D_NAME_RENDER_TARGET_ARRAY_INDEX, | ||
| 763 | D3D10_NAME_VIEWPORT_ARRAY_INDEX = D3D_NAME_VIEWPORT_ARRAY_INDEX, | ||
| 764 | D3D10_NAME_VERTEX_ID = D3D_NAME_VERTEX_ID, | ||
| 765 | D3D10_NAME_PRIMITIVE_ID = D3D_NAME_PRIMITIVE_ID, | ||
| 766 | D3D10_NAME_INSTANCE_ID = D3D_NAME_INSTANCE_ID, | ||
| 767 | D3D10_NAME_IS_FRONT_FACE = D3D_NAME_IS_FRONT_FACE, | ||
| 768 | D3D10_NAME_SAMPLE_INDEX = D3D_NAME_SAMPLE_INDEX, | ||
| 769 | D3D10_NAME_TARGET = D3D_NAME_TARGET, | ||
| 770 | D3D10_NAME_DEPTH = D3D_NAME_DEPTH, | ||
| 771 | D3D10_NAME_COVERAGE = D3D_NAME_COVERAGE, | ||
| 772 | |||
| 773 | D3D11_NAME_FINAL_QUAD_EDGE_TESSFACTOR = D3D_NAME_FINAL_QUAD_EDGE_TESSFACTOR, | ||
| 774 | D3D11_NAME_FINAL_QUAD_INSIDE_TESSFACTOR = D3D_NAME_FINAL_QUAD_INSIDE_TESSFACTOR, | ||
| 775 | D3D11_NAME_FINAL_TRI_EDGE_TESSFACTOR = D3D_NAME_FINAL_TRI_EDGE_TESSFACTOR, | ||
| 776 | D3D11_NAME_FINAL_TRI_INSIDE_TESSFACTOR = D3D_NAME_FINAL_TRI_INSIDE_TESSFACTOR, | ||
| 777 | D3D11_NAME_FINAL_LINE_DETAIL_TESSFACTOR = D3D_NAME_FINAL_LINE_DETAIL_TESSFACTOR, | ||
| 778 | D3D11_NAME_FINAL_LINE_DENSITY_TESSFACTOR = D3D_NAME_FINAL_LINE_DENSITY_TESSFACTOR, | ||
| 779 | D3D11_NAME_DEPTH_GREATER_EQUAL = D3D_NAME_DEPTH_GREATER_EQUAL, | ||
| 780 | D3D11_NAME_DEPTH_LESS_EQUAL = D3D_NAME_DEPTH_LESS_EQUAL, | ||
| 781 | |||
| 782 | D3D11_NAME_STENCIL_REF = D3D_NAME_STENCIL_REF, | ||
| 783 | D3D11_NAME_INNER_COVERAGE = D3D_NAME_INNER_COVERAGE, | ||
| 784 | |||
| 785 | D3D12_NAME_BARYCENTRICS = D3D_NAME_BARYCENTRICS, | ||
| 786 | D3D12_NAME_SHADINGRATE = D3D_NAME_SHADINGRATE, | ||
| 787 | D3D12_NAME_CULLPRIMITIVE = D3D_NAME_CULLPRIMITIVE, | ||
| 788 | } D3D_NAME; | ||
| 789 | |||
| 790 | typedef enum D3D_RESOURCE_RETURN_TYPE | ||
| 791 | { | ||
| 792 | D3D_RETURN_TYPE_UNORM = 1, | ||
| 793 | D3D_RETURN_TYPE_SNORM = 2, | ||
| 794 | D3D_RETURN_TYPE_SINT = 3, | ||
| 795 | D3D_RETURN_TYPE_UINT = 4, | ||
| 796 | D3D_RETURN_TYPE_FLOAT = 5, | ||
| 797 | D3D_RETURN_TYPE_MIXED = 6, | ||
| 798 | D3D_RETURN_TYPE_DOUBLE = 7, | ||
| 799 | D3D_RETURN_TYPE_CONTINUED = 8, | ||
| 800 | |||
| 801 | D3D10_RETURN_TYPE_UNORM = D3D_RETURN_TYPE_UNORM, | ||
| 802 | D3D10_RETURN_TYPE_SNORM = D3D_RETURN_TYPE_SNORM, | ||
| 803 | D3D10_RETURN_TYPE_SINT = D3D_RETURN_TYPE_SINT, | ||
| 804 | D3D10_RETURN_TYPE_UINT = D3D_RETURN_TYPE_UINT, | ||
| 805 | D3D10_RETURN_TYPE_FLOAT = D3D_RETURN_TYPE_FLOAT, | ||
| 806 | D3D10_RETURN_TYPE_MIXED = D3D_RETURN_TYPE_MIXED, | ||
| 807 | |||
| 808 | D3D11_RETURN_TYPE_UNORM = D3D_RETURN_TYPE_UNORM, | ||
| 809 | D3D11_RETURN_TYPE_SNORM = D3D_RETURN_TYPE_SNORM, | ||
| 810 | D3D11_RETURN_TYPE_SINT = D3D_RETURN_TYPE_SINT, | ||
| 811 | D3D11_RETURN_TYPE_UINT = D3D_RETURN_TYPE_UINT, | ||
| 812 | D3D11_RETURN_TYPE_FLOAT = D3D_RETURN_TYPE_FLOAT, | ||
| 813 | D3D11_RETURN_TYPE_MIXED = D3D_RETURN_TYPE_MIXED, | ||
| 814 | D3D11_RETURN_TYPE_DOUBLE = D3D_RETURN_TYPE_DOUBLE, | ||
| 815 | D3D11_RETURN_TYPE_CONTINUED = D3D_RETURN_TYPE_CONTINUED, | ||
| 816 | } D3D_RESOURCE_RETURN_TYPE; | ||
| 817 | |||
| 818 | typedef enum D3D_REGISTER_COMPONENT_TYPE | ||
| 819 | { | ||
| 820 | D3D_REGISTER_COMPONENT_UNKNOWN = 0, | ||
| 821 | D3D_REGISTER_COMPONENT_UINT32 = 1, | ||
| 822 | D3D_REGISTER_COMPONENT_SINT32 = 2, | ||
| 823 | D3D_REGISTER_COMPONENT_FLOAT32 = 3, | ||
| 824 | D3D_REGISTER_COMPONENT_UINT16 = 4, | ||
| 825 | D3D_REGISTER_COMPONENT_SINT16 = 5, | ||
| 826 | D3D_REGISTER_COMPONENT_FLOAT16 = 6, | ||
| 827 | D3D_REGISTER_COMPONENT_UINT64 = 7, | ||
| 828 | D3D_REGISTER_COMPONENT_SINT64 = 8, | ||
| 829 | D3D_REGISTER_COMPONENT_FLOAT64 = 9, | ||
| 830 | |||
| 831 | D3D10_REGISTER_COMPONENT_UNKNOWN = D3D_REGISTER_COMPONENT_UNKNOWN, | ||
| 832 | D3D10_REGISTER_COMPONENT_UINT32 = D3D_REGISTER_COMPONENT_UINT32, | ||
| 833 | D3D10_REGISTER_COMPONENT_SINT32 = D3D_REGISTER_COMPONENT_SINT32, | ||
| 834 | D3D10_REGISTER_COMPONENT_FLOAT32 = D3D_REGISTER_COMPONENT_FLOAT32, | ||
| 835 | D3D10_REGISTER_COMPONENT_UINT16 = D3D_REGISTER_COMPONENT_UINT16, | ||
| 836 | D3D10_REGISTER_COMPONENT_SINT16 = D3D_REGISTER_COMPONENT_SINT16, | ||
| 837 | D3D10_REGISTER_COMPONENT_FLOAT16 = D3D_REGISTER_COMPONENT_FLOAT16, | ||
| 838 | D3D10_REGISTER_COMPONENT_UINT64 = D3D_REGISTER_COMPONENT_UINT64, | ||
| 839 | D3D10_REGISTER_COMPONENT_SINT64 = D3D_REGISTER_COMPONENT_SINT64, | ||
| 840 | D3D10_REGISTER_COMPONENT_FLOAT64 = D3D_REGISTER_COMPONENT_FLOAT64, | ||
| 841 | } D3D_REGISTER_COMPONENT_TYPE; | ||
| 842 | |||
| 843 | typedef enum D3D_TESSELLATOR_DOMAIN | ||
| 844 | { | ||
| 845 | D3D_TESSELLATOR_DOMAIN_UNDEFINED = 0, | ||
| 846 | D3D_TESSELLATOR_DOMAIN_ISOLINE = 1, | ||
| 847 | D3D_TESSELLATOR_DOMAIN_TRI = 2, | ||
| 848 | D3D_TESSELLATOR_DOMAIN_QUAD = 3, | ||
| 849 | |||
| 850 | D3D11_TESSELLATOR_DOMAIN_UNDEFINED = D3D_TESSELLATOR_DOMAIN_UNDEFINED, | ||
| 851 | D3D11_TESSELLATOR_DOMAIN_ISOLINE = D3D_TESSELLATOR_DOMAIN_ISOLINE, | ||
| 852 | D3D11_TESSELLATOR_DOMAIN_TRI = D3D_TESSELLATOR_DOMAIN_TRI, | ||
| 853 | D3D11_TESSELLATOR_DOMAIN_QUAD = D3D_TESSELLATOR_DOMAIN_QUAD, | ||
| 854 | } D3D_TESSELLATOR_DOMAIN; | ||
| 855 | |||
| 856 | typedef enum D3D_TESSELLATOR_PARTITIONING | ||
| 857 | { | ||
| 858 | D3D_TESSELLATOR_PARTITIONING_UNDEFINED = 0, | ||
| 859 | D3D_TESSELLATOR_PARTITIONING_INTEGER = 1, | ||
| 860 | D3D_TESSELLATOR_PARTITIONING_POW2 = 2, | ||
| 861 | D3D_TESSELLATOR_PARTITIONING_FRACTIONAL_ODD = 3, | ||
| 862 | D3D_TESSELLATOR_PARTITIONING_FRACTIONAL_EVEN = 4, | ||
| 863 | |||
| 864 | D3D11_TESSELLATOR_PARTITIONING_UNDEFINED = D3D_TESSELLATOR_PARTITIONING_UNDEFINED, | ||
| 865 | D3D11_TESSELLATOR_PARTITIONING_INTEGER = D3D_TESSELLATOR_PARTITIONING_INTEGER, | ||
| 866 | D3D11_TESSELLATOR_PARTITIONING_POW2 = D3D_TESSELLATOR_PARTITIONING_POW2, | ||
| 867 | D3D11_TESSELLATOR_PARTITIONING_FRACTIONAL_ODD = D3D_TESSELLATOR_PARTITIONING_FRACTIONAL_ODD, | ||
| 868 | D3D11_TESSELLATOR_PARTITIONING_FRACTIONAL_EVEN = D3D_TESSELLATOR_PARTITIONING_FRACTIONAL_EVEN, | ||
| 869 | } D3D_TESSELLATOR_PARTITIONING; | ||
| 870 | |||
| 871 | typedef enum D3D_TESSELLATOR_OUTPUT_PRIMITIVE | ||
| 872 | { | ||
| 873 | D3D_TESSELLATOR_OUTPUT_UNDEFINED = 0, | ||
| 874 | D3D_TESSELLATOR_OUTPUT_POINT = 1, | ||
| 875 | D3D_TESSELLATOR_OUTPUT_LINE = 2, | ||
| 876 | D3D_TESSELLATOR_OUTPUT_TRIANGLE_CW = 3, | ||
| 877 | D3D_TESSELLATOR_OUTPUT_TRIANGLE_CCW = 4, | ||
| 878 | |||
| 879 | D3D11_TESSELLATOR_OUTPUT_UNDEFINED = D3D_TESSELLATOR_OUTPUT_UNDEFINED, | ||
| 880 | D3D11_TESSELLATOR_OUTPUT_POINT = D3D_TESSELLATOR_OUTPUT_POINT, | ||
| 881 | D3D11_TESSELLATOR_OUTPUT_LINE = D3D_TESSELLATOR_OUTPUT_LINE, | ||
| 882 | D3D11_TESSELLATOR_OUTPUT_TRIANGLE_CW = D3D_TESSELLATOR_OUTPUT_TRIANGLE_CW, | ||
| 883 | D3D11_TESSELLATOR_OUTPUT_TRIANGLE_CCW = D3D_TESSELLATOR_OUTPUT_TRIANGLE_CCW, | ||
| 884 | } D3D_TESSELLATOR_OUTPUT_PRIMITIVE; | ||
| 885 | |||
| 886 | typedef enum D3D_MIN_PRECISION | ||
| 887 | { | ||
| 888 | D3D_MIN_PRECISION_DEFAULT = 0, // Default precision for the shader model | ||
| 889 | D3D_MIN_PRECISION_FLOAT_16 = 1, // Min 16 bit/component float | ||
| 890 | D3D_MIN_PRECISION_FLOAT_2_8 = 2, // Min 10(2.8)bit/comp. float | ||
| 891 | D3D_MIN_PRECISION_RESERVED = 3, // Reserved for future use | ||
| 892 | D3D_MIN_PRECISION_SINT_16 = 4, // Min 16 bit/comp. signed integer | ||
| 893 | D3D_MIN_PRECISION_UINT_16 = 5, // Min 16 bit/comp. unsigned integer | ||
| 894 | |||
| 895 | // These values are abstractions of width only for use in situations | ||
| 896 | // where a general width is needed instead of specific types. They | ||
| 897 | // will never be used in shader operands. | ||
| 898 | D3D_MIN_PRECISION_ANY_16 = 0xf0, | ||
| 899 | D3D_MIN_PRECISION_ANY_10 = 0xf1, | ||
| 900 | } D3D_MIN_PRECISION; | ||
| 901 | |||
| 902 | typedef enum D3D_INTERPOLATION_MODE | ||
| 903 | { | ||
| 904 | D3D_INTERPOLATION_UNDEFINED = 0, | ||
| 905 | D3D_INTERPOLATION_CONSTANT = 1, | ||
| 906 | D3D_INTERPOLATION_LINEAR = 2, | ||
| 907 | D3D_INTERPOLATION_LINEAR_CENTROID = 3, | ||
| 908 | D3D_INTERPOLATION_LINEAR_NOPERSPECTIVE = 4, | ||
| 909 | D3D_INTERPOLATION_LINEAR_NOPERSPECTIVE_CENTROID = 5, | ||
| 910 | D3D_INTERPOLATION_LINEAR_SAMPLE = 6, | ||
| 911 | D3D_INTERPOLATION_LINEAR_NOPERSPECTIVE_SAMPLE = 7, | ||
| 912 | } D3D_INTERPOLATION_MODE; | ||
| 913 | |||
| 914 | // Parameter flags. | ||
| 915 | typedef enum _D3D_PARAMETER_FLAGS | ||
| 916 | { | ||
| 917 | D3D_PF_NONE = 0x00000000, | ||
| 918 | D3D_PF_IN = 0x00000001, | ||
| 919 | D3D_PF_OUT = 0x00000002, | ||
| 920 | D3D_PF_FORCE_DWORD = 0x7fffffff | ||
| 921 | } D3D_PARAMETER_FLAGS; | ||
| 922 | |||
| 923 | // Format Layout Properties | ||
| 924 | typedef enum D3D_FORMAT_LAYOUT | ||
| 925 | { | ||
| 926 | D3DFL_STANDARD = 0, // standard layout | ||
| 927 | D3DFL_CUSTOM = -1 // custom layout | ||
| 928 | // Note, 1 bit allocated for this in FORMAT_DETAIL below. If you add fields here, add bits... | ||
| 929 | // NOTE SIGNED VALUES ARE USED SINCE COMPILER MAKES ENUMS SIGNED, AND BITFIELDS ARE SIGN EXTENDED ON READ | ||
| 930 | } D3D_FORMAT_LAYOUT; | ||
| 931 | |||
| 932 | typedef enum D3D_FORMAT_TYPE_LEVEL | ||
| 933 | { | ||
| 934 | D3DFTL_NO_TYPE = 0, | ||
| 935 | D3DFTL_PARTIAL_TYPE = -2, | ||
| 936 | D3DFTL_FULL_TYPE = -1, | ||
| 937 | // Note, 2 bits allocated for this in FORMAT_DETAIL below. If you add fields here, add bits... | ||
| 938 | // NOTE SIGNED VALUES ARE USED SINCE COMPILER MAKES ENUMS SIGNED, AND BITFIELDS ARE SIGN EXTENDED ON READ | ||
| 939 | } D3D_FORMAT_TYPE_LEVEL; | ||
| 940 | |||
| 941 | typedef enum D3D_FORMAT_COMPONENT_NAME | ||
| 942 | { | ||
| 943 | D3DFCN_R = -4, | ||
| 944 | D3DFCN_G = -3, | ||
| 945 | D3DFCN_B = -2, | ||
| 946 | D3DFCN_A = -1, | ||
| 947 | D3DFCN_D = 0, | ||
| 948 | D3DFCN_S = 1, | ||
| 949 | D3DFCN_X = 2, | ||
| 950 | // Note, 3 bits allocated for this in FORMAT_DETAIL below. If you add fields here, add bits... | ||
| 951 | // NOTE SIGNED VALUES ARE USED SINCE COMPILER MAKES ENUMS SIGNED, AND BITFIELDS ARE SIGN EXTENDED ON READ | ||
| 952 | } D3D_FORMAT_COMPONENT_NAME; | ||
| 953 | |||
| 954 | typedef enum D3D_FORMAT_COMPONENT_INTERPRETATION | ||
| 955 | { | ||
| 956 | D3DFCI_TYPELESS = 0, | ||
| 957 | D3DFCI_FLOAT = -4, | ||
| 958 | D3DFCI_SNORM = -3, | ||
| 959 | D3DFCI_UNORM = -2, | ||
| 960 | D3DFCI_SINT = -1, | ||
| 961 | D3DFCI_UINT = 1, | ||
| 962 | D3DFCI_UNORM_SRGB = 2, | ||
| 963 | D3DFCI_BIASED_FIXED_2_8 = 3, | ||
| 964 | // Note, 3 bits allocated for this in FORMAT_DETAIL below. If you add fields here, add bits... | ||
| 965 | // NOTE SIGNED VALUES ARE USED SINCE COMPILER MAKES ENUMS SIGNED, AND BITFIELDS ARE SIGN EXTENDED ON READ | ||
| 966 | } D3D_FORMAT_COMPONENT_INTERPRETATION; | ||
| 967 | |||
| 968 | // Well-Known Private Data IDs (WKPDID_*): | ||
| 969 | |||
| 970 | // WKPDID_D3DDebugObjectName provides a unique name to objects in order to assist the developer during debugging. | ||
| 971 | // | ||
| 972 | // const char c_szName[] = "texture.jpg"; | ||
| 973 | // pObject->SetPrivateData( WKPDID_D3DDebugObjectName, sizeof( c_szName ) - 1, c_szName ); | ||
| 974 | cpp_quote("DEFINE_GUID(WKPDID_D3DDebugObjectName,0x429b8c22,0x9188,0x4b0c,0x87,0x42,0xac,0xb0,0xbf,0x85,0xc2,0x00);") | ||
| 975 | cpp_quote("DEFINE_GUID(WKPDID_D3DDebugObjectNameW,0x4cca5fd8,0x921f,0x42c8,0x85,0x66,0x70,0xca,0xf2,0xa9,0xb7,0x41);") | ||
| 976 | cpp_quote("DEFINE_GUID(WKPDID_CommentStringW,0xd0149dc0,0x90e8,0x4ec8,0x81, 0x44, 0xe9, 0x00, 0xad, 0x26, 0x6b, 0xb2);") | ||
| 977 | cpp_quote("DEFINE_GUID(WKPDID_D3D12UniqueObjectId, 0x1b39de15, 0xec04, 0x4bae, 0xba, 0x4d, 0x8c, 0xef, 0x79, 0xfc, 0x04, 0xc1);") | ||
| 978 | |||
| 979 | cpp_quote("#define D3D_SET_OBJECT_NAME_N_A(pObject, Chars, pName) (pObject)->SetPrivateData(WKPDID_D3DDebugObjectName, Chars, pName)") | ||
| 980 | cpp_quote("#define D3D_SET_OBJECT_NAME_A(pObject, pName) D3D_SET_OBJECT_NAME_N_A(pObject, lstrlenA(pName), pName)") | ||
| 981 | cpp_quote("#define D3D_SET_OBJECT_NAME_N_W(pObject, Chars, pName) (pObject)->SetPrivateData(WKPDID_D3DDebugObjectNameW, Chars*2, pName)") | ||
| 982 | cpp_quote("#define D3D_SET_OBJECT_NAME_W(pObject, pName) D3D_SET_OBJECT_NAME_N_W(pObject, wcslen(pName), pName)") | ||
| 983 | |||
| 984 | cpp_quote("#define D3D_COMPONENT_MASK_X 1") | ||
| 985 | cpp_quote("#define D3D_COMPONENT_MASK_Y 2") | ||
| 986 | cpp_quote("#define D3D_COMPONENT_MASK_Z 4") | ||
| 987 | cpp_quote("#define D3D_COMPONENT_MASK_W 8") | ||
| 988 | |||
| 989 | cpp_quote("DEFINE_GUID(D3D_TEXTURE_LAYOUT_ROW_MAJOR,0xb5dc234f,0x72bb,0x4bec,0x97,0x05,0x8c,0xf2,0x58,0xdf,0x6b,0x6c);") // Feature_D3D1XDisplayable | ||
| 990 | cpp_quote("DEFINE_GUID(D3D_TEXTURE_LAYOUT_64KB_STANDARD_SWIZZLE,0x4c0f29e3,0x3f5f,0x4d35,0x84,0xc9,0xbc,0x09,0x83,0xb6,0x2c,0x28);") // Feature_D3D1XDisplayable | ||
| 991 | |||
diff --git a/contrib/microsoft.direct3d.d3d12.1.618.4/build/native/include/d3dshadercacheregistration.h b/contrib/microsoft.direct3d.d3d12.1.618.4/build/native/include/d3dshadercacheregistration.h new file mode 100644 index 0000000..671866a --- /dev/null +++ b/contrib/microsoft.direct3d.d3d12.1.618.4/build/native/include/d3dshadercacheregistration.h | |||
| @@ -0,0 +1,998 @@ | |||
| 1 | /*------------------------------------------------------------------------------------- | ||
| 2 | * | ||
| 3 | * Copyright (c) Microsoft Corporation | ||
| 4 | * Licensed under the MIT license | ||
| 5 | * | ||
| 6 | *-------------------------------------------------------------------------------------*/ | ||
| 7 | |||
| 8 | |||
| 9 | /* this ALWAYS GENERATED file contains the definitions for the interfaces */ | ||
| 10 | |||
| 11 | |||
| 12 | /* File created by MIDL compiler version 8.01.0628 */ | ||
| 13 | |||
| 14 | |||
| 15 | |||
| 16 | /* verify that the <rpcndr.h> version is high enough to compile this file*/ | ||
| 17 | #ifndef __REQUIRED_RPCNDR_H_VERSION__ | ||
| 18 | #define __REQUIRED_RPCNDR_H_VERSION__ 500 | ||
| 19 | #endif | ||
| 20 | |||
| 21 | /* verify that the <rpcsal.h> version is high enough to compile this file*/ | ||
| 22 | #ifndef __REQUIRED_RPCSAL_H_VERSION__ | ||
| 23 | #define __REQUIRED_RPCSAL_H_VERSION__ 100 | ||
| 24 | #endif | ||
| 25 | |||
| 26 | #include "rpc.h" | ||
| 27 | #include "rpcndr.h" | ||
| 28 | |||
| 29 | #ifndef __RPCNDR_H_VERSION__ | ||
| 30 | #error this stub requires an updated version of <rpcndr.h> | ||
| 31 | #endif /* __RPCNDR_H_VERSION__ */ | ||
| 32 | |||
| 33 | #ifndef COM_NO_WINDOWS_H | ||
| 34 | #include "windows.h" | ||
| 35 | #include "ole2.h" | ||
| 36 | #endif /*COM_NO_WINDOWS_H*/ | ||
| 37 | |||
| 38 | #ifndef __d3dshadercacheregistration_h__ | ||
| 39 | #define __d3dshadercacheregistration_h__ | ||
| 40 | |||
| 41 | #if defined(_MSC_VER) && (_MSC_VER >= 1020) | ||
| 42 | #pragma once | ||
| 43 | #endif | ||
| 44 | |||
| 45 | #ifndef DECLSPEC_XFGVIRT | ||
| 46 | #if defined(_CONTROL_FLOW_GUARD_XFG) | ||
| 47 | #define DECLSPEC_XFGVIRT(base, func) __declspec(xfg_virtual(base, func)) | ||
| 48 | #else | ||
| 49 | #define DECLSPEC_XFGVIRT(base, func) | ||
| 50 | #endif | ||
| 51 | #endif | ||
| 52 | |||
| 53 | /* Forward Declarations */ | ||
| 54 | |||
| 55 | #ifndef __ID3DShaderCacheInstallerClient_FWD_DEFINED__ | ||
| 56 | #define __ID3DShaderCacheInstallerClient_FWD_DEFINED__ | ||
| 57 | typedef interface ID3DShaderCacheInstallerClient ID3DShaderCacheInstallerClient; | ||
| 58 | |||
| 59 | #endif /* __ID3DShaderCacheInstallerClient_FWD_DEFINED__ */ | ||
| 60 | |||
| 61 | |||
| 62 | #ifndef __ID3DShaderCacheComponent_FWD_DEFINED__ | ||
| 63 | #define __ID3DShaderCacheComponent_FWD_DEFINED__ | ||
| 64 | typedef interface ID3DShaderCacheComponent ID3DShaderCacheComponent; | ||
| 65 | |||
| 66 | #endif /* __ID3DShaderCacheComponent_FWD_DEFINED__ */ | ||
| 67 | |||
| 68 | |||
| 69 | #ifndef __ID3DShaderCacheApplication_FWD_DEFINED__ | ||
| 70 | #define __ID3DShaderCacheApplication_FWD_DEFINED__ | ||
| 71 | typedef interface ID3DShaderCacheApplication ID3DShaderCacheApplication; | ||
| 72 | |||
| 73 | #endif /* __ID3DShaderCacheApplication_FWD_DEFINED__ */ | ||
| 74 | |||
| 75 | |||
| 76 | #ifndef __ID3DShaderCacheInstaller_FWD_DEFINED__ | ||
| 77 | #define __ID3DShaderCacheInstaller_FWD_DEFINED__ | ||
| 78 | typedef interface ID3DShaderCacheInstaller ID3DShaderCacheInstaller; | ||
| 79 | |||
| 80 | #endif /* __ID3DShaderCacheInstaller_FWD_DEFINED__ */ | ||
| 81 | |||
| 82 | |||
| 83 | #ifndef __ID3DShaderCacheExplorer_FWD_DEFINED__ | ||
| 84 | #define __ID3DShaderCacheExplorer_FWD_DEFINED__ | ||
| 85 | typedef interface ID3DShaderCacheExplorer ID3DShaderCacheExplorer; | ||
| 86 | |||
| 87 | #endif /* __ID3DShaderCacheExplorer_FWD_DEFINED__ */ | ||
| 88 | |||
| 89 | |||
| 90 | #ifndef __ID3DShaderCacheInstallerFactory_FWD_DEFINED__ | ||
| 91 | #define __ID3DShaderCacheInstallerFactory_FWD_DEFINED__ | ||
| 92 | typedef interface ID3DShaderCacheInstallerFactory ID3DShaderCacheInstallerFactory; | ||
| 93 | |||
| 94 | #endif /* __ID3DShaderCacheInstallerFactory_FWD_DEFINED__ */ | ||
| 95 | |||
| 96 | |||
| 97 | /* header files for imported files */ | ||
| 98 | #include "oaidl.h" | ||
| 99 | #include "ocidl.h" | ||
| 100 | |||
| 101 | #ifdef __cplusplus | ||
| 102 | extern "C"{ | ||
| 103 | #endif | ||
| 104 | |||
| 105 | |||
| 106 | /* interface __MIDL_itf_d3dshadercacheregistration_0000_0000 */ | ||
| 107 | /* [local] */ | ||
| 108 | |||
| 109 | #pragma once | ||
| 110 | DEFINE_GUID(CLSID_D3DShaderCacheInstallerFactory, 0x16195a0b, 0x607c, 0x41f1, 0xbf, 0x03, 0xc7, 0x69, 0x4d, 0x60, 0xa8, 0xd4); | ||
| 111 | typedef | ||
| 112 | enum D3D_SHADER_CACHE_APP_REGISTRATION_SCOPE | ||
| 113 | { | ||
| 114 | D3D_SHADER_CACHE_APP_REGISTRATION_SCOPE_USER = 0, | ||
| 115 | D3D_SHADER_CACHE_APP_REGISTRATION_SCOPE_SYSTEM = ( D3D_SHADER_CACHE_APP_REGISTRATION_SCOPE_USER + 1 ) | ||
| 116 | } D3D_SHADER_CACHE_APP_REGISTRATION_SCOPE; | ||
| 117 | |||
| 118 | |||
| 119 | |||
| 120 | |||
| 121 | extern RPC_IF_HANDLE __MIDL_itf_d3dshadercacheregistration_0000_0000_v0_0_c_ifspec; | ||
| 122 | extern RPC_IF_HANDLE __MIDL_itf_d3dshadercacheregistration_0000_0000_v0_0_s_ifspec; | ||
| 123 | |||
| 124 | #ifndef __ID3DShaderCacheInstallerClient_INTERFACE_DEFINED__ | ||
| 125 | #define __ID3DShaderCacheInstallerClient_INTERFACE_DEFINED__ | ||
| 126 | |||
| 127 | /* interface ID3DShaderCacheInstallerClient */ | ||
| 128 | /* [unique][local][object][uuid] */ | ||
| 129 | |||
| 130 | |||
| 131 | EXTERN_C const IID IID_ID3DShaderCacheInstallerClient; | ||
| 132 | |||
| 133 | #if defined(__cplusplus) && !defined(CINTERFACE) | ||
| 134 | |||
| 135 | MIDL_INTERFACE("a16ee930-d9f6-4222-a514-244473e5d266") | ||
| 136 | ID3DShaderCacheInstallerClient | ||
| 137 | { | ||
| 138 | public: | ||
| 139 | BEGIN_INTERFACE | ||
| 140 | virtual HRESULT STDMETHODCALLTYPE GetInstallerName( | ||
| 141 | _Inout_ SIZE_T *pNameLength, | ||
| 142 | _Out_writes_opt_(*pNameLength) wchar_t *pName) = 0; | ||
| 143 | |||
| 144 | virtual D3D_SHADER_CACHE_APP_REGISTRATION_SCOPE STDMETHODCALLTYPE GetInstallerScope( void) = 0; | ||
| 145 | |||
| 146 | virtual HRESULT STDMETHODCALLTYPE HandleDriverUpdate( | ||
| 147 | _In_ ID3DShaderCacheInstaller *pInstaller) = 0; | ||
| 148 | |||
| 149 | END_INTERFACE | ||
| 150 | }; | ||
| 151 | |||
| 152 | |||
| 153 | #else /* C style interface */ | ||
| 154 | |||
| 155 | typedef struct ID3DShaderCacheInstallerClientVtbl | ||
| 156 | { | ||
| 157 | BEGIN_INTERFACE | ||
| 158 | |||
| 159 | DECLSPEC_XFGVIRT(ID3DShaderCacheInstallerClient, GetInstallerName) | ||
| 160 | HRESULT ( STDMETHODCALLTYPE *GetInstallerName )( | ||
| 161 | ID3DShaderCacheInstallerClient * This, | ||
| 162 | _Inout_ SIZE_T *pNameLength, | ||
| 163 | _Out_writes_opt_(*pNameLength) wchar_t *pName); | ||
| 164 | |||
| 165 | DECLSPEC_XFGVIRT(ID3DShaderCacheInstallerClient, GetInstallerScope) | ||
| 166 | D3D_SHADER_CACHE_APP_REGISTRATION_SCOPE ( STDMETHODCALLTYPE *GetInstallerScope )( | ||
| 167 | ID3DShaderCacheInstallerClient * This); | ||
| 168 | |||
| 169 | DECLSPEC_XFGVIRT(ID3DShaderCacheInstallerClient, HandleDriverUpdate) | ||
| 170 | HRESULT ( STDMETHODCALLTYPE *HandleDriverUpdate )( | ||
| 171 | ID3DShaderCacheInstallerClient * This, | ||
| 172 | _In_ ID3DShaderCacheInstaller *pInstaller); | ||
| 173 | |||
| 174 | END_INTERFACE | ||
| 175 | } ID3DShaderCacheInstallerClientVtbl; | ||
| 176 | |||
| 177 | interface ID3DShaderCacheInstallerClient | ||
| 178 | { | ||
| 179 | CONST_VTBL struct ID3DShaderCacheInstallerClientVtbl *lpVtbl; | ||
| 180 | }; | ||
| 181 | |||
| 182 | |||
| 183 | |||
| 184 | #ifdef COBJMACROS | ||
| 185 | |||
| 186 | |||
| 187 | #define ID3DShaderCacheInstallerClient_GetInstallerName(This,pNameLength,pName) \ | ||
| 188 | ( (This)->lpVtbl -> GetInstallerName(This,pNameLength,pName) ) | ||
| 189 | |||
| 190 | #define ID3DShaderCacheInstallerClient_GetInstallerScope(This) \ | ||
| 191 | ( (This)->lpVtbl -> GetInstallerScope(This) ) | ||
| 192 | |||
| 193 | #define ID3DShaderCacheInstallerClient_HandleDriverUpdate(This,pInstaller) \ | ||
| 194 | ( (This)->lpVtbl -> HandleDriverUpdate(This,pInstaller) ) | ||
| 195 | |||
| 196 | #endif /* COBJMACROS */ | ||
| 197 | |||
| 198 | |||
| 199 | #endif /* C style interface */ | ||
| 200 | |||
| 201 | |||
| 202 | |||
| 203 | |||
| 204 | #endif /* __ID3DShaderCacheInstallerClient_INTERFACE_DEFINED__ */ | ||
| 205 | |||
| 206 | |||
| 207 | /* interface __MIDL_itf_d3dshadercacheregistration_0000_0001 */ | ||
| 208 | /* [local] */ | ||
| 209 | |||
| 210 | typedef struct D3D_SHADER_CACHE_PSDB_PROPERTIES | ||
| 211 | { | ||
| 212 | const wchar_t *pAdapterFamily; | ||
| 213 | const wchar_t *pPsdbPath; | ||
| 214 | } D3D_SHADER_CACHE_PSDB_PROPERTIES; | ||
| 215 | |||
| 216 | |||
| 217 | |||
| 218 | extern RPC_IF_HANDLE __MIDL_itf_d3dshadercacheregistration_0000_0001_v0_0_c_ifspec; | ||
| 219 | extern RPC_IF_HANDLE __MIDL_itf_d3dshadercacheregistration_0000_0001_v0_0_s_ifspec; | ||
| 220 | |||
| 221 | #ifndef __ID3DShaderCacheComponent_INTERFACE_DEFINED__ | ||
| 222 | #define __ID3DShaderCacheComponent_INTERFACE_DEFINED__ | ||
| 223 | |||
| 224 | /* interface ID3DShaderCacheComponent */ | ||
| 225 | /* [unique][local][object][uuid] */ | ||
| 226 | |||
| 227 | |||
| 228 | EXTERN_C const IID IID_ID3DShaderCacheComponent; | ||
| 229 | |||
| 230 | #if defined(__cplusplus) && !defined(CINTERFACE) | ||
| 231 | |||
| 232 | MIDL_INTERFACE("eed1bf00-f5c7-4cf7-885c-d0f9c0cb4828") | ||
| 233 | ID3DShaderCacheComponent : public IUnknown | ||
| 234 | { | ||
| 235 | public: | ||
| 236 | virtual HRESULT STDMETHODCALLTYPE GetComponentName( | ||
| 237 | _Out_ const wchar_t **pName) = 0; | ||
| 238 | |||
| 239 | virtual HRESULT STDMETHODCALLTYPE GetStateObjectDatabasePath( | ||
| 240 | _Out_ const wchar_t **pPath) = 0; | ||
| 241 | |||
| 242 | virtual HRESULT STDMETHODCALLTYPE GetPrecompiledCachePath( | ||
| 243 | _In_ const wchar_t *pAdapterFamily, | ||
| 244 | _Inout_ const wchar_t **pPath) = 0; | ||
| 245 | |||
| 246 | virtual UINT STDMETHODCALLTYPE GetPrecompiledShaderDatabaseCount( void) = 0; | ||
| 247 | |||
| 248 | virtual HRESULT STDMETHODCALLTYPE GetPrecompiledShaderDatabases( | ||
| 249 | UINT ArraySize, | ||
| 250 | _Out_writes_(ArraySize) D3D_SHADER_CACHE_PSDB_PROPERTIES *pPSDBs) = 0; | ||
| 251 | |||
| 252 | }; | ||
| 253 | |||
| 254 | |||
| 255 | #else /* C style interface */ | ||
| 256 | |||
| 257 | typedef struct ID3DShaderCacheComponentVtbl | ||
| 258 | { | ||
| 259 | BEGIN_INTERFACE | ||
| 260 | |||
| 261 | DECLSPEC_XFGVIRT(IUnknown, QueryInterface) | ||
| 262 | HRESULT ( STDMETHODCALLTYPE *QueryInterface )( | ||
| 263 | ID3DShaderCacheComponent * This, | ||
| 264 | REFIID riid, | ||
| 265 | _COM_Outptr_ void **ppvObject); | ||
| 266 | |||
| 267 | DECLSPEC_XFGVIRT(IUnknown, AddRef) | ||
| 268 | ULONG ( STDMETHODCALLTYPE *AddRef )( | ||
| 269 | ID3DShaderCacheComponent * This); | ||
| 270 | |||
| 271 | DECLSPEC_XFGVIRT(IUnknown, Release) | ||
| 272 | ULONG ( STDMETHODCALLTYPE *Release )( | ||
| 273 | ID3DShaderCacheComponent * This); | ||
| 274 | |||
| 275 | DECLSPEC_XFGVIRT(ID3DShaderCacheComponent, GetComponentName) | ||
| 276 | HRESULT ( STDMETHODCALLTYPE *GetComponentName )( | ||
| 277 | ID3DShaderCacheComponent * This, | ||
| 278 | _Out_ const wchar_t **pName); | ||
| 279 | |||
| 280 | DECLSPEC_XFGVIRT(ID3DShaderCacheComponent, GetStateObjectDatabasePath) | ||
| 281 | HRESULT ( STDMETHODCALLTYPE *GetStateObjectDatabasePath )( | ||
| 282 | ID3DShaderCacheComponent * This, | ||
| 283 | _Out_ const wchar_t **pPath); | ||
| 284 | |||
| 285 | DECLSPEC_XFGVIRT(ID3DShaderCacheComponent, GetPrecompiledCachePath) | ||
| 286 | HRESULT ( STDMETHODCALLTYPE *GetPrecompiledCachePath )( | ||
| 287 | ID3DShaderCacheComponent * This, | ||
| 288 | _In_ const wchar_t *pAdapterFamily, | ||
| 289 | _Inout_ const wchar_t **pPath); | ||
| 290 | |||
| 291 | DECLSPEC_XFGVIRT(ID3DShaderCacheComponent, GetPrecompiledShaderDatabaseCount) | ||
| 292 | UINT ( STDMETHODCALLTYPE *GetPrecompiledShaderDatabaseCount )( | ||
| 293 | ID3DShaderCacheComponent * This); | ||
| 294 | |||
| 295 | DECLSPEC_XFGVIRT(ID3DShaderCacheComponent, GetPrecompiledShaderDatabases) | ||
| 296 | HRESULT ( STDMETHODCALLTYPE *GetPrecompiledShaderDatabases )( | ||
| 297 | ID3DShaderCacheComponent * This, | ||
| 298 | UINT ArraySize, | ||
| 299 | _Out_writes_(ArraySize) D3D_SHADER_CACHE_PSDB_PROPERTIES *pPSDBs); | ||
| 300 | |||
| 301 | END_INTERFACE | ||
| 302 | } ID3DShaderCacheComponentVtbl; | ||
| 303 | |||
| 304 | interface ID3DShaderCacheComponent | ||
| 305 | { | ||
| 306 | CONST_VTBL struct ID3DShaderCacheComponentVtbl *lpVtbl; | ||
| 307 | }; | ||
| 308 | |||
| 309 | |||
| 310 | |||
| 311 | #ifdef COBJMACROS | ||
| 312 | |||
| 313 | |||
| 314 | #define ID3DShaderCacheComponent_QueryInterface(This,riid,ppvObject) \ | ||
| 315 | ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) | ||
| 316 | |||
| 317 | #define ID3DShaderCacheComponent_AddRef(This) \ | ||
| 318 | ( (This)->lpVtbl -> AddRef(This) ) | ||
| 319 | |||
| 320 | #define ID3DShaderCacheComponent_Release(This) \ | ||
| 321 | ( (This)->lpVtbl -> Release(This) ) | ||
| 322 | |||
| 323 | |||
| 324 | #define ID3DShaderCacheComponent_GetComponentName(This,pName) \ | ||
| 325 | ( (This)->lpVtbl -> GetComponentName(This,pName) ) | ||
| 326 | |||
| 327 | #define ID3DShaderCacheComponent_GetStateObjectDatabasePath(This,pPath) \ | ||
| 328 | ( (This)->lpVtbl -> GetStateObjectDatabasePath(This,pPath) ) | ||
| 329 | |||
| 330 | #define ID3DShaderCacheComponent_GetPrecompiledCachePath(This,pAdapterFamily,pPath) \ | ||
| 331 | ( (This)->lpVtbl -> GetPrecompiledCachePath(This,pAdapterFamily,pPath) ) | ||
| 332 | |||
| 333 | #define ID3DShaderCacheComponent_GetPrecompiledShaderDatabaseCount(This) \ | ||
| 334 | ( (This)->lpVtbl -> GetPrecompiledShaderDatabaseCount(This) ) | ||
| 335 | |||
| 336 | #define ID3DShaderCacheComponent_GetPrecompiledShaderDatabases(This,ArraySize,pPSDBs) \ | ||
| 337 | ( (This)->lpVtbl -> GetPrecompiledShaderDatabases(This,ArraySize,pPSDBs) ) | ||
| 338 | |||
| 339 | #endif /* COBJMACROS */ | ||
| 340 | |||
| 341 | |||
| 342 | #endif /* C style interface */ | ||
| 343 | |||
| 344 | |||
| 345 | |||
| 346 | |||
| 347 | #endif /* __ID3DShaderCacheComponent_INTERFACE_DEFINED__ */ | ||
| 348 | |||
| 349 | |||
| 350 | /* interface __MIDL_itf_d3dshadercacheregistration_0000_0002 */ | ||
| 351 | /* [local] */ | ||
| 352 | |||
| 353 | typedef | ||
| 354 | enum D3D_SHADER_CACHE_TARGET_FLAGS | ||
| 355 | { | ||
| 356 | D3D_SHADER_CACHE_TARGET_FLAG_NONE = 0 | ||
| 357 | } D3D_SHADER_CACHE_TARGET_FLAGS; | ||
| 358 | |||
| 359 | DEFINE_ENUM_FLAG_OPERATORS( D3D_SHADER_CACHE_TARGET_FLAGS ) | ||
| 360 | typedef union D3D_VERSION_NUMBER | ||
| 361 | { | ||
| 362 | UINT64 Version; | ||
| 363 | UINT16 VersionParts[ 4 ]; | ||
| 364 | } D3D_VERSION_NUMBER; | ||
| 365 | |||
| 366 | typedef struct D3D_SHADER_CACHE_COMPILER_PROPERTIES | ||
| 367 | { | ||
| 368 | wchar_t szAdapterFamily[ 128 ]; | ||
| 369 | UINT64 MinimumABISupportVersion; | ||
| 370 | UINT64 MaximumABISupportVersion; | ||
| 371 | D3D_VERSION_NUMBER CompilerVersion; | ||
| 372 | D3D_VERSION_NUMBER ApplicationProfileVersion; | ||
| 373 | } D3D_SHADER_CACHE_COMPILER_PROPERTIES; | ||
| 374 | |||
| 375 | typedef struct D3D_SHADER_CACHE_APPLICATION_DESC | ||
| 376 | { | ||
| 377 | const wchar_t *pExeFilename; | ||
| 378 | const wchar_t *pName; | ||
| 379 | D3D_VERSION_NUMBER Version; | ||
| 380 | const wchar_t *pEngineName; | ||
| 381 | D3D_VERSION_NUMBER EngineVersion; | ||
| 382 | } D3D_SHADER_CACHE_APPLICATION_DESC; | ||
| 383 | |||
| 384 | |||
| 385 | |||
| 386 | extern RPC_IF_HANDLE __MIDL_itf_d3dshadercacheregistration_0000_0002_v0_0_c_ifspec; | ||
| 387 | extern RPC_IF_HANDLE __MIDL_itf_d3dshadercacheregistration_0000_0002_v0_0_s_ifspec; | ||
| 388 | |||
| 389 | #ifndef __ID3DShaderCacheApplication_INTERFACE_DEFINED__ | ||
| 390 | #define __ID3DShaderCacheApplication_INTERFACE_DEFINED__ | ||
| 391 | |||
| 392 | /* interface ID3DShaderCacheApplication */ | ||
| 393 | /* [unique][local][object][uuid] */ | ||
| 394 | |||
| 395 | |||
| 396 | EXTERN_C const IID IID_ID3DShaderCacheApplication; | ||
| 397 | |||
| 398 | #if defined(__cplusplus) && !defined(CINTERFACE) | ||
| 399 | |||
| 400 | MIDL_INTERFACE("fc688ee2-1b35-4913-93be-1ca3fa7df39e") | ||
| 401 | ID3DShaderCacheApplication : public IUnknown | ||
| 402 | { | ||
| 403 | public: | ||
| 404 | virtual HRESULT STDMETHODCALLTYPE GetExePath( | ||
| 405 | _Out_ const wchar_t **pExePath) = 0; | ||
| 406 | |||
| 407 | virtual HRESULT STDMETHODCALLTYPE GetDesc( | ||
| 408 | _Out_ D3D_SHADER_CACHE_APPLICATION_DESC *pApplicationDesc) = 0; | ||
| 409 | |||
| 410 | virtual HRESULT STDMETHODCALLTYPE RegisterComponent( | ||
| 411 | _In_ const wchar_t *pName, | ||
| 412 | _In_ const wchar_t *pStateObjectDBPath, | ||
| 413 | _In_ UINT NumPSDB, | ||
| 414 | _In_reads_(NumPSDB) const D3D_SHADER_CACHE_PSDB_PROPERTIES *pPSDBs, | ||
| 415 | REFIID riid, | ||
| 416 | _COM_Outptr_ void **ppvComponent) = 0; | ||
| 417 | |||
| 418 | virtual HRESULT STDMETHODCALLTYPE RemoveComponent( | ||
| 419 | _In_ ID3DShaderCacheComponent *pComponent) = 0; | ||
| 420 | |||
| 421 | virtual UINT STDMETHODCALLTYPE GetComponentCount( void) = 0; | ||
| 422 | |||
| 423 | virtual HRESULT STDMETHODCALLTYPE GetComponent( | ||
| 424 | _In_ UINT index, | ||
| 425 | REFIID riid, | ||
| 426 | _COM_Outptr_ void **ppvComponent) = 0; | ||
| 427 | |||
| 428 | virtual UINT STDMETHODCALLTYPE GetPrecompileTargetCount( | ||
| 429 | D3D_SHADER_CACHE_TARGET_FLAGS flags) = 0; | ||
| 430 | |||
| 431 | virtual HRESULT STDMETHODCALLTYPE GetPrecompileTargets( | ||
| 432 | _In_ UINT ArraySize, | ||
| 433 | _In_reads_(ArraySize) D3D_SHADER_CACHE_COMPILER_PROPERTIES *pArray, | ||
| 434 | D3D_SHADER_CACHE_TARGET_FLAGS flags) = 0; | ||
| 435 | |||
| 436 | virtual HRESULT STDMETHODCALLTYPE GetInstallerName( | ||
| 437 | _Out_ const wchar_t **pInstallerName) = 0; | ||
| 438 | |||
| 439 | }; | ||
| 440 | |||
| 441 | |||
| 442 | #else /* C style interface */ | ||
| 443 | |||
| 444 | typedef struct ID3DShaderCacheApplicationVtbl | ||
| 445 | { | ||
| 446 | BEGIN_INTERFACE | ||
| 447 | |||
| 448 | DECLSPEC_XFGVIRT(IUnknown, QueryInterface) | ||
| 449 | HRESULT ( STDMETHODCALLTYPE *QueryInterface )( | ||
| 450 | ID3DShaderCacheApplication * This, | ||
| 451 | REFIID riid, | ||
| 452 | _COM_Outptr_ void **ppvObject); | ||
| 453 | |||
| 454 | DECLSPEC_XFGVIRT(IUnknown, AddRef) | ||
| 455 | ULONG ( STDMETHODCALLTYPE *AddRef )( | ||
| 456 | ID3DShaderCacheApplication * This); | ||
| 457 | |||
| 458 | DECLSPEC_XFGVIRT(IUnknown, Release) | ||
| 459 | ULONG ( STDMETHODCALLTYPE *Release )( | ||
| 460 | ID3DShaderCacheApplication * This); | ||
| 461 | |||
| 462 | DECLSPEC_XFGVIRT(ID3DShaderCacheApplication, GetExePath) | ||
| 463 | HRESULT ( STDMETHODCALLTYPE *GetExePath )( | ||
| 464 | ID3DShaderCacheApplication * This, | ||
| 465 | _Out_ const wchar_t **pExePath); | ||
| 466 | |||
| 467 | DECLSPEC_XFGVIRT(ID3DShaderCacheApplication, GetDesc) | ||
| 468 | HRESULT ( STDMETHODCALLTYPE *GetDesc )( | ||
| 469 | ID3DShaderCacheApplication * This, | ||
| 470 | _Out_ D3D_SHADER_CACHE_APPLICATION_DESC *pApplicationDesc); | ||
| 471 | |||
| 472 | DECLSPEC_XFGVIRT(ID3DShaderCacheApplication, RegisterComponent) | ||
| 473 | HRESULT ( STDMETHODCALLTYPE *RegisterComponent )( | ||
| 474 | ID3DShaderCacheApplication * This, | ||
| 475 | _In_ const wchar_t *pName, | ||
| 476 | _In_ const wchar_t *pStateObjectDBPath, | ||
| 477 | _In_ UINT NumPSDB, | ||
| 478 | _In_reads_(NumPSDB) const D3D_SHADER_CACHE_PSDB_PROPERTIES *pPSDBs, | ||
| 479 | REFIID riid, | ||
| 480 | _COM_Outptr_ void **ppvComponent); | ||
| 481 | |||
| 482 | DECLSPEC_XFGVIRT(ID3DShaderCacheApplication, RemoveComponent) | ||
| 483 | HRESULT ( STDMETHODCALLTYPE *RemoveComponent )( | ||
| 484 | ID3DShaderCacheApplication * This, | ||
| 485 | _In_ ID3DShaderCacheComponent *pComponent); | ||
| 486 | |||
| 487 | DECLSPEC_XFGVIRT(ID3DShaderCacheApplication, GetComponentCount) | ||
| 488 | UINT ( STDMETHODCALLTYPE *GetComponentCount )( | ||
| 489 | ID3DShaderCacheApplication * This); | ||
| 490 | |||
| 491 | DECLSPEC_XFGVIRT(ID3DShaderCacheApplication, GetComponent) | ||
| 492 | HRESULT ( STDMETHODCALLTYPE *GetComponent )( | ||
| 493 | ID3DShaderCacheApplication * This, | ||
| 494 | _In_ UINT index, | ||
| 495 | REFIID riid, | ||
| 496 | _COM_Outptr_ void **ppvComponent); | ||
| 497 | |||
| 498 | DECLSPEC_XFGVIRT(ID3DShaderCacheApplication, GetPrecompileTargetCount) | ||
| 499 | UINT ( STDMETHODCALLTYPE *GetPrecompileTargetCount )( | ||
| 500 | ID3DShaderCacheApplication * This, | ||
| 501 | D3D_SHADER_CACHE_TARGET_FLAGS flags); | ||
| 502 | |||
| 503 | DECLSPEC_XFGVIRT(ID3DShaderCacheApplication, GetPrecompileTargets) | ||
| 504 | HRESULT ( STDMETHODCALLTYPE *GetPrecompileTargets )( | ||
| 505 | ID3DShaderCacheApplication * This, | ||
| 506 | _In_ UINT ArraySize, | ||
| 507 | _In_reads_(ArraySize) D3D_SHADER_CACHE_COMPILER_PROPERTIES *pArray, | ||
| 508 | D3D_SHADER_CACHE_TARGET_FLAGS flags); | ||
| 509 | |||
| 510 | DECLSPEC_XFGVIRT(ID3DShaderCacheApplication, GetInstallerName) | ||
| 511 | HRESULT ( STDMETHODCALLTYPE *GetInstallerName )( | ||
| 512 | ID3DShaderCacheApplication * This, | ||
| 513 | _Out_ const wchar_t **pInstallerName); | ||
| 514 | |||
| 515 | END_INTERFACE | ||
| 516 | } ID3DShaderCacheApplicationVtbl; | ||
| 517 | |||
| 518 | interface ID3DShaderCacheApplication | ||
| 519 | { | ||
| 520 | CONST_VTBL struct ID3DShaderCacheApplicationVtbl *lpVtbl; | ||
| 521 | }; | ||
| 522 | |||
| 523 | |||
| 524 | |||
| 525 | #ifdef COBJMACROS | ||
| 526 | |||
| 527 | |||
| 528 | #define ID3DShaderCacheApplication_QueryInterface(This,riid,ppvObject) \ | ||
| 529 | ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) | ||
| 530 | |||
| 531 | #define ID3DShaderCacheApplication_AddRef(This) \ | ||
| 532 | ( (This)->lpVtbl -> AddRef(This) ) | ||
| 533 | |||
| 534 | #define ID3DShaderCacheApplication_Release(This) \ | ||
| 535 | ( (This)->lpVtbl -> Release(This) ) | ||
| 536 | |||
| 537 | |||
| 538 | #define ID3DShaderCacheApplication_GetExePath(This,pExePath) \ | ||
| 539 | ( (This)->lpVtbl -> GetExePath(This,pExePath) ) | ||
| 540 | |||
| 541 | #define ID3DShaderCacheApplication_GetDesc(This,pApplicationDesc) \ | ||
| 542 | ( (This)->lpVtbl -> GetDesc(This,pApplicationDesc) ) | ||
| 543 | |||
| 544 | #define ID3DShaderCacheApplication_RegisterComponent(This,pName,pStateObjectDBPath,NumPSDB,pPSDBs,riid,ppvComponent) \ | ||
| 545 | ( (This)->lpVtbl -> RegisterComponent(This,pName,pStateObjectDBPath,NumPSDB,pPSDBs,riid,ppvComponent) ) | ||
| 546 | |||
| 547 | #define ID3DShaderCacheApplication_RemoveComponent(This,pComponent) \ | ||
| 548 | ( (This)->lpVtbl -> RemoveComponent(This,pComponent) ) | ||
| 549 | |||
| 550 | #define ID3DShaderCacheApplication_GetComponentCount(This) \ | ||
| 551 | ( (This)->lpVtbl -> GetComponentCount(This) ) | ||
| 552 | |||
| 553 | #define ID3DShaderCacheApplication_GetComponent(This,index,riid,ppvComponent) \ | ||
| 554 | ( (This)->lpVtbl -> GetComponent(This,index,riid,ppvComponent) ) | ||
| 555 | |||
| 556 | #define ID3DShaderCacheApplication_GetPrecompileTargetCount(This,flags) \ | ||
| 557 | ( (This)->lpVtbl -> GetPrecompileTargetCount(This,flags) ) | ||
| 558 | |||
| 559 | #define ID3DShaderCacheApplication_GetPrecompileTargets(This,ArraySize,pArray,flags) \ | ||
| 560 | ( (This)->lpVtbl -> GetPrecompileTargets(This,ArraySize,pArray,flags) ) | ||
| 561 | |||
| 562 | #define ID3DShaderCacheApplication_GetInstallerName(This,pInstallerName) \ | ||
| 563 | ( (This)->lpVtbl -> GetInstallerName(This,pInstallerName) ) | ||
| 564 | |||
| 565 | #endif /* COBJMACROS */ | ||
| 566 | |||
| 567 | |||
| 568 | #endif /* C style interface */ | ||
| 569 | |||
| 570 | |||
| 571 | |||
| 572 | |||
| 573 | #endif /* __ID3DShaderCacheApplication_INTERFACE_DEFINED__ */ | ||
| 574 | |||
| 575 | |||
| 576 | /* interface __MIDL_itf_d3dshadercacheregistration_0000_0003 */ | ||
| 577 | /* [local] */ | ||
| 578 | |||
| 579 | typedef struct SC_HANDLE__ *SC_HANDLE; | ||
| 580 | |||
| 581 | |||
| 582 | |||
| 583 | extern RPC_IF_HANDLE __MIDL_itf_d3dshadercacheregistration_0000_0003_v0_0_c_ifspec; | ||
| 584 | extern RPC_IF_HANDLE __MIDL_itf_d3dshadercacheregistration_0000_0003_v0_0_s_ifspec; | ||
| 585 | |||
| 586 | #ifndef __ID3DShaderCacheInstaller_INTERFACE_DEFINED__ | ||
| 587 | #define __ID3DShaderCacheInstaller_INTERFACE_DEFINED__ | ||
| 588 | |||
| 589 | /* interface ID3DShaderCacheInstaller */ | ||
| 590 | /* [unique][local][object][uuid] */ | ||
| 591 | |||
| 592 | |||
| 593 | EXTERN_C const IID IID_ID3DShaderCacheInstaller; | ||
| 594 | |||
| 595 | #if defined(__cplusplus) && !defined(CINTERFACE) | ||
| 596 | |||
| 597 | MIDL_INTERFACE("bbe30de1-6318-4526-ae17-776693191bb4") | ||
| 598 | ID3DShaderCacheInstaller : public IUnknown | ||
| 599 | { | ||
| 600 | public: | ||
| 601 | virtual HRESULT STDMETHODCALLTYPE RegisterDriverUpdateListener( void) = 0; | ||
| 602 | |||
| 603 | virtual HRESULT STDMETHODCALLTYPE UnregisterDriverUpdateListener( void) = 0; | ||
| 604 | |||
| 605 | virtual HRESULT STDMETHODCALLTYPE RegisterServiceDriverUpdateTrigger( | ||
| 606 | SC_HANDLE hServiceHandle) = 0; | ||
| 607 | |||
| 608 | virtual HRESULT STDMETHODCALLTYPE UnregisterServiceDriverUpdateTrigger( | ||
| 609 | SC_HANDLE hServiceHandle) = 0; | ||
| 610 | |||
| 611 | virtual HRESULT STDMETHODCALLTYPE RegisterApplication( | ||
| 612 | _In_ const wchar_t *pExePath, | ||
| 613 | _In_ const D3D_SHADER_CACHE_APPLICATION_DESC *pApplicationDesc, | ||
| 614 | REFIID riid, | ||
| 615 | _COM_Outptr_ void **ppvApp) = 0; | ||
| 616 | |||
| 617 | virtual HRESULT STDMETHODCALLTYPE RemoveApplication( | ||
| 618 | _In_ ID3DShaderCacheApplication *pApplication) = 0; | ||
| 619 | |||
| 620 | virtual UINT STDMETHODCALLTYPE GetApplicationCount( void) = 0; | ||
| 621 | |||
| 622 | virtual HRESULT STDMETHODCALLTYPE GetApplication( | ||
| 623 | _In_ UINT index, | ||
| 624 | REFIID riid, | ||
| 625 | _COM_Outptr_ void **ppvApp) = 0; | ||
| 626 | |||
| 627 | virtual HRESULT STDMETHODCALLTYPE ClearAllState( void) = 0; | ||
| 628 | |||
| 629 | virtual UINT STDMETHODCALLTYPE GetMaxPrecompileTargetCount( void) = 0; | ||
| 630 | |||
| 631 | virtual HRESULT STDMETHODCALLTYPE GetPrecompileTargets( | ||
| 632 | _In_opt_ const D3D_SHADER_CACHE_APPLICATION_DESC *pApplicationDesc, | ||
| 633 | _Inout_ UINT *pArraySize, | ||
| 634 | _Out_writes_(*pArraySize) D3D_SHADER_CACHE_COMPILER_PROPERTIES *pArray, | ||
| 635 | D3D_SHADER_CACHE_TARGET_FLAGS flags) = 0; | ||
| 636 | |||
| 637 | }; | ||
| 638 | |||
| 639 | |||
| 640 | #else /* C style interface */ | ||
| 641 | |||
| 642 | typedef struct ID3DShaderCacheInstallerVtbl | ||
| 643 | { | ||
| 644 | BEGIN_INTERFACE | ||
| 645 | |||
| 646 | DECLSPEC_XFGVIRT(IUnknown, QueryInterface) | ||
| 647 | HRESULT ( STDMETHODCALLTYPE *QueryInterface )( | ||
| 648 | ID3DShaderCacheInstaller * This, | ||
| 649 | REFIID riid, | ||
| 650 | _COM_Outptr_ void **ppvObject); | ||
| 651 | |||
| 652 | DECLSPEC_XFGVIRT(IUnknown, AddRef) | ||
| 653 | ULONG ( STDMETHODCALLTYPE *AddRef )( | ||
| 654 | ID3DShaderCacheInstaller * This); | ||
| 655 | |||
| 656 | DECLSPEC_XFGVIRT(IUnknown, Release) | ||
| 657 | ULONG ( STDMETHODCALLTYPE *Release )( | ||
| 658 | ID3DShaderCacheInstaller * This); | ||
| 659 | |||
| 660 | DECLSPEC_XFGVIRT(ID3DShaderCacheInstaller, RegisterDriverUpdateListener) | ||
| 661 | HRESULT ( STDMETHODCALLTYPE *RegisterDriverUpdateListener )( | ||
| 662 | ID3DShaderCacheInstaller * This); | ||
| 663 | |||
| 664 | DECLSPEC_XFGVIRT(ID3DShaderCacheInstaller, UnregisterDriverUpdateListener) | ||
| 665 | HRESULT ( STDMETHODCALLTYPE *UnregisterDriverUpdateListener )( | ||
| 666 | ID3DShaderCacheInstaller * This); | ||
| 667 | |||
| 668 | DECLSPEC_XFGVIRT(ID3DShaderCacheInstaller, RegisterServiceDriverUpdateTrigger) | ||
| 669 | HRESULT ( STDMETHODCALLTYPE *RegisterServiceDriverUpdateTrigger )( | ||
| 670 | ID3DShaderCacheInstaller * This, | ||
| 671 | SC_HANDLE hServiceHandle); | ||
| 672 | |||
| 673 | DECLSPEC_XFGVIRT(ID3DShaderCacheInstaller, UnregisterServiceDriverUpdateTrigger) | ||
| 674 | HRESULT ( STDMETHODCALLTYPE *UnregisterServiceDriverUpdateTrigger )( | ||
| 675 | ID3DShaderCacheInstaller * This, | ||
| 676 | SC_HANDLE hServiceHandle); | ||
| 677 | |||
| 678 | DECLSPEC_XFGVIRT(ID3DShaderCacheInstaller, RegisterApplication) | ||
| 679 | HRESULT ( STDMETHODCALLTYPE *RegisterApplication )( | ||
| 680 | ID3DShaderCacheInstaller * This, | ||
| 681 | _In_ const wchar_t *pExePath, | ||
| 682 | _In_ const D3D_SHADER_CACHE_APPLICATION_DESC *pApplicationDesc, | ||
| 683 | REFIID riid, | ||
| 684 | _COM_Outptr_ void **ppvApp); | ||
| 685 | |||
| 686 | DECLSPEC_XFGVIRT(ID3DShaderCacheInstaller, RemoveApplication) | ||
| 687 | HRESULT ( STDMETHODCALLTYPE *RemoveApplication )( | ||
| 688 | ID3DShaderCacheInstaller * This, | ||
| 689 | _In_ ID3DShaderCacheApplication *pApplication); | ||
| 690 | |||
| 691 | DECLSPEC_XFGVIRT(ID3DShaderCacheInstaller, GetApplicationCount) | ||
| 692 | UINT ( STDMETHODCALLTYPE *GetApplicationCount )( | ||
| 693 | ID3DShaderCacheInstaller * This); | ||
| 694 | |||
| 695 | DECLSPEC_XFGVIRT(ID3DShaderCacheInstaller, GetApplication) | ||
| 696 | HRESULT ( STDMETHODCALLTYPE *GetApplication )( | ||
| 697 | ID3DShaderCacheInstaller * This, | ||
| 698 | _In_ UINT index, | ||
| 699 | REFIID riid, | ||
| 700 | _COM_Outptr_ void **ppvApp); | ||
| 701 | |||
| 702 | DECLSPEC_XFGVIRT(ID3DShaderCacheInstaller, ClearAllState) | ||
| 703 | HRESULT ( STDMETHODCALLTYPE *ClearAllState )( | ||
| 704 | ID3DShaderCacheInstaller * This); | ||
| 705 | |||
| 706 | DECLSPEC_XFGVIRT(ID3DShaderCacheInstaller, GetMaxPrecompileTargetCount) | ||
| 707 | UINT ( STDMETHODCALLTYPE *GetMaxPrecompileTargetCount )( | ||
| 708 | ID3DShaderCacheInstaller * This); | ||
| 709 | |||
| 710 | DECLSPEC_XFGVIRT(ID3DShaderCacheInstaller, GetPrecompileTargets) | ||
| 711 | HRESULT ( STDMETHODCALLTYPE *GetPrecompileTargets )( | ||
| 712 | ID3DShaderCacheInstaller * This, | ||
| 713 | _In_opt_ const D3D_SHADER_CACHE_APPLICATION_DESC *pApplicationDesc, | ||
| 714 | _Inout_ UINT *pArraySize, | ||
| 715 | _Out_writes_(*pArraySize) D3D_SHADER_CACHE_COMPILER_PROPERTIES *pArray, | ||
| 716 | D3D_SHADER_CACHE_TARGET_FLAGS flags); | ||
| 717 | |||
| 718 | END_INTERFACE | ||
| 719 | } ID3DShaderCacheInstallerVtbl; | ||
| 720 | |||
| 721 | interface ID3DShaderCacheInstaller | ||
| 722 | { | ||
| 723 | CONST_VTBL struct ID3DShaderCacheInstallerVtbl *lpVtbl; | ||
| 724 | }; | ||
| 725 | |||
| 726 | |||
| 727 | |||
| 728 | #ifdef COBJMACROS | ||
| 729 | |||
| 730 | |||
| 731 | #define ID3DShaderCacheInstaller_QueryInterface(This,riid,ppvObject) \ | ||
| 732 | ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) | ||
| 733 | |||
| 734 | #define ID3DShaderCacheInstaller_AddRef(This) \ | ||
| 735 | ( (This)->lpVtbl -> AddRef(This) ) | ||
| 736 | |||
| 737 | #define ID3DShaderCacheInstaller_Release(This) \ | ||
| 738 | ( (This)->lpVtbl -> Release(This) ) | ||
| 739 | |||
| 740 | |||
| 741 | #define ID3DShaderCacheInstaller_RegisterDriverUpdateListener(This) \ | ||
| 742 | ( (This)->lpVtbl -> RegisterDriverUpdateListener(This) ) | ||
| 743 | |||
| 744 | #define ID3DShaderCacheInstaller_UnregisterDriverUpdateListener(This) \ | ||
| 745 | ( (This)->lpVtbl -> UnregisterDriverUpdateListener(This) ) | ||
| 746 | |||
| 747 | #define ID3DShaderCacheInstaller_RegisterServiceDriverUpdateTrigger(This,hServiceHandle) \ | ||
| 748 | ( (This)->lpVtbl -> RegisterServiceDriverUpdateTrigger(This,hServiceHandle) ) | ||
| 749 | |||
| 750 | #define ID3DShaderCacheInstaller_UnregisterServiceDriverUpdateTrigger(This,hServiceHandle) \ | ||
| 751 | ( (This)->lpVtbl -> UnregisterServiceDriverUpdateTrigger(This,hServiceHandle) ) | ||
| 752 | |||
| 753 | #define ID3DShaderCacheInstaller_RegisterApplication(This,pExePath,pApplicationDesc,riid,ppvApp) \ | ||
| 754 | ( (This)->lpVtbl -> RegisterApplication(This,pExePath,pApplicationDesc,riid,ppvApp) ) | ||
| 755 | |||
| 756 | #define ID3DShaderCacheInstaller_RemoveApplication(This,pApplication) \ | ||
| 757 | ( (This)->lpVtbl -> RemoveApplication(This,pApplication) ) | ||
| 758 | |||
| 759 | #define ID3DShaderCacheInstaller_GetApplicationCount(This) \ | ||
| 760 | ( (This)->lpVtbl -> GetApplicationCount(This) ) | ||
| 761 | |||
| 762 | #define ID3DShaderCacheInstaller_GetApplication(This,index,riid,ppvApp) \ | ||
| 763 | ( (This)->lpVtbl -> GetApplication(This,index,riid,ppvApp) ) | ||
| 764 | |||
| 765 | #define ID3DShaderCacheInstaller_ClearAllState(This) \ | ||
| 766 | ( (This)->lpVtbl -> ClearAllState(This) ) | ||
| 767 | |||
| 768 | #define ID3DShaderCacheInstaller_GetMaxPrecompileTargetCount(This) \ | ||
| 769 | ( (This)->lpVtbl -> GetMaxPrecompileTargetCount(This) ) | ||
| 770 | |||
| 771 | #define ID3DShaderCacheInstaller_GetPrecompileTargets(This,pApplicationDesc,pArraySize,pArray,flags) \ | ||
| 772 | ( (This)->lpVtbl -> GetPrecompileTargets(This,pApplicationDesc,pArraySize,pArray,flags) ) | ||
| 773 | |||
| 774 | #endif /* COBJMACROS */ | ||
| 775 | |||
| 776 | |||
| 777 | #endif /* C style interface */ | ||
| 778 | |||
| 779 | |||
| 780 | |||
| 781 | |||
| 782 | #endif /* __ID3DShaderCacheInstaller_INTERFACE_DEFINED__ */ | ||
| 783 | |||
| 784 | |||
| 785 | #ifndef __ID3DShaderCacheExplorer_INTERFACE_DEFINED__ | ||
| 786 | #define __ID3DShaderCacheExplorer_INTERFACE_DEFINED__ | ||
| 787 | |||
| 788 | /* interface ID3DShaderCacheExplorer */ | ||
| 789 | /* [unique][local][object][uuid] */ | ||
| 790 | |||
| 791 | |||
| 792 | EXTERN_C const IID IID_ID3DShaderCacheExplorer; | ||
| 793 | |||
| 794 | #if defined(__cplusplus) && !defined(CINTERFACE) | ||
| 795 | |||
| 796 | MIDL_INTERFACE("90432322-32f5-487f-9264-e9390fa58b2a") | ||
| 797 | ID3DShaderCacheExplorer : public IUnknown | ||
| 798 | { | ||
| 799 | public: | ||
| 800 | virtual HRESULT STDMETHODCALLTYPE GetApplicationFromExePath( | ||
| 801 | _In_ const wchar_t *pFullExePath, | ||
| 802 | REFIID riid, | ||
| 803 | _COM_Outptr_ void **ppvApp) = 0; | ||
| 804 | |||
| 805 | }; | ||
| 806 | |||
| 807 | |||
| 808 | #else /* C style interface */ | ||
| 809 | |||
| 810 | typedef struct ID3DShaderCacheExplorerVtbl | ||
| 811 | { | ||
| 812 | BEGIN_INTERFACE | ||
| 813 | |||
| 814 | DECLSPEC_XFGVIRT(IUnknown, QueryInterface) | ||
| 815 | HRESULT ( STDMETHODCALLTYPE *QueryInterface )( | ||
| 816 | ID3DShaderCacheExplorer * This, | ||
| 817 | REFIID riid, | ||
| 818 | _COM_Outptr_ void **ppvObject); | ||
| 819 | |||
| 820 | DECLSPEC_XFGVIRT(IUnknown, AddRef) | ||
| 821 | ULONG ( STDMETHODCALLTYPE *AddRef )( | ||
| 822 | ID3DShaderCacheExplorer * This); | ||
| 823 | |||
| 824 | DECLSPEC_XFGVIRT(IUnknown, Release) | ||
| 825 | ULONG ( STDMETHODCALLTYPE *Release )( | ||
| 826 | ID3DShaderCacheExplorer * This); | ||
| 827 | |||
| 828 | DECLSPEC_XFGVIRT(ID3DShaderCacheExplorer, GetApplicationFromExePath) | ||
| 829 | HRESULT ( STDMETHODCALLTYPE *GetApplicationFromExePath )( | ||
| 830 | ID3DShaderCacheExplorer * This, | ||
| 831 | _In_ const wchar_t *pFullExePath, | ||
| 832 | REFIID riid, | ||
| 833 | _COM_Outptr_ void **ppvApp); | ||
| 834 | |||
| 835 | END_INTERFACE | ||
| 836 | } ID3DShaderCacheExplorerVtbl; | ||
| 837 | |||
| 838 | interface ID3DShaderCacheExplorer | ||
| 839 | { | ||
| 840 | CONST_VTBL struct ID3DShaderCacheExplorerVtbl *lpVtbl; | ||
| 841 | }; | ||
| 842 | |||
| 843 | |||
| 844 | |||
| 845 | #ifdef COBJMACROS | ||
| 846 | |||
| 847 | |||
| 848 | #define ID3DShaderCacheExplorer_QueryInterface(This,riid,ppvObject) \ | ||
| 849 | ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) | ||
| 850 | |||
| 851 | #define ID3DShaderCacheExplorer_AddRef(This) \ | ||
| 852 | ( (This)->lpVtbl -> AddRef(This) ) | ||
| 853 | |||
| 854 | #define ID3DShaderCacheExplorer_Release(This) \ | ||
| 855 | ( (This)->lpVtbl -> Release(This) ) | ||
| 856 | |||
| 857 | |||
| 858 | #define ID3DShaderCacheExplorer_GetApplicationFromExePath(This,pFullExePath,riid,ppvApp) \ | ||
| 859 | ( (This)->lpVtbl -> GetApplicationFromExePath(This,pFullExePath,riid,ppvApp) ) | ||
| 860 | |||
| 861 | #endif /* COBJMACROS */ | ||
| 862 | |||
| 863 | |||
| 864 | #endif /* C style interface */ | ||
| 865 | |||
| 866 | |||
| 867 | |||
| 868 | |||
| 869 | #endif /* __ID3DShaderCacheExplorer_INTERFACE_DEFINED__ */ | ||
| 870 | |||
| 871 | |||
| 872 | #ifndef __ID3DShaderCacheInstallerFactory_INTERFACE_DEFINED__ | ||
| 873 | #define __ID3DShaderCacheInstallerFactory_INTERFACE_DEFINED__ | ||
| 874 | |||
| 875 | /* interface ID3DShaderCacheInstallerFactory */ | ||
| 876 | /* [unique][local][object][uuid] */ | ||
| 877 | |||
| 878 | |||
| 879 | EXTERN_C const IID IID_ID3DShaderCacheInstallerFactory; | ||
| 880 | |||
| 881 | #if defined(__cplusplus) && !defined(CINTERFACE) | ||
| 882 | |||
| 883 | MIDL_INTERFACE("09b2dfe4-840f-401a-804c-0dd8aadc9e9f") | ||
| 884 | ID3DShaderCacheInstallerFactory : public IUnknown | ||
| 885 | { | ||
| 886 | public: | ||
| 887 | virtual HRESULT STDMETHODCALLTYPE CreateInstaller( | ||
| 888 | _In_ ID3DShaderCacheInstallerClient *pClient, | ||
| 889 | REFIID riid, | ||
| 890 | _COM_Outptr_ void **ppvInstaller) = 0; | ||
| 891 | |||
| 892 | virtual HRESULT STDMETHODCALLTYPE CreateExplorer( | ||
| 893 | IUnknown *pUnknown, | ||
| 894 | REFIID riid, | ||
| 895 | _COM_Outptr_ void **ppvExplorer) = 0; | ||
| 896 | |||
| 897 | }; | ||
| 898 | |||
| 899 | |||
| 900 | #else /* C style interface */ | ||
| 901 | |||
| 902 | typedef struct ID3DShaderCacheInstallerFactoryVtbl | ||
| 903 | { | ||
| 904 | BEGIN_INTERFACE | ||
| 905 | |||
| 906 | DECLSPEC_XFGVIRT(IUnknown, QueryInterface) | ||
| 907 | HRESULT ( STDMETHODCALLTYPE *QueryInterface )( | ||
| 908 | ID3DShaderCacheInstallerFactory * This, | ||
| 909 | REFIID riid, | ||
| 910 | _COM_Outptr_ void **ppvObject); | ||
| 911 | |||
| 912 | DECLSPEC_XFGVIRT(IUnknown, AddRef) | ||
| 913 | ULONG ( STDMETHODCALLTYPE *AddRef )( | ||
| 914 | ID3DShaderCacheInstallerFactory * This); | ||
| 915 | |||
| 916 | DECLSPEC_XFGVIRT(IUnknown, Release) | ||
| 917 | ULONG ( STDMETHODCALLTYPE *Release )( | ||
| 918 | ID3DShaderCacheInstallerFactory * This); | ||
| 919 | |||
| 920 | DECLSPEC_XFGVIRT(ID3DShaderCacheInstallerFactory, CreateInstaller) | ||
| 921 | HRESULT ( STDMETHODCALLTYPE *CreateInstaller )( | ||
| 922 | ID3DShaderCacheInstallerFactory * This, | ||
| 923 | _In_ ID3DShaderCacheInstallerClient *pClient, | ||
| 924 | REFIID riid, | ||
| 925 | _COM_Outptr_ void **ppvInstaller); | ||
| 926 | |||
| 927 | DECLSPEC_XFGVIRT(ID3DShaderCacheInstallerFactory, CreateExplorer) | ||
| 928 | HRESULT ( STDMETHODCALLTYPE *CreateExplorer )( | ||
| 929 | ID3DShaderCacheInstallerFactory * This, | ||
| 930 | IUnknown *pUnknown, | ||
| 931 | REFIID riid, | ||
| 932 | _COM_Outptr_ void **ppvExplorer); | ||
| 933 | |||
| 934 | END_INTERFACE | ||
| 935 | } ID3DShaderCacheInstallerFactoryVtbl; | ||
| 936 | |||
| 937 | interface ID3DShaderCacheInstallerFactory | ||
| 938 | { | ||
| 939 | CONST_VTBL struct ID3DShaderCacheInstallerFactoryVtbl *lpVtbl; | ||
| 940 | }; | ||
| 941 | |||
| 942 | |||
| 943 | |||
| 944 | #ifdef COBJMACROS | ||
| 945 | |||
| 946 | |||
| 947 | #define ID3DShaderCacheInstallerFactory_QueryInterface(This,riid,ppvObject) \ | ||
| 948 | ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) | ||
| 949 | |||
| 950 | #define ID3DShaderCacheInstallerFactory_AddRef(This) \ | ||
| 951 | ( (This)->lpVtbl -> AddRef(This) ) | ||
| 952 | |||
| 953 | #define ID3DShaderCacheInstallerFactory_Release(This) \ | ||
| 954 | ( (This)->lpVtbl -> Release(This) ) | ||
| 955 | |||
| 956 | |||
| 957 | #define ID3DShaderCacheInstallerFactory_CreateInstaller(This,pClient,riid,ppvInstaller) \ | ||
| 958 | ( (This)->lpVtbl -> CreateInstaller(This,pClient,riid,ppvInstaller) ) | ||
| 959 | |||
| 960 | #define ID3DShaderCacheInstallerFactory_CreateExplorer(This,pUnknown,riid,ppvExplorer) \ | ||
| 961 | ( (This)->lpVtbl -> CreateExplorer(This,pUnknown,riid,ppvExplorer) ) | ||
| 962 | |||
| 963 | #endif /* COBJMACROS */ | ||
| 964 | |||
| 965 | |||
| 966 | #endif /* C style interface */ | ||
| 967 | |||
| 968 | |||
| 969 | |||
| 970 | |||
| 971 | #endif /* __ID3DShaderCacheInstallerFactory_INTERFACE_DEFINED__ */ | ||
| 972 | |||
| 973 | |||
| 974 | /* interface __MIDL_itf_d3dshadercacheregistration_0000_0006 */ | ||
| 975 | /* [local] */ | ||
| 976 | |||
| 977 | DEFINE_GUID(IID_ID3DShaderCacheInstallerClient,0xa16ee930,0xd9f6,0x4222,0xa5,0x14,0x24,0x44,0x73,0xe5,0xd2,0x66); | ||
| 978 | DEFINE_GUID(IID_ID3DShaderCacheComponent,0xeed1bf00,0xf5c7,0x4cf7,0x88,0x5c,0xd0,0xf9,0xc0,0xcb,0x48,0x28); | ||
| 979 | DEFINE_GUID(IID_ID3DShaderCacheApplication,0xfc688ee2,0x1b35,0x4913,0x93,0xbe,0x1c,0xa3,0xfa,0x7d,0xf3,0x9e); | ||
| 980 | DEFINE_GUID(IID_ID3DShaderCacheInstaller,0xbbe30de1,0x6318,0x4526,0xae,0x17,0x77,0x66,0x93,0x19,0x1b,0xb4); | ||
| 981 | DEFINE_GUID(IID_ID3DShaderCacheExplorer,0x90432322,0x32f5,0x487f,0x92,0x64,0xe9,0x39,0x0f,0xa5,0x8b,0x2a); | ||
| 982 | DEFINE_GUID(IID_ID3DShaderCacheInstallerFactory,0x09b2dfe4,0x840f,0x401a,0x80,0x4c,0x0d,0xd8,0xaa,0xdc,0x9e,0x9f); | ||
| 983 | |||
| 984 | |||
| 985 | extern RPC_IF_HANDLE __MIDL_itf_d3dshadercacheregistration_0000_0006_v0_0_c_ifspec; | ||
| 986 | extern RPC_IF_HANDLE __MIDL_itf_d3dshadercacheregistration_0000_0006_v0_0_s_ifspec; | ||
| 987 | |||
| 988 | /* Additional Prototypes for ALL interfaces */ | ||
| 989 | |||
| 990 | /* end of Additional Prototypes */ | ||
| 991 | |||
| 992 | #ifdef __cplusplus | ||
| 993 | } | ||
| 994 | #endif | ||
| 995 | |||
| 996 | #endif | ||
| 997 | |||
| 998 | |||
diff --git a/contrib/microsoft.direct3d.d3d12.1.618.4/build/native/include/d3dshadercacheregistration.idl b/contrib/microsoft.direct3d.d3d12.1.618.4/build/native/include/d3dshadercacheregistration.idl new file mode 100644 index 0000000..7dcc53d --- /dev/null +++ b/contrib/microsoft.direct3d.d3d12.1.618.4/build/native/include/d3dshadercacheregistration.idl | |||
| @@ -0,0 +1,195 @@ | |||
| 1 | /*------------------------------------------------------------------------------------- | ||
| 2 | * | ||
| 3 | * Copyright (c) Microsoft Corporation | ||
| 4 | * Licensed under the MIT license | ||
| 5 | * | ||
| 6 | *-------------------------------------------------------------------------------------*/ | ||
| 7 | #pragma once | ||
| 8 | import "oaidl.idl"; | ||
| 9 | import "ocidl.idl"; | ||
| 10 | |||
| 11 | cpp_quote("DEFINE_GUID(CLSID_D3DShaderCacheInstallerFactory, 0x16195a0b, 0x607c, 0x41f1, 0xbf, 0x03, 0xc7, 0x69, 0x4d, 0x60, 0xa8, 0xd4);") | ||
| 12 | |||
| 13 | typedef enum D3D_SHADER_CACHE_APP_REGISTRATION_SCOPE | ||
| 14 | { | ||
| 15 | D3D_SHADER_CACHE_APP_REGISTRATION_SCOPE_USER, | ||
| 16 | D3D_SHADER_CACHE_APP_REGISTRATION_SCOPE_SYSTEM | ||
| 17 | } D3D_SHADER_CACHE_APP_REGISTRATION_SCOPE; | ||
| 18 | |||
| 19 | interface ID3DShaderCacheInstaller; | ||
| 20 | |||
| 21 | // This interface is implemented by the game installer | ||
| 22 | [uuid(a16ee930-d9f6-4222-a514-244473e5d266), object, local, pointer_default(unique)] | ||
| 23 | interface ID3DShaderCacheInstallerClient | ||
| 24 | { | ||
| 25 | HRESULT GetInstallerName( | ||
| 26 | [annotation("_Inout_")] SIZE_T* pNameLength, | ||
| 27 | [annotation("_Out_writes_opt_(*pNameLength)")] wchar_t* pName); | ||
| 28 | |||
| 29 | D3D_SHADER_CACHE_APP_REGISTRATION_SCOPE GetInstallerScope(); | ||
| 30 | |||
| 31 | HRESULT HandleDriverUpdate( | ||
| 32 | [annotation("_In_")] ID3DShaderCacheInstaller* pInstaller); | ||
| 33 | }; | ||
| 34 | |||
| 35 | typedef struct D3D_SHADER_CACHE_PSDB_PROPERTIES | ||
| 36 | { | ||
| 37 | const wchar_t* pAdapterFamily; | ||
| 38 | const wchar_t* pPsdbPath; | ||
| 39 | } D3D_SHADER_CACHE_PSDB_PROPERTIES; | ||
| 40 | |||
| 41 | [uuid(eed1bf00-f5c7-4cf7-885c-d0f9c0cb4828), object, local, pointer_default(unique)] | ||
| 42 | interface ID3DShaderCacheComponent : IUnknown | ||
| 43 | { | ||
| 44 | HRESULT GetComponentName( | ||
| 45 | [annotation("_Out_")] const wchar_t** pName); | ||
| 46 | |||
| 47 | HRESULT GetStateObjectDatabasePath( | ||
| 48 | [annotation("_Out_")] const wchar_t** pPath); | ||
| 49 | |||
| 50 | HRESULT GetPrecompiledCachePath( | ||
| 51 | [annotation("_In_")] const wchar_t* pAdapterFamily, | ||
| 52 | [annotation("_Inout_")] const wchar_t** pPath); | ||
| 53 | |||
| 54 | UINT GetPrecompiledShaderDatabaseCount(); | ||
| 55 | |||
| 56 | HRESULT GetPrecompiledShaderDatabases( | ||
| 57 | UINT ArraySize, | ||
| 58 | [annotation("_Out_writes_(ArraySize)")] D3D_SHADER_CACHE_PSDB_PROPERTIES * pPSDBs); | ||
| 59 | }; | ||
| 60 | |||
| 61 | typedef enum D3D_SHADER_CACHE_TARGET_FLAGS | ||
| 62 | { | ||
| 63 | D3D_SHADER_CACHE_TARGET_FLAG_NONE = 0, | ||
| 64 | }D3D_SHADER_CACHE_TARGET_FLAGS; | ||
| 65 | cpp_quote("DEFINE_ENUM_FLAG_OPERATORS( D3D_SHADER_CACHE_TARGET_FLAGS )") | ||
| 66 | |||
| 67 | typedef union D3D_VERSION_NUMBER | ||
| 68 | { | ||
| 69 | UINT64 Version; | ||
| 70 | UINT16 VersionParts[4]; | ||
| 71 | } D3D_VERSION_NUMBER; | ||
| 72 | |||
| 73 | typedef struct D3D_SHADER_CACHE_COMPILER_PROPERTIES | ||
| 74 | { | ||
| 75 | wchar_t szAdapterFamily[128]; | ||
| 76 | UINT64 MinimumABISupportVersion; | ||
| 77 | UINT64 MaximumABISupportVersion; | ||
| 78 | D3D_VERSION_NUMBER CompilerVersion; | ||
| 79 | D3D_VERSION_NUMBER ApplicationProfileVersion; | ||
| 80 | } D3D_SHADER_CACHE_COMPILER_PROPERTIES; | ||
| 81 | |||
| 82 | typedef struct D3D_SHADER_CACHE_APPLICATION_DESC | ||
| 83 | { | ||
| 84 | const wchar_t* pExeFilename; | ||
| 85 | const wchar_t* pName; | ||
| 86 | D3D_VERSION_NUMBER Version; | ||
| 87 | const wchar_t* pEngineName; | ||
| 88 | D3D_VERSION_NUMBER EngineVersion; | ||
| 89 | } D3D_SHADER_CACHE_APPLICATION_DESC; | ||
| 90 | |||
| 91 | [uuid(fc688ee2-1b35-4913-93be-1ca3fa7df39e), object, local, pointer_default(unique)] | ||
| 92 | interface ID3DShaderCacheApplication : IUnknown | ||
| 93 | { | ||
| 94 | HRESULT GetExePath( | ||
| 95 | [annotation("_Out_")] const wchar_t** pExePath); | ||
| 96 | |||
| 97 | HRESULT GetDesc( | ||
| 98 | [annotation("_Out_")] D3D_SHADER_CACHE_APPLICATION_DESC* pApplicationDesc); | ||
| 99 | |||
| 100 | HRESULT RegisterComponent( | ||
| 101 | [annotation("_In_")] const wchar_t* pName, | ||
| 102 | [annotation("_In_")] const wchar_t* pStateObjectDBPath, | ||
| 103 | [annotation("_In_")] UINT NumPSDB, | ||
| 104 | [annotation("_In_reads_(NumPSDB)")] const D3D_SHADER_CACHE_PSDB_PROPERTIES* pPSDBs, | ||
| 105 | [in] REFIID riid, | ||
| 106 | [out, iid_is(riid), annotation("_COM_Outptr_")] void** ppvComponent); | ||
| 107 | |||
| 108 | HRESULT RemoveComponent( | ||
| 109 | [annotation("_In_")] ID3DShaderCacheComponent* pComponent); | ||
| 110 | |||
| 111 | UINT GetComponentCount(); | ||
| 112 | |||
| 113 | HRESULT GetComponent( | ||
| 114 | [annotation("_In_")] UINT index, | ||
| 115 | [in] REFIID riid, | ||
| 116 | [out, iid_is(riid), annotation("_COM_Outptr_")] void** ppvComponent); | ||
| 117 | |||
| 118 | UINT GetPrecompileTargetCount(D3D_SHADER_CACHE_TARGET_FLAGS flags); | ||
| 119 | |||
| 120 | HRESULT GetPrecompileTargets( | ||
| 121 | [annotation("_In_")] UINT ArraySize, | ||
| 122 | [annotation("_In_reads_(ArraySize)")] D3D_SHADER_CACHE_COMPILER_PROPERTIES* pArray, | ||
| 123 | D3D_SHADER_CACHE_TARGET_FLAGS flags); | ||
| 124 | |||
| 125 | HRESULT GetInstallerName( | ||
| 126 | [annotation("_Out_")] const wchar_t** pInstallerName); | ||
| 127 | }; | ||
| 128 | |||
| 129 | typedef struct SC_HANDLE__ *SC_HANDLE; | ||
| 130 | [uuid(bbe30de1-6318-4526-ae17-776693191bb4), object, local, pointer_default(unique)] | ||
| 131 | interface ID3DShaderCacheInstaller : IUnknown | ||
| 132 | { | ||
| 133 | HRESULT RegisterDriverUpdateListener(); | ||
| 134 | HRESULT UnregisterDriverUpdateListener(); | ||
| 135 | |||
| 136 | HRESULT RegisterServiceDriverUpdateTrigger(SC_HANDLE hServiceHandle); | ||
| 137 | HRESULT UnregisterServiceDriverUpdateTrigger(SC_HANDLE hServiceHandle); | ||
| 138 | |||
| 139 | HRESULT RegisterApplication( | ||
| 140 | [annotation("_In_")] const wchar_t* pExePath, | ||
| 141 | [annotation("_In_")] const D3D_SHADER_CACHE_APPLICATION_DESC* pApplicationDesc, | ||
| 142 | [in] REFIID riid, | ||
| 143 | [out, iid_is(riid), annotation("_COM_Outptr_")] void** ppvApp); // Expected: ID3DShaderCacheApplication | ||
| 144 | |||
| 145 | HRESULT RemoveApplication( | ||
| 146 | [annotation("_In_")] ID3DShaderCacheApplication* pApplication); // Expected: ID3DShaderCacheApplication | ||
| 147 | |||
| 148 | UINT GetApplicationCount(); | ||
| 149 | |||
| 150 | HRESULT GetApplication( | ||
| 151 | [annotation("_In_")] UINT index, | ||
| 152 | [in] REFIID riid, | ||
| 153 | [out, iid_is(riid), annotation("_COM_Outptr_")] void** ppvApp); // Expected: ID3DShaderCacheApplication | ||
| 154 | |||
| 155 | HRESULT ClearAllState(); | ||
| 156 | |||
| 157 | UINT GetMaxPrecompileTargetCount(); | ||
| 158 | |||
| 159 | HRESULT GetPrecompileTargets( | ||
| 160 | [annotation("_In_opt_")] const D3D_SHADER_CACHE_APPLICATION_DESC* pApplicationDesc, | ||
| 161 | [annotation("_Inout_")] UINT* pArraySize, | ||
| 162 | [annotation("_Out_writes_(*pArraySize)")] D3D_SHADER_CACHE_COMPILER_PROPERTIES* pArray, | ||
| 163 | D3D_SHADER_CACHE_TARGET_FLAGS flags); | ||
| 164 | }; | ||
| 165 | |||
| 166 | [uuid(90432322-32f5-487f-9264-e9390fa58b2a), object, local, pointer_default(unique)] | ||
| 167 | interface ID3DShaderCacheExplorer : IUnknown | ||
| 168 | { | ||
| 169 | HRESULT GetApplicationFromExePath( | ||
| 170 | [annotation("_In_")] const wchar_t* pFullExePath, | ||
| 171 | [in] REFIID riid, | ||
| 172 | [out, iid_is(riid), annotation("_COM_Outptr_")] void** ppvApp); // Expected: ID3DShaderCacheApplication | ||
| 173 | }; | ||
| 174 | |||
| 175 | [uuid(09b2dfe4-840f-401a-804c-0dd8aadc9e9f), object, local, pointer_default(unique)] | ||
| 176 | interface ID3DShaderCacheInstallerFactory : IUnknown | ||
| 177 | { | ||
| 178 | HRESULT CreateInstaller( | ||
| 179 | [annotation("_In_")] ID3DShaderCacheInstallerClient* pClient, | ||
| 180 | [in] REFIID riid, | ||
| 181 | [out, iid_is(riid), annotation("_COM_Outptr_")] void** ppvInstaller); | ||
| 182 | |||
| 183 | HRESULT CreateExplorer( | ||
| 184 | [in] IUnknown* pUnknown, // Expected: ID3D12Device, IDXCoreAdapter, IDXGIAdapter | ||
| 185 | [in] REFIID riid, | ||
| 186 | [out, iid_is(riid), annotation("_COM_Outptr_")] void** ppvExplorer); // Expected: ID3DShaderCacheExplorer | ||
| 187 | }; | ||
| 188 | |||
| 189 | |||
| 190 | cpp_quote( "DEFINE_GUID(IID_ID3DShaderCacheInstallerClient,0xa16ee930,0xd9f6,0x4222,0xa5,0x14,0x24,0x44,0x73,0xe5,0xd2,0x66);" ) | ||
| 191 | cpp_quote( "DEFINE_GUID(IID_ID3DShaderCacheComponent,0xeed1bf00,0xf5c7,0x4cf7,0x88,0x5c,0xd0,0xf9,0xc0,0xcb,0x48,0x28);" ) | ||
| 192 | cpp_quote( "DEFINE_GUID(IID_ID3DShaderCacheApplication,0xfc688ee2,0x1b35,0x4913,0x93,0xbe,0x1c,0xa3,0xfa,0x7d,0xf3,0x9e);" ) | ||
| 193 | cpp_quote( "DEFINE_GUID(IID_ID3DShaderCacheInstaller,0xbbe30de1,0x6318,0x4526,0xae,0x17,0x77,0x66,0x93,0x19,0x1b,0xb4);" ) | ||
| 194 | cpp_quote( "DEFINE_GUID(IID_ID3DShaderCacheExplorer,0x90432322,0x32f5,0x487f,0x92,0x64,0xe9,0x39,0x0f,0xa5,0x8b,0x2a);" ) | ||
| 195 | cpp_quote( "DEFINE_GUID(IID_ID3DShaderCacheInstallerFactory,0x09b2dfe4,0x840f,0x401a,0x80,0x4c,0x0d,0xd8,0xaa,0xdc,0x9e,0x9f);" ) | ||
diff --git a/contrib/microsoft.direct3d.d3d12.1.618.4/build/native/include/d3dx12/d3dx12.h b/contrib/microsoft.direct3d.d3d12.1.618.4/build/native/include/d3dx12/d3dx12.h new file mode 100644 index 0000000..e8ec24e --- /dev/null +++ b/contrib/microsoft.direct3d.d3d12.1.618.4/build/native/include/d3dx12/d3dx12.h | |||
| @@ -0,0 +1,36 @@ | |||
| 1 | //********************************************************* | ||
| 2 | // | ||
| 3 | // Copyright (c) Microsoft Corporation. | ||
| 4 | // Licensed under the MIT License (MIT). | ||
| 5 | // | ||
| 6 | //********************************************************* | ||
| 7 | |||
| 8 | #ifndef __D3DX12_H__ | ||
| 9 | #define __D3DX12_H__ | ||
| 10 | |||
| 11 | #include "d3d12.h" | ||
| 12 | |||
| 13 | #if defined( __cplusplus ) | ||
| 14 | |||
| 15 | #include "d3dx12_barriers.h" | ||
| 16 | #include "d3dx12_core.h" | ||
| 17 | #include "d3dx12_default.h" | ||
| 18 | #include "d3dx12_pipeline_state_stream.h" | ||
| 19 | #include "d3dx12_render_pass.h" | ||
| 20 | #include "d3dx12_resource_helpers.h" | ||
| 21 | #include "d3dx12_root_signature.h" | ||
| 22 | #include "d3dx12_property_format_table.h" | ||
| 23 | |||
| 24 | #ifndef D3DX12_NO_STATE_OBJECT_HELPERS | ||
| 25 | #include "d3dx12_state_object.h" | ||
| 26 | #endif // !D3DX12_NO_STATE_OBJECT_HELPERS | ||
| 27 | |||
| 28 | #ifndef D3DX12_NO_CHECK_FEATURE_SUPPORT_CLASS | ||
| 29 | #include "d3dx12_check_feature_support.h" | ||
| 30 | #endif // !D3DX12_NO_CHECK_FEATURE_SUPPORT_CLASS | ||
| 31 | |||
| 32 | #endif // defined( __cplusplus ) | ||
| 33 | |||
| 34 | #endif //__D3DX12_H__ | ||
| 35 | |||
| 36 | |||
diff --git a/contrib/microsoft.direct3d.d3d12.1.618.4/build/native/include/d3dx12/d3dx12_barriers.h b/contrib/microsoft.direct3d.d3d12.1.618.4/build/native/include/d3dx12/d3dx12_barriers.h new file mode 100644 index 0000000..1bd7a74 --- /dev/null +++ b/contrib/microsoft.direct3d.d3d12.1.618.4/build/native/include/d3dx12/d3dx12_barriers.h | |||
| @@ -0,0 +1,193 @@ | |||
| 1 | //********************************************************* | ||
| 2 | // | ||
| 3 | // Copyright (c) Microsoft Corporation. | ||
| 4 | // Licensed under the MIT License (MIT). | ||
| 5 | // | ||
| 6 | //********************************************************* | ||
| 7 | |||
| 8 | #ifndef __D3DX12_BARRIERS_H__ | ||
| 9 | #define __D3DX12_BARRIERS_H__ | ||
| 10 | |||
| 11 | #if defined( __cplusplus ) | ||
| 12 | |||
| 13 | #include "d3d12.h" | ||
| 14 | |||
| 15 | //------------------------------------------------------------------------------------------------ | ||
| 16 | struct CD3DX12_RESOURCE_BARRIER : public D3D12_RESOURCE_BARRIER | ||
| 17 | { | ||
| 18 | CD3DX12_RESOURCE_BARRIER() = default; | ||
| 19 | explicit CD3DX12_RESOURCE_BARRIER(const D3D12_RESOURCE_BARRIER &o) noexcept : | ||
| 20 | D3D12_RESOURCE_BARRIER(o) | ||
| 21 | {} | ||
| 22 | static inline CD3DX12_RESOURCE_BARRIER Transition( | ||
| 23 | _In_ ID3D12Resource* pResource, | ||
| 24 | D3D12_RESOURCE_STATES stateBefore, | ||
| 25 | D3D12_RESOURCE_STATES stateAfter, | ||
| 26 | UINT subresource = D3D12_RESOURCE_BARRIER_ALL_SUBRESOURCES, | ||
| 27 | D3D12_RESOURCE_BARRIER_FLAGS flags = D3D12_RESOURCE_BARRIER_FLAG_NONE) noexcept | ||
| 28 | { | ||
| 29 | CD3DX12_RESOURCE_BARRIER result = {}; | ||
| 30 | D3D12_RESOURCE_BARRIER &barrier = result; | ||
| 31 | result.Type = D3D12_RESOURCE_BARRIER_TYPE_TRANSITION; | ||
| 32 | result.Flags = flags; | ||
| 33 | barrier.Transition.pResource = pResource; | ||
| 34 | barrier.Transition.StateBefore = stateBefore; | ||
| 35 | barrier.Transition.StateAfter = stateAfter; | ||
| 36 | barrier.Transition.Subresource = subresource; | ||
| 37 | return result; | ||
| 38 | } | ||
| 39 | static inline CD3DX12_RESOURCE_BARRIER Aliasing( | ||
| 40 | _In_opt_ ID3D12Resource* pResourceBefore, | ||
| 41 | _In_opt_ ID3D12Resource* pResourceAfter) noexcept | ||
| 42 | { | ||
| 43 | CD3DX12_RESOURCE_BARRIER result = {}; | ||
| 44 | D3D12_RESOURCE_BARRIER &barrier = result; | ||
| 45 | result.Type = D3D12_RESOURCE_BARRIER_TYPE_ALIASING; | ||
| 46 | barrier.Aliasing.pResourceBefore = pResourceBefore; | ||
| 47 | barrier.Aliasing.pResourceAfter = pResourceAfter; | ||
| 48 | return result; | ||
| 49 | } | ||
| 50 | static inline CD3DX12_RESOURCE_BARRIER UAV( | ||
| 51 | _In_opt_ ID3D12Resource* pResource) noexcept | ||
| 52 | { | ||
| 53 | CD3DX12_RESOURCE_BARRIER result = {}; | ||
| 54 | D3D12_RESOURCE_BARRIER &barrier = result; | ||
| 55 | result.Type = D3D12_RESOURCE_BARRIER_TYPE_UAV; | ||
| 56 | barrier.UAV.pResource = pResource; | ||
| 57 | return result; | ||
| 58 | } | ||
| 59 | }; | ||
| 60 | |||
| 61 | #if defined(D3D12_SDK_VERSION) && (D3D12_SDK_VERSION >= 608) | ||
| 62 | |||
| 63 | //================================================================================================ | ||
| 64 | // D3DX12 Enhanced Barrier Helpers | ||
| 65 | //================================================================================================ | ||
| 66 | |||
| 67 | class CD3DX12_BARRIER_SUBRESOURCE_RANGE : public D3D12_BARRIER_SUBRESOURCE_RANGE | ||
| 68 | { | ||
| 69 | public: | ||
| 70 | CD3DX12_BARRIER_SUBRESOURCE_RANGE() = default; | ||
| 71 | CD3DX12_BARRIER_SUBRESOURCE_RANGE(const D3D12_BARRIER_SUBRESOURCE_RANGE &o) noexcept : | ||
| 72 | D3D12_BARRIER_SUBRESOURCE_RANGE(o) | ||
| 73 | {} | ||
| 74 | explicit CD3DX12_BARRIER_SUBRESOURCE_RANGE(UINT Subresource) noexcept : | ||
| 75 | D3D12_BARRIER_SUBRESOURCE_RANGE{ Subresource, 0, 0, 0, 0, 0 } | ||
| 76 | {} | ||
| 77 | CD3DX12_BARRIER_SUBRESOURCE_RANGE( | ||
| 78 | UINT firstMipLevel, | ||
| 79 | UINT numMips, | ||
| 80 | UINT firstArraySlice, | ||
| 81 | UINT numArraySlices, | ||
| 82 | UINT firstPlane = 0, | ||
| 83 | UINT numPlanes = 1) noexcept : | ||
| 84 | D3D12_BARRIER_SUBRESOURCE_RANGE | ||
| 85 | { | ||
| 86 | firstMipLevel, | ||
| 87 | numMips, | ||
| 88 | firstArraySlice, | ||
| 89 | numArraySlices, | ||
| 90 | firstPlane, | ||
| 91 | numPlanes | ||
| 92 | } | ||
| 93 | {} | ||
| 94 | }; | ||
| 95 | |||
| 96 | class CD3DX12_GLOBAL_BARRIER : public D3D12_GLOBAL_BARRIER | ||
| 97 | { | ||
| 98 | public: | ||
| 99 | CD3DX12_GLOBAL_BARRIER() = default; | ||
| 100 | CD3DX12_GLOBAL_BARRIER(const D3D12_GLOBAL_BARRIER &o) noexcept : D3D12_GLOBAL_BARRIER(o){} | ||
| 101 | CD3DX12_GLOBAL_BARRIER( | ||
| 102 | D3D12_BARRIER_SYNC syncBefore, | ||
| 103 | D3D12_BARRIER_SYNC syncAfter, | ||
| 104 | D3D12_BARRIER_ACCESS accessBefore, | ||
| 105 | D3D12_BARRIER_ACCESS accessAfter) noexcept : D3D12_GLOBAL_BARRIER { | ||
| 106 | syncBefore, | ||
| 107 | syncAfter, | ||
| 108 | accessBefore, | ||
| 109 | accessAfter | ||
| 110 | } | ||
| 111 | {} | ||
| 112 | }; | ||
| 113 | |||
| 114 | class CD3DX12_BUFFER_BARRIER : public D3D12_BUFFER_BARRIER | ||
| 115 | { | ||
| 116 | public: | ||
| 117 | CD3DX12_BUFFER_BARRIER() = default; | ||
| 118 | CD3DX12_BUFFER_BARRIER(const D3D12_BUFFER_BARRIER &o) noexcept : D3D12_BUFFER_BARRIER(o){} | ||
| 119 | CD3DX12_BUFFER_BARRIER( | ||
| 120 | D3D12_BARRIER_SYNC syncBefore, | ||
| 121 | D3D12_BARRIER_SYNC syncAfter, | ||
| 122 | D3D12_BARRIER_ACCESS accessBefore, | ||
| 123 | D3D12_BARRIER_ACCESS accessAfter, | ||
| 124 | ID3D12Resource *pRes) noexcept : D3D12_BUFFER_BARRIER { | ||
| 125 | syncBefore, | ||
| 126 | syncAfter, | ||
| 127 | accessBefore, | ||
| 128 | accessAfter, | ||
| 129 | pRes, | ||
| 130 | 0, ULLONG_MAX | ||
| 131 | } | ||
| 132 | {} | ||
| 133 | }; | ||
| 134 | |||
| 135 | class CD3DX12_TEXTURE_BARRIER : public D3D12_TEXTURE_BARRIER | ||
| 136 | { | ||
| 137 | public: | ||
| 138 | CD3DX12_TEXTURE_BARRIER() = default; | ||
| 139 | CD3DX12_TEXTURE_BARRIER(const D3D12_TEXTURE_BARRIER &o) noexcept : D3D12_TEXTURE_BARRIER(o){} | ||
| 140 | CD3DX12_TEXTURE_BARRIER( | ||
| 141 | D3D12_BARRIER_SYNC syncBefore, | ||
| 142 | D3D12_BARRIER_SYNC syncAfter, | ||
| 143 | D3D12_BARRIER_ACCESS accessBefore, | ||
| 144 | D3D12_BARRIER_ACCESS accessAfter, | ||
| 145 | D3D12_BARRIER_LAYOUT layoutBefore, | ||
| 146 | D3D12_BARRIER_LAYOUT layoutAfter, | ||
| 147 | ID3D12Resource *pRes, | ||
| 148 | const D3D12_BARRIER_SUBRESOURCE_RANGE &subresources, | ||
| 149 | D3D12_TEXTURE_BARRIER_FLAGS flag = D3D12_TEXTURE_BARRIER_FLAG_NONE) noexcept : D3D12_TEXTURE_BARRIER { | ||
| 150 | syncBefore, | ||
| 151 | syncAfter, | ||
| 152 | accessBefore, | ||
| 153 | accessAfter, | ||
| 154 | layoutBefore, | ||
| 155 | layoutAfter, | ||
| 156 | pRes, | ||
| 157 | subresources, | ||
| 158 | flag | ||
| 159 | } | ||
| 160 | {} | ||
| 161 | }; | ||
| 162 | |||
| 163 | class CD3DX12_BARRIER_GROUP : public D3D12_BARRIER_GROUP | ||
| 164 | { | ||
| 165 | public: | ||
| 166 | CD3DX12_BARRIER_GROUP() = default; | ||
| 167 | CD3DX12_BARRIER_GROUP(const D3D12_BARRIER_GROUP &o) noexcept : D3D12_BARRIER_GROUP(o){} | ||
| 168 | CD3DX12_BARRIER_GROUP(UINT32 numBarriers, const D3D12_BUFFER_BARRIER *pBarriers) noexcept | ||
| 169 | { | ||
| 170 | Type = D3D12_BARRIER_TYPE_BUFFER; | ||
| 171 | NumBarriers = numBarriers; | ||
| 172 | pBufferBarriers = pBarriers; | ||
| 173 | } | ||
| 174 | CD3DX12_BARRIER_GROUP(UINT32 numBarriers, const D3D12_TEXTURE_BARRIER *pBarriers) noexcept | ||
| 175 | { | ||
| 176 | Type = D3D12_BARRIER_TYPE_TEXTURE; | ||
| 177 | NumBarriers = numBarriers; | ||
| 178 | pTextureBarriers = pBarriers; | ||
| 179 | } | ||
| 180 | CD3DX12_BARRIER_GROUP(UINT32 numBarriers, const D3D12_GLOBAL_BARRIER *pBarriers) noexcept | ||
| 181 | { | ||
| 182 | Type = D3D12_BARRIER_TYPE_GLOBAL; | ||
| 183 | NumBarriers = numBarriers; | ||
| 184 | pGlobalBarriers = pBarriers; | ||
| 185 | } | ||
| 186 | }; | ||
| 187 | #endif // D3D12_SDK_VERSION >= 608 | ||
| 188 | |||
| 189 | |||
| 190 | #endif // defined( __cplusplus ) | ||
| 191 | |||
| 192 | #endif // __D3DX12_BARRIERS_H__ | ||
| 193 | |||
diff --git a/contrib/microsoft.direct3d.d3d12.1.618.4/build/native/include/d3dx12/d3dx12_check_feature_support.h b/contrib/microsoft.direct3d.d3d12.1.618.4/build/native/include/d3dx12/d3dx12_check_feature_support.h new file mode 100644 index 0000000..725fb7f --- /dev/null +++ b/contrib/microsoft.direct3d.d3d12.1.618.4/build/native/include/d3dx12/d3dx12_check_feature_support.h | |||
| @@ -0,0 +1,1162 @@ | |||
| 1 | //********************************************************* | ||
| 2 | // | ||
| 3 | // Copyright (c) Microsoft Corporation. | ||
| 4 | // Licensed under the MIT License (MIT). | ||
| 5 | // | ||
| 6 | //********************************************************* | ||
| 7 | |||
| 8 | #pragma once | ||
| 9 | |||
| 10 | #ifndef __cplusplus | ||
| 11 | #error D3DX12 requires C++ | ||
| 12 | #endif | ||
| 13 | |||
| 14 | #include "d3d12.h" | ||
| 15 | |||
| 16 | //================================================================================================ | ||
| 17 | // D3DX12 Check Feature Support | ||
| 18 | //================================================================================================ | ||
| 19 | |||
| 20 | #include <vector> | ||
| 21 | |||
| 22 | class CD3DX12FeatureSupport | ||
| 23 | { | ||
| 24 | public: // Function declaration | ||
| 25 | // Default constructor that creates an empty object | ||
| 26 | CD3DX12FeatureSupport() noexcept; | ||
| 27 | |||
| 28 | // Initialize data from the given device | ||
| 29 | HRESULT Init(ID3D12Device* pDevice); | ||
| 30 | |||
| 31 | // Retreives the status of the object. If an error occurred in the initialization process, the function returns the error code. | ||
| 32 | HRESULT GetStatus() const noexcept { return m_hStatus; } | ||
| 33 | |||
| 34 | // Getter functions for each feature class | ||
| 35 | // D3D12_OPTIONS | ||
| 36 | BOOL DoublePrecisionFloatShaderOps() const noexcept; | ||
| 37 | BOOL OutputMergerLogicOp() const noexcept; | ||
| 38 | D3D12_SHADER_MIN_PRECISION_SUPPORT MinPrecisionSupport() const noexcept; | ||
| 39 | D3D12_TILED_RESOURCES_TIER TiledResourcesTier() const noexcept; | ||
| 40 | D3D12_RESOURCE_BINDING_TIER ResourceBindingTier() const noexcept; | ||
| 41 | BOOL PSSpecifiedStencilRefSupported() const noexcept; | ||
| 42 | BOOL TypedUAVLoadAdditionalFormats() const noexcept; | ||
| 43 | BOOL ROVsSupported() const noexcept; | ||
| 44 | D3D12_CONSERVATIVE_RASTERIZATION_TIER ConservativeRasterizationTier() const noexcept; | ||
| 45 | BOOL StandardSwizzle64KBSupported() const noexcept; | ||
| 46 | BOOL CrossAdapterRowMajorTextureSupported() const noexcept; | ||
| 47 | BOOL VPAndRTArrayIndexFromAnyShaderFeedingRasterizerSupportedWithoutGSEmulation() const noexcept; | ||
| 48 | D3D12_RESOURCE_HEAP_TIER ResourceHeapTier() const noexcept; | ||
| 49 | D3D12_CROSS_NODE_SHARING_TIER CrossNodeSharingTier() const noexcept; | ||
| 50 | UINT MaxGPUVirtualAddressBitsPerResource() const noexcept; | ||
| 51 | |||
| 52 | // FEATURE_LEVELS | ||
| 53 | D3D_FEATURE_LEVEL MaxSupportedFeatureLevel() const noexcept; | ||
| 54 | |||
| 55 | // FORMAT_SUPPORT | ||
| 56 | HRESULT FormatSupport(DXGI_FORMAT Format, D3D12_FORMAT_SUPPORT1& Support1, D3D12_FORMAT_SUPPORT2& Support2) const; | ||
| 57 | |||
| 58 | // MUTLTISAMPLE_QUALITY_LEVELS | ||
| 59 | HRESULT MultisampleQualityLevels(DXGI_FORMAT Format, UINT SampleCount, D3D12_MULTISAMPLE_QUALITY_LEVEL_FLAGS Flags, UINT& NumQualityLevels) const; | ||
| 60 | |||
| 61 | // FORMAT_INFO | ||
| 62 | HRESULT FormatInfo(DXGI_FORMAT Format, UINT8& PlaneCount) const; | ||
| 63 | |||
| 64 | // GPU_VIRTUAL_ADDRESS_SUPPORT | ||
| 65 | UINT MaxGPUVirtualAddressBitsPerProcess() const noexcept; | ||
| 66 | |||
| 67 | // SHADER_MODEL | ||
| 68 | D3D_SHADER_MODEL HighestShaderModel() const noexcept; | ||
| 69 | |||
| 70 | // D3D12_OPTIONS1 | ||
| 71 | BOOL WaveOps() const noexcept; | ||
| 72 | UINT WaveLaneCountMin() const noexcept; | ||
| 73 | UINT WaveLaneCountMax() const noexcept; | ||
| 74 | UINT TotalLaneCount() const noexcept; | ||
| 75 | BOOL ExpandedComputeResourceStates() const noexcept; | ||
| 76 | BOOL Int64ShaderOps() const noexcept; | ||
| 77 | |||
| 78 | // PROTECTED_RESOURCE_SESSION_SUPPORT | ||
| 79 | D3D12_PROTECTED_RESOURCE_SESSION_SUPPORT_FLAGS ProtectedResourceSessionSupport(UINT NodeIndex = 0) const; | ||
| 80 | |||
| 81 | // ROOT_SIGNATURE | ||
| 82 | D3D_ROOT_SIGNATURE_VERSION HighestRootSignatureVersion() const noexcept; | ||
| 83 | |||
| 84 | // ARCHITECTURE1 | ||
| 85 | BOOL TileBasedRenderer(UINT NodeIndex = 0) const; | ||
| 86 | BOOL UMA(UINT NodeIndex = 0) const; | ||
| 87 | BOOL CacheCoherentUMA(UINT NodeIndex = 0) const; | ||
| 88 | BOOL IsolatedMMU(UINT NodeIndex = 0) const; | ||
| 89 | |||
| 90 | // D3D12_OPTIONS2 | ||
| 91 | BOOL DepthBoundsTestSupported() const noexcept; | ||
| 92 | D3D12_PROGRAMMABLE_SAMPLE_POSITIONS_TIER ProgrammableSamplePositionsTier() const noexcept; | ||
| 93 | |||
| 94 | // SHADER_CACHE | ||
| 95 | D3D12_SHADER_CACHE_SUPPORT_FLAGS ShaderCacheSupportFlags() const noexcept; | ||
| 96 | |||
| 97 | // COMMAND_QUEUE_PRIORITY | ||
| 98 | BOOL CommandQueuePrioritySupported(D3D12_COMMAND_LIST_TYPE CommandListType, UINT Priority); | ||
| 99 | |||
| 100 | // D3D12_OPTIONS3 | ||
| 101 | BOOL CopyQueueTimestampQueriesSupported() const noexcept; | ||
| 102 | BOOL CastingFullyTypedFormatSupported() const noexcept; | ||
| 103 | D3D12_COMMAND_LIST_SUPPORT_FLAGS WriteBufferImmediateSupportFlags() const noexcept; | ||
| 104 | D3D12_VIEW_INSTANCING_TIER ViewInstancingTier() const noexcept; | ||
| 105 | BOOL BarycentricsSupported() const noexcept; | ||
| 106 | |||
| 107 | // EXISTING_HEAPS | ||
| 108 | BOOL ExistingHeapsSupported() const noexcept; | ||
| 109 | |||
| 110 | // D3D12_OPTIONS4 | ||
| 111 | BOOL MSAA64KBAlignedTextureSupported() const noexcept; | ||
| 112 | D3D12_SHARED_RESOURCE_COMPATIBILITY_TIER SharedResourceCompatibilityTier() const noexcept; | ||
| 113 | BOOL Native16BitShaderOpsSupported() const noexcept; | ||
| 114 | |||
| 115 | // SERIALIZATION | ||
| 116 | D3D12_HEAP_SERIALIZATION_TIER HeapSerializationTier(UINT NodeIndex = 0) const; | ||
| 117 | |||
| 118 | // CROSS_NODE | ||
| 119 | // CrossNodeSharingTier handled in D3D12Options | ||
| 120 | BOOL CrossNodeAtomicShaderInstructions() const noexcept; | ||
| 121 | |||
| 122 | // D3D12_OPTIONS5 | ||
| 123 | BOOL SRVOnlyTiledResourceTier3() const noexcept; | ||
| 124 | D3D12_RENDER_PASS_TIER RenderPassesTier() const noexcept; | ||
| 125 | D3D12_RAYTRACING_TIER RaytracingTier() const noexcept; | ||
| 126 | |||
| 127 | #if defined(D3D12_SDK_VERSION) && (D3D12_SDK_VERSION >= 4) | ||
| 128 | // DISPLAYABLE | ||
| 129 | BOOL DisplayableTexture() const noexcept; | ||
| 130 | // SharedResourceCompatibilityTier handled in D3D12Options4 | ||
| 131 | #endif | ||
| 132 | |||
| 133 | // D3D12_OPTIONS6 | ||
| 134 | BOOL AdditionalShadingRatesSupported() const noexcept; | ||
| 135 | BOOL PerPrimitiveShadingRateSupportedWithViewportIndexing() const noexcept; | ||
| 136 | D3D12_VARIABLE_SHADING_RATE_TIER VariableShadingRateTier() const noexcept; | ||
| 137 | UINT ShadingRateImageTileSize() const noexcept; | ||
| 138 | BOOL BackgroundProcessingSupported() const noexcept; | ||
| 139 | |||
| 140 | // QUERY_META_COMMAND | ||
| 141 | HRESULT QueryMetaCommand(D3D12_FEATURE_DATA_QUERY_META_COMMAND& dQueryMetaCommand) const; | ||
| 142 | |||
| 143 | // D3D12_OPTIONS7 | ||
| 144 | D3D12_MESH_SHADER_TIER MeshShaderTier() const noexcept; | ||
| 145 | D3D12_SAMPLER_FEEDBACK_TIER SamplerFeedbackTier() const noexcept; | ||
| 146 | |||
| 147 | // PROTECTED_RESOURCE_SESSION_TYPE_COUNT | ||
| 148 | UINT ProtectedResourceSessionTypeCount(UINT NodeIndex = 0) const; | ||
| 149 | |||
| 150 | // PROTECTED_RESOURCE_SESSION_TYPES | ||
| 151 | std::vector<GUID> ProtectedResourceSessionTypes(UINT NodeIndex = 0) const; | ||
| 152 | |||
| 153 | #if defined(D3D12_SDK_VERSION) && (D3D12_SDK_VERSION >= 3) | ||
| 154 | // D3D12_OPTIONS8 | ||
| 155 | BOOL UnalignedBlockTexturesSupported() const noexcept; | ||
| 156 | |||
| 157 | // D3D12_OPTIONS9 | ||
| 158 | BOOL MeshShaderPipelineStatsSupported() const noexcept; | ||
| 159 | BOOL MeshShaderSupportsFullRangeRenderTargetArrayIndex() const noexcept; | ||
| 160 | BOOL AtomicInt64OnTypedResourceSupported() const noexcept; | ||
| 161 | BOOL AtomicInt64OnGroupSharedSupported() const noexcept; | ||
| 162 | BOOL DerivativesInMeshAndAmplificationShadersSupported() const noexcept; | ||
| 163 | D3D12_WAVE_MMA_TIER WaveMMATier() const noexcept; | ||
| 164 | #endif | ||
| 165 | |||
| 166 | #if defined(D3D12_SDK_VERSION) && (D3D12_SDK_VERSION >= 4) | ||
| 167 | // D3D12_OPTIONS10 | ||
| 168 | BOOL VariableRateShadingSumCombinerSupported() const noexcept; | ||
| 169 | BOOL MeshShaderPerPrimitiveShadingRateSupported() const noexcept; | ||
| 170 | |||
| 171 | // D3D12_OPTIONS11 | ||
| 172 | BOOL AtomicInt64OnDescriptorHeapResourceSupported() const noexcept; | ||
| 173 | #endif | ||
| 174 | |||
| 175 | #if defined(D3D12_SDK_VERSION) && (D3D12_SDK_VERSION >= 600) | ||
| 176 | // D3D12_OPTIONS12 | ||
| 177 | D3D12_TRI_STATE MSPrimitivesPipelineStatisticIncludesCulledPrimitives() const noexcept; | ||
| 178 | BOOL EnhancedBarriersSupported() const noexcept; | ||
| 179 | BOOL RelaxedFormatCastingSupported() const noexcept; | ||
| 180 | #endif | ||
| 181 | |||
| 182 | #if defined(D3D12_SDK_VERSION) && (D3D12_SDK_VERSION >= 602) | ||
| 183 | // D3D12_OPTIONS13 | ||
| 184 | BOOL UnrestrictedBufferTextureCopyPitchSupported() const noexcept; | ||
| 185 | BOOL UnrestrictedVertexElementAlignmentSupported() const noexcept; | ||
| 186 | BOOL InvertedViewportHeightFlipsYSupported() const noexcept; | ||
| 187 | BOOL InvertedViewportDepthFlipsZSupported() const noexcept; | ||
| 188 | BOOL TextureCopyBetweenDimensionsSupported() const noexcept; | ||
| 189 | BOOL AlphaBlendFactorSupported() const noexcept; | ||
| 190 | #endif | ||
| 191 | |||
| 192 | #if defined(D3D12_SDK_VERSION) && (D3D12_SDK_VERSION >= 606) | ||
| 193 | // D3D12_OPTIONS14 | ||
| 194 | BOOL AdvancedTextureOpsSupported() const noexcept; | ||
| 195 | BOOL WriteableMSAATexturesSupported() const noexcept; | ||
| 196 | BOOL IndependentFrontAndBackStencilRefMaskSupported() const noexcept; | ||
| 197 | |||
| 198 | // D3D12_OPTIONS15 | ||
| 199 | BOOL TriangleFanSupported() const noexcept; | ||
| 200 | BOOL DynamicIndexBufferStripCutSupported() const noexcept; | ||
| 201 | #endif | ||
| 202 | |||
| 203 | #if defined(D3D12_SDK_VERSION) && (D3D12_SDK_VERSION >= 608) | ||
| 204 | // D3D12_OPTIONS16 | ||
| 205 | BOOL DynamicDepthBiasSupported() const noexcept; | ||
| 206 | #endif | ||
| 207 | #if defined(D3D12_SDK_VERSION) && (D3D12_SDK_VERSION >= 609) | ||
| 208 | BOOL GPUUploadHeapSupported() const noexcept; | ||
| 209 | |||
| 210 | // D3D12_OPTIONS17 | ||
| 211 | BOOL NonNormalizedCoordinateSamplersSupported() const noexcept; | ||
| 212 | BOOL ManualWriteTrackingResourceSupported() const noexcept; | ||
| 213 | |||
| 214 | // D3D12_OPTIONS18 | ||
| 215 | BOOL RenderPassesValid() const noexcept; | ||
| 216 | #endif | ||
| 217 | |||
| 218 | #if defined(D3D12_SDK_VERSION) && (D3D12_SDK_VERSION >= 610) | ||
| 219 | BOOL MismatchingOutputDimensionsSupported() const noexcept; | ||
| 220 | UINT SupportedSampleCountsWithNoOutputs() const noexcept; | ||
| 221 | BOOL PointSamplingAddressesNeverRoundUp() const noexcept; | ||
| 222 | BOOL RasterizerDesc2Supported() const noexcept; | ||
| 223 | BOOL NarrowQuadrilateralLinesSupported() const noexcept; | ||
| 224 | BOOL AnisoFilterWithPointMipSupported() const noexcept; | ||
| 225 | UINT MaxSamplerDescriptorHeapSize() const noexcept; | ||
| 226 | UINT MaxSamplerDescriptorHeapSizeWithStaticSamplers() const noexcept; | ||
| 227 | UINT MaxViewDescriptorHeapSize() const noexcept; | ||
| 228 | #endif | ||
| 229 | |||
| 230 | #if defined(D3D12_SDK_VERSION) && (D3D12_SDK_VERSION >= 611) | ||
| 231 | BOOL ComputeOnlyWriteWatchSupported() const noexcept; | ||
| 232 | #endif | ||
| 233 | |||
| 234 | #if defined(D3D12_SDK_VERSION) && (D3D12_SDK_VERSION >= 612) | ||
| 235 | D3D12_EXECUTE_INDIRECT_TIER ExecuteIndirectTier() const noexcept; | ||
| 236 | D3D12_WORK_GRAPHS_TIER WorkGraphsTier() const noexcept; | ||
| 237 | #endif | ||
| 238 | |||
| 239 | #if defined(D3D12_SDK_VERSION) && (D3D12_SDK_VERSION >= 617) | ||
| 240 | D3D12_TIGHT_ALIGNMENT_TIER TightAlignmentSupportTier() const noexcept; | ||
| 241 | #endif | ||
| 242 | |||
| 243 | private: // Private structs and helpers declaration | ||
| 244 | struct ProtectedResourceSessionTypesLocal : D3D12_FEATURE_DATA_PROTECTED_RESOURCE_SESSION_TYPES | ||
| 245 | { | ||
| 246 | std::vector<GUID> TypeVec; | ||
| 247 | }; | ||
| 248 | |||
| 249 | // Helper function to decide the highest shader model supported by the system | ||
| 250 | // Stores the result in m_dShaderModel | ||
| 251 | // Must be updated whenever a new shader model is added to the d3d12.h header | ||
| 252 | HRESULT QueryHighestShaderModel(); | ||
| 253 | |||
| 254 | // Helper function to decide the highest root signature supported | ||
| 255 | // Must be updated whenever a new root signature version is added to the d3d12.h header | ||
| 256 | HRESULT QueryHighestRootSignatureVersion(); | ||
| 257 | |||
| 258 | // Helper funcion to decide the highest feature level | ||
| 259 | HRESULT QueryHighestFeatureLevel(); | ||
| 260 | |||
| 261 | // Helper function to initialize local protected resource session types structs | ||
| 262 | HRESULT QueryProtectedResourceSessionTypes(UINT NodeIndex, UINT Count); | ||
| 263 | |||
| 264 | private: // Member data | ||
| 265 | // Pointer to the underlying device | ||
| 266 | ID3D12Device* m_pDevice; | ||
| 267 | |||
| 268 | // Stores the error code from initialization | ||
| 269 | HRESULT m_hStatus; | ||
| 270 | |||
| 271 | // Feature support data structs | ||
| 272 | D3D12_FEATURE_DATA_D3D12_OPTIONS m_dOptions; | ||
| 273 | D3D_FEATURE_LEVEL m_eMaxFeatureLevel; | ||
| 274 | D3D12_FEATURE_DATA_GPU_VIRTUAL_ADDRESS_SUPPORT m_dGPUVASupport; | ||
| 275 | D3D12_FEATURE_DATA_SHADER_MODEL m_dShaderModel; | ||
| 276 | D3D12_FEATURE_DATA_D3D12_OPTIONS1 m_dOptions1; | ||
| 277 | std::vector<D3D12_FEATURE_DATA_PROTECTED_RESOURCE_SESSION_SUPPORT> m_dProtectedResourceSessionSupport; | ||
| 278 | D3D12_FEATURE_DATA_ROOT_SIGNATURE m_dRootSignature; | ||
| 279 | std::vector<D3D12_FEATURE_DATA_ARCHITECTURE1> m_dArchitecture1; | ||
| 280 | D3D12_FEATURE_DATA_D3D12_OPTIONS2 m_dOptions2; | ||
| 281 | D3D12_FEATURE_DATA_SHADER_CACHE m_dShaderCache; | ||
| 282 | D3D12_FEATURE_DATA_COMMAND_QUEUE_PRIORITY m_dCommandQueuePriority; | ||
| 283 | D3D12_FEATURE_DATA_D3D12_OPTIONS3 m_dOptions3; | ||
| 284 | D3D12_FEATURE_DATA_EXISTING_HEAPS m_dExistingHeaps; | ||
| 285 | D3D12_FEATURE_DATA_D3D12_OPTIONS4 m_dOptions4; | ||
| 286 | std::vector<D3D12_FEATURE_DATA_SERIALIZATION> m_dSerialization; // Cat2 NodeIndex | ||
| 287 | D3D12_FEATURE_DATA_CROSS_NODE m_dCrossNode; | ||
| 288 | D3D12_FEATURE_DATA_D3D12_OPTIONS5 m_dOptions5; | ||
| 289 | #if defined(D3D12_SDK_VERSION) && (D3D12_SDK_VERSION >= 4) | ||
| 290 | D3D12_FEATURE_DATA_DISPLAYABLE m_dDisplayable; | ||
| 291 | #endif | ||
| 292 | D3D12_FEATURE_DATA_D3D12_OPTIONS6 m_dOptions6; | ||
| 293 | D3D12_FEATURE_DATA_D3D12_OPTIONS7 m_dOptions7; | ||
| 294 | std::vector<D3D12_FEATURE_DATA_PROTECTED_RESOURCE_SESSION_TYPE_COUNT> m_dProtectedResourceSessionTypeCount; // Cat2 NodeIndex | ||
| 295 | std::vector<ProtectedResourceSessionTypesLocal> m_dProtectedResourceSessionTypes; // Cat3 | ||
| 296 | #if defined(D3D12_SDK_VERSION) && (D3D12_SDK_VERSION >= 3) | ||
| 297 | D3D12_FEATURE_DATA_D3D12_OPTIONS8 m_dOptions8; | ||
| 298 | D3D12_FEATURE_DATA_D3D12_OPTIONS9 m_dOptions9; | ||
| 299 | #endif | ||
| 300 | #if defined(D3D12_SDK_VERSION) && (D3D12_SDK_VERSION >= 4) | ||
| 301 | D3D12_FEATURE_DATA_D3D12_OPTIONS10 m_dOptions10; | ||
| 302 | D3D12_FEATURE_DATA_D3D12_OPTIONS11 m_dOptions11; | ||
| 303 | #endif | ||
| 304 | #if defined(D3D12_SDK_VERSION) && (D3D12_SDK_VERSION >= 600) | ||
| 305 | D3D12_FEATURE_DATA_D3D12_OPTIONS12 m_dOptions12; | ||
| 306 | #endif | ||
| 307 | #if defined(D3D12_SDK_VERSION) && (D3D12_SDK_VERSION >= 602) | ||
| 308 | D3D12_FEATURE_DATA_D3D12_OPTIONS13 m_dOptions13; | ||
| 309 | #endif | ||
| 310 | #if defined(D3D12_SDK_VERSION) && (D3D12_SDK_VERSION >= 606) | ||
| 311 | D3D12_FEATURE_DATA_D3D12_OPTIONS14 m_dOptions14; | ||
| 312 | D3D12_FEATURE_DATA_D3D12_OPTIONS15 m_dOptions15; | ||
| 313 | #endif | ||
| 314 | #if defined(D3D12_SDK_VERSION) && (D3D12_SDK_VERSION >= 608) | ||
| 315 | D3D12_FEATURE_DATA_D3D12_OPTIONS16 m_dOptions16; | ||
| 316 | #endif | ||
| 317 | #if defined(D3D12_SDK_VERSION) && (D3D12_SDK_VERSION >= 609) | ||
| 318 | D3D12_FEATURE_DATA_D3D12_OPTIONS17 m_dOptions17; | ||
| 319 | #endif | ||
| 320 | #if defined(D3D12_SDK_VERSION) && (D3D12_SDK_VERSION >= 609) | ||
| 321 | D3D12_FEATURE_DATA_D3D12_OPTIONS18 m_dOptions18; | ||
| 322 | #endif | ||
| 323 | #if defined(D3D12_SDK_VERSION) && (D3D12_SDK_VERSION >= 610) | ||
| 324 | D3D12_FEATURE_DATA_D3D12_OPTIONS19 m_dOptions19; | ||
| 325 | #endif | ||
| 326 | #if defined(D3D12_SDK_VERSION) && (D3D12_SDK_VERSION >= 611) | ||
| 327 | D3D12_FEATURE_DATA_D3D12_OPTIONS20 m_dOptions20; | ||
| 328 | #endif | ||
| 329 | #if defined(D3D12_SDK_VERSION) && (D3D12_SDK_VERSION >= 612) | ||
| 330 | D3D12_FEATURE_DATA_D3D12_OPTIONS21 m_dOptions21; | ||
| 331 | #endif | ||
| 332 | #if defined(D3D12_SDK_VERSION) && (D3D12_SDK_VERSION >= 617) | ||
| 333 | D3D12_FEATURE_DATA_TIGHT_ALIGNMENT m_dTightAlignment; | ||
| 334 | #endif | ||
| 335 | }; | ||
| 336 | |||
| 337 | // Implementations for CD3DX12FeatureSupport functions | ||
| 338 | |||
| 339 | // Macro to set up a getter function for each entry in feature support data | ||
| 340 | // The getter function will have the same name as the feature option name | ||
| 341 | #define FEATURE_SUPPORT_GET(RETTYPE,FEATURE,OPTION) \ | ||
| 342 | inline RETTYPE CD3DX12FeatureSupport::OPTION() const noexcept \ | ||
| 343 | { \ | ||
| 344 | return FEATURE.OPTION; \ | ||
| 345 | } | ||
| 346 | |||
| 347 | // Macro to set up a getter function for each entry in feature support data | ||
| 348 | // Also specifies the name for the function which can be different from the feature name | ||
| 349 | #define FEATURE_SUPPORT_GET_NAME(RETTYPE,FEATURE,OPTION,NAME) \ | ||
| 350 | inline RETTYPE CD3DX12FeatureSupport::NAME() const noexcept \ | ||
| 351 | {\ | ||
| 352 | return FEATURE.OPTION; \ | ||
| 353 | } | ||
| 354 | |||
| 355 | // Macro to set up a getter function for feature data indexed by the graphics node ID | ||
| 356 | // The default parameter is 0, or the first availabe graphics device node | ||
| 357 | #define FEATURE_SUPPORT_GET_NODE_INDEXED(RETTYPE,FEATURE,OPTION) \ | ||
| 358 | inline RETTYPE CD3DX12FeatureSupport::OPTION(UINT NodeIndex) const \ | ||
| 359 | {\ | ||
| 360 | return FEATURE[NodeIndex].OPTION; \ | ||
| 361 | } | ||
| 362 | |||
| 363 | // Macro to set up a getter function for feature data indexed by NodeIndex | ||
| 364 | // Allows a custom name for the getter function | ||
| 365 | #define FEATURE_SUPPORT_GET_NODE_INDEXED_NAME(RETTYPE,FEATURE,OPTION,NAME) \ | ||
| 366 | inline RETTYPE CD3DX12FeatureSupport::NAME(UINT NodeIndex) const \ | ||
| 367 | {\ | ||
| 368 | return FEATURE[NodeIndex].OPTION; \ | ||
| 369 | } | ||
| 370 | |||
| 371 | inline CD3DX12FeatureSupport::CD3DX12FeatureSupport() noexcept | ||
| 372 | : m_pDevice(nullptr) | ||
| 373 | , m_hStatus(E_INVALIDARG) | ||
| 374 | , m_dOptions{} | ||
| 375 | , m_eMaxFeatureLevel{} | ||
| 376 | , m_dGPUVASupport{} | ||
| 377 | , m_dShaderModel{} | ||
| 378 | , m_dOptions1{} | ||
| 379 | , m_dRootSignature{} | ||
| 380 | , m_dOptions2{} | ||
| 381 | , m_dShaderCache{} | ||
| 382 | , m_dCommandQueuePriority{} | ||
| 383 | , m_dOptions3{} | ||
| 384 | , m_dExistingHeaps{} | ||
| 385 | , m_dOptions4{} | ||
| 386 | , m_dCrossNode{} | ||
| 387 | , m_dOptions5{} | ||
| 388 | #if defined(D3D12_SDK_VERSION) && (D3D12_SDK_VERSION >= 4) | ||
| 389 | , m_dDisplayable{} | ||
| 390 | #endif | ||
| 391 | , m_dOptions6{} | ||
| 392 | , m_dOptions7{} | ||
| 393 | #if defined(D3D12_SDK_VERSION) && (D3D12_SDK_VERSION >= 3) | ||
| 394 | , m_dOptions8{} | ||
| 395 | , m_dOptions9{} | ||
| 396 | #endif | ||
| 397 | #if defined(D3D12_SDK_VERSION) && (D3D12_SDK_VERSION >= 4) | ||
| 398 | , m_dOptions10{} | ||
| 399 | , m_dOptions11{} | ||
| 400 | #endif | ||
| 401 | #if defined(D3D12_SDK_VERSION) && (D3D12_SDK_VERSION >= 600) | ||
| 402 | , m_dOptions12{} | ||
| 403 | #endif | ||
| 404 | #if defined(D3D12_SDK_VERSION) && (D3D12_SDK_VERSION >= 602) | ||
| 405 | , m_dOptions13{} | ||
| 406 | #endif | ||
| 407 | #if defined(D3D12_SDK_VERSION) && (D3D12_SDK_VERSION >= 606) | ||
| 408 | , m_dOptions14{} | ||
| 409 | , m_dOptions15{} | ||
| 410 | #endif | ||
| 411 | #if defined(D3D12_SDK_VERSION) && (D3D12_SDK_VERSION >= 608) | ||
| 412 | , m_dOptions16{} | ||
| 413 | #endif | ||
| 414 | #if defined(D3D12_SDK_VERSION) && (D3D12_SDK_VERSION >= 609) | ||
| 415 | , m_dOptions17{} | ||
| 416 | #endif | ||
| 417 | #if defined (D3D12_SDK_VERSION) && (D3D12_SDK_VERSION >= 609) | ||
| 418 | , m_dOptions18{} | ||
| 419 | #endif | ||
| 420 | #if defined (D3D12_SDK_VERSION) && (D3D12_SDK_VERSION >= 610) | ||
| 421 | , m_dOptions19{} | ||
| 422 | #endif | ||
| 423 | #if defined (D3D12_SDK_VERSION) && (D3D12_SDK_VERSION >= 611) | ||
| 424 | , m_dOptions20{} | ||
| 425 | #endif | ||
| 426 | #if defined (D3D12_SDK_VERSION) && (D3D12_SDK_VERSION >= 612) | ||
| 427 | , m_dOptions21{} | ||
| 428 | #endif | ||
| 429 | #if defined(D3D12_SDK_VERSION) && (D3D12_SDK_VERSION >= 617) | ||
| 430 | , m_dTightAlignment{} | ||
| 431 | #endif | ||
| 432 | {} | ||
| 433 | |||
| 434 | inline HRESULT CD3DX12FeatureSupport::Init(ID3D12Device* pDevice) | ||
| 435 | { | ||
| 436 | if (!pDevice) | ||
| 437 | { | ||
| 438 | m_hStatus = E_INVALIDARG; | ||
| 439 | return m_hStatus; | ||
| 440 | } | ||
| 441 | |||
| 442 | m_pDevice = pDevice; | ||
| 443 | |||
| 444 | // Initialize static feature support data structures | ||
| 445 | if (FAILED(m_pDevice->CheckFeatureSupport(D3D12_FEATURE_D3D12_OPTIONS, &m_dOptions, sizeof(m_dOptions)))) | ||
| 446 | { | ||
| 447 | m_dOptions = {}; | ||
| 448 | } | ||
| 449 | |||
| 450 | if (FAILED(m_pDevice->CheckFeatureSupport(D3D12_FEATURE_GPU_VIRTUAL_ADDRESS_SUPPORT, &m_dGPUVASupport, sizeof(m_dGPUVASupport)))) | ||
| 451 | { | ||
| 452 | m_dGPUVASupport = {}; | ||
| 453 | } | ||
| 454 | |||
| 455 | if (FAILED(m_pDevice->CheckFeatureSupport(D3D12_FEATURE_D3D12_OPTIONS1, &m_dOptions1, sizeof(m_dOptions1)))) | ||
| 456 | { | ||
| 457 | m_dOptions1 = {}; | ||
| 458 | } | ||
| 459 | |||
| 460 | if (FAILED(m_pDevice->CheckFeatureSupport(D3D12_FEATURE_D3D12_OPTIONS2, &m_dOptions2, sizeof(m_dOptions2)))) | ||
| 461 | { | ||
| 462 | m_dOptions2 = {}; | ||
| 463 | } | ||
| 464 | |||
| 465 | if (FAILED(m_pDevice->CheckFeatureSupport(D3D12_FEATURE_SHADER_CACHE, &m_dShaderCache, sizeof(m_dShaderCache)))) | ||
| 466 | { | ||
| 467 | m_dShaderCache = {}; | ||
| 468 | } | ||
| 469 | |||
| 470 | if (FAILED(m_pDevice->CheckFeatureSupport(D3D12_FEATURE_D3D12_OPTIONS3, &m_dOptions3, sizeof(m_dOptions3)))) | ||
| 471 | { | ||
| 472 | m_dOptions3 = {}; | ||
| 473 | } | ||
| 474 | |||
| 475 | if (FAILED(m_pDevice->CheckFeatureSupport(D3D12_FEATURE_EXISTING_HEAPS, &m_dExistingHeaps, sizeof(m_dExistingHeaps)))) | ||
| 476 | { | ||
| 477 | m_dExistingHeaps = {}; | ||
| 478 | } | ||
| 479 | |||
| 480 | if (FAILED(m_pDevice->CheckFeatureSupport(D3D12_FEATURE_D3D12_OPTIONS4, &m_dOptions4, sizeof(m_dOptions4)))) | ||
| 481 | { | ||
| 482 | m_dOptions4 = {}; | ||
| 483 | } | ||
| 484 | |||
| 485 | if (FAILED(m_pDevice->CheckFeatureSupport(D3D12_FEATURE_CROSS_NODE, &m_dCrossNode, sizeof(m_dCrossNode)))) | ||
| 486 | { | ||
| 487 | m_dCrossNode = {}; | ||
| 488 | } | ||
| 489 | |||
| 490 | if (FAILED(m_pDevice->CheckFeatureSupport(D3D12_FEATURE_D3D12_OPTIONS5, &m_dOptions5, sizeof(m_dOptions5)))) | ||
| 491 | { | ||
| 492 | m_dOptions5 = {}; | ||
| 493 | } | ||
| 494 | |||
| 495 | #if defined(D3D12_SDK_VERSION) && (D3D12_SDK_VERSION >= 4) | ||
| 496 | if (FAILED(m_pDevice->CheckFeatureSupport(D3D12_FEATURE_DISPLAYABLE, &m_dDisplayable, sizeof(m_dDisplayable)))) | ||
| 497 | { | ||
| 498 | m_dDisplayable = {}; | ||
| 499 | } | ||
| 500 | #endif | ||
| 501 | |||
| 502 | if (FAILED(m_pDevice->CheckFeatureSupport(D3D12_FEATURE_D3D12_OPTIONS6, &m_dOptions6, sizeof(m_dOptions6)))) | ||
| 503 | { | ||
| 504 | m_dOptions6 = {}; | ||
| 505 | } | ||
| 506 | |||
| 507 | if (FAILED(m_pDevice->CheckFeatureSupport(D3D12_FEATURE_D3D12_OPTIONS7, &m_dOptions7, sizeof(m_dOptions7)))) | ||
| 508 | { | ||
| 509 | m_dOptions7 = {}; | ||
| 510 | } | ||
| 511 | |||
| 512 | #if defined(D3D12_SDK_VERSION) && (D3D12_SDK_VERSION >= 3) | ||
| 513 | if (FAILED(m_pDevice->CheckFeatureSupport(D3D12_FEATURE_D3D12_OPTIONS8, &m_dOptions8, sizeof(m_dOptions8)))) | ||
| 514 | { | ||
| 515 | m_dOptions8 = {}; | ||
| 516 | } | ||
| 517 | |||
| 518 | if (FAILED(m_pDevice->CheckFeatureSupport(D3D12_FEATURE_D3D12_OPTIONS9, &m_dOptions9, sizeof(m_dOptions9)))) | ||
| 519 | { | ||
| 520 | m_dOptions9 = {}; | ||
| 521 | } | ||
| 522 | #endif | ||
| 523 | |||
| 524 | #if defined(D3D12_SDK_VERSION) && (D3D12_SDK_VERSION >= 4) | ||
| 525 | if (FAILED(m_pDevice->CheckFeatureSupport(D3D12_FEATURE_D3D12_OPTIONS10, &m_dOptions10, sizeof(m_dOptions10)))) | ||
| 526 | { | ||
| 527 | m_dOptions10 = {}; | ||
| 528 | } | ||
| 529 | |||
| 530 | if (FAILED(m_pDevice->CheckFeatureSupport(D3D12_FEATURE_D3D12_OPTIONS11, &m_dOptions11, sizeof(m_dOptions11)))) | ||
| 531 | { | ||
| 532 | m_dOptions11 = {}; | ||
| 533 | } | ||
| 534 | #endif | ||
| 535 | |||
| 536 | #if defined(D3D12_SDK_VERSION) && (D3D12_SDK_VERSION >= 600) | ||
| 537 | if (FAILED(m_pDevice->CheckFeatureSupport(D3D12_FEATURE_D3D12_OPTIONS12, &m_dOptions12, sizeof(m_dOptions12)))) | ||
| 538 | { | ||
| 539 | m_dOptions12 = {}; | ||
| 540 | m_dOptions12.MSPrimitivesPipelineStatisticIncludesCulledPrimitives = D3D12_TRI_STATE::D3D12_TRI_STATE_UNKNOWN; | ||
| 541 | } | ||
| 542 | #endif | ||
| 543 | |||
| 544 | #if defined(D3D12_SDK_VERSION) && (D3D12_SDK_VERSION >= 602) | ||
| 545 | if (FAILED(m_pDevice->CheckFeatureSupport(D3D12_FEATURE_D3D12_OPTIONS13, &m_dOptions13, sizeof(m_dOptions13)))) | ||
| 546 | { | ||
| 547 | m_dOptions13 = {}; | ||
| 548 | } | ||
| 549 | #endif | ||
| 550 | |||
| 551 | #if defined(D3D12_SDK_VERSION) && (D3D12_SDK_VERSION >= 606) | ||
| 552 | if (FAILED(m_pDevice->CheckFeatureSupport(D3D12_FEATURE_D3D12_OPTIONS14, &m_dOptions14, sizeof(m_dOptions14)))) | ||
| 553 | { | ||
| 554 | m_dOptions14 = {}; | ||
| 555 | } | ||
| 556 | |||
| 557 | if (FAILED(m_pDevice->CheckFeatureSupport(D3D12_FEATURE_D3D12_OPTIONS15, &m_dOptions15, sizeof(m_dOptions15)))) | ||
| 558 | { | ||
| 559 | m_dOptions15 = {}; | ||
| 560 | } | ||
| 561 | #endif | ||
| 562 | |||
| 563 | #if defined(D3D12_SDK_VERSION) && (D3D12_SDK_VERSION >= 608) | ||
| 564 | if (FAILED(m_pDevice->CheckFeatureSupport(D3D12_FEATURE_D3D12_OPTIONS16, &m_dOptions16, sizeof(m_dOptions16)))) | ||
| 565 | { | ||
| 566 | m_dOptions16 = {}; | ||
| 567 | } | ||
| 568 | #endif | ||
| 569 | |||
| 570 | #if defined(D3D12_SDK_VERSION) && (D3D12_SDK_VERSION >= 609) | ||
| 571 | if (FAILED(m_pDevice->CheckFeatureSupport(D3D12_FEATURE_D3D12_OPTIONS17, &m_dOptions17, sizeof(m_dOptions17)))) | ||
| 572 | { | ||
| 573 | m_dOptions17 = {}; | ||
| 574 | } | ||
| 575 | |||
| 576 | if (FAILED(m_pDevice->CheckFeatureSupport(D3D12_FEATURE_D3D12_OPTIONS18, &m_dOptions18, sizeof(m_dOptions18)))) | ||
| 577 | { | ||
| 578 | m_dOptions18.RenderPassesValid = false; | ||
| 579 | } | ||
| 580 | #endif | ||
| 581 | |||
| 582 | #if defined(D3D12_SDK_VERSION) && (D3D12_SDK_VERSION >= 610) | ||
| 583 | if (FAILED(m_pDevice->CheckFeatureSupport(D3D12_FEATURE_D3D12_OPTIONS19, &m_dOptions19, sizeof(m_dOptions19)))) | ||
| 584 | { | ||
| 585 | m_dOptions19 = {}; | ||
| 586 | m_dOptions19.SupportedSampleCountsWithNoOutputs = 1; | ||
| 587 | m_dOptions19.MaxSamplerDescriptorHeapSize = D3D12_MAX_SHADER_VISIBLE_SAMPLER_HEAP_SIZE; | ||
| 588 | m_dOptions19.MaxSamplerDescriptorHeapSizeWithStaticSamplers = D3D12_MAX_SHADER_VISIBLE_SAMPLER_HEAP_SIZE; | ||
| 589 | m_dOptions19.MaxViewDescriptorHeapSize = D3D12_MAX_SHADER_VISIBLE_DESCRIPTOR_HEAP_SIZE_TIER_1; | ||
| 590 | } | ||
| 591 | #endif | ||
| 592 | |||
| 593 | #if defined(D3D12_SDK_VERSION) && (D3D12_SDK_VERSION >= 611) | ||
| 594 | if (FAILED(m_pDevice->CheckFeatureSupport(D3D12_FEATURE_D3D12_OPTIONS20, &m_dOptions20, sizeof(m_dOptions20)))) | ||
| 595 | { | ||
| 596 | m_dOptions20 = {}; | ||
| 597 | } | ||
| 598 | #endif | ||
| 599 | |||
| 600 | #if defined(D3D12_SDK_VERSION) && (D3D12_SDK_VERSION >= 612) | ||
| 601 | if (FAILED(m_pDevice->CheckFeatureSupport(D3D12_FEATURE_D3D12_OPTIONS21, &m_dOptions21, sizeof(m_dOptions21)))) | ||
| 602 | { | ||
| 603 | m_dOptions21 = {}; | ||
| 604 | } | ||
| 605 | #endif | ||
| 606 | |||
| 607 | #if defined(D3D12_SDK_VERSION) && (D3D12_SDK_VERSION >= 617) | ||
| 608 | if (FAILED(m_pDevice->CheckFeatureSupport(D3D12_FEATURE_D3D12_TIGHT_ALIGNMENT, &m_dTightAlignment, sizeof(m_dTightAlignment)))) | ||
| 609 | { | ||
| 610 | m_dTightAlignment = {}; | ||
| 611 | } | ||
| 612 | #endif | ||
| 613 | |||
| 614 | // Initialize per-node feature support data structures | ||
| 615 | const UINT uNodeCount = m_pDevice->GetNodeCount(); | ||
| 616 | m_dProtectedResourceSessionSupport.resize(uNodeCount); | ||
| 617 | m_dArchitecture1.resize(uNodeCount); | ||
| 618 | m_dSerialization.resize(uNodeCount); | ||
| 619 | m_dProtectedResourceSessionTypeCount.resize(uNodeCount); | ||
| 620 | m_dProtectedResourceSessionTypes.resize(uNodeCount); | ||
| 621 | for (UINT NodeIndex = 0; NodeIndex < uNodeCount; NodeIndex++) | ||
| 622 | { | ||
| 623 | m_dProtectedResourceSessionSupport[NodeIndex].NodeIndex = NodeIndex; | ||
| 624 | if (FAILED(m_pDevice->CheckFeatureSupport(D3D12_FEATURE_PROTECTED_RESOURCE_SESSION_SUPPORT, &m_dProtectedResourceSessionSupport[NodeIndex], sizeof(m_dProtectedResourceSessionSupport[NodeIndex])))) | ||
| 625 | { | ||
| 626 | m_dProtectedResourceSessionSupport[NodeIndex].Support = D3D12_PROTECTED_RESOURCE_SESSION_SUPPORT_FLAG_NONE; | ||
| 627 | } | ||
| 628 | |||
| 629 | m_dArchitecture1[NodeIndex].NodeIndex = NodeIndex; | ||
| 630 | if (FAILED(m_pDevice->CheckFeatureSupport(D3D12_FEATURE_ARCHITECTURE1, &m_dArchitecture1[NodeIndex], sizeof(m_dArchitecture1[NodeIndex])))) | ||
| 631 | { | ||
| 632 | D3D12_FEATURE_DATA_ARCHITECTURE dArchLocal = {}; | ||
| 633 | dArchLocal.NodeIndex = NodeIndex; | ||
| 634 | if (FAILED(m_pDevice->CheckFeatureSupport(D3D12_FEATURE_ARCHITECTURE, &dArchLocal, sizeof(dArchLocal)))) | ||
| 635 | { | ||
| 636 | dArchLocal.TileBasedRenderer = false; | ||
| 637 | dArchLocal.UMA = false; | ||
| 638 | dArchLocal.CacheCoherentUMA = false; | ||
| 639 | } | ||
| 640 | |||
| 641 | m_dArchitecture1[NodeIndex].TileBasedRenderer = dArchLocal.TileBasedRenderer; | ||
| 642 | m_dArchitecture1[NodeIndex].UMA = dArchLocal.UMA; | ||
| 643 | m_dArchitecture1[NodeIndex].CacheCoherentUMA = dArchLocal.CacheCoherentUMA; | ||
| 644 | m_dArchitecture1[NodeIndex].IsolatedMMU = false; | ||
| 645 | } | ||
| 646 | |||
| 647 | m_dSerialization[NodeIndex].NodeIndex = NodeIndex; | ||
| 648 | if (FAILED(m_pDevice->CheckFeatureSupport(D3D12_FEATURE_SERIALIZATION, &m_dSerialization[NodeIndex], sizeof(m_dSerialization[NodeIndex])))) | ||
| 649 | { | ||
| 650 | m_dSerialization[NodeIndex].HeapSerializationTier = D3D12_HEAP_SERIALIZATION_TIER_0; | ||
| 651 | } | ||
| 652 | |||
| 653 | m_dProtectedResourceSessionTypeCount[NodeIndex].NodeIndex = NodeIndex; | ||
| 654 | if (FAILED(m_pDevice->CheckFeatureSupport(D3D12_FEATURE_PROTECTED_RESOURCE_SESSION_TYPE_COUNT, &m_dProtectedResourceSessionTypeCount[NodeIndex], sizeof(m_dProtectedResourceSessionTypeCount[NodeIndex])))) | ||
| 655 | { | ||
| 656 | m_dProtectedResourceSessionTypeCount[NodeIndex].Count = 0; | ||
| 657 | } | ||
| 658 | |||
| 659 | // Special procedure to initialize local protected resource session types structs | ||
| 660 | // Must wait until session type count initialized | ||
| 661 | QueryProtectedResourceSessionTypes(NodeIndex, m_dProtectedResourceSessionTypeCount[NodeIndex].Count); | ||
| 662 | } | ||
| 663 | |||
| 664 | // Initialize features that requires highest version check | ||
| 665 | if (FAILED(m_hStatus = QueryHighestShaderModel())) | ||
| 666 | { | ||
| 667 | return m_hStatus; | ||
| 668 | } | ||
| 669 | |||
| 670 | if (FAILED(m_hStatus = QueryHighestRootSignatureVersion())) | ||
| 671 | { | ||
| 672 | return m_hStatus; | ||
| 673 | } | ||
| 674 | |||
| 675 | // Initialize Feature Levels data | ||
| 676 | if (FAILED(m_hStatus = QueryHighestFeatureLevel())) | ||
| 677 | { | ||
| 678 | return m_hStatus; | ||
| 679 | } | ||
| 680 | |||
| 681 | return m_hStatus; | ||
| 682 | } | ||
| 683 | |||
| 684 | // 0: D3D12_OPTIONS | ||
| 685 | FEATURE_SUPPORT_GET(BOOL, m_dOptions, DoublePrecisionFloatShaderOps); | ||
| 686 | FEATURE_SUPPORT_GET(BOOL, m_dOptions, OutputMergerLogicOp); | ||
| 687 | FEATURE_SUPPORT_GET(D3D12_SHADER_MIN_PRECISION_SUPPORT, m_dOptions, MinPrecisionSupport); | ||
| 688 | FEATURE_SUPPORT_GET(D3D12_TILED_RESOURCES_TIER, m_dOptions, TiledResourcesTier); | ||
| 689 | FEATURE_SUPPORT_GET(D3D12_RESOURCE_BINDING_TIER, m_dOptions, ResourceBindingTier); | ||
| 690 | FEATURE_SUPPORT_GET(BOOL, m_dOptions, PSSpecifiedStencilRefSupported); | ||
| 691 | FEATURE_SUPPORT_GET(BOOL, m_dOptions, TypedUAVLoadAdditionalFormats); | ||
| 692 | FEATURE_SUPPORT_GET(BOOL, m_dOptions, ROVsSupported); | ||
| 693 | FEATURE_SUPPORT_GET(D3D12_CONSERVATIVE_RASTERIZATION_TIER, m_dOptions, ConservativeRasterizationTier); | ||
| 694 | FEATURE_SUPPORT_GET(BOOL, m_dOptions, StandardSwizzle64KBSupported); | ||
| 695 | FEATURE_SUPPORT_GET(BOOL, m_dOptions, CrossAdapterRowMajorTextureSupported); | ||
| 696 | FEATURE_SUPPORT_GET(BOOL, m_dOptions, VPAndRTArrayIndexFromAnyShaderFeedingRasterizerSupportedWithoutGSEmulation); | ||
| 697 | FEATURE_SUPPORT_GET(D3D12_RESOURCE_HEAP_TIER, m_dOptions, ResourceHeapTier); | ||
| 698 | |||
| 699 | // Special procedure for handling caps that is also part of other features | ||
| 700 | inline D3D12_CROSS_NODE_SHARING_TIER CD3DX12FeatureSupport::CrossNodeSharingTier() const noexcept | ||
| 701 | { | ||
| 702 | if (m_dCrossNode.SharingTier > D3D12_CROSS_NODE_SHARING_TIER_NOT_SUPPORTED) | ||
| 703 | { | ||
| 704 | return m_dCrossNode.SharingTier; | ||
| 705 | } | ||
| 706 | else | ||
| 707 | { | ||
| 708 | return m_dOptions.CrossNodeSharingTier; | ||
| 709 | } | ||
| 710 | } | ||
| 711 | |||
| 712 | inline UINT CD3DX12FeatureSupport::MaxGPUVirtualAddressBitsPerResource() const noexcept | ||
| 713 | { | ||
| 714 | if (m_dOptions.MaxGPUVirtualAddressBitsPerResource > 0) | ||
| 715 | { | ||
| 716 | return m_dOptions.MaxGPUVirtualAddressBitsPerResource; | ||
| 717 | } | ||
| 718 | else | ||
| 719 | { | ||
| 720 | return m_dGPUVASupport.MaxGPUVirtualAddressBitsPerResource; | ||
| 721 | } | ||
| 722 | } | ||
| 723 | |||
| 724 | // 1: Architecture | ||
| 725 | // Combined with Architecture1 | ||
| 726 | |||
| 727 | // 2: Feature Levels | ||
| 728 | // Simply returns the highest supported feature level | ||
| 729 | inline D3D_FEATURE_LEVEL CD3DX12FeatureSupport::MaxSupportedFeatureLevel() const noexcept | ||
| 730 | { | ||
| 731 | return m_eMaxFeatureLevel; | ||
| 732 | } | ||
| 733 | |||
| 734 | // 3: Feature Format Support | ||
| 735 | inline HRESULT CD3DX12FeatureSupport::FormatSupport(DXGI_FORMAT Format, D3D12_FORMAT_SUPPORT1& Support1, D3D12_FORMAT_SUPPORT2& Support2) const | ||
| 736 | { | ||
| 737 | D3D12_FEATURE_DATA_FORMAT_SUPPORT dFormatSupport; | ||
| 738 | dFormatSupport.Format = Format; | ||
| 739 | |||
| 740 | // It is possible that the function call returns an error | ||
| 741 | HRESULT result = m_pDevice->CheckFeatureSupport(D3D12_FEATURE_FORMAT_SUPPORT, &dFormatSupport, sizeof(D3D12_FEATURE_DATA_FORMAT_SUPPORT)); | ||
| 742 | |||
| 743 | Support1 = dFormatSupport.Support1; | ||
| 744 | Support2 = dFormatSupport.Support2; // Two outputs. Probably better just to take in the struct as an argument? | ||
| 745 | |||
| 746 | return result; | ||
| 747 | } | ||
| 748 | |||
| 749 | // 4: Multisample Quality Levels | ||
| 750 | inline HRESULT CD3DX12FeatureSupport::MultisampleQualityLevels(DXGI_FORMAT Format, UINT SampleCount, D3D12_MULTISAMPLE_QUALITY_LEVEL_FLAGS Flags, UINT& NumQualityLevels) const | ||
| 751 | { | ||
| 752 | D3D12_FEATURE_DATA_MULTISAMPLE_QUALITY_LEVELS dMultisampleQualityLevels; | ||
| 753 | dMultisampleQualityLevels.Format = Format; | ||
| 754 | dMultisampleQualityLevels.SampleCount = SampleCount; | ||
| 755 | dMultisampleQualityLevels.Flags = Flags; | ||
| 756 | |||
| 757 | HRESULT result = m_pDevice->CheckFeatureSupport(D3D12_FEATURE_MULTISAMPLE_QUALITY_LEVELS, &dMultisampleQualityLevels, sizeof(D3D12_FEATURE_DATA_MULTISAMPLE_QUALITY_LEVELS)); | ||
| 758 | |||
| 759 | if (SUCCEEDED(result)) | ||
| 760 | { | ||
| 761 | NumQualityLevels = dMultisampleQualityLevels.NumQualityLevels; | ||
| 762 | } | ||
| 763 | else | ||
| 764 | { | ||
| 765 | NumQualityLevels = 0; | ||
| 766 | } | ||
| 767 | |||
| 768 | return result; | ||
| 769 | } | ||
| 770 | |||
| 771 | // 5: Format Info | ||
| 772 | inline HRESULT CD3DX12FeatureSupport::FormatInfo(DXGI_FORMAT Format, UINT8& PlaneCount) const | ||
| 773 | { | ||
| 774 | D3D12_FEATURE_DATA_FORMAT_INFO dFormatInfo; | ||
| 775 | dFormatInfo.Format = Format; | ||
| 776 | |||
| 777 | HRESULT result = m_pDevice->CheckFeatureSupport(D3D12_FEATURE_FORMAT_INFO, &dFormatInfo, sizeof(D3D12_FEATURE_DATA_FORMAT_INFO)); | ||
| 778 | if (FAILED(result)) | ||
| 779 | { | ||
| 780 | PlaneCount = 0; | ||
| 781 | } | ||
| 782 | else | ||
| 783 | { | ||
| 784 | PlaneCount = dFormatInfo.PlaneCount; | ||
| 785 | } | ||
| 786 | return result; | ||
| 787 | } | ||
| 788 | |||
| 789 | // 6: GPU Virtual Address Support | ||
| 790 | // MaxGPUVirtualAddressBitsPerResource handled in D3D12Options | ||
| 791 | FEATURE_SUPPORT_GET(UINT, m_dGPUVASupport, MaxGPUVirtualAddressBitsPerProcess); | ||
| 792 | |||
| 793 | // 7: Shader Model | ||
| 794 | inline D3D_SHADER_MODEL CD3DX12FeatureSupport::HighestShaderModel() const noexcept | ||
| 795 | { | ||
| 796 | return m_dShaderModel.HighestShaderModel; | ||
| 797 | } | ||
| 798 | |||
| 799 | // 8: D3D12 Options1 | ||
| 800 | FEATURE_SUPPORT_GET(BOOL, m_dOptions1, WaveOps); | ||
| 801 | FEATURE_SUPPORT_GET(UINT, m_dOptions1, WaveLaneCountMin); | ||
| 802 | FEATURE_SUPPORT_GET(UINT, m_dOptions1, WaveLaneCountMax); | ||
| 803 | FEATURE_SUPPORT_GET(UINT, m_dOptions1, TotalLaneCount); | ||
| 804 | FEATURE_SUPPORT_GET(BOOL, m_dOptions1, ExpandedComputeResourceStates); | ||
| 805 | FEATURE_SUPPORT_GET(BOOL, m_dOptions1, Int64ShaderOps); | ||
| 806 | |||
| 807 | // 10: Protected Resource Session Support | ||
| 808 | inline D3D12_PROTECTED_RESOURCE_SESSION_SUPPORT_FLAGS CD3DX12FeatureSupport::ProtectedResourceSessionSupport(UINT NodeIndex) const | ||
| 809 | { | ||
| 810 | return m_dProtectedResourceSessionSupport[NodeIndex].Support; | ||
| 811 | } | ||
| 812 | |||
| 813 | // 12: Root Signature | ||
| 814 | inline D3D_ROOT_SIGNATURE_VERSION CD3DX12FeatureSupport::HighestRootSignatureVersion() const noexcept | ||
| 815 | { | ||
| 816 | return m_dRootSignature.HighestVersion; | ||
| 817 | } | ||
| 818 | |||
| 819 | // 16: Architecture1 | ||
| 820 | // Same data fields can be queried from m_dArchitecture | ||
| 821 | FEATURE_SUPPORT_GET_NODE_INDEXED(BOOL, m_dArchitecture1, TileBasedRenderer); | ||
| 822 | FEATURE_SUPPORT_GET_NODE_INDEXED(BOOL, m_dArchitecture1, UMA); | ||
| 823 | FEATURE_SUPPORT_GET_NODE_INDEXED(BOOL, m_dArchitecture1, CacheCoherentUMA); | ||
| 824 | FEATURE_SUPPORT_GET_NODE_INDEXED(BOOL, m_dArchitecture1, IsolatedMMU); | ||
| 825 | |||
| 826 | // 18: D3D12 Options2 | ||
| 827 | FEATURE_SUPPORT_GET(BOOL, m_dOptions2, DepthBoundsTestSupported); | ||
| 828 | FEATURE_SUPPORT_GET(D3D12_PROGRAMMABLE_SAMPLE_POSITIONS_TIER, m_dOptions2, ProgrammableSamplePositionsTier); | ||
| 829 | |||
| 830 | // 19: Shader Cache | ||
| 831 | FEATURE_SUPPORT_GET_NAME(D3D12_SHADER_CACHE_SUPPORT_FLAGS, m_dShaderCache, SupportFlags, ShaderCacheSupportFlags); | ||
| 832 | |||
| 833 | // 20: Command Queue Priority | ||
| 834 | inline BOOL CD3DX12FeatureSupport::CommandQueuePrioritySupported(D3D12_COMMAND_LIST_TYPE CommandListType, UINT Priority) | ||
| 835 | { | ||
| 836 | m_dCommandQueuePriority.CommandListType = CommandListType; | ||
| 837 | m_dCommandQueuePriority.Priority = Priority; | ||
| 838 | |||
| 839 | if (FAILED(m_pDevice->CheckFeatureSupport(D3D12_FEATURE_COMMAND_QUEUE_PRIORITY, &m_dCommandQueuePriority, sizeof(D3D12_FEATURE_DATA_COMMAND_QUEUE_PRIORITY)))) | ||
| 840 | { | ||
| 841 | return false; | ||
| 842 | } | ||
| 843 | |||
| 844 | return m_dCommandQueuePriority.PriorityForTypeIsSupported; | ||
| 845 | } | ||
| 846 | |||
| 847 | // 21: D3D12 Options3 | ||
| 848 | FEATURE_SUPPORT_GET(BOOL, m_dOptions3, CopyQueueTimestampQueriesSupported); | ||
| 849 | FEATURE_SUPPORT_GET(BOOL, m_dOptions3, CastingFullyTypedFormatSupported); | ||
| 850 | FEATURE_SUPPORT_GET(D3D12_COMMAND_LIST_SUPPORT_FLAGS, m_dOptions3, WriteBufferImmediateSupportFlags); | ||
| 851 | FEATURE_SUPPORT_GET(D3D12_VIEW_INSTANCING_TIER, m_dOptions3, ViewInstancingTier); | ||
| 852 | FEATURE_SUPPORT_GET(BOOL, m_dOptions3, BarycentricsSupported); | ||
| 853 | |||
| 854 | // 22: Existing Heaps | ||
| 855 | FEATURE_SUPPORT_GET_NAME(BOOL, m_dExistingHeaps, Supported, ExistingHeapsSupported); | ||
| 856 | |||
| 857 | // 23: D3D12 Options4 | ||
| 858 | FEATURE_SUPPORT_GET(BOOL, m_dOptions4, MSAA64KBAlignedTextureSupported); | ||
| 859 | FEATURE_SUPPORT_GET(D3D12_SHARED_RESOURCE_COMPATIBILITY_TIER, m_dOptions4, SharedResourceCompatibilityTier); | ||
| 860 | FEATURE_SUPPORT_GET(BOOL, m_dOptions4, Native16BitShaderOpsSupported); | ||
| 861 | |||
| 862 | // 24: Serialization | ||
| 863 | FEATURE_SUPPORT_GET_NODE_INDEXED(D3D12_HEAP_SERIALIZATION_TIER, m_dSerialization, HeapSerializationTier); | ||
| 864 | |||
| 865 | // 25: Cross Node | ||
| 866 | // CrossNodeSharingTier handled in D3D12Options | ||
| 867 | FEATURE_SUPPORT_GET_NAME(BOOL, m_dCrossNode, AtomicShaderInstructions, CrossNodeAtomicShaderInstructions); | ||
| 868 | |||
| 869 | // 27: D3D12 Options5 | ||
| 870 | FEATURE_SUPPORT_GET(BOOL, m_dOptions5, SRVOnlyTiledResourceTier3); | ||
| 871 | FEATURE_SUPPORT_GET(D3D12_RENDER_PASS_TIER, m_dOptions5, RenderPassesTier); | ||
| 872 | FEATURE_SUPPORT_GET(D3D12_RAYTRACING_TIER, m_dOptions5, RaytracingTier); | ||
| 873 | |||
| 874 | #if defined(D3D12_SDK_VERSION) && (D3D12_SDK_VERSION >= 4) | ||
| 875 | // 28: Displayable | ||
| 876 | FEATURE_SUPPORT_GET(BOOL, m_dDisplayable, DisplayableTexture); | ||
| 877 | // SharedResourceCompatibilityTier handled in D3D12Options4 | ||
| 878 | #endif | ||
| 879 | |||
| 880 | // 30: D3D12 Options6 | ||
| 881 | FEATURE_SUPPORT_GET(BOOL, m_dOptions6, AdditionalShadingRatesSupported); | ||
| 882 | FEATURE_SUPPORT_GET(BOOL, m_dOptions6, PerPrimitiveShadingRateSupportedWithViewportIndexing); | ||
| 883 | FEATURE_SUPPORT_GET(D3D12_VARIABLE_SHADING_RATE_TIER, m_dOptions6, VariableShadingRateTier); | ||
| 884 | FEATURE_SUPPORT_GET(UINT, m_dOptions6, ShadingRateImageTileSize); | ||
| 885 | FEATURE_SUPPORT_GET(BOOL, m_dOptions6, BackgroundProcessingSupported); | ||
| 886 | |||
| 887 | // 31: Query Meta Command | ||
| 888 | // Keep the original call routine | ||
| 889 | inline HRESULT CD3DX12FeatureSupport::QueryMetaCommand(D3D12_FEATURE_DATA_QUERY_META_COMMAND& dQueryMetaCommand) const | ||
| 890 | { | ||
| 891 | return m_pDevice->CheckFeatureSupport(D3D12_FEATURE_QUERY_META_COMMAND, &dQueryMetaCommand, sizeof(D3D12_FEATURE_DATA_QUERY_META_COMMAND)); | ||
| 892 | } | ||
| 893 | |||
| 894 | // 32: D3D12 Options7 | ||
| 895 | FEATURE_SUPPORT_GET(D3D12_MESH_SHADER_TIER, m_dOptions7, MeshShaderTier); | ||
| 896 | FEATURE_SUPPORT_GET(D3D12_SAMPLER_FEEDBACK_TIER, m_dOptions7, SamplerFeedbackTier); | ||
| 897 | |||
| 898 | // 33: Protected Resource Session Type Count | ||
| 899 | FEATURE_SUPPORT_GET_NODE_INDEXED_NAME(UINT, m_dProtectedResourceSessionTypeCount, Count, ProtectedResourceSessionTypeCount); | ||
| 900 | |||
| 901 | // 34: Protected Resource Session Types | ||
| 902 | FEATURE_SUPPORT_GET_NODE_INDEXED_NAME(std::vector<GUID>, m_dProtectedResourceSessionTypes, TypeVec, ProtectedResourceSessionTypes); | ||
| 903 | |||
| 904 | #if defined(D3D12_SDK_VERSION) && (D3D12_SDK_VERSION >= 3) | ||
| 905 | // 36: Options8 | ||
| 906 | FEATURE_SUPPORT_GET(BOOL, m_dOptions8, UnalignedBlockTexturesSupported); | ||
| 907 | |||
| 908 | // 37: Options9 | ||
| 909 | FEATURE_SUPPORT_GET(BOOL, m_dOptions9, MeshShaderPipelineStatsSupported); | ||
| 910 | FEATURE_SUPPORT_GET(BOOL, m_dOptions9, MeshShaderSupportsFullRangeRenderTargetArrayIndex); | ||
| 911 | FEATURE_SUPPORT_GET(BOOL, m_dOptions9, AtomicInt64OnTypedResourceSupported); | ||
| 912 | FEATURE_SUPPORT_GET(BOOL, m_dOptions9, AtomicInt64OnGroupSharedSupported); | ||
| 913 | FEATURE_SUPPORT_GET(BOOL, m_dOptions9, DerivativesInMeshAndAmplificationShadersSupported); | ||
| 914 | FEATURE_SUPPORT_GET(D3D12_WAVE_MMA_TIER, m_dOptions9, WaveMMATier); | ||
| 915 | #endif | ||
| 916 | |||
| 917 | #if defined(D3D12_SDK_VERSION) && (D3D12_SDK_VERSION >= 4) | ||
| 918 | // 39: Options10 | ||
| 919 | FEATURE_SUPPORT_GET(BOOL, m_dOptions10, VariableRateShadingSumCombinerSupported); | ||
| 920 | FEATURE_SUPPORT_GET(BOOL, m_dOptions10, MeshShaderPerPrimitiveShadingRateSupported); | ||
| 921 | |||
| 922 | // 40: Options11 | ||
| 923 | FEATURE_SUPPORT_GET(BOOL, m_dOptions11, AtomicInt64OnDescriptorHeapResourceSupported); | ||
| 924 | #endif | ||
| 925 | |||
| 926 | #if defined(D3D12_SDK_VERSION) && (D3D12_SDK_VERSION >= 600) | ||
| 927 | // 41: Options12 | ||
| 928 | FEATURE_SUPPORT_GET(D3D12_TRI_STATE, m_dOptions12, MSPrimitivesPipelineStatisticIncludesCulledPrimitives); | ||
| 929 | FEATURE_SUPPORT_GET(BOOL, m_dOptions12, EnhancedBarriersSupported); | ||
| 930 | FEATURE_SUPPORT_GET(BOOL, m_dOptions12, RelaxedFormatCastingSupported); | ||
| 931 | #endif | ||
| 932 | |||
| 933 | #if defined(D3D12_SDK_VERSION) && (D3D12_SDK_VERSION >= 602) | ||
| 934 | // 42: Options13 | ||
| 935 | FEATURE_SUPPORT_GET(BOOL, m_dOptions13, UnrestrictedBufferTextureCopyPitchSupported); | ||
| 936 | FEATURE_SUPPORT_GET(BOOL, m_dOptions13, UnrestrictedVertexElementAlignmentSupported); | ||
| 937 | FEATURE_SUPPORT_GET(BOOL, m_dOptions13, InvertedViewportHeightFlipsYSupported); | ||
| 938 | FEATURE_SUPPORT_GET(BOOL, m_dOptions13, InvertedViewportDepthFlipsZSupported); | ||
| 939 | FEATURE_SUPPORT_GET(BOOL, m_dOptions13, TextureCopyBetweenDimensionsSupported); | ||
| 940 | FEATURE_SUPPORT_GET(BOOL, m_dOptions13, AlphaBlendFactorSupported); | ||
| 941 | #endif | ||
| 942 | |||
| 943 | #if defined(D3D12_SDK_VERSION) && (D3D12_SDK_VERSION >= 606) | ||
| 944 | // 43: Options14 | ||
| 945 | FEATURE_SUPPORT_GET(BOOL, m_dOptions14, AdvancedTextureOpsSupported); | ||
| 946 | FEATURE_SUPPORT_GET(BOOL, m_dOptions14, WriteableMSAATexturesSupported); | ||
| 947 | FEATURE_SUPPORT_GET(BOOL, m_dOptions14, IndependentFrontAndBackStencilRefMaskSupported); | ||
| 948 | |||
| 949 | // 44: Options15 | ||
| 950 | FEATURE_SUPPORT_GET(BOOL, m_dOptions15, TriangleFanSupported); | ||
| 951 | FEATURE_SUPPORT_GET(BOOL, m_dOptions15, DynamicIndexBufferStripCutSupported); | ||
| 952 | #endif | ||
| 953 | |||
| 954 | #if defined(D3D12_SDK_VERSION) && (D3D12_SDK_VERSION >= 608) | ||
| 955 | // 45: Options16 | ||
| 956 | FEATURE_SUPPORT_GET(BOOL, m_dOptions16, DynamicDepthBiasSupported); | ||
| 957 | #endif | ||
| 958 | #if defined(D3D12_SDK_VERSION) && (D3D12_SDK_VERSION >= 609) | ||
| 959 | FEATURE_SUPPORT_GET(BOOL, m_dOptions16, GPUUploadHeapSupported); | ||
| 960 | |||
| 961 | // 46: Options17 | ||
| 962 | FEATURE_SUPPORT_GET(BOOL, m_dOptions17, NonNormalizedCoordinateSamplersSupported); | ||
| 963 | FEATURE_SUPPORT_GET(BOOL, m_dOptions17, ManualWriteTrackingResourceSupported); | ||
| 964 | |||
| 965 | // 47: Option18 | ||
| 966 | FEATURE_SUPPORT_GET(BOOL, m_dOptions18, RenderPassesValid); | ||
| 967 | #endif | ||
| 968 | |||
| 969 | #if defined(D3D12_SDK_VERSION) && (D3D12_SDK_VERSION >= 610) | ||
| 970 | FEATURE_SUPPORT_GET(BOOL, m_dOptions19, MismatchingOutputDimensionsSupported); | ||
| 971 | FEATURE_SUPPORT_GET(UINT, m_dOptions19, SupportedSampleCountsWithNoOutputs); | ||
| 972 | FEATURE_SUPPORT_GET(BOOL, m_dOptions19, PointSamplingAddressesNeverRoundUp); | ||
| 973 | FEATURE_SUPPORT_GET(BOOL, m_dOptions19, RasterizerDesc2Supported); | ||
| 974 | FEATURE_SUPPORT_GET(BOOL, m_dOptions19, NarrowQuadrilateralLinesSupported); | ||
| 975 | FEATURE_SUPPORT_GET(BOOL, m_dOptions19, AnisoFilterWithPointMipSupported); | ||
| 976 | FEATURE_SUPPORT_GET(UINT, m_dOptions19, MaxSamplerDescriptorHeapSize); | ||
| 977 | FEATURE_SUPPORT_GET(UINT, m_dOptions19, MaxSamplerDescriptorHeapSizeWithStaticSamplers); | ||
| 978 | FEATURE_SUPPORT_GET(UINT, m_dOptions19, MaxViewDescriptorHeapSize); | ||
| 979 | #endif | ||
| 980 | |||
| 981 | #if defined(D3D12_SDK_VERSION) && (D3D12_SDK_VERSION >= 611) | ||
| 982 | // 49: Options20 | ||
| 983 | FEATURE_SUPPORT_GET(BOOL, m_dOptions20, ComputeOnlyWriteWatchSupported); | ||
| 984 | #endif | ||
| 985 | |||
| 986 | #if defined(D3D12_SDK_VERSION) && (D3D12_SDK_VERSION >= 612) | ||
| 987 | // 50: Options21 | ||
| 988 | FEATURE_SUPPORT_GET(D3D12_EXECUTE_INDIRECT_TIER, m_dOptions21, ExecuteIndirectTier); | ||
| 989 | FEATURE_SUPPORT_GET(D3D12_WORK_GRAPHS_TIER, m_dOptions21, WorkGraphsTier); | ||
| 990 | #endif | ||
| 991 | |||
| 992 | #if defined(D3D12_SDK_VERSION) && (D3D12_SDK_VERSION >= 617) | ||
| 993 | // 51: TightAlignment | ||
| 994 | FEATURE_SUPPORT_GET_NAME(D3D12_TIGHT_ALIGNMENT_TIER, m_dTightAlignment, SupportTier, TightAlignmentSupportTier); | ||
| 995 | #endif | ||
| 996 | |||
| 997 | // Helper function to decide the highest shader model supported by the system | ||
| 998 | // Stores the result in m_dShaderModel | ||
| 999 | // Must be updated whenever a new shader model is added to the d3d12.h header | ||
| 1000 | inline HRESULT CD3DX12FeatureSupport::QueryHighestShaderModel() | ||
| 1001 | { | ||
| 1002 | // Check support in descending order | ||
| 1003 | HRESULT result; | ||
| 1004 | |||
| 1005 | const D3D_SHADER_MODEL allModelVersions[] = | ||
| 1006 | { | ||
| 1007 | #if defined(D3D12_SDK_VERSION) && (D3D12_SDK_VERSION >= 612) | ||
| 1008 | D3D_SHADER_MODEL_6_9, | ||
| 1009 | #endif | ||
| 1010 | #if defined(D3D12_SDK_VERSION) && (D3D12_SDK_VERSION >= 606) | ||
| 1011 | D3D_SHADER_MODEL_6_8, | ||
| 1012 | #endif | ||
| 1013 | #if defined(D3D12_SDK_VERSION) && (D3D12_SDK_VERSION >= 3) | ||
| 1014 | D3D_SHADER_MODEL_6_7, | ||
| 1015 | #endif | ||
| 1016 | D3D_SHADER_MODEL_6_6, | ||
| 1017 | D3D_SHADER_MODEL_6_5, | ||
| 1018 | D3D_SHADER_MODEL_6_4, | ||
| 1019 | D3D_SHADER_MODEL_6_3, | ||
| 1020 | D3D_SHADER_MODEL_6_2, | ||
| 1021 | D3D_SHADER_MODEL_6_1, | ||
| 1022 | D3D_SHADER_MODEL_6_0, | ||
| 1023 | D3D_SHADER_MODEL_5_1 | ||
| 1024 | }; | ||
| 1025 | constexpr size_t numModelVersions = sizeof(allModelVersions) / sizeof(D3D_SHADER_MODEL); | ||
| 1026 | |||
| 1027 | for (size_t i = 0; i < numModelVersions; i++) | ||
| 1028 | { | ||
| 1029 | m_dShaderModel.HighestShaderModel = allModelVersions[i]; | ||
| 1030 | result = m_pDevice->CheckFeatureSupport(D3D12_FEATURE_SHADER_MODEL, &m_dShaderModel, sizeof(D3D12_FEATURE_DATA_SHADER_MODEL)); | ||
| 1031 | if (result != E_INVALIDARG) | ||
| 1032 | { | ||
| 1033 | // Indicates that the version is recognizable by the runtime and stored in the struct | ||
| 1034 | // Also terminate on unexpected error code | ||
| 1035 | if (FAILED(result)) | ||
| 1036 | { | ||
| 1037 | m_dShaderModel.HighestShaderModel = static_cast<D3D_SHADER_MODEL>(0); | ||
| 1038 | } | ||
| 1039 | return result; | ||
| 1040 | } | ||
| 1041 | } | ||
| 1042 | |||
| 1043 | // Shader model may not be supported. Continue the rest initializations | ||
| 1044 | m_dShaderModel.HighestShaderModel = static_cast<D3D_SHADER_MODEL>(0); | ||
| 1045 | return S_OK; | ||
| 1046 | } | ||
| 1047 | |||
| 1048 | // Helper function to decide the highest root signature supported | ||
| 1049 | // Must be updated whenever a new root signature version is added to the d3d12.h header | ||
| 1050 | inline HRESULT CD3DX12FeatureSupport::QueryHighestRootSignatureVersion() | ||
| 1051 | { | ||
| 1052 | HRESULT result; | ||
| 1053 | |||
| 1054 | const D3D_ROOT_SIGNATURE_VERSION allRootSignatureVersions[] = | ||
| 1055 | { | ||
| 1056 | #if defined(D3D12_SDK_VERSION) && (D3D12_SDK_VERSION >= 609) | ||
| 1057 | D3D_ROOT_SIGNATURE_VERSION_1_2, | ||
| 1058 | #endif | ||
| 1059 | D3D_ROOT_SIGNATURE_VERSION_1_1, | ||
| 1060 | D3D_ROOT_SIGNATURE_VERSION_1_0, | ||
| 1061 | D3D_ROOT_SIGNATURE_VERSION_1, | ||
| 1062 | }; | ||
| 1063 | constexpr size_t numRootSignatureVersions = sizeof(allRootSignatureVersions) / sizeof(D3D_ROOT_SIGNATURE_VERSION); | ||
| 1064 | |||
| 1065 | for (size_t i = 0; i < numRootSignatureVersions; i++) | ||
| 1066 | { | ||
| 1067 | m_dRootSignature.HighestVersion = allRootSignatureVersions[i]; | ||
| 1068 | result = m_pDevice->CheckFeatureSupport(D3D12_FEATURE_ROOT_SIGNATURE, &m_dRootSignature, sizeof(D3D12_FEATURE_DATA_ROOT_SIGNATURE)); | ||
| 1069 | if (result != E_INVALIDARG) | ||
| 1070 | { | ||
| 1071 | if (FAILED(result)) | ||
| 1072 | { | ||
| 1073 | m_dRootSignature.HighestVersion = static_cast<D3D_ROOT_SIGNATURE_VERSION>(0); | ||
| 1074 | } | ||
| 1075 | // If succeeded, the highest version is already written into the member struct | ||
| 1076 | return result; | ||
| 1077 | } | ||
| 1078 | } | ||
| 1079 | |||
| 1080 | // No version left. Set to invalid value and continue. | ||
| 1081 | m_dRootSignature.HighestVersion = static_cast<D3D_ROOT_SIGNATURE_VERSION>(0); | ||
| 1082 | return S_OK; | ||
| 1083 | } | ||
| 1084 | |||
| 1085 | // Helper funcion to decide the highest feature level | ||
| 1086 | inline HRESULT CD3DX12FeatureSupport::QueryHighestFeatureLevel() | ||
| 1087 | { | ||
| 1088 | HRESULT result; | ||
| 1089 | |||
| 1090 | // Check against a list of all feature levels present in d3dcommon.h | ||
| 1091 | // Needs to be updated for future feature levels | ||
| 1092 | const D3D_FEATURE_LEVEL allLevels[] = | ||
| 1093 | { | ||
| 1094 | #if defined(D3D12_SDK_VERSION) && (D3D12_SDK_VERSION >= 3) | ||
| 1095 | D3D_FEATURE_LEVEL_12_2, | ||
| 1096 | #endif | ||
| 1097 | D3D_FEATURE_LEVEL_12_1, | ||
| 1098 | D3D_FEATURE_LEVEL_12_0, | ||
| 1099 | D3D_FEATURE_LEVEL_11_1, | ||
| 1100 | D3D_FEATURE_LEVEL_11_0, | ||
| 1101 | D3D_FEATURE_LEVEL_10_1, | ||
| 1102 | D3D_FEATURE_LEVEL_10_0, | ||
| 1103 | D3D_FEATURE_LEVEL_9_3, | ||
| 1104 | D3D_FEATURE_LEVEL_9_2, | ||
| 1105 | D3D_FEATURE_LEVEL_9_1, | ||
| 1106 | #if defined(D3D12_SDK_VERSION) && (D3D12_SDK_VERSION >= 5) | ||
| 1107 | D3D_FEATURE_LEVEL_1_0_CORE, | ||
| 1108 | #endif | ||
| 1109 | #if defined(D3D12_SDK_VERSION) && (D3D12_SDK_VERSION >= 611) | ||
| 1110 | D3D_FEATURE_LEVEL_1_0_GENERIC | ||
| 1111 | #endif | ||
| 1112 | }; | ||
| 1113 | |||
| 1114 | D3D12_FEATURE_DATA_FEATURE_LEVELS dFeatureLevel; | ||
| 1115 | dFeatureLevel.NumFeatureLevels = static_cast<UINT>(sizeof(allLevels) / sizeof(D3D_FEATURE_LEVEL)); | ||
| 1116 | dFeatureLevel.pFeatureLevelsRequested = allLevels; | ||
| 1117 | |||
| 1118 | result = m_pDevice->CheckFeatureSupport(D3D12_FEATURE_FEATURE_LEVELS, &dFeatureLevel, sizeof(D3D12_FEATURE_DATA_FEATURE_LEVELS)); | ||
| 1119 | if (SUCCEEDED(result)) | ||
| 1120 | { | ||
| 1121 | m_eMaxFeatureLevel = dFeatureLevel.MaxSupportedFeatureLevel; | ||
| 1122 | } | ||
| 1123 | else | ||
| 1124 | { | ||
| 1125 | m_eMaxFeatureLevel = static_cast<D3D_FEATURE_LEVEL>(0); | ||
| 1126 | |||
| 1127 | if (result == DXGI_ERROR_UNSUPPORTED) | ||
| 1128 | { | ||
| 1129 | // Indicates that none supported. Continue initialization | ||
| 1130 | result = S_OK; | ||
| 1131 | } | ||
| 1132 | } | ||
| 1133 | return result; | ||
| 1134 | } | ||
| 1135 | |||
| 1136 | // Helper function to initialize local protected resource session types structs | ||
| 1137 | inline HRESULT CD3DX12FeatureSupport::QueryProtectedResourceSessionTypes(UINT NodeIndex, UINT Count) | ||
| 1138 | { | ||
| 1139 | auto& CurrentPRSTypes = m_dProtectedResourceSessionTypes[NodeIndex]; | ||
| 1140 | CurrentPRSTypes.NodeIndex = NodeIndex; | ||
| 1141 | CurrentPRSTypes.Count = Count; | ||
| 1142 | CurrentPRSTypes.TypeVec.resize(CurrentPRSTypes.Count); | ||
| 1143 | CurrentPRSTypes.pTypes = CurrentPRSTypes.TypeVec.data(); | ||
| 1144 | |||
| 1145 | HRESULT result = m_pDevice->CheckFeatureSupport(D3D12_FEATURE_PROTECTED_RESOURCE_SESSION_TYPES, &m_dProtectedResourceSessionTypes[NodeIndex], sizeof(D3D12_FEATURE_DATA_PROTECTED_RESOURCE_SESSION_TYPES)); | ||
| 1146 | if (FAILED(result)) | ||
| 1147 | { | ||
| 1148 | // Resize TypeVec to empty | ||
| 1149 | CurrentPRSTypes.TypeVec.clear(); | ||
| 1150 | } | ||
| 1151 | |||
| 1152 | return result; | ||
| 1153 | } | ||
| 1154 | |||
| 1155 | #undef FEATURE_SUPPORT_GET | ||
| 1156 | #undef FEATURE_SUPPORT_GET_NAME | ||
| 1157 | #undef FEATURE_SUPPORT_GET_NODE_INDEXED | ||
| 1158 | #undef FEATURE_SUPPORT_GET_NODE_INDEXED_NAME | ||
| 1159 | |||
| 1160 | // end CD3DX12FeatureSupport | ||
| 1161 | |||
| 1162 | |||
diff --git a/contrib/microsoft.direct3d.d3d12.1.618.4/build/native/include/d3dx12/d3dx12_core.h b/contrib/microsoft.direct3d.d3d12.1.618.4/build/native/include/d3dx12/d3dx12_core.h new file mode 100644 index 0000000..092a039 --- /dev/null +++ b/contrib/microsoft.direct3d.d3d12.1.618.4/build/native/include/d3dx12/d3dx12_core.h | |||
| @@ -0,0 +1,2072 @@ | |||
| 1 | //********************************************************* | ||
| 2 | // | ||
| 3 | // Copyright (c) Microsoft Corporation. | ||
| 4 | // Licensed under the MIT License (MIT). | ||
| 5 | // | ||
| 6 | //********************************************************* | ||
| 7 | |||
| 8 | #pragma once | ||
| 9 | |||
| 10 | #ifndef __cplusplus | ||
| 11 | #error D3DX12 requires C++ | ||
| 12 | #endif | ||
| 13 | |||
| 14 | #include <string.h> | ||
| 15 | #include "d3d12.h" | ||
| 16 | #include "d3dx12_default.h" | ||
| 17 | |||
| 18 | //------------------------------------------------------------------------------------------------ | ||
| 19 | #ifndef D3DX12_ASSERT | ||
| 20 | #ifdef assert | ||
| 21 | #define D3DX12_ASSERT(x) assert(x) | ||
| 22 | #else | ||
| 23 | #define D3DX12_ASSERT(x) | ||
| 24 | #endif | ||
| 25 | #endif | ||
| 26 | |||
| 27 | //------------------------------------------------------------------------------------------------ | ||
| 28 | template <typename t_CommandListType> | ||
| 29 | inline ID3D12CommandList * const * CommandListCast(t_CommandListType * const * pp) noexcept | ||
| 30 | { | ||
| 31 | // This cast is useful for passing strongly typed command list pointers into | ||
| 32 | // ExecuteCommandLists. | ||
| 33 | // This cast is valid as long as the const-ness is respected. D3D12 APIs do | ||
| 34 | // respect the const-ness of their arguments. | ||
| 35 | return reinterpret_cast<ID3D12CommandList * const *>(pp); | ||
| 36 | } | ||
| 37 | |||
| 38 | #ifdef D3DX12_USE_ARRAY_COM_PTR | ||
| 39 | #include <vector> | ||
| 40 | //------------------------------------------------------------------------------------------------ | ||
| 41 | // CArrayComPtr - Useful RAII container of raw IUnknown pointers. | ||
| 42 | template<typename _T> | ||
| 43 | class CArrayComPtr | ||
| 44 | { | ||
| 45 | std::vector<_T *> m_array; | ||
| 46 | |||
| 47 | public: | ||
| 48 | class CProxyPtr | ||
| 49 | { | ||
| 50 | _T *&pObj; | ||
| 51 | |||
| 52 | CProxyPtr(_T *&obj) : | ||
| 53 | pObj(obj) {} | ||
| 54 | |||
| 55 | public: | ||
| 56 | operator _T*() { return pObj; } | ||
| 57 | _T **operator&() { return &pObj; } | ||
| 58 | CProxyPtr &operator=(_T*&obj) | ||
| 59 | { | ||
| 60 | if(pObj) | ||
| 61 | pObj->Release(); | ||
| 62 | |||
| 63 | pObj = obj; | ||
| 64 | |||
| 65 | if(pObj) | ||
| 66 | pObj->AddRef(); | ||
| 67 | } | ||
| 68 | |||
| 69 | friend class CArrayComPtr<_T>; | ||
| 70 | }; | ||
| 71 | |||
| 72 | public: | ||
| 73 | CArrayComPtr() = default; | ||
| 74 | |||
| 75 | CArrayComPtr(size_t size) : | ||
| 76 | m_array(size) { | ||
| 77 | } | ||
| 78 | |||
| 79 | CArrayComPtr(const CArrayComPtr &o) | ||
| 80 | { | ||
| 81 | m_array = o.m_array; | ||
| 82 | for (size_t i = 0; i < m_array.size(); ++i) | ||
| 83 | { | ||
| 84 | m_array[i]->AddRef(); | ||
| 85 | } | ||
| 86 | } | ||
| 87 | |||
| 88 | CArrayComPtr(CArrayComPtr &&o) = default; | ||
| 89 | |||
| 90 | ~CArrayComPtr() | ||
| 91 | { | ||
| 92 | for (auto ptr : m_array) | ||
| 93 | { | ||
| 94 | if (ptr) | ||
| 95 | { | ||
| 96 | ptr->Release(); | ||
| 97 | } | ||
| 98 | } | ||
| 99 | } | ||
| 100 | |||
| 101 | _T *const *Get() { return m_array.data(); } | ||
| 102 | |||
| 103 | void Assign(size_t index, _T *ptr) | ||
| 104 | { | ||
| 105 | if (index >= m_array.size()) | ||
| 106 | { | ||
| 107 | Resize(index + 1); | ||
| 108 | } | ||
| 109 | |||
| 110 | // Release the old pointer if it exists | ||
| 111 | if (m_array[index]) | ||
| 112 | { | ||
| 113 | m_array[index]->Release(); | ||
| 114 | } | ||
| 115 | |||
| 116 | // Assign the new pointer and AddRef it if not null | ||
| 117 | m_array[index] = ptr; | ||
| 118 | if (ptr) | ||
| 119 | { | ||
| 120 | ptr->AddRef(); | ||
| 121 | } | ||
| 122 | } | ||
| 123 | |||
| 124 | void Resize(size_t size) | ||
| 125 | { | ||
| 126 | // If shrinking, release any pointers that will be discarded | ||
| 127 | if (size < m_array.size()) | ||
| 128 | { | ||
| 129 | for (size_t i = size; i < m_array.size(); ++i) | ||
| 130 | { | ||
| 131 | if (m_array[i]) | ||
| 132 | { | ||
| 133 | m_array[i]->Release(); | ||
| 134 | } | ||
| 135 | } | ||
| 136 | } | ||
| 137 | |||
| 138 | // Resize the vector, initializing new elements to nullptr | ||
| 139 | m_array.resize(size, nullptr); | ||
| 140 | } | ||
| 141 | |||
| 142 | void PushBack(_T *ptr) | ||
| 143 | { | ||
| 144 | // AddRef if not null | ||
| 145 | if (ptr) | ||
| 146 | { | ||
| 147 | ptr->AddRef(); | ||
| 148 | } | ||
| 149 | m_array.push_back(ptr); | ||
| 150 | } | ||
| 151 | |||
| 152 | CProxyPtr operator[](size_t index) | ||
| 153 | { | ||
| 154 | return CProxyPtr(m_array[index]); | ||
| 155 | } | ||
| 156 | }; | ||
| 157 | #endif | ||
| 158 | //------------------------------------------------------------------------------------------------ | ||
| 159 | inline bool operator==( const D3D12_VIEWPORT& l, const D3D12_VIEWPORT& r ) noexcept | ||
| 160 | { | ||
| 161 | return l.TopLeftX == r.TopLeftX && l.TopLeftY == r.TopLeftY && l.Width == r.Width && | ||
| 162 | l.Height == r.Height && l.MinDepth == r.MinDepth && l.MaxDepth == r.MaxDepth; | ||
| 163 | } | ||
| 164 | |||
| 165 | //------------------------------------------------------------------------------------------------ | ||
| 166 | inline bool operator!=( const D3D12_VIEWPORT& l, const D3D12_VIEWPORT& r ) noexcept | ||
| 167 | { return !( l == r ); } | ||
| 168 | |||
| 169 | //------------------------------------------------------------------------------------------------ | ||
| 170 | struct CD3DX12_RECT : public D3D12_RECT | ||
| 171 | { | ||
| 172 | CD3DX12_RECT() = default; | ||
| 173 | explicit CD3DX12_RECT( const D3D12_RECT& o ) noexcept : | ||
| 174 | D3D12_RECT( o ) | ||
| 175 | {} | ||
| 176 | explicit CD3DX12_RECT( | ||
| 177 | LONG Left, | ||
| 178 | LONG Top, | ||
| 179 | LONG Right, | ||
| 180 | LONG Bottom ) noexcept | ||
| 181 | { | ||
| 182 | left = Left; | ||
| 183 | top = Top; | ||
| 184 | right = Right; | ||
| 185 | bottom = Bottom; | ||
| 186 | } | ||
| 187 | }; | ||
| 188 | |||
| 189 | //------------------------------------------------------------------------------------------------ | ||
| 190 | struct CD3DX12_VIEWPORT : public D3D12_VIEWPORT | ||
| 191 | { | ||
| 192 | CD3DX12_VIEWPORT() = default; | ||
| 193 | explicit CD3DX12_VIEWPORT( const D3D12_VIEWPORT& o ) noexcept : | ||
| 194 | D3D12_VIEWPORT( o ) | ||
| 195 | {} | ||
| 196 | explicit CD3DX12_VIEWPORT( | ||
| 197 | FLOAT topLeftX, | ||
| 198 | FLOAT topLeftY, | ||
| 199 | FLOAT width, | ||
| 200 | FLOAT height, | ||
| 201 | FLOAT minDepth = D3D12_MIN_DEPTH, | ||
| 202 | FLOAT maxDepth = D3D12_MAX_DEPTH ) noexcept | ||
| 203 | { | ||
| 204 | TopLeftX = topLeftX; | ||
| 205 | TopLeftY = topLeftY; | ||
| 206 | Width = width; | ||
| 207 | Height = height; | ||
| 208 | MinDepth = minDepth; | ||
| 209 | MaxDepth = maxDepth; | ||
| 210 | } | ||
| 211 | explicit CD3DX12_VIEWPORT( | ||
| 212 | _In_ ID3D12Resource* pResource, | ||
| 213 | UINT mipSlice = 0, | ||
| 214 | FLOAT topLeftX = 0.0f, | ||
| 215 | FLOAT topLeftY = 0.0f, | ||
| 216 | FLOAT minDepth = D3D12_MIN_DEPTH, | ||
| 217 | FLOAT maxDepth = D3D12_MAX_DEPTH ) noexcept | ||
| 218 | { | ||
| 219 | #if defined(_MSC_VER) || !defined(_WIN32) | ||
| 220 | const auto Desc = pResource->GetDesc(); | ||
| 221 | #else | ||
| 222 | D3D12_RESOURCE_DESC tmpDesc; | ||
| 223 | const auto& Desc = *pResource->GetDesc(&tmpDesc); | ||
| 224 | #endif | ||
| 225 | const UINT64 SubresourceWidth = Desc.Width >> mipSlice; | ||
| 226 | const UINT64 SubresourceHeight = Desc.Height >> mipSlice; | ||
| 227 | switch (Desc.Dimension) | ||
| 228 | { | ||
| 229 | case D3D12_RESOURCE_DIMENSION_BUFFER: | ||
| 230 | TopLeftX = topLeftX; | ||
| 231 | TopLeftY = 0.0f; | ||
| 232 | Width = float(Desc.Width) - topLeftX; | ||
| 233 | Height = 1.0f; | ||
| 234 | break; | ||
| 235 | case D3D12_RESOURCE_DIMENSION_TEXTURE1D: | ||
| 236 | TopLeftX = topLeftX; | ||
| 237 | TopLeftY = 0.0f; | ||
| 238 | Width = (SubresourceWidth ? float(SubresourceWidth) : 1.0f) - topLeftX; | ||
| 239 | Height = 1.0f; | ||
| 240 | break; | ||
| 241 | case D3D12_RESOURCE_DIMENSION_TEXTURE2D: | ||
| 242 | case D3D12_RESOURCE_DIMENSION_TEXTURE3D: | ||
| 243 | TopLeftX = topLeftX; | ||
| 244 | TopLeftY = topLeftY; | ||
| 245 | Width = (SubresourceWidth ? float(SubresourceWidth) : 1.0f) - topLeftX; | ||
| 246 | Height = (SubresourceHeight ? float(SubresourceHeight) : 1.0f) - topLeftY; | ||
| 247 | break; | ||
| 248 | default: break; | ||
| 249 | } | ||
| 250 | |||
| 251 | MinDepth = minDepth; | ||
| 252 | MaxDepth = maxDepth; | ||
| 253 | } | ||
| 254 | }; | ||
| 255 | |||
| 256 | //------------------------------------------------------------------------------------------------ | ||
| 257 | struct CD3DX12_BOX : public D3D12_BOX | ||
| 258 | { | ||
| 259 | CD3DX12_BOX() = default; | ||
| 260 | explicit CD3DX12_BOX( const D3D12_BOX& o ) noexcept : | ||
| 261 | D3D12_BOX( o ) | ||
| 262 | {} | ||
| 263 | explicit CD3DX12_BOX( | ||
| 264 | LONG Left, | ||
| 265 | LONG Right ) noexcept | ||
| 266 | { | ||
| 267 | left = static_cast<UINT>(Left); | ||
| 268 | top = 0; | ||
| 269 | front = 0; | ||
| 270 | right = static_cast<UINT>(Right); | ||
| 271 | bottom = 1; | ||
| 272 | back = 1; | ||
| 273 | } | ||
| 274 | explicit CD3DX12_BOX( | ||
| 275 | LONG Left, | ||
| 276 | LONG Top, | ||
| 277 | LONG Right, | ||
| 278 | LONG Bottom ) noexcept | ||
| 279 | { | ||
| 280 | left = static_cast<UINT>(Left); | ||
| 281 | top = static_cast<UINT>(Top); | ||
| 282 | front = 0; | ||
| 283 | right = static_cast<UINT>(Right); | ||
| 284 | bottom = static_cast<UINT>(Bottom); | ||
| 285 | back = 1; | ||
| 286 | } | ||
| 287 | explicit CD3DX12_BOX( | ||
| 288 | LONG Left, | ||
| 289 | LONG Top, | ||
| 290 | LONG Front, | ||
| 291 | LONG Right, | ||
| 292 | LONG Bottom, | ||
| 293 | LONG Back ) noexcept | ||
| 294 | { | ||
| 295 | left = static_cast<UINT>(Left); | ||
| 296 | top = static_cast<UINT>(Top); | ||
| 297 | front = static_cast<UINT>(Front); | ||
| 298 | right = static_cast<UINT>(Right); | ||
| 299 | bottom = static_cast<UINT>(Bottom); | ||
| 300 | back = static_cast<UINT>(Back); | ||
| 301 | } | ||
| 302 | }; | ||
| 303 | inline bool operator==( const D3D12_BOX& l, const D3D12_BOX& r ) noexcept | ||
| 304 | { | ||
| 305 | return l.left == r.left && l.top == r.top && l.front == r.front && | ||
| 306 | l.right == r.right && l.bottom == r.bottom && l.back == r.back; | ||
| 307 | } | ||
| 308 | inline bool operator!=( const D3D12_BOX& l, const D3D12_BOX& r ) noexcept | ||
| 309 | { return !( l == r ); } | ||
| 310 | |||
| 311 | //------------------------------------------------------------------------------------------------ | ||
| 312 | struct CD3DX12_DEPTH_STENCIL_DESC : public D3D12_DEPTH_STENCIL_DESC | ||
| 313 | { | ||
| 314 | CD3DX12_DEPTH_STENCIL_DESC() = default; | ||
| 315 | explicit CD3DX12_DEPTH_STENCIL_DESC( const D3D12_DEPTH_STENCIL_DESC& o ) noexcept : | ||
| 316 | D3D12_DEPTH_STENCIL_DESC( o ) | ||
| 317 | {} | ||
| 318 | explicit CD3DX12_DEPTH_STENCIL_DESC( CD3DX12_DEFAULT ) noexcept | ||
| 319 | { | ||
| 320 | DepthEnable = TRUE; | ||
| 321 | DepthWriteMask = D3D12_DEPTH_WRITE_MASK_ALL; | ||
| 322 | DepthFunc = D3D12_COMPARISON_FUNC_LESS; | ||
| 323 | StencilEnable = FALSE; | ||
| 324 | StencilReadMask = D3D12_DEFAULT_STENCIL_READ_MASK; | ||
| 325 | StencilWriteMask = D3D12_DEFAULT_STENCIL_WRITE_MASK; | ||
| 326 | const D3D12_DEPTH_STENCILOP_DESC defaultStencilOp = | ||
| 327 | { D3D12_STENCIL_OP_KEEP, D3D12_STENCIL_OP_KEEP, D3D12_STENCIL_OP_KEEP, D3D12_COMPARISON_FUNC_ALWAYS }; | ||
| 328 | FrontFace = defaultStencilOp; | ||
| 329 | BackFace = defaultStencilOp; | ||
| 330 | } | ||
| 331 | explicit CD3DX12_DEPTH_STENCIL_DESC( | ||
| 332 | BOOL depthEnable, | ||
| 333 | D3D12_DEPTH_WRITE_MASK depthWriteMask, | ||
| 334 | D3D12_COMPARISON_FUNC depthFunc, | ||
| 335 | BOOL stencilEnable, | ||
| 336 | UINT8 stencilReadMask, | ||
| 337 | UINT8 stencilWriteMask, | ||
| 338 | D3D12_STENCIL_OP frontStencilFailOp, | ||
| 339 | D3D12_STENCIL_OP frontStencilDepthFailOp, | ||
| 340 | D3D12_STENCIL_OP frontStencilPassOp, | ||
| 341 | D3D12_COMPARISON_FUNC frontStencilFunc, | ||
| 342 | D3D12_STENCIL_OP backStencilFailOp, | ||
| 343 | D3D12_STENCIL_OP backStencilDepthFailOp, | ||
| 344 | D3D12_STENCIL_OP backStencilPassOp, | ||
| 345 | D3D12_COMPARISON_FUNC backStencilFunc ) noexcept | ||
| 346 | { | ||
| 347 | DepthEnable = depthEnable; | ||
| 348 | DepthWriteMask = depthWriteMask; | ||
| 349 | DepthFunc = depthFunc; | ||
| 350 | StencilEnable = stencilEnable; | ||
| 351 | StencilReadMask = stencilReadMask; | ||
| 352 | StencilWriteMask = stencilWriteMask; | ||
| 353 | FrontFace.StencilFailOp = frontStencilFailOp; | ||
| 354 | FrontFace.StencilDepthFailOp = frontStencilDepthFailOp; | ||
| 355 | FrontFace.StencilPassOp = frontStencilPassOp; | ||
| 356 | FrontFace.StencilFunc = frontStencilFunc; | ||
| 357 | BackFace.StencilFailOp = backStencilFailOp; | ||
| 358 | BackFace.StencilDepthFailOp = backStencilDepthFailOp; | ||
| 359 | BackFace.StencilPassOp = backStencilPassOp; | ||
| 360 | BackFace.StencilFunc = backStencilFunc; | ||
| 361 | } | ||
| 362 | }; | ||
| 363 | |||
| 364 | //------------------------------------------------------------------------------------------------ | ||
| 365 | struct CD3DX12_DEPTH_STENCIL_DESC1 : public D3D12_DEPTH_STENCIL_DESC1 | ||
| 366 | { | ||
| 367 | CD3DX12_DEPTH_STENCIL_DESC1() = default; | ||
| 368 | explicit CD3DX12_DEPTH_STENCIL_DESC1( const D3D12_DEPTH_STENCIL_DESC1& o ) noexcept : | ||
| 369 | D3D12_DEPTH_STENCIL_DESC1( o ) | ||
| 370 | {} | ||
| 371 | explicit CD3DX12_DEPTH_STENCIL_DESC1( const D3D12_DEPTH_STENCIL_DESC& o ) noexcept | ||
| 372 | { | ||
| 373 | DepthEnable = o.DepthEnable; | ||
| 374 | DepthWriteMask = o.DepthWriteMask; | ||
| 375 | DepthFunc = o.DepthFunc; | ||
| 376 | StencilEnable = o.StencilEnable; | ||
| 377 | StencilReadMask = o.StencilReadMask; | ||
| 378 | StencilWriteMask = o.StencilWriteMask; | ||
| 379 | FrontFace.StencilFailOp = o.FrontFace.StencilFailOp; | ||
| 380 | FrontFace.StencilDepthFailOp = o.FrontFace.StencilDepthFailOp; | ||
| 381 | FrontFace.StencilPassOp = o.FrontFace.StencilPassOp; | ||
| 382 | FrontFace.StencilFunc = o.FrontFace.StencilFunc; | ||
| 383 | BackFace.StencilFailOp = o.BackFace.StencilFailOp; | ||
| 384 | BackFace.StencilDepthFailOp = o.BackFace.StencilDepthFailOp; | ||
| 385 | BackFace.StencilPassOp = o.BackFace.StencilPassOp; | ||
| 386 | BackFace.StencilFunc = o.BackFace.StencilFunc; | ||
| 387 | DepthBoundsTestEnable = FALSE; | ||
| 388 | } | ||
| 389 | explicit CD3DX12_DEPTH_STENCIL_DESC1( CD3DX12_DEFAULT ) noexcept | ||
| 390 | { | ||
| 391 | DepthEnable = TRUE; | ||
| 392 | DepthWriteMask = D3D12_DEPTH_WRITE_MASK_ALL; | ||
| 393 | DepthFunc = D3D12_COMPARISON_FUNC_LESS; | ||
| 394 | StencilEnable = FALSE; | ||
| 395 | StencilReadMask = D3D12_DEFAULT_STENCIL_READ_MASK; | ||
| 396 | StencilWriteMask = D3D12_DEFAULT_STENCIL_WRITE_MASK; | ||
| 397 | const D3D12_DEPTH_STENCILOP_DESC defaultStencilOp = | ||
| 398 | { D3D12_STENCIL_OP_KEEP, D3D12_STENCIL_OP_KEEP, D3D12_STENCIL_OP_KEEP, D3D12_COMPARISON_FUNC_ALWAYS }; | ||
| 399 | FrontFace = defaultStencilOp; | ||
| 400 | BackFace = defaultStencilOp; | ||
| 401 | DepthBoundsTestEnable = FALSE; | ||
| 402 | } | ||
| 403 | explicit CD3DX12_DEPTH_STENCIL_DESC1( | ||
| 404 | BOOL depthEnable, | ||
| 405 | D3D12_DEPTH_WRITE_MASK depthWriteMask, | ||
| 406 | D3D12_COMPARISON_FUNC depthFunc, | ||
| 407 | BOOL stencilEnable, | ||
| 408 | UINT8 stencilReadMask, | ||
| 409 | UINT8 stencilWriteMask, | ||
| 410 | D3D12_STENCIL_OP frontStencilFailOp, | ||
| 411 | D3D12_STENCIL_OP frontStencilDepthFailOp, | ||
| 412 | D3D12_STENCIL_OP frontStencilPassOp, | ||
| 413 | D3D12_COMPARISON_FUNC frontStencilFunc, | ||
| 414 | D3D12_STENCIL_OP backStencilFailOp, | ||
| 415 | D3D12_STENCIL_OP backStencilDepthFailOp, | ||
| 416 | D3D12_STENCIL_OP backStencilPassOp, | ||
| 417 | D3D12_COMPARISON_FUNC backStencilFunc, | ||
| 418 | BOOL depthBoundsTestEnable ) noexcept | ||
| 419 | { | ||
| 420 | DepthEnable = depthEnable; | ||
| 421 | DepthWriteMask = depthWriteMask; | ||
| 422 | DepthFunc = depthFunc; | ||
| 423 | StencilEnable = stencilEnable; | ||
| 424 | StencilReadMask = stencilReadMask; | ||
| 425 | StencilWriteMask = stencilWriteMask; | ||
| 426 | FrontFace.StencilFailOp = frontStencilFailOp; | ||
| 427 | FrontFace.StencilDepthFailOp = frontStencilDepthFailOp; | ||
| 428 | FrontFace.StencilPassOp = frontStencilPassOp; | ||
| 429 | FrontFace.StencilFunc = frontStencilFunc; | ||
| 430 | BackFace.StencilFailOp = backStencilFailOp; | ||
| 431 | BackFace.StencilDepthFailOp = backStencilDepthFailOp; | ||
| 432 | BackFace.StencilPassOp = backStencilPassOp; | ||
| 433 | BackFace.StencilFunc = backStencilFunc; | ||
| 434 | DepthBoundsTestEnable = depthBoundsTestEnable; | ||
| 435 | } | ||
| 436 | operator D3D12_DEPTH_STENCIL_DESC() const noexcept | ||
| 437 | { | ||
| 438 | D3D12_DEPTH_STENCIL_DESC D; | ||
| 439 | D.DepthEnable = DepthEnable; | ||
| 440 | D.DepthWriteMask = DepthWriteMask; | ||
| 441 | D.DepthFunc = DepthFunc; | ||
| 442 | D.StencilEnable = StencilEnable; | ||
| 443 | D.StencilReadMask = StencilReadMask; | ||
| 444 | D.StencilWriteMask = StencilWriteMask; | ||
| 445 | D.FrontFace.StencilFailOp = FrontFace.StencilFailOp; | ||
| 446 | D.FrontFace.StencilDepthFailOp = FrontFace.StencilDepthFailOp; | ||
| 447 | D.FrontFace.StencilPassOp = FrontFace.StencilPassOp; | ||
| 448 | D.FrontFace.StencilFunc = FrontFace.StencilFunc; | ||
| 449 | D.BackFace.StencilFailOp = BackFace.StencilFailOp; | ||
| 450 | D.BackFace.StencilDepthFailOp = BackFace.StencilDepthFailOp; | ||
| 451 | D.BackFace.StencilPassOp = BackFace.StencilPassOp; | ||
| 452 | D.BackFace.StencilFunc = BackFace.StencilFunc; | ||
| 453 | return D; | ||
| 454 | } | ||
| 455 | }; | ||
| 456 | |||
| 457 | //------------------------------------------------------------------------------------------------ | ||
| 458 | #if defined(D3D12_SDK_VERSION) && (D3D12_SDK_VERSION >= 606) | ||
| 459 | struct CD3DX12_DEPTH_STENCIL_DESC2 : public D3D12_DEPTH_STENCIL_DESC2 | ||
| 460 | { | ||
| 461 | CD3DX12_DEPTH_STENCIL_DESC2() = default; | ||
| 462 | explicit CD3DX12_DEPTH_STENCIL_DESC2( const D3D12_DEPTH_STENCIL_DESC2& o ) noexcept : | ||
| 463 | D3D12_DEPTH_STENCIL_DESC2( o ) | ||
| 464 | {} | ||
| 465 | explicit CD3DX12_DEPTH_STENCIL_DESC2( const D3D12_DEPTH_STENCIL_DESC1& o ) noexcept | ||
| 466 | { | ||
| 467 | DepthEnable = o.DepthEnable; | ||
| 468 | DepthWriteMask = o.DepthWriteMask; | ||
| 469 | DepthFunc = o.DepthFunc; | ||
| 470 | StencilEnable = o.StencilEnable; | ||
| 471 | FrontFace.StencilFailOp = o.FrontFace.StencilFailOp; | ||
| 472 | FrontFace.StencilDepthFailOp = o.FrontFace.StencilDepthFailOp; | ||
| 473 | FrontFace.StencilPassOp = o.FrontFace.StencilPassOp; | ||
| 474 | FrontFace.StencilFunc = o.FrontFace.StencilFunc; | ||
| 475 | FrontFace.StencilReadMask = o.StencilReadMask; | ||
| 476 | FrontFace.StencilWriteMask = o.StencilWriteMask; | ||
| 477 | |||
| 478 | BackFace.StencilFailOp = o.BackFace.StencilFailOp; | ||
| 479 | BackFace.StencilDepthFailOp = o.BackFace.StencilDepthFailOp; | ||
| 480 | BackFace.StencilPassOp = o.BackFace.StencilPassOp; | ||
| 481 | BackFace.StencilFunc = o.BackFace.StencilFunc; | ||
| 482 | BackFace.StencilReadMask = o.StencilReadMask; | ||
| 483 | BackFace.StencilWriteMask = o.StencilWriteMask; | ||
| 484 | DepthBoundsTestEnable = o.DepthBoundsTestEnable; | ||
| 485 | } | ||
| 486 | explicit CD3DX12_DEPTH_STENCIL_DESC2( const D3D12_DEPTH_STENCIL_DESC& o ) noexcept | ||
| 487 | { | ||
| 488 | DepthEnable = o.DepthEnable; | ||
| 489 | DepthWriteMask = o.DepthWriteMask; | ||
| 490 | DepthFunc = o.DepthFunc; | ||
| 491 | StencilEnable = o.StencilEnable; | ||
| 492 | |||
| 493 | FrontFace.StencilFailOp = o.FrontFace.StencilFailOp; | ||
| 494 | FrontFace.StencilDepthFailOp = o.FrontFace.StencilDepthFailOp; | ||
| 495 | FrontFace.StencilPassOp = o.FrontFace.StencilPassOp; | ||
| 496 | FrontFace.StencilFunc = o.FrontFace.StencilFunc; | ||
| 497 | FrontFace.StencilReadMask = o.StencilReadMask; | ||
| 498 | FrontFace.StencilWriteMask = o.StencilWriteMask; | ||
| 499 | |||
| 500 | BackFace.StencilFailOp = o.BackFace.StencilFailOp; | ||
| 501 | BackFace.StencilDepthFailOp = o.BackFace.StencilDepthFailOp; | ||
| 502 | BackFace.StencilPassOp = o.BackFace.StencilPassOp; | ||
| 503 | BackFace.StencilFunc = o.BackFace.StencilFunc; | ||
| 504 | BackFace.StencilReadMask = o.StencilReadMask; | ||
| 505 | BackFace.StencilWriteMask = o.StencilWriteMask; | ||
| 506 | |||
| 507 | DepthBoundsTestEnable = FALSE; | ||
| 508 | } | ||
| 509 | explicit CD3DX12_DEPTH_STENCIL_DESC2( CD3DX12_DEFAULT ) noexcept | ||
| 510 | { | ||
| 511 | DepthEnable = TRUE; | ||
| 512 | DepthWriteMask = D3D12_DEPTH_WRITE_MASK_ALL; | ||
| 513 | DepthFunc = D3D12_COMPARISON_FUNC_LESS; | ||
| 514 | StencilEnable = FALSE; | ||
| 515 | const D3D12_DEPTH_STENCILOP_DESC1 defaultStencilOp = | ||
| 516 | { D3D12_STENCIL_OP_KEEP, D3D12_STENCIL_OP_KEEP, D3D12_STENCIL_OP_KEEP, D3D12_COMPARISON_FUNC_ALWAYS, D3D12_DEFAULT_STENCIL_READ_MASK, D3D12_DEFAULT_STENCIL_WRITE_MASK }; | ||
| 517 | FrontFace = defaultStencilOp; | ||
| 518 | BackFace = defaultStencilOp; | ||
| 519 | DepthBoundsTestEnable = FALSE; | ||
| 520 | } | ||
| 521 | explicit CD3DX12_DEPTH_STENCIL_DESC2( | ||
| 522 | BOOL depthEnable, | ||
| 523 | D3D12_DEPTH_WRITE_MASK depthWriteMask, | ||
| 524 | D3D12_COMPARISON_FUNC depthFunc, | ||
| 525 | BOOL stencilEnable, | ||
| 526 | D3D12_STENCIL_OP frontStencilFailOp, | ||
| 527 | D3D12_STENCIL_OP frontStencilDepthFailOp, | ||
| 528 | D3D12_STENCIL_OP frontStencilPassOp, | ||
| 529 | D3D12_COMPARISON_FUNC frontStencilFunc, | ||
| 530 | UINT8 frontStencilReadMask, | ||
| 531 | UINT8 frontStencilWriteMask, | ||
| 532 | D3D12_STENCIL_OP backStencilFailOp, | ||
| 533 | D3D12_STENCIL_OP backStencilDepthFailOp, | ||
| 534 | D3D12_STENCIL_OP backStencilPassOp, | ||
| 535 | D3D12_COMPARISON_FUNC backStencilFunc, | ||
| 536 | UINT8 backStencilReadMask, | ||
| 537 | UINT8 backStencilWriteMask, | ||
| 538 | BOOL depthBoundsTestEnable ) noexcept | ||
| 539 | { | ||
| 540 | DepthEnable = depthEnable; | ||
| 541 | DepthWriteMask = depthWriteMask; | ||
| 542 | DepthFunc = depthFunc; | ||
| 543 | StencilEnable = stencilEnable; | ||
| 544 | |||
| 545 | FrontFace.StencilFailOp = frontStencilFailOp; | ||
| 546 | FrontFace.StencilDepthFailOp = frontStencilDepthFailOp; | ||
| 547 | FrontFace.StencilPassOp = frontStencilPassOp; | ||
| 548 | FrontFace.StencilFunc = frontStencilFunc; | ||
| 549 | FrontFace.StencilReadMask = frontStencilReadMask; | ||
| 550 | FrontFace.StencilWriteMask = frontStencilWriteMask; | ||
| 551 | |||
| 552 | BackFace.StencilFailOp = backStencilFailOp; | ||
| 553 | BackFace.StencilDepthFailOp = backStencilDepthFailOp; | ||
| 554 | BackFace.StencilPassOp = backStencilPassOp; | ||
| 555 | BackFace.StencilFunc = backStencilFunc; | ||
| 556 | BackFace.StencilReadMask = backStencilReadMask; | ||
| 557 | BackFace.StencilWriteMask = backStencilWriteMask; | ||
| 558 | |||
| 559 | DepthBoundsTestEnable = depthBoundsTestEnable; | ||
| 560 | } | ||
| 561 | |||
| 562 | operator D3D12_DEPTH_STENCIL_DESC() const noexcept | ||
| 563 | { | ||
| 564 | D3D12_DEPTH_STENCIL_DESC D; | ||
| 565 | D.DepthEnable = DepthEnable; | ||
| 566 | D.DepthWriteMask = DepthWriteMask; | ||
| 567 | D.DepthFunc = DepthFunc; | ||
| 568 | D.StencilEnable = StencilEnable; | ||
| 569 | D.StencilReadMask = FrontFace.StencilReadMask; | ||
| 570 | D.StencilWriteMask = FrontFace.StencilWriteMask; | ||
| 571 | D.FrontFace.StencilFailOp = FrontFace.StencilFailOp; | ||
| 572 | D.FrontFace.StencilDepthFailOp = FrontFace.StencilDepthFailOp; | ||
| 573 | D.FrontFace.StencilPassOp = FrontFace.StencilPassOp; | ||
| 574 | D.FrontFace.StencilFunc = FrontFace.StencilFunc; | ||
| 575 | D.BackFace.StencilFailOp = BackFace.StencilFailOp; | ||
| 576 | D.BackFace.StencilDepthFailOp = BackFace.StencilDepthFailOp; | ||
| 577 | D.BackFace.StencilPassOp = BackFace.StencilPassOp; | ||
| 578 | D.BackFace.StencilFunc = BackFace.StencilFunc; | ||
| 579 | return D; | ||
| 580 | } | ||
| 581 | }; | ||
| 582 | #endif // D3D12_SDK_VERSION >= 606 | ||
| 583 | |||
| 584 | //------------------------------------------------------------------------------------------------ | ||
| 585 | struct CD3DX12_BLEND_DESC : public D3D12_BLEND_DESC | ||
| 586 | { | ||
| 587 | CD3DX12_BLEND_DESC() = default; | ||
| 588 | explicit CD3DX12_BLEND_DESC( const D3D12_BLEND_DESC& o ) noexcept : | ||
| 589 | D3D12_BLEND_DESC( o ) | ||
| 590 | {} | ||
| 591 | explicit CD3DX12_BLEND_DESC( CD3DX12_DEFAULT ) noexcept | ||
| 592 | { | ||
| 593 | AlphaToCoverageEnable = FALSE; | ||
| 594 | IndependentBlendEnable = FALSE; | ||
| 595 | const D3D12_RENDER_TARGET_BLEND_DESC defaultRenderTargetBlendDesc = | ||
| 596 | { | ||
| 597 | FALSE,FALSE, | ||
| 598 | D3D12_BLEND_ONE, D3D12_BLEND_ZERO, D3D12_BLEND_OP_ADD, | ||
| 599 | D3D12_BLEND_ONE, D3D12_BLEND_ZERO, D3D12_BLEND_OP_ADD, | ||
| 600 | D3D12_LOGIC_OP_NOOP, | ||
| 601 | D3D12_COLOR_WRITE_ENABLE_ALL, | ||
| 602 | }; | ||
| 603 | for (UINT i = 0; i < D3D12_SIMULTANEOUS_RENDER_TARGET_COUNT; ++i) | ||
| 604 | RenderTarget[ i ] = defaultRenderTargetBlendDesc; | ||
| 605 | } | ||
| 606 | }; | ||
| 607 | |||
| 608 | //------------------------------------------------------------------------------------------------ | ||
| 609 | struct CD3DX12_RASTERIZER_DESC : public D3D12_RASTERIZER_DESC | ||
| 610 | { | ||
| 611 | CD3DX12_RASTERIZER_DESC() = default; | ||
| 612 | explicit CD3DX12_RASTERIZER_DESC( const D3D12_RASTERIZER_DESC& o ) noexcept : | ||
| 613 | D3D12_RASTERIZER_DESC( o ) | ||
| 614 | {} | ||
| 615 | explicit CD3DX12_RASTERIZER_DESC( CD3DX12_DEFAULT ) noexcept | ||
| 616 | { | ||
| 617 | FillMode = D3D12_FILL_MODE_SOLID; | ||
| 618 | CullMode = D3D12_CULL_MODE_BACK; | ||
| 619 | FrontCounterClockwise = FALSE; | ||
| 620 | DepthBias = D3D12_DEFAULT_DEPTH_BIAS; | ||
| 621 | DepthBiasClamp = D3D12_DEFAULT_DEPTH_BIAS_CLAMP; | ||
| 622 | SlopeScaledDepthBias = D3D12_DEFAULT_SLOPE_SCALED_DEPTH_BIAS; | ||
| 623 | DepthClipEnable = TRUE; | ||
| 624 | MultisampleEnable = FALSE; | ||
| 625 | AntialiasedLineEnable = FALSE; | ||
| 626 | ForcedSampleCount = 0; | ||
| 627 | ConservativeRaster = D3D12_CONSERVATIVE_RASTERIZATION_MODE_OFF; | ||
| 628 | } | ||
| 629 | explicit CD3DX12_RASTERIZER_DESC( | ||
| 630 | D3D12_FILL_MODE fillMode, | ||
| 631 | D3D12_CULL_MODE cullMode, | ||
| 632 | BOOL frontCounterClockwise, | ||
| 633 | INT depthBias, | ||
| 634 | FLOAT depthBiasClamp, | ||
| 635 | FLOAT slopeScaledDepthBias, | ||
| 636 | BOOL depthClipEnable, | ||
| 637 | BOOL multisampleEnable, | ||
| 638 | BOOL antialiasedLineEnable, | ||
| 639 | UINT forcedSampleCount, | ||
| 640 | D3D12_CONSERVATIVE_RASTERIZATION_MODE conservativeRaster) noexcept | ||
| 641 | { | ||
| 642 | FillMode = fillMode; | ||
| 643 | CullMode = cullMode; | ||
| 644 | FrontCounterClockwise = frontCounterClockwise; | ||
| 645 | DepthBias = depthBias; | ||
| 646 | DepthBiasClamp = depthBiasClamp; | ||
| 647 | SlopeScaledDepthBias = slopeScaledDepthBias; | ||
| 648 | DepthClipEnable = depthClipEnable; | ||
| 649 | MultisampleEnable = multisampleEnable; | ||
| 650 | AntialiasedLineEnable = antialiasedLineEnable; | ||
| 651 | ForcedSampleCount = forcedSampleCount; | ||
| 652 | ConservativeRaster = conservativeRaster; | ||
| 653 | } | ||
| 654 | }; | ||
| 655 | |||
| 656 | |||
| 657 | //------------------------------------------------------------------------------------------------ | ||
| 658 | #if defined(D3D12_SDK_VERSION) && (D3D12_SDK_VERSION >= 608) | ||
| 659 | struct CD3DX12_RASTERIZER_DESC1 : public D3D12_RASTERIZER_DESC1 | ||
| 660 | { | ||
| 661 | CD3DX12_RASTERIZER_DESC1() = default; | ||
| 662 | explicit CD3DX12_RASTERIZER_DESC1(const D3D12_RASTERIZER_DESC1& o) noexcept : | ||
| 663 | D3D12_RASTERIZER_DESC1(o) | ||
| 664 | |||
| 665 | { | ||
| 666 | } | ||
| 667 | explicit CD3DX12_RASTERIZER_DESC1(const D3D12_RASTERIZER_DESC& o) noexcept | ||
| 668 | { | ||
| 669 | FillMode = o.FillMode; | ||
| 670 | CullMode = o.CullMode; | ||
| 671 | FrontCounterClockwise = o.FrontCounterClockwise; | ||
| 672 | DepthBias = static_cast<FLOAT>(o.DepthBias); | ||
| 673 | DepthBiasClamp = o.DepthBiasClamp; | ||
| 674 | SlopeScaledDepthBias = o.SlopeScaledDepthBias; | ||
| 675 | DepthClipEnable = o.DepthClipEnable; | ||
| 676 | MultisampleEnable = o.MultisampleEnable; | ||
| 677 | AntialiasedLineEnable = o.AntialiasedLineEnable; | ||
| 678 | ForcedSampleCount = o.ForcedSampleCount; | ||
| 679 | ConservativeRaster = o.ConservativeRaster; | ||
| 680 | } | ||
| 681 | explicit CD3DX12_RASTERIZER_DESC1(CD3DX12_DEFAULT) noexcept | ||
| 682 | { | ||
| 683 | FillMode = D3D12_FILL_MODE_SOLID; | ||
| 684 | CullMode = D3D12_CULL_MODE_BACK; | ||
| 685 | FrontCounterClockwise = FALSE; | ||
| 686 | DepthBias = D3D12_DEFAULT_DEPTH_BIAS; | ||
| 687 | DepthBiasClamp = D3D12_DEFAULT_DEPTH_BIAS_CLAMP; | ||
| 688 | SlopeScaledDepthBias = D3D12_DEFAULT_SLOPE_SCALED_DEPTH_BIAS; | ||
| 689 | DepthClipEnable = TRUE; | ||
| 690 | MultisampleEnable = FALSE; | ||
| 691 | AntialiasedLineEnable = FALSE; | ||
| 692 | ForcedSampleCount = 0; | ||
| 693 | ConservativeRaster = D3D12_CONSERVATIVE_RASTERIZATION_MODE_OFF; | ||
| 694 | } | ||
| 695 | explicit CD3DX12_RASTERIZER_DESC1( | ||
| 696 | D3D12_FILL_MODE fillMode, | ||
| 697 | D3D12_CULL_MODE cullMode, | ||
| 698 | BOOL frontCounterClockwise, | ||
| 699 | FLOAT depthBias, | ||
| 700 | FLOAT depthBiasClamp, | ||
| 701 | FLOAT slopeScaledDepthBias, | ||
| 702 | BOOL depthClipEnable, | ||
| 703 | BOOL multisampleEnable, | ||
| 704 | BOOL antialiasedLineEnable, | ||
| 705 | UINT forcedSampleCount, | ||
| 706 | D3D12_CONSERVATIVE_RASTERIZATION_MODE conservativeRaster) noexcept | ||
| 707 | { | ||
| 708 | FillMode = fillMode; | ||
| 709 | CullMode = cullMode; | ||
| 710 | FrontCounterClockwise = frontCounterClockwise; | ||
| 711 | DepthBias = depthBias; | ||
| 712 | DepthBiasClamp = depthBiasClamp; | ||
| 713 | SlopeScaledDepthBias = slopeScaledDepthBias; | ||
| 714 | DepthClipEnable = depthClipEnable; | ||
| 715 | MultisampleEnable = multisampleEnable; | ||
| 716 | AntialiasedLineEnable = antialiasedLineEnable; | ||
| 717 | ForcedSampleCount = forcedSampleCount; | ||
| 718 | ConservativeRaster = conservativeRaster; | ||
| 719 | } | ||
| 720 | |||
| 721 | |||
| 722 | operator D3D12_RASTERIZER_DESC() const noexcept | ||
| 723 | { | ||
| 724 | D3D12_RASTERIZER_DESC o; | ||
| 725 | |||
| 726 | o.FillMode = FillMode; | ||
| 727 | o.CullMode = CullMode; | ||
| 728 | o.FrontCounterClockwise = FrontCounterClockwise; | ||
| 729 | o.DepthBias = static_cast<INT>(DepthBias); | ||
| 730 | o.DepthBiasClamp = DepthBiasClamp; | ||
| 731 | o.SlopeScaledDepthBias = SlopeScaledDepthBias; | ||
| 732 | o.DepthClipEnable = DepthClipEnable; | ||
| 733 | o.MultisampleEnable = MultisampleEnable; | ||
| 734 | o.AntialiasedLineEnable = AntialiasedLineEnable; | ||
| 735 | o.ForcedSampleCount = ForcedSampleCount; | ||
| 736 | o.ConservativeRaster = ConservativeRaster; | ||
| 737 | |||
| 738 | return o; | ||
| 739 | } | ||
| 740 | }; | ||
| 741 | #endif // D3D12_SDK_VERSION >= 608 | ||
| 742 | |||
| 743 | //------------------------------------------------------------------------------------------------ | ||
| 744 | #if defined(D3D12_SDK_VERSION) && (D3D12_SDK_VERSION >= 610) | ||
| 745 | struct CD3DX12_RASTERIZER_DESC2 : public D3D12_RASTERIZER_DESC2 | ||
| 746 | { | ||
| 747 | CD3DX12_RASTERIZER_DESC2() = default; | ||
| 748 | explicit CD3DX12_RASTERIZER_DESC2(const D3D12_RASTERIZER_DESC2& o) noexcept : | ||
| 749 | D3D12_RASTERIZER_DESC2(o) | ||
| 750 | |||
| 751 | { | ||
| 752 | } | ||
| 753 | explicit CD3DX12_RASTERIZER_DESC2(const D3D12_RASTERIZER_DESC1& o) noexcept | ||
| 754 | { | ||
| 755 | FillMode = o.FillMode; | ||
| 756 | CullMode = o.CullMode; | ||
| 757 | FrontCounterClockwise = o.FrontCounterClockwise; | ||
| 758 | DepthBias = o.DepthBias; | ||
| 759 | DepthBiasClamp = o.DepthBiasClamp; | ||
| 760 | SlopeScaledDepthBias = o.SlopeScaledDepthBias; | ||
| 761 | DepthClipEnable = o.DepthClipEnable; | ||
| 762 | LineRasterizationMode = D3D12_LINE_RASTERIZATION_MODE_ALIASED; | ||
| 763 | if (o.MultisampleEnable) | ||
| 764 | { | ||
| 765 | LineRasterizationMode = D3D12_LINE_RASTERIZATION_MODE_QUADRILATERAL_WIDE; | ||
| 766 | } | ||
| 767 | else if (o.AntialiasedLineEnable) | ||
| 768 | { | ||
| 769 | LineRasterizationMode = D3D12_LINE_RASTERIZATION_MODE_ALPHA_ANTIALIASED; | ||
| 770 | } | ||
| 771 | ForcedSampleCount = o.ForcedSampleCount; | ||
| 772 | ConservativeRaster = o.ConservativeRaster; | ||
| 773 | } | ||
| 774 | explicit CD3DX12_RASTERIZER_DESC2(const D3D12_RASTERIZER_DESC& o) noexcept | ||
| 775 | : CD3DX12_RASTERIZER_DESC2(CD3DX12_RASTERIZER_DESC1(o)) | ||
| 776 | { | ||
| 777 | } | ||
| 778 | explicit CD3DX12_RASTERIZER_DESC2(CD3DX12_DEFAULT) noexcept | ||
| 779 | { | ||
| 780 | FillMode = D3D12_FILL_MODE_SOLID; | ||
| 781 | CullMode = D3D12_CULL_MODE_BACK; | ||
| 782 | FrontCounterClockwise = FALSE; | ||
| 783 | DepthBias = D3D12_DEFAULT_DEPTH_BIAS; | ||
| 784 | DepthBiasClamp = D3D12_DEFAULT_DEPTH_BIAS_CLAMP; | ||
| 785 | SlopeScaledDepthBias = D3D12_DEFAULT_SLOPE_SCALED_DEPTH_BIAS; | ||
| 786 | DepthClipEnable = TRUE; | ||
| 787 | LineRasterizationMode = D3D12_LINE_RASTERIZATION_MODE_ALIASED; | ||
| 788 | ForcedSampleCount = 0; | ||
| 789 | ConservativeRaster = D3D12_CONSERVATIVE_RASTERIZATION_MODE_OFF; | ||
| 790 | } | ||
| 791 | explicit CD3DX12_RASTERIZER_DESC2( | ||
| 792 | D3D12_FILL_MODE fillMode, | ||
| 793 | D3D12_CULL_MODE cullMode, | ||
| 794 | BOOL frontCounterClockwise, | ||
| 795 | FLOAT depthBias, | ||
| 796 | FLOAT depthBiasClamp, | ||
| 797 | FLOAT slopeScaledDepthBias, | ||
| 798 | BOOL depthClipEnable, | ||
| 799 | D3D12_LINE_RASTERIZATION_MODE lineRasterizationMode, | ||
| 800 | UINT forcedSampleCount, | ||
| 801 | D3D12_CONSERVATIVE_RASTERIZATION_MODE conservativeRaster) noexcept | ||
| 802 | { | ||
| 803 | FillMode = fillMode; | ||
| 804 | CullMode = cullMode; | ||
| 805 | FrontCounterClockwise = frontCounterClockwise; | ||
| 806 | DepthBias = depthBias; | ||
| 807 | DepthBiasClamp = depthBiasClamp; | ||
| 808 | SlopeScaledDepthBias = slopeScaledDepthBias; | ||
| 809 | DepthClipEnable = depthClipEnable; | ||
| 810 | LineRasterizationMode = lineRasterizationMode; | ||
| 811 | ForcedSampleCount = forcedSampleCount; | ||
| 812 | ConservativeRaster = conservativeRaster; | ||
| 813 | } | ||
| 814 | |||
| 815 | |||
| 816 | operator D3D12_RASTERIZER_DESC1() const noexcept | ||
| 817 | { | ||
| 818 | D3D12_RASTERIZER_DESC1 o; | ||
| 819 | |||
| 820 | o.FillMode = FillMode; | ||
| 821 | o.CullMode = CullMode; | ||
| 822 | o.FrontCounterClockwise = FrontCounterClockwise; | ||
| 823 | o.DepthBias = DepthBias; | ||
| 824 | o.DepthBiasClamp = DepthBiasClamp; | ||
| 825 | o.SlopeScaledDepthBias = SlopeScaledDepthBias; | ||
| 826 | o.DepthClipEnable = DepthClipEnable; | ||
| 827 | o.MultisampleEnable = FALSE; | ||
| 828 | o.AntialiasedLineEnable = FALSE; | ||
| 829 | if (LineRasterizationMode == D3D12_LINE_RASTERIZATION_MODE_ALPHA_ANTIALIASED) | ||
| 830 | { | ||
| 831 | o.AntialiasedLineEnable = TRUE; | ||
| 832 | } | ||
| 833 | else if (LineRasterizationMode != D3D12_LINE_RASTERIZATION_MODE_ALIASED) | ||
| 834 | { | ||
| 835 | o.MultisampleEnable = TRUE; | ||
| 836 | } | ||
| 837 | o.ForcedSampleCount = ForcedSampleCount; | ||
| 838 | o.ConservativeRaster = ConservativeRaster; | ||
| 839 | |||
| 840 | return o; | ||
| 841 | } | ||
| 842 | operator D3D12_RASTERIZER_DESC() const noexcept | ||
| 843 | { | ||
| 844 | return static_cast<D3D12_RASTERIZER_DESC>(CD3DX12_RASTERIZER_DESC1(static_cast<D3D12_RASTERIZER_DESC1>(*this))); | ||
| 845 | } | ||
| 846 | }; | ||
| 847 | #endif // D3D12_SDK_VERSION >= 610 | ||
| 848 | |||
| 849 | //------------------------------------------------------------------------------------------------ | ||
| 850 | struct CD3DX12_RESOURCE_ALLOCATION_INFO : public D3D12_RESOURCE_ALLOCATION_INFO | ||
| 851 | { | ||
| 852 | CD3DX12_RESOURCE_ALLOCATION_INFO() = default; | ||
| 853 | explicit CD3DX12_RESOURCE_ALLOCATION_INFO( const D3D12_RESOURCE_ALLOCATION_INFO& o ) noexcept : | ||
| 854 | D3D12_RESOURCE_ALLOCATION_INFO( o ) | ||
| 855 | {} | ||
| 856 | CD3DX12_RESOURCE_ALLOCATION_INFO( | ||
| 857 | UINT64 size, | ||
| 858 | UINT64 alignment ) noexcept | ||
| 859 | { | ||
| 860 | SizeInBytes = size; | ||
| 861 | Alignment = alignment; | ||
| 862 | } | ||
| 863 | }; | ||
| 864 | |||
| 865 | //------------------------------------------------------------------------------------------------ | ||
| 866 | struct CD3DX12_HEAP_PROPERTIES : public D3D12_HEAP_PROPERTIES | ||
| 867 | { | ||
| 868 | CD3DX12_HEAP_PROPERTIES() = default; | ||
| 869 | explicit CD3DX12_HEAP_PROPERTIES(const D3D12_HEAP_PROPERTIES &o) noexcept : | ||
| 870 | D3D12_HEAP_PROPERTIES(o) | ||
| 871 | {} | ||
| 872 | CD3DX12_HEAP_PROPERTIES( | ||
| 873 | D3D12_CPU_PAGE_PROPERTY cpuPageProperty, | ||
| 874 | D3D12_MEMORY_POOL memoryPoolPreference, | ||
| 875 | UINT creationNodeMask = 1, | ||
| 876 | UINT nodeMask = 1 ) noexcept | ||
| 877 | { | ||
| 878 | Type = D3D12_HEAP_TYPE_CUSTOM; | ||
| 879 | CPUPageProperty = cpuPageProperty; | ||
| 880 | MemoryPoolPreference = memoryPoolPreference; | ||
| 881 | CreationNodeMask = creationNodeMask; | ||
| 882 | VisibleNodeMask = nodeMask; | ||
| 883 | } | ||
| 884 | explicit CD3DX12_HEAP_PROPERTIES( | ||
| 885 | D3D12_HEAP_TYPE type, | ||
| 886 | UINT creationNodeMask = 1, | ||
| 887 | UINT nodeMask = 1 ) noexcept | ||
| 888 | { | ||
| 889 | Type = type; | ||
| 890 | CPUPageProperty = D3D12_CPU_PAGE_PROPERTY_UNKNOWN; | ||
| 891 | MemoryPoolPreference = D3D12_MEMORY_POOL_UNKNOWN; | ||
| 892 | CreationNodeMask = creationNodeMask; | ||
| 893 | VisibleNodeMask = nodeMask; | ||
| 894 | } | ||
| 895 | bool IsCPUAccessible() const noexcept | ||
| 896 | { | ||
| 897 | return Type == D3D12_HEAP_TYPE_UPLOAD || Type == D3D12_HEAP_TYPE_READBACK | ||
| 898 | #if defined(D3D12_SDK_VERSION) && (D3D12_SDK_VERSION >= 609) | ||
| 899 | || Type == D3D12_HEAP_TYPE_GPU_UPLOAD | ||
| 900 | #endif | ||
| 901 | || (Type == D3D12_HEAP_TYPE_CUSTOM && | ||
| 902 | (CPUPageProperty == D3D12_CPU_PAGE_PROPERTY_WRITE_COMBINE || CPUPageProperty == D3D12_CPU_PAGE_PROPERTY_WRITE_BACK)); | ||
| 903 | } | ||
| 904 | }; | ||
| 905 | inline bool operator==( const D3D12_HEAP_PROPERTIES& l, const D3D12_HEAP_PROPERTIES& r ) noexcept | ||
| 906 | { | ||
| 907 | return l.Type == r.Type && l.CPUPageProperty == r.CPUPageProperty && | ||
| 908 | l.MemoryPoolPreference == r.MemoryPoolPreference && | ||
| 909 | l.CreationNodeMask == r.CreationNodeMask && | ||
| 910 | l.VisibleNodeMask == r.VisibleNodeMask; | ||
| 911 | } | ||
| 912 | inline bool operator!=( const D3D12_HEAP_PROPERTIES& l, const D3D12_HEAP_PROPERTIES& r ) noexcept | ||
| 913 | { return !( l == r ); } | ||
| 914 | |||
| 915 | //------------------------------------------------------------------------------------------------ | ||
| 916 | struct CD3DX12_HEAP_DESC : public D3D12_HEAP_DESC | ||
| 917 | { | ||
| 918 | CD3DX12_HEAP_DESC() = default; | ||
| 919 | explicit CD3DX12_HEAP_DESC(const D3D12_HEAP_DESC &o) noexcept : | ||
| 920 | D3D12_HEAP_DESC(o) | ||
| 921 | {} | ||
| 922 | CD3DX12_HEAP_DESC( | ||
| 923 | UINT64 size, | ||
| 924 | D3D12_HEAP_PROPERTIES properties, | ||
| 925 | UINT64 alignment = 0, | ||
| 926 | D3D12_HEAP_FLAGS flags = D3D12_HEAP_FLAG_NONE ) noexcept | ||
| 927 | { | ||
| 928 | SizeInBytes = size; | ||
| 929 | Properties = properties; | ||
| 930 | Alignment = alignment; | ||
| 931 | Flags = flags; | ||
| 932 | } | ||
| 933 | CD3DX12_HEAP_DESC( | ||
| 934 | UINT64 size, | ||
| 935 | D3D12_HEAP_TYPE type, | ||
| 936 | UINT64 alignment = 0, | ||
| 937 | D3D12_HEAP_FLAGS flags = D3D12_HEAP_FLAG_NONE ) noexcept | ||
| 938 | { | ||
| 939 | SizeInBytes = size; | ||
| 940 | Properties = CD3DX12_HEAP_PROPERTIES( type ); | ||
| 941 | Alignment = alignment; | ||
| 942 | Flags = flags; | ||
| 943 | } | ||
| 944 | CD3DX12_HEAP_DESC( | ||
| 945 | UINT64 size, | ||
| 946 | D3D12_CPU_PAGE_PROPERTY cpuPageProperty, | ||
| 947 | D3D12_MEMORY_POOL memoryPoolPreference, | ||
| 948 | UINT64 alignment = 0, | ||
| 949 | D3D12_HEAP_FLAGS flags = D3D12_HEAP_FLAG_NONE ) noexcept | ||
| 950 | { | ||
| 951 | SizeInBytes = size; | ||
| 952 | Properties = CD3DX12_HEAP_PROPERTIES( cpuPageProperty, memoryPoolPreference ); | ||
| 953 | Alignment = alignment; | ||
| 954 | Flags = flags; | ||
| 955 | } | ||
| 956 | CD3DX12_HEAP_DESC( | ||
| 957 | const D3D12_RESOURCE_ALLOCATION_INFO& resAllocInfo, | ||
| 958 | D3D12_HEAP_PROPERTIES properties, | ||
| 959 | D3D12_HEAP_FLAGS flags = D3D12_HEAP_FLAG_NONE ) noexcept | ||
| 960 | { | ||
| 961 | SizeInBytes = resAllocInfo.SizeInBytes; | ||
| 962 | Properties = properties; | ||
| 963 | Alignment = resAllocInfo.Alignment; | ||
| 964 | Flags = flags; | ||
| 965 | } | ||
| 966 | CD3DX12_HEAP_DESC( | ||
| 967 | const D3D12_RESOURCE_ALLOCATION_INFO& resAllocInfo, | ||
| 968 | D3D12_HEAP_TYPE type, | ||
| 969 | D3D12_HEAP_FLAGS flags = D3D12_HEAP_FLAG_NONE ) noexcept | ||
| 970 | { | ||
| 971 | SizeInBytes = resAllocInfo.SizeInBytes; | ||
| 972 | Properties = CD3DX12_HEAP_PROPERTIES( type ); | ||
| 973 | Alignment = resAllocInfo.Alignment; | ||
| 974 | Flags = flags; | ||
| 975 | } | ||
| 976 | CD3DX12_HEAP_DESC( | ||
| 977 | const D3D12_RESOURCE_ALLOCATION_INFO& resAllocInfo, | ||
| 978 | D3D12_CPU_PAGE_PROPERTY cpuPageProperty, | ||
| 979 | D3D12_MEMORY_POOL memoryPoolPreference, | ||
| 980 | D3D12_HEAP_FLAGS flags = D3D12_HEAP_FLAG_NONE ) noexcept | ||
| 981 | { | ||
| 982 | SizeInBytes = resAllocInfo.SizeInBytes; | ||
| 983 | Properties = CD3DX12_HEAP_PROPERTIES( cpuPageProperty, memoryPoolPreference ); | ||
| 984 | Alignment = resAllocInfo.Alignment; | ||
| 985 | Flags = flags; | ||
| 986 | } | ||
| 987 | bool IsCPUAccessible() const noexcept | ||
| 988 | { return static_cast< const CD3DX12_HEAP_PROPERTIES* >( &Properties )->IsCPUAccessible(); } | ||
| 989 | }; | ||
| 990 | inline bool operator==( const D3D12_HEAP_DESC& l, const D3D12_HEAP_DESC& r ) noexcept | ||
| 991 | { | ||
| 992 | return l.SizeInBytes == r.SizeInBytes && | ||
| 993 | l.Properties == r.Properties && | ||
| 994 | l.Alignment == r.Alignment && | ||
| 995 | l.Flags == r.Flags; | ||
| 996 | } | ||
| 997 | inline bool operator!=( const D3D12_HEAP_DESC& l, const D3D12_HEAP_DESC& r ) noexcept | ||
| 998 | { return !( l == r ); } | ||
| 999 | |||
| 1000 | //------------------------------------------------------------------------------------------------ | ||
| 1001 | struct CD3DX12_CLEAR_VALUE : public D3D12_CLEAR_VALUE | ||
| 1002 | { | ||
| 1003 | CD3DX12_CLEAR_VALUE() = default; | ||
| 1004 | explicit CD3DX12_CLEAR_VALUE(const D3D12_CLEAR_VALUE &o) noexcept : | ||
| 1005 | D3D12_CLEAR_VALUE(o) | ||
| 1006 | {} | ||
| 1007 | CD3DX12_CLEAR_VALUE( | ||
| 1008 | DXGI_FORMAT format, | ||
| 1009 | const FLOAT color[4] ) noexcept | ||
| 1010 | { | ||
| 1011 | Format = format; | ||
| 1012 | memcpy( Color, color, sizeof( Color ) ); | ||
| 1013 | } | ||
| 1014 | CD3DX12_CLEAR_VALUE( | ||
| 1015 | DXGI_FORMAT format, | ||
| 1016 | FLOAT depth, | ||
| 1017 | UINT8 stencil ) noexcept | ||
| 1018 | { | ||
| 1019 | Format = format; | ||
| 1020 | memset( &Color, 0, sizeof( Color ) ); | ||
| 1021 | /* Use memcpy to preserve NAN values */ | ||
| 1022 | memcpy( &DepthStencil.Depth, &depth, sizeof( depth ) ); | ||
| 1023 | DepthStencil.Stencil = stencil; | ||
| 1024 | } | ||
| 1025 | }; | ||
| 1026 | |||
| 1027 | //------------------------------------------------------------------------------------------------ | ||
| 1028 | inline bool operator==( const D3D12_CLEAR_VALUE &a, const D3D12_CLEAR_VALUE &b) noexcept | ||
| 1029 | { | ||
| 1030 | if (a.Format != b.Format) return false; | ||
| 1031 | if (a.Format == DXGI_FORMAT_D24_UNORM_S8_UINT | ||
| 1032 | || a.Format == DXGI_FORMAT_D16_UNORM | ||
| 1033 | || a.Format == DXGI_FORMAT_D32_FLOAT | ||
| 1034 | || a.Format == DXGI_FORMAT_D32_FLOAT_S8X24_UINT) | ||
| 1035 | { | ||
| 1036 | return (a.DepthStencil.Depth == b.DepthStencil.Depth) && | ||
| 1037 | (a.DepthStencil.Stencil == b.DepthStencil.Stencil); | ||
| 1038 | } else { | ||
| 1039 | return (a.Color[0] == b.Color[0]) && | ||
| 1040 | (a.Color[1] == b.Color[1]) && | ||
| 1041 | (a.Color[2] == b.Color[2]) && | ||
| 1042 | (a.Color[3] == b.Color[3]); | ||
| 1043 | } | ||
| 1044 | } | ||
| 1045 | |||
| 1046 | //------------------------------------------------------------------------------------------------ | ||
| 1047 | struct CD3DX12_RANGE : public D3D12_RANGE | ||
| 1048 | { | ||
| 1049 | CD3DX12_RANGE() = default; | ||
| 1050 | explicit CD3DX12_RANGE(const D3D12_RANGE &o) noexcept : | ||
| 1051 | D3D12_RANGE(o) | ||
| 1052 | {} | ||
| 1053 | CD3DX12_RANGE( | ||
| 1054 | SIZE_T begin, | ||
| 1055 | SIZE_T end ) noexcept | ||
| 1056 | { | ||
| 1057 | Begin = begin; | ||
| 1058 | End = end; | ||
| 1059 | } | ||
| 1060 | }; | ||
| 1061 | |||
| 1062 | //------------------------------------------------------------------------------------------------ | ||
| 1063 | struct CD3DX12_RANGE_UINT64 : public D3D12_RANGE_UINT64 | ||
| 1064 | { | ||
| 1065 | CD3DX12_RANGE_UINT64() = default; | ||
| 1066 | explicit CD3DX12_RANGE_UINT64(const D3D12_RANGE_UINT64 &o) noexcept : | ||
| 1067 | D3D12_RANGE_UINT64(o) | ||
| 1068 | {} | ||
| 1069 | CD3DX12_RANGE_UINT64( | ||
| 1070 | UINT64 begin, | ||
| 1071 | UINT64 end ) noexcept | ||
| 1072 | { | ||
| 1073 | Begin = begin; | ||
| 1074 | End = end; | ||
| 1075 | } | ||
| 1076 | }; | ||
| 1077 | |||
| 1078 | //------------------------------------------------------------------------------------------------ | ||
| 1079 | struct CD3DX12_SUBRESOURCE_RANGE_UINT64 : public D3D12_SUBRESOURCE_RANGE_UINT64 | ||
| 1080 | { | ||
| 1081 | CD3DX12_SUBRESOURCE_RANGE_UINT64() = default; | ||
| 1082 | explicit CD3DX12_SUBRESOURCE_RANGE_UINT64(const D3D12_SUBRESOURCE_RANGE_UINT64 &o) noexcept : | ||
| 1083 | D3D12_SUBRESOURCE_RANGE_UINT64(o) | ||
| 1084 | {} | ||
| 1085 | CD3DX12_SUBRESOURCE_RANGE_UINT64( | ||
| 1086 | UINT subresource, | ||
| 1087 | const D3D12_RANGE_UINT64& range ) noexcept | ||
| 1088 | { | ||
| 1089 | Subresource = subresource; | ||
| 1090 | Range = range; | ||
| 1091 | } | ||
| 1092 | CD3DX12_SUBRESOURCE_RANGE_UINT64( | ||
| 1093 | UINT subresource, | ||
| 1094 | UINT64 begin, | ||
| 1095 | UINT64 end ) noexcept | ||
| 1096 | { | ||
| 1097 | Subresource = subresource; | ||
| 1098 | Range.Begin = begin; | ||
| 1099 | Range.End = end; | ||
| 1100 | } | ||
| 1101 | }; | ||
| 1102 | |||
| 1103 | //------------------------------------------------------------------------------------------------ | ||
| 1104 | struct CD3DX12_SHADER_BYTECODE : public D3D12_SHADER_BYTECODE | ||
| 1105 | { | ||
| 1106 | CD3DX12_SHADER_BYTECODE() = default; | ||
| 1107 | explicit CD3DX12_SHADER_BYTECODE(const D3D12_SHADER_BYTECODE &o) noexcept : | ||
| 1108 | D3D12_SHADER_BYTECODE(o) | ||
| 1109 | {} | ||
| 1110 | CD3DX12_SHADER_BYTECODE( | ||
| 1111 | _In_ ID3DBlob* pShaderBlob ) noexcept | ||
| 1112 | { | ||
| 1113 | pShaderBytecode = pShaderBlob->GetBufferPointer(); | ||
| 1114 | BytecodeLength = pShaderBlob->GetBufferSize(); | ||
| 1115 | } | ||
| 1116 | CD3DX12_SHADER_BYTECODE( | ||
| 1117 | const void* _pShaderBytecode, | ||
| 1118 | SIZE_T bytecodeLength ) noexcept | ||
| 1119 | { | ||
| 1120 | pShaderBytecode = _pShaderBytecode; | ||
| 1121 | BytecodeLength = bytecodeLength; | ||
| 1122 | } | ||
| 1123 | }; | ||
| 1124 | |||
| 1125 | //------------------------------------------------------------------------------------------------ | ||
| 1126 | struct CD3DX12_TILED_RESOURCE_COORDINATE : public D3D12_TILED_RESOURCE_COORDINATE | ||
| 1127 | { | ||
| 1128 | CD3DX12_TILED_RESOURCE_COORDINATE() = default; | ||
| 1129 | explicit CD3DX12_TILED_RESOURCE_COORDINATE(const D3D12_TILED_RESOURCE_COORDINATE &o) noexcept : | ||
| 1130 | D3D12_TILED_RESOURCE_COORDINATE(o) | ||
| 1131 | {} | ||
| 1132 | CD3DX12_TILED_RESOURCE_COORDINATE( | ||
| 1133 | UINT x, | ||
| 1134 | UINT y, | ||
| 1135 | UINT z, | ||
| 1136 | UINT subresource ) noexcept | ||
| 1137 | { | ||
| 1138 | X = x; | ||
| 1139 | Y = y; | ||
| 1140 | Z = z; | ||
| 1141 | Subresource = subresource; | ||
| 1142 | } | ||
| 1143 | }; | ||
| 1144 | |||
| 1145 | //------------------------------------------------------------------------------------------------ | ||
| 1146 | struct CD3DX12_TILE_REGION_SIZE : public D3D12_TILE_REGION_SIZE | ||
| 1147 | { | ||
| 1148 | CD3DX12_TILE_REGION_SIZE() = default; | ||
| 1149 | explicit CD3DX12_TILE_REGION_SIZE(const D3D12_TILE_REGION_SIZE &o) noexcept : | ||
| 1150 | D3D12_TILE_REGION_SIZE(o) | ||
| 1151 | {} | ||
| 1152 | CD3DX12_TILE_REGION_SIZE( | ||
| 1153 | UINT numTiles, | ||
| 1154 | BOOL useBox, | ||
| 1155 | UINT width, | ||
| 1156 | UINT16 height, | ||
| 1157 | UINT16 depth ) noexcept | ||
| 1158 | { | ||
| 1159 | NumTiles = numTiles; | ||
| 1160 | UseBox = useBox; | ||
| 1161 | Width = width; | ||
| 1162 | Height = height; | ||
| 1163 | Depth = depth; | ||
| 1164 | } | ||
| 1165 | }; | ||
| 1166 | |||
| 1167 | //------------------------------------------------------------------------------------------------ | ||
| 1168 | struct CD3DX12_SUBRESOURCE_TILING : public D3D12_SUBRESOURCE_TILING | ||
| 1169 | { | ||
| 1170 | CD3DX12_SUBRESOURCE_TILING() = default; | ||
| 1171 | explicit CD3DX12_SUBRESOURCE_TILING(const D3D12_SUBRESOURCE_TILING &o) noexcept : | ||
| 1172 | D3D12_SUBRESOURCE_TILING(o) | ||
| 1173 | {} | ||
| 1174 | CD3DX12_SUBRESOURCE_TILING( | ||
| 1175 | UINT widthInTiles, | ||
| 1176 | UINT16 heightInTiles, | ||
| 1177 | UINT16 depthInTiles, | ||
| 1178 | UINT startTileIndexInOverallResource ) noexcept | ||
| 1179 | { | ||
| 1180 | WidthInTiles = widthInTiles; | ||
| 1181 | HeightInTiles = heightInTiles; | ||
| 1182 | DepthInTiles = depthInTiles; | ||
| 1183 | StartTileIndexInOverallResource = startTileIndexInOverallResource; | ||
| 1184 | } | ||
| 1185 | }; | ||
| 1186 | |||
| 1187 | //------------------------------------------------------------------------------------------------ | ||
| 1188 | struct CD3DX12_TILE_SHAPE : public D3D12_TILE_SHAPE | ||
| 1189 | { | ||
| 1190 | CD3DX12_TILE_SHAPE() = default; | ||
| 1191 | explicit CD3DX12_TILE_SHAPE(const D3D12_TILE_SHAPE &o) noexcept : | ||
| 1192 | D3D12_TILE_SHAPE(o) | ||
| 1193 | {} | ||
| 1194 | CD3DX12_TILE_SHAPE( | ||
| 1195 | UINT widthInTexels, | ||
| 1196 | UINT heightInTexels, | ||
| 1197 | UINT depthInTexels ) noexcept | ||
| 1198 | { | ||
| 1199 | WidthInTexels = widthInTexels; | ||
| 1200 | HeightInTexels = heightInTexels; | ||
| 1201 | DepthInTexels = depthInTexels; | ||
| 1202 | } | ||
| 1203 | }; | ||
| 1204 | |||
| 1205 | //------------------------------------------------------------------------------------------------ | ||
| 1206 | struct CD3DX12_PACKED_MIP_INFO : public D3D12_PACKED_MIP_INFO | ||
| 1207 | { | ||
| 1208 | CD3DX12_PACKED_MIP_INFO() = default; | ||
| 1209 | explicit CD3DX12_PACKED_MIP_INFO(const D3D12_PACKED_MIP_INFO &o) noexcept : | ||
| 1210 | D3D12_PACKED_MIP_INFO(o) | ||
| 1211 | {} | ||
| 1212 | CD3DX12_PACKED_MIP_INFO( | ||
| 1213 | UINT8 numStandardMips, | ||
| 1214 | UINT8 numPackedMips, | ||
| 1215 | UINT numTilesForPackedMips, | ||
| 1216 | UINT startTileIndexInOverallResource ) noexcept | ||
| 1217 | { | ||
| 1218 | NumStandardMips = numStandardMips; | ||
| 1219 | NumPackedMips = numPackedMips; | ||
| 1220 | NumTilesForPackedMips = numTilesForPackedMips; | ||
| 1221 | StartTileIndexInOverallResource = startTileIndexInOverallResource; | ||
| 1222 | } | ||
| 1223 | }; | ||
| 1224 | |||
| 1225 | //------------------------------------------------------------------------------------------------ | ||
| 1226 | struct CD3DX12_SUBRESOURCE_FOOTPRINT : public D3D12_SUBRESOURCE_FOOTPRINT | ||
| 1227 | { | ||
| 1228 | CD3DX12_SUBRESOURCE_FOOTPRINT() = default; | ||
| 1229 | explicit CD3DX12_SUBRESOURCE_FOOTPRINT(const D3D12_SUBRESOURCE_FOOTPRINT &o) noexcept : | ||
| 1230 | D3D12_SUBRESOURCE_FOOTPRINT(o) | ||
| 1231 | {} | ||
| 1232 | CD3DX12_SUBRESOURCE_FOOTPRINT( | ||
| 1233 | DXGI_FORMAT format, | ||
| 1234 | UINT width, | ||
| 1235 | UINT height, | ||
| 1236 | UINT depth, | ||
| 1237 | UINT rowPitch ) noexcept | ||
| 1238 | { | ||
| 1239 | Format = format; | ||
| 1240 | Width = width; | ||
| 1241 | Height = height; | ||
| 1242 | Depth = depth; | ||
| 1243 | RowPitch = rowPitch; | ||
| 1244 | } | ||
| 1245 | explicit CD3DX12_SUBRESOURCE_FOOTPRINT( | ||
| 1246 | const D3D12_RESOURCE_DESC& resDesc, | ||
| 1247 | UINT rowPitch ) noexcept | ||
| 1248 | { | ||
| 1249 | Format = resDesc.Format; | ||
| 1250 | Width = UINT( resDesc.Width ); | ||
| 1251 | Height = resDesc.Height; | ||
| 1252 | Depth = (resDesc.Dimension == D3D12_RESOURCE_DIMENSION_TEXTURE3D ? resDesc.DepthOrArraySize : 1u); | ||
| 1253 | RowPitch = rowPitch; | ||
| 1254 | } | ||
| 1255 | }; | ||
| 1256 | |||
| 1257 | //------------------------------------------------------------------------------------------------ | ||
| 1258 | struct CD3DX12_TEXTURE_COPY_LOCATION : public D3D12_TEXTURE_COPY_LOCATION | ||
| 1259 | { | ||
| 1260 | CD3DX12_TEXTURE_COPY_LOCATION() = default; | ||
| 1261 | explicit CD3DX12_TEXTURE_COPY_LOCATION(const D3D12_TEXTURE_COPY_LOCATION &o) noexcept : | ||
| 1262 | D3D12_TEXTURE_COPY_LOCATION(o) | ||
| 1263 | {} | ||
| 1264 | CD3DX12_TEXTURE_COPY_LOCATION(_In_ ID3D12Resource* pRes) noexcept | ||
| 1265 | { | ||
| 1266 | pResource = pRes; | ||
| 1267 | Type = D3D12_TEXTURE_COPY_TYPE_SUBRESOURCE_INDEX; | ||
| 1268 | PlacedFootprint = {}; | ||
| 1269 | } | ||
| 1270 | CD3DX12_TEXTURE_COPY_LOCATION(_In_ ID3D12Resource* pRes, D3D12_PLACED_SUBRESOURCE_FOOTPRINT const& Footprint) noexcept | ||
| 1271 | { | ||
| 1272 | pResource = pRes; | ||
| 1273 | Type = D3D12_TEXTURE_COPY_TYPE_PLACED_FOOTPRINT; | ||
| 1274 | PlacedFootprint = Footprint; | ||
| 1275 | } | ||
| 1276 | CD3DX12_TEXTURE_COPY_LOCATION(_In_ ID3D12Resource* pRes, UINT Sub) noexcept | ||
| 1277 | { | ||
| 1278 | pResource = pRes; | ||
| 1279 | Type = D3D12_TEXTURE_COPY_TYPE_SUBRESOURCE_INDEX; | ||
| 1280 | PlacedFootprint = {}; | ||
| 1281 | SubresourceIndex = Sub; | ||
| 1282 | } | ||
| 1283 | }; | ||
| 1284 | |||
| 1285 | //------------------------------------------------------------------------------------------------ | ||
| 1286 | constexpr UINT D3D12CalcSubresource( UINT MipSlice, UINT ArraySlice, UINT PlaneSlice, UINT MipLevels, UINT ArraySize ) noexcept | ||
| 1287 | { | ||
| 1288 | return MipSlice + ArraySlice * MipLevels + PlaneSlice * MipLevels * ArraySize; | ||
| 1289 | } | ||
| 1290 | |||
| 1291 | //------------------------------------------------------------------------------------------------ | ||
| 1292 | inline UINT8 D3D12GetFormatPlaneCount( | ||
| 1293 | _In_ ID3D12Device* pDevice, | ||
| 1294 | DXGI_FORMAT Format | ||
| 1295 | ) noexcept | ||
| 1296 | { | ||
| 1297 | D3D12_FEATURE_DATA_FORMAT_INFO formatInfo = { Format, 0 }; | ||
| 1298 | if (FAILED(pDevice->CheckFeatureSupport(D3D12_FEATURE_FORMAT_INFO, &formatInfo, sizeof(formatInfo)))) | ||
| 1299 | { | ||
| 1300 | return 0; | ||
| 1301 | } | ||
| 1302 | return formatInfo.PlaneCount; | ||
| 1303 | } | ||
| 1304 | |||
| 1305 | //------------------------------------------------------------------------------------------------ | ||
| 1306 | struct CD3DX12_RESOURCE_DESC : public D3D12_RESOURCE_DESC | ||
| 1307 | { | ||
| 1308 | CD3DX12_RESOURCE_DESC() = default; | ||
| 1309 | explicit CD3DX12_RESOURCE_DESC( const D3D12_RESOURCE_DESC& o ) noexcept : | ||
| 1310 | D3D12_RESOURCE_DESC( o ) | ||
| 1311 | {} | ||
| 1312 | CD3DX12_RESOURCE_DESC( | ||
| 1313 | D3D12_RESOURCE_DIMENSION dimension, | ||
| 1314 | UINT64 alignment, | ||
| 1315 | UINT64 width, | ||
| 1316 | UINT height, | ||
| 1317 | UINT16 depthOrArraySize, | ||
| 1318 | UINT16 mipLevels, | ||
| 1319 | DXGI_FORMAT format, | ||
| 1320 | UINT sampleCount, | ||
| 1321 | UINT sampleQuality, | ||
| 1322 | D3D12_TEXTURE_LAYOUT layout, | ||
| 1323 | D3D12_RESOURCE_FLAGS flags ) noexcept | ||
| 1324 | { | ||
| 1325 | Dimension = dimension; | ||
| 1326 | Alignment = alignment; | ||
| 1327 | Width = width; | ||
| 1328 | Height = height; | ||
| 1329 | DepthOrArraySize = depthOrArraySize; | ||
| 1330 | MipLevels = mipLevels; | ||
| 1331 | Format = format; | ||
| 1332 | SampleDesc.Count = sampleCount; | ||
| 1333 | SampleDesc.Quality = sampleQuality; | ||
| 1334 | Layout = layout; | ||
| 1335 | Flags = flags; | ||
| 1336 | } | ||
| 1337 | static inline CD3DX12_RESOURCE_DESC Buffer( | ||
| 1338 | const D3D12_RESOURCE_ALLOCATION_INFO& resAllocInfo, | ||
| 1339 | D3D12_RESOURCE_FLAGS flags = D3D12_RESOURCE_FLAG_NONE ) noexcept | ||
| 1340 | { | ||
| 1341 | return CD3DX12_RESOURCE_DESC( D3D12_RESOURCE_DIMENSION_BUFFER, resAllocInfo.Alignment, resAllocInfo.SizeInBytes, | ||
| 1342 | 1, 1, 1, DXGI_FORMAT_UNKNOWN, 1, 0, D3D12_TEXTURE_LAYOUT_ROW_MAJOR, flags ); | ||
| 1343 | } | ||
| 1344 | static inline CD3DX12_RESOURCE_DESC Buffer( | ||
| 1345 | UINT64 width, | ||
| 1346 | D3D12_RESOURCE_FLAGS flags = D3D12_RESOURCE_FLAG_NONE, | ||
| 1347 | UINT64 alignment = 0 ) noexcept | ||
| 1348 | { | ||
| 1349 | return CD3DX12_RESOURCE_DESC( D3D12_RESOURCE_DIMENSION_BUFFER, alignment, width, 1, 1, 1, | ||
| 1350 | DXGI_FORMAT_UNKNOWN, 1, 0, D3D12_TEXTURE_LAYOUT_ROW_MAJOR, flags ); | ||
| 1351 | } | ||
| 1352 | static inline CD3DX12_RESOURCE_DESC Tex1D( | ||
| 1353 | DXGI_FORMAT format, | ||
| 1354 | UINT64 width, | ||
| 1355 | UINT16 arraySize = 1, | ||
| 1356 | UINT16 mipLevels = 0, | ||
| 1357 | D3D12_RESOURCE_FLAGS flags = D3D12_RESOURCE_FLAG_NONE, | ||
| 1358 | D3D12_TEXTURE_LAYOUT layout = D3D12_TEXTURE_LAYOUT_UNKNOWN, | ||
| 1359 | UINT64 alignment = 0 ) noexcept | ||
| 1360 | { | ||
| 1361 | return CD3DX12_RESOURCE_DESC( D3D12_RESOURCE_DIMENSION_TEXTURE1D, alignment, width, 1, arraySize, | ||
| 1362 | mipLevels, format, 1, 0, layout, flags ); | ||
| 1363 | } | ||
| 1364 | static inline CD3DX12_RESOURCE_DESC Tex2D( | ||
| 1365 | DXGI_FORMAT format, | ||
| 1366 | UINT64 width, | ||
| 1367 | UINT height, | ||
| 1368 | UINT16 arraySize = 1, | ||
| 1369 | UINT16 mipLevels = 0, | ||
| 1370 | UINT sampleCount = 1, | ||
| 1371 | UINT sampleQuality = 0, | ||
| 1372 | D3D12_RESOURCE_FLAGS flags = D3D12_RESOURCE_FLAG_NONE, | ||
| 1373 | D3D12_TEXTURE_LAYOUT layout = D3D12_TEXTURE_LAYOUT_UNKNOWN, | ||
| 1374 | UINT64 alignment = 0 ) noexcept | ||
| 1375 | { | ||
| 1376 | return CD3DX12_RESOURCE_DESC( D3D12_RESOURCE_DIMENSION_TEXTURE2D, alignment, width, height, arraySize, | ||
| 1377 | mipLevels, format, sampleCount, sampleQuality, layout, flags ); | ||
| 1378 | } | ||
| 1379 | static inline CD3DX12_RESOURCE_DESC Tex3D( | ||
| 1380 | DXGI_FORMAT format, | ||
| 1381 | UINT64 width, | ||
| 1382 | UINT height, | ||
| 1383 | UINT16 depth, | ||
| 1384 | UINT16 mipLevels = 0, | ||
| 1385 | D3D12_RESOURCE_FLAGS flags = D3D12_RESOURCE_FLAG_NONE, | ||
| 1386 | D3D12_TEXTURE_LAYOUT layout = D3D12_TEXTURE_LAYOUT_UNKNOWN, | ||
| 1387 | UINT64 alignment = 0 ) noexcept | ||
| 1388 | { | ||
| 1389 | return CD3DX12_RESOURCE_DESC( D3D12_RESOURCE_DIMENSION_TEXTURE3D, alignment, width, height, depth, | ||
| 1390 | mipLevels, format, 1, 0, layout, flags ); | ||
| 1391 | } | ||
| 1392 | inline UINT16 Depth() const noexcept | ||
| 1393 | { return (Dimension == D3D12_RESOURCE_DIMENSION_TEXTURE3D ? DepthOrArraySize : 1u); } | ||
| 1394 | inline UINT16 ArraySize() const noexcept | ||
| 1395 | { return (Dimension != D3D12_RESOURCE_DIMENSION_TEXTURE3D ? DepthOrArraySize : 1u); } | ||
| 1396 | inline UINT8 PlaneCount(_In_ ID3D12Device* pDevice) const noexcept | ||
| 1397 | { return D3D12GetFormatPlaneCount(pDevice, Format); } | ||
| 1398 | inline UINT Subresources(_In_ ID3D12Device* pDevice) const noexcept | ||
| 1399 | { return static_cast<UINT>(MipLevels) * ArraySize() * PlaneCount(pDevice); } | ||
| 1400 | inline UINT CalcSubresource(UINT MipSlice, UINT ArraySlice, UINT PlaneSlice) noexcept | ||
| 1401 | { return D3D12CalcSubresource(MipSlice, ArraySlice, PlaneSlice, MipLevels, ArraySize()); } | ||
| 1402 | }; | ||
| 1403 | inline bool operator==( const D3D12_RESOURCE_DESC& l, const D3D12_RESOURCE_DESC& r ) noexcept | ||
| 1404 | { | ||
| 1405 | return l.Dimension == r.Dimension && | ||
| 1406 | l.Alignment == r.Alignment && | ||
| 1407 | l.Width == r.Width && | ||
| 1408 | l.Height == r.Height && | ||
| 1409 | l.DepthOrArraySize == r.DepthOrArraySize && | ||
| 1410 | l.MipLevels == r.MipLevels && | ||
| 1411 | l.Format == r.Format && | ||
| 1412 | l.SampleDesc.Count == r.SampleDesc.Count && | ||
| 1413 | l.SampleDesc.Quality == r.SampleDesc.Quality && | ||
| 1414 | l.Layout == r.Layout && | ||
| 1415 | l.Flags == r.Flags; | ||
| 1416 | } | ||
| 1417 | inline bool operator!=( const D3D12_RESOURCE_DESC& l, const D3D12_RESOURCE_DESC& r ) noexcept | ||
| 1418 | { return !( l == r ); } | ||
| 1419 | |||
| 1420 | //------------------------------------------------------------------------------------------------ | ||
| 1421 | struct CD3DX12_RESOURCE_DESC1 : public D3D12_RESOURCE_DESC1 | ||
| 1422 | { | ||
| 1423 | CD3DX12_RESOURCE_DESC1() = default; | ||
| 1424 | explicit CD3DX12_RESOURCE_DESC1( const D3D12_RESOURCE_DESC1& o ) noexcept : | ||
| 1425 | D3D12_RESOURCE_DESC1( o ) | ||
| 1426 | {} | ||
| 1427 | explicit CD3DX12_RESOURCE_DESC1( const D3D12_RESOURCE_DESC& o ) noexcept | ||
| 1428 | { | ||
| 1429 | Dimension = o.Dimension; | ||
| 1430 | Alignment = o.Alignment; | ||
| 1431 | Width = o.Width; | ||
| 1432 | Height = o.Height; | ||
| 1433 | DepthOrArraySize = o.DepthOrArraySize; | ||
| 1434 | MipLevels = o.MipLevels; | ||
| 1435 | Format = o.Format; | ||
| 1436 | SampleDesc = o.SampleDesc; | ||
| 1437 | Layout = o.Layout; | ||
| 1438 | Flags = o.Flags; | ||
| 1439 | SamplerFeedbackMipRegion = {}; | ||
| 1440 | } | ||
| 1441 | CD3DX12_RESOURCE_DESC1( | ||
| 1442 | D3D12_RESOURCE_DIMENSION dimension, | ||
| 1443 | UINT64 alignment, | ||
| 1444 | UINT64 width, | ||
| 1445 | UINT height, | ||
| 1446 | UINT16 depthOrArraySize, | ||
| 1447 | UINT16 mipLevels, | ||
| 1448 | DXGI_FORMAT format, | ||
| 1449 | UINT sampleCount, | ||
| 1450 | UINT sampleQuality, | ||
| 1451 | D3D12_TEXTURE_LAYOUT layout, | ||
| 1452 | D3D12_RESOURCE_FLAGS flags, | ||
| 1453 | UINT samplerFeedbackMipRegionWidth = 0, | ||
| 1454 | UINT samplerFeedbackMipRegionHeight = 0, | ||
| 1455 | UINT samplerFeedbackMipRegionDepth = 0) noexcept | ||
| 1456 | { | ||
| 1457 | Dimension = dimension; | ||
| 1458 | Alignment = alignment; | ||
| 1459 | Width = width; | ||
| 1460 | Height = height; | ||
| 1461 | DepthOrArraySize = depthOrArraySize; | ||
| 1462 | MipLevels = mipLevels; | ||
| 1463 | Format = format; | ||
| 1464 | SampleDesc.Count = sampleCount; | ||
| 1465 | SampleDesc.Quality = sampleQuality; | ||
| 1466 | Layout = layout; | ||
| 1467 | Flags = flags; | ||
| 1468 | SamplerFeedbackMipRegion.Width = samplerFeedbackMipRegionWidth; | ||
| 1469 | SamplerFeedbackMipRegion.Height = samplerFeedbackMipRegionHeight; | ||
| 1470 | SamplerFeedbackMipRegion.Depth = samplerFeedbackMipRegionDepth; | ||
| 1471 | } | ||
| 1472 | |||
| 1473 | static inline CD3DX12_RESOURCE_DESC1 Buffer( | ||
| 1474 | const D3D12_RESOURCE_ALLOCATION_INFO& resAllocInfo, | ||
| 1475 | D3D12_RESOURCE_FLAGS flags = D3D12_RESOURCE_FLAG_NONE ) noexcept | ||
| 1476 | { | ||
| 1477 | return CD3DX12_RESOURCE_DESC1( D3D12_RESOURCE_DIMENSION_BUFFER, resAllocInfo.Alignment, resAllocInfo.SizeInBytes, | ||
| 1478 | 1, 1, 1, DXGI_FORMAT_UNKNOWN, 1, 0, D3D12_TEXTURE_LAYOUT_ROW_MAJOR, flags, 0, 0, 0 ); | ||
| 1479 | } | ||
| 1480 | static inline CD3DX12_RESOURCE_DESC1 Buffer( | ||
| 1481 | UINT64 width, | ||
| 1482 | D3D12_RESOURCE_FLAGS flags = D3D12_RESOURCE_FLAG_NONE, | ||
| 1483 | UINT64 alignment = 0 ) noexcept | ||
| 1484 | { | ||
| 1485 | return CD3DX12_RESOURCE_DESC1( D3D12_RESOURCE_DIMENSION_BUFFER, alignment, width, 1, 1, 1, | ||
| 1486 | DXGI_FORMAT_UNKNOWN, 1, 0, D3D12_TEXTURE_LAYOUT_ROW_MAJOR, flags, 0, 0, 0 ); | ||
| 1487 | } | ||
| 1488 | static inline CD3DX12_RESOURCE_DESC1 Tex1D( | ||
| 1489 | DXGI_FORMAT format, | ||
| 1490 | UINT64 width, | ||
| 1491 | UINT16 arraySize = 1, | ||
| 1492 | UINT16 mipLevels = 0, | ||
| 1493 | D3D12_RESOURCE_FLAGS flags = D3D12_RESOURCE_FLAG_NONE, | ||
| 1494 | D3D12_TEXTURE_LAYOUT layout = D3D12_TEXTURE_LAYOUT_UNKNOWN, | ||
| 1495 | UINT64 alignment = 0 ) noexcept | ||
| 1496 | { | ||
| 1497 | return CD3DX12_RESOURCE_DESC1( D3D12_RESOURCE_DIMENSION_TEXTURE1D, alignment, width, 1, arraySize, | ||
| 1498 | mipLevels, format, 1, 0, layout, flags, 0, 0, 0 ); | ||
| 1499 | } | ||
| 1500 | static inline CD3DX12_RESOURCE_DESC1 Tex2D( | ||
| 1501 | DXGI_FORMAT format, | ||
| 1502 | UINT64 width, | ||
| 1503 | UINT height, | ||
| 1504 | UINT16 arraySize = 1, | ||
| 1505 | UINT16 mipLevels = 0, | ||
| 1506 | UINT sampleCount = 1, | ||
| 1507 | UINT sampleQuality = 0, | ||
| 1508 | D3D12_RESOURCE_FLAGS flags = D3D12_RESOURCE_FLAG_NONE, | ||
| 1509 | D3D12_TEXTURE_LAYOUT layout = D3D12_TEXTURE_LAYOUT_UNKNOWN, | ||
| 1510 | UINT64 alignment = 0, | ||
| 1511 | UINT samplerFeedbackMipRegionWidth = 0, | ||
| 1512 | UINT samplerFeedbackMipRegionHeight = 0, | ||
| 1513 | UINT samplerFeedbackMipRegionDepth = 0) noexcept | ||
| 1514 | { | ||
| 1515 | return CD3DX12_RESOURCE_DESC1( D3D12_RESOURCE_DIMENSION_TEXTURE2D, alignment, width, height, arraySize, | ||
| 1516 | mipLevels, format, sampleCount, sampleQuality, layout, flags, samplerFeedbackMipRegionWidth, | ||
| 1517 | samplerFeedbackMipRegionHeight, samplerFeedbackMipRegionDepth ); | ||
| 1518 | } | ||
| 1519 | static inline CD3DX12_RESOURCE_DESC1 Tex3D( | ||
| 1520 | DXGI_FORMAT format, | ||
| 1521 | UINT64 width, | ||
| 1522 | UINT height, | ||
| 1523 | UINT16 depth, | ||
| 1524 | UINT16 mipLevels = 0, | ||
| 1525 | D3D12_RESOURCE_FLAGS flags = D3D12_RESOURCE_FLAG_NONE, | ||
| 1526 | D3D12_TEXTURE_LAYOUT layout = D3D12_TEXTURE_LAYOUT_UNKNOWN, | ||
| 1527 | UINT64 alignment = 0 ) noexcept | ||
| 1528 | { | ||
| 1529 | return CD3DX12_RESOURCE_DESC1( D3D12_RESOURCE_DIMENSION_TEXTURE3D, alignment, width, height, depth, | ||
| 1530 | mipLevels, format, 1, 0, layout, flags, 0, 0, 0 ); | ||
| 1531 | } | ||
| 1532 | inline UINT16 Depth() const noexcept | ||
| 1533 | { return (Dimension == D3D12_RESOURCE_DIMENSION_TEXTURE3D ? DepthOrArraySize : 1u); } | ||
| 1534 | inline UINT16 ArraySize() const noexcept | ||
| 1535 | { return (Dimension != D3D12_RESOURCE_DIMENSION_TEXTURE3D ? DepthOrArraySize : 1u); } | ||
| 1536 | inline UINT8 PlaneCount(_In_ ID3D12Device* pDevice) const noexcept | ||
| 1537 | { return D3D12GetFormatPlaneCount(pDevice, Format); } | ||
| 1538 | inline UINT Subresources(_In_ ID3D12Device* pDevice) const noexcept | ||
| 1539 | { return static_cast<UINT>(MipLevels) * ArraySize() * PlaneCount(pDevice); } | ||
| 1540 | inline UINT CalcSubresource(UINT MipSlice, UINT ArraySlice, UINT PlaneSlice) noexcept | ||
| 1541 | { return D3D12CalcSubresource(MipSlice, ArraySlice, PlaneSlice, MipLevels, ArraySize()); } | ||
| 1542 | }; | ||
| 1543 | inline bool operator==( const D3D12_RESOURCE_DESC1& l, const D3D12_RESOURCE_DESC1& r ) noexcept | ||
| 1544 | { | ||
| 1545 | return l.Dimension == r.Dimension && | ||
| 1546 | l.Alignment == r.Alignment && | ||
| 1547 | l.Width == r.Width && | ||
| 1548 | l.Height == r.Height && | ||
| 1549 | l.DepthOrArraySize == r.DepthOrArraySize && | ||
| 1550 | l.MipLevels == r.MipLevels && | ||
| 1551 | l.Format == r.Format && | ||
| 1552 | l.SampleDesc.Count == r.SampleDesc.Count && | ||
| 1553 | l.SampleDesc.Quality == r.SampleDesc.Quality && | ||
| 1554 | l.Layout == r.Layout && | ||
| 1555 | l.Flags == r.Flags && | ||
| 1556 | l.SamplerFeedbackMipRegion.Width == r.SamplerFeedbackMipRegion.Width && | ||
| 1557 | l.SamplerFeedbackMipRegion.Height == r.SamplerFeedbackMipRegion.Height && | ||
| 1558 | l.SamplerFeedbackMipRegion.Depth == r.SamplerFeedbackMipRegion.Depth; | ||
| 1559 | } | ||
| 1560 | inline bool operator!=( const D3D12_RESOURCE_DESC1& l, const D3D12_RESOURCE_DESC1& r ) noexcept | ||
| 1561 | { return !( l == r ); } | ||
| 1562 | |||
| 1563 | //------------------------------------------------------------------------------------------------ | ||
| 1564 | // Fills in the mipmap and alignment values of pDesc when either members are zero | ||
| 1565 | // Used to replace an implicit field to an explicit (0 mip map = max mip map level) | ||
| 1566 | // If expansion has occured, returns LclDesc, else returns the original pDesc | ||
| 1567 | inline const CD3DX12_RESOURCE_DESC1* D3DX12ConditionallyExpandAPIDesc( | ||
| 1568 | CD3DX12_RESOURCE_DESC1& LclDesc, | ||
| 1569 | const CD3DX12_RESOURCE_DESC1* pDesc, | ||
| 1570 | const bool tightAlignmentSupported = false, | ||
| 1571 | const bool alignAsCommitted = false) | ||
| 1572 | { | ||
| 1573 | // Expand mip levels: | ||
| 1574 | if (pDesc->MipLevels == 0 || pDesc->Alignment == 0) | ||
| 1575 | { | ||
| 1576 | LclDesc = *pDesc; | ||
| 1577 | if (pDesc->MipLevels == 0) | ||
| 1578 | { | ||
| 1579 | auto MaxMipLevels = [](UINT64 uiMaxDimension) -> UINT16 | ||
| 1580 | { | ||
| 1581 | UINT16 uiRet = 0; | ||
| 1582 | while (uiMaxDimension > 0) | ||
| 1583 | { | ||
| 1584 | uiRet++; | ||
| 1585 | uiMaxDimension >>= 1; | ||
| 1586 | } | ||
| 1587 | return uiRet; | ||
| 1588 | }; | ||
| 1589 | auto Max = [](UINT64 const& a, UINT64 const& b) | ||
| 1590 | { | ||
| 1591 | return (a < b) ? b : a; | ||
| 1592 | }; | ||
| 1593 | |||
| 1594 | LclDesc.MipLevels = MaxMipLevels( | ||
| 1595 | Max(LclDesc.Dimension == D3D12_RESOURCE_DIMENSION_TEXTURE3D ? LclDesc.DepthOrArraySize : 1, | ||
| 1596 | Max(LclDesc.Width, LclDesc.Height))); | ||
| 1597 | } | ||
| 1598 | if (pDesc->Alignment == 0) | ||
| 1599 | { | ||
| 1600 | if (pDesc->Layout == D3D12_TEXTURE_LAYOUT_64KB_UNDEFINED_SWIZZLE | ||
| 1601 | || pDesc->Layout == D3D12_TEXTURE_LAYOUT_64KB_STANDARD_SWIZZLE | ||
| 1602 | ) | ||
| 1603 | { | ||
| 1604 | LclDesc.Alignment = D3D12_DEFAULT_RESOURCE_PLACEMENT_ALIGNMENT; | ||
| 1605 | } | ||
| 1606 | else if (!(tightAlignmentSupported && (pDesc->Flags & D3D12_RESOURCE_FLAG_USE_TIGHT_ALIGNMENT)) | ||
| 1607 | || (pDesc->Flags & D3D12_RESOURCE_FLAG_ALLOW_CROSS_ADAPTER)) | ||
| 1608 | { | ||
| 1609 | LclDesc.Alignment = | ||
| 1610 | (pDesc->SampleDesc.Count > 1 ? D3D12_DEFAULT_MSAA_RESOURCE_PLACEMENT_ALIGNMENT : D3D12_DEFAULT_RESOURCE_PLACEMENT_ALIGNMENT); | ||
| 1611 | } | ||
| 1612 | else | ||
| 1613 | { | ||
| 1614 | // Tight alignment is supported and we aren't a cross adapter resource, now just need to set the alignment field to the minimum alignment for each type | ||
| 1615 | if(alignAsCommitted) | ||
| 1616 | LclDesc.Alignment = D3D12_TIGHT_ALIGNMENT_MIN_COMMITTED_RESOURCE_ALIGNMENT; | ||
| 1617 | else | ||
| 1618 | LclDesc.Alignment = D3D12_TIGHT_ALIGNMENT_MIN_PLACED_RESOURCE_ALIGNMENT; | ||
| 1619 | } | ||
| 1620 | } | ||
| 1621 | return &LclDesc; | ||
| 1622 | } | ||
| 1623 | else | ||
| 1624 | { | ||
| 1625 | return pDesc; | ||
| 1626 | } | ||
| 1627 | } | ||
| 1628 | |||
| 1629 | |||
| 1630 | //------------------------------------------------------------------------------------------------ | ||
| 1631 | struct CD3DX12_SHADER_RESOURCE_VIEW_DESC : public D3D12_SHADER_RESOURCE_VIEW_DESC | ||
| 1632 | { | ||
| 1633 | CD3DX12_SHADER_RESOURCE_VIEW_DESC() = default; | ||
| 1634 | explicit CD3DX12_SHADER_RESOURCE_VIEW_DESC( const D3D12_SHADER_RESOURCE_VIEW_DESC& o ) noexcept : | ||
| 1635 | D3D12_SHADER_RESOURCE_VIEW_DESC(o) | ||
| 1636 | {} | ||
| 1637 | |||
| 1638 | static inline CD3DX12_SHADER_RESOURCE_VIEW_DESC StructuredBuffer( | ||
| 1639 | UINT NumElements, | ||
| 1640 | UINT StructureByteStride, | ||
| 1641 | UINT64 FirstElement = 0) noexcept | ||
| 1642 | { | ||
| 1643 | CD3DX12_SHADER_RESOURCE_VIEW_DESC desc; | ||
| 1644 | desc.Format = DXGI_FORMAT_UNKNOWN; | ||
| 1645 | desc.ViewDimension = D3D12_SRV_DIMENSION_BUFFER; | ||
| 1646 | desc.Shader4ComponentMapping = D3D12_DEFAULT_SHADER_4_COMPONENT_MAPPING; | ||
| 1647 | desc.Buffer.FirstElement = FirstElement; | ||
| 1648 | desc.Buffer.NumElements = NumElements; | ||
| 1649 | desc.Buffer.StructureByteStride = StructureByteStride; | ||
| 1650 | desc.Buffer.Flags = D3D12_BUFFER_SRV_FLAG_NONE; | ||
| 1651 | return desc; | ||
| 1652 | } | ||
| 1653 | |||
| 1654 | static inline CD3DX12_SHADER_RESOURCE_VIEW_DESC RawBuffer( | ||
| 1655 | UINT NumElements, | ||
| 1656 | UINT64 FirstElement = 0) noexcept | ||
| 1657 | { | ||
| 1658 | CD3DX12_SHADER_RESOURCE_VIEW_DESC desc; | ||
| 1659 | desc.Format = DXGI_FORMAT_R32_UINT; | ||
| 1660 | desc.ViewDimension = D3D12_SRV_DIMENSION_BUFFER; | ||
| 1661 | desc.Shader4ComponentMapping = D3D12_DEFAULT_SHADER_4_COMPONENT_MAPPING; | ||
| 1662 | desc.Buffer.FirstElement = FirstElement; | ||
| 1663 | desc.Buffer.NumElements = NumElements; | ||
| 1664 | desc.Buffer.StructureByteStride = 0; | ||
| 1665 | desc.Buffer.Flags = D3D12_BUFFER_SRV_FLAG_RAW; | ||
| 1666 | return desc; | ||
| 1667 | } | ||
| 1668 | |||
| 1669 | static inline CD3DX12_SHADER_RESOURCE_VIEW_DESC TypedBuffer( | ||
| 1670 | DXGI_FORMAT Format, | ||
| 1671 | UINT NumElements, | ||
| 1672 | UINT64 FirstElement = 0, | ||
| 1673 | UINT Shader4ComponentMapping = D3D12_DEFAULT_SHADER_4_COMPONENT_MAPPING) noexcept | ||
| 1674 | { | ||
| 1675 | CD3DX12_SHADER_RESOURCE_VIEW_DESC desc; | ||
| 1676 | desc.Format = Format; | ||
| 1677 | desc.ViewDimension = D3D12_SRV_DIMENSION_BUFFER; | ||
| 1678 | desc.Shader4ComponentMapping = Shader4ComponentMapping; | ||
| 1679 | desc.Buffer.FirstElement = FirstElement; | ||
| 1680 | desc.Buffer.NumElements = NumElements; | ||
| 1681 | desc.Buffer.StructureByteStride = 0; | ||
| 1682 | desc.Buffer.Flags = D3D12_BUFFER_SRV_FLAG_NONE; | ||
| 1683 | return desc; | ||
| 1684 | } | ||
| 1685 | |||
| 1686 | static inline CD3DX12_SHADER_RESOURCE_VIEW_DESC Tex1D( | ||
| 1687 | DXGI_FORMAT Format, | ||
| 1688 | UINT MipLevels = -1, | ||
| 1689 | UINT MostDetailedMip = 0, | ||
| 1690 | FLOAT ResourceMinLODClamp = 0.0f, | ||
| 1691 | UINT Shader4ComponentMapping = D3D12_DEFAULT_SHADER_4_COMPONENT_MAPPING) noexcept | ||
| 1692 | { | ||
| 1693 | CD3DX12_SHADER_RESOURCE_VIEW_DESC desc; | ||
| 1694 | desc.Format = Format; | ||
| 1695 | desc.ViewDimension = D3D12_SRV_DIMENSION_TEXTURE1D; | ||
| 1696 | desc.Shader4ComponentMapping = Shader4ComponentMapping; | ||
| 1697 | desc.Texture1D.MostDetailedMip = MostDetailedMip; | ||
| 1698 | desc.Texture1D.MipLevels = MipLevels; | ||
| 1699 | desc.Texture1D.ResourceMinLODClamp = ResourceMinLODClamp; | ||
| 1700 | return desc; | ||
| 1701 | } | ||
| 1702 | |||
| 1703 | static inline CD3DX12_SHADER_RESOURCE_VIEW_DESC Tex1DArray( | ||
| 1704 | DXGI_FORMAT Format, | ||
| 1705 | UINT ArraySize = -1, | ||
| 1706 | UINT MipLevels = -1, | ||
| 1707 | UINT FirstArraySlice = 0, | ||
| 1708 | UINT MostDetailedMip = 0, | ||
| 1709 | FLOAT ResourceMinLODClamp = 0.0f, | ||
| 1710 | UINT Shader4ComponentMapping = D3D12_DEFAULT_SHADER_4_COMPONENT_MAPPING) noexcept | ||
| 1711 | { | ||
| 1712 | CD3DX12_SHADER_RESOURCE_VIEW_DESC desc; | ||
| 1713 | desc.Format = Format; | ||
| 1714 | desc.ViewDimension = D3D12_SRV_DIMENSION_TEXTURE1DARRAY; | ||
| 1715 | desc.Shader4ComponentMapping = Shader4ComponentMapping; | ||
| 1716 | desc.Texture1DArray.MostDetailedMip = MostDetailedMip; | ||
| 1717 | desc.Texture1DArray.MipLevels = MipLevels; | ||
| 1718 | desc.Texture1DArray.FirstArraySlice = FirstArraySlice; | ||
| 1719 | desc.Texture1DArray.ArraySize = ArraySize; | ||
| 1720 | desc.Texture1DArray.ResourceMinLODClamp = ResourceMinLODClamp; | ||
| 1721 | return desc; | ||
| 1722 | } | ||
| 1723 | |||
| 1724 | static inline CD3DX12_SHADER_RESOURCE_VIEW_DESC Tex2D( | ||
| 1725 | DXGI_FORMAT Format, | ||
| 1726 | UINT MipLevels = -1, | ||
| 1727 | UINT MostDetailedMip = 0, | ||
| 1728 | UINT PlaneSlice = 0, | ||
| 1729 | FLOAT ResourceMinLODClamp = 0.0f, | ||
| 1730 | UINT Shader4ComponentMapping = D3D12_DEFAULT_SHADER_4_COMPONENT_MAPPING) noexcept | ||
| 1731 | { | ||
| 1732 | CD3DX12_SHADER_RESOURCE_VIEW_DESC desc; | ||
| 1733 | desc.Format = Format; | ||
| 1734 | desc.ViewDimension = D3D12_SRV_DIMENSION_TEXTURE2D; | ||
| 1735 | desc.Shader4ComponentMapping = Shader4ComponentMapping; | ||
| 1736 | desc.Texture2D.MostDetailedMip = MostDetailedMip; | ||
| 1737 | desc.Texture2D.MipLevels = MipLevels; | ||
| 1738 | desc.Texture2D.PlaneSlice = PlaneSlice; | ||
| 1739 | desc.Texture2D.ResourceMinLODClamp = ResourceMinLODClamp; | ||
| 1740 | return desc; | ||
| 1741 | } | ||
| 1742 | |||
| 1743 | static inline CD3DX12_SHADER_RESOURCE_VIEW_DESC Tex2DArray( | ||
| 1744 | DXGI_FORMAT Format, | ||
| 1745 | UINT ArraySize = -1, | ||
| 1746 | UINT MipLevels = -1, | ||
| 1747 | UINT FirstArraySlice = 0, | ||
| 1748 | UINT MostDetailedMip = 0, | ||
| 1749 | UINT PlaneSlice = 0, | ||
| 1750 | FLOAT ResourceMinLODClamp = 0.0f, | ||
| 1751 | UINT Shader4ComponentMapping = D3D12_DEFAULT_SHADER_4_COMPONENT_MAPPING) noexcept | ||
| 1752 | { | ||
| 1753 | CD3DX12_SHADER_RESOURCE_VIEW_DESC desc; | ||
| 1754 | desc.Format = Format; | ||
| 1755 | desc.ViewDimension = D3D12_SRV_DIMENSION_TEXTURE2DARRAY; | ||
| 1756 | desc.Shader4ComponentMapping = Shader4ComponentMapping; | ||
| 1757 | desc.Texture2DArray.MostDetailedMip = MostDetailedMip; | ||
| 1758 | desc.Texture2DArray.MipLevels = MipLevels; | ||
| 1759 | desc.Texture2DArray.FirstArraySlice = FirstArraySlice; | ||
| 1760 | desc.Texture2DArray.ArraySize = ArraySize; | ||
| 1761 | desc.Texture2DArray.PlaneSlice = PlaneSlice; | ||
| 1762 | desc.Texture2DArray.ResourceMinLODClamp = ResourceMinLODClamp; | ||
| 1763 | return desc; | ||
| 1764 | } | ||
| 1765 | |||
| 1766 | static inline CD3DX12_SHADER_RESOURCE_VIEW_DESC Tex2DMS( | ||
| 1767 | DXGI_FORMAT Format, | ||
| 1768 | UINT Shader4ComponentMapping = D3D12_DEFAULT_SHADER_4_COMPONENT_MAPPING) noexcept | ||
| 1769 | { | ||
| 1770 | CD3DX12_SHADER_RESOURCE_VIEW_DESC desc; | ||
| 1771 | desc.Format = Format; | ||
| 1772 | desc.ViewDimension = D3D12_SRV_DIMENSION_TEXTURE2DMS; | ||
| 1773 | desc.Shader4ComponentMapping = Shader4ComponentMapping; | ||
| 1774 | // desc.Texture2DMS.UnusedField_NothingToDefine = 0; | ||
| 1775 | return desc; | ||
| 1776 | } | ||
| 1777 | |||
| 1778 | static inline CD3DX12_SHADER_RESOURCE_VIEW_DESC Tex2DMSArray( | ||
| 1779 | DXGI_FORMAT Format, | ||
| 1780 | UINT ArraySize, | ||
| 1781 | UINT FirstArraySlice = 0, | ||
| 1782 | UINT Shader4ComponentMapping = D3D12_DEFAULT_SHADER_4_COMPONENT_MAPPING) noexcept | ||
| 1783 | { | ||
| 1784 | CD3DX12_SHADER_RESOURCE_VIEW_DESC desc; | ||
| 1785 | desc.Format = Format; | ||
| 1786 | desc.ViewDimension = D3D12_SRV_DIMENSION_TEXTURE2DMSARRAY; | ||
| 1787 | desc.Shader4ComponentMapping = Shader4ComponentMapping; | ||
| 1788 | desc.Texture2DMSArray.ArraySize = ArraySize; | ||
| 1789 | desc.Texture2DMSArray.FirstArraySlice = FirstArraySlice; | ||
| 1790 | return desc; | ||
| 1791 | } | ||
| 1792 | |||
| 1793 | static inline CD3DX12_SHADER_RESOURCE_VIEW_DESC Tex3D( | ||
| 1794 | DXGI_FORMAT Format, | ||
| 1795 | UINT MipLevels = -1, | ||
| 1796 | UINT MostDetailedMip = 0, | ||
| 1797 | FLOAT ResourceMinLODClamp = 0.0f, | ||
| 1798 | UINT Shader4ComponentMapping = D3D12_DEFAULT_SHADER_4_COMPONENT_MAPPING) noexcept | ||
| 1799 | { | ||
| 1800 | CD3DX12_SHADER_RESOURCE_VIEW_DESC desc; | ||
| 1801 | desc.Format = Format; | ||
| 1802 | desc.ViewDimension = D3D12_SRV_DIMENSION_TEXTURE3D; | ||
| 1803 | desc.Shader4ComponentMapping = Shader4ComponentMapping; | ||
| 1804 | desc.Texture3D.MostDetailedMip = MostDetailedMip; | ||
| 1805 | desc.Texture3D.MipLevels = MipLevels; | ||
| 1806 | desc.Texture3D.ResourceMinLODClamp = ResourceMinLODClamp; | ||
| 1807 | return desc; | ||
| 1808 | } | ||
| 1809 | |||
| 1810 | static inline CD3DX12_SHADER_RESOURCE_VIEW_DESC TexCube( | ||
| 1811 | DXGI_FORMAT Format, | ||
| 1812 | UINT MipLevels = -1, | ||
| 1813 | UINT MostDetailedMip = 0, | ||
| 1814 | FLOAT ResourceMinLODClamp = 0.0f, | ||
| 1815 | UINT Shader4ComponentMapping = D3D12_DEFAULT_SHADER_4_COMPONENT_MAPPING) noexcept | ||
| 1816 | { | ||
| 1817 | CD3DX12_SHADER_RESOURCE_VIEW_DESC desc; | ||
| 1818 | desc.Format = Format; | ||
| 1819 | desc.ViewDimension = D3D12_SRV_DIMENSION_TEXTURECUBE; | ||
| 1820 | desc.Shader4ComponentMapping = Shader4ComponentMapping; | ||
| 1821 | desc.TextureCube.MostDetailedMip = MostDetailedMip; | ||
| 1822 | desc.TextureCube.MipLevels = MipLevels; | ||
| 1823 | desc.TextureCube.ResourceMinLODClamp = ResourceMinLODClamp; | ||
| 1824 | return desc; | ||
| 1825 | } | ||
| 1826 | |||
| 1827 | static inline CD3DX12_SHADER_RESOURCE_VIEW_DESC TexCubeArray( | ||
| 1828 | DXGI_FORMAT Format, | ||
| 1829 | UINT NumCubes, | ||
| 1830 | UINT MipLevels = -1, | ||
| 1831 | UINT First2DArrayFace = 0, | ||
| 1832 | UINT MostDetailedMip = 0, | ||
| 1833 | FLOAT ResourceMinLODClamp = 0.0f, | ||
| 1834 | UINT Shader4ComponentMapping = D3D12_DEFAULT_SHADER_4_COMPONENT_MAPPING) noexcept | ||
| 1835 | { | ||
| 1836 | CD3DX12_SHADER_RESOURCE_VIEW_DESC desc; | ||
| 1837 | desc.Format = Format; | ||
| 1838 | desc.ViewDimension = D3D12_SRV_DIMENSION_TEXTURECUBEARRAY; | ||
| 1839 | desc.Shader4ComponentMapping = Shader4ComponentMapping; | ||
| 1840 | desc.TextureCubeArray.NumCubes = NumCubes; | ||
| 1841 | desc.TextureCubeArray.MostDetailedMip = MostDetailedMip; | ||
| 1842 | desc.TextureCubeArray.MipLevels = MipLevels; | ||
| 1843 | desc.TextureCubeArray.First2DArrayFace = First2DArrayFace; | ||
| 1844 | desc.TextureCubeArray.ResourceMinLODClamp = ResourceMinLODClamp; | ||
| 1845 | return desc; | ||
| 1846 | } | ||
| 1847 | |||
| 1848 | static inline CD3DX12_SHADER_RESOURCE_VIEW_DESC RaytracingAccelStruct( | ||
| 1849 | D3D12_GPU_VIRTUAL_ADDRESS Location) noexcept | ||
| 1850 | { | ||
| 1851 | CD3DX12_SHADER_RESOURCE_VIEW_DESC desc; | ||
| 1852 | desc.Format = DXGI_FORMAT_UNKNOWN; | ||
| 1853 | desc.ViewDimension = D3D12_SRV_DIMENSION_RAYTRACING_ACCELERATION_STRUCTURE; | ||
| 1854 | desc.Shader4ComponentMapping = D3D12_DEFAULT_SHADER_4_COMPONENT_MAPPING; | ||
| 1855 | desc.RaytracingAccelerationStructure.Location = Location; | ||
| 1856 | return desc; | ||
| 1857 | } | ||
| 1858 | }; | ||
| 1859 | |||
| 1860 | //------------------------------------------------------------------------------------------------ | ||
| 1861 | struct CD3DX12_UNORDERED_ACCESS_VIEW_DESC : public D3D12_UNORDERED_ACCESS_VIEW_DESC | ||
| 1862 | { | ||
| 1863 | CD3DX12_UNORDERED_ACCESS_VIEW_DESC() = default; | ||
| 1864 | explicit CD3DX12_UNORDERED_ACCESS_VIEW_DESC( const D3D12_UNORDERED_ACCESS_VIEW_DESC& o ) noexcept : | ||
| 1865 | D3D12_UNORDERED_ACCESS_VIEW_DESC(o) | ||
| 1866 | {} | ||
| 1867 | |||
| 1868 | static inline CD3DX12_UNORDERED_ACCESS_VIEW_DESC StructuredBuffer( | ||
| 1869 | UINT NumElements, | ||
| 1870 | UINT StructureByteStride, | ||
| 1871 | UINT64 FirstElement = 0, | ||
| 1872 | UINT64 CounterOffsetInBytes = 0) noexcept | ||
| 1873 | { | ||
| 1874 | CD3DX12_UNORDERED_ACCESS_VIEW_DESC desc; | ||
| 1875 | desc.Format = DXGI_FORMAT_UNKNOWN; | ||
| 1876 | desc.ViewDimension = D3D12_UAV_DIMENSION_BUFFER; | ||
| 1877 | desc.Buffer.FirstElement = FirstElement; | ||
| 1878 | desc.Buffer.NumElements = NumElements; | ||
| 1879 | desc.Buffer.StructureByteStride = StructureByteStride; | ||
| 1880 | desc.Buffer.Flags = D3D12_BUFFER_UAV_FLAG_NONE; | ||
| 1881 | desc.Buffer.CounterOffsetInBytes = CounterOffsetInBytes; | ||
| 1882 | return desc; | ||
| 1883 | } | ||
| 1884 | |||
| 1885 | static inline CD3DX12_UNORDERED_ACCESS_VIEW_DESC RawBuffer( | ||
| 1886 | UINT NumElements, | ||
| 1887 | UINT64 FirstElement = 0, | ||
| 1888 | UINT64 CounterOffsetInBytes = 0) noexcept | ||
| 1889 | { | ||
| 1890 | CD3DX12_UNORDERED_ACCESS_VIEW_DESC desc; | ||
| 1891 | desc.Format = DXGI_FORMAT_R32_UINT; | ||
| 1892 | desc.ViewDimension = D3D12_UAV_DIMENSION_BUFFER; | ||
| 1893 | desc.Buffer.FirstElement = FirstElement; | ||
| 1894 | desc.Buffer.NumElements = NumElements; | ||
| 1895 | desc.Buffer.StructureByteStride = 0; | ||
| 1896 | desc.Buffer.Flags = D3D12_BUFFER_UAV_FLAG_RAW; | ||
| 1897 | desc.Buffer.CounterOffsetInBytes = CounterOffsetInBytes; | ||
| 1898 | return desc; | ||
| 1899 | } | ||
| 1900 | |||
| 1901 | static inline CD3DX12_UNORDERED_ACCESS_VIEW_DESC TypedBuffer( | ||
| 1902 | DXGI_FORMAT Format, | ||
| 1903 | UINT NumElements, | ||
| 1904 | UINT64 FirstElement = 0, | ||
| 1905 | UINT64 CounterOffsetInBytes = 0) noexcept | ||
| 1906 | { | ||
| 1907 | CD3DX12_UNORDERED_ACCESS_VIEW_DESC desc; | ||
| 1908 | desc.Format = Format; | ||
| 1909 | desc.ViewDimension = D3D12_UAV_DIMENSION_BUFFER; | ||
| 1910 | desc.Buffer.FirstElement = FirstElement; | ||
| 1911 | desc.Buffer.NumElements = NumElements; | ||
| 1912 | desc.Buffer.StructureByteStride = 0; | ||
| 1913 | desc.Buffer.Flags = D3D12_BUFFER_UAV_FLAG_NONE; | ||
| 1914 | desc.Buffer.CounterOffsetInBytes = CounterOffsetInBytes; | ||
| 1915 | return desc; | ||
| 1916 | } | ||
| 1917 | |||
| 1918 | static inline CD3DX12_UNORDERED_ACCESS_VIEW_DESC Tex1D( | ||
| 1919 | DXGI_FORMAT Format, | ||
| 1920 | UINT MipSlice = 0) noexcept | ||
| 1921 | { | ||
| 1922 | CD3DX12_UNORDERED_ACCESS_VIEW_DESC desc; | ||
| 1923 | desc.Format = Format; | ||
| 1924 | desc.ViewDimension = D3D12_UAV_DIMENSION_TEXTURE1D; | ||
| 1925 | desc.Texture1D.MipSlice = MipSlice; | ||
| 1926 | return desc; | ||
| 1927 | } | ||
| 1928 | |||
| 1929 | static inline CD3DX12_UNORDERED_ACCESS_VIEW_DESC Tex1DArray( | ||
| 1930 | DXGI_FORMAT Format, | ||
| 1931 | UINT ArraySize = -1, | ||
| 1932 | UINT FirstArraySlice = 0, | ||
| 1933 | UINT MipSlice = 0) noexcept | ||
| 1934 | { | ||
| 1935 | CD3DX12_UNORDERED_ACCESS_VIEW_DESC desc; | ||
| 1936 | desc.Format = Format; | ||
| 1937 | desc.ViewDimension = D3D12_UAV_DIMENSION_TEXTURE1DARRAY; | ||
| 1938 | desc.Texture1DArray.MipSlice = MipSlice; | ||
| 1939 | desc.Texture1DArray.FirstArraySlice = FirstArraySlice; | ||
| 1940 | desc.Texture1DArray.ArraySize = ArraySize; | ||
| 1941 | return desc; | ||
| 1942 | } | ||
| 1943 | |||
| 1944 | static inline CD3DX12_UNORDERED_ACCESS_VIEW_DESC Tex2D( | ||
| 1945 | DXGI_FORMAT Format, | ||
| 1946 | UINT MipSlice = 0, | ||
| 1947 | UINT PlaneSlice = 0) noexcept | ||
| 1948 | { | ||
| 1949 | CD3DX12_UNORDERED_ACCESS_VIEW_DESC desc; | ||
| 1950 | desc.Format = Format; | ||
| 1951 | desc.ViewDimension = D3D12_UAV_DIMENSION_TEXTURE2D; | ||
| 1952 | desc.Texture2D.MipSlice = MipSlice; | ||
| 1953 | desc.Texture2D.PlaneSlice = PlaneSlice; | ||
| 1954 | return desc; | ||
| 1955 | } | ||
| 1956 | |||
| 1957 | static inline CD3DX12_UNORDERED_ACCESS_VIEW_DESC Tex2DArray( | ||
| 1958 | DXGI_FORMAT Format, | ||
| 1959 | UINT ArraySize = -1, | ||
| 1960 | UINT FirstArraySlice = 0, | ||
| 1961 | UINT MipSlice = 0, | ||
| 1962 | UINT PlaneSlice = 0) noexcept | ||
| 1963 | { | ||
| 1964 | CD3DX12_UNORDERED_ACCESS_VIEW_DESC desc; | ||
| 1965 | desc.Format = Format; | ||
| 1966 | desc.ViewDimension = D3D12_UAV_DIMENSION_TEXTURE2DARRAY; | ||
| 1967 | desc.Texture2DArray.MipSlice = MipSlice; | ||
| 1968 | desc.Texture2DArray.FirstArraySlice = FirstArraySlice; | ||
| 1969 | desc.Texture2DArray.ArraySize = ArraySize; | ||
| 1970 | desc.Texture2DArray.PlaneSlice = PlaneSlice; | ||
| 1971 | return desc; | ||
| 1972 | } | ||
| 1973 | |||
| 1974 | static inline CD3DX12_UNORDERED_ACCESS_VIEW_DESC Tex2DMS( | ||
| 1975 | DXGI_FORMAT Format) noexcept | ||
| 1976 | { | ||
| 1977 | CD3DX12_UNORDERED_ACCESS_VIEW_DESC desc; | ||
| 1978 | desc.Format = Format; | ||
| 1979 | desc.ViewDimension = D3D12_UAV_DIMENSION_TEXTURE2DMS; | ||
| 1980 | //desc.Texture2DMS.UnusedField_NothingToDefine = 0; | ||
| 1981 | return desc; | ||
| 1982 | } | ||
| 1983 | |||
| 1984 | static inline CD3DX12_UNORDERED_ACCESS_VIEW_DESC Tex2DMSArray( | ||
| 1985 | DXGI_FORMAT Format, | ||
| 1986 | UINT ArraySize = -1, | ||
| 1987 | UINT FirstArraySlice = 0) noexcept | ||
| 1988 | { | ||
| 1989 | CD3DX12_UNORDERED_ACCESS_VIEW_DESC desc; | ||
| 1990 | desc.Format = Format; | ||
| 1991 | desc.ViewDimension = D3D12_UAV_DIMENSION_TEXTURE2DMSARRAY; | ||
| 1992 | desc.Texture2DMSArray.FirstArraySlice = FirstArraySlice; | ||
| 1993 | desc.Texture2DMSArray.ArraySize = ArraySize; | ||
| 1994 | return desc; | ||
| 1995 | } | ||
| 1996 | |||
| 1997 | static inline CD3DX12_UNORDERED_ACCESS_VIEW_DESC Tex3D( | ||
| 1998 | DXGI_FORMAT Format, | ||
| 1999 | UINT WSize = -1, | ||
| 2000 | UINT FirstWSlice = 0, | ||
| 2001 | UINT MipSlice = 0) noexcept | ||
| 2002 | { | ||
| 2003 | CD3DX12_UNORDERED_ACCESS_VIEW_DESC desc; | ||
| 2004 | desc.Format = Format; | ||
| 2005 | desc.ViewDimension = D3D12_UAV_DIMENSION_TEXTURE3D; | ||
| 2006 | desc.Texture3D.MipSlice = MipSlice; | ||
| 2007 | desc.Texture3D.FirstWSlice = FirstWSlice; | ||
| 2008 | desc.Texture3D.WSize = WSize; | ||
| 2009 | return desc; | ||
| 2010 | } | ||
| 2011 | }; | ||
| 2012 | |||
| 2013 | //------------------------------------------------------------------------------------------------ | ||
| 2014 | struct CD3DX12_VIEW_INSTANCING_DESC : public D3D12_VIEW_INSTANCING_DESC | ||
| 2015 | { | ||
| 2016 | CD3DX12_VIEW_INSTANCING_DESC() = default; | ||
| 2017 | explicit CD3DX12_VIEW_INSTANCING_DESC( const D3D12_VIEW_INSTANCING_DESC& o ) noexcept : | ||
| 2018 | D3D12_VIEW_INSTANCING_DESC( o ) | ||
| 2019 | {} | ||
| 2020 | explicit CD3DX12_VIEW_INSTANCING_DESC( CD3DX12_DEFAULT ) noexcept | ||
| 2021 | { | ||
| 2022 | ViewInstanceCount = 0; | ||
| 2023 | pViewInstanceLocations = nullptr; | ||
| 2024 | Flags = D3D12_VIEW_INSTANCING_FLAG_NONE; | ||
| 2025 | } | ||
| 2026 | explicit CD3DX12_VIEW_INSTANCING_DESC( | ||
| 2027 | UINT InViewInstanceCount, | ||
| 2028 | const D3D12_VIEW_INSTANCE_LOCATION* InViewInstanceLocations, | ||
| 2029 | D3D12_VIEW_INSTANCING_FLAGS InFlags) noexcept | ||
| 2030 | { | ||
| 2031 | ViewInstanceCount = InViewInstanceCount; | ||
| 2032 | pViewInstanceLocations = InViewInstanceLocations; | ||
| 2033 | Flags = InFlags; | ||
| 2034 | } | ||
| 2035 | }; | ||
| 2036 | |||
| 2037 | //------------------------------------------------------------------------------------------------ | ||
| 2038 | struct CD3DX12_RT_FORMAT_ARRAY : public D3D12_RT_FORMAT_ARRAY | ||
| 2039 | { | ||
| 2040 | CD3DX12_RT_FORMAT_ARRAY() = default; | ||
| 2041 | explicit CD3DX12_RT_FORMAT_ARRAY(const D3D12_RT_FORMAT_ARRAY& o) noexcept | ||
| 2042 | : D3D12_RT_FORMAT_ARRAY(o) | ||
| 2043 | {} | ||
| 2044 | explicit CD3DX12_RT_FORMAT_ARRAY(_In_reads_(NumFormats) const DXGI_FORMAT* pFormats, UINT NumFormats) noexcept | ||
| 2045 | { | ||
| 2046 | NumRenderTargets = NumFormats; | ||
| 2047 | memcpy(RTFormats, pFormats, sizeof(RTFormats)); | ||
| 2048 | // assumes ARRAY_SIZE(pFormats) == ARRAY_SIZE(RTFormats) | ||
| 2049 | } | ||
| 2050 | }; | ||
| 2051 | |||
| 2052 | //------------------------------------------------------------------------------------------------ | ||
| 2053 | struct CD3DX12_SERIALIZED_ROOT_SIGNATURE_DESC : public D3D12_SERIALIZED_ROOT_SIGNATURE_DESC | ||
| 2054 | { | ||
| 2055 | CD3DX12_SERIALIZED_ROOT_SIGNATURE_DESC() = default; | ||
| 2056 | explicit CD3DX12_SERIALIZED_ROOT_SIGNATURE_DESC(const D3D12_SERIALIZED_ROOT_SIGNATURE_DESC& o) noexcept : | ||
| 2057 | D3D12_SERIALIZED_ROOT_SIGNATURE_DESC(o) | ||
| 2058 | { | ||
| 2059 | } | ||
| 2060 | explicit CD3DX12_SERIALIZED_ROOT_SIGNATURE_DESC( CD3DX12_DEFAULT ) noexcept | ||
| 2061 | { | ||
| 2062 | pSerializedBlob = nullptr; | ||
| 2063 | SerializedBlobSizeInBytes = 0; | ||
| 2064 | } | ||
| 2065 | explicit CD3DX12_SERIALIZED_ROOT_SIGNATURE_DESC( const void* pData, SIZE_T size) noexcept | ||
| 2066 | { | ||
| 2067 | pSerializedBlob = pData; | ||
| 2068 | SerializedBlobSizeInBytes = size; | ||
| 2069 | } | ||
| 2070 | }; | ||
| 2071 | |||
| 2072 | |||
diff --git a/contrib/microsoft.direct3d.d3d12.1.618.4/build/native/include/d3dx12/d3dx12_default.h b/contrib/microsoft.direct3d.d3d12.1.618.4/build/native/include/d3dx12/d3dx12_default.h new file mode 100644 index 0000000..2b74d70 --- /dev/null +++ b/contrib/microsoft.direct3d.d3d12.1.618.4/build/native/include/d3dx12/d3dx12_default.h | |||
| @@ -0,0 +1,12 @@ | |||
| 1 | //********************************************************* | ||
| 2 | // | ||
| 3 | // Copyright (c) Microsoft Corporation. | ||
| 4 | // Licensed under the MIT License (MIT). | ||
| 5 | // | ||
| 6 | //********************************************************* | ||
| 7 | |||
| 8 | #pragma once | ||
| 9 | |||
| 10 | struct CD3DX12_DEFAULT {}; | ||
| 11 | extern const DECLSPEC_SELECTANY CD3DX12_DEFAULT D3D12_DEFAULT; | ||
| 12 | |||
diff --git a/contrib/microsoft.direct3d.d3d12.1.618.4/build/native/include/d3dx12/d3dx12_pipeline_state_stream.h b/contrib/microsoft.direct3d.d3d12.1.618.4/build/native/include/d3dx12/d3dx12_pipeline_state_stream.h new file mode 100644 index 0000000..456583b --- /dev/null +++ b/contrib/microsoft.direct3d.d3d12.1.618.4/build/native/include/d3dx12/d3dx12_pipeline_state_stream.h | |||
| @@ -0,0 +1,1718 @@ | |||
| 1 | //********************************************************* | ||
| 2 | // | ||
| 3 | // Copyright (c) Microsoft Corporation. | ||
| 4 | // Licensed under the MIT License (MIT). | ||
| 5 | // | ||
| 6 | //********************************************************* | ||
| 7 | |||
| 8 | #pragma once | ||
| 9 | |||
| 10 | #ifndef __cplusplus | ||
| 11 | #error D3DX12 requires C++ | ||
| 12 | #endif | ||
| 13 | |||
| 14 | #include "d3dx12_default.h" | ||
| 15 | #include "d3d12.h" | ||
| 16 | #include "d3dx12_core.h" | ||
| 17 | |||
| 18 | //------------------------------------------------------------------------------------------------ | ||
| 19 | // Pipeline State Stream Helpers | ||
| 20 | //------------------------------------------------------------------------------------------------ | ||
| 21 | |||
| 22 | //------------------------------------------------------------------------------------------------ | ||
| 23 | // Stream Subobjects, i.e. elements of a stream | ||
| 24 | |||
| 25 | struct DefaultSampleMask { operator UINT() noexcept { return UINT_MAX; } }; | ||
| 26 | struct DefaultSampleDesc { operator DXGI_SAMPLE_DESC() noexcept { return DXGI_SAMPLE_DESC{1, 0}; } }; | ||
| 27 | |||
| 28 | #ifdef _MSC_VER | ||
| 29 | #pragma warning(push) | ||
| 30 | #pragma warning(disable : 4324) | ||
| 31 | #endif | ||
| 32 | template <typename InnerStructType, D3D12_PIPELINE_STATE_SUBOBJECT_TYPE Type, typename DefaultArg = InnerStructType> | ||
| 33 | class alignas(void*) CD3DX12_PIPELINE_STATE_STREAM_SUBOBJECT | ||
| 34 | { | ||
| 35 | private: | ||
| 36 | D3D12_PIPELINE_STATE_SUBOBJECT_TYPE pssType; | ||
| 37 | InnerStructType pssInner; | ||
| 38 | public: | ||
| 39 | CD3DX12_PIPELINE_STATE_STREAM_SUBOBJECT() noexcept : pssType(Type), pssInner(DefaultArg()) {} | ||
| 40 | CD3DX12_PIPELINE_STATE_STREAM_SUBOBJECT(InnerStructType const& i) noexcept : pssType(Type), pssInner(i) {} | ||
| 41 | CD3DX12_PIPELINE_STATE_STREAM_SUBOBJECT& operator=(InnerStructType const& i) noexcept { pssType = Type; pssInner = i; return *this; } | ||
| 42 | operator InnerStructType const&() const noexcept { return pssInner; } | ||
| 43 | operator InnerStructType&() noexcept { return pssInner; } | ||
| 44 | InnerStructType* operator&() noexcept { return &pssInner; } | ||
| 45 | InnerStructType const* operator&() const noexcept { return &pssInner; } | ||
| 46 | }; | ||
| 47 | #ifdef _MSC_VER | ||
| 48 | #pragma warning(pop) | ||
| 49 | #endif | ||
| 50 | typedef CD3DX12_PIPELINE_STATE_STREAM_SUBOBJECT< D3D12_PIPELINE_STATE_FLAGS, D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_FLAGS> CD3DX12_PIPELINE_STATE_STREAM_FLAGS; | ||
| 51 | typedef CD3DX12_PIPELINE_STATE_STREAM_SUBOBJECT< UINT, D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_NODE_MASK> CD3DX12_PIPELINE_STATE_STREAM_NODE_MASK; | ||
| 52 | typedef CD3DX12_PIPELINE_STATE_STREAM_SUBOBJECT< ID3D12RootSignature*, D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_ROOT_SIGNATURE> CD3DX12_PIPELINE_STATE_STREAM_ROOT_SIGNATURE; | ||
| 53 | typedef CD3DX12_PIPELINE_STATE_STREAM_SUBOBJECT< D3D12_INPUT_LAYOUT_DESC, D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_INPUT_LAYOUT> CD3DX12_PIPELINE_STATE_STREAM_INPUT_LAYOUT; | ||
| 54 | typedef CD3DX12_PIPELINE_STATE_STREAM_SUBOBJECT< D3D12_INDEX_BUFFER_STRIP_CUT_VALUE, D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_IB_STRIP_CUT_VALUE> CD3DX12_PIPELINE_STATE_STREAM_IB_STRIP_CUT_VALUE; | ||
| 55 | typedef CD3DX12_PIPELINE_STATE_STREAM_SUBOBJECT< D3D12_PRIMITIVE_TOPOLOGY_TYPE, D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_PRIMITIVE_TOPOLOGY> CD3DX12_PIPELINE_STATE_STREAM_PRIMITIVE_TOPOLOGY; | ||
| 56 | typedef CD3DX12_PIPELINE_STATE_STREAM_SUBOBJECT< D3D12_SHADER_BYTECODE, D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_VS> CD3DX12_PIPELINE_STATE_STREAM_VS; | ||
| 57 | typedef CD3DX12_PIPELINE_STATE_STREAM_SUBOBJECT< D3D12_SHADER_BYTECODE, D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_GS> CD3DX12_PIPELINE_STATE_STREAM_GS; | ||
| 58 | typedef CD3DX12_PIPELINE_STATE_STREAM_SUBOBJECT< D3D12_STREAM_OUTPUT_DESC, D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_STREAM_OUTPUT> CD3DX12_PIPELINE_STATE_STREAM_STREAM_OUTPUT; | ||
| 59 | typedef CD3DX12_PIPELINE_STATE_STREAM_SUBOBJECT< D3D12_SHADER_BYTECODE, D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_HS> CD3DX12_PIPELINE_STATE_STREAM_HS; | ||
| 60 | typedef CD3DX12_PIPELINE_STATE_STREAM_SUBOBJECT< D3D12_SHADER_BYTECODE, D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_DS> CD3DX12_PIPELINE_STATE_STREAM_DS; | ||
| 61 | typedef CD3DX12_PIPELINE_STATE_STREAM_SUBOBJECT< D3D12_SHADER_BYTECODE, D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_PS> CD3DX12_PIPELINE_STATE_STREAM_PS; | ||
| 62 | typedef CD3DX12_PIPELINE_STATE_STREAM_SUBOBJECT< D3D12_SHADER_BYTECODE, D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_AS> CD3DX12_PIPELINE_STATE_STREAM_AS; | ||
| 63 | typedef CD3DX12_PIPELINE_STATE_STREAM_SUBOBJECT< D3D12_SHADER_BYTECODE, D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_MS> CD3DX12_PIPELINE_STATE_STREAM_MS; | ||
| 64 | typedef CD3DX12_PIPELINE_STATE_STREAM_SUBOBJECT< D3D12_SHADER_BYTECODE, D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_CS> CD3DX12_PIPELINE_STATE_STREAM_CS; | ||
| 65 | typedef CD3DX12_PIPELINE_STATE_STREAM_SUBOBJECT< CD3DX12_BLEND_DESC, D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_BLEND, CD3DX12_DEFAULT> CD3DX12_PIPELINE_STATE_STREAM_BLEND_DESC; | ||
| 66 | typedef CD3DX12_PIPELINE_STATE_STREAM_SUBOBJECT< CD3DX12_DEPTH_STENCIL_DESC, D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_DEPTH_STENCIL, CD3DX12_DEFAULT> CD3DX12_PIPELINE_STATE_STREAM_DEPTH_STENCIL; | ||
| 67 | typedef CD3DX12_PIPELINE_STATE_STREAM_SUBOBJECT< CD3DX12_DEPTH_STENCIL_DESC1, D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_DEPTH_STENCIL1, CD3DX12_DEFAULT> CD3DX12_PIPELINE_STATE_STREAM_DEPTH_STENCIL1; | ||
| 68 | #if defined(D3D12_SDK_VERSION) && (D3D12_SDK_VERSION >= 606) | ||
| 69 | typedef CD3DX12_PIPELINE_STATE_STREAM_SUBOBJECT< CD3DX12_DEPTH_STENCIL_DESC2, D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_DEPTH_STENCIL2, CD3DX12_DEFAULT> CD3DX12_PIPELINE_STATE_STREAM_DEPTH_STENCIL2; | ||
| 70 | #endif | ||
| 71 | typedef CD3DX12_PIPELINE_STATE_STREAM_SUBOBJECT< DXGI_FORMAT, D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_DEPTH_STENCIL_FORMAT> CD3DX12_PIPELINE_STATE_STREAM_DEPTH_STENCIL_FORMAT; | ||
| 72 | typedef CD3DX12_PIPELINE_STATE_STREAM_SUBOBJECT< CD3DX12_RASTERIZER_DESC, D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_RASTERIZER, CD3DX12_DEFAULT> CD3DX12_PIPELINE_STATE_STREAM_RASTERIZER; | ||
| 73 | #if defined(D3D12_SDK_VERSION) && (D3D12_SDK_VERSION >= 608) | ||
| 74 | typedef CD3DX12_PIPELINE_STATE_STREAM_SUBOBJECT< CD3DX12_RASTERIZER_DESC1, D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_RASTERIZER1, CD3DX12_DEFAULT> CD3DX12_PIPELINE_STATE_STREAM_RASTERIZER1; | ||
| 75 | #endif | ||
| 76 | #if defined(D3D12_SDK_VERSION) && (D3D12_SDK_VERSION >= 610) | ||
| 77 | typedef CD3DX12_PIPELINE_STATE_STREAM_SUBOBJECT< CD3DX12_RASTERIZER_DESC2, D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_RASTERIZER2, CD3DX12_DEFAULT> CD3DX12_PIPELINE_STATE_STREAM_RASTERIZER2; | ||
| 78 | #endif | ||
| 79 | typedef CD3DX12_PIPELINE_STATE_STREAM_SUBOBJECT< D3D12_RT_FORMAT_ARRAY, D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_RENDER_TARGET_FORMATS> CD3DX12_PIPELINE_STATE_STREAM_RENDER_TARGET_FORMATS; | ||
| 80 | typedef CD3DX12_PIPELINE_STATE_STREAM_SUBOBJECT< DXGI_SAMPLE_DESC, D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_SAMPLE_DESC, DefaultSampleDesc> CD3DX12_PIPELINE_STATE_STREAM_SAMPLE_DESC; | ||
| 81 | typedef CD3DX12_PIPELINE_STATE_STREAM_SUBOBJECT< UINT, D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_SAMPLE_MASK, DefaultSampleMask> CD3DX12_PIPELINE_STATE_STREAM_SAMPLE_MASK; | ||
| 82 | typedef CD3DX12_PIPELINE_STATE_STREAM_SUBOBJECT< D3D12_CACHED_PIPELINE_STATE, D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_CACHED_PSO> CD3DX12_PIPELINE_STATE_STREAM_CACHED_PSO; | ||
| 83 | typedef CD3DX12_PIPELINE_STATE_STREAM_SUBOBJECT< CD3DX12_VIEW_INSTANCING_DESC, D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_VIEW_INSTANCING, CD3DX12_DEFAULT> CD3DX12_PIPELINE_STATE_STREAM_VIEW_INSTANCING; | ||
| 84 | #if defined(D3D12_SDK_VERSION) && (D3D12_SDK_VERSION >= 618) | ||
| 85 | typedef CD3DX12_PIPELINE_STATE_STREAM_SUBOBJECT<CD3DX12_SERIALIZED_ROOT_SIGNATURE_DESC, D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_SERIALIZED_ROOT_SIGNATURE> CD3DX12_PIPELINE_STATE_STREAM_SERIALIZED_ROOT_SIGNATURE; | ||
| 86 | #endif | ||
| 87 | |||
| 88 | //------------------------------------------------------------------------------------------------ | ||
| 89 | // Stream Parser Helpers | ||
| 90 | |||
| 91 | struct ID3DX12PipelineParserCallbacks | ||
| 92 | { | ||
| 93 | // Subobject Callbacks | ||
| 94 | virtual void FlagsCb(D3D12_PIPELINE_STATE_FLAGS) {} | ||
| 95 | virtual void NodeMaskCb(UINT) {} | ||
| 96 | virtual void RootSignatureCb(ID3D12RootSignature*) {} | ||
| 97 | virtual void InputLayoutCb(const D3D12_INPUT_LAYOUT_DESC&) {} | ||
| 98 | virtual void IBStripCutValueCb(D3D12_INDEX_BUFFER_STRIP_CUT_VALUE) {} | ||
| 99 | virtual void PrimitiveTopologyTypeCb(D3D12_PRIMITIVE_TOPOLOGY_TYPE) {} | ||
| 100 | virtual void VSCb(const D3D12_SHADER_BYTECODE&) {} | ||
| 101 | virtual void GSCb(const D3D12_SHADER_BYTECODE&) {} | ||
| 102 | virtual void StreamOutputCb(const D3D12_STREAM_OUTPUT_DESC&) {} | ||
| 103 | virtual void HSCb(const D3D12_SHADER_BYTECODE&) {} | ||
| 104 | virtual void DSCb(const D3D12_SHADER_BYTECODE&) {} | ||
| 105 | virtual void PSCb(const D3D12_SHADER_BYTECODE&) {} | ||
| 106 | virtual void CSCb(const D3D12_SHADER_BYTECODE&) {} | ||
| 107 | virtual void ASCb(const D3D12_SHADER_BYTECODE&) {} | ||
| 108 | virtual void MSCb(const D3D12_SHADER_BYTECODE&) {} | ||
| 109 | virtual void BlendStateCb(const D3D12_BLEND_DESC&) {} | ||
| 110 | virtual void DepthStencilStateCb(const D3D12_DEPTH_STENCIL_DESC&) {} | ||
| 111 | virtual void DepthStencilState1Cb(const D3D12_DEPTH_STENCIL_DESC1&) {} | ||
| 112 | #if defined(D3D12_SDK_VERSION) && (D3D12_SDK_VERSION >= 606) | ||
| 113 | virtual void DepthStencilState2Cb(const D3D12_DEPTH_STENCIL_DESC2&) {} | ||
| 114 | #endif | ||
| 115 | virtual void DSVFormatCb(DXGI_FORMAT) {} | ||
| 116 | virtual void RasterizerStateCb(const D3D12_RASTERIZER_DESC&) {} | ||
| 117 | #if defined(D3D12_SDK_VERSION) && (D3D12_SDK_VERSION >= 608) | ||
| 118 | virtual void RasterizerState1Cb(const D3D12_RASTERIZER_DESC1&) {} | ||
| 119 | #endif | ||
| 120 | #if defined(D3D12_SDK_VERSION) && (D3D12_SDK_VERSION >= 610) | ||
| 121 | virtual void RasterizerState2Cb(const D3D12_RASTERIZER_DESC2&) {} | ||
| 122 | #endif | ||
| 123 | virtual void RTVFormatsCb(const D3D12_RT_FORMAT_ARRAY&) {} | ||
| 124 | virtual void SampleDescCb(const DXGI_SAMPLE_DESC&) {} | ||
| 125 | virtual void SampleMaskCb(UINT) {} | ||
| 126 | virtual void ViewInstancingCb(const D3D12_VIEW_INSTANCING_DESC&) {} | ||
| 127 | virtual void CachedPSOCb(const D3D12_CACHED_PIPELINE_STATE&) {} | ||
| 128 | #if defined(D3D12_SDK_VERSION) && (D3D12_SDK_VERSION >= 618) | ||
| 129 | virtual void SerializedRootSignatureCb(const D3D12_SERIALIZED_ROOT_SIGNATURE_DESC&) {} | ||
| 130 | #endif | ||
| 131 | |||
| 132 | // Error Callbacks | ||
| 133 | virtual void ErrorBadInputParameter(UINT /*ParameterIndex*/) {} | ||
| 134 | virtual void ErrorDuplicateSubobject(D3D12_PIPELINE_STATE_SUBOBJECT_TYPE /*DuplicateType*/) {} | ||
| 135 | virtual void ErrorUnknownSubobject(UINT /*UnknownTypeValue*/) {} | ||
| 136 | #if defined(D3D12_SDK_VERSION) && (D3D12_SDK_VERSION >= 613) | ||
| 137 | virtual void FinalizeCb() {} | ||
| 138 | #endif | ||
| 139 | |||
| 140 | virtual ~ID3DX12PipelineParserCallbacks() = default; | ||
| 141 | }; | ||
| 142 | |||
| 143 | struct D3DX12_MESH_SHADER_PIPELINE_STATE_DESC | ||
| 144 | { | ||
| 145 | ID3D12RootSignature* pRootSignature; | ||
| 146 | D3D12_SHADER_BYTECODE AS; | ||
| 147 | D3D12_SHADER_BYTECODE MS; | ||
| 148 | D3D12_SHADER_BYTECODE PS; | ||
| 149 | D3D12_BLEND_DESC BlendState; | ||
| 150 | UINT SampleMask; | ||
| 151 | D3D12_RASTERIZER_DESC RasterizerState; | ||
| 152 | D3D12_DEPTH_STENCIL_DESC DepthStencilState; | ||
| 153 | D3D12_PRIMITIVE_TOPOLOGY_TYPE PrimitiveTopologyType; | ||
| 154 | UINT NumRenderTargets; | ||
| 155 | DXGI_FORMAT RTVFormats[ D3D12_SIMULTANEOUS_RENDER_TARGET_COUNT ]; | ||
| 156 | DXGI_FORMAT DSVFormat; | ||
| 157 | DXGI_SAMPLE_DESC SampleDesc; | ||
| 158 | UINT NodeMask; | ||
| 159 | D3D12_CACHED_PIPELINE_STATE CachedPSO; | ||
| 160 | D3D12_PIPELINE_STATE_FLAGS Flags; | ||
| 161 | }; | ||
| 162 | |||
| 163 | #if defined(D3D12_SDK_VERSION) && (D3D12_SDK_VERSION >= 618) | ||
| 164 | struct CD3DX12_PIPELINE_STATE_STREAM6 | ||
| 165 | { | ||
| 166 | CD3DX12_PIPELINE_STATE_STREAM6() = default; | ||
| 167 | // Mesh and amplification shaders must be set manually, since they do not have representation in D3D12_GRAPHICS_PIPELINE_STATE_DESC | ||
| 168 | CD3DX12_PIPELINE_STATE_STREAM6(const D3D12_GRAPHICS_PIPELINE_STATE_DESC& Desc) noexcept | ||
| 169 | : Flags(Desc.Flags) | ||
| 170 | , NodeMask(Desc.NodeMask) | ||
| 171 | , pRootSignature(Desc.pRootSignature) | ||
| 172 | , InputLayout(Desc.InputLayout) | ||
| 173 | , IBStripCutValue(Desc.IBStripCutValue) | ||
| 174 | , PrimitiveTopologyType(Desc.PrimitiveTopologyType) | ||
| 175 | , VS(Desc.VS) | ||
| 176 | , GS(Desc.GS) | ||
| 177 | , StreamOutput(Desc.StreamOutput) | ||
| 178 | , HS(Desc.HS) | ||
| 179 | , DS(Desc.DS) | ||
| 180 | , PS(Desc.PS) | ||
| 181 | , BlendState(CD3DX12_BLEND_DESC(Desc.BlendState)) | ||
| 182 | , DepthStencilState(CD3DX12_DEPTH_STENCIL_DESC2(Desc.DepthStencilState)) | ||
| 183 | , DSVFormat(Desc.DSVFormat) | ||
| 184 | , RasterizerState(CD3DX12_RASTERIZER_DESC2(Desc.RasterizerState)) | ||
| 185 | , RTVFormats(CD3DX12_RT_FORMAT_ARRAY(Desc.RTVFormats, Desc.NumRenderTargets)) | ||
| 186 | , SampleDesc(Desc.SampleDesc) | ||
| 187 | , SampleMask(Desc.SampleMask) | ||
| 188 | , CachedPSO(Desc.CachedPSO) | ||
| 189 | , ViewInstancingDesc(CD3DX12_VIEW_INSTANCING_DESC(CD3DX12_DEFAULT())) | ||
| 190 | , SerializedRootSignature(CD3DX12_SERIALIZED_ROOT_SIGNATURE_DESC(CD3DX12_DEFAULT())) | ||
| 191 | { | ||
| 192 | } | ||
| 193 | CD3DX12_PIPELINE_STATE_STREAM6(const D3DX12_MESH_SHADER_PIPELINE_STATE_DESC& Desc) noexcept | ||
| 194 | : Flags(Desc.Flags) | ||
| 195 | , NodeMask(Desc.NodeMask) | ||
| 196 | , pRootSignature(Desc.pRootSignature) | ||
| 197 | , PrimitiveTopologyType(Desc.PrimitiveTopologyType) | ||
| 198 | , PS(Desc.PS) | ||
| 199 | , AS(Desc.AS) | ||
| 200 | , MS(Desc.MS) | ||
| 201 | , BlendState(CD3DX12_BLEND_DESC(Desc.BlendState)) | ||
| 202 | , DepthStencilState(CD3DX12_DEPTH_STENCIL_DESC2(Desc.DepthStencilState)) | ||
| 203 | , DSVFormat(Desc.DSVFormat) | ||
| 204 | , RasterizerState(CD3DX12_RASTERIZER_DESC2(Desc.RasterizerState)) | ||
| 205 | , RTVFormats(CD3DX12_RT_FORMAT_ARRAY(Desc.RTVFormats, Desc.NumRenderTargets)) | ||
| 206 | , SampleDesc(Desc.SampleDesc) | ||
| 207 | , SampleMask(Desc.SampleMask) | ||
| 208 | , CachedPSO(Desc.CachedPSO) | ||
| 209 | , ViewInstancingDesc(CD3DX12_VIEW_INSTANCING_DESC(CD3DX12_DEFAULT())) | ||
| 210 | , SerializedRootSignature(CD3DX12_SERIALIZED_ROOT_SIGNATURE_DESC(CD3DX12_DEFAULT())) | ||
| 211 | { | ||
| 212 | } | ||
| 213 | CD3DX12_PIPELINE_STATE_STREAM6(const D3D12_COMPUTE_PIPELINE_STATE_DESC& Desc) noexcept | ||
| 214 | : Flags(Desc.Flags) | ||
| 215 | , NodeMask(Desc.NodeMask) | ||
| 216 | , pRootSignature(Desc.pRootSignature) | ||
| 217 | , CS(CD3DX12_SHADER_BYTECODE(Desc.CS)) | ||
| 218 | , CachedPSO(Desc.CachedPSO) | ||
| 219 | , SerializedRootSignature(CD3DX12_SERIALIZED_ROOT_SIGNATURE_DESC(CD3DX12_DEFAULT())) | ||
| 220 | { | ||
| 221 | static_cast<D3D12_DEPTH_STENCIL_DESC2&>(DepthStencilState).DepthEnable = false; | ||
| 222 | } | ||
| 223 | CD3DX12_PIPELINE_STATE_STREAM_FLAGS Flags; | ||
| 224 | CD3DX12_PIPELINE_STATE_STREAM_NODE_MASK NodeMask; | ||
| 225 | CD3DX12_PIPELINE_STATE_STREAM_ROOT_SIGNATURE pRootSignature; | ||
| 226 | CD3DX12_PIPELINE_STATE_STREAM_INPUT_LAYOUT InputLayout; | ||
| 227 | CD3DX12_PIPELINE_STATE_STREAM_IB_STRIP_CUT_VALUE IBStripCutValue; | ||
| 228 | CD3DX12_PIPELINE_STATE_STREAM_PRIMITIVE_TOPOLOGY PrimitiveTopologyType; | ||
| 229 | CD3DX12_PIPELINE_STATE_STREAM_VS VS; | ||
| 230 | CD3DX12_PIPELINE_STATE_STREAM_GS GS; | ||
| 231 | CD3DX12_PIPELINE_STATE_STREAM_STREAM_OUTPUT StreamOutput; | ||
| 232 | CD3DX12_PIPELINE_STATE_STREAM_HS HS; | ||
| 233 | CD3DX12_PIPELINE_STATE_STREAM_DS DS; | ||
| 234 | CD3DX12_PIPELINE_STATE_STREAM_PS PS; | ||
| 235 | CD3DX12_PIPELINE_STATE_STREAM_AS AS; | ||
| 236 | CD3DX12_PIPELINE_STATE_STREAM_MS MS; | ||
| 237 | CD3DX12_PIPELINE_STATE_STREAM_CS CS; | ||
| 238 | CD3DX12_PIPELINE_STATE_STREAM_BLEND_DESC BlendState; | ||
| 239 | CD3DX12_PIPELINE_STATE_STREAM_DEPTH_STENCIL2 DepthStencilState; | ||
| 240 | CD3DX12_PIPELINE_STATE_STREAM_DEPTH_STENCIL_FORMAT DSVFormat; | ||
| 241 | CD3DX12_PIPELINE_STATE_STREAM_RASTERIZER2 RasterizerState; | ||
| 242 | CD3DX12_PIPELINE_STATE_STREAM_RENDER_TARGET_FORMATS RTVFormats; | ||
| 243 | CD3DX12_PIPELINE_STATE_STREAM_SAMPLE_DESC SampleDesc; | ||
| 244 | CD3DX12_PIPELINE_STATE_STREAM_SAMPLE_MASK SampleMask; | ||
| 245 | CD3DX12_PIPELINE_STATE_STREAM_CACHED_PSO CachedPSO; | ||
| 246 | CD3DX12_PIPELINE_STATE_STREAM_VIEW_INSTANCING ViewInstancingDesc; | ||
| 247 | CD3DX12_PIPELINE_STATE_STREAM_SERIALIZED_ROOT_SIGNATURE SerializedRootSignature; | ||
| 248 | |||
| 249 | D3D12_GRAPHICS_PIPELINE_STATE_DESC GraphicsDescV0() const noexcept | ||
| 250 | { | ||
| 251 | D3D12_GRAPHICS_PIPELINE_STATE_DESC D; | ||
| 252 | D.Flags = this->Flags; | ||
| 253 | D.NodeMask = this->NodeMask; | ||
| 254 | D.pRootSignature = this->pRootSignature; | ||
| 255 | D.InputLayout = this->InputLayout; | ||
| 256 | D.IBStripCutValue = this->IBStripCutValue; | ||
| 257 | D.PrimitiveTopologyType = this->PrimitiveTopologyType; | ||
| 258 | D.VS = this->VS; | ||
| 259 | D.GS = this->GS; | ||
| 260 | D.StreamOutput = this->StreamOutput; | ||
| 261 | D.HS = this->HS; | ||
| 262 | D.DS = this->DS; | ||
| 263 | D.PS = this->PS; | ||
| 264 | D.BlendState = this->BlendState; | ||
| 265 | D.DepthStencilState = CD3DX12_DEPTH_STENCIL_DESC2(D3D12_DEPTH_STENCIL_DESC2(this->DepthStencilState)); | ||
| 266 | D.DSVFormat = this->DSVFormat; | ||
| 267 | D.RasterizerState = CD3DX12_RASTERIZER_DESC2(D3D12_RASTERIZER_DESC2(this->RasterizerState)); | ||
| 268 | D.NumRenderTargets = D3D12_RT_FORMAT_ARRAY(this->RTVFormats).NumRenderTargets; | ||
| 269 | memcpy(D.RTVFormats, D3D12_RT_FORMAT_ARRAY(this->RTVFormats).RTFormats, sizeof(D.RTVFormats)); | ||
| 270 | D.SampleDesc = this->SampleDesc; | ||
| 271 | D.SampleMask = this->SampleMask; | ||
| 272 | D.CachedPSO = this->CachedPSO; | ||
| 273 | return D; | ||
| 274 | } | ||
| 275 | D3D12_COMPUTE_PIPELINE_STATE_DESC ComputeDescV0() const noexcept | ||
| 276 | { | ||
| 277 | D3D12_COMPUTE_PIPELINE_STATE_DESC D; | ||
| 278 | D.Flags = this->Flags; | ||
| 279 | D.NodeMask = this->NodeMask; | ||
| 280 | D.pRootSignature = this->pRootSignature; | ||
| 281 | D.CS = this->CS; | ||
| 282 | D.CachedPSO = this->CachedPSO; | ||
| 283 | return D; | ||
| 284 | } | ||
| 285 | }; | ||
| 286 | #endif | ||
| 287 | |||
| 288 | #if defined(D3D12_SDK_VERSION) && (D3D12_SDK_VERSION >= 610) | ||
| 289 | // Use CD3DX12_PIPELINE_STATE_STREAM5 for D3D12_RASTERIZER_DESC2 when CheckFeatureSupport returns true for Options19::RasterizerDesc2Supported is true | ||
| 290 | // Use CD3DX12_PIPELINE_STATE_STREAM4 for D3D12_RASTERIZER_DESC1 when CheckFeatureSupport returns true for Options16::DynamicDepthBiasSupported is true | ||
| 291 | // Use CD3DX12_PIPELINE_STATE_STREAM3 for D3D12_DEPTH_STENCIL_DESC2 when CheckFeatureSupport returns true for Options14::IndependentFrontAndBackStencilSupported is true | ||
| 292 | // Use CD3DX12_PIPELINE_STATE_STREAM2 for OS Build 19041+ (where there is a new mesh shader pipeline). | ||
| 293 | // Use CD3DX12_PIPELINE_STATE_STREAM1 for OS Build 16299+ (where there is a new view instancing subobject). | ||
| 294 | // Use CD3DX12_PIPELINE_STATE_STREAM for OS Build 15063+ support. | ||
| 295 | struct CD3DX12_PIPELINE_STATE_STREAM5 | ||
| 296 | { | ||
| 297 | CD3DX12_PIPELINE_STATE_STREAM5() = default; | ||
| 298 | // Mesh and amplification shaders must be set manually, since they do not have representation in D3D12_GRAPHICS_PIPELINE_STATE_DESC | ||
| 299 | CD3DX12_PIPELINE_STATE_STREAM5(const D3D12_GRAPHICS_PIPELINE_STATE_DESC& Desc) noexcept | ||
| 300 | : Flags(Desc.Flags) | ||
| 301 | , NodeMask(Desc.NodeMask) | ||
| 302 | , pRootSignature(Desc.pRootSignature) | ||
| 303 | , InputLayout(Desc.InputLayout) | ||
| 304 | , IBStripCutValue(Desc.IBStripCutValue) | ||
| 305 | , PrimitiveTopologyType(Desc.PrimitiveTopologyType) | ||
| 306 | , VS(Desc.VS) | ||
| 307 | , GS(Desc.GS) | ||
| 308 | , StreamOutput(Desc.StreamOutput) | ||
| 309 | , HS(Desc.HS) | ||
| 310 | , DS(Desc.DS) | ||
| 311 | , PS(Desc.PS) | ||
| 312 | , BlendState(CD3DX12_BLEND_DESC(Desc.BlendState)) | ||
| 313 | , DepthStencilState(CD3DX12_DEPTH_STENCIL_DESC2(Desc.DepthStencilState)) | ||
| 314 | , DSVFormat(Desc.DSVFormat) | ||
| 315 | , RasterizerState(CD3DX12_RASTERIZER_DESC2(Desc.RasterizerState)) | ||
| 316 | , RTVFormats(CD3DX12_RT_FORMAT_ARRAY(Desc.RTVFormats, Desc.NumRenderTargets)) | ||
| 317 | , SampleDesc(Desc.SampleDesc) | ||
| 318 | , SampleMask(Desc.SampleMask) | ||
| 319 | , CachedPSO(Desc.CachedPSO) | ||
| 320 | , ViewInstancingDesc(CD3DX12_VIEW_INSTANCING_DESC(CD3DX12_DEFAULT())) | ||
| 321 | {} | ||
| 322 | CD3DX12_PIPELINE_STATE_STREAM5(const D3DX12_MESH_SHADER_PIPELINE_STATE_DESC& Desc) noexcept | ||
| 323 | : Flags(Desc.Flags) | ||
| 324 | , NodeMask(Desc.NodeMask) | ||
| 325 | , pRootSignature(Desc.pRootSignature) | ||
| 326 | , PrimitiveTopologyType(Desc.PrimitiveTopologyType) | ||
| 327 | , PS(Desc.PS) | ||
| 328 | , AS(Desc.AS) | ||
| 329 | , MS(Desc.MS) | ||
| 330 | , BlendState(CD3DX12_BLEND_DESC(Desc.BlendState)) | ||
| 331 | , DepthStencilState(CD3DX12_DEPTH_STENCIL_DESC2(Desc.DepthStencilState)) | ||
| 332 | , DSVFormat(Desc.DSVFormat) | ||
| 333 | , RasterizerState(CD3DX12_RASTERIZER_DESC2(Desc.RasterizerState)) | ||
| 334 | , RTVFormats(CD3DX12_RT_FORMAT_ARRAY(Desc.RTVFormats, Desc.NumRenderTargets)) | ||
| 335 | , SampleDesc(Desc.SampleDesc) | ||
| 336 | , SampleMask(Desc.SampleMask) | ||
| 337 | , CachedPSO(Desc.CachedPSO) | ||
| 338 | , ViewInstancingDesc(CD3DX12_VIEW_INSTANCING_DESC(CD3DX12_DEFAULT())) | ||
| 339 | {} | ||
| 340 | CD3DX12_PIPELINE_STATE_STREAM5(const D3D12_COMPUTE_PIPELINE_STATE_DESC& Desc) noexcept | ||
| 341 | : Flags(Desc.Flags) | ||
| 342 | , NodeMask(Desc.NodeMask) | ||
| 343 | , pRootSignature(Desc.pRootSignature) | ||
| 344 | , CS(CD3DX12_SHADER_BYTECODE(Desc.CS)) | ||
| 345 | , CachedPSO(Desc.CachedPSO) | ||
| 346 | { | ||
| 347 | static_cast<D3D12_DEPTH_STENCIL_DESC2&>(DepthStencilState).DepthEnable = false; | ||
| 348 | } | ||
| 349 | CD3DX12_PIPELINE_STATE_STREAM_FLAGS Flags; | ||
| 350 | CD3DX12_PIPELINE_STATE_STREAM_NODE_MASK NodeMask; | ||
| 351 | CD3DX12_PIPELINE_STATE_STREAM_ROOT_SIGNATURE pRootSignature; | ||
| 352 | CD3DX12_PIPELINE_STATE_STREAM_INPUT_LAYOUT InputLayout; | ||
| 353 | CD3DX12_PIPELINE_STATE_STREAM_IB_STRIP_CUT_VALUE IBStripCutValue; | ||
| 354 | CD3DX12_PIPELINE_STATE_STREAM_PRIMITIVE_TOPOLOGY PrimitiveTopologyType; | ||
| 355 | CD3DX12_PIPELINE_STATE_STREAM_VS VS; | ||
| 356 | CD3DX12_PIPELINE_STATE_STREAM_GS GS; | ||
| 357 | CD3DX12_PIPELINE_STATE_STREAM_STREAM_OUTPUT StreamOutput; | ||
| 358 | CD3DX12_PIPELINE_STATE_STREAM_HS HS; | ||
| 359 | CD3DX12_PIPELINE_STATE_STREAM_DS DS; | ||
| 360 | CD3DX12_PIPELINE_STATE_STREAM_PS PS; | ||
| 361 | CD3DX12_PIPELINE_STATE_STREAM_AS AS; | ||
| 362 | CD3DX12_PIPELINE_STATE_STREAM_MS MS; | ||
| 363 | CD3DX12_PIPELINE_STATE_STREAM_CS CS; | ||
| 364 | CD3DX12_PIPELINE_STATE_STREAM_BLEND_DESC BlendState; | ||
| 365 | CD3DX12_PIPELINE_STATE_STREAM_DEPTH_STENCIL2 DepthStencilState; | ||
| 366 | CD3DX12_PIPELINE_STATE_STREAM_DEPTH_STENCIL_FORMAT DSVFormat; | ||
| 367 | CD3DX12_PIPELINE_STATE_STREAM_RASTERIZER2 RasterizerState; | ||
| 368 | CD3DX12_PIPELINE_STATE_STREAM_RENDER_TARGET_FORMATS RTVFormats; | ||
| 369 | CD3DX12_PIPELINE_STATE_STREAM_SAMPLE_DESC SampleDesc; | ||
| 370 | CD3DX12_PIPELINE_STATE_STREAM_SAMPLE_MASK SampleMask; | ||
| 371 | CD3DX12_PIPELINE_STATE_STREAM_CACHED_PSO CachedPSO; | ||
| 372 | CD3DX12_PIPELINE_STATE_STREAM_VIEW_INSTANCING ViewInstancingDesc; | ||
| 373 | |||
| 374 | D3D12_GRAPHICS_PIPELINE_STATE_DESC GraphicsDescV0() const noexcept | ||
| 375 | { | ||
| 376 | D3D12_GRAPHICS_PIPELINE_STATE_DESC D; | ||
| 377 | D.Flags = this->Flags; | ||
| 378 | D.NodeMask = this->NodeMask; | ||
| 379 | D.pRootSignature = this->pRootSignature; | ||
| 380 | D.InputLayout = this->InputLayout; | ||
| 381 | D.IBStripCutValue = this->IBStripCutValue; | ||
| 382 | D.PrimitiveTopologyType = this->PrimitiveTopologyType; | ||
| 383 | D.VS = this->VS; | ||
| 384 | D.GS = this->GS; | ||
| 385 | D.StreamOutput = this->StreamOutput; | ||
| 386 | D.HS = this->HS; | ||
| 387 | D.DS = this->DS; | ||
| 388 | D.PS = this->PS; | ||
| 389 | D.BlendState = this->BlendState; | ||
| 390 | D.DepthStencilState = CD3DX12_DEPTH_STENCIL_DESC2(D3D12_DEPTH_STENCIL_DESC2(this->DepthStencilState)); | ||
| 391 | D.DSVFormat = this->DSVFormat; | ||
| 392 | D.RasterizerState = CD3DX12_RASTERIZER_DESC2(D3D12_RASTERIZER_DESC2(this->RasterizerState)); | ||
| 393 | D.NumRenderTargets = D3D12_RT_FORMAT_ARRAY(this->RTVFormats).NumRenderTargets; | ||
| 394 | memcpy(D.RTVFormats, D3D12_RT_FORMAT_ARRAY(this->RTVFormats).RTFormats, sizeof(D.RTVFormats)); | ||
| 395 | D.SampleDesc = this->SampleDesc; | ||
| 396 | D.SampleMask = this->SampleMask; | ||
| 397 | D.CachedPSO = this->CachedPSO; | ||
| 398 | return D; | ||
| 399 | } | ||
| 400 | D3D12_COMPUTE_PIPELINE_STATE_DESC ComputeDescV0() const noexcept | ||
| 401 | { | ||
| 402 | D3D12_COMPUTE_PIPELINE_STATE_DESC D; | ||
| 403 | D.Flags = this->Flags; | ||
| 404 | D.NodeMask = this->NodeMask; | ||
| 405 | D.pRootSignature = this->pRootSignature; | ||
| 406 | D.CS = this->CS; | ||
| 407 | D.CachedPSO = this->CachedPSO; | ||
| 408 | return D; | ||
| 409 | } | ||
| 410 | }; | ||
| 411 | #endif // D3D12_SDK_VERSION >= 610 | ||
| 412 | |||
| 413 | #if defined(D3D12_SDK_VERSION) && (D3D12_SDK_VERSION >= 608) | ||
| 414 | // Use CD3DX12_PIPELINE_STATE_STREAM4 for D3D12_RASTERIZER_DESC1 when CheckFeatureSupport returns true for Options16::DynamicDepthBiasSupported is true | ||
| 415 | // Use CD3DX12_PIPELINE_STATE_STREAM3 for D3D12_DEPTH_STENCIL_DESC2 when CheckFeatureSupport returns true for Options14::IndependentFrontAndBackStencilSupported is true | ||
| 416 | // Use CD3DX12_PIPELINE_STATE_STREAM2 for OS Build 19041+ (where there is a new mesh shader pipeline). | ||
| 417 | // Use CD3DX12_PIPELINE_STATE_STREAM1 for OS Build 16299+ (where there is a new view instancing subobject). | ||
| 418 | // Use CD3DX12_PIPELINE_STATE_STREAM for OS Build 15063+ support. | ||
| 419 | struct CD3DX12_PIPELINE_STATE_STREAM4 | ||
| 420 | { | ||
| 421 | CD3DX12_PIPELINE_STATE_STREAM4() = default; | ||
| 422 | // Mesh and amplification shaders must be set manually, since they do not have representation in D3D12_GRAPHICS_PIPELINE_STATE_DESC | ||
| 423 | CD3DX12_PIPELINE_STATE_STREAM4(const D3D12_GRAPHICS_PIPELINE_STATE_DESC& Desc) noexcept | ||
| 424 | : Flags(Desc.Flags) | ||
| 425 | , NodeMask(Desc.NodeMask) | ||
| 426 | , pRootSignature(Desc.pRootSignature) | ||
| 427 | , InputLayout(Desc.InputLayout) | ||
| 428 | , IBStripCutValue(Desc.IBStripCutValue) | ||
| 429 | , PrimitiveTopologyType(Desc.PrimitiveTopologyType) | ||
| 430 | , VS(Desc.VS) | ||
| 431 | , GS(Desc.GS) | ||
| 432 | , StreamOutput(Desc.StreamOutput) | ||
| 433 | , HS(Desc.HS) | ||
| 434 | , DS(Desc.DS) | ||
| 435 | , PS(Desc.PS) | ||
| 436 | , BlendState(CD3DX12_BLEND_DESC(Desc.BlendState)) | ||
| 437 | , DepthStencilState(CD3DX12_DEPTH_STENCIL_DESC2(Desc.DepthStencilState)) | ||
| 438 | , DSVFormat(Desc.DSVFormat) | ||
| 439 | , RasterizerState(CD3DX12_RASTERIZER_DESC1(Desc.RasterizerState)) | ||
| 440 | , RTVFormats(CD3DX12_RT_FORMAT_ARRAY(Desc.RTVFormats, Desc.NumRenderTargets)) | ||
| 441 | , SampleDesc(Desc.SampleDesc) | ||
| 442 | , SampleMask(Desc.SampleMask) | ||
| 443 | , CachedPSO(Desc.CachedPSO) | ||
| 444 | , ViewInstancingDesc(CD3DX12_VIEW_INSTANCING_DESC(CD3DX12_DEFAULT())) | ||
| 445 | {} | ||
| 446 | CD3DX12_PIPELINE_STATE_STREAM4(const D3DX12_MESH_SHADER_PIPELINE_STATE_DESC& Desc) noexcept | ||
| 447 | : Flags(Desc.Flags) | ||
| 448 | , NodeMask(Desc.NodeMask) | ||
| 449 | , pRootSignature(Desc.pRootSignature) | ||
| 450 | , PrimitiveTopologyType(Desc.PrimitiveTopologyType) | ||
| 451 | , PS(Desc.PS) | ||
| 452 | , AS(Desc.AS) | ||
| 453 | , MS(Desc.MS) | ||
| 454 | , BlendState(CD3DX12_BLEND_DESC(Desc.BlendState)) | ||
| 455 | , DepthStencilState(CD3DX12_DEPTH_STENCIL_DESC2(Desc.DepthStencilState)) | ||
| 456 | , DSVFormat(Desc.DSVFormat) | ||
| 457 | , RasterizerState(CD3DX12_RASTERIZER_DESC1(Desc.RasterizerState)) | ||
| 458 | , RTVFormats(CD3DX12_RT_FORMAT_ARRAY(Desc.RTVFormats, Desc.NumRenderTargets)) | ||
| 459 | , SampleDesc(Desc.SampleDesc) | ||
| 460 | , SampleMask(Desc.SampleMask) | ||
| 461 | , CachedPSO(Desc.CachedPSO) | ||
| 462 | , ViewInstancingDesc(CD3DX12_VIEW_INSTANCING_DESC(CD3DX12_DEFAULT())) | ||
| 463 | {} | ||
| 464 | CD3DX12_PIPELINE_STATE_STREAM4(const D3D12_COMPUTE_PIPELINE_STATE_DESC& Desc) noexcept | ||
| 465 | : Flags(Desc.Flags) | ||
| 466 | , NodeMask(Desc.NodeMask) | ||
| 467 | , pRootSignature(Desc.pRootSignature) | ||
| 468 | , CS(CD3DX12_SHADER_BYTECODE(Desc.CS)) | ||
| 469 | , CachedPSO(Desc.CachedPSO) | ||
| 470 | { | ||
| 471 | static_cast<D3D12_DEPTH_STENCIL_DESC2&>(DepthStencilState).DepthEnable = false; | ||
| 472 | } | ||
| 473 | CD3DX12_PIPELINE_STATE_STREAM_FLAGS Flags; | ||
| 474 | CD3DX12_PIPELINE_STATE_STREAM_NODE_MASK NodeMask; | ||
| 475 | CD3DX12_PIPELINE_STATE_STREAM_ROOT_SIGNATURE pRootSignature; | ||
| 476 | CD3DX12_PIPELINE_STATE_STREAM_INPUT_LAYOUT InputLayout; | ||
| 477 | CD3DX12_PIPELINE_STATE_STREAM_IB_STRIP_CUT_VALUE IBStripCutValue; | ||
| 478 | CD3DX12_PIPELINE_STATE_STREAM_PRIMITIVE_TOPOLOGY PrimitiveTopologyType; | ||
| 479 | CD3DX12_PIPELINE_STATE_STREAM_VS VS; | ||
| 480 | CD3DX12_PIPELINE_STATE_STREAM_GS GS; | ||
| 481 | CD3DX12_PIPELINE_STATE_STREAM_STREAM_OUTPUT StreamOutput; | ||
| 482 | CD3DX12_PIPELINE_STATE_STREAM_HS HS; | ||
| 483 | CD3DX12_PIPELINE_STATE_STREAM_DS DS; | ||
| 484 | CD3DX12_PIPELINE_STATE_STREAM_PS PS; | ||
| 485 | CD3DX12_PIPELINE_STATE_STREAM_AS AS; | ||
| 486 | CD3DX12_PIPELINE_STATE_STREAM_MS MS; | ||
| 487 | CD3DX12_PIPELINE_STATE_STREAM_CS CS; | ||
| 488 | CD3DX12_PIPELINE_STATE_STREAM_BLEND_DESC BlendState; | ||
| 489 | CD3DX12_PIPELINE_STATE_STREAM_DEPTH_STENCIL2 DepthStencilState; | ||
| 490 | CD3DX12_PIPELINE_STATE_STREAM_DEPTH_STENCIL_FORMAT DSVFormat; | ||
| 491 | CD3DX12_PIPELINE_STATE_STREAM_RASTERIZER1 RasterizerState; | ||
| 492 | CD3DX12_PIPELINE_STATE_STREAM_RENDER_TARGET_FORMATS RTVFormats; | ||
| 493 | CD3DX12_PIPELINE_STATE_STREAM_SAMPLE_DESC SampleDesc; | ||
| 494 | CD3DX12_PIPELINE_STATE_STREAM_SAMPLE_MASK SampleMask; | ||
| 495 | CD3DX12_PIPELINE_STATE_STREAM_CACHED_PSO CachedPSO; | ||
| 496 | CD3DX12_PIPELINE_STATE_STREAM_VIEW_INSTANCING ViewInstancingDesc; | ||
| 497 | |||
| 498 | D3D12_GRAPHICS_PIPELINE_STATE_DESC GraphicsDescV0() const noexcept | ||
| 499 | { | ||
| 500 | D3D12_GRAPHICS_PIPELINE_STATE_DESC D; | ||
| 501 | D.Flags = this->Flags; | ||
| 502 | D.NodeMask = this->NodeMask; | ||
| 503 | D.pRootSignature = this->pRootSignature; | ||
| 504 | D.InputLayout = this->InputLayout; | ||
| 505 | D.IBStripCutValue = this->IBStripCutValue; | ||
| 506 | D.PrimitiveTopologyType = this->PrimitiveTopologyType; | ||
| 507 | D.VS = this->VS; | ||
| 508 | D.GS = this->GS; | ||
| 509 | D.StreamOutput = this->StreamOutput; | ||
| 510 | D.HS = this->HS; | ||
| 511 | D.DS = this->DS; | ||
| 512 | D.PS = this->PS; | ||
| 513 | D.BlendState = this->BlendState; | ||
| 514 | D.DepthStencilState = CD3DX12_DEPTH_STENCIL_DESC2(D3D12_DEPTH_STENCIL_DESC2(this->DepthStencilState)); | ||
| 515 | D.DSVFormat = this->DSVFormat; | ||
| 516 | D.RasterizerState = CD3DX12_RASTERIZER_DESC1(D3D12_RASTERIZER_DESC1(this->RasterizerState)); | ||
| 517 | D.NumRenderTargets = D3D12_RT_FORMAT_ARRAY(this->RTVFormats).NumRenderTargets; | ||
| 518 | memcpy(D.RTVFormats, D3D12_RT_FORMAT_ARRAY(this->RTVFormats).RTFormats, sizeof(D.RTVFormats)); | ||
| 519 | D.SampleDesc = this->SampleDesc; | ||
| 520 | D.SampleMask = this->SampleMask; | ||
| 521 | D.CachedPSO = this->CachedPSO; | ||
| 522 | return D; | ||
| 523 | } | ||
| 524 | D3D12_COMPUTE_PIPELINE_STATE_DESC ComputeDescV0() const noexcept | ||
| 525 | { | ||
| 526 | D3D12_COMPUTE_PIPELINE_STATE_DESC D; | ||
| 527 | D.Flags = this->Flags; | ||
| 528 | D.NodeMask = this->NodeMask; | ||
| 529 | D.pRootSignature = this->pRootSignature; | ||
| 530 | D.CS = this->CS; | ||
| 531 | D.CachedPSO = this->CachedPSO; | ||
| 532 | return D; | ||
| 533 | } | ||
| 534 | }; | ||
| 535 | #endif // D3D12_SDK_VERSION >= 608 | ||
| 536 | |||
| 537 | #if defined(D3D12_SDK_VERSION) && (D3D12_SDK_VERSION >= 606) | ||
| 538 | // Use CD3DX12_PIPELINE_STATE_STREAM3 for D3D12_DEPTH_STENCIL_DESC2 when CheckFeatureSupport returns true for Options14::IndependentFrontAndBackStencilSupported is true | ||
| 539 | // Use CD3DX12_PIPELINE_STATE_STREAM2 for OS Build 19041+ (where there is a new mesh shader pipeline). | ||
| 540 | // Use CD3DX12_PIPELINE_STATE_STREAM1 for OS Build 16299+ (where there is a new view instancing subobject). | ||
| 541 | // Use CD3DX12_PIPELINE_STATE_STREAM for OS Build 15063+ support. | ||
| 542 | struct CD3DX12_PIPELINE_STATE_STREAM3 | ||
| 543 | { | ||
| 544 | CD3DX12_PIPELINE_STATE_STREAM3() = default; | ||
| 545 | // Mesh and amplification shaders must be set manually, since they do not have representation in D3D12_GRAPHICS_PIPELINE_STATE_DESC | ||
| 546 | CD3DX12_PIPELINE_STATE_STREAM3(const D3D12_GRAPHICS_PIPELINE_STATE_DESC& Desc) noexcept | ||
| 547 | : Flags(Desc.Flags) | ||
| 548 | , NodeMask(Desc.NodeMask) | ||
| 549 | , pRootSignature(Desc.pRootSignature) | ||
| 550 | , InputLayout(Desc.InputLayout) | ||
| 551 | , IBStripCutValue(Desc.IBStripCutValue) | ||
| 552 | , PrimitiveTopologyType(Desc.PrimitiveTopologyType) | ||
| 553 | , VS(Desc.VS) | ||
| 554 | , GS(Desc.GS) | ||
| 555 | , StreamOutput(Desc.StreamOutput) | ||
| 556 | , HS(Desc.HS) | ||
| 557 | , DS(Desc.DS) | ||
| 558 | , PS(Desc.PS) | ||
| 559 | , BlendState(CD3DX12_BLEND_DESC(Desc.BlendState)) | ||
| 560 | , DepthStencilState(CD3DX12_DEPTH_STENCIL_DESC2(Desc.DepthStencilState)) | ||
| 561 | , DSVFormat(Desc.DSVFormat) | ||
| 562 | , RasterizerState(CD3DX12_RASTERIZER_DESC(Desc.RasterizerState)) | ||
| 563 | , RTVFormats(CD3DX12_RT_FORMAT_ARRAY(Desc.RTVFormats, Desc.NumRenderTargets)) | ||
| 564 | , SampleDesc(Desc.SampleDesc) | ||
| 565 | , SampleMask(Desc.SampleMask) | ||
| 566 | , CachedPSO(Desc.CachedPSO) | ||
| 567 | , ViewInstancingDesc(CD3DX12_VIEW_INSTANCING_DESC(CD3DX12_DEFAULT())) | ||
| 568 | {} | ||
| 569 | CD3DX12_PIPELINE_STATE_STREAM3(const D3DX12_MESH_SHADER_PIPELINE_STATE_DESC& Desc) noexcept | ||
| 570 | : Flags(Desc.Flags) | ||
| 571 | , NodeMask(Desc.NodeMask) | ||
| 572 | , pRootSignature(Desc.pRootSignature) | ||
| 573 | , PrimitiveTopologyType(Desc.PrimitiveTopologyType) | ||
| 574 | , PS(Desc.PS) | ||
| 575 | , AS(Desc.AS) | ||
| 576 | , MS(Desc.MS) | ||
| 577 | , BlendState(CD3DX12_BLEND_DESC(Desc.BlendState)) | ||
| 578 | , DepthStencilState(CD3DX12_DEPTH_STENCIL_DESC2(Desc.DepthStencilState)) | ||
| 579 | , DSVFormat(Desc.DSVFormat) | ||
| 580 | , RasterizerState(CD3DX12_RASTERIZER_DESC(Desc.RasterizerState)) | ||
| 581 | , RTVFormats(CD3DX12_RT_FORMAT_ARRAY(Desc.RTVFormats, Desc.NumRenderTargets)) | ||
| 582 | , SampleDesc(Desc.SampleDesc) | ||
| 583 | , SampleMask(Desc.SampleMask) | ||
| 584 | , CachedPSO(Desc.CachedPSO) | ||
| 585 | , ViewInstancingDesc(CD3DX12_VIEW_INSTANCING_DESC(CD3DX12_DEFAULT())) | ||
| 586 | {} | ||
| 587 | CD3DX12_PIPELINE_STATE_STREAM3(const D3D12_COMPUTE_PIPELINE_STATE_DESC& Desc) noexcept | ||
| 588 | : Flags(Desc.Flags) | ||
| 589 | , NodeMask(Desc.NodeMask) | ||
| 590 | , pRootSignature(Desc.pRootSignature) | ||
| 591 | , CS(CD3DX12_SHADER_BYTECODE(Desc.CS)) | ||
| 592 | , CachedPSO(Desc.CachedPSO) | ||
| 593 | { | ||
| 594 | static_cast<D3D12_DEPTH_STENCIL_DESC2&>(DepthStencilState).DepthEnable = false; | ||
| 595 | } | ||
| 596 | CD3DX12_PIPELINE_STATE_STREAM_FLAGS Flags; | ||
| 597 | CD3DX12_PIPELINE_STATE_STREAM_NODE_MASK NodeMask; | ||
| 598 | CD3DX12_PIPELINE_STATE_STREAM_ROOT_SIGNATURE pRootSignature; | ||
| 599 | CD3DX12_PIPELINE_STATE_STREAM_INPUT_LAYOUT InputLayout; | ||
| 600 | CD3DX12_PIPELINE_STATE_STREAM_IB_STRIP_CUT_VALUE IBStripCutValue; | ||
| 601 | CD3DX12_PIPELINE_STATE_STREAM_PRIMITIVE_TOPOLOGY PrimitiveTopologyType; | ||
| 602 | CD3DX12_PIPELINE_STATE_STREAM_VS VS; | ||
| 603 | CD3DX12_PIPELINE_STATE_STREAM_GS GS; | ||
| 604 | CD3DX12_PIPELINE_STATE_STREAM_STREAM_OUTPUT StreamOutput; | ||
| 605 | CD3DX12_PIPELINE_STATE_STREAM_HS HS; | ||
| 606 | CD3DX12_PIPELINE_STATE_STREAM_DS DS; | ||
| 607 | CD3DX12_PIPELINE_STATE_STREAM_PS PS; | ||
| 608 | CD3DX12_PIPELINE_STATE_STREAM_AS AS; | ||
| 609 | CD3DX12_PIPELINE_STATE_STREAM_MS MS; | ||
| 610 | CD3DX12_PIPELINE_STATE_STREAM_CS CS; | ||
| 611 | CD3DX12_PIPELINE_STATE_STREAM_BLEND_DESC BlendState; | ||
| 612 | CD3DX12_PIPELINE_STATE_STREAM_DEPTH_STENCIL2 DepthStencilState; | ||
| 613 | CD3DX12_PIPELINE_STATE_STREAM_DEPTH_STENCIL_FORMAT DSVFormat; | ||
| 614 | CD3DX12_PIPELINE_STATE_STREAM_RASTERIZER RasterizerState; | ||
| 615 | CD3DX12_PIPELINE_STATE_STREAM_RENDER_TARGET_FORMATS RTVFormats; | ||
| 616 | CD3DX12_PIPELINE_STATE_STREAM_SAMPLE_DESC SampleDesc; | ||
| 617 | CD3DX12_PIPELINE_STATE_STREAM_SAMPLE_MASK SampleMask; | ||
| 618 | CD3DX12_PIPELINE_STATE_STREAM_CACHED_PSO CachedPSO; | ||
| 619 | CD3DX12_PIPELINE_STATE_STREAM_VIEW_INSTANCING ViewInstancingDesc; | ||
| 620 | |||
| 621 | D3D12_GRAPHICS_PIPELINE_STATE_DESC GraphicsDescV0() const noexcept | ||
| 622 | { | ||
| 623 | D3D12_GRAPHICS_PIPELINE_STATE_DESC D; | ||
| 624 | D.Flags = this->Flags; | ||
| 625 | D.NodeMask = this->NodeMask; | ||
| 626 | D.pRootSignature = this->pRootSignature; | ||
| 627 | D.InputLayout = this->InputLayout; | ||
| 628 | D.IBStripCutValue = this->IBStripCutValue; | ||
| 629 | D.PrimitiveTopologyType = this->PrimitiveTopologyType; | ||
| 630 | D.VS = this->VS; | ||
| 631 | D.GS = this->GS; | ||
| 632 | D.StreamOutput = this->StreamOutput; | ||
| 633 | D.HS = this->HS; | ||
| 634 | D.DS = this->DS; | ||
| 635 | D.PS = this->PS; | ||
| 636 | D.BlendState = this->BlendState; | ||
| 637 | D.DepthStencilState = CD3DX12_DEPTH_STENCIL_DESC2(D3D12_DEPTH_STENCIL_DESC2(this->DepthStencilState)); | ||
| 638 | D.DSVFormat = this->DSVFormat; | ||
| 639 | D.RasterizerState = this->RasterizerState; | ||
| 640 | D.NumRenderTargets = D3D12_RT_FORMAT_ARRAY(this->RTVFormats).NumRenderTargets; | ||
| 641 | memcpy(D.RTVFormats, D3D12_RT_FORMAT_ARRAY(this->RTVFormats).RTFormats, sizeof(D.RTVFormats)); | ||
| 642 | D.SampleDesc = this->SampleDesc; | ||
| 643 | D.SampleMask = this->SampleMask; | ||
| 644 | D.CachedPSO = this->CachedPSO; | ||
| 645 | return D; | ||
| 646 | } | ||
| 647 | D3D12_COMPUTE_PIPELINE_STATE_DESC ComputeDescV0() const noexcept | ||
| 648 | { | ||
| 649 | D3D12_COMPUTE_PIPELINE_STATE_DESC D; | ||
| 650 | D.Flags = this->Flags; | ||
| 651 | D.NodeMask = this->NodeMask; | ||
| 652 | D.pRootSignature = this->pRootSignature; | ||
| 653 | D.CS = this->CS; | ||
| 654 | D.CachedPSO = this->CachedPSO; | ||
| 655 | return D; | ||
| 656 | } | ||
| 657 | }; | ||
| 658 | #endif // D3D12_SDK_VERSION >= 606 | ||
| 659 | |||
| 660 | // CD3DX12_PIPELINE_STATE_STREAM2 Works on OS Build 19041+ (where there is a new mesh shader pipeline). | ||
| 661 | // Use CD3DX12_PIPELINE_STATE_STREAM1 for OS Build 16299+ (where there is a new view instancing subobject). | ||
| 662 | // Use CD3DX12_PIPELINE_STATE_STREAM for OS Build 15063+ support. | ||
| 663 | struct CD3DX12_PIPELINE_STATE_STREAM2 | ||
| 664 | { | ||
| 665 | CD3DX12_PIPELINE_STATE_STREAM2() = default; | ||
| 666 | // Mesh and amplification shaders must be set manually, since they do not have representation in D3D12_GRAPHICS_PIPELINE_STATE_DESC | ||
| 667 | CD3DX12_PIPELINE_STATE_STREAM2(const D3D12_GRAPHICS_PIPELINE_STATE_DESC& Desc) noexcept | ||
| 668 | : Flags(Desc.Flags) | ||
| 669 | , NodeMask(Desc.NodeMask) | ||
| 670 | , pRootSignature(Desc.pRootSignature) | ||
| 671 | , InputLayout(Desc.InputLayout) | ||
| 672 | , IBStripCutValue(Desc.IBStripCutValue) | ||
| 673 | , PrimitiveTopologyType(Desc.PrimitiveTopologyType) | ||
| 674 | , VS(Desc.VS) | ||
| 675 | , GS(Desc.GS) | ||
| 676 | , StreamOutput(Desc.StreamOutput) | ||
| 677 | , HS(Desc.HS) | ||
| 678 | , DS(Desc.DS) | ||
| 679 | , PS(Desc.PS) | ||
| 680 | , BlendState(CD3DX12_BLEND_DESC(Desc.BlendState)) | ||
| 681 | , DepthStencilState(CD3DX12_DEPTH_STENCIL_DESC1(Desc.DepthStencilState)) | ||
| 682 | , DSVFormat(Desc.DSVFormat) | ||
| 683 | , RasterizerState(CD3DX12_RASTERIZER_DESC(Desc.RasterizerState)) | ||
| 684 | , RTVFormats(CD3DX12_RT_FORMAT_ARRAY(Desc.RTVFormats, Desc.NumRenderTargets)) | ||
| 685 | , SampleDesc(Desc.SampleDesc) | ||
| 686 | , SampleMask(Desc.SampleMask) | ||
| 687 | , CachedPSO(Desc.CachedPSO) | ||
| 688 | , ViewInstancingDesc(CD3DX12_VIEW_INSTANCING_DESC(CD3DX12_DEFAULT())) | ||
| 689 | {} | ||
| 690 | CD3DX12_PIPELINE_STATE_STREAM2(const D3DX12_MESH_SHADER_PIPELINE_STATE_DESC& Desc) noexcept | ||
| 691 | : Flags(Desc.Flags) | ||
| 692 | , NodeMask(Desc.NodeMask) | ||
| 693 | , pRootSignature(Desc.pRootSignature) | ||
| 694 | , PrimitiveTopologyType(Desc.PrimitiveTopologyType) | ||
| 695 | , PS(Desc.PS) | ||
| 696 | , AS(Desc.AS) | ||
| 697 | , MS(Desc.MS) | ||
| 698 | , BlendState(CD3DX12_BLEND_DESC(Desc.BlendState)) | ||
| 699 | , DepthStencilState(CD3DX12_DEPTH_STENCIL_DESC1(Desc.DepthStencilState)) | ||
| 700 | , DSVFormat(Desc.DSVFormat) | ||
| 701 | , RasterizerState(CD3DX12_RASTERIZER_DESC(Desc.RasterizerState)) | ||
| 702 | , RTVFormats(CD3DX12_RT_FORMAT_ARRAY(Desc.RTVFormats, Desc.NumRenderTargets)) | ||
| 703 | , SampleDesc(Desc.SampleDesc) | ||
| 704 | , SampleMask(Desc.SampleMask) | ||
| 705 | , CachedPSO(Desc.CachedPSO) | ||
| 706 | , ViewInstancingDesc(CD3DX12_VIEW_INSTANCING_DESC(CD3DX12_DEFAULT())) | ||
| 707 | {} | ||
| 708 | CD3DX12_PIPELINE_STATE_STREAM2(const D3D12_COMPUTE_PIPELINE_STATE_DESC& Desc) noexcept | ||
| 709 | : Flags(Desc.Flags) | ||
| 710 | , NodeMask(Desc.NodeMask) | ||
| 711 | , pRootSignature(Desc.pRootSignature) | ||
| 712 | , CS(CD3DX12_SHADER_BYTECODE(Desc.CS)) | ||
| 713 | , CachedPSO(Desc.CachedPSO) | ||
| 714 | { | ||
| 715 | static_cast<D3D12_DEPTH_STENCIL_DESC1&>(DepthStencilState).DepthEnable = false; | ||
| 716 | } | ||
| 717 | CD3DX12_PIPELINE_STATE_STREAM_FLAGS Flags; | ||
| 718 | CD3DX12_PIPELINE_STATE_STREAM_NODE_MASK NodeMask; | ||
| 719 | CD3DX12_PIPELINE_STATE_STREAM_ROOT_SIGNATURE pRootSignature; | ||
| 720 | CD3DX12_PIPELINE_STATE_STREAM_INPUT_LAYOUT InputLayout; | ||
| 721 | CD3DX12_PIPELINE_STATE_STREAM_IB_STRIP_CUT_VALUE IBStripCutValue; | ||
| 722 | CD3DX12_PIPELINE_STATE_STREAM_PRIMITIVE_TOPOLOGY PrimitiveTopologyType; | ||
| 723 | CD3DX12_PIPELINE_STATE_STREAM_VS VS; | ||
| 724 | CD3DX12_PIPELINE_STATE_STREAM_GS GS; | ||
| 725 | CD3DX12_PIPELINE_STATE_STREAM_STREAM_OUTPUT StreamOutput; | ||
| 726 | CD3DX12_PIPELINE_STATE_STREAM_HS HS; | ||
| 727 | CD3DX12_PIPELINE_STATE_STREAM_DS DS; | ||
| 728 | CD3DX12_PIPELINE_STATE_STREAM_PS PS; | ||
| 729 | CD3DX12_PIPELINE_STATE_STREAM_AS AS; | ||
| 730 | CD3DX12_PIPELINE_STATE_STREAM_MS MS; | ||
| 731 | CD3DX12_PIPELINE_STATE_STREAM_CS CS; | ||
| 732 | CD3DX12_PIPELINE_STATE_STREAM_BLEND_DESC BlendState; | ||
| 733 | CD3DX12_PIPELINE_STATE_STREAM_DEPTH_STENCIL1 DepthStencilState; | ||
| 734 | CD3DX12_PIPELINE_STATE_STREAM_DEPTH_STENCIL_FORMAT DSVFormat; | ||
| 735 | CD3DX12_PIPELINE_STATE_STREAM_RASTERIZER RasterizerState; | ||
| 736 | CD3DX12_PIPELINE_STATE_STREAM_RENDER_TARGET_FORMATS RTVFormats; | ||
| 737 | CD3DX12_PIPELINE_STATE_STREAM_SAMPLE_DESC SampleDesc; | ||
| 738 | CD3DX12_PIPELINE_STATE_STREAM_SAMPLE_MASK SampleMask; | ||
| 739 | CD3DX12_PIPELINE_STATE_STREAM_CACHED_PSO CachedPSO; | ||
| 740 | CD3DX12_PIPELINE_STATE_STREAM_VIEW_INSTANCING ViewInstancingDesc; | ||
| 741 | D3D12_GRAPHICS_PIPELINE_STATE_DESC GraphicsDescV0() const noexcept | ||
| 742 | { | ||
| 743 | D3D12_GRAPHICS_PIPELINE_STATE_DESC D; | ||
| 744 | D.Flags = this->Flags; | ||
| 745 | D.NodeMask = this->NodeMask; | ||
| 746 | D.pRootSignature = this->pRootSignature; | ||
| 747 | D.InputLayout = this->InputLayout; | ||
| 748 | D.IBStripCutValue = this->IBStripCutValue; | ||
| 749 | D.PrimitiveTopologyType = this->PrimitiveTopologyType; | ||
| 750 | D.VS = this->VS; | ||
| 751 | D.GS = this->GS; | ||
| 752 | D.StreamOutput = this->StreamOutput; | ||
| 753 | D.HS = this->HS; | ||
| 754 | D.DS = this->DS; | ||
| 755 | D.PS = this->PS; | ||
| 756 | D.BlendState = this->BlendState; | ||
| 757 | D.DepthStencilState = CD3DX12_DEPTH_STENCIL_DESC1(D3D12_DEPTH_STENCIL_DESC1(this->DepthStencilState)); | ||
| 758 | D.DSVFormat = this->DSVFormat; | ||
| 759 | D.RasterizerState = this->RasterizerState; | ||
| 760 | D.NumRenderTargets = D3D12_RT_FORMAT_ARRAY(this->RTVFormats).NumRenderTargets; | ||
| 761 | memcpy(D.RTVFormats, D3D12_RT_FORMAT_ARRAY(this->RTVFormats).RTFormats, sizeof(D.RTVFormats)); | ||
| 762 | D.SampleDesc = this->SampleDesc; | ||
| 763 | D.SampleMask = this->SampleMask; | ||
| 764 | D.CachedPSO = this->CachedPSO; | ||
| 765 | return D; | ||
| 766 | } | ||
| 767 | D3D12_COMPUTE_PIPELINE_STATE_DESC ComputeDescV0() const noexcept | ||
| 768 | { | ||
| 769 | D3D12_COMPUTE_PIPELINE_STATE_DESC D; | ||
| 770 | D.Flags = this->Flags; | ||
| 771 | D.NodeMask = this->NodeMask; | ||
| 772 | D.pRootSignature = this->pRootSignature; | ||
| 773 | D.CS = this->CS; | ||
| 774 | D.CachedPSO = this->CachedPSO; | ||
| 775 | return D; | ||
| 776 | } | ||
| 777 | }; | ||
| 778 | |||
| 779 | // CD3DX12_PIPELINE_STATE_STREAM1 Works on OS Build 16299+ (where there is a new view instancing subobject). | ||
| 780 | // Use CD3DX12_PIPELINE_STATE_STREAM for OS Build 15063+ support. | ||
| 781 | struct CD3DX12_PIPELINE_STATE_STREAM1 | ||
| 782 | { | ||
| 783 | CD3DX12_PIPELINE_STATE_STREAM1() = default; | ||
| 784 | // Mesh and amplification shaders must be set manually, since they do not have representation in D3D12_GRAPHICS_PIPELINE_STATE_DESC | ||
| 785 | CD3DX12_PIPELINE_STATE_STREAM1(const D3D12_GRAPHICS_PIPELINE_STATE_DESC& Desc) noexcept | ||
| 786 | : Flags(Desc.Flags) | ||
| 787 | , NodeMask(Desc.NodeMask) | ||
| 788 | , pRootSignature(Desc.pRootSignature) | ||
| 789 | , InputLayout(Desc.InputLayout) | ||
| 790 | , IBStripCutValue(Desc.IBStripCutValue) | ||
| 791 | , PrimitiveTopologyType(Desc.PrimitiveTopologyType) | ||
| 792 | , VS(Desc.VS) | ||
| 793 | , GS(Desc.GS) | ||
| 794 | , StreamOutput(Desc.StreamOutput) | ||
| 795 | , HS(Desc.HS) | ||
| 796 | , DS(Desc.DS) | ||
| 797 | , PS(Desc.PS) | ||
| 798 | , BlendState(CD3DX12_BLEND_DESC(Desc.BlendState)) | ||
| 799 | , DepthStencilState(CD3DX12_DEPTH_STENCIL_DESC1(Desc.DepthStencilState)) | ||
| 800 | , DSVFormat(Desc.DSVFormat) | ||
| 801 | , RasterizerState(CD3DX12_RASTERIZER_DESC(Desc.RasterizerState)) | ||
| 802 | , RTVFormats(CD3DX12_RT_FORMAT_ARRAY(Desc.RTVFormats, Desc.NumRenderTargets)) | ||
| 803 | , SampleDesc(Desc.SampleDesc) | ||
| 804 | , SampleMask(Desc.SampleMask) | ||
| 805 | , CachedPSO(Desc.CachedPSO) | ||
| 806 | , ViewInstancingDesc(CD3DX12_VIEW_INSTANCING_DESC(CD3DX12_DEFAULT())) | ||
| 807 | {} | ||
| 808 | CD3DX12_PIPELINE_STATE_STREAM1(const D3DX12_MESH_SHADER_PIPELINE_STATE_DESC& Desc) noexcept | ||
| 809 | : Flags(Desc.Flags) | ||
| 810 | , NodeMask(Desc.NodeMask) | ||
| 811 | , pRootSignature(Desc.pRootSignature) | ||
| 812 | , PrimitiveTopologyType(Desc.PrimitiveTopologyType) | ||
| 813 | , PS(Desc.PS) | ||
| 814 | , BlendState(CD3DX12_BLEND_DESC(Desc.BlendState)) | ||
| 815 | , DepthStencilState(CD3DX12_DEPTH_STENCIL_DESC1(Desc.DepthStencilState)) | ||
| 816 | , DSVFormat(Desc.DSVFormat) | ||
| 817 | , RasterizerState(CD3DX12_RASTERIZER_DESC(Desc.RasterizerState)) | ||
| 818 | , RTVFormats(CD3DX12_RT_FORMAT_ARRAY(Desc.RTVFormats, Desc.NumRenderTargets)) | ||
| 819 | , SampleDesc(Desc.SampleDesc) | ||
| 820 | , SampleMask(Desc.SampleMask) | ||
| 821 | , CachedPSO(Desc.CachedPSO) | ||
| 822 | , ViewInstancingDesc(CD3DX12_VIEW_INSTANCING_DESC(CD3DX12_DEFAULT())) | ||
| 823 | {} | ||
| 824 | CD3DX12_PIPELINE_STATE_STREAM1(const D3D12_COMPUTE_PIPELINE_STATE_DESC& Desc) noexcept | ||
| 825 | : Flags(Desc.Flags) | ||
| 826 | , NodeMask(Desc.NodeMask) | ||
| 827 | , pRootSignature(Desc.pRootSignature) | ||
| 828 | , CS(CD3DX12_SHADER_BYTECODE(Desc.CS)) | ||
| 829 | , CachedPSO(Desc.CachedPSO) | ||
| 830 | { | ||
| 831 | static_cast<D3D12_DEPTH_STENCIL_DESC1&>(DepthStencilState).DepthEnable = false; | ||
| 832 | } | ||
| 833 | CD3DX12_PIPELINE_STATE_STREAM_FLAGS Flags; | ||
| 834 | CD3DX12_PIPELINE_STATE_STREAM_NODE_MASK NodeMask; | ||
| 835 | CD3DX12_PIPELINE_STATE_STREAM_ROOT_SIGNATURE pRootSignature; | ||
| 836 | CD3DX12_PIPELINE_STATE_STREAM_INPUT_LAYOUT InputLayout; | ||
| 837 | CD3DX12_PIPELINE_STATE_STREAM_IB_STRIP_CUT_VALUE IBStripCutValue; | ||
| 838 | CD3DX12_PIPELINE_STATE_STREAM_PRIMITIVE_TOPOLOGY PrimitiveTopologyType; | ||
| 839 | CD3DX12_PIPELINE_STATE_STREAM_VS VS; | ||
| 840 | CD3DX12_PIPELINE_STATE_STREAM_GS GS; | ||
| 841 | CD3DX12_PIPELINE_STATE_STREAM_STREAM_OUTPUT StreamOutput; | ||
| 842 | CD3DX12_PIPELINE_STATE_STREAM_HS HS; | ||
| 843 | CD3DX12_PIPELINE_STATE_STREAM_DS DS; | ||
| 844 | CD3DX12_PIPELINE_STATE_STREAM_PS PS; | ||
| 845 | CD3DX12_PIPELINE_STATE_STREAM_CS CS; | ||
| 846 | CD3DX12_PIPELINE_STATE_STREAM_BLEND_DESC BlendState; | ||
| 847 | CD3DX12_PIPELINE_STATE_STREAM_DEPTH_STENCIL1 DepthStencilState; | ||
| 848 | CD3DX12_PIPELINE_STATE_STREAM_DEPTH_STENCIL_FORMAT DSVFormat; | ||
| 849 | CD3DX12_PIPELINE_STATE_STREAM_RASTERIZER RasterizerState; | ||
| 850 | CD3DX12_PIPELINE_STATE_STREAM_RENDER_TARGET_FORMATS RTVFormats; | ||
| 851 | CD3DX12_PIPELINE_STATE_STREAM_SAMPLE_DESC SampleDesc; | ||
| 852 | CD3DX12_PIPELINE_STATE_STREAM_SAMPLE_MASK SampleMask; | ||
| 853 | CD3DX12_PIPELINE_STATE_STREAM_CACHED_PSO CachedPSO; | ||
| 854 | CD3DX12_PIPELINE_STATE_STREAM_VIEW_INSTANCING ViewInstancingDesc; | ||
| 855 | D3D12_GRAPHICS_PIPELINE_STATE_DESC GraphicsDescV0() const noexcept | ||
| 856 | { | ||
| 857 | D3D12_GRAPHICS_PIPELINE_STATE_DESC D; | ||
| 858 | D.Flags = this->Flags; | ||
| 859 | D.NodeMask = this->NodeMask; | ||
| 860 | D.pRootSignature = this->pRootSignature; | ||
| 861 | D.InputLayout = this->InputLayout; | ||
| 862 | D.IBStripCutValue = this->IBStripCutValue; | ||
| 863 | D.PrimitiveTopologyType = this->PrimitiveTopologyType; | ||
| 864 | D.VS = this->VS; | ||
| 865 | D.GS = this->GS; | ||
| 866 | D.StreamOutput = this->StreamOutput; | ||
| 867 | D.HS = this->HS; | ||
| 868 | D.DS = this->DS; | ||
| 869 | D.PS = this->PS; | ||
| 870 | D.BlendState = this->BlendState; | ||
| 871 | D.DepthStencilState = CD3DX12_DEPTH_STENCIL_DESC1(D3D12_DEPTH_STENCIL_DESC1(this->DepthStencilState)); | ||
| 872 | D.DSVFormat = this->DSVFormat; | ||
| 873 | D.RasterizerState = this->RasterizerState; | ||
| 874 | D.NumRenderTargets = D3D12_RT_FORMAT_ARRAY(this->RTVFormats).NumRenderTargets; | ||
| 875 | memcpy(D.RTVFormats, D3D12_RT_FORMAT_ARRAY(this->RTVFormats).RTFormats, sizeof(D.RTVFormats)); | ||
| 876 | D.SampleDesc = this->SampleDesc; | ||
| 877 | D.SampleMask = this->SampleMask; | ||
| 878 | D.CachedPSO = this->CachedPSO; | ||
| 879 | return D; | ||
| 880 | } | ||
| 881 | D3D12_COMPUTE_PIPELINE_STATE_DESC ComputeDescV0() const noexcept | ||
| 882 | { | ||
| 883 | D3D12_COMPUTE_PIPELINE_STATE_DESC D; | ||
| 884 | D.Flags = this->Flags; | ||
| 885 | D.NodeMask = this->NodeMask; | ||
| 886 | D.pRootSignature = this->pRootSignature; | ||
| 887 | D.CS = this->CS; | ||
| 888 | D.CachedPSO = this->CachedPSO; | ||
| 889 | return D; | ||
| 890 | } | ||
| 891 | }; | ||
| 892 | |||
| 893 | |||
| 894 | struct CD3DX12_PIPELINE_MESH_STATE_STREAM | ||
| 895 | { | ||
| 896 | CD3DX12_PIPELINE_MESH_STATE_STREAM() = default; | ||
| 897 | CD3DX12_PIPELINE_MESH_STATE_STREAM(const D3DX12_MESH_SHADER_PIPELINE_STATE_DESC& Desc) noexcept | ||
| 898 | : Flags(Desc.Flags) | ||
| 899 | , NodeMask(Desc.NodeMask) | ||
| 900 | , pRootSignature(Desc.pRootSignature) | ||
| 901 | , PrimitiveTopologyType(Desc.PrimitiveTopologyType) | ||
| 902 | , PS(Desc.PS) | ||
| 903 | , AS(Desc.AS) | ||
| 904 | , MS(Desc.MS) | ||
| 905 | , BlendState(CD3DX12_BLEND_DESC(Desc.BlendState)) | ||
| 906 | , DepthStencilState(CD3DX12_DEPTH_STENCIL_DESC1(Desc.DepthStencilState)) | ||
| 907 | , DSVFormat(Desc.DSVFormat) | ||
| 908 | , RasterizerState(CD3DX12_RASTERIZER_DESC(Desc.RasterizerState)) | ||
| 909 | , RTVFormats(CD3DX12_RT_FORMAT_ARRAY(Desc.RTVFormats, Desc.NumRenderTargets)) | ||
| 910 | , SampleDesc(Desc.SampleDesc) | ||
| 911 | , SampleMask(Desc.SampleMask) | ||
| 912 | , CachedPSO(Desc.CachedPSO) | ||
| 913 | , ViewInstancingDesc(CD3DX12_VIEW_INSTANCING_DESC(CD3DX12_DEFAULT())) | ||
| 914 | {} | ||
| 915 | CD3DX12_PIPELINE_STATE_STREAM_FLAGS Flags; | ||
| 916 | CD3DX12_PIPELINE_STATE_STREAM_NODE_MASK NodeMask; | ||
| 917 | CD3DX12_PIPELINE_STATE_STREAM_ROOT_SIGNATURE pRootSignature; | ||
| 918 | CD3DX12_PIPELINE_STATE_STREAM_PRIMITIVE_TOPOLOGY PrimitiveTopologyType; | ||
| 919 | CD3DX12_PIPELINE_STATE_STREAM_PS PS; | ||
| 920 | CD3DX12_PIPELINE_STATE_STREAM_AS AS; | ||
| 921 | CD3DX12_PIPELINE_STATE_STREAM_MS MS; | ||
| 922 | CD3DX12_PIPELINE_STATE_STREAM_BLEND_DESC BlendState; | ||
| 923 | CD3DX12_PIPELINE_STATE_STREAM_DEPTH_STENCIL1 DepthStencilState; | ||
| 924 | CD3DX12_PIPELINE_STATE_STREAM_DEPTH_STENCIL_FORMAT DSVFormat; | ||
| 925 | CD3DX12_PIPELINE_STATE_STREAM_RASTERIZER RasterizerState; | ||
| 926 | CD3DX12_PIPELINE_STATE_STREAM_RENDER_TARGET_FORMATS RTVFormats; | ||
| 927 | CD3DX12_PIPELINE_STATE_STREAM_SAMPLE_DESC SampleDesc; | ||
| 928 | CD3DX12_PIPELINE_STATE_STREAM_SAMPLE_MASK SampleMask; | ||
| 929 | CD3DX12_PIPELINE_STATE_STREAM_CACHED_PSO CachedPSO; | ||
| 930 | CD3DX12_PIPELINE_STATE_STREAM_VIEW_INSTANCING ViewInstancingDesc; | ||
| 931 | D3DX12_MESH_SHADER_PIPELINE_STATE_DESC MeshShaderDescV0() const noexcept | ||
| 932 | { | ||
| 933 | D3DX12_MESH_SHADER_PIPELINE_STATE_DESC D; | ||
| 934 | D.Flags = this->Flags; | ||
| 935 | D.NodeMask = this->NodeMask; | ||
| 936 | D.pRootSignature = this->pRootSignature; | ||
| 937 | D.PrimitiveTopologyType = this->PrimitiveTopologyType; | ||
| 938 | D.PS = this->PS; | ||
| 939 | D.AS = this->AS; | ||
| 940 | D.MS = this->MS; | ||
| 941 | D.BlendState = this->BlendState; | ||
| 942 | D.DepthStencilState = CD3DX12_DEPTH_STENCIL_DESC1(D3D12_DEPTH_STENCIL_DESC1(this->DepthStencilState)); | ||
| 943 | D.DSVFormat = this->DSVFormat; | ||
| 944 | D.RasterizerState = this->RasterizerState; | ||
| 945 | D.NumRenderTargets = D3D12_RT_FORMAT_ARRAY(this->RTVFormats).NumRenderTargets; | ||
| 946 | memcpy(D.RTVFormats, D3D12_RT_FORMAT_ARRAY(this->RTVFormats).RTFormats, sizeof(D.RTVFormats)); | ||
| 947 | D.SampleDesc = this->SampleDesc; | ||
| 948 | D.SampleMask = this->SampleMask; | ||
| 949 | D.CachedPSO = this->CachedPSO; | ||
| 950 | return D; | ||
| 951 | } | ||
| 952 | }; | ||
| 953 | |||
| 954 | // CD3DX12_PIPELINE_STATE_STREAM works on OS Build 15063+ but does not support new subobject(s) added in OS Build 16299+. | ||
| 955 | // See CD3DX12_PIPELINE_STATE_STREAM1 for instance. | ||
| 956 | struct CD3DX12_PIPELINE_STATE_STREAM | ||
| 957 | { | ||
| 958 | CD3DX12_PIPELINE_STATE_STREAM() = default; | ||
| 959 | CD3DX12_PIPELINE_STATE_STREAM(const D3D12_GRAPHICS_PIPELINE_STATE_DESC& Desc) noexcept | ||
| 960 | : Flags(Desc.Flags) | ||
| 961 | , NodeMask(Desc.NodeMask) | ||
| 962 | , pRootSignature(Desc.pRootSignature) | ||
| 963 | , InputLayout(Desc.InputLayout) | ||
| 964 | , IBStripCutValue(Desc.IBStripCutValue) | ||
| 965 | , PrimitiveTopologyType(Desc.PrimitiveTopologyType) | ||
| 966 | , VS(Desc.VS) | ||
| 967 | , GS(Desc.GS) | ||
| 968 | , StreamOutput(Desc.StreamOutput) | ||
| 969 | , HS(Desc.HS) | ||
| 970 | , DS(Desc.DS) | ||
| 971 | , PS(Desc.PS) | ||
| 972 | , BlendState(CD3DX12_BLEND_DESC(Desc.BlendState)) | ||
| 973 | , DepthStencilState(CD3DX12_DEPTH_STENCIL_DESC1(Desc.DepthStencilState)) | ||
| 974 | , DSVFormat(Desc.DSVFormat) | ||
| 975 | , RasterizerState(CD3DX12_RASTERIZER_DESC(Desc.RasterizerState)) | ||
| 976 | , RTVFormats(CD3DX12_RT_FORMAT_ARRAY(Desc.RTVFormats, Desc.NumRenderTargets)) | ||
| 977 | , SampleDesc(Desc.SampleDesc) | ||
| 978 | , SampleMask(Desc.SampleMask) | ||
| 979 | , CachedPSO(Desc.CachedPSO) | ||
| 980 | {} | ||
| 981 | CD3DX12_PIPELINE_STATE_STREAM(const D3D12_COMPUTE_PIPELINE_STATE_DESC& Desc) noexcept | ||
| 982 | : Flags(Desc.Flags) | ||
| 983 | , NodeMask(Desc.NodeMask) | ||
| 984 | , pRootSignature(Desc.pRootSignature) | ||
| 985 | , CS(CD3DX12_SHADER_BYTECODE(Desc.CS)) | ||
| 986 | , CachedPSO(Desc.CachedPSO) | ||
| 987 | {} | ||
| 988 | CD3DX12_PIPELINE_STATE_STREAM_FLAGS Flags; | ||
| 989 | CD3DX12_PIPELINE_STATE_STREAM_NODE_MASK NodeMask; | ||
| 990 | CD3DX12_PIPELINE_STATE_STREAM_ROOT_SIGNATURE pRootSignature; | ||
| 991 | CD3DX12_PIPELINE_STATE_STREAM_INPUT_LAYOUT InputLayout; | ||
| 992 | CD3DX12_PIPELINE_STATE_STREAM_IB_STRIP_CUT_VALUE IBStripCutValue; | ||
| 993 | CD3DX12_PIPELINE_STATE_STREAM_PRIMITIVE_TOPOLOGY PrimitiveTopologyType; | ||
| 994 | CD3DX12_PIPELINE_STATE_STREAM_VS VS; | ||
| 995 | CD3DX12_PIPELINE_STATE_STREAM_GS GS; | ||
| 996 | CD3DX12_PIPELINE_STATE_STREAM_STREAM_OUTPUT StreamOutput; | ||
| 997 | CD3DX12_PIPELINE_STATE_STREAM_HS HS; | ||
| 998 | CD3DX12_PIPELINE_STATE_STREAM_DS DS; | ||
| 999 | CD3DX12_PIPELINE_STATE_STREAM_PS PS; | ||
| 1000 | CD3DX12_PIPELINE_STATE_STREAM_CS CS; | ||
| 1001 | CD3DX12_PIPELINE_STATE_STREAM_BLEND_DESC BlendState; | ||
| 1002 | CD3DX12_PIPELINE_STATE_STREAM_DEPTH_STENCIL1 DepthStencilState; | ||
| 1003 | CD3DX12_PIPELINE_STATE_STREAM_DEPTH_STENCIL_FORMAT DSVFormat; | ||
| 1004 | CD3DX12_PIPELINE_STATE_STREAM_RASTERIZER RasterizerState; | ||
| 1005 | CD3DX12_PIPELINE_STATE_STREAM_RENDER_TARGET_FORMATS RTVFormats; | ||
| 1006 | CD3DX12_PIPELINE_STATE_STREAM_SAMPLE_DESC SampleDesc; | ||
| 1007 | CD3DX12_PIPELINE_STATE_STREAM_SAMPLE_MASK SampleMask; | ||
| 1008 | CD3DX12_PIPELINE_STATE_STREAM_CACHED_PSO CachedPSO; | ||
| 1009 | D3D12_GRAPHICS_PIPELINE_STATE_DESC GraphicsDescV0() const noexcept | ||
| 1010 | { | ||
| 1011 | D3D12_GRAPHICS_PIPELINE_STATE_DESC D; | ||
| 1012 | D.Flags = this->Flags; | ||
| 1013 | D.NodeMask = this->NodeMask; | ||
| 1014 | D.pRootSignature = this->pRootSignature; | ||
| 1015 | D.InputLayout = this->InputLayout; | ||
| 1016 | D.IBStripCutValue = this->IBStripCutValue; | ||
| 1017 | D.PrimitiveTopologyType = this->PrimitiveTopologyType; | ||
| 1018 | D.VS = this->VS; | ||
| 1019 | D.GS = this->GS; | ||
| 1020 | D.StreamOutput = this->StreamOutput; | ||
| 1021 | D.HS = this->HS; | ||
| 1022 | D.DS = this->DS; | ||
| 1023 | D.PS = this->PS; | ||
| 1024 | D.BlendState = this->BlendState; | ||
| 1025 | D.DepthStencilState = CD3DX12_DEPTH_STENCIL_DESC1(D3D12_DEPTH_STENCIL_DESC1(this->DepthStencilState)); | ||
| 1026 | D.DSVFormat = this->DSVFormat; | ||
| 1027 | D.RasterizerState = this->RasterizerState; | ||
| 1028 | D.NumRenderTargets = D3D12_RT_FORMAT_ARRAY(this->RTVFormats).NumRenderTargets; | ||
| 1029 | memcpy(D.RTVFormats, D3D12_RT_FORMAT_ARRAY(this->RTVFormats).RTFormats, sizeof(D.RTVFormats)); | ||
| 1030 | D.SampleDesc = this->SampleDesc; | ||
| 1031 | D.SampleMask = this->SampleMask; | ||
| 1032 | D.CachedPSO = this->CachedPSO; | ||
| 1033 | return D; | ||
| 1034 | } | ||
| 1035 | D3D12_COMPUTE_PIPELINE_STATE_DESC ComputeDescV0() const noexcept | ||
| 1036 | { | ||
| 1037 | D3D12_COMPUTE_PIPELINE_STATE_DESC D; | ||
| 1038 | D.Flags = this->Flags; | ||
| 1039 | D.NodeMask = this->NodeMask; | ||
| 1040 | D.pRootSignature = this->pRootSignature; | ||
| 1041 | D.CS = this->CS; | ||
| 1042 | D.CachedPSO = this->CachedPSO; | ||
| 1043 | return D; | ||
| 1044 | } | ||
| 1045 | }; | ||
| 1046 | |||
| 1047 | |||
| 1048 | struct CD3DX12_PIPELINE_STATE_STREAM2_PARSE_HELPER : public ID3DX12PipelineParserCallbacks | ||
| 1049 | { | ||
| 1050 | CD3DX12_PIPELINE_STATE_STREAM2 PipelineStream; | ||
| 1051 | CD3DX12_PIPELINE_STATE_STREAM2_PARSE_HELPER() noexcept | ||
| 1052 | : SeenDSS(false) | ||
| 1053 | { | ||
| 1054 | // Adjust defaults to account for absent members. | ||
| 1055 | PipelineStream.PrimitiveTopologyType = D3D12_PRIMITIVE_TOPOLOGY_TYPE_TRIANGLE; | ||
| 1056 | |||
| 1057 | // Depth disabled if no DSV format specified. | ||
| 1058 | static_cast<D3D12_DEPTH_STENCIL_DESC1&>(PipelineStream.DepthStencilState).DepthEnable = false; | ||
| 1059 | } | ||
| 1060 | |||
| 1061 | // ID3DX12PipelineParserCallbacks | ||
| 1062 | void FlagsCb(D3D12_PIPELINE_STATE_FLAGS Flags) override {PipelineStream.Flags = Flags;} | ||
| 1063 | void NodeMaskCb(UINT NodeMask) override {PipelineStream.NodeMask = NodeMask;} | ||
| 1064 | void RootSignatureCb(ID3D12RootSignature* pRootSignature) override {PipelineStream.pRootSignature = pRootSignature;} | ||
| 1065 | void InputLayoutCb(const D3D12_INPUT_LAYOUT_DESC& InputLayout) override {PipelineStream.InputLayout = InputLayout;} | ||
| 1066 | void IBStripCutValueCb(D3D12_INDEX_BUFFER_STRIP_CUT_VALUE IBStripCutValue) override {PipelineStream.IBStripCutValue = IBStripCutValue;} | ||
| 1067 | void PrimitiveTopologyTypeCb(D3D12_PRIMITIVE_TOPOLOGY_TYPE PrimitiveTopologyType) override {PipelineStream.PrimitiveTopologyType = PrimitiveTopologyType;} | ||
| 1068 | void VSCb(const D3D12_SHADER_BYTECODE& VS) override {PipelineStream.VS = VS;} | ||
| 1069 | void GSCb(const D3D12_SHADER_BYTECODE& GS) override {PipelineStream.GS = GS;} | ||
| 1070 | void StreamOutputCb(const D3D12_STREAM_OUTPUT_DESC& StreamOutput) override {PipelineStream.StreamOutput = StreamOutput;} | ||
| 1071 | void HSCb(const D3D12_SHADER_BYTECODE& HS) override {PipelineStream.HS = HS;} | ||
| 1072 | void DSCb(const D3D12_SHADER_BYTECODE& DS) override {PipelineStream.DS = DS;} | ||
| 1073 | void PSCb(const D3D12_SHADER_BYTECODE& PS) override {PipelineStream.PS = PS;} | ||
| 1074 | void CSCb(const D3D12_SHADER_BYTECODE& CS) override {PipelineStream.CS = CS;} | ||
| 1075 | void ASCb(const D3D12_SHADER_BYTECODE& AS) override {PipelineStream.AS = AS;} | ||
| 1076 | void MSCb(const D3D12_SHADER_BYTECODE& MS) override {PipelineStream.MS = MS;} | ||
| 1077 | void BlendStateCb(const D3D12_BLEND_DESC& BlendState) override {PipelineStream.BlendState = CD3DX12_BLEND_DESC(BlendState);} | ||
| 1078 | void DepthStencilStateCb(const D3D12_DEPTH_STENCIL_DESC& DepthStencilState) override | ||
| 1079 | { | ||
| 1080 | PipelineStream.DepthStencilState = CD3DX12_DEPTH_STENCIL_DESC1(DepthStencilState); | ||
| 1081 | SeenDSS = true; | ||
| 1082 | } | ||
| 1083 | void DepthStencilState1Cb(const D3D12_DEPTH_STENCIL_DESC1& DepthStencilState) override | ||
| 1084 | { | ||
| 1085 | PipelineStream.DepthStencilState = CD3DX12_DEPTH_STENCIL_DESC1(DepthStencilState); | ||
| 1086 | SeenDSS = true; | ||
| 1087 | } | ||
| 1088 | void DSVFormatCb(DXGI_FORMAT DSVFormat) override | ||
| 1089 | { | ||
| 1090 | PipelineStream.DSVFormat = DSVFormat; | ||
| 1091 | if (!SeenDSS && DSVFormat != DXGI_FORMAT_UNKNOWN) | ||
| 1092 | { | ||
| 1093 | // Re-enable depth for the default state. | ||
| 1094 | static_cast<D3D12_DEPTH_STENCIL_DESC1&>(PipelineStream.DepthStencilState).DepthEnable = true; | ||
| 1095 | } | ||
| 1096 | } | ||
| 1097 | void RasterizerStateCb(const D3D12_RASTERIZER_DESC& RasterizerState) override {PipelineStream.RasterizerState = CD3DX12_RASTERIZER_DESC(RasterizerState);} | ||
| 1098 | void RTVFormatsCb(const D3D12_RT_FORMAT_ARRAY& RTVFormats) override {PipelineStream.RTVFormats = RTVFormats;} | ||
| 1099 | void SampleDescCb(const DXGI_SAMPLE_DESC& SampleDesc) override {PipelineStream.SampleDesc = SampleDesc;} | ||
| 1100 | void SampleMaskCb(UINT SampleMask) override {PipelineStream.SampleMask = SampleMask;} | ||
| 1101 | void ViewInstancingCb(const D3D12_VIEW_INSTANCING_DESC& ViewInstancingDesc) override {PipelineStream.ViewInstancingDesc = CD3DX12_VIEW_INSTANCING_DESC(ViewInstancingDesc);} | ||
| 1102 | void CachedPSOCb(const D3D12_CACHED_PIPELINE_STATE& CachedPSO) override {PipelineStream.CachedPSO = CachedPSO;} | ||
| 1103 | |||
| 1104 | private: | ||
| 1105 | bool SeenDSS; | ||
| 1106 | }; | ||
| 1107 | |||
| 1108 | #if defined(D3D12_SDK_VERSION) && (D3D12_SDK_VERSION >= 606) | ||
| 1109 | struct CD3DX12_PIPELINE_STATE_STREAM3_PARSE_HELPER : public ID3DX12PipelineParserCallbacks | ||
| 1110 | { | ||
| 1111 | CD3DX12_PIPELINE_STATE_STREAM3 PipelineStream; | ||
| 1112 | CD3DX12_PIPELINE_STATE_STREAM3_PARSE_HELPER() noexcept | ||
| 1113 | : SeenDSS(false) | ||
| 1114 | { | ||
| 1115 | // Adjust defaults to account for absent members. | ||
| 1116 | PipelineStream.PrimitiveTopologyType = D3D12_PRIMITIVE_TOPOLOGY_TYPE_TRIANGLE; | ||
| 1117 | |||
| 1118 | // Depth disabled if no DSV format specified. | ||
| 1119 | static_cast<D3D12_DEPTH_STENCIL_DESC2&>(PipelineStream.DepthStencilState).DepthEnable = false; | ||
| 1120 | } | ||
| 1121 | |||
| 1122 | // ID3DX12PipelineParserCallbacks | ||
| 1123 | void FlagsCb(D3D12_PIPELINE_STATE_FLAGS Flags) override { PipelineStream.Flags = Flags; } | ||
| 1124 | void NodeMaskCb(UINT NodeMask) override { PipelineStream.NodeMask = NodeMask; } | ||
| 1125 | void RootSignatureCb(ID3D12RootSignature* pRootSignature) override { PipelineStream.pRootSignature = pRootSignature; } | ||
| 1126 | void InputLayoutCb(const D3D12_INPUT_LAYOUT_DESC& InputLayout) override { PipelineStream.InputLayout = InputLayout; } | ||
| 1127 | void IBStripCutValueCb(D3D12_INDEX_BUFFER_STRIP_CUT_VALUE IBStripCutValue) override { PipelineStream.IBStripCutValue = IBStripCutValue; } | ||
| 1128 | void PrimitiveTopologyTypeCb(D3D12_PRIMITIVE_TOPOLOGY_TYPE PrimitiveTopologyType) override { PipelineStream.PrimitiveTopologyType = PrimitiveTopologyType; } | ||
| 1129 | void VSCb(const D3D12_SHADER_BYTECODE& VS) override { PipelineStream.VS = VS; } | ||
| 1130 | void GSCb(const D3D12_SHADER_BYTECODE& GS) override { PipelineStream.GS = GS; } | ||
| 1131 | void StreamOutputCb(const D3D12_STREAM_OUTPUT_DESC& StreamOutput) override { PipelineStream.StreamOutput = StreamOutput; } | ||
| 1132 | void HSCb(const D3D12_SHADER_BYTECODE& HS) override { PipelineStream.HS = HS; } | ||
| 1133 | void DSCb(const D3D12_SHADER_BYTECODE& DS) override { PipelineStream.DS = DS; } | ||
| 1134 | void PSCb(const D3D12_SHADER_BYTECODE& PS) override { PipelineStream.PS = PS; } | ||
| 1135 | void CSCb(const D3D12_SHADER_BYTECODE& CS) override { PipelineStream.CS = CS; } | ||
| 1136 | void ASCb(const D3D12_SHADER_BYTECODE& AS) override { PipelineStream.AS = AS; } | ||
| 1137 | void MSCb(const D3D12_SHADER_BYTECODE& MS) override { PipelineStream.MS = MS; } | ||
| 1138 | void BlendStateCb(const D3D12_BLEND_DESC& BlendState) override { PipelineStream.BlendState = CD3DX12_BLEND_DESC(BlendState); } | ||
| 1139 | void DepthStencilStateCb(const D3D12_DEPTH_STENCIL_DESC& DepthStencilState) override | ||
| 1140 | { | ||
| 1141 | PipelineStream.DepthStencilState = CD3DX12_DEPTH_STENCIL_DESC2(DepthStencilState); | ||
| 1142 | SeenDSS = true; | ||
| 1143 | } | ||
| 1144 | void DepthStencilState1Cb(const D3D12_DEPTH_STENCIL_DESC1& DepthStencilState) override | ||
| 1145 | { | ||
| 1146 | PipelineStream.DepthStencilState = CD3DX12_DEPTH_STENCIL_DESC2(DepthStencilState); | ||
| 1147 | SeenDSS = true; | ||
| 1148 | } | ||
| 1149 | void DepthStencilState2Cb(const D3D12_DEPTH_STENCIL_DESC2& DepthStencilState) override | ||
| 1150 | { | ||
| 1151 | PipelineStream.DepthStencilState = CD3DX12_DEPTH_STENCIL_DESC2(DepthStencilState); | ||
| 1152 | SeenDSS = true; | ||
| 1153 | } | ||
| 1154 | void DSVFormatCb(DXGI_FORMAT DSVFormat) override | ||
| 1155 | { | ||
| 1156 | PipelineStream.DSVFormat = DSVFormat; | ||
| 1157 | if (!SeenDSS && DSVFormat != DXGI_FORMAT_UNKNOWN) | ||
| 1158 | { | ||
| 1159 | // Re-enable depth for the default state. | ||
| 1160 | static_cast<D3D12_DEPTH_STENCIL_DESC2&>(PipelineStream.DepthStencilState).DepthEnable = true; | ||
| 1161 | } | ||
| 1162 | } | ||
| 1163 | void RasterizerStateCb(const D3D12_RASTERIZER_DESC& RasterizerState) override { PipelineStream.RasterizerState = CD3DX12_RASTERIZER_DESC(RasterizerState); } | ||
| 1164 | void RTVFormatsCb(const D3D12_RT_FORMAT_ARRAY& RTVFormats) override { PipelineStream.RTVFormats = RTVFormats; } | ||
| 1165 | void SampleDescCb(const DXGI_SAMPLE_DESC& SampleDesc) override { PipelineStream.SampleDesc = SampleDesc; } | ||
| 1166 | void SampleMaskCb(UINT SampleMask) override { PipelineStream.SampleMask = SampleMask; } | ||
| 1167 | void ViewInstancingCb(const D3D12_VIEW_INSTANCING_DESC& ViewInstancingDesc) override { PipelineStream.ViewInstancingDesc = CD3DX12_VIEW_INSTANCING_DESC(ViewInstancingDesc); } | ||
| 1168 | void CachedPSOCb(const D3D12_CACHED_PIPELINE_STATE& CachedPSO) override { PipelineStream.CachedPSO = CachedPSO; } | ||
| 1169 | |||
| 1170 | private: | ||
| 1171 | bool SeenDSS; | ||
| 1172 | }; | ||
| 1173 | #endif // D3D12_SDK_VERSION >= 606 | ||
| 1174 | |||
| 1175 | #if defined(D3D12_SDK_VERSION) && (D3D12_SDK_VERSION >= 608) | ||
| 1176 | struct CD3DX12_PIPELINE_STATE_STREAM4_PARSE_HELPER : public ID3DX12PipelineParserCallbacks | ||
| 1177 | { | ||
| 1178 | CD3DX12_PIPELINE_STATE_STREAM4 PipelineStream; | ||
| 1179 | CD3DX12_PIPELINE_STATE_STREAM4_PARSE_HELPER() noexcept | ||
| 1180 | : SeenDSS(false) | ||
| 1181 | { | ||
| 1182 | // Adjust defaults to account for absent members. | ||
| 1183 | PipelineStream.PrimitiveTopologyType = D3D12_PRIMITIVE_TOPOLOGY_TYPE_TRIANGLE; | ||
| 1184 | |||
| 1185 | // Depth disabled if no DSV format specified. | ||
| 1186 | static_cast<D3D12_DEPTH_STENCIL_DESC2&>(PipelineStream.DepthStencilState).DepthEnable = false; | ||
| 1187 | } | ||
| 1188 | |||
| 1189 | // ID3DX12PipelineParserCallbacks | ||
| 1190 | void FlagsCb(D3D12_PIPELINE_STATE_FLAGS Flags) override { PipelineStream.Flags = Flags; } | ||
| 1191 | void NodeMaskCb(UINT NodeMask) override { PipelineStream.NodeMask = NodeMask; } | ||
| 1192 | void RootSignatureCb(ID3D12RootSignature* pRootSignature) override { PipelineStream.pRootSignature = pRootSignature; } | ||
| 1193 | void InputLayoutCb(const D3D12_INPUT_LAYOUT_DESC& InputLayout) override { PipelineStream.InputLayout = InputLayout; } | ||
| 1194 | void IBStripCutValueCb(D3D12_INDEX_BUFFER_STRIP_CUT_VALUE IBStripCutValue) override { PipelineStream.IBStripCutValue = IBStripCutValue; } | ||
| 1195 | void PrimitiveTopologyTypeCb(D3D12_PRIMITIVE_TOPOLOGY_TYPE PrimitiveTopologyType) override { PipelineStream.PrimitiveTopologyType = PrimitiveTopologyType; } | ||
| 1196 | void VSCb(const D3D12_SHADER_BYTECODE& VS) override { PipelineStream.VS = VS; } | ||
| 1197 | void GSCb(const D3D12_SHADER_BYTECODE& GS) override { PipelineStream.GS = GS; } | ||
| 1198 | void StreamOutputCb(const D3D12_STREAM_OUTPUT_DESC& StreamOutput) override { PipelineStream.StreamOutput = StreamOutput; } | ||
| 1199 | void HSCb(const D3D12_SHADER_BYTECODE& HS) override { PipelineStream.HS = HS; } | ||
| 1200 | void DSCb(const D3D12_SHADER_BYTECODE& DS) override { PipelineStream.DS = DS; } | ||
| 1201 | void PSCb(const D3D12_SHADER_BYTECODE& PS) override { PipelineStream.PS = PS; } | ||
| 1202 | void CSCb(const D3D12_SHADER_BYTECODE& CS) override { PipelineStream.CS = CS; } | ||
| 1203 | void ASCb(const D3D12_SHADER_BYTECODE& AS) override { PipelineStream.AS = AS; } | ||
| 1204 | void MSCb(const D3D12_SHADER_BYTECODE& MS) override { PipelineStream.MS = MS; } | ||
| 1205 | void BlendStateCb(const D3D12_BLEND_DESC& BlendState) override { PipelineStream.BlendState = CD3DX12_BLEND_DESC(BlendState); } | ||
| 1206 | void DepthStencilStateCb(const D3D12_DEPTH_STENCIL_DESC& DepthStencilState) override | ||
| 1207 | { | ||
| 1208 | PipelineStream.DepthStencilState = CD3DX12_DEPTH_STENCIL_DESC2(DepthStencilState); | ||
| 1209 | SeenDSS = true; | ||
| 1210 | } | ||
| 1211 | void DepthStencilState1Cb(const D3D12_DEPTH_STENCIL_DESC1& DepthStencilState) override | ||
| 1212 | { | ||
| 1213 | PipelineStream.DepthStencilState = CD3DX12_DEPTH_STENCIL_DESC2(DepthStencilState); | ||
| 1214 | SeenDSS = true; | ||
| 1215 | } | ||
| 1216 | void DepthStencilState2Cb(const D3D12_DEPTH_STENCIL_DESC2& DepthStencilState) override | ||
| 1217 | { | ||
| 1218 | PipelineStream.DepthStencilState = CD3DX12_DEPTH_STENCIL_DESC2(DepthStencilState); | ||
| 1219 | SeenDSS = true; | ||
| 1220 | } | ||
| 1221 | void DSVFormatCb(DXGI_FORMAT DSVFormat) override | ||
| 1222 | { | ||
| 1223 | PipelineStream.DSVFormat = DSVFormat; | ||
| 1224 | if (!SeenDSS && DSVFormat != DXGI_FORMAT_UNKNOWN) | ||
| 1225 | { | ||
| 1226 | // Re-enable depth for the default state. | ||
| 1227 | static_cast<D3D12_DEPTH_STENCIL_DESC2&>(PipelineStream.DepthStencilState).DepthEnable = true; | ||
| 1228 | } | ||
| 1229 | } | ||
| 1230 | void RasterizerStateCb(const D3D12_RASTERIZER_DESC& RasterizerState) override { PipelineStream.RasterizerState = CD3DX12_RASTERIZER_DESC1(RasterizerState); } | ||
| 1231 | void RasterizerState1Cb(const D3D12_RASTERIZER_DESC1& RasterizerState) override { PipelineStream.RasterizerState = CD3DX12_RASTERIZER_DESC1(RasterizerState); } | ||
| 1232 | void RTVFormatsCb(const D3D12_RT_FORMAT_ARRAY& RTVFormats) override { PipelineStream.RTVFormats = RTVFormats; } | ||
| 1233 | void SampleDescCb(const DXGI_SAMPLE_DESC& SampleDesc) override { PipelineStream.SampleDesc = SampleDesc; } | ||
| 1234 | void SampleMaskCb(UINT SampleMask) override { PipelineStream.SampleMask = SampleMask; } | ||
| 1235 | void ViewInstancingCb(const D3D12_VIEW_INSTANCING_DESC& ViewInstancingDesc) override { PipelineStream.ViewInstancingDesc = CD3DX12_VIEW_INSTANCING_DESC(ViewInstancingDesc); } | ||
| 1236 | void CachedPSOCb(const D3D12_CACHED_PIPELINE_STATE& CachedPSO) override { PipelineStream.CachedPSO = CachedPSO; } | ||
| 1237 | |||
| 1238 | private: | ||
| 1239 | bool SeenDSS; | ||
| 1240 | }; | ||
| 1241 | #endif // D3D12_SDK_VERSION >= 608 | ||
| 1242 | |||
| 1243 | #if defined(D3D12_SDK_VERSION) && (D3D12_SDK_VERSION >= 613) | ||
| 1244 | // This SDK 613 version has better primitive topology default handling than the v610 equivalent below. | ||
| 1245 | struct CD3DX12_PIPELINE_STATE_STREAM5_PARSE_HELPER : public ID3DX12PipelineParserCallbacks | ||
| 1246 | { | ||
| 1247 | CD3DX12_PIPELINE_STATE_STREAM5 PipelineStream; | ||
| 1248 | CD3DX12_PIPELINE_STATE_STREAM5_PARSE_HELPER() noexcept | ||
| 1249 | : SeenDSS(false), | ||
| 1250 | SeenMS(false), | ||
| 1251 | SeenTopology(false) | ||
| 1252 | { | ||
| 1253 | // Adjust defaults to account for absent members. | ||
| 1254 | PipelineStream.PrimitiveTopologyType = D3D12_PRIMITIVE_TOPOLOGY_TYPE_TRIANGLE; | ||
| 1255 | |||
| 1256 | // Depth disabled if no DSV format specified. | ||
| 1257 | static_cast<D3D12_DEPTH_STENCIL_DESC2&>(PipelineStream.DepthStencilState).DepthEnable = false; | ||
| 1258 | } | ||
| 1259 | |||
| 1260 | // ID3DX12PipelineParserCallbacks | ||
| 1261 | void FlagsCb(D3D12_PIPELINE_STATE_FLAGS Flags) override { PipelineStream.Flags = Flags; } | ||
| 1262 | void NodeMaskCb(UINT NodeMask) override { PipelineStream.NodeMask = NodeMask; } | ||
| 1263 | void RootSignatureCb(ID3D12RootSignature* pRootSignature) override { PipelineStream.pRootSignature = pRootSignature; } | ||
| 1264 | void InputLayoutCb(const D3D12_INPUT_LAYOUT_DESC& InputLayout) override { PipelineStream.InputLayout = InputLayout; } | ||
| 1265 | void IBStripCutValueCb(D3D12_INDEX_BUFFER_STRIP_CUT_VALUE IBStripCutValue) override { PipelineStream.IBStripCutValue = IBStripCutValue; } | ||
| 1266 | void PrimitiveTopologyTypeCb(D3D12_PRIMITIVE_TOPOLOGY_TYPE PrimitiveTopologyType) override | ||
| 1267 | { | ||
| 1268 | PipelineStream.PrimitiveTopologyType = PrimitiveTopologyType; | ||
| 1269 | SeenTopology = true; | ||
| 1270 | } | ||
| 1271 | void VSCb(const D3D12_SHADER_BYTECODE& VS) override { PipelineStream.VS = VS; } | ||
| 1272 | void GSCb(const D3D12_SHADER_BYTECODE& GS) override { PipelineStream.GS = GS; } | ||
| 1273 | void StreamOutputCb(const D3D12_STREAM_OUTPUT_DESC& StreamOutput) override { PipelineStream.StreamOutput = StreamOutput; } | ||
| 1274 | void HSCb(const D3D12_SHADER_BYTECODE& HS) override { PipelineStream.HS = HS; } | ||
| 1275 | void DSCb(const D3D12_SHADER_BYTECODE& DS) override { PipelineStream.DS = DS; } | ||
| 1276 | void PSCb(const D3D12_SHADER_BYTECODE& PS) override { PipelineStream.PS = PS; } | ||
| 1277 | void CSCb(const D3D12_SHADER_BYTECODE& CS) override { PipelineStream.CS = CS; } | ||
| 1278 | void ASCb(const D3D12_SHADER_BYTECODE& AS) override { PipelineStream.AS = AS; } | ||
| 1279 | void MSCb(const D3D12_SHADER_BYTECODE& MS) override { PipelineStream.MS = MS; SeenMS = true; } | ||
| 1280 | void BlendStateCb(const D3D12_BLEND_DESC& BlendState) override { PipelineStream.BlendState = CD3DX12_BLEND_DESC(BlendState); } | ||
| 1281 | void DepthStencilStateCb(const D3D12_DEPTH_STENCIL_DESC& DepthStencilState) override | ||
| 1282 | { | ||
| 1283 | PipelineStream.DepthStencilState = CD3DX12_DEPTH_STENCIL_DESC2(DepthStencilState); | ||
| 1284 | SeenDSS = true; | ||
| 1285 | } | ||
| 1286 | void DepthStencilState1Cb(const D3D12_DEPTH_STENCIL_DESC1& DepthStencilState) override | ||
| 1287 | { | ||
| 1288 | PipelineStream.DepthStencilState = CD3DX12_DEPTH_STENCIL_DESC2(DepthStencilState); | ||
| 1289 | SeenDSS = true; | ||
| 1290 | } | ||
| 1291 | void DepthStencilState2Cb(const D3D12_DEPTH_STENCIL_DESC2& DepthStencilState) override | ||
| 1292 | { | ||
| 1293 | PipelineStream.DepthStencilState = CD3DX12_DEPTH_STENCIL_DESC2(DepthStencilState); | ||
| 1294 | SeenDSS = true; | ||
| 1295 | } | ||
| 1296 | void DSVFormatCb(DXGI_FORMAT DSVFormat) override {PipelineStream.DSVFormat = DSVFormat;} | ||
| 1297 | void RasterizerStateCb(const D3D12_RASTERIZER_DESC& RasterizerState) override { PipelineStream.RasterizerState = CD3DX12_RASTERIZER_DESC2(RasterizerState); } | ||
| 1298 | void RasterizerState1Cb(const D3D12_RASTERIZER_DESC1& RasterizerState) override { PipelineStream.RasterizerState = CD3DX12_RASTERIZER_DESC2(RasterizerState); } | ||
| 1299 | void RasterizerState2Cb(const D3D12_RASTERIZER_DESC2& RasterizerState) override { PipelineStream.RasterizerState = CD3DX12_RASTERIZER_DESC2(RasterizerState); } | ||
| 1300 | void RTVFormatsCb(const D3D12_RT_FORMAT_ARRAY& RTVFormats) override { PipelineStream.RTVFormats = RTVFormats; } | ||
| 1301 | void SampleDescCb(const DXGI_SAMPLE_DESC& SampleDesc) override { PipelineStream.SampleDesc = SampleDesc; } | ||
| 1302 | void SampleMaskCb(UINT SampleMask) override { PipelineStream.SampleMask = SampleMask; } | ||
| 1303 | void ViewInstancingCb(const D3D12_VIEW_INSTANCING_DESC& ViewInstancingDesc) override { PipelineStream.ViewInstancingDesc = CD3DX12_VIEW_INSTANCING_DESC(ViewInstancingDesc); } | ||
| 1304 | void CachedPSOCb(const D3D12_CACHED_PIPELINE_STATE& CachedPSO) override { PipelineStream.CachedPSO = CachedPSO; } | ||
| 1305 | void FinalizeCb() override | ||
| 1306 | { | ||
| 1307 | if (!SeenDSS && PipelineStream.DSVFormat != DXGI_FORMAT_UNKNOWN) | ||
| 1308 | { | ||
| 1309 | // Re-enable depth for the default state. | ||
| 1310 | static_cast<D3D12_DEPTH_STENCIL_DESC2&>(PipelineStream.DepthStencilState).DepthEnable = true; | ||
| 1311 | } | ||
| 1312 | if (!SeenTopology && SeenMS) | ||
| 1313 | { | ||
| 1314 | PipelineStream.PrimitiveTopologyType = D3D12_PRIMITIVE_TOPOLOGY_TYPE_UNDEFINED; | ||
| 1315 | } | ||
| 1316 | } | ||
| 1317 | |||
| 1318 | private: | ||
| 1319 | bool SeenDSS; | ||
| 1320 | bool SeenMS; | ||
| 1321 | bool SeenTopology; | ||
| 1322 | }; | ||
| 1323 | #elif defined(D3D12_SDK_VERSION) && (D3D12_SDK_VERSION >= 610) | ||
| 1324 | struct CD3DX12_PIPELINE_STATE_STREAM5_PARSE_HELPER : public ID3DX12PipelineParserCallbacks | ||
| 1325 | { | ||
| 1326 | CD3DX12_PIPELINE_STATE_STREAM5 PipelineStream; | ||
| 1327 | CD3DX12_PIPELINE_STATE_STREAM5_PARSE_HELPER() noexcept | ||
| 1328 | : SeenDSS(false) | ||
| 1329 | { | ||
| 1330 | // Adjust defaults to account for absent members. | ||
| 1331 | PipelineStream.PrimitiveTopologyType = D3D12_PRIMITIVE_TOPOLOGY_TYPE_TRIANGLE; | ||
| 1332 | |||
| 1333 | // Depth disabled if no DSV format specified. | ||
| 1334 | static_cast<D3D12_DEPTH_STENCIL_DESC2&>(PipelineStream.DepthStencilState).DepthEnable = false; | ||
| 1335 | } | ||
| 1336 | |||
| 1337 | // ID3DX12PipelineParserCallbacks | ||
| 1338 | void FlagsCb(D3D12_PIPELINE_STATE_FLAGS Flags) override { PipelineStream.Flags = Flags; } | ||
| 1339 | void NodeMaskCb(UINT NodeMask) override { PipelineStream.NodeMask = NodeMask; } | ||
| 1340 | void RootSignatureCb(ID3D12RootSignature* pRootSignature) override { PipelineStream.pRootSignature = pRootSignature; } | ||
| 1341 | void InputLayoutCb(const D3D12_INPUT_LAYOUT_DESC& InputLayout) override { PipelineStream.InputLayout = InputLayout; } | ||
| 1342 | void IBStripCutValueCb(D3D12_INDEX_BUFFER_STRIP_CUT_VALUE IBStripCutValue) override { PipelineStream.IBStripCutValue = IBStripCutValue; } | ||
| 1343 | void PrimitiveTopologyTypeCb(D3D12_PRIMITIVE_TOPOLOGY_TYPE PrimitiveTopologyType) override { PipelineStream.PrimitiveTopologyType = PrimitiveTopologyType; } | ||
| 1344 | void VSCb(const D3D12_SHADER_BYTECODE& VS) override { PipelineStream.VS = VS; } | ||
| 1345 | void GSCb(const D3D12_SHADER_BYTECODE& GS) override { PipelineStream.GS = GS; } | ||
| 1346 | void StreamOutputCb(const D3D12_STREAM_OUTPUT_DESC& StreamOutput) override { PipelineStream.StreamOutput = StreamOutput; } | ||
| 1347 | void HSCb(const D3D12_SHADER_BYTECODE& HS) override { PipelineStream.HS = HS; } | ||
| 1348 | void DSCb(const D3D12_SHADER_BYTECODE& DS) override { PipelineStream.DS = DS; } | ||
| 1349 | void PSCb(const D3D12_SHADER_BYTECODE& PS) override { PipelineStream.PS = PS; } | ||
| 1350 | void CSCb(const D3D12_SHADER_BYTECODE& CS) override { PipelineStream.CS = CS; } | ||
| 1351 | void ASCb(const D3D12_SHADER_BYTECODE& AS) override { PipelineStream.AS = AS; } | ||
| 1352 | void MSCb(const D3D12_SHADER_BYTECODE& MS) override { PipelineStream.MS = MS; } | ||
| 1353 | void BlendStateCb(const D3D12_BLEND_DESC& BlendState) override { PipelineStream.BlendState = CD3DX12_BLEND_DESC(BlendState); } | ||
| 1354 | void DepthStencilStateCb(const D3D12_DEPTH_STENCIL_DESC& DepthStencilState) override | ||
| 1355 | { | ||
| 1356 | PipelineStream.DepthStencilState = CD3DX12_DEPTH_STENCIL_DESC2(DepthStencilState); | ||
| 1357 | SeenDSS = true; | ||
| 1358 | } | ||
| 1359 | void DepthStencilState1Cb(const D3D12_DEPTH_STENCIL_DESC1& DepthStencilState) override | ||
| 1360 | { | ||
| 1361 | PipelineStream.DepthStencilState = CD3DX12_DEPTH_STENCIL_DESC2(DepthStencilState); | ||
| 1362 | SeenDSS = true; | ||
| 1363 | } | ||
| 1364 | void DepthStencilState2Cb(const D3D12_DEPTH_STENCIL_DESC2& DepthStencilState) override | ||
| 1365 | { | ||
| 1366 | PipelineStream.DepthStencilState = CD3DX12_DEPTH_STENCIL_DESC2(DepthStencilState); | ||
| 1367 | SeenDSS = true; | ||
| 1368 | } | ||
| 1369 | void DSVFormatCb(DXGI_FORMAT DSVFormat) override | ||
| 1370 | { | ||
| 1371 | PipelineStream.DSVFormat = DSVFormat; | ||
| 1372 | if (!SeenDSS && DSVFormat != DXGI_FORMAT_UNKNOWN) | ||
| 1373 | { | ||
| 1374 | // Re-enable depth for the default state. | ||
| 1375 | static_cast<D3D12_DEPTH_STENCIL_DESC2&>(PipelineStream.DepthStencilState).DepthEnable = true; | ||
| 1376 | } | ||
| 1377 | } | ||
| 1378 | void RasterizerStateCb(const D3D12_RASTERIZER_DESC& RasterizerState) override { PipelineStream.RasterizerState = CD3DX12_RASTERIZER_DESC2(RasterizerState); } | ||
| 1379 | void RasterizerState1Cb(const D3D12_RASTERIZER_DESC1& RasterizerState) override { PipelineStream.RasterizerState = CD3DX12_RASTERIZER_DESC2(RasterizerState); } | ||
| 1380 | void RasterizerState2Cb(const D3D12_RASTERIZER_DESC2& RasterizerState) override { PipelineStream.RasterizerState = CD3DX12_RASTERIZER_DESC2(RasterizerState); } | ||
| 1381 | void RTVFormatsCb(const D3D12_RT_FORMAT_ARRAY& RTVFormats) override { PipelineStream.RTVFormats = RTVFormats; } | ||
| 1382 | void SampleDescCb(const DXGI_SAMPLE_DESC& SampleDesc) override { PipelineStream.SampleDesc = SampleDesc; } | ||
| 1383 | void SampleMaskCb(UINT SampleMask) override { PipelineStream.SampleMask = SampleMask; } | ||
| 1384 | void ViewInstancingCb(const D3D12_VIEW_INSTANCING_DESC& ViewInstancingDesc) override { PipelineStream.ViewInstancingDesc = CD3DX12_VIEW_INSTANCING_DESC(ViewInstancingDesc); } | ||
| 1385 | void CachedPSOCb(const D3D12_CACHED_PIPELINE_STATE& CachedPSO) override { PipelineStream.CachedPSO = CachedPSO; } | ||
| 1386 | |||
| 1387 | private: | ||
| 1388 | bool SeenDSS; | ||
| 1389 | }; | ||
| 1390 | #endif // D3D12_SDK_VERSION >= 610 | ||
| 1391 | |||
| 1392 | #if defined(D3D12_SDK_VERSION) && (D3D12_SDK_VERSION >= 618) | ||
| 1393 | struct CD3DX12_PIPELINE_STATE_STREAM6_PARSE_HELPER : public ID3DX12PipelineParserCallbacks | ||
| 1394 | { | ||
| 1395 | CD3DX12_PIPELINE_STATE_STREAM6 PipelineStream; | ||
| 1396 | CD3DX12_PIPELINE_STATE_STREAM6_PARSE_HELPER() noexcept | ||
| 1397 | : SeenDSS(false), | ||
| 1398 | SeenMS(false), | ||
| 1399 | SeenTopology(false) | ||
| 1400 | { | ||
| 1401 | // Adjust defaults to account for absent members. | ||
| 1402 | PipelineStream.PrimitiveTopologyType = D3D12_PRIMITIVE_TOPOLOGY_TYPE_TRIANGLE; | ||
| 1403 | |||
| 1404 | // Depth disabled if no DSV format specified. | ||
| 1405 | static_cast<D3D12_DEPTH_STENCIL_DESC2&>(PipelineStream.DepthStencilState).DepthEnable = false; | ||
| 1406 | } | ||
| 1407 | |||
| 1408 | // ID3DX12PipelineParserCallbacks | ||
| 1409 | void FlagsCb(D3D12_PIPELINE_STATE_FLAGS Flags) override { PipelineStream.Flags = Flags; } | ||
| 1410 | void NodeMaskCb(UINT NodeMask) override { PipelineStream.NodeMask = NodeMask; } | ||
| 1411 | void RootSignatureCb(ID3D12RootSignature* pRootSignature) override { PipelineStream.pRootSignature = pRootSignature; } | ||
| 1412 | void InputLayoutCb(const D3D12_INPUT_LAYOUT_DESC& InputLayout) override { PipelineStream.InputLayout = InputLayout; } | ||
| 1413 | void IBStripCutValueCb(D3D12_INDEX_BUFFER_STRIP_CUT_VALUE IBStripCutValue) override { PipelineStream.IBStripCutValue = IBStripCutValue; } | ||
| 1414 | void PrimitiveTopologyTypeCb(D3D12_PRIMITIVE_TOPOLOGY_TYPE PrimitiveTopologyType) override | ||
| 1415 | { | ||
| 1416 | PipelineStream.PrimitiveTopologyType = PrimitiveTopologyType; | ||
| 1417 | SeenTopology = true; | ||
| 1418 | } | ||
| 1419 | void VSCb(const D3D12_SHADER_BYTECODE& VS) override { PipelineStream.VS = VS; } | ||
| 1420 | void GSCb(const D3D12_SHADER_BYTECODE& GS) override { PipelineStream.GS = GS; } | ||
| 1421 | void StreamOutputCb(const D3D12_STREAM_OUTPUT_DESC& StreamOutput) override { PipelineStream.StreamOutput = StreamOutput; } | ||
| 1422 | void HSCb(const D3D12_SHADER_BYTECODE& HS) override { PipelineStream.HS = HS; } | ||
| 1423 | void DSCb(const D3D12_SHADER_BYTECODE& DS) override { PipelineStream.DS = DS; } | ||
| 1424 | void PSCb(const D3D12_SHADER_BYTECODE& PS) override { PipelineStream.PS = PS; } | ||
| 1425 | void CSCb(const D3D12_SHADER_BYTECODE& CS) override { PipelineStream.CS = CS; } | ||
| 1426 | void ASCb(const D3D12_SHADER_BYTECODE& AS) override { PipelineStream.AS = AS; } | ||
| 1427 | void MSCb(const D3D12_SHADER_BYTECODE& MS) override { PipelineStream.MS = MS; SeenMS = true; } | ||
| 1428 | void BlendStateCb(const D3D12_BLEND_DESC& BlendState) override { PipelineStream.BlendState = CD3DX12_BLEND_DESC(BlendState); } | ||
| 1429 | void DepthStencilStateCb(const D3D12_DEPTH_STENCIL_DESC& DepthStencilState) override | ||
| 1430 | { | ||
| 1431 | PipelineStream.DepthStencilState = CD3DX12_DEPTH_STENCIL_DESC2(DepthStencilState); | ||
| 1432 | SeenDSS = true; | ||
| 1433 | } | ||
| 1434 | void DepthStencilState1Cb(const D3D12_DEPTH_STENCIL_DESC1& DepthStencilState) override | ||
| 1435 | { | ||
| 1436 | PipelineStream.DepthStencilState = CD3DX12_DEPTH_STENCIL_DESC2(DepthStencilState); | ||
| 1437 | SeenDSS = true; | ||
| 1438 | } | ||
| 1439 | void DepthStencilState2Cb(const D3D12_DEPTH_STENCIL_DESC2& DepthStencilState) override | ||
| 1440 | { | ||
| 1441 | PipelineStream.DepthStencilState = CD3DX12_DEPTH_STENCIL_DESC2(DepthStencilState); | ||
| 1442 | SeenDSS = true; | ||
| 1443 | } | ||
| 1444 | void DSVFormatCb(DXGI_FORMAT DSVFormat) override { PipelineStream.DSVFormat = DSVFormat; } | ||
| 1445 | void RasterizerStateCb(const D3D12_RASTERIZER_DESC& RasterizerState) override { PipelineStream.RasterizerState = CD3DX12_RASTERIZER_DESC2(RasterizerState); } | ||
| 1446 | void RasterizerState1Cb(const D3D12_RASTERIZER_DESC1& RasterizerState) override { PipelineStream.RasterizerState = CD3DX12_RASTERIZER_DESC2(RasterizerState); } | ||
| 1447 | void RasterizerState2Cb(const D3D12_RASTERIZER_DESC2& RasterizerState) override { PipelineStream.RasterizerState = CD3DX12_RASTERIZER_DESC2(RasterizerState); } | ||
| 1448 | void RTVFormatsCb(const D3D12_RT_FORMAT_ARRAY& RTVFormats) override { PipelineStream.RTVFormats = RTVFormats; } | ||
| 1449 | void SampleDescCb(const DXGI_SAMPLE_DESC& SampleDesc) override { PipelineStream.SampleDesc = SampleDesc; } | ||
| 1450 | void SampleMaskCb(UINT SampleMask) override { PipelineStream.SampleMask = SampleMask; } | ||
| 1451 | void ViewInstancingCb(const D3D12_VIEW_INSTANCING_DESC& ViewInstancingDesc) override { PipelineStream.ViewInstancingDesc = CD3DX12_VIEW_INSTANCING_DESC(ViewInstancingDesc); } | ||
| 1452 | void CachedPSOCb(const D3D12_CACHED_PIPELINE_STATE& CachedPSO) override { PipelineStream.CachedPSO = CachedPSO; } | ||
| 1453 | void FinalizeCb() override | ||
| 1454 | { | ||
| 1455 | if (!SeenDSS && PipelineStream.DSVFormat != DXGI_FORMAT_UNKNOWN) | ||
| 1456 | { | ||
| 1457 | // Re-enable depth for the default state. | ||
| 1458 | static_cast<D3D12_DEPTH_STENCIL_DESC2&>(PipelineStream.DepthStencilState).DepthEnable = true; | ||
| 1459 | } | ||
| 1460 | if (!SeenTopology && SeenMS) | ||
| 1461 | { | ||
| 1462 | PipelineStream.PrimitiveTopologyType = D3D12_PRIMITIVE_TOPOLOGY_TYPE_UNDEFINED; | ||
| 1463 | } | ||
| 1464 | } | ||
| 1465 | void SerializedRootSignatureCb(const D3D12_SERIALIZED_ROOT_SIGNATURE_DESC& SerializedRootSignature) override { PipelineStream.SerializedRootSignature = CD3DX12_SERIALIZED_ROOT_SIGNATURE_DESC(SerializedRootSignature); } | ||
| 1466 | |||
| 1467 | private: | ||
| 1468 | bool SeenDSS; | ||
| 1469 | bool SeenMS; | ||
| 1470 | bool SeenTopology; | ||
| 1471 | }; | ||
| 1472 | #endif // D3D12_SDK_VERSION >= 618 | ||
| 1473 | |||
| 1474 | struct CD3DX12_PIPELINE_STATE_STREAM_PARSE_HELPER : public ID3DX12PipelineParserCallbacks | ||
| 1475 | { | ||
| 1476 | CD3DX12_PIPELINE_STATE_STREAM1 PipelineStream; | ||
| 1477 | CD3DX12_PIPELINE_STATE_STREAM_PARSE_HELPER() noexcept | ||
| 1478 | : SeenDSS(false) | ||
| 1479 | { | ||
| 1480 | // Adjust defaults to account for absent members. | ||
| 1481 | PipelineStream.PrimitiveTopologyType = D3D12_PRIMITIVE_TOPOLOGY_TYPE_TRIANGLE; | ||
| 1482 | |||
| 1483 | // Depth disabled if no DSV format specified. | ||
| 1484 | static_cast<D3D12_DEPTH_STENCIL_DESC1&>(PipelineStream.DepthStencilState).DepthEnable = false; | ||
| 1485 | } | ||
| 1486 | |||
| 1487 | // ID3DX12PipelineParserCallbacks | ||
| 1488 | void FlagsCb(D3D12_PIPELINE_STATE_FLAGS Flags) override {PipelineStream.Flags = Flags;} | ||
| 1489 | void NodeMaskCb(UINT NodeMask) override {PipelineStream.NodeMask = NodeMask;} | ||
| 1490 | void RootSignatureCb(ID3D12RootSignature* pRootSignature) override {PipelineStream.pRootSignature = pRootSignature;} | ||
| 1491 | void InputLayoutCb(const D3D12_INPUT_LAYOUT_DESC& InputLayout) override {PipelineStream.InputLayout = InputLayout;} | ||
| 1492 | void IBStripCutValueCb(D3D12_INDEX_BUFFER_STRIP_CUT_VALUE IBStripCutValue) override {PipelineStream.IBStripCutValue = IBStripCutValue;} | ||
| 1493 | void PrimitiveTopologyTypeCb(D3D12_PRIMITIVE_TOPOLOGY_TYPE PrimitiveTopologyType) override {PipelineStream.PrimitiveTopologyType = PrimitiveTopologyType;} | ||
| 1494 | void VSCb(const D3D12_SHADER_BYTECODE& VS) override {PipelineStream.VS = VS;} | ||
| 1495 | void GSCb(const D3D12_SHADER_BYTECODE& GS) override {PipelineStream.GS = GS;} | ||
| 1496 | void StreamOutputCb(const D3D12_STREAM_OUTPUT_DESC& StreamOutput) override {PipelineStream.StreamOutput = StreamOutput;} | ||
| 1497 | void HSCb(const D3D12_SHADER_BYTECODE& HS) override {PipelineStream.HS = HS;} | ||
| 1498 | void DSCb(const D3D12_SHADER_BYTECODE& DS) override {PipelineStream.DS = DS;} | ||
| 1499 | void PSCb(const D3D12_SHADER_BYTECODE& PS) override {PipelineStream.PS = PS;} | ||
| 1500 | void CSCb(const D3D12_SHADER_BYTECODE& CS) override {PipelineStream.CS = CS;} | ||
| 1501 | void BlendStateCb(const D3D12_BLEND_DESC& BlendState) override {PipelineStream.BlendState = CD3DX12_BLEND_DESC(BlendState);} | ||
| 1502 | void DepthStencilStateCb(const D3D12_DEPTH_STENCIL_DESC& DepthStencilState) override | ||
| 1503 | { | ||
| 1504 | PipelineStream.DepthStencilState = CD3DX12_DEPTH_STENCIL_DESC1(DepthStencilState); | ||
| 1505 | SeenDSS = true; | ||
| 1506 | } | ||
| 1507 | void DepthStencilState1Cb(const D3D12_DEPTH_STENCIL_DESC1& DepthStencilState) override | ||
| 1508 | { | ||
| 1509 | PipelineStream.DepthStencilState = CD3DX12_DEPTH_STENCIL_DESC1(DepthStencilState); | ||
| 1510 | SeenDSS = true; | ||
| 1511 | } | ||
| 1512 | void DSVFormatCb(DXGI_FORMAT DSVFormat) override | ||
| 1513 | { | ||
| 1514 | PipelineStream.DSVFormat = DSVFormat; | ||
| 1515 | if (!SeenDSS && DSVFormat != DXGI_FORMAT_UNKNOWN) | ||
| 1516 | { | ||
| 1517 | // Re-enable depth for the default state. | ||
| 1518 | static_cast<D3D12_DEPTH_STENCIL_DESC1&>(PipelineStream.DepthStencilState).DepthEnable = true; | ||
| 1519 | } | ||
| 1520 | } | ||
| 1521 | void RasterizerStateCb(const D3D12_RASTERIZER_DESC& RasterizerState) override {PipelineStream.RasterizerState = CD3DX12_RASTERIZER_DESC(RasterizerState);} | ||
| 1522 | void RTVFormatsCb(const D3D12_RT_FORMAT_ARRAY& RTVFormats) override {PipelineStream.RTVFormats = RTVFormats;} | ||
| 1523 | void SampleDescCb(const DXGI_SAMPLE_DESC& SampleDesc) override {PipelineStream.SampleDesc = SampleDesc;} | ||
| 1524 | void SampleMaskCb(UINT SampleMask) override {PipelineStream.SampleMask = SampleMask;} | ||
| 1525 | void ViewInstancingCb(const D3D12_VIEW_INSTANCING_DESC& ViewInstancingDesc) override {PipelineStream.ViewInstancingDesc = CD3DX12_VIEW_INSTANCING_DESC(ViewInstancingDesc);} | ||
| 1526 | void CachedPSOCb(const D3D12_CACHED_PIPELINE_STATE& CachedPSO) override {PipelineStream.CachedPSO = CachedPSO;} | ||
| 1527 | |||
| 1528 | private: | ||
| 1529 | bool SeenDSS; | ||
| 1530 | }; | ||
| 1531 | |||
| 1532 | |||
| 1533 | inline D3D12_PIPELINE_STATE_SUBOBJECT_TYPE D3DX12GetBaseSubobjectType(D3D12_PIPELINE_STATE_SUBOBJECT_TYPE SubobjectType) noexcept | ||
| 1534 | { | ||
| 1535 | switch (SubobjectType) | ||
| 1536 | { | ||
| 1537 | case D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_DEPTH_STENCIL1: | ||
| 1538 | return D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_DEPTH_STENCIL; | ||
| 1539 | #if defined(D3D12_SDK_VERSION) && (D3D12_SDK_VERSION >= 606) | ||
| 1540 | case D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_DEPTH_STENCIL2: | ||
| 1541 | return D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_DEPTH_STENCIL; | ||
| 1542 | #endif | ||
| 1543 | #if defined(D3D12_SDK_VERSION) && (D3D12_SDK_VERSION >= 608) | ||
| 1544 | case D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_RASTERIZER1: | ||
| 1545 | return D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_RASTERIZER; | ||
| 1546 | #endif | ||
| 1547 | default: | ||
| 1548 | return SubobjectType; | ||
| 1549 | } | ||
| 1550 | } | ||
| 1551 | |||
| 1552 | inline HRESULT D3DX12ParsePipelineStream(const D3D12_PIPELINE_STATE_STREAM_DESC& Desc, ID3DX12PipelineParserCallbacks* pCallbacks) | ||
| 1553 | { | ||
| 1554 | if (pCallbacks == nullptr) | ||
| 1555 | { | ||
| 1556 | return E_INVALIDARG; | ||
| 1557 | } | ||
| 1558 | |||
| 1559 | if (Desc.SizeInBytes == 0 || Desc.pPipelineStateSubobjectStream == nullptr) | ||
| 1560 | { | ||
| 1561 | pCallbacks->ErrorBadInputParameter(1); // first parameter issue | ||
| 1562 | return E_INVALIDARG; | ||
| 1563 | } | ||
| 1564 | |||
| 1565 | bool SubobjectSeen[D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_MAX_VALID] = {}; | ||
| 1566 | for (SIZE_T CurOffset = 0, SizeOfSubobject = 0; CurOffset < Desc.SizeInBytes; CurOffset += SizeOfSubobject) | ||
| 1567 | { | ||
| 1568 | BYTE* pStream = static_cast<BYTE*>(Desc.pPipelineStateSubobjectStream)+CurOffset; | ||
| 1569 | auto SubobjectType = *reinterpret_cast<D3D12_PIPELINE_STATE_SUBOBJECT_TYPE*>(pStream); | ||
| 1570 | if (SubobjectType < 0 || SubobjectType >= D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_MAX_VALID) | ||
| 1571 | { | ||
| 1572 | pCallbacks->ErrorUnknownSubobject(SubobjectType); | ||
| 1573 | return E_INVALIDARG; | ||
| 1574 | } | ||
| 1575 | if (SubobjectSeen[D3DX12GetBaseSubobjectType(SubobjectType)]) | ||
| 1576 | { | ||
| 1577 | pCallbacks->ErrorDuplicateSubobject(SubobjectType); | ||
| 1578 | return E_INVALIDARG; // disallow subobject duplicates in a stream | ||
| 1579 | } | ||
| 1580 | SubobjectSeen[SubobjectType] = true; | ||
| 1581 | switch (SubobjectType) | ||
| 1582 | { | ||
| 1583 | case D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_ROOT_SIGNATURE: | ||
| 1584 | pCallbacks->RootSignatureCb(*reinterpret_cast<decltype(CD3DX12_PIPELINE_STATE_STREAM::pRootSignature)*>(pStream)); | ||
| 1585 | SizeOfSubobject = sizeof(CD3DX12_PIPELINE_STATE_STREAM::pRootSignature); | ||
| 1586 | break; | ||
| 1587 | case D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_VS: | ||
| 1588 | pCallbacks->VSCb(*reinterpret_cast<decltype(CD3DX12_PIPELINE_STATE_STREAM::VS)*>(pStream)); | ||
| 1589 | SizeOfSubobject = sizeof(CD3DX12_PIPELINE_STATE_STREAM::VS); | ||
| 1590 | break; | ||
| 1591 | case D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_PS: | ||
| 1592 | pCallbacks->PSCb(*reinterpret_cast<decltype(CD3DX12_PIPELINE_STATE_STREAM::PS)*>(pStream)); | ||
| 1593 | SizeOfSubobject = sizeof(CD3DX12_PIPELINE_STATE_STREAM::PS); | ||
| 1594 | break; | ||
| 1595 | case D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_DS: | ||
| 1596 | pCallbacks->DSCb(*reinterpret_cast<decltype(CD3DX12_PIPELINE_STATE_STREAM::DS)*>(pStream)); | ||
| 1597 | SizeOfSubobject = sizeof(CD3DX12_PIPELINE_STATE_STREAM::DS); | ||
| 1598 | break; | ||
| 1599 | case D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_HS: | ||
| 1600 | pCallbacks->HSCb(*reinterpret_cast<decltype(CD3DX12_PIPELINE_STATE_STREAM::HS)*>(pStream)); | ||
| 1601 | SizeOfSubobject = sizeof(CD3DX12_PIPELINE_STATE_STREAM::HS); | ||
| 1602 | break; | ||
| 1603 | case D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_GS: | ||
| 1604 | pCallbacks->GSCb(*reinterpret_cast<decltype(CD3DX12_PIPELINE_STATE_STREAM::GS)*>(pStream)); | ||
| 1605 | SizeOfSubobject = sizeof(CD3DX12_PIPELINE_STATE_STREAM::GS); | ||
| 1606 | break; | ||
| 1607 | case D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_CS: | ||
| 1608 | pCallbacks->CSCb(*reinterpret_cast<decltype(CD3DX12_PIPELINE_STATE_STREAM::CS)*>(pStream)); | ||
| 1609 | SizeOfSubobject = sizeof(CD3DX12_PIPELINE_STATE_STREAM::CS); | ||
| 1610 | break; | ||
| 1611 | case D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_AS: | ||
| 1612 | pCallbacks->ASCb(*reinterpret_cast<decltype(CD3DX12_PIPELINE_STATE_STREAM2::AS)*>(pStream)); | ||
| 1613 | SizeOfSubobject = sizeof(CD3DX12_PIPELINE_STATE_STREAM2::AS); | ||
| 1614 | break; | ||
| 1615 | case D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_MS: | ||
| 1616 | pCallbacks->MSCb(*reinterpret_cast<decltype(CD3DX12_PIPELINE_STATE_STREAM2::MS)*>(pStream)); | ||
| 1617 | SizeOfSubobject = sizeof(CD3DX12_PIPELINE_STATE_STREAM2::MS); | ||
| 1618 | break; | ||
| 1619 | case D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_STREAM_OUTPUT: | ||
| 1620 | pCallbacks->StreamOutputCb(*reinterpret_cast<decltype(CD3DX12_PIPELINE_STATE_STREAM::StreamOutput)*>(pStream)); | ||
| 1621 | SizeOfSubobject = sizeof(CD3DX12_PIPELINE_STATE_STREAM::StreamOutput); | ||
| 1622 | break; | ||
| 1623 | case D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_BLEND: | ||
| 1624 | pCallbacks->BlendStateCb(*reinterpret_cast<decltype(CD3DX12_PIPELINE_STATE_STREAM::BlendState)*>(pStream)); | ||
| 1625 | SizeOfSubobject = sizeof(CD3DX12_PIPELINE_STATE_STREAM::BlendState); | ||
| 1626 | break; | ||
| 1627 | case D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_SAMPLE_MASK: | ||
| 1628 | pCallbacks->SampleMaskCb(*reinterpret_cast<decltype(CD3DX12_PIPELINE_STATE_STREAM::SampleMask)*>(pStream)); | ||
| 1629 | SizeOfSubobject = sizeof(CD3DX12_PIPELINE_STATE_STREAM::SampleMask); | ||
| 1630 | break; | ||
| 1631 | case D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_RASTERIZER: | ||
| 1632 | pCallbacks->RasterizerStateCb(*reinterpret_cast<decltype(CD3DX12_PIPELINE_STATE_STREAM::RasterizerState)*>(pStream)); | ||
| 1633 | SizeOfSubobject = sizeof(CD3DX12_PIPELINE_STATE_STREAM::RasterizerState); | ||
| 1634 | break; | ||
| 1635 | #if defined(D3D12_SDK_VERSION) && (D3D12_SDK_VERSION >= 608) | ||
| 1636 | case D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_RASTERIZER1: | ||
| 1637 | pCallbacks->RasterizerState1Cb(*reinterpret_cast<decltype(CD3DX12_PIPELINE_STATE_STREAM4::RasterizerState)*>(pStream)); | ||
| 1638 | SizeOfSubobject = sizeof(CD3DX12_PIPELINE_STATE_STREAM4::RasterizerState); | ||
| 1639 | break; | ||
| 1640 | #endif | ||
| 1641 | #if defined(D3D12_SDK_VERSION) && (D3D12_SDK_VERSION >= 610) | ||
| 1642 | case D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_RASTERIZER2: | ||
| 1643 | pCallbacks->RasterizerState2Cb(*reinterpret_cast<decltype(CD3DX12_PIPELINE_STATE_STREAM5::RasterizerState)*>(pStream)); | ||
| 1644 | SizeOfSubobject = sizeof(CD3DX12_PIPELINE_STATE_STREAM5::RasterizerState); | ||
| 1645 | break; | ||
| 1646 | #endif | ||
| 1647 | case D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_DEPTH_STENCIL: | ||
| 1648 | pCallbacks->DepthStencilStateCb(*reinterpret_cast<CD3DX12_PIPELINE_STATE_STREAM_DEPTH_STENCIL*>(pStream)); | ||
| 1649 | SizeOfSubobject = sizeof(CD3DX12_PIPELINE_STATE_STREAM_DEPTH_STENCIL); | ||
| 1650 | break; | ||
| 1651 | case D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_DEPTH_STENCIL1: | ||
| 1652 | pCallbacks->DepthStencilState1Cb(*reinterpret_cast<decltype(CD3DX12_PIPELINE_STATE_STREAM::DepthStencilState)*>(pStream)); | ||
| 1653 | SizeOfSubobject = sizeof(CD3DX12_PIPELINE_STATE_STREAM::DepthStencilState); | ||
| 1654 | break; | ||
| 1655 | #if defined(D3D12_SDK_VERSION) && (D3D12_SDK_VERSION >= 606) | ||
| 1656 | case D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_DEPTH_STENCIL2: | ||
| 1657 | pCallbacks->DepthStencilState2Cb(*reinterpret_cast<decltype(CD3DX12_PIPELINE_STATE_STREAM3::DepthStencilState)*>(pStream)); | ||
| 1658 | SizeOfSubobject = sizeof(CD3DX12_PIPELINE_STATE_STREAM3::DepthStencilState); | ||
| 1659 | break; | ||
| 1660 | #endif | ||
| 1661 | case D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_INPUT_LAYOUT: | ||
| 1662 | pCallbacks->InputLayoutCb(*reinterpret_cast<decltype(CD3DX12_PIPELINE_STATE_STREAM::InputLayout)*>(pStream)); | ||
| 1663 | SizeOfSubobject = sizeof(CD3DX12_PIPELINE_STATE_STREAM::InputLayout); | ||
| 1664 | break; | ||
| 1665 | case D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_IB_STRIP_CUT_VALUE: | ||
| 1666 | pCallbacks->IBStripCutValueCb(*reinterpret_cast<decltype(CD3DX12_PIPELINE_STATE_STREAM::IBStripCutValue)*>(pStream)); | ||
| 1667 | SizeOfSubobject = sizeof(CD3DX12_PIPELINE_STATE_STREAM::IBStripCutValue); | ||
| 1668 | break; | ||
| 1669 | case D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_PRIMITIVE_TOPOLOGY: | ||
| 1670 | pCallbacks->PrimitiveTopologyTypeCb(*reinterpret_cast<decltype(CD3DX12_PIPELINE_STATE_STREAM::PrimitiveTopologyType)*>(pStream)); | ||
| 1671 | SizeOfSubobject = sizeof(CD3DX12_PIPELINE_STATE_STREAM::PrimitiveTopologyType); | ||
| 1672 | break; | ||
| 1673 | case D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_RENDER_TARGET_FORMATS: | ||
| 1674 | pCallbacks->RTVFormatsCb(*reinterpret_cast<decltype(CD3DX12_PIPELINE_STATE_STREAM::RTVFormats)*>(pStream)); | ||
| 1675 | SizeOfSubobject = sizeof(CD3DX12_PIPELINE_STATE_STREAM::RTVFormats); | ||
| 1676 | break; | ||
| 1677 | case D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_DEPTH_STENCIL_FORMAT: | ||
| 1678 | pCallbacks->DSVFormatCb(*reinterpret_cast<decltype(CD3DX12_PIPELINE_STATE_STREAM::DSVFormat)*>(pStream)); | ||
| 1679 | SizeOfSubobject = sizeof(CD3DX12_PIPELINE_STATE_STREAM::DSVFormat); | ||
| 1680 | break; | ||
| 1681 | case D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_SAMPLE_DESC: | ||
| 1682 | pCallbacks->SampleDescCb(*reinterpret_cast<decltype(CD3DX12_PIPELINE_STATE_STREAM::SampleDesc)*>(pStream)); | ||
| 1683 | SizeOfSubobject = sizeof(CD3DX12_PIPELINE_STATE_STREAM::SampleDesc); | ||
| 1684 | break; | ||
| 1685 | case D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_NODE_MASK: | ||
| 1686 | pCallbacks->NodeMaskCb(*reinterpret_cast<decltype(CD3DX12_PIPELINE_STATE_STREAM::NodeMask)*>(pStream)); | ||
| 1687 | SizeOfSubobject = sizeof(CD3DX12_PIPELINE_STATE_STREAM::NodeMask); | ||
| 1688 | break; | ||
| 1689 | case D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_CACHED_PSO: | ||
| 1690 | pCallbacks->CachedPSOCb(*reinterpret_cast<decltype(CD3DX12_PIPELINE_STATE_STREAM::CachedPSO)*>(pStream)); | ||
| 1691 | SizeOfSubobject = sizeof(CD3DX12_PIPELINE_STATE_STREAM::CachedPSO); | ||
| 1692 | break; | ||
| 1693 | case D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_FLAGS: | ||
| 1694 | pCallbacks->FlagsCb(*reinterpret_cast<decltype(CD3DX12_PIPELINE_STATE_STREAM::Flags)*>(pStream)); | ||
| 1695 | SizeOfSubobject = sizeof(CD3DX12_PIPELINE_STATE_STREAM::Flags); | ||
| 1696 | break; | ||
| 1697 | case D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_VIEW_INSTANCING: | ||
| 1698 | pCallbacks->ViewInstancingCb(*reinterpret_cast<decltype(CD3DX12_PIPELINE_STATE_STREAM1::ViewInstancingDesc)*>(pStream)); | ||
| 1699 | SizeOfSubobject = sizeof(CD3DX12_PIPELINE_STATE_STREAM1::ViewInstancingDesc); | ||
| 1700 | break; | ||
| 1701 | #if defined(D3D12_SDK_VERSION) && (D3D12_SDK_VERSION >= 618) | ||
| 1702 | case D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_SERIALIZED_ROOT_SIGNATURE: | ||
| 1703 | pCallbacks->SerializedRootSignatureCb(*reinterpret_cast<decltype(CD3DX12_PIPELINE_STATE_STREAM6::SerializedRootSignature)*>(pStream)); | ||
| 1704 | SizeOfSubobject = sizeof(CD3DX12_PIPELINE_STATE_STREAM6::SerializedRootSignature); | ||
| 1705 | break; | ||
| 1706 | #endif | ||
| 1707 | default: | ||
| 1708 | pCallbacks->ErrorUnknownSubobject(SubobjectType); | ||
| 1709 | return E_INVALIDARG; | ||
| 1710 | } | ||
| 1711 | } | ||
| 1712 | #if defined(D3D12_SDK_VERSION) && (D3D12_SDK_VERSION >= 613) | ||
| 1713 | pCallbacks->FinalizeCb(); | ||
| 1714 | #endif | ||
| 1715 | |||
| 1716 | return S_OK; | ||
| 1717 | } | ||
| 1718 | |||
diff --git a/contrib/microsoft.direct3d.d3d12.1.618.4/build/native/include/d3dx12/d3dx12_property_format_table.h b/contrib/microsoft.direct3d.d3d12.1.618.4/build/native/include/d3dx12/d3dx12_property_format_table.h new file mode 100644 index 0000000..66c7600 --- /dev/null +++ b/contrib/microsoft.direct3d.d3d12.1.618.4/build/native/include/d3dx12/d3dx12_property_format_table.h | |||
| @@ -0,0 +1,128 @@ | |||
| 1 | //********************************************************* | ||
| 2 | // | ||
| 3 | // Copyright (c) Microsoft Corporation. | ||
| 4 | // Licensed under the MIT License (MIT). | ||
| 5 | // | ||
| 6 | //********************************************************* | ||
| 7 | #ifndef __D3D12_PROPERTY_LAYOUT_FORMAT_TABLE_H__ | ||
| 8 | #define __D3D12_PROPERTY_LAYOUT_FORMAT_TABLE_H__ | ||
| 9 | #include "d3d12.h" | ||
| 10 | #define MAP_ALIGN_REQUIREMENT 16 // Map is required to return 16-byte aligned addresses | ||
| 11 | |||
| 12 | struct D3D12_PROPERTY_LAYOUT_FORMAT_TABLE | ||
| 13 | { | ||
| 14 | public: | ||
| 15 | // ---------------------------------------------------------------------------- | ||
| 16 | // Information describing everything about a D3D Resource Format | ||
| 17 | // ---------------------------------------------------------------------------- | ||
| 18 | typedef struct FORMAT_DETAIL | ||
| 19 | { | ||
| 20 | DXGI_FORMAT DXGIFormat; | ||
| 21 | DXGI_FORMAT ParentFormat; | ||
| 22 | const DXGI_FORMAT* pDefaultFormatCastSet; // This is dependent on FL/driver version, but is here to save a lot of space | ||
| 23 | UINT8 BitsPerComponent[4]; // only used for D3DFTL_PARTIAL_TYPE or FULL_TYPE | ||
| 24 | UINT8 BitsPerUnit; | ||
| 25 | BYTE SRGBFormat : 1; | ||
| 26 | UINT WidthAlignment : 4; // number of texels to align to in a mip level. | ||
| 27 | UINT HeightAlignment : 4; // Top level dimensions must be a multiple of these | ||
| 28 | UINT DepthAlignment : 1; // values. | ||
| 29 | D3D_FORMAT_LAYOUT Layout : 1; | ||
| 30 | D3D_FORMAT_TYPE_LEVEL TypeLevel : 2; | ||
| 31 | D3D_FORMAT_COMPONENT_NAME ComponentName0 : 3; // RED ... only used for D3DFTL_PARTIAL_TYPE or FULL_TYPE | ||
| 32 | D3D_FORMAT_COMPONENT_NAME ComponentName1 : 3; // GREEN ... only used for D3DFTL_PARTIAL_TYPE or FULL_TYPE | ||
| 33 | D3D_FORMAT_COMPONENT_NAME ComponentName2 : 3; // BLUE ... only used for D3DFTL_PARTIAL_TYPE or FULL_TYPE | ||
| 34 | D3D_FORMAT_COMPONENT_NAME ComponentName3 : 3; // ALPHA ... only used for D3DFTL_PARTIAL_TYPE or FULL_TYPE | ||
| 35 | D3D_FORMAT_COMPONENT_INTERPRETATION ComponentInterpretation0 : 3; // only used for D3DFTL_FULL_TYPE | ||
| 36 | D3D_FORMAT_COMPONENT_INTERPRETATION ComponentInterpretation1 : 3; // only used for D3DFTL_FULL_TYPE | ||
| 37 | D3D_FORMAT_COMPONENT_INTERPRETATION ComponentInterpretation2 : 3; // only used for D3DFTL_FULL_TYPE | ||
| 38 | D3D_FORMAT_COMPONENT_INTERPRETATION ComponentInterpretation3 : 3; // only used for D3DFTL_FULL_TYPE | ||
| 39 | bool bDX9VertexOrIndexFormat : 1; | ||
| 40 | bool bDX9TextureFormat : 1; | ||
| 41 | bool bFloatNormFormat : 1; | ||
| 42 | bool bPlanar : 1; | ||
| 43 | bool bYUV : 1; | ||
| 44 | bool bDependantFormatCastSet : 1; // This indicates that the format cast set is dependent on FL/driver version | ||
| 45 | bool bInternal : 1; | ||
| 46 | } FORMAT_DETAIL; | ||
| 47 | |||
| 48 | private: | ||
| 49 | static const FORMAT_DETAIL s_FormatDetail[]; | ||
| 50 | static const UINT s_NumFormats; | ||
| 51 | static const LPCSTR s_FormatNames[]; // separate from above structure so it can be compiled out of runtime. | ||
| 52 | public: | ||
| 53 | static UINT GetNumFormats(); | ||
| 54 | static const FORMAT_DETAIL* GetFormatTable(); | ||
| 55 | static D3D_FEATURE_LEVEL GetHighestDefinedFeatureLevel(); | ||
| 56 | |||
| 57 | static DXGI_FORMAT GetFormat (SIZE_T Index); | ||
| 58 | static bool FormatExists (DXGI_FORMAT Format); | ||
| 59 | static bool FormatExistsInHeader (DXGI_FORMAT Format, bool bExternalHeader = true); | ||
| 60 | static UINT GetByteAlignment (DXGI_FORMAT Format); | ||
| 61 | static bool IsBlockCompressFormat (DXGI_FORMAT Format); | ||
| 62 | static LPCSTR GetName (DXGI_FORMAT Format, bool bHideInternalFormats = true); | ||
| 63 | static bool IsSRGBFormat (DXGI_FORMAT Format); | ||
| 64 | static UINT GetBitsPerStencil (DXGI_FORMAT Format); | ||
| 65 | static UINT GetBitsPerDepth (DXGI_FORMAT Format); | ||
| 66 | static void GetFormatReturnTypes (DXGI_FORMAT Format, D3D_FORMAT_COMPONENT_INTERPRETATION* pInterpretations); // return array of 4 components | ||
| 67 | static UINT GetNumComponentsInFormat(DXGI_FORMAT Format); | ||
| 68 | static UINT GetMinNumComponentsInFormats(DXGI_FORMAT FormatA, DXGI_FORMAT FormatB); | ||
| 69 | |||
| 70 | // Converts the sequential component index (range from 0 to GetNumComponentsInFormat()) to | ||
| 71 | // the absolute component index (range 0 to 3). | ||
| 72 | static UINT Sequential2AbsoluteComponentIndex (DXGI_FORMAT Format, UINT SequentialComponentIndex); | ||
| 73 | static bool CanBeCastEvenFullyTyped (DXGI_FORMAT Format, D3D_FEATURE_LEVEL fl); | ||
| 74 | static UINT8 GetAddressingBitsPerAlignedSize (DXGI_FORMAT Format); | ||
| 75 | static DXGI_FORMAT GetParentFormat (DXGI_FORMAT Format); | ||
| 76 | static const DXGI_FORMAT* GetFormatCastSet (DXGI_FORMAT Format); | ||
| 77 | static D3D_FORMAT_LAYOUT GetLayout (DXGI_FORMAT Format); | ||
| 78 | static D3D_FORMAT_TYPE_LEVEL GetTypeLevel (DXGI_FORMAT Format); | ||
| 79 | static UINT GetBitsPerUnit (DXGI_FORMAT Format); | ||
| 80 | static UINT GetBitsPerUnitThrow (DXGI_FORMAT Format); | ||
| 81 | static UINT GetBitsPerElement (DXGI_FORMAT Format); // Legacy function used to support D3D10on9 only. Do not use. | ||
| 82 | static UINT GetWidthAlignment (DXGI_FORMAT Format); | ||
| 83 | static UINT GetHeightAlignment (DXGI_FORMAT Format); | ||
| 84 | static UINT GetDepthAlignment (DXGI_FORMAT Format); | ||
| 85 | static BOOL Planar (DXGI_FORMAT Format); | ||
| 86 | static BOOL NonOpaquePlanar (DXGI_FORMAT Format); | ||
| 87 | static BOOL YUV (DXGI_FORMAT Format); | ||
| 88 | static BOOL Opaque (DXGI_FORMAT Format); | ||
| 89 | static bool FamilySupportsStencil (DXGI_FORMAT Format); | ||
| 90 | static UINT NonOpaquePlaneCount (DXGI_FORMAT Format); | ||
| 91 | static BOOL DX9VertexOrIndexFormat (DXGI_FORMAT Format); | ||
| 92 | static BOOL DX9TextureFormat (DXGI_FORMAT Format); | ||
| 93 | static BOOL FloatNormTextureFormat (DXGI_FORMAT Format); | ||
| 94 | static bool DepthOnlyFormat (DXGI_FORMAT format); | ||
| 95 | static UINT8 GetPlaneCount (DXGI_FORMAT Format); | ||
| 96 | static bool MotionEstimatorAllowedInputFormat (DXGI_FORMAT Format); | ||
| 97 | static bool SupportsSamplerFeedback (DXGI_FORMAT Format); | ||
| 98 | static bool DecodeHistogramAllowedForOutputFormatSupport(DXGI_FORMAT Format); | ||
| 99 | static UINT8 GetPlaneSliceFromViewFormat (DXGI_FORMAT ResourceFormat, DXGI_FORMAT ViewFormat); | ||
| 100 | static bool FloatAndNotFloatFormats (DXGI_FORMAT FormatA, DXGI_FORMAT FormatB); | ||
| 101 | static bool SNORMAndUNORMFormats (DXGI_FORMAT FormatA, DXGI_FORMAT FormatB); | ||
| 102 | static bool ValidCastToR32UAV (DXGI_FORMAT from, DXGI_FORMAT to); | ||
| 103 | static bool IsSupportedTextureDisplayableFormat (DXGI_FORMAT, bool bMediaFormatOnly); | ||
| 104 | static D3D_FORMAT_COMPONENT_INTERPRETATION GetFormatComponentInterpretation (DXGI_FORMAT Format, UINT AbsoluteComponentIndex); | ||
| 105 | static UINT GetBitsPerComponent (DXGI_FORMAT Format, UINT AbsoluteComponentIndex); | ||
| 106 | static D3D_FORMAT_COMPONENT_NAME GetComponentName (DXGI_FORMAT Format, UINT AbsoluteComponentIndex); | ||
| 107 | static HRESULT CalculateExtraPlanarRows (DXGI_FORMAT format, UINT plane0Height, _Out_ UINT& totalHeight); | ||
| 108 | static HRESULT CalculateMinimumRowMajorRowPitch (DXGI_FORMAT Format, UINT Width, _Out_ UINT& RowPitch); | ||
| 109 | static HRESULT CalculateMinimumRowMajorSlicePitch (DXGI_FORMAT Format, UINT ContextBasedRowPitch, UINT Height, _Out_ UINT& SlicePitch); | ||
| 110 | static void GetYCbCrChromaSubsampling (DXGI_FORMAT Format, _Out_ UINT& HorizontalSubsampling, _Out_ UINT& VerticalSubsampling); | ||
| 111 | |||
| 112 | static HRESULT CalculateResourceSize (UINT width, UINT height, UINT depth, DXGI_FORMAT format, UINT mipLevels, UINT subresources, _Out_ SIZE_T& totalByteSize, _Out_writes_opt_(subresources) D3D12_MEMCPY_DEST* pDst = nullptr); | ||
| 113 | static void GetTileShape (D3D12_TILE_SHAPE* pTileShape, DXGI_FORMAT Format, D3D12_RESOURCE_DIMENSION Dimension, UINT SampleCount); | ||
| 114 | static void Get4KTileShape (D3D12_TILE_SHAPE* pTileShape, DXGI_FORMAT Format, D3D12_RESOURCE_DIMENSION Dimension, UINT SampleCount); | ||
| 115 | static void GetMipDimensions (UINT8 mipSlice, _Inout_ UINT64* pWidth, _Inout_opt_ UINT64* pHeight = nullptr, _Inout_opt_ UINT64* pDepth = nullptr); | ||
| 116 | static void GetPlaneSubsampledSizeAndFormatForCopyableLayout(UINT PlaneSlice, DXGI_FORMAT Format, UINT Width, UINT Height, _Out_ DXGI_FORMAT& PlaneFormat, _Out_ UINT& MinPlanePitchWidth, _Out_ UINT& PlaneWidth, _Out_ UINT& PlaneHeight); | ||
| 117 | |||
| 118 | static UINT GetDetailTableIndex (DXGI_FORMAT Format); | ||
| 119 | static UINT GetDetailTableIndexNoThrow (DXGI_FORMAT Format); | ||
| 120 | static UINT GetDetailTableIndexThrow (DXGI_FORMAT Format); | ||
| 121 | static bool SupportsDepth (DXGI_FORMAT Format); | ||
| 122 | static bool SupportsStencil (DXGI_FORMAT Format); | ||
| 123 | private: | ||
| 124 | static const FORMAT_DETAIL* GetFormatDetail (DXGI_FORMAT Format); | ||
| 125 | |||
| 126 | }; | ||
| 127 | |||
| 128 | #endif \ No newline at end of file | ||
diff --git a/contrib/microsoft.direct3d.d3d12.1.618.4/build/native/include/d3dx12/d3dx12_render_pass.h b/contrib/microsoft.direct3d.d3d12.1.618.4/build/native/include/d3dx12/d3dx12_render_pass.h new file mode 100644 index 0000000..c88fbdf --- /dev/null +++ b/contrib/microsoft.direct3d.d3d12.1.618.4/build/native/include/d3dx12/d3dx12_render_pass.h | |||
| @@ -0,0 +1,105 @@ | |||
| 1 | //********************************************************* | ||
| 2 | // | ||
| 3 | // Copyright (c) Microsoft Corporation. | ||
| 4 | // Licensed under the MIT License (MIT). | ||
| 5 | // | ||
| 6 | //********************************************************* | ||
| 7 | |||
| 8 | #pragma once | ||
| 9 | |||
| 10 | #ifndef __cplusplus | ||
| 11 | #error D3DX12 requires C++ | ||
| 12 | #endif | ||
| 13 | |||
| 14 | #include "d3d12.h" | ||
| 15 | #if defined(D3D12_SDK_VERSION) && (D3D12_SDK_VERSION >= 609) | ||
| 16 | inline bool operator==(const D3D12_RENDER_PASS_BEGINNING_ACCESS_PRESERVE_LOCAL_PARAMETERS& a, const D3D12_RENDER_PASS_ENDING_ACCESS_PRESERVE_LOCAL_PARAMETERS& b) noexcept | ||
| 17 | { | ||
| 18 | return ((a.AdditionalWidth == b.AdditionalWidth) && (a.AdditionalHeight == b.AdditionalHeight)); | ||
| 19 | } | ||
| 20 | |||
| 21 | inline bool operator==(const D3D12_RENDER_PASS_BEGINNING_ACCESS_PRESERVE_LOCAL_PARAMETERS& a, const D3D12_RENDER_PASS_BEGINNING_ACCESS_PRESERVE_LOCAL_PARAMETERS& b) noexcept | ||
| 22 | { | ||
| 23 | return ((a.AdditionalWidth == b.AdditionalWidth) && (a.AdditionalHeight == b.AdditionalHeight)); | ||
| 24 | } | ||
| 25 | |||
| 26 | inline bool operator==(const D3D12_RENDER_PASS_ENDING_ACCESS_PRESERVE_LOCAL_PARAMETERS& a, const D3D12_RENDER_PASS_ENDING_ACCESS_PRESERVE_LOCAL_PARAMETERS& b) noexcept | ||
| 27 | { | ||
| 28 | return ((a.AdditionalWidth == b.AdditionalWidth) && (a.AdditionalHeight == b.AdditionalHeight)); | ||
| 29 | } | ||
| 30 | #endif | ||
| 31 | |||
| 32 | inline bool operator==( const D3D12_RENDER_PASS_BEGINNING_ACCESS_CLEAR_PARAMETERS &a, const D3D12_RENDER_PASS_BEGINNING_ACCESS_CLEAR_PARAMETERS &b) noexcept | ||
| 33 | { | ||
| 34 | return a.ClearValue == b.ClearValue; | ||
| 35 | } | ||
| 36 | |||
| 37 | inline bool operator==( const D3D12_RENDER_PASS_ENDING_ACCESS_RESOLVE_PARAMETERS &a, const D3D12_RENDER_PASS_ENDING_ACCESS_RESOLVE_PARAMETERS &b) noexcept | ||
| 38 | { | ||
| 39 | if (a.pSrcResource != b.pSrcResource) return false; | ||
| 40 | if (a.pDstResource != b.pDstResource) return false; | ||
| 41 | if (a.SubresourceCount != b.SubresourceCount) return false; | ||
| 42 | if (a.Format != b.Format) return false; | ||
| 43 | if (a.ResolveMode != b.ResolveMode) return false; | ||
| 44 | if (a.PreserveResolveSource != b.PreserveResolveSource) return false; | ||
| 45 | return true; | ||
| 46 | } | ||
| 47 | |||
| 48 | inline bool operator==( const D3D12_RENDER_PASS_BEGINNING_ACCESS &a, const D3D12_RENDER_PASS_BEGINNING_ACCESS &b) noexcept | ||
| 49 | { | ||
| 50 | if (a.Type != b.Type) return false; | ||
| 51 | switch (a.Type) | ||
| 52 | { | ||
| 53 | case D3D12_RENDER_PASS_BEGINNING_ACCESS_TYPE_CLEAR: | ||
| 54 | if (!(a.Clear == b.Clear)) return false; | ||
| 55 | break; | ||
| 56 | #if defined(D3D12_SDK_VERSION) && (D3D12_SDK_VERSION >= 609) | ||
| 57 | case D3D12_RENDER_PASS_BEGINNING_ACCESS_TYPE_PRESERVE_LOCAL_RENDER: | ||
| 58 | case D3D12_RENDER_PASS_BEGINNING_ACCESS_TYPE_PRESERVE_LOCAL_SRV: | ||
| 59 | case D3D12_RENDER_PASS_BEGINNING_ACCESS_TYPE_PRESERVE_LOCAL_UAV: | ||
| 60 | if (!(a.PreserveLocal == b.PreserveLocal)) return false; | ||
| 61 | break; | ||
| 62 | #endif | ||
| 63 | default: | ||
| 64 | break; | ||
| 65 | } | ||
| 66 | return true; | ||
| 67 | } | ||
| 68 | |||
| 69 | inline bool operator==(const D3D12_RENDER_PASS_ENDING_ACCESS& a, const D3D12_RENDER_PASS_ENDING_ACCESS& b) noexcept | ||
| 70 | { | ||
| 71 | if (a.Type != b.Type) return false; | ||
| 72 | switch (a.Type) | ||
| 73 | { | ||
| 74 | case D3D12_RENDER_PASS_ENDING_ACCESS_TYPE_RESOLVE: | ||
| 75 | if (!(a.Resolve == b.Resolve)) return false; | ||
| 76 | break; | ||
| 77 | #if defined(D3D12_SDK_VERSION) && (D3D12_SDK_VERSION >= 609) | ||
| 78 | case D3D12_RENDER_PASS_ENDING_ACCESS_TYPE_PRESERVE_LOCAL_RENDER: | ||
| 79 | case D3D12_RENDER_PASS_ENDING_ACCESS_TYPE_PRESERVE_LOCAL_SRV: | ||
| 80 | case D3D12_RENDER_PASS_ENDING_ACCESS_TYPE_PRESERVE_LOCAL_UAV: | ||
| 81 | if (!(a.PreserveLocal == b.PreserveLocal)) return false; | ||
| 82 | break; | ||
| 83 | #endif | ||
| 84 | default: | ||
| 85 | break; | ||
| 86 | } | ||
| 87 | return true; | ||
| 88 | } | ||
| 89 | |||
| 90 | inline bool operator==( const D3D12_RENDER_PASS_RENDER_TARGET_DESC &a, const D3D12_RENDER_PASS_RENDER_TARGET_DESC &b) noexcept | ||
| 91 | { | ||
| 92 | if (a.cpuDescriptor.ptr != b.cpuDescriptor.ptr) return false; | ||
| 93 | if (!(a.BeginningAccess == b.BeginningAccess)) return false; | ||
| 94 | if (!(a.EndingAccess == b.EndingAccess)) return false; | ||
| 95 | return true; | ||
| 96 | } | ||
| 97 | inline bool operator==( const D3D12_RENDER_PASS_DEPTH_STENCIL_DESC &a, const D3D12_RENDER_PASS_DEPTH_STENCIL_DESC &b) noexcept | ||
| 98 | { | ||
| 99 | if (a.cpuDescriptor.ptr != b.cpuDescriptor.ptr) return false; | ||
| 100 | if (!(a.DepthBeginningAccess == b.DepthBeginningAccess)) return false; | ||
| 101 | if (!(a.StencilBeginningAccess == b.StencilBeginningAccess)) return false; | ||
| 102 | if (!(a.DepthEndingAccess == b.DepthEndingAccess)) return false; | ||
| 103 | if (!(a.StencilEndingAccess == b.StencilEndingAccess)) return false; | ||
| 104 | return true; | ||
| 105 | } | ||
diff --git a/contrib/microsoft.direct3d.d3d12.1.618.4/build/native/include/d3dx12/d3dx12_resource_helpers.h b/contrib/microsoft.direct3d.d3d12.1.618.4/build/native/include/d3dx12/d3dx12_resource_helpers.h new file mode 100644 index 0000000..5c1c980 --- /dev/null +++ b/contrib/microsoft.direct3d.d3d12.1.618.4/build/native/include/d3dx12/d3dx12_resource_helpers.h | |||
| @@ -0,0 +1,612 @@ | |||
| 1 | //********************************************************* | ||
| 2 | // | ||
| 3 | // Copyright (c) Microsoft Corporation. | ||
| 4 | // Licensed under the MIT License (MIT). | ||
| 5 | // | ||
| 6 | //********************************************************* | ||
| 7 | |||
| 8 | #pragma once | ||
| 9 | |||
| 10 | #ifndef __cplusplus | ||
| 11 | #error D3DX12 requires C++ | ||
| 12 | #endif | ||
| 13 | |||
| 14 | #include "d3dx12_property_format_table.h" | ||
| 15 | #include "d3d12.h" | ||
| 16 | #include "d3dx12_core.h" | ||
| 17 | //------------------------------------------------------------------------------------------------ | ||
| 18 | template <typename T, typename U, typename V> | ||
| 19 | inline void D3D12DecomposeSubresource( UINT Subresource, UINT MipLevels, UINT ArraySize, _Out_ T& MipSlice, _Out_ U& ArraySlice, _Out_ V& PlaneSlice ) noexcept | ||
| 20 | { | ||
| 21 | MipSlice = static_cast<T>(Subresource % MipLevels); | ||
| 22 | ArraySlice = static_cast<U>((Subresource / MipLevels) % ArraySize); | ||
| 23 | PlaneSlice = static_cast<V>(Subresource / (MipLevels * ArraySize)); | ||
| 24 | } | ||
| 25 | |||
| 26 | //------------------------------------------------------------------------------------------------ | ||
| 27 | // Row-by-row memcpy | ||
| 28 | inline void MemcpySubresource( | ||
| 29 | _In_ const D3D12_MEMCPY_DEST* pDest, | ||
| 30 | _In_ const D3D12_SUBRESOURCE_DATA* pSrc, | ||
| 31 | SIZE_T RowSizeInBytes, | ||
| 32 | UINT NumRows, | ||
| 33 | UINT NumSlices) noexcept | ||
| 34 | { | ||
| 35 | for (UINT z = 0; z < NumSlices; ++z) | ||
| 36 | { | ||
| 37 | auto pDestSlice = static_cast<BYTE*>(pDest->pData) + pDest->SlicePitch * z; | ||
| 38 | auto pSrcSlice = static_cast<const BYTE*>(pSrc->pData) + pSrc->SlicePitch * LONG_PTR(z); | ||
| 39 | for (UINT y = 0; y < NumRows; ++y) | ||
| 40 | { | ||
| 41 | memcpy(pDestSlice + pDest->RowPitch * y, | ||
| 42 | pSrcSlice + pSrc->RowPitch * LONG_PTR(y), | ||
| 43 | RowSizeInBytes); | ||
| 44 | } | ||
| 45 | } | ||
| 46 | } | ||
| 47 | |||
| 48 | //------------------------------------------------------------------------------------------------ | ||
| 49 | // Row-by-row memcpy | ||
| 50 | inline void MemcpySubresource( | ||
| 51 | _In_ const D3D12_MEMCPY_DEST* pDest, | ||
| 52 | _In_ const void* pResourceData, | ||
| 53 | _In_ const D3D12_SUBRESOURCE_INFO* pSrc, | ||
| 54 | SIZE_T RowSizeInBytes, | ||
| 55 | UINT NumRows, | ||
| 56 | UINT NumSlices) noexcept | ||
| 57 | { | ||
| 58 | for (UINT z = 0; z < NumSlices; ++z) | ||
| 59 | { | ||
| 60 | auto pDestSlice = static_cast<BYTE*>(pDest->pData) + pDest->SlicePitch * z; | ||
| 61 | auto pSrcSlice = (static_cast<const BYTE*>(pResourceData) + pSrc->Offset) + pSrc->DepthPitch * ULONG_PTR(z); | ||
| 62 | for (UINT y = 0; y < NumRows; ++y) | ||
| 63 | { | ||
| 64 | memcpy(pDestSlice + pDest->RowPitch * y, | ||
| 65 | pSrcSlice + pSrc->RowPitch * ULONG_PTR(y), | ||
| 66 | RowSizeInBytes); | ||
| 67 | } | ||
| 68 | } | ||
| 69 | } | ||
| 70 | |||
| 71 | //------------------------------------------------------------------------------------------------ | ||
| 72 | // Returns required size of a buffer to be used for data upload | ||
| 73 | inline UINT64 GetRequiredIntermediateSize( | ||
| 74 | _In_ ID3D12Resource* pDestinationResource, | ||
| 75 | _In_range_(0,D3D12_REQ_SUBRESOURCES) UINT FirstSubresource, | ||
| 76 | _In_range_(0,D3D12_REQ_SUBRESOURCES-FirstSubresource) UINT NumSubresources) noexcept | ||
| 77 | { | ||
| 78 | #if defined(_MSC_VER) || !defined(_WIN32) | ||
| 79 | const auto Desc = pDestinationResource->GetDesc(); | ||
| 80 | #else | ||
| 81 | D3D12_RESOURCE_DESC tmpDesc; | ||
| 82 | const auto& Desc = *pDestinationResource->GetDesc(&tmpDesc); | ||
| 83 | #endif | ||
| 84 | UINT64 RequiredSize = 0; | ||
| 85 | |||
| 86 | ID3D12Device* pDevice = nullptr; | ||
| 87 | pDestinationResource->GetDevice(IID_ID3D12Device, reinterpret_cast<void**>(&pDevice)); | ||
| 88 | pDevice->GetCopyableFootprints(&Desc, FirstSubresource, NumSubresources, 0, nullptr, nullptr, nullptr, &RequiredSize); | ||
| 89 | pDevice->Release(); | ||
| 90 | |||
| 91 | return RequiredSize; | ||
| 92 | } | ||
| 93 | |||
| 94 | //------------------------------------------------------------------------------------------------ | ||
| 95 | // All arrays must be populated (e.g. by calling GetCopyableFootprints) | ||
| 96 | inline UINT64 UpdateSubresources( | ||
| 97 | _In_ ID3D12GraphicsCommandList* pCmdList, | ||
| 98 | _In_ ID3D12Resource* pDestinationResource, | ||
| 99 | _In_ ID3D12Resource* pIntermediate, | ||
| 100 | _In_range_(0,D3D12_REQ_SUBRESOURCES) UINT FirstSubresource, | ||
| 101 | _In_range_(0,D3D12_REQ_SUBRESOURCES-FirstSubresource) UINT NumSubresources, | ||
| 102 | UINT64 RequiredSize, | ||
| 103 | _In_reads_(NumSubresources) const D3D12_PLACED_SUBRESOURCE_FOOTPRINT* pLayouts, | ||
| 104 | _In_reads_(NumSubresources) const UINT* pNumRows, | ||
| 105 | _In_reads_(NumSubresources) const UINT64* pRowSizesInBytes, | ||
| 106 | _In_reads_(NumSubresources) const D3D12_SUBRESOURCE_DATA* pSrcData) noexcept | ||
| 107 | { | ||
| 108 | // Minor validation | ||
| 109 | #if defined(_MSC_VER) || !defined(_WIN32) | ||
| 110 | const auto IntermediateDesc = pIntermediate->GetDesc(); | ||
| 111 | const auto DestinationDesc = pDestinationResource->GetDesc(); | ||
| 112 | #else | ||
| 113 | D3D12_RESOURCE_DESC tmpDesc1, tmpDesc2; | ||
| 114 | const auto& IntermediateDesc = *pIntermediate->GetDesc(&tmpDesc1); | ||
| 115 | const auto& DestinationDesc = *pDestinationResource->GetDesc(&tmpDesc2); | ||
| 116 | #endif | ||
| 117 | if (IntermediateDesc.Dimension != D3D12_RESOURCE_DIMENSION_BUFFER || | ||
| 118 | IntermediateDesc.Width < RequiredSize + pLayouts[0].Offset || | ||
| 119 | RequiredSize > SIZE_T(-1) || | ||
| 120 | (DestinationDesc.Dimension == D3D12_RESOURCE_DIMENSION_BUFFER && | ||
| 121 | (FirstSubresource != 0 || NumSubresources != 1))) | ||
| 122 | { | ||
| 123 | return 0; | ||
| 124 | } | ||
| 125 | |||
| 126 | BYTE* pData; | ||
| 127 | HRESULT hr = pIntermediate->Map(0, nullptr, reinterpret_cast<void**>(&pData)); | ||
| 128 | if (FAILED(hr)) | ||
| 129 | { | ||
| 130 | return 0; | ||
| 131 | } | ||
| 132 | |||
| 133 | for (UINT i = 0; i < NumSubresources; ++i) | ||
| 134 | { | ||
| 135 | if (pRowSizesInBytes[i] > SIZE_T(-1)) return 0; | ||
| 136 | D3D12_MEMCPY_DEST DestData = { pData + pLayouts[i].Offset, pLayouts[i].Footprint.RowPitch, SIZE_T(pLayouts[i].Footprint.RowPitch) * SIZE_T(pNumRows[i]) }; | ||
| 137 | MemcpySubresource(&DestData, &pSrcData[i], static_cast<SIZE_T>(pRowSizesInBytes[i]), pNumRows[i], pLayouts[i].Footprint.Depth); | ||
| 138 | } | ||
| 139 | pIntermediate->Unmap(0, nullptr); | ||
| 140 | |||
| 141 | if (DestinationDesc.Dimension == D3D12_RESOURCE_DIMENSION_BUFFER) | ||
| 142 | { | ||
| 143 | pCmdList->CopyBufferRegion( | ||
| 144 | pDestinationResource, 0, pIntermediate, pLayouts[0].Offset, pLayouts[0].Footprint.Width); | ||
| 145 | } | ||
| 146 | else | ||
| 147 | { | ||
| 148 | for (UINT i = 0; i < NumSubresources; ++i) | ||
| 149 | { | ||
| 150 | const CD3DX12_TEXTURE_COPY_LOCATION Dst(pDestinationResource, i + FirstSubresource); | ||
| 151 | const CD3DX12_TEXTURE_COPY_LOCATION Src(pIntermediate, pLayouts[i]); | ||
| 152 | pCmdList->CopyTextureRegion(&Dst, 0, 0, 0, &Src, nullptr); | ||
| 153 | } | ||
| 154 | } | ||
| 155 | return RequiredSize; | ||
| 156 | } | ||
| 157 | |||
| 158 | //------------------------------------------------------------------------------------------------ | ||
| 159 | // All arrays must be populated (e.g. by calling GetCopyableFootprints) | ||
| 160 | inline UINT64 UpdateSubresources( | ||
| 161 | _In_ ID3D12GraphicsCommandList* pCmdList, | ||
| 162 | _In_ ID3D12Resource* pDestinationResource, | ||
| 163 | _In_ ID3D12Resource* pIntermediate, | ||
| 164 | _In_range_(0,D3D12_REQ_SUBRESOURCES) UINT FirstSubresource, | ||
| 165 | _In_range_(0,D3D12_REQ_SUBRESOURCES-FirstSubresource) UINT NumSubresources, | ||
| 166 | UINT64 RequiredSize, | ||
| 167 | _In_reads_(NumSubresources) const D3D12_PLACED_SUBRESOURCE_FOOTPRINT* pLayouts, | ||
| 168 | _In_reads_(NumSubresources) const UINT* pNumRows, | ||
| 169 | _In_reads_(NumSubresources) const UINT64* pRowSizesInBytes, | ||
| 170 | _In_ const void* pResourceData, | ||
| 171 | _In_reads_(NumSubresources) const D3D12_SUBRESOURCE_INFO* pSrcData) noexcept | ||
| 172 | { | ||
| 173 | // Minor validation | ||
| 174 | #if defined(_MSC_VER) || !defined(_WIN32) | ||
| 175 | const auto IntermediateDesc = pIntermediate->GetDesc(); | ||
| 176 | const auto DestinationDesc = pDestinationResource->GetDesc(); | ||
| 177 | #else | ||
| 178 | D3D12_RESOURCE_DESC tmpDesc1, tmpDesc2; | ||
| 179 | const auto& IntermediateDesc = *pIntermediate->GetDesc(&tmpDesc1); | ||
| 180 | const auto& DestinationDesc = *pDestinationResource->GetDesc(&tmpDesc2); | ||
| 181 | #endif | ||
| 182 | if (IntermediateDesc.Dimension != D3D12_RESOURCE_DIMENSION_BUFFER || | ||
| 183 | IntermediateDesc.Width < RequiredSize + pLayouts[0].Offset || | ||
| 184 | RequiredSize > SIZE_T(-1) || | ||
| 185 | (DestinationDesc.Dimension == D3D12_RESOURCE_DIMENSION_BUFFER && | ||
| 186 | (FirstSubresource != 0 || NumSubresources != 1))) | ||
| 187 | { | ||
| 188 | return 0; | ||
| 189 | } | ||
| 190 | |||
| 191 | BYTE* pData; | ||
| 192 | HRESULT hr = pIntermediate->Map(0, nullptr, reinterpret_cast<void**>(&pData)); | ||
| 193 | if (FAILED(hr)) | ||
| 194 | { | ||
| 195 | return 0; | ||
| 196 | } | ||
| 197 | |||
| 198 | for (UINT i = 0; i < NumSubresources; ++i) | ||
| 199 | { | ||
| 200 | if (pRowSizesInBytes[i] > SIZE_T(-1)) return 0; | ||
| 201 | D3D12_MEMCPY_DEST DestData = { pData + pLayouts[i].Offset, pLayouts[i].Footprint.RowPitch, SIZE_T(pLayouts[i].Footprint.RowPitch) * SIZE_T(pNumRows[i]) }; | ||
| 202 | MemcpySubresource(&DestData, pResourceData, &pSrcData[i], static_cast<SIZE_T>(pRowSizesInBytes[i]), pNumRows[i], pLayouts[i].Footprint.Depth); | ||
| 203 | } | ||
| 204 | pIntermediate->Unmap(0, nullptr); | ||
| 205 | |||
| 206 | if (DestinationDesc.Dimension == D3D12_RESOURCE_DIMENSION_BUFFER) | ||
| 207 | { | ||
| 208 | pCmdList->CopyBufferRegion( | ||
| 209 | pDestinationResource, 0, pIntermediate, pLayouts[0].Offset, pLayouts[0].Footprint.Width); | ||
| 210 | } | ||
| 211 | else | ||
| 212 | { | ||
| 213 | for (UINT i = 0; i < NumSubresources; ++i) | ||
| 214 | { | ||
| 215 | const CD3DX12_TEXTURE_COPY_LOCATION Dst(pDestinationResource, i + FirstSubresource); | ||
| 216 | const CD3DX12_TEXTURE_COPY_LOCATION Src(pIntermediate, pLayouts[i]); | ||
| 217 | pCmdList->CopyTextureRegion(&Dst, 0, 0, 0, &Src, nullptr); | ||
| 218 | } | ||
| 219 | } | ||
| 220 | return RequiredSize; | ||
| 221 | } | ||
| 222 | |||
| 223 | //------------------------------------------------------------------------------------------------ | ||
| 224 | // Heap-allocating UpdateSubresources implementation | ||
| 225 | inline UINT64 UpdateSubresources( | ||
| 226 | _In_ ID3D12GraphicsCommandList* pCmdList, | ||
| 227 | _In_ ID3D12Resource* pDestinationResource, | ||
| 228 | _In_ ID3D12Resource* pIntermediate, | ||
| 229 | UINT64 IntermediateOffset, | ||
| 230 | _In_range_(0,D3D12_REQ_SUBRESOURCES) UINT FirstSubresource, | ||
| 231 | _In_range_(0,D3D12_REQ_SUBRESOURCES-FirstSubresource) UINT NumSubresources, | ||
| 232 | _In_reads_(NumSubresources) const D3D12_SUBRESOURCE_DATA* pSrcData) noexcept | ||
| 233 | { | ||
| 234 | UINT64 RequiredSize = 0; | ||
| 235 | const auto MemToAlloc = static_cast<UINT64>(sizeof(D3D12_PLACED_SUBRESOURCE_FOOTPRINT) + sizeof(UINT) + sizeof(UINT64)) * NumSubresources; | ||
| 236 | if (MemToAlloc > SIZE_MAX) | ||
| 237 | { | ||
| 238 | return 0; | ||
| 239 | } | ||
| 240 | void* pMem = HeapAlloc(GetProcessHeap(), 0, static_cast<SIZE_T>(MemToAlloc)); | ||
| 241 | if (pMem == nullptr) | ||
| 242 | { | ||
| 243 | return 0; | ||
| 244 | } | ||
| 245 | auto pLayouts = static_cast<D3D12_PLACED_SUBRESOURCE_FOOTPRINT*>(pMem); | ||
| 246 | auto pRowSizesInBytes = reinterpret_cast<UINT64*>(pLayouts + NumSubresources); | ||
| 247 | auto pNumRows = reinterpret_cast<UINT*>(pRowSizesInBytes + NumSubresources); | ||
| 248 | |||
| 249 | #if defined(_MSC_VER) || !defined(_WIN32) | ||
| 250 | const auto Desc = pDestinationResource->GetDesc(); | ||
| 251 | #else | ||
| 252 | D3D12_RESOURCE_DESC tmpDesc; | ||
| 253 | const auto& Desc = *pDestinationResource->GetDesc(&tmpDesc); | ||
| 254 | #endif | ||
| 255 | ID3D12Device* pDevice = nullptr; | ||
| 256 | pDestinationResource->GetDevice(IID_ID3D12Device, reinterpret_cast<void**>(&pDevice)); | ||
| 257 | pDevice->GetCopyableFootprints(&Desc, FirstSubresource, NumSubresources, IntermediateOffset, pLayouts, pNumRows, pRowSizesInBytes, &RequiredSize); | ||
| 258 | pDevice->Release(); | ||
| 259 | |||
| 260 | const UINT64 Result = UpdateSubresources(pCmdList, pDestinationResource, pIntermediate, FirstSubresource, NumSubresources, RequiredSize, pLayouts, pNumRows, pRowSizesInBytes, pSrcData); | ||
| 261 | HeapFree(GetProcessHeap(), 0, pMem); | ||
| 262 | return Result; | ||
| 263 | } | ||
| 264 | |||
| 265 | //------------------------------------------------------------------------------------------------ | ||
| 266 | // Heap-allocating UpdateSubresources implementation | ||
| 267 | inline UINT64 UpdateSubresources( | ||
| 268 | _In_ ID3D12GraphicsCommandList* pCmdList, | ||
| 269 | _In_ ID3D12Resource* pDestinationResource, | ||
| 270 | _In_ ID3D12Resource* pIntermediate, | ||
| 271 | UINT64 IntermediateOffset, | ||
| 272 | _In_range_(0,D3D12_REQ_SUBRESOURCES) UINT FirstSubresource, | ||
| 273 | _In_range_(0,D3D12_REQ_SUBRESOURCES-FirstSubresource) UINT NumSubresources, | ||
| 274 | _In_ const void* pResourceData, | ||
| 275 | _In_reads_(NumSubresources) const D3D12_SUBRESOURCE_INFO* pSrcData) noexcept | ||
| 276 | { | ||
| 277 | UINT64 RequiredSize = 0; | ||
| 278 | const auto MemToAlloc = static_cast<UINT64>(sizeof(D3D12_PLACED_SUBRESOURCE_FOOTPRINT) + sizeof(UINT) + sizeof(UINT64)) * NumSubresources; | ||
| 279 | if (MemToAlloc > SIZE_MAX) | ||
| 280 | { | ||
| 281 | return 0; | ||
| 282 | } | ||
| 283 | void* pMem = HeapAlloc(GetProcessHeap(), 0, static_cast<SIZE_T>(MemToAlloc)); | ||
| 284 | if (pMem == nullptr) | ||
| 285 | { | ||
| 286 | return 0; | ||
| 287 | } | ||
| 288 | auto pLayouts = static_cast<D3D12_PLACED_SUBRESOURCE_FOOTPRINT*>(pMem); | ||
| 289 | auto pRowSizesInBytes = reinterpret_cast<UINT64*>(pLayouts + NumSubresources); | ||
| 290 | auto pNumRows = reinterpret_cast<UINT*>(pRowSizesInBytes + NumSubresources); | ||
| 291 | |||
| 292 | #if defined(_MSC_VER) || !defined(_WIN32) | ||
| 293 | const auto Desc = pDestinationResource->GetDesc(); | ||
| 294 | #else | ||
| 295 | D3D12_RESOURCE_DESC tmpDesc; | ||
| 296 | const auto& Desc = *pDestinationResource->GetDesc(&tmpDesc); | ||
| 297 | #endif | ||
| 298 | ID3D12Device* pDevice = nullptr; | ||
| 299 | pDestinationResource->GetDevice(IID_ID3D12Device, reinterpret_cast<void**>(&pDevice)); | ||
| 300 | pDevice->GetCopyableFootprints(&Desc, FirstSubresource, NumSubresources, IntermediateOffset, pLayouts, pNumRows, pRowSizesInBytes, &RequiredSize); | ||
| 301 | pDevice->Release(); | ||
| 302 | |||
| 303 | const UINT64 Result = UpdateSubresources(pCmdList, pDestinationResource, pIntermediate, FirstSubresource, NumSubresources, RequiredSize, pLayouts, pNumRows, pRowSizesInBytes, pResourceData, pSrcData); | ||
| 304 | HeapFree(GetProcessHeap(), 0, pMem); | ||
| 305 | return Result; | ||
| 306 | } | ||
| 307 | |||
| 308 | //------------------------------------------------------------------------------------------------ | ||
| 309 | // Stack-allocating UpdateSubresources implementation | ||
| 310 | template <UINT MaxSubresources> | ||
| 311 | inline UINT64 UpdateSubresources( | ||
| 312 | _In_ ID3D12GraphicsCommandList* pCmdList, | ||
| 313 | _In_ ID3D12Resource* pDestinationResource, | ||
| 314 | _In_ ID3D12Resource* pIntermediate, | ||
| 315 | UINT64 IntermediateOffset, | ||
| 316 | _In_range_(0,MaxSubresources) UINT FirstSubresource, | ||
| 317 | _In_range_(1,MaxSubresources-FirstSubresource) UINT NumSubresources, | ||
| 318 | _In_reads_(NumSubresources) const D3D12_SUBRESOURCE_DATA* pSrcData) noexcept | ||
| 319 | { | ||
| 320 | UINT64 RequiredSize = 0; | ||
| 321 | D3D12_PLACED_SUBRESOURCE_FOOTPRINT Layouts[MaxSubresources]; | ||
| 322 | UINT NumRows[MaxSubresources]; | ||
| 323 | UINT64 RowSizesInBytes[MaxSubresources]; | ||
| 324 | |||
| 325 | #if defined(_MSC_VER) || !defined(_WIN32) | ||
| 326 | const auto Desc = pDestinationResource->GetDesc(); | ||
| 327 | #else | ||
| 328 | D3D12_RESOURCE_DESC tmpDesc; | ||
| 329 | const auto& Desc = *pDestinationResource->GetDesc(&tmpDesc); | ||
| 330 | #endif | ||
| 331 | ID3D12Device* pDevice = nullptr; | ||
| 332 | pDestinationResource->GetDevice(IID_ID3D12Device, reinterpret_cast<void**>(&pDevice)); | ||
| 333 | pDevice->GetCopyableFootprints(&Desc, FirstSubresource, NumSubresources, IntermediateOffset, Layouts, NumRows, RowSizesInBytes, &RequiredSize); | ||
| 334 | pDevice->Release(); | ||
| 335 | |||
| 336 | return UpdateSubresources(pCmdList, pDestinationResource, pIntermediate, FirstSubresource, NumSubresources, RequiredSize, Layouts, NumRows, RowSizesInBytes, pSrcData); | ||
| 337 | } | ||
| 338 | |||
| 339 | //------------------------------------------------------------------------------------------------ | ||
| 340 | // Stack-allocating UpdateSubresources implementation | ||
| 341 | template <UINT MaxSubresources> | ||
| 342 | inline UINT64 UpdateSubresources( | ||
| 343 | _In_ ID3D12GraphicsCommandList* pCmdList, | ||
| 344 | _In_ ID3D12Resource* pDestinationResource, | ||
| 345 | _In_ ID3D12Resource* pIntermediate, | ||
| 346 | UINT64 IntermediateOffset, | ||
| 347 | _In_range_(0,MaxSubresources) UINT FirstSubresource, | ||
| 348 | _In_range_(1,MaxSubresources-FirstSubresource) UINT NumSubresources, | ||
| 349 | _In_ const void* pResourceData, | ||
| 350 | _In_reads_(NumSubresources) const D3D12_SUBRESOURCE_INFO* pSrcData) noexcept | ||
| 351 | { | ||
| 352 | UINT64 RequiredSize = 0; | ||
| 353 | D3D12_PLACED_SUBRESOURCE_FOOTPRINT Layouts[MaxSubresources]; | ||
| 354 | UINT NumRows[MaxSubresources]; | ||
| 355 | UINT64 RowSizesInBytes[MaxSubresources]; | ||
| 356 | |||
| 357 | #if defined(_MSC_VER) || !defined(_WIN32) | ||
| 358 | const auto Desc = pDestinationResource->GetDesc(); | ||
| 359 | #else | ||
| 360 | D3D12_RESOURCE_DESC tmpDesc; | ||
| 361 | const auto& Desc = *pDestinationResource->GetDesc(&tmpDesc); | ||
| 362 | #endif | ||
| 363 | ID3D12Device* pDevice = nullptr; | ||
| 364 | pDestinationResource->GetDevice(IID_ID3D12Device, reinterpret_cast<void**>(&pDevice)); | ||
| 365 | pDevice->GetCopyableFootprints(&Desc, FirstSubresource, NumSubresources, IntermediateOffset, Layouts, NumRows, RowSizesInBytes, &RequiredSize); | ||
| 366 | pDevice->Release(); | ||
| 367 | |||
| 368 | return UpdateSubresources(pCmdList, pDestinationResource, pIntermediate, FirstSubresource, NumSubresources, RequiredSize, Layouts, NumRows, RowSizesInBytes, pResourceData, pSrcData); | ||
| 369 | } | ||
| 370 | |||
| 371 | //------------------------------------------------------------------------------------------------ | ||
| 372 | constexpr bool D3D12IsLayoutOpaque( D3D12_TEXTURE_LAYOUT Layout ) noexcept | ||
| 373 | { return Layout == D3D12_TEXTURE_LAYOUT_UNKNOWN || Layout == D3D12_TEXTURE_LAYOUT_64KB_UNDEFINED_SWIZZLE; } | ||
| 374 | |||
| 375 | //------------------------------------------------------------------------------------------------ | ||
| 376 | template< typename T > | ||
| 377 | inline T D3DX12Align(T uValue, T uAlign) | ||
| 378 | { | ||
| 379 | // Assert power of 2 alignment | ||
| 380 | D3DX12_ASSERT(0 == (uAlign & (uAlign - 1))); | ||
| 381 | T uMask = uAlign - 1; | ||
| 382 | T uResult = (uValue + uMask) & ~uMask; | ||
| 383 | D3DX12_ASSERT(uResult >= uValue); | ||
| 384 | D3DX12_ASSERT(0 == (uResult % uAlign)); | ||
| 385 | return uResult; | ||
| 386 | } | ||
| 387 | |||
| 388 | //------------------------------------------------------------------------------------------------ | ||
| 389 | template< typename T > | ||
| 390 | inline T D3DX12AlignAtLeast(T uValue, T uAlign) | ||
| 391 | { | ||
| 392 | T aligned = D3DX12Align(uValue, uAlign); | ||
| 393 | return aligned > uAlign ? aligned : uAlign; | ||
| 394 | } | ||
| 395 | |||
| 396 | inline const CD3DX12_RESOURCE_DESC1* D3DX12ConditionallyExpandAPIDesc( | ||
| 397 | D3D12_RESOURCE_DESC1& LclDesc, | ||
| 398 | const D3D12_RESOURCE_DESC1* pDesc, | ||
| 399 | const bool tightAlignmentSupported = false, | ||
| 400 | const bool alignAsCommitted = false) | ||
| 401 | { | ||
| 402 | return D3DX12ConditionallyExpandAPIDesc(static_cast<CD3DX12_RESOURCE_DESC1&>(LclDesc), static_cast<const CD3DX12_RESOURCE_DESC1*>(pDesc), tightAlignmentSupported, alignAsCommitted); | ||
| 403 | } | ||
| 404 | |||
| 405 | #if defined(D3D12_SDK_VERSION) && (D3D12_SDK_VERSION >= 606) | ||
| 406 | //------------------------------------------------------------------------------------------------ | ||
| 407 | // The difference between D3DX12GetCopyableFootprints and ID3D12Device::GetCopyableFootprints | ||
| 408 | // is that this one loses a lot of error checking by assuming the arguments are correct | ||
| 409 | inline bool D3DX12GetCopyableFootprints( | ||
| 410 | _In_ const D3D12_RESOURCE_DESC1& ResourceDesc, | ||
| 411 | _In_range_(0, D3D12_REQ_SUBRESOURCES) UINT FirstSubresource, | ||
| 412 | _In_range_(0, D3D12_REQ_SUBRESOURCES - FirstSubresource) UINT NumSubresources, | ||
| 413 | UINT64 BaseOffset, | ||
| 414 | _Out_writes_opt_(NumSubresources) D3D12_PLACED_SUBRESOURCE_FOOTPRINT* pLayouts, | ||
| 415 | _Out_writes_opt_(NumSubresources) UINT* pNumRows, | ||
| 416 | _Out_writes_opt_(NumSubresources) UINT64* pRowSizeInBytes, | ||
| 417 | _Out_opt_ UINT64* pTotalBytes) | ||
| 418 | { | ||
| 419 | constexpr UINT64 uint64_max = ~0ull; | ||
| 420 | UINT64 TotalBytes = uint64_max; | ||
| 421 | UINT uSubRes = 0; | ||
| 422 | |||
| 423 | bool bResourceOverflow = false; | ||
| 424 | TotalBytes = 0; | ||
| 425 | |||
| 426 | const DXGI_FORMAT Format = ResourceDesc.Format; | ||
| 427 | |||
| 428 | CD3DX12_RESOURCE_DESC1 LresourceDesc; | ||
| 429 | const CD3DX12_RESOURCE_DESC1& resourceDesc = *D3DX12ConditionallyExpandAPIDesc(LresourceDesc, &ResourceDesc); | ||
| 430 | |||
| 431 | // Check if its a valid format | ||
| 432 | D3DX12_ASSERT(D3D12_PROPERTY_LAYOUT_FORMAT_TABLE::FormatExists(Format)); | ||
| 433 | |||
| 434 | // D3DX12GetCopyableFootprints does not support buffers with width larger than UINT_MAX. | ||
| 435 | if (ResourceDesc.Dimension == D3D12_RESOURCE_DIMENSION_BUFFER && ResourceDesc.Width >= UINT_MAX) | ||
| 436 | { | ||
| 437 | return false; | ||
| 438 | } | ||
| 439 | |||
| 440 | const UINT WidthAlignment = D3D12_PROPERTY_LAYOUT_FORMAT_TABLE::GetWidthAlignment( Format ); | ||
| 441 | const UINT HeightAlignment = D3D12_PROPERTY_LAYOUT_FORMAT_TABLE::GetHeightAlignment( Format ); | ||
| 442 | const UINT16 DepthAlignment = UINT16( D3D12_PROPERTY_LAYOUT_FORMAT_TABLE::GetDepthAlignment( Format ) ); | ||
| 443 | |||
| 444 | for (; uSubRes < NumSubresources; ++uSubRes) | ||
| 445 | { | ||
| 446 | bool bOverflow = false; | ||
| 447 | UINT Subresource = FirstSubresource + uSubRes; | ||
| 448 | |||
| 449 | D3DX12_ASSERT(resourceDesc.MipLevels != 0); | ||
| 450 | UINT subresourceCount = resourceDesc.MipLevels * resourceDesc.ArraySize() * D3D12_PROPERTY_LAYOUT_FORMAT_TABLE::GetPlaneCount(resourceDesc.Format); | ||
| 451 | |||
| 452 | if (Subresource > subresourceCount) | ||
| 453 | { | ||
| 454 | break; | ||
| 455 | } | ||
| 456 | |||
| 457 | TotalBytes = D3DX12Align< UINT64 >( TotalBytes, D3D12_TEXTURE_DATA_PLACEMENT_ALIGNMENT ); | ||
| 458 | |||
| 459 | UINT MipLevel, ArraySlice, PlaneSlice; | ||
| 460 | D3D12DecomposeSubresource(Subresource, resourceDesc.MipLevels, resourceDesc.ArraySize(), /*_Out_*/MipLevel, /*_Out_*/ArraySlice, /*_Out_*/PlaneSlice); | ||
| 461 | |||
| 462 | const UINT64 Width = D3DX12AlignAtLeast<UINT64>(resourceDesc.Width >> MipLevel, WidthAlignment); | ||
| 463 | const UINT Height = D3DX12AlignAtLeast(resourceDesc.Height >> MipLevel, HeightAlignment); | ||
| 464 | const UINT16 Depth = D3DX12AlignAtLeast<UINT16>(resourceDesc.Depth() >> MipLevel, DepthAlignment); | ||
| 465 | |||
| 466 | // Adjust for the current PlaneSlice. Most formats have only one plane. | ||
| 467 | DXGI_FORMAT PlaneFormat; | ||
| 468 | UINT32 MinPlanePitchWidth, PlaneWidth, PlaneHeight; | ||
| 469 | D3D12_PROPERTY_LAYOUT_FORMAT_TABLE::GetPlaneSubsampledSizeAndFormatForCopyableLayout(PlaneSlice, Format, (UINT)Width, Height, /*_Out_*/ PlaneFormat, /*_Out_*/ MinPlanePitchWidth, /* _Out_ */ PlaneWidth, /*_Out_*/ PlaneHeight); | ||
| 470 | |||
| 471 | D3D12_SUBRESOURCE_FOOTPRINT LocalPlacement = {}; | ||
| 472 | auto& Placement = pLayouts ? pLayouts[uSubRes].Footprint : LocalPlacement; | ||
| 473 | Placement.Format = PlaneFormat; | ||
| 474 | Placement.Width = PlaneWidth; | ||
| 475 | Placement.Height = PlaneHeight; | ||
| 476 | Placement.Depth = Depth; | ||
| 477 | |||
| 478 | // Calculate row pitch | ||
| 479 | UINT MinPlaneRowPitch = 0; | ||
| 480 | D3D12_PROPERTY_LAYOUT_FORMAT_TABLE::CalculateMinimumRowMajorRowPitch(PlaneFormat, MinPlanePitchWidth, MinPlaneRowPitch); | ||
| 481 | |||
| 482 | // Formats with more than one plane choose a larger pitch alignment to ensure that each plane begins on the row | ||
| 483 | // immediately following the previous plane while still adhering to subresource alignment restrictions. | ||
| 484 | static_assert( D3D12_TEXTURE_DATA_PLACEMENT_ALIGNMENT >= D3D12_TEXTURE_DATA_PITCH_ALIGNMENT | ||
| 485 | && ((D3D12_TEXTURE_DATA_PLACEMENT_ALIGNMENT % D3D12_TEXTURE_DATA_PITCH_ALIGNMENT) == 0), | ||
| 486 | "D3D12_TEXTURE_DATA_PLACEMENT_ALIGNMENT must be >= and evenly divisible by D3D12_TEXTURE_DATA_PITCH_ALIGNMENT." ); | ||
| 487 | |||
| 488 | Placement.RowPitch = D3D12_PROPERTY_LAYOUT_FORMAT_TABLE::Planar(Format) | ||
| 489 | ? D3DX12Align< UINT >( MinPlaneRowPitch, D3D12_TEXTURE_DATA_PLACEMENT_ALIGNMENT ) | ||
| 490 | : D3DX12Align< UINT >( MinPlaneRowPitch, D3D12_TEXTURE_DATA_PITCH_ALIGNMENT ); | ||
| 491 | |||
| 492 | if (pRowSizeInBytes) | ||
| 493 | { | ||
| 494 | UINT PlaneRowSize = 0; | ||
| 495 | D3D12_PROPERTY_LAYOUT_FORMAT_TABLE::CalculateMinimumRowMajorRowPitch(PlaneFormat, PlaneWidth, PlaneRowSize); | ||
| 496 | |||
| 497 | pRowSizeInBytes[uSubRes] = PlaneRowSize; | ||
| 498 | } | ||
| 499 | |||
| 500 | // Number of rows (accounting for block compression and additional planes) | ||
| 501 | UINT NumRows = 0; | ||
| 502 | if (D3D12_PROPERTY_LAYOUT_FORMAT_TABLE::Planar(Format)) | ||
| 503 | { | ||
| 504 | NumRows = PlaneHeight; | ||
| 505 | } | ||
| 506 | else | ||
| 507 | { | ||
| 508 | D3DX12_ASSERT(Height % HeightAlignment == 0); | ||
| 509 | NumRows = Height / HeightAlignment; | ||
| 510 | } | ||
| 511 | |||
| 512 | if (pNumRows) | ||
| 513 | { | ||
| 514 | pNumRows[uSubRes] = NumRows; | ||
| 515 | } | ||
| 516 | |||
| 517 | // Offsetting | ||
| 518 | if (pLayouts) | ||
| 519 | { | ||
| 520 | pLayouts[uSubRes].Offset = (bOverflow ? uint64_max : TotalBytes + BaseOffset); | ||
| 521 | } | ||
| 522 | |||
| 523 | const UINT16 NumSlices = Depth; | ||
| 524 | const UINT64 SubresourceSize = (NumRows * NumSlices - 1) * Placement.RowPitch + MinPlaneRowPitch; | ||
| 525 | |||
| 526 | // uint64 addition with overflow checking | ||
| 527 | TotalBytes = TotalBytes + SubresourceSize; | ||
| 528 | if(TotalBytes < SubresourceSize) | ||
| 529 | { | ||
| 530 | TotalBytes = uint64_max; | ||
| 531 | } | ||
| 532 | bResourceOverflow = bResourceOverflow || bOverflow; | ||
| 533 | } | ||
| 534 | |||
| 535 | // Overflow error | ||
| 536 | if (bResourceOverflow) | ||
| 537 | { | ||
| 538 | TotalBytes = uint64_max; | ||
| 539 | } | ||
| 540 | |||
| 541 | |||
| 542 | if (pLayouts) | ||
| 543 | { | ||
| 544 | memset( pLayouts + uSubRes, -1, sizeof( *pLayouts ) * (NumSubresources - uSubRes) ); | ||
| 545 | } | ||
| 546 | if (pNumRows) | ||
| 547 | { | ||
| 548 | memset(pNumRows + uSubRes, -1, sizeof(*pNumRows) * (NumSubresources - uSubRes)); | ||
| 549 | } | ||
| 550 | if (pRowSizeInBytes) | ||
| 551 | { | ||
| 552 | memset(pRowSizeInBytes + uSubRes, -1, sizeof(*pRowSizeInBytes) * (NumSubresources - uSubRes)); | ||
| 553 | } | ||
| 554 | if (pTotalBytes) | ||
| 555 | { | ||
| 556 | *pTotalBytes = TotalBytes; | ||
| 557 | } | ||
| 558 | if(TotalBytes == uint64_max) | ||
| 559 | { | ||
| 560 | return false; | ||
| 561 | } | ||
| 562 | return true; | ||
| 563 | } | ||
| 564 | |||
| 565 | //------------------------------------------------------------------------------------------------ | ||
| 566 | inline D3D12_RESOURCE_DESC1 D3DX12ResourceDesc0ToDesc1(D3D12_RESOURCE_DESC const& desc0) | ||
| 567 | { | ||
| 568 | D3D12_RESOURCE_DESC1 desc1; | ||
| 569 | desc1.Dimension = desc0.Dimension; | ||
| 570 | desc1.Alignment = desc0.Alignment; | ||
| 571 | desc1.Width = desc0.Width; | ||
| 572 | desc1.Height = desc0.Height; | ||
| 573 | desc1.DepthOrArraySize = desc0.DepthOrArraySize; | ||
| 574 | desc1.MipLevels = desc0.MipLevels; | ||
| 575 | desc1.Format = desc0.Format; | ||
| 576 | desc1.SampleDesc.Count = desc0.SampleDesc.Count; | ||
| 577 | desc1.SampleDesc.Quality = desc0.SampleDesc.Quality; | ||
| 578 | desc1.Layout = desc0.Layout; | ||
| 579 | desc1.Flags = desc0.Flags; | ||
| 580 | desc1.SamplerFeedbackMipRegion.Width = 0; | ||
| 581 | desc1.SamplerFeedbackMipRegion.Height = 0; | ||
| 582 | desc1.SamplerFeedbackMipRegion.Depth = 0; | ||
| 583 | return desc1; | ||
| 584 | } | ||
| 585 | |||
| 586 | //------------------------------------------------------------------------------------------------ | ||
| 587 | inline bool D3DX12GetCopyableFootprints( | ||
| 588 | _In_ const D3D12_RESOURCE_DESC& pResourceDesc, | ||
| 589 | _In_range_(0, D3D12_REQ_SUBRESOURCES) UINT FirstSubresource, | ||
| 590 | _In_range_(0, D3D12_REQ_SUBRESOURCES - FirstSubresource) UINT NumSubresources, | ||
| 591 | UINT64 BaseOffset, | ||
| 592 | _Out_writes_opt_(NumSubresources) D3D12_PLACED_SUBRESOURCE_FOOTPRINT* pLayouts, | ||
| 593 | _Out_writes_opt_(NumSubresources) UINT* pNumRows, | ||
| 594 | _Out_writes_opt_(NumSubresources) UINT64* pRowSizeInBytes, | ||
| 595 | _Out_opt_ UINT64* pTotalBytes) | ||
| 596 | { | ||
| 597 | // From D3D12_RESOURCE_DESC to D3D12_RESOURCE_DESC1 | ||
| 598 | D3D12_RESOURCE_DESC1 desc = D3DX12ResourceDesc0ToDesc1(pResourceDesc); | ||
| 599 | return D3DX12GetCopyableFootprints( | ||
| 600 | *static_cast<CD3DX12_RESOURCE_DESC1*>(&desc),// From D3D12_RESOURCE_DESC1 to CD3DX12_RESOURCE_DESC1 | ||
| 601 | FirstSubresource, | ||
| 602 | NumSubresources, | ||
| 603 | BaseOffset, | ||
| 604 | pLayouts, | ||
| 605 | pNumRows, | ||
| 606 | pRowSizeInBytes, | ||
| 607 | pTotalBytes); | ||
| 608 | } | ||
| 609 | |||
| 610 | #endif // D3D12_SDK_VERSION >= 606 | ||
| 611 | |||
| 612 | |||
diff --git a/contrib/microsoft.direct3d.d3d12.1.618.4/build/native/include/d3dx12/d3dx12_root_signature.h b/contrib/microsoft.direct3d.d3d12.1.618.4/build/native/include/d3dx12/d3dx12_root_signature.h new file mode 100644 index 0000000..e194d30 --- /dev/null +++ b/contrib/microsoft.direct3d.d3d12.1.618.4/build/native/include/d3dx12/d3dx12_root_signature.h | |||
| @@ -0,0 +1,1227 @@ | |||
| 1 | //********************************************************* | ||
| 2 | // | ||
| 3 | // Copyright (c) Microsoft Corporation. | ||
| 4 | // Licensed under the MIT License (MIT). | ||
| 5 | // | ||
| 6 | //********************************************************* | ||
| 7 | |||
| 8 | #pragma once | ||
| 9 | |||
| 10 | #ifndef __cplusplus | ||
| 11 | #error D3DX12 requires C++ | ||
| 12 | #endif | ||
| 13 | |||
| 14 | #include "d3d12.h" | ||
| 15 | #include "d3dx12_default.h" | ||
| 16 | |||
| 17 | //------------------------------------------------------------------------------------------------ | ||
| 18 | struct CD3DX12_DESCRIPTOR_RANGE : public D3D12_DESCRIPTOR_RANGE | ||
| 19 | { | ||
| 20 | CD3DX12_DESCRIPTOR_RANGE() = default; | ||
| 21 | explicit CD3DX12_DESCRIPTOR_RANGE(const D3D12_DESCRIPTOR_RANGE &o) noexcept : | ||
| 22 | D3D12_DESCRIPTOR_RANGE(o) | ||
| 23 | {} | ||
| 24 | CD3DX12_DESCRIPTOR_RANGE( | ||
| 25 | D3D12_DESCRIPTOR_RANGE_TYPE rangeType, | ||
| 26 | UINT numDescriptors, | ||
| 27 | UINT baseShaderRegister, | ||
| 28 | UINT registerSpace = 0, | ||
| 29 | UINT offsetInDescriptorsFromTableStart = | ||
| 30 | D3D12_DESCRIPTOR_RANGE_OFFSET_APPEND) noexcept | ||
| 31 | { | ||
| 32 | Init(rangeType, numDescriptors, baseShaderRegister, registerSpace, offsetInDescriptorsFromTableStart); | ||
| 33 | } | ||
| 34 | |||
| 35 | inline void Init( | ||
| 36 | D3D12_DESCRIPTOR_RANGE_TYPE rangeType, | ||
| 37 | UINT numDescriptors, | ||
| 38 | UINT baseShaderRegister, | ||
| 39 | UINT registerSpace = 0, | ||
| 40 | UINT offsetInDescriptorsFromTableStart = | ||
| 41 | D3D12_DESCRIPTOR_RANGE_OFFSET_APPEND) noexcept | ||
| 42 | { | ||
| 43 | Init(*this, rangeType, numDescriptors, baseShaderRegister, registerSpace, offsetInDescriptorsFromTableStart); | ||
| 44 | } | ||
| 45 | |||
| 46 | static inline void Init( | ||
| 47 | _Out_ D3D12_DESCRIPTOR_RANGE &range, | ||
| 48 | D3D12_DESCRIPTOR_RANGE_TYPE rangeType, | ||
| 49 | UINT numDescriptors, | ||
| 50 | UINT baseShaderRegister, | ||
| 51 | UINT registerSpace = 0, | ||
| 52 | UINT offsetInDescriptorsFromTableStart = | ||
| 53 | D3D12_DESCRIPTOR_RANGE_OFFSET_APPEND) noexcept | ||
| 54 | { | ||
| 55 | range.RangeType = rangeType; | ||
| 56 | range.NumDescriptors = numDescriptors; | ||
| 57 | range.BaseShaderRegister = baseShaderRegister; | ||
| 58 | range.RegisterSpace = registerSpace; | ||
| 59 | range.OffsetInDescriptorsFromTableStart = offsetInDescriptorsFromTableStart; | ||
| 60 | } | ||
| 61 | }; | ||
| 62 | |||
| 63 | //------------------------------------------------------------------------------------------------ | ||
| 64 | struct CD3DX12_ROOT_DESCRIPTOR_TABLE : public D3D12_ROOT_DESCRIPTOR_TABLE | ||
| 65 | { | ||
| 66 | CD3DX12_ROOT_DESCRIPTOR_TABLE() = default; | ||
| 67 | explicit CD3DX12_ROOT_DESCRIPTOR_TABLE(const D3D12_ROOT_DESCRIPTOR_TABLE &o) noexcept : | ||
| 68 | D3D12_ROOT_DESCRIPTOR_TABLE(o) | ||
| 69 | {} | ||
| 70 | CD3DX12_ROOT_DESCRIPTOR_TABLE( | ||
| 71 | UINT numDescriptorRanges, | ||
| 72 | _In_reads_opt_(numDescriptorRanges) const D3D12_DESCRIPTOR_RANGE* _pDescriptorRanges) noexcept | ||
| 73 | { | ||
| 74 | Init(numDescriptorRanges, _pDescriptorRanges); | ||
| 75 | } | ||
| 76 | |||
| 77 | inline void Init( | ||
| 78 | UINT numDescriptorRanges, | ||
| 79 | _In_reads_opt_(numDescriptorRanges) const D3D12_DESCRIPTOR_RANGE* _pDescriptorRanges) noexcept | ||
| 80 | { | ||
| 81 | Init(*this, numDescriptorRanges, _pDescriptorRanges); | ||
| 82 | } | ||
| 83 | |||
| 84 | static inline void Init( | ||
| 85 | _Out_ D3D12_ROOT_DESCRIPTOR_TABLE &rootDescriptorTable, | ||
| 86 | UINT numDescriptorRanges, | ||
| 87 | _In_reads_opt_(numDescriptorRanges) const D3D12_DESCRIPTOR_RANGE* _pDescriptorRanges) noexcept | ||
| 88 | { | ||
| 89 | rootDescriptorTable.NumDescriptorRanges = numDescriptorRanges; | ||
| 90 | rootDescriptorTable.pDescriptorRanges = _pDescriptorRanges; | ||
| 91 | } | ||
| 92 | }; | ||
| 93 | |||
| 94 | //------------------------------------------------------------------------------------------------ | ||
| 95 | struct CD3DX12_ROOT_CONSTANTS : public D3D12_ROOT_CONSTANTS | ||
| 96 | { | ||
| 97 | CD3DX12_ROOT_CONSTANTS() = default; | ||
| 98 | explicit CD3DX12_ROOT_CONSTANTS(const D3D12_ROOT_CONSTANTS &o) noexcept : | ||
| 99 | D3D12_ROOT_CONSTANTS(o) | ||
| 100 | {} | ||
| 101 | CD3DX12_ROOT_CONSTANTS( | ||
| 102 | UINT num32BitValues, | ||
| 103 | UINT shaderRegister, | ||
| 104 | UINT registerSpace = 0) noexcept | ||
| 105 | { | ||
| 106 | Init(num32BitValues, shaderRegister, registerSpace); | ||
| 107 | } | ||
| 108 | |||
| 109 | inline void Init( | ||
| 110 | UINT num32BitValues, | ||
| 111 | UINT shaderRegister, | ||
| 112 | UINT registerSpace = 0) noexcept | ||
| 113 | { | ||
| 114 | Init(*this, num32BitValues, shaderRegister, registerSpace); | ||
| 115 | } | ||
| 116 | |||
| 117 | static inline void Init( | ||
| 118 | _Out_ D3D12_ROOT_CONSTANTS &rootConstants, | ||
| 119 | UINT num32BitValues, | ||
| 120 | UINT shaderRegister, | ||
| 121 | UINT registerSpace = 0) noexcept | ||
| 122 | { | ||
| 123 | rootConstants.Num32BitValues = num32BitValues; | ||
| 124 | rootConstants.ShaderRegister = shaderRegister; | ||
| 125 | rootConstants.RegisterSpace = registerSpace; | ||
| 126 | } | ||
| 127 | }; | ||
| 128 | |||
| 129 | //------------------------------------------------------------------------------------------------ | ||
| 130 | struct CD3DX12_ROOT_DESCRIPTOR : public D3D12_ROOT_DESCRIPTOR | ||
| 131 | { | ||
| 132 | CD3DX12_ROOT_DESCRIPTOR() = default; | ||
| 133 | explicit CD3DX12_ROOT_DESCRIPTOR(const D3D12_ROOT_DESCRIPTOR &o) noexcept : | ||
| 134 | D3D12_ROOT_DESCRIPTOR(o) | ||
| 135 | {} | ||
| 136 | CD3DX12_ROOT_DESCRIPTOR( | ||
| 137 | UINT shaderRegister, | ||
| 138 | UINT registerSpace = 0) noexcept | ||
| 139 | { | ||
| 140 | Init(shaderRegister, registerSpace); | ||
| 141 | } | ||
| 142 | |||
| 143 | inline void Init( | ||
| 144 | UINT shaderRegister, | ||
| 145 | UINT registerSpace = 0) noexcept | ||
| 146 | { | ||
| 147 | Init(*this, shaderRegister, registerSpace); | ||
| 148 | } | ||
| 149 | |||
| 150 | static inline void Init(_Out_ D3D12_ROOT_DESCRIPTOR &table, UINT shaderRegister, UINT registerSpace = 0) noexcept | ||
| 151 | { | ||
| 152 | table.ShaderRegister = shaderRegister; | ||
| 153 | table.RegisterSpace = registerSpace; | ||
| 154 | } | ||
| 155 | }; | ||
| 156 | |||
| 157 | //------------------------------------------------------------------------------------------------ | ||
| 158 | struct CD3DX12_ROOT_PARAMETER : public D3D12_ROOT_PARAMETER | ||
| 159 | { | ||
| 160 | CD3DX12_ROOT_PARAMETER() = default; | ||
| 161 | explicit CD3DX12_ROOT_PARAMETER(const D3D12_ROOT_PARAMETER &o) noexcept : | ||
| 162 | D3D12_ROOT_PARAMETER(o) | ||
| 163 | {} | ||
| 164 | |||
| 165 | static inline void InitAsDescriptorTable( | ||
| 166 | _Out_ D3D12_ROOT_PARAMETER &rootParam, | ||
| 167 | UINT numDescriptorRanges, | ||
| 168 | _In_reads_(numDescriptorRanges) const D3D12_DESCRIPTOR_RANGE* pDescriptorRanges, | ||
| 169 | D3D12_SHADER_VISIBILITY visibility = D3D12_SHADER_VISIBILITY_ALL) noexcept | ||
| 170 | { | ||
| 171 | rootParam.ParameterType = D3D12_ROOT_PARAMETER_TYPE_DESCRIPTOR_TABLE; | ||
| 172 | rootParam.ShaderVisibility = visibility; | ||
| 173 | CD3DX12_ROOT_DESCRIPTOR_TABLE::Init(rootParam.DescriptorTable, numDescriptorRanges, pDescriptorRanges); | ||
| 174 | } | ||
| 175 | |||
| 176 | static inline void InitAsConstants( | ||
| 177 | _Out_ D3D12_ROOT_PARAMETER &rootParam, | ||
| 178 | UINT num32BitValues, | ||
| 179 | UINT shaderRegister, | ||
| 180 | UINT registerSpace = 0, | ||
| 181 | D3D12_SHADER_VISIBILITY visibility = D3D12_SHADER_VISIBILITY_ALL) noexcept | ||
| 182 | { | ||
| 183 | rootParam.ParameterType = D3D12_ROOT_PARAMETER_TYPE_32BIT_CONSTANTS; | ||
| 184 | rootParam.ShaderVisibility = visibility; | ||
| 185 | CD3DX12_ROOT_CONSTANTS::Init(rootParam.Constants, num32BitValues, shaderRegister, registerSpace); | ||
| 186 | } | ||
| 187 | |||
| 188 | static inline void InitAsConstantBufferView( | ||
| 189 | _Out_ D3D12_ROOT_PARAMETER &rootParam, | ||
| 190 | UINT shaderRegister, | ||
| 191 | UINT registerSpace = 0, | ||
| 192 | D3D12_SHADER_VISIBILITY visibility = D3D12_SHADER_VISIBILITY_ALL) noexcept | ||
| 193 | { | ||
| 194 | rootParam.ParameterType = D3D12_ROOT_PARAMETER_TYPE_CBV; | ||
| 195 | rootParam.ShaderVisibility = visibility; | ||
| 196 | CD3DX12_ROOT_DESCRIPTOR::Init(rootParam.Descriptor, shaderRegister, registerSpace); | ||
| 197 | } | ||
| 198 | |||
| 199 | static inline void InitAsShaderResourceView( | ||
| 200 | _Out_ D3D12_ROOT_PARAMETER &rootParam, | ||
| 201 | UINT shaderRegister, | ||
| 202 | UINT registerSpace = 0, | ||
| 203 | D3D12_SHADER_VISIBILITY visibility = D3D12_SHADER_VISIBILITY_ALL) noexcept | ||
| 204 | { | ||
| 205 | rootParam.ParameterType = D3D12_ROOT_PARAMETER_TYPE_SRV; | ||
| 206 | rootParam.ShaderVisibility = visibility; | ||
| 207 | CD3DX12_ROOT_DESCRIPTOR::Init(rootParam.Descriptor, shaderRegister, registerSpace); | ||
| 208 | } | ||
| 209 | |||
| 210 | static inline void InitAsUnorderedAccessView( | ||
| 211 | _Out_ D3D12_ROOT_PARAMETER &rootParam, | ||
| 212 | UINT shaderRegister, | ||
| 213 | UINT registerSpace = 0, | ||
| 214 | D3D12_SHADER_VISIBILITY visibility = D3D12_SHADER_VISIBILITY_ALL) noexcept | ||
| 215 | { | ||
| 216 | rootParam.ParameterType = D3D12_ROOT_PARAMETER_TYPE_UAV; | ||
| 217 | rootParam.ShaderVisibility = visibility; | ||
| 218 | CD3DX12_ROOT_DESCRIPTOR::Init(rootParam.Descriptor, shaderRegister, registerSpace); | ||
| 219 | } | ||
| 220 | |||
| 221 | inline void InitAsDescriptorTable( | ||
| 222 | UINT numDescriptorRanges, | ||
| 223 | _In_reads_(numDescriptorRanges) const D3D12_DESCRIPTOR_RANGE* pDescriptorRanges, | ||
| 224 | D3D12_SHADER_VISIBILITY visibility = D3D12_SHADER_VISIBILITY_ALL) noexcept | ||
| 225 | { | ||
| 226 | InitAsDescriptorTable(*this, numDescriptorRanges, pDescriptorRanges, visibility); | ||
| 227 | } | ||
| 228 | |||
| 229 | inline void InitAsConstants( | ||
| 230 | UINT num32BitValues, | ||
| 231 | UINT shaderRegister, | ||
| 232 | UINT registerSpace = 0, | ||
| 233 | D3D12_SHADER_VISIBILITY visibility = D3D12_SHADER_VISIBILITY_ALL) noexcept | ||
| 234 | { | ||
| 235 | InitAsConstants(*this, num32BitValues, shaderRegister, registerSpace, visibility); | ||
| 236 | } | ||
| 237 | |||
| 238 | inline void InitAsConstantBufferView( | ||
| 239 | UINT shaderRegister, | ||
| 240 | UINT registerSpace = 0, | ||
| 241 | D3D12_SHADER_VISIBILITY visibility = D3D12_SHADER_VISIBILITY_ALL) noexcept | ||
| 242 | { | ||
| 243 | InitAsConstantBufferView(*this, shaderRegister, registerSpace, visibility); | ||
| 244 | } | ||
| 245 | |||
| 246 | inline void InitAsShaderResourceView( | ||
| 247 | UINT shaderRegister, | ||
| 248 | UINT registerSpace = 0, | ||
| 249 | D3D12_SHADER_VISIBILITY visibility = D3D12_SHADER_VISIBILITY_ALL) noexcept | ||
| 250 | { | ||
| 251 | InitAsShaderResourceView(*this, shaderRegister, registerSpace, visibility); | ||
| 252 | } | ||
| 253 | |||
| 254 | inline void InitAsUnorderedAccessView( | ||
| 255 | UINT shaderRegister, | ||
| 256 | UINT registerSpace = 0, | ||
| 257 | D3D12_SHADER_VISIBILITY visibility = D3D12_SHADER_VISIBILITY_ALL) noexcept | ||
| 258 | { | ||
| 259 | InitAsUnorderedAccessView(*this, shaderRegister, registerSpace, visibility); | ||
| 260 | } | ||
| 261 | }; | ||
| 262 | |||
| 263 | //------------------------------------------------------------------------------------------------ | ||
| 264 | struct CD3DX12_STATIC_SAMPLER_DESC : public D3D12_STATIC_SAMPLER_DESC | ||
| 265 | { | ||
| 266 | CD3DX12_STATIC_SAMPLER_DESC() = default; | ||
| 267 | explicit CD3DX12_STATIC_SAMPLER_DESC(const D3D12_STATIC_SAMPLER_DESC &o) noexcept : | ||
| 268 | D3D12_STATIC_SAMPLER_DESC(o) | ||
| 269 | {} | ||
| 270 | CD3DX12_STATIC_SAMPLER_DESC( | ||
| 271 | UINT shaderRegister, | ||
| 272 | D3D12_FILTER filter = D3D12_FILTER_ANISOTROPIC, | ||
| 273 | D3D12_TEXTURE_ADDRESS_MODE addressU = D3D12_TEXTURE_ADDRESS_MODE_WRAP, | ||
| 274 | D3D12_TEXTURE_ADDRESS_MODE addressV = D3D12_TEXTURE_ADDRESS_MODE_WRAP, | ||
| 275 | D3D12_TEXTURE_ADDRESS_MODE addressW = D3D12_TEXTURE_ADDRESS_MODE_WRAP, | ||
| 276 | FLOAT mipLODBias = 0, | ||
| 277 | UINT maxAnisotropy = 16, | ||
| 278 | D3D12_COMPARISON_FUNC comparisonFunc = D3D12_COMPARISON_FUNC_LESS_EQUAL, | ||
| 279 | D3D12_STATIC_BORDER_COLOR borderColor = D3D12_STATIC_BORDER_COLOR_OPAQUE_WHITE, | ||
| 280 | FLOAT minLOD = 0.f, | ||
| 281 | FLOAT maxLOD = D3D12_FLOAT32_MAX, | ||
| 282 | D3D12_SHADER_VISIBILITY shaderVisibility = D3D12_SHADER_VISIBILITY_ALL, | ||
| 283 | UINT registerSpace = 0) noexcept | ||
| 284 | { | ||
| 285 | Init( | ||
| 286 | shaderRegister, | ||
| 287 | filter, | ||
| 288 | addressU, | ||
| 289 | addressV, | ||
| 290 | addressW, | ||
| 291 | mipLODBias, | ||
| 292 | maxAnisotropy, | ||
| 293 | comparisonFunc, | ||
| 294 | borderColor, | ||
| 295 | minLOD, | ||
| 296 | maxLOD, | ||
| 297 | shaderVisibility, | ||
| 298 | registerSpace); | ||
| 299 | } | ||
| 300 | |||
| 301 | static inline void Init( | ||
| 302 | _Out_ D3D12_STATIC_SAMPLER_DESC &samplerDesc, | ||
| 303 | UINT shaderRegister, | ||
| 304 | D3D12_FILTER filter = D3D12_FILTER_ANISOTROPIC, | ||
| 305 | D3D12_TEXTURE_ADDRESS_MODE addressU = D3D12_TEXTURE_ADDRESS_MODE_WRAP, | ||
| 306 | D3D12_TEXTURE_ADDRESS_MODE addressV = D3D12_TEXTURE_ADDRESS_MODE_WRAP, | ||
| 307 | D3D12_TEXTURE_ADDRESS_MODE addressW = D3D12_TEXTURE_ADDRESS_MODE_WRAP, | ||
| 308 | FLOAT mipLODBias = 0, | ||
| 309 | UINT maxAnisotropy = 16, | ||
| 310 | D3D12_COMPARISON_FUNC comparisonFunc = D3D12_COMPARISON_FUNC_LESS_EQUAL, | ||
| 311 | D3D12_STATIC_BORDER_COLOR borderColor = D3D12_STATIC_BORDER_COLOR_OPAQUE_WHITE, | ||
| 312 | FLOAT minLOD = 0.f, | ||
| 313 | FLOAT maxLOD = D3D12_FLOAT32_MAX, | ||
| 314 | D3D12_SHADER_VISIBILITY shaderVisibility = D3D12_SHADER_VISIBILITY_ALL, | ||
| 315 | UINT registerSpace = 0) noexcept | ||
| 316 | { | ||
| 317 | samplerDesc.ShaderRegister = shaderRegister; | ||
| 318 | samplerDesc.Filter = filter; | ||
| 319 | samplerDesc.AddressU = addressU; | ||
| 320 | samplerDesc.AddressV = addressV; | ||
| 321 | samplerDesc.AddressW = addressW; | ||
| 322 | samplerDesc.MipLODBias = mipLODBias; | ||
| 323 | samplerDesc.MaxAnisotropy = maxAnisotropy; | ||
| 324 | samplerDesc.ComparisonFunc = comparisonFunc; | ||
| 325 | samplerDesc.BorderColor = borderColor; | ||
| 326 | samplerDesc.MinLOD = minLOD; | ||
| 327 | samplerDesc.MaxLOD = maxLOD; | ||
| 328 | samplerDesc.ShaderVisibility = shaderVisibility; | ||
| 329 | samplerDesc.RegisterSpace = registerSpace; | ||
| 330 | } | ||
| 331 | inline void Init( | ||
| 332 | UINT shaderRegister, | ||
| 333 | D3D12_FILTER filter = D3D12_FILTER_ANISOTROPIC, | ||
| 334 | D3D12_TEXTURE_ADDRESS_MODE addressU = D3D12_TEXTURE_ADDRESS_MODE_WRAP, | ||
| 335 | D3D12_TEXTURE_ADDRESS_MODE addressV = D3D12_TEXTURE_ADDRESS_MODE_WRAP, | ||
| 336 | D3D12_TEXTURE_ADDRESS_MODE addressW = D3D12_TEXTURE_ADDRESS_MODE_WRAP, | ||
| 337 | FLOAT mipLODBias = 0, | ||
| 338 | UINT maxAnisotropy = 16, | ||
| 339 | D3D12_COMPARISON_FUNC comparisonFunc = D3D12_COMPARISON_FUNC_LESS_EQUAL, | ||
| 340 | D3D12_STATIC_BORDER_COLOR borderColor = D3D12_STATIC_BORDER_COLOR_OPAQUE_WHITE, | ||
| 341 | FLOAT minLOD = 0.f, | ||
| 342 | FLOAT maxLOD = D3D12_FLOAT32_MAX, | ||
| 343 | D3D12_SHADER_VISIBILITY shaderVisibility = D3D12_SHADER_VISIBILITY_ALL, | ||
| 344 | UINT registerSpace = 0) noexcept | ||
| 345 | { | ||
| 346 | Init( | ||
| 347 | *this, | ||
| 348 | shaderRegister, | ||
| 349 | filter, | ||
| 350 | addressU, | ||
| 351 | addressV, | ||
| 352 | addressW, | ||
| 353 | mipLODBias, | ||
| 354 | maxAnisotropy, | ||
| 355 | comparisonFunc, | ||
| 356 | borderColor, | ||
| 357 | minLOD, | ||
| 358 | maxLOD, | ||
| 359 | shaderVisibility, | ||
| 360 | registerSpace); | ||
| 361 | } | ||
| 362 | }; | ||
| 363 | |||
| 364 | //------------------------------------------------------------------------------------------------ | ||
| 365 | #if defined(D3D12_SDK_VERSION) && (D3D12_SDK_VERSION >= 609) | ||
| 366 | struct CD3DX12_STATIC_SAMPLER_DESC1 : public D3D12_STATIC_SAMPLER_DESC1 | ||
| 367 | { | ||
| 368 | CD3DX12_STATIC_SAMPLER_DESC1() = default; | ||
| 369 | explicit CD3DX12_STATIC_SAMPLER_DESC1(const D3D12_STATIC_SAMPLER_DESC &o) noexcept | ||
| 370 | { | ||
| 371 | memcpy(this, &o, sizeof(D3D12_STATIC_SAMPLER_DESC)); | ||
| 372 | Flags = D3D12_SAMPLER_FLAGS::D3D12_SAMPLER_FLAG_NONE; | ||
| 373 | } | ||
| 374 | explicit CD3DX12_STATIC_SAMPLER_DESC1(const D3D12_STATIC_SAMPLER_DESC1 & o) noexcept : | ||
| 375 | D3D12_STATIC_SAMPLER_DESC1(o) | ||
| 376 | {} | ||
| 377 | CD3DX12_STATIC_SAMPLER_DESC1( | ||
| 378 | UINT shaderRegister, | ||
| 379 | D3D12_FILTER filter = D3D12_FILTER_ANISOTROPIC, | ||
| 380 | D3D12_TEXTURE_ADDRESS_MODE addressU = D3D12_TEXTURE_ADDRESS_MODE_WRAP, | ||
| 381 | D3D12_TEXTURE_ADDRESS_MODE addressV = D3D12_TEXTURE_ADDRESS_MODE_WRAP, | ||
| 382 | D3D12_TEXTURE_ADDRESS_MODE addressW = D3D12_TEXTURE_ADDRESS_MODE_WRAP, | ||
| 383 | FLOAT mipLODBias = 0, | ||
| 384 | UINT maxAnisotropy = 16, | ||
| 385 | D3D12_COMPARISON_FUNC comparisonFunc = D3D12_COMPARISON_FUNC_LESS_EQUAL, | ||
| 386 | D3D12_STATIC_BORDER_COLOR borderColor = D3D12_STATIC_BORDER_COLOR_OPAQUE_WHITE, | ||
| 387 | FLOAT minLOD = 0.f, | ||
| 388 | FLOAT maxLOD = D3D12_FLOAT32_MAX, | ||
| 389 | D3D12_SHADER_VISIBILITY shaderVisibility = D3D12_SHADER_VISIBILITY_ALL, | ||
| 390 | UINT registerSpace = 0, | ||
| 391 | D3D12_SAMPLER_FLAGS flags = D3D12_SAMPLER_FLAGS::D3D12_SAMPLER_FLAG_NONE) noexcept | ||
| 392 | { | ||
| 393 | Init( | ||
| 394 | shaderRegister, | ||
| 395 | filter, | ||
| 396 | addressU, | ||
| 397 | addressV, | ||
| 398 | addressW, | ||
| 399 | mipLODBias, | ||
| 400 | maxAnisotropy, | ||
| 401 | comparisonFunc, | ||
| 402 | borderColor, | ||
| 403 | minLOD, | ||
| 404 | maxLOD, | ||
| 405 | shaderVisibility, | ||
| 406 | registerSpace, | ||
| 407 | flags); | ||
| 408 | } | ||
| 409 | |||
| 410 | static inline void Init( | ||
| 411 | _Out_ D3D12_STATIC_SAMPLER_DESC1 &samplerDesc, | ||
| 412 | UINT shaderRegister, | ||
| 413 | D3D12_FILTER filter = D3D12_FILTER_ANISOTROPIC, | ||
| 414 | D3D12_TEXTURE_ADDRESS_MODE addressU = D3D12_TEXTURE_ADDRESS_MODE_WRAP, | ||
| 415 | D3D12_TEXTURE_ADDRESS_MODE addressV = D3D12_TEXTURE_ADDRESS_MODE_WRAP, | ||
| 416 | D3D12_TEXTURE_ADDRESS_MODE addressW = D3D12_TEXTURE_ADDRESS_MODE_WRAP, | ||
| 417 | FLOAT mipLODBias = 0, | ||
| 418 | UINT maxAnisotropy = 16, | ||
| 419 | D3D12_COMPARISON_FUNC comparisonFunc = D3D12_COMPARISON_FUNC_LESS_EQUAL, | ||
| 420 | D3D12_STATIC_BORDER_COLOR borderColor = D3D12_STATIC_BORDER_COLOR_OPAQUE_WHITE, | ||
| 421 | FLOAT minLOD = 0.f, | ||
| 422 | FLOAT maxLOD = D3D12_FLOAT32_MAX, | ||
| 423 | D3D12_SHADER_VISIBILITY shaderVisibility = D3D12_SHADER_VISIBILITY_ALL, | ||
| 424 | UINT registerSpace = 0, | ||
| 425 | D3D12_SAMPLER_FLAGS flags = D3D12_SAMPLER_FLAGS::D3D12_SAMPLER_FLAG_NONE) noexcept | ||
| 426 | { | ||
| 427 | samplerDesc.ShaderRegister = shaderRegister; | ||
| 428 | samplerDesc.Filter = filter; | ||
| 429 | samplerDesc.AddressU = addressU; | ||
| 430 | samplerDesc.AddressV = addressV; | ||
| 431 | samplerDesc.AddressW = addressW; | ||
| 432 | samplerDesc.MipLODBias = mipLODBias; | ||
| 433 | samplerDesc.MaxAnisotropy = maxAnisotropy; | ||
| 434 | samplerDesc.ComparisonFunc = comparisonFunc; | ||
| 435 | samplerDesc.BorderColor = borderColor; | ||
| 436 | samplerDesc.MinLOD = minLOD; | ||
| 437 | samplerDesc.MaxLOD = maxLOD; | ||
| 438 | samplerDesc.ShaderVisibility = shaderVisibility; | ||
| 439 | samplerDesc.RegisterSpace = registerSpace; | ||
| 440 | samplerDesc.Flags = flags; | ||
| 441 | } | ||
| 442 | inline void Init( | ||
| 443 | UINT shaderRegister, | ||
| 444 | D3D12_FILTER filter = D3D12_FILTER_ANISOTROPIC, | ||
| 445 | D3D12_TEXTURE_ADDRESS_MODE addressU = D3D12_TEXTURE_ADDRESS_MODE_WRAP, | ||
| 446 | D3D12_TEXTURE_ADDRESS_MODE addressV = D3D12_TEXTURE_ADDRESS_MODE_WRAP, | ||
| 447 | D3D12_TEXTURE_ADDRESS_MODE addressW = D3D12_TEXTURE_ADDRESS_MODE_WRAP, | ||
| 448 | FLOAT mipLODBias = 0, | ||
| 449 | UINT maxAnisotropy = 16, | ||
| 450 | D3D12_COMPARISON_FUNC comparisonFunc = D3D12_COMPARISON_FUNC_LESS_EQUAL, | ||
| 451 | D3D12_STATIC_BORDER_COLOR borderColor = D3D12_STATIC_BORDER_COLOR_OPAQUE_WHITE, | ||
| 452 | FLOAT minLOD = 0.f, | ||
| 453 | FLOAT maxLOD = D3D12_FLOAT32_MAX, | ||
| 454 | D3D12_SHADER_VISIBILITY shaderVisibility = D3D12_SHADER_VISIBILITY_ALL, | ||
| 455 | UINT registerSpace = 0, | ||
| 456 | D3D12_SAMPLER_FLAGS flags = D3D12_SAMPLER_FLAGS::D3D12_SAMPLER_FLAG_NONE) noexcept | ||
| 457 | { | ||
| 458 | Init( | ||
| 459 | *this, | ||
| 460 | shaderRegister, | ||
| 461 | filter, | ||
| 462 | addressU, | ||
| 463 | addressV, | ||
| 464 | addressW, | ||
| 465 | mipLODBias, | ||
| 466 | maxAnisotropy, | ||
| 467 | comparisonFunc, | ||
| 468 | borderColor, | ||
| 469 | minLOD, | ||
| 470 | maxLOD, | ||
| 471 | shaderVisibility, | ||
| 472 | registerSpace, | ||
| 473 | flags); | ||
| 474 | } | ||
| 475 | }; | ||
| 476 | #endif // D3D12_SDK_VERSION >= 609 | ||
| 477 | |||
| 478 | //------------------------------------------------------------------------------------------------ | ||
| 479 | struct CD3DX12_ROOT_SIGNATURE_DESC : public D3D12_ROOT_SIGNATURE_DESC | ||
| 480 | { | ||
| 481 | CD3DX12_ROOT_SIGNATURE_DESC() = default; | ||
| 482 | explicit CD3DX12_ROOT_SIGNATURE_DESC(const D3D12_ROOT_SIGNATURE_DESC &o) noexcept : | ||
| 483 | D3D12_ROOT_SIGNATURE_DESC(o) | ||
| 484 | {} | ||
| 485 | CD3DX12_ROOT_SIGNATURE_DESC( | ||
| 486 | UINT numParameters, | ||
| 487 | _In_reads_opt_(numParameters) const D3D12_ROOT_PARAMETER* _pParameters, | ||
| 488 | UINT numStaticSamplers = 0, | ||
| 489 | _In_reads_opt_(numStaticSamplers) const D3D12_STATIC_SAMPLER_DESC* _pStaticSamplers = nullptr, | ||
| 490 | D3D12_ROOT_SIGNATURE_FLAGS flags = D3D12_ROOT_SIGNATURE_FLAG_NONE) noexcept | ||
| 491 | { | ||
| 492 | Init(numParameters, _pParameters, numStaticSamplers, _pStaticSamplers, flags); | ||
| 493 | } | ||
| 494 | CD3DX12_ROOT_SIGNATURE_DESC(CD3DX12_DEFAULT) noexcept | ||
| 495 | { | ||
| 496 | Init(0, nullptr, 0, nullptr, D3D12_ROOT_SIGNATURE_FLAG_NONE); | ||
| 497 | } | ||
| 498 | |||
| 499 | inline void Init( | ||
| 500 | UINT numParameters, | ||
| 501 | _In_reads_opt_(numParameters) const D3D12_ROOT_PARAMETER* _pParameters, | ||
| 502 | UINT numStaticSamplers = 0, | ||
| 503 | _In_reads_opt_(numStaticSamplers) const D3D12_STATIC_SAMPLER_DESC* _pStaticSamplers = nullptr, | ||
| 504 | D3D12_ROOT_SIGNATURE_FLAGS flags = D3D12_ROOT_SIGNATURE_FLAG_NONE) noexcept | ||
| 505 | { | ||
| 506 | Init(*this, numParameters, _pParameters, numStaticSamplers, _pStaticSamplers, flags); | ||
| 507 | } | ||
| 508 | |||
| 509 | static inline void Init( | ||
| 510 | _Out_ D3D12_ROOT_SIGNATURE_DESC &desc, | ||
| 511 | UINT numParameters, | ||
| 512 | _In_reads_opt_(numParameters) const D3D12_ROOT_PARAMETER* _pParameters, | ||
| 513 | UINT numStaticSamplers = 0, | ||
| 514 | _In_reads_opt_(numStaticSamplers) const D3D12_STATIC_SAMPLER_DESC* _pStaticSamplers = nullptr, | ||
| 515 | D3D12_ROOT_SIGNATURE_FLAGS flags = D3D12_ROOT_SIGNATURE_FLAG_NONE) noexcept | ||
| 516 | { | ||
| 517 | desc.NumParameters = numParameters; | ||
| 518 | desc.pParameters = _pParameters; | ||
| 519 | desc.NumStaticSamplers = numStaticSamplers; | ||
| 520 | desc.pStaticSamplers = _pStaticSamplers; | ||
| 521 | desc.Flags = flags; | ||
| 522 | } | ||
| 523 | }; | ||
| 524 | |||
| 525 | //------------------------------------------------------------------------------------------------ | ||
| 526 | struct CD3DX12_DESCRIPTOR_RANGE1 : public D3D12_DESCRIPTOR_RANGE1 | ||
| 527 | { | ||
| 528 | CD3DX12_DESCRIPTOR_RANGE1() = default; | ||
| 529 | explicit CD3DX12_DESCRIPTOR_RANGE1(const D3D12_DESCRIPTOR_RANGE1 &o) noexcept : | ||
| 530 | D3D12_DESCRIPTOR_RANGE1(o) | ||
| 531 | {} | ||
| 532 | CD3DX12_DESCRIPTOR_RANGE1( | ||
| 533 | D3D12_DESCRIPTOR_RANGE_TYPE rangeType, | ||
| 534 | UINT numDescriptors, | ||
| 535 | UINT baseShaderRegister, | ||
| 536 | UINT registerSpace = 0, | ||
| 537 | D3D12_DESCRIPTOR_RANGE_FLAGS flags = D3D12_DESCRIPTOR_RANGE_FLAG_NONE, | ||
| 538 | UINT offsetInDescriptorsFromTableStart = | ||
| 539 | D3D12_DESCRIPTOR_RANGE_OFFSET_APPEND) noexcept | ||
| 540 | { | ||
| 541 | Init(rangeType, numDescriptors, baseShaderRegister, registerSpace, flags, offsetInDescriptorsFromTableStart); | ||
| 542 | } | ||
| 543 | |||
| 544 | inline void Init( | ||
| 545 | D3D12_DESCRIPTOR_RANGE_TYPE rangeType, | ||
| 546 | UINT numDescriptors, | ||
| 547 | UINT baseShaderRegister, | ||
| 548 | UINT registerSpace = 0, | ||
| 549 | D3D12_DESCRIPTOR_RANGE_FLAGS flags = D3D12_DESCRIPTOR_RANGE_FLAG_NONE, | ||
| 550 | UINT offsetInDescriptorsFromTableStart = | ||
| 551 | D3D12_DESCRIPTOR_RANGE_OFFSET_APPEND) noexcept | ||
| 552 | { | ||
| 553 | Init(*this, rangeType, numDescriptors, baseShaderRegister, registerSpace, flags, offsetInDescriptorsFromTableStart); | ||
| 554 | } | ||
| 555 | |||
| 556 | static inline void Init( | ||
| 557 | _Out_ D3D12_DESCRIPTOR_RANGE1 &range, | ||
| 558 | D3D12_DESCRIPTOR_RANGE_TYPE rangeType, | ||
| 559 | UINT numDescriptors, | ||
| 560 | UINT baseShaderRegister, | ||
| 561 | UINT registerSpace = 0, | ||
| 562 | D3D12_DESCRIPTOR_RANGE_FLAGS flags = D3D12_DESCRIPTOR_RANGE_FLAG_NONE, | ||
| 563 | UINT offsetInDescriptorsFromTableStart = | ||
| 564 | D3D12_DESCRIPTOR_RANGE_OFFSET_APPEND) noexcept | ||
| 565 | { | ||
| 566 | range.RangeType = rangeType; | ||
| 567 | range.NumDescriptors = numDescriptors; | ||
| 568 | range.BaseShaderRegister = baseShaderRegister; | ||
| 569 | range.RegisterSpace = registerSpace; | ||
| 570 | range.Flags = flags; | ||
| 571 | range.OffsetInDescriptorsFromTableStart = offsetInDescriptorsFromTableStart; | ||
| 572 | } | ||
| 573 | }; | ||
| 574 | |||
| 575 | //------------------------------------------------------------------------------------------------ | ||
| 576 | struct CD3DX12_ROOT_DESCRIPTOR_TABLE1 : public D3D12_ROOT_DESCRIPTOR_TABLE1 | ||
| 577 | { | ||
| 578 | CD3DX12_ROOT_DESCRIPTOR_TABLE1() = default; | ||
| 579 | explicit CD3DX12_ROOT_DESCRIPTOR_TABLE1(const D3D12_ROOT_DESCRIPTOR_TABLE1 &o) noexcept : | ||
| 580 | D3D12_ROOT_DESCRIPTOR_TABLE1(o) | ||
| 581 | {} | ||
| 582 | CD3DX12_ROOT_DESCRIPTOR_TABLE1( | ||
| 583 | UINT numDescriptorRanges, | ||
| 584 | _In_reads_opt_(numDescriptorRanges) const D3D12_DESCRIPTOR_RANGE1* _pDescriptorRanges) noexcept | ||
| 585 | { | ||
| 586 | Init(numDescriptorRanges, _pDescriptorRanges); | ||
| 587 | } | ||
| 588 | |||
| 589 | inline void Init( | ||
| 590 | UINT numDescriptorRanges, | ||
| 591 | _In_reads_opt_(numDescriptorRanges) const D3D12_DESCRIPTOR_RANGE1* _pDescriptorRanges) noexcept | ||
| 592 | { | ||
| 593 | Init(*this, numDescriptorRanges, _pDescriptorRanges); | ||
| 594 | } | ||
| 595 | |||
| 596 | static inline void Init( | ||
| 597 | _Out_ D3D12_ROOT_DESCRIPTOR_TABLE1 &rootDescriptorTable, | ||
| 598 | UINT numDescriptorRanges, | ||
| 599 | _In_reads_opt_(numDescriptorRanges) const D3D12_DESCRIPTOR_RANGE1* _pDescriptorRanges) noexcept | ||
| 600 | { | ||
| 601 | rootDescriptorTable.NumDescriptorRanges = numDescriptorRanges; | ||
| 602 | rootDescriptorTable.pDescriptorRanges = _pDescriptorRanges; | ||
| 603 | } | ||
| 604 | }; | ||
| 605 | |||
| 606 | //------------------------------------------------------------------------------------------------ | ||
| 607 | struct CD3DX12_ROOT_DESCRIPTOR1 : public D3D12_ROOT_DESCRIPTOR1 | ||
| 608 | { | ||
| 609 | CD3DX12_ROOT_DESCRIPTOR1() = default; | ||
| 610 | explicit CD3DX12_ROOT_DESCRIPTOR1(const D3D12_ROOT_DESCRIPTOR1 &o) noexcept : | ||
| 611 | D3D12_ROOT_DESCRIPTOR1(o) | ||
| 612 | {} | ||
| 613 | CD3DX12_ROOT_DESCRIPTOR1( | ||
| 614 | UINT shaderRegister, | ||
| 615 | UINT registerSpace = 0, | ||
| 616 | D3D12_ROOT_DESCRIPTOR_FLAGS flags = D3D12_ROOT_DESCRIPTOR_FLAG_NONE) noexcept | ||
| 617 | { | ||
| 618 | Init(shaderRegister, registerSpace, flags); | ||
| 619 | } | ||
| 620 | |||
| 621 | inline void Init( | ||
| 622 | UINT shaderRegister, | ||
| 623 | UINT registerSpace = 0, | ||
| 624 | D3D12_ROOT_DESCRIPTOR_FLAGS flags = D3D12_ROOT_DESCRIPTOR_FLAG_NONE) noexcept | ||
| 625 | { | ||
| 626 | Init(*this, shaderRegister, registerSpace, flags); | ||
| 627 | } | ||
| 628 | |||
| 629 | static inline void Init( | ||
| 630 | _Out_ D3D12_ROOT_DESCRIPTOR1 &table, | ||
| 631 | UINT shaderRegister, | ||
| 632 | UINT registerSpace = 0, | ||
| 633 | D3D12_ROOT_DESCRIPTOR_FLAGS flags = D3D12_ROOT_DESCRIPTOR_FLAG_NONE) noexcept | ||
| 634 | { | ||
| 635 | table.ShaderRegister = shaderRegister; | ||
| 636 | table.RegisterSpace = registerSpace; | ||
| 637 | table.Flags = flags; | ||
| 638 | } | ||
| 639 | }; | ||
| 640 | |||
| 641 | //------------------------------------------------------------------------------------------------ | ||
| 642 | struct CD3DX12_ROOT_PARAMETER1 : public D3D12_ROOT_PARAMETER1 | ||
| 643 | { | ||
| 644 | CD3DX12_ROOT_PARAMETER1() = default; | ||
| 645 | explicit CD3DX12_ROOT_PARAMETER1(const D3D12_ROOT_PARAMETER1 &o) noexcept : | ||
| 646 | D3D12_ROOT_PARAMETER1(o) | ||
| 647 | {} | ||
| 648 | |||
| 649 | static inline void InitAsDescriptorTable( | ||
| 650 | _Out_ D3D12_ROOT_PARAMETER1 &rootParam, | ||
| 651 | UINT numDescriptorRanges, | ||
| 652 | _In_reads_(numDescriptorRanges) const D3D12_DESCRIPTOR_RANGE1* pDescriptorRanges, | ||
| 653 | D3D12_SHADER_VISIBILITY visibility = D3D12_SHADER_VISIBILITY_ALL) noexcept | ||
| 654 | { | ||
| 655 | rootParam.ParameterType = D3D12_ROOT_PARAMETER_TYPE_DESCRIPTOR_TABLE; | ||
| 656 | rootParam.ShaderVisibility = visibility; | ||
| 657 | CD3DX12_ROOT_DESCRIPTOR_TABLE1::Init(rootParam.DescriptorTable, numDescriptorRanges, pDescriptorRanges); | ||
| 658 | } | ||
| 659 | |||
| 660 | static inline void InitAsConstants( | ||
| 661 | _Out_ D3D12_ROOT_PARAMETER1 &rootParam, | ||
| 662 | UINT num32BitValues, | ||
| 663 | UINT shaderRegister, | ||
| 664 | UINT registerSpace = 0, | ||
| 665 | D3D12_SHADER_VISIBILITY visibility = D3D12_SHADER_VISIBILITY_ALL) noexcept | ||
| 666 | { | ||
| 667 | rootParam.ParameterType = D3D12_ROOT_PARAMETER_TYPE_32BIT_CONSTANTS; | ||
| 668 | rootParam.ShaderVisibility = visibility; | ||
| 669 | CD3DX12_ROOT_CONSTANTS::Init(rootParam.Constants, num32BitValues, shaderRegister, registerSpace); | ||
| 670 | } | ||
| 671 | |||
| 672 | static inline void InitAsConstantBufferView( | ||
| 673 | _Out_ D3D12_ROOT_PARAMETER1 &rootParam, | ||
| 674 | UINT shaderRegister, | ||
| 675 | UINT registerSpace = 0, | ||
| 676 | D3D12_ROOT_DESCRIPTOR_FLAGS flags = D3D12_ROOT_DESCRIPTOR_FLAG_NONE, | ||
| 677 | D3D12_SHADER_VISIBILITY visibility = D3D12_SHADER_VISIBILITY_ALL) noexcept | ||
| 678 | { | ||
| 679 | rootParam.ParameterType = D3D12_ROOT_PARAMETER_TYPE_CBV; | ||
| 680 | rootParam.ShaderVisibility = visibility; | ||
| 681 | CD3DX12_ROOT_DESCRIPTOR1::Init(rootParam.Descriptor, shaderRegister, registerSpace, flags); | ||
| 682 | } | ||
| 683 | |||
| 684 | static inline void InitAsShaderResourceView( | ||
| 685 | _Out_ D3D12_ROOT_PARAMETER1 &rootParam, | ||
| 686 | UINT shaderRegister, | ||
| 687 | UINT registerSpace = 0, | ||
| 688 | D3D12_ROOT_DESCRIPTOR_FLAGS flags = D3D12_ROOT_DESCRIPTOR_FLAG_NONE, | ||
| 689 | D3D12_SHADER_VISIBILITY visibility = D3D12_SHADER_VISIBILITY_ALL) noexcept | ||
| 690 | { | ||
| 691 | rootParam.ParameterType = D3D12_ROOT_PARAMETER_TYPE_SRV; | ||
| 692 | rootParam.ShaderVisibility = visibility; | ||
| 693 | CD3DX12_ROOT_DESCRIPTOR1::Init(rootParam.Descriptor, shaderRegister, registerSpace, flags); | ||
| 694 | } | ||
| 695 | |||
| 696 | static inline void InitAsUnorderedAccessView( | ||
| 697 | _Out_ D3D12_ROOT_PARAMETER1 &rootParam, | ||
| 698 | UINT shaderRegister, | ||
| 699 | UINT registerSpace = 0, | ||
| 700 | D3D12_ROOT_DESCRIPTOR_FLAGS flags = D3D12_ROOT_DESCRIPTOR_FLAG_NONE, | ||
| 701 | D3D12_SHADER_VISIBILITY visibility = D3D12_SHADER_VISIBILITY_ALL) noexcept | ||
| 702 | { | ||
| 703 | rootParam.ParameterType = D3D12_ROOT_PARAMETER_TYPE_UAV; | ||
| 704 | rootParam.ShaderVisibility = visibility; | ||
| 705 | CD3DX12_ROOT_DESCRIPTOR1::Init(rootParam.Descriptor, shaderRegister, registerSpace, flags); | ||
| 706 | } | ||
| 707 | |||
| 708 | inline void InitAsDescriptorTable( | ||
| 709 | UINT numDescriptorRanges, | ||
| 710 | _In_reads_(numDescriptorRanges) const D3D12_DESCRIPTOR_RANGE1* pDescriptorRanges, | ||
| 711 | D3D12_SHADER_VISIBILITY visibility = D3D12_SHADER_VISIBILITY_ALL) noexcept | ||
| 712 | { | ||
| 713 | InitAsDescriptorTable(*this, numDescriptorRanges, pDescriptorRanges, visibility); | ||
| 714 | } | ||
| 715 | |||
| 716 | inline void InitAsConstants( | ||
| 717 | UINT num32BitValues, | ||
| 718 | UINT shaderRegister, | ||
| 719 | UINT registerSpace = 0, | ||
| 720 | D3D12_SHADER_VISIBILITY visibility = D3D12_SHADER_VISIBILITY_ALL) noexcept | ||
| 721 | { | ||
| 722 | InitAsConstants(*this, num32BitValues, shaderRegister, registerSpace, visibility); | ||
| 723 | } | ||
| 724 | |||
| 725 | inline void InitAsConstantBufferView( | ||
| 726 | UINT shaderRegister, | ||
| 727 | UINT registerSpace = 0, | ||
| 728 | D3D12_ROOT_DESCRIPTOR_FLAGS flags = D3D12_ROOT_DESCRIPTOR_FLAG_NONE, | ||
| 729 | D3D12_SHADER_VISIBILITY visibility = D3D12_SHADER_VISIBILITY_ALL) noexcept | ||
| 730 | { | ||
| 731 | InitAsConstantBufferView(*this, shaderRegister, registerSpace, flags, visibility); | ||
| 732 | } | ||
| 733 | |||
| 734 | inline void InitAsShaderResourceView( | ||
| 735 | UINT shaderRegister, | ||
| 736 | UINT registerSpace = 0, | ||
| 737 | D3D12_ROOT_DESCRIPTOR_FLAGS flags = D3D12_ROOT_DESCRIPTOR_FLAG_NONE, | ||
| 738 | D3D12_SHADER_VISIBILITY visibility = D3D12_SHADER_VISIBILITY_ALL) noexcept | ||
| 739 | { | ||
| 740 | InitAsShaderResourceView(*this, shaderRegister, registerSpace, flags, visibility); | ||
| 741 | } | ||
| 742 | |||
| 743 | inline void InitAsUnorderedAccessView( | ||
| 744 | UINT shaderRegister, | ||
| 745 | UINT registerSpace = 0, | ||
| 746 | D3D12_ROOT_DESCRIPTOR_FLAGS flags = D3D12_ROOT_DESCRIPTOR_FLAG_NONE, | ||
| 747 | D3D12_SHADER_VISIBILITY visibility = D3D12_SHADER_VISIBILITY_ALL) noexcept | ||
| 748 | { | ||
| 749 | InitAsUnorderedAccessView(*this, shaderRegister, registerSpace, flags, visibility); | ||
| 750 | } | ||
| 751 | }; | ||
| 752 | |||
| 753 | //------------------------------------------------------------------------------------------------ | ||
| 754 | struct CD3DX12_VERSIONED_ROOT_SIGNATURE_DESC : public D3D12_VERSIONED_ROOT_SIGNATURE_DESC | ||
| 755 | { | ||
| 756 | CD3DX12_VERSIONED_ROOT_SIGNATURE_DESC() = default; | ||
| 757 | explicit CD3DX12_VERSIONED_ROOT_SIGNATURE_DESC(const D3D12_VERSIONED_ROOT_SIGNATURE_DESC &o) noexcept : | ||
| 758 | D3D12_VERSIONED_ROOT_SIGNATURE_DESC(o) | ||
| 759 | {} | ||
| 760 | explicit CD3DX12_VERSIONED_ROOT_SIGNATURE_DESC(const D3D12_ROOT_SIGNATURE_DESC &o) noexcept | ||
| 761 | { | ||
| 762 | Version = D3D_ROOT_SIGNATURE_VERSION_1_0; | ||
| 763 | Desc_1_0 = o; | ||
| 764 | } | ||
| 765 | explicit CD3DX12_VERSIONED_ROOT_SIGNATURE_DESC(const D3D12_ROOT_SIGNATURE_DESC1 &o) noexcept | ||
| 766 | { | ||
| 767 | Version = D3D_ROOT_SIGNATURE_VERSION_1_1; | ||
| 768 | Desc_1_1 = o; | ||
| 769 | } | ||
| 770 | #if defined(D3D12_SDK_VERSION) && (D3D12_SDK_VERSION >= 609) | ||
| 771 | explicit CD3DX12_VERSIONED_ROOT_SIGNATURE_DESC(const D3D12_ROOT_SIGNATURE_DESC2& o) noexcept | ||
| 772 | { | ||
| 773 | Version = D3D_ROOT_SIGNATURE_VERSION_1_2; | ||
| 774 | Desc_1_2 = o; | ||
| 775 | } | ||
| 776 | #endif | ||
| 777 | CD3DX12_VERSIONED_ROOT_SIGNATURE_DESC( | ||
| 778 | UINT numParameters, | ||
| 779 | _In_reads_opt_(numParameters) const D3D12_ROOT_PARAMETER* _pParameters, | ||
| 780 | UINT numStaticSamplers = 0, | ||
| 781 | _In_reads_opt_(numStaticSamplers) const D3D12_STATIC_SAMPLER_DESC* _pStaticSamplers = nullptr, | ||
| 782 | D3D12_ROOT_SIGNATURE_FLAGS flags = D3D12_ROOT_SIGNATURE_FLAG_NONE) noexcept | ||
| 783 | { | ||
| 784 | Init_1_0(numParameters, _pParameters, numStaticSamplers, _pStaticSamplers, flags); | ||
| 785 | } | ||
| 786 | CD3DX12_VERSIONED_ROOT_SIGNATURE_DESC( | ||
| 787 | UINT numParameters, | ||
| 788 | _In_reads_opt_(numParameters) const D3D12_ROOT_PARAMETER1* _pParameters, | ||
| 789 | UINT numStaticSamplers = 0, | ||
| 790 | _In_reads_opt_(numStaticSamplers) const D3D12_STATIC_SAMPLER_DESC* _pStaticSamplers = nullptr, | ||
| 791 | D3D12_ROOT_SIGNATURE_FLAGS flags = D3D12_ROOT_SIGNATURE_FLAG_NONE) noexcept | ||
| 792 | { | ||
| 793 | Init_1_1(numParameters, _pParameters, numStaticSamplers, _pStaticSamplers, flags); | ||
| 794 | } | ||
| 795 | CD3DX12_VERSIONED_ROOT_SIGNATURE_DESC(CD3DX12_DEFAULT) noexcept | ||
| 796 | { | ||
| 797 | Init_1_1(0, nullptr, 0, nullptr, D3D12_ROOT_SIGNATURE_FLAG_NONE); | ||
| 798 | } | ||
| 799 | |||
| 800 | inline void Init_1_0( | ||
| 801 | UINT numParameters, | ||
| 802 | _In_reads_opt_(numParameters) const D3D12_ROOT_PARAMETER* _pParameters, | ||
| 803 | UINT numStaticSamplers = 0, | ||
| 804 | _In_reads_opt_(numStaticSamplers) const D3D12_STATIC_SAMPLER_DESC* _pStaticSamplers = nullptr, | ||
| 805 | D3D12_ROOT_SIGNATURE_FLAGS flags = D3D12_ROOT_SIGNATURE_FLAG_NONE) noexcept | ||
| 806 | { | ||
| 807 | Init_1_0(*this, numParameters, _pParameters, numStaticSamplers, _pStaticSamplers, flags); | ||
| 808 | } | ||
| 809 | |||
| 810 | static inline void Init_1_0( | ||
| 811 | _Out_ D3D12_VERSIONED_ROOT_SIGNATURE_DESC &desc, | ||
| 812 | UINT numParameters, | ||
| 813 | _In_reads_opt_(numParameters) const D3D12_ROOT_PARAMETER* _pParameters, | ||
| 814 | UINT numStaticSamplers = 0, | ||
| 815 | _In_reads_opt_(numStaticSamplers) const D3D12_STATIC_SAMPLER_DESC* _pStaticSamplers = nullptr, | ||
| 816 | D3D12_ROOT_SIGNATURE_FLAGS flags = D3D12_ROOT_SIGNATURE_FLAG_NONE) noexcept | ||
| 817 | { | ||
| 818 | desc.Version = D3D_ROOT_SIGNATURE_VERSION_1_0; | ||
| 819 | desc.Desc_1_0.NumParameters = numParameters; | ||
| 820 | desc.Desc_1_0.pParameters = _pParameters; | ||
| 821 | desc.Desc_1_0.NumStaticSamplers = numStaticSamplers; | ||
| 822 | desc.Desc_1_0.pStaticSamplers = _pStaticSamplers; | ||
| 823 | desc.Desc_1_0.Flags = flags; | ||
| 824 | } | ||
| 825 | |||
| 826 | inline void Init_1_1( | ||
| 827 | UINT numParameters, | ||
| 828 | _In_reads_opt_(numParameters) const D3D12_ROOT_PARAMETER1* _pParameters, | ||
| 829 | UINT numStaticSamplers = 0, | ||
| 830 | _In_reads_opt_(numStaticSamplers) const D3D12_STATIC_SAMPLER_DESC* _pStaticSamplers = nullptr, | ||
| 831 | D3D12_ROOT_SIGNATURE_FLAGS flags = D3D12_ROOT_SIGNATURE_FLAG_NONE) noexcept | ||
| 832 | { | ||
| 833 | Init_1_1(*this, numParameters, _pParameters, numStaticSamplers, _pStaticSamplers, flags); | ||
| 834 | } | ||
| 835 | |||
| 836 | static inline void Init_1_1( | ||
| 837 | _Out_ D3D12_VERSIONED_ROOT_SIGNATURE_DESC &desc, | ||
| 838 | UINT numParameters, | ||
| 839 | _In_reads_opt_(numParameters) const D3D12_ROOT_PARAMETER1* _pParameters, | ||
| 840 | UINT numStaticSamplers = 0, | ||
| 841 | _In_reads_opt_(numStaticSamplers) const D3D12_STATIC_SAMPLER_DESC* _pStaticSamplers = nullptr, | ||
| 842 | D3D12_ROOT_SIGNATURE_FLAGS flags = D3D12_ROOT_SIGNATURE_FLAG_NONE) noexcept | ||
| 843 | { | ||
| 844 | desc.Version = D3D_ROOT_SIGNATURE_VERSION_1_1; | ||
| 845 | desc.Desc_1_1.NumParameters = numParameters; | ||
| 846 | desc.Desc_1_1.pParameters = _pParameters; | ||
| 847 | desc.Desc_1_1.NumStaticSamplers = numStaticSamplers; | ||
| 848 | desc.Desc_1_1.pStaticSamplers = _pStaticSamplers; | ||
| 849 | desc.Desc_1_1.Flags = flags; | ||
| 850 | } | ||
| 851 | |||
| 852 | #if defined(D3D12_SDK_VERSION) && (D3D12_SDK_VERSION >= 609) | ||
| 853 | static inline void Init_1_2( | ||
| 854 | _Out_ D3D12_VERSIONED_ROOT_SIGNATURE_DESC& desc, | ||
| 855 | UINT numParameters, | ||
| 856 | _In_reads_opt_(numParameters) const D3D12_ROOT_PARAMETER1* _pParameters, | ||
| 857 | UINT numStaticSamplers = 0, | ||
| 858 | _In_reads_opt_(numStaticSamplers) const D3D12_STATIC_SAMPLER_DESC1* _pStaticSamplers = nullptr, | ||
| 859 | D3D12_ROOT_SIGNATURE_FLAGS flags = D3D12_ROOT_SIGNATURE_FLAG_NONE) noexcept | ||
| 860 | { | ||
| 861 | desc.Version = D3D_ROOT_SIGNATURE_VERSION_1_2; | ||
| 862 | desc.Desc_1_2.NumParameters = numParameters; | ||
| 863 | desc.Desc_1_2.pParameters = _pParameters; | ||
| 864 | desc.Desc_1_2.NumStaticSamplers = numStaticSamplers; | ||
| 865 | desc.Desc_1_2.pStaticSamplers = _pStaticSamplers; | ||
| 866 | desc.Desc_1_2.Flags = flags; | ||
| 867 | } | ||
| 868 | #endif | ||
| 869 | }; | ||
| 870 | |||
| 871 | //------------------------------------------------------------------------------------------------ | ||
| 872 | struct CD3DX12_CPU_DESCRIPTOR_HANDLE : public D3D12_CPU_DESCRIPTOR_HANDLE | ||
| 873 | { | ||
| 874 | CD3DX12_CPU_DESCRIPTOR_HANDLE() = default; | ||
| 875 | explicit CD3DX12_CPU_DESCRIPTOR_HANDLE(const D3D12_CPU_DESCRIPTOR_HANDLE &o) noexcept : | ||
| 876 | D3D12_CPU_DESCRIPTOR_HANDLE(o) | ||
| 877 | {} | ||
| 878 | CD3DX12_CPU_DESCRIPTOR_HANDLE(CD3DX12_DEFAULT) noexcept { ptr = 0; } | ||
| 879 | CD3DX12_CPU_DESCRIPTOR_HANDLE(_In_ const D3D12_CPU_DESCRIPTOR_HANDLE &other, INT offsetScaledByIncrementSize) noexcept | ||
| 880 | { | ||
| 881 | InitOffsetted(other, offsetScaledByIncrementSize); | ||
| 882 | } | ||
| 883 | CD3DX12_CPU_DESCRIPTOR_HANDLE(_In_ const D3D12_CPU_DESCRIPTOR_HANDLE &other, INT offsetInDescriptors, UINT descriptorIncrementSize) noexcept | ||
| 884 | { | ||
| 885 | InitOffsetted(other, offsetInDescriptors, descriptorIncrementSize); | ||
| 886 | } | ||
| 887 | CD3DX12_CPU_DESCRIPTOR_HANDLE& Offset(INT offsetInDescriptors, UINT descriptorIncrementSize) noexcept | ||
| 888 | { | ||
| 889 | ptr = SIZE_T(INT64(ptr) + INT64(offsetInDescriptors) * INT64(descriptorIncrementSize)); | ||
| 890 | return *this; | ||
| 891 | } | ||
| 892 | CD3DX12_CPU_DESCRIPTOR_HANDLE& Offset(INT offsetScaledByIncrementSize) noexcept | ||
| 893 | { | ||
| 894 | ptr = SIZE_T(INT64(ptr) + INT64(offsetScaledByIncrementSize)); | ||
| 895 | return *this; | ||
| 896 | } | ||
| 897 | bool operator==(_In_ const D3D12_CPU_DESCRIPTOR_HANDLE& other) const noexcept | ||
| 898 | { | ||
| 899 | return (ptr == other.ptr); | ||
| 900 | } | ||
| 901 | bool operator!=(_In_ const D3D12_CPU_DESCRIPTOR_HANDLE& other) const noexcept | ||
| 902 | { | ||
| 903 | return (ptr != other.ptr); | ||
| 904 | } | ||
| 905 | CD3DX12_CPU_DESCRIPTOR_HANDLE &operator=(const D3D12_CPU_DESCRIPTOR_HANDLE &other) noexcept | ||
| 906 | { | ||
| 907 | ptr = other.ptr; | ||
| 908 | return *this; | ||
| 909 | } | ||
| 910 | |||
| 911 | inline void InitOffsetted(_In_ const D3D12_CPU_DESCRIPTOR_HANDLE &base, INT offsetScaledByIncrementSize) noexcept | ||
| 912 | { | ||
| 913 | InitOffsetted(*this, base, offsetScaledByIncrementSize); | ||
| 914 | } | ||
| 915 | |||
| 916 | inline void InitOffsetted(_In_ const D3D12_CPU_DESCRIPTOR_HANDLE &base, INT offsetInDescriptors, UINT descriptorIncrementSize) noexcept | ||
| 917 | { | ||
| 918 | InitOffsetted(*this, base, offsetInDescriptors, descriptorIncrementSize); | ||
| 919 | } | ||
| 920 | |||
| 921 | static inline void InitOffsetted(_Out_ D3D12_CPU_DESCRIPTOR_HANDLE &handle, _In_ const D3D12_CPU_DESCRIPTOR_HANDLE &base, INT offsetScaledByIncrementSize) noexcept | ||
| 922 | { | ||
| 923 | handle.ptr = SIZE_T(INT64(base.ptr) + INT64(offsetScaledByIncrementSize)); | ||
| 924 | } | ||
| 925 | |||
| 926 | static inline void InitOffsetted(_Out_ D3D12_CPU_DESCRIPTOR_HANDLE &handle, _In_ const D3D12_CPU_DESCRIPTOR_HANDLE &base, INT offsetInDescriptors, UINT descriptorIncrementSize) noexcept | ||
| 927 | { | ||
| 928 | handle.ptr = SIZE_T(INT64(base.ptr) + INT64(offsetInDescriptors) * INT64(descriptorIncrementSize)); | ||
| 929 | } | ||
| 930 | }; | ||
| 931 | |||
| 932 | //------------------------------------------------------------------------------------------------ | ||
| 933 | struct CD3DX12_GPU_DESCRIPTOR_HANDLE : public D3D12_GPU_DESCRIPTOR_HANDLE | ||
| 934 | { | ||
| 935 | CD3DX12_GPU_DESCRIPTOR_HANDLE() = default; | ||
| 936 | explicit CD3DX12_GPU_DESCRIPTOR_HANDLE(const D3D12_GPU_DESCRIPTOR_HANDLE &o) noexcept : | ||
| 937 | D3D12_GPU_DESCRIPTOR_HANDLE(o) | ||
| 938 | {} | ||
| 939 | CD3DX12_GPU_DESCRIPTOR_HANDLE(CD3DX12_DEFAULT) noexcept { ptr = 0; } | ||
| 940 | CD3DX12_GPU_DESCRIPTOR_HANDLE(_In_ const D3D12_GPU_DESCRIPTOR_HANDLE &other, INT offsetScaledByIncrementSize) noexcept | ||
| 941 | { | ||
| 942 | InitOffsetted(other, offsetScaledByIncrementSize); | ||
| 943 | } | ||
| 944 | CD3DX12_GPU_DESCRIPTOR_HANDLE(_In_ const D3D12_GPU_DESCRIPTOR_HANDLE &other, INT offsetInDescriptors, UINT descriptorIncrementSize) noexcept | ||
| 945 | { | ||
| 946 | InitOffsetted(other, offsetInDescriptors, descriptorIncrementSize); | ||
| 947 | } | ||
| 948 | CD3DX12_GPU_DESCRIPTOR_HANDLE& Offset(INT offsetInDescriptors, UINT descriptorIncrementSize) noexcept | ||
| 949 | { | ||
| 950 | ptr = UINT64(INT64(ptr) + INT64(offsetInDescriptors) * INT64(descriptorIncrementSize)); | ||
| 951 | return *this; | ||
| 952 | } | ||
| 953 | CD3DX12_GPU_DESCRIPTOR_HANDLE& Offset(INT offsetScaledByIncrementSize) noexcept | ||
| 954 | { | ||
| 955 | ptr = UINT64(INT64(ptr) + INT64(offsetScaledByIncrementSize)); | ||
| 956 | return *this; | ||
| 957 | } | ||
| 958 | inline bool operator==(_In_ const D3D12_GPU_DESCRIPTOR_HANDLE& other) const noexcept | ||
| 959 | { | ||
| 960 | return (ptr == other.ptr); | ||
| 961 | } | ||
| 962 | inline bool operator!=(_In_ const D3D12_GPU_DESCRIPTOR_HANDLE& other) const noexcept | ||
| 963 | { | ||
| 964 | return (ptr != other.ptr); | ||
| 965 | } | ||
| 966 | CD3DX12_GPU_DESCRIPTOR_HANDLE &operator=(const D3D12_GPU_DESCRIPTOR_HANDLE &other) noexcept | ||
| 967 | { | ||
| 968 | ptr = other.ptr; | ||
| 969 | return *this; | ||
| 970 | } | ||
| 971 | |||
| 972 | inline void InitOffsetted(_In_ const D3D12_GPU_DESCRIPTOR_HANDLE &base, INT offsetScaledByIncrementSize) noexcept | ||
| 973 | { | ||
| 974 | InitOffsetted(*this, base, offsetScaledByIncrementSize); | ||
| 975 | } | ||
| 976 | |||
| 977 | inline void InitOffsetted(_In_ const D3D12_GPU_DESCRIPTOR_HANDLE &base, INT offsetInDescriptors, UINT descriptorIncrementSize) noexcept | ||
| 978 | { | ||
| 979 | InitOffsetted(*this, base, offsetInDescriptors, descriptorIncrementSize); | ||
| 980 | } | ||
| 981 | |||
| 982 | static inline void InitOffsetted(_Out_ D3D12_GPU_DESCRIPTOR_HANDLE &handle, _In_ const D3D12_GPU_DESCRIPTOR_HANDLE &base, INT offsetScaledByIncrementSize) noexcept | ||
| 983 | { | ||
| 984 | handle.ptr = UINT64(INT64(base.ptr) + INT64(offsetScaledByIncrementSize)); | ||
| 985 | } | ||
| 986 | |||
| 987 | static inline void InitOffsetted(_Out_ D3D12_GPU_DESCRIPTOR_HANDLE &handle, _In_ const D3D12_GPU_DESCRIPTOR_HANDLE &base, INT offsetInDescriptors, UINT descriptorIncrementSize) noexcept | ||
| 988 | { | ||
| 989 | handle.ptr = UINT64(INT64(base.ptr) + INT64(offsetInDescriptors) * INT64(descriptorIncrementSize)); | ||
| 990 | } | ||
| 991 | }; | ||
| 992 | |||
| 993 | //------------------------------------------------------------------------------------------------ | ||
| 994 | // D3D12 exports a new method for serializing root signatures in the Windows 10 Anniversary Update. | ||
| 995 | // To help enable root signature 1.1 features when they are available and not require maintaining | ||
| 996 | // two code paths for building root signatures, this helper method reconstructs a 1.0 signature when | ||
| 997 | // 1.1 is not supported. | ||
| 998 | #ifdef __clang__ | ||
| 999 | #pragma clang diagnostic push | ||
| 1000 | #pragma clang diagnostic ignored "-Wcovered-switch-default" | ||
| 1001 | #endif | ||
| 1002 | |||
| 1003 | inline HRESULT D3DX12SerializeVersionedRootSignature( | ||
| 1004 | _In_ const D3D12_VERSIONED_ROOT_SIGNATURE_DESC* pRootSignatureDesc, | ||
| 1005 | D3D_ROOT_SIGNATURE_VERSION MaxVersion, | ||
| 1006 | _Outptr_ ID3DBlob** ppBlob, | ||
| 1007 | _Always_(_Outptr_opt_result_maybenull_) ID3DBlob** ppErrorBlob) noexcept | ||
| 1008 | { | ||
| 1009 | if (ppErrorBlob != nullptr) | ||
| 1010 | { | ||
| 1011 | *ppErrorBlob = nullptr; | ||
| 1012 | } | ||
| 1013 | |||
| 1014 | switch (MaxVersion) | ||
| 1015 | { | ||
| 1016 | case D3D_ROOT_SIGNATURE_VERSION_1_0: | ||
| 1017 | switch (pRootSignatureDesc->Version) | ||
| 1018 | { | ||
| 1019 | case D3D_ROOT_SIGNATURE_VERSION_1_0: | ||
| 1020 | return D3D12SerializeRootSignature(&pRootSignatureDesc->Desc_1_0, D3D_ROOT_SIGNATURE_VERSION_1, ppBlob, ppErrorBlob); | ||
| 1021 | |||
| 1022 | case D3D_ROOT_SIGNATURE_VERSION_1_1: | ||
| 1023 | #if defined(D3D12_SDK_VERSION) && (D3D12_SDK_VERSION >= 609) | ||
| 1024 | case D3D_ROOT_SIGNATURE_VERSION_1_2: | ||
| 1025 | #endif | ||
| 1026 | { | ||
| 1027 | HRESULT hr = S_OK; | ||
| 1028 | const D3D12_ROOT_SIGNATURE_DESC1& desc_1_1 = pRootSignatureDesc->Desc_1_1; | ||
| 1029 | |||
| 1030 | const SIZE_T ParametersSize = sizeof(D3D12_ROOT_PARAMETER) * desc_1_1.NumParameters; | ||
| 1031 | void* pParameters = (ParametersSize > 0) ? HeapAlloc(GetProcessHeap(), 0, ParametersSize) : nullptr; | ||
| 1032 | if (ParametersSize > 0 && pParameters == nullptr) | ||
| 1033 | { | ||
| 1034 | hr = E_OUTOFMEMORY; | ||
| 1035 | } | ||
| 1036 | auto pParameters_1_0 = static_cast<D3D12_ROOT_PARAMETER*>(pParameters); | ||
| 1037 | |||
| 1038 | if (SUCCEEDED(hr)) | ||
| 1039 | { | ||
| 1040 | for (UINT n = 0; n < desc_1_1.NumParameters; n++) | ||
| 1041 | { | ||
| 1042 | __analysis_assume(ParametersSize == sizeof(D3D12_ROOT_PARAMETER) * desc_1_1.NumParameters); | ||
| 1043 | pParameters_1_0[n].ParameterType = desc_1_1.pParameters[n].ParameterType; | ||
| 1044 | pParameters_1_0[n].ShaderVisibility = desc_1_1.pParameters[n].ShaderVisibility; | ||
| 1045 | |||
| 1046 | switch (desc_1_1.pParameters[n].ParameterType) | ||
| 1047 | { | ||
| 1048 | case D3D12_ROOT_PARAMETER_TYPE_32BIT_CONSTANTS: | ||
| 1049 | pParameters_1_0[n].Constants.Num32BitValues = desc_1_1.pParameters[n].Constants.Num32BitValues; | ||
| 1050 | pParameters_1_0[n].Constants.RegisterSpace = desc_1_1.pParameters[n].Constants.RegisterSpace; | ||
| 1051 | pParameters_1_0[n].Constants.ShaderRegister = desc_1_1.pParameters[n].Constants.ShaderRegister; | ||
| 1052 | break; | ||
| 1053 | |||
| 1054 | case D3D12_ROOT_PARAMETER_TYPE_CBV: | ||
| 1055 | case D3D12_ROOT_PARAMETER_TYPE_SRV: | ||
| 1056 | case D3D12_ROOT_PARAMETER_TYPE_UAV: | ||
| 1057 | pParameters_1_0[n].Descriptor.RegisterSpace = desc_1_1.pParameters[n].Descriptor.RegisterSpace; | ||
| 1058 | pParameters_1_0[n].Descriptor.ShaderRegister = desc_1_1.pParameters[n].Descriptor.ShaderRegister; | ||
| 1059 | break; | ||
| 1060 | |||
| 1061 | case D3D12_ROOT_PARAMETER_TYPE_DESCRIPTOR_TABLE: | ||
| 1062 | { | ||
| 1063 | const D3D12_ROOT_DESCRIPTOR_TABLE1& table_1_1 = desc_1_1.pParameters[n].DescriptorTable; | ||
| 1064 | |||
| 1065 | const SIZE_T DescriptorRangesSize = sizeof(D3D12_DESCRIPTOR_RANGE) * table_1_1.NumDescriptorRanges; | ||
| 1066 | void* pDescriptorRanges = (DescriptorRangesSize > 0 && SUCCEEDED(hr)) ? HeapAlloc(GetProcessHeap(), 0, DescriptorRangesSize) : nullptr; | ||
| 1067 | if (DescriptorRangesSize > 0 && pDescriptorRanges == nullptr) | ||
| 1068 | { | ||
| 1069 | hr = E_OUTOFMEMORY; | ||
| 1070 | } | ||
| 1071 | auto pDescriptorRanges_1_0 = static_cast<D3D12_DESCRIPTOR_RANGE*>(pDescriptorRanges); | ||
| 1072 | |||
| 1073 | if (SUCCEEDED(hr)) | ||
| 1074 | { | ||
| 1075 | for (UINT x = 0; x < table_1_1.NumDescriptorRanges; x++) | ||
| 1076 | { | ||
| 1077 | __analysis_assume(DescriptorRangesSize == sizeof(D3D12_DESCRIPTOR_RANGE) * table_1_1.NumDescriptorRanges); | ||
| 1078 | pDescriptorRanges_1_0[x].BaseShaderRegister = table_1_1.pDescriptorRanges[x].BaseShaderRegister; | ||
| 1079 | pDescriptorRanges_1_0[x].NumDescriptors = table_1_1.pDescriptorRanges[x].NumDescriptors; | ||
| 1080 | pDescriptorRanges_1_0[x].OffsetInDescriptorsFromTableStart = table_1_1.pDescriptorRanges[x].OffsetInDescriptorsFromTableStart; | ||
| 1081 | pDescriptorRanges_1_0[x].RangeType = table_1_1.pDescriptorRanges[x].RangeType; | ||
| 1082 | pDescriptorRanges_1_0[x].RegisterSpace = table_1_1.pDescriptorRanges[x].RegisterSpace; | ||
| 1083 | } | ||
| 1084 | } | ||
| 1085 | |||
| 1086 | D3D12_ROOT_DESCRIPTOR_TABLE& table_1_0 = pParameters_1_0[n].DescriptorTable; | ||
| 1087 | table_1_0.NumDescriptorRanges = table_1_1.NumDescriptorRanges; | ||
| 1088 | table_1_0.pDescriptorRanges = pDescriptorRanges_1_0; | ||
| 1089 | } | ||
| 1090 | break; | ||
| 1091 | |||
| 1092 | default: | ||
| 1093 | break; | ||
| 1094 | } | ||
| 1095 | } | ||
| 1096 | } | ||
| 1097 | |||
| 1098 | D3D12_STATIC_SAMPLER_DESC* pStaticSamplers = nullptr; | ||
| 1099 | #if defined(D3D12_SDK_VERSION) && (D3D12_SDK_VERSION >= 609) | ||
| 1100 | if (desc_1_1.NumStaticSamplers > 0 && pRootSignatureDesc->Version == D3D_ROOT_SIGNATURE_VERSION_1_2) | ||
| 1101 | { | ||
| 1102 | const SIZE_T SamplersSize = sizeof(D3D12_STATIC_SAMPLER_DESC) * desc_1_1.NumStaticSamplers; | ||
| 1103 | pStaticSamplers = static_cast<D3D12_STATIC_SAMPLER_DESC*>(HeapAlloc(GetProcessHeap(), 0, SamplersSize)); | ||
| 1104 | |||
| 1105 | if (pStaticSamplers == nullptr) | ||
| 1106 | { | ||
| 1107 | hr = E_OUTOFMEMORY; | ||
| 1108 | } | ||
| 1109 | else | ||
| 1110 | { | ||
| 1111 | const D3D12_ROOT_SIGNATURE_DESC2& desc_1_2 = pRootSignatureDesc->Desc_1_2; | ||
| 1112 | for (UINT n = 0; n < desc_1_1.NumStaticSamplers; ++n) | ||
| 1113 | { | ||
| 1114 | if ((desc_1_2.pStaticSamplers[n].Flags & ~D3D12_SAMPLER_FLAG_UINT_BORDER_COLOR) != 0) | ||
| 1115 | { | ||
| 1116 | hr = E_INVALIDARG; | ||
| 1117 | break; | ||
| 1118 | } | ||
| 1119 | memcpy(pStaticSamplers + n, desc_1_2.pStaticSamplers + n, sizeof(D3D12_STATIC_SAMPLER_DESC)); | ||
| 1120 | } | ||
| 1121 | } | ||
| 1122 | } | ||
| 1123 | #endif | ||
| 1124 | |||
| 1125 | if (SUCCEEDED(hr)) | ||
| 1126 | { | ||
| 1127 | const CD3DX12_ROOT_SIGNATURE_DESC desc_1_0(desc_1_1.NumParameters, pParameters_1_0, desc_1_1.NumStaticSamplers, pStaticSamplers == nullptr ? desc_1_1.pStaticSamplers : pStaticSamplers, desc_1_1.Flags); | ||
| 1128 | hr = D3D12SerializeRootSignature(&desc_1_0, D3D_ROOT_SIGNATURE_VERSION_1, ppBlob, ppErrorBlob); | ||
| 1129 | } | ||
| 1130 | |||
| 1131 | if (pParameters) | ||
| 1132 | { | ||
| 1133 | for (UINT n = 0; n < desc_1_1.NumParameters; n++) | ||
| 1134 | { | ||
| 1135 | if (desc_1_1.pParameters[n].ParameterType == D3D12_ROOT_PARAMETER_TYPE_DESCRIPTOR_TABLE) | ||
| 1136 | { | ||
| 1137 | auto pDescriptorRanges_1_0 = pParameters_1_0[n].DescriptorTable.pDescriptorRanges; | ||
| 1138 | HeapFree(GetProcessHeap(), 0, reinterpret_cast<void*>(const_cast<D3D12_DESCRIPTOR_RANGE*>(pDescriptorRanges_1_0))); | ||
| 1139 | } | ||
| 1140 | } | ||
| 1141 | HeapFree(GetProcessHeap(), 0, pParameters); | ||
| 1142 | } | ||
| 1143 | |||
| 1144 | if (pStaticSamplers) | ||
| 1145 | { | ||
| 1146 | HeapFree(GetProcessHeap(), 0, pStaticSamplers); | ||
| 1147 | } | ||
| 1148 | |||
| 1149 | return hr; | ||
| 1150 | } | ||
| 1151 | |||
| 1152 | default: | ||
| 1153 | break; | ||
| 1154 | } | ||
| 1155 | break; | ||
| 1156 | |||
| 1157 | case D3D_ROOT_SIGNATURE_VERSION_1_1: | ||
| 1158 | switch (pRootSignatureDesc->Version) | ||
| 1159 | { | ||
| 1160 | case D3D_ROOT_SIGNATURE_VERSION_1_0: | ||
| 1161 | case D3D_ROOT_SIGNATURE_VERSION_1_1: | ||
| 1162 | return D3D12SerializeVersionedRootSignature(pRootSignatureDesc, ppBlob, ppErrorBlob); | ||
| 1163 | |||
| 1164 | #if defined(D3D12_SDK_VERSION) && (D3D12_SDK_VERSION >= 609) | ||
| 1165 | case D3D_ROOT_SIGNATURE_VERSION_1_2: | ||
| 1166 | { | ||
| 1167 | HRESULT hr = S_OK; | ||
| 1168 | const D3D12_ROOT_SIGNATURE_DESC1& desc_1_1 = pRootSignatureDesc->Desc_1_1; | ||
| 1169 | |||
| 1170 | D3D12_STATIC_SAMPLER_DESC* pStaticSamplers = nullptr; | ||
| 1171 | if (desc_1_1.NumStaticSamplers > 0) | ||
| 1172 | { | ||
| 1173 | const SIZE_T SamplersSize = sizeof(D3D12_STATIC_SAMPLER_DESC) * desc_1_1.NumStaticSamplers; | ||
| 1174 | pStaticSamplers = static_cast<D3D12_STATIC_SAMPLER_DESC*>(HeapAlloc(GetProcessHeap(), 0, SamplersSize)); | ||
| 1175 | |||
| 1176 | if (pStaticSamplers == nullptr) | ||
| 1177 | { | ||
| 1178 | hr = E_OUTOFMEMORY; | ||
| 1179 | } | ||
| 1180 | else | ||
| 1181 | { | ||
| 1182 | const D3D12_ROOT_SIGNATURE_DESC2& desc_1_2 = pRootSignatureDesc->Desc_1_2; | ||
| 1183 | for (UINT n = 0; n < desc_1_1.NumStaticSamplers; ++n) | ||
| 1184 | { | ||
| 1185 | if ((desc_1_2.pStaticSamplers[n].Flags & ~D3D12_SAMPLER_FLAG_UINT_BORDER_COLOR) != 0) | ||
| 1186 | { | ||
| 1187 | hr = E_INVALIDARG; | ||
| 1188 | break; | ||
| 1189 | } | ||
| 1190 | memcpy(pStaticSamplers + n, desc_1_2.pStaticSamplers + n, sizeof(D3D12_STATIC_SAMPLER_DESC)); | ||
| 1191 | } | ||
| 1192 | } | ||
| 1193 | } | ||
| 1194 | |||
| 1195 | if (SUCCEEDED(hr)) | ||
| 1196 | { | ||
| 1197 | const CD3DX12_VERSIONED_ROOT_SIGNATURE_DESC desc(desc_1_1.NumParameters, desc_1_1.pParameters, desc_1_1.NumStaticSamplers, pStaticSamplers == nullptr ? desc_1_1.pStaticSamplers : pStaticSamplers, desc_1_1.Flags); | ||
| 1198 | hr = D3D12SerializeVersionedRootSignature(&desc, ppBlob, ppErrorBlob); | ||
| 1199 | } | ||
| 1200 | |||
| 1201 | if (pStaticSamplers) | ||
| 1202 | { | ||
| 1203 | HeapFree(GetProcessHeap(), 0, pStaticSamplers); | ||
| 1204 | } | ||
| 1205 | |||
| 1206 | return hr; | ||
| 1207 | } | ||
| 1208 | #endif | ||
| 1209 | |||
| 1210 | default: | ||
| 1211 | break; | ||
| 1212 | } | ||
| 1213 | break; | ||
| 1214 | |||
| 1215 | #if defined(D3D12_SDK_VERSION) && (D3D12_SDK_VERSION >= 609) | ||
| 1216 | case D3D_ROOT_SIGNATURE_VERSION_1_2: | ||
| 1217 | #endif | ||
| 1218 | default: | ||
| 1219 | return D3D12SerializeVersionedRootSignature(pRootSignatureDesc, ppBlob, ppErrorBlob); | ||
| 1220 | } | ||
| 1221 | |||
| 1222 | return E_INVALIDARG; | ||
| 1223 | } | ||
| 1224 | |||
| 1225 | #ifdef __clang__ | ||
| 1226 | #pragma clang diagnostic pop | ||
| 1227 | #endif | ||
diff --git a/contrib/microsoft.direct3d.d3d12.1.618.4/build/native/include/d3dx12/d3dx12_state_object.h b/contrib/microsoft.direct3d.d3d12.1.618.4/build/native/include/d3dx12/d3dx12_state_object.h new file mode 100644 index 0000000..579ecc8 --- /dev/null +++ b/contrib/microsoft.direct3d.d3d12.1.618.4/build/native/include/d3dx12/d3dx12_state_object.h | |||
| @@ -0,0 +1,2570 @@ | |||
| 1 | //********************************************************* | ||
| 2 | // | ||
| 3 | // Copyright (c) Microsoft Corporation. | ||
| 4 | // Licensed under the MIT License (MIT). | ||
| 5 | // | ||
| 6 | //********************************************************* | ||
| 7 | |||
| 8 | #pragma once | ||
| 9 | |||
| 10 | #ifndef __cplusplus | ||
| 11 | #error D3DX12 requires C++ | ||
| 12 | #endif | ||
| 13 | |||
| 14 | #include "d3dx12_default.h" | ||
| 15 | #include "d3d12.h" | ||
| 16 | #include "d3dx12_core.h" | ||
| 17 | |||
| 18 | //================================================================================================ | ||
| 19 | // D3DX12 State Object Creation Helpers | ||
| 20 | // | ||
| 21 | // Helper classes for creating new style state objects out of an arbitrary set of subobjects. | ||
| 22 | // Uses STL | ||
| 23 | // | ||
| 24 | // Start by instantiating CD3DX12_STATE_OBJECT_DESC (see its public methods). | ||
| 25 | // One of its methods is CreateSubobject(), which has a comment showing a couple of options for | ||
| 26 | // defining subobjects using the helper classes for each subobject (CD3DX12_DXIL_LIBRARY_SUBOBJECT | ||
| 27 | // etc.). The subobject helpers each have methods specific to the subobject for configuring its | ||
| 28 | // contents. | ||
| 29 | // | ||
| 30 | //================================================================================================ | ||
| 31 | #include <list> | ||
| 32 | #include <forward_list> | ||
| 33 | #include <vector> | ||
| 34 | #include <memory> | ||
| 35 | #include <string> | ||
| 36 | #include <vector> | ||
| 37 | #ifndef D3DX12_USE_ATL | ||
| 38 | #include <wrl/client.h> | ||
| 39 | #define D3DX12_COM_PTR Microsoft::WRL::ComPtr | ||
| 40 | #define D3DX12_COM_PTR_GET(x) x.Get() | ||
| 41 | #define D3DX12_COM_PTR_ADDRESSOF(x) x.GetAddressOf() | ||
| 42 | #else | ||
| 43 | #include <atlbase.h> | ||
| 44 | #define D3DX12_COM_PTR ATL::CComPtr | ||
| 45 | #define D3DX12_COM_PTR_GET(x) x.p | ||
| 46 | #define D3DX12_COM_PTR_ADDRESSOF(x) &x.p | ||
| 47 | #endif | ||
| 48 | |||
| 49 | //------------------------------------------------------------------------------------------------ | ||
| 50 | class CD3DX12_STATE_OBJECT_DESC | ||
| 51 | { | ||
| 52 | public: | ||
| 53 | CD3DX12_STATE_OBJECT_DESC() noexcept | ||
| 54 | { | ||
| 55 | Init(D3D12_STATE_OBJECT_TYPE_COLLECTION); | ||
| 56 | } | ||
| 57 | CD3DX12_STATE_OBJECT_DESC(D3D12_STATE_OBJECT_TYPE Type) noexcept | ||
| 58 | { | ||
| 59 | Init(Type); | ||
| 60 | } | ||
| 61 | void SetStateObjectType(D3D12_STATE_OBJECT_TYPE Type) noexcept { m_Desc.Type = Type; } | ||
| 62 | CD3DX12_STATE_OBJECT_DESC(const CD3DX12_STATE_OBJECT_DESC& other) = delete; | ||
| 63 | CD3DX12_STATE_OBJECT_DESC& operator=(const CD3DX12_STATE_OBJECT_DESC& other) = delete; | ||
| 64 | CD3DX12_STATE_OBJECT_DESC(CD3DX12_STATE_OBJECT_DESC&& other) = default; | ||
| 65 | CD3DX12_STATE_OBJECT_DESC& operator=(CD3DX12_STATE_OBJECT_DESC&& other) = default; | ||
| 66 | operator const D3D12_STATE_OBJECT_DESC& () | ||
| 67 | { | ||
| 68 | #if defined(D3D12_SDK_VERSION) && (D3D12_SDK_VERSION >= 612) | ||
| 69 | m_RepointedSubobjectVectors.clear(); | ||
| 70 | m_RepointedPrograms.clear(); | ||
| 71 | #endif | ||
| 72 | m_RepointedAssociations.clear(); | ||
| 73 | m_SubobjectArray.clear(); | ||
| 74 | m_SubobjectArray.reserve(m_Desc.NumSubobjects); | ||
| 75 | // Flatten subobjects into an array (each flattened subobject still has a | ||
| 76 | // member that's a pointer to its desc that's not flattened) | ||
| 77 | for (auto Iter = m_SubobjectList.begin(); | ||
| 78 | Iter != m_SubobjectList.end(); Iter++) | ||
| 79 | { | ||
| 80 | m_SubobjectArray.push_back(*Iter); | ||
| 81 | // Store new location in array so we can redirect pointers contained in subobjects | ||
| 82 | Iter->pSubobjectArrayLocation = &m_SubobjectArray.back(); | ||
| 83 | } | ||
| 84 | // For subobjects with pointer fields, create a new copy of those subobject definitions | ||
| 85 | // with fixed pointers | ||
| 86 | for (UINT i = 0; i < m_Desc.NumSubobjects; i++) | ||
| 87 | { | ||
| 88 | if (m_SubobjectArray[i].Type == D3D12_STATE_SUBOBJECT_TYPE_SUBOBJECT_TO_EXPORTS_ASSOCIATION) | ||
| 89 | { | ||
| 90 | auto pOriginalSubobjectAssociation = | ||
| 91 | static_cast<const D3D12_SUBOBJECT_TO_EXPORTS_ASSOCIATION*>(m_SubobjectArray[i].pDesc); | ||
| 92 | D3D12_SUBOBJECT_TO_EXPORTS_ASSOCIATION Repointed = *pOriginalSubobjectAssociation; | ||
| 93 | auto pWrapper = | ||
| 94 | static_cast<const SUBOBJECT_WRAPPER*>(pOriginalSubobjectAssociation->pSubobjectToAssociate); | ||
| 95 | Repointed.pSubobjectToAssociate = pWrapper->pSubobjectArrayLocation; | ||
| 96 | m_RepointedAssociations.push_back(Repointed); | ||
| 97 | m_SubobjectArray[i].pDesc = &m_RepointedAssociations.back(); | ||
| 98 | } | ||
| 99 | #if defined(D3D12_SDK_VERSION) && (D3D12_SDK_VERSION >= 612) | ||
| 100 | else if (m_SubobjectArray[i].Type == D3D12_STATE_SUBOBJECT_TYPE_GENERIC_PROGRAM) | ||
| 101 | { | ||
| 102 | auto originalGenericProgramDesc = | ||
| 103 | static_cast<const D3D12_GENERIC_PROGRAM_DESC*>(m_SubobjectArray[i].pDesc); | ||
| 104 | D3D12_GENERIC_PROGRAM_DESC Repointed = *originalGenericProgramDesc; | ||
| 105 | if (originalGenericProgramDesc->NumSubobjects > 0) | ||
| 106 | { | ||
| 107 | m_RepointedSubobjectVectors.emplace_back(std::vector<const D3D12_STATE_SUBOBJECT*>()); | ||
| 108 | std::vector<D3D12_STATE_SUBOBJECT const*>& repointedGenericProgramSubobjects = m_RepointedSubobjectVectors.back(); | ||
| 109 | repointedGenericProgramSubobjects.resize(originalGenericProgramDesc->NumSubobjects); | ||
| 110 | for (UINT s = 0; s < originalGenericProgramDesc->NumSubobjects; s++) | ||
| 111 | { | ||
| 112 | auto pWrapper = | ||
| 113 | static_cast<const SUBOBJECT_WRAPPER*>(originalGenericProgramDesc->ppSubobjects[s]); | ||
| 114 | repointedGenericProgramSubobjects[s] = pWrapper->pSubobjectArrayLocation; | ||
| 115 | } | ||
| 116 | // Below: using ugly way to get pointer in case .data() is not defined | ||
| 117 | Repointed.ppSubobjects = &repointedGenericProgramSubobjects[0]; | ||
| 118 | } | ||
| 119 | m_RepointedPrograms.push_back(Repointed); | ||
| 120 | m_SubobjectArray[i].pDesc = &m_RepointedPrograms.back(); | ||
| 121 | } | ||
| 122 | #endif | ||
| 123 | } | ||
| 124 | // Below: using ugly way to get pointer in case .data() is not defined | ||
| 125 | m_Desc.pSubobjects = m_Desc.NumSubobjects ? &m_SubobjectArray[0] : nullptr; | ||
| 126 | return m_Desc; | ||
| 127 | } | ||
| 128 | operator const D3D12_STATE_OBJECT_DESC* () | ||
| 129 | { | ||
| 130 | // Cast calls the above final preparation work | ||
| 131 | return &static_cast<const D3D12_STATE_OBJECT_DESC&>(*this); | ||
| 132 | } | ||
| 133 | |||
| 134 | // CreateSubobject creates a sububject helper (e.g. CD3DX12_HIT_GROUP_SUBOBJECT) | ||
| 135 | // whose lifetime is owned by this class. | ||
| 136 | // e.g. | ||
| 137 | // | ||
| 138 | // CD3DX12_STATE_OBJECT_DESC Collection1(D3D12_STATE_OBJECT_TYPE_COLLECTION); | ||
| 139 | // auto Lib0 = Collection1.CreateSubobject<CD3DX12_DXIL_LIBRARY_SUBOBJECT>(); | ||
| 140 | // Lib0->SetDXILLibrary(&pMyAppDxilLibs[0]); | ||
| 141 | // Lib0->DefineExport(L"rayGenShader0"); // in practice these export listings might be | ||
| 142 | // // data/engine driven | ||
| 143 | // etc. | ||
| 144 | // | ||
| 145 | // Alternatively, users can instantiate sububject helpers explicitly, such as via local | ||
| 146 | // variables instead, passing the state object desc that should point to it into the helper | ||
| 147 | // constructor (or call mySubobjectHelper.AddToStateObject(Collection1)). | ||
| 148 | // In this alternative scenario, the user must keep the subobject alive as long as the state | ||
| 149 | // object it is associated with is alive, else its pointer references will be stale. | ||
| 150 | // e.g. | ||
| 151 | // | ||
| 152 | // CD3DX12_STATE_OBJECT_DESC RaytracingState2(D3D12_STATE_OBJECT_TYPE_RAYTRACING_PIPELINE); | ||
| 153 | // CD3DX12_DXIL_LIBRARY_SUBOBJECT LibA(RaytracingState2); | ||
| 154 | // LibA.SetDXILLibrary(&pMyAppDxilLibs[4]); // not manually specifying exports | ||
| 155 | // // - meaning all exports in the libraries | ||
| 156 | // // are exported | ||
| 157 | // etc. | ||
| 158 | |||
| 159 | template<typename T> | ||
| 160 | T* CreateSubobject() | ||
| 161 | { | ||
| 162 | T* pSubobject = new T(*this); | ||
| 163 | m_OwnedSubobjectHelpers.emplace_back(pSubobject); | ||
| 164 | return pSubobject; | ||
| 165 | } | ||
| 166 | |||
| 167 | template<typename T, typename U> | ||
| 168 | T* CreateSubobject(U&& arg) | ||
| 169 | { | ||
| 170 | T* pSubobject = new T(std::forward<U>(arg), *this); | ||
| 171 | m_OwnedSubobjectHelpers.emplace_back(pSubobject); | ||
| 172 | return pSubobject; | ||
| 173 | } | ||
| 174 | |||
| 175 | private: | ||
| 176 | D3D12_STATE_SUBOBJECT* TrackSubobject(D3D12_STATE_SUBOBJECT_TYPE Type, void* pDesc) | ||
| 177 | { | ||
| 178 | SUBOBJECT_WRAPPER Subobject; | ||
| 179 | Subobject.pSubobjectArrayLocation = nullptr; | ||
| 180 | Subobject.Type = Type; | ||
| 181 | Subobject.pDesc = pDesc; | ||
| 182 | m_SubobjectList.push_back(Subobject); | ||
| 183 | m_Desc.NumSubobjects++; | ||
| 184 | return &m_SubobjectList.back(); | ||
| 185 | } | ||
| 186 | void Init(D3D12_STATE_OBJECT_TYPE Type) noexcept | ||
| 187 | { | ||
| 188 | SetStateObjectType(Type); | ||
| 189 | m_Desc.pSubobjects = nullptr; | ||
| 190 | m_Desc.NumSubobjects = 0; | ||
| 191 | m_SubobjectList.clear(); | ||
| 192 | m_SubobjectArray.clear(); | ||
| 193 | m_RepointedAssociations.clear(); | ||
| 194 | #if defined(D3D12_SDK_VERSION) && (D3D12_SDK_VERSION >= 612) | ||
| 195 | m_RepointedSubobjectVectors.clear(); | ||
| 196 | m_RepointedPrograms.clear(); | ||
| 197 | #endif | ||
| 198 | } | ||
| 199 | typedef struct SUBOBJECT_WRAPPER : public D3D12_STATE_SUBOBJECT | ||
| 200 | { | ||
| 201 | D3D12_STATE_SUBOBJECT* pSubobjectArrayLocation; // new location when flattened into array | ||
| 202 | // for repointing pointers in subobjects | ||
| 203 | } SUBOBJECT_WRAPPER; | ||
| 204 | D3D12_STATE_OBJECT_DESC m_Desc; | ||
| 205 | std::list<SUBOBJECT_WRAPPER> m_SubobjectList; // Pointers to list nodes handed out so | ||
| 206 | // these can be edited live | ||
| 207 | std::vector<D3D12_STATE_SUBOBJECT> m_SubobjectArray; // Built at the end, copying list contents | ||
| 208 | |||
| 209 | std::list<D3D12_SUBOBJECT_TO_EXPORTS_ASSOCIATION> | ||
| 210 | m_RepointedAssociations; // subobject type that contains pointers to other subobjects, | ||
| 211 | // repointed to flattened array | ||
| 212 | |||
| 213 | #if defined(D3D12_SDK_VERSION) && (D3D12_SDK_VERSION >= 612) | ||
| 214 | std::list<std::vector<D3D12_STATE_SUBOBJECT const*>> | ||
| 215 | m_RepointedSubobjectVectors; | ||
| 216 | std::list<D3D12_GENERIC_PROGRAM_DESC> | ||
| 217 | m_RepointedPrograms; | ||
| 218 | #endif | ||
| 219 | |||
| 220 | template<typename CStr, typename StdStr> | ||
| 221 | class StringContainer | ||
| 222 | { | ||
| 223 | public: | ||
| 224 | CStr LocalCopy(CStr string, bool bSingleString = false) | ||
| 225 | { | ||
| 226 | if (string) | ||
| 227 | { | ||
| 228 | if (bSingleString) | ||
| 229 | { | ||
| 230 | m_Strings.clear(); | ||
| 231 | m_Strings.push_back(string); | ||
| 232 | } | ||
| 233 | else | ||
| 234 | { | ||
| 235 | m_Strings.push_back(string); | ||
| 236 | } | ||
| 237 | return m_Strings.back().c_str(); | ||
| 238 | } | ||
| 239 | else | ||
| 240 | { | ||
| 241 | return nullptr; | ||
| 242 | } | ||
| 243 | } | ||
| 244 | void clear() noexcept { m_Strings.clear(); } | ||
| 245 | private: | ||
| 246 | std::list<StdStr> m_Strings; | ||
| 247 | }; | ||
| 248 | |||
| 249 | public: | ||
| 250 | class SUBOBJECT_HELPER_BASE | ||
| 251 | { | ||
| 252 | public: | ||
| 253 | SUBOBJECT_HELPER_BASE() noexcept { Init(); } | ||
| 254 | virtual ~SUBOBJECT_HELPER_BASE() = default; | ||
| 255 | virtual D3D12_STATE_SUBOBJECT_TYPE Type() const noexcept = 0; | ||
| 256 | SUBOBJECT_HELPER_BASE(const SUBOBJECT_HELPER_BASE& other) = delete; | ||
| 257 | SUBOBJECT_HELPER_BASE& operator=(const SUBOBJECT_HELPER_BASE& other) = delete; | ||
| 258 | SUBOBJECT_HELPER_BASE(SUBOBJECT_HELPER_BASE&& other) = default; | ||
| 259 | SUBOBJECT_HELPER_BASE& operator=(SUBOBJECT_HELPER_BASE&& other) = default; | ||
| 260 | void AddToStateObject(CD3DX12_STATE_OBJECT_DESC& ContainingStateObject) | ||
| 261 | { | ||
| 262 | m_pSubobject = ContainingStateObject.TrackSubobject(Type(), Data()); | ||
| 263 | } | ||
| 264 | operator const D3D12_STATE_SUBOBJECT& () const noexcept { return *m_pSubobject; } | ||
| 265 | protected: | ||
| 266 | virtual void* Data() noexcept = 0; | ||
| 267 | void Init() noexcept { m_pSubobject = nullptr; } | ||
| 268 | D3D12_STATE_SUBOBJECT* m_pSubobject; | ||
| 269 | }; | ||
| 270 | |||
| 271 | private: | ||
| 272 | std::list<std::unique_ptr<SUBOBJECT_HELPER_BASE>> m_OwnedSubobjectHelpers; | ||
| 273 | |||
| 274 | friend class CD3DX12_DXIL_LIBRARY_SUBOBJECT; | ||
| 275 | friend class CD3DX12_EXISTING_COLLECTION_SUBOBJECT; | ||
| 276 | friend class CD3DX12_SUBOBJECT_TO_EXPORTS_ASSOCIATION_SUBOBJECT; | ||
| 277 | friend class CD3DX12_DXIL_SUBOBJECT_TO_EXPORTS_ASSOCIATION; | ||
| 278 | friend class CD3DX12_HIT_GROUP_SUBOBJECT; | ||
| 279 | friend class CD3DX12_RAYTRACING_SHADER_CONFIG_SUBOBJECT; | ||
| 280 | friend class CD3DX12_RAYTRACING_PIPELINE_CONFIG_SUBOBJECT; | ||
| 281 | friend class CD3DX12_RAYTRACING_PIPELINE_CONFIG1_SUBOBJECT; | ||
| 282 | friend class CD3DX12_GLOBAL_ROOT_SIGNATURE_SUBOBJECT; | ||
| 283 | friend class CD3DX12_LOCAL_ROOT_SIGNATURE_SUBOBJECT; | ||
| 284 | friend class CD3DX12_STATE_OBJECT_CONFIG_SUBOBJECT; | ||
| 285 | friend class CD3DX12_NODE_MASK_SUBOBJECT; | ||
| 286 | //TODO: SDK Version check should include all the newly added subobject type for the public release. | ||
| 287 | // The SDK version check will be changed based on when we release state objects. | ||
| 288 | #if defined(D3D12_SDK_VERSION) && (D3D12_SDK_VERSION >= 612) | ||
| 289 | friend class CD3DX12_GENERIC_PROGRAM_SUBOBJECT; | ||
| 290 | friend class CD3DX12_WORK_GRAPH_SUBOBJECT; | ||
| 291 | friend class CD3DX12_STREAM_OUTPUT_SUBOBJECT; | ||
| 292 | friend class CD3DX12_BLEND_SUBOBJECT; | ||
| 293 | friend class CD3DX12_RASTERIZER_SUBOBJECT; | ||
| 294 | friend class CD3DX12_DEPTH_STENCIL2_SUBOBJECT; | ||
| 295 | friend class CD3DX12_INPUT_LAYOUT_SUBOBJECT; | ||
| 296 | friend class CD3DX12_IB_STRIP_CUT_VALUE_SUBOBJECT; | ||
| 297 | friend class CD3DX12_PRIMITIVE_TOPOLOGY_SUBOBJECT; | ||
| 298 | friend class CD3DX12_RENDER_TARGET_FORMATS_SUBOBJECT; | ||
| 299 | friend class CD3DX12_DEPTH_STENCIL_FORMAT_SUBOBJECT; | ||
| 300 | friend class CD3DX12_SAMPLE_DESC_SUBOBJECT; | ||
| 301 | friend class CD3DX12_FLAGS_SUBOBJECT; | ||
| 302 | friend class CD3DX12_VIEW_INSTANCING_SUBOBJECT; | ||
| 303 | friend class CD3DX12_DEPTH_STENCIL_SUBOBJECT; | ||
| 304 | friend class CD3DX12_DEPTH_STENCIL1_SUBOBJECT; | ||
| 305 | friend class CD3DX12_SAMPLE_MASK_SUBOBJECT; | ||
| 306 | friend class CD3DX12_NODE_OUTPUT_OVERRIDES; | ||
| 307 | friend class CD3DX12_NODE_HELPER_BASE; | ||
| 308 | friend class CD3DX12_SHADER_NODE; | ||
| 309 | friend class CD3DX12_BROADCASTING_LAUNCH_NODE_OVERRIDES; | ||
| 310 | friend class CD3DX12_COALESCING_LAUNCH_NODE_OVERRIDES; | ||
| 311 | friend class CD3DX12_THREAD_LAUNCH_NODE_OVERRIDES; | ||
| 312 | friend class CD3DX12_COMMON_COMPUTE_NODE_OVERRIDES; | ||
| 313 | #endif // D3D12_SDK_VERSION >= 612 | ||
| 314 | #if defined(D3D12_SDK_VERSION) && (D3D12_SDK_VERSION >= 618) | ||
| 315 | friend class CD3DX12_GLOBAL_SERIALIZED_ROOT_SIGNATURE_SUBOBJECT; | ||
| 316 | friend class CD3DX12_LOCAL_SERIALIZED_ROOT_SIGNATURE_SUBOBJECT; | ||
| 317 | friend class CD3DX12_COMPILER_EXISTING_COLLECTION_SUBOBJECT; | ||
| 318 | friend class CD3DX12_EXISTING_COLLECTION_BY_KEY_SUBOBJECT; | ||
| 319 | #endif | ||
| 320 | }; | ||
| 321 | |||
| 322 | //------------------------------------------------------------------------------------------------ | ||
| 323 | class CD3DX12_DXIL_LIBRARY_SUBOBJECT | ||
| 324 | : public CD3DX12_STATE_OBJECT_DESC::SUBOBJECT_HELPER_BASE | ||
| 325 | { | ||
| 326 | public: | ||
| 327 | CD3DX12_DXIL_LIBRARY_SUBOBJECT() noexcept | ||
| 328 | { | ||
| 329 | Init(); | ||
| 330 | } | ||
| 331 | CD3DX12_DXIL_LIBRARY_SUBOBJECT(CD3DX12_STATE_OBJECT_DESC& ContainingStateObject) | ||
| 332 | { | ||
| 333 | Init(); | ||
| 334 | AddToStateObject(ContainingStateObject); | ||
| 335 | } | ||
| 336 | CD3DX12_DXIL_LIBRARY_SUBOBJECT(const CD3DX12_DXIL_LIBRARY_SUBOBJECT& other) = delete; | ||
| 337 | CD3DX12_DXIL_LIBRARY_SUBOBJECT& operator=(const CD3DX12_DXIL_LIBRARY_SUBOBJECT& other) = delete; | ||
| 338 | CD3DX12_DXIL_LIBRARY_SUBOBJECT(CD3DX12_DXIL_LIBRARY_SUBOBJECT&& other) = default; | ||
| 339 | CD3DX12_DXIL_LIBRARY_SUBOBJECT& operator=(CD3DX12_DXIL_LIBRARY_SUBOBJECT&& other) = default; | ||
| 340 | void SetDXILLibrary(const D3D12_SHADER_BYTECODE* pCode) noexcept | ||
| 341 | { | ||
| 342 | static const D3D12_SHADER_BYTECODE Default = {}; | ||
| 343 | m_Desc.DXILLibrary = pCode ? *pCode : Default; | ||
| 344 | } | ||
| 345 | void DefineExport( | ||
| 346 | LPCWSTR Name, | ||
| 347 | LPCWSTR ExportToRename = nullptr, | ||
| 348 | D3D12_EXPORT_FLAGS Flags = D3D12_EXPORT_FLAG_NONE) | ||
| 349 | { | ||
| 350 | D3D12_EXPORT_DESC Export; | ||
| 351 | Export.Name = m_Strings.LocalCopy(Name); | ||
| 352 | Export.ExportToRename = m_Strings.LocalCopy(ExportToRename); | ||
| 353 | Export.Flags = Flags; | ||
| 354 | m_Exports.push_back(Export); | ||
| 355 | m_Desc.pExports = &m_Exports[0]; // using ugly way to get pointer in case .data() is not defined | ||
| 356 | m_Desc.NumExports = static_cast<UINT>(m_Exports.size()); | ||
| 357 | } | ||
| 358 | template<size_t N> | ||
| 359 | void DefineExports(LPCWSTR(&Exports)[N]) | ||
| 360 | { | ||
| 361 | for (UINT i = 0; i < N; i++) | ||
| 362 | { | ||
| 363 | DefineExport(Exports[i]); | ||
| 364 | } | ||
| 365 | } | ||
| 366 | void DefineExports(const LPCWSTR* Exports, UINT N) | ||
| 367 | { | ||
| 368 | for (UINT i = 0; i < N; i++) | ||
| 369 | { | ||
| 370 | DefineExport(Exports[i]); | ||
| 371 | } | ||
| 372 | } | ||
| 373 | D3D12_STATE_SUBOBJECT_TYPE Type() const noexcept override | ||
| 374 | { | ||
| 375 | return D3D12_STATE_SUBOBJECT_TYPE_DXIL_LIBRARY; | ||
| 376 | } | ||
| 377 | operator const D3D12_DXIL_LIBRARY_DESC&() const noexcept { return m_Desc; } | ||
| 378 | private: | ||
| 379 | void Init() noexcept | ||
| 380 | { | ||
| 381 | SUBOBJECT_HELPER_BASE::Init(); | ||
| 382 | m_Desc = {}; | ||
| 383 | m_Strings.clear(); | ||
| 384 | m_Exports.clear(); | ||
| 385 | } | ||
| 386 | void* Data() noexcept override { return &m_Desc; } | ||
| 387 | D3D12_DXIL_LIBRARY_DESC m_Desc; | ||
| 388 | CD3DX12_STATE_OBJECT_DESC::StringContainer<LPCWSTR, std::wstring> m_Strings; | ||
| 389 | std::vector<D3D12_EXPORT_DESC> m_Exports; | ||
| 390 | }; | ||
| 391 | |||
| 392 | //------------------------------------------------------------------------------------------------ | ||
| 393 | class CD3DX12_EXISTING_COLLECTION_SUBOBJECT | ||
| 394 | : public CD3DX12_STATE_OBJECT_DESC::SUBOBJECT_HELPER_BASE | ||
| 395 | { | ||
| 396 | public: | ||
| 397 | CD3DX12_EXISTING_COLLECTION_SUBOBJECT() noexcept | ||
| 398 | { | ||
| 399 | Init(); | ||
| 400 | } | ||
| 401 | CD3DX12_EXISTING_COLLECTION_SUBOBJECT(CD3DX12_STATE_OBJECT_DESC& ContainingStateObject) | ||
| 402 | { | ||
| 403 | Init(); | ||
| 404 | AddToStateObject(ContainingStateObject); | ||
| 405 | } | ||
| 406 | CD3DX12_EXISTING_COLLECTION_SUBOBJECT(const CD3DX12_EXISTING_COLLECTION_SUBOBJECT& other) = delete; | ||
| 407 | CD3DX12_EXISTING_COLLECTION_SUBOBJECT& operator=(const CD3DX12_EXISTING_COLLECTION_SUBOBJECT& other) = delete; | ||
| 408 | CD3DX12_EXISTING_COLLECTION_SUBOBJECT(CD3DX12_EXISTING_COLLECTION_SUBOBJECT&& other) = default; | ||
| 409 | CD3DX12_EXISTING_COLLECTION_SUBOBJECT& operator=(CD3DX12_EXISTING_COLLECTION_SUBOBJECT&& other) = default; | ||
| 410 | void SetExistingCollection(ID3D12StateObject*pExistingCollection) noexcept | ||
| 411 | { | ||
| 412 | m_Desc.pExistingCollection = pExistingCollection; | ||
| 413 | m_CollectionRef = pExistingCollection; | ||
| 414 | } | ||
| 415 | void DefineExport( | ||
| 416 | LPCWSTR Name, | ||
| 417 | LPCWSTR ExportToRename = nullptr, | ||
| 418 | D3D12_EXPORT_FLAGS Flags = D3D12_EXPORT_FLAG_NONE) | ||
| 419 | { | ||
| 420 | D3D12_EXPORT_DESC Export; | ||
| 421 | Export.Name = m_Strings.LocalCopy(Name); | ||
| 422 | Export.ExportToRename = m_Strings.LocalCopy(ExportToRename); | ||
| 423 | Export.Flags = Flags; | ||
| 424 | m_Exports.push_back(Export); | ||
| 425 | m_Desc.pExports = &m_Exports[0]; // using ugly way to get pointer in case .data() is not defined | ||
| 426 | m_Desc.NumExports = static_cast<UINT>(m_Exports.size()); | ||
| 427 | } | ||
| 428 | template<size_t N> | ||
| 429 | void DefineExports(LPCWSTR(&Exports)[N]) | ||
| 430 | { | ||
| 431 | for (UINT i = 0; i < N; i++) | ||
| 432 | { | ||
| 433 | DefineExport(Exports[i]); | ||
| 434 | } | ||
| 435 | } | ||
| 436 | void DefineExports(const LPCWSTR* Exports, UINT N) | ||
| 437 | { | ||
| 438 | for (UINT i = 0; i < N; i++) | ||
| 439 | { | ||
| 440 | DefineExport(Exports[i]); | ||
| 441 | } | ||
| 442 | } | ||
| 443 | D3D12_STATE_SUBOBJECT_TYPE Type() const noexcept override | ||
| 444 | { | ||
| 445 | return D3D12_STATE_SUBOBJECT_TYPE_EXISTING_COLLECTION; | ||
| 446 | } | ||
| 447 | operator const D3D12_EXISTING_COLLECTION_DESC&() const noexcept { return m_Desc; } | ||
| 448 | private: | ||
| 449 | void Init() noexcept | ||
| 450 | { | ||
| 451 | SUBOBJECT_HELPER_BASE::Init(); | ||
| 452 | m_Desc = {}; | ||
| 453 | m_CollectionRef = nullptr; | ||
| 454 | m_Strings.clear(); | ||
| 455 | m_Exports.clear(); | ||
| 456 | } | ||
| 457 | void* Data() noexcept override { return &m_Desc; } | ||
| 458 | D3D12_EXISTING_COLLECTION_DESC m_Desc; | ||
| 459 | D3DX12_COM_PTR<ID3D12StateObject> m_CollectionRef; | ||
| 460 | CD3DX12_STATE_OBJECT_DESC::StringContainer<LPCWSTR, std::wstring> m_Strings; | ||
| 461 | std::vector<D3D12_EXPORT_DESC> m_Exports; | ||
| 462 | }; | ||
| 463 | |||
| 464 | //------------------------------------------------------------------------------------------------ | ||
| 465 | class CD3DX12_SUBOBJECT_TO_EXPORTS_ASSOCIATION_SUBOBJECT | ||
| 466 | : public CD3DX12_STATE_OBJECT_DESC::SUBOBJECT_HELPER_BASE | ||
| 467 | { | ||
| 468 | public: | ||
| 469 | CD3DX12_SUBOBJECT_TO_EXPORTS_ASSOCIATION_SUBOBJECT() noexcept | ||
| 470 | { | ||
| 471 | Init(); | ||
| 472 | } | ||
| 473 | CD3DX12_SUBOBJECT_TO_EXPORTS_ASSOCIATION_SUBOBJECT(CD3DX12_STATE_OBJECT_DESC& ContainingStateObject) | ||
| 474 | { | ||
| 475 | Init(); | ||
| 476 | AddToStateObject(ContainingStateObject); | ||
| 477 | } | ||
| 478 | CD3DX12_SUBOBJECT_TO_EXPORTS_ASSOCIATION_SUBOBJECT(const CD3DX12_SUBOBJECT_TO_EXPORTS_ASSOCIATION_SUBOBJECT& other) = delete; | ||
| 479 | CD3DX12_SUBOBJECT_TO_EXPORTS_ASSOCIATION_SUBOBJECT& operator=(const CD3DX12_SUBOBJECT_TO_EXPORTS_ASSOCIATION_SUBOBJECT& other) = delete; | ||
| 480 | CD3DX12_SUBOBJECT_TO_EXPORTS_ASSOCIATION_SUBOBJECT(CD3DX12_SUBOBJECT_TO_EXPORTS_ASSOCIATION_SUBOBJECT&& other) = default; | ||
| 481 | CD3DX12_SUBOBJECT_TO_EXPORTS_ASSOCIATION_SUBOBJECT& operator=(CD3DX12_SUBOBJECT_TO_EXPORTS_ASSOCIATION_SUBOBJECT&& other) = default; | ||
| 482 | void SetSubobjectToAssociate(const D3D12_STATE_SUBOBJECT& SubobjectToAssociate) noexcept | ||
| 483 | { | ||
| 484 | m_Desc.pSubobjectToAssociate = &SubobjectToAssociate; | ||
| 485 | } | ||
| 486 | void AddExport(LPCWSTR Export) | ||
| 487 | { | ||
| 488 | m_Desc.NumExports++; | ||
| 489 | m_Exports.push_back(m_Strings.LocalCopy(Export)); | ||
| 490 | m_Desc.pExports = &m_Exports[0]; // using ugly way to get pointer in case .data() is not defined | ||
| 491 | } | ||
| 492 | template<size_t N> | ||
| 493 | void AddExports(LPCWSTR (&Exports)[N]) | ||
| 494 | { | ||
| 495 | for (UINT i = 0; i < N; i++) | ||
| 496 | { | ||
| 497 | AddExport(Exports[i]); | ||
| 498 | } | ||
| 499 | } | ||
| 500 | void AddExports(const LPCWSTR* Exports, UINT N) | ||
| 501 | { | ||
| 502 | for (UINT i = 0; i < N; i++) | ||
| 503 | { | ||
| 504 | AddExport(Exports[i]); | ||
| 505 | } | ||
| 506 | } | ||
| 507 | D3D12_STATE_SUBOBJECT_TYPE Type() const noexcept override | ||
| 508 | { | ||
| 509 | return D3D12_STATE_SUBOBJECT_TYPE_SUBOBJECT_TO_EXPORTS_ASSOCIATION; | ||
| 510 | } | ||
| 511 | operator const D3D12_SUBOBJECT_TO_EXPORTS_ASSOCIATION&() const noexcept { return m_Desc; } | ||
| 512 | private: | ||
| 513 | void Init() noexcept | ||
| 514 | { | ||
| 515 | SUBOBJECT_HELPER_BASE::Init(); | ||
| 516 | m_Desc = {}; | ||
| 517 | m_Strings.clear(); | ||
| 518 | m_Exports.clear(); | ||
| 519 | } | ||
| 520 | void* Data() noexcept override { return &m_Desc; } | ||
| 521 | D3D12_SUBOBJECT_TO_EXPORTS_ASSOCIATION m_Desc; | ||
| 522 | CD3DX12_STATE_OBJECT_DESC::StringContainer<LPCWSTR, std::wstring> m_Strings; | ||
| 523 | std::vector<LPCWSTR> m_Exports; | ||
| 524 | }; | ||
| 525 | |||
| 526 | //------------------------------------------------------------------------------------------------ | ||
| 527 | class CD3DX12_DXIL_SUBOBJECT_TO_EXPORTS_ASSOCIATION | ||
| 528 | : public CD3DX12_STATE_OBJECT_DESC::SUBOBJECT_HELPER_BASE | ||
| 529 | { | ||
| 530 | public: | ||
| 531 | CD3DX12_DXIL_SUBOBJECT_TO_EXPORTS_ASSOCIATION() noexcept | ||
| 532 | { | ||
| 533 | Init(); | ||
| 534 | } | ||
| 535 | CD3DX12_DXIL_SUBOBJECT_TO_EXPORTS_ASSOCIATION(CD3DX12_STATE_OBJECT_DESC& ContainingStateObject) | ||
| 536 | { | ||
| 537 | Init(); | ||
| 538 | AddToStateObject(ContainingStateObject); | ||
| 539 | } | ||
| 540 | CD3DX12_DXIL_SUBOBJECT_TO_EXPORTS_ASSOCIATION(const CD3DX12_DXIL_SUBOBJECT_TO_EXPORTS_ASSOCIATION& other) = delete; | ||
| 541 | CD3DX12_DXIL_SUBOBJECT_TO_EXPORTS_ASSOCIATION& operator=(const CD3DX12_DXIL_SUBOBJECT_TO_EXPORTS_ASSOCIATION& other) = delete; | ||
| 542 | CD3DX12_DXIL_SUBOBJECT_TO_EXPORTS_ASSOCIATION(CD3DX12_DXIL_SUBOBJECT_TO_EXPORTS_ASSOCIATION&& other) = default; | ||
| 543 | CD3DX12_DXIL_SUBOBJECT_TO_EXPORTS_ASSOCIATION& operator=(CD3DX12_DXIL_SUBOBJECT_TO_EXPORTS_ASSOCIATION&& other) = default; | ||
| 544 | void SetSubobjectNameToAssociate(LPCWSTR SubobjectToAssociate) | ||
| 545 | { | ||
| 546 | m_Desc.SubobjectToAssociate = m_SubobjectName.LocalCopy(SubobjectToAssociate, true); | ||
| 547 | } | ||
| 548 | void AddExport(LPCWSTR Export) | ||
| 549 | { | ||
| 550 | m_Desc.NumExports++; | ||
| 551 | m_Exports.push_back(m_Strings.LocalCopy(Export)); | ||
| 552 | m_Desc.pExports = &m_Exports[0]; // using ugly way to get pointer in case .data() is not defined | ||
| 553 | } | ||
| 554 | template<size_t N> | ||
| 555 | void AddExports(LPCWSTR (&Exports)[N]) | ||
| 556 | { | ||
| 557 | for (UINT i = 0; i < N; i++) | ||
| 558 | { | ||
| 559 | AddExport(Exports[i]); | ||
| 560 | } | ||
| 561 | } | ||
| 562 | void AddExports(const LPCWSTR* Exports, UINT N) | ||
| 563 | { | ||
| 564 | for (UINT i = 0; i < N; i++) | ||
| 565 | { | ||
| 566 | AddExport(Exports[i]); | ||
| 567 | } | ||
| 568 | } | ||
| 569 | D3D12_STATE_SUBOBJECT_TYPE Type() const noexcept override | ||
| 570 | { | ||
| 571 | return D3D12_STATE_SUBOBJECT_TYPE_DXIL_SUBOBJECT_TO_EXPORTS_ASSOCIATION; | ||
| 572 | } | ||
| 573 | operator const D3D12_DXIL_SUBOBJECT_TO_EXPORTS_ASSOCIATION&() const noexcept { return m_Desc; } | ||
| 574 | private: | ||
| 575 | void Init() noexcept | ||
| 576 | { | ||
| 577 | SUBOBJECT_HELPER_BASE::Init(); | ||
| 578 | m_Desc = {}; | ||
| 579 | m_Strings.clear(); | ||
| 580 | m_SubobjectName.clear(); | ||
| 581 | m_Exports.clear(); | ||
| 582 | } | ||
| 583 | void* Data() noexcept override { return &m_Desc; } | ||
| 584 | D3D12_DXIL_SUBOBJECT_TO_EXPORTS_ASSOCIATION m_Desc; | ||
| 585 | CD3DX12_STATE_OBJECT_DESC::StringContainer<LPCWSTR, std::wstring> m_Strings; | ||
| 586 | CD3DX12_STATE_OBJECT_DESC::StringContainer<LPCWSTR, std::wstring> m_SubobjectName; | ||
| 587 | std::vector<LPCWSTR> m_Exports; | ||
| 588 | }; | ||
| 589 | |||
| 590 | //------------------------------------------------------------------------------------------------ | ||
| 591 | class CD3DX12_HIT_GROUP_SUBOBJECT | ||
| 592 | : public CD3DX12_STATE_OBJECT_DESC::SUBOBJECT_HELPER_BASE | ||
| 593 | { | ||
| 594 | public: | ||
| 595 | CD3DX12_HIT_GROUP_SUBOBJECT() noexcept | ||
| 596 | { | ||
| 597 | Init(); | ||
| 598 | } | ||
| 599 | CD3DX12_HIT_GROUP_SUBOBJECT(CD3DX12_STATE_OBJECT_DESC& ContainingStateObject) | ||
| 600 | { | ||
| 601 | Init(); | ||
| 602 | AddToStateObject(ContainingStateObject); | ||
| 603 | } | ||
| 604 | CD3DX12_HIT_GROUP_SUBOBJECT(const CD3DX12_HIT_GROUP_SUBOBJECT& other) = delete; | ||
| 605 | CD3DX12_HIT_GROUP_SUBOBJECT& operator=(const CD3DX12_HIT_GROUP_SUBOBJECT& other) = delete; | ||
| 606 | CD3DX12_HIT_GROUP_SUBOBJECT(CD3DX12_HIT_GROUP_SUBOBJECT&& other) = default; | ||
| 607 | CD3DX12_HIT_GROUP_SUBOBJECT& operator=(CD3DX12_HIT_GROUP_SUBOBJECT&& other) = default; | ||
| 608 | void SetHitGroupExport(LPCWSTR exportName) | ||
| 609 | { | ||
| 610 | m_Desc.HitGroupExport = m_Strings[0].LocalCopy(exportName, true); | ||
| 611 | } | ||
| 612 | void SetHitGroupType(D3D12_HIT_GROUP_TYPE Type) noexcept { m_Desc.Type = Type; } | ||
| 613 | void SetAnyHitShaderImport(LPCWSTR importName) | ||
| 614 | { | ||
| 615 | m_Desc.AnyHitShaderImport = m_Strings[1].LocalCopy(importName, true); | ||
| 616 | } | ||
| 617 | void SetClosestHitShaderImport(LPCWSTR importName) | ||
| 618 | { | ||
| 619 | m_Desc.ClosestHitShaderImport = m_Strings[2].LocalCopy(importName, true); | ||
| 620 | } | ||
| 621 | void SetIntersectionShaderImport(LPCWSTR importName) | ||
| 622 | { | ||
| 623 | m_Desc.IntersectionShaderImport = m_Strings[3].LocalCopy(importName, true); | ||
| 624 | } | ||
| 625 | D3D12_STATE_SUBOBJECT_TYPE Type() const noexcept override | ||
| 626 | { | ||
| 627 | return D3D12_STATE_SUBOBJECT_TYPE_HIT_GROUP; | ||
| 628 | } | ||
| 629 | operator const D3D12_HIT_GROUP_DESC&() const noexcept { return m_Desc; } | ||
| 630 | private: | ||
| 631 | void Init() noexcept | ||
| 632 | { | ||
| 633 | SUBOBJECT_HELPER_BASE::Init(); | ||
| 634 | m_Desc = {}; | ||
| 635 | for (UINT i = 0; i < m_NumStrings; i++) | ||
| 636 | { | ||
| 637 | m_Strings[i].clear(); | ||
| 638 | } | ||
| 639 | } | ||
| 640 | void* Data() noexcept override { return &m_Desc; } | ||
| 641 | D3D12_HIT_GROUP_DESC m_Desc; | ||
| 642 | static constexpr UINT m_NumStrings = 4; | ||
| 643 | CD3DX12_STATE_OBJECT_DESC::StringContainer<LPCWSTR, std::wstring> | ||
| 644 | m_Strings[m_NumStrings]; // one string for every entrypoint name | ||
| 645 | }; | ||
| 646 | |||
| 647 | //------------------------------------------------------------------------------------------------ | ||
| 648 | class CD3DX12_RAYTRACING_SHADER_CONFIG_SUBOBJECT | ||
| 649 | : public CD3DX12_STATE_OBJECT_DESC::SUBOBJECT_HELPER_BASE | ||
| 650 | { | ||
| 651 | public: | ||
| 652 | CD3DX12_RAYTRACING_SHADER_CONFIG_SUBOBJECT() noexcept | ||
| 653 | : m_Desc({}) | ||
| 654 | { | ||
| 655 | Init(); | ||
| 656 | } | ||
| 657 | CD3DX12_RAYTRACING_SHADER_CONFIG_SUBOBJECT(CD3DX12_STATE_OBJECT_DESC& ContainingStateObject) | ||
| 658 | : m_Desc({}) | ||
| 659 | { | ||
| 660 | Init(); | ||
| 661 | AddToStateObject(ContainingStateObject); | ||
| 662 | } | ||
| 663 | CD3DX12_RAYTRACING_SHADER_CONFIG_SUBOBJECT(const D3D12_RAYTRACING_SHADER_CONFIG &desc) | ||
| 664 | : m_Desc(desc) | ||
| 665 | { | ||
| 666 | Init(); | ||
| 667 | } | ||
| 668 | CD3DX12_RAYTRACING_SHADER_CONFIG_SUBOBJECT(const D3D12_RAYTRACING_SHADER_CONFIG &desc, CD3DX12_STATE_OBJECT_DESC& ContainingStateObject) | ||
| 669 | : m_Desc(desc) | ||
| 670 | { | ||
| 671 | Init(); | ||
| 672 | AddToStateObject(ContainingStateObject); | ||
| 673 | } | ||
| 674 | CD3DX12_RAYTRACING_SHADER_CONFIG_SUBOBJECT(const CD3DX12_RAYTRACING_SHADER_CONFIG_SUBOBJECT& other) = delete; | ||
| 675 | CD3DX12_RAYTRACING_SHADER_CONFIG_SUBOBJECT& operator=(const CD3DX12_RAYTRACING_SHADER_CONFIG_SUBOBJECT& other) = delete; | ||
| 676 | CD3DX12_RAYTRACING_SHADER_CONFIG_SUBOBJECT(CD3DX12_RAYTRACING_SHADER_CONFIG_SUBOBJECT&& other) = default; | ||
| 677 | CD3DX12_RAYTRACING_SHADER_CONFIG_SUBOBJECT& operator=(CD3DX12_RAYTRACING_SHADER_CONFIG_SUBOBJECT&& other) = default; | ||
| 678 | void Config(UINT MaxPayloadSizeInBytes, UINT MaxAttributeSizeInBytes) noexcept | ||
| 679 | { | ||
| 680 | m_Desc.MaxPayloadSizeInBytes = MaxPayloadSizeInBytes; | ||
| 681 | m_Desc.MaxAttributeSizeInBytes = MaxAttributeSizeInBytes; | ||
| 682 | } | ||
| 683 | D3D12_STATE_SUBOBJECT_TYPE Type() const noexcept override | ||
| 684 | { | ||
| 685 | return D3D12_STATE_SUBOBJECT_TYPE_RAYTRACING_SHADER_CONFIG; | ||
| 686 | } | ||
| 687 | operator const D3D12_RAYTRACING_SHADER_CONFIG&() const noexcept { return m_Desc; } | ||
| 688 | operator D3D12_RAYTRACING_SHADER_CONFIG&() noexcept { return m_Desc; } | ||
| 689 | private: | ||
| 690 | void Init() noexcept | ||
| 691 | { | ||
| 692 | SUBOBJECT_HELPER_BASE::Init(); | ||
| 693 | } | ||
| 694 | void* Data() noexcept override { return &m_Desc; } | ||
| 695 | D3D12_RAYTRACING_SHADER_CONFIG m_Desc; | ||
| 696 | }; | ||
| 697 | |||
| 698 | //------------------------------------------------------------------------------------------------ | ||
| 699 | class CD3DX12_RAYTRACING_PIPELINE_CONFIG_SUBOBJECT | ||
| 700 | : public CD3DX12_STATE_OBJECT_DESC::SUBOBJECT_HELPER_BASE | ||
| 701 | { | ||
| 702 | public: | ||
| 703 | CD3DX12_RAYTRACING_PIPELINE_CONFIG_SUBOBJECT() noexcept | ||
| 704 | : m_Desc({}) | ||
| 705 | { | ||
| 706 | Init(); | ||
| 707 | } | ||
| 708 | CD3DX12_RAYTRACING_PIPELINE_CONFIG_SUBOBJECT(CD3DX12_STATE_OBJECT_DESC& ContainingStateObject) | ||
| 709 | : m_Desc({}) | ||
| 710 | { | ||
| 711 | Init(); | ||
| 712 | AddToStateObject(ContainingStateObject); | ||
| 713 | } | ||
| 714 | CD3DX12_RAYTRACING_PIPELINE_CONFIG_SUBOBJECT(const D3D12_RAYTRACING_PIPELINE_CONFIG &desc) | ||
| 715 | : m_Desc(desc) | ||
| 716 | { | ||
| 717 | Init(); | ||
| 718 | } | ||
| 719 | CD3DX12_RAYTRACING_PIPELINE_CONFIG_SUBOBJECT(const D3D12_RAYTRACING_PIPELINE_CONFIG &desc, CD3DX12_STATE_OBJECT_DESC& ContainingStateObject) | ||
| 720 | : m_Desc(desc) | ||
| 721 | { | ||
| 722 | Init(); | ||
| 723 | AddToStateObject(ContainingStateObject); | ||
| 724 | } | ||
| 725 | CD3DX12_RAYTRACING_PIPELINE_CONFIG_SUBOBJECT(const CD3DX12_RAYTRACING_PIPELINE_CONFIG_SUBOBJECT& other) = delete; | ||
| 726 | CD3DX12_RAYTRACING_PIPELINE_CONFIG_SUBOBJECT& operator=(const CD3DX12_RAYTRACING_PIPELINE_CONFIG_SUBOBJECT& other) = delete; | ||
| 727 | CD3DX12_RAYTRACING_PIPELINE_CONFIG_SUBOBJECT(CD3DX12_RAYTRACING_PIPELINE_CONFIG_SUBOBJECT&& other) = default; | ||
| 728 | CD3DX12_RAYTRACING_PIPELINE_CONFIG_SUBOBJECT& operator=(CD3DX12_RAYTRACING_PIPELINE_CONFIG_SUBOBJECT&& other) = default; | ||
| 729 | void Config(UINT MaxTraceRecursionDepth) noexcept | ||
| 730 | { | ||
| 731 | m_Desc.MaxTraceRecursionDepth = MaxTraceRecursionDepth; | ||
| 732 | } | ||
| 733 | D3D12_STATE_SUBOBJECT_TYPE Type() const noexcept override | ||
| 734 | { | ||
| 735 | return D3D12_STATE_SUBOBJECT_TYPE_RAYTRACING_PIPELINE_CONFIG; | ||
| 736 | } | ||
| 737 | operator const D3D12_RAYTRACING_PIPELINE_CONFIG&() const noexcept { return m_Desc; } | ||
| 738 | operator D3D12_RAYTRACING_PIPELINE_CONFIG&() noexcept { return m_Desc; } | ||
| 739 | private: | ||
| 740 | void Init() noexcept | ||
| 741 | { | ||
| 742 | SUBOBJECT_HELPER_BASE::Init(); | ||
| 743 | } | ||
| 744 | void* Data() noexcept override { return &m_Desc; } | ||
| 745 | D3D12_RAYTRACING_PIPELINE_CONFIG m_Desc; | ||
| 746 | }; | ||
| 747 | |||
| 748 | //------------------------------------------------------------------------------------------------ | ||
| 749 | class CD3DX12_RAYTRACING_PIPELINE_CONFIG1_SUBOBJECT | ||
| 750 | : public CD3DX12_STATE_OBJECT_DESC::SUBOBJECT_HELPER_BASE | ||
| 751 | { | ||
| 752 | public: | ||
| 753 | CD3DX12_RAYTRACING_PIPELINE_CONFIG1_SUBOBJECT() noexcept | ||
| 754 | : m_Desc({}) | ||
| 755 | { | ||
| 756 | Init(); | ||
| 757 | } | ||
| 758 | CD3DX12_RAYTRACING_PIPELINE_CONFIG1_SUBOBJECT(CD3DX12_STATE_OBJECT_DESC& ContainingStateObject) | ||
| 759 | : m_Desc({}) | ||
| 760 | { | ||
| 761 | Init(); | ||
| 762 | AddToStateObject(ContainingStateObject); | ||
| 763 | } | ||
| 764 | CD3DX12_RAYTRACING_PIPELINE_CONFIG1_SUBOBJECT(const D3D12_RAYTRACING_PIPELINE_CONFIG1 &desc) | ||
| 765 | : m_Desc(desc) | ||
| 766 | { | ||
| 767 | Init(); | ||
| 768 | } | ||
| 769 | CD3DX12_RAYTRACING_PIPELINE_CONFIG1_SUBOBJECT(const D3D12_RAYTRACING_PIPELINE_CONFIG1 &desc, CD3DX12_STATE_OBJECT_DESC& ContainingStateObject) | ||
| 770 | : m_Desc(desc) | ||
| 771 | { | ||
| 772 | Init(); | ||
| 773 | AddToStateObject(ContainingStateObject); | ||
| 774 | } | ||
| 775 | CD3DX12_RAYTRACING_PIPELINE_CONFIG1_SUBOBJECT(const CD3DX12_RAYTRACING_PIPELINE_CONFIG1_SUBOBJECT& other) = delete; | ||
| 776 | CD3DX12_RAYTRACING_PIPELINE_CONFIG1_SUBOBJECT& operator=(const CD3DX12_RAYTRACING_PIPELINE_CONFIG1_SUBOBJECT& other) = delete; | ||
| 777 | CD3DX12_RAYTRACING_PIPELINE_CONFIG1_SUBOBJECT(CD3DX12_RAYTRACING_PIPELINE_CONFIG1_SUBOBJECT&& other) = default; | ||
| 778 | CD3DX12_RAYTRACING_PIPELINE_CONFIG1_SUBOBJECT& operator=(CD3DX12_RAYTRACING_PIPELINE_CONFIG1_SUBOBJECT&& other) = default; | ||
| 779 | void Config(UINT MaxTraceRecursionDepth, D3D12_RAYTRACING_PIPELINE_FLAGS Flags) noexcept | ||
| 780 | { | ||
| 781 | m_Desc.MaxTraceRecursionDepth = MaxTraceRecursionDepth; | ||
| 782 | m_Desc.Flags = Flags; | ||
| 783 | } | ||
| 784 | D3D12_STATE_SUBOBJECT_TYPE Type() const noexcept override | ||
| 785 | { | ||
| 786 | return D3D12_STATE_SUBOBJECT_TYPE_RAYTRACING_PIPELINE_CONFIG1; | ||
| 787 | } | ||
| 788 | operator const D3D12_RAYTRACING_PIPELINE_CONFIG1&() const noexcept { return m_Desc; } | ||
| 789 | operator D3D12_RAYTRACING_PIPELINE_CONFIG1&() noexcept { return m_Desc; } | ||
| 790 | private: | ||
| 791 | void Init() noexcept | ||
| 792 | { | ||
| 793 | SUBOBJECT_HELPER_BASE::Init(); | ||
| 794 | } | ||
| 795 | void* Data() noexcept override { return &m_Desc; } | ||
| 796 | D3D12_RAYTRACING_PIPELINE_CONFIG1 m_Desc; | ||
| 797 | }; | ||
| 798 | |||
| 799 | //------------------------------------------------------------------------------------------------ | ||
| 800 | class CD3DX12_GLOBAL_ROOT_SIGNATURE_SUBOBJECT | ||
| 801 | : public CD3DX12_STATE_OBJECT_DESC::SUBOBJECT_HELPER_BASE | ||
| 802 | { | ||
| 803 | public: | ||
| 804 | CD3DX12_GLOBAL_ROOT_SIGNATURE_SUBOBJECT() noexcept | ||
| 805 | { | ||
| 806 | Init(); | ||
| 807 | } | ||
| 808 | CD3DX12_GLOBAL_ROOT_SIGNATURE_SUBOBJECT(CD3DX12_STATE_OBJECT_DESC& ContainingStateObject) | ||
| 809 | { | ||
| 810 | Init(); | ||
| 811 | AddToStateObject(ContainingStateObject); | ||
| 812 | } | ||
| 813 | CD3DX12_GLOBAL_ROOT_SIGNATURE_SUBOBJECT(const CD3DX12_GLOBAL_ROOT_SIGNATURE_SUBOBJECT& other) = delete; | ||
| 814 | CD3DX12_GLOBAL_ROOT_SIGNATURE_SUBOBJECT& operator=(const CD3DX12_GLOBAL_ROOT_SIGNATURE_SUBOBJECT& other) = delete; | ||
| 815 | CD3DX12_GLOBAL_ROOT_SIGNATURE_SUBOBJECT(CD3DX12_GLOBAL_ROOT_SIGNATURE_SUBOBJECT&& other) = default; | ||
| 816 | CD3DX12_GLOBAL_ROOT_SIGNATURE_SUBOBJECT& operator=(CD3DX12_GLOBAL_ROOT_SIGNATURE_SUBOBJECT&& other) = default; | ||
| 817 | void SetRootSignature(ID3D12RootSignature* pRootSig) noexcept | ||
| 818 | { | ||
| 819 | m_pRootSig = pRootSig; | ||
| 820 | } | ||
| 821 | D3D12_STATE_SUBOBJECT_TYPE Type() const noexcept override | ||
| 822 | { | ||
| 823 | return D3D12_STATE_SUBOBJECT_TYPE_GLOBAL_ROOT_SIGNATURE; | ||
| 824 | } | ||
| 825 | operator ID3D12RootSignature*() const noexcept { return D3DX12_COM_PTR_GET(m_pRootSig); } | ||
| 826 | private: | ||
| 827 | void Init() noexcept | ||
| 828 | { | ||
| 829 | SUBOBJECT_HELPER_BASE::Init(); | ||
| 830 | m_pRootSig = nullptr; | ||
| 831 | } | ||
| 832 | void* Data() noexcept override { return D3DX12_COM_PTR_ADDRESSOF(m_pRootSig); } | ||
| 833 | D3DX12_COM_PTR<ID3D12RootSignature> m_pRootSig; | ||
| 834 | }; | ||
| 835 | |||
| 836 | |||
| 837 | //------------------------------------------------------------------------------------------------ | ||
| 838 | class CD3DX12_LOCAL_ROOT_SIGNATURE_SUBOBJECT | ||
| 839 | : public CD3DX12_STATE_OBJECT_DESC::SUBOBJECT_HELPER_BASE | ||
| 840 | { | ||
| 841 | public: | ||
| 842 | CD3DX12_LOCAL_ROOT_SIGNATURE_SUBOBJECT() noexcept | ||
| 843 | { | ||
| 844 | Init(); | ||
| 845 | } | ||
| 846 | CD3DX12_LOCAL_ROOT_SIGNATURE_SUBOBJECT(CD3DX12_STATE_OBJECT_DESC& ContainingStateObject) | ||
| 847 | { | ||
| 848 | Init(); | ||
| 849 | AddToStateObject(ContainingStateObject); | ||
| 850 | } | ||
| 851 | CD3DX12_LOCAL_ROOT_SIGNATURE_SUBOBJECT(const CD3DX12_LOCAL_ROOT_SIGNATURE_SUBOBJECT& other) = delete; | ||
| 852 | CD3DX12_LOCAL_ROOT_SIGNATURE_SUBOBJECT& operator=(const CD3DX12_LOCAL_ROOT_SIGNATURE_SUBOBJECT& other) = delete; | ||
| 853 | CD3DX12_LOCAL_ROOT_SIGNATURE_SUBOBJECT(CD3DX12_LOCAL_ROOT_SIGNATURE_SUBOBJECT&& other) = default; | ||
| 854 | CD3DX12_LOCAL_ROOT_SIGNATURE_SUBOBJECT& operator=(CD3DX12_LOCAL_ROOT_SIGNATURE_SUBOBJECT&& other) = default; | ||
| 855 | void SetRootSignature(ID3D12RootSignature* pRootSig) noexcept | ||
| 856 | { | ||
| 857 | m_pRootSig = pRootSig; | ||
| 858 | } | ||
| 859 | D3D12_STATE_SUBOBJECT_TYPE Type() const noexcept override | ||
| 860 | { | ||
| 861 | return D3D12_STATE_SUBOBJECT_TYPE_LOCAL_ROOT_SIGNATURE; | ||
| 862 | } | ||
| 863 | operator ID3D12RootSignature*() const noexcept { return D3DX12_COM_PTR_GET(m_pRootSig); } | ||
| 864 | private: | ||
| 865 | void Init() noexcept | ||
| 866 | { | ||
| 867 | SUBOBJECT_HELPER_BASE::Init(); | ||
| 868 | m_pRootSig = nullptr; | ||
| 869 | } | ||
| 870 | void* Data() noexcept override { return D3DX12_COM_PTR_ADDRESSOF(m_pRootSig); } | ||
| 871 | D3DX12_COM_PTR<ID3D12RootSignature> m_pRootSig; | ||
| 872 | }; | ||
| 873 | |||
| 874 | #if defined(D3D12_SDK_VERSION) && (D3D12_SDK_VERSION >= 618) | ||
| 875 | //------------------------------------------------------------------------------------------------ | ||
| 876 | class CD3DX12_GLOBAL_SERIALIZED_ROOT_SIGNATURE_SUBOBJECT | ||
| 877 | : public CD3DX12_STATE_OBJECT_DESC::SUBOBJECT_HELPER_BASE | ||
| 878 | { | ||
| 879 | public: | ||
| 880 | CD3DX12_GLOBAL_SERIALIZED_ROOT_SIGNATURE_SUBOBJECT() noexcept | ||
| 881 | : m_Desc({}) | ||
| 882 | { | ||
| 883 | Init(); | ||
| 884 | } | ||
| 885 | CD3DX12_GLOBAL_SERIALIZED_ROOT_SIGNATURE_SUBOBJECT(CD3DX12_STATE_OBJECT_DESC& ContainingStateObject) | ||
| 886 | : m_Desc({}) | ||
| 887 | { | ||
| 888 | Init(); | ||
| 889 | AddToStateObject(ContainingStateObject); | ||
| 890 | } | ||
| 891 | CD3DX12_GLOBAL_SERIALIZED_ROOT_SIGNATURE_SUBOBJECT(const CD3DX12_GLOBAL_SERIALIZED_ROOT_SIGNATURE_SUBOBJECT& other) = delete; | ||
| 892 | CD3DX12_GLOBAL_SERIALIZED_ROOT_SIGNATURE_SUBOBJECT& operator=(const CD3DX12_GLOBAL_SERIALIZED_ROOT_SIGNATURE_SUBOBJECT& other) = delete; | ||
| 893 | CD3DX12_GLOBAL_SERIALIZED_ROOT_SIGNATURE_SUBOBJECT(CD3DX12_GLOBAL_SERIALIZED_ROOT_SIGNATURE_SUBOBJECT&& other) = default; | ||
| 894 | CD3DX12_GLOBAL_SERIALIZED_ROOT_SIGNATURE_SUBOBJECT& operator=(CD3DX12_GLOBAL_SERIALIZED_ROOT_SIGNATURE_SUBOBJECT&& other) = default; | ||
| 895 | void SetRootSignature(const D3D12_SERIALIZED_ROOT_SIGNATURE_DESC* pDesc) noexcept | ||
| 896 | { | ||
| 897 | if (pDesc) | ||
| 898 | { | ||
| 899 | m_Desc.Desc = {}; | ||
| 900 | m_Desc.Desc.pSerializedBlob = pDesc->pSerializedBlob; | ||
| 901 | m_Desc.Desc.SerializedBlobSizeInBytes = pDesc->SerializedBlobSizeInBytes; | ||
| 902 | } | ||
| 903 | } | ||
| 904 | D3D12_STATE_SUBOBJECT_TYPE Type() const noexcept override | ||
| 905 | { | ||
| 906 | return D3D12_STATE_SUBOBJECT_TYPE_GLOBAL_SERIALIZED_ROOT_SIGNATURE; | ||
| 907 | } | ||
| 908 | operator const D3D12_GLOBAL_SERIALIZED_ROOT_SIGNATURE&() const noexcept { return m_Desc; } | ||
| 909 | operator D3D12_GLOBAL_SERIALIZED_ROOT_SIGNATURE&() noexcept { return m_Desc; } | ||
| 910 | private: | ||
| 911 | void Init() noexcept | ||
| 912 | { | ||
| 913 | SUBOBJECT_HELPER_BASE::Init(); | ||
| 914 | m_Desc = {}; | ||
| 915 | } | ||
| 916 | void* Data() noexcept override { return &m_Desc; } | ||
| 917 | D3D12_GLOBAL_SERIALIZED_ROOT_SIGNATURE m_Desc; | ||
| 918 | }; | ||
| 919 | |||
| 920 | //------------------------------------------------------------------------------------------------ | ||
| 921 | class CD3DX12_LOCAL_SERIALIZED_ROOT_SIGNATURE_SUBOBJECT | ||
| 922 | : public CD3DX12_STATE_OBJECT_DESC::SUBOBJECT_HELPER_BASE | ||
| 923 | { | ||
| 924 | public: | ||
| 925 | CD3DX12_LOCAL_SERIALIZED_ROOT_SIGNATURE_SUBOBJECT() noexcept | ||
| 926 | : m_Desc({}) | ||
| 927 | { | ||
| 928 | Init(); | ||
| 929 | } | ||
| 930 | CD3DX12_LOCAL_SERIALIZED_ROOT_SIGNATURE_SUBOBJECT(CD3DX12_STATE_OBJECT_DESC& ContainingStateObject) | ||
| 931 | : m_Desc({}) | ||
| 932 | { | ||
| 933 | Init(); | ||
| 934 | AddToStateObject(ContainingStateObject); | ||
| 935 | } | ||
| 936 | CD3DX12_LOCAL_SERIALIZED_ROOT_SIGNATURE_SUBOBJECT(const CD3DX12_LOCAL_SERIALIZED_ROOT_SIGNATURE_SUBOBJECT& other) = delete; | ||
| 937 | CD3DX12_LOCAL_SERIALIZED_ROOT_SIGNATURE_SUBOBJECT& operator=(const CD3DX12_LOCAL_SERIALIZED_ROOT_SIGNATURE_SUBOBJECT& other) = delete; | ||
| 938 | CD3DX12_LOCAL_SERIALIZED_ROOT_SIGNATURE_SUBOBJECT(CD3DX12_LOCAL_SERIALIZED_ROOT_SIGNATURE_SUBOBJECT&& other) = default; | ||
| 939 | CD3DX12_LOCAL_SERIALIZED_ROOT_SIGNATURE_SUBOBJECT& operator=(CD3DX12_LOCAL_SERIALIZED_ROOT_SIGNATURE_SUBOBJECT&& other) = default; | ||
| 940 | void SetRootSignature(const D3D12_SERIALIZED_ROOT_SIGNATURE_DESC* pDesc) noexcept | ||
| 941 | { | ||
| 942 | if (pDesc) | ||
| 943 | { | ||
| 944 | m_Desc.Desc = {}; | ||
| 945 | m_Desc.Desc.pSerializedBlob = pDesc->pSerializedBlob; | ||
| 946 | m_Desc.Desc.SerializedBlobSizeInBytes = pDesc->SerializedBlobSizeInBytes; | ||
| 947 | } | ||
| 948 | } | ||
| 949 | D3D12_STATE_SUBOBJECT_TYPE Type() const noexcept override | ||
| 950 | { | ||
| 951 | return D3D12_STATE_SUBOBJECT_TYPE_LOCAL_SERIALIZED_ROOT_SIGNATURE; | ||
| 952 | } | ||
| 953 | operator const D3D12_LOCAL_SERIALIZED_ROOT_SIGNATURE&() const noexcept { return m_Desc; } | ||
| 954 | operator D3D12_LOCAL_SERIALIZED_ROOT_SIGNATURE&() noexcept { return m_Desc; } | ||
| 955 | private: | ||
| 956 | void Init() noexcept | ||
| 957 | { | ||
| 958 | SUBOBJECT_HELPER_BASE::Init(); | ||
| 959 | m_Desc = {}; | ||
| 960 | } | ||
| 961 | void* Data() noexcept override { return &m_Desc; } | ||
| 962 | D3D12_LOCAL_SERIALIZED_ROOT_SIGNATURE m_Desc; | ||
| 963 | }; | ||
| 964 | |||
| 965 | |||
| 966 | //------------------------------------------------------------------------------------------------ | ||
| 967 | class CD3DX12_EXISTING_COLLECTION_BY_KEY_SUBOBJECT | ||
| 968 | : public CD3DX12_STATE_OBJECT_DESC::SUBOBJECT_HELPER_BASE | ||
| 969 | { | ||
| 970 | public: | ||
| 971 | CD3DX12_EXISTING_COLLECTION_BY_KEY_SUBOBJECT() noexcept | ||
| 972 | { | ||
| 973 | Init(); | ||
| 974 | } | ||
| 975 | CD3DX12_EXISTING_COLLECTION_BY_KEY_SUBOBJECT(CD3DX12_STATE_OBJECT_DESC& ContainingStateObject) | ||
| 976 | { | ||
| 977 | Init(); | ||
| 978 | AddToStateObject(ContainingStateObject); | ||
| 979 | } | ||
| 980 | CD3DX12_EXISTING_COLLECTION_BY_KEY_SUBOBJECT(const CD3DX12_EXISTING_COLLECTION_BY_KEY_SUBOBJECT& other) = delete; | ||
| 981 | CD3DX12_EXISTING_COLLECTION_BY_KEY_SUBOBJECT& operator=(const CD3DX12_EXISTING_COLLECTION_BY_KEY_SUBOBJECT& other) = delete; | ||
| 982 | CD3DX12_EXISTING_COLLECTION_BY_KEY_SUBOBJECT(CD3DX12_EXISTING_COLLECTION_BY_KEY_SUBOBJECT&& other) = default; | ||
| 983 | CD3DX12_EXISTING_COLLECTION_BY_KEY_SUBOBJECT& operator=(CD3DX12_EXISTING_COLLECTION_BY_KEY_SUBOBJECT&& other) = default; | ||
| 984 | void SetExistingCollection(const void* pKey, UINT KeySize) noexcept | ||
| 985 | { | ||
| 986 | const unsigned char* pKeyBytes = static_cast<const unsigned char *>(pKey); | ||
| 987 | m_Key.clear(); | ||
| 988 | m_Key.insert(m_Key.begin(), pKeyBytes, pKeyBytes + KeySize); | ||
| 989 | m_Desc.pKey = m_Key.data(); | ||
| 990 | m_Desc.KeySize = KeySize; | ||
| 991 | } | ||
| 992 | void DefineExport( | ||
| 993 | LPCWSTR Name, | ||
| 994 | LPCWSTR ExportToRename = nullptr, | ||
| 995 | D3D12_EXPORT_FLAGS Flags = D3D12_EXPORT_FLAG_NONE) | ||
| 996 | { | ||
| 997 | D3D12_EXPORT_DESC Export; | ||
| 998 | Export.Name = m_Strings.LocalCopy(Name); | ||
| 999 | Export.ExportToRename = m_Strings.LocalCopy(ExportToRename); | ||
| 1000 | Export.Flags = Flags; | ||
| 1001 | m_Exports.push_back(Export); | ||
| 1002 | m_Desc.pExports = &m_Exports[0]; // using ugly way to get pointer in case .data() is not defined | ||
| 1003 | m_Desc.NumExports = static_cast<UINT>(m_Exports.size()); | ||
| 1004 | } | ||
| 1005 | template<size_t N> | ||
| 1006 | void DefineExports(LPCWSTR(&Exports)[N]) | ||
| 1007 | { | ||
| 1008 | for (UINT i = 0; i < N; i++) | ||
| 1009 | { | ||
| 1010 | DefineExport(Exports[i]); | ||
| 1011 | } | ||
| 1012 | } | ||
| 1013 | void DefineExports(const LPCWSTR* Exports, UINT N) | ||
| 1014 | { | ||
| 1015 | for (UINT i = 0; i < N; i++) | ||
| 1016 | { | ||
| 1017 | DefineExport(Exports[i]); | ||
| 1018 | } | ||
| 1019 | } | ||
| 1020 | D3D12_STATE_SUBOBJECT_TYPE Type() const noexcept override | ||
| 1021 | { | ||
| 1022 | return D3D12_STATE_SUBOBJECT_TYPE_EXISTING_COLLECTION_BY_KEY; | ||
| 1023 | } | ||
| 1024 | operator const D3D12_EXISTING_COLLECTION_BY_KEY_DESC&() const noexcept { return m_Desc; } | ||
| 1025 | private: | ||
| 1026 | void Init() noexcept | ||
| 1027 | { | ||
| 1028 | SUBOBJECT_HELPER_BASE::Init(); | ||
| 1029 | m_Desc = {}; | ||
| 1030 | m_Strings.clear(); | ||
| 1031 | m_Exports.clear(); | ||
| 1032 | } | ||
| 1033 | void* Data() noexcept override { return &m_Desc; } | ||
| 1034 | D3D12_EXISTING_COLLECTION_BY_KEY_DESC m_Desc; | ||
| 1035 | std::vector<unsigned char> m_Key; | ||
| 1036 | CD3DX12_STATE_OBJECT_DESC::StringContainer<LPCWSTR, std::wstring> m_Strings; | ||
| 1037 | std::vector<D3D12_EXPORT_DESC> m_Exports; | ||
| 1038 | }; | ||
| 1039 | |||
| 1040 | #endif // defined(D3D12_SDK_VERSION) && (D3D12_SDK_VERSION >= 618) | ||
| 1041 | |||
| 1042 | //------------------------------------------------------------------------------------------------ | ||
| 1043 | class CD3DX12_STATE_OBJECT_CONFIG_SUBOBJECT | ||
| 1044 | : public CD3DX12_STATE_OBJECT_DESC::SUBOBJECT_HELPER_BASE | ||
| 1045 | { | ||
| 1046 | public: | ||
| 1047 | CD3DX12_STATE_OBJECT_CONFIG_SUBOBJECT() noexcept | ||
| 1048 | : m_Desc({}) | ||
| 1049 | { | ||
| 1050 | Init(); | ||
| 1051 | } | ||
| 1052 | CD3DX12_STATE_OBJECT_CONFIG_SUBOBJECT(CD3DX12_STATE_OBJECT_DESC& ContainingStateObject) | ||
| 1053 | : m_Desc({}) | ||
| 1054 | { | ||
| 1055 | Init(); | ||
| 1056 | AddToStateObject(ContainingStateObject); | ||
| 1057 | } | ||
| 1058 | CD3DX12_STATE_OBJECT_CONFIG_SUBOBJECT(const D3D12_STATE_OBJECT_CONFIG &desc) noexcept | ||
| 1059 | : m_Desc(desc) | ||
| 1060 | { | ||
| 1061 | Init(); | ||
| 1062 | } | ||
| 1063 | CD3DX12_STATE_OBJECT_CONFIG_SUBOBJECT(const D3D12_STATE_OBJECT_CONFIG &desc, CD3DX12_STATE_OBJECT_DESC& ContainingStateObject) | ||
| 1064 | : m_Desc(desc) | ||
| 1065 | { | ||
| 1066 | Init(); | ||
| 1067 | AddToStateObject(ContainingStateObject); | ||
| 1068 | } | ||
| 1069 | CD3DX12_STATE_OBJECT_CONFIG_SUBOBJECT(const CD3DX12_STATE_OBJECT_CONFIG_SUBOBJECT& other) = delete; | ||
| 1070 | CD3DX12_STATE_OBJECT_CONFIG_SUBOBJECT& operator=(const CD3DX12_STATE_OBJECT_CONFIG_SUBOBJECT& other) = delete; | ||
| 1071 | CD3DX12_STATE_OBJECT_CONFIG_SUBOBJECT(CD3DX12_STATE_OBJECT_CONFIG_SUBOBJECT&& other) = default; | ||
| 1072 | CD3DX12_STATE_OBJECT_CONFIG_SUBOBJECT& operator=(CD3DX12_STATE_OBJECT_CONFIG_SUBOBJECT&& other) = default; | ||
| 1073 | void SetFlags(D3D12_STATE_OBJECT_FLAGS Flags) noexcept | ||
| 1074 | { | ||
| 1075 | m_Desc.Flags = Flags; | ||
| 1076 | } | ||
| 1077 | D3D12_STATE_SUBOBJECT_TYPE Type() const noexcept override | ||
| 1078 | { | ||
| 1079 | return D3D12_STATE_SUBOBJECT_TYPE_STATE_OBJECT_CONFIG; | ||
| 1080 | } | ||
| 1081 | operator const D3D12_STATE_OBJECT_CONFIG&() const noexcept { return m_Desc; } | ||
| 1082 | operator D3D12_STATE_OBJECT_CONFIG&() noexcept { return m_Desc; } | ||
| 1083 | private: | ||
| 1084 | void Init() noexcept | ||
| 1085 | { | ||
| 1086 | SUBOBJECT_HELPER_BASE::Init(); | ||
| 1087 | } | ||
| 1088 | void* Data() noexcept override { return &m_Desc; } | ||
| 1089 | D3D12_STATE_OBJECT_CONFIG m_Desc; | ||
| 1090 | }; | ||
| 1091 | |||
| 1092 | //------------------------------------------------------------------------------------------------ | ||
| 1093 | class CD3DX12_NODE_MASK_SUBOBJECT | ||
| 1094 | : public CD3DX12_STATE_OBJECT_DESC::SUBOBJECT_HELPER_BASE | ||
| 1095 | { | ||
| 1096 | public: | ||
| 1097 | CD3DX12_NODE_MASK_SUBOBJECT() noexcept | ||
| 1098 | : m_Desc({}) | ||
| 1099 | { | ||
| 1100 | Init(); | ||
| 1101 | } | ||
| 1102 | CD3DX12_NODE_MASK_SUBOBJECT(CD3DX12_STATE_OBJECT_DESC& ContainingStateObject) | ||
| 1103 | : m_Desc({}) | ||
| 1104 | { | ||
| 1105 | Init(); | ||
| 1106 | AddToStateObject(ContainingStateObject); | ||
| 1107 | } | ||
| 1108 | CD3DX12_NODE_MASK_SUBOBJECT(const D3D12_NODE_MASK &desc) noexcept | ||
| 1109 | : m_Desc(desc) | ||
| 1110 | { | ||
| 1111 | Init(); | ||
| 1112 | } | ||
| 1113 | CD3DX12_NODE_MASK_SUBOBJECT(const D3D12_NODE_MASK &desc, CD3DX12_STATE_OBJECT_DESC& ContainingStateObject) | ||
| 1114 | : m_Desc(desc) | ||
| 1115 | { | ||
| 1116 | Init(); | ||
| 1117 | AddToStateObject(ContainingStateObject); | ||
| 1118 | } | ||
| 1119 | CD3DX12_NODE_MASK_SUBOBJECT(const CD3DX12_NODE_MASK_SUBOBJECT& other) = delete; | ||
| 1120 | CD3DX12_NODE_MASK_SUBOBJECT& operator=(const CD3DX12_NODE_MASK_SUBOBJECT& other) = delete; | ||
| 1121 | CD3DX12_NODE_MASK_SUBOBJECT(CD3DX12_NODE_MASK_SUBOBJECT&& other) = default; | ||
| 1122 | CD3DX12_NODE_MASK_SUBOBJECT& operator=(CD3DX12_NODE_MASK_SUBOBJECT&& other) = default; | ||
| 1123 | void SetNodeMask(UINT NodeMask) noexcept | ||
| 1124 | { | ||
| 1125 | m_Desc.NodeMask = NodeMask; | ||
| 1126 | } | ||
| 1127 | D3D12_STATE_SUBOBJECT_TYPE Type() const noexcept override | ||
| 1128 | { | ||
| 1129 | return D3D12_STATE_SUBOBJECT_TYPE_NODE_MASK; | ||
| 1130 | } | ||
| 1131 | operator const D3D12_NODE_MASK&() const noexcept { return m_Desc; } | ||
| 1132 | operator D3D12_NODE_MASK&() noexcept { return m_Desc; } | ||
| 1133 | private: | ||
| 1134 | void Init() noexcept | ||
| 1135 | { | ||
| 1136 | SUBOBJECT_HELPER_BASE::Init(); | ||
| 1137 | } | ||
| 1138 | void* Data() noexcept override { return &m_Desc; } | ||
| 1139 | D3D12_NODE_MASK m_Desc; | ||
| 1140 | }; | ||
| 1141 | |||
| 1142 | #if defined(D3D12_SDK_VERSION) && (D3D12_SDK_VERSION >= 612) | ||
| 1143 | //------------------------------------------------------------------------------------------------ | ||
| 1144 | class CD3DX12_STREAM_OUTPUT_SUBOBJECT | ||
| 1145 | : public CD3DX12_STATE_OBJECT_DESC::SUBOBJECT_HELPER_BASE | ||
| 1146 | { | ||
| 1147 | public: | ||
| 1148 | CD3DX12_STREAM_OUTPUT_SUBOBJECT() | ||
| 1149 | { | ||
| 1150 | Init(); | ||
| 1151 | } | ||
| 1152 | CD3DX12_STREAM_OUTPUT_SUBOBJECT(CD3DX12_STATE_OBJECT_DESC& ContainingStateObject) | ||
| 1153 | { | ||
| 1154 | Init(); | ||
| 1155 | AddToStateObject(ContainingStateObject); | ||
| 1156 | } | ||
| 1157 | void AddSODeclEntry(const D3D12_SO_DECLARATION_ENTRY &entry) | ||
| 1158 | { | ||
| 1159 | m_soDecalEntries.emplace_back(D3D12_SO_DECLARATION_ENTRY{ | ||
| 1160 | entry.Stream, | ||
| 1161 | m_Strings.LocalCopy(entry.SemanticName), | ||
| 1162 | entry.SemanticIndex, | ||
| 1163 | entry.StartComponent, | ||
| 1164 | entry.ComponentCount, | ||
| 1165 | entry.OutputSlot | ||
| 1166 | }); | ||
| 1167 | m_Desc.NumEntries++; | ||
| 1168 | // Below: using ugly way to get pointer in case .data() is not defined | ||
| 1169 | m_Desc.pSODeclaration = &m_soDecalEntries[0]; | ||
| 1170 | } | ||
| 1171 | void SetSODeclEntries(const D3D12_SO_DECLARATION_ENTRY* soDeclEntries, UINT numEntries) | ||
| 1172 | { | ||
| 1173 | m_soDecalEntries.resize(numEntries); | ||
| 1174 | for (UINT i = 0; i < numEntries; i++) | ||
| 1175 | { | ||
| 1176 | m_soDecalEntries[i] = D3D12_SO_DECLARATION_ENTRY{ | ||
| 1177 | soDeclEntries[i].Stream, | ||
| 1178 | m_Strings.LocalCopy(soDeclEntries[i].SemanticName), | ||
| 1179 | soDeclEntries[i].SemanticIndex, | ||
| 1180 | soDeclEntries[i].StartComponent, | ||
| 1181 | soDeclEntries[i].ComponentCount, | ||
| 1182 | soDeclEntries[i].OutputSlot | ||
| 1183 | }; | ||
| 1184 | } | ||
| 1185 | m_Desc.NumEntries = numEntries; | ||
| 1186 | // Below: using ugly way to get pointer in case .data() is not defined | ||
| 1187 | if (numEntries > 0) | ||
| 1188 | { | ||
| 1189 | m_Desc.pSODeclaration = &m_soDecalEntries[0]; | ||
| 1190 | } | ||
| 1191 | } | ||
| 1192 | void SetBufferStrides(const UINT* bufferStrides, UINT numStrides) | ||
| 1193 | { | ||
| 1194 | for (UINT i = 0; i < numStrides; ++i) | ||
| 1195 | { | ||
| 1196 | m_Strides[i] = bufferStrides[i]; | ||
| 1197 | } | ||
| 1198 | m_Desc.pBufferStrides = m_Strides; | ||
| 1199 | m_Desc.NumStrides = numStrides; | ||
| 1200 | } | ||
| 1201 | void SetRasterizedStream(UINT rasterizedStream) | ||
| 1202 | { | ||
| 1203 | m_Desc.RasterizedStream = rasterizedStream; | ||
| 1204 | } | ||
| 1205 | D3D12_STATE_SUBOBJECT_TYPE Type() const noexcept override | ||
| 1206 | { | ||
| 1207 | return D3D12_STATE_SUBOBJECT_TYPE_STREAM_OUTPUT; | ||
| 1208 | } | ||
| 1209 | operator const D3D12_STREAM_OUTPUT_DESC& () const noexcept { return m_Desc; } | ||
| 1210 | |||
| 1211 | private: | ||
| 1212 | void Init() | ||
| 1213 | { | ||
| 1214 | SUBOBJECT_HELPER_BASE::Init(); | ||
| 1215 | m_Desc = {}; | ||
| 1216 | } | ||
| 1217 | void* Data() noexcept override { return &m_Desc; } | ||
| 1218 | D3D12_STREAM_OUTPUT_DESC m_Desc; | ||
| 1219 | CD3DX12_STATE_OBJECT_DESC::StringContainer<LPCSTR, std::string> m_Strings; | ||
| 1220 | std::vector<D3D12_SO_DECLARATION_ENTRY> m_soDecalEntries; | ||
| 1221 | UINT m_Strides[D3D12_SO_STREAM_COUNT]; | ||
| 1222 | }; | ||
| 1223 | |||
| 1224 | //------------------------------------------------------------------------------------------------ | ||
| 1225 | class CD3DX12_BLEND_SUBOBJECT | ||
| 1226 | : public CD3DX12_STATE_OBJECT_DESC::SUBOBJECT_HELPER_BASE | ||
| 1227 | { | ||
| 1228 | public: | ||
| 1229 | CD3DX12_BLEND_SUBOBJECT() | ||
| 1230 | : m_Desc(CD3DX12_BLEND_DESC(D3D12_DEFAULT)) | ||
| 1231 | { | ||
| 1232 | Init(); | ||
| 1233 | } | ||
| 1234 | CD3DX12_BLEND_SUBOBJECT(CD3DX12_STATE_OBJECT_DESC& ContainingStateObject) | ||
| 1235 | : m_Desc(CD3DX12_BLEND_DESC(D3D12_DEFAULT)) | ||
| 1236 | { | ||
| 1237 | Init(); | ||
| 1238 | AddToStateObject(ContainingStateObject); | ||
| 1239 | } | ||
| 1240 | CD3DX12_BLEND_SUBOBJECT(const D3D12_BLEND_DESC &desc) | ||
| 1241 | : m_Desc(desc) | ||
| 1242 | { | ||
| 1243 | Init(); | ||
| 1244 | } | ||
| 1245 | CD3DX12_BLEND_SUBOBJECT(const D3D12_BLEND_DESC &desc, CD3DX12_STATE_OBJECT_DESC& ContainingStateObject) | ||
| 1246 | : m_Desc(desc) | ||
| 1247 | { | ||
| 1248 | Init(); | ||
| 1249 | AddToStateObject(ContainingStateObject); | ||
| 1250 | } | ||
| 1251 | void SetAlphaToCoverageEnable(bool alphaToCoverageEnable) | ||
| 1252 | { | ||
| 1253 | m_Desc.AlphaToCoverageEnable = alphaToCoverageEnable; | ||
| 1254 | } | ||
| 1255 | void SetIndependentBlendEnable(bool independentBlendEnable) | ||
| 1256 | { | ||
| 1257 | m_Desc.IndependentBlendEnable = independentBlendEnable; | ||
| 1258 | } | ||
| 1259 | void SetRenderTarget(UINT renderTargetIndex, const D3D12_RENDER_TARGET_BLEND_DESC& renderTargetBlendDesc) | ||
| 1260 | { | ||
| 1261 | m_Desc.RenderTarget[renderTargetIndex].BlendEnable = renderTargetBlendDesc.BlendEnable; | ||
| 1262 | m_Desc.RenderTarget[renderTargetIndex].BlendOp = renderTargetBlendDesc.BlendOp; | ||
| 1263 | m_Desc.RenderTarget[renderTargetIndex].BlendOpAlpha = renderTargetBlendDesc.BlendOpAlpha; | ||
| 1264 | m_Desc.RenderTarget[renderTargetIndex].DestBlend = renderTargetBlendDesc.DestBlend; | ||
| 1265 | m_Desc.RenderTarget[renderTargetIndex].DestBlendAlpha = renderTargetBlendDesc.DestBlendAlpha; | ||
| 1266 | m_Desc.RenderTarget[renderTargetIndex].LogicOp = renderTargetBlendDesc.LogicOp; | ||
| 1267 | m_Desc.RenderTarget[renderTargetIndex].LogicOpEnable = renderTargetBlendDesc.LogicOpEnable; | ||
| 1268 | m_Desc.RenderTarget[renderTargetIndex].RenderTargetWriteMask = renderTargetBlendDesc.RenderTargetWriteMask; | ||
| 1269 | m_Desc.RenderTarget[renderTargetIndex].SrcBlend = renderTargetBlendDesc.SrcBlend; | ||
| 1270 | m_Desc.RenderTarget[renderTargetIndex].SrcBlendAlpha = renderTargetBlendDesc.SrcBlendAlpha; | ||
| 1271 | } | ||
| 1272 | D3D12_STATE_SUBOBJECT_TYPE Type() const noexcept override | ||
| 1273 | { | ||
| 1274 | return D3D12_STATE_SUBOBJECT_TYPE_BLEND; | ||
| 1275 | } | ||
| 1276 | operator const D3D12_BLEND_DESC& () const noexcept { return m_Desc; } | ||
| 1277 | operator D3D12_BLEND_DESC& () noexcept { return m_Desc; } | ||
| 1278 | private: | ||
| 1279 | void Init() noexcept | ||
| 1280 | { | ||
| 1281 | SUBOBJECT_HELPER_BASE::Init(); | ||
| 1282 | } | ||
| 1283 | void* Data() noexcept override { return &m_Desc; } | ||
| 1284 | CD3DX12_BLEND_DESC m_Desc; | ||
| 1285 | }; | ||
| 1286 | |||
| 1287 | //------------------------------------------------------------------------------------------------ | ||
| 1288 | class CD3DX12_RASTERIZER_SUBOBJECT | ||
| 1289 | : public CD3DX12_STATE_OBJECT_DESC::SUBOBJECT_HELPER_BASE | ||
| 1290 | { | ||
| 1291 | public: | ||
| 1292 | CD3DX12_RASTERIZER_SUBOBJECT() | ||
| 1293 | : m_Desc(CD3DX12_RASTERIZER_DESC2(D3D12_DEFAULT)) | ||
| 1294 | { | ||
| 1295 | Init(); | ||
| 1296 | } | ||
| 1297 | CD3DX12_RASTERIZER_SUBOBJECT(CD3DX12_STATE_OBJECT_DESC& ContainingStateObject) | ||
| 1298 | : m_Desc(CD3DX12_RASTERIZER_DESC2(D3D12_DEFAULT)) | ||
| 1299 | { | ||
| 1300 | Init(); | ||
| 1301 | AddToStateObject(ContainingStateObject); | ||
| 1302 | } | ||
| 1303 | CD3DX12_RASTERIZER_SUBOBJECT(const D3D12_RASTERIZER_DESC2 &desc) | ||
| 1304 | : m_Desc(desc) | ||
| 1305 | { | ||
| 1306 | Init(); | ||
| 1307 | } | ||
| 1308 | CD3DX12_RASTERIZER_SUBOBJECT(const D3D12_RASTERIZER_DESC2 &desc, CD3DX12_STATE_OBJECT_DESC& ContainingStateObject) | ||
| 1309 | : m_Desc(desc) | ||
| 1310 | { | ||
| 1311 | Init(); | ||
| 1312 | AddToStateObject(ContainingStateObject); | ||
| 1313 | } | ||
| 1314 | void SetFillMode(D3D12_FILL_MODE fillMode) | ||
| 1315 | { | ||
| 1316 | m_Desc.FillMode = fillMode; | ||
| 1317 | } | ||
| 1318 | void SetCullMode(D3D12_CULL_MODE cullMode) | ||
| 1319 | { | ||
| 1320 | m_Desc.CullMode = cullMode; | ||
| 1321 | } | ||
| 1322 | void SetFrontCounterClockwise(BOOL frontCounterClockwise) | ||
| 1323 | { | ||
| 1324 | m_Desc.FrontCounterClockwise = frontCounterClockwise; | ||
| 1325 | } | ||
| 1326 | void SetDepthBias(FLOAT depthBias) | ||
| 1327 | { | ||
| 1328 | m_Desc.DepthBias = depthBias; | ||
| 1329 | } | ||
| 1330 | void SetDepthBiasClamp(FLOAT depthBiasClamp) | ||
| 1331 | { | ||
| 1332 | m_Desc.DepthBiasClamp = depthBiasClamp; | ||
| 1333 | } | ||
| 1334 | void SetSlopeScaledDepthBias(FLOAT slopeScaledDepthBias) | ||
| 1335 | { | ||
| 1336 | m_Desc.SlopeScaledDepthBias = slopeScaledDepthBias; | ||
| 1337 | } | ||
| 1338 | void SetDepthClipEnable(BOOL depthClipEnable) | ||
| 1339 | { | ||
| 1340 | m_Desc.DepthClipEnable = depthClipEnable; | ||
| 1341 | } | ||
| 1342 | void SetLineRasterizationMode(D3D12_LINE_RASTERIZATION_MODE lineRasterizationMode) | ||
| 1343 | { | ||
| 1344 | m_Desc.LineRasterizationMode = lineRasterizationMode; | ||
| 1345 | } | ||
| 1346 | void SetForcedSampleCount(UINT forcedSampleCount) | ||
| 1347 | { | ||
| 1348 | m_Desc.ForcedSampleCount = forcedSampleCount; | ||
| 1349 | } | ||
| 1350 | void SetConservativeRaster(D3D12_CONSERVATIVE_RASTERIZATION_MODE conservativeRaster) | ||
| 1351 | { | ||
| 1352 | m_Desc.ConservativeRaster = conservativeRaster; | ||
| 1353 | } | ||
| 1354 | D3D12_STATE_SUBOBJECT_TYPE Type() const noexcept override | ||
| 1355 | { | ||
| 1356 | return D3D12_STATE_SUBOBJECT_TYPE_RASTERIZER; | ||
| 1357 | } | ||
| 1358 | operator const D3D12_RASTERIZER_DESC2& () const noexcept { return m_Desc; } | ||
| 1359 | operator D3D12_RASTERIZER_DESC2& () noexcept { return m_Desc; } | ||
| 1360 | private: | ||
| 1361 | void Init() noexcept | ||
| 1362 | { | ||
| 1363 | SUBOBJECT_HELPER_BASE::Init(); | ||
| 1364 | } | ||
| 1365 | void* Data() noexcept override { return &m_Desc; } | ||
| 1366 | CD3DX12_RASTERIZER_DESC2 m_Desc; | ||
| 1367 | }; | ||
| 1368 | |||
| 1369 | //------------------------------------------------------------------------------------------------ | ||
| 1370 | class CD3DX12_DEPTH_STENCIL2_SUBOBJECT | ||
| 1371 | : public CD3DX12_STATE_OBJECT_DESC::SUBOBJECT_HELPER_BASE | ||
| 1372 | { | ||
| 1373 | public: | ||
| 1374 | CD3DX12_DEPTH_STENCIL2_SUBOBJECT() | ||
| 1375 | : m_Desc(CD3DX12_DEPTH_STENCIL_DESC2(D3D12_DEFAULT)) | ||
| 1376 | { | ||
| 1377 | Init(); | ||
| 1378 | } | ||
| 1379 | CD3DX12_DEPTH_STENCIL2_SUBOBJECT(CD3DX12_STATE_OBJECT_DESC& ContainingStateObject) | ||
| 1380 | : m_Desc(CD3DX12_DEPTH_STENCIL_DESC2(D3D12_DEFAULT)) | ||
| 1381 | { | ||
| 1382 | Init(); | ||
| 1383 | AddToStateObject(ContainingStateObject); | ||
| 1384 | } | ||
| 1385 | CD3DX12_DEPTH_STENCIL2_SUBOBJECT(const D3D12_DEPTH_STENCIL_DESC2 &desc) | ||
| 1386 | : m_Desc(desc) | ||
| 1387 | { | ||
| 1388 | Init(); | ||
| 1389 | } | ||
| 1390 | CD3DX12_DEPTH_STENCIL2_SUBOBJECT(const D3D12_DEPTH_STENCIL_DESC2 &desc, CD3DX12_STATE_OBJECT_DESC& ContainingStateObject) | ||
| 1391 | : m_Desc(desc) | ||
| 1392 | { | ||
| 1393 | Init(); | ||
| 1394 | AddToStateObject(ContainingStateObject); | ||
| 1395 | } | ||
| 1396 | void SetDepthEnable(BOOL depthEnable) | ||
| 1397 | { | ||
| 1398 | m_Desc.DepthEnable = depthEnable; | ||
| 1399 | } | ||
| 1400 | void SetDepthWriteMask(D3D12_DEPTH_WRITE_MASK depthWriteMask) | ||
| 1401 | { | ||
| 1402 | m_Desc.DepthWriteMask = depthWriteMask; | ||
| 1403 | } | ||
| 1404 | void SetDepthFunc(D3D12_COMPARISON_FUNC depthFunc) | ||
| 1405 | { | ||
| 1406 | m_Desc.DepthFunc = depthFunc; | ||
| 1407 | } | ||
| 1408 | void SetStencilEnable(BOOL stencilEnable) | ||
| 1409 | { | ||
| 1410 | m_Desc.StencilEnable = stencilEnable; | ||
| 1411 | } | ||
| 1412 | void SetFrontFace(D3D12_DEPTH_STENCILOP_DESC1 frontFace) | ||
| 1413 | { | ||
| 1414 | m_Desc.FrontFace = { | ||
| 1415 | frontFace.StencilFailOp, | ||
| 1416 | frontFace.StencilDepthFailOp, | ||
| 1417 | frontFace.StencilPassOp, | ||
| 1418 | frontFace.StencilFunc, | ||
| 1419 | frontFace.StencilReadMask, | ||
| 1420 | frontFace.StencilWriteMask | ||
| 1421 | }; | ||
| 1422 | } | ||
| 1423 | void SetBackFace(D3D12_DEPTH_STENCILOP_DESC1 backFace) | ||
| 1424 | { | ||
| 1425 | m_Desc.BackFace = { | ||
| 1426 | backFace.StencilFailOp, | ||
| 1427 | backFace.StencilDepthFailOp, | ||
| 1428 | backFace.StencilPassOp, | ||
| 1429 | backFace.StencilFunc, | ||
| 1430 | backFace.StencilReadMask, | ||
| 1431 | backFace.StencilWriteMask | ||
| 1432 | }; | ||
| 1433 | } | ||
| 1434 | void SetDepthBoundsTestEnable(BOOL depthBoundsTestEnable) | ||
| 1435 | { | ||
| 1436 | m_Desc.DepthBoundsTestEnable = depthBoundsTestEnable; | ||
| 1437 | } | ||
| 1438 | D3D12_STATE_SUBOBJECT_TYPE Type() const noexcept override | ||
| 1439 | { | ||
| 1440 | return D3D12_STATE_SUBOBJECT_TYPE_DEPTH_STENCIL2; | ||
| 1441 | } | ||
| 1442 | operator const D3D12_DEPTH_STENCIL_DESC2& () const noexcept { return m_Desc; } | ||
| 1443 | operator D3D12_DEPTH_STENCIL_DESC2& () noexcept { return m_Desc; } | ||
| 1444 | private: | ||
| 1445 | void Init() noexcept | ||
| 1446 | { | ||
| 1447 | SUBOBJECT_HELPER_BASE::Init(); | ||
| 1448 | } | ||
| 1449 | void* Data() noexcept override { return &m_Desc; } | ||
| 1450 | CD3DX12_DEPTH_STENCIL_DESC2 m_Desc; | ||
| 1451 | }; | ||
| 1452 | |||
| 1453 | //------------------------------------------------------------------------------------------------ | ||
| 1454 | class CD3DX12_INPUT_LAYOUT_SUBOBJECT | ||
| 1455 | : public CD3DX12_STATE_OBJECT_DESC::SUBOBJECT_HELPER_BASE | ||
| 1456 | { | ||
| 1457 | public: | ||
| 1458 | CD3DX12_INPUT_LAYOUT_SUBOBJECT() | ||
| 1459 | { | ||
| 1460 | Init(); | ||
| 1461 | } | ||
| 1462 | CD3DX12_INPUT_LAYOUT_SUBOBJECT(CD3DX12_STATE_OBJECT_DESC& ContainingStateObject) | ||
| 1463 | { | ||
| 1464 | Init(); | ||
| 1465 | AddToStateObject(ContainingStateObject); | ||
| 1466 | } | ||
| 1467 | void AddInputLayoutElementDesc(D3D12_INPUT_ELEMENT_DESC inputLayoutElementDesc) | ||
| 1468 | { | ||
| 1469 | m_inputLayoutElements.emplace_back( | ||
| 1470 | D3D12_INPUT_ELEMENT_DESC{ | ||
| 1471 | m_Strings.LocalCopy(inputLayoutElementDesc.SemanticName), | ||
| 1472 | inputLayoutElementDesc.SemanticIndex, | ||
| 1473 | inputLayoutElementDesc.Format, | ||
| 1474 | inputLayoutElementDesc.InputSlot, | ||
| 1475 | inputLayoutElementDesc.AlignedByteOffset, | ||
| 1476 | inputLayoutElementDesc.InputSlotClass, | ||
| 1477 | inputLayoutElementDesc.InstanceDataStepRate | ||
| 1478 | }); | ||
| 1479 | ++m_Desc.NumElements; | ||
| 1480 | // Below: using ugly way to get pointer in case .data() is not defined | ||
| 1481 | m_Desc.pInputElementDescs = &m_inputLayoutElements[0]; | ||
| 1482 | } | ||
| 1483 | D3D12_STATE_SUBOBJECT_TYPE Type() const noexcept override | ||
| 1484 | { | ||
| 1485 | return D3D12_STATE_SUBOBJECT_TYPE_INPUT_LAYOUT; | ||
| 1486 | } | ||
| 1487 | operator const D3D12_INPUT_LAYOUT_DESC& () const noexcept { return m_Desc; } | ||
| 1488 | private: | ||
| 1489 | void Init() noexcept | ||
| 1490 | { | ||
| 1491 | SUBOBJECT_HELPER_BASE::Init(); | ||
| 1492 | m_Desc = {}; | ||
| 1493 | m_inputLayoutElements.clear(); | ||
| 1494 | } | ||
| 1495 | void* Data() noexcept override { return &m_Desc; } | ||
| 1496 | D3D12_INPUT_LAYOUT_DESC m_Desc; | ||
| 1497 | std::vector<D3D12_INPUT_ELEMENT_DESC> m_inputLayoutElements; | ||
| 1498 | CD3DX12_STATE_OBJECT_DESC::StringContainer<LPCSTR, std::string> m_Strings; | ||
| 1499 | }; | ||
| 1500 | |||
| 1501 | //------------------------------------------------------------------------------------------------ | ||
| 1502 | class CD3DX12_IB_STRIP_CUT_VALUE_SUBOBJECT | ||
| 1503 | : public CD3DX12_STATE_OBJECT_DESC::SUBOBJECT_HELPER_BASE | ||
| 1504 | { | ||
| 1505 | public: | ||
| 1506 | CD3DX12_IB_STRIP_CUT_VALUE_SUBOBJECT() | ||
| 1507 | : m_Desc(D3D12_INDEX_BUFFER_STRIP_CUT_VALUE_DISABLED) | ||
| 1508 | { | ||
| 1509 | Init(); | ||
| 1510 | } | ||
| 1511 | CD3DX12_IB_STRIP_CUT_VALUE_SUBOBJECT(CD3DX12_STATE_OBJECT_DESC& ContainingStateObject) | ||
| 1512 | : m_Desc(D3D12_INDEX_BUFFER_STRIP_CUT_VALUE_DISABLED) | ||
| 1513 | { | ||
| 1514 | Init(); | ||
| 1515 | AddToStateObject(ContainingStateObject); | ||
| 1516 | } | ||
| 1517 | CD3DX12_IB_STRIP_CUT_VALUE_SUBOBJECT(D3D12_INDEX_BUFFER_STRIP_CUT_VALUE desc) | ||
| 1518 | : m_Desc(desc) | ||
| 1519 | { | ||
| 1520 | Init(); | ||
| 1521 | } | ||
| 1522 | CD3DX12_IB_STRIP_CUT_VALUE_SUBOBJECT(D3D12_INDEX_BUFFER_STRIP_CUT_VALUE desc, CD3DX12_STATE_OBJECT_DESC& ContainingStateObject) | ||
| 1523 | : m_Desc(desc) | ||
| 1524 | { | ||
| 1525 | Init(); | ||
| 1526 | AddToStateObject(ContainingStateObject); | ||
| 1527 | } | ||
| 1528 | void SetIBStripCutValue(D3D12_INDEX_BUFFER_STRIP_CUT_VALUE ibStripCutValue) | ||
| 1529 | { | ||
| 1530 | m_Desc = ibStripCutValue; | ||
| 1531 | } | ||
| 1532 | D3D12_STATE_SUBOBJECT_TYPE Type() const noexcept override | ||
| 1533 | { | ||
| 1534 | return D3D12_STATE_SUBOBJECT_TYPE_IB_STRIP_CUT_VALUE; | ||
| 1535 | } | ||
| 1536 | operator const D3D12_INDEX_BUFFER_STRIP_CUT_VALUE& () const noexcept { return m_Desc; } | ||
| 1537 | operator D3D12_INDEX_BUFFER_STRIP_CUT_VALUE& () noexcept { return m_Desc; } | ||
| 1538 | private: | ||
| 1539 | void Init() noexcept | ||
| 1540 | { | ||
| 1541 | SUBOBJECT_HELPER_BASE::Init(); | ||
| 1542 | } | ||
| 1543 | void* Data() noexcept override { return &m_Desc; } | ||
| 1544 | D3D12_INDEX_BUFFER_STRIP_CUT_VALUE m_Desc; | ||
| 1545 | }; | ||
| 1546 | |||
| 1547 | //------------------------------------------------------------------------------------------------ | ||
| 1548 | class CD3DX12_PRIMITIVE_TOPOLOGY_SUBOBJECT | ||
| 1549 | : public CD3DX12_STATE_OBJECT_DESC::SUBOBJECT_HELPER_BASE | ||
| 1550 | { | ||
| 1551 | public: | ||
| 1552 | CD3DX12_PRIMITIVE_TOPOLOGY_SUBOBJECT() | ||
| 1553 | : m_Desc(D3D12_PRIMITIVE_TOPOLOGY_TYPE_UNDEFINED) | ||
| 1554 | { | ||
| 1555 | Init(); | ||
| 1556 | } | ||
| 1557 | CD3DX12_PRIMITIVE_TOPOLOGY_SUBOBJECT(CD3DX12_STATE_OBJECT_DESC& ContainingStateObject) | ||
| 1558 | : m_Desc(D3D12_PRIMITIVE_TOPOLOGY_TYPE_UNDEFINED) | ||
| 1559 | { | ||
| 1560 | Init(); | ||
| 1561 | AddToStateObject(ContainingStateObject); | ||
| 1562 | } | ||
| 1563 | CD3DX12_PRIMITIVE_TOPOLOGY_SUBOBJECT(D3D12_PRIMITIVE_TOPOLOGY_TYPE desc) | ||
| 1564 | : m_Desc(desc) | ||
| 1565 | { | ||
| 1566 | Init(); | ||
| 1567 | } | ||
| 1568 | CD3DX12_PRIMITIVE_TOPOLOGY_SUBOBJECT(D3D12_PRIMITIVE_TOPOLOGY_TYPE desc, CD3DX12_STATE_OBJECT_DESC& ContainingStateObject) | ||
| 1569 | : m_Desc(desc) | ||
| 1570 | { | ||
| 1571 | Init(); | ||
| 1572 | AddToStateObject(ContainingStateObject); | ||
| 1573 | } | ||
| 1574 | void SetPrimitiveTopologyType(D3D12_PRIMITIVE_TOPOLOGY_TYPE primitiveTopologytype) | ||
| 1575 | { | ||
| 1576 | m_Desc = primitiveTopologytype; | ||
| 1577 | } | ||
| 1578 | D3D12_STATE_SUBOBJECT_TYPE Type() const noexcept override | ||
| 1579 | { | ||
| 1580 | return D3D12_STATE_SUBOBJECT_TYPE_PRIMITIVE_TOPOLOGY; | ||
| 1581 | } | ||
| 1582 | operator const D3D12_PRIMITIVE_TOPOLOGY_TYPE& () const noexcept { return m_Desc; } | ||
| 1583 | operator D3D12_PRIMITIVE_TOPOLOGY_TYPE& () noexcept { return m_Desc; } | ||
| 1584 | private: | ||
| 1585 | void Init() noexcept | ||
| 1586 | { | ||
| 1587 | SUBOBJECT_HELPER_BASE::Init(); | ||
| 1588 | } | ||
| 1589 | void* Data() noexcept override { return &m_Desc; } | ||
| 1590 | D3D12_PRIMITIVE_TOPOLOGY_TYPE m_Desc; | ||
| 1591 | }; | ||
| 1592 | |||
| 1593 | //------------------------------------------------------------------------------------------------ | ||
| 1594 | class CD3DX12_RENDER_TARGET_FORMATS_SUBOBJECT | ||
| 1595 | : public CD3DX12_STATE_OBJECT_DESC::SUBOBJECT_HELPER_BASE | ||
| 1596 | { | ||
| 1597 | public: | ||
| 1598 | CD3DX12_RENDER_TARGET_FORMATS_SUBOBJECT() | ||
| 1599 | : m_Desc({}) | ||
| 1600 | { | ||
| 1601 | Init(); | ||
| 1602 | } | ||
| 1603 | CD3DX12_RENDER_TARGET_FORMATS_SUBOBJECT(CD3DX12_STATE_OBJECT_DESC& ContainingStateObject) | ||
| 1604 | : m_Desc({}) | ||
| 1605 | { | ||
| 1606 | Init(); | ||
| 1607 | AddToStateObject(ContainingStateObject); | ||
| 1608 | } | ||
| 1609 | CD3DX12_RENDER_TARGET_FORMATS_SUBOBJECT(const D3D12_RT_FORMAT_ARRAY &desc) | ||
| 1610 | : m_Desc(desc) | ||
| 1611 | { | ||
| 1612 | Init(); | ||
| 1613 | } | ||
| 1614 | CD3DX12_RENDER_TARGET_FORMATS_SUBOBJECT(const D3D12_RT_FORMAT_ARRAY &desc, CD3DX12_STATE_OBJECT_DESC& ContainingStateObject) | ||
| 1615 | : m_Desc(desc) | ||
| 1616 | { | ||
| 1617 | Init(); | ||
| 1618 | AddToStateObject(ContainingStateObject); | ||
| 1619 | } | ||
| 1620 | void SetNumRenderTargets(UINT numRenderTargets) | ||
| 1621 | { | ||
| 1622 | m_Desc.NumRenderTargets = numRenderTargets; | ||
| 1623 | } | ||
| 1624 | void SetRenderTargetFormat(UINT renderTarget, DXGI_FORMAT renderTargetFormat) | ||
| 1625 | { | ||
| 1626 | m_Desc.RTFormats[renderTarget] = renderTargetFormat; | ||
| 1627 | } | ||
| 1628 | D3D12_STATE_SUBOBJECT_TYPE Type() const noexcept override | ||
| 1629 | { | ||
| 1630 | return D3D12_STATE_SUBOBJECT_TYPE_RENDER_TARGET_FORMATS; | ||
| 1631 | } | ||
| 1632 | operator const D3D12_RT_FORMAT_ARRAY& () const noexcept { return m_Desc; } | ||
| 1633 | operator D3D12_RT_FORMAT_ARRAY& () noexcept { return m_Desc; } | ||
| 1634 | private: | ||
| 1635 | void Init() noexcept | ||
| 1636 | { | ||
| 1637 | SUBOBJECT_HELPER_BASE::Init(); | ||
| 1638 | } | ||
| 1639 | void* Data() noexcept override { return &m_Desc; } | ||
| 1640 | D3D12_RT_FORMAT_ARRAY m_Desc; | ||
| 1641 | }; | ||
| 1642 | |||
| 1643 | //------------------------------------------------------------------------------------------------ | ||
| 1644 | class CD3DX12_DEPTH_STENCIL_FORMAT_SUBOBJECT | ||
| 1645 | : public CD3DX12_STATE_OBJECT_DESC::SUBOBJECT_HELPER_BASE | ||
| 1646 | { | ||
| 1647 | public: | ||
| 1648 | CD3DX12_DEPTH_STENCIL_FORMAT_SUBOBJECT() | ||
| 1649 | : m_Desc(DXGI_FORMAT_UNKNOWN) | ||
| 1650 | { | ||
| 1651 | Init(); | ||
| 1652 | } | ||
| 1653 | CD3DX12_DEPTH_STENCIL_FORMAT_SUBOBJECT(CD3DX12_STATE_OBJECT_DESC& ContainingStateObject) | ||
| 1654 | : m_Desc(DXGI_FORMAT_UNKNOWN) | ||
| 1655 | { | ||
| 1656 | Init(); | ||
| 1657 | AddToStateObject(ContainingStateObject); | ||
| 1658 | } | ||
| 1659 | CD3DX12_DEPTH_STENCIL_FORMAT_SUBOBJECT(DXGI_FORMAT desc) | ||
| 1660 | : m_Desc(desc) | ||
| 1661 | { | ||
| 1662 | Init(); | ||
| 1663 | } | ||
| 1664 | CD3DX12_DEPTH_STENCIL_FORMAT_SUBOBJECT(DXGI_FORMAT desc, CD3DX12_STATE_OBJECT_DESC& ContainingStateObject) | ||
| 1665 | : m_Desc(desc) | ||
| 1666 | { | ||
| 1667 | Init(); | ||
| 1668 | AddToStateObject(ContainingStateObject); | ||
| 1669 | } | ||
| 1670 | void SetDepthStencilFormat(DXGI_FORMAT depthStencilFormat) | ||
| 1671 | { | ||
| 1672 | m_Desc = depthStencilFormat; | ||
| 1673 | } | ||
| 1674 | D3D12_STATE_SUBOBJECT_TYPE Type() const noexcept override | ||
| 1675 | { | ||
| 1676 | return D3D12_STATE_SUBOBJECT_TYPE_DEPTH_STENCIL_FORMAT; | ||
| 1677 | } | ||
| 1678 | operator const DXGI_FORMAT& () const noexcept { return m_Desc; } | ||
| 1679 | operator DXGI_FORMAT& () noexcept { return m_Desc; } | ||
| 1680 | private: | ||
| 1681 | void Init() noexcept | ||
| 1682 | { | ||
| 1683 | SUBOBJECT_HELPER_BASE::Init(); | ||
| 1684 | } | ||
| 1685 | void* Data() noexcept override { return &m_Desc; } | ||
| 1686 | DXGI_FORMAT m_Desc; | ||
| 1687 | }; | ||
| 1688 | |||
| 1689 | //------------------------------------------------------------------------------------------------ | ||
| 1690 | class CD3DX12_SAMPLE_DESC_SUBOBJECT | ||
| 1691 | : public CD3DX12_STATE_OBJECT_DESC::SUBOBJECT_HELPER_BASE | ||
| 1692 | { | ||
| 1693 | public: | ||
| 1694 | CD3DX12_SAMPLE_DESC_SUBOBJECT() | ||
| 1695 | : m_Desc({1, 0}) | ||
| 1696 | { | ||
| 1697 | Init(); | ||
| 1698 | } | ||
| 1699 | CD3DX12_SAMPLE_DESC_SUBOBJECT(CD3DX12_STATE_OBJECT_DESC& ContainingStateObject) | ||
| 1700 | : m_Desc({1, 0}) | ||
| 1701 | { | ||
| 1702 | Init(); | ||
| 1703 | AddToStateObject(ContainingStateObject); | ||
| 1704 | } | ||
| 1705 | CD3DX12_SAMPLE_DESC_SUBOBJECT(const DXGI_SAMPLE_DESC &desc) | ||
| 1706 | : m_Desc(desc) | ||
| 1707 | { | ||
| 1708 | Init(); | ||
| 1709 | } | ||
| 1710 | CD3DX12_SAMPLE_DESC_SUBOBJECT(const DXGI_SAMPLE_DESC &desc, CD3DX12_STATE_OBJECT_DESC& ContainingStateObject) | ||
| 1711 | : m_Desc(desc) | ||
| 1712 | { | ||
| 1713 | Init(); | ||
| 1714 | AddToStateObject(ContainingStateObject); | ||
| 1715 | } | ||
| 1716 | void SetCount(UINT count) | ||
| 1717 | { | ||
| 1718 | m_Desc.Count = count; | ||
| 1719 | } | ||
| 1720 | void SetQuality(UINT quality) | ||
| 1721 | { | ||
| 1722 | m_Desc.Quality = quality; | ||
| 1723 | } | ||
| 1724 | D3D12_STATE_SUBOBJECT_TYPE Type() const noexcept override | ||
| 1725 | { | ||
| 1726 | return D3D12_STATE_SUBOBJECT_TYPE_SAMPLE_DESC; | ||
| 1727 | } | ||
| 1728 | operator const DXGI_SAMPLE_DESC& () const noexcept { return m_Desc; } | ||
| 1729 | operator DXGI_SAMPLE_DESC& () noexcept { return m_Desc; } | ||
| 1730 | private: | ||
| 1731 | void Init() noexcept | ||
| 1732 | { | ||
| 1733 | SUBOBJECT_HELPER_BASE::Init(); | ||
| 1734 | m_Desc = {}; | ||
| 1735 | } | ||
| 1736 | void* Data() noexcept override { return &m_Desc; } | ||
| 1737 | DXGI_SAMPLE_DESC m_Desc; | ||
| 1738 | }; | ||
| 1739 | |||
| 1740 | //------------------------------------------------------------------------------------------------ | ||
| 1741 | class CD3DX12_FLAGS_SUBOBJECT | ||
| 1742 | : public CD3DX12_STATE_OBJECT_DESC::SUBOBJECT_HELPER_BASE | ||
| 1743 | { | ||
| 1744 | public: | ||
| 1745 | CD3DX12_FLAGS_SUBOBJECT() | ||
| 1746 | : m_Desc(D3D12_PIPELINE_STATE_FLAG_NONE) | ||
| 1747 | { | ||
| 1748 | Init(); | ||
| 1749 | } | ||
| 1750 | CD3DX12_FLAGS_SUBOBJECT(CD3DX12_STATE_OBJECT_DESC& ContainingStateObject) | ||
| 1751 | : m_Desc(D3D12_PIPELINE_STATE_FLAG_NONE) | ||
| 1752 | { | ||
| 1753 | Init(); | ||
| 1754 | AddToStateObject(ContainingStateObject); | ||
| 1755 | } | ||
| 1756 | CD3DX12_FLAGS_SUBOBJECT(D3D12_PIPELINE_STATE_FLAGS desc) | ||
| 1757 | : m_Desc(desc) | ||
| 1758 | { | ||
| 1759 | Init(); | ||
| 1760 | } | ||
| 1761 | CD3DX12_FLAGS_SUBOBJECT(D3D12_PIPELINE_STATE_FLAGS desc, CD3DX12_STATE_OBJECT_DESC& ContainingStateObject) | ||
| 1762 | : m_Desc(desc) | ||
| 1763 | { | ||
| 1764 | Init(); | ||
| 1765 | AddToStateObject(ContainingStateObject); | ||
| 1766 | } | ||
| 1767 | void SetFlags(D3D12_PIPELINE_STATE_FLAGS flags) | ||
| 1768 | { | ||
| 1769 | m_Desc = flags; | ||
| 1770 | } | ||
| 1771 | D3D12_STATE_SUBOBJECT_TYPE Type() const noexcept override | ||
| 1772 | { | ||
| 1773 | return D3D12_STATE_SUBOBJECT_TYPE_FLAGS; | ||
| 1774 | } | ||
| 1775 | operator const D3D12_PIPELINE_STATE_FLAGS& () const noexcept { return m_Desc; } | ||
| 1776 | operator D3D12_PIPELINE_STATE_FLAGS& () noexcept { return m_Desc; } | ||
| 1777 | private: | ||
| 1778 | void Init() noexcept | ||
| 1779 | { | ||
| 1780 | SUBOBJECT_HELPER_BASE::Init(); | ||
| 1781 | } | ||
| 1782 | void* Data() noexcept override { return &m_Desc; } | ||
| 1783 | D3D12_PIPELINE_STATE_FLAGS m_Desc; | ||
| 1784 | }; | ||
| 1785 | |||
| 1786 | //------------------------------------------------------------------------------------------------ | ||
| 1787 | class CD3DX12_VIEW_INSTANCING_SUBOBJECT | ||
| 1788 | : public CD3DX12_STATE_OBJECT_DESC::SUBOBJECT_HELPER_BASE | ||
| 1789 | { | ||
| 1790 | public: | ||
| 1791 | CD3DX12_VIEW_INSTANCING_SUBOBJECT() | ||
| 1792 | { | ||
| 1793 | Init(); | ||
| 1794 | } | ||
| 1795 | CD3DX12_VIEW_INSTANCING_SUBOBJECT(CD3DX12_STATE_OBJECT_DESC& ContainingStateObject) | ||
| 1796 | { | ||
| 1797 | Init(); | ||
| 1798 | AddToStateObject(ContainingStateObject); | ||
| 1799 | } | ||
| 1800 | void AddViewInstanceLocation(D3D12_VIEW_INSTANCE_LOCATION viewInstanceLocation) | ||
| 1801 | { | ||
| 1802 | m_Desc.ViewInstanceCount++; | ||
| 1803 | m_viewInstanceLocations.emplace_back( | ||
| 1804 | D3D12_VIEW_INSTANCE_LOCATION | ||
| 1805 | { | ||
| 1806 | viewInstanceLocation.ViewportArrayIndex, | ||
| 1807 | viewInstanceLocation.RenderTargetArrayIndex | ||
| 1808 | } | ||
| 1809 | ); | ||
| 1810 | // Below: using ugly way to get pointer in case .data() is not defined | ||
| 1811 | m_Desc.pViewInstanceLocations = &m_viewInstanceLocations[0]; | ||
| 1812 | } | ||
| 1813 | void SetFlags(D3D12_VIEW_INSTANCING_FLAGS flags) | ||
| 1814 | { | ||
| 1815 | m_Desc.Flags = flags; | ||
| 1816 | } | ||
| 1817 | D3D12_STATE_SUBOBJECT_TYPE Type() const noexcept override | ||
| 1818 | { | ||
| 1819 | return D3D12_STATE_SUBOBJECT_TYPE_VIEW_INSTANCING; | ||
| 1820 | } | ||
| 1821 | operator const D3D12_VIEW_INSTANCING_DESC& () const noexcept { return m_Desc; } | ||
| 1822 | private: | ||
| 1823 | void Init() noexcept | ||
| 1824 | { | ||
| 1825 | SUBOBJECT_HELPER_BASE::Init(); | ||
| 1826 | m_Desc = CD3DX12_VIEW_INSTANCING_DESC(D3D12_DEFAULT); | ||
| 1827 | m_viewInstanceLocations.clear(); | ||
| 1828 | } | ||
| 1829 | void* Data() noexcept override { return &m_Desc; } | ||
| 1830 | CD3DX12_VIEW_INSTANCING_DESC m_Desc; | ||
| 1831 | std::vector<D3D12_VIEW_INSTANCE_LOCATION> m_viewInstanceLocations; | ||
| 1832 | }; | ||
| 1833 | |||
| 1834 | //------------------------------------------------------------------------------------------------ | ||
| 1835 | class CD3DX12_DEPTH_STENCIL_SUBOBJECT | ||
| 1836 | : public CD3DX12_STATE_OBJECT_DESC::SUBOBJECT_HELPER_BASE | ||
| 1837 | { | ||
| 1838 | public: | ||
| 1839 | CD3DX12_DEPTH_STENCIL_SUBOBJECT() | ||
| 1840 | : m_Desc(CD3DX12_DEPTH_STENCIL_DESC(D3D12_DEFAULT)) | ||
| 1841 | { | ||
| 1842 | Init(); | ||
| 1843 | } | ||
| 1844 | CD3DX12_DEPTH_STENCIL_SUBOBJECT(CD3DX12_STATE_OBJECT_DESC& ContainingStateObject) | ||
| 1845 | : m_Desc(CD3DX12_DEPTH_STENCIL_DESC(D3D12_DEFAULT)) | ||
| 1846 | { | ||
| 1847 | Init(); | ||
| 1848 | AddToStateObject(ContainingStateObject); | ||
| 1849 | } | ||
| 1850 | CD3DX12_DEPTH_STENCIL_SUBOBJECT(const D3D12_DEPTH_STENCIL_DESC &desc) | ||
| 1851 | : m_Desc(desc) | ||
| 1852 | { | ||
| 1853 | Init(); | ||
| 1854 | } | ||
| 1855 | CD3DX12_DEPTH_STENCIL_SUBOBJECT(const D3D12_DEPTH_STENCIL_DESC &desc, CD3DX12_STATE_OBJECT_DESC& ContainingStateObject) | ||
| 1856 | : m_Desc(desc) | ||
| 1857 | { | ||
| 1858 | Init(); | ||
| 1859 | AddToStateObject(ContainingStateObject); | ||
| 1860 | } | ||
| 1861 | void SetDepthEnable(BOOL depthEnable) | ||
| 1862 | { | ||
| 1863 | m_Desc.DepthEnable = depthEnable; | ||
| 1864 | } | ||
| 1865 | void SetDepthWriteMask(D3D12_DEPTH_WRITE_MASK depthWriteMask) | ||
| 1866 | { | ||
| 1867 | m_Desc.DepthWriteMask = depthWriteMask; | ||
| 1868 | } | ||
| 1869 | void SetDepthFunc(D3D12_COMPARISON_FUNC depthFunc) | ||
| 1870 | { | ||
| 1871 | m_Desc.DepthFunc = depthFunc; | ||
| 1872 | } | ||
| 1873 | void SetStencilEnable(BOOL stencilEnable) | ||
| 1874 | { | ||
| 1875 | m_Desc.StencilEnable = stencilEnable; | ||
| 1876 | } | ||
| 1877 | void SetStencilReadMask(UINT8 stencilReadMask) | ||
| 1878 | { | ||
| 1879 | m_Desc.StencilReadMask = stencilReadMask; | ||
| 1880 | } | ||
| 1881 | void SetStencilWriteMask(UINT8 stencilWriteMask) | ||
| 1882 | { | ||
| 1883 | m_Desc.StencilWriteMask = stencilWriteMask; | ||
| 1884 | } | ||
| 1885 | void SetFrontFace(D3D12_DEPTH_STENCILOP_DESC frontFace) | ||
| 1886 | { | ||
| 1887 | m_Desc.FrontFace = { | ||
| 1888 | frontFace.StencilFailOp, | ||
| 1889 | frontFace.StencilDepthFailOp, | ||
| 1890 | frontFace.StencilPassOp, | ||
| 1891 | frontFace.StencilFunc | ||
| 1892 | }; | ||
| 1893 | } | ||
| 1894 | void SetBackFace(D3D12_DEPTH_STENCILOP_DESC backFace) | ||
| 1895 | { | ||
| 1896 | m_Desc.BackFace = { | ||
| 1897 | backFace.StencilFailOp, | ||
| 1898 | backFace.StencilDepthFailOp, | ||
| 1899 | backFace.StencilPassOp, | ||
| 1900 | backFace.StencilFunc | ||
| 1901 | }; | ||
| 1902 | } | ||
| 1903 | D3D12_STATE_SUBOBJECT_TYPE Type() const noexcept override | ||
| 1904 | { | ||
| 1905 | return D3D12_STATE_SUBOBJECT_TYPE_DEPTH_STENCIL; | ||
| 1906 | } | ||
| 1907 | operator const D3D12_DEPTH_STENCIL_DESC& () const noexcept { return m_Desc; } | ||
| 1908 | operator D3D12_DEPTH_STENCIL_DESC& () noexcept { return m_Desc; } | ||
| 1909 | private: | ||
| 1910 | void Init() noexcept | ||
| 1911 | { | ||
| 1912 | SUBOBJECT_HELPER_BASE::Init(); | ||
| 1913 | } | ||
| 1914 | void* Data() noexcept override { return &m_Desc; } | ||
| 1915 | CD3DX12_DEPTH_STENCIL_DESC m_Desc; | ||
| 1916 | }; | ||
| 1917 | |||
| 1918 | //------------------------------------------------------------------------------------------------ | ||
| 1919 | class CD3DX12_DEPTH_STENCIL1_SUBOBJECT | ||
| 1920 | : public CD3DX12_STATE_OBJECT_DESC::SUBOBJECT_HELPER_BASE | ||
| 1921 | { | ||
| 1922 | public: | ||
| 1923 | CD3DX12_DEPTH_STENCIL1_SUBOBJECT() | ||
| 1924 | : m_Desc(CD3DX12_DEPTH_STENCIL_DESC1(D3D12_DEFAULT)) | ||
| 1925 | { | ||
| 1926 | Init(); | ||
| 1927 | } | ||
| 1928 | CD3DX12_DEPTH_STENCIL1_SUBOBJECT(CD3DX12_STATE_OBJECT_DESC& ContainingStateObject) | ||
| 1929 | : m_Desc(CD3DX12_DEPTH_STENCIL_DESC1(D3D12_DEFAULT)) | ||
| 1930 | { | ||
| 1931 | Init(); | ||
| 1932 | AddToStateObject(ContainingStateObject); | ||
| 1933 | } | ||
| 1934 | CD3DX12_DEPTH_STENCIL1_SUBOBJECT(const D3D12_DEPTH_STENCIL_DESC1 &desc) | ||
| 1935 | : m_Desc(desc) | ||
| 1936 | { | ||
| 1937 | Init(); | ||
| 1938 | } | ||
| 1939 | CD3DX12_DEPTH_STENCIL1_SUBOBJECT(const D3D12_DEPTH_STENCIL_DESC1 &desc, CD3DX12_STATE_OBJECT_DESC& ContainingStateObject) | ||
| 1940 | : m_Desc(desc) | ||
| 1941 | { | ||
| 1942 | Init(); | ||
| 1943 | AddToStateObject(ContainingStateObject); | ||
| 1944 | } | ||
| 1945 | void SetDepthEnable(BOOL depthEnable) | ||
| 1946 | { | ||
| 1947 | m_Desc.DepthEnable = depthEnable; | ||
| 1948 | } | ||
| 1949 | void SetDepthWriteMask(D3D12_DEPTH_WRITE_MASK depthWriteMask) | ||
| 1950 | { | ||
| 1951 | m_Desc.DepthWriteMask = depthWriteMask; | ||
| 1952 | } | ||
| 1953 | void SetDepthFunc(D3D12_COMPARISON_FUNC depthFunc) | ||
| 1954 | { | ||
| 1955 | m_Desc.DepthFunc = depthFunc; | ||
| 1956 | } | ||
| 1957 | void SetStencilEnable(BOOL stencilEnable) | ||
| 1958 | { | ||
| 1959 | m_Desc.StencilEnable = stencilEnable; | ||
| 1960 | } | ||
| 1961 | void SetStencilReadMask(UINT8 stencilReadMask) | ||
| 1962 | { | ||
| 1963 | m_Desc.StencilReadMask = stencilReadMask; | ||
| 1964 | } | ||
| 1965 | void SetStencilWriteMask(UINT8 stencilWriteMask) | ||
| 1966 | { | ||
| 1967 | m_Desc.StencilWriteMask = stencilWriteMask; | ||
| 1968 | } | ||
| 1969 | void SetFrontFace(D3D12_DEPTH_STENCILOP_DESC frontFace) | ||
| 1970 | { | ||
| 1971 | m_Desc.FrontFace = { | ||
| 1972 | frontFace.StencilFailOp, | ||
| 1973 | frontFace.StencilDepthFailOp, | ||
| 1974 | frontFace.StencilPassOp, | ||
| 1975 | frontFace.StencilFunc | ||
| 1976 | }; | ||
| 1977 | } | ||
| 1978 | void SetBackFace(D3D12_DEPTH_STENCILOP_DESC backFace) | ||
| 1979 | { | ||
| 1980 | m_Desc.BackFace = { | ||
| 1981 | backFace.StencilFailOp, | ||
| 1982 | backFace.StencilDepthFailOp, | ||
| 1983 | backFace.StencilPassOp, | ||
| 1984 | backFace.StencilFunc | ||
| 1985 | }; | ||
| 1986 | } | ||
| 1987 | void SetDepthBoundsTestEnable(BOOL depthBoundsTestEnable) | ||
| 1988 | { | ||
| 1989 | m_Desc.DepthBoundsTestEnable = depthBoundsTestEnable; | ||
| 1990 | } | ||
| 1991 | D3D12_STATE_SUBOBJECT_TYPE Type() const noexcept override | ||
| 1992 | { | ||
| 1993 | return D3D12_STATE_SUBOBJECT_TYPE_DEPTH_STENCIL1; | ||
| 1994 | } | ||
| 1995 | operator const D3D12_DEPTH_STENCIL_DESC1& () const noexcept { return m_Desc; } | ||
| 1996 | operator D3D12_DEPTH_STENCIL_DESC1& () noexcept { return m_Desc; } | ||
| 1997 | private: | ||
| 1998 | void Init() noexcept | ||
| 1999 | { | ||
| 2000 | SUBOBJECT_HELPER_BASE::Init(); | ||
| 2001 | } | ||
| 2002 | void* Data() noexcept override { return &m_Desc; } | ||
| 2003 | CD3DX12_DEPTH_STENCIL_DESC1 m_Desc; | ||
| 2004 | }; | ||
| 2005 | |||
| 2006 | //------------------------------------------------------------------------------------------------ | ||
| 2007 | class CD3DX12_SAMPLE_MASK_SUBOBJECT | ||
| 2008 | : public CD3DX12_STATE_OBJECT_DESC::SUBOBJECT_HELPER_BASE | ||
| 2009 | { | ||
| 2010 | public: | ||
| 2011 | CD3DX12_SAMPLE_MASK_SUBOBJECT() | ||
| 2012 | : m_Desc(0xffffffffu) | ||
| 2013 | { | ||
| 2014 | Init(); | ||
| 2015 | } | ||
| 2016 | CD3DX12_SAMPLE_MASK_SUBOBJECT(CD3DX12_STATE_OBJECT_DESC& ContainingStateObject) | ||
| 2017 | : m_Desc(0xffffffffu) | ||
| 2018 | { | ||
| 2019 | Init(); | ||
| 2020 | AddToStateObject(ContainingStateObject); | ||
| 2021 | } | ||
| 2022 | CD3DX12_SAMPLE_MASK_SUBOBJECT(UINT desc) | ||
| 2023 | : m_Desc(desc) | ||
| 2024 | { | ||
| 2025 | Init(); | ||
| 2026 | } | ||
| 2027 | CD3DX12_SAMPLE_MASK_SUBOBJECT(UINT desc, CD3DX12_STATE_OBJECT_DESC& ContainingStateObject) | ||
| 2028 | : m_Desc(desc) | ||
| 2029 | { | ||
| 2030 | Init(); | ||
| 2031 | AddToStateObject(ContainingStateObject); | ||
| 2032 | } | ||
| 2033 | void SetSampleMask(UINT sampleMask) | ||
| 2034 | { | ||
| 2035 | m_Desc = sampleMask; | ||
| 2036 | } | ||
| 2037 | D3D12_STATE_SUBOBJECT_TYPE Type() const noexcept override | ||
| 2038 | { | ||
| 2039 | return D3D12_STATE_SUBOBJECT_TYPE_SAMPLE_MASK; | ||
| 2040 | } | ||
| 2041 | operator const UINT& () const noexcept { return m_Desc; } | ||
| 2042 | operator UINT& () noexcept { return m_Desc; } | ||
| 2043 | private: | ||
| 2044 | void Init() noexcept | ||
| 2045 | { | ||
| 2046 | SUBOBJECT_HELPER_BASE::Init(); | ||
| 2047 | } | ||
| 2048 | void* Data() noexcept override { return &m_Desc; } | ||
| 2049 | UINT m_Desc; | ||
| 2050 | }; | ||
| 2051 | |||
| 2052 | //------------------------------------------------------------------------------------------------ | ||
| 2053 | class CD3DX12_GENERIC_PROGRAM_SUBOBJECT | ||
| 2054 | : public CD3DX12_STATE_OBJECT_DESC::SUBOBJECT_HELPER_BASE | ||
| 2055 | { | ||
| 2056 | public: | ||
| 2057 | CD3DX12_GENERIC_PROGRAM_SUBOBJECT() | ||
| 2058 | { | ||
| 2059 | Init(); | ||
| 2060 | } | ||
| 2061 | CD3DX12_GENERIC_PROGRAM_SUBOBJECT(CD3DX12_STATE_OBJECT_DESC& ContainingStateObject) | ||
| 2062 | { | ||
| 2063 | Init(); | ||
| 2064 | AddToStateObject(ContainingStateObject); | ||
| 2065 | } | ||
| 2066 | void SetProgramName(LPCWSTR ProgramName) | ||
| 2067 | { | ||
| 2068 | m_Desc.ProgramName = m_Strings.LocalCopy(ProgramName); | ||
| 2069 | } | ||
| 2070 | void AddExport(LPCWSTR exportName) | ||
| 2071 | { | ||
| 2072 | m_Exports.emplace_back(m_Strings.LocalCopy(exportName)); | ||
| 2073 | m_Desc.NumExports++; | ||
| 2074 | // Below: using ugly way to get pointer in case .data() is not defined | ||
| 2075 | m_Desc.pExports = &m_Exports[0]; | ||
| 2076 | } | ||
| 2077 | void AddSubobject(const D3D12_STATE_SUBOBJECT& subobject) | ||
| 2078 | { | ||
| 2079 | m_Subobjects.emplace_back(&subobject); | ||
| 2080 | m_Desc.NumSubobjects++; | ||
| 2081 | // Below: using ugly way to get pointer in case .data() is not defined | ||
| 2082 | m_Desc.ppSubobjects = &m_Subobjects[0]; | ||
| 2083 | } | ||
| 2084 | D3D12_STATE_SUBOBJECT_TYPE Type() const noexcept override | ||
| 2085 | { | ||
| 2086 | return D3D12_STATE_SUBOBJECT_TYPE_GENERIC_PROGRAM; | ||
| 2087 | } | ||
| 2088 | operator const D3D12_GENERIC_PROGRAM_DESC& () const noexcept { return m_Desc; } | ||
| 2089 | private: | ||
| 2090 | void Init() noexcept | ||
| 2091 | { | ||
| 2092 | SUBOBJECT_HELPER_BASE::Init(); | ||
| 2093 | m_Desc = {}; | ||
| 2094 | } | ||
| 2095 | void* Data() noexcept override { return &m_Desc; } | ||
| 2096 | D3D12_GENERIC_PROGRAM_DESC m_Desc; | ||
| 2097 | std::vector<LPCWSTR> m_Exports; | ||
| 2098 | std::vector<D3D12_STATE_SUBOBJECT const*> m_Subobjects; | ||
| 2099 | CD3DX12_STATE_OBJECT_DESC::StringContainer<LPCWSTR, std::wstring> m_Strings; | ||
| 2100 | }; | ||
| 2101 | |||
| 2102 | //------------------------------------------------------------------------------------------------ | ||
| 2103 | class CD3DX12_NODE_OUTPUT_OVERRIDES | ||
| 2104 | { | ||
| 2105 | public: | ||
| 2106 | CD3DX12_NODE_OUTPUT_OVERRIDES(const D3D12_NODE_OUTPUT_OVERRIDES** ppOwner, UINT* pNumOutputOverrides) noexcept | ||
| 2107 | { | ||
| 2108 | m_Desc.clear(); | ||
| 2109 | m_ppOwner = ppOwner; | ||
| 2110 | *m_ppOwner = nullptr; | ||
| 2111 | m_pNumOutputOverrides = pNumOutputOverrides; | ||
| 2112 | *m_pNumOutputOverrides = 0; | ||
| 2113 | } | ||
| 2114 | void NewOutputOverride() | ||
| 2115 | { | ||
| 2116 | m_Desc.emplace_back(D3D12_NODE_OUTPUT_OVERRIDES{}); | ||
| 2117 | *m_ppOwner = m_Desc.data(); | ||
| 2118 | (*m_pNumOutputOverrides)++; | ||
| 2119 | } | ||
| 2120 | void OutputIndex(UINT index) | ||
| 2121 | { | ||
| 2122 | m_Desc.back().OutputIndex = index; | ||
| 2123 | } | ||
| 2124 | void NewName(LPCWSTR Name, UINT ArrayIndex = 0) | ||
| 2125 | { | ||
| 2126 | m_NodeIDs.emplace_front(D3D12_NODE_ID{ m_Strings.LocalCopy(Name),ArrayIndex }); | ||
| 2127 | m_Desc.back().pNewName = &m_NodeIDs.front(); | ||
| 2128 | } | ||
| 2129 | void AllowSparseNodes(BOOL bAllow) | ||
| 2130 | { | ||
| 2131 | m_UINTs.emplace_front((UINT)bAllow); | ||
| 2132 | m_Desc.back().pAllowSparseNodes = (BOOL*)&m_UINTs.front(); | ||
| 2133 | } | ||
| 2134 | void MaxOutputRecords(UINT maxOutputRecords) noexcept | ||
| 2135 | { | ||
| 2136 | m_UINTs.emplace_front(maxOutputRecords); | ||
| 2137 | m_Desc.back().pMaxRecords = &m_UINTs.front(); | ||
| 2138 | } | ||
| 2139 | void MaxOutputRecordsSharedWith(UINT outputIndex) noexcept | ||
| 2140 | { | ||
| 2141 | m_UINTs.emplace_front(outputIndex); | ||
| 2142 | m_Desc.back().pMaxRecordsSharedWithOutputIndex = &m_UINTs.front(); | ||
| 2143 | } | ||
| 2144 | private: | ||
| 2145 | std::vector<D3D12_NODE_OUTPUT_OVERRIDES> m_Desc; | ||
| 2146 | // Cached parameters | ||
| 2147 | CD3DX12_STATE_OBJECT_DESC::StringContainer<LPCWSTR, std::wstring> m_Strings; | ||
| 2148 | std::forward_list<UINT> m_UINTs; | ||
| 2149 | std::forward_list<D3D12_NODE_ID> m_NodeIDs; | ||
| 2150 | const D3D12_NODE_OUTPUT_OVERRIDES** m_ppOwner; | ||
| 2151 | UINT* m_pNumOutputOverrides; | ||
| 2152 | }; | ||
| 2153 | |||
| 2154 | //------------------------------------------------------------------------------------------------ | ||
| 2155 | class CD3DX12_WORK_GRAPH_SUBOBJECT; | ||
| 2156 | |||
| 2157 | //------------------------------------------------------------------------------------------------ | ||
| 2158 | class CD3DX12_NODE_HELPER_BASE | ||
| 2159 | { | ||
| 2160 | protected: | ||
| 2161 | struct Backreference | ||
| 2162 | { | ||
| 2163 | CD3DX12_WORK_GRAPH_SUBOBJECT *m_pGraph; | ||
| 2164 | UINT m_NodeIndex; | ||
| 2165 | }; | ||
| 2166 | public: | ||
| 2167 | CD3DX12_NODE_HELPER_BASE(const Backreference &BackRef) | ||
| 2168 | : m_BackRef(BackRef) | ||
| 2169 | { | ||
| 2170 | } | ||
| 2171 | virtual ~CD3DX12_NODE_HELPER_BASE() = default; | ||
| 2172 | protected: | ||
| 2173 | D3D12_NODE *GetNode() const; | ||
| 2174 | const Backreference m_BackRef; | ||
| 2175 | CD3DX12_STATE_OBJECT_DESC::StringContainer<LPCWSTR, std::wstring> m_Strings; | ||
| 2176 | }; | ||
| 2177 | |||
| 2178 | //------------------------------------------------------------------------------------------------ | ||
| 2179 | class CD3DX12_SHADER_NODE // Not specifying launch mode. | ||
| 2180 | // Don't need to distinguish if no parameter overriding is happening | ||
| 2181 | : public CD3DX12_NODE_HELPER_BASE | ||
| 2182 | { | ||
| 2183 | public: | ||
| 2184 | CD3DX12_SHADER_NODE( | ||
| 2185 | const Backreference &BackRef, | ||
| 2186 | LPCWSTR _Shader = nullptr) | ||
| 2187 | : CD3DX12_NODE_HELPER_BASE(BackRef) | ||
| 2188 | { | ||
| 2189 | GetNode()->NodeType = D3D12_NODE_TYPE_SHADER; | ||
| 2190 | Shader(_Shader); | ||
| 2191 | } | ||
| 2192 | void Shader(LPCWSTR _Shader) | ||
| 2193 | { | ||
| 2194 | GetNode()->Shader.Shader = m_Strings.LocalCopy(_Shader); | ||
| 2195 | } | ||
| 2196 | LPCWSTR GetShaderName() const { return GetNode()->Shader.Shader; } | ||
| 2197 | }; | ||
| 2198 | |||
| 2199 | #endif // D3D12_SDK_VERSION >= 612 | ||
| 2200 | |||
| 2201 | |||
| 2202 | #if defined(D3D12_SDK_VERSION) && (D3D12_SDK_VERSION >= 612) | ||
| 2203 | |||
| 2204 | //------------------------------------------------------------------------------------------------ | ||
| 2205 | // Use this class when defining a broadcasting launch node where configuration parameters | ||
| 2206 | // need to be overridden. If overrides are not needed, just use CD3DX12_COMPUTE_SHADER_NODE | ||
| 2207 | class CD3DX12_BROADCASTING_LAUNCH_NODE_OVERRIDES | ||
| 2208 | : public CD3DX12_NODE_HELPER_BASE | ||
| 2209 | { | ||
| 2210 | public: | ||
| 2211 | CD3DX12_BROADCASTING_LAUNCH_NODE_OVERRIDES( | ||
| 2212 | const Backreference &BackRef, | ||
| 2213 | LPCWSTR _Shader = nullptr) : | ||
| 2214 | CD3DX12_NODE_HELPER_BASE(BackRef), | ||
| 2215 | m_NodeOutputOverrides(&Overrides.pOutputOverrides, &Overrides.NumOutputOverrides) | ||
| 2216 | { | ||
| 2217 | Overrides = {}; | ||
| 2218 | D3D12_NODE *pNode = GetNode(); | ||
| 2219 | pNode->NodeType = D3D12_NODE_TYPE_SHADER; | ||
| 2220 | pNode->Shader.OverridesType = D3D12_NODE_OVERRIDES_TYPE_BROADCASTING_LAUNCH; | ||
| 2221 | pNode->Shader.pBroadcastingLaunchOverrides = &Overrides; | ||
| 2222 | Shader(_Shader); | ||
| 2223 | } | ||
| 2224 | void Shader(LPCWSTR _Shader) | ||
| 2225 | { | ||
| 2226 | GetNode()->Shader.Shader = m_Strings.LocalCopy(_Shader); | ||
| 2227 | } | ||
| 2228 | LPCWSTR GetShaderName() const { return GetNode()->Shader.Shader; } | ||
| 2229 | void LocalRootArgumentsTableIndex(UINT index) | ||
| 2230 | { | ||
| 2231 | m_UINTs.emplace_front(index); | ||
| 2232 | Overrides.pLocalRootArgumentsTableIndex = &m_UINTs.front(); | ||
| 2233 | } | ||
| 2234 | void ProgramEntry(BOOL bIsProgramEntry) | ||
| 2235 | { | ||
| 2236 | m_UINTs.emplace_front(bIsProgramEntry); | ||
| 2237 | Overrides.pProgramEntry = (BOOL*)&m_UINTs.front(); | ||
| 2238 | } | ||
| 2239 | void NewName(D3D12_NODE_ID NodeID) | ||
| 2240 | { | ||
| 2241 | m_NodeIDs.emplace_front(D3D12_NODE_ID{ m_Strings.LocalCopy(NodeID.Name),NodeID.ArrayIndex }); | ||
| 2242 | Overrides.pNewName = &m_NodeIDs.front(); | ||
| 2243 | } | ||
| 2244 | void ShareInputOf(D3D12_NODE_ID NodeID) | ||
| 2245 | { | ||
| 2246 | m_NodeIDs.emplace_front(D3D12_NODE_ID{ m_Strings.LocalCopy(NodeID.Name),NodeID.ArrayIndex }); | ||
| 2247 | Overrides.pShareInputOf = &m_NodeIDs.front(); | ||
| 2248 | } | ||
| 2249 | void DispatchGrid(UINT x, UINT y, UINT z) | ||
| 2250 | { | ||
| 2251 | m_UINT3s.emplace_front(UINT3{ x,y,z }); | ||
| 2252 | Overrides.pDispatchGrid = (UINT*)&m_UINT3s.front(); | ||
| 2253 | } | ||
| 2254 | void MaxDispatchGrid(UINT x, UINT y, UINT z) | ||
| 2255 | { | ||
| 2256 | m_UINT3s.emplace_front(UINT3{x,y,z}); | ||
| 2257 | Overrides.pMaxDispatchGrid = (UINT*)&m_UINT3s.front(); | ||
| 2258 | } | ||
| 2259 | CD3DX12_NODE_OUTPUT_OVERRIDES& NodeOutputOverrides() | ||
| 2260 | { | ||
| 2261 | return m_NodeOutputOverrides; | ||
| 2262 | } | ||
| 2263 | D3D12_BROADCASTING_LAUNCH_OVERRIDES Overrides; | ||
| 2264 | private: | ||
| 2265 | // Cached parameters | ||
| 2266 | std::forward_list<UINT> m_UINTs; | ||
| 2267 | struct UINT3 | ||
| 2268 | { | ||
| 2269 | UINT x; | ||
| 2270 | UINT y; | ||
| 2271 | UINT z; | ||
| 2272 | }; | ||
| 2273 | std::forward_list<UINT3> m_UINT3s; | ||
| 2274 | std::forward_list<D3D12_NODE_ID> m_NodeIDs; | ||
| 2275 | CD3DX12_NODE_OUTPUT_OVERRIDES m_NodeOutputOverrides; | ||
| 2276 | }; | ||
| 2277 | |||
| 2278 | //------------------------------------------------------------------------------------------------ | ||
| 2279 | // Use this class when defining a coalescing launch node where configuration parameters | ||
| 2280 | // need to be overridden. If overrides are not needed, just use CD3DX12_COMPUTE_SHADER_NODE | ||
| 2281 | class CD3DX12_COALESCING_LAUNCH_NODE_OVERRIDES | ||
| 2282 | : public CD3DX12_NODE_HELPER_BASE | ||
| 2283 | { | ||
| 2284 | public: | ||
| 2285 | CD3DX12_COALESCING_LAUNCH_NODE_OVERRIDES( | ||
| 2286 | const Backreference &BackRef, | ||
| 2287 | LPCWSTR _Shader = nullptr) : | ||
| 2288 | CD3DX12_NODE_HELPER_BASE(BackRef), | ||
| 2289 | m_NodeOutputOverrides(&Overrides.pOutputOverrides, &Overrides.NumOutputOverrides) | ||
| 2290 | { | ||
| 2291 | Overrides = {}; | ||
| 2292 | D3D12_NODE *pNode = GetNode(); | ||
| 2293 | pNode->NodeType = D3D12_NODE_TYPE_SHADER; | ||
| 2294 | pNode->Shader.OverridesType = D3D12_NODE_OVERRIDES_TYPE_COALESCING_LAUNCH; | ||
| 2295 | pNode->Shader.pCoalescingLaunchOverrides = &Overrides; | ||
| 2296 | Shader(_Shader); | ||
| 2297 | } | ||
| 2298 | void Shader(LPCWSTR _Shader) | ||
| 2299 | { | ||
| 2300 | GetNode()->Shader.Shader = m_Strings.LocalCopy(_Shader); | ||
| 2301 | } | ||
| 2302 | LPCWSTR GetShaderName() const { return GetNode()->Shader.Shader; } | ||
| 2303 | void LocalRootArgumentsTableIndex(UINT index) | ||
| 2304 | { | ||
| 2305 | m_UINTs.emplace_front(index); | ||
| 2306 | Overrides.pLocalRootArgumentsTableIndex = &m_UINTs.front(); | ||
| 2307 | } | ||
| 2308 | void ProgramEntry(BOOL bIsProgramEntry) | ||
| 2309 | { | ||
| 2310 | m_UINTs.emplace_front(bIsProgramEntry); | ||
| 2311 | Overrides.pProgramEntry = (BOOL*)&m_UINTs.front(); | ||
| 2312 | } | ||
| 2313 | void NewName(D3D12_NODE_ID NodeID) | ||
| 2314 | { | ||
| 2315 | m_NodeIDs.emplace_front(D3D12_NODE_ID{ m_Strings.LocalCopy(NodeID.Name),NodeID.ArrayIndex }); | ||
| 2316 | Overrides.pNewName = &m_NodeIDs.front(); | ||
| 2317 | } | ||
| 2318 | void ShareInputOf(D3D12_NODE_ID NodeID) | ||
| 2319 | { | ||
| 2320 | m_NodeIDs.emplace_front(D3D12_NODE_ID{ m_Strings.LocalCopy(NodeID.Name),NodeID.ArrayIndex }); | ||
| 2321 | Overrides.pShareInputOf = &m_NodeIDs.front(); | ||
| 2322 | } | ||
| 2323 | CD3DX12_NODE_OUTPUT_OVERRIDES& NodeOutputOverrides() | ||
| 2324 | { | ||
| 2325 | return m_NodeOutputOverrides; | ||
| 2326 | } | ||
| 2327 | D3D12_COALESCING_LAUNCH_OVERRIDES Overrides; | ||
| 2328 | private: | ||
| 2329 | // Cached parameters | ||
| 2330 | std::forward_list<UINT> m_UINTs; | ||
| 2331 | struct UINT3 | ||
| 2332 | { | ||
| 2333 | UINT x; | ||
| 2334 | UINT y; | ||
| 2335 | UINT z; | ||
| 2336 | }; | ||
| 2337 | std::forward_list<UINT3> m_UINT3s; | ||
| 2338 | std::forward_list<D3D12_NODE_ID> m_NodeIDs; | ||
| 2339 | CD3DX12_NODE_OUTPUT_OVERRIDES m_NodeOutputOverrides; | ||
| 2340 | }; | ||
| 2341 | |||
| 2342 | //------------------------------------------------------------------------------------------------ | ||
| 2343 | // Use this class when defining a thread launch node where configuration parameters | ||
| 2344 | // need to be overridden. If overrides are not needed, just use CD3DX12_COMPUTE_SHADER_NODE | ||
| 2345 | class CD3DX12_THREAD_LAUNCH_NODE_OVERRIDES | ||
| 2346 | : public CD3DX12_NODE_HELPER_BASE | ||
| 2347 | { | ||
| 2348 | public: | ||
| 2349 | CD3DX12_THREAD_LAUNCH_NODE_OVERRIDES( | ||
| 2350 | const Backreference &BackRef, | ||
| 2351 | LPCWSTR _Shader = nullptr) : | ||
| 2352 | CD3DX12_NODE_HELPER_BASE(BackRef), | ||
| 2353 | m_NodeOutputOverrides(&Overrides.pOutputOverrides, &Overrides.NumOutputOverrides) | ||
| 2354 | { | ||
| 2355 | Overrides = {}; | ||
| 2356 | D3D12_NODE *pNode = GetNode(); | ||
| 2357 | pNode->NodeType = D3D12_NODE_TYPE_SHADER; | ||
| 2358 | pNode->Shader.OverridesType = D3D12_NODE_OVERRIDES_TYPE_THREAD_LAUNCH; | ||
| 2359 | pNode->Shader.pThreadLaunchOverrides = &Overrides; | ||
| 2360 | Shader(_Shader); | ||
| 2361 | } | ||
| 2362 | void Shader(LPCWSTR _Shader) | ||
| 2363 | { | ||
| 2364 | GetNode()->Shader.Shader = m_Strings.LocalCopy(_Shader); | ||
| 2365 | } | ||
| 2366 | LPCWSTR GetShaderName() const { return GetNode()->Shader.Shader; } | ||
| 2367 | void LocalRootArgumentsTableIndex(UINT index) | ||
| 2368 | { | ||
| 2369 | m_UINTs.emplace_front(index); | ||
| 2370 | Overrides.pLocalRootArgumentsTableIndex = &m_UINTs.front(); | ||
| 2371 | } | ||
| 2372 | void ProgramEntry(BOOL bIsProgramEntry) | ||
| 2373 | { | ||
| 2374 | m_UINTs.emplace_front(bIsProgramEntry); | ||
| 2375 | Overrides.pProgramEntry = (BOOL*)&m_UINTs.front(); | ||
| 2376 | } | ||
| 2377 | void NewName(D3D12_NODE_ID NodeID) | ||
| 2378 | { | ||
| 2379 | m_NodeIDs.emplace_front(D3D12_NODE_ID{ m_Strings.LocalCopy(NodeID.Name),NodeID.ArrayIndex }); | ||
| 2380 | Overrides.pNewName = &m_NodeIDs.front(); | ||
| 2381 | } | ||
| 2382 | void ShareInputOf(D3D12_NODE_ID NodeID) | ||
| 2383 | { | ||
| 2384 | m_NodeIDs.emplace_front(D3D12_NODE_ID{ m_Strings.LocalCopy(NodeID.Name),NodeID.ArrayIndex }); | ||
| 2385 | Overrides.pShareInputOf = &m_NodeIDs.front(); | ||
| 2386 | } | ||
| 2387 | CD3DX12_NODE_OUTPUT_OVERRIDES& NodeOutputOverrides() | ||
| 2388 | { | ||
| 2389 | return m_NodeOutputOverrides; | ||
| 2390 | } | ||
| 2391 | D3D12_THREAD_LAUNCH_OVERRIDES Overrides; | ||
| 2392 | private: | ||
| 2393 | // Cached parameters | ||
| 2394 | std::forward_list<UINT> m_UINTs; | ||
| 2395 | std::forward_list<D3D12_NODE_ID> m_NodeIDs; | ||
| 2396 | CD3DX12_NODE_OUTPUT_OVERRIDES m_NodeOutputOverrides; | ||
| 2397 | }; | ||
| 2398 | |||
| 2399 | //------------------------------------------------------------------------------------------------ | ||
| 2400 | // Use this class when defining a node where configuration parameters | ||
| 2401 | // need to be overridden for parameters that are common to all launch node types. | ||
| 2402 | // This option is a convenience if you don't want to determine what the launch mode is | ||
| 2403 | // and just want to override a setting that isn't specific to launch mode. | ||
| 2404 | // If overrides are not needed, just use CD3DX12_COMPUTE_SHADER_NODE | ||
| 2405 | class CD3DX12_COMMON_COMPUTE_NODE_OVERRIDES | ||
| 2406 | : public CD3DX12_NODE_HELPER_BASE | ||
| 2407 | { | ||
| 2408 | public: | ||
| 2409 | CD3DX12_COMMON_COMPUTE_NODE_OVERRIDES( | ||
| 2410 | const Backreference &BackRef, | ||
| 2411 | LPCWSTR _Shader = nullptr) : | ||
| 2412 | CD3DX12_NODE_HELPER_BASE(BackRef), | ||
| 2413 | m_NodeOutputOverrides(&Overrides.pOutputOverrides, &Overrides.NumOutputOverrides) | ||
| 2414 | { | ||
| 2415 | Overrides = {}; | ||
| 2416 | D3D12_NODE *pNode = GetNode(); | ||
| 2417 | pNode->NodeType = D3D12_NODE_TYPE_SHADER; | ||
| 2418 | pNode->Shader.OverridesType = D3D12_NODE_OVERRIDES_TYPE_COMMON_COMPUTE; | ||
| 2419 | pNode->Shader.pThreadLaunchOverrides = &Overrides; | ||
| 2420 | Shader(_Shader); | ||
| 2421 | } | ||
| 2422 | void Shader(LPCWSTR _Shader) | ||
| 2423 | { | ||
| 2424 | GetNode()->Shader.Shader = m_Strings.LocalCopy(_Shader); | ||
| 2425 | } | ||
| 2426 | LPCWSTR GetShaderName() const { return GetNode()->Shader.Shader; } | ||
| 2427 | void LocalRootArgumentsTableIndex(UINT index) | ||
| 2428 | { | ||
| 2429 | m_UINTs.emplace_front(index); | ||
| 2430 | Overrides.pLocalRootArgumentsTableIndex = &m_UINTs.front(); | ||
| 2431 | } | ||
| 2432 | void ProgramEntry(BOOL bIsProgramEntry) | ||
| 2433 | { | ||
| 2434 | m_UINTs.emplace_front(bIsProgramEntry); | ||
| 2435 | Overrides.pProgramEntry = (BOOL*)&m_UINTs.front(); | ||
| 2436 | } | ||
| 2437 | void NewName(D3D12_NODE_ID NodeID) | ||
| 2438 | { | ||
| 2439 | m_NodeIDs.emplace_front(D3D12_NODE_ID{ m_Strings.LocalCopy(NodeID.Name),NodeID.ArrayIndex }); | ||
| 2440 | Overrides.pNewName = &m_NodeIDs.front(); | ||
| 2441 | } | ||
| 2442 | void ShareInputOf(D3D12_NODE_ID NodeID) | ||
| 2443 | { | ||
| 2444 | m_NodeIDs.emplace_front(D3D12_NODE_ID{ m_Strings.LocalCopy(NodeID.Name),NodeID.ArrayIndex }); | ||
| 2445 | Overrides.pShareInputOf = &m_NodeIDs.front(); | ||
| 2446 | } | ||
| 2447 | CD3DX12_NODE_OUTPUT_OVERRIDES& NodeOutputOverrides() | ||
| 2448 | { | ||
| 2449 | return m_NodeOutputOverrides; | ||
| 2450 | } | ||
| 2451 | D3D12_THREAD_LAUNCH_OVERRIDES Overrides; | ||
| 2452 | private: | ||
| 2453 | // Cached parameters | ||
| 2454 | std::forward_list<UINT> m_UINTs; | ||
| 2455 | std::forward_list<D3D12_NODE_ID> m_NodeIDs; | ||
| 2456 | CD3DX12_NODE_OUTPUT_OVERRIDES m_NodeOutputOverrides; | ||
| 2457 | }; | ||
| 2458 | |||
| 2459 | //------------------------------------------------------------------------------------------------ | ||
| 2460 | class CD3DX12_WORK_GRAPH_SUBOBJECT | ||
| 2461 | : public CD3DX12_STATE_OBJECT_DESC::SUBOBJECT_HELPER_BASE | ||
| 2462 | { | ||
| 2463 | public: | ||
| 2464 | CD3DX12_WORK_GRAPH_SUBOBJECT() noexcept | ||
| 2465 | { | ||
| 2466 | Init(); | ||
| 2467 | } | ||
| 2468 | CD3DX12_WORK_GRAPH_SUBOBJECT(CD3DX12_STATE_OBJECT_DESC& ContainingStateObject) | ||
| 2469 | { | ||
| 2470 | Init(); | ||
| 2471 | AddToStateObject(ContainingStateObject); | ||
| 2472 | } | ||
| 2473 | D3D12_STATE_SUBOBJECT_TYPE Type() const noexcept override | ||
| 2474 | { | ||
| 2475 | return D3D12_STATE_SUBOBJECT_TYPE_WORK_GRAPH; | ||
| 2476 | } | ||
| 2477 | void IncludeAllAvailableNodes() | ||
| 2478 | { | ||
| 2479 | m_Desc.Flags |= D3D12_WORK_GRAPH_FLAG_INCLUDE_ALL_AVAILABLE_NODES; | ||
| 2480 | } | ||
| 2481 | |||
| 2482 | |||
| 2483 | void SetProgramName(LPCWSTR ProgramName) | ||
| 2484 | { | ||
| 2485 | m_Desc.ProgramName = m_Strings.LocalCopy(ProgramName); | ||
| 2486 | } | ||
| 2487 | void AddEntrypoint(D3D12_NODE_ID Entrypoint) | ||
| 2488 | { | ||
| 2489 | m_Entrypoints.emplace_back(D3D12_NODE_ID{ m_Strings.LocalCopy(Entrypoint.Name),Entrypoint.ArrayIndex }); | ||
| 2490 | m_Desc.NumEntrypoints++; | ||
| 2491 | m_Desc.pEntrypoints = m_Entrypoints.data(); | ||
| 2492 | } | ||
| 2493 | |||
| 2494 | template<typename T> | ||
| 2495 | T* CreateNode() | ||
| 2496 | { | ||
| 2497 | m_NodeDescs.push_back({}); | ||
| 2498 | m_Desc.NumExplicitlyDefinedNodes++; | ||
| 2499 | m_Desc.pExplicitlyDefinedNodes = m_NodeDescs.data(); | ||
| 2500 | T* pNodeHelper = new T({this, (UINT)m_NodeDescs.size() - 1}); | ||
| 2501 | m_OwnedNodeHelpers.emplace_back(pNodeHelper); | ||
| 2502 | return pNodeHelper; | ||
| 2503 | } | ||
| 2504 | CD3DX12_SHADER_NODE* CreateShaderNode(LPCWSTR Shader = nullptr) | ||
| 2505 | { | ||
| 2506 | auto pNode = CreateNode<CD3DX12_SHADER_NODE>(); | ||
| 2507 | pNode->Shader(Shader); | ||
| 2508 | return pNode; | ||
| 2509 | } | ||
| 2510 | CD3DX12_BROADCASTING_LAUNCH_NODE_OVERRIDES* CreateBroadcastingLaunchNodeOverrides(LPCWSTR Shader = nullptr) | ||
| 2511 | { | ||
| 2512 | auto pNode = CreateNode<CD3DX12_BROADCASTING_LAUNCH_NODE_OVERRIDES>(); | ||
| 2513 | pNode->Shader(Shader); | ||
| 2514 | return pNode; | ||
| 2515 | } | ||
| 2516 | CD3DX12_COALESCING_LAUNCH_NODE_OVERRIDES* CreateCoalescingLaunchNodeOverrides(LPCWSTR Shader = nullptr) | ||
| 2517 | { | ||
| 2518 | auto pNode = CreateNode<CD3DX12_COALESCING_LAUNCH_NODE_OVERRIDES>(); | ||
| 2519 | pNode->Shader(Shader); | ||
| 2520 | return pNode; | ||
| 2521 | } | ||
| 2522 | CD3DX12_THREAD_LAUNCH_NODE_OVERRIDES* CreateThreadLaunchNodeOverrides(LPCWSTR Shader = nullptr) | ||
| 2523 | { | ||
| 2524 | auto pNode = CreateNode<CD3DX12_THREAD_LAUNCH_NODE_OVERRIDES>(); | ||
| 2525 | pNode->Shader(Shader); | ||
| 2526 | return pNode; | ||
| 2527 | } | ||
| 2528 | CD3DX12_COMMON_COMPUTE_NODE_OVERRIDES* CreateCommonComputeNodeOverrides(LPCWSTR Shader = nullptr) | ||
| 2529 | { | ||
| 2530 | auto pNode = CreateNode<CD3DX12_COMMON_COMPUTE_NODE_OVERRIDES>(); | ||
| 2531 | pNode->Shader(Shader); | ||
| 2532 | return pNode; | ||
| 2533 | } | ||
| 2534 | #endif // D3D12_SDK_VERSION >= 612 | ||
| 2535 | |||
| 2536 | |||
| 2537 | #if defined(D3D12_SDK_VERSION) && (D3D12_SDK_VERSION >= 612) | ||
| 2538 | |||
| 2539 | operator const D3D12_WORK_GRAPH_DESC& () noexcept | ||
| 2540 | { | ||
| 2541 | return m_Desc; | ||
| 2542 | } | ||
| 2543 | private: | ||
| 2544 | void Init() noexcept | ||
| 2545 | { | ||
| 2546 | SUBOBJECT_HELPER_BASE::Init(); | ||
| 2547 | m_Desc = {}; | ||
| 2548 | m_Entrypoints.clear(); | ||
| 2549 | m_NodeDescs.clear(); | ||
| 2550 | } | ||
| 2551 | void* Data() noexcept override { return &m_Desc; } | ||
| 2552 | D3D12_WORK_GRAPH_DESC m_Desc; | ||
| 2553 | std::vector<D3D12_NODE_ID> m_Entrypoints; | ||
| 2554 | std::vector<D3D12_NODE> m_NodeDescs; | ||
| 2555 | CD3DX12_STATE_OBJECT_DESC::StringContainer<LPCWSTR, std::wstring> m_Strings; | ||
| 2556 | std::vector<std::unique_ptr<const CD3DX12_NODE_HELPER_BASE>> m_OwnedNodeHelpers; | ||
| 2557 | friend class CD3DX12_NODE_HELPER_BASE; | ||
| 2558 | }; | ||
| 2559 | |||
| 2560 | inline D3D12_NODE * CD3DX12_NODE_HELPER_BASE::GetNode() const | ||
| 2561 | { | ||
| 2562 | return &m_BackRef.m_pGraph->m_NodeDescs[m_BackRef.m_NodeIndex]; | ||
| 2563 | } | ||
| 2564 | #endif // D3D12_SDK_VERSION >= 612 | ||
| 2565 | |||
| 2566 | #undef D3DX12_COM_PTR | ||
| 2567 | #undef D3DX12_COM_PTR_GET | ||
| 2568 | #undef D3DX12_COM_PTR_ADDRESSOF | ||
| 2569 | |||
| 2570 | |||
diff --git a/contrib/microsoft.direct3d.d3d12.1.618.4/build/native/include/dxgiformat.h b/contrib/microsoft.direct3d.d3d12.1.618.4/build/native/include/dxgiformat.h new file mode 100644 index 0000000..83e6c07 --- /dev/null +++ b/contrib/microsoft.direct3d.d3d12.1.618.4/build/native/include/dxgiformat.h | |||
| @@ -0,0 +1,144 @@ | |||
| 1 | // | ||
| 2 | // Copyright (C) Microsoft Corporation. | ||
| 3 | // Licensed under the MIT license | ||
| 4 | // | ||
| 5 | |||
| 6 | #ifndef __dxgiformat_h__ | ||
| 7 | #define __dxgiformat_h__ | ||
| 8 | |||
| 9 | #define DXGI_FORMAT_DEFINED 1 | ||
| 10 | |||
| 11 | typedef enum DXGI_FORMAT | ||
| 12 | { | ||
| 13 | DXGI_FORMAT_UNKNOWN = 0, | ||
| 14 | DXGI_FORMAT_R32G32B32A32_TYPELESS = 1, | ||
| 15 | DXGI_FORMAT_R32G32B32A32_FLOAT = 2, | ||
| 16 | DXGI_FORMAT_R32G32B32A32_UINT = 3, | ||
| 17 | DXGI_FORMAT_R32G32B32A32_SINT = 4, | ||
| 18 | DXGI_FORMAT_R32G32B32_TYPELESS = 5, | ||
| 19 | DXGI_FORMAT_R32G32B32_FLOAT = 6, | ||
| 20 | DXGI_FORMAT_R32G32B32_UINT = 7, | ||
| 21 | DXGI_FORMAT_R32G32B32_SINT = 8, | ||
| 22 | DXGI_FORMAT_R16G16B16A16_TYPELESS = 9, | ||
| 23 | DXGI_FORMAT_R16G16B16A16_FLOAT = 10, | ||
| 24 | DXGI_FORMAT_R16G16B16A16_UNORM = 11, | ||
| 25 | DXGI_FORMAT_R16G16B16A16_UINT = 12, | ||
| 26 | DXGI_FORMAT_R16G16B16A16_SNORM = 13, | ||
| 27 | DXGI_FORMAT_R16G16B16A16_SINT = 14, | ||
| 28 | DXGI_FORMAT_R32G32_TYPELESS = 15, | ||
| 29 | DXGI_FORMAT_R32G32_FLOAT = 16, | ||
| 30 | DXGI_FORMAT_R32G32_UINT = 17, | ||
| 31 | DXGI_FORMAT_R32G32_SINT = 18, | ||
| 32 | DXGI_FORMAT_R32G8X24_TYPELESS = 19, | ||
| 33 | DXGI_FORMAT_D32_FLOAT_S8X24_UINT = 20, | ||
| 34 | DXGI_FORMAT_R32_FLOAT_X8X24_TYPELESS = 21, | ||
| 35 | DXGI_FORMAT_X32_TYPELESS_G8X24_UINT = 22, | ||
| 36 | DXGI_FORMAT_R10G10B10A2_TYPELESS = 23, | ||
| 37 | DXGI_FORMAT_R10G10B10A2_UNORM = 24, | ||
| 38 | DXGI_FORMAT_R10G10B10A2_UINT = 25, | ||
| 39 | DXGI_FORMAT_R11G11B10_FLOAT = 26, | ||
| 40 | DXGI_FORMAT_R8G8B8A8_TYPELESS = 27, | ||
| 41 | DXGI_FORMAT_R8G8B8A8_UNORM = 28, | ||
| 42 | DXGI_FORMAT_R8G8B8A8_UNORM_SRGB = 29, | ||
| 43 | DXGI_FORMAT_R8G8B8A8_UINT = 30, | ||
| 44 | DXGI_FORMAT_R8G8B8A8_SNORM = 31, | ||
| 45 | DXGI_FORMAT_R8G8B8A8_SINT = 32, | ||
| 46 | DXGI_FORMAT_R16G16_TYPELESS = 33, | ||
| 47 | DXGI_FORMAT_R16G16_FLOAT = 34, | ||
| 48 | DXGI_FORMAT_R16G16_UNORM = 35, | ||
| 49 | DXGI_FORMAT_R16G16_UINT = 36, | ||
| 50 | DXGI_FORMAT_R16G16_SNORM = 37, | ||
| 51 | DXGI_FORMAT_R16G16_SINT = 38, | ||
| 52 | DXGI_FORMAT_R32_TYPELESS = 39, | ||
| 53 | DXGI_FORMAT_D32_FLOAT = 40, | ||
| 54 | DXGI_FORMAT_R32_FLOAT = 41, | ||
| 55 | DXGI_FORMAT_R32_UINT = 42, | ||
| 56 | DXGI_FORMAT_R32_SINT = 43, | ||
| 57 | DXGI_FORMAT_R24G8_TYPELESS = 44, | ||
| 58 | DXGI_FORMAT_D24_UNORM_S8_UINT = 45, | ||
| 59 | DXGI_FORMAT_R24_UNORM_X8_TYPELESS = 46, | ||
| 60 | DXGI_FORMAT_X24_TYPELESS_G8_UINT = 47, | ||
| 61 | DXGI_FORMAT_R8G8_TYPELESS = 48, | ||
| 62 | DXGI_FORMAT_R8G8_UNORM = 49, | ||
| 63 | DXGI_FORMAT_R8G8_UINT = 50, | ||
| 64 | DXGI_FORMAT_R8G8_SNORM = 51, | ||
| 65 | DXGI_FORMAT_R8G8_SINT = 52, | ||
| 66 | DXGI_FORMAT_R16_TYPELESS = 53, | ||
| 67 | DXGI_FORMAT_R16_FLOAT = 54, | ||
| 68 | DXGI_FORMAT_D16_UNORM = 55, | ||
| 69 | DXGI_FORMAT_R16_UNORM = 56, | ||
| 70 | DXGI_FORMAT_R16_UINT = 57, | ||
| 71 | DXGI_FORMAT_R16_SNORM = 58, | ||
| 72 | DXGI_FORMAT_R16_SINT = 59, | ||
| 73 | DXGI_FORMAT_R8_TYPELESS = 60, | ||
| 74 | DXGI_FORMAT_R8_UNORM = 61, | ||
| 75 | DXGI_FORMAT_R8_UINT = 62, | ||
| 76 | DXGI_FORMAT_R8_SNORM = 63, | ||
| 77 | DXGI_FORMAT_R8_SINT = 64, | ||
| 78 | DXGI_FORMAT_A8_UNORM = 65, | ||
| 79 | DXGI_FORMAT_R1_UNORM = 66, | ||
| 80 | DXGI_FORMAT_R9G9B9E5_SHAREDEXP = 67, | ||
| 81 | DXGI_FORMAT_R8G8_B8G8_UNORM = 68, | ||
| 82 | DXGI_FORMAT_G8R8_G8B8_UNORM = 69, | ||
| 83 | DXGI_FORMAT_BC1_TYPELESS = 70, | ||
| 84 | DXGI_FORMAT_BC1_UNORM = 71, | ||
| 85 | DXGI_FORMAT_BC1_UNORM_SRGB = 72, | ||
| 86 | DXGI_FORMAT_BC2_TYPELESS = 73, | ||
| 87 | DXGI_FORMAT_BC2_UNORM = 74, | ||
| 88 | DXGI_FORMAT_BC2_UNORM_SRGB = 75, | ||
| 89 | DXGI_FORMAT_BC3_TYPELESS = 76, | ||
| 90 | DXGI_FORMAT_BC3_UNORM = 77, | ||
| 91 | DXGI_FORMAT_BC3_UNORM_SRGB = 78, | ||
| 92 | DXGI_FORMAT_BC4_TYPELESS = 79, | ||
| 93 | DXGI_FORMAT_BC4_UNORM = 80, | ||
| 94 | DXGI_FORMAT_BC4_SNORM = 81, | ||
| 95 | DXGI_FORMAT_BC5_TYPELESS = 82, | ||
| 96 | DXGI_FORMAT_BC5_UNORM = 83, | ||
| 97 | DXGI_FORMAT_BC5_SNORM = 84, | ||
| 98 | DXGI_FORMAT_B5G6R5_UNORM = 85, | ||
| 99 | DXGI_FORMAT_B5G5R5A1_UNORM = 86, | ||
| 100 | DXGI_FORMAT_B8G8R8A8_UNORM = 87, | ||
| 101 | DXGI_FORMAT_B8G8R8X8_UNORM = 88, | ||
| 102 | DXGI_FORMAT_R10G10B10_XR_BIAS_A2_UNORM = 89, | ||
| 103 | DXGI_FORMAT_B8G8R8A8_TYPELESS = 90, | ||
| 104 | DXGI_FORMAT_B8G8R8A8_UNORM_SRGB = 91, | ||
| 105 | DXGI_FORMAT_B8G8R8X8_TYPELESS = 92, | ||
| 106 | DXGI_FORMAT_B8G8R8X8_UNORM_SRGB = 93, | ||
| 107 | DXGI_FORMAT_BC6H_TYPELESS = 94, | ||
| 108 | DXGI_FORMAT_BC6H_UF16 = 95, | ||
| 109 | DXGI_FORMAT_BC6H_SF16 = 96, | ||
| 110 | DXGI_FORMAT_BC7_TYPELESS = 97, | ||
| 111 | DXGI_FORMAT_BC7_UNORM = 98, | ||
| 112 | DXGI_FORMAT_BC7_UNORM_SRGB = 99, | ||
| 113 | DXGI_FORMAT_AYUV = 100, | ||
| 114 | DXGI_FORMAT_Y410 = 101, | ||
| 115 | DXGI_FORMAT_Y416 = 102, | ||
| 116 | DXGI_FORMAT_NV12 = 103, | ||
| 117 | DXGI_FORMAT_P010 = 104, | ||
| 118 | DXGI_FORMAT_P016 = 105, | ||
| 119 | DXGI_FORMAT_420_OPAQUE = 106, | ||
| 120 | DXGI_FORMAT_YUY2 = 107, | ||
| 121 | DXGI_FORMAT_Y210 = 108, | ||
| 122 | DXGI_FORMAT_Y216 = 109, | ||
| 123 | DXGI_FORMAT_NV11 = 110, | ||
| 124 | DXGI_FORMAT_AI44 = 111, | ||
| 125 | DXGI_FORMAT_IA44 = 112, | ||
| 126 | DXGI_FORMAT_P8 = 113, | ||
| 127 | DXGI_FORMAT_A8P8 = 114, | ||
| 128 | DXGI_FORMAT_B4G4R4A4_UNORM = 115, | ||
| 129 | |||
| 130 | DXGI_FORMAT_P208 = 130, | ||
| 131 | DXGI_FORMAT_V208 = 131, | ||
| 132 | DXGI_FORMAT_V408 = 132, | ||
| 133 | |||
| 134 | |||
| 135 | DXGI_FORMAT_SAMPLER_FEEDBACK_MIN_MIP_OPAQUE = 189, | ||
| 136 | DXGI_FORMAT_SAMPLER_FEEDBACK_MIP_REGION_USED_OPAQUE = 190, | ||
| 137 | |||
| 138 | DXGI_FORMAT_A4B4G4R4_UNORM = 191, | ||
| 139 | |||
| 140 | |||
| 141 | DXGI_FORMAT_FORCE_UINT = 0xffffffff | ||
| 142 | } DXGI_FORMAT; | ||
| 143 | |||
| 144 | #endif // __dxgiformat_h__ | ||
diff --git a/contrib/microsoft.direct3d.d3d12.1.618.4/build/native/include/dxgiformat.idl b/contrib/microsoft.direct3d.d3d12.1.618.4/build/native/include/dxgiformat.idl new file mode 100644 index 0000000..34cc883 --- /dev/null +++ b/contrib/microsoft.direct3d.d3d12.1.618.4/build/native/include/dxgiformat.idl | |||
| @@ -0,0 +1,139 @@ | |||
| 1 | // | ||
| 2 | // Copyright (C) Microsoft Corporation. | ||
| 3 | // Licensed under the MIT license | ||
| 4 | // | ||
| 5 | |||
| 6 | |||
| 7 | typedef enum DXGI_FORMAT | ||
| 8 | { | ||
| 9 | DXGI_FORMAT_UNKNOWN = 0, | ||
| 10 | DXGI_FORMAT_R32G32B32A32_TYPELESS = 1, | ||
| 11 | DXGI_FORMAT_R32G32B32A32_FLOAT = 2, | ||
| 12 | DXGI_FORMAT_R32G32B32A32_UINT = 3, | ||
| 13 | DXGI_FORMAT_R32G32B32A32_SINT = 4, | ||
| 14 | DXGI_FORMAT_R32G32B32_TYPELESS = 5, | ||
| 15 | DXGI_FORMAT_R32G32B32_FLOAT = 6, | ||
| 16 | DXGI_FORMAT_R32G32B32_UINT = 7, | ||
| 17 | DXGI_FORMAT_R32G32B32_SINT = 8, | ||
| 18 | DXGI_FORMAT_R16G16B16A16_TYPELESS = 9, | ||
| 19 | DXGI_FORMAT_R16G16B16A16_FLOAT = 10, | ||
| 20 | DXGI_FORMAT_R16G16B16A16_UNORM = 11, | ||
| 21 | DXGI_FORMAT_R16G16B16A16_UINT = 12, | ||
| 22 | DXGI_FORMAT_R16G16B16A16_SNORM = 13, | ||
| 23 | DXGI_FORMAT_R16G16B16A16_SINT = 14, | ||
| 24 | DXGI_FORMAT_R32G32_TYPELESS = 15, | ||
| 25 | DXGI_FORMAT_R32G32_FLOAT = 16, | ||
| 26 | DXGI_FORMAT_R32G32_UINT = 17, | ||
| 27 | DXGI_FORMAT_R32G32_SINT = 18, | ||
| 28 | DXGI_FORMAT_R32G8X24_TYPELESS = 19, | ||
| 29 | DXGI_FORMAT_D32_FLOAT_S8X24_UINT = 20, | ||
| 30 | DXGI_FORMAT_R32_FLOAT_X8X24_TYPELESS = 21, | ||
| 31 | DXGI_FORMAT_X32_TYPELESS_G8X24_UINT = 22, | ||
| 32 | DXGI_FORMAT_R10G10B10A2_TYPELESS = 23, | ||
| 33 | DXGI_FORMAT_R10G10B10A2_UNORM = 24, | ||
| 34 | DXGI_FORMAT_R10G10B10A2_UINT = 25, | ||
| 35 | DXGI_FORMAT_R11G11B10_FLOAT = 26, | ||
| 36 | DXGI_FORMAT_R8G8B8A8_TYPELESS = 27, | ||
| 37 | DXGI_FORMAT_R8G8B8A8_UNORM = 28, | ||
| 38 | DXGI_FORMAT_R8G8B8A8_UNORM_SRGB = 29, | ||
| 39 | DXGI_FORMAT_R8G8B8A8_UINT = 30, | ||
| 40 | DXGI_FORMAT_R8G8B8A8_SNORM = 31, | ||
| 41 | DXGI_FORMAT_R8G8B8A8_SINT = 32, | ||
| 42 | DXGI_FORMAT_R16G16_TYPELESS = 33, | ||
| 43 | DXGI_FORMAT_R16G16_FLOAT = 34, | ||
| 44 | DXGI_FORMAT_R16G16_UNORM = 35, | ||
| 45 | DXGI_FORMAT_R16G16_UINT = 36, | ||
| 46 | DXGI_FORMAT_R16G16_SNORM = 37, | ||
| 47 | DXGI_FORMAT_R16G16_SINT = 38, | ||
| 48 | DXGI_FORMAT_R32_TYPELESS = 39, | ||
| 49 | DXGI_FORMAT_D32_FLOAT = 40, | ||
| 50 | DXGI_FORMAT_R32_FLOAT = 41, | ||
| 51 | DXGI_FORMAT_R32_UINT = 42, | ||
| 52 | DXGI_FORMAT_R32_SINT = 43, | ||
| 53 | DXGI_FORMAT_R24G8_TYPELESS = 44, | ||
| 54 | DXGI_FORMAT_D24_UNORM_S8_UINT = 45, | ||
| 55 | DXGI_FORMAT_R24_UNORM_X8_TYPELESS = 46, | ||
| 56 | DXGI_FORMAT_X24_TYPELESS_G8_UINT = 47, | ||
| 57 | DXGI_FORMAT_R8G8_TYPELESS = 48, | ||
| 58 | DXGI_FORMAT_R8G8_UNORM = 49, | ||
| 59 | DXGI_FORMAT_R8G8_UINT = 50, | ||
| 60 | DXGI_FORMAT_R8G8_SNORM = 51, | ||
| 61 | DXGI_FORMAT_R8G8_SINT = 52, | ||
| 62 | DXGI_FORMAT_R16_TYPELESS = 53, | ||
| 63 | DXGI_FORMAT_R16_FLOAT = 54, | ||
| 64 | DXGI_FORMAT_D16_UNORM = 55, | ||
| 65 | DXGI_FORMAT_R16_UNORM = 56, | ||
| 66 | DXGI_FORMAT_R16_UINT = 57, | ||
| 67 | DXGI_FORMAT_R16_SNORM = 58, | ||
| 68 | DXGI_FORMAT_R16_SINT = 59, | ||
| 69 | DXGI_FORMAT_R8_TYPELESS = 60, | ||
| 70 | DXGI_FORMAT_R8_UNORM = 61, | ||
| 71 | DXGI_FORMAT_R8_UINT = 62, | ||
| 72 | DXGI_FORMAT_R8_SNORM = 63, | ||
| 73 | DXGI_FORMAT_R8_SINT = 64, | ||
| 74 | DXGI_FORMAT_A8_UNORM = 65, | ||
| 75 | DXGI_FORMAT_R1_UNORM = 66, | ||
| 76 | DXGI_FORMAT_R9G9B9E5_SHAREDEXP = 67, | ||
| 77 | DXGI_FORMAT_R8G8_B8G8_UNORM = 68, | ||
| 78 | DXGI_FORMAT_G8R8_G8B8_UNORM = 69, | ||
| 79 | DXGI_FORMAT_BC1_TYPELESS = 70, | ||
| 80 | DXGI_FORMAT_BC1_UNORM = 71, | ||
| 81 | DXGI_FORMAT_BC1_UNORM_SRGB = 72, | ||
| 82 | DXGI_FORMAT_BC2_TYPELESS = 73, | ||
| 83 | DXGI_FORMAT_BC2_UNORM = 74, | ||
| 84 | DXGI_FORMAT_BC2_UNORM_SRGB = 75, | ||
| 85 | DXGI_FORMAT_BC3_TYPELESS = 76, | ||
| 86 | DXGI_FORMAT_BC3_UNORM = 77, | ||
| 87 | DXGI_FORMAT_BC3_UNORM_SRGB = 78, | ||
| 88 | DXGI_FORMAT_BC4_TYPELESS = 79, | ||
| 89 | DXGI_FORMAT_BC4_UNORM = 80, | ||
| 90 | DXGI_FORMAT_BC4_SNORM = 81, | ||
| 91 | DXGI_FORMAT_BC5_TYPELESS = 82, | ||
| 92 | DXGI_FORMAT_BC5_UNORM = 83, | ||
| 93 | DXGI_FORMAT_BC5_SNORM = 84, | ||
| 94 | DXGI_FORMAT_B5G6R5_UNORM = 85, | ||
| 95 | DXGI_FORMAT_B5G5R5A1_UNORM = 86, | ||
| 96 | DXGI_FORMAT_B8G8R8A8_UNORM = 87, | ||
| 97 | DXGI_FORMAT_B8G8R8X8_UNORM = 88, | ||
| 98 | DXGI_FORMAT_R10G10B10_XR_BIAS_A2_UNORM = 89, | ||
| 99 | DXGI_FORMAT_B8G8R8A8_TYPELESS = 90, | ||
| 100 | DXGI_FORMAT_B8G8R8A8_UNORM_SRGB = 91, | ||
| 101 | DXGI_FORMAT_B8G8R8X8_TYPELESS = 92, | ||
| 102 | DXGI_FORMAT_B8G8R8X8_UNORM_SRGB = 93, | ||
| 103 | DXGI_FORMAT_BC6H_TYPELESS = 94, | ||
| 104 | DXGI_FORMAT_BC6H_UF16 = 95, | ||
| 105 | DXGI_FORMAT_BC6H_SF16 = 96, | ||
| 106 | DXGI_FORMAT_BC7_TYPELESS = 97, | ||
| 107 | DXGI_FORMAT_BC7_UNORM = 98, | ||
| 108 | DXGI_FORMAT_BC7_UNORM_SRGB = 99, | ||
| 109 | DXGI_FORMAT_AYUV = 100, | ||
| 110 | DXGI_FORMAT_Y410 = 101, | ||
| 111 | DXGI_FORMAT_Y416 = 102, | ||
| 112 | DXGI_FORMAT_NV12 = 103, | ||
| 113 | DXGI_FORMAT_P010 = 104, | ||
| 114 | DXGI_FORMAT_P016 = 105, | ||
| 115 | DXGI_FORMAT_420_OPAQUE = 106, | ||
| 116 | DXGI_FORMAT_YUY2 = 107, | ||
| 117 | DXGI_FORMAT_Y210 = 108, | ||
| 118 | DXGI_FORMAT_Y216 = 109, | ||
| 119 | DXGI_FORMAT_NV11 = 110, | ||
| 120 | DXGI_FORMAT_AI44 = 111, | ||
| 121 | DXGI_FORMAT_IA44 = 112, | ||
| 122 | DXGI_FORMAT_P8 = 113, | ||
| 123 | DXGI_FORMAT_A8P8 = 114, | ||
| 124 | DXGI_FORMAT_B4G4R4A4_UNORM = 115, | ||
| 125 | |||
| 126 | DXGI_FORMAT_P208 = 130, | ||
| 127 | DXGI_FORMAT_V208 = 131, | ||
| 128 | DXGI_FORMAT_V408 = 132, | ||
| 129 | |||
| 130 | |||
| 131 | DXGI_FORMAT_SAMPLER_FEEDBACK_MIN_MIP_OPAQUE = 189, | ||
| 132 | DXGI_FORMAT_SAMPLER_FEEDBACK_MIP_REGION_USED_OPAQUE = 190, | ||
| 133 | |||
| 134 | DXGI_FORMAT_A4B4G4R4_UNORM = 191, | ||
| 135 | |||
| 136 | |||
| 137 | DXGI_FORMAT_FORCE_UINT = 0xffffffff | ||
| 138 | } DXGI_FORMAT; | ||
| 139 | |||
diff --git a/contrib/microsoft.direct3d.d3d12.1.618.4/build/native/src/d3dx12/d3dx12_property_format_table.cpp b/contrib/microsoft.direct3d.d3d12.1.618.4/build/native/src/d3dx12/d3dx12_property_format_table.cpp new file mode 100644 index 0000000..549bf50 --- /dev/null +++ b/contrib/microsoft.direct3d.d3d12.1.618.4/build/native/src/d3dx12/d3dx12_property_format_table.cpp | |||
| @@ -0,0 +1,2601 @@ | |||
| 1 | |||
| 2 | |||
| 3 | |||
| 4 | //********************************************************* | ||
| 5 | // | ||
| 6 | // Copyright (c) Microsoft Corporation. | ||
| 7 | // Licensed under the MIT License (MIT). | ||
| 8 | // | ||
| 9 | //********************************************************* | ||
| 10 | |||
| 11 | #ifndef WIN32_LEAN_AND_MEAN | ||
| 12 | #define WIN32_LEAN_AND_MEAN | ||
| 13 | #endif | ||
| 14 | #ifndef NOMINMAX | ||
| 15 | #define NOMINMAX 1 | ||
| 16 | #endif | ||
| 17 | #ifdef __MINGW32__ | ||
| 18 | #include <unknwn.h> | ||
| 19 | #endif | ||
| 20 | #ifndef _WIN32 | ||
| 21 | #include <wsl/winadapter.h> | ||
| 22 | #endif | ||
| 23 | #include "d3dx12_property_format_table.h" | ||
| 24 | #include <algorithm> | ||
| 25 | #include <cassert> | ||
| 26 | #include "D3D12TokenizedProgramFormat.hpp" | ||
| 27 | #if defined(__cpp_exceptions) && (!defined(_HAS_EXCEPTIONS) || _HAS_EXCEPTIONS != 0) | ||
| 28 | #include <stdexcept> | ||
| 29 | #endif | ||
| 30 | #if defined(D3D12_SDK_VERSION) && (D3D12_SDK_VERSION >= 606) | ||
| 31 | #ifndef ASSUME | ||
| 32 | #define ASSUME(x) assert(x) | ||
| 33 | #endif | ||
| 34 | |||
| 35 | #define R D3DFCN_R | ||
| 36 | #define G D3DFCN_G | ||
| 37 | #define B D3DFCN_B | ||
| 38 | #define A D3DFCN_A | ||
| 39 | #define D D3DFCN_D | ||
| 40 | #define S D3DFCN_S | ||
| 41 | #define X D3DFCN_X | ||
| 42 | |||
| 43 | #define _TYPELESS D3DFCI_TYPELESS | ||
| 44 | #define _FLOAT D3DFCI_FLOAT | ||
| 45 | #define _SNORM D3DFCI_SNORM | ||
| 46 | #define _UNORM D3DFCI_UNORM | ||
| 47 | #define _SINT D3DFCI_SINT | ||
| 48 | #define _UINT D3DFCI_UINT | ||
| 49 | #define _UNORM_SRGB D3DFCI_UNORM_SRGB | ||
| 50 | #define _FIXED_2_8 D3DFCI_BIASED_FIXED_2_8 | ||
| 51 | |||
| 52 | #ifndef INTSAFE_E_ARITHMETIC_OVERFLOW | ||
| 53 | #define INTSAFE_E_ARITHMETIC_OVERFLOW ((HRESULT)0x80070216L) | ||
| 54 | #endif | ||
| 55 | |||
| 56 | // | ||
| 57 | // UINT addition | ||
| 58 | // | ||
| 59 | inline HRESULT Safe_UIntAdd(UINT uAugend, UINT uAddend, UINT* puResult) | ||
| 60 | { | ||
| 61 | if ((uAugend + uAddend) >= uAugend) | ||
| 62 | { | ||
| 63 | *puResult = (uAugend + uAddend); | ||
| 64 | return S_OK; | ||
| 65 | } | ||
| 66 | *puResult = UINT_MAX; | ||
| 67 | return E_FAIL; | ||
| 68 | } | ||
| 69 | |||
| 70 | // | ||
| 71 | // UINT multiplication | ||
| 72 | // | ||
| 73 | inline HRESULT Safe_UIntMult(UINT uMultiplicand, UINT uMultiplier, UINT* puResult) | ||
| 74 | { | ||
| 75 | ULONGLONG ull64Result = (ULONGLONG)uMultiplicand * (ULONGLONG)uMultiplier; | ||
| 76 | |||
| 77 | if (ull64Result <= UINT_MAX) | ||
| 78 | { | ||
| 79 | *puResult = (UINT)ull64Result; | ||
| 80 | return S_OK; | ||
| 81 | } | ||
| 82 | *puResult = UINT_MAX; | ||
| 83 | return E_FAIL; | ||
| 84 | } | ||
| 85 | |||
| 86 | const LPCSTR D3D12_PROPERTY_LAYOUT_FORMAT_TABLE::s_FormatNames[] = // separate from above structure so it can be compiled out of the runtime. | ||
| 87 | { | ||
| 88 | // Name | ||
| 89 | "UNKNOWN", | ||
| 90 | "R32G32B32A32_TYPELESS", | ||
| 91 | "R32G32B32A32_FLOAT", | ||
| 92 | "R32G32B32A32_UINT", | ||
| 93 | "R32G32B32A32_SINT", | ||
| 94 | "R32G32B32_TYPELESS", | ||
| 95 | "R32G32B32_FLOAT", | ||
| 96 | "R32G32B32_UINT", | ||
| 97 | "R32G32B32_SINT", | ||
| 98 | "R16G16B16A16_TYPELESS", | ||
| 99 | "R16G16B16A16_FLOAT", | ||
| 100 | "R16G16B16A16_UNORM", | ||
| 101 | "R16G16B16A16_UINT", | ||
| 102 | "R16G16B16A16_SNORM", | ||
| 103 | "R16G16B16A16_SINT", | ||
| 104 | "R32G32_TYPELESS", | ||
| 105 | "R32G32_FLOAT", | ||
| 106 | "R32G32_UINT", | ||
| 107 | "R32G32_SINT", | ||
| 108 | "R32G8X24_TYPELESS", | ||
| 109 | "D32_FLOAT_S8X24_UINT", | ||
| 110 | "R32_FLOAT_X8X24_TYPELESS", | ||
| 111 | "X32_TYPELESS_G8X24_UINT", | ||
| 112 | "R10G10B10A2_TYPELESS", | ||
| 113 | "R10G10B10A2_UNORM", | ||
| 114 | "R10G10B10A2_UINT", | ||
| 115 | "R11G11B10_FLOAT", | ||
| 116 | "R8G8B8A8_TYPELESS", | ||
| 117 | "R8G8B8A8_UNORM", | ||
| 118 | "R8G8B8A8_UNORM_SRGB", | ||
| 119 | "R8G8B8A8_UINT", | ||
| 120 | "R8G8B8A8_SNORM", | ||
| 121 | "R8G8B8A8_SINT", | ||
| 122 | "R16G16_TYPELESS", | ||
| 123 | "R16G16_FLOAT", | ||
| 124 | "R16G16_UNORM", | ||
| 125 | "R16G16_UINT", | ||
| 126 | "R16G16_SNORM", | ||
| 127 | "R16G16_SINT", | ||
| 128 | "R32_TYPELESS", | ||
| 129 | "D32_FLOAT", | ||
| 130 | "R32_FLOAT", | ||
| 131 | "R32_UINT", | ||
| 132 | "R32_SINT", | ||
| 133 | "R24G8_TYPELESS", | ||
| 134 | "D24_UNORM_S8_UINT", | ||
| 135 | "R24_UNORM_X8_TYPELESS", | ||
| 136 | "X24_TYPELESS_G8_UINT", | ||
| 137 | "R8G8_TYPELESS", | ||
| 138 | "R8G8_UNORM", | ||
| 139 | "R8G8_UINT", | ||
| 140 | "R8G8_SNORM", | ||
| 141 | "R8G8_SINT", | ||
| 142 | "R16_TYPELESS", | ||
| 143 | "R16_FLOAT", | ||
| 144 | "D16_UNORM", | ||
| 145 | "R16_UNORM", | ||
| 146 | "R16_UINT", | ||
| 147 | "R16_SNORM", | ||
| 148 | "R16_SINT", | ||
| 149 | "R8_TYPELESS", | ||
| 150 | "R8_UNORM", | ||
| 151 | "R8_UINT", | ||
| 152 | "R8_SNORM", | ||
| 153 | "R8_SINT", | ||
| 154 | "A8_UNORM", | ||
| 155 | "R1_UNORM", | ||
| 156 | "R9G9B9E5_SHAREDEXP", | ||
| 157 | "R8G8_B8G8_UNORM", | ||
| 158 | "G8R8_G8B8_UNORM", | ||
| 159 | "BC1_TYPELESS", | ||
| 160 | "BC1_UNORM", | ||
| 161 | "BC1_UNORM_SRGB", | ||
| 162 | "BC2_TYPELESS", | ||
| 163 | "BC2_UNORM", | ||
| 164 | "BC2_UNORM_SRGB", | ||
| 165 | "BC3_TYPELESS", | ||
| 166 | "BC3_UNORM", | ||
| 167 | "BC3_UNORM_SRGB", | ||
| 168 | "BC4_TYPELESS", | ||
| 169 | "BC4_UNORM", | ||
| 170 | "BC4_SNORM", | ||
| 171 | "BC5_TYPELESS", | ||
| 172 | "BC5_UNORM", | ||
| 173 | "BC5_SNORM", | ||
| 174 | "B5G6R5_UNORM", | ||
| 175 | "B5G5R5A1_UNORM", | ||
| 176 | "B8G8R8A8_UNORM", | ||
| 177 | "B8G8R8X8_UNORM", | ||
| 178 | "R10G10B10_XR_BIAS_A2_UNORM", | ||
| 179 | "B8G8R8A8_TYPELESS", | ||
| 180 | "B8G8R8A8_UNORM_SRGB", | ||
| 181 | "B8G8R8X8_TYPELESS", | ||
| 182 | "B8G8R8X8_UNORM_SRGB", | ||
| 183 | "BC6H_TYPELESS", | ||
| 184 | "BC6H_UF16", | ||
| 185 | "BC6H_SF16", | ||
| 186 | "BC7_TYPELESS", | ||
| 187 | "BC7_UNORM", | ||
| 188 | "BC7_UNORM_SRGB", | ||
| 189 | "AYUV", | ||
| 190 | "Y410", | ||
| 191 | "Y416", | ||
| 192 | "NV12", | ||
| 193 | "P010", | ||
| 194 | "P016", | ||
| 195 | "420_OPAQUE", | ||
| 196 | "YUY2", | ||
| 197 | "Y210", | ||
| 198 | "Y216", | ||
| 199 | "NV11", | ||
| 200 | "AI44", | ||
| 201 | "IA44", | ||
| 202 | "P8", | ||
| 203 | "A8P8", | ||
| 204 | "B4G4R4A4_UNORM", | ||
| 205 | |||
| 206 | nullptr, // 116 | ||
| 207 | nullptr, // 117 | ||
| 208 | nullptr, // 118 | ||
| 209 | nullptr, // 119 | ||
| 210 | nullptr, // 120 | ||
| 211 | nullptr, // 121 | ||
| 212 | nullptr, // 122 | ||
| 213 | nullptr, // 123 | ||
| 214 | nullptr, // 124 | ||
| 215 | nullptr, // 125 | ||
| 216 | nullptr, // 126 | ||
| 217 | nullptr, // 127 | ||
| 218 | nullptr, // 128 | ||
| 219 | nullptr, // 129 | ||
| 220 | |||
| 221 | "P208", | ||
| 222 | "V208", | ||
| 223 | "V408", | ||
| 224 | |||
| 225 | NULL, // 133 | ||
| 226 | NULL, // 134 | ||
| 227 | NULL, // 135 | ||
| 228 | NULL, // 136 | ||
| 229 | NULL, // 137 | ||
| 230 | NULL, // 138 | ||
| 231 | NULL, // 139 | ||
| 232 | NULL, // 140 | ||
| 233 | NULL, // 141 | ||
| 234 | NULL, // 142 | ||
| 235 | NULL, // 143 | ||
| 236 | NULL, // 144 | ||
| 237 | NULL, // 145 | ||
| 238 | NULL, // 146 | ||
| 239 | NULL, // 147 | ||
| 240 | NULL, // 148 | ||
| 241 | NULL, // 149 | ||
| 242 | NULL, // 150 | ||
| 243 | NULL, // 151 | ||
| 244 | NULL, // 152 | ||
| 245 | NULL, // 153 | ||
| 246 | NULL, // 154 | ||
| 247 | NULL, // 155 | ||
| 248 | NULL, // 156 | ||
| 249 | NULL, // 157 | ||
| 250 | NULL, // 158 | ||
| 251 | NULL, // 159 | ||
| 252 | NULL, // 160 | ||
| 253 | NULL, // 161 | ||
| 254 | NULL, // 162 | ||
| 255 | NULL, // 163 | ||
| 256 | NULL, // 164 | ||
| 257 | NULL, // 165 | ||
| 258 | NULL, // 166 | ||
| 259 | NULL, // 167 | ||
| 260 | NULL, // 168 | ||
| 261 | NULL, // 169 | ||
| 262 | NULL, // 170 | ||
| 263 | NULL, // 171 | ||
| 264 | NULL, // 172 | ||
| 265 | NULL, // 173 | ||
| 266 | NULL, // 174 | ||
| 267 | NULL, // 175 | ||
| 268 | NULL, // 176 | ||
| 269 | NULL, // 177 | ||
| 270 | NULL, // 178 | ||
| 271 | NULL, // 179 | ||
| 272 | NULL, // 180 | ||
| 273 | NULL, // 181 | ||
| 274 | NULL, // 182 | ||
| 275 | NULL, // 183 | ||
| 276 | NULL, // 184 | ||
| 277 | NULL, // 185 | ||
| 278 | NULL, // 186 | ||
| 279 | NULL, // 187 | ||
| 280 | NULL, // 188 | ||
| 281 | |||
| 282 | "SAMPLER_FEEDBACK_MIN_MIP_OPAQUE", | ||
| 283 | "SAMPLER_FEEDBACK_MIP_REGION_USED_OPAQUE", | ||
| 284 | "A4B4G4R4_UNORM", | ||
| 285 | }; | ||
| 286 | |||
| 287 | // -------------------------------------------------------------------------------------------------------------------------------- | ||
| 288 | // Format Cast Sets | ||
| 289 | // -------------------------------------------------------------------------------------------------------------------------------- | ||
| 290 | constexpr DXGI_FORMAT D3DFCS_UNKNOWN[] = | ||
| 291 | { | ||
| 292 | DXGI_FORMAT_UNKNOWN // not part of cast set, just the "null terminator" | ||
| 293 | }; | ||
| 294 | |||
| 295 | constexpr DXGI_FORMAT D3DFCS_R32G32B32A32[] = | ||
| 296 | { | ||
| 297 | DXGI_FORMAT_R32G32B32A32_TYPELESS, | ||
| 298 | DXGI_FORMAT_R32G32B32A32_FLOAT, | ||
| 299 | DXGI_FORMAT_R32G32B32A32_UINT, | ||
| 300 | DXGI_FORMAT_R32G32B32A32_SINT, | ||
| 301 | DXGI_FORMAT_UNKNOWN // not part of cast set, just the "null terminator" | ||
| 302 | }; | ||
| 303 | |||
| 304 | constexpr DXGI_FORMAT D3DFCS_R32G32B32[] = | ||
| 305 | { | ||
| 306 | DXGI_FORMAT_R32G32B32_TYPELESS, | ||
| 307 | DXGI_FORMAT_R32G32B32_FLOAT, | ||
| 308 | DXGI_FORMAT_R32G32B32_UINT, | ||
| 309 | DXGI_FORMAT_R32G32B32_SINT, | ||
| 310 | DXGI_FORMAT_UNKNOWN // not part of cast set, just the "null terminator" | ||
| 311 | }; | ||
| 312 | |||
| 313 | constexpr DXGI_FORMAT D3DFCS_R16G16B16A16[] = | ||
| 314 | { | ||
| 315 | DXGI_FORMAT_R16G16B16A16_TYPELESS, | ||
| 316 | DXGI_FORMAT_R16G16B16A16_FLOAT, | ||
| 317 | DXGI_FORMAT_R16G16B16A16_UNORM, | ||
| 318 | DXGI_FORMAT_R16G16B16A16_UINT, | ||
| 319 | DXGI_FORMAT_R16G16B16A16_SNORM, | ||
| 320 | DXGI_FORMAT_R16G16B16A16_SINT, | ||
| 321 | DXGI_FORMAT_UNKNOWN // not part of cast set, just the "null terminator" | ||
| 322 | }; | ||
| 323 | |||
| 324 | constexpr DXGI_FORMAT D3DFCS_R32G32[] = | ||
| 325 | { | ||
| 326 | DXGI_FORMAT_R32G32_TYPELESS, | ||
| 327 | DXGI_FORMAT_R32G32_FLOAT, | ||
| 328 | DXGI_FORMAT_R32G32_UINT, | ||
| 329 | DXGI_FORMAT_R32G32_SINT, | ||
| 330 | DXGI_FORMAT_UNKNOWN // not part of cast set, just the "null terminator" | ||
| 331 | }; | ||
| 332 | |||
| 333 | constexpr DXGI_FORMAT D3DFCS_R32G8X24[] = | ||
| 334 | { | ||
| 335 | DXGI_FORMAT_R32G8X24_TYPELESS, | ||
| 336 | DXGI_FORMAT_D32_FLOAT_S8X24_UINT, | ||
| 337 | DXGI_FORMAT_R32_FLOAT_X8X24_TYPELESS, | ||
| 338 | DXGI_FORMAT_X32_TYPELESS_G8X24_UINT, | ||
| 339 | DXGI_FORMAT_UNKNOWN // not part of cast set, just the "null terminator" | ||
| 340 | }; | ||
| 341 | |||
| 342 | constexpr DXGI_FORMAT D3DFCS_R11G11B10[] = | ||
| 343 | { | ||
| 344 | DXGI_FORMAT_R11G11B10_FLOAT, | ||
| 345 | DXGI_FORMAT_UNKNOWN // not part of cast set, just the "null terminator" | ||
| 346 | }; | ||
| 347 | |||
| 348 | constexpr DXGI_FORMAT D3DFCS_R8G8B8A8[] = | ||
| 349 | { | ||
| 350 | DXGI_FORMAT_R8G8B8A8_TYPELESS, | ||
| 351 | DXGI_FORMAT_R8G8B8A8_UNORM, | ||
| 352 | DXGI_FORMAT_R8G8B8A8_UNORM_SRGB, | ||
| 353 | DXGI_FORMAT_R8G8B8A8_UINT, | ||
| 354 | DXGI_FORMAT_R8G8B8A8_SNORM, | ||
| 355 | DXGI_FORMAT_R8G8B8A8_SINT, | ||
| 356 | DXGI_FORMAT_UNKNOWN // not part of cast set, just the "null terminator" | ||
| 357 | }; | ||
| 358 | |||
| 359 | constexpr DXGI_FORMAT D3DFCS_R16G16[] = | ||
| 360 | { | ||
| 361 | DXGI_FORMAT_R16G16_TYPELESS, | ||
| 362 | DXGI_FORMAT_R16G16_FLOAT, | ||
| 363 | DXGI_FORMAT_R16G16_UNORM, | ||
| 364 | DXGI_FORMAT_R16G16_UINT, | ||
| 365 | DXGI_FORMAT_R16G16_SNORM, | ||
| 366 | DXGI_FORMAT_R16G16_SINT, | ||
| 367 | DXGI_FORMAT_UNKNOWN // not part of cast set, just the "null terminator" | ||
| 368 | }; | ||
| 369 | |||
| 370 | constexpr DXGI_FORMAT D3DFCS_R32[] = | ||
| 371 | { | ||
| 372 | DXGI_FORMAT_R32_TYPELESS, | ||
| 373 | DXGI_FORMAT_D32_FLOAT, | ||
| 374 | DXGI_FORMAT_R32_FLOAT, | ||
| 375 | DXGI_FORMAT_R32_UINT, | ||
| 376 | DXGI_FORMAT_R32_SINT, | ||
| 377 | DXGI_FORMAT_UNKNOWN // not part of cast set, just the "null terminator" | ||
| 378 | }; | ||
| 379 | |||
| 380 | constexpr DXGI_FORMAT D3DFCS_R24G8[] = | ||
| 381 | { | ||
| 382 | DXGI_FORMAT_R24G8_TYPELESS, | ||
| 383 | DXGI_FORMAT_D24_UNORM_S8_UINT, | ||
| 384 | DXGI_FORMAT_R24_UNORM_X8_TYPELESS, | ||
| 385 | DXGI_FORMAT_X24_TYPELESS_G8_UINT, | ||
| 386 | DXGI_FORMAT_UNKNOWN // not part of cast set, just the "null terminator" | ||
| 387 | }; | ||
| 388 | |||
| 389 | constexpr DXGI_FORMAT D3DFCS_R8G8[] = | ||
| 390 | { | ||
| 391 | DXGI_FORMAT_R8G8_TYPELESS, | ||
| 392 | DXGI_FORMAT_R8G8_UNORM, | ||
| 393 | DXGI_FORMAT_R8G8_UINT, | ||
| 394 | DXGI_FORMAT_R8G8_SNORM, | ||
| 395 | DXGI_FORMAT_R8G8_SINT, | ||
| 396 | DXGI_FORMAT_UNKNOWN // not part of cast set, just the "null terminator" | ||
| 397 | }; | ||
| 398 | |||
| 399 | constexpr DXGI_FORMAT D3DFCS_R16[] = | ||
| 400 | { | ||
| 401 | DXGI_FORMAT_R16_TYPELESS, | ||
| 402 | DXGI_FORMAT_R16_FLOAT, | ||
| 403 | DXGI_FORMAT_D16_UNORM, | ||
| 404 | DXGI_FORMAT_R16_UNORM, | ||
| 405 | DXGI_FORMAT_R16_UINT, | ||
| 406 | DXGI_FORMAT_R16_SNORM, | ||
| 407 | DXGI_FORMAT_R16_SINT, | ||
| 408 | DXGI_FORMAT_UNKNOWN // not part of cast set, just the "null terminator" | ||
| 409 | }; | ||
| 410 | |||
| 411 | constexpr DXGI_FORMAT D3DFCS_R8[] = | ||
| 412 | { | ||
| 413 | DXGI_FORMAT_R8_TYPELESS, | ||
| 414 | DXGI_FORMAT_R8_UNORM, | ||
| 415 | DXGI_FORMAT_R8_UINT, | ||
| 416 | DXGI_FORMAT_R8_SNORM, | ||
| 417 | DXGI_FORMAT_R8_SINT, | ||
| 418 | DXGI_FORMAT_UNKNOWN // not part of cast set, just the "null terminator" | ||
| 419 | }; | ||
| 420 | |||
| 421 | constexpr DXGI_FORMAT D3DFCS_A8[] = | ||
| 422 | { | ||
| 423 | DXGI_FORMAT_A8_UNORM, | ||
| 424 | DXGI_FORMAT_UNKNOWN // not part of cast set, just the "null terminator" | ||
| 425 | }; | ||
| 426 | |||
| 427 | constexpr DXGI_FORMAT D3DFCS_R1[] = | ||
| 428 | { | ||
| 429 | DXGI_FORMAT_R1_UNORM, | ||
| 430 | DXGI_FORMAT_UNKNOWN // not part of cast set, just the "null terminator" | ||
| 431 | }; | ||
| 432 | |||
| 433 | constexpr DXGI_FORMAT D3DFCS_R9G9B9E5[] = | ||
| 434 | { | ||
| 435 | DXGI_FORMAT_R9G9B9E5_SHAREDEXP, | ||
| 436 | DXGI_FORMAT_UNKNOWN // not part of cast set, just the "null terminator" | ||
| 437 | }; | ||
| 438 | |||
| 439 | constexpr DXGI_FORMAT D3DFCS_R8G8_B8G8[] = | ||
| 440 | { | ||
| 441 | DXGI_FORMAT_R8G8_B8G8_UNORM, | ||
| 442 | DXGI_FORMAT_UNKNOWN // not part of cast set, just the "null terminator" | ||
| 443 | }; | ||
| 444 | |||
| 445 | constexpr DXGI_FORMAT D3DFCS_G8R8_G8B8[] = | ||
| 446 | { | ||
| 447 | DXGI_FORMAT_G8R8_G8B8_UNORM, | ||
| 448 | DXGI_FORMAT_UNKNOWN // not part of cast set, just the "null terminator" | ||
| 449 | }; | ||
| 450 | |||
| 451 | constexpr DXGI_FORMAT D3DFCS_BC1[] = | ||
| 452 | { | ||
| 453 | DXGI_FORMAT_BC1_TYPELESS, | ||
| 454 | DXGI_FORMAT_BC1_UNORM, | ||
| 455 | DXGI_FORMAT_BC1_UNORM_SRGB, | ||
| 456 | DXGI_FORMAT_UNKNOWN // not part of cast set, just the "null terminator" | ||
| 457 | }; | ||
| 458 | |||
| 459 | constexpr DXGI_FORMAT D3DFCS_BC2[] = | ||
| 460 | { | ||
| 461 | DXGI_FORMAT_BC2_TYPELESS, | ||
| 462 | DXGI_FORMAT_BC2_UNORM, | ||
| 463 | DXGI_FORMAT_BC2_UNORM_SRGB, | ||
| 464 | DXGI_FORMAT_UNKNOWN // not part of cast set, just the "null terminator" | ||
| 465 | }; | ||
| 466 | |||
| 467 | constexpr DXGI_FORMAT D3DFCS_BC3[] = | ||
| 468 | { | ||
| 469 | DXGI_FORMAT_BC3_TYPELESS, | ||
| 470 | DXGI_FORMAT_BC3_UNORM, | ||
| 471 | DXGI_FORMAT_BC3_UNORM_SRGB, | ||
| 472 | DXGI_FORMAT_UNKNOWN // not part of cast set, just the "null terminator" | ||
| 473 | }; | ||
| 474 | |||
| 475 | constexpr DXGI_FORMAT D3DFCS_BC4[] = | ||
| 476 | { | ||
| 477 | DXGI_FORMAT_BC4_TYPELESS, | ||
| 478 | DXGI_FORMAT_BC4_UNORM, | ||
| 479 | DXGI_FORMAT_BC4_SNORM, | ||
| 480 | DXGI_FORMAT_UNKNOWN // not part of cast set, just the "null terminator" | ||
| 481 | }; | ||
| 482 | |||
| 483 | constexpr DXGI_FORMAT D3DFCS_BC5[] = | ||
| 484 | { | ||
| 485 | DXGI_FORMAT_BC5_TYPELESS, | ||
| 486 | DXGI_FORMAT_BC5_UNORM, | ||
| 487 | DXGI_FORMAT_BC5_SNORM, | ||
| 488 | DXGI_FORMAT_UNKNOWN // not part of cast set, just the "null terminator" | ||
| 489 | }; | ||
| 490 | |||
| 491 | constexpr DXGI_FORMAT D3DFCS_B5G6R5[] = | ||
| 492 | { | ||
| 493 | DXGI_FORMAT_B5G6R5_UNORM, | ||
| 494 | DXGI_FORMAT_UNKNOWN // not part of cast set, just the "null terminator" | ||
| 495 | }; | ||
| 496 | |||
| 497 | constexpr DXGI_FORMAT D3DFCS_B5G5R5A1[] = | ||
| 498 | { | ||
| 499 | DXGI_FORMAT_B5G5R5A1_UNORM, | ||
| 500 | DXGI_FORMAT_UNKNOWN // not part of cast set, just the "null terminator" | ||
| 501 | }; | ||
| 502 | |||
| 503 | constexpr DXGI_FORMAT D3DFCS_B8G8R8A8[] = | ||
| 504 | { | ||
| 505 | DXGI_FORMAT_B8G8R8A8_TYPELESS, | ||
| 506 | DXGI_FORMAT_B8G8R8A8_UNORM, | ||
| 507 | DXGI_FORMAT_B8G8R8A8_UNORM_SRGB, | ||
| 508 | DXGI_FORMAT_UNKNOWN // not part of cast set, just the "null terminator" | ||
| 509 | }; | ||
| 510 | |||
| 511 | constexpr DXGI_FORMAT D3DFCS_B8G8R8X8[] = | ||
| 512 | { | ||
| 513 | DXGI_FORMAT_B8G8R8X8_TYPELESS, | ||
| 514 | DXGI_FORMAT_B8G8R8X8_UNORM, | ||
| 515 | DXGI_FORMAT_B8G8R8X8_UNORM_SRGB, | ||
| 516 | DXGI_FORMAT_UNKNOWN // not part of cast set, just the "null terminator" | ||
| 517 | }; | ||
| 518 | |||
| 519 | constexpr DXGI_FORMAT D3DFCS_R10G10B10A2[] = | ||
| 520 | { | ||
| 521 | DXGI_FORMAT_R10G10B10A2_TYPELESS, | ||
| 522 | DXGI_FORMAT_R10G10B10A2_UNORM, | ||
| 523 | DXGI_FORMAT_R10G10B10A2_UINT, | ||
| 524 | DXGI_FORMAT_R10G10B10_XR_BIAS_A2_UNORM, | ||
| 525 | DXGI_FORMAT_UNKNOWN // not part of cast set, just the "null terminator" | ||
| 526 | }; | ||
| 527 | |||
| 528 | constexpr DXGI_FORMAT D3DFCS_BC6H[] = | ||
| 529 | { | ||
| 530 | DXGI_FORMAT_BC6H_TYPELESS, | ||
| 531 | DXGI_FORMAT_BC6H_UF16, | ||
| 532 | DXGI_FORMAT_BC6H_SF16, | ||
| 533 | DXGI_FORMAT_UNKNOWN // not part of cast set, just the "null terminator" | ||
| 534 | }; | ||
| 535 | |||
| 536 | constexpr DXGI_FORMAT D3DFCS_BC7[] = | ||
| 537 | { | ||
| 538 | DXGI_FORMAT_BC7_TYPELESS, | ||
| 539 | DXGI_FORMAT_BC7_UNORM, | ||
| 540 | DXGI_FORMAT_BC7_UNORM_SRGB, | ||
| 541 | DXGI_FORMAT_UNKNOWN // not part of cast set, just the "null terminator" | ||
| 542 | }; | ||
| 543 | |||
| 544 | constexpr DXGI_FORMAT D3DFCS_AYUV[] = | ||
| 545 | { | ||
| 546 | DXGI_FORMAT_AYUV, | ||
| 547 | DXGI_FORMAT_UNKNOWN // not part of cast set, just the "null terminator" | ||
| 548 | }; | ||
| 549 | |||
| 550 | constexpr DXGI_FORMAT D3DFCS_NV12[] = | ||
| 551 | { | ||
| 552 | DXGI_FORMAT_NV12, | ||
| 553 | DXGI_FORMAT_UNKNOWN // not part of cast set, just the "null terminator" | ||
| 554 | }; | ||
| 555 | |||
| 556 | constexpr DXGI_FORMAT D3DFCS_YUY2[] = | ||
| 557 | { | ||
| 558 | DXGI_FORMAT_YUY2, | ||
| 559 | DXGI_FORMAT_UNKNOWN // not part of cast set, just the "null terminator" | ||
| 560 | }; | ||
| 561 | |||
| 562 | constexpr DXGI_FORMAT D3DFCS_P010[] = | ||
| 563 | { | ||
| 564 | DXGI_FORMAT_P010, | ||
| 565 | DXGI_FORMAT_UNKNOWN // not part of cast set, just the "null terminator" | ||
| 566 | }; | ||
| 567 | |||
| 568 | constexpr DXGI_FORMAT D3DFCS_P016[] = | ||
| 569 | { | ||
| 570 | DXGI_FORMAT_P016, | ||
| 571 | DXGI_FORMAT_UNKNOWN // not part of cast set, just the "null terminator" | ||
| 572 | }; | ||
| 573 | |||
| 574 | constexpr DXGI_FORMAT D3DFCS_NV11[] = | ||
| 575 | { | ||
| 576 | DXGI_FORMAT_NV11, | ||
| 577 | DXGI_FORMAT_UNKNOWN // not part of cast set, just the "null terminator" | ||
| 578 | }; | ||
| 579 | |||
| 580 | constexpr DXGI_FORMAT D3DFCS_420_OPAQUE[] = | ||
| 581 | { | ||
| 582 | DXGI_FORMAT_420_OPAQUE, | ||
| 583 | DXGI_FORMAT_UNKNOWN // not part of cast set, just the "null terminator" | ||
| 584 | }; | ||
| 585 | |||
| 586 | constexpr DXGI_FORMAT D3DFCS_Y410[] = | ||
| 587 | { | ||
| 588 | DXGI_FORMAT_Y410, | ||
| 589 | DXGI_FORMAT_UNKNOWN // not part of cast set, just the "null terminator" | ||
| 590 | }; | ||
| 591 | |||
| 592 | constexpr DXGI_FORMAT D3DFCS_Y416[] = | ||
| 593 | { | ||
| 594 | DXGI_FORMAT_Y416, | ||
| 595 | DXGI_FORMAT_UNKNOWN // not part of cast set, just the "null terminator" | ||
| 596 | }; | ||
| 597 | |||
| 598 | constexpr DXGI_FORMAT D3DFCS_Y210[] = | ||
| 599 | { | ||
| 600 | DXGI_FORMAT_Y210, | ||
| 601 | DXGI_FORMAT_UNKNOWN // not part of cast set, just the "null terminator" | ||
| 602 | }; | ||
| 603 | |||
| 604 | constexpr DXGI_FORMAT D3DFCS_Y216[] = | ||
| 605 | { | ||
| 606 | DXGI_FORMAT_Y216, | ||
| 607 | DXGI_FORMAT_UNKNOWN // not part of cast set, just the "null terminator" | ||
| 608 | }; | ||
| 609 | |||
| 610 | constexpr DXGI_FORMAT D3DFCS_AI44[] = | ||
| 611 | { | ||
| 612 | DXGI_FORMAT_AI44, | ||
| 613 | DXGI_FORMAT_UNKNOWN // not part of cast set, just the "null terminator" | ||
| 614 | }; | ||
| 615 | |||
| 616 | constexpr DXGI_FORMAT D3DFCS_IA44[] = | ||
| 617 | { | ||
| 618 | DXGI_FORMAT_IA44, | ||
| 619 | DXGI_FORMAT_UNKNOWN // not part of cast set, just the "null terminator" | ||
| 620 | }; | ||
| 621 | |||
| 622 | constexpr DXGI_FORMAT D3DFCS_P8[] = | ||
| 623 | { | ||
| 624 | DXGI_FORMAT_P8, | ||
| 625 | DXGI_FORMAT_UNKNOWN // not part of cast set, just the "null terminator" | ||
| 626 | }; | ||
| 627 | |||
| 628 | constexpr DXGI_FORMAT D3DFCS_A8P8[] = | ||
| 629 | { | ||
| 630 | DXGI_FORMAT_A8P8, | ||
| 631 | DXGI_FORMAT_UNKNOWN // not part of cast set, just the "null terminator" | ||
| 632 | }; | ||
| 633 | |||
| 634 | constexpr DXGI_FORMAT D3DFCS_B4G4R4A4[] = | ||
| 635 | { | ||
| 636 | DXGI_FORMAT_B4G4R4A4_UNORM, | ||
| 637 | DXGI_FORMAT_UNKNOWN // not part of cast set, just the "null terminator" | ||
| 638 | }; | ||
| 639 | |||
| 640 | constexpr DXGI_FORMAT D3DFCS_P208[] = | ||
| 641 | { | ||
| 642 | DXGI_FORMAT_P208, | ||
| 643 | DXGI_FORMAT_UNKNOWN // not part of cast set, just the "null terminator" | ||
| 644 | }; | ||
| 645 | |||
| 646 | constexpr DXGI_FORMAT D3DFCS_V208[] = | ||
| 647 | { | ||
| 648 | DXGI_FORMAT_V208, | ||
| 649 | DXGI_FORMAT_UNKNOWN // not part of cast set, just the "null terminator" | ||
| 650 | }; | ||
| 651 | |||
| 652 | constexpr DXGI_FORMAT D3DFCS_V408[] = | ||
| 653 | { | ||
| 654 | DXGI_FORMAT_V408, | ||
| 655 | DXGI_FORMAT_UNKNOWN // not part of cast set, just the "null terminator" | ||
| 656 | }; | ||
| 657 | |||
| 658 | constexpr DXGI_FORMAT D3DFCS_A4B4G4R4[] = | ||
| 659 | { | ||
| 660 | DXGI_FORMAT_A4B4G4R4_UNORM, | ||
| 661 | DXGI_FORMAT_UNKNOWN // not part of cast set, just the "null terminator" | ||
| 662 | }; | ||
| 663 | |||
| 664 | constexpr D3D12_PROPERTY_LAYOUT_FORMAT_TABLE::FORMAT_DETAIL D3D12_PROPERTY_LAYOUT_FORMAT_TABLE::s_FormatDetail[] = | ||
| 665 | { | ||
| 666 | // DXGI_FORMAT ParentFormat pDefaultFormatCastSet BitsPerComponent[4], BitsPerUnit, SRGB, WidthAlignment, HeightAlignment, DepthAlignment, Layout, TypeLevel, ComponentName[4],ComponentInterpretation[4], bDX9VertexOrIndexFormat bDX9TextureFormat, bFloatNormFormat, bPlanar, bYUV bDependantFormatCastSet bInternal | ||
| 667 | {DXGI_FORMAT_UNKNOWN ,DXGI_FORMAT_UNKNOWN, D3DFCS_UNKNOWN, {0,0,0,0}, 0, FALSE, 1, 1, 1, D3DFL_CUSTOM, D3DFTL_NO_TYPE, X,X,X,X, _TYPELESS, _TYPELESS, _TYPELESS, _TYPELESS, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, }, | ||
| 668 | {DXGI_FORMAT_R32G32B32A32_TYPELESS ,DXGI_FORMAT_R32G32B32A32_TYPELESS, D3DFCS_R32G32B32A32, {32,32,32,32}, 128, FALSE, 1, 1, 1, D3DFL_STANDARD, D3DFTL_PARTIAL_TYPE, R,G,B,A, _TYPELESS, _TYPELESS, _TYPELESS, _TYPELESS, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, }, | ||
| 669 | { DXGI_FORMAT_R32G32B32A32_FLOAT ,DXGI_FORMAT_R32G32B32A32_TYPELESS, D3DFCS_R32G32B32A32, {32,32,32,32}, 128, FALSE, 1, 1, 1, D3DFL_STANDARD, D3DFTL_FULL_TYPE, R,G,B,A, _FLOAT, _FLOAT, _FLOAT, _FLOAT, TRUE, FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, }, | ||
| 670 | { DXGI_FORMAT_R32G32B32A32_UINT ,DXGI_FORMAT_R32G32B32A32_TYPELESS, D3DFCS_R32G32B32A32, {32,32,32,32}, 128, FALSE, 1, 1, 1, D3DFL_STANDARD, D3DFTL_FULL_TYPE, R,G,B,A, _UINT, _UINT, _UINT, _UINT, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, }, | ||
| 671 | { DXGI_FORMAT_R32G32B32A32_SINT ,DXGI_FORMAT_R32G32B32A32_TYPELESS, D3DFCS_R32G32B32A32, {32,32,32,32}, 128, FALSE, 1, 1, 1, D3DFL_STANDARD, D3DFTL_FULL_TYPE, R,G,B,A, _SINT, _SINT, _SINT, _SINT, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, }, | ||
| 672 | {DXGI_FORMAT_R32G32B32_TYPELESS ,DXGI_FORMAT_R32G32B32_TYPELESS, D3DFCS_R32G32B32, {32,32,32,0}, 96, FALSE, 1, 1, 1, D3DFL_STANDARD, D3DFTL_PARTIAL_TYPE, R,G,B,X, _TYPELESS, _TYPELESS, _TYPELESS, _TYPELESS, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, }, | ||
| 673 | { DXGI_FORMAT_R32G32B32_FLOAT ,DXGI_FORMAT_R32G32B32_TYPELESS, D3DFCS_R32G32B32, {32,32,32,0}, 96, FALSE, 1, 1, 1, D3DFL_STANDARD, D3DFTL_FULL_TYPE, R,G,B,X, _FLOAT, _FLOAT, _FLOAT, _TYPELESS, TRUE, FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, }, | ||
| 674 | { DXGI_FORMAT_R32G32B32_UINT ,DXGI_FORMAT_R32G32B32_TYPELESS, D3DFCS_R32G32B32, {32,32,32,0}, 96, FALSE, 1, 1, 1, D3DFL_STANDARD, D3DFTL_FULL_TYPE, R,G,B,X, _UINT, _UINT, _UINT, _TYPELESS, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, }, | ||
| 675 | { DXGI_FORMAT_R32G32B32_SINT ,DXGI_FORMAT_R32G32B32_TYPELESS, D3DFCS_R32G32B32, {32,32,32,0}, 96, FALSE, 1, 1, 1, D3DFL_STANDARD, D3DFTL_FULL_TYPE, R,G,B,X, _SINT, _SINT, _SINT, _TYPELESS, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, }, | ||
| 676 | {DXGI_FORMAT_R16G16B16A16_TYPELESS ,DXGI_FORMAT_R16G16B16A16_TYPELESS, D3DFCS_R16G16B16A16, {16,16,16,16}, 64, FALSE, 1, 1, 1, D3DFL_STANDARD, D3DFTL_PARTIAL_TYPE, R,G,B,A, _TYPELESS, _TYPELESS, _TYPELESS, _TYPELESS, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, }, | ||
| 677 | { DXGI_FORMAT_R16G16B16A16_FLOAT ,DXGI_FORMAT_R16G16B16A16_TYPELESS, D3DFCS_R16G16B16A16, {16,16,16,16}, 64, FALSE, 1, 1, 1, D3DFL_STANDARD, D3DFTL_FULL_TYPE, R,G,B,A, _FLOAT, _FLOAT, _FLOAT, _FLOAT, TRUE, FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, }, | ||
| 678 | { DXGI_FORMAT_R16G16B16A16_UNORM ,DXGI_FORMAT_R16G16B16A16_TYPELESS, D3DFCS_R16G16B16A16, {16,16,16,16}, 64, FALSE, 1, 1, 1, D3DFL_STANDARD, D3DFTL_FULL_TYPE, R,G,B,A, _UNORM, _UNORM, _UNORM, _UNORM, TRUE, TRUE, TRUE, FALSE, FALSE, FALSE, FALSE, }, | ||
| 679 | { DXGI_FORMAT_R16G16B16A16_UINT ,DXGI_FORMAT_R16G16B16A16_TYPELESS, D3DFCS_R16G16B16A16, {16,16,16,16}, 64, FALSE, 1, 1, 1, D3DFL_STANDARD, D3DFTL_FULL_TYPE, R,G,B,A, _UINT, _UINT, _UINT, _UINT, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, }, | ||
| 680 | { DXGI_FORMAT_R16G16B16A16_SNORM ,DXGI_FORMAT_R16G16B16A16_TYPELESS, D3DFCS_R16G16B16A16, {16,16,16,16}, 64, FALSE, 1, 1, 1, D3DFL_STANDARD, D3DFTL_FULL_TYPE, R,G,B,A, _SNORM, _SNORM, _SNORM, _SNORM, TRUE, FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, }, | ||
| 681 | { DXGI_FORMAT_R16G16B16A16_SINT ,DXGI_FORMAT_R16G16B16A16_TYPELESS, D3DFCS_R16G16B16A16, {16,16,16,16}, 64, FALSE, 1, 1, 1, D3DFL_STANDARD, D3DFTL_FULL_TYPE, R,G,B,A, _SINT, _SINT, _SINT, _SINT, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, }, | ||
| 682 | {DXGI_FORMAT_R32G32_TYPELESS ,DXGI_FORMAT_R32G32_TYPELESS, D3DFCS_R32G32, {32,32,0,0}, 64, FALSE, 1, 1, 1, D3DFL_STANDARD, D3DFTL_PARTIAL_TYPE, R,G,X,X, _TYPELESS, _TYPELESS, _TYPELESS, _TYPELESS, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, }, | ||
| 683 | { DXGI_FORMAT_R32G32_FLOAT ,DXGI_FORMAT_R32G32_TYPELESS, D3DFCS_R32G32, {32,32,0,0}, 64, FALSE, 1, 1, 1, D3DFL_STANDARD, D3DFTL_FULL_TYPE, R,G,X,X, _FLOAT, _FLOAT, _TYPELESS, _TYPELESS, TRUE, FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, }, | ||
| 684 | { DXGI_FORMAT_R32G32_UINT ,DXGI_FORMAT_R32G32_TYPELESS, D3DFCS_R32G32, {32,32,0,0}, 64, FALSE, 1, 1, 1, D3DFL_STANDARD, D3DFTL_FULL_TYPE, R,G,X,X, _UINT, _UINT, _TYPELESS, _TYPELESS, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, }, | ||
| 685 | { DXGI_FORMAT_R32G32_SINT ,DXGI_FORMAT_R32G32_TYPELESS, D3DFCS_R32G32, {32,32,0,0}, 64, FALSE, 1, 1, 1, D3DFL_STANDARD, D3DFTL_FULL_TYPE, R,G,X,X, _SINT, _SINT, _TYPELESS, _TYPELESS, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, }, | ||
| 686 | {DXGI_FORMAT_R32G8X24_TYPELESS ,DXGI_FORMAT_R32G8X24_TYPELESS, D3DFCS_R32G8X24, {32,8,24,0}, 64, FALSE, 1, 1, 1, D3DFL_STANDARD, D3DFTL_PARTIAL_TYPE, R,G,X,X, _TYPELESS, _TYPELESS, _TYPELESS, _TYPELESS, FALSE, FALSE, FALSE, TRUE, FALSE, FALSE, FALSE, }, | ||
| 687 | { DXGI_FORMAT_D32_FLOAT_S8X24_UINT ,DXGI_FORMAT_R32G8X24_TYPELESS, D3DFCS_R32G8X24, {32,8,24,0}, 64, FALSE, 1, 1, 1, D3DFL_STANDARD, D3DFTL_FULL_TYPE, D,S,X,X, _FLOAT,_UINT,_TYPELESS,_TYPELESS, FALSE, FALSE, FALSE, TRUE, FALSE, FALSE, FALSE, }, | ||
| 688 | { DXGI_FORMAT_R32_FLOAT_X8X24_TYPELESS ,DXGI_FORMAT_R32G8X24_TYPELESS, D3DFCS_R32G8X24, {32,8,24,0}, 64, FALSE, 1, 1, 1, D3DFL_STANDARD, D3DFTL_FULL_TYPE, R,X,X,X, _FLOAT,_TYPELESS,_TYPELESS,_TYPELESS, FALSE, FALSE, TRUE, TRUE, FALSE, FALSE, FALSE, }, | ||
| 689 | { DXGI_FORMAT_X32_TYPELESS_G8X24_UINT ,DXGI_FORMAT_R32G8X24_TYPELESS, D3DFCS_R32G8X24, {32,8,24,0}, 64, FALSE, 1, 1, 1, D3DFL_STANDARD, D3DFTL_FULL_TYPE, X,G,X,X, _TYPELESS,_UINT,_TYPELESS,_TYPELESS, FALSE, FALSE, FALSE, TRUE, FALSE, FALSE, FALSE, }, | ||
| 690 | {DXGI_FORMAT_R10G10B10A2_TYPELESS ,DXGI_FORMAT_R10G10B10A2_TYPELESS, D3DFCS_R10G10B10A2, {10,10,10,2}, 32, FALSE, 1, 1, 1, D3DFL_STANDARD, D3DFTL_PARTIAL_TYPE, R,G,B,A, _TYPELESS, _TYPELESS, _TYPELESS, _TYPELESS, FALSE, FALSE, FALSE, FALSE, FALSE, TRUE, FALSE, }, | ||
| 691 | { DXGI_FORMAT_R10G10B10A2_UNORM ,DXGI_FORMAT_R10G10B10A2_TYPELESS, D3DFCS_R10G10B10A2, {10,10,10,2}, 32, FALSE, 1, 1, 1, D3DFL_STANDARD, D3DFTL_FULL_TYPE, R,G,B,A, _UNORM, _UNORM, _UNORM, _UNORM, FALSE, TRUE, TRUE, FALSE, FALSE, TRUE, FALSE, }, | ||
| 692 | { DXGI_FORMAT_R10G10B10A2_UINT ,DXGI_FORMAT_R10G10B10A2_TYPELESS, D3DFCS_R10G10B10A2, {10,10,10,2}, 32, FALSE, 1, 1, 1, D3DFL_STANDARD, D3DFTL_FULL_TYPE, R,G,B,A, _UINT, _UINT, _UINT, _UINT, FALSE, FALSE, FALSE, FALSE, FALSE, TRUE, FALSE, }, | ||
| 693 | {DXGI_FORMAT_R11G11B10_FLOAT ,DXGI_FORMAT_R11G11B10_FLOAT, D3DFCS_R11G11B10, {11,11,10,0}, 32, FALSE, 1, 1, 1, D3DFL_STANDARD, D3DFTL_FULL_TYPE, R,G,B,X, _FLOAT, _FLOAT, _FLOAT, _TYPELESS, FALSE, FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, }, | ||
| 694 | {DXGI_FORMAT_R8G8B8A8_TYPELESS ,DXGI_FORMAT_R8G8B8A8_TYPELESS, D3DFCS_R8G8B8A8, {8,8,8,8}, 32, FALSE, 1, 1, 1, D3DFL_STANDARD, D3DFTL_PARTIAL_TYPE, R,G,B,A, _TYPELESS, _TYPELESS, _TYPELESS, _TYPELESS, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, }, | ||
| 695 | { DXGI_FORMAT_R8G8B8A8_UNORM ,DXGI_FORMAT_R8G8B8A8_TYPELESS, D3DFCS_R8G8B8A8, {8,8,8,8}, 32, FALSE, 1, 1, 1, D3DFL_STANDARD, D3DFTL_FULL_TYPE, R,G,B,A, _UNORM, _UNORM, _UNORM, _UNORM, TRUE, TRUE, TRUE, FALSE, FALSE, FALSE, FALSE, }, | ||
| 696 | { DXGI_FORMAT_R8G8B8A8_UNORM_SRGB ,DXGI_FORMAT_R8G8B8A8_TYPELESS, D3DFCS_R8G8B8A8, {8,8,8,8}, 32, TRUE, 1, 1, 1, D3DFL_STANDARD, D3DFTL_FULL_TYPE, R,G,B,A, _UNORM_SRGB, _UNORM_SRGB, _UNORM_SRGB, _UNORM_SRGB, FALSE, TRUE, TRUE, FALSE, FALSE, FALSE, FALSE, }, | ||
| 697 | { DXGI_FORMAT_R8G8B8A8_UINT ,DXGI_FORMAT_R8G8B8A8_TYPELESS, D3DFCS_R8G8B8A8, {8,8,8,8}, 32, FALSE, 1, 1, 1, D3DFL_STANDARD, D3DFTL_FULL_TYPE, R,G,B,A, _UINT, _UINT, _UINT, _UINT, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, }, | ||
| 698 | { DXGI_FORMAT_R8G8B8A8_SNORM ,DXGI_FORMAT_R8G8B8A8_TYPELESS, D3DFCS_R8G8B8A8, {8,8,8,8}, 32, FALSE, 1, 1, 1, D3DFL_STANDARD, D3DFTL_FULL_TYPE, R,G,B,A, _SNORM, _SNORM, _SNORM, _SNORM, FALSE, FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, }, | ||
| 699 | { DXGI_FORMAT_R8G8B8A8_SINT ,DXGI_FORMAT_R8G8B8A8_TYPELESS, D3DFCS_R8G8B8A8, {8,8,8,8}, 32, FALSE, 1, 1, 1, D3DFL_STANDARD, D3DFTL_FULL_TYPE, R,G,B,A, _SINT, _SINT, _SINT, _SINT, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, }, | ||
| 700 | {DXGI_FORMAT_R16G16_TYPELESS ,DXGI_FORMAT_R16G16_TYPELESS, D3DFCS_R16G16, {16,16,0,0}, 32, FALSE, 1, 1, 1, D3DFL_STANDARD, D3DFTL_PARTIAL_TYPE, R,G,X,X, _TYPELESS, _TYPELESS, _TYPELESS, _TYPELESS, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, }, | ||
| 701 | { DXGI_FORMAT_R16G16_FLOAT ,DXGI_FORMAT_R16G16_TYPELESS, D3DFCS_R16G16, {16,16,0,0}, 32, FALSE, 1, 1, 1, D3DFL_STANDARD, D3DFTL_FULL_TYPE, R,G,X,X, _FLOAT, _FLOAT, _TYPELESS, _TYPELESS, TRUE, TRUE, TRUE, FALSE, FALSE, FALSE, FALSE, }, | ||
| 702 | { DXGI_FORMAT_R16G16_UNORM ,DXGI_FORMAT_R16G16_TYPELESS, D3DFCS_R16G16, {16,16,0,0}, 32, FALSE, 1, 1, 1, D3DFL_STANDARD, D3DFTL_FULL_TYPE, R,G,X,X, _UNORM, _UNORM, _TYPELESS, _TYPELESS, TRUE, TRUE, TRUE, FALSE, FALSE, FALSE, FALSE, }, | ||
| 703 | { DXGI_FORMAT_R16G16_UINT ,DXGI_FORMAT_R16G16_TYPELESS, D3DFCS_R16G16, {16,16,0,0}, 32, FALSE, 1, 1, 1, D3DFL_STANDARD, D3DFTL_FULL_TYPE, R,G,X,X, _UINT, _UINT, _TYPELESS, _TYPELESS, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, }, | ||
| 704 | { DXGI_FORMAT_R16G16_SNORM ,DXGI_FORMAT_R16G16_TYPELESS, D3DFCS_R16G16, {16,16,0,0}, 32, FALSE, 1, 1, 1, D3DFL_STANDARD, D3DFTL_FULL_TYPE, R,G,X,X, _SNORM, _SNORM, _TYPELESS, _TYPELESS, TRUE, TRUE, TRUE, FALSE, FALSE, FALSE, FALSE, }, | ||
| 705 | { DXGI_FORMAT_R16G16_SINT ,DXGI_FORMAT_R16G16_TYPELESS, D3DFCS_R16G16, {16,16,0,0}, 32, FALSE, 1, 1, 1, D3DFL_STANDARD, D3DFTL_FULL_TYPE, R,G,X,X, _SINT, _SINT, _TYPELESS, _TYPELESS, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, }, | ||
| 706 | {DXGI_FORMAT_R32_TYPELESS ,DXGI_FORMAT_R32_TYPELESS, D3DFCS_R32, {32,0,0,0}, 32, FALSE, 1, 1, 1, D3DFL_STANDARD, D3DFTL_PARTIAL_TYPE, R,X,X,X, _TYPELESS, _TYPELESS, _TYPELESS, _TYPELESS, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, }, | ||
| 707 | { DXGI_FORMAT_D32_FLOAT ,DXGI_FORMAT_R32_TYPELESS, D3DFCS_R32, {32,0,0,0}, 32, FALSE, 1, 1, 1, D3DFL_STANDARD, D3DFTL_FULL_TYPE, D,X,X,X, _FLOAT, _TYPELESS, _TYPELESS, _TYPELESS, FALSE, TRUE, TRUE, FALSE, FALSE, FALSE, FALSE, }, | ||
| 708 | { DXGI_FORMAT_R32_FLOAT ,DXGI_FORMAT_R32_TYPELESS, D3DFCS_R32, {32,0,0,0}, 32, FALSE, 1, 1, 1, D3DFL_STANDARD, D3DFTL_FULL_TYPE, R,X,X,X, _FLOAT, _TYPELESS, _TYPELESS, _TYPELESS, TRUE, TRUE, TRUE, FALSE, FALSE, FALSE, FALSE, }, | ||
| 709 | { DXGI_FORMAT_R32_UINT ,DXGI_FORMAT_R32_TYPELESS, D3DFCS_R32, {32,0,0,0}, 32, FALSE, 1, 1, 1, D3DFL_STANDARD, D3DFTL_FULL_TYPE, R,X,X,X, _UINT, _TYPELESS, _TYPELESS, _TYPELESS, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, }, | ||
| 710 | { DXGI_FORMAT_R32_SINT ,DXGI_FORMAT_R32_TYPELESS, D3DFCS_R32, {32,0,0,0}, 32, FALSE, 1, 1, 1, D3DFL_STANDARD, D3DFTL_FULL_TYPE, R,X,X,X, _SINT, _TYPELESS, _TYPELESS, _TYPELESS, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, }, | ||
| 711 | {DXGI_FORMAT_R24G8_TYPELESS ,DXGI_FORMAT_R24G8_TYPELESS, D3DFCS_R24G8, {24,8,0,0}, 32, FALSE, 1, 1, 1, D3DFL_STANDARD, D3DFTL_PARTIAL_TYPE, R,G,X,X, _TYPELESS, _TYPELESS, _TYPELESS, _TYPELESS, FALSE, FALSE, FALSE, TRUE, FALSE, FALSE, FALSE, }, | ||
| 712 | { DXGI_FORMAT_D24_UNORM_S8_UINT ,DXGI_FORMAT_R24G8_TYPELESS, D3DFCS_R24G8, {24,8,0,0}, 32, FALSE, 1, 1, 1, D3DFL_STANDARD, D3DFTL_FULL_TYPE, D,S,X,X, _UNORM,_UINT,_TYPELESS,_TYPELESS, FALSE, TRUE, FALSE, TRUE, FALSE, FALSE, FALSE, }, | ||
| 713 | { DXGI_FORMAT_R24_UNORM_X8_TYPELESS ,DXGI_FORMAT_R24G8_TYPELESS, D3DFCS_R24G8, {24,8,0,0}, 32, FALSE, 1, 1, 1, D3DFL_STANDARD, D3DFTL_FULL_TYPE, R,X,X,X, _UNORM,_TYPELESS,_TYPELESS,_TYPELESS, FALSE, FALSE, TRUE, TRUE, FALSE, FALSE, FALSE, }, | ||
| 714 | { DXGI_FORMAT_X24_TYPELESS_G8_UINT ,DXGI_FORMAT_R24G8_TYPELESS, D3DFCS_R24G8, {24,8,0,0}, 32, FALSE, 1, 1, 1, D3DFL_STANDARD, D3DFTL_FULL_TYPE, X,G,X,X, _TYPELESS,_UINT,_TYPELESS,_TYPELESS, FALSE, FALSE, FALSE, TRUE, FALSE, FALSE, FALSE, }, | ||
| 715 | {DXGI_FORMAT_R8G8_TYPELESS ,DXGI_FORMAT_R8G8_TYPELESS, D3DFCS_R8G8, {8,8,0,0}, 16, FALSE, 1, 1, 1, D3DFL_STANDARD, D3DFTL_PARTIAL_TYPE, R,G,X,X, _TYPELESS, _TYPELESS, _TYPELESS, _TYPELESS, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, }, | ||
| 716 | { DXGI_FORMAT_R8G8_UNORM ,DXGI_FORMAT_R8G8_TYPELESS, D3DFCS_R8G8, {8,8,0,0}, 16, FALSE, 1, 1, 1, D3DFL_STANDARD, D3DFTL_FULL_TYPE, R,G,X,X, _UNORM, _UNORM, _TYPELESS, _TYPELESS, FALSE, FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, }, | ||
| 717 | { DXGI_FORMAT_R8G8_UINT ,DXGI_FORMAT_R8G8_TYPELESS, D3DFCS_R8G8, {8,8,0,0}, 16, FALSE, 1, 1, 1, D3DFL_STANDARD, D3DFTL_FULL_TYPE, R,G,X,X, _UINT, _UINT, _TYPELESS, _TYPELESS, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, }, | ||
| 718 | { DXGI_FORMAT_R8G8_SNORM ,DXGI_FORMAT_R8G8_TYPELESS, D3DFCS_R8G8, {8,8,0,0}, 16, FALSE, 1, 1, 1, D3DFL_STANDARD, D3DFTL_FULL_TYPE, R,G,X,X, _SNORM, _SNORM, _TYPELESS, _TYPELESS, FALSE, TRUE, TRUE, FALSE, FALSE, FALSE, FALSE, }, | ||
| 719 | { DXGI_FORMAT_R8G8_SINT ,DXGI_FORMAT_R8G8_TYPELESS, D3DFCS_R8G8, {8,8,0,0}, 16, FALSE, 1, 1, 1, D3DFL_STANDARD, D3DFTL_FULL_TYPE, R,G,X,X, _SINT, _SINT, _TYPELESS, _TYPELESS, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, }, | ||
| 720 | {DXGI_FORMAT_R16_TYPELESS ,DXGI_FORMAT_R16_TYPELESS, D3DFCS_R16, {16,0,0,0}, 16, FALSE, 1, 1, 1, D3DFL_STANDARD, D3DFTL_PARTIAL_TYPE, R,X,X,X, _TYPELESS, _TYPELESS, _TYPELESS, _TYPELESS, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, }, | ||
| 721 | { DXGI_FORMAT_R16_FLOAT ,DXGI_FORMAT_R16_TYPELESS, D3DFCS_R16, {16,0,0,0}, 16, FALSE, 1, 1, 1, D3DFL_STANDARD, D3DFTL_FULL_TYPE, R,X,X,X, _FLOAT, _TYPELESS, _TYPELESS, _TYPELESS, FALSE, FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, }, | ||
| 722 | { DXGI_FORMAT_D16_UNORM ,DXGI_FORMAT_R16_TYPELESS, D3DFCS_R16, {16,0,0,0}, 16, FALSE, 1, 1, 1, D3DFL_STANDARD, D3DFTL_FULL_TYPE, D,X,X,X, _UNORM, _TYPELESS, _TYPELESS, _TYPELESS, FALSE, TRUE, TRUE, FALSE, FALSE, FALSE, FALSE, }, | ||
| 723 | { DXGI_FORMAT_R16_UNORM ,DXGI_FORMAT_R16_TYPELESS, D3DFCS_R16, {16,0,0,0}, 16, FALSE, 1, 1, 1, D3DFL_STANDARD, D3DFTL_FULL_TYPE, R,X,X,X, _UNORM, _TYPELESS, _TYPELESS, _TYPELESS, FALSE, FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, }, | ||
| 724 | { DXGI_FORMAT_R16_UINT ,DXGI_FORMAT_R16_TYPELESS, D3DFCS_R16, {16,0,0,0}, 16, FALSE, 1, 1, 1, D3DFL_STANDARD, D3DFTL_FULL_TYPE, R,X,X,X, _UINT, _TYPELESS, _TYPELESS, _TYPELESS, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, }, | ||
| 725 | { DXGI_FORMAT_R16_SNORM ,DXGI_FORMAT_R16_TYPELESS, D3DFCS_R16, {16,0,0,0}, 16, FALSE, 1, 1, 1, D3DFL_STANDARD, D3DFTL_FULL_TYPE, R,X,X,X, _SNORM, _TYPELESS, _TYPELESS, _TYPELESS, FALSE, FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, }, | ||
| 726 | { DXGI_FORMAT_R16_SINT ,DXGI_FORMAT_R16_TYPELESS, D3DFCS_R16, {16,0,0,0}, 16, FALSE, 1, 1, 1, D3DFL_STANDARD, D3DFTL_FULL_TYPE, R,X,X,X, _SINT, _TYPELESS, _TYPELESS, _TYPELESS, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, }, | ||
| 727 | {DXGI_FORMAT_R8_TYPELESS ,DXGI_FORMAT_R8_TYPELESS, D3DFCS_R8, {8,0,0,0}, 8, FALSE, 1, 1, 1, D3DFL_STANDARD, D3DFTL_PARTIAL_TYPE, R,X,X,X, _TYPELESS, _TYPELESS, _TYPELESS, _TYPELESS, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, }, | ||
| 728 | { DXGI_FORMAT_R8_UNORM ,DXGI_FORMAT_R8_TYPELESS, D3DFCS_R8, {8,0,0,0}, 8, FALSE, 1, 1, 1, D3DFL_STANDARD, D3DFTL_FULL_TYPE, R,X,X,X, _UNORM, _TYPELESS, _TYPELESS, _TYPELESS, FALSE, FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, }, | ||
| 729 | { DXGI_FORMAT_R8_UINT ,DXGI_FORMAT_R8_TYPELESS, D3DFCS_R8, {8,0,0,0}, 8, FALSE, 1, 1, 1, D3DFL_STANDARD, D3DFTL_FULL_TYPE, R,X,X,X, _UINT, _TYPELESS, _TYPELESS, _TYPELESS, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, }, | ||
| 730 | { DXGI_FORMAT_R8_SNORM ,DXGI_FORMAT_R8_TYPELESS, D3DFCS_R8, {8,0,0,0}, 8, FALSE, 1, 1, 1, D3DFL_STANDARD, D3DFTL_FULL_TYPE, R,X,X,X, _SNORM, _TYPELESS, _TYPELESS, _TYPELESS, FALSE, FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, }, | ||
| 731 | { DXGI_FORMAT_R8_SINT ,DXGI_FORMAT_R8_TYPELESS, D3DFCS_R8, {8,0,0,0}, 8, FALSE, 1, 1, 1, D3DFL_STANDARD, D3DFTL_FULL_TYPE, R,X,X,X, _SINT, _TYPELESS, _TYPELESS, _TYPELESS, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, }, | ||
| 732 | {DXGI_FORMAT_A8_UNORM ,DXGI_FORMAT_A8_UNORM, D3DFCS_A8, {0,0,0,8}, 8, FALSE, 1, 1, 1, D3DFL_STANDARD, D3DFTL_FULL_TYPE, X,X,X,A, _TYPELESS, _TYPELESS, _TYPELESS, _UNORM, FALSE, TRUE, TRUE, FALSE, FALSE, FALSE, FALSE, }, | ||
| 733 | {DXGI_FORMAT_R1_UNORM ,DXGI_FORMAT_R1_UNORM, D3DFCS_R1, {1,0,0,0}, 1, FALSE, 8, 1, 1, D3DFL_STANDARD, D3DFTL_FULL_TYPE, R,X,X,X, _UNORM, _TYPELESS, _TYPELESS, _TYPELESS, FALSE, FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, }, | ||
| 734 | {DXGI_FORMAT_R9G9B9E5_SHAREDEXP ,DXGI_FORMAT_R9G9B9E5_SHAREDEXP, D3DFCS_R9G9B9E5, {0,0,0,0}, 32, FALSE, 1, 1, 1, D3DFL_CUSTOM, D3DFTL_FULL_TYPE, R,G,B,X, _FLOAT, _FLOAT, _FLOAT, _FLOAT, FALSE, FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, }, | ||
| 735 | {DXGI_FORMAT_R8G8_B8G8_UNORM ,DXGI_FORMAT_R8G8_B8G8_UNORM, D3DFCS_R8G8_B8G8, {0,0,0,0}, 16, FALSE, 2, 1, 1, D3DFL_CUSTOM, D3DFTL_FULL_TYPE, R,G,B,X, _UNORM, _UNORM, _UNORM, _TYPELESS, FALSE, TRUE, TRUE, FALSE, FALSE, FALSE, FALSE, }, | ||
| 736 | {DXGI_FORMAT_G8R8_G8B8_UNORM ,DXGI_FORMAT_G8R8_G8B8_UNORM, D3DFCS_G8R8_G8B8, {0,0,0,0}, 16, FALSE, 2, 1, 1, D3DFL_CUSTOM, D3DFTL_FULL_TYPE, R,G,B,X, _UNORM, _UNORM, _UNORM, _TYPELESS, FALSE, TRUE, TRUE, FALSE, FALSE, FALSE, FALSE, }, | ||
| 737 | {DXGI_FORMAT_BC1_TYPELESS ,DXGI_FORMAT_BC1_TYPELESS, D3DFCS_BC1, {0,0,0,0}, 64, FALSE, 4, 4, 1, D3DFL_CUSTOM, D3DFTL_PARTIAL_TYPE, R,G,B,A, _TYPELESS, _TYPELESS, _TYPELESS, _TYPELESS, FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, }, | ||
| 738 | { DXGI_FORMAT_BC1_UNORM ,DXGI_FORMAT_BC1_TYPELESS, D3DFCS_BC1, {0,0,0,0}, 64, FALSE, 4, 4, 1, D3DFL_CUSTOM, D3DFTL_FULL_TYPE, R,G,B,A, _UNORM, _UNORM, _UNORM, _UNORM, FALSE, TRUE, TRUE, FALSE, FALSE, FALSE, FALSE, }, | ||
| 739 | { DXGI_FORMAT_BC1_UNORM_SRGB ,DXGI_FORMAT_BC1_TYPELESS, D3DFCS_BC1, {0,0,0,0}, 64, TRUE, 4, 4, 1, D3DFL_CUSTOM, D3DFTL_FULL_TYPE, R,G,B,A, _UNORM_SRGB, _UNORM_SRGB, _UNORM_SRGB, _UNORM, FALSE, TRUE, TRUE, FALSE, FALSE, FALSE, FALSE, }, | ||
| 740 | {DXGI_FORMAT_BC2_TYPELESS ,DXGI_FORMAT_BC2_TYPELESS, D3DFCS_BC2, {0,0,0,0}, 128, FALSE, 4, 4, 1, D3DFL_CUSTOM, D3DFTL_PARTIAL_TYPE, R,G,B,A, _TYPELESS, _TYPELESS, _TYPELESS, _TYPELESS, FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, }, | ||
| 741 | { DXGI_FORMAT_BC2_UNORM ,DXGI_FORMAT_BC2_TYPELESS, D3DFCS_BC2, {0,0,0,0}, 128, FALSE, 4, 4, 1, D3DFL_CUSTOM, D3DFTL_FULL_TYPE, R,G,B,A, _UNORM, _UNORM, _UNORM, _UNORM, FALSE, TRUE, TRUE, FALSE, FALSE, FALSE, FALSE, }, | ||
| 742 | { DXGI_FORMAT_BC2_UNORM_SRGB ,DXGI_FORMAT_BC2_TYPELESS, D3DFCS_BC2, {0,0,0,0}, 128, TRUE, 4, 4, 1, D3DFL_CUSTOM, D3DFTL_FULL_TYPE, R,G,B,A, _UNORM_SRGB, _UNORM_SRGB, _UNORM_SRGB, _UNORM, FALSE, TRUE, TRUE, FALSE, FALSE, FALSE, FALSE, }, | ||
| 743 | {DXGI_FORMAT_BC3_TYPELESS ,DXGI_FORMAT_BC3_TYPELESS, D3DFCS_BC3, {0,0,0,0}, 128, FALSE, 4, 4, 1, D3DFL_CUSTOM, D3DFTL_PARTIAL_TYPE, R,G,B,A, _TYPELESS, _TYPELESS, _TYPELESS, _TYPELESS, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, }, | ||
| 744 | { DXGI_FORMAT_BC3_UNORM ,DXGI_FORMAT_BC3_TYPELESS, D3DFCS_BC3, {0,0,0,0}, 128, FALSE, 4, 4, 1, D3DFL_CUSTOM, D3DFTL_FULL_TYPE, R,G,B,A, _UNORM, _UNORM, _UNORM, _UNORM, FALSE, TRUE, TRUE, FALSE, FALSE, FALSE, FALSE, }, | ||
| 745 | { DXGI_FORMAT_BC3_UNORM_SRGB ,DXGI_FORMAT_BC3_TYPELESS, D3DFCS_BC3, {0,0,0,0}, 128, TRUE, 4, 4, 1, D3DFL_CUSTOM, D3DFTL_FULL_TYPE, R,G,B,A, _UNORM_SRGB, _UNORM_SRGB, _UNORM_SRGB, _UNORM, FALSE, TRUE, TRUE, FALSE, FALSE, FALSE, FALSE, }, | ||
| 746 | {DXGI_FORMAT_BC4_TYPELESS ,DXGI_FORMAT_BC4_TYPELESS, D3DFCS_BC4, {0,0,0,0}, 64, FALSE, 4, 4, 1, D3DFL_CUSTOM, D3DFTL_PARTIAL_TYPE, R,X,X,X, _TYPELESS, _TYPELESS, _TYPELESS, _TYPELESS, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, }, | ||
| 747 | { DXGI_FORMAT_BC4_UNORM ,DXGI_FORMAT_BC4_TYPELESS, D3DFCS_BC4, {0,0,0,0}, 64, FALSE, 4, 4, 1, D3DFL_CUSTOM, D3DFTL_FULL_TYPE, R,X,X,X, _UNORM, _TYPELESS, _TYPELESS, _TYPELESS, FALSE, FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, }, | ||
| 748 | { DXGI_FORMAT_BC4_SNORM ,DXGI_FORMAT_BC4_TYPELESS, D3DFCS_BC4, {0,0,0,0}, 64, FALSE, 4, 4, 1, D3DFL_CUSTOM, D3DFTL_FULL_TYPE, R,X,X,X, _SNORM, _TYPELESS, _TYPELESS, _TYPELESS, FALSE, FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, }, | ||
| 749 | {DXGI_FORMAT_BC5_TYPELESS ,DXGI_FORMAT_BC5_TYPELESS, D3DFCS_BC5, {0,0,0,0}, 128, FALSE, 4, 4, 1, D3DFL_CUSTOM, D3DFTL_PARTIAL_TYPE, R,G,X,X, _TYPELESS, _TYPELESS, _TYPELESS, _TYPELESS, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, }, | ||
| 750 | { DXGI_FORMAT_BC5_UNORM ,DXGI_FORMAT_BC5_TYPELESS, D3DFCS_BC5, {0,0,0,0}, 128, FALSE, 4, 4, 1, D3DFL_CUSTOM, D3DFTL_FULL_TYPE, R,G,X,X, _UNORM, _UNORM, _TYPELESS, _TYPELESS, FALSE, FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, }, | ||
| 751 | { DXGI_FORMAT_BC5_SNORM ,DXGI_FORMAT_BC5_TYPELESS, D3DFCS_BC5, {0,0,0,0}, 128, FALSE, 4, 4, 1, D3DFL_CUSTOM, D3DFTL_FULL_TYPE, R,G,X,X, _SNORM, _SNORM, _TYPELESS, _TYPELESS, FALSE, FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, }, | ||
| 752 | {DXGI_FORMAT_B5G6R5_UNORM ,DXGI_FORMAT_B5G6R5_UNORM, D3DFCS_B5G6R5, {5,6,5,0}, 16, FALSE, 1, 1, 1, D3DFL_STANDARD, D3DFTL_FULL_TYPE, B,G,R,X, _UNORM, _UNORM, _UNORM, _TYPELESS, FALSE, TRUE, TRUE, FALSE, FALSE, FALSE, FALSE, }, | ||
| 753 | {DXGI_FORMAT_B5G5R5A1_UNORM ,DXGI_FORMAT_B5G5R5A1_UNORM, D3DFCS_B5G5R5A1, {5,5,5,1}, 16, FALSE, 1, 1, 1, D3DFL_STANDARD, D3DFTL_FULL_TYPE, B,G,R,A, _UNORM, _UNORM, _UNORM, _UNORM, FALSE, TRUE, TRUE, FALSE, FALSE, FALSE, FALSE, }, | ||
| 754 | {DXGI_FORMAT_B8G8R8A8_UNORM ,DXGI_FORMAT_B8G8R8A8_TYPELESS, D3DFCS_B8G8R8A8, {8,8,8,8}, 32, FALSE, 1, 1, 1, D3DFL_STANDARD, D3DFTL_FULL_TYPE, B,G,R,A, _UNORM, _UNORM, _UNORM, _UNORM, FALSE, TRUE, TRUE, FALSE, FALSE, FALSE, FALSE, }, | ||
| 755 | {DXGI_FORMAT_B8G8R8X8_UNORM ,DXGI_FORMAT_B8G8R8X8_TYPELESS, D3DFCS_B8G8R8X8, {8,8,8,8}, 32, FALSE, 1, 1, 1, D3DFL_STANDARD, D3DFTL_FULL_TYPE, B,G,R,X, _UNORM, _UNORM, _UNORM, _TYPELESS, FALSE, TRUE, TRUE, FALSE, FALSE, FALSE, FALSE, }, | ||
| 756 | {DXGI_FORMAT_R10G10B10_XR_BIAS_A2_UNORM ,DXGI_FORMAT_R10G10B10A2_TYPELESS, D3DFCS_R10G10B10A2, {10,10,10,2}, 32, FALSE, 1, 1, 1, D3DFL_STANDARD, D3DFTL_FULL_TYPE, R,G,B,A, _FIXED_2_8, _FIXED_2_8, _FIXED_2_8, _UNORM, FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, }, | ||
| 757 | {DXGI_FORMAT_B8G8R8A8_TYPELESS ,DXGI_FORMAT_B8G8R8A8_TYPELESS, D3DFCS_B8G8R8A8, {8,8,8,8}, 32, FALSE, 1, 1, 1, D3DFL_STANDARD, D3DFTL_PARTIAL_TYPE, B,G,R,A, _TYPELESS, _TYPELESS, _TYPELESS, _TYPELESS, FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, }, | ||
| 758 | { DXGI_FORMAT_B8G8R8A8_UNORM_SRGB ,DXGI_FORMAT_B8G8R8A8_TYPELESS, D3DFCS_B8G8R8A8, {8,8,8,8}, 32, TRUE, 1, 1, 1, D3DFL_STANDARD, D3DFTL_FULL_TYPE, B,G,R,A, _UNORM_SRGB, _UNORM_SRGB, _UNORM_SRGB, _UNORM_SRGB, FALSE, TRUE, TRUE, FALSE, FALSE, FALSE, FALSE, }, | ||
| 759 | {DXGI_FORMAT_B8G8R8X8_TYPELESS ,DXGI_FORMAT_B8G8R8X8_TYPELESS, D3DFCS_B8G8R8X8, {8,8,8,8}, 32, FALSE, 1, 1, 1, D3DFL_STANDARD, D3DFTL_PARTIAL_TYPE, B,G,R,X, _TYPELESS, _TYPELESS, _TYPELESS, _TYPELESS, FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, }, | ||
| 760 | { DXGI_FORMAT_B8G8R8X8_UNORM_SRGB ,DXGI_FORMAT_B8G8R8X8_TYPELESS, D3DFCS_B8G8R8X8, {8,8,8,8}, 32, TRUE, 1, 1, 1, D3DFL_STANDARD, D3DFTL_FULL_TYPE, B,G,R,X, _UNORM_SRGB, _UNORM_SRGB, _UNORM_SRGB, _TYPELESS, FALSE, TRUE, TRUE, FALSE, FALSE, FALSE, FALSE, }, | ||
| 761 | {DXGI_FORMAT_BC6H_TYPELESS ,DXGI_FORMAT_BC6H_TYPELESS, D3DFCS_BC6H, {0,0,0,0}, 128, FALSE, 4, 4, 1, D3DFL_CUSTOM, D3DFTL_PARTIAL_TYPE, R,G,B,X, _TYPELESS, _TYPELESS, _TYPELESS, _TYPELESS, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, }, | ||
| 762 | { DXGI_FORMAT_BC6H_UF16 ,DXGI_FORMAT_BC6H_TYPELESS, D3DFCS_BC6H, {0,0,0,0}, 128, FALSE, 4, 4, 1, D3DFL_CUSTOM, D3DFTL_FULL_TYPE, R,G,B,X, _FLOAT, _FLOAT, _FLOAT, _TYPELESS, FALSE, FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, }, | ||
| 763 | { DXGI_FORMAT_BC6H_SF16 ,DXGI_FORMAT_BC6H_TYPELESS, D3DFCS_BC6H, {0,0,0,0}, 128, FALSE, 4, 4, 1, D3DFL_CUSTOM, D3DFTL_FULL_TYPE, R,G,B,X, _FLOAT, _FLOAT, _FLOAT, _TYPELESS, FALSE, FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, }, | ||
| 764 | {DXGI_FORMAT_BC7_TYPELESS ,DXGI_FORMAT_BC7_TYPELESS, D3DFCS_BC7, {0,0,0,0}, 128, FALSE, 4, 4, 1, D3DFL_CUSTOM, D3DFTL_PARTIAL_TYPE, R,G,B,A, _TYPELESS, _TYPELESS, _TYPELESS, _TYPELESS, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, }, | ||
| 765 | { DXGI_FORMAT_BC7_UNORM ,DXGI_FORMAT_BC7_TYPELESS, D3DFCS_BC7, {0,0,0,0}, 128, FALSE, 4, 4, 1, D3DFL_CUSTOM, D3DFTL_FULL_TYPE, R,G,B,A, _UNORM, _UNORM, _UNORM, _UNORM, FALSE, FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, }, | ||
| 766 | { DXGI_FORMAT_BC7_UNORM_SRGB ,DXGI_FORMAT_BC7_TYPELESS, D3DFCS_BC7, {0,0,0,0}, 128, TRUE, 4, 4, 1, D3DFL_CUSTOM, D3DFTL_FULL_TYPE, R,G,B,A, _UNORM_SRGB, _UNORM_SRGB, _UNORM_SRGB, _UNORM, FALSE, FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, }, | ||
| 767 | // YUV 4:4:4 formats | ||
| 768 | { DXGI_FORMAT_AYUV ,DXGI_FORMAT_AYUV, D3DFCS_AYUV, {8,8,8,8}, 32, FALSE, 1, 1, 1, D3DFL_STANDARD, D3DFTL_FULL_TYPE, B,G,R,A, _UNORM, _UNORM, _UNORM, _UNORM, FALSE, TRUE, FALSE, FALSE, TRUE, FALSE, FALSE, }, | ||
| 769 | { DXGI_FORMAT_Y410 ,DXGI_FORMAT_Y410, D3DFCS_Y410, {10,10,10,2}, 32, FALSE, 1, 1, 1, D3DFL_STANDARD, D3DFTL_FULL_TYPE, B,G,R,A, _UNORM, _UNORM, _UNORM, _UNORM, FALSE, FALSE, FALSE, FALSE, TRUE, FALSE, FALSE, }, | ||
| 770 | { DXGI_FORMAT_Y416 ,DXGI_FORMAT_Y416, D3DFCS_Y416, {16,16,16,16}, 64, FALSE, 1, 1, 1, D3DFL_STANDARD, D3DFTL_FULL_TYPE, B,G,R,A, _UNORM, _UNORM, _UNORM, _UNORM, FALSE, FALSE, FALSE, FALSE, TRUE, FALSE, FALSE, }, | ||
| 771 | // YUV 4:2:0 formats | ||
| 772 | { DXGI_FORMAT_NV12 ,DXGI_FORMAT_NV12, D3DFCS_NV12, {0,0,0,0}, 8, FALSE, 2, 2, 1, D3DFL_CUSTOM, D3DFTL_FULL_TYPE, R,X,X,X, _UNORM, _TYPELESS, _TYPELESS, _TYPELESS, FALSE, TRUE, FALSE, TRUE, TRUE, FALSE, FALSE, }, | ||
| 773 | { DXGI_FORMAT_P010 ,DXGI_FORMAT_P010, D3DFCS_P010, {0,0,0,0}, 16, FALSE, 2, 2, 1, D3DFL_CUSTOM, D3DFTL_FULL_TYPE, R,X,X,X, _UNORM, _TYPELESS, _TYPELESS, _TYPELESS, FALSE, FALSE, FALSE, TRUE, TRUE, FALSE, FALSE, }, | ||
| 774 | { DXGI_FORMAT_P016 ,DXGI_FORMAT_P016, D3DFCS_P016, {0,0,0,0}, 16, FALSE, 2, 2, 1, D3DFL_CUSTOM, D3DFTL_FULL_TYPE, R,X,X,X, _UNORM, _TYPELESS, _TYPELESS, _TYPELESS, FALSE, FALSE, FALSE, TRUE, TRUE, FALSE, FALSE, }, | ||
| 775 | { DXGI_FORMAT_420_OPAQUE ,DXGI_FORMAT_420_OPAQUE, D3DFCS_420_OPAQUE, {0,0,0,0}, 8, FALSE, 2, 2, 1, D3DFL_CUSTOM, D3DFTL_FULL_TYPE, R,X,X,X, _UNORM, _TYPELESS, _TYPELESS, _TYPELESS, FALSE, TRUE, FALSE, TRUE, TRUE, FALSE, FALSE, }, | ||
| 776 | // YUV 4:2:2 formats | ||
| 777 | { DXGI_FORMAT_YUY2 ,DXGI_FORMAT_YUY2, D3DFCS_YUY2, {0,0,0,0}, 16, FALSE, 2, 1, 1, D3DFL_CUSTOM, D3DFTL_FULL_TYPE, R,G,B,X, _UNORM, _UNORM, _UNORM, _TYPELESS, FALSE, TRUE, FALSE, FALSE, TRUE, FALSE, FALSE, }, | ||
| 778 | { DXGI_FORMAT_Y210 ,DXGI_FORMAT_Y210, D3DFCS_Y210, {0,0,0,0}, 32, FALSE, 2, 1, 1, D3DFL_CUSTOM, D3DFTL_FULL_TYPE, R,G,B,X, _UNORM, _UNORM, _UNORM, _TYPELESS, FALSE, FALSE, FALSE, FALSE, TRUE, FALSE, FALSE, }, | ||
| 779 | { DXGI_FORMAT_Y216 ,DXGI_FORMAT_Y216, D3DFCS_Y216, {0,0,0,0}, 32, FALSE, 2, 1, 1, D3DFL_CUSTOM, D3DFTL_FULL_TYPE, R,G,B,X, _UNORM, _UNORM, _UNORM, _TYPELESS, FALSE, FALSE, FALSE, FALSE, TRUE, FALSE, FALSE, }, | ||
| 780 | // YUV 4:1:1 formats | ||
| 781 | { DXGI_FORMAT_NV11 ,DXGI_FORMAT_NV11, D3DFCS_NV11, {0,0,0,0}, 8, FALSE, 4, 1, 1, D3DFL_CUSTOM, D3DFTL_FULL_TYPE, R,X,X,X, _UNORM, _TYPELESS, _TYPELESS, _TYPELESS, FALSE, TRUE, FALSE, TRUE, TRUE, FALSE, FALSE, }, | ||
| 782 | // Legacy substream formats | ||
| 783 | { DXGI_FORMAT_AI44 ,DXGI_FORMAT_AI44, D3DFCS_AI44, {0,0,0,0}, 8, FALSE, 1, 1, 1, D3DFL_CUSTOM, D3DFTL_FULL_TYPE, R,X,X,X, _UNORM, _TYPELESS, _TYPELESS, _TYPELESS, FALSE, TRUE, FALSE, FALSE, TRUE, FALSE, FALSE, }, | ||
| 784 | { DXGI_FORMAT_IA44 ,DXGI_FORMAT_IA44, D3DFCS_IA44, {0,0,0,0}, 8, FALSE, 1, 1, 1, D3DFL_CUSTOM, D3DFTL_FULL_TYPE, R,X,X,X, _UNORM, _TYPELESS, _TYPELESS, _TYPELESS, FALSE, TRUE, FALSE, FALSE, TRUE, FALSE, FALSE, }, | ||
| 785 | { DXGI_FORMAT_P8 ,DXGI_FORMAT_P8, D3DFCS_P8, {0,0,0,0}, 8, FALSE, 1, 1, 1, D3DFL_CUSTOM, D3DFTL_FULL_TYPE, R,X,X,X, _UNORM, _TYPELESS, _TYPELESS, _TYPELESS, FALSE, TRUE, FALSE, FALSE, TRUE, FALSE, FALSE, }, | ||
| 786 | { DXGI_FORMAT_A8P8 ,DXGI_FORMAT_A8P8, D3DFCS_A8P8, {0,0,0,0}, 16, FALSE, 1, 1, 1, D3DFL_CUSTOM, D3DFTL_FULL_TYPE, R,X,X,X, _UNORM, _TYPELESS, _TYPELESS, _TYPELESS, FALSE, TRUE, FALSE, FALSE, TRUE, FALSE, FALSE, }, | ||
| 787 | { DXGI_FORMAT_B4G4R4A4_UNORM ,DXGI_FORMAT_B4G4R4A4_UNORM, D3DFCS_B4G4R4A4, {4,4,4,4}, 16, FALSE, 1, 1, 1, D3DFL_STANDARD, D3DFTL_FULL_TYPE, B,G,R,A, _UNORM, _UNORM, _UNORM, _UNORM, FALSE, TRUE, TRUE, FALSE, FALSE, FALSE, FALSE, }, | ||
| 788 | { DXGI_FORMAT(116) ,DXGI_FORMAT_UNKNOWN, D3DFCS_UNKNOWN, {0,0,0,0}, 0, FALSE, 1, 1, 1, D3DFL_CUSTOM, D3DFTL_NO_TYPE, X,X,X,X, _TYPELESS, _TYPELESS, _TYPELESS, _TYPELESS, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, TRUE, }, | ||
| 789 | { DXGI_FORMAT(117) ,DXGI_FORMAT_UNKNOWN, D3DFCS_UNKNOWN, {0,0,0,0}, 0, FALSE, 1, 1, 1, D3DFL_CUSTOM, D3DFTL_NO_TYPE, X,X,X,X, _TYPELESS, _TYPELESS, _TYPELESS, _TYPELESS, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, TRUE, }, | ||
| 790 | { DXGI_FORMAT(118) ,DXGI_FORMAT_UNKNOWN, D3DFCS_UNKNOWN, {0,0,0,0}, 0, FALSE, 1, 1, 1, D3DFL_CUSTOM, D3DFTL_NO_TYPE, X,X,X,X, _TYPELESS, _TYPELESS, _TYPELESS, _TYPELESS, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, TRUE, }, | ||
| 791 | { DXGI_FORMAT(119) ,DXGI_FORMAT_UNKNOWN, D3DFCS_UNKNOWN, {0,0,0,0}, 0, FALSE, 1, 1, 1, D3DFL_CUSTOM, D3DFTL_NO_TYPE, X,X,X,X, _TYPELESS, _TYPELESS, _TYPELESS, _TYPELESS, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, TRUE, }, | ||
| 792 | { DXGI_FORMAT(120) ,DXGI_FORMAT_UNKNOWN, D3DFCS_UNKNOWN, {0,0,0,0}, 0, FALSE, 1, 1, 1, D3DFL_CUSTOM, D3DFTL_NO_TYPE, X,X,X,X, _TYPELESS, _TYPELESS, _TYPELESS, _TYPELESS, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, TRUE, }, | ||
| 793 | { DXGI_FORMAT(121) ,DXGI_FORMAT_UNKNOWN, D3DFCS_UNKNOWN, {0,0,0,0}, 0, FALSE, 1, 1, 1, D3DFL_CUSTOM, D3DFTL_NO_TYPE, X,X,X,X, _TYPELESS, _TYPELESS, _TYPELESS, _TYPELESS, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, TRUE, }, | ||
| 794 | { DXGI_FORMAT(122) ,DXGI_FORMAT_UNKNOWN, D3DFCS_UNKNOWN, {0,0,0,0}, 0, FALSE, 1, 1, 1, D3DFL_CUSTOM, D3DFTL_NO_TYPE, X,X,X,X, _TYPELESS, _TYPELESS, _TYPELESS, _TYPELESS, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, TRUE, }, | ||
| 795 | |||
| 796 | { DXGI_FORMAT(123) ,DXGI_FORMAT_UNKNOWN, D3DFCS_UNKNOWN, {0,0,0,0}, 0, FALSE, 1, 1, 1, D3DFL_CUSTOM, D3DFTL_NO_TYPE, X,X,X,X, _TYPELESS, _TYPELESS, _TYPELESS, _TYPELESS, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, TRUE, }, | ||
| 797 | |||
| 798 | { DXGI_FORMAT(124) ,DXGI_FORMAT_UNKNOWN, D3DFCS_UNKNOWN, {0,0,0,0}, 0, FALSE, 1, 1, 1, D3DFL_CUSTOM, D3DFTL_NO_TYPE, X,X,X,X, _TYPELESS, _TYPELESS, _TYPELESS, _TYPELESS, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, TRUE, }, | ||
| 799 | { DXGI_FORMAT(125) ,DXGI_FORMAT_UNKNOWN, D3DFCS_UNKNOWN, {0,0,0,0}, 0, FALSE, 1, 1, 1, D3DFL_CUSTOM, D3DFTL_NO_TYPE, X,X,X,X, _TYPELESS, _TYPELESS, _TYPELESS, _TYPELESS, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, TRUE, }, | ||
| 800 | { DXGI_FORMAT(126) ,DXGI_FORMAT_UNKNOWN, D3DFCS_UNKNOWN, {0,0,0,0}, 0, FALSE, 1, 1, 1, D3DFL_CUSTOM, D3DFTL_NO_TYPE, X,X,X,X, _TYPELESS, _TYPELESS, _TYPELESS, _TYPELESS, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, TRUE, }, | ||
| 801 | { DXGI_FORMAT(127) ,DXGI_FORMAT_UNKNOWN, D3DFCS_UNKNOWN, {0,0,0,0}, 0, FALSE, 1, 1, 1, D3DFL_CUSTOM, D3DFTL_NO_TYPE, X,X,X,X, _TYPELESS, _TYPELESS, _TYPELESS, _TYPELESS, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, TRUE, }, | ||
| 802 | { DXGI_FORMAT(128) ,DXGI_FORMAT_UNKNOWN, D3DFCS_UNKNOWN, {0,0,0,0}, 0, FALSE, 1, 1, 1, D3DFL_CUSTOM, D3DFTL_NO_TYPE, X,X,X,X, _TYPELESS, _TYPELESS, _TYPELESS, _TYPELESS, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, TRUE, }, | ||
| 803 | { DXGI_FORMAT(129) ,DXGI_FORMAT_UNKNOWN, D3DFCS_UNKNOWN, {0,0,0,0}, 0, FALSE, 1, 1, 1, D3DFL_CUSTOM, D3DFTL_NO_TYPE, X,X,X,X, _TYPELESS, _TYPELESS, _TYPELESS, _TYPELESS, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, TRUE, }, | ||
| 804 | { DXGI_FORMAT(DXGI_FORMAT_P208) ,DXGI_FORMAT_P208, D3DFCS_P208, {0,0,0,0}, 8, FALSE, 2, 1, 1, D3DFL_CUSTOM, D3DFTL_FULL_TYPE, R,X,X,X, _UNORM, _TYPELESS, _TYPELESS, _TYPELESS, FALSE, TRUE, FALSE, TRUE, TRUE, FALSE, FALSE, }, | ||
| 805 | { DXGI_FORMAT(DXGI_FORMAT_V208) ,DXGI_FORMAT_V208, D3DFCS_V208, {0,0,0,0}, 8, FALSE, 1, 2, 1, D3DFL_CUSTOM, D3DFTL_FULL_TYPE, R,X,X,X, _UNORM, _TYPELESS, _TYPELESS, _TYPELESS, FALSE, TRUE, FALSE, TRUE, TRUE, FALSE, FALSE, }, | ||
| 806 | { DXGI_FORMAT(DXGI_FORMAT_V408) ,DXGI_FORMAT_V408, D3DFCS_V408, {0,0,0,0}, 8, FALSE, 1, 1, 1, D3DFL_CUSTOM, D3DFTL_FULL_TYPE, R,X,X,X, _UNORM, _TYPELESS, _TYPELESS, _TYPELESS, FALSE, TRUE, FALSE, TRUE, TRUE, FALSE, FALSE, }, | ||
| 807 | |||
| 808 | { DXGI_FORMAT(133) ,DXGI_FORMAT_UNKNOWN, D3DFCS_UNKNOWN, {0,0,0,0}, 0, FALSE, 1, 1, 1, D3DFL_CUSTOM, D3DFTL_NO_TYPE, X,X,X,X, _TYPELESS, _TYPELESS, _TYPELESS, _TYPELESS, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, TRUE, }, | ||
| 809 | { DXGI_FORMAT(134) ,DXGI_FORMAT_UNKNOWN, D3DFCS_UNKNOWN, {0,0,0,0}, 0, FALSE, 1, 1, 1, D3DFL_CUSTOM, D3DFTL_NO_TYPE, X,X,X,X, _TYPELESS, _TYPELESS, _TYPELESS, _TYPELESS, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, TRUE, }, | ||
| 810 | { DXGI_FORMAT(135) ,DXGI_FORMAT_UNKNOWN, D3DFCS_UNKNOWN, {0,0,0,0}, 0, FALSE, 1, 1, 1, D3DFL_CUSTOM, D3DFTL_NO_TYPE, X,X,X,X, _TYPELESS, _TYPELESS, _TYPELESS, _TYPELESS, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, TRUE, }, | ||
| 811 | { DXGI_FORMAT(136) ,DXGI_FORMAT_UNKNOWN, D3DFCS_UNKNOWN, {0,0,0,0}, 0, FALSE, 1, 1, 1, D3DFL_CUSTOM, D3DFTL_NO_TYPE, X,X,X,X, _TYPELESS, _TYPELESS, _TYPELESS, _TYPELESS, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, TRUE, }, | ||
| 812 | { DXGI_FORMAT(137) ,DXGI_FORMAT_UNKNOWN, D3DFCS_UNKNOWN, {0,0,0,0}, 0, FALSE, 1, 1, 1, D3DFL_CUSTOM, D3DFTL_NO_TYPE, X,X,X,X, _TYPELESS, _TYPELESS, _TYPELESS, _TYPELESS, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, TRUE, }, | ||
| 813 | { DXGI_FORMAT(138) ,DXGI_FORMAT_UNKNOWN, D3DFCS_UNKNOWN, {0,0,0,0}, 0, FALSE, 1, 1, 1, D3DFL_CUSTOM, D3DFTL_NO_TYPE, X,X,X,X, _TYPELESS, _TYPELESS, _TYPELESS, _TYPELESS, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, TRUE, }, | ||
| 814 | { DXGI_FORMAT(139) ,DXGI_FORMAT_UNKNOWN, D3DFCS_UNKNOWN, {0,0,0,0}, 0, FALSE, 1, 1, 1, D3DFL_CUSTOM, D3DFTL_NO_TYPE, X,X,X,X, _TYPELESS, _TYPELESS, _TYPELESS, _TYPELESS, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, TRUE, }, | ||
| 815 | { DXGI_FORMAT(140) ,DXGI_FORMAT_UNKNOWN, D3DFCS_UNKNOWN, {0,0,0,0}, 0, FALSE, 1, 1, 1, D3DFL_CUSTOM, D3DFTL_NO_TYPE, X,X,X,X, _TYPELESS, _TYPELESS, _TYPELESS, _TYPELESS, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, TRUE, }, | ||
| 816 | { DXGI_FORMAT(141) ,DXGI_FORMAT_UNKNOWN, D3DFCS_UNKNOWN, {0,0,0,0}, 0, FALSE, 1, 1, 1, D3DFL_CUSTOM, D3DFTL_NO_TYPE, X,X,X,X, _TYPELESS, _TYPELESS, _TYPELESS, _TYPELESS, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, TRUE, }, | ||
| 817 | { DXGI_FORMAT(142) ,DXGI_FORMAT_UNKNOWN, D3DFCS_UNKNOWN, {0,0,0,0}, 0, FALSE, 1, 1, 1, D3DFL_CUSTOM, D3DFTL_NO_TYPE, X,X,X,X, _TYPELESS, _TYPELESS, _TYPELESS, _TYPELESS, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, TRUE, }, | ||
| 818 | { DXGI_FORMAT(143) ,DXGI_FORMAT_UNKNOWN, D3DFCS_UNKNOWN, {0,0,0,0}, 0, FALSE, 1, 1, 1, D3DFL_CUSTOM, D3DFTL_NO_TYPE, X,X,X,X, _TYPELESS, _TYPELESS, _TYPELESS, _TYPELESS, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, TRUE, }, | ||
| 819 | { DXGI_FORMAT(144) ,DXGI_FORMAT_UNKNOWN, D3DFCS_UNKNOWN, {0,0,0,0}, 0, FALSE, 1, 1, 1, D3DFL_CUSTOM, D3DFTL_NO_TYPE, X,X,X,X, _TYPELESS, _TYPELESS, _TYPELESS, _TYPELESS, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, TRUE, }, | ||
| 820 | { DXGI_FORMAT(145) ,DXGI_FORMAT_UNKNOWN, D3DFCS_UNKNOWN, {0,0,0,0}, 0, FALSE, 1, 1, 1, D3DFL_CUSTOM, D3DFTL_NO_TYPE, X,X,X,X, _TYPELESS, _TYPELESS, _TYPELESS, _TYPELESS, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, TRUE, }, | ||
| 821 | { DXGI_FORMAT(146) ,DXGI_FORMAT_UNKNOWN, D3DFCS_UNKNOWN, {0,0,0,0}, 0, FALSE, 1, 1, 1, D3DFL_CUSTOM, D3DFTL_NO_TYPE, X,X,X,X, _TYPELESS, _TYPELESS, _TYPELESS, _TYPELESS, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, TRUE, }, | ||
| 822 | { DXGI_FORMAT(147) ,DXGI_FORMAT_UNKNOWN, D3DFCS_UNKNOWN, {0,0,0,0}, 0, FALSE, 1, 1, 1, D3DFL_CUSTOM, D3DFTL_NO_TYPE, X,X,X,X, _TYPELESS, _TYPELESS, _TYPELESS, _TYPELESS, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, TRUE, }, | ||
| 823 | { DXGI_FORMAT(148) ,DXGI_FORMAT_UNKNOWN, D3DFCS_UNKNOWN, {0,0,0,0}, 0, FALSE, 1, 1, 1, D3DFL_CUSTOM, D3DFTL_NO_TYPE, X,X,X,X, _TYPELESS, _TYPELESS, _TYPELESS, _TYPELESS, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, TRUE, }, | ||
| 824 | { DXGI_FORMAT(149) ,DXGI_FORMAT_UNKNOWN, D3DFCS_UNKNOWN, {0,0,0,0}, 0, FALSE, 1, 1, 1, D3DFL_CUSTOM, D3DFTL_NO_TYPE, X,X,X,X, _TYPELESS, _TYPELESS, _TYPELESS, _TYPELESS, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, TRUE, }, | ||
| 825 | { DXGI_FORMAT(150) ,DXGI_FORMAT_UNKNOWN, D3DFCS_UNKNOWN, {0,0,0,0}, 0, FALSE, 1, 1, 1, D3DFL_CUSTOM, D3DFTL_NO_TYPE, X,X,X,X, _TYPELESS, _TYPELESS, _TYPELESS, _TYPELESS, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, TRUE, }, | ||
| 826 | { DXGI_FORMAT(151) ,DXGI_FORMAT_UNKNOWN, D3DFCS_UNKNOWN, {0,0,0,0}, 0, FALSE, 1, 1, 1, D3DFL_CUSTOM, D3DFTL_NO_TYPE, X,X,X,X, _TYPELESS, _TYPELESS, _TYPELESS, _TYPELESS, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, TRUE, }, | ||
| 827 | { DXGI_FORMAT(152) ,DXGI_FORMAT_UNKNOWN, D3DFCS_UNKNOWN, {0,0,0,0}, 0, FALSE, 1, 1, 1, D3DFL_CUSTOM, D3DFTL_NO_TYPE, X,X,X,X, _TYPELESS, _TYPELESS, _TYPELESS, _TYPELESS, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, TRUE, }, | ||
| 828 | { DXGI_FORMAT(153) ,DXGI_FORMAT_UNKNOWN, D3DFCS_UNKNOWN, {0,0,0,0}, 0, FALSE, 1, 1, 1, D3DFL_CUSTOM, D3DFTL_NO_TYPE, X,X,X,X, _TYPELESS, _TYPELESS, _TYPELESS, _TYPELESS, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, TRUE, }, | ||
| 829 | { DXGI_FORMAT(154) ,DXGI_FORMAT_UNKNOWN, D3DFCS_UNKNOWN, {0,0,0,0}, 0, FALSE, 1, 1, 1, D3DFL_CUSTOM, D3DFTL_NO_TYPE, X,X,X,X, _TYPELESS, _TYPELESS, _TYPELESS, _TYPELESS, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, TRUE, }, | ||
| 830 | { DXGI_FORMAT(155) ,DXGI_FORMAT_UNKNOWN, D3DFCS_UNKNOWN, {0,0,0,0}, 0, FALSE, 1, 1, 1, D3DFL_CUSTOM, D3DFTL_NO_TYPE, X,X,X,X, _TYPELESS, _TYPELESS, _TYPELESS, _TYPELESS, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, TRUE, }, | ||
| 831 | { DXGI_FORMAT(156) ,DXGI_FORMAT_UNKNOWN, D3DFCS_UNKNOWN, {0,0,0,0}, 0, FALSE, 1, 1, 1, D3DFL_CUSTOM, D3DFTL_NO_TYPE, X,X,X,X, _TYPELESS, _TYPELESS, _TYPELESS, _TYPELESS, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, TRUE, }, | ||
| 832 | { DXGI_FORMAT(157) ,DXGI_FORMAT_UNKNOWN, D3DFCS_UNKNOWN, {0,0,0,0}, 0, FALSE, 1, 1, 1, D3DFL_CUSTOM, D3DFTL_NO_TYPE, X,X,X,X, _TYPELESS, _TYPELESS, _TYPELESS, _TYPELESS, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, TRUE, }, | ||
| 833 | { DXGI_FORMAT(158) ,DXGI_FORMAT_UNKNOWN, D3DFCS_UNKNOWN, {0,0,0,0}, 0, FALSE, 1, 1, 1, D3DFL_CUSTOM, D3DFTL_NO_TYPE, X,X,X,X, _TYPELESS, _TYPELESS, _TYPELESS, _TYPELESS, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, TRUE, }, | ||
| 834 | { DXGI_FORMAT(159) ,DXGI_FORMAT_UNKNOWN, D3DFCS_UNKNOWN, {0,0,0,0}, 0, FALSE, 1, 1, 1, D3DFL_CUSTOM, D3DFTL_NO_TYPE, X,X,X,X, _TYPELESS, _TYPELESS, _TYPELESS, _TYPELESS, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, TRUE, }, | ||
| 835 | { DXGI_FORMAT(160) ,DXGI_FORMAT_UNKNOWN, D3DFCS_UNKNOWN, {0,0,0,0}, 0, FALSE, 1, 1, 1, D3DFL_CUSTOM, D3DFTL_NO_TYPE, X,X,X,X, _TYPELESS, _TYPELESS, _TYPELESS, _TYPELESS, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, TRUE, }, | ||
| 836 | { DXGI_FORMAT(161) ,DXGI_FORMAT_UNKNOWN, D3DFCS_UNKNOWN, {0,0,0,0}, 0, FALSE, 1, 1, 1, D3DFL_CUSTOM, D3DFTL_NO_TYPE, X,X,X,X, _TYPELESS, _TYPELESS, _TYPELESS, _TYPELESS, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, TRUE, }, | ||
| 837 | { DXGI_FORMAT(162) ,DXGI_FORMAT_UNKNOWN, D3DFCS_UNKNOWN, {0,0,0,0}, 0, FALSE, 1, 1, 1, D3DFL_CUSTOM, D3DFTL_NO_TYPE, X,X,X,X, _TYPELESS, _TYPELESS, _TYPELESS, _TYPELESS, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, TRUE, }, | ||
| 838 | { DXGI_FORMAT(163) ,DXGI_FORMAT_UNKNOWN, D3DFCS_UNKNOWN, {0,0,0,0}, 0, FALSE, 1, 1, 1, D3DFL_CUSTOM, D3DFTL_NO_TYPE, X,X,X,X, _TYPELESS, _TYPELESS, _TYPELESS, _TYPELESS, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, TRUE, }, | ||
| 839 | { DXGI_FORMAT(164) ,DXGI_FORMAT_UNKNOWN, D3DFCS_UNKNOWN, {0,0,0,0}, 0, FALSE, 1, 1, 1, D3DFL_CUSTOM, D3DFTL_NO_TYPE, X,X,X,X, _TYPELESS, _TYPELESS, _TYPELESS, _TYPELESS, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, TRUE, }, | ||
| 840 | { DXGI_FORMAT(165) ,DXGI_FORMAT_UNKNOWN, D3DFCS_UNKNOWN, {0,0,0,0}, 0, FALSE, 1, 1, 1, D3DFL_CUSTOM, D3DFTL_NO_TYPE, X,X,X,X, _TYPELESS, _TYPELESS, _TYPELESS, _TYPELESS, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, TRUE, }, | ||
| 841 | { DXGI_FORMAT(166) ,DXGI_FORMAT_UNKNOWN, D3DFCS_UNKNOWN, {0,0,0,0}, 0, FALSE, 1, 1, 1, D3DFL_CUSTOM, D3DFTL_NO_TYPE, X,X,X,X, _TYPELESS, _TYPELESS, _TYPELESS, _TYPELESS, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, TRUE, }, | ||
| 842 | { DXGI_FORMAT(167) ,DXGI_FORMAT_UNKNOWN, D3DFCS_UNKNOWN, {0,0,0,0}, 0, FALSE, 1, 1, 1, D3DFL_CUSTOM, D3DFTL_NO_TYPE, X,X,X,X, _TYPELESS, _TYPELESS, _TYPELESS, _TYPELESS, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, TRUE, }, | ||
| 843 | { DXGI_FORMAT(168) ,DXGI_FORMAT_UNKNOWN, D3DFCS_UNKNOWN, {0,0,0,0}, 0, FALSE, 1, 1, 1, D3DFL_CUSTOM, D3DFTL_NO_TYPE, X,X,X,X, _TYPELESS, _TYPELESS, _TYPELESS, _TYPELESS, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, TRUE, }, | ||
| 844 | { DXGI_FORMAT(169) ,DXGI_FORMAT_UNKNOWN, D3DFCS_UNKNOWN, {0,0,0,0}, 0, FALSE, 1, 1, 1, D3DFL_CUSTOM, D3DFTL_NO_TYPE, X,X,X,X, _TYPELESS, _TYPELESS, _TYPELESS, _TYPELESS, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, TRUE, }, | ||
| 845 | { DXGI_FORMAT(170) ,DXGI_FORMAT_UNKNOWN, D3DFCS_UNKNOWN, {0,0,0,0}, 0, FALSE, 1, 1, 1, D3DFL_CUSTOM, D3DFTL_NO_TYPE, X,X,X,X, _TYPELESS, _TYPELESS, _TYPELESS, _TYPELESS, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, TRUE, }, | ||
| 846 | { DXGI_FORMAT(171) ,DXGI_FORMAT_UNKNOWN, D3DFCS_UNKNOWN, {0,0,0,0}, 0, FALSE, 1, 1, 1, D3DFL_CUSTOM, D3DFTL_NO_TYPE, X,X,X,X, _TYPELESS, _TYPELESS, _TYPELESS, _TYPELESS, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, TRUE, }, | ||
| 847 | { DXGI_FORMAT(172) ,DXGI_FORMAT_UNKNOWN, D3DFCS_UNKNOWN, {0,0,0,0}, 0, FALSE, 1, 1, 1, D3DFL_CUSTOM, D3DFTL_NO_TYPE, X,X,X,X, _TYPELESS, _TYPELESS, _TYPELESS, _TYPELESS, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, TRUE, }, | ||
| 848 | { DXGI_FORMAT(173) ,DXGI_FORMAT_UNKNOWN, D3DFCS_UNKNOWN, {0,0,0,0}, 0, FALSE, 1, 1, 1, D3DFL_CUSTOM, D3DFTL_NO_TYPE, X,X,X,X, _TYPELESS, _TYPELESS, _TYPELESS, _TYPELESS, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, TRUE, }, | ||
| 849 | { DXGI_FORMAT(174) ,DXGI_FORMAT_UNKNOWN, D3DFCS_UNKNOWN, {0,0,0,0}, 0, FALSE, 1, 1, 1, D3DFL_CUSTOM, D3DFTL_NO_TYPE, X,X,X,X, _TYPELESS, _TYPELESS, _TYPELESS, _TYPELESS, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, TRUE, }, | ||
| 850 | { DXGI_FORMAT(175) ,DXGI_FORMAT_UNKNOWN, D3DFCS_UNKNOWN, {0,0,0,0}, 0, FALSE, 1, 1, 1, D3DFL_CUSTOM, D3DFTL_NO_TYPE, X,X,X,X, _TYPELESS, _TYPELESS, _TYPELESS, _TYPELESS, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, TRUE, }, | ||
| 851 | { DXGI_FORMAT(176) ,DXGI_FORMAT_UNKNOWN, D3DFCS_UNKNOWN, {0,0,0,0}, 0, FALSE, 1, 1, 1, D3DFL_CUSTOM, D3DFTL_NO_TYPE, X,X,X,X, _TYPELESS, _TYPELESS, _TYPELESS, _TYPELESS, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, TRUE, }, | ||
| 852 | { DXGI_FORMAT(177) ,DXGI_FORMAT_UNKNOWN, D3DFCS_UNKNOWN, {0,0,0,0}, 0, FALSE, 1, 1, 1, D3DFL_CUSTOM, D3DFTL_NO_TYPE, X,X,X,X, _TYPELESS, _TYPELESS, _TYPELESS, _TYPELESS, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, TRUE, }, | ||
| 853 | { DXGI_FORMAT(178) ,DXGI_FORMAT_UNKNOWN, D3DFCS_UNKNOWN, {0,0,0,0}, 0, FALSE, 1, 1, 1, D3DFL_CUSTOM, D3DFTL_NO_TYPE, X,X,X,X, _TYPELESS, _TYPELESS, _TYPELESS, _TYPELESS, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, TRUE, }, | ||
| 854 | { DXGI_FORMAT(179) ,DXGI_FORMAT_UNKNOWN, D3DFCS_UNKNOWN, {0,0,0,0}, 0, FALSE, 1, 1, 1, D3DFL_CUSTOM, D3DFTL_NO_TYPE, X,X,X,X, _TYPELESS, _TYPELESS, _TYPELESS, _TYPELESS, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, TRUE, }, | ||
| 855 | { DXGI_FORMAT(180) ,DXGI_FORMAT_UNKNOWN, D3DFCS_UNKNOWN, {0,0,0,0}, 0, FALSE, 1, 1, 1, D3DFL_CUSTOM, D3DFTL_NO_TYPE, X,X,X,X, _TYPELESS, _TYPELESS, _TYPELESS, _TYPELESS, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, TRUE, }, | ||
| 856 | { DXGI_FORMAT(181) ,DXGI_FORMAT_UNKNOWN, D3DFCS_UNKNOWN, {0,0,0,0}, 0, FALSE, 1, 1, 1, D3DFL_CUSTOM, D3DFTL_NO_TYPE, X,X,X,X, _TYPELESS, _TYPELESS, _TYPELESS, _TYPELESS, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, TRUE, }, | ||
| 857 | { DXGI_FORMAT(182) ,DXGI_FORMAT_UNKNOWN, D3DFCS_UNKNOWN, {0,0,0,0}, 0, FALSE, 1, 1, 1, D3DFL_CUSTOM, D3DFTL_NO_TYPE, X,X,X,X, _TYPELESS, _TYPELESS, _TYPELESS, _TYPELESS, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, TRUE, }, | ||
| 858 | { DXGI_FORMAT(183) ,DXGI_FORMAT_UNKNOWN, D3DFCS_UNKNOWN, {0,0,0,0}, 0, FALSE, 1, 1, 1, D3DFL_CUSTOM, D3DFTL_NO_TYPE, X,X,X,X, _TYPELESS, _TYPELESS, _TYPELESS, _TYPELESS, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, TRUE, }, | ||
| 859 | { DXGI_FORMAT(184) ,DXGI_FORMAT_UNKNOWN, D3DFCS_UNKNOWN, {0,0,0,0}, 0, FALSE, 1, 1, 1, D3DFL_CUSTOM, D3DFTL_NO_TYPE, X,X,X,X, _TYPELESS, _TYPELESS, _TYPELESS, _TYPELESS, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, TRUE, }, | ||
| 860 | { DXGI_FORMAT(185) ,DXGI_FORMAT_UNKNOWN, D3DFCS_UNKNOWN, {0,0,0,0}, 0, FALSE, 1, 1, 1, D3DFL_CUSTOM, D3DFTL_NO_TYPE, X,X,X,X, _TYPELESS, _TYPELESS, _TYPELESS, _TYPELESS, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, TRUE, }, | ||
| 861 | { DXGI_FORMAT(186) ,DXGI_FORMAT_UNKNOWN, D3DFCS_UNKNOWN, {0,0,0,0}, 0, FALSE, 1, 1, 1, D3DFL_CUSTOM, D3DFTL_NO_TYPE, X,X,X,X, _TYPELESS, _TYPELESS, _TYPELESS, _TYPELESS, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, TRUE, }, | ||
| 862 | { DXGI_FORMAT(187) ,DXGI_FORMAT_UNKNOWN, D3DFCS_UNKNOWN, {0,0,0,0}, 0, FALSE, 1, 1, 1, D3DFL_CUSTOM, D3DFTL_NO_TYPE, X,X,X,X, _TYPELESS, _TYPELESS, _TYPELESS, _TYPELESS, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, TRUE, }, | ||
| 863 | { DXGI_FORMAT(188) ,DXGI_FORMAT_UNKNOWN, D3DFCS_UNKNOWN, {0,0,0,0}, 0, FALSE, 1, 1, 1, D3DFL_CUSTOM, D3DFTL_NO_TYPE, X,X,X,X, _TYPELESS, _TYPELESS, _TYPELESS, _TYPELESS, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, TRUE, }, | ||
| 864 | |||
| 865 | { DXGI_FORMAT_SAMPLER_FEEDBACK_MIN_MIP_OPAQUE ,DXGI_FORMAT_UNKNOWN, D3DFCS_UNKNOWN, {0,0,0,0}, 8, FALSE, 1, 1, 1, D3DFL_CUSTOM, D3DFTL_FULL_TYPE, R,X,X,X, _UNORM, _TYPELESS, _TYPELESS, _TYPELESS, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, }, | ||
| 866 | { DXGI_FORMAT_SAMPLER_FEEDBACK_MIP_REGION_USED_OPAQUE ,DXGI_FORMAT_UNKNOWN, D3DFCS_UNKNOWN, {0,0,0,0}, 8, FALSE, 1, 1, 1, D3DFL_CUSTOM, D3DFTL_FULL_TYPE, R,X,X,X, _UNORM, _TYPELESS, _TYPELESS, _TYPELESS, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, }, | ||
| 867 | { DXGI_FORMAT_A4B4G4R4_UNORM ,DXGI_FORMAT_A4B4G4R4_UNORM, D3DFCS_A4B4G4R4, {4,4,4,4}, 16, FALSE, 1, 1, 1, D3DFL_STANDARD, D3DFTL_FULL_TYPE, A,B,G,R, _UNORM, _UNORM, _UNORM, _UNORM, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, }, | ||
| 868 | //DXGI_FORMAT ParentFormat pDefaultFormatCastSet BitsPerComponent[4], BitsPerUnit, SRGB, WidthAlignment, HeightAlignment, DepthAlignment, Layout, TypeLevel, ComponentName[4],ComponentInterpretation[4], bDX9VertexOrIndexFormat bDX9TextureFormat, bFloatNormFormat, bPlanar, bYUV bDependantFormatCastSet bInternal | ||
| 869 | |||
| 870 | }; | ||
| 871 | |||
| 872 | const UINT D3D12_PROPERTY_LAYOUT_FORMAT_TABLE::s_NumFormats = (sizeof(D3D12_PROPERTY_LAYOUT_FORMAT_TABLE::s_FormatDetail) / sizeof(D3D12_PROPERTY_LAYOUT_FORMAT_TABLE::FORMAT_DETAIL)); | ||
| 873 | |||
| 874 | //--------------------------------------------------------------------------------------------------------------------------------- | ||
| 875 | // GetHighestDefinedFeatureLevel | ||
| 876 | D3D_FEATURE_LEVEL D3D12_PROPERTY_LAYOUT_FORMAT_TABLE::GetHighestDefinedFeatureLevel() | ||
| 877 | { | ||
| 878 | return D3D_FEATURE_LEVEL_12_2; | ||
| 879 | } | ||
| 880 | |||
| 881 | //--------------------------------------------------------------------------------------------------------------------------------- | ||
| 882 | // GetNumFormats | ||
| 883 | UINT D3D12_PROPERTY_LAYOUT_FORMAT_TABLE::GetNumFormats() | ||
| 884 | { | ||
| 885 | return s_NumFormats; | ||
| 886 | } | ||
| 887 | |||
| 888 | //--------------------------------------------------------------------------------------------------------------------------------- | ||
| 889 | // GetFormatTable | ||
| 890 | const D3D12_PROPERTY_LAYOUT_FORMAT_TABLE::FORMAT_DETAIL* D3D12_PROPERTY_LAYOUT_FORMAT_TABLE::GetFormatTable() | ||
| 891 | { | ||
| 892 | return &s_FormatDetail[0]; | ||
| 893 | } | ||
| 894 | |||
| 895 | //--------------------------------------------------------------------------------------------------------------------------------- | ||
| 896 | // GetFormatTable | ||
| 897 | BOOL D3D12_PROPERTY_LAYOUT_FORMAT_TABLE::Opaque(DXGI_FORMAT Format) | ||
| 898 | { | ||
| 899 | return Format == DXGI_FORMAT_420_OPAQUE; | ||
| 900 | } | ||
| 901 | |||
| 902 | //--------------------------------------------------------------------------------------------------------------------------------- | ||
| 903 | // FormatExists | ||
| 904 | bool D3D12_PROPERTY_LAYOUT_FORMAT_TABLE::FormatExists(DXGI_FORMAT Format) | ||
| 905 | { | ||
| 906 | return GetFormat( Format) != (DXGI_FORMAT) -1 ? true : false; | ||
| 907 | } | ||
| 908 | |||
| 909 | //--------------------------------------------------------------------------------------------------------------------------------- | ||
| 910 | // GetDetailTableIndex | ||
| 911 | UINT D3D12_PROPERTY_LAYOUT_FORMAT_TABLE::GetDetailTableIndex(DXGI_FORMAT Format ) | ||
| 912 | { | ||
| 913 | if( (UINT)Format < _countof( s_FormatDetail ) ) | ||
| 914 | { | ||
| 915 | assert( s_FormatDetail[(UINT)Format].DXGIFormat == Format ); | ||
| 916 | return static_cast<UINT>(Format); | ||
| 917 | } | ||
| 918 | |||
| 919 | return (UINT)-1; | ||
| 920 | } | ||
| 921 | |||
| 922 | //--------------------------------------------------------------------------------------------------------------------------------- | ||
| 923 | // IsBlockCompressFormat - returns true if format is block compressed. This function is a helper function for GetBitsPerUnit and | ||
| 924 | // if this function returns true then GetBitsPerUnit returns block size. | ||
| 925 | bool D3D12_PROPERTY_LAYOUT_FORMAT_TABLE::IsBlockCompressFormat(DXGI_FORMAT Format) | ||
| 926 | { | ||
| 927 | // Returns true if BC1, BC2, BC3, BC4, BC5, BC6, BC7, or ASTC | ||
| 928 | return (Format >= DXGI_FORMAT_BC1_TYPELESS && Format <= DXGI_FORMAT_BC5_SNORM) || | ||
| 929 | (Format >= DXGI_FORMAT_BC6H_TYPELESS && Format <= DXGI_FORMAT_BC7_UNORM_SRGB); | ||
| 930 | } | ||
| 931 | |||
| 932 | //--------------------------------------------------------------------------------------------------------------------------------- | ||
| 933 | // GetByteAlignment | ||
| 934 | UINT D3D12_PROPERTY_LAYOUT_FORMAT_TABLE::GetByteAlignment(DXGI_FORMAT Format) | ||
| 935 | { | ||
| 936 | UINT bits = GetBitsPerUnit(Format); | ||
| 937 | if (!IsBlockCompressFormat(Format)) | ||
| 938 | { | ||
| 939 | bits *= GetWidthAlignment(Format)*GetHeightAlignment(Format)*GetDepthAlignment(Format); | ||
| 940 | } | ||
| 941 | |||
| 942 | assert((bits & 0x7) == 0); // Unit must be byte-aligned | ||
| 943 | return bits >> 3; | ||
| 944 | } | ||
| 945 | |||
| 946 | //--------------------------------------------------------------------------------------------------------------------------------- | ||
| 947 | // GetBitsPerUnitThrow | ||
| 948 | UINT D3D12_PROPERTY_LAYOUT_FORMAT_TABLE::GetBitsPerUnitThrow(DXGI_FORMAT Format) | ||
| 949 | { | ||
| 950 | return s_FormatDetail[GetDetailTableIndexThrow( Format )].BitsPerUnit; | ||
| 951 | } | ||
| 952 | |||
| 953 | //--------------------------------------------------------------------------------------------------------------------------------- | ||
| 954 | // FormatExistsInHeader | ||
| 955 | bool D3D12_PROPERTY_LAYOUT_FORMAT_TABLE::FormatExistsInHeader(DXGI_FORMAT Format, bool bExternalHeader) | ||
| 956 | { | ||
| 957 | const UINT Index = GetDetailTableIndex( Format ); | ||
| 958 | if (UINT( -1 ) == Index || (bExternalHeader && GetFormatDetail( Format )->bInternal)) | ||
| 959 | { | ||
| 960 | return false; | ||
| 961 | } | ||
| 962 | else | ||
| 963 | { | ||
| 964 | return true; | ||
| 965 | } | ||
| 966 | } | ||
| 967 | |||
| 968 | //--------------------------------------------------------------------------------------------------------------------------------- | ||
| 969 | // GetName | ||
| 970 | LPCSTR D3D12_PROPERTY_LAYOUT_FORMAT_TABLE::GetName(DXGI_FORMAT Format, bool bHideInternalFormats) | ||
| 971 | { | ||
| 972 | const UINT Index = GetDetailTableIndex( Format ); | ||
| 973 | if (UINT( -1 ) == Index || (bHideInternalFormats && GetFormatDetail( Format )->bInternal) || !s_FormatNames[Index]) | ||
| 974 | { | ||
| 975 | return "Unrecognized"; | ||
| 976 | } | ||
| 977 | else | ||
| 978 | { | ||
| 979 | return s_FormatNames[ Index ]; | ||
| 980 | } | ||
| 981 | } | ||
| 982 | |||
| 983 | //--------------------------------------------------------------------------------------------------------------------------------- | ||
| 984 | // IsSRGBFormat | ||
| 985 | bool D3D12_PROPERTY_LAYOUT_FORMAT_TABLE::IsSRGBFormat(DXGI_FORMAT Format) | ||
| 986 | { | ||
| 987 | const UINT Index = GetDetailTableIndex(Format); | ||
| 988 | if(UINT( -1 ) == Index ) | ||
| 989 | { | ||
| 990 | return false; | ||
| 991 | } | ||
| 992 | |||
| 993 | return s_FormatDetail[Index].SRGBFormat ? true : false; | ||
| 994 | } | ||
| 995 | |||
| 996 | //---------------------------------------------------------------------------- | ||
| 997 | // DivideAndRoundUp | ||
| 998 | inline HRESULT DivideAndRoundUp(UINT dividend, UINT divisor, _Out_ UINT& result) | ||
| 999 | { | ||
| 1000 | HRESULT hr = S_OK; | ||
| 1001 | |||
| 1002 | UINT adjustedDividend; | ||
| 1003 | hr = Safe_UIntAdd(dividend, (divisor - 1), &adjustedDividend); | ||
| 1004 | |||
| 1005 | result = SUCCEEDED(hr) ? (adjustedDividend / divisor) : 0; | ||
| 1006 | |||
| 1007 | return hr; | ||
| 1008 | } | ||
| 1009 | |||
| 1010 | //---------------------------------------------------------------------------- | ||
| 1011 | // CalculateExtraPlanarRows | ||
| 1012 | HRESULT D3D12_PROPERTY_LAYOUT_FORMAT_TABLE::CalculateExtraPlanarRows( | ||
| 1013 | DXGI_FORMAT format, | ||
| 1014 | UINT plane0Height, | ||
| 1015 | _Out_ UINT& totalHeight | ||
| 1016 | ) | ||
| 1017 | { | ||
| 1018 | if (!D3D12_PROPERTY_LAYOUT_FORMAT_TABLE::Planar(format)) | ||
| 1019 | { | ||
| 1020 | totalHeight = plane0Height; | ||
| 1021 | return S_OK; | ||
| 1022 | } | ||
| 1023 | |||
| 1024 | // blockWidth, blockHeight, and blockSize only reflect the size of plane 0. Each planar format has additonal planes that must | ||
| 1025 | // be counted. Each format increases size by another 0.5x, 1x, or 2x. Grab the number of "half allocation" increments so integer | ||
| 1026 | // math can be used to calculate the extra size. | ||
| 1027 | UINT extraHalfHeight; | ||
| 1028 | UINT round; | ||
| 1029 | |||
| 1030 | switch (D3D12_PROPERTY_LAYOUT_FORMAT_TABLE::GetParentFormat(format)) | ||
| 1031 | { | ||
| 1032 | case DXGI_FORMAT_NV12: | ||
| 1033 | case DXGI_FORMAT_P010: | ||
| 1034 | case DXGI_FORMAT_P016: | ||
| 1035 | case DXGI_FORMAT_420_OPAQUE: | ||
| 1036 | extraHalfHeight = 1; | ||
| 1037 | round = 1; | ||
| 1038 | break; | ||
| 1039 | |||
| 1040 | case DXGI_FORMAT_NV11: | ||
| 1041 | case DXGI_FORMAT_P208: | ||
| 1042 | extraHalfHeight = 2; | ||
| 1043 | round = 0; | ||
| 1044 | break; | ||
| 1045 | case DXGI_FORMAT_V208: | ||
| 1046 | extraHalfHeight = 2; | ||
| 1047 | round = 1; | ||
| 1048 | break; | ||
| 1049 | |||
| 1050 | case DXGI_FORMAT_V408: | ||
| 1051 | extraHalfHeight = 4; | ||
| 1052 | round = 0; | ||
| 1053 | break; | ||
| 1054 | |||
| 1055 | case DXGI_FORMAT_R24G8_TYPELESS: | ||
| 1056 | case DXGI_FORMAT_R32G8X24_TYPELESS: | ||
| 1057 | totalHeight = plane0Height; | ||
| 1058 | return S_OK; | ||
| 1059 | |||
| 1060 | default: | ||
| 1061 | assert(false); | ||
| 1062 | return S_OK; | ||
| 1063 | } | ||
| 1064 | |||
| 1065 | UINT extraPlaneHeight; | ||
| 1066 | if (FAILED(Safe_UIntMult(plane0Height, extraHalfHeight, &extraPlaneHeight)) | ||
| 1067 | || FAILED(Safe_UIntAdd(extraPlaneHeight, round, &extraPlaneHeight)) | ||
| 1068 | || FAILED(Safe_UIntAdd(plane0Height, (extraPlaneHeight >> 1), &totalHeight))) | ||
| 1069 | { | ||
| 1070 | return INTSAFE_E_ARITHMETIC_OVERFLOW; | ||
| 1071 | } | ||
| 1072 | |||
| 1073 | return S_OK; | ||
| 1074 | } | ||
| 1075 | |||
| 1076 | //---------------------------------------------------------------------------- | ||
| 1077 | // CalculateResourceSize | ||
| 1078 | HRESULT D3D12_PROPERTY_LAYOUT_FORMAT_TABLE::CalculateResourceSize( | ||
| 1079 | UINT width, | ||
| 1080 | UINT height, | ||
| 1081 | UINT depth, | ||
| 1082 | DXGI_FORMAT format, | ||
| 1083 | UINT mipLevels, | ||
| 1084 | UINT subresources, | ||
| 1085 | _Out_ SIZE_T& totalByteSize, | ||
| 1086 | _Out_writes_opt_(subresources) D3D12_MEMCPY_DEST *pDst) | ||
| 1087 | { | ||
| 1088 | UINT tableIndex = GetDetailTableIndexNoThrow( format ); | ||
| 1089 | if (tableIndex == UINT(-1)) | ||
| 1090 | return E_INVALIDARG; | ||
| 1091 | |||
| 1092 | totalByteSize = 0; | ||
| 1093 | |||
| 1094 | const FORMAT_DETAIL& formatDetail = s_FormatDetail[tableIndex]; | ||
| 1095 | |||
| 1096 | bool fIsBlockCompressedFormat = IsBlockCompressFormat(format ); | ||
| 1097 | |||
| 1098 | // No format currently requires depth alignment. | ||
| 1099 | assert(formatDetail.DepthAlignment == 1); | ||
| 1100 | |||
| 1101 | UINT subWidth = width; | ||
| 1102 | UINT subHeight = height; | ||
| 1103 | UINT subDepth = depth; | ||
| 1104 | for (UINT s = 0, iM = 0; s < subresources; ++s) | ||
| 1105 | { | ||
| 1106 | UINT blockWidth; | ||
| 1107 | if (FAILED(DivideAndRoundUp(subWidth, formatDetail.WidthAlignment, /*_Out_*/ blockWidth))) | ||
| 1108 | { | ||
| 1109 | return INTSAFE_E_ARITHMETIC_OVERFLOW; | ||
| 1110 | } | ||
| 1111 | |||
| 1112 | UINT blockSize, blockHeight; | ||
| 1113 | if (fIsBlockCompressedFormat) | ||
| 1114 | { | ||
| 1115 | if (FAILED(DivideAndRoundUp(subHeight, formatDetail.HeightAlignment, /*_Out_*/ blockHeight))) | ||
| 1116 | { | ||
| 1117 | return INTSAFE_E_ARITHMETIC_OVERFLOW; | ||
| 1118 | } | ||
| 1119 | |||
| 1120 | // Block Compressed formats use BitsPerUnit as block size. | ||
| 1121 | blockSize = formatDetail.BitsPerUnit; | ||
| 1122 | } | ||
| 1123 | else | ||
| 1124 | { | ||
| 1125 | // The height must *not* be aligned to HeightAlign. As there is no plane pitch/stride, the expectation is that the 2nd plane | ||
| 1126 | // begins immediately after the first. The only formats with HeightAlignment other than 1 are planar or block compressed, and | ||
| 1127 | // block compressed is handled above. | ||
| 1128 | assert(formatDetail.bPlanar || formatDetail.HeightAlignment == 1); | ||
| 1129 | blockHeight = subHeight; | ||
| 1130 | |||
| 1131 | // Combined with the division os subWidth by the width alignment above, this helps achieve rounding the stride up to an even multiple of | ||
| 1132 | // block width. This is especially important for formats like NV12 and P208 whose chroma plane is wider than the luma. | ||
| 1133 | blockSize = formatDetail.BitsPerUnit * formatDetail.WidthAlignment; | ||
| 1134 | } | ||
| 1135 | |||
| 1136 | if (DXGI_FORMAT_UNKNOWN == formatDetail.DXGIFormat) | ||
| 1137 | { | ||
| 1138 | blockSize = 8; | ||
| 1139 | } | ||
| 1140 | |||
| 1141 | // Convert block width size to bytes. | ||
| 1142 | assert((blockSize & 0x7) == 0); | ||
| 1143 | blockSize = blockSize >> 3; | ||
| 1144 | |||
| 1145 | if (formatDetail.bPlanar) | ||
| 1146 | { | ||
| 1147 | if (FAILED(CalculateExtraPlanarRows(format, blockHeight, /*_Out_*/ blockHeight))) | ||
| 1148 | { | ||
| 1149 | return INTSAFE_E_ARITHMETIC_OVERFLOW; | ||
| 1150 | } | ||
| 1151 | } | ||
| 1152 | |||
| 1153 | // Calculate rowPitch, depthPitch, and total subresource size. | ||
| 1154 | UINT rowPitch, depthPitch; | ||
| 1155 | |||
| 1156 | if ( FAILED(Safe_UIntMult(blockWidth, blockSize, &rowPitch)) | ||
| 1157 | || FAILED(Safe_UIntMult(blockHeight, rowPitch, &depthPitch))) | ||
| 1158 | { | ||
| 1159 | return INTSAFE_E_ARITHMETIC_OVERFLOW; | ||
| 1160 | } | ||
| 1161 | SIZE_T subresourceByteSize = SIZE_T(UINT64(subDepth) * UINT64(depthPitch)); | ||
| 1162 | |||
| 1163 | if (pDst) | ||
| 1164 | { | ||
| 1165 | D3D12_MEMCPY_DEST& dst = pDst[s]; | ||
| 1166 | |||
| 1167 | // This data will be returned straight from the API to satisfy Map. So, strides/ alignment must be API-correct. | ||
| 1168 | dst.pData = reinterpret_cast<void*>(totalByteSize); | ||
| 1169 | assert(s != 0 || dst.pData == nullptr); | ||
| 1170 | |||
| 1171 | dst.RowPitch = rowPitch; | ||
| 1172 | dst.SlicePitch = depthPitch; | ||
| 1173 | } | ||
| 1174 | |||
| 1175 | // Align the subresource size. | ||
| 1176 | static_assert((MAP_ALIGN_REQUIREMENT & (MAP_ALIGN_REQUIREMENT - 1)) == 0, "This code expects MAP_ALIGN_REQUIREMENT to be a power of 2."); | ||
| 1177 | |||
| 1178 | SIZE_T subresourceByteSizeAligned = subresourceByteSize + MAP_ALIGN_REQUIREMENT - 1; | ||
| 1179 | subresourceByteSizeAligned = subresourceByteSizeAligned & ~(MAP_ALIGN_REQUIREMENT - 1); | ||
| 1180 | totalByteSize = totalByteSize + subresourceByteSizeAligned; | ||
| 1181 | |||
| 1182 | |||
| 1183 | // Iterate over mip levels and array elements | ||
| 1184 | if (++iM >= mipLevels) | ||
| 1185 | { | ||
| 1186 | iM = 0; | ||
| 1187 | |||
| 1188 | subWidth = width; | ||
| 1189 | subHeight = height; | ||
| 1190 | subDepth = depth; | ||
| 1191 | } | ||
| 1192 | else | ||
| 1193 | { | ||
| 1194 | subWidth /= (1 == subWidth ? 1 : 2); | ||
| 1195 | subHeight /= (1 == subHeight ? 1 : 2); | ||
| 1196 | subDepth /= (1 == subDepth ? 1 : 2); | ||
| 1197 | } | ||
| 1198 | } | ||
| 1199 | |||
| 1200 | return S_OK; | ||
| 1201 | } | ||
| 1202 | |||
| 1203 | inline bool IsPow2( UINT Val ) | ||
| 1204 | { | ||
| 1205 | return 0 == (Val & (Val - 1)); | ||
| 1206 | } | ||
| 1207 | |||
| 1208 | // This helper function calculates the Row Pitch for a given format. For Planar formats this function returns | ||
| 1209 | // the row major RowPitch of the resource. The RowPitch is the same for all the planes. For Planar | ||
| 1210 | // also use the CalculateExtraPlanarRows function to calculate the corresonding height or use the CalculateMinimumRowMajorSlicePitch | ||
| 1211 | // function. For Block Compressed Formats, this function returns the RowPitch of a row of blocks. For packed subsampled formats and other formats, | ||
| 1212 | // this function returns the row pitch of one single row of pixels. | ||
| 1213 | HRESULT D3D12_PROPERTY_LAYOUT_FORMAT_TABLE::CalculateMinimumRowMajorRowPitch(DXGI_FORMAT Format, UINT Width, _Out_ UINT &RowPitch) | ||
| 1214 | { | ||
| 1215 | // Early out for DXGI_FORMAT_UNKNOWN special case. | ||
| 1216 | if (Format == DXGI_FORMAT_UNKNOWN) | ||
| 1217 | { | ||
| 1218 | RowPitch = Width; | ||
| 1219 | return S_OK; | ||
| 1220 | } | ||
| 1221 | |||
| 1222 | UINT WidthAlignment = GetWidthAlignment(Format); | ||
| 1223 | |||
| 1224 | UINT NumUnits; | ||
| 1225 | if (IsBlockCompressFormat(Format)) | ||
| 1226 | { | ||
| 1227 | // This function calculates the minimum stride needed for a block row when the format | ||
| 1228 | // is block compressed.The GetBitsPerUnit value stored in the format table indicates | ||
| 1229 | // the size of a compressed block for block compressed formats. | ||
| 1230 | assert(WidthAlignment != 0); | ||
| 1231 | if (FAILED(DivideAndRoundUp(Width, WidthAlignment, NumUnits))) | ||
| 1232 | { | ||
| 1233 | return INTSAFE_E_ARITHMETIC_OVERFLOW; | ||
| 1234 | } | ||
| 1235 | } | ||
| 1236 | else | ||
| 1237 | { | ||
| 1238 | // All other formats must have strides aligned to their width alignment requirements. | ||
| 1239 | // The Width may not be aligned to the WidthAlignment. This is not an error for this | ||
| 1240 | // function as we expect to allow formats like NV12 to have odd dimensions in the future. | ||
| 1241 | |||
| 1242 | // The following alignement code expects only pow2 alignment requirements. Only block | ||
| 1243 | // compressed formats currently have non-pow2 alignment requriements. | ||
| 1244 | assert(IsPow2(WidthAlignment)); | ||
| 1245 | |||
| 1246 | UINT Mask = WidthAlignment - 1; | ||
| 1247 | if (FAILED(Safe_UIntAdd(Width, Mask, &NumUnits))) | ||
| 1248 | { | ||
| 1249 | return INTSAFE_E_ARITHMETIC_OVERFLOW; | ||
| 1250 | } | ||
| 1251 | |||
| 1252 | NumUnits &= ~Mask; | ||
| 1253 | } | ||
| 1254 | |||
| 1255 | if (FAILED(Safe_UIntMult(NumUnits, GetBitsPerUnit(Format), &RowPitch))) | ||
| 1256 | { | ||
| 1257 | return INTSAFE_E_ARITHMETIC_OVERFLOW; | ||
| 1258 | } | ||
| 1259 | |||
| 1260 | // This must to always be Byte aligned. | ||
| 1261 | assert((RowPitch & 7) == 0); | ||
| 1262 | RowPitch >>= 3; | ||
| 1263 | |||
| 1264 | return S_OK; | ||
| 1265 | } | ||
| 1266 | |||
| 1267 | // This helper function calculates the SlicePitch for a given format. For Planar formats the slice pitch includes the extra | ||
| 1268 | // planes. | ||
| 1269 | HRESULT D3D12_PROPERTY_LAYOUT_FORMAT_TABLE::CalculateMinimumRowMajorSlicePitch(DXGI_FORMAT Format, UINT TightRowPitch, UINT Height, _Out_ UINT &SlicePitch) | ||
| 1270 | { | ||
| 1271 | if (Planar(Format)) | ||
| 1272 | { | ||
| 1273 | UINT PlanarHeight; | ||
| 1274 | if (FAILED(CalculateExtraPlanarRows(Format, Height, PlanarHeight))) | ||
| 1275 | { | ||
| 1276 | return INTSAFE_E_ARITHMETIC_OVERFLOW; | ||
| 1277 | } | ||
| 1278 | |||
| 1279 | return Safe_UIntMult(TightRowPitch, PlanarHeight, &SlicePitch); | ||
| 1280 | } | ||
| 1281 | else if (Format == DXGI_FORMAT_UNKNOWN) | ||
| 1282 | { | ||
| 1283 | return Safe_UIntMult(TightRowPitch, Height, &SlicePitch); | ||
| 1284 | } | ||
| 1285 | |||
| 1286 | UINT HeightAlignment = GetHeightAlignment(Format); | ||
| 1287 | |||
| 1288 | // Caution assert to make sure that no new format breaks this assumption that all HeightAlignment formats are BC or Planar. | ||
| 1289 | // This is to make sure that Height handled correctly for this calculation. | ||
| 1290 | assert(HeightAlignment == 1 || IsBlockCompressFormat(Format)); | ||
| 1291 | |||
| 1292 | UINT HeightOfPacked; | ||
| 1293 | if (FAILED(DivideAndRoundUp(Height, HeightAlignment, HeightOfPacked))) | ||
| 1294 | { | ||
| 1295 | return INTSAFE_E_ARITHMETIC_OVERFLOW; | ||
| 1296 | } | ||
| 1297 | |||
| 1298 | if (FAILED(Safe_UIntMult(HeightOfPacked, TightRowPitch, &SlicePitch))) | ||
| 1299 | { | ||
| 1300 | return INTSAFE_E_ARITHMETIC_OVERFLOW; | ||
| 1301 | } | ||
| 1302 | |||
| 1303 | return S_OK; | ||
| 1304 | } | ||
| 1305 | |||
| 1306 | |||
| 1307 | |||
| 1308 | //--------------------------------------------------------------------------------------------------------------------------------- | ||
| 1309 | // GetBitsPerUnit - returns bits per pixel unless format is a block compress format then it returns bits per block. | ||
| 1310 | // use IsBlockCompressFormat() to determine if block size is returned. | ||
| 1311 | UINT D3D12_PROPERTY_LAYOUT_FORMAT_TABLE::GetBitsPerUnit(DXGI_FORMAT Format) | ||
| 1312 | { | ||
| 1313 | return s_FormatDetail[GetDetailTableIndexNoThrow( Format )].BitsPerUnit; | ||
| 1314 | } | ||
| 1315 | |||
| 1316 | //--------------------------------------------------------------------------------------------------------------------------------- | ||
| 1317 | UINT D3D12_PROPERTY_LAYOUT_FORMAT_TABLE::GetWidthAlignment(DXGI_FORMAT Format) | ||
| 1318 | { | ||
| 1319 | return s_FormatDetail[GetDetailTableIndexNoThrow( Format )].WidthAlignment; | ||
| 1320 | } | ||
| 1321 | |||
| 1322 | UINT D3D12_PROPERTY_LAYOUT_FORMAT_TABLE::GetHeightAlignment(DXGI_FORMAT Format) | ||
| 1323 | { | ||
| 1324 | return s_FormatDetail[GetDetailTableIndexNoThrow( Format )].HeightAlignment; | ||
| 1325 | } | ||
| 1326 | |||
| 1327 | UINT D3D12_PROPERTY_LAYOUT_FORMAT_TABLE::GetDepthAlignment(DXGI_FORMAT Format) | ||
| 1328 | { | ||
| 1329 | return s_FormatDetail[GetDetailTableIndexNoThrow( Format )].DepthAlignment; | ||
| 1330 | } | ||
| 1331 | //--------------------------------------------------------------------------------------------------------------------------------- | ||
| 1332 | // GetFormat | ||
| 1333 | DXGI_FORMAT D3D12_PROPERTY_LAYOUT_FORMAT_TABLE::GetFormat(SIZE_T Index) | ||
| 1334 | { | ||
| 1335 | if( Index < GetNumFormats() ) | ||
| 1336 | { | ||
| 1337 | return s_FormatDetail[Index].DXGIFormat; | ||
| 1338 | } | ||
| 1339 | return (DXGI_FORMAT)-1; | ||
| 1340 | } | ||
| 1341 | |||
| 1342 | //--------------------------------------------------------------------------------------------------------------------------------- | ||
| 1343 | // CanBeCastEvenFullyTyped | ||
| 1344 | bool D3D12_PROPERTY_LAYOUT_FORMAT_TABLE::CanBeCastEvenFullyTyped(DXGI_FORMAT Format, D3D_FEATURE_LEVEL fl) | ||
| 1345 | { | ||
| 1346 | //SRGB can be cast away/back, and XR_BIAS can be cast to/from UNORM | ||
| 1347 | switch(fl) | ||
| 1348 | { | ||
| 1349 | case D3D_FEATURE_LEVEL_1_0_GENERIC: | ||
| 1350 | case D3D_FEATURE_LEVEL_1_0_CORE: | ||
| 1351 | return false; | ||
| 1352 | default: | ||
| 1353 | break; | ||
| 1354 | } | ||
| 1355 | switch( Format ) | ||
| 1356 | { | ||
| 1357 | case DXGI_FORMAT_R8G8B8A8_UNORM: | ||
| 1358 | case DXGI_FORMAT_R8G8B8A8_UNORM_SRGB: | ||
| 1359 | case DXGI_FORMAT_B8G8R8A8_UNORM: | ||
| 1360 | case DXGI_FORMAT_B8G8R8A8_UNORM_SRGB: | ||
| 1361 | return true; | ||
| 1362 | case DXGI_FORMAT_R10G10B10A2_UNORM: | ||
| 1363 | case DXGI_FORMAT_R10G10B10_XR_BIAS_A2_UNORM: | ||
| 1364 | return fl >= D3D_FEATURE_LEVEL_10_0; | ||
| 1365 | default: | ||
| 1366 | return false; | ||
| 1367 | } | ||
| 1368 | } | ||
| 1369 | |||
| 1370 | //--------------------------------------------------------------------------------------------------------------------------------- | ||
| 1371 | // GetFormatDetail | ||
| 1372 | const D3D12_PROPERTY_LAYOUT_FORMAT_TABLE::FORMAT_DETAIL* D3D12_PROPERTY_LAYOUT_FORMAT_TABLE::GetFormatDetail( DXGI_FORMAT Format ) | ||
| 1373 | { | ||
| 1374 | const UINT Index = GetDetailTableIndex(Format); | ||
| 1375 | if(UINT( -1 ) == Index ) | ||
| 1376 | { | ||
| 1377 | return nullptr; | ||
| 1378 | } | ||
| 1379 | |||
| 1380 | return &s_FormatDetail[ Index ]; | ||
| 1381 | } | ||
| 1382 | |||
| 1383 | //--------------------------------------------------------------------------------------------------------------------------------- | ||
| 1384 | // GetBitsPerStencil | ||
| 1385 | UINT D3D12_PROPERTY_LAYOUT_FORMAT_TABLE::GetBitsPerStencil(DXGI_FORMAT Format) | ||
| 1386 | { | ||
| 1387 | const UINT Index = GetDetailTableIndexThrow( Format ); | ||
| 1388 | if( (s_FormatDetail[Index].TypeLevel != D3DFTL_PARTIAL_TYPE) && | ||
| 1389 | (s_FormatDetail[Index].TypeLevel != D3DFTL_FULL_TYPE) ) | ||
| 1390 | { | ||
| 1391 | return 0; | ||
| 1392 | } | ||
| 1393 | for( UINT comp = 0; comp < 4; comp++ ) | ||
| 1394 | { | ||
| 1395 | D3D_FORMAT_COMPONENT_NAME name = D3DFCN_D; | ||
| 1396 | switch(comp) | ||
| 1397 | { | ||
| 1398 | case 0: name = s_FormatDetail[Index].ComponentName0; break; | ||
| 1399 | case 1: name = s_FormatDetail[Index].ComponentName1; break; | ||
| 1400 | case 2: name = s_FormatDetail[Index].ComponentName2; break; | ||
| 1401 | case 3: name = s_FormatDetail[Index].ComponentName3; break; | ||
| 1402 | } | ||
| 1403 | if( name == D3DFCN_S ) | ||
| 1404 | { | ||
| 1405 | return s_FormatDetail[Index].BitsPerComponent[comp]; | ||
| 1406 | } | ||
| 1407 | } | ||
| 1408 | return 0; | ||
| 1409 | } | ||
| 1410 | |||
| 1411 | //--------------------------------------------------------------------------------------------------------------------------------- | ||
| 1412 | // GetBitsPerDepth | ||
| 1413 | UINT D3D12_PROPERTY_LAYOUT_FORMAT_TABLE::GetBitsPerDepth(DXGI_FORMAT Format) | ||
| 1414 | { | ||
| 1415 | const UINT Index = GetDetailTableIndexThrow( Format ); | ||
| 1416 | if( (s_FormatDetail[Index].TypeLevel != D3DFTL_PARTIAL_TYPE) && | ||
| 1417 | (s_FormatDetail[Index].TypeLevel != D3DFTL_FULL_TYPE) ) | ||
| 1418 | { | ||
| 1419 | return 0; | ||
| 1420 | } | ||
| 1421 | for( UINT comp = 0; comp < 4; comp++ ) | ||
| 1422 | { | ||
| 1423 | D3D_FORMAT_COMPONENT_NAME name = D3DFCN_D; | ||
| 1424 | switch(comp) | ||
| 1425 | { | ||
| 1426 | case 0: name = s_FormatDetail[Index].ComponentName0; break; | ||
| 1427 | case 1: name = s_FormatDetail[Index].ComponentName1; break; | ||
| 1428 | case 2: name = s_FormatDetail[Index].ComponentName2; break; | ||
| 1429 | case 3: name = s_FormatDetail[Index].ComponentName3; break; | ||
| 1430 | } | ||
| 1431 | if( name == D3DFCN_D ) | ||
| 1432 | { | ||
| 1433 | return s_FormatDetail[Index].BitsPerComponent[comp]; | ||
| 1434 | } | ||
| 1435 | } | ||
| 1436 | return 0; | ||
| 1437 | } | ||
| 1438 | |||
| 1439 | //--------------------------------------------------------------------------------------------------------------------------------- | ||
| 1440 | // GetFormatReturnTypes | ||
| 1441 | void D3D12_PROPERTY_LAYOUT_FORMAT_TABLE::GetFormatReturnTypes( | ||
| 1442 | DXGI_FORMAT Format, | ||
| 1443 | D3D_FORMAT_COMPONENT_INTERPRETATION* pInterpretations ) // return array with 4 entries | ||
| 1444 | { | ||
| 1445 | const UINT Index = GetDetailTableIndexThrow(Format); | ||
| 1446 | pInterpretations[D3D10_SB_4_COMPONENT_R] = s_FormatDetail[Index].ComponentInterpretation0; | ||
| 1447 | pInterpretations[D3D10_SB_4_COMPONENT_G] = s_FormatDetail[Index].ComponentInterpretation1; | ||
| 1448 | pInterpretations[D3D10_SB_4_COMPONENT_B] = s_FormatDetail[Index].ComponentInterpretation2; | ||
| 1449 | pInterpretations[D3D10_SB_4_COMPONENT_A] = s_FormatDetail[Index].ComponentInterpretation3; | ||
| 1450 | } | ||
| 1451 | |||
| 1452 | //--------------------------------------------------------------------------------------------------------------------------------- | ||
| 1453 | // GetAddressingBitsPerAlignedSize | ||
| 1454 | UINT8 D3D12_PROPERTY_LAYOUT_FORMAT_TABLE::GetAddressingBitsPerAlignedSize(DXGI_FORMAT Format) | ||
| 1455 | { | ||
| 1456 | UINT byteAlignment = GetByteAlignment(Format); | ||
| 1457 | UINT8 addressBitsPerElement = 0; | ||
| 1458 | |||
| 1459 | switch(byteAlignment) | ||
| 1460 | { | ||
| 1461 | case 1: addressBitsPerElement = 0; break; | ||
| 1462 | case 2: addressBitsPerElement = 1; break; | ||
| 1463 | case 4: addressBitsPerElement = 2; break; | ||
| 1464 | case 8: addressBitsPerElement = 3; break; | ||
| 1465 | case 16: addressBitsPerElement = 4; break; | ||
| 1466 | |||
| 1467 | // The format is not supported | ||
| 1468 | default: return UINT8( -1 ); | ||
| 1469 | } | ||
| 1470 | |||
| 1471 | return addressBitsPerElement; | ||
| 1472 | } | ||
| 1473 | |||
| 1474 | //--------------------------------------------------------------------------------------------------------------------------------- | ||
| 1475 | // GetNumComponentsInFormat | ||
| 1476 | UINT D3D12_PROPERTY_LAYOUT_FORMAT_TABLE::GetNumComponentsInFormat( DXGI_FORMAT Format ) | ||
| 1477 | { | ||
| 1478 | UINT n = 0; | ||
| 1479 | const UINT Index = GetDetailTableIndexThrow(Format); | ||
| 1480 | for( UINT comp = 0; comp < 4; comp++ ) | ||
| 1481 | { | ||
| 1482 | D3D_FORMAT_COMPONENT_NAME name = D3DFCN_D; | ||
| 1483 | switch(comp) | ||
| 1484 | { | ||
| 1485 | case 0: name = s_FormatDetail[Index].ComponentName0; break; | ||
| 1486 | case 1: name = s_FormatDetail[Index].ComponentName1; break; | ||
| 1487 | case 2: name = s_FormatDetail[Index].ComponentName2; break; | ||
| 1488 | case 3: name = s_FormatDetail[Index].ComponentName3; break; | ||
| 1489 | } | ||
| 1490 | if( name != D3DFCN_X ) | ||
| 1491 | { | ||
| 1492 | n++; | ||
| 1493 | } | ||
| 1494 | } | ||
| 1495 | return n; | ||
| 1496 | } | ||
| 1497 | |||
| 1498 | //--------------------------------------------------------------------------------------------------------------------------------- | ||
| 1499 | // GetMinNumComponentsInFormats | ||
| 1500 | UINT D3D12_PROPERTY_LAYOUT_FORMAT_TABLE::GetMinNumComponentsInFormats(DXGI_FORMAT FormatA, DXGI_FORMAT FormatB) | ||
| 1501 | { | ||
| 1502 | UINT NumComponentsFormatA = GetNumComponentsInFormat(FormatA); | ||
| 1503 | UINT NumComponentsFormatB = GetNumComponentsInFormat(FormatB); | ||
| 1504 | UINT NumComponents = NumComponentsFormatA < NumComponentsFormatB ? NumComponentsFormatA : NumComponentsFormatB; | ||
| 1505 | return NumComponents; | ||
| 1506 | } | ||
| 1507 | |||
| 1508 | //--------------------------------------------------------------------------------------------------------------------------------- | ||
| 1509 | // Sequential2AbsoluteComponentIndex | ||
| 1510 | UINT D3D12_PROPERTY_LAYOUT_FORMAT_TABLE::Sequential2AbsoluteComponentIndex( DXGI_FORMAT Format, UINT SequentialComponentIndex) | ||
| 1511 | { | ||
| 1512 | UINT n = 0; | ||
| 1513 | const UINT Index = GetDetailTableIndexThrow(Format); | ||
| 1514 | for( UINT comp = 0; comp < 4; comp++ ) | ||
| 1515 | { | ||
| 1516 | D3D_FORMAT_COMPONENT_NAME name = static_cast<D3D_FORMAT_COMPONENT_NAME>(0); | ||
| 1517 | switch(comp) | ||
| 1518 | { | ||
| 1519 | case 0: name = s_FormatDetail[Index].ComponentName0; break; | ||
| 1520 | case 1: name = s_FormatDetail[Index].ComponentName1; break; | ||
| 1521 | case 2: name = s_FormatDetail[Index].ComponentName2; break; | ||
| 1522 | case 3: name = s_FormatDetail[Index].ComponentName3; break; | ||
| 1523 | } | ||
| 1524 | if( name != D3DFCN_X ) | ||
| 1525 | { | ||
| 1526 | if (SequentialComponentIndex == n) | ||
| 1527 | { | ||
| 1528 | return comp; | ||
| 1529 | } | ||
| 1530 | n++; | ||
| 1531 | } | ||
| 1532 | } | ||
| 1533 | return UINT( -1 ); | ||
| 1534 | } | ||
| 1535 | |||
| 1536 | //--------------------------------------------------------------------------------------------------------------------------------- | ||
| 1537 | // Depth Only Format | ||
| 1538 | bool D3D12_PROPERTY_LAYOUT_FORMAT_TABLE::DepthOnlyFormat(DXGI_FORMAT Format) | ||
| 1539 | { | ||
| 1540 | switch( Format ) | ||
| 1541 | { | ||
| 1542 | case DXGI_FORMAT_D32_FLOAT: | ||
| 1543 | case DXGI_FORMAT_D16_UNORM: | ||
| 1544 | return true; | ||
| 1545 | default: | ||
| 1546 | return false; | ||
| 1547 | } | ||
| 1548 | } | ||
| 1549 | |||
| 1550 | //--------------------------------------------------------------------------------------------------------------------------------- | ||
| 1551 | bool D3D12_PROPERTY_LAYOUT_FORMAT_TABLE::SupportsSamplerFeedback(DXGI_FORMAT Format) | ||
| 1552 | { | ||
| 1553 | switch (Format) | ||
| 1554 | { | ||
| 1555 | case DXGI_FORMAT_SAMPLER_FEEDBACK_MIN_MIP_OPAQUE: | ||
| 1556 | case DXGI_FORMAT_SAMPLER_FEEDBACK_MIP_REGION_USED_OPAQUE: | ||
| 1557 | return true; | ||
| 1558 | default: | ||
| 1559 | return false; | ||
| 1560 | } | ||
| 1561 | } | ||
| 1562 | |||
| 1563 | //--------------------------------------------------------------------------------------------------------------------------------- | ||
| 1564 | // GetParentFormat | ||
| 1565 | DXGI_FORMAT D3D12_PROPERTY_LAYOUT_FORMAT_TABLE::GetParentFormat(DXGI_FORMAT Format) | ||
| 1566 | { | ||
| 1567 | return s_FormatDetail[Format].ParentFormat; | ||
| 1568 | } | ||
| 1569 | |||
| 1570 | //--------------------------------------------------------------------------------------------------------------------------------- | ||
| 1571 | // GetFormatCastSet | ||
| 1572 | const DXGI_FORMAT* D3D12_PROPERTY_LAYOUT_FORMAT_TABLE::GetFormatCastSet(DXGI_FORMAT Format) | ||
| 1573 | { | ||
| 1574 | return s_FormatDetail[Format].pDefaultFormatCastSet; | ||
| 1575 | } | ||
| 1576 | |||
| 1577 | //--------------------------------------------------------------------------------------------------------------------------------- | ||
| 1578 | // GetTypeLevel | ||
| 1579 | D3D_FORMAT_TYPE_LEVEL D3D12_PROPERTY_LAYOUT_FORMAT_TABLE::GetTypeLevel(DXGI_FORMAT Format) | ||
| 1580 | { | ||
| 1581 | return s_FormatDetail[GetDetailTableIndexNoThrow( Format )].TypeLevel; | ||
| 1582 | } | ||
| 1583 | |||
| 1584 | //--------------------------------------------------------------------------------------------------------------------------------- | ||
| 1585 | // GetLayout | ||
| 1586 | D3D_FORMAT_LAYOUT D3D12_PROPERTY_LAYOUT_FORMAT_TABLE::GetLayout(DXGI_FORMAT Format) | ||
| 1587 | { | ||
| 1588 | return s_FormatDetail[GetDetailTableIndexNoThrow( Format )].Layout; | ||
| 1589 | } | ||
| 1590 | |||
| 1591 | //--------------------------------------------------------------------------------------------------------------------------------- | ||
| 1592 | // GetComponentName | ||
| 1593 | D3D_FORMAT_COMPONENT_NAME D3D12_PROPERTY_LAYOUT_FORMAT_TABLE::GetComponentName(DXGI_FORMAT Format, UINT AbsoluteComponentIndex) | ||
| 1594 | { | ||
| 1595 | D3D_FORMAT_COMPONENT_NAME name = {}; | ||
| 1596 | switch( AbsoluteComponentIndex ) | ||
| 1597 | { | ||
| 1598 | case 0: name = s_FormatDetail[GetDetailTableIndexNoThrow( Format )].ComponentName0; break; | ||
| 1599 | case 1: name = s_FormatDetail[GetDetailTableIndexNoThrow( Format )].ComponentName1; break; | ||
| 1600 | case 2: name = s_FormatDetail[GetDetailTableIndexNoThrow( Format )].ComponentName2; break; | ||
| 1601 | case 3: name = s_FormatDetail[GetDetailTableIndexNoThrow( Format )].ComponentName3; break; | ||
| 1602 | #if defined(__cpp_exceptions) && (!defined(_HAS_EXCEPTIONS) || _HAS_EXCEPTIONS != 0) | ||
| 1603 | default: throw std::invalid_argument("AbsoluteComponentIndex"); | ||
| 1604 | #else | ||
| 1605 | default: break; | ||
| 1606 | #endif | ||
| 1607 | } | ||
| 1608 | return name; | ||
| 1609 | } | ||
| 1610 | //--------------------------------------------------------------------------------------------------------------------------------- | ||
| 1611 | // GetBitsPerComponent | ||
| 1612 | UINT D3D12_PROPERTY_LAYOUT_FORMAT_TABLE::GetBitsPerComponent(DXGI_FORMAT Format, UINT AbsoluteComponentIndex) | ||
| 1613 | { | ||
| 1614 | if( AbsoluteComponentIndex > 3 ) | ||
| 1615 | { | ||
| 1616 | #if defined(__cpp_exceptions) && (!defined(_HAS_EXCEPTIONS) || _HAS_EXCEPTIONS != 0) | ||
| 1617 | throw std::invalid_argument("AbsoluteComponentIndex"); | ||
| 1618 | #else | ||
| 1619 | return UINT( -1 ); | ||
| 1620 | #endif | ||
| 1621 | } | ||
| 1622 | return s_FormatDetail[GetDetailTableIndexNoThrow( Format )].BitsPerComponent[AbsoluteComponentIndex]; | ||
| 1623 | } | ||
| 1624 | |||
| 1625 | //--------------------------------------------------------------------------------------------------------------------------------- | ||
| 1626 | // GetFormatComponentInterpretation | ||
| 1627 | D3D_FORMAT_COMPONENT_INTERPRETATION D3D12_PROPERTY_LAYOUT_FORMAT_TABLE::GetFormatComponentInterpretation(DXGI_FORMAT Format, UINT AbsoluteComponentIndex) | ||
| 1628 | { | ||
| 1629 | D3D_FORMAT_COMPONENT_INTERPRETATION interp {}; | ||
| 1630 | |||
| 1631 | switch( AbsoluteComponentIndex ) | ||
| 1632 | { | ||
| 1633 | case 0: interp = s_FormatDetail[GetDetailTableIndexNoThrow( Format )].ComponentInterpretation0; break; | ||
| 1634 | case 1: interp = s_FormatDetail[GetDetailTableIndexNoThrow( Format )].ComponentInterpretation1; break; | ||
| 1635 | case 2: interp = s_FormatDetail[GetDetailTableIndexNoThrow( Format )].ComponentInterpretation2; break; | ||
| 1636 | case 3: interp = s_FormatDetail[GetDetailTableIndexNoThrow( Format )].ComponentInterpretation3; break; | ||
| 1637 | #if defined(__cpp_exceptions) && (!defined(_HAS_EXCEPTIONS) || _HAS_EXCEPTIONS != 0) | ||
| 1638 | default: throw std::invalid_argument("AbsoluteComponentIndex"); | ||
| 1639 | #else | ||
| 1640 | default: break; | ||
| 1641 | #endif | ||
| 1642 | } | ||
| 1643 | return interp; | ||
| 1644 | } | ||
| 1645 | |||
| 1646 | //--------------------------------------------------------------------------------------------------------------------------------- | ||
| 1647 | // Planar | ||
| 1648 | BOOL D3D12_PROPERTY_LAYOUT_FORMAT_TABLE::Planar(DXGI_FORMAT Format) | ||
| 1649 | { | ||
| 1650 | return s_FormatDetail[GetDetailTableIndexNoThrow( Format )].bPlanar; | ||
| 1651 | } | ||
| 1652 | |||
| 1653 | //--------------------------------------------------------------------------------------------------------------------------------- | ||
| 1654 | // Non-opaque Planar | ||
| 1655 | BOOL D3D12_PROPERTY_LAYOUT_FORMAT_TABLE::NonOpaquePlanar(DXGI_FORMAT Format) | ||
| 1656 | { | ||
| 1657 | return Planar(Format) && !Opaque(Format); | ||
| 1658 | } | ||
| 1659 | |||
| 1660 | //--------------------------------------------------------------------------------------------------------------------------------- | ||
| 1661 | // YUV | ||
| 1662 | BOOL D3D12_PROPERTY_LAYOUT_FORMAT_TABLE::YUV(DXGI_FORMAT Format) | ||
| 1663 | { | ||
| 1664 | return s_FormatDetail[GetDetailTableIndexNoThrow( Format )].bYUV; | ||
| 1665 | } | ||
| 1666 | |||
| 1667 | //--------------------------------------------------------------------------------------------------------------------------------- | ||
| 1668 | // Format family supports stencil | ||
| 1669 | bool D3D12_PROPERTY_LAYOUT_FORMAT_TABLE::FamilySupportsStencil(DXGI_FORMAT Format) | ||
| 1670 | { | ||
| 1671 | switch( GetParentFormat(Format) ) | ||
| 1672 | { | ||
| 1673 | case DXGI_FORMAT_R32G8X24_TYPELESS: | ||
| 1674 | case DXGI_FORMAT_R24G8_TYPELESS: | ||
| 1675 | return true; | ||
| 1676 | default: | ||
| 1677 | return false; | ||
| 1678 | } | ||
| 1679 | } | ||
| 1680 | |||
| 1681 | //--------------------------------------------------------------------------------------------------------------------------------- | ||
| 1682 | // GetDetailTableIndexThrow | ||
| 1683 | UINT D3D12_PROPERTY_LAYOUT_FORMAT_TABLE::GetDetailTableIndexThrow(DXGI_FORMAT Format) | ||
| 1684 | { | ||
| 1685 | UINT Index = GetDetailTableIndex( Format ); | ||
| 1686 | #if defined(__cpp_exceptions) && (!defined(_HAS_EXCEPTIONS) || _HAS_EXCEPTIONS != 0) | ||
| 1687 | if(UINT( -1 ) == Index ) | ||
| 1688 | { | ||
| 1689 | throw std::invalid_argument("Format"); | ||
| 1690 | } | ||
| 1691 | #endif | ||
| 1692 | return Index; | ||
| 1693 | } | ||
| 1694 | |||
| 1695 | //--------------------------------------------------------------------------------------------------------------------------------- | ||
| 1696 | // GetDetailTableIndexNoThrow | ||
| 1697 | UINT D3D12_PROPERTY_LAYOUT_FORMAT_TABLE::GetDetailTableIndexNoThrow(DXGI_FORMAT Format) | ||
| 1698 | { | ||
| 1699 | UINT Index = GetDetailTableIndex( Format ); | ||
| 1700 | assert(UINT( -1 ) != Index ); // Needs to be validated externally. | ||
| 1701 | return Index; | ||
| 1702 | } | ||
| 1703 | |||
| 1704 | //--------------------------------------------------------------------------------------------------------------------------------- | ||
| 1705 | // GetYCbCrChromaSubsampling | ||
| 1706 | void D3D12_PROPERTY_LAYOUT_FORMAT_TABLE::GetYCbCrChromaSubsampling( | ||
| 1707 | DXGI_FORMAT Format, | ||
| 1708 | _Out_ UINT& HorizontalSubsampling, | ||
| 1709 | _Out_ UINT& VerticalSubsampling | ||
| 1710 | ) | ||
| 1711 | { | ||
| 1712 | switch( Format) | ||
| 1713 | { | ||
| 1714 | // YCbCr 4:2:0 | ||
| 1715 | case DXGI_FORMAT_NV12: | ||
| 1716 | case DXGI_FORMAT_P010: | ||
| 1717 | case DXGI_FORMAT_P016: | ||
| 1718 | case DXGI_FORMAT_420_OPAQUE: | ||
| 1719 | HorizontalSubsampling = 2; | ||
| 1720 | VerticalSubsampling = 2; | ||
| 1721 | break; | ||
| 1722 | |||
| 1723 | // YCbCr 4:2:2 | ||
| 1724 | case DXGI_FORMAT_P208: | ||
| 1725 | case DXGI_FORMAT_YUY2: | ||
| 1726 | case DXGI_FORMAT_Y210: | ||
| 1727 | HorizontalSubsampling = 2; | ||
| 1728 | VerticalSubsampling = 1; | ||
| 1729 | break; | ||
| 1730 | |||
| 1731 | // YCbCr 4:4:0 | ||
| 1732 | case DXGI_FORMAT_V208: | ||
| 1733 | HorizontalSubsampling = 1; | ||
| 1734 | VerticalSubsampling = 2; | ||
| 1735 | break; | ||
| 1736 | |||
| 1737 | // YCbCr 4:4:4 | ||
| 1738 | case DXGI_FORMAT_AYUV: | ||
| 1739 | case DXGI_FORMAT_V408: | ||
| 1740 | case DXGI_FORMAT_Y410: | ||
| 1741 | case DXGI_FORMAT_Y416: | ||
| 1742 | // Fallthrough | ||
| 1743 | |||
| 1744 | // YCbCr palletized 4:4:4: | ||
| 1745 | case DXGI_FORMAT_AI44: | ||
| 1746 | case DXGI_FORMAT_IA44: | ||
| 1747 | case DXGI_FORMAT_P8: | ||
| 1748 | case DXGI_FORMAT_A8P8: | ||
| 1749 | HorizontalSubsampling = 1; | ||
| 1750 | VerticalSubsampling = 1; | ||
| 1751 | break; | ||
| 1752 | |||
| 1753 | // YCbCr 4:1:1 | ||
| 1754 | case DXGI_FORMAT_NV11: | ||
| 1755 | HorizontalSubsampling = 4; | ||
| 1756 | VerticalSubsampling = 1; | ||
| 1757 | break; | ||
| 1758 | |||
| 1759 | default: | ||
| 1760 | // All YCbCr formats should be in this list. | ||
| 1761 | assert( !YUV(Format) ); | ||
| 1762 | HorizontalSubsampling = 1; | ||
| 1763 | VerticalSubsampling = 1; | ||
| 1764 | break; | ||
| 1765 | }; | ||
| 1766 | } | ||
| 1767 | |||
| 1768 | //--------------------------------------------------------------------------------------------------------------------------------- | ||
| 1769 | // Plane count for non-opaque planar formats | ||
| 1770 | UINT D3D12_PROPERTY_LAYOUT_FORMAT_TABLE::NonOpaquePlaneCount(DXGI_FORMAT Format) | ||
| 1771 | { | ||
| 1772 | if (!D3D12_PROPERTY_LAYOUT_FORMAT_TABLE::NonOpaquePlanar(Format)) | ||
| 1773 | { | ||
| 1774 | return 1; | ||
| 1775 | } | ||
| 1776 | |||
| 1777 | // V208 and V408 are the only 3-plane formats. | ||
| 1778 | return (Format == DXGI_FORMAT_V208 || Format == DXGI_FORMAT_V408) ? 3 : 2; | ||
| 1779 | } | ||
| 1780 | |||
| 1781 | //--------------------------------------------------------------------------------------------------------------------------------- | ||
| 1782 | // GetTileShape | ||
| 1783 | // | ||
| 1784 | // Retrieve 64K Tiled Resource tile shape | ||
| 1785 | void D3D12_PROPERTY_LAYOUT_FORMAT_TABLE::GetTileShape( | ||
| 1786 | D3D12_TILE_SHAPE* pTileShape, | ||
| 1787 | DXGI_FORMAT Format, | ||
| 1788 | D3D12_RESOURCE_DIMENSION Dimension, | ||
| 1789 | UINT SampleCount | ||
| 1790 | ) | ||
| 1791 | { | ||
| 1792 | UINT BPU = GetBitsPerUnit(Format); | ||
| 1793 | |||
| 1794 | switch(Dimension) | ||
| 1795 | { | ||
| 1796 | case D3D12_RESOURCE_DIMENSION_UNKNOWN: | ||
| 1797 | case D3D12_RESOURCE_DIMENSION_BUFFER: | ||
| 1798 | case D3D12_RESOURCE_DIMENSION_TEXTURE1D: | ||
| 1799 | { | ||
| 1800 | assert(!IsBlockCompressFormat(Format)); | ||
| 1801 | pTileShape->WidthInTexels = (BPU == 0) ? D3D12_TILED_RESOURCE_TILE_SIZE_IN_BYTES : D3D12_TILED_RESOURCE_TILE_SIZE_IN_BYTES*8 / BPU; | ||
| 1802 | pTileShape->HeightInTexels = 1; | ||
| 1803 | pTileShape->DepthInTexels = 1; | ||
| 1804 | } | ||
| 1805 | break; | ||
| 1806 | case D3D12_RESOURCE_DIMENSION_TEXTURE2D: | ||
| 1807 | { | ||
| 1808 | if (IsBlockCompressFormat(Format)) | ||
| 1809 | { | ||
| 1810 | // Currently only supported block sizes are 64 and 128. | ||
| 1811 | // These equations calculate the size in texels for a tile. It relies on the fact that 64 * 64 blocks fit in a tile if the block size is 128 bits. | ||
| 1812 | assert(BPU == 64 || BPU == 128); | ||
| 1813 | pTileShape->WidthInTexels = 64 * GetWidthAlignment(Format); | ||
| 1814 | pTileShape->HeightInTexels = 64 * GetHeightAlignment(Format); | ||
| 1815 | pTileShape->DepthInTexels = 1; | ||
| 1816 | if (BPU == 64) | ||
| 1817 | { | ||
| 1818 | // If bits per block are 64 we double width so it takes up the full tile size. | ||
| 1819 | // This is only true for BC1 and BC4 | ||
| 1820 | assert((Format >= DXGI_FORMAT_BC1_TYPELESS && Format <= DXGI_FORMAT_BC1_UNORM_SRGB) || | ||
| 1821 | (Format >= DXGI_FORMAT_BC4_TYPELESS && Format <= DXGI_FORMAT_BC4_SNORM)); | ||
| 1822 | pTileShape->WidthInTexels *= 2; | ||
| 1823 | } | ||
| 1824 | } | ||
| 1825 | else | ||
| 1826 | { | ||
| 1827 | pTileShape->DepthInTexels = 1; | ||
| 1828 | if (BPU <= 8) | ||
| 1829 | { | ||
| 1830 | pTileShape->WidthInTexels = 256; | ||
| 1831 | pTileShape->HeightInTexels = 256; | ||
| 1832 | } | ||
| 1833 | else if (BPU <= 16) | ||
| 1834 | { | ||
| 1835 | pTileShape->WidthInTexels = 256; | ||
| 1836 | pTileShape->HeightInTexels = 128; | ||
| 1837 | } | ||
| 1838 | else if (BPU <= 32) | ||
| 1839 | { | ||
| 1840 | pTileShape->WidthInTexels = 128; | ||
| 1841 | pTileShape->HeightInTexels = 128; | ||
| 1842 | } | ||
| 1843 | else if (BPU <= 64) | ||
| 1844 | { | ||
| 1845 | pTileShape->WidthInTexels = 128; | ||
| 1846 | pTileShape->HeightInTexels = 64; | ||
| 1847 | } | ||
| 1848 | else if (BPU <= 128) | ||
| 1849 | { | ||
| 1850 | pTileShape->WidthInTexels = 64; | ||
| 1851 | pTileShape->HeightInTexels = 64; | ||
| 1852 | } | ||
| 1853 | else | ||
| 1854 | { | ||
| 1855 | ASSUME( FALSE ); | ||
| 1856 | } | ||
| 1857 | |||
| 1858 | if (SampleCount <= 1) | ||
| 1859 | { /* Do nothing */ } | ||
| 1860 | else if (SampleCount <= 2) | ||
| 1861 | { | ||
| 1862 | pTileShape->WidthInTexels /= 2; | ||
| 1863 | pTileShape->HeightInTexels /= 1; | ||
| 1864 | } | ||
| 1865 | else if (SampleCount <= 4) | ||
| 1866 | { | ||
| 1867 | pTileShape->WidthInTexels /= 2; | ||
| 1868 | pTileShape->HeightInTexels /= 2; | ||
| 1869 | } | ||
| 1870 | else if (SampleCount <= 8) | ||
| 1871 | { | ||
| 1872 | pTileShape->WidthInTexels /= 4; | ||
| 1873 | pTileShape->HeightInTexels /= 2; | ||
| 1874 | } | ||
| 1875 | else if (SampleCount <= 16) | ||
| 1876 | { | ||
| 1877 | pTileShape->WidthInTexels /= 4; | ||
| 1878 | pTileShape->HeightInTexels /= 4; | ||
| 1879 | } | ||
| 1880 | else | ||
| 1881 | { | ||
| 1882 | ASSUME( FALSE ); | ||
| 1883 | } | ||
| 1884 | } | ||
| 1885 | } | ||
| 1886 | break; | ||
| 1887 | case D3D12_RESOURCE_DIMENSION_TEXTURE3D: | ||
| 1888 | { | ||
| 1889 | if (IsBlockCompressFormat(Format)) | ||
| 1890 | { | ||
| 1891 | // Currently only supported block sizes are 64 and 128. | ||
| 1892 | // These equations calculate the size in texels for a tile. It relies on the fact that 16*16*16 blocks fit in a tile if the block size is 128 bits. | ||
| 1893 | assert(BPU == 64 || BPU == 128); | ||
| 1894 | pTileShape->WidthInTexels = 16 * GetWidthAlignment(Format); | ||
| 1895 | pTileShape->HeightInTexels = 16 * GetHeightAlignment(Format); | ||
| 1896 | pTileShape->DepthInTexels = 16 * GetDepthAlignment(Format); | ||
| 1897 | if (BPU == 64) | ||
| 1898 | { | ||
| 1899 | // If bits per block are 64 we double width so it takes up the full tile size. | ||
| 1900 | // This is only true for BC1 and BC4 | ||
| 1901 | assert((Format >= DXGI_FORMAT_BC1_TYPELESS && Format <= DXGI_FORMAT_BC1_UNORM_SRGB) || | ||
| 1902 | (Format >= DXGI_FORMAT_BC4_TYPELESS && Format <= DXGI_FORMAT_BC4_SNORM)); | ||
| 1903 | pTileShape->WidthInTexels *= 2; | ||
| 1904 | } | ||
| 1905 | } | ||
| 1906 | else if (Format == DXGI_FORMAT_R8G8_B8G8_UNORM || Format == DXGI_FORMAT_G8R8_G8B8_UNORM) | ||
| 1907 | { | ||
| 1908 | //RGBG and GRGB are treated as 2x1 block format | ||
| 1909 | pTileShape->WidthInTexels = 64; | ||
| 1910 | pTileShape->HeightInTexels = 32; | ||
| 1911 | pTileShape->DepthInTexels = 16; | ||
| 1912 | } | ||
| 1913 | else | ||
| 1914 | { | ||
| 1915 | // Not a block format so BPU is bits per pixel. | ||
| 1916 | assert(GetWidthAlignment(Format) == 1 && GetHeightAlignment(Format) == 1 && GetDepthAlignment(Format)); | ||
| 1917 | switch(BPU) | ||
| 1918 | { | ||
| 1919 | case 8: | ||
| 1920 | pTileShape->WidthInTexels = 64; | ||
| 1921 | pTileShape->HeightInTexels = 32; | ||
| 1922 | pTileShape->DepthInTexels = 32; | ||
| 1923 | break; | ||
| 1924 | case 16: | ||
| 1925 | pTileShape->WidthInTexels = 32; | ||
| 1926 | pTileShape->HeightInTexels = 32; | ||
| 1927 | pTileShape->DepthInTexels = 32; | ||
| 1928 | break; | ||
| 1929 | case 32: | ||
| 1930 | pTileShape->WidthInTexels = 32; | ||
| 1931 | pTileShape->HeightInTexels = 32; | ||
| 1932 | pTileShape->DepthInTexels = 16; | ||
| 1933 | break; | ||
| 1934 | case 64: | ||
| 1935 | pTileShape->WidthInTexels = 32; | ||
| 1936 | pTileShape->HeightInTexels = 16; | ||
| 1937 | pTileShape->DepthInTexels = 16; | ||
| 1938 | break; | ||
| 1939 | case 128: | ||
| 1940 | pTileShape->WidthInTexels = 16; | ||
| 1941 | pTileShape->HeightInTexels = 16; | ||
| 1942 | pTileShape->DepthInTexels = 16; | ||
| 1943 | break; | ||
| 1944 | } | ||
| 1945 | } | ||
| 1946 | break; | ||
| 1947 | } | ||
| 1948 | } | ||
| 1949 | } | ||
| 1950 | |||
| 1951 | //--------------------------------------------------------------------------------------------------------------------------------- | ||
| 1952 | // Get4KTileShape | ||
| 1953 | // | ||
| 1954 | // Retrieve 4K Tiled Resource tile shape | ||
| 1955 | void D3D12_PROPERTY_LAYOUT_FORMAT_TABLE::Get4KTileShape( | ||
| 1956 | D3D12_TILE_SHAPE* pTileShape, | ||
| 1957 | DXGI_FORMAT Format, | ||
| 1958 | D3D12_RESOURCE_DIMENSION Dimension, | ||
| 1959 | UINT SampleCount | ||
| 1960 | ) | ||
| 1961 | { | ||
| 1962 | UINT BPU = GetBitsPerUnit(Format); | ||
| 1963 | |||
| 1964 | switch(Dimension) | ||
| 1965 | { | ||
| 1966 | case D3D12_RESOURCE_DIMENSION_UNKNOWN: | ||
| 1967 | case D3D12_RESOURCE_DIMENSION_BUFFER: | ||
| 1968 | case D3D12_RESOURCE_DIMENSION_TEXTURE1D: | ||
| 1969 | { | ||
| 1970 | assert(!IsBlockCompressFormat(Format)); | ||
| 1971 | pTileShape->WidthInTexels = (BPU == 0) ? 4096 : 4096*8 / BPU; | ||
| 1972 | pTileShape->HeightInTexels = 1; | ||
| 1973 | pTileShape->DepthInTexels = 1; | ||
| 1974 | } | ||
| 1975 | break; | ||
| 1976 | case D3D12_RESOURCE_DIMENSION_TEXTURE2D: | ||
| 1977 | { | ||
| 1978 | pTileShape->DepthInTexels = 1; | ||
| 1979 | if (IsBlockCompressFormat(Format)) | ||
| 1980 | { | ||
| 1981 | // Currently only supported block sizes are 64 and 128. | ||
| 1982 | // These equations calculate the size in texels for a tile. It relies on the fact that 16*16*16 blocks fit in a tile if the block size is 128 bits. | ||
| 1983 | assert(BPU == 64 || BPU == 128); | ||
| 1984 | pTileShape->WidthInTexels = 16 * GetWidthAlignment(Format); | ||
| 1985 | pTileShape->HeightInTexels = 16 * GetHeightAlignment(Format); | ||
| 1986 | if (BPU == 64) | ||
| 1987 | { | ||
| 1988 | // If bits per block are 64 we double width so it takes up the full tile size. | ||
| 1989 | // This is only true for BC1 and BC4 | ||
| 1990 | assert((Format >= DXGI_FORMAT_BC1_TYPELESS && Format <= DXGI_FORMAT_BC1_UNORM_SRGB) || | ||
| 1991 | (Format >= DXGI_FORMAT_BC4_TYPELESS && Format <= DXGI_FORMAT_BC4_SNORM)); | ||
| 1992 | pTileShape->WidthInTexels *= 2; | ||
| 1993 | } | ||
| 1994 | } | ||
| 1995 | else | ||
| 1996 | { | ||
| 1997 | if (BPU <= 8) | ||
| 1998 | { | ||
| 1999 | pTileShape->WidthInTexels = 64; | ||
| 2000 | pTileShape->HeightInTexels = 64; | ||
| 2001 | } | ||
| 2002 | else if (BPU <= 16) | ||
| 2003 | { | ||
| 2004 | pTileShape->WidthInTexels = 64; | ||
| 2005 | pTileShape->HeightInTexels = 32; | ||
| 2006 | } | ||
| 2007 | else if (BPU <= 32) | ||
| 2008 | { | ||
| 2009 | pTileShape->WidthInTexels = 32; | ||
| 2010 | pTileShape->HeightInTexels = 32; | ||
| 2011 | } | ||
| 2012 | else if (BPU <= 64) | ||
| 2013 | { | ||
| 2014 | pTileShape->WidthInTexels = 32; | ||
| 2015 | pTileShape->HeightInTexels = 16; | ||
| 2016 | } | ||
| 2017 | else if (BPU <= 128) | ||
| 2018 | { | ||
| 2019 | pTileShape->WidthInTexels = 16; | ||
| 2020 | pTileShape->HeightInTexels = 16; | ||
| 2021 | } | ||
| 2022 | else | ||
| 2023 | { | ||
| 2024 | ASSUME( FALSE ); | ||
| 2025 | } | ||
| 2026 | |||
| 2027 | if (SampleCount <= 1) | ||
| 2028 | { /* Do nothing */ } | ||
| 2029 | else if (SampleCount <= 2) | ||
| 2030 | { | ||
| 2031 | pTileShape->WidthInTexels /= 2; | ||
| 2032 | pTileShape->HeightInTexels /= 1; | ||
| 2033 | } | ||
| 2034 | else if (SampleCount <= 4) | ||
| 2035 | { | ||
| 2036 | pTileShape->WidthInTexels /= 2; | ||
| 2037 | pTileShape->HeightInTexels /= 2; | ||
| 2038 | } | ||
| 2039 | else if (SampleCount <= 8) | ||
| 2040 | { | ||
| 2041 | pTileShape->WidthInTexels /= 4; | ||
| 2042 | pTileShape->HeightInTexels /= 2; | ||
| 2043 | } | ||
| 2044 | else if (SampleCount <= 16) | ||
| 2045 | { | ||
| 2046 | pTileShape->WidthInTexels /= 4; | ||
| 2047 | pTileShape->HeightInTexels /= 4; | ||
| 2048 | } | ||
| 2049 | else | ||
| 2050 | { | ||
| 2051 | ASSUME( FALSE ); | ||
| 2052 | } | ||
| 2053 | |||
| 2054 | assert(GetWidthAlignment(Format) == 1); | ||
| 2055 | assert(GetHeightAlignment(Format) == 1); | ||
| 2056 | assert(GetDepthAlignment(Format) == 1); | ||
| 2057 | } | ||
| 2058 | |||
| 2059 | break; | ||
| 2060 | } | ||
| 2061 | case D3D12_RESOURCE_DIMENSION_TEXTURE3D: | ||
| 2062 | { | ||
| 2063 | if (IsBlockCompressFormat(Format)) | ||
| 2064 | { | ||
| 2065 | // Currently only supported block sizes are 64 and 128. | ||
| 2066 | // These equations calculate the size in texels for a tile. It relies on the fact that 16*16*16 blocks fit in a tile if the block size is 128 bits. | ||
| 2067 | assert(BPU == 64 || BPU == 128); | ||
| 2068 | pTileShape->WidthInTexels = 8 * GetWidthAlignment(Format); | ||
| 2069 | pTileShape->HeightInTexels = 8 * GetHeightAlignment(Format); | ||
| 2070 | pTileShape->DepthInTexels = 4; | ||
| 2071 | if (BPU == 64) | ||
| 2072 | { | ||
| 2073 | // If bits per block are 64 we double width so it takes up the full tile size. | ||
| 2074 | // This is only true for BC1 and BC4 | ||
| 2075 | assert((Format >= DXGI_FORMAT_BC1_TYPELESS && Format <= DXGI_FORMAT_BC1_UNORM_SRGB) || | ||
| 2076 | (Format >= DXGI_FORMAT_BC4_TYPELESS && Format <= DXGI_FORMAT_BC4_SNORM)); | ||
| 2077 | pTileShape->DepthInTexels *= 2; | ||
| 2078 | } | ||
| 2079 | } | ||
| 2080 | else | ||
| 2081 | { | ||
| 2082 | if (BPU <= 8) | ||
| 2083 | { | ||
| 2084 | pTileShape->WidthInTexels = 16; | ||
| 2085 | pTileShape->HeightInTexels = 16; | ||
| 2086 | pTileShape->DepthInTexels = 16; | ||
| 2087 | } | ||
| 2088 | else if (BPU <= 16) | ||
| 2089 | { | ||
| 2090 | pTileShape->WidthInTexels = 16; | ||
| 2091 | pTileShape->HeightInTexels = 16; | ||
| 2092 | pTileShape->DepthInTexels = 8; | ||
| 2093 | } | ||
| 2094 | else if (BPU <= 32) | ||
| 2095 | { | ||
| 2096 | pTileShape->WidthInTexels = 16; | ||
| 2097 | pTileShape->HeightInTexels = 8; | ||
| 2098 | pTileShape->DepthInTexels = 8; | ||
| 2099 | } | ||
| 2100 | else if (BPU <= 64) | ||
| 2101 | { | ||
| 2102 | pTileShape->WidthInTexels = 8; | ||
| 2103 | pTileShape->HeightInTexels = 8; | ||
| 2104 | pTileShape->DepthInTexels = 8; | ||
| 2105 | } | ||
| 2106 | else if (BPU <= 128) | ||
| 2107 | { | ||
| 2108 | pTileShape->WidthInTexels = 8; | ||
| 2109 | pTileShape->HeightInTexels = 8; | ||
| 2110 | pTileShape->DepthInTexels = 4; | ||
| 2111 | } | ||
| 2112 | else | ||
| 2113 | { | ||
| 2114 | ASSUME( FALSE ); | ||
| 2115 | } | ||
| 2116 | |||
| 2117 | assert(GetWidthAlignment(Format) == 1); | ||
| 2118 | assert(GetHeightAlignment(Format) == 1); | ||
| 2119 | assert(GetDepthAlignment(Format) == 1); | ||
| 2120 | } | ||
| 2121 | } | ||
| 2122 | break; | ||
| 2123 | } | ||
| 2124 | } | ||
| 2125 | |||
| 2126 | //---------------------------------------------------------------------------------------------------------------------------------- | ||
| 2127 | // GetPlaneSliceFromViewFormat | ||
| 2128 | // Maps resource format + view format to a plane index for resource formats where the plane index can be inferred from this information. | ||
| 2129 | // For planar formats where the plane index is ambiguous given this information (examples: V208, V408), this function returns 0. | ||
| 2130 | // This function returns 0 for non-planar formats. | ||
| 2131 | UINT8 D3D12_PROPERTY_LAYOUT_FORMAT_TABLE::GetPlaneSliceFromViewFormat( | ||
| 2132 | DXGI_FORMAT ResourceFormat, | ||
| 2133 | DXGI_FORMAT ViewFormat | ||
| 2134 | ) | ||
| 2135 | { | ||
| 2136 | switch(GetParentFormat(ResourceFormat)) | ||
| 2137 | { | ||
| 2138 | case DXGI_FORMAT_R24G8_TYPELESS: | ||
| 2139 | switch(ViewFormat) | ||
| 2140 | { | ||
| 2141 | case DXGI_FORMAT_R24_UNORM_X8_TYPELESS: | ||
| 2142 | return 0; | ||
| 2143 | case DXGI_FORMAT_X24_TYPELESS_G8_UINT: | ||
| 2144 | return 1; | ||
| 2145 | default: | ||
| 2146 | ASSUME( false ); | ||
| 2147 | } | ||
| 2148 | break; | ||
| 2149 | case DXGI_FORMAT_R32G8X24_TYPELESS: | ||
| 2150 | switch(ViewFormat) | ||
| 2151 | { | ||
| 2152 | case DXGI_FORMAT_R32_FLOAT_X8X24_TYPELESS: | ||
| 2153 | return 0; | ||
| 2154 | case DXGI_FORMAT_X32_TYPELESS_G8X24_UINT: | ||
| 2155 | return 1; | ||
| 2156 | default: | ||
| 2157 | ASSUME( false ); | ||
| 2158 | } | ||
| 2159 | break; | ||
| 2160 | case DXGI_FORMAT_NV12: | ||
| 2161 | case DXGI_FORMAT_NV11: | ||
| 2162 | case DXGI_FORMAT_P208: | ||
| 2163 | switch(ViewFormat) | ||
| 2164 | { | ||
| 2165 | case DXGI_FORMAT_R8_UNORM: | ||
| 2166 | case DXGI_FORMAT_R8_UINT: | ||
| 2167 | return 0; | ||
| 2168 | case DXGI_FORMAT_R8G8_UNORM: | ||
| 2169 | case DXGI_FORMAT_R8G8_UINT: | ||
| 2170 | return 1; | ||
| 2171 | default: | ||
| 2172 | ASSUME( false ); | ||
| 2173 | } | ||
| 2174 | break; | ||
| 2175 | case DXGI_FORMAT_P016: | ||
| 2176 | case DXGI_FORMAT_P010: | ||
| 2177 | switch(ViewFormat) | ||
| 2178 | { | ||
| 2179 | case DXGI_FORMAT_R16_UNORM: | ||
| 2180 | case DXGI_FORMAT_R16_UINT: | ||
| 2181 | return 0; | ||
| 2182 | case DXGI_FORMAT_R16G16_UNORM: | ||
| 2183 | case DXGI_FORMAT_R16G16_UINT: | ||
| 2184 | case DXGI_FORMAT_R32_UINT: | ||
| 2185 | return 1; | ||
| 2186 | default: | ||
| 2187 | ASSUME( false ); | ||
| 2188 | } | ||
| 2189 | break; | ||
| 2190 | default: | ||
| 2191 | break; | ||
| 2192 | } | ||
| 2193 | return 0; | ||
| 2194 | } | ||
| 2195 | |||
| 2196 | //---------------------------------------------------------------------------------------------------------------------------------- | ||
| 2197 | void D3D12_PROPERTY_LAYOUT_FORMAT_TABLE::GetPlaneSubsampledSizeAndFormatForCopyableLayout( | ||
| 2198 | UINT PlaneSlice, | ||
| 2199 | DXGI_FORMAT Format, | ||
| 2200 | UINT Width, | ||
| 2201 | UINT Height, | ||
| 2202 | _Out_ DXGI_FORMAT& PlaneFormat, | ||
| 2203 | _Out_ UINT& MinPlanePitchWidth, | ||
| 2204 | _Out_ UINT& PlaneWidth, | ||
| 2205 | _Out_ UINT& PlaneHeight) | ||
| 2206 | { | ||
| 2207 | DXGI_FORMAT ParentFormat = GetParentFormat(Format); | ||
| 2208 | |||
| 2209 | if (Planar(ParentFormat)) | ||
| 2210 | { | ||
| 2211 | switch (ParentFormat) | ||
| 2212 | { | ||
| 2213 | // YCbCr 4:2:0 | ||
| 2214 | case DXGI_FORMAT_NV12: | ||
| 2215 | switch(PlaneSlice) | ||
| 2216 | { | ||
| 2217 | case 0: | ||
| 2218 | PlaneFormat = DXGI_FORMAT_R8_TYPELESS; | ||
| 2219 | PlaneWidth = Width; | ||
| 2220 | PlaneHeight = Height; | ||
| 2221 | break; | ||
| 2222 | case 1: | ||
| 2223 | PlaneFormat = DXGI_FORMAT_R8G8_TYPELESS; | ||
| 2224 | PlaneWidth = (Width + 1) >> 1; | ||
| 2225 | PlaneHeight = (Height + 1) >> 1; | ||
| 2226 | break; | ||
| 2227 | default: | ||
| 2228 | ASSUME(FALSE); | ||
| 2229 | }; | ||
| 2230 | |||
| 2231 | MinPlanePitchWidth = PlaneWidth; | ||
| 2232 | break; | ||
| 2233 | |||
| 2234 | case DXGI_FORMAT_P010: | ||
| 2235 | case DXGI_FORMAT_P016: | ||
| 2236 | switch(PlaneSlice) | ||
| 2237 | { | ||
| 2238 | case 0: | ||
| 2239 | PlaneFormat = DXGI_FORMAT_R16_TYPELESS; | ||
| 2240 | PlaneWidth = Width; | ||
| 2241 | PlaneHeight = Height; | ||
| 2242 | break; | ||
| 2243 | case 1: | ||
| 2244 | PlaneFormat = DXGI_FORMAT_R16G16_TYPELESS; | ||
| 2245 | PlaneWidth = (Width + 1) >> 1; | ||
| 2246 | PlaneHeight = (Height + 1) >> 1; | ||
| 2247 | break; | ||
| 2248 | default: | ||
| 2249 | ASSUME(FALSE); | ||
| 2250 | }; | ||
| 2251 | |||
| 2252 | MinPlanePitchWidth = PlaneWidth; | ||
| 2253 | break; | ||
| 2254 | |||
| 2255 | // YCbCr 4:2:2 | ||
| 2256 | case DXGI_FORMAT_P208: | ||
| 2257 | switch(PlaneSlice) | ||
| 2258 | { | ||
| 2259 | case 0: | ||
| 2260 | PlaneFormat = DXGI_FORMAT_R8_TYPELESS; | ||
| 2261 | PlaneWidth = Width; | ||
| 2262 | PlaneHeight = Height; | ||
| 2263 | break; | ||
| 2264 | case 1: | ||
| 2265 | PlaneFormat = DXGI_FORMAT_R8G8_TYPELESS; | ||
| 2266 | PlaneWidth = (Width + 1) >> 1; | ||
| 2267 | PlaneHeight = Height; | ||
| 2268 | break; | ||
| 2269 | default: | ||
| 2270 | ASSUME(FALSE); | ||
| 2271 | }; | ||
| 2272 | |||
| 2273 | MinPlanePitchWidth = PlaneWidth; | ||
| 2274 | break; | ||
| 2275 | |||
| 2276 | // YCbCr 4:4:0 | ||
| 2277 | case DXGI_FORMAT_V208: | ||
| 2278 | PlaneFormat = DXGI_FORMAT_R8_TYPELESS; | ||
| 2279 | switch(PlaneSlice) | ||
| 2280 | { | ||
| 2281 | case 0: | ||
| 2282 | PlaneWidth = Width; | ||
| 2283 | PlaneHeight = Height; | ||
| 2284 | break; | ||
| 2285 | case 1: | ||
| 2286 | case 2: | ||
| 2287 | PlaneWidth = Width; | ||
| 2288 | PlaneHeight = (Height + 1) >> 1; | ||
| 2289 | break; | ||
| 2290 | default: | ||
| 2291 | ASSUME(FALSE); | ||
| 2292 | }; | ||
| 2293 | |||
| 2294 | MinPlanePitchWidth = PlaneWidth; | ||
| 2295 | break; | ||
| 2296 | |||
| 2297 | // YCbCr 4:4:4 | ||
| 2298 | case DXGI_FORMAT_V408: | ||
| 2299 | |||
| 2300 | switch(PlaneSlice) | ||
| 2301 | { | ||
| 2302 | case 0: | ||
| 2303 | case 1: | ||
| 2304 | case 2: | ||
| 2305 | PlaneFormat = DXGI_FORMAT_R8_TYPELESS; | ||
| 2306 | PlaneWidth = Width; | ||
| 2307 | PlaneHeight = Height; | ||
| 2308 | MinPlanePitchWidth = PlaneWidth; | ||
| 2309 | break; | ||
| 2310 | default: | ||
| 2311 | ASSUME(FALSE); | ||
| 2312 | }; | ||
| 2313 | break; | ||
| 2314 | |||
| 2315 | // YCbCr 4:1:1 | ||
| 2316 | case DXGI_FORMAT_NV11: | ||
| 2317 | switch(PlaneSlice) | ||
| 2318 | { | ||
| 2319 | case 0: | ||
| 2320 | PlaneFormat = DXGI_FORMAT_R8_TYPELESS; | ||
| 2321 | PlaneWidth = Width; | ||
| 2322 | PlaneHeight = Height; | ||
| 2323 | MinPlanePitchWidth = Width; | ||
| 2324 | break; | ||
| 2325 | case 1: | ||
| 2326 | PlaneFormat = DXGI_FORMAT_R8G8_TYPELESS; | ||
| 2327 | PlaneWidth = (Width + 3) >> 2; | ||
| 2328 | PlaneHeight = Height; | ||
| 2329 | |||
| 2330 | // NV11 has unused padding to the right of the chroma plane in the RowMajor (linear) copyable layout. | ||
| 2331 | MinPlanePitchWidth = (Width + 1) >> 1; | ||
| 2332 | break; | ||
| 2333 | default: | ||
| 2334 | ASSUME(FALSE); | ||
| 2335 | }; | ||
| 2336 | |||
| 2337 | break; | ||
| 2338 | |||
| 2339 | case DXGI_FORMAT_R32G8X24_TYPELESS: | ||
| 2340 | case DXGI_FORMAT_R24G8_TYPELESS: | ||
| 2341 | switch(PlaneSlice) | ||
| 2342 | { | ||
| 2343 | case 0: | ||
| 2344 | PlaneFormat = DXGI_FORMAT_R32_TYPELESS; | ||
| 2345 | PlaneWidth = Width; | ||
| 2346 | PlaneHeight = Height; | ||
| 2347 | MinPlanePitchWidth = Width; | ||
| 2348 | break; | ||
| 2349 | case 1: | ||
| 2350 | PlaneFormat = DXGI_FORMAT_R8_TYPELESS; | ||
| 2351 | PlaneWidth = Width; | ||
| 2352 | PlaneHeight = Height; | ||
| 2353 | MinPlanePitchWidth = Width; | ||
| 2354 | break; | ||
| 2355 | default: | ||
| 2356 | ASSUME(FALSE); | ||
| 2357 | }; | ||
| 2358 | break; | ||
| 2359 | |||
| 2360 | default: | ||
| 2361 | ASSUME( FALSE ); | ||
| 2362 | }; | ||
| 2363 | } | ||
| 2364 | else | ||
| 2365 | { | ||
| 2366 | assert(PlaneSlice == 0); | ||
| 2367 | PlaneFormat = Format; | ||
| 2368 | PlaneWidth = Width; | ||
| 2369 | PlaneHeight = Height; | ||
| 2370 | MinPlanePitchWidth = PlaneWidth; | ||
| 2371 | } | ||
| 2372 | } | ||
| 2373 | |||
| 2374 | //--------------------------------------------------------------------------------------------------------------------------------- | ||
| 2375 | // GetPlaneCount | ||
| 2376 | UINT8 D3D12_PROPERTY_LAYOUT_FORMAT_TABLE::GetPlaneCount(DXGI_FORMAT Format) | ||
| 2377 | { | ||
| 2378 | switch( GetParentFormat(Format) ) | ||
| 2379 | { | ||
| 2380 | case DXGI_FORMAT_NV12: | ||
| 2381 | case DXGI_FORMAT_NV11: | ||
| 2382 | case DXGI_FORMAT_P208: | ||
| 2383 | case DXGI_FORMAT_P016: | ||
| 2384 | case DXGI_FORMAT_P010: | ||
| 2385 | case DXGI_FORMAT_R24G8_TYPELESS: | ||
| 2386 | case DXGI_FORMAT_R32G8X24_TYPELESS: | ||
| 2387 | return 2; | ||
| 2388 | case DXGI_FORMAT_V208: | ||
| 2389 | case DXGI_FORMAT_V408: | ||
| 2390 | return 3; | ||
| 2391 | default: | ||
| 2392 | return 1; | ||
| 2393 | } | ||
| 2394 | } | ||
| 2395 | |||
| 2396 | //--------------------------------------------------------------------------------------------------------------------------------- | ||
| 2397 | void D3D12_PROPERTY_LAYOUT_FORMAT_TABLE::GetMipDimensions(UINT8 mipSlice, _Inout_ UINT64 *pWidth, _Inout_opt_ UINT64 *pHeight, _Inout_opt_ UINT64 *pDepth) | ||
| 2398 | { | ||
| 2399 | UINT denominator = (1 << mipSlice); // 2 ^ subresource | ||
| 2400 | UINT64 mipWidth = *pWidth / denominator; | ||
| 2401 | UINT64 mipHeight = pHeight ? *pHeight / denominator : 1; | ||
| 2402 | UINT64 mipDepth = pDepth ? *pDepth / denominator : 1; | ||
| 2403 | |||
| 2404 | // Adjust dimensions for degenerate mips | ||
| 2405 | if(mipHeight == 0 ) | ||
| 2406 | mipHeight = 1; | ||
| 2407 | if(mipWidth == 0 ) | ||
| 2408 | mipWidth = 1; | ||
| 2409 | if(mipDepth == 0) | ||
| 2410 | mipDepth = 1; | ||
| 2411 | |||
| 2412 | *pWidth = mipWidth; | ||
| 2413 | if(pHeight) *pHeight = mipHeight; | ||
| 2414 | if(pDepth) *pDepth = mipDepth; | ||
| 2415 | } | ||
| 2416 | |||
| 2417 | //--------------------------------------------------------------------------------------------------------------------------------- | ||
| 2418 | // DX9VertexOrIndexFormat | ||
| 2419 | BOOL D3D12_PROPERTY_LAYOUT_FORMAT_TABLE::DX9VertexOrIndexFormat(DXGI_FORMAT Format) | ||
| 2420 | { | ||
| 2421 | return s_FormatDetail[D3D12_PROPERTY_LAYOUT_FORMAT_TABLE::GetDetailTableIndexThrow( Format )].bDX9VertexOrIndexFormat; | ||
| 2422 | } | ||
| 2423 | |||
| 2424 | //--------------------------------------------------------------------------------------------------------------------------------- | ||
| 2425 | // DX9TextureFormat | ||
| 2426 | BOOL D3D12_PROPERTY_LAYOUT_FORMAT_TABLE::DX9TextureFormat(DXGI_FORMAT Format) | ||
| 2427 | { | ||
| 2428 | return s_FormatDetail[D3D12_PROPERTY_LAYOUT_FORMAT_TABLE::GetDetailTableIndexThrow( Format )].bDX9TextureFormat; | ||
| 2429 | } | ||
| 2430 | //--------------------------------------------------------------------------------------------------------------------------------- | ||
| 2431 | // FloatNormTextureFormat | ||
| 2432 | BOOL D3D12_PROPERTY_LAYOUT_FORMAT_TABLE::FloatNormTextureFormat(DXGI_FORMAT Format) | ||
| 2433 | { | ||
| 2434 | return s_FormatDetail[D3D12_PROPERTY_LAYOUT_FORMAT_TABLE::GetDetailTableIndexThrow( Format )].bFloatNormFormat; | ||
| 2435 | } | ||
| 2436 | |||
| 2437 | //--------------------------------------------------------------------------------------------------------------------------------- | ||
| 2438 | // ValidCastToR32UAV | ||
| 2439 | // | ||
| 2440 | // D3D11 has a limitation on typed UAVs (e.g. Texture1D/2D/3D) whereby the only format that can be read is R32_*. Lots of formats | ||
| 2441 | // can be written though, with type conversion (e.g. R8G8B8A8_*). If an API user wants to do image processing in-place, in either | ||
| 2442 | // the Compute Shader or the Pixel Shader, the only format available is R32_* (since it can be read and written at the same time). | ||
| 2443 | // | ||
| 2444 | // We were able to allow resources (Texture1D/2D/3D), created with a format from a small set of families that have 32 bits per element | ||
| 2445 | // (such as R8G8B8A8_TYPELESS), to be cast to R32_* when creating a UAV. This means the Compute Shader or Pixel Shader can | ||
| 2446 | // do simultaneous read+write on the resource when bound as an R32_* UAV, with the caveat that the shader code has to do manual | ||
| 2447 | // type conversion manually, but later on the resource can be used as an SRV or RT as the desired type (e.g. R8G8B8A8_UNORM), and | ||
| 2448 | // thus have access to filtering/blending where the hardware knows what the format is. | ||
| 2449 | // | ||
| 2450 | // If we didn't have this ability to cast some formats to R32_* UAVs, applications would have to keep an extra allocation around | ||
| 2451 | // and do a rendering pass that copies from the R32_* UAV to whatever typed resource they really wanted. For formats not included | ||
| 2452 | // in this list, such as any format that doesn't have 32-bits per component, as well as some 32-bit per component formats like | ||
| 2453 | // R24G8 or R11G11B10_FLOAT there is no alternative for an application but to do the extra copy as mentioned, or avoid in-place | ||
| 2454 | // image editing in favor of ping-ponging between buffers with multiple passes. | ||
| 2455 | // | ||
| 2456 | bool D3D12_PROPERTY_LAYOUT_FORMAT_TABLE::ValidCastToR32UAV(DXGI_FORMAT from, DXGI_FORMAT to) | ||
| 2457 | { | ||
| 2458 | // Allow casting of 32 bit formats to R32_* | ||
| 2459 | if( | ||
| 2460 | ((to == DXGI_FORMAT_R32_UINT)||(to == DXGI_FORMAT_R32_SINT)||(to == DXGI_FORMAT_R32_FLOAT)) | ||
| 2461 | && | ||
| 2462 | ( | ||
| 2463 | (from == DXGI_FORMAT_R10G10B10A2_TYPELESS) || | ||
| 2464 | (from == DXGI_FORMAT_R8G8B8A8_TYPELESS) || | ||
| 2465 | (from == DXGI_FORMAT_B8G8R8A8_TYPELESS) || | ||
| 2466 | (from == DXGI_FORMAT_B8G8R8X8_TYPELESS) || | ||
| 2467 | (from == DXGI_FORMAT_R16G16_TYPELESS) || | ||
| 2468 | (from == DXGI_FORMAT_R32_TYPELESS) | ||
| 2469 | ) | ||
| 2470 | ) | ||
| 2471 | { | ||
| 2472 | return true; | ||
| 2473 | } | ||
| 2474 | return false; | ||
| 2475 | } | ||
| 2476 | |||
| 2477 | //--------------------------------------------------------------------------------------------------------------------------------- | ||
| 2478 | // IsSupportedTextureDisplayableFormat | ||
| 2479 | // | ||
| 2480 | // List of formats associated with Feature_D3D1XDisplayable | ||
| 2481 | bool D3D12_PROPERTY_LAYOUT_FORMAT_TABLE::IsSupportedTextureDisplayableFormat | ||
| 2482 | ( DXGI_FORMAT Format | ||
| 2483 | , bool bMediaFormatOnly | ||
| 2484 | ) | ||
| 2485 | { | ||
| 2486 | if (bMediaFormatOnly) | ||
| 2487 | { | ||
| 2488 | return (false | ||
| 2489 | || ( Format == DXGI_FORMAT_NV12 | ||
| 2490 | || Format == DXGI_FORMAT_YUY2 | ||
| 2491 | ) | ||
| 2492 | ); | ||
| 2493 | } | ||
| 2494 | else | ||
| 2495 | { | ||
| 2496 | return (false // eases evolution | ||
| 2497 | || ( Format == DXGI_FORMAT_B8G8R8A8_UNORM | ||
| 2498 | || Format == DXGI_FORMAT_R8G8B8A8_UNORM | ||
| 2499 | || Format == DXGI_FORMAT_R16G16B16A16_FLOAT | ||
| 2500 | || Format == DXGI_FORMAT_R10G10B10A2_UNORM | ||
| 2501 | || Format == DXGI_FORMAT_NV12 | ||
| 2502 | || Format == DXGI_FORMAT_YUY2 | ||
| 2503 | ) | ||
| 2504 | ); | ||
| 2505 | } | ||
| 2506 | } | ||
| 2507 | |||
| 2508 | //--------------------------------------------------------------------------------------------------------------------------------- | ||
| 2509 | bool D3D12_PROPERTY_LAYOUT_FORMAT_TABLE::FloatAndNotFloatFormats(DXGI_FORMAT FormatA, DXGI_FORMAT FormatB) | ||
| 2510 | { | ||
| 2511 | UINT NumComponents = GetMinNumComponentsInFormats(FormatA, FormatB); | ||
| 2512 | for (UINT c = 0; c < NumComponents; c++) | ||
| 2513 | { | ||
| 2514 | D3D_FORMAT_COMPONENT_INTERPRETATION fciA = GetFormatComponentInterpretation(FormatA, c); | ||
| 2515 | D3D_FORMAT_COMPONENT_INTERPRETATION fciB = GetFormatComponentInterpretation(FormatB, c); | ||
| 2516 | if ((fciA != fciB) && ((fciA == D3DFCI_FLOAT) || (fciB == D3DFCI_FLOAT))) | ||
| 2517 | { | ||
| 2518 | return true; | ||
| 2519 | } | ||
| 2520 | } | ||
| 2521 | return false; | ||
| 2522 | } | ||
| 2523 | |||
| 2524 | //--------------------------------------------------------------------------------------------------------------------------------- | ||
| 2525 | bool D3D12_PROPERTY_LAYOUT_FORMAT_TABLE::SNORMAndUNORMFormats(DXGI_FORMAT FormatA, DXGI_FORMAT FormatB) | ||
| 2526 | { | ||
| 2527 | UINT NumComponents = GetMinNumComponentsInFormats(FormatA, FormatB); | ||
| 2528 | for (UINT c = 0; c < NumComponents; c++) | ||
| 2529 | { | ||
| 2530 | D3D_FORMAT_COMPONENT_INTERPRETATION fciA = GetFormatComponentInterpretation(FormatA, c); | ||
| 2531 | D3D_FORMAT_COMPONENT_INTERPRETATION fciB = GetFormatComponentInterpretation(FormatB, c); | ||
| 2532 | if (((fciA == D3DFCI_SNORM) && (fciB == D3DFCI_UNORM)) || | ||
| 2533 | ((fciB == D3DFCI_SNORM) && (fciA == D3DFCI_UNORM))) | ||
| 2534 | { | ||
| 2535 | return true; | ||
| 2536 | } | ||
| 2537 | } | ||
| 2538 | return false; | ||
| 2539 | } | ||
| 2540 | |||
| 2541 | //--------------------------------------------------------------------------------------------------------------------------------- | ||
| 2542 | // Formats allowed by runtime for decode histogram. | ||
| 2543 | bool D3D12_PROPERTY_LAYOUT_FORMAT_TABLE::DecodeHistogramAllowedForOutputFormatSupport(DXGI_FORMAT Format) | ||
| 2544 | { | ||
| 2545 | return ( | ||
| 2546 | /* YUV 4:2:0 */ | ||
| 2547 | Format == DXGI_FORMAT_NV12 | ||
| 2548 | || Format == DXGI_FORMAT_P010 | ||
| 2549 | || Format == DXGI_FORMAT_P016 | ||
| 2550 | /* YUV 4:2:2 */ | ||
| 2551 | || Format == DXGI_FORMAT_YUY2 | ||
| 2552 | || Format == DXGI_FORMAT_Y210 | ||
| 2553 | || Format == DXGI_FORMAT_Y216 | ||
| 2554 | /* YUV 4:4:4 */ | ||
| 2555 | || Format == DXGI_FORMAT_AYUV | ||
| 2556 | || Format == DXGI_FORMAT_Y410 | ||
| 2557 | || Format == DXGI_FORMAT_Y416 | ||
| 2558 | ); | ||
| 2559 | } | ||
| 2560 | |||
| 2561 | //--------------------------------------------------------------------------------------------------------------------------------- | ||
| 2562 | // Formats allowed by runtime for decode histogram. Scopes to tested formats. | ||
| 2563 | bool D3D12_PROPERTY_LAYOUT_FORMAT_TABLE::MotionEstimatorAllowedInputFormat(DXGI_FORMAT Format) | ||
| 2564 | { | ||
| 2565 | return Format == DXGI_FORMAT_NV12; | ||
| 2566 | } | ||
| 2567 | |||
| 2568 | //--------------------------------------------------------------------------------------------------------------------------------- | ||
| 2569 | bool D3D12_PROPERTY_LAYOUT_FORMAT_TABLE::SupportsDepth(DXGI_FORMAT Format) | ||
| 2570 | { | ||
| 2571 | // If the number of bits associated with depth in the format is greater then 0, then the format supports depth | ||
| 2572 | return (GetComponentName(Format, 0) == D3DFCN_D); | ||
| 2573 | } | ||
| 2574 | |||
| 2575 | //--------------------------------------------------------------------------------------------------------------------------------- | ||
| 2576 | bool D3D12_PROPERTY_LAYOUT_FORMAT_TABLE::SupportsStencil(DXGI_FORMAT Format) | ||
| 2577 | { | ||
| 2578 | // If the number of bits associated with stencil in the format is greater then 0, then the format supports stencil | ||
| 2579 | return GetBitsPerStencil(Format) > 0; | ||
| 2580 | } | ||
| 2581 | |||
| 2582 | #undef R | ||
| 2583 | #undef G | ||
| 2584 | #undef B | ||
| 2585 | #undef A | ||
| 2586 | #undef D | ||
| 2587 | #undef S | ||
| 2588 | #undef X | ||
| 2589 | |||
| 2590 | #undef _TYPELESS | ||
| 2591 | #undef _FLOAT | ||
| 2592 | #undef _SNORM | ||
| 2593 | #undef _UNORM | ||
| 2594 | #undef _SINT | ||
| 2595 | #undef _UINT | ||
| 2596 | #undef _UNORM_SRGB | ||
| 2597 | #undef _FIXED_2_8 | ||
| 2598 | |||
| 2599 | #endif // D3D12_SDK_VERSION >= 606 | ||
| 2600 | |||
| 2601 | |||
diff --git a/contrib/microsoft.direct3d.d3d12.1.618.4/distributable files.txt b/contrib/microsoft.direct3d.d3d12.1.618.4/distributable files.txt new file mode 100644 index 0000000..0bab1bf --- /dev/null +++ b/contrib/microsoft.direct3d.d3d12.1.618.4/distributable files.txt | |||
| @@ -0,0 +1,5 @@ | |||
| 1 | You may distribute the following files: | ||
| 2 | |||
| 3 | D3D12Core.dll | ||
| 4 | d3d12SDKLayers.dll | ||
| 5 | d3dconfig.exe | ||
diff --git a/contrib/microsoft.direct3d.d3d12.1.618.4/icon.png b/contrib/microsoft.direct3d.d3d12.1.618.4/icon.png new file mode 100644 index 0000000..b217335 --- /dev/null +++ b/contrib/microsoft.direct3d.d3d12.1.618.4/icon.png | |||
| Binary files differ | |||
diff --git a/contrib/microsoft.direct3d.d3d12.1.618.4/package/services/metadata/core-properties/20c8cfa303e54def8eaf74afbcdc6295.psmdcp b/contrib/microsoft.direct3d.d3d12.1.618.4/package/services/metadata/core-properties/20c8cfa303e54def8eaf74afbcdc6295.psmdcp new file mode 100644 index 0000000..c7bacda --- /dev/null +++ b/contrib/microsoft.direct3d.d3d12.1.618.4/package/services/metadata/core-properties/20c8cfa303e54def8eaf74afbcdc6295.psmdcp | |||
| @@ -0,0 +1,9 @@ | |||
| 1 | <?xml version="1.0" encoding="utf-8"?> | ||
| 2 | <coreProperties xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:dcterms="http://purl.org/dc/terms/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.openxmlformats.org/package/2006/metadata/core-properties"> | ||
| 3 | <dc:creator>Microsoft</dc:creator> | ||
| 4 | <dc:description>DirectX 12 Agility SDK</dc:description> | ||
| 5 | <dc:identifier>Microsoft.Direct3D.D3D12</dc:identifier> | ||
| 6 | <version>1.618.4</version> | ||
| 7 | <keywords>DirectX Direct3D D3D12 Direct3D12 DirectX12 Agility</keywords> | ||
| 8 | <lastModifiedBy>NuGet, Version=6.4.0.123, Culture=neutral, PublicKeyToken=31bf3856ad364e35;Microsoft Windows NT 10.0.20348.0;.NET Framework 4.7.2</lastModifiedBy> | ||
| 9 | </coreProperties> \ No newline at end of file | ||
