diff --git a/gfx/2d/MacIOSurface.cpp b/gfx/2d/MacIOSurface.cpp index bae93316270b..208e4bf46707 100644 --- a/gfx/2d/MacIOSurface.cpp +++ b/gfx/2d/MacIOSurface.cpp @@ -19,10 +19,8 @@ using namespace mozilla; MacIOSurface::MacIOSurface(CFTypeRefPtr aIOSurfaceRef, - double aContentsScaleFactor, bool aHasAlpha, - gfx::YUVColorSpace aColorSpace) + bool aHasAlpha, gfx::YUVColorSpace aColorSpace) : mIOSurfaceRef(std::move(aIOSurfaceRef)), - mContentsScaleFactor(aContentsScaleFactor), mHasAlpha(aHasAlpha), mColorSpace(aColorSpace) { IncrementUseCount(); @@ -59,10 +57,9 @@ void SetSizeProperties(const CFTypeRefPtr& aDict, } /* static */ -already_AddRefed MacIOSurface::CreateIOSurface( - int aWidth, int aHeight, double aContentsScaleFactor, bool aHasAlpha) { - if (aContentsScaleFactor <= 0) return nullptr; - +already_AddRefed MacIOSurface::CreateIOSurface(int aWidth, + int aHeight, + bool aHasAlpha) { auto props = CFTypeRefPtr::WrapUnderCreateRule( ::CFDictionaryCreateMutable(kCFAllocatorDefault, 4, &kCFTypeDictionaryKeyCallBacks, @@ -73,9 +70,6 @@ already_AddRefed MacIOSurface::CreateIOSurface( MOZ_ASSERT((size_t)aHeight <= GetMaxHeight()); int32_t bytesPerElem = 4; - size_t intScaleFactor = ceil(aContentsScaleFactor); - aWidth *= intScaleFactor; - aHeight *= intScaleFactor; SetSizeProperties(props, aWidth, aHeight, bytesPerElem); AddDictionaryInt(props, kIOSurfacePixelFormat, @@ -95,7 +89,7 @@ already_AddRefed MacIOSurface::CreateIOSurface( } RefPtr ioSurface = - new MacIOSurface(std::move(surfaceRef), aContentsScaleFactor, aHasAlpha); + new MacIOSurface(std::move(surfaceRef), aHasAlpha); return ioSurface.forget(); } @@ -197,7 +191,7 @@ already_AddRefed MacIOSurface::CreateNV12Surface( colorData.get()); RefPtr ioSurface = - new MacIOSurface(std::move(surfaceRef), 1.0, false, aColorSpace); + new MacIOSurface(std::move(surfaceRef), false, aColorSpace); return ioSurface.forget(); } @@ -259,24 +253,21 @@ already_AddRefed MacIOSurface::CreateYUV422Surface( colorData.get()); RefPtr ioSurface = - new MacIOSurface(std::move(surfaceRef), 1.0, false, aColorSpace); + new MacIOSurface(std::move(surfaceRef), false, aColorSpace); return ioSurface.forget(); } /* static */ already_AddRefed MacIOSurface::LookupSurface( - IOSurfaceID aIOSurfaceID, double aContentsScaleFactor, bool aHasAlpha, - gfx::YUVColorSpace aColorSpace) { - if (aContentsScaleFactor <= 0) return nullptr; - + IOSurfaceID aIOSurfaceID, bool aHasAlpha, gfx::YUVColorSpace aColorSpace) { CFTypeRefPtr surfaceRef = CFTypeRefPtr::WrapUnderCreateRule( ::IOSurfaceLookup(aIOSurfaceID)); if (!surfaceRef) return nullptr; - RefPtr ioSurface = new MacIOSurface( - std::move(surfaceRef), aContentsScaleFactor, aHasAlpha, aColorSpace); + RefPtr ioSurface = + new MacIOSurface(std::move(surfaceRef), aHasAlpha, aColorSpace); return ioSurface.forget(); } @@ -294,13 +285,11 @@ void* MacIOSurface::GetBaseAddressOfPlane(size_t aPlaneIndex) const { } size_t MacIOSurface::GetWidth(size_t plane) const { - size_t intScaleFactor = ceil(mContentsScaleFactor); - return GetDevicePixelWidth(plane) / intScaleFactor; + return GetDevicePixelWidth(plane); } size_t MacIOSurface::GetHeight(size_t plane) const { - size_t intScaleFactor = ceil(mContentsScaleFactor); - return GetDevicePixelHeight(plane) / intScaleFactor; + return GetDevicePixelHeight(plane); } size_t MacIOSurface::GetPlaneCount() const { diff --git a/gfx/2d/MacIOSurface.h b/gfx/2d/MacIOSurface.h index 869641fee45f..70e7b556c56e 100644 --- a/gfx/2d/MacIOSurface.h +++ b/gfx/2d/MacIOSurface.h @@ -56,9 +56,8 @@ class MacIOSurface final // of the MacIOSurface instance. // MacIOSurface holds a reference to the corresponding IOSurface. - static already_AddRefed CreateIOSurface( - int aWidth, int aHeight, double aContentsScaleFactor = 1.0, - bool aHasAlpha = true); + static already_AddRefed CreateIOSurface(int aWidth, int aHeight, + bool aHasAlpha = true); static already_AddRefed CreateNV12Surface( const IntSize& aYSize, const IntSize& aCbCrSize, YUVColorSpace aColorSpace, ColorRange aColorRange); @@ -66,13 +65,11 @@ class MacIOSurface final const IntSize& aSize, YUVColorSpace aColorSpace, ColorRange aColorRange); static void ReleaseIOSurface(MacIOSurface* aIOSurface); static already_AddRefed LookupSurface( - IOSurfaceID aSurfaceID, double aContentsScaleFactor = 1.0, - bool aHasAlpha = true, + IOSurfaceID aSurfaceID, bool aHasAlpha = true, mozilla::gfx::YUVColorSpace aColorSpace = mozilla::gfx::YUVColorSpace::Identity); explicit MacIOSurface(CFTypeRefPtr aIOSurfaceRef, - double aContentsScaleFactor = 1.0, bool aHasAlpha = true, mozilla::gfx::YUVColorSpace aColorSpace = mozilla::gfx::YUVColorSpace::Identity); @@ -92,7 +89,6 @@ class MacIOSurface final IntSize GetSize(size_t plane = 0) const { return IntSize(GetWidth(plane), GetHeight(plane)); } - double GetContentsScaleFactor() const { return mContentsScaleFactor; } size_t GetDevicePixelWidth(size_t plane = 0) const; size_t GetDevicePixelHeight(size_t plane = 0) const; size_t GetBytesPerRow(size_t plane = 0) const; @@ -142,7 +138,6 @@ class MacIOSurface final private: CFTypeRefPtr mIOSurfaceRef; - const double mContentsScaleFactor; const bool mHasAlpha; YUVColorSpace mColorSpace = YUVColorSpace::Identity; bool mIsLocked = false; diff --git a/gfx/2d/QuartzSupport.mm b/gfx/2d/QuartzSupport.mm index a14b1350e62a..91b754e380a2 100644 --- a/gfx/2d/QuartzSupport.mm +++ b/gfx/2d/QuartzSupport.mm @@ -475,28 +475,24 @@ nsresult nsCARenderer::DrawSurfaceToCGContext(CGContextRef aContext, MacIOSurfac } void* ioData = surf->GetBaseAddress(); - double scaleFactor = surf->GetContentsScaleFactor(); - size_t intScaleFactor = ceil(surf->GetContentsScaleFactor()); CGDataProviderRef dataProvider = - ::CGDataProviderCreateWithData(ioData, ioData, ioHeight * intScaleFactor * (bytesPerRow)*4, + ::CGDataProviderCreateWithData(ioData, ioData, ioHeight * (bytesPerRow)*4, nullptr); // No release callback if (!dataProvider) { surf->Unlock(); return NS_ERROR_FAILURE; } - CGImageRef cgImage = - ::CGImageCreate(ioWidth * intScaleFactor, ioHeight * intScaleFactor, 8, 32, bytesPerRow, - aColorSpace, kCGImageAlphaPremultipliedFirst | kCGBitmapByteOrder32Host, - dataProvider, nullptr, true, kCGRenderingIntentDefault); + CGImageRef cgImage = ::CGImageCreate(ioWidth, ioHeight, 8, 32, bytesPerRow, aColorSpace, + kCGImageAlphaPremultipliedFirst | kCGBitmapByteOrder32Host, + dataProvider, nullptr, true, kCGRenderingIntentDefault); ::CGDataProviderRelease(dataProvider); if (!cgImage) { surf->Unlock(); return NS_ERROR_FAILURE; } - CGImageRef subImage = ::CGImageCreateWithImageInRect( - cgImage, ::CGRectMake(aX * scaleFactor, aY * scaleFactor, aWidth * scaleFactor, - aHeight * scaleFactor)); + CGImageRef subImage = + ::CGImageCreateWithImageInRect(cgImage, ::CGRectMake(aX, aY, aWidth, aHeight)); if (!subImage) { ::CGImageRelease(cgImage); surf->Unlock(); @@ -504,9 +500,7 @@ nsresult nsCARenderer::DrawSurfaceToCGContext(CGContextRef aContext, MacIOSurfac } ::CGContextScaleCTM(aContext, 1.0f, -1.0f); - ::CGContextDrawImage(aContext, - CGRectMake(aX * scaleFactor, (-(CGFloat)aY - (CGFloat)aHeight) * scaleFactor, - aWidth * scaleFactor, aHeight * scaleFactor), + ::CGContextDrawImage(aContext, CGRectMake(aX, -(CGFloat)aY - (CGFloat)aHeight, aWidth, aHeight), subImage); ::CGImageRelease(subImage); diff --git a/gfx/gl/GLBlitHelper.cpp b/gfx/gl/GLBlitHelper.cpp index 09f8a3cb993b..f5d66461b878 100644 --- a/gfx/gl/GLBlitHelper.cpp +++ b/gfx/gl/GLBlitHelper.cpp @@ -682,8 +682,8 @@ const DrawBlitProg* GLBlitHelper::CreateDrawBlitProg( #ifdef XP_MACOSX static RefPtr LookupSurface( const layers::SurfaceDescriptorMacIOSurface& sd) { - return MacIOSurface::LookupSurface(sd.surfaceId(), sd.scaleFactor(), - !sd.isOpaque(), sd.yUVColorSpace()); + return MacIOSurface::LookupSurface(sd.surfaceId(), !sd.isOpaque(), + sd.yUVColorSpace()); } #endif @@ -1266,8 +1266,7 @@ bool GLBlitHelper::BlitImage(layers::GPUVideoImage* const srcImage, TSurfaceDescriptorMacIOSurface: { const auto& subdesc = subdescUnion.get_SurfaceDescriptorMacIOSurface(); RefPtr surface = MacIOSurface::LookupSurface( - subdesc.surfaceId(), subdesc.scaleFactor(), !subdesc.isOpaque(), - subdesc.yUVColorSpace()); + subdesc.surfaceId(), !subdesc.isOpaque(), subdesc.yUVColorSpace()); MOZ_ASSERT(surface); if (!surface) { return false; diff --git a/gfx/gl/SharedSurfaceIO.cpp b/gfx/gl/SharedSurfaceIO.cpp index fafe5e4ac17c..00567e2b3aec 100644 --- a/gfx/gl/SharedSurfaceIO.cpp +++ b/gfx/gl/SharedSurfaceIO.cpp @@ -54,7 +54,7 @@ UniquePtr SharedSurface_IOSurface::Create( const SharedSurfaceDesc& desc) { const auto& size = desc.size; const RefPtr ioSurf = - MacIOSurface::CreateIOSurface(size.width, size.height, 1.0, true); + MacIOSurface::CreateIOSurface(size.width, size.height, true); if (!ioSurf) { NS_WARNING("Failed to create MacIOSurface."); return nullptr; diff --git a/gfx/layers/MacIOSurfaceImage.cpp b/gfx/layers/MacIOSurfaceImage.cpp index 8a155bc5cc7c..5191df4d6a77 100644 --- a/gfx/layers/MacIOSurfaceImage.cpp +++ b/gfx/layers/MacIOSurfaceImage.cpp @@ -130,7 +130,7 @@ already_AddRefed MacIOSurfaceRecycleAllocator::Allocate( // Only construct a MacIOSurface object when we find one that isn't // in-use, since the constructor adds a usage ref. if (!result && !::IOSurfaceIsInUse(surf.get())) { - result = new MacIOSurface(surf, 1.0, false, aYUVColorSpace); + result = new MacIOSurface(surf, false, aYUVColorSpace); } mSurfaces.AppendElement(surf); diff --git a/gfx/layers/basic/MacIOSurfaceTextureHostBasic.cpp b/gfx/layers/basic/MacIOSurfaceTextureHostBasic.cpp index 1de9ea82461c..5d01c46fe5ec 100644 --- a/gfx/layers/basic/MacIOSurfaceTextureHostBasic.cpp +++ b/gfx/layers/basic/MacIOSurfaceTextureHostBasic.cpp @@ -36,9 +36,9 @@ gfx::SurfaceFormat MacIOSurfaceTextureSourceBasic::GetFormat() const { MacIOSurfaceTextureHostBasic::MacIOSurfaceTextureHostBasic( TextureFlags aFlags, const SurfaceDescriptorMacIOSurface& aDescriptor) : TextureHost(aFlags) { - mSurface = MacIOSurface::LookupSurface( - aDescriptor.surfaceId(), aDescriptor.scaleFactor(), - !aDescriptor.isOpaque(), aDescriptor.yUVColorSpace()); + mSurface = MacIOSurface::LookupSurface(aDescriptor.surfaceId(), + !aDescriptor.isOpaque(), + aDescriptor.yUVColorSpace()); } gfx::SourceSurface* MacIOSurfaceTextureSourceBasic::GetSurface( diff --git a/gfx/layers/opengl/MacIOSurfaceTextureClientOGL.cpp b/gfx/layers/opengl/MacIOSurfaceTextureClientOGL.cpp index 7812a7ae96f3..4b98c54def51 100644 --- a/gfx/layers/opengl/MacIOSurfaceTextureClientOGL.cpp +++ b/gfx/layers/opengl/MacIOSurfaceTextureClientOGL.cpp @@ -41,7 +41,7 @@ MacIOSurfaceTextureData* MacIOSurfaceTextureData::Create(const IntSize& aSize, } RefPtr surf = MacIOSurface::CreateIOSurface( - aSize.width, aSize.height, 1.0, aFormat == SurfaceFormat::B8G8R8A8); + aSize.width, aSize.height, aFormat == SurfaceFormat::B8G8R8A8); if (!surf) { return nullptr; } diff --git a/gfx/vr/VRManager.cpp b/gfx/vr/VRManager.cpp index 4f167f789a9e..0af97ee56f76 100644 --- a/gfx/vr/VRManager.cpp +++ b/gfx/vr/VRManager.cpp @@ -1396,9 +1396,8 @@ bool VRManager::SubmitFrame(const layers::SurfaceDescriptor& aTexture, const auto& desc = aTexture.get_SurfaceDescriptorMacIOSurface(); layer.textureType = VRLayerTextureType::LayerTextureType_MacIOSurface; layer.textureHandle = desc.surfaceId(); - RefPtr surf = - MacIOSurface::LookupSurface(desc.surfaceId(), desc.scaleFactor(), - !desc.isOpaque(), desc.yUVColorSpace()); + RefPtr surf = MacIOSurface::LookupSurface( + desc.surfaceId(), !desc.isOpaque(), desc.yUVColorSpace()); if (surf) { layer.textureSize.width = surf->GetDevicePixelWidth(); layer.textureSize.height = surf->GetDevicePixelHeight();