summaryrefslogtreecommitdiff
path: root/indra/newview
diff options
context:
space:
mode:
Diffstat (limited to 'indra/newview')
-rw-r--r--indra/newview/app_settings/settings.xml250
-rw-r--r--indra/newview/app_settings/shaders/class1/deferred/MPHDRDisplayGammaF.glsl55
-rw-r--r--indra/newview/app_settings/shaders/class1/deferred/avatarAlphaMaskShadowF.glsl4
-rw-r--r--indra/newview/app_settings/shaders/class1/deferred/avatarAlphaShadowF.glsl4
-rw-r--r--indra/newview/app_settings/shaders/class1/deferred/avatarShadowF.glsl4
-rw-r--r--indra/newview/app_settings/shaders/class1/deferred/pbrShadowAlphaBlendF.glsl4
-rw-r--r--indra/newview/app_settings/shaders/class1/deferred/pbrShadowAlphaMaskF.glsl4
-rw-r--r--indra/newview/app_settings/shaders/class1/deferred/postDeferredGammaCorrect.glsl2
-rw-r--r--indra/newview/app_settings/shaders/class1/deferred/shadowAlphaMaskF.glsl4
-rw-r--r--indra/newview/app_settings/shaders/class1/deferred/shadowF.glsl4
-rw-r--r--indra/newview/app_settings/shaders/class1/deferred/shadowUtil.glsl9
-rw-r--r--indra/newview/app_settings/shaders/class1/deferred/treeShadowF.glsl4
-rw-r--r--indra/newview/app_settings/shaders/class1/effects/bloomBlurF.glsl37
-rw-r--r--indra/newview/app_settings/shaders/class1/effects/bloomBlurV.glsl8
-rw-r--r--indra/newview/app_settings/shaders/class1/effects/bloomCombineF.glsl21
-rw-r--r--indra/newview/app_settings/shaders/class1/effects/bloomCombineV.glsl8
-rw-r--r--indra/newview/app_settings/shaders/class1/effects/bloomExtractF.glsl81
-rw-r--r--indra/newview/app_settings/shaders/class1/effects/bloomExtractV.glsl8
-rw-r--r--indra/newview/app_settings/shaders/class1/interface/uiF.glsl4
-rw-r--r--indra/newview/featuretable_mac.txt23
-rw-r--r--indra/newview/llappviewer.cpp56
-rw-r--r--indra/newview/lldrawpoolbump.cpp3
-rw-r--r--indra/newview/lldrawpoolwater.cpp3
-rw-r--r--indra/newview/llface.cpp2
-rw-r--r--indra/newview/llfasttimerview.cpp9
-rw-r--r--indra/newview/llfloaterperformance.h1
-rw-r--r--indra/newview/llfloaterpreference.cpp169
-rw-r--r--indra/newview/llfloaterpreference.h20
-rw-r--r--indra/newview/llfloaterpreferencesgraphicsadvanced.cpp12
-rw-r--r--indra/newview/llglsandbox.cpp21
-rw-r--r--indra/newview/llgltfmaterialpreviewmgr.cpp34
-rw-r--r--indra/newview/llmodelpreview.cpp8
-rw-r--r--indra/newview/llreflectionmap.h6
-rw-r--r--indra/newview/llreflectionmapmanager.cpp388
-rw-r--r--indra/newview/llreflectionmapmanager.h11
-rw-r--r--indra/newview/llselectmgr.cpp2
-rw-r--r--indra/newview/llsnapshotlivepreview.cpp4
-rw-r--r--indra/newview/llspatialpartition.cpp17
-rw-r--r--indra/newview/llstatusbar.cpp14
-rw-r--r--indra/newview/llterrainpaintmap.cpp7
-rw-r--r--indra/newview/llviewerdisplay.cpp68
-rwxr-xr-xindra/newview/llviewerparceloverlay.cpp2
-rw-r--r--indra/newview/llviewershadermgr.cpp78
-rw-r--r--indra/newview/llviewershadermgr.h5
-rw-r--r--indra/newview/llviewertexturelist.cpp4
-rw-r--r--indra/newview/llviewerwindow.cpp17
-rw-r--r--indra/newview/llvoavatar.cpp2
-rw-r--r--indra/newview/mpfloatertuning.cpp42
-rw-r--r--indra/newview/mpfloatertuning.h16
-rw-r--r--indra/newview/pipeline.cpp877
-rw-r--r--indra/newview/pipeline.h27
-rw-r--r--indra/newview/skins/contrast/textures/Blank.pngbin110 -> 0 bytes
-rw-r--r--indra/newview/skins/contrast/textures/Rounded_Rect.pngbin338 -> 0 bytes
-rw-r--r--indra/newview/skins/contrast/textures/alpha_gradient.tgabin300 -> 0 bytes
-rw-r--r--indra/newview/skins/contrast/textures/alpha_gradient_2d.j2cbin4325 -> 0 bytes
-rw-r--r--indra/newview/skins/contrast/textures/arrow_down.tgabin1068 -> 0 bytes
-rw-r--r--indra/newview/skins/contrast/textures/arrow_up.tgabin1068 -> 0 bytes
-rw-r--r--indra/newview/skins/contrast/textures/avatar_thumb_bkgrnd.pngbin17692 -> 0 bytes
-rw-r--r--indra/newview/skins/contrast/textures/badge_note.j2cbin2040 -> 0 bytes
-rw-r--r--indra/newview/skins/contrast/textures/badge_ok.j2cbin2043 -> 0 bytes
-rw-r--r--indra/newview/skins/contrast/textures/badge_warn.j2cbin2043 -> 0 bytes
-rw-r--r--indra/newview/skins/contrast/textures/bottomtray/Cam_Avatar_Off.pngbin527 -> 0 bytes
-rw-r--r--indra/newview/skins/contrast/textures/bottomtray/Cam_FreeCam_Off.pngbin365 -> 0 bytes
-rw-r--r--indra/newview/skins/contrast/textures/bottomtray/Cam_Orbit_Off.pngbin532 -> 0 bytes
-rw-r--r--indra/newview/skins/contrast/textures/bottomtray/Cam_Pan_Off.pngbin328 -> 0 bytes
-rw-r--r--indra/newview/skins/contrast/textures/bottomtray/Cam_Preset_Back_Off.pngbin49285 -> 0 bytes
-rw-r--r--indra/newview/skins/contrast/textures/bottomtray/Cam_Preset_Eye_Off.pngbin914 -> 0 bytes
-rw-r--r--indra/newview/skins/contrast/textures/bottomtray/Cam_Preset_Front_Off.pngbin50394 -> 0 bytes
-rw-r--r--indra/newview/skins/contrast/textures/bottomtray/Cam_Preset_Front_On.pngbin50127 -> 0 bytes
-rw-r--r--indra/newview/skins/contrast/textures/bottomtray/Move_Fly_Off.pngbin609 -> 0 bytes
-rw-r--r--indra/newview/skins/contrast/textures/bottomtray/Move_Run_Off.pngbin496 -> 0 bytes
-rw-r--r--indra/newview/skins/contrast/textures/bottomtray/Move_Walk_Off.pngbin515 -> 0 bytes
-rw-r--r--indra/newview/skins/contrast/textures/bottomtray/Notices_Unread.pngbin436 -> 0 bytes
-rw-r--r--indra/newview/skins/contrast/textures/bottomtray/Snapshot_Off.pngbin549 -> 0 bytes
-rw-r--r--indra/newview/skins/contrast/textures/build/Object_Cone.pngbin481 -> 0 bytes
-rw-r--r--indra/newview/skins/contrast/textures/build/Object_Cube.pngbin370 -> 0 bytes
-rw-r--r--indra/newview/skins/contrast/textures/build/Object_Cylinder.pngbin373 -> 0 bytes
-rw-r--r--indra/newview/skins/contrast/textures/build/Object_Grass.pngbin456 -> 0 bytes
-rw-r--r--indra/newview/skins/contrast/textures/build/Object_Hemi_Cone.pngbin441 -> 0 bytes
-rw-r--r--indra/newview/skins/contrast/textures/build/Object_Hemi_Cylinder.pngbin378 -> 0 bytes
-rw-r--r--indra/newview/skins/contrast/textures/build/Object_Hemi_Sphere.pngbin545 -> 0 bytes
-rw-r--r--indra/newview/skins/contrast/textures/build/Object_Prism.pngbin395 -> 0 bytes
-rw-r--r--indra/newview/skins/contrast/textures/build/Object_Pyramid.pngbin452 -> 0 bytes
-rw-r--r--indra/newview/skins/contrast/textures/build/Object_Pyramid_Selected.pngbin4912 -> 0 bytes
-rw-r--r--indra/newview/skins/contrast/textures/build/Object_Ring.pngbin615 -> 0 bytes
-rw-r--r--indra/newview/skins/contrast/textures/build/Object_Sphere.pngbin737 -> 0 bytes
-rw-r--r--indra/newview/skins/contrast/textures/build/Object_Sphere_Selected.pngbin5329 -> 0 bytes
-rw-r--r--indra/newview/skins/contrast/textures/build/Object_Tetrahedron.pngbin411 -> 0 bytes
-rw-r--r--indra/newview/skins/contrast/textures/build/Object_Tetrahedron_Selected.pngbin4888 -> 0 bytes
-rw-r--r--indra/newview/skins/contrast/textures/build/Object_Torus.pngbin803 -> 0 bytes
-rw-r--r--indra/newview/skins/contrast/textures/build/Object_Tree.pngbin737 -> 0 bytes
-rw-r--r--indra/newview/skins/contrast/textures/build/Object_Tree_Selected.pngbin5158 -> 0 bytes
-rw-r--r--indra/newview/skins/contrast/textures/build/Object_Tube.pngbin460 -> 0 bytes
-rw-r--r--indra/newview/skins/contrast/textures/build/Tool_Create.pngbin705 -> 0 bytes
-rw-r--r--indra/newview/skins/contrast/textures/build/Tool_Dozer.pngbin492 -> 0 bytes
-rw-r--r--indra/newview/skins/contrast/textures/build/Tool_Face.pngbin304 -> 0 bytes
-rw-r--r--indra/newview/skins/contrast/textures/build/Tool_Grab.pngbin417 -> 0 bytes
-rw-r--r--indra/newview/skins/contrast/textures/build/Tool_Zoom.pngbin533 -> 0 bytes
-rw-r--r--indra/newview/skins/contrast/textures/button_anim_pause.tgabin4140 -> 0 bytes
-rw-r--r--indra/newview/skins/contrast/textures/button_anim_pause_selected.tgabin4140 -> 0 bytes
-rw-r--r--indra/newview/skins/contrast/textures/button_anim_play.tgabin4140 -> 0 bytes
-rw-r--r--indra/newview/skins/contrast/textures/button_anim_play_selected.tgabin4140 -> 0 bytes
-rw-r--r--indra/newview/skins/contrast/textures/checker.pngbin130 -> 0 bytes
-rw-r--r--indra/newview/skins/contrast/textures/cloud-particle.pngbin42378 -> 0 bytes
-rw-r--r--indra/newview/skins/contrast/textures/color_swatch_alpha.tgabin16428 -> 0 bytes
-rw-r--r--indra/newview/skins/contrast/textures/crosshairs.tgabin300 -> 0 bytes
-rw-r--r--indra/newview/skins/contrast/textures/default_irradiance.pngbin48853 -> 0 bytes
-rw-r--r--indra/newview/skins/contrast/textures/default_land_picture.pngbin0 -> 67335 bytes
-rw-r--r--indra/newview/skins/contrast/textures/default_profile_picture.pngbin0 -> 63511 bytes
-rw-r--r--indra/newview/skins/contrast/textures/direction_arrow.tgabin1068 -> 0 bytes
-rw-r--r--indra/newview/skins/contrast/textures/down_arrow.pngbin423 -> 0 bytes
-rw-r--r--indra/newview/skins/contrast/textures/eye_button_active.tgabin3116 -> 0 bytes
-rw-r--r--indra/newview/skins/contrast/textures/eye_button_inactive.tgabin3116 -> 0 bytes
-rw-r--r--indra/newview/skins/contrast/textures/flatnormal.tgabin92 -> 0 bytes
-rw-r--r--indra/newview/skins/contrast/textures/folder_arrow.tgabin4140 -> 0 bytes
-rw-r--r--indra/newview/skins/contrast/textures/foot_shadow.j2cbin1647 -> 0 bytes
-rw-r--r--indra/newview/skins/contrast/textures/green_checkmark.pngbin414 -> 0 bytes
-rw-r--r--indra/newview/skins/contrast/textures/icn_media_movie.tgabin4140 -> 0 bytes
-rw-r--r--indra/newview/skins/contrast/textures/icn_media_web.tgabin4140 -> 0 bytes
-rw-r--r--indra/newview/skins/contrast/textures/icon_auction.tgabin1068 -> 0 bytes
-rw-r--r--indra/newview/skins/contrast/textures/icon_avatar_offline.tgabin1068 -> 0 bytes
-rw-r--r--indra/newview/skins/contrast/textures/icon_avatar_online.tgabin1068 -> 0 bytes
-rw-r--r--indra/newview/skins/contrast/textures/icon_diurnal.tgabin6162 -> 0 bytes
-rw-r--r--indra/newview/skins/contrast/textures/icon_for_sale_adult.tgabin743 -> 0 bytes
-rw-r--r--indra/newview/skins/contrast/textures/icon_group.tgabin1068 -> 0 bytes
-rw-r--r--indra/newview/skins/contrast/textures/icon_legacy_event.tgabin1068 -> 0 bytes
-rw-r--r--indra/newview/skins/contrast/textures/icon_legacy_event_adult.tgabin648 -> 0 bytes
-rw-r--r--indra/newview/skins/contrast/textures/icon_legacy_event_mature.tgabin1068 -> 0 bytes
-rw-r--r--indra/newview/skins/contrast/textures/icon_place.tgabin1068 -> 0 bytes
-rw-r--r--indra/newview/skins/contrast/textures/icon_top_pick.tgabin1068 -> 0 bytes
-rw-r--r--indra/newview/skins/contrast/textures/icons/BackArrow_Off.pngbin434 -> 0 bytes
-rw-r--r--indra/newview/skins/contrast/textures/icons/ClipboardMenu_Disabled.pngbin406 -> 0 bytes
-rw-r--r--indra/newview/skins/contrast/textures/icons/ClipboardMenu_Off.pngbin392 -> 0 bytes
-rw-r--r--indra/newview/skins/contrast/textures/icons/ClipboardMenu_Press.pngbin403 -> 0 bytes
-rw-r--r--indra/newview/skins/contrast/textures/icons/ClipboardSmallMenu_Disabled.pngbin395 -> 0 bytes
-rw-r--r--indra/newview/skins/contrast/textures/icons/ClipboardSmallMenu_Off.pngbin386 -> 0 bytes
-rw-r--r--indra/newview/skins/contrast/textures/icons/ClipboardSmallMenu_Press.pngbin395 -> 0 bytes
-rw-r--r--indra/newview/skins/contrast/textures/icons/Conv_log_inbox.pngbin544 -> 0 bytes
-rw-r--r--indra/newview/skins/contrast/textures/icons/Conv_toolbar_add_person.pngbin522 -> 0 bytes
-rw-r--r--indra/newview/skins/contrast/textures/icons/Conv_toolbar_arrow_ne.pngbin428 -> 0 bytes
-rw-r--r--indra/newview/skins/contrast/textures/icons/Conv_toolbar_arrow_sw.pngbin428 -> 0 bytes
-rw-r--r--indra/newview/skins/contrast/textures/icons/Conv_toolbar_call_log.pngbin592 -> 0 bytes
-rw-r--r--indra/newview/skins/contrast/textures/icons/Conv_toolbar_close.pngbin479 -> 0 bytes
-rw-r--r--indra/newview/skins/contrast/textures/icons/Conv_toolbar_collapse.pngbin538 -> 0 bytes
-rw-r--r--indra/newview/skins/contrast/textures/icons/Conv_toolbar_expand.pngbin533 -> 0 bytes
-rw-r--r--indra/newview/skins/contrast/textures/icons/Conv_toolbar_hang_up.pngbin609 -> 0 bytes
-rw-r--r--indra/newview/skins/contrast/textures/icons/Conv_toolbar_open_call.pngbin546 -> 0 bytes
-rw-r--r--indra/newview/skins/contrast/textures/icons/Conv_toolbar_plus.pngbin368 -> 0 bytes
-rw-r--r--indra/newview/skins/contrast/textures/icons/Conv_toolbar_sort.pngbin424 -> 0 bytes
-rw-r--r--indra/newview/skins/contrast/textures/icons/Copy.pngbin588 -> 0 bytes
-rw-r--r--indra/newview/skins/contrast/textures/icons/CopyBright.pngbin615 -> 0 bytes
-rw-r--r--indra/newview/skins/contrast/textures/icons/Default_Outfit_Photo.pngbin13832 -> 0 bytes
-rw-r--r--indra/newview/skins/contrast/textures/icons/DownArrow_Off.pngbin431 -> 0 bytes
-rw-r--r--indra/newview/skins/contrast/textures/icons/Edit_Wrench.pngbin502 -> 0 bytes
-rw-r--r--indra/newview/skins/contrast/textures/icons/ExternalBrowser_Off.pngbin476 -> 0 bytes
-rw-r--r--indra/newview/skins/contrast/textures/icons/Facebook.pngbin576 -> 0 bytes
-rw-r--r--indra/newview/skins/contrast/textures/icons/Female.pngbin489 -> 0 bytes
-rw-r--r--indra/newview/skins/contrast/textures/icons/ForSale_Badge.pngbin5896 -> 0 bytes
-rw-r--r--indra/newview/skins/contrast/textures/icons/ForwardArrow_Off.pngbin424 -> 0 bytes
-rw-r--r--indra/newview/skins/contrast/textures/icons/ForwardArrow_Press.pngbin424 -> 0 bytes
-rw-r--r--indra/newview/skins/contrast/textures/icons/Generic_Group.pngbin2683 -> 0 bytes
-rw-r--r--indra/newview/skins/contrast/textures/icons/Generic_Group_Large.pngbin2772 -> 0 bytes
-rw-r--r--indra/newview/skins/contrast/textures/icons/Generic_Object_Small.pngbin502 -> 0 bytes
-rw-r--r--indra/newview/skins/contrast/textures/icons/Generic_Person.pngbin544 -> 0 bytes
-rw-r--r--indra/newview/skins/contrast/textures/icons/Generic_Person_Large.pngbin2510 -> 0 bytes
-rw-r--r--indra/newview/skins/contrast/textures/icons/Group_Notices.pngbin3502 -> 0 bytes
-rw-r--r--indra/newview/skins/contrast/textures/icons/Hierarchy_View_Disabled.pngbin401 -> 0 bytes
-rw-r--r--indra/newview/skins/contrast/textures/icons/Hierarchy_View_On.pngbin356 -> 0 bytes
-rw-r--r--indra/newview/skins/contrast/textures/icons/Icon_Attachment_Large.pngbin1593 -> 0 bytes
-rw-r--r--indra/newview/skins/contrast/textures/icons/Icon_Attachment_Small.pngbin1383 -> 0 bytes
-rw-r--r--indra/newview/skins/contrast/textures/icons/Icon_Color_Palette.pngbin3419 -> 0 bytes
-rw-r--r--indra/newview/skins/contrast/textures/icons/Icon_Font_Size.pngbin2994 -> 0 bytes
-rw-r--r--indra/newview/skins/contrast/textures/icons/Icon_For_Sale.pngbin729 -> 0 bytes
-rw-r--r--indra/newview/skins/contrast/textures/icons/Inv_Alpha.pngbin494 -> 0 bytes
-rw-r--r--indra/newview/skins/contrast/textures/icons/Inv_Animation.pngbin708 -> 0 bytes
-rw-r--r--indra/newview/skins/contrast/textures/icons/Inv_BodyShape.pngbin828 -> 0 bytes
-rw-r--r--indra/newview/skins/contrast/textures/icons/Inv_CallingCard.pngbin462 -> 0 bytes
-rw-r--r--indra/newview/skins/contrast/textures/icons/Inv_Clothing.pngbin463 -> 0 bytes
-rw-r--r--indra/newview/skins/contrast/textures/icons/Inv_Eye.pngbin654 -> 0 bytes
-rw-r--r--indra/newview/skins/contrast/textures/icons/Inv_FolderClosed.pngbin441 -> 0 bytes
-rw-r--r--indra/newview/skins/contrast/textures/icons/Inv_FolderOpen.pngbin614 -> 0 bytes
-rw-r--r--indra/newview/skins/contrast/textures/icons/Inv_Gesture.pngbin615 -> 0 bytes
-rw-r--r--indra/newview/skins/contrast/textures/icons/Inv_Gloves.pngbin582 -> 0 bytes
-rw-r--r--indra/newview/skins/contrast/textures/icons/Inv_Hair.pngbin551 -> 0 bytes
-rw-r--r--indra/newview/skins/contrast/textures/icons/Inv_Invalid.pngbin539 -> 0 bytes
-rw-r--r--indra/newview/skins/contrast/textures/icons/Inv_Jacket.pngbin893 -> 0 bytes
-rw-r--r--indra/newview/skins/contrast/textures/icons/Inv_Landmark.pngbin965 -> 0 bytes
-rw-r--r--indra/newview/skins/contrast/textures/icons/Inv_Link.pngbin367 -> 0 bytes
-rw-r--r--indra/newview/skins/contrast/textures/icons/Inv_LinkFolder.pngbin508 -> 0 bytes
-rw-r--r--indra/newview/skins/contrast/textures/icons/Inv_LinkItem.pngbin508 -> 0 bytes
-rw-r--r--indra/newview/skins/contrast/textures/icons/Inv_LookFolderClosed.pngbin538 -> 0 bytes
-rw-r--r--indra/newview/skins/contrast/textures/icons/Inv_LookFolderOpen.pngbin697 -> 0 bytes
-rw-r--r--indra/newview/skins/contrast/textures/icons/Inv_LostClosed.pngbin495 -> 0 bytes
-rw-r--r--indra/newview/skins/contrast/textures/icons/Inv_LostOpen.pngbin745 -> 0 bytes
-rw-r--r--indra/newview/skins/contrast/textures/icons/Inv_Material.pngbin1008 -> 0 bytes
-rw-r--r--indra/newview/skins/contrast/textures/icons/Inv_Mesh.pngbin977 -> 0 bytes
-rw-r--r--indra/newview/skins/contrast/textures/icons/Inv_Notecard.pngbin414 -> 0 bytes
-rw-r--r--indra/newview/skins/contrast/textures/icons/Inv_Object.pngbin575 -> 0 bytes
-rw-r--r--indra/newview/skins/contrast/textures/icons/Inv_Object_Multi.pngbin976 -> 0 bytes
-rw-r--r--indra/newview/skins/contrast/textures/icons/Inv_Pants.pngbin611 -> 0 bytes
-rw-r--r--indra/newview/skins/contrast/textures/icons/Inv_Physics.pngbin758 -> 0 bytes
-rw-r--r--indra/newview/skins/contrast/textures/icons/Inv_Script.pngbin551 -> 0 bytes
-rw-r--r--indra/newview/skins/contrast/textures/icons/Inv_Settings.pngbin1623 -> 0 bytes
-rw-r--r--indra/newview/skins/contrast/textures/icons/Inv_SettingsDay.pngbin1812 -> 0 bytes
-rw-r--r--indra/newview/skins/contrast/textures/icons/Inv_SettingsSky.pngbin1811 -> 0 bytes
-rw-r--r--indra/newview/skins/contrast/textures/icons/Inv_SettingsWater.pngbin1621 -> 0 bytes
-rw-r--r--indra/newview/skins/contrast/textures/icons/Inv_Shape.pngbin693 -> 0 bytes
-rw-r--r--indra/newview/skins/contrast/textures/icons/Inv_Shirt.pngbin612 -> 0 bytes
-rw-r--r--indra/newview/skins/contrast/textures/icons/Inv_Shoe.pngbin3875 -> 0 bytes
-rw-r--r--indra/newview/skins/contrast/textures/icons/Inv_Skin.pngbin627 -> 0 bytes
-rw-r--r--indra/newview/skins/contrast/textures/icons/Inv_Skirt.pngbin702 -> 0 bytes
-rw-r--r--indra/newview/skins/contrast/textures/icons/Inv_Snapshot.pngbin722 -> 0 bytes
-rw-r--r--indra/newview/skins/contrast/textures/icons/Inv_Socks.pngbin565 -> 0 bytes
-rw-r--r--indra/newview/skins/contrast/textures/icons/Inv_Sound.pngbin584 -> 0 bytes
-rw-r--r--indra/newview/skins/contrast/textures/icons/Inv_StockFolderClosed.pngbin1120 -> 0 bytes
-rw-r--r--indra/newview/skins/contrast/textures/icons/Inv_StockFolderOpen.pngbin1282 -> 0 bytes
-rw-r--r--indra/newview/skins/contrast/textures/icons/Inv_Tattoo.pngbin559 -> 0 bytes
-rw-r--r--indra/newview/skins/contrast/textures/icons/Inv_Texture.pngbin379 -> 0 bytes
-rw-r--r--indra/newview/skins/contrast/textures/icons/Inv_Toolbar_SearchVisibility.pngbin722 -> 0 bytes
-rw-r--r--indra/newview/skins/contrast/textures/icons/Inv_TrashClosed.pngbin480 -> 0 bytes
-rw-r--r--indra/newview/skins/contrast/textures/icons/Inv_TrashOpen.pngbin479 -> 0 bytes
-rw-r--r--indra/newview/skins/contrast/textures/icons/Inv_Underpants.pngbin577 -> 0 bytes
-rw-r--r--indra/newview/skins/contrast/textures/icons/Inv_Undershirt.pngbin423 -> 0 bytes
-rw-r--r--indra/newview/skins/contrast/textures/icons/Inv_Universal.pngbin1081 -> 0 bytes
-rw-r--r--indra/newview/skins/contrast/textures/icons/Inv_UnknownObject.pngbin1752 -> 0 bytes
-rw-r--r--indra/newview/skins/contrast/textures/icons/Inv_VersionFolderClosed.pngbin1120 -> 0 bytes
-rw-r--r--indra/newview/skins/contrast/textures/icons/Inv_VersionFolderOpen.pngbin1438 -> 0 bytes
-rw-r--r--indra/newview/skins/contrast/textures/icons/List_View_Disabled.pngbin374 -> 0 bytes
-rw-r--r--indra/newview/skins/contrast/textures/icons/List_View_On.pngbin379 -> 0 bytes
-rw-r--r--indra/newview/skins/contrast/textures/icons/Lock.pngbin577 -> 0 bytes
-rw-r--r--indra/newview/skins/contrast/textures/icons/Locked_Icon.pngbin471 -> 0 bytes
-rw-r--r--indra/newview/skins/contrast/textures/icons/Male.pngbin494 -> 0 bytes
-rw-r--r--indra/newview/skins/contrast/textures/icons/Microphone_On.pngbin520 -> 0 bytes
-rw-r--r--indra/newview/skins/contrast/textures/icons/MusicNote.pngbin764 -> 0 bytes
-rw-r--r--indra/newview/skins/contrast/textures/icons/OptionsMenu_Disabled.pngbin520 -> 0 bytes
-rw-r--r--indra/newview/skins/contrast/textures/icons/OptionsMenu_Off.pngbin523 -> 0 bytes
-rw-r--r--indra/newview/skins/contrast/textures/icons/OptionsMenu_Press.pngbin506 -> 0 bytes
-rw-r--r--indra/newview/skins/contrast/textures/icons/OutboxPush_Disabled.pngbin5520 -> 0 bytes
-rw-r--r--indra/newview/skins/contrast/textures/icons/OutboxPush_Off.pngbin5495 -> 0 bytes
-rw-r--r--indra/newview/skins/contrast/textures/icons/OutboxPush_On.pngbin5570 -> 0 bytes
-rw-r--r--indra/newview/skins/contrast/textures/icons/OutboxPush_On_Over.pngbin5556 -> 0 bytes
-rw-r--r--indra/newview/skins/contrast/textures/icons/OutboxPush_Over.pngbin5274 -> 0 bytes
-rw-r--r--indra/newview/skins/contrast/textures/icons/OutboxPush_Press.pngbin5563 -> 0 bytes
-rw-r--r--indra/newview/skins/contrast/textures/icons/OutboxPush_Progress_3.pngbin5486 -> 0 bytes
-rw-r--r--indra/newview/skins/contrast/textures/icons/OutboxPush_Progress_4.pngbin5557 -> 0 bytes
-rw-r--r--indra/newview/skins/contrast/textures/icons/OutboxPush_Progress_5.pngbin5593 -> 0 bytes
-rw-r--r--indra/newview/skins/contrast/textures/icons/OutboxPush_Selected.pngbin5596 -> 0 bytes
-rw-r--r--indra/newview/skins/contrast/textures/icons/OutboxPush_Selected_Disabled.pngbin5554 -> 0 bytes
-rw-r--r--indra/newview/skins/contrast/textures/icons/OutboxPush_Selected_Press.pngbin5628 -> 0 bytes
-rw-r--r--indra/newview/skins/contrast/textures/icons/Parcel_BuildNo_Dark.pngbin721 -> 0 bytes
-rw-r--r--indra/newview/skins/contrast/textures/icons/Parcel_BuildNo_Light.pngbin730 -> 0 bytes
-rw-r--r--indra/newview/skins/contrast/textures/icons/Parcel_Build_Dark.pngbin527 -> 0 bytes
-rw-r--r--indra/newview/skins/contrast/textures/icons/Parcel_DamageNo_Dark.pngbin636 -> 0 bytes
-rw-r--r--indra/newview/skins/contrast/textures/icons/Parcel_Damage_Dark.pngbin511 -> 0 bytes
-rw-r--r--indra/newview/skins/contrast/textures/icons/Parcel_Exp_Color.pngbin460 -> 0 bytes
-rw-r--r--indra/newview/skins/contrast/textures/icons/Parcel_FlyNo_Dark.pngbin943 -> 0 bytes
-rw-r--r--indra/newview/skins/contrast/textures/icons/Parcel_FlyNo_Light.pngbin934 -> 0 bytes
-rw-r--r--indra/newview/skins/contrast/textures/icons/Parcel_Fly_Dark.pngbin524 -> 0 bytes
-rw-r--r--indra/newview/skins/contrast/textures/icons/Parcel_ForSale_Light.pngbin652 -> 0 bytes
-rw-r--r--indra/newview/skins/contrast/textures/icons/Parcel_Health_Dark.pngbin600 -> 0 bytes
-rw-r--r--indra/newview/skins/contrast/textures/icons/Parcel_PushNo_Dark.pngbin683 -> 0 bytes
-rw-r--r--indra/newview/skins/contrast/textures/icons/Parcel_PushNo_Light.pngbin654 -> 0 bytes
-rw-r--r--indra/newview/skins/contrast/textures/icons/Parcel_Push_Dark.pngbin596 -> 0 bytes
-rw-r--r--indra/newview/skins/contrast/textures/icons/Parcel_R_Dark.pngbin490 -> 0 bytes
-rw-r--r--indra/newview/skins/contrast/textures/icons/Parcel_ScriptsNo_Dark.pngbin723 -> 0 bytes
-rw-r--r--indra/newview/skins/contrast/textures/icons/Parcel_Scripts_Dark.pngbin553 -> 0 bytes
-rw-r--r--indra/newview/skins/contrast/textures/icons/Parcel_SeeAVsOff_Dark.pngbin660 -> 0 bytes
-rw-r--r--indra/newview/skins/contrast/textures/icons/Parcel_SeeAVsOff_Light.pngbin655 -> 0 bytes
-rw-r--r--indra/newview/skins/contrast/textures/icons/Parcel_SeeAVsOn_Dark.pngbin502 -> 0 bytes
-rw-r--r--indra/newview/skins/contrast/textures/icons/Parcel_SeeAVsOn_Light.pngbin503 -> 0 bytes
-rw-r--r--indra/newview/skins/contrast/textures/icons/Parcel_VoiceNo_Dark.pngbin710 -> 0 bytes
-rw-r--r--indra/newview/skins/contrast/textures/icons/Parcel_VoiceNo_Light.pngbin710 -> 0 bytes
-rw-r--r--indra/newview/skins/contrast/textures/icons/Parcel_Voice_Dark.pngbin550 -> 0 bytes
-rw-r--r--indra/newview/skins/contrast/textures/icons/Parcel_Voice_Light.pngbin599 -> 0 bytes
-rw-r--r--indra/newview/skins/contrast/textures/icons/Pathfinding_Dirty.pngbin713 -> 0 bytes
-rw-r--r--indra/newview/skins/contrast/textures/icons/Pathfinding_Disabled.pngbin579 -> 0 bytes
-rw-r--r--indra/newview/skins/contrast/textures/icons/Pause_Off.pngbin385 -> 0 bytes
-rw-r--r--indra/newview/skins/contrast/textures/icons/Pause_Over.pngbin380 -> 0 bytes
-rw-r--r--indra/newview/skins/contrast/textures/icons/Pause_Press.pngbin376 -> 0 bytes
-rw-r--r--indra/newview/skins/contrast/textures/icons/Permission_Ungranted.pngbin834 -> 0 bytes
-rw-r--r--indra/newview/skins/contrast/textures/icons/Person_Check.pngbin855 -> 0 bytes
-rw-r--r--indra/newview/skins/contrast/textures/icons/Person_Star.pngbin690 -> 0 bytes
-rw-r--r--indra/newview/skins/contrast/textures/icons/Play_Off.pngbin451 -> 0 bytes
-rw-r--r--indra/newview/skins/contrast/textures/icons/Play_Over.pngbin443 -> 0 bytes
-rw-r--r--indra/newview/skins/contrast/textures/icons/Play_Press.pngbin448 -> 0 bytes
-rw-r--r--indra/newview/skins/contrast/textures/icons/Presets_Icon.pngbin1069 -> 0 bytes
-rw-r--r--indra/newview/skins/contrast/textures/icons/Presets_Icon_Graphic.pngbin535 -> 0 bytes
-rw-r--r--indra/newview/skins/contrast/textures/icons/Profile_Friend_Offline.pngbin420 -> 0 bytes
-rw-r--r--indra/newview/skins/contrast/textures/icons/Profile_Friend_Online.pngbin433 -> 0 bytes
-rw-r--r--indra/newview/skins/contrast/textures/icons/Profile_Perm_Find_Disabled.pngbin1008 -> 0 bytes
-rw-r--r--indra/newview/skins/contrast/textures/icons/Profile_Perm_Find_Enabled.pngbin1051 -> 0 bytes
-rw-r--r--indra/newview/skins/contrast/textures/icons/Profile_Perm_Objects_Disabled.pngbin888 -> 0 bytes
-rw-r--r--indra/newview/skins/contrast/textures/icons/Profile_Perm_Objects_Enabled.pngbin949 -> 0 bytes
-rw-r--r--indra/newview/skins/contrast/textures/icons/Profile_Perm_Online_Disabled.pngbin897 -> 0 bytes
-rw-r--r--indra/newview/skins/contrast/textures/icons/Profile_Perm_Online_Enabled.pngbin939 -> 0 bytes
-rw-r--r--indra/newview/skins/contrast/textures/icons/ProgressLarge_1.pngbin6163 -> 0 bytes
-rw-r--r--indra/newview/skins/contrast/textures/icons/ProgressLarge_10.pngbin6310 -> 0 bytes
-rw-r--r--indra/newview/skins/contrast/textures/icons/ProgressLarge_11.pngbin6169 -> 0 bytes
-rw-r--r--indra/newview/skins/contrast/textures/icons/ProgressLarge_12.pngbin6197 -> 0 bytes
-rw-r--r--indra/newview/skins/contrast/textures/icons/ProgressLarge_2.pngbin6227 -> 0 bytes
-rw-r--r--indra/newview/skins/contrast/textures/icons/ProgressLarge_3.pngbin6090 -> 0 bytes
-rw-r--r--indra/newview/skins/contrast/textures/icons/ProgressLarge_4.pngbin6295 -> 0 bytes
-rw-r--r--indra/newview/skins/contrast/textures/icons/ProgressLarge_5.pngbin6158 -> 0 bytes
-rw-r--r--indra/newview/skins/contrast/textures/icons/ProgressLarge_6.pngbin6220 -> 0 bytes
-rw-r--r--indra/newview/skins/contrast/textures/icons/ProgressLarge_7.pngbin6100 -> 0 bytes
-rw-r--r--indra/newview/skins/contrast/textures/icons/ProgressLarge_9.pngbin6034 -> 0 bytes
-rw-r--r--indra/newview/skins/contrast/textures/icons/Progress_1.pngbin678 -> 0 bytes
-rw-r--r--indra/newview/skins/contrast/textures/icons/Progress_10.pngbin671 -> 0 bytes
-rw-r--r--indra/newview/skins/contrast/textures/icons/Progress_11.pngbin674 -> 0 bytes
-rw-r--r--indra/newview/skins/contrast/textures/icons/Progress_12.pngbin685 -> 0 bytes
-rw-r--r--indra/newview/skins/contrast/textures/icons/Progress_2.pngbin675 -> 0 bytes
-rw-r--r--indra/newview/skins/contrast/textures/icons/Progress_3.pngbin679 -> 0 bytes
-rw-r--r--indra/newview/skins/contrast/textures/icons/Progress_4.pngbin673 -> 0 bytes
-rw-r--r--indra/newview/skins/contrast/textures/icons/Progress_5.pngbin671 -> 0 bytes
-rw-r--r--indra/newview/skins/contrast/textures/icons/Progress_6.pngbin684 -> 0 bytes
-rw-r--r--indra/newview/skins/contrast/textures/icons/Progress_7.pngbin674 -> 0 bytes
-rw-r--r--indra/newview/skins/contrast/textures/icons/Progress_8.pngbin680 -> 0 bytes
-rw-r--r--indra/newview/skins/contrast/textures/icons/Progress_9.pngbin680 -> 0 bytes
-rw-r--r--indra/newview/skins/contrast/textures/icons/Refresh_Off.pngbin624 -> 0 bytes
-rw-r--r--indra/newview/skins/contrast/textures/icons/Search_Icon.pngbin628 -> 0 bytes
-rw-r--r--indra/newview/skins/contrast/textures/icons/Shirt_Large.pngbin641 -> 0 bytes
-rw-r--r--indra/newview/skins/contrast/textures/icons/Shop.pngbin523 -> 0 bytes
-rw-r--r--indra/newview/skins/contrast/textures/icons/SkipBackward_Off.pngbin477 -> 0 bytes
-rw-r--r--indra/newview/skins/contrast/textures/icons/SkipForward_Off.pngbin469 -> 0 bytes
-rw-r--r--indra/newview/skins/contrast/textures/icons/StopReload_Off.pngbin639 -> 0 bytes
-rw-r--r--indra/newview/skins/contrast/textures/icons/StopReload_Over.pngbin626 -> 0 bytes
-rw-r--r--indra/newview/skins/contrast/textures/icons/Stop_Off.pngbin363 -> 0 bytes
-rw-r--r--indra/newview/skins/contrast/textures/icons/Sync_Disabled.pngbin1089 -> 0 bytes
-rw-r--r--indra/newview/skins/contrast/textures/icons/Sync_Progress_1.pngbin1080 -> 0 bytes
-rw-r--r--indra/newview/skins/contrast/textures/icons/Sync_Progress_2.pngbin1077 -> 0 bytes
-rw-r--r--indra/newview/skins/contrast/textures/icons/Sync_Progress_3.pngbin1114 -> 0 bytes
-rw-r--r--indra/newview/skins/contrast/textures/icons/Sync_Progress_4.pngbin1108 -> 0 bytes
-rw-r--r--indra/newview/skins/contrast/textures/icons/Sync_Progress_5.pngbin1070 -> 0 bytes
-rw-r--r--indra/newview/skins/contrast/textures/icons/Sync_Progress_6.pngbin1095 -> 0 bytes
-rw-r--r--indra/newview/skins/contrast/textures/icons/System_Notification_Large.pngbin1170 -> 0 bytes
-rw-r--r--indra/newview/skins/contrast/textures/icons/System_Notification_Small.pngbin593 -> 0 bytes
-rw-r--r--indra/newview/skins/contrast/textures/icons/TrashItem_Disabled.pngbin416 -> 0 bytes
-rw-r--r--indra/newview/skins/contrast/textures/icons/TrashItem_Off.pngbin415 -> 0 bytes
-rw-r--r--indra/newview/skins/contrast/textures/icons/TrashItem_Press.pngbin407 -> 0 bytes
-rw-r--r--indra/newview/skins/contrast/textures/icons/UnZoom_Off.pngbin587 -> 0 bytes
-rw-r--r--indra/newview/skins/contrast/textures/icons/UpArrow_Off.pngbin428 -> 0 bytes
-rw-r--r--indra/newview/skins/contrast/textures/icons/Video_URL_Off.pngbin466 -> 0 bytes
-rw-r--r--indra/newview/skins/contrast/textures/icons/Web_Profile_Off.pngbin460 -> 0 bytes
-rw-r--r--indra/newview/skins/contrast/textures/icons/YouAreHere_Badge.pngbin6385 -> 0 bytes
-rw-r--r--indra/newview/skins/contrast/textures/icons/Zoom_Off.pngbin598 -> 0 bytes
-rw-r--r--indra/newview/skins/contrast/textures/icons/collapse_to_one_line.pngbin621 -> 0 bytes
-rw-r--r--indra/newview/skins/contrast/textures/icons/copy_clipboard.pngbin811 -> 0 bytes
-rw-r--r--indra/newview/skins/contrast/textures/icons/delete_icon.pngbin809 -> 0 bytes
-rw-r--r--indra/newview/skins/contrast/textures/icons/edit_mine.pngbin896 -> 0 bytes
-rw-r--r--indra/newview/skins/contrast/textures/icons/edit_theirs.pngbin902 -> 0 bytes
-rw-r--r--indra/newview/skins/contrast/textures/icons/emoji_picker_icon.pngbin787 -> 0 bytes
-rw-r--r--indra/newview/skins/contrast/textures/icons/expand_one_liner.pngbin627 -> 0 bytes
-rw-r--r--indra/newview/skins/contrast/textures/icons/file_upload.pngbin640 -> 0 bytes
-rw-r--r--indra/newview/skins/contrast/textures/icons/map_placeholder.pngbin8718 -> 0 bytes
-rw-r--r--indra/newview/skins/contrast/textures/icons/multi_folder_mode.pngbin329 -> 0 bytes
-rw-r--r--indra/newview/skins/contrast/textures/icons/nearby_chat_icon.pngbin586 -> 0 bytes
-rw-r--r--indra/newview/skins/contrast/textures/icons/object_icon.pngbin502 -> 0 bytes
-rw-r--r--indra/newview/skins/contrast/textures/icons/paste_clipboard.pngbin792 -> 0 bytes
-rw-r--r--indra/newview/skins/contrast/textures/icons/pop_up_caution.pngbin765 -> 0 bytes
-rw-r--r--indra/newview/skins/contrast/textures/icons/profile_badge_beta.pngbin644 -> 0 bytes
-rw-r--r--indra/newview/skins/contrast/textures/icons/profile_badge_beta_lifetime.pngbin641 -> 0 bytes
-rw-r--r--indra/newview/skins/contrast/textures/icons/profile_badge_lifetime.pngbin780 -> 0 bytes
-rw-r--r--indra/newview/skins/contrast/textures/icons/profile_badge_linden.pngbin1065 -> 0 bytes
-rw-r--r--indra/newview/skins/contrast/textures/icons/profile_badge_pplus_lifetime.pngbin780 -> 0 bytes
-rw-r--r--indra/newview/skins/contrast/textures/icons/profile_badge_premium_lifetime.pngbin777 -> 0 bytes
-rw-r--r--indra/newview/skins/contrast/textures/icons/profile_group_visibility_eye_off.pngbin656 -> 0 bytes
-rw-r--r--indra/newview/skins/contrast/textures/icons/profile_group_visibility_eye_off_pressed.pngbin656 -> 0 bytes
-rw-r--r--indra/newview/skins/contrast/textures/icons/profile_group_visibility_eye_on.pngbin616 -> 0 bytes
-rw-r--r--indra/newview/skins/contrast/textures/icons/profile_group_visibility_eye_on_pressed.pngbin646 -> 0 bytes
-rw-r--r--indra/newview/skins/contrast/textures/icons/remove_icon.pngbin705 -> 0 bytes
-rw-r--r--indra/newview/skins/contrast/textures/icons/single_folder_back.pngbin607 -> 0 bytes
-rw-r--r--indra/newview/skins/contrast/textures/icons/single_folder_forward.pngbin608 -> 0 bytes
-rw-r--r--indra/newview/skins/contrast/textures/icons/single_folder_mode.pngbin320 -> 0 bytes
-rw-r--r--indra/newview/skins/contrast/textures/icons/single_folder_up.pngbin545 -> 0 bytes
-rw-r--r--indra/newview/skins/contrast/textures/icons/snapshot_icon.pngbin717 -> 0 bytes
-rw-r--r--indra/newview/skins/contrast/textures/icons/texture_icon.pngbin349 -> 0 bytes
-rw-r--r--indra/newview/skins/contrast/textures/icons/thumbnail_fallback_icon.pngbin2203 -> 0 bytes
-rw-r--r--indra/newview/skins/contrast/textures/jump_left_in.tgabin812 -> 0 bytes
-rw-r--r--indra/newview/skins/contrast/textures/jump_left_out.tgabin812 -> 0 bytes
-rw-r--r--indra/newview/skins/contrast/textures/jump_right_in.tgabin812 -> 0 bytes
-rw-r--r--indra/newview/skins/contrast/textures/jump_right_out.tgabin812 -> 0 bytes
-rw-r--r--indra/newview/skins/contrast/textures/lag_status_critical.tgabin4140 -> 0 bytes
-rw-r--r--indra/newview/skins/contrast/textures/lag_status_good.tgabin658 -> 0 bytes
-rw-r--r--indra/newview/skins/contrast/textures/lag_status_warning.tgabin658 -> 0 bytes
-rw-r--r--indra/newview/skins/contrast/textures/legend.tgabin1068 -> 0 bytes
-rw-r--r--indra/newview/skins/contrast/textures/locked_image.j2cbin6140 -> 0 bytes
-rw-r--r--indra/newview/skins/contrast/textures/map_avatar_16.tgabin1068 -> 0 bytes
-rw-r--r--indra/newview/skins/contrast/textures/map_avatar_32.tgabin2894 -> 0 bytes
-rw-r--r--indra/newview/skins/contrast/textures/map_avatar_8.tgabin300 -> 0 bytes
-rw-r--r--indra/newview/skins/contrast/textures/map_avatar_above_32.tgabin2909 -> 0 bytes
-rw-r--r--indra/newview/skins/contrast/textures/map_avatar_below_32.tgabin3037 -> 0 bytes
-rw-r--r--indra/newview/skins/contrast/textures/map_avatar_unknown_32.tgabin4140 -> 0 bytes
-rw-r--r--indra/newview/skins/contrast/textures/map_avatar_you_32.tgabin4140 -> 0 bytes
-rw-r--r--indra/newview/skins/contrast/textures/map_event.tgabin1068 -> 0 bytes
-rw-r--r--indra/newview/skins/contrast/textures/map_home.tgabin1068 -> 0 bytes
-rw-r--r--indra/newview/skins/contrast/textures/map_infohub.tgabin1068 -> 0 bytes
-rw-r--r--indra/newview/skins/contrast/textures/map_telehub.tgabin1068 -> 0 bytes
-rw-r--r--indra/newview/skins/contrast/textures/map_track_16.tgabin1068 -> 0 bytes
-rw-r--r--indra/newview/skins/contrast/textures/map_ui_collapse_icon.pngbin300 -> 0 bytes
-rw-r--r--indra/newview/skins/contrast/textures/map_ui_expand_icon.pngbin284 -> 0 bytes
-rw-r--r--indra/newview/skins/contrast/textures/materials_ui_x_24.pngbin602 -> 0 bytes
-rw-r--r--indra/newview/skins/contrast/textures/menu_separator.pngbin304 -> 0 bytes
-rw-r--r--indra/newview/skins/contrast/textures/missing_asset.tgabin2511 -> 0 bytes
-rw-r--r--indra/newview/skins/contrast/textures/navbar/Arrow_Left_Off.pngbin382 -> 0 bytes
-rw-r--r--indra/newview/skins/contrast/textures/navbar/Arrow_Right_Off.pngbin380 -> 0 bytes
-rw-r--r--indra/newview/skins/contrast/textures/navbar/Favorite_Link_Over.pngbin191 -> 0 bytes
-rw-r--r--indra/newview/skins/contrast/textures/navbar/FileMenu_Divider.pngbin116 -> 0 bytes
-rw-r--r--indra/newview/skins/contrast/textures/navbar/Flag.pngbin338 -> 0 bytes
-rw-r--r--indra/newview/skins/contrast/textures/navbar/Help_Press.pngbin384 -> 0 bytes
-rw-r--r--indra/newview/skins/contrast/textures/navbar/Home_Off.pngbin379 -> 0 bytes
-rw-r--r--indra/newview/skins/contrast/textures/navbar/Info_Off.pngbin608 -> 0 bytes
-rw-r--r--indra/newview/skins/contrast/textures/navbar/Info_Over.pngbin622 -> 0 bytes
-rw-r--r--indra/newview/skins/contrast/textures/navbar/Info_Press.pngbin605 -> 0 bytes
-rw-r--r--indra/newview/skins/contrast/textures/navbar/Landmarks.pngbin15870 -> 0 bytes
-rw-r--r--indra/newview/skins/contrast/textures/navbar/Lock.pngbin302 -> 0 bytes
-rw-r--r--indra/newview/skins/contrast/textures/navbar/Search.pngbin516 -> 0 bytes
-rw-r--r--indra/newview/skins/contrast/textures/notify_caution_icon.tgabin4140 -> 0 bytes
-rw-r--r--indra/newview/skins/contrast/textures/pixiesmall.j2cbin2845 -> 0 bytes
-rw-r--r--indra/newview/skins/contrast/textures/red_x.pngbin624 -> 0 bytes
-rw-r--r--indra/newview/skins/contrast/textures/rounded_square.j2cbin1074 -> 0 bytes
-rw-r--r--indra/newview/skins/contrast/textures/script_error.j2cbin8132 -> 0 bytes
-rw-r--r--indra/newview/skins/contrast/textures/silhouette.j2cbin1460 -> 0 bytes
-rw-r--r--indra/newview/skins/contrast/textures/slim_icon_16_viewer.tgabin1032 -> 0 bytes
-rw-r--r--indra/newview/skins/contrast/textures/snapshot_download.pngbin1226 -> 0 bytes
-rw-r--r--indra/newview/skins/contrast/textures/snapshot_email.pngbin1231 -> 0 bytes
-rw-r--r--indra/newview/skins/contrast/textures/spacer24.tgabin2348 -> 0 bytes
-rw-r--r--indra/newview/skins/contrast/textures/tabarea.tgabin1340 -> 0 bytes
-rw-r--r--indra/newview/skins/contrast/textures/taskpanel/Activate_Checkmark.pngbin435 -> 0 bytes
-rw-r--r--indra/newview/skins/contrast/textures/taskpanel/Sidebar_Icon_Dock_Foreground.pngbin355 -> 0 bytes
-rw-r--r--indra/newview/skins/contrast/textures/taskpanel/Sidebar_Icon_Dock_Press.pngbin339 -> 0 bytes
-rw-r--r--indra/newview/skins/contrast/textures/taskpanel/Sidebar_Icon_Undock_Foreground.pngbin341 -> 0 bytes
-rw-r--r--indra/newview/skins/contrast/textures/taskpanel/Sidebar_Icon_Undock_Press.pngbin344 -> 0 bytes
-rw-r--r--indra/newview/skins/contrast/textures/taskpanel/TabIcon_Close_Off.pngbin305 -> 0 bytes
-rw-r--r--indra/newview/skins/contrast/textures/taskpanel/TabIcon_Home_Selected.pngbin790 -> 0 bytes
-rw-r--r--indra/newview/skins/contrast/textures/taskpanel/TabIcon_Me_Off.pngbin297 -> 0 bytes
-rw-r--r--indra/newview/skins/contrast/textures/taskpanel/TabIcon_Open_Off.pngbin294 -> 0 bytes
-rw-r--r--indra/newview/skins/contrast/textures/taskpanel/TabIcon_People_Off.pngbin367 -> 0 bytes
-rw-r--r--indra/newview/skins/contrast/textures/taskpanel/TabIcon_Places_Off.pngbin405 -> 0 bytes
-rw-r--r--indra/newview/skins/contrast/textures/taskpanel/TabIcon_Things_Off.pngbin223 -> 0 bytes
-rw-r--r--indra/newview/skins/contrast/textures/taskpanel/TaskPanel_Tab_Off.pngbin272 -> 0 bytes
-rw-r--r--indra/newview/skins/contrast/textures/taskpanel/TaskPanel_Tab_Selected.pngbin325 -> 0 bytes
-rw-r--r--indra/newview/skins/contrast/textures/tearoff_pressed.tgabin513 -> 0 bytes
-rw-r--r--indra/newview/skins/contrast/textures/tearoffbox.tgabin408 -> 0 bytes
-rw-r--r--indra/newview/skins/contrast/textures/toolbar_icons/360_capture.pngbin793 -> 0 bytes
-rw-r--r--indra/newview/skins/contrast/textures/toolbar_icons/appearance.pngbin1205 -> 0 bytes
-rw-r--r--indra/newview/skins/contrast/textures/toolbar_icons/avatars.pngbin1432 -> 0 bytes
-rw-r--r--indra/newview/skins/contrast/textures/toolbar_icons/build.pngbin1246 -> 0 bytes
-rw-r--r--indra/newview/skins/contrast/textures/toolbar_icons/chat.pngbin1277 -> 0 bytes
-rw-r--r--indra/newview/skins/contrast/textures/toolbar_icons/destinations.pngbin1297 -> 0 bytes
-rw-r--r--indra/newview/skins/contrast/textures/toolbar_icons/environments.pngbin1630 -> 0 bytes
-rw-r--r--indra/newview/skins/contrast/textures/toolbar_icons/facebook.pngbin424 -> 0 bytes
-rw-r--r--indra/newview/skins/contrast/textures/toolbar_icons/favorite_folder.pngbin572 -> 0 bytes
-rw-r--r--indra/newview/skins/contrast/textures/toolbar_icons/flickr.pngbin15530 -> 0 bytes
-rw-r--r--indra/newview/skins/contrast/textures/toolbar_icons/gestures.pngbin1675 -> 0 bytes
-rw-r--r--indra/newview/skins/contrast/textures/toolbar_icons/grid_status.pngbin483 -> 0 bytes
-rw-r--r--indra/newview/skins/contrast/textures/toolbar_icons/howto.pngbin1306 -> 0 bytes
-rw-r--r--indra/newview/skins/contrast/textures/toolbar_icons/inventory.pngbin1114 -> 0 bytes
-rw-r--r--indra/newview/skins/contrast/textures/toolbar_icons/land.pngbin1123 -> 0 bytes
-rw-r--r--indra/newview/skins/contrast/textures/toolbar_icons/map.pngbin1206 -> 0 bytes
-rw-r--r--indra/newview/skins/contrast/textures/toolbar_icons/marketplace.pngbin1311 -> 0 bytes
-rw-r--r--indra/newview/skins/contrast/textures/toolbar_icons/mini_cart.pngbin474 -> 0 bytes
-rw-r--r--indra/newview/skins/contrast/textures/toolbar_icons/mini_map.pngbin1766 -> 0 bytes
-rw-r--r--indra/newview/skins/contrast/textures/toolbar_icons/mktlistings.pngbin579 -> 0 bytes
-rw-r--r--indra/newview/skins/contrast/textures/toolbar_icons/move.pngbin1328 -> 0 bytes
-rw-r--r--indra/newview/skins/contrast/textures/toolbar_icons/nearbyvoice.pngbin1479 -> 0 bytes
-rw-r--r--indra/newview/skins/contrast/textures/toolbar_icons/outbox.pngbin1521 -> 0 bytes
-rw-r--r--indra/newview/skins/contrast/textures/toolbar_icons/people.pngbin1313 -> 0 bytes
-rw-r--r--indra/newview/skins/contrast/textures/toolbar_icons/performance.pngbin451 -> 0 bytes
-rw-r--r--indra/newview/skins/contrast/textures/toolbar_icons/picks.pngbin1396 -> 0 bytes
-rw-r--r--indra/newview/skins/contrast/textures/toolbar_icons/places.pngbin1391 -> 0 bytes
-rw-r--r--indra/newview/skins/contrast/textures/toolbar_icons/preferences.pngbin1587 -> 0 bytes
-rw-r--r--indra/newview/skins/contrast/textures/toolbar_icons/profile.pngbin1180 -> 0 bytes
-rw-r--r--indra/newview/skins/contrast/textures/toolbar_icons/report_abuse.pngbin407 -> 0 bytes
-rw-r--r--indra/newview/skins/contrast/textures/toolbar_icons/resync_animations.pngbin3627 -> 0 bytes
-rw-r--r--indra/newview/skins/contrast/textures/toolbar_icons/search.pngbin1406 -> 0 bytes
-rw-r--r--indra/newview/skins/contrast/textures/toolbar_icons/snapshot.pngbin1142 -> 0 bytes
-rw-r--r--indra/newview/skins/contrast/textures/toolbar_icons/speak.pngbin1253 -> 0 bytes
-rw-r--r--indra/newview/skins/contrast/textures/toolbar_icons/view.pngbin1487 -> 0 bytes
-rw-r--r--indra/newview/skins/contrast/textures/transparent.j2cbin172 -> 0 bytes
-rw-r--r--indra/newview/skins/contrast/textures/up_arrow.pngbin426 -> 0 bytes
-rw-r--r--indra/newview/skins/contrast/textures/uv_test1.j2cbin1206 -> 0 bytes
-rw-r--r--indra/newview/skins/contrast/textures/uv_test2.tgabin1308 -> 0 bytes
-rw-r--r--indra/newview/skins/contrast/textures/voice_meter_dot.j2cbin499 -> 0 bytes
-rw-r--r--indra/newview/skins/contrast/textures/voice_meter_rings.j2cbin2518 -> 0 bytes
-rw-r--r--indra/newview/skins/contrast/textures/white.tgabin178 -> 0 bytes
-rw-r--r--indra/newview/skins/contrast/textures/widgets/track_control_moon_back.pngbin1767 -> 0 bytes
-rw-r--r--indra/newview/skins/contrast/textures/widgets/track_control_moon_front.pngbin2060 -> 0 bytes
-rw-r--r--indra/newview/skins/contrast/textures/widgets/track_control_rotate_bottom.pngbin1125 -> 0 bytes
-rw-r--r--indra/newview/skins/contrast/textures/widgets/track_control_rotate_bottom_active.pngbin617 -> 0 bytes
-rw-r--r--indra/newview/skins/contrast/textures/widgets/track_control_rotate_left_side.pngbin1107 -> 0 bytes
-rw-r--r--indra/newview/skins/contrast/textures/widgets/track_control_rotate_left_side_active.pngbin561 -> 0 bytes
-rw-r--r--indra/newview/skins/contrast/textures/widgets/track_control_rotate_right_side.pngbin1121 -> 0 bytes
-rw-r--r--indra/newview/skins/contrast/textures/widgets/track_control_rotate_right_side_active.pngbin591 -> 0 bytes
-rw-r--r--indra/newview/skins/contrast/textures/widgets/track_control_rotate_top.pngbin1133 -> 0 bytes
-rw-r--r--indra/newview/skins/contrast/textures/widgets/track_control_rotate_top_active.pngbin627 -> 0 bytes
-rw-r--r--indra/newview/skins/contrast/textures/widgets/track_control_sphere.pngbin10854 -> 0 bytes
-rw-r--r--indra/newview/skins/contrast/textures/widgets/track_control_sun_back.pngbin1626 -> 0 bytes
-rw-r--r--indra/newview/skins/contrast/textures/widgets/track_control_sun_front.pngbin1911 -> 0 bytes
-rw-r--r--indra/newview/skins/contrast/textures/windows/add_payment_image_center.pngbin36083 -> 0 bytes
-rw-r--r--indra/newview/skins/contrast/textures/windows/add_payment_image_left.pngbin34181 -> 0 bytes
-rw-r--r--indra/newview/skins/contrast/textures/windows/add_payment_image_right.pngbin33753 -> 0 bytes
-rw-r--r--indra/newview/skins/contrast/textures/world/BeaconArrow.pngbin994 -> 0 bytes
-rw-r--r--indra/newview/skins/contrast_gold/colors.xml1001
-rw-r--r--indra/newview/skins/contrast_gold/textures/bottomtray/Cam_Rotate_Center.pngbin0 -> 4436 bytes
-rw-r--r--indra/newview/skins/contrast_gold/textures/bottomtray/Cam_Rotate_In.pngbin0 -> 4711 bytes
-rw-r--r--indra/newview/skins/contrast_gold/textures/bottomtray/Cam_Rotate_Out.pngbin0 -> 8388 bytes
-rw-r--r--indra/newview/skins/contrast_gold/textures/bottomtray/Cam_Tracking_Center.pngbin0 -> 4521 bytes
-rw-r--r--indra/newview/skins/contrast_gold/textures/bottomtray/Cam_Tracking_In.pngbin0 -> 4521 bytes
-rw-r--r--indra/newview/skins/contrast_gold/textures/bottomtray/Cam_Tracking_Out.pngbin0 -> 5711 bytes
-rw-r--r--indra/newview/skins/contrast_gold/textures/bottomtray/ChatBarHandle.pngbin0 -> 260 bytes
-rw-r--r--indra/newview/skins/contrast_gold/textures/bottomtray/DownArrow.pngbin0 -> 139 bytes
-rw-r--r--indra/newview/skins/contrast_gold/textures/bottomtray/Movement_Backward_Off.pngbin0 -> 354 bytes
-rw-r--r--indra/newview/skins/contrast_gold/textures/bottomtray/Movement_Backward_On.png (renamed from indra/newview/skins/contrast/textures/icons/see_them_on_map.png)bin4998 -> 5138 bytes
-rw-r--r--indra/newview/skins/contrast_gold/textures/bottomtray/Movement_Down_Off.png (renamed from indra/newview/skins/contrast/textures/bottomtray/Mouselook_View_On.png)bin53113 -> 51706 bytes
-rw-r--r--indra/newview/skins/contrast_gold/textures/bottomtray/Movement_Down_On.pngbin0 -> 6254 bytes
-rw-r--r--indra/newview/skins/contrast_gold/textures/bottomtray/Movement_Forward_Off.pngbin0 -> 322 bytes
-rw-r--r--indra/newview/skins/contrast_gold/textures/bottomtray/Movement_Forward_On.png (renamed from indra/newview/skins/contrast/textures/build/Object_Grass_Selected.png)bin5098 -> 5102 bytes
-rw-r--r--indra/newview/skins/contrast_gold/textures/bottomtray/Movement_Left_Off.png (renamed from indra/newview/skins/contrast/textures/bottomtray/PanOrbit_Off.png)bin51539 -> 51016 bytes
-rw-r--r--indra/newview/skins/contrast_gold/textures/bottomtray/Movement_Left_On.pngbin0 -> 6441 bytes
-rw-r--r--indra/newview/skins/contrast_gold/textures/bottomtray/Movement_Right_Off.png (renamed from indra/newview/skins/contrast/textures/bottomtray/Cam_Preset_Side_Off.png)bin49268 -> 49845 bytes
-rw-r--r--indra/newview/skins/contrast_gold/textures/bottomtray/Movement_Right_On.png (renamed from indra/newview/skins/contrast/textures/toolbar_icons/twitter.png)bin5696 -> 6213 bytes
-rw-r--r--indra/newview/skins/contrast_gold/textures/bottomtray/Movement_TurnLeft_Off.pngbin0 -> 431 bytes
-rw-r--r--indra/newview/skins/contrast_gold/textures/bottomtray/Movement_TurnLeft_On.pngbin0 -> 5237 bytes
-rw-r--r--indra/newview/skins/contrast_gold/textures/bottomtray/Movement_TurnRight_Off.pngbin0 -> 432 bytes
-rw-r--r--indra/newview/skins/contrast_gold/textures/bottomtray/Movement_TurnRight_On.pngbin0 -> 5200 bytes
-rw-r--r--indra/newview/skins/contrast_gold/textures/bottomtray/Movement_Up_Off.png (renamed from indra/newview/skins/contrast/textures/bottomtray/Cam_Preset_Back_On.png)bin50855 -> 53763 bytes
-rw-r--r--indra/newview/skins/contrast_gold/textures/bottomtray/Movement_Up_On.pngbin0 -> 6493 bytes
-rw-r--r--indra/newview/skins/contrast_gold/textures/bottomtray/Object_View_Off.png (renamed from indra/newview/skins/contrast/textures/bottomtray/Cam_Preset_Side_On.png)bin50209 -> 55000 bytes
-rw-r--r--indra/newview/skins/contrast_gold/textures/bottomtray/Object_View_On.png (renamed from indra/newview/skins/contrast/textures/bottomtray/Mouselook_View_Off.png)bin51189 -> 51183 bytes
-rw-r--r--indra/newview/skins/contrast_gold/textures/bottomtray/Unread_Chiclet.pngbin0 -> 334 bytes
-rw-r--r--indra/newview/skins/contrast_gold/textures/bottomtray/VoicePTT_Lvl1.png (renamed from indra/newview/skins/contrast/textures/icons/hand.png)bin5338 -> 5160 bytes
-rw-r--r--indra/newview/skins/contrast_gold/textures/bottomtray/VoicePTT_Lvl2.png (renamed from indra/newview/skins/contrast/textures/build/Object_Ring_Selected.png)bin5061 -> 5270 bytes
-rw-r--r--indra/newview/skins/contrast_gold/textures/bottomtray/VoicePTT_Lvl3.pngbin0 -> 607 bytes
-rw-r--r--indra/newview/skins/contrast_gold/textures/bottomtray/VoicePTT_Off.pngbin0 -> 461 bytes
-rw-r--r--indra/newview/skins/contrast_gold/textures/bottomtray/VoicePTT_On.pngbin0 -> 5022 bytes
-rw-r--r--indra/newview/skins/contrast_gold/textures/bottomtray/WellButton_Lit.pngbin0 -> 5762 bytes
-rw-r--r--indra/newview/skins/contrast_gold/textures/bottomtray/WellButton_Lit_Selected.pngbin0 -> 5762 bytes
-rw-r--r--indra/newview/skins/contrast_gold/textures/cloud-particle.pngbin0 -> 44778 bytes
-rw-r--r--indra/newview/skins/contrast_gold/textures/containers/Accordion_ArrowClosed_Off.pngbin0 -> 175 bytes
-rw-r--r--indra/newview/skins/contrast_gold/textures/containers/Accordion_ArrowClosed_Press.pngbin0 -> 175 bytes
-rw-r--r--indra/newview/skins/contrast_gold/textures/containers/Accordion_ArrowOpened_Off.pngbin0 -> 169 bytes
-rw-r--r--indra/newview/skins/contrast_gold/textures/containers/Accordion_ArrowOpened_Press.pngbin0 -> 169 bytes
-rw-r--r--indra/newview/skins/contrast_gold/textures/containers/Accordion_Off.pngbin0 -> 3868 bytes
-rw-r--r--indra/newview/skins/contrast_gold/textures/containers/Accordion_Over.pngbin0 -> 3868 bytes
-rw-r--r--indra/newview/skins/contrast_gold/textures/containers/Accordion_Press.pngbin0 -> 3868 bytes
-rw-r--r--indra/newview/skins/contrast_gold/textures/containers/Accordion_Selected.pngbin0 -> 3939 bytes
-rw-r--r--indra/newview/skins/contrast_gold/textures/containers/Container.pngbin0 -> 673 bytes
-rw-r--r--indra/newview/skins/contrast_gold/textures/containers/TabTop_Left_Off.pngbin0 -> 4922 bytes
-rw-r--r--indra/newview/skins/contrast_gold/textures/containers/TabTop_Left_Selected.pngbin0 -> 249 bytes
-rw-r--r--indra/newview/skins/contrast_gold/textures/containers/TabTop_Middle.pngbin0 -> 168 bytes
-rw-r--r--indra/newview/skins/contrast_gold/textures/containers/TabTop_Middle_Off.pngbin0 -> 4430 bytes
-rw-r--r--indra/newview/skins/contrast_gold/textures/containers/TabTop_Middle_Selected.pngbin0 -> 168 bytes
-rw-r--r--indra/newview/skins/contrast_gold/textures/containers/TabTop_Right.pngbin0 -> 258 bytes
-rw-r--r--indra/newview/skins/contrast_gold/textures/containers/TabTop_Right_Flashing.pngbin0 -> 252 bytes
-rw-r--r--indra/newview/skins/contrast_gold/textures/containers/TabTop_Right_Off.pngbin0 -> 4966 bytes
-rw-r--r--indra/newview/skins/contrast_gold/textures/containers/TabTop_Right_Selected.pngbin0 -> 258 bytes
-rw-r--r--indra/newview/skins/contrast_gold/textures/containers/Toolbar_Left_Flash.pngbin0 -> 276 bytes
-rw-r--r--indra/newview/skins/contrast_gold/textures/containers/Toolbar_Left_Off.pngbin0 -> 4491 bytes
-rw-r--r--indra/newview/skins/contrast_gold/textures/containers/Toolbar_Left_Over.pngbin0 -> 4491 bytes
-rw-r--r--indra/newview/skins/contrast_gold/textures/containers/Toolbar_Left_Selected.pngbin0 -> 283 bytes
-rw-r--r--indra/newview/skins/contrast_gold/textures/containers/Toolbar_Middle_Flash.pngbin0 -> 316 bytes
-rw-r--r--indra/newview/skins/contrast_gold/textures/containers/Toolbar_Middle_Off.pngbin0 -> 3979 bytes
-rw-r--r--indra/newview/skins/contrast_gold/textures/containers/Toolbar_Middle_Over.pngbin0 -> 3980 bytes
-rw-r--r--indra/newview/skins/contrast_gold/textures/containers/Toolbar_Middle_Selected.pngbin0 -> 212 bytes
-rw-r--r--indra/newview/skins/contrast_gold/textures/containers/Toolbar_Right_Flash.pngbin0 -> 428 bytes
-rw-r--r--indra/newview/skins/contrast_gold/textures/containers/Toolbar_Right_Off.pngbin0 -> 3632 bytes
-rw-r--r--indra/newview/skins/contrast_gold/textures/containers/Toolbar_Right_Over.pngbin0 -> 3632 bytes
-rw-r--r--indra/newview/skins/contrast_gold/textures/containers/Toolbar_Right_Selected.pngbin0 -> 272 bytes
-rw-r--r--indra/newview/skins/contrast_gold/textures/default_land_picture.j2cbin0 -> 37622 bytes
-rw-r--r--indra/newview/skins/contrast_gold/textures/default_land_picture.pngbin0 -> 67335 bytes
-rw-r--r--indra/newview/skins/contrast_gold/textures/default_profile_picture.j2cbin0 -> 27739 bytes
-rw-r--r--indra/newview/skins/contrast_gold/textures/default_profile_picture.pngbin0 -> 63511 bytes
-rw-r--r--indra/newview/skins/contrast_gold/textures/icons/AddItem_Disabled.pngbin0 -> 403 bytes
-rw-r--r--indra/newview/skins/contrast_gold/textures/icons/AddItem_Off.pngbin0 -> 397 bytes
-rw-r--r--indra/newview/skins/contrast_gold/textures/icons/AddItem_Press.pngbin0 -> 392 bytes
-rw-r--r--indra/newview/skins/contrast_gold/textures/icons/AudioMute_Off.pngbin0 -> 800 bytes
-rw-r--r--indra/newview/skins/contrast_gold/textures/icons/AudioMute_Over.pngbin0 -> 787 bytes
-rw-r--r--indra/newview/skins/contrast_gold/textures/icons/Audio_Off.pngbin0 -> 596 bytes
-rw-r--r--indra/newview/skins/contrast_gold/textures/icons/Audio_Press.pngbin0 -> 585 bytes
-rw-r--r--indra/newview/skins/contrast_gold/textures/icons/Icon_Notification_Condense.pngbin0 -> 465 bytes
-rw-r--r--indra/newview/skins/contrast_gold/textures/icons/Icon_Notification_Expand.pngbin0 -> 427 bytes
-rw-r--r--indra/newview/skins/contrast_gold/textures/icons/Info.pngbin0 -> 535 bytes
-rw-r--r--indra/newview/skins/contrast_gold/textures/icons/Info_Over.pngbin0 -> 5316 bytes
-rw-r--r--indra/newview/skins/contrast_gold/textures/icons/Info_Small.pngbin0 -> 478 bytes
-rw-r--r--indra/newview/skins/contrast_gold/textures/icons/MP_Logo.pngbin0 -> 4838 bytes
-rw-r--r--indra/newview/skins/contrast_gold/textures/icons/MinusItem_Disabled.pngbin0 -> 370 bytes
-rw-r--r--indra/newview/skins/contrast_gold/textures/icons/MinusItem_Off.pngbin0 -> 377 bytes
-rw-r--r--indra/newview/skins/contrast_gold/textures/icons/MinusItem_Press.pngbin0 -> 373 bytes
-rw-r--r--indra/newview/skins/contrast_gold/textures/icons/Parcel_M_Dark.pngbin0 -> 490 bytes
-rw-r--r--indra/newview/skins/contrast_gold/textures/icons/Parcel_M_Light.pngbin0 -> 488 bytes
-rw-r--r--indra/newview/skins/contrast_gold/textures/icons/Parcel_PG_Dark.pngbin0 -> 495 bytes
-rw-r--r--indra/newview/skins/contrast_gold/textures/icons/Parcel_PG_Light.pngbin0 -> 492 bytes
-rw-r--r--indra/newview/skins/contrast_gold/textures/icons/Parcel_R_Light.pngbin0 -> 487 bytes
-rw-r--r--indra/newview/skins/contrast_gold/textures/icons/ProgressLarge_8.pngbin0 -> 6223 bytes
-rw-r--r--indra/newview/skins/contrast_gold/textures/icons/VoiceMute_Off.pngbin0 -> 753 bytes
-rw-r--r--indra/newview/skins/contrast_gold/textures/icons/VoicePTT_Lvl1.pngbin0 -> 5160 bytes
-rw-r--r--indra/newview/skins/contrast_gold/textures/icons/VoicePTT_Lvl2.png (renamed from indra/newview/skins/contrast/textures/build/Object_Torus_Selected.png)bin5139 -> 5270 bytes
-rw-r--r--indra/newview/skins/contrast_gold/textures/icons/VoicePTT_Lvl3.pngbin0 -> 952 bytes
-rw-r--r--indra/newview/skins/contrast_gold/textures/icons/VoicePTT_Off.pngbin0 -> 583 bytes
-rw-r--r--indra/newview/skins/contrast_gold/textures/icons/VoicePTT_On.pngbin0 -> 5022 bytes
-rw-r--r--indra/newview/skins/contrast_gold/textures/icons/add_icon.pngbin0 -> 691 bytes
-rw-r--r--indra/newview/skins/contrast_gold/textures/icons/back_arrow_off.pngbin0 -> 5862 bytes
-rw-r--r--indra/newview/skins/contrast_gold/textures/icons/back_arrow_over.png (renamed from indra/newview/skins/contrast/textures/icons/OutboxPush_Progress_1.png)bin5529 -> 6119 bytes
-rw-r--r--indra/newview/skins/contrast_gold/textures/icons/back_arrow_press.pngbin0 -> 6223 bytes
-rw-r--r--indra/newview/skins/contrast_gold/textures/icons/check_mark.png (renamed from indra/newview/skins/contrast/textures/build/Object_Hemi_Sphere_Selected.png)bin5010 -> 5179 bytes
-rw-r--r--indra/newview/skins/contrast_gold/textures/icons/see_me_online.png (renamed from indra/newview/skins/contrast/textures/icons/see_them_online.png)bin4810 -> 4672 bytes
-rw-r--r--indra/newview/skins/contrast_gold/textures/icons/unknown_icon.pngbin0 -> 1177 bytes
-rw-r--r--indra/newview/skins/contrast_gold/textures/megapahit/icon_group.pngbin0 -> 1479 bytes
-rw-r--r--indra/newview/skins/contrast_gold/textures/megapahit/icon_land_auction.pngbin0 -> 1464 bytes
-rw-r--r--indra/newview/skins/contrast_gold/textures/megapahit/icon_land_forsale.pngbin0 -> 1485 bytes
-rw-r--r--indra/newview/skins/contrast_gold/textures/megapahit/icon_place.pngbin0 -> 1584 bytes
-rw-r--r--indra/newview/skins/contrast_gold/textures/model_wizard/progress_bar_bg.pngbin0 -> 556 bytes
-rw-r--r--indra/newview/skins/contrast_gold/textures/model_wizard/progress_light.png (renamed from indra/newview/skins/contrast/textures/build/Object_Cone_Selected.png)bin4891 -> 4870 bytes
-rw-r--r--indra/newview/skins/contrast_gold/textures/navbar/BuyArrow_Over.pngbin0 -> 4935 bytes
-rw-r--r--indra/newview/skins/contrast_gold/textures/navbar/BuyArrow_Press.pngbin0 -> 4937 bytes
-rw-r--r--indra/newview/skins/contrast_gold/textures/navbar/Favorite_Star_Active.png (renamed from indra/newview/skins/contrast/textures/icons/OutboxPush_Progress_6.png)bin5526 -> 5485 bytes
-rw-r--r--indra/newview/skins/contrast_gold/textures/navbar/Favorite_Star_Off.pngbin0 -> 444 bytes
-rw-r--r--indra/newview/skins/contrast_gold/textures/navbar/Favorite_Star_Over.pngbin0 -> 5241 bytes
-rw-r--r--indra/newview/skins/contrast_gold/textures/navbar/Favorite_Star_Press.pngbin0 -> 616 bytes
-rw-r--r--indra/newview/skins/contrast_gold/textures/navbar/NavBar_BG.pngbin0 -> 6334 bytes
-rw-r--r--indra/newview/skins/contrast_gold/textures/navbar/NavBar_BG_NoFav_Bevel.png (renamed from indra/newview/skins/contrast/textures/icons/OutboxPush_Progress_2.png)bin5483 -> 5658 bytes
-rw-r--r--indra/newview/skins/contrast_gold/textures/navbar/NavBar_BG_NoNav_Bevel.pngbin0 -> 5130 bytes
-rw-r--r--indra/newview/skins/contrast_gold/textures/navbar/Row_Selection.pngbin0 -> 3782 bytes
-rw-r--r--indra/newview/skins/contrast_gold/textures/navbar/separator.pngbin0 -> 330 bytes
-rw-r--r--indra/newview/skins/contrast_gold/textures/textures.xml (renamed from indra/newview/skins/contrast/textures/textures.xml)4
-rw-r--r--indra/newview/skins/contrast_gold/textures/toolbar_icons/caret_bottom.pngbin0 -> 195 bytes
-rw-r--r--indra/newview/skins/contrast_gold/textures/toolbar_icons/caret_left.pngbin0 -> 948 bytes
-rw-r--r--indra/newview/skins/contrast_gold/textures/toolbar_icons/caret_right.pngbin0 -> 949 bytes
-rw-r--r--indra/newview/skins/contrast_gold/textures/toolbar_icons/highlighting.pngbin0 -> 3044 bytes
-rw-r--r--indra/newview/skins/contrast_gold/textures/toolbar_icons/highlighting_selected.pngbin0 -> 4986 bytes
-rw-r--r--indra/newview/skins/contrast_gold/textures/widgets/Arrow_Down.pngbin0 -> 517 bytes
-rw-r--r--indra/newview/skins/contrast_gold/textures/widgets/Arrow_Left.pngbin0 -> 485 bytes
-rw-r--r--indra/newview/skins/contrast_gold/textures/widgets/Arrow_Right.pngbin0 -> 487 bytes
-rw-r--r--indra/newview/skins/contrast_gold/textures/widgets/Arrow_Small_Down.pngbin0 -> 478 bytes
-rw-r--r--indra/newview/skins/contrast_gold/textures/widgets/Arrow_Small_Left.pngbin0 -> 414 bytes
-rw-r--r--indra/newview/skins/contrast_gold/textures/widgets/Arrow_Small_Right.pngbin0 -> 414 bytes
-rw-r--r--indra/newview/skins/contrast_gold/textures/widgets/Arrow_Small_Up.pngbin0 -> 493 bytes
-rw-r--r--indra/newview/skins/contrast_gold/textures/widgets/Arrow_Up.pngbin0 -> 528 bytes
-rw-r--r--indra/newview/skins/contrast_gold/textures/widgets/Badge_Background.pngbin0 -> 1266 bytes
-rw-r--r--indra/newview/skins/contrast_gold/textures/widgets/Badge_Border.pngbin0 -> 1392 bytes
-rw-r--r--indra/newview/skins/contrast_gold/textures/widgets/BreadCrumbBtn_Left_Disabled.pngbin0 -> 1997 bytes
-rw-r--r--indra/newview/skins/contrast_gold/textures/widgets/BreadCrumbBtn_Left_Off.pngbin0 -> 1997 bytes
-rw-r--r--indra/newview/skins/contrast_gold/textures/widgets/BreadCrumbBtn_Left_Over.pngbin0 -> 1997 bytes
-rw-r--r--indra/newview/skins/contrast_gold/textures/widgets/BreadCrumbBtn_Left_Press.pngbin0 -> 2110 bytes
-rw-r--r--indra/newview/skins/contrast_gold/textures/widgets/BreadCrumbBtn_Middle_Disabled.pngbin0 -> 796 bytes
-rw-r--r--indra/newview/skins/contrast_gold/textures/widgets/BreadCrumbBtn_Middle_Off.pngbin0 -> 6107 bytes
-rw-r--r--indra/newview/skins/contrast_gold/textures/widgets/BreadCrumbBtn_Middle_Over.pngbin0 -> 6229 bytes
-rw-r--r--indra/newview/skins/contrast_gold/textures/widgets/BreadCrumbBtn_Middle_Press.pngbin0 -> 6352 bytes
-rw-r--r--indra/newview/skins/contrast_gold/textures/widgets/BreadCrumbBtn_Right_Disabled.pngbin0 -> 588 bytes
-rw-r--r--indra/newview/skins/contrast_gold/textures/widgets/BreadCrumbBtn_Right_Off.pngbin0 -> 4081 bytes
-rw-r--r--indra/newview/skins/contrast_gold/textures/widgets/BreadCrumbBtn_Right_Over.pngbin0 -> 4083 bytes
-rw-r--r--indra/newview/skins/contrast_gold/textures/widgets/BreadCrumbBtn_Right_Press.pngbin0 -> 4081 bytes
-rw-r--r--indra/newview/skins/contrast_gold/textures/widgets/Checkbox_Disabled.pngbin0 -> 470 bytes
-rw-r--r--indra/newview/skins/contrast_gold/textures/widgets/Checkbox_Off.pngbin0 -> 480 bytes
-rw-r--r--indra/newview/skins/contrast_gold/textures/widgets/Checkbox_On.pngbin0 -> 635 bytes
-rw-r--r--indra/newview/skins/contrast_gold/textures/widgets/Checkbox_On_Disabled.pngbin0 -> 621 bytes
-rw-r--r--indra/newview/skins/contrast_gold/textures/widgets/Checkbox_On_Press.pngbin0 -> 647 bytes
-rw-r--r--indra/newview/skins/contrast_gold/textures/widgets/Checkbox_Press.pngbin0 -> 515 bytes
-rw-r--r--indra/newview/skins/contrast_gold/textures/widgets/ComboButton_Disabled.pngbin0 -> 575 bytes
-rw-r--r--indra/newview/skins/contrast_gold/textures/widgets/ComboButton_Hover.pngbin0 -> 552 bytes
-rw-r--r--indra/newview/skins/contrast_gold/textures/widgets/ComboButton_Off.pngbin0 -> 583 bytes
-rw-r--r--indra/newview/skins/contrast_gold/textures/widgets/ComboButton_On.png (renamed from indra/newview/skins/contrast/textures/icons/see_on_map.png)bin4987 -> 5055 bytes
-rw-r--r--indra/newview/skins/contrast_gold/textures/widgets/ComboButton_Selected.png (renamed from indra/newview/skins/contrast/textures/icons/OutboxPush_Selected_Over.png)bin5576 -> 5846 bytes
-rw-r--r--indra/newview/skins/contrast_gold/textures/widgets/ComboButton_UpOff.pngbin0 -> 553 bytes
-rw-r--r--indra/newview/skins/contrast_gold/textures/widgets/ComboButton_UpSelected.png (renamed from indra/newview/skins/contrast/textures/icons/SL_Logo.png)bin5631 -> 5630 bytes
-rw-r--r--indra/newview/skins/contrast_gold/textures/widgets/DisclosureArrow_Opened_Off.pngbin0 -> 392 bytes
-rw-r--r--indra/newview/skins/contrast_gold/textures/widgets/DropDown.pngbin0 -> 465 bytes
-rw-r--r--indra/newview/skins/contrast_gold/textures/widgets/DropDown_Disabled.pngbin0 -> 472 bytes
-rw-r--r--indra/newview/skins/contrast_gold/textures/widgets/DropDown_Off.pngbin0 -> 4363 bytes
-rw-r--r--indra/newview/skins/contrast_gold/textures/widgets/DropDown_On.pngbin0 -> 489 bytes
-rw-r--r--indra/newview/skins/contrast_gold/textures/widgets/DropDown_Press.pngbin0 -> 489 bytes
-rw-r--r--indra/newview/skins/contrast_gold/textures/widgets/DropTarget.pngbin0 -> 604 bytes
-rw-r--r--indra/newview/skins/contrast_gold/textures/widgets/Error_Tag_Background.pngbin0 -> 1317 bytes
-rw-r--r--indra/newview/skins/contrast_gold/textures/widgets/Linden_Dollar_Alert.pngbin0 -> 68647 bytes
-rw-r--r--indra/newview/skins/contrast_gold/textures/widgets/Linden_Dollar_Background.pngbin0 -> 130520 bytes
-rw-r--r--indra/newview/skins/contrast_gold/textures/widgets/ListItem_Over.png (renamed from indra/newview/skins/contrast/textures/build/Object_Hemi_Cylinder_Selected.png)bin4775 -> 4786 bytes
-rw-r--r--indra/newview/skins/contrast_gold/textures/widgets/ListItem_Select.png (renamed from indra/newview/skins/contrast/textures/build/Object_Cube_Selected.png)bin4797 -> 4795 bytes
-rw-r--r--indra/newview/skins/contrast_gold/textures/widgets/MarketplaceBtn_Off.pngbin0 -> 5696 bytes
-rw-r--r--indra/newview/skins/contrast_gold/textures/widgets/MarketplaceBtn_Selected.pngbin0 -> 5735 bytes
-rw-r--r--indra/newview/skins/contrast_gold/textures/widgets/Marketplace_Dropzone_Background.pngbin0 -> 639 bytes
-rw-r--r--indra/newview/skins/contrast_gold/textures/widgets/New_Tag_Background.pngbin0 -> 948 bytes
-rw-r--r--indra/newview/skins/contrast_gold/textures/widgets/New_Tag_Border.pngbin0 -> 963 bytes
-rw-r--r--indra/newview/skins/contrast_gold/textures/widgets/ProgressBar.pngbin0 -> 160 bytes
-rw-r--r--indra/newview/skins/contrast_gold/textures/widgets/ProgressBarSolid.pngbin0 -> 378 bytes
-rw-r--r--indra/newview/skins/contrast_gold/textures/widgets/ProgressTrack.pngbin0 -> 399 bytes
-rw-r--r--indra/newview/skins/contrast_gold/textures/widgets/PushButton_Disabled.pngbin0 -> 569 bytes
-rw-r--r--indra/newview/skins/contrast_gold/textures/widgets/PushButton_Login.pngbin0 -> 1437 bytes
-rw-r--r--indra/newview/skins/contrast_gold/textures/widgets/PushButton_Login_Over.pngbin0 -> 1516 bytes
-rw-r--r--indra/newview/skins/contrast_gold/textures/widgets/PushButton_Login_Pressed.pngbin0 -> 1493 bytes
-rw-r--r--indra/newview/skins/contrast_gold/textures/widgets/PushButton_Off.pngbin0 -> 3602 bytes
-rw-r--r--indra/newview/skins/contrast_gold/textures/widgets/PushButton_On.pngbin0 -> 198 bytes
-rw-r--r--indra/newview/skins/contrast_gold/textures/widgets/PushButton_On_Selected.pngbin0 -> 198 bytes
-rw-r--r--indra/newview/skins/contrast_gold/textures/widgets/PushButton_Over.pngbin0 -> 4011 bytes
-rw-r--r--indra/newview/skins/contrast_gold/textures/widgets/PushButton_Press.pngbin0 -> 198 bytes
-rw-r--r--indra/newview/skins/contrast_gold/textures/widgets/PushButton_Selected.pngbin0 -> 198 bytes
-rw-r--r--indra/newview/skins/contrast_gold/textures/widgets/PushButton_Selected_Disabled.pngbin0 -> 4008 bytes
-rw-r--r--indra/newview/skins/contrast_gold/textures/widgets/PushButton_Selected_Press.pngbin0 -> 198 bytes
-rw-r--r--indra/newview/skins/contrast_gold/textures/widgets/RadioButton_Disabled.pngbin0 -> 606 bytes
-rw-r--r--indra/newview/skins/contrast_gold/textures/widgets/RadioButton_Off.pngbin0 -> 628 bytes
-rw-r--r--indra/newview/skins/contrast_gold/textures/widgets/RadioButton_On.pngbin0 -> 679 bytes
-rw-r--r--indra/newview/skins/contrast_gold/textures/widgets/RadioButton_On_Disabled.pngbin0 -> 652 bytes
-rw-r--r--indra/newview/skins/contrast_gold/textures/widgets/RadioButton_On_Press.pngbin0 -> 688 bytes
-rw-r--r--indra/newview/skins/contrast_gold/textures/widgets/RadioButton_Press.pngbin0 -> 666 bytes
-rw-r--r--indra/newview/skins/contrast_gold/textures/widgets/ScrollArrow_Down.pngbin0 -> 443 bytes
-rw-r--r--indra/newview/skins/contrast_gold/textures/widgets/ScrollArrow_Down_Opaque.pngbin0 -> 470 bytes
-rw-r--r--indra/newview/skins/contrast_gold/textures/widgets/ScrollArrow_Down_Over_Opaque.pngbin0 -> 445 bytes
-rw-r--r--indra/newview/skins/contrast_gold/textures/widgets/ScrollArrow_Left.pngbin0 -> 454 bytes
-rw-r--r--indra/newview/skins/contrast_gold/textures/widgets/ScrollArrow_Left_Opaque.pngbin0 -> 418 bytes
-rw-r--r--indra/newview/skins/contrast_gold/textures/widgets/ScrollArrow_Left_Over_Opaque.pngbin0 -> 431 bytes
-rw-r--r--indra/newview/skins/contrast_gold/textures/widgets/ScrollArrow_Right.pngbin0 -> 445 bytes
-rw-r--r--indra/newview/skins/contrast_gold/textures/widgets/ScrollArrow_Right_Opaque.pngbin0 -> 420 bytes
-rw-r--r--indra/newview/skins/contrast_gold/textures/widgets/ScrollArrow_Right_Over_Opaque.pngbin0 -> 429 bytes
-rw-r--r--indra/newview/skins/contrast_gold/textures/widgets/ScrollArrow_Up.pngbin0 -> 465 bytes
-rw-r--r--indra/newview/skins/contrast_gold/textures/widgets/ScrollArrow_Up_Opaque.pngbin0 -> 458 bytes
-rw-r--r--indra/newview/skins/contrast_gold/textures/widgets/ScrollArrow_Up_Over_Opaque.pngbin0 -> 468 bytes
-rw-r--r--indra/newview/skins/contrast_gold/textures/widgets/ScrollThumb_Horiz.pngbin0 -> 509 bytes
-rw-r--r--indra/newview/skins/contrast_gold/textures/widgets/ScrollThumb_Vert.pngbin0 -> 494 bytes
-rw-r--r--indra/newview/skins/contrast_gold/textures/widgets/ScrollTrack_Horiz.pngbin0 -> 364 bytes
-rw-r--r--indra/newview/skins/contrast_gold/textures/widgets/ScrollTrack_Vert.pngbin0 -> 361 bytes
-rw-r--r--indra/newview/skins/contrast_gold/textures/widgets/SegmentedBtn_Left_Disabled.pngbin0 -> 513 bytes
-rw-r--r--indra/newview/skins/contrast_gold/textures/widgets/SegmentedBtn_Left_Off.pngbin0 -> 521 bytes
-rw-r--r--indra/newview/skins/contrast_gold/textures/widgets/SegmentedBtn_Left_Over.pngbin0 -> 527 bytes
-rw-r--r--indra/newview/skins/contrast_gold/textures/widgets/SegmentedBtn_Left_Press.pngbin0 -> 576 bytes
-rw-r--r--indra/newview/skins/contrast_gold/textures/widgets/SegmentedBtn_Left_Selected.pngbin0 -> 576 bytes
-rw-r--r--indra/newview/skins/contrast_gold/textures/widgets/SegmentedBtn_Left_Selected_Disabled.pngbin0 -> 225 bytes
-rw-r--r--indra/newview/skins/contrast_gold/textures/widgets/SegmentedBtn_Left_Selected_Over.pngbin0 -> 225 bytes
-rw-r--r--indra/newview/skins/contrast_gold/textures/widgets/SegmentedBtn_Left_Selected_Press.pngbin0 -> 225 bytes
-rw-r--r--indra/newview/skins/contrast_gold/textures/widgets/SegmentedBtn_Middle_Disabled.pngbin0 -> 454 bytes
-rw-r--r--indra/newview/skins/contrast_gold/textures/widgets/SegmentedBtn_Middle_Selected.pngbin0 -> 524 bytes
-rw-r--r--indra/newview/skins/contrast_gold/textures/widgets/SegmentedBtn_Middle_Selected_Disabled.pngbin0 -> 119 bytes
-rw-r--r--indra/newview/skins/contrast_gold/textures/widgets/SegmentedBtn_Middle_Selected_Press.pngbin0 -> 119 bytes
-rw-r--r--indra/newview/skins/contrast_gold/textures/widgets/SegmentedBtn_Right_Disabled.pngbin0 -> 525 bytes
-rw-r--r--indra/newview/skins/contrast_gold/textures/widgets/SegmentedBtn_Right_Off.pngbin0 -> 531 bytes
-rw-r--r--indra/newview/skins/contrast_gold/textures/widgets/SegmentedBtn_Right_On_Selected.pngbin0 -> 229 bytes
-rw-r--r--indra/newview/skins/contrast_gold/textures/widgets/SegmentedBtn_Right_Over.pngbin0 -> 539 bytes
-rw-r--r--indra/newview/skins/contrast_gold/textures/widgets/SegmentedBtn_Right_Press.pngbin0 -> 585 bytes
-rw-r--r--indra/newview/skins/contrast_gold/textures/widgets/SegmentedBtn_Right_Selected.pngbin0 -> 585 bytes
-rw-r--r--indra/newview/skins/contrast_gold/textures/widgets/SegmentedBtn_Right_Selected_Disabled.pngbin0 -> 4051 bytes
-rw-r--r--indra/newview/skins/contrast_gold/textures/widgets/SegmentedBtn_Right_Selected_Press.pngbin0 -> 224 bytes
-rw-r--r--indra/newview/skins/contrast_gold/textures/widgets/SliderThumb_Disabled.pngbin0 -> 592 bytes
-rw-r--r--indra/newview/skins/contrast_gold/textures/widgets/SliderThumb_Off.pngbin0 -> 579 bytes
-rw-r--r--indra/newview/skins/contrast_gold/textures/widgets/SliderThumb_Press.pngbin0 -> 582 bytes
-rw-r--r--indra/newview/skins/contrast_gold/textures/widgets/SliderTrack_Horiz.pngbin0 -> 420 bytes
-rw-r--r--indra/newview/skins/contrast_gold/textures/widgets/SliderTrack_Vert.pngbin0 -> 417 bytes
-rw-r--r--indra/newview/skins/contrast_gold/textures/widgets/Stepper_Down_Off.pngbin0 -> 4901 bytes
-rw-r--r--indra/newview/skins/contrast_gold/textures/widgets/Stepper_Down_Press.pngbin0 -> 6120 bytes
-rw-r--r--indra/newview/skins/contrast_gold/textures/widgets/Stepper_Up_Off.pngbin0 -> 4909 bytes
-rw-r--r--indra/newview/skins/contrast_gold/textures/widgets/Stepper_Up_Press.pngbin0 -> 6143 bytes
-rw-r--r--indra/newview/skins/contrast_gold/textures/widgets/TextField_Active.png (renamed from indra/newview/skins/contrast/textures/icons/Inv_SysClosed.png)bin4558 -> 4359 bytes
-rw-r--r--indra/newview/skins/contrast_gold/textures/widgets/TextField_Disabled.png (renamed from indra/newview/skins/contrast/textures/icons/Inv_SysOpen.png)bin4649 -> 4356 bytes
-rw-r--r--indra/newview/skins/contrast_gold/textures/widgets/TextField_Off.png (renamed from indra/newview/skins/contrast/textures/icons/Sync_Enabled.png)bin4636 -> 4359 bytes
-rw-r--r--indra/newview/skins/contrast_gold/textures/widgets/TextField_Search_Active.pngbin0 -> 903 bytes
-rw-r--r--indra/newview/skins/contrast_gold/textures/widgets/TextField_Search_Disabled.pngbin0 -> 886 bytes
-rw-r--r--indra/newview/skins/contrast_gold/textures/widgets/TextField_Search_Highlight.pngbin0 -> 3250 bytes
-rw-r--r--indra/newview/skins/contrast_gold/textures/widgets/TextField_Search_Off.pngbin0 -> 901 bytes
-rw-r--r--indra/newview/skins/contrast_gold/textures/widgets/Tooltip.pngbin0 -> 404 bytes
-rw-r--r--indra/newview/skins/contrast_gold/textures/widgets/bevel_background.pngbin0 -> 451 bytes
-rw-r--r--indra/newview/skins/contrast_gold/textures/widgets/buy_off.png (renamed from indra/newview/skins/contrast/textures/build/Object_Prism_Selected.png)bin4804 -> 4845 bytes
-rw-r--r--indra/newview/skins/contrast_gold/textures/widgets/buy_over.png (renamed from indra/newview/skins/contrast/textures/build/Object_Hemi_Cone_Selected.png)bin4855 -> 4856 bytes
-rw-r--r--indra/newview/skins/contrast_gold/textures/widgets/buy_press.png (renamed from indra/newview/skins/contrast/textures/build/Object_Tube_Selected.png)bin4871 -> 4909 bytes
-rw-r--r--indra/newview/skins/contrast_gold/textures/widgets/horizontal_drag_handle.pngbin0 -> 389 bytes
-rw-r--r--indra/newview/skins/contrast_gold/textures/widgets/jump_left_in.pngbin0 -> 434 bytes
-rw-r--r--indra/newview/skins/contrast_gold/textures/widgets/jump_left_out.pngbin0 -> 422 bytes
-rw-r--r--indra/newview/skins/contrast_gold/textures/widgets/jump_right_in.pngbin0 -> 426 bytes
-rw-r--r--indra/newview/skins/contrast_gold/textures/widgets/jump_right_out.pngbin0 -> 423 bytes
-rw-r--r--indra/newview/skins/contrast_gold/textures/widgets/vertical_drag_handle.png (renamed from indra/newview/skins/contrast/textures/widgets/vertical_drag_handle.png)bin396 -> 396 bytes
-rw-r--r--indra/newview/skins/contrast_gold/textures/windows/Dragbar.pngbin0 -> 503 bytes
-rw-r--r--indra/newview/skins/contrast_gold/textures/windows/Flyout_Left.pngbin0 -> 421 bytes
-rw-r--r--indra/newview/skins/contrast_gold/textures/windows/Flyout_Pointer.pngbin0 -> 436 bytes
-rw-r--r--indra/newview/skins/contrast_gold/textures/windows/Flyout_Right.pngbin0 -> 423 bytes
-rw-r--r--indra/newview/skins/contrast_gold/textures/windows/Icon_Close_Foreground.pngbin0 -> 402 bytes
-rw-r--r--indra/newview/skins/contrast_gold/textures/windows/Icon_Close_Press.pngbin0 -> 416 bytes
-rw-r--r--indra/newview/skins/contrast_gold/textures/windows/Icon_Close_Toast.pngbin0 -> 579 bytes
-rw-r--r--indra/newview/skins/contrast_gold/textures/windows/Icon_Dock_Foreground.pngbin0 -> 413 bytes
-rw-r--r--indra/newview/skins/contrast_gold/textures/windows/Icon_Dock_Press.pngbin0 -> 428 bytes
-rw-r--r--indra/newview/skins/contrast_gold/textures/windows/Icon_Gear.pngbin0 -> 4355 bytes
-rw-r--r--indra/newview/skins/contrast_gold/textures/windows/Icon_Gear_Background.pngbin0 -> 515 bytes
-rw-r--r--indra/newview/skins/contrast_gold/textures/windows/Icon_Gear_Foreground.pngbin0 -> 516 bytes
-rw-r--r--indra/newview/skins/contrast_gold/textures/windows/Icon_Gear_Press.pngbin0 -> 510 bytes
-rw-r--r--indra/newview/skins/contrast_gold/textures/windows/Icon_Help_Foreground.pngbin0 -> 501 bytes
-rw-r--r--indra/newview/skins/contrast_gold/textures/windows/Icon_Help_Press.pngbin0 -> 501 bytes
-rw-r--r--indra/newview/skins/contrast_gold/textures/windows/Icon_Minimize_Foreground.pngbin0 -> 351 bytes
-rw-r--r--indra/newview/skins/contrast_gold/textures/windows/Icon_Minimize_Press.pngbin0 -> 351 bytes
-rw-r--r--indra/newview/skins/contrast_gold/textures/windows/Icon_Restore_Foreground.pngbin0 -> 450 bytes
-rw-r--r--indra/newview/skins/contrast_gold/textures/windows/Icon_Restore_Press.pngbin0 -> 456 bytes
-rw-r--r--indra/newview/skins/contrast_gold/textures/windows/Icon_Undock_Foreground.pngbin0 -> 415 bytes
-rw-r--r--indra/newview/skins/contrast_gold/textures/windows/Inspector_Background.pngbin0 -> 462 bytes
-rw-r--r--indra/newview/skins/contrast_gold/textures/windows/Inspector_Hover.pngbin0 -> 645 bytes
-rw-r--r--indra/newview/skins/contrast_gold/textures/windows/Inspector_I.pngbin0 -> 5316 bytes
-rw-r--r--indra/newview/skins/contrast_gold/textures/windows/Resize_Corner.png (renamed from indra/newview/skins/contrast/textures/build/Object_Cylinder_Selected.png)bin4759 -> 4679 bytes
-rw-r--r--indra/newview/skins/contrast_gold/textures/windows/Toast_Background.pngbin0 -> 460 bytes
-rw-r--r--indra/newview/skins/contrast_gold/textures/windows/Toast_CloseBtn.pngbin0 -> 579 bytes
-rw-r--r--indra/newview/skins/contrast_gold/textures/windows/Toast_Over.pngbin0 -> 647 bytes
-rw-r--r--indra/newview/skins/contrast_gold/textures/windows/Volume_Background.pngbin0 -> 1652 bytes
-rw-r--r--indra/newview/skins/contrast_gold/textures/windows/Wearables_Divider.pngbin0 -> 311 bytes
-rw-r--r--indra/newview/skins/contrast_gold/textures/windows/Window_Background.pngbin0 -> 7131 bytes
-rw-r--r--indra/newview/skins/contrast_gold/textures/windows/Window_Foreground.pngbin0 -> 7087 bytes
-rw-r--r--indra/newview/skins/contrast_gold/textures/windows/first_login_image.jpgbin0 -> 398853 bytes
-rw-r--r--indra/newview/skins/contrast_gold/textures/windows/hint_arrow_down.pngbin0 -> 623 bytes
-rw-r--r--indra/newview/skins/contrast_gold/textures/windows/hint_arrow_left.pngbin0 -> 532 bytes
-rw-r--r--indra/newview/skins/contrast_gold/textures/windows/hint_arrow_lower_left.pngbin0 -> 540 bytes
-rw-r--r--indra/newview/skins/contrast_gold/textures/windows/hint_arrow_right.pngbin0 -> 563 bytes
-rw-r--r--indra/newview/skins/contrast_gold/textures/windows/hint_arrow_up.pngbin0 -> 637 bytes
-rw-r--r--indra/newview/skins/contrast_gold/textures/windows/hint_background.pngbin0 -> 1582 bytes
-rw-r--r--indra/newview/skins/contrast_gold/textures/windows/login_mp_logo.pngbin0 -> 23425 bytes
-rw-r--r--indra/newview/skins/contrast_gold/textures/windows/login_mp_logo_small.pngbin0 -> 17032 bytes
-rw-r--r--indra/newview/skins/contrast_gold/textures/windows/login_sl_logo.pngbin0 -> 6180 bytes
-rw-r--r--indra/newview/skins/contrast_gold/textures/windows/login_sl_logo_small.pngbin0 -> 5204 bytes
-rw-r--r--indra/newview/skins/contrast_gold/textures/windows/startup_logo.pngbin0 -> 3446 bytes
-rw-r--r--indra/newview/skins/contrast_gold/textures/windows/yellow_gradient.pngbin0 -> 1733 bytes
-rw-r--r--indra/newview/skins/contrast_gold/textures/world/CameraDragDot.pngbin0 -> 563 bytes
-rw-r--r--indra/newview/skins/contrast_gold/textures/world/NoEntryLines.pngbin0 -> 4829 bytes
-rw-r--r--indra/newview/skins/contrast_gold/textures/world/NoEntryPassLines.pngbin0 -> 5263 bytes
-rw-r--r--indra/newview/skins/contrast_gold/xui/en/panel_progress.xml201
-rw-r--r--indra/newview/skins/contrast_gold/xui/en/widgets/progress_bar.xml12
-rw-r--r--indra/newview/skins/default/textures/megapahit/fps_button.pngbin0 -> 195 bytes
-rw-r--r--indra/newview/skins/default/textures/megapahit/mp_blue_bullet.pngbin0 -> 654 bytes
-rw-r--r--indra/newview/skins/default/textures/megapahit/mp_green_bullet.pngbin0 -> 626 bytes
-rw-r--r--indra/newview/skins/default/textures/megapahit/mp_help_bullet.pngbin0 -> 704 bytes
-rw-r--r--indra/newview/skins/default/textures/megapahit/mp_info_bullet.pngbin0 -> 490 bytes
-rw-r--r--indra/newview/skins/default/textures/megapahit/mp_red_bullet.pngbin0 -> 629 bytes
-rw-r--r--indra/newview/skins/default/textures/megapahit/mp_yellow_bullet.pngbin0 -> 648 bytes
-rw-r--r--indra/newview/skins/default/textures/textures.xml10
-rw-r--r--indra/newview/skins/default/xui/en/floater_about.xml5
-rw-r--r--indra/newview/skins/default/xui/en/floater_mp_performance.xml115
-rw-r--r--indra/newview/skins/default/xui/en/floater_preferences.xml9
-rw-r--r--indra/newview/skins/default/xui/en/floater_preferences_graphics_advanced.xml92
-rw-r--r--indra/newview/skins/default/xui/en/panel_preferences_advanced.xml3
-rw-r--r--indra/newview/skins/default/xui/en/panel_preferences_colors.xml10
-rw-r--r--indra/newview/skins/default/xui/en/panel_preferences_graphics3.xml2063
-rw-r--r--indra/newview/skins/default/xui/en/panel_snapshot_local.xml4
-rw-r--r--indra/newview/skins/default/xui/en/panel_status_bar.xml10
832 files changed, 5349 insertions, 653 deletions
diff --git a/indra/newview/app_settings/settings.xml b/indra/newview/app_settings/settings.xml
index ab236f2fba..503f2760a8 100644
--- a/indra/newview/app_settings/settings.xml
+++ b/indra/newview/app_settings/settings.xml
@@ -8569,7 +8569,7 @@
<key>Type</key>
<string>F32</string>
<key>Value</key>
- <real>1.4</real>
+ <real>1.0</real>
</map>
<key>RenderShadowBlurSamples</key>
<map>
@@ -9348,9 +9348,9 @@
<key>Persist</key>
<integer>1</integer>
<key>Type</key>
- <string>U32</string>
+ <string>F32</string>
<key>Value</key>
- <integer>1</integer>
+ <integer>1.0</integer>
</map>
<key>RenderShaderLightingMaxLevel</key>
<map>
@@ -14385,7 +14385,133 @@
<!-- megapahit settings -->
- <key>MPVBufferOptiMode</key>
+
+ <key>MPVertexBufferMode</key>
+ <map>
+ <key>Comment</key>
+ <string>Vertex Buffer Mode for Mac (0=LL, 1=MP)</string>
+ <key>Persist</key>
+ <integer>1</integer>
+ <key>Type</key>
+ <string>U32</string>
+ <key>Value</key>
+ <integer>0</integer>
+ </map>
+ <key>MPHDRDisplay</key>
+ <map>
+ <key>Comment</key>
+ <string>Enable / Disable HDR Display Support (Mac)</string>
+ <key>Persist</key>
+ <integer>1</integer>
+ <key>Type</key>
+ <string>Boolean</string>
+ <key>Value</key>
+ <integer>0</integer>
+ </map>
+ <key>MPHDRBoost</key>
+ <map>
+ <key>Comment</key>
+ <string>HDR Boost</string>
+ <key>Persist</key>
+ <integer>1</integer>
+ <key>Type</key>
+ <string>F32</string>
+ <key>Value</key>
+ <integer>1.5</integer>
+ </map>
+ <key>MPHDRGamma</key>
+ <map>
+ <key>Comment</key>
+ <string>HDR Gamma</string>
+ <key>Persist</key>
+ <integer>1</integer>
+ <key>Type</key>
+ <string>F32</string>
+ <key>Value</key>
+ <integer>2.4</integer>
+ </map>
+ <key>MPHDRUIBoost</key>
+ <map>
+ <key>Comment</key>
+ <string>HDR UI Boost</string>
+ <key>Persist</key>
+ <integer>1</integer>
+ <key>Type</key>
+ <string>F32</string>
+ <key>Value</key>
+ <integer>1.5</integer>
+ </map>
+ <key>MPColorPrecision</key>
+ <map>
+ <key>Comment</key>
+ <string>Color buffers precision</string>
+ <key>Persist</key>
+ <integer>1</integer>
+ <key>Type</key>
+ <string>U32</string>
+ <key>Value</key>
+ <integer>0</integer>
+ </map>
+ <key>MPNoGLDebug</key>
+ <map>
+ <key>Comment</key>
+ <string>Enable / Disable GL Debug</string>
+ <key>Persist</key>
+ <integer>1</integer>
+ <key>Type</key>
+ <string>Boolean</string>
+ <key>Value</key>
+ <integer>1</integer>
+ </map>
+ <key>MPGamma</key>
+ <map>
+ <key>Comment</key>
+ <string>Enable / Disable Gamma</string>
+ <key>Persist</key>
+ <integer>1</integer>
+ <key>Type</key>
+ <string>Boolean</string>
+ <key>Value</key>
+ <integer>1</integer>
+ </map>
+ <key>MPTone</key>
+ <map>
+ <key>Comment</key>
+ <string>Enable / Disable Tonemap</string>
+ <key>Persist</key>
+ <integer>1</integer>
+ <key>Type</key>
+ <string>Boolean</string>
+ <key>Value</key>
+ <integer>1</integer>
+ </map>
+ <key>MPGlow</key>
+ <map>
+ <key>Comment</key>
+ <string>Enable / Disable Glow</string>
+ <key>Persist</key>
+ <integer>1</integer>
+ <key>Type</key>
+ <string>Boolean</string>
+ <key>Value</key>
+ <integer>1</integer>
+ </map>
+ <key>MPLuminanceMipmap</key>
+ <map>
+ <key>Comment</key>
+ <string>
+ Luminance Map Mipmaps:
+ (set to 0 to fix post-processing slowdowns)
+ 0:no
+ 1:yes
+ </string>
+ <key>Persist</key>
+ <integer>1</integer>
+ <key>Type</key>
+ <string>U32</string>
+ <key>Value</key>
+ <integer>1</integer>
+ </map>
<map>
<key>Comment</key>
<string>
@@ -14401,17 +14527,127 @@
<key>Value</key>
<integer>0</integer>
</map>
- <key>MPRenderShadowOpti</key>
+ <key>MPRenderShadowMaxDist</key>
<map>
<key>Comment</key>
- <string>Shadows Optimisations</string>
+ <string>Shadows Max Draw distance</string>
<key>Persist</key>
<integer>1</integer>
<key>Type</key>
- <string>S32</string>
+ <string>F32</string>
+ <key>Value</key>
+ <integer>64</integer>
+ </map>
+ <key>MPRenderBloom</key>
+ <map>
+ <key>Comment</key>
+ <string>Automatic bloom (n blur iterations, 0: Disable)</string>
+ <key>Persist</key>
+ <integer>1</integer>
+ <key>Type</key>
+ <string>U32</string>
<key>Value</key>
<integer>0</integer>
</map>
+ <key>MPBloomExtractBrightness</key>
+ <map>
+ <key>Comment</key>
+ <string>Auto bloom: Min extracted brightness</string>
+ <key>Persist</key>
+ <integer>1</integer>
+ <key>Type</key>
+ <string>F32</string>
+ <key>Value</key>
+ <real>0.20</real>
+ </map>
+ <key>MPBloomExtractMetal</key>
+ <map>
+ <key>Comment</key>
+ <string>Auto bloom: Metal roughness limit filter</string>
+ <key>Persist</key>
+ <integer>1</integer>
+ <key>Type</key>
+ <string>F32</string>
+ <key>Value</key>
+ <real>0.40</real>
+ </map>
+ <key>MPBloomExtractNonMetal</key>
+ <map>
+ <key>Comment</key>
+ <string>Auto bloom: Non Metal roughness limit filter</string>
+ <key>Persist</key>
+ <integer>1</integer>
+ <key>Type</key>
+ <string>F32</string>
+ <key>Value</key>
+ <real>0.0</real>
+ </map>
+ <key>MPBloomStrength</key>
+ <map>
+ <key>Comment</key>
+ <string>Auto bloom Strength (0.1 to 1.5)</string>
+ <key>Persist</key>
+ <integer>1</integer>
+ <key>Type</key>
+ <string>F32</string>
+ <key>Value</key>
+ <real>1.0</real>
+ </map>
+ <key>MPBloomBlurRadius</key>
+ <map>
+ <key>Comment</key>
+ <string>Auto bloom: Radius</string>
+ <key>Persist</key>
+ <integer>1</integer>
+ <key>Type</key>
+ <string>F32</string>
+ <key>Value</key>
+ <real>1.5</real>
+ </map>
+ <key>MPBloomBlurRadiusAdd</key>
+ <map>
+ <key>Comment</key>
+ <string>Auto bloom: Radius add</string>
+ <key>Persist</key>
+ <integer>1</integer>
+ <key>Type</key>
+ <string>F32</string>
+ <key>Value</key>
+ <real>0.9</real>
+ </map>
+ <key>MPRenderProbeUpdatePeriod</key>
+ <map>
+ <key>Comment</key>
+ <string>Delay between probes updates</string>
+ <key>Persist</key>
+ <integer>1</integer>
+ <key>Type</key>
+ <string>F32</string>
+ <key>Value</key>
+ <real>15.0</real>
+ </map>
+ <key>MPRenderProbeSlowDown</key>
+ <map>
+ <key>Comment</key>
+ <string>Slow down probes updates</string>
+ <key>Persist</key>
+ <integer>1</integer>
+ <key>Type</key>
+ <string>F32</string>
+ <key>Value</key>
+ <real>0.05</real>
+ </map>
+ <key>MPRenderProbeProgressive</key>
+ <map>
+ <key>Comment</key>
+ <string>Calculate Radiance progressively</string>
+ <key>Persist</key>
+ <integer>1</integer>
+ <key>Type</key>
+ <string>Boolean</string>
+ <key>Value</key>
+ <real>0</real>
+ </map>
<key>MPVCameraCollapsed</key>
<map>
<key>Comment</key>
diff --git a/indra/newview/app_settings/shaders/class1/deferred/MPHDRDisplayGammaF.glsl b/indra/newview/app_settings/shaders/class1/deferred/MPHDRDisplayGammaF.glsl
new file mode 100644
index 0000000000..7107cfcbce
--- /dev/null
+++ b/indra/newview/app_settings/shaders/class1/deferred/MPHDRDisplayGammaF.glsl
@@ -0,0 +1,55 @@
+/**
+ * @file postDeferredGammaCorrect.glsl
+ *
+ * $LicenseInfo:firstyear=2007&license=viewerlgpl$
+ * Second Life Viewer Source Code
+ * Copyright (C) 2007, 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$
+ */
+
+/*[EXTRA_CODE_HERE]*/
+
+out vec4 frag_color;
+
+uniform sampler2D diffuseRect;
+
+uniform float gamma = 2.2;
+uniform float mpHDRBoost;
+
+in vec2 vary_fragcoord;
+
+vec3 clampHDRRange(vec3 color);
+
+vec3 HDRDisplayGamma(vec3 linearRGB)
+{
+ bvec3 cutoff = lessThan(linearRGB, vec3(0.0031308));
+ vec3 higher = vec3(1.055)*pow(linearRGB, vec3(1.0/gamma)) - vec3(0.055);
+ vec3 lower = linearRGB * vec3(12.92);
+
+ return mix(higher, lower, cutoff);
+}
+
+void main()
+{
+ vec4 diff = texture(diffuseRect, vary_fragcoord);
+ diff.rgb = mpHDRBoost * HDRDisplayGamma(diff.rgb);
+ diff.rgb = clampHDRRange(diff.rgb);
+ frag_color = diff;
+}
+
diff --git a/indra/newview/app_settings/shaders/class1/deferred/avatarAlphaMaskShadowF.glsl b/indra/newview/app_settings/shaders/class1/deferred/avatarAlphaMaskShadowF.glsl
index f1e0295859..084a334346 100644
--- a/indra/newview/app_settings/shaders/class1/deferred/avatarAlphaMaskShadowF.glsl
+++ b/indra/newview/app_settings/shaders/class1/deferred/avatarAlphaMaskShadowF.glsl
@@ -23,7 +23,7 @@
* $/LicenseInfo$
*/
-out vec4 frag_color;
+//out vec4 frag_color;
uniform float minimum_alpha;
uniform sampler2D diffuseMap;
@@ -49,5 +49,5 @@ void main()
}
}
- frag_color = vec4(1,1,1,1);
+ //frag_color = vec4(1,1,1,1);
}
diff --git a/indra/newview/app_settings/shaders/class1/deferred/avatarAlphaShadowF.glsl b/indra/newview/app_settings/shaders/class1/deferred/avatarAlphaShadowF.glsl
index 18ce998cb6..5986e8e462 100644
--- a/indra/newview/app_settings/shaders/class1/deferred/avatarAlphaShadowF.glsl
+++ b/indra/newview/app_settings/shaders/class1/deferred/avatarAlphaShadowF.glsl
@@ -23,7 +23,7 @@
* $/LicenseInfo$
*/
-out vec4 frag_color;
+//out vec4 frag_color;
uniform float minimum_alpha;
@@ -51,5 +51,5 @@ void main()
}
}
- frag_color = vec4(1,1,1,1);
+ //frag_color = vec4(1,1,1,1);
}
diff --git a/indra/newview/app_settings/shaders/class1/deferred/avatarShadowF.glsl b/indra/newview/app_settings/shaders/class1/deferred/avatarShadowF.glsl
index 37dcbbd328..4396ae89a4 100644
--- a/indra/newview/app_settings/shaders/class1/deferred/avatarShadowF.glsl
+++ b/indra/newview/app_settings/shaders/class1/deferred/avatarShadowF.glsl
@@ -25,10 +25,10 @@
/*[EXTRA_CODE_HERE]*/
-out vec4 frag_color;
+//out vec4 frag_color;
void main()
{
- frag_color = vec4(1,1,1,1);
+ //frag_color = vec4(1,1,1,1);
}
diff --git a/indra/newview/app_settings/shaders/class1/deferred/pbrShadowAlphaBlendF.glsl b/indra/newview/app_settings/shaders/class1/deferred/pbrShadowAlphaBlendF.glsl
index dbaab9bbda..90d81ab6b2 100644
--- a/indra/newview/app_settings/shaders/class1/deferred/pbrShadowAlphaBlendF.glsl
+++ b/indra/newview/app_settings/shaders/class1/deferred/pbrShadowAlphaBlendF.glsl
@@ -23,7 +23,7 @@
* $/LicenseInfo$
*/
-out vec4 frag_color;
+//out vec4 frag_color;
uniform sampler2D diffuseMap;
@@ -52,5 +52,5 @@ void main()
}
}
- frag_color = vec4(1,1,1,1);
+ //frag_color = vec4(1,1,1,1);
}
diff --git a/indra/newview/app_settings/shaders/class1/deferred/pbrShadowAlphaMaskF.glsl b/indra/newview/app_settings/shaders/class1/deferred/pbrShadowAlphaMaskF.glsl
index 07a2218db2..2b314db51a 100644
--- a/indra/newview/app_settings/shaders/class1/deferred/pbrShadowAlphaMaskF.glsl
+++ b/indra/newview/app_settings/shaders/class1/deferred/pbrShadowAlphaMaskF.glsl
@@ -23,7 +23,7 @@
* $/LicenseInfo$
*/
-out vec4 frag_color;
+//out vec4 frag_color;
uniform sampler2D diffuseMap;
@@ -42,5 +42,5 @@ void main()
discard;
}
- frag_color = vec4(1,1,1,1);
+ //frag_color = vec4(1,1,1,1);
}
diff --git a/indra/newview/app_settings/shaders/class1/deferred/postDeferredGammaCorrect.glsl b/indra/newview/app_settings/shaders/class1/deferred/postDeferredGammaCorrect.glsl
index 4ccc6f54a8..197ce48a45 100644
--- a/indra/newview/app_settings/shaders/class1/deferred/postDeferredGammaCorrect.glsl
+++ b/indra/newview/app_settings/shaders/class1/deferred/postDeferredGammaCorrect.glsl
@@ -30,7 +30,7 @@ out vec4 frag_color;
uniform sampler2D diffuseRect;
uniform float gamma;
-uniform vec2 screen_res;
+//uniform vec2 screen_res;
in vec2 vary_fragcoord;
vec3 linear_to_srgb(vec3 cl);
diff --git a/indra/newview/app_settings/shaders/class1/deferred/shadowAlphaMaskF.glsl b/indra/newview/app_settings/shaders/class1/deferred/shadowAlphaMaskF.glsl
index f208ac746b..a37e970feb 100644
--- a/indra/newview/app_settings/shaders/class1/deferred/shadowAlphaMaskF.glsl
+++ b/indra/newview/app_settings/shaders/class1/deferred/shadowAlphaMaskF.glsl
@@ -25,7 +25,7 @@
/*[EXTRA_CODE_HERE]*/
-out vec4 frag_color;
+//out vec4 frag_color;
in vec4 post_pos;
in float target_pos_x;
@@ -59,5 +59,5 @@ void main()
}
}
- frag_color = vec4(1,1,1,1);
+ //frag_color = vec4(1,1,1,1);
}
diff --git a/indra/newview/app_settings/shaders/class1/deferred/shadowF.glsl b/indra/newview/app_settings/shaders/class1/deferred/shadowF.glsl
index b55d769fd6..c4e4c4d051 100644
--- a/indra/newview/app_settings/shaders/class1/deferred/shadowF.glsl
+++ b/indra/newview/app_settings/shaders/class1/deferred/shadowF.glsl
@@ -23,9 +23,9 @@
* $/LicenseInfo$
*/
-out vec4 frag_color;
+//out vec4 frag_color;
void main()
{
- frag_color = vec4(1,1,1,1);
+ //frag_color = vec4(1,1,1,1);
}
diff --git a/indra/newview/app_settings/shaders/class1/deferred/shadowUtil.glsl b/indra/newview/app_settings/shaders/class1/deferred/shadowUtil.glsl
index 6f7bd2bf3c..033c2f924a 100644
--- a/indra/newview/app_settings/shaders/class1/deferred/shadowUtil.glsl
+++ b/indra/newview/app_settings/shaders/class1/deferred/shadowUtil.glsl
@@ -113,8 +113,8 @@ float sampleDirectionalShadow(vec3 pos, vec3 norm, vec2 pos_screen)
if (spos.z > -shadow_clip.w)
{
vec4 lpos;
- vec4 near_split = shadow_clip*-0.75;
- vec4 far_split = shadow_clip*-1.25;
+ vec4 near_split = shadow_clip*-0.9;
+ vec4 far_split = shadow_clip*-1.1;
vec4 transition_domain = near_split-far_split;
float weight = 0.0;
@@ -131,7 +131,10 @@ float sampleDirectionalShadow(vec3 pos, vec3 norm, vec2 pos_screen)
shadow += contrib;
weight += w;
}
- shadow += max((pos.z+shadow_clip.z)/(shadow_clip.z-shadow_clip.w)*2.0-1.0, 0.0);
+
+ //shadow += max( (pos.z+shadow_clip.z) / (shadow_clip.z-shadow_clip.w) * 2.0 - 1.0, 0.0);
+ shadow += max( (pos.z+shadow_clip.z) / (shadow_clip.z-shadow_clip.w) * 1.0, 0.0);
+ //shadow -= max( (shadow_clip.z + pos.z) / (shadow_clip.z - shadow_clip.w) , 0.0);
}
if (spos.z < near_split.y && spos.z > far_split.z)
diff --git a/indra/newview/app_settings/shaders/class1/deferred/treeShadowF.glsl b/indra/newview/app_settings/shaders/class1/deferred/treeShadowF.glsl
index 33a5efa45d..4579d4fbe0 100644
--- a/indra/newview/app_settings/shaders/class1/deferred/treeShadowF.glsl
+++ b/indra/newview/app_settings/shaders/class1/deferred/treeShadowF.glsl
@@ -26,7 +26,7 @@
/*[EXTRA_CODE_HERE]*/
-out vec4 frag_color;
+//out vec4 frag_color;
uniform float minimum_alpha;
@@ -43,5 +43,5 @@ void main()
discard;
}
- frag_color = vec4(1,1,1,1);
+ //frag_color = vec4(1,1,1,1);
}
diff --git a/indra/newview/app_settings/shaders/class1/effects/bloomBlurF.glsl b/indra/newview/app_settings/shaders/class1/effects/bloomBlurF.glsl
new file mode 100644
index 0000000000..0efbbdce96
--- /dev/null
+++ b/indra/newview/app_settings/shaders/class1/effects/bloomBlurF.glsl
@@ -0,0 +1,37 @@
+out vec4 frag_color;
+
+in vec2 vary_texcoord0;
+
+uniform sampler2D bloomEMap;
+
+uniform bool bloomHorizontal;
+uniform float bloomBlurRadius = 1.5;
+
+uniform float weight[5] = float[] (0.227027, 0.1945946, 0.1216216, 0.054054, 0.016216);
+
+void main()
+{
+ vec2 size = vec2(bloomBlurRadius, bloomBlurRadius);
+
+ vec2 tex_offset = size / textureSize(bloomEMap, 0); // gets size of single texel
+ vec3 result = texture(bloomEMap, vary_texcoord0).rgb * weight[0]; // current fragment's contribution
+
+ if(bloomHorizontal)
+ {
+ for(int i = 1; i < 5; i++)
+ {
+ result += texture(bloomEMap, vary_texcoord0 + vec2(tex_offset.x * i, 0.0)).rgb * weight[i];
+ result += texture(bloomEMap, vary_texcoord0 - vec2(tex_offset.x * i, 0.0)).rgb * weight[i];
+ }
+ }
+ else
+ {
+ for(int i = 1; i < 5; i++)
+ {
+ result += texture(bloomEMap, vary_texcoord0 + vec2(0.0, tex_offset.y * i)).rgb * weight[i];
+ result += texture(bloomEMap, vary_texcoord0 - vec2(0.0, tex_offset.y * i)).rgb * weight[i];
+ }
+ }
+
+ frag_color = vec4(result, 1.0);
+} \ No newline at end of file
diff --git a/indra/newview/app_settings/shaders/class1/effects/bloomBlurV.glsl b/indra/newview/app_settings/shaders/class1/effects/bloomBlurV.glsl
new file mode 100644
index 0000000000..e40b60ed3c
--- /dev/null
+++ b/indra/newview/app_settings/shaders/class1/effects/bloomBlurV.glsl
@@ -0,0 +1,8 @@
+in vec3 position;
+out vec2 vary_texcoord0;
+
+void main()
+{
+ gl_Position = vec4(position, 1.0);
+ vary_texcoord0.xy = position.xy * 0.5 + 0.5;
+} \ No newline at end of file
diff --git a/indra/newview/app_settings/shaders/class1/effects/bloomCombineF.glsl b/indra/newview/app_settings/shaders/class1/effects/bloomCombineF.glsl
new file mode 100644
index 0000000000..40cfdd6bff
--- /dev/null
+++ b/indra/newview/app_settings/shaders/class1/effects/bloomCombineF.glsl
@@ -0,0 +1,21 @@
+out vec4 frag_color;
+
+in vec2 vary_texcoord0;
+
+uniform sampler2D diffuseMap;
+uniform sampler2D bloomBlurredMap;
+
+uniform float bloomStrength;
+uniform float bloomClampValue;
+
+void main()
+{
+ vec4 hdrColor = texture(diffuseMap, vary_texcoord0);
+ vec4 bloomColor = texture(bloomBlurredMap, vary_texcoord0);
+ vec4 result = hdrColor;
+
+ result.rgb += bloomStrength * bloomColor.rgb;
+ result.rgb = clamp(result.rgb, vec3(0.0), vec3(bloomClampValue));
+
+ frag_color = result;
+} \ No newline at end of file
diff --git a/indra/newview/app_settings/shaders/class1/effects/bloomCombineV.glsl b/indra/newview/app_settings/shaders/class1/effects/bloomCombineV.glsl
new file mode 100644
index 0000000000..e40b60ed3c
--- /dev/null
+++ b/indra/newview/app_settings/shaders/class1/effects/bloomCombineV.glsl
@@ -0,0 +1,8 @@
+in vec3 position;
+out vec2 vary_texcoord0;
+
+void main()
+{
+ gl_Position = vec4(position, 1.0);
+ vary_texcoord0.xy = position.xy * 0.5 + 0.5;
+} \ No newline at end of file
diff --git a/indra/newview/app_settings/shaders/class1/effects/bloomExtractF.glsl b/indra/newview/app_settings/shaders/class1/effects/bloomExtractF.glsl
new file mode 100644
index 0000000000..d878ab053e
--- /dev/null
+++ b/indra/newview/app_settings/shaders/class1/effects/bloomExtractF.glsl
@@ -0,0 +1,81 @@
+out vec4 frag_color;
+
+uniform sampler2D diffuseMap;
+uniform sampler2D bloomExtractORM; // orm
+uniform sampler2D bloomExtractEmissive; // emissive
+uniform sampler2D bloomExtractEmissive2; // emissive 2
+
+uniform float bloomExtractBrightness = 0.9;
+uniform float bloomExtractMetal = 0.20;
+uniform float bloomExtractNonMetal = 0.20;
+
+in vec2 vary_texcoord0;
+
+void main()
+{
+ vec4 col = texture(diffuseMap, vary_texcoord0.xy);
+
+ //int valid = 0;
+ //float brightness = dot(col.rgb, vec3(0.2126, 0.7152, 0.0722));
+ float brightness = dot(col.rgb, vec3(0.3, 0.5, 0.2));
+
+ if(brightness < bloomExtractBrightness)
+ {
+ discard;
+ return;
+ }
+
+ vec3 emi = texture(bloomExtractEmissive, vary_texcoord0.xy).rgb;
+ if(emi.r + emi.g + emi.b > 0.01)
+ {
+ discard;
+ return;
+ }
+
+ emi = texture(bloomExtractEmissive2, vary_texcoord0.xy).rgb;
+ if(emi.r + emi.g + emi.b > 0.01)
+ {
+ discard;
+ return;
+ }
+
+ vec4 orm = texture(bloomExtractORM, vary_texcoord0.xy);
+
+ if(orm.r < 0.7)
+ {
+ discard;
+ return;
+ }
+
+ if(bloomExtractMetal == 1.0 && bloomExtractNonMetal == 1.0)
+ {
+ frag_color = vec4(col.rgb, 0.0);
+ return;
+ }
+
+ if(orm.b < 0.15)
+ {
+ // non metal
+ if(orm.g >= bloomExtractNonMetal)
+ {
+ discard;
+ return;
+ }
+ }
+ else if(orm.b > 0.8)
+ {
+ // metal
+ if(orm.g >= bloomExtractMetal)
+ {
+ discard;
+ return;
+ }
+ }
+ else
+ {
+ discard;
+ return;
+ }
+
+ frag_color = vec4(col.rgb, 0.0);
+} \ No newline at end of file
diff --git a/indra/newview/app_settings/shaders/class1/effects/bloomExtractV.glsl b/indra/newview/app_settings/shaders/class1/effects/bloomExtractV.glsl
new file mode 100644
index 0000000000..e40b60ed3c
--- /dev/null
+++ b/indra/newview/app_settings/shaders/class1/effects/bloomExtractV.glsl
@@ -0,0 +1,8 @@
+in vec3 position;
+out vec2 vary_texcoord0;
+
+void main()
+{
+ gl_Position = vec4(position, 1.0);
+ vary_texcoord0.xy = position.xy * 0.5 + 0.5;
+} \ No newline at end of file
diff --git a/indra/newview/app_settings/shaders/class1/interface/uiF.glsl b/indra/newview/app_settings/shaders/class1/interface/uiF.glsl
index 83fe1c505f..42cc333829 100644
--- a/indra/newview/app_settings/shaders/class1/interface/uiF.glsl
+++ b/indra/newview/app_settings/shaders/class1/interface/uiF.glsl
@@ -27,10 +27,12 @@ out vec4 frag_color;
uniform sampler2D diffuseMap;
+uniform float mpHDRBoost = 1.0;
+
in vec2 vary_texcoord0;
in vec4 vertex_color;
void main()
{
- frag_color = vertex_color*texture(diffuseMap, vary_texcoord0.xy);
+ frag_color = mpHDRBoost * vertex_color*texture(diffuseMap, vary_texcoord0.xy);
}
diff --git a/indra/newview/featuretable_mac.txt b/indra/newview/featuretable_mac.txt
index 3233afc28d..396ece9dc1 100644
--- a/indra/newview/featuretable_mac.txt
+++ b/indra/newview/featuretable_mac.txt
@@ -69,7 +69,7 @@ RenderMaxTextureIndex 1 16
RenderGLContextCoreProfile 1 1
RenderGLMultiThreadedTextures 1 1
RenderGLMultiThreadedMedia 1 1
-RenderAppleUseMultGL 1 1
+RenderAppleUseMultGL 1 0
RenderReflectionsEnabled 1 1
RenderReflectionProbeDetail 1 2
RenderScreenSpaceReflections 1 1
@@ -129,7 +129,8 @@ RenderTonemapType 1 1
RenderTonemapMix 1 0.7
RenderDisableVintageMode 1 0
RenderMaxTextureResolution 1 512
-RenderReflectionProbeCount 1 8
+RenderReflectionProbeCount 1 4
+RenderReflectionProbeDrawDistance 1 16.0
//
@@ -152,7 +153,7 @@ RenderTerrainPBRDetail 1 -1
RenderTerrainPBRPlanarSampleCount 1 1
RenderTransparentWater 1 0
RenderTreeLODFactor 1 0.5
-RenderVolumeLODFactor 1 1.125
+RenderVolumeLODFactor 1 2.0
RenderDeferredSSAO 1 0
RenderShadowDetail 1 0
WLSkyDetail 1 96
@@ -173,7 +174,8 @@ RenderTonemapType 1 1
RenderTonemapMix 1 0.7
RenderDisableVintageMode 1 0
RenderMaxTextureResolution 1 1024
-RenderReflectionProbeCount 1 32
+RenderReflectionProbeCount 1 16
+RenderReflectionProbeDrawDistance 1 24.0
//
// Medium Graphics Settings (standard)
@@ -195,7 +197,7 @@ RenderTerrainPBRDetail 1 0
RenderTerrainPBRPlanarSampleCount 1 1
RenderTransparentWater 1 0
RenderTreeLODFactor 1 0.5
-RenderVolumeLODFactor 1 1.25
+RenderVolumeLODFactor 1 2.5
RenderDeferredSSAO 1 0
RenderShadowDetail 1 0
WLSkyDetail 1 96
@@ -216,6 +218,7 @@ RenderTonemapType 1 1
RenderTonemapMix 1 0.7
RenderMaxTextureResolution 1 2048
RenderReflectionProbeCount 1 64
+RenderReflectionProbeDrawDistance 1 32.0
//
// Medium High Graphics Settings
@@ -237,7 +240,7 @@ RenderTerrainPBRDetail 1 0
RenderTerrainPBRPlanarSampleCount 1 1
RenderTransparentWater 1 0
RenderTreeLODFactor 1 0.5
-RenderVolumeLODFactor 1 1.375
+RenderVolumeLODFactor 1 3.5
RenderDeferredSSAO 1 0
RenderShadowDetail 1 0
WLSkyDetail 1 96
@@ -279,7 +282,7 @@ RenderTerrainPBRDetail 1 0
RenderTerrainPBRPlanarSampleCount 1 3
RenderTransparentWater 1 1
RenderTreeLODFactor 1 0.5
-RenderVolumeLODFactor 1 1.5
+RenderVolumeLODFactor 1 3.8
RenderDeferredSSAO 1 1
RenderShadowDetail 1 1
WLSkyDetail 1 96
@@ -321,7 +324,7 @@ RenderTerrainPBRDetail 1 0
RenderTerrainPBRPlanarSampleCount 1 3
RenderTransparentWater 1 1
RenderTreeLODFactor 1 0.5
-RenderVolumeLODFactor 1 1.75
+RenderVolumeLODFactor 1 4.0
RenderDeferredSSAO 1 1
RenderShadowDetail 1 2
WLSkyDetail 1 96
@@ -362,7 +365,7 @@ RenderTerrainPBRDetail 1 0
RenderTerrainPBRPlanarSampleCount 1 3
RenderTransparentWater 1 1
RenderTreeLODFactor 1 1.0
-RenderVolumeLODFactor 1 2.0
+RenderVolumeLODFactor 1 4.0
WindLightUseAtmosShaders 1 1
WLSkyDetail 1 128
RenderDeferredSSAO 1 1
@@ -406,7 +409,7 @@ RenderCompressTextures 1 0
//
list safe
RenderAnisotropic 1 0
-RenderAvatarMaxNonImpostors 1 16
+RenderAvatarMaxNonImpostors 1 3
RenderAvatarMaxComplexity 1 80000
RenderLocalLightCount 1 0
RenderMaxPartCount 1 1024
diff --git a/indra/newview/llappviewer.cpp b/indra/newview/llappviewer.cpp
index 32f4421ce2..551d4fc5d9 100644
--- a/indra/newview/llappviewer.cpp
+++ b/indra/newview/llappviewer.cpp
@@ -305,6 +305,7 @@ extern bool gDebugGL;
#if LL_DARWIN
extern bool gHiDPISupport;
+extern bool gHDRDisplaySupport;
#endif
////////////////////////////////////////////////////////////
@@ -596,6 +597,7 @@ static void settings_to_globals()
LLWindowMacOSX::sUseMultGL = gSavedSettings.getBOOL("RenderAppleUseMultGL");
#endif // LL_SDL
gHiDPISupport = gSavedSettings.getBOOL("RenderHiDPI");
+ gHDRDisplaySupport = gSavedSettings.getBOOL("MPHDRDisplay");
#endif
}
@@ -607,6 +609,8 @@ static void settings_modify()
LLVOSurfacePatch::sLODFactor = gSavedSettings.getF32("RenderTerrainLODFactor");
LLVOSurfacePatch::sLODFactor *= LLVOSurfacePatch::sLODFactor; //square lod factor to get exponential range of [1,4]
gDebugGL = gDebugGLSession || gDebugSession;
+ bool noGLDebug = gSavedSettings.getBOOL("MPNoGLDebug");
+ if(noGLDebug) gDebugGL = false;
gDebugPipeline = gSavedSettings.getBOOL("RenderDebugPipeline");
}
@@ -1310,11 +1314,15 @@ void LLAppViewer::initMaxHeapSize()
//------------------------------------------------------------------------------------------
//currently SL is built under 32-bit setting, we set its max heap size no more than 1.6 GB.
- #ifndef LL_X86_64
+/*
+#ifndef LL_X86_64
F32Gigabytes max_heap_size_gb = (F32Gigabytes)gSavedSettings.getF32("MaxHeapSize") ;
#else
+*/
F32Gigabytes max_heap_size_gb = (F32Gigabytes)gSavedSettings.getF32("MaxHeapSize64");
+/*
#endif
+*/
LLMemory::initMaxHeapSizeGB(max_heap_size_gb);
}
@@ -1366,12 +1374,11 @@ bool LLAppViewer::frame()
bool LLAppViewer::doFrame()
{
U32 fpsLimitMaxFps = (U32)gSavedSettings.getU32("MaxFPS");
- if(fpsLimitMaxFps>120) fpsLimitMaxFps=0;
+ if(fpsLimitMaxFps > 120) fpsLimitMaxFps = 0;
using TimePoint = std::chrono::steady_clock::time_point;
-
- U64 fpsLimitSleepFor = 0;
- TimePoint fpsLimitFrameStartTime = std::chrono::steady_clock::now();
+ U64 additionalSleepTime = 0;
+ TimePoint frameStartTime = std::chrono::steady_clock::now();
#ifdef LL_DISCORD
{
@@ -1550,18 +1557,6 @@ bool LLAppViewer::doFrame()
}
}
- if(fpsLimitMaxFps > 0)
- {
- auto elapsed = std::chrono::steady_clock::now() - fpsLimitFrameStartTime;
-
- long long fpsLimitFrameTime = std::chrono::duration_cast<std::chrono::microseconds>(elapsed).count();
- U64 desired_time_us = (U32)(1000000.f / fpsLimitMaxFps);
- if((fpsLimitFrameTime+1000) < desired_time_us)
- {
- fpsLimitSleepFor = (desired_time_us - fpsLimitFrameTime - 1000) * 1.0;
- }
- }
-
{
LL_PROFILE_ZONE_NAMED_CATEGORY_APP("df pauseMainloopTimeout");
pingMainloopTimeout("Main:Sleep");
@@ -1574,13 +1569,25 @@ bool LLAppViewer::doFrame()
//LL_RECORD_BLOCK_TIME(SLEEP2);
LL_PROFILE_ZONE_WARN("Sleep2");
- if(fpsLimitSleepFor)
+ auto elapsed = std::chrono::steady_clock::now() - frameStartTime;
+ long long frameTime = std::chrono::duration_cast<std::chrono::microseconds>(elapsed).count();
+
+ if(fpsLimitMaxFps > 0)
{
-#if LL_WINDOWS
- std::this_thread::sleep_for(std::chrono::microseconds(fpsLimitSleepFor));
-#else
- usleep(fpsLimitSleepFor);
-#endif
+ U64 desired_time_us = (U32)(1000000.f / fpsLimitMaxFps);
+ if((frameTime+1000) < desired_time_us)
+ {
+ additionalSleepTime = 0.92 * (F64)(desired_time_us - frameTime);
+ if(additionalSleepTime < 200)
+ {
+ additionalSleepTime = 0;
+ }
+ }
+ }
+
+ if(additionalSleepTime > 0)
+ {
+ std::this_thread::sleep_for(std::chrono::microseconds(additionalSleepTime));
}
// yield some time to the os based on command line option
@@ -1676,6 +1683,9 @@ bool LLAppViewer::doFrame()
LL_PROFILE_ZONE_NAMED_CATEGORY_APP("df resumeMainloopTimeout");
resumeMainloopTimeout();
}
+
+ //swap();
+
pingMainloopTimeout("Main:End");
}
}
diff --git a/indra/newview/lldrawpoolbump.cpp b/indra/newview/lldrawpoolbump.cpp
index bf593bff07..c9470fe977 100644
--- a/indra/newview/lldrawpoolbump.cpp
+++ b/indra/newview/lldrawpoolbump.cpp
@@ -911,7 +911,8 @@ void LLBumpImageList::onSourceUpdated(LLViewerTexture* src, EBumpEffect bump_cod
// generate normal map in empty texture
{
- sRenderTarget.bindTarget();
+ sRenderTarget.bindTarget("", 1);
+ //sRenderTarget.clear();
LLGLDepthTest depth(GL_FALSE);
LLGLDisable cull(GL_CULL_FACE);
diff --git a/indra/newview/lldrawpoolwater.cpp b/indra/newview/lldrawpoolwater.cpp
index 7d58511d41..424bb02ae7 100644
--- a/indra/newview/lldrawpoolwater.cpp
+++ b/indra/newview/lldrawpoolwater.cpp
@@ -119,7 +119,8 @@ void LLDrawPoolWater::beginPostDeferredPass(S32 pass)
LLRenderTarget& depth_src = gPipeline.mRT->deferredScreen;
LLRenderTarget& dst = gPipeline.mWaterDis;
- dst.bindTarget();
+ dst.bindTarget("", 1);
+ //dst.clear();
gCopyDepthProgram.bind();
S32 diff_map = gCopyDepthProgram.getTextureChannel(LLShaderMgr::DIFFUSE_MAP);
diff --git a/indra/newview/llface.cpp b/indra/newview/llface.cpp
index fb4db9a216..e4b81ba00a 100644
--- a/indra/newview/llface.cpp
+++ b/indra/newview/llface.cpp
@@ -648,7 +648,7 @@ void LLFace::renderOneWireframe(const LLColor4 &color, F32 fogCfx, bool wirefram
LLGLEnable offset(GL_POLYGON_OFFSET_LINE);
#endif
glPolygonOffset(3.f, 3.f);
- glLineWidth(5.f);
+ //glLineWidth(5.f);
#if GL_VERSION_1_1
glPolygonMode(GL_FRONT_AND_BACK, GL_LINE);
#endif
diff --git a/indra/newview/llfasttimerview.cpp b/indra/newview/llfasttimerview.cpp
index aa2578fec6..ac052d35e4 100644
--- a/indra/newview/llfasttimerview.cpp
+++ b/indra/newview/llfasttimerview.cpp
@@ -518,7 +518,8 @@ void LLFastTimerView::exportCharts(const std::string& base, const std::string& t
//render charts
gGL.getTexUnit(0)->unbind(LLTexUnit::TT_TEXTURE);
- buffer.bindTarget();
+ buffer.bindTarget("", 1);
+ buffer.clear();
for (std::set<std::string>::iterator iter = chart_names.begin(); iter != chart_names.end(); ++iter)
{
@@ -1057,8 +1058,7 @@ void LLFastTimerView::drawLineGraph()
//fatten highlighted timer
if (mHoverID == idp)
{
- gGL.flush();
- glLineWidth(3);
+ LLRender2D::setLineWidth(3.0);
}
llassert(idp->getIndex() < sTimerColors.size());
@@ -1118,8 +1118,7 @@ void LLFastTimerView::drawLineGraph()
if (mHoverID == idp)
{
- gGL.flush();
- glLineWidth(1);
+ LLRender2D::setLineWidth(1.f);
}
if (idp->getTreeNode().mCollapsed)
diff --git a/indra/newview/llfloaterperformance.h b/indra/newview/llfloaterperformance.h
index 6cca85a009..48e7f4913f 100644
--- a/indra/newview/llfloaterperformance.h
+++ b/indra/newview/llfloaterperformance.h
@@ -33,6 +33,7 @@ class LLCharacter;
class LLCheckBoxCtrl;
class LLNameListCtrl;
class LLTextBox;
+class LLSliderCtrl;
class LLFloaterPerformance : public LLFloater
{
diff --git a/indra/newview/llfloaterpreference.cpp b/indra/newview/llfloaterpreference.cpp
index b74736a39d..99b871b484 100644
--- a/indra/newview/llfloaterpreference.cpp
+++ b/indra/newview/llfloaterpreference.cpp
@@ -2378,6 +2378,7 @@ private:
};
static LLPanelInjector<LLPanelPreferenceGraphics> t_pref_graph("panel_preference_graphics");
+static LLPanelInjector<LLPanelPreferenceGraphics3> t_pref_graph3("panel_preference_graphics3");
static LLPanelInjector<LLPanelPreferencePrivacy> t_pref_privacy("panel_preference_privacy");
bool LLPanelPreferenceGraphics::postBuild()
@@ -2547,6 +2548,174 @@ void LLPanelPreferenceGraphics::setHardwareDefaults()
resetDirtyChilds();
}
+// LLPanelPreferenceGraphics3 (Visuals Effects)
+
+bool LLPanelPreferenceGraphics3::postBuild()
+{
+ getChild<LLButton>("MPBalancedButton")->setCommitCallback(boost::bind(&LLPanelPreferenceGraphics3::onMPRecommanded, this));
+ return LLPanelPreference::postBuild();
+}
+
+void LLPanelPreferenceGraphics3::draw()
+{
+ LLPanelPreference::draw();
+}
+
+bool LLPanelPreferenceGraphics3::hasDirtyChilds()
+{
+ LLFloater* advanced = LLFloaterReg::findTypedInstance<LLFloater>("prefs_graphics_advanced");
+ std::list<LLView*> view_stack;
+ view_stack.push_back(this);
+ if (advanced)
+ {
+ view_stack.push_back(advanced);
+ }
+ while(!view_stack.empty())
+ {
+ // Process view on top of the stack
+ LLView* curview = view_stack.front();
+ view_stack.pop_front();
+
+ LLUICtrl* ctrl = dynamic_cast<LLUICtrl*>(curview);
+ if (ctrl)
+ {
+ if (ctrl->isDirty())
+ {
+ LLControlVariable* control = ctrl->getControlVariable();
+ if (control)
+ {
+ std::string control_name = control->getName();
+ if (!control_name.empty())
+ {
+ return true;
+ }
+ }
+ }
+ }
+ // Push children onto the end of the work stack
+ for (child_list_t::const_iterator iter = curview->getChildList()->begin();
+ iter != curview->getChildList()->end(); ++iter)
+ {
+ view_stack.push_back(*iter);
+ }
+ }
+
+ return false;
+}
+
+void LLPanelPreferenceGraphics3::resetDirtyChilds()
+{
+ LLFloater* advanced = LLFloaterReg::findTypedInstance<LLFloater>("prefs_graphics_advanced");
+ std::list<LLView*> view_stack;
+ view_stack.push_back(this);
+ if (advanced)
+ {
+ view_stack.push_back(advanced);
+ }
+ while(!view_stack.empty())
+ {
+ // Process view on top of the stack
+ LLView* curview = view_stack.front();
+ view_stack.pop_front();
+
+ LLUICtrl* ctrl = dynamic_cast<LLUICtrl*>(curview);
+ if (ctrl)
+ {
+ ctrl->resetDirty();
+ }
+ // Push children onto the end of the work stack
+ for (child_list_t::const_iterator iter = curview->getChildList()->begin();
+ iter != curview->getChildList()->end(); ++iter)
+ {
+ view_stack.push_back(*iter);
+ }
+ }
+}
+
+void LLPanelPreferenceGraphics3::cancel(const std::vector<std::string> settings_to_skip)
+{
+ LLPanelPreference::cancel(settings_to_skip);
+}
+void LLPanelPreferenceGraphics3::saveSettings()
+{
+ resetDirtyChilds();
+ std::string preset_graphic_active = gSavedSettings.getString("PresetGraphicActive");
+ if (preset_graphic_active.empty())
+ {
+ LLFloaterPreference* instance = LLFloaterReg::findTypedInstance<LLFloaterPreference>("preferences");
+ if (instance)
+ {
+ //don't restore previous preset after closing Preferences
+ instance->saveGraphicsPreset(preset_graphic_active);
+ }
+ }
+ LLPanelPreference::saveSettings();
+}
+
+void LLPanelPreferenceGraphics3::onMPRecommanded()
+{
+ //LL_WARNS() << "onClickMPRecommanded()" << LL_ENDL;
+
+ // LOD
+
+ gSavedSettings.setF32("RenderVolumeLODFactor", 3.5);
+ gSavedSettings.setF32("RenderAvatarPhysicsLODFactor", 1.0);
+
+ // AA
+
+ gSavedSettings.setU32("RenderFSAAType", 2);
+ gSavedSettings.setU32("RenderFSAASamples", 2);
+
+ gSavedSettings.setBOOL("RenderAnisotropic", false);
+
+ // Shadows
+
+ gSavedSettings.setS32("RenderShadowDetail", 0);
+ gSavedSettings.setF32("MPRenderShadowMaxDist", 40.0);
+ gSavedSettings.setF32("RenderShadowResolutionScale", 2.0);
+ gSavedSettings.setF32("RenderShadowBlurSize", 0.2);
+ gSavedSettings.setBOOL("RenderDeferredSSAO", 0);
+
+ // Bloom
+
+ gSavedSettings.setU32("MPRenderBloom", 0);
+ gSavedSettings.setF32("MPBloomBlurRadius", 1.2);
+ gSavedSettings.setF32("MPBloomBlurRadiusAdd", 1.2);
+ gSavedSettings.setF32("MPBloomExtractBrightness", 0.1);
+ gSavedSettings.setF32("MPBloomStrength", 1.0);
+
+ gSavedSettings.setF32("MPBloomExtractMetal", 0.4);
+ gSavedSettings.setF32("MPBloomExtractNonMetal", 0.0);
+
+ // Probes
+
+ gSavedSettings.setS32("RenderReflectionProbeDetail", 0);
+ gSavedSettings.setS32("RenderReflectionProbeLevel", 1);
+ gSavedSettings.setU32("RenderReflectionProbeCount", 32);
+ gSavedSettings.setU32("RenderReflectionProbeResolution", 128);
+ gSavedSettings.setF32("RenderReflectionProbeDrawDistance", 24.0);
+ gSavedSettings.setF32("RenderDefaultProbeUpdatePeriod", 20.0);
+ gSavedSettings.setF32("MPRenderProbeUpdatePeriod", 30.0);
+ gSavedSettings.setF32("MPRenderProbeSlowDown", 0.02);
+
+ // Misc
+
+ gSavedSettings.setBOOL("RenderDisableVintageMode", true);
+ gSavedSettings.setBOOL("RenderTransparentWater", true);
+ gSavedSettings.setU32("MPColorPrecision", 0);
+
+ gSavedSettings.setU32("RenderResolutionDivisor", 1.0);
+
+ gSavedSettings.setBOOL("RenderGLMultiThreadedTextures", false);
+ gSavedSettings.setBOOL("RenderAppleUseMultGL", false);
+ gSavedSettings.setBOOL("MPNoGLDebug", true);
+
+ gSavedSettings.setBOOL("MPHDRDisplay", false);
+ gSavedSettings.setF32("MPHDRBoost", 1.0);
+ gSavedSettings.setF32("MPHDRUIBoost", 1.0);
+ gSavedSettings.setF32("MPHDRGamma", 2.4);
+}
+
//------------------------LLPanelPreferenceControls--------------------------------
static LLPanelInjector<LLPanelPreferenceControls> t_pref_contrls("panel_preference_controls");
diff --git a/indra/newview/llfloaterpreference.h b/indra/newview/llfloaterpreference.h
index fa9c421a8f..2c357f0551 100644
--- a/indra/newview/llfloaterpreference.h
+++ b/indra/newview/llfloaterpreference.h
@@ -313,6 +313,26 @@ private:
LOG_CLASS(LLPanelPreferenceGraphics);
};
+class LLPanelPreferenceGraphics3 : public LLPanelPreference
+{
+public:
+ bool postBuild();
+ void draw();
+ void cancel(const std::vector<std::string> settings_to_skip = {});
+ void saveSettings();
+ void resetDirtyChilds();
+ void onMPRecommanded();
+
+protected:
+ bool hasDirtyChilds();
+
+
+private:
+
+
+ LOG_CLASS(LLPanelPreferenceGraphics3);
+};
+
class LLPanelPreferenceControls : public LLPanelPreference, public LLKeyBindResponderInterface
{
LOG_CLASS(LLPanelPreferenceControls);
diff --git a/indra/newview/llfloaterpreferencesgraphicsadvanced.cpp b/indra/newview/llfloaterpreferencesgraphicsadvanced.cpp
index 94b95b21c2..a8a1e507a8 100644
--- a/indra/newview/llfloaterpreferencesgraphicsadvanced.cpp
+++ b/indra/newview/llfloaterpreferencesgraphicsadvanced.cpp
@@ -274,9 +274,7 @@ void LLFloaterPreferenceGraphicsAdvanced::setMaxNonImpostorsText(U32 value, LLTe
void LLFloaterPreferenceGraphicsAdvanced::disableUnavailableSettings()
{
LLComboBox* ctrl_shadows = getChild<LLComboBox>("ShadowDetail");
- LLComboBox* ctrl_shadows_quality = getChild<LLComboBox>("MPShadowQuality");
LLTextBox* shadows_text = getChild<LLTextBox>("RenderShadowDetailText");
- LLTextBox* shadows_quality_text = getChild<LLTextBox>("RenderShadowQualityText");
LLCheckBoxCtrl* ctrl_ssao = getChild<LLCheckBoxCtrl>("UseSSAO");
LLCheckBoxCtrl* ctrl_dof = getChild<LLCheckBoxCtrl>("UseDoF");
LLSliderCtrl* sky = getChild<LLSliderCtrl>("SkyMeshDetail");
@@ -292,9 +290,7 @@ void LLFloaterPreferenceGraphicsAdvanced::disableUnavailableSettings()
//deferred needs windlight, disable deferred
ctrl_shadows->setEnabled(false);
ctrl_shadows->setValue(0);
- ctrl_shadows_quality->setEnabled(false);
shadows_text->setEnabled(false);
- shadows_quality_text->setEnabled(false);
ctrl_ssao->setEnabled(false);
ctrl_ssao->setValue(false);
@@ -308,9 +304,7 @@ void LLFloaterPreferenceGraphicsAdvanced::disableUnavailableSettings()
{
ctrl_shadows->setEnabled(false);
ctrl_shadows->setValue(0);
- ctrl_shadows_quality->setEnabled(false);
shadows_text->setEnabled(false);
- shadows_quality_text->setEnabled(false);
ctrl_ssao->setEnabled(false);
ctrl_ssao->setValue(false);
@@ -331,9 +325,7 @@ void LLFloaterPreferenceGraphicsAdvanced::disableUnavailableSettings()
{
ctrl_shadows->setEnabled(false);
ctrl_shadows->setValue(0);
- ctrl_shadows_quality->setEnabled(false);
shadows_text->setEnabled(false);
- shadows_quality_text->setEnabled(false);
}
// Vintage mode
@@ -363,9 +355,7 @@ void LLFloaterPreferenceGraphicsAdvanced::refreshEnabledState()
LLCheckBoxCtrl* ctrl_ssao = getChild<LLCheckBoxCtrl>("UseSSAO");
LLCheckBoxCtrl* ctrl_dof = getChild<LLCheckBoxCtrl>("UseDoF");
LLComboBox* ctrl_shadow = getChild<LLComboBox>("ShadowDetail");
- LLComboBox* ctrl_shadow_quality = getChild<LLComboBox>("MPShadowQuality");
LLTextBox* shadow_text = getChild<LLTextBox>("RenderShadowDetailText");
- LLTextBox* shadows_quality_text = getChild<LLTextBox>("RenderShadowQualityText");
// note, okay here to get from ctrl_deferred as it's twin, ctrl_deferred2 will alway match it
enabled = enabled && LLFeatureManager::getInstance()->isFeatureAvailable("RenderDeferredSSAO");// && ctrl_deferred->get();
@@ -378,9 +368,7 @@ void LLFloaterPreferenceGraphicsAdvanced::refreshEnabledState()
enabled = enabled && LLFeatureManager::getInstance()->isFeatureAvailable("RenderShadowDetail");
ctrl_shadow->setEnabled(enabled);
- ctrl_shadow_quality->setEnabled(enabled);
shadow_text->setEnabled(enabled);
- shadows_quality_text->setEnabled(enabled);
// Hardware settings
diff --git a/indra/newview/llglsandbox.cpp b/indra/newview/llglsandbox.cpp
index 112008172e..fffc520d9c 100644
--- a/indra/newview/llglsandbox.cpp
+++ b/indra/newview/llglsandbox.cpp
@@ -728,8 +728,7 @@ void LLViewerObjectList::renderObjectBeacons()
S32 line_width = debug_beacon.mLineWidth;
if (line_width != last_line_width)
{
- gGL.flush();
- glLineWidth( (F32)line_width );
+ LLRender2D::setLineWidth(line_width);
last_line_width = line_width;
}
@@ -758,8 +757,7 @@ void LLViewerObjectList::renderObjectBeacons()
S32 line_width = debug_beacon.mLineWidth;
if (line_width != last_line_width)
{
- gGL.flush();
- glLineWidth( (F32)line_width );
+ LLRender2D::setLineWidth(line_width);
last_line_width = line_width;
}
@@ -772,8 +770,7 @@ void LLViewerObjectList::renderObjectBeacons()
gGL.end();
}
- gGL.flush();
- glLineWidth(1.f);
+ LLRender2D::setLineWidth(1.f);
for (std::vector<LLDebugBeacon>::iterator iter = mDebugBeacons.begin(); iter != mDebugBeacons.end(); ++iter)
{
@@ -808,7 +805,9 @@ void LLSky::renderSunMoonBeacons(const LLVector3& pos_agent, const LLVector3& di
{
pos_end.mV[i] = pos_agent.mV[i] + (50 * direction.mV[i]);
}
- glLineWidth((GLfloat)LLPipeline::DebugBeaconLineWidth);
+
+ LLRender2D::setLineWidth((GLfloat)LLPipeline::DebugBeaconLineWidth);
+
gGL.begin(LLRender::LINES);
color.mV[3] *= 0.5f;
gGL.color4fv(color.mV);
@@ -818,9 +817,7 @@ void LLSky::renderSunMoonBeacons(const LLVector3& pos_agent, const LLVector3& di
gGL.vertex3fv(pos_end.mV);
gGL.end();
- gGL.flush();
- glLineWidth(1.f);
-
+ LLRender2D::setLineWidth(1.f);
}
//-----------------------------------------------------------------------------
@@ -977,7 +974,7 @@ F32 gpu_benchmark()
delete[] pixels;
return -1.f;
}
- dest[i].bindTarget();
+ dest[i].bindTarget("", 1);
dest[i].clear();
dest[i].flush();
@@ -1039,7 +1036,7 @@ F32 gpu_benchmark()
// run GPU timer benchmark
{
ShaderProfileHelper initProfile;
- dest[0].bindTarget();
+ dest[0].bindTarget("benchmark", 1);
gBenchmarkProgram.bind();
for (S32 c = 0; c < samples; ++c)
{
diff --git a/indra/newview/llgltfmaterialpreviewmgr.cpp b/indra/newview/llgltfmaterialpreviewmgr.cpp
index da1f1a466f..0b792efa1f 100644
--- a/indra/newview/llgltfmaterialpreviewmgr.cpp
+++ b/indra/newview/llgltfmaterialpreviewmgr.cpp
@@ -425,6 +425,8 @@ bool LLGLTFPreviewTexture::render()
if (!mShouldRender) { return false; }
+ LL_WARNS() << "LLGLTFPreviewTexture:render()" << LL_ENDL;
+
glClearColor(0, 0, 0, 0);
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
@@ -520,19 +522,41 @@ bool LLGLTFPreviewTexture::render()
// *HACK: Hide mExposureMap from generateExposure
gPipeline.mExposureMap.swapFBORefs(gPipeline.mLastExposure);
+ //bool hdr = gPipeline.has_hdr();
+ bool hdr = true;
+
+ if (hdr)
+ {
gPipeline.copyScreenSpaceReflections(&screen, &gPipeline.mSceneMap);
gPipeline.generateLuminance(&screen, &gPipeline.mLuminanceMap);
gPipeline.generateExposure(&gPipeline.mLuminanceMap, &gPipeline.mExposureMap, /*use_history = */ false);
- gPipeline.gammaCorrect(&screen, &gPipeline.mPostMap);
+ }
+
+ U16 activeRT = 0;
+ gPipeline.gammaCorrect(&screen, &gPipeline.mPostMaps[activeRT]);
+
LLVertexBuffer::unbind();
- gPipeline.generateGlow(&gPipeline.mPostMap);
- gPipeline.combineGlow(&gPipeline.mPostMap, &screen);
- gPipeline.renderDoF(&screen, &gPipeline.mPostMap);
- gPipeline.applyFXAA(&gPipeline.mPostMap, &screen);
+
+ gPipeline.generateGlow(&gPipeline.mPostMaps[activeRT]);
+ gPipeline.combineGlow(&gPipeline.mPostMaps[activeRT], &gPipeline.mPostMaps[1-activeRT]);
+ activeRT = 1-activeRT;
+
+ if(gPipeline.renderDoF(&gPipeline.mPostMaps[activeRT], &gPipeline.mPostMaps[1-activeRT]))
+ {
+ activeRT = 1-activeRT;
+ }
+
+ if(gPipeline.applyFXAA(&gPipeline.mPostMaps[activeRT], &gPipeline.mPostMaps[1-activeRT]))
+ {
+ activeRT = 1-activeRT;
+ }
// *HACK: Restore mExposureMap (it will be consumed by generateExposure next frame)
gPipeline.mExposureMap.swapFBORefs(gPipeline.mLastExposure);
+ gPipeline.copyRenderTarget(&gPipeline.mPostMaps[activeRT], &screen);
+
+
// Final render
gDeferredPostNoDoFProgram.bind();
diff --git a/indra/newview/llmodelpreview.cpp b/indra/newview/llmodelpreview.cpp
index caea2089c6..887d53b918 100644
--- a/indra/newview/llmodelpreview.cpp
+++ b/indra/newview/llmodelpreview.cpp
@@ -3716,7 +3716,6 @@ bool LLModelPreview::render()
buffer->drawRange(LLRender::TRIANGLES, 0, buffer->getNumVerts() - 1, buffer->getNumIndices(), 0);
gGL.diffuseColor4fv(PREVIEW_PSYH_EDGE_COL.mV);
- glLineWidth(PREVIEW_PSYH_EDGE_WIDTH);
#if GL_VERSION_1_1
glPolygonMode(GL_FRONT_AND_BACK, GL_LINE);
#endif
@@ -3725,7 +3724,6 @@ bool LLModelPreview::render()
#if GL_VERSION_1_1
glPolygonMode(GL_FRONT_AND_BACK, GL_FILL);
#endif
- glLineWidth(1.f);
buffer->unmapBuffer();
}
@@ -3737,7 +3735,6 @@ bool LLModelPreview::render()
// only do this if mDegenerate was set in the preceding mesh checks [Check this if the ordering ever breaks]
if (mHasDegenerate)
{
- glLineWidth(PREVIEW_DEG_EDGE_WIDTH);
#if GL_VERSION_1_1
glPointSize(PREVIEW_DEG_POINT_SIZE);
#endif
@@ -3809,7 +3806,7 @@ bool LLModelPreview::render()
gGL.popMatrix();
}
- glLineWidth(1.f);
+ //glLineWidth(1.f);
#if GL_VERSION_1_1
glPointSize(1.f);
#endif
@@ -3933,7 +3930,7 @@ bool LLModelPreview::render()
{
gGL.getTexUnit(0)->unbind(LLTexUnit::TT_TEXTURE);
gGL.diffuseColor4fv(PREVIEW_EDGE_COL.mV);
- glLineWidth(PREVIEW_EDGE_WIDTH);
+ //glLineWidth(PREVIEW_EDGE_WIDTH);
#if GL_VERSION_1_1
glPolygonMode(GL_FRONT_AND_BACK, GL_LINE);
#endif
@@ -3941,7 +3938,6 @@ bool LLModelPreview::render()
#if GL_VERSION_1_1
glPolygonMode(GL_FRONT_AND_BACK, GL_FILL);
#endif
- glLineWidth(1.f);
}
}
}
diff --git a/indra/newview/llreflectionmap.h b/indra/newview/llreflectionmap.h
index 8da18e0945..39ec06a167 100644
--- a/indra/newview/llreflectionmap.h
+++ b/indra/newview/llreflectionmap.h
@@ -103,6 +103,9 @@ public:
// last time this probe was bound for rendering
F32 mLastBindTime = 0.f;
+ // Next update time
+ F32 mNextUpdateTime = 0.f;
+
// cube map used to sample this environment map
LLPointer<LLCubeMapArray> mCubeArray;
S32 mCubeIndex = -1; // index into cube map array or -1 if not currently stored in cube map array
@@ -110,6 +113,9 @@ public:
// probe has had at least one full update and is ready to render
bool mComplete = false;
+ // number of tiees the probe has been completed
+ U32 mCompletedCount = 0;
+
// fade in parameter for this probe
F32 mFadeIn = 0.f;
diff --git a/indra/newview/llreflectionmapmanager.cpp b/indra/newview/llreflectionmapmanager.cpp
index c1815ad57e..2ddb749141 100644
--- a/indra/newview/llreflectionmapmanager.cpp
+++ b/indra/newview/llreflectionmapmanager.cpp
@@ -54,6 +54,7 @@
#endif
LLPointer<LLImageGL> gEXRImage;
+//LLTrace::BlockTimerStatHandle FTM_RENDER_RADIANCE("Render Radiance");
void load_exr(const std::string& filename)
{
@@ -226,6 +227,25 @@ void LLReflectionMapManager::update()
static LLCachedControl<S32> sLevel(gSavedSettings, "RenderReflectionProbeLevel", 3);
static LLCachedControl<U32> sReflectionProbeCount(gSavedSettings, "RenderReflectionProbeCount", 256U);
static LLCachedControl<S32> sProbeDynamicAllocation(gSavedSettings, "RenderReflectionProbeDynamicAllocation", -1);
+
+ static LLCachedControl<F32> sProbeUpdateSlowDown(gSavedSettings, "MPRenderProbeSlowDown", 0.f);
+
+ bool realtime = sDetail >= (S32)LLReflectionMapManager::DetailLevel::REALTIME;
+
+ if(sProbeUpdateSlowDown > 0.0)
+ {
+ if ( mLastUpdate > 0.f )
+ {
+ F32 elapsed = gFrameTimeSeconds - mLastUpdate;
+ if (elapsed > 0.0 && elapsed < sProbeUpdateSlowDown)
+ {
+ return;
+ }
+ }
+ }
+
+ mLastUpdate = gFrameTimeSeconds;
+
mResetFade = llmin((F32)(mResetFade + gFrameIntervalSeconds * 2.f), 1.f);
{
@@ -275,9 +295,16 @@ void LLReflectionMapManager::update()
static LLCachedControl<bool> render_hdr(gSavedSettings, "RenderHDREnabled", true);
+ U32 color_fmt = render_hdr ? GL_R11F_G11F_B10F : GL_RGB8;
+
+ static LLCachedControl<U32> MPColorPrecision(gSavedSettings, "MPColorPrecision", 0);
+ if(MPColorPrecision == 1)
+ {
+ color_fmt = GL_RGB8;
+ }
+
if (!mRenderTarget.isComplete())
{
- U32 color_fmt = render_hdr ? GL_R11F_G11F_B10F : GL_RGB8;
U32 targetRes = mProbeResolution * 4; // super sample
mRenderTarget.allocate(targetRes, targetRes, color_fmt, true);
}
@@ -290,7 +317,7 @@ void LLReflectionMapManager::update()
mMipChain.resize(count);
for (U32 i = 0; i < count; ++i)
{
- mMipChain[i].allocate(res, res, render_hdr ? GL_R11F_G11F_B10F : GL_RGB8);
+ mMipChain[i].allocate(res, res, color_fmt);
res /= 2;
}
}
@@ -328,8 +355,6 @@ void LLReflectionMapManager::update()
bool did_update = false;
- bool realtime = sDetail >= (S32)LLReflectionMapManager::DetailLevel::REALTIME;
-
LLReflectionMap* closestDynamic = nullptr;
LLReflectionMap* oldestProbe = nullptr;
@@ -362,6 +387,9 @@ void LLReflectionMapManager::update()
probe->mCubeArray = nullptr;
probe->mCubeIndex = -1;
probe->mComplete = false;
+ probe->mCompletedCount = 0;
+ probe->mLastUpdateTime = 0.0;
+ probe->mNextUpdateTime = 0.0;
probe->mFadeIn = 0;
}
}
@@ -385,6 +413,9 @@ void LLReflectionMapManager::update()
mResetFade = llmin((F32)(mResetFade + gFrameIntervalSeconds * 2.f), 1.f);
+ static LLCachedControl<F32> sDefaultUpdatePeriod(gSavedSettings, "RenderDefaultProbeUpdatePeriod", 2.f);
+ static LLCachedControl<F32> sMPUpdatePeriod(gSavedSettings, "MPRenderProbeUpdatePeriod", 2.f);
+
for (unsigned int i = 0; i < mProbes.size(); ++i)
{
LLReflectionMap* probe = mProbes[i];
@@ -401,6 +432,8 @@ void LLReflectionMapManager::update()
continue;
}
+ // Calculating distance
+
LLVector4a d;
if (probe != mDefaultProbe)
@@ -412,13 +445,14 @@ void LLReflectionMapManager::update()
d.setSub(camera_pos, probe->mOrigin);
probe->mDistance = d.getLength3().getF32() - probe->mRadius;
}
- else if (probe->mComplete)
+ else if (mDefaultProbe->mComplete)
{
// make default probe have a distance of 64m for the purposes of prioritization (if it's already been generated once)
probe->mDistance = 64.f;
}
else
{
+ probe->mNextUpdateTime = 0.f;
probe->mDistance = -4096.f; //boost priority of default probe when it's not complete
}
@@ -427,8 +461,13 @@ void LLReflectionMapManager::update()
probe->autoAdjustOrigin();
probe->mFadeIn = llmin((F32) (probe->mFadeIn + gFrameIntervalSeconds), 1.f);
}
+
+ // Guess oldest probe
+
if (probe->mOccluded && probe->mComplete)
{
+ // occluded probe
+
if (oldestOccluded == nullptr)
{
oldestOccluded = probe;
@@ -465,6 +504,8 @@ void LLReflectionMapManager::update()
}
}
+ // realtime
+
if (realtime && closestDynamic != nullptr)
{
LL_PROFILE_ZONE_NAMED_CATEGORY_DISPLAY("rmmu - realtime");
@@ -480,16 +521,17 @@ void LLReflectionMapManager::update()
{
updateProbeFace(closestDynamic, i);
}
+ if(mRealtimeRadiancePass) updateProbeRadiance(closestDynamic);
+ else updateProbeIrradiance(closestDynamic);
mRealtimeRadiancePass = !mRealtimeRadiancePass;
// restore "isRadiancePass"
mRadiancePass = radiance_pass;
}
- static LLCachedControl<F32> sUpdatePeriod(gSavedSettings, "RenderDefaultProbeUpdatePeriod", 2.f);
- if ((gFrameTimeSeconds - mDefaultProbe->mLastUpdateTime) < sUpdatePeriod)
+ if ((gFrameTimeSeconds - mDefaultProbe->mLastUpdateTime) < sDefaultUpdatePeriod)
{
- if (sLevel == 0)
+ if (sLevel == 0 && mDefaultProbe->mComplete)
{ // when probes are disabled don't update the default probe more often than the prescribed update period
oldestProbe = nullptr;
}
@@ -505,11 +547,31 @@ void LLReflectionMapManager::update()
LLReflectionMap* probe = oldestProbe;
llassert(probe->mCubeIndex != -1);
+ bool shouldUpdate = true;
+
+ if( probe->mNextUpdateTime > 0.f && gFrameTimeSeconds < probe->mNextUpdateTime)
+ {
+ shouldUpdate = false;
+ }
+
+ if(shouldUpdate)
+ {
probe->autoAdjustOrigin();
sUpdateCount++;
mUpdatingProbe = probe;
+
+ if(probe->mCompletedCount < 2)
+ {
+ probe->mNextUpdateTime = gFrameTimeSeconds + fmax( ((F32)sMPUpdatePeriod / 2.0), 0.25);
+ }
+ else
+ {
+ probe->mNextUpdateTime = gFrameTimeSeconds + fmax( (F32)sMPUpdatePeriod, 0.25);
+ }
+
doProbeUpdate();
+ }
}
if (oldestOccluded)
@@ -717,11 +779,32 @@ void LLReflectionMapManager::doProbeUpdate()
LL_PROFILE_ZONE_SCOPED_CATEGORY_DISPLAY;
llassert(mUpdatingProbe != nullptr);
- updateProbeFace(mUpdatingProbe, mUpdatingFace);
+ static LLCachedControl<bool> mp_progressive(gSavedSettings, "MPRenderProbeProgressive", false);
+
+ if(mUpdatingFace < 6)
+ {
+ updateProbeFace(mUpdatingProbe, mUpdatingFace, mp_progressive);
+ }
+ else if(mp_progressive)
+ {
+ if(isRadiancePass())
+ {
+ //updateProbeRadiance(mUpdatingProbe);
+ }
+ else updateProbeIrradiance(mUpdatingProbe);
+ }
+ else
+ {
+ if(isRadiancePass())
+ {
+ updateProbeRadiance(mUpdatingProbe);
+ }
+ else updateProbeIrradiance(mUpdatingProbe);
+ }
bool debug_updates = gPipeline.hasRenderDebugMask(LLPipeline::RENDER_DEBUG_PROBE_UPDATES) && mUpdatingProbe->mViewerObject;
- if (++mUpdatingFace == 6)
+ if (mUpdatingFace == 6)
{
if (debug_updates)
{
@@ -732,6 +815,7 @@ void LLReflectionMapManager::doProbeUpdate()
if (isRadiancePass())
{
mUpdatingProbe->mComplete = true;
+ mUpdatingProbe->mCompletedCount++;
mUpdatingProbe = nullptr;
mRadiancePass = false;
}
@@ -740,9 +824,14 @@ void LLReflectionMapManager::doProbeUpdate()
mRadiancePass = true;
}
}
- else if (debug_updates)
+ else
{
+ ++mUpdatingFace;
+
+ if (debug_updates)
+ {
mUpdatingProbe->mViewerObject->setDebugText(llformat("%.1f", (F32)gFrameTimeSeconds), LLColor4(1, 1, 0, 1));
+ }
}
}
@@ -754,7 +843,7 @@ void LLReflectionMapManager::doProbeUpdate()
// The next six passes render the scene with both radiance and irradiance into the same scratch space cube map and generate a simple mip chain.
// At the end of these passes, a radiance map is generated for this probe and placed into the radiance cube map array at the index for this probe.
// In effect this simulates single-bounce lighting.
-void LLReflectionMapManager::updateProbeFace(LLReflectionMap* probe, U32 face)
+void LLReflectionMapManager::updateProbeFace(LLReflectionMap* probe, U32 face, bool progressive)
{
// hacky hot-swap of camera specific render targets
gPipeline.mRT = &gPipeline.mAuxillaryRT;
@@ -795,7 +884,7 @@ void LLReflectionMapManager::updateProbeFace(LLReflectionMap* probe, U32 face)
sourceIdx += 1;
}
- gGL.setColorMask(true, true);
+ gGL.setColorMask(true, false);
LLGLDepthTest depth(GL_FALSE, GL_FALSE);
LLGLDisable cull(GL_CULL_FACE);
LLGLDisable blend(GL_BLEND);
@@ -829,7 +918,8 @@ void LLReflectionMapManager::updateProbeFace(LLReflectionMap* probe, U32 face)
// horizontal
gGaussianProgram.uniform2f(direction, 1.f, 0.f);
gGL.getTexUnit(diffuseChannel)->bind(screen_rt);
- mRenderTarget.bindTarget();
+ mRenderTarget.bindTarget("", 1);
+ mRenderTarget.clear(0);
gPipeline.mScreenTriangleVB->setBuffer();
gPipeline.mScreenTriangleVB->drawArrays(LLRender::TRIANGLES, 0, 3);
mRenderTarget.flush();
@@ -837,7 +927,8 @@ void LLReflectionMapManager::updateProbeFace(LLReflectionMap* probe, U32 face)
// vertical
gGaussianProgram.uniform2f(direction, 0.f, 1.f);
gGL.getTexUnit(diffuseChannel)->bind(&mRenderTarget);
- screen_rt->bindTarget();
+ screen_rt->bindTarget("", 1);
+ screen_rt->clear(0);
gPipeline.mScreenTriangleVB->setBuffer();
gPipeline.mScreenTriangleVB->drawArrays(LLRender::TRIANGLES, 0, 3);
screen_rt->flush();
@@ -852,7 +943,10 @@ void LLReflectionMapManager::updateProbeFace(LLReflectionMap* probe, U32 face)
for (int i = 0; i < mMipChain.size(); ++i)
{
LL_PROFILE_GPU_ZONE("probe mip");
- mMipChain[i].bindTarget();
+
+ mMipChain[i].bindTarget("probe face ", 0);
+ mMipChain[i].clear(0);
+
if (i == 0)
{
gGL.getTexUnit(diffuseChannel)->bind(screen_rt);
@@ -897,16 +991,125 @@ void LLReflectionMapManager::updateProbeFace(LLReflectionMap* probe, U32 face)
gReflectionMipProgram.unbind();
}
- if (face == 5)
+ if(progressive)
{
- mMipChain[0].bindTarget();
- static LLStaticHashedString sSourceIdx("sourceIdx");
+ if(isRadiancePass()) updateProbeRadianceOnFace(probe, face, sourceIdx);
+ }
- if (isRadiancePass())
+ // if(isRadiancePass()) updateProbeRadianceOnFace(probe, face, sourceIdx);
+ // else updateProbeIrradianceOnFace(probe, face, sourceIdx);
+}
+
+// ===================== IRRADIANCE ================================
+
+void LLReflectionMapManager::updateProbeIrradiance(LLReflectionMap* probe)
+{
+ LL_PROFILE_GPU_ZONE("probe irradiance gen");
+
+ static LLStaticHashedString sMipLevel("mipLevel");
+ static LLStaticHashedString sRoughness("roughness");
+ static LLStaticHashedString sWidth("u_width");
+
+ S32 sourceIdx = mReflectionProbeCount;
+
+ if (probe != mUpdatingProbe)
+ { // this is the "realtime" probe that's updating every frame, use the secondary scratch space channel
+ sourceIdx += 1;
+ }
+
+ gGL.setColorMask(true, false);
+ LLGLDepthTest depth(GL_FALSE, GL_FALSE);
+ LLGLDisable cull(GL_CULL_FACE);
+ LLGLDisable blend(GL_BLEND);
+
+ static LLStaticHashedString sSourceIdx("sourceIdx");
+
+
+ mMipChain[0].bindTarget("irradiance", 0);
+ mMipChain[0].clear(0);
+
+ gIrradianceGenProgram.bind();
+
+#if GL_VERSION_4_0
+ S32 channel = gIrradianceGenProgram.enableTexture(LLShaderMgr::REFLECTION_PROBES, LLTexUnit::TT_CUBE_MAP_ARRAY);
+ mTexture->bind(channel);
+#endif
+
+ gIrradianceGenProgram.uniform1i(sSourceIdx, sourceIdx);
+ gIrradianceGenProgram.uniform1f(LLShaderMgr::REFLECTION_PROBE_MAX_LOD, mMaxProbeLOD);
+
+ mVertexBuffer->setBuffer();
+
+ int start_mip = 0;
+ // find the mip target to start with based on irradiance map resolution
+ for (start_mip = 0; start_mip < mMipChain.size(); ++start_mip)
+ {
+ if (mMipChain[start_mip].getWidth() == LL_IRRADIANCE_MAP_RESOLUTION)
{
- //generate radiance map (even if this is not the irradiance map, we need the mip chain for the irradiance map)
- gRadianceGenProgram.bind();
- mVertexBuffer->setBuffer();
+ break;
+ }
+ }
+
+ int i = start_mip;
+
+ //LL_PROFILE_GPU_ZONE("probe irradiance gen");
+
+ glViewport(0, 0, mMipChain[i].getWidth(), mMipChain[i].getHeight());
+
+ for (int cf = 0; cf < 6; ++cf)
+ {
+ LLCoordFrame frame;
+ frame.lookAt(LLVector3(0, 0, 0), LLCubeMapArray::sClipToCubeLookVecs[cf], LLCubeMapArray::sClipToCubeUpVecs[cf]);
+
+ F32 mat[16];
+ frame.getOpenGLRotation(mat);
+ gGL.loadMatrix(mat);
+
+ mVertexBuffer->drawArrays(gGL.TRIANGLE_STRIP, 0, 4);
+
+ S32 res = mMipChain[i].getWidth();
+#if GL_VERSION_4_0
+ mIrradianceMaps->bind(channel);
+ glCopyTexSubImage3D(GL_TEXTURE_CUBE_MAP_ARRAY, i - start_mip, 0, 0, probe->mCubeIndex * 6 + cf, 0, 0, res, res);
+ mTexture->bind(channel);
+#endif
+ //mMipChain[0].clear(0);
+ }
+
+ mMipChain[0].flush();
+ gIrradianceGenProgram.unbind();
+}
+
+// ==================== RADIANCE ===========================
+
+void LLReflectionMapManager::updateProbeRadiance(LLReflectionMap* probe)
+{
+ LL_PROFILE_GPU_ZONE("probe radiance gen");
+ static LLStaticHashedString sMipLevel("mipLevel");
+ static LLStaticHashedString sRoughness("roughness");
+ static LLStaticHashedString sWidth("u_width");
+
+ S32 sourceIdx = mReflectionProbeCount;
+
+ if (probe != mUpdatingProbe)
+ { // this is the "realtime" probe that's updating every frame, use the secondary scratch space channel
+ sourceIdx += 1;
+ }
+
+ gGL.setColorMask(true, false);
+ LLGLDepthTest depth(GL_FALSE, GL_FALSE);
+ LLGLDisable cull(GL_CULL_FACE);
+ LLGLDisable blend(GL_BLEND);
+
+ static LLStaticHashedString sSourceIdx("sourceIdx");
+
+ //LL_RECORD_BLOCK_TIME(FTM_RENDER_RADIANCE);
+
+ mMipChain[0].bindTarget("radiance", 0);
+ mMipChain[0].clear();
+
+ gRadianceGenProgram.bind();
+ mVertexBuffer->setBuffer();
#if GL_VERSION_4_0
S32 channel = gRadianceGenProgram.enableTexture(LLShaderMgr::REFLECTION_PROBES, LLTexUnit::TT_CUBE_MAP_ARRAY);
@@ -915,22 +1118,19 @@ void LLReflectionMapManager::updateProbeFace(LLReflectionMap* probe, U32 face)
gRadianceGenProgram.uniform1i(sSourceIdx, sourceIdx);
gRadianceGenProgram.uniform1f(LLShaderMgr::REFLECTION_PROBE_MAX_LOD, mMaxProbeLOD);
gRadianceGenProgram.uniform1f(LLShaderMgr::REFLECTION_PROBE_STRENGTH, 1.f);
+ gRadianceGenProgram.uniform1i(sWidth, mProbeResolution);
U32 res = mMipChain[0].getWidth();
for (int i = 0; i < mMipChain.size(); ++i)
{
- LL_PROFILE_GPU_ZONE("probe radiance gen");
- static LLStaticHashedString sMipLevel("mipLevel");
- static LLStaticHashedString sRoughness("roughness");
- static LLStaticHashedString sWidth("u_width");
+ glViewport(0, 0, res, res);
- gRadianceGenProgram.uniform1f(sRoughness, (F32)i / (F32)(mMipChain.size() - 1));
gRadianceGenProgram.uniform1f(sMipLevel, (GLfloat)i);
- gRadianceGenProgram.uniform1i(sWidth, mProbeResolution);
+ gRadianceGenProgram.uniform1f(sRoughness, (F32)i / (F32)(mMipChain.size() - 1));
for (int cf = 0; cf < 6; ++cf)
- { // for each cube face
+ {
LLCoordFrame frame;
frame.lookAt(LLVector3(0, 0, 0), LLCubeMapArray::sClipToCubeLookVecs[cf], LLCubeMapArray::sClipToCubeUpVecs[cf]);
@@ -943,21 +1143,44 @@ void LLReflectionMapManager::updateProbeFace(LLReflectionMap* probe, U32 face)
#if GL_VERSION_4_0
glCopyTexSubImage3D(GL_TEXTURE_CUBE_MAP_ARRAY, i, 0, 0, probe->mCubeIndex * 6 + cf, 0, 0, res, res);
#endif
+ LOG_GLERROR("glCopyTexSubImage3D");
}
if (i != mMipChain.size() - 1)
{
res /= 2;
- glViewport(0, 0, res, res);
}
- }
+ }
gRadianceGenProgram.unbind();
- }
- else
- {
- //generate irradiance map
+ mMipChain[0].flush();
+ //mTexture->unbind();
+}
+
+// ================== PER FACE =======================
+
+void LLReflectionMapManager::updateProbeIrradianceOnFace(LLReflectionMap* probe, U32 face, S32 sourceIdx)
+{
+ LL_PROFILE_GPU_ZONE("probe irradiance gen");
+
+ static LLStaticHashedString sMipLevel("mipLevel");
+ static LLStaticHashedString sRoughness("roughness");
+ static LLStaticHashedString sWidth("u_width");
+
+ gGL.setColorMask(true, false);
+ LLGLDepthTest depth(GL_FALSE, GL_FALSE);
+ LLGLDisable cull(GL_CULL_FACE);
+ LLGLDisable blend(GL_BLEND);
+
+ static LLStaticHashedString sSourceIdx("sourceIdx");
+
+ //LL_WARNS() << "IRRADIANCE" << LL_ENDL;
+
+ mMipChain[0].bindTarget("irradiance", 0);
+ //mMipChain[0].clear();
+
gIrradianceGenProgram.bind();
+
#if GL_VERSION_4_0
S32 channel = gIrradianceGenProgram.enableTexture(LLShaderMgr::REFLECTION_PROBES, LLTexUnit::TT_CUBE_MAP_ARRAY);
mTexture->bind(channel);
@@ -977,13 +1200,11 @@ void LLReflectionMapManager::updateProbeFace(LLReflectionMap* probe, U32 face)
}
}
- //for (int i = start_mip; i < mMipChain.size(); ++i)
- {
int i = start_mip;
- LL_PROFILE_GPU_ZONE("probe irradiance gen");
glViewport(0, 0, mMipChain[i].getWidth(), mMipChain[i].getHeight());
- for (int cf = 0; cf < 6; ++cf)
- { // for each cube face
+
+ int cf = face;
+ {
LLCoordFrame frame;
frame.lookAt(LLVector3(0, 0, 0), LLCubeMapArray::sClipToCubeLookVecs[cf], LLCubeMapArray::sClipToCubeUpVecs[cf]);
@@ -993,20 +1214,81 @@ void LLReflectionMapManager::updateProbeFace(LLReflectionMap* probe, U32 face)
mVertexBuffer->drawArrays(gGL.TRIANGLE_STRIP, 0, 4);
- S32 res = mMipChain[i].getWidth();
#if GL_VERSION_4_0
+ S32 res = mMipChain[i].getWidth();
mIrradianceMaps->bind(channel);
glCopyTexSubImage3D(GL_TEXTURE_CUBE_MAP_ARRAY, i - start_mip, 0, 0, probe->mCubeIndex * 6 + cf, 0, 0, res, res);
- mTexture->bind(channel);
#endif
- }
}
- }
mMipChain[0].flush();
gIrradianceGenProgram.unbind();
+ mTexture->unbind();
+}
+
+void LLReflectionMapManager::updateProbeRadianceOnFace(LLReflectionMap* probe, U32 face, S32 sourceIdx)
+{
+ LL_PROFILE_GPU_ZONE("probe radiance gen");
+ static LLStaticHashedString sMipLevel("mipLevel");
+ static LLStaticHashedString sRoughness("roughness");
+ static LLStaticHashedString sWidth("u_width");
+
+ gGL.setColorMask(true, false);
+ LLGLDepthTest depth(GL_FALSE, GL_FALSE);
+ LLGLDisable cull(GL_CULL_FACE);
+ LLGLDisable blend(GL_BLEND);
+
+ static LLStaticHashedString sSourceIdx("sourceIdx");
+
+ mMipChain[0].bindTarget("radiance", 0);
+ mMipChain[0].clear(0);
+
+ gRadianceGenProgram.bind();
+ mVertexBuffer->setBuffer();
+
+ S32 channel = gRadianceGenProgram.enableTexture(LLShaderMgr::REFLECTION_PROBES, LLTexUnit::TT_CUBE_MAP_ARRAY);
+ mTexture->bind(channel);
+
+ gRadianceGenProgram.uniform1i(sSourceIdx, sourceIdx);
+ gRadianceGenProgram.uniform1f(LLShaderMgr::REFLECTION_PROBE_MAX_LOD, mMaxProbeLOD);
+ gRadianceGenProgram.uniform1f(LLShaderMgr::REFLECTION_PROBE_STRENGTH, 1.f);
+ gRadianceGenProgram.uniform1i(sWidth, mProbeResolution);
+
+ U32 res = mMipChain[0].getWidth();
+
+ for (int i = 0; i < mMipChain.size(); ++i)
+ {
+ glViewport(0, 0, res, res);
+
+ gRadianceGenProgram.uniform1f(sMipLevel, (GLfloat)i);
+ gRadianceGenProgram.uniform1f(sRoughness, (F32)i / (F32)(mMipChain.size() - 1));
+
+ int cf = face;
+ {
+ LLCoordFrame frame;
+ frame.lookAt(LLVector3(0, 0, 0), LLCubeMapArray::sClipToCubeLookVecs[cf], LLCubeMapArray::sClipToCubeUpVecs[cf]);
+
+ F32 mat[16];
+ frame.getOpenGLRotation(mat);
+ gGL.loadMatrix(mat);
+
+ mVertexBuffer->drawArrays(gGL.TRIANGLE_STRIP, 0, 4);
+
+ glCopyTexSubImage3D(GL_TEXTURE_CUBE_MAP_ARRAY, i, 0, 0, probe->mCubeIndex * 6 + cf, 0, 0, res, res);
+ LOG_GLERROR("glCopyTexSubImage3D");
+ //mMipChain[0].clear(0);
+ }
+
+ if (i != mMipChain.size() - 1)
+ {
+ res /= 2;
+ }
}
+
+ gRadianceGenProgram.unbind();
+ mMipChain[0].flush();
+ mTexture->unbind();
}
void LLReflectionMapManager::reset()
@@ -1426,8 +1708,13 @@ void LLReflectionMapManager::initReflectionMaps()
{
static LLCachedControl<U32> ref_probe_res(gSavedSettings, "RenderReflectionProbeResolution", 128U);
U32 probe_resolution = nhpo2(llclamp(ref_probe_res(), (U32)64, (U32)512));
- if (mTexture.isNull() || mReflectionProbeCount != mDynamicProbeCount || mProbeResolution != probe_resolution || mReset)
+
+ bool shouldInit = mTexture.isNull() || mReflectionProbeCount != mDynamicProbeCount || mProbeResolution != probe_resolution || mReset;
+
+ if (shouldInit)
{
+ //LL_WARNS() << "====== initReflectionMaps() =======" << LL_ENDL;
+
if(mProbeResolution != probe_resolution)
{
mRenderTarget.release();
@@ -1444,6 +1731,8 @@ void LLReflectionMapManager::initReflectionMaps()
mTexture->getWidth() != mProbeResolution ||
mReflectionProbeCount + 2 != mTexture->getCount())
{
+ static LLCachedControl<bool> render_hdr(gSavedSettings, "RenderHDREnabled", true);
+
if (mTexture)
{
mTexture = new LLCubeMapArray(*mTexture, mProbeResolution, mReflectionProbeCount + 2);
@@ -1454,8 +1743,6 @@ void LLReflectionMapManager::initReflectionMaps()
{
mTexture = new LLCubeMapArray();
- static LLCachedControl<bool> render_hdr(gSavedSettings, "RenderHDREnabled", true);
-
// store mReflectionProbeCount+2 cube maps, final two cube maps are used for render target and radiance map generation
// source)
mTexture->allocate(mProbeResolution, 3, mReflectionProbeCount + 2, true, render_hdr);
@@ -1477,7 +1764,9 @@ void LLReflectionMapManager::initReflectionMaps()
for (auto& probe : mProbes)
{
probe->mLastUpdateTime = 0.f;
+ probe->mNextUpdateTime = 0.f;
probe->mComplete = false;
+ probe->mCompletedCount = 0;
probe->mProbeIndex = -1;
probe->mCubeArray = nullptr;
probe->mCubeIndex = -1;
@@ -1503,6 +1792,9 @@ void LLReflectionMapManager::initReflectionMaps()
mDefaultProbe->mRadius = 4096.f;
mDefaultProbe->mProbeIndex = 0;
mDefaultProbe->mComplete = default_complete;
+ mDefaultProbe->mCompletedCount = 0;
+ mDefaultProbe->mLastUpdateTime = 0.f;
+ mDefaultProbe->mNextUpdateTime = 0.f;
touch_default_probe(mDefaultProbe);
}
diff --git a/indra/newview/llreflectionmapmanager.h b/indra/newview/llreflectionmapmanager.h
index 0719c28134..b874bb1c17 100644
--- a/indra/newview/llreflectionmapmanager.h
+++ b/indra/newview/llreflectionmapmanager.h
@@ -210,7 +210,14 @@ private:
void doProbeUpdate();
// update the specified face of the specified probe
- void updateProbeFace(LLReflectionMap* probe, U32 face);
+ void updateProbeFace(LLReflectionMap* probe, U32 face, bool progressive = false);
+
+ void updateProbeIrradiance(LLReflectionMap* probe);
+ void updateProbeRadiance(LLReflectionMap* probe);
+
+ void updateProbeIrradianceOnFace(LLReflectionMap* probe, U32 face, S32 sourceIdx);
+ void updateProbeRadianceOnFace(LLReflectionMap* probe, U32 face, S32 sourceIdx);
+
// list of active reflection maps
std::vector<LLPointer<LLReflectionMap> > mProbes;
@@ -267,6 +274,8 @@ private:
bool mPaused = false;
F32 mResumeTime = 0.f;
+ F32 mLastUpdate = 0.f;
+
ReflectionProbeData mProbeData;
};
diff --git a/indra/newview/llselectmgr.cpp b/indra/newview/llselectmgr.cpp
index 00c219fdda..329522f18c 100644
--- a/indra/newview/llselectmgr.cpp
+++ b/indra/newview/llselectmgr.cpp
@@ -6544,7 +6544,7 @@ void LLSelectMgr::renderSilhouettes(bool for_hud)
gGL.popMatrix();
gGL.popMatrix();
- glLineWidth(1.f);
+ //glLineWidth(1.f);
#if GL_VERSION_1_1
glPolygonMode(GL_FRONT_AND_BACK, GL_FILL);
#endif
diff --git a/indra/newview/llsnapshotlivepreview.cpp b/indra/newview/llsnapshotlivepreview.cpp
index 9b6a87e68d..f1731af3be 100644
--- a/indra/newview/llsnapshotlivepreview.cpp
+++ b/indra/newview/llsnapshotlivepreview.cpp
@@ -238,11 +238,11 @@ void LLSnapshotLivePreview::drawPreviewRect(S32 offset_x, S32 offset_y, LLColor4
{
F32 line_width ;
glGetFloatv(GL_LINE_WIDTH, &line_width) ;
- glLineWidth(2.0f * line_width) ;
+ //glLineWidth(2.0f * line_width) ;
LLColor4 color(0.0f, 0.0f, 0.0f, 1.0f) ;
gl_rect_2d( mPreviewRect.mLeft + offset_x, mPreviewRect.mTop + offset_y,
mPreviewRect.mRight + offset_x, mPreviewRect.mBottom + offset_y, color, false ) ;
- glLineWidth(line_width) ;
+ //glLineWidth(line_width) ;
//draw four alpha rectangles to cover areas outside of the snapshot image
if(!mKeepAspectRatio)
diff --git a/indra/newview/llspatialpartition.cpp b/indra/newview/llspatialpartition.cpp
index a90ff73578..a147cb4657 100644
--- a/indra/newview/llspatialpartition.cpp
+++ b/indra/newview/llspatialpartition.cpp
@@ -1661,12 +1661,12 @@ void renderOctree(LLSpatialGroup* group)
gGL.diffuseColor4f(1,0,0,group->mBuilt);
gGL.flush();
- glLineWidth(5.f);
+ //glLineWidth(5.f);
const LLVector4a* bounds = group->getObjectBounds();
drawBoxOutline(bounds[0], bounds[1]);
- gGL.flush();
- glLineWidth(1.f);
+ //gGL.flush();
+ //glLineWidth(1.f);
gGL.flush();
const LLVOAvatar* lastAvatar = nullptr;
@@ -1978,12 +1978,11 @@ void renderBoundingBox(LLDrawable* drawable, bool set_color = true)
if (vobj && vobj->onActiveList())
{
gGL.flush();
- glLineWidth(llmax(4.f*sinf(gFrameTimeSeconds*2.f)+1.f, 1.f));
- //glLineWidth(4.f*(sinf(gFrameTimeSeconds*2.f)*0.25f+0.75f));
- stop_glerror();
+ //glLineWidth(llmax(4.f*sinf(gFrameTimeSeconds*2.f)+1.f, 1.f));
+ stop_glerror();
drawBoxOutline(pos,size);
gGL.flush();
- glLineWidth(1.f);
+ //glLineWidth(1.f);
}
else
{
@@ -2897,7 +2896,7 @@ public:
if (i == 1)
{
gGL.flush();
- glLineWidth(3.f);
+ //glLineWidth(3.f);
}
gGL.begin(LLRender::TRIANGLES);
@@ -2916,7 +2915,7 @@ public:
if (i == 1)
{
gGL.flush();
- glLineWidth(1.f);
+ //glLineWidth(1.f);
}
}
}
diff --git a/indra/newview/llstatusbar.cpp b/indra/newview/llstatusbar.cpp
index bf4ec14487..8793541e80 100644
--- a/indra/newview/llstatusbar.cpp
+++ b/indra/newview/llstatusbar.cpp
@@ -304,9 +304,21 @@ void LLStatusBar::refresh()
mFpsUpdateTimer->reset();
S32 fps = (S32) llround(LLTrace::get_frame_recording().getPeriodMedianPerSec(LLStatViewer::FPS, 50));
+ if(fps < 1) fps = 1;
+
+ S32 minFps = (S32) llround(LLTrace::get_frame_recording().getPeriodMinPerSec(LLStatViewer::FPS, 50));
+ S32 maxFps = (S32) llround(LLTrace::get_frame_recording().getPeriodMaxPerSec(LLStatViewer::FPS, 50));
+
+ F32 fpsQuality = (F32)minFps / (F32)fps;
+
std::string fpsStr = std::to_string(fps);
- //mTextFps->setText(fpsStr);
+
mTextFps->setLabel(fpsStr);
+
+ if(fpsQuality < 0.5) mTextFps->setColor(LLColor4(0.6,0.0,0.0));
+ else if(fpsQuality < 0.7) mTextFps->setColor(LLColor4(0.7,0.5,0.0));
+ else if(fpsQuality < 0.9) mTextFps->setColor(LLColor4(0.5,0.7,0.0));
+ else mTextFps->setColor(LLColor4(0.0, 0.7, 0.15));
}
// update clock every 10 seconds
diff --git a/indra/newview/llterrainpaintmap.cpp b/indra/newview/llterrainpaintmap.cpp
index c7a82013e4..8cb926a110 100644
--- a/indra/newview/llterrainpaintmap.cpp
+++ b/indra/newview/llterrainpaintmap.cpp
@@ -86,9 +86,10 @@ bool LLTerrainPaintMap::bakeHeightNoiseIntoPBRPaintMapRGB(const LLViewerRegion&
return false;
}
gGL.getTexUnit(0)->disable();
- stop_glerror();
- scratch_target.bindTarget();
+ LOG_GLERROR("");
+
+ scratch_target.bindTarget("", 1);
glClearColor(0, 0, 0, 0);
scratch_target.clear();
@@ -276,7 +277,7 @@ bool LLTerrainPaintMap::bakeHeightNoiseIntoPBRPaintMapRGB(const LLViewerRegion&
LL_WARNS() << "Failed to copy framebuffer to paintmap" << LL_ENDL;
}
glGenerateMipmap(GL_TEXTURE_2D);
- stop_glerror();
+ LOG_GLERROR("LLTerrainPainMap::bakeHeightNoiseIntoPBRPaintMapRGB() - glGenerateMipmap");
scratch_target.flush();
diff --git a/indra/newview/llviewerdisplay.cpp b/indra/newview/llviewerdisplay.cpp
index 6e790e4fca..5183370076 100644
--- a/indra/newview/llviewerdisplay.cpp
+++ b/indra/newview/llviewerdisplay.cpp
@@ -709,6 +709,8 @@ void display(bool rebuild, F32 zoom_factor, int subfield, bool for_snapshot)
if (!gDisconnected && !LLApp::isExiting())
{
+ // =========== MIRRORS =============
+
// Render mirrors and associated hero probes before we render the rest of the scene.
// This ensures the scene state in the hero probes are exactly the same as the rest of the scene before we render it.
if (gPipeline.RenderMirrors && !gSnapshot)
@@ -734,12 +736,14 @@ void display(bool rebuild, F32 zoom_factor, int subfield, bool for_snapshot)
display_update_camera();
stop_glerror();
+ // =========== ENV: SKY, WATER =============
{
LL_PROFILE_ZONE_NAMED_CATEGORY_DISPLAY("Env Update");
// update all the sky/atmospheric/water settings
LLEnvironment::instance().update(LLViewerCamera::getInstance());
}
+ // =========== EFFECTS (?) =============
// *TODO: merge these two methods
{
LL_PROFILE_ZONE_NAMED_CATEGORY_DISPLAY("HUD Update");
@@ -748,6 +752,7 @@ void display(bool rebuild, F32 zoom_factor, int subfield, bool for_snapshot)
stop_glerror();
}
+ // =========== GEOMETRY =============
{
LL_PROFILE_ZONE_NAMED_CATEGORY_DISPLAY("Update Geom");
const F32 max_geom_update_time = 0.005f*10.f*gFrameIntervalSeconds.value(); // 50 ms/second update time
@@ -778,6 +783,8 @@ void display(bool rebuild, F32 zoom_factor, int subfield, bool for_snapshot)
LLGLState::checkStates();
+ // =========== OCCLUSION =============
+
static LLCullResult result;
LLViewerCamera::sCurCameraID = LLViewerCamera::CAMERA_WORLD;
LLPipeline::sUnderWaterRender = LLViewerCamera::getInstance()->cameraUnderWater();
@@ -803,12 +810,18 @@ void display(bool rebuild, F32 zoom_factor, int subfield, bool for_snapshot)
if (!for_snapshot)
{
- if (gFrameCount > 1 && !for_snapshot)
- { //for some reason, ATI 4800 series will error out if you
- //try to generate a shadow before the first frame is through
+
+ // =========== SHADOWS =============
+
+ S32 RenderShadowDetail = gSavedSettings.getS32("RenderShadowDetail");
+
+ if(RenderShadowDetail > 0 && gFrameCount > 1)
+ {
gPipeline.generateSunShadow(*LLViewerCamera::getInstance());
}
+ // =========== IMPOSTORS =============
+
LLVertexBuffer::unbind();
LLGLState::checkStates();
@@ -832,6 +845,9 @@ void display(bool rebuild, F32 zoom_factor, int subfield, bool for_snapshot)
glClear(GL_DEPTH_BUFFER_BIT);
}
+
+ // =========== IMAGES =============
+
//////////////////////////////////////
//
// Update images, using the image stats generated during object update/culling
@@ -870,6 +886,9 @@ void display(bool rebuild, F32 zoom_factor, int subfield, bool for_snapshot)
LLGLState::checkStates();
+
+ // =========== SORTING OBJECTS =============
+
///////////////////////////////////
//
// StateSort
@@ -903,6 +922,9 @@ void display(bool rebuild, F32 zoom_factor, int subfield, bool for_snapshot)
LLPipeline::sUseOcclusion = occlusion;
+
+ // =========== SKY =============
+
{
LLAppViewer::instance()->pingMainloopTimeout("Display:Sky");
LL_PROFILE_ZONE_NAMED_CATEGORY_ENVIRONMENT("update sky"); //LL_RECORD_BLOCK_TIME(FTM_UPDATE_SKY);
@@ -954,6 +976,9 @@ void display(bool rebuild, F32 zoom_factor, int subfield, bool for_snapshot)
// gGL.popMatrix();
//}
+
+ // =========== DEFERRED =============
+
LLPipeline::sUnderWaterRender = LLViewerCamera::getInstance()->cameraUnderWater();
LLGLState::checkStates();
@@ -962,7 +987,7 @@ void display(bool rebuild, F32 zoom_factor, int subfield, bool for_snapshot)
gGL.setColorMask(true, true);
- gPipeline.mRT->deferredScreen.bindTarget();
+ gPipeline.mRT->deferredScreen.bindTarget("", 1);
if (gUseWireframe)
{
constexpr F32 g = 0.5f;
@@ -974,6 +999,9 @@ void display(bool rebuild, F32 zoom_factor, int subfield, bool for_snapshot)
}
gPipeline.mRT->deferredScreen.clear();
+
+ // =========== RENDER GEOMETRY =============
+
gGL.setColorMask(true, false);
LLAppViewer::instance()->pingMainloopTimeout("Display:RenderGeom");
@@ -984,7 +1012,11 @@ void display(bool rebuild, F32 zoom_factor, int subfield, bool for_snapshot)
LL_PROFILE_ZONE_NAMED_CATEGORY_DISPLAY("display - 5")
LLViewerCamera::sCurCameraID = LLViewerCamera::CAMERA_WORLD;
+
+ // =========== RENDER DEPTH PREPASS (UNUSED) =============
+
static LLCachedControl<bool> render_depth_pre_pass(gSavedSettings, "RenderDepthPrePass", false);
+
if (render_depth_pre_pass)
{
gGL.setColorMask(false, false);
@@ -1010,6 +1042,8 @@ void display(bool rebuild, F32 zoom_factor, int subfield, bool for_snapshot)
gPipeline.renderGeomDeferred(*LLViewerCamera::getInstance(), true);
}
+ // =========== UNBIND TEXTURES =============
+
{
LL_PROFILE_ZONE_NAMED_CATEGORY_DISPLAY("Texture Unbind");
for (S32 i = 0; i < gGLManager.mNumTextureImageUnits; i++)
@@ -1022,11 +1056,15 @@ void display(bool rebuild, F32 zoom_factor, int subfield, bool for_snapshot)
}
}
+ // =========== FLUSH =============
+
LLAppViewer::instance()->pingMainloopTimeout("Display:RenderFlush");
LLRenderTarget &rt = (gPipeline.sRenderDeferred ? gPipeline.mRT->deferredScreen : gPipeline.mRT->screen);
rt.flush();
+ // =========== RENDER DEFERRED =============
+
if (LLPipeline::sRenderDeferred)
{
gPipeline.renderDeferredLighting();
@@ -1039,10 +1077,14 @@ void display(bool rebuild, F32 zoom_factor, int subfield, bool for_snapshot)
LLSceneMonitor::getInstance()->capture();
}
+ // =========== RENDER UI =============
+
LLAppViewer::instance()->pingMainloopTimeout("Display:RenderUI");
if (!for_snapshot)
{
+ gGL.flush();
render_ui();
+ gGL.flush();
swap();
}
@@ -1053,8 +1095,6 @@ void display(bool rebuild, F32 zoom_factor, int subfield, bool for_snapshot)
LLAppViewer::instance()->pingMainloopTimeout("Display:FrameStats");
- stop_glerror();
-
display_stats();
LLAppViewer::instance()->pingMainloopTimeout("Display:Done");
@@ -1204,7 +1244,7 @@ void display_cube_face()
gGL.setColorMask(true, true);
glClearColor(0.f, 0.f, 0.f, 0.f);
- gPipeline.generateSunShadow(*LLViewerCamera::getInstance());
+ //gPipeline.generateSunShadow(*LLViewerCamera::getInstance());
glClear(GL_DEPTH_BUFFER_BIT); // | GL_STENCIL_BUFFER_BIT);
@@ -1232,7 +1272,7 @@ void display_cube_face()
gGL.setColorMask(true, true);
- gPipeline.mRT->deferredScreen.bindTarget();
+ gPipeline.mRT->deferredScreen.bindTarget("", 1);
if (gUseWireframe)
{
glClearColor(0.5f, 0.5f, 0.5f, 1.f);
@@ -1647,6 +1687,10 @@ void render_ui_3d()
gUIProgram.bind();
gGL.color4f(1.f, 1.f, 1.f, 1.f);
+ static LLCachedControl<bool> hdrDisplay(gSavedSettings, "MPHDRDisplay");
+ static LLCachedControl<F32> hdrUIBoost(gSavedSettings, "MPHDRUIBoost");
+ if(hdrDisplay) gUIProgram.uniform1f(LLShaderMgr::MP_HDR_BOOST, (GLfloat)hdrUIBoost);
+
// Coordinate axes
static LLCachedControl<bool> show_axes(gSavedSettings, "ShowAxes");
if (show_axes())
@@ -1669,7 +1713,7 @@ void render_ui_3d()
LLHUDObject::renderAllForTimer();
}
- stop_glerror();
+ LOG_GLERROR("render_ui_3d()");
}
void render_ui_2d()
@@ -1719,7 +1763,7 @@ void render_ui_2d()
gl_rect_2d(-half_width, half_height, half_width, -half_height, false);
gGL.popMatrix();
gUIProgram.unbind();
- stop_glerror();
+ LOG_GLERROR("");
}
@@ -1730,7 +1774,7 @@ void render_ui_2d()
LLView::sIsRectDirty = false;
LLRect t_rect;
- gPipeline.mUIScreen.bindTarget();
+ gPipeline.mUIScreen.bindTarget("", 1);
gGL.setColorMask(true, true);
{
constexpr S32 pad = 8;
@@ -1788,6 +1832,8 @@ void render_ui_2d()
// reset current origin for font rendering, in case of tiling render
LLFontGL::sCurOrigin.set(0, 0);
+
+ LOG_GLERROR("render_ui_2d()");
}
void render_disconnected_background()
diff --git a/indra/newview/llviewerparceloverlay.cpp b/indra/newview/llviewerparceloverlay.cpp
index e36ad0e722..0bb03cdd60 100755
--- a/indra/newview/llviewerparceloverlay.cpp
+++ b/indra/newview/llviewerparceloverlay.cpp
@@ -809,7 +809,7 @@ void LLViewerParcelOverlay::renderPropertyLinesOnMinimap(F32 scale_pixels_per_me
const S32 GRIDS_PER_EDGE = mParcelGridsPerEdge;
gGL.getTexUnit(0)->unbind(LLTexUnit::TT_TEXTURE);
- glLineWidth(1.0f);
+ //glLineWidth(1.0f);
gGL.color4fv(parcel_outline_color);
for (S32 i = 0; i <= GRIDS_PER_EDGE; i++)
{
diff --git a/indra/newview/llviewershadermgr.cpp b/indra/newview/llviewershadermgr.cpp
index 7ef13c3a35..43cb7d8a14 100644
--- a/indra/newview/llviewershadermgr.cpp
+++ b/indra/newview/llviewershadermgr.cpp
@@ -137,6 +137,10 @@ LLGLSLShader gGlowProgram;
LLGLSLShader gGlowExtractProgram;
LLGLSLShader gPostScreenSpaceReflectionProgram;
+LLGLSLShader gBloomExtractProgram;
+LLGLSLShader gBloomBlurProgram;
+LLGLSLShader gBloomCombineProgram;
+
// Deferred rendering shaders
LLGLSLShader gDeferredImpostorProgram;
LLGLSLShader gDeferredDiffuseProgram;
@@ -198,6 +202,7 @@ LLGLSLShader gDeferredPostTonemapProgram;
LLGLSLShader gNoPostTonemapProgram;
LLGLSLShader gDeferredPostGammaCorrectProgram;
LLGLSLShader gLegacyPostGammaCorrectProgram;
+LLGLSLShader gHDRGammaCorrectProgram;
LLGLSLShader gExposureProgram;
LLGLSLShader gExposureProgramNoFade;
LLGLSLShader gLuminanceProgram;
@@ -445,6 +450,7 @@ void LLViewerShaderMgr::finalizeShaderList()
mShaderList.push_back(&gNoPostTonemapProgram);
mShaderList.push_back(&gDeferredPostGammaCorrectProgram); // for gamma
mShaderList.push_back(&gLegacyPostGammaCorrectProgram);
+ mShaderList.push_back(&gHDRGammaCorrectProgram);
mShaderList.push_back(&gDeferredDiffuseProgram);
mShaderList.push_back(&gDeferredBumpProgram);
mShaderList.push_back(&gDeferredPBROpaqueProgram);
@@ -802,9 +808,12 @@ std::string LLViewerShaderMgr::loadBasicShaders()
if (shadow_detail >= 1)
{
- attribs["SUN_SHADOW"] = "1";
+ if(shadow_detail < 3)
+ {
+ attribs["SUN_SHADOW"] = "1";
+ }
- if (shadow_detail >= 2)
+ if (shadow_detail > 1)
{
attribs["SPOT_SHADOW"] = "1";
}
@@ -902,8 +911,9 @@ bool LLViewerShaderMgr::loadShadersWater()
bool success = true;
bool terrainWaterSuccess = true;
+ S32 shadow_detail = gSavedSettings.getS32("RenderShadowDetail");
bool use_sun_shadow = mShaderLevel[SHADER_DEFERRED] > 1 &&
- gSavedSettings.getS32("RenderShadowDetail") > 0;
+ shadow_detail > 0 && shadow_detail < 3;
if (mShaderLevel[SHADER_WATER] == 0)
{
@@ -1003,6 +1013,52 @@ bool LLViewerShaderMgr::loadShadersEffects()
if (success)
{
+ gBloomExtractProgram.mName = "Bloom Extract Shader";
+ gBloomExtractProgram.mShaderFiles.clear();
+ gBloomExtractProgram.mShaderFiles.push_back(make_pair("effects/bloomExtractV.glsl", GL_VERTEX_SHADER));
+ gBloomExtractProgram.mShaderFiles.push_back(make_pair("effects/bloomExtractF.glsl", GL_FRAGMENT_SHADER));
+ gBloomExtractProgram.mShaderLevel = mShaderLevel[SHADER_EFFECT];
+
+ success = gBloomExtractProgram.createShader();
+ if (!success)
+ {
+ LL_WARNS() << "gBloomExtractProgram creation ERROR" << LL_ENDL;
+ //LLPipeline::sRenderGlow = false;
+ }
+ }
+
+ if (success)
+ {
+ gBloomBlurProgram.mName = "Bloom Blur Shader";
+ gBloomBlurProgram.mShaderFiles.clear();
+ gBloomBlurProgram.mShaderFiles.push_back(make_pair("effects/bloomBlurV.glsl", GL_VERTEX_SHADER));
+ gBloomBlurProgram.mShaderFiles.push_back(make_pair("effects/bloomBlurF.glsl", GL_FRAGMENT_SHADER));
+ gBloomBlurProgram.mShaderLevel = mShaderLevel[SHADER_EFFECT];
+
+ success = gBloomBlurProgram.createShader();
+ if(!success)
+ {
+ LL_WARNS() << "gBloomBlurProgram creation ERROR" << LL_ENDL;
+ }
+ }
+
+ if (success)
+ {
+ gBloomCombineProgram.mName = "Bloom Combine Shader";
+ gBloomCombineProgram.mShaderFiles.clear();
+ gBloomCombineProgram.mShaderFiles.push_back(make_pair("effects/bloomCombineV.glsl", GL_VERTEX_SHADER));
+ gBloomCombineProgram.mShaderFiles.push_back(make_pair("effects/bloomCombineF.glsl", GL_FRAGMENT_SHADER));
+ gBloomCombineProgram.mShaderLevel = mShaderLevel[SHADER_EFFECT];
+
+ success = gBloomCombineProgram.createShader();
+ if(!success)
+ {
+ LL_WARNS() << "gBloomCombineProgram creation ERROR" << LL_ENDL;
+ }
+ }
+
+ if (success)
+ {
gGlowProgram.mName = "Glow Shader (Post)";
gGlowProgram.mShaderFiles.clear();
gGlowProgram.mShaderFiles.push_back(make_pair("effects/glowV.glsl", GL_VERTEX_SHADER));
@@ -1107,6 +1163,7 @@ bool LLViewerShaderMgr::loadShadersDeferred()
gLuminanceProgram.unload();
gDeferredPostGammaCorrectProgram.unload();
gLegacyPostGammaCorrectProgram.unload();
+ gHDRGammaCorrectProgram.unload();
gDeferredPostTonemapProgram.unload();
gNoPostTonemapProgram.unload();
for (auto i = 0; i < 4; ++i)
@@ -2450,6 +2507,21 @@ bool LLViewerShaderMgr::loadShadersDeferred()
if (success)
{
+ gHDRGammaCorrectProgram.mName = "HDR Gamma Correction Post Process";
+ gHDRGammaCorrectProgram.mFeatures.hasSrgb = true;
+ gHDRGammaCorrectProgram.mFeatures.isDeferred = true;
+ gHDRGammaCorrectProgram.mShaderFiles.clear();
+ gHDRGammaCorrectProgram.clearPermutations();
+ //gHDRGammaCorrectProgram.addPermutation("HDR_GAMMA", "1");
+ gHDRGammaCorrectProgram.mShaderFiles.push_back(make_pair("deferred/postDeferredNoTCV.glsl", GL_VERTEX_SHADER));
+ gHDRGammaCorrectProgram.mShaderFiles.push_back(make_pair("deferred/MPHDRDisplayGammaF.glsl", GL_FRAGMENT_SHADER));
+ gHDRGammaCorrectProgram.mShaderLevel = mShaderLevel[SHADER_DEFERRED];
+ success = gHDRGammaCorrectProgram.createShader();
+ llassert(success);
+ }
+
+ if (success)
+ {
gDeferredPostTonemapProgram.mName = "Deferred Tonemap Post Process";
gDeferredPostTonemapProgram.mFeatures.hasSrgb = true;
gDeferredPostTonemapProgram.mFeatures.isDeferred = true;
diff --git a/indra/newview/llviewershadermgr.h b/indra/newview/llviewershadermgr.h
index 7ad2da9464..7f989f281e 100644
--- a/indra/newview/llviewershadermgr.h
+++ b/indra/newview/llviewershadermgr.h
@@ -254,6 +254,7 @@ extern LLGLSLShader gDeferredPostNoDoFProgram;
extern LLGLSLShader gDeferredPostNoDoFNoiseProgram;
extern LLGLSLShader gDeferredPostGammaCorrectProgram;
extern LLGLSLShader gLegacyPostGammaCorrectProgram;
+extern LLGLSLShader gHDRGammaCorrectProgram;
extern LLGLSLShader gDeferredPostTonemapProgram;
extern LLGLSLShader gNoPostTonemapProgram;
extern LLGLSLShader gExposureProgram;
@@ -298,6 +299,10 @@ extern LLGLSLShader gHUDPBRAlphaProgram;
// GLTF shaders
extern LLGLSLShader gGLTFPBRMetallicRoughnessProgram;
+extern LLGLSLShader gBloomExtractProgram;
+extern LLGLSLShader gBloomBlurProgram;
+extern LLGLSLShader gBloomCombineProgram;
+
// Encodes detail level for dropping textures, in accordance with the GLTF spec where possible
// 0 is highest detail, -1 drops emissive, etc
// Dropping metallic roughness is off-spec - Reserve for potato machines as needed
diff --git a/indra/newview/llviewertexturelist.cpp b/indra/newview/llviewertexturelist.cpp
index 7e14c621ad..5bbcd8f09f 100644
--- a/indra/newview/llviewertexturelist.cpp
+++ b/indra/newview/llviewertexturelist.cpp
@@ -1146,6 +1146,8 @@ F32 LLViewerTextureList::updateImagesCreateTextures(F32 max_time)
// just in case we downres textures, bind downresmap and copy program
gPipeline.mDownResMap.bindTarget();
+ //gPipeline.mDownResMap.clear();
+
gCopyProgram.bind();
gPipeline.mScreenTriangleVB->setBuffer();
@@ -1155,7 +1157,7 @@ F32 LLViewerTextureList::updateImagesCreateTextures(F32 max_time)
// do at least 5 and make sure we don't get too far behind even if it violates
// the time limit. If we don't downscale quickly the viewer will hit swap and may
// freeze.
- S32 min_count = (S32)mCreateTextureList.size() / 20 + 5;
+ S32 min_count = (S32)mCreateTextureList.size() / 20 + 3;
create_timer.reset();
while (!mDownScaleQueue.empty())
diff --git a/indra/newview/llviewerwindow.cpp b/indra/newview/llviewerwindow.cpp
index db6b23229b..3928d59a94 100644
--- a/indra/newview/llviewerwindow.cpp
+++ b/indra/newview/llviewerwindow.cpp
@@ -1977,7 +1977,8 @@ LLViewerWindow::LLViewerWindow(const Params& p)
LL_DEBUGS("Window") << "Loading feature tables." << LL_ENDL;
// Initialize OpenGL Renderer
- LLVertexBuffer::initClass(mWindow);
+ LLVertexBuffer::initClass(mWindow, gSavedSettings.getU32("MPVertexBufferMode"));
+
LL_INFOS("RenderInit") << "LLVertexBuffer initialization done." << LL_ENDL ;
if (!gGL.init(true))
{
@@ -4839,21 +4840,13 @@ void LLViewerWindow::saveImageLocal(LLImageFormatted *image, const snapshot_save
auto err = 0;
auto extension("." + image->getExtension());
auto now = LLDate::now();
- static LLCachedControl<bool> snapshot_timestamp(gSavedSettings, "SnapshotTimestamp", true) ;
do
{
filepath = sSnapshotDir;
filepath += gDirUtilp->getDirDelimiter();
filepath += sSnapshotBaseName;
- if (snapshot_timestamp)
- {
filepath += now.toLocalDateString("_%Y-%m-%d_%H%M%S");
filepath += llformat("%.2d", i);
- }
- else if (is_snapshot_name_loc_set)
- {
- filepath += llformat("_%.3d", i);
- }
filepath += extension;
llstat stat_info;
@@ -5055,7 +5048,7 @@ bool LLViewerWindow::rawSnapshot(LLImageRaw *raw, S32 image_width, S32 image_hei
mWorldViewRectRaw.set(0, image_height, image_width, 0);
LLViewerCamera::getInstance()->setViewHeightInPixels( mWorldViewRectRaw.getHeight() );
LLViewerCamera::getInstance()->setAspect( getWorldViewAspectRatio() );
- scratch_space.bindTarget();
+ scratch_space.bindTarget("", 0);
}
else
{
@@ -5195,7 +5188,7 @@ bool LLViewerWindow::rawSnapshot(LLImageRaw *raw, S32 image_width, S32 image_hei
glReadPixels(
subimage_x_offset, out_y + subimage_y_offset,
read_width, 1,
- GL_DEPTH_COMPONENT, GL_FLOAT,
+ GL_DEPTH_COMPONENT, GL_UNSIGNED_INT,
depth_line_buffer->getData()// current output pixel is beginning of buffer...
);
@@ -5322,7 +5315,7 @@ bool LLViewerWindow::simpleSnapshot(LLImageRaw* raw, S32 image_width, S32 image_
{
mWorldViewRectRaw.set(0, image_height, image_width, 0);
- scratch_space.bindTarget();
+ scratch_space.bindTarget("", 0);
}
else
{
diff --git a/indra/newview/llvoavatar.cpp b/indra/newview/llvoavatar.cpp
index e317ba262a..ab07afe23e 100644
--- a/indra/newview/llvoavatar.cpp
+++ b/indra/newview/llvoavatar.cpp
@@ -5478,7 +5478,7 @@ U32 LLVOAvatar::renderImpostor(LLColor4U color, S32 diffuse_channel)
gGL.begin(LLRender::LINES);
gGL.color4f(1.f,1.f,1.f,1.f);
F32 thickness = llmax(F32(5.0f-5.0f*(gFrameTimeSeconds-mLastImpostorUpdateFrameTime)),1.0f);
- glLineWidth(thickness);
+ //glLineWidth(thickness);
gGL.vertex3fv((pos+left-up).mV);
gGL.vertex3fv((pos-left-up).mV);
gGL.vertex3fv((pos-left-up).mV);
diff --git a/indra/newview/mpfloatertuning.cpp b/indra/newview/mpfloatertuning.cpp
index 1a3e4cf718..23f8c21e70 100644
--- a/indra/newview/mpfloatertuning.cpp
+++ b/indra/newview/mpfloatertuning.cpp
@@ -39,47 +39,37 @@ MPFloaterTuning::MPFloaterTuning(const LLSD& key) : LLFloater(key)
{
}
-void MPFloaterTuning::syncFromPreferenceSetting(void *user_data)
-{
- MPFloaterTuning *self = static_cast<MPFloaterTuning*>(user_data);
+bool MPFloaterTuning::postBuild()
+{
U32 fps = gSavedSettings.getU32("MaxFPS");
if(fps==0) fps=132;
- LLSliderCtrl* fpsSliderCtrl = self->getChild<LLSliderCtrl>("fpsSlider");
- fpsSliderCtrl->setValue(fps,FALSE);
+ mFpsSlider = getChild<LLSliderCtrl>("fpsSliderCtrl");
+ mFpsSlider->setCommitCallback(boost::bind(&MPFloaterTuning::onFpsSliderChanged, this));
- LLTextBox* fpsText = self->getChild<LLTextBox>("fpsText");
- if(fps>120) fpsText->setValue("no limit");
- else fpsText->setValue(std::to_string(fps)+" fps");
-}
-
-bool MPFloaterTuning::postBuild()
-{
- LLSliderCtrl* fpsSliderCtrl = getChild<LLSliderCtrl>("fpsSlider");
- fpsSliderCtrl->setMinValue(12);
- fpsSliderCtrl->setMaxValue(132);
- fpsSliderCtrl->setSliderMouseUpCallback(boost::bind(&MPFloaterTuning::onFinalCommit,this));
+ mFpsSlider->setValue(fps, false);
- LLTextBox* fpsText = getChild<LLTextBox>("fpsText");
- fpsText->setValue("");
+ mFpsTextBox = getChild<LLTextBox>("fpsTextCtrl");
+ mFpsTextBox->setValue("");
- syncFromPreferenceSetting(this);
+ if(fps>120) mFpsTextBox->setValue("no limit");
+ else if(fps==0) mFpsTextBox->setValue("no limit");
+ else mFpsTextBox->setValue(std::to_string(fps)+" fps");
- return TRUE;
+ return true;
}
// Do send-to-the-server work when slider drag completes, or new
// value entered as text.
-void MPFloaterTuning::onFinalCommit()
+void MPFloaterTuning::onFpsSliderChanged()
{
- LLSliderCtrl* fpsSliderCtrl = getChild<LLSliderCtrl>("fpsSlider");
- U32 fps = (U32)fpsSliderCtrl->getValueF32();
+ U32 fps = (U32)mFpsSlider->getValueF32();
gSavedSettings.setU32("MaxFPS",fps);
- LLTextBox* fpsText = getChild<LLTextBox>("fpsText");
- if(fps>120) fpsText->setValue("no limit");
- else fpsText->setValue(std::to_string(fps)+" fps");
+ if(fps>120) mFpsTextBox->setValue("no limit");
+ else if(fps==0) mFpsTextBox->setValue("no limit");
+ else mFpsTextBox->setValue(std::to_string(fps)+" fps");
}
void MPFloaterTuning::onClose(bool app_quitting)
diff --git a/indra/newview/mpfloatertuning.h b/indra/newview/mpfloatertuning.h
index 9e9c7f174f..bebdaa9952 100644
--- a/indra/newview/mpfloatertuning.h
+++ b/indra/newview/mpfloatertuning.h
@@ -29,20 +29,28 @@
#include "llfloater.h"
+class LLSliderCtrl;
+class LLTextBox;
+
class MPFloaterTuning: public LLFloater
{
-public:
+ public:
+
MPFloaterTuning(const LLSD& key);
bool postBuild();
void onFinalCommit();
- static void syncFromPreferenceSetting(void *user_data);
-
- //void updateEditEnabled();
/*virtual*/ void onClose(bool app_quitting);
+
+ private:
+
+ LLSliderCtrl* mFpsSlider = nullptr;
+ LLTextBox* mFpsTextBox = nullptr;
+
+ void onFpsSliderChanged();
};
#endif
diff --git a/indra/newview/pipeline.cpp b/indra/newview/pipeline.cpp
index 6b3a5b1892..800ed79d8a 100644
--- a/indra/newview/pipeline.cpp
+++ b/indra/newview/pipeline.cpp
@@ -141,10 +141,9 @@ bool LLPipeline::WindLightUseAtmosShaders;
bool LLPipeline::RenderDeferred;
F32 LLPipeline::RenderDeferredSunWash;
U32 LLPipeline::RenderFSAAType;
-U32 LLPipeline::RenderResolutionDivisor;
+F32 LLPipeline::RenderResolutionDivisor;
bool LLPipeline::RenderUIBuffer;
S32 LLPipeline::RenderShadowDetail;
-S32 LLPipeline::MPRenderShadowOpti;
S32 LLPipeline::RenderShadowSplits;
bool LLPipeline::RenderDeferredSSAO;
F32 LLPipeline::RenderShadowResolutionScale;
@@ -229,6 +228,9 @@ const F32 ALPHA_BLEND_CUTOFF = 0.598f;
const F32 DEFERRED_LIGHT_FALLOFF = 0.5f;
const U32 DEFERRED_VB_MASK = LLVertexBuffer::MAP_VERTEX | LLVertexBuffer::MAP_TEXCOORD0 | LLVertexBuffer::MAP_TEXCOORD1;
+const U32 SHADOWS_RESX = 1024;
+const U32 SHADOWS_RESY = 768;
+
extern S32 gBoxFrame;
extern bool gDisplaySwapBuffers;
extern bool gDebugGL;
@@ -268,6 +270,7 @@ LLTrace::BlockTimerStatHandle FTM_STATESORT("Sort Draw State");
LLTrace::BlockTimerStatHandle FTM_PIPELINE("Pipeline");
LLTrace::BlockTimerStatHandle FTM_CLIENT_COPY("Client Copy");
LLTrace::BlockTimerStatHandle FTM_RENDER_DEFERRED("Deferred Shading");
+LLTrace::BlockTimerStatHandle FTM_RENDER_SHADOWS("Shadows");
LLTrace::BlockTimerStatHandle FTM_RENDER_UI_HUD("HUD");
LLTrace::BlockTimerStatHandle FTM_RENDER_UI_3D("3D");
@@ -346,18 +349,20 @@ void validate_framebuffer_object();
// target -- RenderTarget to add attachments to
bool addDeferredAttachments(LLRenderTarget& target, bool for_impostor = false)
{
- U32 orm = GL_RGBA;
+ U32 orm = GL_RGBA8;
U32 norm = GL_RGBA16F;
U32 emissive = GL_RGB16F;
static LLCachedControl<bool> has_emissive(gSavedSettings, "RenderEnableEmissiveBuffer", false);
static LLCachedControl<bool> has_hdr(gSavedSettings, "RenderHDREnabled", true);
+ static LLCachedControl<U32> MPColorPrecision(gSavedSettings, "MPColorPrecision", 0);
+
bool hdr = has_hdr() && gGLManager.mGLVersion > 4.05f;
- if (!hdr)
+ if (!hdr || MPColorPrecision < 2)
{
norm = GL_RGB10_A2;
- emissive = GL_RGB;
+ emissive = GL_RGB8;
}
bool valid = true;
@@ -429,7 +434,7 @@ void LLPipeline::init()
mInitialized = true;
- stop_glerror();
+ LOG_GLERROR("LLPipeline::init()");
//create render pass pools
getPool(LLDrawPool::POOL_WATEREXCLUSION);
@@ -479,6 +484,10 @@ void LLPipeline::init()
gSavedSettings.setBOOL("RenderPerformanceTest", true);
}
+#if LL_DARWIN
+ mHDRDisplay = gSavedSettings.getBOOL("MPHDRDisplay");
+#endif
+
mOldRenderDebugMask = mRenderDebugMask;
mBackfaceCull = true;
@@ -527,7 +536,6 @@ void LLPipeline::init()
connectRefreshCachedSettingsSafe("RenderResolutionDivisor");
connectRefreshCachedSettingsSafe("RenderUIBuffer");
connectRefreshCachedSettingsSafe("RenderShadowDetail");
- connectRefreshCachedSettingsSafe("MPRenderShadowOpti");
connectRefreshCachedSettingsSafe("RenderShadowSplits");
connectRefreshCachedSettingsSafe("RenderDeferredSSAO");
connectRefreshCachedSettingsSafe("RenderShadowResolutionScale");
@@ -701,7 +709,8 @@ void LLPipeline::cleanup()
void LLPipeline::destroyGL()
{
- stop_glerror();
+ LOG_GLERROR("LLPipeline::destroyGL()");
+
unloadShaders();
mHighlightFaces.clear();
@@ -730,9 +739,9 @@ void LLPipeline::resizeShadowTexture()
{
releaseSunShadowTargets();
releaseSpotShadowTargets();
- GLuint resX = gViewerWindow->getWorldViewWidthRaw();
- GLuint resY = gViewerWindow->getWorldViewHeightRaw();
- allocateShadowBuffer(resX, resY);
+ //GLuint resX = gViewerWindow->getWorldViewWidthRaw();
+ //GLuint resY = gViewerWindow->getWorldViewHeightRaw();
+ allocateShadowBuffer(SHADOWS_RESX, SHADOWS_RESY);
gResizeShadowTexture = false;
}
@@ -762,6 +771,12 @@ bool LLPipeline::allocateScreenBuffer(U32 resX, U32 resY)
return ret == FBO_SUCCESS_FULLRES;
}
+void LLPipeline::renderTriangle()
+{
+ gPipeline.mScreenTriangleVB->setBuffer();
+ gPipeline.mScreenTriangleVB->drawArrays(LLRender::TRIANGLES, 0, 3);
+}
+
LLPipeline::eFBOStatus LLPipeline::doAllocateScreenBuffer(U32 resX, U32 resY)
{
@@ -806,13 +821,15 @@ LLPipeline::eFBOStatus LLPipeline::doAllocateScreenBuffer(U32 resX, U32 resY)
return ret;
}
-bool LLPipeline::allocateScreenBufferInternal(U32 resX, U32 resY)
+bool LLPipeline::allocateScreenBufferInternal(U32 resX, U32 resY, U32 type_)
{
LL_PROFILE_ZONE_SCOPED_CATEGORY_DISPLAY;
static LLCachedControl<bool> has_hdr(gSavedSettings, "RenderHDREnabled", true);
bool hdr = gGLManager.mGLVersion > 4.05f && has_hdr();
+ static LLCachedControl<U32> MPColorPrecision(gSavedSettings, "MPColorPrecision", 0);
+
if (mRT == &mMainRT)
{ // hacky -- allocate auxillary buffer
@@ -825,14 +842,14 @@ bool LLPipeline::allocateScreenBufferInternal(U32 resX, U32 resY)
mRT = &mAuxillaryRT;
U32 res = mReflectionMapManager.mProbeResolution * 4; //multiply by 4 because probes will be 16x super sampled
- allocateScreenBufferInternal(res, res);
+ allocateScreenBufferInternal(res, res, 1);
if (RenderMirrors)
{
mHeroProbeManager.initReflectionMaps();
res = mHeroProbeManager.mProbeResolution; // We also scale the hero probe RT to the probe res since we don't super sample it.
mRT = &mHeroProbeRT;
- allocateScreenBufferInternal(res, res);
+ allocateScreenBufferInternal(res, res, 2);
}
mRT = &mMainRT;
@@ -843,28 +860,33 @@ bool LLPipeline::allocateScreenBufferInternal(U32 resX, U32 resY)
mRT->width = resX;
mRT->height = resY;
- U32 res_mod = RenderResolutionDivisor;
+ F32 res_mod = fmin(RenderResolutionDivisor, 4.0);
- if (res_mod > 1 && res_mod < resX && res_mod < resY)
+ if (res_mod >= 0.5 && res_mod <= 4.0)
{
- resX /= res_mod;
- resY /= res_mod;
+ resX = (U32)(floor((F32)resX / res_mod));
+ resY = (U32)(floor((F32)resY / res_mod));
}
S32 shadow_detail = RenderShadowDetail;
bool ssao = RenderDeferredSSAO;
//allocate deferred rendering color buffers
- if (!mRT->deferredScreen.allocate(resX, resY, GL_RGBA, true)) return false;
+
+ GLuint deferredScreenFormat = GL_RGBA8;
+ if((hdr || mHDRDisplay) && MPColorPrecision == 2) deferredScreenFormat = GL_RGBA16F;
+
+ if (!mRT->deferredScreen.allocate(resX, resY, deferredScreenFormat, true)) return false;
if (!addDeferredAttachments(mRT->deferredScreen)) return false;
- GLuint screenFormat = hdr ? GL_RGBA16F : GL_RGBA;
+ GLuint screenFormat = GL_RGBA8;
+ if(hdr || mHDRDisplay) screenFormat = GL_RGBA16F;
if (!mRT->screen.allocate(resX, resY, GL_RGBA16F)) return false;
mRT->deferredScreen.shareDepthBuffer(mRT->screen);
- if (shadow_detail > 0 || ssao || RenderDepthOfField)
+ if (hdr || shadow_detail > 0 || ssao || RenderDepthOfField)
{ //only need mRT->deferredLight for shadows OR ssao OR dof
if (!mRT->deferredLight.allocate(resX, resY, screenFormat)) return false;
}
@@ -873,13 +895,17 @@ bool LLPipeline::allocateScreenBufferInternal(U32 resX, U32 resY)
mRT->deferredLight.release();
}
- allocateShadowBuffer(resX, resY);
+ //allocateShadowBuffer(resX, resY);
+ if(type_ == 0) allocateShadowBuffer(SHADOWS_RESX, SHADOWS_RESY);
if (!gCubeSnapshot) // hack to not re-allocate various targets for cube snapshots
{
+ GLuint UIFormat = GL_RGBA8;
+ if(mHDRDisplay && MPColorPrecision == 2) UIFormat = GL_RGBA16F;
+
if (RenderUIBuffer)
{
- if (!mUIScreen.allocate(resX, resY, GL_RGBA))
+ if (!mUIScreen.allocate(resX, resY, UIFormat))
{
return false;
}
@@ -887,10 +913,13 @@ bool LLPipeline::allocateScreenBufferInternal(U32 resX, U32 resY)
if (RenderFSAAType > 0)
{
- if (!mFXAAMap.allocate(resX, resY, GL_RGBA)) return false;
+ GLuint AAFormat = GL_RGBA8;
+ if(mHDRDisplay && MPColorPrecision == 2) AAFormat = GL_RGBA16F;
+
+ if (!mFXAAMap.allocate(resX, resY, AAFormat)) return false;
if (RenderFSAAType == 2)
{
- if (!mSMAABlendBuffer.allocate(resX, resY, GL_RGBA, false)) return false;
+ if (!mSMAABlendBuffer.allocate(resX, resY, AAFormat, false)) return false;
}
}
else
@@ -904,14 +933,25 @@ bool LLPipeline::allocateScreenBufferInternal(U32 resX, U32 resY)
if(RenderScreenSpaceReflections)
{
- mSceneMap.allocate(resX, resY, screenFormat, true);
+ //mSceneMap.allocate(resX, resY, screenFormat, true);
+ //We plan a setting. For now e go with a reasonable value
+ mSceneMap.allocate(512, 512, screenFormat, true);
}
else
{
mSceneMap.release();
}
- mPostMap.allocate(resX, resY, screenFormat);
+ if((hdr && MPColorPrecision == 2) || mHDRDisplay)
+ {
+ mPostMaps[0].allocate(resX, resY, screenFormat);
+ mPostMaps[1].allocate(resX, resY, screenFormat);
+ }
+ else
+ {
+ mPostMaps[0].allocate(resX, resY, GL_RGBA);
+ mPostMaps[1].allocate(resX, resY, GL_RGBA);
+ }
// The water exclusion mask needs its own depth buffer so we can take care of the problem of multiple water planes.
// Should we ever make water not just a plane, it also aids with that as well as the water planes will be rendered into the mask.
@@ -924,9 +964,9 @@ bool LLPipeline::allocateScreenBufferInternal(U32 resX, U32 resY)
// used to scale down textures
// See LLViwerTextureList::updateImagesCreateTextures and LLImageGL::scaleDown
- mDownResMap.allocate(1024, 1024, GL_RGBA);
+ mDownResMap.allocate(1024, 1024, GL_RGBA8);
- mBakeMap.allocate(LLAvatarAppearanceDefines::SCRATCH_TEX_WIDTH, LLAvatarAppearanceDefines::SCRATCH_TEX_HEIGHT, GL_RGBA);
+ mBakeMap.allocate(LLAvatarAppearanceDefines::SCRATCH_TEX_WIDTH, LLAvatarAppearanceDefines::SCRATCH_TEX_HEIGHT, GL_RGBA8);
}
//HACK make screenbuffer allocations start failing after 30 seconds
if (gSavedSettings.getBOOL("SimulateFBOFailure"))
@@ -936,7 +976,7 @@ bool LLPipeline::allocateScreenBufferInternal(U32 resX, U32 resY)
gGL.getTexUnit(0)->disable();
- stop_glerror();
+ LOG_GLERROR("LLPipeline::allocateScreenBufferInternal end");
return true;
}
@@ -950,15 +990,18 @@ bool LLPipeline::allocateShadowBuffer(U32 resX, U32 resY)
S32 shadow_detail = RenderShadowDetail;
F32 scale = gCubeSnapshot ? 1.0f : llmax(0.5f, RenderShadowResolutionScale); // Don't scale probe shadow maps
- U32 sun_shadow_map_width = BlurHappySize(resX, scale);
- U32 sun_shadow_map_height = BlurHappySize(resY, scale);
+ //U32 sun_shadow_map_width = BlurHappySize(resX, scale);
+ //U32 sun_shadow_map_height = BlurHappySize(resY, scale);
+ U32 sun_shadow_map_width = resX * scale;
+ U32 sun_shadow_map_height = resY * scale;
- if (shadow_detail > 0)
+ if (shadow_detail > 0 && shadow_detail < 3)
{ //allocate 4 sun shadow maps
for (U32 i = 0; i < 4; i++)
{
- if (!mRT->shadow[i].allocate(sun_shadow_map_width, sun_shadow_map_height, 0, true))
+ if (!mRT->shadow[i].allocate(sun_shadow_map_width, sun_shadow_map_height, 0, true, LLTexUnit::TT_TEXTURE, LLTexUnit::TMG_NONE))
{
+ LL_WARNS() << "failed allocating shadow buffer " << i << " w:" << sun_shadow_map_width << " h:" << sun_shadow_map_height << LL_ENDL;
return false;
}
}
@@ -1058,10 +1101,9 @@ void LLPipeline::refreshCachedSettings()
RenderDeferred = true; // DEPRECATED -- gSavedSettings.getBOOL("RenderDeferred");
RenderDeferredSunWash = gSavedSettings.getF32("RenderDeferredSunWash");
RenderFSAAType = gSavedSettings.getU32("RenderFSAAType");
- RenderResolutionDivisor = gSavedSettings.getU32("RenderResolutionDivisor");
+ RenderResolutionDivisor = gSavedSettings.getF32("RenderResolutionDivisor");
RenderUIBuffer = gSavedSettings.getBOOL("RenderUIBuffer");
RenderShadowDetail = gSavedSettings.getS32("RenderShadowDetail");
- MPRenderShadowOpti = gSavedSettings.getS32("MPRenderShadowOpti");
RenderShadowSplits = gSavedSettings.getS32("RenderShadowSplits");
RenderDeferredSSAO = gSavedSettings.getBOOL("RenderDeferredSSAO");
RenderShadowResolutionScale = gSavedSettings.getF32("RenderShadowResolutionScale");
@@ -1152,6 +1194,13 @@ void LLPipeline::releaseGLBuffers()
{
assertInitialized();
+ mBloomMap.release();
+
+ for (U32 i = 0; i < 2; i++)
+ {
+ mBloomBlur[i].release();
+ }
+
if (mNoiseMap)
{
LLImageGL::deleteTextures(1, &mNoiseMap);
@@ -1184,7 +1233,8 @@ void LLPipeline::releaseGLBuffers()
mWaterExclusionMask.release();
- mPostMap.release();
+ mPostMaps[0].release();
+ mPostMaps[1].release();
mFXAAMap.release();
@@ -1272,23 +1322,32 @@ void LLPipeline::releaseSpotShadowTargets()
void LLPipeline::createGLBuffers()
{
LL_PROFILE_ZONE_SCOPED_CATEGORY_PIPELINE;
- stop_glerror();
+ LOG_GLERROR("LLPipeline::createGLBuffers()");
assertInitialized();
- stop_glerror();
-
GLuint resX = gViewerWindow->getWorldViewWidthRaw();
GLuint resY = gViewerWindow->getWorldViewHeightRaw();
// allocate screen space glow buffers
const U32 glow_res = llmax(1, llmin(512, 1 << gSavedSettings.getS32("RenderGlowResolutionPow")));
const bool glow_hdr = gSavedSettings.getBOOL("RenderGlowHDR");
- const U32 glow_color_fmt = glow_hdr ? GL_RGBA16F : GL_RGBA;
+ static LLCachedControl<U32> MPColorPrecision(gSavedSettings, "MPColorPrecision", 0);
+
+ U32 glow_color_fmt = glow_hdr ? GL_RGBA16F : GL_RGBA8;
+ if(MPColorPrecision == 2) glow_color_fmt = GL_RGBA16F;
+
for (U32 i = 0; i < 3; i++)
{
mGlow[i].allocate(512, glow_res, glow_color_fmt);
}
+ mBloomMap.allocate(512, 256, glow_color_fmt);
+
+ for (U32 i = 0; i < 2; i++)
+ {
+ mBloomBlur[i].allocate(512, 256, glow_color_fmt);
+ }
+
allocateScreenBuffer(resX, resY);
// Do not zero out mRT dimensions here. allocateScreenBuffer() above
// already sets the correct dimensions. Zeroing them caused resizeShadowTexture()
@@ -1397,7 +1456,7 @@ void LLPipeline::createGLBuffers()
gGL.getTexUnit(0)->bindManual(LLTexUnit::TT_TEXTURE, mSMAASampleMap);
LLImageGL::setManualImage(LLTexUnit::getInternalType(LLTexUnit::TT_TEXTURE), 0, GL_RGB, raw_image->getWidth(),
raw_image->getHeight(), format, GL_UNSIGNED_BYTE, raw_image->getData(), false);
- stop_glerror();
+ LOG_GLERROR("LLPipeline::createGLBuffers after setManualImage");
gGL.getTexUnit(0)->setTextureFilteringOption(LLTexUnit::TFO_BILINEAR);
gGL.getTexUnit(0)->setTextureAddressMode(LLTexUnit::TAM_CLAMP);
}
@@ -1457,11 +1516,7 @@ void LLPipeline::createLUTBuffers()
}
U32 pix_format = GL_R16F;
-#if 0 && LL_DARWIN
- // Need to work around limited precision with 10.6.8 and older drivers
- //
- pix_format = GL_R32F;
-#endif
+
LLImageGL::generateTextures(1, &mLightFunc);
gGL.getTexUnit(0)->bindManual(LLTexUnit::TT_TEXTURE, mLightFunc);
LLImageGL::setManualImage(LLTexUnit::getInternalType(LLTexUnit::TT_TEXTURE), 0, pix_format, lightResX, lightResY, GL_RED, GL_FLOAT, ls, false);
@@ -1474,7 +1529,7 @@ void LLPipeline::createLUTBuffers()
}
mPbrBrdfLut.allocate(512, 512, GL_RG16F);
- mPbrBrdfLut.bindTarget();
+ mPbrBrdfLut.bindTarget("mPbrBrdfLut", 1);
if (gDeferredGenBrdfLutProgram.isComplete())
{
@@ -1498,13 +1553,13 @@ void LLPipeline::createLUTBuffers()
mPbrBrdfLut.flush();
mExposureMap.allocate(1, 1, GL_R16F);
- mExposureMap.bindTarget();
+ mExposureMap.bindTarget("mExposureMap", 1);
glClearColor(1, 1, 1, 0);
mExposureMap.clear();
glClearColor(0, 0, 0, 0);
mExposureMap.flush();
- mLuminanceMap.allocate(256, 256, GL_R16F, false, LLTexUnit::TT_TEXTURE);
+ mLuminanceMap.allocate(256, 256, GL_R16F, false, LLTexUnit::TT_TEXTURE, LLTexUnit::TMG_AUTO);
mLastExposure.allocate(1, 1, GL_R16F);
}
@@ -2529,7 +2584,7 @@ void LLPipeline::updateCull(LLCamera& camera, LLCullResult& result)
gSky.mVOSkyp->mDrawable->setVisible(camera);
sCull->pushDrawable(gSky.mVOSkyp->mDrawable);
gSky.updateCull();
- stop_glerror();
+ LOG_GLERROR("LLPipeline::updateCull sky");
}
if (hasRenderType(LLPipeline::RENDER_TYPE_WL_SKY) &&
@@ -2539,6 +2594,7 @@ void LLPipeline::updateCull(LLCamera& camera, LLCullResult& result)
{
gSky.mVOWLSkyp->mDrawable->setVisible(camera);
sCull->pushDrawable(gSky.mVOWLSkyp->mDrawable);
+ LOG_GLERROR("LLPipeline::updateCull pushDrawable");
}
}
@@ -2691,6 +2747,8 @@ void LLPipeline::doOcclusion(LLCamera& camera)
gGL.setColorMask(true, true);
}
+
+ LOG_GLERROR("LLPipeline::doOcclusion()");
}
bool LLPipeline::updateDrawableGeom(LLDrawable* drawablep)
@@ -2860,6 +2918,7 @@ void LLPipeline::updateGeom(F32 max_dtime)
}
updateMovedList(mMovedBridge);
+ LOG_GLERROR("LLPipeline::updateGeom()");
}
void LLPipeline::markVisible(LLDrawable *drawablep, LLCamera& camera)
@@ -3832,6 +3891,10 @@ void render_hud_elements()
gGL.color4f(1, 1, 1, 1);
LLGLDepthTest depth(GL_TRUE, GL_FALSE);
+ static LLCachedControl<bool> HDRDisplay(gSavedSettings, "MPHDRDisplay");
+ static LLCachedControl<F32> hdrUIBoost(gSavedSettings, "MPHDRUIBoost");
+ if(HDRDisplay) gUIProgram.uniform1f(LLShaderMgr::MP_HDR_BOOST, (GLfloat)hdrUIBoost);
+
if (!LLPipeline::sReflectionRender && gPipeline.hasRenderDebugFeatureMask(LLPipeline::RENDER_DEBUG_FEATURE_UI))
{
gViewerWindow->renderSelections(false, false, false); // For HUD version in render_ui_3d()
@@ -3858,6 +3921,8 @@ void render_hud_elements()
}
gUIProgram.unbind();
+
+ LOG_GLERROR("LLPipeline::render_hud_elements()");
}
static inline void bindHighlightProgram(LLGLSLShader& program)
@@ -3962,6 +4027,8 @@ void LLPipeline::renderHighlights()
unbindHighlightProgram(gHighlightSpecularProgram);
}
}
+
+ LOG_GLERROR("LLPipeline::renderHighlights()");
}
//debug use
@@ -3971,6 +4038,7 @@ void LLPipeline::renderGeomDeferred(LLCamera& camera, bool do_occlusion)
{
LLAppViewer::instance()->pingMainloopTimeout("Pipeline:RenderGeomDeferred");
LL_PROFILE_ZONE_SCOPED_CATEGORY_DRAWPOOL; //LL_RECORD_BLOCK_TIME(FTM_RENDER_GEOMETRY);
+ LL_RECORD_BLOCK_TIME(FTM_RENDER_GEOMETRY);
LL_PROFILE_GPU_ZONE("renderGeomDeferred");
llassert(!sRenderingHUDs);
@@ -3999,6 +4067,7 @@ void LLPipeline::renderGeomDeferred(LLCamera& camera, bool do_occlusion)
bool occlude = LLPipeline::sUseOcclusion > 1 && do_occlusion && !LLGLSLShader::sProfileEnabled;
setupHWLights();
+ LOG_GLERROR("LLPipeline::renderGeomDeferred() setupHWLights");
{
LL_PROFILE_ZONE_NAMED_CATEGORY_DRAWPOOL("deferred pools");
@@ -4087,7 +4156,7 @@ void LLPipeline::renderGeomDeferred(LLCamera& camera, bool do_occlusion)
}
}
iter1 = iter2;
- stop_glerror();
+ LOG_GLERROR("");
}
gGLLastMatrix = NULL;
@@ -4110,6 +4179,7 @@ void LLPipeline::renderGeomPostDeferred(LLCamera& camera)
{
LL_PROFILE_ZONE_SCOPED_CATEGORY_DRAWPOOL;
LL_PROFILE_GPU_ZONE("renderGeomPostDeferred");
+ LL_RECORD_BLOCK_TIME(FTM_RENDER_DEFERRED);
if (gUseWireframe)
{
@@ -4226,7 +4296,7 @@ void LLPipeline::renderGeomPostDeferred(LLCamera& camera)
}
}
iter1 = iter2;
- stop_glerror();
+ LOG_GLERROR("after pools");
}
gGLLastMatrix = NULL;
@@ -4246,6 +4316,8 @@ void LLPipeline::renderGeomPostDeferred(LLCamera& camera)
{
glPolygonMode(GL_FRONT_AND_BACK, GL_FILL);
}
+
+ LOG_GLERROR("LLPipeline::renderGeomPostDeferred()");
}
void LLPipeline::renderGeomShadow(LLCamera& camera)
@@ -4305,11 +4377,12 @@ void LLPipeline::renderGeomShadow(LLCamera& camera)
}
}
iter1 = iter2;
- stop_glerror();
+ LOG_GLERROR("");
}
gGLLastMatrix = NULL;
gGL.loadMatrix(gGLModelView);
+ LOG_GLERROR("LLPipeline::renderGeomShadow()");
}
@@ -4340,7 +4413,7 @@ void LLPipeline::renderPhysicsDisplay()
LLGLEnable(GL_POLYGON_OFFSET_LINE);
glPolygonOffset(3.f, 3.f);
- glLineWidth(3.f);
+ //glLineWidth(3.f);
LLGLEnable blend(GL_BLEND);
gGL.setSceneBlendType(LLRender::BT_ALPHA);
@@ -4382,7 +4455,7 @@ void LLPipeline::renderPhysicsDisplay()
glPolygonMode(GL_FRONT_AND_BACK, GL_FILL);
}
}
- glLineWidth(1.f);
+ //glLineWidth(1.f);
gDebugProgram.unbind();
}
@@ -4467,7 +4540,7 @@ void LLPipeline::renderDebug()
if ( pathfindingConsole->isRenderNavMesh() )
{
gGL.flush();
- glLineWidth(2.0f);
+ //glLineWidth(2.0f);
LLGLEnable cull(GL_CULL_FACE);
LLGLDisable blend(GL_BLEND);
@@ -4491,7 +4564,7 @@ void LLPipeline::renderDebug()
gGL.flush();
glPolygonMode( GL_FRONT_AND_BACK, GL_FILL );
- glLineWidth(1.0f);
+ //glLineWidth(1.0f);
gGL.flush();
}
//User designated path
@@ -4547,7 +4620,6 @@ void LLPipeline::renderDebug()
LLGLDisable cull(i >= 2 ? GL_CULL_FACE : 0);
gGL.flush();
-
glPolygonMode( GL_FRONT_AND_BACK, GL_FILL );
//get rid of some z-fighting
@@ -4607,11 +4679,11 @@ void LLPipeline::renderDebug()
gPathfindingProgram.uniform1f(sTint, 1.f);
gPathfindingProgram.uniform1f(sAlphaScale, 1.f);
- glLineWidth(gSavedSettings.getF32("PathfindingLineWidth"));
+ //glLineWidth(gSavedSettings.getF32("PathfindingLineWidth"));
LLGLDisable blendOut(GL_BLEND);
llPathingLibInstance->renderNavMeshShapesVBO( render_order[i] );
gGL.flush();
- glLineWidth(1.f);
+ //glLineWidth(1.f);
}
glPolygonMode( GL_FRONT_AND_BACK, GL_FILL );
@@ -4634,7 +4706,7 @@ void LLPipeline::renderDebug()
LLGLEnable blend(GL_BLEND);
LLGLDepthTest depth(GL_TRUE, GL_FALSE, GL_GREATER);
gGL.flush();
- glLineWidth(2.0f);
+ //glLineWidth(2.0f);
LLGLEnable cull(GL_CULL_FACE);
gPathfindingProgram.uniform1f(sTint, gSavedSettings.getF32("PathfindingXRayTint"));
@@ -4661,7 +4733,7 @@ void LLPipeline::renderDebug()
gPathfindingProgram.bind();
gGL.flush();
- glLineWidth(1.0f);
+ //glLineWidth(1.0f);
}
glPolygonOffset(0.f, 0.f);
@@ -4798,12 +4870,11 @@ void LLPipeline::renderDebug()
LL_PROFILE_ZONE_NAMED_CATEGORY_PIPELINE("probe debug display");
bindDeferredShader(gReflectionProbeDisplayProgram, NULL);
- mScreenTriangleVB->setBuffer();
LLGLEnable blend(GL_BLEND);
LLGLDepthTest depth(GL_FALSE);
- mScreenTriangleVB->drawArrays(LLRender::TRIANGLES, 0, 3);
+ renderTriangle();
unbindDeferredShader(gReflectionProbeDisplayProgram);
}
@@ -5754,19 +5825,22 @@ void LLPipeline::setupHWLights()
mSunDiffuse.setVec(psky->getSunlightColor());
mMoonDiffuse.setVec(psky->getMoonlightColor());
- F32 max_color = llmax(mSunDiffuse.mV[0], mSunDiffuse.mV[1], mSunDiffuse.mV[2]);
- if (max_color > 1.f)
+ if(!mHDRDisplay)
{
- mSunDiffuse *= 1.f/max_color;
- }
- mSunDiffuse.clamp();
+ F32 max_color = llmax(mSunDiffuse.mV[0], mSunDiffuse.mV[1], mSunDiffuse.mV[2]);
+ if (max_color > 1.f)
+ {
+ mSunDiffuse *= 1.f/max_color;
+ }
+ mSunDiffuse.clamp();
- max_color = llmax(mMoonDiffuse.mV[0], mMoonDiffuse.mV[1], mMoonDiffuse.mV[2]);
- if (max_color > 1.f)
- {
- mMoonDiffuse *= 1.f/max_color;
+ max_color = llmax(mMoonDiffuse.mV[0], mMoonDiffuse.mV[1], mMoonDiffuse.mV[2]);
+ if (max_color > 1.f)
+ {
+ mMoonDiffuse *= 1.f/max_color;
+ }
+ mMoonDiffuse.clamp();
}
- mMoonDiffuse.clamp();
// prevent underlighting from having neither lightsource facing us
if (!sun_up && !moon_up)
@@ -6792,6 +6866,8 @@ void LLPipeline::resetVertexBuffers(LLDrawable* drawable)
facep->clearVertexBuffer();
}
}
+
+ LOG_GLERROR("LLPipeline::resetVertexBuffers()");
}
void LLPipeline::renderObjects(U32 type, bool texture, bool batch_texture, bool rigged)
@@ -6811,6 +6887,7 @@ void LLPipeline::renderObjects(U32 type, bool texture, bool batch_texture, bool
gGL.loadMatrix(gGLModelView);
gGLLastMatrix = NULL;
+ LOG_GLERROR("LLPipeline::renderObjects()");
}
void LLPipeline::renderGLTFObjects(U32 type, bool texture, bool rigged)
@@ -6839,6 +6916,7 @@ void LLPipeline::renderGLTFObjects(U32 type, bool texture, bool rigged)
{
LL::GLTFSceneManager::instance().render(true, true);
}
+ LOG_GLERROR("LLPipeline::renderGLTFObjects()");
}
// Currently only used for shadows -Cosmic,2023-04-19
@@ -6919,6 +6997,7 @@ void LLPipeline::renderAlphaObjects(bool rigged)
gGL.loadMatrix(gGLModelView);
gGLLastMatrix = NULL;
+ LOG_GLERROR("LLPipeline::renderAlphaObjects()");
}
// Currently only used for shadows -Cosmic,2023-04-19
@@ -6937,6 +7016,7 @@ void LLPipeline::renderMaskedObjects(U32 type, bool texture, bool batch_texture,
}
gGL.loadMatrix(gGLModelView);
gGLLastMatrix = NULL;
+ LOG_GLERROR("LLPipeline::renderMaskedObjects()");
}
// Currently only used for shadows -Cosmic,2023-04-19
@@ -6955,6 +7035,7 @@ void LLPipeline::renderFullbrightMaskedObjects(U32 type, bool texture, bool batc
}
gGL.loadMatrix(gGLModelView);
gGLLastMatrix = NULL;
+ LOG_GLERROR("LLPipeline::renderFullbrightMaskedObjects()");
}
void apply_cube_face_rotation(U32 face)
@@ -7017,13 +7098,13 @@ void LLPipeline::bindScreenToTexture()
}
-static LLTrace::BlockTimerStatHandle FTM_RENDER_BLOOM("Bloom");
+static LLTrace::BlockTimerStatHandle FTM_RENDER_BLOOM("Post processing");
void LLPipeline::visualizeBuffers(LLRenderTarget* src, LLRenderTarget* dst, U32 bufferIndex)
{
- dst->bindTarget();
+ dst->bindTarget("visualizeBuffers", 1);
gDeferredBufferVisualProgram.bind();
- gDeferredBufferVisualProgram.bindTexture(LLShaderMgr::DEFERRED_DIFFUSE, src, false, LLTexUnit::TFO_BILINEAR, bufferIndex);
+ gDeferredBufferVisualProgram.bindTexture(LLShaderMgr::DEFERRED_DIFFUSE, src, false, LLTexUnit::TFO_POINT, bufferIndex);
static LLStaticHashedString mipLevel("mipLevel");
if (RenderBufferVisualization != 4)
@@ -7031,8 +7112,7 @@ void LLPipeline::visualizeBuffers(LLRenderTarget* src, LLRenderTarget* dst, U32
else
gDeferredBufferVisualProgram.uniform1f(mipLevel, 8);
- mScreenTriangleVB->setBuffer();
- mScreenTriangleVB->drawArrays(LLRender::TRIANGLES, 0, 3);
+ renderTriangle();
gDeferredBufferVisualProgram.unbind();
dst->flush();
}
@@ -7043,7 +7123,8 @@ void LLPipeline::generateLuminance(LLRenderTarget* src, LLRenderTarget* dst)
{
LL_PROFILE_GPU_ZONE("luminance sample");
- dst->bindTarget();
+ dst->bindTarget("generateLuminance", 0);
+ dst->clear();
LLGLDepthTest depth(GL_FALSE, GL_FALSE);
@@ -7074,14 +7155,15 @@ void LLPipeline::generateLuminance(LLRenderTarget* src, LLRenderTarget* dst)
static LLStaticHashedString diffuse_luminance_scale_s("diffuse_luminance_scale");
gLuminanceProgram.uniform1f(diffuse_luminance_scale_s, diffuse_luminance_scale);
- mScreenTriangleVB->setBuffer();
- mScreenTriangleVB->drawArrays(LLRender::TRIANGLES, 0, 3);
+ renderTriangle();
dst->flush();
// note -- unbind AFTER the glGenerateMipMap so time in generatemipmap can be profiled under "Luminance"
// also note -- keep an eye on the performance of glGenerateMipmap, might need to replace it with a mip generation shader
gLuminanceProgram.unbind();
}
+
+ LOG_GLERROR("LLPipeline::generateLuminance()");
}
void LLPipeline::generateExposure(LLRenderTarget* src, LLRenderTarget* dst, bool use_history) {
@@ -7092,17 +7174,15 @@ void LLPipeline::generateExposure(LLRenderTarget* src, LLRenderTarget* dst, bool
if (use_history)
{
// copy last frame's exposure into mLastExposure
- mLastExposure.bindTarget();
+ mLastExposure.bindTarget("mLastExposure", 1);
gCopyProgram.bind();
gGL.getTexUnit(0)->bind(dst);
-
- mScreenTriangleVB->setBuffer();
- mScreenTriangleVB->drawArrays(LLRender::TRIANGLES, 0, 3);
-
+ renderTriangle();
mLastExposure.flush();
}
- dst->bindTarget();
+ dst->bindTarget("generateExposure", 1);
+ dst->clear();
LLGLDepthTest depth(GL_FALSE, GL_FALSE);
@@ -7185,23 +7265,24 @@ void LLPipeline::generateExposure(LLRenderTarget* src, LLRenderTarget* dst, bool
shader->uniform4f(dynamic_exposure_params, dynamic_exposure_coefficient, exp_min, exp_max, dynamic_exposure_speed_error);
shader->uniform4f(dynamic_exposure_params2, sky->getHDROffset(should_auto_adjust()), exp_min, exp_max, dynamic_exposure_speed_target);
- mScreenTriangleVB->setBuffer();
- mScreenTriangleVB->drawArrays(LLRender::TRIANGLES, 0, 3);
+ renderTriangle();
if (use_history)
{
- gGL.getTexUnit(channel)->unbind(mLastExposure.getUsage());
+ //gGL.getTexUnit(channel)->unbind(mLastExposure.getUsage());
}
shader->unbind();
dst->flush();
}
+
+ LOG_GLERROR("LLPipeline::generateExposure()");
}
extern LLPointer<LLImageGL> gEXRImage;
void LLPipeline::tonemap(LLRenderTarget* src, LLRenderTarget* dst)
{
- dst->bindTarget();
+ dst->bindTarget("tonemap", 1);
// gamma correct lighting
{
LL_PROFILE_GPU_ZONE("tonemap");
@@ -7221,7 +7302,7 @@ void LLPipeline::tonemap(LLRenderTarget* src, LLRenderTarget* dst)
shader.bind();
- S32 channel = 0;
+ //S32 channel = 0;
shader.bindTexture(LLShaderMgr::DEFERRED_DIFFUSE, src, false, LLTexUnit::TFO_POINT);
@@ -7243,18 +7324,19 @@ void LLPipeline::tonemap(LLRenderTarget* src, LLRenderTarget* dst)
shader.uniform1i(tonemap_type, tonemap_type_setting);
shader.uniform1f(tonemap_mix, psky->getTonemapMix(should_auto_adjust()));
- mScreenTriangleVB->setBuffer();
- mScreenTriangleVB->drawArrays(LLRender::TRIANGLES, 0, 3);
+ renderTriangle();
- gGL.getTexUnit(channel)->unbind(src->getUsage());
+ //gGL.getTexUnit(channel)->unbind(src->getUsage());
shader.unbind();
}
dst->flush();
+ LOG_GLERROR("LLPipeline::tonemap()");
}
void LLPipeline::gammaCorrect(LLRenderTarget* src, LLRenderTarget* dst)
{
- dst->bindTarget();
+ dst->bindTarget("gammaCorrect", 1);
+ dst->clear();
// gamma correct lighting
{
LL_PROFILE_GPU_ZONE("gamma correct");
@@ -7268,16 +7350,27 @@ void LLPipeline::gammaCorrect(LLRenderTarget* src, LLRenderTarget* dst)
LLGLSLShader& shader = psky->getReflectionProbeAmbiance(should_auto_adjust) == 0.f ? gLegacyPostGammaCorrectProgram :
gDeferredPostGammaCorrectProgram;
+ static LLCachedControl<F32> mp_hdr_boost(gSavedSettings, "MPHDRBoost", false);
+ static LLCachedControl<F32> mp_hdr_gamma(gSavedSettings, "MPHDRGamma", false);
+ if(mHDRDisplay) shader = gHDRGammaCorrectProgram;
+
shader.bind();
shader.bindTexture(LLShaderMgr::DEFERRED_DIFFUSE, src, false, LLTexUnit::TFO_POINT);
- shader.uniform2f(LLShaderMgr::DEFERRED_SCREEN_RES, (GLfloat)src->getWidth(), (GLfloat)src->getHeight());
+ //screensize isn't a uniform int he shader, we comment out for now
+ //shader.uniform2f(LLShaderMgr::DEFERRED_SCREEN_RES, (GLfloat)src->getWidth(), (GLfloat)src->getHeight());
+
+ if(mHDRDisplay)
+ {
+ shader.uniform1f(LLShaderMgr::GAMMA, (GLfloat)mp_hdr_gamma);
+ shader.uniform1f(LLShaderMgr::MP_HDR_BOOST, (GLfloat)mp_hdr_boost);
+ }
- mScreenTriangleVB->setBuffer();
- mScreenTriangleVB->drawArrays(LLRender::TRIANGLES, 0, 3);
+ renderTriangle();
shader.unbind();
}
dst->flush();
+ LOG_GLERROR("LLPipeline::gammaCorrect()");
}
void LLPipeline::copyScreenSpaceReflections(LLRenderTarget* src, LLRenderTarget* dst)
@@ -7290,7 +7383,7 @@ void LLPipeline::copyScreenSpaceReflections(LLRenderTarget* src, LLRenderTarget*
LLRenderTarget& depth_src = mRT->deferredScreen;
- dst->bindTarget();
+ dst->bindTarget("copyScreenSpaceReflections", 1);
dst->clear();
gCopyDepthProgram.bind();
@@ -7300,11 +7393,11 @@ void LLPipeline::copyScreenSpaceReflections(LLRenderTarget* src, LLRenderTarget*
gGL.getTexUnit(diff_map)->bind(src);
gGL.getTexUnit(depth_map)->bind(&depth_src, true);
- mScreenTriangleVB->setBuffer();
- mScreenTriangleVB->drawArrays(LLRender::TRIANGLES, 0, 3);
+ renderTriangle();
dst->flush();
}
+ LOG_GLERROR("LLPipeline::copyScreenSpaceReflection()");
}
void LLPipeline::generateGlow(LLRenderTarget* src)
@@ -7312,7 +7405,9 @@ void LLPipeline::generateGlow(LLRenderTarget* src)
if (sRenderGlow)
{
LL_PROFILE_GPU_ZONE("glow");
- mGlow[2].bindTarget();
+ LL_RECORD_BLOCK_TIME(FTM_RENDER_GLOW);
+
+ mGlow[2].bindTarget("mGlow[2]", 1);
mGlow[2].clear();
gGlowExtractProgram.bind();
@@ -7352,8 +7447,8 @@ void LLPipeline::generateGlow(LLRenderTarget* src)
gGL.color4f(1, 1, 1, 1);
gPipeline.enableLightsFullbright();
- mScreenTriangleVB->setBuffer();
- mScreenTriangleVB->drawArrays(LLRender::TRIANGLES, 0, 3);
+ renderTriangle();
+ gGlowExtractProgram.unbindTexture(LLShaderMgr::GLOW_NOISE_MAP);
mGlow[2].flush();
}
@@ -7379,7 +7474,7 @@ void LLPipeline::generateGlow(LLRenderTarget* src)
for (S32 i = 0; i < kernel; i++)
{
- mGlow[i % 2].bindTarget();
+ mGlow[i % 2].bindTarget("mGlow[i % 2]", 1);
mGlow[i % 2].clear();
if (i == 0)
@@ -7400,8 +7495,7 @@ void LLPipeline::generateGlow(LLRenderTarget* src)
gGlowProgram.uniform2f(LLShaderMgr::GLOW_DELTA, 0, delta);
}
- mScreenTriangleVB->setBuffer();
- mScreenTriangleVB->drawArrays(LLRender::TRIANGLES, 0, 3);
+ renderTriangle();
mGlow[i % 2].flush();
}
@@ -7411,25 +7505,26 @@ void LLPipeline::generateGlow(LLRenderTarget* src)
}
else // !sRenderGlow, skip the glow ping-pong and just clear the result target
{
- mGlow[1].bindTarget();
+ mGlow[1].bindTarget("mGlow[1]", 1);
mGlow[1].clear();
mGlow[1].flush();
}
+ LOG_GLERROR("LLPipeline::generateGlow()");
}
-void LLPipeline::applyCAS(LLRenderTarget* src, LLRenderTarget* dst)
+bool LLPipeline::applyCAS(LLRenderTarget* src, LLRenderTarget* dst)
{
static LLCachedControl<F32> cas_sharpness(gSavedSettings, "RenderCASSharpness", 0.4f);
if (cas_sharpness == 0.0f || !gCASProgram.isComplete())
{
- gPipeline.copyRenderTarget(src, dst);
- return;
+ return false;
}
LLGLSLShader* sharpen_shader = &gCASProgram;
// Bind setup:
- dst->bindTarget();
+ dst->bindTarget("applyCAS", 1);
+ dst->clear();
sharpen_shader->bind();
@@ -7451,32 +7546,33 @@ void LLPipeline::applyCAS(LLRenderTarget* src, LLRenderTarget* dst)
sharpen_shader->uniform2f(out_screen_res, (AF1)dst->getWidth(), (AF1)dst->getHeight());
}
- sharpen_shader->bindTexture(LLShaderMgr::DEFERRED_DIFFUSE, src, false, LLTexUnit::TFO_POINT);
-
- // Draw
- gPipeline.mScreenTriangleVB->setBuffer();
- gPipeline.mScreenTriangleVB->drawArrays(LLRender::TRIANGLES, 0, 3);
-
+ S32 channel = sharpen_shader->bindTexture(LLShaderMgr::DEFERRED_DIFFUSE, src, false, LLTexUnit::TFO_POINT);
+ renderTriangle();
+ sharpen_shader->unbindTexture(channel);
sharpen_shader->unbind();
dst->flush();
+
+ return true;
}
-void LLPipeline::applyFXAA(LLRenderTarget* src, LLRenderTarget* dst)
+bool LLPipeline::applyFXAA(LLRenderTarget* src, LLRenderTarget* dst)
{
{
llassert(!gCubeSnapshot);
bool multisample = RenderFSAAType == 1 && gFXAAProgram[0].isComplete() && mFXAAMap.isComplete();
- // Present everything.
- if (multisample)
+ if(!multisample) return false;
+
{
LL_PROFILE_GPU_ZONE("aa");
S32 width = dst->getWidth();
S32 height = dst->getHeight();
+ //LL_WARNS() << "dst width=" << width << LL_ENDL;
+
// bake out texture2D with RGBL for FXAA shader
- mFXAAMap.bindTarget();
+ mFXAAMap.bindTarget("applyFXAA", 1);
mFXAAMap.clear(GL_COLOR_BUFFER_BIT);
LLGLSLShader* shader = &gGlowCombineFXAAProgram;
@@ -7490,8 +7586,7 @@ void LLPipeline::applyFXAA(LLRenderTarget* src, LLRenderTarget* dst)
{
LLGLDepthTest depth_test(GL_TRUE, GL_TRUE, GL_ALWAYS);
- mScreenTriangleVB->setBuffer();
- mScreenTriangleVB->drawArrays(LLRender::TRIANGLES, 0, 3);
+ renderTriangle();
}
shader->disableTexture(LLShaderMgr::DEFERRED_DIFFUSE, src->getUsage());
@@ -7499,7 +7594,8 @@ void LLPipeline::applyFXAA(LLRenderTarget* src, LLRenderTarget* dst)
mFXAAMap.flush();
- dst->bindTarget();
+ dst->bindTarget("applyFXAA", 1);
+ dst->clear();
static LLCachedControl<U32> aa_quality(gSavedSettings, "RenderFSAASamples", 0U);
U32 fsaa_quality = std::clamp(aa_quality(), 0U, 3U);
@@ -7513,15 +7609,20 @@ void LLPipeline::applyFXAA(LLRenderTarget* src, LLRenderTarget* dst)
mFXAAMap.bindTexture(0, channel, LLTexUnit::TFO_BILINEAR);
}
+/*
gGLViewport[0] = gViewerWindow->getWorldViewRectRaw().mLeft;
gGLViewport[1] = gViewerWindow->getWorldViewRectRaw().mBottom;
gGLViewport[2] = gViewerWindow->getWorldViewRectRaw().getWidth();
gGLViewport[3] = gViewerWindow->getWorldViewRectRaw().getHeight();
glViewport(gGLViewport[0], gGLViewport[1], gGLViewport[2], gGLViewport[3]);
+*/
F32 scale_x = (F32)width / mFXAAMap.getWidth();
F32 scale_y = (F32)height / mFXAAMap.getHeight();
+
+ //LL_WARNS() << "vp width=" << gGLViewport[2] << " scale=" << scale_x << LL_ENDL;
+
shader->uniform2f(LLShaderMgr::FXAA_TC_SCALE, scale_x, scale_y);
shader->uniform2f(LLShaderMgr::FXAA_RCP_SCREEN_RES, 1.f / width * scale_x, 1.f / height * scale_y);
shader->uniform4f(LLShaderMgr::FXAA_RCP_FRAME_OPT, -0.5f / width * scale_x, -0.5f / height * scale_y,
@@ -7534,17 +7635,20 @@ void LLPipeline::applyFXAA(LLRenderTarget* src, LLRenderTarget* dst)
S32 depth_channel = shader->getTextureChannel(LLShaderMgr::DEFERRED_DEPTH);
gGL.getTexUnit(depth_channel)->bind(&mRT->deferredScreen, true);
- mScreenTriangleVB->setBuffer();
- mScreenTriangleVB->drawArrays(LLRender::TRIANGLES, 0, 3);
+ renderTriangle();
+ }
+
+ if (channel > -1)
+ {
+ shader->unbindTexture(channel);
}
shader->unbind();
dst->flush();
}
- else {
- copyRenderTarget(src, dst);
- }
}
+
+ return true;
}
void LLPipeline::generateSMAABuffers(LLRenderTarget* src)
@@ -7576,7 +7680,7 @@ void LLPipeline::generateSMAABuffers(LLRenderTarget* src)
LLRenderTarget& dest = mFXAAMap;
LLGLSLShader& edge_shader = gSMAAEdgeDetectProgram[fsaa_quality];
- dest.bindTarget();
+ dest.bindTarget("generateSMAABuffers", 1);
dest.clear(GL_COLOR_BUFFER_BIT);
edge_shader.bind();
@@ -7587,14 +7691,17 @@ void LLPipeline::generateSMAABuffers(LLRenderTarget* src)
{
if (!use_sample)
{
- src->bindTexture(0, channel, LLTexUnit::TFO_POINT);
- gGL.getTexUnit(channel)->setTextureAddressMode(LLTexUnit::TAM_CLAMP);
+ //src->bindTexture(0, channel, LLTexUnit::TFO_POINT);
+ //gGL.getTexUnit(channel)->setTextureAddressMode(LLTexUnit::TAM_CLAMP);
+ src->bindTexture(0, channel, LLTexUnit::TFO_BILINEAR);
}
else
{
gGL.getTexUnit(channel)->bindManual(LLTexUnit::TT_TEXTURE, mSMAASampleMap);
- gGL.getTexUnit(channel)->setTextureAddressMode(LLTexUnit::TAM_CLAMP);
+ //gGL.getTexUnit(channel)->setTextureAddressMode(LLTexUnit::TAM_CLAMP);
+ gGL.getTexUnit(channel)->setTextureFilteringOption(LLTexUnit::TFO_BILINEAR);
}
+ gGL.getTexUnit(channel)->setTextureAddressMode(LLTexUnit::TAM_CLAMP);
}
//if (use_stencil)
@@ -7603,13 +7710,13 @@ void LLPipeline::generateSMAABuffers(LLRenderTarget* src)
// glStencilOp(GL_KEEP, GL_KEEP, GL_REPLACE);
// glStencilMask(0xFF);
//}
- mScreenTriangleVB->setBuffer();
- mScreenTriangleVB->drawArrays(LLRender::TRIANGLES, 0, 3);
+
+ renderTriangle();
edge_shader.unbind();
dest.flush();
- gGL.getTexUnit(channel)->unbindFast(LLTexUnit::TT_TEXTURE);
+ //gGL.getTexUnit(channel)->unbindFast(LLTexUnit::TT_TEXTURE);
}
{
@@ -7619,7 +7726,7 @@ void LLPipeline::generateSMAABuffers(LLRenderTarget* src)
LLRenderTarget& dest = mSMAABlendBuffer;
LLGLSLShader& blend_weights_shader = gSMAABlendWeightsProgram[fsaa_quality];
- dest.bindTarget();
+ dest.bindTarget("mSMAABlendBuffer", 1);
dest.clear(GL_COLOR_BUFFER_BIT);
blend_weights_shader.bind();
@@ -7651,8 +7758,8 @@ void LLPipeline::generateSMAABuffers(LLRenderTarget* src)
// glStencilFunc(GL_EQUAL, 1, 0xFF);
// glStencilMask(0x00);
//}
- mScreenTriangleVB->setBuffer();
- mScreenTriangleVB->drawArrays(LLRender::TRIANGLES, 0, 3);
+
+ renderTriangle();
//if (use_stencil)
//{
// glStencilFunc(GL_ALWAYS, 0, 0xFF);
@@ -7664,9 +7771,10 @@ void LLPipeline::generateSMAABuffers(LLRenderTarget* src)
gGL.getTexUnit(search_tex_channel)->unbindFast(LLTexUnit::TT_TEXTURE);
}
}
+ LOG_GLERROR("LLPipeline::generateSMAABuffers()");
}
-void LLPipeline::applySMAA(LLRenderTarget* src, LLRenderTarget* dst)
+bool LLPipeline::applySMAA(LLRenderTarget* src, LLRenderTarget* dst)
{
llassert(!gCubeSnapshot);
@@ -7677,10 +7785,13 @@ void LLPipeline::applySMAA(LLRenderTarget* src, LLRenderTarget* dst)
multisample = gSMAAEdgeDetectProgram[0].isComplete() && mFXAAMap.isComplete() && mSMAABlendBuffer.isComplete();
}
- // Present everything.
- if (multisample)
+ if(!multisample) return false;
+
{
LL_PROFILE_GPU_ZONE("aa");
+
+ generateSMAABuffers(src);
+
static LLCachedControl<U32> aa_quality(gSavedSettings, "RenderFSAASamples", 0U);
U32 fsaa_quality = std::clamp(aa_quality(), 0U, 3U);
@@ -7701,7 +7812,7 @@ void LLPipeline::applySMAA(LLRenderTarget* src, LLRenderTarget* dst)
LLRenderTarget* bound_target = dst;
LLGLSLShader& blend_shader = gSMAANeighborhoodBlendProgram[fsaa_quality];
- bound_target->bindTarget();
+ bound_target->bindTarget("applySMAA", 1);
bound_target->clear(GL_COLOR_BUFFER_BIT);
blend_shader.bind();
@@ -7720,8 +7831,7 @@ void LLPipeline::applySMAA(LLRenderTarget* src, LLRenderTarget* dst)
mSMAABlendBuffer.bindTexture(0, blend_channel, LLTexUnit::TFO_BILINEAR);
}
- mScreenTriangleVB->setBuffer();
- mScreenTriangleVB->drawArrays(LLRender::TRIANGLES, 0, 3);
+ renderTriangle();
bound_target->flush();
blend_shader.unbind();
@@ -7729,27 +7839,23 @@ void LLPipeline::applySMAA(LLRenderTarget* src, LLRenderTarget* dst)
gGL.getTexUnit(blend_channel)->unbindFast(LLTexUnit::TT_TEXTURE);
}
}
- else
- {
- copyRenderTarget(src, dst);
- }
+
+ LOG_GLERROR("LLPipeline::applySMAA()");
+ return true;
}
void LLPipeline::copyRenderTarget(LLRenderTarget* src, LLRenderTarget* dst)
{
LL_PROFILE_GPU_ZONE("copyRenderTarget");
- dst->bindTarget();
-
+ dst->bindTarget("copyRenderTarget", 1);
+ dst->clear(GL_COLOR_BUFFER_BIT);
gDeferredPostNoDoFProgram.bind();
gDeferredPostNoDoFProgram.bindTexture(LLShaderMgr::DEFERRED_DIFFUSE, src);
- gDeferredPostNoDoFProgram.bindTexture(LLShaderMgr::DEFERRED_DEPTH, &mRT->deferredScreen, true);
+ //gDeferredPostNoDoFProgram.bindTexture(LLShaderMgr::DEFERRED_DEPTH, &mRT->deferredScreen, true);
- {
- mScreenTriangleVB->setBuffer();
- mScreenTriangleVB->drawArrays(LLRender::TRIANGLES, 0, 3);
- }
+ renderTriangle();
gDeferredPostNoDoFProgram.unbind();
@@ -7760,7 +7866,7 @@ void LLPipeline::combineGlow(LLRenderTarget* src, LLRenderTarget* dst)
{
// Go ahead and do our glow combine here in our destination. We blit this later into the front buffer.
- dst->bindTarget();
+ dst->bindTarget("combineGlow", 1);
{
@@ -7769,14 +7875,14 @@ void LLPipeline::combineGlow(LLRenderTarget* src, LLRenderTarget* dst)
gGlowCombineProgram.bindTexture(LLShaderMgr::DEFERRED_DIFFUSE, src);
gGlowCombineProgram.bindTexture(LLShaderMgr::DEFERRED_EMISSIVE, &mGlow[1]);
- mScreenTriangleVB->setBuffer();
- mScreenTriangleVB->drawArrays(LLRender::TRIANGLES, 0, 3);
+ renderTriangle();
}
dst->flush();
+ LOG_GLERROR("LLPipeline::combineGlow()");
}
-void LLPipeline::renderDoF(LLRenderTarget* src, LLRenderTarget* dst)
+bool LLPipeline::renderDoF(LLRenderTarget* src, LLRenderTarget* dst)
{
{
bool dof_enabled =
@@ -7784,6 +7890,8 @@ void LLPipeline::renderDoF(LLRenderTarget* src, LLRenderTarget* dst)
RenderDepthOfField &&
!gCubeSnapshot;
+ if(!dof_enabled) return false;
+
gViewerWindow->setup3DViewport();
if (dof_enabled)
@@ -7892,7 +8000,7 @@ void LLPipeline::renderDoF(LLRenderTarget* src, LLRenderTarget* dst)
F32 magnification = focal_length / (subject_distance - focal_length);
{ // build diffuse+bloom+CoF
- mRT->deferredLight.bindTarget();
+ mRT->deferredLight.bindTarget("renderDOF", 1);
gDeferredCoFProgram.bind();
@@ -7909,8 +8017,8 @@ void LLPipeline::renderDoF(LLRenderTarget* src, LLRenderTarget* dst)
gDeferredCoFProgram.uniform1f(LLShaderMgr::DOF_MAX_COF, CameraMaxCoF);
gDeferredCoFProgram.uniform1f(LLShaderMgr::DOF_RES_SCALE, CameraDoFResScale);
- mScreenTriangleVB->setBuffer();
- mScreenTriangleVB->drawArrays(LLRender::TRIANGLES, 0, 3);
+ renderTriangle();
+
gDeferredCoFProgram.unbind();
mRT->deferredLight.flush();
}
@@ -7919,7 +8027,7 @@ void LLPipeline::renderDoF(LLRenderTarget* src, LLRenderTarget* dst)
U32 dof_height = (U32)(mRT->screen.getHeight() * CameraDoFResScale);
{ // perform DoF sampling at half-res (preserve alpha channel)
- src->bindTarget();
+ src->bindTarget("DoF sampling", 1);
glViewport(0, 0, dof_width, dof_height);
gGL.setColorMask(true, false);
@@ -7931,8 +8039,7 @@ void LLPipeline::renderDoF(LLRenderTarget* src, LLRenderTarget* dst)
gDeferredPostProgram.uniform1f(LLShaderMgr::DOF_MAX_COF, CameraMaxCoF);
gDeferredPostProgram.uniform1f(LLShaderMgr::DOF_RES_SCALE, CameraDoFResScale);
- mScreenTriangleVB->setBuffer();
- mScreenTriangleVB->drawArrays(LLRender::TRIANGLES, 0, 3);
+ renderTriangle();
gDeferredPostProgram.unbind();
@@ -7942,7 +8049,7 @@ void LLPipeline::renderDoF(LLRenderTarget* src, LLRenderTarget* dst)
{ // combine result based on alpha
- dst->bindTarget();
+ dst->bindTarget("DoF combine", 1);
glViewport(0, 0, dst->getWidth(), dst->getHeight());
gDeferredDoFCombineProgram.bind();
@@ -7955,19 +8062,134 @@ void LLPipeline::renderDoF(LLRenderTarget* src, LLRenderTarget* dst)
gDeferredDoFCombineProgram.uniform1f(LLShaderMgr::DOF_WIDTH, (dof_width - 1) / (F32)src->getWidth());
gDeferredDoFCombineProgram.uniform1f(LLShaderMgr::DOF_HEIGHT, (dof_height - 1) / (F32)src->getHeight());
- mScreenTriangleVB->setBuffer();
- mScreenTriangleVB->drawArrays(LLRender::TRIANGLES, 0, 3);
- gDeferredDoFCombineProgram.unbind();
+ renderTriangle();
+ gDeferredDoFCombineProgram.unbind();
dst->flush();
}
}
- else
- {
- copyRenderTarget(src, dst);
- }
}
+
+ return true;
+}
+
+bool LLPipeline::renderBloom(LLRenderTarget* src, LLRenderTarget* dst)
+{
+ static LLCachedControl<U32> mp_render_bloom(gSavedSettings, "MPRenderBloom", 0);
+
+ if(mp_render_bloom < 1) return false;
+
+ static LLCachedControl<F32> mp_bloom_extract_brightness(gSavedSettings, "MPBloomExtractBrightness", 0.10);
+ static LLCachedControl<F32> mp_bloom_radius(gSavedSettings, "MPBloomBlurRadius", 1.5);
+ static LLCachedControl<F32> mp_bloom_radius_add(gSavedSettings, "MPBloomBlurRadiusAdd", 0);
+ static LLCachedControl<F32> mp_bloom_strength(gSavedSettings, "MPBloomStrength", 1.0);
+ static LLCachedControl<F32> mp_bloom_metal(gSavedSettings, "MPBloomExtractMetal", 0.2);
+ static LLCachedControl<F32> mp_bloom_nonmetal(gSavedSettings, "MPBloomExtractNonMetal", 0.2);
+
+ F32 clampValue = 1.0;
+ if(mHDRDisplay) clampValue = 11.0;
+
+ LLGLDepthTest depth(GL_FALSE, GL_FALSE);
+ LLGLDisable blend(GL_BLEND);
+
+ mBloomMap.bindTarget("mBloomMap", 1);
+
+ glClearColor(0, 0, 0, 0);
+ mBloomMap.clear();
+
+ gBloomExtractProgram.bind();
+ gBloomExtractProgram.bindTexture(LLShaderMgr::DIFFUSE_MAP, &mRT->screen);
+ gBloomExtractProgram.bindTexture(LLShaderMgr::BLOOM_EXTRACT_ORM, &mRT->deferredScreen, false, LLTexUnit::TFO_POINT, 1);
+ gBloomExtractProgram.bindTexture(LLShaderMgr::BLOOM_EXTRACT_EMISSIVE, &mGlow[1], false, LLTexUnit::TFO_POINT, 0);
+ gBloomExtractProgram.bindTexture(LLShaderMgr::BLOOM_EXTRACT_EMISSIVE2, &mRT->deferredScreen, false, LLTexUnit::TFO_POINT, 3);
+
+ gBloomExtractProgram.uniform1f(LLShaderMgr::BLOOM_EXTRACT_BRIGHTNESS, 1.0 - mp_bloom_extract_brightness);
+ gBloomExtractProgram.uniform1f(LLShaderMgr::BLOOM_EXTRACT_METAL, mp_bloom_metal);
+ gBloomExtractProgram.uniform1f(LLShaderMgr::BLOOM_EXTRACT_NONMETAL, mp_bloom_nonmetal);
+
+ renderTriangle();
+
+ gBloomExtractProgram.unbindTexture(LLShaderMgr::DIFFUSE_MAP);
+ gBloomExtractProgram.unbindTexture(LLShaderMgr::BLOOM_EXTRACT_ORM);
+ gBloomExtractProgram.unbindTexture(LLShaderMgr::BLOOM_EXTRACT_EMISSIVE);
+ gBloomExtractProgram.unbindTexture(LLShaderMgr::BLOOM_EXTRACT_EMISSIVE2);
+
+ gBloomExtractProgram.unbind();
+ mBloomMap.flush();
+
+
+ // ping pong blur
+
+ S16 horizontal = 1, first_iteration = true;
+ unsigned int amount = mp_render_bloom;
+ if(amount > 10) amount = 10;
+
+ F32 radius = mp_bloom_radius;
+
+ gBloomBlurProgram.bind();
+
+
+ // Iteration 0
+
+ gBloomBlurProgram.uniform1f(LLShaderMgr::BLOOM_BLUR_RADIUS, radius);
+
+ mBloomBlur[0].bindTarget("", 1);
+ //mBloomBlur[0].clear();
+ gBloomBlurProgram.uniform1i( LLShaderMgr::BLOOM_BLURH, 0);
+ gBloomBlurProgram.bindTexture( LLShaderMgr::BLOOM_EMAP, &mBloomMap);
+ renderTriangle();
+ mBloomBlur[0].flush();
+
+ mBloomBlur[1].bindTarget("", 1);
+ gBloomBlurProgram.uniform1i( LLShaderMgr::BLOOM_BLURH, 1);
+ gBloomBlurProgram.bindTexture( LLShaderMgr::BLOOM_EMAP, &mBloomBlur[0]);
+ renderTriangle();
+ mBloomBlur[1].flush();
+
+
+ // additional iterations
+
+ for (unsigned int i = 1; i < amount; i++)
+ {
+ radius += mp_bloom_radius_add;
+ gBloomBlurProgram.uniform1f(LLShaderMgr::BLOOM_BLUR_RADIUS, radius);
+
+ mBloomBlur[0].bindTarget("", 1);
+ gBloomBlurProgram.uniform1i( LLShaderMgr::BLOOM_BLURH, 0);
+ gBloomBlurProgram.bindTexture( LLShaderMgr::BLOOM_EMAP, &mBloomBlur[1]);
+ renderTriangle();
+ mBloomBlur[0].flush();
+
+ mBloomBlur[1].bindTarget("", 1);
+ gBloomBlurProgram.uniform1i( LLShaderMgr::BLOOM_BLURH, 1);
+ gBloomBlurProgram.bindTexture( LLShaderMgr::BLOOM_EMAP, &mBloomBlur[0]);
+ renderTriangle();
+ mBloomBlur[1].flush();
+ }
+
+ gBloomBlurProgram.unbindTexture(LLShaderMgr::BLOOM_EMAP);
+ gBloomBlurProgram.unbind();
+
+
+ // combine
+
+ dst->bindTarget("bloom combine", 1);
+ //dst->clear();
+
+ gBloomCombineProgram.bind();
+
+ gBloomCombineProgram.bindTexture(LLShaderMgr::DIFFUSE_MAP, src);
+ gBloomCombineProgram.bindTexture(LLShaderMgr::BLOOM_BMAP, &mBloomBlur[1]);
+ gBloomCombineProgram.uniform1f(LLShaderMgr::BLOOM_STRENGTH, mp_bloom_strength);
+ gBloomCombineProgram.uniform1f(LLShaderMgr::BLOOM_CLAMP, clampValue);
+
+ renderTriangle();
+
+ gBloomCombineProgram.unbind();
+ dst->flush();
+
+ return true;
}
void LLPipeline::renderFinalize()
@@ -7986,7 +8208,11 @@ void LLPipeline::renderFinalize()
LLGLDisable blend(GL_BLEND);
LLGLDisable cull(GL_CULL_FACE);
- enableLightsFullbright();
+ gGLViewport[0] = gViewerWindow->getWorldViewRectRaw().mLeft;
+ gGLViewport[1] = gViewerWindow->getWorldViewRectRaw().mBottom;
+ gGLViewport[2] = gViewerWindow->getWorldViewRectRaw().getWidth();
+ gGLViewport[3] = gViewerWindow->getWorldViewRectRaw().getHeight();
+ glViewport(gGLViewport[0], gGLViewport[1], gGLViewport[2], gGLViewport[3]);
gGL.setColorMask(true, true);
glClearColor(0, 0, 0, 0);
@@ -7994,46 +8220,74 @@ void LLPipeline::renderFinalize()
static LLCachedControl<bool> has_hdr(gSavedSettings, "RenderHDREnabled", true);
bool hdr = gGLManager.mGLVersion > 4.05f && has_hdr();
+ U16 activeRT = 0;
+
+ LLRenderTarget* postHDRBuffer = &mRT->screen;
+
if (hdr)
{
copyScreenSpaceReflections(&mRT->screen, &mSceneMap);
- generateLuminance(&mRT->screen, &mLuminanceMap);
-
- generateExposure(&mLuminanceMap, &mExposureMap);
-
- tonemap(&mRT->screen, &mPostMap);
+ if(!mHDRDisplay)
+ {
+ generateLuminance(&mRT->screen, &mLuminanceMap);
+ generateExposure(&mLuminanceMap, &mExposureMap);
- applyCAS(&mPostMap, &mRT->screen);
+ tonemap(&mRT->screen, &mRT->deferredLight);
+ postHDRBuffer = &mRT->deferredLight;
+ }
}
- generateSMAABuffers(&mRT->screen);
+ gammaCorrect(postHDRBuffer, &mPostMaps[activeRT]);
- gammaCorrect(&mRT->screen, &mPostMap);
+
+ if(hdr)
+ {
+ generateGlow(&mPostMaps[activeRT]);
+ }
LLVertexBuffer::unbind();
- applySMAA(&mPostMap, &mRT->screen);
+ if(hdr)
+ {
+ if(renderBloom(&mPostMaps[activeRT], &mPostMaps[1 - activeRT]))
+ {
+ activeRT = 1 - activeRT;
+ }
+ }
- generateGlow(&mRT->screen);
+ if(hdr)
+ {
+ combineGlow(&mPostMaps[activeRT], &mPostMaps[1 - activeRT]);
+ activeRT = 1 - activeRT;
+ }
- combineGlow(&mRT->screen, &mPostMap);
+ if(applyFXAA(&mPostMaps[activeRT], &mPostMaps[1 - activeRT]))
+ {
+ activeRT = 1 - activeRT;
+ }
- gGLViewport[0] = gViewerWindow->getWorldViewRectRaw().mLeft;
- gGLViewport[1] = gViewerWindow->getWorldViewRectRaw().mBottom;
- gGLViewport[2] = gViewerWindow->getWorldViewRectRaw().getWidth();
- gGLViewport[3] = gViewerWindow->getWorldViewRectRaw().getHeight();
- glViewport(gGLViewport[0], gGLViewport[1], gGLViewport[2], gGLViewport[3]);
+ if(applySMAA(&mPostMaps[activeRT], &mPostMaps[1 - activeRT]))
+ {
+ activeRT = 1 - activeRT;
+ }
- renderDoF(&mPostMap, &mRT->screen);
+ if(!mHDRDisplay)
+ {
+ //CAS breaks the hdr colors for now.
+ if(applyCAS(&mPostMaps[activeRT], &mPostMaps[1 - activeRT]))
+ {
+ activeRT = 1 - activeRT;
+ }
+ }
- LLRenderTarget* finalBuffer = &mRT->screen;
- if (RenderFSAAType == 1)
+ if(renderDoF(&mPostMaps[activeRT], &mPostMaps[1 - activeRT]))
{
- applyFXAA(&mRT->screen, &mPostMap);
- finalBuffer = &mPostMap;
+ activeRT = 1 - activeRT;
}
+ LLRenderTarget* finalBuffer = &mPostMaps[activeRT];
+
if (RenderBufferVisualization > -1)
{
switch (RenderBufferVisualization)
@@ -8063,6 +8317,36 @@ void LLPipeline::renderFinalize()
}
break;
}
+ case 7:
+ visualizeBuffers(&mBloomMap, finalBuffer, 0);
+ break;
+ case 8:
+ visualizeBuffers(&mBloomBlur[1], finalBuffer, 0);
+ break;
+ case 9:
+ visualizeBuffers(&mPostMaps[activeRT], finalBuffer, 0);
+ break;
+ case 10:
+ visualizeBuffers(&mGlow[0], finalBuffer, 0);
+ break;
+ case 11:
+ visualizeBuffers(&mGlow[1], finalBuffer, 0);
+ break;
+ case 12:
+ visualizeBuffers(&mGlow[2], finalBuffer, 0);
+ break;
+ case 13:
+ visualizeBuffers(&mSceneMap, finalBuffer, 0);
+ break;
+ case 14:
+ visualizeBuffers(&mRT->screen, finalBuffer, 0);
+ break;
+ case 15:
+ visualizeBuffers(&mRT->deferredLight, finalBuffer, 0);
+ break;
+ case 16:
+ visualizeBuffers(&mPostMaps[1-activeRT], finalBuffer, 0);
+ break;
default:
break;
}
@@ -8080,8 +8364,7 @@ void LLPipeline::renderFinalize()
{
LLGLDepthTest depth_test(GL_TRUE, GL_TRUE, GL_ALWAYS);
- mScreenTriangleVB->setBuffer();
- mScreenTriangleVB->drawArrays(LLRender::TRIANGLES, 0, 3);
+ renderTriangle();
}
gDeferredPostNoDoFNoiseProgram.unbind();
@@ -8106,6 +8389,7 @@ void LLPipeline::renderFinalize()
// flush calls made to "addTrianglesDrawn" so far to stats machinery
recordTrianglesDrawn();
+ LOG_GLERROR("LLPipeline::renderFinalize()");
}
void LLPipeline::bindLightFunc(LLGLSLShader& shader)
@@ -8125,6 +8409,8 @@ void LLPipeline::bindLightFunc(LLGLSLShader& shader)
void LLPipeline::bindShadowMaps(LLGLSLShader& shader)
{
+ LOG_GLERROR("bindShadowMaps() 1");
+
for (U32 i = 0; i < 4; i++)
{
LLRenderTarget* shadow_target = getSunShadowTarget(i);
@@ -8138,6 +8424,8 @@ void LLPipeline::bindShadowMaps(LLGLSLShader& shader)
}
}
+ LOG_GLERROR("bindShadowMaps() 2");
+
for (U32 i = 4; i < 6; i++)
{
S32 channel = shader.enableTexture(LLShaderMgr::DEFERRED_SHADOW0 + i);
@@ -8246,7 +8534,7 @@ void LLPipeline::bindDeferredShader(LLGLSLShader& shader, LLRenderTarget* light_
bindLightFunc(shader);
- stop_glerror();
+ LOG_GLERROR("bindDeferredShader()");
light_target = light_target ? light_target : deferred_light_target;
channel = shader.enableTexture(LLShaderMgr::DEFERRED_LIGHT, light_target->getUsage());
@@ -8262,11 +8550,11 @@ void LLPipeline::bindDeferredShader(LLGLSLShader& shader, LLRenderTarget* light_
}
}
- stop_glerror();
+ LOG_GLERROR("bindDeferredShader() 2");
bindShadowMaps(shader);
- stop_glerror();
+ LOG_GLERROR("bindDeferredShader() 3");
F32 mat[16*6];
for (U32 i = 0; i < 16; i++)
@@ -8281,7 +8569,7 @@ void LLPipeline::bindDeferredShader(LLGLSLShader& shader, LLRenderTarget* light_
shader.uniformMatrix4fv(LLShaderMgr::DEFERRED_SHADOW_MATRIX, 6, false, mat);
- stop_glerror();
+ LOG_GLERROR("bindDeferredShader() 4");
if (!LLPipeline::sReflectionProbesEnabled)
{
@@ -8435,6 +8723,8 @@ void LLPipeline::renderDeferredLighting()
return;
}
+ LOG_GLERROR("renderDeferredLighting begin");
+
llassert(!sRenderingHUDs);
F32 light_scale = 1.f;
@@ -8476,10 +8766,10 @@ void LLPipeline::renderDeferredLighting()
tc_moon = mat * tc_moon;
mTransformedMoonDir.set(tc_moon);
- if ((RenderDeferredSSAO && !gCubeSnapshot) || RenderShadowDetail > 0)
+ if ((RenderDeferredSSAO && !gCubeSnapshot) || (RenderShadowDetail > 0 && RenderShadowDetail < 4))
{
LL_PROFILE_GPU_ZONE("sun program");
- deferred_light_target->bindTarget();
+ deferred_light_target->bindTarget("sun_shader", 1);
{ // paint shadow/SSAO light map (direct lighting lightmap)
LL_PROFILE_ZONE_NAMED_CATEGORY_PIPELINE("renderDeferredLighting - sun shadow");
@@ -8511,7 +8801,7 @@ void LLPipeline::renderDeferredLighting()
LL_PROFILE_ZONE_NAMED_CATEGORY_PIPELINE("renderDeferredLighting - soften shadow");
LL_PROFILE_GPU_ZONE("soften shadow");
// blur lightmap
- screen_target->bindTarget();
+ screen_target->bindTarget("SSAO", 1);
glClearColor(1, 1, 1, 1);
screen_target->clear(GL_COLOR_BUFFER_BIT);
glClearColor(0, 0, 0, 0);
@@ -8544,8 +8834,7 @@ void LLPipeline::renderDeferredLighting()
{
LLGLDisable blend(GL_BLEND);
LLGLDepthTest depth(GL_TRUE, GL_FALSE, GL_ALWAYS);
- mScreenTriangleVB->setBuffer();
- mScreenTriangleVB->drawArrays(LLRender::TRIANGLES, 0, 3);
+ renderTriangle();
}
screen_target->flush();
@@ -8553,21 +8842,20 @@ void LLPipeline::renderDeferredLighting()
bindDeferredShader(gDeferredBlurLightProgram, screen_target);
- deferred_light_target->bindTarget();
+ deferred_light_target->bindTarget("blur light", 1);
gDeferredBlurLightProgram.uniform2f(sDelta, 0.f, 1.f);
{
LLGLDisable blend(GL_BLEND);
LLGLDepthTest depth(GL_TRUE, GL_FALSE, GL_ALWAYS);
- mScreenTriangleVB->setBuffer();
- mScreenTriangleVB->drawArrays(LLRender::TRIANGLES, 0, 3);
+ renderTriangle();
}
deferred_light_target->flush();
unbindDeferredShader(gDeferredBlurLightProgram);
}
- screen_target->bindTarget();
+ screen_target->bindTarget("renderDeferredLighting screen_target", 1);
// clear color buffer here - zeroing alpha (glow) is important or it will accumulate against sky
glClearColor(0, 0, 0, 0);
screen_target->clear(GL_COLOR_BUFFER_BIT);
@@ -8600,8 +8888,7 @@ void LLPipeline::renderDeferredLighting()
LLGLDisable blend(GL_BLEND);
// full screen blit
- mScreenTriangleVB->setBuffer();
- mScreenTriangleVB->drawArrays(LLRender::TRIANGLES, 0, 3);
+ renderTriangle();
}
unbindDeferredShader(gDeferredSoftenProgram);
@@ -8817,8 +9104,7 @@ void LLPipeline::renderDeferredLighting()
gDeferredMultiLightProgram[idx].uniform1i(LLShaderMgr::CLASSIC_MODE, (psky->canAutoAdjust()) ? 1 : 0);
far_z = 0.f;
count = 0;
- mScreenTriangleVB->setBuffer();
- mScreenTriangleVB->drawArrays(LLRender::TRIANGLES, 0, 3);
+ renderTriangle();
unbindDeferredShader(gDeferredMultiLightProgram[idx]);
}
}
@@ -8854,6 +9140,9 @@ void LLPipeline::renderDeferredLighting()
gDeferredMultiSpotLightProgram.uniform1i(LLShaderMgr::CLASSIC_MODE, (psky->canAutoAdjust()) ? 1 : 0);
mScreenTriangleVB->drawArrays(LLRender::TRIANGLES, 0, 3);
+ /*
+ gPipeline.mScreenTriangleVB->drawArrays(LLRender::TRIANGLES, 0, 3);
+ */
}
gDeferredMultiSpotLightProgram.disableTexture(LLShaderMgr::DEFERRED_PROJECTION);
@@ -8916,11 +9205,14 @@ void LLPipeline::renderDeferredLighting()
}
}
gGL.setColorMask(true, true);
+
+ LOG_GLERROR("renderDeferredLighting end");
}
void LLPipeline::doAtmospherics()
{
LL_PROFILE_ZONE_SCOPED_CATEGORY_PIPELINE;
+ LOG_GLERROR("doAtmospherics begin");
if (sImpostorRender)
{ // do not attempt atmospherics on impostors
@@ -8938,7 +9230,7 @@ void LLPipeline::doAtmospherics()
LLRenderTarget& dst = gPipeline.mWaterDis;
mRT->screen.flush();
- dst.bindTarget();
+ dst.bindTarget("doAtmospherics dst", 1);
gCopyDepthProgram.bind();
S32 diff_map = gCopyDepthProgram.getTextureChannel(LLShaderMgr::DIFFUSE_MAP);
@@ -8948,11 +9240,10 @@ void LLPipeline::doAtmospherics()
gGL.getTexUnit(depth_map)->bind(&depth_src, true);
gGL.setColorMask(false, false);
- gPipeline.mScreenTriangleVB->setBuffer();
- gPipeline.mScreenTriangleVB->drawArrays(LLRender::TRIANGLES, 0, 3);
+ renderTriangle();
dst.flush();
- mRT->screen.bindTarget();
+ mRT->screen.bindTarget("atmospherics", 1);
}
LLGLEnable blend(GL_BLEND);
@@ -8974,13 +9265,14 @@ void LLPipeline::doAtmospherics()
LLGLDepthTest depth(GL_FALSE);
// full screen blit
- mScreenTriangleVB->setBuffer();
- mScreenTriangleVB->drawArrays(LLRender::TRIANGLES, 0, 3);
+ renderTriangle();
unbindDeferredShader(haze_shader);
gGL.setSceneBlendType(LLRender::BT_ALPHA);
}
+
+ LOG_GLERROR("doAtmospherics end");
}
void LLPipeline::doWaterHaze()
@@ -9002,7 +9294,7 @@ void LLPipeline::doWaterHaze()
LLRenderTarget& dst = gPipeline.mWaterDis;
mRT->screen.flush();
- dst.bindTarget();
+ dst.bindTarget("water haze copy depth", 1);
gCopyDepthProgram.bind();
S32 diff_map = gCopyDepthProgram.getTextureChannel(LLShaderMgr::DIFFUSE_MAP);
@@ -9012,11 +9304,10 @@ void LLPipeline::doWaterHaze()
gGL.getTexUnit(depth_map)->bind(&depth_src, true);
gGL.setColorMask(false, false);
- gPipeline.mScreenTriangleVB->setBuffer();
- gPipeline.mScreenTriangleVB->drawArrays(LLRender::TRIANGLES, 0, 3);
+ renderTriangle();
dst.flush();
- mRT->screen.bindTarget();
+ mRT->screen.bindTarget("water haze", 1);
}
LLGLEnable blend(GL_BLEND);
@@ -9042,8 +9333,7 @@ void LLPipeline::doWaterHaze()
LLGLDepthTest depth(GL_FALSE);
// full screen blit
- mScreenTriangleVB->setBuffer();
- mScreenTriangleVB->drawArrays(LLRender::TRIANGLES, 0, 3);
+ renderTriangle();
}
else
{
@@ -9065,11 +9355,13 @@ void LLPipeline::doWaterHaze()
gGL.setSceneBlendType(LLRender::BT_ALPHA);
}
+
+ LOG_GLERROR("after doWaterHaze()");
}
void LLPipeline::doWaterExclusionMask()
{
- mWaterExclusionMask.bindTarget();
+ mWaterExclusionMask.bindTarget("", 1);
glClearColor(1, 1, 1, 1);
mWaterExclusionMask.clear();
mWaterExclusionPool->render();
@@ -9222,6 +9514,7 @@ void LLPipeline::setupSpotLight(LLGLSLShader& shader, LLDrawable* drawablep)
}
}
+ LOG_GLERROR("setupSpotLight() end");
}
void LLPipeline::unbindDeferredShader(LLGLSLShader &shader)
@@ -9229,7 +9522,7 @@ void LLPipeline::unbindDeferredShader(LLGLSLShader &shader)
LLRenderTarget* deferred_target = &mRT->deferredScreen;
LLRenderTarget* deferred_light_target = &mRT->deferredLight;
- stop_glerror();
+ LOG_GLERROR("unbindDeferredShader() begin");
shader.disableTexture(LLShaderMgr::NORMAL_MAP, deferred_target->getUsage());
shader.disableTexture(LLShaderMgr::DEFERRED_DIFFUSE, deferred_target->getUsage());
shader.disableTexture(LLShaderMgr::DEFERRED_SPECULAR, deferred_target->getUsage());
@@ -9278,6 +9571,8 @@ void LLPipeline::unbindDeferredShader(LLGLSLShader &shader)
gGL.getTexUnit(0)->unbind(LLTexUnit::TT_TEXTURE);
gGL.getTexUnit(0)->activate();
shader.unbind();
+
+ LOG_GLERROR("unbindDeferredShader() end");
}
void LLPipeline::setEnvMat(LLGLSLShader& shader)
@@ -9300,7 +9595,6 @@ void LLPipeline::bindReflectionProbes(LLGLSLShader& shader)
S32 channel = shader.enableTexture(LLShaderMgr::REFLECTION_PROBES, LLTexUnit::TT_CUBE_MAP_ARRAY);
bool bound = false;
-
if (channel > -1 && mReflectionMapManager.mTexture.notNull())
{
mReflectionMapManager.mTexture->bind(channel);
@@ -9333,6 +9627,11 @@ void LLPipeline::bindReflectionProbes(LLGLSLShader& shader)
}
// reflection probe shaders generally sample the scene map as well for SSR
+
+ //if(RenderScreenSpaceReflections)
+ //{
+ //LL_WARNS() << "binding SSR to reflection maps" << LL_ENDL;
+
channel = shader.enableTexture(LLShaderMgr::SCENE_MAP);
if (channel > -1)
{
@@ -9358,8 +9657,10 @@ void LLPipeline::bindReflectionProbes(LLGLSLShader& shader)
{
gGL.getTexUnit(channel)->bind(&mSceneMap, true);
}
+ //}
+ LOG_GLERROR("bindReflectionProbes() end");
}
void LLPipeline::unbindReflectionProbes(LLGLSLShader& shader)
@@ -9373,6 +9674,8 @@ void LLPipeline::unbindReflectionProbes(LLGLSLShader& shader)
gGL.getTexUnit(channel)->enable(LLTexUnit::TT_TEXTURE);
}
}
+
+ LOG_GLERROR("unbindReflectionProbes() end");
}
@@ -9431,11 +9734,13 @@ static LLTrace::BlockTimerStatHandle FTM_SHADOW_ALPHA_MASKED("Alpha Masked");
static LLTrace::BlockTimerStatHandle FTM_SHADOW_ALPHA_BLEND("Alpha Blend");
static LLTrace::BlockTimerStatHandle FTM_SHADOW_ALPHA_TREE("Alpha Tree");
static LLTrace::BlockTimerStatHandle FTM_SHADOW_ALPHA_GRASS("Alpha Grass");
+static LLTrace::BlockTimerStatHandle FTM_SHADOW_ALPHA_MATERIAL("Alpha Material");
static LLTrace::BlockTimerStatHandle FTM_SHADOW_FULLBRIGHT_ALPHA_MASKED("Fullbright Alpha Masked");
void LLPipeline::renderShadow(const glm::mat4& view, const glm::mat4& proj, LLCamera& shadow_cam, LLCullResult& result, bool depth_clamp)
{
- LL_PROFILE_ZONE_SCOPED_CATEGORY_PIPELINE; //LL_RECORD_BLOCK_TIME(FTM_SHADOW_RENDER);
+ LL_PROFILE_ZONE_SCOPED_CATEGORY_PIPELINE;
+ LL_RECORD_BLOCK_TIME(FTM_SHADOW_RENDER);
LL_PROFILE_GPU_ZONE("renderShadow");
LLPipeline::sShadowRender = true;
@@ -9496,6 +9801,7 @@ void LLPipeline::renderShadow(const glm::mat4& view, const glm::mat4& proj, LLCa
}
};
+
LLVertexBuffer::unbind();
for (int j = 0; j < 2; ++j) // 0 -- static, 1 -- rigged
{
@@ -9512,8 +9818,10 @@ void LLPipeline::renderShadow(const glm::mat4& view, const glm::mat4& proj, LLCa
gGL.setColorMask(false, false);
}
- LL_PROFILE_ZONE_NAMED_CATEGORY_PIPELINE("shadow simple"); //LL_RECORD_BLOCK_TIME(FTM_SHADOW_SIMPLE);
+ LL_PROFILE_ZONE_NAMED_CATEGORY_PIPELINE("shadow simple");
LL_PROFILE_GPU_ZONE("shadow simple");
+ LL_RECORD_BLOCK_TIME(FTM_SHADOW_SIMPLE);
+
gGL.getTexUnit(0)->disable();
for (U32 type : types)
@@ -9534,13 +9842,15 @@ void LLPipeline::renderShadow(const glm::mat4& view, const glm::mat4& proj, LLCa
{
LL_PROFILE_ZONE_NAMED_CATEGORY_PIPELINE("shadow geom");
+ LL_RECORD_BLOCK_TIME(FTM_SHADOW_GEOM);
renderGeomShadow(shadow_cam);
}
- if(MPRenderShadowOpti < 3)
{
LL_PROFILE_ZONE_NAMED_CATEGORY_PIPELINE("shadow alpha");
LL_PROFILE_GPU_ZONE("shadow alpha");
+ LL_RECORD_BLOCK_TIME(FTM_SHADOW_ALPHA);
+
const S32 sun_up = LLEnvironment::instance().getIsSunUp() ? 1 : 0;
U32 target_width = LLRenderTarget::sCurResX;
@@ -9551,6 +9861,7 @@ void LLPipeline::renderShadow(const glm::mat4& view, const glm::mat4& proj, LLCa
{
LL_PROFILE_ZONE_NAMED_CATEGORY_PIPELINE("shadow alpha masked");
LL_PROFILE_GPU_ZONE("shadow alpha masked");
+ LL_RECORD_BLOCK_TIME(FTM_SHADOW_ALPHA_MASKED);
gDeferredShadowAlphaMaskProgram.bind(rigged);
LLGLSLShader::sCurBoundShaderPtr->uniform1i(LLShaderMgr::SUN_UP_FACTOR, sun_up);
LLGLSLShader::sCurBoundShaderPtr->uniform1f(LLShaderMgr::DEFERRED_SHADOW_TARGET_WIDTH, (float)target_width);
@@ -9560,12 +9871,15 @@ void LLPipeline::renderShadow(const glm::mat4& view, const glm::mat4& proj, LLCa
{
LL_PROFILE_ZONE_NAMED_CATEGORY_PIPELINE("shadow alpha blend");
LL_PROFILE_GPU_ZONE("shadow alpha blend");
+ LL_RECORD_BLOCK_TIME(FTM_SHADOW_ALPHA_BLEND);
renderAlphaObjects(rigged);
}
{
LL_PROFILE_ZONE_NAMED_CATEGORY_PIPELINE("shadow fullbright alpha masked");
LL_PROFILE_GPU_ZONE("shadow alpha masked");
+ LL_RECORD_BLOCK_TIME(FTM_SHADOW_FULLBRIGHT_ALPHA_MASKED);
+
gDeferredShadowFullbrightAlphaMaskProgram.bind(rigged);
LLGLSLShader::sCurBoundShaderPtr->uniform1i(LLShaderMgr::SUN_UP_FACTOR, sun_up);
LLGLSLShader::sCurBoundShaderPtr->uniform1f(LLShaderMgr::DEFERRED_SHADOW_TARGET_WIDTH, (float)target_width);
@@ -9575,6 +9889,8 @@ void LLPipeline::renderShadow(const glm::mat4& view, const glm::mat4& proj, LLCa
{
LL_PROFILE_ZONE_NAMED_CATEGORY_PIPELINE("shadow alpha grass");
LL_PROFILE_GPU_ZONE("shadow alpha grass");
+ LL_RECORD_BLOCK_TIME(FTM_SHADOW_ALPHA_GRASS);
+
gDeferredTreeShadowProgram.bind(rigged);
LLGLSLShader::sCurBoundShaderPtr->setMinimumAlpha(ALPHA_BLEND_CUTOFF);
@@ -9586,6 +9902,8 @@ void LLPipeline::renderShadow(const glm::mat4& view, const glm::mat4& proj, LLCa
{
LL_PROFILE_ZONE_NAMED_CATEGORY_PIPELINE("shadow alpha material");
LL_PROFILE_GPU_ZONE("shadow alpha material");
+ LL_RECORD_BLOCK_TIME(FTM_SHADOW_ALPHA_MATERIAL);
+
renderMaskedObjects(LLRenderPass::PASS_NORMSPEC_MASK, true, false, rigged);
renderMaskedObjects(LLRenderPass::PASS_MATERIAL_ALPHA_MASK, true, false, rigged);
renderMaskedObjects(LLRenderPass::PASS_SPECMAP_MASK, true, false, rigged);
@@ -9868,8 +10186,14 @@ public:
void LLPipeline::generateSunShadow(LLCamera& camera)
{
- if (!sRenderDeferred || RenderShadowDetail <= 0 || (MPRenderShadowOpti > 0 && gCubeSnapshot))
+ if (!sRenderDeferred || RenderShadowDetail <= 0)
+ {
+ return;
+ }
+
+ if(gCubeSnapshot)
{
+ LL_WARNS() << "generateSunShadow() gCubeSnapshot" << LL_ENDL;
return;
}
@@ -9878,6 +10202,8 @@ void LLPipeline::generateSunShadow(LLCamera& camera)
LLDisableOcclusionCulling no_occlusion;
+ U32 splits = 4;
+
bool skip_avatar_update = false;
if (!isAgentAvatarValid() || gAgentCamera.getCameraAnimating() || gAgentCamera.getCameraMode() != CAMERA_MODE_MOUSELOOK || !LLVOAvatar::sVisibleInFirstPerson)
{
@@ -9982,7 +10308,7 @@ void LLPipeline::generateSunShadow(LLCamera& camera)
LLPlane shadow_near_clip;
{
LLVector3 p = camera.getOrigin(); // gAgent.getPositionAgent();
- p += caster_dir * RenderFarClip*2.f;
+ p += caster_dir * RenderFarClip*1.1f;
shadow_near_clip.setVec(p, caster_dir);
}
@@ -10055,30 +10381,36 @@ void LLPipeline::generateSunShadow(LLCamera& camera)
update_min_max(min, max, fp[i]);
}
+ F32 maxDist = gSavedSettings.getF32("MPRenderShadowMaxDist");
near_clip = llclamp(-max.mV[2], 0.01f, 4.0f);
- F32 far_clip = llclamp(-min.mV[2]*2.f, 16.0f, 512.0f);
-
- //far_clip = llmin(far_clip, 128.f);
+ F32 far_clip = llclamp(-min.mV[2]*1.1, 16.0f, maxDist);
far_clip = llmin(far_clip, camera.getFar());
F32 range = far_clip-near_clip;
- LLVector3 split_exp = RenderShadowSplitExponent;
+ F32 closestDist = 2.0;
+ F32 closeDist = 10.0;
- F32 da = 1.f-llmax( fabsf(lightDir*up), fabsf(lightDir*camera.getLeftAxis()) );
+ mSunClipPlanes.mV[0] = near_clip + closestDist;
+ mSunClipPlanes.mV[1] = near_clip + closeDist;
+ mSunClipPlanes.mV[2] = mSunClipPlanes.mV[1] + (range-closeDist)*0.4;
+ mSunClipPlanes.mV[3] = far_clip;
+ /*
+ LLVector3 split_exp = RenderShadowSplitExponent;
+ F32 da = 1.f-llmax( fabsf(lightDir*up), fabsf(lightDir*camera.getLeftAxis()) );
da = powf(da, split_exp.mV[2]);
-
F32 sxp = split_exp.mV[1] + (split_exp.mV[0]-split_exp.mV[1])*da;
- for (U32 i = 0; i < 4; ++i)
+ for (U32 i = 0; i < splits; ++i)
{
- F32 x = (F32)(i+1)/4.f;
+ F32 x = (F32)(i+1)/(F32)splits;
x = powf(x, sxp);
mSunClipPlanes.mV[i] = near_clip+range*x;
}
+ */
- mSunClipPlanes.mV[0] *= 1.25f; //bump back first split for transition padding
+ //mSunClipPlanes.mV[0] *= 1.1f; //bump back first split for transition padding
}
if (gCubeSnapshot)
@@ -10092,13 +10424,17 @@ void LLPipeline::generateSunShadow(LLCamera& camera)
// convenience array of 4 near clip plane distances
F32 dist[] = { near_clip, mSunClipPlanes.mV[0], mSunClipPlanes.mV[1], mSunClipPlanes.mV[2], mSunClipPlanes.mV[3] };
- if (mSunDiffuse == LLColor4::black)
+ if (mSunDiffuse == LLColor4::black || RenderShadowDetail == 3)
{ //sun diffuse is totally black shadows don't matter
skipRenderingShadows();
}
else
{
- for (S32 j = 0; j < (gCubeSnapshot ? 2 : 4); j++)
+ S32 begin = 0;
+ S32 end = splits-1;
+ if(gCubeSnapshot) end = 1;
+
+ for (S32 j = begin; j <= end; j++)
{
if (!hasRenderDebugMask(RENDER_DEBUG_SHADOW_FRUSTA) && !gCubeSnapshot)
{
@@ -10136,8 +10472,8 @@ void LLPipeline::generateSunShadow(LLCamera& camera)
delta += (frust[i+4]-frust[(i+2)%4+4])*0.05f;
delta.normVec();
F32 dp = delta*pn;
- frust[i] = eye + (delta*dist[j]*0.75f)/dp;
- frust[i+4] = eye + (delta*dist[j+1]*1.25f)/dp;
+ frust[i] = eye + (delta*dist[j]*0.9f)/dp;
+ frust[i+4] = eye + (delta*dist[j+1]*1.1f)/dp;
}
shadow_cam.calcAgentFrustumPlanes(frust);
@@ -10150,12 +10486,7 @@ void LLPipeline::generateSunShadow(LLCamera& camera)
std::vector<LLVector3> fp;
- U32 splits = 3;
- if(MPRenderShadowOpti == 1) splits = 2;
- else if(MPRenderShadowOpti >= 2) splits = 1;
-
- if (!gPipeline.getVisiblePointCloud(shadow_cam, min, max, fp, lightDir)
- || j > splits)
+ if (!gPipeline.getVisiblePointCloud(shadow_cam, min, max, fp, lightDir))
{
//no possible shadow receivers
if (!gPipeline.hasRenderDebugMask(LLPipeline::RENDER_DEBUG_SHADOW_FRUSTA) && !gCubeSnapshot)
@@ -10165,7 +10496,7 @@ void LLPipeline::generateSunShadow(LLCamera& camera)
mShadowCamera[j+4] = shadow_cam;
}
- mRT->shadow[j].bindTarget();
+ mRT->shadow[j].bindTarget("", 1);
{
LLGLDepthTest depth(GL_TRUE);
mRT->shadow[j].clear();
@@ -10455,8 +10786,9 @@ void LLPipeline::generateSunShadow(LLCamera& camera)
stop_glerror();
- mRT->shadow[j].bindTarget();
- mRT->shadow[j].getViewport(gGLViewport);
+ mRT->shadow[j].bindTarget("mRT->shadow[j] (rendering)", 1);
+ //mRT->shadow[j].getViewport(gGLViewport);
+ //mRT->shadow[j].getViewport(0, 0, SHADOWS_RESX, SHADOWS_RESY);
mRT->shadow[j].clear();
{
@@ -10604,8 +10936,8 @@ void LLPipeline::generateSunShadow(LLCamera& camera)
//
- mSpotShadow[i].bindTarget();
- mSpotShadow[i].getViewport(gGLViewport);
+ mSpotShadow[i].bindTarget("mSpotShadow[i]", 1);
+ //mSpotShadow[i].getViewport(gGLViewport);
mSpotShadow[i].clear();
static LLCullResult result[2];
@@ -10653,6 +10985,8 @@ void LLPipeline::generateSunShadow(LLCamera& camera)
{
gAgentAvatarp->updateAttachmentVisibility(gAgentCamera.getCameraMode());
}
+
+ LOG_GLERROR("LLPipeline::generateSunShadow()");
}
void LLPipeline::renderGroups(LLRenderPass* pass, U32 type, bool texture)
@@ -10668,6 +11002,8 @@ void LLPipeline::renderGroups(LLRenderPass* pass, U32 type, bool texture)
pass->renderGroup(group,type,texture);
}
}
+
+ LOG_GLERROR("LLPipeline::renderGroups()");
}
void LLPipeline::renderRiggedGroups(LLRenderPass* pass, U32 type, bool texture)
@@ -10683,6 +11019,8 @@ void LLPipeline::renderRiggedGroups(LLRenderPass* pass, U32 type, bool texture)
pass->renderRiggedGroup(group, type, texture);
}
}
+
+ LOG_GLERROR("LLPipeline::renderRiggedGroups()");
}
void LLPipeline::profileAvatar(LLVOAvatar* avatar, bool profile_attachments)
@@ -10699,7 +11037,7 @@ void LLPipeline::profileAvatar(LLVOAvatar* avatar, bool profile_attachments)
LLGLSLShader* cur_shader = LLGLSLShader::sCurBoundShaderPtr;
- mRT->deferredScreen.bindTarget();
+ mRT->deferredScreen.bindTarget("mRT->deferredScreen in profileAvatar", 1);
mRT->deferredScreen.clear();
if (!profile_attachments)
@@ -10753,6 +11091,8 @@ void LLPipeline::profileAvatar(LLVOAvatar* avatar, bool profile_attachments)
{
cur_shader->bind();
}
+
+ LOG_GLERROR("LLPipeline::profileAvatar()");
}
void LLPipeline::generateImpostor(LLVOAvatar* avatar, bool preview_avatar, bool for_profile, LLViewerObject* specific_attachment)
@@ -10973,7 +11313,7 @@ void LLPipeline::generateImpostor(LLVOAvatar* avatar, bool preview_avatar, bool
{
if (!avatar->mImpostor.isComplete())
{
- avatar->mImpostor.allocate(resX, resY, GL_RGBA, true);
+ avatar->mImpostor.allocate(resX, resY, GL_RGBA8, true);
if (LLPipeline::sRenderDeferred)
{
@@ -10989,7 +11329,7 @@ void LLPipeline::generateImpostor(LLVOAvatar* avatar, bool preview_avatar, bool
avatar->mImpostor.resize(resX, resY);
}
- avatar->mImpostor.bindTarget();
+ avatar->mImpostor.bindTarget("avatar->mImpostor", 1);
}
}
@@ -11126,6 +11466,9 @@ void LLPipeline::generateImpostor(LLVOAvatar* avatar, bool preview_avatar, bool
}
LLVertexBuffer::unbind();
+
+ LOG_GLERROR("LLPipeline::generateImpostor()");
+
LLGLState::checkStates();
}
@@ -11450,7 +11793,7 @@ void LLPipeline::skipRenderingShadows()
for (S32 j = 0; j < 4; j++)
{
- mRT->shadow[j].bindTarget();
+ mRT->shadow[j].bindTarget("skip rendering shadows", 1);
mRT->shadow[j].clear();
mRT->shadow[j].flush();
}
diff --git a/indra/newview/pipeline.h b/indra/newview/pipeline.h
index da9b8189e2..4bba462f78 100644
--- a/indra/newview/pipeline.h
+++ b/indra/newview/pipeline.h
@@ -125,11 +125,14 @@ public:
private:
//implementation of above, wrapped for easy error handling
eFBOStatus doAllocateScreenBuffer(U32 resX, U32 resY);
+ void renderTriangle();
+
public:
//attempt to allocate screen buffers at resX, resY
//returns true if allocation successful, false otherwise
- bool allocateScreenBufferInternal(U32 resX, U32 resY);
+ //type 0 = screen, 1 = probe, 2 = mirror
+ bool allocateScreenBufferInternal(U32 resX, U32 resY, U32 type_ = 0);
bool allocateShadowBuffer(U32 resX, U32 resY);
// rebuild all LLVOVolume render batches
@@ -158,15 +161,17 @@ public:
void tonemap(LLRenderTarget* src, LLRenderTarget* dst);
void gammaCorrect(LLRenderTarget* src, LLRenderTarget* dst);
void generateGlow(LLRenderTarget* src);
- void applyCAS(LLRenderTarget* src, LLRenderTarget* dst);
- void applyFXAA(LLRenderTarget* src, LLRenderTarget* dst);
+ bool applyCAS(LLRenderTarget* src, LLRenderTarget* dst);
+ bool applyFXAA(LLRenderTarget* src, LLRenderTarget* dst);
void generateSMAABuffers(LLRenderTarget* src);
- void applySMAA(LLRenderTarget* src, LLRenderTarget* dst);
- void renderDoF(LLRenderTarget* src, LLRenderTarget* dst);
+ bool applySMAA(LLRenderTarget* src, LLRenderTarget* dst);
+ bool renderDoF(LLRenderTarget* src, LLRenderTarget* dst);
void copyRenderTarget(LLRenderTarget* src, LLRenderTarget* dst);
void combineGlow(LLRenderTarget* src, LLRenderTarget* dst);
void visualizeBuffers(LLRenderTarget* src, LLRenderTarget* dst, U32 bufferIndex);
+ bool renderBloom(LLRenderTarget* src, LLRenderTarget* dst);
+
void init();
void cleanup();
bool isInit() { return mInitialized; };
@@ -729,8 +734,12 @@ public:
LLRenderTarget mExposureMap;
LLRenderTarget mLastExposure;
+ LLRenderTarget mBloomMap;
+ LLRenderTarget mBloomBlur[2];
+
// tonemapped and gamma corrected render ready for post
- LLRenderTarget mPostMap;
+ //LLRenderTarget mPostMap;
+ LLRenderTarget mPostMaps[2];
// FXAA helper target
LLRenderTarget mFXAAMap;
@@ -812,6 +821,9 @@ public:
bool mShadersLoaded;
U32 mTransformFeedbackPrimitives; //number of primitives expected to be generated by transform feedback
+
+ bool mHDRDisplay;
+
protected:
bool mRenderTypeEnabled[NUM_RENDER_TYPES];
std::stack<std::string> mRenderTypeEnableStack;
@@ -1008,10 +1020,9 @@ public:
static bool RenderDeferred;
static F32 RenderDeferredSunWash;
static U32 RenderFSAAType;
- static U32 RenderResolutionDivisor;
+ static F32 RenderResolutionDivisor;
static bool RenderUIBuffer;
static S32 RenderShadowDetail;
- static S32 MPRenderShadowOpti;
static S32 RenderShadowSplits;
static bool RenderDeferredSSAO;
static F32 RenderShadowResolutionScale;
diff --git a/indra/newview/skins/contrast/textures/Blank.png b/indra/newview/skins/contrast/textures/Blank.png
deleted file mode 100644
index f38e9f9100..0000000000
--- a/indra/newview/skins/contrast/textures/Blank.png
+++ /dev/null
Binary files differ
diff --git a/indra/newview/skins/contrast/textures/Rounded_Rect.png b/indra/newview/skins/contrast/textures/Rounded_Rect.png
deleted file mode 100644
index c270c28039..0000000000
--- a/indra/newview/skins/contrast/textures/Rounded_Rect.png
+++ /dev/null
Binary files differ
diff --git a/indra/newview/skins/contrast/textures/alpha_gradient.tga b/indra/newview/skins/contrast/textures/alpha_gradient.tga
deleted file mode 100644
index 6fdba25d4e..0000000000
--- a/indra/newview/skins/contrast/textures/alpha_gradient.tga
+++ /dev/null
Binary files differ
diff --git a/indra/newview/skins/contrast/textures/alpha_gradient_2d.j2c b/indra/newview/skins/contrast/textures/alpha_gradient_2d.j2c
deleted file mode 100644
index 5de5a80a65..0000000000
--- a/indra/newview/skins/contrast/textures/alpha_gradient_2d.j2c
+++ /dev/null
Binary files differ
diff --git a/indra/newview/skins/contrast/textures/arrow_down.tga b/indra/newview/skins/contrast/textures/arrow_down.tga
deleted file mode 100644
index 81dc9d3b6c..0000000000
--- a/indra/newview/skins/contrast/textures/arrow_down.tga
+++ /dev/null
Binary files differ
diff --git a/indra/newview/skins/contrast/textures/arrow_up.tga b/indra/newview/skins/contrast/textures/arrow_up.tga
deleted file mode 100644
index 22195cf7fb..0000000000
--- a/indra/newview/skins/contrast/textures/arrow_up.tga
+++ /dev/null
Binary files differ
diff --git a/indra/newview/skins/contrast/textures/avatar_thumb_bkgrnd.png b/indra/newview/skins/contrast/textures/avatar_thumb_bkgrnd.png
deleted file mode 100644
index 84cc2159c1..0000000000
--- a/indra/newview/skins/contrast/textures/avatar_thumb_bkgrnd.png
+++ /dev/null
Binary files differ
diff --git a/indra/newview/skins/contrast/textures/badge_note.j2c b/indra/newview/skins/contrast/textures/badge_note.j2c
deleted file mode 100644
index 1ab5233faf..0000000000
--- a/indra/newview/skins/contrast/textures/badge_note.j2c
+++ /dev/null
Binary files differ
diff --git a/indra/newview/skins/contrast/textures/badge_ok.j2c b/indra/newview/skins/contrast/textures/badge_ok.j2c
deleted file mode 100644
index f85b880f1d..0000000000
--- a/indra/newview/skins/contrast/textures/badge_ok.j2c
+++ /dev/null
Binary files differ
diff --git a/indra/newview/skins/contrast/textures/badge_warn.j2c b/indra/newview/skins/contrast/textures/badge_warn.j2c
deleted file mode 100644
index 26437ca426..0000000000
--- a/indra/newview/skins/contrast/textures/badge_warn.j2c
+++ /dev/null
Binary files differ
diff --git a/indra/newview/skins/contrast/textures/bottomtray/Cam_Avatar_Off.png b/indra/newview/skins/contrast/textures/bottomtray/Cam_Avatar_Off.png
deleted file mode 100644
index 6b725e153a..0000000000
--- a/indra/newview/skins/contrast/textures/bottomtray/Cam_Avatar_Off.png
+++ /dev/null
Binary files differ
diff --git a/indra/newview/skins/contrast/textures/bottomtray/Cam_FreeCam_Off.png b/indra/newview/skins/contrast/textures/bottomtray/Cam_FreeCam_Off.png
deleted file mode 100644
index 9f22080d13..0000000000
--- a/indra/newview/skins/contrast/textures/bottomtray/Cam_FreeCam_Off.png
+++ /dev/null
Binary files differ
diff --git a/indra/newview/skins/contrast/textures/bottomtray/Cam_Orbit_Off.png b/indra/newview/skins/contrast/textures/bottomtray/Cam_Orbit_Off.png
deleted file mode 100644
index 5b2a8eb339..0000000000
--- a/indra/newview/skins/contrast/textures/bottomtray/Cam_Orbit_Off.png
+++ /dev/null
Binary files differ
diff --git a/indra/newview/skins/contrast/textures/bottomtray/Cam_Pan_Off.png b/indra/newview/skins/contrast/textures/bottomtray/Cam_Pan_Off.png
deleted file mode 100644
index 9acf7053d5..0000000000
--- a/indra/newview/skins/contrast/textures/bottomtray/Cam_Pan_Off.png
+++ /dev/null
Binary files differ
diff --git a/indra/newview/skins/contrast/textures/bottomtray/Cam_Preset_Back_Off.png b/indra/newview/skins/contrast/textures/bottomtray/Cam_Preset_Back_Off.png
deleted file mode 100644
index 00158a7bc2..0000000000
--- a/indra/newview/skins/contrast/textures/bottomtray/Cam_Preset_Back_Off.png
+++ /dev/null
Binary files differ
diff --git a/indra/newview/skins/contrast/textures/bottomtray/Cam_Preset_Eye_Off.png b/indra/newview/skins/contrast/textures/bottomtray/Cam_Preset_Eye_Off.png
deleted file mode 100644
index 2b50986780..0000000000
--- a/indra/newview/skins/contrast/textures/bottomtray/Cam_Preset_Eye_Off.png
+++ /dev/null
Binary files differ
diff --git a/indra/newview/skins/contrast/textures/bottomtray/Cam_Preset_Front_Off.png b/indra/newview/skins/contrast/textures/bottomtray/Cam_Preset_Front_Off.png
deleted file mode 100644
index c49b8f9a27..0000000000
--- a/indra/newview/skins/contrast/textures/bottomtray/Cam_Preset_Front_Off.png
+++ /dev/null
Binary files differ
diff --git a/indra/newview/skins/contrast/textures/bottomtray/Cam_Preset_Front_On.png b/indra/newview/skins/contrast/textures/bottomtray/Cam_Preset_Front_On.png
deleted file mode 100644
index bc8c4db04d..0000000000
--- a/indra/newview/skins/contrast/textures/bottomtray/Cam_Preset_Front_On.png
+++ /dev/null
Binary files differ
diff --git a/indra/newview/skins/contrast/textures/bottomtray/Move_Fly_Off.png b/indra/newview/skins/contrast/textures/bottomtray/Move_Fly_Off.png
deleted file mode 100644
index fade065ce7..0000000000
--- a/indra/newview/skins/contrast/textures/bottomtray/Move_Fly_Off.png
+++ /dev/null
Binary files differ
diff --git a/indra/newview/skins/contrast/textures/bottomtray/Move_Run_Off.png b/indra/newview/skins/contrast/textures/bottomtray/Move_Run_Off.png
deleted file mode 100644
index e2eb38e12d..0000000000
--- a/indra/newview/skins/contrast/textures/bottomtray/Move_Run_Off.png
+++ /dev/null
Binary files differ
diff --git a/indra/newview/skins/contrast/textures/bottomtray/Move_Walk_Off.png b/indra/newview/skins/contrast/textures/bottomtray/Move_Walk_Off.png
deleted file mode 100644
index f314d4e001..0000000000
--- a/indra/newview/skins/contrast/textures/bottomtray/Move_Walk_Off.png
+++ /dev/null
Binary files differ
diff --git a/indra/newview/skins/contrast/textures/bottomtray/Notices_Unread.png b/indra/newview/skins/contrast/textures/bottomtray/Notices_Unread.png
deleted file mode 100644
index eb2f3dbaa4..0000000000
--- a/indra/newview/skins/contrast/textures/bottomtray/Notices_Unread.png
+++ /dev/null
Binary files differ
diff --git a/indra/newview/skins/contrast/textures/bottomtray/Snapshot_Off.png b/indra/newview/skins/contrast/textures/bottomtray/Snapshot_Off.png
deleted file mode 100644
index 4ab4bbe4af..0000000000
--- a/indra/newview/skins/contrast/textures/bottomtray/Snapshot_Off.png
+++ /dev/null
Binary files differ
diff --git a/indra/newview/skins/contrast/textures/build/Object_Cone.png b/indra/newview/skins/contrast/textures/build/Object_Cone.png
deleted file mode 100644
index 5167f1a820..0000000000
--- a/indra/newview/skins/contrast/textures/build/Object_Cone.png
+++ /dev/null
Binary files differ
diff --git a/indra/newview/skins/contrast/textures/build/Object_Cube.png b/indra/newview/skins/contrast/textures/build/Object_Cube.png
deleted file mode 100644
index e82af1ca82..0000000000
--- a/indra/newview/skins/contrast/textures/build/Object_Cube.png
+++ /dev/null
Binary files differ
diff --git a/indra/newview/skins/contrast/textures/build/Object_Cylinder.png b/indra/newview/skins/contrast/textures/build/Object_Cylinder.png
deleted file mode 100644
index fe1041d4c7..0000000000
--- a/indra/newview/skins/contrast/textures/build/Object_Cylinder.png
+++ /dev/null
Binary files differ
diff --git a/indra/newview/skins/contrast/textures/build/Object_Grass.png b/indra/newview/skins/contrast/textures/build/Object_Grass.png
deleted file mode 100644
index a88efd5f3e..0000000000
--- a/indra/newview/skins/contrast/textures/build/Object_Grass.png
+++ /dev/null
Binary files differ
diff --git a/indra/newview/skins/contrast/textures/build/Object_Hemi_Cone.png b/indra/newview/skins/contrast/textures/build/Object_Hemi_Cone.png
deleted file mode 100644
index 595f64d480..0000000000
--- a/indra/newview/skins/contrast/textures/build/Object_Hemi_Cone.png
+++ /dev/null
Binary files differ
diff --git a/indra/newview/skins/contrast/textures/build/Object_Hemi_Cylinder.png b/indra/newview/skins/contrast/textures/build/Object_Hemi_Cylinder.png
deleted file mode 100644
index dd41d56fb3..0000000000
--- a/indra/newview/skins/contrast/textures/build/Object_Hemi_Cylinder.png
+++ /dev/null
Binary files differ
diff --git a/indra/newview/skins/contrast/textures/build/Object_Hemi_Sphere.png b/indra/newview/skins/contrast/textures/build/Object_Hemi_Sphere.png
deleted file mode 100644
index 1489630624..0000000000
--- a/indra/newview/skins/contrast/textures/build/Object_Hemi_Sphere.png
+++ /dev/null
Binary files differ
diff --git a/indra/newview/skins/contrast/textures/build/Object_Prism.png b/indra/newview/skins/contrast/textures/build/Object_Prism.png
deleted file mode 100644
index 51c6c161a0..0000000000
--- a/indra/newview/skins/contrast/textures/build/Object_Prism.png
+++ /dev/null
Binary files differ
diff --git a/indra/newview/skins/contrast/textures/build/Object_Pyramid.png b/indra/newview/skins/contrast/textures/build/Object_Pyramid.png
deleted file mode 100644
index a147b59553..0000000000
--- a/indra/newview/skins/contrast/textures/build/Object_Pyramid.png
+++ /dev/null
Binary files differ
diff --git a/indra/newview/skins/contrast/textures/build/Object_Pyramid_Selected.png b/indra/newview/skins/contrast/textures/build/Object_Pyramid_Selected.png
deleted file mode 100644
index ffb878dc72..0000000000
--- a/indra/newview/skins/contrast/textures/build/Object_Pyramid_Selected.png
+++ /dev/null
Binary files differ
diff --git a/indra/newview/skins/contrast/textures/build/Object_Ring.png b/indra/newview/skins/contrast/textures/build/Object_Ring.png
deleted file mode 100644
index a9790fd60c..0000000000
--- a/indra/newview/skins/contrast/textures/build/Object_Ring.png
+++ /dev/null
Binary files differ
diff --git a/indra/newview/skins/contrast/textures/build/Object_Sphere.png b/indra/newview/skins/contrast/textures/build/Object_Sphere.png
deleted file mode 100644
index 8e2dd92a82..0000000000
--- a/indra/newview/skins/contrast/textures/build/Object_Sphere.png
+++ /dev/null
Binary files differ
diff --git a/indra/newview/skins/contrast/textures/build/Object_Sphere_Selected.png b/indra/newview/skins/contrast/textures/build/Object_Sphere_Selected.png
deleted file mode 100644
index ee015e1786..0000000000
--- a/indra/newview/skins/contrast/textures/build/Object_Sphere_Selected.png
+++ /dev/null
Binary files differ
diff --git a/indra/newview/skins/contrast/textures/build/Object_Tetrahedron.png b/indra/newview/skins/contrast/textures/build/Object_Tetrahedron.png
deleted file mode 100644
index 23e22b1796..0000000000
--- a/indra/newview/skins/contrast/textures/build/Object_Tetrahedron.png
+++ /dev/null
Binary files differ
diff --git a/indra/newview/skins/contrast/textures/build/Object_Tetrahedron_Selected.png b/indra/newview/skins/contrast/textures/build/Object_Tetrahedron_Selected.png
deleted file mode 100644
index 1afb115ce5..0000000000
--- a/indra/newview/skins/contrast/textures/build/Object_Tetrahedron_Selected.png
+++ /dev/null
Binary files differ
diff --git a/indra/newview/skins/contrast/textures/build/Object_Torus.png b/indra/newview/skins/contrast/textures/build/Object_Torus.png
deleted file mode 100644
index 15c62423a9..0000000000
--- a/indra/newview/skins/contrast/textures/build/Object_Torus.png
+++ /dev/null
Binary files differ
diff --git a/indra/newview/skins/contrast/textures/build/Object_Tree.png b/indra/newview/skins/contrast/textures/build/Object_Tree.png
deleted file mode 100644
index 82c422419b..0000000000
--- a/indra/newview/skins/contrast/textures/build/Object_Tree.png
+++ /dev/null
Binary files differ
diff --git a/indra/newview/skins/contrast/textures/build/Object_Tree_Selected.png b/indra/newview/skins/contrast/textures/build/Object_Tree_Selected.png
deleted file mode 100644
index f21b0e4043..0000000000
--- a/indra/newview/skins/contrast/textures/build/Object_Tree_Selected.png
+++ /dev/null
Binary files differ
diff --git a/indra/newview/skins/contrast/textures/build/Object_Tube.png b/indra/newview/skins/contrast/textures/build/Object_Tube.png
deleted file mode 100644
index e47fce7511..0000000000
--- a/indra/newview/skins/contrast/textures/build/Object_Tube.png
+++ /dev/null
Binary files differ
diff --git a/indra/newview/skins/contrast/textures/build/Tool_Create.png b/indra/newview/skins/contrast/textures/build/Tool_Create.png
deleted file mode 100644
index 1f1097def5..0000000000
--- a/indra/newview/skins/contrast/textures/build/Tool_Create.png
+++ /dev/null
Binary files differ
diff --git a/indra/newview/skins/contrast/textures/build/Tool_Dozer.png b/indra/newview/skins/contrast/textures/build/Tool_Dozer.png
deleted file mode 100644
index 61744666f4..0000000000
--- a/indra/newview/skins/contrast/textures/build/Tool_Dozer.png
+++ /dev/null
Binary files differ
diff --git a/indra/newview/skins/contrast/textures/build/Tool_Face.png b/indra/newview/skins/contrast/textures/build/Tool_Face.png
deleted file mode 100644
index 5ab42a4ad6..0000000000
--- a/indra/newview/skins/contrast/textures/build/Tool_Face.png
+++ /dev/null
Binary files differ
diff --git a/indra/newview/skins/contrast/textures/build/Tool_Grab.png b/indra/newview/skins/contrast/textures/build/Tool_Grab.png
deleted file mode 100644
index 5c58288d5e..0000000000
--- a/indra/newview/skins/contrast/textures/build/Tool_Grab.png
+++ /dev/null
Binary files differ
diff --git a/indra/newview/skins/contrast/textures/build/Tool_Zoom.png b/indra/newview/skins/contrast/textures/build/Tool_Zoom.png
deleted file mode 100644
index ad493b0d66..0000000000
--- a/indra/newview/skins/contrast/textures/build/Tool_Zoom.png
+++ /dev/null
Binary files differ
diff --git a/indra/newview/skins/contrast/textures/button_anim_pause.tga b/indra/newview/skins/contrast/textures/button_anim_pause.tga
deleted file mode 100644
index 577f9195d0..0000000000
--- a/indra/newview/skins/contrast/textures/button_anim_pause.tga
+++ /dev/null
Binary files differ
diff --git a/indra/newview/skins/contrast/textures/button_anim_pause_selected.tga b/indra/newview/skins/contrast/textures/button_anim_pause_selected.tga
deleted file mode 100644
index 21384316a8..0000000000
--- a/indra/newview/skins/contrast/textures/button_anim_pause_selected.tga
+++ /dev/null
Binary files differ
diff --git a/indra/newview/skins/contrast/textures/button_anim_play.tga b/indra/newview/skins/contrast/textures/button_anim_play.tga
deleted file mode 100644
index 9ed55f829d..0000000000
--- a/indra/newview/skins/contrast/textures/button_anim_play.tga
+++ /dev/null
Binary files differ
diff --git a/indra/newview/skins/contrast/textures/button_anim_play_selected.tga b/indra/newview/skins/contrast/textures/button_anim_play_selected.tga
deleted file mode 100644
index b166a4178d..0000000000
--- a/indra/newview/skins/contrast/textures/button_anim_play_selected.tga
+++ /dev/null
Binary files differ
diff --git a/indra/newview/skins/contrast/textures/checker.png b/indra/newview/skins/contrast/textures/checker.png
deleted file mode 100644
index 1ab87e3f02..0000000000
--- a/indra/newview/skins/contrast/textures/checker.png
+++ /dev/null
Binary files differ
diff --git a/indra/newview/skins/contrast/textures/cloud-particle.png b/indra/newview/skins/contrast/textures/cloud-particle.png
deleted file mode 100644
index f2080ddb9f..0000000000
--- a/indra/newview/skins/contrast/textures/cloud-particle.png
+++ /dev/null
Binary files differ
diff --git a/indra/newview/skins/contrast/textures/color_swatch_alpha.tga b/indra/newview/skins/contrast/textures/color_swatch_alpha.tga
deleted file mode 100644
index 814a004e62..0000000000
--- a/indra/newview/skins/contrast/textures/color_swatch_alpha.tga
+++ /dev/null
Binary files differ
diff --git a/indra/newview/skins/contrast/textures/crosshairs.tga b/indra/newview/skins/contrast/textures/crosshairs.tga
deleted file mode 100644
index ac4d63dc59..0000000000
--- a/indra/newview/skins/contrast/textures/crosshairs.tga
+++ /dev/null
Binary files differ
diff --git a/indra/newview/skins/contrast/textures/default_irradiance.png b/indra/newview/skins/contrast/textures/default_irradiance.png
deleted file mode 100644
index 899e0ddf2a..0000000000
--- a/indra/newview/skins/contrast/textures/default_irradiance.png
+++ /dev/null
Binary files differ
diff --git a/indra/newview/skins/contrast/textures/default_land_picture.png b/indra/newview/skins/contrast/textures/default_land_picture.png
new file mode 100644
index 0000000000..c53a5f6aa0
--- /dev/null
+++ b/indra/newview/skins/contrast/textures/default_land_picture.png
Binary files differ
diff --git a/indra/newview/skins/contrast/textures/default_profile_picture.png b/indra/newview/skins/contrast/textures/default_profile_picture.png
new file mode 100644
index 0000000000..5bade1cb36
--- /dev/null
+++ b/indra/newview/skins/contrast/textures/default_profile_picture.png
Binary files differ
diff --git a/indra/newview/skins/contrast/textures/direction_arrow.tga b/indra/newview/skins/contrast/textures/direction_arrow.tga
deleted file mode 100644
index f3ef1068c4..0000000000
--- a/indra/newview/skins/contrast/textures/direction_arrow.tga
+++ /dev/null
Binary files differ
diff --git a/indra/newview/skins/contrast/textures/down_arrow.png b/indra/newview/skins/contrast/textures/down_arrow.png
deleted file mode 100644
index 21a0fc5ec0..0000000000
--- a/indra/newview/skins/contrast/textures/down_arrow.png
+++ /dev/null
Binary files differ
diff --git a/indra/newview/skins/contrast/textures/eye_button_active.tga b/indra/newview/skins/contrast/textures/eye_button_active.tga
deleted file mode 100644
index 014f785a7b..0000000000
--- a/indra/newview/skins/contrast/textures/eye_button_active.tga
+++ /dev/null
Binary files differ
diff --git a/indra/newview/skins/contrast/textures/eye_button_inactive.tga b/indra/newview/skins/contrast/textures/eye_button_inactive.tga
deleted file mode 100644
index 8666f0bbe6..0000000000
--- a/indra/newview/skins/contrast/textures/eye_button_inactive.tga
+++ /dev/null
Binary files differ
diff --git a/indra/newview/skins/contrast/textures/flatnormal.tga b/indra/newview/skins/contrast/textures/flatnormal.tga
deleted file mode 100644
index 6d5abd1782..0000000000
--- a/indra/newview/skins/contrast/textures/flatnormal.tga
+++ /dev/null
Binary files differ
diff --git a/indra/newview/skins/contrast/textures/folder_arrow.tga b/indra/newview/skins/contrast/textures/folder_arrow.tga
deleted file mode 100644
index 77d470731b..0000000000
--- a/indra/newview/skins/contrast/textures/folder_arrow.tga
+++ /dev/null
Binary files differ
diff --git a/indra/newview/skins/contrast/textures/foot_shadow.j2c b/indra/newview/skins/contrast/textures/foot_shadow.j2c
deleted file mode 100644
index f9ce9da7d1..0000000000
--- a/indra/newview/skins/contrast/textures/foot_shadow.j2c
+++ /dev/null
Binary files differ
diff --git a/indra/newview/skins/contrast/textures/green_checkmark.png b/indra/newview/skins/contrast/textures/green_checkmark.png
deleted file mode 100644
index d2a5b348dc..0000000000
--- a/indra/newview/skins/contrast/textures/green_checkmark.png
+++ /dev/null
Binary files differ
diff --git a/indra/newview/skins/contrast/textures/icn_media_movie.tga b/indra/newview/skins/contrast/textures/icn_media_movie.tga
deleted file mode 100644
index 43dd342c9d..0000000000
--- a/indra/newview/skins/contrast/textures/icn_media_movie.tga
+++ /dev/null
Binary files differ
diff --git a/indra/newview/skins/contrast/textures/icn_media_web.tga b/indra/newview/skins/contrast/textures/icn_media_web.tga
deleted file mode 100644
index 7c9131dfff..0000000000
--- a/indra/newview/skins/contrast/textures/icn_media_web.tga
+++ /dev/null
Binary files differ
diff --git a/indra/newview/skins/contrast/textures/icon_auction.tga b/indra/newview/skins/contrast/textures/icon_auction.tga
deleted file mode 100644
index baf7d0d000..0000000000
--- a/indra/newview/skins/contrast/textures/icon_auction.tga
+++ /dev/null
Binary files differ
diff --git a/indra/newview/skins/contrast/textures/icon_avatar_offline.tga b/indra/newview/skins/contrast/textures/icon_avatar_offline.tga
deleted file mode 100644
index cfa95eb00e..0000000000
--- a/indra/newview/skins/contrast/textures/icon_avatar_offline.tga
+++ /dev/null
Binary files differ
diff --git a/indra/newview/skins/contrast/textures/icon_avatar_online.tga b/indra/newview/skins/contrast/textures/icon_avatar_online.tga
deleted file mode 100644
index 45221213eb..0000000000
--- a/indra/newview/skins/contrast/textures/icon_avatar_online.tga
+++ /dev/null
Binary files differ
diff --git a/indra/newview/skins/contrast/textures/icon_diurnal.tga b/indra/newview/skins/contrast/textures/icon_diurnal.tga
deleted file mode 100644
index fc720c8269..0000000000
--- a/indra/newview/skins/contrast/textures/icon_diurnal.tga
+++ /dev/null
Binary files differ
diff --git a/indra/newview/skins/contrast/textures/icon_for_sale_adult.tga b/indra/newview/skins/contrast/textures/icon_for_sale_adult.tga
deleted file mode 100644
index 6a99188f87..0000000000
--- a/indra/newview/skins/contrast/textures/icon_for_sale_adult.tga
+++ /dev/null
Binary files differ
diff --git a/indra/newview/skins/contrast/textures/icon_group.tga b/indra/newview/skins/contrast/textures/icon_group.tga
deleted file mode 100644
index 79cd71689d..0000000000
--- a/indra/newview/skins/contrast/textures/icon_group.tga
+++ /dev/null
Binary files differ
diff --git a/indra/newview/skins/contrast/textures/icon_legacy_event.tga b/indra/newview/skins/contrast/textures/icon_legacy_event.tga
deleted file mode 100644
index 7805dbce60..0000000000
--- a/indra/newview/skins/contrast/textures/icon_legacy_event.tga
+++ /dev/null
Binary files differ
diff --git a/indra/newview/skins/contrast/textures/icon_legacy_event_adult.tga b/indra/newview/skins/contrast/textures/icon_legacy_event_adult.tga
deleted file mode 100644
index c344fb1e78..0000000000
--- a/indra/newview/skins/contrast/textures/icon_legacy_event_adult.tga
+++ /dev/null
Binary files differ
diff --git a/indra/newview/skins/contrast/textures/icon_legacy_event_mature.tga b/indra/newview/skins/contrast/textures/icon_legacy_event_mature.tga
deleted file mode 100644
index 61c879bc92..0000000000
--- a/indra/newview/skins/contrast/textures/icon_legacy_event_mature.tga
+++ /dev/null
Binary files differ
diff --git a/indra/newview/skins/contrast/textures/icon_place.tga b/indra/newview/skins/contrast/textures/icon_place.tga
deleted file mode 100644
index e10655c6ec..0000000000
--- a/indra/newview/skins/contrast/textures/icon_place.tga
+++ /dev/null
Binary files differ
diff --git a/indra/newview/skins/contrast/textures/icon_top_pick.tga b/indra/newview/skins/contrast/textures/icon_top_pick.tga
deleted file mode 100644
index 0b34882d2f..0000000000
--- a/indra/newview/skins/contrast/textures/icon_top_pick.tga
+++ /dev/null
Binary files differ
diff --git a/indra/newview/skins/contrast/textures/icons/BackArrow_Off.png b/indra/newview/skins/contrast/textures/icons/BackArrow_Off.png
deleted file mode 100644
index 3775690531..0000000000
--- a/indra/newview/skins/contrast/textures/icons/BackArrow_Off.png
+++ /dev/null
Binary files differ
diff --git a/indra/newview/skins/contrast/textures/icons/ClipboardMenu_Disabled.png b/indra/newview/skins/contrast/textures/icons/ClipboardMenu_Disabled.png
deleted file mode 100644
index c219ac4446..0000000000
--- a/indra/newview/skins/contrast/textures/icons/ClipboardMenu_Disabled.png
+++ /dev/null
Binary files differ
diff --git a/indra/newview/skins/contrast/textures/icons/ClipboardMenu_Off.png b/indra/newview/skins/contrast/textures/icons/ClipboardMenu_Off.png
deleted file mode 100644
index 586f577181..0000000000
--- a/indra/newview/skins/contrast/textures/icons/ClipboardMenu_Off.png
+++ /dev/null
Binary files differ
diff --git a/indra/newview/skins/contrast/textures/icons/ClipboardMenu_Press.png b/indra/newview/skins/contrast/textures/icons/ClipboardMenu_Press.png
deleted file mode 100644
index 697bee3bbd..0000000000
--- a/indra/newview/skins/contrast/textures/icons/ClipboardMenu_Press.png
+++ /dev/null
Binary files differ
diff --git a/indra/newview/skins/contrast/textures/icons/ClipboardSmallMenu_Disabled.png b/indra/newview/skins/contrast/textures/icons/ClipboardSmallMenu_Disabled.png
deleted file mode 100644
index 12cc1857d4..0000000000
--- a/indra/newview/skins/contrast/textures/icons/ClipboardSmallMenu_Disabled.png
+++ /dev/null
Binary files differ
diff --git a/indra/newview/skins/contrast/textures/icons/ClipboardSmallMenu_Off.png b/indra/newview/skins/contrast/textures/icons/ClipboardSmallMenu_Off.png
deleted file mode 100644
index 7b40e33e11..0000000000
--- a/indra/newview/skins/contrast/textures/icons/ClipboardSmallMenu_Off.png
+++ /dev/null
Binary files differ
diff --git a/indra/newview/skins/contrast/textures/icons/ClipboardSmallMenu_Press.png b/indra/newview/skins/contrast/textures/icons/ClipboardSmallMenu_Press.png
deleted file mode 100644
index e030c44f01..0000000000
--- a/indra/newview/skins/contrast/textures/icons/ClipboardSmallMenu_Press.png
+++ /dev/null
Binary files differ
diff --git a/indra/newview/skins/contrast/textures/icons/Conv_log_inbox.png b/indra/newview/skins/contrast/textures/icons/Conv_log_inbox.png
deleted file mode 100644
index f4bbdc059d..0000000000
--- a/indra/newview/skins/contrast/textures/icons/Conv_log_inbox.png
+++ /dev/null
Binary files differ
diff --git a/indra/newview/skins/contrast/textures/icons/Conv_toolbar_add_person.png b/indra/newview/skins/contrast/textures/icons/Conv_toolbar_add_person.png
deleted file mode 100644
index acb3904e32..0000000000
--- a/indra/newview/skins/contrast/textures/icons/Conv_toolbar_add_person.png
+++ /dev/null
Binary files differ
diff --git a/indra/newview/skins/contrast/textures/icons/Conv_toolbar_arrow_ne.png b/indra/newview/skins/contrast/textures/icons/Conv_toolbar_arrow_ne.png
deleted file mode 100644
index 70dec7cad1..0000000000
--- a/indra/newview/skins/contrast/textures/icons/Conv_toolbar_arrow_ne.png
+++ /dev/null
Binary files differ
diff --git a/indra/newview/skins/contrast/textures/icons/Conv_toolbar_arrow_sw.png b/indra/newview/skins/contrast/textures/icons/Conv_toolbar_arrow_sw.png
deleted file mode 100644
index 13d424832b..0000000000
--- a/indra/newview/skins/contrast/textures/icons/Conv_toolbar_arrow_sw.png
+++ /dev/null
Binary files differ
diff --git a/indra/newview/skins/contrast/textures/icons/Conv_toolbar_call_log.png b/indra/newview/skins/contrast/textures/icons/Conv_toolbar_call_log.png
deleted file mode 100644
index 1866dd965c..0000000000
--- a/indra/newview/skins/contrast/textures/icons/Conv_toolbar_call_log.png
+++ /dev/null
Binary files differ
diff --git a/indra/newview/skins/contrast/textures/icons/Conv_toolbar_close.png b/indra/newview/skins/contrast/textures/icons/Conv_toolbar_close.png
deleted file mode 100644
index f4f2e2fd37..0000000000
--- a/indra/newview/skins/contrast/textures/icons/Conv_toolbar_close.png
+++ /dev/null
Binary files differ
diff --git a/indra/newview/skins/contrast/textures/icons/Conv_toolbar_collapse.png b/indra/newview/skins/contrast/textures/icons/Conv_toolbar_collapse.png
deleted file mode 100644
index 3c427a3cc5..0000000000
--- a/indra/newview/skins/contrast/textures/icons/Conv_toolbar_collapse.png
+++ /dev/null
Binary files differ
diff --git a/indra/newview/skins/contrast/textures/icons/Conv_toolbar_expand.png b/indra/newview/skins/contrast/textures/icons/Conv_toolbar_expand.png
deleted file mode 100644
index 6e8031b42c..0000000000
--- a/indra/newview/skins/contrast/textures/icons/Conv_toolbar_expand.png
+++ /dev/null
Binary files differ
diff --git a/indra/newview/skins/contrast/textures/icons/Conv_toolbar_hang_up.png b/indra/newview/skins/contrast/textures/icons/Conv_toolbar_hang_up.png
deleted file mode 100644
index 887a3b8335..0000000000
--- a/indra/newview/skins/contrast/textures/icons/Conv_toolbar_hang_up.png
+++ /dev/null
Binary files differ
diff --git a/indra/newview/skins/contrast/textures/icons/Conv_toolbar_open_call.png b/indra/newview/skins/contrast/textures/icons/Conv_toolbar_open_call.png
deleted file mode 100644
index fc0da5a810..0000000000
--- a/indra/newview/skins/contrast/textures/icons/Conv_toolbar_open_call.png
+++ /dev/null
Binary files differ
diff --git a/indra/newview/skins/contrast/textures/icons/Conv_toolbar_plus.png b/indra/newview/skins/contrast/textures/icons/Conv_toolbar_plus.png
deleted file mode 100644
index 6d45dbbff6..0000000000
--- a/indra/newview/skins/contrast/textures/icons/Conv_toolbar_plus.png
+++ /dev/null
Binary files differ
diff --git a/indra/newview/skins/contrast/textures/icons/Conv_toolbar_sort.png b/indra/newview/skins/contrast/textures/icons/Conv_toolbar_sort.png
deleted file mode 100644
index e3e5f49741..0000000000
--- a/indra/newview/skins/contrast/textures/icons/Conv_toolbar_sort.png
+++ /dev/null
Binary files differ
diff --git a/indra/newview/skins/contrast/textures/icons/Copy.png b/indra/newview/skins/contrast/textures/icons/Copy.png
deleted file mode 100644
index 8448e70385..0000000000
--- a/indra/newview/skins/contrast/textures/icons/Copy.png
+++ /dev/null
Binary files differ
diff --git a/indra/newview/skins/contrast/textures/icons/CopyBright.png b/indra/newview/skins/contrast/textures/icons/CopyBright.png
deleted file mode 100644
index ac65d68e0b..0000000000
--- a/indra/newview/skins/contrast/textures/icons/CopyBright.png
+++ /dev/null
Binary files differ
diff --git a/indra/newview/skins/contrast/textures/icons/Default_Outfit_Photo.png b/indra/newview/skins/contrast/textures/icons/Default_Outfit_Photo.png
deleted file mode 100644
index 1113b4effe..0000000000
--- a/indra/newview/skins/contrast/textures/icons/Default_Outfit_Photo.png
+++ /dev/null
Binary files differ
diff --git a/indra/newview/skins/contrast/textures/icons/DownArrow_Off.png b/indra/newview/skins/contrast/textures/icons/DownArrow_Off.png
deleted file mode 100644
index 2e1e2964a0..0000000000
--- a/indra/newview/skins/contrast/textures/icons/DownArrow_Off.png
+++ /dev/null
Binary files differ
diff --git a/indra/newview/skins/contrast/textures/icons/Edit_Wrench.png b/indra/newview/skins/contrast/textures/icons/Edit_Wrench.png
deleted file mode 100644
index 2b9ba9dc10..0000000000
--- a/indra/newview/skins/contrast/textures/icons/Edit_Wrench.png
+++ /dev/null
Binary files differ
diff --git a/indra/newview/skins/contrast/textures/icons/ExternalBrowser_Off.png b/indra/newview/skins/contrast/textures/icons/ExternalBrowser_Off.png
deleted file mode 100644
index dc4532b5a1..0000000000
--- a/indra/newview/skins/contrast/textures/icons/ExternalBrowser_Off.png
+++ /dev/null
Binary files differ
diff --git a/indra/newview/skins/contrast/textures/icons/Facebook.png b/indra/newview/skins/contrast/textures/icons/Facebook.png
deleted file mode 100644
index 9e51e3ac7f..0000000000
--- a/indra/newview/skins/contrast/textures/icons/Facebook.png
+++ /dev/null
Binary files differ
diff --git a/indra/newview/skins/contrast/textures/icons/Female.png b/indra/newview/skins/contrast/textures/icons/Female.png
deleted file mode 100644
index c9fef87b6e..0000000000
--- a/indra/newview/skins/contrast/textures/icons/Female.png
+++ /dev/null
Binary files differ
diff --git a/indra/newview/skins/contrast/textures/icons/ForSale_Badge.png b/indra/newview/skins/contrast/textures/icons/ForSale_Badge.png
deleted file mode 100644
index 3b3a41c7c1..0000000000
--- a/indra/newview/skins/contrast/textures/icons/ForSale_Badge.png
+++ /dev/null
Binary files differ
diff --git a/indra/newview/skins/contrast/textures/icons/ForwardArrow_Off.png b/indra/newview/skins/contrast/textures/icons/ForwardArrow_Off.png
deleted file mode 100644
index c33320cf6e..0000000000
--- a/indra/newview/skins/contrast/textures/icons/ForwardArrow_Off.png
+++ /dev/null
Binary files differ
diff --git a/indra/newview/skins/contrast/textures/icons/ForwardArrow_Press.png b/indra/newview/skins/contrast/textures/icons/ForwardArrow_Press.png
deleted file mode 100644
index 86eb39c43a..0000000000
--- a/indra/newview/skins/contrast/textures/icons/ForwardArrow_Press.png
+++ /dev/null
Binary files differ
diff --git a/indra/newview/skins/contrast/textures/icons/Generic_Group.png b/indra/newview/skins/contrast/textures/icons/Generic_Group.png
deleted file mode 100644
index e96b7fc992..0000000000
--- a/indra/newview/skins/contrast/textures/icons/Generic_Group.png
+++ /dev/null
Binary files differ
diff --git a/indra/newview/skins/contrast/textures/icons/Generic_Group_Large.png b/indra/newview/skins/contrast/textures/icons/Generic_Group_Large.png
deleted file mode 100644
index 9396819bfb..0000000000
--- a/indra/newview/skins/contrast/textures/icons/Generic_Group_Large.png
+++ /dev/null
Binary files differ
diff --git a/indra/newview/skins/contrast/textures/icons/Generic_Object_Small.png b/indra/newview/skins/contrast/textures/icons/Generic_Object_Small.png
deleted file mode 100644
index 142390e3f3..0000000000
--- a/indra/newview/skins/contrast/textures/icons/Generic_Object_Small.png
+++ /dev/null
Binary files differ
diff --git a/indra/newview/skins/contrast/textures/icons/Generic_Person.png b/indra/newview/skins/contrast/textures/icons/Generic_Person.png
deleted file mode 100644
index 162735d979..0000000000
--- a/indra/newview/skins/contrast/textures/icons/Generic_Person.png
+++ /dev/null
Binary files differ
diff --git a/indra/newview/skins/contrast/textures/icons/Generic_Person_Large.png b/indra/newview/skins/contrast/textures/icons/Generic_Person_Large.png
deleted file mode 100644
index 5be82418c1..0000000000
--- a/indra/newview/skins/contrast/textures/icons/Generic_Person_Large.png
+++ /dev/null
Binary files differ
diff --git a/indra/newview/skins/contrast/textures/icons/Group_Notices.png b/indra/newview/skins/contrast/textures/icons/Group_Notices.png
deleted file mode 100644
index 601502d374..0000000000
--- a/indra/newview/skins/contrast/textures/icons/Group_Notices.png
+++ /dev/null
Binary files differ
diff --git a/indra/newview/skins/contrast/textures/icons/Hierarchy_View_Disabled.png b/indra/newview/skins/contrast/textures/icons/Hierarchy_View_Disabled.png
deleted file mode 100644
index 6d8ea5fd93..0000000000
--- a/indra/newview/skins/contrast/textures/icons/Hierarchy_View_Disabled.png
+++ /dev/null
Binary files differ
diff --git a/indra/newview/skins/contrast/textures/icons/Hierarchy_View_On.png b/indra/newview/skins/contrast/textures/icons/Hierarchy_View_On.png
deleted file mode 100644
index 24f5210286..0000000000
--- a/indra/newview/skins/contrast/textures/icons/Hierarchy_View_On.png
+++ /dev/null
Binary files differ
diff --git a/indra/newview/skins/contrast/textures/icons/Icon_Attachment_Large.png b/indra/newview/skins/contrast/textures/icons/Icon_Attachment_Large.png
deleted file mode 100644
index fb57265dac..0000000000
--- a/indra/newview/skins/contrast/textures/icons/Icon_Attachment_Large.png
+++ /dev/null
Binary files differ
diff --git a/indra/newview/skins/contrast/textures/icons/Icon_Attachment_Small.png b/indra/newview/skins/contrast/textures/icons/Icon_Attachment_Small.png
deleted file mode 100644
index 907113cbb7..0000000000
--- a/indra/newview/skins/contrast/textures/icons/Icon_Attachment_Small.png
+++ /dev/null
Binary files differ
diff --git a/indra/newview/skins/contrast/textures/icons/Icon_Color_Palette.png b/indra/newview/skins/contrast/textures/icons/Icon_Color_Palette.png
deleted file mode 100644
index 28906001ea..0000000000
--- a/indra/newview/skins/contrast/textures/icons/Icon_Color_Palette.png
+++ /dev/null
Binary files differ
diff --git a/indra/newview/skins/contrast/textures/icons/Icon_Font_Size.png b/indra/newview/skins/contrast/textures/icons/Icon_Font_Size.png
deleted file mode 100644
index 37bdde69aa..0000000000
--- a/indra/newview/skins/contrast/textures/icons/Icon_Font_Size.png
+++ /dev/null
Binary files differ
diff --git a/indra/newview/skins/contrast/textures/icons/Icon_For_Sale.png b/indra/newview/skins/contrast/textures/icons/Icon_For_Sale.png
deleted file mode 100644
index 57a376f1bf..0000000000
--- a/indra/newview/skins/contrast/textures/icons/Icon_For_Sale.png
+++ /dev/null
Binary files differ
diff --git a/indra/newview/skins/contrast/textures/icons/Inv_Alpha.png b/indra/newview/skins/contrast/textures/icons/Inv_Alpha.png
deleted file mode 100644
index fdad36e2d3..0000000000
--- a/indra/newview/skins/contrast/textures/icons/Inv_Alpha.png
+++ /dev/null
Binary files differ
diff --git a/indra/newview/skins/contrast/textures/icons/Inv_Animation.png b/indra/newview/skins/contrast/textures/icons/Inv_Animation.png
deleted file mode 100644
index 6715c736e7..0000000000
--- a/indra/newview/skins/contrast/textures/icons/Inv_Animation.png
+++ /dev/null
Binary files differ
diff --git a/indra/newview/skins/contrast/textures/icons/Inv_BodyShape.png b/indra/newview/skins/contrast/textures/icons/Inv_BodyShape.png
deleted file mode 100644
index cb908a39fb..0000000000
--- a/indra/newview/skins/contrast/textures/icons/Inv_BodyShape.png
+++ /dev/null
Binary files differ
diff --git a/indra/newview/skins/contrast/textures/icons/Inv_CallingCard.png b/indra/newview/skins/contrast/textures/icons/Inv_CallingCard.png
deleted file mode 100644
index ee87f8e595..0000000000
--- a/indra/newview/skins/contrast/textures/icons/Inv_CallingCard.png
+++ /dev/null
Binary files differ
diff --git a/indra/newview/skins/contrast/textures/icons/Inv_Clothing.png b/indra/newview/skins/contrast/textures/icons/Inv_Clothing.png
deleted file mode 100644
index 430dca6b5e..0000000000
--- a/indra/newview/skins/contrast/textures/icons/Inv_Clothing.png
+++ /dev/null
Binary files differ
diff --git a/indra/newview/skins/contrast/textures/icons/Inv_Eye.png b/indra/newview/skins/contrast/textures/icons/Inv_Eye.png
deleted file mode 100644
index d715f135d3..0000000000
--- a/indra/newview/skins/contrast/textures/icons/Inv_Eye.png
+++ /dev/null
Binary files differ
diff --git a/indra/newview/skins/contrast/textures/icons/Inv_FolderClosed.png b/indra/newview/skins/contrast/textures/icons/Inv_FolderClosed.png
deleted file mode 100644
index ec99eaee9e..0000000000
--- a/indra/newview/skins/contrast/textures/icons/Inv_FolderClosed.png
+++ /dev/null
Binary files differ
diff --git a/indra/newview/skins/contrast/textures/icons/Inv_FolderOpen.png b/indra/newview/skins/contrast/textures/icons/Inv_FolderOpen.png
deleted file mode 100644
index 615a6ec11b..0000000000
--- a/indra/newview/skins/contrast/textures/icons/Inv_FolderOpen.png
+++ /dev/null
Binary files differ
diff --git a/indra/newview/skins/contrast/textures/icons/Inv_Gesture.png b/indra/newview/skins/contrast/textures/icons/Inv_Gesture.png
deleted file mode 100644
index 9fee34915e..0000000000
--- a/indra/newview/skins/contrast/textures/icons/Inv_Gesture.png
+++ /dev/null
Binary files differ
diff --git a/indra/newview/skins/contrast/textures/icons/Inv_Gloves.png b/indra/newview/skins/contrast/textures/icons/Inv_Gloves.png
deleted file mode 100644
index aa151d5404..0000000000
--- a/indra/newview/skins/contrast/textures/icons/Inv_Gloves.png
+++ /dev/null
Binary files differ
diff --git a/indra/newview/skins/contrast/textures/icons/Inv_Hair.png b/indra/newview/skins/contrast/textures/icons/Inv_Hair.png
deleted file mode 100644
index 62b3ae81c2..0000000000
--- a/indra/newview/skins/contrast/textures/icons/Inv_Hair.png
+++ /dev/null
Binary files differ
diff --git a/indra/newview/skins/contrast/textures/icons/Inv_Invalid.png b/indra/newview/skins/contrast/textures/icons/Inv_Invalid.png
deleted file mode 100644
index 6ab5ba5217..0000000000
--- a/indra/newview/skins/contrast/textures/icons/Inv_Invalid.png
+++ /dev/null
Binary files differ
diff --git a/indra/newview/skins/contrast/textures/icons/Inv_Jacket.png b/indra/newview/skins/contrast/textures/icons/Inv_Jacket.png
deleted file mode 100644
index 26514f1c0f..0000000000
--- a/indra/newview/skins/contrast/textures/icons/Inv_Jacket.png
+++ /dev/null
Binary files differ
diff --git a/indra/newview/skins/contrast/textures/icons/Inv_Landmark.png b/indra/newview/skins/contrast/textures/icons/Inv_Landmark.png
deleted file mode 100644
index 338323fcee..0000000000
--- a/indra/newview/skins/contrast/textures/icons/Inv_Landmark.png
+++ /dev/null
Binary files differ
diff --git a/indra/newview/skins/contrast/textures/icons/Inv_Link.png b/indra/newview/skins/contrast/textures/icons/Inv_Link.png
deleted file mode 100644
index 28c5f3635a..0000000000
--- a/indra/newview/skins/contrast/textures/icons/Inv_Link.png
+++ /dev/null
Binary files differ
diff --git a/indra/newview/skins/contrast/textures/icons/Inv_LinkFolder.png b/indra/newview/skins/contrast/textures/icons/Inv_LinkFolder.png
deleted file mode 100644
index 7c43ed3a43..0000000000
--- a/indra/newview/skins/contrast/textures/icons/Inv_LinkFolder.png
+++ /dev/null
Binary files differ
diff --git a/indra/newview/skins/contrast/textures/icons/Inv_LinkItem.png b/indra/newview/skins/contrast/textures/icons/Inv_LinkItem.png
deleted file mode 100644
index 7c43ed3a43..0000000000
--- a/indra/newview/skins/contrast/textures/icons/Inv_LinkItem.png
+++ /dev/null
Binary files differ
diff --git a/indra/newview/skins/contrast/textures/icons/Inv_LookFolderClosed.png b/indra/newview/skins/contrast/textures/icons/Inv_LookFolderClosed.png
deleted file mode 100644
index 46f2038279..0000000000
--- a/indra/newview/skins/contrast/textures/icons/Inv_LookFolderClosed.png
+++ /dev/null
Binary files differ
diff --git a/indra/newview/skins/contrast/textures/icons/Inv_LookFolderOpen.png b/indra/newview/skins/contrast/textures/icons/Inv_LookFolderOpen.png
deleted file mode 100644
index 06a1b05983..0000000000
--- a/indra/newview/skins/contrast/textures/icons/Inv_LookFolderOpen.png
+++ /dev/null
Binary files differ
diff --git a/indra/newview/skins/contrast/textures/icons/Inv_LostClosed.png b/indra/newview/skins/contrast/textures/icons/Inv_LostClosed.png
deleted file mode 100644
index fc9a2a2156..0000000000
--- a/indra/newview/skins/contrast/textures/icons/Inv_LostClosed.png
+++ /dev/null
Binary files differ
diff --git a/indra/newview/skins/contrast/textures/icons/Inv_LostOpen.png b/indra/newview/skins/contrast/textures/icons/Inv_LostOpen.png
deleted file mode 100644
index b15dc3cfa3..0000000000
--- a/indra/newview/skins/contrast/textures/icons/Inv_LostOpen.png
+++ /dev/null
Binary files differ
diff --git a/indra/newview/skins/contrast/textures/icons/Inv_Material.png b/indra/newview/skins/contrast/textures/icons/Inv_Material.png
deleted file mode 100644
index 5cbb4fc5c9..0000000000
--- a/indra/newview/skins/contrast/textures/icons/Inv_Material.png
+++ /dev/null
Binary files differ
diff --git a/indra/newview/skins/contrast/textures/icons/Inv_Mesh.png b/indra/newview/skins/contrast/textures/icons/Inv_Mesh.png
deleted file mode 100644
index 69217d1cdc..0000000000
--- a/indra/newview/skins/contrast/textures/icons/Inv_Mesh.png
+++ /dev/null
Binary files differ
diff --git a/indra/newview/skins/contrast/textures/icons/Inv_Notecard.png b/indra/newview/skins/contrast/textures/icons/Inv_Notecard.png
deleted file mode 100644
index 96f45bc55e..0000000000
--- a/indra/newview/skins/contrast/textures/icons/Inv_Notecard.png
+++ /dev/null
Binary files differ
diff --git a/indra/newview/skins/contrast/textures/icons/Inv_Object.png b/indra/newview/skins/contrast/textures/icons/Inv_Object.png
deleted file mode 100644
index fe6b201570..0000000000
--- a/indra/newview/skins/contrast/textures/icons/Inv_Object.png
+++ /dev/null
Binary files differ
diff --git a/indra/newview/skins/contrast/textures/icons/Inv_Object_Multi.png b/indra/newview/skins/contrast/textures/icons/Inv_Object_Multi.png
deleted file mode 100644
index 3793594059..0000000000
--- a/indra/newview/skins/contrast/textures/icons/Inv_Object_Multi.png
+++ /dev/null
Binary files differ
diff --git a/indra/newview/skins/contrast/textures/icons/Inv_Pants.png b/indra/newview/skins/contrast/textures/icons/Inv_Pants.png
deleted file mode 100644
index 5673bc29ed..0000000000
--- a/indra/newview/skins/contrast/textures/icons/Inv_Pants.png
+++ /dev/null
Binary files differ
diff --git a/indra/newview/skins/contrast/textures/icons/Inv_Physics.png b/indra/newview/skins/contrast/textures/icons/Inv_Physics.png
deleted file mode 100644
index 43bd082d8a..0000000000
--- a/indra/newview/skins/contrast/textures/icons/Inv_Physics.png
+++ /dev/null
Binary files differ
diff --git a/indra/newview/skins/contrast/textures/icons/Inv_Script.png b/indra/newview/skins/contrast/textures/icons/Inv_Script.png
deleted file mode 100644
index 68d2ac425f..0000000000
--- a/indra/newview/skins/contrast/textures/icons/Inv_Script.png
+++ /dev/null
Binary files differ
diff --git a/indra/newview/skins/contrast/textures/icons/Inv_Settings.png b/indra/newview/skins/contrast/textures/icons/Inv_Settings.png
deleted file mode 100644
index ca6cf10314..0000000000
--- a/indra/newview/skins/contrast/textures/icons/Inv_Settings.png
+++ /dev/null
Binary files differ
diff --git a/indra/newview/skins/contrast/textures/icons/Inv_SettingsDay.png b/indra/newview/skins/contrast/textures/icons/Inv_SettingsDay.png
deleted file mode 100644
index d0c4b2cdcd..0000000000
--- a/indra/newview/skins/contrast/textures/icons/Inv_SettingsDay.png
+++ /dev/null
Binary files differ
diff --git a/indra/newview/skins/contrast/textures/icons/Inv_SettingsSky.png b/indra/newview/skins/contrast/textures/icons/Inv_SettingsSky.png
deleted file mode 100644
index 5332404d37..0000000000
--- a/indra/newview/skins/contrast/textures/icons/Inv_SettingsSky.png
+++ /dev/null
Binary files differ
diff --git a/indra/newview/skins/contrast/textures/icons/Inv_SettingsWater.png b/indra/newview/skins/contrast/textures/icons/Inv_SettingsWater.png
deleted file mode 100644
index 88ff803756..0000000000
--- a/indra/newview/skins/contrast/textures/icons/Inv_SettingsWater.png
+++ /dev/null
Binary files differ
diff --git a/indra/newview/skins/contrast/textures/icons/Inv_Shape.png b/indra/newview/skins/contrast/textures/icons/Inv_Shape.png
deleted file mode 100644
index e5db447b36..0000000000
--- a/indra/newview/skins/contrast/textures/icons/Inv_Shape.png
+++ /dev/null
Binary files differ
diff --git a/indra/newview/skins/contrast/textures/icons/Inv_Shirt.png b/indra/newview/skins/contrast/textures/icons/Inv_Shirt.png
deleted file mode 100644
index ffabff9c6c..0000000000
--- a/indra/newview/skins/contrast/textures/icons/Inv_Shirt.png
+++ /dev/null
Binary files differ
diff --git a/indra/newview/skins/contrast/textures/icons/Inv_Shoe.png b/indra/newview/skins/contrast/textures/icons/Inv_Shoe.png
deleted file mode 100644
index 784d1d23a3..0000000000
--- a/indra/newview/skins/contrast/textures/icons/Inv_Shoe.png
+++ /dev/null
Binary files differ
diff --git a/indra/newview/skins/contrast/textures/icons/Inv_Skin.png b/indra/newview/skins/contrast/textures/icons/Inv_Skin.png
deleted file mode 100644
index a232c5ac67..0000000000
--- a/indra/newview/skins/contrast/textures/icons/Inv_Skin.png
+++ /dev/null
Binary files differ
diff --git a/indra/newview/skins/contrast/textures/icons/Inv_Skirt.png b/indra/newview/skins/contrast/textures/icons/Inv_Skirt.png
deleted file mode 100644
index 5970f39b1b..0000000000
--- a/indra/newview/skins/contrast/textures/icons/Inv_Skirt.png
+++ /dev/null
Binary files differ
diff --git a/indra/newview/skins/contrast/textures/icons/Inv_Snapshot.png b/indra/newview/skins/contrast/textures/icons/Inv_Snapshot.png
deleted file mode 100644
index 9eaca9e7ef..0000000000
--- a/indra/newview/skins/contrast/textures/icons/Inv_Snapshot.png
+++ /dev/null
Binary files differ
diff --git a/indra/newview/skins/contrast/textures/icons/Inv_Socks.png b/indra/newview/skins/contrast/textures/icons/Inv_Socks.png
deleted file mode 100644
index 95a3a68de6..0000000000
--- a/indra/newview/skins/contrast/textures/icons/Inv_Socks.png
+++ /dev/null
Binary files differ
diff --git a/indra/newview/skins/contrast/textures/icons/Inv_Sound.png b/indra/newview/skins/contrast/textures/icons/Inv_Sound.png
deleted file mode 100644
index 138d4c5c36..0000000000
--- a/indra/newview/skins/contrast/textures/icons/Inv_Sound.png
+++ /dev/null
Binary files differ
diff --git a/indra/newview/skins/contrast/textures/icons/Inv_StockFolderClosed.png b/indra/newview/skins/contrast/textures/icons/Inv_StockFolderClosed.png
deleted file mode 100644
index c3aae7c736..0000000000
--- a/indra/newview/skins/contrast/textures/icons/Inv_StockFolderClosed.png
+++ /dev/null
Binary files differ
diff --git a/indra/newview/skins/contrast/textures/icons/Inv_StockFolderOpen.png b/indra/newview/skins/contrast/textures/icons/Inv_StockFolderOpen.png
deleted file mode 100644
index 15fd8225fc..0000000000
--- a/indra/newview/skins/contrast/textures/icons/Inv_StockFolderOpen.png
+++ /dev/null
Binary files differ
diff --git a/indra/newview/skins/contrast/textures/icons/Inv_Tattoo.png b/indra/newview/skins/contrast/textures/icons/Inv_Tattoo.png
deleted file mode 100644
index af5a780685..0000000000
--- a/indra/newview/skins/contrast/textures/icons/Inv_Tattoo.png
+++ /dev/null
Binary files differ
diff --git a/indra/newview/skins/contrast/textures/icons/Inv_Texture.png b/indra/newview/skins/contrast/textures/icons/Inv_Texture.png
deleted file mode 100644
index 168a97515a..0000000000
--- a/indra/newview/skins/contrast/textures/icons/Inv_Texture.png
+++ /dev/null
Binary files differ
diff --git a/indra/newview/skins/contrast/textures/icons/Inv_Toolbar_SearchVisibility.png b/indra/newview/skins/contrast/textures/icons/Inv_Toolbar_SearchVisibility.png
deleted file mode 100644
index c4b186c3de..0000000000
--- a/indra/newview/skins/contrast/textures/icons/Inv_Toolbar_SearchVisibility.png
+++ /dev/null
Binary files differ
diff --git a/indra/newview/skins/contrast/textures/icons/Inv_TrashClosed.png b/indra/newview/skins/contrast/textures/icons/Inv_TrashClosed.png
deleted file mode 100644
index 89f0caa5a2..0000000000
--- a/indra/newview/skins/contrast/textures/icons/Inv_TrashClosed.png
+++ /dev/null
Binary files differ
diff --git a/indra/newview/skins/contrast/textures/icons/Inv_TrashOpen.png b/indra/newview/skins/contrast/textures/icons/Inv_TrashOpen.png
deleted file mode 100644
index d1f1eeaf42..0000000000
--- a/indra/newview/skins/contrast/textures/icons/Inv_TrashOpen.png
+++ /dev/null
Binary files differ
diff --git a/indra/newview/skins/contrast/textures/icons/Inv_Underpants.png b/indra/newview/skins/contrast/textures/icons/Inv_Underpants.png
deleted file mode 100644
index 77f8e55270..0000000000
--- a/indra/newview/skins/contrast/textures/icons/Inv_Underpants.png
+++ /dev/null
Binary files differ
diff --git a/indra/newview/skins/contrast/textures/icons/Inv_Undershirt.png b/indra/newview/skins/contrast/textures/icons/Inv_Undershirt.png
deleted file mode 100644
index 477d76cf11..0000000000
--- a/indra/newview/skins/contrast/textures/icons/Inv_Undershirt.png
+++ /dev/null
Binary files differ
diff --git a/indra/newview/skins/contrast/textures/icons/Inv_Universal.png b/indra/newview/skins/contrast/textures/icons/Inv_Universal.png
deleted file mode 100644
index 65b2f88f02..0000000000
--- a/indra/newview/skins/contrast/textures/icons/Inv_Universal.png
+++ /dev/null
Binary files differ
diff --git a/indra/newview/skins/contrast/textures/icons/Inv_UnknownObject.png b/indra/newview/skins/contrast/textures/icons/Inv_UnknownObject.png
deleted file mode 100644
index 603a6d7aaa..0000000000
--- a/indra/newview/skins/contrast/textures/icons/Inv_UnknownObject.png
+++ /dev/null
Binary files differ
diff --git a/indra/newview/skins/contrast/textures/icons/Inv_VersionFolderClosed.png b/indra/newview/skins/contrast/textures/icons/Inv_VersionFolderClosed.png
deleted file mode 100644
index cd561d24ba..0000000000
--- a/indra/newview/skins/contrast/textures/icons/Inv_VersionFolderClosed.png
+++ /dev/null
Binary files differ
diff --git a/indra/newview/skins/contrast/textures/icons/Inv_VersionFolderOpen.png b/indra/newview/skins/contrast/textures/icons/Inv_VersionFolderOpen.png
deleted file mode 100644
index 6dc9d451cc..0000000000
--- a/indra/newview/skins/contrast/textures/icons/Inv_VersionFolderOpen.png
+++ /dev/null
Binary files differ
diff --git a/indra/newview/skins/contrast/textures/icons/List_View_Disabled.png b/indra/newview/skins/contrast/textures/icons/List_View_Disabled.png
deleted file mode 100644
index 125034b0cb..0000000000
--- a/indra/newview/skins/contrast/textures/icons/List_View_Disabled.png
+++ /dev/null
Binary files differ
diff --git a/indra/newview/skins/contrast/textures/icons/List_View_On.png b/indra/newview/skins/contrast/textures/icons/List_View_On.png
deleted file mode 100644
index fcf77f004f..0000000000
--- a/indra/newview/skins/contrast/textures/icons/List_View_On.png
+++ /dev/null
Binary files differ
diff --git a/indra/newview/skins/contrast/textures/icons/Lock.png b/indra/newview/skins/contrast/textures/icons/Lock.png
deleted file mode 100644
index 2db6ed0213..0000000000
--- a/indra/newview/skins/contrast/textures/icons/Lock.png
+++ /dev/null
Binary files differ
diff --git a/indra/newview/skins/contrast/textures/icons/Locked_Icon.png b/indra/newview/skins/contrast/textures/icons/Locked_Icon.png
deleted file mode 100644
index 4985af1be1..0000000000
--- a/indra/newview/skins/contrast/textures/icons/Locked_Icon.png
+++ /dev/null
Binary files differ
diff --git a/indra/newview/skins/contrast/textures/icons/Male.png b/indra/newview/skins/contrast/textures/icons/Male.png
deleted file mode 100644
index 803171f5c6..0000000000
--- a/indra/newview/skins/contrast/textures/icons/Male.png
+++ /dev/null
Binary files differ
diff --git a/indra/newview/skins/contrast/textures/icons/Microphone_On.png b/indra/newview/skins/contrast/textures/icons/Microphone_On.png
deleted file mode 100644
index 7a7d39d982..0000000000
--- a/indra/newview/skins/contrast/textures/icons/Microphone_On.png
+++ /dev/null
Binary files differ
diff --git a/indra/newview/skins/contrast/textures/icons/MusicNote.png b/indra/newview/skins/contrast/textures/icons/MusicNote.png
deleted file mode 100644
index 8d3534a94b..0000000000
--- a/indra/newview/skins/contrast/textures/icons/MusicNote.png
+++ /dev/null
Binary files differ
diff --git a/indra/newview/skins/contrast/textures/icons/OptionsMenu_Disabled.png b/indra/newview/skins/contrast/textures/icons/OptionsMenu_Disabled.png
deleted file mode 100644
index 5755315e23..0000000000
--- a/indra/newview/skins/contrast/textures/icons/OptionsMenu_Disabled.png
+++ /dev/null
Binary files differ
diff --git a/indra/newview/skins/contrast/textures/icons/OptionsMenu_Off.png b/indra/newview/skins/contrast/textures/icons/OptionsMenu_Off.png
deleted file mode 100644
index 2e9a5faa21..0000000000
--- a/indra/newview/skins/contrast/textures/icons/OptionsMenu_Off.png
+++ /dev/null
Binary files differ
diff --git a/indra/newview/skins/contrast/textures/icons/OptionsMenu_Press.png b/indra/newview/skins/contrast/textures/icons/OptionsMenu_Press.png
deleted file mode 100644
index 1b08648b51..0000000000
--- a/indra/newview/skins/contrast/textures/icons/OptionsMenu_Press.png
+++ /dev/null
Binary files differ
diff --git a/indra/newview/skins/contrast/textures/icons/OutboxPush_Disabled.png b/indra/newview/skins/contrast/textures/icons/OutboxPush_Disabled.png
deleted file mode 100644
index 1d2dbd6349..0000000000
--- a/indra/newview/skins/contrast/textures/icons/OutboxPush_Disabled.png
+++ /dev/null
Binary files differ
diff --git a/indra/newview/skins/contrast/textures/icons/OutboxPush_Off.png b/indra/newview/skins/contrast/textures/icons/OutboxPush_Off.png
deleted file mode 100644
index f8f3367c42..0000000000
--- a/indra/newview/skins/contrast/textures/icons/OutboxPush_Off.png
+++ /dev/null
Binary files differ
diff --git a/indra/newview/skins/contrast/textures/icons/OutboxPush_On.png b/indra/newview/skins/contrast/textures/icons/OutboxPush_On.png
deleted file mode 100644
index b1fd734100..0000000000
--- a/indra/newview/skins/contrast/textures/icons/OutboxPush_On.png
+++ /dev/null
Binary files differ
diff --git a/indra/newview/skins/contrast/textures/icons/OutboxPush_On_Over.png b/indra/newview/skins/contrast/textures/icons/OutboxPush_On_Over.png
deleted file mode 100644
index e234400b72..0000000000
--- a/indra/newview/skins/contrast/textures/icons/OutboxPush_On_Over.png
+++ /dev/null
Binary files differ
diff --git a/indra/newview/skins/contrast/textures/icons/OutboxPush_Over.png b/indra/newview/skins/contrast/textures/icons/OutboxPush_Over.png
deleted file mode 100644
index 9e1b0e2dfc..0000000000
--- a/indra/newview/skins/contrast/textures/icons/OutboxPush_Over.png
+++ /dev/null
Binary files differ
diff --git a/indra/newview/skins/contrast/textures/icons/OutboxPush_Press.png b/indra/newview/skins/contrast/textures/icons/OutboxPush_Press.png
deleted file mode 100644
index 14d9eacc52..0000000000
--- a/indra/newview/skins/contrast/textures/icons/OutboxPush_Press.png
+++ /dev/null
Binary files differ
diff --git a/indra/newview/skins/contrast/textures/icons/OutboxPush_Progress_3.png b/indra/newview/skins/contrast/textures/icons/OutboxPush_Progress_3.png
deleted file mode 100644
index 7105380bff..0000000000
--- a/indra/newview/skins/contrast/textures/icons/OutboxPush_Progress_3.png
+++ /dev/null
Binary files differ
diff --git a/indra/newview/skins/contrast/textures/icons/OutboxPush_Progress_4.png b/indra/newview/skins/contrast/textures/icons/OutboxPush_Progress_4.png
deleted file mode 100644
index 0e65a60fc8..0000000000
--- a/indra/newview/skins/contrast/textures/icons/OutboxPush_Progress_4.png
+++ /dev/null
Binary files differ
diff --git a/indra/newview/skins/contrast/textures/icons/OutboxPush_Progress_5.png b/indra/newview/skins/contrast/textures/icons/OutboxPush_Progress_5.png
deleted file mode 100644
index 7acef05891..0000000000
--- a/indra/newview/skins/contrast/textures/icons/OutboxPush_Progress_5.png
+++ /dev/null
Binary files differ
diff --git a/indra/newview/skins/contrast/textures/icons/OutboxPush_Selected.png b/indra/newview/skins/contrast/textures/icons/OutboxPush_Selected.png
deleted file mode 100644
index d58826da67..0000000000
--- a/indra/newview/skins/contrast/textures/icons/OutboxPush_Selected.png
+++ /dev/null
Binary files differ
diff --git a/indra/newview/skins/contrast/textures/icons/OutboxPush_Selected_Disabled.png b/indra/newview/skins/contrast/textures/icons/OutboxPush_Selected_Disabled.png
deleted file mode 100644
index cad9f118b1..0000000000
--- a/indra/newview/skins/contrast/textures/icons/OutboxPush_Selected_Disabled.png
+++ /dev/null
Binary files differ
diff --git a/indra/newview/skins/contrast/textures/icons/OutboxPush_Selected_Press.png b/indra/newview/skins/contrast/textures/icons/OutboxPush_Selected_Press.png
deleted file mode 100644
index cd50d41903..0000000000
--- a/indra/newview/skins/contrast/textures/icons/OutboxPush_Selected_Press.png
+++ /dev/null
Binary files differ
diff --git a/indra/newview/skins/contrast/textures/icons/Parcel_BuildNo_Dark.png b/indra/newview/skins/contrast/textures/icons/Parcel_BuildNo_Dark.png
deleted file mode 100644
index dd12d94ad2..0000000000
--- a/indra/newview/skins/contrast/textures/icons/Parcel_BuildNo_Dark.png
+++ /dev/null
Binary files differ
diff --git a/indra/newview/skins/contrast/textures/icons/Parcel_BuildNo_Light.png b/indra/newview/skins/contrast/textures/icons/Parcel_BuildNo_Light.png
deleted file mode 100644
index 4739c501ad..0000000000
--- a/indra/newview/skins/contrast/textures/icons/Parcel_BuildNo_Light.png
+++ /dev/null
Binary files differ
diff --git a/indra/newview/skins/contrast/textures/icons/Parcel_Build_Dark.png b/indra/newview/skins/contrast/textures/icons/Parcel_Build_Dark.png
deleted file mode 100644
index 9826491efd..0000000000
--- a/indra/newview/skins/contrast/textures/icons/Parcel_Build_Dark.png
+++ /dev/null
Binary files differ
diff --git a/indra/newview/skins/contrast/textures/icons/Parcel_DamageNo_Dark.png b/indra/newview/skins/contrast/textures/icons/Parcel_DamageNo_Dark.png
deleted file mode 100644
index 7634e5fab0..0000000000
--- a/indra/newview/skins/contrast/textures/icons/Parcel_DamageNo_Dark.png
+++ /dev/null
Binary files differ
diff --git a/indra/newview/skins/contrast/textures/icons/Parcel_Damage_Dark.png b/indra/newview/skins/contrast/textures/icons/Parcel_Damage_Dark.png
deleted file mode 100644
index 7ecd645df2..0000000000
--- a/indra/newview/skins/contrast/textures/icons/Parcel_Damage_Dark.png
+++ /dev/null
Binary files differ
diff --git a/indra/newview/skins/contrast/textures/icons/Parcel_Exp_Color.png b/indra/newview/skins/contrast/textures/icons/Parcel_Exp_Color.png
deleted file mode 100644
index a1b0faa008..0000000000
--- a/indra/newview/skins/contrast/textures/icons/Parcel_Exp_Color.png
+++ /dev/null
Binary files differ
diff --git a/indra/newview/skins/contrast/textures/icons/Parcel_FlyNo_Dark.png b/indra/newview/skins/contrast/textures/icons/Parcel_FlyNo_Dark.png
deleted file mode 100644
index 831c25a34b..0000000000
--- a/indra/newview/skins/contrast/textures/icons/Parcel_FlyNo_Dark.png
+++ /dev/null
Binary files differ
diff --git a/indra/newview/skins/contrast/textures/icons/Parcel_FlyNo_Light.png b/indra/newview/skins/contrast/textures/icons/Parcel_FlyNo_Light.png
deleted file mode 100644
index be829fb5ef..0000000000
--- a/indra/newview/skins/contrast/textures/icons/Parcel_FlyNo_Light.png
+++ /dev/null
Binary files differ
diff --git a/indra/newview/skins/contrast/textures/icons/Parcel_Fly_Dark.png b/indra/newview/skins/contrast/textures/icons/Parcel_Fly_Dark.png
deleted file mode 100644
index 579bfe58f8..0000000000
--- a/indra/newview/skins/contrast/textures/icons/Parcel_Fly_Dark.png
+++ /dev/null
Binary files differ
diff --git a/indra/newview/skins/contrast/textures/icons/Parcel_ForSale_Light.png b/indra/newview/skins/contrast/textures/icons/Parcel_ForSale_Light.png
deleted file mode 100644
index 3f4ee0b482..0000000000
--- a/indra/newview/skins/contrast/textures/icons/Parcel_ForSale_Light.png
+++ /dev/null
Binary files differ
diff --git a/indra/newview/skins/contrast/textures/icons/Parcel_Health_Dark.png b/indra/newview/skins/contrast/textures/icons/Parcel_Health_Dark.png
deleted file mode 100644
index 98618de927..0000000000
--- a/indra/newview/skins/contrast/textures/icons/Parcel_Health_Dark.png
+++ /dev/null
Binary files differ
diff --git a/indra/newview/skins/contrast/textures/icons/Parcel_PushNo_Dark.png b/indra/newview/skins/contrast/textures/icons/Parcel_PushNo_Dark.png
deleted file mode 100644
index 2867004014..0000000000
--- a/indra/newview/skins/contrast/textures/icons/Parcel_PushNo_Dark.png
+++ /dev/null
Binary files differ
diff --git a/indra/newview/skins/contrast/textures/icons/Parcel_PushNo_Light.png b/indra/newview/skins/contrast/textures/icons/Parcel_PushNo_Light.png
deleted file mode 100644
index a3a51973af..0000000000
--- a/indra/newview/skins/contrast/textures/icons/Parcel_PushNo_Light.png
+++ /dev/null
Binary files differ
diff --git a/indra/newview/skins/contrast/textures/icons/Parcel_Push_Dark.png b/indra/newview/skins/contrast/textures/icons/Parcel_Push_Dark.png
deleted file mode 100644
index e8487ca092..0000000000
--- a/indra/newview/skins/contrast/textures/icons/Parcel_Push_Dark.png
+++ /dev/null
Binary files differ
diff --git a/indra/newview/skins/contrast/textures/icons/Parcel_R_Dark.png b/indra/newview/skins/contrast/textures/icons/Parcel_R_Dark.png
deleted file mode 100644
index 5c165c2fac..0000000000
--- a/indra/newview/skins/contrast/textures/icons/Parcel_R_Dark.png
+++ /dev/null
Binary files differ
diff --git a/indra/newview/skins/contrast/textures/icons/Parcel_ScriptsNo_Dark.png b/indra/newview/skins/contrast/textures/icons/Parcel_ScriptsNo_Dark.png
deleted file mode 100644
index bfc55fc403..0000000000
--- a/indra/newview/skins/contrast/textures/icons/Parcel_ScriptsNo_Dark.png
+++ /dev/null
Binary files differ
diff --git a/indra/newview/skins/contrast/textures/icons/Parcel_Scripts_Dark.png b/indra/newview/skins/contrast/textures/icons/Parcel_Scripts_Dark.png
deleted file mode 100644
index 3477e0654c..0000000000
--- a/indra/newview/skins/contrast/textures/icons/Parcel_Scripts_Dark.png
+++ /dev/null
Binary files differ
diff --git a/indra/newview/skins/contrast/textures/icons/Parcel_SeeAVsOff_Dark.png b/indra/newview/skins/contrast/textures/icons/Parcel_SeeAVsOff_Dark.png
deleted file mode 100644
index eff089487e..0000000000
--- a/indra/newview/skins/contrast/textures/icons/Parcel_SeeAVsOff_Dark.png
+++ /dev/null
Binary files differ
diff --git a/indra/newview/skins/contrast/textures/icons/Parcel_SeeAVsOff_Light.png b/indra/newview/skins/contrast/textures/icons/Parcel_SeeAVsOff_Light.png
deleted file mode 100644
index 68f0b14d44..0000000000
--- a/indra/newview/skins/contrast/textures/icons/Parcel_SeeAVsOff_Light.png
+++ /dev/null
Binary files differ
diff --git a/indra/newview/skins/contrast/textures/icons/Parcel_SeeAVsOn_Dark.png b/indra/newview/skins/contrast/textures/icons/Parcel_SeeAVsOn_Dark.png
deleted file mode 100644
index 200e04a59f..0000000000
--- a/indra/newview/skins/contrast/textures/icons/Parcel_SeeAVsOn_Dark.png
+++ /dev/null
Binary files differ
diff --git a/indra/newview/skins/contrast/textures/icons/Parcel_SeeAVsOn_Light.png b/indra/newview/skins/contrast/textures/icons/Parcel_SeeAVsOn_Light.png
deleted file mode 100644
index 14cafc5bd2..0000000000
--- a/indra/newview/skins/contrast/textures/icons/Parcel_SeeAVsOn_Light.png
+++ /dev/null
Binary files differ
diff --git a/indra/newview/skins/contrast/textures/icons/Parcel_VoiceNo_Dark.png b/indra/newview/skins/contrast/textures/icons/Parcel_VoiceNo_Dark.png
deleted file mode 100644
index ec316e822e..0000000000
--- a/indra/newview/skins/contrast/textures/icons/Parcel_VoiceNo_Dark.png
+++ /dev/null
Binary files differ
diff --git a/indra/newview/skins/contrast/textures/icons/Parcel_VoiceNo_Light.png b/indra/newview/skins/contrast/textures/icons/Parcel_VoiceNo_Light.png
deleted file mode 100644
index de3532a70b..0000000000
--- a/indra/newview/skins/contrast/textures/icons/Parcel_VoiceNo_Light.png
+++ /dev/null
Binary files differ
diff --git a/indra/newview/skins/contrast/textures/icons/Parcel_Voice_Dark.png b/indra/newview/skins/contrast/textures/icons/Parcel_Voice_Dark.png
deleted file mode 100644
index 329620fa69..0000000000
--- a/indra/newview/skins/contrast/textures/icons/Parcel_Voice_Dark.png
+++ /dev/null
Binary files differ
diff --git a/indra/newview/skins/contrast/textures/icons/Parcel_Voice_Light.png b/indra/newview/skins/contrast/textures/icons/Parcel_Voice_Light.png
deleted file mode 100644
index 81e0fa7bc4..0000000000
--- a/indra/newview/skins/contrast/textures/icons/Parcel_Voice_Light.png
+++ /dev/null
Binary files differ
diff --git a/indra/newview/skins/contrast/textures/icons/Pathfinding_Dirty.png b/indra/newview/skins/contrast/textures/icons/Pathfinding_Dirty.png
deleted file mode 100644
index d8fee0fef7..0000000000
--- a/indra/newview/skins/contrast/textures/icons/Pathfinding_Dirty.png
+++ /dev/null
Binary files differ
diff --git a/indra/newview/skins/contrast/textures/icons/Pathfinding_Disabled.png b/indra/newview/skins/contrast/textures/icons/Pathfinding_Disabled.png
deleted file mode 100644
index ea2ad79611..0000000000
--- a/indra/newview/skins/contrast/textures/icons/Pathfinding_Disabled.png
+++ /dev/null
Binary files differ
diff --git a/indra/newview/skins/contrast/textures/icons/Pause_Off.png b/indra/newview/skins/contrast/textures/icons/Pause_Off.png
deleted file mode 100644
index 5d44412783..0000000000
--- a/indra/newview/skins/contrast/textures/icons/Pause_Off.png
+++ /dev/null
Binary files differ
diff --git a/indra/newview/skins/contrast/textures/icons/Pause_Over.png b/indra/newview/skins/contrast/textures/icons/Pause_Over.png
deleted file mode 100644
index d1609a144b..0000000000
--- a/indra/newview/skins/contrast/textures/icons/Pause_Over.png
+++ /dev/null
Binary files differ
diff --git a/indra/newview/skins/contrast/textures/icons/Pause_Press.png b/indra/newview/skins/contrast/textures/icons/Pause_Press.png
deleted file mode 100644
index 6b918d1ae6..0000000000
--- a/indra/newview/skins/contrast/textures/icons/Pause_Press.png
+++ /dev/null
Binary files differ
diff --git a/indra/newview/skins/contrast/textures/icons/Permission_Ungranted.png b/indra/newview/skins/contrast/textures/icons/Permission_Ungranted.png
deleted file mode 100644
index d206af4433..0000000000
--- a/indra/newview/skins/contrast/textures/icons/Permission_Ungranted.png
+++ /dev/null
Binary files differ
diff --git a/indra/newview/skins/contrast/textures/icons/Person_Check.png b/indra/newview/skins/contrast/textures/icons/Person_Check.png
deleted file mode 100644
index 39a63a70cf..0000000000
--- a/indra/newview/skins/contrast/textures/icons/Person_Check.png
+++ /dev/null
Binary files differ
diff --git a/indra/newview/skins/contrast/textures/icons/Person_Star.png b/indra/newview/skins/contrast/textures/icons/Person_Star.png
deleted file mode 100644
index c4e625b3c1..0000000000
--- a/indra/newview/skins/contrast/textures/icons/Person_Star.png
+++ /dev/null
Binary files differ
diff --git a/indra/newview/skins/contrast/textures/icons/Play_Off.png b/indra/newview/skins/contrast/textures/icons/Play_Off.png
deleted file mode 100644
index dac2f2d6db..0000000000
--- a/indra/newview/skins/contrast/textures/icons/Play_Off.png
+++ /dev/null
Binary files differ
diff --git a/indra/newview/skins/contrast/textures/icons/Play_Over.png b/indra/newview/skins/contrast/textures/icons/Play_Over.png
deleted file mode 100644
index 1d261efcda..0000000000
--- a/indra/newview/skins/contrast/textures/icons/Play_Over.png
+++ /dev/null
Binary files differ
diff --git a/indra/newview/skins/contrast/textures/icons/Play_Press.png b/indra/newview/skins/contrast/textures/icons/Play_Press.png
deleted file mode 100644
index f7251ce549..0000000000
--- a/indra/newview/skins/contrast/textures/icons/Play_Press.png
+++ /dev/null
Binary files differ
diff --git a/indra/newview/skins/contrast/textures/icons/Presets_Icon.png b/indra/newview/skins/contrast/textures/icons/Presets_Icon.png
deleted file mode 100644
index 13642e88d1..0000000000
--- a/indra/newview/skins/contrast/textures/icons/Presets_Icon.png
+++ /dev/null
Binary files differ
diff --git a/indra/newview/skins/contrast/textures/icons/Presets_Icon_Graphic.png b/indra/newview/skins/contrast/textures/icons/Presets_Icon_Graphic.png
deleted file mode 100644
index 96d1021f81..0000000000
--- a/indra/newview/skins/contrast/textures/icons/Presets_Icon_Graphic.png
+++ /dev/null
Binary files differ
diff --git a/indra/newview/skins/contrast/textures/icons/Profile_Friend_Offline.png b/indra/newview/skins/contrast/textures/icons/Profile_Friend_Offline.png
deleted file mode 100644
index 55d922cda7..0000000000
--- a/indra/newview/skins/contrast/textures/icons/Profile_Friend_Offline.png
+++ /dev/null
Binary files differ
diff --git a/indra/newview/skins/contrast/textures/icons/Profile_Friend_Online.png b/indra/newview/skins/contrast/textures/icons/Profile_Friend_Online.png
deleted file mode 100644
index febe8e78fa..0000000000
--- a/indra/newview/skins/contrast/textures/icons/Profile_Friend_Online.png
+++ /dev/null
Binary files differ
diff --git a/indra/newview/skins/contrast/textures/icons/Profile_Perm_Find_Disabled.png b/indra/newview/skins/contrast/textures/icons/Profile_Perm_Find_Disabled.png
deleted file mode 100644
index 2632eb173b..0000000000
--- a/indra/newview/skins/contrast/textures/icons/Profile_Perm_Find_Disabled.png
+++ /dev/null
Binary files differ
diff --git a/indra/newview/skins/contrast/textures/icons/Profile_Perm_Find_Enabled.png b/indra/newview/skins/contrast/textures/icons/Profile_Perm_Find_Enabled.png
deleted file mode 100644
index fd8b152c12..0000000000
--- a/indra/newview/skins/contrast/textures/icons/Profile_Perm_Find_Enabled.png
+++ /dev/null
Binary files differ
diff --git a/indra/newview/skins/contrast/textures/icons/Profile_Perm_Objects_Disabled.png b/indra/newview/skins/contrast/textures/icons/Profile_Perm_Objects_Disabled.png
deleted file mode 100644
index cef3ec4e5a..0000000000
--- a/indra/newview/skins/contrast/textures/icons/Profile_Perm_Objects_Disabled.png
+++ /dev/null
Binary files differ
diff --git a/indra/newview/skins/contrast/textures/icons/Profile_Perm_Objects_Enabled.png b/indra/newview/skins/contrast/textures/icons/Profile_Perm_Objects_Enabled.png
deleted file mode 100644
index 5821566703..0000000000
--- a/indra/newview/skins/contrast/textures/icons/Profile_Perm_Objects_Enabled.png
+++ /dev/null
Binary files differ
diff --git a/indra/newview/skins/contrast/textures/icons/Profile_Perm_Online_Disabled.png b/indra/newview/skins/contrast/textures/icons/Profile_Perm_Online_Disabled.png
deleted file mode 100644
index ea1b55eca0..0000000000
--- a/indra/newview/skins/contrast/textures/icons/Profile_Perm_Online_Disabled.png
+++ /dev/null
Binary files differ
diff --git a/indra/newview/skins/contrast/textures/icons/Profile_Perm_Online_Enabled.png b/indra/newview/skins/contrast/textures/icons/Profile_Perm_Online_Enabled.png
deleted file mode 100644
index eb3fc9e713..0000000000
--- a/indra/newview/skins/contrast/textures/icons/Profile_Perm_Online_Enabled.png
+++ /dev/null
Binary files differ
diff --git a/indra/newview/skins/contrast/textures/icons/ProgressLarge_1.png b/indra/newview/skins/contrast/textures/icons/ProgressLarge_1.png
deleted file mode 100644
index ff277fc431..0000000000
--- a/indra/newview/skins/contrast/textures/icons/ProgressLarge_1.png
+++ /dev/null
Binary files differ
diff --git a/indra/newview/skins/contrast/textures/icons/ProgressLarge_10.png b/indra/newview/skins/contrast/textures/icons/ProgressLarge_10.png
deleted file mode 100644
index 1c94e21d89..0000000000
--- a/indra/newview/skins/contrast/textures/icons/ProgressLarge_10.png
+++ /dev/null
Binary files differ
diff --git a/indra/newview/skins/contrast/textures/icons/ProgressLarge_11.png b/indra/newview/skins/contrast/textures/icons/ProgressLarge_11.png
deleted file mode 100644
index 89bea9b474..0000000000
--- a/indra/newview/skins/contrast/textures/icons/ProgressLarge_11.png
+++ /dev/null
Binary files differ
diff --git a/indra/newview/skins/contrast/textures/icons/ProgressLarge_12.png b/indra/newview/skins/contrast/textures/icons/ProgressLarge_12.png
deleted file mode 100644
index da38475ba4..0000000000
--- a/indra/newview/skins/contrast/textures/icons/ProgressLarge_12.png
+++ /dev/null
Binary files differ
diff --git a/indra/newview/skins/contrast/textures/icons/ProgressLarge_2.png b/indra/newview/skins/contrast/textures/icons/ProgressLarge_2.png
deleted file mode 100644
index c024275ebe..0000000000
--- a/indra/newview/skins/contrast/textures/icons/ProgressLarge_2.png
+++ /dev/null
Binary files differ
diff --git a/indra/newview/skins/contrast/textures/icons/ProgressLarge_3.png b/indra/newview/skins/contrast/textures/icons/ProgressLarge_3.png
deleted file mode 100644
index 87b931e72e..0000000000
--- a/indra/newview/skins/contrast/textures/icons/ProgressLarge_3.png
+++ /dev/null
Binary files differ
diff --git a/indra/newview/skins/contrast/textures/icons/ProgressLarge_4.png b/indra/newview/skins/contrast/textures/icons/ProgressLarge_4.png
deleted file mode 100644
index 6dbef74361..0000000000
--- a/indra/newview/skins/contrast/textures/icons/ProgressLarge_4.png
+++ /dev/null
Binary files differ
diff --git a/indra/newview/skins/contrast/textures/icons/ProgressLarge_5.png b/indra/newview/skins/contrast/textures/icons/ProgressLarge_5.png
deleted file mode 100644
index daccf9b375..0000000000
--- a/indra/newview/skins/contrast/textures/icons/ProgressLarge_5.png
+++ /dev/null
Binary files differ
diff --git a/indra/newview/skins/contrast/textures/icons/ProgressLarge_6.png b/indra/newview/skins/contrast/textures/icons/ProgressLarge_6.png
deleted file mode 100644
index cafddcb88d..0000000000
--- a/indra/newview/skins/contrast/textures/icons/ProgressLarge_6.png
+++ /dev/null
Binary files differ
diff --git a/indra/newview/skins/contrast/textures/icons/ProgressLarge_7.png b/indra/newview/skins/contrast/textures/icons/ProgressLarge_7.png
deleted file mode 100644
index 8acf6472d4..0000000000
--- a/indra/newview/skins/contrast/textures/icons/ProgressLarge_7.png
+++ /dev/null
Binary files differ
diff --git a/indra/newview/skins/contrast/textures/icons/ProgressLarge_9.png b/indra/newview/skins/contrast/textures/icons/ProgressLarge_9.png
deleted file mode 100644
index 293a7b8f5c..0000000000
--- a/indra/newview/skins/contrast/textures/icons/ProgressLarge_9.png
+++ /dev/null
Binary files differ
diff --git a/indra/newview/skins/contrast/textures/icons/Progress_1.png b/indra/newview/skins/contrast/textures/icons/Progress_1.png
deleted file mode 100644
index bc7a1e7e96..0000000000
--- a/indra/newview/skins/contrast/textures/icons/Progress_1.png
+++ /dev/null
Binary files differ
diff --git a/indra/newview/skins/contrast/textures/icons/Progress_10.png b/indra/newview/skins/contrast/textures/icons/Progress_10.png
deleted file mode 100644
index acf4d21aba..0000000000
--- a/indra/newview/skins/contrast/textures/icons/Progress_10.png
+++ /dev/null
Binary files differ
diff --git a/indra/newview/skins/contrast/textures/icons/Progress_11.png b/indra/newview/skins/contrast/textures/icons/Progress_11.png
deleted file mode 100644
index 1842cd09d0..0000000000
--- a/indra/newview/skins/contrast/textures/icons/Progress_11.png
+++ /dev/null
Binary files differ
diff --git a/indra/newview/skins/contrast/textures/icons/Progress_12.png b/indra/newview/skins/contrast/textures/icons/Progress_12.png
deleted file mode 100644
index 0ea9dda83e..0000000000
--- a/indra/newview/skins/contrast/textures/icons/Progress_12.png
+++ /dev/null
Binary files differ
diff --git a/indra/newview/skins/contrast/textures/icons/Progress_2.png b/indra/newview/skins/contrast/textures/icons/Progress_2.png
deleted file mode 100644
index 29d6bbcbcb..0000000000
--- a/indra/newview/skins/contrast/textures/icons/Progress_2.png
+++ /dev/null
Binary files differ
diff --git a/indra/newview/skins/contrast/textures/icons/Progress_3.png b/indra/newview/skins/contrast/textures/icons/Progress_3.png
deleted file mode 100644
index 52a03125e9..0000000000
--- a/indra/newview/skins/contrast/textures/icons/Progress_3.png
+++ /dev/null
Binary files differ
diff --git a/indra/newview/skins/contrast/textures/icons/Progress_4.png b/indra/newview/skins/contrast/textures/icons/Progress_4.png
deleted file mode 100644
index 4b2798519f..0000000000
--- a/indra/newview/skins/contrast/textures/icons/Progress_4.png
+++ /dev/null
Binary files differ
diff --git a/indra/newview/skins/contrast/textures/icons/Progress_5.png b/indra/newview/skins/contrast/textures/icons/Progress_5.png
deleted file mode 100644
index 3f02b8f31a..0000000000
--- a/indra/newview/skins/contrast/textures/icons/Progress_5.png
+++ /dev/null
Binary files differ
diff --git a/indra/newview/skins/contrast/textures/icons/Progress_6.png b/indra/newview/skins/contrast/textures/icons/Progress_6.png
deleted file mode 100644
index 04c8f716d4..0000000000
--- a/indra/newview/skins/contrast/textures/icons/Progress_6.png
+++ /dev/null
Binary files differ
diff --git a/indra/newview/skins/contrast/textures/icons/Progress_7.png b/indra/newview/skins/contrast/textures/icons/Progress_7.png
deleted file mode 100644
index c96b4c08d6..0000000000
--- a/indra/newview/skins/contrast/textures/icons/Progress_7.png
+++ /dev/null
Binary files differ
diff --git a/indra/newview/skins/contrast/textures/icons/Progress_8.png b/indra/newview/skins/contrast/textures/icons/Progress_8.png
deleted file mode 100644
index 9463f50707..0000000000
--- a/indra/newview/skins/contrast/textures/icons/Progress_8.png
+++ /dev/null
Binary files differ
diff --git a/indra/newview/skins/contrast/textures/icons/Progress_9.png b/indra/newview/skins/contrast/textures/icons/Progress_9.png
deleted file mode 100644
index 928a3e934e..0000000000
--- a/indra/newview/skins/contrast/textures/icons/Progress_9.png
+++ /dev/null
Binary files differ
diff --git a/indra/newview/skins/contrast/textures/icons/Refresh_Off.png b/indra/newview/skins/contrast/textures/icons/Refresh_Off.png
deleted file mode 100644
index e645a8159f..0000000000
--- a/indra/newview/skins/contrast/textures/icons/Refresh_Off.png
+++ /dev/null
Binary files differ
diff --git a/indra/newview/skins/contrast/textures/icons/Search_Icon.png b/indra/newview/skins/contrast/textures/icons/Search_Icon.png
deleted file mode 100644
index 0ea7b14f81..0000000000
--- a/indra/newview/skins/contrast/textures/icons/Search_Icon.png
+++ /dev/null
Binary files differ
diff --git a/indra/newview/skins/contrast/textures/icons/Shirt_Large.png b/indra/newview/skins/contrast/textures/icons/Shirt_Large.png
deleted file mode 100644
index 06fce6bbaa..0000000000
--- a/indra/newview/skins/contrast/textures/icons/Shirt_Large.png
+++ /dev/null
Binary files differ
diff --git a/indra/newview/skins/contrast/textures/icons/Shop.png b/indra/newview/skins/contrast/textures/icons/Shop.png
deleted file mode 100644
index 93353cf2fe..0000000000
--- a/indra/newview/skins/contrast/textures/icons/Shop.png
+++ /dev/null
Binary files differ
diff --git a/indra/newview/skins/contrast/textures/icons/SkipBackward_Off.png b/indra/newview/skins/contrast/textures/icons/SkipBackward_Off.png
deleted file mode 100644
index 20fd2b8e22..0000000000
--- a/indra/newview/skins/contrast/textures/icons/SkipBackward_Off.png
+++ /dev/null
Binary files differ
diff --git a/indra/newview/skins/contrast/textures/icons/SkipForward_Off.png b/indra/newview/skins/contrast/textures/icons/SkipForward_Off.png
deleted file mode 100644
index 30e28d3d31..0000000000
--- a/indra/newview/skins/contrast/textures/icons/SkipForward_Off.png
+++ /dev/null
Binary files differ
diff --git a/indra/newview/skins/contrast/textures/icons/StopReload_Off.png b/indra/newview/skins/contrast/textures/icons/StopReload_Off.png
deleted file mode 100644
index 500a81d715..0000000000
--- a/indra/newview/skins/contrast/textures/icons/StopReload_Off.png
+++ /dev/null
Binary files differ
diff --git a/indra/newview/skins/contrast/textures/icons/StopReload_Over.png b/indra/newview/skins/contrast/textures/icons/StopReload_Over.png
deleted file mode 100644
index a065a37d14..0000000000
--- a/indra/newview/skins/contrast/textures/icons/StopReload_Over.png
+++ /dev/null
Binary files differ
diff --git a/indra/newview/skins/contrast/textures/icons/Stop_Off.png b/indra/newview/skins/contrast/textures/icons/Stop_Off.png
deleted file mode 100644
index 2d00083e2e..0000000000
--- a/indra/newview/skins/contrast/textures/icons/Stop_Off.png
+++ /dev/null
Binary files differ
diff --git a/indra/newview/skins/contrast/textures/icons/Sync_Disabled.png b/indra/newview/skins/contrast/textures/icons/Sync_Disabled.png
deleted file mode 100644
index 7b39e7cd6f..0000000000
--- a/indra/newview/skins/contrast/textures/icons/Sync_Disabled.png
+++ /dev/null
Binary files differ
diff --git a/indra/newview/skins/contrast/textures/icons/Sync_Progress_1.png b/indra/newview/skins/contrast/textures/icons/Sync_Progress_1.png
deleted file mode 100644
index 218edaa986..0000000000
--- a/indra/newview/skins/contrast/textures/icons/Sync_Progress_1.png
+++ /dev/null
Binary files differ
diff --git a/indra/newview/skins/contrast/textures/icons/Sync_Progress_2.png b/indra/newview/skins/contrast/textures/icons/Sync_Progress_2.png
deleted file mode 100644
index 23cb9d63c0..0000000000
--- a/indra/newview/skins/contrast/textures/icons/Sync_Progress_2.png
+++ /dev/null
Binary files differ
diff --git a/indra/newview/skins/contrast/textures/icons/Sync_Progress_3.png b/indra/newview/skins/contrast/textures/icons/Sync_Progress_3.png
deleted file mode 100644
index 490826011a..0000000000
--- a/indra/newview/skins/contrast/textures/icons/Sync_Progress_3.png
+++ /dev/null
Binary files differ
diff --git a/indra/newview/skins/contrast/textures/icons/Sync_Progress_4.png b/indra/newview/skins/contrast/textures/icons/Sync_Progress_4.png
deleted file mode 100644
index de1c815e90..0000000000
--- a/indra/newview/skins/contrast/textures/icons/Sync_Progress_4.png
+++ /dev/null
Binary files differ
diff --git a/indra/newview/skins/contrast/textures/icons/Sync_Progress_5.png b/indra/newview/skins/contrast/textures/icons/Sync_Progress_5.png
deleted file mode 100644
index 2897b37382..0000000000
--- a/indra/newview/skins/contrast/textures/icons/Sync_Progress_5.png
+++ /dev/null
Binary files differ
diff --git a/indra/newview/skins/contrast/textures/icons/Sync_Progress_6.png b/indra/newview/skins/contrast/textures/icons/Sync_Progress_6.png
deleted file mode 100644
index 862410e9e4..0000000000
--- a/indra/newview/skins/contrast/textures/icons/Sync_Progress_6.png
+++ /dev/null
Binary files differ
diff --git a/indra/newview/skins/contrast/textures/icons/System_Notification_Large.png b/indra/newview/skins/contrast/textures/icons/System_Notification_Large.png
deleted file mode 100644
index 01c6e31f41..0000000000
--- a/indra/newview/skins/contrast/textures/icons/System_Notification_Large.png
+++ /dev/null
Binary files differ
diff --git a/indra/newview/skins/contrast/textures/icons/System_Notification_Small.png b/indra/newview/skins/contrast/textures/icons/System_Notification_Small.png
deleted file mode 100644
index 69b823d852..0000000000
--- a/indra/newview/skins/contrast/textures/icons/System_Notification_Small.png
+++ /dev/null
Binary files differ
diff --git a/indra/newview/skins/contrast/textures/icons/TrashItem_Disabled.png b/indra/newview/skins/contrast/textures/icons/TrashItem_Disabled.png
deleted file mode 100644
index 800d9434d2..0000000000
--- a/indra/newview/skins/contrast/textures/icons/TrashItem_Disabled.png
+++ /dev/null
Binary files differ
diff --git a/indra/newview/skins/contrast/textures/icons/TrashItem_Off.png b/indra/newview/skins/contrast/textures/icons/TrashItem_Off.png
deleted file mode 100644
index 0cbff4f1d7..0000000000
--- a/indra/newview/skins/contrast/textures/icons/TrashItem_Off.png
+++ /dev/null
Binary files differ
diff --git a/indra/newview/skins/contrast/textures/icons/TrashItem_Press.png b/indra/newview/skins/contrast/textures/icons/TrashItem_Press.png
deleted file mode 100644
index fac13226e7..0000000000
--- a/indra/newview/skins/contrast/textures/icons/TrashItem_Press.png
+++ /dev/null
Binary files differ
diff --git a/indra/newview/skins/contrast/textures/icons/UnZoom_Off.png b/indra/newview/skins/contrast/textures/icons/UnZoom_Off.png
deleted file mode 100644
index 34ec3f5de8..0000000000
--- a/indra/newview/skins/contrast/textures/icons/UnZoom_Off.png
+++ /dev/null
Binary files differ
diff --git a/indra/newview/skins/contrast/textures/icons/UpArrow_Off.png b/indra/newview/skins/contrast/textures/icons/UpArrow_Off.png
deleted file mode 100644
index d5ddc353e7..0000000000
--- a/indra/newview/skins/contrast/textures/icons/UpArrow_Off.png
+++ /dev/null
Binary files differ
diff --git a/indra/newview/skins/contrast/textures/icons/Video_URL_Off.png b/indra/newview/skins/contrast/textures/icons/Video_URL_Off.png
deleted file mode 100644
index d37a189645..0000000000
--- a/indra/newview/skins/contrast/textures/icons/Video_URL_Off.png
+++ /dev/null
Binary files differ
diff --git a/indra/newview/skins/contrast/textures/icons/Web_Profile_Off.png b/indra/newview/skins/contrast/textures/icons/Web_Profile_Off.png
deleted file mode 100644
index cf8f9c8f94..0000000000
--- a/indra/newview/skins/contrast/textures/icons/Web_Profile_Off.png
+++ /dev/null
Binary files differ
diff --git a/indra/newview/skins/contrast/textures/icons/YouAreHere_Badge.png b/indra/newview/skins/contrast/textures/icons/YouAreHere_Badge.png
deleted file mode 100644
index ed1805c096..0000000000
--- a/indra/newview/skins/contrast/textures/icons/YouAreHere_Badge.png
+++ /dev/null
Binary files differ
diff --git a/indra/newview/skins/contrast/textures/icons/Zoom_Off.png b/indra/newview/skins/contrast/textures/icons/Zoom_Off.png
deleted file mode 100644
index 833e608201..0000000000
--- a/indra/newview/skins/contrast/textures/icons/Zoom_Off.png
+++ /dev/null
Binary files differ
diff --git a/indra/newview/skins/contrast/textures/icons/collapse_to_one_line.png b/indra/newview/skins/contrast/textures/icons/collapse_to_one_line.png
deleted file mode 100644
index 3730924ad8..0000000000
--- a/indra/newview/skins/contrast/textures/icons/collapse_to_one_line.png
+++ /dev/null
Binary files differ
diff --git a/indra/newview/skins/contrast/textures/icons/copy_clipboard.png b/indra/newview/skins/contrast/textures/icons/copy_clipboard.png
deleted file mode 100644
index 9ce67d8547..0000000000
--- a/indra/newview/skins/contrast/textures/icons/copy_clipboard.png
+++ /dev/null
Binary files differ
diff --git a/indra/newview/skins/contrast/textures/icons/delete_icon.png b/indra/newview/skins/contrast/textures/icons/delete_icon.png
deleted file mode 100644
index 5a80155d8b..0000000000
--- a/indra/newview/skins/contrast/textures/icons/delete_icon.png
+++ /dev/null
Binary files differ
diff --git a/indra/newview/skins/contrast/textures/icons/edit_mine.png b/indra/newview/skins/contrast/textures/icons/edit_mine.png
deleted file mode 100644
index 2fb10deba2..0000000000
--- a/indra/newview/skins/contrast/textures/icons/edit_mine.png
+++ /dev/null
Binary files differ
diff --git a/indra/newview/skins/contrast/textures/icons/edit_theirs.png b/indra/newview/skins/contrast/textures/icons/edit_theirs.png
deleted file mode 100644
index 586c08c181..0000000000
--- a/indra/newview/skins/contrast/textures/icons/edit_theirs.png
+++ /dev/null
Binary files differ
diff --git a/indra/newview/skins/contrast/textures/icons/emoji_picker_icon.png b/indra/newview/skins/contrast/textures/icons/emoji_picker_icon.png
deleted file mode 100644
index 6c1a1a3c62..0000000000
--- a/indra/newview/skins/contrast/textures/icons/emoji_picker_icon.png
+++ /dev/null
Binary files differ
diff --git a/indra/newview/skins/contrast/textures/icons/expand_one_liner.png b/indra/newview/skins/contrast/textures/icons/expand_one_liner.png
deleted file mode 100644
index 0d1a60547a..0000000000
--- a/indra/newview/skins/contrast/textures/icons/expand_one_liner.png
+++ /dev/null
Binary files differ
diff --git a/indra/newview/skins/contrast/textures/icons/file_upload.png b/indra/newview/skins/contrast/textures/icons/file_upload.png
deleted file mode 100644
index 78b75fdd72..0000000000
--- a/indra/newview/skins/contrast/textures/icons/file_upload.png
+++ /dev/null
Binary files differ
diff --git a/indra/newview/skins/contrast/textures/icons/map_placeholder.png b/indra/newview/skins/contrast/textures/icons/map_placeholder.png
deleted file mode 100644
index 80e5deac7e..0000000000
--- a/indra/newview/skins/contrast/textures/icons/map_placeholder.png
+++ /dev/null
Binary files differ
diff --git a/indra/newview/skins/contrast/textures/icons/multi_folder_mode.png b/indra/newview/skins/contrast/textures/icons/multi_folder_mode.png
deleted file mode 100644
index b363848aba..0000000000
--- a/indra/newview/skins/contrast/textures/icons/multi_folder_mode.png
+++ /dev/null
Binary files differ
diff --git a/indra/newview/skins/contrast/textures/icons/nearby_chat_icon.png b/indra/newview/skins/contrast/textures/icons/nearby_chat_icon.png
deleted file mode 100644
index c5f52f010e..0000000000
--- a/indra/newview/skins/contrast/textures/icons/nearby_chat_icon.png
+++ /dev/null
Binary files differ
diff --git a/indra/newview/skins/contrast/textures/icons/object_icon.png b/indra/newview/skins/contrast/textures/icons/object_icon.png
deleted file mode 100644
index 51bf0b0649..0000000000
--- a/indra/newview/skins/contrast/textures/icons/object_icon.png
+++ /dev/null
Binary files differ
diff --git a/indra/newview/skins/contrast/textures/icons/paste_clipboard.png b/indra/newview/skins/contrast/textures/icons/paste_clipboard.png
deleted file mode 100644
index ff8493d4ad..0000000000
--- a/indra/newview/skins/contrast/textures/icons/paste_clipboard.png
+++ /dev/null
Binary files differ
diff --git a/indra/newview/skins/contrast/textures/icons/pop_up_caution.png b/indra/newview/skins/contrast/textures/icons/pop_up_caution.png
deleted file mode 100644
index 63b5cdfe83..0000000000
--- a/indra/newview/skins/contrast/textures/icons/pop_up_caution.png
+++ /dev/null
Binary files differ
diff --git a/indra/newview/skins/contrast/textures/icons/profile_badge_beta.png b/indra/newview/skins/contrast/textures/icons/profile_badge_beta.png
deleted file mode 100644
index 95e277aab0..0000000000
--- a/indra/newview/skins/contrast/textures/icons/profile_badge_beta.png
+++ /dev/null
Binary files differ
diff --git a/indra/newview/skins/contrast/textures/icons/profile_badge_beta_lifetime.png b/indra/newview/skins/contrast/textures/icons/profile_badge_beta_lifetime.png
deleted file mode 100644
index fb145901e2..0000000000
--- a/indra/newview/skins/contrast/textures/icons/profile_badge_beta_lifetime.png
+++ /dev/null
Binary files differ
diff --git a/indra/newview/skins/contrast/textures/icons/profile_badge_lifetime.png b/indra/newview/skins/contrast/textures/icons/profile_badge_lifetime.png
deleted file mode 100644
index 3f7fd343b3..0000000000
--- a/indra/newview/skins/contrast/textures/icons/profile_badge_lifetime.png
+++ /dev/null
Binary files differ
diff --git a/indra/newview/skins/contrast/textures/icons/profile_badge_linden.png b/indra/newview/skins/contrast/textures/icons/profile_badge_linden.png
deleted file mode 100644
index 6ab9fcebea..0000000000
--- a/indra/newview/skins/contrast/textures/icons/profile_badge_linden.png
+++ /dev/null
Binary files differ
diff --git a/indra/newview/skins/contrast/textures/icons/profile_badge_pplus_lifetime.png b/indra/newview/skins/contrast/textures/icons/profile_badge_pplus_lifetime.png
deleted file mode 100644
index 5c68ad40ce..0000000000
--- a/indra/newview/skins/contrast/textures/icons/profile_badge_pplus_lifetime.png
+++ /dev/null
Binary files differ
diff --git a/indra/newview/skins/contrast/textures/icons/profile_badge_premium_lifetime.png b/indra/newview/skins/contrast/textures/icons/profile_badge_premium_lifetime.png
deleted file mode 100644
index 58957b7b96..0000000000
--- a/indra/newview/skins/contrast/textures/icons/profile_badge_premium_lifetime.png
+++ /dev/null
Binary files differ
diff --git a/indra/newview/skins/contrast/textures/icons/profile_group_visibility_eye_off.png b/indra/newview/skins/contrast/textures/icons/profile_group_visibility_eye_off.png
deleted file mode 100644
index 331553492c..0000000000
--- a/indra/newview/skins/contrast/textures/icons/profile_group_visibility_eye_off.png
+++ /dev/null
Binary files differ
diff --git a/indra/newview/skins/contrast/textures/icons/profile_group_visibility_eye_off_pressed.png b/indra/newview/skins/contrast/textures/icons/profile_group_visibility_eye_off_pressed.png
deleted file mode 100644
index e9e9c1b626..0000000000
--- a/indra/newview/skins/contrast/textures/icons/profile_group_visibility_eye_off_pressed.png
+++ /dev/null
Binary files differ
diff --git a/indra/newview/skins/contrast/textures/icons/profile_group_visibility_eye_on.png b/indra/newview/skins/contrast/textures/icons/profile_group_visibility_eye_on.png
deleted file mode 100644
index 4f5374d614..0000000000
--- a/indra/newview/skins/contrast/textures/icons/profile_group_visibility_eye_on.png
+++ /dev/null
Binary files differ
diff --git a/indra/newview/skins/contrast/textures/icons/profile_group_visibility_eye_on_pressed.png b/indra/newview/skins/contrast/textures/icons/profile_group_visibility_eye_on_pressed.png
deleted file mode 100644
index e8a64541ee..0000000000
--- a/indra/newview/skins/contrast/textures/icons/profile_group_visibility_eye_on_pressed.png
+++ /dev/null
Binary files differ
diff --git a/indra/newview/skins/contrast/textures/icons/remove_icon.png b/indra/newview/skins/contrast/textures/icons/remove_icon.png
deleted file mode 100644
index d8a45cc21c..0000000000
--- a/indra/newview/skins/contrast/textures/icons/remove_icon.png
+++ /dev/null
Binary files differ
diff --git a/indra/newview/skins/contrast/textures/icons/single_folder_back.png b/indra/newview/skins/contrast/textures/icons/single_folder_back.png
deleted file mode 100644
index b93bb2525a..0000000000
--- a/indra/newview/skins/contrast/textures/icons/single_folder_back.png
+++ /dev/null
Binary files differ
diff --git a/indra/newview/skins/contrast/textures/icons/single_folder_forward.png b/indra/newview/skins/contrast/textures/icons/single_folder_forward.png
deleted file mode 100644
index 12a21b2bba..0000000000
--- a/indra/newview/skins/contrast/textures/icons/single_folder_forward.png
+++ /dev/null
Binary files differ
diff --git a/indra/newview/skins/contrast/textures/icons/single_folder_mode.png b/indra/newview/skins/contrast/textures/icons/single_folder_mode.png
deleted file mode 100644
index 0fc8475917..0000000000
--- a/indra/newview/skins/contrast/textures/icons/single_folder_mode.png
+++ /dev/null
Binary files differ
diff --git a/indra/newview/skins/contrast/textures/icons/single_folder_up.png b/indra/newview/skins/contrast/textures/icons/single_folder_up.png
deleted file mode 100644
index c1c8c63870..0000000000
--- a/indra/newview/skins/contrast/textures/icons/single_folder_up.png
+++ /dev/null
Binary files differ
diff --git a/indra/newview/skins/contrast/textures/icons/snapshot_icon.png b/indra/newview/skins/contrast/textures/icons/snapshot_icon.png
deleted file mode 100644
index 9b6ac6eeb0..0000000000
--- a/indra/newview/skins/contrast/textures/icons/snapshot_icon.png
+++ /dev/null
Binary files differ
diff --git a/indra/newview/skins/contrast/textures/icons/texture_icon.png b/indra/newview/skins/contrast/textures/icons/texture_icon.png
deleted file mode 100644
index f5c205208c..0000000000
--- a/indra/newview/skins/contrast/textures/icons/texture_icon.png
+++ /dev/null
Binary files differ
diff --git a/indra/newview/skins/contrast/textures/icons/thumbnail_fallback_icon.png b/indra/newview/skins/contrast/textures/icons/thumbnail_fallback_icon.png
deleted file mode 100644
index 19629aba04..0000000000
--- a/indra/newview/skins/contrast/textures/icons/thumbnail_fallback_icon.png
+++ /dev/null
Binary files differ
diff --git a/indra/newview/skins/contrast/textures/jump_left_in.tga b/indra/newview/skins/contrast/textures/jump_left_in.tga
deleted file mode 100644
index e0656c901d..0000000000
--- a/indra/newview/skins/contrast/textures/jump_left_in.tga
+++ /dev/null
Binary files differ
diff --git a/indra/newview/skins/contrast/textures/jump_left_out.tga b/indra/newview/skins/contrast/textures/jump_left_out.tga
deleted file mode 100644
index fb6dac0c3d..0000000000
--- a/indra/newview/skins/contrast/textures/jump_left_out.tga
+++ /dev/null
Binary files differ
diff --git a/indra/newview/skins/contrast/textures/jump_right_in.tga b/indra/newview/skins/contrast/textures/jump_right_in.tga
deleted file mode 100644
index 010c748c2a..0000000000
--- a/indra/newview/skins/contrast/textures/jump_right_in.tga
+++ /dev/null
Binary files differ
diff --git a/indra/newview/skins/contrast/textures/jump_right_out.tga b/indra/newview/skins/contrast/textures/jump_right_out.tga
deleted file mode 100644
index 33355262d4..0000000000
--- a/indra/newview/skins/contrast/textures/jump_right_out.tga
+++ /dev/null
Binary files differ
diff --git a/indra/newview/skins/contrast/textures/lag_status_critical.tga b/indra/newview/skins/contrast/textures/lag_status_critical.tga
deleted file mode 100644
index bbc71d9e77..0000000000
--- a/indra/newview/skins/contrast/textures/lag_status_critical.tga
+++ /dev/null
Binary files differ
diff --git a/indra/newview/skins/contrast/textures/lag_status_good.tga b/indra/newview/skins/contrast/textures/lag_status_good.tga
deleted file mode 100644
index 680ba90f17..0000000000
--- a/indra/newview/skins/contrast/textures/lag_status_good.tga
+++ /dev/null
Binary files differ
diff --git a/indra/newview/skins/contrast/textures/lag_status_warning.tga b/indra/newview/skins/contrast/textures/lag_status_warning.tga
deleted file mode 100644
index 13ce3cc396..0000000000
--- a/indra/newview/skins/contrast/textures/lag_status_warning.tga
+++ /dev/null
Binary files differ
diff --git a/indra/newview/skins/contrast/textures/legend.tga b/indra/newview/skins/contrast/textures/legend.tga
deleted file mode 100644
index 0dbb8fda4f..0000000000
--- a/indra/newview/skins/contrast/textures/legend.tga
+++ /dev/null
Binary files differ
diff --git a/indra/newview/skins/contrast/textures/locked_image.j2c b/indra/newview/skins/contrast/textures/locked_image.j2c
deleted file mode 100644
index 9e8998d675..0000000000
--- a/indra/newview/skins/contrast/textures/locked_image.j2c
+++ /dev/null
Binary files differ
diff --git a/indra/newview/skins/contrast/textures/map_avatar_16.tga b/indra/newview/skins/contrast/textures/map_avatar_16.tga
deleted file mode 100644
index f59e9e9193..0000000000
--- a/indra/newview/skins/contrast/textures/map_avatar_16.tga
+++ /dev/null
Binary files differ
diff --git a/indra/newview/skins/contrast/textures/map_avatar_32.tga b/indra/newview/skins/contrast/textures/map_avatar_32.tga
deleted file mode 100644
index aebeab4093..0000000000
--- a/indra/newview/skins/contrast/textures/map_avatar_32.tga
+++ /dev/null
Binary files differ
diff --git a/indra/newview/skins/contrast/textures/map_avatar_8.tga b/indra/newview/skins/contrast/textures/map_avatar_8.tga
deleted file mode 100644
index 8500eadeba..0000000000
--- a/indra/newview/skins/contrast/textures/map_avatar_8.tga
+++ /dev/null
Binary files differ
diff --git a/indra/newview/skins/contrast/textures/map_avatar_above_32.tga b/indra/newview/skins/contrast/textures/map_avatar_above_32.tga
deleted file mode 100644
index 65bd0561a7..0000000000
--- a/indra/newview/skins/contrast/textures/map_avatar_above_32.tga
+++ /dev/null
Binary files differ
diff --git a/indra/newview/skins/contrast/textures/map_avatar_below_32.tga b/indra/newview/skins/contrast/textures/map_avatar_below_32.tga
deleted file mode 100644
index 496c44b369..0000000000
--- a/indra/newview/skins/contrast/textures/map_avatar_below_32.tga
+++ /dev/null
Binary files differ
diff --git a/indra/newview/skins/contrast/textures/map_avatar_unknown_32.tga b/indra/newview/skins/contrast/textures/map_avatar_unknown_32.tga
deleted file mode 100644
index d1192478c6..0000000000
--- a/indra/newview/skins/contrast/textures/map_avatar_unknown_32.tga
+++ /dev/null
Binary files differ
diff --git a/indra/newview/skins/contrast/textures/map_avatar_you_32.tga b/indra/newview/skins/contrast/textures/map_avatar_you_32.tga
deleted file mode 100644
index 84b57aceaf..0000000000
--- a/indra/newview/skins/contrast/textures/map_avatar_you_32.tga
+++ /dev/null
Binary files differ
diff --git a/indra/newview/skins/contrast/textures/map_event.tga b/indra/newview/skins/contrast/textures/map_event.tga
deleted file mode 100644
index 2c06d08fd2..0000000000
--- a/indra/newview/skins/contrast/textures/map_event.tga
+++ /dev/null
Binary files differ
diff --git a/indra/newview/skins/contrast/textures/map_home.tga b/indra/newview/skins/contrast/textures/map_home.tga
deleted file mode 100644
index acaaa3db44..0000000000
--- a/indra/newview/skins/contrast/textures/map_home.tga
+++ /dev/null
Binary files differ
diff --git a/indra/newview/skins/contrast/textures/map_infohub.tga b/indra/newview/skins/contrast/textures/map_infohub.tga
deleted file mode 100644
index d0134fa5fe..0000000000
--- a/indra/newview/skins/contrast/textures/map_infohub.tga
+++ /dev/null
Binary files differ
diff --git a/indra/newview/skins/contrast/textures/map_telehub.tga b/indra/newview/skins/contrast/textures/map_telehub.tga
deleted file mode 100644
index 545b8e532c..0000000000
--- a/indra/newview/skins/contrast/textures/map_telehub.tga
+++ /dev/null
Binary files differ
diff --git a/indra/newview/skins/contrast/textures/map_track_16.tga b/indra/newview/skins/contrast/textures/map_track_16.tga
deleted file mode 100644
index 451ce24cf0..0000000000
--- a/indra/newview/skins/contrast/textures/map_track_16.tga
+++ /dev/null
Binary files differ
diff --git a/indra/newview/skins/contrast/textures/map_ui_collapse_icon.png b/indra/newview/skins/contrast/textures/map_ui_collapse_icon.png
deleted file mode 100644
index e4de49d4af..0000000000
--- a/indra/newview/skins/contrast/textures/map_ui_collapse_icon.png
+++ /dev/null
Binary files differ
diff --git a/indra/newview/skins/contrast/textures/map_ui_expand_icon.png b/indra/newview/skins/contrast/textures/map_ui_expand_icon.png
deleted file mode 100644
index 08734b4cc0..0000000000
--- a/indra/newview/skins/contrast/textures/map_ui_expand_icon.png
+++ /dev/null
Binary files differ
diff --git a/indra/newview/skins/contrast/textures/materials_ui_x_24.png b/indra/newview/skins/contrast/textures/materials_ui_x_24.png
deleted file mode 100644
index 6d88554914..0000000000
--- a/indra/newview/skins/contrast/textures/materials_ui_x_24.png
+++ /dev/null
Binary files differ
diff --git a/indra/newview/skins/contrast/textures/menu_separator.png b/indra/newview/skins/contrast/textures/menu_separator.png
deleted file mode 100644
index 7bb27c499d..0000000000
--- a/indra/newview/skins/contrast/textures/menu_separator.png
+++ /dev/null
Binary files differ
diff --git a/indra/newview/skins/contrast/textures/missing_asset.tga b/indra/newview/skins/contrast/textures/missing_asset.tga
deleted file mode 100644
index 9a43f4db5d..0000000000
--- a/indra/newview/skins/contrast/textures/missing_asset.tga
+++ /dev/null
Binary files differ
diff --git a/indra/newview/skins/contrast/textures/navbar/Arrow_Left_Off.png b/indra/newview/skins/contrast/textures/navbar/Arrow_Left_Off.png
deleted file mode 100644
index 19569501fe..0000000000
--- a/indra/newview/skins/contrast/textures/navbar/Arrow_Left_Off.png
+++ /dev/null
Binary files differ
diff --git a/indra/newview/skins/contrast/textures/navbar/Arrow_Right_Off.png b/indra/newview/skins/contrast/textures/navbar/Arrow_Right_Off.png
deleted file mode 100644
index 3648c42656..0000000000
--- a/indra/newview/skins/contrast/textures/navbar/Arrow_Right_Off.png
+++ /dev/null
Binary files differ
diff --git a/indra/newview/skins/contrast/textures/navbar/Favorite_Link_Over.png b/indra/newview/skins/contrast/textures/navbar/Favorite_Link_Over.png
deleted file mode 100644
index d4f126f969..0000000000
--- a/indra/newview/skins/contrast/textures/navbar/Favorite_Link_Over.png
+++ /dev/null
Binary files differ
diff --git a/indra/newview/skins/contrast/textures/navbar/FileMenu_Divider.png b/indra/newview/skins/contrast/textures/navbar/FileMenu_Divider.png
deleted file mode 100644
index 5ab4abc5b8..0000000000
--- a/indra/newview/skins/contrast/textures/navbar/FileMenu_Divider.png
+++ /dev/null
Binary files differ
diff --git a/indra/newview/skins/contrast/textures/navbar/Flag.png b/indra/newview/skins/contrast/textures/navbar/Flag.png
deleted file mode 100644
index df53c89224..0000000000
--- a/indra/newview/skins/contrast/textures/navbar/Flag.png
+++ /dev/null
Binary files differ
diff --git a/indra/newview/skins/contrast/textures/navbar/Help_Press.png b/indra/newview/skins/contrast/textures/navbar/Help_Press.png
deleted file mode 100644
index ed3695f9d5..0000000000
--- a/indra/newview/skins/contrast/textures/navbar/Help_Press.png
+++ /dev/null
Binary files differ
diff --git a/indra/newview/skins/contrast/textures/navbar/Home_Off.png b/indra/newview/skins/contrast/textures/navbar/Home_Off.png
deleted file mode 100644
index fe3bc63b77..0000000000
--- a/indra/newview/skins/contrast/textures/navbar/Home_Off.png
+++ /dev/null
Binary files differ
diff --git a/indra/newview/skins/contrast/textures/navbar/Info_Off.png b/indra/newview/skins/contrast/textures/navbar/Info_Off.png
deleted file mode 100644
index 64722255a3..0000000000
--- a/indra/newview/skins/contrast/textures/navbar/Info_Off.png
+++ /dev/null
Binary files differ
diff --git a/indra/newview/skins/contrast/textures/navbar/Info_Over.png b/indra/newview/skins/contrast/textures/navbar/Info_Over.png
deleted file mode 100644
index 84f1d03129..0000000000
--- a/indra/newview/skins/contrast/textures/navbar/Info_Over.png
+++ /dev/null
Binary files differ
diff --git a/indra/newview/skins/contrast/textures/navbar/Info_Press.png b/indra/newview/skins/contrast/textures/navbar/Info_Press.png
deleted file mode 100644
index 169105829e..0000000000
--- a/indra/newview/skins/contrast/textures/navbar/Info_Press.png
+++ /dev/null
Binary files differ
diff --git a/indra/newview/skins/contrast/textures/navbar/Landmarks.png b/indra/newview/skins/contrast/textures/navbar/Landmarks.png
deleted file mode 100644
index 2b35de913b..0000000000
--- a/indra/newview/skins/contrast/textures/navbar/Landmarks.png
+++ /dev/null
Binary files differ
diff --git a/indra/newview/skins/contrast/textures/navbar/Lock.png b/indra/newview/skins/contrast/textures/navbar/Lock.png
deleted file mode 100644
index cf569d6ad2..0000000000
--- a/indra/newview/skins/contrast/textures/navbar/Lock.png
+++ /dev/null
Binary files differ
diff --git a/indra/newview/skins/contrast/textures/navbar/Search.png b/indra/newview/skins/contrast/textures/navbar/Search.png
deleted file mode 100644
index 4c29e57f7b..0000000000
--- a/indra/newview/skins/contrast/textures/navbar/Search.png
+++ /dev/null
Binary files differ
diff --git a/indra/newview/skins/contrast/textures/notify_caution_icon.tga b/indra/newview/skins/contrast/textures/notify_caution_icon.tga
deleted file mode 100644
index abc23d1d7a..0000000000
--- a/indra/newview/skins/contrast/textures/notify_caution_icon.tga
+++ /dev/null
Binary files differ
diff --git a/indra/newview/skins/contrast/textures/pixiesmall.j2c b/indra/newview/skins/contrast/textures/pixiesmall.j2c
deleted file mode 100644
index a1ff64014b..0000000000
--- a/indra/newview/skins/contrast/textures/pixiesmall.j2c
+++ /dev/null
Binary files differ
diff --git a/indra/newview/skins/contrast/textures/red_x.png b/indra/newview/skins/contrast/textures/red_x.png
deleted file mode 100644
index a61202f09b..0000000000
--- a/indra/newview/skins/contrast/textures/red_x.png
+++ /dev/null
Binary files differ
diff --git a/indra/newview/skins/contrast/textures/rounded_square.j2c b/indra/newview/skins/contrast/textures/rounded_square.j2c
deleted file mode 100644
index c8bb572fa9..0000000000
--- a/indra/newview/skins/contrast/textures/rounded_square.j2c
+++ /dev/null
Binary files differ
diff --git a/indra/newview/skins/contrast/textures/script_error.j2c b/indra/newview/skins/contrast/textures/script_error.j2c
deleted file mode 100644
index 893cb642e7..0000000000
--- a/indra/newview/skins/contrast/textures/script_error.j2c
+++ /dev/null
Binary files differ
diff --git a/indra/newview/skins/contrast/textures/silhouette.j2c b/indra/newview/skins/contrast/textures/silhouette.j2c
deleted file mode 100644
index 3859d4cb34..0000000000
--- a/indra/newview/skins/contrast/textures/silhouette.j2c
+++ /dev/null
Binary files differ
diff --git a/indra/newview/skins/contrast/textures/slim_icon_16_viewer.tga b/indra/newview/skins/contrast/textures/slim_icon_16_viewer.tga
deleted file mode 100644
index 552181d36a..0000000000
--- a/indra/newview/skins/contrast/textures/slim_icon_16_viewer.tga
+++ /dev/null
Binary files differ
diff --git a/indra/newview/skins/contrast/textures/snapshot_download.png b/indra/newview/skins/contrast/textures/snapshot_download.png
deleted file mode 100644
index 6aa1abded5..0000000000
--- a/indra/newview/skins/contrast/textures/snapshot_download.png
+++ /dev/null
Binary files differ
diff --git a/indra/newview/skins/contrast/textures/snapshot_email.png b/indra/newview/skins/contrast/textures/snapshot_email.png
deleted file mode 100644
index dee784a9bf..0000000000
--- a/indra/newview/skins/contrast/textures/snapshot_email.png
+++ /dev/null
Binary files differ
diff --git a/indra/newview/skins/contrast/textures/spacer24.tga b/indra/newview/skins/contrast/textures/spacer24.tga
deleted file mode 100644
index c7cab6b38c..0000000000
--- a/indra/newview/skins/contrast/textures/spacer24.tga
+++ /dev/null
Binary files differ
diff --git a/indra/newview/skins/contrast/textures/tabarea.tga b/indra/newview/skins/contrast/textures/tabarea.tga
deleted file mode 100644
index 5517aebfc8..0000000000
--- a/indra/newview/skins/contrast/textures/tabarea.tga
+++ /dev/null
Binary files differ
diff --git a/indra/newview/skins/contrast/textures/taskpanel/Activate_Checkmark.png b/indra/newview/skins/contrast/textures/taskpanel/Activate_Checkmark.png
deleted file mode 100644
index 213acbe87b..0000000000
--- a/indra/newview/skins/contrast/textures/taskpanel/Activate_Checkmark.png
+++ /dev/null
Binary files differ
diff --git a/indra/newview/skins/contrast/textures/taskpanel/Sidebar_Icon_Dock_Foreground.png b/indra/newview/skins/contrast/textures/taskpanel/Sidebar_Icon_Dock_Foreground.png
deleted file mode 100644
index 4e59042e33..0000000000
--- a/indra/newview/skins/contrast/textures/taskpanel/Sidebar_Icon_Dock_Foreground.png
+++ /dev/null
Binary files differ
diff --git a/indra/newview/skins/contrast/textures/taskpanel/Sidebar_Icon_Dock_Press.png b/indra/newview/skins/contrast/textures/taskpanel/Sidebar_Icon_Dock_Press.png
deleted file mode 100644
index be7b298bb8..0000000000
--- a/indra/newview/skins/contrast/textures/taskpanel/Sidebar_Icon_Dock_Press.png
+++ /dev/null
Binary files differ
diff --git a/indra/newview/skins/contrast/textures/taskpanel/Sidebar_Icon_Undock_Foreground.png b/indra/newview/skins/contrast/textures/taskpanel/Sidebar_Icon_Undock_Foreground.png
deleted file mode 100644
index 1e234ff09b..0000000000
--- a/indra/newview/skins/contrast/textures/taskpanel/Sidebar_Icon_Undock_Foreground.png
+++ /dev/null
Binary files differ
diff --git a/indra/newview/skins/contrast/textures/taskpanel/Sidebar_Icon_Undock_Press.png b/indra/newview/skins/contrast/textures/taskpanel/Sidebar_Icon_Undock_Press.png
deleted file mode 100644
index 48c78b453d..0000000000
--- a/indra/newview/skins/contrast/textures/taskpanel/Sidebar_Icon_Undock_Press.png
+++ /dev/null
Binary files differ
diff --git a/indra/newview/skins/contrast/textures/taskpanel/TabIcon_Close_Off.png b/indra/newview/skins/contrast/textures/taskpanel/TabIcon_Close_Off.png
deleted file mode 100644
index bc4e00c646..0000000000
--- a/indra/newview/skins/contrast/textures/taskpanel/TabIcon_Close_Off.png
+++ /dev/null
Binary files differ
diff --git a/indra/newview/skins/contrast/textures/taskpanel/TabIcon_Home_Selected.png b/indra/newview/skins/contrast/textures/taskpanel/TabIcon_Home_Selected.png
deleted file mode 100644
index 293aeef5e6..0000000000
--- a/indra/newview/skins/contrast/textures/taskpanel/TabIcon_Home_Selected.png
+++ /dev/null
Binary files differ
diff --git a/indra/newview/skins/contrast/textures/taskpanel/TabIcon_Me_Off.png b/indra/newview/skins/contrast/textures/taskpanel/TabIcon_Me_Off.png
deleted file mode 100644
index 760db9360d..0000000000
--- a/indra/newview/skins/contrast/textures/taskpanel/TabIcon_Me_Off.png
+++ /dev/null
Binary files differ
diff --git a/indra/newview/skins/contrast/textures/taskpanel/TabIcon_Open_Off.png b/indra/newview/skins/contrast/textures/taskpanel/TabIcon_Open_Off.png
deleted file mode 100644
index 4556602f58..0000000000
--- a/indra/newview/skins/contrast/textures/taskpanel/TabIcon_Open_Off.png
+++ /dev/null
Binary files differ
diff --git a/indra/newview/skins/contrast/textures/taskpanel/TabIcon_People_Off.png b/indra/newview/skins/contrast/textures/taskpanel/TabIcon_People_Off.png
deleted file mode 100644
index 691b600510..0000000000
--- a/indra/newview/skins/contrast/textures/taskpanel/TabIcon_People_Off.png
+++ /dev/null
Binary files differ
diff --git a/indra/newview/skins/contrast/textures/taskpanel/TabIcon_Places_Off.png b/indra/newview/skins/contrast/textures/taskpanel/TabIcon_Places_Off.png
deleted file mode 100644
index f5a5f7a846..0000000000
--- a/indra/newview/skins/contrast/textures/taskpanel/TabIcon_Places_Off.png
+++ /dev/null
Binary files differ
diff --git a/indra/newview/skins/contrast/textures/taskpanel/TabIcon_Things_Off.png b/indra/newview/skins/contrast/textures/taskpanel/TabIcon_Things_Off.png
deleted file mode 100644
index e56eda9802..0000000000
--- a/indra/newview/skins/contrast/textures/taskpanel/TabIcon_Things_Off.png
+++ /dev/null
Binary files differ
diff --git a/indra/newview/skins/contrast/textures/taskpanel/TaskPanel_Tab_Off.png b/indra/newview/skins/contrast/textures/taskpanel/TaskPanel_Tab_Off.png
deleted file mode 100644
index 4ed7a2b183..0000000000
--- a/indra/newview/skins/contrast/textures/taskpanel/TaskPanel_Tab_Off.png
+++ /dev/null
Binary files differ
diff --git a/indra/newview/skins/contrast/textures/taskpanel/TaskPanel_Tab_Selected.png b/indra/newview/skins/contrast/textures/taskpanel/TaskPanel_Tab_Selected.png
deleted file mode 100644
index b3316386b9..0000000000
--- a/indra/newview/skins/contrast/textures/taskpanel/TaskPanel_Tab_Selected.png
+++ /dev/null
Binary files differ
diff --git a/indra/newview/skins/contrast/textures/tearoff_pressed.tga b/indra/newview/skins/contrast/textures/tearoff_pressed.tga
deleted file mode 100644
index 620d109de0..0000000000
--- a/indra/newview/skins/contrast/textures/tearoff_pressed.tga
+++ /dev/null
Binary files differ
diff --git a/indra/newview/skins/contrast/textures/tearoffbox.tga b/indra/newview/skins/contrast/textures/tearoffbox.tga
deleted file mode 100644
index 0670d2e91b..0000000000
--- a/indra/newview/skins/contrast/textures/tearoffbox.tga
+++ /dev/null
Binary files differ
diff --git a/indra/newview/skins/contrast/textures/toolbar_icons/360_capture.png b/indra/newview/skins/contrast/textures/toolbar_icons/360_capture.png
deleted file mode 100644
index 163cebe29f..0000000000
--- a/indra/newview/skins/contrast/textures/toolbar_icons/360_capture.png
+++ /dev/null
Binary files differ
diff --git a/indra/newview/skins/contrast/textures/toolbar_icons/appearance.png b/indra/newview/skins/contrast/textures/toolbar_icons/appearance.png
deleted file mode 100644
index e6b1365388..0000000000
--- a/indra/newview/skins/contrast/textures/toolbar_icons/appearance.png
+++ /dev/null
Binary files differ
diff --git a/indra/newview/skins/contrast/textures/toolbar_icons/avatars.png b/indra/newview/skins/contrast/textures/toolbar_icons/avatars.png
deleted file mode 100644
index 8fa0600cee..0000000000
--- a/indra/newview/skins/contrast/textures/toolbar_icons/avatars.png
+++ /dev/null
Binary files differ
diff --git a/indra/newview/skins/contrast/textures/toolbar_icons/build.png b/indra/newview/skins/contrast/textures/toolbar_icons/build.png
deleted file mode 100644
index e21ab3f0e4..0000000000
--- a/indra/newview/skins/contrast/textures/toolbar_icons/build.png
+++ /dev/null
Binary files differ
diff --git a/indra/newview/skins/contrast/textures/toolbar_icons/chat.png b/indra/newview/skins/contrast/textures/toolbar_icons/chat.png
deleted file mode 100644
index e0dbac495f..0000000000
--- a/indra/newview/skins/contrast/textures/toolbar_icons/chat.png
+++ /dev/null
Binary files differ
diff --git a/indra/newview/skins/contrast/textures/toolbar_icons/destinations.png b/indra/newview/skins/contrast/textures/toolbar_icons/destinations.png
deleted file mode 100644
index e2325f083a..0000000000
--- a/indra/newview/skins/contrast/textures/toolbar_icons/destinations.png
+++ /dev/null
Binary files differ
diff --git a/indra/newview/skins/contrast/textures/toolbar_icons/environments.png b/indra/newview/skins/contrast/textures/toolbar_icons/environments.png
deleted file mode 100644
index 620db9f793..0000000000
--- a/indra/newview/skins/contrast/textures/toolbar_icons/environments.png
+++ /dev/null
Binary files differ
diff --git a/indra/newview/skins/contrast/textures/toolbar_icons/facebook.png b/indra/newview/skins/contrast/textures/toolbar_icons/facebook.png
deleted file mode 100644
index ae524b643f..0000000000
--- a/indra/newview/skins/contrast/textures/toolbar_icons/facebook.png
+++ /dev/null
Binary files differ
diff --git a/indra/newview/skins/contrast/textures/toolbar_icons/favorite_folder.png b/indra/newview/skins/contrast/textures/toolbar_icons/favorite_folder.png
deleted file mode 100644
index 811efffc0b..0000000000
--- a/indra/newview/skins/contrast/textures/toolbar_icons/favorite_folder.png
+++ /dev/null
Binary files differ
diff --git a/indra/newview/skins/contrast/textures/toolbar_icons/flickr.png b/indra/newview/skins/contrast/textures/toolbar_icons/flickr.png
deleted file mode 100644
index 7fce9f0df2..0000000000
--- a/indra/newview/skins/contrast/textures/toolbar_icons/flickr.png
+++ /dev/null
Binary files differ
diff --git a/indra/newview/skins/contrast/textures/toolbar_icons/gestures.png b/indra/newview/skins/contrast/textures/toolbar_icons/gestures.png
deleted file mode 100644
index 2404bb4e25..0000000000
--- a/indra/newview/skins/contrast/textures/toolbar_icons/gestures.png
+++ /dev/null
Binary files differ
diff --git a/indra/newview/skins/contrast/textures/toolbar_icons/grid_status.png b/indra/newview/skins/contrast/textures/toolbar_icons/grid_status.png
deleted file mode 100644
index b92b93cfb4..0000000000
--- a/indra/newview/skins/contrast/textures/toolbar_icons/grid_status.png
+++ /dev/null
Binary files differ
diff --git a/indra/newview/skins/contrast/textures/toolbar_icons/howto.png b/indra/newview/skins/contrast/textures/toolbar_icons/howto.png
deleted file mode 100644
index 8594d71113..0000000000
--- a/indra/newview/skins/contrast/textures/toolbar_icons/howto.png
+++ /dev/null
Binary files differ
diff --git a/indra/newview/skins/contrast/textures/toolbar_icons/inventory.png b/indra/newview/skins/contrast/textures/toolbar_icons/inventory.png
deleted file mode 100644
index ab3191255e..0000000000
--- a/indra/newview/skins/contrast/textures/toolbar_icons/inventory.png
+++ /dev/null
Binary files differ
diff --git a/indra/newview/skins/contrast/textures/toolbar_icons/land.png b/indra/newview/skins/contrast/textures/toolbar_icons/land.png
deleted file mode 100644
index 89ea7604a4..0000000000
--- a/indra/newview/skins/contrast/textures/toolbar_icons/land.png
+++ /dev/null
Binary files differ
diff --git a/indra/newview/skins/contrast/textures/toolbar_icons/map.png b/indra/newview/skins/contrast/textures/toolbar_icons/map.png
deleted file mode 100644
index ed1049b7db..0000000000
--- a/indra/newview/skins/contrast/textures/toolbar_icons/map.png
+++ /dev/null
Binary files differ
diff --git a/indra/newview/skins/contrast/textures/toolbar_icons/marketplace.png b/indra/newview/skins/contrast/textures/toolbar_icons/marketplace.png
deleted file mode 100644
index 62bad20be6..0000000000
--- a/indra/newview/skins/contrast/textures/toolbar_icons/marketplace.png
+++ /dev/null
Binary files differ
diff --git a/indra/newview/skins/contrast/textures/toolbar_icons/mini_cart.png b/indra/newview/skins/contrast/textures/toolbar_icons/mini_cart.png
deleted file mode 100644
index 9eeb1d4e09..0000000000
--- a/indra/newview/skins/contrast/textures/toolbar_icons/mini_cart.png
+++ /dev/null
Binary files differ
diff --git a/indra/newview/skins/contrast/textures/toolbar_icons/mini_map.png b/indra/newview/skins/contrast/textures/toolbar_icons/mini_map.png
deleted file mode 100644
index ab0a654056..0000000000
--- a/indra/newview/skins/contrast/textures/toolbar_icons/mini_map.png
+++ /dev/null
Binary files differ
diff --git a/indra/newview/skins/contrast/textures/toolbar_icons/mktlistings.png b/indra/newview/skins/contrast/textures/toolbar_icons/mktlistings.png
deleted file mode 100644
index a6f90461d7..0000000000
--- a/indra/newview/skins/contrast/textures/toolbar_icons/mktlistings.png
+++ /dev/null
Binary files differ
diff --git a/indra/newview/skins/contrast/textures/toolbar_icons/move.png b/indra/newview/skins/contrast/textures/toolbar_icons/move.png
deleted file mode 100644
index 5c2ced7375..0000000000
--- a/indra/newview/skins/contrast/textures/toolbar_icons/move.png
+++ /dev/null
Binary files differ
diff --git a/indra/newview/skins/contrast/textures/toolbar_icons/nearbyvoice.png b/indra/newview/skins/contrast/textures/toolbar_icons/nearbyvoice.png
deleted file mode 100644
index 77a7cd5f44..0000000000
--- a/indra/newview/skins/contrast/textures/toolbar_icons/nearbyvoice.png
+++ /dev/null
Binary files differ
diff --git a/indra/newview/skins/contrast/textures/toolbar_icons/outbox.png b/indra/newview/skins/contrast/textures/toolbar_icons/outbox.png
deleted file mode 100644
index 0f3db1c47c..0000000000
--- a/indra/newview/skins/contrast/textures/toolbar_icons/outbox.png
+++ /dev/null
Binary files differ
diff --git a/indra/newview/skins/contrast/textures/toolbar_icons/people.png b/indra/newview/skins/contrast/textures/toolbar_icons/people.png
deleted file mode 100644
index 7228ae8e2f..0000000000
--- a/indra/newview/skins/contrast/textures/toolbar_icons/people.png
+++ /dev/null
Binary files differ
diff --git a/indra/newview/skins/contrast/textures/toolbar_icons/performance.png b/indra/newview/skins/contrast/textures/toolbar_icons/performance.png
deleted file mode 100644
index 91baf849c8..0000000000
--- a/indra/newview/skins/contrast/textures/toolbar_icons/performance.png
+++ /dev/null
Binary files differ
diff --git a/indra/newview/skins/contrast/textures/toolbar_icons/picks.png b/indra/newview/skins/contrast/textures/toolbar_icons/picks.png
deleted file mode 100644
index befda04b42..0000000000
--- a/indra/newview/skins/contrast/textures/toolbar_icons/picks.png
+++ /dev/null
Binary files differ
diff --git a/indra/newview/skins/contrast/textures/toolbar_icons/places.png b/indra/newview/skins/contrast/textures/toolbar_icons/places.png
deleted file mode 100644
index 97d9fa066c..0000000000
--- a/indra/newview/skins/contrast/textures/toolbar_icons/places.png
+++ /dev/null
Binary files differ
diff --git a/indra/newview/skins/contrast/textures/toolbar_icons/preferences.png b/indra/newview/skins/contrast/textures/toolbar_icons/preferences.png
deleted file mode 100644
index 4ccd7b8ae1..0000000000
--- a/indra/newview/skins/contrast/textures/toolbar_icons/preferences.png
+++ /dev/null
Binary files differ
diff --git a/indra/newview/skins/contrast/textures/toolbar_icons/profile.png b/indra/newview/skins/contrast/textures/toolbar_icons/profile.png
deleted file mode 100644
index 32fe2bf8ac..0000000000
--- a/indra/newview/skins/contrast/textures/toolbar_icons/profile.png
+++ /dev/null
Binary files differ
diff --git a/indra/newview/skins/contrast/textures/toolbar_icons/report_abuse.png b/indra/newview/skins/contrast/textures/toolbar_icons/report_abuse.png
deleted file mode 100644
index d5cb6ca259..0000000000
--- a/indra/newview/skins/contrast/textures/toolbar_icons/report_abuse.png
+++ /dev/null
Binary files differ
diff --git a/indra/newview/skins/contrast/textures/toolbar_icons/resync_animations.png b/indra/newview/skins/contrast/textures/toolbar_icons/resync_animations.png
deleted file mode 100644
index dc9ee9c428..0000000000
--- a/indra/newview/skins/contrast/textures/toolbar_icons/resync_animations.png
+++ /dev/null
Binary files differ
diff --git a/indra/newview/skins/contrast/textures/toolbar_icons/search.png b/indra/newview/skins/contrast/textures/toolbar_icons/search.png
deleted file mode 100644
index bcb11e950d..0000000000
--- a/indra/newview/skins/contrast/textures/toolbar_icons/search.png
+++ /dev/null
Binary files differ
diff --git a/indra/newview/skins/contrast/textures/toolbar_icons/snapshot.png b/indra/newview/skins/contrast/textures/toolbar_icons/snapshot.png
deleted file mode 100644
index d26da9b1d2..0000000000
--- a/indra/newview/skins/contrast/textures/toolbar_icons/snapshot.png
+++ /dev/null
Binary files differ
diff --git a/indra/newview/skins/contrast/textures/toolbar_icons/speak.png b/indra/newview/skins/contrast/textures/toolbar_icons/speak.png
deleted file mode 100644
index 10cd354c5c..0000000000
--- a/indra/newview/skins/contrast/textures/toolbar_icons/speak.png
+++ /dev/null
Binary files differ
diff --git a/indra/newview/skins/contrast/textures/toolbar_icons/view.png b/indra/newview/skins/contrast/textures/toolbar_icons/view.png
deleted file mode 100644
index ddf0df7c26..0000000000
--- a/indra/newview/skins/contrast/textures/toolbar_icons/view.png
+++ /dev/null
Binary files differ
diff --git a/indra/newview/skins/contrast/textures/transparent.j2c b/indra/newview/skins/contrast/textures/transparent.j2c
deleted file mode 100644
index 1068e940b9..0000000000
--- a/indra/newview/skins/contrast/textures/transparent.j2c
+++ /dev/null
Binary files differ
diff --git a/indra/newview/skins/contrast/textures/up_arrow.png b/indra/newview/skins/contrast/textures/up_arrow.png
deleted file mode 100644
index 76f839510e..0000000000
--- a/indra/newview/skins/contrast/textures/up_arrow.png
+++ /dev/null
Binary files differ
diff --git a/indra/newview/skins/contrast/textures/uv_test1.j2c b/indra/newview/skins/contrast/textures/uv_test1.j2c
deleted file mode 100644
index 3d5b541796..0000000000
--- a/indra/newview/skins/contrast/textures/uv_test1.j2c
+++ /dev/null
Binary files differ
diff --git a/indra/newview/skins/contrast/textures/uv_test2.tga b/indra/newview/skins/contrast/textures/uv_test2.tga
deleted file mode 100644
index a16000d1e4..0000000000
--- a/indra/newview/skins/contrast/textures/uv_test2.tga
+++ /dev/null
Binary files differ
diff --git a/indra/newview/skins/contrast/textures/voice_meter_dot.j2c b/indra/newview/skins/contrast/textures/voice_meter_dot.j2c
deleted file mode 100644
index e536c3338a..0000000000
--- a/indra/newview/skins/contrast/textures/voice_meter_dot.j2c
+++ /dev/null
Binary files differ
diff --git a/indra/newview/skins/contrast/textures/voice_meter_rings.j2c b/indra/newview/skins/contrast/textures/voice_meter_rings.j2c
deleted file mode 100644
index 17e7c6c6a1..0000000000
--- a/indra/newview/skins/contrast/textures/voice_meter_rings.j2c
+++ /dev/null
Binary files differ
diff --git a/indra/newview/skins/contrast/textures/white.tga b/indra/newview/skins/contrast/textures/white.tga
deleted file mode 100644
index 9fe68631cf..0000000000
--- a/indra/newview/skins/contrast/textures/white.tga
+++ /dev/null
Binary files differ
diff --git a/indra/newview/skins/contrast/textures/widgets/track_control_moon_back.png b/indra/newview/skins/contrast/textures/widgets/track_control_moon_back.png
deleted file mode 100644
index 03d1e805e1..0000000000
--- a/indra/newview/skins/contrast/textures/widgets/track_control_moon_back.png
+++ /dev/null
Binary files differ
diff --git a/indra/newview/skins/contrast/textures/widgets/track_control_moon_front.png b/indra/newview/skins/contrast/textures/widgets/track_control_moon_front.png
deleted file mode 100644
index cdc52fe08a..0000000000
--- a/indra/newview/skins/contrast/textures/widgets/track_control_moon_front.png
+++ /dev/null
Binary files differ
diff --git a/indra/newview/skins/contrast/textures/widgets/track_control_rotate_bottom.png b/indra/newview/skins/contrast/textures/widgets/track_control_rotate_bottom.png
deleted file mode 100644
index c08b54c269..0000000000
--- a/indra/newview/skins/contrast/textures/widgets/track_control_rotate_bottom.png
+++ /dev/null
Binary files differ
diff --git a/indra/newview/skins/contrast/textures/widgets/track_control_rotate_bottom_active.png b/indra/newview/skins/contrast/textures/widgets/track_control_rotate_bottom_active.png
deleted file mode 100644
index a2b37d1b43..0000000000
--- a/indra/newview/skins/contrast/textures/widgets/track_control_rotate_bottom_active.png
+++ /dev/null
Binary files differ
diff --git a/indra/newview/skins/contrast/textures/widgets/track_control_rotate_left_side.png b/indra/newview/skins/contrast/textures/widgets/track_control_rotate_left_side.png
deleted file mode 100644
index 3439e8717f..0000000000
--- a/indra/newview/skins/contrast/textures/widgets/track_control_rotate_left_side.png
+++ /dev/null
Binary files differ
diff --git a/indra/newview/skins/contrast/textures/widgets/track_control_rotate_left_side_active.png b/indra/newview/skins/contrast/textures/widgets/track_control_rotate_left_side_active.png
deleted file mode 100644
index fa745175be..0000000000
--- a/indra/newview/skins/contrast/textures/widgets/track_control_rotate_left_side_active.png
+++ /dev/null
Binary files differ
diff --git a/indra/newview/skins/contrast/textures/widgets/track_control_rotate_right_side.png b/indra/newview/skins/contrast/textures/widgets/track_control_rotate_right_side.png
deleted file mode 100644
index f92fdb3d92..0000000000
--- a/indra/newview/skins/contrast/textures/widgets/track_control_rotate_right_side.png
+++ /dev/null
Binary files differ
diff --git a/indra/newview/skins/contrast/textures/widgets/track_control_rotate_right_side_active.png b/indra/newview/skins/contrast/textures/widgets/track_control_rotate_right_side_active.png
deleted file mode 100644
index 23571d6473..0000000000
--- a/indra/newview/skins/contrast/textures/widgets/track_control_rotate_right_side_active.png
+++ /dev/null
Binary files differ
diff --git a/indra/newview/skins/contrast/textures/widgets/track_control_rotate_top.png b/indra/newview/skins/contrast/textures/widgets/track_control_rotate_top.png
deleted file mode 100644
index ae67084a7d..0000000000
--- a/indra/newview/skins/contrast/textures/widgets/track_control_rotate_top.png
+++ /dev/null
Binary files differ
diff --git a/indra/newview/skins/contrast/textures/widgets/track_control_rotate_top_active.png b/indra/newview/skins/contrast/textures/widgets/track_control_rotate_top_active.png
deleted file mode 100644
index 4e1d0ad096..0000000000
--- a/indra/newview/skins/contrast/textures/widgets/track_control_rotate_top_active.png
+++ /dev/null
Binary files differ
diff --git a/indra/newview/skins/contrast/textures/widgets/track_control_sphere.png b/indra/newview/skins/contrast/textures/widgets/track_control_sphere.png
deleted file mode 100644
index 6ba8d3877f..0000000000
--- a/indra/newview/skins/contrast/textures/widgets/track_control_sphere.png
+++ /dev/null
Binary files differ
diff --git a/indra/newview/skins/contrast/textures/widgets/track_control_sun_back.png b/indra/newview/skins/contrast/textures/widgets/track_control_sun_back.png
deleted file mode 100644
index b3191ccc5d..0000000000
--- a/indra/newview/skins/contrast/textures/widgets/track_control_sun_back.png
+++ /dev/null
Binary files differ
diff --git a/indra/newview/skins/contrast/textures/widgets/track_control_sun_front.png b/indra/newview/skins/contrast/textures/widgets/track_control_sun_front.png
deleted file mode 100644
index 1cdcbf7861..0000000000
--- a/indra/newview/skins/contrast/textures/widgets/track_control_sun_front.png
+++ /dev/null
Binary files differ
diff --git a/indra/newview/skins/contrast/textures/windows/add_payment_image_center.png b/indra/newview/skins/contrast/textures/windows/add_payment_image_center.png
deleted file mode 100644
index 0b99a72f32..0000000000
--- a/indra/newview/skins/contrast/textures/windows/add_payment_image_center.png
+++ /dev/null
Binary files differ
diff --git a/indra/newview/skins/contrast/textures/windows/add_payment_image_left.png b/indra/newview/skins/contrast/textures/windows/add_payment_image_left.png
deleted file mode 100644
index a5b28d7023..0000000000
--- a/indra/newview/skins/contrast/textures/windows/add_payment_image_left.png
+++ /dev/null
Binary files differ
diff --git a/indra/newview/skins/contrast/textures/windows/add_payment_image_right.png b/indra/newview/skins/contrast/textures/windows/add_payment_image_right.png
deleted file mode 100644
index 5724d39744..0000000000
--- a/indra/newview/skins/contrast/textures/windows/add_payment_image_right.png
+++ /dev/null
Binary files differ
diff --git a/indra/newview/skins/contrast/textures/world/BeaconArrow.png b/indra/newview/skins/contrast/textures/world/BeaconArrow.png
deleted file mode 100644
index 54934f738a..0000000000
--- a/indra/newview/skins/contrast/textures/world/BeaconArrow.png
+++ /dev/null
Binary files differ
diff --git a/indra/newview/skins/contrast_gold/colors.xml b/indra/newview/skins/contrast_gold/colors.xml
new file mode 100644
index 0000000000..7249e4e6eb
--- /dev/null
+++ b/indra/newview/skins/contrast_gold/colors.xml
@@ -0,0 +1,1001 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes" ?>
+<colors>
+
+ <!-- Named Colors -->
+ <color
+ name="EmphasisColor"
+ value="0.857 0.668 0.308 1" />
+ <color
+ name="EmphasisColor_13"
+ value="0.857 0.668 0.308 0.13" />
+ <color
+ name="EmphasisColor_35"
+ value="0.857 0.668 0.308 0.35" />
+ <color
+ name="BeaconColor"
+ value="0.857 0.668 0.308 1" />
+ <color
+ name="White"
+ value="1 1 1 1" />
+ <color
+ name="White_05"
+ value="1 1 1 0.05" />
+ <color
+ name="White_10"
+ value="1 1 1 0.1" />
+ <color
+ name="White_25"
+ value="1 1 1 0.25" />
+ <color
+ name="White_50"
+ value="1 1 1 0.5" />
+ <color
+ name="LtGray"
+ value="0.7 0.7 0.7 1" />
+ <color
+ name="LtGray_35"
+ value="0.7 0.7 0.7 0.35" />
+ <color
+ name="LtGray_50"
+ value="0.7 0.7 0.7 0.50" />
+ <color
+ name="Gray"
+ value="0.4 0.4 0.4 1" />
+ <color
+ name="DkGray0"
+ value="0.05 0.05 0.05 1" />
+ <color
+ name="DkGray"
+ value="0.08 0.08 0.08 1" />
+ <color
+ name="DkGray_66"
+ value="0.08 0.08 0.08 .66" />
+ <color
+ name="DkGray2"
+ value="0.1 0.1 0.1 1" />
+ <color
+ name="MouseGray"
+ value="0.12 0.12 0.12 1" />
+ <color
+ name="Black"
+ value="0 0 0 1" />
+ <color
+ name="Black_10"
+ value="0 0 0 0.1" />
+ <color
+ name="Black_25"
+ value="0 0 0 0.25" />
+ <color
+ name="Black_50"
+ value="0 0 0 0.5" />
+ <color
+ name="FrogGreen"
+ value="0.26 0.33 0.42 1" />
+ <!-- ^(Not actually green) -->
+ <color
+ name="Red"
+ value="1 0 0 1" />
+ <color
+ name="Blue"
+ value="0 0 1 1" />
+ <color
+ name="Yellow"
+ value="1 1 0 1" />
+ <color
+ name="Green"
+ value="0 1 0 1" />
+ <color
+ name="Transparent"
+ value="0 0 0 0" />
+ <color
+ name="Purple"
+ value="1 0 1 1" />
+ <color
+ name="Lime"
+ value=".8 1 .73 1" />
+ <color
+ name="LtYellow"
+ value="1 1 .79 1" />
+ <color
+ name="DrYellow"
+ value="1 0.86 0 1" />
+ <color
+ name="LtOrange"
+ value="1 .85 .73 1" />
+ <color
+ name="MdBlue"
+ value=".07 .38 .51 1" />
+ <color
+ name="DkBlue"
+ value=".06 .06 .3 1" />
+ <color
+ name="LtRed"
+ value="1 0.2 0.2 1" />
+ <color
+ name="LtGreen"
+ value="0.2 1 0.2 1" />
+ <color
+ name="Red_80"
+ value="1 0 0 0.8" />
+ <color
+ name="DkRed"
+ value="0.3 0.06 0.06 1" />
+ <color
+ name="Green_80"
+ value="0 1 0 0.8" />
+ <color
+ name="Blue_80"
+ value="0 0 1 0.8" />
+ <color
+ name="Orange"
+ value="1 .82 .46 1" />
+
+ <!-- This color name makes potentially unused colors show up bright purple.
+ Leave this here until all Unused? are removed below, otherwise
+ the viewer generates many warnings on startup. -->
+ <color
+ name="Unused?"
+ value=".831 1 0 1" />
+
+ <!-- UI Definitions -->
+
+ <color
+ name="AccordionHeaderTextColor"
+ reference="Gray" />
+ <color
+ name="AgentChatColor"
+ reference="White" />
+ <color
+ name="AlertBoxColor"
+ value="0.24 0.24 0.24 1" />
+ <color
+ name="AlertCautionBoxColor"
+ value="1 0.82 0.46 1" />
+ <color
+ name="AlertCautionTextColor"
+ reference="LtYellow" />
+ <color
+ name="AvatarListItemIconDefaultColor"
+ reference="White" />
+ <color
+ name="AvatarListItemIconOnlineColor"
+ reference="White" />
+ <color
+ name="AvatarListItemIconOfflineColor"
+ value="0.5 0.5 0.5 0.5" />
+ <color
+ name="AvatarListItemIconVoiceInvitedColor"
+ reference="AvatarListItemIconOfflineColor" />
+ <color
+ name="AvatarListItemIconVoiceJoinedColor"
+ reference="AvatarListItemIconOnlineColor" />
+ <color
+ name="AvatarListItemIconVoiceLeftColor"
+ reference="AvatarListItemIconOfflineColor" />
+ <color
+ name="BadgeImageColor"
+ value="1.0 0.40 0.0 1.0" />
+ <color
+ name="BadgeBorderColor"
+ value="0.9 0.9 0.9 1.0" />
+ <color
+ name="BadgeLabelColor"
+ reference="White" />
+ <color
+ name="ButtonBorderColor"
+ reference="Unused?" />
+ <color
+ name="ButtonCautionImageColor"
+ reference="Unused?" />
+ <color
+ name="ButtonColor"
+ reference="Unused?" />
+ <color
+ name="ButtonFlashBgColor"
+ reference="Unused?" />
+ <color
+ name="ButtonImageColor"
+ reference="White" />
+ <color
+ name="ButtonLabelColor"
+ reference="LtGray" />
+ <color
+ name="ButtonLabelDisabledColor"
+ reference="White_25" />
+ <color
+ name="ButtonLabelSelectedColor"
+ reference="White" />
+ <color
+ name="ButtonLabelSelectedDisabledColor"
+ reference="White_25" />
+ <color
+ name="ButtonSelectedBgColor"
+ reference="Unused?" />
+ <color
+ name="ButtonSelectedColor"
+ reference="Unused?" />
+ <color
+ name="ButtonUnselectedBgColor"
+ reference="Unused?" />
+ <color
+ name="ButtonUnselectedFgColor"
+ reference="Unused?" />
+ <color
+ name="ChatHistoryBgColor"
+ reference="Transparent" />
+ <color
+ name="ChatHistoryTextColor"
+ reference="LtGray" />
+ <color
+ name="ChicletFlashColor"
+ value="0.114 0.65 0.1" />
+ <color
+ name="ColorDropShadow"
+ reference="Black_50" />
+ <color
+ name="ColorPaletteEntry01"
+ reference="Black" />
+ <color
+ name="ColorPaletteEntry02"
+ reference="Gray" />
+ <color
+ name="ColorPaletteEntry03"
+ value="0.5 0 0 1" />
+ <color
+ name="ColorPaletteEntry04"
+ value="0.5 0.5 0 1" />
+ <color
+ name="ColorPaletteEntry05"
+ value="0 0.5 0 1" />
+ <color
+ name="ColorPaletteEntry06"
+ value="0 0.5 0.5 1" />
+ <color
+ name="ColorPaletteEntry07"
+ value="0 0 0.5 1" />
+ <color
+ name="ColorPaletteEntry08"
+ value="0.5 0 0.5 1" />
+ <color
+ name="ColorPaletteEntry09"
+ value="0.5 0.5 0 1" />
+ <color
+ name="ColorPaletteEntry10"
+ value="0 0.25 0.25 1" />
+ <color
+ name="ColorPaletteEntry11"
+ value="0 0.5 1 1" />
+ <color
+ name="ColorPaletteEntry12"
+ value="0 0.25 0.5 1" />
+ <color
+ name="ColorPaletteEntry13"
+ value="0.5 0 1 1" />
+ <color
+ name="ColorPaletteEntry14"
+ value="0.5 0.25 0 1" />
+ <color
+ name="ColorPaletteEntry15"
+ reference="White" />
+ <color
+ name="ColorPaletteEntry16"
+ reference="LtYellow" />
+ <color
+ name="ColorPaletteEntry17"
+ reference="White" />
+ <color
+ name="ColorPaletteEntry18"
+ reference="LtGray" />
+ <color
+ name="ColorPaletteEntry19"
+ reference="Red" />
+ <color
+ name="ColorPaletteEntry20"
+ reference="Yellow" />
+ <color
+ name="ColorPaletteEntry21"
+ reference="Green" />
+ <color
+ name="ColorPaletteEntry22"
+ value="0 1 1 1" />
+ <color
+ name="ColorPaletteEntry23"
+ reference="Blue" />
+ <color
+ name="ColorPaletteEntry24"
+ reference="Purple" />
+ <color
+ name="ColorPaletteEntry25"
+ value="1 1 0.5 1" />
+ <color
+ name="ColorPaletteEntry26"
+ value="0 1 0.5 1" />
+ <color
+ name="ColorPaletteEntry27"
+ value="0.5 1 1 1" />
+ <color
+ name="ColorPaletteEntry28"
+ value="0.5 0.5 1 1" />
+ <color
+ name="ColorPaletteEntry29"
+ value="1 0 0.5 1" />
+ <color
+ name="ColorPaletteEntry30"
+ value="1 0.5 0 1" />
+ <color
+ name="ColorPaletteEntry31"
+ reference="White" />
+ <color
+ name="ColorPaletteEntry32"
+ reference="White" />
+ <color
+ name="ComboListBgColor"
+ reference="DkGray" />
+ <color
+ name="ConsoleBackground"
+ reference="Black" />
+ <color
+ name="ContextSilhouetteColor"
+ reference="EmphasisColor" />
+ <color
+ name="ConversationFriendColor"
+ value="0.5 0.7 0.85 1" />
+ <color
+ name="DefaultHighlightDark"
+ reference="White_10" />
+ <color
+ name="DefaultHighlightLight"
+ reference="White_25" />
+ <color
+ name="DefaultShadowDark"
+ reference="Black_50" />
+ <color
+ name="DefaultShadowLight"
+ reference="Black_50" />
+ <color
+ name="EffectColor"
+ reference="White" />
+ <color
+ name="FilterBackgroundColor"
+ reference="Black" />
+ <color
+ name="FilterTextColor"
+ reference="EmphasisColor" />
+ <color
+ name="FloaterButtonImageColor"
+ reference="Gray" />
+ <color
+ name="FloaterDefaultBackgroundColor"
+ reference="DkGray_66" />
+ <color
+ name="FloaterFocusBackgroundColor"
+ reference="DkGray2" />
+ <color
+ name="FloaterFocusBorderColor"
+ reference="Black_50" />
+ <color
+ name="FloaterUnfocusBorderColor"
+ reference="Black_50" />
+ <color
+ name="FocusColor"
+ reference="EmphasisColor" />
+ <color
+ name="FolderViewLoadingMessageTextColor"
+ value="0.3344 0.545 0.645 1" />
+ <color
+ name="FpsTextColor"
+ value="0.34 0.51 0.64 0.8" />
+ <color
+ name="GridFocusPointColor"
+ reference="White_50" />
+ <color
+ name="GridlineBGColor"
+ value="0.92 0.92 1 0.78" />
+ <color
+ name="GridlineColor"
+ reference="White" />
+ <color
+ name="GridlineShadowColor"
+ value="0 0 0 0.31" />
+ <color
+ name="GroupNotifyBoxColor"
+ value="0.3344 0.5456 0.5159 1" />
+ <color
+ name="GroupNotifyTextColor"
+ reference="White"/>
+ <color
+ name="GroupNotifyDimmedTextColor"
+ reference="LtGray" />
+ <color
+ name="GroupOverTierColor"
+ value="0.43 0.06 0.06 1" />
+ <color
+ name="HTMLLinkColor"
+ reference="EmphasisColor" />
+ <color
+ name="HealthTextColor"
+ reference="White" />
+ <color
+ name="HelpBgColor"
+ reference="Unused?" />
+ <color
+ name="HelpFgColor"
+ reference="Unused?" />
+ <color
+ name="HelpScrollHighlightColor"
+ reference="Unused?" />
+ <color
+ name="HelpScrollShadowColor"
+ reference="Unused?" />
+ <color
+ name="HelpScrollThumbColor"
+ reference="Unused?" />
+ <color
+ name="HelpScrollTrackColor"
+ reference="Unused?" />
+ <color
+ name="HighlightChildColor"
+ reference="Yellow" />
+ <color
+ name="HighlightInspectColor"
+ value="1 0 1 1" />
+ <color
+ name="HighlightParentColor"
+ value="0.5 0.65 0.8 1" />
+ <color
+ name="IMHistoryBgColor"
+ reference="Unused?" />
+ <color
+ name="IMHistoryTextColor"
+ reference="Unused?" />
+ <color
+ name="IconDisabledColor"
+ reference="White_25" />
+ <color
+ name="IconEnabledColor"
+ reference="White" />
+ <color
+ name="InventoryBackgroundColor"
+ reference="DkGray2" />
+ <color
+ name="InventoryFocusOutlineColor"
+ reference="White_25" />
+ <color
+ name="InventoryItemSuffixColor"
+ reference="White_25" />
+ <color
+ name="InventoryItemLibraryColor"
+ reference="EmphasisColor" />
+ <color
+ name="InventoryItemLinkColor"
+ reference="LtGray_50" />
+ <color
+ name="InventoryMouseOverColor"
+ reference="LtGray_35" />
+ <color
+ name="InventorySearchStatusColor"
+ reference="EmphasisColor" />
+ <color
+ name="LabelDisabledColor"
+ reference="White_25" />
+ <color
+ name="LabelSelectedColor"
+ reference="White" />
+ <color
+ name="LabelSelectedDisabledColor"
+ reference="White_25" />
+ <color
+ name="LabelTextColor"
+ reference="LtGray" />
+ <color
+ name="LoginProgressBarBgColor"
+ reference="Unused?" />
+ <color
+ name="LoginProgressBarFgColor"
+ reference="Unused?" />
+ <color
+ name="LoginProgressBoxBorderColor"
+ value="0.857 0.668 0.308 0" />
+ <color
+ name="LoginProgressBoxCenterColor"
+ value="0 0 0 0.78" />
+ <color
+ name="LoginProgressBoxShadowColor"
+ value="0 0 0 0.78" />
+ <color
+ name="LoginProgressBoxTextColor"
+ reference="White" />
+ <color
+ name="MapAvatarColor"
+ reference="White" />
+ <color
+ name="MapAvatarFriendColor"
+ value="0.5 0.7 0.85 1" />
+ <color
+ name="MapAvatarSelfColor"
+ value="0.53125 0 0.498047 1" />
+ <color
+ name="MapFrustumColor"
+ reference="White_10" />
+ <color
+ name="MapParcelOutlineColor"
+ value="1 1 1 0.5" />
+ <color
+ name="MapTrackColor"
+ reference="Red" />
+ <color
+ name="MapTrackColorUnder"
+ reference="Blue" />
+ <color
+ name="MapTrackDisabledColor"
+ value="0.5 0 0 1" />
+ <color
+ name="MenuBarBgColor"
+ reference="MouseGray" />
+ <color
+ name="MenuBarGodBgColor"
+ reference="FrogGreen" />
+ <color
+ name="MenuDefaultBgColor"
+ reference="DkGray2" />
+ <color
+ name="MenuItemDisabledColor"
+ reference="LtGray_50" />
+ <color
+ name="MenuItemEnabledColor"
+ reference="LtGray" />
+ <color
+ name="MenuItemHighlightBgColor"
+ reference="EmphasisColor_35" />
+ <color
+ name="MenuItemFlashBgColor"
+ reference="BeaconColor" />
+ <color
+ name="MenuItemHighlightFgColor"
+ reference="White" />
+ <color
+ name="MenuNonProductionBgColor"
+ reference="Black" />
+ <color
+ name="MenuNonProductionGodBgColor"
+ value="0.263 0.325 0.345 1" />
+ <color
+ name="MenuPopupBgColor"
+ reference="DkGray2" />
+ <color
+ name="ModelUploaderLabels"
+ value="1 0.6 0 1" />
+ <color
+ name="MultiSliderDisabledThumbColor"
+ reference="Black" />
+ <color
+ name="MultiSliderThumbCenterColor"
+ reference="White" />
+ <color
+ name="MultiSliderThumbCenterSelectedColor"
+ reference="Green" />
+ <color
+ name="MultiSliderThumbOutlineColor"
+ reference="Unused?" />
+ <color
+ name="MultiSliderTrackColor"
+ reference="LtGray" />
+ <color
+ name="MultiSliderTriangleColor"
+ reference="Yellow" />
+ <!--
+ <color
+ name="NameTagBackground"
+ value="0.85 0.85 0.85 0.80" />
+ -->
+ <color
+ name="NameTagBackground"
+ value="0 0 0 1" />
+ <color
+ name="NameTagChat"
+ reference="White" />
+ <color
+ name="NameTagFriend"
+ value="0.5 0.7 0.85 1" />
+ <color
+ name="NameTagLegacy"
+ reference="White" />
+ <color
+ name="NameTagMatch"
+ reference="White" />
+ <color
+ name="NameTagMismatch"
+ reference="White" />
+ <color
+ name="NetMapBackgroundColor"
+ value="0 0 0 1" />
+ <color
+ name="NetMapGroupOwnAboveWater"
+ value="0.85 0 0.85 1" />
+ <color
+ name="NetMapGroupOwnBelowWater"
+ value="0.63 0 0.63 1" />
+ <color
+ name="NetMapOtherOwnAboveWater"
+ value="0.24 0.24 0.24 1" />
+ <color
+ name="NetMapOtherOwnBelowWater"
+ value="0.12 0.12 0.12 1" />
+ <color
+ name="NetMapYouOwnAboveWater"
+ value="0 0.85 0.85 1" />
+ <color
+ name="NetMapYouOwnBelowWater"
+ value="0 0.63 0.63 1" />
+ <color
+ name="NotifyBoxColor"
+ value="LtGray" />
+ <color
+ name="NotifyCautionBoxColor"
+ value="1 0.82 0.46 1" />
+ <color
+ name="NotifyCautionWarnColor"
+ reference="White" />
+ <color
+ name="NotifyTextColor"
+ reference="White" />
+ <color
+ name="ObjectBubbleColor"
+ reference="DkGray_66" />
+ <color
+ name="ObjectChatColor"
+ reference="LtYellow" />
+ <color
+ name="OverdrivenColor"
+ reference="Red" />
+ <color
+ name="PanelDefaultBackgroundColor"
+ reference="DkGray" />
+ <color
+ name="PanelDefaultHighlightLight"
+ reference="White_50" />
+ <color
+ name="PanelFocusBackgroundColor"
+ reference="DkGray2" />
+ <color
+ name="PanelNotificationBackground"
+ value="1 0.3 0.3 0" />
+ <color
+ name="ParcelHoverColor"
+ reference="White" />
+ <color
+ name="PathfindingErrorColor"
+ reference="LtRed" />
+ <color
+ name="PathfindingWarningColor"
+ reference="DrYellow" />
+ <color
+ name="PathfindingGoodColor"
+ reference="LtGreen" />
+ <color
+ name="MaterialErrorColor"
+ reference="LtRed" />
+ <color
+ name="MaterialWarningColor"
+ reference="DrYellow" />
+ <color
+ name="MaterialGoodColor"
+ reference="LtGreen" />
+ <color
+ name="PathfindingDefaultBeaconColor"
+ reference="Red_80" />
+ <color
+ name="PathfindingDefaultBeaconTextColor"
+ reference="White" />
+ <color
+ name="PathfindingLinksetBeaconColor"
+ reference="Blue_80" />
+ <color
+ name="PathfindingCharacterBeaconColor"
+ reference="Red_80" />
+ <color
+ name="PieMenuBgColor"
+ value="0.24 0.24 0.24 0.59" />
+ <color
+ name="PieMenuLineColor"
+ value="0 0 0 0.5" />
+ <color
+ name="PieMenuSelectedColor"
+ value="0.72 0.72 0.74 0.3" />
+ <color
+ name="PropertyColorAuction"
+ value="0.5 0 1 0.4" />
+ <color
+ name="PropertyColorAvail"
+ reference="Transparent" />
+ <color
+ name="PropertyColorForSale"
+ value="1 0.5 0 0.4" />
+ <color
+ name="PropertyColorGroup"
+ value="0 0.72 0.72 0.4" />
+ <color
+ name="PropertyColorOther"
+ value="1 0 0 0.4" />
+ <color
+ name="PropertyColorSelf"
+ value="0 1 0 0.4" />
+ <color
+ name="ScriptBgReadOnlyColor"
+ value="0.39 0.39 0.39 1" />
+ <color
+ name="ScriptErrorColor"
+ reference="Red" />
+ <color
+ name="ScrollBGStripeColor"
+ reference="Transparent" />
+ <color
+ name="ScrollBgReadOnlyColor"
+ reference="Transparent" />
+ <color
+ name="ScrollBgWriteableColor"
+ reference="White_05" />
+ <color
+ name="ScrollDisabledColor"
+ reference="White_25" />
+ <color
+ name="ScrollHighlightedColor"
+ reference="Unused?" />
+ <color
+ name="ScrollHoveredColor"
+ reference="EmphasisColor_13" />
+ <color
+ name="ScrollSelectedBGColor"
+ reference="EmphasisColor_35" />
+ <color
+ name="ScrollSelectedFGColor"
+ reference="White" />
+ <color
+ name="ScrollUnselectedColor"
+ reference="LtGray" />
+ <color
+ name="ScrollbarThumbColor"
+ reference="White" />
+ <color
+ name="ScrollbarTrackColor"
+ reference="Black" />
+ <color
+ name="SelectedOutfitTextColor"
+ reference="EmphasisColor" />
+ <color
+ name="SilhouetteChildColor"
+ value="0.13 0.42 0.77 1" />
+ <color
+ name="SilhouetteParentColor"
+ reference="Yellow" />
+ <color
+ name="SliderDisabledThumbColor"
+ reference="White_25" />
+ <color
+ name="SliderThumbCenterColor"
+ reference="White" />
+ <color
+ name="SliderThumbOutlineColor"
+ reference="White" />
+ <color
+ name="SliderTrackColor"
+ reference="Unused?" />
+ <color
+ name="SpeakingColor"
+ reference="FrogGreen" />
+ <color
+ name="SystemChatColor"
+ reference="LtGray" />
+ <color
+ name="TextBgFocusColor"
+ reference="White" />
+ <color
+ name="TextBgReadOnlyColor"
+ reference="White_05" />
+ <color
+ name="TextBgWriteableColor"
+ reference="LtGray" />
+ <color
+ name="TextCursorColor"
+ reference="Black" />
+ <color
+ name="TextDefaultColor"
+ reference="Black" />
+ <color
+ name="TextEmbeddedItemColor"
+ value="0 0 0.5 1" />
+ <color
+ name="TextEmbeddedItemReadOnlyColor"
+ reference="Unused?" />
+ <color
+ name="TextFgColor"
+ value="0.102 0.102 0.102 1" />
+ <color
+ name="TextFgReadOnlyColor"
+ reference="LtGray" />
+ <color
+ name="TextFgTentativeColor"
+ value="0.4 0.4 0.4 1" />
+ <color
+ name="TimeTextColor"
+ reference="LtGray" />
+ <color
+ name="TitleBarFocusColor"
+ reference="White_10" />
+ <color
+ name="ToastBackground"
+ value="0.15 0.15 0.15 0" />
+ <color
+ name="ToolTipBgColor"
+ value="0.937 0.89 0.655 1" />
+ <color
+ name="ToolTipBorderColor"
+ value="0.812 0.753 0.451 1" />
+ <color
+ name="ToolTipTextColor"
+ reference="DkGray2" />
+ <color
+ name="InspectorTipTextColor"
+ reference="LtGray" />
+ <color
+ name="UserChatColor"
+ reference="White" />
+ <color
+ name="llOwnerSayChatColor"
+ reference="LtOrange" />
+
+ <!-- New Colors -->
+ <color
+ name="OutputMonitorMutedColor"
+ reference="DkGray2" />
+ <color
+ name="SysWellItemUnselected"
+ value="0 0 0 0" />
+ <color
+ name="SysWellItemSelected"
+ value="0.3 0.3 0.3 1.0" />
+ <color
+ name="ColorSwatchBorderColor"
+ value="0.45098 0.517647 0.607843 1"/>
+ <color
+ name="ChatTeleportSeparatorColor"
+ reference="Black" />
+ <color
+ name="ChatTimestampColor"
+ reference="White" />
+ <color
+ name="MenuBarBetaBgColor"
+ reference="DkBlue" />
+ <color
+ name="MenuBarProjectBgColor"
+ reference="MdBlue" />
+ <color
+ name="MenuBarTestBgColor"
+ reference="DkRed" />
+ <color
+ name="MeshImportTableNormalColor"
+ value="1 1 1 1"/>
+ <color
+ name="MeshImportTableHighlightColor"
+ value="0.2 0.8 1 1"/>
+
+ <color
+ name="DirectChatColor"
+ reference="LtOrange" />
+
+ <color
+ name="ToolbarDropZoneColor"
+ value=".48 .69 1 .5" />
+ <color
+ name="PanelNotificationListItem"
+ value="0.3 0.3 0.3 .3" />
+
+ <!-- profiles -->
+ <color
+ name="StatusUserOnline"
+ reference="White" />
+ <color
+ name="StatusUserOffline"
+ reference="LtGray_35" />
+ <!-- Groups visible in own profiles -->
+ <color
+ name="GroupVisibleInProfile"
+ reference="TextBgFocusColor" />
+ <color
+ name="GroupHiddenInProfile"
+ reference="Gray" />
+
+
+ <!-- Generic color names (legacy) -->
+ <color
+ name="white"
+ value="1 1 1 1"/>
+ <color
+ name="black"
+ value="0 0 0 1"/>
+ <color
+ name="red"
+ value="1 0 0 1"/>
+ <color
+ name="green"
+ value="0 1 0 1"/>
+ <color
+ name="blue"
+ value="0 0 1 1"/>
+
+ <!--Resize bar colors -->
+
+ <color
+ name="ResizebarBorderLight"
+ value="0.231 0.231 0.231 1"/>
+
+ <color
+ name="ResizebarBorderDark"
+ value="0.133 0.133 0.133 1"/>
+
+ <color
+ name="ResizebarBody"
+ value="0.208 0.208 0.208 1"/>
+
+ <!-- syntax highlighting (LSL Scripts) -->
+ <color
+ name="ScriptText"
+ reference="Black" />
+ <color
+ name="ScriptBackground"
+ reference="White" />
+ <color
+ name="ScriptCursorColor"
+ reference="Black" />
+ <color
+ name="SyntaxLslComment"
+ value="0 0.5 0 1" />
+ <color
+ name="SyntaxLslConstant"
+ value="0 0.6 0.6 1" />
+ <color
+ name="SyntaxLslControlFlow"
+ value="0.4 0 0.8 1" />
+ <color
+ name="SyntaxLslControlLabel"
+ value="0 0 0.8 1" />
+ <color
+ name="SyntaxLslDataType"
+ value="0.8 0.4 0 1" />
+ <color
+ name="SyntaxLslDeprecated"
+ value="0.9 0.0 0.66, 1" />
+ <color
+ name="SyntaxLslEvent"
+ value="0 0.3 0.5 1" />
+ <color
+ name="SyntaxLslFunction"
+ value="0.3 0 0.5 1" />
+ <color
+ name="SyntaxLslGodMode"
+ value="0.7 .2 .35 1" />
+ <color
+ name="SyntaxLslStringLiteral"
+ value="1 0.14 0 1" />
+ <color
+ name="OutfitGalleryItemSelected"
+ reference="EmphasisColor_35" />
+ <color
+ name="OutfitGalleryItemWorn"
+ reference="EmphasisColor_13" />
+ <color
+ name="OutfitGalleryItemUnselected"
+ value="0.4 0.4 0.4 1" />
+ <color
+ name="PanelGray"
+ value="0.27 0.27 0.27 1" />
+ <color
+ name="PerformanceMid"
+ value="1 0.8 0 1" />
+ <color
+ name="OutfitSnapshotMacMask"
+ value="0.115 0.115 0.115 1"/>
+ <color
+ name="OutfitSnapshotMacMask2"
+ value="0.1 0.1 0.1 1"/>
+</colors>
diff --git a/indra/newview/skins/contrast_gold/textures/bottomtray/Cam_Rotate_Center.png b/indra/newview/skins/contrast_gold/textures/bottomtray/Cam_Rotate_Center.png
new file mode 100644
index 0000000000..446daf6a90
--- /dev/null
+++ b/indra/newview/skins/contrast_gold/textures/bottomtray/Cam_Rotate_Center.png
Binary files differ
diff --git a/indra/newview/skins/contrast_gold/textures/bottomtray/Cam_Rotate_In.png b/indra/newview/skins/contrast_gold/textures/bottomtray/Cam_Rotate_In.png
new file mode 100644
index 0000000000..479c98903e
--- /dev/null
+++ b/indra/newview/skins/contrast_gold/textures/bottomtray/Cam_Rotate_In.png
Binary files differ
diff --git a/indra/newview/skins/contrast_gold/textures/bottomtray/Cam_Rotate_Out.png b/indra/newview/skins/contrast_gold/textures/bottomtray/Cam_Rotate_Out.png
new file mode 100644
index 0000000000..cc4e6f99ff
--- /dev/null
+++ b/indra/newview/skins/contrast_gold/textures/bottomtray/Cam_Rotate_Out.png
Binary files differ
diff --git a/indra/newview/skins/contrast_gold/textures/bottomtray/Cam_Tracking_Center.png b/indra/newview/skins/contrast_gold/textures/bottomtray/Cam_Tracking_Center.png
new file mode 100644
index 0000000000..dbafbcc9f0
--- /dev/null
+++ b/indra/newview/skins/contrast_gold/textures/bottomtray/Cam_Tracking_Center.png
Binary files differ
diff --git a/indra/newview/skins/contrast_gold/textures/bottomtray/Cam_Tracking_In.png b/indra/newview/skins/contrast_gold/textures/bottomtray/Cam_Tracking_In.png
new file mode 100644
index 0000000000..041a42ecf9
--- /dev/null
+++ b/indra/newview/skins/contrast_gold/textures/bottomtray/Cam_Tracking_In.png
Binary files differ
diff --git a/indra/newview/skins/contrast_gold/textures/bottomtray/Cam_Tracking_Out.png b/indra/newview/skins/contrast_gold/textures/bottomtray/Cam_Tracking_Out.png
new file mode 100644
index 0000000000..cffead1703
--- /dev/null
+++ b/indra/newview/skins/contrast_gold/textures/bottomtray/Cam_Tracking_Out.png
Binary files differ
diff --git a/indra/newview/skins/contrast_gold/textures/bottomtray/ChatBarHandle.png b/indra/newview/skins/contrast_gold/textures/bottomtray/ChatBarHandle.png
new file mode 100644
index 0000000000..50239c8af8
--- /dev/null
+++ b/indra/newview/skins/contrast_gold/textures/bottomtray/ChatBarHandle.png
Binary files differ
diff --git a/indra/newview/skins/contrast_gold/textures/bottomtray/DownArrow.png b/indra/newview/skins/contrast_gold/textures/bottomtray/DownArrow.png
new file mode 100644
index 0000000000..82f58b22b9
--- /dev/null
+++ b/indra/newview/skins/contrast_gold/textures/bottomtray/DownArrow.png
Binary files differ
diff --git a/indra/newview/skins/contrast_gold/textures/bottomtray/Movement_Backward_Off.png b/indra/newview/skins/contrast_gold/textures/bottomtray/Movement_Backward_Off.png
new file mode 100644
index 0000000000..4dddc2b391
--- /dev/null
+++ b/indra/newview/skins/contrast_gold/textures/bottomtray/Movement_Backward_Off.png
Binary files differ
diff --git a/indra/newview/skins/contrast/textures/icons/see_them_on_map.png b/indra/newview/skins/contrast_gold/textures/bottomtray/Movement_Backward_On.png
index d309980c13..1af8e6b956 100644
--- a/indra/newview/skins/contrast/textures/icons/see_them_on_map.png
+++ b/indra/newview/skins/contrast_gold/textures/bottomtray/Movement_Backward_On.png
Binary files differ
diff --git a/indra/newview/skins/contrast/textures/bottomtray/Mouselook_View_On.png b/indra/newview/skins/contrast_gold/textures/bottomtray/Movement_Down_Off.png
index 4c98e35868..2893c9a9f1 100644
--- a/indra/newview/skins/contrast/textures/bottomtray/Mouselook_View_On.png
+++ b/indra/newview/skins/contrast_gold/textures/bottomtray/Movement_Down_Off.png
Binary files differ
diff --git a/indra/newview/skins/contrast_gold/textures/bottomtray/Movement_Down_On.png b/indra/newview/skins/contrast_gold/textures/bottomtray/Movement_Down_On.png
new file mode 100644
index 0000000000..4f97611db1
--- /dev/null
+++ b/indra/newview/skins/contrast_gold/textures/bottomtray/Movement_Down_On.png
Binary files differ
diff --git a/indra/newview/skins/contrast_gold/textures/bottomtray/Movement_Forward_Off.png b/indra/newview/skins/contrast_gold/textures/bottomtray/Movement_Forward_Off.png
new file mode 100644
index 0000000000..80d227b6a7
--- /dev/null
+++ b/indra/newview/skins/contrast_gold/textures/bottomtray/Movement_Forward_Off.png
Binary files differ
diff --git a/indra/newview/skins/contrast/textures/build/Object_Grass_Selected.png b/indra/newview/skins/contrast_gold/textures/bottomtray/Movement_Forward_On.png
index 19cf732d91..f01c9f3c63 100644
--- a/indra/newview/skins/contrast/textures/build/Object_Grass_Selected.png
+++ b/indra/newview/skins/contrast_gold/textures/bottomtray/Movement_Forward_On.png
Binary files differ
diff --git a/indra/newview/skins/contrast/textures/bottomtray/PanOrbit_Off.png b/indra/newview/skins/contrast_gold/textures/bottomtray/Movement_Left_Off.png
index 53efa3a9a9..3602efa9d9 100644
--- a/indra/newview/skins/contrast/textures/bottomtray/PanOrbit_Off.png
+++ b/indra/newview/skins/contrast_gold/textures/bottomtray/Movement_Left_Off.png
Binary files differ
diff --git a/indra/newview/skins/contrast_gold/textures/bottomtray/Movement_Left_On.png b/indra/newview/skins/contrast_gold/textures/bottomtray/Movement_Left_On.png
new file mode 100644
index 0000000000..a120d46e99
--- /dev/null
+++ b/indra/newview/skins/contrast_gold/textures/bottomtray/Movement_Left_On.png
Binary files differ
diff --git a/indra/newview/skins/contrast/textures/bottomtray/Cam_Preset_Side_Off.png b/indra/newview/skins/contrast_gold/textures/bottomtray/Movement_Right_Off.png
index b919a0a152..9c3fc37dfe 100644
--- a/indra/newview/skins/contrast/textures/bottomtray/Cam_Preset_Side_Off.png
+++ b/indra/newview/skins/contrast_gold/textures/bottomtray/Movement_Right_Off.png
Binary files differ
diff --git a/indra/newview/skins/contrast/textures/toolbar_icons/twitter.png b/indra/newview/skins/contrast_gold/textures/bottomtray/Movement_Right_On.png
index 0ad56f7802..c241ac75df 100644
--- a/indra/newview/skins/contrast/textures/toolbar_icons/twitter.png
+++ b/indra/newview/skins/contrast_gold/textures/bottomtray/Movement_Right_On.png
Binary files differ
diff --git a/indra/newview/skins/contrast_gold/textures/bottomtray/Movement_TurnLeft_Off.png b/indra/newview/skins/contrast_gold/textures/bottomtray/Movement_TurnLeft_Off.png
new file mode 100644
index 0000000000..282e8d62de
--- /dev/null
+++ b/indra/newview/skins/contrast_gold/textures/bottomtray/Movement_TurnLeft_Off.png
Binary files differ
diff --git a/indra/newview/skins/contrast_gold/textures/bottomtray/Movement_TurnLeft_On.png b/indra/newview/skins/contrast_gold/textures/bottomtray/Movement_TurnLeft_On.png
new file mode 100644
index 0000000000..20ce7b9296
--- /dev/null
+++ b/indra/newview/skins/contrast_gold/textures/bottomtray/Movement_TurnLeft_On.png
Binary files differ
diff --git a/indra/newview/skins/contrast_gold/textures/bottomtray/Movement_TurnRight_Off.png b/indra/newview/skins/contrast_gold/textures/bottomtray/Movement_TurnRight_Off.png
new file mode 100644
index 0000000000..5039e57c32
--- /dev/null
+++ b/indra/newview/skins/contrast_gold/textures/bottomtray/Movement_TurnRight_Off.png
Binary files differ
diff --git a/indra/newview/skins/contrast_gold/textures/bottomtray/Movement_TurnRight_On.png b/indra/newview/skins/contrast_gold/textures/bottomtray/Movement_TurnRight_On.png
new file mode 100644
index 0000000000..7b3d2e8dd8
--- /dev/null
+++ b/indra/newview/skins/contrast_gold/textures/bottomtray/Movement_TurnRight_On.png
Binary files differ
diff --git a/indra/newview/skins/contrast/textures/bottomtray/Cam_Preset_Back_On.png b/indra/newview/skins/contrast_gold/textures/bottomtray/Movement_Up_Off.png
index 3748f5e190..a49c43c2cf 100644
--- a/indra/newview/skins/contrast/textures/bottomtray/Cam_Preset_Back_On.png
+++ b/indra/newview/skins/contrast_gold/textures/bottomtray/Movement_Up_Off.png
Binary files differ
diff --git a/indra/newview/skins/contrast_gold/textures/bottomtray/Movement_Up_On.png b/indra/newview/skins/contrast_gold/textures/bottomtray/Movement_Up_On.png
new file mode 100644
index 0000000000..ecce0d0192
--- /dev/null
+++ b/indra/newview/skins/contrast_gold/textures/bottomtray/Movement_Up_On.png
Binary files differ
diff --git a/indra/newview/skins/contrast/textures/bottomtray/Cam_Preset_Side_On.png b/indra/newview/skins/contrast_gold/textures/bottomtray/Object_View_Off.png
index de9da359a0..e9dea7e17e 100644
--- a/indra/newview/skins/contrast/textures/bottomtray/Cam_Preset_Side_On.png
+++ b/indra/newview/skins/contrast_gold/textures/bottomtray/Object_View_Off.png
Binary files differ
diff --git a/indra/newview/skins/contrast/textures/bottomtray/Mouselook_View_Off.png b/indra/newview/skins/contrast_gold/textures/bottomtray/Object_View_On.png
index 8d32cad95f..7a348ba22e 100644
--- a/indra/newview/skins/contrast/textures/bottomtray/Mouselook_View_Off.png
+++ b/indra/newview/skins/contrast_gold/textures/bottomtray/Object_View_On.png
Binary files differ
diff --git a/indra/newview/skins/contrast_gold/textures/bottomtray/Unread_Chiclet.png b/indra/newview/skins/contrast_gold/textures/bottomtray/Unread_Chiclet.png
new file mode 100644
index 0000000000..e8fe243dc7
--- /dev/null
+++ b/indra/newview/skins/contrast_gold/textures/bottomtray/Unread_Chiclet.png
Binary files differ
diff --git a/indra/newview/skins/contrast/textures/icons/hand.png b/indra/newview/skins/contrast_gold/textures/bottomtray/VoicePTT_Lvl1.png
index 3f497eefbb..3072512301 100644
--- a/indra/newview/skins/contrast/textures/icons/hand.png
+++ b/indra/newview/skins/contrast_gold/textures/bottomtray/VoicePTT_Lvl1.png
Binary files differ
diff --git a/indra/newview/skins/contrast/textures/build/Object_Ring_Selected.png b/indra/newview/skins/contrast_gold/textures/bottomtray/VoicePTT_Lvl2.png
index ccc1f6d221..28872be28f 100644
--- a/indra/newview/skins/contrast/textures/build/Object_Ring_Selected.png
+++ b/indra/newview/skins/contrast_gold/textures/bottomtray/VoicePTT_Lvl2.png
Binary files differ
diff --git a/indra/newview/skins/contrast_gold/textures/bottomtray/VoicePTT_Lvl3.png b/indra/newview/skins/contrast_gold/textures/bottomtray/VoicePTT_Lvl3.png
new file mode 100644
index 0000000000..14ec77b99a
--- /dev/null
+++ b/indra/newview/skins/contrast_gold/textures/bottomtray/VoicePTT_Lvl3.png
Binary files differ
diff --git a/indra/newview/skins/contrast_gold/textures/bottomtray/VoicePTT_Off.png b/indra/newview/skins/contrast_gold/textures/bottomtray/VoicePTT_Off.png
new file mode 100644
index 0000000000..48be51e9af
--- /dev/null
+++ b/indra/newview/skins/contrast_gold/textures/bottomtray/VoicePTT_Off.png
Binary files differ
diff --git a/indra/newview/skins/contrast_gold/textures/bottomtray/VoicePTT_On.png b/indra/newview/skins/contrast_gold/textures/bottomtray/VoicePTT_On.png
new file mode 100644
index 0000000000..823acfc583
--- /dev/null
+++ b/indra/newview/skins/contrast_gold/textures/bottomtray/VoicePTT_On.png
Binary files differ
diff --git a/indra/newview/skins/contrast_gold/textures/bottomtray/WellButton_Lit.png b/indra/newview/skins/contrast_gold/textures/bottomtray/WellButton_Lit.png
new file mode 100644
index 0000000000..84711ddc29
--- /dev/null
+++ b/indra/newview/skins/contrast_gold/textures/bottomtray/WellButton_Lit.png
Binary files differ
diff --git a/indra/newview/skins/contrast_gold/textures/bottomtray/WellButton_Lit_Selected.png b/indra/newview/skins/contrast_gold/textures/bottomtray/WellButton_Lit_Selected.png
new file mode 100644
index 0000000000..9b9468c574
--- /dev/null
+++ b/indra/newview/skins/contrast_gold/textures/bottomtray/WellButton_Lit_Selected.png
Binary files differ
diff --git a/indra/newview/skins/contrast_gold/textures/cloud-particle.png b/indra/newview/skins/contrast_gold/textures/cloud-particle.png
new file mode 100644
index 0000000000..2196e764f7
--- /dev/null
+++ b/indra/newview/skins/contrast_gold/textures/cloud-particle.png
Binary files differ
diff --git a/indra/newview/skins/contrast_gold/textures/containers/Accordion_ArrowClosed_Off.png b/indra/newview/skins/contrast_gold/textures/containers/Accordion_ArrowClosed_Off.png
new file mode 100644
index 0000000000..19c842b816
--- /dev/null
+++ b/indra/newview/skins/contrast_gold/textures/containers/Accordion_ArrowClosed_Off.png
Binary files differ
diff --git a/indra/newview/skins/contrast_gold/textures/containers/Accordion_ArrowClosed_Press.png b/indra/newview/skins/contrast_gold/textures/containers/Accordion_ArrowClosed_Press.png
new file mode 100644
index 0000000000..b9879dcc8a
--- /dev/null
+++ b/indra/newview/skins/contrast_gold/textures/containers/Accordion_ArrowClosed_Press.png
Binary files differ
diff --git a/indra/newview/skins/contrast_gold/textures/containers/Accordion_ArrowOpened_Off.png b/indra/newview/skins/contrast_gold/textures/containers/Accordion_ArrowOpened_Off.png
new file mode 100644
index 0000000000..d506cda5c9
--- /dev/null
+++ b/indra/newview/skins/contrast_gold/textures/containers/Accordion_ArrowOpened_Off.png
Binary files differ
diff --git a/indra/newview/skins/contrast_gold/textures/containers/Accordion_ArrowOpened_Press.png b/indra/newview/skins/contrast_gold/textures/containers/Accordion_ArrowOpened_Press.png
new file mode 100644
index 0000000000..08f7493a02
--- /dev/null
+++ b/indra/newview/skins/contrast_gold/textures/containers/Accordion_ArrowOpened_Press.png
Binary files differ
diff --git a/indra/newview/skins/contrast_gold/textures/containers/Accordion_Off.png b/indra/newview/skins/contrast_gold/textures/containers/Accordion_Off.png
new file mode 100644
index 0000000000..ec2c3f0b47
--- /dev/null
+++ b/indra/newview/skins/contrast_gold/textures/containers/Accordion_Off.png
Binary files differ
diff --git a/indra/newview/skins/contrast_gold/textures/containers/Accordion_Over.png b/indra/newview/skins/contrast_gold/textures/containers/Accordion_Over.png
new file mode 100644
index 0000000000..9ce484130f
--- /dev/null
+++ b/indra/newview/skins/contrast_gold/textures/containers/Accordion_Over.png
Binary files differ
diff --git a/indra/newview/skins/contrast_gold/textures/containers/Accordion_Press.png b/indra/newview/skins/contrast_gold/textures/containers/Accordion_Press.png
new file mode 100644
index 0000000000..36edc1c7c4
--- /dev/null
+++ b/indra/newview/skins/contrast_gold/textures/containers/Accordion_Press.png
Binary files differ
diff --git a/indra/newview/skins/contrast_gold/textures/containers/Accordion_Selected.png b/indra/newview/skins/contrast_gold/textures/containers/Accordion_Selected.png
new file mode 100644
index 0000000000..9a6b4b4a27
--- /dev/null
+++ b/indra/newview/skins/contrast_gold/textures/containers/Accordion_Selected.png
Binary files differ
diff --git a/indra/newview/skins/contrast_gold/textures/containers/Container.png b/indra/newview/skins/contrast_gold/textures/containers/Container.png
new file mode 100644
index 0000000000..511eb94386
--- /dev/null
+++ b/indra/newview/skins/contrast_gold/textures/containers/Container.png
Binary files differ
diff --git a/indra/newview/skins/contrast_gold/textures/containers/TabTop_Left_Off.png b/indra/newview/skins/contrast_gold/textures/containers/TabTop_Left_Off.png
new file mode 100644
index 0000000000..3aad7243bc
--- /dev/null
+++ b/indra/newview/skins/contrast_gold/textures/containers/TabTop_Left_Off.png
Binary files differ
diff --git a/indra/newview/skins/contrast_gold/textures/containers/TabTop_Left_Selected.png b/indra/newview/skins/contrast_gold/textures/containers/TabTop_Left_Selected.png
new file mode 100644
index 0000000000..cbf5721766
--- /dev/null
+++ b/indra/newview/skins/contrast_gold/textures/containers/TabTop_Left_Selected.png
Binary files differ
diff --git a/indra/newview/skins/contrast_gold/textures/containers/TabTop_Middle.png b/indra/newview/skins/contrast_gold/textures/containers/TabTop_Middle.png
new file mode 100644
index 0000000000..4d2ab77048
--- /dev/null
+++ b/indra/newview/skins/contrast_gold/textures/containers/TabTop_Middle.png
Binary files differ
diff --git a/indra/newview/skins/contrast_gold/textures/containers/TabTop_Middle_Off.png b/indra/newview/skins/contrast_gold/textures/containers/TabTop_Middle_Off.png
new file mode 100644
index 0000000000..586593314f
--- /dev/null
+++ b/indra/newview/skins/contrast_gold/textures/containers/TabTop_Middle_Off.png
Binary files differ
diff --git a/indra/newview/skins/contrast_gold/textures/containers/TabTop_Middle_Selected.png b/indra/newview/skins/contrast_gold/textures/containers/TabTop_Middle_Selected.png
new file mode 100644
index 0000000000..4d2ab77048
--- /dev/null
+++ b/indra/newview/skins/contrast_gold/textures/containers/TabTop_Middle_Selected.png
Binary files differ
diff --git a/indra/newview/skins/contrast_gold/textures/containers/TabTop_Right.png b/indra/newview/skins/contrast_gold/textures/containers/TabTop_Right.png
new file mode 100644
index 0000000000..fce7b8771d
--- /dev/null
+++ b/indra/newview/skins/contrast_gold/textures/containers/TabTop_Right.png
Binary files differ
diff --git a/indra/newview/skins/contrast_gold/textures/containers/TabTop_Right_Flashing.png b/indra/newview/skins/contrast_gold/textures/containers/TabTop_Right_Flashing.png
new file mode 100644
index 0000000000..fd13bb699d
--- /dev/null
+++ b/indra/newview/skins/contrast_gold/textures/containers/TabTop_Right_Flashing.png
Binary files differ
diff --git a/indra/newview/skins/contrast_gold/textures/containers/TabTop_Right_Off.png b/indra/newview/skins/contrast_gold/textures/containers/TabTop_Right_Off.png
new file mode 100644
index 0000000000..4db77fbfde
--- /dev/null
+++ b/indra/newview/skins/contrast_gold/textures/containers/TabTop_Right_Off.png
Binary files differ
diff --git a/indra/newview/skins/contrast_gold/textures/containers/TabTop_Right_Selected.png b/indra/newview/skins/contrast_gold/textures/containers/TabTop_Right_Selected.png
new file mode 100644
index 0000000000..fce7b8771d
--- /dev/null
+++ b/indra/newview/skins/contrast_gold/textures/containers/TabTop_Right_Selected.png
Binary files differ
diff --git a/indra/newview/skins/contrast_gold/textures/containers/Toolbar_Left_Flash.png b/indra/newview/skins/contrast_gold/textures/containers/Toolbar_Left_Flash.png
new file mode 100644
index 0000000000..8935aa949b
--- /dev/null
+++ b/indra/newview/skins/contrast_gold/textures/containers/Toolbar_Left_Flash.png
Binary files differ
diff --git a/indra/newview/skins/contrast_gold/textures/containers/Toolbar_Left_Off.png b/indra/newview/skins/contrast_gold/textures/containers/Toolbar_Left_Off.png
new file mode 100644
index 0000000000..92ea6428a9
--- /dev/null
+++ b/indra/newview/skins/contrast_gold/textures/containers/Toolbar_Left_Off.png
Binary files differ
diff --git a/indra/newview/skins/contrast_gold/textures/containers/Toolbar_Left_Over.png b/indra/newview/skins/contrast_gold/textures/containers/Toolbar_Left_Over.png
new file mode 100644
index 0000000000..31e0f84278
--- /dev/null
+++ b/indra/newview/skins/contrast_gold/textures/containers/Toolbar_Left_Over.png
Binary files differ
diff --git a/indra/newview/skins/contrast_gold/textures/containers/Toolbar_Left_Selected.png b/indra/newview/skins/contrast_gold/textures/containers/Toolbar_Left_Selected.png
new file mode 100644
index 0000000000..13af7b9039
--- /dev/null
+++ b/indra/newview/skins/contrast_gold/textures/containers/Toolbar_Left_Selected.png
Binary files differ
diff --git a/indra/newview/skins/contrast_gold/textures/containers/Toolbar_Middle_Flash.png b/indra/newview/skins/contrast_gold/textures/containers/Toolbar_Middle_Flash.png
new file mode 100644
index 0000000000..dd73d655e9
--- /dev/null
+++ b/indra/newview/skins/contrast_gold/textures/containers/Toolbar_Middle_Flash.png
Binary files differ
diff --git a/indra/newview/skins/contrast_gold/textures/containers/Toolbar_Middle_Off.png b/indra/newview/skins/contrast_gold/textures/containers/Toolbar_Middle_Off.png
new file mode 100644
index 0000000000..17029352fc
--- /dev/null
+++ b/indra/newview/skins/contrast_gold/textures/containers/Toolbar_Middle_Off.png
Binary files differ
diff --git a/indra/newview/skins/contrast_gold/textures/containers/Toolbar_Middle_Over.png b/indra/newview/skins/contrast_gold/textures/containers/Toolbar_Middle_Over.png
new file mode 100644
index 0000000000..f9bf4b69ab
--- /dev/null
+++ b/indra/newview/skins/contrast_gold/textures/containers/Toolbar_Middle_Over.png
Binary files differ
diff --git a/indra/newview/skins/contrast_gold/textures/containers/Toolbar_Middle_Selected.png b/indra/newview/skins/contrast_gold/textures/containers/Toolbar_Middle_Selected.png
new file mode 100644
index 0000000000..ba963bd6d3
--- /dev/null
+++ b/indra/newview/skins/contrast_gold/textures/containers/Toolbar_Middle_Selected.png
Binary files differ
diff --git a/indra/newview/skins/contrast_gold/textures/containers/Toolbar_Right_Flash.png b/indra/newview/skins/contrast_gold/textures/containers/Toolbar_Right_Flash.png
new file mode 100644
index 0000000000..f6b775c2a0
--- /dev/null
+++ b/indra/newview/skins/contrast_gold/textures/containers/Toolbar_Right_Flash.png
Binary files differ
diff --git a/indra/newview/skins/contrast_gold/textures/containers/Toolbar_Right_Off.png b/indra/newview/skins/contrast_gold/textures/containers/Toolbar_Right_Off.png
new file mode 100644
index 0000000000..3cc431f70d
--- /dev/null
+++ b/indra/newview/skins/contrast_gold/textures/containers/Toolbar_Right_Off.png
Binary files differ
diff --git a/indra/newview/skins/contrast_gold/textures/containers/Toolbar_Right_Over.png b/indra/newview/skins/contrast_gold/textures/containers/Toolbar_Right_Over.png
new file mode 100644
index 0000000000..794731f9fc
--- /dev/null
+++ b/indra/newview/skins/contrast_gold/textures/containers/Toolbar_Right_Over.png
Binary files differ
diff --git a/indra/newview/skins/contrast_gold/textures/containers/Toolbar_Right_Selected.png b/indra/newview/skins/contrast_gold/textures/containers/Toolbar_Right_Selected.png
new file mode 100644
index 0000000000..b65ceb7edb
--- /dev/null
+++ b/indra/newview/skins/contrast_gold/textures/containers/Toolbar_Right_Selected.png
Binary files differ
diff --git a/indra/newview/skins/contrast_gold/textures/default_land_picture.j2c b/indra/newview/skins/contrast_gold/textures/default_land_picture.j2c
new file mode 100644
index 0000000000..d2a8726404
--- /dev/null
+++ b/indra/newview/skins/contrast_gold/textures/default_land_picture.j2c
Binary files differ
diff --git a/indra/newview/skins/contrast_gold/textures/default_land_picture.png b/indra/newview/skins/contrast_gold/textures/default_land_picture.png
new file mode 100644
index 0000000000..c53a5f6aa0
--- /dev/null
+++ b/indra/newview/skins/contrast_gold/textures/default_land_picture.png
Binary files differ
diff --git a/indra/newview/skins/contrast_gold/textures/default_profile_picture.j2c b/indra/newview/skins/contrast_gold/textures/default_profile_picture.j2c
new file mode 100644
index 0000000000..09e03af0e9
--- /dev/null
+++ b/indra/newview/skins/contrast_gold/textures/default_profile_picture.j2c
Binary files differ
diff --git a/indra/newview/skins/contrast_gold/textures/default_profile_picture.png b/indra/newview/skins/contrast_gold/textures/default_profile_picture.png
new file mode 100644
index 0000000000..5bade1cb36
--- /dev/null
+++ b/indra/newview/skins/contrast_gold/textures/default_profile_picture.png
Binary files differ
diff --git a/indra/newview/skins/contrast_gold/textures/icons/AddItem_Disabled.png b/indra/newview/skins/contrast_gold/textures/icons/AddItem_Disabled.png
new file mode 100644
index 0000000000..d21b72b973
--- /dev/null
+++ b/indra/newview/skins/contrast_gold/textures/icons/AddItem_Disabled.png
Binary files differ
diff --git a/indra/newview/skins/contrast_gold/textures/icons/AddItem_Off.png b/indra/newview/skins/contrast_gold/textures/icons/AddItem_Off.png
new file mode 100644
index 0000000000..64108d133a
--- /dev/null
+++ b/indra/newview/skins/contrast_gold/textures/icons/AddItem_Off.png
Binary files differ
diff --git a/indra/newview/skins/contrast_gold/textures/icons/AddItem_Press.png b/indra/newview/skins/contrast_gold/textures/icons/AddItem_Press.png
new file mode 100644
index 0000000000..3168f51757
--- /dev/null
+++ b/indra/newview/skins/contrast_gold/textures/icons/AddItem_Press.png
Binary files differ
diff --git a/indra/newview/skins/contrast_gold/textures/icons/AudioMute_Off.png b/indra/newview/skins/contrast_gold/textures/icons/AudioMute_Off.png
new file mode 100644
index 0000000000..dd89920fae
--- /dev/null
+++ b/indra/newview/skins/contrast_gold/textures/icons/AudioMute_Off.png
Binary files differ
diff --git a/indra/newview/skins/contrast_gold/textures/icons/AudioMute_Over.png b/indra/newview/skins/contrast_gold/textures/icons/AudioMute_Over.png
new file mode 100644
index 0000000000..a4fbec4144
--- /dev/null
+++ b/indra/newview/skins/contrast_gold/textures/icons/AudioMute_Over.png
Binary files differ
diff --git a/indra/newview/skins/contrast_gold/textures/icons/Audio_Off.png b/indra/newview/skins/contrast_gold/textures/icons/Audio_Off.png
new file mode 100644
index 0000000000..4f6f5512c8
--- /dev/null
+++ b/indra/newview/skins/contrast_gold/textures/icons/Audio_Off.png
Binary files differ
diff --git a/indra/newview/skins/contrast_gold/textures/icons/Audio_Press.png b/indra/newview/skins/contrast_gold/textures/icons/Audio_Press.png
new file mode 100644
index 0000000000..0268a0f9fb
--- /dev/null
+++ b/indra/newview/skins/contrast_gold/textures/icons/Audio_Press.png
Binary files differ
diff --git a/indra/newview/skins/contrast_gold/textures/icons/Icon_Notification_Condense.png b/indra/newview/skins/contrast_gold/textures/icons/Icon_Notification_Condense.png
new file mode 100644
index 0000000000..3a19e79f82
--- /dev/null
+++ b/indra/newview/skins/contrast_gold/textures/icons/Icon_Notification_Condense.png
Binary files differ
diff --git a/indra/newview/skins/contrast_gold/textures/icons/Icon_Notification_Expand.png b/indra/newview/skins/contrast_gold/textures/icons/Icon_Notification_Expand.png
new file mode 100644
index 0000000000..f5331feb02
--- /dev/null
+++ b/indra/newview/skins/contrast_gold/textures/icons/Icon_Notification_Expand.png
Binary files differ
diff --git a/indra/newview/skins/contrast_gold/textures/icons/Info.png b/indra/newview/skins/contrast_gold/textures/icons/Info.png
new file mode 100644
index 0000000000..e05a585f0b
--- /dev/null
+++ b/indra/newview/skins/contrast_gold/textures/icons/Info.png
Binary files differ
diff --git a/indra/newview/skins/contrast_gold/textures/icons/Info_Over.png b/indra/newview/skins/contrast_gold/textures/icons/Info_Over.png
new file mode 100644
index 0000000000..95fd5fa424
--- /dev/null
+++ b/indra/newview/skins/contrast_gold/textures/icons/Info_Over.png
Binary files differ
diff --git a/indra/newview/skins/contrast_gold/textures/icons/Info_Small.png b/indra/newview/skins/contrast_gold/textures/icons/Info_Small.png
new file mode 100644
index 0000000000..c4ce13e132
--- /dev/null
+++ b/indra/newview/skins/contrast_gold/textures/icons/Info_Small.png
Binary files differ
diff --git a/indra/newview/skins/contrast_gold/textures/icons/MP_Logo.png b/indra/newview/skins/contrast_gold/textures/icons/MP_Logo.png
new file mode 100644
index 0000000000..b01e8f4ea3
--- /dev/null
+++ b/indra/newview/skins/contrast_gold/textures/icons/MP_Logo.png
Binary files differ
diff --git a/indra/newview/skins/contrast_gold/textures/icons/MinusItem_Disabled.png b/indra/newview/skins/contrast_gold/textures/icons/MinusItem_Disabled.png
new file mode 100644
index 0000000000..b62ed35182
--- /dev/null
+++ b/indra/newview/skins/contrast_gold/textures/icons/MinusItem_Disabled.png
Binary files differ
diff --git a/indra/newview/skins/contrast_gold/textures/icons/MinusItem_Off.png b/indra/newview/skins/contrast_gold/textures/icons/MinusItem_Off.png
new file mode 100644
index 0000000000..eb7b8838f7
--- /dev/null
+++ b/indra/newview/skins/contrast_gold/textures/icons/MinusItem_Off.png
Binary files differ
diff --git a/indra/newview/skins/contrast_gold/textures/icons/MinusItem_Press.png b/indra/newview/skins/contrast_gold/textures/icons/MinusItem_Press.png
new file mode 100644
index 0000000000..2dc6081cb0
--- /dev/null
+++ b/indra/newview/skins/contrast_gold/textures/icons/MinusItem_Press.png
Binary files differ
diff --git a/indra/newview/skins/contrast_gold/textures/icons/Parcel_M_Dark.png b/indra/newview/skins/contrast_gold/textures/icons/Parcel_M_Dark.png
new file mode 100644
index 0000000000..ab5a1680a7
--- /dev/null
+++ b/indra/newview/skins/contrast_gold/textures/icons/Parcel_M_Dark.png
Binary files differ
diff --git a/indra/newview/skins/contrast_gold/textures/icons/Parcel_M_Light.png b/indra/newview/skins/contrast_gold/textures/icons/Parcel_M_Light.png
new file mode 100644
index 0000000000..2db94e37c9
--- /dev/null
+++ b/indra/newview/skins/contrast_gold/textures/icons/Parcel_M_Light.png
Binary files differ
diff --git a/indra/newview/skins/contrast_gold/textures/icons/Parcel_PG_Dark.png b/indra/newview/skins/contrast_gold/textures/icons/Parcel_PG_Dark.png
new file mode 100644
index 0000000000..e1f7613d04
--- /dev/null
+++ b/indra/newview/skins/contrast_gold/textures/icons/Parcel_PG_Dark.png
Binary files differ
diff --git a/indra/newview/skins/contrast_gold/textures/icons/Parcel_PG_Light.png b/indra/newview/skins/contrast_gold/textures/icons/Parcel_PG_Light.png
new file mode 100644
index 0000000000..04d13027d2
--- /dev/null
+++ b/indra/newview/skins/contrast_gold/textures/icons/Parcel_PG_Light.png
Binary files differ
diff --git a/indra/newview/skins/contrast_gold/textures/icons/Parcel_R_Light.png b/indra/newview/skins/contrast_gold/textures/icons/Parcel_R_Light.png
new file mode 100644
index 0000000000..dbf43152b3
--- /dev/null
+++ b/indra/newview/skins/contrast_gold/textures/icons/Parcel_R_Light.png
Binary files differ
diff --git a/indra/newview/skins/contrast_gold/textures/icons/ProgressLarge_8.png b/indra/newview/skins/contrast_gold/textures/icons/ProgressLarge_8.png
new file mode 100644
index 0000000000..df0e825cef
--- /dev/null
+++ b/indra/newview/skins/contrast_gold/textures/icons/ProgressLarge_8.png
Binary files differ
diff --git a/indra/newview/skins/contrast_gold/textures/icons/VoiceMute_Off.png b/indra/newview/skins/contrast_gold/textures/icons/VoiceMute_Off.png
new file mode 100644
index 0000000000..425ba267a5
--- /dev/null
+++ b/indra/newview/skins/contrast_gold/textures/icons/VoiceMute_Off.png
Binary files differ
diff --git a/indra/newview/skins/contrast_gold/textures/icons/VoicePTT_Lvl1.png b/indra/newview/skins/contrast_gold/textures/icons/VoicePTT_Lvl1.png
new file mode 100644
index 0000000000..3072512301
--- /dev/null
+++ b/indra/newview/skins/contrast_gold/textures/icons/VoicePTT_Lvl1.png
Binary files differ
diff --git a/indra/newview/skins/contrast/textures/build/Object_Torus_Selected.png b/indra/newview/skins/contrast_gold/textures/icons/VoicePTT_Lvl2.png
index ff1cce3a79..28872be28f 100644
--- a/indra/newview/skins/contrast/textures/build/Object_Torus_Selected.png
+++ b/indra/newview/skins/contrast_gold/textures/icons/VoicePTT_Lvl2.png
Binary files differ
diff --git a/indra/newview/skins/contrast_gold/textures/icons/VoicePTT_Lvl3.png b/indra/newview/skins/contrast_gold/textures/icons/VoicePTT_Lvl3.png
new file mode 100644
index 0000000000..a4a171bd81
--- /dev/null
+++ b/indra/newview/skins/contrast_gold/textures/icons/VoicePTT_Lvl3.png
Binary files differ
diff --git a/indra/newview/skins/contrast_gold/textures/icons/VoicePTT_Off.png b/indra/newview/skins/contrast_gold/textures/icons/VoicePTT_Off.png
new file mode 100644
index 0000000000..533663a4fa
--- /dev/null
+++ b/indra/newview/skins/contrast_gold/textures/icons/VoicePTT_Off.png
Binary files differ
diff --git a/indra/newview/skins/contrast_gold/textures/icons/VoicePTT_On.png b/indra/newview/skins/contrast_gold/textures/icons/VoicePTT_On.png
new file mode 100644
index 0000000000..823acfc583
--- /dev/null
+++ b/indra/newview/skins/contrast_gold/textures/icons/VoicePTT_On.png
Binary files differ
diff --git a/indra/newview/skins/contrast_gold/textures/icons/add_icon.png b/indra/newview/skins/contrast_gold/textures/icons/add_icon.png
new file mode 100644
index 0000000000..b5b09ae6e0
--- /dev/null
+++ b/indra/newview/skins/contrast_gold/textures/icons/add_icon.png
Binary files differ
diff --git a/indra/newview/skins/contrast_gold/textures/icons/back_arrow_off.png b/indra/newview/skins/contrast_gold/textures/icons/back_arrow_off.png
new file mode 100644
index 0000000000..0adf0b677e
--- /dev/null
+++ b/indra/newview/skins/contrast_gold/textures/icons/back_arrow_off.png
Binary files differ
diff --git a/indra/newview/skins/contrast/textures/icons/OutboxPush_Progress_1.png b/indra/newview/skins/contrast_gold/textures/icons/back_arrow_over.png
index 85015fc913..13ce6a8e4d 100644
--- a/indra/newview/skins/contrast/textures/icons/OutboxPush_Progress_1.png
+++ b/indra/newview/skins/contrast_gold/textures/icons/back_arrow_over.png
Binary files differ
diff --git a/indra/newview/skins/contrast_gold/textures/icons/back_arrow_press.png b/indra/newview/skins/contrast_gold/textures/icons/back_arrow_press.png
new file mode 100644
index 0000000000..311a90ac22
--- /dev/null
+++ b/indra/newview/skins/contrast_gold/textures/icons/back_arrow_press.png
Binary files differ
diff --git a/indra/newview/skins/contrast/textures/build/Object_Hemi_Sphere_Selected.png b/indra/newview/skins/contrast_gold/textures/icons/check_mark.png
index 2d1e035d41..ea59769d38 100644
--- a/indra/newview/skins/contrast/textures/build/Object_Hemi_Sphere_Selected.png
+++ b/indra/newview/skins/contrast_gold/textures/icons/check_mark.png
Binary files differ
diff --git a/indra/newview/skins/contrast/textures/icons/see_them_online.png b/indra/newview/skins/contrast_gold/textures/icons/see_me_online.png
index 135e6cdd82..5684e27f43 100644
--- a/indra/newview/skins/contrast/textures/icons/see_them_online.png
+++ b/indra/newview/skins/contrast_gold/textures/icons/see_me_online.png
Binary files differ
diff --git a/indra/newview/skins/contrast_gold/textures/icons/unknown_icon.png b/indra/newview/skins/contrast_gold/textures/icons/unknown_icon.png
new file mode 100644
index 0000000000..9a4e7f8616
--- /dev/null
+++ b/indra/newview/skins/contrast_gold/textures/icons/unknown_icon.png
Binary files differ
diff --git a/indra/newview/skins/contrast_gold/textures/megapahit/icon_group.png b/indra/newview/skins/contrast_gold/textures/megapahit/icon_group.png
new file mode 100644
index 0000000000..f3872dea3f
--- /dev/null
+++ b/indra/newview/skins/contrast_gold/textures/megapahit/icon_group.png
Binary files differ
diff --git a/indra/newview/skins/contrast_gold/textures/megapahit/icon_land_auction.png b/indra/newview/skins/contrast_gold/textures/megapahit/icon_land_auction.png
new file mode 100644
index 0000000000..550703968f
--- /dev/null
+++ b/indra/newview/skins/contrast_gold/textures/megapahit/icon_land_auction.png
Binary files differ
diff --git a/indra/newview/skins/contrast_gold/textures/megapahit/icon_land_forsale.png b/indra/newview/skins/contrast_gold/textures/megapahit/icon_land_forsale.png
new file mode 100644
index 0000000000..209bb868ea
--- /dev/null
+++ b/indra/newview/skins/contrast_gold/textures/megapahit/icon_land_forsale.png
Binary files differ
diff --git a/indra/newview/skins/contrast_gold/textures/megapahit/icon_place.png b/indra/newview/skins/contrast_gold/textures/megapahit/icon_place.png
new file mode 100644
index 0000000000..60cf42424a
--- /dev/null
+++ b/indra/newview/skins/contrast_gold/textures/megapahit/icon_place.png
Binary files differ
diff --git a/indra/newview/skins/contrast_gold/textures/model_wizard/progress_bar_bg.png b/indra/newview/skins/contrast_gold/textures/model_wizard/progress_bar_bg.png
new file mode 100644
index 0000000000..7c6920205f
--- /dev/null
+++ b/indra/newview/skins/contrast_gold/textures/model_wizard/progress_bar_bg.png
Binary files differ
diff --git a/indra/newview/skins/contrast/textures/build/Object_Cone_Selected.png b/indra/newview/skins/contrast_gold/textures/model_wizard/progress_light.png
index 4aeb96c3ae..be6b263fb6 100644
--- a/indra/newview/skins/contrast/textures/build/Object_Cone_Selected.png
+++ b/indra/newview/skins/contrast_gold/textures/model_wizard/progress_light.png
Binary files differ
diff --git a/indra/newview/skins/contrast_gold/textures/navbar/BuyArrow_Over.png b/indra/newview/skins/contrast_gold/textures/navbar/BuyArrow_Over.png
new file mode 100644
index 0000000000..3d9c758574
--- /dev/null
+++ b/indra/newview/skins/contrast_gold/textures/navbar/BuyArrow_Over.png
Binary files differ
diff --git a/indra/newview/skins/contrast_gold/textures/navbar/BuyArrow_Press.png b/indra/newview/skins/contrast_gold/textures/navbar/BuyArrow_Press.png
new file mode 100644
index 0000000000..69b0d43900
--- /dev/null
+++ b/indra/newview/skins/contrast_gold/textures/navbar/BuyArrow_Press.png
Binary files differ
diff --git a/indra/newview/skins/contrast/textures/icons/OutboxPush_Progress_6.png b/indra/newview/skins/contrast_gold/textures/navbar/Favorite_Star_Active.png
index 4f5b34a643..6d42f52963 100644
--- a/indra/newview/skins/contrast/textures/icons/OutboxPush_Progress_6.png
+++ b/indra/newview/skins/contrast_gold/textures/navbar/Favorite_Star_Active.png
Binary files differ
diff --git a/indra/newview/skins/contrast_gold/textures/navbar/Favorite_Star_Off.png b/indra/newview/skins/contrast_gold/textures/navbar/Favorite_Star_Off.png
new file mode 100644
index 0000000000..82d044d817
--- /dev/null
+++ b/indra/newview/skins/contrast_gold/textures/navbar/Favorite_Star_Off.png
Binary files differ
diff --git a/indra/newview/skins/contrast_gold/textures/navbar/Favorite_Star_Over.png b/indra/newview/skins/contrast_gold/textures/navbar/Favorite_Star_Over.png
new file mode 100644
index 0000000000..74861fdb58
--- /dev/null
+++ b/indra/newview/skins/contrast_gold/textures/navbar/Favorite_Star_Over.png
Binary files differ
diff --git a/indra/newview/skins/contrast_gold/textures/navbar/Favorite_Star_Press.png b/indra/newview/skins/contrast_gold/textures/navbar/Favorite_Star_Press.png
new file mode 100644
index 0000000000..6670667022
--- /dev/null
+++ b/indra/newview/skins/contrast_gold/textures/navbar/Favorite_Star_Press.png
Binary files differ
diff --git a/indra/newview/skins/contrast_gold/textures/navbar/NavBar_BG.png b/indra/newview/skins/contrast_gold/textures/navbar/NavBar_BG.png
new file mode 100644
index 0000000000..6a91700ae0
--- /dev/null
+++ b/indra/newview/skins/contrast_gold/textures/navbar/NavBar_BG.png
Binary files differ
diff --git a/indra/newview/skins/contrast/textures/icons/OutboxPush_Progress_2.png b/indra/newview/skins/contrast_gold/textures/navbar/NavBar_BG_NoFav_Bevel.png
index 6158242b68..c61dcde58c 100644
--- a/indra/newview/skins/contrast/textures/icons/OutboxPush_Progress_2.png
+++ b/indra/newview/skins/contrast_gold/textures/navbar/NavBar_BG_NoFav_Bevel.png
Binary files differ
diff --git a/indra/newview/skins/contrast_gold/textures/navbar/NavBar_BG_NoNav_Bevel.png b/indra/newview/skins/contrast_gold/textures/navbar/NavBar_BG_NoNav_Bevel.png
new file mode 100644
index 0000000000..9e3da34596
--- /dev/null
+++ b/indra/newview/skins/contrast_gold/textures/navbar/NavBar_BG_NoNav_Bevel.png
Binary files differ
diff --git a/indra/newview/skins/contrast_gold/textures/navbar/Row_Selection.png b/indra/newview/skins/contrast_gold/textures/navbar/Row_Selection.png
new file mode 100644
index 0000000000..d3870fb640
--- /dev/null
+++ b/indra/newview/skins/contrast_gold/textures/navbar/Row_Selection.png
Binary files differ
diff --git a/indra/newview/skins/contrast_gold/textures/navbar/separator.png b/indra/newview/skins/contrast_gold/textures/navbar/separator.png
new file mode 100644
index 0000000000..c1d74e5a64
--- /dev/null
+++ b/indra/newview/skins/contrast_gold/textures/navbar/separator.png
Binary files differ
diff --git a/indra/newview/skins/contrast/textures/textures.xml b/indra/newview/skins/contrast_gold/textures/textures.xml
index 1fe1ff333a..00082fb556 100644
--- a/indra/newview/skins/contrast/textures/textures.xml
+++ b/indra/newview/skins/contrast_gold/textures/textures.xml
@@ -857,8 +857,8 @@ with the same filename but different name
<texture name="notify_caution_icon.tga" />
- <texture name="default_land_picture.j2c" />
- <texture name="default_profile_picture.j2c" />
+ <texture name="default_land_picture.j2c" file_name="default_land_picture.png"/>
+ <texture name="default_profile_picture.j2c" file_name="default_profile_picture.png"/>
<texture name="locked_image.j2c" />
<texture name="badge_note.j2c" />
<texture name="badge_warn.j2c" />
diff --git a/indra/newview/skins/contrast_gold/textures/toolbar_icons/caret_bottom.png b/indra/newview/skins/contrast_gold/textures/toolbar_icons/caret_bottom.png
new file mode 100644
index 0000000000..5f6a01eaa1
--- /dev/null
+++ b/indra/newview/skins/contrast_gold/textures/toolbar_icons/caret_bottom.png
Binary files differ
diff --git a/indra/newview/skins/contrast_gold/textures/toolbar_icons/caret_left.png b/indra/newview/skins/contrast_gold/textures/toolbar_icons/caret_left.png
new file mode 100644
index 0000000000..0b8090314c
--- /dev/null
+++ b/indra/newview/skins/contrast_gold/textures/toolbar_icons/caret_left.png
Binary files differ
diff --git a/indra/newview/skins/contrast_gold/textures/toolbar_icons/caret_right.png b/indra/newview/skins/contrast_gold/textures/toolbar_icons/caret_right.png
new file mode 100644
index 0000000000..044751560f
--- /dev/null
+++ b/indra/newview/skins/contrast_gold/textures/toolbar_icons/caret_right.png
Binary files differ
diff --git a/indra/newview/skins/contrast_gold/textures/toolbar_icons/highlighting.png b/indra/newview/skins/contrast_gold/textures/toolbar_icons/highlighting.png
new file mode 100644
index 0000000000..eeb43d165d
--- /dev/null
+++ b/indra/newview/skins/contrast_gold/textures/toolbar_icons/highlighting.png
Binary files differ
diff --git a/indra/newview/skins/contrast_gold/textures/toolbar_icons/highlighting_selected.png b/indra/newview/skins/contrast_gold/textures/toolbar_icons/highlighting_selected.png
new file mode 100644
index 0000000000..79d812ee3e
--- /dev/null
+++ b/indra/newview/skins/contrast_gold/textures/toolbar_icons/highlighting_selected.png
Binary files differ
diff --git a/indra/newview/skins/contrast_gold/textures/widgets/Arrow_Down.png b/indra/newview/skins/contrast_gold/textures/widgets/Arrow_Down.png
new file mode 100644
index 0000000000..8b592ed840
--- /dev/null
+++ b/indra/newview/skins/contrast_gold/textures/widgets/Arrow_Down.png
Binary files differ
diff --git a/indra/newview/skins/contrast_gold/textures/widgets/Arrow_Left.png b/indra/newview/skins/contrast_gold/textures/widgets/Arrow_Left.png
new file mode 100644
index 0000000000..04416541b9
--- /dev/null
+++ b/indra/newview/skins/contrast_gold/textures/widgets/Arrow_Left.png
Binary files differ
diff --git a/indra/newview/skins/contrast_gold/textures/widgets/Arrow_Right.png b/indra/newview/skins/contrast_gold/textures/widgets/Arrow_Right.png
new file mode 100644
index 0000000000..e57452a558
--- /dev/null
+++ b/indra/newview/skins/contrast_gold/textures/widgets/Arrow_Right.png
Binary files differ
diff --git a/indra/newview/skins/contrast_gold/textures/widgets/Arrow_Small_Down.png b/indra/newview/skins/contrast_gold/textures/widgets/Arrow_Small_Down.png
new file mode 100644
index 0000000000..8694cdf2d4
--- /dev/null
+++ b/indra/newview/skins/contrast_gold/textures/widgets/Arrow_Small_Down.png
Binary files differ
diff --git a/indra/newview/skins/contrast_gold/textures/widgets/Arrow_Small_Left.png b/indra/newview/skins/contrast_gold/textures/widgets/Arrow_Small_Left.png
new file mode 100644
index 0000000000..a1b82d5101
--- /dev/null
+++ b/indra/newview/skins/contrast_gold/textures/widgets/Arrow_Small_Left.png
Binary files differ
diff --git a/indra/newview/skins/contrast_gold/textures/widgets/Arrow_Small_Right.png b/indra/newview/skins/contrast_gold/textures/widgets/Arrow_Small_Right.png
new file mode 100644
index 0000000000..0e05d76852
--- /dev/null
+++ b/indra/newview/skins/contrast_gold/textures/widgets/Arrow_Small_Right.png
Binary files differ
diff --git a/indra/newview/skins/contrast_gold/textures/widgets/Arrow_Small_Up.png b/indra/newview/skins/contrast_gold/textures/widgets/Arrow_Small_Up.png
new file mode 100644
index 0000000000..348bc4c019
--- /dev/null
+++ b/indra/newview/skins/contrast_gold/textures/widgets/Arrow_Small_Up.png
Binary files differ
diff --git a/indra/newview/skins/contrast_gold/textures/widgets/Arrow_Up.png b/indra/newview/skins/contrast_gold/textures/widgets/Arrow_Up.png
new file mode 100644
index 0000000000..8b3da09d79
--- /dev/null
+++ b/indra/newview/skins/contrast_gold/textures/widgets/Arrow_Up.png
Binary files differ
diff --git a/indra/newview/skins/contrast_gold/textures/widgets/Badge_Background.png b/indra/newview/skins/contrast_gold/textures/widgets/Badge_Background.png
new file mode 100644
index 0000000000..5abc1bf489
--- /dev/null
+++ b/indra/newview/skins/contrast_gold/textures/widgets/Badge_Background.png
Binary files differ
diff --git a/indra/newview/skins/contrast_gold/textures/widgets/Badge_Border.png b/indra/newview/skins/contrast_gold/textures/widgets/Badge_Border.png
new file mode 100644
index 0000000000..57d3be2320
--- /dev/null
+++ b/indra/newview/skins/contrast_gold/textures/widgets/Badge_Border.png
Binary files differ
diff --git a/indra/newview/skins/contrast_gold/textures/widgets/BreadCrumbBtn_Left_Disabled.png b/indra/newview/skins/contrast_gold/textures/widgets/BreadCrumbBtn_Left_Disabled.png
new file mode 100644
index 0000000000..e18872b6f6
--- /dev/null
+++ b/indra/newview/skins/contrast_gold/textures/widgets/BreadCrumbBtn_Left_Disabled.png
Binary files differ
diff --git a/indra/newview/skins/contrast_gold/textures/widgets/BreadCrumbBtn_Left_Off.png b/indra/newview/skins/contrast_gold/textures/widgets/BreadCrumbBtn_Left_Off.png
new file mode 100644
index 0000000000..699ddd9bf3
--- /dev/null
+++ b/indra/newview/skins/contrast_gold/textures/widgets/BreadCrumbBtn_Left_Off.png
Binary files differ
diff --git a/indra/newview/skins/contrast_gold/textures/widgets/BreadCrumbBtn_Left_Over.png b/indra/newview/skins/contrast_gold/textures/widgets/BreadCrumbBtn_Left_Over.png
new file mode 100644
index 0000000000..12854bdb12
--- /dev/null
+++ b/indra/newview/skins/contrast_gold/textures/widgets/BreadCrumbBtn_Left_Over.png
Binary files differ
diff --git a/indra/newview/skins/contrast_gold/textures/widgets/BreadCrumbBtn_Left_Press.png b/indra/newview/skins/contrast_gold/textures/widgets/BreadCrumbBtn_Left_Press.png
new file mode 100644
index 0000000000..1f04a1e9e8
--- /dev/null
+++ b/indra/newview/skins/contrast_gold/textures/widgets/BreadCrumbBtn_Left_Press.png
Binary files differ
diff --git a/indra/newview/skins/contrast_gold/textures/widgets/BreadCrumbBtn_Middle_Disabled.png b/indra/newview/skins/contrast_gold/textures/widgets/BreadCrumbBtn_Middle_Disabled.png
new file mode 100644
index 0000000000..2cf3de24c0
--- /dev/null
+++ b/indra/newview/skins/contrast_gold/textures/widgets/BreadCrumbBtn_Middle_Disabled.png
Binary files differ
diff --git a/indra/newview/skins/contrast_gold/textures/widgets/BreadCrumbBtn_Middle_Off.png b/indra/newview/skins/contrast_gold/textures/widgets/BreadCrumbBtn_Middle_Off.png
new file mode 100644
index 0000000000..52bcf88258
--- /dev/null
+++ b/indra/newview/skins/contrast_gold/textures/widgets/BreadCrumbBtn_Middle_Off.png
Binary files differ
diff --git a/indra/newview/skins/contrast_gold/textures/widgets/BreadCrumbBtn_Middle_Over.png b/indra/newview/skins/contrast_gold/textures/widgets/BreadCrumbBtn_Middle_Over.png
new file mode 100644
index 0000000000..efdd13003a
--- /dev/null
+++ b/indra/newview/skins/contrast_gold/textures/widgets/BreadCrumbBtn_Middle_Over.png
Binary files differ
diff --git a/indra/newview/skins/contrast_gold/textures/widgets/BreadCrumbBtn_Middle_Press.png b/indra/newview/skins/contrast_gold/textures/widgets/BreadCrumbBtn_Middle_Press.png
new file mode 100644
index 0000000000..3c66b1f1cc
--- /dev/null
+++ b/indra/newview/skins/contrast_gold/textures/widgets/BreadCrumbBtn_Middle_Press.png
Binary files differ
diff --git a/indra/newview/skins/contrast_gold/textures/widgets/BreadCrumbBtn_Right_Disabled.png b/indra/newview/skins/contrast_gold/textures/widgets/BreadCrumbBtn_Right_Disabled.png
new file mode 100644
index 0000000000..d9c9692114
--- /dev/null
+++ b/indra/newview/skins/contrast_gold/textures/widgets/BreadCrumbBtn_Right_Disabled.png
Binary files differ
diff --git a/indra/newview/skins/contrast_gold/textures/widgets/BreadCrumbBtn_Right_Off.png b/indra/newview/skins/contrast_gold/textures/widgets/BreadCrumbBtn_Right_Off.png
new file mode 100644
index 0000000000..4935dae42e
--- /dev/null
+++ b/indra/newview/skins/contrast_gold/textures/widgets/BreadCrumbBtn_Right_Off.png
Binary files differ
diff --git a/indra/newview/skins/contrast_gold/textures/widgets/BreadCrumbBtn_Right_Over.png b/indra/newview/skins/contrast_gold/textures/widgets/BreadCrumbBtn_Right_Over.png
new file mode 100644
index 0000000000..6eeec08248
--- /dev/null
+++ b/indra/newview/skins/contrast_gold/textures/widgets/BreadCrumbBtn_Right_Over.png
Binary files differ
diff --git a/indra/newview/skins/contrast_gold/textures/widgets/BreadCrumbBtn_Right_Press.png b/indra/newview/skins/contrast_gold/textures/widgets/BreadCrumbBtn_Right_Press.png
new file mode 100644
index 0000000000..2d6d08522b
--- /dev/null
+++ b/indra/newview/skins/contrast_gold/textures/widgets/BreadCrumbBtn_Right_Press.png
Binary files differ
diff --git a/indra/newview/skins/contrast_gold/textures/widgets/Checkbox_Disabled.png b/indra/newview/skins/contrast_gold/textures/widgets/Checkbox_Disabled.png
new file mode 100644
index 0000000000..8439f82e29
--- /dev/null
+++ b/indra/newview/skins/contrast_gold/textures/widgets/Checkbox_Disabled.png
Binary files differ
diff --git a/indra/newview/skins/contrast_gold/textures/widgets/Checkbox_Off.png b/indra/newview/skins/contrast_gold/textures/widgets/Checkbox_Off.png
new file mode 100644
index 0000000000..cb9a04d84f
--- /dev/null
+++ b/indra/newview/skins/contrast_gold/textures/widgets/Checkbox_Off.png
Binary files differ
diff --git a/indra/newview/skins/contrast_gold/textures/widgets/Checkbox_On.png b/indra/newview/skins/contrast_gold/textures/widgets/Checkbox_On.png
new file mode 100644
index 0000000000..0ec090504a
--- /dev/null
+++ b/indra/newview/skins/contrast_gold/textures/widgets/Checkbox_On.png
Binary files differ
diff --git a/indra/newview/skins/contrast_gold/textures/widgets/Checkbox_On_Disabled.png b/indra/newview/skins/contrast_gold/textures/widgets/Checkbox_On_Disabled.png
new file mode 100644
index 0000000000..5759f7de69
--- /dev/null
+++ b/indra/newview/skins/contrast_gold/textures/widgets/Checkbox_On_Disabled.png
Binary files differ
diff --git a/indra/newview/skins/contrast_gold/textures/widgets/Checkbox_On_Press.png b/indra/newview/skins/contrast_gold/textures/widgets/Checkbox_On_Press.png
new file mode 100644
index 0000000000..ba46e91c55
--- /dev/null
+++ b/indra/newview/skins/contrast_gold/textures/widgets/Checkbox_On_Press.png
Binary files differ
diff --git a/indra/newview/skins/contrast_gold/textures/widgets/Checkbox_Press.png b/indra/newview/skins/contrast_gold/textures/widgets/Checkbox_Press.png
new file mode 100644
index 0000000000..5f5a33d878
--- /dev/null
+++ b/indra/newview/skins/contrast_gold/textures/widgets/Checkbox_Press.png
Binary files differ
diff --git a/indra/newview/skins/contrast_gold/textures/widgets/ComboButton_Disabled.png b/indra/newview/skins/contrast_gold/textures/widgets/ComboButton_Disabled.png
new file mode 100644
index 0000000000..ebeb813349
--- /dev/null
+++ b/indra/newview/skins/contrast_gold/textures/widgets/ComboButton_Disabled.png
Binary files differ
diff --git a/indra/newview/skins/contrast_gold/textures/widgets/ComboButton_Hover.png b/indra/newview/skins/contrast_gold/textures/widgets/ComboButton_Hover.png
new file mode 100644
index 0000000000..1377d35e1a
--- /dev/null
+++ b/indra/newview/skins/contrast_gold/textures/widgets/ComboButton_Hover.png
Binary files differ
diff --git a/indra/newview/skins/contrast_gold/textures/widgets/ComboButton_Off.png b/indra/newview/skins/contrast_gold/textures/widgets/ComboButton_Off.png
new file mode 100644
index 0000000000..4f573cf6fa
--- /dev/null
+++ b/indra/newview/skins/contrast_gold/textures/widgets/ComboButton_Off.png
Binary files differ
diff --git a/indra/newview/skins/contrast/textures/icons/see_on_map.png b/indra/newview/skins/contrast_gold/textures/widgets/ComboButton_On.png
index fc7057cacd..1d1ea1bd87 100644
--- a/indra/newview/skins/contrast/textures/icons/see_on_map.png
+++ b/indra/newview/skins/contrast_gold/textures/widgets/ComboButton_On.png
Binary files differ
diff --git a/indra/newview/skins/contrast/textures/icons/OutboxPush_Selected_Over.png b/indra/newview/skins/contrast_gold/textures/widgets/ComboButton_Selected.png
index 65d914c6b3..d87e46aba7 100644
--- a/indra/newview/skins/contrast/textures/icons/OutboxPush_Selected_Over.png
+++ b/indra/newview/skins/contrast_gold/textures/widgets/ComboButton_Selected.png
Binary files differ
diff --git a/indra/newview/skins/contrast_gold/textures/widgets/ComboButton_UpOff.png b/indra/newview/skins/contrast_gold/textures/widgets/ComboButton_UpOff.png
new file mode 100644
index 0000000000..5a067aca7c
--- /dev/null
+++ b/indra/newview/skins/contrast_gold/textures/widgets/ComboButton_UpOff.png
Binary files differ
diff --git a/indra/newview/skins/contrast/textures/icons/SL_Logo.png b/indra/newview/skins/contrast_gold/textures/widgets/ComboButton_UpSelected.png
index 8234387058..34b0c70cb0 100644
--- a/indra/newview/skins/contrast/textures/icons/SL_Logo.png
+++ b/indra/newview/skins/contrast_gold/textures/widgets/ComboButton_UpSelected.png
Binary files differ
diff --git a/indra/newview/skins/contrast_gold/textures/widgets/DisclosureArrow_Opened_Off.png b/indra/newview/skins/contrast_gold/textures/widgets/DisclosureArrow_Opened_Off.png
new file mode 100644
index 0000000000..115ec7a11f
--- /dev/null
+++ b/indra/newview/skins/contrast_gold/textures/widgets/DisclosureArrow_Opened_Off.png
Binary files differ
diff --git a/indra/newview/skins/contrast_gold/textures/widgets/DropDown.png b/indra/newview/skins/contrast_gold/textures/widgets/DropDown.png
new file mode 100644
index 0000000000..30e14f8684
--- /dev/null
+++ b/indra/newview/skins/contrast_gold/textures/widgets/DropDown.png
Binary files differ
diff --git a/indra/newview/skins/contrast_gold/textures/widgets/DropDown_Disabled.png b/indra/newview/skins/contrast_gold/textures/widgets/DropDown_Disabled.png
new file mode 100644
index 0000000000..fbc1f58aa5
--- /dev/null
+++ b/indra/newview/skins/contrast_gold/textures/widgets/DropDown_Disabled.png
Binary files differ
diff --git a/indra/newview/skins/contrast_gold/textures/widgets/DropDown_Off.png b/indra/newview/skins/contrast_gold/textures/widgets/DropDown_Off.png
new file mode 100644
index 0000000000..e21cd20ba9
--- /dev/null
+++ b/indra/newview/skins/contrast_gold/textures/widgets/DropDown_Off.png
Binary files differ
diff --git a/indra/newview/skins/contrast_gold/textures/widgets/DropDown_On.png b/indra/newview/skins/contrast_gold/textures/widgets/DropDown_On.png
new file mode 100644
index 0000000000..dc19edd130
--- /dev/null
+++ b/indra/newview/skins/contrast_gold/textures/widgets/DropDown_On.png
Binary files differ
diff --git a/indra/newview/skins/contrast_gold/textures/widgets/DropDown_Press.png b/indra/newview/skins/contrast_gold/textures/widgets/DropDown_Press.png
new file mode 100644
index 0000000000..dc19edd130
--- /dev/null
+++ b/indra/newview/skins/contrast_gold/textures/widgets/DropDown_Press.png
Binary files differ
diff --git a/indra/newview/skins/contrast_gold/textures/widgets/DropTarget.png b/indra/newview/skins/contrast_gold/textures/widgets/DropTarget.png
new file mode 100644
index 0000000000..01e7a88861
--- /dev/null
+++ b/indra/newview/skins/contrast_gold/textures/widgets/DropTarget.png
Binary files differ
diff --git a/indra/newview/skins/contrast_gold/textures/widgets/Error_Tag_Background.png b/indra/newview/skins/contrast_gold/textures/widgets/Error_Tag_Background.png
new file mode 100644
index 0000000000..439fce3dd3
--- /dev/null
+++ b/indra/newview/skins/contrast_gold/textures/widgets/Error_Tag_Background.png
Binary files differ
diff --git a/indra/newview/skins/contrast_gold/textures/widgets/Linden_Dollar_Alert.png b/indra/newview/skins/contrast_gold/textures/widgets/Linden_Dollar_Alert.png
new file mode 100644
index 0000000000..76e078100f
--- /dev/null
+++ b/indra/newview/skins/contrast_gold/textures/widgets/Linden_Dollar_Alert.png
Binary files differ
diff --git a/indra/newview/skins/contrast_gold/textures/widgets/Linden_Dollar_Background.png b/indra/newview/skins/contrast_gold/textures/widgets/Linden_Dollar_Background.png
new file mode 100644
index 0000000000..6e71ef7b72
--- /dev/null
+++ b/indra/newview/skins/contrast_gold/textures/widgets/Linden_Dollar_Background.png
Binary files differ
diff --git a/indra/newview/skins/contrast/textures/build/Object_Hemi_Cylinder_Selected.png b/indra/newview/skins/contrast_gold/textures/widgets/ListItem_Over.png
index c837e953da..0ec8de776e 100644
--- a/indra/newview/skins/contrast/textures/build/Object_Hemi_Cylinder_Selected.png
+++ b/indra/newview/skins/contrast_gold/textures/widgets/ListItem_Over.png
Binary files differ
diff --git a/indra/newview/skins/contrast/textures/build/Object_Cube_Selected.png b/indra/newview/skins/contrast_gold/textures/widgets/ListItem_Select.png
index 9c9d4f506a..6dd7b3c638 100644
--- a/indra/newview/skins/contrast/textures/build/Object_Cube_Selected.png
+++ b/indra/newview/skins/contrast_gold/textures/widgets/ListItem_Select.png
Binary files differ
diff --git a/indra/newview/skins/contrast_gold/textures/widgets/MarketplaceBtn_Off.png b/indra/newview/skins/contrast_gold/textures/widgets/MarketplaceBtn_Off.png
new file mode 100644
index 0000000000..37cd0f6108
--- /dev/null
+++ b/indra/newview/skins/contrast_gold/textures/widgets/MarketplaceBtn_Off.png
Binary files differ
diff --git a/indra/newview/skins/contrast_gold/textures/widgets/MarketplaceBtn_Selected.png b/indra/newview/skins/contrast_gold/textures/widgets/MarketplaceBtn_Selected.png
new file mode 100644
index 0000000000..3d9d474966
--- /dev/null
+++ b/indra/newview/skins/contrast_gold/textures/widgets/MarketplaceBtn_Selected.png
Binary files differ
diff --git a/indra/newview/skins/contrast_gold/textures/widgets/Marketplace_Dropzone_Background.png b/indra/newview/skins/contrast_gold/textures/widgets/Marketplace_Dropzone_Background.png
new file mode 100644
index 0000000000..9eb4a5c55d
--- /dev/null
+++ b/indra/newview/skins/contrast_gold/textures/widgets/Marketplace_Dropzone_Background.png
Binary files differ
diff --git a/indra/newview/skins/contrast_gold/textures/widgets/New_Tag_Background.png b/indra/newview/skins/contrast_gold/textures/widgets/New_Tag_Background.png
new file mode 100644
index 0000000000..3631d90825
--- /dev/null
+++ b/indra/newview/skins/contrast_gold/textures/widgets/New_Tag_Background.png
Binary files differ
diff --git a/indra/newview/skins/contrast_gold/textures/widgets/New_Tag_Border.png b/indra/newview/skins/contrast_gold/textures/widgets/New_Tag_Border.png
new file mode 100644
index 0000000000..d9b78eeea4
--- /dev/null
+++ b/indra/newview/skins/contrast_gold/textures/widgets/New_Tag_Border.png
Binary files differ
diff --git a/indra/newview/skins/contrast_gold/textures/widgets/ProgressBar.png b/indra/newview/skins/contrast_gold/textures/widgets/ProgressBar.png
new file mode 100644
index 0000000000..85a8559ceb
--- /dev/null
+++ b/indra/newview/skins/contrast_gold/textures/widgets/ProgressBar.png
Binary files differ
diff --git a/indra/newview/skins/contrast_gold/textures/widgets/ProgressBarSolid.png b/indra/newview/skins/contrast_gold/textures/widgets/ProgressBarSolid.png
new file mode 100644
index 0000000000..59a798464d
--- /dev/null
+++ b/indra/newview/skins/contrast_gold/textures/widgets/ProgressBarSolid.png
Binary files differ
diff --git a/indra/newview/skins/contrast_gold/textures/widgets/ProgressTrack.png b/indra/newview/skins/contrast_gold/textures/widgets/ProgressTrack.png
new file mode 100644
index 0000000000..f4be9f5ccd
--- /dev/null
+++ b/indra/newview/skins/contrast_gold/textures/widgets/ProgressTrack.png
Binary files differ
diff --git a/indra/newview/skins/contrast_gold/textures/widgets/PushButton_Disabled.png b/indra/newview/skins/contrast_gold/textures/widgets/PushButton_Disabled.png
new file mode 100644
index 0000000000..e99ec4b14b
--- /dev/null
+++ b/indra/newview/skins/contrast_gold/textures/widgets/PushButton_Disabled.png
Binary files differ
diff --git a/indra/newview/skins/contrast_gold/textures/widgets/PushButton_Login.png b/indra/newview/skins/contrast_gold/textures/widgets/PushButton_Login.png
new file mode 100644
index 0000000000..8e7d932ab1
--- /dev/null
+++ b/indra/newview/skins/contrast_gold/textures/widgets/PushButton_Login.png
Binary files differ
diff --git a/indra/newview/skins/contrast_gold/textures/widgets/PushButton_Login_Over.png b/indra/newview/skins/contrast_gold/textures/widgets/PushButton_Login_Over.png
new file mode 100644
index 0000000000..038ba23be2
--- /dev/null
+++ b/indra/newview/skins/contrast_gold/textures/widgets/PushButton_Login_Over.png
Binary files differ
diff --git a/indra/newview/skins/contrast_gold/textures/widgets/PushButton_Login_Pressed.png b/indra/newview/skins/contrast_gold/textures/widgets/PushButton_Login_Pressed.png
new file mode 100644
index 0000000000..828aa1a139
--- /dev/null
+++ b/indra/newview/skins/contrast_gold/textures/widgets/PushButton_Login_Pressed.png
Binary files differ
diff --git a/indra/newview/skins/contrast_gold/textures/widgets/PushButton_Off.png b/indra/newview/skins/contrast_gold/textures/widgets/PushButton_Off.png
new file mode 100644
index 0000000000..8d0b56ade0
--- /dev/null
+++ b/indra/newview/skins/contrast_gold/textures/widgets/PushButton_Off.png
Binary files differ
diff --git a/indra/newview/skins/contrast_gold/textures/widgets/PushButton_On.png b/indra/newview/skins/contrast_gold/textures/widgets/PushButton_On.png
new file mode 100644
index 0000000000..cdbcf6be4d
--- /dev/null
+++ b/indra/newview/skins/contrast_gold/textures/widgets/PushButton_On.png
Binary files differ
diff --git a/indra/newview/skins/contrast_gold/textures/widgets/PushButton_On_Selected.png b/indra/newview/skins/contrast_gold/textures/widgets/PushButton_On_Selected.png
new file mode 100644
index 0000000000..cdbcf6be4d
--- /dev/null
+++ b/indra/newview/skins/contrast_gold/textures/widgets/PushButton_On_Selected.png
Binary files differ
diff --git a/indra/newview/skins/contrast_gold/textures/widgets/PushButton_Over.png b/indra/newview/skins/contrast_gold/textures/widgets/PushButton_Over.png
new file mode 100644
index 0000000000..db8ad9d691
--- /dev/null
+++ b/indra/newview/skins/contrast_gold/textures/widgets/PushButton_Over.png
Binary files differ
diff --git a/indra/newview/skins/contrast_gold/textures/widgets/PushButton_Press.png b/indra/newview/skins/contrast_gold/textures/widgets/PushButton_Press.png
new file mode 100644
index 0000000000..cdbcf6be4d
--- /dev/null
+++ b/indra/newview/skins/contrast_gold/textures/widgets/PushButton_Press.png
Binary files differ
diff --git a/indra/newview/skins/contrast_gold/textures/widgets/PushButton_Selected.png b/indra/newview/skins/contrast_gold/textures/widgets/PushButton_Selected.png
new file mode 100644
index 0000000000..cdbcf6be4d
--- /dev/null
+++ b/indra/newview/skins/contrast_gold/textures/widgets/PushButton_Selected.png
Binary files differ
diff --git a/indra/newview/skins/contrast_gold/textures/widgets/PushButton_Selected_Disabled.png b/indra/newview/skins/contrast_gold/textures/widgets/PushButton_Selected_Disabled.png
new file mode 100644
index 0000000000..c44b0d2083
--- /dev/null
+++ b/indra/newview/skins/contrast_gold/textures/widgets/PushButton_Selected_Disabled.png
Binary files differ
diff --git a/indra/newview/skins/contrast_gold/textures/widgets/PushButton_Selected_Press.png b/indra/newview/skins/contrast_gold/textures/widgets/PushButton_Selected_Press.png
new file mode 100644
index 0000000000..cdbcf6be4d
--- /dev/null
+++ b/indra/newview/skins/contrast_gold/textures/widgets/PushButton_Selected_Press.png
Binary files differ
diff --git a/indra/newview/skins/contrast_gold/textures/widgets/RadioButton_Disabled.png b/indra/newview/skins/contrast_gold/textures/widgets/RadioButton_Disabled.png
new file mode 100644
index 0000000000..32ec25fe0e
--- /dev/null
+++ b/indra/newview/skins/contrast_gold/textures/widgets/RadioButton_Disabled.png
Binary files differ
diff --git a/indra/newview/skins/contrast_gold/textures/widgets/RadioButton_Off.png b/indra/newview/skins/contrast_gold/textures/widgets/RadioButton_Off.png
new file mode 100644
index 0000000000..5d267af5dc
--- /dev/null
+++ b/indra/newview/skins/contrast_gold/textures/widgets/RadioButton_Off.png
Binary files differ
diff --git a/indra/newview/skins/contrast_gold/textures/widgets/RadioButton_On.png b/indra/newview/skins/contrast_gold/textures/widgets/RadioButton_On.png
new file mode 100644
index 0000000000..e6bf0db157
--- /dev/null
+++ b/indra/newview/skins/contrast_gold/textures/widgets/RadioButton_On.png
Binary files differ
diff --git a/indra/newview/skins/contrast_gold/textures/widgets/RadioButton_On_Disabled.png b/indra/newview/skins/contrast_gold/textures/widgets/RadioButton_On_Disabled.png
new file mode 100644
index 0000000000..72aae43618
--- /dev/null
+++ b/indra/newview/skins/contrast_gold/textures/widgets/RadioButton_On_Disabled.png
Binary files differ
diff --git a/indra/newview/skins/contrast_gold/textures/widgets/RadioButton_On_Press.png b/indra/newview/skins/contrast_gold/textures/widgets/RadioButton_On_Press.png
new file mode 100644
index 0000000000..f3883b82b3
--- /dev/null
+++ b/indra/newview/skins/contrast_gold/textures/widgets/RadioButton_On_Press.png
Binary files differ
diff --git a/indra/newview/skins/contrast_gold/textures/widgets/RadioButton_Press.png b/indra/newview/skins/contrast_gold/textures/widgets/RadioButton_Press.png
new file mode 100644
index 0000000000..0025256045
--- /dev/null
+++ b/indra/newview/skins/contrast_gold/textures/widgets/RadioButton_Press.png
Binary files differ
diff --git a/indra/newview/skins/contrast_gold/textures/widgets/ScrollArrow_Down.png b/indra/newview/skins/contrast_gold/textures/widgets/ScrollArrow_Down.png
new file mode 100644
index 0000000000..768909d447
--- /dev/null
+++ b/indra/newview/skins/contrast_gold/textures/widgets/ScrollArrow_Down.png
Binary files differ
diff --git a/indra/newview/skins/contrast_gold/textures/widgets/ScrollArrow_Down_Opaque.png b/indra/newview/skins/contrast_gold/textures/widgets/ScrollArrow_Down_Opaque.png
new file mode 100644
index 0000000000..1c57521e9e
--- /dev/null
+++ b/indra/newview/skins/contrast_gold/textures/widgets/ScrollArrow_Down_Opaque.png
Binary files differ
diff --git a/indra/newview/skins/contrast_gold/textures/widgets/ScrollArrow_Down_Over_Opaque.png b/indra/newview/skins/contrast_gold/textures/widgets/ScrollArrow_Down_Over_Opaque.png
new file mode 100644
index 0000000000..3db7be9ffa
--- /dev/null
+++ b/indra/newview/skins/contrast_gold/textures/widgets/ScrollArrow_Down_Over_Opaque.png
Binary files differ
diff --git a/indra/newview/skins/contrast_gold/textures/widgets/ScrollArrow_Left.png b/indra/newview/skins/contrast_gold/textures/widgets/ScrollArrow_Left.png
new file mode 100644
index 0000000000..9ef73f48a5
--- /dev/null
+++ b/indra/newview/skins/contrast_gold/textures/widgets/ScrollArrow_Left.png
Binary files differ
diff --git a/indra/newview/skins/contrast_gold/textures/widgets/ScrollArrow_Left_Opaque.png b/indra/newview/skins/contrast_gold/textures/widgets/ScrollArrow_Left_Opaque.png
new file mode 100644
index 0000000000..0fb0671036
--- /dev/null
+++ b/indra/newview/skins/contrast_gold/textures/widgets/ScrollArrow_Left_Opaque.png
Binary files differ
diff --git a/indra/newview/skins/contrast_gold/textures/widgets/ScrollArrow_Left_Over_Opaque.png b/indra/newview/skins/contrast_gold/textures/widgets/ScrollArrow_Left_Over_Opaque.png
new file mode 100644
index 0000000000..464130c359
--- /dev/null
+++ b/indra/newview/skins/contrast_gold/textures/widgets/ScrollArrow_Left_Over_Opaque.png
Binary files differ
diff --git a/indra/newview/skins/contrast_gold/textures/widgets/ScrollArrow_Right.png b/indra/newview/skins/contrast_gold/textures/widgets/ScrollArrow_Right.png
new file mode 100644
index 0000000000..8a59274b8a
--- /dev/null
+++ b/indra/newview/skins/contrast_gold/textures/widgets/ScrollArrow_Right.png
Binary files differ
diff --git a/indra/newview/skins/contrast_gold/textures/widgets/ScrollArrow_Right_Opaque.png b/indra/newview/skins/contrast_gold/textures/widgets/ScrollArrow_Right_Opaque.png
new file mode 100644
index 0000000000..ab1f1ac90b
--- /dev/null
+++ b/indra/newview/skins/contrast_gold/textures/widgets/ScrollArrow_Right_Opaque.png
Binary files differ
diff --git a/indra/newview/skins/contrast_gold/textures/widgets/ScrollArrow_Right_Over_Opaque.png b/indra/newview/skins/contrast_gold/textures/widgets/ScrollArrow_Right_Over_Opaque.png
new file mode 100644
index 0000000000..e5a94429a3
--- /dev/null
+++ b/indra/newview/skins/contrast_gold/textures/widgets/ScrollArrow_Right_Over_Opaque.png
Binary files differ
diff --git a/indra/newview/skins/contrast_gold/textures/widgets/ScrollArrow_Up.png b/indra/newview/skins/contrast_gold/textures/widgets/ScrollArrow_Up.png
new file mode 100644
index 0000000000..064580f0c8
--- /dev/null
+++ b/indra/newview/skins/contrast_gold/textures/widgets/ScrollArrow_Up.png
Binary files differ
diff --git a/indra/newview/skins/contrast_gold/textures/widgets/ScrollArrow_Up_Opaque.png b/indra/newview/skins/contrast_gold/textures/widgets/ScrollArrow_Up_Opaque.png
new file mode 100644
index 0000000000..2cc4857d27
--- /dev/null
+++ b/indra/newview/skins/contrast_gold/textures/widgets/ScrollArrow_Up_Opaque.png
Binary files differ
diff --git a/indra/newview/skins/contrast_gold/textures/widgets/ScrollArrow_Up_Over_Opaque.png b/indra/newview/skins/contrast_gold/textures/widgets/ScrollArrow_Up_Over_Opaque.png
new file mode 100644
index 0000000000..2018b53af9
--- /dev/null
+++ b/indra/newview/skins/contrast_gold/textures/widgets/ScrollArrow_Up_Over_Opaque.png
Binary files differ
diff --git a/indra/newview/skins/contrast_gold/textures/widgets/ScrollThumb_Horiz.png b/indra/newview/skins/contrast_gold/textures/widgets/ScrollThumb_Horiz.png
new file mode 100644
index 0000000000..9afc907c1c
--- /dev/null
+++ b/indra/newview/skins/contrast_gold/textures/widgets/ScrollThumb_Horiz.png
Binary files differ
diff --git a/indra/newview/skins/contrast_gold/textures/widgets/ScrollThumb_Vert.png b/indra/newview/skins/contrast_gold/textures/widgets/ScrollThumb_Vert.png
new file mode 100644
index 0000000000..ede643e528
--- /dev/null
+++ b/indra/newview/skins/contrast_gold/textures/widgets/ScrollThumb_Vert.png
Binary files differ
diff --git a/indra/newview/skins/contrast_gold/textures/widgets/ScrollTrack_Horiz.png b/indra/newview/skins/contrast_gold/textures/widgets/ScrollTrack_Horiz.png
new file mode 100644
index 0000000000..35da770073
--- /dev/null
+++ b/indra/newview/skins/contrast_gold/textures/widgets/ScrollTrack_Horiz.png
Binary files differ
diff --git a/indra/newview/skins/contrast_gold/textures/widgets/ScrollTrack_Vert.png b/indra/newview/skins/contrast_gold/textures/widgets/ScrollTrack_Vert.png
new file mode 100644
index 0000000000..cf67c23133
--- /dev/null
+++ b/indra/newview/skins/contrast_gold/textures/widgets/ScrollTrack_Vert.png
Binary files differ
diff --git a/indra/newview/skins/contrast_gold/textures/widgets/SegmentedBtn_Left_Disabled.png b/indra/newview/skins/contrast_gold/textures/widgets/SegmentedBtn_Left_Disabled.png
new file mode 100644
index 0000000000..ba63751690
--- /dev/null
+++ b/indra/newview/skins/contrast_gold/textures/widgets/SegmentedBtn_Left_Disabled.png
Binary files differ
diff --git a/indra/newview/skins/contrast_gold/textures/widgets/SegmentedBtn_Left_Off.png b/indra/newview/skins/contrast_gold/textures/widgets/SegmentedBtn_Left_Off.png
new file mode 100644
index 0000000000..1a9f7e9d71
--- /dev/null
+++ b/indra/newview/skins/contrast_gold/textures/widgets/SegmentedBtn_Left_Off.png
Binary files differ
diff --git a/indra/newview/skins/contrast_gold/textures/widgets/SegmentedBtn_Left_Over.png b/indra/newview/skins/contrast_gold/textures/widgets/SegmentedBtn_Left_Over.png
new file mode 100644
index 0000000000..e4fcf491ba
--- /dev/null
+++ b/indra/newview/skins/contrast_gold/textures/widgets/SegmentedBtn_Left_Over.png
Binary files differ
diff --git a/indra/newview/skins/contrast_gold/textures/widgets/SegmentedBtn_Left_Press.png b/indra/newview/skins/contrast_gold/textures/widgets/SegmentedBtn_Left_Press.png
new file mode 100644
index 0000000000..dbe6651dc8
--- /dev/null
+++ b/indra/newview/skins/contrast_gold/textures/widgets/SegmentedBtn_Left_Press.png
Binary files differ
diff --git a/indra/newview/skins/contrast_gold/textures/widgets/SegmentedBtn_Left_Selected.png b/indra/newview/skins/contrast_gold/textures/widgets/SegmentedBtn_Left_Selected.png
new file mode 100644
index 0000000000..dbe6651dc8
--- /dev/null
+++ b/indra/newview/skins/contrast_gold/textures/widgets/SegmentedBtn_Left_Selected.png
Binary files differ
diff --git a/indra/newview/skins/contrast_gold/textures/widgets/SegmentedBtn_Left_Selected_Disabled.png b/indra/newview/skins/contrast_gold/textures/widgets/SegmentedBtn_Left_Selected_Disabled.png
new file mode 100644
index 0000000000..fb91d76860
--- /dev/null
+++ b/indra/newview/skins/contrast_gold/textures/widgets/SegmentedBtn_Left_Selected_Disabled.png
Binary files differ
diff --git a/indra/newview/skins/contrast_gold/textures/widgets/SegmentedBtn_Left_Selected_Over.png b/indra/newview/skins/contrast_gold/textures/widgets/SegmentedBtn_Left_Selected_Over.png
new file mode 100644
index 0000000000..fb91d76860
--- /dev/null
+++ b/indra/newview/skins/contrast_gold/textures/widgets/SegmentedBtn_Left_Selected_Over.png
Binary files differ
diff --git a/indra/newview/skins/contrast_gold/textures/widgets/SegmentedBtn_Left_Selected_Press.png b/indra/newview/skins/contrast_gold/textures/widgets/SegmentedBtn_Left_Selected_Press.png
new file mode 100644
index 0000000000..fb91d76860
--- /dev/null
+++ b/indra/newview/skins/contrast_gold/textures/widgets/SegmentedBtn_Left_Selected_Press.png
Binary files differ
diff --git a/indra/newview/skins/contrast_gold/textures/widgets/SegmentedBtn_Middle_Disabled.png b/indra/newview/skins/contrast_gold/textures/widgets/SegmentedBtn_Middle_Disabled.png
new file mode 100644
index 0000000000..d9f05d33ec
--- /dev/null
+++ b/indra/newview/skins/contrast_gold/textures/widgets/SegmentedBtn_Middle_Disabled.png
Binary files differ
diff --git a/indra/newview/skins/contrast_gold/textures/widgets/SegmentedBtn_Middle_Selected.png b/indra/newview/skins/contrast_gold/textures/widgets/SegmentedBtn_Middle_Selected.png
new file mode 100644
index 0000000000..d2342f6538
--- /dev/null
+++ b/indra/newview/skins/contrast_gold/textures/widgets/SegmentedBtn_Middle_Selected.png
Binary files differ
diff --git a/indra/newview/skins/contrast_gold/textures/widgets/SegmentedBtn_Middle_Selected_Disabled.png b/indra/newview/skins/contrast_gold/textures/widgets/SegmentedBtn_Middle_Selected_Disabled.png
new file mode 100644
index 0000000000..5e3b275c46
--- /dev/null
+++ b/indra/newview/skins/contrast_gold/textures/widgets/SegmentedBtn_Middle_Selected_Disabled.png
Binary files differ
diff --git a/indra/newview/skins/contrast_gold/textures/widgets/SegmentedBtn_Middle_Selected_Press.png b/indra/newview/skins/contrast_gold/textures/widgets/SegmentedBtn_Middle_Selected_Press.png
new file mode 100644
index 0000000000..5e3b275c46
--- /dev/null
+++ b/indra/newview/skins/contrast_gold/textures/widgets/SegmentedBtn_Middle_Selected_Press.png
Binary files differ
diff --git a/indra/newview/skins/contrast_gold/textures/widgets/SegmentedBtn_Right_Disabled.png b/indra/newview/skins/contrast_gold/textures/widgets/SegmentedBtn_Right_Disabled.png
new file mode 100644
index 0000000000..ecd2144d6d
--- /dev/null
+++ b/indra/newview/skins/contrast_gold/textures/widgets/SegmentedBtn_Right_Disabled.png
Binary files differ
diff --git a/indra/newview/skins/contrast_gold/textures/widgets/SegmentedBtn_Right_Off.png b/indra/newview/skins/contrast_gold/textures/widgets/SegmentedBtn_Right_Off.png
new file mode 100644
index 0000000000..1901d5e843
--- /dev/null
+++ b/indra/newview/skins/contrast_gold/textures/widgets/SegmentedBtn_Right_Off.png
Binary files differ
diff --git a/indra/newview/skins/contrast_gold/textures/widgets/SegmentedBtn_Right_On_Selected.png b/indra/newview/skins/contrast_gold/textures/widgets/SegmentedBtn_Right_On_Selected.png
new file mode 100644
index 0000000000..a09415cd59
--- /dev/null
+++ b/indra/newview/skins/contrast_gold/textures/widgets/SegmentedBtn_Right_On_Selected.png
Binary files differ
diff --git a/indra/newview/skins/contrast_gold/textures/widgets/SegmentedBtn_Right_Over.png b/indra/newview/skins/contrast_gold/textures/widgets/SegmentedBtn_Right_Over.png
new file mode 100644
index 0000000000..534c30cddc
--- /dev/null
+++ b/indra/newview/skins/contrast_gold/textures/widgets/SegmentedBtn_Right_Over.png
Binary files differ
diff --git a/indra/newview/skins/contrast_gold/textures/widgets/SegmentedBtn_Right_Press.png b/indra/newview/skins/contrast_gold/textures/widgets/SegmentedBtn_Right_Press.png
new file mode 100644
index 0000000000..a97612ce2f
--- /dev/null
+++ b/indra/newview/skins/contrast_gold/textures/widgets/SegmentedBtn_Right_Press.png
Binary files differ
diff --git a/indra/newview/skins/contrast_gold/textures/widgets/SegmentedBtn_Right_Selected.png b/indra/newview/skins/contrast_gold/textures/widgets/SegmentedBtn_Right_Selected.png
new file mode 100644
index 0000000000..a97612ce2f
--- /dev/null
+++ b/indra/newview/skins/contrast_gold/textures/widgets/SegmentedBtn_Right_Selected.png
Binary files differ
diff --git a/indra/newview/skins/contrast_gold/textures/widgets/SegmentedBtn_Right_Selected_Disabled.png b/indra/newview/skins/contrast_gold/textures/widgets/SegmentedBtn_Right_Selected_Disabled.png
new file mode 100644
index 0000000000..ca7551a267
--- /dev/null
+++ b/indra/newview/skins/contrast_gold/textures/widgets/SegmentedBtn_Right_Selected_Disabled.png
Binary files differ
diff --git a/indra/newview/skins/contrast_gold/textures/widgets/SegmentedBtn_Right_Selected_Press.png b/indra/newview/skins/contrast_gold/textures/widgets/SegmentedBtn_Right_Selected_Press.png
new file mode 100644
index 0000000000..d7e9451f76
--- /dev/null
+++ b/indra/newview/skins/contrast_gold/textures/widgets/SegmentedBtn_Right_Selected_Press.png
Binary files differ
diff --git a/indra/newview/skins/contrast_gold/textures/widgets/SliderThumb_Disabled.png b/indra/newview/skins/contrast_gold/textures/widgets/SliderThumb_Disabled.png
new file mode 100644
index 0000000000..5cfa3ae4e1
--- /dev/null
+++ b/indra/newview/skins/contrast_gold/textures/widgets/SliderThumb_Disabled.png
Binary files differ
diff --git a/indra/newview/skins/contrast_gold/textures/widgets/SliderThumb_Off.png b/indra/newview/skins/contrast_gold/textures/widgets/SliderThumb_Off.png
new file mode 100644
index 0000000000..66cdcbeb94
--- /dev/null
+++ b/indra/newview/skins/contrast_gold/textures/widgets/SliderThumb_Off.png
Binary files differ
diff --git a/indra/newview/skins/contrast_gold/textures/widgets/SliderThumb_Press.png b/indra/newview/skins/contrast_gold/textures/widgets/SliderThumb_Press.png
new file mode 100644
index 0000000000..0bf8e43e81
--- /dev/null
+++ b/indra/newview/skins/contrast_gold/textures/widgets/SliderThumb_Press.png
Binary files differ
diff --git a/indra/newview/skins/contrast_gold/textures/widgets/SliderTrack_Horiz.png b/indra/newview/skins/contrast_gold/textures/widgets/SliderTrack_Horiz.png
new file mode 100644
index 0000000000..720830f83f
--- /dev/null
+++ b/indra/newview/skins/contrast_gold/textures/widgets/SliderTrack_Horiz.png
Binary files differ
diff --git a/indra/newview/skins/contrast_gold/textures/widgets/SliderTrack_Vert.png b/indra/newview/skins/contrast_gold/textures/widgets/SliderTrack_Vert.png
new file mode 100644
index 0000000000..c01db44707
--- /dev/null
+++ b/indra/newview/skins/contrast_gold/textures/widgets/SliderTrack_Vert.png
Binary files differ
diff --git a/indra/newview/skins/contrast_gold/textures/widgets/Stepper_Down_Off.png b/indra/newview/skins/contrast_gold/textures/widgets/Stepper_Down_Off.png
new file mode 100644
index 0000000000..ff21034095
--- /dev/null
+++ b/indra/newview/skins/contrast_gold/textures/widgets/Stepper_Down_Off.png
Binary files differ
diff --git a/indra/newview/skins/contrast_gold/textures/widgets/Stepper_Down_Press.png b/indra/newview/skins/contrast_gold/textures/widgets/Stepper_Down_Press.png
new file mode 100644
index 0000000000..7349132503
--- /dev/null
+++ b/indra/newview/skins/contrast_gold/textures/widgets/Stepper_Down_Press.png
Binary files differ
diff --git a/indra/newview/skins/contrast_gold/textures/widgets/Stepper_Up_Off.png b/indra/newview/skins/contrast_gold/textures/widgets/Stepper_Up_Off.png
new file mode 100644
index 0000000000..133845bdbc
--- /dev/null
+++ b/indra/newview/skins/contrast_gold/textures/widgets/Stepper_Up_Off.png
Binary files differ
diff --git a/indra/newview/skins/contrast_gold/textures/widgets/Stepper_Up_Press.png b/indra/newview/skins/contrast_gold/textures/widgets/Stepper_Up_Press.png
new file mode 100644
index 0000000000..3dce7733c2
--- /dev/null
+++ b/indra/newview/skins/contrast_gold/textures/widgets/Stepper_Up_Press.png
Binary files differ
diff --git a/indra/newview/skins/contrast/textures/icons/Inv_SysClosed.png b/indra/newview/skins/contrast_gold/textures/widgets/TextField_Active.png
index 2550cae0d4..66c3867b81 100644
--- a/indra/newview/skins/contrast/textures/icons/Inv_SysClosed.png
+++ b/indra/newview/skins/contrast_gold/textures/widgets/TextField_Active.png
Binary files differ
diff --git a/indra/newview/skins/contrast/textures/icons/Inv_SysOpen.png b/indra/newview/skins/contrast_gold/textures/widgets/TextField_Disabled.png
index 5b56d86184..baf747f581 100644
--- a/indra/newview/skins/contrast/textures/icons/Inv_SysOpen.png
+++ b/indra/newview/skins/contrast_gold/textures/widgets/TextField_Disabled.png
Binary files differ
diff --git a/indra/newview/skins/contrast/textures/icons/Sync_Enabled.png b/indra/newview/skins/contrast_gold/textures/widgets/TextField_Off.png
index 0e7e5157cb..a35562f950 100644
--- a/indra/newview/skins/contrast/textures/icons/Sync_Enabled.png
+++ b/indra/newview/skins/contrast_gold/textures/widgets/TextField_Off.png
Binary files differ
diff --git a/indra/newview/skins/contrast_gold/textures/widgets/TextField_Search_Active.png b/indra/newview/skins/contrast_gold/textures/widgets/TextField_Search_Active.png
new file mode 100644
index 0000000000..572535f1ab
--- /dev/null
+++ b/indra/newview/skins/contrast_gold/textures/widgets/TextField_Search_Active.png
Binary files differ
diff --git a/indra/newview/skins/contrast_gold/textures/widgets/TextField_Search_Disabled.png b/indra/newview/skins/contrast_gold/textures/widgets/TextField_Search_Disabled.png
new file mode 100644
index 0000000000..94b4b158f7
--- /dev/null
+++ b/indra/newview/skins/contrast_gold/textures/widgets/TextField_Search_Disabled.png
Binary files differ
diff --git a/indra/newview/skins/contrast_gold/textures/widgets/TextField_Search_Highlight.png b/indra/newview/skins/contrast_gold/textures/widgets/TextField_Search_Highlight.png
new file mode 100644
index 0000000000..7768da04e8
--- /dev/null
+++ b/indra/newview/skins/contrast_gold/textures/widgets/TextField_Search_Highlight.png
Binary files differ
diff --git a/indra/newview/skins/contrast_gold/textures/widgets/TextField_Search_Off.png b/indra/newview/skins/contrast_gold/textures/widgets/TextField_Search_Off.png
new file mode 100644
index 0000000000..fccd38c807
--- /dev/null
+++ b/indra/newview/skins/contrast_gold/textures/widgets/TextField_Search_Off.png
Binary files differ
diff --git a/indra/newview/skins/contrast_gold/textures/widgets/Tooltip.png b/indra/newview/skins/contrast_gold/textures/widgets/Tooltip.png
new file mode 100644
index 0000000000..1be53bdaa2
--- /dev/null
+++ b/indra/newview/skins/contrast_gold/textures/widgets/Tooltip.png
Binary files differ
diff --git a/indra/newview/skins/contrast_gold/textures/widgets/bevel_background.png b/indra/newview/skins/contrast_gold/textures/widgets/bevel_background.png
new file mode 100644
index 0000000000..6304124aec
--- /dev/null
+++ b/indra/newview/skins/contrast_gold/textures/widgets/bevel_background.png
Binary files differ
diff --git a/indra/newview/skins/contrast/textures/build/Object_Prism_Selected.png b/indra/newview/skins/contrast_gold/textures/widgets/buy_off.png
index 6ec9e72c54..f623b501e2 100644
--- a/indra/newview/skins/contrast/textures/build/Object_Prism_Selected.png
+++ b/indra/newview/skins/contrast_gold/textures/widgets/buy_off.png
Binary files differ
diff --git a/indra/newview/skins/contrast/textures/build/Object_Hemi_Cone_Selected.png b/indra/newview/skins/contrast_gold/textures/widgets/buy_over.png
index ae65f1d5e6..25d4173242 100644
--- a/indra/newview/skins/contrast/textures/build/Object_Hemi_Cone_Selected.png
+++ b/indra/newview/skins/contrast_gold/textures/widgets/buy_over.png
Binary files differ
diff --git a/indra/newview/skins/contrast/textures/build/Object_Tube_Selected.png b/indra/newview/skins/contrast_gold/textures/widgets/buy_press.png
index 5653f06af1..3195431c84 100644
--- a/indra/newview/skins/contrast/textures/build/Object_Tube_Selected.png
+++ b/indra/newview/skins/contrast_gold/textures/widgets/buy_press.png
Binary files differ
diff --git a/indra/newview/skins/contrast_gold/textures/widgets/horizontal_drag_handle.png b/indra/newview/skins/contrast_gold/textures/widgets/horizontal_drag_handle.png
new file mode 100644
index 0000000000..631d653968
--- /dev/null
+++ b/indra/newview/skins/contrast_gold/textures/widgets/horizontal_drag_handle.png
Binary files differ
diff --git a/indra/newview/skins/contrast_gold/textures/widgets/jump_left_in.png b/indra/newview/skins/contrast_gold/textures/widgets/jump_left_in.png
new file mode 100644
index 0000000000..073606628c
--- /dev/null
+++ b/indra/newview/skins/contrast_gold/textures/widgets/jump_left_in.png
Binary files differ
diff --git a/indra/newview/skins/contrast_gold/textures/widgets/jump_left_out.png b/indra/newview/skins/contrast_gold/textures/widgets/jump_left_out.png
new file mode 100644
index 0000000000..71d5c5c36a
--- /dev/null
+++ b/indra/newview/skins/contrast_gold/textures/widgets/jump_left_out.png
Binary files differ
diff --git a/indra/newview/skins/contrast_gold/textures/widgets/jump_right_in.png b/indra/newview/skins/contrast_gold/textures/widgets/jump_right_in.png
new file mode 100644
index 0000000000..96f8501932
--- /dev/null
+++ b/indra/newview/skins/contrast_gold/textures/widgets/jump_right_in.png
Binary files differ
diff --git a/indra/newview/skins/contrast_gold/textures/widgets/jump_right_out.png b/indra/newview/skins/contrast_gold/textures/widgets/jump_right_out.png
new file mode 100644
index 0000000000..9c02f5f649
--- /dev/null
+++ b/indra/newview/skins/contrast_gold/textures/widgets/jump_right_out.png
Binary files differ
diff --git a/indra/newview/skins/contrast/textures/widgets/vertical_drag_handle.png b/indra/newview/skins/contrast_gold/textures/widgets/vertical_drag_handle.png
index d78e898a9c..d78e898a9c 100644
--- a/indra/newview/skins/contrast/textures/widgets/vertical_drag_handle.png
+++ b/indra/newview/skins/contrast_gold/textures/widgets/vertical_drag_handle.png
Binary files differ
diff --git a/indra/newview/skins/contrast_gold/textures/windows/Dragbar.png b/indra/newview/skins/contrast_gold/textures/windows/Dragbar.png
new file mode 100644
index 0000000000..3a998abdc3
--- /dev/null
+++ b/indra/newview/skins/contrast_gold/textures/windows/Dragbar.png
Binary files differ
diff --git a/indra/newview/skins/contrast_gold/textures/windows/Flyout_Left.png b/indra/newview/skins/contrast_gold/textures/windows/Flyout_Left.png
new file mode 100644
index 0000000000..3110d7f6b5
--- /dev/null
+++ b/indra/newview/skins/contrast_gold/textures/windows/Flyout_Left.png
Binary files differ
diff --git a/indra/newview/skins/contrast_gold/textures/windows/Flyout_Pointer.png b/indra/newview/skins/contrast_gold/textures/windows/Flyout_Pointer.png
new file mode 100644
index 0000000000..4076bb393e
--- /dev/null
+++ b/indra/newview/skins/contrast_gold/textures/windows/Flyout_Pointer.png
Binary files differ
diff --git a/indra/newview/skins/contrast_gold/textures/windows/Flyout_Right.png b/indra/newview/skins/contrast_gold/textures/windows/Flyout_Right.png
new file mode 100644
index 0000000000..4c55cd6287
--- /dev/null
+++ b/indra/newview/skins/contrast_gold/textures/windows/Flyout_Right.png
Binary files differ
diff --git a/indra/newview/skins/contrast_gold/textures/windows/Icon_Close_Foreground.png b/indra/newview/skins/contrast_gold/textures/windows/Icon_Close_Foreground.png
new file mode 100644
index 0000000000..cb516886a2
--- /dev/null
+++ b/indra/newview/skins/contrast_gold/textures/windows/Icon_Close_Foreground.png
Binary files differ
diff --git a/indra/newview/skins/contrast_gold/textures/windows/Icon_Close_Press.png b/indra/newview/skins/contrast_gold/textures/windows/Icon_Close_Press.png
new file mode 100644
index 0000000000..283981f6ea
--- /dev/null
+++ b/indra/newview/skins/contrast_gold/textures/windows/Icon_Close_Press.png
Binary files differ
diff --git a/indra/newview/skins/contrast_gold/textures/windows/Icon_Close_Toast.png b/indra/newview/skins/contrast_gold/textures/windows/Icon_Close_Toast.png
new file mode 100644
index 0000000000..b08ffbc742
--- /dev/null
+++ b/indra/newview/skins/contrast_gold/textures/windows/Icon_Close_Toast.png
Binary files differ
diff --git a/indra/newview/skins/contrast_gold/textures/windows/Icon_Dock_Foreground.png b/indra/newview/skins/contrast_gold/textures/windows/Icon_Dock_Foreground.png
new file mode 100644
index 0000000000..7508fcb25e
--- /dev/null
+++ b/indra/newview/skins/contrast_gold/textures/windows/Icon_Dock_Foreground.png
Binary files differ
diff --git a/indra/newview/skins/contrast_gold/textures/windows/Icon_Dock_Press.png b/indra/newview/skins/contrast_gold/textures/windows/Icon_Dock_Press.png
new file mode 100644
index 0000000000..3f2c560398
--- /dev/null
+++ b/indra/newview/skins/contrast_gold/textures/windows/Icon_Dock_Press.png
Binary files differ
diff --git a/indra/newview/skins/contrast_gold/textures/windows/Icon_Gear.png b/indra/newview/skins/contrast_gold/textures/windows/Icon_Gear.png
new file mode 100644
index 0000000000..7cf85bece4
--- /dev/null
+++ b/indra/newview/skins/contrast_gold/textures/windows/Icon_Gear.png
Binary files differ
diff --git a/indra/newview/skins/contrast_gold/textures/windows/Icon_Gear_Background.png b/indra/newview/skins/contrast_gold/textures/windows/Icon_Gear_Background.png
new file mode 100644
index 0000000000..09d83e62e4
--- /dev/null
+++ b/indra/newview/skins/contrast_gold/textures/windows/Icon_Gear_Background.png
Binary files differ
diff --git a/indra/newview/skins/contrast_gold/textures/windows/Icon_Gear_Foreground.png b/indra/newview/skins/contrast_gold/textures/windows/Icon_Gear_Foreground.png
new file mode 100644
index 0000000000..fa998eee5d
--- /dev/null
+++ b/indra/newview/skins/contrast_gold/textures/windows/Icon_Gear_Foreground.png
Binary files differ
diff --git a/indra/newview/skins/contrast_gold/textures/windows/Icon_Gear_Press.png b/indra/newview/skins/contrast_gold/textures/windows/Icon_Gear_Press.png
new file mode 100644
index 0000000000..603fa2f388
--- /dev/null
+++ b/indra/newview/skins/contrast_gold/textures/windows/Icon_Gear_Press.png
Binary files differ
diff --git a/indra/newview/skins/contrast_gold/textures/windows/Icon_Help_Foreground.png b/indra/newview/skins/contrast_gold/textures/windows/Icon_Help_Foreground.png
new file mode 100644
index 0000000000..1bde4c040a
--- /dev/null
+++ b/indra/newview/skins/contrast_gold/textures/windows/Icon_Help_Foreground.png
Binary files differ
diff --git a/indra/newview/skins/contrast_gold/textures/windows/Icon_Help_Press.png b/indra/newview/skins/contrast_gold/textures/windows/Icon_Help_Press.png
new file mode 100644
index 0000000000..f3b885283f
--- /dev/null
+++ b/indra/newview/skins/contrast_gold/textures/windows/Icon_Help_Press.png
Binary files differ
diff --git a/indra/newview/skins/contrast_gold/textures/windows/Icon_Minimize_Foreground.png b/indra/newview/skins/contrast_gold/textures/windows/Icon_Minimize_Foreground.png
new file mode 100644
index 0000000000..942efb40f7
--- /dev/null
+++ b/indra/newview/skins/contrast_gold/textures/windows/Icon_Minimize_Foreground.png
Binary files differ
diff --git a/indra/newview/skins/contrast_gold/textures/windows/Icon_Minimize_Press.png b/indra/newview/skins/contrast_gold/textures/windows/Icon_Minimize_Press.png
new file mode 100644
index 0000000000..1fe37b7a2e
--- /dev/null
+++ b/indra/newview/skins/contrast_gold/textures/windows/Icon_Minimize_Press.png
Binary files differ
diff --git a/indra/newview/skins/contrast_gold/textures/windows/Icon_Restore_Foreground.png b/indra/newview/skins/contrast_gold/textures/windows/Icon_Restore_Foreground.png
new file mode 100644
index 0000000000..7840deccb8
--- /dev/null
+++ b/indra/newview/skins/contrast_gold/textures/windows/Icon_Restore_Foreground.png
Binary files differ
diff --git a/indra/newview/skins/contrast_gold/textures/windows/Icon_Restore_Press.png b/indra/newview/skins/contrast_gold/textures/windows/Icon_Restore_Press.png
new file mode 100644
index 0000000000..33258a0bc5
--- /dev/null
+++ b/indra/newview/skins/contrast_gold/textures/windows/Icon_Restore_Press.png
Binary files differ
diff --git a/indra/newview/skins/contrast_gold/textures/windows/Icon_Undock_Foreground.png b/indra/newview/skins/contrast_gold/textures/windows/Icon_Undock_Foreground.png
new file mode 100644
index 0000000000..df826226e6
--- /dev/null
+++ b/indra/newview/skins/contrast_gold/textures/windows/Icon_Undock_Foreground.png
Binary files differ
diff --git a/indra/newview/skins/contrast_gold/textures/windows/Inspector_Background.png b/indra/newview/skins/contrast_gold/textures/windows/Inspector_Background.png
new file mode 100644
index 0000000000..3053269b84
--- /dev/null
+++ b/indra/newview/skins/contrast_gold/textures/windows/Inspector_Background.png
Binary files differ
diff --git a/indra/newview/skins/contrast_gold/textures/windows/Inspector_Hover.png b/indra/newview/skins/contrast_gold/textures/windows/Inspector_Hover.png
new file mode 100644
index 0000000000..0cb846eba0
--- /dev/null
+++ b/indra/newview/skins/contrast_gold/textures/windows/Inspector_Hover.png
Binary files differ
diff --git a/indra/newview/skins/contrast_gold/textures/windows/Inspector_I.png b/indra/newview/skins/contrast_gold/textures/windows/Inspector_I.png
new file mode 100644
index 0000000000..e5899c55a7
--- /dev/null
+++ b/indra/newview/skins/contrast_gold/textures/windows/Inspector_I.png
Binary files differ
diff --git a/indra/newview/skins/contrast/textures/build/Object_Cylinder_Selected.png b/indra/newview/skins/contrast_gold/textures/windows/Resize_Corner.png
index 50bd865cfc..4a533011df 100644
--- a/indra/newview/skins/contrast/textures/build/Object_Cylinder_Selected.png
+++ b/indra/newview/skins/contrast_gold/textures/windows/Resize_Corner.png
Binary files differ
diff --git a/indra/newview/skins/contrast_gold/textures/windows/Toast_Background.png b/indra/newview/skins/contrast_gold/textures/windows/Toast_Background.png
new file mode 100644
index 0000000000..00676350ca
--- /dev/null
+++ b/indra/newview/skins/contrast_gold/textures/windows/Toast_Background.png
Binary files differ
diff --git a/indra/newview/skins/contrast_gold/textures/windows/Toast_CloseBtn.png b/indra/newview/skins/contrast_gold/textures/windows/Toast_CloseBtn.png
new file mode 100644
index 0000000000..f37d8d085d
--- /dev/null
+++ b/indra/newview/skins/contrast_gold/textures/windows/Toast_CloseBtn.png
Binary files differ
diff --git a/indra/newview/skins/contrast_gold/textures/windows/Toast_Over.png b/indra/newview/skins/contrast_gold/textures/windows/Toast_Over.png
new file mode 100644
index 0000000000..5191e0858d
--- /dev/null
+++ b/indra/newview/skins/contrast_gold/textures/windows/Toast_Over.png
Binary files differ
diff --git a/indra/newview/skins/contrast_gold/textures/windows/Volume_Background.png b/indra/newview/skins/contrast_gold/textures/windows/Volume_Background.png
new file mode 100644
index 0000000000..439e9fd2a1
--- /dev/null
+++ b/indra/newview/skins/contrast_gold/textures/windows/Volume_Background.png
Binary files differ
diff --git a/indra/newview/skins/contrast_gold/textures/windows/Wearables_Divider.png b/indra/newview/skins/contrast_gold/textures/windows/Wearables_Divider.png
new file mode 100644
index 0000000000..8795ccd661
--- /dev/null
+++ b/indra/newview/skins/contrast_gold/textures/windows/Wearables_Divider.png
Binary files differ
diff --git a/indra/newview/skins/contrast_gold/textures/windows/Window_Background.png b/indra/newview/skins/contrast_gold/textures/windows/Window_Background.png
new file mode 100644
index 0000000000..1df5943e1b
--- /dev/null
+++ b/indra/newview/skins/contrast_gold/textures/windows/Window_Background.png
Binary files differ
diff --git a/indra/newview/skins/contrast_gold/textures/windows/Window_Foreground.png b/indra/newview/skins/contrast_gold/textures/windows/Window_Foreground.png
new file mode 100644
index 0000000000..988ec48eb7
--- /dev/null
+++ b/indra/newview/skins/contrast_gold/textures/windows/Window_Foreground.png
Binary files differ
diff --git a/indra/newview/skins/contrast_gold/textures/windows/first_login_image.jpg b/indra/newview/skins/contrast_gold/textures/windows/first_login_image.jpg
new file mode 100644
index 0000000000..860fed4ac7
--- /dev/null
+++ b/indra/newview/skins/contrast_gold/textures/windows/first_login_image.jpg
Binary files differ
diff --git a/indra/newview/skins/contrast_gold/textures/windows/hint_arrow_down.png b/indra/newview/skins/contrast_gold/textures/windows/hint_arrow_down.png
new file mode 100644
index 0000000000..b449d3be7c
--- /dev/null
+++ b/indra/newview/skins/contrast_gold/textures/windows/hint_arrow_down.png
Binary files differ
diff --git a/indra/newview/skins/contrast_gold/textures/windows/hint_arrow_left.png b/indra/newview/skins/contrast_gold/textures/windows/hint_arrow_left.png
new file mode 100644
index 0000000000..d93d621067
--- /dev/null
+++ b/indra/newview/skins/contrast_gold/textures/windows/hint_arrow_left.png
Binary files differ
diff --git a/indra/newview/skins/contrast_gold/textures/windows/hint_arrow_lower_left.png b/indra/newview/skins/contrast_gold/textures/windows/hint_arrow_lower_left.png
new file mode 100644
index 0000000000..5e8def5a5b
--- /dev/null
+++ b/indra/newview/skins/contrast_gold/textures/windows/hint_arrow_lower_left.png
Binary files differ
diff --git a/indra/newview/skins/contrast_gold/textures/windows/hint_arrow_right.png b/indra/newview/skins/contrast_gold/textures/windows/hint_arrow_right.png
new file mode 100644
index 0000000000..3524487fb3
--- /dev/null
+++ b/indra/newview/skins/contrast_gold/textures/windows/hint_arrow_right.png
Binary files differ
diff --git a/indra/newview/skins/contrast_gold/textures/windows/hint_arrow_up.png b/indra/newview/skins/contrast_gold/textures/windows/hint_arrow_up.png
new file mode 100644
index 0000000000..aca440d712
--- /dev/null
+++ b/indra/newview/skins/contrast_gold/textures/windows/hint_arrow_up.png
Binary files differ
diff --git a/indra/newview/skins/contrast_gold/textures/windows/hint_background.png b/indra/newview/skins/contrast_gold/textures/windows/hint_background.png
new file mode 100644
index 0000000000..d045bc5e29
--- /dev/null
+++ b/indra/newview/skins/contrast_gold/textures/windows/hint_background.png
Binary files differ
diff --git a/indra/newview/skins/contrast_gold/textures/windows/login_mp_logo.png b/indra/newview/skins/contrast_gold/textures/windows/login_mp_logo.png
new file mode 100644
index 0000000000..7526374ba2
--- /dev/null
+++ b/indra/newview/skins/contrast_gold/textures/windows/login_mp_logo.png
Binary files differ
diff --git a/indra/newview/skins/contrast_gold/textures/windows/login_mp_logo_small.png b/indra/newview/skins/contrast_gold/textures/windows/login_mp_logo_small.png
new file mode 100644
index 0000000000..779d8ff649
--- /dev/null
+++ b/indra/newview/skins/contrast_gold/textures/windows/login_mp_logo_small.png
Binary files differ
diff --git a/indra/newview/skins/contrast_gold/textures/windows/login_sl_logo.png b/indra/newview/skins/contrast_gold/textures/windows/login_sl_logo.png
new file mode 100644
index 0000000000..e4d4eb3ebf
--- /dev/null
+++ b/indra/newview/skins/contrast_gold/textures/windows/login_sl_logo.png
Binary files differ
diff --git a/indra/newview/skins/contrast_gold/textures/windows/login_sl_logo_small.png b/indra/newview/skins/contrast_gold/textures/windows/login_sl_logo_small.png
new file mode 100644
index 0000000000..36fb15de08
--- /dev/null
+++ b/indra/newview/skins/contrast_gold/textures/windows/login_sl_logo_small.png
Binary files differ
diff --git a/indra/newview/skins/contrast_gold/textures/windows/startup_logo.png b/indra/newview/skins/contrast_gold/textures/windows/startup_logo.png
new file mode 100644
index 0000000000..6a81a6451d
--- /dev/null
+++ b/indra/newview/skins/contrast_gold/textures/windows/startup_logo.png
Binary files differ
diff --git a/indra/newview/skins/contrast_gold/textures/windows/yellow_gradient.png b/indra/newview/skins/contrast_gold/textures/windows/yellow_gradient.png
new file mode 100644
index 0000000000..4a07282ecb
--- /dev/null
+++ b/indra/newview/skins/contrast_gold/textures/windows/yellow_gradient.png
Binary files differ
diff --git a/indra/newview/skins/contrast_gold/textures/world/CameraDragDot.png b/indra/newview/skins/contrast_gold/textures/world/CameraDragDot.png
new file mode 100644
index 0000000000..2ccf098e0f
--- /dev/null
+++ b/indra/newview/skins/contrast_gold/textures/world/CameraDragDot.png
Binary files differ
diff --git a/indra/newview/skins/contrast_gold/textures/world/NoEntryLines.png b/indra/newview/skins/contrast_gold/textures/world/NoEntryLines.png
new file mode 100644
index 0000000000..b295ba1281
--- /dev/null
+++ b/indra/newview/skins/contrast_gold/textures/world/NoEntryLines.png
Binary files differ
diff --git a/indra/newview/skins/contrast_gold/textures/world/NoEntryPassLines.png b/indra/newview/skins/contrast_gold/textures/world/NoEntryPassLines.png
new file mode 100644
index 0000000000..34900e2c02
--- /dev/null
+++ b/indra/newview/skins/contrast_gold/textures/world/NoEntryPassLines.png
Binary files differ
diff --git a/indra/newview/skins/contrast_gold/xui/en/panel_progress.xml b/indra/newview/skins/contrast_gold/xui/en/panel_progress.xml
new file mode 100644
index 0000000000..7bf851a234
--- /dev/null
+++ b/indra/newview/skins/contrast_gold/xui/en/panel_progress.xml
@@ -0,0 +1,201 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<panel
+ follows="left|bottom|right|top"
+ height="768"
+ layout="topleft"
+ left="0"
+ name="login_progress_panel"
+ top="768"
+ width="1024">
+ <layout_stack
+ follows="left|right|top|bottom"
+ height="768"
+ layout="topleft"
+ left="0"
+ name="horizontal_centering"
+ orientation="horizontal"
+ top="0"
+ width="1024">
+ <layout_panel
+ layout="topleft"
+ min_width="10"
+ name="left"
+ width="150" />
+ <layout_panel
+ height="768"
+ layout="topleft"
+ min_width="670"
+ name="center"
+ width="670">
+ <layout_stack
+ follows="left|right|top|bottom"
+ height="768"
+ layout="topleft"
+ left="0"
+ orientation="vertical"
+ name="vertical_centering1"
+ top="0"
+ width="670">
+ <layout_panel
+ height="200"
+ layout="topleft"
+ min_height="10"
+ name="panel3"
+ width="670" />
+ <layout_panel
+ auto_resize="false"
+ height="255"
+ layout="topleft"
+ min_height="255"
+ name="panel4"
+ width="670">
+ <icon
+ color="LoginProgressBoxCenterColor"
+ follows="left|right|bottom|top"
+ image_name="Rounded_Square"
+ layout="topleft"
+ left="0"
+ top="0"
+ height="255"
+ width="670" />
+ <layout_stack
+ follows="left|right|top|bottom"
+ height="255"
+ layout="topleft"
+ left="0"
+ orientation="vertical"
+ name="vertical_centering2"
+ animate="false"
+ top="0"
+ width="670">
+ <layout_panel
+ auto_resize="false"
+ height="30"
+ layout="topleft"
+ min_height="30"
+ name="panel_top_spacer"
+ width="670">
+ </layout_panel>
+ <layout_panel
+ auto_resize="false"
+ height="100"
+ layout="topleft"
+ min_height="100"
+ name="panel_login"
+ width="670">
+ <text
+ follows="left|right|top"
+ layout="topleft"
+ font="SansSerifHuge"
+ font_shadow="none"
+ halign="left"
+ height="20"
+ left="47"
+ top="32"
+ right="-47"
+ name="title_text"
+ text_color="LoginProgressBoxTextColor"/>
+ <text
+ follows="left|right|top"
+ layout="topleft"
+ font="SansSerif"
+ font_shadow="none"
+ halign="left"
+ height="20"
+ top_pad="5"
+ right="-47"
+ left_delta="0"
+ name="progress_text"
+ text_color="LoginProgressBoxTextColor"
+ word_wrap="true"/>
+ <progress_bar
+ color_bar="0.857 0.668 0.308 0.96"
+ follows="left|right|top"
+ layout="topleft"
+ image_fill="ProgressBarSolid"
+ height="16"
+ left="45"
+ top_pad="5"
+ name="login_progress_bar"
+ right="-45" />
+ </layout_panel>
+ <layout_panel
+ auto_resize="false"
+ height="90"
+ layout="topleft"
+ min_height="90"
+ name="panel_motd"
+ width="670">
+ <text
+ follows="left|right|top|bottom"
+ font="SansSerifLarge"
+ font_shadow="none"
+ halign="left"
+ valign="center"
+ height="80"
+ layout="topleft"
+ left="45"
+ line_spacing.pixels="2"
+ name="message_text"
+ text_color="LoginProgressBoxTextColor"
+ top="7"
+ right="-90"
+ word_wrap="true"/>
+ </layout_panel>
+ <layout_panel
+ auto_resize="false"
+ height="40"
+ layout="topleft"
+ min_height="40"
+ name="panel_icons"
+ width="670">
+ <!--Logos are tied to following label from code-->
+ <text
+ follows="left|right|top"
+ layout="topleft"
+ font="SansSerifLarge"
+ font_shadow="none"
+ halign="left"
+ height="16"
+ width="240"
+ left="47"
+ top="6"
+ line_spacing.pixels="2"
+ name="logos_lbl"
+ text_color="LoginProgressBoxTextColor">
+ Megapahit uses
+ </text>
+ </layout_panel>
+ </layout_stack>
+ </layout_panel>
+ <layout_panel
+ height="200"
+ layout="topleft"
+ min_width="10"
+ name="panel5"
+ width="670" />
+ </layout_stack>
+ </layout_panel>
+ <layout_panel
+ layout="topleft"
+ min_width="10"
+ name="right"
+ width="150" />
+ </layout_stack>
+ <button
+ follows="right|bottom"
+ height="22"
+ layout="topleft"
+ left="-106"
+ name="cancel_btn"
+ top="700"
+ width="90" />
+ <web_browser
+ follows="all"
+ layout="topleft"
+ left="0"
+ name="login_media_panel"
+ width="1024"
+ height="768"
+ top="0"/>
+</panel>
diff --git a/indra/newview/skins/contrast_gold/xui/en/widgets/progress_bar.xml b/indra/newview/skins/contrast_gold/xui/en/widgets/progress_bar.xml
new file mode 100644
index 0000000000..e55950dd33
--- /dev/null
+++ b/indra/newview/skins/contrast_gold/xui/en/widgets/progress_bar.xml
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<progress_bar image_bar="ProgressTrack"
+ image_fill="ProgressBar"
+ color_bar.red="0,664"
+ color_bar.green="0,467"
+ color_bar.blue="0,156"
+ color_bar.alpha="1"
+ color_bg.red="0,664"
+ color_bg.green="0,467"
+ color_bg.blue="0,156"
+ color_bg.alpha="1"
+ />
diff --git a/indra/newview/skins/default/textures/megapahit/fps_button.png b/indra/newview/skins/default/textures/megapahit/fps_button.png
new file mode 100644
index 0000000000..fa436a620d
--- /dev/null
+++ b/indra/newview/skins/default/textures/megapahit/fps_button.png
Binary files differ
diff --git a/indra/newview/skins/default/textures/megapahit/mp_blue_bullet.png b/indra/newview/skins/default/textures/megapahit/mp_blue_bullet.png
new file mode 100644
index 0000000000..1a27570786
--- /dev/null
+++ b/indra/newview/skins/default/textures/megapahit/mp_blue_bullet.png
Binary files differ
diff --git a/indra/newview/skins/default/textures/megapahit/mp_green_bullet.png b/indra/newview/skins/default/textures/megapahit/mp_green_bullet.png
new file mode 100644
index 0000000000..f4c28e4bc9
--- /dev/null
+++ b/indra/newview/skins/default/textures/megapahit/mp_green_bullet.png
Binary files differ
diff --git a/indra/newview/skins/default/textures/megapahit/mp_help_bullet.png b/indra/newview/skins/default/textures/megapahit/mp_help_bullet.png
new file mode 100644
index 0000000000..64c8933a78
--- /dev/null
+++ b/indra/newview/skins/default/textures/megapahit/mp_help_bullet.png
Binary files differ
diff --git a/indra/newview/skins/default/textures/megapahit/mp_info_bullet.png b/indra/newview/skins/default/textures/megapahit/mp_info_bullet.png
new file mode 100644
index 0000000000..c90767b9ac
--- /dev/null
+++ b/indra/newview/skins/default/textures/megapahit/mp_info_bullet.png
Binary files differ
diff --git a/indra/newview/skins/default/textures/megapahit/mp_red_bullet.png b/indra/newview/skins/default/textures/megapahit/mp_red_bullet.png
new file mode 100644
index 0000000000..aeaa52b53b
--- /dev/null
+++ b/indra/newview/skins/default/textures/megapahit/mp_red_bullet.png
Binary files differ
diff --git a/indra/newview/skins/default/textures/megapahit/mp_yellow_bullet.png b/indra/newview/skins/default/textures/megapahit/mp_yellow_bullet.png
new file mode 100644
index 0000000000..026fbaf56d
--- /dev/null
+++ b/indra/newview/skins/default/textures/megapahit/mp_yellow_bullet.png
Binary files differ
diff --git a/indra/newview/skins/default/textures/textures.xml b/indra/newview/skins/default/textures/textures.xml
index 94c8119d4d..40ee205090 100644
--- a/indra/newview/skins/default/textures/textures.xml
+++ b/indra/newview/skins/default/textures/textures.xml
@@ -934,4 +934,14 @@ with the same filename but different name
<texture name="ProgressLarge_12" file_name="icons/ProgressLarge_12.png" preload="true" />
<texture name="Icon_Pointer" file_name="icons/Icon_Pointer.png" preload="false"/>
+
+ <texture name="mp_fpsButton" file_name="megapahit/fps_button.png" preload="false" />
+
+ <texture name="mp_red_bullet" file_name="megapahit/mp_red_bullet.png" preload="false" />
+ <texture name="mp_yellow_bullet" file_name="megapahit/mp_yellow_bullet.png" preload="false" />
+ <texture name="mp_green_bullet" file_name="megapahit/mp_green_bullet.png" preload="false" />
+ <texture name="mp_blue_bullet" file_name="megapahit/mp_blue_bullet.png" preload="false" />
+ <texture name="mp_help_bullet" file_name="megapahit/mp_help_bullet.png" preload="false" />
+ <texture name="mp_info_bullet" file_name="megapahit/mp_info_bullet.png" preload="false" />
+
</textures>
diff --git a/indra/newview/skins/default/xui/en/floater_about.xml b/indra/newview/skins/default/xui/en/floater_about.xml
index 0d22d37085..4e7ce2c32f 100644
--- a/indra/newview/skins/default/xui/en/floater_about.xml
+++ b/indra/newview/skins/default/xui/en/floater_about.xml
@@ -103,8 +103,8 @@ gwigz (nya) EmilyAmiee
Bavid Dailey Aria (Tashia Redrose)
Cate (32a) Hiroo Ono
Melodey Keysin (scoutkeysin)
-Yikes Lopez Padoria Teuden
-~ ( ^-^ ) ~ (cutie_qu) Markus Teuden
+Yikes Lopez Padoria
+~ ( ^-^ ) ~ (cutie_qu)
</text_editor>
<text
follows="top|left"
@@ -135,7 +135,6 @@ Vir Linden - Making it possible for the project to have a place in SL
nutsobvious - Early testing and video proof
Soft Linden - Security testing
Kyle Linden - Giving TPV parcel 2 to Erik Kundiman
-Signal Linden - Opening opportunities for Megapahit to contribute more
</text_editor>
</panel>
</accordion_tab>
diff --git a/indra/newview/skins/default/xui/en/floater_mp_performance.xml b/indra/newview/skins/default/xui/en/floater_mp_performance.xml
index 1b5cf82dcb..13a32479fa 100644
--- a/indra/newview/skins/default/xui/en/floater_mp_performance.xml
+++ b/indra/newview/skins/default/xui/en/floater_mp_performance.xml
@@ -1,65 +1,66 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<floater
- positioning="cascading"
- legacy_header_height="40"
- top="12"
- right="-334"
- height="80"
- min_height="120"
- width="330"
- min_width="330"
- can_minimize="true"
- can_close="true"
- can_resize="false"
- layout="topright"
- name="mpv_performance"
- single_instance="true"
- save_rect="true"
- save_visibility="true"
- title="FPS Limiter">
+positioning="cascading"
+legacy_header_height="40"
+top="12"
+right="-334"
+height="80"
+min_height="120"
+width="330"
+min_width="330"
+can_minimize="true"
+can_close="true"
+can_resize="false"
+layout="topright"
+name="mpv_performance"
+single_instance="true"
+save_rect="true"
+save_visibility="true"
+title="FPS Limiter">
- <panel
- name="panel_fps"
- border="false"
- width="320"
- height="60"
- left="10"
- top="40"
- follows="left|top|right|bottom"
- layout="topleft"
- >
+<panel
+ name="panel_fps"
+ border="false"
+ width="320"
+ height="60"
+ left="10"
+ top="40"
+ follows="left|top|right|bottom"
+ layout="topleft"
+ >
- <slider
- follows="left|top"
- width="240"
- height="15"
- left="12"
- layout="topleft"
- name="fpsSlider"
- enabled="true"
- control_name="fpsSlider"
- decimal_digits="0"
- increment="12"
- initial_value="0"
- label="Max FPS:"
- label_width="50"
- text_width="2"
- can_edit_text="false"
- show_text="false"
- >
- </slider>
+ <slider
+ follows="left|top"
+ width="240"
+ height="15"
+ left="12"
+ layout="topleft"
+ name="fpsSliderCtrl"
+ enabled="true"
+ decimal_digits="0"
+ min_val="0"
+ max_val="132"
+ increment="12"
+ initial_value="132"
+ label="Max FPS:"
+ label_width="50"
+ text_width="2"
+ can_edit_text="false"
+ show_text="false"
+ >
+ </slider>
- <text
- follows="left|top"
- width="50"
- height="15"
- left_delta="252"
- layout="topleft"
- type="string"
- name="fpsText"
- >
- no limit
- </text>
+ <text
+ follows="left|top"
+ width="50"
+ height="15"
+ left_delta="252"
+ layout="topleft"
+ type="string"
+ name="fpsTextCtrl"
+ >
+ no limit
+ </text>
</panel>
diff --git a/indra/newview/skins/default/xui/en/floater_preferences.xml b/indra/newview/skins/default/xui/en/floater_preferences.xml
index 4b0e0bb221..97ff1fd5a2 100644
--- a/indra/newview/skins/default/xui/en/floater_preferences.xml
+++ b/indra/newview/skins/default/xui/en/floater_preferences.xml
@@ -100,6 +100,15 @@
layout="topleft"
help_topic="preferences_display_tab"
name="display" />
+
+ <panel
+ class="panel_preference_graphics3"
+ filename="panel_preferences_graphics3.xml"
+ label="Visual Effects"
+ layout="topleft"
+ help_topic="preferences_display_tab"
+ name="display3" />
+
<panel
class="panel_preference"
filename="panel_preferences_sound.xml"
diff --git a/indra/newview/skins/default/xui/en/floater_preferences_graphics_advanced.xml b/indra/newview/skins/default/xui/en/floater_preferences_graphics_advanced.xml
index 9b637d60f2..9644bb9f34 100644
--- a/indra/newview/skins/default/xui/en/floater_preferences_graphics_advanced.xml
+++ b/indra/newview/skins/default/xui/en/floater_preferences_graphics_advanced.xml
@@ -52,7 +52,7 @@
left_delta="330"
width="20">
m
- </text>
+ </text>
<slider
control_name="RenderMaxPartCount"
decimal_digits="0"
@@ -626,9 +626,9 @@
layout="topleft"
left="385"
name="vert_border"
- top="16"
+ top="16"
width="0"/>
-
+
<text
type="string"
length="1"
@@ -732,7 +732,7 @@
<check_box.commit_callback
function="Pref.RenderOptionUpdate" />
</check_box>
-
+
<text
type="string"
length="1"
@@ -751,7 +751,7 @@
height="18"
layout="topleft"
left_delta="130"
- top_delta="0"
+ top_delta="0"
name="ShadowDetail"
width="150">
<combo_box.item
@@ -766,88 +766,12 @@
label="Sun/Moon + Projectors"
name="2"
value="2"/>
- </combo_box>
-
- <text
- type="string"
- length="1"
- follows="left|top"
- height="16"
- layout="topleft"
- left="420"
- name="RenderShadowQualityText"
- text_readonly_color="LabelDisabledColor"
- top_delta="22"
- width="128">
- Shadows Optimisations
- </text>
-
- <combo_box
- control_name="MPRenderShadowOpti"
- height="18"
- layout="topleft"
- left_delta="130"
- top_delta="0"
- name="MPShadowQuality"
- width="150">
- <combo_box.item
- label="No optimisation"
- name="0"
- value="0"/>
- <combo_box.item
- label="Medium"
- name="1"
- value="1"/>
- <combo_box.item
- label="Faster"
- name="2"
- value="2"/>
- <combo_box.item
- label="Fastest"
+ <combo_box.item
+ label="Projectors only"
name="3"
value="3"/>
</combo_box>
- <text
- type="string"
- length="1"
- follows="left|top"
- height="16"
- layout="topleft"
- left="420"
- name="RenderShadowResolutionScaleText"
- text_readonly_color="LabelDisabledColor"
- top_delta="22"
- width="128">
- Shadows Resolution
- </text>
-
- <combo_box
- control_name="RenderShadowResolutionScale"
- height="18"
- layout="topleft"
- left_delta="130"
- top_delta="0"
- name="RenderShadowResolutionScale"
- width="150">
- <combo_box.item
- label="Default"
- name="Default"
- value="1.0"/>
- <combo_box.item
- label="High"
- name="High"
- value="1.5"/>
- <combo_box.item
- label="Ultra"
- name="Ultra"
- value="2.0"/>
- <combo_box.item
- label="Crazy"
- name="Crazy"
- value="3.0"/>
- </combo_box>
-
<check_box
control_name="RenderScreenSpaceReflections"
height="16"
@@ -861,7 +785,7 @@
<check_box.commit_callback
function="Pref.RenderOptionUpdate" />
</check_box>
-
+
<text
type="string"
length="1"
diff --git a/indra/newview/skins/default/xui/en/panel_preferences_advanced.xml b/indra/newview/skins/default/xui/en/panel_preferences_advanced.xml
index b27b6dd73a..43085b0c8a 100644
--- a/indra/newview/skins/default/xui/en/panel_preferences_advanced.xml
+++ b/indra/newview/skins/default/xui/en/panel_preferences_advanced.xml
@@ -213,6 +213,7 @@
layout="topleft"
left="30"
name="stream_notification_channel_enabled"
+ top_pad="10"
width="256">
</check_box>
<spinner
@@ -250,7 +251,7 @@
layout="topleft"
left="30"
name="allow_multiple_viewer_check"
- top_pad="15"
+ top_pad="20"
width="237"/>
<check_box
control_name="ForceShowGrid"
diff --git a/indra/newview/skins/default/xui/en/panel_preferences_colors.xml b/indra/newview/skins/default/xui/en/panel_preferences_colors.xml
index 6fd6c81217..df9f467fca 100644
--- a/indra/newview/skins/default/xui/en/panel_preferences_colors.xml
+++ b/indra/newview/skins/default/xui/en/panel_preferences_colors.xml
@@ -505,7 +505,6 @@
Skin
</text>
<radio_group
- control_name="skin_selection"
height="20"
layout="topleft"
left="35"
@@ -538,6 +537,15 @@
name="radio3"
value="contrast"
width="75" />
+ <radio_item
+ label="contrast gold"
+ left_pad="0"
+ layout="topleft"
+ top_delta="0"
+ height="16"
+ name="radio2"
+ value="contrast_gold"
+ width="75" />
<radio_group.commit_callback
function="Pref.SelectSkin" />
</radio_group>
diff --git a/indra/newview/skins/default/xui/en/panel_preferences_graphics3.xml b/indra/newview/skins/default/xui/en/panel_preferences_graphics3.xml
new file mode 100644
index 0000000000..ddc00915a5
--- /dev/null
+++ b/indra/newview/skins/default/xui/en/panel_preferences_graphics3.xml
@@ -0,0 +1,2063 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+
+<panel
+name="Visuals effects panel"
+follows="left|top|right|bottom"
+label="Visuals Effects"
+layout="topleft"
+width="517"
+height="438"
+left="102"
+top="1"
+border="true"
+>
+
+<tab_container
+name="preferences_visuals_tab_container"
+enabled="true"
+top_pad="0"
+follows="left|top"
+width="517"
+height="430"
+left_delta="0"
+tab_position="top"
+tab_stop="false">
+
+<panel
+label="Megapahit"
+name="preferences_visuals_megapahit"
+layout="topleft"
+follows="top|left">
+
+<text
+follows="left|top"
+layout="topleft"
+top_pad="20"
+width="400"
+height="18"
+left="20"
+font="SansSerifSmall"
+text_color="White"
+>
+Megapahit recommended settings:
+</text>
+
+<text
+follows="left|top"
+layout="topleft"
+width="400"
+height="18"
+left="120"
+top_pad="55"
+font="SansSerifSmall"
+>
+Clicking the button below is a good starting point
+</text>
+
+<button
+name="MPBalancedButton"
+follows="top|left"
+layout="topleft"
+width="200"
+height="23"
+left="155"
+top_pad="40"
+label="Recommended Settings"
+>
+</button>
+
+<text
+follows="left|top"
+layout="topleft"
+width="460"
+height="18"
+left="50"
+top_pad="60"
+font="SansSerifSmall"
+>
+We recommend capping the fps (touch the fps counter on the top right corner)
+</text>
+
+</panel>
+
+<panel
+label="Antialiasing"
+name="preferences_visuals_aa"
+layout="topleft"
+follows="top|left">
+
+<text
+name="mp_aa_lbl"
+follows="left|top"
+layout="topleft"
+top_pad="20"
+width="100"
+height="18"
+left="20"
+font="SansSerifSmall"
+text_color="White"
+>
+Antialiasing:
+</text>
+
+<text
+name="mp_aa_type_lbl"
+type="string"
+layout="topleft"
+follows="left|top"
+width="140"
+height="16"
+left="32"
+top_pad="10"
+text_readonly_color="LabelDisabledColor"
+>
+Type:
+</text>
+
+<combo_box
+name="mp_aatype_ctrl"
+control_name="RenderFSAAType"
+label="Antialiasing"
+layout="topleft"
+width="150"
+height="18"
+left_delta="150"
+top_delta="0"
+initial_value="0"
+>
+<combo_box.item
+ label="Disabled"
+ name="FSAADisabled"
+ value="0" />
+<combo_box.item
+ label="FXAA"
+ name="FXAA"
+ value="1" />
+<combo_box.item
+ label="SMAA"
+ name="SMAA"
+ value="2" />
+</combo_box>
+
+<icon
+name="mp_aa_bullet"
+tool_tip="Low performance impact"
+image_name="mp_blue_bullet"
+follows="left|top"
+width="16"
+height="16"
+layout="topleft"
+left_pad="55"
+top_delta="-2"
+/>
+
+<icon
+name="mp_aa_info_bullet"
+tool_tip="Antialiasing method (FXAA is fast but blurry, SMAA is sharper)."
+image_name="mp_info_bullet"
+follows="left|top"
+width="16"
+height="16"
+layout="topleft"
+left_pad="5"
+top_delta="0"
+/>
+
+<text
+name="mp_aa_quality_lbl"
+tool_tip="Antialiasing quality: We recommend High or Ultra"
+type="string"
+length="1"
+layout="topleft"
+follows="left|top"
+width="140"
+height="16"
+left="32"
+top_pad="10"
+text_readonly_color="LabelDisabledColor"
+>
+Quality:
+</text>
+
+<combo_box
+name="mp_aa_quality_ctrl"
+control_name="RenderFSAASamples"
+label="Antialiasing"
+layout="topleft"
+width="150"
+height="18"
+left_delta="150"
+top_delta="0"
+>
+<combo_box.item
+label="Low"
+name="Low"
+value="0" />
+<combo_box.item
+label="Medium"
+name="Medium"
+value="1" />
+<combo_box.item
+label="High"
+name="High"
+value="2" />
+<combo_box.item
+label="Ultra"
+name="Ultra"
+value="3" />
+</combo_box>
+
+<icon
+name="mp_aaq_bullet"
+tool_tip="Low performance impact"
+image_name="mp_blue_bullet"
+follows="left|top"
+width="16"
+height="16"
+layout="topleft"
+left_pad="55"
+top_delta="-2"
+/>
+
+<icon
+name="mp_aaq_info_bullet"
+tool_tip="Quality of the selected antialiasing"
+image_name="mp_info_bullet"
+follows="left|top"
+width="16"
+height="16"
+layout="topleft"
+left_pad="5"
+top_delta="0"
+/>
+
+<text
+name="mp_cas_lbl"
+type="string"
+length="1"
+layout="topleft"
+follows="left|top"
+width="140"
+height="16"
+left="32"
+top_pad="20"
+text_readonly_color="LabelDisabledColor"
+>
+Sharpness:
+</text>
+
+<slider
+name="mp_cas_ctrl"
+control_name="RenderCASSharpness"
+follows="left|top"
+layout="topleft"
+width="200"
+height="16"
+left_delta="150"
+top_delta="0"
+initial_value="0.0"
+min_val="0.0"
+max_val="1.0"
+decimal_digits="1"
+label_width="2"
+>
+</slider>
+
+<icon
+name="mp_cas_bullet"
+tool_tip="No performance impact, except there is an issue currently with the combination of SMAA and Sharpness, where the performance is going down. We are investigating..."
+image_name="mp_blue_bullet"
+follows="left|top"
+width="16"
+height="16"
+layout="topleft"
+left_pad="5"
+top_delta="-2"
+/>
+
+<icon
+name="mp_cas_info_bullet"
+tool_tip="Add sharpness to the image."
+image_name="mp_info_bullet"
+follows="left|top"
+width="16"
+height="16"
+layout="topleft"
+left_pad="5"
+top_delta="0"
+/>
+
+<text
+follows="left|top"
+layout="topleft"
+width="400"
+height="18"
+left="55"
+top_pad="40"
+font="SansSerifSmall"
+>
+Beware: SMAA + Sharpness currently causes a slow down on Mac.
+</text>
+
+<text
+follows="left|top"
+layout="topleft"
+width="400"
+height="18"
+left="55"
+top_pad="12"
+font="SansSerifSmall"
+>
+Disabling HUDS (Option + Shift + H) fixes the issue.
+</text>
+
+<text
+name="aniso_lbl"
+follows="left|top"
+layout="topleft"
+width="140"
+height="18"
+left="20"
+top_pad="40"
+font="SansSerifSmall"
+text_color="White"
+>
+Texture Filtering
+</text>
+
+<check_box
+name="mp_aniso_ctrl"
+control_name="RenderAnisotropic"
+label="Anisotropic Filtering"
+layout="topleft"
+width="200"
+height="16"
+left="20"
+top_delta="32"
+initial_value="true"
+>
+<check_box.commit_callback
+function="Pref.RenderOptionUpdate" />
+</check_box>
+
+<icon
+name="mp_aniso_bullet"
+tool_tip="Low performance impact on PC/Linux, Medium performance impact on Mac (We are investigating)"
+image_name="mp_yellow_bullet"
+follows="left|top"
+width="16"
+height="16"
+layout="topleft"
+left_pad="5"
+top_delta="-2"
+/>
+
+<icon
+name="mp_aniso_info_bullet"
+tool_tip="Improves textures clarity at certain angles (i.e. ground). This should be on, but on Mac there is an abnormal performance penalty, currently."
+image_name="mp_info_bullet"
+follows="left|top"
+width="16"
+height="16"
+layout="topleft"
+left_pad="5"
+top_delta="0"
+/>
+
+</panel>
+
+<panel
+label="Shadows"
+name="preferences_visuals_shadows"
+layout="topleft"
+follows="top|left">
+
+<text
+name="mp_shadows_lbl"
+follows="left|top"
+layout="topleft"
+width="140"
+height="18"
+left="20"
+top_pad="20"
+font="SansSerifSmall"
+text_color="White"
+>
+Shadows
+</text>
+
+<text
+name="shadow_src_lbl"
+follows="left|top"
+layout="topleft"
+width="140"
+height="18"
+left="32"
+top_pad="10"
+font="SansSerifSmall"
+>
+Shadows source:
+</text>
+
+<combo_box
+name="ShadowDetailCtrl"
+control_name="RenderShadowDetail"
+layout="topleft"
+width="150"
+height="18"
+left_delta="150"
+top_delta="0"
+>
+<combo_box.item
+label="None"
+name="0"
+value="0"/>
+<combo_box.item
+label="Sun/Moon"
+name="1"
+value="1"/>
+<combo_box.item
+label="Sun/Moon + Projectors"
+name="2"
+value="2"/>
+<combo_box.item
+label="Projectors only"
+name="3"
+value="3"/>
+</combo_box>
+
+<icon
+name="mp_shadows_bullet"
+tool_tip="High to extreme performance impact"
+image_name="mp_red_bullet"
+follows="left|top"
+width="16"
+height="16"
+layout="topleft"
+left_pad="55"
+top_delta="-2"
+/>
+
+<icon
+name="mp_shadows_info_bullet"
+tool_tip="Enables a shadow source (Projectors only is experimental)"
+image_name="mp_info_bullet"
+follows="left|top"
+width="16"
+height="16"
+layout="topleft"
+left_pad="5"
+top_delta="0"
+/>
+
+<text
+name="shadow_dist_lbl"
+tool_tip="Maximum Shadow Draw distance (Enormous performance penalty)"
+follows="left|top"
+layout="topleft"
+width="140"
+height="18"
+left="32"
+top_pad="10"
+font="SansSerifSmall">
+Shadows Distance
+</text>
+
+<slider
+name="MPShadowDistCtrl"
+control_name="MPRenderShadowMaxDist"
+follows="left|top"
+layout="topleft"
+width="200"
+height="16"
+left_delta="150"
+top_delta="-1"
+increment="8"
+initial_value="64"
+min_val="16"
+max_val="256"
+decimal_digits="0"
+label_width="2">
+</slider>
+
+<icon
+name="mp_shadowd_bullet"
+tool_tip="Move to the left to improve performance"
+image_name="mp_yellow_bullet"
+follows="left|top"
+width="16"
+height="16"
+layout="topleft"
+left_pad="5"
+top_delta="-2"
+/>
+
+<icon
+name="mp_shadowd_info_bullet"
+tool_tip="Limit the maximum shadow render distance"
+image_name="mp_info_bullet"
+follows="left|top"
+width="16"
+height="16"
+layout="topleft"
+left_pad="5"
+top_delta="0"
+/>
+
+<text
+name="shadow_res_lbl"
+tool_tip="Shadow Resolution (Important video memory impact. Lower this if you encounter performance drop, or instability.)"
+follows="left|top"
+layout="topleft"
+width="140"
+height="18"
+left="32"
+top_pad="10"
+font="SansSerifSmall"
+>
+Shadows Resolution
+</text>
+
+<slider
+name="MPShadowResCtrl"
+control_name="RenderShadowResolutionScale"
+decimal_digits="1"
+follows="left|top"
+layout="topleft"
+width="200"
+height="16"
+left_delta="150"
+top_delta="-1"
+increment="0.5"
+initial_value="1.5"
+min_val="1.0"
+max_val="6.0"
+label_width="2"
+>
+</slider>
+
+<icon
+name="mp_shadowdd_bullet"
+tool_tip="Move to the right to improve quality: High memory usage and potentially unstable on lower end gpus"
+image_name="mp_yellow_bullet"
+follows="left|top"
+width="16"
+height="16"
+layout="topleft"
+left_pad="5"
+top_delta="-2"
+/>
+
+<icon
+name="mp_shadowdd_info_bullet"
+tool_tip="Improves the shadow map resolution (Use carefully)"
+image_name="mp_info_bullet"
+follows="left|top"
+width="16"
+height="16"
+layout="topleft"
+left_pad="5"
+top_delta="0"
+/>
+
+<text
+name="shadow_res_lbl"
+tool_tip="Shadow smoothness (This will only work if you activate Ambient Occlusion)"
+follows="left|top"
+layout="topleft"
+width="140"
+height="18"
+left="32"
+top_pad="10"
+font="SansSerifSmall"
+>
+Shadows Smoothness
+</text>
+
+<slider
+name="shadowBlurCtrl"
+control_name="RenderShadowBlurSize"
+follows="left|top"
+layout="topleft"
+width="200"
+height="16"
+left_delta="150"
+top_delta="-1"
+increment="0.1"
+initial_value="1.0"
+min_val="0.0"
+max_val="3.0"
+decimal_digits="1"
+label_width="2"
+>
+</slider>
+
+<icon
+name="mp_shadowsblur_bullet"
+tool_tip="No performance impact"
+image_name="mp_blue_bullet"
+follows="left|top"
+width="16"
+height="16"
+layout="topleft"
+left_pad="5"
+top_delta="-2"
+/>
+
+<icon
+name="mp_shadowsblur_info_bullet"
+tool_tip="Adjust the shadow smoothness. This only works if SSAO is turned on"
+image_name="mp_info_bullet"
+follows="left|top"
+width="16"
+height="16"
+layout="topleft"
+left_pad="5"
+top_delta="0"
+/>
+
+<text
+name="shadow_ssao_lbl"
+follows="left|top"
+layout="topleft"
+width="140"
+height="18"
+left="20"
+top_pad="40"
+font="SansSerifSmall"
+text_color="White"
+>
+Ambient Occlusion
+</text>
+
+<check_box
+name="mp_ssao_ctrl"
+control_name="RenderDeferredSSAO"
+label="Screen Space Ambient Occlusion"
+layout="topleft"
+width="200"
+height="16"
+left="20"
+top_delta="32"
+initial_value="true"
+>
+<check_box.commit_callback
+function="Pref.RenderOptionUpdate" />
+</check_box>
+
+<icon
+name="mp_ssao_bullet"
+tool_tip="Low to Medium performance impact"
+image_name="mp_yellow_bullet"
+follows="left|top"
+width="16"
+height="16"
+layout="topleft"
+left_pad="5"
+top_delta="-2"
+/>
+
+<icon
+name="mp_ssao_info_bullet"
+tool_tip="Adds some shadow based on surface proximity."
+image_name="mp_info_bullet"
+follows="left|top"
+width="16"
+height="16"
+layout="topleft"
+left_pad="5"
+top_delta="0"
+/>
+
+</panel>
+
+<panel
+label="Bloom"
+name="preferences_visuals_bloom"
+layout="topleft"
+follows="top|left">
+
+<text
+name="mp_bloom_lbl"
+follows="left|top"
+layout="topleft"
+width="200"
+height="18"
+left="20"
+top_pad="20"
+font="SansSerifSmall"
+text_color="White"
+>
+Bloom (experimental)
+</text>
+
+<text
+name="mp_bloom_level_lbl"
+tool_tip="Bloom Level: The higher, the more diffuse (medium gpu cost)\n Note: This setting can fix a performance issue when antialiasing is turned on)"
+type="string"
+length="1"
+follows="left|top"
+width="140"
+height="16"
+layout="topleft"
+left="32"
+top_pad="10"
+text_readonly_color="LabelDisabledColor"
+>
+Bloom level:
+</text>
+
+<combo_box
+name="MPBloomCtrl"
+control_name="MPRenderBloom"
+layout="topleft"
+width="150"
+height="18"
+left_delta="150"
+top_delta="0"
+>
+<combo_box.item
+label="None"
+name="0"
+value="0"/>
+<combo_box.item
+label="Level 1"
+name="1"
+value="1"/>
+<combo_box.item
+label="Level 2"
+name="2"
+value="2"/>
+<combo_box.item
+label="Level 3"
+name="3"
+value="3"/>
+</combo_box>
+
+<icon
+name="mp_blooml_bullet"
+tool_tip="Low to Medium performance impact"
+image_name="mp_yellow_bullet"
+follows="left|top"
+width="16"
+height="16"
+layout="topleft"
+left_pad="55"
+top_delta="-2"
+/>
+
+<icon
+name="mp_blooml_info_bullet"
+tool_tip="Bloom adds a glowing effect around the brightest areas. The level affects the number of iterations, and the quality."
+image_name="mp_info_bullet"
+follows="left|top"
+width="16"
+height="16"
+layout="topleft"
+left_pad="5"
+top_delta="0"
+/>
+
+<text
+name="bloom_radius_lbl"
+tool_tip="Bloom Radius"
+follows="left|top"
+layout="topleft"
+width="140"
+height="18"
+left="32"
+top_pad="10"
+font="SansSerifSmall"
+>
+Bloom Radius
+</text>
+
+<slider
+name="MPBloomRadiusCtrl"
+control_name="MPBloomBlurRadius"
+decimal_digits="2"
+follows="left|top"
+layout="topleft"
+width="200"
+height="16"
+left_delta="150"
+top_delta="-1"
+increment="0.01"
+initial_value="1.0"
+label_width="2"
+min_val="0.0"
+max_val="3.0"
+>
+</slider>
+
+<icon
+name="mp_bloomr_bullet"
+tool_tip="No performance impact"
+image_name="mp_blue_bullet"
+follows="left|top"
+width="16"
+height="16"
+layout="topleft"
+left_pad="5"
+top_delta="-2"
+/>
+
+<icon
+name="mp_bloomr_info_bullet"
+tool_tip="Adjust the base radius of the effect"
+image_name="mp_info_bullet"
+follows="left|top"
+width="16"
+height="16"
+layout="topleft"
+left_pad="5"
+top_delta="0"
+/>
+
+<text
+name="bloom_radiusadd_lbl"
+tool_tip="Bloom Radius addition"
+follows="left|top"
+layout="topleft"
+width="140"
+height="18"
+left="32"
+top_pad="10"
+font="SansSerifSmall"
+>
+Bloom Radius addition
+</text>
+
+<slider
+name="MPBloomRadiusAddCtrl"
+control_name="MPBloomBlurRadiusAdd"
+decimal_digits="2"
+follows="left|top"
+layout="topleft"
+width="200"
+height="16"
+left_delta="150"
+top_delta="-1"
+increment="0.01"
+initial_value="1.0"
+label_width="2"
+min_val="-3.0"
+max_val="3.0"
+>
+</slider>
+
+<icon
+name="mp_bloomra_bullet"
+tool_tip="No performance impact"
+image_name="mp_blue_bullet"
+follows="left|top"
+width="16"
+height="16"
+layout="topleft"
+left_pad="5"
+top_delta="-2"
+/>
+
+<icon
+name="mp_bloomra_info_bullet"
+tool_tip="Adjust the added radius for each iteration"
+image_name="mp_info_bullet"
+follows="left|top"
+width="16"
+height="16"
+layout="topleft"
+left_pad="5"
+top_delta="0"
+/>
+
+<text
+name="bloom_extract_lbl"
+follows="left|top"
+layout="topleft"
+width="140"
+height="18"
+left="32"
+top_pad="10"
+font="SansSerifSmall"
+>
+Bloom Range
+</text>
+
+<slider
+name="MPBloomRangeCtrl"
+control_name="MPBloomExtractBrightness"
+decimal_digits="2"
+follows="left|top"
+layout="topleft"
+width="200"
+height="16"
+left_delta="150"
+top_delta="-1"
+increment="0.025"
+initial_value="0.1"
+label_width="2"
+min_val="0.0"
+max_val="0.5"
+>
+</slider>
+
+<icon
+name="mp_bloomrange_bullet"
+tool_tip="No performance impact"
+image_name="mp_blue_bullet"
+follows="left|top"
+width="16"
+height="16"
+layout="topleft"
+left_pad="5"
+top_delta="-2"
+/>
+
+<icon
+name="mp_bloomrange_info_bullet"
+tool_tip="When moved to the right, it will take more of the bright areas."
+image_name="mp_info_bullet"
+follows="left|top"
+width="16"
+height="16"
+layout="topleft"
+left_pad="5"
+top_delta="0"
+/>
+
+<text
+name="bloom_strength_lbl"
+tool_tip="Bloom: Strength of the effect (no performance impact)"
+follows="left|top"
+layout="topleft"
+width="140"
+height="18"
+left="32"
+top_pad="10"
+font="SansSerifSmall">
+Bloom Strength
+</text>
+
+<slider
+name="MPBloomStrCtrl"
+control_name="MPBloomStrength"
+decimal_digits="1"
+follows="left|top"
+layout="topleft"
+width="200"
+height="16"
+left_delta="150"
+top_delta="-1"
+increment="0.1"
+initial_value="1.0"
+min_val="0.5"
+max_val="4.0"
+label_width="2"
+>
+</slider>
+
+<icon
+name="mp_bloomstr_bullet"
+tool_tip="No performance impact"
+image_name="mp_blue_bullet"
+follows="left|top"
+width="16"
+height="16"
+layout="topleft"
+left_pad="5"
+top_delta="-2"
+/>
+
+<icon
+name="mp_bloomstr_info_bullet"
+tool_tip="Controls the effect strength"
+image_name="mp_info_bullet"
+follows="left|top"
+width="16"
+height="16"
+layout="topleft"
+left_pad="5"
+top_delta="0"
+/>
+
+<text
+name="bloom_metal_lbl"
+follows="left|top"
+layout="topleft"
+width="140"
+height="18"
+left="32"
+top_pad="10"
+font="SansSerifSmall"
+>
+Bloom Metal
+</text>
+
+<slider
+name="MPBloomMetalCtrl"
+control_name="MPBloomExtractMetal"
+follows="left|top"
+layout="topleft"
+width="200"
+height="16"
+left_delta="150"
+top_delta="-1"
+increment="0.05"
+initial_value="0.2"
+decimal_digits="2"
+min_val="0.0"
+max_val="1.0"
+label_width="2"
+>
+</slider>
+
+<icon
+name="mp_bloommetal_bullet"
+tool_tip="No performance impact"
+image_name="mp_blue_bullet"
+follows="left|top"
+width="16"
+height="16"
+layout="topleft"
+left_pad="5"
+top_delta="-2"
+/>
+
+<icon
+name="mp_bloommetal_info_bullet"
+tool_tip="When moved to the right, the effect will apply on more metallic surfaces."
+image_name="mp_info_bullet"
+follows="left|top"
+width="16"
+height="16"
+layout="topleft"
+left_pad="5"
+top_delta="0"
+/>
+
+<text
+name="bloom_nonmetal_lbl"
+follows="left|top"
+layout="topleft"
+width="140"
+height="18"
+left="32"
+top_pad="10"
+font="SansSerifSmall">
+Bloom Non Metal
+</text>
+
+<slider
+name="MPBloomNonMetalCtrl"
+control_name="MPBloomExtractNonMetal"
+layout="topleft"
+follows="left|top"
+width="200"
+height="16"
+left_delta="150"
+top_delta="-1"
+increment="0.05"
+initial_value="0.2"
+label_width="2"
+decimal_digits="2"
+min_val="0.0"
+max_val="1.0"
+>
+</slider>
+
+<icon
+name="mp_bloomnonmet_bullet"
+tool_tip="No performance impact"
+image_name="mp_blue_bullet"
+follows="left|top"
+width="16"
+height="16"
+layout="topleft"
+left_pad="5"
+top_delta="-2"
+/>
+
+<icon
+name="mp_bloomnonmet_info_bullet"
+tool_tip="When moved to the right, the effect will apply on more non-metallic surfaces."
+image_name="mp_info_bullet"
+follows="left|top"
+width="16"
+height="16"
+layout="topleft"
+left_pad="5"
+top_delta="0"
+/>
+
+</panel>
+
+<panel
+name="preferences_visuals_probes"
+label="Probes"
+layout="topleft"
+follows="top|left"
+>
+
+<text
+name="mp_probes_lbl"
+follows="left|top"
+layout="topleft"
+width="100"
+height="18"
+left="20"
+top_pad="20"
+font="SansSerifSmall"
+text_color="White"
+>
+Reflection Probes
+</text>
+
+<icon
+name="mp_probedetail_info_bullet"
+tool_tip="Reflection probes are a fundamental part of how pbr lighting is calculated"
+image_name="mp_info_bullet"
+follows="left|top"
+width="16"
+height="16"
+layout="topleft"
+left_pad="5"
+top_delta="0"
+/>
+
+<text
+name="probes_detail_lbl"
+follows="left|top"
+layout="topleft"
+width="140"
+height="18"
+left="32"
+top_pad="10"
+font="SansSerifSmall"
+>
+Reflection Detail:
+</text>
+
+<combo_box
+name="mp_probes_detail_ctrl"
+control_name="RenderReflectionProbeDetail"
+layout="topleft"
+width="150"
+height="18"
+left_delta="150"
+top_delta="0"
+>
+<combo_box.item
+label="Static Only"
+name="0"
+value="0"/>
+<combo_box.item
+label="Static+Dynamic"
+name="1"
+value="1"/>
+<combo_box.item
+label="Realtime"
+name="2"
+value="2"/>
+</combo_box>
+
+<icon
+name="mp_probedetail_bullet"
+tool_tip="High to extreme performance impact"
+image_name="mp_red_bullet"
+follows="left|top"
+width="16"
+height="16"
+layout="topleft"
+left_pad="55"
+top_delta="-2"
+/>
+
+<icon
+name="mp_probedetail_info_bullet"
+tool_tip="Controls how often the reflection probes update with the surrounding. We recommend Static Only for daily usage (specially on Mac)"
+image_name="mp_info_bullet"
+follows="left|top"
+width="16"
+height="16"
+layout="topleft"
+left_pad="5"
+top_delta="0"
+/>
+
+<text
+name="probes_coverage_lbl"
+tool_tip="Reflection probes level (Important memory usage and performance penalty)"
+follows="left|top"
+layout="topleft"
+width="140"
+height="18"
+left="32"
+top_pad="10"
+font="SansSerifSmall"
+>
+Reflection Coverage:
+</text>
+
+<combo_box
+name="probes_level_ctrl"
+control_name="RenderReflectionProbeLevel"
+layout="topleft"
+width="150"
+height="18"
+left_delta="150"
+top_delta="0"
+>
+<combo_box.item
+label="None"
+name="0"
+value="0"/>
+<combo_box.item
+label="Manual only"
+name="1"
+value="1"/>
+<combo_box.item
+label="Manual + terrain"
+name="2"
+value="2"/>
+<combo_box.item
+label="Full scene"
+name="3"
+value="3"/>
+</combo_box>
+
+<icon
+name="mp_probedetail_bullet"
+tool_tip="Medium to High performance impact"
+image_name="mp_yellow_bullet"
+follows="left|top"
+width="16"
+height="16"
+layout="topleft"
+left_pad="55"
+top_delta="-2"
+/>
+
+<icon
+name="mp_probedetail_info_bullet"
+tool_tip="Controls what part of the surrounding the reflections probes are capturing. We recommend Manual only."
+image_name="mp_info_bullet"
+follows="left|top"
+width="16"
+height="16"
+layout="topleft"
+left_pad="5"
+top_delta="0"
+/>
+
+<text
+name="probes_count_lbl"
+follows="left|top"
+layout="topleft"
+width="140"
+height="18"
+left="32"
+top_pad="10"
+font="SansSerifSmall"
+>
+Max Reflection Probes:
+</text>
+
+<combo_box
+name="mp_probes_count_ctrl"
+control_name="RenderReflectionProbeCount"
+label="Max. Reflection Probes:"
+layout="topleft"
+width="150"
+height="18"
+left_delta="150"
+top_delta="0"
+>
+<combo_box.item
+label="None"
+name="1"
+value="1"/>
+<combo_box.item
+label="Low"
+name="32"
+value="32"/>
+<combo_box.item
+label="Medium"
+name="64"
+value="64"/>
+<combo_box.item
+label="High"
+name="128"
+value="128"/>
+<combo_box.item
+label="Ultra"
+name="256"
+value="256"/>
+</combo_box>
+
+<icon
+name="mp_probecount_bullet"
+tool_tip="Medium to High performance and memory usage impact"
+image_name="mp_yellow_bullet"
+follows="left|top"
+width="16"
+height="16"
+layout="topleft"
+left_pad="55"
+top_delta="-2"
+/>
+
+<icon
+name="mp_probecount_info_bullet"
+tool_tip="Limits the maximum number of active reflections probes"
+image_name="mp_info_bullet"
+follows="left|top"
+width="16"
+height="16"
+layout="topleft"
+left_pad="5"
+top_delta="0"
+/>
+
+<text
+name="probes_res_lbl"
+tool_tip="Sets the resolution used to calculate the probes (Important to extreme video memory impact and performance)"
+follows="left|top"
+layout="topleft"
+width="140"
+height="18"
+left="32"
+top_pad="10"
+font="SansSerifSmall"
+>
+Reflection Resolution:
+</text>
+
+<combo_box
+name="ProbeResCtrl"
+control_name="RenderReflectionProbeResolution"
+layout="topleft"
+width="150"
+height="18"
+left_delta="150"
+top_delta="0"
+>
+<combo_box.item
+label="Low"
+name="low"
+value="64"/>
+<combo_box.item
+label="Default"
+name="default"
+value="128"/>
+<combo_box.item
+label="High"
+name="high"
+value="256"/>
+<combo_box.item
+label="Maximum"
+name="maximum"
+value="512"/>
+</combo_box>
+
+<icon
+name="mp_proberes_bullet"
+tool_tip="Medium to Extreme performance and memory usage impact"
+image_name="mp_red_bullet"
+follows="left|top"
+width="16"
+height="16"
+layout="topleft"
+left_pad="55"
+top_delta="-2"
+/>
+
+<icon
+name="mp_proberes_info_bullet"
+tool_tip="Improves the quality of the probes"
+image_name="mp_info_bullet"
+follows="left|top"
+width="16"
+height="16"
+layout="topleft"
+left_pad="5"
+top_delta="0"
+/>
+
+<text
+name="mp_probe_dd_lbl"
+follows="left|top"
+layout="topleft"
+width="140"
+height="18"
+left="32"
+top_pad="10"
+font="SansSerifSmall"
+>
+Draw Distance
+</text>
+
+<slider
+control_name="RenderReflectionProbeDrawDistance"
+follows="left|top"
+layout="topleft"
+width="200"
+height="16"
+left_delta="150"
+top_delta="-1"
+initial_value="32"
+min_val="8"
+max_val="64"
+increment="8"
+decimal_digits="0"
+label_width="2">
+</slider>
+
+<icon
+name="mp_probedd_bullet"
+tool_tip="Medium to High performance impact"
+image_name="mp_yellow_bullet"
+follows="left|top"
+width="16"
+height="16"
+layout="topleft"
+left_pad="5"
+top_delta="-2"
+/>
+
+<icon
+name="mp_probedd_info_bullet"
+tool_tip="Controls the draw distance at which the probes are calculating the surrounding"
+image_name="mp_info_bullet"
+follows="left|top"
+width="16"
+height="16"
+layout="topleft"
+left_pad="5"
+top_delta="0"
+/>
+
+<text
+name="mp_probe_ud_lbl"
+follows="left|top"
+layout="topleft"
+width="140"
+height="18"
+left="32"
+top_pad="10"
+font="SansSerifSmall"
+>
+Default Probe Update
+</text>
+
+<slider
+control_name="RenderDefaultProbeUpdatePeriod"
+follows="left|top"
+layout="topleft"
+width="200"
+height="16"
+left_delta="150"
+top_delta="-1"
+initial_value="15"
+increment="1"
+min_val="2"
+max_val="60"
+decimal_digits="0"
+label_width="2"
+>
+</slider>
+
+<icon
+name="mp_dprobeperiod_bullet"
+tool_tip="When moved to the right, the performance will improve."
+image_name="mp_green_bullet"
+follows="left|top"
+width="16"
+height="16"
+layout="topleft"
+left_pad="5"
+top_delta="-2"
+/>
+
+<icon
+name="mp_dprobeperiod_info_bullet"
+tool_tip="Controls how the default probe update is delayed."
+image_name="mp_info_bullet"
+follows="left|top"
+width="16"
+height="16"
+layout="topleft"
+left_pad="5"
+top_delta="0"
+/>
+
+<text
+name="mp_probe_ud_lbl"
+follows="left|top"
+layout="topleft"
+width="140"
+height="18"
+left="32"
+top_pad="10"
+font="SansSerifSmall"
+>
+Other Probes delay
+</text>
+
+<slider
+name="MPProbeUpdCtrl"
+control_name="MPRenderProbeUpdatePeriod"
+follows="left|top"
+layout="topleft"
+width="200"
+height="16"
+left_delta="150"
+top_delta="-1"
+initial_value="15"
+increment="1"
+min_val="0"
+max_val="60"
+decimal_digits="0"
+label_width="2"
+>
+</slider>
+
+<icon
+name="mp_probeperiod_bullet"
+tool_tip="When moved to the right, the performance will improve."
+image_name="mp_green_bullet"
+follows="left|top"
+width="16"
+height="16"
+layout="topleft"
+left_pad="5"
+top_delta="-2"
+/>
+
+<icon
+name="mp_probeperiod_info_bullet"
+tool_tip="Controls how each probe update is delayed."
+image_name="mp_info_bullet"
+follows="left|top"
+width="16"
+height="16"
+layout="topleft"
+left_pad="5"
+top_delta="0"
+/>
+
+<text
+name="mp_probe_slow_lbl"
+follows="left|top"
+layout="topleft"
+width="140"
+height="18"
+left="32"
+top_pad="10"
+font="SansSerifSmall"
+>
+Refresh delay
+</text>
+
+<slider
+name="MPProbeSlowCtrl"
+control_name="MPRenderProbeSlowDown"
+follows="left|top"
+layout="topleft"
+width="200"
+height="16"
+left_delta="150"
+top_delta="-1"
+initial_value="0.01"
+increment="0.01"
+min_val="0"
+max_val="0.2"
+decimal_digits="2"
+label_width="2">
+</slider>
+
+<icon
+name="mp_probeslowdown_bullet"
+tool_tip="When moved to the right, the performance will improve."
+image_name="mp_green_bullet"
+follows="left|top"
+width="16"
+height="16"
+layout="topleft"
+left_pad="5"
+top_delta="-2"
+/>
+
+<icon
+name="mp_probeslowdown_info_bullet"
+tool_tip="Controls how often the probes update process is called. When moved to the right, the update be slower."
+image_name="mp_info_bullet"
+follows="left|top"
+width="16"
+height="16"
+layout="topleft"
+left_pad="5"
+top_delta="0"
+/>
+
+</panel>
+
+<panel
+label="Quality"
+name="preferences_visuals_others"
+layout="topleft"
+follows="top|left">
+
+<text
+name="mp_aa_lbl"
+follows="left|top"
+layout="topleft"
+top_pad="20"
+width="400"
+height="18"
+left="20"
+font="SansSerifSmall"
+text_color="White"
+>
+Visual Quality Settings:
+</text>
+
+<check_box
+name="VintageCtrl"
+control_name="RenderDisableVintageMode"
+label="HDR and Emissive"
+layout="topleft"
+width="300"
+height="16"
+left="20"
+top_delta="32"
+initial_value="false"
+>
+<check_box.commit_callback
+function="Pref.RenderOptionUpdate" />
+</check_box>
+
+<icon
+name="mp_hdr_bullet"
+tool_tip="Low to Medium performance impact. We recommend it ON, unless you are using a weaker/older computer."
+image_name="mp_yellow_bullet"
+follows="left|top"
+width="16"
+height="16"
+layout="topleft"
+left_pad="8"
+top_delta="-2"
+/>
+
+<icon
+name="mp_hdr_info_bullet"
+tool_tip="Enables Higher color fidelity, and several other post-processing effects."
+image_name="mp_info_bullet"
+follows="left|top"
+width="16"
+height="16"
+layout="topleft"
+left_pad="5"
+top_delta="0"
+/>
+
+<check_box
+name="mp_transparent_water"
+control_name="RenderTransparentWater"
+label="Transparent Water"
+layout="topleft"
+width="300"
+height="16"
+left="20"
+top_delta="32"
+initial_value="true"
+>
+<check_box.commit_callback
+function="Pref.RenderOptionUpdate" />
+</check_box>
+
+<icon
+name="mp_twater_bullet"
+tool_tip="Low to Medium performance impact. We recommend it ON, unless you are using a weaker/older computer."
+image_name="mp_yellow_bullet"
+follows="left|top"
+width="16"
+height="16"
+layout="topleft"
+left_pad="8"
+top_delta="-2"
+/>
+
+<icon
+name="mp_twater_info_bullet"
+tool_tip="Enables higher quality water with transparency."
+image_name="mp_info_bullet"
+follows="left|top"
+width="16"
+height="16"
+layout="topleft"
+left_pad="5"
+top_delta="0"
+/>
+
+<text
+name="mp_resdiv_lbl"
+follows="left|top"
+layout="topleft"
+width="140"
+height="18"
+left="32"
+top_pad="30"
+font="SansSerifSmall"
+>
+Resolution divisor
+</text>
+
+<slider
+control_name="RenderResolutionDivisor"
+follows="left|top"
+layout="topleft"
+width="200"
+height="16"
+left_delta="150"
+top_delta="-1"
+initial_value="1.0"
+increment="0.1"
+min_val="0.8"
+max_val="2.0"
+decimal_digits="2"
+label_width="2">
+</slider>
+
+</panel>
+
+<panel
+label="For nerds"
+name="preferences_visuals_others"
+layout="topleft"
+follows="top|left">
+
+<text
+follows="left|top"
+layout="topleft"
+top_pad="20"
+width="400"
+height="18"
+left="20"
+font="SansSerifSmall"
+text_color="White"
+>
+Advanced settings:
+</text>
+
+<check_box
+name="MultiTexCtrl"
+control_name="RenderGLMultiThreadedTextures"
+label="Multithreaded Textures"
+layout="topleft"
+width="400"
+height="16"
+left="20"
+top_delta="32"
+initial_value="false"
+>
+</check_box>
+
+<icon
+name="mp_multitex_bullet"
+tool_tip="Improves textures loading performance on certain hardware. But can be unstable."
+image_name="mp_yellow_bullet"
+follows="left|top"
+width="16"
+height="16"
+layout="topleft"
+left_pad="5"
+top_delta="-2"
+/>
+
+<icon
+name="mp_multitex_info_bullet"
+tool_tip="Enables loading textures using multiple threads."
+image_name="mp_info_bullet"
+follows="left|top"
+width="16"
+height="16"
+layout="topleft"
+left_pad="5"
+top_delta="0"
+/>
+
+<check_box
+name="AppleMultGLCtrl"
+control_name="RenderAppleUseMultGL"
+label="Apple Multithreaded OpenGL"
+layout="topleft"
+width="400"
+height="16"
+left="20"
+top_delta="32"
+initial_value="false"
+>
+</check_box>
+
+<icon
+name="mp_applemulti_bullet"
+tool_tip="Variable performance impact. Can be unstable!"
+image_name="mp_yellow_bullet"
+follows="left|top"
+width="16"
+height="16"
+layout="topleft"
+left_pad="5"
+top_delta="-2"
+/>
+
+<icon
+name="mp_applemulti_info_bullet"
+tool_tip="Enables Apple OpenGL Multithreaded optimisations. Can be unstable!!"
+image_name="mp_info_bullet"
+follows="left|top"
+width="16"
+height="16"
+layout="topleft"
+left_pad="5"
+top_delta="0"
+/>
+
+<text
+name="color_precision_lbl"
+follows="left|top"
+layout="topleft"
+width="200"
+height="18"
+left="32"
+top_pad="20"
+font="SansSerifSmall"
+>
+Color precision (needs restart):
+</text>
+
+<combo_box
+name="colorPrecisionCtrl"
+control_name="MPColorPrecision"
+layout="topleft"
+width="80"
+height="18"
+left_pad="8"
+top_delta="0"
+>
+<combo_box.item
+label="Low"
+name="low"
+value="1"/>
+<combo_box.item
+label="Default"
+name="default"
+value="0"/>
+<combo_box.item
+label="High"
+name="high"
+value="2"/>
+</combo_box>
+
+<icon
+name="mp_lowcolor_bullet"
+tool_tip="Low setting can help performance specially in high resolution"
+image_name="mp_green_bullet"
+follows="left|top"
+width="16"
+height="16"
+layout="topleft"
+left_pad="104"
+top_delta="-2"
+/>
+
+<icon
+name="mp_lowcolor_info_bullet"
+tool_tip="Sets the internal color resolution. Improves the speed or quality."
+image_name="mp_info_bullet"
+follows="left|top"
+width="16"
+height="16"
+layout="topleft"
+left_pad="5"
+top_delta="0"
+/>
+
+<text
+follows="left|top"
+layout="topleft"
+top_pad="30"
+width="400"
+height="18"
+left="20"
+font="SansSerifSmall"
+text_color="White"
+>
+HDR Display (Experimental - Mac only):
+</text>
+
+<icon
+name="mp_hdrd_bullet"
+tool_tip="You need an Apple hdr/xdr display"
+image_name="mp_info_bullet"
+follows="left|top"
+width="16"
+height="16"
+layout="topleft"
+left_pad="5"
+top_delta="-2"
+/>
+
+<text
+follows="left|top"
+layout="topleft"
+width="400"
+height="18"
+left="20"
+top_pad="12"
+font="SansSerifSmall"
+text_color="White"
+>
+Warning: HDR shows extreme luminosity contrast. Use carefully!
+</text>
+
+<check_box
+name="HDRDisplayCtrl"
+control_name="MPHDRDisplay"
+label="HDR Display (Mac)"
+layout="topleft"
+width="250"
+height="16"
+left="20"
+top_delta="32"
+initial_value="true"
+>
+</check_box>
+
+<text
+name="mp_hdrd_gamma_lbl"
+follows="left|top"
+layout="topleft"
+width="140"
+height="18"
+left="32"
+top_pad="16"
+font="SansSerifSmall"
+>
+Gamma
+</text>
+
+<slider
+control_name="MPHDRGamma"
+follows="left|top"
+layout="topleft"
+width="200"
+height="16"
+left_delta="150"
+top_delta="-1"
+initial_value="2.2"
+increment="0.05"
+min_val="1.8"
+max_val="2.6"
+decimal_digits="2"
+label_width="2">
+</slider>
+
+<text
+name="mp_hdrd_uiboost_lbl"
+follows="left|top"
+layout="topleft"
+width="140"
+height="18"
+left="32"
+top_pad="16"
+font="SansSerifSmall"
+>
+UI Luminosity Boost
+</text>
+
+<slider
+control_name="MPHDRUIBoost"
+follows="left|top"
+layout="topleft"
+width="200"
+height="16"
+left_delta="150"
+top_delta="-1"
+initial_value="1.0"
+increment="0.1"
+min_val="1.0"
+max_val="1.4"
+decimal_digits="2"
+label_width="2">
+</slider>
+
+<text
+follows="left|top"
+layout="topleft"
+top_pad="30"
+width="400"
+height="18"
+left="20"
+font="SansSerifSmall"
+text_color="White"
+>
+Developer settings:
+</text>
+
+<check_box
+name="NoGLDebugCtrl"
+control_name="MPNoGLDebug"
+label="No GL Debug"
+layout="topleft"
+width="400"
+height="16"
+left="20"
+top_delta="32"
+initial_value="true"
+>
+</check_box>
+
+<icon
+name="mp_nodebug_bullet"
+tool_tip="Leave this always to ON for optimal performance"
+image_name="mp_yellow_bullet"
+follows="left|top"
+width="16"
+height="16"
+layout="topleft"
+left_pad="5"
+top_delta="-2"
+/>
+
+<icon
+name="mp_nodebug_info_bullet"
+tool_tip="Ensures there is no opengl debug. This should be set to ON!"
+image_name="mp_info_bullet"
+follows="left|top"
+width="16"
+height="16"
+layout="topleft"
+left_pad="5"
+top_delta="0"
+/>
+
+<check_box
+name="MPAppleVBModeCtrl"
+control_name="MPVertexBufferMode"
+label="Megapahit Vertex Buffer Mode (needs restart)"
+layout="topleft"
+width="400"
+height="16"
+left="20"
+top_delta="32"
+initial_value="false"
+>
+</check_box>
+
+</panel>
+
+
+</tab_container>
+
+</panel> \ No newline at end of file
diff --git a/indra/newview/skins/default/xui/en/panel_snapshot_local.xml b/indra/newview/skins/default/xui/en/panel_snapshot_local.xml
index 52f9068264..fb88b752ae 100644
--- a/indra/newview/skins/default/xui/en/panel_snapshot_local.xml
+++ b/indra/newview/skins/default/xui/en/panel_snapshot_local.xml
@@ -74,6 +74,10 @@
label="1600x1200"
name="1600x1200"
value="[i1600,i1200]" />
+ <combo_box.item
+ label="2048x2048"
+ name="2048x2048"
+ value="[i2048,i2048]" />
<combo_box.item
label="Custom"
name="Custom"
diff --git a/indra/newview/skins/default/xui/en/panel_status_bar.xml b/indra/newview/skins/default/xui/en/panel_status_bar.xml
index e53a25ff6b..ef77698e0d 100644
--- a/indra/newview/skins/default/xui/en/panel_status_bar.xml
+++ b/indra/newview/skins/default/xui/en/panel_status_bar.xml
@@ -188,15 +188,21 @@
<button
type="string"
font="SansSerif"
+ image_unselected="mp_fpsButton"
+ image_selected="mp_fpsButton"
+ image_hover_unselected="mp_fpsButton"
+ image_pressed="mp_fpsButton"
+ image_pressed_selected="mp_fpsButton"
+ image_color="White"
label_color="FpsTextColor"
follows="right|top"
halign="center"
valign="center"
height="18"
top="1"
- left_pad="4"
+ left_pad="2"
name="FpsText"
- tool_tip="fps"
+ tool_tip="fps: Color indicates frametime fluctuations (Green is optimal)"
width="32">
60
</button>