summaryrefslogtreecommitdiff
path: root/src (follow)
Commit message (Collapse)AuthorAgeFilesLines
...
* | | | | | Merge pull request #2976 from FernandoS27/cache-fast-brx-rebasedGravatar Rodrigo Locatti2019-10-2628-864/+1482
|\ \ \ \ \ \ | | | | | | | | | | | | | | Implement Fast BRX, fix TXQ and addapt the Shader Cache for it
| * | | | | | Shader_IR: Address Feedback.Gravatar Fernando Sahmkow2019-10-269-56/+66
| | | | | | |
| * | | | | | Shader_IR: Clang formatGravatar Fernando Sahmkow2019-10-251-2/+1
| | | | | | |
| * | | | | | gl_shader_cache: Implement locker variants invalidationGravatar ReinUsesLisp2019-10-254-44/+104
| | | | | | |
| * | | | | | gl_shader_disk_cache: Store and load fast BRXGravatar ReinUsesLisp2019-10-256-50/+210
| | | | | | |
| * | | | | | const_buffer_locker: Minor style changesGravatar ReinUsesLisp2019-10-252-152/+76
| | | | | | |
| * | | | | | gl_shader_decompiler: Move entries to a separate functionGravatar ReinUsesLisp2019-10-2515-722/+420
| | | | | | |
| * | | | | | Shader_IR: Implement Fast BRX and allow multi-branches in the CFG.Gravatar Fernando Sahmkow2019-10-251-1/+1
| | | | | | |
| * | | | | | Shader_IR: Correct typo in Consistent method.Gravatar Fernando Sahmkow2019-10-252-2/+2
| | | | | | |
| * | | | | | Shader_IR: allow lookup of texture samplers within the shader_ir for ↵Gravatar Fernando Sahmkow2019-10-259-46/+363
| | | | | | | | | | | | | | | | | | | | | | | | | | | | instructions that don't provide it
| * | | | | | Shader_IR: Implement Fast BRX and allow multi-branches in the CFG.Gravatar Fernando Sahmkow2019-10-257-130/+258
| | | | | | |
| * | | | | | Shader_Cache: setup connection of ConstBufferLockerGravatar Fernando Sahmkow2019-10-2510-43/+82
| | | | | | |
| * | | | | | VideoCore: Unify const buffer accessing along engines and provide ↵Gravatar Fernando Sahmkow2019-10-2512-13/+183
| | | | | | | | | | | | | | | | | | | | | | | | | | | | ConstBufferLocker class to shaders.
| * | | | | | Shader_IR: Implement BRX tracking.Gravatar Fernando Sahmkow2019-10-251-0/+113
| | | | | | |
* | | | | | | Merge pull request #3027 from lioncash/lookupGravatar Rodrigo Locatti2019-10-261-53/+67
|\ \ \ \ \ \ \ | | | | | | | | | | | | | | | | shader_ir: Use std::array with std::pair instead of std::unordered_map
| * | | | | | | shader_ir: Use std::array with pair instead of unordered_mapGravatar Lioncash2019-10-241-53/+67
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Given the overall size of the maps are very small, we can use arrays of pairs here instead of always heap allocating a new map every time the functions are called. Given the small size of the maps, the difference in container lookups are negligible, especially given the entries are already sorted.
* | | | | | | | Merge pull request #3013 from FernandoS27/tld4s-fixGravatar Rodrigo Locatti2019-10-252-5/+5
|\ \ \ \ \ \ \ \ | |_|/ / / / / / |/| | | | | | | Shader_Ir: Fix TLD4S from using a component mask.
| * | | | | | | Shader_Ir: Fix TLD4S from using a component mask.Gravatar Fernando Sahmkow2019-10-222-5/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | TLD4S always outputs 4 values, the previous code checked a component mask and omitted those values that weren't part of it. This commit corrects that and makes sure all 4 values are set.
* | | | | | | | Merge pull request #3028 from lioncash/constexprGravatar Rodrigo Locatti2019-10-241-13/+13
|\ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | shader_bytecode: Make Matcher constexpr capable
| * | | | | | | | shader_bytecode: Make Matcher constexpr capableGravatar Lioncash2019-10-241-13/+13
| | |/ / / / / / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Greatly shrinks the amount of generated code for GetDecodeTable(). Collapses an assembly output of 9000+ lines down to ~3621 with Clang, and 6513 down to ~2616 with GCC, given it's now allowed to construct all the entries as a sequence of constant data.
* / | | | | | | video_core/shader: Resolve instances of variable shadowingGravatar Lioncash2019-10-236-11/+12
|/ / / / / / / | | | | | | | | | | | | | | | | | | | | | Silences a few -Wshadow warnings.
* | | | | | | Merge pull request #2991 from lioncash/npadGravatar bunnei2019-10-222-51/+23
|\ \ \ \ \ \ \ | | | | | | | | | | | | | | | | hid/npad: Minor cleanup
| * | | | | | | hid/npad: Fix incorrect connection boolean value in ↵Gravatar Lioncash2019-10-171-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ConnectAllDisconnectedControllers() We should be setting the connection state to true, otherwise we aren't actually making the controllers connected like the function name indicates.
| * | | | | | | hid/npad: Add missing break in default caseGravatar Lioncash2019-10-171-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | While not an issue, it does prevent fallthrough from occurring if anything is ever added after this case (unlikely to occur, but this turns a trivial "should not cause issues" into a definite "won't cause issues).
| * | | | | | | hid/npad: Replace std::for_each with ranged for loopsGravatar Lioncash2019-10-171-13/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Performs the same behavior, but is built into the core language itself. No functional change.
| * | | | | | | hid/npad: Remove redundant non-const variant of IsControllerSupported()Gravatar Lioncash2019-10-172-34/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The const qualified variant can also be called in non-const contexts, so we can remove the non-const variant to eliminate a bit of code duplication.
| * | | | | | | hid/npad: Move function declarationsGravatar Lioncash2019-10-171-5/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Clearly separate these from the variable declarations to make them more visible.
* | | | | | | | Merge pull request #2995 from ReinUsesLisp/ignore-gmemGravatar Fernando Sahmkow2019-10-222-18/+26
|\ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | shader_ir/memory: Ignore global memory when tracking fails
| * | | | | | | | shader_ir/memory: Ignore global memory when tracking failsGravatar ReinUsesLisp2019-10-222-18/+26
| | |_|_|/ / / / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Ignore global memory operations instead of invoking undefined behaviour when constant buffer tracking fails and we are blasting through asserts, ignore the operation. In the case of LDG this means filling the destination registers with zeroes; for STG this means ignore the instruction as a whole. The default behaviour is still to abort execution on failure.
* | | | | | | | Merge pull request #2983 from lioncash/fallthroughGravatar Fernando Sahmkow2019-10-222-0/+6
|\ \ \ \ \ \ \ \ | |_|_|/ / / / / |/| | | | | | | gl_shader_decompiler/vk_shader_decompiler: Resolve implicit fallthrough cases
| * | | | | | | vk_shader_decompiler: Resolve fallthrough within ExprDecompiler's ↵Gravatar Lioncash2019-10-151-0/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ExprCondCode operator() This would previously result in NeverExecute and UnusedIndex being treated as regular predicates.
| * | | | | | | gl_shader_decompiler: Resolve fallthrough within ExprDecompiler's ↵Gravatar Lioncash2019-10-151-0/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ExprCondCode operator() This would previously result in NeverExecute and UnusedIndex being treated as regular predicates.
* | | | | | | | maxwell_3d: Reduce FlushMMEInlineDraw logging to TraceGravatar ReinUsesLisp2019-10-201-1/+1
| |/ / / / / / |/| | | | | |
* | | | | | | core: Fix clang-format errors.Gravatar bunnei2019-10-191-9/+10
| | | | | | |
* | | | | | | Fix null pointer deref.Gravatar Nicolae-Andrei Cociorba2019-10-181-10/+12
| | | | | | |
* | | | | | | Merge pull request #2994 from lioncash/fmtGravatar Rodrigo Locatti2019-10-182-40/+51
|\ \ \ \ \ \ \ | | | | | | | | | | | | | | | | video_core/shader/ast: Minor changes to ASTPrinter
| * | | | | | | video_core/shader/ast: Make ShowCurrentState() and SanityCheck() const ↵Gravatar Lioncash2019-10-172-5/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | member functions These can also trivially be made const member functions, with the addition of a few consts.
| * | | | | | | video_core/shader/ast: Make ASTManager::Print a const member functionGravatar Lioncash2019-10-172-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Given all visiting functions never modify the nodes, we can trivially make this a const member function.
| * | | | | | | video_core/shader/ast: Make ExprPrinter members privateGravatar Lioncash2019-10-171-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This member already has an accessor, so there's no need for it to be public.
| * | | | | | | video_core/shader/ast: Make Indent() return a string_viewGravatar Lioncash2019-10-171-14/+24
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The returned string is simply a substring of our constexpr tabs string_view, so we can just use a string_view here as well, since the original string_view is guaranteed to always exist. Now the function is fully non-allocating.
| * | | | | | | video_core/shader/ast: Make Indent() privateGravatar Lioncash2019-10-171-9/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | It's never used outside of this class, so we can narrow its scope down.
| * | | | | | | video_core/shader/ast: Rename Ident() to Indent()Gravatar Lioncash2019-10-171-13/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This can be confusing, given "ident" is generally used as a shorthand for "identifier".
| * | | | | | | video_core/shader/ast: Make use of fmt where applicableGravatar Lioncash2019-10-171-14/+14
| | |/ / / / / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | Makes a few strings nicer to read and also eliminates a bit of string churn with operator+.
* | | | | | | Merge pull request #2993 from lioncash/vulkan-exprGravatar Rodrigo Locatti2019-10-171-21/+23
|\ \ \ \ \ \ \ | | | | | | | | | | | | | | | | vk_shader_decompiler: Mark operator() function parameters as const references
| * | | | | | | vk_shader_decompiler: Mark operator() function parameters as const referencesGravatar Lioncash2019-10-171-21/+23
| |/ / / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | These parameters aren't actually modified in any way, so they can be made const references.
* | | | | | | Merge pull request #2992 from lioncash/dmntGravatar bunnei2019-10-171-2/+2
|\ \ \ \ \ \ \ | | | | | | | | | | | | | | | | dmnt_cheat_vm: Correct register Restore and ClearRegs behavior
| * | | | | | | dmnt_cheat_vm: Correct register Restore and ClearRegs behaviorGravatar Lioncash2019-10-171-2/+2
| |/ / / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | Previously these were performing the same behavior as the Save and ClearSaved opcode types.
* | | | | | | Merge pull request #2966 from FernandoS27/astc-formatsGravatar Rodrigo Locatti2019-10-174-79/+211
|\ \ \ \ \ \ \ | | | | | | | | | | | | | | | | Implement a series of ASTC formats and R4G4B4A4 format
| * | | | | | | Surfaces: Implement R4G4B4A4U format.Gravatar Fernando Sahmkow2019-10-094-24/+41
| | | | | | | |
| * | | | | | | Surfaces: Implement ASTC 6x6 10x10 12x12 8x6 6x5Gravatar Fernando Sahmkow2019-10-094-70/+185
| | | | | | | |