gdkchan and GitHub
c465d771dd
Enable multithreaded VP9 decoding ( #2009 )
...
* Enable multithreaded VP9 decoding
* Limit the number of threads used for video decoding
2021-02-11 01:54:42 +01:00
gdkchan and GitHub
5ea7d77981
Fix inter-process data copy on non-contiguous physical regions ( #1988 )
2021-02-08 10:54:49 +11:00
gdkchan and GitHub
4047477866
Simplify handling of shader vertex A ( #1999 )
...
* Simplify handling of shader vertex A
* Theres no transformation feedback, its transform
* Merge TextureHandlesForCache
2021-02-08 10:42:17 +11:00
gdkchan and GitHub
ee28ccebf4
Disable partial JIT invalidation on unmap ( #1991 )
2021-02-08 10:25:14 +11:00
gdkchan and GitHub
7016d95eb1
Implement ETC2 (RGB) texture format ( #2000 )
...
* Implement ETC2 format
* Fix component counts for compressed formats
2021-02-08 10:23:56 +11:00
gdkchan and GitHub
67033ed8e0
Do not flush multisample textures ( #1973 )
2021-02-01 08:30:16 +01:00
gdkchan and GitHub
053dcfdb05
Use multiple dest operands for shader call instructions ( #1975 )
...
* Use multiple dest operands for shader call instructions
* Passing opNode is no longer needed
2021-02-01 11:13:38 +11:00
gdkchan and GitHub
f93089a64f
Implement geometry shader passthrough ( #1961 )
...
* Implement geometry shader passthrough
* Cache version change
2021-01-29 14:38:51 +11:00
gdkchan and GitHub
4b7c7dab9e
Support multiple destination operands on shader IR and shuffle predicates ( #1964 )
...
* Support multiple destination operands on shader IR and shuffle predicates
* Cache version change
2021-01-28 10:59:47 +11:00
gdkchan and GitHub
dcce407071
Lower precision of estimate instruction results to match Arm behavior ( #1943 )
...
* Lower precision of estimate instruction results to match Arm behavior
* PTC version update
* Nits
2021-01-28 10:23:00 +11:00
gdkchan and GitHub
98d0240ce6
Support shader F32 to Bool reinterpretation ( #1969 )
2021-01-27 09:19:30 +01:00
gdkchan and GitHub
a8e9dd2f83
Fix regression on shader atomic SSBO operations ( #1967 )
...
* Fix regression on shader atomic SSBO operations
* Update comment
2021-01-27 11:26:23 +11:00
gdkchan and GitHub
caf049ed15
Avoid some redundant GL calls ( #1958 )
2021-01-27 08:44:07 +11:00
gdkchan and GitHub
d6bd0470fb
Fix conditional rendering without queries ( #1965 )
2021-01-27 08:42:12 +11:00
gdkchan and GitHub
9551bfdeeb
Fix compute shader code dumping ( #1960 )
2021-01-26 18:27:18 +01:00
gdkchan and GitHub
e453ba69f4
Add support for shader atomic min/max (S32) ( #1948 )
2021-01-26 17:38:33 +11:00
gdkchan and GitHub
f94acdb4ef
Allow out of bounds storage buffer access by aligning their sizes ( #1870 )
...
* Allow out of bounds storage buffer access by aligning their sizes
* Use correct size
* Fix typo and comment on the reason for the change
2021-01-25 09:22:19 +11:00
gdkchan and GitHub
f565b0e5a6
Match texture if the physical range is the same ( #1934 )
...
* Match texture if the physical range is the same
* XML docs and comments
2021-01-23 13:38:00 +01:00
gdkchan and GitHub
6a95a3b01a
Fix alignment on CreateTransferMemoryStorage ( #1937 )
2021-01-19 21:48:27 -03:00
gdkchan and GitHub
b8353f5639
Enable parallel ASTC decoding by default ( #1930 )
2021-01-19 14:19:52 +11:00
gdkchan and GitHub
03aab63e03
Fix out of range exception when a invalid base lod is used ( #1931 )
2021-01-19 14:04:38 +11:00
gdkchan and GitHub
734747ae58
Reduce temporary copy/fill buffer size ( #1926 )
2021-01-19 13:31:15 +11:00
gdkchan and GitHub
c4f56c5704
Support for resources on non-contiguous GPU memory regions ( #1905 )
...
* Support for resources on non-contiguous GPU memory regions
* Implement MultiRange physical addresses, only used with a single range for now
* Actually use non-contiguous ranges
* GetPhysicalRegions fixes
* Documentation and remove Address property from TextureInfo
* Finish implementing GetWritableRegion
* Fix typo
2021-01-17 19:44:34 +01:00
gdkchan and GitHub
3bad321d2b
Fix mipmap base level being ignored for sampled textures and images ( #1911 )
...
* Fix mipmap base level being ignored for sampled textures and images
* Fix layer size and max level for textures
* Missing XML doc + reorder comments
2021-01-15 19:14:00 +01:00
gdkchan and GitHub
5be6ec6364
Fix shader LOP3 predicate write condition ( #1910 )
...
* Fix LOP3 predicate write condition
* Bump shader cache version
2021-01-14 01:07:50 +01:00
gdkchan and GitHub
36c6e67df2
Implement shader CC mode for ISCADD, X mode for ISETP and fix STL/STS/STG with RZ ( #1901 )
...
* Implement shader CC mode for ISCADD, X mode for ISETP and fix STS/STG with RZ
* Fix STG too and bump shader cache version
* Fix wrong name
* Fix Carry being inverted on comparison
2021-01-13 08:52:13 +11:00
gdkchan and GitHub
df820a72de
Implement clear buffer (fast path) ( #1902 )
...
* Implement clear buffer (fast path)
* Remove blank line
2021-01-13 08:50:54 +11:00
gdkchan and GitHub
6ed19c1488
Fix compute reserved constant buffer updates ( #1892 )
2021-01-10 21:02:58 +01:00
gdkchan and GitHub
8e0a421264
Fix remap when handle is 0 ( #1882 )
...
* Nvservices cleanup and attempt to fix remap
* Unmap if remap handle is 0
* Remove mapped pool add from Remap
2021-01-10 10:11:31 +11:00
gdkchan and GitHub
b9200dd734
Support conditional on BRK and SYNC shader instructions ( #1878 )
...
* Support conditional on BRK and SYNC shader instructions
* Add TODO comment and bump cache version
2021-01-08 22:55:55 -03:00
gdkchan and GitHub
532b8cad13
Update KAddressArbiter implementation to 11.x kernel ( #1851 )
...
* Update KAddressArbiter implementation to 11.x kernel
* InsertSortedByPriority is no longer needed
2021-01-01 14:59:26 -03:00
gdkchan and GitHub
f5d64b4d68
Terminate application before services ( #1812 )
...
* Terminate application before services
* Use flags instead of title ID
2020-12-17 01:44:06 +01:00
61634dd415
Clear JIT cache on exit ( #1518 )
...
* Initial cache memory allocator implementation
* Get rid of CallFlag
* Perform cache cleanup on exit
* Basic cache invalidation
* Thats not how conditionals works in C# it seems
* Set PTC version to PR number
* Address PR feedback
* Update InstEmitFlowHelper.cs
* Flag clear on address is no longer needed
* Do not include exit block in function size calculation
* Dispose jump table
* For future use
* InternalVersion = 1519 (force retest).
Co-authored-by: LDj3SNuD <35856442+LDj3SNuD@users.noreply.github.com >
2020-12-16 17:07:42 -03:00
gdkchan and GitHub
47ba81c661
Fix pre-allocator shift instruction copy on a specific case ( #1752 )
...
* Fix pre-allocator shift instruction copy on a specific case
* Fix to make shift use int rather than long for constants
2020-12-14 17:56:07 -03:00
gdkchan and GitHub
c8bb3cc50e
Fix register read after write on STREX implementation ( #1801 )
...
* Fix register read after write on STREX implementation
* PTC version update
2020-12-13 12:19:38 -03:00
gdkchan and GitHub
19d18662ea
Correct type of executable sizes ( #1802 )
2020-12-13 08:30:27 +01:00
gdkchan and GitHub
ef157bbe26
Remove inexistent buffer from GetNintendoAccountUserResourceCacheForApplication ( #1809 )
2020-12-12 22:10:12 +11:00
gdkchan and GitHub
74aa7b20be
Rewrite size for fixed size buffers ( #1808 )
2020-12-12 14:06:20 +11:00
gdkchan and GitHub
48278905d1
Rewrite scheduler context switch code ( #1786 )
...
* Rewrite scheduler context switch code
* Fix race in UnmapIpcRestorePermission
* Fix thread exit issue that could leave the scheduler in a invalid state
* Change context switch method to not wait on guest thread, remove spin wait, use SignalAndWait to pass control
* Remove multi-core setting (it is always on now)
* Re-enable assert
* Remove multicore from default config and schema
* Fix race in KTimeManager
2020-12-09 19:20:05 -03:00
gdkchan and GitHub
1b053d2222
Close audio WorkBuffer transfer memory handle ( #1770 )
2020-12-02 21:58:20 +01:00
gdkchan and GitHub
f7617cae12
Create a single guest process per IPC message processor ( #1769 )
2020-12-02 13:14:44 +01:00
cf6cd71488
IPC refactor part 2: Use ReplyAndReceive on HLE services and remove special handling from kernel ( #1458 )
...
* IPC refactor part 2: Use ReplyAndReceive on HLE services and remove special handling from kernel
* Fix for applet transfer memory + some nits
* Keep handles if possible to avoid server handle table exhaustion
* Fix IPC ZeroFill bug
* am: Correctly implement CreateManagedDisplayLayer and implement CreateManagedDisplaySeparableLayer
CreateManagedDisplaySeparableLayer is requires since 10.x+ when appletResourceUserId != 0
* Make it exit properly
* Make ServiceNotImplementedException show the full message again
* Allow yielding execution to avoid starving other threads
* Only wait if active
* Merge IVirtualMemoryManager and IAddressSpaceManager
* Fix Ro loading data from the wrong process
Co-authored-by: Thog <me@thog.eu >
2020-12-02 00:23:43 +01:00
gdkchan and GitHub
7f536b5a15
Do not perform layout conversion on buffer texture flushes ( #1729 )
2020-11-18 22:17:40 +01:00
gdkchan and GitHub
eafee34fee
Improvements with new .NET 5 functions or bugfixes ( #1714 )
...
* Improvements with new .NET 5 functions or bugfixes
* This no longer needs to be unsafe
2020-11-18 19:28:40 +01:00
gdkchan and GitHub
9435d62206
Simplify depth test state updates ( #1695 )
2020-11-17 23:20:17 +01:00
gdkchan and GitHub
5189a807c4
Fix buffer to texture copy with remap enabled ( #1721 )
2020-11-17 19:06:02 -03:00
gdkchan and GitHub
787e20937f
Propagate zeta format properly ( #1716 )
2020-11-16 09:37:16 +01:00
gdkchan and GitHub
3c60d4b0ea
Do not report unmapped pages as dirty ( #1672 )
...
* Do not report unmapped pages as dirty
* Make tests pass again
* PR feedback
2020-11-10 22:07:52 -03:00
gdkchan and GitHub
c3d62bd078
Implement ATOM shader instruction ( #1687 )
...
* Implement ATOM shader instruction
* Fix reduction type decoding
2020-11-10 01:06:46 +01:00
gdkchan and GitHub
934a78005e
Simplify logic for bindless texture handling ( #1667 )
...
* Simplify logic for bindless texture handling
* Nits
2020-11-09 19:35:04 -03:00
gdkchan and GitHub
8d168574eb
Use explicit buffer and texture bindings on shaders ( #1666 )
...
* Use explicit buffer and texture bindings on shaders
* More XML docs and other nits
2020-11-08 12:10:00 +01:00
gdkchan and GitHub
ce9105a130
Support single precision contants for double precision operations ( #1673 )
2020-11-06 18:54:13 +01:00
gdkchan and GitHub
24dbfc0fe6
Correct BPP of buffer to texture copies ( #1670 )
2020-11-06 18:37:05 +01:00
gdkchan and GitHub
a89b81a812
Separate zeta from color formats ( #1647 )
2020-11-05 23:50:34 +01:00
gdkchan and GitHub
11a7c99764
Support 3D BC4 and BC5 compressed textures ( #1655 )
...
* Support 3D BC4 and BC5 compressed textures
* PR feedback
* Fix some typos
2020-11-01 15:32:53 -03:00
gdkchan and GitHub
6222f173f0
Fix compressed to non-compressed texture copy size ( #1649 )
2020-11-01 15:26:24 -03:00
gdkchan and GitHub
876fa656f6
Remove unused texture and sampler pool invalidation code ( #1648 )
2020-11-01 15:17:29 -03:00
gdkchan and GitHub
423da5cc91
Scale texture resolution before sending to backend ( #1646 )
...
* Work
* Propagate scale factor to copy temp. Not really needed, just here for consistency
* PR feedback
2020-10-29 22:57:34 +01:00
gdkchan and GitHub
0031edae27
Avoid sampler conflicts on bindless samplers with the same name ( #1642 )
2020-10-28 21:20:43 +01:00
gdkchan and GitHub
c9841dab38
Fix vertex buffer handle null check ( #1638 )
2020-10-26 01:40:50 +01:00
gdkchan and GitHub
812e32f775
Fix transform feedback errors caused by host pause/resume and multiple uses ( #1634 )
...
* Fix transform feedback errors caused by host pause/resume
* Fix TFB being used as something else issue with copies
* This is supposed to be StreamCopy
2020-10-25 17:23:42 -03:00
gdkchan and GitHub
cf0f0fc4e7
Improve the speed of redundant ASTC texture data updates ( #1636 )
2020-10-25 17:09:45 -03:00
gdkchan and GitHub
49f970d5bd
Implement CAL and RET shader instructions ( #1618 )
...
* Add support for CAL and RET shader instructions
* Remove unused stuff
* Fix a bug that could cause the wrong values to be passed to a function
* Avoid repopulating function id dictionary every time
* PR feedback
* Fix vertex shader A/B merge
2020-10-25 17:00:44 -03:00
gdkchan and GitHub
973a615d40
Fix shader image load/store array index register ( #1637 )
...
* Fix shader image load/store array index register
* Y should come before the array index
2020-10-25 14:51:26 -03:00
gdkchan and GitHub
2f16491712
Get rid of Reflection.Emit dependency on CPU and Shader projects ( #1626 )
...
* Get rid of Reflection.Emit dependency on CPU and Shader projects
* Remove useless private sets
* Missed those due to the alignment
2020-10-21 09:13:44 -03:00
gdkchan and GitHub
efa77a2415
Add missing null check on image binding ( #1632 )
2020-10-21 14:06:13 +02:00
gdkchan and GitHub
2dcc6333f8
Fix image binding format ( #1625 )
...
* Fix image binding format
* XML doc
2020-10-20 19:03:20 -03:00
gdkchan and GitHub
5264d55b39
Fix gl_in being used with built-in variables that are not per-vertex ( #1624 )
2020-10-17 10:16:40 +02:00
gdkchan and GitHub
f02791b20c
Fix LOP3 (cbuf) shader instruction encoding ( #1616 )
2020-10-13 19:33:04 -03:00
gdkchan and GitHub
329ba5b39b
Fix incorrect GPU GL blend func values ( #1612 )
2020-10-13 14:45:41 +11:00
gdkchan and GitHub
d36c4bfba5
Fix output component register on pixel shaders ( #1613 )
...
* Fix output component register on pixel shaders
* Clean up usings
* Do not advance if no component is enabled for the target, this keeps the previous behavior
2020-10-13 14:44:55 +11:00
gdkchan and GitHub
6a51b628f9
Fix error when dual source blend is used ( #1610 )
...
* Fix error when dual source blend is used
* Ensure framebuffer
2020-10-12 21:50:41 -03:00
gdkchan and GitHub
e4777717cd
Implement LEA.HI shader instruction ( #1609 )
2020-10-12 21:46:04 -03:00
gdkchan and GitHub
b066cfc1a3
Add support for shader constant buffer slot indexing ( #1608 )
...
* Add support for shader constant buffer slot indexing
* Fix typo
2020-10-12 21:40:50 -03:00
gdkchan and GitHub
14fd9aa640
Fix H264 output frame size when decoding videos of different sizes ( #1606 )
2020-10-11 11:09:38 +02:00
gdkchan and GitHub
0954e76a26
Improve BRX target detection heuristics ( #1591 )
2020-10-03 15:43:33 +10:00
gdkchan and GitHub
86412ed30a
Supper 2D array ASTC compressed texture formats decoding ( #1593 )
2020-10-02 11:22:23 +10:00
gdkchan and GitHub
f2b12c9749
Remove old, unused CPU optimization ( #1586 )
2020-09-30 16:16:34 -03:00
gdkchan and GitHub
1560f236da
Convert 1D texture targets to 2D ( #1584 )
...
* Convert 1D texture targets to 2D
* Fix typo
* Simplify some code
* Should mask that too
* Consistency
2020-09-29 22:28:50 +02:00
gdkchan and GitHub
bd28ce90e6
Implement small indexed draws and other fixes to make guest Vulkan work ( #1558 )
2020-09-24 09:48:34 +10:00
gdkchan and GitHub
6c9565693f
IPC refactor part 1: Use explicit separate threads to process requests ( #1447 )
...
* Changes to allow explicit management of service threads
* Remove now unused code
* Remove ThreadCounter, its no longer needed
* Allow and use separate server per service, also fix exit issues
* New policy change: PTC version now uses PR number
2020-09-22 14:50:40 +10:00
gdkchan and GitHub
90ab28d1c6
Align register index between output targets on pixel shaders ( #1559 )
2020-09-21 13:45:04 +10:00
gdkchan and GitHub
1eea35554c
Better viewport flipping and depth mode detection method ( #1556 )
...
* Use a better viewport flipping approach
* New approach to detect depth mode
* nit: Sort method on the OpenGL backend
* Adjust spacing on comment
* Unswap near and far parameters based on ScaleZ
2020-09-19 19:46:49 -03:00
gdkchan and GitHub
6cc187da59
SIMD&FP load/store with scale > 4 should be undefined ( #1522 )
...
* SIMD&FP load/store with scale > 4 should be undefined
* Catch more invalid encodings for FP&SIMD LDR/STR (reg variant)
* Set PTC version to PR number
2020-09-01 17:02:23 -03:00
gdkchan and GitHub
3d294a9a6c
Fix PSL and MRG flags on XMAD cbuf-reg shader instruction ( #1520 )
2020-09-01 15:07:20 -03:00
gdkchan and GitHub
bdfbcf4017
Fix regression on texture compatibility match checks ( #1521 )
2020-09-01 16:58:40 +10:00
gdkchan and GitHub
09341dc11d
Fix off by one error in pages count calculation on GPU pool ( #1511 )
2020-08-29 16:42:34 -03:00
gdkchan and GitHub
01ff648bdf
Fix asserts on VP9 decoder in debug mode and build warnings ( #1480 )
2020-08-20 00:07:04 -03:00
gdkchan and GitHub
157ad3f54f
Silence several build warnings ( #1428 )
...
* Silence several build warnings
* Remove fixed buffers from NVDEC struct
* Remove unused field and usings
* Fix wrong name
* Silence more warning on H264 PictureInfo
2020-08-06 23:40:41 +02:00
gdkchan and GitHub
60db4c3530
Implement a Macro JIT ( #1445 )
...
* Implement a Macro JIT
* Nit: space
2020-08-03 03:36:57 +02:00
gdkchan and GitHub
9878fc2d3c
Implement inline memory load/store exclusive and ordered ( #1413 )
...
* Implement inline memory load/store exclusive
* Fix missing REX prefix on 8-bits CMPXCHG
* Increment PTC version due to bugfix
* Remove redundant memory checks
* Address PR feedback
* Increment PPTC version
2020-07-30 11:29:28 -03:00
gdkchan and GitHub
57bb0abda3
Print guest stack trace on invalid memory access ( #1407 )
...
* Print guest stack trace on invalid memory access
* Improve XML docs
2020-07-30 23:16:41 +10:00
gdkchan and GitHub
636542d817
Refactor shader translator ShaderConfig and reduce the number of out args ( #1438 )
2020-07-30 15:53:23 +10:00
gdkchan and GitHub
991784868f
Fix shader regression on Intel iGPUs by reverting layout changes ( #1425 )
2020-07-29 08:01:11 +10:00
gdkchan and GitHub
43c13057da
Implement alpha test using legacy functions ( #1426 )
2020-07-28 18:30:08 -03:00
gdkchan and GitHub
938c06c652
Implement VIC BGRA output surface format ( #1430 )
2020-07-28 18:25:58 -03:00
gdkchan and GitHub
51fbc1fde4
Use polygon offset clamp if supported ( #1429 )
2020-07-26 18:11:28 -03:00
gdkchan and GitHub
8dbcae1ff8
Implement BGRA texture support ( #1418 )
...
* Implement BGRA texture support
* Missing AppendLine
* Remove empty lines
* Address PR feedback
2020-07-26 00:03:40 -03:00
gdkchan and GitHub
2678bf0010
PPTC version increment ( #1427 )
2020-07-25 20:01:57 +02:00
gdkchan and GitHub
111534a74e
Remove GPU MemoryAccessor ( #1423 )
...
* Remove GPU MemoryAccessor
* Update outdated XML doc
* Update more outdated stuff
2020-07-25 16:39:45 +10:00