summaryrefslogtreecommitdiff
path: root/intel
AgeCommit message (Collapse)AuthorFilesLines
2013-04-04intel-decode: Fix gen6 HIER_DEPTH_BUFFER decodingDaniel Vetter2-4/+4
It accidentally used the cmd id for the gen7 command and had an outdated lenght field. Spotted while trying to make sense of an ivb error_state from mesa 7.11 ... Reviewed-by: Eric Anholt <eric@anholt.net> Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
2013-03-28intel: Fix Haswell CRW PCI IDs.Kenneth Graunke1-9/+9
The second digit was off by one, which meant we accidentally treated GT(n) as GT(n-1). This also meant no support for GT1 at all. Signed-off-by: Kenneth Graunke <kenneth@whitecape.org>
2013-03-27intel_chipset: Fix up VLV confusionVille Syrjälä1-3/+3
Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
2013-03-27intel_chipset: Use parens around macro argumentsVille Syrjälä1-155/+155
Protect the macro argument evaluations with parens. This is already touching most lines, so while at it, fix up all white space to uniform style throughout the file. Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
2013-02-11intel_chipset: Merge intel-gpu-tools chipsetsBen Widawsky1-75/+101
Intel GPU Tools is newer and arguably better. This change doesn't completely merge the files because it's a bit simpler if we move the I9XX macro over to Intel GPU Tools, and don't move over a few macros from IGT that libdrm doesn't care about. It has been discussed, and would seem even easier if Intel GPU Tools simply used the libdrm header files. Whether or not we move to that, this should help that effort. Signed-off-by: Ben Widawsky <ben@bwidawsk.net> Acked-by: Jesse Barnes <jbarnes@virtuousgeek.org>
2013-02-06intel: fix length mask for Gen5/Gen6 3DSTATE_CLEAR_PARAMSChris Forbes1-1/+1
On Gen6, bit 15 is now `Depth Clear Value Valid`. This was being treated as part of the length, and failing the rest of the batchbuffer decode. Reviewed-by: Kenneth Graunke <kenneth@whitecape.org> Signed-off-by: Chris Forbes <chrisf@ijw.co.nz>
2013-02-06intel/aub: Actually run BLT batches on the blit ring.Kenneth Graunke1-0/+2
We didn't set the ring flag for BLT batches, so they got run on the render ring. Shenanigans ensued, especially when we sent commands that were only valid on the BLT ring. Signed-off-by: Kenneth Graunke <kenneth@whitecape.org> Reviewed-by: Eric Anholt <eric@anholt.net>
2013-02-02intel: add more VLV PCI IDsJesse Barnes1-1/+7
2013-01-13intel: Remove the fence count contributions when clearing relocsChris Wilson1-3/+4
As we clear the relocs from the bo, we also need to clear the contribution of the reloc_target_bo from the fence count. Otherwise they are leaked and prevent any further relocations being added to the bo.
2012-11-10intel: Fix missing ETIME on BSD operating systemsDavid Shao1-0/+3
Originally posted to Free Desktop bug #52549 by David Shao. Resolves Gentoo Bug #433403. Commit message by Richard Yao. Reviewed-by: Richard Yao <ryao@gentoo.org> Reviewed-by: Kenneth Graunke <kenneth@whitecape.org> References: https://bugs.freedesktop.org/show_bug.cgi?id=52549 Signed-off-by: Ben Widawsky <ben@bwidawsk.net>
2012-10-07intel: Silence a trivial compiler warningChris Wilson1-1/+0
intel_bufmgr_gem.c: In function 'drm_intel_bo_gem_export_to_prime': intel_bufmgr_gem.c:2477:6: warning: unused variable 'ret' [-Wunused-variable] Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2012-10-07intel: Correct the word decoding for gen2 3DSTATE_LOAD_STATE_IMMEDIATE_1Chris Wilson1-1/+1
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2012-10-07intel: Fix "properly test for HAS_LLC"Chris Wilson1-1/+1
commit 92fd0ce4f659d7b0680543e9e5b96a3c7737a5f3 Author: Daniel Vetter <daniel.vetter@ffwll.ch> Date: Fri Aug 31 11:16:53 2012 +0200 intel: properly test for HAS_LLC missed slightly and in effect had no effect on the outcome of checking whether the kernel/chipset supported LLC. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2012-09-14intel: Mark bo's exported to prime as not reusableKristian Høgsberg1-1/+8
It's the same situation as flink and we need take the same precautions. Reviewed-by: Chris Wilson <chris@chris-wilson.co.uk> Signed-off-by: Kristian Høgsberg <krh@bitplanet.net>
2012-09-13intel: add support for ValleyViewJesse Barnes1-1/+6
Just some PCI ID stuff to enable the right features.
2012-09-01intel: properly test for HAS_LLCDaniel Vetter1-1/+1
If the kernel supports the test, we need to check the param. Copy&pasta from the above checks that only look at the return value. Interesting how much one can get such a simple interface wrong. Issue created in commit 151cdcfe685ee280a4344dfc40e6087d74a5590f Author: Eugeni Dodonov <eugeni.dodonov@intel.com> Date: Tue Jan 17 15:20:19 2012 -0200 intel: query for LLC support Patch even claims to have fixed this in v2, but is actually unchanged from v1. Reported-by: Xiang, Haihao <haihao.xiang@intel.com> Reviewed-by: Chris Wilson <chris@chris-wilson.co.uk> Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
2012-08-12intel: Use VG_CLEAR on the context destroy ioctl as well.Kenneth Graunke1-0/+2
Otherwise pad appears uninitialized and valgrind grumbles. Signed-off-by: Kenneth Graunke <kenneth@whitecape.org> Reviewed-by: Eric Anholt <eric@anholt.net>
2012-08-10intel: Add a function for the new register read ioctl.Eric Anholt2-0/+21
Reviewed-by: Ben Widawsky <ben@bwidawsk.net>
2012-08-08intel: add more Haswell PCI IDsPaulo Zanoni1-3/+65
Signed-off-by: Paulo Zanoni <paulo.r.zanoni@intel.com> Reviewed-by: Rodrigo Vivi <rodrigo.vivi@gmail.com>
2012-08-08intel: Bail gracefully if we encounter an unknown Intel deviceChris Wilson1-3/+5
Otherwise we end up with X hitting a fail-loop as the embedded libGL stacks asserts whilst initialising. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> Acked-by: Daniel Vetter <daniel.vetter@ffwll.ch>
2012-08-02intel: Quiet valgrind warnings in context creation.Eric Anholt1-0/+1
2012-08-02intel: Remove two unused variablesDamien Lespiau1-2/+1
Signed-off-by: Damien Lespiau <damien.lespiau@intel.com> Reviewed-by: Eric Anholt <eric@anholt.net>
2012-07-20intel: fix build errorRob Clark1-1/+1
CCLD test_decode ./.libs/libdrm_intel.so: undefined reference to `drmPrimeHandleToFD' ./.libs/libdrm_intel.so: undefined reference to `drmPrimeFDToHandle' collect2: ld returned 1 exit status From Adam Jackson's explaination: most distros have changed it so ld defaults to --no-copy-dt-needed-entries, so if you use something from libdrm you can't just assume libdrm_intel will bring it in for you, you have to be explicit Signed-off-by: Rob Clark <rob@ti.com>
2012-07-20intel: add prime interface for getting/setting a prime bo. (v4)Dave Airlie2-0/+67
This adds interfaces for the X driver to use to create a prime handle from a buffer, and create a bo from a handle. v2: use Chris's suggested naming (well from at least for consistency) v3: git commit --amend fail v4: fix as per Chris's suggestions, group assignments, add get tiling Reviewed-by: Chris Wilson <chris@chris-wilson.co.uk> Signed-off-by: Dave Airlie <airlied@redhat.com>
2012-07-12intel: Change context create failure message to from fprintf to DBG().Kenneth Graunke1-2/+2
Since there is no getparam for hardware context support, Mesa always tries to obtain a context by calling drm_intel_gem_context_create and NULL-checking the result. On an older kernel without context support, this caused libdrm to print an unwanted message to stderr: DRM_IOCTL_I915_GEM_CONTEXT_CREATE failed: Invalid argument In fact, this caused every Piglit test to fail with a "warn" status due to the unrecognized error message. Change the message to use DBG() rather than fprintf(), so people can still get the debug message, but it won't spam normally. Reviewed-by: Ben Widawsky <ben@bwidawsk.net> Signed-off-by: Kenneth Graunke <kenneth@whitecape.org>
2012-07-03intel: Fix build failure in test_decode.cLauri Kasanen1-0/+2
Hi list The recently released libdrm 2.4.37 does not compile the Intel part: test_decode.c: In function 'compare_batch': test_decode.c:107: error: implicit declaration of function 'open_memstream' PS: Please CC me. Signed-off-by: Lauri Kasanen <cand@gmx.com> Signed-off-by: Ben Widawsky <ben@bwidawsk.net>
2012-06-29intel/context: create/destroy implementationBen Widawsky1-0/+45
Add relevant code to set up minimal state and call the appropriate kernel IOCTLs. This was missed in the previous cherry-picking for 2.3.36. Signed-off-by: Ben Widawsky <ben@bwidawsk.net>
2012-06-27intel/decode: fix the reference file forlibdrm-2.4.362.4.36Ben Widawsky2-4/+4
I mistakenly "fixed" a bad decode with commit 7d0a1d5ebbe2c6aecd96eef94b0af038858a0178 Author: Ben Widawsky <ben@bwidawsk.net> Date: Sun Jun 24 20:35:57 2012 -0700 intel/decode: VERTEX_ELEMENT_STATE, 1 means valid However the actual fix is just to update the reference file, and include GEN7 in the decode. Props to Eric Anholt for putting the test in distcheck, or else I wouldn't have caught this. Signed-off-by: Ben Widawsky <ben@bwidawsk.net>
2012-06-27Revert "intel/decode: VERTEX_ELEMENT_STATE, 1 means valid"Ben Widawsky1-1/+1
This reverts commit 7d0a1d5ebbe2c6aecd96eef94b0af038858a0178. The actual fix
2012-06-27intel: add decoding of MI_SET_CONTEXTBen Widawsky1-1/+17
Signed-off-by: Ben Widawsky <ben@bwidawsk.net> Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
2012-06-27intel/context: new execbuf interface for contextsBen Widawsky2-7/+30
To support this we extract the common execbuf2 functionality to be called with, or without contexts. The context'd execbuf does not support some of the dri1 stuff. Signed-off-by: Ben Widawsky <ben@bwidawsk.net> Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
2012-06-27intel/context: Add drm_intel_context typeBen Widawsky2-0/+6
Add an opaque type representing a HW context. Signed-off-by: Ben Widawsky <ben@bwidawsk.net> Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
2012-06-27intel/decode: VERTEX_ELEMENT_STATE, 1 means validBen Widawsky1-1/+1
The logic seemed to be inverse to me. Signed-off-by: Ben Widawsky <ben@bwidawsk.net>
2012-06-27intel/decode: add sampler state pointers for [HD]SBen Widawsky1-0/+2
Signed-off-by: Ben Widawsky <ben@bwidawsk.net>
2012-06-27intel: wait render timeout implementationBen Widawsky2-0/+58
int drm_intel_gem_bo_wait(drm_intel_bo *bo, uint64_t timeout_ns) This should bump the libdrm version. We're waiting for context support so we can do both features in one bump. v2: don't return remaining timeout amount use get param and fallback for older kernels v3: only doing getparam at init prototypes now have a signed input value v4: update comments fall back to correct polling behavior with new userspace and old kernel v5: since the drmIoctl patch was not well received, return appropriate values in this function instead. As Daniel pointed out, the polling case (timeout == 0) should also return -ETIME. Signed-off-by: Ben Widawsky <ben@bwidawsk.net> Reviewed-by: Daniel Vetter <daniel.vetter@ffwll.ch>
2012-06-24intel: Add IVB PUSH_CONSTANT decodesBen Widawsky1-0/+3
Signed-off-by: Ben Widawsky <ben@bwidawsk.net>
2012-05-10intel: Add the ability to supply annotations for .aub files.Paul Berry2-22/+119
This patch adds a new function, drm_intel_bufmgr_gem_set_aub_annotations(), which can be used to annotate the type and subtype of data stored in various sections of each buffer. This data is used to populate type and subtype fields when generating the .aub file, which improves the ability of later debugging tools to analyze the contents of the .aub file. If drm_intel_bufmgr_gem_set_aub_annotations() is not called, then we fall back to the old set of annotations (annotate the portion of the batchbuffer that is executed as AUB_TRACE_TYPE_BATCH, and everything else as AUB_TRACE_TYPE_NOTYPE). Reviewed-by: Eric Anholt <eric@anholt.net>
2012-04-02intel/decode: decode MI_WAIT_FOR_EVENTDaniel Vetter1-2/+75
... and add support to decode MI instructions with functions. Reviewed-by: Eugeni Dodonov <eugeni.dodonov@intel.com> Signed-Off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
2012-04-01intel: add Ivy Bridge GT2 server variantEugeni Dodonov1-1/+3
We were missing this one and it is being used by Bromolow. Signed-off-by: Eugeni Dodonov <eugeni.dodonov@intel.com>
2012-03-22intel: Add some PCI IDs for Haswell.Kenneth Graunke1-5/+23
Signed-off-by: Kenneth Graunke <kenneth@whitecape.org> Reviewed-by: Eugeni Dodonov <eugeni.dodonov@intel.com>
2012-03-13intel: Quiet two more valgrind complaints with recent changes.Eric Anholt1-0/+2
These are more cases where valgrind doesn't understand what gets read or written by our ioctls.
2012-03-10intel: Add per-dword decode of gen7 3DPRIMITIVE.Eric Anholt2-12/+31
2012-03-10intel: Move the gen4-6 3DPRIMITIVE handling out of the switch statement.Eric Anholt1-15/+17
2012-03-10intel: Add support for (possibly) unsynchronized maps.Eric Anholt2-7/+67
This improves the performance of Mesa's GL_MAP_UNSYNCHRONIZED_BIT path in GL_ARB_map_buffer_range. Improves Unigine Tropics performance at 1024x768 by 2.30482% +/- 0.0492146% (n=61) v2: Fix comment grammar. Reviewed-by: Chris Wilson <chris@chris-wilson.co.uk>
2012-03-09intel: Fix error check for I915_PARAM_HAS_LLC.Eric Anholt1-1/+1
drmIoctl returns -1 on error with errno set to the error value. Other users of it in this file just check for != 0, and only use errno when they need to send an error value on to the caller of the API.
2012-03-09intel: Bump the copyright dates on the bufmgr files.Eric Anholt2-2/+2
We've been hacking these constantly.
2012-03-09intel: Add .aub file output support.Eric Anholt4-0/+443
This will allow the driver to capture all of its execution state to a file for later debugging. intel_gpu_dump is limited in that it only captures batchbuffers, and Mesa's captures, while more complete, still capture only a portion of the state involved in execution. This is a squash commit of a long series of hacking as we tried to get the resulting traces to work in the internal simulator. It contains contributions by Yuanhan Liu and Kenneth Graunke. v2: Drop the MI_FLUSH_ENABLE setup. Reviewed-by: Kenneth Graunke <kenneth@whitecape.org> Signed-off-by: Eric Anholt <eric@anholt.net> Signed-off-by: Yuanhan Liu <yuanhan.liu@linux.intel.com> Signed-off-by: Kenneth Graunke <kenneth@whitecape.org>
2012-03-09intel: Add support for overriding the PCI ID via an environment variableKenneth Graunke2-9/+48
For example: export INTEL_DEVID_OVERRIDE=0x162 If this variable is set, don't actually submit the batchbuffer to the GPU, it probably contains commands for the wrong generation of hardware. v2: Introduce a getter for the overridden devid, and avoid getenv per exec. Reviewed-by: Yuanhan Liu <yuanhan.liu@linux.intel.com> Signed-off-by: Kenneth Graunke <kenneth@whitecape.org> Signed-off-by: Eric Anholt <eric@anholt.net>
2012-02-22intel: Import a new batchbuffer for the gen7 test.Eric Anholt2-1081/+167
This one doesn't have the 3DSTATE_HIER_DEPTH_BUFFER bug that the previous one did. Acked-by: Daniel Vetter <daniel.vetter@ffwll.ch>
2012-02-22intel: Add decode for gen7 HIER_DEPTH_BUFFER.Eric Anholt1-1/+13
Note that the regression test complains here: The batch that was captured included a bug in its packet output, which was later fixed in Mesa. Reviewed-by: Daniel Vetter <daniel.vetter@ffwll.ch>