mirror of
https://gitlab.freedesktop.org/mesa/drm.git
synced 2026-05-05 01:58:02 +02:00
bsd: Hook secondary vblank support.
This commit is contained in:
parent
e6ca3f5754
commit
787d500c15
4 changed files with 11 additions and 2 deletions
|
|
@ -650,6 +650,7 @@ struct drm_driver_info {
|
|||
void (*irq_uninstall)(drm_device_t *dev);
|
||||
void (*irq_handler)(DRM_IRQ_ARGS);
|
||||
int (*vblank_wait)(drm_device_t *dev, unsigned int *sequence);
|
||||
int (*vblank_wait2)(drm_device_t *dev, unsigned int *sequence);
|
||||
|
||||
drm_pci_id_list_t *id_entry; /* PCI ID, name, and chipset private */
|
||||
|
||||
|
|
|
|||
|
|
@ -244,8 +244,14 @@ int drm_wait_vblank(drm_device_t *dev, void *data, struct drm_file *file_priv)
|
|||
} else {
|
||||
DRM_LOCK();
|
||||
/* shared code returns -errno */
|
||||
ret = -dev->driver.vblank_wait(dev,
|
||||
&vblwait->request.sequence);
|
||||
if (flags & _DRM_VBLANK_SECONDARY) {
|
||||
if (dev->driver.vblank_wait2)
|
||||
ret = -dev->driver.vblank_wait2(dev,
|
||||
&vblwait->request.sequence);
|
||||
} else if (dev->driver.vblank_wait)
|
||||
ret = -dev->driver.vblank_wait(dev,
|
||||
&vblwait->request.sequence);
|
||||
|
||||
DRM_UNLOCK();
|
||||
|
||||
microtime(&now);
|
||||
|
|
|
|||
|
|
@ -48,6 +48,7 @@ static void i915_configure(drm_device_t *dev)
|
|||
dev->driver.lastclose = i915_driver_lastclose;
|
||||
dev->driver.device_is_agp = i915_driver_device_is_agp;
|
||||
dev->driver.vblank_wait = i915_driver_vblank_wait;
|
||||
dev->driver.vblank_wait2 = i915_driver_vblank_wait2;
|
||||
dev->driver.irq_preinstall = i915_driver_irq_preinstall;
|
||||
dev->driver.irq_postinstall = i915_driver_irq_postinstall;
|
||||
dev->driver.irq_uninstall = i915_driver_irq_uninstall;
|
||||
|
|
|
|||
|
|
@ -53,6 +53,7 @@ static void radeon_configure(drm_device_t *dev)
|
|||
dev->driver.postclose = radeon_driver_postclose;
|
||||
dev->driver.lastclose = radeon_driver_lastclose;
|
||||
dev->driver.vblank_wait = radeon_driver_vblank_wait;
|
||||
dev->driver.vblank_wait2 = radeon_driver_vblank_wait2;
|
||||
dev->driver.irq_preinstall = radeon_driver_irq_preinstall;
|
||||
dev->driver.irq_postinstall = radeon_driver_irq_postinstall;
|
||||
dev->driver.irq_uninstall = radeon_driver_irq_uninstall;
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue