linux/drivers/gpu/drm/vmwgfx/device_include/svga3d_types.h

/* SPDX-License-Identifier: GPL-2.0 OR MIT */
/*
 * Copyright 2012-2021 VMware, Inc.
 *
 * Permission is hereby granted, free of charge, to any person
 * obtaining a copy of this software and associated documentation
 * files (the "Software"), to deal in the Software without
 * restriction, including without limitation the rights to use, copy,
 * modify, merge, publish, distribute, sublicense, and/or sell copies
 * of the Software, and to permit persons to whom the Software is
 * furnished to do so, subject to the following conditions:
 *
 * The above copyright notice and this permission notice shall be
 * included in all copies or substantial portions of the Software.
 *
 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
 * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
 * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
 * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
 * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
 * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
 * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
 * SOFTWARE.
 *
 */

/*
 * svga3d_types.h --
 *
 *    SVGA 3d hardware definitions for basic types
 */



#ifndef _SVGA3D_TYPES_H_
#define _SVGA3D_TYPES_H_

#include "vm_basic_types.h"

#define SVGA3D_INVALID_ID

#define SVGA3D_RESOURCE_TYPE_MIN
#define SVGA3D_RESOURCE_BUFFER
#define SVGA3D_RESOURCE_TEXTURE1D
#define SVGA3D_RESOURCE_TEXTURE2D
#define SVGA3D_RESOURCE_TEXTURE3D
#define SVGA3D_RESOURCE_TEXTURECUBE
#define SVGA3D_RESOURCE_TYPE_DX10_MAX
#define SVGA3D_RESOURCE_BUFFEREX
#define SVGA3D_RESOURCE_TYPE_MAX
SVGA3dResourceType;

SVGABool8;
SVGA3dBool;
SVGA3dColor;

SVGA3dSurfaceId;

#pragma pack(push, 1)
SVGA3dFraction64;
#pragma pack(pop)

#pragma pack(push, 1)
SVGA3dCopyRect;
#pragma pack(pop)

#pragma pack(push, 1)
SVGA3dCopyBox;
#pragma pack(pop)

#pragma pack(push, 1)
SVGA3dRect;
#pragma pack(pop)

#pragma pack(push, 1)
SVGA3dBox;
#pragma pack(pop)

#pragma pack(push, 1)
SVGA3dSignedBox;
#pragma pack(pop)

#pragma pack(push, 1)
SVGA3dPoint;
#pragma pack(pop)

#pragma pack(push, 1)
SVGA3dRGBAFloat;
#pragma pack(pop)

SVGA3dSurfaceFormat;

#define SVGA3D_SURFACE_CUBEMAP

#define SVGA3D_SURFACE_HINT_STATIC
#define SVGA3D_SURFACE_HINT_DYNAMIC
#define SVGA3D_SURFACE_HINT_INDEXBUFFER
#define SVGA3D_SURFACE_HINT_VERTEXBUFFER
#define SVGA3D_SURFACE_HINT_TEXTURE
#define SVGA3D_SURFACE_HINT_RENDERTARGET
#define SVGA3D_SURFACE_HINT_DEPTHSTENCIL
#define SVGA3D_SURFACE_HINT_WRITEONLY
#define SVGA3D_SURFACE_DEAD2
#define SVGA3D_SURFACE_AUTOGENMIPMAPS

#define SVGA3D_SURFACE_DEAD1

#define SVGA3D_SURFACE_MOB_PITCH

#define SVGA3D_SURFACE_INACTIVE
#define SVGA3D_SURFACE_HINT_RT_LOCKABLE
#define SVGA3D_SURFACE_VOLUME

#define SVGA3D_SURFACE_SCREENTARGET

#define SVGA3D_SURFACE_ALIGN16

#define SVGA3D_SURFACE_1D
#define SVGA3D_SURFACE_ARRAY

