diff --git a/modules/app/application.cppm b/modules/app/application.cppm index dba21ce..6e8cf8c 100644 --- a/modules/app/application.cppm +++ b/modules/app/application.cppm @@ -43,7 +43,8 @@ private: } // namespace lt::app -module :private; +/** @todo(Light): unimplemented in gcc -- is it even right to use a private fragment? */ +// module :private; namespace lt::app { void Application::game_loop() diff --git a/modules/input/system.cppm b/modules/input/system.cppm index f4fc052..c02a21a 100644 --- a/modules/input/system.cppm +++ b/modules/input/system.cppm @@ -51,7 +51,8 @@ private: } // namespace lt::input -module :private; +/** @todo(Light): unimplemented in gcc -- is it even right to use a private fragment? */ +// module :private; namespace lt::input { template diff --git a/modules/renderer/factory.cppm b/modules/renderer/factory.cppm index b157ae3..32c4d50 100644 --- a/modules/renderer/factory.cppm +++ b/modules/renderer/factory.cppm @@ -60,7 +60,8 @@ export namespace lt::renderer { } // namespace lt::renderer -module :private; +/** @todo(Light): unimplemented in gcc -- is it even right to use a private fragment? */ +// module :private; namespace lt::renderer { [[nodiscard]] auto get_instance(Api target_api) -> IInstance * diff --git a/modules/renderer/system.cppm b/modules/renderer/system.cppm index 14d914b..399b228 100644 --- a/modules/renderer/system.cppm +++ b/modules/renderer/system.cppm @@ -115,7 +115,8 @@ private: } // namespace lt::renderer -module :private; +/** @todo(Light): unimplemented in gcc -- is it even right to use a private fragment? */ +// module :private; namespace lt::renderer { System::System(CreateInfo info) diff --git a/modules/renderer/vk/api_wrapper.cppm b/modules/renderer/vk/api_wrapper.cppm index 941a407..cb6fdef 100644 --- a/modules/renderer/vk/api_wrapper.cppm +++ b/modules/renderer/vk/api_wrapper.cppm @@ -2801,7 +2801,8 @@ void Device::name(T &object, const char *name) } // namespace lt::renderer::vk -module :private; +/** @todo(Light): unimplemented in gcc -- is it even right to use a private fragment? */ +// module :private; namespace lt::renderer::vk { namespace api { diff --git a/modules/renderer/vk/buffer.cppm b/modules/renderer/vk/buffer.cppm index 0bdd615..60ecf85 100644 --- a/modules/renderer/vk/buffer.cppm +++ b/modules/renderer/vk/buffer.cppm @@ -56,7 +56,8 @@ private: } // namespace lt::renderer::vkb -module :private; +/** @todo(Light): unimplemented in gcc -- is it even right to use a private fragment? */ +// module :private; namespace lt::renderer::vkb { Buffer::Buffer(IDevice *device, IGpu *gpu, const CreateInfo &info) diff --git a/modules/renderer/vk/debugger.cppm b/modules/renderer/vk/debugger.cppm index 530f885..a24c627 100644 --- a/modules/renderer/vk/debugger.cppm +++ b/modules/renderer/vk/debugger.cppm @@ -35,7 +35,8 @@ private: } // namespace lt::renderer::vkb -module :private; +/** @todo(Light): unimplemented in gcc -- is it even right to use a private fragment? */ +// module :private; namespace lt::renderer::vkb { [[nodiscard]] auto to_native_severity(IDebugger::MessageSeverity severity) -> vk::Flags diff --git a/modules/renderer/vk/device.cppm b/modules/renderer/vk/device.cppm index ae05389..bd810c8 100644 --- a/modules/renderer/vk/device.cppm +++ b/modules/renderer/vk/device.cppm @@ -63,7 +63,8 @@ private: } // namespace lt::renderer::vkb -module :private; +/** @todo(Light): unimplemented in gcc -- is it even right to use a private fragment? */ +// module :private; namespace lt::renderer::vkb { Device::Device(IGpu *gpu, ISurface *surface) diff --git a/modules/renderer/vk/gpu.cppm b/modules/renderer/vk/gpu.cppm index e2df542..ff34925 100644 --- a/modules/renderer/vk/gpu.cppm +++ b/modules/renderer/vk/gpu.cppm @@ -29,7 +29,8 @@ private: } // namespace lt::renderer::vkb -module :private; +/** @todo(Light): unimplemented in gcc -- is it even right to use a private fragment? */ +// module :private; namespace lt::renderer::vkb { Gpu::Gpu(IInstance *instance) diff --git a/modules/renderer/vk/instance.cppm b/modules/renderer/vk/instance.cppm index 3f1efc9..7e23245 100644 --- a/modules/renderer/vk/instance.cppm +++ b/modules/renderer/vk/instance.cppm @@ -42,7 +42,8 @@ private: } // namespace lt::renderer::vkb -module :private; +/** @todo(Light): unimplemented in gcc -- is it even right to use a private fragment? */ +// module :private; namespace lt::renderer::vkb { Instance::Instance() diff --git a/modules/renderer/vk/pass.cppm b/modules/renderer/vk/pass.cppm index 81ddb9d..bcaea8f 100644 --- a/modules/renderer/vk/pass.cppm +++ b/modules/renderer/vk/pass.cppm @@ -52,7 +52,8 @@ private: } // namespace lt::renderer::vkb -module :private; +/** @todo(Light): unimplemented in gcc -- is it even right to use a private fragment? */ +// module :private; namespace lt::renderer::vkb { using enum vk::DescriptorSetLayout::Binding::FlagBits; diff --git a/modules/renderer/vk/renderer.cppm b/modules/renderer/vk/renderer.cppm index 4fa424d..8c41e4c 100644 --- a/modules/renderer/vk/renderer.cppm +++ b/modules/renderer/vk/renderer.cppm @@ -102,7 +102,8 @@ private: } // namespace lt::renderer::vkb -module :private; +/** @todo(Light): unimplemented in gcc -- is it even right to use a private fragment? */ +// module :private; namespace lt::renderer::vkb { Renderer::Renderer(IGpu *gpu, IDevice *device, ISwapchain *swapchain, u32 max_frames_in_flight) diff --git a/modules/renderer/vk/surface.cppm b/modules/renderer/vk/surface.cppm index cd44dcb..886e4af 100644 --- a/modules/renderer/vk/surface.cppm +++ b/modules/renderer/vk/surface.cppm @@ -32,7 +32,8 @@ private: } // namespace lt::renderer::vkb -module :private; +/** @todo(Light): unimplemented in gcc -- is it even right to use a private fragment? */ +// module :private; namespace lt::renderer::vkb { Surface::Surface(IInstance *instance, const ecs::Entity &surface_entity) diff --git a/modules/renderer/vk/swapchain.cppm b/modules/renderer/vk/swapchain.cppm index 410bc0e..5cd5242 100644 --- a/modules/renderer/vk/swapchain.cppm +++ b/modules/renderer/vk/swapchain.cppm @@ -73,7 +73,8 @@ private: } // namespace lt::renderer::vkb -module :private; +/** @todo(Light): unimplemented in gcc -- is it even right to use a private fragment? */ +// module :private; namespace lt::renderer::vkb { Swapchain::Swapchain(ISurface *surface, IGpu *gpu, IDevice *device) diff --git a/modules/sandbox/sandbox.cpp b/modules/sandbox/sandbox.cpp index 354a0c4..fe2d4c6 100644 --- a/modules/sandbox/sandbox.cpp +++ b/modules/sandbox/sandbox.cpp @@ -106,6 +106,13 @@ try lt::log::info("Closing due to: Escape key pressed"); should_close = true; } + + if (event.get_key() == lt::Key::q) + { + lt::log::info("Closing due to: Q key pressed"); + should_close = true; + } + lt::log::info("Key pressed: {}", event.get_key()); }, [&](const lt::surface::KeyReleasedEvent &event) { @@ -116,8 +123,22 @@ try } }; + auto timer = lt::time::Timer {}; while (!should_close) { + if (timer.elapsed_time() > std::chrono::milliseconds { 250 }) + { + const auto [width, height] = window.get_resolution(); + window.push_request( + lt::surface::ModifyResolutionRequest { + .resolution = { width + 50u, height + 50u }, + } + ); + + lt::log::trace("mrrp"); + timer.reset(); + } + surface_system.tick({}); renderer_system.tick({}); diff --git a/modules/surface/system.cppm b/modules/surface/system.cppm index 75bfa2b..85d3d7d 100644 --- a/modules/surface/system.cppm +++ b/modules/surface/system.cppm @@ -202,7 +202,8 @@ private: } // namespace lt::surface -module :private; +/** @todo(Light): unimplemented in gcc -- is it even right to use a private fragment? */ +// module :private; namespace lt::surface { diff --git a/modules/test/registry.cppm b/modules/test/registry.cppm index 1a9b85b..72ed5b7 100644 --- a/modules/test/registry.cppm +++ b/modules/test/registry.cppm @@ -112,7 +112,8 @@ private: ////////////////////////////////////// // -------* IMPLEMENTATION *------- // ///////////////////////////////////// -module :private; +/** @todo(Light): unimplemented in gcc -- is it even right to use a private fragment? */ +// module :private; namespace lt::test { /* static */ void Registry::register_suite(SuiteFunction suite) diff --git a/modules/test/test.cppm b/modules/test/test.cppm index 834dcfd..83df7c2 100644 --- a/modules/test/test.cppm +++ b/modules/test/test.cppm @@ -134,7 +134,8 @@ auto operator""_suite(const char *name, size_t size) -> TestSuite ////////////////////////////////////// // -------* IMPLEMENTATION *------- // ///////////////////////////////////// -module :private; +/** @todo(Light): unimplemented in gcc -- is it even right to use a private fragment? */ +// module :private; namespace lt::test { TestCase::TestCase(std::string name): m_name(name) diff --git a/modules/time/timer.cppm b/modules/time/timer.cppm index 3e5b4f0..6838d49 100644 --- a/modules/time/timer.cppm +++ b/modules/time/timer.cppm @@ -26,7 +26,8 @@ private: } // namespace lt::time -module :private; +/** @todo(Light): unimplemented in gcc -- is it even right to use a private fragment? */ +// module :private; namespace lt::time { Timer::Timer(Timepoint start): m_start(start) diff --git a/modules/tracer/tracer.cppm b/modules/tracer/tracer.cppm index 4e80c88..647d1a5 100644 --- a/modules/tracer/tracer.cppm +++ b/modules/tracer/tracer.cppm @@ -78,7 +78,8 @@ private: #define lt_trace_begin_session(outputPath) ::lt::Instrumentor::begin_session(outputPath) #define lt_trace_end_session() ::lt::Instrumentor::end_session() -module :private; +/** @todo(Light): unimplemented in gcc -- is it even right to use a private fragment? */ +// module :private; namespace lt::tracer { void Tracer::begin_session_impl(const std::string &outputPath)