webkit  2cdf99a9e3038c7e01b3c37e8ad903ecbe5eecf1
https://github.com/WebKit/webkit
Classes | Public Member Functions | Static Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
rx::TextureStorage11 Class Referenceabstract

#include <TextureStorage11.h>

Inheritance diagram for rx::TextureStorage11:
rx::TextureStorage angle::NonCopyable rx::TextureStorage11_2D rx::TextureStorage11_2DArray rx::TextureStorage11_3D rx::TextureStorage11_Cube rx::TextureStorage11_EGLImage rx::TextureStorage11_External

Public Member Functions

virtual ~TextureStorage11 ()
 
UINT getBindFlags () const
 
UINT getMiscFlags () const
 
virtual gl::Error getResource (ID3D11Resource **outResource)=0
 
virtual gl::Error getSRV (const gl::TextureState &textureState, ID3D11ShaderResourceView **outSRV)
 
virtual gl::Error getRenderTarget (const gl::ImageIndex &index, RenderTargetD3D **outRT)=0
 
virtual gl::Error generateMipmap (const gl::ImageIndex &sourceIndex, const gl::ImageIndex &destIndex)
 
virtual int getTopLevel () const
 
virtual bool isRenderTarget () const
 
virtual bool isManaged () const
 
bool supportsNativeMipmapFunction () const override
 
virtual int getLevelCount () const
 
virtual UINT getSubresourceIndex (const gl::ImageIndex &index) const
 
gl::Error generateSwizzles (const gl::SwizzleState &swizzleTarget)
 
void markLevelDirty (int mipLevel)
 
void markDirty ()
 
gl::Error updateSubresourceLevel (ID3D11Resource *texture, unsigned int sourceSubresource, const gl::ImageIndex &index, const gl::Box &copyArea)
 
gl::Error copySubresourceLevel (ID3D11Resource *dstTexture, unsigned int dstSubresource, const gl::ImageIndex &index, const gl::Box &region)
 
virtual void associateImage (Image11 *image, const gl::ImageIndex &index)=0
 
virtual void disassociateImage (const gl::ImageIndex &index, Image11 *expectedImage)=0
 
virtual bool isAssociatedImageValid (const gl::ImageIndex &index, Image11 *expectedImage)=0
 
virtual gl::Error releaseAssociatedImage (const gl::ImageIndex &index, Image11 *incomingImage)=0
 
virtual gl::Error copyToStorage (TextureStorage *destStorage)
 
virtual gl::Error setData (const gl::ImageIndex &index, ImageD3D *image, const gl::Box *destBox, GLenum type, const gl::PixelUnpackState &unpack, const uint8_t *pixelData)
 
gl::Error getSRVLevels (GLint baseLevel, GLint maxLevel, ID3D11ShaderResourceView **outSRV)
 
const d3d11::FormatgetFormatSet () const
 
- Public Member Functions inherited from rx::TextureStorage
 TextureStorage ()
 
virtual ~TextureStorage ()
 
virtual gl::Error useLevelZeroWorkaroundTexture (bool useLevelZeroTexture)
 

Static Public Member Functions

static DWORD GetTextureBindFlags (GLenum internalFormat, const Renderer11DeviceCaps &renderer11DeviceCaps, bool renderTarget)
 
static DWORD GetTextureMiscFlags (GLenum internalFormat, const Renderer11DeviceCaps &renderer11DeviceCaps, bool renderTarget, int levels)
 

Protected Member Functions

 TextureStorage11 (Renderer11 *renderer, UINT bindFlags, UINT miscFlags, GLenum internalFormat)
 
int getLevelWidth (int mipLevel) const
 
int getLevelHeight (int mipLevel) const
 
int getLevelDepth (int mipLevel) const
 
virtual gl::Error getMippedResource (ID3D11Resource **outResource)
 
virtual gl::Error getSwizzleTexture (ID3D11Resource **outTexture)=0
 
virtual gl::Error getSwizzleRenderTarget (int mipLevel, ID3D11RenderTargetView **outRTV)=0
 
gl::Error getSRVLevel (int mipLevel, bool blitSRV, ID3D11ShaderResourceView **outSRV)
 
virtual gl::Error createDropStencilTexture ()
 
gl::Error initDropStencilTexture (const gl::ImageIndexIterator &it)
 
