| Commit message (Collapse) | Author | Age | Files | Lines |
| ... | |
| |
|
| |
Avoid rendering the workspace behind if we are locked
|
| |
|
|
| |
less refcounting, move by rvalue.
|
| |
|
|
|
| |
lets use unique ptrs instead of refcounting shared ptr when its not
needed, use rvalue reference to construct in vector directly.
|
| |
|
|
|
|
|
|
|
| |
Implements a new render scheduling method, where we triple buffer when necessary.
Enabled by default, improves FPS on underpowered devices.
---------
Co-authored-by: Mihai Fufezan <mihai@fufexan.net>
|
| |
|
|
|
| |
overload it with a rvalue to allow us to move the data directly avoiding
an extra copy. because SRenderData is not trivially copyable.
|
| |
|
|
|
|
| |
the durationUs is not used unless debug overlay is enabled, lets not
calculate it each call to rendermonitor if not enabled. same with
renderStart.
|
| | |
|
| |
|
| |
Adds animations for the mouse zoom effect.
|
| | |
|
| |
|
|
| |
were not used anymore, explicit is on by default
|
| |
|
|
| |
this should reduce idle vram usage by a whopping 16MB, but also might fix the tty unknown issue.
|
| | |
|
| | |
|
| |
|
|
|
|
|
|
|
|
| |
fixes some fadeout missing cases:
- closing last window
- closing above fs
- closing in general
fixes #10283
|
| |
|
|
| |
sometimes a driver fails to assign any reasonable mode in which case we might render 0x0 which will make us crash. Don't do that. Part 1 of #10678
|
| | |
|
| | |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* opengl: remove unnecessery glflush calls
glflushing forces the driver to break batching and issue commands
prematurely and prevents optimisations like command reordering and
merging.
many glFunctions already internally glflushes and eglsync creation still
has a glflush at end render. so lets reduce the overhead of these calls.
* opengl: reduce glUseProgram calls
apitrace shows cases where the same program gets called multiple times,
add a helper function that keeps track of current program and only call
it once on same program. reduces slight overhead.
* opengl: use more efficient vertex array object
use a more modern vertex array object approach with the shaders, makes
it a onetime setup on shader creation instead of once per drawcall, also
should make the driver not have to revalidate the vertex format on each
call.
|
| |
|
|
| |
ref #10348
|
| | |
|
| | |
|
| |
|
|
| |
fixes issues with transparent windows on 10b
|
| |
|
|
| |
precompute it once instead of calculating it every single call, was showing
up as a lot of time wasted in profiling.
|
| |
|
|
|
| |
* render: refactor class member vars
* render: fix clang format
|
| |
|
|
|
| |
* protocols: refactor class member vars (u-z)
* protocols: fix clang format
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| |
|
|
|
|
|
|
|
| |
* cleanup eglSync
* properly release buffers in renderer
* add renderingDoneCallback and use it in screencopy
* use static constructor for CEGLSync
|
| | |
|
| | |
|
| | |
|
| | |
|
| |
|
|
|
| |
* layers: refactor class member vars
* popups: rename m_WLSurface to m_wlSurface
|
| | |
|
| | |
|
| |
|
|
|
| |
* Refactor config classes vars
* Fix clang format errors
|
| |
|
|
|
| |
* ctm: enable fade animation on nvidia driver versions 575 and above
* format if statement without braces; handle potential throw when checking for nvidia version file
|
| | |
|
| | |
|
| |
|
| |
This reverts commit 0a7e2cb152a11db35aa134fad0919bc939f16bae.
|
| | |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* make CHLBufferReference not a SP anymore
* copy over release and acquire points in CHLBufferReference
* use CHLBufferReference in screencopy and toplevel export
TODO: use CHLBufferReference in direct scanout properly
the only problem is the scanout buffer release timing,
specifically the onBackendRelease mechanism
* cleanup SSurfaceState and surface pending commit tracking
* move surface code from DRMSyncobj, and move acquire to SSurfaceState
* use queue for comitted pending surface states like proto says
"The content update is placed in a queue until it becomes active." - wl_surface::commit
* drop, not release, prev buffer if 2nd buffer wl_surface.attach is sent
"A wl_buffer that has been attached and then replaced by another attach instead of committed will not receive a release event, and is not used by the compositor." - wl_surface::attach
|
| |
|
|
|
|
| |
fixes #9717
closes #9796
|
| |
|
|
|
| |
* simplify and fix hdr metadata setting
* keep incorrect(?) cm skip till #9600
|
| | |
|
| |
|
|
|
|
|
| |
* screencopy, render: Use explicit sync for screencopy
* screencopy: Check if explicit sync is enabled
* screencopy: Don't require explicit KMS enabled
|