diff --git a/recompui/include/recompui/renderer.h b/recompui/include/recompui/renderer.h index 33f79ab..11792ec 100644 --- a/recompui/include/recompui/renderer.h +++ b/recompui/include/recompui/renderer.h @@ -26,6 +26,7 @@ namespace recompui { bool update_config(const ultramodern::renderer::GraphicsConfig &old_config, const ultramodern::renderer::GraphicsConfig &new_config) override; void enable_instant_present() override; + void set_post_blend_negative_dither_noise(bool enabled); void send_dl(const OSTask *task) override; void send_dummy_workload(uint32_t fb_address) override; void update_screen() override; @@ -43,7 +44,7 @@ namespace recompui { void check_refresh_rate_changes(); }; - std::unique_ptr create_render_context(uint8_t *rdram, ultramodern::renderer::WindowHandle window_handle, ultramodern::renderer::PresentationMode presentation_mode, bool developer_mode); + std::unique_ptr create_render_context(uint8_t *rdram, ultramodern::renderer::WindowHandle window_handle, ultramodern::renderer::PresentationMode presentation_mode, bool developer_mode); RT64::UserConfiguration::Antialiasing RT64MaxMSAA(); bool RT64SamplePositionsSupported(); diff --git a/recompui/src/renderer/rt64_render_context.cpp b/recompui/src/renderer/rt64_render_context.cpp index a7954c7..c32b8bf 100644 --- a/recompui/src/renderer/rt64_render_context.cpp +++ b/recompui/src/renderer/rt64_render_context.cpp @@ -397,6 +397,11 @@ void renderer::RT64Context::enable_instant_present() { app->updateEnhancementConfig(); } +void renderer::RT64Context::set_post_blend_negative_dither_noise(bool enabled) { + app->emulatorConfig.dither.postBlendNoiseNegative = enabled; + app->updateEmulatorConfig(); +} + uint32_t renderer::RT64Context::get_display_framerate() const { return app->presentQueue->ext.sharedResources->swapChainRate; } @@ -494,7 +499,7 @@ RT64::UserConfiguration::Antialiasing renderer::RT64MaxMSAA() { return device_max_msaa; } -std::unique_ptr renderer::create_render_context(uint8_t* rdram, ultramodern::renderer::WindowHandle window_handle, ultramodern::renderer::PresentationMode presentation_mode, bool developer_mode) { +std::unique_ptr renderer::create_render_context(uint8_t* rdram, ultramodern::renderer::WindowHandle window_handle, ultramodern::renderer::PresentationMode presentation_mode, bool developer_mode) { return std::make_unique(rdram, window_handle, presentation_mode, developer_mode); }