|
|
|
@ -82,7 +82,7 @@ static u16 GetResolutionScaleFactor() { |
|
|
|
template <bool morton_to_gl, PixelFormat format> |
|
|
|
void MortonCopy(u32 stride, u32 block_height, u32 height, u8* gl_buffer, Tegra::GPUVAddr base, |
|
|
|
Tegra::GPUVAddr start, Tegra::GPUVAddr end) { |
|
|
|
constexpr u32 bytes_per_pixel = SurfaceParams::GetFormatBpp(format) / 8; |
|
|
|
constexpr u32 bytes_per_pixel = SurfaceParams::GetFormatBpp(format) / CHAR_BIT; |
|
|
|
constexpr u32 gl_bytes_per_pixel = CachedSurface::GetGLBytesPerPixel(format); |
|
|
|
const auto& gpu = Core::System::GetInstance().GPU(); |
|
|
|
|
|
|
|
@ -358,9 +358,9 @@ bool CachedSurface::CanFill(const SurfaceParams& dest_surface, |
|
|
|
boost::icl::last_next(fill_interval) <= end && // dest_surface is within our fill range
|
|
|
|
dest_surface.FromInterval(fill_interval).GetInterval() == |
|
|
|
fill_interval) { // make sure interval is a rectangle in dest surface
|
|
|
|
if (fill_size * 8 != dest_surface.GetFormatBpp()) { |
|
|
|
if (fill_size * CHAR_BIT != dest_surface.GetFormatBpp()) { |
|
|
|
// Check if bits repeat for our fill_size
|
|
|
|
const u32 dest_bytes_per_pixel = std::max(dest_surface.GetFormatBpp() / 8, 1u); |
|
|
|
const u32 dest_bytes_per_pixel = std::max(dest_surface.GetFormatBpp() / CHAR_BIT, 1u); |
|
|
|
std::vector<u8> fill_test(fill_size * dest_bytes_per_pixel); |
|
|
|
|
|
|
|
for (u32 i = 0; i < dest_bytes_per_pixel; ++i) |
|
|
|
|