Subversion Repositories Kolibri OS

Rev

Rev 5068 | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 5068 Rev 6110
Line 60... Line 60...
60
					      const char *name,
60
					      const char *name,
61
					      unsigned long size,
61
					      unsigned long size,
62
					      unsigned int alignment);
62
					      unsigned int alignment);
Line 63... Line 63...
63
 
63
 
-
 
64
	/**
-
 
65
	 * Allocate a buffer object from an existing user accessible
-
 
66
	 * address malloc'd with the provided size.
-
 
67
	 * Alignment is used when mapping to the gtt.
-
 
68
	 * Flags may be I915_VMAP_READ_ONLY or I915_USERPTR_UNSYNCHRONIZED
-
 
69
	 */
-
 
70
	drm_intel_bo *(*bo_alloc_userptr)(drm_intel_bufmgr *bufmgr,
-
 
71
					  const char *name, void *addr,
-
 
72
					  uint32_t tiling_mode, uint32_t stride,
-
 
73
					  unsigned long size,
-
 
74
					  unsigned long flags);
-
 
75
 
64
	/**
76
	/**
65
	 * Allocate a tiled buffer object.
77
	 * Allocate a tiled buffer object.
66
	 *
78
	 *
67
	 * Alignment for tiled objects is set automatically; the 'flags'
79
	 * Alignment for tiled objects is set automatically; the 'flags'
68
	 * argument provides a hint about how the object will be used initially.
80
	 * argument provides a hint about how the object will be used initially.
Line 120... Line 132...
120
	 * Read data from an object
132
	 * Read data from an object
121
	 *
133
	 *
122
	 * This is an optional function, if missing,
134
	 * This is an optional function, if missing,
123
	 * drm_intel_bo will map/memcpy/unmap.
135
	 * drm_intel_bo will map/memcpy/unmap.
124
	 */
136
	 */
125
//	int (*bo_get_subdata) (drm_intel_bo *bo, unsigned long offset,
137
	int (*bo_get_subdata) (drm_intel_bo *bo, unsigned long offset,
126
//			       unsigned long size, void *data);
138
			       unsigned long size, void *data);
Line 127... Line 139...
127
 
139
 
128
	/**
140
	/**
129
	 * Waits for rendering to an object by the GPU to have completed.
141
	 * Waits for rendering to an object by the GPU to have completed.
130
	 *
142
	 *
Line 138... Line 150...
138
	 * Tears down the buffer manager instance.
150
	 * Tears down the buffer manager instance.
139
	 */
151
	 */
140
	void (*destroy) (drm_intel_bufmgr *bufmgr);
152
	void (*destroy) (drm_intel_bufmgr *bufmgr);
Line 141... Line 153...
141
 
153
 
-
 
154
	/**
-
 
155
	 * Indicate if the buffer can be placed anywhere in the full ppgtt
-
 
156
	 * address range (2^48).
-
 
157
	 *
-
 
158
	 * Any resource used with flat/heapless (0x00000000-0xfffff000)
-
 
159
	 * General State Heap (GSH) or Intructions State Heap (ISH) must
-
 
160
	 * be in a 32-bit range. 48-bit range will only be used when explicitly
-
 
161
	 * requested.
-
 
162
	 *
-
 
163
	 * \param bo Buffer to set the use_48b_address_range flag.
-
 
164
	 * \param enable The flag value.
-
 
165
	 */
-
 
166
	void (*bo_use_48b_address_range) (drm_intel_bo *bo, uint32_t enable);
-
 
167
 
142
	/**
168
	/**
143
	 * Add relocation entry in reloc_buf, which will be updated with the
169
	 * Add relocation entry in reloc_buf, which will be updated with the
144
	 * target buffer's real offset on on command submission.
170
	 * target buffer's real offset on on command submission.
145
	 *
171
	 *
146
	 * Relocations remain in place for the lifetime of the buffer object.
172
	 * Relocations remain in place for the lifetime of the buffer object.
Line 213... Line 239...
213
	 */
239
	 */
214
	int (*bo_get_tiling) (drm_intel_bo *bo, uint32_t * tiling_mode,
240
	int (*bo_get_tiling) (drm_intel_bo *bo, uint32_t * tiling_mode,
215
			      uint32_t * swizzle_mode);
241
			      uint32_t * swizzle_mode);
Line 216... Line 242...
216
 
242
 
-
 
243
	/**
-
 
244
	 * Set the offset at which this buffer will be softpinned
-
 
245
	 * \param bo Buffer to set the softpin offset for
-
 
246
	 * \param offset Softpin offset
-
 
247
	 */
-
 
248
	int (*bo_set_softpin_offset) (drm_intel_bo *bo, uint64_t offset);
-
 
249
 
217
	/**
250
	/**
218
	 * Create a visible name for a buffer which can be used by other apps
251
	 * Create a visible name for a buffer which can be used by other apps
219
	 *
252
	 *
220
	 * \param buf Buffer to create a name for
253
	 * \param buf Buffer to create a name for
221
	 * \param name Returned name
254
	 * \param name Returned name