- 18 Nov, 2020 1 commit
-
-
Marek Olšák authored
This removes some overhead from tc_draw_vbo and increases the maximum number of draws per batch from 153 to 192 in u_threaded_context. Reviewed-by:
Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com> Part-of: <!7441>
-
- 10 Nov, 2020 3 commits
-
-
Rob Clark authored
Add a lock to synchronize batch flush (which can be triggered from a different ctx) with cmdstream emit. Signed-off-by:
Rob Clark <robdclark@chromium.org> Part-of: <!7342>
-
Rob Clark authored
This protects better against another context triggering a batch flush and unref while the first context is doing resource tracking. Signed-off-by:
Rob Clark <robdclark@chromium.org> Part-of: <!7342>
-
Rob Clark authored
debug_printf() isn't terribly great in multi-threaded situations.. but since we now have a simple util/log.h, which even plays nicely with logcat on android, lets use that instead. Signed-off-by:
Rob Clark <robdclark@chromium.org> Part-of: <!7342>
-
- 10 Sep, 2020 1 commit
-
-
Rob Clark authored
Otherwise we bypass all the resource-usage tacking. Signed-off-by:
Rob Clark <robdclark@chromium.org> Part-of: <!6649>
-
- 25 Jun, 2020 4 commits
-
-
Rob Clark authored
In rare cases, we can get into situations where the tracking of read/ written resources triggers a flush of the current batch. To handle that, (1) take a reference to the current batch, so it doesn't disappear under us, and (2) check after resource tracking whether the current batch was flushed. If it is, we have to re-do the resource tracking, but since we have a fresh batch, it should not get flushed the second time around. Closes: #3160Signed-off-by:
Rob Clark <robdclark@chromium.org> Part-of: <!5634>
-
Rob Clark authored
Signed-off-by:
Rob Clark <robdclark@chromium.org> Part-of: <!5634>
-
Rob Clark authored
Signed-off-by:
Rob Clark <robdclark@chromium.org> Part-of: <!5634>
-
Rob Clark authored
Signed-off-by:
Rob Clark <robdclark@chromium.org> Part-of: <!5634>
-
- 26 May, 2020 1 commit
-
-
Rob Clark authored
The resource tracking in the clear/draw_vbo/blit paths could itself trigger a flush. Which would update last_fence. So we need to clear last_fence *after* all the dependency tracking. Fixes: ddb7fada ("freedreno: avoid no-op flushes by re-using last-fence") Closes: #2992Signed-off-by:
Rob Clark <robdclark@chromium.org> Part-of: <!5188>
-
- 12 May, 2020 1 commit
-
-
Eric Anholt authored
This is for an optimization I plan in a following commit. I found I had to add likely()s to avoid a perf regression from branch prediction. On the drawoverhead 8 UBOs test, the HW can't quite keep up with the CPU, but if I set nohw then this change is 1.32023% +/- 0.373053% (n=10). Part-of: <!4996>
-
- 29 Apr, 2020 3 commits
-
-
Rob Clark authored
This will make it easier to swap out to simple_mtx_t Signed-off-by:
Rob Clark <robdclark@chromium.org> Reviewed-by:
Eric Anholt <eric@anholt.net> Part-of: <!4810>
-
Mike Blumenkrantz authored
this adds a new pipe cap that drivers can support which enables passing buffer clears with scissor test enabled through to be handled by the driver instead of having mesa draw a quad also adjust all existing clear() hooks to have the new parameter Reviewed-by:
Marek Olšák <marek.olsak@amd.com> Reviewed-by:
Vasily Khoruzhick <anarsoul@gmail.com> Reviewed-by:
Kristian H. Kristensen <hoegsberg@google.com> Reviewed-by:
Kenneth Graunke <kenneth@whitecape.org> Part-of: <!4310>
-
Rob Clark authored
Signed-off-by:
Rob Clark <robdclark@chromium.org> Part-of: <!4744>
-
- 30 Mar, 2020 1 commit
-
-
Eric Anholt authored
It's about the special case of an overwrite of a level meaning we can discard old batch contents. Part-of: <!4356>
-
- 25 Mar, 2020 1 commit
-
-
Christian Gmeiner authored
Signed-off-by:
Christian Gmeiner <christian.gmeiner@gmail.com> Reviewed-by:
Rob Clark <robdclark@chromium.org> Tested-by: Marge Bot <!1963> Part-of: <!1963>
-
- 29 Jan, 2020 1 commit
-
-
Rob Clark authored
Signed-off-by:
Rob Clark <robdclark@chromium.org> Tested-by: Marge Bot <!3503> Part-of: <!3503>
-
- 14 Dec, 2019 1 commit
-
-
Erico Nunes authored
At least on Mali Utgard, index buffers need to be aligned on 0x40. To avoid duplicating this, add an alignment parameter. Keep the previous default for the other existing users. Signed-off-by:
Erico Nunes <nunes.erico@gmail.com> Reviewed-by:
Eric Anholt <eric@anholt.net> Part-of: <!2445>
-
- 14 Nov, 2019 1 commit
-
-
Eric Anholt authored
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: #1905Acked-by:
Marek Olšák <marek.olsak@amd.com> Reviewed-by:
Kristian H. Kristensen <hoegsberg@google.com> Reviewed-by:
Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
-
- 08 Nov, 2019 1 commit
-
-
Kristian H. Kristensen authored
The gallium helper doesn't like patches and we can't determine how many primitives it gets tessellated into anyway. On gens where we have tessellation, we get the prim count from a HW counter so just skip counting on the CPU. Signed-off-by:
Kristian H. Kristensen <hoegsberg@google.com> Acked-by:
Eric Anholt <eric@anholt.net> Reviewed-by:
Rob Clark <robdclark@gmail.com>
-
- 02 Aug, 2019 1 commit
-
-
Rob Clark authored
The pscreen param was just there to satisfy pipe_screen::fence_reference But some of the internal uses passed NULL for screen. Which is a bit ugly. Instead drop the param and add a shim function to plug into the screen. Signed-off-by:
Rob Clark <robdclark@chromium.org> Reviewed-by:
Eric Anholt <eric@anholt.net>
-
- 26 Jun, 2019 1 commit
-
-
Rob Clark authored
The `force` arg has been unused for a while.. but apparently I forgot to garbage collect it. Signed-off-by:
Rob Clark <robdclark@chromium.org>
-
- 04 Jun, 2019 1 commit
-
-
Eric Anholt authored
We do support TF now, so it's no longer valid. Besides, if we want this optimization, we should probably have mesa/st doing it right for everyone. Reviewed-by:
Rob Clark <robdclark@gmail.com>
-
- 11 Feb, 2019 1 commit
-
-
Kristian H. Kristensen authored
Reviewed-by:
Rob Clark <robdclark@gmail.com> Signed-off-by:
Kristian H. Kristensen <hoegsberg@chromium.org>
-
- 29 Jan, 2019 2 commits
-
-
Jonathan Marek authored
This batch->cleared value is only used to decide to use sysmem rendering or not, so it should include any buffers that are affected by a clear. This is required because the a2xx fast clear doesn't work with sysmem rendering. The a22x "normal" clear path doesn't work with sysmem either. Signed-off-by:
Jonathan Marek <jonathan@marek.ca>
-
Jonathan Marek authored
Set dirty bits on invalidate to trigger invalidate logic in fd_draw_vbo. Also, resource_written for color needs to be after the invalidate logic. Signed-off-by:
Jonathan Marek <jonathan@marek.ca>
-
- 03 Jan, 2019 1 commit
-
-
Rob Clark authored
For multi-pass rendering, it is common to keep the same depth buffer from previous pass, to discard geometry that would be hidden by later draws. In the later passes with depth-test enabled, but depth-write disabled, there is no reason to do gmem2mem resolve. TODO probably do something similar for stencil.. although stencil buffer isn't used as commonly these days Signed-off-by:
Rob Clark <robdclark@gmail.com>
-
- 27 Nov, 2018 1 commit
-
-
Jonathan Marek authored
Signed-off-by:
Jonathan Marek <jonathan@marek.ca> Signed-off-by:
Rob Clark <robdclark@gmail.com>
-
- 28 Oct, 2018 2 commits
-
-
Rob Clark authored
ZSA state can change whether depth or stencil is enabled This plus previous patch fix stk, and various things w/ FD_MESA_DEBUG=inorder Fixes: ec717fc6 freedreno: reduce resource dependency tracking overhead Signed-off-by:
Rob Clark <robdclark@gmail.com>
-
Rob Clark authored
The problem isn't directly with ec717fc6 but rather that commit exposes the problem. When we switch batch we cannot assume previous state is clean so we should mark all state dirty. Fixes: ec717fc6 freedreno: reduce resource dependency tracking overhead Signed-off-by:
Rob Clark <robdclark@gmail.com>
-
- 26 Oct, 2018 1 commit
-
-
Rob Clark authored
Noticed that with webgl (in chromium, at least) we end up generating a lot of no-op submits just to get a fence. Tracking the last fence and returning that if there is no rendering since last flush avoids this. Signed-off-by:
Rob Clark <robdclark@gmail.com>
-
- 17 Oct, 2018 3 commits
-
-
Rob Clark authored
Signed-off-by:
Rob Clark <robdclark@gmail.com>
-
Neil Roberts authored
These are not necessary because the corresponding settings are set via the .dir-locals.el file anyway. Most of them were missing a ‘:’ after “tab-width” which was making Emacs display an annoying warning whenever you open the file. This patch was made with: sed -ri '/-\*- mode:/,/^$/d' \ $(find src/gallium/{drivers,winsys} -name \*.\[ch\] \ -exec grep -l -- '-\*- mode:' {} \+) Signed-off-by:
Rob Clark <robdclark@gmail.com>
-
Hyunjun Ko authored
Needs to allocate batches from the cache so that it could get a valid index and make resource dependancy tracking right. In addition this fixes assertion on debug build since the commit 1a40faa8 landed. Signed-off-by:
Rob Clark <robdclark@gmail.com>
-
- 27 Sep, 2018 4 commits
-
-
Hyunjun Ko authored
-
Rob Clark authored
Do a better job of skipping mem2gmem/gmem2mem.. Signed-off-by:
Rob Clark <robdclark@gmail.com>
-
Rob Clark authored
This is defined to always clear the entire surface(s) specified, regardless of scissor state.. mesa/st will turn scissored clears into a draw. So rip about a bunch of unnecessary machinery. Also remove a comment that was obsolete since using u_blitter to turn clear into draw (for the cases where there isn't a hw blitter fast-path). Signed-off-by:
Rob Clark <robdclark@gmail.com>
-
Rob Clark authored
The logic to force a flush every draw was short-circuited with newer kernels. Also it should apply to clears as well. Signed-off-by:
Rob Clark <robdclark@gmail.com>
-
- 07 Sep, 2018 1 commit
-
-
Rob Clark authored
Fixes: daa19363 gallium: split depth_clip into depth_clip_near & depth_clip_far Signed-off-by:
Rob Clark <robdclark@gmail.com>
-
- 05 Sep, 2018 1 commit
-
-
Rob Clark authored
For cases in which (after the following commit) ctx->batch may be null. Prep work for following commit. Signed-off-by:
Rob Clark <robdclark@gmail.com>
-