#define SVGA3D_SURFACE_BIND_VERTEX_BUFFER
#define SVGA3D_SURFACE_BIND_INDEX_BUFFER
#define SVGA3D_SURFACE_BIND_CONSTANT_BUFFER
#define SVGA3D_SURFACE_BIND_SHADER_RESOURCE
#define SVGA3D_SURFACE_BIND_RENDER_TARGET
#define SVGA3D_SURFACE_BIND_DEPTH_STENCIL
#define SVGA3D_SURFACE_BIND_STREAM_OUTPUT

#define SVGA3D_SURFACE_STAGING_UPLOAD
#define SVGA3D_SURFACE_STAGING_DOWNLOAD
#define SVGA3D_SURFACE_HINT_INDIRECT_UPDATE

#define SVGA3D_SURFACE_TRANSFER_FROM_BUFFER

#define SVGA3D_SURFACE_RESERVED1

#define SVGA3D_SURFACE_MULTISAMPLE

#define SVGA3D_SURFACE_BIND_UAVIEW

#define SVGA3D_SURFACE_TRANSFER_TO_BUFFER

#define SVGA3D_SURFACE_BIND_LOGICOPS

#define SVGA3D_SURFACE_BIND_RAW_VIEWS
#define SVGA3D_SURFACE_BUFFER_STRUCTURED

#define SVGA3D_SURFACE_DRAWINDIRECT_ARGS
#define SVGA3D_SURFACE_RESOURCE_CLAMP

#define SVGA3D_SURFACE_STAGING_COPY

#define SVGA3D_SURFACE_FLAG_MAX

SVGA3dSurface1Flags;
SVGA3dSurface2Flags;
SVGA3dSurfaceAllFlags;

#define SVGA3D_SURFACE_FLAGS1_MASK
#define SVGA3D_SURFACE_FLAGS2_MASK

#define SVGA3D_SURFACE_HB_DISALLOWED_MASK

#define SVGA3D_SURFACE_HB_PRESENT_DISALLOWED_MASK

#define SVGA3D_SURFACE_2D_DISALLOWED_MASK

#define SVGA3D_SURFACE_BASICOPS_DISALLOWED_MASK

#define SVGA3D_SURFACE_SCREENTARGET_DISALLOWED_MASK

#define SVGA3D_SURFACE_BUFFER_DISALLOWED_MASK

#define SVGA3D_SURFACE_MULTISAMPLE_DISALLOWED_MASK

#define SVGA3D_SURFACE_DX_ONLY_MASK

#define SVGA3D_SURFACE_ANY_STAGING_MASK

#define SVGA3D_SURFACE_ANY_NONHINT_STAGING_MASK

#define SVGA3D_SURFACE_BIND_MASK

#define SVGA3D_SURFACE_STAGING_DISALLOWED_MASK

#define SVGA3D_SURFACE_STAGING_COPY_DISALLOWED_MASK

#define SVGA3D_SURFACE_LOGICOPS_DISALLOWED_MASK

#define SVGA3D_SURFACE_SM5_MASK

#define SVGA3D_BUFFER_STRUCTURED_STRIDE_MAX

SVGA3dFormatOp;

#define SVGA3D_FORMAT_POSITIVE

#define SVGA3D_FORMAT_NEGATIVE

SVGA3dSurfaceFormatCaps;

SVGA3dRenderStateName;

SVGA3dTransparencyAntialiasType;

SVGA3dVertexMaterial;

SVGA3dFillModeType;

#pragma pack(push, 1)
SVGA3dFillMode;
#pragma pack(pop)

SVGA3dShadeMode;

#pragma pack(push, 1)
SVGA3dLinePattern;
#pragma pack(pop)

SVGA3dBlendOp;

SVGA3dBlendEquation;

SVGA3dDX11LogicOp;

SVGA3dFrontWinding;

SVGA3dFace;

SVGA3dCmpFunc;

SVGA3dFogFunction;

SVGA3dFogType;

SVGA3dFogBase;

SVGA3dStencilOp;

SVGA3dClipPlanes;

SVGA3dClearFlag;

SVGA3dRenderTargetType;

#define SVGA3D_MAX_RT_COLOR

#pragma pack(push, 1)
SVGA3dColorMask;
#pragma pack(pop)

