Go to the source code of this file.
Data Structures | |
struct | i915_batchbuffer |
Defines | |
#define | BEGIN_BATCH(dwords, relocs) (i915_batchbuffer_check( i915->batch, dwords, relocs )) |
#define | OUT_BATCH(dword) i915_batchbuffer_dword( i915->batch, dword ) |
#define | OUT_RELOC(buf, flags, delta) i915_batchbuffer_reloc( i915->batch, buf, flags, delta ) |
#define | FLUSH_BATCH(fence) |
Functions | |
static boolean | i915_batchbuffer_check (struct i915_batchbuffer *batch, size_t dwords, size_t relocs) |
static size_t | i915_batchbuffer_space (struct i915_batchbuffer *batch) |
static void | i915_batchbuffer_dword (struct i915_batchbuffer *batch, unsigned dword) |
static void | i915_batchbuffer_write (struct i915_batchbuffer *batch, void *data, size_t size) |
static void | i915_batchbuffer_reloc (struct i915_batchbuffer *batch, struct pipe_buffer *buffer, size_t flags, size_t offset) |
static void | i915_batchbuffer_flush (struct i915_batchbuffer *batch, struct pipe_fence_handle **fence) |
#define BEGIN_BATCH | ( | dwords, | |||
relocs | ) | (i915_batchbuffer_check( i915->batch, dwords, relocs )) |
Definition at line 102 of file i915_batch.h.
#define FLUSH_BATCH | ( | fence | ) |
Value:
do { \ i915->winsys->batch_flush( i915->winsys, fence ); \ i915->hardware_dirty = ~0; \ } while (0)
Definition at line 111 of file i915_batch.h.
#define OUT_BATCH | ( | dword | ) | i915_batchbuffer_dword( i915->batch, dword ) |
Definition at line 105 of file i915_batch.h.
#define OUT_RELOC | ( | buf, | |||
flags, | |||||
delta | ) | i915_batchbuffer_reloc( i915->batch, buf, flags, delta ) |
Definition at line 108 of file i915_batch.h.
static boolean i915_batchbuffer_check | ( | struct i915_batchbuffer * | batch, | |
size_t | dwords, | |||
size_t | relocs | |||
) | [static] |
TODO JB: Check relocs
Definition at line 49 of file i915_batch.h.
References i915_batchbuffer::map, i915_batchbuffer::ptr, and i915_batchbuffer::size.
static void i915_batchbuffer_dword | ( | struct i915_batchbuffer * | batch, | |
unsigned | dword | |||
) | [static] |
Definition at line 64 of file i915_batch.h.
References i915_batchbuffer_space(), and i915_batchbuffer::ptr.
00066 { 00067 if (i915_batchbuffer_space(batch) < 4) 00068 return; 00069 00070 *(unsigned *)batch->ptr = dword; 00071 batch->ptr += 4; 00072 }
static void i915_batchbuffer_flush | ( | struct i915_batchbuffer * | batch, | |
struct pipe_fence_handle ** | fence | |||
) | [static] |
Definition at line 96 of file i915_batch.h.
References i915_winsys::batch_flush, and i915_batchbuffer::winsys.
00098 { 00099 batch->winsys->batch_flush( batch->winsys, fence ); 00100 }
static void i915_batchbuffer_reloc | ( | struct i915_batchbuffer * | batch, | |
struct pipe_buffer * | buffer, | |||
size_t | flags, | |||
size_t | offset | |||
) | [static] |
Definition at line 87 of file i915_batch.h.
References i915_winsys::batch_reloc, and i915_batchbuffer::winsys.
00091 { 00092 batch->winsys->batch_reloc( batch->winsys, buffer, flags, offset ); 00093 }
static size_t i915_batchbuffer_space | ( | struct i915_batchbuffer * | batch | ) | [static] |
Definition at line 58 of file i915_batch.h.
References i915_batchbuffer::map, i915_batchbuffer::ptr, and i915_batchbuffer::size.
static void i915_batchbuffer_write | ( | struct i915_batchbuffer * | batch, | |
void * | data, | |||
size_t | size | |||
) | [static] |
Definition at line 75 of file i915_batch.h.
References i915_batchbuffer_space(), and i915_batchbuffer::ptr.
00078 { 00079 if (i915_batchbuffer_space(batch) < size) 00080 return; 00081 00082 memcpy(data, batch->ptr, size); 00083 batch->ptr += size; 00084 }