Commit Graph

9326 Commits

Author SHA1 Message Date
ReinUsesLisp c0da61936c gl_shader_disk_cache: Add precompiled save 2019-02-06 22:20:57 -03:00
ReinUsesLisp 550111b091 gl_shader_disk_cache: Add transferable load 2019-02-06 22:20:57 -03:00
ReinUsesLisp 7012b1a5a4 gl_shader_disk_cache: Add transferable stores 2019-02-06 22:20:57 -03:00
ReinUsesLisp ac7a6ef85f gl_shader_disk_cache: Add ShaderDiskCacheOpenGL class and helpers 2019-02-06 22:20:57 -03:00
ReinUsesLisp 09225145c9 gl_shader_disk_cache: Add file and move BaseBindings declaration 2019-02-06 22:20:57 -03:00
ReinUsesLisp 658959673b gl_shader_decompiler: Remove name entries 2019-02-06 22:20:57 -03:00
ReinUsesLisp 4eb946829d gl_shader_util: Add parameter to handle retrievable programs 2019-02-06 22:20:57 -03:00
ReinUsesLisp 5bed286abf rasterizer_interface: Add disk cache entry for the rasterizer 2019-02-06 22:20:57 -03:00
ReinUsesLisp f75174d195 file_util: Add shader directory 2019-02-06 22:20:57 -03:00
ReinUsesLisp 0d6369989d shader_decode: Implement LDG and basic cbuf tracking 2019-02-06 22:20:57 -03:00
bunnei af54c6770a Merge pull request #2042 from ReinUsesLisp/nouveau-tex
maxwell_3d: Allow texture handles with TIC id zero
2019-02-06 20:19:20 -05:00
bunnei 13f3423d68 Merge pull request #2071 from ReinUsesLisp/dsa-texture
gl_rasterizer: Use DSA for textures and move swizzling to texture state
2019-02-06 20:17:59 -05:00
Dimitri ALBORA c7d6afc04a gdbstub: only let Execute breakpoints write/restore BKPT opcodes into target memory 2019-02-06 19:07:35 +01:00
bunnei 784bb782f5 Merge pull request #2057 from FearlessTobi/port-4586
Port citra-emu/citra#4586: "Use QPixmap/QIcon for background color selection button"
2019-02-06 12:37:57 -05:00
bunnei 4e72e46332 Merge pull request #2086 from FearlessTobi/port-4583
Port citra-emu/citra#4583: "citra_qt: Fix saving screenshot when no file extension is provided"
2019-02-06 12:33:35 -05:00
bunnei ed8b02bf5f Merge pull request #2087 from lioncash/const
service/nvflinger, service/vi: Improve error case handling
2019-02-06 12:33:13 -05:00
bunnei a62bb70902 Merge pull request #2088 from jroweboy/h
QT: Fix the loading screen 'H' switch logo to not glitch out
2019-02-05 21:06:39 -05:00
James Rowe 4d5b53faab QT: Fix the loading screen 'H' switch logo to not glitch out 2019-02-05 18:24:15 -07:00
Lioncash ac9fcf2ca2 service/nvflinger,service/vi: Handle failure cases with exposed API
Converts many of the Find* functions to return a std::optional<T> as
opposed to returning the raw return values directly. This allows
removing a few assertions and handles error cases like the service
itself does.
2019-02-05 18:03:28 -05:00
bunnei 8f02e0554c Merge pull request #2085 from ReinUsesLisp/cube-minus-one
video_core/texture: Fix BitField size for depth_minus_one
2019-02-05 17:15:26 -05:00
xperia64 a65c9b1f55 Fix crash when no files are selected 2019-02-05 22:40:23 +01:00
xperia64 1fd1f7a053 Add file extension to screenshot filename if not provided 2019-02-05 22:31:37 +01:00
Lioncash 49a28d52da service/nvflinger: Mark FindVsyncEvent() as a const member function
This member function doesn't actually modify instance state, so it can
be marked as a const member function.
2019-02-05 15:57:29 -05:00
Lioncash 797fbcc6dd service/nvflinger: Rename GetVsyncEvent() to FindVsyncEvent()
This was missed within #2075. Renames the member function to make it
consistent with the rest of the Find* functions.
2019-02-05 15:55:18 -05:00
bunnei 38df722dc7 Merge pull request #2081 from ReinUsesLisp/lmem-64
shader_ir/memory: Add LD_L 64 bits loads
2019-02-05 09:17:48 -05:00
ReinUsesLisp c1e8fe0067 video_core/texture: Fix BitField size for depth_minus_one 2019-02-05 04:32:06 -03:00
bunnei 66514e4190 Merge pull request #2082 from FernandoS27/txq-stl
Fix TXQ not using the component mask.
2019-02-04 20:22:32 -05:00
Mat M 6506dbc577 Update src/video_core/engines/shader_bytecode.h
Co-Authored-By: FernandoS27 <fsahmkow27@gmail.com>
2019-02-03 21:27:26 -04:00
Fernando Sahmkow 4133c86d71 Fix TXQ not using the component mask. 2019-02-03 18:17:18 -04:00
ReinUsesLisp a6c3180b68 shader_ir/memory: Add ST_L 64 and 128 bits stores 2019-02-03 19:08:10 -03:00
ReinUsesLisp 13b83e6e0f shader/track: Search inside of conditional nodes
Some games search conditionally use global memory instructions. This
allows the heuristic to search inside conditional nodes for the source
constant buffer.
2019-02-03 17:21:20 -03:00
ReinUsesLisp 92c948999b shader_ir: Rename BasicBlock to NodeBlock
It's not always used as a basic block. Rename it for consistency.
2019-02-03 17:21:20 -03:00
ReinUsesLisp e3c0f29a4d shader_ir: Pass decoded nodes as a whole instead of per basic blocks
Some games call LDG at the top of a basic block, making the tracking
heuristic to fail. This commit lets the heuristic the decoded nodes as a
whole instead of per basic blocks.

