linux/drivers/gpu/drm/vmwgfx/device_include/svga3d_dx.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_dx.h --
 *
 *    SVGA 3d hardware definitions for DX10 support.
 */



#ifndef _SVGA3D_DX_H_
#define _SVGA3D_DX_H_

#include "svga_reg.h"
#include "svga3d_limits.h"
#include "svga3d_types.h"

#define SVGA3D_INPUT_MIN
#define SVGA3D_INPUT_PER_VERTEX_DATA
#define SVGA3D_INPUT_PER_INSTANCE_DATA
#define SVGA3D_INPUT_MAX
SVGA3dInputClassification;

#define SVGA3D_COLOR_WRITE_ENABLE_RED
#define SVGA3D_COLOR_WRITE_ENABLE_GREEN
#define SVGA3D_COLOR_WRITE_ENABLE_BLUE
#define SVGA3D_COLOR_WRITE_ENABLE_ALPHA
#define SVGA3D_COLOR_WRITE_ENABLE_ALL
SVGA3dColorWriteEnable;

#define SVGA3D_DEPTH_WRITE_MASK_ZERO
#define SVGA3D_DEPTH_WRITE_MASK_ALL
SVGA3dDepthWriteMask;

#define SVGA3D_FILTER_MIP_LINEAR
#define SVGA3D_FILTER_MAG_LINEAR
#define SVGA3D_FILTER_MIN_LINEAR
#define SVGA3D_FILTER_ANISOTROPIC
#define SVGA3D_FILTER_COMPARE
SVGA3dFilter;

#define SVGA3D_CULL_INVALID
#define SVGA3D_CULL_MIN
#define SVGA3D_CULL_NONE
#define SVGA3D_CULL_FRONT
#define SVGA3D_CULL_BACK
#define SVGA3D_CULL_MAX
SVGA3dCullMode;

#define SVGA3D_COMPARISON_INVALID
#define SVGA3D_COMPARISON_MIN
#define SVGA3D_COMPARISON_NEVER
#define SVGA3D_COMPARISON_LESS
#define SVGA3D_COMPARISON_EQUAL
#define SVGA3D_COMPARISON_LESS_EQUAL
#define SVGA3D_COMPARISON_GREATER
#define SVGA3D_COMPARISON_NOT_EQUAL
#define SVGA3D_COMPARISON_GREATER_EQUAL
#define SVGA3D_COMPARISON_ALWAYS
#define SVGA3D_COMPARISON_MAX
SVGA3dComparisonFunc;

#define SVGA3D_MULTISAMPLE_RAST_DISABLE
#define SVGA3D_MULTISAMPLE_RAST_ENABLE
#define SVGA3D_MULTISAMPLE_RAST_DX_MAX
#define SVGA3D_MULTISAMPLE_RAST_DISABLE_LINE
#define SVGA3D_MULTISAMPLE_RAST_MAX
SVGA3dMultisampleRastEnable;

#define SVGA3D_DX_MAX_VERTEXBUFFERS
#define SVGA3D_DX_MAX_VERTEXINPUTREGISTERS
#define SVGA3D_DX_SM41_MAX_VERTEXINPUTREGISTERS
#define SVGA3D_DX_MAX_SOTARGETS
#define SVGA3D_DX_MAX_SRVIEWS
#define SVGA3D_DX_MAX_CONSTBUFFERS
#define SVGA3D_DX_MAX_SAMPLERS
#define SVGA3D_DX_MAX_CLASS_INSTANCES

#define SVGA3D_DX_MAX_CONSTBUF_BINDING_SIZE

SVGA3dShaderResourceViewId;
SVGA3dRenderTargetViewId;
SVGA3dDepthStencilViewId;
SVGA3dUAViewId;

SVGA3dShaderId;
SVGA3dElementLayoutId;
SVGA3dSamplerId;
SVGA3dBlendStateId;
SVGA3dDepthStencilStateId;
SVGA3dRasterizerStateId;
SVGA3dQueryId;
SVGA3dStreamOutputId;

SVGA3dRGBAUint32;

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

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

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

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

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

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

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

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

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

SVGA3dIfaceData;

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

#define SVGA3D_DXQUERY_FLAG_PREDICATEHINT
SVGA3dDXQueryFlags;

#define SVGADX_QDSTATE_INVALID
#define SVGADX_QDSTATE_MIN
#define SVGADX_QDSTATE_IDLE
#define SVGADX_QDSTATE_ACTIVE
#define SVGADX_QDSTATE_PENDING
#define SVGADX_QDSTATE_FINISHED
#define SVGADX_QDSTATE_MAX
SVGADXQueryDeviceState;

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

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

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

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

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

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

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

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

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

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

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

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

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

#define SVGA3D_DX_SO_OFFSET_APPEND

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

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

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

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

#define SVGA3D_DX_MAX_VIEWPORTS

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

#define SVGA3D_DX_MAX_SCISSORRECTS

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

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

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

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

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

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

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

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

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

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

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

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

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

SVGA3dDXPresentBltMode;
#define SVGADX_PRESENTBLT_LINEAR
#define SVGADX_PRESENTBLT_FORCE_SRC_SRGB
#define SVGADX_PRESENTBLT_FORCE_SRC_XRBIAS
#define SVGADX_PRESENTBLT_MODE_MAX

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

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

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

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

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

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

#define SVGA3D_TRANSFER_TO_BUFFER_READBACK
#define SVGA3D_TRANSFER_TO_BUFFER_FLAGS_MASK
SVGA3dTransferToBufferFlags;

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

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

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

