aboutsummaryrefslogtreecommitdiffstats
path: root/src/gallium/drivers/panfrost/pan_blit.c
Commit message (Collapse)AuthorAgeFilesLines
* panfrost: Abort on unsupported blitAlyssa Rosenzweig2020-07-161-10/+2
| | | | | | | Instead of silently failing. Signed-off-by: Alyssa Rosenzweig <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5858>
* panfrost: Call util_blitter_save_fragment_constant_buffer_slotAlyssa Rosenzweig2020-07-161-0/+2
| | | | | Signed-off-by: Alyssa Rosenzweig <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5858>
* panfrost: Move debug flags into the deviceAlyssa Rosenzweig2020-07-091-3/+7
| | | | | | | | | Removes random global state flying about which doesn't really work for common code. We cleanup some debug messages while we're at it because the mostly-unused DBG macro relies on magic state. Signed-off-by: Alyssa Rosenzweig <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5794>
* panfrost: Save sample_mask before blittingAlyssa Rosenzweig2020-07-071-3/+1
| | | | | Signed-off-by: Alyssa Rosenzweig <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5782>
* panfrost: Use DBG macro to avoid noise in the consoleTomeu Vizoso2020-01-311-3/+2
| | | | | | | | | | It pollutes the output of programs that use Panfrost and can confuse its callers, such as test runners. Signed-off-by: Tomeu Vizoso <[email protected]> Reviewed-by: Alyssa Rosenzweig <[email protected]> Tested-by: Marge Bot <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/3625> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/3625>
* panfrost: Fix gnu-empty-initializer build errors.Vinson Lee2019-11-281-1/+1
| | | | | | Fixes: a24d6fbae60c ("meson: Add -Werror=gnu-empty-initializer to MSVC compat args") Signed-off-by: Vinson Lee <[email protected]> Reviewed-by: Alyssa Rosenzweig <[email protected]>
* util: Move gallium's PIPE_FORMAT utils to /util/format/Eric Anholt2019-11-141-1/+1
| | | | | | | | | | | | | | | To make PIPE_FORMATs usable from non-gallium parts of Mesa, I want to move their helpers out of gallium. Since u_format used util_copy_rect(), I moved that in there, too. I've put it in a separate directory in util/ because it's a big chunk of related code, and it's not clear to me whether we might want it as a separate library from libmesa_util at some point. Closes: #1905 Acked-by: Marek Olšák <[email protected]> Reviewed-by: Kristian H. Kristensen <[email protected]> Reviewed-by: Alyssa Rosenzweig <[email protected]>
* panfrost: Use ctx->wallpaper_batch in panfrost_blit_wallpaper()Boris Brezillon2019-09-131-4/+5
| | | | | | | | | | We'll soon be able to flush a batch that's not currently bound to the context, which means ctx->pipe_framebuffer will not necessarily be the FBO targeted by the wallpaper draw. Let's prepare for this case and use ctx->wallpaper_batch in panfrost_blit_wallpaper(). Signed-off-by: Boris Brezillon <[email protected]> Reviewed-by: Alyssa Rosenzweig <[email protected]>
* panfrost: Add support for KHR_partial_update()Boris Brezillon2019-08-131-5/+5
| | | | | | | | | | | | | | | | Implement ->set_damage_region() region to support partial updates. This is a dummy implementation in that it does not try to merge damage rects. It also does not deal with distinct regions and instead pick the largest quad as the only damage rect and generate up to 4 reload rects out of it (the left/right/top/bottom regions surrounding the biggest damage rect). We also do not try to reduce the number of draws by passing all quad vertices to the blit request (would require extending u_blitter) Signed-off-by: Boris Brezillon <[email protected]> Reviewed-by: Alyssa Rosenzweig <[email protected]>
* panfrost: Unify ctx->vs and ctx->fsAlyssa Rosenzweig2019-08-011-2/+2
| | | | | | | It's a little verbose, but this way we can support other shader stages without too much contortion. Signed-off-by: Alyssa Rosenzweig <[email protected]>
* panfrost: Style main Gallium driverAlyssa Rosenzweig2019-07-101-25/+25
| | | | | | $ astyle *.c *.h --style=linux -s8 Signed-off-by: Alyssa Rosenzweig <[email protected]>
* panfrost: Update copyright identifiersAlyssa Rosenzweig2019-06-261-1/+1
| | | | | | | "Collabora, Ltd." should be listed in lieu of simply "Collabora" Signed-off-by: Alyssa Rosenzweig <[email protected]> Suggested-by: Daniel Stone <[email protected]>
* panfrost: Use pipe_surface->format directly in blitterAlyssa Rosenzweig2019-06-251-1/+1
| | | | Signed-off-by: Alyssa Rosenzweig <[email protected]>
* panfrost: Respect mip level when wallpaperingAlyssa Rosenzweig2019-06-251-1/+7
| | | | | | | Fixes DATA_INVALID_FAULT raised when wallpapering while rendering to a mipmap. Signed-off-by: Alyssa Rosenzweig <[email protected]>
* panfrost: Use dedicated u_blitter context for wallpapersAlyssa Rosenzweig2019-06-251-19/+21
| | | | | | | | | | The main ctx->blitter instance should be reserved for blits originated from Gallium (like mipmap generation). Since wallpapering is conceptually different -- wallpaper blits can be triggered by Gallium blits -- the blitter pipes must be separate to avoid potential u_blitter recursion. Signed-off-by: Alyssa Rosenzweig <[email protected]>
* panfrost: Enable blittingAlyssa Rosenzweig2019-06-251-4/+0
| | | | | | | Now that all the prerequisites breaking u_blitter are fixed, we can finally hook up panfrost_blit. Signed-off-by: Alyssa Rosenzweig <[email protected]>
* panfrost: Allow texelFetch for wallpaper blitsAlyssa Rosenzweig2019-06-251-3/+1
| | | | | | We just implemented the routine; we may as well use it. Signed-off-by: Alyssa Rosenzweig <[email protected]>
* panfrost: Refactor blitting codeAlyssa Rosenzweig2019-06-101-0/+133
We refactor the wallpaper rendering code to separate the wallpaper-specific bits from the general blitting capabilities. In the (hopefully near) future, we'll turn this on to implement real Gallium blits, e.g. for automatic mipmap generation. Signed-off-by: Alyssa Rosenzweig <[email protected]>