aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/linden/indra/newview/llviewerimagelist.h
diff options
context:
space:
mode:
authorJacek Antonelli2008-08-15 23:44:50 -0500
committerJacek Antonelli2008-08-15 23:44:50 -0500
commit89fe5dab825a62a0e3fd8d248cbc91c65eb2a426 (patch)
treebcff14b7888d04a2fec799c59369f6095224bd08 /linden/indra/newview/llviewerimagelist.h
parentSecond Life viewer sources 1.13.3.2 (diff)
downloadmeta-impy-89fe5dab825a62a0e3fd8d248cbc91c65eb2a426.zip
meta-impy-89fe5dab825a62a0e3fd8d248cbc91c65eb2a426.tar.gz
meta-impy-89fe5dab825a62a0e3fd8d248cbc91c65eb2a426.tar.bz2
meta-impy-89fe5dab825a62a0e3fd8d248cbc91c65eb2a426.tar.xz
Second Life viewer sources 1.14.0.0
Diffstat (limited to 'linden/indra/newview/llviewerimagelist.h')
-rw-r--r--linden/indra/newview/llviewerimagelist.h41
1 files changed, 21 insertions, 20 deletions
diff --git a/linden/indra/newview/llviewerimagelist.h b/linden/indra/newview/llviewerimagelist.h
index 68cfcaf..3f3e521 100644
--- a/linden/indra/newview/llviewerimagelist.h
+++ b/linden/indra/newview/llviewerimagelist.h
@@ -58,12 +58,17 @@ typedef void (*LLImageCallback)(BOOL success,
58 58
59class LLViewerImageList : public LLImageProviderInterface 59class LLViewerImageList : public LLImageProviderInterface
60{ 60{
61 LOG_CLASS(LLViewerImageList);
62
61 friend class LLTextureView; 63 friend class LLTextureView;
62 64
63public: 65public:
64 static BOOL createUploadFile(const LLString& filename, const LLString& out_filename, const U8 codec); 66 static BOOL createUploadFile(const LLString& filename, const LLString& out_filename, const U8 codec);
67 static LLPointer<LLImageJ2C> convertToUploadFile(LLPointer<LLImageRaw> raw_image);
65 static void processImageNotInDatabase( LLMessageSystem *msg, void **user_data ); 68 static void processImageNotInDatabase( LLMessageSystem *msg, void **user_data );
66 static S32 calcMaxTextureRAM(); 69 static S32 calcMaxTextureRAM();
70 static void receiveImageHeader(LLMessageSystem *msg, void **user_data);
71 static void receiveImagePacket(LLMessageSystem *msg, void **user_data);
67 72
68public: 73public:
69 LLViewerImageList(); 74 LLViewerImageList();
@@ -117,12 +122,13 @@ public:
117 void removeImageFromList(LLViewerImage *image); 122 void removeImageFromList(LLViewerImage *image);
118 123
119 void updateMovieImage(const LLUUID& image_id, BOOL active); 124 void updateMovieImage(const LLUUID& image_id, BOOL active);
125 void dirtyImage(LLViewerImage *image);
120 126
121 // Using image stats, determine what images are necessary, and perform image updates. 127 // Using image stats, determine what images are necessary, and perform image updates.
122 void updateImages(F32 decode_time); 128 void updateImages(F32 max_time);
123 129
124 // Decode and create textures for all images currently in list. 130 // Decode and create textures for all images currently in list.
125 void decodeAllImages(F32 max_decode_time = 0.f); 131 void decodeAllImages(F32 max_decode_time);
126 132
127 void handleIRCallback(void **data, const S32 number); 133 void handleIRCallback(void **data, const S32 number);
128 134
@@ -136,40 +142,35 @@ public:
136 void updateMaxResidentTexMem(S32 max = -1, U32 fudge = 0); 142 void updateMaxResidentTexMem(S32 max = -1, U32 fudge = 0);
137 143
138 void doPreloadImages(); 144 void doPreloadImages();
145 void doPrefetchImages();
139 146
140private: 147private:
141 LLViewerImage* preloadImage(const LLString& filename, const LLUUID &image_set_id, BOOL use_mips); 148 LLViewerImage* preloadImage(const LLString& filename, const LLUUID &image_set_id, BOOL use_mips);
142 void updateImagesDecodePriorities(); 149 void updateImagesDecodePriorities();
143 void updateImagesSendRequests(); 150 F32 updateImagesCreateTextures(F32 max_time);
144 void updateImagesDecodeTextures(F32 decode_max_time); 151 F32 updateImagesFetchTextures(F32 max_time);
145 void updateImagesMediaStreams(); 152 void updateImagesMediaStreams();
146 void updateImagesPollVFS();
147 void updateImagesUpdateStats(); 153 void updateImagesUpdateStats();
148 154
149public: 155public:
150 typedef std::set<LLPointer<LLViewerImage>, LLViewerImage::Compare> image_list_t; 156 typedef std::set<LLPointer<LLViewerImage> > image_list_t;
151 typedef std::set<LLPointer<LLViewerImage>, LLViewerImage::CompareForRemoval> image_removal_list_t; 157 image_list_t mLoadingStreamList;
152 typedef std::set<LLPointer<LLViewerImage>, LLViewerImage::CompareForWorstVisibility> image_visibility_list_t; 158 image_list_t mCreateTextureList;
153 159 image_list_t mCallbackList;
154 // List of pending texture loads, waiting for the VFS.
155 // The asynchronous read has been initiated for all images in the list.
156 typedef std::list<LLPointer<LLViewerImage> > image_loading_list_t;
157 image_loading_list_t mLoadingStreamList;
158
159 // Images with "loaded" callbacks
160 typedef std::set<LLPointer<LLViewerImage> > image_callback_list_t;
161 image_callback_list_t mCallbackList;
162 160
161 // Note: just raw pointers because they are never referenced, just compared against
162 std::set<LLViewerImage*> mDirtyTextureList;
163
163 BOOL mForceResetTextureStats; 164 BOOL mForceResetTextureStats;
164 165
165private: 166private:
166 typedef std::map< LLUUID, LLPointer<LLViewerImage> > uuid_map_t; 167 typedef std::map< LLUUID, LLPointer<LLViewerImage> > uuid_map_t;
167 uuid_map_t mUUIDMap; 168 uuid_map_t mUUIDMap;
168 LLUUID mLastUpdateUUID; 169 LLUUID mLastUpdateUUID;
170 LLUUID mLastFetchUUID;
169 171
170 image_list_t mImageList; 172 typedef std::set<LLPointer<LLViewerImage>, LLViewerImage::Compare> image_priority_list_t;
171 173 image_priority_list_t mImageList;
172 LLPointer<LLViewerImage> mCurrentDecodeImagep;
173 174
174 typedef std::vector<LLPointer<LLViewerImage> > callback_data_t; 175 typedef std::vector<LLPointer<LLViewerImage> > callback_data_t;
175 typedef std::set< callback_data_t* > callback_data_list_t; 176 typedef std::set< callback_data_t* > callback_data_list_t;