Commit graph

8107 commits

Author SHA1 Message Date
bunnei 9221ebe9eb Merge pull request #1623 from Tinob/master
Improve OpenGL state handling
2018-11-01 15:53:33 -04:00
FernandoS27 fe596b4c6e Fix ASTC formats 2018-11-01 13:08:19 -04:00
FernandoS27 493bb10cce Implemented ASTC 5x5 2018-11-01 13:06:24 -04:00
FernandoS27 d125512225 Implement Cube Arrays 2018-11-01 11:56:19 -04:00
bunnei 50b2aed937 Merge pull request #1527 from FernandoS27/assert-flow
Assert Control Flow Instructions using Control Codes
2018-11-01 00:34:56 -04:00
bunnei 42b74a5e41 maxwell_3d: Restructure macro upload to use a single macro code memory.
- Fixes an issue where macros could be skipped.
- Fixes rendering of distant objects in Super Mario Odyssey.
2018-10-31 23:29:21 -04:00
bunnei f6d9e33742 Merge pull request #1604 from FearlessTobi/port-4369
Port citra-emu/citra#4369: "compatdb: Use a seperate endpoint for testcase submission"
2018-10-31 22:37:07 -04:00
bunnei 7bca4ea21a Merge pull request #1528 from FernandoS27/assert-control-codes
Assert Control Codes Generation on Shader Instructions
2018-10-31 22:34:18 -04:00
bunnei 6c2d255b6c Merge pull request #1614 from ReinUsesLisp/surface-params
video_core: Move surface declarations out of gl_rasterizer_cache
2018-10-31 22:31:02 -04:00
Lioncash eae8892b57 configure_system: Contrain profile usernames to 32 characters
Previously, we would let a user enter an unbounded name and then
silently truncate away characters that went over the 32-character limit.
This is kind of bad from the UX point of view, because we're essentially
not doing what the user intended in certain scenarios.