virtual gl::Error createSRV (int baseLevel, int mipLevels, DXGI_FORMAT format, ID3D11Resource *texture, ID3D11ShaderResourceView **outSRV) const =0
 
void verifySwizzleExists (const gl::SwizzleState &swizzleState)
 
void clearSRVCache ()
 

Protected Attributes

Renderer11mRenderer
 
int mTopLevel
 
unsigned int mMipLevels
 
const d3d11::FormatmFormatInfo
 
unsigned int mTextureWidth
 
unsigned int mTextureHeight
 
unsigned int mTextureDepth
 
gl::SwizzleState mSwizzleCache [gl::IMPLEMENTATION_MAX_TEXTURE_LEVELS]
 
ID3D11Texture2D * mDropStencilTexture
 

Constructor & Destructor Documentation

◆ ~TextureStorage11()

rx::TextureStorage11::~TextureStorage11 ( )
virtual

◆ TextureStorage11()

rx::TextureStorage11::TextureStorage11 ( Renderer11 renderer,
UINT  bindFlags,
UINT  miscFlags,
GLenum  internalFormat 
)
protected

Member Function Documentation

◆ associateImage()

virtual void rx::TextureStorage11::associateImage ( Image11 image,
const gl::ImageIndex index 
)
pure virtual

◆ clearSRVCache()

void rx::TextureStorage11::clearSRVCache ( )
protected

◆ copySubresourceLevel()

gl::Error rx::TextureStorage11::copySubresourceLevel ( ID3D11Resource *  dstTexture,
unsigned int  dstSubresource,
const gl::ImageIndex index,
const gl::Box region 
)

◆ copyToStorage()

gl::Error rx::TextureStorage11::copyToStorage ( TextureStorage destStorage)
virtual

◆ createDropStencilTexture()

gl::Error rx::TextureStorage11::createDropStencilTexture ( )
protectedvirtual

◆ createSRV()

virtual gl::Error rx::TextureStorage11::createSRV ( int  baseLevel,
int  mipLevels,
DXGI_FORMAT  format,
ID3D11Resource *  texture,
ID3D11ShaderResourceView **  outSRV 
) const
protectedpure virtual

◆ disassociateImage()

virtual void rx::TextureStorage11::disassociateImage ( const gl::ImageIndex index,
Image11 expectedImage 
)
pure virtual

◆ generateMipmap()

gl::Error rx::TextureStorage11::generateMipmap ( const gl::ImageIndex sourceIndex,
const gl::ImageIndex destIndex 
)
virtual

Implements rx::TextureStorage.

◆ generateSwizzles()

gl::Error rx::TextureStorage11::generateSwizzles ( const gl::SwizzleState swizzleTarget)

◆ getBindFlags()

UINT rx::TextureStorage11::getBindFlags ( ) const

◆ getFormatSet()

const d3d11::Format & rx::TextureStorage11::getFormatSet ( ) const

◆ getLevelCount()

int rx::TextureStorage11::getLevelCount ( ) const
virtual

Implements rx::TextureStorage.

◆ getLevelDepth()

int rx::TextureStorage11::getLevelDepth ( int  mipLevel) const
protected

◆ getLevelHeight()

int rx::TextureStorage11::getLevelHeight ( int  mipLevel) const
protected

◆ getLevelWidth()

int rx::TextureStorage11::getLevelWidth ( int  mipLevel) const
protected

◆ getMippedResource()

virtual gl::Error rx::TextureStorage11::getMippedResource ( ID3D11Resource **  outResource)
inlineprotectedvirtual

◆ getMiscFlags()

UINT rx::TextureStorage11::getMiscFlags ( ) const

◆ getRenderTarget()

virtual gl::Error rx::TextureStorage11::getRenderTarget ( const gl::ImageIndex index,
RenderTargetD3D **  outRT 
)
pure virtual

◆ getResource()

virtual gl::Error rx::TextureStorage11::getResource ( ID3D11Resource **  outResource)
pure virtual

◆ getSRV()

gl::Error rx::TextureStorage11::getSRV ( const gl::TextureState textureState,
ID3D11ShaderResourceView **  outSRV 
)
virtual

Reimplemented in rx::TextureStorage11_EGLImage.

◆ getSRVLevel()

gl::Error rx::TextureStorage11::getSRVLevel ( int  mipLevel,
bool  blitSRV,
ID3D11ShaderResourceView **  outSRV 
)
protected

