summaryrefslogtreecommitdiffstats
path: root/libs/surfaceflinger/LayerBase.cpp
Commit message (Collapse)AuthorAgeFilesLines
* fix [2098939] Smooth gradients show banding on SholesMathias Agopian2009-09-041-1/+2
|
* Add colorkey to gl clear operationRebecca Schultz Zavin2009-09-021-2/+9
| | | | Signed-off-by: Rebecca Schultz Zavin <rebecca@android.com>
* fix a bug that caused the PixelFormat viewed by Surface to be wrong.Mathias Agopian2009-08-191-8/+0
| | | | | what happened is that the efective pixel format is calculated by SF but Surface nevew had access to it directly. in particular this caused query(FORMAT) to return the requested format instead of the effective format.
* second take, hopefully this time it doesn't break one of the builds: ↵Mathias Agopian2009-08-111-1/+1
| | | | "SurfaceFlinger will now allocate buffers based on the usage specified by the clients. This allows to allocate the right kind of buffer automatically, without having the user to specify anything."
* Revert "SurfaceFlinger will now allocate buffers based on the usage ↵Fred Quintana2009-08-111-1/+1
| | | | | | specified by the clients. This allows to allocate the right kind of buffer automatically, without having the user to specify anything." This reverts commit 8b76a0ac6fbf07254629ed1ea86af014d5abe050.
* SurfaceFlinger will now allocate buffers based on the usage specified by the ↵Mathias Agopian2009-08-111-1/+1
| | | | | | | clients. This allows to allocate the right kind of buffer automatically, without having the user to specify anything. This change makes SurfaceHolder.setType(GPU) obsolete (it's now ignored). Added an API to android_native_window_t to allow extending the functionality without ever breaking binary compatibility. This is used to implement the new set_usage() API. This API needs to be called by software renderers because the default is to use usage flags suitable for h/w.
* NPOT EGLimage without GL_ARB_texture_non_power_of_two would be improperly ↵Mathias Agopian2009-07-301-1/+2
| | | | | | | | | | | | scalled The current gralloc allocates buffer memory for render targets that will typically have NPOT dimensions. Assuming that the vendor driver supports converting the resulting NPOT android_native_buffer_t to a NPOT EGLImage, SurfaceFlinger calls glEGLImageTargetTexture2DOES(), and uses glGetError() to test whether the GL can support creating an EGL target texture with the specified NPOT EGLImage. If it is supported, the DIRECT_TEXTURE flag remains set, otherwise it is cleared. Tangentially, if the driver advertises the GL_ARB_texture_non_power_of_two extension, the NPOT_EXTENSION flag is set, otherwise it is cleared. If the driver supported creating an EGL target texture from a NPOT source EGLImage, it implicitly creates a NPOT texture. This does not need any glScalef() texture coordinate correction in LayerBase::drawWithOpenGL(). However, the same driver may not advertise the GL_ARB_texture_non_power_of_two extension nor generally support NPOT textures that were not derived from EGLImages. So SurfaceFlinger may flag only DIRECT_TEXTURE, not NPOT_EXTENSION. Therefore, the test in LayerBase::drawWithOpenGL() should only perform the glScalef() if neither NPOT_EXTENSION or DIRECT_TEXTURE are flagged. Otherwise scaling is applied to NPOT EGL target textures when none is required.
* fix a bug causing push-buffer surfaces' identity to be garbage, which ↵Mathias Agopian2009-06-231-4/+4
| | | | resulted in some attributes (size/pos) to fail to be set
* checkpoint. bring back video/cameraMathias Agopian2009-06-231-9/+14
|
* fix a memory corruption where a SF Client could be used after it's been ↵Mathias Agopian2009-06-191-7/+11
| | | | destroyed
* new Permission class used to improve permission checks speed (by caching ↵Mathias Agopian2009-06-151-15/+8
| | | | results)
* merge master to master_glMathias Agopian2009-05-221-2/+2
|\
* | Region now has its own implementation instead of relying on SkRegion, which ↵Mathias Agopian2009-05-171-15/+21
| | | | | | | | allows us to break libui's dependency on libcorecg.
* | update surfaceflinger, libui and libagl to the new gralloc apiMathias Agopian2009-05-041-11/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | - Currently the lock/unlock path is naive and is done for each drawing operation (glDrawElements and glDrawArrays). this should be improved eventually. - factor all the lock/unlock code in SurfaceBuffer. - fixed "showupdate" so it works even when we don't have preserving eglSwapBuffers(). - improved the situation with the dirty-region and fixed a problem that caused GL apps to not update. - make use of LightRefBase() where needed, instead of duplicating its implementation - add LightRefBase::getStrongCount() - renamed EGLNativeWindowSurface.cpp to FramebufferNativeWindow.cpp - disabled copybits test, since it clashes with the new gralloc api - Camera/Video will be fixed later when we rework the overlay apis
* | get rid of an old hack to work around a bug around glDeleteTextures() in the ↵Mathias Agopian2009-04-241-2/+0
| | | | | | | | adreno drivers
* | more Surface lifetime managementMathias Agopian2009-04-241-10/+17
| | | | | | | | | | Surfaces are now destroyed once all references from the clients are gone, but they go through a partial destruction as soon as the window manager requests it. This last part is still buggy. see comments in SurfaceFlinger::destroySurface()
* | Integrate from //sandbox/mathias/donut/...@145728Mathias Agopian2009-04-101-141/+174
|/ | | | SurfaceFlinger rework for new EGL driver model support.
* auto import from //depot/cupcake/@135843The Android Open Source Project2009-03-031-0/+740
|
* auto import from //depot/cupcake/@135843The Android Open Source Project2009-03-031-740/+0
|
* auto import from //branches/cupcake/...@131421The Android Open Source Project2009-02-131-7/+10
|
* auto import from //branches/cupcake/...@130745The Android Open Source Project2009-02-101-1/+20
|
* auto import from //branches/cupcake/...@125939The Android Open Source Project2009-01-091-3/+14
|
* Code drop from //branches/cupcake/...@124589The Android Open Source Project2008-12-171-15/+22
|
* Initial ContributionThe Android Open Source Project2008-10-211-0/+700