- Jul 19, 2017
-
-
Experiemental NEON implementation of tiling/untiling that adds specialized NEON function for tiling 8, 16, 32 bit per element 4x4 tiles. To optimize memory read/write sizes, there are functions that process multiple horizontically adjactent tiles as well. These are automatically used for the part that consists of whole tiles. To make this work, Mesa needs to be compiled with CFLAGS -mfpu=neon, otherwise a compile error will be thrown. Signed-off-by:
Wladimir J. van der Laan <laanwj@gmail.com>
-
- Jul 12, 2017
-
-
Despite being a member of the etna_screen struct, 'refcnt' is used by the winsys-specific logic to track the reference count of the object managed in a hash table. When the count reaches zero, the pipe screen is removed from the table and destroyed. Fix the logic by initializing the refcnt to 1 when screen created. This initialization is done in etna_screen_create(), to follow the same logic as in freedreno and virgl. Signed-off-by:
Aleksander Morgado <aleksander@aleksander.es>
-
The 'opencl_func_mutex' is destroyed in dri_destroy_screen_helper() unconditionally, so make sure it is always initialized to avoid any undefined behaviour. Signed-off-by:
Aleksander Morgado <aleksander@aleksander.es>
-
The check for the pointer being non-NULL was being done too late. Signed-off-by:
Aleksander Morgado <aleksander@aleksander.es>
-
Robert Foss authored
Signed-off-by:
Robert Foss <robert.foss@collabora.com>
-
Robert Foss authored
Add support for buffer object modifiers to the Android platform. Signed-off-by:
Robert Foss <robert.foss@collabora.com>
-
Robert Foss authored
Signed-off-by:
Robert Foss <robert.foss@collabora.com>
-
Robert Foss authored
Signed-off-by:
Robert Foss <robert.foss@collabora.com>
-
Robert Foss authored
This addition fixes broken local copies of the definitions gbm_gralloc structs. Signed-off-by:
Robert Foss <robert.foss@collabora.com>
-
gralloc_drm_get_gem_handle has been removed from AOSP drm_gralloc. Remove the dependency on it and just access the struct gralloc_drm_handle_t directly. Maybe there's a better way than accessing the gralloc private data. Signed-off-by:
Rob Herring <robh@kernel.org> Signed-off-by:
Robert Foss <robert.foss@collabora.com>
-
-
-
-
-
-
-
-
Signed-off-by:
Rob Herring <robh@kernel.org>
-
-
Redirect logs printed to stderr to logcat. NO_REF_TASK Tested: local run Change-Id: I58e3966a608af361b86c54b4c95a92561b711968 Signed-off-by:
Chih-Wei Huang <cwhuang@linux.org.tw>
-
This is required by freedreno at least for GLES3 support. See docs/patents.txt for information about turning this on for s/w renderers. Signed-off-by:
Rob Herring <robh@kernel.org>
-
Add support for 32-bit RGBX/RGBA formats which are preferred for Android. Note: This is reverted in mesa as it breaks X11. Signed-off-by:
Rob Herring <robh@kernel.org> Reviewed-by:
Marek Olšák <marek.olsak@amd.com> Reviewed-by:
Eric Anholt <eric@anholt.net>
-
Make the code at least compile when being built without drm_gralloc headers. v2: Replaced #ifdefs with stubs for gralloc_drm_get_gem_handle() and GRALLOC_MODULE_PERFORM_GET_DRM_FD. Removed explicit render node probing code. Signed-off-by:
Tomasz Figa <tfiga@chromium.org> Signed-off-by:
Rob Herring <robh@kernel.org>
-
Push this format to the pipe driver unchanged. Signed-off-by:
Lucas Stach <l.stach@pengutronix.de> (cherry picked from commit 667554dc)
-
-
- Jul 10, 2017
-
-
For resources that need fast CPU access it is beneficial to keep a shadow copy in cached memory. We don't switch the BO to cached, as benchmarks have shown that the needed cache maintenance on cached BOs is marginally slower than the current unoptimized tile upload. With some more optimizations to the upload path, the performance advantage of the copy will likely be even bigger. Currently this is only done for sampler resources, so we don't have to deal with buffer content changed by the GPU, which would require even more seqno tracking. Signed-off-by:
Lucas Stach <l.stach@pengutronix.de>
-
This allows the pipe driver to optimize the resource allocation by providing accurate binding and expected CPU access pattern. Signed-off-by:
Lucas Stach <l.stach@pengutronix.de>
-
So the DRI driver can optimize the buffer allocation. Signed-off-by:
Lucas Stach <l.stach@pengutronix.de>
-
For now all DRI images implicitly assume both render and texture usage, as well as no (or slow) CPU access. Creating DRI images is the only way for GBM to allocate buffers. With gbm_gralloc the usage of the buffer might be something wildly different from the current default, so DRI image need to grow some flags to describe those. Signed-off-by:
Lucas Stach <l.stach@pengutronix.de>
-
With the advent of gbm_gralloc, GBM buffers aren't exclusively used as render/scanout/cursor BOs anymore. The current flags are insufficient to describe the real usage, so add some flags to capture gralloc use-cases. Signed-off-by:
Lucas Stach <l.stach@pengutronix.de>
-
Simply advertise all supported modifiers, independent of the format. Special formats, like compressed, which don't support all those modifiers are already culled from the dmabuf format list, as we don't support the render target binding for them. Signed-off-by:
Lucas Stach <l.stach@pengutronix.de> --- v2: don't advertise split tiled formats on single pipe/buffer GPUs
-
This allows to create buffers with a specific tiling layout, which is primarily used by GBM to allocate the EGL back buffers with the correct tiling/modifier for use with the scanout engines. Signed-off-by:
Lucas Stach <l.stach@pengutronix.de>
-
This allows the state trackers to know the tiling layout of the resource and pass this through the various userspace protocols. Signed-off-by:
Lucas Stach <l.stach@pengutronix.de> Reviewed-by:
Wladimir J. van der Laan <laanwj@gmail.com>
-
There is no point in keeping this indirection. Makes the code easier to follow. Signed-off-by:
Lucas Stach <l.stach@pengutronix.de> Reviewed-by: Wladimir J. van der Laan <laanwj@gmail.com> (v1)
-
This implements resource import with modifier, deriving the correct internal layout from the modifier and constructing a render compatible base resource if needed. This removes the special cases for DDX and renderonly scanout allocated buffers, as the linear modifier is enough to trigger correct handling of those buffers. Signed-off-by:
Lucas Stach <l.stach@pengutronix.de> Reviewed-by:
Wladimir J. van der Laan <laanwj@gmail.com>
-
This reworks the logic in etna_update_sampler_source to select the newest resource view for updating the texture view. This should make the logic easier to follow and fixes texture updates from imported dma-bufs. Signed-off-by:
Lucas Stach <l.stach@pengutronix.de> Reviewed-by:
Wladimir J. van der Laan <laanwj@gmail.com>
-
If we import a dma-buf with a sampler/pixel pipe incompatible modifier, the imported buffer will end up in an external resource view. As resource_changed signals the change of the imported resource, we need to update the external view seqno, instead of the base resource seqno. Signed-off-by:
Lucas Stach <l.stach@pengutronix.de> Reviewed-by:
Wladimir J. van der Laan <laanwj@gmail.com>
-
This fixes failures to import the scanout buffer with screen resolutions that don't satisfy the RS alignment restrictions, like 1680x1050. Signed-off-by:
Lucas Stach <l.stach@pengutronix.de> Reviewed-by:
Christian Gmeiner <christian.gmeiner@gmail.com> Reviewed-by:
Philipp Zabel <p.zabel@pengutronix.de> Reviewed-by:
Wladimir J. van der Laan <laanwj@gmail.com>
-
The minimum RS alignment calculation is needed in various places. Extract a helper to avoid open-coding the calcuation at every site. Signed-off-by:
Lucas Stach <l.stach@pengutronix.de>
-
The current way of importing the resource from renderonly after allocation is opaque and is taking away control from the driver, which it needs in order to implement more advanced scenarios, than the simple linear scanout with matching stride alignments. Signed-off-by:
Lucas Stach <l.stach@pengutronix.de>
-