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

#include <RendererD3D.h>

Inheritance diagram for rx::RendererD3D:
rx::BufferFactoryD3D angle::NonCopyable rx::Renderer11 rx::Renderer9

Public Member Functions

 RendererD3D (egl::Display *display)
 
virtual ~RendererD3D ()
 
virtual egl::Error initialize ()=0
 
virtual egl::ConfigSet generateConfigs ()=0
 
virtual void generateDisplayExtensions (egl::DisplayExtensions *outExtensions) const =0
 
virtual ContextImplcreateContext (const gl::ContextState &state)=0
 
std::string getVendorString () const
 
virtual int getMinorShaderModel () const =0
 
virtual std::string getShaderModelSuffix () const =0
 
virtual DeviceIdentifier getAdapterIdentifier () const =0
 
virtual bool isValidNativeWindow (EGLNativeWindowType window) const =0
 
virtual NativeWindowD3DcreateNativeWindow (EGLNativeWindowType window, const egl::Config *config, const egl::AttributeMap &attribs) const =0
 
virtual SwapChainD3DcreateSwapChain (NativeWindowD3D *nativeWindow, HANDLE shareHandle, GLenum backBufferFormat, GLenum depthBufferFormat, EGLint orientation)=0
 
virtual gl::Error setSamplerState (gl::SamplerType type, int index, gl::Texture *texture, const gl::SamplerState &sampler)=0
 
virtual gl::Error setTexture (gl::SamplerType type, int index, gl::Texture *texture)=0
 
virtual gl::Error setUniformBuffers (const gl::ContextState &data, const std::vector< GLint > &vertexUniformBuffers, const std::vector< GLint > &fragmentUniformBuffers)=0
 
virtual gl::Error applyUniforms (const ProgramD3D &programD3D, GLenum drawMode, const std::vector< D3DUniform *> &uniformArray)=0
 
virtual unsigned int getReservedVertexUniformBuffers () const =0
 
virtual unsigned int getReservedFragmentUniformBuffers () const =0
 
virtual int getMajorShaderModel () const =0
 
const WorkaroundsD3DgetWorkarounds () const
 
virtual gl::Error copyImage2D (const gl::Framebuffer *framebuffer, const gl::Rectangle &sourceRect, GLenum destFormat, const gl::Offset &destOffset, TextureStorage *storage, GLint level)=0
 
virtual gl::Error copyImageCube (const gl::Framebuffer *framebuffer, const gl::Rectangle &sourceRect, GLenum destFormat, const gl::Offset &destOffset, TextureStorage *storage, GLenum target, GLint level)=0
 
virtual gl::Error copyImage3D (const gl::Framebuffer *framebuffer, const gl::Rectangle &sourceRect, GLenum destFormat, const gl::Offset &destOffset, TextureStorage *storage, GLint level)=0
 
virtual gl::Error copyImage2DArray (const gl::Framebuffer *framebuffer, const gl::Rectangle &sourceRect, GLenum destFormat, const gl::Offset &destOffset, TextureStorage *storage, GLint level)=0
 
virtual gl::Error copyTexture (const gl::Texture *source, GLint sourceLevel, const gl::Rectangle &sourceRect, GLenum destFormat, const gl::Offset &destOffset, TextureStorage *storage, GLint destLevel, bool unpackFlipY, bool unpackPremultiplyAlpha, bool unpackUnmultiplyAlpha)=0
 
virtual gl::Error copyCompressedTexture (const gl::Texture *source, GLint sourceLevel, TextureStorage *storage, GLint destLevel)=0
 
virtual gl::Error createRenderTarget (int width, int height, GLenum format, GLsizei samples, RenderTargetD3D **outRT)=0
 
virtual gl::Error createRenderTargetCopy (RenderTargetD3D *source, RenderTargetD3D **outRT)=0
 
virtual gl::Error loadExecutable (const void *function, size_t length, ShaderType type, const std::vector< D3DVarying > &streamOutVaryings, bool separatedOutputBuffers, ShaderExecutableD3D **outExecutable)=0
 
virtual gl::Error compileToExecutable (gl::InfoLog &infoLog, const std::string &shaderHLSL, ShaderType type, const std::vector< D3DVarying > &streamOutVaryings, bool separatedOutputBuffers, const D3DCompilerWorkarounds &workarounds, ShaderExecutableD3D **outExectuable)=0
 
