Commit graph

79 commits

Author SHA1 Message Date
mageven
d00f6f0722 Fix oversight in depth range initialization from PR #1093 (#1112) 2020-04-16 13:21:58 +10:00
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
gdkchan
3832cff250 Remove output interpolation qualifier (#1070) 2020-04-02 12:24:55 +11: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
2ef646354c Implement GPU scissors (#1058)
* Implement GPU scissors

* Remove unused using

* Add missing changes for Clear
2020-03-29 14:02:58 +11:00
gdkchan
07a00e4d88 Support partial invalidation on texture access (#1000)
* Support partial invalidation on texture access

* Fix typo

* PR feedback

* Fix modified size clamping
2020-03-20 14:17:11 +11:00
gdkchan
88d20c29f9 Implement MME shadow RAM (#987) 2020-03-13 12:30:26 +11:00
gdkchan
303724a4b1 Support compute uniform buffers emulated with global memory (#924) 2020-02-11 01:10:05 +01:00
riperiperi
878dfe4cda Only enumerate cached textures that are modified when flushing. (#918)
* Only enumarate cached textures that are modified when flushing, rather than all of them.

* Remove locking.

* Add missing clear.

* Remove texture from modified list when data is disposed.

In case the game does not call either flush method at any point.

* Add ReferenceEqualityComparer from jD for the HashSet
2020-02-07 08:49:26 +11:00
riperiperi
aab597b78b Compare shader code using a span instead of individual reads. (#917)
* Compare shader code using a span instead of individual reads.

* Add comment for new parameter.

* Remove unnecessary Math.Min
2020-02-03 20:11:22 +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
ac0c282f4b Ignore exit flag on branch delay slot (#899) 2020-01-22 02:11:43 +01:00
Thog
d7babb075c Keep the GUI alive when closing a game (#888)
* Keep the GUI alive when closing a game

Make HLE.Switch init when starting a game and dispose it when closing
the GlScreen.

This also make HLE in charge of disposing the audio and gpu backend.

* Address Ac_k's comments

* Make sure to dispose the Discord module and use GTK quit method

Also update Discord Precense when closing a game.

* Make sure to dispose MainWindow

* Address gdk's comments
2020-01-21 23:23:11 +01:00
gdkchan
01ac0d0f74 Add sampler border color support on the GPU (#893) 2020-01-17 09:55:38 +01: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
471f504f97 Replace glFinish with barrier for WaitForIdle (#878) 2020-01-13 09:12:40 +11:00
Thog
96fba24558 MapBufferEx: take page size into account (#873)
Fix #744
2020-01-12 03:14:27 +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
4deeff5ed7 Fix some shader disposal issues 2020-01-09 02:13:00 +01:00
gdkchan
30a909265a Fix some spelling mistakes
Thanks to LDj3SNuD for spotting these
2020-01-09 02:13:00 +01:00
gdkchan
bc38064351 Address PR feedback 2020-01-09 02:13:00 +01:00
gdkchan
cb82de75b4 Re-add NVDEC project (not integrated) 2020-01-09 02:13:00 +01:00
gdkchan
987e78245e More code cleanup 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
2d8339fc61 Add XML documentation to Ryujinx.Graphics.Gpu 2020-01-09 02:13:00 +01:00
gdkchan
fe8b25c8f1 Add XML documentation to Ryujinx.Graphics.Gpu.Engine 2020-01-09 02:13:00 +01:00
gdkchan
e1175c9453 Add XML documentation to Ryujinx.Graphics.Gpu.State 2020-01-09 02:13:00 +01:00
gdkchan
ea89d415bb Add XML documentation to Ryujinx.Graphics.Gpu.Shader 2020-01-09 02:13:00 +01:00
gdkchan
ef3ec2af26 Add XML documentation to Ryujinx.Graphics.Gpu.Memory 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
7cad07ecba Fix typos pointed out by LDj3SNuD 2020-01-09 02:13:00 +01:00
gdkchan
7e2383aebb Fix missing S8 format on texture compatibility check 2020-01-09 02:13:00 +01:00
gdkchan
b73695ce3e Add XML documentation to Ryujinx.Graphics.Gpu.Image 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
Alex Barney
7c4256a713 ASTC optimizations (#845)
* ASTC optimizations

* Move code to Ryujinx.Common

* Support 3D textures

* Address feedback

* Remove ASTC logging

* Use stackalloc instead of a Buffer20 struct

* Code style and cleanup

* Respond to feedback

* Rearrange public/private property ordering
2020-01-09 02:13:00 +01:00
gdkchan
f7277e76e3 Reimplement limited bindless textures support 2020-01-09 02:13:00 +01:00
gdkchan
8e777be7b4 Initialize GPU physical memory accessor from KProcess, to allow homebrew that never maps anything on the GPU to work 2020-01-09 02:13:00 +01:00
gdkchan
0dedc2bf7e Support texture rectangle targets (non-normalized coords) 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
bd2d194183 Use correct shared memory size (in words, not bytes) 2020-01-09 02:13:00 +01:00
gdkchan
ef28012710 Ensure a valid shared memory size is used 2020-01-09 02:13:00 +01:00
gdkchan
8cd2823869 Use dispatch params shared memory size when available 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
dd6be05b96 Fix draw indexed flag not being cleared for instanced draws, also avoid state updates in the middle of a indexed draw 2020-01-09 02:13:00 +01:00