// INTERNAL INCLUDES
#include "gles-graphics-resource.h"
+#include "gles-graphics-types.h"
namespace Dali::Graphics::GLES
{
using TextureResource = Resource<Graphics::Texture, Graphics::TextureCreateInfo>;
+class Sampler;
/**
* The Texture class represents a GPU texture object. It's slightly
}
/**
+ * @brief Returns the type of the bound Gl texture
+ * @return The type of the bound Gl texture
+ */
+ [[nodiscard]] BoundTextureType GetTextureTypeId() const
+ {
+ return mCreateInfo.nativeImagePtr ? BoundTextureType::TEXTURE_EXTERNAL_OES : static_cast<BoundTextureType>(mCreateInfo.textureType);
+ }
+
+ /**
* @brief Called when initializing the resource
*
* @return True on success
return mIsCompressed;
}
+ void SetSamplerParameter(uint32_t param, uint32_t& cacheValue, uint32_t value) const;
+
private:
+ mutable struct SamplerStateCache
+ {
+ uint32_t minFilter{0};
+ uint32_t magFilter{0};
+ uint32_t wrapS{0};
+ uint32_t wrapT{0};
+ uint32_t wrapR{0};
+ uint32_t maxLevel{0};
+ } mDefaultSamplerState;
+
std::vector<char> mStagingBuffer;
uint32_t mTextureId{0u};
GLenum mGlTarget{0u};