| Age | Commit message (Collapse) | Author |
|
These are internally stored as u64 values, so using u32 here causes
truncation warnings. Instead, we can just use u64 and preserve the bit
width.
|
|
Optimized Texture Swizzling
|
|
gl_shader_decompiler: Get rid of variable shadowing within LEA instructions
|
|
Port #4182 from Citra: "Prefix all size_t with std::"
|
|
Implement RenderTargetFormat::BGR5A1_UNORM
|
|
|
|
Shaders: Implemented multiple-word loads and stores to and from attribute memory.
|
|
GPU: Basic implementation of the Kepler Inline Memory engine (p2mf).
|
|
|
|
memory.
This seems to be an optimization performed by nouveau.
|
|
|
|
|
|
These variables are already defined within an outer scope.
|
|
* gl_rasterizer: use ARB_multi_bind for uniform buffers
* address feedback
|
|
- Fixes a regression with Sonic Mania with ARB_texture_storage.
|
|
shader_decompiler: Implemented (Partially) Texture Processing Modes
|
|
This engine writes data from a FIFO register into the configured address.
|
|
|
|
Port Citra #4047 & #4052: add change background color support
|
|
gl_rasterizer_cache: Improve accuracy of caching and copies.
|
|
gl_rasterizer: Use ARB_texture_storage.
|
|
- Fixes several rendering issues with Super Mario Odyssey.
|
|
- This was once an optimization, but we no longer need it with the cache reserve.
- This is also inaccurate.
|
|
It allows us to use texture views and it reduces the overhead within the GPU driver.
But it disallows us to reallocate the texture, but we don't do so anyways.
In the end, it is the new way to allocate textures, so there is no need to use the old way.
|
|
|
|
|
|
|
|
gl_rasterizer: Implement clear for non-zero render targets.
|
|
gl_rasterizer_cache: Only use depth for applicable texture formats.
|
|
gl_rasterizer_cache: Implement RenderTargetFormat::BGRA8_SRGB.
|
|
Inline the WriteReg helper as it is called ~20k times per frame.
|
|
This moves the hot loop into video_core. This refactoring shall reduce the CPU overhead of calling ProcessCommandList.
|
|
This virtual function is called in a very hot spot, and it does nothing.
If this kind of feature is required, please be more specific and add callbacks
in the switch statement within Maxwell3D::WriteReg. There is no point in having
another switch statement within the rasterizer.
|
|
- Fixes an issue with Octopath Traveler leaving stale data here.
|
|
- Several misc. changes to ConfigureFramebuffers in support of this.
|
|
- Used by Octopath Traveler (with multiple render targets).
|
|
|
|
shader_decompiler: Implemented TMML
|
|
|
|
GPU/DMA: Partially implemented the 'enable_2d' bit in the DMA engine.
|
|
video_core: fixed arithmetic overflow warnings & improved code style
|
|
|
|
- Fixed all warnings, for renderer_opengl items, which were indicating a
possible incorrect behavior from integral promotion rules and types
larger than those in which arithmetic is typically performed.
- Added const for variables where possible and meaningful.
- Added constexpr where possible.
|
|
|
|
|
|
When not set, this tells the GPU to only use the X size when performing a DMA copy.
This is only implemented for linear->linear and tiled->tiled copies. Conversion copies still retain the assert.
This bit is unset by some games for various purposes, and by nouveau when copying the vertex buffers.
|
|
Initial support for non-2D textures
|
|
This hopefully helps our cache not to redundant upload the vertex buffer.
# Conflicts:
# src/video_core/renderer_opengl/gl_rasterizer.cpp
|
|
* video_core: Arithmetic overflow fix for gl_rasterizer
- Fixed warnings, which were indicating incorrect behavior from integral
promotion rules and types larger than those in which arithmetic is
typically performed.
- Added const for variables where possible and meaningful.
* Changed the casts from C to C++ style
Changed the C-style casts to C++ casts as proposed.
Took also care about signed / unsigned behaviour.
|
|
|