virtual UniformStorageD3DcreateUniformStorage (size_t storageSize)=0
 
virtual ImageD3DcreateImage ()=0
 
virtual gl::Error generateMipmap (ImageD3D *dest, ImageD3D *source)=0
 
virtual gl::Error generateMipmapUsingD3D (TextureStorage *storage, const gl::TextureState &textureState)=0
 
virtual TextureStoragecreateTextureStorage2D (SwapChainD3D *swapChain)=0
 
virtual TextureStoragecreateTextureStorageEGLImage (EGLImageD3D *eglImage, RenderTargetD3D *renderTargetD3D)=0
 
virtual TextureStoragecreateTextureStorageExternal (egl::Stream *stream, const egl::Stream::GLTextureDescription &desc)=0
 
virtual TextureStoragecreateTextureStorage2D (GLenum internalformat, bool renderTarget, GLsizei width, GLsizei height, int levels, bool hintLevelZeroOnly)=0
 
virtual TextureStoragecreateTextureStorageCube (GLenum internalformat, bool renderTarget, int size, int levels, bool hintLevelZeroOnly)=0
 
virtual TextureStoragecreateTextureStorage3D (GLenum internalformat, bool renderTarget, GLsizei width, GLsizei height, GLsizei depth, int levels)=0
 
virtual TextureStoragecreateTextureStorage2DArray (GLenum internalformat, bool renderTarget, GLsizei width, GLsizei height, GLsizei depth, int levels)=0
 
virtual bool supportsFastCopyBufferToTexture (GLenum internalFormat) const =0
 
virtual gl::Error fastCopyBufferToTexture (const gl::PixelUnpackState &unpack, unsigned int offset, RenderTargetD3D *destRenderTarget, GLenum destinationFormat, GLenum sourcePixelsType, const gl::Box &destArea)=0
 
GLenum getResetStatus ()
 
void notifyDeviceLost ()
 
virtual bool resetDevice ()=0
 
virtual bool testDeviceLost ()=0
 
virtual bool testDeviceResettable ()=0
 
virtual RendererClass getRendererClass () const =0
 
virtual voidgetD3DDevice ()=0
 
void setGPUDisjoint ()
 
GLint getGPUDisjoint ()
 
GLint64 getTimestamp ()
 
virtual gl::Error clearTextures (gl::SamplerType samplerType, size_t rangeStart, size_t rangeEnd)=0
 
virtual egl::Error getEGLDevice (DeviceImpl **device)=0
 
bool presentPathFastEnabled () const
 
virtual StreamProducerImplcreateStreamProducerD3DTextureNV12 (egl::Stream::ConsumerType consumerType, const egl::AttributeMap &attribs)=0
 
const gl::CapsgetNativeCaps () const
 
const gl::TextureCapsMapgetNativeTextureCaps () const
 
const gl::ExtensionsgetNativeExtensions () const
 
const gl::LimitationsgetNativeLimitations () const
 
virtual FramebufferImplcreateDefaultFramebuffer (const gl::FramebufferState &state)=0
 
virtual gl::Version getMaxSupportedESVersion () const =0
 
- Public Member Functions inherited from rx::BufferFactoryD3D
 BufferFactoryD3D ()
 
virtual ~BufferFactoryD3D ()
 
virtual VertexBuffercreateVertexBuffer ()=0
 
virtual IndexBuffercreateIndexBuffer ()=0
 
virtual VertexConversionType getVertexConversionType (gl::VertexFormatType vertexFormatType) const =0
 
virtual GLenum getVertexComponentType (gl::VertexFormatType vertexFormatType) const =0
 
virtual gl::ErrorOrResult< unsigned int > getVertexSpaceRequired (const gl::VertexAttribute &attrib, GLsizei count, GLsizei instances) const =0
 

Protected Member Functions

virtual bool getLUID (LUID *adapterLuid) const =0
 
virtual void generateCaps (gl::Caps *outCaps, gl::TextureCapsMap *outTextureCaps, gl::Extensions *outExtensions, gl::Limitations *outLimitations) const =0
 
void cleanup ()
 
