summaryrefslogtreecommitdiff
path: root/src
AgeCommit message (Collapse)Author
2019-03-14Merge pull request #2230 from lioncash/globalbunnei
kernel/process: Remove use of global system accessors
2019-03-14Merge pull request #2216 from ReinUsesLisp/rasterizer-systembunnei
gl_rasterizer: Use system instance passed from argument
2019-03-13Merge pull request #2227 from lioncash/overridebunnei
renderer_opengl/gl_global_cache: Add missing override specifiers
2019-03-13Merge pull request #2226 from lioncash/privatebunnei
kernel/server_port: Make data members private
2019-03-13Merge pull request #2223 from lioncash/errorbunnei
core/hle/result: Tidy up the base error code result header.
2019-03-13Merge pull request #2187 from FearlessTobi/port-sdl-thingsbunnei
Port various Citra changes to input_common, including deadzone support
2019-03-13Merge pull request #2166 from lioncash/vi-init-servicebunnei
service/vi: Unstub GetDisplayService
2019-03-13video_core/texture: Fix up sampler lod biasReinUsesLisp
2019-03-12kernel/process: Remove use of global system accessorsLioncash
Now that we pass in a reference to the system instance, we can utilize it to eliminate the global accessors in Process-related code.
2019-03-12Merge pull request #2211 from lioncash/arbiterbunnei
kernel: Make the address arbiter instance per-process
2019-03-12Merge pull request #2222 from lioncash/cstrbunnei
service/service: Remove unncessary calls to c_str()
2019-03-12Merge pull request #2215 from ReinUsesLisp/samplersbunnei
gl_rasterizer: Encapsulate sampler queries into methods
2019-03-11renderer_opengl/gl_global_cache: Replace indexing for assignment with ↵Lioncash
insert_or_assign The previous code had some minor issues with it, really not a big deal, but amending it is basically 'free', so I figured, "why not?". With the standard container maps, when: map[key] = thing; is done, this can cause potentially undesirable behavior in certain scenarios. In particular, if there's no value associated with the key, then the map constructs a default initialized instance of the value type. In this case, since it's a std::shared_ptr (as a type alias) that is the value type, this will construct a std::shared_pointer, and then assign over it (with objects that are quite large, or actively heap allocate this can be extremely undesirable). We also make the function take the region by value, as we can avoid a copy (and by extension with std::shared_ptr, a copy causes an atomic reference count increment), in certain scenarios when ownership isn't a concern (i.e. when ReserveGlobalRegion is called with an rvalue reference, then no copy at all occurs). So, it's more-or-less a "free" gain without many downsides.
2019-03-11renderer_opengl/gl_global_cache: Append missing override specifiersLioncash
Two of the functions here are overridden functions, so we can append these specifiers to make it explicit.
2019-03-11kernel/server_port: Make data members privateLioncash
With this, all kernel objects finally have all of their data members behind an interface, making it nicer to reason about interactions with other code (as external code no longer has the freedom to totally alter internals and potentially messing up invariants).
2019-03-11gl_rasterizer: Use system instance passed from argumentReinUsesLisp
2019-03-10core/hle/result: Remove now-unnecessary manually defined copy assignment ↵Lioncash
operator Previously this was required, as BitField wasn't trivially copyable. BitField has since been made trivially copyable, so now this isn't required anymore.
2019-03-10core/hle/result: Amend error in comment description for ResultCodeLioncash
Gets rid of another holdover from Citra, and describes the OS on the Switch instead.
2019-03-10core/hle/result: Remove now-unused constructor for ResultCodeLioncash
Now that the final stray ErrorDescription member was relocated, we can finally remove it and its relevant constructor in the ResultCode union.
2019-03-10core/hle/result: Relocate IPC error code to ipc_helpersLioncash
Relocates the error code to where it's most related, similar to how all the other error codes are. Previously we were including a non-generic error in the main result code header.
2019-03-10service/service: Remove unncessary calls to c_str()Lioncash
These can just be passed regularly, now that we use fmt instead of our old logging system. While we're at it, make the parameters to MakeFunctionString std::string_views.
2019-03-10Merge pull request #2207 from lioncash/hwopusbunnei
service/audio/hwopus: Move decoder state to its own class
2019-03-10Merge pull request #2193 from lioncash/globalbunnei
kernel/scheduler: Pass in system instance in constructor
2019-03-10Merge pull request #2147 from ReinUsesLisp/texture-cleanbunnei
shader_ir: Remove "extras" from the MetaTexture
2019-03-10Merge pull request #2143 from ReinUsesLisp/texviewbunnei
gl_rasterizer_cache: Create texture views for array discrepancies
2019-03-10Merge pull request #2220 from lioncash/cubebbunnei
audio_core/cubeb_sink: Convert _MSC_VER ifdefs to _WIN32
2019-03-10Merge pull request #2217 from ReinUsesLisp/rasterizer-loggerMat M
gl_rasterizer: Minor logger changes
2019-03-10Merge pull request #2219 from Hexagon12/log-settingsMat M
core/settings: Log more setting values
2019-03-09audio_core/cubeb_sink: Convert _MSC_VER ifdefs to _WIN32Lioncash
This behavior also needs to be visible for MinGW builds as well.
2019-03-09clang fixHexagon12
2019-03-09Log 2 new setting valuesHexagon12
2019-03-09gl_rasterizer: Encapsulate sampler queries into methodsReinUsesLisp
2019-03-09yuzu_cmd/config: Replace C casts with static_castReinUsesLisp
2019-03-09yuzu_cmd/config: Silent implicit cast warningReinUsesLisp
2019-03-09gl_rasterizer: Minor logger changesReinUsesLisp
2019-03-08Merge pull request #2210 from lioncash/optionalbunnei
kernel/hle_ipc: Convert std::shared_ptr IPC header instances to std::optional
2019-03-08Merge pull request #2209 from lioncash/reorderbunnei
video_core/gpu_thread: Silence a -Wreorder warning
2019-03-08Merge pull request #2208 from lioncash/gpubunnei
video_core/gpu: Make GPU's destructor virtual
2019-03-08Merge pull request #2191 from ReinUsesLisp/maxwell-to-vkbunnei
maxwell_to_vk: Initial implementation
2019-03-08dma_pusher: Store command_list_header by copyReinUsesLisp
Instead of holding a reference that will get invalidated by dma_pushbuffer.pop(), hold it as a copy. This doesn't have any performance cost since CommandListHeader is 8 bytes long.
2019-03-07kernel/hle_ipc: Convert std::shared_ptr IPC header instances to std::optionalLioncash
There's no real need to use a shared lifetime here, since we don't actually expose them to anything else. This is also kind of an unnecessary use of the heap given the objects themselves are so small; small enough, in fact that changing over to optionals actually reduces the overall size of the HLERequestContext struct (818 bytes to 808 bytes).
2019-03-07kernel: Make the address arbiter instance per-processLioncash
Now that we have the address arbiter extracted to its own class, we can fix an innaccuracy with the kernel. Said inaccuracy being that there isn't only one address arbiter. Each process instance contains its own AddressArbiter instance in the actual kernel. This fixes that and gets rid of another long-standing issue that could arise when attempting to create more than one process.
2019-03-07kernel/svc: Move address arbiter signaling behind a unified API functionLioncash
Similar to how WaitForAddress was isolated to its own function, we can also move the necessary conditional checking into the address arbiter class itself, allowing us to hide the implementation details of it from public use.
2019-03-07kernel/svc: Move address arbiter waiting behind a unified API functionLioncash
Rather than let the service call itself work out which function is the proper one to call, we can make that a behavior of the arbiter itself, so we don't need to directly expose those implementation details.
2019-03-07Merge pull request #2195 from lioncash/shared-globalbunnei
kernel/shared_memory: Get rid of the use of global accessor functions within Create()
2019-03-07common/bit_field: Make BitField trivially copyableLioncash
This makes the class much more flexible and doesn't make performing copies with classes that contain a bitfield member a pain. Given BitField instances are only intended to be used within unions, the fact the full storage value would be copied isn't a big concern (only sizeof(union_type) would be copied anyways). While we're at it, provide defaulted move constructors for consistency.
2019-03-07video_core/gpu_thread: Remove unimplemented WaitForIdle function prototypeLioncash
This function didn't have a definition, so we can remove it to prevent accidentally attempting to use it.
2019-03-07video_core/gpu_thread: Amend constructor initializer list orderLioncash
Moves the data members to satisfy the order they're declared as in the constructor initializer list. Silences a -Wreorder warning.
2019-03-07video_core/gpu: Make GPU's destructor virtualLioncash
Because of the recent separation of GPU functionality into sync/async variants, we need to mark the destructor virtual to provide proper destruction behavior, given we use the base class within the System class. Prior to this, it was undefined behavior whether or not the destructor in the derived classes would ever execute.
2019-03-07Merge pull request #2196 from DarkLordZach/web-applet-escbunnei
web_browser: Add shortcut to Enter key to exit applet