D3D12: Dump all feature support options.
This commit is contained in:
parent
30176ceab8
commit
6d08be28f7
@ -850,6 +850,7 @@ namespace bgfx { namespace d3d12
|
||||
|
||||
D3D_FEATURE_LEVEL featureLevel[] =
|
||||
{
|
||||
D3D_FEATURE_LEVEL_12_2,
|
||||
D3D_FEATURE_LEVEL_12_1,
|
||||
D3D_FEATURE_LEVEL_12_0,
|
||||
D3D_FEATURE_LEVEL_11_1,
|
||||
@ -909,10 +910,6 @@ namespace bgfx { namespace d3d12
|
||||
if (FAILED(hr) )
|
||||
{
|
||||
BX_TRACE("Init error: Unable to create Direct3D12 device.");
|
||||
if (BX_ENABLED(BX_PLATFORM_WINRT) )
|
||||
{
|
||||
BX_TRACE("Hint: Change UWP app to game?");
|
||||
}
|
||||
goto error;
|
||||
}
|
||||
|
||||
@ -972,6 +969,146 @@ namespace bgfx { namespace d3d12
|
||||
BX_TRACE("\tCrossNodeSharingTier %d", m_options.CrossNodeSharingTier);
|
||||
BX_TRACE("\tResourceHeapTier %d", m_options.ResourceHeapTier);
|
||||
|
||||
for (D3D12_FEATURE_DATA_D3D12_OPTIONS1 options1; SUCCEEDED(m_device->CheckFeatureSupport(D3D12_FEATURE_D3D12_OPTIONS1, &options1, sizeof(options1)));)
|
||||
{
|
||||
BX_TRACE("D3D12 options 1:");
|
||||
BX_TRACE("\tWaveOps %d", options1.WaveOps);
|
||||
BX_TRACE("\tWaveLaneCountMin %d", options1.WaveLaneCountMin);
|
||||
BX_TRACE("\tWaveLaneCountMax %d", options1.WaveLaneCountMax);
|
||||
BX_TRACE("\tTotalLaneCount %d", options1.TotalLaneCount);
|
||||
BX_TRACE("\tExpandedComputeResourceStates %d", options1.ExpandedComputeResourceStates);
|
||||
BX_TRACE("\tInt64ShaderOps %d", options1.Int64ShaderOps);
|
||||
break;
|
||||
}
|
||||
|
||||
for (D3D12_FEATURE_DATA_D3D12_OPTIONS2 options2; SUCCEEDED(m_device->CheckFeatureSupport(D3D12_FEATURE_D3D12_OPTIONS2, &options2, sizeof(options2)));)
|
||||
{
|
||||
BX_TRACE("D3D12 options 2:");
|
||||
BX_TRACE("\tCopyQueueTimestampQueriesSupported %d", options2.DepthBoundsTestSupported);
|
||||
BX_TRACE("\tCastingFullyTypedFormatSupported %d", options2.ProgrammableSamplePositionsTier);
|
||||
break;
|
||||
}
|
||||
|
||||
for (D3D12_FEATURE_DATA_D3D12_OPTIONS3 options3; SUCCEEDED(m_device->CheckFeatureSupport(D3D12_FEATURE_D3D12_OPTIONS3, &options3, sizeof(options3)));)
|
||||
{
|
||||
BX_TRACE("D3D12 options 3:");
|
||||
BX_TRACE("\tCopyQueueTimestampQueriesSupported %d", options3.CopyQueueTimestampQueriesSupported);
|
||||
BX_TRACE("\tCastingFullyTypedFormatSupported %d", options3.CastingFullyTypedFormatSupported);
|
||||
BX_TRACE("\tWriteBufferImmediateSupportFlags %d", options3.WriteBufferImmediateSupportFlags);
|
||||
BX_TRACE("\tViewInstancingTier %d", options3.ViewInstancingTier);
|
||||
BX_TRACE("\tBarycentricsSupported %d", options3.BarycentricsSupported);
|
||||
break;
|
||||
}
|
||||
|
||||
for (D3D12_FEATURE_DATA_D3D12_OPTIONS4 options4; SUCCEEDED(m_device->CheckFeatureSupport(D3D12_FEATURE_D3D12_OPTIONS4, &options4, sizeof(options4)));)
|
||||
{
|
||||
BX_TRACE("D3D12 options 4:");
|
||||
BX_TRACE("\tMSAA64KBAlignedTextureSupported %d", options4.MSAA64KBAlignedTextureSupported);
|
||||
BX_TRACE("\tSharedResourceCompatibilityTier %d", options4.SharedResourceCompatibilityTier);
|
||||
BX_TRACE("\tNative16BitShaderOpsSupported %d", options4.Native16BitShaderOpsSupported);
|
||||
break;
|
||||
}
|
||||
|
||||
for (D3D12_FEATURE_DATA_D3D12_OPTIONS5 options5; SUCCEEDED(m_device->CheckFeatureSupport(D3D12_FEATURE_D3D12_OPTIONS5, &options5, sizeof(options5) ) );)
|
||||
{
|
||||
BX_TRACE("D3D12 options 5:");
|
||||
BX_TRACE("\tSRVOnlyTiledResourceTier3 %d", options5.SRVOnlyTiledResourceTier3);
|
||||
BX_TRACE("\tRenderPassesTier %d", options5.RenderPassesTier);
|
||||
BX_TRACE("\tRaytracingTier %d", options5.RaytracingTier);
|
||||
break;
|
||||
}
|
||||
|
||||
for (D3D12_FEATURE_DATA_D3D12_OPTIONS6 options6; SUCCEEDED(m_device->CheckFeatureSupport(D3D12_FEATURE_D3D12_OPTIONS6, &options6, sizeof(options6)));)
|
||||
{
|
||||
BX_TRACE("D3D12 options 6:");
|
||||
BX_TRACE("\tAdditionalShadingRatesSupported %d", options6.AdditionalShadingRatesSupported);
|
||||
BX_TRACE("\tPerPrimitiveShadingRateSupportedWithViewportIndexing %d", options6.PerPrimitiveShadingRateSupportedWithViewportIndexing);
|
||||
BX_TRACE("\tVariableShadingRateTier %d", options6.VariableShadingRateTier);
|
||||
BX_TRACE("\tShadingRateImageTileSize %d", options6.ShadingRateImageTileSize);
|
||||
BX_TRACE("\tBackgroundProcessingSupported %d", options6.BackgroundProcessingSupported);
|
||||
break;
|
||||
}
|
||||
|
||||
for (D3D12_FEATURE_DATA_D3D12_OPTIONS7 options7; SUCCEEDED(m_device->CheckFeatureSupport(D3D12_FEATURE_D3D12_OPTIONS7, &options7, sizeof(options7)));)
|
||||
{
|
||||
BX_TRACE("D3D12 options 7:");
|
||||
BX_TRACE("\tMeshShaderTier %d", options7.MeshShaderTier);
|
||||
BX_TRACE("\tSamplerFeedbackTier %d", options7.SamplerFeedbackTier);
|
||||
break;
|
||||
}
|
||||
|
||||
for (D3D12_FEATURE_DATA_D3D12_OPTIONS8 options8; SUCCEEDED(m_device->CheckFeatureSupport(D3D12_FEATURE_D3D12_OPTIONS8, &options8, sizeof(options8)));)
|
||||
{
|
||||
BX_TRACE("D3D12 options 8:");
|
||||
BX_TRACE("\tUnalignedBlockTexturesSupported %d", options8.UnalignedBlockTexturesSupported);
|
||||
break;
|
||||
}
|
||||
|
||||
for (D3D12_FEATURE_DATA_D3D12_OPTIONS9 options9; SUCCEEDED(m_device->CheckFeatureSupport(D3D12_FEATURE_D3D12_OPTIONS9, &options9, sizeof(options9)));)
|
||||
{
|
||||
BX_TRACE("D3D12 options 9:");
|
||||
BX_TRACE("\tMeshShaderPipelineStatsSupported %d", options9.MeshShaderPipelineStatsSupported);
|
||||
BX_TRACE("\tMeshShaderSupportsFullRangeRenderTargetArrayIndex %d", options9.MeshShaderSupportsFullRangeRenderTargetArrayIndex);
|
||||
BX_TRACE("\tAtomicInt64OnTypedResourceSupported %d", options9.AtomicInt64OnTypedResourceSupported);
|
||||
BX_TRACE("\tAtomicInt64OnGroupSharedSupported %d", options9.AtomicInt64OnGroupSharedSupported);
|
||||
BX_TRACE("\tDerivativesInMeshAndAmplificationShadersSupported %d", options9.DerivativesInMeshAndAmplificationShadersSupported);
|
||||
BX_TRACE("\tWaveMMATier %d", options9.WaveMMATier);
|
||||
break;
|
||||
}
|
||||
|
||||
for (D3D12_FEATURE_DATA_D3D12_OPTIONS10 options10; SUCCEEDED(m_device->CheckFeatureSupport(D3D12_FEATURE_D3D12_OPTIONS10, &options10, sizeof(options10)));)
|
||||
{
|
||||
BX_TRACE("D3D12 options 10:");
|
||||
BX_TRACE("\tVariableRateShadingSumCombinerSupported %d", options10.VariableRateShadingSumCombinerSupported);
|
||||
BX_TRACE("\tMeshShaderPerPrimitiveShadingRateSupported %d", options10.MeshShaderPerPrimitiveShadingRateSupported);
|
||||
break;
|
||||
}
|
||||
|
||||
for (D3D12_FEATURE_DATA_D3D12_OPTIONS11 options11; SUCCEEDED(m_device->CheckFeatureSupport(D3D12_FEATURE_D3D12_OPTIONS11, &options11, sizeof(options11)));)
|
||||
{
|
||||
BX_TRACE("D3D12 options 11:");
|
||||
BX_TRACE("\tAtomicInt64OnDescriptorHeapResourceSupported %d", options11.AtomicInt64OnDescriptorHeapResourceSupported);
|
||||
break;
|
||||
}
|
||||
|
||||
for (D3D12_FEATURE_DATA_D3D12_OPTIONS12 options12; SUCCEEDED(m_device->CheckFeatureSupport(D3D12_FEATURE_D3D12_OPTIONS12, &options12, sizeof(options12)));)
|
||||
{
|
||||
BX_TRACE("D3D12 options 12:");
|
||||
BX_TRACE("\tMSPrimitivesPipelineStatisticIncludesCulledPrimitives %d", options12.MSPrimitivesPipelineStatisticIncludesCulledPrimitives);
|
||||
BX_TRACE("\tEnhancedBarriersSupported %d", options12.EnhancedBarriersSupported);
|
||||
BX_TRACE("\tRelaxedFormatCastingSupported %d", options12.RelaxedFormatCastingSupported);
|
||||
break;
|
||||
}
|
||||
|
||||
for (D3D12_FEATURE_DATA_D3D12_OPTIONS13 options13; SUCCEEDED(m_device->CheckFeatureSupport(D3D12_FEATURE_D3D12_OPTIONS12, &options13, sizeof(options13)));)
|
||||
{
|
||||
BX_TRACE("D3D12 options 13:");
|
||||
BX_TRACE("\tUnrestrictedBufferTextureCopyPitchSupported %d", options13.UnrestrictedBufferTextureCopyPitchSupported);
|
||||
BX_TRACE("\tUnrestrictedVertexElementAlignmentSupported %d", options13.UnrestrictedVertexElementAlignmentSupported);
|
||||
BX_TRACE("\tInvertedViewportHeightFlipsYSupported %d", options13.InvertedViewportHeightFlipsYSupported);
|
||||
BX_TRACE("\tInvertedViewportDepthFlipsZSupported %d", options13.InvertedViewportDepthFlipsZSupported);
|
||||
BX_TRACE("\tTextureCopyBetweenDimensionsSupported %d", options13.TextureCopyBetweenDimensionsSupported);
|
||||
BX_TRACE("\tAlphaBlendFactorSupported %d", options13.AlphaBlendFactorSupported);
|
||||
break;
|
||||
}
|
||||
|
||||
for (D3D12_FEATURE_DATA_D3D12_OPTIONS14 options14; SUCCEEDED(m_device->CheckFeatureSupport(D3D12_FEATURE_D3D12_OPTIONS12, &options14, sizeof(options14)));)
|
||||
{
|
||||
BX_TRACE("D3D12 options 14:");
|
||||
BX_TRACE("\tAdvancedTextureOpsSupported %d", options14.AdvancedTextureOpsSupported);
|
||||
BX_TRACE("\tWriteableMSAATexturesSupported %d", options14.WriteableMSAATexturesSupported);
|
||||
BX_TRACE("\tIndependentFrontAndBackStencilRefMaskSupported %d", options14.IndependentFrontAndBackStencilRefMaskSupported);
|
||||
break;
|
||||
}
|
||||
|
||||
for (D3D12_FEATURE_DATA_D3D12_OPTIONS15 options15; SUCCEEDED(m_device->CheckFeatureSupport(D3D12_FEATURE_D3D12_OPTIONS12, &options15, sizeof(options15)));)
|
||||
{
|
||||
BX_TRACE("D3D12 options 15:");
|
||||
BX_TRACE("\tTriangleFanSupported %d", options15.TriangleFanSupported);
|
||||
BX_TRACE("\tDynamicIndexBufferStripCutSupported %d", options15.DynamicIndexBufferStripCutSupported);
|
||||
break;
|
||||
}
|
||||
|
||||
initHeapProperties(m_device);
|
||||
|
||||
m_cmd.init(m_device);
|
||||
|
Loading…
Reference in New Issue
Block a user