Commit Graph

1804 Commits (afdcd356db0a496e8916645eeebc8a03755ee0bd)

Author SHA1 Message Date
Andrey Kleshchev d9e55c4415 #3997 Crash in a gltf asset enabled region 2025-04-29 18:12:57 +03:00
Andrey Kleshchev f6219fecc3 #3696 Crash at LLFontFreetype::addGlyphFromFont 2025-04-18 19:49:32 +03:00
Andrey Kleshchev 2da46c3830 #3575 Clean up obsolete VRAM detectin logic 2025-04-05 09:28:26 +03:00
Andrey Lihatskiy d77954ef50 #3597 Improve error handling at LLGLSLShader::disableTexture() 2025-04-02 16:18:33 +03:00
Jonathan "Geenz" Goodman 5e5d466628
Readd probe count setting (#3793)
* Readd max probe count.  Disable dynamic probe allocation by default (for now).
2025-03-24 17:59:13 -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
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
Dave Parks 0a617904f9
#2590 Fix for horrible FPS on Intel Mac (#2591)
* Work around for GHA mac runners not playing nice with Tracy
* Delay VBO deletion for a few frames
* Enable multithreaded GL driver and multithreaded media textures on Apple silicon
2024-09-17 18:14:22 -05:00
Dave Parks 486613e79b
Profile guided optimization pass (#2582)
- Tune up LLJointRiggingInfoTab
- Visualize joint bounding boxes when visualizing joints
- Use LLJointRiggingInfo to caclulate desired resolution of a texture
- Throttle calls to calcPixelArea
- Fetch MeshSkinInfo immediately when header is received
2024-09-16 18:49:03 -05:00
Ansariel Hiller 74205607b7
Clean up Windows build (#2562)
* APR_DECLARE_STATIC and APU_DECLARE_STATIC gets already defined in APR.cmake
* Move both _CRT_SECURE_NO_WARNINGS and _WINSOCK_DEPRECATED_NO_WARNINGS definitions to 00-Common.cmake
* Always define WIN32_LEAN_AND_MEAN and include subset of Windows API by default
* Remove llwin32headerslean.h and remove unnecessary WIN32_LEAN_AND_MEAN definition handling in llwin32headers.h
* Clean up includes of Windows API headers
* Get rid of workaround to link against IPHLPAPI.lib in lluuid.cpp - this seems to have been an issue in the past that has been fixed
2024-09-13 17:28:48 +03:00