Commit graph

48 commits

Author SHA1 Message Date
mageven
df5c1835c9 Simple GPU fixes (#1093)
* 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-04-07 19:19:45 +10:00
Xpl0itR
d0f859c3ef Make max anisotropy configurable (#1043)
* Make max anisotropy configurable

* Move opengl command to opengl project

* Add GUI option
2020-03-31 08:38:52 +11:00
gdkchan
a3d666f2ca Support constant attributes (with a value of zero) (#1066)
* Support constant attributes (with a value of zero)

* Remove extra line
2020-03-30 13:11:24 +11:00
gdkchan
3df8f4a785 Workaround for AMD and Intel view format bug (#1050)
* Workaround for Intel view format bug

* Dispose of the intermmediate texture aswell

* Apply workaround on AMD aswell
2020-03-29 23:48:39 +11:00
gdkchan
2ef646354c Implement GPU scissors (#1058)
* Implement GPU scissors

* Remove unused using

* Add missing changes for Clear
2020-03-29 14:02:58 +11:00
HorrorTroll
8be3c73ade Add GPU name in status bar (#984)
* 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-24 22:54:09 +01:00
gdkchan
13d787584d Keep sRGB enabled for texture blits (#1009) 2020-03-23 09:34:26 +11:00
riperiperi
5b22353673 Reduce copy destination size by target mipmap level, rather than source size. (#959)
* Change destination size by target mipmap level, rather than source.

* Check dst for Texture3D rather than src.
2020-03-01 07:50:44 +11:00
Thog
1fc74f958c Some fixes for the new GLRenderer (#930)
* 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-13 14:43:29 -03:00
emmauss
3443568de7 Add inbuilt Opengl renderer to window (#922)
* 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-12 01:56:19 +01:00
gdkchan
039518404d Use correct shader local memory size instead of a hardcoded size (#914)
* 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-02 14:25:52 +11:00
gdkchan
e81772ca09 Support configurable point size (#916) 2020-02-02 10:19:46 +11:00
gdkchan
2f1f0b710f Enable stencil texturing (fixes #866) (#910) 2020-01-31 14:42:03 +11:00
gdkchan
13aea6d726 Add a GetSpan method to the memory manager and use it on GPU (#877) 2020-01-13 10:27:50 +11:00
gdkchan
7e99d08655 Support instanced draw of quads" (#881) 2020-01-13 09:14:50 +11:00
gdkchan
471f504f97 Replace glFinish with barrier for WaitForIdle (#878) 2020-01-13 09:12:40 +11:00
Ac_K
9615dbda45 InitializeCounters to Initialize 2020-01-10 02:17:34 +01:00
Ac_K
bef7658b66 PrintGpuInformation 2020-01-10 02:17:34 +01:00
Ac_K
0770cd1e2a Add GPU Information to Logging 2020-01-10 02:17:34 +01:00
Thog
c436e2c59a Fix R5G6B5 in SurfaceFlinger (#863)
Also fix B5G6R5Unorm wrong definition in Ryujinx.Graphics.OpenGL.
2020-01-09 19:12:47 +01:00
gdkchan
24a72b2fcc Add runtime identifiers to new projects 2020-01-09 02:13:00 +01:00
gdkchan
4bf59cc7bd Address PR feedback
Removes a useless null check

Aligns some values to improve readability
2020-01-09 02:13:00 +01:00
gdkchan
46530360e3 Address PR feedback
Add TODO comment for GL_EXT_polygon_offset_clamp
2020-01-09 02:13:00 +01:00
gdkchan
bc38064351 Address PR feedback 2020-01-09 02:13:00 +01:00
gdkchan
af0003eb44 Remove more unused code 2020-01-09 02:13:00 +01:00
gdkchan
d7fb450216 GPU resource disposal 2020-01-09 02:13:00 +01:00
gdkchan
f5ce09c126 Change GPU errors to debug and reduce log messages 2020-01-09 02:13:00 +01:00
gdkchan
c68aed533e Remove some error logging to avoid log spam 2020-01-09 02:13:00 +01:00
gdkchan
d42edddefd Some code cleanup 2020-01-09 02:13:00 +01:00
gdkchan
155c2ee2fe Add basic error logging to the GPU 2020-01-09 02:13:00 +01:00
gdkchan
84e5a32fd3 Support non-constant texture offsets on non-NVIDIA gpus 2020-01-09 02:13:00 +01:00
gdkchan
46a6580c8b Use maximum shared memory size supported by hardware 2020-01-09 02:13:00 +01:00
gdkchan
ab20360779 Support depth clip mode and disable shader fast math optimization on NVIDIA as a workaround for compiler bugs (?) 2020-01-09 02:13:00 +01:00
gdkchan
d5e8fc5c08 Support shared color mask, implement more shader instructions
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-09 02:13:00 +01:00
gdkchan
5c2f6cc0b7 Initial support for the guest OpenGL driver (NVIDIA and Nouveau) 2020-01-09 02:13:00 +01:00
gdk
85a00d4d76 Add a pass to turn global memory access into storage access, and do all storage related transformations on IR 2020-01-09 02:13:00 +01:00
gdk
d218b13ef1 Fix texture 0 not being bound for compute 2020-01-09 02:13:00 +01:00
gdk
8c26739c58 Improved and simplified window texture presentation 2020-01-09 02:13:00 +01:00
gdk
ecdb433a68 Fix image units bindings and shader dump in the presence of NOPs 2020-01-09 02:13:00 +01:00
gdk
82e8457838 Revert "Check for ASTC support on the list of supported compressed formats"
This reverts commit 38a993510f64346649529b8fd2af6683bef05aa6.
2020-01-09 02:13:00 +01:00
gdk
f4265e3abe Check for ASTC support on the list of supported compressed formats 2020-01-09 02:13:00 +01:00
gdk
7aad13d242 Support window resizing 2020-01-09 02:13:00 +01:00
gdk
5fb601a2fe Support copy of slices to 3D textures, remove old 3D render target layered render support, do not delete textures with existing views created from them 2020-01-09 02:13:00 +01:00
gdk
0c7c38df0f Add per-source type memory change tracking, simplified state change tracking, other fixes 2020-01-09 02:13:00 +01:00
gdk
c9abf08686 Initial support for image stores, support texture sample on compute 2020-01-09 02:13:00 +01:00
gdk
4b53b0b01d Fix BC6 Signed/Unsigned float texture formats 2020-01-09 02:13:00 +01:00
gdk
05374b26bb Handle quad and quad strip primitive types using triangle fans 2020-01-09 02:13:00 +01:00
gdk
fb2200c09b Initial work 2020-01-09 02:13:00 +01:00