aboutsummaryrefslogtreecommitdiff
path: root/src/video_core/shader/control_flow.cpp
AgeCommit message (Collapse)Author
2021-07-22shader: Remove old shader managementReinUsesLisp
2020-12-07video_core: Make use of ordered container contains() where applicableLioncash
With C++20, we can use the more concise contains() member function instead of comparing the result of the find() call with the end iterator.
2020-12-05video_core: Resolve more variable shadowing scenarios pt.3Lioncash
Cleans out the rest of the occurrences of variable shadowing and makes any further occurrences of shadowing compiler errors.
2020-12-05video_core: Resolve more variable shadowing scenarios pt.2Lioncash
Migrates the video core code closer to enabling variable shadowing warnings as errors. This primarily sorts out shadowing occurrences within the Vulkan code.
2020-09-22control_flow: emplace elements in place within TryQuery()Lioncash
Places data structures where they'll eventually be moved to to avoid needing to even move them in the first place.
2020-09-22control_flow: Make use of std::move in InsertBranch()Lioncash
Avoids unnecessary atomic increments and decrements.
2020-08-13General: Tidy up clang-format warnings part 2Lioncash
2020-04-26shader/memory_util: Deduplicate codeReinUsesLisp
Deduplicate code shared between vk_pipeline_cache and gl_shader_cache as well as shader decoder code. While we are at it, fix a bug in gl_shader_cache where compute shaders had an start offset of a stage shader.
2020-04-16General: Resolve warnings related to missing declarationsLioncash
2020-04-15control_flow: Make use of std::move in TryInspectAddress()Lioncash
Eliminates redundant atomic reference count increments and decrements.
2020-03-09video_core: Rename "const buffer locker" to "registry"ReinUsesLisp
2020-01-14control_flow: Silence -Wreorder warning for CFGRebuildStateLioncash
Organizes the initializer list in the same order that the variables would actually be initialized in.
2019-11-07shader/control_flow: Specify constness on caller lambdasRodrigo Locatti
Update src/video_core/shader/control_flow.cpp Co-Authored-By: Mat M. <mathew1800@gmail.com> Update src/video_core/shader/control_flow.cpp Co-Authored-By: Mat M. <mathew1800@gmail.com> Update src/video_core/shader/control_flow.cpp Co-Authored-By: Mat M. <mathew1800@gmail.com> Update src/video_core/shader/control_flow.cpp Co-Authored-By: Mat M. <mathew1800@gmail.com> Update src/video_core/shader/control_flow.cpp Co-Authored-By: Mat M. <mathew1800@gmail.com> Update src/video_core/shader/control_flow.cpp Co-Authored-By: Mat M. <mathew1800@gmail.com>
2019-11-07shader/control_flow: Use callable template instead of std::functionReinUsesLisp
2019-11-07shader/control_flow: Abstract repeated code chunks in BRX trackingReinUsesLisp
Remove copied and pasted for cycles into a common templated function.
2019-11-07shader/control_flow: Silence Intellisense cast warningsReinUsesLisp
2019-11-07shader/control_flow: Remove brace initializer in std containersReinUsesLisp
These containers have a default constructor.
2019-10-26Shader_IR: Address Feedback.Fernando Sahmkow
2019-10-25gl_shader_decompiler: Move entries to a separate functionReinUsesLisp
2019-10-25Shader_IR: Implement Fast BRX and allow multi-branches in the CFG.Fernando Sahmkow
2019-10-25Shader_Cache: setup connection of ConstBufferLockerFernando Sahmkow
2019-10-25Shader_IR: Implement BRX tracking.Fernando Sahmkow
2019-10-15control_flow: Silence truncation warningsLioncash
This can be trivially fixed by making the input size a size_t. CFGRebuildState's constructor parameter is already a std::size_t, so this just makes the size type fully conform with it.
2019-10-05video_core/control_flow: Eliminate variable shadowing warningsLioncash
2019-10-05video_core/control_flow: Eliminate pessimizing movesLioncash
These can inhibit the ability of a compiler to perform RVO.
2019-10-04Shader_ir: Address feedbackFernando Sahmkow
2019-10-04Shader_IR: allow else derivation to be optional.Fernando Sahmkow
2019-10-04Shader_Ir: Refactor Decompilation process and allow multiple decompilation ↵Fernando Sahmkow
modes.
2019-10-04gl_shader_decompiler: Implement AST decompilingFernando Sahmkow
2019-10-04shader_ir: Declare Manager and pass it to appropiate programs.Fernando Sahmkow
2019-10-04shader_ir: Corrections to outward movements and misc stuffsFernando Sahmkow
2019-10-04shader_ir: Initial Decompile SetupFernando Sahmkow
2019-07-18video_core/control_flow: Prevent sign conversion in TryGetBlock()Lioncash
The return value is a u32, not an s32, so this would result in an implicit signedness conversion.
2019-07-18video_core/control_flow: Remove unnecessary BlockStack copy constructorLioncash
This is the default behavior of the copy constructor, so it doesn't need to be specified. While we're at it we can make the other non-default constructor explicit.
2019-07-18video_core/control_flow: Use std::move where applicableLioncash
Results in less work being done where avoidable.
2019-07-18video_core/control_flow: Use the prefix variant of operator++ for iteratorsLioncash
Same thing, but potentially allows a standard library implementation to pick a more efficient codepath.
2019-07-18video_core/control_flow: Use empty() member function for checking emptinessLioncash
It's what it's there for.
2019-07-18video_core: Resolve -Wreorder warningsLioncash
Ensures that the constructor members are always initialized in the order that they're declared in.
2019-07-18video_core/control_flow: Make program_size for ScanFlow() a std::size_tLioncash
Prevents a truncation warning from occurring with MSVC. Also the internal data structures already treat it as a size_t, so this is just a discrepancy in the interface.
2019-07-18video_core/control_flow: Place all internally linked types/functions within ↵Lioncash
an anonymous namespace Previously, quite a few functions were being linked with external linkage.
2019-07-09control_flow: Correct block breaking algorithm.Fernando Sahmkow
2019-07-09control_flow: Assert shaders bigger than limit.Fernando Sahmkow
2019-07-09control_flow: Address feedback.Fernando Sahmkow
2019-07-09shader_ir: Correct parsing of scheduling instructions and correct sizingFernando Sahmkow
2019-07-09shader_ir: Correct max sizingFernando Sahmkow
2019-07-09shader_ir: Remove unnecessary constructors and use optional for ScanFlow resultFernando Sahmkow
2019-07-09shader_ir: Corrections, documenting and asserting control_flowFernando Sahmkow
2019-07-09shader_ir: Unify blocks in decompiled shaders.Fernando Sahmkow
2019-07-09shader_ir: Decompile Flow StackFernando Sahmkow
2019-07-09shader_ir: Implement BRX & BRA.CCFernando Sahmkow