39 const std::shared_ptr<DeviceD3D12> owningDevice;
40 Microsoft::WRL::ComPtr<ID3D12RootSignature> rootSignature;
55 std::unordered_map<textureBindingKey, bufferBindInfo> bufferBindingToRootSlot;
56 std::unordered_map<textureBindingKey, textureBindInfo> textureBindingToRootSlot;
57 std::unordered_map < uint32_t, uint32_t> samplerBindingtoRootSlot;
59 auto slotForBufferIdx(uint32_t bindingPos,
bool isBindless =
false) {
60 return bufferBindingToRootSlot.at({ bindingPos, isBindless? bindingPos : 0u }).slot;
63 auto slotForSamplerIdx(uint32_t bindingPos) {
64 return samplerBindingtoRootSlot.at(bindingPos);
67 auto slotForTextureIdx(uint32_t bindingPos,
bool isBindless) {
68 return textureBindingToRootSlot.at({ bindingPos, isBindless? bindingPos : 0u });
71 bool bufferIdxIsUAV(uint32_t bindingPos) {
72 return bufferBindingToRootSlot.at(bindingPos).isUAV;
75 PipelineLayoutD3D12(
decltype(owningDevice),
const PipelineLayoutDescriptor&);
Definition D3D12RenderPipeline.hpp:48
Definition D3D12RenderPipeline.hpp:13