From 5fdcbe64718a308af7b694c9632715dba8055496 Mon Sep 17 00:00:00 2001 From: Dmytro Bulatov Date: Fri, 16 Jan 2026 16:32:40 +0900 Subject: [PATCH] Fixed feature search in feature table --- source/frontend/assets/js/website_feature_table.mjs | 2 +- source/website/feature_table.js | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/source/frontend/assets/js/website_feature_table.mjs b/source/frontend/assets/js/website_feature_table.mjs index c155059..dfa404c 100644 --- a/source/frontend/assets/js/website_feature_table.mjs +++ b/source/frontend/assets/js/website_feature_table.mjs @@ -441,7 +441,7 @@ function AddRow(tbody, featureName, featureShortName, archTooltipAlignments) { // Filter out features based on Globals.PropertiesSearchString let featureNameLowercase = featureName.toLowerCase(); - let featureNameShortLowercase = featureName.toLowerCase(); + let featureNameShortLowercase = featureShortName.toLowerCase(); let searchStringLowercase = Globals.PropertiesSearchString.toLowerCase(); let propertyAllowList = ["TableReleaseDate", "TableMarketShare"]; let searchTest = diff --git a/source/website/feature_table.js b/source/website/feature_table.js index ba7eae4..2ee60db 100644 --- a/source/website/feature_table.js +++ b/source/website/feature_table.js @@ -1 +1 @@ -"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[934],{551:(e,t,r)=>{r.d(t,{A:()=>s});var n=r(601),a=r.n(n),i=r(314),o=r.n(i)()(a());o.push([e.id,'body {\n min-width:fit-content;\n}\n\n.FeatureTable {\n font-family: "Roboto", sans-serif;\n}\n\n.FeatureTable thead {\n position: sticky;\n top: 0;\n z-index: 2;\n}\n\n.FeatureTable thead tr {\n background-color: #00000000;\n}\n\n.FeatureTableFilterContainer {\n max-width: 2100px;\n margin: 0 auto;\n}\n\ntd {\n white-space: pre-wrap;\n}\n\n.FeatureHeader {\n text-align: center;\n min-width: 14em;\n}\n\nth,\n.FeatureHeader {\n font-weight: 600;\n}\n\nth,\ntd {\n border-width: 1px;\n border-style: solid;\n border-color: #7f7f7f;\n}\n\ntd {\n text-align: center;\n padding: 2px 4px;\n min-width: 4.5em;\n}\n\ntr:nth-of-type(odd) {\n background-color: #00000010;\n}\n\ntd:nth-of-type(even) {\n background-color: #00000010;\n}\n\ntable {\n border-collapse: collapse;\n margin: auto;\n}\n\ncolgroup {\n border-inline-end-width: 2px;\n border-inline-end-style: solid;\n border-inline-end-color: #7f7f7f;\n}\n\n/* sticky table headers */\nth {\n position: sticky !important;\n}\n\n/* row of headers with vendor names */\nthead>tr:first-of-type>th {\n top: -1px;\n /* first row sticks to the top of the screen */\n border-bottom: none;\n}\n\n/* row of headers with architecture names */\nthead>tr:nth-of-type(2)>th {\n top: 1.3em;\n /* second row sticks right below first row */\n border-top: none;\n border-bottom-width: 2px;\n border-bottom-style: solid;\n padding-inline: 0.3em;\n /* separate arch names a little */\n}\n\n#FilterContainer {\n display: flex;\n}\n\n.tooltip {\n position: relative;\n}\n\n.tooltiptext {\n visibility: hidden;\n background-color: #FFFFFF;\n text-align: left;\n border-radius: 0.4em;\n border-color: #7f7f7f;\n border-style: solid;\n border-width: 0.1em;\n padding: 0.3em;\n position: absolute;\n z-index: 3;\n opacity: 0;\n transition: opacity 150ms ease-in, visibility 0ms ease-in 150ms;\n bottom: 100%;\n}\n\n.tooltip:hover .tooltiptext {\n visibility: visible;\n opacity: 1;\n transition-delay: 0ms;\n}\n\n.white_space_pre {\n white-space: pre;\n}\n\n\n@media (prefers-color-scheme: dark) {\n\n th,\n td {\n border-color: #8c8c8c;\n }\n\n colgroup {\n border-inline-end-color: #8c8c8c;\n }\n\n table,\n fieldset {\n border-color: #8c8c8c;\n background-color: #2d2d2d;\n }\n\n\n tr:nth-of-type(1) {\n background-color: #262626;\n }\n\n td {\n border-color: #FFFFFF33;\n }\n\n tr:nth-of-type(odd) {\n background-color: #00000020;\n }\n\n td:nth-of-type(even) {\n background-color: #00000020;\n }\n\n .tooltiptext {\n background-color: #000000;\n border-color: #8c8c8c;\n }\n\n}',""]);const s=o},314:e=>{e.exports=function(e){var t=[];return t.toString=function(){return this.map((function(t){var r="",n=void 0!==t[5];return t[4]&&(r+="@supports (".concat(t[4],") {")),t[2]&&(r+="@media ".concat(t[2]," {")),n&&(r+="@layer".concat(t[5].length>0?" ".concat(t[5]):""," {")),r+=e(t),n&&(r+="}"),t[2]&&(r+="}"),t[4]&&(r+="}"),r})).join("")},t.i=function(e,r,n,a,i){"string"==typeof e&&(e=[[null,e,void 0]]);var o={};if(n)for(var s=0;s0?" ".concat(l[5]):""," {").concat(l[1],"}")),l[5]=i),r&&(l[2]?(l[1]="@media ".concat(l[2]," {").concat(l[1],"}"),l[2]=r):l[2]=r),a&&(l[4]?(l[1]="@supports (".concat(l[4],") {").concat(l[1],"}"),l[4]=a):l[4]="".concat(a)),t.push(l))}},t}},601:e=>{e.exports=function(e){return e[1]}},72:e=>{var t=[];function r(e){for(var r=-1,n=0;n{var t={};e.exports=function(e,r){var n=function(e){if(void 0===t[e]){var r=document.querySelector(e);if(window.HTMLIFrameElement&&r instanceof window.HTMLIFrameElement)try{r=r.contentDocument.head}catch(e){r=null}t[e]=r}return t[e]}(e);if(!n)throw new Error("Couldn't find a style target. This probably means that the value for the 'insert' parameter is invalid.");n.appendChild(r)}},540:e=>{e.exports=function(e){var t=document.createElement("style");return e.setAttributes(t,e.attributes),e.insert(t,e.options),t}},56:(e,t,r)=>{e.exports=function(e){var t=r.nc;t&&e.setAttribute("nonce",t)}},825:e=>{e.exports=function(e){if("undefined"==typeof document)return{update:function(){},remove:function(){}};var t=e.insertStyleElement(e);return{update:function(r){!function(e,t,r){var n="";r.supports&&(n+="@supports (".concat(r.supports,") {")),r.media&&(n+="@media ".concat(r.media," {"));var a=void 0!==r.layer;a&&(n+="@layer".concat(r.layer.length>0?" ".concat(r.layer):""," {")),n+=r.css,a&&(n+="}"),r.media&&(n+="}"),r.supports&&(n+="}");var i=r.sourceMap;i&&"undefined"!=typeof btoa&&(n+="\n/*# sourceMappingURL=data:application/json;base64,".concat(btoa(unescape(encodeURIComponent(JSON.stringify(i))))," */")),t.styleTagTransform(n,e,t.options)}(t,e,r)},remove:function(){!function(e){if(null===e.parentNode)return!1;e.parentNode.removeChild(e)}(t)}}}},113:e=>{e.exports=function(e,t){if(t.styleSheet)t.styleSheet.cssText=e;else{for(;t.firstChild;)t.removeChild(t.firstChild);t.appendChild(document.createTextNode(e))}}},7:(e,t,r)=>{var n=r(72),a=r.n(n),i=r(825),o=r.n(i),s=r(659),D=r.n(s),d=r(56),l=r.n(d),c=r(540),p=r.n(c),A=r(113),_=r.n(A),T=r(551),u={};u.styleTagTransform=_(),u.setAttributes=l(),u.insert=D().bind(null,"head"),u.domAPI=o(),u.insertStyleElement=p(),a()(T.A,u),T.A&&T.A.locals&&T.A.locals;var E=r(619),S=r(878);const h={TableReleaseDate:"Release Date",TableMarketShare:"Market Share",TableNumReports:"Number of reports",TableReportUsed:"Report used for feature data",TableD3d12InfoVersion:"D3d12info version","D3D12_FEATURE_DATA_FEATURE_LEVELS.MaxSupportedFeatureLevel":"Feature level","D3D12_FEATURE_DATA_SHADER_MODEL.HighestShaderModel":"Shader model","D3D12_FEATURE_DATA_D3D12_OPTIONS5.RaytracingTier":"Raytracing","D3D12_FEATURE_DATA_D3D12_OPTIONS7.MeshShaderTier":"Mesh shaders","D3D12_FEATURE_DATA_D3D12_OPTIONS21.WorkGraphsTier":"Work graphs","D3D12_FEATURE_DATA_D3D12_OPTIONS7.SamplerFeedbackTier":"Sampler feedback","D3D12_FEATURE_DATA_D3D12_OPTIONS21.ExecuteIndirectTier":"Execute indirect","D3D12_FEATURE_DATA_D3D12_OPTIONS.ConservativeRasterizationTier":"Conservative rasterization","D3D12_FEATURE_DATA_D3D12_OPTIONS16.GPUUploadHeapSupported":"GPU upload heaps","D3D12_FEATURE_DATA_D3D12_OPTIONS12.EnhancedBarriersSupported":"Enhanced barriers","D3D12_FEATURE_DATA_TIGHT_ALIGNMENT.SupportTier":"Tight alignment","D3D12_FEATURE_DATA_D3D12_OPTIONS6.VariableShadingRateTier":"Variable-rate shading","D3D12_FEATURE_DATA_D3D12_OPTIONS6.AdditionalShadingRatesSupported":"Additional shading rates","D3D12_FEATURE_DATA_D3D12_OPTIONS6.ShadingRateImageTileSize":"Shading-rate image tile size","D3D12_FEATURE_DATA_D3D12_OPTIONS6.PerPrimitiveShadingRateSupportedWithViewportIndexing":"Per-primitive shading rate with viewport indexing","D3D12_FEATURE_DATA_D3D12_OPTIONS10.VariableRateShadingSumCombinerSupported":"VRS sum combiner","D3D12_FEATURE_DATA_D3D12_OPTIONS10.MeshShaderPerPrimitiveShadingRateSupported":"Mesh shader per-primitive shading rate","D3D12_FEATURE_DATA_D3D12_OPTIONS3.BarycentricsSupported":"Barycentrics",Table_R9G9B9E5_RTV_UAV:"R9G9B9E5 RTV/UAV support",Table_R9G9B9E5_Display:"R9G9B9E5 Display support","D3D12_FEATURE_DATA_D3D12_OPTIONS9.WaveMMATier":"WaveMMA (wave_matrix)","D3D12_FEATURE_DATA_D3D12_OPTIONS1.WaveLaneCountMin":"Wave lane count min","D3D12_FEATURE_DATA_D3D12_OPTIONS1.WaveLaneCountMax":"Wave lane count max","D3D12_FEATURE_DATA_D3D12_OPTIONS14.WriteableMSAATexturesSupported":"Writeable MSAA textures","D3D12_FEATURE_DATA_GPU_VIRTUAL_ADDRESS_SUPPORT.MaxGPUVirtualAddressBitsPerResource":"Per-resource virtual addressing","D3D12_FEATURE_DATA_GPU_VIRTUAL_ADDRESS_SUPPORT.MaxGPUVirtualAddressBitsPerProcess":"Per-process virtual addressing","D3D12_FEATURE_DATA_D3D12_OPTIONS5.RenderPassesTier":"Render passes","D3D12_FEATURE_DATA_ARCHITECTURE1.TileBasedRenderer":"Tile-based renderer","D3D12_FEATURE_DATA_D3D12_OPTIONS.ResourceHeapTier":"Resource heap","D3D12_FEATURE_DATA_D3D12_OPTIONS.ResourceBindingTier":"Resource binding","D3D12_FEATURE_DATA_D3D12_OPTIONS.TiledResourcesTier":"Tiled resources","D3D12_FEATURE_DATA_D3D12_OPTIONS5.SRVOnlyTiledResourceTier3":"SRV-only tiled resource tier 3","D3D12_FEATURE_DATA_D3D12_OPTIONS.MinPrecisionSupport":"Min-precision support","D3D12_FEATURE_DATA_D3D12_OPTIONS4.Native16BitShaderOpsSupported":"Native 16-bit shader ops","D3D12_FEATURE_DATA_D3D12_OPTIONS.DoublePrecisionFloatShaderOps":"64-bit float shader ops","D3D12_FEATURE_DATA_D3D12_OPTIONS1.Int64ShaderOps":"64-bit int shader ops","D3D12_FEATURE_DATA_D3D12_OPTIONS9.AtomicInt64OnTypedResourceSupported":"64-bit int atomics on typed resource","D3D12_FEATURE_DATA_D3D12_OPTIONS9.AtomicInt64OnGroupSharedSupported":"64-bit int atomics on group shared","D3D12_FEATURE_DATA_D3D12_OPTIONS11.AtomicInt64OnDescriptorHeapResourceSupported":"64-bit int atomics on descriptor heap resources","D3D12_FEATURE_DATA_D3D12_OPTIONS9.DerivativesInMeshAndAmplificationShadersSupported":"Derivatives in mesh and amplification shaders","D3D12_FEATURE_DATA_D3D12_OPTIONS6.BackgroundProcessingSupported":"Background processing","D3D12_FEATURE_DATA_BYTECODE_BYPASS_HASH_SUPPORTED.Supported":"Bytecode bypass hash","D3D12_FEATURE_DATA_D3D12_OPTIONS19.MaxSamplerDescriptorHeapSize":"Max sampler heap size","D3D12_FEATURE_DATA_D3D12_OPTIONS19.MaxSamplerDescriptorHeapSizeWithStaticSamplers":"Max sampler heap size with static samplers","D3D12_FEATURE_DATA_D3D12_OPTIONS19.MaxViewDescriptorHeapSize":"Max view descriptor heap size","D3D12_FEATURE_DATA_D3D12_OPTIONS8.UnalignedBlockTexturesSupported":"Unaligned block textures","D3D12_FEATURE_DATA_D3D12_OPTIONS12.MSPrimitivesPipelineStatisticIncludesCulledPrimitives":"MSPrimitives pipeline statistic includes culled primitives","D3D12_FEATURE_DATA_D3D12_OPTIONS12.RelaxedFormatCastingSupported":"Relaxed format casting","D3D12_FEATURE_DATA_D3D12_OPTIONS.PSSpecifiedStencilRefSupported":"PS-specified StencilRef","D3D12_FEATURE_DATA_D3D12_OPTIONS2.ProgrammableSamplePositionsTier":"Programmable sample positions","D3D12_FEATURE_DATA_D3D12_OPTIONS13.AlphaBlendFactorSupported":"Alpha blend factor","D3D12_FEATURE_DATA_D3D12_OPTIONS14.IndependentFrontAndBackStencilRefMaskSupported":"Independent front & back StencilRef mask","D3D12_FEATURE_DATA_D3D12_OPTIONS17.NonNormalizedCoordinateSamplersSupported":"Non-normalized coordinate samplers","D3D12_FEATURE_DATA_D3D12_OPTIONS3.ViewInstancingTier":"View instancing","D3D12_FEATURE_DATA_D3D12_OPTIONS19.SupportedSampleCountsWithNoOutputs":"MSAA sample counts with no outputs","D3D12_FEATURE_DATA_D3D12_OPTIONS21.SampleCmpGradientAndBiasSupported":"SampleCmp gradient and bias","D3D12_FEATURE_DATA_D3D12_OPTIONS21.ExtendedCommandInfoSupported":"Extended command info","D3D12_FEATURE_DATA_D3D12_OPTIONS.ROVsSupported":"Rasterizer-ordered views","D3D12_FEATURE_DATA_D3D12_OPTIONS2.DepthBoundsTestSupported":"Depth-bounds test","D3D12_FEATURE_DATA_D3D12_OPTIONS3.CopyQueueTimestampQueriesSupported":"Copy queue timestamp queries","D3D12_FEATURE_DATA_D3D12_OPTIONS3.WriteBufferImmediateSupportFlags":"WriteBufferImmediate command list support","D3D12_FEATURE_DATA_D3D12_OPTIONS9.MeshShaderSupportsFullRangeRenderTargetArrayIndex":"Mesh shader full range RT array index","D3D12_FEATURE_DATA_D3D12_OPTIONS13.UnrestrictedBufferTextureCopyPitchSupported":"Unrestricted buffer-texture copy pitch","D3D12_FEATURE_DATA_D3D12_OPTIONS13.UnrestrictedVertexElementAlignmentSupported":"Unrestricted vertex element alignment","D3D12_FEATURE_DATA_D3D12_OPTIONS13.InvertedViewportHeightFlipsYSupported":"Inverted viewport height flips Y","D3D12_FEATURE_DATA_D3D12_OPTIONS13.InvertedViewportDepthFlipsZSupported":"Inverted viewport depth flips Z","D3D12_FEATURE_DATA_D3D12_OPTIONS13.TextureCopyBetweenDimensionsSupported":"Texture copy between dimensions","D3D12_FEATURE_DATA_D3D12_OPTIONS14.AdvancedTextureOpsSupported":"Advanced texture ops","D3D12_FEATURE_DATA_D3D12_OPTIONS15.TriangleFanSupported":"Triangle fans","D3D12_FEATURE_DATA_D3D12_OPTIONS15.DynamicIndexBufferStripCutSupported":"Dynamic index buffer strip cut","D3D12_FEATURE_DATA_D3D12_OPTIONS16.DynamicDepthBiasSupported":"Dynamic depth bias","D3D12_FEATURE_DATA_D3D12_OPTIONS19.MismatchingOutputDimensionsSupported":"Mismatching output dimensions","D3D12_FEATURE_DATA_D3D12_OPTIONS19.PointSamplingAddressesNeverRoundUp":"Point sampling addresses never round up","D3D12_FEATURE_DATA_D3D12_OPTIONS19.NarrowQuadrilateralLinesSupported":"Narrow quadrilateral lines","D3D12_FEATURE_DATA_D3D12_OPTIONS19.AnisoFilterWithPointMipSupported":"Aniso filter with point mip","D3D12_FEATURE_DATA_ARCHITECTURE1.IsolatedMMU":"Isolated MMU","D3D12_FEATURE_DATA_SERIALIZATION.HeapSerializationTier":"Heap serialization","D3D12_FEATURE_DATA_D3D12_OPTIONS.StandardSwizzle64KBSupported":"64KB standard swizzle textures","D3D12_FEATURE_DATA_D3D12_OPTIONS.CrossAdapterRowMajorTextureSupported":"Cross-adapter row-major textures","D3D12_FEATURE_DATA_CROSS_NODE.SharingTier":"Cross-node sharing","D3D12_FEATURE_DATA_CROSS_NODE.AtomicShaderInstructions":"Cross-node atomics","D3D12_FEATURE_DATA_D3D12_OPTIONS1.WaveOps":"Wave ops","D3D12_FEATURE_DATA_D3D12_OPTIONS.OutputMergerLogicOp":"Output merger logic ops","D3D12_FEATURE_DATA_D3D12_OPTIONS3.CastingFullyTypedFormatSupported":"Casting fully typed formats","D3D12_FEATURE_DATA_D3D12_OPTIONS.TypedUAVLoadAdditionalFormats":"Typed UAV loads for additional formats","D3D12_FEATURE_DATA_D3D12_OPTIONS.VPAndRTArrayIndexFromAnyShaderFeedingRasterizerSupportedWithoutGSEmulation":"VP & RT array index without GS emulation","D3D12_FEATURE_DATA_D3D12_OPTIONS4.MSAA64KBAlignedTextureSupported":"64KB-aligned MSAA textures","D3D12_FEATURE_DATA_D3D12_OPTIONS4.SharedResourceCompatibilityTier":"Shared resources compatibility","D3D12_FEATURE_DATA_D3D12_OPTIONS9.MeshShaderPipelineStatsSupported":"Mesh shader pipeline stats","D3D12_FEATURE_DATA_EXISTING_HEAPS.Supported":"Heaps from existing memory","D3D12_FEATURE_DATA_D3D12_OPTIONS20.RecreateAtTier":"Recreate resource at pointer","D3D12_FEATURE_DATA_D3D12_OPTIONS20.ComputeOnlyWriteWatchSupported":"Compute-only write watch","D3D12_FEATURE_DATA_D3D12_OPTIONS19.ComputeOnlyCustomHeapSupported":"Compute-only custom heap","D3D12_FEATURE_DATA_D3D12_OPTIONS19.RasterizerDesc2Supported":"RASTERIZER_DESC2 supported","D3D12_FEATURE_DATA_D3D12_OPTIONS18.RenderPassesValid":"Render passes valid","D3D12_FEATURE_DATA_ROOT_SIGNATURE.HighestVersion":"Root signature version","D3D12_FEATURE_DATA_D3D12_OPTIONS1.ExpandedComputeResourceStates":"Expanded compute resource states"};var I=r(185),m=r(568),f=r(924),R=r(480),O=r(141);let F=[],P=null;const N={alignOutsideHorizontal:!1,alignOutsideVertical:!1,preferTowardsBottom:!1,tooltipAlignment:.5};function G(e,t,r){let n=Object.assign({},N);for(let[e,t]of Object.entries(n))r.hasOwnProperty(e)&&(n[e]=r[e]);e.classList.add("tooltip");const a=document.createElement("span");return a.className="tooltiptext white_space_pre tooltiptext",a.style=`left: ${100*n.tooltipAlignment}%;transform: translateX(-${100*n.tooltipAlignment}%);`,a.textContent=t,e.appendChild(a),a}function g(e){if(!I.A.VendorFilter[e])return!1;for(let t of O.hp[e]){let e=S.Vz[t]??9999;if(I.A.ArchAgeFilter<=e)return!0}return!1}function U(e){let t=0;for(let r of O.hp[e]){let e=S.Vz[r]??9999;I.A.ArchAgeFilter<=e&&t++}return t}function v(){let e=0;for(let[t,r]of Object.entries(O.hp))for(let t of r){let r=S.Vz[t]??9999;I.A.ArchAgeFilter<=r&&e++}return e}function V(e,t){let r=I.A.VendorFilter[e],n=S.Vz[t];return null==n&&(n="9999"),r&&I.A.ArchAgeFilter<=n}function b(e,t,r,n,a){let i=document.createElement("td");i.appendChild(function(e){let t=document.createElement("span");return t.textContent=e,"N/A"==e&&(t.style.fontStyle="italic",t.style.color="#888888"),t}(e)),a&&(i.scope="colgroup",i.colSpan=a),t.appendChild(i),r&&G(i,r,{alignOutsideVertical:!0,tooltipAlignment:n})}function y(e,t,r,n){if(function(e,t,r,n){if("TableReleaseDate"==r){let r,a=S.Vz[t];return null==a&&(a="Unknown"),"WARP"==t&&(a="N/A",r="WARP is a software rasterizer that continues to receive updates over time.\nComparing its initial release date (2015) to the release dates of hardware GPUs,\nwhich cannot gain new features after release, is not meaningful."),b(a,e,r,n),!0}if("TableNumReports"==r)return b(O.BP.get(t).length,e),!0;if("TableMarketShare"==r){document.createElement("td");let r,a=E.A[t];return"WARP"==t?(a="N/A",r="WARP is a software rasterizer, not a hardware GPU.\nIt doesn't have a market share and not in Steam Hardware Survey."):a=null==a?"~0%":Math.round(1e4*a)/100+"%",b(a,e,r,n),!0}if("TableReportUsed"==r){let r=O.Es.get(t),n=document.createElement("td"),a=document.createElement("a");return a.href=`ID.html?ID=${r.ID}`,a.append(r.ID),n.appendChild(a),e.appendChild(n),!0}if("Table_R9G9B9E5_RTV_UAV"==r){let r=O.Es.get(t);if(null==r.Formats)return b("❓",e),!0;let n=r.Formats[67];return null==n?(b("❓",e),!0):(b(16384&n.Support1?S.GG[1]:S.GG[0],e),!0)}if("Table_R9G9B9E5_Display"==r){let r=O.Es.get(t);if(null==r.Formats)return b("❓",e),!0;let n=r.Formats[67];return null==n?(b("❓",e),!0):(b(524288&n.Support1?S.GG[1]:S.GG[0],e),!0)}return"TableD3d12InfoVersion"==r&&(b(O.Es.get(t).Header.Version,e),!0)}(e,t,r,n))return;let a=O.Es.get(t),i=F.find((e=>e.GetField("ID")==a.ID)).GetField(r);(function(e,t,r,n,a,i,o){if("D3D12_FEATURE_DATA_D3D12_OPTIONS16.GPUUploadHeapSupported"==r){if("WARP"==t)return b(S.GG[1],e),!0;for(let r of O.BP.get(t))if("WARP"!=t&&r.D3D12_FEATURE_DATA_D3D12_OPTIONS16.GPUUploadHeapSupported)return b(S.GG[1]+"*",e,"GPU Upload Heap support depends on BIOS settings and Windows version.\nSame GPU may report different values depending on the system.",o),!0;return b(S.GG[0],e),!0}return"D3D12_FEATURE_DATA_D3D12_OPTIONS6.ShadingRateImageTileSize"!=r&&"D3D12_FEATURE_DATA_D3D12_OPTIONS6.AdditionalShadingRatesSupported"!=r&&"D3D12_FEATURE_DATA_D3D12_OPTIONS6.PerPrimitiveShadingRateSupportedWithViewportIndexing"!=r&&"D3D12_FEATURE_DATA_D3D12_OPTIONS10.VariableRateShadingSumCombinerSupported"!=r&&"D3D12_FEATURE_DATA_D3D12_OPTIONS10.MeshShaderPerPrimitiveShadingRateSupported"!=r||0!=a.D3D12_FEATURE_DATA_D3D12_OPTIONS6.VariableShadingRateTier?"D3D12_FEATURE_DATA_D3D12_OPTIONS6.ShadingRateImageTileSize"==r&&1==a.D3D12_FEATURE_DATA_D3D12_OPTIONS6.VariableShadingRateTier?(b("N/A",e,"VRS Tier 2 is required for shading rate image support.",o),!0):"D3D12_FEATURE_DATA_D3D12_OPTIONS6.PerPrimitiveShadingRateSupportedWithViewportIndexing"!=r&&"D3D12_FEATURE_DATA_D3D12_OPTIONS10.VariableRateShadingSumCombinerSupported"!=r&&"D3D12_FEATURE_DATA_D3D12_OPTIONS10.MeshShaderPerPrimitiveShadingRateSupported"!=r||1!=a.D3D12_FEATURE_DATA_D3D12_OPTIONS6.VariableShadingRateTier?"D3D12_FEATURE_DATA_D3D12_OPTIONS5.SRVOnlyTiledResourceTier3"==r&&a.D3D12_FEATURE_DATA_D3D12_OPTIONS.TiledResourcesTier>=3?(b("N/A",e,"SRVOnlyTiledResourceTier3 is always true\nif TiledResourcesTier >= 3.",o),!0):"D3D12_FEATURE_DATA_D3D12_OPTIONS5.RaytracingTier"==r&&"Pascal"==t?(b("❌ *",e,"Pascal cards with >= 6GB of VRAM have software emulated Tier 1.0. Pascal cards with < 6GB of VRAM have no support at all.",o),!0):"D3D12_FEATURE_DATA_D3D12_OPTIONS5.RaytracingTier"==r&&"Turing 16"==t?(b("❌ *",e,"GTX 16xx series cards with >= 6GB of VRAM have software emulated Tier 1.0. GTX 16xx series cards with < 6GB of VRAM have no support at all.",o),!0):"D3D12_FEATURE_DATA_D3D12_OPTIONS5.RaytracingTier"==r&&"X1"==t?(b("❌ *",e,"X1 supports ray query in hardware,\nbut this capability is not exposed in D3D12,\nsince DXR Tier 1.0 requires callable shaders,\nwhich are unsupported on X1.",o),!0):"D3D12_FEATURE_DATA_D3D12_OPTIONS7.MeshShaderTier"==r&&"RDNA2"==t?(b(S.GG[1]+"*",e,"RDNA2 iGPUs with 1 WGP don't have mesh shader support",o),!0):"D3D12_FEATURE_DATA_D3D12_OPTIONS12.MSPrimitivesPipelineStatisticIncludesCulledPrimitives"==r&&0==a.D3D12_FEATURE_DATA_D3D12_OPTIONS7.MeshShaderTier&&(b("N/A",e,"It is only relevant if Mesh Shaders are supported.",o),!0):(b("N/A",e,"VRS Tier 2 is required for this capability.",o),!0):(b("N/A",e,"VRS capabilities are only relevant if VRS is supported.",o),!0)})(e,t,r,0,a,0,n)||b(f.iT(r,i),e)}function C(e,t,r,n){let a=document.createElement("tr"),i=t.toLowerCase(),o=t.toLowerCase(),s=I.A.PropertiesSearchString.toLowerCase();if(!(""==s||i.includes(s)||o.includes(s)||["TableReleaseDate","TableMarketShare"].includes(t)))return;let D=document.createElement("td");if(D.classList.add("FeatureHeader"),D.append(r),D.scope="row",t.startsWith("Table")?"TableMarketShare"==t&&G(D,"Market share in the Steam Hardware Survey among DirectX 12 Systems.\nThis is an underestimate and may not be very accurate in general.",{alignOutsideVertical:!0,tooltipAlignment:0}):G(D,t,{alignOutsideVertical:!0,tooltipAlignment:0}),a.appendChild(D),function(e,t){return"D3D12_FEATURE_DATA_D3D12_OPTIONS19.RasterizerDesc2Supported"==t||"D3D12_FEATURE_DATA_D3D12_OPTIONS18.RenderPassesValid"==t?(b("Always supported *",e,"Starting with Agility SDK 1.610.0, it is always supported, independently of GPU or driver.",.5,v()),!0):"D3D12_FEATURE_DATA_ROOT_SIGNATURE.HighestVersion"==t?(b("1.2 *",e,"Starting with Agility SDK 1.610.0, Root Signature 1.2 is always supported, independently of GPU or driver.",.5,v()),!0):"D3D12_FEATURE_DATA_D3D12_OPTIONS1.ExpandedComputeResourceStates"==t&&(b("Always supported *",e,"Starting with Windows 10 version 1607, it is always supported, independently of GPU or driver.\nAll currently supported Windows versions are newer than Windows 10 version 1607.",.5,v()),!0)}(a,t))e.appendChild(a);else for(let[r,i]of Object.entries(O.hp)){for(let e of i)V(r,e)&&y(a,e,t,n.get(e));e.appendChild(a)}}function w(){const e=document.getElementById("FeatureTable");m.E(e);let t=document.createElement("table");e.appendChild(t),m.E(t);let r=function(){let e=new Map,t=1;for(let[e,r]of Object.entries(O.hp))for(let n of r)V(e,n)&&++t;let r=0;for(let[n,a]of Object.entries(O.hp))for(let i of a)V(n,i)&&(++r,e.set(i,r/(t-1)));return e}();!function(e,t){let r=document.createElement("thead"),n=document.createElement("tr"),a=document.createElement("tr");n.appendChild(document.createElement("th")),a.appendChild(document.createElement("th"));let i=document.createElement("colgroup");e.appendChild(i);for(let[r,i]of Object.entries(O.hp)){if(0==i.size)continue;if(!g(r))continue;let o=document.createElement("th");o.append(r),o.className=r,o.scope="colgroup",o.colSpan=U(r),n.appendChild(o);let s=document.createElement("colgroup");s.span=o.colSpan,e.appendChild(s);for(let e of i){if(!V(r,e))continue;let n=document.createElement("th");n.append(e),n.className=r,n.scope="col",a.appendChild(n);let i="",o=Array.from(O.f4.get(e)).sort();for(let e of o)i+=e+"\n";G(n,i,{alignOutsideVertical:!0,preferTowardsBottom:!0,tooltipAlignment:t.get(e)})}}r.appendChild(n),r.appendChild(a),e.appendChild(r)}(t,r),function(e,t){let r=document.createElement("tbody");for(let[e,n]of Object.entries(h))C(r,e,n,t);e.appendChild(r)}(t,r)}window.addEventListener("DOMContentLoaded",(function(){window.addEventListener("keydown",(function(e){if(null==P||document.activeElement==P)return;let t=!1;t=t||"F3"===e.key,t=t||"F"===e.key.toUpperCase()&&e.ctrlKey,t&&(e.preventDefault(),P.focus())}));const e=document.getElementById("FeatureTable"),t=document.createElement("div"),r=document.createTextNode("Loading. Please wait.");t.appendChild(r),e.appendChild(t),R.TK((e=>{F=e,O.Q0(F),function(){const e=document.getElementById("FeatureTableFilter");m.E(e),function(e){let t=document.createElement("div");t.className="FilterPanel",e.appendChild(t),P=document.createElement("input"),P.type="search",P.placeholder="Search Properties",P.classList.add("searchBar"),I.A.PropertiesSearchString="",P.addEventListener("input",(function(e){I.A.PropertiesSearchString=e.target.value,w()})),e.appendChild(P);let r=document.createElement("div");r.classList.add("FieldSetContainer"),e.appendChild(r);let n=document.createElement("fieldset");n.classList.add("VendorFilter");let a=document.createElement("legend");a.textContent="Vendor Filter",n.appendChild(a);for(let e of Object.keys(O.hp)){I.A.VendorFilter[e]=!0;const t=document.createElement("label"),r=document.createElement("input");r.type="checkbox",r.checked=!0,r.addEventListener("change",(t=>{I.A.VendorFilter[e]=t.target.checked,w()})),t.appendChild(r),t.appendChild(document.createTextNode(e)),n.appendChild(t),n.appendChild(document.createElement("br"))}r.appendChild(n);let i=document.createElement("fieldset"),o=document.createElement("legend");o.textContent="Architecture Age Filter",i.appendChild(o);let s=document.createElement("input");s.type="range",s.min=2010,s.max=(new Date).getFullYear(),s.value=2016,s.step=1;let D=document.createElement("label");D.htmlFor="archAgeSlider",D.textContent=`Released in ${s.value} or after`,I.A.ArchAgeFilter=s.value,s.addEventListener("input",(function(e){D.textContent=`Released in ${e.target.value} or after`,I.A.ArchAgeFilter=e.target.value,w()})),i.appendChild(s),i.appendChild(document.createElement("br")),i.appendChild(D),r.appendChild(i)}(e)}(),w()}))}),!1)},141:(e,t,r)=>{r.d(t,{BP:()=>o,Es:()=>D,Q0:()=>p,f4:()=>s,hp:()=>i});var n=r(878),a=r(924);let i={Microsoft:new Set,AMD:new Set,Nvidia:new Set,Intel:new Set,Qualcomm:new Set},o=new Map,s=new Map,D=new Map,d=[];function l(e){return!!e.GetField("Header.Using preview Agility SDK")||"None"!=a.UN(e)||!!n.gT.has(e.GetField("CheckInterfaceSupport.UMDVersion"))||8==e.GetField("AGSDeviceInfo.asicFamily")&&1==e.GetField("AGSDeviceInfo.numWGPs")&&0==e.GetField("D3D12_FEATURE_DATA_D3D12_OPTIONS7.MeshShaderTier")}function c(e){let t,r=e.GetOriginalReport(),n=a.IL("DXGI_ADAPTER_DESC3.VendorId",r.DXGI_ADAPTER_DESC3.VendorId);if("Microsoft Basic Render Driver"==r.DXGI_ADAPTER_DESC3.Description)t="WARP",i.Microsoft.add(t);else if(r.AGSDeviceInfo&&null!=r.AGSDeviceInfo.asicFamily){const e=["Unknown","PreGCN","GCN1","GCN2","GCN3","GCN4","Vega","RDNA","RDNA2","RDNA3","RDNA4"],n={30032:"RDNA4"};0!=r.AGSDeviceInfo.asicFamily?(t=e[r.AGSDeviceInfo.asicFamily],t||(t="Arch ID "+r.AGSDeviceInfo.asicFamily),i.AMD.add(t)):r.DXGI_ADAPTER_DESC3.DeviceId in n&&(t=n[r.DXGI_ADAPTER_DESC3.DeviceId],i.AMD.add(t))}else if(n.startsWith("Intel"))t={1024:"Gen7.5",2560:"Gen7.5",3328:"Gen7.5",3072:"Gen7.5",5632:"Gen8",2816:"Gen8",8704:"Gen8",6400:"Gen9",2304:"Gen9",22784:"Gen9.5",12544:"Gen9.5",15872:"Gen9.5",39680:"Gen9.5",23040:"Gen9.5",35328:"Gen11",39424:"Xe",17664:"Xe",19968:"Xe",19456:"Xe",17920:"Xe",18688:"Xe",42752:"Xe",22016:"Xe-HPG",2816:"Xe-HPC",32e3:"Xe-LPG",25600:"Xe2-HPG",57856:"Xe2-HPG"}[65280&r.DXGI_ADAPTER_DESC3.DeviceId],!t&&r["Intel GPUDetect::GPUData"]&&(t=r["Intel GPUDetect::GPUData"].GraphicsGeneration,"Unknown"==t&&"Unknown (37)"==r["Intel GPUDetect::GPUData"].GPUArchitecture&&"Intel(R) Iris(R) Xe Graphics"==r.DXGI_ADAPTER_DESC3.Description?t="Xe":"Xe High Performance Graphics"==t?t="Gen12.7 / Xe-HPG":"Xe High Performance Compute"==t?t="Xe-HPC":"Xe Low Power Graphics"==t?t="Gen12.7 / Xe-LPG":"Xe2 High Performance Graphics"==t&&(t="Gen13 / Xe2-HPG")),t&&i.Intel.add(t);else if(r.NvPhysicalGpuHandle&&r.NvPhysicalGpuHandle["NvAPI_GPU_GetArchInfo - NV_GPU_ARCH_INFO::architecture_id"]){if(t={192:"Fermi",208:"Fermi2",224:"Kepler",240:"Kepler1",256:"Kepler2",272:"Maxwell1",288:"Maxwell2",304:"Pascal",320:"Volta",336:"Volta1",352:"Turing",368:"Ampere",400:"Ada",432:"Blackwell"}[r.NvPhysicalGpuHandle["NvAPI_GPU_GetArchInfo - NV_GPU_ARCH_INFO::architecture_id"]],t||(t="Arch ID "+r.NvPhysicalGpuHandle["NvAPI_GPU_GetArchInfo - NV_GPU_ARCH_INFO::architecture_id"]),"Turing"===t){const e=r.NvPhysicalGpuHandle["NvAPI_GPU_GetArchInfo - NV_GPU_ARCH_INFO::implementation_id"];t=7==e||8==e?"Turing 16":"Turing 20"}"Kepler2"==t||"Kepler1"==t?t="Kepler":"Fermi2"==t?t="Fermi":"Volta1"==t&&(t="Volta"),i.Nvidia.add(t)}else if(n.startsWith("NVIDIA")){switch(r.DXGI_ADAPTER_DESC3.Description){case"NVIDIA GeForce 615":case"NVIDIA GeForce GT 415M":case"NVIDIA GeForce GT 420":case"NVIDIA GeForce GT 420M":case"NVIDIA GeForce GT 425M":case"NVIDIA GeForce GT 430":case"NVIDIA GeForce GT 435M":case"NVIDIA GeForce GT 440":case"NVIDIA GeForce GT 445M":case"NVIDIA GeForce GT 525M":case"NVIDIA GeForce GT 530":case"NVIDIA GeForce GT 555M":case"NVIDIA GeForce GTS 450":case"NVIDIA GeForce GTX 460M":case"NVIDIA GeForce GTX 465":case"NVIDIA GeForce GTX 470":case"NVIDIA GeForce GTX 470M":case"NVIDIA GeForce GTX 480":case"NVIDIA GeForce GTX 480M":case"NVIDIA GeForce GTX 485M":case"NVIDIA NVS 5400M":case"NVIDIA Quadro 1000M":case"NVIDIA Quadro 2000":case"NVIDIA Quadro 2000M":case"NVIDIA Quadro 3000M":case"NVIDIA Quadro 4000":case"NVIDIA Quadro 4000M":case"NVIDIA Quadro 5000M":case"NVIDIA Quadro 600":case"NVIDIA Quadro 6000":t="Fermi";break;case"NVIDIA GeForce 410M":case"NVIDIA GeForce 510":case"NVIDIA GeForce 605":case"NVIDIA GeForce 705A":case"NVIDIA GeForce GT 520":case"NVIDIA GeForce GT 520MX":case"NVIDIA GeForce GT 545":case"NVIDIA GeForce GT 550M":case"NVIDIA GeForce GT 625":case"NVIDIA GeForce GT 705":case"NVIDIA GeForce GTX 550 Ti":case"NVIDIA GeForce GTX 555":case"NVIDIA GeForce GTX 560":case"NVIDIA GeForce GTX 560 SE":case"NVIDIA GeForce GTX 560 Ti":case"NVIDIA GeForce GTX 560M":case"NVIDIA GeForce GTX 570":case"NVIDIA GeForce GTX 570M":case"NVIDIA GeForce GTX 580":case"NVIDIA GeForce GTX 580M":case"NVIDIA GeForce GTX 590":case"NVIDIA GeForce GTX 670M":case"NVIDIA GeForce GTX 675M":case"NVIDIA NVS 315":case"NVIDIA NVS 4200M":case"NVIDIA Quadro 5010M":t="Fermi2"}t&&i.Nvidia.add(t)}else n.startsWith("Qualcomm")&&(/Snapdragon\(R\) X (Plus)|(Elite) - X1.*/.test(r.DXGI_ADAPTER_DESC3.Description)&&(t="X1"),/Qualcomm\(R\) Adreno\(TM\) X1.*/.test(r.DXGI_ADAPTER_DESC3.Description)?t="X1":r.DXGI_ADAPTER_DESC3.Description.includes("8cx")&&(t=r.DXGI_ADAPTER_DESC3.Description.slice(r.DXGI_ADAPTER_DESC3.Description.search(/8cx.*/)),t=t.replace("Gen ","")),t&&i.Qualcomm.add(t));t?(o.has(t)?o.get(t).push(r):o.set(t,[r]),s.has(t)?s.get(t).add(r.DXGI_ADAPTER_DESC3.Description):s.set(t,new Set([r.DXGI_ADAPTER_DESC3.Description]))):d.push(r)}function p(e){for(let t of e)l(t)||c(t);for(let[e,n]of o){let a=null;for(let e of n)t=e,(null==(r=a)||(t.CheckInterfaceSupport.UMDVersion!=r.CheckInterfaceSupport.UMDVersion?BigInt(t.CheckInterfaceSupport.UMDVersion)>BigInt(r.CheckInterfaceSupport.UMDVersion):t.Header.Version!=r.Header.Version?t.Header.Version>r.Header.Version:t.ID>r.ID))&&(a=e);D.set(e,a)}var t,r;function a(e,t){const r=[];for(const t of e)r.push(t);e.clear();for(const n of r.sort(t))e.add(n);return e}function s(e,t){let r=n.Vz[e]??9999,a=n.Vz[t]??9999;return r==a?e.localeCompare(t):r-a}a(i.AMD,s),a(i.Nvidia,s),a(i.Intel,s),a(i.Qualcomm,s)}},619:(e,t,r)=>{r.d(t,{A:()=>n});const n={RDNA3:.026000000000000002,Unknown:.0603,GCN1:.0011,GCN4:.0226,GCN3:5e-4,GCN2:1e-4,RDNA:.0104,RDNA2:.03929999999999999,RDNA4:.0015999999999999999,Vega:.008,"Gen7.5":.0021,Gen9:.0034999999999999996,Gen8:8e-4,"Gen9.5":.012400000000000001,Xe:.0196,Maxwell1:.0046,Kepler:.0017,Fermi:1e-4,Pascal:.062299999999999994,"Turing 16":.0701,Fermi2:3e-4,Maxwell2:.0066,"Turing 20":.05489999999999999,Ampere:.2176,Ada:.224,Blackwell:.0883,X1:5e-4}}},e=>{e(e.s=7)}]); \ No newline at end of file +"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[934],{551:(e,t,r)=>{r.d(t,{A:()=>s});var n=r(601),a=r.n(n),i=r(314),o=r.n(i)()(a());o.push([e.id,'body {\n min-width:fit-content;\n}\n\n.FeatureTable {\n font-family: "Roboto", sans-serif;\n}\n\n.FeatureTable thead {\n position: sticky;\n top: 0;\n z-index: 2;\n}\n\n.FeatureTable thead tr {\n background-color: #00000000;\n}\n\n.FeatureTableFilterContainer {\n max-width: 2100px;\n margin: 0 auto;\n}\n\ntd {\n white-space: pre-wrap;\n}\n\n.FeatureHeader {\n text-align: center;\n min-width: 14em;\n}\n\nth,\n.FeatureHeader {\n font-weight: 600;\n}\n\nth,\ntd {\n border-width: 1px;\n border-style: solid;\n border-color: #7f7f7f;\n}\n\ntd {\n text-align: center;\n padding: 2px 4px;\n min-width: 4.5em;\n}\n\ntr:nth-of-type(odd) {\n background-color: #00000010;\n}\n\ntd:nth-of-type(even) {\n background-color: #00000010;\n}\n\ntable {\n border-collapse: collapse;\n margin: auto;\n}\n\ncolgroup {\n border-inline-end-width: 2px;\n border-inline-end-style: solid;\n border-inline-end-color: #7f7f7f;\n}\n\n/* sticky table headers */\nth {\n position: sticky !important;\n}\n\n/* row of headers with vendor names */\nthead>tr:first-of-type>th {\n top: -1px;\n /* first row sticks to the top of the screen */\n border-bottom: none;\n}\n\n/* row of headers with architecture names */\nthead>tr:nth-of-type(2)>th {\n top: 1.3em;\n /* second row sticks right below first row */\n border-top: none;\n border-bottom-width: 2px;\n border-bottom-style: solid;\n padding-inline: 0.3em;\n /* separate arch names a little */\n}\n\n#FilterContainer {\n display: flex;\n}\n\n.tooltip {\n position: relative;\n}\n\n.tooltiptext {\n visibility: hidden;\n background-color: #FFFFFF;\n text-align: left;\n border-radius: 0.4em;\n border-color: #7f7f7f;\n border-style: solid;\n border-width: 0.1em;\n padding: 0.3em;\n position: absolute;\n z-index: 3;\n opacity: 0;\n transition: opacity 150ms ease-in, visibility 0ms ease-in 150ms;\n bottom: 100%;\n}\n\n.tooltip:hover .tooltiptext {\n visibility: visible;\n opacity: 1;\n transition-delay: 0ms;\n}\n\n.white_space_pre {\n white-space: pre;\n}\n\n\n@media (prefers-color-scheme: dark) {\n\n th,\n td {\n border-color: #8c8c8c;\n }\n\n colgroup {\n border-inline-end-color: #8c8c8c;\n }\n\n table,\n fieldset {\n border-color: #8c8c8c;\n background-color: #2d2d2d;\n }\n\n\n tr:nth-of-type(1) {\n background-color: #262626;\n }\n\n td {\n border-color: #FFFFFF33;\n }\n\n tr:nth-of-type(odd) {\n background-color: #00000020;\n }\n\n td:nth-of-type(even) {\n background-color: #00000020;\n }\n\n .tooltiptext {\n background-color: #000000;\n border-color: #8c8c8c;\n }\n\n}',""]);const s=o},314:e=>{e.exports=function(e){var t=[];return t.toString=function(){return this.map((function(t){var r="",n=void 0!==t[5];return t[4]&&(r+="@supports (".concat(t[4],") {")),t[2]&&(r+="@media ".concat(t[2]," {")),n&&(r+="@layer".concat(t[5].length>0?" ".concat(t[5]):""," {")),r+=e(t),n&&(r+="}"),t[2]&&(r+="}"),t[4]&&(r+="}"),r})).join("")},t.i=function(e,r,n,a,i){"string"==typeof e&&(e=[[null,e,void 0]]);var o={};if(n)for(var s=0;s0?" ".concat(l[5]):""," {").concat(l[1],"}")),l[5]=i),r&&(l[2]?(l[1]="@media ".concat(l[2]," {").concat(l[1],"}"),l[2]=r):l[2]=r),a&&(l[4]?(l[1]="@supports (".concat(l[4],") {").concat(l[1],"}"),l[4]=a):l[4]="".concat(a)),t.push(l))}},t}},601:e=>{e.exports=function(e){return e[1]}},72:e=>{var t=[];function r(e){for(var r=-1,n=0;n{var t={};e.exports=function(e,r){var n=function(e){if(void 0===t[e]){var r=document.querySelector(e);if(window.HTMLIFrameElement&&r instanceof window.HTMLIFrameElement)try{r=r.contentDocument.head}catch(e){r=null}t[e]=r}return t[e]}(e);if(!n)throw new Error("Couldn't find a style target. This probably means that the value for the 'insert' parameter is invalid.");n.appendChild(r)}},540:e=>{e.exports=function(e){var t=document.createElement("style");return e.setAttributes(t,e.attributes),e.insert(t,e.options),t}},56:(e,t,r)=>{e.exports=function(e){var t=r.nc;t&&e.setAttribute("nonce",t)}},825:e=>{e.exports=function(e){if("undefined"==typeof document)return{update:function(){},remove:function(){}};var t=e.insertStyleElement(e);return{update:function(r){!function(e,t,r){var n="";r.supports&&(n+="@supports (".concat(r.supports,") {")),r.media&&(n+="@media ".concat(r.media," {"));var a=void 0!==r.layer;a&&(n+="@layer".concat(r.layer.length>0?" ".concat(r.layer):""," {")),n+=r.css,a&&(n+="}"),r.media&&(n+="}"),r.supports&&(n+="}");var i=r.sourceMap;i&&"undefined"!=typeof btoa&&(n+="\n/*# sourceMappingURL=data:application/json;base64,".concat(btoa(unescape(encodeURIComponent(JSON.stringify(i))))," */")),t.styleTagTransform(n,e,t.options)}(t,e,r)},remove:function(){!function(e){if(null===e.parentNode)return!1;e.parentNode.removeChild(e)}(t)}}}},113:e=>{e.exports=function(e,t){if(t.styleSheet)t.styleSheet.cssText=e;else{for(;t.firstChild;)t.removeChild(t.firstChild);t.appendChild(document.createTextNode(e))}}},7:(e,t,r)=>{var n=r(72),a=r.n(n),i=r(825),o=r.n(i),s=r(659),D=r.n(s),d=r(56),l=r.n(d),c=r(540),p=r.n(c),A=r(113),_=r.n(A),T=r(551),u={};u.styleTagTransform=_(),u.setAttributes=l(),u.insert=D().bind(null,"head"),u.domAPI=o(),u.insertStyleElement=p(),a()(T.A,u),T.A&&T.A.locals&&T.A.locals;var E=r(619),S=r(878);const h={TableReleaseDate:"Release Date",TableMarketShare:"Market Share",TableNumReports:"Number of reports",TableReportUsed:"Report used for feature data",TableD3d12InfoVersion:"D3d12info version","D3D12_FEATURE_DATA_FEATURE_LEVELS.MaxSupportedFeatureLevel":"Feature level","D3D12_FEATURE_DATA_SHADER_MODEL.HighestShaderModel":"Shader model","D3D12_FEATURE_DATA_D3D12_OPTIONS5.RaytracingTier":"Raytracing","D3D12_FEATURE_DATA_D3D12_OPTIONS7.MeshShaderTier":"Mesh shaders","D3D12_FEATURE_DATA_D3D12_OPTIONS21.WorkGraphsTier":"Work graphs","D3D12_FEATURE_DATA_D3D12_OPTIONS7.SamplerFeedbackTier":"Sampler feedback","D3D12_FEATURE_DATA_D3D12_OPTIONS21.ExecuteIndirectTier":"Execute indirect","D3D12_FEATURE_DATA_D3D12_OPTIONS.ConservativeRasterizationTier":"Conservative rasterization","D3D12_FEATURE_DATA_D3D12_OPTIONS16.GPUUploadHeapSupported":"GPU upload heaps","D3D12_FEATURE_DATA_D3D12_OPTIONS12.EnhancedBarriersSupported":"Enhanced barriers","D3D12_FEATURE_DATA_TIGHT_ALIGNMENT.SupportTier":"Tight alignment","D3D12_FEATURE_DATA_D3D12_OPTIONS6.VariableShadingRateTier":"Variable-rate shading","D3D12_FEATURE_DATA_D3D12_OPTIONS6.AdditionalShadingRatesSupported":"Additional shading rates","D3D12_FEATURE_DATA_D3D12_OPTIONS6.ShadingRateImageTileSize":"Shading-rate image tile size","D3D12_FEATURE_DATA_D3D12_OPTIONS6.PerPrimitiveShadingRateSupportedWithViewportIndexing":"Per-primitive shading rate with viewport indexing","D3D12_FEATURE_DATA_D3D12_OPTIONS10.VariableRateShadingSumCombinerSupported":"VRS sum combiner","D3D12_FEATURE_DATA_D3D12_OPTIONS10.MeshShaderPerPrimitiveShadingRateSupported":"Mesh shader per-primitive shading rate","D3D12_FEATURE_DATA_D3D12_OPTIONS3.BarycentricsSupported":"Barycentrics",Table_R9G9B9E5_RTV_UAV:"R9G9B9E5 RTV/UAV support",Table_R9G9B9E5_Display:"R9G9B9E5 Display support","D3D12_FEATURE_DATA_D3D12_OPTIONS9.WaveMMATier":"WaveMMA (wave_matrix)","D3D12_FEATURE_DATA_D3D12_OPTIONS1.WaveLaneCountMin":"Wave lane count min","D3D12_FEATURE_DATA_D3D12_OPTIONS1.WaveLaneCountMax":"Wave lane count max","D3D12_FEATURE_DATA_D3D12_OPTIONS14.WriteableMSAATexturesSupported":"Writeable MSAA textures","D3D12_FEATURE_DATA_GPU_VIRTUAL_ADDRESS_SUPPORT.MaxGPUVirtualAddressBitsPerResource":"Per-resource virtual addressing","D3D12_FEATURE_DATA_GPU_VIRTUAL_ADDRESS_SUPPORT.MaxGPUVirtualAddressBitsPerProcess":"Per-process virtual addressing","D3D12_FEATURE_DATA_D3D12_OPTIONS5.RenderPassesTier":"Render passes","D3D12_FEATURE_DATA_ARCHITECTURE1.TileBasedRenderer":"Tile-based renderer","D3D12_FEATURE_DATA_D3D12_OPTIONS.ResourceHeapTier":"Resource heap","D3D12_FEATURE_DATA_D3D12_OPTIONS.ResourceBindingTier":"Resource binding","D3D12_FEATURE_DATA_D3D12_OPTIONS.TiledResourcesTier":"Tiled resources","D3D12_FEATURE_DATA_D3D12_OPTIONS5.SRVOnlyTiledResourceTier3":"SRV-only tiled resource tier 3","D3D12_FEATURE_DATA_D3D12_OPTIONS.MinPrecisionSupport":"Min-precision support","D3D12_FEATURE_DATA_D3D12_OPTIONS4.Native16BitShaderOpsSupported":"Native 16-bit shader ops","D3D12_FEATURE_DATA_D3D12_OPTIONS.DoublePrecisionFloatShaderOps":"64-bit float shader ops","D3D12_FEATURE_DATA_D3D12_OPTIONS1.Int64ShaderOps":"64-bit int shader ops","D3D12_FEATURE_DATA_D3D12_OPTIONS9.AtomicInt64OnTypedResourceSupported":"64-bit int atomics on typed resource","D3D12_FEATURE_DATA_D3D12_OPTIONS9.AtomicInt64OnGroupSharedSupported":"64-bit int atomics on group shared","D3D12_FEATURE_DATA_D3D12_OPTIONS11.AtomicInt64OnDescriptorHeapResourceSupported":"64-bit int atomics on descriptor heap resources","D3D12_FEATURE_DATA_D3D12_OPTIONS9.DerivativesInMeshAndAmplificationShadersSupported":"Derivatives in mesh and amplification shaders","D3D12_FEATURE_DATA_D3D12_OPTIONS6.BackgroundProcessingSupported":"Background processing","D3D12_FEATURE_DATA_BYTECODE_BYPASS_HASH_SUPPORTED.Supported":"Bytecode bypass hash","D3D12_FEATURE_DATA_D3D12_OPTIONS19.MaxSamplerDescriptorHeapSize":"Max sampler heap size","D3D12_FEATURE_DATA_D3D12_OPTIONS19.MaxSamplerDescriptorHeapSizeWithStaticSamplers":"Max sampler heap size with static samplers","D3D12_FEATURE_DATA_D3D12_OPTIONS19.MaxViewDescriptorHeapSize":"Max view descriptor heap size","D3D12_FEATURE_DATA_D3D12_OPTIONS8.UnalignedBlockTexturesSupported":"Unaligned block textures","D3D12_FEATURE_DATA_D3D12_OPTIONS12.MSPrimitivesPipelineStatisticIncludesCulledPrimitives":"MSPrimitives pipeline statistic includes culled primitives","D3D12_FEATURE_DATA_D3D12_OPTIONS12.RelaxedFormatCastingSupported":"Relaxed format casting","D3D12_FEATURE_DATA_D3D12_OPTIONS.PSSpecifiedStencilRefSupported":"PS-specified StencilRef","D3D12_FEATURE_DATA_D3D12_OPTIONS2.ProgrammableSamplePositionsTier":"Programmable sample positions","D3D12_FEATURE_DATA_D3D12_OPTIONS13.AlphaBlendFactorSupported":"Alpha blend factor","D3D12_FEATURE_DATA_D3D12_OPTIONS14.IndependentFrontAndBackStencilRefMaskSupported":"Independent front & back StencilRef mask","D3D12_FEATURE_DATA_D3D12_OPTIONS17.NonNormalizedCoordinateSamplersSupported":"Non-normalized coordinate samplers","D3D12_FEATURE_DATA_D3D12_OPTIONS3.ViewInstancingTier":"View instancing","D3D12_FEATURE_DATA_D3D12_OPTIONS19.SupportedSampleCountsWithNoOutputs":"MSAA sample counts with no outputs","D3D12_FEATURE_DATA_D3D12_OPTIONS21.SampleCmpGradientAndBiasSupported":"SampleCmp gradient and bias","D3D12_FEATURE_DATA_D3D12_OPTIONS21.ExtendedCommandInfoSupported":"Extended command info","D3D12_FEATURE_DATA_D3D12_OPTIONS.ROVsSupported":"Rasterizer-ordered views","D3D12_FEATURE_DATA_D3D12_OPTIONS2.DepthBoundsTestSupported":"Depth-bounds test","D3D12_FEATURE_DATA_D3D12_OPTIONS3.CopyQueueTimestampQueriesSupported":"Copy queue timestamp queries","D3D12_FEATURE_DATA_D3D12_OPTIONS3.WriteBufferImmediateSupportFlags":"WriteBufferImmediate command list support","D3D12_FEATURE_DATA_D3D12_OPTIONS9.MeshShaderSupportsFullRangeRenderTargetArrayIndex":"Mesh shader full range RT array index","D3D12_FEATURE_DATA_D3D12_OPTIONS13.UnrestrictedBufferTextureCopyPitchSupported":"Unrestricted buffer-texture copy pitch","D3D12_FEATURE_DATA_D3D12_OPTIONS13.UnrestrictedVertexElementAlignmentSupported":"Unrestricted vertex element alignment","D3D12_FEATURE_DATA_D3D12_OPTIONS13.InvertedViewportHeightFlipsYSupported":"Inverted viewport height flips Y","D3D12_FEATURE_DATA_D3D12_OPTIONS13.InvertedViewportDepthFlipsZSupported":"Inverted viewport depth flips Z","D3D12_FEATURE_DATA_D3D12_OPTIONS13.TextureCopyBetweenDimensionsSupported":"Texture copy between dimensions","D3D12_FEATURE_DATA_D3D12_OPTIONS14.AdvancedTextureOpsSupported":"Advanced texture ops","D3D12_FEATURE_DATA_D3D12_OPTIONS15.TriangleFanSupported":"Triangle fans","D3D12_FEATURE_DATA_D3D12_OPTIONS15.DynamicIndexBufferStripCutSupported":"Dynamic index buffer strip cut","D3D12_FEATURE_DATA_D3D12_OPTIONS16.DynamicDepthBiasSupported":"Dynamic depth bias","D3D12_FEATURE_DATA_D3D12_OPTIONS19.MismatchingOutputDimensionsSupported":"Mismatching output dimensions","D3D12_FEATURE_DATA_D3D12_OPTIONS19.PointSamplingAddressesNeverRoundUp":"Point sampling addresses never round up","D3D12_FEATURE_DATA_D3D12_OPTIONS19.NarrowQuadrilateralLinesSupported":"Narrow quadrilateral lines","D3D12_FEATURE_DATA_D3D12_OPTIONS19.AnisoFilterWithPointMipSupported":"Aniso filter with point mip","D3D12_FEATURE_DATA_ARCHITECTURE1.IsolatedMMU":"Isolated MMU","D3D12_FEATURE_DATA_SERIALIZATION.HeapSerializationTier":"Heap serialization","D3D12_FEATURE_DATA_D3D12_OPTIONS.StandardSwizzle64KBSupported":"64KB standard swizzle textures","D3D12_FEATURE_DATA_D3D12_OPTIONS.CrossAdapterRowMajorTextureSupported":"Cross-adapter row-major textures","D3D12_FEATURE_DATA_CROSS_NODE.SharingTier":"Cross-node sharing","D3D12_FEATURE_DATA_CROSS_NODE.AtomicShaderInstructions":"Cross-node atomics","D3D12_FEATURE_DATA_D3D12_OPTIONS1.WaveOps":"Wave ops","D3D12_FEATURE_DATA_D3D12_OPTIONS.OutputMergerLogicOp":"Output merger logic ops","D3D12_FEATURE_DATA_D3D12_OPTIONS3.CastingFullyTypedFormatSupported":"Casting fully typed formats","D3D12_FEATURE_DATA_D3D12_OPTIONS.TypedUAVLoadAdditionalFormats":"Typed UAV loads for additional formats","D3D12_FEATURE_DATA_D3D12_OPTIONS.VPAndRTArrayIndexFromAnyShaderFeedingRasterizerSupportedWithoutGSEmulation":"VP & RT array index without GS emulation","D3D12_FEATURE_DATA_D3D12_OPTIONS4.MSAA64KBAlignedTextureSupported":"64KB-aligned MSAA textures","D3D12_FEATURE_DATA_D3D12_OPTIONS4.SharedResourceCompatibilityTier":"Shared resources compatibility","D3D12_FEATURE_DATA_D3D12_OPTIONS9.MeshShaderPipelineStatsSupported":"Mesh shader pipeline stats","D3D12_FEATURE_DATA_EXISTING_HEAPS.Supported":"Heaps from existing memory","D3D12_FEATURE_DATA_D3D12_OPTIONS20.RecreateAtTier":"Recreate resource at pointer","D3D12_FEATURE_DATA_D3D12_OPTIONS20.ComputeOnlyWriteWatchSupported":"Compute-only write watch","D3D12_FEATURE_DATA_D3D12_OPTIONS19.ComputeOnlyCustomHeapSupported":"Compute-only custom heap","D3D12_FEATURE_DATA_D3D12_OPTIONS19.RasterizerDesc2Supported":"RASTERIZER_DESC2 supported","D3D12_FEATURE_DATA_D3D12_OPTIONS18.RenderPassesValid":"Render passes valid","D3D12_FEATURE_DATA_ROOT_SIGNATURE.HighestVersion":"Root signature version","D3D12_FEATURE_DATA_D3D12_OPTIONS1.ExpandedComputeResourceStates":"Expanded compute resource states"};var I=r(185),m=r(568),f=r(924),R=r(480),O=r(141);let F=[],P=null;const N={alignOutsideHorizontal:!1,alignOutsideVertical:!1,preferTowardsBottom:!1,tooltipAlignment:.5};function G(e,t,r){let n=Object.assign({},N);for(let[e,t]of Object.entries(n))r.hasOwnProperty(e)&&(n[e]=r[e]);e.classList.add("tooltip");const a=document.createElement("span");return a.className="tooltiptext white_space_pre tooltiptext",a.style=`left: ${100*n.tooltipAlignment}%;transform: translateX(-${100*n.tooltipAlignment}%);`,a.textContent=t,e.appendChild(a),a}function g(e){if(!I.A.VendorFilter[e])return!1;for(let t of O.hp[e]){let e=S.Vz[t]??9999;if(I.A.ArchAgeFilter<=e)return!0}return!1}function U(e){let t=0;for(let r of O.hp[e]){let e=S.Vz[r]??9999;I.A.ArchAgeFilter<=e&&t++}return t}function v(){let e=0;for(let[t,r]of Object.entries(O.hp))for(let t of r){let r=S.Vz[t]??9999;I.A.ArchAgeFilter<=r&&e++}return e}function V(e,t){let r=I.A.VendorFilter[e],n=S.Vz[t];return null==n&&(n="9999"),r&&I.A.ArchAgeFilter<=n}function b(e,t,r,n,a){let i=document.createElement("td");i.appendChild(function(e){let t=document.createElement("span");return t.textContent=e,"N/A"==e&&(t.style.fontStyle="italic",t.style.color="#888888"),t}(e)),a&&(i.scope="colgroup",i.colSpan=a),t.appendChild(i),r&&G(i,r,{alignOutsideVertical:!0,tooltipAlignment:n})}function y(e,t,r,n){if(function(e,t,r,n){if("TableReleaseDate"==r){let r,a=S.Vz[t];return null==a&&(a="Unknown"),"WARP"==t&&(a="N/A",r="WARP is a software rasterizer that continues to receive updates over time.\nComparing its initial release date (2015) to the release dates of hardware GPUs,\nwhich cannot gain new features after release, is not meaningful."),b(a,e,r,n),!0}if("TableNumReports"==r)return b(O.BP.get(t).length,e),!0;if("TableMarketShare"==r){document.createElement("td");let r,a=E.A[t];return"WARP"==t?(a="N/A",r="WARP is a software rasterizer, not a hardware GPU.\nIt doesn't have a market share and not in Steam Hardware Survey."):a=null==a?"~0%":Math.round(1e4*a)/100+"%",b(a,e,r,n),!0}if("TableReportUsed"==r){let r=O.Es.get(t),n=document.createElement("td"),a=document.createElement("a");return a.href=`ID.html?ID=${r.ID}`,a.append(r.ID),n.appendChild(a),e.appendChild(n),!0}if("Table_R9G9B9E5_RTV_UAV"==r){let r=O.Es.get(t);if(null==r.Formats)return b("❓",e),!0;let n=r.Formats[67];return null==n?(b("❓",e),!0):(b(16384&n.Support1?S.GG[1]:S.GG[0],e),!0)}if("Table_R9G9B9E5_Display"==r){let r=O.Es.get(t);if(null==r.Formats)return b("❓",e),!0;let n=r.Formats[67];return null==n?(b("❓",e),!0):(b(524288&n.Support1?S.GG[1]:S.GG[0],e),!0)}return"TableD3d12InfoVersion"==r&&(b(O.Es.get(t).Header.Version,e),!0)}(e,t,r,n))return;let a=O.Es.get(t),i=F.find((e=>e.GetField("ID")==a.ID)).GetField(r);(function(e,t,r,n,a,i,o){if("D3D12_FEATURE_DATA_D3D12_OPTIONS16.GPUUploadHeapSupported"==r){if("WARP"==t)return b(S.GG[1],e),!0;for(let r of O.BP.get(t))if("WARP"!=t&&r.D3D12_FEATURE_DATA_D3D12_OPTIONS16.GPUUploadHeapSupported)return b(S.GG[1]+"*",e,"GPU Upload Heap support depends on BIOS settings and Windows version.\nSame GPU may report different values depending on the system.",o),!0;return b(S.GG[0],e),!0}return"D3D12_FEATURE_DATA_D3D12_OPTIONS6.ShadingRateImageTileSize"!=r&&"D3D12_FEATURE_DATA_D3D12_OPTIONS6.AdditionalShadingRatesSupported"!=r&&"D3D12_FEATURE_DATA_D3D12_OPTIONS6.PerPrimitiveShadingRateSupportedWithViewportIndexing"!=r&&"D3D12_FEATURE_DATA_D3D12_OPTIONS10.VariableRateShadingSumCombinerSupported"!=r&&"D3D12_FEATURE_DATA_D3D12_OPTIONS10.MeshShaderPerPrimitiveShadingRateSupported"!=r||0!=a.D3D12_FEATURE_DATA_D3D12_OPTIONS6.VariableShadingRateTier?"D3D12_FEATURE_DATA_D3D12_OPTIONS6.ShadingRateImageTileSize"==r&&1==a.D3D12_FEATURE_DATA_D3D12_OPTIONS6.VariableShadingRateTier?(b("N/A",e,"VRS Tier 2 is required for shading rate image support.",o),!0):"D3D12_FEATURE_DATA_D3D12_OPTIONS6.PerPrimitiveShadingRateSupportedWithViewportIndexing"!=r&&"D3D12_FEATURE_DATA_D3D12_OPTIONS10.VariableRateShadingSumCombinerSupported"!=r&&"D3D12_FEATURE_DATA_D3D12_OPTIONS10.MeshShaderPerPrimitiveShadingRateSupported"!=r||1!=a.D3D12_FEATURE_DATA_D3D12_OPTIONS6.VariableShadingRateTier?"D3D12_FEATURE_DATA_D3D12_OPTIONS5.SRVOnlyTiledResourceTier3"==r&&a.D3D12_FEATURE_DATA_D3D12_OPTIONS.TiledResourcesTier>=3?(b("N/A",e,"SRVOnlyTiledResourceTier3 is always true\nif TiledResourcesTier >= 3.",o),!0):"D3D12_FEATURE_DATA_D3D12_OPTIONS5.RaytracingTier"==r&&"Pascal"==t?(b("❌ *",e,"Pascal cards with >= 6GB of VRAM have software emulated Tier 1.0. Pascal cards with < 6GB of VRAM have no support at all.",o),!0):"D3D12_FEATURE_DATA_D3D12_OPTIONS5.RaytracingTier"==r&&"Turing 16"==t?(b("❌ *",e,"GTX 16xx series cards with >= 6GB of VRAM have software emulated Tier 1.0. GTX 16xx series cards with < 6GB of VRAM have no support at all.",o),!0):"D3D12_FEATURE_DATA_D3D12_OPTIONS5.RaytracingTier"==r&&"X1"==t?(b("❌ *",e,"X1 supports ray query in hardware,\nbut this capability is not exposed in D3D12,\nsince DXR Tier 1.0 requires callable shaders,\nwhich are unsupported on X1.",o),!0):"D3D12_FEATURE_DATA_D3D12_OPTIONS7.MeshShaderTier"==r&&"RDNA2"==t?(b(S.GG[1]+"*",e,"RDNA2 iGPUs with 1 WGP don't have mesh shader support",o),!0):"D3D12_FEATURE_DATA_D3D12_OPTIONS12.MSPrimitivesPipelineStatisticIncludesCulledPrimitives"==r&&0==a.D3D12_FEATURE_DATA_D3D12_OPTIONS7.MeshShaderTier&&(b("N/A",e,"It is only relevant if Mesh Shaders are supported.",o),!0):(b("N/A",e,"VRS Tier 2 is required for this capability.",o),!0):(b("N/A",e,"VRS capabilities are only relevant if VRS is supported.",o),!0)})(e,t,r,0,a,0,n)||b(f.iT(r,i),e)}function C(e,t,r,n){let a=document.createElement("tr"),i=t.toLowerCase(),o=r.toLowerCase(),s=I.A.PropertiesSearchString.toLowerCase();if(!(""==s||i.includes(s)||o.includes(s)||["TableReleaseDate","TableMarketShare"].includes(t)))return;let D=document.createElement("td");if(D.classList.add("FeatureHeader"),D.append(r),D.scope="row",t.startsWith("Table")?"TableMarketShare"==t&&G(D,"Market share in the Steam Hardware Survey among DirectX 12 Systems.\nThis is an underestimate and may not be very accurate in general.",{alignOutsideVertical:!0,tooltipAlignment:0}):G(D,t,{alignOutsideVertical:!0,tooltipAlignment:0}),a.appendChild(D),function(e,t){return"D3D12_FEATURE_DATA_D3D12_OPTIONS19.RasterizerDesc2Supported"==t||"D3D12_FEATURE_DATA_D3D12_OPTIONS18.RenderPassesValid"==t?(b("Always supported *",e,"Starting with Agility SDK 1.610.0, it is always supported, independently of GPU or driver.",.5,v()),!0):"D3D12_FEATURE_DATA_ROOT_SIGNATURE.HighestVersion"==t?(b("1.2 *",e,"Starting with Agility SDK 1.610.0, Root Signature 1.2 is always supported, independently of GPU or driver.",.5,v()),!0):"D3D12_FEATURE_DATA_D3D12_OPTIONS1.ExpandedComputeResourceStates"==t&&(b("Always supported *",e,"Starting with Windows 10 version 1607, it is always supported, independently of GPU or driver.\nAll currently supported Windows versions are newer than Windows 10 version 1607.",.5,v()),!0)}(a,t))e.appendChild(a);else for(let[r,i]of Object.entries(O.hp)){for(let e of i)V(r,e)&&y(a,e,t,n.get(e));e.appendChild(a)}}function w(){const e=document.getElementById("FeatureTable");m.E(e);let t=document.createElement("table");e.appendChild(t),m.E(t);let r=function(){let e=new Map,t=1;for(let[e,r]of Object.entries(O.hp))for(let n of r)V(e,n)&&++t;let r=0;for(let[n,a]of Object.entries(O.hp))for(let i of a)V(n,i)&&(++r,e.set(i,r/(t-1)));return e}();!function(e,t){let r=document.createElement("thead"),n=document.createElement("tr"),a=document.createElement("tr");n.appendChild(document.createElement("th")),a.appendChild(document.createElement("th"));let i=document.createElement("colgroup");e.appendChild(i);for(let[r,i]of Object.entries(O.hp)){if(0==i.size)continue;if(!g(r))continue;let o=document.createElement("th");o.append(r),o.className=r,o.scope="colgroup",o.colSpan=U(r),n.appendChild(o);let s=document.createElement("colgroup");s.span=o.colSpan,e.appendChild(s);for(let e of i){if(!V(r,e))continue;let n=document.createElement("th");n.append(e),n.className=r,n.scope="col",a.appendChild(n);let i="",o=Array.from(O.f4.get(e)).sort();for(let e of o)i+=e+"\n";G(n,i,{alignOutsideVertical:!0,preferTowardsBottom:!0,tooltipAlignment:t.get(e)})}}r.appendChild(n),r.appendChild(a),e.appendChild(r)}(t,r),function(e,t){let r=document.createElement("tbody");for(let[e,n]of Object.entries(h))C(r,e,n,t);e.appendChild(r)}(t,r)}window.addEventListener("DOMContentLoaded",(function(){window.addEventListener("keydown",(function(e){if(null==P||document.activeElement==P)return;let t=!1;t=t||"F3"===e.key,t=t||"F"===e.key.toUpperCase()&&e.ctrlKey,t&&(e.preventDefault(),P.focus())}));const e=document.getElementById("FeatureTable"),t=document.createElement("div"),r=document.createTextNode("Loading. Please wait.");t.appendChild(r),e.appendChild(t),R.TK((e=>{F=e,O.Q0(F),function(){const e=document.getElementById("FeatureTableFilter");m.E(e),function(e){let t=document.createElement("div");t.className="FilterPanel",e.appendChild(t),P=document.createElement("input"),P.type="search",P.placeholder="Search Properties",P.classList.add("searchBar"),I.A.PropertiesSearchString="",P.addEventListener("input",(function(e){I.A.PropertiesSearchString=e.target.value,w()})),e.appendChild(P);let r=document.createElement("div");r.classList.add("FieldSetContainer"),e.appendChild(r);let n=document.createElement("fieldset");n.classList.add("VendorFilter");let a=document.createElement("legend");a.textContent="Vendor Filter",n.appendChild(a);for(let e of Object.keys(O.hp)){I.A.VendorFilter[e]=!0;const t=document.createElement("label"),r=document.createElement("input");r.type="checkbox",r.checked=!0,r.addEventListener("change",(t=>{I.A.VendorFilter[e]=t.target.checked,w()})),t.appendChild(r),t.appendChild(document.createTextNode(e)),n.appendChild(t),n.appendChild(document.createElement("br"))}r.appendChild(n);let i=document.createElement("fieldset"),o=document.createElement("legend");o.textContent="Architecture Age Filter",i.appendChild(o);let s=document.createElement("input");s.type="range",s.min=2010,s.max=(new Date).getFullYear(),s.value=2016,s.step=1;let D=document.createElement("label");D.htmlFor="archAgeSlider",D.textContent=`Released in ${s.value} or after`,I.A.ArchAgeFilter=s.value,s.addEventListener("input",(function(e){D.textContent=`Released in ${e.target.value} or after`,I.A.ArchAgeFilter=e.target.value,w()})),i.appendChild(s),i.appendChild(document.createElement("br")),i.appendChild(D),r.appendChild(i)}(e)}(),w()}))}),!1)},141:(e,t,r)=>{r.d(t,{BP:()=>o,Es:()=>D,Q0:()=>p,f4:()=>s,hp:()=>i});var n=r(878),a=r(924);let i={Microsoft:new Set,AMD:new Set,Nvidia:new Set,Intel:new Set,Qualcomm:new Set},o=new Map,s=new Map,D=new Map,d=[];function l(e){return!!e.GetField("Header.Using preview Agility SDK")||"None"!=a.UN(e)||!!n.gT.has(e.GetField("CheckInterfaceSupport.UMDVersion"))||8==e.GetField("AGSDeviceInfo.asicFamily")&&1==e.GetField("AGSDeviceInfo.numWGPs")&&0==e.GetField("D3D12_FEATURE_DATA_D3D12_OPTIONS7.MeshShaderTier")}function c(e){let t,r=e.GetOriginalReport(),n=a.IL("DXGI_ADAPTER_DESC3.VendorId",r.DXGI_ADAPTER_DESC3.VendorId);if("Microsoft Basic Render Driver"==r.DXGI_ADAPTER_DESC3.Description)t="WARP",i.Microsoft.add(t);else if(r.AGSDeviceInfo&&null!=r.AGSDeviceInfo.asicFamily){const e=["Unknown","PreGCN","GCN1","GCN2","GCN3","GCN4","Vega","RDNA","RDNA2","RDNA3","RDNA4"],n={30032:"RDNA4"};0!=r.AGSDeviceInfo.asicFamily?(t=e[r.AGSDeviceInfo.asicFamily],t||(t="Arch ID "+r.AGSDeviceInfo.asicFamily),i.AMD.add(t)):r.DXGI_ADAPTER_DESC3.DeviceId in n&&(t=n[r.DXGI_ADAPTER_DESC3.DeviceId],i.AMD.add(t))}else if(n.startsWith("Intel"))t={1024:"Gen7.5",2560:"Gen7.5",3328:"Gen7.5",3072:"Gen7.5",5632:"Gen8",2816:"Gen8",8704:"Gen8",6400:"Gen9",2304:"Gen9",22784:"Gen9.5",12544:"Gen9.5",15872:"Gen9.5",39680:"Gen9.5",23040:"Gen9.5",35328:"Gen11",39424:"Xe",17664:"Xe",19968:"Xe",19456:"Xe",17920:"Xe",18688:"Xe",42752:"Xe",22016:"Xe-HPG",2816:"Xe-HPC",32e3:"Xe-LPG",25600:"Xe2-HPG",57856:"Xe2-HPG"}[65280&r.DXGI_ADAPTER_DESC3.DeviceId],!t&&r["Intel GPUDetect::GPUData"]&&(t=r["Intel GPUDetect::GPUData"].GraphicsGeneration,"Unknown"==t&&"Unknown (37)"==r["Intel GPUDetect::GPUData"].GPUArchitecture&&"Intel(R) Iris(R) Xe Graphics"==r.DXGI_ADAPTER_DESC3.Description?t="Xe":"Xe High Performance Graphics"==t?t="Gen12.7 / Xe-HPG":"Xe High Performance Compute"==t?t="Xe-HPC":"Xe Low Power Graphics"==t?t="Gen12.7 / Xe-LPG":"Xe2 High Performance Graphics"==t&&(t="Gen13 / Xe2-HPG")),t&&i.Intel.add(t);else if(r.NvPhysicalGpuHandle&&r.NvPhysicalGpuHandle["NvAPI_GPU_GetArchInfo - NV_GPU_ARCH_INFO::architecture_id"]){if(t={192:"Fermi",208:"Fermi2",224:"Kepler",240:"Kepler1",256:"Kepler2",272:"Maxwell1",288:"Maxwell2",304:"Pascal",320:"Volta",336:"Volta1",352:"Turing",368:"Ampere",400:"Ada",432:"Blackwell"}[r.NvPhysicalGpuHandle["NvAPI_GPU_GetArchInfo - NV_GPU_ARCH_INFO::architecture_id"]],t||(t="Arch ID "+r.NvPhysicalGpuHandle["NvAPI_GPU_GetArchInfo - NV_GPU_ARCH_INFO::architecture_id"]),"Turing"===t){const e=r.NvPhysicalGpuHandle["NvAPI_GPU_GetArchInfo - NV_GPU_ARCH_INFO::implementation_id"];t=7==e||8==e?"Turing 16":"Turing 20"}"Kepler2"==t||"Kepler1"==t?t="Kepler":"Fermi2"==t?t="Fermi":"Volta1"==t&&(t="Volta"),i.Nvidia.add(t)}else if(n.startsWith("NVIDIA")){switch(r.DXGI_ADAPTER_DESC3.Description){case"NVIDIA GeForce 615":case"NVIDIA GeForce GT 415M":case"NVIDIA GeForce GT 420":case"NVIDIA GeForce GT 420M":case"NVIDIA GeForce GT 425M":case"NVIDIA GeForce GT 430":case"NVIDIA GeForce GT 435M":case"NVIDIA GeForce GT 440":case"NVIDIA GeForce GT 445M":case"NVIDIA GeForce GT 525M":case"NVIDIA GeForce GT 530":case"NVIDIA GeForce GT 555M":case"NVIDIA GeForce GTS 450":case"NVIDIA GeForce GTX 460M":case"NVIDIA GeForce GTX 465":case"NVIDIA GeForce GTX 470":case"NVIDIA GeForce GTX 470M":case"NVIDIA GeForce GTX 480":case"NVIDIA GeForce GTX 480M":case"NVIDIA GeForce GTX 485M":case"NVIDIA NVS 5400M":case"NVIDIA Quadro 1000M":case"NVIDIA Quadro 2000":case"NVIDIA Quadro 2000M":case"NVIDIA Quadro 3000M":case"NVIDIA Quadro 4000":case"NVIDIA Quadro 4000M":case"NVIDIA Quadro 5000M":case"NVIDIA Quadro 600":case"NVIDIA Quadro 6000":t="Fermi";break;case"NVIDIA GeForce 410M":case"NVIDIA GeForce 510":case"NVIDIA GeForce 605":case"NVIDIA GeForce 705A":case"NVIDIA GeForce GT 520":case"NVIDIA GeForce GT 520MX":case"NVIDIA GeForce GT 545":case"NVIDIA GeForce GT 550M":case"NVIDIA GeForce GT 625":case"NVIDIA GeForce GT 705":case"NVIDIA GeForce GTX 550 Ti":case"NVIDIA GeForce GTX 555":case"NVIDIA GeForce GTX 560":case"NVIDIA GeForce GTX 560 SE":case"NVIDIA GeForce GTX 560 Ti":case"NVIDIA GeForce GTX 560M":case"NVIDIA GeForce GTX 570":case"NVIDIA GeForce GTX 570M":case"NVIDIA GeForce GTX 580":case"NVIDIA GeForce GTX 580M":case"NVIDIA GeForce GTX 590":case"NVIDIA GeForce GTX 670M":case"NVIDIA GeForce GTX 675M":case"NVIDIA NVS 315":case"NVIDIA NVS 4200M":case"NVIDIA Quadro 5010M":t="Fermi2"}t&&i.Nvidia.add(t)}else n.startsWith("Qualcomm")&&(/Snapdragon\(R\) X (Plus)|(Elite) - X1.*/.test(r.DXGI_ADAPTER_DESC3.Description)&&(t="X1"),/Qualcomm\(R\) Adreno\(TM\) X1.*/.test(r.DXGI_ADAPTER_DESC3.Description)?t="X1":r.DXGI_ADAPTER_DESC3.Description.includes("8cx")&&(t=r.DXGI_ADAPTER_DESC3.Description.slice(r.DXGI_ADAPTER_DESC3.Description.search(/8cx.*/)),t=t.replace("Gen ","")),t&&i.Qualcomm.add(t));t?(o.has(t)?o.get(t).push(r):o.set(t,[r]),s.has(t)?s.get(t).add(r.DXGI_ADAPTER_DESC3.Description):s.set(t,new Set([r.DXGI_ADAPTER_DESC3.Description]))):d.push(r)}function p(e){for(let t of e)l(t)||c(t);for(let[e,n]of o){let a=null;for(let e of n)t=e,(null==(r=a)||(t.CheckInterfaceSupport.UMDVersion!=r.CheckInterfaceSupport.UMDVersion?BigInt(t.CheckInterfaceSupport.UMDVersion)>BigInt(r.CheckInterfaceSupport.UMDVersion):t.Header.Version!=r.Header.Version?t.Header.Version>r.Header.Version:t.ID>r.ID))&&(a=e);D.set(e,a)}var t,r;function a(e,t){const r=[];for(const t of e)r.push(t);e.clear();for(const n of r.sort(t))e.add(n);return e}function s(e,t){let r=n.Vz[e]??9999,a=n.Vz[t]??9999;return r==a?e.localeCompare(t):r-a}a(i.AMD,s),a(i.Nvidia,s),a(i.Intel,s),a(i.Qualcomm,s)}},619:(e,t,r)=>{r.d(t,{A:()=>n});const n={RDNA3:.026000000000000002,Unknown:.0603,GCN1:.0011,GCN4:.0226,GCN3:5e-4,GCN2:1e-4,RDNA:.0104,RDNA2:.03929999999999999,RDNA4:.0015999999999999999,Vega:.008,"Gen7.5":.0021,Gen9:.0034999999999999996,Gen8:8e-4,"Gen9.5":.012400000000000001,Xe:.0196,Maxwell1:.0046,Kepler:.0017,Fermi:1e-4,Pascal:.062299999999999994,"Turing 16":.0701,Fermi2:3e-4,Maxwell2:.0066,"Turing 20":.05489999999999999,Ampere:.2176,Ada:.224,Blackwell:.0883,X1:5e-4}}},e=>{e(e.s=7)}]); \ No newline at end of file