ID3D12ShaderReflection::GetRequiresFlags 方法 (d3d12shader.h)
擷取一組旗標,指出著色器的需求。
Syntax
UINT64 GetRequiresFlags();
傳回值
類型: UINT64
值,其中包含一或多個著色器需求 #define
旗標的組合;每個旗標都會指定著色器的需求。 預設值為 0 表示沒有需求。
D3D_SHADER_REQUIRES_DOUBLES。 著色器需要圖形驅動程式和硬體支援 雙精度 浮點數資料類型。
D3D_SHADER_REQUIRES_EARLY_DEPTH_STENCIL。 著色器需要早期深度樣板。
D3D_SHADER_REQUIRES_UAVS_AT_EVERY_STAGE。 著色器需要在每個管線階段 (UAV) 未排序的存取檢視。
D3D_SHADER_REQUIRES_64_UAVS。 著色器需要 64 個 UAV。
D3D_SHADER_REQUIRES_MINIMUM_PRECISION。 著色器需要圖形驅動程式和硬體,才能支援最小精確度。 如需詳細資訊,請參閱 使用 HLSL 最小精確度。
D3D_SHADER_REQUIRES_11_1_DOUBLE_EXTENSIONS。 著色器需要圖形驅動程式和硬體支援擴充雙精度浮點數指示。 如需詳細資訊,請參閱D3D12_FEATURE_DATA_D3D12_OPTIONS的ExtendedDoublesShaderInstructions成員。
D3D_SHADER_REQUIRES_11_1_SHADER_EXTENSIONS。 著色器需要圖形驅動程式和硬體支援著色器中的 msad4 內建函式。 如需詳細資訊,請參閱D3D12_FEATURE_DATA_D3D12_OPTIONS的 SAD4ShaderInstructions成員。
D3D_SHADER_REQUIRES_LEVEL_9_COMPARISON_FILTERING。 著色器需要圖形驅動程式和硬體支援 Direct3D 9 陰影支援。
D3D_SHADER_REQUIRES_TILED_RESOURCES。 著色器需要圖形驅動程式和硬體支援磚資源。
D3D_SHADER_REQUIRES_STENCIL_REF。 著色器需要深度樣板測試的參考值。 如需詳細資訊,請參閱D3D12_FEATURE_DATA_D3D12_OPTIONS結構的PSSpecifiedStencilRefSupported成員,以及ID3D12GraphicsCommandList::OMSetStencilRef。
D3D_SHADER_REQUIRES_INNER_COVERAGE。 著色器需要圖形驅動程式和硬體支援內部涵蓋範圍。 如需詳細資訊,請參閱D3D_NAME中的列舉常數D3D_NAME_INNER_COVERAGE和D3D11_NAME_INNER_COVERAGE。
D3D_SHADER_REQUIRES_TYPED_UAV_LOAD_ADDITIONAL_FORMATS。 著色器需要圖形驅動程式和硬體支援載入具型別未排序存取檢視的其他格式, (UAV) 。 請參閱D3D12_FEATURE_DATA_D3D12_OPTIONS結構的TypedUAVLoadAdditionalFormats成員。
D3D_SHADER_REQUIRES_ROVS。 著色器需要圖形驅動程式和硬體支援點陣化排序檢視, (ROV) 。 請參閱 點陣化排序檢視。
D3D_SHADER_REQUIRES_VIEWPORT_AND_RT_ARRAY_INDEX_FROM_ANY_SHADER_FEEDING_RASTERIZER。 著色器需要圖形驅動程式和硬體支援檢視區,並從任何著色器饋送點陣化器轉譯目標陣列索引值。 如需詳細資訊,請參閱D3D12_FEATURE_DATA_D3D12_OPTIONS結構的成員VPAndRTArrayIndexFromAnyShaderFeedingRasterizerSupportedWithoutGSEmulation。
D3D_SHADER_REQUIRES_WAVE_OPS。 著色器需要圖形驅動程式和硬體支援波浪線。 如需詳細資訊,請參閱D3D12_FEATURE_DATA_D3D12_OPTIONS1結構的成員WaveOps。
D3D_SHADER_REQUIRES_INT64_OPS。 著色器需要圖形驅動程式和硬體支援 64 位整數作業。 如需詳細資訊,請參閱D3D12_FEATURE_DATA_D3D12_OPTIONS1結構的成員Int64ShaderOps。
D3D_SHADER_REQUIRES_VIEW_ID。 著色器需要使用 SV_ViewID來檢視圖形驅動程式和硬體支援實例。 如需詳細資訊,請參閱D3D12_FEATURE_DATA_D3D12_OPTIONS3結構的成員ViewInstancingTier。
D3D_SHADER_REQUIRES_BARYCENTRICS。 著色器需要圖形驅動程式和硬體支援使用 SV_Barycentrics的直心型。 如需詳細資訊,請參閱D3D12_FEATURE_DATA_D3D12_OPTIONS3結構的成員BarycentricsSupported。
D3D_SHADER_REQUIRES_NATIVE_16BIT_OPS。 著色器需要圖形驅動程式和硬體支援原生 16 位的作業。 如需詳細資訊,請參閱D3D12_FEATURE_DATA_D3D12_OPTIONS4結構的成員Native16BitShaderOpsSupported。
D3D_SHADER_REQUIRES_SHADING_RATE。 著色器需要圖形驅動程式和硬體支援可變網底速率 (VRS) 功能。 如需詳細資訊,請參閱D3D12_FEATURE_DATA_D3D12_OPTIONS6結構的成員VariableShadingRateTier。
D3D_SHADER_REQUIRES_RAYTRACING_TIER_1_1。 著色器需要圖形驅動程式和硬體支援 DXR 第 1.1 層。 如需詳細資訊,請參閱D3D12_FEATURE_DATA_D3D12_OPTIONS5結構的成員RaytracingTier。
D3D_SHADER_REQUIRES_SAMPLER_FEEDBACK。 著色器需要圖形驅動程式和硬體支援取樣器意見反應。 如需詳細資訊,請參閱D3D12_FEATURE_DATA_D3D12_OPTIONS7結構的成員SamplerFeedbackTier。
D3D_SHADER_REQUIRES_ATOMIC_INT64_ON_TYPED_RESOURCE。 著色器需要圖形驅動程式和硬體在具型別資源上支援 int64 不可部分完成。 如需詳細資訊,請參閱D3D12_FEATURE_DATA_D3D12_OPTIONS9結構的成員AtomicInt64OnTypedResourceSupported。
D3D_SHADER_REQUIRES_ATOMIC_INT64_ON_GROUP_SHARED。 著色器需要圖形驅動程式和硬體在群組共用記憶體上支援 int64 不可部分完成的記憶體。 如需詳細資訊,請參閱D3D12_FEATURE_DATA_D3D12_OPTIONS9結構的成員AtomicInt64OnGroupSharedSupported。
D3D_SHADER_REQUIRES_DERI加值稅IVES_IN_MESH_AND_AMPLIFICATION_SHADERS。 著色器需要圖形驅動程式和硬體支援網格和放大著色器中的衍生專案。 如需詳細資訊,請參閱D3D12_FEATURE_DATA_D3D12_OPTIONS9結構的成員DerivativesInMeshAndAmplificationShadersSupported。
D3D_SHADER_REQUIRES_RESOURCE_DESCRIPTOR_HEAP_INDEXING。 著色器需要圖形驅動程式和硬體支援動態資源, (著色器模型 6.6) 和 ResourceDescriptorHeap 的需求。 如需詳細資訊,請參閱 GitHub 上的 HLSL 動態資源 規格。
D3D_SHADER_REQUIRES_SAMPLER_DESCRIPTOR_HEAP_INDEXING。 著色器需要圖形驅動程式和硬體支援動態資源, (著色器模型 6.6) 和 SamplerDescriptorHeap 的需求。 如需詳細資訊,請參閱 GitHub 上的 HLSL 動態資源 規格。
D3D_SHADER_REQUIRES_WAVE_MMA。 著色器需要圖形驅動程式和硬體支援 Wave MMA。 如需詳細資訊,請參閱D3D12_FEATURE_DATA_D3D12_OPTIONS9結構的成員WaveMMATier。
D3D_SHADER_REQUIRES_ATOMIC_INT64_ON_DESCRIPTOR_HEAP_RESOURCE。 著色器要求圖形驅動程式和硬體支援描述元堆積資源的 int64 不可部分完成專案。 如需詳細資訊,請參閱D3D12_FEATURE_DATA_D3D12_OPTIONS11結構的成員AtomicInt64OnDescriptorHeapResourceSupported。
備註
以下是標頭檔定義著色器需求旗標的方式 d3d12shader.h
:
#define D3D_SHADER_REQUIRES_DOUBLES 0x00000001
#define D3D_SHADER_REQUIRES_EARLY_DEPTH_STENCIL 0x00000002
#define D3D_SHADER_REQUIRES_UAVS_AT_EVERY_STAGE 0x00000004
#define D3D_SHADER_REQUIRES_64_UAVS 0x00000008
#define D3D_SHADER_REQUIRES_MINIMUM_PRECISION 0x00000010
#define D3D_SHADER_REQUIRES_11_1_DOUBLE_EXTENSIONS 0x00000020
#define D3D_SHADER_REQUIRES_11_1_SHADER_EXTENSIONS 0x00000040
#define D3D_SHADER_REQUIRES_LEVEL_9_COMPARISON_FILTERING 0x00000080
#define D3D_SHADER_REQUIRES_TILED_RESOURCES 0x00000100
#define D3D_SHADER_REQUIRES_STENCIL_REF 0x00000200
#define D3D_SHADER_REQUIRES_INNER_COVERAGE 0x00000400
#define D3D_SHADER_REQUIRES_TYPED_UAV_LOAD_ADDITIONAL_FORMATS 0x00000800
#define D3D_SHADER_REQUIRES_ROVS 0x00001000
#define D3D_SHADER_REQUIRES_VIEWPORT_AND_RT_ARRAY_INDEX_FROM_ANY_SHADER_FEEDING_RASTERIZER 0x00002000
#define D3D_SHADER_REQUIRES_WAVE_OPS 0x00004000
#define D3D_SHADER_REQUIRES_INT64_OPS 0x00008000
#define D3D_SHADER_REQUIRES_VIEW_ID 0x00010000
#define D3D_SHADER_REQUIRES_BARYCENTRICS 0x00020000
#define D3D_SHADER_REQUIRES_NATIVE_16BIT_OPS 0x00040000
#define D3D_SHADER_REQUIRES_SHADING_RATE 0x00080000
#define D3D_SHADER_REQUIRES_RAYTRACING_TIER_1_1 0x00100000
#define D3D_SHADER_REQUIRES_SAMPLER_FEEDBACK 0x00200000
#define D3D_SHADER_REQUIRES_ATOMIC_INT64_ON_TYPED_RESOURCE 0x00400000
#define D3D_SHADER_REQUIRES_ATOMIC_INT64_ON_GROUP_SHARED 0x00800000
#define D3D_SHADER_REQUIRES_DERIVATIVES_IN_MESH_AND_AMPLIFICATION_SHADERS 0x01000000
#define D3D_SHADER_REQUIRES_RESOURCE_DESCRIPTOR_HEAP_INDEXING 0x02000000
#define D3D_SHADER_REQUIRES_SAMPLER_DESCRIPTOR_HEAP_INDEXING 0x04000000
#define D3D_SHADER_REQUIRES_WAVE_MMA 0x08000000
#define D3D_SHADER_REQUIRES_ATOMIC_INT64_ON_DESCRIPTOR_HEAP_RESOURCE 0x10000000
規格需求
目標平台 | Windows |
標頭 | d3d12shader.h |