History

drm/i915: Use the reloc.handle as an index into the execbuffer array

Using copywinwin10 as an example that is dependent upon emitting a lot of relocations (2 per operation), we see improvements of: c2d/gm45: 618000.0/sec to 623000.0/sec. i3-330m: 748000.0/sec to 789000.0/sec. (measured relative to a baseline with neither optimisations applied).

Chris Wilson committed 13 years ago

Commit eef90cc1 parent ed5982e3 files · +71 −40Browse files

Showing the changes to include/uapi (1 of 3 files). Show all

Unified · Split

include/uapi/drm/i915_drm.h+7−1
@@ -309,6 +309,7 @@ typedef struct drm_i915_irq_wait { · 308 unmodified lines
309#define I915_PARAM_HAS_SECURE_BATCHES 23309#define I915_PARAM_HAS_SECURE_BATCHES 23
310#define I915_PARAM_HAS_PINNED_BATCHES 24310#define I915_PARAM_HAS_PINNED_BATCHES 24
311#define I915_PARAM_HAS_EXEC_NO_RELOC 25311#define I915_PARAM_HAS_EXEC_NO_RELOC 25
312#define I915_PARAM_HAS_EXEC_HANDLE_LUT 26
312 313
313typedef struct drm_i915_getparam {314typedef struct drm_i915_getparam {
314 int param;315 int param;
@@ -699,7 +700,12 @@ struct drm_i915_gem_execbuffer2 { · 384 unmodified lines
699 */700 */
700#define I915_EXEC_NO_RELOC (1<<11)701#define I915_EXEC_NO_RELOC (1<<11)
701 702
702#define __I915_EXEC_UNKNOWN_FLAGS -(I915_EXEC_NO_RELOC<<1)703/** Use the reloc.handle as an index into the exec object array rather
704 * than as the per-file handle.
705 */
706#define I915_EXEC_HANDLE_LUT (1<<12)
707
708#define __I915_EXEC_UNKNOWN_FLAGS -(I915_EXEC_HANDLE_LUT<<1)
703 709
704#define I915_EXEC_CONTEXT_ID_MASK (0xffffffff)710#define I915_EXEC_CONTEXT_ID_MASK (0xffffffff)
705#define i915_execbuffer2_set_context_id(eb2, context) \711#define i915_execbuffer2_set_context_id(eb2, context) \

Keyboard shortcuts

General

Show keyboard shortcuts
?
Focus the current search
/

Issues and pull requests

Open filters
f

Issues, pull requests and Inbox

Select next item
j↓
Select previous item
k↑
Open selected item
Enter
Dismiss filters or clear selection
Esc

Repository code

Go to file
t