mirror of
https://github.com/Ryujinx/Ryujinx.git
synced 2025-06-28 13:40:47 -07:00
Avalonia - Use embedded window for avalonia (#3674)
* wip * use embedded window * fix race condition on opengl Windows * fix glx issues on prime nvidia * fix mouse support win32 * clean up * addressed review * addressed review * fix warnings * fix sotware keyboard dialog * Update Ryujinx.Ava/Ui/Applet/SwkbdAppletDialog.axaml.cs Co-authored-by: gdkchan <gab.dark.100@gmail.com> * remove double semi Co-authored-by: gdkchan <gab.dark.100@gmail.com>
This commit is contained in:
@ -4,7 +4,7 @@ namespace Ryujinx.Graphics.GAL
|
||||
{
|
||||
public interface IWindow
|
||||
{
|
||||
void Present(ITexture texture, ImageCrop crop, Action<object> swapBuffersCallback);
|
||||
void Present(ITexture texture, ImageCrop crop, Action swapBuffersCallback);
|
||||
|
||||
void SetSize(int width, int height);
|
||||
|
||||
|
@ -9,9 +9,9 @@ namespace Ryujinx.Graphics.GAL.Multithreading.Commands.Window
|
||||
public CommandType CommandType => CommandType.WindowPresent;
|
||||
private TableRef<ThreadedTexture> _texture;
|
||||
private ImageCrop _crop;
|
||||
private TableRef<Action<object>> _swapBuffersCallback;
|
||||
private TableRef<Action> _swapBuffersCallback;
|
||||
|
||||
public void Set(TableRef<ThreadedTexture> texture, ImageCrop crop, TableRef<Action<object>> swapBuffersCallback)
|
||||
public void Set(TableRef<ThreadedTexture> texture, ImageCrop crop, TableRef<Action> swapBuffersCallback)
|
||||
{
|
||||
_texture = texture;
|
||||
_crop = crop;
|
||||
|
@ -16,13 +16,13 @@ namespace Ryujinx.Graphics.GAL.Multithreading
|
||||
_impl = impl;
|
||||
}
|
||||
|
||||
public void Present(ITexture texture, ImageCrop crop, Action<object> swapBuffersCallback)
|
||||
public void Present(ITexture texture, ImageCrop crop, Action swapBuffersCallback)
|
||||
{
|
||||
// If there's already a frame in the pipeline, wait for it to be presented first.
|
||||
// This is a multithread rate limit - we can't be more than one frame behind the command queue.
|
||||
|
||||
_renderer.WaitForFrame();
|
||||
_renderer.New<WindowPresentCommand>().Set(new TableRef<ThreadedTexture>(_renderer, texture as ThreadedTexture), crop, new TableRef<Action<object>>(_renderer, swapBuffersCallback));
|
||||
_renderer.New<WindowPresentCommand>().Set(new TableRef<ThreadedTexture>(_renderer, texture as ThreadedTexture), crop, new TableRef<Action>(_renderer, swapBuffersCallback));
|
||||
_renderer.QueueCommand();
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user