|
|
|
@ -218,12 +218,6 @@ public: |
|
|
|
} |
|
|
|
|
|
|
|
protected: |
|
|
|
// This structure is used for communicating with the backend, on which behaviors |
|
|
|
// it supports and what not, to avoid assuming certain things about hardware. |
|
|
|
// The backend is RESPONSIBLE for filling this settings on creation. |
|
|
|
struct Support { |
|
|
|
bool depth_color_image_copies; |
|
|
|
} support_info; |
|
|
|
|
|
|
|
TextureCache(Core::System& system, VideoCore::RasterizerInterface& rasterizer) |
|
|
|
: system{system}, rasterizer{rasterizer} { |
|
|
|
@ -389,8 +383,7 @@ private: |
|
|
|
const auto gpu_addr = current_surface->GetGpuAddr(); |
|
|
|
TSurface new_surface = GetUncachedSurface(gpu_addr, params); |
|
|
|
const auto& cr_params = current_surface->GetSurfaceParams(); |
|
|
|
if (cr_params.type != params.type && (!support_info.depth_color_image_copies || |
|
|
|
cr_params.component_type != params.component_type)) { |
|
|
|
if (cr_params.type != params.type || (cr_params.component_type != params.component_type)) { |
|
|
|
BufferCopy(current_surface, new_surface); |
|
|
|
} else { |
|
|
|
std::vector<CopyParams> bricks = current_surface->BreakDown(params); |
|
|
|
|