This may lead to some false positives but allows it the heuristic to
track cases it previously couldn't.
2019-02-03 17:21:20 -03:00
ReinUsesLisp af1543712d video_core: Assert on invalid GPU to CPU address queries 2019-02-03 04:58:40 -03:00
ReinUsesLisp c73b44fc35 maxwell_3d: Allow sampler handles with TSC id zero 2019-02-03 04:58:40 -03:00
ReinUsesLisp 04fe4a72b9 maxwell_3d: Allow texture handles with TIC id zero
Also remove "enabled" field from Tegra::Texture::FullTextureInfo because
it would become unused.
2019-02-03 04:58:24 -03:00
ReinUsesLisp 36ccfac47b memory_manager: Check for reserved page status 2019-02-03 04:58:24 -03:00
ReinUsesLisp 0b57f33fdf shader_ir/memory: Add LD_L 128 bits loads 2019-02-03 00:35:34 -03:00
ReinUsesLisp 5ae8a056fe shader_bytecode: Rename BytesN enums to BitsN 2019-02-03 00:25:40 -03:00
ReinUsesLisp a8cbcb1210 shader_ir/memory: Add LD_L 64 bits loads 2019-02-03 00:25:40 -03:00
bunnei 896b6769d2 Merge pull request #2074 from ReinUsesLisp/shader-ir-unify-offset
shader_ir: Unify constant buffer offset values
2019-02-01 13:24:04 -05:00
bunnei 4f69ee9076 Merge pull request #2073 from lioncash/opus
hwopus: Implement DecodeInterleaved (the newest variant)
2019-02-01 13:02:16 -05:00
bunnei 26a37f8ae9 Merge pull request #2067 from ReinUsesLisp/workaround-fb
gl_rasterizer: Workaround invalid zeta clears
2019-02-01 12:50:09 -05:00
bunnei 3913faf1c0 Merge pull request #2078 from lioncash/timer
kernel: Remove the Timer class
2019-02-01 12:49:16 -05:00
ReinUsesLisp 14098c39af rasterizer_interface: Remove unused AccelerateFill operation 2019-02-01 03:02:22 -03:00
ReinUsesLisp 74a039d0bc video_core: Remove unused Fill surface type 2019-02-01 02:57:47 -03:00
Lioncash c6d2828c74 kernel: Remove the Timer class
A holdover from citra, the Horizon kernel on the switch has no
prominent kernel object that functions as a timer. At least not
to the degree of sophistication that this class provided.

As such, this can be removed entirely. This class also wasn't used at
all in any meaningful way within the core, so this was just code sitting
around doing nothing. This also allows removing a few things from the
main KernelCore class that allows it to use slightly less resources
overall (though very minor and not anything really noticeable).
2019-01-31 23:05:15 -05:00
bunnei 08a12177f8 Merge pull request #2072 from lioncash/service
service: Update function tables
2019-01-31 15:19:44 -05:00
bunnei b36d0deee7 Merge pull request #2077 from lioncash/virt
kernel/wait_object: Devirtualize functions related to manipulating the thread list directly
2019-01-31 15:19:02 -05:00
bunnei 0e1ad2492a Merge pull request #2075 from lioncash/find
service/nvflinger: Minor renaming changes
2019-01-31 11:08:36 -05:00
ReinUsesLisp b68fd9e6e9 gl_rasterizer_cache: Fixup test clause 2019-01-30 19:10:35 -03:00
Mat M 6ebdc75cce gl_rasterizer_cache: Guard clause swizzle testing
Co-Authored-By: ReinUsesLisp <reinuseslisp@airmail.cc>
2019-01-30 19:10:35 -03:00
ReinUsesLisp 3dfcff175f gl_state: Remove texture target tracking 2019-01-30 19:10:35 -03:00
ReinUsesLisp 412d59512a gl_rasterizer_cache: Move swizzling to textures instead of state 2019-01-30 19:10:35 -03:00
ReinUsesLisp 5ab4113388 gl_state: Use DSA and multi bind to update texture bindings 2019-01-30 19:10:11 -03:00
ReinUsesLisp c6c0c7947d gl_rasterizer: Use DSA for textures 2019-01-30 19:10:11 -03:00
Lioncash 9399a2efe5 kernel/wait_object: Devirtualize functions related to manipulating the thread list directly
No inheritors of the WaitObject class actually make use of their own
implementations of these functions, so they can be made non-virtual.

