Lioncash
e08002310a
video_core/surface: Add missing break in PixelFormatFromTextureFormat()
Prevents fallthrough into the following case.
6 years ago
Lioncash
51f34a27e9
vk_shader_decompiler: Resolve fallthrough within ExprDecompiler's ExprCondCode operator()
This would previously result in NeverExecute and UnusedIndex being
treated as regular predicates.
6 years ago
Lioncash
304cee41c4
gl_shader_decompiler: Resolve fallthrough within ExprDecompiler's ExprCondCode operator()
This would previously result in NeverExecute and UnusedIndex being
treated as regular predicates.
6 years ago
Lioncash
1a9c05b197
texture_cache: Avoid unnecessary surface copies within PickStrategy() and TryReconstructSurface()
We can take these by const reference and avoid making unnecessary
copies, preventing some atomic reference count increments and
decrements.
6 years ago
Lioncash
271d07c2e7
control_flow: Silence truncation warnings
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.
6 years ago
Lioncash
4ef3c0158a
gl_shader_decompiler: Make ExprDecompiler's GetResult() a const member function
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.
6 years ago
Lioncash
eb9ca6f6a1
gl_shader_decompiler: Use a std::string_view with GetDeclarationWithSuffix()
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).
6 years ago
Lioncash
09e9ee194b
gl_shader_decompiler: Fold flow_var constant into GetFlowVariable()
This is only ever used within this function, so we can narrow it's scope
down.
6 years ago
Lioncash
0d6adf0e50
gl_shader_decompiler: Mark ASTDecompiler/ExprDecompiler parameters as const references where applicable
These member functions don't actually modify the input parameter, so we
can make this explicit with the use of const.
6 years ago
Lioncash
274c260939
gl_shader_decompiler: Pass by reference to GenerateTextureArgument()
Avoids an unnecessary atomic reference count increment and decrement.
6 years ago
Lioncash
a6eecc8339
gl_shader_decompiler: Use std::holds_alternative within GenerateTexture()
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.
6 years ago
Lioncash
94855ef1a8
shader/node: std::move Meta instance within OperationNode constructor
Allows usages of the constructor to avoid an unnecessary copy.
6 years ago
Lioncash
c531d0df85
gl_shader_decompiler: Avoid unnecessary copies of MetaImage
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.
6 years ago
Lioncash
0b0ac56219
maxwell_3d: Silence truncation warnings
A trivial warning caused by not using size_t as the argument types
instead of u32.
6 years ago
Lioncash
6a50c481fd
video_core/gpu: Remove use of the global system accessor
We can just make use of the reference member variable instead of
accessing the global system instance.
6 years ago
Lioncash
0f814d8bc5
video_core/texture_cache: Amend Doxygen references
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.
6 years ago
Lioncash
b5202d5da2
common: Rename binary_find.h to algorithm.h
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.
6 years ago
Fernando Sahmkow
a1b185fa72
AsyncGpu: Address Feedback
6 years ago
Fernando Sahmkow
57cac4e614
Surfaces: Implement R4G4B4A4U format.
6 years ago
Fernando Sahmkow
ecba8090f7
Surfaces: Implement ASTC 6x6 10x10 12x12 8x6 6x5
6 years ago
ReinUsesLisp
27db09b4e7
shader/half_set_predicate: Fix HSETP2 for constant buffers
HSETP2 when used with a constant buffer parses the second operand type
as F32. This is not configurable.
6 years ago
ReinUsesLisp
f8372fcc62
shader/half_set_predicate: Reduce DEBUG_ASSERT to LOG_DEBUG
6 years ago
ReinUsesLisp
3d415bbb32
gl_shader_disk_cache: Properly ignore existing cache
Previously old entries where appended to the file even if the shader
cache was ignored at boot. Address that issue.
6 years ago
Lioncash
71a231e448
video_core/control_flow: Eliminate variable shadowing warnings
6 years ago
Lioncash
a542346e9d
video_core/control_flow: Eliminate pessimizing moves
These can inhibit the ability of a compiler to perform RVO.
6 years ago
Lioncash
1ad73a6011
video_core/ast: Unindent most of IsFullyDecompiled() by one level
6 years ago
Lioncash
2d2dd7bf7b
video_core/ast: Make ShowCurrentState() take a string_view instead of std::string
Allows the function to be non-allocating in terms of the output string.
6 years ago
Lioncash
b1178c30cf
video_core/ast: Eliminate variable shadowing warnings
6 years ago
Lioncash
d599c3c74b
video_core/ast: Replace std::string with a constexpr std::string_view
Same behavior, but without the need to heap allocate
6 years ago
Lioncash
7d18851449
video_core/ast: Default the move constructor and assignment operator
This is behaviorally equivalent and also fixes a bug where some members
weren't being moved over.
6 years ago
Lioncash
4d48fc529a
video_core/{ast, expr}: Organize forward declaration
Keeps them alphabetically sorted for readability.
6 years ago
Lioncash
844d714085
video_core/expr: Supply operator!= along with operator==
Provides logical symmetry to the interface.
6 years ago
Lioncash
e53a34ecf6
video_core/{ast, expr}: Use std::move where applicable
Avoids unnecessary atomic reference count increments and decrements.
6 years ago
Lioncash
2d86bd6d08
video_core/ast: Supply const accessors for data where applicable
Provides const equivalents of data accessors for use within const
contexts.
6 years ago
ReinUsesLisp
521b03ddb4
maxwell_3d: Add dirty flags for depth bounds values
This is useful in Vulkan where we want to update depth bounds without
caring if it's enabled or disabled through vkCmdSetDepthBounds.
6 years ago
Fernando Sahmkow
986adabde5
GL_Renderer: Remove lefting snippet.
6 years ago
Fernando Sahmkow
0775dffe14
Gl_Rasterizer: Protect CPU Memory mapping from multiple threads.
6 years ago
Fernando Sahmkow
ded3d555e1
Core: Wait for GPU to be idle before shutting down.
6 years ago
Fernando Sahmkow
d9b035cc31
Nvdrv: Do framelimiting only in the CPU Thread
6 years ago
Fernando Sahmkow
1df31e4b65
GPU_Async: Correct fences, display events and more.
This commit uses guest fences on vSync event instead of an articial fake
fence we had.
It also corrects to keep signaling display events while loading the game
as the OS is suppose to send buffers to vSync during that time.
6 years ago
Fernando Sahmkow
3fd1a9707d
Texture_Cache: Blit Deduction corrections and simplifications.
6 years ago
Fernando Sahmkow
a909bf7263
TextureCache: Add the ability to deduce if two textures are depth on blit.
6 years ago
Fernando Sahmkow
4de60d6a41
Shader_ir: Address feedback
6 years ago
Fernando Sahmkow
97f8352efe
Shader_Ir: Address Feedback and clang format.
6 years ago
Fernando Sahmkow
40dc82911f
vk_shader_decompiler: Correct Branches inside conditionals.
6 years ago
Fernando Sahmkow
073ccf8def
vk_shader_decompiler: Clean code and be const correct.
6 years ago
Fernando Sahmkow
8561edf839
Shader_IR: clean up AST handling and add documentation.
6 years ago
Fernando Sahmkow
e9f4340b88
Shader_IR: Correct OutwardMoves for Ifs
6 years ago
Fernando Sahmkow
c5d2245b54
vk_shader_compiler: Don't enclose branches with if(true) to avoid crashing AMD
6 years ago
Fernando Sahmkow
8cd340c636
gl_shader_decompiler: Refactor and address feedback.
6 years ago