summaryrefslogtreecommitdiff
path: root/lib/intel_batchbuffer.c
AgeCommit message (Collapse)Author
2014-12-04lib: Add GPGPU fillZhenyu Wang
This is to add fill operation using GPGPU pipeline which is similar to current media fill. This can be used to simply verify GPGPU pipeline and help to enable it on newer HW, currently it works on Gen7 only and will add support on later platform. Now this sets very simply thread group dispatch for one thread per thread group on SIMD16 dispatch. So the fill shader just uses thread group ID for buffer offset. v2: No new fill func typedef but adapt to igt_fillfunc_t. Signed-off-by: Zhenyu Wang <zhenyuw@linux.intel.com>
2014-12-04lib: rename igt_media_fillfunc_t typedef to igt_fillfunc_tZhenyu Wang
This makes fill function more general to prepare for other fill method using GPGPU pipeline. Signed-off-by: Zhenyu Wang <zhenyuw@linux.intel.com>
2014-11-25lib: fix symbol names in documentation commentsThomas Wood
Signed-off-by: Thomas Wood <thomas.wood@intel.com>
2014-09-30lib/skl: Return the render copy and media fill functionsXiang, Haihao
Signed-off-by: Xiang, Haihao <haihao.xiang@intel.com> [Ben: Reordered if tree] Signed-off-by: Ben Widawsky <benjamin.widawsky@linux.intel.com> Signed-off-by: Damien Lespiau <damien.lespiau@intel.com>
2014-09-09igt/gem_ppgtt: Create secondary contexts and mmChris Wilson
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2014-09-09test: Exercise full ppgtt switching between multiple fdChris Wilson
Load up both rings with lots of fighting between multiple contexts. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2014-08-30batch: Specify number of relocations to accommodateChris Wilson
Since relocations are variable size, depending upon generation, it is easier to handle the resizing of the batch request inside the BEGIN_BATCH macro. This still leaves us with having to resize commands in a few places - which still need adaption for gen8+. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2014-08-29Prepare for 64bit relocation addressesChris Wilson
This reveal that quite a few locations were writing relocation offsets but only allowing for 32 bit addresses. To reveal such places in active tests, we also now double check that we do not use more batch space than declared. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2014-08-29lib/batchbuffer: Guard intel_blt_copy with even more assertsChris Wilson
Assert that the source/destination bounds are within the pitch and size of the associated bo. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2014-08-29lib/batchbuffer: Store the gen in a local variableChris Wilson
Reduce lookups and improve code clarity. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2014-08-26lib: Use igt macros moreDaniel Vetter
Stragglers. Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
2014-08-06lib/chv: CHV media pipeline command sequenceSean V Kelley
Enable gem_media_fill test for CHV platform. In addition to differences in media IP blocks from Broadwell, the command sequence also differs for programming the media pipeline, e.g., should not send a MEDIA_STATE_FLUSH right before the MI_BATCH_BUFFER_END of batch buffers using MEDIA_OBJECT. Uses explicit IS_BROADWELL / IS_CHERRYVIEW to distinguish in gen8 media fill handling. Signed-off-by: Sean V Kelley <sean.v.kelley@intel.com> Reviewed-by: Xiang, Haihao <haihao.xiang@intel.com> Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
2014-03-26lib/igt_kms/bf: doc skeletonDaniel Vetter
igt_kms docs are just skeleton and also added igt_fb to make sure the linking works correctly. Next up: Actually documenting igt_fb. Also fix that depency spelling fumble I've copied around to a few too many places. Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
2014-03-23lib/intel_batchbuffer: document header dependenciesDaniel Vetter
At least with the core library headers the situation is now fairly sane. There's still fun stuff going on around *_reg.h and most of the source files just have a cargo-culted list of headers ... Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
2014-03-23lib: Use @include tag for include filesDaniel Vetter
Occasionally useful to read documentation ... Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
2014-03-22lib: add #include "foo.h" lines like in manpagesDaniel Vetter
Should help in alleviating the header mess we have atm. Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
2014-03-22lib/intel_batchbuffer: api documentation for render copy/media fillDaniel Vetter
Also fix a fumble in the documentation for intel_blt_copy. One thing we might want to do is unify the parameter ordering here a bit ... Again gtkdoc fails to pick up the documentation for struct igt_buf :( Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
2014-03-22lib/intel_batchbuffer: igt_ prefix for rendercopy/mediafill funcsDaniel Vetter
Now everything is prepared to pour some neat api docs over this all. Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
2014-03-22lib/intel_batchbuffer: igt_ namespace for the buffer structureDaniel Vetter
Step one to properly namespace the rendercpy/mediafill functions. Als give the buf_height/width helpers a proper igt_ prefix. Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
2014-03-22lib/intel_batchbuffer: un-inline buf_height/widthDaniel Vetter
gtkdoc won't pick them up otherwise. Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
2014-03-22lib: make media_fill.h an internal headerDaniel Vetter
Same deal as with rendercopy.h. Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
2014-03-22lib: make rendercopy.h an internal headerDaniel Vetter
And move the public interfaces into intel_batchbuffer.[hc]. A bit messy since we are fairly inconsistent with our header #include handling. Also exclude rendercopy.h from the documentation. Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
2014-03-13lib: switch intel_copy_bo to directly take a sizeDaniel Vetter
Instead of a width/height combination. Since I've been lazy with the math this now only accepts page-aligned copy operations, but that's all we need really. Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
2014-03-13lib: api docs for intel_batchbufferDaniel Vetter
- I didn't bother to document the BLIT batch header macros - I'm not too happy with them and they're fairly obscure. - intel_copy_bo could use some interface love, added a FIXME comment for now. Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
2013-12-06lib: Clean the batch buffer store after resetXiang, Haihao
Otherwise the stale data in the buffer Reviewed-by: Kenneth Graunke <kenneth@whitecape.org> Signed-off-by: Xiang, Haihao <haihao.xiang@intel.com> Signed-off-by: Damien Lespiau <damien.lespiau@intel.com>
2013-11-14tests/gem_cs_prefetch: Fix bdw damageDaniel Vetter
v2: Fix more. Cc: Ben Widawsky <ben@bwidawsk.net> Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
2013-11-06bdw: Update obvious missing blit supportBen Widawsky
This provides a macro that allows us to update all the arbitrary blit commands we have stuck throughout the code. It assumes we don't actually use 64b relocs (which is currently true). This also allows us to easily find all the areas we need to update later when we really use the upper dword. This block was done mostly with a sed job, and represents the easier in test blit implementations. v2 by Oscar: s/OUT_BATCH/BEGIN_BATCH in BLIT_COPY_BATCH_START CC: Chris Wilson <chris@chris-wilson.co.uk> Signed-off-by: Ben Widawsky <ben@bwidawsk.net> Signed-off-by: Oscar Mateo <oscar.mateo@intel.com>
2013-09-04lib: fix the fix for gen5 workaround emmisionImre Deak
Fix the regression introduced in commit bfbe813f8fb587017c4e1d73c51395c2837eb395 Author: Daniel Vetter <daniel.vetter@ffwll.ch> Date: Tue May 29 22:14:06 2012 +0200 lib: fix gen5 workaround emission Signed-off-by: Imre Deak <imre.deak@intel.com>
2013-09-04lib/intel_batchbuffer: remove code w/o effectImre Deak
Introduced when refactoring the patch in commit c1ee0bb53269ded7b79966d081518d689639bac7 Author: Imre Deak <imre.deak@intel.com> Date: Mon Jul 29 16:43:31 2013 +0300 intel_batchbuffer: add support for non-32bit blt copies No functional change. Signed-off-by: Imre Deak <imre.deak@intel.com>
2013-07-29intel_batchbuffer: add support for non-32bit blt copiesImre Deak
Needed by an upcoming patch fixing kms_render's blits for fbs that have other than 32bpp formats. Based on the corresponding SNA function. v2: - fix random ordering of src, dst parameters (Chris) - pass pitch in bytes rather than pixels (Chris) Signed-off-by: Imre Deak <imre.deak@intel.com>
2013-07-18lib: Remove old dead code intel_batchbuffer_emit_mi_flush()Damien Lespiau
Signed-off-by: Damien Lespiau <damien.lespiau@intel.com>
2012-07-23shut up the compiler a bitDaniel Vetter
Signed-Off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
2012-06-29context: libdrm wrappersBen Widawsky
This wraps libdrm functionality to exec with contexts. This patch shouldn't be applied until libdrm for contexts is updated. Signed-off-by: Ben Widawsky <ben@bwidawsk.net>
2012-05-29lib: fix gen5 workaround emissionDaniel Vetter
Using BEGIN_BATCH can lead to a nice inf recursion through require_space -> flush_batch -> BEGIN_BATCH. Also fix things up to always require BATCH_RESERVED. We need 2 dwords for the gen5 workaround and 2 dwords for MI_BB_END.
2012-03-29Make the assertions guarding syscalls (drmIoctl in particular) verboseChris Wilson
Currently all we see is gem_read: ret == 0 failed, where it would help to see the errno and/or the ret. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2011-09-09lib/batch: hackish interface to run batches on specific ringsDaniel Vetter
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
2011-05-24gem_stress: Add render copyfunc for SandyBridgeChris Wilson
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2011-05-17Add Ivybridge support to intel_gpu_dump and the BLT tests.Eric Anholt
2011-03-29lib: execbuffer2 supportDaniel Vetter
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
2011-03-25Move gen5 blitter work-around to libDaniel Vetter
Suggested by Chris Wilson to prevent utterly strange gpu hangs. Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
2011-02-01Exercise the whole aperture with tiled blitsChris Wilson
After full-gtt, gem_tiled_blits doesn't allocate enough to force eviction. So query the total aperture and accommodate. Also introduce a similar test that utilizes fences rather than use the BLT to perform the tiling and detiling. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2010-10-26Prepare for split BLT ring on Sandybridge.Chris Wilson
Depends on libdrm 057fab3382c02af54126ce395c43d4e6dce9439a Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=31123 Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2010-04-08Enable compilation on non-Intel, non-DRM systems.Chris Wilson
A few of the tools can be performed post-mortem from a different system, so it is useful to be able to compile those tools on those foreign systems. Obviously, any program to interact with the PCI device or talk to GEM will fail on a non-Intel system. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2009-03-26Initial import of intel-graphics-tools with some microbenchmarks.Eric Anholt