gdkchan and GitHub
a7a40a77f2
Add support for the brazilian portuguese language code ( #2792 )
...
* Add support for the brazilian portuguese language code
* Fix error applet message
2021-10-28 23:06:45 +02:00
gdkchan and GitHub
04dfb86fde
Preserve image types for shader bindless surface instructions (.D variants) ( #2779 )
...
* Preserve image types for SULD/SUST .D variants
* Make format unknown for surface atomic if bindless and not sized
2021-10-24 19:40:20 -03:00
gdkchan and GitHub
0d174cbd45
EventWait should not signal the event when it returns Success ( #2739 )
...
* Fix race when EventWait is called and a wait is done on the CPU
* This is useless now
* Fix EventSignal
* Ensure the signal belongs to the current fence, to avoid stale signals
2021-10-19 17:25:32 -03:00
gdkchan and GitHub
63f1663fa9
Fix shader 8-bit and 16-bit STS/STG ( #2741 )
...
* Fix 8 and 16-bit STG
* Fix 8 and 16-bit STS
* Shader cache version bump
2021-10-18 20:24:15 -03:00
gdkchan and GitHub
d512ce122c
Initial tessellation shader support ( #2534 )
...
* Initial tessellation shader support
* Nits
* Re-arrange built-in table
* This is not needed anymore
* PR feedback
2021-10-18 18:38:04 -03:00
gdkchan and GitHub
7603dbe3c8
Add missing U8/S8 types from shader I2I instruction ( #2740 )
...
* Add missing U8/S8 types from shader I2I instruction
* Better names
* Fix dstIsSignedInt
2021-10-17 17:48:36 -03:00
gdkchan and GitHub
25fd4ef10e
Extend bindless elimination to work with masked and shifted handles ( #2727 )
...
* Extent bindless elimination to work with masked handles
* Extend bindless elimination to catch shifted pattern, refactor handle packing/unpacking
2021-10-17 17:28:18 -03:00
gdkchan and GitHub
d05573bfd1
Implement SHF (funnel shift) shader instruction ( #2702 )
...
* Implement SHF shader instruction
* Shader cache version bump
* Better name
2021-10-17 17:02:20 -03:00
gdkchan and GitHub
464a92d8a7
Force index buffer update for games using Vulkan ( #2726 )
2021-10-12 23:46:42 +02:00
gdkchan and GitHub
a7109c767b
Rewrite shader decoding stage ( #2698 )
...
* Rewrite shader decoding stage
* Fix P2R constant buffer encoding
* Fix PSET/PSETP
* PR feedback
* Log unimplemented shader instructions
* Implement NOP
* Remove using
* PR feedback
2021-10-12 22:35:31 +02:00
gdkchan and GitHub
11b437eafc
Fix DisplayInfo struct ( #2708 )
2021-10-05 12:38:44 -03:00
gdkchan and GitHub
75f4b1ff2d
Relax sampler pool requirement ( #2703 )
2021-10-04 14:35:28 -03:00
gdkchan and GitHub
f7aaea4300
Unref frames before decoding with FFMPEG ( #2704 )
2021-10-04 14:12:24 -03:00
gdkchan and GitHub
fd7567a6b5
Only make render target 2D textures layered if needed ( #2646 )
...
* Only make render target 2D textures layered if needed
* Shader cache version bump
* Ensure topology is updated on channel swap
2021-09-29 01:55:12 +02:00
gdkchan and GitHub
f4f496cb48
NVDEC (H264): Use separate contexts per channel and decode frames in DTS order ( #2671 )
...
* Use separate NVDEC contexts per channel (for FFMPEG)
* Remove NVDEC -> VIC frame override hack
* Add missing bottom_field_pic_order_in_frame_present_flag
* Make FFMPEG logging static
* nit: Remove empty lines
* New FFMPEG decoding approach -- call h264_decode_frame directly, trim surface cache to reduce memory usage
* Fix case
* Silence warnings
* PR feedback
* Per-decoder rather than per-codec ownership of surfaces on the cache
2021-09-29 00:43:40 +02:00
gdkchan and GitHub
83bdafccda
Share scales array for graphics and compute ( #2653 )
2021-09-28 23:52:27 +02:00
gdkchan and GitHub
f08a280ade
Use shader subgroup extensions if shader ballot is not supported ( #2627 )
...
* Use shader subgroup extensions if shader ballot is not supported
* Shader cache version bump + cleanup
* The type is still required on the table
2021-09-19 14:38:39 +02:00
gdkchan and GitHub
ac4ec1a015
Account for negative strides on DMA copy ( #2623 )
...
* Account for negative strides on DMA copy
* Should account for non-zero Y
2021-09-11 22:54:18 +02:00
gdkchan and GitHub
016fc64b3d
Implement GetVaRegions on nvservices ( #2621 )
...
* Implement GetVaRegions on nvservices
* This would just result in 0
2021-09-11 22:39:02 +02:00
gdkchan and GitHub
a4089fc878
Report 1080p resolution when in docked mode ( #2618 )
2021-09-11 22:24:10 +02:00
gdkchan and GitHub
416dc8fde4
Fix out-of-bounds shader thread shuffle ( #2605 )
...
* Fix out-of-bounds shader thread shuffle
* Shader cache version bump
2021-08-30 14:02:40 -03:00
gdkchan and GitHub
82cefc8dd3
Handle indirect draw counts with non-zero draw starts properly ( #2593 )
2021-08-29 16:52:38 -03:00
gdkchan and GitHub
ee1038e542
Initial support for shader attribute indexing ( #2546 )
...
* Initial support for shader attribute indexing
* Support output indexing too, other improvements
* Fix order
* Address feedback
2021-08-27 01:44:47 +02:00
gdkchan and GitHub
5b8ceb9173
Swap BGR565 components by changing the format ( #2577 )
2021-08-26 22:47:21 +02:00
gdkchan and GitHub
c702943af3
Swap BGR components for 16-bit BGR texture formats ( #2567 )
2021-08-20 18:26:25 -03:00
gdkchan and GitHub
680d3ed198
Enable transform feedback buffer flush ( #2552 )
2021-08-17 14:09:27 -03:00
gdkchan and GitHub
eb181425b1
Fix size of cached compute shaders ( #2548 )
...
* Fix size of cached compute shaders
* Missed one
2021-08-12 15:59:24 -03:00
gdkchan and GitHub
8196086f7a
Revert "Calculate vertex buffer sizes from index buffer ( #1663 )" ( #2544 )
...
This reverts commit 10d649e6d3 .
2021-08-11 22:13:48 -03:00
gdkchan and GitHub
0ba4ade8f1
Ensure render scale is initialized to 1 on the backend ( #2543 )
2021-08-11 19:44:41 -03:00
gdkchan and GitHub
3148c0c21c
Unify GpuAccessorBase and TextureDescriptorCapableGpuAccessor ( #2542 )
...
* Unify GpuAccessorBase and TextureDescriptorCapableGpuAccessor
* Shader cache version bump
2021-08-11 18:56:59 -03:00
gdkchan and GitHub
d44d8f2eb6
Workaround for cubemap view data upload bug on Intel ( #2539 )
...
* Workaround for cubemap view data upload bug on Intel
* Trigger CI
2021-08-11 23:19:28 +02:00
gdkchan and GitHub
c3e2646f9e
Workaround for Intel FrontFacing built-in variable bug ( #2540 )
2021-08-11 23:01:06 +02:00
gdkchan and GitHub
ed754af8d5
Make sure attributes used on subsequent shader stages are initialized ( #2538 )
2021-08-11 22:27:00 +02:00
gdkchan and GitHub
10d649e6d3
Calculate vertex buffer sizes from index buffer ( #1663 )
...
* Calculate vertex buffer size from maximum index buffer index
* Increase maximum index buffer count for it to be considered profitable for counting
2021-08-11 22:06:09 +02:00
gdkchan and GitHub
bb8a920b63
Do not dirty memory tracking region handles if they are partially unmapped ( #2536 )
2021-08-11 21:50:33 +02:00
gdkchan and GitHub
0f6ec446ea
Replace BGRA and scale uniforms with a uniform block ( #2496 )
...
* Replace BGRA and scale uniforms with a uniform block
* Setting the data again on program change is no longer needed
* Optimize and resolve some warnings
* Avoid redundant support buffer updates
* Some optimizations to BindBuffers (now inlined)
* Unify render scale arrays
2021-08-11 21:33:43 +02:00
gdkchan and GitHub
d9d18439f6
Use a new approach for shader BRX targets ( #2532 )
...
* Use a new approach for shader BRX targets
* Make shader cache actually work
* Improve the shader pattern matching a bit
* Extend LDC search to predecessor blocks, catches more cases
* Nit
* Only save the amount of constant buffer data actually used. Avoids crashes on partially mapped buffers
* Ignore Rd on predicate instructions, as they do not have a Rd register (catches more cases)
2021-08-11 20:59:42 +02:00
gdkchan and GitHub
ff5df5d8a1
Support non-contiguous copies on I2M and DMA engines ( #2473 )
...
* Support non-contiguous copies on I2M and DMA engines
* Vector copy should start aligned on I2M
* Nits
* Zero extend the offset
2021-08-04 22:20:58 +02:00
gdkchan and GitHub
a27986c311
Make audio disposal thread safe on all 3 backends ( #2527 )
...
* Make audio disposal thread safe on all 3 backends
* Make OpenAL more consistent with the other backends
* Remove Window.Cursor = null, and change dummy TValue to byte
2021-08-04 15:28:33 -03:00
gdkchan and GitHub
bb6fab2009
Ensure that DMA copy target textures are kept alive or flushed ( #2478 )
2021-07-14 14:48:57 -03:00
gdkchan and GitHub
96a070a9a7
Do not require texture and sampler pools being initialized ( #2476 )
2021-07-14 14:27:22 -03:00
gdkchan and GitHub
9d688e37d6
Close transfer memory properly on nvservices ( #2477 )
2021-07-14 14:09:00 -03:00
gdkchan and GitHub
04dce402ac
Implement a fast path for I2M transfers ( #2467 )
2021-07-12 16:48:57 -03:00
gdkchan and GitHub
9b08abc644
Fix shader compilation on shaders that uses rectangle textures ( #2471 )
2021-07-12 16:20:33 -03:00
gdkchan and GitHub
40b21cc3c4
Separate GPU engines (part 2/2) ( #2440 )
...
* 3D engine now uses DeviceState too, plus new state modification tracking
* Remove old methods code
* Remove GpuState and friends
* Optimize DeviceState, force inline some functions
* This change was not supposed to go in
* Proper channel initialization
* Optimize state read/write methods even more
* Fix debug build
* Do not dirty state if the write is redundant
* The YControl register should dirty either the viewport or front face state too, to update the host origin
* Avoid redundant vertex buffer updates
* Move state and get rid of the Ryujinx.Graphics.Gpu.State namespace
* Comments and nits
* Fix rebase
* PR feedback
* Move changed = false to improve codegen
* PR feedback
* Carry RyuJIT a bit more
2021-07-11 17:20:40 -03:00
gdkchan and GitHub
b5190f1681
Fix virtual memory allocation being out of range ( #2464 )
2021-07-11 16:24:31 -03:00
gdkchan and GitHub
b1a9d17cf8
Fix GetWritableRegion write-back ( #2456 )
2021-07-10 21:50:10 +02:00
gdkchan and GitHub
59900d7f00
Unscale textureSize when resolution scaling is used ( #2441 )
...
* Unscale textureSize when resolution scaling is used
* Fix textureSize on compute
* Flag texture size as needing res scale values too
2021-07-09 00:09:07 -03:00
gdkchan and GitHub
b02719cf41
Flush UBO updates more frequently ( #2407 )
2021-07-07 21:20:52 -03:00
gdkchan and GitHub
8b44eb1c98
Separate GPU engines and make state follow official docs (part 1/2) ( #2422 )
...
* Use DeviceState for compute and i2m
* Migrate 2D class, more comments
* Migrate DMA copy engine
* Remove now unused code
* Replace GpuState by GpuAccessorState on GpuAcessor, since compute no longer has a GpuState
* More comments
* Add logging (disabled)
* Add back i2m on 3D engine
2021-07-07 20:56:06 -03:00
gdkchan and GitHub
d125fce3e8
Allow shader language and target API to be specified on the shader translator ( #2402 )
2021-07-06 21:20:06 +02:00
gdkchan and GitHub
fbb4019ed5
Initial support for separate GPU address spaces ( #2394 )
...
* Make GPU memory manager a member of GPU channel
* Move physical memory instance to the memory manager, and the caches to the physical memory
* PR feedback
2021-06-29 19:32:02 +02:00
gdkchan and GitHub
fefd4619a5
Add support for custom line widths ( #2406 )
2021-06-25 20:11:54 -03:00
gdkchan and GitHub
493648df31
Fix default value for unwritten shader outputs ( #2412 )
...
* Fix shader default output values
* Shader cache version bump
2021-06-25 19:56:03 -03:00
gdkchan and GitHub
ed2f5ede0f
Fix texture sampling with depth compare and LOD level or bias ( #2404 )
...
* Fix texture sampling with depth compare and LOD level or bias
* Shader cache version bump
* nit: Sorting
2021-06-25 00:54:50 +02:00
gdkchan and GitHub
a10b2c5ff2
Initial support for GPU channels ( #2372 )
...
* Ground work for separate GPU channels
* Rename TextureManager to TextureCache
* Decouple texture bindings management from the texture cache
* Rename BufferManager to BufferCache
* Decouple buffer bindings management from the buffer cache
* More comments and proper disposal
* PR feedback
* Force host state update on channel switch
* Typo
* PR feedback
* Missing using
2021-06-24 01:51:41 +02:00
gdkchan and GitHub
aea7a6631c
Reduce number of dlls on distribution with single file publish ( #2211 )
...
* Enable single file publish
* Set DebugType to embedded on build scripts
2021-06-24 00:40:19 +02:00
gdkchan and GitHub
c71ae9c85c
Fix shader texture LOD query ( #2397 )
2021-06-23 23:31:14 +02:00
gdkchan and GitHub
ab9d4b862d
Implement VORN (register) Arm32 instruction ( #2396 )
2021-06-23 23:21:23 +02:00
gdkchan and GitHub
49edf14a3e
Pass all inputs when geometry shader passthrough is enabled ( #2362 )
...
* Pass all inputs when geometry shader passthrough is enabled
* Shader cache version bump
2021-06-23 23:04:59 +02:00
gdkchan and GitHub
65fee49e8a
Fix separate bindless sampler at offset 0 ( #2360 )
2021-06-20 20:48:12 +02:00
gdkchan and GitHub
02e2e561ac
Support bindless textures with separate constant buffers for texture and sampler ( #2339 )
2021-06-09 00:42:25 +02:00
gdkchan and GitHub
3b90adcd1d
Fix shaders with mixed PBK and SSY addresses on the stack ( #2329 )
...
* Fix shaders with mixed PBK and SSY addresses on the stack
* Address PR feedback and nits
2021-06-03 01:41:53 +02:00
gdkchan and GitHub
b84ba43406
Fix texture blit off-by-one errors ( #2335 )
2021-06-03 01:30:48 +02:00
gdkchan and GitHub
79b3243f54
Do not attempt to normalize SNORM image buffers on shaders ( #2317 )
...
* Do not attempt to normalize SNORM image buffers on shaders
* Shader cache version bump
2021-05-31 21:59:23 +02:00
gdkchan and GitHub
91fdaea39b
Fix guest stack trace inexistent function names ( #2326 )
2021-05-30 20:53:02 +02:00
gdkchan and GitHub
f6fcef483f
Fix inverted low/high mask value on GetThreadCoreMask32 syscall ( #2325 )
2021-05-30 20:44:59 +02:00
gdkchan and GitHub
fb65f392d1
Improve accuracy of reciprocal step instructions ( #2305 )
...
* Improve accuracy of reciprocal step instructions
* Fix small mistake on RECPE rounding, nits, PTC version bump
2021-05-24 20:20:07 +10:00
gdkchan and GitHub
3fd6b55f04
Fix value of constant vertex attributes ( #2307 )
2021-05-24 17:38:38 +10:00
gdkchan and GitHub
e9c15d32cb
Use a different method for out of bounds blit ( #2302 )
...
* Use a different method for out of bounds blit
* This is not needed
2021-05-22 01:26:49 +02:00
gdkchan and GitHub
a03bbef4d6
Add another Depth32F texture format ( #2304 )
2021-05-22 01:15:08 +02:00
gdkchan and GitHub
f0add129e2
Fix non-independent blend state not being updated ( #2303 )
...
* Fix non-independent blend state not being updated
* Actually, this is not needed
2021-05-22 01:08:00 +02:00
gdkchan and GitHub
12533e5c9d
Fix buffer and texture uses not being propagated for vertex A/B shaders ( #2300 )
...
* Fix buffer and texture uses not being propagated for vertex A/B shaders
* Shader cache version bump
2021-05-20 21:43:23 +02:00
gdkchan and GitHub
b34c0a47b4
Fix constant buffer array size when indexing is used and other buffer descriptor and resolution scale regressions ( #2298 )
...
* Fix constant buffer array size when indexing is used
* Change default QueryConstantBufferUse value
* Fix more regressions
* Ensure proper order
2021-05-20 15:12:15 -03:00
gdkchan and GitHub
49745cfa37
Move shader resource descriptor creation out of the backend ( #2290 )
...
* Move shader resource descriptor creation out of the backend
* Remove now unused code, and other nits
* Shader cache version bump
* Nits
* Set format for bindless image load/store
* Fix buffer write flag
2021-05-19 23:15:26 +02:00
gdkchan and GitHub
e318022b89
Fold constant offsets and group constant addresses ( #2285 )
...
* Fold constant offsets and group constant addresses
* PPTC version bump
2021-05-13 21:26:57 +02:00
gdkchan and GitHub
a8022ca3a1
Fix race in SM initialization ( #2280 )
2021-05-12 00:57:21 +02:00
gdkchan and GitHub
ebdbaa6db0
Fix a specific core migration bug on the scheduler ( #2271 )
2021-05-11 13:18:50 -03:00
gdkchan and GitHub
0e9823d7e6
Fix shader buffer write flag on atomic instructions ( #2261 )
...
* Fix shader buffer write flag on atomic instructions
* Shader cache version bump
2021-05-01 20:46:21 +02:00
gdkchan and GitHub
20d2347971
Fix GetClockSnapshot not writing steady clock timepoint ( #2249 )
2021-04-26 23:56:14 +02:00
gdkchan and GitHub
992133e9ca
Fix IsRegionInUse check on NV memory allocator ( #2243 )
2021-04-25 02:13:58 +02:00
gdkchan and GitHub
4770cfa920
Only enable clip distance if written to on shader ( #2217 )
...
* Only enable clip distance if written to on shader
* Signal InstanceId use through FeatureFlags
* Shader cache version bump
2021-04-20 12:33:54 +02:00
gdkchan and GitHub
40e276c9b5
Improve shader global memory to storage pass ( #2200 )
...
* Improve shader global memory to storage pass
* Formatting and more comments
* Shader cache version bump
2021-04-18 12:31:39 +02:00
gdkchan and GitHub
001005b3d5
Fix sub-image copies on intel GPUs ( #2198 )
2021-04-13 03:09:42 +02:00
gdkchan and GitHub
d43a56726c
(CPU) Fix CRC32 instruction when constant values are used as input ( #2183 )
2021-04-07 23:43:08 +02:00
gdkchan and GitHub
874540bb5c
Allow DRAM size to be increased from 4GB to 6GB ( #2174 )
...
* Allow DRAM size to be increased from 4GB to 6GB
* Add option on the UI
2021-04-04 14:06:59 +02:00
gdkchan and GitHub
f665e1b409
Hold reference for render targets in use ( #2156 )
2021-04-02 16:33:39 +02:00
gdkchan and GitHub
524fe3bea4
Implement shader HelperThreadNV ( #2163 )
...
* Implement shader HelperThreadNV
* Bump shader cache version
* Use gl_HelperInvocation since its supported across all vendors
* Nit
2021-04-02 21:50:35 +11:00
gdkchan and GitHub
a0b4799f19
Fix ZN flags set for shader instructions using RZ.CC dest ( #2147 )
...
* Fix ZN flags set for shader instructions using RZ.CC dest
* Shader cache version bump and nits
2021-03-27 22:59:05 +01:00
gdkchan and GitHub
5ab5b0e709
Close ILibraryAppletAccessor handles on disposal ( #2094 )
2021-03-10 21:36:38 +01:00
gdkchan and GitHub
9d82d27df2
Fix memory tracking performance regression ( #2026 )
...
* Fix memory tracking performance regression
* Set PTC version
2021-02-17 09:16:20 +11:00
715b605e95
Validate CPU virtual addresses on access ( #1987 )
...
* Enable PTE null checks again
* Do address validation on EmitPtPointerLoad, and make it branchless
* PTC version increment
* Mask of pointer tag for exclusive access
* Move mask to the correct place
Co-authored-by: LDj3SNuD <35856442+LDj3SNuD@users.noreply.github.com >
2021-02-16 19:04:19 +01:00
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