SVGADXHintId;
#define SVGA_DX_HINT_NONE
#define SVGA_DX_HINT_PREFETCH_OBJECT
#define SVGA_DX_HINT_PREEVICT_OBJECT
#define SVGA_DX_HINT_PREFETCH_COBJECT
#define SVGA_DX_HINT_PREEVICT_COBJECT
#define SVGA_DX_HINT_MAX

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

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

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

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

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

SVGA3dCmdDXSetVSConstantBufferOffset;

SVGA3dCmdDXSetPSConstantBufferOffset;

SVGA3dCmdDXSetGSConstantBufferOffset;

SVGA3dCmdDXSetHSConstantBufferOffset;

SVGA3dCmdDXSetDSConstantBufferOffset;

SVGA3dCmdDXSetCSConstantBufferOffset;

#define SVGA3D_BUFFEREX_SRV_RAW
#define SVGA3D_BUFFEREX_SRV_FLAGS_MAX
#define SVGA3D_BUFFEREX_SRV_FLAGS_MASK
SVGA3dBufferExFlags;

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

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

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

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

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

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

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

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

#define SVGA3D_DXDSVIEW_CREATE_READ_ONLY_DEPTH
#define SVGA3D_DXDSVIEW_CREATE_READ_ONLY_STENCIL
#define SVGA3D_DXDSVIEW_CREATE_FLAG_MASK
SVGA3DCreateDSViewFlags;

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

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

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

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

#define SVGA3D_UABUFFER_RAW
#define SVGA3D_UABUFFER_APPEND
#define SVGA3D_UABUFFER_COUNTER
SVGA3dUABufferFlags;

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

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

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

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

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

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

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

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

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

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

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

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

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

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

#define SVGA3D_DX_MAX_RENDER_TARGETS

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

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

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

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

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

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

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

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

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

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

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

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

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

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

#define SVGADX_SIGNATURE_SEMANTIC_NAME_UNDEFINED
#define SVGADX_SIGNATURE_SEMANTIC_NAME_POSITION
#define SVGADX_SIGNATURE_SEMANTIC_NAME_CLIP_DISTANCE
#define SVGADX_SIGNATURE_SEMANTIC_NAME_CULL_DISTANCE
#define SVGADX_SIGNATURE_SEMANTIC_NAME_RENDER_TARGET_ARRAY_INDEX
#define SVGADX_SIGNATURE_SEMANTIC_NAME_VIEWPORT_ARRAY_INDEX
#define SVGADX_SIGNATURE_SEMANTIC_NAME_VERTEX_ID
#define SVGADX_SIGNATURE_SEMANTIC_NAME_PRIMITIVE_ID
#define SVGADX_SIGNATURE_SEMANTIC_NAME_INSTANCE_ID
#define SVGADX_SIGNATURE_SEMANTIC_NAME_IS_FRONT_FACE
#define SVGADX_SIGNATURE_SEMANTIC_NAME_SAMPLE_INDEX
#define SVGADX_SIGNATURE_SEMANTIC_NAME_FINAL_QUAD_U_EQ_0_EDGE_TESSFACTOR
#define SVGADX_SIGNATURE_SEMANTIC_NAME_FINAL_QUAD_V_EQ_0_EDGE_TESSFACTOR
#define SVGADX_SIGNATURE_SEMANTIC_NAME_FINAL_QUAD_U_EQ_1_EDGE_TESSFACTOR
#define SVGADX_SIGNATURE_SEMANTIC_NAME_FINAL_QUAD_V_EQ_1_EDGE_TESSFACTOR
#define SVGADX_SIGNATURE_SEMANTIC_NAME_FINAL_QUAD_U_INSIDE_TESSFACTOR
#define SVGADX_SIGNATURE_SEMANTIC_NAME_FINAL_QUAD_V_INSIDE_TESSFACTOR
#define SVGADX_SIGNATURE_SEMANTIC_NAME_FINAL_TRI_U_EQ_0_EDGE_TESSFACTOR
#define SVGADX_SIGNATURE_SEMANTIC_NAME_FINAL_TRI_V_EQ_0_EDGE_TESSFACTOR
#define SVGADX_SIGNATURE_SEMANTIC_NAME_FINAL_TRI_W_EQ_0_EDGE_TESSFACTOR
#define SVGADX_SIGNATURE_SEMANTIC_NAME_FINAL_TRI_INSIDE_TESSFACTOR
#define SVGADX_SIGNATURE_SEMANTIC_NAME_FINAL_LINE_DETAIL_TESSFACTOR
#define SVGADX_SIGNATURE_SEMANTIC_NAME_FINAL_LINE_DENSITY_TESSFACTOR
#define SVGADX_SIGNATURE_SEMANTIC_NAME_MAX
SVGA3dDXSignatureSemanticName;

#define SVGADX_SIGNATURE_REGISTER_COMPONENT_UNKNOWN
SVGA3dDXSignatureRegisterComponentType;

#define SVGADX_SIGNATURE_MIN_PRECISION_DEFAULT
SVGA3dDXSignatureMinPrecision;

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

#define SVGADX_SIGNATURE_HEADER_VERSION_0

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

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

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

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

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

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

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

#define SVGA3D_MAX_DX10_STREAMOUT_DECLS
#define SVGA3D_MAX_STREAMOUT_DECLS

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

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

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

#define SVGA3D_DX_SO_NO_RASTERIZED_STREAM

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

#define SVGA3D_DX_MAX_CLASS_INSTANCES_PADDED

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

#endif