Subv
110515404c
GPU: Implemented the A1B5G5R5 texture format (0x14)
2018-05-27 09:02:05 -05:00
David Marcec
003023a669
NvOsGetConfigU32 should return null instead of 0 for default output
2018-05-26 17:48:09 -07:00
bunnei
678ff27162
am: Stub IApplicationFunctions GetDisplayVersion.
2018-05-26 00:21:59 -04:00
bunnei
7bbda2a975
gl_shader_decompiler: Implement GetPredicateComparison GreaterEqual.
2018-05-25 23:21:29 -04:00
bunnei
502fc1c4b3
shader_bytecode: Implement other variants of FMNMX.
2018-05-25 23:18:50 -04:00
greggameplayer
4201782cea
Add & correct miscellaneous things ( #470 )
...
* add some InfoType
* correct OpenApplicationProxy cmd number
* add IDisplayController functions
* fix clang-format
* add more system languages
2018-05-25 22:31:54 -04:00
bunnei
7ed3f94905
Merge pull request #466 from mailwl/nv-timeout
...
Stub NVGPU_IOCTL_CHANNEL_SET_TIMEOUT
2018-05-25 22:31:06 -04:00
David
a89f219336
GetAudioRendererWorkBufferSize impl ( #465 )
...
* GetAudioRendererWorkBufferSize impl
Impl of GetAudioRendererWorkBufferSize based on RE, if this can be cleaned up, please contribute!
* Naming conventions
* Removed unneeded placeholder
* lioncache changes
* fixed const
* switched to Common::AlignUp
2018-05-25 22:30:02 -04:00
bunnei
68fffea7d2
Merge pull request #468 from Subv/compound_preds
...
Shader: Implemented compound predicates in the fset and fsetp instructions
2018-05-25 22:28:47 -04:00
bunnei
b5695873aa
Merge pull request #469 from Subv/channel_rebind
...
GPU: Allow command lists to rebind a channel to another engine in the middle of the command list.
2018-05-25 22:27:58 -04:00
Subv
8131e8cc3a
Shader: Implemented compound predicates in fset.
...
You can specify a predicate in the fset instruction:
Result = ((Value1 Comp Value2) OP P0) ? 1.0 : 0.0;
2018-05-24 17:39:59 -05:00
David
7787653dad
Stubbed NVGPU_GPU_IOCTL_ZBC_SET_TABLE ( #463 )
...
We have no clue on what this actually does yet so stubbing it since it's just input only should be fine for now
2018-05-24 18:36:12 -04:00
Subv
91f05992e4
GPU: Allow command lists to rebind a channel to another engine in the middle of the command list.
2018-05-24 17:32:46 -05:00
Subv
216d47b066
Shader: Implemented compound predicates in fsetp.
...
You can specify three predicates in an fsetp instruction:
P1 = (Value1 Comp Value2) OP P0;
P2 = !(Value1 Comp Value2) OP P0;
2018-05-24 17:22:36 -05:00
mailwl
2fd168729a
Stub NVGPU_IOCTL_CHANNEL_SET_TIMEOUT
...
Used in Nintendo Labo ToyCon 1&2
2018-05-24 16:49:34 +03:00
bunnei
cd93d74b16
yuzu_cmd: Fix project for latest msvc.
2018-05-23 21:51:49 -04:00
David Marcec
8ba0ecb303
Fix deadlocks caused from HID having too many layouts
...
Games such as SMO deadlock if we have more than 2 layouts
2018-05-23 16:00:25 -07:00
bunnei
8247c92a8e
Merge pull request #460 from greggameplayer/patch-6
...
Add & correct some error modules
2018-05-23 17:13:18 -04:00
bunnei
b28cea1cae
Merge pull request #459 from greggameplayer/patch-5
...
Add ioctl commands with their params and size check
2018-05-23 17:12:56 -04:00
bunnei
11597c4ab2
Merge pull request #454 from Subv/signal_processwide
...
Kernel/SVC: Signal the highest priority threads first in svcSignalProcessWideKey
2018-05-23 10:28:23 -04:00
greggameplayer
90fa34e30c
Add & correct some error modules
2018-05-23 14:22:42 +02:00
greggameplayer
bace166b2b
change some functions
...
according to the changes made previously
2018-05-23 14:09:24 +02:00
greggameplayer
7f5e8a533a
correct placement and add size check
2018-05-23 12:34:42 +02:00
greggameplayer
c4f1216df1
Add ioctl commands with their params and size check
2018-05-23 12:32:37 +02:00
David
ccfff97269
Implemented NVHOST_IOCTL_CHANNEL_GET_WAITBASE ( #440 )
...
* Implemented NVHOST_IOCTL_CHANNEL_GET_WAITBASE
struct + 4 seems to be hard coded at 0 and struct + 0 seems to be ignored?
* IocGetWaitbase -> IocChannelGetWaitbaseCommand
* Added super late fixes
2018-05-22 17:41:19 -04:00
bunnei
c19f27c0c1
Merge pull request #456 from Subv/unmap_buffer
...
Implemented nvhost-as-gpu's UnmapBuffer and nvmap's Free ioctls.
2018-05-20 23:54:50 -04:00
greggameplayer
f79c96c560
Correct audio command numbers & add or rename some functions ( #455 )
...
* Add unknown function at the number command 2
* correct audout:u commands numbers
* correct audrec:u cmd number & add Unknown function
* correct IAudioDevice command numbers
* correct codecctl cmd numbers & rename the 8 function
* correct place of unknown function & fix clang-format
2018-05-20 23:48:44 -04:00
bunnei
613a6d661e
Merge pull request #457 from Subv/mutex_waiters
...
Mutex: Do not assert when the mutex waiting threads list isn't empty on mutex release.
2018-05-20 23:44:44 -04:00
bunnei
6a1c36f801
Merge pull request #458 from Subv/fmnmx
...
Shaders: Implemented the FMNMX shader instruction.
2018-05-20 23:44:07 -04:00
bunnei
3b6d2ee8fb
Merge pull request #445 from greggameplayer/patch-2
...
Properly rename functions of Fatal Module & add ThrowFatal to this module
2018-05-20 23:42:57 -04:00
Sebastian Valle
3cad22b393
Merge pull request #453 from Subv/thread_callstack
...
Qt/WaitTree: Display the callstack for each thread in the wait tree widget
2018-05-20 20:01:08 -05:00
Sebastian Valle
0d17e04b24
Merge pull request #452 from Subv/psetp
...
ShadersDecompiler: Added decoding for the PSETP instruction.
2018-05-20 20:00:55 -05:00
Sebastian Valle
11b51bc488
Merge pull request #451 from Subv/gl_array_size
...
GLRenderer: Remove unused vertex buffer and increase the size of the stream buffer to 128 MB.
2018-05-20 20:00:40 -05:00
Subv
12d6b53e60
Shaders: Implemented the FMNMX shader instruction.
2018-05-20 17:53:06 -05:00
Subv
fe463e2a1c
Mutex: Do not assert when the mutex waiting threads list isn't empty on mutex release.
...
A thread may own multiple mutexes at the same time, and only release one of them while other threads are waiting for the other mutexes.
2018-05-20 14:41:58 -05:00
Subv
722736e4c9
GPU: Implemented the nvmap Free ioctl.
...
It releases a reference to an nvmap object
2018-05-20 14:25:57 -05:00
Subv
9abfc3df7b
GPU: Implemented nvhost-as-gpu's UnmapBuffer ioctl.
...
It removes a mapping previously created with the MapBufferEx ioctl.
2018-05-20 14:25:56 -05:00
Sebastian Valle
3125d9c69f
Merge pull request #450 from Subv/shader_link_error
...
GLRenderer: Log the shader source code when program linking fails.
2018-05-20 12:57:32 -05:00
Sebastian Valle
a8f75a0224
Merge pull request #443 from ogniK5377/ipc-500
...
Added IPC RequestWithContext & ControlWithContext
2018-05-19 17:03:30 -05:00
greggameplayer
c97505ad44
Add and correct some Error Modules ( #444 )
...
* Add and correct some Error Modules
2018-05-19 17:02:24 -05:00
Subv
e3e8902d40
Kernel/SVC: Signal the highest priority threads first in svcSignalProcessWideKey.
2018-05-19 16:58:30 -05:00
Subv
8ce8160ce3
Kernel/Threads: Reschedule the proper core when operating on that core's threads.
2018-05-19 16:57:44 -05:00
Subv
8935ca8e11
SVC: Removed unused WaitSynchronization1 function
2018-05-19 16:56:33 -05:00
Subv
5647fa35ff
Qt/WaitTree: Display the callstack for each thread in the wait tree widget.
2018-05-19 16:52:49 -05:00
Subv
062b1fb17c
ShadersDecompiler: Added decoding for the PSETP instruction.
2018-05-19 11:41:14 -05:00
Subv
1a6aabdb1f
GLRenderer: Remove unused hw_vao_enabled_attributes variable.
2018-05-19 11:36:38 -05:00
Subv
891762da58
GLRenderer: Remove unused vertex buffer and increase the size of the stream buffer to 128 MB.
...
The stream buffer is where all the vertex data is copied, some games require this to be much bigger than the 4 MB we used to have.
2018-05-19 11:36:09 -05:00
Subv
fe167421d1
GLRenderer: Log the shader source code when program linking fails.
2018-05-19 11:19:34 -05:00
greggameplayer
357c048a07
rename fatal:u functions & add ThrowFatal
2018-05-18 23:32:22 +02:00
greggameplayer
72725e1599
Properly update fatal.h void name
2018-05-18 23:30:56 +02:00
greggameplayer
63735e7339
Properly rename fatal module functions
2018-05-18 23:28:30 +02:00
David Marcec
75bd5bf8be
Added RequestWithContext & ControlWithContext
2018-05-17 14:03:52 -07:00
Hexagon12
44797f150c
Updated nfp with more service names
2018-05-13 13:08:58 +03:00
bunnei
60644b9655
Merge pull request #436 from bunnei/multi-core
...
Initial support for multi-core
2018-05-11 12:59:23 -04:00
David Marcec
3a41706e7f
More accurate GetTPCMasks impl
2018-05-10 21:01:39 -07:00
bunnei
6136866f8e
core: Add several missing docstrings.
2018-05-10 19:34:54 -04:00
bunnei
ce7d89cb0e
thread: Rename mask to affinity_masks.
2018-05-10 19:34:53 -04:00
bunnei
4b895995ab
core: Run all CPU cores separately, even in single-thread mode.
2018-05-10 19:34:53 -04:00
bunnei
d96be9b56b
thread: Support core change on ResumeFromWait and improve ChangeCore.
2018-05-10 19:34:53 -04:00
bunnei
eabfdfe4ec
scheduler: Protect scheduling functions with a global mutex.
2018-05-10 19:34:52 -04:00
bunnei
f006872017
wait_tree: Add ideal core and affinity mask.
2018-05-10 19:34:52 -04:00
bunnei
82bb8701ea
thread: Initialize ideal_core and mask members.
2018-05-10 19:34:52 -04:00
bunnei
5a5850af69
threading: Reschedule only on cores that are necessary.
2018-05-10 19:34:52 -04:00
bunnei
9e559ceb09
svc: Implement GetThreadCoreMask and SetThreadCoreMask.
2018-05-10 19:34:51 -04:00
bunnei
922b5c326e
thread: Implement ChangeCore function.
2018-05-10 19:34:50 -04:00
bunnei
7b6dd22605
svc: SignalProcessWideKey should apply to all cores.
2018-05-10 19:34:49 -04:00
bunnei
6c4f161ba2
svc: Implement GetCurrentProcessorNumber.
2018-05-10 19:34:49 -04:00
bunnei
26a22031aa
wait_tree: Show all threads on all schedulers.
2018-05-10 19:34:48 -04:00
bunnei
bbd273e7ce
core: Add a configuration setting for use_multi_core.
2018-05-10 19:34:47 -04:00
bunnei
6eacbd693d
core: Support session close with multicore.
2018-05-10 19:34:47 -04:00
bunnei
44c565aeca
core: Implement multicore support.
2018-05-10 19:34:46 -04:00
bunnei
fc8b0d9d2b
core: Create a thread for each CPU core, keep in lock-step with a barrier.
2018-05-10 19:34:46 -04:00
bunnei
0867e78c8a
core: Move common CPU core things to its own class.
2018-05-10 19:34:46 -04:00
Hexagon12
e37fc58ae6
Stubs for QLaunch ( #428 )
...
* Stubs for QLaunch
* Wiped unrelated stuff
* Addressed comment
* Dropped GetPopFromGeneralChannelEvent
2018-05-07 11:27:30 -04:00
Max Thomas
a12f45de82
hid: Tweaks, Analog Sticks ( #435 )
...
* hid: Update mouse/keyboard state
* hid: Working analog sticks
* hid: Nits
* hid: Nits
* hid: Update mystery sections
* hid: Tweaks
2018-05-07 11:06:02 -04:00
bunnei
77c9b241ce
Merge pull request #434 from lioncash/vdtor
...
memory_hook: Default virtual destructor in the cpp file
2018-05-03 15:09:14 -04:00
Lioncash
f9b42fa139
memory_hook: Default virtual destructor in the cpp file
...
Prevents creating multiple copies of the vtable in every translation unit that uses the class.
Also silences a -Wweak-vtables warning
2018-05-03 08:12:16 -04:00
Lioncash
2403aef8e9
core_timing: Don't include the log header in core timing's header
...
Avoids propagating logging macros and facilities to files that may not need them.
This also allows hiding an internal constant.
2018-05-03 08:00:15 -04:00
bunnei
618cce3172
Merge pull request #431 from lioncash/fmt
...
general: Make formatting of logged hex values more straightforward
2018-05-02 15:24:41 -04:00
bunnei
7d3a42dccd
Merge pull request #430 from lioncash/vec
...
vector_math: Ensure members are always initialized
2018-05-02 09:55:32 -04:00
Lioncash
1b310cbb3a
general: Make formatting of logged hex values more straightforward
...
This makes the formatting expectations more obvious (e.g. any zero padding specified
is padding that's entirely dedicated to the value being printed, not any pretty-printing
that also gets tacked on).
2018-05-02 09:49:36 -04:00
bunnei
5e4d01f80c
ipc: Add support for PopIpcInterface() method.
...
- This can be used for domain objects as inputs to service functions.
2018-05-01 21:57:44 -04:00
Lioncash
7bee2c9d13
vector_math: Ensure members are always initialized
...
Ensures that values are always in a well-defined state.
2018-05-01 21:25:25 -04:00
bunnei
6314eaaa8c
Merge pull request #429 from Subv/ioctl_corruption
...
GPU: Don't write to invalid memory locations when handling ioctls that don't have an output.
2018-05-01 16:28:54 -04:00
David
3a3b58df8b
GetSharedFontInOrderOfPriority ( #381 )
...
* GetSharedFontInOrderOfPriority
* Update pl_u.cpp
* Ability to use ReadBuffer and WriteBuffer with different buffer indexes, fixed up GetSharedFontInOrderOfPriority
* switched to NGLOG
* Update pl_u.cpp
* Update pl_u.cpp
* language_code is actually language code and not index
* u32->u64
* final cleanups
2018-05-01 16:28:36 -04:00
Subv
a16f48e0d7
GPU: Don't write to invalid memory locations when handling ioctls that don't have an output.
2018-05-01 14:54:15 -05:00
Lioncash
3873211738
core_timing: Namespace all functions and constants in core_timing's header
...
All of these variables and functions are related to timings and should be within the namespace.
2018-04-30 03:32:59 -04:00
bunnei
2c2d114a15
Merge pull request #424 from lioncash/string
...
string_util: Remove StringFromFormat() and related functions
2018-04-29 21:49:13 -04:00
bunnei
37b67d8161
Merge pull request #422 from bunnei/shader-mov
...
Shader instructions MOV_C, MOV_R, and several minor GPU things
2018-04-29 21:47:42 -04:00
Lioncash
d1e3e0eb42
string_util: Remove StringFromFormat() and related functions
...
Given we utilize fmt, we don't need to provide our own functions for formatting anymore
2018-04-29 18:52:33 -04:00
Lioncash
22b7e4fcf6
file_util: Make move constructor/assignment operator and related functions noexcept
...
Without this, it's possible to get compilation failures in the (rare) scenario where
a container is used to store a bunch of live IOFile instances, as they may be using
std::move_if_noexcept under the hood. Given these definitely don't throw exceptions
this is also not incorrect to add either.
2018-04-29 18:34:09 -04:00
Lioncash
1c77c732e6
file_util: Add static assertions to ReadBytes() and WriteBytes()
...
Ensure that the actual types being passed in are trivially copyable. The internal
call to ReadArray() and WriteArray() will always succeed, since they're passed a pointer to char*
which is always trivially copyable.
2018-04-29 18:24:12 -04:00
bunnei
fc0fcbe9cc
maxwell_3d: Reset vertex counts after drawing.
2018-04-29 16:23:31 -04:00
bunnei
abb893aefe
gl_shader_decompiler: Implement MOV_R.
2018-04-29 16:05:18 -04:00
bunnei
d01e76720d
maxwell_to_gl: Implement type SignedNorm, Size_8_8_8_8.
2018-04-29 16:05:17 -04:00
bunnei
1bd065fb8e
shader_bytecode: Add decoding for FMNMX instruction.
2018-04-29 16:05:17 -04:00
Subv
87389ce295
Shaders: Implemented predicate condition 3 (LessEqual) in the fset and fsetp instructions.
2018-04-29 12:49:41 -05:00
bunnei
0ee1a0e698
gl_shader_decompiler: Implement MOV_C.
2018-04-29 13:13:13 -04:00
bunnei
91e7d1deb2
Merge pull request #416 from bunnei/shader-ints-p3
...
gl_shader_decompiler: Implement MOV32I, partially implement I2I, I2F
2018-04-29 12:56:16 -04:00
bunnei
ef8fed3d3a
Merge pull request #417 from bunnei/lang-codes
...
set/am: Fix code for getting language codes
2018-04-29 12:55:43 -04:00
bunnei
5f2d36726c
am: Fix GetDesiredLanguage implementation.
2018-04-29 11:07:07 -04:00
bunnei
dea2d271a9
set: Fix GetAvailableLanguageCodes implementation.
2018-04-29 11:07:06 -04:00
bunnei
f2da134385
fermi_2d: Fix surface copy block height.
2018-04-28 20:40:03 -04:00
bunnei
aaa3d91e7c
gl_shader_decompiler: Partially implement I2I_R, and I2F_R.
2018-04-28 20:03:19 -04:00
bunnei
327e24bb8f
gl_shader_decompiler: More cleanups, etc. with how we handle register types.
2018-04-28 20:03:19 -04:00
bunnei
543d4a680f
GLSLRegister: Simplify register declarations, etc.
2018-04-28 20:03:19 -04:00
bunnei
8c6970d20d
shader_bytecode: Add decodings for i2i instructions.
2018-04-28 20:03:18 -04:00
bunnei
f252169fa6
gl_shader_decompiler: Implement MOV32_IMM instruction.
2018-04-28 20:03:18 -04:00
Lioncash
5155b90870
file_util: Remove compiler version checks around is_trivially_copyable()
...
The minimum clang/GCC versions we support already support this. We can also
remove is_standard_layout(), as fread and fwrite only require the type to be
trivially copyable.
2018-04-28 15:31:23 -04:00
Lioncash
ea0bac3599
log: Remove old logging macros and functions
...
Now that the old macros are no longer used, we can remove all functionality related to them.
2018-04-27 16:18:34 -04:00
bunnei
87617c3eb8
Merge pull request #408 from bunnei/shader-ints-p2
...
gl_shader_decompiler: Add GLSLRegisterManager class to track register state.
2018-04-27 16:06:09 -04:00
Lioncash
cfd0e7f2d9
renderer_opengl: Replace usages of LOG_GENERIC with fmt-capable equivalents
2018-04-27 12:09:35 -04:00
Lioncash
44d2f427d4
core: Replace usages of LOG_GENERIC with new fmt-capable equivalents
2018-04-27 11:57:52 -04:00
bunnei
2dbd239ed5
gl_shader_decompiler: Add GLSLRegisterManager class to track register state.
2018-04-27 11:49:26 -04:00
Lioncash
324ee31fc3
general: Convert assertion macros over to be fmt-compatible
2018-04-27 10:04:02 -04:00
bunnei
327fd2c31e
Merge pull request #380 from ogniK5377/service-impl
...
Implemented some useful interfaces needed for games.
2018-04-27 00:49:40 -04:00
David Marcec
2810310018
Switched to NGLOG_WARNING
2018-04-26 20:03:12 -07:00
bunnei
f838e665b8
Merge pull request #406 from lioncash/frontend
...
frontends: Move logging macros over to new fmt-capable ones
2018-04-26 22:53:42 -04:00
bunnei
a5f551ff76
Merge pull request #407 from lioncash/common
...
common: Move logging macros over to new fmt-capable macros where applicable
2018-04-26 22:53:14 -04:00
Lioncash
f4cc29c07c
common: Move logging macros over to new fmt-capable macros where applicable
2018-04-26 20:09:58 -04:00
Lioncash
ef3129bf7a
frontends: Move logging macros over to new fmt-capable ones
2018-04-26 19:14:48 -04:00
Lioncash
db4f7293fd
input_common: Move old logging macros over to fmt-capable ones
2018-04-26 19:09:25 -04:00
bunnei
dbf7f53899
Merge pull request #402 from lioncash/core
...
core: Replace remaining old non-generic logger usages with fmt-capable equivalents
2018-04-26 18:45:10 -04:00
bunnei
7fd3730e5a
Merge pull request #399 from bunnei/shader-ints
...
Shader decompiler prep for integer instructions
2018-04-26 18:43:51 -04:00
David Marcec
a210abc3c1
Merge branch 'master' of https://github.com/yuzu-emu/yuzu into service-impl
2018-04-26 14:28:54 -07:00
David Marcec
6f6cac9366
Added PREPO to logging backend, Removed comments from SaveReportWithUser
2018-04-26 14:19:34 -07:00
Lioncash
0a1e044322
core: Replace remaining old non-generic logger usages with fmt-capable equivalents
...
LOG_GENERIC usages will be amended in a follow-up to keep API changes separate from
interface changes, as it will require removing a parameter from the relevant function
in the VMManager class.
2018-04-26 15:37:16 -04:00
Lioncash
67e3bb3e87
common: Remove chunk_file.h and linear_disk_cache.h
...
These are unused (and given chunk_file references Dolphin's >SVN< I doubt they were going to be used).
2018-04-26 14:59:32 -04:00
bunnei
8e661859a8
gl_shader_decompiler: Boilerplate for handling integer instructions.
2018-04-26 14:38:42 -04:00
bunnei
02771faf4e
gl_shader_decompiler: Move color output to EXIT instruction.
2018-04-26 14:38:41 -04:00
Lioncash
6d0f299ed9
core/gdbstub: Move logging macros to new fmt-compatible ones
2018-04-26 12:04:50 -04:00
Lioncash
ca674a999b
core/hw: Move logging macros over to fmt-capable ones
2018-04-26 09:32:45 -04:00
bunnei
3de43829ee
Merge pull request #396 from Subv/shader_ops
...
Shaders: Implemented the FSET instruction.
2018-04-25 22:42:54 -04:00
bunnei
903505ed5f
Merge pull request #398 from lioncash/kernel
...
kernel: Migrate logging macros to fmt-compatible ones
2018-04-25 22:42:34 -04:00
bunnei
9176319a5c
Merge pull request #387 from Subv/maxwell_2d
...
GPU: Partially implemented the 2D surface copy engine
2018-04-25 20:40:17 -04:00
bunnei
d64b6bca07
Merge pull request #395 from lioncash/file-sys
...
file-sys: Move logging macros over to the new fmt-capable ones
2018-04-25 20:39:08 -04:00
Lioncash
871e6c0041
kernel/shared_memory: Remove unnecessary semicolon at end of ConvertPermissions()
...
Functions don't need to be terminated by semicolons.
2018-04-25 20:32:16 -04:00
Lioncash
bd9414dd31
kernel: Migrate logging macros to fmt-compatible ones
2018-04-25 20:32:09 -04:00
bunnei
50a4a480f0
Merge pull request #390 from mailwl/pctl-module
...
Service/PCTL: convert to module, add services, stub
2018-04-25 15:51:43 -04:00
bunnei
baca4ecfa1
Merge pull request #397 from lioncash/core
...
core/memory: Move logging macros over to the new fmt-capable ones
2018-04-25 15:25:03 -04:00
Subv
0c04a308d1
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.
2018-04-25 12:54:26 -05:00
Subv
1755d4bec3
Shaders: Added bit decodings for the I2I instruction.
2018-04-25 12:52:55 -05:00
Subv
e02112db16
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.
2018-04-25 12:52:32 -05:00
Subv
6418127891
Memory: Added a missing shortcut for Memory::CopyBlock for the current process.
2018-04-25 11:55:30 -05:00
Subv
634620b502
GPU: Make the Textures::CopySwizzledData function accessible from the outside of the file.
2018-04-25 11:55:30 -05:00
Subv
284aad1420
GPU: Added a function to retrieve the bytes per pixel of the render target formats.
2018-04-25 11:55:29 -05:00
Subv
bbb15541aa
GPU: Added surface copy registers to Fermi2D
2018-04-25 11:55:29 -05:00
Subv
b0b75e7ae4
GPU: Added boilerplate code for the Fermi2D engine
2018-04-25 11:55:29 -05:00
Subv
94d0d499c3
GPU: Reduce the number of registers of Maxwell3D to 0xE00.
...
The rest are just macro shim registers.
2018-04-25 11:55:28 -05:00
Subv
219b5d34e7
GPU: Move the Maxwell3D macro uploading code to the inside of the Maxwell3D processor.
...
It doesn't belong in the PFIFO handler.
2018-04-25 11:55:27 -05:00
Subv
f42b93399f
GPU: Corrected the upper bound of the PFIFO method ids in the command processor.
2018-04-25 11:53:54 -05:00
Lioncash
1cd301f2c0
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.
2018-04-25 12:35:37 -04:00
Lioncash
a1dc050bbf
file-sys: Move logging macros over to the new fmt-capable ones
2018-04-25 12:35:33 -04:00
Lioncash
796b5c727d
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.
2018-04-25 12:17:26 -04:00
Lioncash
62e427d98f
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.
2018-04-25 12:16:33 -04:00
Lioncash
f5bd2617a8
video-core: Move logging macros over to new fmt-capable ones
2018-04-25 09:13:57 -04:00
mailwl
cf607e7fca
Service/PCTL: convert to module, add services, stub
...
PCTL::CreateServiceWithoutInitialize and IParentalControlService::Initialize, required by Kirby Star Allies
2018-04-25 09:02:27 +03:00
Subv
74c89df1c8
Shaders: Added decodings for the FSET instructions.
2018-04-24 22:42:54 -05:00
bunnei
9add4dba81
Merge pull request #388 from bunnei/refactor-rasterizer-cache
...
Refactor rasterizer cache
2018-04-24 23:22:24 -04:00
bunnei
bfb435c994
renderer_opengl: Use correct byte order for framebuffer pixel format ABGR8.
2018-04-24 22:31:46 -04:00
bunnei
1f14d07952
gl_rasterizer_cache: Use CHAR_BIT for bpp conversions instead of 8.
2018-04-24 22:31:46 -04:00
bunnei
931c447c84
gl_rasterizer_cache: Use GPU PAGE_BITS/SIZE, not CPU.
2018-04-24 22:31:46 -04:00
bunnei
4713ba7d9c
gl_rasterizer_cache: Use new logger.
2018-04-24 22:31:46 -04:00
bunnei
197ea35d95
gl_rasterizer_cache: Add a function for finding framebuffer GPU address.
2018-04-24 22:31:46 -04:00
bunnei
640c943d34
gl_rasterizer_cache: Handle compressed texture sizes.
2018-04-24 22:31:46 -04:00
bunnei
31748079de
gl_rasterizer_cache: Update to be based on GPU addresses, not CPU addresses.
2018-04-24 22:31:45 -04:00
Lioncash
ff63e4d3fc
loader: Move old logging macros over to new fmt-capable ones
2018-04-24 20:22:32 -04:00
bunnei
995cbfc15f
memory_manager: Add implement CpuToGpuAddress.
2018-04-24 17:49:20 -04:00
bunnei
b6bed8fd74
memory_manager: Make GpuToCpuAddress return an optional.
2018-04-24 17:49:19 -04:00
bunnei
ebef12f037
memory_manager: Use GPUVAdddr, not PAddr, for GPU addresses.
2018-04-24 17:40:43 -04:00
bunnei
dcd72b36ca
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
2dd49a5bb2
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
b736a731c0
service: Move logging macros over to new fmt-compatible ones
2018-04-24 12:01:32 -04:00
Lioncash
448c7ad796
vi: Move logging macros over to new fmt-compatible ones
2018-04-24 12:01:31 -04:00
Lioncash
7505ea2612
time: Move logging macros over to new fmt-compatible ones
2018-04-24 12:01:31 -04:00
Lioncash
5077580ee7
ssl: Move logging macros over to new fmt-compatible ones
2018-04-24 12:01:31 -04:00
Lioncash
418cb174a9
spl: Move logging macros over to new fmt-compatible ones
2018-04-24 12:01:31 -04:00
Lioncash
e70f5cb603
sockets: Move logging macros over to new fmt-compatible ones
2018-04-24 12:01:31 -04:00
Lioncash
3cac963a7d
sm: Move logging macros over to new fmt-compatible ones
2018-04-24 12:01:31 -04:00
Lioncash
f8fa781c10
set: Move logging macros over to new fmt-compatible ones
2018-04-24 12:01:30 -04:00
Lioncash
e39e914cd0
pctl: Move logging macros over to new fmt-compatible ones
2018-04-24 12:01:30 -04:00
Lioncash
38f90ec51a
nvflinger: Move logging macros over to new fmt-compatible ones
2018-04-24 12:01:30 -04:00
Lioncash
7303c11edc
nvdrv: Move logging macros over to new fmt-compatible ones
2018-04-24 12:01:27 -04:00
Lioncash
accaa498ad
ns: Move logging macros over to new fmt-compatible ones
2018-04-24 12:00:56 -04:00
Lioncash
3fdc96e690
nifm: Move logging macros over to new fmt-compatible ones
2018-04-24 12:00:56 -04:00
Lioncash
60efd72a51
nfp: Move logging macros over to new fmt-compatible ones
2018-04-24 12:00:56 -04:00
Lioncash
afe7828f4b
lm: Move logging macros over to new fmt-compatible ones
2018-04-24 12:00:56 -04:00
Lioncash
0cbbb1c130
hid: Move logging macros over to new fmt-compatible ones
2018-04-24 12:00:56 -04:00
Lioncash
8b8125ba51
friend: Move logging macros over to new fmt-compatible ones
2018-04-24 12:00:56 -04:00
Lioncash
7995e92e19
filesystem: Move logging macros over to new fmt-compatible ones
2018-04-24 12:00:52 -04:00
Lioncash
f6b2c3485b
renderer_opengl: Silence a -Wdangling-else warning in DrawScreenTriangles()
2018-04-24 11:13:08 -04:00
Lioncash
f9bdeea787
fatal: Move logging macros over to new fmt-compatible ones
2018-04-24 10:18:58 -04:00
Lioncash
fcda46cec0
audio: Move logging macros over to new fmt-compatible ones
2018-04-24 10:18:09 -04:00
Lioncash
4e32d65b32
apm: Move logging macros over to new fmt-compatible ones
2018-04-24 10:16:03 -04:00
Lioncash
5052b17f84
aoc: Move logging macros over to new fmt-compatible ones
2018-04-24 10:14:52 -04:00
Lioncash
ee02a551c5
am: Move logging macros over to new fmt-compatible ones
2018-04-24 10:14:11 -04:00
Lioncash
d1ef0f83d7
acc: Move logging macros over to new fmt-compatible ones
2018-04-24 10:04:22 -04:00
mailwl
8fffc0962c
Service/FS: implement IFileSystem::RenameFile
2018-04-24 10:56:05 +03:00
bunnei
efe7989c16
Merge pull request #379 from Subv/multi_buffers
...
GPU: Support multiple enabled vertex arrays.
2018-04-24 01:09:02 -04:00
Subv
1eca798d8b
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
5ff201a288
Merge pull request #370 from Subv/sync_primitives
...
Kernel: Reworked the new kernel synchronization primitives.
2018-04-23 16:33:00 -04:00
bunnei
ac7b1f4aed
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
65d0d7ea69
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
dc5549a9b1
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
6be45c562f
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
329bec6dbd
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
e56ef284bb
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
c4131e271f
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
3c2b29e5c2
Nvdrv: Assert when receiving an unimplemented ioctl in the nv* handlers.
2018-04-23 11:13:53 -05:00
Subv
fbc480d611
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
fa6edc4412
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
9591689dbc
GetIUserInterface->CreateUserInterface, Added todos and stub logs. Playreport->PlayReport.
2018-04-22 19:02:18 -07:00
David
471eafc162
lioncash proposed changes
2018-04-22 00:07:55 -07:00
David Marcec
48334d0d6a
Implemented GetIUserInterface properly, Playreport and SSL::SetInterfaceVersion. Fixed ipc issues with IAudioDevice(wrong ids)
2018-04-21 22:04:24 -07:00
Subv
abd66a9a33
GPU: Implement the A2BGR10 texture format.
2018-04-21 17:32:25 -05:00
bunnei
0aae96830a
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
cd2aeb1046
SDL2: Implement fullscreen. (Original PR: citra-emu/citra#3607 )
2018-04-21 13:24:33 +05:30
bunnei
1fe68fa427
Merge pull request #376 from bunnei/shader-decoder
...
Shader opcode decoding
2018-04-21 00:04:51 -04:00
bunnei
83ea05b814
Merge pull request #375 from lioncash/header
...
opengl: Remove unnecessary header inclusions
2018-04-20 23:08:47 -04:00
bunnei
ff1700e261
gl_shader_decompiler: Skip RRO instruction.
2018-04-20 22:30:56 -04:00
bunnei
54fbbc6f26
gl_shader_decompiler: Cleanup error logging.
2018-04-20 22:30:56 -04:00
bunnei
f66098bd37
shader_bytecode: Add several more instruction decodings.
2018-04-20 22:30:56 -04:00
bunnei
d2302ee79f
shader_bytecode: Decode instructions based on bit strings.
2018-04-20 22:30:56 -04:00
bunnei
806b2133e4
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
b29507b551
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
b79cec4040
Merge pull request #373 from lioncash/enum2
...
gl_rasterizer_cache: Make MatchFlags an enum class
2018-04-20 22:28:09 -04:00
Subv
79e7bb8896
ShaderGen: Implemented the KIL instruction, which is equivalent to 'discard'.
2018-04-20 21:09:34 -05:00
Subv
2fbb91a6b6
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
31de416fc0
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
4be07d1090
Kernel: Use 0x2C as default main thread priority for homebrew and lone NRO/NSOs
2018-04-20 21:04:35 -05:00
Subv
106d31e8c3
Qt: Update the WaitTree widget to show info about the current mutex of each thread.
2018-04-20 21:04:34 -05:00
Subv
f5a2b1920b
Kernel: Remove unused ConditionVariable class.
2018-04-20 21:04:33 -05:00
Subv
e499b48f97
Kernel: Remove old and unused Mutex code.
2018-04-20 21:04:32 -05:00
Subv
fcd7cbe65a
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
4e47dd5b59
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
4a972207d6
Merge pull request #372 from lioncash/enum
...
resource_limit: Make ResourceTypes an enum class
2018-04-20 21:26:54 -04:00
Lioncash
c3ade6d56d
opengl: Remove unnecessary header inclusions
2018-04-20 20:19:37 -04:00
Lioncash
3768508edf
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
f7eb0e8f1b
gl_rasterizer_cache: Make MatchFlags an enum class
...
Prevents implicit conversions and scope pollution.
2018-04-20 19:50:05 -04:00
Lioncash
4bd499d440
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
5860b9f4ce
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
18e541f7e2
Merge pull request #340 from mailwl/vi-update
...
Service/VI: stub SetLayerVisibility, fix GetDisplayResolution output
2018-04-20 16:23:15 -04:00
Subv
601c5d9d93
ShaderGen: Register id 255 is special and is hardcoded to return 0 (SR_ZERO).
2018-04-20 14:57:40 -05:00
Subv
8b8f55d8be
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
c2adb07b55
Merge pull request #367 from lioncash/clamp
...
math_util: Remove the Clamp() function
2018-04-20 14:18:03 -04:00
bunnei
c5438e898e
Merge pull request #361 from lioncash/common
...
common_types: Minor changes
2018-04-20 10:27:17 -04:00
Lioncash
043546e4db
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
c3236a3a37
Merge pull request #360 from lioncash/namespaces
...
service: Use nested namespace specifiers where applicable
2018-04-20 09:44:40 -04:00
bunnei
7108f2c331
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
d7a69c96e4
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
e325ef7f09
Merge pull request #363 from lioncash/array-size
...
common_funcs: Remove ARRAY_SIZE macro
2018-04-20 09:43:02 -04:00
bunnei
e0681a4da5
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
684f6619e5
Merge pull request #365 from lioncash/codeblock
...
common: Remove code_block.h
2018-04-20 09:42:15 -04:00
Lioncash
bd4e50afb9
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
4e99ac0553
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
9d21769d88
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
c9f5ae4fcc
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
4b0e4421f4
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
0f07311af3
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
ad470a1478
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
6d94dd21a5
service: Use nested namespace specifiers where applicable
...
Tidies up namespace declarations
2018-04-19 22:20:28 -04:00
bunnei
c15d6f84c0
Merge pull request #357 from lioncash/guard
...
renderer_opengl: Add missing header guards
2018-04-19 22:17:25 -04:00
bunnei
be3ab93feb
Merge pull request #358 from lioncash/explicit
...
disk_filesystem: Minor changes
2018-04-19 22:16:55 -04:00
Lioncash
59a504d933
vi: Remove redundant initializers in the constructors
2018-04-19 21:34:36 -04:00
Lioncash
5b8891df28
disk_filesystem: Remove unused total_entries_in_directory member from Disk_Directory
2018-04-19 21:28:56 -04:00
Lioncash
eb2bb5500e
disk_filesystem: Remove redundant initializer in Disk_Directory's constructor
2018-04-19 21:28:07 -04:00
Lioncash
19fe9a92ec
disk_filesystem: Make constructors explicit where applicable
2018-04-19 21:27:43 -04:00
Lioncash
8594945844
renderer_opengl: Add missing header guards
2018-04-19 21:13:59 -04:00
bunnei
fd50308f39
Merge pull request #356 from lioncash/shader
...
glsl_shader_decompiler: Minor API changes to ShaderWriter
2018-04-19 21:09:25 -04:00
bunnei
c0e412d97c
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
2259f5d56b
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
55fef54f2e
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
5a3da4f1a1
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
21fa39b4f6
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
4ca65f10b1
ShaderGen: Implemented the fmul32i shader instruction.
2018-04-19 13:46:32 -05:00
Subv
887db586be
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
f2001a33cc
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
60024d54b0
Merge pull request #352 from bunnei/fix-microprofile
...
nvflinger: Call MicroProfileFlip on NVFlinger::Compose.
2018-04-19 12:18:47 -06:00
Subv
37f782e1b7
GPU: Add support for the DXT23 and DXT45 compressed texture formats.
2018-04-18 20:48:53 -05:00
bunnei
b17664dfa9
nvflinger: Call MicroProfileFlip on NVFlinger::Compose.
2018-04-18 20:28:50 -04:00
bunnei
0cdd457b01
Merge pull request #351 from Subv/tex_formats
...
GPU: Implemented the B5G6R5 format.
2018-04-18 20:20:51 -04:00
Subv
e9f62cb1bb
GPU: Implemented the B5G6R5 format.
2018-04-18 18:16:45 -05:00
bunnei
e8cc5900a6
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
d98275cde1
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
e6991c57e5
GLCache: Unify texture and framebuffer formats when converting to OpenGL.
2018-04-18 14:17:28 -05:00
Subv
d088a95097
GPU: Texture format 8 and framebuffer format 0xD5 are actually ABGR8.
2018-04-18 14:17:27 -05:00
Subv
19a0e7e141
GPU: Pitch textures are now supported, don't assert when encountering them.
2018-04-18 12:52:53 -05:00
Subv
fecaeb8ae6
GLCache: Take into account the texture's block height when caching and unswizzling.
2018-04-18 12:52:53 -05:00
Subv
19e0d8ca24
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
102251cb37
GPU: Allow using a configurable block height when unswizzling textures.
2018-04-18 12:52:51 -05:00
Subv
67c9964675
GPU/TIC: Added the pitch and block height fields to the TIC structure.
2018-04-18 11:38:39 -05:00
bunnei
b651578582
Merge pull request #346 from bunnei/misc-gpu-improvements
...
Misc gpu improvements
2018-04-17 22:17:07 -04:00
bunnei
0a119bf39b
Merge pull request #344 from bunnei/shader-decompiler-p2
...
Shader decompiler changes part 2
2018-04-17 22:10:53 -04:00
bunnei
ed447c8786
gl_rasterizer_cache: Add missing LOG statements.
2018-04-17 21:44:36 -04:00
bunnei
d4dcd3e720
texture: Add missing formats.
2018-04-17 21:41:36 -04:00
bunnei
848ade06d5
gpu: Add several framebuffer formats to RenderTargetFormat.
2018-04-17 21:40:38 -04:00
bunnei
de84b74dd4
maxwell3d: Allow Texture2DNoMipmap as Texture2D.
2018-04-17 21:39:15 -04:00
bunnei
797267eb58
shader_bytecode: Make ctor's constexpr and explicit.
2018-04-17 21:27:07 -04:00
bunnei
4d9c441bef
renderer_opengl: Implement BlendEquation and BlendFunc.
2018-04-17 18:11:48 -04:00
bunnei
33a0dddf78
bit_field: Remove is_pod check, add is_trivially_copyable_v.
2018-04-17 18:00:18 -04:00
bunnei
48ab22ff76
gl_shader_decompiler: Fix warnings with MarkAsUsed.
2018-04-17 16:36:44 -04:00
bunnei
7ad31d2667
gl_shader_decompiler: Cleanup logging, updating to NGLOG_*.
2018-04-17 16:36:44 -04:00
bunnei
29ab89054d
gl_shader_decompiler: Implement several MUFU subops and abs_d.
2018-04-17 16:36:43 -04:00
bunnei
93388e3c6b
gl_shader_decompiler: Fix swizzle in GetRegister.
2018-04-17 16:36:42 -04:00
bunnei
c1408040a6
gl_shader_decompiler: Implement FMUL/FADD/FFMA immediate instructions.
2018-04-17 16:36:42 -04:00
bunnei
dbf1fb7e61
gl_shader_decompiler: Allow vertex position to be used in fragment shader.
2018-04-17 16:36:40 -04:00
bunnei
7fe43996de
gl_shader_decompiler: Implement IPA instruction.
2018-04-17 16:36:39 -04:00
bunnei
05305422e1
gl_shader_decompiler: Add support for TEXS instruction.
2018-04-17 16:36:38 -04:00
bunnei
69f5eadc2b
gl_shader_decompiler: Use fragment output color for GPR 0-3.
2018-04-17 15:25:54 -04:00
bunnei
fdca99c4fb
gl_shader_decompiler: Partially implement MUFU.
2018-04-17 15:25:54 -04:00
bunnei
0f02c41f18
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
59077b7d07
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
09122ee37d
Merge pull request #343 from Subv/tex_wrap_4
...
GPU: Implement some wrap modes
2018-04-17 12:25:24 -04:00
shinyquagsire23
5634f49b60
file_sys: Use NGLOG
2018-04-17 09:55:29 -06:00
Hexagon12
4c462c91bd
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
d388e8e8f9
MaxwellToGL: Implemented tex wrap mode 1 (Wrap, GL_REPEAT).
2018-04-17 10:17:18 -05:00
Subv
b5fdd197b2
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
ad8a27a7b3
gl_rendering: Use NGLOG* for changed code.
2018-04-16 21:23:28 -04:00
bunnei
65092bf8d8
gl_rasterizer: Implement indexed vertex mode.
2018-04-16 21:10:15 -04:00
shinyquagsire23
13ab489cb7
file_sys: tweaks
2018-04-16 06:51:59 -06:00
shinyquagsire23
bba0a351e7
file_sys: Add HFS/PFS helper component
2018-04-16 04:36:25 -06:00
bunnei
03ee087c5e
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
2ff824c992
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
f6ba44429e
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
ea9f5538c2
GPU: Use the same buffer names in the generated GLSL and the buffer uploading code.
2018-04-15 15:02:50 -05:00
Subv
d8fdbefef6
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
3a6dc1e0e4
Merge pull request #335 from bunnei/delete-file
...
fsp_srv: Implement DeleteFile.
2018-04-15 15:13:02 -04:00
bunnei
dc852fda3b
fsp_srv: Implement DeleteFile.
...
- Used by Binding of Isaac.
2018-04-15 13:15:18 -04:00
Subv
1a31997264
GPU: Don't use GetPointer when uploading the constbuffer data to the GPU.
2018-04-15 11:18:09 -05:00
Subv
ffdc9e716d
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
595d37d69a
shaders: Expose hints about used const buffers.
2018-04-15 11:50:10 -04:00
Subv
03cbd8f20f
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
ea730b69d1
GPU: Allow configuring ssbos in the opengl state manager.
2018-04-14 22:54:23 -05:00
Subv
e14e38fe0e
GPU: Added a function to determine whether a shader stage is enabled or not.
2018-04-14 22:54:23 -05:00
bunnei
1a1008a642
Merge pull request #332 from bunnei/fix-total-mem-usage
...
vm_manager: Increase GetTotalMemoryUsage value.
2018-04-14 22:29:19 -04:00
bunnei
3260473ce8
vm_manager: Increase GetTotalMemoryUsage value.
...
- Gets Binding of Isaac running.
2018-04-14 22:04:10 -04:00
bunnei
f23d61a709
Merge pull request #327 from adityaruplaha/fullscreen-fix
...
Fix the stuck in fullscreen bug
2018-04-14 21:24:36 -04:00
bunnei
a2dcd3cbbc
Merge pull request #331 from bunnei/fsp-flush
...
fsp_srv: Implement IFile::Flush.
2018-04-14 21:21:34 -04:00
bunnei
28c0641382
fsp_srv: Implement IFile::Flush.
2018-04-14 19:46:09 -04:00
bunnei
538322ec1f
shaders: Add NumTextureSamplers const, remove unused #pragma.
2018-04-14 18:50:06 -04:00
bunnei
f48c229f0e
shaders: Address PR review feedback.
2018-04-14 16:01:41 -04:00
bunnei
2fcae0000f
gl_shader_decompiler: Cleanup log statements.
2018-04-14 16:01:41 -04:00
bunnei
47bf0b0094
shaders: Fix GCC and clang build issues.
2018-04-14 16:01:40 -04:00
bunnei
d166a50ded
gl_shader_decompiler: Implement negate, abs, etc. and lots of cleanup.
2018-04-14 16:01:40 -04:00
bunnei
a859a70da1
shader_bytecode: Add FSETP and KIL to GetInfo.
2018-04-14 16:01:40 -04:00
bunnei
6fe96737a1
shader_bytecode: Add SubOp decoding.
2018-04-14 16:01:40 -04:00
bunnei
a5728bdd10
gl_shader_decompiler: Add shader stage hint.
2018-04-14 16:01:39 -04:00
bunnei
e3628ec6fd
renderer_opengl: Fix Morton copy byteswap, etc.
2018-04-14 16:01:39 -04:00
adityaruplaha
4716115c3d
Fix the stuck in fullscreen bug (Original PR: citra-emu/citra#3611 )
2018-04-14 16:41:56 +05:30
bunnei
1962aac7a0
gl_shader_manager: Implement SetShaderSamplerBindings.
2018-04-13 23:48:30 -04:00
bunnei
1a3dbd49ef
gl_rasterizer: Generate shaders and upload uniforms.
2018-04-13 23:48:29 -04:00
bunnei
8df3222eb3
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
f11b2888c9
gl_shader_manager: Cleanup and consolidate uniform handling.
2018-04-13 23:48:28 -04:00
bunnei
7e7f053ea7
maxwell_3d: Make memory_manager public.
2018-04-13 23:48:27 -04:00
bunnei
4e961244a8
maxwell_3d: Fix shader_config decodings.
2018-04-13 23:48:26 -04:00
bunnei
2452d127dc
gl_rasterizer: Use shader program manager, remove test shader.
2018-04-13 23:48:26 -04:00
bunnei
f9c4e515d8
renderer_opengl: Add gl_shader_manager class.
2018-04-13 23:48:25 -04:00
bunnei
9e32fa6bb2
maxwell_to_gl: Add a few types, etc.
2018-04-13 23:48:24 -04:00
bunnei
7cebff07e4
gl_shader_gen: Add hashable setup/config structs.
2018-04-13 23:48:23 -04:00
bunnei
1aa7a9ae50
gl_shader_util: Add missing includes.
2018-04-13 23:48:23 -04:00
bunnei
c30c48e052
common: Port cityhash code from Citra.
2018-04-13 23:48:22 -04:00
bunnei
f1915d909e
renderer_opengl: Use OGLProgram instead of OGLShader.
2018-04-13 23:48:21 -04:00
bunnei
56ee41ebe8
gl_shader_util: Grab latest upstream.
2018-04-13 23:48:21 -04:00
bunnei
83007952ea
gl_resource_manager: Grab latest upstream.
2018-04-13 23:48:20 -04:00
bunnei
f0f3990064
gl_shader_decompiler: Add skeleton code from Citra for shader analysis.
2018-04-13 23:48:20 -04:00
bunnei
0b49a74e19
shader_bytecode: Add initial module for shader decoding.
2018-04-13 23:48:19 -04:00
bunnei
7112683376
bit_field: Make all methods constexpr.
2018-04-13 23:48:18 -04:00
bunnei
e42bbdddff
Merge pull request #323 from Hexagon12/stub-hid
...
Service/HID: Stubbed out GetPlayerLedPattern
2018-04-13 10:58:03 -04:00
Hexagon12
433ccdebe5
Fixed normal params in GetDisplayResolution
2018-04-13 17:47:01 +03:00
Hexagon12
e6bb2d65f8
Stubbed out GetPlayerLedPattern
2018-04-13 17:05:03 +03:00
bunnei
219e3f4c45
Merge pull request #319 from Hexagon12/service-name-fix
...
Various service name fixes - part 1
2018-04-13 00:25:32 -04:00
mailwl
b439691768
Service/SSL: update service according switchbrew
2018-04-11 19:17:18 +03:00
Hexagon12
8293ccc5ed
Various fixes and clang
2018-04-11 14:48:56 +03:00
Hexagon12
6d6064d42e
Decimal change
2018-04-10 21:21:00 +03:00
Hexagon12
f171ec8b29
Updated pctl:a with new service names.
2018-04-10 21:03:23 +03:00
Hexagon12
0bd95ef3be
Updated nvmemp with new service names.
2018-04-10 20:28:15 +03:00
Hexagon12
2df3594b31
Updated nvdrv with more service names.
2018-04-10 20:26:49 +03:00
Hexagon12
837b8b5b80
Updated pl:u with more service names.
2018-04-10 20:23:21 +03:00
Hexagon12
e05e3c8a08
Updated hid with more service names.
2018-04-10 20:17:22 +03:00
Hexagon12
93b83a11b6
Updated friend:u with more service names.
2018-04-10 20:02:11 +03:00
Hexagon12
83479a3d19
Updated the unknown name
2018-04-10 20:01:33 +03:00
Hexagon12
251c576455
Updated friend:a with more service names.
2018-04-10 20:00:36 +03:00
Hexagon12
f8e0ce2cd0
Updated fsp-srv with more service names.
2018-04-10 19:30:27 +03:00
Hexagon12
82be79db10
Updated CodecCtl with more service names.
2018-04-10 18:58:14 +03:00
Hexagon12
a9239dbed8
Updated audren with more service names.
2018-04-10 18:56:57 +03:00
Hexagon12
95d5bf3aa1
Updated audrec with more service names.
2018-04-10 18:53:33 +03:00
Hexagon12
eff525cab3
Updated audout with more service names.
2018-04-10 18:51:50 +03:00
Hexagon12
ba73f4e0a4
Updated audin with more service names.
2018-04-10 18:47:52 +03:00
Hexagon12
3eab3da04c
Updated AOC with more service names.
2018-04-10 18:42:28 +03:00
Hexagon12
22ef1d1cc5
Updated AppletOE with more service names.
2018-04-10 18:41:17 +03:00
Hexagon12
4a594aff08
Updated AppletAE with more service names.
2018-04-10 18:39:46 +03:00
Hexagon12
c823bbde93
Updated AM with more service names.
2018-04-10 18:36:00 +03:00
mailwl
a6a6ffed7a
Service/ACC: convert to module, add acc:aa, acc:su, acc:u1 services
2018-04-10 10:18:52 +03:00
bunnei
6101a3c9d7
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
e918570c6d
Merge pull request #315 from jroweboy/spelling-fix
...
Fix spelling of Initialize
2018-04-07 16:49:09 -04:00
James Rowe
92254855e7
Prevent crash from uninitialized telemetry
2018-04-07 07:25:14 -06:00
James Rowe
f6ae0f432b
Fix spelling of Initialize
2018-04-07 07:23:21 -06:00
James Rowe
d8502eb24a
Fix clang format issues
2018-04-06 22:00:48 -06:00
Subv
cb3ca1d4cf
GPU: Assert when finding a texture with a format type other than UNORM.
2018-04-06 20:44:46 -06:00
Subv
c63f7aa93b
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
4f1665d365
GL: Bind the textures to the shaders used for drawing.
2018-04-06 20:44:46 -06:00
Subv
8bc63e89e4
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
1e6faaf2b3
GLCache: Implemented GetTextureSurface.
2018-04-06 20:44:45 -06:00
Subv
2a5e90745c
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
34b212c6a8
GL: Remove remaining references to 3DS-specific pixel formats
2018-04-06 20:44:42 -06:00
Subv
6400a3bb35
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
ab6d7991f8
GL: Create the sampler objects when starting up the GL rasterizer.
2018-04-06 20:40:24 -06:00
Subv
232ffe85ad
GL: Ported the SamplerInfo struct from citra.
2018-04-06 20:40:24 -06:00
Subv
dc26ad9aec
GL: Rename PicaTexture to MaxwellTexture.
2018-04-06 20:40:24 -06:00
Subv
3c9cbbca68
GL: Added functions to convert Maxwell tex filters and wrap modes to OpenGL.
2018-04-06 20:40:23 -06:00
Subv
d9e067fad6
Textures: Added a helper function to know if a texture is blocklinear or pitch.
2018-04-06 20:40:23 -06:00
bunnei
990ca9b20d
Merge pull request #310 from N00byKing/patch-1
...
Update multiple comments from citra to yuzu
2018-04-06 11:07:28 -04:00
N00byKing
6d5b25c136
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
b957a3647a
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
63b5de9c40
rasterizer_interface.h: Update from citra to yuzu
2018-04-04 23:07:58 +02:00
N00byKing
6263f437d7
default_ini.h: Update from citra to yuzu
2018-04-04 23:05:51 +02:00
N00byKing
b84397745f
gl_rasterizer_cache.cpp: Update from citra to yuzu
2018-04-04 23:05:10 +02:00
N00byKing
3ca8768d3a
gl_rasterizer_cache.h: Update from citra to yuzu
2018-04-04 23:04:24 +02:00
N00byKing
2a2af539f3
renderer_opengl.h: Update from citra to yuzu
2018-04-04 23:03:02 +02:00
bunnei
e71cfbce72
svc: Stub out SetThreadActivity, GetThreadContext.
2018-04-02 23:51:01 -04:00
bunnei
372b8dae46
audren_u: Stub out GetActiveAudioDeviceName.
2018-04-02 23:51:00 -04:00
bunnei
683de06263
audout_u: Implement GetAudioOutState.
2018-04-02 23:51:00 -04:00
bunnei
659fd3e9f8
nifm: GetResult does not return a data field.
2018-04-02 23:50:59 -04:00
bunnei
c800619c1e
vi: Implement GetDisplayResolution.
2018-04-02 23:50:59 -04:00
bunnei
1eeef530e5
shared_memory: Remove incorrect 3ds-specific check.
2018-04-02 23:50:58 -04:00
bunnei
3f82cee183
service: Add friend:u interface.
2018-04-02 23:50:57 -04:00
Daniel Lim Wee Soong
145a4c3c2a
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
e39ea2fa8e
Merge pull request #262 from daniellimws/fmtlib-macros
...
Logging: Add fmtlib-based macros
2018-04-02 21:19:20 -04:00
bunnei
2b51f19079
Merge pull request #267 from N00byKing/patch-1
...
Update Dialog from citra to yuzu
2018-04-02 18:33:52 -04:00
bunnei
8eea0f0805
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
0ce3d76591
Merge pull request #304 from daniellimws/fix-openbsd
...
Fix build on OpenBSD
2018-04-02 18:27:19 -04:00
N00byKing
ba7cd88412
deconstructed_rom_directory.cpp: Fix Typo
2018-04-03 00:20:35 +02:00
Daniel Lim Wee Soong
930a045d42
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
96cb786cd1
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
bc629f2f9b
Merge pull request #297 from bunnei/hid-touch-state
...
hid: Write empty touch screen state.
2018-04-02 13:05:34 -04:00
bunnei
e5491924f7
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
98bd0df9a3
Merge pull request #288 from Subv/macro_interpreter
...
GPU: Implemented a gpu macro interpreter
2018-04-02 10:04:19 -04:00
Subv
84c9824895
GPU: Use the MacroInterpreter class to execute the GPU macros instead of HLEing them.
2018-04-01 12:07:26 -05:00
Subv
7fe4f9491e
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
c7a4327471
hid: Write empty touch screen state.
2018-04-01 00:12:07 -04:00
bunnei
52c5bc4642
hle_ipc, fsp_srv: Cleanup logging.
2018-03-31 23:30:00 -04:00
bunnei
699d84abda
hid: Stub out GetSupportedNpadStyleSet.
2018-03-31 16:06:46 -04:00
bunnei
6d21b8cdea
hle_ipc: Do not ensure write buffer size.
2018-03-31 16:06:46 -04:00
bunnei
db8fc2ea57
fsp_srv: Implement GetSize and SetSize.
2018-03-31 16:06:45 -04:00
bunnei
36cdd5a39c
memory: Fix stack region.
2018-03-31 16:06:45 -04:00
bunnei
7d4a23db4e
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
6386f0910c
Port citra-emu/citra#3610 to yuzu
2018-03-30 17:38:34 +02:00
N00byKing
7555b881e8
Remove whitespaces
2018-03-30 14:18:35 +02:00
N00byKing
675b525fb8
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
038c8d284b
audren_u: Stub QueryAudioDeviceSystemEvent and GetActiveChannelCount.
2018-03-29 21:23:24 -04:00
bunnei
86f0e841d8
svc: Stub GetThreadCoreMask.
2018-03-29 21:23:15 -04:00
bunnei
f5c2d62b3a
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
e6375771e2
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
9d3baff255
Merge pull request #286 from N00byKing/citratoyuzuagain
...
main.h: Add pragma once, remove ifndef
2018-03-27 19:57:58 -04:00
N00byKing
a037c8914a
main.h: Add pragma once, remove ifndef
2018-03-27 16:32:41 +02:00
bunnei
fcb09e7bb3
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
dfa21f372b
telemetry.h: Reword comment from citra to yuzu
2018-03-27 11:16:59 +02:00
N00byKing
a14420e351
telemetry_session.h: Reword Documentation Comment from citra to yuzu
2018-03-27 11:16:59 +02:00
N00byKing
a97c186684
Remove Links to citra Services
2018-03-27 11:16:59 +02:00
N00byKing
b411bdb76e
Change Telemetry Names to yuzu
2018-03-27 11:16:59 +02:00
bunnei
81d12e3466
Merge pull request #282 from N00byKing/patch-2
...
Change comments from citra to yuzu
2018-03-26 23:37:05 -04:00
bunnei
8c991d792e
settings: Remove unused CpuCore class.
2018-03-26 23:14:44 -04:00
bunnei
32181284be
config: Use simplified checkbox (from Citra) for CPU JIT.
2018-03-26 23:02:37 -04:00
bunnei
af6e1f8554
config: Rename is_docked to use_docked_mode to be consistent with other config bools.
2018-03-26 23:02:36 -04:00
bunnei
b4fb85ff0f
configure_general: Cleanup naming.
2018-03-26 23:02:36 -04:00
bunnei
534cee3d8b
qt: Add config option for is_docked.
2018-03-26 23:02:35 -04:00
bunnei
679d29d9f8
config: Add setting for whether the system is docked or not.
2018-03-26 23:02:35 -04:00
bunnei
6333552a5d
renderer_opengl: Use better naming for DrawScreens and DrawSingleScreen.
2018-03-26 21:17:07 -04:00
bunnei
9415aeb48f
graphics_surface: Remove superfluous cast.
2018-03-26 21:17:05 -04:00
bunnei
12a6c7b11b
gl_rasterizer: Move code to bind framebuffer surfaces before draw to its own function.
2018-03-26 21:17:05 -04:00
bunnei
b9eae6e652
gl_rasterizer: Add a SyncViewport method.
2018-03-26 21:17:04 -04:00
bunnei
2666b52264
gl_rasterizer: Move PrimitiveTopology check to MaxwellToGL.
2018-03-26 21:17:03 -04:00
bunnei
74c4739713
graphics_surface: Fix merge conflicts.
2018-03-26 21:17:03 -04:00
bunnei
7c376760c0
gl_rasterizer: Use ReadBlock instead of GetPointer for SetupVertexArray.
2018-03-26 21:17:02 -04:00
bunnei
95d56cac29
gl_rasterizer: Normalize vertex array data as appropriate.
2018-03-26 21:17:02 -04:00
bunnei
ad1af61685
memory: Fix cast for ReadBlock/WriteBlock/ZeroBlock/CopyBlock.
2018-03-26 21:17:01 -04:00
bunnei
0e59fbd73f
maxwel_to_gl: Fix string formatting in log statements.
2018-03-26 21:17:01 -04:00
bunnei
b601155fb0
rasterizer: Rename DrawTriangles to DrawArrays.
2018-03-26 21:17:00 -04:00
bunnei
ec13680b3e
gl_rasterizer: Use passthrough shader for SetupVertexShader.
2018-03-26 21:17:00 -04:00
bunnei
71a932291f
renderer_opengl: Logging, etc. cleanup.
2018-03-26 21:16:59 -04:00
bunnei
be645eece3
renderer_opengl: Remove framebuffer RasterizerFlushVirtualRegion hack.
2018-03-26 21:16:58 -04:00
bunnei
36a3a82135
gl_rasterizer_cache: Implement UpdatePagesCachedCount.
2018-03-26 21:16:58 -04:00
bunnei
49b3b519fc
memory: Add RasterizerMarkRegionCached code and cleanup.
2018-03-26 21:16:57 -04:00
bunnei
4c36e92bf4
gl_rasterizer: Implement SetupVertexArray.
2018-03-26 21:16:56 -04:00
bunnei
4c0ed161a8
gl_rasterizer_cache: Fix an ASSERT_MSG.
2018-03-26 21:16:56 -04:00
bunnei
9e146ba2db
maxwell_to_gl: Add module and function for decoding VertexType.
2018-03-26 21:16:55 -04:00
bunnei
ded4139447
maxwell_3d: Use names that match envytools for VertexType.
2018-03-26 21:16:55 -04:00
bunnei
d37f03d0fe
maxwell_3d: Add VertexAttribute struct and cleanup.
2018-03-26 21:16:54 -04:00
bunnei
5f3f68e064
gl_rasterizer: Use 32 texture units instead of 3.
2018-03-26 21:16:53 -04:00
bunnei
b1a3858e30
gl_rasterizer: Implement DrawTriangles.
2018-03-26 21:16:53 -04:00
bunnei
e04a5dec60
Maxwell3D: Call AccelerateDrawBatch on DrawArrays.
2018-03-26 21:16:52 -04:00
bunnei
5ae2fe6c69
gl_rasterizer: Implement AnalyzeVertexArray.
2018-03-26 21:16:52 -04:00
bunnei
e285a5d6da
gl_rasterizer_cache: MortonCopy Switch-style.
2018-03-26 21:16:51 -04:00
bunnei
25e901ec1e
gl_rasterizer_cache: Implement GetFramebufferSurfaces.
2018-03-26 21:16:51 -04:00
bunnei
bf282aa01f
maxwell: Add RenderTargetFormat enum.
2018-03-26 21:16:49 -04:00
bunnei
33b4c486f3
renderer_opengl: Only draw the screen if a framebuffer is specified.
2018-03-26 21:16:49 -04:00
Subv
3707231f5d
GPU: Load the sampler info (TSC) when retrieving active textures.
2018-03-26 15:46:49 -05:00
Subv
c8425b1af4
GPU: Added the TSC structure. It contains information about the sampler.
2018-03-26 15:45:05 -05:00
Subv
0255cad30c
GPU: Added more fields to the TIC structure.
2018-03-26 15:44:20 -05:00
N00byKing
e57ba11168
log.h: Change comment from citra to yuzu
2018-03-26 21:52:59 +02:00
N00byKing
770ee77982
file_util.h: Update Comment from citra to yuzu
2018-03-26 21:51:04 +02:00
N00byKing
33c1780755
yuzu.cpp: Update Link from citra to yuzu
2018-03-26 21:48:18 +02:00
N00byKing
6b5f41b812
cpu_detect.cpp: Change comment from citra to yuzu
2018-03-26 21:43:39 +02:00
bunnei
db7005ca05
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
feff74c433
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
05d777b122
main.cpp: Replace Citra with yuzu Wiki Links
2018-03-25 11:44:04 +02:00
N00byKing
357e97cc2c
main.cpp: Update Dialog from citra to yuzu
2018-03-25 11:42:46 +02:00
mailwl
cfbce8c977
Service/sockets: add bsd:s, nsd:a, nsd:u services
2018-03-25 12:41:00 +03:00
bunnei
09f5837d6b
audren_u: Fix GetAudioDevice.
2018-03-25 03:24:20 -04:00
bunnei
dd7c34a978
hid: Stub out SetNpadJoyAssignmentModeDual.
2018-03-25 03:24:05 -04:00
bunnei
a4435604c9
pl_u: Add RequestLoad.
2018-03-25 03:23:52 -04:00
Subv
18a9536efa
GPU: Make the debug_context variable a member of the frontend instead of a global.
2018-03-24 23:35:06 -05:00
Subv
f73fb9de9d
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
0892143af9
Frontend: Updated the surface view debug widget to work with Maxwell surfaces.
2018-03-24 11:31:53 -05:00
Subv
b143430809
Frontend: Allow opening the Surface View widget in the Qt frontend.
2018-03-24 11:31:50 -05:00
Subv
b9b5b1e740
GPU: Implement the Incoming/FinishedPrimitiveBatch debug breakpoints.
2018-03-24 11:31:50 -05:00
Subv
10b10a14af
GPU: Implement the MaxwellCommandLoaded/Processed debug breakpoints.
2018-03-24 11:31:50 -05:00
Subv
19bf501723
Frontend: Ported the GPU breakpoints and surface viewer widgets from citra.
2018-03-24 11:31:49 -05:00
Subv
bc03dc4793
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
d09097276f
GPU: Preliminary work for texture decoding.
2018-03-24 11:30:56 -05:00
MerryMage
f8426bcf94
arm_dynarmic: Fix timing
2018-03-24 09:02:19 +00:00
Subv
6234ec112b
GPU: Added viewport registers to Maxwell3D's reg structure.
2018-03-24 01:22:19 -05:00
bunnei
79b3adba8e
Merge pull request #265 from bunnei/tegra-progress-2
...
Tegra progress 2
2018-03-23 23:30:48 -04:00
bunnei
2920684a44
gl_rasterizer: Fake render in green, because it's cooler.
2018-03-23 22:27:53 -04:00
bunnei
454759e2a5
gl_rasterizer: Log warning instead of sync'ing unimplemented funcs.
2018-03-23 22:24:16 -04:00
bunnei
0a28179632
Merge pull request #255 from Subv/sd_card
...
FS: Implemented access to the SD card
2018-03-23 20:48:26 -04:00
bunnei
490014c459
gl_rasterizer_cache: Add missing include for vm_manager.
2018-03-23 16:54:20 -04:00
bunnei
bea2582807
renderer_opengl: Only invalidate the framebuffer region, not flush.
2018-03-23 15:52:14 -04:00
bunnei
9b2bfb9e9d
renderer_opengl: Fixes for properly flushing & rendering the framebuffer.
2018-03-23 15:49:04 -04:00
bunnei
c13802819b
memory: Fix typo in RasterizerFlushVirtualRegion.
2018-03-23 15:46:21 -04:00
bunnei
c30e02cd0c
Merge pull request #268 from mailwl/ssl
...
Service/SSL: add ssl service
2018-03-23 15:30:17 -04:00
bunnei
454e413491
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
6610bee69e
FS: Move the file open mode calculation to a separate function.
2018-03-23 14:27:07 -05:00
bunnei
ca08e1edee
RasterizerCacheOpenGL: FlushAll should flush full memory region.
2018-03-23 15:25:16 -04:00
bunnei
4d5c052f34
memory: RasterizerFlushVirtualRegion should also check process image region.
2018-03-23 15:10:02 -04:00
bunnei
6131f96f6a
rasterizer: Flush and invalidate regions should be 64-bit.
2018-03-23 15:01:45 -04:00
bunnei
cc17ea04c4
renderer_opengl: Add framebuffer_transform_flags member variable.
2018-03-23 14:59:14 -04:00
bunnei
c2a48352ad
renderer_opengl: Better handling of framebuffer transform flags.
2018-03-23 14:58:27 -04:00
N00byKing
3aeeaeaf2b
Remove Option for N/3DS from default.ini
2018-03-23 18:06:55 +01:00
N00byKing
4023ee09fc
CITRA_ICON -> YUZU_ICON
2018-03-23 16:56:59 +01:00
mailwl
96164de3a0
Service/SSL: add ssl service
2018-03-23 09:32:50 +03:00
bunnei
fce77a1fb1
renderer_opengl: Use accelerated framebuffer load with LoadFBToScreenInfo.
2018-03-22 23:28:37 -04:00
bunnei
aa667e6afa
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
855aadf055
gl_rasterizer: Implement AccelerateDisplay method from Citra.
2018-03-22 23:06:54 -04:00
bunnei
95dec6140b
LoadGLBuffer: Use bytes_per_pixel, not bits.
2018-03-22 23:01:57 -04:00
bunnei
c9c232727c
memory: Port RasterizerFlushVirtualRegion from Citra.
2018-03-22 22:56:41 -04:00
bunnei
7b167a12ad
gl_rasterizer_cache: LoadGLBuffer should do a morton copy.
2018-03-22 22:54:04 -04:00
bunnei
875215fae4
video_core: Move MortonCopyPixels128 to utils header.
2018-03-22 22:52:40 -04:00
Valentin Vanelslande
96b4fc4206
yuzu_cmd: change default cpu core to dynarmic
2018-03-22 19:44:34 -06:00
Valentin Vanelslande
a105e0f72d
default_ini: change default cpu core to dynarmic
2018-03-22 19:43:59 -06:00
bunnei
4e4e999c4a
video_core: Remove usage of PAddr and replace with VAddr.
2018-03-22 21:13:46 -04:00
bunnei
6babc57354
video_core: Move FramebufferInfo to FramebufferConfig in GPU.
2018-03-22 21:04:30 -04:00
bunnei
8c5ed9de77
gl_rasterizer: Replace a bunch of UNIMPLEMENTED with ASSERT.
2018-03-22 20:19:34 -04:00
bunnei
3ea48b01d3
gl_rasterizer: Add a simple passthrough shader in lieu of shader generation.
2018-03-22 20:00:41 -04:00
bunnei
8286b237cc
gpu: Expose Maxwell3D engine.
2018-03-22 19:48:20 -04:00
bunnei
fcddbe6027
maxwell_3d: Add some format decodings and string helper functions.
2018-03-22 19:47:28 -04:00
bunnei
c388741f12
renderer: Create rasterizer and cleanup.
2018-03-22 19:46:37 -04:00
N00byKing
35d617d342
Remove more N3DS References
2018-03-22 21:25:06 +01:00
Daniel Lim Wee Soong
df93e4f9b0
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
81eaba792e
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
a0298a552c
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
e0d1e257a8
Service/spl: add module and services
2018-03-22 09:55:14 +03:00
bunnei
3a37f55067
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
9b619405e9
CMake: Set EMU_ARCH_BITS in CMakeLists.txt
2018-03-21 19:03:20 +01:00
Subv
43295efd0e
FS: Implemented IFileSystem::CreateDirectory.
2018-03-21 09:55:59 -05:00
Subv
f3a5328f09
GPU: Added vertex attribute format registers.
2018-03-21 09:26:47 -05:00
mailwl
eaf65829ca
Service/vi: convert services to module
2018-03-21 13:09:40 +03:00
Subv
a569ee8a58
GPU: Added registers for the number of vertices to render.
2018-03-20 23:28:06 -05:00
bunnei
766c6de88d
Merge pull request #254 from bunnei/port-citra-renderer
...
Port Citra OpenGL rasterizer code
2018-03-20 21:37:43 -04:00
mailwl
ce7e0e503b
Service: add fatal:u, fatal:p services
2018-03-20 16:59:02 +03:00
bunnei
188a685e73
renderer_gl: Port boilerplate rasterizer code over from Citra.
2018-03-20 00:07:32 -04:00
bunnei
e0f3facd01
gl_shader_util: Sync latest version with Citra.
2018-03-20 00:07:31 -04:00
bunnei
756e14027a
renderer_gl: Port over gl_shader_gen module from Citra.
2018-03-20 00:07:30 -04:00
Subv
ddafc857c7
FS: Implemented IFileSystem's OpenDirectory function.
...
Note that the filter parameter is not yet implemented.
2018-03-19 23:02:30 -05:00
Subv
fce3825edf
FS: Added the IDirectory IPC interface and implemented its two functions.
2018-03-19 23:01:47 -05:00
Subv
bf1c4bf16c
FS: Implement DiskFileSystem's OpenDirectory interface.
2018-03-19 23:00:37 -05:00
Subv
7de15c22f3
FS: Implement DiskFileSystem::GetEntryType for existing files/directories.
2018-03-19 22:59:38 -05:00
Subv
e4b4b765b6
FS: Updated the Directory Entry structure to match the Switch.
2018-03-19 22:58:55 -05:00
Subv
8144364cc2
FS: Support the file Append open mode.
2018-03-19 22:57:34 -05:00
Mat M
9b5ae0daf5
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
f1e9d5404d
renderer_gl: Port over gl_shader_decompiler module from Citra.
2018-03-19 23:14:03 -04:00
bunnei
a533c3398c
renderer_gl: Port over gl_rasterizer_cache module from Citra.
2018-03-19 23:14:03 -04:00
bunnei
ac51a39abf
gl_resource_manager: Sync latest version with Citra.
2018-03-19 23:14:02 -04:00
bunnei
52bfc102bc
renderer_gl: Port over gl_stream_buffer module from Citra.
2018-03-19 23:14:02 -04:00
bunnei
b1ceeb5c42
gl_state: Sync latest version with Citra.
2018-03-19 23:13:49 -04:00
Subv
b15d0a65c4
FS: Implement MountSdCard.
2018-03-19 21:21:49 -05:00
Subv
a079723254
FS: Added an SDMC archive factory and registered it to the SDMC archive on startup.
2018-03-19 21:17:15 -05:00
Subv
3e645f5595
GPU: Added Z buffer registers to Maxwell3D's reg structure.
2018-03-19 16:55:33 -05:00
Subv
b942bfbb13
GPU: Added the render target (RT) registers to Maxwell3D's reg structure.
2018-03-19 16:46:29 -05:00
N00byKing
d3bdad2aaa
Clang Fixes
2018-03-19 17:53:35 +01:00
N00byKing
f69c369cfb
oops
2018-03-19 17:43:04 +01:00
N00byKing
8d34c0d2a0
More Warning cleanups
2018-03-19 17:27:04 +01:00
N00byKing
1212e9e231
Clean Warnings (?)
2018-03-19 17:07:08 +01:00
Subv
c0f954906c
GPU: Added the TSC registers to the Maxwell3D register structure.
2018-03-19 00:36:25 -05:00
Subv
f6e3d3aa1a
GPU: Added the TIC registers to the Maxwell3D register structure.
2018-03-19 00:32:57 -05:00
bunnei
8d9b2cb438
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
341925e40a
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
bae5ccd6d2
vi: Remove DequeueBuffer and wait until next available buffer.
2018-03-18 20:56:35 -04:00
bunnei
7750edae39
hle_ipc: Add SleepClientThread to block current thread within HLE routines.
2018-03-18 20:56:34 -04:00
bunnei
01d72e813e
hle_ipc: Use shared_ptr instead of unique_ptr to allow copies.
2018-03-18 20:56:33 -04:00
bunnei
479400acc8
hle_ipc: Remove GetPointer(..) usage with WriteToOutgoingCommandBuffer.
2018-03-18 20:56:33 -04:00
bunnei
d6c27e6b28
thread: Add THREADSTATUS_WAIT_HLE_EVENT, remove THREADSTATUS_WAIT_ARB.
2018-03-18 20:56:32 -04:00
Subv
36c527131f
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
80b0f4d681
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
845415cc3d
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
46bbeeb54a
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
a8cb6ba213
GPU: Store uploaded GPU macros and keep track of the number of method parameters.
2018-03-18 11:51:46 -05:00
Subv
29c026fae1
GPU: Macros are specific to the Maxwell3D engine, so handle them internally.
2018-03-18 11:51:45 -05:00
Subv
5979796df8
GPU: Renamed ShaderType to ShaderStage as that is less confusing.
2018-03-17 18:32:57 -05:00
Subv
7b48098c60
GPU: Store shader constbuffer bindings in the GPU state.
2018-03-17 18:32:57 -05:00
Subv
5f181aec24
GPU: Corrected some register offsets and removed superfluous macro registers.
2018-03-17 18:32:56 -05:00
Subv
8a5c0e873b
GPU: Make the SetShader macro call do the same as the real macro's code.
...
It'll now set the CB_SIZE, CB_ADDRESS and CB_BIND registers when it's called.
Presumably this SetShader function is binding the constant shader uniforms to buffer 1 (c1[]).
2018-03-17 18:32:55 -05:00
Subv
e3e0625ff7
GPU: Corrected the parameter documentation for the SetShader macro call.
...
Register 0xE24 is actually a macro that sets some shader parameters in the register structure.
Macros are uploaded to the GPU at startup and have their own ISA, we'll probably write an interpreter for this in the future.
2018-03-17 13:55:42 -05:00
bunnei
bed06310f2
Merge pull request #242 from Subv/set_shader
...
GPU: Handle the SetShader method call (0xE24) and store the shader config.
2018-03-17 00:34:17 -04:00
Subv
c9850b0d3a
GPU: Handle the SetShader method call (0xE24) and store the shader config.
2018-03-16 22:51:06 -05:00
Subv
dbade2db3e
GPU: Added the vertex array registers.
2018-03-16 22:47:45 -05:00
bunnei
b849a04b2f
Merge pull request #241 from Subv/gpu_method_call
...
GPU: Process command mode 5 (IncreaseOnce) differently from other commands
2018-03-16 22:28:22 -04:00
Subv
6796e37911
GPU: Process command mode 5 (IncreaseOnce) differently from other commands.
...
Accumulate all arguments before calling the desired method.
Note: Maybe we should do the same for the NonIncreasing mode?
2018-03-16 20:32:44 -05:00
bunnei
2c2acce091
Merge pull request #239 from Subv/shaders
...
GPU: Added some shader-related registers.
2018-03-16 21:09:35 -04:00
Subv
3247b8f9dd
GPU: Assert that we get a 0 CODE_ADDRESS register in the 3D engine.
...
Shader address calculation depends on this value to some extent, we do not currently know what it being 0 entails.
2018-03-16 19:24:41 -05:00
Subv
d468c046f9
GPU: Added Maxwell registers for Shader Program control.
2018-03-16 19:23:11 -05:00
bunnei
b437a08a21
nvflinger: Remove superfluous buffer format check.
2018-03-16 20:11:50 -04:00
bunnei
dd2e72f1aa
process: MirrorMemory should use MemoryState::Mapped.
2018-03-16 19:24:54 -04:00
bunnei
d7bb09afe7
process: Unmap previously allocated heap.
2018-03-16 18:32:25 -04:00
bunnei
256153c50c
arm_interface: Support unmapping previously mapped memory.
2018-03-16 18:32:24 -04:00
bunnei
a0b00fe2d1
svc: Use more correct values for GetInfo MapRegion and NewMapRegion.
2018-03-16 18:32:23 -04:00
bunnei
a26561ce20
kernel: Move stack region outside of application heap.
2018-03-16 18:32:23 -04:00
bunnei
89312134f6
memory: Add regions for map region, "new" map region, etc.
2018-03-16 18:32:22 -04:00
bunnei
67bac363d8
process: Fix stack memory state.
2018-03-16 18:32:21 -04:00
bunnei
29bda49fc0
MemoryState: Add additional memory states and improve naming.
2018-03-16 18:32:21 -04:00
mailwl
f5fbe99e28
IGeneralService: fix function list
2018-03-16 16:34:12 +03:00
mailwl
44739126a5
Service/NIFM: stub cancel function
2018-03-16 11:08:22 +03:00
mailwl
db6c7e714c
Service/NIFM: convert to module
2018-03-16 11:00:29 +03:00
bunnei
f16763ed52
core: Move process creation out of global state.
2018-03-14 18:42:19 -04:00
bunnei
b2b51850a1
Merge pull request #213 from Hexagon12/dynarmic-default
...
Make Dynarmic the default CPU core
2018-03-07 18:21:13 -05:00
Subv
083e494083
GPU: Intercept writes to the VERTEX_END_GL register.
...
This is the register that gets written after a game calls DrawArrays().
We should collect all GPU state and draw using our graphics API here.
2018-03-04 19:14:04 -05:00
bunnei
7dd960f543
Merge pull request #229 from Subv/ensuresavedata_impl
...
FS: Make EnsureSaveData create the save data if it doesn't already exist.
2018-03-04 15:49:42 -05:00
Subv
cb738dedb2
FS: Use the correct error code when trying to open files that don't exist.
2018-03-04 14:34:48 -05:00
Subv
4a8b2154d7
FS: Stubbed CreateSaveData. It currently does nothing.
2018-03-04 14:31:57 -05:00
Subv
9702f6c2ed
FS: Make EnsureSaveData create the savedata folder when called for the first time.
2018-03-04 14:30:07 -05:00
Subv
6ac79e3a43
CoreTiming: Unschedule the pending events when an Interface is destroyed.
2018-03-04 10:34:25 -05:00
bunnei
64bf9f8cdf
Merge pull request #226 from Subv/buffer_queue_event
...
Vi: Signal the BufferQueue's Native Handle right after ReleaseBuffer is called
2018-03-03 12:38:18 -05:00
Subv
1fddc7fe43
Vi: Signal the BufferQueue's Native Handle right after ReleaseBuffer is called.
...
This prevents a thread starvation issue in Puyo Puyo Tetris.
We should hwtest this behavior and figure out where exactly this event is signaled.
2018-03-03 11:51:36 -05:00
mailwl
481a083593
Service/Set: add more services
2018-03-03 09:03:49 +03:00
bunnei
32f3523ce1
Merge pull request #216 from Subv/savedata
...
Implemented the SaveData archive and MountSaveData.
2018-03-01 22:14:31 -05:00
Subv
b874d4f2b0
SaveData: Use the current titleid when opening the savedata archive.
2018-03-01 19:03:54 -05:00
Subv
a9c51be95e
Kernel: Store the program id in the Process class instead of the CodeSet class.
...
There may be many CodeSets per Process, so it's wasteful and overcomplicated to store the program id in each of them.
2018-03-01 19:03:53 -05:00
Subv
77e64ac9b2
FS: Implement MountSaveData and some of the IFile interface.
2018-03-01 19:03:53 -05:00
Subv
dfdc72efa7
Filesystem: Added a SaveData Factory and associated Disk_FileSystem.
2018-03-01 19:03:52 -05:00
Jules Blok
29a5203a2a
thread: Clear the process list on shutdown.
2018-02-27 17:13:39 +01:00