Commit Graph

5712 Commits (0e13d9cb7b04bee397f4f3ed7a02e78685b1b386)

Author SHA1 Message Date
Lioncash 1913cf4783
kernel/shared_memory: Remove unnecessary semicolon at end of ConvertPermissions()
Functions don't need to be terminated by semicolons.
8 years ago
Lioncash 40dee76c57
kernel: Migrate logging macros to fmt-compatible ones 8 years ago
bunnei 23d68a07dc
Merge pull request #390 from mailwl/pctl-module
Service/PCTL: convert to module, add services, stub
8 years ago
bunnei 60746e4e52
Merge pull request #397 from lioncash/core
core/memory: Move logging macros over to the new fmt-capable ones
8 years ago
Subv 20d86d8a36 GPU: Partially implemented the Fermi2D surface copy operation.
The hardware allows for some rather complicated operations to be performed on the data during the copy, this is not implemented.
Only same-format same-size raw copies are implemented for now.
8 years ago
Subv e9ad8e9185 Shaders: Added bit decodings for the I2I instruction. 8 years ago
Subv 1740aa5444 Shaders: Implemented the FSET instruction.
This instruction is similar to the FSETP instruction, but it doesn't set a predicate, it sets the destination register to 1.0 if the condition holds, and 0 otherwise.
8 years ago
Subv 5ab597041f Memory: Added a missing shortcut for Memory::CopyBlock for the current process. 8 years ago
Subv 1dd4861d38 GPU: Make the Textures::CopySwizzledData function accessible from the outside of the file. 8 years ago
Subv a6da2b93c1 GPU: Added a function to retrieve the bytes per pixel of the render target formats. 8 years ago
Subv 378c881427 GPU: Added surface copy registers to Fermi2D 8 years ago
Subv b1109931b9 GPU: Added boilerplate code for the Fermi2D engine 8 years ago
Subv c16cfbbc6c GPU: Reduce the number of registers of Maxwell3D to 0xE00.
The rest are just macro shim registers.
8 years ago
Subv a994446b6e GPU: Move the Maxwell3D macro uploading code to the inside of the Maxwell3D processor.
It doesn't belong in the PFIFO handler.
8 years ago
Subv e2f2a49d2d GPU: Corrected the upper bound of the PFIFO method ids in the command processor. 8 years ago
Lioncash 3f78a61f09
file-sys: convert a StringFromFormat call into fmt::format in GetFullPath()
Lessens the amount to read and gets rid of the PRIX64 macro, allowing us to use a single string
for the whole path, making it easier to read.
8 years ago
Lioncash 5aafc83cc9
file-sys: Move logging macros over to the new fmt-capable ones 8 years ago
Lioncash 6d00780045
core/memory: Amend address widths in asserts
Addresses are 64-bit, these formatting specifiers are simply holdovers from citra. Adjust them to be the correct width.
8 years ago
Lioncash 59dae03dbe
core/memory: Move logging macros over to new fmt-capable ones
While we're at it, correct addresses to print all 64 bits where applicable, which were holdovers from citra.
8 years ago
Lioncash b7551e457b
video-core: Move logging macros over to new fmt-capable ones 8 years ago
mailwl 2ba4e2263c Service/PCTL: convert to module, add services, stub
PCTL::CreateServiceWithoutInitialize and IParentalControlService::Initialize, required by Kirby Star Allies
8 years ago
Subv 0369ee7248 Shaders: Added decodings for the FSET instructions. 8 years ago
bunnei ea3151f475
Merge pull request #388 from bunnei/refactor-rasterizer-cache
Refactor rasterizer cache
8 years ago
bunnei c30cd898fc renderer_opengl: Use correct byte order for framebuffer pixel format ABGR8. 8 years ago
bunnei f1a4a004fb gl_rasterizer_cache: Use CHAR_BIT for bpp conversions instead of 8. 8 years ago
bunnei 0a023cfb4f gl_rasterizer_cache: Use GPU PAGE_BITS/SIZE, not CPU. 8 years ago
bunnei 9022d926eb gl_rasterizer_cache: Use new logger. 8 years ago
bunnei fbb3cd110c gl_rasterizer_cache: Add a function for finding framebuffer GPU address. 8 years ago
bunnei bc0f1896fc gl_rasterizer_cache: Handle compressed texture sizes. 8 years ago
bunnei 4415e00181 gl_rasterizer_cache: Update to be based on GPU addresses, not CPU addresses. 8 years ago
Lioncash cc2e14ec2a
loader: Move old logging macros over to new fmt-capable ones 8 years ago
bunnei 10c6d89119 memory_manager: Add implement CpuToGpuAddress. 8 years ago
bunnei 239ac8abe2 memory_manager: Make GpuToCpuAddress return an optional. 8 years ago
bunnei 9e11a76e92 memory_manager: Use GPUVAdddr, not PAddr, for GPU addresses. 8 years ago
bunnei e8c2bb24b2
Merge pull request #386 from Subv/gpu_query
GPU: Added asserts to our code for handling the QUERY_GET GPU command.
8 years ago
bunnei b7953d2ebf
Merge pull request #392 from lioncash/log
service: Move logging macros over to the new fmt-compatible ones
8 years ago
Lioncash d08cfb55fe
service: Move logging macros over to new fmt-compatible ones 8 years ago
Lioncash 88eb612718
vi: Move logging macros over to new fmt-compatible ones 8 years ago
Lioncash bd9c2aa51f
time: Move logging macros over to new fmt-compatible ones 8 years ago
Lioncash bfe49edb2a
ssl: Move logging macros over to new fmt-compatible ones 8 years ago
Lioncash 82413a6c89
spl: Move logging macros over to new fmt-compatible ones 8 years ago
Lioncash 62c69f4a1e
sockets: Move logging macros over to new fmt-compatible ones 8 years ago
Lioncash 2a3f3bf977
sm: Move logging macros over to new fmt-compatible ones 8 years ago
Lioncash 32ece18bb6
set: Move logging macros over to new fmt-compatible ones 8 years ago
Lioncash 13f9cf2bd0
pctl: Move logging macros over to new fmt-compatible ones 8 years ago
Lioncash 72b497e876
nvflinger: Move logging macros over to new fmt-compatible ones 8 years ago
Lioncash 285d8d8b7d
nvdrv: Move logging macros over to new fmt-compatible ones 8 years ago
Lioncash 022fc59dcd
ns: Move logging macros over to new fmt-compatible ones 8 years ago
Lioncash 47054327c2
nifm: Move logging macros over to new fmt-compatible ones 8 years ago
Lioncash 28b92db7fd
nfp: Move logging macros over to new fmt-compatible ones 8 years ago
Lioncash dabfd90dfe
lm: Move logging macros over to new fmt-compatible ones 8 years ago
Lioncash 9cd7485cd7
hid: Move logging macros over to new fmt-compatible ones 8 years ago
Lioncash 8fc4003dab
friend: Move logging macros over to new fmt-compatible ones 8 years ago
Lioncash b5b613ea29
filesystem: Move logging macros over to new fmt-compatible ones 8 years ago
Lioncash d1b23b2b51
renderer_opengl: Silence a -Wdangling-else warning in DrawScreenTriangles() 8 years ago
Lioncash c6a740d7c2
fatal: Move logging macros over to new fmt-compatible ones 8 years ago
Lioncash 8d32bf9a96
audio: Move logging macros over to new fmt-compatible ones 8 years ago
Lioncash d652e41365
apm: Move logging macros over to new fmt-compatible ones 8 years ago
Lioncash e74dbfc572
aoc: Move logging macros over to new fmt-compatible ones 8 years ago
Lioncash 5483c08b44
am: Move logging macros over to new fmt-compatible ones 8 years ago
Lioncash f85d880ac6
acc: Move logging macros over to new fmt-compatible ones 8 years ago
mailwl a0179e5ca5 Service/FS: implement IFileSystem::RenameFile 8 years ago
bunnei 07dc0bbf3e
Merge pull request #379 from Subv/multi_buffers
GPU: Support multiple enabled vertex arrays.
8 years ago
Subv f208953585 GPU: Added asserts to our code for handling the QUERY_GET GPU command.
This is based on research from nouveau. Many things are currently unknown and will require hwtests in the future.
This commit also stubs QueryMode::Write2 to do the same as Write. Nouveau code treats them interchangeably, it is currently unknown what the difference is.
8 years ago
bunnei 0214351f4f
Merge pull request #370 from Subv/sync_primitives
Kernel: Reworked the new kernel synchronization primitives.
8 years ago
bunnei bf25299272
Merge pull request #384 from Subv/nvhost-remap
Nvdrv/nvhost-as-gpu: Implemented the ioctl REMAP command.
8 years ago
bunnei d4f87e9af4
Merge pull request #385 from Subv/unimpl_ioctls
Nvdrv: Assert when receiving an unimplemented ioctl in the nv* handlers.
8 years ago
bunnei 3967f9c6ef
Merge pull request #383 from Subv/gpu_mmu
GPU: Make the GPU virtual memory manager use 16 page bits and 10 pagetable bits.
8 years ago
Subv 9531a29283 GPU: Support multiple enabled vertex arrays.
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.
8 years ago
Subv 46572d027d Kernel: Implemented mutex priority inheritance.
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.
8 years ago
Subv 0d6eafe11a NvDrv/nvhost-as-gpu: Ensure that the object passed to MapBufferEx has 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.
8 years ago
Subv e4bd0bddea Nvdrv/nvhost-as-gpu: Implemented the ioctl REMAP command.
It takes a previously-reserved (AllocateSpace) GPU memory address and maps it to the address of the nvmap object passed to Remap.
8 years ago
Subv e862c50a70 Nvdrv: Assert when receiving an unimplemented ioctl in the nv* handlers. 8 years ago
Subv f823c1d599 GPU: Make the GPU virtual memory manager use 16 page bits and 10 page table bits.
Also removed some dead code and added memory map consistency asserts.
8 years ago
Subv 010227e149 GPU: Implement the RGB10_A2 RenderTarget format, it will use the same format as the A2BGR10 texture format. 8 years ago
David Marcec 27650499bc GetIUserInterface->CreateUserInterface, Added todos and stub logs. Playreport->PlayReport. 8 years ago
David df669bc540
lioncash proposed changes 8 years ago
David Marcec f3137d3bc1 Implemented GetIUserInterface properly, Playreport and SSL::SetInterfaceVersion. Fixed ipc issues with IAudioDevice(wrong ids) 8 years ago
Subv c079cf4eec GPU: Implement the A2BGR10 texture format. 8 years ago
bunnei 62937798a0
Merge pull request #377 from adityaruplaha/sdl2-fullscreen
SDL2: Implement fullscreen. (Original PR: citra-emu/citra#3607)
8 years ago
adityaruplaha f48d5e4c4c SDL2: Implement fullscreen. (Original PR: citra-emu/citra#3607) 8 years ago
bunnei f8764bb5d3
Merge pull request #376 from bunnei/shader-decoder
Shader opcode decoding
8 years ago
bunnei f8a037ead4
Merge pull request #375 from lioncash/header
opengl: Remove unnecessary header inclusions
8 years ago
bunnei d08fd7e86d gl_shader_decompiler: Skip RRO instruction. 8 years ago
bunnei 8b28dc55e6 gl_shader_decompiler: Cleanup error logging. 8 years ago
bunnei e1630c4d43 shader_bytecode: Add several more instruction decodings. 8 years ago
bunnei 9f6d305eab shader_bytecode: Decode instructions based on bit strings. 8 years ago
bunnei 8ac3a3f45e
Merge pull request #369 from Subv/shader_instr2
ShaderGen: Implemented fsetp/kil and predicated instruction execution.
8 years ago
bunnei 634d9ee18b
Merge pull request #374 from lioncash/noexcept
gl_resource_manager: Add missing noexcept specifiers to move constructors and assignment operators
8 years ago
bunnei ba6f3e8f9f
Merge pull request #373 from lioncash/enum2
gl_rasterizer_cache: Make MatchFlags an enum class
8 years ago
Subv 17a0ef1e1e ShaderGen: Implemented the KIL instruction, which is equivalent to 'discard'. 8 years ago
Subv c3a8ea76f1 ShaderGen: Implemented predicated instruction execution.
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.
8 years ago
Subv 0a5e01b710 ShaderGen: Implemented the fsetp instruction.
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.
8 years ago
Subv a70ed9c8ae Kernel: Use 0x2C as default main thread priority for homebrew and lone NRO/NSOs 8 years ago
Subv 013778aa21 Qt: Update the WaitTree widget to show info about the current mutex of each thread. 8 years ago
Subv be155f4d9d Kernel: Remove unused ConditionVariable class. 8 years ago
Subv 5fdfbfe25a Kernel: Remove old and unused Mutex code. 8 years ago
Subv b18ccf9399 Kernel: Properly implemented svcWaitProcessWideKey and svcSignalProcessWideKey
They work in tandem with guest code to provide synchronization primitives along with svcArbitrateLock/Unlock
8 years ago
Subv e81a2080eb Kernel: Corrected the implementation of svcArbitrateLock and svcArbitrateUnlock.
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.
8 years ago
bunnei 1723b4d8d4
Merge pull request #372 from lioncash/enum
resource_limit: Make ResourceTypes an enum class
8 years ago
Lioncash eafdcc1b8a opengl: Remove unnecessary header inclusions 8 years ago
Lioncash ab71997b2c gl_resource_manager: Add missing noexcept specifiers to move constructors 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.
8 years ago
Lioncash 7db0b8d74f gl_rasterizer_cache: Make MatchFlags an enum class
Prevents implicit conversions and scope pollution.
8 years ago
Lioncash 659a612368 core: Relocate g_service_manager to the System class
Converts the service manager from a global into an instance-based
variable.
8 years ago
Lioncash bec05db746 resource_limit: Make ResourceTypes an enum class
Prevents enum identifiers from leaking into the surrounding scope.
8 years ago
bunnei 1df3a7710e
Merge pull request #340 from mailwl/vi-update
Service/VI: stub SetLayerVisibility, fix GetDisplayResolution output
8 years ago
Subv d03fc77475 ShaderGen: Register id 255 is special and is hardcoded to return 0 (SR_ZERO). 8 years ago
Subv 2e0a9f66a0 ShaderGen: Ignore the 'sched' instruction when generating shaders.
The 'sched' instruction has a very convoluted encoding, but fortunately it seems to only appear on a fixed interval (once every 4 instructions).
8 years ago
bunnei 326b044c19
Merge pull request #367 from lioncash/clamp
math_util: Remove the Clamp() function
8 years ago
bunnei 87f89ac82d
Merge pull request #361 from lioncash/common
common_types: Minor changes
8 years ago
Lioncash fae2dd0344
math_util: Remove the Clamp() function
C++17 adds clamp() to the standard library, so we can remove ours in
favor of it.
8 years ago
bunnei b11f6f90e7
Merge pull request #360 from lioncash/namespaces
service: Use nested namespace specifiers where applicable
8 years ago
bunnei 4d96997447
Merge pull request #364 from lioncash/thread-local
common/thread: Remove unnecessary feature checking for thread_local
8 years ago
bunnei b5c204ac6f
Merge pull request #362 from lioncash/snprintf
common_funcs: Remove check for VS versions that we don't even support
8 years ago
bunnei 701dd649e6
Merge pull request #363 from lioncash/array-size
common_funcs: Remove ARRAY_SIZE macro
8 years ago
bunnei 79c1ed80e9
Merge pull request #366 from lioncash/vec
vector_math: Remove AsArray() and Write() functions from Vec[2,3,4]
8 years ago
bunnei cb267093bb
Merge pull request #365 from lioncash/codeblock
common: Remove code_block.h
8 years ago
Lioncash 956e200f12 vector_math: Remove AsArray() and Write() functions from Vec[2,3,4]
These are all unused and the Write() ones should arguably not even be in the interface. There are better ways to provide this if we ever need it (like iterators).
8 years ago
Lioncash 0eba5911f2 common: Remove code_block.h
We use dynarmic, so this is unued. Anything else we need will likely use Xbyak, so
this header isn't necessary any more.
8 years ago
Lioncash b134e6afcf common/thread: Remove unnecessary feature checking for thread_local
Every compiler we require already supports it.
8 years ago
Lioncash d9e316e353 common_funcs: Remove ARRAY_SIZE macro
C++17 has non-member size() which we can just call where necessary.
8 years ago
Lioncash 902fc61ef8 common_funcs: Remove check for VS versions that we don't even support
We don't support any VS versions that don't already have snprintf in the
standard library implementation.
8 years ago
Lioncash 16ffecd8fb common_types: Convert typedefs to using aliases
May as well while we're making changes to this file.
8 years ago
Lioncash e8e5041955 common_types: Remove unnecessary check for whether or not__func__ is defined
VS has supported this for quite a while.
8 years ago
Lioncash ccca5e7c28 service: Use nested namespace specifiers where applicable
Tidies up namespace declarations
8 years ago
bunnei 2c8afe1140
Merge pull request #357 from lioncash/guard
renderer_opengl: Add missing header guards
8 years ago
bunnei 2ef04f69b2
Merge pull request #358 from lioncash/explicit
disk_filesystem: Minor changes
8 years ago
Lioncash 3990da488b vi: Remove redundant initializers in the constructors 8 years ago
Lioncash 80982748c8 disk_filesystem: Remove unused total_entries_in_directory member from Disk_Directory 8 years ago
Lioncash e61a4dd485 disk_filesystem: Remove redundant initializer in Disk_Directory's constructor 8 years ago
Lioncash b05f8ea5b5 disk_filesystem: Make constructors explicit where applicable 8 years ago
Lioncash 3841ec4200 renderer_opengl: Add missing header guards 8 years ago
bunnei 17ad56c1dc
Merge pull request #356 from lioncash/shader
glsl_shader_decompiler: Minor API changes to ShaderWriter
8 years ago
bunnei f633b0c875
Merge pull request #355 from Subv/shader_instr
ShaderGen: Fixed TEXS overriding its own texcoords and implemented fmul32i
8 years ago
Lioncash e3b6f6c016 glsl_shader_decompiler: Use std::string_view instead of std::string for AddLine()
This function doesn't need to take ownership of the string data being
given to it, considering all we do is append the characters to the
internal string instance.

Instead, use a string view to simply reference the string data without
any potential heap allocation.

Now anything that is a raw const char* won't need to be converted to a
std::string before appending.
8 years ago
Lioncash 412b31ad72 glsl_shader_decompiler: Add AddNewLine() function to ShaderWriter
Avoids constructing a std::string just to append a newline character
8 years ago
Lioncash aa26baa3db glsl_shader_decompiler: Add char overload for ShaderWriter's AddLine()
Avoids constructing a std::string just to append a character.
8 years ago
Lioncash 4ef392906b glsl_shader_decompiler: Append indentation without constructing a separate std::string
The interface of std::string already lets us append N copies of a
character to an existing string.
8 years ago
Subv fe84842137 ShaderGen: Implemented the fmul32i shader instruction. 8 years ago
Subv 5367935d35 ShaderGen: Fixed a case where the TEXS instruction would use the same registers for the input and the output.
It will now save the coords before writing the outputs in a subscope.
8 years ago
N00byKing 8a47e7e493 Implement Pull #3528 from citra: use nvidia graphics automatically on laptops with optimus (with AMD support) (#271)
* Port 3528: use nvidia graphics automatically on laptops with optimus

* Force dedicated AMD Card for switchable Graphics

* Ran clang-format
8 years ago
James Rowe e90a12f80c
Merge pull request #352 from bunnei/fix-microprofile
nvflinger: Call MicroProfileFlip on NVFlinger::Compose.
8 years ago
Subv 057170928c GPU: Add support for the DXT23 and DXT45 compressed texture formats. 8 years ago
bunnei de18592179 nvflinger: Call MicroProfileFlip on NVFlinger::Compose. 8 years ago
bunnei 60e6e8953e
Merge pull request #351 from Subv/tex_formats
GPU: Implemented the B5G6R5 format.
8 years ago
Subv 2985056340 GPU: Implemented the B5G6R5 format. 8 years ago
bunnei ce4f159b1c
gl_shader_gen: Support vertical/horizontal viewport flipping. (#347)
* gl_shader_gen: Support vertical/horizontal viewport flipping.

* fixup! gl_shader_gen: Support vertical/horizontal viewport flipping.
8 years ago
Subv 43d98ca8fe GLCache: Added boilerplate code to make supporting configurable texture component types.
For now only the UNORM type is supported.
8 years ago
Subv 5b3fab6766 GLCache: Unify texture and framebuffer formats when converting to OpenGL. 8 years ago
Subv b2c1672e10 GPU: Texture format 8 and framebuffer format 0xD5 are actually ABGR8. 8 years ago
Subv 48d4efbd69 GPU: Pitch textures are now supported, don't assert when encountering them. 8 years ago
Subv a3e82e8e1f GLCache: Take into account the texture's block height when caching and unswizzling. 8 years ago
Subv ac09b5a2e9 GLCache: Added a function to convert cached PixelFormats back to texture formats.
TODO: The way we handle cached formats must change, framebuffer and texture formats are too different to keep them in the same place.
8 years ago
Subv 6b63aaa5b4 GPU: Allow using a configurable block height when unswizzling textures. 8 years ago
Subv db5f2bfa7e GPU/TIC: Added the pitch and block height fields to the TIC structure. 8 years ago
bunnei c93ea96366
Merge pull request #346 from bunnei/misc-gpu-improvements
Misc gpu improvements
8 years ago
bunnei 71b4a3b9f6
Merge pull request #344 from bunnei/shader-decompiler-p2
Shader decompiler changes part 2
8 years ago
bunnei 7222d9a4c3 gl_rasterizer_cache: Add missing LOG statements. 8 years ago
bunnei 9df8e924fb texture: Add missing formats. 8 years ago
bunnei 3ed8a1cac7 gpu: Add several framebuffer formats to RenderTargetFormat. 8 years ago
bunnei 4a8eb6745e maxwell3d: Allow Texture2DNoMipmap as Texture2D. 8 years ago
bunnei 531c25386e shader_bytecode: Make ctor's constexpr and explicit. 8 years ago
bunnei 174cba5c58 renderer_opengl: Implement BlendEquation and BlendFunc. 8 years ago
bunnei e59126809c bit_field: Remove is_pod check, add is_trivially_copyable_v. 8 years ago
bunnei 1f6fe062ca gl_shader_decompiler: Fix warnings with MarkAsUsed. 8 years ago
bunnei ed542a7309 gl_shader_decompiler: Cleanup logging, updating to NGLOG_*. 8 years ago
bunnei ef2d5ab0c1 gl_shader_decompiler: Implement several MUFU subops and abs_d. 8 years ago
bunnei 59f4ff4659 gl_shader_decompiler: Fix swizzle in GetRegister. 8 years ago
bunnei 5a28dce9eb gl_shader_decompiler: Implement FMUL/FADD/FFMA immediate instructions. 8 years ago
bunnei 8d4899d6ea gl_shader_decompiler: Allow vertex position to be used in fragment shader. 8 years ago
bunnei 95144cc39c gl_shader_decompiler: Implement IPA instruction. 8 years ago
bunnei 8b4443c966 gl_shader_decompiler: Add support for TEXS instruction. 8 years ago
bunnei 5ba71369ac gl_shader_decompiler: Use fragment output color for GPR 0-3. 8 years ago
bunnei 5d529698c9 gl_shader_decompiler: Partially implement MUFU. 8 years ago
bunnei 5b9bcbf438
Merge pull request #341 from shinyquagsire23/pfs-hfs-impl
file_sys: Add HFS/PFS helper component
8 years ago
mailwl 5922f2c46d Service/VI: stub SetLayerVisibility, fix GetDisplayResolution output
both SetLayerVisibility() functions used in Lego games, GetDisplayResolution()
fixed according switchbrew.org
8 years ago
bunnei 2b082e2710
Merge pull request #343 from Subv/tex_wrap_4
GPU: Implement some wrap modes
8 years ago
shinyquagsire23 de580ccdd5 file_sys: Use NGLOG 8 years ago
Hexagon12 e52a87b98a Various service name fixes - part 2 (rebased) (#322)
* Updated ACC with more service names

* Updated SVC with more service names

* Updated set with more service names

* Updated sockets with more service names

* Updated SPL with more service names

* Updated time with more service names

* Updated vi with more service names
8 years ago
Subv 636ad34707 MaxwellToGL: Implemented tex wrap mode 1 (Wrap, GL_REPEAT). 8 years ago
Subv 7fc516cc1a MaxwellToGL: Added a TODO and partial implementation of maxwell wrap mode 4 (Clamp, GL_CLAMP).
This clamp mode was removed from OpenGL as of 3.1, we can emulate it by using GL_CLAMP_TO_BORDER to get the border color of the texture, and then manually sampling the edge to mix them in the fragment shader.
8 years ago
bunnei 77bdc49343 gl_rendering: Use NGLOG* for changed code. 8 years ago
bunnei 1a1af3fda3 gl_rasterizer: Implement indexed vertex mode. 8 years ago
shinyquagsire23 83aa38b239 file_sys: tweaks 8 years ago
shinyquagsire23 c03795300a file_sys: Add HFS/PFS helper component 8 years ago
bunnei 44e09ba807
Merge pull request #338 from bunnei/unrequire-shared-font
pl_u: Use empty shared font if none is available.
8 years ago
bunnei d6d7d0989c
Merge pull request #337 from Subv/used_buffers
GPU: Don't use explicit binding points when uploading the constbuffers to opengl
8 years ago
bunnei ac628f139d pl_u: Use empty shared font if none is available.
- Makes games work in lieu of shared_font.bin.
8 years ago
Subv 477aab5960 GPU: Use the same buffer names in the generated GLSL and the buffer uploading code. 8 years ago
Subv 14ac40436e GPU: Don't use explicit binding points when uploading the constbuffers to opengl.
The bindpoints will now be dynamically calculated based on the number of buffers used by the previous shader stage.
8 years ago
bunnei b8825fbf10
Merge pull request #335 from bunnei/delete-file
fsp_srv: Implement DeleteFile.
8 years ago
bunnei bddad50dd4 fsp_srv: Implement DeleteFile.
- Used by Binding of Isaac.
8 years ago
Subv e128e90350 GPU: Don't use GetPointer when uploading the constbuffer data to the GPU. 8 years ago
Subv 7da47da66e GPU: Use the buffer hints from the shader decompiler to upload only the necessary const buffers for each shader stage. 8 years ago
bunnei 73d9c494ea shaders: Expose hints about used const buffers. 8 years ago
Subv c9b511da08 GPU: Upload the entirety of each constbuffer for each shader stage as SSBOs.
We're going to need the shader generator to give us a mapping of the actual used const buffers to properly bind them to the shader.
8 years ago
Subv 1957640ea2 GPU: Allow configuring ssbos in the opengl state manager. 8 years ago
Subv ae58e46036 GPU: Added a function to determine whether a shader stage is enabled or not. 8 years ago
bunnei 2b9a6b3281
Merge pull request #332 from bunnei/fix-total-mem-usage
vm_manager: Increase GetTotalMemoryUsage value.
8 years ago
bunnei 43f0f163e1 vm_manager: Increase GetTotalMemoryUsage value.
- Gets Binding of Isaac running.
8 years ago
bunnei 9f66cae865
Merge pull request #327 from adityaruplaha/fullscreen-fix
Fix the stuck in fullscreen bug
8 years ago
bunnei 778be45103
Merge pull request #331 from bunnei/fsp-flush
fsp_srv: Implement IFile::Flush.
8 years ago
bunnei 9cab6809f2 fsp_srv: Implement IFile::Flush. 8 years ago
bunnei 1b41b875dc shaders: Add NumTextureSamplers const, remove unused #pragma. 8 years ago
bunnei e6224fec27 shaders: Address PR review feedback. 8 years ago
bunnei eabeedf6af gl_shader_decompiler: Cleanup log statements. 8 years ago
bunnei 0d408b965b shaders: Fix GCC and clang build issues. 8 years ago
bunnei 86135864da gl_shader_decompiler: Implement negate, abs, etc. and lots of cleanup. 8 years ago
bunnei 7639667562 shader_bytecode: Add FSETP and KIL to GetInfo. 8 years ago
bunnei 5a47832221 shader_bytecode: Add SubOp decoding. 8 years ago
bunnei 50023bdae7 gl_shader_decompiler: Add shader stage hint. 8 years ago
bunnei a992aac5eb renderer_opengl: Fix Morton copy byteswap, etc. 8 years ago
adityaruplaha 958c98bdae Fix the stuck in fullscreen bug (Original PR: citra-emu/citra#3611) 8 years ago
bunnei 0ca8fce9d0 gl_shader_manager: Implement SetShaderSamplerBindings. 8 years ago
bunnei beddc8afd2 gl_rasterizer: Generate shaders and upload uniforms. 8 years ago
bunnei 85d77a3d24 gl_shader_decompiler: Basic impl. for very simple vertex shaders.
- Tested with Puyo Puyo Tetris and Cave Story+
8 years ago
bunnei 51f37f5061 gl_shader_manager: Cleanup and consolidate uniform handling. 8 years ago
bunnei 35aca0bf1f maxwell_3d: Make memory_manager public. 8 years ago
bunnei 33bb53571b maxwell_3d: Fix shader_config decodings. 8 years ago
bunnei 5617831d5f gl_rasterizer: Use shader program manager, remove test shader. 8 years ago
bunnei 459826a705 renderer_opengl: Add gl_shader_manager class. 8 years ago
bunnei 8aa21a03b3 maxwell_to_gl: Add a few types, etc. 8 years ago
bunnei 10953495c1 gl_shader_gen: Add hashable setup/config structs. 8 years ago
bunnei 2fcbb35ad2 gl_shader_util: Add missing includes. 8 years ago
bunnei 45fd7c4a37 common: Port cityhash code from Citra. 8 years ago
bunnei da1114ca59 renderer_opengl: Use OGLProgram instead of OGLShader. 8 years ago
bunnei 4f2b2d0bc5 gl_shader_util: Grab latest upstream. 8 years ago
bunnei dbfd106ba0 gl_resource_manager: Grab latest upstream. 8 years ago
bunnei ed7e597b44 gl_shader_decompiler: Add skeleton code from Citra for shader analysis. 8 years ago
bunnei 4e7e0f8112 shader_bytecode: Add initial module for shader decoding. 8 years ago
bunnei 0315fe8c3d bit_field: Make all methods constexpr. 8 years ago
bunnei c6ab2c94d9
Merge pull request #323 from Hexagon12/stub-hid
Service/HID: Stubbed out GetPlayerLedPattern
8 years ago
Hexagon12 e10248f308 Fixed normal params in GetDisplayResolution 8 years ago
Hexagon12 56d2958aaf Stubbed out GetPlayerLedPattern 8 years ago
bunnei b7369f99ec
Merge pull request #319 from Hexagon12/service-name-fix
Various service name fixes - part 1
8 years ago
mailwl 39f75350bb Service/SSL: update service according switchbrew 8 years ago
Hexagon12 cc89b7bfcb Various fixes and clang 8 years ago
Hexagon12 a155d3b7ff
Decimal change 8 years ago
Hexagon12 88f1fe79c6
Updated pctl:a with new service names. 8 years ago
Hexagon12 177bdb94df
Updated nvmemp with new service names. 8 years ago
Hexagon12 4d1a2509df
Updated nvdrv with more service names. 8 years ago
Hexagon12 ac50d2cd60
Updated pl:u with more service names. 8 years ago
Hexagon12 2d2de1422e
Updated hid with more service names. 8 years ago
Hexagon12 9e2f30ab4a
Updated friend:u with more service names. 8 years ago
Hexagon12 be50a6ceef
Updated the unknown name 8 years ago
Hexagon12 7788178f01
Updated friend:a with more service names. 8 years ago
Hexagon12 ae5e2d07c6
Updated fsp-srv with more service names. 8 years ago
Hexagon12 ee3ca32fa3
Updated CodecCtl with more service names. 8 years ago
Hexagon12 ed2da0ef70
Updated audren with more service names. 8 years ago
Hexagon12 c0011fdacd
Updated audrec with more service names. 8 years ago
Hexagon12 a886e3bc2a
Updated audout with more service names. 8 years ago
Hexagon12 4cf4a5ecdc
Updated audin with more service names. 8 years ago
Hexagon12 c79c9755b4
Updated AOC with more service names. 8 years ago
Hexagon12 434cffa37d
Updated AppletOE with more service names. 8 years ago
Hexagon12 0cc2e7d81d
Updated AppletAE with more service names. 8 years ago
Hexagon12 84d39530cf
Updated AM with more service names. 8 years ago
mailwl 3769a80fac Service/ACC: convert to module, add acc:aa, acc:su, acc:u1 services 8 years ago
bunnei 227bc78cbe
Merge pull request #314 from jroweboy/tegra-progress-3b
GPU: Bind uploaded textures when drawing (Rebased)
8 years ago
bunnei e0fb6a188c
Merge pull request #315 from jroweboy/spelling-fix
Fix spelling of Initialize
8 years ago
James Rowe 222ba939f2 Prevent crash from uninitialized telemetry 8 years ago
James Rowe f16eb90b8f Fix spelling of Initialize 8 years ago
James Rowe 0b855f1c21 Fix clang format issues 8 years ago
Subv dcc27d6dc1 GPU: Assert when finding a texture with a format type other than UNORM. 8 years ago
Subv b0ca330e14 GL: Set up the textures used for each draw call.
Each Maxwell shader stage can have an arbitrary number of textures, but we're limited to a certain number in OpenGL. We try to only use the minimum amount of host textures by not keeping a 1:1 relation between guest texture ids and host texture ids, ie, guest texture id 8 can be host texture id 0 if it's the only texture used in the guest shader program.
This mapping will have to be passed to the shader decompiler so it can rewrite the texture accesses.
8 years ago
Subv cb3183212d GL: Bind the textures to the shaders used for drawing. 8 years ago
Subv 65faeb9b2a GLCache: Specialize the MortonCopy function for the DXT1 texture format.
It will now use the UnswizzleTexture function instead of the MortonCopyPixels128, which doesn't seem to work for textures.
8 years ago
Subv b258403f0d GLCache: Implemented GetTextureSurface. 8 years ago
Subv 65ea52394b GLCache: Support uploading compressed textures to the GPU.
Compressed texture formats like DXT1, DXT2, DXT3, etc will use this to ease the load on the CPU.
8 years ago
Subv 73eaef9c05 GL: Remove remaining references to 3DS-specific pixel formats 8 years ago
Subv b305646c44 RasterizerCache: Remove 3DS-specific pixel formats.
We're only left with RGB8 and DXT1 for now. More will be added as they are needed.
8 years ago
Subv c28ed85875 GL: Create the sampler objects when starting up the GL rasterizer. 8 years ago
Subv ca96b04a0c GL: Ported the SamplerInfo struct from citra. 8 years ago
Subv 0171ec606b GL: Rename PicaTexture to MaxwellTexture. 8 years ago
Subv f73a280eeb GL: Added functions to convert Maxwell tex filters and wrap modes to OpenGL. 8 years ago
Subv ad1810e895 Textures: Added a helper function to know if a texture is blocklinear or pitch. 8 years ago
bunnei 37041ea12c
Merge pull request #310 from N00byKing/patch-1
Update multiple comments from citra to yuzu
8 years ago
N00byKing 358050cfc6 core, main.h: Abort on 32Bit ROMs (#309)
* core, main.h: Abort on 32Bit ROMs

* main.cpp: Fix Grammar
8 years ago
James Rowe f9945f8a3b Update fmtlib to fix msvc warnings
Additionally, when updating fmtlib, there was a change in fmtlib broke
how the old logging macro was overloaded, so this works around that by
just naming the fmtlib macro impl something different
8 years ago
N00byKing d1d7582a5b
rasterizer_interface.h: Update from citra to yuzu 8 years ago
N00byKing 1f37dd02ce
default_ini.h: Update from citra to yuzu 8 years ago
N00byKing 27dbbd8227
gl_rasterizer_cache.cpp: Update from citra to yuzu 8 years ago
N00byKing cfc28e0c1a
gl_rasterizer_cache.h: Update from citra to yuzu 8 years ago
N00byKing ca17f581f5
renderer_opengl.h: Update from citra to yuzu 8 years ago
bunnei 40bccd74d3 svc: Stub out SetThreadActivity, GetThreadContext. 8 years ago
bunnei 4c0cf3d5ff audren_u: Stub out GetActiveAudioDeviceName. 8 years ago
bunnei 3d4dfefaec audout_u: Implement GetAudioOutState. 8 years ago
bunnei 910b02d74b nifm: GetResult does not return a data field. 8 years ago
bunnei 9d08a11c1d vi: Implement GetDisplayResolution. 8 years ago
bunnei 99ae9dbf49 shared_memory: Remove incorrect 3ds-specific check. 8 years ago
bunnei 9eb485702f service: Add friend:u interface. 8 years ago
Daniel Lim Wee Soong bb9093ed57 logging: Change FmtLogMessage to use variadic template instead of FMT_VARIADIC
Due to premature merging of #262 I think the build may be failing right now. Should merge this ASAP to fix it.
8 years ago
bunnei c2e0820ac2
Merge pull request #262 from daniellimws/fmtlib-macros
Logging: Add fmtlib-based macros
8 years ago
bunnei c824648db5
Merge pull request #267 from N00byKing/patch-1
Update Dialog from citra to yuzu
8 years ago
bunnei 6cd1482354
Merge pull request #276 from N00byKing/acctoyuzu
Change Telemetry Names to yuzu and remove links to citra
8 years ago
bunnei c82a4df000
Merge pull request #304 from daniellimws/fix-openbsd
Fix build on OpenBSD
8 years ago
N00byKing 1aafb0f3a3
deconstructed_rom_directory.cpp: Fix Typo 8 years ago
Daniel Lim Wee Soong c9845c486e externals: Update fmt to 4d35f94
Versions prior to this didn't compile on OpenBSD due to unconditional
use of the non-standard strtod_l() function.

The fmt::MemoryWriter API has been removed in the intervening
versions, so replace its use with fmt::memory_buffer and fmt::format_to.

The library also no longer provides the fmt::fmt ALIAS, so define
it in externals/CMakeLists.txt.
8 years ago
Daniel Lim Wee Soong a66204eb5c common: fix swap functions on Bitrig and OpenBSD
swap{16,32,64} are defined as macros on the two, but client code
tries to invoke them as Common::swap{16,32,64}, which naturally
doesn't work. This hack redefines the macros as inline functions
in the Common namespace: the bodies of the functions are the
same as the original macros, but relying on OS-specific
implementation details like this is of course brittle.
8 years ago
bunnei 6022bc8394
Merge pull request #297 from bunnei/hid-touch-state
hid: Write empty touch screen state.
8 years ago
bunnei f92594d744
Merge pull request #296 from bunnei/misc-mem-fsp-fixes
Fix stack region, implement FSP GetSize/SetSize, and some stubs
8 years ago
bunnei 3413f1f7ce
Merge pull request #288 from Subv/macro_interpreter
GPU: Implemented a gpu macro interpreter
8 years ago
Subv 11b4ab9685 GPU: Use the MacroInterpreter class to execute the GPU macros instead of HLEing them. 8 years ago
Subv 1ec8d2123d GPU: Implemented a gpu macro interpreter.
The Ryujinx macro interpreter and envydis were used as reference.

Macros are programs that are uploaded by the games during boot and can later be called by writing to their method id in a GPU command buffer.
8 years ago
bunnei 72b90494e7 hid: Write empty touch screen state. 8 years ago
bunnei f4ba523992 hle_ipc, fsp_srv: Cleanup logging. 8 years ago
bunnei b6b7d78ded hid: Stub out GetSupportedNpadStyleSet. 8 years ago
bunnei eef097bdc7 hle_ipc: Do not ensure write buffer size. 8 years ago
bunnei 88582b84a5 fsp_srv: Implement GetSize and SetSize. 8 years ago
bunnei b27ab46bde memory: Fix stack region. 8 years ago
bunnei b3298465cf
Merge pull request #293 from N00byKing/drkthm
Add Dark Theme (And Theming in General + Icon Theming)
8 years ago
N00byKing 1b7dc84132 Port citra-emu/citra#3610 to yuzu 8 years ago
N00byKing b55dc9c85e
Remove whitespaces 8 years ago
N00byKing 78e974ba68 Add Dark theme, Icon theming
configure_general.ui: Add UI Option for Themes

config.cpp: Save Theme Settings
8 years ago
bunnei 86095e62cc audren_u: Stub QueryAudioDeviceSystemEvent and GetActiveChannelCount. 8 years ago
bunnei f6893969b3 svc: Stub GetThreadCoreMask. 8 years ago
bunnei deaf6f9e35 service: Add NFP module interface.
service: Initialize NFP service.

Log: Add NFP service as a log subtype.
8 years ago
Lioncash 36e60c217a result: Check against self-assignment in ResultVal's copy assignment operator
Avoids doing work that doesn't need to be done.
8 years ago
bunnei be4c7ed082
Merge pull request #286 from N00byKing/citratoyuzuagain
main.h: Add pragma once, remove ifndef
9 years ago
N00byKing 16b14aa7e3 main.h: Add pragma once, remove ifndef 9 years ago
bunnei a5e9745380
Merge pull request #284 from bunnei/docked-config
Add config for "Docked" mode and various settings cleanup
9 years ago
N00byKing aa0f596a6e telemetry.h: Reword comment from citra to yuzu 9 years ago
N00byKing 98f0352728 telemetry_session.h: Reword Documentation Comment from citra to yuzu 9 years ago
N00byKing 10738588a4 Remove Links to citra Services 9 years ago
N00byKing 8004af0d05 Change Telemetry Names to yuzu 9 years ago
bunnei 1a28f4fa8c
Merge pull request #282 from N00byKing/patch-2
Change comments from citra to yuzu
9 years ago
bunnei 212a6ab937 settings: Remove unused CpuCore class. 9 years ago
bunnei 94f4009c3b config: Use simplified checkbox (from Citra) for CPU JIT. 9 years ago
bunnei 5ecf152c8e config: Rename is_docked to use_docked_mode to be consistent with other config bools. 9 years ago
bunnei f1423fcbc1 configure_general: Cleanup naming. 9 years ago
bunnei c97ff4460c qt: Add config option for is_docked. 9 years ago
bunnei 12b05c719e config: Add setting for whether the system is docked or not. 9 years ago
bunnei 5e343edc9e renderer_opengl: Use better naming for DrawScreens and DrawSingleScreen. 9 years ago
bunnei d8f745382b graphics_surface: Remove superfluous cast. 9 years ago
bunnei c33abac275 gl_rasterizer: Move code to bind framebuffer surfaces before draw to its own function. 9 years ago
bunnei d30110348b gl_rasterizer: Add a SyncViewport method. 9 years ago
bunnei 67bc2f5ecd gl_rasterizer: Move PrimitiveTopology check to MaxwellToGL. 9 years ago
bunnei 666d53299c graphics_surface: Fix merge conflicts. 9 years ago
bunnei ac19e3d061 gl_rasterizer: Use ReadBlock instead of GetPointer for SetupVertexArray. 9 years ago
bunnei a6cab532f8 gl_rasterizer: Normalize vertex array data as appropriate. 9 years ago
bunnei d4fb8a887c memory: Fix cast for ReadBlock/WriteBlock/ZeroBlock/CopyBlock. 9 years ago
bunnei 527ce12ce4 maxwel_to_gl: Fix string formatting in log statements. 9 years ago
bunnei d89bfec5f5 rasterizer: Rename DrawTriangles to DrawArrays. 9 years ago
bunnei 1bfc0dc2db gl_rasterizer: Use passthrough shader for SetupVertexShader. 9 years ago
bunnei 0a5832798a renderer_opengl: Logging, etc. cleanup. 9 years ago
bunnei 7504df52fc renderer_opengl: Remove framebuffer RasterizerFlushVirtualRegion hack. 9 years ago
bunnei c1ccbf332f gl_rasterizer_cache: Implement UpdatePagesCachedCount. 9 years ago
bunnei d732142b66 memory: Add RasterizerMarkRegionCached code and cleanup. 9 years ago
bunnei c2dbdefedf gl_rasterizer: Implement SetupVertexArray. 9 years ago
bunnei cd8bb6ea9b gl_rasterizer_cache: Fix an ASSERT_MSG. 9 years ago
bunnei 4369af6b7e maxwell_to_gl: Add module and function for decoding VertexType. 9 years ago