aboutsummaryrefslogtreecommitdiff
path: root/Ryujinx.Graphics.OpenGL
AgeCommit message (Collapse)Author
2020-05-27Flush GL commands before inevitably waiting for a query result. (#1278)riperiperi
2020-05-24Remember bound framebuffer to avoid glGetInteger use. (#1273)riperiperi
glGetInteger seems to sync with GPU which is less than ideal, and slowing down texture copies.
2020-05-23Spanify Graphics Abstraction Layer (#1226)gdkchan
* Spanify Graphics Abstraction Layer * Be explicit about BufferHandle size
2020-05-04Implement Counter Queue and Partial Host Conditional Rendering (#1167)riperiperi
* Implementation of query queue and host conditional rendering * Resolve some comments. * Use overloads instead of passing object. * Wake the consumer threads when incrementing syncpoints. Also, do a busy loop when awaiting the counter for a blocking flush, rather than potentially sleeping the thread. * Ensure there's a command between begin and end query.
2020-05-04Upgrade projects to C#8 (#1193)Ac_K
Some parts of our code needs C# 8 who isn't set as default in Visual Studio. To fix this we have to set the C# version correctly in the csproj files and then we are be able to build the project using Visual Studio.
2020-05-04Implement user-defined clipping on GL state pipeline (#1118)mageven
2020-04-30Fix depth clamp enable bit, unit scale for polygon offset. (#1178)riperiperi
Verified with deko3d and opengl driver code.
2020-04-25Implement texture buffers (#1152)gdkchan
* Implement texture buffers * Throw NotSupportedException where appropriate
2020-04-25Implement Constant Color blends (#1119)mageven
* Implement Constant Color blends and init blend states * Address gdkchan's comments Also adds Set methods to GpuState * Fix descriptions of QueryModified
2020-04-22Update .NET Core to 3.1, and update NuGet Packages (#1121)Michael Kuklinski
* Updated all NuGet packages to latest, and updated the framework from .NET Core 3.0 to 3.1. * Updating appveyor settings for 3.1 Updating appveyor to use the netcoreapp3.1 path instead of 3.0. * Removing unneeded NuGet package System.Runtime.CompilerServices.Unsafe. * Removing unused NuGet package SharpFontCore. * Removing unused NuGet package TimeZoneConverter.Posix * Cleaning up by adding newline to a csproj. * Simplfying a NuGet conditional include, and adding a warning disable for an annoying NuGet package. * I'm not sure if .travis.yml is still used, but I'm updating its 'dotnet' version to the correct SDK. * Making the runtime version into its own environment variable so it's a bit easier to change in the future. * Removing OpenTK.NetStandard reference from Ryujinx.Common * Fixing indentation in Common.csproj * Updating the README to specify .NET Core 3.1. * Reverting the update of the GTKSharp package so it doesn't block the PR.
2020-04-17Implement Depth Clamping (#1120)mageven
* Implement Depth Clamping and add misc enums * Fix formatting
2020-04-07Simple GPU fixes (#1093)mageven
* Implement RasterizeEnable * Match viewport count to hardware * Simplify ScissorTest tracking around Blits * Disable RasterizerDiscard around Blits and track its state * Read RasterizeEnable reg as bool and add doc
2020-03-31Make max anisotropy configurable (#1043)Xpl0itR
* Make max anisotropy configurable * Move opengl command to opengl project * Add GUI option
2020-03-30Support constant attributes (with a value of zero) (#1066)gdkchan
* Support constant attributes (with a value of zero) * Remove extra line
2020-03-29Workaround for AMD and Intel view format bug (#1050)gdkchan
* Workaround for Intel view format bug * Dispose of the intermmediate texture aswell * Apply workaround on AMD aswell
2020-03-29Implement GPU scissors (#1058)gdkchan
* Implement GPU scissors * Remove unused using * Add missing changes for Clear
2020-03-24Add GPU name in status bar (#984)HorrorTroll
* Add GPU name in status bar * Fixed like Ac_K suggest * Nit. * Minor fix * Minor change. * Nit. * Fixed for ATI vendor * Minor fix, again...
2020-03-23Keep sRGB enabled for texture blits (#1009)gdkchan
2020-03-01Reduce copy destination size by target mipmap level, rather than source ↵riperiperi
size. (#959) * Change destination size by target mipmap level, rather than source. * Check dst for Texture3D rather than src.
2020-02-13Some fixes for the new GLRenderer (#930)Thog
* Some fixes for the new GLRenderer Changelog: - Fix transparency of the window on some games on Windows. - Fix escape key not being able to exit emulation. - Fix inverted logic in fullscreen event handling. - Fix a race condition when stoping emulation causing a hang. - Fix a memory leak of the OpenGL context when stoping emulation (saving ~200MB of RAM when stoping emulation). - Simplify and document behaviours when exiting the emulator while the emulation is running. * Make sure to clear alpha channel when presenting Texture This fix once and for all the transparency issue on Windows. * Enforce footer bar size to avoid gl widget to get resized to 1280x724 * Fix full screen inversion in MainWindow and make sure _listStatusBox don't come back when not needed * Remove previous transparency clear attempt that is useless now * Remove an extra line return
2020-02-12Add inbuilt Opengl renderer to window (#922)emmauss
* add gl rendering widget * embed renderer into main window * add input * fix mouse input * fix mouse coords * refresh game list after closing game, remove profiler method * rebase, hide game list progress bar while game is running * Some bug fixes Changelog: - Reapply some changes that got lost while rebasing from #904 - Make sure to guarantee exclusivity on the GL context (fixing multiple possible race conditions on Windows) - Avoid making GLRenderer disposed multiple time * add fullscreen, enable input on focus, disable aplha * addressed comments * Disable transparency in the window * fix fullscreen state, fix focus, addressed comments * nit * addressed nit Co-authored-by: Thog <thog@protonmail.com>
2020-02-02Use correct shader local memory size instead of a hardcoded size (#914)gdkchan
* Use correct shader local size instead of a hardcoded size * Remove unused uniform block * Update XML doc * Local memory size has 23 bits on maxwell * Generate compute QMD struct from nv open doc header * Remove dummy arrays when shared or local memory is not used, other improvements
2020-02-02Support configurable point size (#916)gdkchan
2020-01-31Enable stencil texturing (fixes #866) (#910)gdkchan
2020-01-13Add a GetSpan method to the memory manager and use it on GPU (#877)gdkchan
2020-01-13Support instanced draw of quads" (#881)gdkchan
2020-01-13Replace glFinish with barrier for WaitForIdle (#878)gdkchan
2020-01-10InitializeCounters to InitializeAc_K
2020-01-10PrintGpuInformationAc_K
2020-01-10Add GPU Information to LoggingAc_K
2020-01-09Fix R5G6B5 in SurfaceFlinger (#863)Thog
Also fix B5G6R5Unorm wrong definition in Ryujinx.Graphics.OpenGL.
2020-01-09Add runtime identifiers to new projectsgdkchan
2020-01-09Address PR feedbackgdkchan
Removes a useless null check Aligns some values to improve readability
2020-01-09Address PR feedbackgdkchan
Add TODO comment for GL_EXT_polygon_offset_clamp
2020-01-09Address PR feedbackgdkchan
2020-01-09Remove more unused codegdkchan
2020-01-09GPU resource disposalgdkchan
2020-01-09Change GPU errors to debug and reduce log messagesgdkchan
2020-01-09Remove some error logging to avoid log spamgdkchan
2020-01-09Some code cleanupgdkchan
2020-01-09Add basic error logging to the GPUgdkchan
2020-01-09Support non-constant texture offsets on non-NVIDIA gpusgdkchan
2020-01-09Use maximum shared memory size supported by hardwaregdkchan
2020-01-09Support depth clip mode and disable shader fast math optimization on NVIDIA ↵gdkchan
as a workaround for compiler bugs (?)
2020-01-09Support shared color mask, implement more shader instructionsgdkchan
Support shared color masks (used by Nouveau and maybe the NVIDIA driver). Support draw buffers (also required by OpenGL). Support viewport transform disable (disabled for now as it breaks some games). Fix instanced rendering draw being ignored for multi draw. Fix IADD and IADD3 immediate shader encodings, that was not matching some ops. Implement FFMA32I shader instruction. Implement IMAD shader instruction.
2020-01-09Initial support for the guest OpenGL driver (NVIDIA and Nouveau)gdkchan
2020-01-09Add a pass to turn global memory access into storage access, and do all ↵gdk
storage related transformations on IR
2020-01-09Fix texture 0 not being bound for computegdk
2020-01-09Improved and simplified window texture presentationgdk
2020-01-09Fix image units bindings and shader dump in the presence of NOPsgdk