It's also kind of sketchy to allow overriding how the threads get added
to the list anyways, given the kernel itself on the actual hardware
doesn't seem to customize based off this.
2019-01-30 12:50:37 -05:00
Lioncash 84f0a76c97 kernel/timer: Remove unnecessary WakeupAllWaitingThreads() override
This implementation just calls the base class variant of the function,
so this isn't necessary.
2019-01-30 12:45:00 -05:00
Lioncash 53c17e5dca kernel/readable_event: Remove unnecessary WakeupAllWaitingThreads() override
This just calls the base variant of the function, so it can be removed.
2019-01-30 12:45:00 -05:00
Hexagon12 874de50bb4 Merge pull request #2076 from lioncash/enc
video_core/dma_pusher: Silence C4828 warnings
2019-01-30 19:42:15 +02:00
Lioncash 82a466695f video_core/dma_pusher: Silence C4828 warnings
This was previously causing:

warning C4828: The file contains a character starting at offset 0xa33
that is illegal in the current source character set (codepage 65001).

warnings on Windows when compiling yuzu.
2019-01-30 12:36:31 -05:00
bunnei 6fb1297325 Merge pull request #1485 from FernandoS27/render-info
Add more info into textures' object labels
2019-01-30 12:35:56 -05:00
Lioncash 3e78328569 hwopus: Implement DecodeInterleaved
This functions almost identically to DecodeInterleavedWithPerfOld,
however this function also has the ability to reset the decoder context.

This is documented as a potentially desirable thing in the libopus
manual in some circumstances as it says for the OPUS_RESET_STATE ctl:

