ebf33e577aee00cf888c79e11a3b62c181b46510 |
|
04-Jan-2017 |
Eric Anholt <eric@anholt.net> |
vc4: Flush the job early if we're referencing too many BOs. If we get up toward 256MB (or whatever the CMA area size is), VC4_GEM_CREATE will start throwing errors. Even if we don't trigger that, when we flush the kernel's BO allocation for the CLs or bin memory may end up throwing an error, at which point our job won't get rendered at all. Just flush early (half of maximum CMA size) so that hopefully we never get to that point.
/external/mesa3d/src/gallium/drivers/vc4/vc4_cl.c
|
52d2b28f7f107fbaff023533a15058055fa73bf0 |
|
07-Oct-2016 |
Marek Olšák <marek.olsak@amd.com> |
ralloc: use rzalloc where it's necessary No change in behavior. ralloc_size is equivalent to rzalloc_size. That will change though. Calls not switched to rzalloc_size: - ralloc_vasprintf - glsl_type::name allocation (it's filled with snprintf) - C++ classes where valgrind didn't show uninitialized values I switched most of non-glsl stuff to rzalloc without checking whether it's really needed. Reviewed-by: Edward O'Callaghan <funfunctor@folklore1984.net> Tested-by: Edmondo Tommasina <edmondo.tommasina@gmail.com> Reviewed-by: Nicolai Hähnle <nicolai.haehnle@amd.com>
/external/mesa3d/src/gallium/drivers/vc4/vc4_cl.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_cl.c
|
7432017f65174e82a3de7afef3e4e6f60932356c |
|
10-Jul-2015 |
Eric Anholt <eric@anholt.net> |
vc4: Rework cl handling to be friendlier to the compiler. Drops 680 bytes of code, from avoiding a bunch of extra updates to the next pointer in the struct.
/external/mesa3d/src/gallium/drivers/vc4/vc4_cl.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_cl.c
|
229bf4475ff0a5dbeb9bc95250f7a40a983c2e28 |
|
22-Dec-2014 |
Eric Anholt <eric@anholt.net> |
vc4: Optimize CL emits by doing size checks up front. The optimizer obviously doesn't have the ability to rewrite these to skip the size checks per call, so we have to do it manually. Improves a norast benchmark on simulation by 0.779706% +/- 0.405838% (n=6087).
/external/mesa3d/src/gallium/drivers/vc4/vc4_cl.c
|
667719fcb2296d73e1897d4071da6dd30b2cc6ac |
|
15-Dec-2014 |
Eric Anholt <eric@anholt.net> |
vc4: Fix leaks of the CL contents.
/external/mesa3d/src/gallium/drivers/vc4/vc4_cl.c
|
027d730aff4abf89f8c01049d245c670c6740a26 |
|
31-Jul-2014 |
Eric Anholt <eric@anholt.net> |
vc4: Keep a reference to BOs queued for rendering. Otherwise, once we're not flushing at the end of every draw, we'll free things like gallium resources, and free the backing GEM object, before we've flushed the rendering using it to the kernel.
/external/mesa3d/src/gallium/drivers/vc4/vc4_cl.c
|
a3cd3c0d198374647df3db83198e8ce0cddcb6b7 |
|
18-Jul-2014 |
Eric Anholt <eric@anholt.net> |
vc4: Switch simulator to using kernel validator This ensures that when I'm using the simulator, I get a closer match to what behavior on real hardware will be. It lets me rapidly iterate on the kernel validation code (which otherwise has a several-minute turnaround time), and helps catch buffer overflow bugs in the userspace driver faster.
/external/mesa3d/src/gallium/drivers/vc4/vc4_cl.c
|
1850d0a1cbf044dc4d29b7a9ede2c634f667d853 |
|
19-Jun-2014 |
Eric Anholt <eric@anholt.net> |
vc4: Initial skeleton driver import. This mostly just takes every draw call and turns it into a sequence of commands that clear the FBO and draw a single shaded triangle to it, regardless of the actual input vertices or shaders. I copied the initial driver skeleton mostly from freedreno, and I've preserved Rob Clark's copyright for those. I also based my initial hardcoded shaders and command lists on Scott Mansell (phire)'s "hackdriver" project, though the bit patterns of the shaders emitted end up being different. v2: Rebase on gallium megadrivers changes. v3: Rebase on PIPE_SHADER_CAP_MAX_CONSTS change. v4: Rely on simpenrose actually being installed when building for simulation. v5: Add more header duplicate-include guards. v6: Apply Emil's review (protection against vc4 sim and ilo at the same time, and dropping the dricommon drm bits) and fix a copyright header (thanks, Roland)
/external/mesa3d/src/gallium/drivers/vc4/vc4_cl.c
|