void TextureClientShmem::SetDescriptor(const SurfaceDescriptor& aDescriptor) { if (IsSurfaceDescriptorValid(aDescriptor)) { ReleaseResources(); mDescriptor = aDescriptor; } else { EnsureAllocated(mSize, mContentType); } mSurface = nullptr; NS_ASSERTION(mDescriptor.type() == SurfaceDescriptor::TSurfaceDescriptorGralloc || mDescriptor.type() == SurfaceDescriptor::TShmem || mDescriptor.type() == SurfaceDescriptor::TRGBImage, "Invalid surface descriptor"); }
void DeprecatedTextureClientShmem::SetDescriptor(const SurfaceDescriptor& aDescriptor) { if (aDescriptor.type() == SurfaceDescriptor::Tnull_t) { EnsureAllocated(mSize, mContentType); return; } ReleaseResources(); mDescriptor = aDescriptor; MOZ_ASSERT(!mSurface); NS_ASSERTION(mDescriptor.type() == SurfaceDescriptor::T__None || mDescriptor.type() == SurfaceDescriptor::TSurfaceDescriptorGralloc || mDescriptor.type() == SurfaceDescriptor::TShmem || mDescriptor.type() == SurfaceDescriptor::TMemoryImage || mDescriptor.type() == SurfaceDescriptor::TRGBImage, "Invalid surface descriptor"); }
void DeprecatedTextureClientD3D11::SetDescriptor(const SurfaceDescriptor& aDescriptor) { if (aDescriptor.type() == SurfaceDescriptor::Tnull_t) { EnsureAllocated(mSize, mContentType); return; } mDescriptor = aDescriptor; mSurface = nullptr; ClearDT(); if (aDescriptor.type() == SurfaceDescriptor::T__None) { return; } MOZ_ASSERT(aDescriptor.type() == SurfaceDescriptor::TSurfaceDescriptorD3D10); ID3D10Device* device = gfxWindowsPlatform::GetPlatform()->GetD3D10Device(); device->OpenSharedResource((HANDLE)aDescriptor.get_SurfaceDescriptorD3D10().handle(), __uuidof(ID3D10Texture2D), (void**)(ID3D10Texture2D**)byRef(mTexture)); }