96cf242bcf
* Handle mismatching texture size with copy dependencies * Create copy and render textures with the minimum possible size * Only align width for comparisons, assume that height is always exact * Fix IsExactMatch size check * Allow sampler and copy textures to match textures with larger width * Delete texture ChangeSize related code * Move AdjustSize to TextureInfo and give it a better name, adjust usages * Fix GetMinimumWidthInGob when minimumWidth > width * Only update render targets that are actually cleared for clear Avoids creating textures with incorrect sizes * Delete UpdateRenderTargetState method that is not needed anymore Clears now only ever sets the render targets that will be cleared rather than all of them
41 lines
1,023 B
C#
41 lines
1,023 B
C#
using System;
|
|
|
|
namespace Ryujinx.Graphics.Gpu.Engine.Threed
|
|
{
|
|
/// <summary>
|
|
/// Flags indicating how the render targets should be updated.
|
|
/// </summary>
|
|
[Flags]
|
|
enum RenderTargetUpdateFlags
|
|
{
|
|
/// <summary>
|
|
/// No flags.
|
|
/// </summary>
|
|
None = 0,
|
|
|
|
/// <summary>
|
|
/// Get render target index from the control register.
|
|
/// </summary>
|
|
UseControl = 1 << 0,
|
|
|
|
/// <summary>
|
|
/// Indicates that all render targets are 2D array textures.
|
|
/// </summary>
|
|
Layered = 1 << 1,
|
|
|
|
/// <summary>
|
|
/// Indicates that only a single color target will be used.
|
|
/// </summary>
|
|
SingleColor = 1 << 2,
|
|
|
|
/// <summary>
|
|
/// Indicates that the depth-stencil target will be used.
|
|
/// </summary>
|
|
UpdateDepthStencil = 1 << 3,
|
|
|
|
/// <summary>
|
|
/// Default update flags for draw.
|
|
/// </summary>
|
|
UpdateAll = UseControl | UpdateDepthStencil
|
|
}
|
|
}
|