// // 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.
##includecommon" # c/h
#nclude"common//utilitieshjava.lang.StringIndexOutOfBoundsException: Index 29 out of bounds for length 29 #nclude vector
namespace #nclude"ommon/Optionalh" "commondebug." #include"common/utilities.h"
E/Capsh" #include"libANGLE/Constants.h" #include"libANGLE/Debug.h" #include"libANGLE/Error.h" #include"libANGLE/FramebufferAttachment.h" #include"libANGLE/Image.hclass TextureGL; #include"libANGLE/ // namespace rx
java.lang.StringIndexOutOfBoundsException: Index 6 out of bounds for length 1 #class State # libANGLE/ormatutils.hjava.lang.StringIndexOutOfBoundsException: Index 33 out of bounds for length 33
namespace egl
{
java.lang.StringIndexOutOfBoundsException: Index 2 out of bounds for length 0 classStream;
}// Convert a given filter mode to nearest filtering.
namespace GLenum (LenumfilterMode)
{ class GLImplFactory; class TextureImpl;GLenumConvertToNearestMipFilterModeGLenumfilterMode)
;
} java.lang.StringIndexOutOfBoundsException: Index 1 out of bounds for length 1
namespace gl
{ class ImageDescconstExtents& class MemoryObject; class Sampler; class State; constGLsizei samples,
constexpr GLuint kInitialMaxLevel = 1000;
bool java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
// Convert a given filter mode to nearest filtering.
ConvertToNearestFilterMode filterMode
// Convert a given filter mode to nearest mip filtering.
java.lang.StringIndexOutOfBoundsException: Range [17, 6) out of bounds for length 56
GLsamples
{
ImageDesc(;
ImageDesc(onst s, constFormat&,const );
ImageDescInitState ;
}
final constbooljava.lang.StringIndexOutOfBoundsException: Index 1 out of bounds for length 1 const InitState initState)
size
java.lang.StringIndexOutOfBoundsException: Index 6 out of bounds for length 0
GLsizei samples; bool fixedSampleLocations;
// Needed for robust resource initialization.
InitState initState;
};
struct SwizzleState final
{
SwizzleState();
java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
GLenum swizzleGreen;
SwizzleState &operator=(const SwizzleState &other) = default;
GLenum swizzleRed;
GLenum swizzleGreen; public:
GLenum swizzleBlue;
TextureState(TextureType type;
}java.lang.StringIndexOutOfBoundsException: Index 2 out of bounds for length 2
// State from Table 6.9 (state per texture object) in the OpenGL ES 3.0.2 spec.
GLuint getEffectiveBaseLevel( const;
{ public:
TextureState(TextureType type);
~TextureState();
java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0 const SamplerState &samplerState) const
{ if (!mCachedSamplerFormatValid ||
ANGLE_INLINE bool compatibleWithSamplerFormatForWebGL(SamplerFormat format,
java.lang.StringIndexOutOfBoundsException: Index 9 out of bounds for length 9
mCachedSamplerFormat = computeRequiredSamplerFormat
= samplerStategetCompareMode()java.lang.StringIndexOutOfBoundsException: Index 70 out of bounds for length 70
mCachedSamplerFormatValid;
} // Incomplete textures are compatible with any sampler format. return mCachedSamplerFormat == SamplerFormat:: java.lang.StringIndexOutOfBoundsException: Index 9 out of bounds for length 9
}
// Returns the desc of the base level. Only valid for cube-complete/mip-complete textures. const ImageDesc &getBaseLevelDesc() const;
&getLevelZeroDesc( constjava.lang.StringIndexOutOfBoundsException: Index 46 out of bounds for length 46
// GLES1 emulation: For GL_OES_draw_texture ImageDescg()constjava.lang.StringIndexOutOfBoundsException: Index 46 out of bounds for length 46 void setCropjava.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
;
// GLES1 emulation: Auto-mipmap generation is a texparameter
setGenerateMipmapHint)
GLenum getGenerateMipmapHint(
// Return the enabled mipmap level count.
GLuintgetEnabledLevelCount ;
java.lang.StringIndexOutOfBoundsException: Index 28 out of bounds for length 28
GLuint
// From GL_ANGLE_texture_usage
GLenum mUsage;
/java.lang.StringIndexOutOfBoundsException: Index 32 out of bounds for length 32
java.lang.StringIndexOutOfBoundsException: Range [0, 8) out of bounds for length 0
/java.lang.StringIndexOutOfBoundsException: Range [29, 28) out of bounds for length 38
GLenum
// GL_OES_texture_buffer / GLES3.2 java.lang.StringIndexOutOfBoundsException: Index 45 out of bounds for length 45
OffsetBindingPointer<Buffer> mBuffer;
std::string;
bool=const& b; mutable GLenum mCachedSamplerCompareMode; mutablebool;
: java.lang.StringIndexOutOfBoundsException: Index 23 out of bounds for length 23
};
bool operator=const TextureState a, b;
class Texture final : public Texture(rx::GLImplFactory *factory, )
onDestroyconst contextjava.lang.StringIndexOutOfBoundsException: Index 52 out of bounds for length 52 public LabeledObject
{conststd:&etLabel( overridejava.lang.StringIndexOutOfBoundsException: Index 49 out of bounds for length 49 public:
Texture(rx::GLImplFactoryjava.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
~exture( ;
void onDestroy(const Context *context) override;
angle::Result setLabel(const Context *context, const java.lang.StringIndexOutOfBoundsException: Range [0, 60) out of bounds for length 0
GLenum getSwizzleGreen( const;
TextureType getType(java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
void setMagFiltervoidsetWrapSconst Context*, )java.lang.StringIndexOutOfBoundsException: Index 56 out of bounds for length 56
GLenum getMagFiltervoid setWrapT(onst *ontext,GLenum wrapT;
void setWrapS(const Context *context, GLenum java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
GLenum getWrapS() getWrapR);
void ( Context *ontext,GLenum ;
GLenum getWrapT() const; float getMaxAnisotropy)constjava.lang.StringIndexOutOfBoundsException: Index 35 out of bounds for length 35
void setWrapR(const Context *context, GLfloat getMinLod( constjava.lang.StringIndexOutOfBoundsException: Index 30 out of bounds for length 30
GLenum getWrapR() const;
void java.lang.StringIndexOutOfBoundsException: Index 1 out of bounds for length 0
getMaxAnisotropy const;
void setMaxLod(const Context *context, GLfloat maxLod); ();
java.lang.StringIndexOutOfBoundsException: Range [12, 11) out of bounds for length 30
void setCompareMode(const Context * void setCompareMode(const Context *context
GLenum getCompareModejava.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
void setCompareFunc(const Context *context, GLenum() java.lang.StringIndexOutOfBoundsException: Index 32 out of bounds for length 32
GLenum GLuint getMaxLevel()
void( * java.lang.StringIndexOutOfBoundsException: Range [69, 68) out of bounds for length 70
( ;
const SamplerState
angle::Result setBaseLevel(const java.lang.StringIndexOutOfBoundsException: Range [0, 44) out of bounds for length 0
GLuint )java.lang.StringIndexOutOfBoundsException: Index 28 out of bounds for length 28
void setMaxLevelbooljava.lang.StringIndexOutOfBoundsException: Range [29, 28) out of bounds for length 46
);
void c * c;
GLenum const ColorGenericjava.lang.StringIndexOutOfBoundsException: Range [39, 38) out of bounds for length 47
bool angle::Resultconst*java.lang.StringIndexOutOfBoundsException: Index 56 out of bounds for length 56
GLuint internalFormat,java.lang.StringIndexOutOfBoundsException: Index 55 out of bounds for length 55
voidconst usage;
GLenum getUsage() const;
void java.lang.StringIndexOutOfBoundsException: Index 16 out of bounds for length 0
( ;
const TextureState &getStatejava.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
Extents( java.lang.StringIndexOutOfBoundsException: Index 72 out of bounds for length 72 const java.lang.StringIndexOutOfBoundsException: Range [23, 22) out of bounds for length 47
angle: ( ) constjava.lang.StringIndexOutOfBoundsException: Index 62 out of bounds for length 62
angle::Result setBufferRange(const contextjava.lang.StringIndexOutOfBoundsException: Index 56 out of bounds for length 56
,
GLintptr offset
GLsizeiptr size); const <>&() ;
GLint java.lang.StringIndexOutOfBoundsException: Index 32 out of bounds for length 0
const : (ontext contextjava.lang.StringIndexOutOfBoundsException: Index 44 out of bounds for length 44
const Extents &Buffer*
size_t getWidth( target
size_t internalFormat
, size_t java.lang.StringIndexOutOfBoundsException: Index 62 out of bounds for length 62
GLsizei format, bool getFixedSampleLocations(TextureTarget target, size_t level) const; const Format &getFormat ,
// Returns the value called "q" in the GLES 3.0.4 spec section 3.8.10. pixels
java.lang.StringIndexOutOfBoundsException: Range [28, 10) out of bounds for length 37
bool isMipmapComplete() const;
angle::Result setImage(Context *context,
targetjava.lang.StringIndexOutOfBoundsException: Index 51 out of bounds for length 51
Buffer java.lang.StringIndexOutOfBoundsException: Range [37, 36) out of bounds for length 44
TextureTarget target,
GLint level,
GLenum internalFormat, constExtentssize,
GLenum format,
GLenum type,
uint8_t pixels)
angle::Result setSubImage( internalFormat, const PixelUnpackState &unpackState,
Buffer *unpackBuffer,
TextureTarget target,
GLint angle::Result setCompressedSubImage(c contextjava.lang.StringIndexOutOfBoundsException: Index 63 out of bounds for length 63 const Box &area,
GLenum format,
GLenum type, const uint8_t *pixels);
angle::Result setCompressedImage(Context *context,
PixelUnpackState&npackState
TextureTarget target,
GLint level,
GLenum internalFormat, const &izejava.lang.StringIndexOutOfBoundsException: Index 57 out of bounds for length 57
size_t imageSize,
Rectangle &sourceArea,
GLenum ,
Framebuffer source;
TextureTarget target,
GLint level, const Box &area,
GLenum format,
size_t imageSize,
els);
angle::Result setStorageExternalMemory(java.lang.StringIndexOutOfBoundsException: Index 49 out of bounds for length 0
TextureType type
GLsizei levels,
GLenum internalFormat, const Extents &size,
java.lang.StringIndexOutOfBoundsException: Index 56 out of bounds for length 56
createFlags
voidimageCreateInfoPNext
angle::Result
java.lang.StringIndexOutOfBoundsException: Range [49, 48) out of bounds for length 56
GLint level,
internalFormatjava.lang.StringIndexOutOfBoundsException: Index 57 out of bounds for length 57 const Extents &size,
GLenum format,
GLenum type);
angle::Result setStorageEGLImageTarget(Context *context,
TextureType type,
egl::Image *image, const GLint *java.lang.StringIndexOutOfBoundsException: Index 63 out of bounds for length 0
angle::java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
egl::Surface *getBoundSurface() const;
egl::Stream isSamplerComplete(onstContext,const )java.lang.StringIndexOutOfBoundsException: Index 83 out of bounds for length 83
// We pass the pack buffer and state explicitly so they can be overridden during capture.
angle:Result getTexImage(const *, const PixelPackState &packState,
packBufferjava.lang.StringIndexOutOfBoundsException: Index 59 out of bounds for length 59
targetjava.lang.StringIndexOutOfBoundsException: Index 51 out of bounds for length 51
::extureImpl *etImplementation( constreturn; } / FramebufferAttachmentObject implementation
GLenum type,
*)
(const Context*ontext,
getAttachmentSamples(onst &mageIndex)const override;
Buffer *packBuffer, const &mageIndex) override;
level, voidjava.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
Rectangle getCrop)constjava.lang.StringIndexOutOfBoundsException: Index 37 out of bounds for length 37
GLenum getGenerateMipmapHint() const;
java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
getAttachmentFormat( binding, &mageIndexconst ;
onDetach(onst Context *ontext,rx: framebufferSerial);
java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
GLenum binding, const ImageIndex &imageIndex) const override
enum DirtyBitType
{ // Sampler state
DIRTY_BIT_MIN_FILTER,
DIRTY_BIT_MAG_FILTER,
DIRTY_BIT_WRAP_S,
DIRTY_BIT_WRAP_T,
DIRTY_BIT_WRAP_R,
DIRTY_BIT_MAX_ANISOTROPY isDepthOrStencil(const
,
.(..nfo-isDepthOrStencil);
DIRTY_BIT_COMPARE_MODE,
DIRTY_BIT_COMPARE_FUNC,
java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
DIRTY_BIT_SRGB_OVERRIDE// Sampler state
R,
// Texture state
DIRTY_BIT_SWIZZLE_RED
DIRTY_BIT_SWIZZLE_GREEN,
DIRTY_BIT_SWIZZLE_BLUE
DIRTY_BIT_SWIZZLE_ALPHA,
DIRTY_BIT_BASE_LEVEL,
DIRTY_BIT_MAX_LEVEL,
java.lang.StringIndexOutOfBoundsException: Index 27 out of bounds for length 24
// Image state
DIRTY_BIT_BOUND_AS_IMAGE
DIRTY_BIT_BOUND_AS_ATTACHMENT,
void/ ANGLE-only method, used internally
angle::Result java.lang.StringIndexOutOfBoundsException: Index 37 out of bounds for length 30
bool doesSubImageNeedInit(const Context * angle::Result releaseTexImageFromSurface(const (constContext*)java.lang.StringIndexOutOfBoundsException: Index 69 out of bounds for length 69 const ImageIndex &imageIndex, const Box &area) const;
angle::Result ensureSubImageInitialized void(; const ImageIndex &imageIndex,
&)
angle::Result handleMipmapGenerationHint(Context *context, int level);
angle::Result
TextureType type,
egl :Result(constcontext
void signalDirtyState(size_t dirtyBit);
TextureState mState;
DirtyBits mDirtyBits;
rx::TextureImpl *mTexture;
angle::java.lang.StringIndexOutOfBoundsException: Index 20 out of bounds for length 0 // For EXT_texture_buffer, observes buffer changes.
angle: ;
// We track all the serials of the Framebuffers this texture is attached to. Note that thisI *imageTarget; // allows duplicates because different ranges of a Texture can be bound to the same Framebuffer.size_tdirtyBit; // For the purposes of depth-stencil loops, a simple "isBound" check works fine. For color;
k we to to a Textureis // to mulitple bindings that the bindings don't overlap. static uint32_tkFastFramebufferSerialCount = 8;
angle::FastVector<rx:: :ObserverBindingmImplObserver;
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.