[GPU] Display swap output in the trace viewer
Resolve output is unreliable because resolving may be done to a subregion of a texture and even to 3D textures, and to any color format
This commit is contained in:
@@ -714,7 +714,8 @@ Presenter::GuestOutputPaintFlow Presenter::GetGuestOutputPaintFlow(
|
||||
// ratio while stretching throughout the entire surface's width, then limit
|
||||
// the Y cropping via letterboxing or stretching along X.
|
||||
uint32_t present_safe_area;
|
||||
if (cvars::present_safe_area_y > 0 && cvars::present_safe_area_y < 100) {
|
||||
if (config.GetAllowOverscanCutoff() && cvars::present_safe_area_y > 0 &&
|
||||
cvars::present_safe_area_y < 100) {
|
||||
present_safe_area = uint32_t(cvars::present_safe_area_y);
|
||||
} else {
|
||||
present_safe_area = 100;
|
||||
@@ -756,7 +757,8 @@ Presenter::GuestOutputPaintFlow Presenter::GetGuestOutputPaintFlow(
|
||||
// aspect ratio while stretching throughout the entire surface's height,
|
||||
// then limit the X cropping via letterboxing or stretching along Y.
|
||||
uint32_t present_safe_area;
|
||||
if (cvars::present_safe_area_x > 0 && cvars::present_safe_area_x < 100) {
|
||||
if (config.GetAllowOverscanCutoff() && cvars::present_safe_area_x > 0 &&
|
||||
cvars::present_safe_area_x < 100) {
|
||||
present_safe_area = uint32_t(cvars::present_safe_area_x);
|
||||
} else {
|
||||
present_safe_area = 100;
|
||||
|
||||
@@ -228,6 +228,11 @@ class Presenter {
|
||||
// In the sharpness setters, min / max with a constant as the first argument
|
||||
// also drops NaNs.
|
||||
|
||||
bool GetAllowOverscanCutoff() const { return allow_overscan_cutoff_; }
|
||||
void SetAllowOverscanCutoff(bool new_allow_overscan_cutoff) {
|
||||
allow_overscan_cutoff_ = new_allow_overscan_cutoff;
|
||||
}
|
||||
|
||||
Effect GetEffect() const { return effect_; }
|
||||
void SetEffect(Effect new_effect) { effect_ = new_effect; }
|
||||
|
||||
@@ -265,8 +270,10 @@ class Presenter {
|
||||
void SetDither(bool new_dither) { dither_ = new_dither; }
|
||||
|
||||
private:
|
||||
// Tools, rather than the emulator itself, must use kBilinear as the image
|
||||
// must be as close to the original front buffer as possible.
|
||||
// Tools, rather than the emulator itself, must not allow overscan cutoff
|
||||
// and must use the kBilinear effect as the image must be as close to the
|
||||
// original front buffer as possible.
|
||||
bool allow_overscan_cutoff_ = false;
|
||||
Effect effect_ = Effect::kBilinear;
|
||||
float cas_additional_sharpness_ = kCasAdditionalSharpnessDefault;
|
||||
uint32_t fsr_max_upsampling_passes_ = kFsrMaxUpscalingPassesMax;
|
||||
|
||||
Reference in New Issue
Block a user