This workstream is complete when all core texture/sampler types are defined and basic texture sampling, load/store, and operator methods are supported on both SPIR-V/DirectX.
At the time of issue creation, support for Texture2D when targeting SPIR-V has progressed substantially. The approach taken is vertical to define the Texture2D and [Comparison]Sampler types and to then implement all the methods on Texture2D. It should then allow us to add support for the other types by adjusting methods for the new type. We will plan to use a similar approach.
Proposal Updates
Texture Methods
Note: The frontend for Texture2D/Sampler types are defined and all of the methods (except Store and .sample) currently output a placeholder call to the corresponding dx intrinsic, the work will be to correct the intrinsic call and provide the DXIL lowering.
Shader Flags
Texture Types
todo: update with issue links
This workstream is complete when all core texture/sampler types are defined and basic texture sampling, load/store, and operator methods are supported on both SPIR-V/DirectX.
At the time of issue creation, support for Texture2D when targeting SPIR-V has progressed substantially. The approach taken is vertical to define the
Texture2Dand[Comparison]Samplertypes and to then implement all the methods onTexture2D. It should then allow us to add support for the other types by adjusting methods for the new type. We will plan to use a similar approach.Proposal Updates
Storemethod and.sampleoperator #407Texture Methods
Note: The frontend for
Texture2D/Samplertypes are defined and all of the methods (exceptStoreand.sample) currently output a placeholder call to the correspondingdxintrinsic, the work will be to correct the intrinsic call and provide the DXIL lowering.Loadmethod ([DirectX] Implement lowering ofllvm.dx.resource.load.levelto theTextureLoadDXIL Op llvm-project#192546)Storemethodoperator[]([DirectX] Implement lowering ofoperator[]on texture types to theTextureLoadDXIL Op llvm-project#192558).mips[level][pos]operator ([DirectX] Implement lowering ofllvm.dx.resource.load.levelto theTextureLoadDXIL Op llvm-project#192546).sample[index][pos]operatorSamplemethod ([DirectX] Implement lowering ofllvm.dx.resource.sampleto theSampleDXIL Op llvm-project#192547)SampleBiasmethod ([DirectX] Implement lowering ofllvm.dx.resource.samplebiasto theSampleBiasDXIL Op llvm-project#192548)SampleGradmethod ([DirectX] Implement lowering ofllvm.dx.resource.samplegradto theSampleGradDXIL Op llvm-project#192549)SampleLevelmethod ([DirectX] Implement lowering ofllvm.dx.resource.samplelevelto theSampleLevelDXIL Op llvm-project#192550)Shader Flags
AdvancedTextureOpsllvm-project#116137SampleCmpGradientOrBiasllvm-project#116138ResourceDescriptorHeapIndexingllvm-project#116134SamplerDescriptorHeapIndexingllvm-project#116135Texture Types
todo: update with issue links