mirror of
https://github.com/Lime3DS/Lime3DS
synced 2024-11-15 11:43:44 +00:00
Minor style changes
This commit is contained in:
parent
0498d34d18
commit
72034b772d
1 changed files with 13 additions and 12 deletions
|
@ -875,10 +875,11 @@ Surface FindMatch(const SurfaceCache& surface_cache, const SurfaceParams& params
|
||||||
const bool res_scale_matched = match_scale_type == ScaleMatch::Exact
|
const bool res_scale_matched = match_scale_type == ScaleMatch::Exact
|
||||||
? (params.res_scale == surface->res_scale)
|
? (params.res_scale == surface->res_scale)
|
||||||
: (params.res_scale <= surface->res_scale);
|
: (params.res_scale <= surface->res_scale);
|
||||||
|
// validity will be checked in GetCopyableInterval
|
||||||
bool is_valid =
|
bool is_valid =
|
||||||
find_flags & MatchFlags::Copy ? true
|
find_flags & MatchFlags::Copy
|
||||||
: // validity will be checked in GetCopyableInterval
|
? true
|
||||||
surface->IsRegionValid(validate_interval.value_or(params.GetInterval()));
|
: surface->IsRegionValid(validate_interval.value_or(params.GetInterval()));
|
||||||
|
|
||||||
if (!(find_flags & MatchFlags::Invalid) && !is_valid)
|
if (!(find_flags & MatchFlags::Invalid) && !is_valid)
|
||||||
continue;
|
continue;
|
||||||
|
@ -976,8 +977,8 @@ Surface RasterizerCacheOpenGL::GetSurface(const SurfaceParams& params, ScaleMatc
|
||||||
if (params.addr == 0 || params.height * params.width == 0) {
|
if (params.addr == 0 || params.height * params.width == 0) {
|
||||||
return nullptr;
|
return nullptr;
|
||||||
}
|
}
|
||||||
|
// Use GetSurfaceSubRect instead
|
||||||
ASSERT(params.width == params.stride); // Use GetSurfaceSubRect instead
|
ASSERT(params.width == params.stride);
|
||||||
|
|
||||||
// Check for an exact match in existing surfaces
|
// Check for an exact match in existing surfaces
|
||||||
Surface surface =
|
Surface surface =
|
||||||
|
@ -1072,7 +1073,8 @@ SurfaceRect_Tuple RasterizerCacheOpenGL::GetSurfaceSubRect(const SurfaceParams&
|
||||||
// No subrect found - create and return a new surface
|
// No subrect found - create and return a new surface
|
||||||
if (surface == nullptr) {
|
if (surface == nullptr) {
|
||||||
SurfaceParams new_params = params;
|
SurfaceParams new_params = params;
|
||||||
new_params.width = params.stride; // Can't have gaps in a surface
|
// Can't have gaps in a surface
|
||||||
|
new_params.width = params.stride;
|
||||||
new_params.UpdateParams();
|
new_params.UpdateParams();
|
||||||
// GetSurface will create the new surface and possibly adjust res_scale if necessary
|
// GetSurface will create the new surface and possibly adjust res_scale if necessary
|
||||||
surface = GetSurface(new_params, match_res_scale, load_if_create);
|
surface = GetSurface(new_params, match_res_scale, load_if_create);
|
||||||
|
@ -1141,7 +1143,7 @@ SurfaceSurfaceRect_Tuple RasterizerCacheOpenGL::GetFramebufferSurfaces(
|
||||||
auto color_vp_interval = color_params.GetSubRectInterval(viewport_clamped);
|
auto color_vp_interval = color_params.GetSubRectInterval(viewport_clamped);
|
||||||
auto depth_vp_interval = depth_params.GetSubRectInterval(viewport_clamped);
|
auto depth_vp_interval = depth_params.GetSubRectInterval(viewport_clamped);
|
||||||
|
|
||||||
// Make sur that framebuffers don't overlap if both color and depth are being used
|
// Make sure that framebuffers don't overlap if both color and depth are being used
|
||||||
if (using_color_fb && using_depth_fb &&
|
if (using_color_fb && using_depth_fb &&
|
||||||
boost::icl::length(color_vp_interval & depth_vp_interval)) {
|
boost::icl::length(color_vp_interval & depth_vp_interval)) {
|
||||||
LOG_CRITICAL(Render_OpenGL, "Color and depth framebuffer memory regions overlap; "
|
LOG_CRITICAL(Render_OpenGL, "Color and depth framebuffer memory regions overlap; "
|
||||||
|
@ -1322,10 +1324,8 @@ void RasterizerCacheOpenGL::FlushRegion(PAddr addr, u32 size, Surface flush_surf
|
||||||
SurfaceRegions flushed_intervals;
|
SurfaceRegions flushed_intervals;
|
||||||
|
|
||||||
for (auto& pair : RangeFromInterval(dirty_regions, flush_interval)) {
|
for (auto& pair : RangeFromInterval(dirty_regions, flush_interval)) {
|
||||||
const auto interval = size <= 8
|
// small sizes imply that this most likely comes from the cpu, flush the entire region
|
||||||
? // this most likely comes from the cpu, flush the entire region
|
const auto interval = size <= 8 ? pair.first : pair.first & flush_interval;
|
||||||
pair.first
|
|
||||||
: pair.first & flush_interval;
|
|
||||||
auto& surface = pair.second;
|
auto& surface = pair.second;
|
||||||
|
|
||||||
if (flush_surface != nullptr && surface != flush_surface)
|
if (flush_surface != nullptr && surface != flush_surface)
|
||||||
|
@ -1358,7 +1358,8 @@ void RasterizerCacheOpenGL::InvalidateRegion(PAddr addr, u32 size, const Surface
|
||||||
if (region_owner != nullptr) {
|
if (region_owner != nullptr) {
|
||||||
ASSERT(region_owner->type != SurfaceType::Texture);
|
ASSERT(region_owner->type != SurfaceType::Texture);
|
||||||
ASSERT(addr >= region_owner->addr && addr + size <= region_owner->end);
|
ASSERT(addr >= region_owner->addr && addr + size <= region_owner->end);
|
||||||
ASSERT(region_owner->width == region_owner->stride); // Surfaces can't have a gap
|
// Surfaces can't have a gap
|
||||||
|
ASSERT(region_owner->width == region_owner->stride);
|
||||||
region_owner->invalid_regions.erase(invalid_interval);
|
region_owner->invalid_regions.erase(invalid_interval);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue