diff options
| author | Ellie Hermaszewska <ellieh@nvidia.com> | 2024-10-29 14:49:26 +0800 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2024-10-29 14:49:26 +0800 |
| commit | f65d756bff8d4c5cbc15bd0322a2ae8e6b896a21 (patch) | |
| tree | ea1d61342cd29368e19135000ec2948813096205 /examples/example-base | |
| parent | a729c15e9dce9f5116a38afc66329ab2ca4cea54 (diff) | |
format
* format
* Minor test fixes
* enable checking cpp format in ci
Diffstat (limited to 'examples/example-base')
| -rw-r--r-- | examples/example-base/example-base.cpp | 87 | ||||
| -rw-r--r-- | examples/example-base/example-base.h | 42 | ||||
| -rw-r--r-- | examples/example-base/test-base.cpp | 15 | ||||
| -rw-r--r-- | examples/example-base/test-base.h | 14 |
4 files changed, 105 insertions, 53 deletions
diff --git a/examples/example-base/example-base.cpp b/examples/example-base/example-base.cpp index 344611bed..9951d7cf2 100644 --- a/examples/example-base/example-base.cpp +++ b/examples/example-base/example-base.cpp @@ -1,4 +1,5 @@ #include "example-base.h" + #include <chrono> #ifdef _WIN32 @@ -123,7 +124,11 @@ void WindowedAppBase::offlineRender() gTransientHeaps[0]->finish(); } -void WindowedAppBase::createFramebuffers(uint32_t width, uint32_t height, gfx::Format colorFormat, uint32_t frameBufferCount) +void WindowedAppBase::createFramebuffers( + uint32_t width, + uint32_t height, + gfx::Format colorFormat, + uint32_t frameBufferCount) { for (uint32_t i = 0; i < frameBufferCount; i++) { @@ -150,7 +155,8 @@ void WindowedAppBase::createFramebuffers(uint32_t width, uint32_t height, gfx::F colorBufferDesc.size.depth = 1; colorBufferDesc.format = colorFormat; colorBufferDesc.defaultState = ResourceState::RenderTarget; - colorBufferDesc.allowedStates = ResourceStateSet(ResourceState::RenderTarget, ResourceState::CopyDestination); + colorBufferDesc.allowedStates = + ResourceStateSet(ResourceState::RenderTarget, ResourceState::CopyDestination); colorBuffer = gDevice->createTextureResource(colorBufferDesc, nullptr); } else @@ -194,14 +200,21 @@ void WindowedAppBase::createOfflineFramebuffers() void WindowedAppBase::createSwapchainFramebuffers() { gFramebuffers.clear(); - createFramebuffers(gSwapchain->getDesc().width, gSwapchain->getDesc().height, - gSwapchain->getDesc().format, kSwapchainImageCount); + createFramebuffers( + gSwapchain->getDesc().width, + gSwapchain->getDesc().height, + gSwapchain->getDesc().format, + kSwapchainImageCount); } -ComPtr<gfx::IResourceView> WindowedAppBase::createTextureFromFile(String fileName, int& textureWidth, int& textureHeight) +ComPtr<gfx::IResourceView> WindowedAppBase::createTextureFromFile( + String fileName, + int& textureWidth, + int& textureHeight) { int channelsInFile = 0; - auto textureContent = stbi_load(fileName.getBuffer(), &textureWidth, &textureHeight, &channelsInFile, 4); + auto textureContent = + stbi_load(fileName.getBuffer(), &textureWidth, &textureHeight, &channelsInFile, 4); gfx::ITextureResource::Desc textureDesc = {}; textureDesc.allowedStates.add(ResourceState::ShaderResource); textureDesc.format = gfx::Format::R8G8B8A8_UNORM; @@ -222,9 +235,22 @@ ComPtr<gfx::IResourceView> WindowedAppBase::createTextureFromFile(String fileNam subresData[0].strideZ = textureWidth * textureHeight * 4; // Build mipmaps. - struct RGBA { uint8_t v[4]; }; - auto castToRGBA = [](uint32_t v) { RGBA result; memcpy(&result, &v, 4); return result; }; - auto castToUint = [](RGBA v) { uint32_t result; memcpy(&result, &v, 4); return result; }; + struct RGBA + { + uint8_t v[4]; + }; + auto castToRGBA = [](uint32_t v) + { + RGBA result; + memcpy(&result, &v, 4); + return result; + }; + auto castToUint = [](RGBA v) + { + uint32_t result; + memcpy(&result, &v, 4); + return result; + }; int lastMipWidth = textureWidth; int lastMipHeight = textureHeight; @@ -248,7 +274,8 @@ ComPtr<gfx::IResourceView> WindowedAppBase::createTextureFromFile(String fileNam RGBA pix; for (int c = 0; c < 4; c++) { - pix.v[c] = (uint8_t)(((uint32_t)pix1.v[c] + pix2.v[c] + pix3.v[c] + pix4.v[c]) / 4); + pix.v[c] = + (uint8_t)(((uint32_t)pix1.v[c] + pix2.v[c] + pix3.v[c] + pix4.v[c]) / 4); } mipMapData[m][y * w + x] = castToUint(pix); } @@ -286,40 +313,35 @@ void WindowedAppBase::windowSizeChanged() } } -int64_t getCurrentTime() { return std::chrono::high_resolution_clock::now().time_since_epoch().count(); } +int64_t getCurrentTime() +{ + return std::chrono::high_resolution_clock::now().time_since_epoch().count(); +} -int64_t getTimerFrequency() { return std::chrono::high_resolution_clock::period::den; } +int64_t getTimerFrequency() +{ + return std::chrono::high_resolution_clock::period::den; +} class DebugCallback : public IDebugCallback { public: virtual SLANG_NO_THROW void SLANG_MCALL - handleMessage(DebugMessageType type, DebugMessageSource source, const char* message) override + handleMessage(DebugMessageType type, DebugMessageSource source, const char* message) override { const char* typeStr = ""; switch (type) { - case DebugMessageType::Info: - typeStr = "INFO: "; - break; - case DebugMessageType::Warning: - typeStr = "WARNING: "; - break; - case DebugMessageType::Error: - typeStr = "ERROR: "; - break; - default: - break; + case DebugMessageType::Info: typeStr = "INFO: "; break; + case DebugMessageType::Warning: typeStr = "WARNING: "; break; + case DebugMessageType::Error: typeStr = "ERROR: "; break; + default: break; } const char* sourceStr = "[GraphicsLayer]: "; switch (source) { - case DebugMessageSource::Slang: - sourceStr = "[Slang]: "; - break; - case DebugMessageSource::Driver: - sourceStr = "[Driver]: "; - break; + case DebugMessageSource::Slang: sourceStr = "[Slang]: "; break; + case DebugMessageSource::Driver: sourceStr = "[Driver]: "; break; } printf("%s%s%s\n", sourceStr, typeStr, message); #ifdef _WIN32 @@ -338,5 +360,8 @@ void initDebugCallback() } #ifdef _WIN32 -void _Win32OutputDebugString(const char* str) { OutputDebugStringW(Slang::String(str).toWString().begin()); } +void _Win32OutputDebugString(const char* str) +{ + OutputDebugStringW(Slang::String(str).toWString().begin()); +} #endif diff --git a/examples/example-base/example-base.h b/examples/example-base/example-base.h index b97728e17..c10231c14 100644 --- a/examples/example-base/example-base.h +++ b/examples/example-base/example-base.h @@ -1,10 +1,10 @@ #pragma once #include "slang-gfx.h" -#include "tools/platform/window.h" #include "source/core/slang-basic.h" #include "source/core/slang-io.h" #include "test-base.h" +#include "tools/platform/window.h" #ifdef _WIN32 void _Win32OutputDebugString(const char* str); @@ -34,38 +34,52 @@ protected: int height, gfx::DeviceType deviceType = gfx::DeviceType::Default); - void createFramebuffers(uint32_t width, uint32_t height, gfx::Format colorFormat, uint32_t frameBufferCount); + void createFramebuffers( + uint32_t width, + uint32_t height, + gfx::Format colorFormat, + uint32_t frameBufferCount); void createSwapchainFramebuffers(); void createOfflineFramebuffers(); void mainLoop(); - Slang::ComPtr<gfx::IResourceView> createTextureFromFile(Slang::String fileName, int& textureWidth, int& textureHeight); + Slang::ComPtr<gfx::IResourceView> createTextureFromFile( + Slang::String fileName, + int& textureWidth, + int& textureHeight); virtual void windowSizeChanged(); protected: virtual void renderFrame(int framebufferIndex) = 0; + public: platform::Window* getWindow() { return gWindow.Ptr(); } virtual void finalize() { gQueue->waitOnHost(); } void offlineRender(); }; -struct ExampleResources { +struct ExampleResources +{ Slang::String baseDir; - ExampleResources(const Slang::String &dir) : baseDir(dir) {} - - Slang::String resolveResource(const char* fileName) const { - static const Slang::List<Slang::String> directories { + ExampleResources(const Slang::String& dir) + : baseDir(dir) + { + } + + Slang::String resolveResource(const char* fileName) const + { + static const Slang::List<Slang::String> directories{ "examples", "../examples", "../../examples", }; - - for (const Slang::String& dir : directories) { + + for (const Slang::String& dir : directories) + { Slang::StringBuilder pathSb; - pathSb << dir << "/" << baseDir << "/" << fileName; + pathSb << dir << "/" << baseDir << "/" << fileName; if (Slang::File::exists(pathSb.getBuffer())) return pathSb.toString(); } @@ -77,7 +91,8 @@ struct ExampleResources { int64_t getCurrentTime(); int64_t getTimerFrequency(); -template<typename ... TArgs> inline void reportError(const char* format, TArgs... args) +template<typename... TArgs> +inline void reportError(const char* format, TArgs... args) { printf(format, args...); #ifdef _WIN32 @@ -87,7 +102,8 @@ template<typename ... TArgs> inline void reportError(const char* format, TArgs.. #endif } -template <typename... TArgs> inline void log(const char* format, TArgs... args) +template<typename... TArgs> +inline void log(const char* format, TArgs... args) { reportError(format, args...); } diff --git a/examples/example-base/test-base.cpp b/examples/example-base/test-base.cpp index 9d8ec8ce6..5d40f2d80 100644 --- a/examples/example-base/test-base.cpp +++ b/examples/example-base/test-base.cpp @@ -30,23 +30,30 @@ int TestBase::parseOption(int argc, char** argv) return 0; } -void TestBase::printEntrypointHashes(int entryPointCount, int targetCount, ComPtr<slang::IComponentType>& composedProgram) +void TestBase::printEntrypointHashes( + int entryPointCount, + int targetCount, + ComPtr<slang::IComponentType>& composedProgram) { for (int targetIndex = 0; targetIndex < targetCount; targetIndex++) { for (int entryPointIndex = 0; entryPointIndex < entryPointCount; entryPointIndex++) { ComPtr<slang::IBlob> entryPointHashBlob; - composedProgram->getEntryPointHash(entryPointIndex, targetIndex, entryPointHashBlob.writeRef()); + composedProgram->getEntryPointHash( + entryPointIndex, + targetIndex, + entryPointHashBlob.writeRef()); Slang::StringBuilder strBuilder; - strBuilder << "callIdx: " << m_globalCounter << ", entrypoint: "<< entryPointIndex << ", target: " << targetIndex << ", hash: "; + strBuilder << "callIdx: " << m_globalCounter << ", entrypoint: " << entryPointIndex + << ", target: " << targetIndex << ", hash: "; m_globalCounter++; uint8_t* buffer = (uint8_t*)entryPointHashBlob->getBufferPointer(); for (size_t i = 0; i < entryPointHashBlob->getBufferSize(); i++) { - strBuilder<<Slang::StringUtil::makeStringWithFormat("%.2X", buffer[i]); + strBuilder << Slang::StringUtil::makeStringWithFormat("%.2X", buffer[i]); } fprintf(stdout, "%s\n", strBuilder.begin()); } diff --git a/examples/example-base/test-base.h b/examples/example-base/test-base.h index cdd72c580..3f600eae7 100644 --- a/examples/example-base/test-base.h +++ b/examples/example-base/test-base.h @@ -1,22 +1,26 @@ #pragma once -#include "slang.h" #include "slang-com-ptr.h" +#include "slang.h" #include "source/core/slang-string-util.h" using Slang::ComPtr; -class TestBase { +class TestBase +{ public: // Parses command line options. This example only has one option for testing purpose. int parseOption(int argc, char** argv); - void printEntrypointHashes(int entryPointCount, int targetCount, ComPtr<slang::IComponentType>& composedProgram); + void printEntrypointHashes( + int entryPointCount, + int targetCount, + ComPtr<slang::IComponentType>& composedProgram); bool isTestMode() const { return m_isTestMode; } private: - bool m_isTestMode = false; - uint64_t m_globalCounter = 0; + bool m_isTestMode = false; + uint64_t m_globalCounter = 0; }; |
