The GenerateMips functions should be part of the CommandBuffer interface instead of the RenderSystem interface.
Reason:
The D3D12 API needs a compute shader to generate MIP-maps, which is dispatched by the ID3D12GraphicsCommandList interface.
The Metal API needs a MTLBlitCommandEncoder to generate MIP-maps, which is acquired by the MTLCommandBuffer interface.
Appendix:
The Texture::QueryMipLevelSize function should possibly be renamed to Texture::QueryMipExtent, because the name "extent" corresponds better to the nomenclature. Done
The
GenerateMips
functions should be part of theCommandBuffer
interface instead of theRenderSystem
interface.Reason:
ID3D12GraphicsCommandList
interface.MTLBlitCommandEncoder
to generate MIP-maps, which is acquired by theMTLCommandBuffer
interface.Appendix:
Texture::QueryMipLevelSize
function should possibly be renamed toTexture::QueryMipExtent
, because the name "extent" corresponds better to the nomenclature. Done