BUILDFIX: fixed llviewerassetstats test and render2dutils changes
that were dropped in mergemaster
parent
702bd5107a
commit
042b7aec26
|
|
@ -1429,7 +1429,6 @@ namespace LLInitParam
|
|||
{
|
||||
bool serialized = false;
|
||||
const self_t& typed_param = static_cast<const self_t&>(param);
|
||||
if (!typed_param.isProvided()) return false;
|
||||
|
||||
LLPredicate::Value<ESerializePredicates> predicate;
|
||||
|
||||
|
|
@ -1686,7 +1685,6 @@ namespace LLInitParam
|
|||
{
|
||||
bool serialized = false;
|
||||
const self_t& typed_param = static_cast<const self_t&>(param);
|
||||
if (!typed_param.isProvided()) return false;
|
||||
LLPredicate::Value<ESerializePredicates> predicate;
|
||||
|
||||
predicate.set(REQUIRED, typed_param.mMinCount > 0);
|
||||
|
|
|
|||
|
|
@ -354,10 +354,10 @@ void gl_draw_image( S32 x, S32 y, LLTexture* image, const LLColor4& color, const
|
|||
gl_draw_scaled_rotated_image( x, y, image->getWidth(0), image->getHeight(0), 0.f, image, color, uv_rect );
|
||||
}
|
||||
|
||||
void gl_draw_scaled_target(S32 x, S32 y, S32 width, S32 height, LLRenderTarget* target, const LLColor4& color, const LLRectf& uv_rect)
|
||||
{
|
||||
gl_draw_scaled_rotated_image(x, y, width, height, 0.f, NULL, color, uv_rect, target);
|
||||
}
|
||||
void gl_draw_scaled_target(S32 x, S32 y, S32 width, S32 height, LLRenderTarget* target, const LLColor4& color, const LLRectf& uv_rect)
|
||||
{
|
||||
gl_draw_scaled_rotated_image(x, y, width, height, 0.f, NULL, color, uv_rect, target);
|
||||
}
|
||||
|
||||
void gl_draw_scaled_image(S32 x, S32 y, S32 width, S32 height, LLTexture* image, const LLColor4& color, const LLRectf& uv_rect)
|
||||
{
|
||||
|
|
@ -645,111 +645,111 @@ void gl_draw_rotated_image(S32 x, S32 y, F32 degrees, LLTexture* image, const LL
|
|||
gl_draw_scaled_rotated_image( x, y, image->getWidth(0), image->getHeight(0), degrees, image, color, uv_rect );
|
||||
}
|
||||
|
||||
void gl_draw_scaled_rotated_image(S32 x, S32 y, S32 width, S32 height, F32 degrees, LLTexture* image, const LLColor4& color, const LLRectf& uv_rect, LLRenderTarget* target)
|
||||
{
|
||||
if (!image && !target)
|
||||
{
|
||||
llwarns << "image == NULL; aborting function" << llendl;
|
||||
return;
|
||||
}
|
||||
|
||||
LLGLSUIDefault gls_ui;
|
||||
|
||||
if(image != NULL)
|
||||
{
|
||||
gGL.getTexUnit(0)->bind(image, true);
|
||||
}
|
||||
else
|
||||
{
|
||||
gGL.getTexUnit(0)->bind(target);
|
||||
}
|
||||
|
||||
gGL.color4fv(color.mV);
|
||||
|
||||
if (degrees == 0.f)
|
||||
{
|
||||
const S32 NUM_VERTICES = 4; // 9 quads
|
||||
LLVector2 uv[NUM_VERTICES];
|
||||
LLVector3 pos[NUM_VERTICES];
|
||||
|
||||
gGL.begin(LLRender::QUADS);
|
||||
{
|
||||
LLVector3 ui_scale = gGL.getUIScale();
|
||||
LLVector3 ui_translation = gGL.getUITranslation();
|
||||
ui_translation.mV[VX] += x;
|
||||
ui_translation.mV[VY] += y;
|
||||
ui_translation.scaleVec(ui_scale);
|
||||
S32 index = 0;
|
||||
S32 scaled_width = llround(width * ui_scale.mV[VX]);
|
||||
S32 scaled_height = llround(height * ui_scale.mV[VY]);
|
||||
|
||||
uv[index] = LLVector2(uv_rect.mRight, uv_rect.mTop);
|
||||
pos[index] = LLVector3(ui_translation.mV[VX] + scaled_width, ui_translation.mV[VY] + scaled_height, 0.f);
|
||||
index++;
|
||||
|
||||
uv[index] = LLVector2(uv_rect.mLeft, uv_rect.mTop);
|
||||
pos[index] = LLVector3(ui_translation.mV[VX], ui_translation.mV[VY] + scaled_height, 0.f);
|
||||
index++;
|
||||
|
||||
uv[index] = LLVector2(uv_rect.mLeft, uv_rect.mBottom);
|
||||
pos[index] = LLVector3(ui_translation.mV[VX], ui_translation.mV[VY], 0.f);
|
||||
index++;
|
||||
|
||||
uv[index] = LLVector2(uv_rect.mRight, uv_rect.mBottom);
|
||||
pos[index] = LLVector3(ui_translation.mV[VX] + scaled_width, ui_translation.mV[VY], 0.f);
|
||||
index++;
|
||||
|
||||
gGL.vertexBatchPreTransformed(pos, uv, NUM_VERTICES);
|
||||
}
|
||||
gGL.end();
|
||||
}
|
||||
else
|
||||
{
|
||||
gGL.pushUIMatrix();
|
||||
gGL.translateUI((F32)x, (F32)y, 0.f);
|
||||
|
||||
F32 offset_x = F32(width/2);
|
||||
F32 offset_y = F32(height/2);
|
||||
|
||||
gGL.translateUI(offset_x, offset_y, 0.f);
|
||||
|
||||
LLMatrix3 quat(0.f, 0.f, degrees*DEG_TO_RAD);
|
||||
|
||||
if(image != NULL)
|
||||
{
|
||||
gGL.getTexUnit(0)->bind(image, true);
|
||||
}
|
||||
else
|
||||
{
|
||||
gGL.getTexUnit(0)->bind(target);
|
||||
}
|
||||
|
||||
gGL.color4fv(color.mV);
|
||||
|
||||
gGL.begin(LLRender::QUADS);
|
||||
{
|
||||
LLVector3 v;
|
||||
|
||||
v = LLVector3(offset_x, offset_y, 0.f) * quat;
|
||||
gGL.texCoord2f(uv_rect.mRight, uv_rect.mTop);
|
||||
gGL.vertex2f(v.mV[0], v.mV[1] );
|
||||
|
||||
v = LLVector3(-offset_x, offset_y, 0.f) * quat;
|
||||
gGL.texCoord2f(uv_rect.mLeft, uv_rect.mTop);
|
||||
gGL.vertex2f(v.mV[0], v.mV[1] );
|
||||
|
||||
v = LLVector3(-offset_x, -offset_y, 0.f) * quat;
|
||||
gGL.texCoord2f(uv_rect.mLeft, uv_rect.mBottom);
|
||||
gGL.vertex2f(v.mV[0], v.mV[1] );
|
||||
|
||||
v = LLVector3(offset_x, -offset_y, 0.f) * quat;
|
||||
gGL.texCoord2f(uv_rect.mRight, uv_rect.mBottom);
|
||||
gGL.vertex2f(v.mV[0], v.mV[1] );
|
||||
}
|
||||
gGL.end();
|
||||
gGL.popUIMatrix();
|
||||
}
|
||||
}
|
||||
void gl_draw_scaled_rotated_image(S32 x, S32 y, S32 width, S32 height, F32 degrees, LLTexture* image, const LLColor4& color, const LLRectf& uv_rect, LLRenderTarget* target)
|
||||
{
|
||||
if (!image && !target)
|
||||
{
|
||||
llwarns << "image == NULL; aborting function" << llendl;
|
||||
return;
|
||||
}
|
||||
|
||||
LLGLSUIDefault gls_ui;
|
||||
|
||||
if(image != NULL)
|
||||
{
|
||||
gGL.getTexUnit(0)->bind(image, true);
|
||||
}
|
||||
else
|
||||
{
|
||||
gGL.getTexUnit(0)->bind(target);
|
||||
}
|
||||
|
||||
gGL.color4fv(color.mV);
|
||||
|
||||
if (degrees == 0.f)
|
||||
{
|
||||
const S32 NUM_VERTICES = 4; // 9 quads
|
||||
LLVector2 uv[NUM_VERTICES];
|
||||
LLVector3 pos[NUM_VERTICES];
|
||||
|
||||
gGL.begin(LLRender::QUADS);
|
||||
{
|
||||
LLVector3 ui_scale = gGL.getUIScale();
|
||||
LLVector3 ui_translation = gGL.getUITranslation();
|
||||
ui_translation.mV[VX] += x;
|
||||
ui_translation.mV[VY] += y;
|
||||
ui_translation.scaleVec(ui_scale);
|
||||
S32 index = 0;
|
||||
S32 scaled_width = llround(width * ui_scale.mV[VX]);
|
||||
S32 scaled_height = llround(height * ui_scale.mV[VY]);
|
||||
|
||||
uv[index] = LLVector2(uv_rect.mRight, uv_rect.mTop);
|
||||
pos[index] = LLVector3(ui_translation.mV[VX] + scaled_width, ui_translation.mV[VY] + scaled_height, 0.f);
|
||||
index++;
|
||||
|
||||
uv[index] = LLVector2(uv_rect.mLeft, uv_rect.mTop);
|
||||
pos[index] = LLVector3(ui_translation.mV[VX], ui_translation.mV[VY] + scaled_height, 0.f);
|
||||
index++;
|
||||
|
||||
uv[index] = LLVector2(uv_rect.mLeft, uv_rect.mBottom);
|
||||
pos[index] = LLVector3(ui_translation.mV[VX], ui_translation.mV[VY], 0.f);
|
||||
index++;
|
||||
|
||||
uv[index] = LLVector2(uv_rect.mRight, uv_rect.mBottom);
|
||||
pos[index] = LLVector3(ui_translation.mV[VX] + scaled_width, ui_translation.mV[VY], 0.f);
|
||||
index++;
|
||||
|
||||
gGL.vertexBatchPreTransformed(pos, uv, NUM_VERTICES);
|
||||
}
|
||||
gGL.end();
|
||||
}
|
||||
else
|
||||
{
|
||||
gGL.pushUIMatrix();
|
||||
gGL.translateUI((F32)x, (F32)y, 0.f);
|
||||
|
||||
F32 offset_x = F32(width/2);
|
||||
F32 offset_y = F32(height/2);
|
||||
|
||||
gGL.translateUI(offset_x, offset_y, 0.f);
|
||||
|
||||
LLMatrix3 quat(0.f, 0.f, degrees*DEG_TO_RAD);
|
||||
|
||||
if(image != NULL)
|
||||
{
|
||||
gGL.getTexUnit(0)->bind(image, true);
|
||||
}
|
||||
else
|
||||
{
|
||||
gGL.getTexUnit(0)->bind(target);
|
||||
}
|
||||
|
||||
gGL.color4fv(color.mV);
|
||||
|
||||
gGL.begin(LLRender::QUADS);
|
||||
{
|
||||
LLVector3 v;
|
||||
|
||||
v = LLVector3(offset_x, offset_y, 0.f) * quat;
|
||||
gGL.texCoord2f(uv_rect.mRight, uv_rect.mTop);
|
||||
gGL.vertex2f(v.mV[0], v.mV[1] );
|
||||
|
||||
v = LLVector3(-offset_x, offset_y, 0.f) * quat;
|
||||
gGL.texCoord2f(uv_rect.mLeft, uv_rect.mTop);
|
||||
gGL.vertex2f(v.mV[0], v.mV[1] );
|
||||
|
||||
v = LLVector3(-offset_x, -offset_y, 0.f) * quat;
|
||||
gGL.texCoord2f(uv_rect.mLeft, uv_rect.mBottom);
|
||||
gGL.vertex2f(v.mV[0], v.mV[1] );
|
||||
|
||||
v = LLVector3(offset_x, -offset_y, 0.f) * quat;
|
||||
gGL.texCoord2f(uv_rect.mRight, uv_rect.mBottom);
|
||||
gGL.vertex2f(v.mV[0], v.mV[1] );
|
||||
}
|
||||
gGL.end();
|
||||
gGL.popUIMatrix();
|
||||
}
|
||||
}
|
||||
|
||||
void gl_stippled_line_3d( const LLVector3& start, const LLVector3& end, const LLColor4& color, F32 phase )
|
||||
{
|
||||
|
|
|
|||
|
|
@ -343,8 +343,8 @@ namespace tut
|
|||
LLViewerAssetStatsFF::record_dequeue(LLViewerAssetType::AT_BODYPART, false, false);
|
||||
|
||||
gViewerAssetStats->updateStats();
|
||||
LLSD sd = gViewerAssetStatsMain->asLLSD(false);
|
||||
ensure("Correct single-key LLSD map root", is_triple_key_map(sd, "regions", "duration", "avatar"));
|
||||
LLSD sd = gViewerAssetStats->asLLSD(false);
|
||||
ensure("Correct single-key LLSD map root", is_double_key_map(sd, "regions", "duration"));
|
||||
ensure("Correct single-slot LLSD array regions", is_single_slot_array(sd["regions"], region1_handle));
|
||||
sd = sd["regions"][0];
|
||||
|
||||
|
|
@ -367,47 +367,9 @@ namespace tut
|
|||
ensure("sd[get_gesture_udp][dequeued] is reset", (0 == sd["get_gesture_udp"]["dequeued"].asInteger()));
|
||||
}
|
||||
|
||||
// Create two global instances and verify no interactions
|
||||
template<> template<>
|
||||
void tst_viewerassetstats_index_object_t::test<5>()
|
||||
{
|
||||
gViewerAssetStats = new LLViewerAssetStats();
|
||||
LLViewerAssetStatsFF::set_region(region1_handle);
|
||||
|
||||
LLViewerAssetStatsFF::record_enqueue(LLViewerAssetType::AT_TEXTURE, false, false);
|
||||
LLViewerAssetStatsFF::record_dequeue(LLViewerAssetType::AT_TEXTURE, false, false);
|
||||
|
||||
LLViewerAssetStatsFF::record_enqueue(LLViewerAssetType::AT_BODYPART, false, false);
|
||||
LLViewerAssetStatsFF::record_dequeue(LLViewerAssetType::AT_BODYPART, false, false);
|
||||
|
||||
gViewerAssetStats->updateStats();
|
||||
LLSD sd = gViewerAssetStatsMain->asLLSD(false);
|
||||
ensure("Correct single-key LLSD map root", is_triple_key_map(sd, "regions", "duration", "avatar"));
|
||||
ensure("Correct single-slot LLSD array regions", is_single_slot_array(sd["regions"], region1_handle));
|
||||
sd = sd["regions"][0];
|
||||
|
||||
// Check a few points on the tree for content
|
||||
ensure("sd[get_texture_non_temp_udp][enqueued] is 1", (1 == sd["get_texture_non_temp_udp"]["enqueued"].asInteger()));
|
||||
ensure("sd[get_texture_temp_udp][enqueued] is 0", (0 == sd["get_texture_temp_udp"]["enqueued"].asInteger()));
|
||||
ensure("sd[get_texture_non_temp_http][enqueued] is 0", (0 == sd["get_texture_non_temp_http"]["enqueued"].asInteger()));
|
||||
ensure("sd[get_texture_temp_http][enqueued] is 0", (0 == sd["get_texture_temp_http"]["enqueued"].asInteger()));
|
||||
ensure("sd[get_gesture_udp][dequeued] is 0", (0 == sd["get_gesture_udp"]["dequeued"].asInteger()));
|
||||
|
||||
// Reset and check zeros...
|
||||
// Reset leaves current region in place
|
||||
gViewerAssetStats->reset();
|
||||
sd = gViewerAssetStats->asLLSD(false)["regions"][0];
|
||||
|
||||
delete gViewerAssetStats;
|
||||
gViewerAssetStats = NULL;
|
||||
|
||||
ensure("sd[get_texture_non_temp_udp][enqueued] is reset", (0 == sd["get_texture_non_temp_udp"]["enqueued"].asInteger()));
|
||||
ensure("sd[get_gesture_udp][dequeued] is reset", (0 == sd["get_gesture_udp"]["dequeued"].asInteger()));
|
||||
}
|
||||
|
||||
// Check multiple region collection
|
||||
template<> template<>
|
||||
void tst_viewerassetstats_index_object_t::test<6>()
|
||||
void tst_viewerassetstats_index_object_t::test<5>()
|
||||
{
|
||||
gViewerAssetStats = new LLViewerAssetStats();
|
||||
|
||||
|
|
@ -452,8 +414,8 @@ namespace tut
|
|||
|
||||
// Reset and check zeros...
|
||||
// Reset leaves current region in place
|
||||
gViewerAssetStatsMain->reset();
|
||||
sd = gViewerAssetStatsMain->asLLSD(false);
|
||||
gViewerAssetStats->reset();
|
||||
sd = gViewerAssetStats->asLLSD(false);
|
||||
ensure("Correct single-key LLSD map root", is_double_key_map(sd, "regions", "duration"));
|
||||
ensure("Correct single-slot LLSD array regions (p2)", is_single_slot_array(sd["regions"], region2_handle));
|
||||
sd2 = sd["regions"][0];
|
||||
|
|
@ -467,7 +429,7 @@ namespace tut
|
|||
|
||||
// Check multiple region collection jumping back-and-forth between regions
|
||||
template<> template<>
|
||||
void tst_viewerassetstats_index_object_t::test<7>()
|
||||
void tst_viewerassetstats_index_object_t::test<6>()
|
||||
{
|
||||
gViewerAssetStats = new LLViewerAssetStats();
|
||||
|
||||
|
|
@ -525,8 +487,8 @@ namespace tut
|
|||
|
||||
// Reset and check zeros...
|
||||
// Reset leaves current region in place
|
||||
gViewerAssetStatsMain->reset();
|
||||
sd = gViewerAssetStatsMain->asLLSD(false);
|
||||
gViewerAssetStats->reset();
|
||||
sd = gViewerAssetStats->asLLSD(false);
|
||||
ensure("Correct single-key LLSD map root", is_double_key_map(sd, "duration", "regions"));
|
||||
ensure("Correct single-slot LLSD array regions (p2)", is_single_slot_array(sd["regions"], region2_handle));
|
||||
sd2 = get_region(sd, region2_handle);
|
||||
|
|
@ -541,7 +503,7 @@ namespace tut
|
|||
|
||||
// Non-texture assets ignore transport and persistence flags
|
||||
template<> template<>
|
||||
void tst_viewerassetstats_index_object_t::test<8>()
|
||||
void tst_viewerassetstats_index_object_t::test<7>()
|
||||
{
|
||||
gViewerAssetStats = new LLViewerAssetStats();
|
||||
LLViewerAssetStatsFF::set_region(region1_handle);
|
||||
|
|
@ -570,7 +532,7 @@ namespace tut
|
|||
LLViewerAssetStatsFF::record_enqueue(LLViewerAssetType::AT_LSL_BYTECODE, true, true);
|
||||
|
||||
gViewerAssetStats->updateStats();
|
||||
sd = gViewerAssetStatsMain->asLLSD(false);
|
||||
LLSD sd = gViewerAssetStats->asLLSD(false);
|
||||
ensure("Correct single-key LLSD map root", is_double_key_map(sd, "regions", "duration"));
|
||||
ensure("Correct single-slot LLSD array regions", is_single_slot_array(sd["regions"], region1_handle));
|
||||
sd = get_region(sd, region1_handle);
|
||||
|
|
|
|||
Loading…
Reference in New Issue