summaryrefslogtreecommitdiff
path: root/indra/llimage
diff options
context:
space:
mode:
authorMonty Brandenberg <monty@lindenlab.com>2012-09-07 12:53:07 -0400
committerMonty Brandenberg <monty@lindenlab.com>2012-09-07 12:53:07 -0400
commit04e8d074b2f21438b3f9c463a387c964cd5b6961 (patch)
treec95b5bee3fd31fc66b0055c9635f5d8369cbd5e6 /indra/llimage
parent7bee4b58ff1e36ca39abc090991833c43c8903cc (diff)
parente3b4b3875a6d8c7857ba948a662ace4731913ecf (diff)
DRTVWR-209 Merge of viewer-development with SH-3316 drano-http code.
This was yet another refresh from v-d because of significant changes to lltexturefetch that would not have been resolvable by casual application of any merge tool. There are still a few questions outstanding but this is the initial, optimistic merge.
Diffstat (limited to 'indra/llimage')
-rw-r--r--indra/llimage/llimage.cpp9
-rw-r--r--indra/llimage/llimage.h2
-rwxr-xr-x[-rw-r--r--]indra/llimage/llimagej2c.cpp0
3 files changed, 8 insertions, 3 deletions
diff --git a/indra/llimage/llimage.cpp b/indra/llimage/llimage.cpp
index 6775b005f4..e6b838c5b2 100644
--- a/indra/llimage/llimage.cpp
+++ b/indra/llimage/llimage.cpp
@@ -292,11 +292,16 @@ LLImageRaw::LLImageRaw(U16 width, U16 height, S8 components)
++sRawImageCount;
}
-LLImageRaw::LLImageRaw(U8 *data, U16 width, U16 height, S8 components)
+LLImageRaw::LLImageRaw(U8 *data, U16 width, U16 height, S8 components, bool no_copy)
: LLImageBase()
{
mMemType = LLMemType::MTYPE_IMAGERAW;
- if(allocateDataSize(width, height, components))
+
+ if(no_copy)
+ {
+ setDataAndSize(data, width, height, components);
+ }
+ else if(allocateDataSize(width, height, components))
{
memcpy(getData(), data, width*height*components);
}
diff --git a/indra/llimage/llimage.h b/indra/llimage/llimage.h
index 46e6d1a901..99023351c2 100644
--- a/indra/llimage/llimage.h
+++ b/indra/llimage/llimage.h
@@ -189,7 +189,7 @@ protected:
public:
LLImageRaw();
LLImageRaw(U16 width, U16 height, S8 components);
- LLImageRaw(U8 *data, U16 width, U16 height, S8 components);
+ LLImageRaw(U8 *data, U16 width, U16 height, S8 components, bool no_copy = false);
// Construct using createFromFile (used by tools)
//LLImageRaw(const std::string& filename, bool j2c_lowest_mip_only = false);
diff --git a/indra/llimage/llimagej2c.cpp b/indra/llimage/llimagej2c.cpp
index 452aad25cb..452aad25cb 100644..100755
--- a/indra/llimage/llimagej2c.cpp
+++ b/indra/llimage/llimagej2c.cpp