diff --git a/docs/api.md b/docs/api.md index 6925f18..191a395 100644 --- a/docs/api.md +++ b/docs/api.md @@ -196,5 +196,3 @@ | API | CPU | CUDA | D3D11 | D3D12 | Vulkan | Metal | WGPU | |---------------|-----|------|-------|-------|--------|-------|------| | `endEncoding` | :x: | :x: | :x: | :x: | :x: | :x: | :x: | - - diff --git a/include/slang-rhi.h b/include/slang-rhi.h index 03060e6..02378ea 100644 --- a/include/slang-rhi.h +++ b/include/slang-rhi.h @@ -683,7 +683,7 @@ struct TextureDesc /// Array length. GfxCount arrayLength = 0; /// Number of mip levels - if 0 will create all mip levels. - GfxCount numMipLevels = 0; + GfxCount mipLevelCount = 0; /// The resources format. Format format; /// Number of samples per pixel. @@ -2517,7 +2517,7 @@ inline AdapterList rhiGetAdapters(DeviceType type) struct D3D12ExperimentalFeaturesDesc { StructType structType = StructType::D3D12ExperimentalFeaturesDesc; - uint32_t numFeatures; + uint32_t featureCount; const void* featureIIDs; void* configurationStructs; uint32_t* configurationStructSizes; diff --git a/src/cpu/cpu-texture-view.cpp b/src/cpu/cpu-texture-view.cpp index 726d523..2f7a094 100644 --- a/src/cpu/cpu-texture-view.cpp +++ b/src/cpu/cpu-texture-view.cpp @@ -11,7 +11,7 @@ slang_prelude::TextureDimensions TextureViewImpl::GetDimensions(int mipLevel) auto baseShape = texture->m_baseShape; dimensions.arrayElementCount = desc.arrayLength; - dimensions.numberOfLevels = desc.numMipLevels; + dimensions.numberOfLevels = desc.mipLevelCount; dimensions.shape = baseShape->rank; dimensions.width = desc.size.width; dimensions.height = desc.size.height; @@ -57,8 +57,8 @@ void TextureViewImpl::SampleLevel( int32_t baseCoordCount = baseShape->baseCoordCount; int32_t integerMipLevel = int32_t(level + 0.5f); - if (integerMipLevel >= desc.numMipLevels) - integerMipLevel = desc.numMipLevels - 1; + if (integerMipLevel >= desc.mipLevelCount) + integerMipLevel = desc.mipLevelCount - 1; if (integerMipLevel < 0) integerMipLevel = 0; @@ -134,8 +134,8 @@ void* TextureViewImpl::_getTexelPtr(int32_t const* texelCoords) int32_t mipLevel = 0; if (!hasMipLevels) mipLevel = texelCoords[coordIndex++]; - if (mipLevel >= desc.numMipLevels) - mipLevel = desc.numMipLevels - 1; + if (mipLevel >= desc.mipLevelCount) + mipLevel = desc.mipLevelCount - 1; if (mipLevel < 0) mipLevel = 0; diff --git a/src/cpu/cpu-texture.cpp b/src/cpu/cpu-texture.cpp index 64486db..9322837 100644 --- a/src/cpu/cpu-texture.cpp +++ b/src/cpu/cpu-texture.cpp @@ -135,7 +135,7 @@ Result TextureImpl::init(SubresourceData const* initData) for (int32_t axis = rank; axis < kMaxRank; ++axis) extents[axis] = 1; - int32_t levelCount = desc.numMipLevels; + int32_t levelCount = desc.mipLevelCount; m_mipLevels.resize(levelCount); @@ -172,12 +172,12 @@ Result TextureImpl::init(SubresourceData const* initData) if (initData) { - int32_t subResourceCounter = 0; + int32_t subresourceCounter = 0; for (int32_t arrayElementIndex = 0; arrayElementIndex < effectiveArrayElementCount; ++arrayElementIndex) { - for (int32_t mipLevel = 0; mipLevel < m_desc.numMipLevels; ++mipLevel) + for (int32_t mipLevel = 0; mipLevel < m_desc.mipLevelCount; ++mipLevel) { - int32_t subResourceIndex = subResourceCounter++; + int32_t subresourceIndex = subresourceCounter++; auto dstRowStride = m_mipLevels[mipLevel].strides[1]; auto dstLayerStride = m_mipLevels[mipLevel].strides[2]; @@ -188,7 +188,7 @@ Result TextureImpl::init(SubresourceData const* initData) auto rowCount = m_mipLevels[mipLevel].extents[1]; auto depthLayerCount = m_mipLevels[mipLevel].extents[2]; - auto& srcImage = initData[subResourceIndex]; + auto& srcImage = initData[subresourceIndex]; ptrdiff_t srcRowStride = ptrdiff_t(srcImage.strideY); ptrdiff_t srcLayerStride = ptrdiff_t(srcImage.strideZ); diff --git a/src/cuda/cuda-command-encoder.cpp b/src/cuda/cuda-command-encoder.cpp index 8660182..97de034 100644 --- a/src/cuda/cuda-command-encoder.cpp +++ b/src/cuda/cuda-command-encoder.cpp @@ -71,19 +71,19 @@ void ResourceCommandEncoderImpl::copyTexture( void ResourceCommandEncoderImpl::uploadTextureData( ITexture* dst, - SubresourceRange subResourceRange, + SubresourceRange subresourceRange, Offset3D offset, Extents extent, - SubresourceData* subResourceData, - GfxCount subResourceDataCount + SubresourceData* subresourceData, + GfxCount subresourceDataCount ) { SLANG_UNUSED(dst); - SLANG_UNUSED(subResourceRange); + SLANG_UNUSED(subresourceRange); SLANG_UNUSED(offset); SLANG_UNUSED(extent); - SLANG_UNUSED(subResourceData); - SLANG_UNUSED(subResourceDataCount); + SLANG_UNUSED(subresourceData); + SLANG_UNUSED(subresourceDataCount); SLANG_RHI_UNIMPLEMENTED("uploadTextureData"); } diff --git a/src/cuda/cuda-command-encoder.h b/src/cuda/cuda-command-encoder.h index 2f2f2b1..0ac0b89 100644 --- a/src/cuda/cuda-command-encoder.h +++ b/src/cuda/cuda-command-encoder.h @@ -77,11 +77,11 @@ class ResourceCommandEncoderImpl : public IResourceCommandEncoder, public Comman virtual SLANG_NO_THROW void SLANG_MCALL uploadTextureData( ITexture* dst, - SubresourceRange subResourceRange, + SubresourceRange subresourceRange, Offset3D offset, Extents extent, - SubresourceData* subResourceData, - GfxCount subResourceDataCount + SubresourceData* subresourceData, + GfxCount subresourceDataCount ) override; virtual SLANG_NO_THROW void SLANG_MCALL clearBuffer(IBuffer* buffer, const BufferRange* range) override; diff --git a/src/cuda/cuda-device.cpp b/src/cuda/cuda-device.cpp index 8599737..aba1c33 100644 --- a/src/cuda/cuda-device.cpp +++ b/src/cuda/cuda-device.cpp @@ -392,7 +392,7 @@ Result DeviceImpl::createTexture(const TextureDesc& desc, const SubresourceData* } } - if (desc.numMipLevels > 1) + if (desc.mipLevelCount > 1) { resourceType = CU_RESOURCE_TYPE_MIPMAPPED_ARRAY; @@ -427,7 +427,7 @@ Result DeviceImpl::createTexture(const TextureDesc& desc, const SubresourceData* arrayDesc.Depth *= 6; } - SLANG_CUDA_RETURN_ON_FAIL(cuMipmappedArrayCreate(&tex->m_cudaMipMappedArray, &arrayDesc, desc.numMipLevels) + SLANG_CUDA_RETURN_ON_FAIL(cuMipmappedArrayCreate(&tex->m_cudaMipMappedArray, &arrayDesc, desc.mipLevelCount) ); } else @@ -507,7 +507,7 @@ Result DeviceImpl::createTexture(const TextureDesc& desc, const SubresourceData* if (initData) { std::vector workspace; - for (int mipLevel = 0; mipLevel < desc.numMipLevels; ++mipLevel) + for (int mipLevel = 0; mipLevel < desc.mipLevelCount; ++mipLevel) { int mipWidth = width >> mipLevel; int mipHeight = height >> mipLevel; @@ -566,7 +566,7 @@ Result DeviceImpl::createTexture(const TextureDesc& desc, const SubresourceData* // We iterate over face count so we copy all of the cubemap faces for (Index j = 0; j < faceCount; j++) { - const auto srcData = initData[mipLevel + j * desc.numMipLevels].data; + const auto srcData = initData[mipLevel + j * desc.mipLevelCount].data; // Copy over to the workspace to make contiguous ::memcpy(workspace.data() + faceSizeInBytes * j, srcData, faceSizeInBytes); } @@ -583,7 +583,7 @@ Result DeviceImpl::createTexture(const TextureDesc& desc, const SubresourceData* // Copy the data over to make contiguous for (Index j = 0; j < 6; j++) { - const auto srcData = initData[mipLevel + j * desc.numMipLevels].data; + const auto srcData = initData[mipLevel + j * desc.mipLevelCount].data; ::memcpy(workspace.data() + faceSizeInBytes * j, srcData, faceSizeInBytes); } srcDataPtr = workspace.data(); @@ -701,7 +701,7 @@ Result DeviceImpl::createTexture(const TextureDesc& desc, const SubresourceData* if (is_set(desc.usage, TextureUsage::UnorderedAccess)) { // On CUDA surfaces only support a single MIP map - SLANG_RHI_ASSERT(desc.numMipLevels == 1); + SLANG_RHI_ASSERT(desc.mipLevelCount == 1); SLANG_CUDA_RETURN_ON_FAIL(cuSurfObjectCreate(&tex->m_cudaSurfObj, &resDesc)); } @@ -849,7 +849,7 @@ Result DeviceImpl::createTextureFromSharedHandle( memset(&externalMemoryMipDesc, 0, sizeof(externalMemoryMipDesc)); externalMemoryMipDesc.offset = 0; externalMemoryMipDesc.arrayDesc = arrayDesc; - externalMemoryMipDesc.numLevels = desc.numMipLevels; + externalMemoryMipDesc.numLevels = desc.mipLevelCount; CUmipmappedArray mipArray; SLANG_CUDA_RETURN_ON_FAIL(cuExternalMemoryGetMappedMipmappedArray(&mipArray, externalMemory, &externalMemoryMipDesc) diff --git a/src/d3d11/d3d11-device.cpp b/src/d3d11/d3d11-device.cpp index 71ecdef..86797be 100644 --- a/src/d3d11/d3d11-device.cpp +++ b/src/d3d11/d3d11-device.cpp @@ -494,31 +494,31 @@ Result DeviceImpl::createTexture(const TextureDesc& descIn, const SubresourceDat // Set up the initialize data std::vector subRes; - D3D11_SUBRESOURCE_DATA* subResourcesPtr = nullptr; + D3D11_SUBRESOURCE_DATA* subresourcesPtr = nullptr; if (initData) { int arrayLayerCount = srcDesc.arrayLength * (srcDesc.type == TextureType::TextureCube ? 6 : 1); - subRes.resize(srcDesc.numMipLevels * arrayLayerCount); + subRes.resize(srcDesc.mipLevelCount * arrayLayerCount); { - int subResourceIndex = 0; + int subresourceIndex = 0; for (int i = 0; i < arrayLayerCount; i++) { - for (int j = 0; j < srcDesc.numMipLevels; j++) + for (int j = 0; j < srcDesc.mipLevelCount; j++) { const int mipHeight = calcMipSize(srcDesc.size.height, j); - D3D11_SUBRESOURCE_DATA& data = subRes[subResourceIndex]; - auto& srcData = initData[subResourceIndex]; + D3D11_SUBRESOURCE_DATA& data = subRes[subresourceIndex]; + auto& srcData = initData[subresourceIndex]; data.pSysMem = srcData.data; data.SysMemPitch = UINT(srcData.strideY); data.SysMemSlicePitch = UINT(srcData.strideZ); - subResourceIndex++; + subresourceIndex++; } } } - subResourcesPtr = subRes.data(); + subresourcesPtr = subRes.data(); } const int accessFlags = _calcResourceAccessFlags(srcDesc.memoryType); @@ -534,13 +534,13 @@ Result DeviceImpl::createTexture(const TextureDesc& descIn, const SubresourceDat desc.CPUAccessFlags = accessFlags; desc.Format = format; desc.MiscFlags = 0; - desc.MipLevels = srcDesc.numMipLevels; + desc.MipLevels = srcDesc.mipLevelCount; desc.ArraySize = srcDesc.arrayLength; desc.Width = srcDesc.size.width; desc.Usage = D3D11_USAGE_DEFAULT; ComPtr texture1D; - SLANG_RETURN_ON_FAIL(m_device->CreateTexture1D(&desc, subResourcesPtr, texture1D.writeRef())); + SLANG_RETURN_ON_FAIL(m_device->CreateTexture1D(&desc, subresourcesPtr, texture1D.writeRef())); texture->m_resource = texture1D; break; @@ -553,7 +553,7 @@ Result DeviceImpl::createTexture(const TextureDesc& descIn, const SubresourceDat desc.CPUAccessFlags = accessFlags; desc.Format = format; desc.MiscFlags = 0; - desc.MipLevels = srcDesc.numMipLevels; + desc.MipLevels = srcDesc.mipLevelCount; desc.ArraySize = srcDesc.arrayLength * (srcDesc.type == TextureType::TextureCube ? 6 : 1); desc.Width = srcDesc.size.width; @@ -568,7 +568,7 @@ Result DeviceImpl::createTexture(const TextureDesc& descIn, const SubresourceDat } ComPtr texture2D; - SLANG_RETURN_ON_FAIL(m_device->CreateTexture2D(&desc, subResourcesPtr, texture2D.writeRef())); + SLANG_RETURN_ON_FAIL(m_device->CreateTexture2D(&desc, subresourcesPtr, texture2D.writeRef())); texture->m_resource = texture2D; break; @@ -580,14 +580,14 @@ Result DeviceImpl::createTexture(const TextureDesc& descIn, const SubresourceDat desc.CPUAccessFlags = accessFlags; desc.Format = format; desc.MiscFlags = 0; - desc.MipLevels = srcDesc.numMipLevels; + desc.MipLevels = srcDesc.mipLevelCount; desc.Width = srcDesc.size.width; desc.Height = srcDesc.size.height; desc.Depth = srcDesc.size.depth; desc.Usage = D3D11_USAGE_DEFAULT; ComPtr texture3D; - SLANG_RETURN_ON_FAIL(m_device->CreateTexture3D(&desc, subResourcesPtr, texture3D.writeRef())); + SLANG_RETURN_ON_FAIL(m_device->CreateTexture3D(&desc, subresourcesPtr, texture3D.writeRef())); texture->m_resource = texture3D; break; @@ -673,14 +673,14 @@ Result DeviceImpl::createBuffer(const BufferDesc& descIn, const void* initData, bufferDesc.CPUAccessFlags |= D3D11_CPU_ACCESS_WRITE; } - D3D11_SUBRESOURCE_DATA subResourceData = {0}; - subResourceData.pSysMem = initData; + D3D11_SUBRESOURCE_DATA subresourceData = {0}; + subresourceData.pSysMem = initData; RefPtr buffer(new BufferImpl(this, srcDesc)); buffer->m_device = this; SLANG_RETURN_ON_FAIL( - m_device->CreateBuffer(&bufferDesc, initData ? &subResourceData : nullptr, buffer->m_buffer.writeRef()) + m_device->CreateBuffer(&bufferDesc, initData ? &subresourceData : nullptr, buffer->m_buffer.writeRef()) ); buffer->m_d3dUsage = bufferDesc.Usage; diff --git a/src/d3d11/d3d11-helper-functions.cpp b/src/d3d11/d3d11-helper-functions.cpp index 280dfe0..2cc3dda 100644 --- a/src/d3d11/d3d11-helper-functions.cpp +++ b/src/d3d11/d3d11-helper-functions.cpp @@ -299,7 +299,7 @@ void initSrvDesc(const TextureDesc& textureDesc, DXGI_FORMAT pixelFormat, D3D11_ { descOut.ViewDimension = D3D11_SRV_DIMENSION_TEXTURE1DARRAY; descOut.Texture1DArray.MostDetailedMip = 0; - descOut.Texture1DArray.MipLevels = textureDesc.numMipLevels; + descOut.Texture1DArray.MipLevels = textureDesc.mipLevelCount; descOut.Texture1DArray.FirstArraySlice = 0; descOut.Texture1DArray.ArraySize = textureDesc.arrayLength; } @@ -307,7 +307,7 @@ void initSrvDesc(const TextureDesc& textureDesc, DXGI_FORMAT pixelFormat, D3D11_ { descOut.ViewDimension = D3D11_SRV_DIMENSION_TEXTURE1D; descOut.Texture1D.MostDetailedMip = 0; - descOut.Texture1D.MipLevels = textureDesc.numMipLevels; + descOut.Texture1D.MipLevels = textureDesc.mipLevelCount; } break; case TextureType::Texture2D: @@ -315,7 +315,7 @@ void initSrvDesc(const TextureDesc& textureDesc, DXGI_FORMAT pixelFormat, D3D11_ { descOut.ViewDimension = D3D11_SRV_DIMENSION_TEXTURE2DARRAY; descOut.Texture2DArray.MostDetailedMip = 0; - descOut.Texture2DArray.MipLevels = textureDesc.numMipLevels; + descOut.Texture2DArray.MipLevels = textureDesc.mipLevelCount; descOut.Texture2DArray.FirstArraySlice = 0; descOut.Texture2DArray.ArraySize = textureDesc.arrayLength; } @@ -323,20 +323,20 @@ void initSrvDesc(const TextureDesc& textureDesc, DXGI_FORMAT pixelFormat, D3D11_ { descOut.ViewDimension = D3D11_SRV_DIMENSION_TEXTURE2D; descOut.Texture2D.MostDetailedMip = 0; - descOut.Texture2D.MipLevels = textureDesc.numMipLevels; + descOut.Texture2D.MipLevels = textureDesc.mipLevelCount; } break; case TextureType::Texture3D: descOut.ViewDimension = D3D11_SRV_DIMENSION_TEXTURE3D; descOut.Texture3D.MostDetailedMip = 0; - descOut.Texture3D.MipLevels = textureDesc.numMipLevels; + descOut.Texture3D.MipLevels = textureDesc.mipLevelCount; break; case TextureType::TextureCube: if (textureDesc.arrayLength > 1) { descOut.ViewDimension = D3D11_SRV_DIMENSION_TEXTURECUBEARRAY; descOut.TextureCubeArray.MostDetailedMip = 0; - descOut.TextureCubeArray.MipLevels = textureDesc.numMipLevels; + descOut.TextureCubeArray.MipLevels = textureDesc.mipLevelCount; descOut.TextureCubeArray.First2DArrayFace = 0; descOut.TextureCubeArray.NumCubes = textureDesc.arrayLength; } @@ -344,7 +344,7 @@ void initSrvDesc(const TextureDesc& textureDesc, DXGI_FORMAT pixelFormat, D3D11_ { descOut.ViewDimension = D3D11_SRV_DIMENSION_TEXTURECUBE; descOut.TextureCube.MostDetailedMip = 0; - descOut.TextureCube.MipLevels = textureDesc.numMipLevels; + descOut.TextureCube.MipLevels = textureDesc.mipLevelCount; } break; } diff --git a/src/d3d11/d3d11-swap-chain.cpp b/src/d3d11/d3d11-swap-chain.cpp index 073815d..d912088 100644 --- a/src/d3d11/d3d11-swap-chain.cpp +++ b/src/d3d11/d3d11-swap-chain.cpp @@ -22,7 +22,7 @@ void SwapchainImpl::createSwapchainBufferImages() TextureDesc imageDesc = {}; imageDesc.type = TextureType::Texture2D; imageDesc.arrayLength = 1; - imageDesc.numMipLevels = 1; + imageDesc.mipLevelCount = 1; imageDesc.size.width = m_desc.width; imageDesc.size.height = m_desc.height; imageDesc.size.depth = 1; diff --git a/src/d3d12/d3d12-command-buffer.cpp b/src/d3d12/d3d12-command-buffer.cpp index 5eb1333..4c60ed4 100644 --- a/src/d3d12/d3d12-command-buffer.cpp +++ b/src/d3d12/d3d12-command-buffer.cpp @@ -88,7 +88,7 @@ void CommandBufferImpl::commitBarriers() } else { - uint32_t mipLevelCount = texture->m_desc.numMipLevels; + uint32_t mipLevelCount = texture->m_desc.mipLevelCount; uint32_t arrayLayerCount = texture->m_desc.arrayLength * (texture->m_desc.type == TextureType::TextureCube ? 6 : 1); barrier.Type = D3D12_RESOURCE_BARRIER_TYPE_TRANSITION; diff --git a/src/d3d12/d3d12-command-encoder.cpp b/src/d3d12/d3d12-command-encoder.cpp index 1a35335..e4d5440 100644 --- a/src/d3d12/d3d12-command-encoder.cpp +++ b/src/d3d12/d3d12-command-encoder.cpp @@ -228,7 +228,7 @@ void ResourceCommandEncoderImpl::copyTexture( dstSubresource.mipLevel + mipLevel, dstSubresource.baseArrayLayer + layer, planeIndex, - dstTexture->m_desc.numMipLevels, + dstTexture->m_desc.mipLevelCount, dstTexture->m_desc.arrayLength ); @@ -239,7 +239,7 @@ void ResourceCommandEncoderImpl::copyTexture( srcSubresource.mipLevel + mipLevel, srcSubresource.baseArrayLayer + layer, planeIndex, - srcTexture->m_desc.numMipLevels, + srcTexture->m_desc.mipLevelCount, srcTexture->m_desc.arrayLength ); @@ -260,29 +260,29 @@ void ResourceCommandEncoderImpl::copyTexture( void ResourceCommandEncoderImpl::uploadTextureData( ITexture* dst, - SubresourceRange subResourceRange, + SubresourceRange subresourceRange, Offset3D offset, Extents extent, - SubresourceData* subResourceData, - GfxCount subResourceDataCount + SubresourceData* subresourceData, + GfxCount subresourceDataCount ) { TextureImpl* dstTexture = static_cast(dst); - m_commandBuffer->requireTextureState(dstTexture, subResourceRange, ResourceState::CopyDestination); + m_commandBuffer->requireTextureState(dstTexture, subresourceRange, ResourceState::CopyDestination); m_commandBuffer->commitBarriers(); auto baseSubresourceIndex = D3DUtil::getSubresourceIndex( - subResourceRange.mipLevel, - subResourceRange.baseArrayLayer, + subresourceRange.mipLevel, + subresourceRange.baseArrayLayer, 0, - dstTexture->m_desc.numMipLevels, + dstTexture->m_desc.mipLevelCount, dstTexture->m_desc.arrayLength ); auto textureSize = dstTexture->m_desc.size; FormatInfo formatInfo = {}; rhiGetFormatInfo(dstTexture->m_desc.format, &formatInfo); - for (GfxCount i = 0; i < subResourceDataCount; i++) + for (GfxCount i = 0; i < subresourceDataCount; i++) { auto subresourceIndex = baseSubresourceIndex + i; // Get the footprint @@ -299,7 +299,7 @@ void ResourceCommandEncoderImpl::uploadTextureData( D3D12_PLACED_SUBRESOURCE_FOOTPRINT& footprint = srcRegion.PlacedFootprint; footprint.Offset = 0; footprint.Footprint.Format = texDesc.Format; - uint32_t mipLevel = D3DUtil::getSubresourceMipLevel(subresourceIndex, dstTexture->m_desc.numMipLevels); + uint32_t mipLevel = D3DUtil::getSubresourceMipLevel(subresourceIndex, dstTexture->m_desc.mipLevelCount); if (extent.width != kRemainingTextureSize) { footprint.Footprint.Width = extent.width; @@ -344,12 +344,12 @@ void ResourceCommandEncoderImpl::uploadTextureData( for (uint32_t z = 0; z < footprint.Footprint.Depth; z++) { auto imageStart = bufferData + footprint.Footprint.RowPitch * rowCount * (Size)z; - auto srcData = (uint8_t*)subResourceData->data + subResourceData->strideZ * z; + auto srcData = (uint8_t*)subresourceData->data + subresourceData->strideZ * z; for (uint32_t row = 0; row < rowCount; row++) { memcpy( imageStart + row * (Size)footprint.Footprint.RowPitch, - srcData + subResourceData->strideY * row, + srcData + subresourceData->strideY * row, rowSize ); } @@ -557,14 +557,14 @@ void ResourceCommandEncoderImpl::copyTextureToBuffer( srcSubresource.mipLevel, srcSubresource.baseArrayLayer, 0, - srcTexture->m_desc.numMipLevels, + srcTexture->m_desc.mipLevelCount, srcTexture->m_desc.arrayLength ); auto textureSize = srcTexture->m_desc.size; FormatInfo formatInfo = {}; rhiGetFormatInfo(srcTexture->m_desc.format, &formatInfo); if (srcSubresource.mipLevelCount == 0) - srcSubresource.mipLevelCount = srcTexture->m_desc.numMipLevels; + srcSubresource.mipLevelCount = srcTexture->m_desc.mipLevelCount; if (srcSubresource.layerCount == 0) srcSubresource.layerCount = srcTexture->m_desc.arrayLength; @@ -584,7 +584,7 @@ void ResourceCommandEncoderImpl::copyTextureToBuffer( srcSubresource.mipLevel, layer + srcSubresource.baseArrayLayer, 0, - srcTexture->m_desc.numMipLevels, + srcTexture->m_desc.mipLevelCount, srcTexture->m_desc.arrayLength ); srcRegion.pResource = srcTexture->m_resource.getResource(); diff --git a/src/d3d12/d3d12-command-encoder.h b/src/d3d12/d3d12-command-encoder.h index 0d8c5be..1b3d831 100644 --- a/src/d3d12/d3d12-command-encoder.h +++ b/src/d3d12/d3d12-command-encoder.h @@ -104,11 +104,11 @@ class ResourceCommandEncoderImpl : public IResourceCommandEncoder, public Comman virtual SLANG_NO_THROW void SLANG_MCALL uploadTextureData( ITexture* dst, - SubresourceRange subResourceRange, + SubresourceRange subresourceRange, Offset3D offset, Extents extent, - SubresourceData* subResourceData, - GfxCount subResourceDataCount + SubresourceData* subresourceData, + GfxCount subresourceDataCount ) override; virtual SLANG_NO_THROW void SLANG_MCALL clearBuffer(IBuffer* view, const BufferRange* range = nullptr) override; diff --git a/src/d3d12/d3d12-device.cpp b/src/d3d12/d3d12-device.cpp index fa05d82..efc6827 100644 --- a/src/d3d12/d3d12-device.cpp +++ b/src/d3d12/d3d12-device.cpp @@ -1001,7 +1001,6 @@ Result DeviceImpl::createTexture(const TextureDesc& descIn, const SubresourceDat D3D12_RESOURCE_DESC resourceDesc = {}; initTextureDesc(resourceDesc, srcDesc); - const int numMipMaps = srcDesc.numMipLevels; RefPtr texture(new TextureImpl(this, srcDesc)); @@ -1051,18 +1050,18 @@ Result DeviceImpl::createTexture(const TextureDesc& descIn, const SubresourceDat // Calculate the layout std::vector layouts; - layouts.resize(numMipMaps); + layouts.resize(srcDesc.mipLevelCount); std::vector mipRowSizeInBytes; - mipRowSizeInBytes.resize(srcDesc.numMipLevels); + mipRowSizeInBytes.resize(srcDesc.mipLevelCount); std::vector mipNumRows; - mipNumRows.resize(numMipMaps); + mipNumRows.resize(srcDesc.mipLevelCount); // NOTE! This is just the size for one array upload -> not for the whole texture uint64_t requiredSize = 0; m_device->GetCopyableFootprints( &resourceDesc, 0, - srcDesc.numMipLevels, + srcDesc.mipLevelCount, 0, layouts.data(), mipNumRows.data(), @@ -1114,16 +1113,16 @@ Result DeviceImpl::createTexture(const TextureDesc& descIn, const SubresourceDat // Get the pointer to the upload resource ID3D12Resource* uploadResource = uploadTexture; - int subResourceIndex = 0; + int subresourceIndex = 0; int arrayLayerCount = srcDesc.arrayLength * (srcDesc.type == TextureType::TextureCube ? 6 : 1); for (int arrayIndex = 0; arrayIndex < arrayLayerCount; arrayIndex++) { uint8_t* p; uploadResource->Map(0, nullptr, reinterpret_cast(&p)); - for (int j = 0; j < numMipMaps; ++j) + for (int j = 0; j < srcDesc.mipLevelCount; ++j) { - auto srcSubresource = initData[subResourceIndex + j]; + auto srcSubresource = initData[subresourceIndex + j]; const D3D12_PLACED_SUBRESOURCE_FOOTPRINT& layout = layouts[j]; const D3D12_SUBRESOURCE_FOOTPRINT& footprint = layout.Footprint; @@ -1177,7 +1176,7 @@ Result DeviceImpl::createTexture(const TextureDesc& descIn, const SubresourceDat uploadResource->Unmap(0, nullptr); auto encodeInfo = encodeResourceCommands(); - for (int mipIndex = 0; mipIndex < numMipMaps; ++mipIndex) + for (int mipIndex = 0; mipIndex < srcDesc.mipLevelCount; ++mipIndex) { // https://msdn.microsoft.com/en-us/library/windows/desktop/dn903862(v=vs.85).aspx @@ -1189,10 +1188,10 @@ Result DeviceImpl::createTexture(const TextureDesc& descIn, const SubresourceDat D3D12_TEXTURE_COPY_LOCATION dst; dst.pResource = texture->m_resource; dst.Type = D3D12_TEXTURE_COPY_TYPE_SUBRESOURCE_INDEX; - dst.SubresourceIndex = subResourceIndex; + dst.SubresourceIndex = subresourceIndex; encodeInfo.d3dCommandList->CopyTextureRegion(&dst, 0, 0, 0, &src, nullptr); - subResourceIndex++; + subresourceIndex++; } // Block - waiting for copy to complete (so can drop upload texture) @@ -1640,7 +1639,7 @@ void DeviceImpl::processExperimentalFeaturesDesc(SharedLibraryHandle d3dModule, return; } if (!SLANG_SUCCEEDED(enableExperimentalFeaturesFunc( - desc.numFeatures, + desc.featureCount, (IID*)desc.featureIIDs, desc.configurationStructs, desc.configurationStructSizes diff --git a/src/d3d12/d3d12-helper-functions.cpp b/src/d3d12/d3d12-helper-functions.cpp index a8ebe69..f38b68d 100644 --- a/src/d3d12/d3d12-helper-functions.cpp +++ b/src/d3d12/d3d12-helper-functions.cpp @@ -213,7 +213,6 @@ Result initTextureDesc(D3D12_RESOURCE_DESC& resourceDesc, const TextureDesc& src return SLANG_FAIL; } - const int numMipMaps = srcDesc.numMipLevels; resourceDesc.Dimension = dimension; resourceDesc.Format = pixelFormat; resourceDesc.Width = srcDesc.size.width; @@ -227,7 +226,7 @@ Result initTextureDesc(D3D12_RESOURCE_DESC& resourceDesc, const TextureDesc& src resourceDesc.DepthOrArraySize = srcDesc.arrayLength * (srcDesc.type == TextureType::TextureCube ? 6 : 1); } - resourceDesc.MipLevels = numMipMaps; + resourceDesc.MipLevels = srcDesc.mipLevelCount; resourceDesc.SampleDesc.Count = srcDesc.sampleCount; resourceDesc.SampleDesc.Quality = srcDesc.sampleQuality; diff --git a/src/d3d12/d3d12-swap-chain.cpp b/src/d3d12/d3d12-swap-chain.cpp index f1aee26..201ae46 100644 --- a/src/d3d12/d3d12-swap-chain.cpp +++ b/src/d3d12/d3d12-swap-chain.cpp @@ -47,7 +47,7 @@ void SwapchainImpl::createSwapchainBufferImages() imageDesc.size.width = m_desc.width; imageDesc.size.height = m_desc.height; imageDesc.size.depth = 1; - imageDesc.numMipLevels = 1; + imageDesc.mipLevelCount = 1; imageDesc.defaultState = ResourceState::Present; RefPtr image = new TextureImpl(m_device, imageDesc); image->m_resource.setResource(d3dResource.get()); diff --git a/src/debug-layer/debug-command-encoder.cpp b/src/debug-layer/debug-command-encoder.cpp index bed7a89..e98fb91 100644 --- a/src/debug-layer/debug-command-encoder.cpp +++ b/src/debug-layer/debug-command-encoder.cpp @@ -83,16 +83,16 @@ void DebugResourceCommandEncoder::copyTexture( void DebugResourceCommandEncoder::uploadTextureData( ITexture* dst, - SubresourceRange subResourceRange, + SubresourceRange subresourceRange, Offset3D offset, Extents extent, - SubresourceData* subResourceData, - GfxCount subResourceDataCount + SubresourceData* subresourceData, + GfxCount subresourceDataCount ) { SLANG_RHI_API_FUNC; baseObject - ->uploadTextureData(getInnerObj(dst), subResourceRange, offset, extent, subResourceData, subResourceDataCount); + ->uploadTextureData(getInnerObj(dst), subresourceRange, offset, extent, subresourceData, subresourceDataCount); } void DebugResourceCommandEncoder::clearBuffer(IBuffer* buffer, const BufferRange* range) diff --git a/src/debug-layer/debug-command-encoder.h b/src/debug-layer/debug-command-encoder.h index 360bf41..c71bb04 100644 --- a/src/debug-layer/debug-command-encoder.h +++ b/src/debug-layer/debug-command-encoder.h @@ -78,11 +78,11 @@ class DebugResourceCommandEncoder : public UnownedDebugObjectsetMipmapLevelCount(desc.numMipLevels); + textureDesc->setMipmapLevelCount(desc.mipLevelCount); textureDesc->setArrayLength(desc.arrayLength); textureDesc->setPixelFormat(pixelFormat); textureDesc->setUsage(textureUsage); @@ -435,7 +435,7 @@ Result DeviceImpl::createTexture(const TextureDesc& descIn, const SubresourceDat region.size = MTL::Size(desc.size.width, desc.size.height, desc.size.depth); for (Index level = 0; level < initMipLevels; ++level) { - if (level >= desc.numMipLevels) + if (level >= desc.mipLevelCount) continue; const SubresourceData& subresourceData = initData[slice * initMipLevels + level]; stagingTexture->replaceRegion( @@ -549,7 +549,7 @@ Result DeviceImpl::createTextureView(ITexture* texture, const TextureViewDesc& d const TextureDesc& textureDesc = textureImpl->m_desc; GfxCount layerCount = textureDesc.arrayLength * (textureDesc.type == TextureType::TextureCube ? 6 : 1); SubresourceRange sr = viewImpl->m_desc.subresourceRange; - if (sr.mipLevel == 0 && sr.mipLevelCount == textureDesc.numMipLevels && sr.baseArrayLayer == 0 && + if (sr.mipLevel == 0 && sr.mipLevelCount == textureDesc.mipLevelCount && sr.baseArrayLayer == 0 && sr.layerCount == layerCount) { viewImpl->m_textureView = textureImpl->m_texture; diff --git a/src/metal/metal-swap-chain.cpp b/src/metal/metal-swap-chain.cpp index 3e10db2..877759c 100644 --- a/src/metal/metal-swap-chain.cpp +++ b/src/metal/metal-swap-chain.cpp @@ -30,7 +30,7 @@ void SwapchainImpl::createImages() imageDesc.size.width = m_desc.width; imageDesc.size.height = m_desc.height; imageDesc.size.depth = 1; - imageDesc.numMipLevels = 1; + imageDesc.mipLevelCount = 1; imageDesc.defaultState = ResourceState::Present; m_device->createTexture(imageDesc, nullptr, (ITexture**)m_images[i].writeRef()); } diff --git a/src/resource-desc-utils.cpp b/src/resource-desc-utils.cpp index e20e2b3..625be4e 100644 --- a/src/resource-desc-utils.cpp +++ b/src/resource-desc-utils.cpp @@ -13,8 +13,8 @@ TextureDesc fixupTextureDesc(const TextureDesc& desc) TextureDesc rs = desc; if (desc.arrayLength == 0) rs.arrayLength = 1; - if (desc.numMipLevels == 0) - rs.numMipLevels = calcNumMipLevels(desc.type, desc.size); + if (desc.mipLevelCount == 0) + rs.mipLevelCount = calcNumMipLevels(desc.type, desc.size); return rs; } diff --git a/src/rhi-shared.cpp b/src/rhi-shared.cpp index c9113a0..b0c09e0 100644 --- a/src/rhi-shared.cpp +++ b/src/rhi-shared.cpp @@ -111,8 +111,8 @@ Result Texture::getSharedHandle(NativeHandle* outHandle) SubresourceRange Texture::resolveSubresourceRange(const SubresourceRange& range) { SubresourceRange resolved = range; - resolved.mipLevel = std::min(resolved.mipLevel, m_desc.numMipLevels); - resolved.mipLevelCount = std::min(resolved.mipLevelCount, m_desc.numMipLevels - resolved.mipLevel); + resolved.mipLevel = std::min(resolved.mipLevel, m_desc.mipLevelCount); + resolved.mipLevelCount = std::min(resolved.mipLevelCount, m_desc.mipLevelCount - resolved.mipLevel); GfxCount arrayLayerCount = m_desc.arrayLength * (m_desc.type == TextureType::TextureCube ? 6 : 1); resolved.baseArrayLayer = std::min(resolved.baseArrayLayer, arrayLayerCount); resolved.layerCount = std::min(resolved.layerCount, arrayLayerCount - resolved.baseArrayLayer); @@ -121,7 +121,7 @@ SubresourceRange Texture::resolveSubresourceRange(const SubresourceRange& range) bool Texture::isEntireTexture(const SubresourceRange& range) { - if (range.mipLevel > 0 || range.mipLevelCount < m_desc.numMipLevels) + if (range.mipLevel > 0 || range.mipLevelCount < m_desc.mipLevelCount) { return false; } diff --git a/src/state-tracking.h b/src/state-tracking.h index 37cbe91..531f326 100644 --- a/src/state-tracking.h +++ b/src/state-tracking.h @@ -84,7 +84,7 @@ class StateTracking if (textureState->subresourceStates.empty()) { textureState->subresourceStates.resize( - texture->m_desc.numMipLevels * arrayLayerCount, + texture->m_desc.mipLevelCount * arrayLayerCount, textureState->state ); textureState->state = ResourceState::Undefined; @@ -95,7 +95,7 @@ class StateTracking mipLevel < subresourceRange.mipLevel + subresourceRange.mipLevelCount; mipLevel++) { - GfxIndex subresourceIndex = arrayLayer * texture->m_desc.numMipLevels + mipLevel; + GfxIndex subresourceIndex = arrayLayer * texture->m_desc.mipLevelCount + mipLevel; if (state != textureState->subresourceStates[subresourceIndex] || state == ResourceState::UnorderedAccess) { diff --git a/src/vulkan/vk-command-encoder.cpp b/src/vulkan/vk-command-encoder.cpp index 0964c6a..5a4cdfc 100644 --- a/src/vulkan/vk-command-encoder.cpp +++ b/src/vulkan/vk-command-encoder.cpp @@ -348,7 +348,7 @@ void ResourceCommandEncoderImpl::copyTexture( dstSubresource.layerCount = dstDesc.arrayLength * (dstDesc.type == TextureType::TextureCube ? 6 : 1); if (dstSubresource.layerCount == 0) dstSubresource.layerCount = 1; - dstSubresource.mipLevelCount = dstDesc.numMipLevels; + dstSubresource.mipLevelCount = dstDesc.mipLevelCount; } if (srcSubresource.layerCount == 0 && srcSubresource.mipLevelCount == 0) { @@ -356,7 +356,7 @@ void ResourceCommandEncoderImpl::copyTexture( srcSubresource.layerCount = srcDesc.arrayLength * (dstDesc.type == TextureType::TextureCube ? 6 : 1); if (srcSubresource.layerCount == 0) srcSubresource.layerCount = 1; - srcSubresource.mipLevelCount = dstDesc.numMipLevels; + srcSubresource.mipLevelCount = dstDesc.mipLevelCount; } VkImageCopy region = {}; region.srcSubresource.aspectMask = VulkanUtil::getAspectMask(srcSubresource.aspectMask, srcTexture->m_vkformat); @@ -385,16 +385,16 @@ void ResourceCommandEncoderImpl::copyTexture( void ResourceCommandEncoderImpl::uploadTextureData( ITexture* dst, - SubresourceRange subResourceRange, + SubresourceRange subresourceRange, Offset3D offset, Extents extend, - SubresourceData* subResourceData, - GfxCount subResourceDataCount + SubresourceData* subresourceData, + GfxCount subresourceDataCount ) { TextureImpl* dstTexture = static_cast(dst); - m_commandBuffer->requireTextureState(dstTexture, subResourceRange, ResourceState::CopyDestination); + m_commandBuffer->requireTextureState(dstTexture, subresourceRange, ResourceState::CopyDestination); m_commandBuffer->commitBarriers(); auto& api = m_commandBuffer->m_device->m_api; @@ -405,7 +405,7 @@ void ResourceCommandEncoderImpl::uploadTextureData( // Calculate how large the buffer has to be Size bufferSize = 0; // Calculate how large an array entry is - for (GfxIndex j = subResourceRange.mipLevel; j < subResourceRange.mipLevel + subResourceRange.mipLevelCount; ++j) + for (GfxIndex j = subresourceRange.mipLevel; j < subresourceRange.mipLevel + subresourceRange.mipLevelCount; ++j) { const Extents mipSize = calcMipSize(desc.size, j); @@ -418,7 +418,7 @@ void ResourceCommandEncoderImpl::uploadTextureData( } // Calculate the total size taking into account the array - bufferSize *= subResourceRange.layerCount; + bufferSize *= subresourceRange.layerCount; IBuffer* uploadBuffer = nullptr; Offset uploadBufferOffset = 0; @@ -427,7 +427,7 @@ void ResourceCommandEncoderImpl::uploadTextureData( // Copy into upload buffer { - int subResourceCounter = 0; + int subresourceCounter = 0; uint8_t* dstData; uploadBuffer->map(nullptr, (void**)&dstData); @@ -436,14 +436,14 @@ void ResourceCommandEncoderImpl::uploadTextureData( dstDataStart = dstData; Offset dstSubresourceOffset = 0; - for (GfxIndex i = 0; i < subResourceRange.layerCount; ++i) + for (GfxIndex i = 0; i < subresourceRange.layerCount; ++i) { for (GfxIndex j = 0; j < (GfxCount)mipSizes.size(); ++j) { const auto& mipSize = mipSizes[j]; - int subResourceIndex = subResourceCounter++; - auto initSubresource = subResourceData[subResourceIndex]; + int subresourceIndex = subresourceCounter++; + auto initSubresource = subresourceData[subresourceIndex]; const ptrdiff_t srcRowStride = (ptrdiff_t)initSubresource.strideY; const ptrdiff_t srcLayerStride = (ptrdiff_t)initSubresource.strideZ; @@ -479,7 +479,7 @@ void ResourceCommandEncoderImpl::uploadTextureData( } { Offset srcOffset = uploadBufferOffset; - for (GfxIndex i = 0; i < subResourceRange.layerCount; ++i) + for (GfxIndex i = 0; i < subresourceRange.layerCount; ++i) { for (GfxIndex j = 0; j < (GfxCount)mipSizes.size(); ++j) { @@ -502,8 +502,8 @@ void ResourceCommandEncoderImpl::uploadTextureData( region.bufferImageHeight = 0; region.imageSubresource.aspectMask = getAspectMaskFromFormat(dstTexture->m_vkformat); - region.imageSubresource.mipLevel = subResourceRange.mipLevel + uint32_t(j); - region.imageSubresource.baseArrayLayer = subResourceRange.baseArrayLayer + i; + region.imageSubresource.mipLevel = subresourceRange.mipLevel + uint32_t(j); + region.imageSubresource.baseArrayLayer = subresourceRange.baseArrayLayer + i; region.imageSubresource.layerCount = 1; region.imageOffset = {0, 0, 0}; region.imageExtent = {uint32_t(mipSize.width), uint32_t(mipSize.height), uint32_t(mipSize.depth)}; diff --git a/src/vulkan/vk-command-encoder.h b/src/vulkan/vk-command-encoder.h index cf06166..5a578da 100644 --- a/src/vulkan/vk-command-encoder.h +++ b/src/vulkan/vk-command-encoder.h @@ -111,11 +111,11 @@ class ResourceCommandEncoderImpl : public IResourceCommandEncoder, public Comman virtual SLANG_NO_THROW void SLANG_MCALL uploadTextureData( ITexture* dst, - SubresourceRange subResourceRange, + SubresourceRange subresourceRange, Offset3D offset, Extents extend, - SubresourceData* subResourceData, - GfxCount subResourceDataCount + SubresourceData* subresourceData, + GfxCount subresourceDataCount ) override; virtual SLANG_NO_THROW void SLANG_MCALL clearBuffer(IBuffer* buffer, const BufferRange* range) override; diff --git a/src/vulkan/vk-device.cpp b/src/vulkan/vk-device.cpp index ecb46a8..e22a9be 100644 --- a/src/vulkan/vk-device.cpp +++ b/src/vulkan/vk-device.cpp @@ -1141,7 +1141,7 @@ Result DeviceImpl::readTexture(ITexture* texture, ISlangBlob** outBlob, Size* ou // Calculate how large the buffer has to be Size bufferSize = 0; // Calculate how large an array entry is - for (int j = 0; j < desc.numMipLevels; ++j) + for (int j = 0; j < desc.mipLevelCount; ++j) { const Extents mipSize = calcMipSize(desc.size, j); @@ -1428,7 +1428,7 @@ void DeviceImpl::_transitionImageLayout( barrier.subresourceRange.aspectMask = getAspectMaskFromFormat(format); barrier.subresourceRange.baseMipLevel = 0; - barrier.subresourceRange.levelCount = desc.numMipLevels; + barrier.subresourceRange.levelCount = desc.mipLevelCount; barrier.subresourceRange.baseArrayLayer = 0; barrier.subresourceRange.layerCount = VK_REMAINING_ARRAY_LAYERS; barrier.srcAccessMask = calcAccessFlagsFromImageLayout(oldLayout); @@ -1522,7 +1522,7 @@ Result DeviceImpl::getTextureAllocationInfo(const TextureDesc& descIn, Size* out } } - imageInfo.mipLevels = desc.numMipLevels; + imageInfo.mipLevels = desc.mipLevelCount; imageInfo.arrayLayers = desc.arrayLength * (desc.type == TextureType::TextureCube ? 6 : 1); imageInfo.format = format; @@ -1607,7 +1607,7 @@ Result DeviceImpl::createTexture(const TextureDesc& descIn, const SubresourceDat int arrayLayerCount = desc.arrayLength * (desc.type == TextureType::TextureCube ? 6 : 1); - imageInfo.mipLevels = desc.numMipLevels; + imageInfo.mipLevels = desc.mipLevelCount; imageInfo.arrayLayers = arrayLayerCount; imageInfo.format = format; @@ -1682,12 +1682,10 @@ Result DeviceImpl::createTexture(const TextureDesc& descIn, const SubresourceDat VkCommandBuffer commandBuffer = m_deviceQueue.getCommandBuffer(); - const int numMipMaps = desc.numMipLevels; - // Calculate how large the buffer has to be Size bufferSize = 0; // Calculate how large an array entry is - for (int j = 0; j < numMipMaps; ++j) + for (int j = 0; j < desc.mipLevelCount; ++j) { const Extents mipSize = calcMipSize(desc.size, j); @@ -1709,11 +1707,11 @@ Result DeviceImpl::createTexture(const TextureDesc& descIn, const SubresourceDat VK_MEMORY_PROPERTY_HOST_VISIBLE_BIT | VK_MEMORY_PROPERTY_HOST_COHERENT_BIT )); - SLANG_RHI_ASSERT(mipSizes.size() == numMipMaps); + SLANG_RHI_ASSERT(mipSizes.size() == desc.mipLevelCount); // Copy into upload buffer { - int subResourceCounter = 0; + int subresourceCounter = 0; uint8_t* dstData; m_api.vkMapMemory(m_device, uploadBuffer.m_memory, 0, bufferSize, 0, (void**)&dstData); @@ -1727,8 +1725,8 @@ Result DeviceImpl::createTexture(const TextureDesc& descIn, const SubresourceDat { const auto& mipSize = mipSizes[j]; - int subResourceIndex = subResourceCounter++; - auto initSubresource = initData[subResourceIndex]; + int subresourceIndex = subresourceCounter++; + auto initSubresource = initData[subresourceIndex]; const ptrdiff_t srcRowStride = (ptrdiff_t)initSubresource.strideY; const ptrdiff_t srcLayerStride = (ptrdiff_t)initSubresource.strideZ; diff --git a/src/vulkan/vk-swap-chain.cpp b/src/vulkan/vk-swap-chain.cpp index bada9f2..0270342 100644 --- a/src/vulkan/vk-swap-chain.cpp +++ b/src/vulkan/vk-swap-chain.cpp @@ -156,7 +156,7 @@ Result SwapchainImpl::createSwapchainAndImages() imageDesc.size.width = m_desc.width; imageDesc.size.height = m_desc.height; imageDesc.size.depth = 1; - imageDesc.numMipLevels = 1; + imageDesc.mipLevelCount = 1; imageDesc.defaultState = ResourceState::Present; RefPtr image = new TextureImpl(m_device, imageDesc); image->m_image = vkImages[i]; diff --git a/src/wgpu/wgpu-command-encoder.cpp b/src/wgpu/wgpu-command-encoder.cpp index 6ed3da0..25aefd0 100644 --- a/src/wgpu/wgpu-command-encoder.cpp +++ b/src/wgpu/wgpu-command-encoder.cpp @@ -219,11 +219,11 @@ void ResourceCommandEncoderImpl::uploadBufferData(IBuffer* buffer, Offset offset void ResourceCommandEncoderImpl::uploadTextureData( ITexture* dst, - SubresourceRange subResourceRange, + SubresourceRange subresourceRange, Offset3D offset, Extents extend, - SubresourceData* subResourceData, - GfxCount subResourceDataCount + SubresourceData* subresourceData, + GfxCount subresourceDataCount ) { SLANG_RHI_UNIMPLEMENTED("uploadTextureData"); diff --git a/src/wgpu/wgpu-command-encoder.h b/src/wgpu/wgpu-command-encoder.h index 1108999..8f6a696 100644 --- a/src/wgpu/wgpu-command-encoder.h +++ b/src/wgpu/wgpu-command-encoder.h @@ -86,11 +86,11 @@ class ResourceCommandEncoderImpl : public IResourceCommandEncoder, public Comman virtual SLANG_NO_THROW void SLANG_MCALL uploadTextureData( ITexture* dst, - SubresourceRange subResourceRange, + SubresourceRange subresourceRange, Offset3D offset, Extents extend, - SubresourceData* subResourceData, - GfxCount subResourceDataCount + SubresourceData* subresourceData, + GfxCount subresourceDataCount ) override; virtual SLANG_NO_THROW void SLANG_MCALL clearBuffer(IBuffer* buffer, const BufferRange* range) override; diff --git a/src/wgpu/wgpu-texture.cpp b/src/wgpu/wgpu-texture.cpp index 66d5104..f8c5d87 100644 --- a/src/wgpu/wgpu-texture.cpp +++ b/src/wgpu/wgpu-texture.cpp @@ -49,7 +49,7 @@ Result DeviceImpl::createTexture(const TextureDesc& desc_, const SubresourceData } textureDesc.dimension = translateTextureDimension(desc.type); textureDesc.format = translateTextureFormat(desc.format); - textureDesc.mipLevelCount = desc.numMipLevels; + textureDesc.mipLevelCount = desc.mipLevelCount; textureDesc.sampleCount = desc.sampleCount; textureDesc.label = desc.label; texture->m_texture = m_ctx.api.wgpuDeviceCreateTexture(m_ctx.device, &textureDesc); @@ -65,7 +65,7 @@ Result DeviceImpl::createTexture(const TextureDesc& desc_, const SubresourceData WGPUQueue queue = m_ctx.api.wgpuDeviceGetQueue(m_ctx.device); SLANG_RHI_DEFERRED({ m_ctx.api.wgpuQueueRelease(queue); }); - int mipLevelCount = desc.numMipLevels; + int mipLevelCount = desc.mipLevelCount; int arrayLayerCount = desc.arrayLength * (desc.type == TextureType::TextureCube ? 6 : 1); for (int arrayLayer = 0; arrayLayer < arrayLayerCount; ++arrayLayer) diff --git a/tests/test-clear-texture.cpp b/tests/test-clear-texture.cpp index 3431b66..0ca6335 100644 --- a/tests/test-clear-texture.cpp +++ b/tests/test-clear-texture.cpp @@ -15,7 +15,7 @@ void testClearTexture(GpuTestContext* ctx, DeviceType deviceType) TextureDesc srcTexDesc = {}; srcTexDesc.type = TextureType::Texture2D; - srcTexDesc.numMipLevels = 1; + srcTexDesc.mipLevelCount = 1; srcTexDesc.size.width = 4; srcTexDesc.size.height = 4; srcTexDesc.size.depth = 1; diff --git a/tests/test-copy-texture.cpp b/tests/test-copy-texture.cpp index 399adf0..f958ff5 100644 --- a/tests/test-copy-texture.cpp +++ b/tests/test-copy-texture.cpp @@ -70,7 +70,7 @@ struct BaseCopyTextureTest { TextureDesc srcTexDesc = {}; srcTexDesc.type = srcTextureInfo->textureType; - srcTexDesc.numMipLevels = srcTextureInfo->mipLevelCount; + srcTexDesc.mipLevelCount = srcTextureInfo->mipLevelCount; srcTexDesc.arrayLength = srcTextureInfo->arrayLayerCount; srcTexDesc.size = srcTextureInfo->extents; srcTexDesc.usage = TextureUsage::ShaderResource | TextureUsage::CopySource; @@ -85,7 +85,7 @@ struct BaseCopyTextureTest TextureDesc dstTexDesc = {}; dstTexDesc.type = dstTextureInfo->textureType; - dstTexDesc.numMipLevels = dstTextureInfo->mipLevelCount; + dstTexDesc.mipLevelCount = dstTextureInfo->mipLevelCount; dstTexDesc.arrayLength = dstTextureInfo->arrayLayerCount; dstTexDesc.size = dstTextureInfo->extents; dstTexDesc.usage = TextureUsage::ShaderResource | TextureUsage::CopyDestination | TextureUsage::CopySource; diff --git a/tests/test-formats.cpp b/tests/test-formats.cpp index 4b4b4c5..1b6ec80 100644 --- a/tests/test-formats.cpp +++ b/tests/test-formats.cpp @@ -92,7 +92,7 @@ struct TestFormats { TextureDesc texDesc = {}; texDesc.type = TextureType::Texture2D; - texDesc.numMipLevels = mips; + texDesc.mipLevelCount = mips; texDesc.size = size; texDesc.usage = TextureUsage::ShaderResource; texDesc.defaultState = ResourceState::ShaderResource; diff --git a/tests/test-instanced-draw.cpp b/tests/test-instanced-draw.cpp index b04fb9d..ccb7cc2 100644 --- a/tests/test-instanced-draw.cpp +++ b/tests/test-instanced-draw.cpp @@ -87,7 +87,7 @@ static ComPtr createColorBuffer(IDevice* device) colorBufferDesc.size.width = kWidth; colorBufferDesc.size.height = kHeight; colorBufferDesc.size.depth = 1; - colorBufferDesc.numMipLevels = 1; + colorBufferDesc.mipLevelCount = 1; colorBufferDesc.format = format; colorBufferDesc.usage = TextureUsage::RenderTarget | TextureUsage::CopySource; colorBufferDesc.defaultState = ResourceState::RenderTarget; diff --git a/tests/test-native-handle.cpp b/tests/test-native-handle.cpp index 50dc6ee..699359c 100644 --- a/tests/test-native-handle.cpp +++ b/tests/test-native-handle.cpp @@ -55,7 +55,7 @@ void testNativeHandleTexture(GpuTestContext* ctx, DeviceType deviceType) TextureDesc desc = {}; desc.type = TextureType::Texture2D; - desc.numMipLevels = 1; + desc.mipLevelCount = 1; desc.size.width = 1; desc.size.height = 1; desc.size.depth = 1; diff --git a/tests/test-ray-tracing.cpp b/tests/test-ray-tracing.cpp index 7b6c08e..36d884f 100644 --- a/tests/test-ray-tracing.cpp +++ b/tests/test-ray-tracing.cpp @@ -110,7 +110,7 @@ struct BaseRayTracingTest { TextureDesc resultTextureDesc = {}; resultTextureDesc.type = TextureType::Texture2D; - resultTextureDesc.numMipLevels = 1; + resultTextureDesc.mipLevelCount = 1; resultTextureDesc.size.width = width; resultTextureDesc.size.height = height; resultTextureDesc.size.depth = 1; diff --git a/tests/test-resolve-resource-tests.cpp b/tests/test-resolve-resource-tests.cpp index ca4af97..1cd0044 100644 --- a/tests/test-resolve-resource-tests.cpp +++ b/tests/test-resolve-resource-tests.cpp @@ -68,7 +68,7 @@ struct BaseResolveResourceTest struct TextureInfo { Extents extent; - int numMipLevels; + int mipLevelCount; int arrayLength; SubresourceData const* initData; }; @@ -89,7 +89,7 @@ struct BaseResolveResourceTest TextureDesc msaaTexDesc = {}; msaaTexDesc.type = TextureType::Texture2D; - msaaTexDesc.numMipLevels = dstTextureInfo.numMipLevels; + msaaTexDesc.mipLevelCount = dstTextureInfo.mipLevelCount; msaaTexDesc.arrayLength = dstTextureInfo.arrayLength; msaaTexDesc.size = dstTextureInfo.extent; msaaTexDesc.usage = TextureUsage::RenderTarget | TextureUsage::ResolveSource; @@ -101,7 +101,7 @@ struct BaseResolveResourceTest TextureDesc dstTexDesc = {}; dstTexDesc.type = TextureType::Texture2D; - dstTexDesc.numMipLevels = dstTextureInfo.numMipLevels; + dstTexDesc.mipLevelCount = dstTextureInfo.mipLevelCount; dstTexDesc.arrayLength = dstTextureInfo.arrayLength; dstTexDesc.size = dstTextureInfo.extent; dstTexDesc.usage = TextureUsage::ResolveDestination | TextureUsage::CopySource | TextureUsage::RenderTarget; diff --git a/tests/test-resource-states.cpp b/tests/test-resource-states.cpp index ecdc6b3..1e0933a 100644 --- a/tests/test-resource-states.cpp +++ b/tests/test-resource-states.cpp @@ -117,7 +117,7 @@ void testTextureResourceStates(GpuTestContext* ctx, DeviceType deviceType) texDesc.type = TextureType::Texture2D; texDesc.format = format; texDesc.size = Extents{4, 4, 1}; - texDesc.numMipLevels = 1; + texDesc.mipLevelCount = 1; texDesc.usage = textureUsage; texDesc.memoryType = MemoryType::DeviceLocal; ComPtr texture; diff --git a/tests/test-sampler-array.cpp b/tests/test-sampler-array.cpp index 979759e..8731cd3 100644 --- a/tests/test-sampler-array.cpp +++ b/tests/test-sampler-array.cpp @@ -52,7 +52,7 @@ void testSamplerArray(GpuTestContext* ctx, DeviceType deviceType) textureDesc.size.width = 2; textureDesc.size.height = 2; textureDesc.size.depth = 1; - textureDesc.numMipLevels = 2; + textureDesc.mipLevelCount = 2; textureDesc.memoryType = MemoryType::DeviceLocal; textureDesc.usage = TextureUsage::ShaderResource | TextureUsage::CopyDestination; textureDesc.defaultState = ResourceState::ShaderResource; diff --git a/tests/test-shader-cache.cpp b/tests/test-shader-cache.cpp index 338fe23..07cde5a 100644 --- a/tests/test-shader-cache.cpp +++ b/tests/test-shader-cache.cpp @@ -713,7 +713,7 @@ struct ShaderCacheTestGraphics : ShaderCacheTest colorBufferDesc.size.width = kWidth; colorBufferDesc.size.height = kHeight; colorBufferDesc.size.depth = 1; - colorBufferDesc.numMipLevels = 1; + colorBufferDesc.mipLevelCount = 1; colorBufferDesc.format = format; colorBufferDesc.usage = TextureUsage::RenderTarget | TextureUsage::CopySource; colorBufferDesc.defaultState = ResourceState::RenderTarget; diff --git a/tests/test-shared-texture.cpp b/tests/test-shared-texture.cpp index e76e74f..e70cad7 100644 --- a/tests/test-shared-texture.cpp +++ b/tests/test-shared-texture.cpp @@ -62,7 +62,7 @@ static ComPtr createTexture(IDevice* device, Extents extents, Format f { TextureDesc texDesc = {}; texDesc.type = TextureType::Texture2D; - texDesc.numMipLevels = 1; + texDesc.mipLevelCount = 1; texDesc.size = extents; texDesc.usage = TextureUsage::ShaderResource | TextureUsage::UnorderedAccess | TextureUsage::CopyDestination | TextureUsage::CopySource; diff --git a/tests/test-texture-types.cpp b/tests/test-texture-types.cpp index 1faa4b6..b723a87 100644 --- a/tests/test-texture-types.cpp +++ b/tests/test-texture-types.cpp @@ -85,7 +85,7 @@ struct TextureAccessTest : TextureTest { TextureDesc textureDesc = {}; textureDesc.type = textureInfo->textureType; - textureDesc.numMipLevels = textureInfo->mipLevelCount; + textureDesc.mipLevelCount = textureInfo->mipLevelCount; textureDesc.arrayLength = textureInfo->arrayLayerCount; textureDesc.size = textureInfo->extents; textureDesc.usage = (readWrite ? TextureUsage::UnorderedAccess : TextureUsage::ShaderResource) | @@ -312,7 +312,7 @@ struct RenderTargetTests : TextureTest TextureDesc renderTextureDesc = {}; renderTextureDesc.type = textureInfo->textureType; - renderTextureDesc.numMipLevels = textureInfo->mipLevelCount; + renderTextureDesc.mipLevelCount = textureInfo->mipLevelCount; renderTextureDesc.arrayLength = textureInfo->arrayLayerCount; renderTextureDesc.size = textureInfo->extents; renderTextureDesc.usage = TextureUsage::RenderTarget | TextureUsage::ResolveSource | TextureUsage::CopySource; @@ -328,7 +328,7 @@ struct RenderTargetTests : TextureTest TextureDesc textureDesc = {}; textureDesc.type = textureInfo->textureType; - textureDesc.numMipLevels = textureInfo->mipLevelCount; + textureDesc.mipLevelCount = textureInfo->mipLevelCount; textureDesc.arrayLength = textureInfo->arrayLayerCount; textureDesc.size = textureInfo->extents; textureDesc.usage = TextureUsage::ResolveDestination | TextureUsage::CopySource;