From 4ee7714a7d96e9ebada518c9aae70ca53af2cd30 Mon Sep 17 00:00:00 2001 From: Nikita Lutsenko Date: Wed, 9 Oct 2024 09:16:40 -0700 Subject: [PATCH 1/2] Fix header-hygiene warning violations. --- .../MoltenVK/GPUObjects/MVKDescriptorSet.mm | 6 +-- MoltenVK/MoltenVK/GPUObjects/MVKDevice.mm | 6 +-- MoltenVK/MoltenVK/GPUObjects/MVKPipeline.h | 48 +++++++++---------- MoltenVK/MoltenVK/GPUObjects/MVKPipeline.mm | 1 + .../MoltenVK/GPUObjects/MVKShaderModule.h | 43 ++++++++--------- .../MoltenVK/GPUObjects/MVKShaderModule.mm | 2 +- 6 files changed, 52 insertions(+), 54 deletions(-) diff --git a/MoltenVK/MoltenVK/GPUObjects/MVKDescriptorSet.mm b/MoltenVK/MoltenVK/GPUObjects/MVKDescriptorSet.mm index 54ba414a6..46d490153 100644 --- a/MoltenVK/MoltenVK/GPUObjects/MVKDescriptorSet.mm +++ b/MoltenVK/MoltenVK/GPUObjects/MVKDescriptorSet.mm @@ -275,9 +275,9 @@ static void populateAuxBuffer(mvk::SPIRVToMSLConversionConfiguration& shaderConf } bool MVKDescriptorSetLayout::populateBindingUse(MVKBitArray& bindingUse, - SPIRVToMSLConversionConfiguration& context, - MVKShaderStage stage, - uint32_t descSetIndex) { + mvk::SPIRVToMSLConversionConfiguration& context, + MVKShaderStage stage, + uint32_t descSetIndex) { static const spv::ExecutionModel spvExecModels[] = { spv::ExecutionModelVertex, spv::ExecutionModelTessellationControl, diff --git a/MoltenVK/MoltenVK/GPUObjects/MVKDevice.mm b/MoltenVK/MoltenVK/GPUObjects/MVKDevice.mm index f5edd5a9a..b996975c1 100644 --- a/MoltenVK/MoltenVK/GPUObjects/MVKDevice.mm +++ b/MoltenVK/MoltenVK/GPUObjects/MVKDevice.mm @@ -3528,9 +3528,9 @@ static uint32_t mvkGetEntryProperty(io_registry_entry_t entry, CFStringRef prope NSUUID* nsUUID = [[NSUUID alloc] initWithUUIDBytes: _properties.pipelineCacheUUID]; // temp retain MVKLogInfo(logMsg.c_str(), getName(), devTypeStr.c_str(), - _properties.vendorID, _properties.deviceID, nsUUID.UUIDString.UTF8String, - getRecommendedMaxWorkingSetSize() / MEBI, getCurrentAllocatedSize() / MEBI, - SPIRVToMSLConversionOptions::printMSLVersion(_metalFeatures.mslVersion).c_str()); + _properties.vendorID, _properties.deviceID, nsUUID.UUIDString.UTF8String, + getRecommendedMaxWorkingSetSize() / MEBI, getCurrentAllocatedSize() / MEBI, + mvk::SPIRVToMSLConversionOptions::printMSLVersion(_metalFeatures.mslVersion).c_str()); [nsUUID release]; // temp release } diff --git a/MoltenVK/MoltenVK/GPUObjects/MVKPipeline.h b/MoltenVK/MoltenVK/GPUObjects/MVKPipeline.h index a7df208d9..768c54080 100644 --- a/MoltenVK/MoltenVK/GPUObjects/MVKPipeline.h +++ b/MoltenVK/MoltenVK/GPUObjects/MVKPipeline.h @@ -74,7 +74,7 @@ class MVKPipelineLayout : public MVKVulkanAPIDeviceObject { const void* pData); /** Populates the specified shader conversion config. */ - void populateShaderConversionConfig(SPIRVToMSLConversionConfiguration& shaderConfig); + void populateShaderConversionConfig(mvk::SPIRVToMSLConversionConfiguration& shaderConfig); /** Returns the descriptor set layout. */ MVKDescriptorSetLayout* getDescriptorSetLayout(uint32_t descSetIndex) { return _descriptorSetLayouts[descSetIndex]; } @@ -167,7 +167,7 @@ class MVKPipeline : public MVKVulkanAPIDeviceObject { void propagateDebugName() override {} template void populateDescriptorSetBindingUse(MVKMTLFunction& mvkMTLFunc, const CreateInfo* pCreateInfo, - SPIRVToMSLConversionConfiguration& shaderConfig, + mvk::SPIRVToMSLConversionConfiguration& shaderConfig, MVKShaderStage stage); MVKPipelineCache* _pipelineCache; @@ -340,8 +340,8 @@ class MVKGraphicsPipeline : public MVKPipeline { ~MVKGraphicsPipeline() override; protected: - typedef MVKSmallVector SPIRVShaderOutputs; - typedef MVKSmallVector SPIRVShaderInputs; + typedef MVKSmallVector SPIRVShaderOutputs; + typedef MVKSmallVector SPIRVShaderInputs; id getOrCompilePipeline(MTLRenderPipelineDescriptor* plDesc, id& plState); id getOrCompilePipeline(MTLComputePipelineDescriptor* plDesc, id& plState, const char* compilerType); @@ -349,36 +349,36 @@ class MVKGraphicsPipeline : public MVKPipeline { bool compileTessControlStageState(MTLComputePipelineDescriptor* tcPLDesc, VkPipelineCreationFeedback* pTessCtlFB); void initDynamicState(const VkGraphicsPipelineCreateInfo* pCreateInfo); void initSampleLocations(const VkGraphicsPipelineCreateInfo* pCreateInfo); - void initMTLRenderPipelineState(const VkGraphicsPipelineCreateInfo* pCreateInfo, const SPIRVTessReflectionData& reflectData, VkPipelineCreationFeedback* pPipelineFB, const VkPipelineShaderStageCreateInfo* pVertexSS, VkPipelineCreationFeedback* pVertexFB, const VkPipelineShaderStageCreateInfo* pTessCtlSS, VkPipelineCreationFeedback* pTessCtlFB, const VkPipelineShaderStageCreateInfo* pTessEvalSS, VkPipelineCreationFeedback* pTessEvalFB, const VkPipelineShaderStageCreateInfo* pFragmentSS, VkPipelineCreationFeedback* pFragmentFB); - void initShaderConversionConfig(SPIRVToMSLConversionConfiguration& shaderConfig, const VkGraphicsPipelineCreateInfo* pCreateInfo, const SPIRVTessReflectionData& reflectData); + void initMTLRenderPipelineState(const VkGraphicsPipelineCreateInfo* pCreateInfo, const mvk::SPIRVTessReflectionData& reflectData, VkPipelineCreationFeedback* pPipelineFB, const VkPipelineShaderStageCreateInfo* pVertexSS, VkPipelineCreationFeedback* pVertexFB, const VkPipelineShaderStageCreateInfo* pTessCtlSS, VkPipelineCreationFeedback* pTessCtlFB, const VkPipelineShaderStageCreateInfo* pTessEvalSS, VkPipelineCreationFeedback* pTessEvalFB, const VkPipelineShaderStageCreateInfo* pFragmentSS, VkPipelineCreationFeedback* pFragmentFB); + void initShaderConversionConfig(mvk::SPIRVToMSLConversionConfiguration& shaderConfig, const VkGraphicsPipelineCreateInfo* pCreateInfo, const mvk::SPIRVTessReflectionData& reflectData); void initReservedVertexAttributeBufferCount(const VkGraphicsPipelineCreateInfo* pCreateInfo); - void addVertexInputToShaderConversionConfig(SPIRVToMSLConversionConfiguration& shaderConfig, const VkGraphicsPipelineCreateInfo* pCreateInfo); - void addNextStageInputToShaderConversionConfig(SPIRVToMSLConversionConfiguration& shaderConfig, SPIRVShaderInputs& inputs); - void addPrevStageOutputToShaderConversionConfig(SPIRVToMSLConversionConfiguration& shaderConfig, SPIRVShaderOutputs& outputs); - MTLRenderPipelineDescriptor* newMTLRenderPipelineDescriptor(const VkGraphicsPipelineCreateInfo* pCreateInfo, const SPIRVTessReflectionData& reflectData, const VkPipelineShaderStageCreateInfo* pVertexSS, VkPipelineCreationFeedback* pVertexFB, const VkPipelineShaderStageCreateInfo* pFragmentSS, VkPipelineCreationFeedback* pFragmentFB); - MTLComputePipelineDescriptor* newMTLTessVertexStageDescriptor(const VkGraphicsPipelineCreateInfo* pCreateInfo, const SPIRVTessReflectionData& reflectData, SPIRVToMSLConversionConfiguration& shaderConfig, const VkPipelineShaderStageCreateInfo* pVertexSS, VkPipelineCreationFeedback* pVertexFB, const VkPipelineShaderStageCreateInfo* pTessCtlSS, MVKMTLFunction* pVtxFunctions); - MTLComputePipelineDescriptor* newMTLTessControlStageDescriptor(const VkGraphicsPipelineCreateInfo* pCreateInfo, const SPIRVTessReflectionData& reflectData, SPIRVToMSLConversionConfiguration& shaderConfig, const VkPipelineShaderStageCreateInfo* pTessCtlSS, VkPipelineCreationFeedback* pTessCtlFB, const VkPipelineShaderStageCreateInfo* pVertexSS, const VkPipelineShaderStageCreateInfo* pTessEvalSS); - MTLRenderPipelineDescriptor* newMTLTessRasterStageDescriptor(const VkGraphicsPipelineCreateInfo* pCreateInfo, const SPIRVTessReflectionData& reflectData, SPIRVToMSLConversionConfiguration& shaderConfig, const VkPipelineShaderStageCreateInfo* pTessEvalSS, VkPipelineCreationFeedback* pTessEvalFB, const VkPipelineShaderStageCreateInfo* pFragmentSS, VkPipelineCreationFeedback* pFragmentFB, const VkPipelineShaderStageCreateInfo* pTessCtlSS); - bool addVertexShaderToPipeline(MTLRenderPipelineDescriptor* plDesc, const VkGraphicsPipelineCreateInfo* pCreateInfo, SPIRVToMSLConversionConfiguration& shaderConfig, const VkPipelineShaderStageCreateInfo* pVertexSS, VkPipelineCreationFeedback* pVertexFB, const VkPipelineShaderStageCreateInfo*& pFragmentSS); - bool addVertexShaderToPipeline(MTLComputePipelineDescriptor* plDesc, const VkGraphicsPipelineCreateInfo* pCreateInfo, SPIRVToMSLConversionConfiguration& shaderConfig, SPIRVShaderInputs& nextInputs, const VkPipelineShaderStageCreateInfo* pVertexSS, VkPipelineCreationFeedback* pVertexFB, MVKMTLFunction* pVtxFunctions); - bool addTessCtlShaderToPipeline(MTLComputePipelineDescriptor* plDesc, const VkGraphicsPipelineCreateInfo* pCreateInfo, SPIRVToMSLConversionConfiguration& shaderConfig, SPIRVShaderOutputs& prevOutput, SPIRVShaderInputs& nextInputs, const VkPipelineShaderStageCreateInfo* pTessCtlSS, VkPipelineCreationFeedback* pTessCtlFB); - bool addTessEvalShaderToPipeline(MTLRenderPipelineDescriptor* plDesc, const VkGraphicsPipelineCreateInfo* pCreateInfo, SPIRVToMSLConversionConfiguration& shaderConfig, SPIRVShaderOutputs& prevOutput, const VkPipelineShaderStageCreateInfo* pTessEvalSS, VkPipelineCreationFeedback* pTessEvalFB, const VkPipelineShaderStageCreateInfo*& pFragmentSS); - bool addFragmentShaderToPipeline(MTLRenderPipelineDescriptor* plDesc, const VkGraphicsPipelineCreateInfo* pCreateInfo, SPIRVToMSLConversionConfiguration& shaderConfig, SPIRVShaderOutputs& prevOutput, const VkPipelineShaderStageCreateInfo* pFragmentSS, VkPipelineCreationFeedback* pFragmentFB); + void addVertexInputToShaderConversionConfig(mvk::SPIRVToMSLConversionConfiguration& shaderConfig, const VkGraphicsPipelineCreateInfo* pCreateInfo); + void addNextStageInputToShaderConversionConfig(mvk::SPIRVToMSLConversionConfiguration& shaderConfig, SPIRVShaderInputs& inputs); + void addPrevStageOutputToShaderConversionConfig(mvk::SPIRVToMSLConversionConfiguration& shaderConfig, SPIRVShaderOutputs& outputs); + MTLRenderPipelineDescriptor* newMTLRenderPipelineDescriptor(const VkGraphicsPipelineCreateInfo* pCreateInfo, const mvk::SPIRVTessReflectionData& reflectData, const VkPipelineShaderStageCreateInfo* pVertexSS, VkPipelineCreationFeedback* pVertexFB, const VkPipelineShaderStageCreateInfo* pFragmentSS, VkPipelineCreationFeedback* pFragmentFB); + MTLComputePipelineDescriptor* newMTLTessVertexStageDescriptor(const VkGraphicsPipelineCreateInfo* pCreateInfo, const mvk::SPIRVTessReflectionData& reflectData, mvk::SPIRVToMSLConversionConfiguration& shaderConfig, const VkPipelineShaderStageCreateInfo* pVertexSS, VkPipelineCreationFeedback* pVertexFB, const VkPipelineShaderStageCreateInfo* pTessCtlSS, MVKMTLFunction* pVtxFunctions); + MTLComputePipelineDescriptor* newMTLTessControlStageDescriptor(const VkGraphicsPipelineCreateInfo* pCreateInfo, const mvk::SPIRVTessReflectionData& reflectData, mvk::SPIRVToMSLConversionConfiguration& shaderConfig, const VkPipelineShaderStageCreateInfo* pTessCtlSS, VkPipelineCreationFeedback* pTessCtlFB, const VkPipelineShaderStageCreateInfo* pVertexSS, const VkPipelineShaderStageCreateInfo* pTessEvalSS); + MTLRenderPipelineDescriptor* newMTLTessRasterStageDescriptor(const VkGraphicsPipelineCreateInfo* pCreateInfo, const mvk::SPIRVTessReflectionData& reflectData, mvk::SPIRVToMSLConversionConfiguration& shaderConfig, const VkPipelineShaderStageCreateInfo* pTessEvalSS, VkPipelineCreationFeedback* pTessEvalFB, const VkPipelineShaderStageCreateInfo* pFragmentSS, VkPipelineCreationFeedback* pFragmentFB, const VkPipelineShaderStageCreateInfo* pTessCtlSS); + bool addVertexShaderToPipeline(MTLRenderPipelineDescriptor* plDesc, const VkGraphicsPipelineCreateInfo* pCreateInfo, mvk::SPIRVToMSLConversionConfiguration& shaderConfig, const VkPipelineShaderStageCreateInfo* pVertexSS, VkPipelineCreationFeedback* pVertexFB, const VkPipelineShaderStageCreateInfo*& pFragmentSS); + bool addVertexShaderToPipeline(MTLComputePipelineDescriptor* plDesc, const VkGraphicsPipelineCreateInfo* pCreateInfo, mvk::SPIRVToMSLConversionConfiguration& shaderConfig, SPIRVShaderInputs& nextInputs, const VkPipelineShaderStageCreateInfo* pVertexSS, VkPipelineCreationFeedback* pVertexFB, MVKMTLFunction* pVtxFunctions); + bool addTessCtlShaderToPipeline(MTLComputePipelineDescriptor* plDesc, const VkGraphicsPipelineCreateInfo* pCreateInfo, mvk::SPIRVToMSLConversionConfiguration& shaderConfig, SPIRVShaderOutputs& prevOutput, SPIRVShaderInputs& nextInputs, const VkPipelineShaderStageCreateInfo* pTessCtlSS, VkPipelineCreationFeedback* pTessCtlFB); + bool addTessEvalShaderToPipeline(MTLRenderPipelineDescriptor* plDesc, const VkGraphicsPipelineCreateInfo* pCreateInfo, mvk::SPIRVToMSLConversionConfiguration& shaderConfig, SPIRVShaderOutputs& prevOutput, const VkPipelineShaderStageCreateInfo* pTessEvalSS, VkPipelineCreationFeedback* pTessEvalFB, const VkPipelineShaderStageCreateInfo*& pFragmentSS); + bool addFragmentShaderToPipeline(MTLRenderPipelineDescriptor* plDesc, const VkGraphicsPipelineCreateInfo* pCreateInfo, mvk::SPIRVToMSLConversionConfiguration& shaderConfig, SPIRVShaderOutputs& prevOutput, const VkPipelineShaderStageCreateInfo* pFragmentSS, VkPipelineCreationFeedback* pFragmentFB); template - bool addVertexInputToPipeline(T* inputDesc, const VkPipelineVertexInputStateCreateInfo* pVI, const SPIRVToMSLConversionConfiguration& shaderConfig); + bool addVertexInputToPipeline(T* inputDesc, const VkPipelineVertexInputStateCreateInfo* pVI, const mvk::SPIRVToMSLConversionConfiguration& shaderConfig); void adjustVertexInputForMultiview(MTLVertexDescriptor* inputDesc, const VkPipelineVertexInputStateCreateInfo* pVI, uint32_t viewCount, uint32_t oldViewCount = 1); - void addTessellationToPipeline(MTLRenderPipelineDescriptor* plDesc, const SPIRVTessReflectionData& reflectData, const VkPipelineTessellationStateCreateInfo* pTS); + void addTessellationToPipeline(MTLRenderPipelineDescriptor* plDesc, const mvk::SPIRVTessReflectionData& reflectData, const VkPipelineTessellationStateCreateInfo* pTS); void addFragmentOutputToPipeline(MTLRenderPipelineDescriptor* plDesc, const VkGraphicsPipelineCreateInfo* pCreateInfo); bool isRenderingPoints(const VkGraphicsPipelineCreateInfo* pCreateInfo); bool isRasterizationDisabled(const VkGraphicsPipelineCreateInfo* pCreateInfo); bool verifyImplicitBuffer(bool needsBuffer, MVKShaderImplicitRezBinding& index, MVKShaderStage stage, const char* name); uint32_t getTranslatedVertexBinding(uint32_t binding, uint32_t translationOffset, uint32_t maxBinding); uint32_t getImplicitBufferIndex(MVKShaderStage stage, uint32_t bufferIndexOffset); - MVKMTLFunction getMTLFunction(SPIRVToMSLConversionConfiguration& shaderConfig, + MVKMTLFunction getMTLFunction(mvk::SPIRVToMSLConversionConfiguration& shaderConfig, const VkPipelineShaderStageCreateInfo* pShaderStage, VkPipelineCreationFeedback* pStageFB, const char* pStageName); - void markIfUsingPhysicalStorageBufferAddressesCapability(SPIRVToMSLConversionResultInfo& resultsInfo, + void markIfUsingPhysicalStorageBufferAddressesCapability(mvk::SPIRVToMSLConversionResultInfo& resultsInfo, MVKShaderStage stage); VkPipelineTessellationStateCreateInfo _tessInfo; @@ -508,7 +508,7 @@ class MVKPipelineCache : public MVKVulkanAPIDeviceObject { * Return a shader library for the shader conversion configuration, from the * pipeline's pipeline cache, or compiled from source in the shader module. */ - MVKShaderLibrary* getShaderLibrary(SPIRVToMSLConversionConfiguration* pContext, + MVKShaderLibrary* getShaderLibrary(mvk::SPIRVToMSLConversionConfiguration* pContext, MVKShaderModule* shaderModule, MVKPipeline* pipeline, VkPipelineCreationFeedback* pShaderFeedback = nullptr, @@ -529,7 +529,7 @@ class MVKPipelineCache : public MVKVulkanAPIDeviceObject { MVKShaderLibraryCache* getShaderLibraryCache(MVKShaderModuleKey smKey); void readData(const VkPipelineCacheCreateInfo* pCreateInfo); void writeData(std::ostream& outstream, bool isCounting = false); - MVKShaderLibrary* getShaderLibraryImpl(SPIRVToMSLConversionConfiguration* pContext, + MVKShaderLibrary* getShaderLibraryImpl(mvk::SPIRVToMSLConversionConfiguration* pContext, MVKShaderModule* shaderModule, MVKPipeline* pipeline, VkPipelineCreationFeedback* pShaderFeedback, diff --git a/MoltenVK/MoltenVK/GPUObjects/MVKPipeline.mm b/MoltenVK/MoltenVK/GPUObjects/MVKPipeline.mm index 382e2a326..7d8dccf06 100644 --- a/MoltenVK/MoltenVK/GPUObjects/MVKPipeline.mm +++ b/MoltenVK/MoltenVK/GPUObjects/MVKPipeline.mm @@ -40,6 +40,7 @@ #endif using namespace std; +using namespace mvk; using namespace SPIRV_CROSS_NAMESPACE; diff --git a/MoltenVK/MoltenVK/GPUObjects/MVKShaderModule.h b/MoltenVK/MoltenVK/GPUObjects/MVKShaderModule.h index eab6a43bd..31b4ede75 100644 --- a/MoltenVK/MoltenVK/GPUObjects/MVKShaderModule.h +++ b/MoltenVK/MoltenVK/GPUObjects/MVKShaderModule.h @@ -33,19 +33,16 @@ class MVKShaderCacheIterator; class MVKShaderLibraryCache; class MVKShaderModule; -using namespace mvk; - - #pragma mark - #pragma mark MVKShaderLibrary /** A MTLFunction and corresponding result information resulting from a shader conversion. */ typedef struct MVKMTLFunction { - SPIRVToMSLConversionResultInfo shaderConversionResults; + mvk::SPIRVToMSLConversionResultInfo shaderConversionResults; MTLSize threadGroupSize; id getMTLFunction() { return _mtlFunction; } - MVKMTLFunction(id mtlFunc, const SPIRVToMSLConversionResultInfo scRslts, MTLSize tgSize); + MVKMTLFunction(id mtlFunc, const mvk::SPIRVToMSLConversionResultInfo scRslts, MTLSize tgSize); MVKMTLFunction(const MVKMTLFunction& other); MVKMTLFunction& operator=(const MVKMTLFunction& other); MVKMTLFunction() {} @@ -57,7 +54,7 @@ typedef struct MVKMTLFunction { } MVKMTLFunction; /** A MVKMTLFunction indicating an invalid MTLFunction. The mtlFunction member is nil. */ -const MVKMTLFunction MVKMTLFunctionNull(nil, SPIRVToMSLConversionResultInfo(), MTLSizeMake(1, 1, 1)); +const MVKMTLFunction MVKMTLFunctionNull(nil, mvk::SPIRVToMSLConversionResultInfo(), MTLSizeMake(1, 1, 1)); /** Wraps a single MTLLibrary. */ class MVKShaderLibrary : public MVKBaseDeviceObject { @@ -86,10 +83,10 @@ class MVKShaderLibrary : public MVKBaseDeviceObject { void setWorkgroupSize(uint32_t x, uint32_t y, uint32_t z); MVKShaderLibrary(MVKVulkanAPIDeviceObject* owner, - const SPIRVToMSLConversionResult& conversionResult); + const mvk::SPIRVToMSLConversionResult& conversionResult); MVKShaderLibrary(MVKVulkanAPIDeviceObject* owner, - const SPIRVToMSLConversionResultInfo& resultInfo, + const mvk::SPIRVToMSLConversionResultInfo& resultInfo, const MVKCompressor compressedMSL); MVKShaderLibrary(MVKVulkanAPIDeviceObject* owner, @@ -120,7 +117,7 @@ class MVKShaderLibrary : public MVKBaseDeviceObject { MVKVulkanAPIDeviceObject* _owner; id _mtlLibrary; MVKCompressor _compressedMSL; - SPIRVToMSLConversionResultInfo _shaderConversionResultInfo; + mvk::SPIRVToMSLConversionResultInfo _shaderConversionResultInfo; }; @@ -144,7 +141,7 @@ class MVKShaderLibraryCache : public MVKBaseDeviceObject { * If pWasAdded is not nil, this function will set it to true if a new shader library was created, * and to false if an existing shader library was found and returned. */ - MVKShaderLibrary* getShaderLibrary(SPIRVToMSLConversionConfiguration* pShaderConfig, + MVKShaderLibrary* getShaderLibrary(mvk::SPIRVToMSLConversionConfiguration* pShaderConfig, MVKShaderModule* shaderModule, MVKPipeline* pipeline, bool* pWasAdded, VkPipelineCreationFeedback* pShaderFeedback, uint64_t startTime = 0); @@ -158,18 +155,18 @@ class MVKShaderLibraryCache : public MVKBaseDeviceObject { friend MVKPipelineCache; friend MVKShaderModule; - MVKShaderLibrary* findShaderLibrary(SPIRVToMSLConversionConfiguration* pShaderConfig, + MVKShaderLibrary* findShaderLibrary(mvk::SPIRVToMSLConversionConfiguration* pShaderConfig, VkPipelineCreationFeedback* pShaderFeedback = nullptr, uint64_t startTime = 0); - MVKShaderLibrary* addShaderLibrary(const SPIRVToMSLConversionConfiguration* pShaderConfig, - const SPIRVToMSLConversionResult& conversionResult); - MVKShaderLibrary* addShaderLibrary(const SPIRVToMSLConversionConfiguration* pShaderConfig, - const SPIRVToMSLConversionResultInfo& resultInfo, + MVKShaderLibrary* addShaderLibrary(const mvk::SPIRVToMSLConversionConfiguration* pShaderConfig, + const mvk::SPIRVToMSLConversionResult& conversionResult); + MVKShaderLibrary* addShaderLibrary(const mvk::SPIRVToMSLConversionConfiguration* pShaderConfig, + const mvk::SPIRVToMSLConversionResultInfo& resultInfo, const MVKCompressor compressedMSL); void merge(MVKShaderLibraryCache* other); MVKVulkanAPIDeviceObject* _owner; - MVKSmallVector> _shaderLibraries; + MVKSmallVector> _shaderLibraries; }; @@ -210,14 +207,14 @@ class MVKShaderModule : public MVKVulkanAPIDeviceObject { VkDebugReportObjectTypeEXT getVkDebugReportObjectType() override { return VK_DEBUG_REPORT_OBJECT_TYPE_SHADER_MODULE_EXT; } /** Returns the Metal shader function, possibly specialized. */ - MVKMTLFunction getMTLFunction(SPIRVToMSLConversionConfiguration* pShaderConfig, + MVKMTLFunction getMTLFunction(mvk::SPIRVToMSLConversionConfiguration* pShaderConfig, const VkSpecializationInfo* pSpecializationInfo, MVKPipeline* pipeline, VkPipelineCreationFeedback* pShaderFeedback); /** Convert the SPIR-V to MSL, using the specified shader conversion configuration. */ - bool convert(SPIRVToMSLConversionConfiguration* pShaderConfig, - SPIRVToMSLConversionResult& conversionResult); + bool convert(mvk::SPIRVToMSLConversionConfiguration* pShaderConfig, + mvk::SPIRVToMSLConversionResult& conversionResult); /** Returns the original SPIR-V code that was specified when this object was created. */ const std::vector& getSPIRV() { return _spvConverter.getSPIRV(); } @@ -236,11 +233,11 @@ class MVKShaderModule : public MVKVulkanAPIDeviceObject { friend MVKShaderCacheIterator; void propagateDebugName() override {} - MVKGLSLConversionShaderStage getMVKGLSLConversionShaderStage(SPIRVToMSLConversionConfiguration* pShaderConfig); + MVKGLSLConversionShaderStage getMVKGLSLConversionShaderStage(mvk::SPIRVToMSLConversionConfiguration* pShaderConfig); MVKShaderLibraryCache _shaderLibraryCache; - SPIRVToMSLConverter _spvConverter; - GLSLToSPIRVConverter _glslConverter; + mvk::SPIRVToMSLConverter _spvConverter; + mvk::GLSLToSPIRVConverter _glslConverter; MVKShaderLibrary* _directMSLLibrary; MVKShaderModuleKey _key; std::mutex _accessLock; @@ -266,7 +263,7 @@ class MVKShaderLibraryCompiler : public MVKMetalCompiler { * nanoseconds, an error will be generated and logged, and nil will be returned. */ id newMTLLibrary(NSString* mslSourceCode, - const SPIRVToMSLConversionResultInfo& shaderConversionResults); + const mvk::SPIRVToMSLConversionResultInfo& shaderConversionResults); #pragma mark Construction diff --git a/MoltenVK/MoltenVK/GPUObjects/MVKShaderModule.mm b/MoltenVK/MoltenVK/GPUObjects/MVKShaderModule.mm index 7f478105f..9cf299e98 100644 --- a/MoltenVK/MoltenVK/GPUObjects/MVKShaderModule.mm +++ b/MoltenVK/MoltenVK/GPUObjects/MVKShaderModule.mm @@ -22,7 +22,7 @@ #include using namespace std; - +using namespace mvk; MVKMTLFunction::MVKMTLFunction(id mtlFunc, const SPIRVToMSLConversionResultInfo scRslts, MTLSize tgSize) { _mtlFunction = [mtlFunc retain]; // retained From 834488387ac151dc103e81e02050dd9ee3a815fb Mon Sep 17 00:00:00 2001 From: Nikita Lutsenko Date: Wed, 9 Oct 2024 09:12:33 -0700 Subject: [PATCH 2/2] Enable header-hygiene warning in xcodeproj for MoltenVK itself. --- MoltenVK/MoltenVK.xcodeproj/project.pbxproj | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/MoltenVK/MoltenVK.xcodeproj/project.pbxproj b/MoltenVK/MoltenVK.xcodeproj/project.pbxproj index 950c33c1a..022dea5f4 100644 --- a/MoltenVK/MoltenVK.xcodeproj/project.pbxproj +++ b/MoltenVK/MoltenVK.xcodeproj/project.pbxproj @@ -2702,7 +2702,10 @@ PRODUCT_NAME = MoltenVK; SKIP_INSTALL = YES; TVOS_DEPLOYMENT_TARGET = 13.0; - WARNING_CFLAGS = "-Wreorder"; + WARNING_CFLAGS = ( + "-Wreorder", + "-Wheader-hygiene", + ); }; name = Debug; }; @@ -2776,7 +2779,10 @@ SKIP_INSTALL = YES; TVOS_DEPLOYMENT_TARGET = 13.0; VALIDATE_PRODUCT = YES; - WARNING_CFLAGS = "-Wreorder"; + WARNING_CFLAGS = ( + "-Wreorder", + "-Wheader-hygiene", + ); }; name = Release; };