File Index
Files and directories
Sign in
FILE

svga_overlay.h

File preview with syntax highlighting.

linux-6.19.14/drivers/gpu/drm/vmwgfx/device_include/svga_overlay.h C
  1/* SPDX-License-Identifier: GPL-2.0 OR MIT */
  2/*
  3 * Copyright 2007-2021 VMware, Inc.
  4 *
  5 * Permission is hereby granted, free of charge, to any person
  6 * obtaining a copy of this software and associated documentation
  7 * files (the "Software"), to deal in the Software without
  8 * restriction, including without limitation the rights to use, copy,
  9 * modify, merge, publish, distribute, sublicense, and/or sell copies
 10 * of the Software, and to permit persons to whom the Software is
 11 * furnished to do so, subject to the following conditions:
 12 *
 13 * The above copyright notice and this permission notice shall be
 14 * included in all copies or substantial portions of the Software.
 15 *
 16 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
 17 * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
 18 * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
 19 * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
 20 * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
 21 * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
 22 * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
 23 * SOFTWARE.
 24 *
 25 */
 26
 27/*
 28 * svga_overlay.h --
 29 *
 30 *    Definitions for video-overlay support.
 31 */
 32
 33
 34
 35#ifndef _SVGA_OVERLAY_H_
 36#define _SVGA_OVERLAY_H_
 37
 38#include "svga_reg.h"
 39
 40#if defined __cplusplus
 41extern "C" {
 42#endif
 43
 44#define VMWARE_FOURCC_YV12 0x32315659
 45#define VMWARE_FOURCC_YUY2 0x32595559
 46#define VMWARE_FOURCC_UYVY 0x59565955
 47
 48typedef enum {
 49	SVGA_OVERLAY_FORMAT_INVALID = 0,
 50	SVGA_OVERLAY_FORMAT_YV12 = VMWARE_FOURCC_YV12,
 51	SVGA_OVERLAY_FORMAT_YUY2 = VMWARE_FOURCC_YUY2,
 52	SVGA_OVERLAY_FORMAT_UYVY = VMWARE_FOURCC_UYVY,
 53} SVGAOverlayFormat;
 54
 55#define SVGA_VIDEO_COLORKEY_MASK 0x00ffffff
 56
 57#define SVGA_ESCAPE_VMWARE_VIDEO 0x00020000
 58
 59#define SVGA_ESCAPE_VMWARE_VIDEO_SET_REGS 0x00020001
 60
 61#define SVGA_ESCAPE_VMWARE_VIDEO_FLUSH 0x00020002
 62
 63typedef struct SVGAEscapeVideoSetRegs {
 64	struct {
 65		uint32 cmdType;
 66		uint32 streamId;
 67	} header;
 68
 69	struct {
 70		uint32 registerId;
 71		uint32 value;
 72	} items[1];
 73} SVGAEscapeVideoSetRegs;
 74
 75typedef struct SVGAEscapeVideoFlush {
 76	uint32 cmdType;
 77	uint32 streamId;
 78} SVGAEscapeVideoFlush;
 79
 80#pragma pack(push, 1)
 81typedef struct {
 82	uint32 command;
 83	uint32 overlay;
 84} SVGAFifoEscapeCmdVideoBase;
 85#pragma pack(pop)
 86
 87#pragma pack(push, 1)
 88typedef struct {
 89	SVGAFifoEscapeCmdVideoBase videoCmd;
 90} SVGAFifoEscapeCmdVideoFlush;
 91#pragma pack(pop)
 92
 93#pragma pack(push, 1)
 94typedef struct {
 95	SVGAFifoEscapeCmdVideoBase videoCmd;
 96	struct {
 97		uint32 regId;
 98		uint32 value;
 99	} items[1];
100} SVGAFifoEscapeCmdVideoSetRegs;
101#pragma pack(pop)
102
103#pragma pack(push, 1)
104typedef struct {
105	SVGAFifoEscapeCmdVideoBase videoCmd;
106	struct {
107		uint32 regId;
108		uint32 value;
109	} items[SVGA_VIDEO_NUM_REGS];
110} SVGAFifoEscapeCmdVideoSetAllRegs;
111#pragma pack(pop)
112
113#if defined __cplusplus
114}
115#endif
116
117#endif
~/ Read-only file preview.