aboutsummaryrefslogtreecommitdiff
path: root/src
AgeCommit message (Collapse)Author
2019-05-19Merge pull request #2496 from lioncash/move-conSebastian Valle
gl_shader_gen: std::move objects where applicable
2019-05-19Merge pull request #2476 from ReinUsesLisp/fix-compatHexagon12
yuzu/bootmanager: Explicitly enable deprecated OpenGL features on compat
2019-05-19shader/shader_ir: Remove unnecessary inline specifiersLioncash
constexpr internally links by default, so the inline specifier is unnecessary.
2019-05-19shader/shader_ir: Simplify constructors for OperationNodeLioncash
Many of these constructors don't even need to be templated. The only ones that need to be templated are the ones that actually make use of the parameter pack. Even then, since std::vector accepts an initializer list, we can supply the parameter pack directly to it instead of creating our own copy of the list, then copying it again into the std::vector.
2019-05-19shader/shader_ir: Remove unnecessary template parameter packs from ↵Lioncash
Operation() overloads where applicable These overloads don't actually make use of the parameter pack, so they can be turned into regular non-template function overloads.
2019-05-19shader/shader_ir: Mark tracking functions as const member functionsLioncash
These don't actually modify instance state, so they can be marked as const member functions
2019-05-19yuzu/util: Remove unused spinbox.cpp/.hLioncash
This has been left unused since the removal of the vestigial surface viewer. Given it has no uses left, this can be removed as well.
2019-05-19shader/shader_ir: Place implementations of constructor and destructor in cpp ↵Lioncash
file Given the class contains quite a lot of non-trivial types, place the constructor and destructor within the cpp file to avoid inlining construction and destruction code everywhere the class is used.
2019-05-19gl_shader_gen: std::move objects where applicableLioncash
Avoids performing copies into the pair being returned. Instead, we can just move the resources into the pair, avoiding the need to make copies of both the std::string and ShaderEntries struct.
2019-05-19gl_shader_disk_cache: in-class initialize virtual file offset of ↵Lioncash
ShaderDiskCacheOpenGL Given the offset is assigned a fixed value in the constructor, we can just assign it directly and get rid of the need to write the name of the variable again in the constructor initializer list.
2019-05-19gl_shader_disk_cache: Default ShaderDiskCacheOpenGL's destructor in the cpp fileLioncash
Given the disk shader cache contains non-trivial types, we should default it in the cpp file in order to prevent inlining of the complex destruction logic.
2019-05-19gl_shader_disk_cache: Make hash specializations noexceptLioncash
The standard library expects hash specializations that don't throw exceptions. Make this explicit in the type to allow selection of better code paths if possible in implementations.
2019-05-19gl_shader_disk_cache: Remove redundant code string construction in ↵Lioncash
LoadDecompiledEntry() We don't need to load the code into a vector and then construct a string over the data. We can just create a string with the necessary size ahead of time, and read the data directly into it, getting rid of an unnecessary heap allocation.
2019-05-19gl_shader_disk_cache: Make variable non-const in decompiled entry caseLioncash
std::move does nothing when applied to a const variable. Resources can't be moved if the object is immutable. With this change, we don't end up making several unnecessary heap allocations and copies.
2019-05-19gl_shader_disk_cache: Special-case boolean handlingLioncash
Booleans don't have a guaranteed size, but we still want to have them integrate into the disk cache system without needing to actually use a different type. We can do this by supplying non-template overloads for the bool type. Non-template overloads always have precedence during function resolution, so this is safe to provide. This gets rid of the need to smatter ternary conditionals, as well as the need to use u8 types to store the value in.
2019-05-19yuzu/applets/profile_select: Mark header string as translatableLioncash
This is a user-facing string, so it should be marked as translatable.
2019-05-19yuzu/debugger/graphics/graphics_breakpoints: Specify string conversions ↵Lioncash
explicitly Allows the graphics breakpoints to compile with implicit string conversions disabled.
2019-05-19yuzu/debugger/profiler: Specify string conversions explicitlyLioncash
This allows the microprofile widget to compile with implicit string conversions disabled.
2019-05-19yuzu/debugger/wait_tree: Specify string conversions explicitlyLioncash
Allows compiling the wait tree widget with implicit string conversions disabled.
2019-05-18ipc_helpers: Amend floating-point type in Pop<double> specializationLioncash
Currently, this overload isn't used, so this wasn't actually hit in any code, only the float overload is used.
2019-05-19Address review commentTobias
Co-Authored-By: Mat M. <mathew1800@gmail.com>
2019-05-18kernel/svc: Mark GetThreadList() and UnmapProcessCodeMemory() as internally ↵Lioncash
linked These are only used from within this translation unit, so they don't need to have external linkage. They were intended to be marked with this anyways to be consistent with the other service functions.
2019-05-18service/am: Add missing return in error case for IStorageAccessor's ↵Lioncash
Read()/Write(). Previously this would fall through and return successfully, despite being an out of bounds read or write.
2019-05-18core/kernel/object: Rename ResetType enum membersLioncash
Renames the members to more accurately indicate what they signify. "OneShot" and "Sticky" are kind of ambiguous identifiers for the reset types, and can be kind of misleading. Automatic and Manual communicate the kind of reset type in a clearer manner. Either the event is automatically reset, or it isn't and must be manually cleared. The "OneShot" and "Sticky" terminology is just a hold-over from Citra where the kernel had a third type of event reset type known as "Pulse". Given the Switch kernel only has two forms of event reset types, we don't need to keep the old terminology around anymore.
2019-05-18HLE/IPC: HLEContext can memorize the client thread and use it for ↵Weiyi Wang
SleepClientThread This reduces the boilerplate that services have to write out the current thread explicitly. Using current thread instead of client thread is also semantically incorrect, and will be a problem when we implement multicore (at which time there will be multiple current threads)
2019-05-18gl_rasterizer: Limit OpenGL point size to a minimum of 1ReinUsesLisp
2019-05-17maxwell_to_gl: Add TriangleFan primitive topologyReinUsesLisp
2019-05-17gl_rasterizer: Pass the right number of array quad vertices countReinUsesLisp
2019-05-17Merge pull request #2457 from lioncash/aboutbunnei
yuzu/{about_dialog, main}: Specify string conversions explicitly for SCM-related info
2019-05-17Merge pull request #2477 from ReinUsesLisp/fix-sdl2bunnei
yuzu_cmd: Make OpenGL's context current
2019-05-17Merge pull request #2478 from ReinUsesLisp/sdl2-compatbunnei
yuzu_cmd: Use OpenGL compat when asked in the settings
2019-05-17qt/configure_graphics: Shadow options at runtimeReinUsesLisp
Compatibility profile and the disk shader cache settings shouldn't be changed at runtime. This aims to address that shadowing those options.
2019-05-17yuzu_cmd: Use OpenGL compat when asked in the settingsReinUsesLisp
2019-05-17yuzu_cmd: Make OpenGL's context currentReinUsesLisp
The SDL2 frontend never bound the OpenGL context, resulting on a white screen and no-ops all over the backend.
2019-05-17yuzu/bootmanager: Explicitly enable deprecated OpenGL features on compatReinUsesLisp
Nvidia's proprietary driver creates a real OpenGL compatibility profile without this option, meanwhile Intel (and probably AMD, I haven't tested it) require that QSurfaceFormat::FormatOption::DeprecatedFunctions is explicitly enabled.
2019-05-14maxwell_3d: reduce sevirity of different component formats assert.Fernando Sahmkow
This was reduced due to happening on most games and at such constant rate that it affected performance heavily for the end user. In general, we are well aware of the assert and an implementation is already planned.
2019-05-14video_core/engines/engine_upload: Amend constructor initializer list orderLioncash
Silences a -Wreorder warning.
2019-05-14video_core/engines/engine_upload: Default destructor in the cpp fileLioncash
Avoids inlining destruction logic where applicable, and also makes forward declarations not cause unexpected compilation errors depending on where the State class is used.
2019-05-14video_core/engines/engine_upload: Remove unnecessary const on parameters in ↵Lioncash
function declarations These only apply in the definition of the function. They can be omitted from the declaration.
2019-05-14video_core/engines/engine_upload: Remove unnecessary includesLioncash
2019-05-14video_core/engines/maxwell3d: Get rid of three magic values in CallMethod()Lioncash
We can use the named constant instead of using 32 directly.
2019-05-14video_core/engines/maxwell_3d: Simplify for loops into ranged for loops ↵Lioncash
within InitializeRegisterDefaults() Lessens the amount of code that needs to be read, and gets rid of the need to introduce an indexing variable. Instead, we just operate on the objects directly.
2019-05-14video_core/engines/maxwell_3d: Add is_trivially_copyable_v check for RegsLioncash
std::memset is used to clear the entire register structure, which requires that the Regs struct be trivially copyable (otherwise undefined behavior is invoked). This prevents the case where a non-trivial type is potentially added to the struct.
2019-05-14yuzu: Remove explicit types from locks where applicableLioncash
With C++17's deduction guides, the type doesn't need to be explicitly specified within locking primitives anymore.
2019-05-14video_core/gpu_thread: Remove redundant copy constructor for ↵Lioncash
CommandDataContainer std::move within a copy constructor (on a data member that isn't mutable) will always result in a copy. Because of that, the behavior of this copy constructor is identical to the one that would be generated automatically by the compiler, so we can remove it.
2019-05-14Merge pull request #2462 from lioncash/video-mmMat M
video_core/memory_manager: Minor tidying
2019-05-14Merge pull request #2461 from lioncash/unused-varMat M
video_core: Remove a few unused variables and functions
2019-05-14Merge pull request #2460 from lioncash/volatileMat M
CMakeLists: Specify /volatile:iso for MSVC
2019-05-14Merge pull request #2450 from lioncash/warn-levelMat M
CMakeLists: Explicitly specify -Wall for the non-MSVC case
2019-05-13Merge pull request #2413 from FernandoS27/opt-gpuRodrigo Locatti
Rasterizer Cache: refactor flushing & optimize memory usage of surfaces