gdkchan
b8eb6abecc
Refactor shader GPU state and memory access ( #1203 )
...
* Refactor shader GPU state and memory access
* Fix NVDEC project build
* Address PR feedback and add missing XML comments
2020-05-06 11:02:28 +10:00
gdkchan
f77694e4f7
Implement a new physical memory manager and replace DeviceMemory ( #856 )
...
* Implement a new physical memory manager and replace DeviceMemory
* Proper generic constraints
* Fix debug build
* Add memory tests
* New CPU memory manager and general code cleanup
* Remove host memory management from CPU project, use Ryujinx.Memory instead
* Fix tests
* Document exceptions on MemoryBlock
* Fix leak on unix memory allocation
* Proper disposal of some objects on tests
* Fix JitCache not being set as initialized
* GetRef without checks for 8-bits and 16-bits CAS
* Add MemoryBlock destructor
* Throw in separate method to improve codegen
* Address PR feedback
* QueryModified improvements
* Fix memory write tracking not marking all pages as modified in some cases
* Simplify MarkRegionAsModified
* Remove XML doc for ghost param
* Add back optimization to avoid useless buffer updates
* Add Ryujinx.Cpu project, move MemoryManager there and remove MemoryBlockWrapper
* Some nits
* Do not perform address translation when size is 0
* Address PR feedback and format NativeInterface class
* Remove ghost parameter description
* Update Ryujinx.Cpu to .NET Core 3.1
* Address PR feedback
* Fix build
* Return a well defined value for GetPhysicalAddress with invalid VA, and do not return unmapped ranges as modified
* Typo
2020-05-04 08:54:50 +10:00
gdkchan
1758424208
Use correct swizzle on depth-stencil textures ( #1196 )
2020-05-03 23:18:00 +02:00
gdkchan
34d19f381c
Fix texture level offset/size calculation when sparse tile width is > 1 ( #1142 )
...
* Fix texture level offset/size calculation when sparse tile width is > 1
* Sparse tile width affects layer size alignment aswell
2020-04-25 23:40:20 +10:00
gdkchan
3cb1fa0e85
Implement texture buffers ( #1152 )
...
* Implement texture buffers
* Throw NotSupportedException where appropriate
2020-04-25 23:02:18 +10:00
gdkchan
03711dd7b5
Implement SULD shader instruction ( #1117 )
...
* Implement SULD shader instruction
* Some nits
2020-04-22 09:35:28 +10:00
Cristallix
4738113f29
Suppress warnings from fields never used or never assigned (CS0169 and CS0649) ( #919 )
...
* chore : disable unwanted warnings and minor code cleanup
* chore : remove more warnings
* fix : reorder struct correctly
* fix : restore _isKernel and remove useless comment
* fix : copy/paste error
* fix : restore CallMethod call
* fix : whitespace
* chore : clean using
* feat : remove warnings
* fix : simplify warning removal on struct
* fix : revert fields deletion and code clean up
* fix : re-add RE value
* fix : typo
2020-04-21 07:59:59 +10:00
Xpl0itR
12d49c37d2
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
8e64984158
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
riperiperi
6db16b4110
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
gdkchan
a5e20a8fd1
Add sampler border color support on the GPU ( #893 )
2020-01-17 09:55:38 +01:00
gdkchan
b8e3909d80
Add a GetSpan method to the memory manager and use it on GPU ( #877 )
2020-01-13 10:27:50 +11:00
gdkchan
a11f6f5235
Fix some spelling mistakes
...
Thanks to LDj3SNuD for spotting these
2020-01-09 02:13:00 +01:00
gdkchan
92703af555
Address PR feedback
2020-01-09 02:13:00 +01:00
gdkchan
6e092c0558
More code cleanup
2020-01-09 02:13:00 +01:00
gdkchan
59fdaa744b
GPU resource disposal
2020-01-09 02:13:00 +01:00
gdkchan
80ff2eab29
Change GPU errors to debug and reduce log messages
2020-01-09 02:13:00 +01:00
gdkchan
bacb278dc1
Fix typos pointed out by LDj3SNuD
2020-01-09 02:13:00 +01:00
gdkchan
ffaad0eaac
Fix missing S8 format on texture compatibility check
2020-01-09 02:13:00 +01:00
gdkchan
32764f9560
Add XML documentation to Ryujinx.Graphics.Gpu.Image
2020-01-09 02:13:00 +01:00
gdkchan
654e617fe7
Some code cleanup
2020-01-09 02:13:00 +01:00
gdkchan
af8498d679
Add basic error logging to the GPU
2020-01-09 02:13:00 +01:00
Alex Barney
d1ab9fb42c
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
947e14d3be
Reimplement limited bindless textures support
2020-01-09 02:13:00 +01:00
gdkchan
647d0962df
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
9d7a142a48
Support texture rectangle targets (non-normalized coords)
2020-01-09 02:13:00 +01:00
gdkchan
23b8a86d35
Support 3D ASTC textures (using 2D blocks)
2020-01-09 02:13:00 +01:00
gdkchan
17fb11ddb9
Fix wrong maximum id on sampler pool in some cases
2020-01-09 02:13:00 +01:00
gdkchan
e25b7c9848
Initial support for the guest OpenGL driver (NVIDIA and Nouveau)
2020-01-09 02:13:00 +01:00
gdk
d0c7732fe2
Optimize RangeList by not doing an allocation on every call to the Find methods
2020-01-09 02:13:00 +01:00
gdk
16d88c21fc
Improved and simplified window texture presentation
2020-01-09 02:13:00 +01:00
gdk
b2b2e04669
Small optimizations on texture and sampler pool invalidation
2020-01-09 02:13:00 +01:00
gdk
79de8fd490
Share texture pool cache between graphics and compute
2020-01-09 02:13:00 +01:00
gdk
fd196b3d19
Do not throw for invalid ASTC compressed textures
2020-01-09 02:13:00 +01:00
gdk
1e8bc29f32
Use a more efficient range list on the buffer manager
2020-01-09 02:13:00 +01:00
gdk
d786d8d2b9
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
3bcc395253
Add shader support for the round mode on the F2F instruction, support mipmaps on ASTC compressed textures
2020-01-09 02:13:00 +01:00
gdk
8cba252b23
Add per-source type memory change tracking, simplified state change tracking, other fixes
2020-01-09 02:13:00 +01:00
gdk
1b7d955195
Initial support for image stores, support texture sample on compute
2020-01-09 02:13:00 +01:00
gdk
873bb4c15a
Fix BC6 Signed/Unsigned float texture formats
2020-01-09 02:13:00 +01:00
gdk
cdeeac163f
Improved Min/Mip -> MinFilter enum conversion
2020-01-09 02:13:00 +01:00
gdk
1bb08742c1
Calculate width from stride on texture copies
2020-01-09 02:13:00 +01:00
gdk
1876b346fe
Initial work
2020-01-09 02:13:00 +01:00