mirror of
https://gitlab.winehq.org/wine/wine.git
synced 2025-08-28 10:13:55 +02:00
208 lines
6.5 KiB
C
208 lines
6.5 KiB
C
/*
|
|
* Copyright 2020 Brendan Shanks for CodeWeavers
|
|
*
|
|
* This library is free software; you can redistribute it and/or
|
|
* modify it under the terms of the GNU Lesser General Public
|
|
* License as published by the Free Software Foundation; either
|
|
* version 2.1 of the License, or (at your option) any later version.
|
|
*
|
|
* This library is distributed in the hope that it will be useful,
|
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
|
* Lesser General Public License for more details.
|
|
*
|
|
* You should have received a copy of the GNU Lesser General Public
|
|
* License along with this library; if not, write to the Free Software
|
|
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
|
|
*/
|
|
|
|
#ifndef __WINE_D3DKMDT_H
|
|
#define __WINE_D3DKMDT_H
|
|
|
|
#define DXGK_FEATURE_SUPPORT_ALWAYS_OFF ((UINT)0)
|
|
#define DXGK_FEATURE_SUPPORT_EXPERIMENTAL ((UINT)1)
|
|
#define DXGK_FEATURE_SUPPORT_STABLE ((UINT)2)
|
|
#define DXGK_FEATURE_SUPPORT_ALWAYS_ON ((UINT)3)
|
|
|
|
typedef enum _D3DKMDT_VIDEO_SIGNAL_STANDARD
|
|
{
|
|
D3DKMDT_VSS_UNINITIALIZED = 0,
|
|
D3DKMDT_VSS_VESA_DMT = 1,
|
|
D3DKMDT_VSS_VESA_GTF = 2,
|
|
D3DKMDT_VSS_VESA_CVT = 3,
|
|
D3DKMDT_VSS_IBM = 4,
|
|
D3DKMDT_VSS_APPLE = 5,
|
|
D3DKMDT_VSS_NTSC_M = 6,
|
|
D3DKMDT_VSS_NTSC_J = 7,
|
|
D3DKMDT_VSS_NTSC_443 = 8,
|
|
D3DKMDT_VSS_PAL_B = 9,
|
|
D3DKMDT_VSS_PAL_B1 = 10,
|
|
D3DKMDT_VSS_PAL_G = 11,
|
|
D3DKMDT_VSS_PAL_H = 12,
|
|
D3DKMDT_VSS_PAL_I = 13,
|
|
D3DKMDT_VSS_PAL_D = 14,
|
|
D3DKMDT_VSS_PAL_N = 15,
|
|
D3DKMDT_VSS_PAL_NC = 16,
|
|
D3DKMDT_VSS_SECAM_B = 17,
|
|
D3DKMDT_VSS_SECAM_D = 18,
|
|
D3DKMDT_VSS_SECAM_G = 19,
|
|
D3DKMDT_VSS_SECAM_H = 20,
|
|
D3DKMDT_VSS_SECAM_K = 21,
|
|
D3DKMDT_VSS_SECAM_K1 = 22,
|
|
D3DKMDT_VSS_SECAM_L = 23,
|
|
D3DKMDT_VSS_SECAM_L1 = 24,
|
|
D3DKMDT_VSS_EIA_861 = 25,
|
|
D3DKMDT_VSS_EIA_861A = 26,
|
|
D3DKMDT_VSS_EIA_861B = 27,
|
|
D3DKMDT_VSS_PAL_K = 28,
|
|
D3DKMDT_VSS_PAL_K1 = 29,
|
|
D3DKMDT_VSS_PAL_L = 30,
|
|
D3DKMDT_VSS_PAL_M = 31,
|
|
D3DKMDT_VSS_OTHER = 255
|
|
} D3DKMDT_VIDEO_SIGNAL_STANDARD;
|
|
|
|
typedef enum _D3DKMDT_GRAPHICS_PREEMPTION_GRANULARITY
|
|
{
|
|
D3DKMDT_GRAPHICS_PREEMPTION_NONE = 0,
|
|
D3DKMDT_GRAPHICS_PREEMPTION_DMA_BUFFER_BOUNDARY = 100,
|
|
D3DKMDT_GRAPHICS_PREEMPTION_PRIMITIVE_BOUNDARY = 200,
|
|
D3DKMDT_GRAPHICS_PREEMPTION_TRIANGLE_BOUNDARY = 300,
|
|
D3DKMDT_GRAPHICS_PREEMPTION_PIXEL_BOUNDARY = 400,
|
|
D3DKMDT_GRAPHICS_PREEMPTION_SHADER_BOUNDARY = 500,
|
|
} D3DKMDT_GRAPHICS_PREEMPTION_GRANULARITY;
|
|
|
|
typedef enum _D3DKMDT_COMPUTE_PREEMPTION_GRANULARITY
|
|
{
|
|
D3DKMDT_COMPUTE_PREEMPTION_NONE = 0,
|
|
D3DKMDT_COMPUTE_PREEMPTION_DMA_BUFFER_BOUNDARY = 100,
|
|
D3DKMDT_COMPUTE_PREEMPTION_DISPATCH_BOUNDARY = 200,
|
|
D3DKMDT_COMPUTE_PREEMPTION_THREAD_GROUP_BOUNDARY = 300,
|
|
D3DKMDT_COMPUTE_PREEMPTION_THREAD_BOUNDARY = 400,
|
|
D3DKMDT_COMPUTE_PREEMPTION_SHADER_BOUNDARY = 500,
|
|
} D3DKMDT_COMPUTE_PREEMPTION_GRANULARITY;
|
|
|
|
typedef struct _D3DKMDT_PREEMPTION_CAPS
|
|
{
|
|
D3DKMDT_GRAPHICS_PREEMPTION_GRANULARITY GraphicsPreemptionGranularity;
|
|
D3DKMDT_COMPUTE_PREEMPTION_GRANULARITY ComputePreemptionGranularity;
|
|
} D3DKMDT_PREEMPTION_CAPS;
|
|
|
|
typedef struct _D3DKMT_WDDM_1_2_CAPS
|
|
{
|
|
D3DKMDT_PREEMPTION_CAPS PreemptionCaps;
|
|
union
|
|
{
|
|
struct
|
|
{
|
|
UINT SupportNonVGA : 1;
|
|
UINT SupportSmoothRotation : 1;
|
|
UINT SupportPerEngineTDR : 1;
|
|
UINT SupportKernelModeCommandBuffer : 1;
|
|
UINT SupportCCD : 1;
|
|
UINT SupportSoftwareDeviceBitmaps : 1;
|
|
UINT SupportGammaRamp : 1;
|
|
UINT SupportHWCursor : 1;
|
|
UINT SupportHWVSync : 1;
|
|
UINT SupportSurpriseRemovalInHibernation : 1;
|
|
UINT Reserved : 22;
|
|
};
|
|
UINT Value;
|
|
};
|
|
} D3DKMT_WDDM_1_2_CAPS;
|
|
|
|
typedef struct _D3DKMT_WDDM_1_3_CAPS
|
|
{
|
|
union
|
|
{
|
|
struct
|
|
{
|
|
UINT SupportMiracast : 1;
|
|
UINT IsHybridIntegratedGPU : 1;
|
|
UINT IsHybridDiscreteGPU : 1;
|
|
UINT SupportPowerManagementPStates : 1;
|
|
UINT SupportVirtualModes : 1;
|
|
UINT SupportCrossAdapterResource : 1;
|
|
UINT Reserved : 26;
|
|
};
|
|
UINT Value;
|
|
};
|
|
} D3DKMT_WDDM_1_3_CAPS;
|
|
|
|
typedef struct _D3DKMT_WDDM_2_0_CAPS
|
|
{
|
|
union
|
|
{
|
|
struct
|
|
{
|
|
UINT Support64BitAtomics : 1;
|
|
UINT GpuMmuSupported : 1;
|
|
UINT IoMmuSupported : 1;
|
|
UINT FlipOverwriteSupported : 1;
|
|
UINT SupportContextlessPresent : 1;
|
|
UINT SupportSurpriseRemoval : 1;
|
|
UINT Reserved : 26;
|
|
};
|
|
UINT Value;
|
|
};
|
|
} D3DKMT_WDDM_2_0_CAPS;
|
|
|
|
typedef struct _D3DKMT_WDDM_2_7_CAPS
|
|
{
|
|
union
|
|
{
|
|
struct
|
|
{
|
|
UINT HwSchSupported : 1;
|
|
UINT HwSchEnabled : 1;
|
|
UINT HwSchEnabledByDefault : 1;
|
|
UINT IndependentVidPnVSyncControl : 1;
|
|
UINT Reserved : 28;
|
|
};
|
|
UINT Value;
|
|
};
|
|
} D3DKMT_WDDM_2_7_CAPS;
|
|
|
|
typedef struct _D3DKMT_WDDM_2_9_CAPS
|
|
{
|
|
union
|
|
{
|
|
struct
|
|
{
|
|
UINT HwSchSupportState : 2;
|
|
UINT HwSchEnabled : 1;
|
|
UINT SelfRefreshMemorySupported : 1;
|
|
UINT Reserved : 28;
|
|
};
|
|
UINT Value;
|
|
};
|
|
} D3DKMT_WDDM_2_9_CAPS;
|
|
|
|
typedef struct _D3DKMT_WDDM_3_0_CAPS
|
|
{
|
|
union
|
|
{
|
|
struct
|
|
{
|
|
UINT HwFlipQueueSupportState : 2;
|
|
UINT HwFlipQueueEnabled : 1;
|
|
UINT DisplayableSupported : 1;
|
|
UINT Reserved : 28;
|
|
};
|
|
UINT Value;
|
|
};
|
|
} D3DKMT_WDDM_3_0_CAPS;
|
|
|
|
typedef struct _D3DKMT_WDDM_3_1_CAPS
|
|
{
|
|
union
|
|
{
|
|
struct
|
|
{
|
|
UINT NativeGpuFenceSupported : 1;
|
|
UINT Reserved : 31;
|
|
};
|
|
UINT Value;
|
|
};
|
|
} D3DKMT_WDDM_3_1_CAPS;
|
|
|
|
#endif /* __WINE_D3DKMDT_H */
|