"This should be called when switching streams in order to prevent the
back to back decoding from giving different result from one at a time
decoding."
2019-01-30 11:35:41 -05:00
Lioncash 7ba76e0c34 service/nvflinger: Make FindBufferQueueId() a const member function
This member function doesn't actually modify instance state, so it can
be const-qualified.
2019-01-30 11:14:08 -05:00
Lioncash f57dd1bae3 service/nvflinger: Rename Get prefix on function to Find
This more accurately describes what the function is actually attempting
to do (it's not a simple trivial getter).
2019-01-30 11:11:32 -05:00
ReinUsesLisp 12fbe5dcf8 shader_ir: Unify constant buffer offset values
Constant buffer values on the shader IR were using different offsets if
the access direct or indirect. cbuf34 has a non-multiplied offset while
cbuf36 does. On shader decoding this commit multiplies it by four on
cbuf34 queries.
2019-01-30 02:45:50 -03:00
Lioncash 2031c390f0 hwopus: Deduplicate the decoding code within DecodeInterleavedOld and DecodeInterleavedWithPerfOld
Keeps the logic in one spot for use by both functions.
2019-01-29 22:53:35 -05:00
Lioncash bed6adebc3 hwopus: Replace std::optional<std::reference_wrapper<u64>> with u64*
This doesn't really offer anything over the use of a direct pointer, so
we can just use that instead.
2019-01-29 22:53:35 -05:00
Lioncash 023e37145a hwopus: Mark local variables as const where applicable
Makes non-mutable state more explicit.
2019-01-29 22:53:35 -05:00
Lioncash 449c62df51 hwopus: Fill in the rest of the unknown service function names
Filled in via information provided by SwitchBrew.
2019-01-29 22:53:34 -05:00
Lioncash 136b8812a6 service/ns: Update function tables
Updates function tables based off information provided by SwitchBrew
2019-01-29 22:50:26 -05:00
Lioncash 0b8ce4befe service/ncm: Update function tables
Updates function tables based off information provided by SwitchBrew
2019-01-29 22:50:26 -05:00
Lioncash 8ed3c04db3 service/audio: Update function tables
Updates function tables based off information provided by SwitchBrew.
2019-01-29 22:50:26 -05:00
Lioncash 7da00811be service/am/applet_ae: Update function tables
Updates function tables based off information provided by SwitchBrew.
2019-01-29 22:50:26 -05:00
Lioncash 6f5785adaf service/fsp-srv: Update function tables
Updates function tables based off information provided by SwitchBrew.
2019-01-29 22:50:26 -05:00
Lioncash 75e8a6f41d service/btm: Update function tables
Updates function tables based off information provided by SwitchBrew
2019-01-29 22:50:26 -05:00
Lioncash d7bb82aaa6 service/btdrv: Update function tables
Updates function tables based off information provided by SwitchBrew.
2019-01-29 22:50:18 -05:00
bunnei d0219e0512 Merge pull request #2070 from ReinUsesLisp/cubearray-view
gl_shader_cache: Fix texture view for cubemaps as cubemap arrays
2019-01-29 22:27:08 -05:00
bunnei 003505a8e7 Merge pull request #2069 from lioncash/vi
service/nvflinger: Add the null display type
2019-01-29 22:25:26 -05:00
ReinUsesLisp 5649c48967 gl_shader_cache: Use explicit bindings 2019-01-30 00:11:02 -03:00
ReinUsesLisp ea24bd3c2a gl_rasterizer: Implement global memory management 2019-01-30 00:00:15 -03:00
ReinUsesLisp d516c50fe2 shader_decode: Implement LDG and basic cbuf tracking 2019-01-30 00:00:15 -03:00
Kevin e156f51825 video_core/GPU Implemented the GPU PFIFO puller semaphore operations. (#1908)
* Implemented the puller semaphore operations.

* Nit: Fix 2 style issues

* Nit: Add Break to default case.

* Fix style.

* Update for comments. Added ReferenceCount method

* Forgot to remove GpuSmaphoreAddress union.

* Fix the clang-format issues.

* More clang formatting.

* two more white spaces for the Clang formatting.

* Move puller members into the regs union

* Updated to use Memory::WriteBlock instead of Memory::Write*

* Fix clang style issues

* White space clang error

* Removing unused funcitons and other pr comment

* Removing unused funcitons and other pr comment

* More union magic for setting regs value.

* union magic refcnt as well

*  Remove local var

* Set up the regs and regs_assert_positions up properly

* Fix clang error
2019-01-29 21:49:18 -05:00
ReinUsesLisp 2a94d36231 gl_shader_cache: Fix texture view for cubemaps as cubemap arrays
Cubemaps are considered layered and to create a texture view the texture
mustn't be a layered texture, resulting in cubemaps being bound as
cubemap arrays. To fix this issue this commit introduces an extra
surface parameter called "is_array" and uses this to query for texture
view creation.

Now that texture views for cubemaps are actually being created, this
also fixes the number of layers created for the texture view (since they
have to be 6 to create a texture view of cubemaps).
2019-01-29 23:49:02 -03:00
ReinUsesLisp b12f08a7f7 gl_rasterizer: Workaround invalid zeta clears
Some games (like Xenoblade Chronicles 2) clear both depth and stencil
buffers while there's a depth-only texture attached (e.g. D16 Unorm).
This commit reads the zeta format of the bound surface on
ConfigureFramebuffers and returns if depth and/or stencil attachments
were set. This is ignored on DrawArrays but on Clear it's used to just
clear those attachments, bypassing an OpenGL error.
2019-01-29 23:47:33 -03:00
Lioncash ff29db57b1 service/psc: Update function tables
Updates the function tables based off information on SwitchBrew. Gets
rid of a swath of unknown names.
2019-01-29 21:16:24 -05:00
Lioncash ca1d4b7b11 nvflinger: Add the Null display
In addition to the default, external, EDID, and internal displays,
there's also a null display provided as well, which as the name
suggests, does nothing but discard all commands given to it. This is
provided for completeness.
2019-01-29 21:13:33 -05:00
Lioncash e46738887d nvflinger: Change log message in OpenDisplay to be a debug log instead of a warning
Opening a display isn't really a thing to warn about. It's an expected
thing, so this can be a debug log. This also alters the string to
indicate the display name better.

Opening "Default" display reads a little nicer compared to Opening
display Default.
2019-01-29 21:13:33 -05:00
Lioncash 3bbceb6edd nvflinger: Remove unnecessary header inclusions 2019-01-29 21:13:33 -05:00
Lioncash 159b4a2f45 nvflinger: Mark locals const where applicable
Makes non-mutable state more explicit.
2019-01-29 21:13:33 -05:00
Lioncash 9d7cbe408b nvflinger: Use a std::array for the available displays instead of std::vector
The built-in set of displays is fixed, so we can utilize an array
instead of a vector here.
2019-01-29 21:13:33 -05:00
Lioncash ce50c06bfc hle/ipc_helpers: Fix clang-format warnings 2019-01-29 21:11:04 -05:00
Lioncash 7a8e2f3538 hle/ipc_helpers: Allow pushing signed values
This is kind of a large hole in the API, given we allow popping signed
values. This fixes that.
2019-01-29 13:09:32 -05:00
bunnei 8036154738 Merge pull request #2063 from lioncash/pessimizing
video_core/shader: Minor changes
2019-01-28 19:33:26 -05:00
Lioncash 28f6a8efd8 service/pm: Implement SetMaintenanceBoot()
This quite literally functions as a basic setter. No other error
checking or anything (since there's nothing to really check against).

With this, it completes the pm:bm interface in terms of functionality.
2019-01-28 11:48:11 -05:00
Lioncash 89bf15b818 service/pm: Tidy up functionality related to SystemBootMode
Just minor tidying of interfaces.
2019-01-28 11:44:37 -05:00
Lioncash 545c88724c service/vi: Remove stubbed notifier from SetLayerVisibility
This appears to be a vestigial API function that's only kept around for
compatibility's sake, given the function only returns a success error
code and exits.

Since that's the case, we can remove the stubbed notification from the
log, since doing nothing is technically the correct behavior in this
case.
2019-01-28 08:22:28 -05:00
Lioncash 4addab6160 shader/shader_ir: Amend three comment typos
Given we're in the area, these are three trivial typos that can be
corrected.
2019-01-28 07:52:04 -05:00
Lioncash a7de39a6ba shader/shader_ir: Amend constructor initializer ordering for AbufNode
Orders the class members in the same order that they would actually be
initialized in. Gets rid of two compiler warnings.
2019-01-28 07:50:34 -05:00
Lioncash 980ea9cfb1 shader/decode: Avoid a pessimizing std::move within DecodeRange()
std::moveing a local variable in a return statement has the potential to
prevent copy elision from occurring, so this can just be converted into
a regular return.
2019-01-28 07:43:23 -05:00
bunnei 248ee22d2d Merge pull request #2060 from lioncash/exception
kernel/svc: Log out uncaught C++ exceptions from svcBreak
2019-01-27 12:55:07 -05:00
bunnei 1e186a8dd5 Merge pull request #2058 from ReinUsesLisp/trunc-warning
video_core: Silent implicit conversion warning
2019-01-27 12:49:59 -05:00
Lioncash 1ea7578fba kernel/svc: Log out uncaught C++ exceptions from svcBreak
Looking into the implementation of the C++ standard facilities that seem
to be within all modules, it appears that they use 7 as a break reason
to indicate an uncaught C++ exception.

This was primarily found via the third last function called within
Horizon's equivalent of libcxxabi's demangling_terminate_handler(),
which passes the value 0x80000007 to svcBreak.
2019-01-26 21:19:13 -05:00
fearlessTobi ed00930999 dsp_interface: fix sound being played while volume is 0
According to documentation, if the argument of std::exp is zero, one is returned.
However we want the return value to be also zero in this case so no audio is played.
2019-01-26 22:42:09 +01:00
xperia64 029dc66786 Use QPixmap/QIcon for background color selection button 2019-01-26 15:08:54 +01:00
ReinUsesLisp 93c7b4aa86 video_core: Silent implicit conversion warning 2019-01-26 02:27:14 -03:00
bunnei b1a4671770 Merge pull request #1927 from ReinUsesLisp/shader-ir
video_core: Replace gl_shader_decompiler with an IR based decompiler
2019-01-25 23:42:14 -05:00
bunnei 5a398e299c Merge pull request #2054 from bunnei/scope-context-refactor
frontend: Refactor ScopeAcquireWindowContext out of renderer_opengl.
2019-01-23 21:20:08 -05:00
bunnei 674ebdda6a frontend: Refactor ScopeAcquireWindowContext out of renderer_opengl. 2019-01-23 19:19:23 -05:00
zhupengfei c63f74ed1d citra_qt: Log settings on launch 2019-01-22 23:35:38 +01:00
ReinUsesLisp fdb76f6147 maxwell_3d: Set rt_separate_frag_data to 1 by default
Commercial games assume that this value is 1 but they never set it. On
the other hand nouveau manually sets this register. On
ConfigureFramebuffers we were asserting for what we are actually
implementing (according to envytools).
2019-01-22 04:14:29 -03:00
bunnei 1ee7b6cfed Merge pull request #2035 from lioncash/fwd-decl
yuzu/configuration: Remove unnecessary inclusions where applicable
2019-01-21 17:31:07 -05:00
James Rowe d6c9eb7510 Change const char* to const char[] 2019-01-21 10:28:32 -07:00
James Rowe 67076bc07b Fix mingw compile error and warnings 2019-01-21 09:39:45 -07:00
James Rowe cf6cbd8c26 Add fade out effect to the loading screen 2019-01-21 09:20:16 -07:00
James Rowe b3bba1e52c Set Minimum Size to the same as renderwindow 2019-01-21 08:51:37 -07:00
James Rowe 681b9f8407 Remove blue box around loading screen 2019-01-21 08:50:23 -07:00
James Rowe d152eea254 Change the background color of Stage Complete to yuzu blue 2019-01-20 19:14:14 -07:00
James Rowe 059ece9d03 Rename step 1 and step 2 to be a little more descriptive 2019-01-20 18:40:25 -07:00
James Rowe c7516a14eb Prevent estimated time from flashing after slow shader compilation starts 2019-01-20 18:31:35 -07:00
James Rowe 4084b0caec Move progress bar style into constexpr strings 2019-01-20 18:20:21 -07:00
James Rowe b2e68f104e Hide progress bar on Prepare step 2019-01-20 15:09:14 -07:00
James Rowe a923e54655 QT: Upgrade the Loading Bar to look much better 2019-01-20 14:47:35 -07:00
bunnei 04a65c6ad0 Merge pull request #2034 from jroweboy/loading-widget
QT Frontend: Add a Loading screen with progressbar
2019-01-20 15:45:07 -05:00
bunnei eea45eb2ab Merge pull request #2008 from ReinUsesLisp/dirty-framebuffers
gl_rasterizer_cache: Use dirty flags for framebuffers
2019-01-20 14:06:26 -05:00
bunnei 42e3e0cfee Merge pull request #2002 from ReinUsesLisp/dsa-vao-buffer
gl_rasterizer: Use DSA for VAOs and buffers
2019-01-20 14:06:01 -05:00
bunnei 0170f40682 Merge pull request #2032 from lioncash/web
yuzu/configuration/configure_web: Amend verification string
2019-01-20 13:26:47 -05:00
bunnei 531f203a9b Merge pull request #2025 from DarkLordZach/loader-banner-logo
loader: Add getters for application banner and logo
2019-01-20 13:26:27 -05:00
James Rowe cdf5da57aa Add a workaround if QMovie isn't available 2019-01-19 23:34:03 -07:00
James Rowe bd16d2c0cc QT Frontend: Add a Loading screen with progressbar
With shader caches on the horizon, one requirement is to provide visible
feedback for the progress. The shader cache reportedly takes several
minutes to load for large caches that were invalidated, and as such we
should provide a loading screen with progress.

Adds a loading screen widget that will be shown until the first frame of
the game is swapped. This was chosen in case shader caches are not being
used, several games still take more than a few seconds to launch and
could benefit from a loading screen.
2019-01-19 23:34:03 -07:00
bunnei 40063a35d2 Merge pull request #2031 from lioncash/priv
yuzu/web_browser: Minor cleanup
2019-01-19 12:57:09 -05:00
bunnei afeae9b7bb Merge pull request #2033 from ReinUsesLisp/fixup-clip-warning
gl_rasterizer: Silent unsafe mix warning
2019-01-19 12:56:40 -05:00
Lioncash a5d7387d47 file_sys/directory: Remove unused DirectoryBackend class
This isn't used at all, so we can just get rid of it.
2019-01-18 14:33:50 -05:00
ReinUsesLisp 189c792193 gl_rasterizer: Silent unsafe mix warning 2019-01-18 03:25:28 -03:00
Lioncash bf796fd5dd yuzu/configuration/configure_input_player: Forward declare types where applicable
Allows removing the inclusion of the main input common header from the
UI config header.
2019-01-17 12:08:15 -05:00
Lioncash f056cb73ac yuzu/configuration/configure_touchscreen_advanced: Remove unnecessary header inclusions 2019-01-17 12:02:01 -05:00
Lioncash 3f2d25b44a yuzu/configuration/configure_per_general: Remove unused header inclusions 2019-01-17 11:58:43 -05:00
Lioncash eeb04e75e2 yuzu/configuration/configure_debug: Remove unused header inclusions 2019-01-17 11:51:47 -05:00
Lioncash f567ed92e5 yuzu/configuration/configure_system: Remove unused header inclusions 2019-01-17 11:50:57 -05:00
Lioncash 274f074ed5 yuzu/configuration/configure_web: Remove an unused lambda capture
'this' isn't actually used within the lambda, since what we need
from the class is already assigned within the capture section of
the lambda.
2019-01-17 11:39:49 -05:00
Lioncash 081c5a65d8 yuzu/configuration/configure_web: Use an ellipsis with 'Verifying' text
It's a common UI pattern to use an ellipsis to indicate an ongoing
action, rather than just specifying the word by itself.
2019-01-17 11:35:59 -05:00
Lioncash f275ac383c core/frontend/applets/web_browser: Include missing headers
Gets rid of a few indirect inclusions.
2019-01-17 11:25:37 -05:00
Lioncash ab2f154ff4 core/frontend/applets/web_browser: Make OpenPage() non-const
This is a function that definitely doesn't always have a non-modifying
behavior across all implementations, so this should be made non-const.

This gets rid of the need to mark data members as mutable to work around
the fact mutating data members needs to occur.
2019-01-17 11:19:52 -05:00
Lioncash 37cbee5e33 yuzu/web_browser: std::move std::function instances in OpenPage()
Avoids the need to potentially reallocate the contained callbacks.
2019-01-17 11:10:35 -05:00
Lioncash a44dae2514 yuzu/web_browser: Make slot functions private
These currently aren't used by anything other than the QtWebBrowser
class itself, and can be made private.
2019-01-17 11:08:05 -05:00
ReinUsesLisp c5c75bc21a shader_ir: Fixup clang build 2019-01-15 21:06:05 -03:00
Zach Hilman d8094073a2 loader: Propagate NCA logo section to ReadBanner and ReadLogo 2019-01-15 16:01:04 -05:00
Zach Hilman fa4a624cc6 content_archive: Add getter for logo section of NCA 2019-01-15 16:00:29 -05:00
ReinUsesLisp 4388b8cee0 gl_shader_decompiler: replace std::get<> with std::get_if<> for macOS compatibility 2019-01-15 17:54:53 -03:00
ReinUsesLisp ddbc441989 gl_shader_decompiler: Inline textureGather component 2019-01-15 17:54:53 -03:00
ReinUsesLisp 53c06f089d shader_decode: Fixup XMAD 2019-01-15 17:54:53 -03:00
ReinUsesLisp 1be12d5819 shader_ir: Pass to decoder functions basic block's code 2019-01-15 17:54:53 -03:00
ReinUsesLisp 719c83a4c2 shader_decode: Improve zero flag implementation 2019-01-15 17:54:53 -03:00
ReinUsesLisp c75f5c634a shader_ir: Remove composite primitives and use temporals instead 2019-01-15 17:54:53 -03:00
ReinUsesLisp 960b0f653a gl_shader_decompiler: Fixup AssignCompositeHalf 2019-01-15 17:54:53 -03:00
ReinUsesLisp 92610e9705 shader_decode: Use proper primitive names 2019-01-15 17:54:53 -03:00
ReinUsesLisp 44fce20a01 shader_decode: Use BitfieldExtract instead of shift + and 2019-01-15 17:54:53 -03:00
ReinUsesLisp 26d519c0f6 shader_ir: Remove Ipa primitive 2019-01-15 17:54:53 -03:00
ReinUsesLisp 0a9aa9f8db gl_shader_decompiler: Use rasterizer's UBO size limit 2019-01-15 17:54:53 -03:00
ReinUsesLisp 16dee3d290 gl_shader_gen: Fixup code formatting 2019-01-15 17:54:53 -03:00
ReinUsesLisp 685996eabb video_core: Rename glsl_decompiler to gl_shader_decompiler 2019-01-15 17:54:53 -03:00
ReinUsesLisp 8df3fb8b1e shader_ir: Remove RZ and use Register::ZeroIndex instead 2019-01-15 17:54:53 -03:00
ReinUsesLisp 35724f3435 shader_decode: Implement TEXS.F16 2019-01-15 17:54:53 -03:00
ReinUsesLisp afa9967c4a shader_decode: Fixup R2P 2019-01-15 17:54:53 -03:00
ReinUsesLisp be9d40cf0d glsl_decompiler: Fixup TLDS 2019-01-15 17:54:53 -03:00
ReinUsesLisp d08982ed56 glsl_decompiler: Fixup geometry shaders 2019-01-15 17:54:53 -03:00
ReinUsesLisp a90860a63a shader_decode: Fixup WriteLogicOperation zero comparison 2019-01-15 17:54:53 -03:00
ReinUsesLisp afbbc154d0 glsl_decompiler: Fixup permissive member function declarations 2019-01-15 17:54:53 -03:00
ReinUsesLisp 1314fd5277 shader_decode: Fixup PSET 2019-01-15 17:54:53 -03:00
ReinUsesLisp 495fbb2096 shader_decode: Fixup clang-format 2019-01-15 17:54:53 -03:00
ReinUsesLisp 0b1a2a74b6 video_core: Implement IR based geometry shaders 2019-01-15 17:54:53 -03:00
ReinUsesLisp 095b8f822b shader_decode: Implement VMAD and VSETP 2019-01-15 17:54:53 -03:00
ReinUsesLisp a71ce91f9b shader_decode: Implement HSET2 2019-01-15 17:54:53 -03:00
ReinUsesLisp 5896358e4a shader_decode: Rework HSETP2 2019-01-15 17:54:53 -03:00
ReinUsesLisp e0971b5f9c shader_decode: Implement R2P 2019-01-15 17:54:53 -03:00
ReinUsesLisp 8f2327d84b shader_decode: Implement CSETP 2019-01-15 17:54:52 -03:00
ReinUsesLisp da25db6829 shader_decode: Implement PSET 2019-01-15 17:54:52 -03:00
ReinUsesLisp 54bffa5381 shader_decode: Implement HFMA2 2019-01-15 17:54:52 -03:00
ReinUsesLisp 17b2a1d2b0 glsl_decompiler: Remove HNegate inlining 2019-01-15 17:54:52 -03:00
ReinUsesLisp 9cf3fe7511 shader_decode: Implement POPC 2019-01-15 17:54:52 -03:00
ReinUsesLisp 43dffc4afc shader_decode: Implement TLDS (untested) 2019-01-15 17:54:52 -03:00
ReinUsesLisp 8e4e4c60cd shader_decode: Update TLD4 reflecting #1862 changes 2019-01-15 17:54:52 -03:00
ReinUsesLisp fb53e79b7f shader_ir: Fixup TEX and TEXS and partially fix TLD4 decompiling 2019-01-15 17:54:52 -03:00
ReinUsesLisp 8664c00a2e shader_decode: Fixup FSET 2019-01-15 17:54:52 -03:00
ReinUsesLisp bdfa3b5fe9 shader_decode: Implement IADD32I 2019-01-15 17:54:52 -03:00
ReinUsesLisp bcf228b15c shader_decode: Fixup clang-format 2019-01-15 17:54:52 -03:00
ReinUsesLisp dc93729f47 video_core: Return safe values after an assert hits 2019-01-15 17:54:52 -03:00
ReinUsesLisp dbf4c5264b shader_decode: Implement FFMA 2019-01-15 17:54:52 -03:00
ReinUsesLisp 568d9a2a7b video_core: Address feedback 2019-01-15 17:54:52 -03:00
ReinUsesLisp 8ef8fd8188 shader_ir: Fixup file inclusions and clang-format 2019-01-15 17:54:52 -03:00
Mat M 15a03ee53f shader_ir: Move comment node string
Co-Authored-By: ReinUsesLisp <reinuseslisp@airmail.cc>
2019-01-15 17:54:52 -03:00
ReinUsesLisp 4e8b1bf07a shader_ir: Address feedback to avoid UB in bit casting 2019-01-15 17:54:52 -03:00
ReinUsesLisp 6e4aad30c9 shader_decode: Fixup clang-format 2019-01-15 17:54:52 -03:00
ReinUsesLisp 497d16bdf1 shader_decode: Implement LEA 2019-01-15 17:54:52 -03:00
ReinUsesLisp 368b588c7f shader_decode: Implement IADD3 2019-01-15 17:54:52 -03:00
ReinUsesLisp 37de0d1560 shader_decode: Implement LOP3 2019-01-15 17:54:52 -03:00
ReinUsesLisp 40e9335807 shader_decode: Implement ST_L 2019-01-15 17:54:52 -03:00
ReinUsesLisp af828ce72c shader_decode: Implement LD_L 2019-01-15 17:54:52 -03:00
ReinUsesLisp b3c02a5a4e shader_decode: Implement HSETP2 2019-01-15 17:54:52 -03:00
ReinUsesLisp 60d4f9d95d shader_decode: Implement HADD2 and HMUL2 2019-01-15 17:54:52 -03:00
ReinUsesLisp 54a153a786 shader_decode: Implement HADD2_IMM and HMUL2_IMM 2019-01-15 17:54:52 -03:00
ReinUsesLisp 4c506f195a shader_decode: Implement MOV_SYS 2019-01-15 17:54:52 -03:00
ReinUsesLisp 966f3ba473 shader_decode: Implement IMNMX 2019-01-15 17:54:52 -03:00
ReinUsesLisp 68ae98c2ee shader_decode: Implement F2F_C 2019-01-15 17:54:52 -03:00
ReinUsesLisp 039f4d79e5 shader_decode: Implement I2I 2019-01-15 17:54:52 -03:00
ReinUsesLisp 5888937b4f shader_decode: Implement BRA internal flag 2019-01-15 17:54:52 -03:00
ReinUsesLisp 00635651b5 shader_decode: Implement ISCADD 2019-01-15 17:54:52 -03:00
ReinUsesLisp 2b743cc96d shader_decode: Implement XMAD 2019-01-15 17:54:51 -03:00
ReinUsesLisp 364a7e98a1 shader_decode: Implement PBK and BRK 2019-01-15 17:54:51 -03:00
ReinUsesLisp 7dacc87b43 shader_decode: Implement LOP 2019-01-15 17:54:51 -03:00
ReinUsesLisp 37f6b017a0 shader_decode: Implement SEL 2019-01-15 17:54:51 -03:00
ReinUsesLisp 44787c1070 shader_decode: Implement IADD 2019-01-15 17:54:51 -03:00
ReinUsesLisp ed53fd9dbb shader_decode: Implement ISETP 2019-01-15 17:54:51 -03:00
ReinUsesLisp 9516ef648d shader_decode: Implement BFI 2019-01-15 17:54:51 -03:00
ReinUsesLisp 1fa5026f8d shader_decode: Implement ISET 2019-01-15 17:54:51 -03:00
ReinUsesLisp 3d2bc3b2a6 shader_decode: Implement LD_C 2019-01-15 17:54:51 -03:00
ReinUsesLisp df7101ea73 shader_decode: Implement SHL 2019-01-15 17:54:51 -03:00
ReinUsesLisp 87086ae3d6 shader_decode: Implement SHR 2019-01-15 17:54:51 -03:00
ReinUsesLisp 9aed1ef451 shader_decode: Implement LOP32I 2019-01-15 17:54:51 -03:00
ReinUsesLisp 5d71064f60 shader_decode: Implement BFE 2019-01-15 17:54:51 -03:00
ReinUsesLisp 6d21611470 shader_decode: Implement FSET 2019-01-15 17:54:51 -03:00
ReinUsesLisp 22618d59df shader_decode: Implement F2I 2019-01-15 17:54:51 -03:00
ReinUsesLisp d373f13b8a shader_decode: Implement I2F 2019-01-15 17:54:51 -03:00
ReinUsesLisp e456e2c1f3 shader_decode: Implement F2F 2019-01-15 17:54:50 -03:00
ReinUsesLisp d72735028d shader_decode: Stub DEPBAR 2019-01-15 17:54:50 -03:00
ReinUsesLisp 6f10bfaa08 shader_decode: Implement SSY and SYNC 2019-01-15 17:54:50 -03:00
ReinUsesLisp fc0b3219fd shader_decode: Implement PSETP 2019-01-15 17:54:50 -03:00
ReinUsesLisp 839abe1408 shader_decode: Implement TMML 2019-01-15 17:54:50 -03:00
ReinUsesLisp 0425f475d5 shader_decode: Implement TEX and TXQ 2019-01-15 17:54:50 -03:00
ReinUsesLisp c8d0937ae5 shader_decode: Implement TEXS (F32) 2019-01-15 17:54:50 -03:00
ReinUsesLisp ec28320c14 shader_decode: Implement FSETP 2019-01-15 17:54:50 -03:00
ReinUsesLisp 3aa53e3c01 shader_decode: Partially implement BRA 2019-01-15 17:54:50 -03:00
ReinUsesLisp 0398f7d0a4 shader_decode: Implement IPA 2019-01-15 17:54:50 -03:00
ReinUsesLisp bc5992fccb shader_decode: Implement EXIT 2019-01-15 17:54:50 -03:00
ReinUsesLisp efda47fa37 shader_decode: Implement ST_A 2019-01-15 17:54:50 -03:00
ReinUsesLisp 0673f11907 shader_decode: Implement LD_A 2019-01-15 17:54:50 -03:00
ReinUsesLisp b7b08104e5 shader_decode: Implement FADD32I 2019-01-15 17:54:50 -03:00
ReinUsesLisp 0b08169b9d shader_decode: Implement FMUL32_IMM 2019-01-15 17:54:50 -03:00
ReinUsesLisp 4e1582eed1 shader_decode: Implement MOV32_IMM 2019-01-15 17:54:50 -03:00
ReinUsesLisp b558235ec6 shader_decode: Stub RRO_C, RRO_R and RRO_IMM 2019-01-15 17:54:50 -03:00
ReinUsesLisp cb19ed0316 shader_decode: Implement FMNMX_C, FMNMX_R and FMNMX_IMM 2019-01-15 17:54:50 -03:00
ReinUsesLisp 12d5281eff shader_decode: Implement MUFU 2019-01-15 17:54:50 -03:00
ReinUsesLisp bdafb25d16 shader_decode: Implement FADD_C, FADD_R and FADD_IMM 2019-01-15 17:54:50 -03:00
ReinUsesLisp aa64616724 shader_decode: Implement FMUL_C, FMUL_R and FMUL_IMM 2019-01-15 17:54:50 -03:00
ReinUsesLisp 42b7053aa4 shader_decode: Implement MOV_C and MOV_R 2019-01-15 17:54:50 -03:00
ReinUsesLisp 19ca02d47b video_core: Replace gl_shader_decompiler 2019-01-15 17:54:50 -03:00
ReinUsesLisp 5678498dfd glsl_decompiler: Implementation 2019-01-15 17:54:50 -03:00
ReinUsesLisp 74ee18de5e shader_ir: Add condition code helper 2019-01-15 17:54:50 -03:00
ReinUsesLisp 283dd9fb61 shader_ir: Add predicate combiner helper 2019-01-15 17:54:49 -03:00
ReinUsesLisp d28033adca shader_ir: Add comparison helpers 2019-01-15 17:54:49 -03:00