From 60d3dd98a44230c21803c1606552ee098ed9fa7c Mon Sep 17 00:00:00 2001 From: Ansariel Date: Wed, 21 Feb 2024 21:05:14 +0100 Subject: Convert remaining BOOL to bool --- indra/newview/llviewertexturelist.h | 54 ++++++++++++++++++------------------- 1 file changed, 27 insertions(+), 27 deletions(-) (limited to 'indra/newview/llviewertexturelist.h') diff --git a/indra/newview/llviewertexturelist.h b/indra/newview/llviewertexturelist.h index e8dd96daee..48475f19ce 100644 --- a/indra/newview/llviewertexturelist.h +++ b/indra/newview/llviewertexturelist.h @@ -38,25 +38,25 @@ const U32 LL_IMAGE_REZ_LOSSLESS_CUTOFF = 128; -const BOOL MIPMAP_YES = TRUE; -const BOOL MIPMAP_NO = FALSE; +const bool MIPMAP_YES = true; +const bool MIPMAP_NO = false; -const BOOL GL_TEXTURE_YES = TRUE; -const BOOL GL_TEXTURE_NO = FALSE; +const bool GL_TEXTURE_YES = true; +const bool GL_TEXTURE_NO = false; -const BOOL IMMEDIATE_YES = TRUE; -const BOOL IMMEDIATE_NO = FALSE; +const bool IMMEDIATE_YES = true; +const bool IMMEDIATE_NO = false; class LLImageJ2C; class LLMessageSystem; class LLTextureView; -typedef void (*LLImageCallback)(BOOL success, +typedef void (*LLImageCallback)(bool success, LLViewerFetchedTexture *src_vi, LLImageRaw* src, LLImageRaw* src_aux, S32 discard_level, - BOOL final, + bool final, void* userdata); enum ETexListType @@ -96,7 +96,7 @@ public: const std::string& out_filename, const S32 max_image_dimentions = LLViewerFetchedTexture::MAX_IMAGE_SIZE_DEFAULT, const S32 min_image_dimentions = 0); - static BOOL createUploadFile(const std::string& filename, + static bool createUploadFile(const std::string& filename, const std::string& out_filename, const U8 codec, const S32 max_image_dimentions = LLViewerFetchedTexture::MAX_IMAGE_SIZE_DEFAULT, @@ -115,9 +115,9 @@ public: void init(); void shutdown(); void dump(); - void destroyGL(BOOL save_state = TRUE); + void destroyGL(bool save_state = true); void restoreGL(); - BOOL isInitialized() const {return mInitialized;} + bool isInitialized() const {return mInitialized;} void findTexturesByID(const LLUUID &image_id, std::vector &output); LLViewerFetchedTexture *findImage(const LLUUID &image_id, ETexListType tex_type); @@ -164,7 +164,7 @@ private: LLViewerFetchedTexture * getImage(const LLUUID &image_id, FTType f_type = FTT_DEFAULT, - BOOL usemipmap = TRUE, + bool usemipmap = true, LLViewerTexture::EBoostLevel boost_priority = LLGLTexture::BOOST_NONE, // Get the requested level immediately upon creation. S8 texture_type = LLViewerTexture::FETCHED_TEXTURE, LLGLint internal_format = 0, @@ -174,7 +174,7 @@ private: LLViewerFetchedTexture * getImageFromFile(const std::string& filename, FTType f_type = FTT_LOCAL_FILE, - BOOL usemipmap = TRUE, + bool usemipmap = true, LLViewerTexture::EBoostLevel boost_priority = LLGLTexture::BOOST_NONE, // Get the requested level immediately upon creation. S8 texture_type = LLViewerTexture::FETCHED_TEXTURE, LLGLint internal_format = 0, @@ -184,7 +184,7 @@ private: LLViewerFetchedTexture* getImageFromUrl(const std::string& url, FTType f_type, - BOOL usemipmap = TRUE, + bool usemipmap = true, LLViewerTexture::EBoostLevel boost_priority = LLGLTexture::BOOST_NONE, // Get the requested level immediately upon creation. S8 texture_type = LLViewerTexture::FETCHED_TEXTURE, LLGLint internal_format = 0, @@ -194,7 +194,7 @@ private: LLViewerFetchedTexture* createImage(const LLUUID &image_id, FTType f_type, - BOOL usemipmap = TRUE, + bool usemipmap = true, LLViewerTexture::EBoostLevel boost_priority = LLGLTexture::BOOST_NONE, // Get the requested level immediately upon creation. S8 texture_type = LLViewerTexture::FETCHED_TEXTURE, LLGLint internal_format = 0, @@ -205,7 +205,7 @@ private: // Request image from a specific host, used for baked avatar textures. // Implemented in header in case someone changes default params above. JC LLViewerFetchedTexture* getImageFromHost(const LLUUID& image_id, FTType f_type, LLHost host) - { return getImage(image_id, f_type, TRUE, LLGLTexture::BOOST_NONE, LLViewerTexture::LOD_TEXTURE, 0, 0, host); } + { return getImage(image_id, f_type, true, LLGLTexture::BOOST_NONE, LLViewerTexture::LOD_TEXTURE, 0, 0, host); } public: typedef std::set > image_list_t; @@ -217,7 +217,7 @@ public: // Note: just raw pointers because they are never referenced, just compared against std::set mDirtyTextureList; - BOOL mForceResetTextureStats; + bool mForceResetTextureStats; private: typedef std::map< LLTextureKey, LLPointer > uuid_map_t; @@ -230,7 +230,7 @@ private: // simply holds on to LLViewerFetchedTexture references to stop them from being purged too soon std::set > mImagePreloads; - BOOL mInitialized ; + bool mInitialized ; LLFrameTimer mForceDecodeTimer; private: @@ -250,22 +250,22 @@ public: bool initFromFile(); - LLPointer preloadUIImage(const std::string& name, const std::string& filename, BOOL use_mips, const LLRect& scale_rect, const LLRect& clip_rect, LLUIImage::EScaleStyle stype); + LLPointer preloadUIImage(const std::string& name, const std::string& filename, bool use_mips, const LLRect& scale_rect, const LLRect& clip_rect, LLUIImage::EScaleStyle stype); - static void onUIImageLoaded( BOOL success, LLViewerFetchedTexture *src_vi, LLImageRaw* src, LLImageRaw* src_aux, S32 discard_level, BOOL final, void* userdata ); + static void onUIImageLoaded( bool success, LLViewerFetchedTexture *src_vi, LLImageRaw* src, LLImageRaw* src_aux, S32 discard_level, bool final, void* userdata ); private: LLPointer loadUIImageByName(const std::string& name, const std::string& filename, - BOOL use_mips = FALSE, const LLRect& scale_rect = LLRect::null, + bool use_mips = false, const LLRect& scale_rect = LLRect::null, const LLRect& clip_rect = LLRect::null, LLViewerTexture::EBoostLevel boost_priority = LLGLTexture::BOOST_UI, LLUIImage::EScaleStyle = LLUIImage::SCALE_INNER); LLPointer loadUIImageByID(const LLUUID& id, - BOOL use_mips = FALSE, const LLRect& scale_rect = LLRect::null, + bool use_mips = false, const LLRect& scale_rect = LLRect::null, const LLRect& clip_rect = LLRect::null, LLViewerTexture::EBoostLevel boost_priority = LLGLTexture::BOOST_UI, LLUIImage::EScaleStyle = LLUIImage::SCALE_INNER); - LLPointer loadUIImage(LLViewerFetchedTexture* imagep, const std::string& name, BOOL use_mips = FALSE, const LLRect& scale_rect = LLRect::null, const LLRect& clip_rect = LLRect::null, LLUIImage::EScaleStyle = LLUIImage::SCALE_INNER); + LLPointer loadUIImage(LLViewerFetchedTexture* imagep, const std::string& name, bool use_mips = false, const LLRect& scale_rect = LLRect::null, const LLRect& clip_rect = LLRect::null, LLUIImage::EScaleStyle = LLUIImage::SCALE_INNER); struct LLUIImageLoadData @@ -284,10 +284,10 @@ private: std::list< LLPointer > mUITextureList ; }; -const BOOL GLTEXTURE_TRUE = TRUE; -const BOOL GLTEXTURE_FALSE = FALSE; -const BOOL MIPMAP_TRUE = TRUE; -const BOOL MIPMAP_FALSE = FALSE; +const bool GLTEXTURE_TRUE = true; +const bool GLTEXTURE_FALSE = false; +const bool MIPMAP_TRUE = true; +const bool MIPMAP_FALSE = false; extern LLViewerTextureList gTextureList; -- cgit v1.2.3 From e2e37cced861b98de8c1a7c9c0d3a50d2d90e433 Mon Sep 17 00:00:00 2001 From: Ansariel Date: Wed, 22 May 2024 21:25:21 +0200 Subject: Fix line endlings --- indra/newview/llviewertexturelist.h | 588 ++++++++++++++++++------------------ 1 file changed, 294 insertions(+), 294 deletions(-) (limited to 'indra/newview/llviewertexturelist.h') diff --git a/indra/newview/llviewertexturelist.h b/indra/newview/llviewertexturelist.h index 2cd5f2f117..da1c013335 100644 --- a/indra/newview/llviewertexturelist.h +++ b/indra/newview/llviewertexturelist.h @@ -1,294 +1,294 @@ -/** - * @file llviewertexturelist.h - * @brief Object for managing the list of images within a region - * - * $LicenseInfo:firstyear=2022&license=viewerlgpl$ - * Second Life Viewer Source Code - * Copyright (C) 2022, Linden Research, Inc. - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; - * version 2.1 of the License only. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA - * - * Linden Research, Inc., 945 Battery Street, San Francisco, CA 94111 USA - * $/LicenseInfo$ - */ - -#ifndef LL_LLVIEWERTEXTURELIST_H -#define LL_LLVIEWERTEXTURELIST_H - -#include "lluuid.h" -//#include "message.h" -#include "llgl.h" -#include "llviewertexture.h" -#include "llui.h" -#include -#include -#include "lluiimage.h" - -const U32 LL_IMAGE_REZ_LOSSLESS_CUTOFF = 128; - -const bool MIPMAP_YES = true; -const bool MIPMAP_NO = false; - -const bool GL_TEXTURE_YES = true; -const bool GL_TEXTURE_NO = false; - -const bool IMMEDIATE_YES = true; -const bool IMMEDIATE_NO = false; - -class LLImageJ2C; -class LLMessageSystem; -class LLTextureView; - -typedef void (*LLImageCallback)(bool success, - LLViewerFetchedTexture *src_vi, - LLImageRaw* src, - LLImageRaw* src_aux, - S32 discard_level, - bool final, - void* userdata); - -enum ETexListType -{ - TEX_LIST_STANDARD = 0, - TEX_LIST_SCALE -}; - -struct LLTextureKey -{ - LLTextureKey(); - LLTextureKey(LLUUID id, ETexListType tex_type); - LLUUID textureId; - ETexListType textureType; - - friend bool operator<(const LLTextureKey& key1, const LLTextureKey& key2) - { - if (key1.textureId != key2.textureId) - { - return key1.textureId < key2.textureId; - } - else - { - return key1.textureType < key2.textureType; - } - } -}; - -class LLViewerTextureList -{ - friend class LLTextureView; - friend class LLViewerTextureManager; - friend class LLLocalBitmap; - -public: - static bool createUploadFile(LLPointer raw_image, - const std::string& out_filename, - const S32 max_image_dimentions = LLViewerFetchedTexture::MAX_IMAGE_SIZE_DEFAULT, - const S32 min_image_dimentions = 0); - static bool createUploadFile(const std::string& filename, - const std::string& out_filename, - const U8 codec, - const S32 max_image_dimentions = LLViewerFetchedTexture::MAX_IMAGE_SIZE_DEFAULT, - const S32 min_image_dimentions = 0, - bool force_square = false); - static LLPointer convertToUploadFile(LLPointer raw_image, - const S32 max_image_dimentions = LLViewerFetchedTexture::MAX_IMAGE_SIZE_DEFAULT, - bool force_square = false, - bool force_lossless = false); - static void processImageNotInDatabase( LLMessageSystem *msg, void **user_data ); - -public: - LLViewerTextureList(); - ~LLViewerTextureList(); - - void init(); - void shutdown(); - void dump(); - void destroyGL(bool save_state = true); - void restoreGL(); - bool isInitialized() const {return mInitialized;} - - void findTexturesByID(const LLUUID &image_id, std::vector &output); - LLViewerFetchedTexture *findImage(const LLUUID &image_id, ETexListType tex_type); - LLViewerFetchedTexture *findImage(const LLTextureKey &search_key); - - void dirtyImage(LLViewerFetchedTexture *image); - - // Using image stats, determine what images are necessary, and perform image updates. - void updateImages(F32 max_time); - void forceImmediateUpdate(LLViewerFetchedTexture* imagep) ; - - // Decode and create textures for all images currently in list. - void decodeAllImages(F32 max_decode_time); - - void handleIRCallback(void **data, const S32 number); - - S32 getNumImages() { return mImageList.size(); } - - // Local UI images - // Local UI images - void doPreloadImages(); - // Network images. Needs caps and cache to work - void doPrefetchImages(); - - void clearFetchingRequests(); - void setDebugFetching(LLViewerFetchedTexture* tex, S32 debug_level); - -private: - // do some book keeping on the specified texture - // - updates decode priority - // - updates desired discard level - // - cleans up textures that haven't been referenced in awhile - void updateImageDecodePriority(LLViewerFetchedTexture* imagep); - F32 updateImagesCreateTextures(F32 max_time); - F32 updateImagesFetchTextures(F32 max_time); - void updateImagesUpdateStats(); - F32 updateImagesLoadingFastCache(F32 max_time); - - void addImage(LLViewerFetchedTexture *image, ETexListType tex_type); - void deleteImage(LLViewerFetchedTexture *image); - - void addImageToList(LLViewerFetchedTexture *image); - void removeImageFromList(LLViewerFetchedTexture *image); - - LLViewerFetchedTexture * getImage(const LLUUID &image_id, - FTType f_type = FTT_DEFAULT, - bool usemipmap = true, - LLViewerTexture::EBoostLevel boost_priority = LLGLTexture::BOOST_NONE, // Get the requested level immediately upon creation. - S8 texture_type = LLViewerTexture::FETCHED_TEXTURE, - LLGLint internal_format = 0, - LLGLenum primary_format = 0, - LLHost request_from_host = LLHost() - ); - - LLViewerFetchedTexture * getImageFromFile(const std::string& filename, - FTType f_type = FTT_LOCAL_FILE, - bool usemipmap = true, - LLViewerTexture::EBoostLevel boost_priority = LLGLTexture::BOOST_NONE, // Get the requested level immediately upon creation. - S8 texture_type = LLViewerTexture::FETCHED_TEXTURE, - LLGLint internal_format = 0, - LLGLenum primary_format = 0, - const LLUUID& force_id = LLUUID::null - ); - - LLViewerFetchedTexture* getImageFromUrl(const std::string& url, - FTType f_type, - bool usemipmap = true, - LLViewerTexture::EBoostLevel boost_priority = LLGLTexture::BOOST_NONE, // Get the requested level immediately upon creation. - S8 texture_type = LLViewerTexture::FETCHED_TEXTURE, - LLGLint internal_format = 0, - LLGLenum primary_format = 0, - const LLUUID& force_id = LLUUID::null - ); - - LLViewerFetchedTexture* createImage(const LLUUID &image_id, - FTType f_type, - bool usemipmap = true, - LLViewerTexture::EBoostLevel boost_priority = LLGLTexture::BOOST_NONE, // Get the requested level immediately upon creation. - S8 texture_type = LLViewerTexture::FETCHED_TEXTURE, - LLGLint internal_format = 0, - LLGLenum primary_format = 0, - LLHost request_from_host = LLHost() - ); - - // Request image from a specific host, used for baked avatar textures. - // Implemented in header in case someone changes default params above. JC - LLViewerFetchedTexture* getImageFromHost(const LLUUID& image_id, FTType f_type, LLHost host) - { return getImage(image_id, f_type, true, LLGLTexture::BOOST_NONE, LLViewerTexture::LOD_TEXTURE, 0, 0, host); } - -public: - typedef std::set > image_list_t; - image_list_t mLoadingStreamList; - image_list_t mCreateTextureList; - image_list_t mCallbackList; - image_list_t mFastCacheList; - - // Note: just raw pointers because they are never referenced, just compared against - std::set mDirtyTextureList; - - bool mForceResetTextureStats; - -private: - typedef std::map< LLTextureKey, LLPointer > uuid_map_t; - uuid_map_t mUUIDMap; - LLTextureKey mLastUpdateKey; - - typedef std::set < LLPointer > image_priority_list_t; - image_priority_list_t mImageList; - - // simply holds on to LLViewerFetchedTexture references to stop them from being purged too soon - std::set > mImagePreloads; - - bool mInitialized ; - LLFrameTimer mForceDecodeTimer; - -private: - static S32 sNumImages; - static void (*sUUIDCallback)(void**, const LLUUID &); - LOG_CLASS(LLViewerTextureList); -}; - -class LLUIImageList : public LLImageProviderInterface, public LLSingleton -{ - LLSINGLETON_EMPTY_CTOR(LLUIImageList); -public: - // LLImageProviderInterface - /*virtual*/ LLPointer getUIImageByID(const LLUUID& id, S32 priority) override; - /*virtual*/ LLPointer getUIImage(const std::string& name, S32 priority) override; - void cleanUp() override; - - bool initFromFile(); - - LLPointer preloadUIImage(const std::string& name, const std::string& filename, bool use_mips, const LLRect& scale_rect, const LLRect& clip_rect, LLUIImage::EScaleStyle stype); - - static void onUIImageLoaded( bool success, LLViewerFetchedTexture *src_vi, LLImageRaw* src, LLImageRaw* src_aux, S32 discard_level, bool final, void* userdata ); -private: - LLPointer loadUIImageByName(const std::string& name, const std::string& filename, - bool use_mips = false, const LLRect& scale_rect = LLRect::null, - const LLRect& clip_rect = LLRect::null, - LLViewerTexture::EBoostLevel boost_priority = LLGLTexture::BOOST_UI, - LLUIImage::EScaleStyle = LLUIImage::SCALE_INNER); - LLPointer loadUIImageByID(const LLUUID& id, - bool use_mips = false, const LLRect& scale_rect = LLRect::null, - const LLRect& clip_rect = LLRect::null, - LLViewerTexture::EBoostLevel boost_priority = LLGLTexture::BOOST_UI, - LLUIImage::EScaleStyle = LLUIImage::SCALE_INNER); - - LLPointer loadUIImage(LLViewerFetchedTexture* imagep, const std::string& name, bool use_mips = false, const LLRect& scale_rect = LLRect::null, const LLRect& clip_rect = LLRect::null, LLUIImage::EScaleStyle = LLUIImage::SCALE_INNER); - - - struct LLUIImageLoadData - { - std::string mImageName; - LLRect mImageScaleRegion; - LLRect mImageClipRegion; - }; - - typedef std::map< std::string, LLPointer > uuid_ui_image_map_t; - uuid_ui_image_map_t mUIImages; - - // - //keep a copy of UI textures to prevent them to be deleted. - //mGLTexturep of each UI texture equals to some LLUIImage.mImage. - std::list< LLPointer > mUITextureList ; -}; - -const bool GLTEXTURE_TRUE = true; -const bool GLTEXTURE_FALSE = false; -const bool MIPMAP_TRUE = true; -const bool MIPMAP_FALSE = false; - -extern LLViewerTextureList gTextureList; - -#endif +/** + * @file llviewertexturelist.h + * @brief Object for managing the list of images within a region + * + * $LicenseInfo:firstyear=2022&license=viewerlgpl$ + * Second Life Viewer Source Code + * Copyright (C) 2022, Linden Research, Inc. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; + * version 2.1 of the License only. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + * + * Linden Research, Inc., 945 Battery Street, San Francisco, CA 94111 USA + * $/LicenseInfo$ + */ + +#ifndef LL_LLVIEWERTEXTURELIST_H +#define LL_LLVIEWERTEXTURELIST_H + +#include "lluuid.h" +//#include "message.h" +#include "llgl.h" +#include "llviewertexture.h" +#include "llui.h" +#include +#include +#include "lluiimage.h" + +const U32 LL_IMAGE_REZ_LOSSLESS_CUTOFF = 128; + +const bool MIPMAP_YES = true; +const bool MIPMAP_NO = false; + +const bool GL_TEXTURE_YES = true; +const bool GL_TEXTURE_NO = false; + +const bool IMMEDIATE_YES = true; +const bool IMMEDIATE_NO = false; + +class LLImageJ2C; +class LLMessageSystem; +class LLTextureView; + +typedef void (*LLImageCallback)(bool success, + LLViewerFetchedTexture *src_vi, + LLImageRaw* src, + LLImageRaw* src_aux, + S32 discard_level, + bool final, + void* userdata); + +enum ETexListType +{ + TEX_LIST_STANDARD = 0, + TEX_LIST_SCALE +}; + +struct LLTextureKey +{ + LLTextureKey(); + LLTextureKey(LLUUID id, ETexListType tex_type); + LLUUID textureId; + ETexListType textureType; + + friend bool operator<(const LLTextureKey& key1, const LLTextureKey& key2) + { + if (key1.textureId != key2.textureId) + { + return key1.textureId < key2.textureId; + } + else + { + return key1.textureType < key2.textureType; + } + } +}; + +class LLViewerTextureList +{ + friend class LLTextureView; + friend class LLViewerTextureManager; + friend class LLLocalBitmap; + +public: + static bool createUploadFile(LLPointer raw_image, + const std::string& out_filename, + const S32 max_image_dimentions = LLViewerFetchedTexture::MAX_IMAGE_SIZE_DEFAULT, + const S32 min_image_dimentions = 0); + static bool createUploadFile(const std::string& filename, + const std::string& out_filename, + const U8 codec, + const S32 max_image_dimentions = LLViewerFetchedTexture::MAX_IMAGE_SIZE_DEFAULT, + const S32 min_image_dimentions = 0, + bool force_square = false); + static LLPointer convertToUploadFile(LLPointer raw_image, + const S32 max_image_dimentions = LLViewerFetchedTexture::MAX_IMAGE_SIZE_DEFAULT, + bool force_square = false, + bool force_lossless = false); + static void processImageNotInDatabase( LLMessageSystem *msg, void **user_data ); + +public: + LLViewerTextureList(); + ~LLViewerTextureList(); + + void init(); + void shutdown(); + void dump(); + void destroyGL(bool save_state = true); + void restoreGL(); + bool isInitialized() const {return mInitialized;} + + void findTexturesByID(const LLUUID &image_id, std::vector &output); + LLViewerFetchedTexture *findImage(const LLUUID &image_id, ETexListType tex_type); + LLViewerFetchedTexture *findImage(const LLTextureKey &search_key); + + void dirtyImage(LLViewerFetchedTexture *image); + + // Using image stats, determine what images are necessary, and perform image updates. + void updateImages(F32 max_time); + void forceImmediateUpdate(LLViewerFetchedTexture* imagep) ; + + // Decode and create textures for all images currently in list. + void decodeAllImages(F32 max_decode_time); + + void handleIRCallback(void **data, const S32 number); + + S32 getNumImages() { return mImageList.size(); } + + // Local UI images + // Local UI images + void doPreloadImages(); + // Network images. Needs caps and cache to work + void doPrefetchImages(); + + void clearFetchingRequests(); + void setDebugFetching(LLViewerFetchedTexture* tex, S32 debug_level); + +private: + // do some book keeping on the specified texture + // - updates decode priority + // - updates desired discard level + // - cleans up textures that haven't been referenced in awhile + void updateImageDecodePriority(LLViewerFetchedTexture* imagep); + F32 updateImagesCreateTextures(F32 max_time); + F32 updateImagesFetchTextures(F32 max_time); + void updateImagesUpdateStats(); + F32 updateImagesLoadingFastCache(F32 max_time); + + void addImage(LLViewerFetchedTexture *image, ETexListType tex_type); + void deleteImage(LLViewerFetchedTexture *image); + + void addImageToList(LLViewerFetchedTexture *image); + void removeImageFromList(LLViewerFetchedTexture *image); + + LLViewerFetchedTexture * getImage(const LLUUID &image_id, + FTType f_type = FTT_DEFAULT, + bool usemipmap = true, + LLViewerTexture::EBoostLevel boost_priority = LLGLTexture::BOOST_NONE, // Get the requested level immediately upon creation. + S8 texture_type = LLViewerTexture::FETCHED_TEXTURE, + LLGLint internal_format = 0, + LLGLenum primary_format = 0, + LLHost request_from_host = LLHost() + ); + + LLViewerFetchedTexture * getImageFromFile(const std::string& filename, + FTType f_type = FTT_LOCAL_FILE, + bool usemipmap = true, + LLViewerTexture::EBoostLevel boost_priority = LLGLTexture::BOOST_NONE, // Get the requested level immediately upon creation. + S8 texture_type = LLViewerTexture::FETCHED_TEXTURE, + LLGLint internal_format = 0, + LLGLenum primary_format = 0, + const LLUUID& force_id = LLUUID::null + ); + + LLViewerFetchedTexture* getImageFromUrl(const std::string& url, + FTType f_type, + bool usemipmap = true, + LLViewerTexture::EBoostLevel boost_priority = LLGLTexture::BOOST_NONE, // Get the requested level immediately upon creation. + S8 texture_type = LLViewerTexture::FETCHED_TEXTURE, + LLGLint internal_format = 0, + LLGLenum primary_format = 0, + const LLUUID& force_id = LLUUID::null + ); + + LLViewerFetchedTexture* createImage(const LLUUID &image_id, + FTType f_type, + bool usemipmap = true, + LLViewerTexture::EBoostLevel boost_priority = LLGLTexture::BOOST_NONE, // Get the requested level immediately upon creation. + S8 texture_type = LLViewerTexture::FETCHED_TEXTURE, + LLGLint internal_format = 0, + LLGLenum primary_format = 0, + LLHost request_from_host = LLHost() + ); + + // Request image from a specific host, used for baked avatar textures. + // Implemented in header in case someone changes default params above. JC + LLViewerFetchedTexture* getImageFromHost(const LLUUID& image_id, FTType f_type, LLHost host) + { return getImage(image_id, f_type, true, LLGLTexture::BOOST_NONE, LLViewerTexture::LOD_TEXTURE, 0, 0, host); } + +public: + typedef std::set > image_list_t; + image_list_t mLoadingStreamList; + image_list_t mCreateTextureList; + image_list_t mCallbackList; + image_list_t mFastCacheList; + + // Note: just raw pointers because they are never referenced, just compared against + std::set mDirtyTextureList; + + bool mForceResetTextureStats; + +private: + typedef std::map< LLTextureKey, LLPointer > uuid_map_t; + uuid_map_t mUUIDMap; + LLTextureKey mLastUpdateKey; + + typedef std::set < LLPointer > image_priority_list_t; + image_priority_list_t mImageList; + + // simply holds on to LLViewerFetchedTexture references to stop them from being purged too soon + std::set > mImagePreloads; + + bool mInitialized ; + LLFrameTimer mForceDecodeTimer; + +private: + static S32 sNumImages; + static void (*sUUIDCallback)(void**, const LLUUID &); + LOG_CLASS(LLViewerTextureList); +}; + +class LLUIImageList : public LLImageProviderInterface, public LLSingleton +{ + LLSINGLETON_EMPTY_CTOR(LLUIImageList); +public: + // LLImageProviderInterface + /*virtual*/ LLPointer getUIImageByID(const LLUUID& id, S32 priority) override; + /*virtual*/ LLPointer getUIImage(const std::string& name, S32 priority) override; + void cleanUp() override; + + bool initFromFile(); + + LLPointer preloadUIImage(const std::string& name, const std::string& filename, bool use_mips, const LLRect& scale_rect, const LLRect& clip_rect, LLUIImage::EScaleStyle stype); + + static void onUIImageLoaded( bool success, LLViewerFetchedTexture *src_vi, LLImageRaw* src, LLImageRaw* src_aux, S32 discard_level, bool final, void* userdata ); +private: + LLPointer loadUIImageByName(const std::string& name, const std::string& filename, + bool use_mips = false, const LLRect& scale_rect = LLRect::null, + const LLRect& clip_rect = LLRect::null, + LLViewerTexture::EBoostLevel boost_priority = LLGLTexture::BOOST_UI, + LLUIImage::EScaleStyle = LLUIImage::SCALE_INNER); + LLPointer loadUIImageByID(const LLUUID& id, + bool use_mips = false, const LLRect& scale_rect = LLRect::null, + const LLRect& clip_rect = LLRect::null, + LLViewerTexture::EBoostLevel boost_priority = LLGLTexture::BOOST_UI, + LLUIImage::EScaleStyle = LLUIImage::SCALE_INNER); + + LLPointer loadUIImage(LLViewerFetchedTexture* imagep, const std::string& name, bool use_mips = false, const LLRect& scale_rect = LLRect::null, const LLRect& clip_rect = LLRect::null, LLUIImage::EScaleStyle = LLUIImage::SCALE_INNER); + + + struct LLUIImageLoadData + { + std::string mImageName; + LLRect mImageScaleRegion; + LLRect mImageClipRegion; + }; + + typedef std::map< std::string, LLPointer > uuid_ui_image_map_t; + uuid_ui_image_map_t mUIImages; + + // + //keep a copy of UI textures to prevent them to be deleted. + //mGLTexturep of each UI texture equals to some LLUIImage.mImage. + std::list< LLPointer > mUITextureList ; +}; + +const bool GLTEXTURE_TRUE = true; +const bool GLTEXTURE_FALSE = false; +const bool MIPMAP_TRUE = true; +const bool MIPMAP_FALSE = false; + +extern LLViewerTextureList gTextureList; + +#endif -- cgit v1.2.3 From b42f9d836b4c0f7fbd4bdae1734021e2a09fdbe8 Mon Sep 17 00:00:00 2001 From: Ansariel Date: Sat, 1 Jun 2024 15:49:26 +0200 Subject: Re-enable a lot of compiler warnings for MSVC and address the C4267 "possible loss of precision" warnings --- indra/newview/llviewertexturelist.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'indra/newview/llviewertexturelist.h') diff --git a/indra/newview/llviewertexturelist.h b/indra/newview/llviewertexturelist.h index da1c013335..413209f50d 100644 --- a/indra/newview/llviewertexturelist.h +++ b/indra/newview/llviewertexturelist.h @@ -134,7 +134,7 @@ public: void handleIRCallback(void **data, const S32 number); - S32 getNumImages() { return mImageList.size(); } + S32 getNumImages() { return static_cast(mImageList.size()); } // Local UI images // Local UI images -- cgit v1.2.3