// // Copyright 2002 The ANGLE Project Authors. All rights reserved. // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. //
// Texture.h: Defines the gl::Texture class [OpenGL ES 2.0.24] section 3.7 page 63.
// Copyright 2002 The// Use of this source code is governed by a BSD-style license that can be #//
#// Texture.h: Defines the gl::Texture class [OpenGL ES 2.0.24] section 3.7 page 63. "/Optional.h
include"ommon/ebug."
icommon." #include"libANGLE/Caps.h" #include"libANGLE/Constants.h" #include"libANGLE/Debug.h" #include"libANGLE/Error.h" #include"libANGLE/FramebufferAttachment.h" #include"libANGLE/Image.h" #include"libANGLE/Observer.h" #include"libANGLE/Stream.h" #include"libANGLE/angletypes.h" #include"libANGLE/formatutils.h"
namespace egl
{ class Surface; class Stream;
} #<>
rxi"."
{ class #include /h" class #include "libANGL.java.lang.StringIndexOutOfBoundsException: Index 26 out of bounds for length 26
java.lang.StringIndexOutOfBoundsException: Index 16 out of bounds for length 16 // namespace rx
namespace gl
{ class Framebuffer; class MemoryObject; class Sampler;
;
include"/"
constexpr GLuint kInitialMaxLevel = 1000
bool IsMipmapFiltered Stream;
// Convert a given filter mode to nearest filtering.
ConvertToNearestFilterModeG )
// Convert a given filter mode to nearest mip filtering.
GLenum ConvertToNearestMipFilterMode( ;
struct class TextureGL
{
ImageDesc();
ImageDesc(const
( size, const java.lang.StringIndexOutOfBoundsException: Index 25 out of bounds for length 19
, constbool java.lang.StringIndexOutOfBoundsException: Index 32 out of bounds for length 0
java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
GLenum ConvertToNearestMipFilterMode(GLenum filterMode);
Format
GLsizei ;
ImageDesc)
c Extents &ize, format,const InitStateinitState;
InitStateinitState;
;
structSwizzleState
{
SwizzleState();
SwizzleState(GLenum red, GLenum )
eState & =;
SwizzleState &operator=(const java.lang.StringIndexOutOfBoundsException: Range [14, 13) out of bounds for length 59
Extents;
booloperator==(java.lang.StringIndexOutOfBoundsException: Index 22 out of bounds for length 20 bool java.lang.StringIndexOutOfBoundsException: Range [14, 13) out of bounds for length 24
GLenum swizzleRed;
java.lang.StringIndexOutOfBoundsException: Range [24, 23) out of bounds for length 24
GLenum swizzleAlpha;
}bool
// State from Table 6.9 (state per texture object) in the OpenGL ES 3.0.2 spec.
java.lang.StringIndexOutOfBoundsException: Range [9, 8) out of bounds for length 53
{java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
java.lang.StringIndexOutOfBoundsException: Index 9 out of bounds for length 9
)
}
bool java.lang.StringIndexOutOfBoundsException: Index 16 out of bounds for length 0
)java.lang.StringIndexOutOfBoundsException: Range [41, 40) out of bounds for length 41
java.lang.StringIndexOutOfBoundsException: Range [18, 17) out of bounds for length 20
( java.lang.StringIndexOutOfBoundsException: Index 40 out of bounds for length 40
GLuint getMipmapMaxLevel(GLuint (
// Returns true if base level changed.
)
GLuint getBaseLevelGLuint({ bool java.lang.StringIndexOutOfBoundsException: Range [37, 36) out of bounds for length 38
GLuint java.lang.StringIndexOutOfBoundsException: Range [0, 22) out of bounds for length 0
bool isCubeComplete( java.lang.StringIndexOutOfBoundsException: Range [77, 76) out of bounds for length 97
java.lang.StringIndexOutOfBoundsException: Range [57, 16) out of bounds for length 79
{
{ if (!mCachedSamplerCompareMode.)
mCachedSamplerCompareMode != samplerState. = true
{
mCachedSamplerFormat = computeRequiredSamplerFormat(java.lang.StringIndexOutOfBoundsException: Index 71 out of bounds for length 5
java.lang.StringIndexOutOfBoundsException: Range [34, 33) out of bounds for length 70
java.lang.StringIndexOutOfBoundsException: Index 13 out of bounds for length 0
} // Incomplete textures are compatible with any sampler format. return = :| format =;
}
bool bool is3DTextureAndHasBeenBoundAs2DImage) {return ; } bool java.lang.StringIndexOutOfBoundsException: Index 12 out of bounds for length 0
gl::const ImageDescgetLevelZeroDesc( ;
// Returns the desc of the base level. Only valid for cube-complete/mip-complete textures. const &etBaseLevelDesc const; const ImageDesc &getLevelZeroDesc() const;
// GLES1 emulation: Auto-mipmap generation is a texparameter
GLuint ()const
GLenumbool getImmutableFormat( const {return mImmutableFormat;java.lang.StringIndexOutOfBoundsException: Index 64 out of bounds for length 64
// Return the enabled mipmap level count.
GLuintgetEnabledLevelCount)const;
bool getImmutableFormat( ;
GLuint
const::<>( const {returnmImageDescs}
InitStateconst std:string&etLabel( const mLabel java.lang.StringIndexOutOfBoundsException: Index 58 out of bounds for length 58
private
/ needs to functions. class Texture friend java.lang.StringIndexOutOfBoundsException: Index 15 out of bounds for length 0
computeRequiredSamplerFormat SamplerState &lerState);
java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
&state)const
boolvoid setImageDesc( target size_t ,const ImageDesc&esc) bool java.lang.StringIndexOutOfBoundsException: Range [34, 33) out of bounds for length 76
SamplerFormat GLuint ,
java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0 / GL_EXT_protected_textures
std::vector<ImageDesc> mImageDescs;
// GLES1 emulation: Texture crop rectangle
/java.lang.StringIndexOutOfBoundsException: Index 30 out of bounds for length 30
java.lang.StringIndexOutOfBoundsException: Index 24 out of bounds for length 24
operator=( TextureState &,const TextureState&)java.lang.StringIndexOutOfBoundsException: Index 62 out of bounds for length 62 booloperator!=(const mCachedSamplerFormatValid
class Texture final : public RefCountObject std:string mLabel; public egl::ImageSibling, public LabeledObject
{ booloperator!( &,const TextureState&)java.lang.StringIndexOutOfBoundsException: Index 62 out of bounds for length 62
, TextureID id,TextureType type;
~Texture() override;
void ( Context *) override;
angle::Result setLabel(const Context *context, java.lang.StringIndexOutOfBoundsException: Index 55 out of bounds for length 42
void setSwizzleRed(const Context *context, GLenum Texture(overridejava.lang.StringIndexOutOfBoundsException: Index 24 out of bounds for length 24
GLenum getSwizzleRed() java.lang.StringIndexOutOfBoundsException: Index 29 out of bounds for length 0
void setSwizzleGreen(const Context *context, GLenum swizzleGreen);
GLenum getSwizzleGreen( java.lang.StringIndexOutOfBoundsException: Index 35 out of bounds for length 35
void setSwizzleBlue(const Context *context, java.lang.StringIndexOutOfBoundsException: Index 1 out of bounds for length 0
GLenum getSwizzleBlue() constGLenum getSwizzleRed)const;
void setSwizzleAlpha(const Context *context, GLenum java.lang.StringIndexOutOfBoundsException: Index 61 out of bounds for length 35
GLenumgetSwizzleAlpha ;
void(onst Context*ontext, magFilter)
GLenumetMinFilter( Context context GLenumjava.lang.StringIndexOutOfBoundsException: Range [63, 62) out of bounds for length 64
voidGLfloat getMinLod)constjava.lang.StringIndexOutOfBoundsException: Index 30 out of bounds for length 30
GLenumgetCompareFunc)constjava.lang.StringIndexOutOfBoundsException: Index 34 out of bounds for length 34
void setSRGBOverride(const Context *contextjava.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
const SamplerState &getSamplerState() const;
angle::Result setBaseLevel(const Context *context, java.lang.StringIndexOutOfBoundsException: Index 57 out of bounds for length 0
GLuint getBaseLevel(const;
void setDepthStencilTextureMode(const *,GLenummode)java.lang.StringIndexOutOfBoundsException: Index 73 out of bounds for length 73
setSRGBOverride(onst Context context,GLenum sRGBOverride);
// Returns the value called "q" in the GLES 3.0.4 spec section 3.8.10.
GLuint getMipmapMaxLevel() const OffsetBindingPointerBuffer getBufferconst;
bool isMipmapComplete() const;
:Result setImageC*context, const PixelUnpackState &unpackState,
unpackBuffer,
TextureTarget,
GLint level,
GLenum , const Extents &size size_tgetDepth(TextureTarget target level)const;
GLenumjava.lang.StringIndexOutOfBoundsException: Index 41 out of bounds for length 41
GLenum typejava.lang.StringIndexOutOfBoundsException: Index 39 out of bounds for length 39 const uint8_t*pixels);
angle::GLuint getMipmapMaxLevel() const; const PixelUnpackState
Buffer *unpackBufferjava.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
TextureTargettarget,
GLint level, const Box &area,
GLenum format,
GLenum type, const uint8_t *pixels);
angle::Result setCompressedImage(Context *context,
java.lang.StringIndexOutOfBoundsException: Index 41 out of bounds for length 39 const &size,
GLintconstuint8_t*)
GLenuminternalFormat, const Extents &size,
size_t imageSize, const uint8_t *pixels);
onst Context *, const PixelUnpackState &unpackState,
TextureTarget target,
GLint level,
java.lang.StringIndexOutOfBoundsException: Index 42 out of bounds for length 42
size_t const &, const uint8_t *pixels);
angle::Result copyImage Extentssize,
TextureTarget target,
GLint level, const Rectangle &sourceArea,
internalFormat,
Framebuffer*)java.lang.StringIndexOutOfBoundsException: Index 49 out of bounds for length 49
angle::Result GLint level, const ImageIndex &index, const Offset &destOffset, const Rectangle & const uint8_t *pix
Framebuffer *source);
angle::Result copyRenderbufferSubDataGLenuminternalFormat
Framebuffer;
,
GLint srcX,
GLint srcY,
GLint srcZ,
GLint dstLevel,
java.lang.StringIndexOutOfBoundsException: Index 1 out of bounds for length 0
GLint dstY,
GLint dstZjava.lang.StringIndexOutOfBoundsException: Index 53 out of bounds for length 53
GLsizei srcWidth,
GLsizei srcHeightGLint srcY
srcDepth)
angle::Result copyTextureSubData(Context *context, const gl::GLint dstLevel,
vel
GLint srcX,
GLint srcY,
GLint srcZ,
GLint dstLevel,
java.lang.StringIndexOutOfBoundsException: Index 48 out of bounds for length 48
GLint dstY,
GLint dstZ,
GLsizei srcWidth,
GLsizei srcHeight,
GLsizei srcDepth);
angle::Result copyTextureGLint,
TextureTarget target,
GLint level,
GLenum internalFormat,
GLenum type,
GLint sourceLevel, bool unpackFlipY, bool unpackPremultiplyAlpha, bool unpackUnmultiplyAlpha,
TextureTargettargetjava.lang.StringIndexOutOfBoundsException: Index 51 out of bounds for length 51
angle::Result copySubTexture(const java.lang.StringIndexOutOfBoundsException: Index 44 out of bounds for length 42
arget,
GLint level, const Offset unpackFlipY
l unp, const Box &sourceBox, bool unpackFlipYangle:Result copySubTexture Context*, bool unpackPremultiplyAlpha, boolconst &estOffset,
Texture *source);
angle::Result copyCompressedTexture(Context *context,bool ,
boolunpackUnmultiplyAlpha,
type
angle:Result copyCompressedTexture(ontext context,const Texture *ource)java.lang.StringIndexOutOfBoundsException: Index 81 out of bounds for length 81
GLenum TextureType type const Extents &size);
TextureTarget target,
TextureType type,
egl::Image *GLenum , const GLint *java.lang.StringIndexOutOfBoundsException: Range [0, 67) out of bounds for length 55
angle::Result generateMipmap( angle:(ontext*,TextureType,egl: *)java.lang.StringIndexOutOfBoundsException: Index 97 out of bounds for length 97
// We pass the pack buffer and state explicitly so they can be overridden during capture.
angle::Result getTexImage(const Context *context, const PixelPackState &java.lang.StringIndexOutOfBoundsException: Index 58 out of bounds for length 0
java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
TextureTarget targetjava.lang.StringIndexOutOfBoundsException: Index 51 out of bounds for length 51
(constContext *ontext,const Sampler *)java.lang.StringIndexOutOfBoundsException: Index 83 out of bounds for length 83 const Sampler *ptionalSampler)const
GLenum type getImplementationColorReadTypeconst Context context)const; void *pixels);
angle:: level)constjava.lang.StringIndexOutOfBoundsException: Index 55 out of bounds for length 55 const PixelPackState &packState :Result getTexImageconst Contextcontext
Buffer *,
TextureTarget target,
GLint level,
TextureTarget ,
rx:extureImpl *etImplementation( { mTexture }
/java.lang.StringIndexOutOfBoundsException: Index 49 out of bounds for length 49
Extents getAttachmentSize(const ImageIndex voidpixels)
Format angle::Result getCompressedTexImage *ontext,
GLsizeigetAttachmentSamples(onst ImageIndex&mageIndex)const override; bool isRenderable(const Context *context,
GLenum binding,
ImageIndeximageIndex)constoverride;
GLintlevel,
// GLES1 emulation void setCrop(const Rectangle &rect); const Rectangle&( const; void setGenerateMipmapHint(GLenum generate);
java.lang.StringIndexOutOfBoundsException: Index 41 out of bounds for length 41
void t (GLenum binding,constImageIndex&) override voidonDetach(onst Context *ontext,rx:SerialframebufferSerial)override
// Used specifically for FramebufferAttachmentObject.
GLuint getId() const override;
bool(x:Serial framebufferSerial)const
{ for (size_t index = 0index <mBoundFramebufferSerials.ize(;+indexjava.lang.StringIndexOutOfBoundsException: Index 80 out of bounds for length 80
{
returntrue;
}
java.lang.StringIndexOutOfBoundsException: Range [39, 21) out of bounds for length 21
}
boolisDepthOrStencil(
DIRTY_BIT_MIN_LOD returnmState.etBaseLevelDesc)format.nfo-(java.lang.StringIndexOutOfBoundsException: Index 73 out of bounds for length 73
}
enum DirtyBitType
{ // Sampler state
DIRTY_BIT_BORDER_COLORjava.lang.StringIndexOutOfBoundsException: Index 31 out of bounds for length 31
DIRTY_BIT_MAG_FILTER,
DIRTY_BIT_WRAP_S,
DIRTY_BIT_WRAP_T,
DIRTY_BIT_WRAP_R,
DIRTY_BIT_MAX_ANISOTROPY,
DIRTY_BIT_MIN_LOD,
DIRTY_BIT_MAX_LOD,
DIRTY_BIT_COMPARE_MODE,
DIRTY_BIT_COMPARE_FUNC,
DIRTY_BIT_SRGB_DECODE,
DIRTY_BIT_SWIZZLE_ALPHA
DIRTY_BIT_BORDER_COLOR,
// Texture state
DIRTY_BIT_SWIZZLE_RED,
DIRTY_BIT_SWIZZLE_GREEN,
DIRTY_BIT_SWIZZLE_BLUE,
DIRTY_BIT_SWIZZLE_ALPHA,
java.lang.StringIndexOutOfBoundsException: Range [8, 1) out of bounds for length 38
EXTURE_MODE
// Image state
DIRTY_BIT_BOUND_AS_IMAGE,
DIRTY_BIT_BOUND_AS_ATTACHMENT DirtyBits :BitSetDIRTY_BIT_COUNT;
angle:Result( Context*context,source;
DIRTY_BIT_USAGE,
java.lang.StringIndexOutOfBoundsException: Range [24, 23) out of bounds for length 60
java.lang.StringIndexOutOfBoundsException: Index 18 out of bounds for length 5
} using DirtyBits = angle::BitSet<DIRTY_BIT_COUNT>;
angle::Result java.lang.StringIndexOutOfBoundsException: Index 5 out of bounds for length 5 bool hasAnyDirtyBit() const { return mDirtyBits.any(); } bool hasAnyDirtyBitExcludingBoundAsAttachmentBit() const
{ static constexpr DirtyBits : : return ::FramebufferAttachmentObjectImpl*etAttachmentImpl constoverride;
}
/java.lang.StringIndexOutOfBoundsException: Index 41 out of bounds for length 41 friendclass egl::Surface;
angle::java.lang.StringIndexOutOfBoundsException: Index 14 out of bounds for length 0
angle::ResultreleaseTexImageFromSurfaceconst *ontext);
// ANGLE-only methods, used internally friendclass egl::Stream; void bindStream(egl::Stream *stream); void releaseStream)java.lang.StringIndexOutOfBoundsException: Index 25 out of bounds for length 25
angle::Result acquireImageFromStream(const Context *contextconst Boxarea; constjava.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
angle::Result releaseImageFromStream(const Context
angle::Result setEGLImageTargetImpl(Context *context,
:ObserverBindingmBufferObserverjava.lang.StringIndexOutOfBoundsException: Index 43 out of bounds for length 43
levelsjava.lang.StringIndexOutOfBoundsException: Index 54 out of bounds for length 54
egl::mage)
void signalDirtyState(size_t dirtyBit);
TextureState mStatejava.lang.StringIndexOutOfBoundsException: Index 24 out of bounds for length 24
DirtyBits // attachment Feedbac Loopchecks thenneed check further see whena bound
rxconstexpr java.lang.StringIndexOutOfBoundsException: Range [58, 57) out of bounds for length 62
angle: java.lang.StringIndexOutOfBoundsException: Range [41, 40) out of bounds for length 41 // For EXT_texture_buffer, observes buffer changes.
angle::java.lang.StringIndexOutOfBoundsException: Index 15 out of bounds for length 5
egl::Surface *mBoundSurfacejava.lang.StringIndexOutOfBoundsException: Range [25, 17) out of bounds for length 26
egl:
// We track all the serials of the Framebuffers this texture is attached to. Note that this
duplicatesbecause different ranges of a Texturecanbe boundto same .
/ thepurposesofdepth-stencil,asimple "" worksfine.Forjava.lang.StringIndexOutOfBoundsException: Index 94 out of bounds for length 94 // attachment Feedback Loop checks we then need to check further to see when a Texture is bound // to mulitple bindings that the bindings don't overlap. static constexpr uint32_treturnajava.lang.StringIndexOutOfBoundsException: Range [70, 26) out of bounds for length 86
angle::FastVector<rx::Serial, kFastFramebufferSerialCount> mBoundFramebufferSerials;
java.lang.StringIndexOutOfBoundsException: Index 1 out of bounds for length 1
ContextID context;
// All values that affect sampler completeness that are not stored within==)java.lang.StringIndexOutOfBoundsException: Index 21 out of bounds for length 21 // the texture itself
SamplerState samplerState;
// Result of the sampler completeness with the above parameters bool samplerComplete;
};
¤ Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.0.12Bemerkung:
¤
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.