gl::Error applyTextures (GLImplFactory *implFactory, const gl::ContextState &data)
 
bool skipDraw (const gl::ContextState &data, GLenum drawMode)
 
gl::Error markTransformFeedbackUsage (const gl::ContextState &data)
 

Static Protected Member Functions

static unsigned int GetBlendSampleMask (const gl::ContextState &data, int samples)
 

Protected Attributes

egl::DisplaymDisplay
 
bool mPresentPathFastEnabled
 

Constructor & Destructor Documentation

◆ RendererD3D()

rx::RendererD3D::RendererD3D ( egl::Display display)
explicit

◆ ~RendererD3D()

rx::RendererD3D::~RendererD3D ( )
virtual

Member Function Documentation

◆ applyTextures()

gl::Error rx::RendererD3D::applyTextures ( GLImplFactory implFactory,
const gl::ContextState data 
)
protected

◆ applyUniforms()

virtual gl::Error rx::RendererD3D::applyUniforms ( const ProgramD3D programD3D,
GLenum  drawMode,
const std::vector< D3DUniform *> &  uniformArray 
)
pure virtual

Implemented in rx::Renderer11, and rx::Renderer9.

◆ cleanup()

void rx::RendererD3D::cleanup ( )
protected

◆ clearTextures()

virtual gl::Error rx::RendererD3D::clearTextures ( gl::SamplerType  samplerType,
size_t  rangeStart,
size_t  rangeEnd 
)
pure virtual

Implemented in rx::Renderer11, and rx::Renderer9.

◆ compileToExecutable()

virtual gl::Error rx::RendererD3D::compileToExecutable ( gl::InfoLog infoLog,
const std::string shaderHLSL,
ShaderType  type,
const std::vector< D3DVarying > &  streamOutVaryings,
bool  separatedOutputBuffers,
const D3DCompilerWorkarounds workarounds,
ShaderExecutableD3D **  outExectuable 
)
pure virtual

Implemented in rx::Renderer11, and rx::Renderer9.

◆ copyCompressedTexture()

virtual gl::Error rx::RendererD3D::copyCompressedTexture ( const gl::Texture source,
GLint  sourceLevel,
TextureStorage storage,
GLint  destLevel 
)
pure virtual

Implemented in rx::Renderer11, and rx::Renderer9.

◆ copyImage2D()

virtual gl::Error rx::RendererD3D::copyImage2D ( const gl::Framebuffer framebuffer,
const gl::Rectangle sourceRect,
GLenum  destFormat,
const gl::Offset destOffset,
TextureStorage storage,
GLint  level 
)
pure virtual

Implemented in rx::Renderer11, and rx::Renderer9.

◆ copyImage2DArray()

virtual gl::Error rx::RendererD3D::copyImage2DArray ( const gl::Framebuffer framebuffer,
const gl::Rectangle sourceRect,
GLenum  destFormat,
const gl::Offset destOffset,
TextureStorage storage,
GLint  level 
)
pure virtual

Implemented in rx::Renderer11, and rx::Renderer9.

◆ copyImage3D()

virtual gl::Error rx::RendererD3D::copyImage3D ( const gl::Framebuffer framebuffer,
const gl::Rectangle sourceRect,
GLenum  destFormat,
const gl::Offset destOffset,
TextureStorage storage,
GLint  level 
)
pure virtual

Implemented in rx::Renderer11, and rx::Renderer9.

◆ copyImageCube()

virtual gl::Error rx::RendererD3D::copyImageCube ( const gl::Framebuffer framebuffer,
const gl::Rectangle sourceRect,
GLenum  destFormat,
const gl::Offset destOffset,
TextureStorage storage,
GLenum  target,
GLint  level 
)
pure virtual

Implemented in rx::Renderer11, and rx::Renderer9.

◆ copyTexture()

virtual gl::Error rx::RendererD3D::copyTexture ( const gl::Texture source,
GLint  sourceLevel,
const gl::Rectangle sourceRect,
GLenum  destFormat,
const gl::Offset destOffset,
TextureStorage storage,
GLint  destLevel,
bool  unpackFlipY,
bool  unpackPremultiplyAlpha,
bool  unpackUnmultiplyAlpha 
)
pure virtual

