diff options
| author | Gangzheng Tong <tonggangzheng@gmail.com> | 2025-07-08 23:44:56 -0700 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2025-07-09 06:44:56 +0000 |
| commit | 43d0c2100ef1a5df4b54525e50eb29fe7c39ec16 (patch) | |
| tree | 25ec4fb9c726115f90bdaa9878f2f4ca372ad0a6 /examples/example-base/example-base.h | |
| parent | 00746bf09047cdf01c19dac513a532bcf3ed3ea3 (diff) | |
Convert gfx unit tests and examples to use slang-rhi (#7577)
* Port first gfx unit test to slang-rhi
* port triangle example to use slang-rhi
* port platform-test to slang-rhi
* Update platform-test to throttle mouse move events
* port gpu-printing example to use slang-rhi
* port model-viewer example to use slang-rhi
* port ray-tracing example to use slang-rhi
* port ray-tracing pipeline example to use slang-rhi
* port reflection parameter blocks example to use slang-rhi
* port shader-object example to use slang-rhi
* port shader-toy example to use slang-rhi
* Port most of tests to slang-rhi
* port link-time-constant-array-size to use slang-rhi
* Fix tests and find matching tests in slang-rhi
* port autodiff-texture
* remove gfx target; port nv-aftermath-example
* update include path for shader-cursor.h
* Disabled 2 more ported tests
* fix build error
* remove gfx test
* put slang-rhi (static-lib) before slang (shared)
* format code (#7621)
Co-authored-by: slangbot <186143334+slangbot@users.noreply.github.com>
* add debug callback
* format code (#7649)
Co-authored-by: slangbot <186143334+slangbot@users.noreply.github.com>
* Address review comments; revert back to use SLANG_CHECK_MSG
---------
Co-authored-by: slangbot <ellieh+slangbot@nvidia.com>
Co-authored-by: slangbot <186143334+slangbot@users.noreply.github.com>
Diffstat (limited to 'examples/example-base/example-base.h')
| -rw-r--r-- | examples/example-base/example-base.h | 36 |
1 files changed, 13 insertions, 23 deletions
diff --git a/examples/example-base/example-base.h b/examples/example-base/example-base.h index 9aabac8d4..06970aaba 100644 --- a/examples/example-base/example-base.h +++ b/examples/example-base/example-base.h @@ -3,7 +3,7 @@ #include "core/slang-basic.h" #include "core/slang-io.h" #include "platform/window.h" -#include "slang-gfx.h" +#include "slang-rhi.h" #include "test-base.h" #ifdef _WIN32 @@ -23,6 +23,8 @@ void _Win32OutputDebugString(const char* str); #define EXAMPLE_MAIN(innerMain) PLATFORM_UI_MAIN(innerMain) #endif // _WIN32 +static const float kIdentity[] = {1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1}; + struct WindowedAppBase : public TestBase { protected: @@ -32,39 +34,31 @@ protected: uint32_t windowWidth; uint32_t windowHeight; - Slang::ComPtr<gfx::IDevice> gDevice; + Slang::ComPtr<rhi::IDevice> gDevice; + Slang::ComPtr<rhi::ICommandQueue> gQueue; + Slang::ComPtr<rhi::ISurface> gSurface; - Slang::ComPtr<gfx::ISwapchain> gSwapchain; - Slang::ComPtr<gfx::IFramebufferLayout> gFramebufferLayout; - Slang::List<Slang::ComPtr<gfx::IFramebuffer>> gFramebuffers; - Slang::List<Slang::ComPtr<gfx::ITransientResourceHeap>> gTransientHeaps; - Slang::ComPtr<gfx::IRenderPassLayout> gRenderPass; - Slang::ComPtr<gfx::ICommandQueue> gQueue; + Slang::List<Slang::ComPtr<rhi::ITexture>> gOfflineTextures; Slang::Result initializeBase( const char* title, int width, int height, - gfx::DeviceType deviceType = gfx::DeviceType::Default); - - void createFramebuffers( - uint32_t width, - uint32_t height, - gfx::Format colorFormat, - uint32_t frameBufferCount); - void createSwapchainFramebuffers(); - void createOfflineFramebuffers(); + rhi::DeviceType deviceType = rhi::DeviceType::Default); void mainLoop(); - Slang::ComPtr<gfx::IResourceView> createTextureFromFile( + Slang::ComPtr<rhi::ITextureView> createTextureFromFile( Slang::String fileName, int& textureWidth, int& textureHeight); + + void createOfflineTextures(); + virtual void windowSizeChanged(); protected: - virtual void renderFrame(int framebufferIndex) = 0; + virtual void renderFrame(rhi::ITexture* texture) = 0; public: platform::Window* getWindow() { return gWindow.Ptr(); } @@ -136,13 +130,9 @@ inline void diagnoseIfNeeded(slang::IBlob* diagnosticsBlob) } } -void initDebugCallback(); - template<typename TApp> int innerMain(int argc, char** argv) { - initDebugCallback(); - TApp app; app.parseOption(argc, argv); |
