gl_rasterizer_cache: Use CHAR_BIT for bpp conversions instead of 8.
This commit is contained in:
parent
0a023cfb4f
commit
f1a4a004fb
@ -82,7 +82,7 @@ static u16 GetResolutionScaleFactor() {
|
|||||||
template <bool morton_to_gl, PixelFormat format>
|
template <bool morton_to_gl, PixelFormat format>
|
||||||
void MortonCopy(u32 stride, u32 block_height, u32 height, u8* gl_buffer, Tegra::GPUVAddr base,
|
void MortonCopy(u32 stride, u32 block_height, u32 height, u8* gl_buffer, Tegra::GPUVAddr base,
|
||||||
Tegra::GPUVAddr start, Tegra::GPUVAddr end) {
|
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);
|
constexpr u32 gl_bytes_per_pixel = CachedSurface::GetGLBytesPerPixel(format);
|
||||||
const auto& gpu = Core::System::GetInstance().GPU();
|
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
|
boost::icl::last_next(fill_interval) <= end && // dest_surface is within our fill range
|
||||||
dest_surface.FromInterval(fill_interval).GetInterval() ==
|
dest_surface.FromInterval(fill_interval).GetInterval() ==
|
||||||
fill_interval) { // make sure interval is a rectangle in dest surface
|
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
|
// 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);
|
std::vector<u8> fill_test(fill_size * dest_bytes_per_pixel);
|
||||||
|
|
||||||
for (u32 i = 0; i < dest_bytes_per_pixel; ++i)
|
for (u32 i = 0; i < dest_bytes_per_pixel; ++i)
|
||||||
|
@ -374,7 +374,7 @@ struct CachedSurface : SurfaceParams {
|
|||||||
if (format == PixelFormat::Invalid)
|
if (format == PixelFormat::Invalid)
|
||||||
return 0;
|
return 0;
|
||||||
|
|
||||||
return SurfaceParams::GetFormatBpp(format) / 8;
|
return SurfaceParams::GetFormatBpp(format) / CHAR_BIT;
|
||||||
}
|
}
|
||||||
|
|
||||||
std::unique_ptr<u8[]> gl_buffer;
|
std::unique_ptr<u8[]> gl_buffer;
|
||||||
|
Loading…
Reference in New Issue
Block a user