Implemented in rx::Renderer11, and rx::Renderer9.

◆ createContext()

virtual ContextImpl* rx::RendererD3D::createContext ( const gl::ContextState state)
pure virtual

Implemented in rx::Renderer11, and rx::Renderer9.

◆ createDefaultFramebuffer()

virtual FramebufferImpl* rx::RendererD3D::createDefaultFramebuffer ( const gl::FramebufferState state)
pure virtual

Implemented in rx::Renderer11, and rx::Renderer9.

◆ createImage()

virtual ImageD3D* rx::RendererD3D::createImage ( )
pure virtual

Implemented in rx::Renderer11, and rx::Renderer9.

◆ createNativeWindow()

virtual NativeWindowD3D* rx::RendererD3D::createNativeWindow ( EGLNativeWindowType  window,
const egl::Config config,
const egl::AttributeMap attribs 
) const
pure virtual

Implemented in rx::Renderer11, and rx::Renderer9.

◆ createRenderTarget()

virtual gl::Error rx::RendererD3D::createRenderTarget ( int  width,
int  height,
GLenum  format,
GLsizei  samples,
RenderTargetD3D **  outRT 
)
pure virtual

Implemented in rx::Renderer11, and rx::Renderer9.

◆ createRenderTargetCopy()

virtual gl::Error rx::RendererD3D::createRenderTargetCopy ( RenderTargetD3D source,
RenderTargetD3D **  outRT 
)
pure virtual

Implemented in rx::Renderer11, and rx::Renderer9.

◆ createStreamProducerD3DTextureNV12()

virtual StreamProducerImpl* rx::RendererD3D::createStreamProducerD3DTextureNV12 ( egl::Stream::ConsumerType  consumerType,
const egl::AttributeMap attribs 
)
pure virtual

Implemented in rx::Renderer11, and rx::Renderer9.

◆ createSwapChain()

virtual SwapChainD3D* rx::RendererD3D::createSwapChain ( NativeWindowD3D nativeWindow,
HANDLE  shareHandle,
GLenum  backBufferFormat,
GLenum  depthBufferFormat,
EGLint  orientation 
)
pure virtual

Implemented in rx::Renderer11, and rx::Renderer9.

◆ createTextureStorage2D() [1/2]

virtual TextureStorage* rx::RendererD3D::createTextureStorage2D ( SwapChainD3D swapChain)
pure virtual

Implemented in rx::Renderer11, and rx::Renderer9.

◆ createTextureStorage2D() [2/2]

virtual TextureStorage* rx::RendererD3D::createTextureStorage2D ( GLenum  internalformat,
bool  renderTarget,
GLsizei  width,
GLsizei  height,
int  levels,
bool  hintLevelZeroOnly 
)
pure virtual

Implemented in rx::Renderer11, and rx::Renderer9.

◆ createTextureStorage2DArray()

virtual TextureStorage* rx::RendererD3D::createTextureStorage2DArray ( GLenum  internalformat,
bool  renderTarget,
GLsizei  width,
GLsizei  height,
GLsizei  depth,
int  levels 
)
pure virtual

Implemented in rx::Renderer11, and rx::Renderer9.

◆ createTextureStorage3D()

virtual TextureStorage* rx::RendererD3D::createTextureStorage3D ( GLenum  internalformat,
bool  renderTarget,
GLsizei  width,
GLsizei  height,
GLsizei  depth,
int  levels 
)
pure virtual

Implemented in rx::Renderer11, and rx::Renderer9.

◆ createTextureStorageCube()

virtual TextureStorage* rx::RendererD3D::createTextureStorageCube ( GLenum  internalformat,
bool  renderTarget,
int  size,
int  levels,
bool  hintLevelZeroOnly 
)
pure virtual

Implemented in rx::Renderer11, and rx::Renderer9.

◆ createTextureStorageEGLImage()

virtual TextureStorage* rx::RendererD3D::createTextureStorageEGLImage ( EGLImageD3D eglImage,
RenderTargetD3D renderTargetD3D 
)
pure virtual

Implemented in rx::Renderer11, and rx::Renderer9.

◆ createTextureStorageExternal()

virtual TextureStorage* rx::RendererD3D::createTextureStorageExternal ( egl::Stream stream,
const egl::Stream::GLTextureDescription desc 
)
pure virtual

Implemented in rx::Renderer11, and rx::Renderer9.

◆ createUniformStorage()

virtual UniformStorageD3D* rx::RendererD3D::createUniformStorage ( size_t  storageSize)
pure virtual

Implemented in rx::Renderer11, and rx::Renderer9.

◆ fastCopyBufferToTexture()

virtual gl::Error rx::RendererD3D::fastCopyBufferToTexture ( const gl::PixelUnpackState unpack,
unsigned int  offset,
RenderTargetD3D destRenderTarget,
GLenum  destinationFormat,
GLenum  sourcePixelsType,
const gl::Box destArea 
)
pure virtual

Implemented in rx::Renderer11, and rx::Renderer9.

◆ generateCaps()

virtual void rx::RendererD3D::generateCaps ( gl::Caps outCaps,
gl::TextureCapsMap outTextureCaps,
gl::Extensions outExtensions,
gl::Limitations outLimitations 
) const
protectedpure virtual

◆ generateConfigs()

virtual egl::ConfigSet rx::RendererD3D::generateConfigs ( )
pure virtual

Implemented in rx::Renderer11, and rx::Renderer9.

◆ generateDisplayExtensions()

virtual void rx::RendererD3D::generateDisplayExtensions ( egl::DisplayExtensions outExtensions) const
pure virtual

Implemented in rx::Renderer11, and rx::Renderer9.

◆ generateMipmap()

virtual gl::Error rx::RendererD3D::generateMipmap ( ImageD3D dest,
ImageD3D source 
)
pure virtual

Implemented in rx::Renderer11, and rx::Renderer9.

◆ generateMipmapUsingD3D()

virtual gl::Error rx::RendererD3D::generateMipmapUsingD3D ( TextureStorage storage,
const gl::TextureState textureState 
)
pure virtual

Implemented in rx::Renderer11, and rx::Renderer9.

◆ getAdapterIdentifier()

virtual DeviceIdentifier rx::RendererD3D::getAdapterIdentifier ( ) const
pure virtual

Implemented in rx::Renderer11, and rx::Renderer9.

◆ GetBlendSampleMask()

unsigned int rx::RendererD3D::GetBlendSampleMask ( const gl::ContextState data,
int  samples 
)
staticprotected

◆ getD3DDevice()

virtual void* rx::RendererD3D::getD3DDevice ( )
pure virtual

Implemented in rx::Renderer11, and rx::Renderer9.

◆ getEGLDevice()

virtual egl::Error rx::RendererD3D::getEGLDevice ( DeviceImpl **  device)
pure virtual

Implemented in rx::Renderer11, and rx::Renderer9.

◆ getGPUDisjoint()

GLint rx::RendererD3D::getGPUDisjoint ( )

◆ getLUID()

virtual bool rx::RendererD3D::getLUID ( LUID *  adapterLuid) const
protectedpure virtual

Implemented in rx::Renderer11, and rx::Renderer9.

◆ getMajorShaderModel()

virtual int rx::RendererD3D::getMajorShaderModel ( ) const
pure virtual

Implemented in rx::Renderer11, and rx::Renderer9.

◆ getMaxSupportedESVersion()

virtual gl::Version rx::RendererD3D::getMaxSupportedESVersion ( ) const
pure virtual

Implemented in rx::Renderer11, and rx::Renderer9.

◆ getMinorShaderModel()

virtual int rx::RendererD3D::getMinorShaderModel ( ) const
pure virtual

Implemented in rx::Renderer11, and rx::Renderer9.

◆ getNativeCaps()

const gl::Caps & rx::RendererD3D::getNativeCaps ( ) const

◆ getNativeExtensions()

const gl::Extensions & rx::RendererD3D::getNativeExtensions ( ) const

◆ getNativeLimitations()

const gl::Limitations & rx::RendererD3D::getNativeLimitations ( ) const

◆ getNativeTextureCaps()

const gl::TextureCapsMap & rx::RendererD3D::getNativeTextureCaps ( ) const

◆ getRendererClass()

virtual RendererClass rx::RendererD3D::getRendererClass ( ) const
pure virtual

Implemented in rx::Renderer11, and rx::Renderer9.

