aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/gpu/drm/i915/intel_drv.h
diff options
context:
space:
mode:
authorJesse Barnes <jbarnes@virtuousgeek.org>2012-01-03 11:05:39 -0500
committerKeith Packard <keithp@keithp.com>2012-01-03 12:31:12 -0500
commit8ea30864229e54b01ac0e9fe88c4b733a940ec4e (patch)
tree45d7912ad57216d9e18bef23698d0d099b51cbf2 /drivers/gpu/drm/i915/intel_drv.h
parent175bd4204e069f8bd855ca3dcf70a78db4410936 (diff)
drm/i915: add color key support v4
Add new ioctls for getting and setting the current destination color key. This allows for simple overlay display control by matching a color key value in the primary plane before blending the overlay on top. v2: remove unnecessary mutex acquire/release around reg accesses v3: add support for full color key management v4: fix copy & paste bug in snb_get_colorkey don't bother checking min/max values against docs as the docs are likely wrong (how could we handle 10bpc surface formats?) Reviewed-by: Daniel Vetter <daniel.vetter@ffwll.ch> Signed-off-by: Jesse Barnes <jbarnes@virtuousgeek.org>
Diffstat (limited to 'drivers/gpu/drm/i915/intel_drv.h')
-rw-r--r--drivers/gpu/drm/i915/intel_drv.h11
1 files changed, 11 insertions, 0 deletions
diff --git a/drivers/gpu/drm/i915/intel_drv.h b/drivers/gpu/drm/i915/intel_drv.h
index ed65121989bf..5ac8a164a1ee 100644
--- a/drivers/gpu/drm/i915/intel_drv.h
+++ b/drivers/gpu/drm/i915/intel_drv.h
@@ -26,6 +26,7 @@
26#define __INTEL_DRV_H__ 26#define __INTEL_DRV_H__
27 27
28#include <linux/i2c.h> 28#include <linux/i2c.h>
29#include "i915_drm.h"
29#include "i915_drv.h" 30#include "i915_drv.h"
30#include "drm_crtc.h" 31#include "drm_crtc.h"
31#include "drm_crtc_helper.h" 32#include "drm_crtc_helper.h"
@@ -192,6 +193,10 @@ struct intel_plane {
192 uint32_t x, uint32_t y, 193 uint32_t x, uint32_t y,
193 uint32_t src_w, uint32_t src_h); 194 uint32_t src_w, uint32_t src_h);
194 void (*disable_plane)(struct drm_plane *plane); 195 void (*disable_plane)(struct drm_plane *plane);
196 int (*update_colorkey)(struct drm_plane *plane,
197 struct drm_intel_sprite_colorkey *key);
198 void (*get_colorkey)(struct drm_plane *plane,
199 struct drm_intel_sprite_colorkey *key);
195}; 200};
196 201
197#define to_intel_crtc(x) container_of(x, struct intel_crtc, base) 202#define to_intel_crtc(x) container_of(x, struct intel_crtc, base)
@@ -414,4 +419,10 @@ extern void sandybridge_update_wm(struct drm_device *dev);
414extern void intel_update_sprite_watermarks(struct drm_device *dev, int pipe, 419extern void intel_update_sprite_watermarks(struct drm_device *dev, int pipe,
415 uint32_t sprite_width, 420 uint32_t sprite_width,
416 int pixel_size); 421 int pixel_size);
422
423extern int intel_sprite_set_colorkey(struct drm_device *dev, void *data,
424 struct drm_file *file_priv);
425extern int intel_sprite_get_colorkey(struct drm_device *dev, void *data,
426 struct drm_file *file_priv);
427
417#endif /* __INTEL_DRV_H__ */ 428#endif /* __INTEL_DRV_H__ */