◆ getSRVLevels()

gl::Error rx::TextureStorage11::getSRVLevels ( GLint  baseLevel,
GLint  maxLevel,
ID3D11ShaderResourceView **  outSRV 
)

◆ getSubresourceIndex()

UINT rx::TextureStorage11::getSubresourceIndex ( const gl::ImageIndex index) const
virtual

Reimplemented in rx::TextureStorage11_Cube.

◆ getSwizzleRenderTarget()

virtual gl::Error rx::TextureStorage11::getSwizzleRenderTarget ( int  mipLevel,
ID3D11RenderTargetView **  outRTV 
)
protectedpure virtual

◆ getSwizzleTexture()

virtual gl::Error rx::TextureStorage11::getSwizzleTexture ( ID3D11Resource **  outTexture)
protectedpure virtual

◆ GetTextureBindFlags()

DWORD rx::TextureStorage11::GetTextureBindFlags ( GLenum  internalFormat,
const Renderer11DeviceCaps renderer11DeviceCaps,
bool  renderTarget 
)
static

◆ GetTextureMiscFlags()

DWORD rx::TextureStorage11::GetTextureMiscFlags ( GLenum  internalFormat,
const Renderer11DeviceCaps renderer11DeviceCaps,
bool  renderTarget,
int  levels 
)
static

◆ getTopLevel()

int rx::TextureStorage11::getTopLevel ( ) const
virtual

Implements rx::TextureStorage.

◆ initDropStencilTexture()

gl::Error rx::TextureStorage11::initDropStencilTexture ( const gl::ImageIndexIterator it)
protected

◆ isAssociatedImageValid()

virtual bool rx::TextureStorage11::isAssociatedImageValid ( const gl::ImageIndex index,
Image11 expectedImage 
)
pure virtual

◆ isManaged()

bool rx::TextureStorage11::isManaged ( ) const
virtual

Implements rx::TextureStorage.

◆ isRenderTarget()

bool rx::TextureStorage11::isRenderTarget ( ) const
virtual

Implements rx::TextureStorage.

◆ markDirty()

void rx::TextureStorage11::markDirty ( )

◆ markLevelDirty()

void rx::TextureStorage11::markLevelDirty ( int  mipLevel)

◆ releaseAssociatedImage()

virtual gl::Error rx::TextureStorage11::releaseAssociatedImage ( const gl::ImageIndex index,
Image11 incomingImage 
)
pure virtual

◆ setData()

gl::Error rx::TextureStorage11::setData ( const gl::ImageIndex index,
ImageD3D image,
const gl::Box destBox,
GLenum  type,
const gl::PixelUnpackState unpack,
const uint8_t pixelData 
)
virtual

Implements rx::TextureStorage.

◆ supportsNativeMipmapFunction()

bool rx::TextureStorage11::supportsNativeMipmapFunction ( ) const
overridevirtual

Implements rx::TextureStorage.

◆ updateSubresourceLevel()

gl::Error rx::TextureStorage11::updateSubresourceLevel ( ID3D11Resource *  texture,
unsigned int  sourceSubresource,
const gl::ImageIndex index,
const gl::Box copyArea 
)

◆ verifySwizzleExists()

void rx::TextureStorage11::verifySwizzleExists ( const gl::SwizzleState swizzleState)
protected

Member Data Documentation

◆ mDropStencilTexture

ID3D11Texture2D* rx::TextureStorage11::mDropStencilTexture
protected

◆ mFormatInfo

const d3d11::Format& rx::TextureStorage11::mFormatInfo
protected

◆ mMipLevels

unsigned int rx::TextureStorage11::mMipLevels
protected

◆ mRenderer

Renderer11* rx::TextureStorage11::mRenderer
protected

◆ mSwizzleCache

gl::SwizzleState rx::TextureStorage11::mSwizzleCache[gl::IMPLEMENTATION_MAX_TEXTURE_LEVELS]
protected

◆ mTextureDepth

unsigned int rx::TextureStorage11::mTextureDepth
protected

◆ mTextureHeight

unsigned int rx::TextureStorage11::mTextureHeight
protected

◆ mTextureWidth

unsigned int rx::TextureStorage11::mTextureWidth
protected

◆ mTopLevel

int rx::TextureStorage11::mTopLevel
protected

The documentation for this class was generated from the following files: