Age | Commit message (Collapse) | Author |
|
|
|
|
|
GPU: Support multiple enabled vertex arrays.
|
|
Kernel: Reworked the new kernel synchronization primitives.
|
|
Nvdrv/nvhost-as-gpu: Implemented the ioctl REMAP command.
|
|
Nvdrv: Assert when receiving an unimplemented ioctl in the nv* handlers.
|
|
GPU: Make the GPU virtual memory manager use 16 page bits and 10 pagetable bits.
|
|
The vertex arrays will be copied to the stream buffer one after the other, and the attributes will be set using the ARB_vertex_attrib_binding extension.
yuzu now thus requires OpenGL 4.3 or the ARB_vertex_attrib_binding extension.
|
|
Verified with a hwtest and implemented based on reverse engineering.
Thread A's priority will get bumped to the highest priority among all the threads that are waiting for a mutex that A holds.
Once A releases the mutex and ownership is transferred to B, A's priority will return to normal and B's priority will be bumped.
|
|
already been allocated.
Also added a consistency check and a comment for the case when the object id is different than its handle. The real nvservices doesn't make a distinction between ids and handles, each object gets an unique handle which doubles as its id.
|
|
It takes a previously-reserved (AllocateSpace) GPU memory address and maps it to the address of the nvmap object passed to Remap.
|
|
|
|
bits.
Also removed some dead code and added memory map consistency asserts.
|
|
as the A2BGR10 texture format.
|
|
|
|
SDL2: Implement fullscreen. (Original PR: citra-emu/citra#3607)
|
|
|
|
Shader opcode decoding
|
|
opengl: Remove unnecessary header inclusions
|
|
|
|
|
|
|
|
|
|
ShaderGen: Implemented fsetp/kil and predicated instruction execution.
|
|
gl_resource_manager: Add missing noexcept specifiers to move constructors and assignment operators
|
|
gl_rasterizer_cache: Make MatchFlags an enum class
|
|
|
|
Each predicated instruction will be wrapped in an `if (predicate) { instruction_body; }` in the GLSL, where `predicate` is one of the predicate boolean variables previously set by fsetp.
|
|
Predicate variables are now added to the generated shader code in the form of 'pX' where X is the predicate id.
These predicate variables are initialized to false on shader startup and are set via the fsetp instructions.
TODO:
* Not all the comparison types are implemented.
* Only the single-predicate version is implemented.
|
|
|
|
thread.
|
|
|
|
|
|
They work in tandem with guest code to provide synchronization primitives along with svcArbitrateLock/Unlock
|
|
Switch mutexes are no longer kernel objects, they are managed in userland and only use the kernel to handle the contention case.
Mutex addresses store a special flag value (0x40000000) to notify the guest code that there are still some threads waiting for the mutex to be released. This flag is updated when a thread calls ArbitrateUnlock.
TODO:
* Fix svcWaitProcessWideKey
* Fix svcSignalProcessWideKey
* Remove the Mutex class.
|
|
resource_limit: Make ResourceTypes an enum class
|
|
|
|
and assignment operators
Standard library containers may use std::move_if_noexcept to perform
move operations. If a move cannot be performed under these
circumstances, then a copy is attempted. Given we only intend for these
types to be move-only this can be somewhat problematic. By defining
these to be noexcept we prevent cases where copies may be attempted.
|
|
Prevents implicit conversions and scope pollution.
|
|
Converts the service manager from a global into an instance-based
variable.
|
|
Prevents enum identifiers from leaking into the surrounding scope.
|
|
Service/VI: stub SetLayerVisibility, fix GetDisplayResolution output
|
|
|
|
The 'sched' instruction has a very convoluted encoding, but fortunately it seems to only appear on a fixed interval (once every 4 instructions).
|
|
math_util: Remove the Clamp() function
|
|
common_types: Minor changes
|
|
C++17 adds clamp() to the standard library, so we can remove ours in
favor of it.
|
|
service: Use nested namespace specifiers where applicable
|
|
common/thread: Remove unnecessary feature checking for thread_local
|
|
common_funcs: Remove check for VS versions that we don't even support
|