SVGA3dVertexBlendFlags;

SVGA3dWrapFlags;

SVGA3dTextureStateName;

SVGA3dTextureCombiner;

#define SVGA3D_TC_CAP_BIT(svga3d_tc_op)

SVGA3dTextureAddress;

SVGA3dTextureFilter;

SVGA3dTexTransformFlags;

SVGA3dTextureCoordGen;

SVGA3dTextureArgData;

#define SVGA3D_TM_MASK_LEN

SVGA3dTextureArgModifier;

SVGA3dDeclUsage;

SVGA3dDeclMethod;

SVGA3dDeclType;

SVGA3dVertexDivisor;

SVGA3dPrimitiveType;

SVGA3dCoordinateType;

SVGA3dTransformType;

SVGA3dLightType;

SVGA3dCubeFace;

SVGA3dShaderType;

#define SVGA3D_NUM_SHADERTYPE_PREDX

#define SVGA3D_NUM_SHADERTYPE_DX10

#define SVGA3D_NUM_SHADERTYPE

SVGA3dShaderConstType;

#define SVGA3D_CONSTREG_MAX
#define SVGA3D_CONSTINTREG_MAX
#define SVGA3D_CONSTBOOLREG_MAX

SVGA3dStretchBltMode;

SVGA3dQueryType;

SVGA3dQueryTypeUint8;

#define SVGA3D_NUM_QUERYTYPE

#define SVGA3D_MAX_QUERY

#pragma pack(push, 1)
SVGADXOcclusionQueryResult;
#pragma pack(pop)

#pragma pack(push, 1)
SVGADXEventQueryResult;
#pragma pack(pop)

#pragma pack(push, 1)
SVGADXTimestampQueryResult;
#pragma pack(pop)

#pragma pack(push, 1)
SVGADXTimestampDisjointQueryResult;
#pragma pack(pop)

#pragma pack(push, 1)
SVGADXPipelineStatisticsQueryResult;
#pragma pack(pop)

#pragma pack(push, 1)
SVGADXOcclusionPredicateQueryResult;
#pragma pack(pop)

#pragma pack(push, 1)
SVGADXStreamOutStatisticsQueryResult;
#pragma pack(pop)

#pragma pack(push, 1)
SVGADXStreamOutPredicateQueryResult;
#pragma pack(pop)

#pragma pack(push, 1)
SVGADXOcclusion64QueryResult;
#pragma pack(pop)

#pragma pack(push, 1)
SVGADXQueryResultUnion;
#pragma pack(pop)

SVGA3dQueryState;

SVGA3dTransferType;

#define SVGA3D_LOGICOP_INVALID
#define SVGA3D_LOGICOP_COPY

#define SVGA3D_LOGICOP_MIN
#define SVGA3D_LOGICOP_NOT
#define SVGA3D_LOGICOP_AND
#define SVGA3D_LOGICOP_OR
#define SVGA3D_LOGICOP_XOR
#define SVGA3D_LOGICOP_NXOR
#define SVGA3D_LOGICOP_ROP3

#define SVGA3D_LOGICOP_MAX

SVGA3dLogicOp;

#define SVGA3D_LOGICOP_ROP3_INVALID
#define SVGA3D_LOGICOP_ROP3_MIN
#define SVGA3D_LOGICOP_ROP3_MAX

SVGA3dLogicOpRop3;

#pragma pack(push, 1)
SVGA3dFogMode;
#pragma pack(pop)

#pragma pack(push, 1)
SVGA3dSurfaceImageId;
#pragma pack(pop)

#pragma pack(push, 1)
SVGA3dSubSurfaceId;
#pragma pack(pop)

#pragma pack(push, 1)
SVGA3dSize;
#pragma pack(pop)

SVGAOTableType;

SVGACOTableType;

#define SVGA_COTABLE_MAX_IDS

SVGAMobFormat;

#define SVGA3D_MOB_EMPTY_BASE

SVGA3dMSPattern;

SVGA3dMSQualityLevel;

SVGA3dFrameUpdateType;

#endif