aboutsummaryrefslogtreecommitdiff
path: root/src/video_core
AgeCommit message (Collapse)Author
2019-10-18Merge pull request #2994 from lioncash/fmtRodrigo Locatti
video_core/shader/ast: Minor changes to ASTPrinter
2019-10-17video_core/shader/ast: Make ShowCurrentState() and SanityCheck() const ↵Lioncash
member functions These can also trivially be made const member functions, with the addition of a few consts.
2019-10-17video_core/shader/ast: Make ASTManager::Print a const member functionLioncash
Given all visiting functions never modify the nodes, we can trivially make this a const member function.
2019-10-17Merge pull request #2993 from lioncash/vulkan-exprRodrigo Locatti
vk_shader_decompiler: Mark operator() function parameters as const references
2019-10-17video_core/shader/ast: Make ExprPrinter members privateLioncash
This member already has an accessor, so there's no need for it to be public.
2019-10-17video_core/shader/ast: Make Indent() return a string_viewLioncash
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.
2019-10-17video_core/shader/ast: Make Indent() privateLioncash
It's never used outside of this class, so we can narrow its scope down.
2019-10-17video_core/shader/ast: Rename Ident() to Indent()Lioncash
This can be confusing, given "ident" is generally used as a shorthand for "identifier".
2019-10-17video_core/shader/ast: Make use of fmt where applicableLioncash
Makes a few strings nicer to read and also eliminates a bit of string churn with operator+.
2019-10-17vk_shader_decompiler: Mark operator() function parameters as const referencesLioncash
These parameters aren't actually modified in any way, so they can be made const references.
2019-10-17Merge pull request #2966 from FernandoS27/astc-formatsRodrigo Locatti
Implement a series of ASTC formats and R4G4B4A4 format
2019-10-17Merge pull request #2979 from lioncash/macroRodrigo Locatti
video_core/macro_interpreter: Make definitions of most private enums/unions hidden
2019-10-17video_core/macro_interpreter: Make definitions of most private enums/unions ↵Lioncash
hidden This allows the implementation of these types to change without requiring a rebuild of everything that includes the macro interpreter header.
2019-10-17Merge pull request #2980 from lioncash/warnbunnei
maxwell_3d: Silence truncation warnings
2019-10-16Merge pull request #2978 from lioncash/doxygenRodrigo Locatti
video_core/texture_cache: Amend Doxygen references
2019-10-16Merge pull request #2982 from lioncash/surfaceRodrigo Locatti
texture_cache: Avoid unnecessary surface copies within PickStrategy() and TryReconstructSurface()
2019-10-16Merge pull request #2912 from FernandoS27/async-fixesbunnei
General fixes to Async GPU
2019-10-15Merge pull request #2984 from lioncash/fallthrough2Rodrigo Locatti
video_core/surface: Add missing break in PixelFormatFromTextureFormat()
2019-10-15video_core/surface: Add missing break in PixelFormatFromTextureFormat()Lioncash
Prevents fallthrough into the following case.
2019-10-15Merge pull request #2981 from lioncash/copyRodrigo Locatti
gl_shader_decompiler: Minor cleanup-related changes
2019-10-15texture_cache: Avoid unnecessary surface copies within PickStrategy() and ↵Lioncash
TryReconstructSurface() We can take these by const reference and avoid making unnecessary copies, preventing some atomic reference count increments and decrements.
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-15gl_shader_decompiler: Make ExprDecompiler's GetResult() a const member functionLioncash
This is only ever used to read, but not write, the resulting string, so we can enforce this by making it a const member function.
2019-10-15gl_shader_decompiler: Use a std::string_view with GetDeclarationWithSuffix()Lioncash
This allows the function to be completely non-allocating for inputs of all sizes (i.e. there's no heap cost for an input to convert to a std::string_view).
2019-10-15gl_shader_decompiler: Fold flow_var constant into GetFlowVariable()Lioncash
This is only ever used within this function, so we can narrow it's scope down.
2019-10-15gl_shader_decompiler: Mark ASTDecompiler/ExprDecompiler parameters as const ↵Lioncash
references where applicable These member functions don't actually modify the input parameter, so we can make this explicit with the use of const.
2019-10-15gl_shader_decompiler: Pass by reference to GenerateTextureArgument()Lioncash
Avoids an unnecessary atomic reference count increment and decrement.
2019-10-15gl_shader_decompiler: Use std::holds_alternative within GenerateTexture()Lioncash
This only ever queries if the type exists within the variant, but doesn't actually do anything with the return value. We can just use std::holds_alternative for this use case.
2019-10-15shader/node: std::move Meta instance within OperationNode constructorLioncash
Allows usages of the constructor to avoid an unnecessary copy.
2019-10-15gl_shader_decompiler: Avoid unnecessary copies of MetaImageLioncash
MetaImage contains a std::vector, so copying here could result in unnecessary reallocations. Given the operation lives throughout the entire scope, this is safe to do.
2019-10-15maxwell_3d: Silence truncation warningsLioncash
A trivial warning caused by not using size_t as the argument types instead of u32.
2019-10-15Merge pull request #2972 from lioncash/systembunnei
{bcat, gpu, nvflinger}: Remove trivial usages of the global system accessor
2019-10-15video_core/gpu: Remove use of the global system accessorLioncash
We can just make use of the reference member variable instead of accessing the global system instance.
2019-10-15video_core/texture_cache: Amend Doxygen referencesLioncash
Amends the doxygen comments so that they properly resolve. While we're at it, we can correct some typos and fix up some of the comments' formatting in order to make them slightly nicer to read.
2019-10-15common: Rename binary_find.h to algorithm.hLioncash
Makes the header more general for other potential algorithms in the future. While we're at it, include a missing <functional> include to satisfy the use of std::less.
2019-10-11AsyncGpu: Address FeedbackFernando Sahmkow
2019-10-09Merge pull request #2928 from ReinUsesLisp/dirty-depth-boundsbunnei
maxwell_3d: Add dirty flags for depth bounds values
2019-10-09Merge pull request #2927 from ReinUsesLisp/polygon-offset-unitsbunnei
gl_rasterizer: Fix polygon offset units
2019-10-09Surfaces: Implement R4G4B4A4U format.Fernando Sahmkow
2019-10-09Surfaces: Implement ASTC 6x6 10x10 12x12 8x6 6x5Fernando Sahmkow
2019-10-07shader/half_set_predicate: Fix HSETP2 for constant buffersReinUsesLisp
HSETP2 when used with a constant buffer parses the second operand type as F32. This is not configurable.
2019-10-07shader/half_set_predicate: Reduce DEBUG_ASSERT to LOG_DEBUGReinUsesLisp
2019-10-06gl_shader_disk_cache: Properly ignore existing cacheReinUsesLisp
Previously old entries where appended to the file even if the shader cache was ignored at boot. Address that issue.
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-05video_core/ast: Unindent most of IsFullyDecompiled() by one levelLioncash
2019-10-05video_core/ast: Make ShowCurrentState() take a string_view instead of ↵Lioncash
std::string Allows the function to be non-allocating in terms of the output string.
2019-10-05video_core/ast: Eliminate variable shadowing warningsLioncash
2019-10-05video_core/ast: Replace std::string with a constexpr std::string_viewLioncash
Same behavior, but without the need to heap allocate
2019-10-05video_core/ast: Default the move constructor and assignment operatorLioncash
This is behaviorally equivalent and also fixes a bug where some members weren't being moved over.