◆ getReservedFragmentUniformBuffers()

virtual unsigned int rx::RendererD3D::getReservedFragmentUniformBuffers ( ) const
pure virtual

Implemented in rx::Renderer11, and rx::Renderer9.

◆ getReservedVertexUniformBuffers()

virtual unsigned int rx::RendererD3D::getReservedVertexUniformBuffers ( ) const
pure virtual

Implemented in rx::Renderer11, and rx::Renderer9.

◆ getResetStatus()

GLenum rx::RendererD3D::getResetStatus ( )

◆ getShaderModelSuffix()

virtual std::string rx::RendererD3D::getShaderModelSuffix ( ) const
pure virtual

Implemented in rx::Renderer11, and rx::Renderer9.

◆ getTimestamp()

GLint64 rx::RendererD3D::getTimestamp ( )

◆ getVendorString()

std::string rx::RendererD3D::getVendorString ( ) const

◆ getWorkarounds()

const WorkaroundsD3D & rx::RendererD3D::getWorkarounds ( ) const

◆ initialize()

virtual egl::Error rx::RendererD3D::initialize ( )
pure virtual

Implemented in rx::Renderer11, and rx::Renderer9.

◆ isValidNativeWindow()

virtual bool rx::RendererD3D::isValidNativeWindow ( EGLNativeWindowType  window) const
pure virtual

Implemented in rx::Renderer11, and rx::Renderer9.

◆ loadExecutable()

virtual gl::Error rx::RendererD3D::loadExecutable ( const void function,
size_t  length,
ShaderType  type,
const std::vector< D3DVarying > &  streamOutVaryings,
bool  separatedOutputBuffers,
ShaderExecutableD3D **  outExecutable 
)
pure virtual

Implemented in rx::Renderer11, and rx::Renderer9.

◆ markTransformFeedbackUsage()

gl::Error rx::RendererD3D::markTransformFeedbackUsage ( const gl::ContextState data)
protected

◆ notifyDeviceLost()

void rx::RendererD3D::notifyDeviceLost ( )

◆ presentPathFastEnabled()

bool rx::RendererD3D::presentPathFastEnabled ( ) const
inline

◆ resetDevice()

virtual bool rx::RendererD3D::resetDevice ( )
pure virtual

Implemented in rx::Renderer11, and rx::Renderer9.

◆ setGPUDisjoint()

void rx::RendererD3D::setGPUDisjoint ( )

◆ setSamplerState()

virtual gl::Error rx::RendererD3D::setSamplerState ( gl::SamplerType  type,
int  index,
gl::Texture texture,
const gl::SamplerState sampler 
)
pure virtual

Implemented in rx::Renderer11, and rx::Renderer9.

◆ setTexture()

virtual gl::Error rx::RendererD3D::setTexture ( gl::SamplerType  type,
int  index,
gl::Texture texture 
)
pure virtual

Implemented in rx::Renderer11, and rx::Renderer9.

◆ setUniformBuffers()

virtual gl::Error rx::RendererD3D::setUniformBuffers ( const gl::ContextState data,
const std::vector< GLint > &  vertexUniformBuffers,
const std::vector< GLint > &  fragmentUniformBuffers 
)
pure virtual

Implemented in rx::Renderer11, and rx::Renderer9.

◆ skipDraw()

bool rx::RendererD3D::skipDraw ( const gl::ContextState data,
GLenum  drawMode 
)
protected

◆ supportsFastCopyBufferToTexture()

virtual bool rx::RendererD3D::supportsFastCopyBufferToTexture ( GLenum  internalFormat) const
pure virtual

Implemented in rx::Renderer11, and rx::Renderer9.

◆ testDeviceLost()

virtual bool rx::RendererD3D::testDeviceLost ( )
pure virtual

Implemented in rx::Renderer11, and rx::Renderer9.

◆ testDeviceResettable()

virtual bool rx::RendererD3D::testDeviceResettable ( )
pure virtual

Implemented in rx::Renderer11, and rx::Renderer9.

Member Data Documentation

◆ mDisplay

egl::Display* rx::RendererD3D::mDisplay
protected

◆ mPresentPathFastEnabled

bool rx::RendererD3D::mPresentPathFastEnabled
protected

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