@@ -1460,7 +1460,7 @@ namespace XUSG
14601460 uint16_t arraySize = 1 , ResourceFlag resourceFlags = ResourceFlag::NONE,
14611461 uint8_t numMips = 1 , uint8_t sampleCount = 1 , bool isCubeMap = false ,
14621462 MemoryFlag memoryFlags = MemoryFlag::NONE, const wchar_t * name = nullptr ,
1463- uint32_t maxThreads = 1 ) = 0;
1463+ uint8_t nullSrvValue = 0xff , uint32_t maxThreads = 1 ) = 0;
14641464 virtual bool Upload (CommandList* pCommandList, Resource* pUploader,
14651465 const SubresourceData* pSubresourceData, uint32_t numSubresources = 1 ,
14661466 ResourceState dstState = ResourceState::COMMON, uint32_t firstSubresource = 0 ,
@@ -1472,9 +1472,9 @@ namespace XUSG
14721472 uint32_t numSubresources = 1 , uint32_t firstSubresource = 0 , size_t offset = 0 ,
14731473 ResourceState dstState = ResourceState::COMMON, uint32_t threadIdx = 0 ) = 0;
14741474 virtual bool CreateSRVs (uint16_t arraySize, Format format = Format::UNKNOWN, uint8_t numMips = 1 ,
1475- uint8_t sampleCount = 1 , bool isCubeMap = false ) = 0;
1475+ uint8_t sampleCount = 1 , bool isCubeMap = false , uint8_t nullSrvValue = 0xff ) = 0;
14761476 virtual bool CreateSRVLevels (uint16_t arraySize, uint8_t numMips, Format format = Format::UNKNOWN,
1477- uint8_t sampleCount = 1 , bool isCubeMap = false ) = 0;
1477+ uint8_t sampleCount = 1 , bool isCubeMap = false , uint8_t nullSrvValue = 0xff ) = 0;
14781478 virtual bool CreateUAVs (uint16_t arraySize, Format format = Format::UNKNOWN, uint8_t numMips = 1 ,
14791479 std::vector<Descriptor>* pUavs = nullptr ) = 0;
14801480
@@ -1543,13 +1543,13 @@ namespace XUSG
15431543 uint16_t arraySize = 1 , ResourceFlag resourceFlags = ResourceFlag::NONE,
15441544 uint8_t numMips = 1 , uint8_t sampleCount = 1 , const float * pClearColor = nullptr ,
15451545 bool isCubeMap = false , MemoryFlag memoryFlags = MemoryFlag::NONE,
1546- const wchar_t * name = nullptr , uint32_t maxThreads = 1 ) = 0;
1546+ const wchar_t * name = nullptr , uint8_t nullSrvValue = 0xff , uint32_t maxThreads = 1 ) = 0;
15471547 // CreateArray() will create a single array RTV of n slices
15481548 virtual bool CreateArray (const Device* pDevice, uint32_t width, uint32_t height, uint16_t arraySize,
15491549 Format format, ResourceFlag resourceFlags = ResourceFlag::NONE, uint8_t numMips = 1 ,
15501550 uint8_t sampleCount = 1 , const float * pClearColor = nullptr , bool isCubeMap = false ,
15511551 MemoryFlag memoryFlags = MemoryFlag::NONE, const wchar_t * name = nullptr ,
1552- uint32_t maxThreads = 1 ) = 0;
1552+ uint8_t nullSrvValue = 0xff , uint32_t maxThreads = 1 ) = 0;
15531553 virtual bool CreateFromSwapChain (const Device* pDevice, const SwapChain* pSwapChain,
15541554 uint32_t bufferIndex, uint32_t maxThreads = 1 ) = 0;
15551555
@@ -1593,12 +1593,12 @@ namespace XUSG
15931593 uint16_t arraySize = 1 , uint8_t numMips = 1 , uint8_t sampleCount = 1 ,
15941594 float clearDepth = 1 .0f , uint8_t clearStencil = 0 , bool isCubeMap = false ,
15951595 MemoryFlag memoryFlags = MemoryFlag::NONE, const wchar_t * name = nullptr ,
1596- uint32_t maxThreads = 1 ) = 0;
1596+ uint8_t nullSrvValue = 0xff , uint32_t maxThreads = 1 ) = 0;
15971597 virtual bool CreateArray (const Device* pDevice, uint32_t width, uint32_t height, uint16_t arraySize,
15981598 Format format = Format::UNKNOWN, ResourceFlag resourceFlags = ResourceFlag::NONE,
15991599 uint8_t numMips = 1 , uint8_t sampleCount = 1 , float clearDepth = 1 .0f ,
16001600 uint8_t clearStencil = 0 , bool isCubeMap = false , MemoryFlag memoryFlags = MemoryFlag::NONE,
1601- const wchar_t * name = nullptr , uint32_t maxThreads = 1 ) = 0;
1601+ const wchar_t * name = nullptr , uint8_t nullSrvValue = 0xff , uint32_t maxThreads = 1 ) = 0;
16021602
16031603 virtual const Descriptor& GetDSV (uint16_t slice = 0 , uint8_t mipLevel = 0 ) const = 0;
16041604 virtual const Descriptor& GetReadOnlyDSV (uint16_t slice = 0 , uint8_t mipLevel = 0 ) const = 0;
@@ -1624,9 +1624,9 @@ namespace XUSG
16241624 virtual bool Create (const Device* pDevice, uint32_t width, uint32_t height, uint16_t depth,
16251625 Format format, ResourceFlag resourceFlags = ResourceFlag::NONE, uint8_t numMips = 1 ,
16261626 MemoryFlag memoryFlags = MemoryFlag::NONE, const wchar_t * name = nullptr ,
1627- uint32_t maxThreads = 1 ) = 0;
1628- virtual bool CreateSRVs (Format format = Format::UNKNOWN, uint8_t numMips = 1 ) = 0;
1629- virtual bool CreateSRVLevels (uint8_t numMips, Format format = Format::UNKNOWN) = 0;
1627+ uint8_t nullSrvValue = 0xff , uint32_t maxThreads = 1 ) = 0;
1628+ virtual bool CreateSRVs (Format format = Format::UNKNOWN, uint8_t numMips = 1 , uint8_t nullSrvValue = 0xff ) = 0;
1629+ virtual bool CreateSRVLevels (uint8_t numMips, Format format = Format::UNKNOWN, uint8_t nullSrvValue = 0xff ) = 0;
16301630 virtual bool CreateUAVs (Format format = Format::UNKNOWN, uint8_t numMips = 1 ,
16311631 std::vector<Descriptor>* pUavs = nullptr ) = 0;
16321632
@@ -1651,8 +1651,8 @@ namespace XUSG
16511651
16521652 virtual bool Create (const Device* pDevice, size_t byteWidth, ResourceFlag resourceFlags = ResourceFlag::NONE,
16531653 MemoryType memoryType = MemoryType::DEFAULT, uint32_t numSRVs = 1 ,
1654- const uint32_t * firstSRVElements = nullptr , uint32_t numUAVs = 1 ,
1655- const uint32_t * firstUAVElements = nullptr , MemoryFlag memoryFlags = MemoryFlag::NONE,
1654+ const uint32_t * firstSrvElements = nullptr , uint32_t numUAVs = 1 ,
1655+ const uint32_t * firstUavElements = nullptr , MemoryFlag memoryFlags = MemoryFlag::NONE,
16561656 const wchar_t * name = nullptr , uint32_t maxThreads = 1 ) = 0;
16571657 virtual bool Upload (CommandList* pCommandList, Resource* pUploader, const void * pData, size_t size,
16581658 size_t offset = 0 , ResourceState dstState = ResourceState::COMMON, uint32_t threadIdx = 0 ) = 0;
@@ -1695,8 +1695,8 @@ namespace XUSG
16951695
16961696 virtual bool Create (const Device* pDevice, uint32_t numElements, uint32_t stride,
16971697 ResourceFlag resourceFlags = ResourceFlag::NONE, MemoryType memoryType = MemoryType::DEFAULT,
1698- uint32_t numSRVs = 1 , const uint32_t * firstSRVElements = nullptr ,
1699- uint32_t numUAVs = 1 , const uint32_t * firstUAVElements = nullptr ,
1698+ uint32_t numSRVs = 1 , const uint32_t * firstSrvElements = nullptr ,
1699+ uint32_t numUAVs = 1 , const uint32_t * firstUavElements = nullptr ,
17001700 MemoryFlag memoryFlags = MemoryFlag::NONE, const wchar_t * name = nullptr ,
17011701 const size_t * counterOffsetsInBytes = nullptr , uint32_t maxThreads = 1 ) = 0;
17021702
@@ -1728,16 +1728,15 @@ namespace XUSG
17281728
17291729 virtual bool Create (const Device* pDevice, uint32_t numElements, uint32_t stride, Format format,
17301730 ResourceFlag resourceFlags = ResourceFlag::NONE, MemoryType memoryType = MemoryType::DEFAULT,
1731- uint32_t numSRVs = 1 , const uint32_t * firstSRVElements = nullptr ,
1732- uint32_t numUAVs = 1 , const uint32_t * firstUAVElements = nullptr ,
1731+ uint32_t numSRVs = 1 , const uint32_t * firstSrvElements = nullptr ,
1732+ uint32_t numUAVs = 1 , const uint32_t * firstUavElements = nullptr ,
17331733 MemoryFlag memoryFlags = MemoryFlag::NONE, const wchar_t * name = nullptr ,
1734- uint32_t maxThreads = 1 ) = 0;
1734+ uint8_t nullSrvValue = 0xff , uint32_t maxThreads = 1 ) = 0;
17351735
1736- virtual bool CreateSRVs (uint32_t numElements, Format format, uint32_t stride,
1737- const uint32_t * firstElements = nullptr , uint32_t numDescriptors = 1 ) = 0;
1738- virtual bool CreateUAVs (uint32_t numElements, Format format, uint32_t stride,
1739- const uint32_t * firstElements = nullptr , uint32_t numDescriptors = 1 ,
1740- std::vector<Descriptor>* pUavs = nullptr ) = 0;
1736+ virtual bool CreateSRVs (uint32_t numElements, Format format, uint32_t stride, const uint32_t * firstElements = nullptr ,
1737+ uint32_t numDescriptors = 1 , uint8_t nullSrvValue = 0xff ) = 0;
1738+ virtual bool CreateUAVs (uint32_t numElements, Format format, uint32_t stride, const uint32_t * firstElements = nullptr ,
1739+ uint32_t numDescriptors = 1 , std::vector<Descriptor>* pUavs = nullptr ) = 0;
17411740
17421741 virtual const Descriptor& GetPackedUAV (uint32_t index = 0 ) const = 0;
17431742
@@ -1761,14 +1760,14 @@ namespace XUSG
17611760 virtual bool Create (const Device* pDevice, uint32_t numVertices, uint32_t stride,
17621761 ResourceFlag resourceFlags = ResourceFlag::NONE, MemoryType memoryType = MemoryType::DEFAULT,
17631762 uint32_t numVBVs = 1 , const uint32_t * firstVertices = nullptr ,
1764- uint32_t numSRVs = 1 , const uint32_t * firstSRVElements = nullptr ,
1765- uint32_t numUAVs = 1 , const uint32_t * firstUAVElements = nullptr ,
1763+ uint32_t numSRVs = 1 , const uint32_t * firstSrvElements = nullptr ,
1764+ uint32_t numUAVs = 1 , const uint32_t * firstUavElements = nullptr ,
17661765 MemoryFlag memoryFlags = MemoryFlag::NONE, const wchar_t * name = nullptr ) = 0;
17671766 virtual bool CreateAsRaw (const Device* pDevice, uint32_t numVertices, uint32_t stride,
17681767 ResourceFlag resourceFlags = ResourceFlag::NONE, MemoryType memoryType = MemoryType::DEFAULT,
17691768 uint32_t numVBVs = 1 , const uint32_t * firstVertices = nullptr ,
1770- uint32_t numSRVs = 1 , const uint32_t * firstSRVElements = nullptr ,
1771- uint32_t numUAVs = 1 , const uint32_t * firstUAVElements = nullptr ,
1769+ uint32_t numSRVs = 1 , const uint32_t * firstSrvElements = nullptr ,
1770+ uint32_t numUAVs = 1 , const uint32_t * firstUavElements = nullptr ,
17721771 MemoryFlag memoryFlags = MemoryFlag::NONE, const wchar_t * name = nullptr ) = 0;
17731772
17741773 virtual const VertexBufferView& GetVBV (uint32_t index = 0 ) const = 0;
@@ -1794,8 +1793,8 @@ namespace XUSG
17941793 ResourceFlag resourceFlags = ResourceFlag::DENY_SHADER_RESOURCE,
17951794 MemoryType memoryType = MemoryType::DEFAULT,
17961795 uint32_t numIBVs = 1 , const size_t * offsets = nullptr ,
1797- uint32_t numSRVs = 1 , const uint32_t * firstSRVElements = nullptr ,
1798- uint32_t numUAVs = 1 , const uint32_t * firstUAVElements = nullptr ,
1796+ uint32_t numSRVs = 1 , const uint32_t * firstSrvElements = nullptr ,
1797+ uint32_t numUAVs = 1 , const uint32_t * firstUavElements = nullptr ,
17991798 MemoryFlag memoryFlags = MemoryFlag::NONE, const wchar_t * name = nullptr ) = 0;
18001799
18011800 virtual const IndexBufferView& GetIBV (uint32_t index = 0 ) const = 0;
@@ -2323,6 +2322,4 @@ namespace XUSG
23232322 XUSG_INTERFACE uint8_t Log2 (uint32_t value);
23242323 XUSG_INTERFACE uint8_t CalculateMipLevels (uint32_t width, uint32_t height, uint32_t depth = 1 );
23252324 XUSG_INTERFACE uint8_t CalculateMipLevels (uint64_t width, uint32_t height, uint32_t depth = 1 );
2326-
2327- XUSG_INTERFACE uint32_t CalcSubresource (uint8_t mipSlice, uint8_t numMips, uint32_t arraySlice, uint32_t arraySize, uint8_t planeSlice);
23282325}
0 commit comments