summaryrefslogtreecommitdiff
path: root/indra/llrender
AgeCommit message (Collapse)Author
2023-01-27SL-19203 et al -- Integrate SSR with reflection probes, tweak probe ↵RunitaiLinden
blending. (#63) * SL-19203 WIP -- Integrate SSR with reflection probes. Decruft LLRenderTarget. * SL-19203 WIP -- Re-integrate SSR. Incidental decruft. * SL-19203 WIP -- SSR frame delta correction (still broken for Z) * SL-19203 WIP -- SSR frame delta Z fix * SL-19203 WIP -- Make SSR toggleable again and disable SSR in cube snapshots. * SL-19203 WIP -- Soften sphere probe transitions and fix reflections on void water (make fallback probe a simple terrain+water+sky probe). Remove parallax correction for automatic probes to reduce artifacts. * SL-19203 Tune probe blending. * SL-19203 Cleanup.
2023-01-24SL-18772 Potential fix for failed shader load on Intel HD 3000Dave Parks
2023-01-24SL-18958 Fix for broken water distortion map and depth buffer. Incidental ↵Dave Parks
decruft.
2023-01-23SL-18869 Followup -- AMD optimization pass.Dave Parks
2023-01-20SL-18869 Followup -- AMD compatibility pass.Dave Parks
2023-01-20Merge branch 'DRTVWR-559' of github.com:secondlife/viewer into DRTVWR-559Dave Parks
2023-01-20SL-18869 GL 3 compatibility pass and minor decruft.Dave Parks
2023-01-19Fix for SL-19010 mac crash in LLManipTranslartge::restoreGL().Brad Linden
Attempt to simplify and avoid use of GL_UNSIGNED_INT_8_8_8_8_REV where not needed
2023-01-19SL-18869 Followup -- leverage "small commands" and time slicing to get rid ↵Dave Parks
of frame stalls on main thread without the need for multithreaded GL
2023-01-19Optimizations, decruft, and intel compatibility pass (#53)RunitaiLinden
SL-18869, SL-18772 Overhaul VBO management, restore occlusion culling, intel compatibility pass, etc
2023-01-12MacOS build fixAndrey Kleshchev
2023-01-11Merge branch 'DRTVWR-559' of github.com:secondlife/viewer into DRTVWR-559Dave Parks
2023-01-11SL-18869 Optimizations -- Revive LLVBOPool and fix silly typo in ↵Dave Parks
renderShadowSimple
2023-01-11MacOS build fixAndrey Kleshchev
2023-01-11SL-18869 Touch up -- fix some Debug GL assertions and restore shadows.Dave Parks
2023-01-10SL-18869 Optimizations -- Revive "Frame Profile" and GL_DEPTH_CLAMP. Remove ↵Dave Parks
usage of gl_FragDepth from shadow shaders.
2023-01-10SL-18869 Optimizations -- Quiet command buffer -- VBO cache for UI et al and ↵Dave Parks
remove many unneeded VBO binds.
2023-01-10SL-18869 Optimizations -- LLVertexBuffer overhaul and shuffle of shadow map ↵Dave Parks
rendering to a place where the main camera has taken a stab at object updates for this frame before shadow map rendering has at them.
2023-01-09SL-18869 Optimizations -- Decruftify LLRenderTarget, use a shader to copy ↵Dave Parks
color/depth instead of glCopyTexSubImage or glBlitFrameBuffer
2023-01-09SL-18869 Optimizations -- decruftify LLVertexBuffer and make an optimal ↵Dave Parks
"renderShadowSimple" utility function for pushing vertex buffers only.
2022-12-09SL-18809: Merge 'DRTVWR-559' of secondlife/viewer into sl-18809Nat Goodspeed
2022-12-09SL-18809: Add WorkSchedule; remove timestamps from WorkQueue.Nat Goodspeed
For work queues that don't need timestamped tasks, eliminate the overhead of a priority queue ordered by timestamp. Timestamped task support moves to WorkSchedule. WorkQueue is a simpler queue that just waits for work. Both WorkQueue and WorkSchedule can be accessed via new WorkQueueBase API. Of course the WorkQueueBase API doesn't deal with timestamps, but a WorkSchedule can be accessed directly to post timestamped tasks and then handled normally (e.g. by ThreadPool) to run them. Most ThreadPool functionality migrates to new ThreadPoolBase class, with template subclass ThreadPoolUsing<WorkQueue> or ThreadPoolUsing<WorkSchedule> depending on need. ThreadPool is now an alias for ThreadPoolUsing<WorkQueue>. Importantly, ThreadPoolUsing::getQueue() delivers a reference to the specific queue subclass type, so you can post timestamped tasks on a queue retrieved from ThreadPoolUsing<WorkSchedule>::getQueue(). Since ThreadPool is no longer a simple class but an alias for a particular template specialization, introduce threadpool_fwd.h to forward-declare it. Recast workqueue_test.cpp to exercise WorkSchedule, since some of the tests are time-based. A future todo would be to exercise each applicable test with both WorkQueue and WorkSchedule.
2022-12-06SL-18785 Fix for corrupt reflection probes on various preference changes. ↵Dave Parks
Add UI for Screen Space Reflections.
2022-11-28Merge remote-tracking branch 'origin/DRTVWR-528' into DRTVWR-559Brad Kittenbrink
2022-11-28Merge remote-tracking branch 'origin/main' into DRTVWR-528Brad Kittenbrink
2022-11-18SL-18669 Fix for broken lighting on transparent faces. Optimize handling of ↵Dave Parks
"bindDeferredShader" and shadow map setup.
2022-11-17SL-18154 Profile guided optimizations -- remove some unneeded operations and ↵Dave Parks
make LLDrawPoolMaterials less branchy.
2022-11-16SL-18154 Profile guided optimizations vs release viewer. Trim some unused ↵Dave Parks
abilities and remove some more fast timers.
2022-11-14Merged in SL-18332 (pull request #1194)Jonathan Goodman
First pass of Screen Space Reflections Approved-by: Dave Parks
2022-11-14SL-18485 Cleanup -- remove unused GLTF specific vertex attributes from ↵Dave Parks
LLVertexBuffer (blows past 16-attribute limit)
2022-11-02SL-18485: Render GLTF materials with extension KHR_texture_transform with ↵Cosmic Linden
approprate texture transforms
2022-10-31SL-18483 Work around for crash on AMD when using glGenerateMipmap on cubemap ↵Dave Parks
array.
2022-10-24Merge master into DRTVWR-568 (and fix conflicts)Callum Linden
2022-10-21Merge branch 'master' (DRTVWR-548) into DRTVWR-559Andrey Kleshchev
# Conflicts: # indra/llrender/llgl.cpp # indra/llrender/llrendertarget.cpp # indra/newview/VIEWER_VERSION.txt # indra/newview/app_settings/shaders/class1/deferred/materialF.glsl # indra/newview/llfloaterpreference.cpp # indra/newview/llviewercontrol.cpp # indra/newview/llviewermenu.cpp # indra/newview/llviewertexturelist.cpp # indra/newview/llvovolume.cpp
2022-10-12SL-18190 Remove water reflection detail combo box and reimplement ↵Dave Parks
"Transparent Water" checkbox.
2022-10-11SL-18190 Cleanup -- convert some vec4's to vec3's (as they really are), ↵Dave Parks
remove some unused glsl files.
2022-10-10Merged DRTVWR-559 into SL-18290Jonathan Goodman
2022-10-06SL-18190 Water shader WIP. Better parallax correction for sphere probes. ↵Dave Parks
Reduce probe memory footprint. Remove framebuffer copies and move to deprecate stencil buffer usage.
2022-10-06Merged DRTVWR-559 into SL-18290Jonathan Goodman
2022-10-06Switch away from std::stringGeenz Linden
API expects const char* anyways.
2022-10-05Initial pass at adding KHR_debug supportGeenz
This still needs some work - I'm not super satisfied with the overall structure of the code. Will continue to iterate as I add in proper RenderDoc support.
2022-10-05SL-18190 WIP - Add refraction to water without splitting scene between above ↵Dave Parks
and below water
2022-10-04SL-18293, SL-18190 -- Fix for debug displays not showing up (wireframe still ↵Dave Parks
busted). WIP on reflection probe/PBR driven water shader.
2022-09-29SL-18190 Fix for haze color being completely wrong (now it's just half wrong).Dave Parks
2022-09-28SL-18190 Prune srgb_to_linear from atmosphericsFuncs.glslDave Parks
2022-09-27SL-18190 WIP -- Take 2 on linear space windlight (more methodical approach ↵Dave Parks
-- make desired interface but brute force color conversions). Placeholder PBR water and move to deprecate forward rendering shaders.
2022-09-23SL-18190 Reduce banding - experiment with RGB16F reflection probesDave Parks
2022-09-22SL-17705 Backwards compatibility pass. Support OpenGL pre-4.0 by disabling ↵Dave Parks
reflection probes and anti-aliasing. Get render parity with current release viewer when reflection probes are disabled.
2022-09-20SL-18190 Reduce banding (stay in linear space as much as possible, increase ↵Dave Parks
precision of reflection probes). Faster radiance and irradiance map generation.
2022-09-20SL-18190 Don't allocate mips for irradiance maps because they're never ↵Dave Parks
generated. Disable OpenGL core profile on Intel by default.