gdkchan
a19e82fdea
Support separate textures and samplers ( #1216 )
...
* Support separate textures and samplers
* Add missing bindless flag, fix SNORM format on buffer textures
* Add missing separation
* Add comments about the new handles
2020-05-27 16:07:10 +02:00
gdkchan
435ab6a552
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
28c45cfc71
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
05bd3f92d5
Use correct swizzle on depth-stencil textures ( #1196 )
2020-05-03 23:18:00 +02:00
gdkchan
7c3d540700
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
a21f7a7dc2
Implement texture buffers ( #1152 )
...
* Implement texture buffers
* Throw NotSupportedException where appropriate
2020-04-25 23:02:18 +10:00
gdkchan
bd010a2288
Implement SULD shader instruction ( #1117 )
...
* Implement SULD shader instruction
* Some nits
2020-04-22 09:35:28 +10:00
Cristallix
436de566ff
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
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
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
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
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
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
987e78245e
More code cleanup
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
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
6df062b81a
Support 3D ASTC textures (using 2D blocks)
2020-01-09 02:13:00 +01:00
gdkchan
12f573e342
Fix wrong maximum id on sampler pool in some cases
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
08e426760a
Optimize RangeList by not doing an allocation on every call to the Find methods
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
e8e4133745
Small optimizations on texture and sampler pool invalidation
2020-01-09 02:13:00 +01:00
gdk
77070aec08
Share texture pool cache between graphics and compute
2020-01-09 02:13:00 +01:00
gdk
2a487b2afe
Do not throw for invalid ASTC compressed textures
2020-01-09 02:13:00 +01:00
gdk
d3b01b929c
Use a more efficient range list on the buffer manager
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
ce10d3c6ff
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
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
e7345d7baf
Improved Min/Mip -> MinFilter enum conversion
2020-01-09 02:13:00 +01:00
gdk
4206b0d00a
Calculate width from stride on texture copies
2020-01-09 02:13:00 +01:00
gdk
fb2200c09b
Initial work
2020-01-09 02:13:00 +01:00