f597ac3966405934e13a9aaa18c73211b5a40c7c |
|
08-Sep-2016 |
Eric Anholt <eric@anholt.net> |
vc4: Implement job shuffling Track rendering to each FBO independently and flush rendering only when necessary. This lets us avoid the overhead of storing and loading the frame when an application momentarily switches to rendering to some other texture in order to continue rendering the main scene. Improves glmark -b desktop:effect=shadow:windows=4 by 27% Improves glmark -b desktop:blur-radius=5:effect=blur:passes=1:separable=true:windows=4 by 17% While I haven't tested other apps, this should help X rendering a lot, and I've heard GLBenchmark needed it too.
/external/mesa3d/src/gallium/drivers/vc4/vc4_job.c
|
f473348468ae1c68e7ef8eaf29f2cc51d17fbec7 |
|
08-Sep-2016 |
Eric Anholt <eric@anholt.net> |
vc4: Handle resolve skipping at job submit time. This is done in vc4_flush currently, but I'm going to make the job always track the surfaces it might be rendering to instead of putting in the destinations at flush time.
/external/mesa3d/src/gallium/drivers/vc4/vc4_job.c
|
9688166bd9c3e12c74c55b857ad0dbb62b28da9e |
|
06-Apr-2015 |
Eric Anholt <eric@anholt.net> |
vc4: Move the render job state into a separate structure. This is a preparation step for having multiple jobs being queued up at the same time.
/external/mesa3d/src/gallium/drivers/vc4/vc4_job.c
|
c31a7f529fadc016786eedc35ce65802a915ce09 |
|
07-Sep-2016 |
Eric Anholt <eric@anholt.net> |
vc4: Always unref the current job surfaces at job reset time. Drops some tricky logic in vc4_flush() trying to update the pointers, and fixes a broken lack of unref for MSAA surfaces at context destroy time.
/external/mesa3d/src/gallium/drivers/vc4/vc4_job.c
|
774a556b6dc0d49f9f29c438349a66e69062e6e4 |
|
08-Sep-2016 |
Eric Anholt <eric@anholt.net> |
vc4: Move job-submit skip cases to vc4_job_submit(). For calling job_submit() directly, I need the skipping here.
/external/mesa3d/src/gallium/drivers/vc4/vc4_job.c
|
0ef1b32ebbcf9ad6316021a1059ba7d6a65b9588 |
|
08-Sep-2016 |
Eric Anholt <eric@anholt.net> |
vc4: Move bin CL trailer to job_submit() time. To implement job shuffling, I want to be able to call submit() on specific jobs, turning vc4_flush() into the context's flush-all-jobs hook.
/external/mesa3d/src/gallium/drivers/vc4/vc4_job.c
|
3fba517bdd03551f7c7ff21dfe1896c677cbccda |
|
26-Jan-2016 |
Eric Anholt <eric@anholt.net> |
vc4: Throttle outstanding rendering after submission. Just make sure that after we've submitted, we get to at least 5 (global) submits ago before we go on to do more. Prevents up to seconds of lag with window movement in X with xcompmgr -c. There may be useful tuning to do in the future, but for now this gets us usability. Cc: "11.0 11.1" <mesa-stable@lists.freedesktop.org> Signed-off-by: Eric Anholt <eric@anholt.net>
/external/mesa3d/src/gallium/drivers/vc4/vc4_job.c
|
2a449ce7c961f3269f9a37ddf4fe340fc170c609 |
|
26-Jan-2016 |
Eric Anholt <eric@anholt.net> |
vc4: Don't record the seqno of a failed job submit. On an error return, the returned seqno will probably be unset, so we'd lose track of what we've submitted so far for waiting on in the future. Cc: "11.0 11.1" <mesa-stable@lists.freedesktop.org> Signed-off-by: Eric Anholt <eric@anholt.net>
/external/mesa3d/src/gallium/drivers/vc4/vc4_job.c
|
f2cf2a63f1211642ca20b73ad5f23c60cc3fa703 |
|
15-Dec-2015 |
Eric Anholt <eric@anholt.net> |
vc4: Don't consider nr_samples==1 surfaces to be MSAA. This is apparently a weirdness of gallium -- nr_samples==1 is occasionally used and means the same thing as nr_samples==0. Fixes a bunch of ARB_framebuffer_srgb blit cases in piglit.
/external/mesa3d/src/gallium/drivers/vc4/vc4_job.c
|
02bcb443ee39cec1b61e5ba3e466471f3668f536 |
|
12-Dec-2015 |
Eric Anholt <eric@anholt.net> |
vc4: Warn instead of abort()ing on exec ioctl failures. It's really harsh to abort() the X Server because of a momentary failure (particularly -ENOMEM). I don't see a way to pass an -ENOMEM up the stack from here, but we can at least log to stderr before proceeding on. Cc: "11.1" <mesa-stable@lists.freedesktop.org>
/external/mesa3d/src/gallium/drivers/vc4/vc4_job.c
|
edfd4d853a0d26bc0cde811de7b20116db7e66fc |
|
22-Jun-2015 |
Eric Anholt <eric@anholt.net> |
vc4: Add support for drawing in MSAA.
/external/mesa3d/src/gallium/drivers/vc4/vc4_job.c
|
e7c8ad0a6c8ba263f29b7c3c5120bc6beabeba7b |
|
21-Jun-2015 |
Eric Anholt <eric@anholt.net> |
vc4: Add kernel RCL support for MSAA rendering.
/external/mesa3d/src/gallium/drivers/vc4/vc4_job.c
|
568d3a8e32109200cc12549d18118b7660be628b |
|
22-Jun-2015 |
Eric Anholt <eric@anholt.net> |
vc4: Rename color_ms_write to color_write. I was thinking this was the only MSAA resolve thing, so it should be noted separately, but actually load/store general also do MSAA resolve.
/external/mesa3d/src/gallium/drivers/vc4/vc4_job.c
|
7d7fbcdf4e1683d1aef19c7ee08cc222d8279672 |
|
23-Oct-2015 |
Eric Anholt <eric@anholt.net> |
vc4: Add a workaround for HW-2116 (state counter wrap fails). I haven't proven that this happens (I've got other GPU hangs in the way), but the closed driver also does this and it's documented as an errata.
/external/mesa3d/src/gallium/drivers/vc4/vc4_job.c
|
a0d3915663fb7cbd3c1a5561450e256e00ecf11b |
|
10-Jul-2015 |
Eric Anholt <eric@anholt.net> |
vc4: Make a helper function for getting the current offset in the CL. I needed to rewrite this a bit for safety checking in the next commit. Despite being a static inline of the same thing that was being done, we lose 36 bytes of code for some reason.
/external/mesa3d/src/gallium/drivers/vc4/vc4_job.c
|
ab80519b3cd08401dff2d07343064a27f32b33ca |
|
30-Jun-2015 |
Eric Anholt <eric@anholt.net> |
vc4: Add perf debug for when we wait on BOs.
/external/mesa3d/src/gallium/drivers/vc4/vc4_job.c
|
9adcd2d80aceec90b9c3712b53d8e7839dc5634b |
|
10-Jun-2015 |
Eric Anholt <eric@anholt.net> |
vc4: Move RCL generation into the kernel. There weren't that many variations of RCL generation, and this lets us skip all the in-kernel validation for what we generated.
/external/mesa3d/src/gallium/drivers/vc4/vc4_job.c
|
e214a596352e67c89ce379a1e5a060dbc1ce31e1 |
|
06-Apr-2015 |
Eric Anholt <eric@anholt.net> |
vc4: Separate out a bit of code for submitting jobs to the kernel. I want to be able to have multiple jobs being set up at the same time (for example, a render job to do a little fixup blit in the course of doing a render to the main FBO).
/external/mesa3d/src/gallium/drivers/vc4/vc4_job.c
|