Commit Graph

1807 Commits (e0d14e02e152b4e75ff8bdd974677f9669163d68)

Author SHA1 Message Date
Jonathan "Geenz" Goodman e0d14e02e1 Merge branch 'release/2025.03' into rye/forevermac 2025-03-11 22:44:49 -04:00
Andrey Kleshchev 44fa0c438a #3696 LLFontFreetype crash when adding glyph 2025-03-11 11:09:59 +02:00
Andrey Lihatskiy f40c5b209b #3597 Fix crash when RenderDebugGLSession is True 2025-02-27 17:07:36 +02:00
Andrey Kleshchev 5b968b7209 #3332 Remake glyph count into cache generation
1. Cover reset with 'generation'
2. Fix lapse of judgement with mLastFontGlyphCount, it should have been
saved before render(), not after
2025-02-24 19:31:16 +02:00
Jonathan "Geenz" Goodman c60061b504
Switch from GL_RGB16F to GL_R11F_G11F_B10F for probes (#3562)
* #3561 Switch from GL_RGB16F to GL_R11F_G11F_B10F for reflection probes to help reduce memory bandwidth and VRAM pressure.
2025-02-14 13:16:35 -05:00
Andrey Lihatskiy d74b30b4ec Follow-up fixes from develop 2025-02-13 18:00:55 +02:00
Andrey Lihatskiy ddbe1ff981 Fix xcode16 build errors 2025-02-13 17:30:08 +02:00
Andrey Kleshchev e708d69fb0 #3332 Fix buffers not accounting for dynamic cache values
And fix previous lapse of judgement with GLYPH_BATCH_SIZE
2025-02-11 23:59:42 +02:00
Jonathan "Geenz" Goodman d450295cf5
Additional water fixes and tweaks. (#3524)
* Incorporation of feedback for #3456
2025-02-11 13:49:24 -05:00
Rye 0f4aa87cac Vectorize LLRender UI scale and offset stack to resolve perf hotspot on arm 2025-02-11 05:04:11 -05:00
Rye fd94dc0cd0 Disable old GPU hacks on macos when running against Apple GPU 2025-02-11 05:04:10 -05:00
Rye 36d4dc4e2b Fix uninitialized variable warnings being emitted by current clang 2025-02-11 05:04:09 -05:00
Andrey Lihatskiy 0fbc30df54 Merge pull request #2758 from Nicky-D/feature/fontcache
Port Fontcache from Firestorm.
2025-02-11 05:04:08 -05:00
Rye 2f39d381ef Restore support for anistropic filtering on macos 2025-02-11 05:04:07 -05:00
Rye 6fcd349f37 Fix Tracy memory profiling overloads for aligned allocations
Fix disabling renderdoc support
Improve ll_aligned_alloc functions on darwin for 32 and 64byte aligned by utilizing posix_memalign
2025-02-11 05:04:05 -05:00
Rye 635c34a17b Fix build with C++20 including nat's changes to fsyspath 2025-02-11 05:04:04 -05:00
Andrey Kleshchev 6a78b5b43c #3332 Font issues with multy-byte and multy-glyps characters 2025-02-10 23:18:33 +02:00
Andrey Kleshchev 3a251b1b9e #3332 Switching screens can break text rendering 2025-02-07 23:27:30 +02:00
Jonathan "Geenz" Goodman 93a88e6025
Water Exclusion Surfaces (#3517)
* #3455 Add support for water exclusion surfaces
2025-02-07 05:55:47 -05:00
Brad Linden d5c6eb92da
Attempt to get more log info in secondlife/viewer#3335 crash reports (#3470)
when failing to load basic vertex shaders
2025-01-24 11:30:47 -08:00
Rye 4763195e18 Fix potential undefined behavior when converting to and from glm types from LLVector3/4 and fall back mul_mat4_vec3 to scalar implementation to attempt crash mitigation (#3339) 2025-01-23 18:40:19 -05:00
Rye c883c7f2d9 Drop reflection probes and mirrors to RGBA8 when hdr is disabled to minimize vram usage and chance of probe nans (#2558) 2025-01-09 20:43:45 -05:00
Andrey Kleshchev 12303e21c9 #3347 Crashes in LLFontFreetype::renderGlyph
Try to handle this more gracefully, but primary purpose of this change
is to log wchars in case issue is reproducible.
2025-01-07 03:21:36 +02:00
Andrey Kleshchev a66ec26b81
#3295 Crash scaling texture down (#3296) 2024-12-16 22:21:42 +00:00
Brad Linden 67b9779d55
Merge pull request #3262 from secondlife/rye/extra-mesafix
Fix mesa failing to link shaders due to missing vertex shader outputs
2024-12-13 16:01:44 -08:00
Dave Parks eff46262c8
#2590 Radeon mac optimization pass (#3277)
- Skip updating of reflection probes that are not the default probe when probe coverage is set to "None"
- enable RenderAppleUseMultGL and disable occlusion culling on Macs with AMD GPUs
- Reduce the number of texture decode threads on Macs with intel cpus.
- Move texture deletion to LLImageGL::updateClass and prevent textures from staying resident in vram longer than 3 frames
- Disable SSAO by default on Macs with intel CPUs
2024-12-12 15:46:01 -06:00
Rye f8fad89dd0 Fix mesa failing to link shaders due to missing vertex shader outputs 2024-12-11 08:49:38 -08:00
Rye d17fd56dc4 Fix crashes from shader load failures under RenderMaxOpenGLVersion 3.1/3.2/3.3 (#3184) 2024-12-10 17:24:39 -08:00
Dave Parks 37f92c1698
Fix for legacy skies with bright suns not matching FS 6.6.17 (#3214) 2024-12-05 15:10:13 -06:00
Dave Parks 73420f4f34
#3184 Fix for crash on some GPUs when setting quality to High or higher (#3201) 2024-12-03 16:32:20 -06:00
Jonathan "Geenz" Goodman d65fb7cec8
Drop emissive on old Intel GPUs (#3110)
* #3103 Add the ability to disable the emissive buffer for older GPUs with low memory bandwidth.
* #3135 Add a "vintage" mode for slower GPUs
* #2719 Fix for skies being overbrightened
* #2632 Do not apply tonemapping on legacy skies
2024-11-25 20:56:03 -05:00
Ansariel Hiller 9f86209963
Fix memory leak in LLVertexBuffer (#3144) 2024-11-25 19:01:03 +02:00
Brad Linden 7be9c43f28
brad/2744 handle shader errors (#3105)
* Partial solution to secondlife/viewer#2744 crash with better error handling.

Handles shader compile errors better, and should turn crash into an LL_ERRS assertion failure.
Strengthed more assertions and improved shader error line numbers

* Even more error handling to get a handle on crash secondlife/viewer#2744
* Improved GLSL correctness on Intel chips that lack OpenGL 4.6 support. secondlife/viewer#2744
* Removed non-working fallback code for gDeferredPostProgram
* Fixed incorrect llmax call
2024-11-19 10:49:09 -08:00
Dave Parks 2b255535ef
2590 mac intel and radeon pro 5300m horrible fps 2 (#3030)
* OpenGL 3.3 compatibility pass.  Fix for FBO driven downscaling corrupting textures.
* Increase maximum texture bias, immediately scale down when textures are loaded higher resolution than desired
* #2590 Fix for some frame stalls on Intel Macs
2024-11-12 15:26:38 -08:00
Jonathan "Geenz" Goodman ef11af28d4
#2637 Revert to the previous alpha analysis to maintain legacy content parity. (#3061) 2024-11-08 14:51:19 -05:00
Andrey Kleshchev 200a196d31 viewer#2883 Regenerate font's matrix and depth instead of loading
to fix issues with nametags and window resizes
2024-10-28 16:47:19 +02:00
Andrey Kleshchev b1fb2fba70 viewer#2883 Account for DPI changes 2024-10-28 16:47:19 +02:00
Andrey Kleshchev 1924c44caf viewer#2741 Don't reallocate image conversion buffer all the time 2024-10-20 16:48:27 +03:00
Andrey Kleshchev 85b7210fb9 viewer#2741 Sligtly better logging for a crash 2024-10-05 10:08:27 +03:00
Andrey Kleshchev 9d3c8475c6 viewer#2709 Fix loose triangle #2 2024-10-03 01:05:45 +03:00
Andrey Kleshchev e74b48e678 viewer#2709 Fix loose triangle 2024-09-26 22:09:09 +03:00
Andrey Kleshchev 440c7b20da #2411 Allow disabling and enabling LLFontVertexBuffer
for testing purposes
2024-09-26 20:56:45 +03:00
Nat Goodspeed 8342d68ea9 Merge branch 'develop' into frame-profile-json 2024-09-19 11:48:33 -04:00
Nat Goodspeed 8c40e6f0a9 Reapply commit f4b6563 -- cherry-picking lost parts of it?! 2024-09-19 11:46:08 -04:00
Andrey Kleshchev 6d842ac0af Expose LLVector4a in LLRender
Avoid using a bunch of allocators.
Make sure we use LLVector4a's SSE logic instead of LLVector3's.
Some minor optimizations.
2024-09-19 09:58:17 +03:00
Nat Goodspeed a3d6544be0 Give `LLGLSLShader::finishProfile()` a static default string param.
`finishProfile()` is called at least once within a `__try` block. If we default
its `report_name` parameter to a temporary `std::string`, that temporary must be
destroyed when the stack is unwound, which `__try` forbids.

(cherry picked from commit c6e6f44f50b4de391000c5b9f781a2f0a5024e76)
2024-09-18 14:05:27 -04:00
Nat Goodspeed f037cde7f4 Make Develop->Render Tests->Frame Profile dump JSON to a file too.
Make `LLGLSLShader::finishProfile()` accept a string pathname instead of a
bool and, in addition to logging statistics to the viewer log, output
statistics to that file as JSON. The calls that used to pass
`emit_report=false` now pass `report_name=std::string()`.

Make llviewerdisplay.cpp's `display()` function synthesize a profile filename
in the viewer's logs directory, and pass that filename to
`LLGLSLShader::finishProfile()`.

(cherry picked from commit d5712689d36a1ee1af32242706901fde7229b08d)
2024-09-18 14:05:27 -04:00
Ansariel Hiller d9da5bbb33
Remove quads rendering mode entirely (#2593) 2024-09-18 17:09:51 +03:00
Andrey Kleshchev 689d9e6935 More quad to triangle coverage
Quads are deprecated
2024-09-18 11:38:06 +03:00
Andrey Kleshchev 3327ae7938 Convert image drawing logic from quads to triangles 2024-09-18 11:38:06 +03:00