Subv
0369ee7248
Shaders: Added decodings for the FSET instructions.
2018-04-24 22:42:54 -05:00
bunnei
ea3151f475
Merge pull request #388 from bunnei/refactor-rasterizer-cache
...
Refactor rasterizer cache
2018-04-24 23:22:24 -04:00
bunnei
c30cd898fc
renderer_opengl: Use correct byte order for framebuffer pixel format ABGR8.
2018-04-24 22:31:46 -04:00
bunnei
f1a4a004fb
gl_rasterizer_cache: Use CHAR_BIT for bpp conversions instead of 8.
2018-04-24 22:31:46 -04:00
bunnei
0a023cfb4f
gl_rasterizer_cache: Use GPU PAGE_BITS/SIZE, not CPU.
2018-04-24 22:31:46 -04:00
bunnei
9022d926eb
gl_rasterizer_cache: Use new logger.
2018-04-24 22:31:46 -04:00
bunnei
fbb3cd110c
gl_rasterizer_cache: Add a function for finding framebuffer GPU address.
2018-04-24 22:31:46 -04:00
bunnei
bc0f1896fc
gl_rasterizer_cache: Handle compressed texture sizes.
2018-04-24 22:31:46 -04:00
bunnei
4415e00181
gl_rasterizer_cache: Update to be based on GPU addresses, not CPU addresses.
2018-04-24 22:31:45 -04:00
Lioncash
cc2e14ec2a
loader: Move old logging macros over to new fmt-capable ones
2018-04-24 20:22:32 -04:00
bunnei
10c6d89119
memory_manager: Add implement CpuToGpuAddress.
2018-04-24 17:49:20 -04:00
bunnei
239ac8abe2
memory_manager: Make GpuToCpuAddress return an optional.
2018-04-24 17:49:19 -04:00
bunnei
9e11a76e92
memory_manager: Use GPUVAdddr, not PAddr, for GPU addresses.
2018-04-24 17:40:43 -04:00
bunnei
e8c2bb24b2
Merge pull request #386 from Subv/gpu_query
...
GPU: Added asserts to our code for handling the QUERY_GET GPU command.
2018-04-24 16:13:51 -04:00
bunnei
b7953d2ebf
Merge pull request #392 from lioncash/log
...
service: Move logging macros over to the new fmt-compatible ones
2018-04-24 14:13:54 -04:00
Lioncash
d08cfb55fe
service: Move logging macros over to new fmt-compatible ones
2018-04-24 12:01:32 -04:00
Lioncash
88eb612718
vi: Move logging macros over to new fmt-compatible ones
2018-04-24 12:01:31 -04:00
Lioncash
bd9c2aa51f
time: Move logging macros over to new fmt-compatible ones
2018-04-24 12:01:31 -04:00
Lioncash
bfe49edb2a
ssl: Move logging macros over to new fmt-compatible ones
2018-04-24 12:01:31 -04:00
Lioncash
82413a6c89
spl: Move logging macros over to new fmt-compatible ones
2018-04-24 12:01:31 -04:00
Lioncash
62c69f4a1e
sockets: Move logging macros over to new fmt-compatible ones
2018-04-24 12:01:31 -04:00
Lioncash
2a3f3bf977
sm: Move logging macros over to new fmt-compatible ones
2018-04-24 12:01:31 -04:00
Lioncash
32ece18bb6
set: Move logging macros over to new fmt-compatible ones
2018-04-24 12:01:30 -04:00
Lioncash
13f9cf2bd0
pctl: Move logging macros over to new fmt-compatible ones
2018-04-24 12:01:30 -04:00
Lioncash
72b497e876
nvflinger: Move logging macros over to new fmt-compatible ones
2018-04-24 12:01:30 -04:00
Lioncash
285d8d8b7d
nvdrv: Move logging macros over to new fmt-compatible ones
2018-04-24 12:01:27 -04:00
Lioncash
022fc59dcd
ns: Move logging macros over to new fmt-compatible ones
2018-04-24 12:00:56 -04:00
Lioncash
47054327c2
nifm: Move logging macros over to new fmt-compatible ones
2018-04-24 12:00:56 -04:00
Lioncash
28b92db7fd
nfp: Move logging macros over to new fmt-compatible ones
2018-04-24 12:00:56 -04:00
Lioncash
dabfd90dfe
lm: Move logging macros over to new fmt-compatible ones
2018-04-24 12:00:56 -04:00
Lioncash
9cd7485cd7
hid: Move logging macros over to new fmt-compatible ones
2018-04-24 12:00:56 -04:00
Lioncash
8fc4003dab
friend: Move logging macros over to new fmt-compatible ones
2018-04-24 12:00:56 -04:00
Lioncash
b5b613ea29
filesystem: Move logging macros over to new fmt-compatible ones
2018-04-24 12:00:52 -04:00
Lioncash
d1b23b2b51
renderer_opengl: Silence a -Wdangling-else warning in DrawScreenTriangles()
2018-04-24 11:13:08 -04:00
Lioncash
c6a740d7c2
fatal: Move logging macros over to new fmt-compatible ones
2018-04-24 10:18:58 -04:00
Lioncash
8d32bf9a96
audio: Move logging macros over to new fmt-compatible ones
2018-04-24 10:18:09 -04:00
Lioncash
d652e41365
apm: Move logging macros over to new fmt-compatible ones
2018-04-24 10:16:03 -04:00
Lioncash
e74dbfc572
aoc: Move logging macros over to new fmt-compatible ones
2018-04-24 10:14:52 -04:00
Lioncash
5483c08b44
am: Move logging macros over to new fmt-compatible ones
2018-04-24 10:14:11 -04:00
Lioncash
f85d880ac6
acc: Move logging macros over to new fmt-compatible ones
2018-04-24 10:04:22 -04:00
mailwl
a0179e5ca5
Service/FS: implement IFileSystem::RenameFile
2018-04-24 10:56:05 +03:00
bunnei
07dc0bbf3e
Merge pull request #379 from Subv/multi_buffers
...
GPU: Support multiple enabled vertex arrays.
2018-04-24 01:09:02 -04:00
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.
2018-04-23 17:06:57 -05:00
bunnei
0214351f4f
Merge pull request #370 from Subv/sync_primitives
...
Kernel: Reworked the new kernel synchronization primitives.
2018-04-23 16:33:00 -04:00
bunnei
bf25299272
Merge pull request #384 from Subv/nvhost-remap
...
Nvdrv/nvhost-as-gpu: Implemented the ioctl REMAP command.
2018-04-23 15:23:55 -04:00
bunnei
d4f87e9af4
Merge pull request #385 from Subv/unimpl_ioctls
...
Nvdrv: Assert when receiving an unimplemented ioctl in the nv* handlers.
2018-04-23 15:22:49 -04:00
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.
2018-04-23 14:00:52 -04:00
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.
2018-04-23 11:34:50 -05:00
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.
2018-04-23 11:23:44 -05:00
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.
2018-04-23 11:21:46 -05:00
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.
2018-04-23 11:21:46 -05:00
Subv
e862c50a70
Nvdrv: Assert when receiving an unimplemented ioctl in the nv* handlers.
2018-04-23 11:13:53 -05:00
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.
2018-04-23 10:57:12 -05:00
Subv
010227e149
GPU: Implement the RGB10_A2 RenderTarget format, it will use the same format as the A2BGR10 texture format.
2018-04-23 10:50:28 -05:00
David Marcec
27650499bc
GetIUserInterface->CreateUserInterface, Added todos and stub logs. Playreport->PlayReport.
2018-04-22 19:02:18 -07:00
David
df669bc540
lioncash proposed changes
2018-04-22 00:07:55 -07:00
David Marcec
f3137d3bc1
Implemented GetIUserInterface properly, Playreport and SSL::SetInterfaceVersion. Fixed ipc issues with IAudioDevice(wrong ids)
2018-04-21 22:04:24 -07:00
Subv
c079cf4eec
GPU: Implement the A2BGR10 texture format.
2018-04-21 17:32:25 -05:00
bunnei
62937798a0
Merge pull request #377 from adityaruplaha/sdl2-fullscreen
...
SDL2: Implement fullscreen. (Original PR: citra-emu/citra#3607 )
2018-04-21 13:53:55 -04:00
adityaruplaha
f48d5e4c4c
SDL2: Implement fullscreen. (Original PR: citra-emu/citra#3607 )
2018-04-21 13:24:33 +05:30
bunnei
f8764bb5d3
Merge pull request #376 from bunnei/shader-decoder
...
Shader opcode decoding
2018-04-21 00:04:51 -04:00
bunnei
f8a037ead4
Merge pull request #375 from lioncash/header
...
opengl: Remove unnecessary header inclusions
2018-04-20 23:08:47 -04:00
bunnei
d08fd7e86d
gl_shader_decompiler: Skip RRO instruction.
2018-04-20 22:30:56 -04:00
bunnei
8b28dc55e6
gl_shader_decompiler: Cleanup error logging.
2018-04-20 22:30:56 -04:00
bunnei
e1630c4d43
shader_bytecode: Add several more instruction decodings.
2018-04-20 22:30:56 -04:00
bunnei
9f6d305eab
shader_bytecode: Decode instructions based on bit strings.
2018-04-20 22:30:56 -04:00
bunnei
8ac3a3f45e
Merge pull request #369 from Subv/shader_instr2
...
ShaderGen: Implemented fsetp/kil and predicated instruction execution.
2018-04-20 22:29:39 -04:00
bunnei
634d9ee18b
Merge pull request #374 from lioncash/noexcept
...
gl_resource_manager: Add missing noexcept specifiers to move constructors and assignment operators
2018-04-20 22:28:47 -04:00
bunnei
ba6f3e8f9f
Merge pull request #373 from lioncash/enum2
...
gl_rasterizer_cache: Make MatchFlags an enum class
2018-04-20 22:28:09 -04:00
Subv
17a0ef1e1e
ShaderGen: Implemented the KIL instruction, which is equivalent to 'discard'.
2018-04-20 21:09:34 -05:00
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.
2018-04-20 21:09:33 -05:00
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.
2018-04-20 21:09:33 -05:00
Subv
a70ed9c8ae
Kernel: Use 0x2C as default main thread priority for homebrew and lone NRO/NSOs
2018-04-20 21:04:35 -05:00
Subv
013778aa21
Qt: Update the WaitTree widget to show info about the current mutex of each thread.
2018-04-20 21:04:34 -05:00
Subv
be155f4d9d
Kernel: Remove unused ConditionVariable class.
2018-04-20 21:04:33 -05:00
Subv
5fdfbfe25a
Kernel: Remove old and unused Mutex code.
2018-04-20 21:04:32 -05:00
Subv
b18ccf9399
Kernel: Properly implemented svcWaitProcessWideKey and svcSignalProcessWideKey
...
They work in tandem with guest code to provide synchronization primitives along with svcArbitrateLock/Unlock
2018-04-20 21:04:27 -05:00
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.
2018-04-20 21:04:25 -05:00
bunnei
1723b4d8d4
Merge pull request #372 from lioncash/enum
...
resource_limit: Make ResourceTypes an enum class
2018-04-20 21:26:54 -04:00
Lioncash
eafdcc1b8a
opengl: Remove unnecessary header inclusions
2018-04-20 20:19:37 -04:00
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.
2018-04-20 20:04:00 -04:00
Lioncash
7db0b8d74f
gl_rasterizer_cache: Make MatchFlags an enum class
...
Prevents implicit conversions and scope pollution.
2018-04-20 19:50:05 -04:00
Lioncash
659a612368
core: Relocate g_service_manager to the System class
...
Converts the service manager from a global into an instance-based
variable.
2018-04-20 19:44:32 -04:00
Lioncash
bec05db746
resource_limit: Make ResourceTypes an enum class
...
Prevents enum identifiers from leaking into the surrounding scope.
2018-04-20 19:41:45 -04:00
bunnei
1df3a7710e
Merge pull request #340 from mailwl/vi-update
...
Service/VI: stub SetLayerVisibility, fix GetDisplayResolution output
2018-04-20 16:23:15 -04:00
Subv
d03fc77475
ShaderGen: Register id 255 is special and is hardcoded to return 0 (SR_ZERO).
2018-04-20 14:57:40 -05:00
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).
2018-04-20 14:57:40 -05:00
bunnei
326b044c19
Merge pull request #367 from lioncash/clamp
...
math_util: Remove the Clamp() function
2018-04-20 14:18:03 -04:00
bunnei
87f89ac82d
Merge pull request #361 from lioncash/common
...
common_types: Minor changes
2018-04-20 10:27:17 -04:00
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.
2018-04-20 10:14:13 -04:00
bunnei
b11f6f90e7
Merge pull request #360 from lioncash/namespaces
...
service: Use nested namespace specifiers where applicable
2018-04-20 09:44:40 -04:00
bunnei
4d96997447
Merge pull request #364 from lioncash/thread-local
...
common/thread: Remove unnecessary feature checking for thread_local
2018-04-20 09:43:52 -04:00
bunnei
b5c204ac6f
Merge pull request #362 from lioncash/snprintf
...
common_funcs: Remove check for VS versions that we don't even support
2018-04-20 09:43:30 -04:00
bunnei
701dd649e6
Merge pull request #363 from lioncash/array-size
...
common_funcs: Remove ARRAY_SIZE macro
2018-04-20 09:43:02 -04:00
bunnei
79c1ed80e9
Merge pull request #366 from lioncash/vec
...
vector_math: Remove AsArray() and Write() functions from Vec[2,3,4]
2018-04-20 09:42:41 -04:00
bunnei
cb267093bb
Merge pull request #365 from lioncash/codeblock
...
common: Remove code_block.h
2018-04-20 09:42:15 -04:00
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).
2018-04-19 22:58:24 -04:00
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.
2018-04-19 22:47:02 -04:00
Lioncash
b134e6afcf
common/thread: Remove unnecessary feature checking for thread_local
...
Every compiler we require already supports it.
2018-04-19 22:41:18 -04:00
Lioncash
d9e316e353
common_funcs: Remove ARRAY_SIZE macro
...
C++17 has non-member size() which we can just call where necessary.
2018-04-19 22:36:52 -04:00
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.
2018-04-19 22:28:56 -04:00
Lioncash
16ffecd8fb
common_types: Convert typedefs to using aliases
...
May as well while we're making changes to this file.
2018-04-19 22:26:35 -04:00
Lioncash
e8e5041955
common_types: Remove unnecessary check for whether or not__func__ is defined
...
VS has supported this for quite a while.
2018-04-19 22:25:19 -04:00
Lioncash
ccca5e7c28
service: Use nested namespace specifiers where applicable
...
Tidies up namespace declarations
2018-04-19 22:20:28 -04:00
bunnei
2c8afe1140
Merge pull request #357 from lioncash/guard
...
renderer_opengl: Add missing header guards
2018-04-19 22:17:25 -04:00
bunnei
2ef04f69b2
Merge pull request #358 from lioncash/explicit
...
disk_filesystem: Minor changes
2018-04-19 22:16:55 -04:00
Lioncash
3990da488b
vi: Remove redundant initializers in the constructors
2018-04-19 21:34:36 -04:00
Lioncash
80982748c8
disk_filesystem: Remove unused total_entries_in_directory member from Disk_Directory
2018-04-19 21:28:56 -04:00
Lioncash
e61a4dd485
disk_filesystem: Remove redundant initializer in Disk_Directory's constructor
2018-04-19 21:28:07 -04:00
Lioncash
b05f8ea5b5
disk_filesystem: Make constructors explicit where applicable
2018-04-19 21:27:43 -04:00
Lioncash
3841ec4200
renderer_opengl: Add missing header guards
2018-04-19 21:13:59 -04:00
bunnei
17ad56c1dc
Merge pull request #356 from lioncash/shader
...
glsl_shader_decompiler: Minor API changes to ShaderWriter
2018-04-19 21:09:25 -04:00
bunnei
f633b0c875
Merge pull request #355 from Subv/shader_instr
...
ShaderGen: Fixed TEXS overriding its own texcoords and implemented fmul32i
2018-04-19 21:09:02 -04:00
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.
2018-04-19 20:12:58 -04:00
Lioncash
412b31ad72
glsl_shader_decompiler: Add AddNewLine() function to ShaderWriter
...
Avoids constructing a std::string just to append a newline character
2018-04-19 20:09:27 -04:00
Lioncash
aa26baa3db
glsl_shader_decompiler: Add char overload for ShaderWriter's AddLine()
...
Avoids constructing a std::string just to append a character.
2018-04-19 20:04:09 -04:00
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.
2018-04-19 19:59:25 -04:00
Subv
fe84842137
ShaderGen: Implemented the fmul32i shader instruction.
2018-04-19 13:46:32 -05:00
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.
2018-04-19 13:33:17 -05:00
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
2018-04-19 12:22:26 -06:00
James Rowe
e90a12f80c
Merge pull request #352 from bunnei/fix-microprofile
...
nvflinger: Call MicroProfileFlip on NVFlinger::Compose.
2018-04-19 12:18:47 -06:00
Subv
057170928c
GPU: Add support for the DXT23 and DXT45 compressed texture formats.
2018-04-18 20:48:53 -05:00
bunnei
de18592179
nvflinger: Call MicroProfileFlip on NVFlinger::Compose.
2018-04-18 20:28:50 -04:00
bunnei
60e6e8953e
Merge pull request #351 from Subv/tex_formats
...
GPU: Implemented the B5G6R5 format.
2018-04-18 20:20:51 -04:00
Subv
2985056340
GPU: Implemented the B5G6R5 format.
2018-04-18 18:16:45 -05:00
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.
2018-04-18 16:42:40 -04:00
Subv
43d98ca8fe
GLCache: Added boilerplate code to make supporting configurable texture component types.
...
For now only the UNORM type is supported.
2018-04-18 14:17:28 -05:00
Subv
5b3fab6766
GLCache: Unify texture and framebuffer formats when converting to OpenGL.
2018-04-18 14:17:28 -05:00
Subv
b2c1672e10
GPU: Texture format 8 and framebuffer format 0xD5 are actually ABGR8.
2018-04-18 14:17:27 -05:00
Subv
48d4efbd69
GPU: Pitch textures are now supported, don't assert when encountering them.
2018-04-18 12:52:53 -05:00
Subv
a3e82e8e1f
GLCache: Take into account the texture's block height when caching and unswizzling.
2018-04-18 12:52:53 -05:00
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.
2018-04-18 12:52:52 -05:00
Subv
6b63aaa5b4
GPU: Allow using a configurable block height when unswizzling textures.
2018-04-18 12:52:51 -05:00
Subv
db5f2bfa7e
GPU/TIC: Added the pitch and block height fields to the TIC structure.
2018-04-18 11:38:39 -05:00
bunnei
c93ea96366
Merge pull request #346 from bunnei/misc-gpu-improvements
...
Misc gpu improvements
2018-04-17 22:17:07 -04:00
bunnei
71b4a3b9f6
Merge pull request #344 from bunnei/shader-decompiler-p2
...
Shader decompiler changes part 2
2018-04-17 22:10:53 -04:00
bunnei
7222d9a4c3
gl_rasterizer_cache: Add missing LOG statements.
2018-04-17 21:44:36 -04:00
bunnei
9df8e924fb
texture: Add missing formats.
2018-04-17 21:41:36 -04:00
bunnei
3ed8a1cac7
gpu: Add several framebuffer formats to RenderTargetFormat.
2018-04-17 21:40:38 -04:00
bunnei
4a8eb6745e
maxwell3d: Allow Texture2DNoMipmap as Texture2D.
2018-04-17 21:39:15 -04:00
bunnei
531c25386e
shader_bytecode: Make ctor's constexpr and explicit.
2018-04-17 21:27:07 -04:00
bunnei
174cba5c58
renderer_opengl: Implement BlendEquation and BlendFunc.
2018-04-17 18:11:48 -04:00
bunnei
e59126809c
bit_field: Remove is_pod check, add is_trivially_copyable_v.
2018-04-17 18:00:18 -04:00
bunnei
1f6fe062ca
gl_shader_decompiler: Fix warnings with MarkAsUsed.
2018-04-17 16:36:44 -04:00
bunnei
ed542a7309
gl_shader_decompiler: Cleanup logging, updating to NGLOG_*.
2018-04-17 16:36:44 -04:00
bunnei
ef2d5ab0c1
gl_shader_decompiler: Implement several MUFU subops and abs_d.
2018-04-17 16:36:43 -04:00
bunnei
59f4ff4659
gl_shader_decompiler: Fix swizzle in GetRegister.
2018-04-17 16:36:42 -04:00
bunnei
5a28dce9eb
gl_shader_decompiler: Implement FMUL/FADD/FFMA immediate instructions.
2018-04-17 16:36:42 -04:00
bunnei
8d4899d6ea
gl_shader_decompiler: Allow vertex position to be used in fragment shader.
2018-04-17 16:36:40 -04:00
bunnei
95144cc39c
gl_shader_decompiler: Implement IPA instruction.
2018-04-17 16:36:39 -04:00
bunnei
8b4443c966
gl_shader_decompiler: Add support for TEXS instruction.
2018-04-17 16:36:38 -04:00
bunnei
5ba71369ac
gl_shader_decompiler: Use fragment output color for GPR 0-3.
2018-04-17 15:25:54 -04:00
bunnei
5d529698c9
gl_shader_decompiler: Partially implement MUFU.
2018-04-17 15:25:54 -04:00
bunnei
5b9bcbf438
Merge pull request #341 from shinyquagsire23/pfs-hfs-impl
...
file_sys: Add HFS/PFS helper component
2018-04-17 14:39:20 -04:00
mailwl
5922f2c46d
Service/VI: stub SetLayerVisibility, fix GetDisplayResolution output
...
both SetLayerVisibility() functions used in Lego games, GetDisplayResolution()
fixed according switchbrew.org
2018-04-17 19:42:14 +03:00
bunnei
2b082e2710
Merge pull request #343 from Subv/tex_wrap_4
...
GPU: Implement some wrap modes
2018-04-17 12:25:24 -04:00
shinyquagsire23
de580ccdd5
file_sys: Use NGLOG
2018-04-17 09:55:29 -06:00
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
2018-04-17 11:37:43 -04:00
Subv
636ad34707
MaxwellToGL: Implemented tex wrap mode 1 (Wrap, GL_REPEAT).
2018-04-17 10:17:18 -05:00
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.
2018-04-17 10:16:50 -05:00
bunnei
77bdc49343
gl_rendering: Use NGLOG* for changed code.
2018-04-16 21:23:28 -04:00
bunnei
1a1af3fda3
gl_rasterizer: Implement indexed vertex mode.
2018-04-16 21:10:15 -04:00
shinyquagsire23
83aa38b239
file_sys: tweaks
2018-04-16 06:51:59 -06:00
shinyquagsire23
c03795300a
file_sys: Add HFS/PFS helper component
2018-04-16 04:36:25 -06:00
bunnei
44e09ba807
Merge pull request #338 from bunnei/unrequire-shared-font
...
pl_u: Use empty shared font if none is available.
2018-04-15 16:54:36 -04:00
bunnei
d6d7d0989c
Merge pull request #337 from Subv/used_buffers
...
GPU: Don't use explicit binding points when uploading the constbuffers to opengl
2018-04-15 16:30:57 -04:00
bunnei
ac628f139d
pl_u: Use empty shared font if none is available.
...
- Makes games work in lieu of shared_font.bin.
2018-04-15 16:15:34 -04:00
Subv
477aab5960
GPU: Use the same buffer names in the generated GLSL and the buffer uploading code.
2018-04-15 15:02:50 -05:00
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.
2018-04-15 14:14:57 -05:00
bunnei
b8825fbf10
Merge pull request #335 from bunnei/delete-file
...
fsp_srv: Implement DeleteFile.
2018-04-15 15:13:02 -04:00
bunnei
bddad50dd4
fsp_srv: Implement DeleteFile.
...
- Used by Binding of Isaac.
2018-04-15 13:15:18 -04:00
Subv
e128e90350
GPU: Don't use GetPointer when uploading the constbuffer data to the GPU.
2018-04-15 11:18:09 -05:00
Subv
7da47da66e
GPU: Use the buffer hints from the shader decompiler to upload only the necessary const buffers for each shader stage.
2018-04-15 11:15:54 -05:00
bunnei
73d9c494ea
shaders: Expose hints about used const buffers.
2018-04-15 11:50:10 -04:00
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.
2018-04-14 23:02:05 -05:00
Subv
1957640ea2
GPU: Allow configuring ssbos in the opengl state manager.
2018-04-14 22:54:23 -05:00
Subv
ae58e46036
GPU: Added a function to determine whether a shader stage is enabled or not.
2018-04-14 22:54:23 -05:00
bunnei
2b9a6b3281
Merge pull request #332 from bunnei/fix-total-mem-usage
...
vm_manager: Increase GetTotalMemoryUsage value.
2018-04-14 22:29:19 -04:00
bunnei
43f0f163e1
vm_manager: Increase GetTotalMemoryUsage value.
...
- Gets Binding of Isaac running.
2018-04-14 22:04:10 -04:00
bunnei
9f66cae865
Merge pull request #327 from adityaruplaha/fullscreen-fix
...
Fix the stuck in fullscreen bug
2018-04-14 21:24:36 -04:00
bunnei
778be45103
Merge pull request #331 from bunnei/fsp-flush
...
fsp_srv: Implement IFile::Flush.
2018-04-14 21:21:34 -04:00
bunnei
9cab6809f2
fsp_srv: Implement IFile::Flush.
2018-04-14 19:46:09 -04:00
bunnei
1b41b875dc
shaders: Add NumTextureSamplers const, remove unused #pragma.
2018-04-14 18:50:06 -04:00
bunnei
e6224fec27
shaders: Address PR review feedback.
2018-04-14 16:01:41 -04:00
bunnei
eabeedf6af
gl_shader_decompiler: Cleanup log statements.
2018-04-14 16:01:41 -04:00
bunnei
0d408b965b
shaders: Fix GCC and clang build issues.
2018-04-14 16:01:40 -04:00
bunnei
86135864da
gl_shader_decompiler: Implement negate, abs, etc. and lots of cleanup.
2018-04-14 16:01:40 -04:00
bunnei
7639667562
shader_bytecode: Add FSETP and KIL to GetInfo.
2018-04-14 16:01:40 -04:00
bunnei
5a47832221
shader_bytecode: Add SubOp decoding.
2018-04-14 16:01:40 -04:00
bunnei
50023bdae7
gl_shader_decompiler: Add shader stage hint.
2018-04-14 16:01:39 -04:00
bunnei
a992aac5eb
renderer_opengl: Fix Morton copy byteswap, etc.
2018-04-14 16:01:39 -04:00
adityaruplaha
958c98bdae
Fix the stuck in fullscreen bug (Original PR: citra-emu/citra#3611 )
2018-04-14 16:41:56 +05:30
bunnei
0ca8fce9d0
gl_shader_manager: Implement SetShaderSamplerBindings.
2018-04-13 23:48:30 -04:00
bunnei
beddc8afd2
gl_rasterizer: Generate shaders and upload uniforms.
2018-04-13 23:48:29 -04:00
bunnei
85d77a3d24
gl_shader_decompiler: Basic impl. for very simple vertex shaders.
...
- Tested with Puyo Puyo Tetris and Cave Story+
2018-04-13 23:48:28 -04:00
bunnei
51f37f5061
gl_shader_manager: Cleanup and consolidate uniform handling.
2018-04-13 23:48:28 -04:00
bunnei
35aca0bf1f
maxwell_3d: Make memory_manager public.
2018-04-13 23:48:27 -04:00
bunnei
33bb53571b
maxwell_3d: Fix shader_config decodings.
2018-04-13 23:48:26 -04:00
bunnei
5617831d5f
gl_rasterizer: Use shader program manager, remove test shader.
2018-04-13 23:48:26 -04:00
bunnei
459826a705
renderer_opengl: Add gl_shader_manager class.
2018-04-13 23:48:25 -04:00
bunnei
8aa21a03b3
maxwell_to_gl: Add a few types, etc.
2018-04-13 23:48:24 -04:00
bunnei
10953495c1
gl_shader_gen: Add hashable setup/config structs.
2018-04-13 23:48:23 -04:00
bunnei
2fcbb35ad2
gl_shader_util: Add missing includes.
2018-04-13 23:48:23 -04:00
bunnei
45fd7c4a37
common: Port cityhash code from Citra.
2018-04-13 23:48:22 -04:00
bunnei
da1114ca59
renderer_opengl: Use OGLProgram instead of OGLShader.
2018-04-13 23:48:21 -04:00
bunnei
4f2b2d0bc5
gl_shader_util: Grab latest upstream.
2018-04-13 23:48:21 -04:00
bunnei
dbfd106ba0
gl_resource_manager: Grab latest upstream.
2018-04-13 23:48:20 -04:00
bunnei
ed7e597b44
gl_shader_decompiler: Add skeleton code from Citra for shader analysis.
2018-04-13 23:48:20 -04:00
bunnei
4e7e0f8112
shader_bytecode: Add initial module for shader decoding.
2018-04-13 23:48:19 -04:00
bunnei
0315fe8c3d
bit_field: Make all methods constexpr.
2018-04-13 23:48:18 -04:00
bunnei
c6ab2c94d9
Merge pull request #323 from Hexagon12/stub-hid
...
Service/HID: Stubbed out GetPlayerLedPattern
2018-04-13 10:58:03 -04:00
Hexagon12
e10248f308
Fixed normal params in GetDisplayResolution
2018-04-13 17:47:01 +03:00
Hexagon12
56d2958aaf
Stubbed out GetPlayerLedPattern
2018-04-13 17:05:03 +03:00
bunnei
b7369f99ec
Merge pull request #319 from Hexagon12/service-name-fix
...
Various service name fixes - part 1
2018-04-13 00:25:32 -04:00
mailwl
39f75350bb
Service/SSL: update service according switchbrew
2018-04-11 19:17:18 +03:00
Hexagon12
cc89b7bfcb
Various fixes and clang
2018-04-11 14:48:56 +03:00
Hexagon12
a155d3b7ff
Decimal change
2018-04-10 21:21:00 +03:00
Hexagon12
88f1fe79c6
Updated pctl:a with new service names.
2018-04-10 21:03:23 +03:00
Hexagon12
177bdb94df
Updated nvmemp with new service names.
2018-04-10 20:28:15 +03:00
Hexagon12
4d1a2509df
Updated nvdrv with more service names.
2018-04-10 20:26:49 +03:00
Hexagon12
ac50d2cd60
Updated pl:u with more service names.
2018-04-10 20:23:21 +03:00
Hexagon12
2d2de1422e
Updated hid with more service names.
2018-04-10 20:17:22 +03:00
Hexagon12
9e2f30ab4a
Updated friend:u with more service names.
2018-04-10 20:02:11 +03:00
Hexagon12
be50a6ceef
Updated the unknown name
2018-04-10 20:01:33 +03:00
Hexagon12
7788178f01
Updated friend:a with more service names.
2018-04-10 20:00:36 +03:00
Hexagon12
ae5e2d07c6
Updated fsp-srv with more service names.
2018-04-10 19:30:27 +03:00
Hexagon12
ee3ca32fa3
Updated CodecCtl with more service names.
2018-04-10 18:58:14 +03:00
Hexagon12
ed2da0ef70
Updated audren with more service names.
2018-04-10 18:56:57 +03:00
Hexagon12
c0011fdacd
Updated audrec with more service names.
2018-04-10 18:53:33 +03:00
Hexagon12
a886e3bc2a
Updated audout with more service names.
2018-04-10 18:51:50 +03:00
Hexagon12
4cf4a5ecdc
Updated audin with more service names.
2018-04-10 18:47:52 +03:00
Hexagon12
c79c9755b4
Updated AOC with more service names.
2018-04-10 18:42:28 +03:00
Hexagon12
434cffa37d
Updated AppletOE with more service names.
2018-04-10 18:41:17 +03:00
Hexagon12
0cc2e7d81d
Updated AppletAE with more service names.
2018-04-10 18:39:46 +03:00
Hexagon12
84d39530cf
Updated AM with more service names.
2018-04-10 18:36:00 +03:00
mailwl
3769a80fac
Service/ACC: convert to module, add acc:aa, acc:su, acc:u1 services
2018-04-10 10:18:52 +03:00
bunnei
227bc78cbe
Merge pull request #314 from jroweboy/tegra-progress-3b
...
GPU: Bind uploaded textures when drawing (Rebased)
2018-04-07 18:46:16 -04:00
bunnei
e0fb6a188c
Merge pull request #315 from jroweboy/spelling-fix
...
Fix spelling of Initialize
2018-04-07 16:49:09 -04:00
James Rowe
222ba939f2
Prevent crash from uninitialized telemetry
2018-04-07 07:25:14 -06:00
James Rowe
f16eb90b8f
Fix spelling of Initialize
2018-04-07 07:23:21 -06:00
James Rowe
0b855f1c21
Fix clang format issues
2018-04-06 22:00:48 -06:00
Subv
dcc27d6dc1
GPU: Assert when finding a texture with a format type other than UNORM.
2018-04-06 20:44:46 -06:00
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.
2018-04-06 20:44:46 -06:00
Subv
cb3183212d
GL: Bind the textures to the shaders used for drawing.
2018-04-06 20:44:46 -06:00
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.
2018-04-06 20:44:46 -06:00
Subv
b258403f0d
GLCache: Implemented GetTextureSurface.
2018-04-06 20:44:45 -06:00
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.
2018-04-06 20:44:45 -06:00
Subv
73eaef9c05
GL: Remove remaining references to 3DS-specific pixel formats
2018-04-06 20:44:42 -06:00
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.
2018-04-06 20:40:24 -06:00
Subv
c28ed85875
GL: Create the sampler objects when starting up the GL rasterizer.
2018-04-06 20:40:24 -06:00
Subv
ca96b04a0c
GL: Ported the SamplerInfo struct from citra.
2018-04-06 20:40:24 -06:00
Subv
0171ec606b
GL: Rename PicaTexture to MaxwellTexture.
2018-04-06 20:40:24 -06:00
Subv
f73a280eeb
GL: Added functions to convert Maxwell tex filters and wrap modes to OpenGL.
2018-04-06 20:40:23 -06:00
Subv
ad1810e895
Textures: Added a helper function to know if a texture is blocklinear or pitch.
2018-04-06 20:40:23 -06:00
bunnei
37041ea12c
Merge pull request #310 from N00byKing/patch-1
...
Update multiple comments from citra to yuzu
2018-04-06 11:07:28 -04:00
N00byKing
358050cfc6
core, main.h: Abort on 32Bit ROMs ( #309 )
...
* core, main.h: Abort on 32Bit ROMs
* main.cpp: Fix Grammar
2018-04-06 11:06:32 -04:00
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
2018-04-05 22:42:09 -06:00
N00byKing
d1d7582a5b
rasterizer_interface.h: Update from citra to yuzu
2018-04-04 23:07:58 +02:00
N00byKing
1f37dd02ce
default_ini.h: Update from citra to yuzu
2018-04-04 23:05:51 +02:00
N00byKing
27dbbd8227
gl_rasterizer_cache.cpp: Update from citra to yuzu
2018-04-04 23:05:10 +02:00
N00byKing
cfc28e0c1a
gl_rasterizer_cache.h: Update from citra to yuzu
2018-04-04 23:04:24 +02:00
N00byKing
ca17f581f5
renderer_opengl.h: Update from citra to yuzu
2018-04-04 23:03:02 +02:00
bunnei
40bccd74d3
svc: Stub out SetThreadActivity, GetThreadContext.
2018-04-02 23:51:01 -04:00
bunnei
4c0cf3d5ff
audren_u: Stub out GetActiveAudioDeviceName.
2018-04-02 23:51:00 -04:00
bunnei
3d4dfefaec
audout_u: Implement GetAudioOutState.
2018-04-02 23:51:00 -04:00
bunnei
910b02d74b
nifm: GetResult does not return a data field.
2018-04-02 23:50:59 -04:00
bunnei
9d08a11c1d
vi: Implement GetDisplayResolution.
2018-04-02 23:50:59 -04:00
bunnei
99ae9dbf49
shared_memory: Remove incorrect 3ds-specific check.
2018-04-02 23:50:58 -04:00
bunnei
9eb485702f
service: Add friend:u interface.
2018-04-02 23:50:57 -04:00
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.
2018-04-03 10:31:54 +08:00
bunnei
c2e0820ac2
Merge pull request #262 from daniellimws/fmtlib-macros
...
Logging: Add fmtlib-based macros
2018-04-02 21:19:20 -04:00
bunnei
c824648db5
Merge pull request #267 from N00byKing/patch-1
...
Update Dialog from citra to yuzu
2018-04-02 18:33:52 -04:00
bunnei
6cd1482354
Merge pull request #276 from N00byKing/acctoyuzu
...
Change Telemetry Names to yuzu and remove links to citra
2018-04-02 18:30:04 -04:00
bunnei
c82a4df000
Merge pull request #304 from daniellimws/fix-openbsd
...
Fix build on OpenBSD
2018-04-02 18:27:19 -04:00
N00byKing
1aafb0f3a3
deconstructed_rom_directory.cpp: Fix Typo
2018-04-03 00:20:35 +02:00
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.
2018-04-03 02:49:58 +08:00
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.
2018-04-03 02:25:11 +08:00
bunnei
6022bc8394
Merge pull request #297 from bunnei/hid-touch-state
...
hid: Write empty touch screen state.
2018-04-02 13:05:34 -04:00
bunnei
f92594d744
Merge pull request #296 from bunnei/misc-mem-fsp-fixes
...
Fix stack region, implement FSP GetSize/SetSize, and some stubs
2018-04-02 13:05:25 -04:00
bunnei
3413f1f7ce
Merge pull request #288 from Subv/macro_interpreter
...
GPU: Implemented a gpu macro interpreter
2018-04-02 10:04:19 -04:00
Subv
11b4ab9685
GPU: Use the MacroInterpreter class to execute the GPU macros instead of HLEing them.
2018-04-01 12:07:26 -05:00
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.
2018-04-01 12:07:26 -05:00
bunnei
72b90494e7
hid: Write empty touch screen state.
2018-04-01 00:12:07 -04:00
bunnei
f4ba523992
hle_ipc, fsp_srv: Cleanup logging.
2018-03-31 23:30:00 -04:00
bunnei
b6b7d78ded
hid: Stub out GetSupportedNpadStyleSet.
2018-03-31 16:06:46 -04:00
bunnei
eef097bdc7
hle_ipc: Do not ensure write buffer size.
2018-03-31 16:06:46 -04:00
bunnei
88582b84a5
fsp_srv: Implement GetSize and SetSize.
2018-03-31 16:06:45 -04:00
bunnei
b27ab46bde
memory: Fix stack region.
2018-03-31 16:06:45 -04:00
bunnei
b3298465cf
Merge pull request #293 from N00byKing/drkthm
...
Add Dark Theme (And Theming in General + Icon Theming)
2018-03-31 00:46:18 -04:00
N00byKing
1b7dc84132
Port citra-emu/citra#3610 to yuzu
2018-03-30 17:38:34 +02:00
N00byKing
b55dc9c85e
Remove whitespaces
2018-03-30 14:18:35 +02:00
N00byKing
78e974ba68
Add Dark theme, Icon theming
...
configure_general.ui: Add UI Option for Themes
config.cpp: Save Theme Settings
2018-03-30 14:14:37 +02:00
bunnei
86095e62cc
audren_u: Stub QueryAudioDeviceSystemEvent and GetActiveChannelCount.
2018-03-29 21:23:24 -04:00
bunnei
f6893969b3
svc: Stub GetThreadCoreMask.
2018-03-29 21:23:15 -04:00
bunnei
deaf6f9e35
service: Add NFP module interface.
...
service: Initialize NFP service.
Log: Add NFP service as a log subtype.
2018-03-29 21:22:44 -04:00
Lioncash
36e60c217a
result: Check against self-assignment in ResultVal's copy assignment operator
...
Avoids doing work that doesn't need to be done.
2018-03-28 18:02:44 -04:00
bunnei
be4c7ed082
Merge pull request #286 from N00byKing/citratoyuzuagain
...
main.h: Add pragma once, remove ifndef
2018-03-27 19:57:58 -04:00
N00byKing
16b14aa7e3
main.h: Add pragma once, remove ifndef
2018-03-27 16:32:41 +02:00
bunnei
a5e9745380
Merge pull request #284 from bunnei/docked-config
...
Add config for "Docked" mode and various settings cleanup
2018-03-27 10:22:08 -04:00
N00byKing
aa0f596a6e
telemetry.h: Reword comment from citra to yuzu
2018-03-27 11:16:59 +02:00
N00byKing
98f0352728
telemetry_session.h: Reword Documentation Comment from citra to yuzu
2018-03-27 11:16:59 +02:00
N00byKing
10738588a4
Remove Links to citra Services
2018-03-27 11:16:59 +02:00
N00byKing
8004af0d05
Change Telemetry Names to yuzu
2018-03-27 11:16:59 +02:00
bunnei
1a28f4fa8c
Merge pull request #282 from N00byKing/patch-2
...
Change comments from citra to yuzu
2018-03-26 23:37:05 -04:00
bunnei
212a6ab937
settings: Remove unused CpuCore class.
2018-03-26 23:14:44 -04:00
bunnei
94f4009c3b
config: Use simplified checkbox (from Citra) for CPU JIT.
2018-03-26 23:02:37 -04:00
bunnei
5ecf152c8e
config: Rename is_docked to use_docked_mode to be consistent with other config bools.
2018-03-26 23:02:36 -04:00
bunnei
f1423fcbc1
configure_general: Cleanup naming.
2018-03-26 23:02:36 -04:00
bunnei
c97ff4460c
qt: Add config option for is_docked.
2018-03-26 23:02:35 -04:00
bunnei
12b05c719e
config: Add setting for whether the system is docked or not.
2018-03-26 23:02:35 -04:00
bunnei
5e343edc9e
renderer_opengl: Use better naming for DrawScreens and DrawSingleScreen.
2018-03-26 21:17:07 -04:00
bunnei
d8f745382b
graphics_surface: Remove superfluous cast.
2018-03-26 21:17:05 -04:00
bunnei
c33abac275
gl_rasterizer: Move code to bind framebuffer surfaces before draw to its own function.
2018-03-26 21:17:05 -04:00
bunnei
d30110348b
gl_rasterizer: Add a SyncViewport method.
2018-03-26 21:17:04 -04:00
bunnei
67bc2f5ecd
gl_rasterizer: Move PrimitiveTopology check to MaxwellToGL.
2018-03-26 21:17:03 -04:00
bunnei
666d53299c
graphics_surface: Fix merge conflicts.
2018-03-26 21:17:03 -04:00
bunnei
ac19e3d061
gl_rasterizer: Use ReadBlock instead of GetPointer for SetupVertexArray.
2018-03-26 21:17:02 -04:00
bunnei
a6cab532f8
gl_rasterizer: Normalize vertex array data as appropriate.
2018-03-26 21:17:02 -04:00
bunnei
d4fb8a887c
memory: Fix cast for ReadBlock/WriteBlock/ZeroBlock/CopyBlock.
2018-03-26 21:17:01 -04:00
bunnei
527ce12ce4
maxwel_to_gl: Fix string formatting in log statements.
2018-03-26 21:17:01 -04:00
bunnei
d89bfec5f5
rasterizer: Rename DrawTriangles to DrawArrays.
2018-03-26 21:17:00 -04:00
bunnei
1bfc0dc2db
gl_rasterizer: Use passthrough shader for SetupVertexShader.
2018-03-26 21:17:00 -04:00
bunnei
0a5832798a
renderer_opengl: Logging, etc. cleanup.
2018-03-26 21:16:59 -04:00
bunnei
7504df52fc
renderer_opengl: Remove framebuffer RasterizerFlushVirtualRegion hack.
2018-03-26 21:16:58 -04:00
bunnei
c1ccbf332f
gl_rasterizer_cache: Implement UpdatePagesCachedCount.
2018-03-26 21:16:58 -04:00
bunnei
d732142b66
memory: Add RasterizerMarkRegionCached code and cleanup.
2018-03-26 21:16:57 -04:00
bunnei
c2dbdefedf
gl_rasterizer: Implement SetupVertexArray.
2018-03-26 21:16:56 -04:00
bunnei
cd8bb6ea9b
gl_rasterizer_cache: Fix an ASSERT_MSG.
2018-03-26 21:16:56 -04:00
bunnei
4369af6b7e
maxwell_to_gl: Add module and function for decoding VertexType.
2018-03-26 21:16:55 -04:00
bunnei
3754e0fdfd
maxwell_3d: Use names that match envytools for VertexType.
2018-03-26 21:16:55 -04:00
bunnei
15925b8293
maxwell_3d: Add VertexAttribute struct and cleanup.
2018-03-26 21:16:54 -04:00
bunnei
0ee38e1363
gl_rasterizer: Use 32 texture units instead of 3.
2018-03-26 21:16:53 -04:00
bunnei
0162a2d5cb
gl_rasterizer: Implement DrawTriangles.
2018-03-26 21:16:53 -04:00
bunnei
33c0bf9dc5
Maxwell3D: Call AccelerateDrawBatch on DrawArrays.
2018-03-26 21:16:52 -04:00
bunnei
ed2134784e
gl_rasterizer: Implement AnalyzeVertexArray.
2018-03-26 21:16:52 -04:00
bunnei
8041d72a1f
gl_rasterizer_cache: MortonCopy Switch-style.
2018-03-26 21:16:51 -04:00
bunnei
170ac3f9ee
gl_rasterizer_cache: Implement GetFramebufferSurfaces.
2018-03-26 21:16:51 -04:00
bunnei
94c70693f9
maxwell: Add RenderTargetFormat enum.
2018-03-26 21:16:49 -04:00
bunnei
1a9df83535
renderer_opengl: Only draw the screen if a framebuffer is specified.
2018-03-26 21:16:49 -04:00
Subv
4697025b73
GPU: Load the sampler info (TSC) when retrieving active textures.
2018-03-26 15:46:49 -05:00
Subv
56e2013c1f
GPU: Added the TSC structure. It contains information about the sampler.
2018-03-26 15:45:05 -05:00
Subv
6afe9e0105
GPU: Added more fields to the TIC structure.
2018-03-26 15:44:20 -05:00
N00byKing
3357e8d9ba
log.h: Change comment from citra to yuzu
2018-03-26 21:52:59 +02:00
N00byKing
75da830c13
file_util.h: Update Comment from citra to yuzu
2018-03-26 21:51:04 +02:00
N00byKing
10d6b07161
yuzu.cpp: Update Link from citra to yuzu
2018-03-26 21:48:18 +02:00
N00byKing
99d86deb1f
cpu_detect.cpp: Change comment from citra to yuzu
2018-03-26 21:43:39 +02:00
bunnei
8c8da93693
Merge pull request #280 from bunnei/misc-service-fixes
...
Minor changes to VI, PL, HID, and AUDREN
2018-03-25 17:07:06 -04:00
bunnei
e9315ace9f
Merge pull request #273 from Subv/textures
...
GPU: Added code to unswizzle textures and ported the surface viewer from citra
2018-03-25 16:28:24 -04:00
N00byKing
91e67ed430
main.cpp: Replace Citra with yuzu Wiki Links
2018-03-25 11:44:04 +02:00
N00byKing
d248b90c85
main.cpp: Update Dialog from citra to yuzu
2018-03-25 11:42:46 +02:00
mailwl
692639e9b7
Service/sockets: add bsd:s, nsd:a, nsd:u services
2018-03-25 12:41:00 +03:00
bunnei
6f27edccb2
audren_u: Fix GetAudioDevice.
2018-03-25 03:24:20 -04:00
bunnei
bde3e667be
hid: Stub out SetNpadJoyAssignmentModeDual.
2018-03-25 03:24:05 -04:00
bunnei
868f7f18b9
pl_u: Add RequestLoad.
2018-03-25 03:23:52 -04:00
Subv
0ce52b1da2
GPU: Make the debug_context variable a member of the frontend instead of a global.
2018-03-24 23:35:06 -05:00
Subv
2c785bd06c
GPU: Added a function to retrieve the active textures for a shader stage.
...
TODO: A shader may not use all of these textures at the same time, shader analysis should be performed to determine which textures are actually sampled.
2018-03-24 11:31:53 -05:00
Subv
39e60cfeb1
Frontend: Updated the surface view debug widget to work with Maxwell surfaces.
2018-03-24 11:31:53 -05:00
Subv
025d111308
Frontend: Allow opening the Surface View widget in the Qt frontend.
2018-03-24 11:31:50 -05:00
Subv
1c31e2b3d2
GPU: Implement the Incoming/FinishedPrimitiveBatch debug breakpoints.
2018-03-24 11:31:50 -05:00
Subv
1ad97c75a0
GPU: Implement the MaxwellCommandLoaded/Processed debug breakpoints.
2018-03-24 11:31:50 -05:00
Subv
77fd0d47e7
Frontend: Ported the GPU breakpoints and surface viewer widgets from citra.
2018-03-24 11:31:49 -05:00
Subv
1b8d798835
GPU: Added a method to unswizzle a texture without decoding it.
...
Allow unswizzling of DXT1 textures.
2018-03-24 11:30:56 -05:00
Subv
71ebc3e90d
GPU: Preliminary work for texture decoding.
2018-03-24 11:30:56 -05:00
MerryMage
88c9608eac
arm_dynarmic: Fix timing
2018-03-24 09:02:19 +00:00
Subv
9b9de30086
GPU: Added viewport registers to Maxwell3D's reg structure.
2018-03-24 01:22:19 -05:00
bunnei
a10baacf9e
Merge pull request #265 from bunnei/tegra-progress-2
...
Tegra progress 2
2018-03-23 23:30:48 -04:00
bunnei
d561e4acc8
gl_rasterizer: Fake render in green, because it's cooler.
2018-03-23 22:27:53 -04:00
bunnei
4ed54738fc
gl_rasterizer: Log warning instead of sync'ing unimplemented funcs.
2018-03-23 22:24:16 -04:00
bunnei
a397a9e9a4
Merge pull request #255 from Subv/sd_card
...
FS: Implemented access to the SD card
2018-03-23 20:48:26 -04:00
bunnei
b7da9d5a54
gl_rasterizer_cache: Add missing include for vm_manager.
2018-03-23 16:54:20 -04:00
bunnei
0f8401906b
renderer_opengl: Only invalidate the framebuffer region, not flush.
2018-03-23 15:52:14 -04:00
bunnei
054393917e
renderer_opengl: Fixes for properly flushing & rendering the framebuffer.
2018-03-23 15:49:04 -04:00
bunnei
b5f3e7951b
memory: Fix typo in RasterizerFlushVirtualRegion.
2018-03-23 15:46:21 -04:00
bunnei
68658ce4b0
Merge pull request #268 from mailwl/ssl
...
Service/SSL: add ssl service
2018-03-23 15:30:17 -04:00
bunnei
fd0a7c0aaf
Merge pull request #270 from N00byKing/patch-2
...
Remove Option for N/3DS from default.ini
2018-03-23 15:29:35 -04:00
Subv
4c06d55a81
FS: Move the file open mode calculation to a separate function.
2018-03-23 14:27:07 -05:00
bunnei
b36b627d4d
RasterizerCacheOpenGL: FlushAll should flush full memory region.
2018-03-23 15:25:16 -04:00
bunnei
1a158dfcd6
memory: RasterizerFlushVirtualRegion should also check process image region.
2018-03-23 15:10:02 -04:00
bunnei
11047d7fd5
rasterizer: Flush and invalidate regions should be 64-bit.
2018-03-23 15:01:45 -04:00
bunnei
cdf541fb5b
renderer_opengl: Add framebuffer_transform_flags member variable.
2018-03-23 14:59:14 -04:00
bunnei
ec4e1a3685
renderer_opengl: Better handling of framebuffer transform flags.
2018-03-23 14:58:27 -04:00
N00byKing
32fd57f0c8
Remove Option for N/3DS from default.ini
2018-03-23 18:06:55 +01:00
N00byKing
5ded39f5d8
CITRA_ICON -> YUZU_ICON
2018-03-23 16:56:59 +01:00
mailwl
9ee33350de
Service/SSL: add ssl service
2018-03-23 09:32:50 +03:00
bunnei
c2c55e0811
renderer_opengl: Use accelerated framebuffer load with LoadFBToScreenInfo.
2018-03-22 23:28:37 -04:00
bunnei
e12c2cf8c6
nvdisp_disp0: Always flush and invalidate framebuffer region.
...
- Workaround for texture forwarding until we have a better place.
2018-03-22 23:18:04 -04:00
bunnei
a0b1235f82
gl_rasterizer: Implement AccelerateDisplay method from Citra.
2018-03-22 23:06:54 -04:00
bunnei
f61b9f7338
LoadGLBuffer: Use bytes_per_pixel, not bits.
2018-03-22 23:01:57 -04:00
bunnei
63d3924b5b
memory: Port RasterizerFlushVirtualRegion from Citra.
2018-03-22 22:56:41 -04:00
bunnei
6ced80bb47
gl_rasterizer_cache: LoadGLBuffer should do a morton copy.
2018-03-22 22:54:04 -04:00
bunnei
740310113b
video_core: Move MortonCopyPixels128 to utils header.
2018-03-22 22:52:40 -04:00
Valentin Vanelslande
ee5f5a2c2d
yuzu_cmd: change default cpu core to dynarmic
2018-03-22 19:44:34 -06:00
Valentin Vanelslande
47cac816f6
default_ini: change default cpu core to dynarmic
2018-03-22 19:43:59 -06:00
bunnei
8a250de987
video_core: Remove usage of PAddr and replace with VAddr.
2018-03-22 21:13:46 -04:00
bunnei
bfe45774f1
video_core: Move FramebufferInfo to FramebufferConfig in GPU.
2018-03-22 21:04:30 -04:00
bunnei
c6362543d4
gl_rasterizer: Replace a bunch of UNIMPLEMENTED with ASSERT.
2018-03-22 20:19:34 -04:00
bunnei
f707c2dac4
gl_rasterizer: Add a simple passthrough shader in lieu of shader generation.
2018-03-22 20:00:41 -04:00
bunnei
7c3a263839
gpu: Expose Maxwell3D engine.
2018-03-22 19:48:20 -04:00
bunnei
3a6604e8fa
maxwell_3d: Add some format decodings and string helper functions.
2018-03-22 19:47:28 -04:00
bunnei
656de23d93
renderer: Create rasterizer and cleanup.
2018-03-22 19:46:37 -04:00
N00byKing
8afdbf6a1f
Remove more N3DS References
2018-03-22 21:25:06 +01:00
Daniel Lim Wee Soong
8529d84f31
Remove dependency chrono
...
Earlier chrono was included but after some code changed it was no longer needed
Forgot to remove it so I'm removing it now
2018-03-22 21:53:51 +08:00
Daniel Lim Wee Soong
47f96fe13a
Change "yuzu starting..." to be logged with the new macro
...
Just as a proof that it works
2018-03-22 18:26:43 +08:00
Daniel Lim Wee Soong
3b558eebee
Logging: Create logging macros based on fmtlib
...
Add a new set of logging macros based on fmtlib
Similar but not exactly the same as https://github.com/citra-emu/citra/pull/3533
Citra currently uses a different version of fmt, which does not support FMT_VARIADIC so
make_args is used instead. On the other hand, yuzu uses fmt 4.1.0 which doesn't have make_args yet
so FMT_VARIADIC is used.
2018-03-22 18:21:29 +08:00
mailwl
95e747cd06
Service/spl: add module and services
2018-03-22 09:55:14 +03:00
bunnei
ec5ede68e7
Merge pull request #258 from Subv/gpu_attribs
...
GPU: Added vertex attrib format and triangle topology registers
2018-03-21 19:36:06 -04:00
N00byKing
34b733e70e
CMake: Set EMU_ARCH_BITS in CMakeLists.txt
2018-03-21 19:03:20 +01:00
Subv
eff3f60b73
FS: Implemented IFileSystem::CreateDirectory.
2018-03-21 09:55:59 -05:00
Subv
c450d264eb
GPU: Added vertex attribute format registers.
2018-03-21 09:26:47 -05:00
mailwl
6673ed1274
Service/vi: convert services to module
2018-03-21 13:09:40 +03:00
Subv
ae28a52277
GPU: Added registers for the number of vertices to render.
2018-03-20 23:28:06 -05:00
bunnei
0b3ab30762
Merge pull request #254 from bunnei/port-citra-renderer
...
Port Citra OpenGL rasterizer code
2018-03-20 21:37:43 -04:00
mailwl
dca7cfb9cf
Service: add fatal:u, fatal:p services
2018-03-20 16:59:02 +03:00
bunnei
6e3222363c
renderer_gl: Port boilerplate rasterizer code over from Citra.
2018-03-20 00:07:32 -04:00
bunnei
9c468e0c55
gl_shader_util: Sync latest version with Citra.
2018-03-20 00:07:31 -04:00
bunnei
d7b1ebe4a8
renderer_gl: Port over gl_shader_gen module from Citra.
2018-03-20 00:07:30 -04:00
Subv
0485ee499f
FS: Implemented IFileSystem's OpenDirectory function.
...
Note that the filter parameter is not yet implemented.
2018-03-19 23:02:30 -05:00
Subv
21bac2d7d7
FS: Added the IDirectory IPC interface and implemented its two functions.
2018-03-19 23:01:47 -05:00
Subv
6d90d99d12
FS: Implement DiskFileSystem's OpenDirectory interface.
2018-03-19 23:00:37 -05:00
Subv
e1d7b9fc2c
FS: Implement DiskFileSystem::GetEntryType for existing files/directories.
2018-03-19 22:59:38 -05:00
Subv
a9ba2c2000
FS: Updated the Directory Entry structure to match the Switch.
2018-03-19 22:58:55 -05:00
Subv
fc44261dd1
FS: Support the file Append open mode.
2018-03-19 22:57:34 -05:00
Mat M
f4700ccabf
Merge pull request #253 from Subv/rt_depth
...
GPU: Added registers for color and Z buffers.
2018-03-19 23:37:47 -04:00
bunnei
4bdb46e4c2
renderer_gl: Port over gl_shader_decompiler module from Citra.
2018-03-19 23:14:03 -04:00
bunnei
a3e10b1a72
renderer_gl: Port over gl_rasterizer_cache module from Citra.
2018-03-19 23:14:03 -04:00
bunnei
db0cfb8e8b
gl_resource_manager: Sync latest version with Citra.
2018-03-19 23:14:02 -04:00
bunnei
0e4b9cdde4
renderer_gl: Port over gl_stream_buffer module from Citra.
2018-03-19 23:14:02 -04:00
bunnei
6a0902e56d
gl_state: Sync latest version with Citra.
2018-03-19 23:13:49 -04:00
Subv
808704c78c
FS: Implement MountSdCard.
2018-03-19 21:21:49 -05:00
Subv
c4ca802b9d
FS: Added an SDMC archive factory and registered it to the SDMC archive on startup.
2018-03-19 21:17:15 -05:00
Subv
7a27a11770
GPU: Added Z buffer registers to Maxwell3D's reg structure.
2018-03-19 16:55:33 -05:00
Subv
21d9519032
GPU: Added the render target (RT) registers to Maxwell3D's reg structure.
2018-03-19 16:46:29 -05:00
N00byKing
1d8b6ad13b
Clang Fixes
2018-03-19 17:53:35 +01:00
N00byKing
d16e08454d
oops
2018-03-19 17:43:04 +01:00
N00byKing
0e72d0d826
More Warning cleanups
2018-03-19 17:27:04 +01:00
N00byKing
ef875d6a35
Clean Warnings (?)
2018-03-19 17:07:08 +01:00
Subv
dcae0c9a4f
GPU: Added the TSC registers to the Maxwell3D register structure.
2018-03-19 00:36:25 -05:00
Subv
cff7b29bba
GPU: Added the TIC registers to the Maxwell3D register structure.
2018-03-19 00:32:57 -05:00
bunnei
23a0d2d7b7
Merge pull request #193 from N00byKing/3184_2_robotic_boogaloo
...
Implement Pull #3184 from citra: core/arm: Improve timing accuracy before service calls in JIT (Rebased)
2018-03-18 22:35:47 -04:00
bunnei
2dc3a56e96
Merge pull request #250 from bunnei/buffer-dequeue-wait
...
vi: TransactParcel DequeueBuffer should wait current thread
2018-03-18 22:25:09 -04:00
bunnei
c1c92c30f9
vi: Remove DequeueBuffer and wait until next available buffer.
2018-03-18 20:56:35 -04:00
bunnei
c86af6939c
hle_ipc: Add SleepClientThread to block current thread within HLE routines.
2018-03-18 20:56:34 -04:00
bunnei
2faa83ca13
hle_ipc: Use shared_ptr instead of unique_ptr to allow copies.
2018-03-18 20:56:33 -04:00
bunnei
019f1a0cf0
hle_ipc: Remove GetPointer(..) usage with WriteToOutgoingCommandBuffer.
2018-03-18 20:56:33 -04:00
bunnei
e353b9fb3d
thread: Add THREADSTATUS_WAIT_HLE_EVENT, remove THREADSTATUS_WAIT_ARB.
2018-03-18 20:56:32 -04:00
Subv
03156d0c9a
GPU: Implement macro 0xE1A BindTextureInfoBuffer in HLE.
...
This macro simply sets the current CB_ADDRESS to the texture buffer address for the input shader stage.
2018-03-18 19:03:40 -05:00
Subv
7b6868e908
GPU: Implement the BindStorageBuffer macro method in HLE.
...
This macro binds the SSBO Info Buffer as the current ConstBuffer.
This buffer is usually bound to c0 during shader execution.
Games seem to use this macro instead of directly writing the address for some reason.
2018-03-18 16:50:42 -05:00
Subv
85d820b1b4
GPU: Handle writes to the CB_DATA method.
...
Writing to this method will cause the written value to be stored in the currently-set ConstBuffer plus CB_POS.
This method is usually used to upload uniforms or other shader-visible data.
2018-03-18 15:23:24 -05:00
Subv
a64b936cbe
GPU: Move the GPU's class constructor and destructors to a cpp file.
...
This should reduce recompile times when editing the Maxwell3D register structure.
2018-03-18 15:23:24 -05:00
Subv
aa586fa268
GPU: Store uploaded GPU macros and keep track of the number of method parameters.
2018-03-18 11:51:46 -05:00