mirror of
https://gitlab.freedesktop.org/mesa/drm.git
synced 2025-12-25 18:50:10 +01:00
Merge branch 'master' into modesetting-gem
This commit is contained in:
commit
12e68f8059
3 changed files with 17 additions and 2 deletions
|
|
@ -19,7 +19,7 @@
|
|||
# CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||
|
||||
AC_PREREQ(2.57)
|
||||
AC_INIT([libdrm], 2.4.1, [dri-devel@lists.sourceforge.net], libdrm)
|
||||
AC_INIT([libdrm], 2.4.2, [dri-devel@lists.sourceforge.net], libdrm)
|
||||
AC_CONFIG_SRCDIR([Makefile.am])
|
||||
AM_INIT_AUTOMAKE([dist-bzip2])
|
||||
|
||||
|
|
|
|||
|
|
@ -111,6 +111,7 @@ drm_intel_bo *drm_intel_bo_gem_create_from_name(drm_intel_bufmgr *bufmgr,
|
|||
unsigned int handle);
|
||||
void drm_intel_bufmgr_gem_enable_reuse(drm_intel_bufmgr *bufmgr);
|
||||
int drm_intel_gem_bo_map_gtt(drm_intel_bo *bo);
|
||||
void drm_intel_gem_bo_start_gtt_access(drm_intel_bo *bo, int write_enable);
|
||||
|
||||
/* drm_intel_bufmgr_fake.c */
|
||||
drm_intel_bufmgr *drm_intel_bufmgr_fake_init(int fd,
|
||||
|
|
|
|||
|
|
@ -738,8 +738,22 @@ drm_intel_gem_bo_get_subdata (drm_intel_bo *bo, unsigned long offset,
|
|||
return 0;
|
||||
}
|
||||
|
||||
/** Waits for all GPU rendering to the object to have completed. */
|
||||
static void
|
||||
drm_intel_gem_bo_wait_rendering(drm_intel_bo *bo)
|
||||
{
|
||||
return drm_intel_gem_bo_start_gtt_access(bo, 0);
|
||||
}
|
||||
|
||||
/**
|
||||
* Sets the object to the GTT read and possibly write domain, used by the X
|
||||
* 2D driver in the absence of kernel support to do drm_intel_gem_bo_map_gtt().
|
||||
*
|
||||
* In combination with drm_intel_gem_bo_pin() and manual fence management, we
|
||||
* can do tiled pixmaps this way.
|
||||
*/
|
||||
void
|
||||
drm_intel_gem_bo_start_gtt_access(drm_intel_bo *bo, int write_enable)
|
||||
{
|
||||
drm_intel_bufmgr_gem *bufmgr_gem = (drm_intel_bufmgr_gem *)bo->bufmgr;
|
||||
drm_intel_bo_gem *bo_gem = (drm_intel_bo_gem *)bo;
|
||||
|
|
@ -748,7 +762,7 @@ drm_intel_gem_bo_wait_rendering(drm_intel_bo *bo)
|
|||
|
||||
set_domain.handle = bo_gem->gem_handle;
|
||||
set_domain.read_domains = I915_GEM_DOMAIN_GTT;
|
||||
set_domain.write_domain = 0;
|
||||
set_domain.write_domain = write_enable ? I915_GEM_DOMAIN_GTT : 0;
|
||||
do {
|
||||
ret = ioctl(bufmgr_gem->fd, DRM_IOCTL_I915_GEM_SET_DOMAIN, &set_domain);
|
||||
} while (ret == -1 && errno == EINTR);
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue