| Age | Commit message (Collapse) | Author |
|
This improves my PC's performance on RS2 Hoth by... 0.1% or so, which I
think is within the margin of error. But this change also cuts down on
boilerplate.
|
|
TextureCacheBase::LoadImpl has a hot path where the passed-in
TextureInfo never gets used. Instead of passing in a TextureInfo, let's
pass in the stage and create the TextureInfo from the stage if needed.
This unlocks somewhere above an additional 4% performance boost in the
Hoth level of Rogue Squadron 2 on my PC. Performance varies, making it
difficult for me to measure, so treat this as a very approximate number.
|
|
Fix various typos and spelling mistakes
|
|
c++23: Replace Common::ToUnderlying with std::to_underlying
|
|
|
|
The TextureInfo constructor creates a vector of MipLevels. This could be
good for performance if MipLevels are accessed very often for each
TextureInfo, but that's not the case. Dolphin creates thousands of
TextureInfos per second that it never accesses the mipmap levels of
because there's a hit in the texture cache, and in the uncommon case of
a texture cache miss, the mipmap levels only get looped through once.
To make the common case of texture cache hits as fast as possible, let's
not create a vector in the TextureInfo constructor. This commit
implements a custom iterator for MipLevels instead.
In my testing on the Death Star level of Rogue Squadron 2, this speeds
up TextureInfo::FromStage by 200%, giving an overall emulation speedup
of a bit over 1%. Results on the Hoth level are even better, with
TextureInfo::FromStage being close to 300% faster and overall emulation
being over 4% faster. (Single core, no GPU texture decoding.)
|
|
Requires at least GCC 11, Clang 13, MSVC 19.30 (VS2022 17.0), or AppleClang 13.1.6 (XCode 13.3).
|
|
`samplers` is a member defined in ShaderAsset.h
|
|
VideoCommon: clear all compiler work when resource manager shuts down
|
|
CustomPipeline: Remove unused functions
|
|
VideoCommon: Fix ShaderResource init order warning
|
|
|
|
|
|
for d3d
|
|
|
|
VideoCommon: separate the concept of a 'resource' from an 'asset', add Material/Shader loading
|
|
mingw: replace usages of SendMessage due to clash with existing function
|
|
VideoCommon: Add setting to limit immediate swaps to one per VI.
|
|
VideoCommon: fix MaterialAsset so that boolean parameters are written properly
|
|
VideoCommon: add method to async shader compiler to clear pending/completed work, use on shutdown
|
|
VideoCommon: avoid assuming global state exists for 'EndUtilityDrawing'
|
|
Core: Eliminate FreeLookConfig by putting the "active config" within FreeLookCamera.
|
|
|
|
Checked on hardware that this bias was not added because I had assumed the other way around would be true, forgot to ask about making a PR for this when I initially had done so
|
|
|
|
|
|
texture(+sampler) resource to show the complexities that warrant the resource manager system
|
|
ship built-in custom shaders in the future
|
|
invalid textures for when a texture isn't provided for a custom asset
|
|
function, add a way to hash the pipeline (using the vertex declaration instead of the native vertex format)
|
|
|
|
resource is potentially multiple assets that are chained together but represent one type of data to the rest of the system. An example is a 'material'. A 'material' is a collection of textures, a custom shader, and some metadata that all comes together to form what the concept of the material is. There will be a 'material' resource. For now, start small by introducing the interface and change our texture loading which used assets from the old resource manager, to an actual resource.
|
|
'IsAnisotropicEnhancementSafe' in TextureCacheBase
|
|
VideoCommon: update ShaderAsset to use a vector of properties
|
|
Add "Rush Frame Presentation" and "Smooth Early Presentation" settings.
|
|
ensure the order of these properties match the order of the material
|
|
in the shader source, this just makes it more difficult to iteratively test changes, assume shader devs know what they are doing
|
|
AsyncShaderCompiler, let type deduction do its thing and improve readability
|
|
work (used on shutdown), this will in turn clear up any resources that the worker items may have held onto
|
|
memory as integers, matching the format internally expected by shaders
|
|
last stored viewport/scissor rect instead
|
|
Common and VideoCommon: Silence a few warnings.
|
|
OSD/Imgui: Add a better default font
|
|
warning: virtual method '~FramebufferManager' is inside a 'final' class and can never be overridden [-Wunnecessary-virtual-specifier]
|
|
FreeLookCamera.
|
|
Improved stereoscopic 3D settings
|
|
|
|
frame presentation time and the intended presentation time in the "Show Frame Times" box.
|
|
with ImmediateXFB and/or RushFramePresentation.
|
|
usage of GetTicks() with ImmediateXFB + DualCore.
|