Bug 603071 - Part 2: Fix race condition in PlanarYCbCrImageD3D10. r=roc a=blocking-beta8

This commit is contained in:
Bas Schouten 2010-10-19 21:08:34 +02:00
Родитель 83961c800b
Коммит 76c1b35c5d
2 изменённых файлов: 8 добавлений и 8 удалений

Просмотреть файл

@ -214,9 +214,9 @@ ImageLayerD3D10::RenderLayer(float aOpacity, const gfx3DMatrix &aTransform)
PlanarYCbCrImageD3D10::PlanarYCbCrImageD3D10(mozilla::layers::LayerManagerD3D10* aManager) PlanarYCbCrImageD3D10::PlanarYCbCrImageD3D10(mozilla::layers::LayerManagerD3D10* aManager)
: PlanarYCbCrImage(static_cast<ImageD3D10*>(this)) : PlanarYCbCrImage(static_cast<ImageD3D10*>(this))
, mManager(aManager)
, mHasData(PR_FALSE) , mHasData(PR_FALSE)
{ {
mDevice = aManager->device();
} }
void void
@ -319,12 +319,12 @@ PlanarYCbCrImageD3D10::AllocateTextures()
dataCr.pSysMem = mData.mCrChannel; dataCr.pSysMem = mData.mCrChannel;
dataCr.SysMemPitch = mData.mCbCrStride; dataCr.SysMemPitch = mData.mCbCrStride;
mManager->device()->CreateTexture2D(&descY, &dataY, getter_AddRefs(mYTexture)); mDevice->CreateTexture2D(&descY, &dataY, getter_AddRefs(mYTexture));
mManager->device()->CreateTexture2D(&descCbCr, &dataCb, getter_AddRefs(mCbTexture)); mDevice->CreateTexture2D(&descCbCr, &dataCb, getter_AddRefs(mCbTexture));
mManager->device()->CreateTexture2D(&descCbCr, &dataCr, getter_AddRefs(mCrTexture)); mDevice->CreateTexture2D(&descCbCr, &dataCr, getter_AddRefs(mCrTexture));
mManager->device()->CreateShaderResourceView(mYTexture, NULL, getter_AddRefs(mYView)); mDevice->CreateShaderResourceView(mYTexture, NULL, getter_AddRefs(mYView));
mManager->device()->CreateShaderResourceView(mCbTexture, NULL, getter_AddRefs(mCbView)); mDevice->CreateShaderResourceView(mCbTexture, NULL, getter_AddRefs(mCbView));
mManager->device()->CreateShaderResourceView(mCrTexture, NULL, getter_AddRefs(mCrView)); mDevice->CreateShaderResourceView(mCrTexture, NULL, getter_AddRefs(mCrView));
} }
already_AddRefed<gfxASurface> already_AddRefed<gfxASurface>

Просмотреть файл

@ -116,7 +116,7 @@ public:
virtual already_AddRefed<gfxASurface> GetAsSurface(); virtual already_AddRefed<gfxASurface> GetAsSurface();
nsAutoArrayPtr<PRUint8> mBuffer; nsAutoArrayPtr<PRUint8> mBuffer;
LayerManagerD3D10 *mManager; nsRefPtr<ID3D10Device1> mDevice;
Data mData; Data mData;
gfxIntSize mSize; gfxIntSize mSize;
nsRefPtr<ID3D10Texture2D> mYTexture; nsRefPtr<ID3D10Texture2D> mYTexture;