Subv
bcae826522
Kernel/Thread: Corrected a typo in an assert about the processor id.
2018-05-30 11:32:46 -05:00
Subv
455e14b8e3
Shaders: Implemented reading the gl_InstanceID and gl_VertexID variables in the vertex shader.
2018-05-30 10:58:03 -05:00
Sebastian Valle
016195f9a8
Merge pull request #483 from bunnei/sonic
...
Several GPU fixes to boot Sonic Mania
2018-05-30 07:31:46 -05:00
mailwl
c333f12eae
Services/nvdrv: add '/dev/nvhost-nvdec' device
2018-05-30 12:49:28 +03:00
bunnei
c99c03fe38
gl_shader_decompiler: F2F_R instruction: Implement abs.
2018-05-29 23:52:54 -04:00
bunnei
ed61b578d9
gl_shader_decompiler: Partially implement F2F_R instruction.
2018-05-29 23:10:44 -04:00
Subv
9631ae2fa4
GPU: Implemented the R8 texture format (0x1D)
2018-05-29 21:49:37 -05:00
bunnei
16a06abf97
nvhost_ctrl: Stub out IocCtrlEventRegister.
2018-05-29 22:39:31 -04:00
bunnei
fb8aa21fa5
nvhost_ctrl: Stub out IocCtrlEventWaitAsyncCommand.
2018-05-29 22:35:41 -04:00
bunnei
29c345982a
gl_rasterize_cache: Invert order of tex format RGB565.
2018-05-29 22:16:18 -04:00
bunnei
873a266a3d
Merge pull request #480 from mailwl/bcat
...
Service/BCAT: add module and services
2018-05-29 19:45:23 -04:00
greggameplayer
4786f69570
add all the known TextureFormat ( #474 )
2018-05-28 19:26:17 -04:00
mailwl
3c612dea08
Service/BCAT: add module and services
2018-05-28 16:46:56 +03:00
bunnei
5653710cf8
Merge pull request #472 from bunnei/greater-equal
...
gl_shader_decompiler: Implement GetPredicateComparison GreaterEqual.
2018-05-27 12:14:30 -04:00
bunnei
d24bc4edf8
Merge pull request #476 from Subv/a1bgr5
...
GPU: Implemented the A1B5G5R5 texture format (0x14)
2018-05-27 12:14:08 -04:00
bunnei
03938c6ea5
Merge pull request #475 from ogniK5377/nvos-getconfig
...
NvOsGetConfigU32 should return null instead of 0 for default output value
2018-05-27 12:10:07 -04:00
bunnei
8dcf608429
Merge pull request #473 from bunnei/get-display-version
...
am: Stub IApplicationFunctions GetDisplayVersion.
2018-05-27 12:00:32 -04:00
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