Instead, we clamp it to 32 characters and make that visually apparent in
the dialog box to provide a name for a user.
2018-10-31 02:05:00 -04:00
Rodolfo Bogado cbbb016f34 Improve OpenGL state handling 2018-10-30 21:19:04 -03:00
Lioncash 1429e2ca92 service/usb: Update IPdSession's function table
Updated based off information on SwitchBrew.
2018-10-30 15:23:49 -04:00
ReinUsesLisp 58988435c2 video_core: Move surface declarations out of gl_rasterizer_cache 2018-10-30 16:07:20 -03:00
FernandoS27 906d2fd5af Assert Control Codes Generation 2018-10-30 13:37:55 -04:00
bunnei 6ce20c4d1f Merge pull request #1624 from lioncash/boost
general: Remove unused boost inclusions where applicable
2018-10-30 13:13:39 -04:00
bunnei a090b0a28c Merge pull request #1595 from FreddyFunk/cast
configure_system: Fix compiler warning
2018-10-30 00:27:41 -04:00
Lioncash 70e4492d49 general: Remove unused boost inclusions where applicable
Cleans up unused includes and trims off some dependencies on externals.
2018-10-30 00:09:46 -04:00
Frederic L c76f4b6aec global: Use std::optional instead of boost::optional (#1578)
* get rid of boost::optional

* Remove optional references

* Use std::reference_wrapper for optional references

* Fix clang format

* Fix clang format part 2

* Adressed feedback

* Fix clang format and MacOS build
2018-10-30 00:03:25 -04:00
bunnei bc45d67f35 Merge pull request #1621 from lioncash/ipc
hle_ipc: Make GetDomainMessageHeader return a regular pointer
2018-10-29 23:55:59 -04:00
Lioncash 6f2cb1a437 hle_ipc: Add member function for querying the existence of a domain header
Gets rid of the need to call the getter and then check for null.
2018-10-29 23:28:04 -04:00
Lioncash abf974f2f5 hle_ipc: Make GetDomainMessageHeader return a regular pointer
Nothing requires the shared owner ship here, so we can just return a
plain pointer.
2018-10-29 23:18:25 -04:00
bunnei 2bf8ae7730 Merge pull request #1611 from lioncash/const
core: Add missing const variants of getters for the System class
2018-10-29 22:48:59 -04:00
bunnei 7a504b045b Merge pull request #1580 from FernandoS27/mm-impl
Implemented Mipmaps
2018-10-29 22:34:00 -04:00
bunnei 3465685c93 Merge pull request #1617 from FearlessTobi/fix-stretch-delay
time_stretch: Switch to values of Citra
2018-10-29 19:09:30 -04:00
bunnei b8d04591e5 Merge pull request #1613 from ReinUsesLisp/gl-utils
video_core: Move OpenGL specific utils to its renderer
2018-10-29 13:22:14 -04:00
fearlessTobi 0470bc90ce time_stretch: Switch to values of Citra 2018-10-29 14:49:36 +01:00
bunnei 24c7e153b7 Merge pull request #1610 from slashiee/dxt1-alpha
renderer_opengl: Enable alpha channel for DXT1 texture format
2018-10-28 21:29:43 -04:00
ReinUsesLisp 06aee386b7 video_core: Move OpenGL specific utils to its renderer 2018-10-28 22:22:30 -03:00
Rodolfo Bogado c7a7479993 renderer_opengl: Correct bpp value for ASTC_2D_8X5_SRGB 2018-10-28 20:52:57 -03:00
FernandoS27 8b69038887 Assert Control Flow Instructions using Control Codes 2018-10-28 19:16:41 -04:00
FernandoS27 af83b683d8 Fixed black textures, pixelation and we no longer require to auto-generate mipmaps 2018-10-28 19:00:49 -04:00
FernandoS27 be78be20dc Fixed mipmap block autosizing algorithm 2018-10-28 19:00:05 -04:00
FernandoS27 c9f347e156 Fixed Invalid Image size and Mipmap calculation 2018-10-28 19:00:04 -04:00
FernandoS27 b6e94867b9 Fixed Block Resizing algorithm and Clang Format 2018-10-28 19:00:03 -04:00
FernandoS27 5d5236c512 Implement Mip Filter 2018-10-28 19:00:01 -04:00
FernandoS27 76ce66359d Zero out memory region of recreated surface before flushing 2018-10-28 19:00:00 -04:00
FernandoS27 87d1001720 Implement Mipmaps 2018-10-28 18:59:59 -04:00
Lioncash 55233bbdd2 core: Make System references const where applicable 2018-10-28 17:45:29 -04:00
Lioncash 9497f1d93f core: Add missing const variants of getters for the System class
Many of the Current<Thing> getters (as well as a few others) were
missing const qualified variants, which makes it a pain to retrieve
certain things from const qualified references to System.
2018-10-28 17:44:58 -04:00
Michael df99f996f8 Enable alpha channel for DXT1 texture format 2018-10-28 14:11:04 -07:00
Frederic Laing d0eea8fc3a configure_system: Fix compiler warning 2018-10-28 21:13:09 +01:00
Tobias 8a7dd746c1 Correct bpp value for ASTC_2D_8X5 2018-10-28 19:49:10 +01:00
bunnei e35ba30edc Merge pull request #1601 from FernandoS27/shader-precision
Improved Shader accuracy on Vertex and Geometry Shaders.
2018-10-28 13:06:21 -04:00
FernandoS27 95576a248a Refactor precise usage and add FMNMX, MUFU, FMUL32 and FADD332 2018-10-28 11:38:40 -04:00
fearlessTobi 381e04453a compatdb: Use a seperate endpoint for testcase submission 2018-10-28 13:23:02 +01:00
bunnei 9ec2b90746 Merge pull request #1593 from lioncash/svc
svc: Implement svcGetInfo command 0xF0000002
2018-10-28 04:38:48 -04:00
Frederic L cbe1bbf1bd file_sys/patch_manager: Remove unnecessary if-statements (#1586)
* remove unnecessary if-statements

* Addressed feedback
2018-10-28 02:30:29 -04:00
bunnei 705fd08ea1 Merge pull request #1598 from DeeJayBro/delete-directory
service/filesystem: Implemented DeleteDirectory & DeleteDirectoryRecursive
2018-10-28 02:29:52 -04:00
bunnei 8cda0ea59f Merge pull request #1600 from DarkLordZach/nsp-secondary-loader-fix
loader/nsp: Move secondary loader initialization to constructor
2018-10-28 02:29:14 -04:00
Rodolfo Bogado 1670155ee2 Implement sRGB Support, including workarounds for nvidia driver issues and QT sRGB support 2018-10-28 01:13:55 -03:00
bunnei 7323124f91 Merge pull request #1602 from DarkLordZach/key-derivation-isxdigit
key_manager: Use isxdigit instead of isdigit when reading key file
2018-10-27 23:54:48 -04:00
Zach Hilman 74802ed32a key_manager: Use isxdigit instead of isdigit when reading key file
Crypto revisions are hex numbers and this function only checks if the string is valid for stoul in base 16, so it should be isxdigit.
2018-10-27 21:56:10 -04:00
bunnei 3ca995cd9a Merge pull request #1597 from lioncash/error
configure_system: Indicate when filesystem operations fail
2018-10-27 21:09:31 -04:00
bunnei ca9c311f85 Merge pull request #1594 from FreddyFunk/static-cast
gl_rasterizer_cache: Fix compiler warning
2018-10-27 21:09:06 -04:00
FernandoS27 6eb07feeea Improved Shader accuracy on Vertex and Geometry Shaders with FFMA, FMUL and FADD 2018-10-27 20:09:26 -04:00
bunnei 5bff98c4be Merge pull request #1596 from FearlessTobi/port-4367
Port citra-emu/citra#4367: "cubeb_sink: ignore null-name device when selecting"
2018-10-27 13:26:24 -04:00
bunnei d9cfb9dc15 Merge pull request #1592 from bunnei/prim-restart
gl_rasterizer: Implement primitive restart.
2018-10-27 13:25:00 -04:00
FernandoS27 6540abe0d7 Implement Default Block Height for each format 2018-10-27 10:17:39 -04:00
Zach Hilman bd78dc0c29 loader/nsp: Move secondary loader initialization to constructor
Prevents nullptr bug when trying to dump the RomFS of an NSP resulting from secondary_loader not being initialized.
2018-10-27 10:16:29 -04:00
Frederic Laing a2ce78114e gl_rasterizer_cache: Fix compiler warning 2018-10-27 13:06:26 +02:00
DeeJayBro d29877e73e service/filesystem: Add DirectoryDelete & DirectoryDeleteRecursively 2018-10-27 11:56:39 +02:00
Lioncash f7d6c35085 configure_system: Make GetIcon() return the scaled 64x64 icon
Avoids the need to put the scaling parameters all over the place for the
common case. The only other time scaling is done is to generate the
smaller 48x48 image, so this is fine.
2018-10-27 01:05:56 -04:00
Lioncash f4272e65b8 configure_system: Move entry formatting for the user account list entries to its own function
Avoids the need to duplicate this all over the place, and makes it
translator-friendly across the board.
2018-10-27 01:05:56 -04:00
Lioncash 2099e41b17 configure_system: Display errors to the user if file operations fail when setting user images
We should display an error to the user if setting a user image for an
account fails, rather than continuing onwards.
2018-10-27 01:05:50 -04:00
Weiyi Wang 8c7a40434a cubeb_sink: ignore null-name device when selecting
We already ignore them on listing devices. We should do the same when selecting devices. This fix a crash when opening a specific device while there is a null device in the list
2018-10-27 00:43:04 +02:00
Lioncash 2aa6e317d6 svc: Localize the GetInfo enum class to the function itself
Nothing from this enum is intended to be used outside of this function.
2018-10-26 12:49:14 -04:00
Lioncash 9bb7bc911f svc: Implement svcGetInfo command 0xF0000002
This retrieves:

if (curr_thread == handle_thread) {
   result = total_thread_ticks + (hardware_tick_count - last_context_switch_ticks);
} else if (curr_thread == handle_thread && sub_id == current_core_index) {
   result = hardware_tick_count - last_context_switch_ticks;
}
2018-10-26 12:49:11 -04:00
bunnei b22ff96e0a gl_rasterizer: Implement primitive restart. 2018-10-26 00:42:57 -04:00
bunnei 688ddb4c94 Merge pull request #1533 from FernandoS27/lmem
Implemented Shader Local Memory
2018-10-26 00:16:25 -04:00
bunnei 96d131ebc1 Merge pull request #1430 from DarkLordZach/remove-promote-dir
vfs: Remove InterpretAsDirectory and related functions
2018-10-26 00:15:34 -04:00
bunnei 37f48fefb7 Merge pull request #1591 from bunnei/depth-range
gl_rasterizer: Implement depth range.
2018-10-26 00:12:20 -04:00
bunnei 2bc1f075bb maxwell_3d: Add code for initializing register defaults. 2018-10-25 23:42:39 -04:00
bunnei 2854218179 Merge pull request #1569 from lioncash/amiibo
yuzu/main: Notify user of loading errors with Amiibo data
2018-10-25 22:10:08 -04:00
bunnei 101c0f30b3 Merge pull request #1587 from lioncash/private
configure_system: Minor cleanup-related changes
2018-10-25 22:08:06 -04:00
bunnei 419b62982f gl_rasterizer: Implement depth range. 2018-10-25 21:53:24 -04:00
bunnei c86d76d65c ldr: Partially implement LoadNro.
- This is an incomplete implementation. It was tested with Super Mario Party.
2018-10-25 18:03:54 -04:00
bunnei bdb2835028 process: LoadModule should clear JIT instruction cache. 2018-10-25 18:03:54 -04:00
bunnei 59b8f91cb2 Kernel/Memory: Added a function to first a suitable guest address at which to allocate a region of a given size. 2018-10-25 18:03:54 -04:00
bunnei ae5b0d437f nro: Make LoadNro method accessible outside of apploader code. 2018-10-25 18:03:54 -04:00
Lioncash 062bf90622 configure_system: Make the file selector text translatable
This should be localizable, since it's user-facing text.
2018-10-25 17:27:30 -04:00
Lioncash 73dea24300 configure_system: Make GetAccountUsername() an internal function
We can just make the function accept an arbitrary ProfileManager
reference and operate on that instead of tying the function to the class
itself. This allows us to keep the function internal to the cpp file and
removes the need to forward declare the UUID struct.
2018-10-25 17:27:25 -04:00
Lioncash f38577db9a configure_system: Default initialize member variables
These should be initialized to deterministic values so it's easier to
catch improper behavior, as it'll always be reproducable, instead of
performing uninitialized reads.
2018-10-25 16:52:23 -04:00
Lioncash 45c01544a6 configure_system: Simplify UUID generation call in AddUser()
This is a static function so we can just perform an assignment directly.
2018-10-25 16:50:07 -04:00
Lioncash e39e875547 configure_system: Amend function casing 2018-10-25 16:47:09 -04:00
Lioncash 6a0e8f4357 configure_system: Add missing override specifier on the destructor 2018-10-25 16:45:13 -04:00
Lioncash 49882458f5 configure_system: Make public slots private
These are only used within this class, so we can make them private to
keep their use contained. This also gets rid of the pre-Qt5 'slot'
identifier, since Qt 5's connection syntax doesn't require a function to
be declared a slot anymore.
2018-10-25 16:43:44 -04:00
Zach Hilman 0bb4dbc74b ips_layer: Use rle_size instead of data_size in RLE patch application
Prevents a potential bug when using RLE records in an IPS patch.
2018-10-25 14:23:56 -04:00
bunnei 47ca03016e Merge pull request #1579 from lioncash/usb
service/usb: Update service function tables
2018-10-25 12:22:57 -04:00
bunnei 1c59a4234a Merge pull request #1576 from lioncash/acc-warn
service/acc: Silence compiler truncation warnings
2018-10-25 12:22:10 -04:00
bunnei b113cf4aab Merge pull request #1577 from lioncash/err
kernel/error: Amend error return code values
2018-10-25 01:10:26 -04:00
bunnei 6bf7e0d83d Merge pull request #1524 from FernandoS27/layers-fix
rasterizer: Fix Layered Textures Loading and Cubemaps
2018-10-25 00:29:18 -04:00
bunnei 418febe1e4 Merge pull request #1575 from lioncash/qstring
game_list_worker: Use QString's formatting instead of fmt in FormatPatchNameVersions()
2018-10-24 19:39:43 -04:00
Lioncash 64968341b7 service/usb: Update service function tables
Updated based off the information provided by Hexkyz on Switchbrew.
2018-10-24 19:07:55 -04:00
Lioncash 9c03c5ac8a service/acc: Move fallback image to file scope
This is just flat data, so it doesn't really need to be in the function
itself. This also allows deduplicating the constant for the backup size
in GetImageSize().
2018-10-24 18:22:24 -04:00
Lioncash 6da246b0c2 service/acc: Silence compiler warnings
Silences compiler warnings related to truncation. This also introduces a
small helper function to perform the clamping of the image size.
2018-10-24 18:22:24 -04:00
Lioncash 8eec717cce service/acc: Early return in failure case in LoadImage()
Allows unindenting the other branch's code.
2018-10-24 18:22:20 -04:00
bunnei 05575b9663 Merge pull request #1570 from lioncash/optional
profile_manager: Use std::optional instead of boost::optional
2018-10-24 18:11:03 -04:00
bunnei f7a85d507e Merge pull request #1558 from lioncash/ptr
yuzu/configuration/config: Use a std::unique_ptr for qt_config instead of a raw pointer
2018-10-24 18:07:14 -04:00
FernandoS27 159bedd74f Implemented LD_L and ST_L 2018-10-24 17:51:53 -04:00
FernandoS27 2d0d8fa85c Implement Shader Local Memory 2018-10-24 17:50:43 -04:00