Compare commits
5 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| d819878aba | |||
| 6ab39ae75d | |||
| 9c25dfc499 | |||
| 2d942545b4 | |||
| 9f17b1e953 |
+1
-1
@@ -12,7 +12,7 @@
|
||||
[submodule "llvm"]
|
||||
path = llvm
|
||||
url = https://github.com/llvm-mirror/llvm
|
||||
branch = release_36
|
||||
branch = release_39
|
||||
[submodule "rsx_program_decompiler"]
|
||||
path = rsx_program_decompiler
|
||||
url = https://github.com/RPCS3/rsx_program_decompiler
|
||||
|
||||
Vendored
+1156
-4571
File diff suppressed because it is too large
Load Diff
Vendored
+777
-3138
File diff suppressed because it is too large
Load Diff
Vendored
+46
-651
@@ -33,20 +33,14 @@ typedef interface ID2D1Device1 ID2D1Device1;
|
||||
|
||||
#endif
|
||||
|
||||
//+-----------------------------------------------------------------------------
|
||||
//
|
||||
// Enum:
|
||||
// D2D1_RENDERING_PRIORITY
|
||||
//
|
||||
// Synopsis:
|
||||
// Specifies the extent to which D2D will throttle work sent to the GPU.
|
||||
//
|
||||
//------------------------------------------------------------------------------
|
||||
/// <summary>
|
||||
/// Specifies the extent to which D2D will throttle work sent to the GPU.
|
||||
/// </summary>
|
||||
typedef enum D2D1_RENDERING_PRIORITY
|
||||
{
|
||||
D2D1_RENDERING_PRIORITY_NORMAL = 0,
|
||||
D2D1_RENDERING_PRIORITY_LOW = 1,
|
||||
D2D1_RENDERING_PRIORITY_FORCE_DWORD = 0xffffffff
|
||||
D2D1_RENDERING_PRIORITY_NORMAL = 0,
|
||||
D2D1_RENDERING_PRIORITY_LOW = 1,
|
||||
D2D1_RENDERING_PRIORITY_FORCE_DWORD = 0xffffffff
|
||||
|
||||
} D2D1_RENDERING_PRIORITY;
|
||||
|
||||
@@ -54,32 +48,25 @@ typedef enum D2D1_RENDERING_PRIORITY
|
||||
#ifndef D2D_USE_C_DEFINITIONS
|
||||
|
||||
|
||||
|
||||
//+-----------------------------------------------------------------------------
|
||||
//
|
||||
// Interface:
|
||||
// ID2D1GeometryRealization
|
||||
//
|
||||
//------------------------------------------------------------------------------
|
||||
/// <summary>
|
||||
/// Encapsulates a device- and transform-dependent representation of a filled or
|
||||
/// stroked geometry.
|
||||
/// </summary>
|
||||
interface DX_DECLARE_INTERFACE("a16907d7-bc02-4801-99e8-8cf7f485f774") ID2D1GeometryRealization : public ID2D1Resource
|
||||
{
|
||||
}; // interface ID2D1GeometryRealization
|
||||
|
||||
|
||||
|
||||
//+-----------------------------------------------------------------------------
|
||||
//
|
||||
// Interface:
|
||||
// ID2D1DeviceContext1
|
||||
//
|
||||
//------------------------------------------------------------------------------
|
||||
/// <summary>
|
||||
/// Enables creation and drawing of geometry realization objects.
|
||||
/// </summary>
|
||||
interface DX_DECLARE_INTERFACE("d37f57e4-6908-459f-a199-e72f24f79987") ID2D1DeviceContext1 : public ID2D1DeviceContext
|
||||
{
|
||||
|
||||
STDMETHOD(CreateFilledGeometryRealization)(
|
||||
_In_ ID2D1Geometry *geometry,
|
||||
FLOAT flatteningTolerance,
|
||||
_Outptr_ ID2D1GeometryRealization **geometryRealization
|
||||
_COM_Outptr_ ID2D1GeometryRealization **geometryRealization
|
||||
) PURE;
|
||||
|
||||
STDMETHOD(CreateStrokedGeometryRealization)(
|
||||
@@ -87,7 +74,7 @@ interface DX_DECLARE_INTERFACE("d37f57e4-6908-459f-a199-e72f24f79987") ID2D1Devi
|
||||
FLOAT flatteningTolerance,
|
||||
FLOAT strokeWidth,
|
||||
_In_opt_ ID2D1StrokeStyle *strokeStyle,
|
||||
_Outptr_ ID2D1GeometryRealization **geometryRealization
|
||||
_COM_Outptr_ ID2D1GeometryRealization **geometryRealization
|
||||
) PURE;
|
||||
|
||||
STDMETHOD_(void, DrawGeometryRealization)(
|
||||
@@ -97,82 +84,69 @@ interface DX_DECLARE_INTERFACE("d37f57e4-6908-459f-a199-e72f24f79987") ID2D1Devi
|
||||
}; // interface ID2D1DeviceContext1
|
||||
|
||||
|
||||
|
||||
//+-----------------------------------------------------------------------------
|
||||
//
|
||||
// Interface:
|
||||
// ID2D1Device1
|
||||
//
|
||||
//------------------------------------------------------------------------------
|
||||
/// <summary>
|
||||
/// Represents a resource domain whose objects and device contexts can be used
|
||||
/// together.
|
||||
/// </summary>
|
||||
interface DX_DECLARE_INTERFACE("d21768e1-23a4-4823-a14b-7c3eba85d658") ID2D1Device1 : public ID2D1Device
|
||||
{
|
||||
|
||||
|
||||
//
|
||||
// Retrieves the rendering priority currently set on the device.
|
||||
//
|
||||
/// <summary>
|
||||
/// Retrieves the rendering priority currently set on the device.
|
||||
/// </summary>
|
||||
STDMETHOD_(D2D1_RENDERING_PRIORITY, GetRenderingPriority)(
|
||||
) PURE;
|
||||
|
||||
|
||||
//
|
||||
// Sets the rendering priority of the device.
|
||||
//
|
||||
/// <summary>
|
||||
/// Sets the rendering priority of the device.
|
||||
/// </summary>
|
||||
STDMETHOD_(void, SetRenderingPriority)(
|
||||
D2D1_RENDERING_PRIORITY renderingPriority
|
||||
) PURE;
|
||||
|
||||
|
||||
//
|
||||
// Creates a new device context with no initially assigned target.
|
||||
//
|
||||
/// <summary>
|
||||
/// Creates a new device context with no initially assigned target.
|
||||
/// </summary>
|
||||
STDMETHOD(CreateDeviceContext)(
|
||||
D2D1_DEVICE_CONTEXT_OPTIONS options,
|
||||
_Outptr_ ID2D1DeviceContext1 **deviceContext1
|
||||
_COM_Outptr_ ID2D1DeviceContext1 **deviceContext1
|
||||
) PURE;
|
||||
|
||||
using ID2D1Device::CreateDeviceContext;
|
||||
}; // interface ID2D1Device1
|
||||
|
||||
|
||||
|
||||
//+-----------------------------------------------------------------------------
|
||||
//
|
||||
// Interface:
|
||||
// ID2D1Factory2
|
||||
//
|
||||
//------------------------------------------------------------------------------
|
||||
/// <summary>
|
||||
/// Creates Direct2D resources. This interface also enables the creation of
|
||||
/// ID2D1Device1 objects.
|
||||
/// </summary>
|
||||
interface DX_DECLARE_INTERFACE("94f81a73-9212-4376-9c58-b16a3a0d3992") ID2D1Factory2 : public ID2D1Factory1
|
||||
{
|
||||
|
||||
|
||||
//
|
||||
// This creates a new Direct2D device from the given IDXGIDevice.
|
||||
//
|
||||
/// <summary>
|
||||
/// This creates a new Direct2D device from the given IDXGIDevice.
|
||||
/// </summary>
|
||||
STDMETHOD(CreateDevice)(
|
||||
_In_ IDXGIDevice *dxgiDevice,
|
||||
_Outptr_ ID2D1Device1 **d2dDevice1
|
||||
_COM_Outptr_ ID2D1Device1 **d2dDevice1
|
||||
) PURE;
|
||||
|
||||
using ID2D1Factory1::CreateDevice;
|
||||
}; // interface ID2D1Factory2
|
||||
|
||||
|
||||
|
||||
//+-----------------------------------------------------------------------------
|
||||
//
|
||||
// Interface:
|
||||
// ID2D1CommandSink1
|
||||
//
|
||||
//------------------------------------------------------------------------------
|
||||
/// <summary>
|
||||
/// This interface performs all the same functions as the existing ID2D1CommandSink
|
||||
/// interface. It also enables access to the new primitive blend modes, MIN and ADD,
|
||||
/// through its SetPrimitiveBlend1 method.
|
||||
/// </summary>
|
||||
interface DX_DECLARE_INTERFACE("9eb767fd-4269-4467-b8c2-eb30cb305743") ID2D1CommandSink1 : public ID2D1CommandSink
|
||||
{
|
||||
|
||||
|
||||
//
|
||||
// This method is called if primitiveBlend value was added after Windows 8.
|
||||
// SetPrimitiveBlend method is used for Win8 values (_SOURCE_OVER and _COPY).
|
||||
//
|
||||
/// <summary>
|
||||
/// This method is called if primitiveBlend value was added after Windows 8.
|
||||
/// SetPrimitiveBlend method is used for Win8 values (_SOURCE_OVER and _COPY).
|
||||
/// </summary>
|
||||
STDMETHOD(SetPrimitiveBlend1)(
|
||||
D2D1_PRIMITIVE_BLEND primitiveBlend
|
||||
) PURE;
|
||||
@@ -195,593 +169,14 @@ EXTERN_C CONST IID IID_ID2D1CommandSink1;
|
||||
|
||||
typedef interface ID2D1GeometryRealization ID2D1GeometryRealization;
|
||||
|
||||
typedef struct ID2D1GeometryRealizationVtbl
|
||||
{
|
||||
|
||||
ID2D1ResourceVtbl Base;
|
||||
|
||||
} ID2D1GeometryRealizationVtbl;
|
||||
|
||||
interface ID2D1GeometryRealization
|
||||
{
|
||||
CONST struct ID2D1GeometryRealizationVtbl *lpVtbl;
|
||||
};
|
||||
|
||||
|
||||
#define ID2D1GeometryRealization_QueryInterface(This, riid, ppv) \
|
||||
((This)->lpVtbl->Base.Base.QueryInterface((IUnknown *)This, riid, ppv))
|
||||
|
||||
#define ID2D1GeometryRealization_AddRef(This) \
|
||||
((This)->lpVtbl->Base.Base.AddRef((IUnknown *)This))
|
||||
|
||||
#define ID2D1GeometryRealization_Release(This) \
|
||||
((This)->lpVtbl->Base.Base.Release((IUnknown *)This))
|
||||
|
||||
#define ID2D1GeometryRealization_GetFactory(This, factory) \
|
||||
((This)->lpVtbl->Base.GetFactory((ID2D1Resource *)This, factory))
|
||||
|
||||
typedef interface ID2D1DeviceContext1 ID2D1DeviceContext1;
|
||||
|
||||
typedef struct ID2D1DeviceContext1Vtbl
|
||||
{
|
||||
|
||||
ID2D1DeviceContextVtbl Base;
|
||||
|
||||
|
||||
STDMETHOD(CreateFilledGeometryRealization)(
|
||||
ID2D1DeviceContext1 *This,
|
||||
_In_ ID2D1Geometry *geometry,
|
||||
FLOAT flatteningTolerance,
|
||||
_Outptr_ ID2D1GeometryRealization **geometryRealization
|
||||
) PURE;
|
||||
|
||||
STDMETHOD(CreateStrokedGeometryRealization)(
|
||||
ID2D1DeviceContext1 *This,
|
||||
_In_ ID2D1Geometry *geometry,
|
||||
FLOAT flatteningTolerance,
|
||||
FLOAT strokeWidth,
|
||||
_In_opt_ ID2D1StrokeStyle *strokeStyle,
|
||||
_Outptr_ ID2D1GeometryRealization **geometryRealization
|
||||
) PURE;
|
||||
|
||||
STDMETHOD_(void, DrawGeometryRealization)(
|
||||
ID2D1DeviceContext1 *This,
|
||||
_In_ ID2D1GeometryRealization *geometryRealization,
|
||||
_In_ ID2D1Brush *brush
|
||||
) PURE;
|
||||
} ID2D1DeviceContext1Vtbl;
|
||||
|
||||
interface ID2D1DeviceContext1
|
||||
{
|
||||
CONST struct ID2D1DeviceContext1Vtbl *lpVtbl;
|
||||
};
|
||||
|
||||
|
||||
#define ID2D1DeviceContext1_QueryInterface(This, riid, ppv) \
|
||||
((This)->lpVtbl->Base.Base.Base.Base.QueryInterface((IUnknown *)This, riid, ppv))
|
||||
|
||||
#define ID2D1DeviceContext1_AddRef(This) \
|
||||
((This)->lpVtbl->Base.Base.Base.Base.AddRef((IUnknown *)This))
|
||||
|
||||
#define ID2D1DeviceContext1_Release(This) \
|
||||
((This)->lpVtbl->Base.Base.Base.Base.Release((IUnknown *)This))
|
||||
|
||||
#define ID2D1DeviceContext1_GetFactory(This, factory) \
|
||||
((This)->lpVtbl->Base.Base.Base.GetFactory((ID2D1Resource *)This, factory))
|
||||
|
||||
#define ID2D1DeviceContext1_CreateSharedBitmap(This, riid, data, bitmapProperties, bitmap) \
|
||||
((This)->lpVtbl->Base.Base.CreateSharedBitmap((ID2D1RenderTarget *)This, riid, data, bitmapProperties, bitmap))
|
||||
|
||||
#define ID2D1DeviceContext1_CreateSolidColorBrush(This, color, brushProperties, solidColorBrush) \
|
||||
((This)->lpVtbl->Base.Base.CreateSolidColorBrush((ID2D1RenderTarget *)This, color, brushProperties, solidColorBrush))
|
||||
|
||||
#define ID2D1DeviceContext1_CreateLinearGradientBrush(This, linearGradientBrushProperties, brushProperties, gradientStopCollection, linearGradientBrush) \
|
||||
((This)->lpVtbl->Base.Base.CreateLinearGradientBrush((ID2D1RenderTarget *)This, linearGradientBrushProperties, brushProperties, gradientStopCollection, linearGradientBrush))
|
||||
|
||||
#define ID2D1DeviceContext1_CreateRadialGradientBrush(This, radialGradientBrushProperties, brushProperties, gradientStopCollection, radialGradientBrush) \
|
||||
((This)->lpVtbl->Base.Base.CreateRadialGradientBrush((ID2D1RenderTarget *)This, radialGradientBrushProperties, brushProperties, gradientStopCollection, radialGradientBrush))
|
||||
|
||||
#define ID2D1DeviceContext1_CreateCompatibleRenderTarget(This, desiredSize, desiredPixelSize, desiredFormat, options, bitmapRenderTarget) \
|
||||
((This)->lpVtbl->Base.Base.CreateCompatibleRenderTarget((ID2D1RenderTarget *)This, desiredSize, desiredPixelSize, desiredFormat, options, bitmapRenderTarget))
|
||||
|
||||
#define ID2D1DeviceContext1_CreateLayer(This, size, layer) \
|
||||
((This)->lpVtbl->Base.Base.CreateLayer((ID2D1RenderTarget *)This, size, layer))
|
||||
|
||||
#define ID2D1DeviceContext1_CreateMesh(This, mesh) \
|
||||
((This)->lpVtbl->Base.Base.CreateMesh((ID2D1RenderTarget *)This, mesh))
|
||||
|
||||
#define ID2D1DeviceContext1_DrawLine(This, point0, point1, brush, strokeWidth, strokeStyle) \
|
||||
((This)->lpVtbl->Base.Base.DrawLine((ID2D1RenderTarget *)This, point0, point1, brush, strokeWidth, strokeStyle))
|
||||
|
||||
#define ID2D1DeviceContext1_DrawRectangle(This, rect, brush, strokeWidth, strokeStyle) \
|
||||
((This)->lpVtbl->Base.Base.DrawRectangle((ID2D1RenderTarget *)This, rect, brush, strokeWidth, strokeStyle))
|
||||
|
||||
#define ID2D1DeviceContext1_FillRectangle(This, rect, brush) \
|
||||
((This)->lpVtbl->Base.Base.FillRectangle((ID2D1RenderTarget *)This, rect, brush))
|
||||
|
||||
#define ID2D1DeviceContext1_DrawRoundedRectangle(This, roundedRect, brush, strokeWidth, strokeStyle) \
|
||||
((This)->lpVtbl->Base.Base.DrawRoundedRectangle((ID2D1RenderTarget *)This, roundedRect, brush, strokeWidth, strokeStyle))
|
||||
|
||||
#define ID2D1DeviceContext1_FillRoundedRectangle(This, roundedRect, brush) \
|
||||
((This)->lpVtbl->Base.Base.FillRoundedRectangle((ID2D1RenderTarget *)This, roundedRect, brush))
|
||||
|
||||
#define ID2D1DeviceContext1_DrawEllipse(This, ellipse, brush, strokeWidth, strokeStyle) \
|
||||
((This)->lpVtbl->Base.Base.DrawEllipse((ID2D1RenderTarget *)This, ellipse, brush, strokeWidth, strokeStyle))
|
||||
|
||||
#define ID2D1DeviceContext1_FillEllipse(This, ellipse, brush) \
|
||||
((This)->lpVtbl->Base.Base.FillEllipse((ID2D1RenderTarget *)This, ellipse, brush))
|
||||
|
||||
#define ID2D1DeviceContext1_DrawGeometry(This, geometry, brush, strokeWidth, strokeStyle) \
|
||||
((This)->lpVtbl->Base.Base.DrawGeometry((ID2D1RenderTarget *)This, geometry, brush, strokeWidth, strokeStyle))
|
||||
|
||||
#define ID2D1DeviceContext1_FillGeometry(This, geometry, brush, opacityBrush) \
|
||||
((This)->lpVtbl->Base.Base.FillGeometry((ID2D1RenderTarget *)This, geometry, brush, opacityBrush))
|
||||
|
||||
#define ID2D1DeviceContext1_FillMesh(This, mesh, brush) \
|
||||
((This)->lpVtbl->Base.Base.FillMesh((ID2D1RenderTarget *)This, mesh, brush))
|
||||
|
||||
#define ID2D1DeviceContext1_DrawText(This, string, stringLength, textFormat, layoutRect, defaultForegroundBrush, options, measuringMode) \
|
||||
((This)->lpVtbl->Base.Base.DrawText((ID2D1RenderTarget *)This, string, stringLength, textFormat, layoutRect, defaultForegroundBrush, options, measuringMode))
|
||||
|
||||
#define ID2D1DeviceContext1_DrawTextLayout(This, origin, textLayout, defaultForegroundBrush, options) \
|
||||
((This)->lpVtbl->Base.Base.DrawTextLayout((ID2D1RenderTarget *)This, origin, textLayout, defaultForegroundBrush, options))
|
||||
|
||||
#define ID2D1DeviceContext1_SetTransform(This, transform) \
|
||||
((This)->lpVtbl->Base.Base.SetTransform((ID2D1RenderTarget *)This, transform))
|
||||
|
||||
#define ID2D1DeviceContext1_GetTransform(This, transform) \
|
||||
((This)->lpVtbl->Base.Base.GetTransform((ID2D1RenderTarget *)This, transform))
|
||||
|
||||
#define ID2D1DeviceContext1_SetAntialiasMode(This, antialiasMode) \
|
||||
((This)->lpVtbl->Base.Base.SetAntialiasMode((ID2D1RenderTarget *)This, antialiasMode))
|
||||
|
||||
#define ID2D1DeviceContext1_GetAntialiasMode(This) \
|
||||
((This)->lpVtbl->Base.Base.GetAntialiasMode((ID2D1RenderTarget *)This))
|
||||
|
||||
#define ID2D1DeviceContext1_SetTextAntialiasMode(This, textAntialiasMode) \
|
||||
((This)->lpVtbl->Base.Base.SetTextAntialiasMode((ID2D1RenderTarget *)This, textAntialiasMode))
|
||||
|
||||
#define ID2D1DeviceContext1_GetTextAntialiasMode(This) \
|
||||
((This)->lpVtbl->Base.Base.GetTextAntialiasMode((ID2D1RenderTarget *)This))
|
||||
|
||||
#define ID2D1DeviceContext1_SetTextRenderingParams(This, textRenderingParams) \
|
||||
((This)->lpVtbl->Base.Base.SetTextRenderingParams((ID2D1RenderTarget *)This, textRenderingParams))
|
||||
|
||||
#define ID2D1DeviceContext1_GetTextRenderingParams(This, textRenderingParams) \
|
||||
((This)->lpVtbl->Base.Base.GetTextRenderingParams((ID2D1RenderTarget *)This, textRenderingParams))
|
||||
|
||||
#define ID2D1DeviceContext1_SetTags(This, tag1, tag2) \
|
||||
((This)->lpVtbl->Base.Base.SetTags((ID2D1RenderTarget *)This, tag1, tag2))
|
||||
|
||||
#define ID2D1DeviceContext1_GetTags(This, tag1, tag2) \
|
||||
((This)->lpVtbl->Base.Base.GetTags((ID2D1RenderTarget *)This, tag1, tag2))
|
||||
|
||||
#define ID2D1DeviceContext1_PopLayer(This) \
|
||||
((This)->lpVtbl->Base.Base.PopLayer((ID2D1RenderTarget *)This))
|
||||
|
||||
#define ID2D1DeviceContext1_Flush(This, tag1, tag2) \
|
||||
((This)->lpVtbl->Base.Base.Flush((ID2D1RenderTarget *)This, tag1, tag2))
|
||||
|
||||
#define ID2D1DeviceContext1_SaveDrawingState(This, drawingStateBlock) \
|
||||
((This)->lpVtbl->Base.Base.SaveDrawingState((ID2D1RenderTarget *)This, drawingStateBlock))
|
||||
|
||||
#define ID2D1DeviceContext1_RestoreDrawingState(This, drawingStateBlock) \
|
||||
((This)->lpVtbl->Base.Base.RestoreDrawingState((ID2D1RenderTarget *)This, drawingStateBlock))
|
||||
|
||||
#define ID2D1DeviceContext1_PushAxisAlignedClip(This, clipRect, antialiasMode) \
|
||||
((This)->lpVtbl->Base.Base.PushAxisAlignedClip((ID2D1RenderTarget *)This, clipRect, antialiasMode))
|
||||
|
||||
#define ID2D1DeviceContext1_PopAxisAlignedClip(This) \
|
||||
((This)->lpVtbl->Base.Base.PopAxisAlignedClip((ID2D1RenderTarget *)This))
|
||||
|
||||
#define ID2D1DeviceContext1_Clear(This, clearColor) \
|
||||
((This)->lpVtbl->Base.Base.Clear((ID2D1RenderTarget *)This, clearColor))
|
||||
|
||||
#define ID2D1DeviceContext1_BeginDraw(This) \
|
||||
((This)->lpVtbl->Base.Base.BeginDraw((ID2D1RenderTarget *)This))
|
||||
|
||||
#define ID2D1DeviceContext1_EndDraw(This, tag1, tag2) \
|
||||
((This)->lpVtbl->Base.Base.EndDraw((ID2D1RenderTarget *)This, tag1, tag2))
|
||||
|
||||
#define ID2D1DeviceContext1_GetPixelFormat(This) \
|
||||
((This)->lpVtbl->Base.Base.GetPixelFormat((ID2D1RenderTarget *)This))
|
||||
|
||||
#define ID2D1DeviceContext1_SetDpi(This, dpiX, dpiY) \
|
||||
((This)->lpVtbl->Base.Base.SetDpi((ID2D1RenderTarget *)This, dpiX, dpiY))
|
||||
|
||||
#define ID2D1DeviceContext1_GetDpi(This, dpiX, dpiY) \
|
||||
((This)->lpVtbl->Base.Base.GetDpi((ID2D1RenderTarget *)This, dpiX, dpiY))
|
||||
|
||||
#define ID2D1DeviceContext1_GetSize(This) \
|
||||
((This)->lpVtbl->Base.Base.GetSize((ID2D1RenderTarget *)This))
|
||||
|
||||
#define ID2D1DeviceContext1_GetPixelSize(This) \
|
||||
((This)->lpVtbl->Base.Base.GetPixelSize((ID2D1RenderTarget *)This))
|
||||
|
||||
#define ID2D1DeviceContext1_GetMaximumBitmapSize(This) \
|
||||
((This)->lpVtbl->Base.Base.GetMaximumBitmapSize((ID2D1RenderTarget *)This))
|
||||
|
||||
#define ID2D1DeviceContext1_IsSupported(This, renderTargetProperties) \
|
||||
((This)->lpVtbl->Base.Base.IsSupported((ID2D1RenderTarget *)This, renderTargetProperties))
|
||||
|
||||
#define ID2D1DeviceContext1_CreateBitmap(This, size, sourceData, pitch, bitmapProperties, bitmap) \
|
||||
((This)->lpVtbl->Base.CreateBitmap((ID2D1DeviceContext *)This, size, sourceData, pitch, bitmapProperties, bitmap))
|
||||
|
||||
#define ID2D1DeviceContext1_CreateBitmapFromWicBitmap(This, wicBitmapSource, bitmapProperties, bitmap) \
|
||||
((This)->lpVtbl->Base.CreateBitmapFromWicBitmap((ID2D1DeviceContext *)This, wicBitmapSource, bitmapProperties, bitmap))
|
||||
|
||||
#define ID2D1DeviceContext1_CreateColorContext(This, space, profile, profileSize, colorContext) \
|
||||
((This)->lpVtbl->Base.CreateColorContext((ID2D1DeviceContext *)This, space, profile, profileSize, colorContext))
|
||||
|
||||
#define ID2D1DeviceContext1_CreateColorContextFromFilename(This, filename, colorContext) \
|
||||
((This)->lpVtbl->Base.CreateColorContextFromFilename((ID2D1DeviceContext *)This, filename, colorContext))
|
||||
|
||||
#define ID2D1DeviceContext1_CreateColorContextFromWicColorContext(This, wicColorContext, colorContext) \
|
||||
((This)->lpVtbl->Base.CreateColorContextFromWicColorContext((ID2D1DeviceContext *)This, wicColorContext, colorContext))
|
||||
|
||||
#define ID2D1DeviceContext1_CreateBitmapFromDxgiSurface(This, surface, bitmapProperties, bitmap) \
|
||||
((This)->lpVtbl->Base.CreateBitmapFromDxgiSurface((ID2D1DeviceContext *)This, surface, bitmapProperties, bitmap))
|
||||
|
||||
#define ID2D1DeviceContext1_CreateEffect(This, effectId, effect) \
|
||||
((This)->lpVtbl->Base.CreateEffect((ID2D1DeviceContext *)This, effectId, effect))
|
||||
|
||||
#define ID2D1DeviceContext1_CreateGradientStopCollection(This, straightAlphaGradientStops, straightAlphaGradientStopsCount, preInterpolationSpace, postInterpolationSpace, bufferPrecision, extendMode, colorInterpolationMode, gradientStopCollection1) \
|
||||
((This)->lpVtbl->Base.CreateGradientStopCollection((ID2D1DeviceContext *)This, straightAlphaGradientStops, straightAlphaGradientStopsCount, preInterpolationSpace, postInterpolationSpace, bufferPrecision, extendMode, colorInterpolationMode, gradientStopCollection1))
|
||||
|
||||
#define ID2D1DeviceContext1_CreateImageBrush(This, image, imageBrushProperties, brushProperties, imageBrush) \
|
||||
((This)->lpVtbl->Base.CreateImageBrush((ID2D1DeviceContext *)This, image, imageBrushProperties, brushProperties, imageBrush))
|
||||
|
||||
#define ID2D1DeviceContext1_CreateBitmapBrush(This, bitmap, bitmapBrushProperties, brushProperties, bitmapBrush) \
|
||||
((This)->lpVtbl->Base.CreateBitmapBrush((ID2D1DeviceContext *)This, bitmap, bitmapBrushProperties, brushProperties, bitmapBrush))
|
||||
|
||||
#define ID2D1DeviceContext1_CreateCommandList(This, commandList) \
|
||||
((This)->lpVtbl->Base.CreateCommandList((ID2D1DeviceContext *)This, commandList))
|
||||
|
||||
#define ID2D1DeviceContext1_IsDxgiFormatSupported(This, format) \
|
||||
((This)->lpVtbl->Base.IsDxgiFormatSupported((ID2D1DeviceContext *)This, format))
|
||||
|
||||
#define ID2D1DeviceContext1_IsBufferPrecisionSupported(This, bufferPrecision) \
|
||||
((This)->lpVtbl->Base.IsBufferPrecisionSupported((ID2D1DeviceContext *)This, bufferPrecision))
|
||||
|
||||
#define ID2D1DeviceContext1_GetImageLocalBounds(This, image, localBounds) \
|
||||
((This)->lpVtbl->Base.GetImageLocalBounds((ID2D1DeviceContext *)This, image, localBounds))
|
||||
|
||||
#define ID2D1DeviceContext1_GetImageWorldBounds(This, image, worldBounds) \
|
||||
((This)->lpVtbl->Base.GetImageWorldBounds((ID2D1DeviceContext *)This, image, worldBounds))
|
||||
|
||||
#define ID2D1DeviceContext1_GetGlyphRunWorldBounds(This, baselineOrigin, glyphRun, measuringMode, bounds) \
|
||||
((This)->lpVtbl->Base.GetGlyphRunWorldBounds((ID2D1DeviceContext *)This, baselineOrigin, glyphRun, measuringMode, bounds))
|
||||
|
||||
#define ID2D1DeviceContext1_GetDevice(This, device) \
|
||||
((This)->lpVtbl->Base.GetDevice((ID2D1DeviceContext *)This, device))
|
||||
|
||||
#define ID2D1DeviceContext1_SetTarget(This, image) \
|
||||
((This)->lpVtbl->Base.SetTarget((ID2D1DeviceContext *)This, image))
|
||||
|
||||
#define ID2D1DeviceContext1_GetTarget(This, image) \
|
||||
((This)->lpVtbl->Base.GetTarget((ID2D1DeviceContext *)This, image))
|
||||
|
||||
#define ID2D1DeviceContext1_SetRenderingControls(This, renderingControls) \
|
||||
((This)->lpVtbl->Base.SetRenderingControls((ID2D1DeviceContext *)This, renderingControls))
|
||||
|
||||
#define ID2D1DeviceContext1_GetRenderingControls(This, renderingControls) \
|
||||
((This)->lpVtbl->Base.GetRenderingControls((ID2D1DeviceContext *)This, renderingControls))
|
||||
|
||||
#define ID2D1DeviceContext1_SetPrimitiveBlend(This, primitiveBlend) \
|
||||
((This)->lpVtbl->Base.SetPrimitiveBlend((ID2D1DeviceContext *)This, primitiveBlend))
|
||||
|
||||
#define ID2D1DeviceContext1_GetPrimitiveBlend(This) \
|
||||
((This)->lpVtbl->Base.GetPrimitiveBlend((ID2D1DeviceContext *)This))
|
||||
|
||||
#define ID2D1DeviceContext1_SetUnitMode(This, unitMode) \
|
||||
((This)->lpVtbl->Base.SetUnitMode((ID2D1DeviceContext *)This, unitMode))
|
||||
|
||||
#define ID2D1DeviceContext1_GetUnitMode(This) \
|
||||
((This)->lpVtbl->Base.GetUnitMode((ID2D1DeviceContext *)This))
|
||||
|
||||
#define ID2D1DeviceContext1_DrawGlyphRun(This, baselineOrigin, glyphRun, glyphRunDescription, foregroundBrush, measuringMode) \
|
||||
((This)->lpVtbl->Base.DrawGlyphRun((ID2D1DeviceContext *)This, baselineOrigin, glyphRun, glyphRunDescription, foregroundBrush, measuringMode))
|
||||
|
||||
#define ID2D1DeviceContext1_DrawImage(This, image, targetOffset, imageRectangle, interpolationMode, compositeMode) \
|
||||
((This)->lpVtbl->Base.DrawImage((ID2D1DeviceContext *)This, image, targetOffset, imageRectangle, interpolationMode, compositeMode))
|
||||
|
||||
#define ID2D1DeviceContext1_DrawGdiMetafile(This, gdiMetafile, targetOffset) \
|
||||
((This)->lpVtbl->Base.DrawGdiMetafile((ID2D1DeviceContext *)This, gdiMetafile, targetOffset))
|
||||
|
||||
#define ID2D1DeviceContext1_DrawBitmap(This, bitmap, destinationRectangle, opacity, interpolationMode, sourceRectangle, perspectiveTransform) \
|
||||
((This)->lpVtbl->Base.DrawBitmap((ID2D1DeviceContext *)This, bitmap, destinationRectangle, opacity, interpolationMode, sourceRectangle, perspectiveTransform))
|
||||
|
||||
#define ID2D1DeviceContext1_PushLayer(This, layerParameters, layer) \
|
||||
((This)->lpVtbl->Base.PushLayer((ID2D1DeviceContext *)This, layerParameters, layer))
|
||||
|
||||
#define ID2D1DeviceContext1_InvalidateEffectInputRectangle(This, effect, input, inputRectangle) \
|
||||
((This)->lpVtbl->Base.InvalidateEffectInputRectangle((ID2D1DeviceContext *)This, effect, input, inputRectangle))
|
||||
|
||||
#define ID2D1DeviceContext1_GetEffectInvalidRectangleCount(This, effect, rectangleCount) \
|
||||
((This)->lpVtbl->Base.GetEffectInvalidRectangleCount((ID2D1DeviceContext *)This, effect, rectangleCount))
|
||||
|
||||
#define ID2D1DeviceContext1_GetEffectInvalidRectangles(This, effect, rectangles, rectanglesCount) \
|
||||
((This)->lpVtbl->Base.GetEffectInvalidRectangles((ID2D1DeviceContext *)This, effect, rectangles, rectanglesCount))
|
||||
|
||||
#define ID2D1DeviceContext1_GetEffectRequiredInputRectangles(This, renderEffect, renderImageRectangle, inputDescriptions, requiredInputRects, inputCount) \
|
||||
((This)->lpVtbl->Base.GetEffectRequiredInputRectangles((ID2D1DeviceContext *)This, renderEffect, renderImageRectangle, inputDescriptions, requiredInputRects, inputCount))
|
||||
|
||||
#define ID2D1DeviceContext1_FillOpacityMask(This, opacityMask, brush, destinationRectangle, sourceRectangle) \
|
||||
((This)->lpVtbl->Base.FillOpacityMask((ID2D1DeviceContext *)This, opacityMask, brush, destinationRectangle, sourceRectangle))
|
||||
|
||||
#define ID2D1DeviceContext1_CreateFilledGeometryRealization(This, geometry, flatteningTolerance, geometryRealization) \
|
||||
((This)->lpVtbl->CreateFilledGeometryRealization(This, geometry, flatteningTolerance, geometryRealization))
|
||||
|
||||
#define ID2D1DeviceContext1_CreateStrokedGeometryRealization(This, geometry, flatteningTolerance, strokeWidth, strokeStyle, geometryRealization) \
|
||||
((This)->lpVtbl->CreateStrokedGeometryRealization(This, geometry, flatteningTolerance, strokeWidth, strokeStyle, geometryRealization))
|
||||
|
||||
#define ID2D1DeviceContext1_DrawGeometryRealization(This, geometryRealization, brush) \
|
||||
((This)->lpVtbl->DrawGeometryRealization(This, geometryRealization, brush))
|
||||
|
||||
typedef interface ID2D1Device1 ID2D1Device1;
|
||||
|
||||
typedef struct ID2D1Device1Vtbl
|
||||
{
|
||||
|
||||
ID2D1DeviceVtbl Base;
|
||||
|
||||
|
||||
STDMETHOD_(D2D1_RENDERING_PRIORITY, GetRenderingPriority)(
|
||||
ID2D1Device1 *This
|
||||
) PURE;
|
||||
|
||||
STDMETHOD_(void, SetRenderingPriority)(
|
||||
ID2D1Device1 *This,
|
||||
D2D1_RENDERING_PRIORITY renderingPriority
|
||||
) PURE;
|
||||
|
||||
STDMETHOD(CreateDeviceContext)(
|
||||
ID2D1Device1 *This,
|
||||
D2D1_DEVICE_CONTEXT_OPTIONS options,
|
||||
_Outptr_ ID2D1DeviceContext1 **deviceContext1
|
||||
) PURE;
|
||||
} ID2D1Device1Vtbl;
|
||||
|
||||
interface ID2D1Device1
|
||||
{
|
||||
CONST struct ID2D1Device1Vtbl *lpVtbl;
|
||||
};
|
||||
|
||||
|
||||
#define ID2D1Device1_QueryInterface(This, riid, ppv) \
|
||||
((This)->lpVtbl->Base.Base.Base.QueryInterface((IUnknown *)This, riid, ppv))
|
||||
|
||||
#define ID2D1Device1_AddRef(This) \
|
||||
((This)->lpVtbl->Base.Base.Base.AddRef((IUnknown *)This))
|
||||
|
||||
#define ID2D1Device1_Release(This) \
|
||||
((This)->lpVtbl->Base.Base.Base.Release((IUnknown *)This))
|
||||
|
||||
#define ID2D1Device1_GetFactory(This, factory) \
|
||||
((This)->lpVtbl->Base.Base.GetFactory((ID2D1Resource *)This, factory))
|
||||
|
||||
#define ID2D1Device1_CreatePrintControl(This, wicFactory, documentTarget, printControlProperties, printControl) \
|
||||
((This)->lpVtbl->Base.CreatePrintControl((ID2D1Device *)This, wicFactory, documentTarget, printControlProperties, printControl))
|
||||
|
||||
#define ID2D1Device1_SetMaximumTextureMemory(This, maximumInBytes) \
|
||||
((This)->lpVtbl->Base.SetMaximumTextureMemory((ID2D1Device *)This, maximumInBytes))
|
||||
|
||||
#define ID2D1Device1_GetMaximumTextureMemory(This) \
|
||||
((This)->lpVtbl->Base.GetMaximumTextureMemory((ID2D1Device *)This))
|
||||
|
||||
#define ID2D1Device1_ClearResources(This, millisecondsSinceUse) \
|
||||
((This)->lpVtbl->Base.ClearResources((ID2D1Device *)This, millisecondsSinceUse))
|
||||
|
||||
#define ID2D1Device1_GetRenderingPriority(This) \
|
||||
((This)->lpVtbl->GetRenderingPriority(This))
|
||||
|
||||
#define ID2D1Device1_SetRenderingPriority(This, renderingPriority) \
|
||||
((This)->lpVtbl->SetRenderingPriority(This, renderingPriority))
|
||||
|
||||
#define ID2D1Device1_CreateDeviceContext(This, options, deviceContext1) \
|
||||
((This)->lpVtbl->CreateDeviceContext(This, options, deviceContext1))
|
||||
|
||||
typedef interface ID2D1Factory2 ID2D1Factory2;
|
||||
|
||||
typedef struct ID2D1Factory2Vtbl
|
||||
{
|
||||
|
||||
ID2D1Factory1Vtbl Base;
|
||||
|
||||
|
||||
STDMETHOD(CreateDevice)(
|
||||
ID2D1Factory2 *This,
|
||||
_In_ IDXGIDevice *dxgiDevice,
|
||||
_Outptr_ ID2D1Device1 **d2dDevice1
|
||||
) PURE;
|
||||
} ID2D1Factory2Vtbl;
|
||||
|
||||
interface ID2D1Factory2
|
||||
{
|
||||
CONST struct ID2D1Factory2Vtbl *lpVtbl;
|
||||
};
|
||||
|
||||
|
||||
#define ID2D1Factory2_QueryInterface(This, riid, ppv) \
|
||||
((This)->lpVtbl->Base.Base.Base.QueryInterface((IUnknown *)This, riid, ppv))
|
||||
|
||||
#define ID2D1Factory2_AddRef(This) \
|
||||
((This)->lpVtbl->Base.Base.Base.AddRef((IUnknown *)This))
|
||||
|
||||
#define ID2D1Factory2_Release(This) \
|
||||
((This)->lpVtbl->Base.Base.Base.Release((IUnknown *)This))
|
||||
|
||||
#define ID2D1Factory2_ReloadSystemMetrics(This) \
|
||||
((This)->lpVtbl->Base.Base.ReloadSystemMetrics((ID2D1Factory *)This))
|
||||
|
||||
#define ID2D1Factory2_GetDesktopDpi(This, dpiX, dpiY) \
|
||||
((This)->lpVtbl->Base.Base.GetDesktopDpi((ID2D1Factory *)This, dpiX, dpiY))
|
||||
|
||||
#define ID2D1Factory2_CreateRectangleGeometry(This, rectangle, rectangleGeometry) \
|
||||
((This)->lpVtbl->Base.Base.CreateRectangleGeometry((ID2D1Factory *)This, rectangle, rectangleGeometry))
|
||||
|
||||
#define ID2D1Factory2_CreateRoundedRectangleGeometry(This, roundedRectangle, roundedRectangleGeometry) \
|
||||
((This)->lpVtbl->Base.Base.CreateRoundedRectangleGeometry((ID2D1Factory *)This, roundedRectangle, roundedRectangleGeometry))
|
||||
|
||||
#define ID2D1Factory2_CreateEllipseGeometry(This, ellipse, ellipseGeometry) \
|
||||
((This)->lpVtbl->Base.Base.CreateEllipseGeometry((ID2D1Factory *)This, ellipse, ellipseGeometry))
|
||||
|
||||
#define ID2D1Factory2_CreateGeometryGroup(This, fillMode, geometries, geometriesCount, geometryGroup) \
|
||||
((This)->lpVtbl->Base.Base.CreateGeometryGroup((ID2D1Factory *)This, fillMode, geometries, geometriesCount, geometryGroup))
|
||||
|
||||
#define ID2D1Factory2_CreateTransformedGeometry(This, sourceGeometry, transform, transformedGeometry) \
|
||||
((This)->lpVtbl->Base.Base.CreateTransformedGeometry((ID2D1Factory *)This, sourceGeometry, transform, transformedGeometry))
|
||||
|
||||
#define ID2D1Factory2_CreateWicBitmapRenderTarget(This, target, renderTargetProperties, renderTarget) \
|
||||
((This)->lpVtbl->Base.Base.CreateWicBitmapRenderTarget((ID2D1Factory *)This, target, renderTargetProperties, renderTarget))
|
||||
|
||||
#define ID2D1Factory2_CreateHwndRenderTarget(This, renderTargetProperties, hwndRenderTargetProperties, hwndRenderTarget) \
|
||||
((This)->lpVtbl->Base.Base.CreateHwndRenderTarget((ID2D1Factory *)This, renderTargetProperties, hwndRenderTargetProperties, hwndRenderTarget))
|
||||
|
||||
#define ID2D1Factory2_CreateDxgiSurfaceRenderTarget(This, dxgiSurface, renderTargetProperties, renderTarget) \
|
||||
((This)->lpVtbl->Base.Base.CreateDxgiSurfaceRenderTarget((ID2D1Factory *)This, dxgiSurface, renderTargetProperties, renderTarget))
|
||||
|
||||
#define ID2D1Factory2_CreateDCRenderTarget(This, renderTargetProperties, dcRenderTarget) \
|
||||
((This)->lpVtbl->Base.Base.CreateDCRenderTarget((ID2D1Factory *)This, renderTargetProperties, dcRenderTarget))
|
||||
|
||||
#define ID2D1Factory2_CreateStrokeStyle(This, strokeStyleProperties, dashes, dashesCount, strokeStyle) \
|
||||
((This)->lpVtbl->Base.CreateStrokeStyle((ID2D1Factory1 *)This, strokeStyleProperties, dashes, dashesCount, strokeStyle))
|
||||
|
||||
#define ID2D1Factory2_CreatePathGeometry(This, pathGeometry) \
|
||||
((This)->lpVtbl->Base.CreatePathGeometry((ID2D1Factory1 *)This, pathGeometry))
|
||||
|
||||
#define ID2D1Factory2_CreateDrawingStateBlock(This, drawingStateDescription, textRenderingParams, drawingStateBlock) \
|
||||
((This)->lpVtbl->Base.CreateDrawingStateBlock((ID2D1Factory1 *)This, drawingStateDescription, textRenderingParams, drawingStateBlock))
|
||||
|
||||
#define ID2D1Factory2_CreateGdiMetafile(This, metafileStream, metafile) \
|
||||
((This)->lpVtbl->Base.CreateGdiMetafile((ID2D1Factory1 *)This, metafileStream, metafile))
|
||||
|
||||
#define ID2D1Factory2_RegisterEffectFromStream(This, classId, propertyXml, bindings, bindingsCount, effectFactory) \
|
||||
((This)->lpVtbl->Base.RegisterEffectFromStream((ID2D1Factory1 *)This, classId, propertyXml, bindings, bindingsCount, effectFactory))
|
||||
|
||||
#define ID2D1Factory2_RegisterEffectFromString(This, classId, propertyXml, bindings, bindingsCount, effectFactory) \
|
||||
((This)->lpVtbl->Base.RegisterEffectFromString((ID2D1Factory1 *)This, classId, propertyXml, bindings, bindingsCount, effectFactory))
|
||||
|
||||
#define ID2D1Factory2_UnregisterEffect(This, classId) \
|
||||
((This)->lpVtbl->Base.UnregisterEffect((ID2D1Factory1 *)This, classId))
|
||||
|
||||
#define ID2D1Factory2_GetRegisteredEffects(This, effects, effectsCount, effectsReturned, effectsRegistered) \
|
||||
((This)->lpVtbl->Base.GetRegisteredEffects((ID2D1Factory1 *)This, effects, effectsCount, effectsReturned, effectsRegistered))
|
||||
|
||||
#define ID2D1Factory2_GetEffectProperties(This, effectId, properties) \
|
||||
((This)->lpVtbl->Base.GetEffectProperties((ID2D1Factory1 *)This, effectId, properties))
|
||||
|
||||
#define ID2D1Factory2_CreateDevice(This, dxgiDevice, d2dDevice1) \
|
||||
((This)->lpVtbl->CreateDevice(This, dxgiDevice, d2dDevice1))
|
||||
|
||||
typedef interface ID2D1CommandSink1 ID2D1CommandSink1;
|
||||
|
||||
typedef struct ID2D1CommandSink1Vtbl
|
||||
{
|
||||
|
||||
ID2D1CommandSinkVtbl Base;
|
||||
|
||||
|
||||
STDMETHOD(SetPrimitiveBlend1)(
|
||||
ID2D1CommandSink1 *This,
|
||||
D2D1_PRIMITIVE_BLEND primitiveBlend
|
||||
) PURE;
|
||||
} ID2D1CommandSink1Vtbl;
|
||||
|
||||
interface ID2D1CommandSink1
|
||||
{
|
||||
CONST struct ID2D1CommandSink1Vtbl *lpVtbl;
|
||||
};
|
||||
|
||||
|
||||
#define ID2D1CommandSink1_QueryInterface(This, riid, ppv) \
|
||||
((This)->lpVtbl->Base.Base.QueryInterface((IUnknown *)This, riid, ppv))
|
||||
|
||||
#define ID2D1CommandSink1_AddRef(This) \
|
||||
((This)->lpVtbl->Base.Base.AddRef((IUnknown *)This))
|
||||
|
||||
#define ID2D1CommandSink1_Release(This) \
|
||||
((This)->lpVtbl->Base.Base.Release((IUnknown *)This))
|
||||
|
||||
#define ID2D1CommandSink1_BeginDraw(This) \
|
||||
((This)->lpVtbl->Base.BeginDraw((ID2D1CommandSink *)This))
|
||||
|
||||
#define ID2D1CommandSink1_EndDraw(This) \
|
||||
((This)->lpVtbl->Base.EndDraw((ID2D1CommandSink *)This))
|
||||
|
||||
#define ID2D1CommandSink1_SetAntialiasMode(This, antialiasMode) \
|
||||
((This)->lpVtbl->Base.SetAntialiasMode((ID2D1CommandSink *)This, antialiasMode))
|
||||
|
||||
#define ID2D1CommandSink1_SetTags(This, tag1, tag2) \
|
||||
((This)->lpVtbl->Base.SetTags((ID2D1CommandSink *)This, tag1, tag2))
|
||||
|
||||
#define ID2D1CommandSink1_SetTextAntialiasMode(This, textAntialiasMode) \
|
||||
((This)->lpVtbl->Base.SetTextAntialiasMode((ID2D1CommandSink *)This, textAntialiasMode))
|
||||
|
||||
#define ID2D1CommandSink1_SetTextRenderingParams(This, textRenderingParams) \
|
||||
((This)->lpVtbl->Base.SetTextRenderingParams((ID2D1CommandSink *)This, textRenderingParams))
|
||||
|
||||
#define ID2D1CommandSink1_SetTransform(This, transform) \
|
||||
((This)->lpVtbl->Base.SetTransform((ID2D1CommandSink *)This, transform))
|
||||
|
||||
#define ID2D1CommandSink1_SetPrimitiveBlend(This, primitiveBlend) \
|
||||
((This)->lpVtbl->Base.SetPrimitiveBlend((ID2D1CommandSink *)This, primitiveBlend))
|
||||
|
||||
#define ID2D1CommandSink1_SetUnitMode(This, unitMode) \
|
||||
((This)->lpVtbl->Base.SetUnitMode((ID2D1CommandSink *)This, unitMode))
|
||||
|
||||
#define ID2D1CommandSink1_Clear(This, color) \
|
||||
((This)->lpVtbl->Base.Clear((ID2D1CommandSink *)This, color))
|
||||
|
||||
#define ID2D1CommandSink1_DrawGlyphRun(This, baselineOrigin, glyphRun, glyphRunDescription, foregroundBrush, measuringMode) \
|
||||
((This)->lpVtbl->Base.DrawGlyphRun((ID2D1CommandSink *)This, baselineOrigin, glyphRun, glyphRunDescription, foregroundBrush, measuringMode))
|
||||
|
||||
#define ID2D1CommandSink1_DrawLine(This, point0, point1, brush, strokeWidth, strokeStyle) \
|
||||
((This)->lpVtbl->Base.DrawLine((ID2D1CommandSink *)This, point0, point1, brush, strokeWidth, strokeStyle))
|
||||
|
||||
#define ID2D1CommandSink1_DrawGeometry(This, geometry, brush, strokeWidth, strokeStyle) \
|
||||
((This)->lpVtbl->Base.DrawGeometry((ID2D1CommandSink *)This, geometry, brush, strokeWidth, strokeStyle))
|
||||
|
||||
#define ID2D1CommandSink1_DrawRectangle(This, rect, brush, strokeWidth, strokeStyle) \
|
||||
((This)->lpVtbl->Base.DrawRectangle((ID2D1CommandSink *)This, rect, brush, strokeWidth, strokeStyle))
|
||||
|
||||
#define ID2D1CommandSink1_DrawBitmap(This, bitmap, destinationRectangle, opacity, interpolationMode, sourceRectangle, perspectiveTransform) \
|
||||
((This)->lpVtbl->Base.DrawBitmap((ID2D1CommandSink *)This, bitmap, destinationRectangle, opacity, interpolationMode, sourceRectangle, perspectiveTransform))
|
||||
|
||||
#define ID2D1CommandSink1_DrawImage(This, image, targetOffset, imageRectangle, interpolationMode, compositeMode) \
|
||||
((This)->lpVtbl->Base.DrawImage((ID2D1CommandSink *)This, image, targetOffset, imageRectangle, interpolationMode, compositeMode))
|
||||
|
||||
#define ID2D1CommandSink1_DrawGdiMetafile(This, gdiMetafile, targetOffset) \
|
||||
((This)->lpVtbl->Base.DrawGdiMetafile((ID2D1CommandSink *)This, gdiMetafile, targetOffset))
|
||||
|
||||
#define ID2D1CommandSink1_FillMesh(This, mesh, brush) \
|
||||
((This)->lpVtbl->Base.FillMesh((ID2D1CommandSink *)This, mesh, brush))
|
||||
|
||||
#define ID2D1CommandSink1_FillOpacityMask(This, opacityMask, brush, destinationRectangle, sourceRectangle) \
|
||||
((This)->lpVtbl->Base.FillOpacityMask((ID2D1CommandSink *)This, opacityMask, brush, destinationRectangle, sourceRectangle))
|
||||
|
||||
#define ID2D1CommandSink1_FillGeometry(This, geometry, brush, opacityBrush) \
|
||||
((This)->lpVtbl->Base.FillGeometry((ID2D1CommandSink *)This, geometry, brush, opacityBrush))
|
||||
|
||||
#define ID2D1CommandSink1_FillRectangle(This, rect, brush) \
|
||||
((This)->lpVtbl->Base.FillRectangle((ID2D1CommandSink *)This, rect, brush))
|
||||
|
||||
#define ID2D1CommandSink1_PushAxisAlignedClip(This, clipRect, antialiasMode) \
|
||||
((This)->lpVtbl->Base.PushAxisAlignedClip((ID2D1CommandSink *)This, clipRect, antialiasMode))
|
||||
|
||||
#define ID2D1CommandSink1_PushLayer(This, layerParameters1, layer) \
|
||||
((This)->lpVtbl->Base.PushLayer((ID2D1CommandSink *)This, layerParameters1, layer))
|
||||
|
||||
#define ID2D1CommandSink1_PopAxisAlignedClip(This) \
|
||||
((This)->lpVtbl->Base.PopAxisAlignedClip((ID2D1CommandSink *)This))
|
||||
|
||||
#define ID2D1CommandSink1_PopLayer(This) \
|
||||
((This)->lpVtbl->Base.PopLayer((ID2D1CommandSink *)This))
|
||||
|
||||
#define ID2D1CommandSink1_SetPrimitiveBlend1(This, primitiveBlend) \
|
||||
((This)->lpVtbl->SetPrimitiveBlend1(This, primitiveBlend))
|
||||
|
||||
|
||||
#endif
|
||||
|
||||
|
||||
|
||||
Vendored
+853
-1582
File diff suppressed because it is too large
Load Diff
+10
@@ -215,6 +215,16 @@ namespace D2D1
|
||||
|
||||
return inkStyleProperties;
|
||||
}
|
||||
|
||||
COM_DECLSPEC_NOTHROW
|
||||
D2D1FORCEINLINE
|
||||
D2D1_RECT_U
|
||||
InfiniteRectU()
|
||||
{
|
||||
D2D1_RECT_U rect = { 0u, 0u, UINT_MAX, UINT_MAX };
|
||||
|
||||
return rect;
|
||||
}
|
||||
} // namespace D2D1
|
||||
|
||||
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP) */
|
||||
|
||||
+1464
-1865
File diff suppressed because it is too large
Load Diff
+35
-55
@@ -25,73 +25,53 @@
|
||||
// Built in effect CLSIDs
|
||||
DEFINE_GUID(CLSID_D2D1YCbCr, 0x99503cc1, 0x66c7, 0x45c9, 0xa8, 0x75, 0x8a, 0xd8, 0xa7, 0x91, 0x44, 0x01);
|
||||
|
||||
//+-----------------------------------------------------------------------------
|
||||
//
|
||||
// Enum:
|
||||
// D2D1_YCBCR_PROP
|
||||
//
|
||||
// Synopsis:
|
||||
// The enumeration of the YCbCr effect's top level properties.
|
||||
//
|
||||
//------------------------------------------------------------------------------
|
||||
/// <summary>
|
||||
/// The enumeration of the YCbCr effect's top level properties.
|
||||
/// </summary>
|
||||
typedef enum D2D1_YCBCR_PROP
|
||||
{
|
||||
|
||||
//
|
||||
// Property Name: "ChromaSubsampling"
|
||||
// Property Type: D2D1_YCBCR_CHROMA_SUBSAMPLING
|
||||
//
|
||||
D2D1_YCBCR_PROP_CHROMA_SUBSAMPLING = 0,
|
||||
|
||||
//
|
||||
// Property Name: "TransformMatrix"
|
||||
// Property Type: D2D1_MATRIX_3X2_F
|
||||
//
|
||||
D2D1_YCBCR_PROP_TRANSFORM_MATRIX = 1,
|
||||
|
||||
//
|
||||
// Property Name: "InterpolationMode"
|
||||
// Property Type: D2D1_YCBCR_INTERPOLATION_MODE
|
||||
//
|
||||
D2D1_YCBCR_PROP_INTERPOLATION_MODE = 2,
|
||||
D2D1_YCBCR_PROP_FORCE_DWORD = 0xffffffff
|
||||
|
||||
/// <summary>
|
||||
/// Property Name: "ChromaSubsampling"
|
||||
/// Property Type: D2D1_YCBCR_CHROMA_SUBSAMPLING
|
||||
/// </summary>
|
||||
D2D1_YCBCR_PROP_CHROMA_SUBSAMPLING = 0,
|
||||
|
||||
/// <summary>
|
||||
/// Property Name: "TransformMatrix"
|
||||
/// Property Type: D2D1_MATRIX_3X2_F
|
||||
/// </summary>
|
||||
D2D1_YCBCR_PROP_TRANSFORM_MATRIX = 1,
|
||||
|
||||
/// <summary>
|
||||
/// Property Name: "InterpolationMode"
|
||||
/// Property Type: D2D1_YCBCR_INTERPOLATION_MODE
|
||||
/// </summary>
|
||||
D2D1_YCBCR_PROP_INTERPOLATION_MODE = 2,
|
||||
D2D1_YCBCR_PROP_FORCE_DWORD = 0xffffffff
|
||||
|
||||
} D2D1_YCBCR_PROP;
|
||||
|
||||
|
||||
//+-----------------------------------------------------------------------------
|
||||
//
|
||||
// Enum:
|
||||
// D2D1_YCBCR_CHROMA_SUBSAMPLING
|
||||
//
|
||||
//------------------------------------------------------------------------------
|
||||
typedef enum D2D1_YCBCR_CHROMA_SUBSAMPLING
|
||||
{
|
||||
D2D1_YCBCR_CHROMA_SUBSAMPLING_AUTO = 0,
|
||||
D2D1_YCBCR_CHROMA_SUBSAMPLING_420 = 1,
|
||||
D2D1_YCBCR_CHROMA_SUBSAMPLING_422 = 2,
|
||||
D2D1_YCBCR_CHROMA_SUBSAMPLING_444 = 3,
|
||||
D2D1_YCBCR_CHROMA_SUBSAMPLING_440 = 4,
|
||||
D2D1_YCBCR_CHROMA_SUBSAMPLING_FORCE_DWORD = 0xffffffff
|
||||
D2D1_YCBCR_CHROMA_SUBSAMPLING_AUTO = 0,
|
||||
D2D1_YCBCR_CHROMA_SUBSAMPLING_420 = 1,
|
||||
D2D1_YCBCR_CHROMA_SUBSAMPLING_422 = 2,
|
||||
D2D1_YCBCR_CHROMA_SUBSAMPLING_444 = 3,
|
||||
D2D1_YCBCR_CHROMA_SUBSAMPLING_440 = 4,
|
||||
D2D1_YCBCR_CHROMA_SUBSAMPLING_FORCE_DWORD = 0xffffffff
|
||||
|
||||
} D2D1_YCBCR_CHROMA_SUBSAMPLING;
|
||||
|
||||
|
||||
//+-----------------------------------------------------------------------------
|
||||
//
|
||||
// Enum:
|
||||
// D2D1_YCBCR_INTERPOLATION_MODE
|
||||
//
|
||||
//------------------------------------------------------------------------------
|
||||
typedef enum D2D1_YCBCR_INTERPOLATION_MODE
|
||||
{
|
||||
D2D1_YCBCR_INTERPOLATION_MODE_NEAREST_NEIGHBOR = 0,
|
||||
D2D1_YCBCR_INTERPOLATION_MODE_LINEAR = 1,
|
||||
D2D1_YCBCR_INTERPOLATION_MODE_CUBIC = 2,
|
||||
D2D1_YCBCR_INTERPOLATION_MODE_MULTI_SAMPLE_LINEAR = 3,
|
||||
D2D1_YCBCR_INTERPOLATION_MODE_ANISOTROPIC = 4,
|
||||
D2D1_YCBCR_INTERPOLATION_MODE_HIGH_QUALITY_CUBIC = 5,
|
||||
D2D1_YCBCR_INTERPOLATION_MODE_FORCE_DWORD = 0xffffffff
|
||||
D2D1_YCBCR_INTERPOLATION_MODE_NEAREST_NEIGHBOR = 0,
|
||||
D2D1_YCBCR_INTERPOLATION_MODE_LINEAR = 1,
|
||||
D2D1_YCBCR_INTERPOLATION_MODE_CUBIC = 2,
|
||||
D2D1_YCBCR_INTERPOLATION_MODE_MULTI_SAMPLE_LINEAR = 3,
|
||||
D2D1_YCBCR_INTERPOLATION_MODE_ANISOTROPIC = 4,
|
||||
D2D1_YCBCR_INTERPOLATION_MODE_HIGH_QUALITY_CUBIC = 5,
|
||||
D2D1_YCBCR_INTERPOLATION_MODE_FORCE_DWORD = 0xffffffff
|
||||
|
||||
} D2D1_YCBCR_INTERPOLATION_MODE;
|
||||
|
||||
|
||||
+372
-431
@@ -41,553 +41,494 @@ DEFINE_GUID(CLSID_D2D1EdgeDetection, 0xEFF583CA, 0xCB07, 0x4AA9, 0xAC
|
||||
DEFINE_GUID(CLSID_D2D1HighlightsShadows, 0xCADC8384, 0x323F, 0x4C7E, 0xA3, 0x61, 0x2E, 0x2B, 0x24, 0xDF, 0x6E, 0xE4);
|
||||
DEFINE_GUID(CLSID_D2D1LookupTable3D, 0x349E0EDA, 0x0088, 0x4A79, 0x9C, 0xA3, 0xC7, 0xE3, 0x00, 0x20, 0x20, 0x20);
|
||||
|
||||
#if NTDDI_VERSION >= NTDDI_WIN10_RS1
|
||||
|
||||
//+-----------------------------------------------------------------------------
|
||||
//
|
||||
// Enum:
|
||||
// D2D1_CONTRAST_PROP
|
||||
//
|
||||
// Synopsis:
|
||||
// The enumeration of the Contrast effect's top level properties.
|
||||
//
|
||||
//------------------------------------------------------------------------------
|
||||
DEFINE_GUID(CLSID_D2D1Opacity, 0x811d79a4, 0xde28, 0x4454, 0x80, 0x94, 0xc6, 0x46, 0x85, 0xf8, 0xbd, 0x4c);
|
||||
DEFINE_GUID(CLSID_D2D1AlphaMask, 0xc80ecff0, 0x3fd5, 0x4f05, 0x83, 0x28, 0xc5, 0xd1, 0x72, 0x4b, 0x4f, 0x0a);
|
||||
DEFINE_GUID(CLSID_D2D1CrossFade, 0x12f575e8, 0x4db1, 0x485f, 0x9a, 0x84, 0x03, 0xa0, 0x7d, 0xd3, 0x82, 0x9f);
|
||||
DEFINE_GUID(CLSID_D2D1Tint, 0x36312b17, 0xf7dd, 0x4014, 0x91, 0x5d, 0xff, 0xca, 0x76, 0x8c, 0xf2, 0x11);
|
||||
|
||||
#endif // #if NTDDI_VERSION >= NTDDI_WIN10_RS1
|
||||
|
||||
/// <summary>
|
||||
/// The enumeration of the Contrast effect's top level properties.
|
||||
/// </summary>
|
||||
typedef enum D2D1_CONTRAST_PROP
|
||||
{
|
||||
|
||||
//
|
||||
// Property Name: "Contrast"
|
||||
// Property Type: FLOAT
|
||||
//
|
||||
D2D1_CONTRAST_PROP_CONTRAST = 0,
|
||||
|
||||
//
|
||||
// Property Name: "ClampInput"
|
||||
// Property Type: BOOL
|
||||
//
|
||||
D2D1_CONTRAST_PROP_CLAMP_INPUT = 1,
|
||||
D2D1_CONTRAST_PROP_FORCE_DWORD = 0xffffffff
|
||||
|
||||
/// <summary>
|
||||
/// Property Name: "Contrast"
|
||||
/// Property Type: FLOAT
|
||||
/// </summary>
|
||||
D2D1_CONTRAST_PROP_CONTRAST = 0,
|
||||
|
||||
/// <summary>
|
||||
/// Property Name: "ClampInput"
|
||||
/// Property Type: BOOL
|
||||
/// </summary>
|
||||
D2D1_CONTRAST_PROP_CLAMP_INPUT = 1,
|
||||
D2D1_CONTRAST_PROP_FORCE_DWORD = 0xffffffff
|
||||
|
||||
} D2D1_CONTRAST_PROP;
|
||||
|
||||
|
||||
//+-----------------------------------------------------------------------------
|
||||
//
|
||||
// Enum:
|
||||
// D2D1_RGBTOHUE_PROP
|
||||
//
|
||||
// Synopsis:
|
||||
// The enumeration of the RgbToHue effect's top level properties.
|
||||
//
|
||||
//------------------------------------------------------------------------------
|
||||
/// <summary>
|
||||
/// The enumeration of the RgbToHue effect's top level properties.
|
||||
/// </summary>
|
||||
typedef enum D2D1_RGBTOHUE_PROP
|
||||
{
|
||||
|
||||
//
|
||||
// Property Name: "OutputColorSpace"
|
||||
// Property Type: D2D1_RGBTOHUE_OUTPUT_COLOR_SPACE
|
||||
//
|
||||
D2D1_RGBTOHUE_PROP_OUTPUT_COLOR_SPACE = 0,
|
||||
D2D1_RGBTOHUE_PROP_FORCE_DWORD = 0xffffffff
|
||||
|
||||
/// <summary>
|
||||
/// Property Name: "OutputColorSpace"
|
||||
/// Property Type: D2D1_RGBTOHUE_OUTPUT_COLOR_SPACE
|
||||
/// </summary>
|
||||
D2D1_RGBTOHUE_PROP_OUTPUT_COLOR_SPACE = 0,
|
||||
D2D1_RGBTOHUE_PROP_FORCE_DWORD = 0xffffffff
|
||||
|
||||
} D2D1_RGBTOHUE_PROP;
|
||||
|
||||
|
||||
//+-----------------------------------------------------------------------------
|
||||
//
|
||||
// Enum:
|
||||
// D2D1_RGBTOHUE_OUTPUT_COLOR_SPACE
|
||||
//
|
||||
//------------------------------------------------------------------------------
|
||||
typedef enum D2D1_RGBTOHUE_OUTPUT_COLOR_SPACE
|
||||
{
|
||||
D2D1_RGBTOHUE_OUTPUT_COLOR_SPACE_HUE_SATURATION_VALUE = 0,
|
||||
D2D1_RGBTOHUE_OUTPUT_COLOR_SPACE_HUE_SATURATION_LIGHTNESS = 1,
|
||||
D2D1_RGBTOHUE_OUTPUT_COLOR_SPACE_FORCE_DWORD = 0xffffffff
|
||||
D2D1_RGBTOHUE_OUTPUT_COLOR_SPACE_HUE_SATURATION_VALUE = 0,
|
||||
D2D1_RGBTOHUE_OUTPUT_COLOR_SPACE_HUE_SATURATION_LIGHTNESS = 1,
|
||||
D2D1_RGBTOHUE_OUTPUT_COLOR_SPACE_FORCE_DWORD = 0xffffffff
|
||||
|
||||
} D2D1_RGBTOHUE_OUTPUT_COLOR_SPACE;
|
||||
|
||||
|
||||
//+-----------------------------------------------------------------------------
|
||||
//
|
||||
// Enum:
|
||||
// D2D1_HUETORGB_PROP
|
||||
//
|
||||
// Synopsis:
|
||||
// The enumeration of the HueToRgb effect's top level properties.
|
||||
//
|
||||
//------------------------------------------------------------------------------
|
||||
/// <summary>
|
||||
/// The enumeration of the HueToRgb effect's top level properties.
|
||||
/// </summary>
|
||||
typedef enum D2D1_HUETORGB_PROP
|
||||
{
|
||||
|
||||
//
|
||||
// Property Name: "InputColorSpace"
|
||||
// Property Type: D2D1_HUETORGB_INPUT_COLOR_SPACE
|
||||
//
|
||||
D2D1_HUETORGB_PROP_INPUT_COLOR_SPACE = 0,
|
||||
D2D1_HUETORGB_PROP_FORCE_DWORD = 0xffffffff
|
||||
|
||||
/// <summary>
|
||||
/// Property Name: "InputColorSpace"
|
||||
/// Property Type: D2D1_HUETORGB_INPUT_COLOR_SPACE
|
||||
/// </summary>
|
||||
D2D1_HUETORGB_PROP_INPUT_COLOR_SPACE = 0,
|
||||
D2D1_HUETORGB_PROP_FORCE_DWORD = 0xffffffff
|
||||
|
||||
} D2D1_HUETORGB_PROP;
|
||||
|
||||
|
||||
//+-----------------------------------------------------------------------------
|
||||
//
|
||||
// Enum:
|
||||
// D2D1_HUETORGB_INPUT_COLOR_SPACE
|
||||
//
|
||||
//------------------------------------------------------------------------------
|
||||
typedef enum D2D1_HUETORGB_INPUT_COLOR_SPACE
|
||||
{
|
||||
D2D1_HUETORGB_INPUT_COLOR_SPACE_HUE_SATURATION_VALUE = 0,
|
||||
D2D1_HUETORGB_INPUT_COLOR_SPACE_HUE_SATURATION_LIGHTNESS = 1,
|
||||
D2D1_HUETORGB_INPUT_COLOR_SPACE_FORCE_DWORD = 0xffffffff
|
||||
D2D1_HUETORGB_INPUT_COLOR_SPACE_HUE_SATURATION_VALUE = 0,
|
||||
D2D1_HUETORGB_INPUT_COLOR_SPACE_HUE_SATURATION_LIGHTNESS = 1,
|
||||
D2D1_HUETORGB_INPUT_COLOR_SPACE_FORCE_DWORD = 0xffffffff
|
||||
|
||||
} D2D1_HUETORGB_INPUT_COLOR_SPACE;
|
||||
|
||||
|
||||
//+-----------------------------------------------------------------------------
|
||||
//
|
||||
// Enum:
|
||||
// D2D1_CHROMAKEY_PROP
|
||||
//
|
||||
// Synopsis:
|
||||
// The enumeration of the Chroma Key effect's top level properties.
|
||||
//
|
||||
//------------------------------------------------------------------------------
|
||||
/// <summary>
|
||||
/// The enumeration of the Chroma Key effect's top level properties.
|
||||
/// </summary>
|
||||
typedef enum D2D1_CHROMAKEY_PROP
|
||||
{
|
||||
|
||||
//
|
||||
// Property Name: "Color"
|
||||
// Property Type: D2D1_VECTOR_3F
|
||||
//
|
||||
D2D1_CHROMAKEY_PROP_COLOR = 0,
|
||||
|
||||
//
|
||||
// Property Name: "Tolerance"
|
||||
// Property Type: FLOAT
|
||||
//
|
||||
D2D1_CHROMAKEY_PROP_TOLERANCE = 1,
|
||||
|
||||
//
|
||||
// Property Name: "InvertAlpha"
|
||||
// Property Type: BOOL
|
||||
//
|
||||
D2D1_CHROMAKEY_PROP_INVERT_ALPHA = 2,
|
||||
|
||||
//
|
||||
// Property Name: "Feather"
|
||||
// Property Type: BOOL
|
||||
//
|
||||
D2D1_CHROMAKEY_PROP_FEATHER = 3,
|
||||
D2D1_CHROMAKEY_PROP_FORCE_DWORD = 0xffffffff
|
||||
|
||||
/// <summary>
|
||||
/// Property Name: "Color"
|
||||
/// Property Type: D2D1_VECTOR_3F
|
||||
/// </summary>
|
||||
D2D1_CHROMAKEY_PROP_COLOR = 0,
|
||||
|
||||
/// <summary>
|
||||
/// Property Name: "Tolerance"
|
||||
/// Property Type: FLOAT
|
||||
/// </summary>
|
||||
D2D1_CHROMAKEY_PROP_TOLERANCE = 1,
|
||||
|
||||
/// <summary>
|
||||
/// Property Name: "InvertAlpha"
|
||||
/// Property Type: BOOL
|
||||
/// </summary>
|
||||
D2D1_CHROMAKEY_PROP_INVERT_ALPHA = 2,
|
||||
|
||||
/// <summary>
|
||||
/// Property Name: "Feather"
|
||||
/// Property Type: BOOL
|
||||
/// </summary>
|
||||
D2D1_CHROMAKEY_PROP_FEATHER = 3,
|
||||
D2D1_CHROMAKEY_PROP_FORCE_DWORD = 0xffffffff
|
||||
|
||||
} D2D1_CHROMAKEY_PROP;
|
||||
|
||||
|
||||
//+-----------------------------------------------------------------------------
|
||||
//
|
||||
// Enum:
|
||||
// D2D1_EMBOSS_PROP
|
||||
//
|
||||
// Synopsis:
|
||||
// The enumeration of the Emboss effect's top level properties.
|
||||
//
|
||||
//------------------------------------------------------------------------------
|
||||
/// <summary>
|
||||
/// The enumeration of the Emboss effect's top level properties.
|
||||
/// </summary>
|
||||
typedef enum D2D1_EMBOSS_PROP
|
||||
{
|
||||
|
||||
//
|
||||
// Property Name: "Height"
|
||||
// Property Type: FLOAT
|
||||
//
|
||||
D2D1_EMBOSS_PROP_HEIGHT = 0,
|
||||
|
||||
//
|
||||
// Property Name: "Direction"
|
||||
// Property Type: FLOAT
|
||||
//
|
||||
D2D1_EMBOSS_PROP_DIRECTION = 1,
|
||||
D2D1_EMBOSS_PROP_FORCE_DWORD = 0xffffffff
|
||||
|
||||
/// <summary>
|
||||
/// Property Name: "Height"
|
||||
/// Property Type: FLOAT
|
||||
/// </summary>
|
||||
D2D1_EMBOSS_PROP_HEIGHT = 0,
|
||||
|
||||
/// <summary>
|
||||
/// Property Name: "Direction"
|
||||
/// Property Type: FLOAT
|
||||
/// </summary>
|
||||
D2D1_EMBOSS_PROP_DIRECTION = 1,
|
||||
D2D1_EMBOSS_PROP_FORCE_DWORD = 0xffffffff
|
||||
|
||||
} D2D1_EMBOSS_PROP;
|
||||
|
||||
|
||||
//+-----------------------------------------------------------------------------
|
||||
//
|
||||
// Enum:
|
||||
// D2D1_EXPOSURE_PROP
|
||||
//
|
||||
// Synopsis:
|
||||
// The enumeration of the Exposure effect's top level properties.
|
||||
//
|
||||
//------------------------------------------------------------------------------
|
||||
/// <summary>
|
||||
/// The enumeration of the Exposure effect's top level properties.
|
||||
/// </summary>
|
||||
typedef enum D2D1_EXPOSURE_PROP
|
||||
{
|
||||
|
||||
//
|
||||
// Property Name: "ExposureValue"
|
||||
// Property Type: FLOAT
|
||||
//
|
||||
D2D1_EXPOSURE_PROP_EXPOSURE_VALUE = 0,
|
||||
D2D1_EXPOSURE_PROP_FORCE_DWORD = 0xffffffff
|
||||
|
||||
/// <summary>
|
||||
/// Property Name: "ExposureValue"
|
||||
/// Property Type: FLOAT
|
||||
/// </summary>
|
||||
D2D1_EXPOSURE_PROP_EXPOSURE_VALUE = 0,
|
||||
D2D1_EXPOSURE_PROP_FORCE_DWORD = 0xffffffff
|
||||
|
||||
} D2D1_EXPOSURE_PROP;
|
||||
|
||||
|
||||
//+-----------------------------------------------------------------------------
|
||||
//
|
||||
// Enum:
|
||||
// D2D1_POSTERIZE_PROP
|
||||
//
|
||||
// Synopsis:
|
||||
// The enumeration of the Posterize effect's top level properties.
|
||||
//
|
||||
//------------------------------------------------------------------------------
|
||||
/// <summary>
|
||||
/// The enumeration of the Posterize effect's top level properties.
|
||||
/// </summary>
|
||||
typedef enum D2D1_POSTERIZE_PROP
|
||||
{
|
||||
|
||||
//
|
||||
// Property Name: "RedValueCount"
|
||||
// Property Type: UINT32
|
||||
//
|
||||
D2D1_POSTERIZE_PROP_RED_VALUE_COUNT = 0,
|
||||
|
||||
//
|
||||
// Property Name: "GreenValueCount"
|
||||
// Property Type: UINT32
|
||||
//
|
||||
D2D1_POSTERIZE_PROP_GREEN_VALUE_COUNT = 1,
|
||||
|
||||
//
|
||||
// Property Name: "BlueValueCount"
|
||||
// Property Type: UINT32
|
||||
//
|
||||
D2D1_POSTERIZE_PROP_BLUE_VALUE_COUNT = 2,
|
||||
D2D1_POSTERIZE_PROP_FORCE_DWORD = 0xffffffff
|
||||
|
||||
/// <summary>
|
||||
/// Property Name: "RedValueCount"
|
||||
/// Property Type: UINT32
|
||||
/// </summary>
|
||||
D2D1_POSTERIZE_PROP_RED_VALUE_COUNT = 0,
|
||||
|
||||
/// <summary>
|
||||
/// Property Name: "GreenValueCount"
|
||||
/// Property Type: UINT32
|
||||
/// </summary>
|
||||
D2D1_POSTERIZE_PROP_GREEN_VALUE_COUNT = 1,
|
||||
|
||||
/// <summary>
|
||||
/// Property Name: "BlueValueCount"
|
||||
/// Property Type: UINT32
|
||||
/// </summary>
|
||||
D2D1_POSTERIZE_PROP_BLUE_VALUE_COUNT = 2,
|
||||
D2D1_POSTERIZE_PROP_FORCE_DWORD = 0xffffffff
|
||||
|
||||
} D2D1_POSTERIZE_PROP;
|
||||
|
||||
|
||||
//+-----------------------------------------------------------------------------
|
||||
//
|
||||
// Enum:
|
||||
// D2D1_SEPIA_PROP
|
||||
//
|
||||
// Synopsis:
|
||||
// The enumeration of the Sepia effect's top level properties.
|
||||
//
|
||||
//------------------------------------------------------------------------------
|
||||
/// <summary>
|
||||
/// The enumeration of the Sepia effect's top level properties.
|
||||
/// </summary>
|
||||
typedef enum D2D1_SEPIA_PROP
|
||||
{
|
||||
|
||||
//
|
||||
// Property Name: "Intensity"
|
||||
// Property Type: FLOAT
|
||||
//
|
||||
D2D1_SEPIA_PROP_INTENSITY = 0,
|
||||
|
||||
//
|
||||
// Property Name: "AlphaMode"
|
||||
// Property Type: D2D1_ALPHA_MODE
|
||||
//
|
||||
D2D1_SEPIA_PROP_ALPHA_MODE = 1,
|
||||
D2D1_SEPIA_PROP_FORCE_DWORD = 0xffffffff
|
||||
|
||||
/// <summary>
|
||||
/// Property Name: "Intensity"
|
||||
/// Property Type: FLOAT
|
||||
/// </summary>
|
||||
D2D1_SEPIA_PROP_INTENSITY = 0,
|
||||
|
||||
/// <summary>
|
||||
/// Property Name: "AlphaMode"
|
||||
/// Property Type: D2D1_ALPHA_MODE
|
||||
/// </summary>
|
||||
D2D1_SEPIA_PROP_ALPHA_MODE = 1,
|
||||
D2D1_SEPIA_PROP_FORCE_DWORD = 0xffffffff
|
||||
|
||||
} D2D1_SEPIA_PROP;
|
||||
|
||||
|
||||
//+-----------------------------------------------------------------------------
|
||||
//
|
||||
// Enum:
|
||||
// D2D1_SHARPEN_PROP
|
||||
//
|
||||
// Synopsis:
|
||||
// The enumeration of the Sharpen effect's top level properties.
|
||||
//
|
||||
//------------------------------------------------------------------------------
|
||||
/// <summary>
|
||||
/// The enumeration of the Sharpen effect's top level properties.
|
||||
/// </summary>
|
||||
typedef enum D2D1_SHARPEN_PROP
|
||||
{
|
||||
|
||||
//
|
||||
// Property Name: "Sharpness"
|
||||
// Property Type: FLOAT
|
||||
//
|
||||
D2D1_SHARPEN_PROP_SHARPNESS = 0,
|
||||
|
||||
//
|
||||
// Property Name: "Threshold"
|
||||
// Property Type: FLOAT
|
||||
//
|
||||
D2D1_SHARPEN_PROP_THRESHOLD = 1,
|
||||
D2D1_SHARPEN_PROP_FORCE_DWORD = 0xffffffff
|
||||
|
||||
/// <summary>
|
||||
/// Property Name: "Sharpness"
|
||||
/// Property Type: FLOAT
|
||||
/// </summary>
|
||||
D2D1_SHARPEN_PROP_SHARPNESS = 0,
|
||||
|
||||
/// <summary>
|
||||
/// Property Name: "Threshold"
|
||||
/// Property Type: FLOAT
|
||||
/// </summary>
|
||||
D2D1_SHARPEN_PROP_THRESHOLD = 1,
|
||||
D2D1_SHARPEN_PROP_FORCE_DWORD = 0xffffffff
|
||||
|
||||
} D2D1_SHARPEN_PROP;
|
||||
|
||||
|
||||
//+-----------------------------------------------------------------------------
|
||||
//
|
||||
// Enum:
|
||||
// D2D1_STRAIGHTEN_PROP
|
||||
//
|
||||
// Synopsis:
|
||||
// The enumeration of the Straighten effect's top level properties.
|
||||
//
|
||||
//------------------------------------------------------------------------------
|
||||
/// <summary>
|
||||
/// The enumeration of the Straighten effect's top level properties.
|
||||
/// </summary>
|
||||
typedef enum D2D1_STRAIGHTEN_PROP
|
||||
{
|
||||
|
||||
//
|
||||
// Property Name: "Angle"
|
||||
// Property Type: FLOAT
|
||||
//
|
||||
D2D1_STRAIGHTEN_PROP_ANGLE = 0,
|
||||
|
||||
//
|
||||
// Property Name: "MaintainSize"
|
||||
// Property Type: BOOL
|
||||
//
|
||||
D2D1_STRAIGHTEN_PROP_MAINTAIN_SIZE = 1,
|
||||
|
||||
//
|
||||
// Property Name: "ScaleMode"
|
||||
// Property Type: D2D1_STRAIGHTEN_SCALE_MODE
|
||||
//
|
||||
D2D1_STRAIGHTEN_PROP_SCALE_MODE = 2,
|
||||
D2D1_STRAIGHTEN_PROP_FORCE_DWORD = 0xffffffff
|
||||
|
||||
/// <summary>
|
||||
/// Property Name: "Angle"
|
||||
/// Property Type: FLOAT
|
||||
/// </summary>
|
||||
D2D1_STRAIGHTEN_PROP_ANGLE = 0,
|
||||
|
||||
/// <summary>
|
||||
/// Property Name: "MaintainSize"
|
||||
/// Property Type: BOOL
|
||||
/// </summary>
|
||||
D2D1_STRAIGHTEN_PROP_MAINTAIN_SIZE = 1,
|
||||
|
||||
/// <summary>
|
||||
/// Property Name: "ScaleMode"
|
||||
/// Property Type: D2D1_STRAIGHTEN_SCALE_MODE
|
||||
/// </summary>
|
||||
D2D1_STRAIGHTEN_PROP_SCALE_MODE = 2,
|
||||
D2D1_STRAIGHTEN_PROP_FORCE_DWORD = 0xffffffff
|
||||
|
||||
} D2D1_STRAIGHTEN_PROP;
|
||||
|
||||
|
||||
//+-----------------------------------------------------------------------------
|
||||
//
|
||||
// Enum:
|
||||
// D2D1_STRAIGHTEN_SCALE_MODE
|
||||
//
|
||||
//------------------------------------------------------------------------------
|
||||
typedef enum D2D1_STRAIGHTEN_SCALE_MODE
|
||||
{
|
||||
D2D1_STRAIGHTEN_SCALE_MODE_NEAREST_NEIGHBOR = 0,
|
||||
D2D1_STRAIGHTEN_SCALE_MODE_LINEAR = 1,
|
||||
D2D1_STRAIGHTEN_SCALE_MODE_CUBIC = 2,
|
||||
D2D1_STRAIGHTEN_SCALE_MODE_MULTI_SAMPLE_LINEAR = 3,
|
||||
D2D1_STRAIGHTEN_SCALE_MODE_ANISOTROPIC = 4,
|
||||
D2D1_STRAIGHTEN_SCALE_MODE_FORCE_DWORD = 0xffffffff
|
||||
D2D1_STRAIGHTEN_SCALE_MODE_NEAREST_NEIGHBOR = 0,
|
||||
D2D1_STRAIGHTEN_SCALE_MODE_LINEAR = 1,
|
||||
D2D1_STRAIGHTEN_SCALE_MODE_CUBIC = 2,
|
||||
D2D1_STRAIGHTEN_SCALE_MODE_MULTI_SAMPLE_LINEAR = 3,
|
||||
D2D1_STRAIGHTEN_SCALE_MODE_ANISOTROPIC = 4,
|
||||
D2D1_STRAIGHTEN_SCALE_MODE_FORCE_DWORD = 0xffffffff
|
||||
|
||||
} D2D1_STRAIGHTEN_SCALE_MODE;
|
||||
|
||||
|
||||
//+-----------------------------------------------------------------------------
|
||||
//
|
||||
// Enum:
|
||||
// D2D1_TEMPERATUREANDTINT_PROP
|
||||
//
|
||||
// Synopsis:
|
||||
// The enumeration of the Temperature And Tint effect's top level properties.
|
||||
//
|
||||
//------------------------------------------------------------------------------
|
||||
/// <summary>
|
||||
/// The enumeration of the Temperature And Tint effect's top level properties.
|
||||
/// </summary>
|
||||
typedef enum D2D1_TEMPERATUREANDTINT_PROP
|
||||
{
|
||||
|
||||
//
|
||||
// Property Name: "Temperature"
|
||||
// Property Type: FLOAT
|
||||
//
|
||||
D2D1_TEMPERATUREANDTINT_PROP_TEMPERATURE = 0,
|
||||
|
||||
//
|
||||
// Property Name: "Tint"
|
||||
// Property Type: FLOAT
|
||||
//
|
||||
D2D1_TEMPERATUREANDTINT_PROP_TINT = 1,
|
||||
D2D1_TEMPERATUREANDTINT_PROP_FORCE_DWORD = 0xffffffff
|
||||
|
||||
/// <summary>
|
||||
/// Property Name: "Temperature"
|
||||
/// Property Type: FLOAT
|
||||
/// </summary>
|
||||
D2D1_TEMPERATUREANDTINT_PROP_TEMPERATURE = 0,
|
||||
|
||||
/// <summary>
|
||||
/// Property Name: "Tint"
|
||||
/// Property Type: FLOAT
|
||||
/// </summary>
|
||||
D2D1_TEMPERATUREANDTINT_PROP_TINT = 1,
|
||||
D2D1_TEMPERATUREANDTINT_PROP_FORCE_DWORD = 0xffffffff
|
||||
|
||||
} D2D1_TEMPERATUREANDTINT_PROP;
|
||||
|
||||
|
||||
//+-----------------------------------------------------------------------------
|
||||
//
|
||||
// Enum:
|
||||
// D2D1_VIGNETTE_PROP
|
||||
//
|
||||
// Synopsis:
|
||||
// The enumeration of the Vignette effect's top level properties.
|
||||
//
|
||||
//------------------------------------------------------------------------------
|
||||
/// <summary>
|
||||
/// The enumeration of the Vignette effect's top level properties.
|
||||
/// </summary>
|
||||
typedef enum D2D1_VIGNETTE_PROP
|
||||
{
|
||||
|
||||
//
|
||||
// Property Name: "Color"
|
||||
// Property Type: D2D1_VECTOR_4F
|
||||
//
|
||||
D2D1_VIGNETTE_PROP_COLOR = 0,
|
||||
|
||||
//
|
||||
// Property Name: "TransitionSize"
|
||||
// Property Type: FLOAT
|
||||
//
|
||||
D2D1_VIGNETTE_PROP_TRANSITION_SIZE = 1,
|
||||
|
||||
//
|
||||
// Property Name: "Strength"
|
||||
// Property Type: FLOAT
|
||||
//
|
||||
D2D1_VIGNETTE_PROP_STRENGTH = 2,
|
||||
D2D1_VIGNETTE_PROP_FORCE_DWORD = 0xffffffff
|
||||
|
||||
/// <summary>
|
||||
/// Property Name: "Color"
|
||||
/// Property Type: D2D1_VECTOR_4F
|
||||
/// </summary>
|
||||
D2D1_VIGNETTE_PROP_COLOR = 0,
|
||||
|
||||
/// <summary>
|
||||
/// Property Name: "TransitionSize"
|
||||
/// Property Type: FLOAT
|
||||
/// </summary>
|
||||
D2D1_VIGNETTE_PROP_TRANSITION_SIZE = 1,
|
||||
|
||||
/// <summary>
|
||||
/// Property Name: "Strength"
|
||||
/// Property Type: FLOAT
|
||||
/// </summary>
|
||||
D2D1_VIGNETTE_PROP_STRENGTH = 2,
|
||||
D2D1_VIGNETTE_PROP_FORCE_DWORD = 0xffffffff
|
||||
|
||||
} D2D1_VIGNETTE_PROP;
|
||||
|
||||
|
||||
//+-----------------------------------------------------------------------------
|
||||
//
|
||||
// Enum:
|
||||
// D2D1_EDGEDETECTION_PROP
|
||||
//
|
||||
// Synopsis:
|
||||
// The enumeration of the Edge Detection effect's top level properties.
|
||||
//
|
||||
//------------------------------------------------------------------------------
|
||||
/// <summary>
|
||||
/// The enumeration of the Edge Detection effect's top level properties.
|
||||
/// </summary>
|
||||
typedef enum D2D1_EDGEDETECTION_PROP
|
||||
{
|
||||
|
||||
//
|
||||
// Property Name: "Strength"
|
||||
// Property Type: FLOAT
|
||||
//
|
||||
D2D1_EDGEDETECTION_PROP_STRENGTH = 0,
|
||||
|
||||
//
|
||||
// Property Name: "BlurRadius"
|
||||
// Property Type: FLOAT
|
||||
//
|
||||
D2D1_EDGEDETECTION_PROP_BLUR_RADIUS = 1,
|
||||
|
||||
//
|
||||
// Property Name: "Mode"
|
||||
// Property Type: D2D1_EDGEDETECTION_MODE
|
||||
//
|
||||
D2D1_EDGEDETECTION_PROP_MODE = 2,
|
||||
|
||||
//
|
||||
// Property Name: "OverlayEdges"
|
||||
// Property Type: BOOL
|
||||
//
|
||||
D2D1_EDGEDETECTION_PROP_OVERLAY_EDGES = 3,
|
||||
|
||||
//
|
||||
// Property Name: "AlphaMode"
|
||||
// Property Type: D2D1_ALPHA_MODE
|
||||
//
|
||||
D2D1_EDGEDETECTION_PROP_ALPHA_MODE = 4,
|
||||
D2D1_EDGEDETECTION_PROP_FORCE_DWORD = 0xffffffff
|
||||
|
||||
/// <summary>
|
||||
/// Property Name: "Strength"
|
||||
/// Property Type: FLOAT
|
||||
/// </summary>
|
||||
D2D1_EDGEDETECTION_PROP_STRENGTH = 0,
|
||||
|
||||
/// <summary>
|
||||
/// Property Name: "BlurRadius"
|
||||
/// Property Type: FLOAT
|
||||
/// </summary>
|
||||
D2D1_EDGEDETECTION_PROP_BLUR_RADIUS = 1,
|
||||
|
||||
/// <summary>
|
||||
/// Property Name: "Mode"
|
||||
/// Property Type: D2D1_EDGEDETECTION_MODE
|
||||
/// </summary>
|
||||
D2D1_EDGEDETECTION_PROP_MODE = 2,
|
||||
|
||||
/// <summary>
|
||||
/// Property Name: "OverlayEdges"
|
||||
/// Property Type: BOOL
|
||||
/// </summary>
|
||||
D2D1_EDGEDETECTION_PROP_OVERLAY_EDGES = 3,
|
||||
|
||||
/// <summary>
|
||||
/// Property Name: "AlphaMode"
|
||||
/// Property Type: D2D1_ALPHA_MODE
|
||||
/// </summary>
|
||||
D2D1_EDGEDETECTION_PROP_ALPHA_MODE = 4,
|
||||
D2D1_EDGEDETECTION_PROP_FORCE_DWORD = 0xffffffff
|
||||
|
||||
} D2D1_EDGEDETECTION_PROP;
|
||||
|
||||
|
||||
//+-----------------------------------------------------------------------------
|
||||
//
|
||||
// Enum:
|
||||
// D2D1_EDGEDETECTION_MODE
|
||||
//
|
||||
//------------------------------------------------------------------------------
|
||||
typedef enum D2D1_EDGEDETECTION_MODE
|
||||
{
|
||||
D2D1_EDGEDETECTION_MODE_SOBEL = 0,
|
||||
D2D1_EDGEDETECTION_MODE_PREWITT = 1,
|
||||
D2D1_EDGEDETECTION_MODE_FORCE_DWORD = 0xffffffff
|
||||
D2D1_EDGEDETECTION_MODE_SOBEL = 0,
|
||||
D2D1_EDGEDETECTION_MODE_PREWITT = 1,
|
||||
D2D1_EDGEDETECTION_MODE_FORCE_DWORD = 0xffffffff
|
||||
|
||||
} D2D1_EDGEDETECTION_MODE;
|
||||
|
||||
|
||||
//+-----------------------------------------------------------------------------
|
||||
//
|
||||
// Enum:
|
||||
// D2D1_HIGHLIGHTSANDSHADOWS_PROP
|
||||
//
|
||||
// Synopsis:
|
||||
// The enumeration of the Highlights and Shadows effect's top level properties.
|
||||
//
|
||||
//------------------------------------------------------------------------------
|
||||
/// <summary>
|
||||
/// The enumeration of the Highlights and Shadows effect's top level properties.
|
||||
/// </summary>
|
||||
typedef enum D2D1_HIGHLIGHTSANDSHADOWS_PROP
|
||||
{
|
||||
|
||||
//
|
||||
// Property Name: "Highlights"
|
||||
// Property Type: FLOAT
|
||||
//
|
||||
D2D1_HIGHLIGHTSANDSHADOWS_PROP_HIGHLIGHTS = 0,
|
||||
|
||||
//
|
||||
// Property Name: "Shadows"
|
||||
// Property Type: FLOAT
|
||||
//
|
||||
D2D1_HIGHLIGHTSANDSHADOWS_PROP_SHADOWS = 1,
|
||||
|
||||
//
|
||||
// Property Name: "Clarity"
|
||||
// Property Type: FLOAT
|
||||
//
|
||||
D2D1_HIGHLIGHTSANDSHADOWS_PROP_CLARITY = 2,
|
||||
|
||||
//
|
||||
// Property Name: "InputGamma"
|
||||
// Property Type: D2D1_HIGHLIGHTSANDSHADOWS_INPUT_GAMMA
|
||||
//
|
||||
D2D1_HIGHLIGHTSANDSHADOWS_PROP_INPUT_GAMMA = 3,
|
||||
|
||||
//
|
||||
// Property Name: "MaskBlurRadius"
|
||||
// Property Type: FLOAT
|
||||
//
|
||||
D2D1_HIGHLIGHTSANDSHADOWS_PROP_MASK_BLUR_RADIUS = 4,
|
||||
D2D1_HIGHLIGHTSANDSHADOWS_PROP_FORCE_DWORD = 0xffffffff
|
||||
|
||||
/// <summary>
|
||||
/// Property Name: "Highlights"
|
||||
/// Property Type: FLOAT
|
||||
/// </summary>
|
||||
D2D1_HIGHLIGHTSANDSHADOWS_PROP_HIGHLIGHTS = 0,
|
||||
|
||||
/// <summary>
|
||||
/// Property Name: "Shadows"
|
||||
/// Property Type: FLOAT
|
||||
/// </summary>
|
||||
D2D1_HIGHLIGHTSANDSHADOWS_PROP_SHADOWS = 1,
|
||||
|
||||
/// <summary>
|
||||
/// Property Name: "Clarity"
|
||||
/// Property Type: FLOAT
|
||||
/// </summary>
|
||||
D2D1_HIGHLIGHTSANDSHADOWS_PROP_CLARITY = 2,
|
||||
|
||||
/// <summary>
|
||||
/// Property Name: "InputGamma"
|
||||
/// Property Type: D2D1_HIGHLIGHTSANDSHADOWS_INPUT_GAMMA
|
||||
/// </summary>
|
||||
D2D1_HIGHLIGHTSANDSHADOWS_PROP_INPUT_GAMMA = 3,
|
||||
|
||||
/// <summary>
|
||||
/// Property Name: "MaskBlurRadius"
|
||||
/// Property Type: FLOAT
|
||||
/// </summary>
|
||||
D2D1_HIGHLIGHTSANDSHADOWS_PROP_MASK_BLUR_RADIUS = 4,
|
||||
D2D1_HIGHLIGHTSANDSHADOWS_PROP_FORCE_DWORD = 0xffffffff
|
||||
|
||||
} D2D1_HIGHLIGHTSANDSHADOWS_PROP;
|
||||
|
||||
|
||||
//+-----------------------------------------------------------------------------
|
||||
//
|
||||
// Enum:
|
||||
// D2D1_HIGHLIGHTSANDSHADOWS_INPUT_GAMMA
|
||||
//
|
||||
//------------------------------------------------------------------------------
|
||||
typedef enum D2D1_HIGHLIGHTSANDSHADOWS_INPUT_GAMMA
|
||||
{
|
||||
D2D1_HIGHLIGHTSANDSHADOWS_INPUT_GAMMA_LINEAR = 0,
|
||||
D2D1_HIGHLIGHTSANDSHADOWS_INPUT_GAMMA_SRGB = 1,
|
||||
D2D1_HIGHLIGHTSANDSHADOWS_INPUT_GAMMA_FORCE_DWORD = 0xffffffff
|
||||
D2D1_HIGHLIGHTSANDSHADOWS_INPUT_GAMMA_LINEAR = 0,
|
||||
D2D1_HIGHLIGHTSANDSHADOWS_INPUT_GAMMA_SRGB = 1,
|
||||
D2D1_HIGHLIGHTSANDSHADOWS_INPUT_GAMMA_FORCE_DWORD = 0xffffffff
|
||||
|
||||
} D2D1_HIGHLIGHTSANDSHADOWS_INPUT_GAMMA;
|
||||
|
||||
|
||||
//+-----------------------------------------------------------------------------
|
||||
//
|
||||
// Enum:
|
||||
// D2D1_LOOKUPTABLE3D_PROP
|
||||
//
|
||||
// Synopsis:
|
||||
// The enumeration of the Lookup Table 3D effect's top level properties.
|
||||
//
|
||||
//------------------------------------------------------------------------------
|
||||
/// <summary>
|
||||
/// The enumeration of the Lookup Table 3D effect's top level properties.
|
||||
/// </summary>
|
||||
typedef enum D2D1_LOOKUPTABLE3D_PROP
|
||||
{
|
||||
|
||||
//
|
||||
// Property Name: "Lut"
|
||||
// Property Type: IUnknown *
|
||||
//
|
||||
D2D1_LOOKUPTABLE3D_PROP_LUT = 0,
|
||||
|
||||
//
|
||||
// Property Name: "AlphaMode"
|
||||
// Property Type: D2D1_ALPHA_MODE
|
||||
//
|
||||
D2D1_LOOKUPTABLE3D_PROP_ALPHA_MODE = 1,
|
||||
D2D1_LOOKUPTABLE3D_PROP_FORCE_DWORD = 0xffffffff
|
||||
|
||||
/// <summary>
|
||||
/// Property Name: "Lut"
|
||||
/// Property Type: IUnknown *
|
||||
/// </summary>
|
||||
D2D1_LOOKUPTABLE3D_PROP_LUT = 0,
|
||||
|
||||
/// <summary>
|
||||
/// Property Name: "AlphaMode"
|
||||
/// Property Type: D2D1_ALPHA_MODE
|
||||
/// </summary>
|
||||
D2D1_LOOKUPTABLE3D_PROP_ALPHA_MODE = 1,
|
||||
D2D1_LOOKUPTABLE3D_PROP_FORCE_DWORD = 0xffffffff
|
||||
|
||||
} D2D1_LOOKUPTABLE3D_PROP;
|
||||
|
||||
|
||||
#if NTDDI_VERSION >= NTDDI_WIN10_RS1
|
||||
|
||||
/// <summary>
|
||||
/// The enumeration of the Opacity effect's top level properties.
|
||||
/// </summary>
|
||||
typedef enum D2D1_OPACITY_PROP
|
||||
{
|
||||
|
||||
/// <summary>
|
||||
/// Property Name: "Opacity"
|
||||
/// Property Type: FLOAT
|
||||
/// </summary>
|
||||
D2D1_OPACITY_PROP_OPACITY = 0,
|
||||
D2D1_OPACITY_PROP_FORCE_DWORD = 0xffffffff
|
||||
|
||||
} D2D1_OPACITY_PROP;
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// The enumeration of the Cross Fade effect's top level properties.
|
||||
/// </summary>
|
||||
typedef enum D2D1_CROSSFADE_PROP
|
||||
{
|
||||
|
||||
/// <summary>
|
||||
/// Property Name: "Weight"
|
||||
/// Property Type: FLOAT
|
||||
/// </summary>
|
||||
D2D1_CROSSFADE_PROP_WEIGHT = 0,
|
||||
D2D1_CROSSFADE_PROP_FORCE_DWORD = 0xffffffff
|
||||
|
||||
} D2D1_CROSSFADE_PROP;
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// The enumeration of the Tint effect's top level properties.
|
||||
/// </summary>
|
||||
typedef enum D2D1_TINT_PROP
|
||||
{
|
||||
|
||||
/// <summary>
|
||||
/// Property Name: "Color"
|
||||
/// Property Type: D2D1_VECTOR_4F
|
||||
/// </summary>
|
||||
D2D1_TINT_PROP_COLOR = 0,
|
||||
|
||||
/// <summary>
|
||||
/// Property Name: "ClampOutput"
|
||||
/// Property Type: BOOL
|
||||
/// </summary>
|
||||
D2D1_TINT_PROP_CLAMP_OUTPUT = 1,
|
||||
D2D1_TINT_PROP_FORCE_DWORD = 0xffffffff
|
||||
|
||||
} D2D1_TINT_PROP;
|
||||
|
||||
|
||||
#endif // #if NTDDI_VERSION >= NTDDI_WIN10_RS1
|
||||
|
||||
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP) */
|
||||
#pragma endregion
|
||||
|
||||
|
||||
Vendored
+1
-1
@@ -8,7 +8,7 @@
|
||||
/* this ALWAYS GENERATED file contains the definitions for the interfaces */
|
||||
|
||||
|
||||
/* File created by MIDL compiler version 8.00.0613 */
|
||||
/* File created by MIDL compiler version 8.01.0618 */
|
||||
/* @@MIDL_FILE_HEADING( ) */
|
||||
|
||||
|
||||
|
||||
Vendored
+1
-1
@@ -8,7 +8,7 @@
|
||||
/* this ALWAYS GENERATED file contains the definitions for the interfaces */
|
||||
|
||||
|
||||
/* File created by MIDL compiler version 8.00.0613 */
|
||||
/* File created by MIDL compiler version 8.01.0618 */
|
||||
/* @@MIDL_FILE_HEADING( ) */
|
||||
|
||||
|
||||
|
||||
Vendored
+8
-3
@@ -8,7 +8,7 @@
|
||||
/* this ALWAYS GENERATED file contains the definitions for the interfaces */
|
||||
|
||||
|
||||
/* File created by MIDL compiler version 8.00.0613 */
|
||||
/* File created by MIDL compiler version 8.01.0618 */
|
||||
/* @@MIDL_FILE_HEADING( ) */
|
||||
|
||||
|
||||
@@ -7306,7 +7306,8 @@ enum D3D11_FEATURE
|
||||
D3D11_FEATURE_D3D9_OPTIONS1 = ( D3D11_FEATURE_MARKER_SUPPORT + 1 ) ,
|
||||
D3D11_FEATURE_D3D11_OPTIONS2 = ( D3D11_FEATURE_D3D9_OPTIONS1 + 1 ) ,
|
||||
D3D11_FEATURE_D3D11_OPTIONS3 = ( D3D11_FEATURE_D3D11_OPTIONS2 + 1 ) ,
|
||||
D3D11_FEATURE_GPU_VIRTUAL_ADDRESS_SUPPORT = ( D3D11_FEATURE_D3D11_OPTIONS3 + 1 )
|
||||
D3D11_FEATURE_GPU_VIRTUAL_ADDRESS_SUPPORT = ( D3D11_FEATURE_D3D11_OPTIONS3 + 1 ) ,
|
||||
D3D11_FEATURE_D3D11_OPTIONS4 = ( D3D11_FEATURE_GPU_VIRTUAL_ADDRESS_SUPPORT + 1 )
|
||||
} D3D11_FEATURE;
|
||||
|
||||
typedef struct D3D11_FEATURE_DATA_THREADING
|
||||
@@ -9661,6 +9662,9 @@ DEFINE_GUID(D3D11_DECODER_PROFILE_MPEG4PT2_VLD_ADVSIMPLE_NOGMC, 0xed418a9f, 0x0
|
||||
DEFINE_GUID(D3D11_DECODER_PROFILE_MPEG4PT2_VLD_ADVSIMPLE_GMC, 0xab998b5b, 0x4258,0x44a9,0x9f,0xeb,0x94,0xe5,0x97,0xa6,0xba,0xae);
|
||||
DEFINE_GUID(D3D11_DECODER_PROFILE_HEVC_VLD_MAIN, 0x5b11d51b, 0x2f4c,0x4452,0xbc,0xc3,0x09,0xf2,0xa1,0x16,0x0c,0xc0);
|
||||
DEFINE_GUID(D3D11_DECODER_PROFILE_HEVC_VLD_MAIN10, 0x107af0e0, 0xef1a,0x4d19,0xab,0xa8,0x67,0xa1,0x63,0x07,0x3d,0x13);
|
||||
DEFINE_GUID(D3D11_DECODER_PROFILE_VP9_VLD_PROFILE0, 0x463707f8, 0xa1d0, 0x4585, 0x87, 0x6d, 0x83, 0xaa, 0x6d, 0x60, 0xb8, 0x9e);
|
||||
DEFINE_GUID(D3D11_DECODER_PROFILE_VP9_VLD_10BIT_PROFILE2, 0xa4c749ef, 0x6ecf, 0x48aa, 0x84, 0x48, 0x50, 0xa7, 0xa1, 0x16, 0x5f, 0xf7);
|
||||
DEFINE_GUID(D3D11_DECODER_PROFILE_VP8_VLD, 0x90b899ea, 0x3a62, 0x4705, 0x88, 0xb3, 0x8d, 0xf0, 0x4b, 0x27, 0x44, 0xe7);
|
||||
typedef struct D3D11_VIDEO_DECODER_DESC
|
||||
{
|
||||
GUID Guid;
|
||||
@@ -9929,7 +9933,8 @@ enum D3D11_VIDEO_PROCESSOR_FEATURE_CAPS
|
||||
D3D11_VIDEO_PROCESSOR_FEATURE_CAPS_ALPHA_STREAM = 0x80,
|
||||
D3D11_VIDEO_PROCESSOR_FEATURE_CAPS_PIXEL_ASPECT_RATIO = 0x100,
|
||||
D3D11_VIDEO_PROCESSOR_FEATURE_CAPS_MIRROR = 0x200,
|
||||
D3D11_VIDEO_PROCESSOR_FEATURE_CAPS_SHADER_USAGE = 0x400
|
||||
D3D11_VIDEO_PROCESSOR_FEATURE_CAPS_SHADER_USAGE = 0x400,
|
||||
D3D11_VIDEO_PROCESSOR_FEATURE_CAPS_METADATA_HDR10 = 0x800
|
||||
} D3D11_VIDEO_PROCESSOR_FEATURE_CAPS;
|
||||
|
||||
typedef
|
||||
|
||||
Vendored
+1
-1
@@ -8,7 +8,7 @@
|
||||
/* this ALWAYS GENERATED file contains the definitions for the interfaces */
|
||||
|
||||
|
||||
/* File created by MIDL compiler version 8.00.0613 */
|
||||
/* File created by MIDL compiler version 8.01.0618 */
|
||||
/* @@MIDL_FILE_HEADING( ) */
|
||||
|
||||
|
||||
|
||||
Vendored
+1
-1
@@ -8,7 +8,7 @@
|
||||
/* this ALWAYS GENERATED file contains the definitions for the interfaces */
|
||||
|
||||
|
||||
/* File created by MIDL compiler version 8.00.0613 */
|
||||
/* File created by MIDL compiler version 8.01.0618 */
|
||||
/* @@MIDL_FILE_HEADING( ) */
|
||||
|
||||
|
||||
|
||||
Vendored
+1
-1
@@ -8,7 +8,7 @@
|
||||
/* this ALWAYS GENERATED file contains the definitions for the interfaces */
|
||||
|
||||
|
||||
/* File created by MIDL compiler version 8.00.0613 */
|
||||
/* File created by MIDL compiler version 8.01.0618 */
|
||||
/* @@MIDL_FILE_HEADING( ) */
|
||||
|
||||
|
||||
|
||||
Vendored
+2233
File diff suppressed because it is too large
Load Diff
+1
-1
@@ -8,7 +8,7 @@
|
||||
/* this ALWAYS GENERATED file contains the definitions for the interfaces */
|
||||
|
||||
|
||||
/* File created by MIDL compiler version 8.00.0613 */
|
||||
/* File created by MIDL compiler version 8.01.0618 */
|
||||
|
||||
|
||||
|
||||
|
||||
Vendored
+977
-28
File diff suppressed because it is too large
Load Diff
+485
-23
@@ -8,7 +8,7 @@
|
||||
/* this ALWAYS GENERATED file contains the definitions for the interfaces */
|
||||
|
||||
|
||||
/* File created by MIDL compiler version 8.00.0613 */
|
||||
/* File created by MIDL compiler version 8.01.0618 */
|
||||
|
||||
|
||||
|
||||
@@ -50,6 +50,20 @@ typedef interface ID3D12Debug ID3D12Debug;
|
||||
#endif /* __ID3D12Debug_FWD_DEFINED__ */
|
||||
|
||||
|
||||
#ifndef __ID3D12Debug1_FWD_DEFINED__
|
||||
#define __ID3D12Debug1_FWD_DEFINED__
|
||||
typedef interface ID3D12Debug1 ID3D12Debug1;
|
||||
|
||||
#endif /* __ID3D12Debug1_FWD_DEFINED__ */
|
||||
|
||||
|
||||
#ifndef __ID3D12DebugDevice1_FWD_DEFINED__
|
||||
#define __ID3D12DebugDevice1_FWD_DEFINED__
|
||||
typedef interface ID3D12DebugDevice1 ID3D12DebugDevice1;
|
||||
|
||||
#endif /* __ID3D12DebugDevice1_FWD_DEFINED__ */
|
||||
|
||||
|
||||
#ifndef __ID3D12DebugDevice_FWD_DEFINED__
|
||||
#define __ID3D12DebugDevice_FWD_DEFINED__
|
||||
typedef interface ID3D12DebugDevice ID3D12DebugDevice;
|
||||
@@ -64,6 +78,13 @@ typedef interface ID3D12DebugCommandQueue ID3D12DebugCommandQueue;
|
||||
#endif /* __ID3D12DebugCommandQueue_FWD_DEFINED__ */
|
||||
|
||||
|
||||
#ifndef __ID3D12DebugCommandList1_FWD_DEFINED__
|
||||
#define __ID3D12DebugCommandList1_FWD_DEFINED__
|
||||
typedef interface ID3D12DebugCommandList1 ID3D12DebugCommandList1;
|
||||
|
||||
#endif /* __ID3D12DebugCommandList1_FWD_DEFINED__ */
|
||||
|
||||
|
||||
#ifndef __ID3D12DebugCommandList_FWD_DEFINED__
|
||||
#define __ID3D12DebugCommandList_FWD_DEFINED__
|
||||
typedef interface ID3D12DebugCommandList ID3D12DebugCommandList;
|
||||
@@ -176,18 +197,106 @@ EXTERN_C const IID IID_ID3D12Debug;
|
||||
#endif /* __ID3D12Debug_INTERFACE_DEFINED__ */
|
||||
|
||||
|
||||
/* interface __MIDL_itf_d3d12sdklayers_0000_0001 */
|
||||
#ifndef __ID3D12Debug1_INTERFACE_DEFINED__
|
||||
#define __ID3D12Debug1_INTERFACE_DEFINED__
|
||||
|
||||
/* interface ID3D12Debug1 */
|
||||
/* [unique][local][object][uuid] */
|
||||
|
||||
|
||||
EXTERN_C const IID IID_ID3D12Debug1;
|
||||
|
||||
#if defined(__cplusplus) && !defined(CINTERFACE)
|
||||
|
||||
MIDL_INTERFACE("affaa4ca-63fe-4d8e-b8ad-159000af4304")
|
||||
ID3D12Debug1 : public IUnknown
|
||||
{
|
||||
public:
|
||||
virtual void STDMETHODCALLTYPE EnableDebugLayer( void) = 0;
|
||||
|
||||
virtual void STDMETHODCALLTYPE SetEnableGPUBasedValidation(
|
||||
BOOL Enable) = 0;
|
||||
|
||||
virtual void STDMETHODCALLTYPE SetEnableSynchronizedCommandQueueValidation(
|
||||
BOOL Enable) = 0;
|
||||
|
||||
};
|
||||
|
||||
|
||||
#else /* C style interface */
|
||||
|
||||
typedef struct ID3D12Debug1Vtbl
|
||||
{
|
||||
BEGIN_INTERFACE
|
||||
|
||||
HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
|
||||
ID3D12Debug1 * This,
|
||||
REFIID riid,
|
||||
_COM_Outptr_ void **ppvObject);
|
||||
|
||||
ULONG ( STDMETHODCALLTYPE *AddRef )(
|
||||
ID3D12Debug1 * This);
|
||||
|
||||
ULONG ( STDMETHODCALLTYPE *Release )(
|
||||
ID3D12Debug1 * This);
|
||||
|
||||
void ( STDMETHODCALLTYPE *EnableDebugLayer )(
|
||||
ID3D12Debug1 * This);
|
||||
|
||||
void ( STDMETHODCALLTYPE *SetEnableGPUBasedValidation )(
|
||||
ID3D12Debug1 * This,
|
||||
BOOL Enable);
|
||||
|
||||
void ( STDMETHODCALLTYPE *SetEnableSynchronizedCommandQueueValidation )(
|
||||
ID3D12Debug1 * This,
|
||||
BOOL Enable);
|
||||
|
||||
END_INTERFACE
|
||||
} ID3D12Debug1Vtbl;
|
||||
|
||||
interface ID3D12Debug1
|
||||
{
|
||||
CONST_VTBL struct ID3D12Debug1Vtbl *lpVtbl;
|
||||
};
|
||||
|
||||
|
||||
|
||||
#ifdef COBJMACROS
|
||||
|
||||
|
||||
#define ID3D12Debug1_QueryInterface(This,riid,ppvObject) \
|
||||
( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
|
||||
|
||||
#define ID3D12Debug1_AddRef(This) \
|
||||
( (This)->lpVtbl -> AddRef(This) )
|
||||
|
||||
#define ID3D12Debug1_Release(This) \
|
||||
( (This)->lpVtbl -> Release(This) )
|
||||
|
||||
|
||||
#define ID3D12Debug1_EnableDebugLayer(This) \
|
||||
( (This)->lpVtbl -> EnableDebugLayer(This) )
|
||||
|
||||
#define ID3D12Debug1_SetEnableGPUBasedValidation(This,Enable) \
|
||||
( (This)->lpVtbl -> SetEnableGPUBasedValidation(This,Enable) )
|
||||
|
||||
#define ID3D12Debug1_SetEnableSynchronizedCommandQueueValidation(This,Enable) \
|
||||
( (This)->lpVtbl -> SetEnableSynchronizedCommandQueueValidation(This,Enable) )
|
||||
|
||||
#endif /* COBJMACROS */
|
||||
|
||||
|
||||
#endif /* C style interface */
|
||||
|
||||
|
||||
|
||||
|
||||
#endif /* __ID3D12Debug1_INTERFACE_DEFINED__ */
|
||||
|
||||
|
||||
/* interface __MIDL_itf_d3d12sdklayers_0000_0002 */
|
||||
/* [local] */
|
||||
|
||||
typedef
|
||||
enum D3D12_DEBUG_FEATURE
|
||||
{
|
||||
D3D12_DEBUG_FEATURE_NONE = 0,
|
||||
D3D12_DEBUG_FEATURE_TREAT_BUNDLE_AS_DRAW = 0x1,
|
||||
D3D12_DEBUG_FEATURE_TREAT_BUNDLE_AS_DISPATCH = 0x2
|
||||
} D3D12_DEBUG_FEATURE;
|
||||
|
||||
DEFINE_ENUM_FLAG_OPERATORS( D3D12_DEBUG_FEATURE );
|
||||
typedef
|
||||
enum D3D12_RLDO_FLAGS
|
||||
{
|
||||
@@ -198,10 +307,163 @@ enum D3D12_RLDO_FLAGS
|
||||
} D3D12_RLDO_FLAGS;
|
||||
|
||||
DEFINE_ENUM_FLAG_OPERATORS(D3D12_RLDO_FLAGS)
|
||||
typedef
|
||||
enum D3D12_DEBUG_DEVICE_PARAMETER_TYPE
|
||||
{
|
||||
D3D12_DEBUG_DEVICE_PARAMETER_FEATURE_FLAGS = 0,
|
||||
D3D12_DEBUG_DEVICE_PARAMETER_GPU_BASED_VALIDATION_SETTINGS = ( D3D12_DEBUG_DEVICE_PARAMETER_FEATURE_FLAGS + 1 )
|
||||
} D3D12_DEBUG_DEVICE_PARAMETER_TYPE;
|
||||
|
||||
typedef
|
||||
enum D3D12_DEBUG_FEATURE
|
||||
{
|
||||
D3D12_DEBUG_FEATURE_NONE = 0,
|
||||
D3D12_DEBUG_FEATURE_ALLOW_BEHAVIOR_CHANGING_DEBUG_AIDS = 0x1,
|
||||
D3D12_DEBUG_FEATURE_CONSERVATIVE_RESOURCE_STATE_TRACKING = 0x2,
|
||||
D3D12_DEBUG_FEATURE_DISABLE_VIRTUALIZED_BUNDLES_VALIDATION = 0x4,
|
||||
D3D12_DEBUG_FEATURE_VALID_MASK = ( ( D3D12_DEBUG_FEATURE_ALLOW_BEHAVIOR_CHANGING_DEBUG_AIDS | D3D12_DEBUG_FEATURE_CONSERVATIVE_RESOURCE_STATE_TRACKING ) | D3D12_DEBUG_FEATURE_DISABLE_VIRTUALIZED_BUNDLES_VALIDATION )
|
||||
} D3D12_DEBUG_FEATURE;
|
||||
|
||||
DEFINE_ENUM_FLAG_OPERATORS(D3D12_DEBUG_FEATURE)
|
||||
typedef
|
||||
enum D3D12_GPU_BASED_VALIDATION_SHADER_PATCH_MODE
|
||||
{
|
||||
D3D12_GPU_BASED_VALIDATION_SHADER_PATCH_MODE_NONE = 0,
|
||||
D3D12_GPU_BASED_VALIDATION_SHADER_PATCH_MODE_STATE_TRACKING_ONLY = ( D3D12_GPU_BASED_VALIDATION_SHADER_PATCH_MODE_NONE + 1 ) ,
|
||||
D3D12_GPU_BASED_VALIDATION_SHADER_PATCH_MODE_UNGUARDED_VALIDATION = ( D3D12_GPU_BASED_VALIDATION_SHADER_PATCH_MODE_STATE_TRACKING_ONLY + 1 ) ,
|
||||
D3D12_GPU_BASED_VALIDATION_SHADER_PATCH_MODE_GUARDED_VALIDATION = ( D3D12_GPU_BASED_VALIDATION_SHADER_PATCH_MODE_UNGUARDED_VALIDATION + 1 ) ,
|
||||
NUM_D3D12_GPU_BASED_VALIDATION_SHADER_PATCH_MODES = ( D3D12_GPU_BASED_VALIDATION_SHADER_PATCH_MODE_GUARDED_VALIDATION + 1 )
|
||||
} D3D12_GPU_BASED_VALIDATION_SHADER_PATCH_MODE;
|
||||
|
||||
typedef
|
||||
enum D3D12_GPU_BASED_VALIDATION_PIPELINE_STATE_CREATE_FLAGS
|
||||
{
|
||||
D3D12_GPU_BASED_VALIDATION_PIPELINE_STATE_CREATE_FLAG_NONE = 0,
|
||||
D3D12_GPU_BASED_VALIDATION_PIPELINE_STATE_CREATE_FLAG_FRONT_LOAD_CREATE_TRACKING_ONLY_SHADERS = 0x1,
|
||||
D3D12_GPU_BASED_VALIDATION_PIPELINE_STATE_CREATE_FLAG_FRONT_LOAD_CREATE_UNGUARDED_VALIDATION_SHADERS = 0x2,
|
||||
D3D12_GPU_BASED_VALIDATION_PIPELINE_STATE_CREATE_FLAG_FRONT_LOAD_CREATE_GUARDED_VALIDATION_SHADERS = 0x4,
|
||||
D3D12_GPU_BASED_VALIDATION_PIPELINE_STATE_CREATE_FLAGS_VALID_MASK = 0x7
|
||||
} D3D12_GPU_BASED_VALIDATION_PIPELINE_STATE_CREATE_FLAGS;
|
||||
|
||||
DEFINE_ENUM_FLAG_OPERATORS(D3D12_GPU_BASED_VALIDATION_PIPELINE_STATE_CREATE_FLAGS)
|
||||
typedef struct D3D12_DEBUG_DEVICE_GPU_BASED_VALIDATION_SETTINGS
|
||||
{
|
||||
UINT MaxMessagesPerCommandList;
|
||||
D3D12_GPU_BASED_VALIDATION_SHADER_PATCH_MODE DefaultShaderPatchMode;
|
||||
D3D12_GPU_BASED_VALIDATION_PIPELINE_STATE_CREATE_FLAGS PipelineStateCreateFlags;
|
||||
} D3D12_DEBUG_DEVICE_GPU_BASED_VALIDATION_SETTINGS;
|
||||
|
||||
|
||||
extern RPC_IF_HANDLE __MIDL_itf_d3d12sdklayers_0000_0001_v0_0_c_ifspec;
|
||||
extern RPC_IF_HANDLE __MIDL_itf_d3d12sdklayers_0000_0001_v0_0_s_ifspec;
|
||||
|
||||
extern RPC_IF_HANDLE __MIDL_itf_d3d12sdklayers_0000_0002_v0_0_c_ifspec;
|
||||
extern RPC_IF_HANDLE __MIDL_itf_d3d12sdklayers_0000_0002_v0_0_s_ifspec;
|
||||
|
||||
#ifndef __ID3D12DebugDevice1_INTERFACE_DEFINED__
|
||||
#define __ID3D12DebugDevice1_INTERFACE_DEFINED__
|
||||
|
||||
/* interface ID3D12DebugDevice1 */
|
||||
/* [unique][local][object][uuid] */
|
||||
|
||||
|
||||
EXTERN_C const IID IID_ID3D12DebugDevice1;
|
||||
|
||||
#if defined(__cplusplus) && !defined(CINTERFACE)
|
||||
|
||||
MIDL_INTERFACE("a9b71770-d099-4a65-a698-3dee10020f88")
|
||||
ID3D12DebugDevice1 : public IUnknown
|
||||
{
|
||||
public:
|
||||
virtual HRESULT STDMETHODCALLTYPE SetDebugParameter(
|
||||
D3D12_DEBUG_DEVICE_PARAMETER_TYPE Type,
|
||||
_In_reads_bytes_(DataSize) const void *pData,
|
||||
UINT DataSize) = 0;
|
||||
|
||||
virtual HRESULT STDMETHODCALLTYPE GetDebugParameter(
|
||||
D3D12_DEBUG_DEVICE_PARAMETER_TYPE Type,
|
||||
_Out_writes_bytes_(DataSize) void *pData,
|
||||
UINT DataSize) = 0;
|
||||
|
||||
virtual HRESULT STDMETHODCALLTYPE ReportLiveDeviceObjects(
|
||||
D3D12_RLDO_FLAGS Flags) = 0;
|
||||
|
||||
};
|
||||
|
||||
|
||||
#else /* C style interface */
|
||||
|
||||
typedef struct ID3D12DebugDevice1Vtbl
|
||||
{
|
||||
BEGIN_INTERFACE
|
||||
|
||||
HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
|
||||
ID3D12DebugDevice1 * This,
|
||||
REFIID riid,
|
||||
_COM_Outptr_ void **ppvObject);
|
||||
|
||||
ULONG ( STDMETHODCALLTYPE *AddRef )(
|
||||
ID3D12DebugDevice1 * This);
|
||||
|
||||
ULONG ( STDMETHODCALLTYPE *Release )(
|
||||
ID3D12DebugDevice1 * This);
|
||||
|
||||
HRESULT ( STDMETHODCALLTYPE *SetDebugParameter )(
|
||||
ID3D12DebugDevice1 * This,
|
||||
D3D12_DEBUG_DEVICE_PARAMETER_TYPE Type,
|
||||
_In_reads_bytes_(DataSize) const void *pData,
|
||||
UINT DataSize);
|
||||
|
||||
HRESULT ( STDMETHODCALLTYPE *GetDebugParameter )(
|
||||
ID3D12DebugDevice1 * This,
|
||||
D3D12_DEBUG_DEVICE_PARAMETER_TYPE Type,
|
||||
_Out_writes_bytes_(DataSize) void *pData,
|
||||
UINT DataSize);
|
||||
|
||||
HRESULT ( STDMETHODCALLTYPE *ReportLiveDeviceObjects )(
|
||||
ID3D12DebugDevice1 * This,
|
||||
D3D12_RLDO_FLAGS Flags);
|
||||
|
||||
END_INTERFACE
|
||||
} ID3D12DebugDevice1Vtbl;
|
||||
|
||||
interface ID3D12DebugDevice1
|
||||
{
|
||||
CONST_VTBL struct ID3D12DebugDevice1Vtbl *lpVtbl;
|
||||
};
|
||||
|
||||
|
||||
|
||||
#ifdef COBJMACROS
|
||||
|
||||
|
||||
#define ID3D12DebugDevice1_QueryInterface(This,riid,ppvObject) \
|
||||
( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
|
||||
|
||||
#define ID3D12DebugDevice1_AddRef(This) \
|
||||
( (This)->lpVtbl -> AddRef(This) )
|
||||
|
||||
#define ID3D12DebugDevice1_Release(This) \
|
||||
( (This)->lpVtbl -> Release(This) )
|
||||
|
||||
|
||||
#define ID3D12DebugDevice1_SetDebugParameter(This,Type,pData,DataSize) \
|
||||
( (This)->lpVtbl -> SetDebugParameter(This,Type,pData,DataSize) )
|
||||
|
||||
#define ID3D12DebugDevice1_GetDebugParameter(This,Type,pData,DataSize) \
|
||||
( (This)->lpVtbl -> GetDebugParameter(This,Type,pData,DataSize) )
|
||||
|
||||
#define ID3D12DebugDevice1_ReportLiveDeviceObjects(This,Flags) \
|
||||
( (This)->lpVtbl -> ReportLiveDeviceObjects(This,Flags) )
|
||||
|
||||
#endif /* COBJMACROS */
|
||||
|
||||
|
||||
#endif /* C style interface */
|
||||
|
||||
|
||||
|
||||
|
||||
#endif /* __ID3D12DebugDevice1_INTERFACE_DEFINED__ */
|
||||
|
||||
|
||||
#ifndef __ID3D12DebugDevice_INTERFACE_DEFINED__
|
||||
#define __ID3D12DebugDevice_INTERFACE_DEFINED__
|
||||
@@ -300,14 +562,14 @@ EXTERN_C const IID IID_ID3D12DebugDevice;
|
||||
#endif /* __ID3D12DebugDevice_INTERFACE_DEFINED__ */
|
||||
|
||||
|
||||
/* interface __MIDL_itf_d3d12sdklayers_0000_0002 */
|
||||
/* interface __MIDL_itf_d3d12sdklayers_0000_0004 */
|
||||
/* [local] */
|
||||
|
||||
DEFINE_GUID(DXGI_DEBUG_D3D12, 0xcf59a98c, 0xa950, 0x4326, 0x91, 0xef, 0x9b, 0xba, 0xa1, 0x7b, 0xfd, 0x95);
|
||||
|
||||
|
||||
extern RPC_IF_HANDLE __MIDL_itf_d3d12sdklayers_0000_0002_v0_0_c_ifspec;
|
||||
extern RPC_IF_HANDLE __MIDL_itf_d3d12sdklayers_0000_0002_v0_0_s_ifspec;
|
||||
extern RPC_IF_HANDLE __MIDL_itf_d3d12sdklayers_0000_0004_v0_0_c_ifspec;
|
||||
extern RPC_IF_HANDLE __MIDL_itf_d3d12sdklayers_0000_0004_v0_0_s_ifspec;
|
||||
|
||||
#ifndef __ID3D12DebugCommandQueue_INTERFACE_DEFINED__
|
||||
#define __ID3D12DebugCommandQueue_INTERFACE_DEFINED__
|
||||
@@ -392,6 +654,136 @@ EXTERN_C const IID IID_ID3D12DebugCommandQueue;
|
||||
#endif /* __ID3D12DebugCommandQueue_INTERFACE_DEFINED__ */
|
||||
|
||||
|
||||
/* interface __MIDL_itf_d3d12sdklayers_0000_0005 */
|
||||
/* [local] */
|
||||
|
||||
typedef
|
||||
enum D3D12_DEBUG_COMMAND_LIST_PARAMETER_TYPE
|
||||
{
|
||||
D3D12_DEBUG_COMMAND_LIST_PARAMETER_GPU_BASED_VALIDATION_SETTINGS = 0
|
||||
} D3D12_DEBUG_COMMAND_LIST_PARAMETER_TYPE;
|
||||
|
||||
typedef struct D3D12_DEBUG_COMMAND_LIST_GPU_BASED_VALIDATION_SETTINGS
|
||||
{
|
||||
D3D12_GPU_BASED_VALIDATION_SHADER_PATCH_MODE ShaderPatchMode;
|
||||
} D3D12_DEBUG_COMMAND_LIST_GPU_BASED_VALIDATION_SETTINGS;
|
||||
|
||||
|
||||
|
||||
extern RPC_IF_HANDLE __MIDL_itf_d3d12sdklayers_0000_0005_v0_0_c_ifspec;
|
||||
extern RPC_IF_HANDLE __MIDL_itf_d3d12sdklayers_0000_0005_v0_0_s_ifspec;
|
||||
|
||||
#ifndef __ID3D12DebugCommandList1_INTERFACE_DEFINED__
|
||||
#define __ID3D12DebugCommandList1_INTERFACE_DEFINED__
|
||||
|
||||
/* interface ID3D12DebugCommandList1 */
|
||||
/* [unique][local][object][uuid] */
|
||||
|
||||
|
||||
EXTERN_C const IID IID_ID3D12DebugCommandList1;
|
||||
|
||||
#if defined(__cplusplus) && !defined(CINTERFACE)
|
||||
|
||||
MIDL_INTERFACE("102ca951-311b-4b01-b11f-ecb83e061b37")
|
||||
ID3D12DebugCommandList1 : public IUnknown
|
||||
{
|
||||
public:
|
||||
virtual BOOL STDMETHODCALLTYPE AssertResourceState(
|
||||
_In_ ID3D12Resource *pResource,
|
||||
UINT Subresource,
|
||||
UINT State) = 0;
|
||||
|
||||
virtual HRESULT STDMETHODCALLTYPE SetDebugParameter(
|
||||
D3D12_DEBUG_COMMAND_LIST_PARAMETER_TYPE Type,
|
||||
_In_reads_bytes_(DataSize) const void *pData,
|
||||
UINT DataSize) = 0;
|
||||
|
||||
virtual HRESULT STDMETHODCALLTYPE GetDebugParameter(
|
||||
D3D12_DEBUG_COMMAND_LIST_PARAMETER_TYPE Type,
|
||||
_Out_writes_bytes_(DataSize) void *pData,
|
||||
UINT DataSize) = 0;
|
||||
|
||||
};
|
||||
|
||||
|
||||
#else /* C style interface */
|
||||
|
||||
typedef struct ID3D12DebugCommandList1Vtbl
|
||||
{
|
||||
BEGIN_INTERFACE
|
||||
|
||||
HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
|
||||
ID3D12DebugCommandList1 * This,
|
||||
REFIID riid,
|
||||
_COM_Outptr_ void **ppvObject);
|
||||
|
||||
ULONG ( STDMETHODCALLTYPE *AddRef )(
|
||||
ID3D12DebugCommandList1 * This);
|
||||
|
||||
ULONG ( STDMETHODCALLTYPE *Release )(
|
||||
ID3D12DebugCommandList1 * This);
|
||||
|
||||
BOOL ( STDMETHODCALLTYPE *AssertResourceState )(
|
||||
ID3D12DebugCommandList1 * This,
|
||||
_In_ ID3D12Resource *pResource,
|
||||
UINT Subresource,
|
||||
UINT State);
|
||||
|
||||
HRESULT ( STDMETHODCALLTYPE *SetDebugParameter )(
|
||||
ID3D12DebugCommandList1 * This,
|
||||
D3D12_DEBUG_COMMAND_LIST_PARAMETER_TYPE Type,
|
||||
_In_reads_bytes_(DataSize) const void *pData,
|
||||
UINT DataSize);
|
||||
|
||||
HRESULT ( STDMETHODCALLTYPE *GetDebugParameter )(
|
||||
ID3D12DebugCommandList1 * This,
|
||||
D3D12_DEBUG_COMMAND_LIST_PARAMETER_TYPE Type,
|
||||
_Out_writes_bytes_(DataSize) void *pData,
|
||||
UINT DataSize);
|
||||
|
||||
END_INTERFACE
|
||||
} ID3D12DebugCommandList1Vtbl;
|
||||
|
||||
interface ID3D12DebugCommandList1
|
||||
{
|
||||
CONST_VTBL struct ID3D12DebugCommandList1Vtbl *lpVtbl;
|
||||
};
|
||||
|
||||
|
||||
|
||||
#ifdef COBJMACROS
|
||||
|
||||
|
||||
#define ID3D12DebugCommandList1_QueryInterface(This,riid,ppvObject) \
|
||||
( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
|
||||
|
||||
#define ID3D12DebugCommandList1_AddRef(This) \
|
||||
( (This)->lpVtbl -> AddRef(This) )
|
||||
|
||||
#define ID3D12DebugCommandList1_Release(This) \
|
||||
( (This)->lpVtbl -> Release(This) )
|
||||
|
||||
|
||||
#define ID3D12DebugCommandList1_AssertResourceState(This,pResource,Subresource,State) \
|
||||
( (This)->lpVtbl -> AssertResourceState(This,pResource,Subresource,State) )
|
||||
|
||||
#define ID3D12DebugCommandList1_SetDebugParameter(This,Type,pData,DataSize) \
|
||||
( (This)->lpVtbl -> SetDebugParameter(This,Type,pData,DataSize) )
|
||||
|
||||
#define ID3D12DebugCommandList1_GetDebugParameter(This,Type,pData,DataSize) \
|
||||
( (This)->lpVtbl -> GetDebugParameter(This,Type,pData,DataSize) )
|
||||
|
||||
#endif /* COBJMACROS */
|
||||
|
||||
|
||||
#endif /* C style interface */
|
||||
|
||||
|
||||
|
||||
|
||||
#endif /* __ID3D12DebugCommandList1_INTERFACE_DEFINED__ */
|
||||
|
||||
|
||||
#ifndef __ID3D12DebugCommandList_INTERFACE_DEFINED__
|
||||
#define __ID3D12DebugCommandList_INTERFACE_DEFINED__
|
||||
|
||||
@@ -493,7 +885,7 @@ EXTERN_C const IID IID_ID3D12DebugCommandList;
|
||||
#endif /* __ID3D12DebugCommandList_INTERFACE_DEFINED__ */
|
||||
|
||||
|
||||
/* interface __MIDL_itf_d3d12sdklayers_0000_0004 */
|
||||
/* interface __MIDL_itf_d3d12sdklayers_0000_0007 */
|
||||
/* [local] */
|
||||
|
||||
typedef
|
||||
@@ -1459,7 +1851,74 @@ enum D3D12_MESSAGE_ID
|
||||
D3D12_MESSAGE_ID_UNMAP_INVALID_NULLRANGE = ( D3D12_MESSAGE_ID_MAP_INVALID_NULLRANGE + 1 ) ,
|
||||
D3D12_MESSAGE_ID_NO_GRAPHICS_API_SUPPORT = ( D3D12_MESSAGE_ID_UNMAP_INVALID_NULLRANGE + 1 ) ,
|
||||
D3D12_MESSAGE_ID_NO_COMPUTE_API_SUPPORT = ( D3D12_MESSAGE_ID_NO_GRAPHICS_API_SUPPORT + 1 ) ,
|
||||
D3D12_MESSAGE_ID_D3D12_MESSAGES_END = ( D3D12_MESSAGE_ID_NO_COMPUTE_API_SUPPORT + 1 )
|
||||
D3D12_MESSAGE_ID_RESOLVESUBRESOURCE_RESOURCE_FLAGS_NOT_SUPPORTED = ( D3D12_MESSAGE_ID_NO_COMPUTE_API_SUPPORT + 1 ) ,
|
||||
D3D12_MESSAGE_ID_GPU_BASED_VALIDATION_ROOT_ARGUMENT_UNINITIALIZED = ( D3D12_MESSAGE_ID_RESOLVESUBRESOURCE_RESOURCE_FLAGS_NOT_SUPPORTED + 1 ) ,
|
||||
D3D12_MESSAGE_ID_GPU_BASED_VALIDATION_DESCRIPTOR_HEAP_INDEX_OUT_OF_BOUNDS = ( D3D12_MESSAGE_ID_GPU_BASED_VALIDATION_ROOT_ARGUMENT_UNINITIALIZED + 1 ) ,
|
||||
D3D12_MESSAGE_ID_GPU_BASED_VALIDATION_DESCRIPTOR_TABLE_REGISTER_INDEX_OUT_OF_BOUNDS = ( D3D12_MESSAGE_ID_GPU_BASED_VALIDATION_DESCRIPTOR_HEAP_INDEX_OUT_OF_BOUNDS + 1 ) ,
|
||||
D3D12_MESSAGE_ID_GPU_BASED_VALIDATION_DESCRIPTOR_UNINITIALIZED = ( D3D12_MESSAGE_ID_GPU_BASED_VALIDATION_DESCRIPTOR_TABLE_REGISTER_INDEX_OUT_OF_BOUNDS + 1 ) ,
|
||||
D3D12_MESSAGE_ID_GPU_BASED_VALIDATION_DESCRIPTOR_TYPE_MISMATCH = ( D3D12_MESSAGE_ID_GPU_BASED_VALIDATION_DESCRIPTOR_UNINITIALIZED + 1 ) ,
|
||||
D3D12_MESSAGE_ID_GPU_BASED_VALIDATION_SRV_RESOURCE_DIMENSION_MISMATCH = ( D3D12_MESSAGE_ID_GPU_BASED_VALIDATION_DESCRIPTOR_TYPE_MISMATCH + 1 ) ,
|
||||
D3D12_MESSAGE_ID_GPU_BASED_VALIDATION_UAV_RESOURCE_DIMENSION_MISMATCH = ( D3D12_MESSAGE_ID_GPU_BASED_VALIDATION_SRV_RESOURCE_DIMENSION_MISMATCH + 1 ) ,
|
||||
D3D12_MESSAGE_ID_GPU_BASED_VALIDATION_INCOMPATIBLE_RESOURCE_STATE = ( D3D12_MESSAGE_ID_GPU_BASED_VALIDATION_UAV_RESOURCE_DIMENSION_MISMATCH + 1 ) ,
|
||||
D3D12_MESSAGE_ID_COPYRESOURCE_NULLDST = ( D3D12_MESSAGE_ID_GPU_BASED_VALIDATION_INCOMPATIBLE_RESOURCE_STATE + 1 ) ,
|
||||
D3D12_MESSAGE_ID_COPYRESOURCE_INVALIDDSTRESOURCE = ( D3D12_MESSAGE_ID_COPYRESOURCE_NULLDST + 1 ) ,
|
||||
D3D12_MESSAGE_ID_COPYRESOURCE_NULLSRC = ( D3D12_MESSAGE_ID_COPYRESOURCE_INVALIDDSTRESOURCE + 1 ) ,
|
||||
D3D12_MESSAGE_ID_COPYRESOURCE_INVALIDSRCRESOURCE = ( D3D12_MESSAGE_ID_COPYRESOURCE_NULLSRC + 1 ) ,
|
||||
D3D12_MESSAGE_ID_RESOLVESUBRESOURCE_NULLDST = ( D3D12_MESSAGE_ID_COPYRESOURCE_INVALIDSRCRESOURCE + 1 ) ,
|
||||
D3D12_MESSAGE_ID_RESOLVESUBRESOURCE_INVALIDDSTRESOURCE = ( D3D12_MESSAGE_ID_RESOLVESUBRESOURCE_NULLDST + 1 ) ,
|
||||
D3D12_MESSAGE_ID_RESOLVESUBRESOURCE_NULLSRC = ( D3D12_MESSAGE_ID_RESOLVESUBRESOURCE_INVALIDDSTRESOURCE + 1 ) ,
|
||||
D3D12_MESSAGE_ID_RESOLVESUBRESOURCE_INVALIDSRCRESOURCE = ( D3D12_MESSAGE_ID_RESOLVESUBRESOURCE_NULLSRC + 1 ) ,
|
||||
D3D12_MESSAGE_ID_PIPELINE_STATE_TYPE_MISMATCH = ( D3D12_MESSAGE_ID_RESOLVESUBRESOURCE_INVALIDSRCRESOURCE + 1 ) ,
|
||||
D3D12_MESSAGE_ID_COMMAND_LIST_DISPATCH_ROOT_SIGNATURE_NOT_SET = ( D3D12_MESSAGE_ID_PIPELINE_STATE_TYPE_MISMATCH + 1 ) ,
|
||||
D3D12_MESSAGE_ID_COMMAND_LIST_DISPATCH_ROOT_SIGNATURE_MISMATCH = ( D3D12_MESSAGE_ID_COMMAND_LIST_DISPATCH_ROOT_SIGNATURE_NOT_SET + 1 ) ,
|
||||
D3D12_MESSAGE_ID_RESOURCE_BARRIER_ZERO_BARRIERS = ( D3D12_MESSAGE_ID_COMMAND_LIST_DISPATCH_ROOT_SIGNATURE_MISMATCH + 1 ) ,
|
||||
D3D12_MESSAGE_ID_BEGIN_END_EVENT_MISMATCH = ( D3D12_MESSAGE_ID_RESOURCE_BARRIER_ZERO_BARRIERS + 1 ) ,
|
||||
D3D12_MESSAGE_ID_RESOURCE_BARRIER_POSSIBLE_BEFORE_AFTER_MISMATCH = ( D3D12_MESSAGE_ID_BEGIN_END_EVENT_MISMATCH + 1 ) ,
|
||||
D3D12_MESSAGE_ID_RESOURCE_BARRIER_MISMATCHING_BEGIN_END = ( D3D12_MESSAGE_ID_RESOURCE_BARRIER_POSSIBLE_BEFORE_AFTER_MISMATCH + 1 ) ,
|
||||
D3D12_MESSAGE_ID_GPU_BASED_VALIDATION_INVALID_RESOURCE = ( D3D12_MESSAGE_ID_RESOURCE_BARRIER_MISMATCHING_BEGIN_END + 1 ) ,
|
||||
D3D12_MESSAGE_ID_USE_OF_ZERO_REFCOUNT_OBJECT = ( D3D12_MESSAGE_ID_GPU_BASED_VALIDATION_INVALID_RESOURCE + 1 ) ,
|
||||
D3D12_MESSAGE_ID_OBJECT_EVICTED_WHILE_STILL_IN_USE = ( D3D12_MESSAGE_ID_USE_OF_ZERO_REFCOUNT_OBJECT + 1 ) ,
|
||||
D3D12_MESSAGE_ID_GPU_BASED_VALIDATION_ROOT_DESCRIPTOR_ACCESS_OUT_OF_BOUNDS = ( D3D12_MESSAGE_ID_OBJECT_EVICTED_WHILE_STILL_IN_USE + 1 ) ,
|
||||
D3D12_MESSAGE_ID_CREATEPIPELINELIBRARY_INVALIDLIBRARYBLOB = ( D3D12_MESSAGE_ID_GPU_BASED_VALIDATION_ROOT_DESCRIPTOR_ACCESS_OUT_OF_BOUNDS + 1 ) ,
|
||||
D3D12_MESSAGE_ID_CREATEPIPELINELIBRARY_DRIVERVERSIONMISMATCH = ( D3D12_MESSAGE_ID_CREATEPIPELINELIBRARY_INVALIDLIBRARYBLOB + 1 ) ,
|
||||
D3D12_MESSAGE_ID_CREATEPIPELINELIBRARY_ADAPTERVERSIONMISMATCH = ( D3D12_MESSAGE_ID_CREATEPIPELINELIBRARY_DRIVERVERSIONMISMATCH + 1 ) ,
|
||||
D3D12_MESSAGE_ID_CREATEPIPELINELIBRARY_UNSUPPORTED = ( D3D12_MESSAGE_ID_CREATEPIPELINELIBRARY_ADAPTERVERSIONMISMATCH + 1 ) ,
|
||||
D3D12_MESSAGE_ID_CREATE_PIPELINELIBRARY = ( D3D12_MESSAGE_ID_CREATEPIPELINELIBRARY_UNSUPPORTED + 1 ) ,
|
||||
D3D12_MESSAGE_ID_LIVE_PIPELINELIBRARY = ( D3D12_MESSAGE_ID_CREATE_PIPELINELIBRARY + 1 ) ,
|
||||
D3D12_MESSAGE_ID_DESTROY_PIPELINELIBRARY = ( D3D12_MESSAGE_ID_LIVE_PIPELINELIBRARY + 1 ) ,
|
||||
D3D12_MESSAGE_ID_STOREPIPELINE_NONAME = ( D3D12_MESSAGE_ID_DESTROY_PIPELINELIBRARY + 1 ) ,
|
||||
D3D12_MESSAGE_ID_STOREPIPELINE_DUPLICATENAME = ( D3D12_MESSAGE_ID_STOREPIPELINE_NONAME + 1 ) ,
|
||||
D3D12_MESSAGE_ID_LOADPIPELINE_NAMENOTFOUND = ( D3D12_MESSAGE_ID_STOREPIPELINE_DUPLICATENAME + 1 ) ,
|
||||
D3D12_MESSAGE_ID_LOADPIPELINE_INVALIDDESC = ( D3D12_MESSAGE_ID_LOADPIPELINE_NAMENOTFOUND + 1 ) ,
|
||||
D3D12_MESSAGE_ID_PIPELINELIBRARY_SERIALIZE_NOTENOUGHMEMORY = ( D3D12_MESSAGE_ID_LOADPIPELINE_INVALIDDESC + 1 ) ,
|
||||
D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_PS_OUTPUT_RT_OUTPUT_MISMATCH = ( D3D12_MESSAGE_ID_PIPELINELIBRARY_SERIALIZE_NOTENOUGHMEMORY + 1 ) ,
|
||||
D3D12_MESSAGE_ID_SETEVENTONMULTIPLEFENCECOMPLETION_INVALIDFLAGS = ( D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_PS_OUTPUT_RT_OUTPUT_MISMATCH + 1 ) ,
|
||||
D3D12_MESSAGE_ID_CREATE_QUEUE_VIDEO_NOT_SUPPORTED = ( D3D12_MESSAGE_ID_SETEVENTONMULTIPLEFENCECOMPLETION_INVALIDFLAGS + 1 ) ,
|
||||
D3D12_MESSAGE_ID_CREATE_COMMAND_ALLOCATOR_VIDEO_NOT_SUPPORTED = ( D3D12_MESSAGE_ID_CREATE_QUEUE_VIDEO_NOT_SUPPORTED + 1 ) ,
|
||||
D3D12_MESSAGE_ID_CREATEQUERY_HEAP_VIDEO_DECODE_STATISTICS_NOT_SUPPORTED = ( D3D12_MESSAGE_ID_CREATE_COMMAND_ALLOCATOR_VIDEO_NOT_SUPPORTED + 1 ) ,
|
||||
D3D12_MESSAGE_ID_CREATE_VIDEOCOMMANDLIST = ( D3D12_MESSAGE_ID_CREATEQUERY_HEAP_VIDEO_DECODE_STATISTICS_NOT_SUPPORTED + 1 ) ,
|
||||
D3D12_MESSAGE_ID_CREATE_VIDEODECODER = ( D3D12_MESSAGE_ID_CREATE_VIDEOCOMMANDLIST + 1 ) ,
|
||||
D3D12_MESSAGE_ID_CREATE_VIDEODECODESTREAM = ( D3D12_MESSAGE_ID_CREATE_VIDEODECODER + 1 ) ,
|
||||
D3D12_MESSAGE_ID_LIVE_VIDEOCOMMANDLIST = ( D3D12_MESSAGE_ID_CREATE_VIDEODECODESTREAM + 1 ) ,
|
||||
D3D12_MESSAGE_ID_LIVE_VIDEODECODER = ( D3D12_MESSAGE_ID_LIVE_VIDEOCOMMANDLIST + 1 ) ,
|
||||
D3D12_MESSAGE_ID_LIVE_VIDEODECODESTREAM = ( D3D12_MESSAGE_ID_LIVE_VIDEODECODER + 1 ) ,
|
||||
D3D12_MESSAGE_ID_DESTROY_VIDEOCOMMANDLIST = ( D3D12_MESSAGE_ID_LIVE_VIDEODECODESTREAM + 1 ) ,
|
||||
D3D12_MESSAGE_ID_DESTROY_VIDEODECODER = ( D3D12_MESSAGE_ID_DESTROY_VIDEOCOMMANDLIST + 1 ) ,
|
||||
D3D12_MESSAGE_ID_DESTROY_VIDEODECODESTREAM = ( D3D12_MESSAGE_ID_DESTROY_VIDEODECODER + 1 ) ,
|
||||
D3D12_MESSAGE_ID_DECODE_FRAME_INVALID_PARAMETERS = ( D3D12_MESSAGE_ID_DESTROY_VIDEODECODESTREAM + 1 ) ,
|
||||
D3D12_MESSAGE_ID_DEPRECATED_API = ( D3D12_MESSAGE_ID_DECODE_FRAME_INVALID_PARAMETERS + 1 ) ,
|
||||
D3D12_MESSAGE_ID_RESOURCE_BARRIER_MISMATCHING_COMMAND_LIST_TYPE = ( D3D12_MESSAGE_ID_DEPRECATED_API + 1 ) ,
|
||||
D3D12_MESSAGE_ID_COMMAND_LIST_DESCRIPTOR_TABLE_NOT_SET = ( D3D12_MESSAGE_ID_RESOURCE_BARRIER_MISMATCHING_COMMAND_LIST_TYPE + 1 ) ,
|
||||
D3D12_MESSAGE_ID_COMMAND_LIST_ROOT_CONSTANT_BUFFER_VIEW_NOT_SET = ( D3D12_MESSAGE_ID_COMMAND_LIST_DESCRIPTOR_TABLE_NOT_SET + 1 ) ,
|
||||
D3D12_MESSAGE_ID_COMMAND_LIST_ROOT_SHADER_RESOURCE_VIEW_NOT_SET = ( D3D12_MESSAGE_ID_COMMAND_LIST_ROOT_CONSTANT_BUFFER_VIEW_NOT_SET + 1 ) ,
|
||||
D3D12_MESSAGE_ID_COMMAND_LIST_ROOT_UNORDERED_ACCESS_VIEW_NOT_SET = ( D3D12_MESSAGE_ID_COMMAND_LIST_ROOT_SHADER_RESOURCE_VIEW_NOT_SET + 1 ) ,
|
||||
D3D12_MESSAGE_ID_DISCARD_INVALID_SUBRESOURCE_RANGE = ( D3D12_MESSAGE_ID_COMMAND_LIST_ROOT_UNORDERED_ACCESS_VIEW_NOT_SET + 1 ) ,
|
||||
D3D12_MESSAGE_ID_DISCARD_ONE_SUBRESOURCE_FOR_MIPS_WITH_RECTS = ( D3D12_MESSAGE_ID_DISCARD_INVALID_SUBRESOURCE_RANGE + 1 ) ,
|
||||
D3D12_MESSAGE_ID_DISCARD_NO_RECTS_FOR_NON_TEXTURE2D = ( D3D12_MESSAGE_ID_DISCARD_ONE_SUBRESOURCE_FOR_MIPS_WITH_RECTS + 1 ) ,
|
||||
D3D12_MESSAGE_ID_COPY_ON_SAME_SUBRESOURCE = ( D3D12_MESSAGE_ID_DISCARD_NO_RECTS_FOR_NON_TEXTURE2D + 1 ) ,
|
||||
D3D12_MESSAGE_ID_SETRESIDENCYPRIORITY_INVALID_PAGEABLE = ( D3D12_MESSAGE_ID_COPY_ON_SAME_SUBRESOURCE + 1 ) ,
|
||||
D3D12_MESSAGE_ID_GPU_BASED_VALIDATION_UNSUPPORTED = ( D3D12_MESSAGE_ID_SETRESIDENCYPRIORITY_INVALID_PAGEABLE + 1 ) ,
|
||||
D3D12_MESSAGE_ID_D3D12_MESSAGES_END = ( D3D12_MESSAGE_ID_GPU_BASED_VALIDATION_UNSUPPORTED + 1 )
|
||||
} D3D12_MESSAGE_ID;
|
||||
|
||||
typedef struct D3D12_MESSAGE
|
||||
@@ -1490,8 +1949,8 @@ typedef struct D3D12_INFO_QUEUE_FILTER
|
||||
#define D3D12_INFO_QUEUE_DEFAULT_MESSAGE_COUNT_LIMIT 1024
|
||||
|
||||
|
||||
extern RPC_IF_HANDLE __MIDL_itf_d3d12sdklayers_0000_0004_v0_0_c_ifspec;
|
||||
extern RPC_IF_HANDLE __MIDL_itf_d3d12sdklayers_0000_0004_v0_0_s_ifspec;
|
||||
extern RPC_IF_HANDLE __MIDL_itf_d3d12sdklayers_0000_0007_v0_0_c_ifspec;
|
||||
extern RPC_IF_HANDLE __MIDL_itf_d3d12sdklayers_0000_0007_v0_0_s_ifspec;
|
||||
|
||||
#ifndef __ID3D12InfoQueue_INTERFACE_DEFINED__
|
||||
#define __ID3D12InfoQueue_INTERFACE_DEFINED__
|
||||
@@ -1898,20 +2357,23 @@ EXTERN_C const IID IID_ID3D12InfoQueue;
|
||||
#endif /* __ID3D12InfoQueue_INTERFACE_DEFINED__ */
|
||||
|
||||
|
||||
/* interface __MIDL_itf_d3d12sdklayers_0000_0005 */
|
||||
/* interface __MIDL_itf_d3d12sdklayers_0000_0008 */
|
||||
/* [local] */
|
||||
|
||||
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP) */
|
||||
#pragma endregion
|
||||
DEFINE_GUID(IID_ID3D12Debug,0x344488b7,0x6846,0x474b,0xb9,0x89,0xf0,0x27,0x44,0x82,0x45,0xe0);
|
||||
DEFINE_GUID(IID_ID3D12Debug1,0xaffaa4ca,0x63fe,0x4d8e,0xb8,0xad,0x15,0x90,0x00,0xaf,0x43,0x04);
|
||||
DEFINE_GUID(IID_ID3D12DebugDevice1,0xa9b71770,0xd099,0x4a65,0xa6,0x98,0x3d,0xee,0x10,0x02,0x0f,0x88);
|
||||
DEFINE_GUID(IID_ID3D12DebugDevice,0x3febd6dd,0x4973,0x4787,0x81,0x94,0xe4,0x5f,0x9e,0x28,0x92,0x3e);
|
||||
DEFINE_GUID(IID_ID3D12DebugCommandQueue,0x09e0bf36,0x54ac,0x484f,0x88,0x47,0x4b,0xae,0xea,0xb6,0x05,0x3a);
|
||||
DEFINE_GUID(IID_ID3D12DebugCommandList1,0x102ca951,0x311b,0x4b01,0xb1,0x1f,0xec,0xb8,0x3e,0x06,0x1b,0x37);
|
||||
DEFINE_GUID(IID_ID3D12DebugCommandList,0x09e0bf36,0x54ac,0x484f,0x88,0x47,0x4b,0xae,0xea,0xb6,0x05,0x3f);
|
||||
DEFINE_GUID(IID_ID3D12InfoQueue,0x0742a90b,0xc387,0x483f,0xb9,0x46,0x30,0xa7,0xe4,0xe6,0x14,0x58);
|
||||
|
||||
|
||||
extern RPC_IF_HANDLE __MIDL_itf_d3d12sdklayers_0000_0005_v0_0_c_ifspec;
|
||||
extern RPC_IF_HANDLE __MIDL_itf_d3d12sdklayers_0000_0005_v0_0_s_ifspec;
|
||||
extern RPC_IF_HANDLE __MIDL_itf_d3d12sdklayers_0000_0008_v0_0_c_ifspec;
|
||||
extern RPC_IF_HANDLE __MIDL_itf_d3d12sdklayers_0000_0008_v0_0_s_ifspec;
|
||||
|
||||
/* Additional Prototypes for ALL interfaces */
|
||||
|
||||
|
||||
+123
-3
@@ -3,7 +3,7 @@
|
||||
/* this ALWAYS GENERATED file contains the definitions for the interfaces */
|
||||
|
||||
|
||||
/* File created by MIDL compiler version 8.00.0613 */
|
||||
/* File created by MIDL compiler version 8.01.0618 */
|
||||
/* @@MIDL_FILE_HEADING( ) */
|
||||
|
||||
|
||||
@@ -46,6 +46,13 @@ typedef interface ID3D10Blob ID3D10Blob;
|
||||
#endif /* __ID3D10Blob_FWD_DEFINED__ */
|
||||
|
||||
|
||||
#ifndef __ID3DDestructionNotifier_FWD_DEFINED__
|
||||
#define __ID3DDestructionNotifier_FWD_DEFINED__
|
||||
typedef interface ID3DDestructionNotifier ID3DDestructionNotifier;
|
||||
|
||||
#endif /* __ID3DDestructionNotifier_FWD_DEFINED__ */
|
||||
|
||||
|
||||
/* header files for imported files */
|
||||
#include "oaidl.h"
|
||||
#include "ocidl.h"
|
||||
@@ -442,6 +449,119 @@ typedef ID3D10Blob ID3DBlob;
|
||||
|
||||
typedef ID3DBlob* LPD3DBLOB;
|
||||
#define IID_ID3DBlob IID_ID3D10Blob
|
||||
typedef void ( __stdcall *PFN_DESTRUCTION_CALLBACK )(
|
||||
void *pData);
|
||||
|
||||
|
||||
|
||||
extern RPC_IF_HANDLE __MIDL_itf_d3dcommon_0000_0001_v0_0_c_ifspec;
|
||||
extern RPC_IF_HANDLE __MIDL_itf_d3dcommon_0000_0001_v0_0_s_ifspec;
|
||||
|
||||
#ifndef __ID3DDestructionNotifier_INTERFACE_DEFINED__
|
||||
#define __ID3DDestructionNotifier_INTERFACE_DEFINED__
|
||||
|
||||
/* interface ID3DDestructionNotifier */
|
||||
/* [unique][local][object][uuid] */
|
||||
|
||||
|
||||
EXTERN_C const IID IID_ID3DDestructionNotifier;
|
||||
|
||||
#if defined(__cplusplus) && !defined(CINTERFACE)
|
||||
|
||||
MIDL_INTERFACE("a06eb39a-50da-425b-8c31-4eecd6c270f3")
|
||||
ID3DDestructionNotifier : public IUnknown
|
||||
{
|
||||
public:
|
||||
virtual HRESULT STDMETHODCALLTYPE RegisterDestructionCallback(
|
||||
/* [annotation] */
|
||||
_In_ PFN_DESTRUCTION_CALLBACK callbackFn,
|
||||
/* [annotation] */
|
||||
_In_ void *pData,
|
||||
/* [annotation] */
|
||||
_Out_ UINT *pCallbackID) = 0;
|
||||
|
||||
virtual HRESULT STDMETHODCALLTYPE UnregisterDestructionCallback(
|
||||
/* [annotation] */
|
||||
_In_ UINT callbackID) = 0;
|
||||
|
||||
};
|
||||
|
||||
|
||||
#else /* C style interface */
|
||||
|
||||
typedef struct ID3DDestructionNotifierVtbl
|
||||
{
|
||||
BEGIN_INTERFACE
|
||||
|
||||
HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
|
||||
ID3DDestructionNotifier * This,
|
||||
/* [in] */ REFIID riid,
|
||||
/* [annotation][iid_is][out] */
|
||||
_COM_Outptr_ void **ppvObject);
|
||||
|
||||
ULONG ( STDMETHODCALLTYPE *AddRef )(
|
||||
ID3DDestructionNotifier * This);
|
||||
|
||||
ULONG ( STDMETHODCALLTYPE *Release )(
|
||||
ID3DDestructionNotifier * This);
|
||||
|
||||
HRESULT ( STDMETHODCALLTYPE *RegisterDestructionCallback )(
|
||||
ID3DDestructionNotifier * This,
|
||||
/* [annotation] */
|
||||
_In_ PFN_DESTRUCTION_CALLBACK callbackFn,
|
||||
/* [annotation] */
|
||||
_In_ void *pData,
|
||||
/* [annotation] */
|
||||
_Out_ UINT *pCallbackID);
|
||||
|
||||
HRESULT ( STDMETHODCALLTYPE *UnregisterDestructionCallback )(
|
||||
ID3DDestructionNotifier * This,
|
||||
/* [annotation] */
|
||||
_In_ UINT callbackID);
|
||||
|
||||
END_INTERFACE
|
||||
} ID3DDestructionNotifierVtbl;
|
||||
|
||||
interface ID3DDestructionNotifier
|
||||
{
|
||||
CONST_VTBL struct ID3DDestructionNotifierVtbl *lpVtbl;
|
||||
};
|
||||
|
||||
|
||||
|
||||
#ifdef COBJMACROS
|
||||
|
||||
|
||||
#define ID3DDestructionNotifier_QueryInterface(This,riid,ppvObject) \
|
||||
( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
|
||||
|
||||
#define ID3DDestructionNotifier_AddRef(This) \
|
||||
( (This)->lpVtbl -> AddRef(This) )
|
||||
|
||||
#define ID3DDestructionNotifier_Release(This) \
|
||||
( (This)->lpVtbl -> Release(This) )
|
||||
|
||||
|
||||
#define ID3DDestructionNotifier_RegisterDestructionCallback(This,callbackFn,pData,pCallbackID) \
|
||||
( (This)->lpVtbl -> RegisterDestructionCallback(This,callbackFn,pData,pCallbackID) )
|
||||
|
||||
#define ID3DDestructionNotifier_UnregisterDestructionCallback(This,callbackID) \
|
||||
( (This)->lpVtbl -> UnregisterDestructionCallback(This,callbackID) )
|
||||
|
||||
#endif /* COBJMACROS */
|
||||
|
||||
|
||||
#endif /* C style interface */
|
||||
|
||||
|
||||
|
||||
|
||||
#endif /* __ID3DDestructionNotifier_INTERFACE_DEFINED__ */
|
||||
|
||||
|
||||
/* interface __MIDL_itf_d3dcommon_0000_0002 */
|
||||
/* [local] */
|
||||
|
||||
typedef
|
||||
enum _D3D_INCLUDE_TYPE
|
||||
{
|
||||
@@ -866,8 +986,8 @@ DEFINE_GUID(WKPDID_CommentStringW,0xd0149dc0,0x90e8,0x4ec8,0x81, 0x44, 0xe9, 0x0
|
||||
#define D3D_COMPONENT_MASK_W 8
|
||||
|
||||
|
||||
extern RPC_IF_HANDLE __MIDL_itf_d3dcommon_0000_0001_v0_0_c_ifspec;
|
||||
extern RPC_IF_HANDLE __MIDL_itf_d3dcommon_0000_0001_v0_0_s_ifspec;
|
||||
extern RPC_IF_HANDLE __MIDL_itf_d3dcommon_0000_0002_v0_0_c_ifspec;
|
||||
extern RPC_IF_HANDLE __MIDL_itf_d3dcommon_0000_0002_v0_0_s_ifspec;
|
||||
|
||||
/* Additional Prototypes for ALL interfaces */
|
||||
|
||||
|
||||
Vendored
+277
-48
@@ -3,7 +3,7 @@
|
||||
// Copyright (c) Microsoft Corporation. All rights reserved.
|
||||
//
|
||||
// Abstract:
|
||||
// Public API definitions for DWrite, D2D and DImage.
|
||||
// Public API definitions shared by DWrite, D2D, and DImage.
|
||||
//
|
||||
//----------------------------------------------------------------------------
|
||||
#pragma once
|
||||
@@ -21,84 +21,72 @@
|
||||
#define CHECKMETHOD(method) virtual DECLSPEC_NOTHROW _Must_inspect_result_ HRESULT STDMETHODCALLTYPE method
|
||||
#endif
|
||||
|
||||
#pragma warning(push)
|
||||
#pragma warning(disable:4201) // anonymous unions warning
|
||||
|
||||
//
|
||||
// Forward declarations
|
||||
//
|
||||
interface IDXGISurface;
|
||||
struct IDXGISurface;
|
||||
|
||||
//+----------------------------------------------------------------------------
|
||||
//
|
||||
// Enum:
|
||||
// DWRITE_MEASURING_MODE
|
||||
//
|
||||
// Synopsis:
|
||||
// The measuring method used for text layout.
|
||||
//
|
||||
//-------------------------------------------------------------------------------
|
||||
/// <summary>
|
||||
/// The measuring method used for text layout.
|
||||
/// </summary>
|
||||
typedef enum DWRITE_MEASURING_MODE
|
||||
{
|
||||
//
|
||||
// Text is measured using glyph ideal metrics whose values are independent to the current display resolution.
|
||||
//
|
||||
/// <summary>
|
||||
/// Text is measured using glyph ideal metrics whose values are independent to the current display resolution.
|
||||
/// </summary>
|
||||
DWRITE_MEASURING_MODE_NATURAL,
|
||||
|
||||
//
|
||||
// Text is measured using glyph display compatible metrics whose values tuned for the current display resolution.
|
||||
//
|
||||
/// <summary>
|
||||
/// Text is measured using glyph display compatible metrics whose values tuned for the current display resolution.
|
||||
/// </summary>
|
||||
DWRITE_MEASURING_MODE_GDI_CLASSIC,
|
||||
|
||||
//
|
||||
/// <summary>
|
||||
// Text is measured using the same glyph display metrics as text measured by GDI using a font
|
||||
// created with CLEARTYPE_NATURAL_QUALITY.
|
||||
//
|
||||
/// </summary>
|
||||
DWRITE_MEASURING_MODE_GDI_NATURAL
|
||||
|
||||
} DWRITE_MEASURING_MODE;
|
||||
|
||||
//+-----------------------------------------------------------------------------
|
||||
//
|
||||
// Enum:
|
||||
// D2D1_ALPHA_MODE
|
||||
//
|
||||
// Synopsis:
|
||||
// Qualifies how alpha is to be treated in a bitmap or render target containing
|
||||
// alpha.
|
||||
//
|
||||
//------------------------------------------------------------------------------
|
||||
/// <summary>
|
||||
/// Qualifies how alpha is to be treated in a bitmap or render target containing
|
||||
/// alpha.
|
||||
/// </summary>
|
||||
typedef enum D2D1_ALPHA_MODE
|
||||
{
|
||||
|
||||
//
|
||||
// Alpha mode should be determined implicitly. Some target surfaces do not supply
|
||||
// or imply this information in which case alpha must be specified.
|
||||
//
|
||||
/// <summary>
|
||||
/// Alpha mode should be determined implicitly. Some target surfaces do not supply
|
||||
/// or imply this information in which case alpha must be specified.
|
||||
/// </summary>
|
||||
D2D1_ALPHA_MODE_UNKNOWN = 0,
|
||||
|
||||
//
|
||||
// Treat the alpha as premultipled.
|
||||
//
|
||||
/// <summary>
|
||||
/// Treat the alpha as premultipled.
|
||||
/// </summary>
|
||||
D2D1_ALPHA_MODE_PREMULTIPLIED = 1,
|
||||
|
||||
//
|
||||
// Opacity is in the 'A' component only.
|
||||
//
|
||||
/// <summary>
|
||||
/// Opacity is in the 'A' component only.
|
||||
/// </summary>
|
||||
D2D1_ALPHA_MODE_STRAIGHT = 2,
|
||||
|
||||
//
|
||||
// Ignore any alpha channel information.
|
||||
//
|
||||
/// <summary>
|
||||
/// Ignore any alpha channel information.
|
||||
/// </summary>
|
||||
D2D1_ALPHA_MODE_IGNORE = 3,
|
||||
|
||||
D2D1_ALPHA_MODE_FORCE_DWORD = 0xffffffff
|
||||
|
||||
} D2D1_ALPHA_MODE;
|
||||
|
||||
//+-----------------------------------------------------------------------------
|
||||
//
|
||||
// Struct:
|
||||
// D2D1_PIXEL_FORMAT
|
||||
//
|
||||
//------------------------------------------------------------------------------
|
||||
/// <summary>
|
||||
/// Description of a pixel format.
|
||||
/// </summary>
|
||||
typedef struct D2D1_PIXEL_FORMAT
|
||||
{
|
||||
DXGI_FORMAT format;
|
||||
@@ -106,4 +94,245 @@ typedef struct D2D1_PIXEL_FORMAT
|
||||
|
||||
} D2D1_PIXEL_FORMAT;
|
||||
|
||||
/// <summary>
|
||||
/// Represents an x-coordinate and y-coordinate pair in two-dimensional space.
|
||||
/// </summary>
|
||||
typedef struct D2D_POINT_2U
|
||||
{
|
||||
UINT32 x;
|
||||
UINT32 y;
|
||||
|
||||
} D2D_POINT_2U;
|
||||
|
||||
/// <summary>
|
||||
/// Represents an x-coordinate and y-coordinate pair in two-dimensional space.
|
||||
/// </summary>
|
||||
typedef struct D2D_POINT_2F
|
||||
{
|
||||
FLOAT x;
|
||||
FLOAT y;
|
||||
|
||||
} D2D_POINT_2F;
|
||||
|
||||
typedef POINT D2D_POINT_2L;
|
||||
|
||||
/// <summary>
|
||||
/// A vector of 2 FLOAT values (x, y).
|
||||
/// </summary>
|
||||
typedef struct D2D_VECTOR_2F
|
||||
{
|
||||
FLOAT x;
|
||||
FLOAT y;
|
||||
|
||||
} D2D_VECTOR_2F;
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// A vector of 3 FLOAT values (x, y, z).
|
||||
/// </summary>
|
||||
typedef struct D2D_VECTOR_3F
|
||||
{
|
||||
FLOAT x;
|
||||
FLOAT y;
|
||||
FLOAT z;
|
||||
|
||||
} D2D_VECTOR_3F;
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// A vector of 4 FLOAT values (x, y, z, w).
|
||||
/// </summary>
|
||||
typedef struct D2D_VECTOR_4F
|
||||
{
|
||||
FLOAT x;
|
||||
FLOAT y;
|
||||
FLOAT z;
|
||||
FLOAT w;
|
||||
|
||||
} D2D_VECTOR_4F;
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// Represents a rectangle defined by the coordinates of the upper-left corner
|
||||
/// (left, top) and the coordinates of the lower-right corner (right, bottom).
|
||||
/// </summary>
|
||||
typedef struct D2D_RECT_F
|
||||
{
|
||||
FLOAT left;
|
||||
FLOAT top;
|
||||
FLOAT right;
|
||||
FLOAT bottom;
|
||||
|
||||
} D2D_RECT_F;
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// Represents a rectangle defined by the coordinates of the upper-left corner
|
||||
/// (left, top) and the coordinates of the lower-right corner (right, bottom).
|
||||
/// </summary>
|
||||
typedef struct D2D_RECT_U
|
||||
{
|
||||
UINT32 left;
|
||||
UINT32 top;
|
||||
UINT32 right;
|
||||
UINT32 bottom;
|
||||
|
||||
} D2D_RECT_U;
|
||||
|
||||
typedef RECT D2D_RECT_L;
|
||||
|
||||
/// <summary>
|
||||
/// Stores an ordered pair of floats, typically the width and height of a rectangle.
|
||||
/// </summary>
|
||||
typedef struct D2D_SIZE_F
|
||||
{
|
||||
FLOAT width;
|
||||
FLOAT height;
|
||||
|
||||
} D2D_SIZE_F;
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// Stores an ordered pair of integers, typically the width and height of a
|
||||
/// rectangle.
|
||||
/// </summary>
|
||||
typedef struct D2D_SIZE_U
|
||||
{
|
||||
UINT32 width;
|
||||
UINT32 height;
|
||||
|
||||
} D2D_SIZE_U;
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// Represents a 3-by-2 matrix.
|
||||
/// </summary>
|
||||
typedef struct D2D_MATRIX_3X2_F
|
||||
{
|
||||
union
|
||||
{
|
||||
struct
|
||||
{
|
||||
/// <summary>
|
||||
/// Horizontal scaling / cosine of rotation
|
||||
/// </summary>
|
||||
FLOAT m11;
|
||||
|
||||
/// <summary>
|
||||
/// Vertical shear / sine of rotation
|
||||
/// </summary>
|
||||
FLOAT m12;
|
||||
|
||||
/// <summary>
|
||||
/// Horizontal shear / negative sine of rotation
|
||||
/// </summary>
|
||||
FLOAT m21;
|
||||
|
||||
/// <summary>
|
||||
/// Vertical scaling / cosine of rotation
|
||||
/// </summary>
|
||||
FLOAT m22;
|
||||
|
||||
/// <summary>
|
||||
/// Horizontal shift (always orthogonal regardless of rotation)
|
||||
/// </summary>
|
||||
FLOAT dx;
|
||||
|
||||
/// <summary>
|
||||
/// Vertical shift (always orthogonal regardless of rotation)
|
||||
/// </summary>
|
||||
FLOAT dy;
|
||||
};
|
||||
|
||||
struct
|
||||
{
|
||||
FLOAT _11, _12;
|
||||
FLOAT _21, _22;
|
||||
FLOAT _31, _32;
|
||||
};
|
||||
|
||||
FLOAT m[3][2];
|
||||
};
|
||||
|
||||
} D2D_MATRIX_3X2_F;
|
||||
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// Represents a 4-by-3 matrix.
|
||||
/// </summary>
|
||||
typedef struct D2D_MATRIX_4X3_F
|
||||
{
|
||||
union
|
||||
{
|
||||
struct
|
||||
{
|
||||
FLOAT _11, _12, _13;
|
||||
FLOAT _21, _22, _23;
|
||||
FLOAT _31, _32, _33;
|
||||
FLOAT _41, _42, _43;
|
||||
};
|
||||
|
||||
FLOAT m[4][3];
|
||||
};
|
||||
|
||||
} D2D_MATRIX_4X3_F;
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// Represents a 4-by-4 matrix.
|
||||
/// </summary>
|
||||
typedef struct D2D_MATRIX_4X4_F
|
||||
{
|
||||
union
|
||||
{
|
||||
struct
|
||||
{
|
||||
FLOAT _11, _12, _13, _14;
|
||||
FLOAT _21, _22, _23, _24;
|
||||
FLOAT _31, _32, _33, _34;
|
||||
FLOAT _41, _42, _43, _44;
|
||||
};
|
||||
|
||||
FLOAT m[4][4];
|
||||
};
|
||||
|
||||
} D2D_MATRIX_4X4_F;
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// Represents a 5-by-4 matrix.
|
||||
/// </summary>
|
||||
typedef struct D2D_MATRIX_5X4_F
|
||||
{
|
||||
union
|
||||
{
|
||||
struct
|
||||
{
|
||||
FLOAT _11, _12, _13, _14;
|
||||
FLOAT _21, _22, _23, _24;
|
||||
FLOAT _31, _32, _33, _34;
|
||||
FLOAT _41, _42, _43, _44;
|
||||
FLOAT _51, _52, _53, _54;
|
||||
};
|
||||
|
||||
FLOAT m[5][4];
|
||||
};
|
||||
|
||||
} D2D_MATRIX_5X4_F;
|
||||
|
||||
|
||||
typedef D2D_POINT_2F D2D1_POINT_2F;
|
||||
typedef D2D_POINT_2U D2D1_POINT_2U;
|
||||
typedef D2D_POINT_2L D2D1_POINT_2L;
|
||||
typedef D2D_RECT_F D2D1_RECT_F;
|
||||
typedef D2D_RECT_U D2D1_RECT_U;
|
||||
typedef D2D_RECT_L D2D1_RECT_L;
|
||||
typedef D2D_SIZE_F D2D1_SIZE_F;
|
||||
typedef D2D_SIZE_U D2D1_SIZE_U;
|
||||
typedef D2D_MATRIX_3X2_F D2D1_MATRIX_3X2_F;
|
||||
|
||||
|
||||
#pragma warning(pop)
|
||||
|
||||
#endif /* DCOMMON_H_INCLUDED */
|
||||
|
||||
Vendored
+15
-11
@@ -10,9 +10,7 @@
|
||||
#ifndef DWRITE_H_INCLUDED
|
||||
#define DWRITE_H_INCLUDED
|
||||
|
||||
#if _MSC_VER > 1000
|
||||
#pragma once
|
||||
#endif
|
||||
|
||||
#ifndef DWRITE_NO_WINDOWS_H
|
||||
|
||||
@@ -56,7 +54,7 @@ enum DWRITE_FONT_FILE_TYPE
|
||||
/// <summary>
|
||||
/// OpenType font that contains a TrueType collection.
|
||||
/// </summary>
|
||||
DWRITE_FONT_FILE_TYPE_TRUETYPE_COLLECTION,
|
||||
DWRITE_FONT_FILE_TYPE_OPENTYPE_COLLECTION,
|
||||
|
||||
/// <summary>
|
||||
/// Type 1 PFM font.
|
||||
@@ -76,7 +74,10 @@ enum DWRITE_FONT_FILE_TYPE
|
||||
/// <summary>
|
||||
/// Bitmap .FON font.
|
||||
/// </summary>
|
||||
DWRITE_FONT_FILE_TYPE_BITMAP
|
||||
DWRITE_FONT_FILE_TYPE_BITMAP,
|
||||
|
||||
// The following name is obsolete, but kept as an alias to avoid breaking existing code.
|
||||
DWRITE_FONT_FILE_TYPE_TRUETYPE_COLLECTION = DWRITE_FONT_FILE_TYPE_OPENTYPE_COLLECTION,
|
||||
};
|
||||
|
||||
/// <summary>
|
||||
@@ -97,9 +98,9 @@ enum DWRITE_FONT_FACE_TYPE
|
||||
DWRITE_FONT_FACE_TYPE_TRUETYPE,
|
||||
|
||||
/// <summary>
|
||||
/// OpenType font face that is a part of a TrueType collection.
|
||||
/// OpenType font face that is a part of a TrueType or CFF collection.
|
||||
/// </summary>
|
||||
DWRITE_FONT_FACE_TYPE_TRUETYPE_COLLECTION,
|
||||
DWRITE_FONT_FACE_TYPE_OPENTYPE_COLLECTION,
|
||||
|
||||
/// <summary>
|
||||
/// A Type 1 font face.
|
||||
@@ -127,7 +128,10 @@ enum DWRITE_FONT_FACE_TYPE
|
||||
/// font file loaders) and the resulting font face object supports only the
|
||||
/// minimum functionality necessary to render glyphs.
|
||||
/// </summary>
|
||||
DWRITE_FONT_FACE_TYPE_RAW_CFF
|
||||
DWRITE_FONT_FACE_TYPE_RAW_CFF,
|
||||
|
||||
// The following name is obsolete, but kept as an alias to avoid breaking existing code.
|
||||
DWRITE_FONT_FACE_TYPE_TRUETYPE_COLLECTION = DWRITE_FONT_FACE_TYPE_OPENTYPE_COLLECTION,
|
||||
};
|
||||
|
||||
/// <summary>
|
||||
@@ -2446,7 +2450,7 @@ enum DWRITE_NUMBER_SUBSTITUTION_METHOD
|
||||
/// <summary>
|
||||
/// Holds the appropriate digits and numeric punctuation for a given locale.
|
||||
/// </summary>
|
||||
interface DECLSPEC_UUID("14885CC9-BAB0-4f90-B6ED-5C366A2CD03D") DECLSPEC_NOVTABLE IDWriteNumberSubstitution : public IUnknown
|
||||
interface DWRITE_DECLARE_INTERFACE("14885CC9-BAB0-4f90-B6ED-5C366A2CD03D") IDWriteNumberSubstitution : public IUnknown
|
||||
{
|
||||
};
|
||||
|
||||
@@ -2511,7 +2515,7 @@ struct DWRITE_SHAPING_GLYPH_PROPERTIES
|
||||
/// stop prematurely and return a callback error. Rather than return E_NOTIMPL,
|
||||
/// an application should stub the method and return a constant/null and S_OK.
|
||||
/// </summary>
|
||||
interface DECLSPEC_UUID("688e1a58-5094-47c8-adc8-fbcea60ae92b") DECLSPEC_NOVTABLE IDWriteTextAnalysisSource : public IUnknown
|
||||
interface DWRITE_DECLARE_INTERFACE("688e1a58-5094-47c8-adc8-fbcea60ae92b") IDWriteTextAnalysisSource : public IUnknown
|
||||
{
|
||||
/// <summary>
|
||||
/// Get a block of text starting at the specified text position.
|
||||
@@ -2620,7 +2624,7 @@ interface DECLSPEC_UUID("688e1a58-5094-47c8-adc8-fbcea60ae92b") DECLSPEC_NOVTABL
|
||||
/// state of the analysis sink, therefore a Set method call on a range
|
||||
/// overwrites the previously set analysis result of the same range.
|
||||
/// </summary>
|
||||
interface DECLSPEC_UUID("5810cd44-0ca0-4701-b3fa-bec5182ae4f6") DECLSPEC_NOVTABLE IDWriteTextAnalysisSink : public IUnknown
|
||||
interface DWRITE_DECLARE_INTERFACE("5810cd44-0ca0-4701-b3fa-bec5182ae4f6") IDWriteTextAnalysisSink : public IUnknown
|
||||
{
|
||||
/// <summary>
|
||||
/// Report script analysis for the text range.
|
||||
@@ -2918,7 +2922,7 @@ interface DWRITE_DECLARE_INTERFACE("b7e6163e-7f46-43b4-84b3-e4e6249c365d") IDWri
|
||||
_In_reads_(glyphCount) UINT16 const* glyphIndices,
|
||||
_In_reads_(glyphCount) DWRITE_SHAPING_GLYPH_PROPERTIES const* glyphProps,
|
||||
UINT32 glyphCount,
|
||||
_In_ IDWriteFontFace * fontFace,
|
||||
_In_ IDWriteFontFace* fontFace,
|
||||
FLOAT fontEmSize,
|
||||
BOOL isSideways,
|
||||
BOOL isRightToLeft,
|
||||
|
||||
Vendored
+6
-2
@@ -1101,6 +1101,8 @@ interface DWRITE_DECLARE_INTERFACE("a71efdb4-9fdb-4838-ad90-cfc3be8c3daf") IDWri
|
||||
_Out_ DWRITE_FONT_METRICS1* fontMetrics
|
||||
) PURE;
|
||||
|
||||
using IDWriteFontFace::GetMetrics;
|
||||
|
||||
/// <summary>
|
||||
/// Gets common metrics for the font in design units.
|
||||
/// These metrics are applicable to all the glyphs within a font,
|
||||
@@ -1355,6 +1357,8 @@ interface DWRITE_DECLARE_INTERFACE("acd16696-8c14-4f5d-877e-fe3fc1d32738") IDWri
|
||||
_Out_ DWRITE_FONT_METRICS1* fontMetrics
|
||||
) PURE;
|
||||
|
||||
using IDWriteFont::GetMetrics;
|
||||
|
||||
/// <summary>
|
||||
/// Gets the PANOSE values from the font, used for font selection and
|
||||
/// matching.
|
||||
@@ -1714,7 +1718,7 @@ interface DWRITE_DECLARE_INTERFACE("80DAD800-E21F-4E83-96CE-BFCCE500DB7C") IDWri
|
||||
/// If any of these callbacks returns an error, the analysis functions will
|
||||
/// stop prematurely and return a callback error.
|
||||
/// </summary>
|
||||
interface DECLSPEC_UUID("{639CFAD8-0FB4-4B21-A58A-067920120009}") DECLSPEC_NOVTABLE IDWriteTextAnalysisSource1 : public IDWriteTextAnalysisSource
|
||||
interface DWRITE_DECLARE_INTERFACE("639CFAD8-0FB4-4B21-A58A-067920120009") IDWriteTextAnalysisSource1 : public IDWriteTextAnalysisSource
|
||||
{
|
||||
/// <summary>
|
||||
/// The text analyzer calls back to this to get the desired glyph
|
||||
@@ -1753,7 +1757,7 @@ interface DECLSPEC_UUID("{639CFAD8-0FB4-4B21-A58A-067920120009}") DECLSPEC_NOVTA
|
||||
/// The interface implemented by the client to receive the
|
||||
/// output of the text analyzers.
|
||||
/// </summary>
|
||||
interface DECLSPEC_UUID("B0D941A0-85E7-4D8B-9FD3-5CED9934482A") DECLSPEC_NOVTABLE IDWriteTextAnalysisSink1 : public IDWriteTextAnalysisSink
|
||||
interface DWRITE_DECLARE_INTERFACE("B0D941A0-85E7-4D8B-9FD3-5CED9934482A") IDWriteTextAnalysisSink1 : public IDWriteTextAnalysisSink
|
||||
{
|
||||
/// <summary>
|
||||
/// The text analyzer calls back to this to report the actual orientation
|
||||
|
||||
Vendored
+10
-6
@@ -554,8 +554,8 @@ interface DWRITE_DECLARE_INTERFACE("EFA008F9-F7A1-48BF-B05C-F224713CC0FF") IDWri
|
||||
DWRITE_FONT_WEIGHT baseWeight,
|
||||
DWRITE_FONT_STYLE baseStyle,
|
||||
DWRITE_FONT_STRETCH baseStretch,
|
||||
_Deref_out_range_(0, textLength) UINT32* mappedLength,
|
||||
_COM_Outptr_ IDWriteFont** mappedFont,
|
||||
_Out_range_(0, textLength) UINT32* mappedLength,
|
||||
_COM_Outptr_result_maybenull_ IDWriteFont** mappedFont,
|
||||
_Out_ FLOAT* scale
|
||||
) PURE;
|
||||
};
|
||||
@@ -653,8 +653,10 @@ typedef D3DCOLORVALUE DWRITE_COLOR_F;
|
||||
interface DWRITE_DECLARE_INTERFACE("29748ed6-8c9c-4a6a-be0b-d912e8538944") IDWriteFont2 : public IDWriteFont1
|
||||
{
|
||||
/// <summary>
|
||||
/// Returns TRUE if the font contains color information (COLR and CPAL tables),
|
||||
/// or FALSE if not.
|
||||
/// Returns TRUE if the font contains tables that can provide color information
|
||||
/// (including COLR, CPAL, SVG, CBDT, sbix tables), or FALSE if not. Note that
|
||||
/// TRUE is returned even in the case when the font tables contain only grayscale
|
||||
/// images.
|
||||
/// </summary>
|
||||
STDMETHOD_(BOOL, IsColorFont)() PURE;
|
||||
};
|
||||
@@ -667,8 +669,10 @@ interface DWRITE_DECLARE_INTERFACE("29748ed6-8c9c-4a6a-be0b-d912e8538944") IDWri
|
||||
interface DWRITE_DECLARE_INTERFACE("d8b768ff-64bc-4e66-982b-ec8e87f693f7") IDWriteFontFace2 : public IDWriteFontFace1
|
||||
{
|
||||
/// <summary>
|
||||
/// Returns TRUE if the font contains color information (COLR and CPAL tables),
|
||||
/// or FALSE if not.
|
||||
/// Returns TRUE if the font contains tables that can provide color information
|
||||
/// (including COLR, CPAL, SVG, CBDT, sbix tables), or FALSE if not. Note that
|
||||
/// TRUE is returned even in the case when the font tables contain only grayscale
|
||||
/// images.
|
||||
/// </summary>
|
||||
STDMETHOD_(BOOL, IsColorFont)() PURE;
|
||||
|
||||
|
||||
Vendored
+319
-3
@@ -10,9 +10,7 @@
|
||||
#ifndef DWRITE_3_H_INCLUDED
|
||||
#define DWRITE_3_H_INCLUDED
|
||||
|
||||
#if _MSC_VER > 1000
|
||||
#pragma once
|
||||
#endif
|
||||
|
||||
#include <DWrite_2.h>
|
||||
|
||||
@@ -1247,6 +1245,8 @@ interface DWRITE_DECLARE_INTERFACE("D37D7598-09BE-4222-A236-2081341CC1F2") IDWri
|
||||
_Out_ DWRITE_GRID_FIT_MODE* gridFitMode
|
||||
) PURE;
|
||||
|
||||
using IDWriteFontFace2::GetRecommendedRenderingMode;
|
||||
|
||||
/// <summary>
|
||||
/// Determines whether the character is locally downloaded from the font.
|
||||
/// </summary>
|
||||
@@ -1740,4 +1740,320 @@ interface DWRITE_DECLARE_INTERFACE("07DDCD52-020E-4DE8-AC33-6C953D83F92D") IDWri
|
||||
) PURE;
|
||||
};
|
||||
|
||||
#endif /* DWRITE_3_H_INCLUDED */
|
||||
|
||||
////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
|
||||
#if NTDDI_VERSION >= NTDDI_WIN10_RS1
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// Fonts may contain multiple drawable data formats for glyphs. These flags specify which formats
|
||||
/// are supported in the font, either at a font-wide level or per glyph, and the app may use them
|
||||
/// to tell DWrite which formats to return when splitting a color glyph run.
|
||||
/// </summary>
|
||||
enum DWRITE_GLYPH_IMAGE_FORMATS
|
||||
{
|
||||
/// <summary>
|
||||
/// Indicates no data is available for this glyph.
|
||||
/// </summary>
|
||||
DWRITE_GLYPH_IMAGE_FORMATS_NONE = 0x00000000,
|
||||
|
||||
/// <summary>
|
||||
/// The glyph has TrueType outlines.
|
||||
/// </summary>
|
||||
DWRITE_GLYPH_IMAGE_FORMATS_TRUETYPE = 0x00000001,
|
||||
|
||||
/// <summary>
|
||||
/// The glyph has CFF outlines.
|
||||
/// </summary>
|
||||
DWRITE_GLYPH_IMAGE_FORMATS_CFF = 0x00000002,
|
||||
|
||||
/// <summary>
|
||||
/// The glyph has multilayered COLR data.
|
||||
/// </summary>
|
||||
DWRITE_GLYPH_IMAGE_FORMATS_COLR = 0x00000004,
|
||||
|
||||
/// <summary>
|
||||
/// The glyph has SVG outlines as standard XML.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Fonts may store the content gzip'd rather than plain text,
|
||||
/// indicated by the first two bytes as gzip header {0x1F 0x8B}.
|
||||
/// </remarks>
|
||||
DWRITE_GLYPH_IMAGE_FORMATS_SVG = 0x00000008,
|
||||
|
||||
/// <summary>
|
||||
/// The glyph has PNG image data, with standard PNG IHDR.
|
||||
/// </summary>
|
||||
DWRITE_GLYPH_IMAGE_FORMATS_PNG = 0x00000010,
|
||||
|
||||
/// <summary>
|
||||
/// The glyph has JPEG image data, with standard JIFF SOI header.
|
||||
/// </summary>
|
||||
DWRITE_GLYPH_IMAGE_FORMATS_JPEG = 0x00000020,
|
||||
|
||||
/// <summary>
|
||||
/// The glyph has TIFF image data.
|
||||
/// </summary>
|
||||
DWRITE_GLYPH_IMAGE_FORMATS_TIFF = 0x00000040,
|
||||
|
||||
/// <summary>
|
||||
/// The glyph has raw 32-bit premultiplied BGRA data.
|
||||
/// </summary>
|
||||
DWRITE_GLYPH_IMAGE_FORMATS_PREMULTIPLIED_B8G8R8A8 = 0x00000080,
|
||||
};
|
||||
|
||||
#ifdef DEFINE_ENUM_FLAG_OPERATORS
|
||||
DEFINE_ENUM_FLAG_OPERATORS(DWRITE_GLYPH_IMAGE_FORMATS);
|
||||
#endif
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// Represents a color glyph run. The IDWriteFactory4::TranslateColorGlyphRun
|
||||
/// method returns an ordered collection of color glyph runs of varying types
|
||||
/// depending on what the font supports.
|
||||
/// </summary>
|
||||
/// <summary>
|
||||
/// For runs without any specific color, such as PNG data, the runColor field will be zero.
|
||||
/// </summary>
|
||||
struct DWRITE_COLOR_GLYPH_RUN1 : DWRITE_COLOR_GLYPH_RUN
|
||||
{
|
||||
/// <summary>
|
||||
/// Type of glyph image format for this color run. Exactly one type will be set since
|
||||
/// TranslateColorGlyphRun has already broken down the run into separate parts.
|
||||
/// </summary>
|
||||
DWRITE_GLYPH_IMAGE_FORMATS glyphImageFormat;
|
||||
|
||||
/// <summary>
|
||||
/// Measuring mode to use for this glyph run.
|
||||
/// </summary>
|
||||
DWRITE_MEASURING_MODE measuringMode;
|
||||
};
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// Data for a single glyph from GetGlyphImageData.
|
||||
/// </summary>
|
||||
struct DWRITE_GLYPH_IMAGE_DATA
|
||||
{
|
||||
/// <summary>
|
||||
/// Pointer to the glyph data, be it SVG, PNG, JPEG, TIFF.
|
||||
/// </summary>
|
||||
_Field_size_bytes_(imageDataSize) void const* imageData;
|
||||
|
||||
/// <summary>
|
||||
/// Size of glyph data in bytes.
|
||||
/// </summary>
|
||||
UINT32 imageDataSize;
|
||||
|
||||
/// <summary>
|
||||
/// Unique identifier for the glyph data. Clients may use this to cache a parsed/decompressed
|
||||
/// version and tell whether a repeated call to the same font returns the same data.
|
||||
/// </summary>
|
||||
UINT32 uniqueDataId;
|
||||
|
||||
/// <summary>
|
||||
/// Pixels per em of the returned data. For non-scalable raster data (PNG/TIFF/JPG), this can be larger
|
||||
/// or smaller than requested from GetGlyphImageData when there isn't an exact match.
|
||||
/// For scaling intermediate sizes, use: desired pixels per em * font em size / actual pixels per em.
|
||||
/// </summary>
|
||||
UINT32 pixelsPerEm;
|
||||
|
||||
/// <summary>
|
||||
/// Size of image when the format is pixel data.
|
||||
/// </summary>
|
||||
D2D1_SIZE_U pixelSize;
|
||||
|
||||
/// <summary>
|
||||
/// Left origin along the horizontal Roman baseline.
|
||||
/// </summary>
|
||||
D2D1_POINT_2L horizontalLeftOrigin;
|
||||
|
||||
/// <summary>
|
||||
/// Right origin along the horizontal Roman baseline.
|
||||
/// </summary>
|
||||
D2D1_POINT_2L horizontalRightOrigin;
|
||||
|
||||
/// <summary>
|
||||
/// Top origin along the vertical central baseline.
|
||||
/// </summary>
|
||||
D2D1_POINT_2L verticalTopOrigin;
|
||||
|
||||
/// <summary>
|
||||
/// Bottom origin along vertical central baseline.
|
||||
/// </summary>
|
||||
D2D1_POINT_2L verticalBottomOrigin;
|
||||
};
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// Enumerator for an ordered collection of color glyph runs.
|
||||
/// </summary>
|
||||
interface DWRITE_DECLARE_INTERFACE("7C5F86DA-C7A1-4F05-B8E1-55A179FE5A35") IDWriteColorGlyphRunEnumerator1 : public IDWriteColorGlyphRunEnumerator
|
||||
{
|
||||
/// <summary>
|
||||
/// Gets the current color glyph run.
|
||||
/// </summary>
|
||||
/// <param name="colorGlyphRun">Receives a pointer to the color
|
||||
/// glyph run. The pointer remains valid until the next call to
|
||||
/// MoveNext or until the interface is released.</param>
|
||||
/// <returns>
|
||||
/// Standard HRESULT error code. An error is returned if there is
|
||||
/// no current glyph run, i.e., if MoveNext has not yet been called
|
||||
/// or if the end of the sequence has been reached.
|
||||
/// </returns>
|
||||
STDMETHOD(GetCurrentRun)(
|
||||
_Outptr_ DWRITE_COLOR_GLYPH_RUN1 const** colorGlyphRun
|
||||
) PURE;
|
||||
|
||||
using IDWriteColorGlyphRunEnumerator::GetCurrentRun;
|
||||
};
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// The interface that represents an absolute reference to a font face.
|
||||
/// It contains font face type, appropriate file references and face identification data.
|
||||
/// Various font data such as metrics, names and glyph outlines is obtained from IDWriteFontFace.
|
||||
/// </summary>
|
||||
interface DWRITE_DECLARE_INTERFACE("27F2A904-4EB8-441D-9678-0563F53E3E2F") IDWriteFontFace4 : public IDWriteFontFace3
|
||||
{
|
||||
/// <summary>
|
||||
/// Gets all the glyph image formats supported by the entire font (SVG, PNG, JPEG, ...).
|
||||
/// </summary>
|
||||
STDMETHOD_(DWRITE_GLYPH_IMAGE_FORMATS, GetGlyphImageFormats)() PURE;
|
||||
|
||||
/// <summary>
|
||||
/// Gets the available image formats of a specific glyph and ppem. Glyphs often have at least TrueType
|
||||
/// or CFF outlines, but they may also have SVG outlines, or they may have only bitmaps
|
||||
/// with no TrueType/CFF outlines. Some image formats, notably the PNG/JPEG ones, are size
|
||||
/// specific and will return no match when there isn't an entry in that size range.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Glyph ids beyond the glyph count return DWRITE_GLYPH_IMAGE_FORMATS_NONE.
|
||||
/// </remarks>
|
||||
STDMETHOD(GetGlyphImageFormats)(
|
||||
UINT16 glyphId,
|
||||
UINT32 pixelsPerEmFirst,
|
||||
UINT32 pixelsPerEmLast,
|
||||
_Out_ DWRITE_GLYPH_IMAGE_FORMATS* glyphImageFormats
|
||||
) PURE;
|
||||
|
||||
/// <summary>
|
||||
/// Gets a pointer to the glyph data based on the desired image format.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// The glyphDataContext must be released via ReleaseGlyphImageData when done if the data is not empty,
|
||||
/// similar to IDWriteFontFileStream::ReadFileFragment and IDWriteFontFileStream::ReleaseFileFragment.
|
||||
/// The data pointer is valid so long as the IDWriteFontFace exists and ReleaseGlyphImageData has not
|
||||
/// been called.
|
||||
/// </remarks>
|
||||
/// <remarks>
|
||||
/// The DWRITE_GLYPH_IMAGE_DATA::uniqueDataId is valuable for caching purposes so that if the same
|
||||
/// resource is returned more than once, an existing resource can be quickly retrieved rather than
|
||||
/// needing to reparse or decompress the data.
|
||||
/// </remarks>
|
||||
/// <remarks>
|
||||
/// The function only returns SVG or raster data - requesting TrueType/CFF/COLR data returns
|
||||
/// DWRITE_E_INVALIDARG. Those must be drawn via DrawGlyphRun or queried using GetGlyphOutline instead.
|
||||
/// Exactly one format may be requested or else the function returns DWRITE_E_INVALIDARG.
|
||||
/// If the glyph does not have that format, the call is not an error, but the function returns empty data.
|
||||
/// </remarks>
|
||||
STDMETHOD(GetGlyphImageData)(
|
||||
_In_ UINT16 glyphId,
|
||||
UINT32 pixelsPerEm,
|
||||
DWRITE_GLYPH_IMAGE_FORMATS glyphImageFormat,
|
||||
_Out_ DWRITE_GLYPH_IMAGE_DATA* glyphData,
|
||||
_Outptr_result_maybenull_ void** glyphDataContext
|
||||
) PURE;
|
||||
|
||||
/// <summary>
|
||||
/// Releases the table data obtained earlier from ReadGlyphData.
|
||||
/// </summary>
|
||||
/// <param name="glyphDataContext">Opaque context from ReadGlyphData.</param>
|
||||
STDMETHOD_(void, ReleaseGlyphImageData)(
|
||||
void* glyphDataContext
|
||||
) PURE;
|
||||
};
|
||||
|
||||
|
||||
interface DWRITE_DECLARE_INTERFACE("4B0B5BD3-0797-4549-8AC5-FE915CC53856") IDWriteFactory4 : public IDWriteFactory3
|
||||
{
|
||||
/// <summary>
|
||||
/// Translates a glyph run to a sequence of color glyph runs, which can be
|
||||
/// rendered to produce a color representation of the original "base" run.
|
||||
/// </summary>
|
||||
/// <param name="baselineOriginX">Horizontal and vertical origin of the base glyph run in
|
||||
/// pre-transform coordinates.</param>
|
||||
/// <param name="glyphRun">Pointer to the original "base" glyph run.</param>
|
||||
/// <param name="glyphRunDescription">Optional glyph run description.</param>
|
||||
/// <param name="glyphImageFormats">Which data formats TranslateColorGlyphRun
|
||||
/// should split the runs into.</param>
|
||||
/// <param name="measuringMode">Measuring mode, needed to compute the origins
|
||||
/// of each glyph.</param>
|
||||
/// <param name="worldToDeviceTransform">Matrix converting from the client's
|
||||
/// coordinate space to device coordinates (pixels), i.e., the world transform
|
||||
/// multiplied by any DPI scaling.</param>
|
||||
/// <param name="colorPaletteIndex">Zero-based index of the color palette to use.
|
||||
/// Valid indices are less than the number of palettes in the font, as returned
|
||||
/// by IDWriteFontFace2::GetColorPaletteCount.</param>
|
||||
/// <param name="colorLayers">If the function succeeds, receives a pointer
|
||||
/// to an enumerator object that can be used to obtain the color glyph runs.
|
||||
/// If the base run has no color glyphs, then the output pointer is NULL
|
||||
/// and the method returns DWRITE_E_NOCOLOR.</param>
|
||||
/// <returns>
|
||||
/// Returns DWRITE_E_NOCOLOR if the font has no color information, the glyph run
|
||||
/// does not contain any color glyphs, or the specified color palette index
|
||||
/// is out of range. In this case, the client should render the original glyph
|
||||
/// run. Otherwise, returns a standard HRESULT error code.
|
||||
/// </returns>
|
||||
/// <remarks>
|
||||
/// The old IDWriteFactory2::TranslateColorGlyphRun is equivalent to passing
|
||||
/// DWRITE_GLYPH_IMAGE_FORMATS_TRUETYPE|CFF|COLR.
|
||||
/// </remarks>
|
||||
STDMETHOD(TranslateColorGlyphRun)(
|
||||
D2D1_POINT_2F baselineOrigin,
|
||||
_In_ DWRITE_GLYPH_RUN const* glyphRun,
|
||||
_In_opt_ DWRITE_GLYPH_RUN_DESCRIPTION const* glyphRunDescription,
|
||||
DWRITE_GLYPH_IMAGE_FORMATS desiredGlyphImageFormats,
|
||||
DWRITE_MEASURING_MODE measuringMode,
|
||||
_In_opt_ DWRITE_MATRIX const* worldAndDpiTransform,
|
||||
UINT32 colorPaletteIndex,
|
||||
_COM_Outptr_ IDWriteColorGlyphRunEnumerator1** colorLayers
|
||||
) PURE;
|
||||
|
||||
using IDWriteFactory2::TranslateColorGlyphRun;
|
||||
|
||||
/// <summary>
|
||||
/// Converts glyph run placements to glyph origins.
|
||||
/// </summary>
|
||||
/// <returns>
|
||||
/// Standard HRESULT error code.
|
||||
/// </returns>
|
||||
/// <remarks>
|
||||
/// The transform and DPI have no affect on the origin scaling.
|
||||
/// They are solely used to compute glyph advances when not supplied
|
||||
/// and align glyphs in pixel aligned measuring modes.
|
||||
/// </remarks>
|
||||
STDMETHOD(ComputeGlyphOrigins)(
|
||||
DWRITE_GLYPH_RUN const* glyphRun,
|
||||
DWRITE_MEASURING_MODE measuringMode,
|
||||
D2D1_POINT_2F baselineOrigin,
|
||||
_In_opt_ DWRITE_MATRIX const* worldAndDpiTransform,
|
||||
_Out_writes_(glyphRun->glyphCount) D2D1_POINT_2F* glyphOrigins
|
||||
) PURE;
|
||||
|
||||
/// <summary>
|
||||
/// Converts glyph run placements to glyph origins. This overload is for natural metrics, which
|
||||
/// includes SVG, TrueType natural modes, and bitmap placement.
|
||||
/// </summary>
|
||||
STDMETHOD(ComputeGlyphOrigins)(
|
||||
DWRITE_GLYPH_RUN const* glyphRun,
|
||||
D2D1_POINT_2F baselineOrigin,
|
||||
_Out_writes_(glyphRun->glyphCount) D2D1_POINT_2F* glyphOrigins
|
||||
) PURE;
|
||||
};
|
||||
|
||||
#endif // NTDDI_VERSION >= NTDDI_WIN10_RS1
|
||||
|
||||
#endif // DWRITE_3_H_INCLUDED
|
||||
|
||||
Vendored
+4
-2
@@ -3,7 +3,7 @@
|
||||
/* this ALWAYS GENERATED file contains the definitions for the interfaces */
|
||||
|
||||
|
||||
/* File created by MIDL compiler version 8.00.0613 */
|
||||
/* File created by MIDL compiler version 8.01.0618 */
|
||||
/* @@MIDL_FILE_HEADING( ) */
|
||||
|
||||
|
||||
@@ -273,7 +273,8 @@ enum DXGI_SWAP_CHAIN_FLAG
|
||||
DXGI_SWAP_CHAIN_FLAG_FOREGROUND_LAYER = 128,
|
||||
DXGI_SWAP_CHAIN_FLAG_FULLSCREEN_VIDEO = 256,
|
||||
DXGI_SWAP_CHAIN_FLAG_YUV_VIDEO = 512,
|
||||
DXGI_SWAP_CHAIN_FLAG_HW_PROTECTED = 1024
|
||||
DXGI_SWAP_CHAIN_FLAG_HW_PROTECTED = 1024,
|
||||
DXGI_SWAP_CHAIN_FLAG_ALLOW_TEARING = 2048
|
||||
} DXGI_SWAP_CHAIN_FLAG;
|
||||
|
||||
typedef struct DXGI_SWAP_CHAIN_DESC
|
||||
@@ -1684,6 +1685,7 @@ EXTERN_C const IID IID_IDXGIOutput;
|
||||
#define DXGI_PRESENT_STEREO_TEMPORARY_MONO 0x00000020UL
|
||||
#define DXGI_PRESENT_RESTRICT_TO_OUTPUT 0x00000040UL
|
||||
#define DXGI_PRESENT_USE_DURATION 0x00000100UL
|
||||
#define DXGI_PRESENT_ALLOW_TEARING 0x00000200UL
|
||||
|
||||
|
||||
extern RPC_IF_HANDLE __MIDL_itf_dxgi_0000_0008_v0_0_c_ifspec;
|
||||
|
||||
Vendored
+1
-1
@@ -3,7 +3,7 @@
|
||||
/* this ALWAYS GENERATED file contains the definitions for the interfaces */
|
||||
|
||||
|
||||
/* File created by MIDL compiler version 8.00.0613 */
|
||||
/* File created by MIDL compiler version 8.01.0618 */
|
||||
/* @@MIDL_FILE_HEADING( ) */
|
||||
|
||||
|
||||
|
||||
Vendored
+1
-1
@@ -3,7 +3,7 @@
|
||||
/* this ALWAYS GENERATED file contains the definitions for the interfaces */
|
||||
|
||||
|
||||
/* File created by MIDL compiler version 8.00.0613 */
|
||||
/* File created by MIDL compiler version 8.01.0618 */
|
||||
/* @@MIDL_FILE_HEADING( ) */
|
||||
|
||||
|
||||
|
||||
Vendored
+1
-1
@@ -3,7 +3,7 @@
|
||||
/* this ALWAYS GENERATED file contains the definitions for the interfaces */
|
||||
|
||||
|
||||
/* File created by MIDL compiler version 8.00.0613 */
|
||||
/* File created by MIDL compiler version 8.01.0618 */
|
||||
/* @@MIDL_FILE_HEADING( ) */
|
||||
|
||||
|
||||
|
||||
Vendored
+1533
File diff suppressed because it is too large
Load Diff
Vendored
+6
@@ -119,6 +119,12 @@ typedef enum DXGI_COLOR_SPACE_TYPE
|
||||
DXGI_COLOR_SPACE_YCBCR_FULL_G22_LEFT_P709 = 9,
|
||||
DXGI_COLOR_SPACE_YCBCR_STUDIO_G22_LEFT_P2020 = 10,
|
||||
DXGI_COLOR_SPACE_YCBCR_FULL_G22_LEFT_P2020 = 11,
|
||||
DXGI_COLOR_SPACE_RGB_FULL_G2084_NONE_P2020 = 12,
|
||||
DXGI_COLOR_SPACE_YCBCR_STUDIO_G2084_LEFT_P2020 = 13,
|
||||
DXGI_COLOR_SPACE_RGB_STUDIO_G2084_NONE_P2020 = 14,
|
||||
DXGI_COLOR_SPACE_YCBCR_STUDIO_G22_TOPLEFT_P2020 = 15,
|
||||
DXGI_COLOR_SPACE_YCBCR_STUDIO_G2084_TOPLEFT_P2020 = 16,
|
||||
DXGI_COLOR_SPACE_RGB_FULL_G22_NONE_P2020 = 17,
|
||||
DXGI_COLOR_SPACE_CUSTOM = 0xFFFFFFFF
|
||||
} DXGI_COLOR_SPACE_TYPE;
|
||||
|
||||
|
||||
+295
@@ -0,0 +1,295 @@
|
||||
/*
|
||||
|
||||
Copyright (c) Microsoft Corporation. All rights reserved.
|
||||
|
||||
Module Name:
|
||||
|
||||
sdkddkver.h
|
||||
|
||||
Abstract:
|
||||
|
||||
Master include file for versioning windows SDK/DDK.
|
||||
|
||||
*/
|
||||
|
||||
#ifndef _INC_SDKDDKVER
|
||||
#define _INC_SDKDDKVER
|
||||
|
||||
#if (_MSC_VER >= 800)
|
||||
#if (_MSC_VER >= 1200)
|
||||
#pragma warning(push)
|
||||
#pragma warning(disable:4668) /* #if not_defined treated as #if 0 */
|
||||
#endif
|
||||
#pragma warning(disable:4001) /* nonstandard extension : single line comment */
|
||||
#endif
|
||||
|
||||
#pragma once
|
||||
|
||||
//
|
||||
// _WIN32_WINNT version constants
|
||||
//
|
||||
#define _WIN32_WINNT_NT4 0x0400
|
||||
#define _WIN32_WINNT_WIN2K 0x0500
|
||||
#define _WIN32_WINNT_WINXP 0x0501
|
||||
#define _WIN32_WINNT_WS03 0x0502
|
||||
#define _WIN32_WINNT_WIN6 0x0600
|
||||
#define _WIN32_WINNT_VISTA 0x0600
|
||||
#define _WIN32_WINNT_WS08 0x0600
|
||||
#define _WIN32_WINNT_LONGHORN 0x0600
|
||||
#define _WIN32_WINNT_WIN7 0x0601
|
||||
#define _WIN32_WINNT_WIN8 0x0602
|
||||
#define _WIN32_WINNT_WINBLUE 0x0603
|
||||
#define _WIN32_WINNT_WINTHRESHOLD 0x0A00 /* ABRACADABRA_THRESHOLD*/
|
||||
#define _WIN32_WINNT_WIN10 0x0A00 /* ABRACADABRA_THRESHOLD*/
|
||||
|
||||
//
|
||||
// _WIN32_IE_ version constants
|
||||
//
|
||||
#define _WIN32_IE_IE20 0x0200
|
||||
#define _WIN32_IE_IE30 0x0300
|
||||
#define _WIN32_IE_IE302 0x0302
|
||||
#define _WIN32_IE_IE40 0x0400
|
||||
#define _WIN32_IE_IE401 0x0401
|
||||
#define _WIN32_IE_IE50 0x0500
|
||||
#define _WIN32_IE_IE501 0x0501
|
||||
#define _WIN32_IE_IE55 0x0550
|
||||
#define _WIN32_IE_IE60 0x0600
|
||||
#define _WIN32_IE_IE60SP1 0x0601
|
||||
#define _WIN32_IE_IE60SP2 0x0603
|
||||
#define _WIN32_IE_IE70 0x0700
|
||||
#define _WIN32_IE_IE80 0x0800
|
||||
#define _WIN32_IE_IE90 0x0900
|
||||
#define _WIN32_IE_IE100 0x0A00
|
||||
#define _WIN32_IE_IE110 0x0A00 /* ABRACADABRA_THRESHOLD */
|
||||
|
||||
//
|
||||
// IE <-> OS version mapping
|
||||
//
|
||||
// NT4 supports IE versions 2.0 -> 6.0 SP1
|
||||
#define _WIN32_IE_NT4 _WIN32_IE_IE20
|
||||
#define _WIN32_IE_NT4SP1 _WIN32_IE_IE20
|
||||
#define _WIN32_IE_NT4SP2 _WIN32_IE_IE20
|
||||
#define _WIN32_IE_NT4SP3 _WIN32_IE_IE302
|
||||
#define _WIN32_IE_NT4SP4 _WIN32_IE_IE401
|
||||
#define _WIN32_IE_NT4SP5 _WIN32_IE_IE401
|
||||
#define _WIN32_IE_NT4SP6 _WIN32_IE_IE50
|
||||
// Win98 supports IE versions 4.01 -> 6.0 SP1
|
||||
#define _WIN32_IE_WIN98 _WIN32_IE_IE401
|
||||
// Win98SE supports IE versions 5.0 -> 6.0 SP1
|
||||
#define _WIN32_IE_WIN98SE _WIN32_IE_IE50
|
||||
// WinME supports IE versions 5.5 -> 6.0 SP1
|
||||
#define _WIN32_IE_WINME _WIN32_IE_IE55
|
||||
// Win2k supports IE versions 5.01 -> 6.0 SP1
|
||||
#define _WIN32_IE_WIN2K _WIN32_IE_IE501
|
||||
#define _WIN32_IE_WIN2KSP1 _WIN32_IE_IE501
|
||||
#define _WIN32_IE_WIN2KSP2 _WIN32_IE_IE501
|
||||
#define _WIN32_IE_WIN2KSP3 _WIN32_IE_IE501
|
||||
#define _WIN32_IE_WIN2KSP4 _WIN32_IE_IE501
|
||||
#define _WIN32_IE_XP _WIN32_IE_IE60
|
||||
#define _WIN32_IE_XPSP1 _WIN32_IE_IE60SP1
|
||||
#define _WIN32_IE_XPSP2 _WIN32_IE_IE60SP2
|
||||
#define _WIN32_IE_WS03 0x0602
|
||||
#define _WIN32_IE_WS03SP1 _WIN32_IE_IE60SP2
|
||||
#define _WIN32_IE_WIN6 _WIN32_IE_IE70
|
||||
#define _WIN32_IE_LONGHORN _WIN32_IE_IE70
|
||||
#define _WIN32_IE_WIN7 _WIN32_IE_IE80
|
||||
#define _WIN32_IE_WIN8 _WIN32_IE_IE100
|
||||
#define _WIN32_IE_WINBLUE _WIN32_IE_IE100
|
||||
#define _WIN32_IE_WINTHRESHOLD _WIN32_IE_IE110 /* ABRACADABRA_THRESHOLD */
|
||||
#define _WIN32_IE_WIN10 _WIN32_IE_IE110 /* ABRACADABRA_THRESHOLD */
|
||||
|
||||
|
||||
//
|
||||
// NTDDI version constants
|
||||
//
|
||||
#define NTDDI_WIN2K 0x05000000
|
||||
#define NTDDI_WIN2KSP1 0x05000100
|
||||
#define NTDDI_WIN2KSP2 0x05000200
|
||||
#define NTDDI_WIN2KSP3 0x05000300
|
||||
#define NTDDI_WIN2KSP4 0x05000400
|
||||
|
||||
#define NTDDI_WINXP 0x05010000
|
||||
#define NTDDI_WINXPSP1 0x05010100
|
||||
#define NTDDI_WINXPSP2 0x05010200
|
||||
#define NTDDI_WINXPSP3 0x05010300
|
||||
#define NTDDI_WINXPSP4 0x05010400
|
||||
|
||||
#define NTDDI_WS03 0x05020000
|
||||
#define NTDDI_WS03SP1 0x05020100
|
||||
#define NTDDI_WS03SP2 0x05020200
|
||||
#define NTDDI_WS03SP3 0x05020300
|
||||
#define NTDDI_WS03SP4 0x05020400
|
||||
|
||||
#define NTDDI_WIN6 0x06000000
|
||||
#define NTDDI_WIN6SP1 0x06000100
|
||||
#define NTDDI_WIN6SP2 0x06000200
|
||||
#define NTDDI_WIN6SP3 0x06000300
|
||||
#define NTDDI_WIN6SP4 0x06000400
|
||||
|
||||
#define NTDDI_VISTA NTDDI_WIN6
|
||||
#define NTDDI_VISTASP1 NTDDI_WIN6SP1
|
||||
#define NTDDI_VISTASP2 NTDDI_WIN6SP2
|
||||
#define NTDDI_VISTASP3 NTDDI_WIN6SP3
|
||||
#define NTDDI_VISTASP4 NTDDI_WIN6SP4
|
||||
|
||||
#define NTDDI_LONGHORN NTDDI_VISTA
|
||||
|
||||
#define NTDDI_WS08 NTDDI_WIN6SP1
|
||||
#define NTDDI_WS08SP2 NTDDI_WIN6SP2
|
||||
#define NTDDI_WS08SP3 NTDDI_WIN6SP3
|
||||
#define NTDDI_WS08SP4 NTDDI_WIN6SP4
|
||||
|
||||
#define NTDDI_WIN7 0x06010000
|
||||
#define NTDDI_WIN8 0x06020000
|
||||
#define NTDDI_WINBLUE 0x06030000
|
||||
#define NTDDI_WINTHRESHOLD 0x0A000000 /* ABRACADABRA_THRESHOLD */
|
||||
#define NTDDI_WIN10 0x0A000000 /* ABRACADABRA_THRESHOLD */
|
||||
#define NTDDI_WIN10_TH2 0x0A000001 /* ABRACADABRA_WIN10_TH2 */
|
||||
#define NTDDI_WIN10_RS1 0x0A000002 /* ABRACADABRA_WIN10_RS1 */
|
||||
|
||||
//
|
||||
// masks for version macros
|
||||
//
|
||||
#define OSVERSION_MASK 0xFFFF0000
|
||||
#define SPVERSION_MASK 0x0000FF00
|
||||
#define SUBVERSION_MASK 0x000000FF
|
||||
|
||||
|
||||
//
|
||||
// macros to extract various version fields from the NTDDI version
|
||||
//
|
||||
#define OSVER(Version) ((Version) & OSVERSION_MASK)
|
||||
#define SPVER(Version) (((Version) & SPVERSION_MASK) >> 8)
|
||||
#define SUBVER(Version) (((Version) & SUBVERSION_MASK) )
|
||||
|
||||
|
||||
#if defined(DECLSPEC_DEPRECATED_DDK)
|
||||
|
||||
// deprecate in 2k or later
|
||||
#if (NTDDI_VERSION >= NTDDI_WIN2K)
|
||||
#define DECLSPEC_DEPRECATED_DDK_WIN2K DECLSPEC_DEPRECATED_DDK
|
||||
#else
|
||||
#define DECLSPEC_DEPRECATED_DDK_WIN2K
|
||||
#endif
|
||||
|
||||
// deprecate in XP or later
|
||||
#if (NTDDI_VERSION >= NTDDI_WINXP)
|
||||
#define DECLSPEC_DEPRECATED_DDK_WINXP DECLSPEC_DEPRECATED_DDK
|
||||
#else
|
||||
#define DECLSPEC_DEPRECATED_DDK_WINXP
|
||||
#endif
|
||||
|
||||
// deprecate in WS03 or later
|
||||
#if (NTDDI_VERSION >= NTDDI_WS03)
|
||||
#define DECLSPEC_DEPRECATED_DDK_WIN2003 DECLSPEC_DEPRECATED_DDK
|
||||
#else
|
||||
#define DECLSPEC_DEPRECATED_DDK_WIN2003
|
||||
#endif
|
||||
|
||||
// deprecate in WIN6 or later
|
||||
#if (NTDDI_VERSION >= NTDDI_WIN6)
|
||||
#define DECLSPEC_DEPRECATED_DDK_WIN6 DECLSPEC_DEPRECATED_DDK
|
||||
#else
|
||||
#define DECLSPEC_DEPRECATED_DDK_WIN6
|
||||
#endif
|
||||
|
||||
#define DECLSPEC_DEPRECATED_DDK_LONGHORN DECLSPEC_DEPRECATED_DDK_WIN6
|
||||
|
||||
#endif // defined(DECLSPEC_DEPRECATED_DDK)
|
||||
|
||||
|
||||
//
|
||||
// if versions aren't already defined, default to most current
|
||||
//
|
||||
|
||||
#define NTDDI_VERSION_FROM_WIN32_WINNT2(ver) ver##0000
|
||||
#define NTDDI_VERSION_FROM_WIN32_WINNT(ver) NTDDI_VERSION_FROM_WIN32_WINNT2(ver)
|
||||
|
||||
#if !defined(_WIN32_WINNT) && !defined(_CHICAGO_)
|
||||
#define _WIN32_WINNT 0x0A00
|
||||
#endif
|
||||
|
||||
#ifndef NTDDI_VERSION
|
||||
#ifdef _WIN32_WINNT
|
||||
// set NTDDI_VERSION based on _WIN32_WINNT
|
||||
#define NTDDI_VERSION NTDDI_VERSION_FROM_WIN32_WINNT(_WIN32_WINNT)
|
||||
#else
|
||||
#define NTDDI_VERSION 0x0A000002
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#ifndef WINVER
|
||||
#ifdef _WIN32_WINNT
|
||||
// set WINVER based on _WIN32_WINNT
|
||||
#define WINVER _WIN32_WINNT
|
||||
#else
|
||||
#define WINVER 0x0A00
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#ifndef _WIN32_IE
|
||||
#ifdef _WIN32_WINNT
|
||||
// set _WIN32_IE based on _WIN32_WINNT
|
||||
#if (_WIN32_WINNT <= _WIN32_WINNT_NT4)
|
||||
#define _WIN32_IE _WIN32_IE_IE50
|
||||
#elif (_WIN32_WINNT <= _WIN32_WINNT_WIN2K)
|
||||
#define _WIN32_IE _WIN32_IE_IE501
|
||||
#elif (_WIN32_WINNT <= _WIN32_WINNT_WINXP)
|
||||
#define _WIN32_IE _WIN32_IE_IE60
|
||||
#elif (_WIN32_WINNT <= _WIN32_WINNT_WS03)
|
||||
#define _WIN32_IE _WIN32_IE_WS03
|
||||
#elif (_WIN32_WINNT <= _WIN32_WINNT_VISTA)
|
||||
#define _WIN32_IE _WIN32_IE_LONGHORN
|
||||
#elif (_WIN32_WINNT <= _WIN32_WINNT_WIN7)
|
||||
#define _WIN32_IE _WIN32_IE_WIN7
|
||||
#elif (_WIN32_WINNT <= _WIN32_WINNT_WIN8)
|
||||
#define _WIN32_IE _WIN32_IE_WIN8
|
||||
#else
|
||||
#define _WIN32_IE 0x0A00
|
||||
#endif
|
||||
#else
|
||||
#define _WIN32_IE 0x0A00
|
||||
#endif
|
||||
#endif
|
||||
|
||||
//
|
||||
// Sanity check for compatible versions
|
||||
//
|
||||
#if defined(_WIN32_WINNT) && !defined(MIDL_PASS) && !defined(RC_INVOKED)
|
||||
|
||||
#if (defined(WINVER) && (WINVER < 0x0400) && (_WIN32_WINNT > 0x0400))
|
||||
#error WINVER setting conflicts with _WIN32_WINNT setting
|
||||
#endif
|
||||
|
||||
#if (((OSVERSION_MASK & NTDDI_VERSION) == NTDDI_WIN2K) && (_WIN32_WINNT != _WIN32_WINNT_WIN2K))
|
||||
#error NTDDI_VERSION setting conflicts with _WIN32_WINNT setting
|
||||
#endif
|
||||
|
||||
#if (((OSVERSION_MASK & NTDDI_VERSION) == NTDDI_WINXP) && (_WIN32_WINNT != _WIN32_WINNT_WINXP))
|
||||
#error NTDDI_VERSION setting conflicts with _WIN32_WINNT setting
|
||||
#endif
|
||||
|
||||
#if (((OSVERSION_MASK & NTDDI_VERSION) == NTDDI_WS03) && (_WIN32_WINNT != _WIN32_WINNT_WS03))
|
||||
#error NTDDI_VERSION setting conflicts with _WIN32_WINNT setting
|
||||
#endif
|
||||
|
||||
#if (((OSVERSION_MASK & NTDDI_VERSION) == NTDDI_VISTA) && (_WIN32_WINNT != _WIN32_WINNT_VISTA))
|
||||
#error NTDDI_VERSION setting conflicts with _WIN32_WINNT setting
|
||||
#endif
|
||||
|
||||
#if ((_WIN32_WINNT < _WIN32_WINNT_WIN2K) && (_WIN32_IE > _WIN32_IE_IE60SP1))
|
||||
#error _WIN32_WINNT settings conflicts with _WIN32_IE setting
|
||||
#endif
|
||||
|
||||
#endif // defined(_WIN32_WINNT) && !defined(MIDL_PASS) && !defined(_WINRESRC_)
|
||||
|
||||
#if (_MSC_VER >= 800)
|
||||
#if (_MSC_VER >= 1200)
|
||||
#pragma warning(pop)
|
||||
#else
|
||||
#pragma warning(default:4001) /* nonstandard extension : single line comment */
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#endif /* !_INC_SDKDDKVER */
|
||||
|
||||
Vendored
BIN
Binary file not shown.
Vendored
BIN
Binary file not shown.
Vendored
BIN
Binary file not shown.
@@ -3,8 +3,8 @@
|
||||
#include "Emu/System.h"
|
||||
#include "AutoPause.h"
|
||||
|
||||
cfg::bool_entry g_cfg_debug_autopause_syscall(cfg::root.misc, "Auto Pause at System Call");
|
||||
cfg::bool_entry g_cfg_debug_autopause_func_call(cfg::root.misc, "Auto Pause at Function Call");
|
||||
cfg::bool_entry g_cfg_debug_autopause_syscall(cfg::root.misc, "Automatically pause at system call");
|
||||
cfg::bool_entry g_cfg_debug_autopause_func_call(cfg::root.misc, "Automatically pause at function call");
|
||||
|
||||
debug::autopause& debug::autopause::get_instance()
|
||||
{
|
||||
|
||||
Submodule Vulkan/Vulkan-LoaderAndValidationLayers updated: 64d375f52e...1f321cf93d
+1
-1
Submodule Vulkan/glslang updated: 2921e0c54a...f042e407a9
+1
-1
Submodule llvm updated: 051e787f26...69e5622092
@@ -14,7 +14,7 @@
|
||||
logs::channel cellAudio("cellAudio", logs::level::notice);
|
||||
|
||||
cfg::bool_entry g_cfg_audio_dump_to_file(cfg::root.audio, "Dump to file");
|
||||
cfg::bool_entry g_cfg_audio_convert_to_u16(cfg::root.audio, "Convert to 16 bit");
|
||||
cfg::bool_entry g_cfg_audio_convert_to_u16(cfg::root.audio, "Convert to 16-bit");
|
||||
|
||||
void audio_config::on_task()
|
||||
{
|
||||
|
||||
@@ -95,7 +95,8 @@ s32 cellAudioOutSetDeviceMode()
|
||||
|
||||
s32 cellAudioInSetDeviceMode()
|
||||
{
|
||||
fmt::throw_exception("Unimplemented" HERE);
|
||||
UNIMPLEMENTED_FUNC(cellAvconfExt);
|
||||
return -1;
|
||||
}
|
||||
|
||||
s32 cellAudioInRegisterDevice()
|
||||
|
||||
@@ -554,7 +554,7 @@ s32 cellFontExtend(u32 a1, u32 a2, u32 a3)
|
||||
//Something happens
|
||||
}
|
||||
//Something happens?
|
||||
return CELL_OK;
|
||||
return -1;
|
||||
}
|
||||
|
||||
s32 cellFontRenderCharGlyphImageVertical()
|
||||
@@ -587,7 +587,8 @@ s32 cellFontGraphicsGetDrawType()
|
||||
|
||||
s32 cellFontGetKerning()
|
||||
{
|
||||
fmt::throw_exception("Unimplemented" HERE);
|
||||
UNIMPLEMENTED_FUNC(cellFont);
|
||||
return CELL_OK;
|
||||
}
|
||||
|
||||
s32 cellFontGetRenderScaledKerning()
|
||||
@@ -622,7 +623,8 @@ s32 cellFontGetEffectWeight()
|
||||
|
||||
s32 cellFontGetScalePixel()
|
||||
{
|
||||
fmt::throw_exception("Unimplemented" HERE);
|
||||
UNIMPLEMENTED_FUNC(cellFont);
|
||||
return CELL_OK;
|
||||
}
|
||||
|
||||
s32 cellFontClearFileCache()
|
||||
@@ -637,7 +639,8 @@ s32 cellFontAdjustFontScaling()
|
||||
|
||||
s32 cellFontSetupRenderScalePoint()
|
||||
{
|
||||
fmt::throw_exception("Unimplemented" HERE);
|
||||
UNIMPLEMENTED_FUNC(cellFont);
|
||||
return CELL_OK;
|
||||
}
|
||||
|
||||
s32 cellFontGlyphGetVerticalShift()
|
||||
|
||||
@@ -892,7 +892,8 @@ s32 cellFsChangeFileSizeByFdWithoutAllocation()
|
||||
|
||||
s32 cellFsSetDiscReadRetrySetting()
|
||||
{
|
||||
fmt::throw_exception("Unimplemented" HERE);
|
||||
UNIMPLEMENTED_FUNC(cellFs);
|
||||
return CELL_OK;
|
||||
}
|
||||
|
||||
s32 cellFsRegisterConversionCallback()
|
||||
|
||||
@@ -191,13 +191,15 @@ s32 cellHddGameSetSystemVer()
|
||||
|
||||
s32 cellHddGameExitBroken()
|
||||
{
|
||||
fmt::throw_exception("Unimplemented" HERE);
|
||||
UNIMPLEMENTED_FUNC(cellGame);
|
||||
return CELL_OK;
|
||||
}
|
||||
|
||||
|
||||
s32 cellGameDataGetSizeKB()
|
||||
{
|
||||
fmt::throw_exception("Unimplemented" HERE);
|
||||
UNIMPLEMENTED_FUNC(cellGame);
|
||||
return CELL_OK;
|
||||
}
|
||||
|
||||
s32 cellGameDataSetSystemVer()
|
||||
|
||||
@@ -10,9 +10,110 @@
|
||||
|
||||
extern logs::channel cellSysutil;
|
||||
|
||||
s32 cellMsgDialogOpen()
|
||||
s32 cellMsgDialogOpen(u32 type, vm::cptr<char> msgString, vm::ptr<CellMsgDialogCallback> callback, vm::ptr<void> userData, vm::ptr<void> extParam)
|
||||
{
|
||||
fmt::throw_exception("Unimplemented" HERE);
|
||||
cellSysutil.warning("cellMsgDialogOpen(type=0x%x, msgString=%s, callback=*0x%x, userData=*0x%x, extParam=*0x%x)", type, msgString, callback, userData, extParam);
|
||||
|
||||
if (!msgString || std::strlen(msgString.get_ptr()) >= 0x200 || type & -0x33f8)
|
||||
{
|
||||
return CELL_MSGDIALOG_ERROR_PARAM;
|
||||
}
|
||||
|
||||
const MsgDialogType _type = { type };
|
||||
|
||||
switch (_type.button_type.unshifted())
|
||||
{
|
||||
case CELL_MSGDIALOG_TYPE_BUTTON_TYPE_NONE:
|
||||
{
|
||||
if (_type.default_cursor || _type.progress_bar_count > 2)
|
||||
{
|
||||
return CELL_MSGDIALOG_ERROR_PARAM;
|
||||
}
|
||||
|
||||
break;
|
||||
}
|
||||
|
||||
case CELL_MSGDIALOG_TYPE_BUTTON_TYPE_YESNO:
|
||||
{
|
||||
if (_type.default_cursor > 1 || _type.progress_bar_count)
|
||||
{
|
||||
return CELL_MSGDIALOG_ERROR_PARAM;
|
||||
}
|
||||
|
||||
break;
|
||||
}
|
||||
|
||||
case CELL_MSGDIALOG_TYPE_BUTTON_TYPE_OK:
|
||||
{
|
||||
if (_type.default_cursor || _type.progress_bar_count)
|
||||
{
|
||||
return CELL_MSGDIALOG_ERROR_PARAM;
|
||||
}
|
||||
|
||||
break;
|
||||
}
|
||||
|
||||
default: return CELL_MSGDIALOG_ERROR_PARAM;
|
||||
}
|
||||
|
||||
const auto dlg = fxm::import<MsgDialogBase>(Emu.GetCallbacks().get_msg_dialog);
|
||||
|
||||
if (!dlg)
|
||||
{
|
||||
return CELL_SYSUTIL_ERROR_BUSY;
|
||||
}
|
||||
|
||||
if (_type.se_mute_on)
|
||||
{
|
||||
// TODO
|
||||
}
|
||||
|
||||
if (_type.se_normal)
|
||||
{
|
||||
cellSysutil.warning(msgString.get_ptr());
|
||||
}
|
||||
else
|
||||
{
|
||||
cellSysutil.error(msgString.get_ptr());
|
||||
}
|
||||
|
||||
dlg->type = _type;
|
||||
|
||||
dlg->on_close = [callback, userData, wptr = std::weak_ptr<MsgDialogBase>(dlg)](s32 status)
|
||||
{
|
||||
const auto dlg = wptr.lock();
|
||||
|
||||
if (dlg && dlg->state.compare_and_swap_test(MsgDialogState::Open, MsgDialogState::Close))
|
||||
{
|
||||
if (callback)
|
||||
{
|
||||
sysutil_register_cb([=](ppu_thread& ppu) -> s32
|
||||
{
|
||||
callback(ppu, status, userData);
|
||||
return CELL_OK;
|
||||
});
|
||||
}
|
||||
|
||||
fxm::remove<MsgDialogBase>();
|
||||
}
|
||||
};
|
||||
|
||||
atomic_t<bool> result(false);
|
||||
|
||||
// Run asynchronously in GUI thread
|
||||
Emu.CallAfter([&]()
|
||||
{
|
||||
dlg->Create(msgString.get_ptr());
|
||||
result = true;
|
||||
});
|
||||
|
||||
while (!result)
|
||||
{
|
||||
CHECK_EMU_STATUS;
|
||||
std::this_thread::sleep_for(1ms);
|
||||
}
|
||||
|
||||
return CELL_OK;
|
||||
}
|
||||
|
||||
s32 cellMsgDialogOpen2(u32 type, vm::cptr<char> msgString, vm::ptr<CellMsgDialogCallback> callback, vm::ptr<void> userData, vm::ptr<void> extParam)
|
||||
|
||||
@@ -139,7 +139,8 @@ s32 cellNetCtlGetNatInfo(vm::ptr<CellNetCtlNatInfo> natInfo)
|
||||
|
||||
s32 cellGameUpdateInit()
|
||||
{
|
||||
fmt::throw_exception("Unimplemented" HERE);
|
||||
UNIMPLEMENTED_FUNC(cellNetCtl);
|
||||
return CELL_OK;
|
||||
}
|
||||
|
||||
s32 cellGameUpdateTerm()
|
||||
|
||||
@@ -15,7 +15,8 @@ s32 cellOskDialogUnloadAsync()
|
||||
|
||||
s32 cellOskDialogGetSize()
|
||||
{
|
||||
fmt::throw_exception("Unimplemented" HERE);
|
||||
UNIMPLEMENTED_FUNC(cellOskDialog);
|
||||
return CELL_OK;
|
||||
}
|
||||
|
||||
s32 cellOskDialogAbort()
|
||||
|
||||
@@ -356,6 +356,12 @@ s32 cellSysmodule_D9B8C0EE()
|
||||
return CELL_OK;
|
||||
}
|
||||
|
||||
s32 cellSysmodule_1A267F98()
|
||||
{
|
||||
UNIMPLEMENTED_FUNC(cellSysmodule);
|
||||
return CELL_OK;
|
||||
}
|
||||
|
||||
DECLARE(ppu_module_manager::cellSysmodule)("cellSysmodule", []()
|
||||
{
|
||||
REG_FUNC(cellSysmodule, cellSysmoduleInitialize);
|
||||
@@ -368,4 +374,5 @@ DECLARE(ppu_module_manager::cellSysmodule)("cellSysmodule", []()
|
||||
REG_FUNC(cellSysmodule, cellSysmoduleFetchImage);
|
||||
REG_FNID(cellSysmodule, 0xB498BF77, cellSysmodule_B498BF77);
|
||||
REG_FNID(cellSysmodule, 0xD9B8C0EE, cellSysmodule_D9B8C0EE);
|
||||
REG_FNID(cellSysmodule, 0x1A267F98, cellSysmodule_1A267F98);
|
||||
});
|
||||
|
||||
@@ -413,6 +413,12 @@ s32 cellSysutilGameReboot_I()
|
||||
fmt::throw_exception("Unimplemented" HERE);
|
||||
}
|
||||
|
||||
s32 cellSysutil_E1EC7B6A()
|
||||
{
|
||||
UNIMPLEMENTED_FUNC(cellSysutil);
|
||||
return CELL_OK;
|
||||
}
|
||||
|
||||
extern void cellSysutil_SaveData_init();
|
||||
extern void cellSysutil_GameData_init();
|
||||
extern void cellSysutil_MsgDialog_init();
|
||||
@@ -463,4 +469,5 @@ DECLARE(ppu_module_manager::cellSysutil)("cellSysutil", []()
|
||||
REG_FUNC(cellSysutil, cellSysutilGameExit_I);
|
||||
REG_FUNC(cellSysutil, cellSysutilGamePowerOff_I);
|
||||
REG_FUNC(cellSysutil, cellSysutilGameReboot_I);
|
||||
REG_FNID(cellSysutil, 0xE1EC7B6A, cellSysutil_E1EC7B6A);
|
||||
});
|
||||
|
||||
@@ -484,6 +484,11 @@ s32 cellVdecDecodeAu(u32 handle, CellVdecDecodeMode mode, vm::cptr<CellVdecAuInf
|
||||
return CELL_VDEC_ERROR_ARG;
|
||||
}
|
||||
|
||||
if (mode == CELL_VDEC_DEC_MODE_B_SKIP || !vdec)
|
||||
{
|
||||
return CELL_VDEC_ERROR_BUSY;
|
||||
}
|
||||
|
||||
if (mode != CELL_VDEC_DEC_MODE_NORMAL)
|
||||
{
|
||||
fmt::throw_exception("Unsupported decoding mode (%d)" HERE, (s32)mode);
|
||||
@@ -555,7 +560,7 @@ s32 cellVdecGetPicture(u32 handle, vm::cptr<CellVdecPicFormat> format, vm::ptr<u
|
||||
|
||||
if (format->colorMatrixType != CELL_VDEC_COLOR_MATRIX_TYPE_BT709)
|
||||
{
|
||||
fmt::throw_exception("Unknown colorMatrixType (%d)" HERE, format->colorMatrixType);
|
||||
LOG_ERROR(HLE, "Unknown colorMatrixType (%d)" HERE, format->colorMatrixType);
|
||||
}
|
||||
|
||||
if (alpha_plane)
|
||||
|
||||
@@ -1521,6 +1521,11 @@ s32 _Z32_sce_np_sysutil_cxml_prepare_docPN16sysutil_cxmlutil11FixedMemoryERN4cxm
|
||||
fmt::throw_exception("Unimplemented" HERE);
|
||||
}
|
||||
|
||||
s32 sceNp_AFC62605()
|
||||
{
|
||||
UNIMPLEMENTED_FUNC(sceNp);
|
||||
return CELL_OK;
|
||||
}
|
||||
|
||||
DECLARE(ppu_module_manager::sceNp)("sceNp", []()
|
||||
{
|
||||
@@ -1755,4 +1760,5 @@ DECLARE(ppu_module_manager::sceNp)("sceNp", []()
|
||||
REG_FUNC(sceNp, _Z31_sce_np_sysutil_send_packet_subiRN4cxml8DocumentE);
|
||||
REG_FUNC(sceNp, _Z37sce_np_matching_set_matching2_runningb);
|
||||
REG_FUNC(sceNp, _Z32_sce_np_sysutil_cxml_prepare_docPN16sysutil_cxmlutil11FixedMemoryERN4cxml8DocumentEPKcRNS2_7ElementES6_i);
|
||||
REG_FNID(sceNp, 0xAFC62605, sceNp_AFC62605);
|
||||
});
|
||||
|
||||
@@ -234,7 +234,8 @@ s32 sceNpMatching2SetSignalingOptParam()
|
||||
|
||||
s32 sceNpMatching2RegisterContextCallback()
|
||||
{
|
||||
fmt::throw_exception("Unimplemented" HERE);
|
||||
UNIMPLEMENTED_FUNC(sceNp2);
|
||||
return CELL_OK;
|
||||
}
|
||||
|
||||
s32 sceNpMatching2SendRoomChatMessage()
|
||||
@@ -274,7 +275,8 @@ s32 sceNpMatching2GrantRoomOwner()
|
||||
|
||||
s32 sceNpMatching2CreateContext()
|
||||
{
|
||||
fmt::throw_exception("Unimplemented" HERE);
|
||||
UNIMPLEMENTED_FUNC(sceNp2);
|
||||
return CELL_OK;
|
||||
}
|
||||
|
||||
s32 sceNpMatching2GetSignalingOptParamLocal()
|
||||
@@ -324,12 +326,14 @@ s32 sceNpMatching2DeleteServerContext()
|
||||
|
||||
s32 sceNpMatching2SetDefaultRequestOptParam()
|
||||
{
|
||||
fmt::throw_exception("Unimplemented" HERE);
|
||||
UNIMPLEMENTED_FUNC(sceNp2);
|
||||
return CELL_OK;
|
||||
}
|
||||
|
||||
s32 sceNpMatching2RegisterRoomEventCallback()
|
||||
{
|
||||
fmt::throw_exception("Unimplemented" HERE);
|
||||
UNIMPLEMENTED_FUNC(sceNp2);
|
||||
return CELL_OK;
|
||||
}
|
||||
|
||||
s32 sceNpMatching2GetRoomPasswordLocal()
|
||||
@@ -379,7 +383,8 @@ s32 sceNpMatching2SetLobbyMemberDataInternal()
|
||||
|
||||
s32 sceNpMatching2RegisterRoomMessageCallback()
|
||||
{
|
||||
fmt::throw_exception("Unimplemented" HERE);
|
||||
UNIMPLEMENTED_FUNC(sceNp2);
|
||||
return CELL_OK;
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -176,6 +176,12 @@ s32 console_write(vm::ptr<char> data, u32 len)
|
||||
return CELL_OK;
|
||||
}
|
||||
|
||||
s32 sysPrxForUser_B5D5F64E()
|
||||
{
|
||||
UNIMPLEMENTED_FUNC(sysPrxForUser);
|
||||
return CELL_OK;
|
||||
}
|
||||
|
||||
|
||||
extern void sysPrxForUser_sys_lwmutex_init();
|
||||
extern void sysPrxForUser_sys_lwcond_init();
|
||||
@@ -223,4 +229,5 @@ DECLARE(ppu_module_manager::sysPrxForUser)("sysPrxForUser", []()
|
||||
REG_FUNC(sysPrxForUser, console_getc);
|
||||
REG_FUNC(sysPrxForUser, console_putc);
|
||||
REG_FUNC(sysPrxForUser, console_write);
|
||||
REG_FNID(sysPrxForUser, 0xB5D5F64E, sysPrxForUser_B5D5F64E);
|
||||
});
|
||||
|
||||
@@ -354,7 +354,8 @@ s32 _sys_vsprintf()
|
||||
|
||||
s32 _sys_qsort()
|
||||
{
|
||||
fmt::throw_exception("Unimplemented" HERE);
|
||||
UNIMPLEMENTED_FUNC(sysPrxForUser);
|
||||
return CELL_OK;
|
||||
}
|
||||
|
||||
void sysPrxForUser_sys_libc_init()
|
||||
|
||||
@@ -20,7 +20,8 @@ struct memory_pool_t
|
||||
|
||||
s32 sys_mempool_allocate_block()
|
||||
{
|
||||
fmt::throw_exception("Unimplemented" HERE);
|
||||
UNIMPLEMENTED_FUNC(sysPrxForUser);
|
||||
return CELL_OK;
|
||||
}
|
||||
|
||||
s32 sys_mempool_create(vm::ptr<sys_mempool_t> mempool, vm::ptr<void> chunk, const u64 chunk_size, const u64 block_size, const u64 ralignment)
|
||||
|
||||
@@ -103,12 +103,14 @@ void sys_ppu_thread_once(ppu_thread& ppu, vm::ptr<atomic_be_t<u32>> once_ctrl, v
|
||||
|
||||
s32 sys_ppu_thread_register_atexit()
|
||||
{
|
||||
fmt::throw_exception("Unimplemented" HERE);
|
||||
UNIMPLEMENTED_FUNC(sysPrxForUser);
|
||||
return CELL_OK;
|
||||
}
|
||||
|
||||
s32 sys_ppu_thread_unregister_atexit()
|
||||
{
|
||||
fmt::throw_exception("Unimplemented" HERE);
|
||||
UNIMPLEMENTED_FUNC(sysPrxForUser);
|
||||
return CELL_OK;
|
||||
}
|
||||
|
||||
void sysPrxForUser_sys_ppu_thread_init()
|
||||
|
||||
@@ -292,12 +292,15 @@ const g_ppu_scale_table;
|
||||
|
||||
bool ppu_interpreter::MFVSCR(ppu_thread& ppu, ppu_opcode_t op)
|
||||
{
|
||||
fmt::throw_exception<std::logic_error>("MFVSCR instruction at 0x%x (%s)", ppu.cia, Emu.GetTitleID());
|
||||
ppu.vr[op.vd].clear();
|
||||
ppu.vr[op.vd]._u32[0] = ppu.vscr.vscr;
|
||||
return true;
|
||||
}
|
||||
|
||||
bool ppu_interpreter::MTVSCR(ppu_thread& ppu, ppu_opcode_t op)
|
||||
{
|
||||
LOG_WARNING(PPU, "MTVSCR");
|
||||
ppu.vscr.vscr = ppu.vr[op.vb]._u32[0];
|
||||
ppu.vscr.X = ppu.vscr.Y = 0;
|
||||
return true;
|
||||
}
|
||||
|
||||
|
||||
@@ -30,6 +30,7 @@
|
||||
#include "llvm/Analysis/Lint.h"
|
||||
#include "llvm/Transforms/Utils/BasicBlockUtils.h"
|
||||
#include "llvm/Transforms/Scalar.h"
|
||||
#include "llvm/Transforms/Scalar/GVN.h"
|
||||
#include "llvm/Transforms/IPO.h"
|
||||
#include "llvm/Transforms/Vectorize.h"
|
||||
#ifdef _MSC_VER
|
||||
@@ -47,7 +48,7 @@ enum class ppu_decoder_type
|
||||
llvm,
|
||||
};
|
||||
|
||||
cfg::map_entry<ppu_decoder_type> g_cfg_ppu_decoder(cfg::root.core, "PPU Decoder", 1,
|
||||
cfg::map_entry<ppu_decoder_type> g_cfg_ppu_decoder(cfg::root.core, "PPU decoder", 1,
|
||||
{
|
||||
{ "Interpreter (precise)", ppu_decoder_type::precise },
|
||||
{ "Interpreter (fast)", ppu_decoder_type::fast },
|
||||
|
||||
@@ -16,6 +16,18 @@ enum class ppu_cmd : u32
|
||||
hle_call, // Execute function by index (arg)
|
||||
};
|
||||
|
||||
union VSCRhdr
|
||||
{
|
||||
u32 vscr;
|
||||
struct
|
||||
{
|
||||
u32 sat : 1;
|
||||
u32 X : 15;
|
||||
u32 nj : 1;
|
||||
u32 Y : 15;
|
||||
};
|
||||
};
|
||||
|
||||
class ppu_thread : public cpu_thread
|
||||
{
|
||||
public:
|
||||
@@ -34,6 +46,7 @@ public:
|
||||
u64 gpr[32] = {}; // General-Purpose Registers
|
||||
f64 fpr[32] = {}; // Floating Point Registers
|
||||
v128 vr[32] = {}; // Vector Registers
|
||||
VSCRhdr vscr{}; // Vector Status and Control Register
|
||||
|
||||
alignas(16) bool cr[32] = {}; // Condition Registers (abstract representation)
|
||||
|
||||
|
||||
@@ -917,7 +917,7 @@ void spu_recompiler::BISL(spu_opcode_t op)
|
||||
|
||||
void spu_recompiler::IRET(spu_opcode_t op)
|
||||
{
|
||||
fmt::throw_exception("Unimplemented instruction" HERE);
|
||||
LOG_ERROR(SPU, "Unimplemented instruction" HERE);
|
||||
}
|
||||
|
||||
void spu_recompiler::BISLED(spu_opcode_t op)
|
||||
|
||||
@@ -32,7 +32,7 @@ enum class spu_decoder_type
|
||||
llvm,
|
||||
};
|
||||
|
||||
cfg::map_entry<spu_decoder_type> g_cfg_spu_decoder(cfg::root.core, "SPU Decoder", 2,
|
||||
cfg::map_entry<spu_decoder_type> g_cfg_spu_decoder(cfg::root.core, "SPU decoder", 2,
|
||||
{
|
||||
{ "Interpreter (precise)", spu_decoder_type::precise },
|
||||
{ "Interpreter (fast)", spu_decoder_type::fast },
|
||||
@@ -495,7 +495,7 @@ void SPUThread::process_mfc_cmd(u32 cmd)
|
||||
return;
|
||||
}
|
||||
|
||||
fmt::throw_exception("Unknown command %s (cmd=0x%x, lsa=0x%x, ea=0x%llx, tag=0x%x, size=0x%x)" HERE,
|
||||
LOG_ERROR(SPU, "Unknown command %s (cmd=0x%x, lsa=0x%x, ea=0x%llx, tag=0x%x, size=0x%x)" HERE,
|
||||
get_mfc_cmd_name(cmd), cmd, ch_mfc_args.lsa, ch_mfc_args.ea, ch_mfc_args.tag, ch_mfc_args.size);
|
||||
}
|
||||
|
||||
@@ -1119,7 +1119,7 @@ bool SPUThread::set_ch_value(u32 ch, u32 value)
|
||||
}
|
||||
}
|
||||
|
||||
fmt::throw_exception("Unknown/illegal channel (ch=%d [%s], value=0x%x)" HERE, ch, ch < 128 ? spu_ch_name[ch] : "???", value);
|
||||
LOG_ERROR(SPU, "Unknown/illegal channel (ch=%d [%s], value=0x%x)" HERE, ch, ch < 128 ? spu_ch_name[ch] : "???", value);
|
||||
}
|
||||
|
||||
bool SPUThread::stop_and_signal(u32 code)
|
||||
|
||||
@@ -129,7 +129,18 @@ error_code sys_fs_open(vm::cptr<char> path, s32 flags, vm::ptr<u32> fd, s32 mode
|
||||
fmt::throw_exception("sys_fs_open(%s): Invalid or unimplemented flags: %#o" HERE, path, flags);
|
||||
}
|
||||
|
||||
fs::file file(local_path, open_mode);
|
||||
const char *path_ptr = path.get_ptr();
|
||||
|
||||
if (strstr(path.get_ptr(), "/dev_hdd0") &&
|
||||
strncmp(path.get_ptr(), "/dev_hdd0", 9))
|
||||
{
|
||||
path_ptr = strstr(path_ptr, "/dev_hdd0");
|
||||
|
||||
LOG_ERROR(HLE, "Path contains device root path but not at the start!");
|
||||
LOG_ERROR(HLE, "Path given is (%s), modified to (%s)", path.get_ptr(), path_ptr);
|
||||
}
|
||||
|
||||
fs::file file(local_path, open_mode);
|
||||
|
||||
if (!file)
|
||||
{
|
||||
|
||||
@@ -372,7 +372,7 @@ namespace vm
|
||||
|
||||
if (!size || (size | addr) % 4096)
|
||||
{
|
||||
fmt::throw_exception("Invalid arguments (addr=0x%x, size=0x%x)" HERE, addr, size);
|
||||
LOG_ERROR(MEMORY, "Invalid arguments (addr=0x%x, size=0x%x)" HERE, addr, size);
|
||||
}
|
||||
|
||||
const u8 flags_inv = flags_set & flags_clear;
|
||||
|
||||
@@ -390,9 +390,10 @@ namespace
|
||||
case rsx::primitive_type::triangle_fan:
|
||||
return expand_indexed_triangle_fan<T>(src.subspan(first), dst, restart_index_enabled, restart_index);
|
||||
case rsx::primitive_type::quads:
|
||||
case rsx::primitive_type::quad_strip:
|
||||
return expand_indexed_quads<T>(src.subspan(first), dst, restart_index_enabled, restart_index);
|
||||
}
|
||||
fmt::throw_exception("Don't know how to expand draw mode" HERE);
|
||||
fmt::throw_exception("Unknown draw mode (0x%x)" HERE, (u32)draw_mode);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -61,7 +61,7 @@ public:
|
||||
template<int Alignement>
|
||||
size_t alloc(size_t size)
|
||||
{
|
||||
if (!can_alloc<Alignement>(size)) fmt::throw_exception("Working buffer not big enough" HERE);
|
||||
if (!can_alloc<Alignement>(size)) LOG_ERROR(RSX, "Working buffer not big enough" HERE);
|
||||
size_t alloc_size = align(size, Alignement);
|
||||
size_t aligned_put_pos = align(m_put_pos, Alignement);
|
||||
if (aligned_put_pos + alloc_size < m_size)
|
||||
|
||||
@@ -20,7 +20,7 @@ D3D12_BLEND_OP get_blend_op(rsx::blend_equation op)
|
||||
case rsx::blend_equation::reverse_substract_signed:
|
||||
break;
|
||||
}
|
||||
fmt::throw_exception("Invalid or unsupported blend op (0x%x)" HERE, (u32)op);
|
||||
fmt::throw_exception("Unknown or unsupported blend op (0x%x)" HERE, (u32)op);
|
||||
}
|
||||
|
||||
D3D12_BLEND get_blend_factor(rsx::blend_factor factor)
|
||||
@@ -45,7 +45,7 @@ D3D12_BLEND get_blend_factor(rsx::blend_factor factor)
|
||||
case rsx::blend_factor::one_minus_constant_alpha:
|
||||
return D3D12_BLEND_INV_BLEND_FACTOR;
|
||||
}
|
||||
fmt::throw_exception("Invalid blend factor (0x%x)" HERE, (u32)factor);
|
||||
fmt::throw_exception("Unknown blend factor (0x%x)" HERE, (u32)factor);
|
||||
}
|
||||
|
||||
D3D12_BLEND get_blend_factor_alpha(rsx::blend_factor factor)
|
||||
@@ -70,7 +70,7 @@ D3D12_BLEND get_blend_factor_alpha(rsx::blend_factor factor)
|
||||
case rsx::blend_factor::one_minus_constant_alpha:
|
||||
return D3D12_BLEND_INV_BLEND_FACTOR;
|
||||
}
|
||||
fmt::throw_exception("Invalid blend alpha factor (0x%x)" HERE, (u32)factor);
|
||||
fmt::throw_exception("Unknown blend alpha factor (0x%x)" HERE, (u32)factor);
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -96,7 +96,7 @@ D3D12_LOGIC_OP get_logic_op(rsx::logic_op op)
|
||||
case rsx::logic_op::logic_or_inverted: return D3D12_LOGIC_OP_OR_INVERTED;
|
||||
case rsx::logic_op::logic_nand: return D3D12_LOGIC_OP_NAND;
|
||||
}
|
||||
fmt::throw_exception("Invalid logic op (0x%x)" HERE, (u32)op);
|
||||
fmt::throw_exception("Unknown logic op (0x%x)" HERE, (u32)op);
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -115,7 +115,7 @@ D3D12_STENCIL_OP get_stencil_op(rsx::stencil_op op)
|
||||
case rsx::stencil_op::incr_wrap: return D3D12_STENCIL_OP_INCR;
|
||||
case rsx::stencil_op::decr_wrap: return D3D12_STENCIL_OP_DECR;
|
||||
}
|
||||
fmt::throw_exception("Invalid stencil op (0x%x)" HERE, (u32)op);
|
||||
fmt::throw_exception("Unknown stencil op (0x%x)" HERE, (u32)op);
|
||||
}
|
||||
|
||||
D3D12_COMPARISON_FUNC get_compare_func(rsx::comparison_function op)
|
||||
@@ -131,7 +131,7 @@ D3D12_COMPARISON_FUNC get_compare_func(rsx::comparison_function op)
|
||||
case rsx::comparison_function::greater_or_equal: return D3D12_COMPARISON_FUNC_GREATER_EQUAL;
|
||||
case rsx::comparison_function::always: return D3D12_COMPARISON_FUNC_ALWAYS;
|
||||
}
|
||||
fmt::throw_exception("Invalid or unsupported compare func (0x%x)" HERE, (u32)op);
|
||||
fmt::throw_exception("Unknown compare func (0x%x)" HERE, (u32)op);
|
||||
}
|
||||
|
||||
DXGI_FORMAT get_texture_format(u8 format)
|
||||
@@ -167,9 +167,8 @@ DXGI_FORMAT get_texture_format(u8 format)
|
||||
case CELL_GCM_TEXTURE_COMPRESSED_HILO_S8: return DXGI_FORMAT_R8G8_SNORM;
|
||||
case ~(CELL_GCM_TEXTURE_LN | CELL_GCM_TEXTURE_UN) & CELL_GCM_TEXTURE_COMPRESSED_B8R8_G8R8: return DXGI_FORMAT_G8R8_G8B8_UNORM;
|
||||
case ~(CELL_GCM_TEXTURE_LN | CELL_GCM_TEXTURE_UN) & CELL_GCM_TEXTURE_COMPRESSED_R8B8_R8G8: return DXGI_FORMAT_R8G8_B8G8_UNORM;
|
||||
break;
|
||||
}
|
||||
fmt::throw_exception("Invalid or unsupported texture format (0x%x)" HERE, (u32)format);
|
||||
fmt::throw_exception("Unknown texture format (0x%x)" HERE, (u32)format);
|
||||
}
|
||||
|
||||
UINT get_texture_max_aniso(rsx::texture_max_anisotropy aniso)
|
||||
@@ -185,7 +184,7 @@ UINT get_texture_max_aniso(rsx::texture_max_anisotropy aniso)
|
||||
case rsx::texture_max_anisotropy::x12: return 12;
|
||||
case rsx::texture_max_anisotropy::x16: return 16;
|
||||
}
|
||||
fmt::throw_exception("Invalid texture max aniso (0x%x)" HERE, (u32)aniso);
|
||||
fmt::throw_exception("Unknown texture max aniso (0x%x)" HERE, (u32)aniso);
|
||||
}
|
||||
|
||||
D3D12_TEXTURE_ADDRESS_MODE get_texture_wrap_mode(rsx::texture_wrap_mode wrap)
|
||||
@@ -201,7 +200,7 @@ D3D12_TEXTURE_ADDRESS_MODE get_texture_wrap_mode(rsx::texture_wrap_mode wrap)
|
||||
case rsx::texture_wrap_mode::mirror_once_border: return D3D12_TEXTURE_ADDRESS_MODE_MIRROR_ONCE;
|
||||
case rsx::texture_wrap_mode::mirror_once_clamp: return D3D12_TEXTURE_ADDRESS_MODE_MIRROR_ONCE;
|
||||
}
|
||||
fmt::throw_exception("Invalid texture wrap mode (0x%x)" HERE, (u32)wrap);
|
||||
fmt::throw_exception("Unknown texture wrap mode (0x%x)" HERE, (u32)wrap);
|
||||
}
|
||||
|
||||
namespace
|
||||
@@ -239,7 +238,7 @@ namespace
|
||||
mip = D3D12_FILTER_TYPE_POINT;
|
||||
return;
|
||||
}
|
||||
fmt::throw_exception("Invalid max filter" HERE);
|
||||
fmt::throw_exception("Unknown max filter" HERE);
|
||||
}
|
||||
|
||||
D3D12_FILTER_TYPE get_mag_filter(rsx::texture_magnify_filter mag_filter)
|
||||
@@ -250,7 +249,7 @@ namespace
|
||||
case rsx::texture_magnify_filter::linear: return D3D12_FILTER_TYPE_LINEAR;
|
||||
case rsx::texture_magnify_filter::convolution_mag: return D3D12_FILTER_TYPE_LINEAR;
|
||||
}
|
||||
fmt::throw_exception("Invalid mag filter" HERE);
|
||||
fmt::throw_exception("Unknown mag filter" HERE);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -277,7 +276,7 @@ D3D12_PRIMITIVE_TOPOLOGY get_primitive_topology(rsx::primitive_type draw_mode)
|
||||
case rsx::primitive_type::quad_strip: return D3D_PRIMITIVE_TOPOLOGY_TRIANGLELIST;
|
||||
case rsx::primitive_type::polygon: return D3D_PRIMITIVE_TOPOLOGY_TRIANGLELIST;
|
||||
}
|
||||
fmt::throw_exception("Invalid draw mode (0x%x)" HERE, (u32)draw_mode);
|
||||
fmt::throw_exception("Unknown draw mode (0x%x)" HERE, (u32)draw_mode);
|
||||
}
|
||||
|
||||
D3D12_PRIMITIVE_TOPOLOGY_TYPE get_primitive_topology_type(rsx::primitive_type draw_mode)
|
||||
@@ -295,7 +294,7 @@ D3D12_PRIMITIVE_TOPOLOGY_TYPE get_primitive_topology_type(rsx::primitive_type dr
|
||||
case rsx::primitive_type::polygon: return D3D12_PRIMITIVE_TOPOLOGY_TYPE_TRIANGLE;
|
||||
case rsx::primitive_type::line_loop: return D3D12_PRIMITIVE_TOPOLOGY_TYPE_LINE;
|
||||
}
|
||||
fmt::throw_exception("Invalid or unsupported draw mode (0x%x)" HERE, (u32)draw_mode);
|
||||
fmt::throw_exception("Unknown draw mode (0x%x)" HERE, (u32)draw_mode);
|
||||
}
|
||||
|
||||
DXGI_FORMAT get_color_surface_format(rsx::surface_color_format format)
|
||||
@@ -318,7 +317,7 @@ DXGI_FORMAT get_color_surface_format(rsx::surface_color_format format)
|
||||
case rsx::surface_color_format::w32z32y32x32: return DXGI_FORMAT_R32G32B32A32_FLOAT;
|
||||
case rsx::surface_color_format::x32: return DXGI_FORMAT_R32_FLOAT;
|
||||
}
|
||||
fmt::throw_exception("Invalid format (0x%x)" HERE, (u32)format);
|
||||
fmt::throw_exception("Unknown format (0x%x)" HERE, (u32)format);
|
||||
}
|
||||
|
||||
DXGI_FORMAT get_depth_stencil_surface_format(rsx::surface_depth_format format)
|
||||
@@ -328,7 +327,7 @@ DXGI_FORMAT get_depth_stencil_surface_format(rsx::surface_depth_format format)
|
||||
case rsx::surface_depth_format::z16: return DXGI_FORMAT_D16_UNORM;
|
||||
case rsx::surface_depth_format::z24s8: return DXGI_FORMAT_D24_UNORM_S8_UINT;
|
||||
}
|
||||
fmt::throw_exception("Invalid format (0x%x)" HERE, (u32)format);
|
||||
fmt::throw_exception("Unknown format (0x%x)" HERE, (u32)format);
|
||||
}
|
||||
|
||||
DXGI_FORMAT get_depth_stencil_surface_clear_format(rsx::surface_depth_format format)
|
||||
@@ -338,7 +337,7 @@ DXGI_FORMAT get_depth_stencil_surface_clear_format(rsx::surface_depth_format for
|
||||
case rsx::surface_depth_format::z16: return DXGI_FORMAT_D16_UNORM;
|
||||
case rsx::surface_depth_format::z24s8: return DXGI_FORMAT_D24_UNORM_S8_UINT;
|
||||
}
|
||||
fmt::throw_exception("Invalid format (0x%x)" HERE, (u32)format);
|
||||
fmt::throw_exception("Unknown format (0x%x)" HERE, (u32)format);
|
||||
}
|
||||
|
||||
DXGI_FORMAT get_depth_stencil_typeless_surface_format(rsx::surface_depth_format format)
|
||||
@@ -348,7 +347,7 @@ DXGI_FORMAT get_depth_stencil_typeless_surface_format(rsx::surface_depth_format
|
||||
case rsx::surface_depth_format::z16: return DXGI_FORMAT_R16_TYPELESS;
|
||||
case rsx::surface_depth_format::z24s8: return DXGI_FORMAT_R24G8_TYPELESS;
|
||||
}
|
||||
fmt::throw_exception("Invalid format (0x%x)" HERE, (u32)format);
|
||||
fmt::throw_exception("Unknown format (0x%x)" HERE, (u32)format);
|
||||
}
|
||||
|
||||
DXGI_FORMAT get_depth_samplable_surface_format(rsx::surface_depth_format format)
|
||||
@@ -358,7 +357,7 @@ DXGI_FORMAT get_depth_samplable_surface_format(rsx::surface_depth_format format)
|
||||
case rsx::surface_depth_format::z16: return DXGI_FORMAT_R16_UNORM;
|
||||
case rsx::surface_depth_format::z24s8: return DXGI_FORMAT_R24_UNORM_X8_TYPELESS;
|
||||
}
|
||||
fmt::throw_exception("Invalid format (0x%x)" HERE, (u32)format);
|
||||
fmt::throw_exception("Unknown format (0x%x)" HERE, (u32)format);
|
||||
}
|
||||
|
||||
BOOL get_front_face_ccw(rsx::front_face ffv)
|
||||
@@ -368,7 +367,7 @@ BOOL get_front_face_ccw(rsx::front_face ffv)
|
||||
case rsx::front_face::cw: return FALSE;
|
||||
case rsx::front_face::ccw: return TRUE;
|
||||
}
|
||||
fmt::throw_exception("Invalid front face value (0x%x)" HERE, (u32)ffv);
|
||||
fmt::throw_exception("Unknown front face value (0x%x)" HERE, (u32)ffv);
|
||||
}
|
||||
|
||||
D3D12_CULL_MODE get_cull_face(rsx::cull_face cfv)
|
||||
@@ -379,7 +378,7 @@ D3D12_CULL_MODE get_cull_face(rsx::cull_face cfv)
|
||||
case rsx::cull_face::back: return D3D12_CULL_MODE_BACK;
|
||||
case rsx::cull_face::front_and_back: return D3D12_CULL_MODE_NONE;
|
||||
}
|
||||
fmt::throw_exception("Invalid cull face value (0x%x)" HERE, (u32)cfv);
|
||||
fmt::throw_exception("Unknown cull face value (0x%x)" HERE, (u32)cfv);
|
||||
}
|
||||
|
||||
DXGI_FORMAT get_index_type(rsx::index_array_type index_type)
|
||||
@@ -389,7 +388,7 @@ DXGI_FORMAT get_index_type(rsx::index_array_type index_type)
|
||||
case rsx::index_array_type::u16: return DXGI_FORMAT_R16_UINT;
|
||||
case rsx::index_array_type::u32: return DXGI_FORMAT_R32_UINT;
|
||||
}
|
||||
fmt::throw_exception("Invalid index_type (0x%x)" HERE, (u32)index_type);
|
||||
fmt::throw_exception("Unknown index_type (0x%x)" HERE, (u32)index_type);
|
||||
}
|
||||
|
||||
DXGI_FORMAT get_vertex_attribute_format(rsx::vertex_base_type type, u8 size)
|
||||
@@ -468,7 +467,7 @@ DXGI_FORMAT get_vertex_attribute_format(rsx::vertex_base_type type, u8 size)
|
||||
}
|
||||
}
|
||||
|
||||
fmt::throw_exception("Invalid or unsupported type or size (type=0x%x, size=0x%x)" HERE, (u32)type, size);
|
||||
fmt::throw_exception("Unknown or unsupported type or size (type=0x%x, size=0x%x)" HERE, (u32)type, size);
|
||||
}
|
||||
|
||||
D3D12_RECT get_scissor(u16 clip_origin_x, u16 clip_origin_y, u16 clip_w, u16 clip_h)
|
||||
|
||||
@@ -19,15 +19,15 @@ class GSRender;
|
||||
|
||||
#define CMD_DEBUG 0
|
||||
|
||||
cfg::bool_entry g_cfg_rsx_write_color_buffers(cfg::root.video, "Write Color Buffers");
|
||||
cfg::bool_entry g_cfg_rsx_write_depth_buffer(cfg::root.video, "Write Depth Buffer");
|
||||
cfg::bool_entry g_cfg_rsx_read_color_buffers(cfg::root.video, "Read Color Buffers");
|
||||
cfg::bool_entry g_cfg_rsx_read_depth_buffer(cfg::root.video, "Read Depth Buffer");
|
||||
cfg::bool_entry g_cfg_rsx_write_color_buffers(cfg::root.video, "Write color buffers");
|
||||
cfg::bool_entry g_cfg_rsx_write_depth_buffer(cfg::root.video, "Write depth buffer");
|
||||
cfg::bool_entry g_cfg_rsx_read_color_buffers(cfg::root.video, "Read color buffers");
|
||||
cfg::bool_entry g_cfg_rsx_read_depth_buffer(cfg::root.video, "Read depth buffer");
|
||||
cfg::bool_entry g_cfg_rsx_log_programs(cfg::root.video, "Log shader programs");
|
||||
cfg::bool_entry g_cfg_rsx_vsync(cfg::root.video, "VSync");
|
||||
cfg::bool_entry g_cfg_rsx_debug_output(cfg::root.video, "Debug output");
|
||||
cfg::bool_entry g_cfg_rsx_overlay(cfg::root.video, "Debug overlay");
|
||||
cfg::bool_entry g_cfg_rsx_gl_legacy_buffers(cfg::root.video, "Use Legacy OpenGL Buffers (Debug)");
|
||||
cfg::bool_entry g_cfg_rsx_gl_legacy_buffers(cfg::root.video, "Use legacy OpenGL buffers (Debug)");
|
||||
|
||||
bool user_asked_for_frame_capture = false;
|
||||
rsx::frame_capture_data frame_debug;
|
||||
|
||||
@@ -966,6 +966,7 @@ rsx::blit_engine::context_dma rsx::blit_engine::to_context_dma(u32 in)
|
||||
{
|
||||
switch (in)
|
||||
{
|
||||
case CELL_GCM_CONTEXT_DMA_MEMORY_HOST_BUFFER: return rsx::blit_engine::context_dma::memory_host_buffer; //Killzone 2
|
||||
case CELL_GCM_CONTEXT_DMA_TO_MEMORY_GET_REPORT: return rsx::blit_engine::context_dma::to_memory_get_report;
|
||||
case CELL_GCM_CONTEXT_DMA_REPORT_LOCATION_MAIN: return rsx::blit_engine::context_dma::report_location_main;
|
||||
}
|
||||
|
||||
@@ -374,6 +374,7 @@ namespace rsx
|
||||
|
||||
enum class context_dma : u8
|
||||
{
|
||||
memory_host_buffer,
|
||||
to_memory_get_report,
|
||||
report_location_main,
|
||||
};
|
||||
|
||||
@@ -16,10 +16,10 @@
|
||||
cfg::map_entry<double> g_cfg_rsx_frame_limit(cfg::root.video, "Frame limit",
|
||||
{
|
||||
{ "Off", 0. },
|
||||
{ "59.94", 59.94 },
|
||||
{ "50", 50. },
|
||||
{ "60", 60. },
|
||||
{ "30", 30. },
|
||||
{ "50", 50. },
|
||||
{ "59.94", 59.94 },
|
||||
{ "60", 60. },
|
||||
{ "Auto", -1. },
|
||||
});
|
||||
|
||||
@@ -31,7 +31,7 @@ namespace rsx
|
||||
|
||||
[[noreturn]] void invalid_method(thread*, u32 _reg, u32 arg)
|
||||
{
|
||||
fmt::throw_exception("Invalid RSX method 0x%x (arg=0x%x)" HERE, _reg << 2, arg);
|
||||
LOG_ERROR( RSX, "Invalid RSX method 0x%x (arg=0x%x)" HERE, _reg << 2, arg);
|
||||
}
|
||||
|
||||
template<typename Type> struct vertex_data_type_from_element_type;
|
||||
@@ -285,6 +285,7 @@ namespace rsx
|
||||
|
||||
switch (report_dma)
|
||||
{
|
||||
case blit_engine::context_dma::memory_host_buffer: location = CELL_GCM_LOCATION_MAIN; break;
|
||||
case blit_engine::context_dma::to_memory_get_report: location = CELL_GCM_LOCATION_LOCAL; break;
|
||||
case blit_engine::context_dma::report_location_main: location = CELL_GCM_LOCATION_MAIN; break;
|
||||
default:
|
||||
|
||||
@@ -26,7 +26,7 @@ public:
|
||||
t_name->SetForegroundColour(wxColor(255, 255, 255));
|
||||
t_name->SetPosition(wxPoint(10, 6));
|
||||
|
||||
wxStaticText* t_descr = new wxStaticText(this, wxID_ANY, "PS3 emulator and debugger.");
|
||||
wxStaticText* t_descr = new wxStaticText(this, wxID_ANY, "A Playstation 3 emulator and debugger.");
|
||||
t_descr->SetBackgroundColour(wxColor(100, 100, 100));
|
||||
t_descr->SetForegroundColour(wxColor(255, 255, 255));
|
||||
t_descr->SetPosition(wxPoint(12, 50));
|
||||
@@ -63,7 +63,7 @@ public:
|
||||
s_panel_buttons->AddStretchSpacer();
|
||||
s_panel_buttons->Add(b_forum, 16, 0, 5);
|
||||
s_panel_buttons->AddStretchSpacer(20);
|
||||
s_panel_buttons->Add(new wxButton(this, wxID_OK), 16, 0, 5);
|
||||
s_panel_buttons->Add(new wxButton(this, wxID_OK, "Close") , 16, 0, 5);
|
||||
s_panel_buttons->AddSpacer(12);
|
||||
|
||||
//Panels
|
||||
|
||||
@@ -5,13 +5,13 @@
|
||||
|
||||
//TODO::Get the enable configuration from ini.
|
||||
AutoPauseManagerDialog::AutoPauseManagerDialog(wxWindow* parent)
|
||||
: wxDialog(parent, wxID_ANY, "Auto Pause Manager")
|
||||
: wxDialog(parent, wxID_ANY, "Automatic pause settings")
|
||||
{
|
||||
SetMinSize(wxSize(400, 360));
|
||||
|
||||
wxBoxSizer* s_main = new wxBoxSizer(wxVERTICAL);
|
||||
|
||||
wxStaticText* s_description = new wxStaticText(this, wxID_ANY, "To use auto pause: enter the ID(s) of a function or a system call. Restart of the game is required to apply. You can enable/disable this in the settings.", wxDefaultPosition, wxDefaultSize, 0);
|
||||
wxStaticText* s_description = new wxStaticText(this, wxID_ANY, "To use auto pause: enter the ID(s) of a function or a system call. You must restart your emulated game or application for changed settings to take effect. You can enable/disable this in the settings.", wxDefaultPosition, wxDefaultSize, 0);
|
||||
s_description->Wrap(400);
|
||||
s_main->Add(s_description, 0, wxALL, 5);
|
||||
|
||||
@@ -114,11 +114,11 @@ void AutoPauseManagerDialog::UpdateList(void)
|
||||
|
||||
if (m_entries[i] < 1024)
|
||||
{
|
||||
m_list->SetItem(i, 1, "System Call");
|
||||
m_list->SetItem(i, 1, "System call");
|
||||
}
|
||||
else
|
||||
{
|
||||
m_list->SetItem(i, 1, "Function Call");
|
||||
m_list->SetItem(i, 1, "Function call");
|
||||
}
|
||||
}
|
||||
m_list->SetColumnWidth(0, wxLIST_AUTOSIZE_USEHEADER);
|
||||
@@ -176,7 +176,7 @@ void AutoPauseManagerDialog::OnRemove(wxCommandEvent& event)
|
||||
void AutoPauseManagerDialog::OnSave(wxCommandEvent& event)
|
||||
{
|
||||
SaveEntries();
|
||||
LOG_SUCCESS(HLE,"Auto Pause: File pause.bin was updated.");
|
||||
LOG_SUCCESS(HLE,"Automatic pause: file pause.bin was updated.");
|
||||
//event.Skip();
|
||||
}
|
||||
|
||||
@@ -193,7 +193,7 @@ void AutoPauseManagerDialog::OnReload(wxCommandEvent& event)
|
||||
}
|
||||
|
||||
AutoPauseSettingsDialog::AutoPauseSettingsDialog(wxWindow* parent, u32 *entry)
|
||||
: wxDialog(parent, wxID_ANY, "Auto Pause Setting")
|
||||
: wxDialog(parent, wxID_ANY, "Automatic pause Setting")
|
||||
, m_presult(entry)
|
||||
{
|
||||
m_entry = *m_presult;
|
||||
@@ -202,7 +202,7 @@ AutoPauseSettingsDialog::AutoPauseSettingsDialog(wxWindow* parent, u32 *entry)
|
||||
|
||||
wxBoxSizer* s_main = new wxBoxSizer(wxVERTICAL);
|
||||
|
||||
wxStaticText* s_description = new wxStaticText(this, wxID_ANY, "Specify ID of System Call or Function Call below. You need to use a Hexadecimal ID.", wxDefaultPosition, wxDefaultSize, 0);
|
||||
wxStaticText* s_description = new wxStaticText(this, wxID_ANY, "Specify ID of system call or function call below. You need to use a hexadecimal ID.", wxDefaultPosition, wxDefaultSize, 0);
|
||||
s_description->Wrap(400);
|
||||
s_main->Add(s_description, 0, wxALL, 5);
|
||||
|
||||
@@ -220,7 +220,7 @@ AutoPauseSettingsDialog::AutoPauseSettingsDialog(wxWindow* parent, u32 *entry)
|
||||
|
||||
m_id->SetValue(fmt::format("%08x", m_entry));
|
||||
|
||||
SetTitle("Auto Pause Setting: " + m_id->GetValue());
|
||||
SetTitle("Automatic pause setting: " + m_id->GetValue());
|
||||
|
||||
Bind(wxEVT_BUTTON, &AutoPauseSettingsDialog::OnOk, this, wxID_OK);
|
||||
Bind(wxEVT_TEXT, &AutoPauseSettingsDialog::OnUpdateValue, this, wxID_STATIC);
|
||||
|
||||
@@ -10,13 +10,13 @@ BEGIN_EVENT_TABLE(CgDisasm, wxFrame)
|
||||
END_EVENT_TABLE()
|
||||
|
||||
CgDisasm::CgDisasm(wxWindow* parent)
|
||||
: wxFrame(parent, wxID_ANY, "Cg Disasm", wxDefaultPosition, wxSize(640, 480))
|
||||
: wxFrame(parent, wxID_ANY, "Cg disassembler", wxDefaultPosition, wxSize(640, 480))
|
||||
{
|
||||
wxMenuBar* menubar = new wxMenuBar();
|
||||
|
||||
wxMenu* menu_general = new wxMenu();
|
||||
menubar->Append(menu_general, "&Open");
|
||||
menu_general->Append(id_open_file, "Open &Cg binary program");
|
||||
menubar->Append(menu_general, "&File");
|
||||
menu_general->Append(id_open_file, "Open &Cg binary");
|
||||
|
||||
wxNotebook* nb_cg = new wxNotebook(this, wxID_ANY);
|
||||
wxPanel* p_cg_disasm = new wxPanel(nb_cg, wxID_ANY);
|
||||
|
||||
@@ -8,7 +8,7 @@ protected:
|
||||
FrameBase(
|
||||
wxWindow* parent,
|
||||
wxWindowID id = wxID_ANY,
|
||||
const wxString& frame_name = "UnknownFrame",
|
||||
const wxString& frame_name = "Unknown frame",
|
||||
const std::string& ini_name = {},
|
||||
wxSize defsize = wxDefaultSize,
|
||||
wxPoint defposition = wxDefaultPosition,
|
||||
|
||||
@@ -8,7 +8,7 @@
|
||||
|
||||
#include <algorithm>
|
||||
|
||||
static const std::string m_class_name = "GameViewer";
|
||||
static const std::string m_class_name = "Game viewer";
|
||||
|
||||
// Auxiliary classes
|
||||
class sortGameData
|
||||
@@ -210,7 +210,7 @@ void GameViewer::RightClick(wxListEvent& event)
|
||||
#endif
|
||||
m_popup->Append(boot_item);
|
||||
m_popup->Append(1, _T("Configure"));
|
||||
m_popup->Append(2, _T("Remove Game"));
|
||||
m_popup->Append(2, _T("Remove game"));
|
||||
|
||||
Bind(wxEVT_MENU, &GameViewer::BootGame, this, 0);
|
||||
Bind(wxEVT_MENU, &GameViewer::ConfigureGame, this, 1);
|
||||
@@ -288,12 +288,12 @@ void ColumnsArr::Init()
|
||||
m_img_list = new wxImageList(80, 44);
|
||||
|
||||
m_columns.clear();
|
||||
m_columns.emplace_back(0, 90, "Icon");
|
||||
m_columns.emplace_back(0, 90, "");
|
||||
m_columns.emplace_back(1, 160, "Name");
|
||||
m_columns.emplace_back(2, 85, "Serial");
|
||||
m_columns.emplace_back(3, 55, "FW");
|
||||
m_columns.emplace_back(4, 55, "App version");
|
||||
m_columns.emplace_back(5, 75, "Category");
|
||||
m_columns.emplace_back(3, 60, "Min. FW");
|
||||
m_columns.emplace_back(4, 80, "Soft. version");
|
||||
m_columns.emplace_back(5, 75, "Soft. type");
|
||||
m_columns.emplace_back(6, 160, "Path");
|
||||
m_col_icon = &m_columns[0];
|
||||
m_col_name = &m_columns[1];
|
||||
|
||||
@@ -49,8 +49,8 @@ InterpreterDisAsmFrame::InterpreterDisAsmFrame(wxWindow* parent)
|
||||
m_list = new wxListView(this);
|
||||
m_choice_units = new wxChoice(this, wxID_ANY);
|
||||
|
||||
wxButton* b_go_to_addr = new wxButton(this, wxID_ANY, "Go To Address");
|
||||
wxButton* b_go_to_pc = new wxButton(this, wxID_ANY, "Go To PC");
|
||||
wxButton* b_go_to_addr = new wxButton(this, wxID_ANY, "Go to address");
|
||||
wxButton* b_go_to_pc = new wxButton(this, wxID_ANY, "Go to PC");
|
||||
|
||||
m_btn_step = new wxButton(this, wxID_ANY, "Step");
|
||||
m_btn_run = new wxButton(this, wxID_ANY, "Run");
|
||||
|
||||
@@ -23,7 +23,7 @@
|
||||
#include "KernelExplorer.h"
|
||||
|
||||
KernelExplorer::KernelExplorer(wxWindow* parent)
|
||||
: wxDialog(parent, wxID_ANY, "Kernel Explorer", wxDefaultPosition, wxSize(700, 450))
|
||||
: wxDialog(parent, wxID_ANY, "Kernel explorer", wxDefaultPosition, wxSize(700, 450))
|
||||
{
|
||||
this->SetBackgroundColour(wxColour(240,240,240)); //This fix the ugly background color under Windows
|
||||
wxBoxSizer* s_panel = new wxBoxSizer(wxVERTICAL);
|
||||
@@ -59,7 +59,7 @@ void KernelExplorer::Update()
|
||||
m_tree->DeleteAllItems();
|
||||
const u32 total_memory_usage = vm::get(vm::user_space)->used();
|
||||
|
||||
const auto& root = m_tree->AddRoot(fmt::format("Process, ID = 0x00000001, Total Memory Usage = 0x%x (%0.2f MB)", total_memory_usage, (float)total_memory_usage / (1024 * 1024)));
|
||||
const auto& root = m_tree->AddRoot(fmt::format("Process, ID = 0x00000001, Total memory usage = 0x%x (%0.2f MB)", total_memory_usage, (float)total_memory_usage / (1024 * 1024)));
|
||||
|
||||
union name64
|
||||
{
|
||||
@@ -86,7 +86,7 @@ void KernelExplorer::Update()
|
||||
|
||||
idm::select<lv2_sema_t>([&](u32 id, lv2_sema_t& sema)
|
||||
{
|
||||
m_tree->AppendItem(node, fmt::format("Semaphore: ID = 0x%08x '%s', Count = %d, Max Count = %d, Waiters = %#zu", id,
|
||||
m_tree->AppendItem(node, fmt::format("Semaphore: ID = 0x%08x '%s', Count = %d, Max count = %d, Waiters = %#zu", id,
|
||||
&name64(sema.name), sema.value.load(), sema.max, sema.sq.size()));
|
||||
});
|
||||
}
|
||||
@@ -106,7 +106,7 @@ void KernelExplorer::Update()
|
||||
// Lightweight Mutexes
|
||||
if (const u32 count = idm::get_count<lv2_lwmutex_t>())
|
||||
{
|
||||
const auto& node = m_tree->AppendItem(root, fmt::format("Lightweight Mutexes (%zu)", count));
|
||||
const auto& node = m_tree->AppendItem(root, fmt::format("Lightweight mutexes (%zu)", count));
|
||||
|
||||
idm::select<lv2_lwmutex_t>([&](u32 id, lv2_lwmutex_t& lwm)
|
||||
{
|
||||
@@ -118,7 +118,7 @@ void KernelExplorer::Update()
|
||||
// Condition Variables
|
||||
if (const u32 count = idm::get_count<lv2_cond_t>())
|
||||
{
|
||||
const auto& node = m_tree->AppendItem(root, fmt::format("Condition Variables (%zu)", count));
|
||||
const auto& node = m_tree->AppendItem(root, fmt::format("Condition variables (%zu)", count));
|
||||
|
||||
idm::select<lv2_cond_t>([&](u32 id, lv2_cond_t& cond)
|
||||
{
|
||||
@@ -130,7 +130,7 @@ void KernelExplorer::Update()
|
||||
// Lightweight Condition Variables
|
||||
if (const u32 count = idm::get_count<lv2_lwcond_t>())
|
||||
{
|
||||
const auto& node = m_tree->AppendItem(root, fmt::format("Lightweight Condition Variables (%zu)", count));
|
||||
const auto& node = m_tree->AppendItem(root, fmt::format("Lightweight condition variables (%zu)", count));
|
||||
|
||||
idm::select<lv2_lwcond_t>([&](u32 id, lv2_lwcond_t& lwc)
|
||||
{
|
||||
@@ -146,7 +146,7 @@ void KernelExplorer::Update()
|
||||
|
||||
idm::select<lv2_event_queue_t>([&](u32 id, lv2_event_queue_t& eq)
|
||||
{
|
||||
m_tree->AppendItem(node, fmt::format("Event Queue: ID = 0x%08x '%s', %s, Key = %#llx, Events = %zu/%d, Waiters = %zu", id,
|
||||
m_tree->AppendItem(node, fmt::format("Event queue: ID = 0x%08x '%s', %s, Key = %#llx, Events = %zu/%d, Waiters = %zu", id,
|
||||
&name64(eq.name), eq.type == SYS_SPU_QUEUE ? "SPU" : "PPU", eq.ipc_key, eq.events(), eq.size, eq.waiters()));
|
||||
});
|
||||
}
|
||||
@@ -154,7 +154,7 @@ void KernelExplorer::Update()
|
||||
// Event Ports
|
||||
if (const u32 count = idm::get_count<lv2_event_port_t>())
|
||||
{
|
||||
const auto& node = m_tree->AppendItem(root, fmt::format("Event Ports (%zu)", count));
|
||||
const auto& node = m_tree->AppendItem(root, fmt::format("Event ports (%zu)", count));
|
||||
|
||||
idm::select<lv2_event_port_t>([&](u32 id, lv2_event_port_t& ep)
|
||||
{
|
||||
@@ -166,11 +166,11 @@ void KernelExplorer::Update()
|
||||
// Event Flags
|
||||
if (const u32 count = idm::get_count<lv2_event_flag_t>())
|
||||
{
|
||||
const auto& node = m_tree->AppendItem(root, fmt::format("Event Flags (%zu)", count));
|
||||
const auto& node = m_tree->AppendItem(root, fmt::format("Event flags (%zu)", count));
|
||||
|
||||
idm::select<lv2_event_flag_t>([&](u32 id, lv2_event_flag_t& ef)
|
||||
{
|
||||
m_tree->AppendItem(node, fmt::format("Event Flag: ID = 0x%08x '%s', Type = 0x%x, Pattern = 0x%llx", id,
|
||||
m_tree->AppendItem(node, fmt::format("Event flag: ID = 0x%08x '%s', Type = 0x%x, Pattern = 0x%llx", id,
|
||||
&name64(ef.name), ef.type, ef.pattern.load()));
|
||||
});
|
||||
}
|
||||
@@ -178,7 +178,7 @@ void KernelExplorer::Update()
|
||||
// Reader/writer Locks
|
||||
if (const u32 count = idm::get_count<lv2_rwlock_t>())
|
||||
{
|
||||
const auto& node = m_tree->AppendItem(root, fmt::format("Reader/writer Locks (%zu)", count));
|
||||
const auto& node = m_tree->AppendItem(root, fmt::format("Reader/writer locks (%zu)", count));
|
||||
|
||||
idm::select<lv2_rwlock_t>([&](u32 id, lv2_rwlock_t&)
|
||||
{
|
||||
@@ -189,7 +189,7 @@ void KernelExplorer::Update()
|
||||
// PRX Libraries
|
||||
if (const u32 count = idm::get_count<lv2_prx_t>())
|
||||
{
|
||||
const auto& node = m_tree->AppendItem(root, fmt::format("PRX Libraries (%zu)", count));
|
||||
const auto& node = m_tree->AppendItem(root, fmt::format("PRX libraries (%zu)", count));
|
||||
|
||||
idm::select<lv2_prx_t>([&](u32 id, lv2_prx_t&)
|
||||
{
|
||||
@@ -200,22 +200,22 @@ void KernelExplorer::Update()
|
||||
// Memory Containers
|
||||
if (const u32 count = idm::get_count<lv2_memory_container>())
|
||||
{
|
||||
const auto& node = m_tree->AppendItem(root, fmt::format("Memory Containers (%zu)", count));
|
||||
const auto& node = m_tree->AppendItem(root, fmt::format("Memory containers (%zu)", count));
|
||||
|
||||
idm::select<lv2_memory_container>([&](u32 id, lv2_memory_container&)
|
||||
{
|
||||
m_tree->AppendItem(node, fmt::format("Memory Container: ID = 0x%08x", id));
|
||||
m_tree->AppendItem(node, fmt::format("Memory container: ID = 0x%08x", id));
|
||||
});
|
||||
}
|
||||
|
||||
// Memory Objects
|
||||
if (const u32 count = idm::get_count<lv2_memory>())
|
||||
{
|
||||
const auto& node = m_tree->AppendItem(root, fmt::format("Memory Objects (%zu)", count));
|
||||
const auto& node = m_tree->AppendItem(root, fmt::format("Memory objects (%zu)", count));
|
||||
|
||||
idm::select<lv2_memory>([&](u32 id, lv2_memory&)
|
||||
{
|
||||
m_tree->AppendItem(node, fmt::format("Memory Object: ID = 0x%08x", id));
|
||||
m_tree->AppendItem(node, fmt::format("Memory object: ID = 0x%08x", id));
|
||||
});
|
||||
}
|
||||
|
||||
@@ -233,11 +233,11 @@ void KernelExplorer::Update()
|
||||
// SPU Thread Groups
|
||||
if (const u32 count = idm::get_count<lv2_spu_group_t>())
|
||||
{
|
||||
const auto& node = m_tree->AppendItem(root, fmt::format("SPU Thread Groups (%d)", count));
|
||||
const auto& node = m_tree->AppendItem(root, fmt::format("SPU Thread groups (%d)", count));
|
||||
|
||||
idm::select<lv2_spu_group_t>([&](u32 id, lv2_spu_group_t& tg)
|
||||
{
|
||||
m_tree->AppendItem(node, fmt::format("SPU Thread Group: ID = 0x%08x '%s'", id,
|
||||
m_tree->AppendItem(node, fmt::format("SPU Thread group: ID = 0x%08x '%s'", id,
|
||||
tg.name.c_str()));
|
||||
});
|
||||
}
|
||||
|
||||
+18
-18
@@ -67,7 +67,7 @@ wxString GetPaneName()
|
||||
}
|
||||
|
||||
MainFrame::MainFrame()
|
||||
: FrameBase(nullptr, wxID_ANY, "", "MainFrame", wxSize(900, 600))
|
||||
: FrameBase(nullptr, wxID_ANY, "", "Main frame", wxSize(900, 600))
|
||||
, m_aui_mgr(this)
|
||||
, m_sys_menu_opened(false)
|
||||
{
|
||||
@@ -77,7 +77,7 @@ MainFrame::MainFrame()
|
||||
wxMenuBar* menubar = new wxMenuBar();
|
||||
|
||||
wxMenu* menu_boot = new wxMenu();
|
||||
menubar->Append(menu_boot, "&Boot");
|
||||
menubar->Append(menu_boot, "&File");
|
||||
menu_boot->Append(id_boot_elf, "Boot &ELF / SELF file");
|
||||
menu_boot->Append(id_boot_game, "Boot &game");
|
||||
menu_boot->AppendSeparator();
|
||||
@@ -90,28 +90,28 @@ MainFrame::MainFrame()
|
||||
menu_sys->Append(id_sys_pause, "&Pause")->Enable(false);
|
||||
menu_sys->Append(id_sys_stop, "&Stop\tCtrl + S")->Enable(false);
|
||||
menu_sys->AppendSeparator();
|
||||
menu_sys->Append(id_sys_send_open_menu, "Send &open system menu cmd")->Enable(false);
|
||||
menu_sys->Append(id_sys_send_open_menu, "Press &PS button")->Enable(false);
|
||||
menu_sys->Append(id_sys_send_exit, "Send &exit cmd")->Enable(false);
|
||||
|
||||
wxMenu* menu_conf = new wxMenu();
|
||||
menubar->Append(menu_conf, "&Config");
|
||||
menu_conf->Append(id_config_emu, "&Settings");
|
||||
menu_conf->Append(id_config_pad, "&PAD Settings");
|
||||
menu_conf->Append(id_config_pad, "&Controller settings");
|
||||
menu_conf->AppendSeparator();
|
||||
menu_conf->Append(id_config_autopause_manager, "&Auto Pause Settings");
|
||||
menu_conf->Append(id_config_autopause_manager, "&Auto pause settings");
|
||||
//menu_conf->AppendSeparator();
|
||||
//menu_conf->Append(id_config_vfs_manager, "Virtual &File System Manager");
|
||||
//menu_conf->Append(id_config_vhdd_manager, "Virtual &HDD Manager");
|
||||
//menu_conf->Append(id_config_savedata_manager, "Save &Data Utility");
|
||||
//menu_conf->Append(id_config_vfs_manager, "Virtual &File system manager");
|
||||
//menu_conf->Append(id_config_vhdd_manager, "Virtual &hard drive manager");
|
||||
//menu_conf->Append(id_config_savedata_manager, "Save &data utility");
|
||||
|
||||
wxMenu* menu_tools = new wxMenu();
|
||||
menubar->Append(menu_tools, "&Tools");
|
||||
//menu_tools->Append(id_tools_compiler, "&ELF Compiler");
|
||||
menu_tools->Append(id_tools_cg_disasm, "&Cg Disasm")->Enable();
|
||||
menu_tools->Append(id_tools_kernel_explorer, "&Kernel Explorer")->Enable(false);
|
||||
menu_tools->Append(id_tools_memory_viewer, "&Memory Viewer")->Enable(false);
|
||||
menu_tools->Append(id_tools_rsx_debugger, "&RSX Debugger")->Enable(false);
|
||||
menu_tools->Append(id_tools_string_search, "&String Search")->Enable(false);
|
||||
//menu_tools->Append(id_tools_compiler, "&ELF compiler");
|
||||
menu_tools->Append(id_tools_cg_disasm, "&Cg disasm")->Enable();
|
||||
menu_tools->Append(id_tools_kernel_explorer, "&Kernel explorer")->Enable(false);
|
||||
menu_tools->Append(id_tools_memory_viewer, "&Memory viewer")->Enable(false);
|
||||
menu_tools->Append(id_tools_rsx_debugger, "&RSX debugger")->Enable(false);
|
||||
menu_tools->Append(id_tools_string_search, "&String search")->Enable(false);
|
||||
menu_tools->AppendSeparator();
|
||||
menu_tools->Append(id_tools_decrypt_sprx_libraries, "&Decrypt SPRX libraries");
|
||||
|
||||
@@ -127,7 +127,7 @@ MainFrame::MainFrame()
|
||||
m_game_viewer = new GameViewer(this);
|
||||
m_debugger_frame = new DebuggerPanel(this);
|
||||
|
||||
AddPane(m_game_viewer, "Game List", wxAUI_DOCK_CENTRE);
|
||||
AddPane(m_game_viewer, "PS3 software", wxAUI_DOCK_CENTRE);
|
||||
AddPane(m_log_frame, "Log", wxAUI_DOCK_BOTTOM);
|
||||
AddPane(m_debugger_frame, "Debugger", wxAUI_DOCK_RIGHT);
|
||||
|
||||
@@ -562,7 +562,7 @@ void MainFrame::UpdateUI(wxCommandEvent& event)
|
||||
// Emulation
|
||||
wxMenuItem& pause = *menubar.FindItem(id_sys_pause);
|
||||
wxMenuItem& stop = *menubar.FindItem(id_sys_stop);
|
||||
pause.SetItemLabel(is_running ? "&Pause\tCtrl + P" : is_ready ? "&Start\tCtrl + E" : "&Resume\tCtrl + E");
|
||||
pause.SetItemLabel(is_running ? "&Pause\tCtrl + P" : is_ready ? "&Start\tCtrl + F" : "&Resume\tCtrl + F");
|
||||
pause.Enable(!is_stopped);
|
||||
stop.Enable(!is_stopped);
|
||||
|
||||
@@ -570,7 +570,7 @@ void MainFrame::UpdateUI(wxCommandEvent& event)
|
||||
wxMenuItem& send_exit = *menubar.FindItem(id_sys_send_exit);
|
||||
wxMenuItem& send_open_menu = *menubar.FindItem(id_sys_send_open_menu);
|
||||
bool enable_commands = !is_stopped;
|
||||
send_open_menu.SetItemLabel(wxString::Format("Send &%s system menu cmd", (m_sys_menu_opened ? "close" : "open")));
|
||||
send_open_menu.SetItemLabel(wxString::Format("Press &PS buton %s", (m_sys_menu_opened ? "close" : "open")));
|
||||
send_open_menu.Enable(enable_commands);
|
||||
send_exit.Enable(enable_commands);
|
||||
|
||||
@@ -597,7 +597,7 @@ void MainFrame::OnKeyDown(wxKeyEvent& event)
|
||||
{
|
||||
switch(event.GetKeyCode())
|
||||
{
|
||||
case 'E': case 'e': if(Emu.IsPaused()) Emu.Resume(); else if(Emu.IsReady()) Emu.Run(); return;
|
||||
case 'F': case 'f': if(Emu.IsPaused()) Emu.Resume(); else if(Emu.IsReady()) Emu.Run(); return;
|
||||
case 'P': case 'p': if(Emu.IsRunning()) Emu.Pause(); return;
|
||||
case 'S': case 's': if(!Emu.IsStopped()) Emu.Stop(); return;
|
||||
case 'R': case 'r': if(!Emu.GetPath().empty()) {Emu.Stop(); Emu.Run();} return;
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
#include "MemoryStringSearcher.h"
|
||||
|
||||
MemoryStringSearcher::MemoryStringSearcher(wxWindow* parent)
|
||||
: wxDialog(parent, wxID_ANY, "String Searcher", wxDefaultPosition, wxSize(545, 64))
|
||||
: wxDialog(parent, wxID_ANY, "String searcher", wxDefaultPosition, wxSize(545, 64))
|
||||
, exit(false)
|
||||
{
|
||||
this->SetBackgroundColour(wxColour(240,240,240));
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
#include "MemoryViewer.h"
|
||||
|
||||
MemoryViewerPanel::MemoryViewerPanel(wxWindow* parent)
|
||||
: wxDialog(parent, wxID_ANY, "Memory Viewer", wxDefaultPosition, wxSize(700, 450))
|
||||
: wxDialog(parent, wxID_ANY, "Memory viewer", wxDefaultPosition, wxSize(700, 450))
|
||||
{
|
||||
exit = false;
|
||||
m_addr = 0;
|
||||
@@ -19,7 +19,7 @@ MemoryViewerPanel::MemoryViewerPanel(wxWindow* parent)
|
||||
wxBoxSizer* s_tools = new wxBoxSizer(wxHORIZONTAL);
|
||||
|
||||
//Tools: Memory Viewer Options
|
||||
wxStaticBoxSizer* s_tools_mem = new wxStaticBoxSizer(wxHORIZONTAL, this, "Memory Viewer Options");
|
||||
wxStaticBoxSizer* s_tools_mem = new wxStaticBoxSizer(wxHORIZONTAL, this, "Memory viewer options");
|
||||
|
||||
wxStaticBoxSizer* s_tools_mem_addr = new wxStaticBoxSizer(wxHORIZONTAL, this, "Address");
|
||||
t_addr = new wxTextCtrl(this, wxID_ANY, "00000000", wxDefaultPosition, wxSize(60, -1), wxTE_PROCESS_ENTER);
|
||||
@@ -46,7 +46,7 @@ MemoryViewerPanel::MemoryViewerPanel(wxWindow* parent)
|
||||
s_tools_mem->Add(s_tools_mem_buttons);
|
||||
|
||||
//Tools: Raw Image Preview Options
|
||||
wxStaticBoxSizer* s_tools_img = new wxStaticBoxSizer(wxHORIZONTAL, this, "Raw Image Preview");
|
||||
wxStaticBoxSizer* s_tools_img = new wxStaticBoxSizer(wxHORIZONTAL, this, "Raw image preview");
|
||||
|
||||
wxStaticBoxSizer* s_tools_img_size = new wxStaticBoxSizer(wxHORIZONTAL, this, "Size");
|
||||
sc_img_size_x = new wxSpinCtrl(this, wxID_ANY, "256", wxDefaultPosition, wxSize(60, -1));
|
||||
@@ -223,7 +223,7 @@ void MemoryViewerPanel::ShowMemory()
|
||||
|
||||
void MemoryViewerPanel::ShowImage(wxWindow* parent, u32 addr, int mode, u32 width, u32 height, bool flipv)
|
||||
{
|
||||
wxString title = wxString::Format("Raw Image @ 0x%x", addr);
|
||||
wxString title = wxString::Format("Raw image @ 0x%x", addr);
|
||||
|
||||
wxDialog* f_image_viewer = new wxDialog(parent, wxID_ANY, title, wxDefaultPosition, wxDefaultSize, wxMINIMIZE_BOX | wxCLOSE_BOX | wxCAPTION | wxCLIP_CHILDREN);
|
||||
f_image_viewer->SetBackgroundColour(wxColour(240,240,240)); //This fix the ugly background color under Windows
|
||||
|
||||
+14
-14
@@ -8,7 +8,7 @@
|
||||
extern KeyboardPadConfig g_kbpad_config;
|
||||
|
||||
PADManager::PADManager(wxWindow* parent)
|
||||
: wxDialog(parent, wxID_ANY, "PAD Settings")
|
||||
: wxDialog(parent, wxID_ANY, "Controller settings")
|
||||
, m_button_id(0)
|
||||
, m_key_pressed(false)
|
||||
{
|
||||
@@ -18,20 +18,20 @@ PADManager::PADManager(wxWindow* parent)
|
||||
wxBoxSizer* s_subpanel = new wxBoxSizer(wxVERTICAL);
|
||||
wxBoxSizer* s_subpanel2 = new wxBoxSizer(wxVERTICAL);
|
||||
|
||||
// Left Analog Stick
|
||||
wxStaticBoxSizer* s_round_stick_l = new wxStaticBoxSizer(wxVERTICAL, this, "Left Analog Stick");
|
||||
// Left analog Stick
|
||||
wxStaticBoxSizer* s_round_stick_l = new wxStaticBoxSizer(wxVERTICAL, this, "Left analog stick");
|
||||
wxBoxSizer* s_subpanel_lstick_1 = new wxBoxSizer(wxVERTICAL);
|
||||
wxBoxSizer* s_subpanel_lstick_2 = new wxBoxSizer(wxHORIZONTAL);
|
||||
wxBoxSizer* s_subpanel_lstick_3 = new wxBoxSizer(wxVERTICAL);
|
||||
|
||||
// D-Pad
|
||||
wxStaticBoxSizer* s_round_pad_controls = new wxStaticBoxSizer(wxVERTICAL, this, "D-Pad");
|
||||
// Directional pad
|
||||
wxStaticBoxSizer* s_round_pad_controls = new wxStaticBoxSizer(wxVERTICAL, this, "Directional pad");
|
||||
wxBoxSizer* s_subpanel_pad_1 = new wxBoxSizer(wxVERTICAL);
|
||||
wxBoxSizer* s_subpanel_pad_2 = new wxBoxSizer(wxHORIZONTAL);
|
||||
wxBoxSizer* s_subpanel_pad_3 = new wxBoxSizer(wxVERTICAL);
|
||||
|
||||
// Left shifts
|
||||
wxStaticBoxSizer* s_round_pad_shifts_l = new wxStaticBoxSizer(wxVERTICAL, this, "Left Shifts");
|
||||
// L buttons
|
||||
wxStaticBoxSizer* s_round_pad_shifts_l = new wxStaticBoxSizer(wxVERTICAL, this, "L buttons");
|
||||
wxStaticBoxSizer* s_round_pad_l1 = new wxStaticBoxSizer(wxVERTICAL, this, "L1");
|
||||
wxStaticBoxSizer* s_round_pad_l2 = new wxStaticBoxSizer(wxVERTICAL, this, "L2");
|
||||
wxStaticBoxSizer* s_round_pad_l3 = new wxStaticBoxSizer(wxVERTICAL, this, "L3");
|
||||
@@ -41,8 +41,8 @@ PADManager::PADManager(wxWindow* parent)
|
||||
wxStaticBoxSizer* s_round_pad_select = new wxStaticBoxSizer(wxVERTICAL, this, "Select");
|
||||
wxStaticBoxSizer* s_round_pad_start = new wxStaticBoxSizer(wxVERTICAL, this, "Start");
|
||||
|
||||
// Right shifts
|
||||
wxStaticBoxSizer* s_round_pad_shifts_r = new wxStaticBoxSizer(wxVERTICAL, this, "Right Shifts");
|
||||
// R buttons
|
||||
wxStaticBoxSizer* s_round_pad_shifts_r = new wxStaticBoxSizer(wxVERTICAL, this, "R buttons");
|
||||
wxStaticBoxSizer* s_round_pad_r1 = new wxStaticBoxSizer(wxVERTICAL, this, "R1");
|
||||
wxStaticBoxSizer* s_round_pad_r2 = new wxStaticBoxSizer(wxVERTICAL, this, "R2");
|
||||
wxStaticBoxSizer* s_round_pad_r3 = new wxStaticBoxSizer(wxVERTICAL, this, "R3");
|
||||
@@ -57,8 +57,8 @@ PADManager::PADManager(wxWindow* parent)
|
||||
wxBoxSizer* s_subpanel_buttons_2 = new wxBoxSizer(wxHORIZONTAL);
|
||||
wxBoxSizer* s_subpanel_buttons_3 = new wxBoxSizer(wxVERTICAL);
|
||||
|
||||
// Right Analog Stick
|
||||
wxStaticBoxSizer* s_round_stick_r = new wxStaticBoxSizer(wxVERTICAL, this, "Right Analog Stick");
|
||||
// Right analog stick
|
||||
wxStaticBoxSizer* s_round_stick_r = new wxStaticBoxSizer(wxVERTICAL, this, "Right analog stick");
|
||||
wxBoxSizer* s_subpanel_rstick_1 = new wxBoxSizer(wxVERTICAL);
|
||||
wxBoxSizer* s_subpanel_rstick_2 = new wxBoxSizer(wxHORIZONTAL);
|
||||
wxBoxSizer* s_subpanel_rstick_3 = new wxBoxSizer(wxVERTICAL);
|
||||
@@ -119,13 +119,13 @@ PADManager::PADManager(wxWindow* parent)
|
||||
s_subpanel_lstick_2->Add(b_right_lstick);
|
||||
s_subpanel_lstick_3->Add(b_down_lstick);
|
||||
|
||||
// D-Pad
|
||||
// Directional pad
|
||||
s_subpanel_pad_1->Add(b_up);
|
||||
s_subpanel_pad_2->Add(b_left);
|
||||
s_subpanel_pad_2->Add(b_right);
|
||||
s_subpanel_pad_3->Add(b_down);
|
||||
|
||||
// Left shifts
|
||||
// L button
|
||||
s_round_pad_l1->Add(b_shift_l1);
|
||||
s_round_pad_l2->Add(b_shift_l2);
|
||||
s_round_pad_l3->Add(b_shift_l3);
|
||||
@@ -134,7 +134,7 @@ PADManager::PADManager(wxWindow* parent)
|
||||
s_round_pad_select->Add(b_select);
|
||||
s_round_pad_start->Add(b_start);
|
||||
|
||||
// Right shifts
|
||||
// R button
|
||||
s_round_pad_r1->Add(b_shift_r1);
|
||||
s_round_pad_r2->Add(b_shift_r2);
|
||||
s_round_pad_r3->Add(b_shift_r3);
|
||||
|
||||
+40
-40
@@ -20,7 +20,7 @@ enum GCMEnumTypes
|
||||
};
|
||||
|
||||
RSXDebugger::RSXDebugger(wxWindow* parent)
|
||||
: wxDialog(parent, wxID_ANY, "RSX Debugger", wxDefaultPosition, wxSize(700, 450))
|
||||
: wxDialog(parent, wxID_ANY, "RSX debugger", wxDefaultPosition, wxSize(700, 450))
|
||||
, m_item_count(37)
|
||||
, m_addr(0x0)
|
||||
, m_cur_texture(0)
|
||||
@@ -33,7 +33,7 @@ RSXDebugger::RSXDebugger(wxWindow* parent)
|
||||
wxBoxSizer* s_tools = new wxBoxSizer(wxVERTICAL);
|
||||
|
||||
// Controls
|
||||
wxStaticBoxSizer* s_controls = new wxStaticBoxSizer(wxHORIZONTAL, this, "RSX Debugger Controls");
|
||||
wxStaticBoxSizer* s_controls = new wxStaticBoxSizer(wxHORIZONTAL, this, "RSX debugger controls");
|
||||
|
||||
// Controls: Address
|
||||
wxStaticBoxSizer* s_controls_addr = new wxStaticBoxSizer(wxHORIZONTAL, this, "Address:");
|
||||
@@ -84,9 +84,9 @@ RSXDebugger::RSXDebugger(wxWindow* parent)
|
||||
wxPanel* p_texture = new wxPanel(nb_rsx, wxID_ANY);
|
||||
wxPanel* p_settings = new wxPanel(nb_rsx, wxID_ANY);
|
||||
|
||||
nb_rsx->AddPage(p_commands, "RSX Commands");
|
||||
nb_rsx->AddPage(p_captured_frame, "Captured Frame");
|
||||
nb_rsx->AddPage(p_captured_draw_calls, "Captured Draw Calls");
|
||||
nb_rsx->AddPage(p_commands, "RSX commands");
|
||||
nb_rsx->AddPage(p_captured_frame, "Captured frame");
|
||||
nb_rsx->AddPage(p_captured_draw_calls, "Capturded draw calls");
|
||||
nb_rsx->AddPage(p_flags, "Flags");
|
||||
|
||||
nb_rsx->AddPage(p_lightning, "Lightning");
|
||||
@@ -177,12 +177,12 @@ RSXDebugger::RSXDebugger(wxWindow* parent)
|
||||
//Buffers
|
||||
wxBoxSizer* s_buffers1 = new wxBoxSizer(wxVERTICAL);
|
||||
wxBoxSizer* s_buffers2 = new wxBoxSizer(wxVERTICAL);
|
||||
wxStaticBoxSizer* s_buffers_colorA = new wxStaticBoxSizer(wxHORIZONTAL, p_buffers, "Color Buffer A");
|
||||
wxStaticBoxSizer* s_buffers_colorB = new wxStaticBoxSizer(wxHORIZONTAL, p_buffers, "Color Buffer B");
|
||||
wxStaticBoxSizer* s_buffers_colorC = new wxStaticBoxSizer(wxHORIZONTAL, p_buffers, "Color Buffer C");
|
||||
wxStaticBoxSizer* s_buffers_colorD = new wxStaticBoxSizer(wxHORIZONTAL, p_buffers, "Color Buffer D");
|
||||
wxStaticBoxSizer* s_buffers_depth = new wxStaticBoxSizer(wxHORIZONTAL, p_buffers, "Depth Buffer");
|
||||
wxStaticBoxSizer* s_buffers_stencil = new wxStaticBoxSizer(wxHORIZONTAL, p_buffers, "Stencil Buffer");
|
||||
wxStaticBoxSizer* s_buffers_colorA = new wxStaticBoxSizer(wxHORIZONTAL, p_buffers, "Color buffer A");
|
||||
wxStaticBoxSizer* s_buffers_colorB = new wxStaticBoxSizer(wxHORIZONTAL, p_buffers, "Color buffer B");
|
||||
wxStaticBoxSizer* s_buffers_colorC = new wxStaticBoxSizer(wxHORIZONTAL, p_buffers, "Color buffer C");
|
||||
wxStaticBoxSizer* s_buffers_colorD = new wxStaticBoxSizer(wxHORIZONTAL, p_buffers, "Color buffer D");
|
||||
wxStaticBoxSizer* s_buffers_depth = new wxStaticBoxSizer(wxHORIZONTAL, p_buffers, "Depth buffer");
|
||||
wxStaticBoxSizer* s_buffers_stencil = new wxStaticBoxSizer(wxHORIZONTAL, p_buffers, "Stencil buffer");
|
||||
wxStaticBoxSizer* s_buffers_text = new wxStaticBoxSizer(wxHORIZONTAL, p_buffers, "Texture");
|
||||
|
||||
//Buffers and textures
|
||||
@@ -790,7 +790,7 @@ void RSXDebugger::GetFlags()
|
||||
LIST_FLAGS_ADD("Stencil test", render->m_set_stencil_test);
|
||||
LIST_FLAGS_ADD("Primitive restart", render->m_set_restart_index);
|
||||
LIST_FLAGS_ADD("Two sided lighting", render->m_set_two_side_light_enable);
|
||||
LIST_FLAGS_ADD("Point Sprite", render->m_set_point_sprite_control);
|
||||
LIST_FLAGS_ADD("Point sprite", render->m_set_point_sprite_control);
|
||||
LIST_FLAGS_ADD("Lighting ", render->m_set_specular);
|
||||
*/
|
||||
|
||||
@@ -885,11 +885,11 @@ void RSXDebugger::GetSettings()
|
||||
render->m_color_mask_g,
|
||||
render->m_color_mask_b,
|
||||
render->m_color_mask_a));
|
||||
LIST_SETTINGS_ADD("Context DMA Color A", wxString::Format("0x%x", render->m_context_dma_color_a));
|
||||
LIST_SETTINGS_ADD("Context DMA Color B", wxString::Format("0x%x", render->m_context_dma_color_b));
|
||||
LIST_SETTINGS_ADD("Context DMA Color C", wxString::Format("0x%x", render->m_context_dma_color_c));
|
||||
LIST_SETTINGS_ADD("Context DMA Color D", wxString::Format("0x%x", render->m_context_dma_color_d));
|
||||
LIST_SETTINGS_ADD("Context DMA Zeta", wxString::Format("0x%x", render->m_context_dma_z));
|
||||
LIST_SETTINGS_ADD("Context DMA color A", wxString::Format("0x%x", render->m_context_dma_color_a));
|
||||
LIST_SETTINGS_ADD("Context DMA color B", wxString::Format("0x%x", render->m_context_dma_color_b));
|
||||
LIST_SETTINGS_ADD("Context DMA color C", wxString::Format("0x%x", render->m_context_dma_color_c));
|
||||
LIST_SETTINGS_ADD("Context DMA color D", wxString::Format("0x%x", render->m_context_dma_color_d));
|
||||
LIST_SETTINGS_ADD("Context DMA zeta", wxString::Format("0x%x", render->m_context_dma_z));
|
||||
LIST_SETTINGS_ADD("Depth bounds", wxString::Format("Min:%f, Max:%f", render->m_depth_bounds_min, render->m_depth_bounds_max));
|
||||
LIST_SETTINGS_ADD("Depth func", !(render->m_set_depth_func) ? "(none)" : wxString::Format("0x%x (%s)",
|
||||
render->m_depth_func,
|
||||
@@ -905,16 +905,16 @@ void RSXDebugger::GetSettings()
|
||||
LIST_SETTINGS_ADD("Stencil func", !(render->m_set_stencil_func) ? "(none)" : wxString::Format("0x%x (%s)",
|
||||
render->m_stencil_func,
|
||||
ParseGCMEnum(render->m_stencil_func, CELL_GCM_ENUM)));
|
||||
LIST_SETTINGS_ADD("Surface Pitch A", wxString::Format("0x%x", render->m_surface_pitch_a));
|
||||
LIST_SETTINGS_ADD("Surface Pitch B", wxString::Format("0x%x", render->m_surface_pitch_b));
|
||||
LIST_SETTINGS_ADD("Surface Pitch C", wxString::Format("0x%x", render->m_surface_pitch_c));
|
||||
LIST_SETTINGS_ADD("Surface Pitch D", wxString::Format("0x%x", render->m_surface_pitch_d));
|
||||
LIST_SETTINGS_ADD("Surface Pitch Z", wxString::Format("0x%x", render->m_surface_pitch_z));
|
||||
LIST_SETTINGS_ADD("Surface Offset A", wxString::Format("0x%x", render->m_surface_offset_a));
|
||||
LIST_SETTINGS_ADD("Surface Offset B", wxString::Format("0x%x", render->m_surface_offset_b));
|
||||
LIST_SETTINGS_ADD("Surface Offset C", wxString::Format("0x%x", render->m_surface_offset_c));
|
||||
LIST_SETTINGS_ADD("Surface Offset D", wxString::Format("0x%x", render->m_surface_offset_d));
|
||||
LIST_SETTINGS_ADD("Surface Offset Z", wxString::Format("0x%x", render->m_surface_offset_z));
|
||||
LIST_SETTINGS_ADD("Surface pitch A", wxString::Format("0x%x", render->m_surface_pitch_a));
|
||||
LIST_SETTINGS_ADD("Surface pitch B", wxString::Format("0x%x", render->m_surface_pitch_b));
|
||||
LIST_SETTINGS_ADD("Surface pitch C", wxString::Format("0x%x", render->m_surface_pitch_c));
|
||||
LIST_SETTINGS_ADD("Surface pitch D", wxString::Format("0x%x", render->m_surface_pitch_d));
|
||||
LIST_SETTINGS_ADD("Surface pitch Z", wxString::Format("0x%x", render->m_surface_pitch_z));
|
||||
LIST_SETTINGS_ADD("Surface offset A", wxString::Format("0x%x", render->m_surface_offset_a));
|
||||
LIST_SETTINGS_ADD("Surface offset B", wxString::Format("0x%x", render->m_surface_offset_b));
|
||||
LIST_SETTINGS_ADD("Surface offset C", wxString::Format("0x%x", render->m_surface_offset_c));
|
||||
LIST_SETTINGS_ADD("Surface offset D", wxString::Format("0x%x", render->m_surface_offset_d));
|
||||
LIST_SETTINGS_ADD("Surface offset Z", wxString::Format("0x%x", render->m_surface_offset_z));
|
||||
LIST_SETTINGS_ADD("Viewport", wxString::Format("X:%d, Y:%d, W:%d, H:%d",
|
||||
render->m_viewport_x,
|
||||
render->m_viewport_y,
|
||||
@@ -972,8 +972,8 @@ void RSXDebugger::SetPrograms(wxListEvent& event)
|
||||
// wxDEFAULT_DIALOG_STYLE | wxMINIMIZE_BOX | wxMAXIMIZE_BOX | wxRESIZE_BORDER);
|
||||
|
||||
//wxBoxSizer& s_panel = *new wxBoxSizer(wxHORIZONTAL);
|
||||
//wxStaticBoxSizer& s_vp_box = *new wxStaticBoxSizer(wxHORIZONTAL, &d_editor, "Vertex Program");
|
||||
//wxStaticBoxSizer& s_fp_box = *new wxStaticBoxSizer(wxHORIZONTAL, &d_editor, "Fragment Program");
|
||||
//wxStaticBoxSizer& s_vp_box = *new wxStaticBoxSizer(wxHORIZONTAL, &d_editor, "Vertex program");
|
||||
//wxStaticBoxSizer& s_fp_box = *new wxStaticBoxSizer(wxHORIZONTAL, &d_editor, "Fragment program");
|
||||
//wxTextCtrl* t_vp_edit = new wxTextCtrl(&d_editor, wxID_ANY, program.vp_shader, wxDefaultPosition, wxDefaultSize, wxTE_MULTILINE);
|
||||
//wxTextCtrl* t_fp_edit = new wxTextCtrl(&d_editor, wxID_ANY, program.fp_shader, wxDefaultPosition, wxDefaultSize, wxTE_MULTILINE);
|
||||
//t_vp_edit->SetFont(wxFont(8, wxFONTFAMILY_MODERN, wxFONTSTYLE_NORMAL, wxFONTWEIGHT_NORMAL));
|
||||
@@ -1017,10 +1017,10 @@ const char* RSXDebugger::ParseGCMEnum(u32 value, u32 type)
|
||||
case 0x0200: return "Never";
|
||||
case 0x0201: return "Less";
|
||||
case 0x0202: return "Equal";
|
||||
case 0x0203: return "Less or Equal";
|
||||
case 0x0203: return "Less or equal";
|
||||
case 0x0204: return "Greater";
|
||||
case 0x0205: return "Not Equal";
|
||||
case 0x0206: return "Greater or Equal";
|
||||
case 0x0205: return "Not equal";
|
||||
case 0x0206: return "Greater or equal";
|
||||
case 0x0207: return "Always";
|
||||
|
||||
case 0x0: return "Zero";
|
||||
@@ -1043,12 +1043,12 @@ const char* RSXDebugger::ParseGCMEnum(u32 value, u32 type)
|
||||
case 0x8007: return "Min";
|
||||
case 0x8008: return "Max";
|
||||
case 0x800A: return "Substract";
|
||||
case 0x800B: return "Reverse Substract";
|
||||
case 0xF005: return "Reverse Substract Signed";
|
||||
case 0xF006: return "Add Signed";
|
||||
case 0xF007: return "Reverse Add Signed";
|
||||
case 0x800B: return "Reverse substract";
|
||||
case 0xF005: return "Reverse substract signed";
|
||||
case 0xF006: return "Add signed";
|
||||
case 0xF007: return "Reverse add signed";
|
||||
|
||||
default: return "Wrong Value!";
|
||||
default: return "Wrong value!";
|
||||
}
|
||||
}
|
||||
case CELL_GCM_PRIMITIVE_ENUM:
|
||||
@@ -1066,7 +1066,7 @@ const char* RSXDebugger::ParseGCMEnum(u32 value, u32 type)
|
||||
case 9: return "QUAD_STRIP";
|
||||
case 10: return "POLYGON";
|
||||
|
||||
default: return "Wrong Value!";
|
||||
default: return "Wrong value!";
|
||||
}
|
||||
}
|
||||
default: return "Unknown!";
|
||||
@@ -1136,7 +1136,7 @@ wxString RSXDebugger::DisAsmCommand(u32 cmd, u32 count, u32 currentAddr, u32 ioA
|
||||
break;
|
||||
|
||||
case_16(NV4097_SET_TEXTURE_OFFSET, 0x20):
|
||||
DISASM("Texture Offset[%d]: %08x", index, (u32)args[0]);
|
||||
DISASM("Texture offset[%d]: %08x", index, (u32)args[0]);
|
||||
switch ((args[1] & 0x3) - 1)
|
||||
{
|
||||
case CELL_GCM_LOCATION_LOCAL: DISASM("(Local memory);"); break;
|
||||
@@ -1162,7 +1162,7 @@ wxString RSXDebugger::DisAsmCommand(u32 cmd, u32 count, u32 currentAddr, u32 ioA
|
||||
|
||||
if((cmd & RSX_METHOD_NON_INCREMENT_CMD_MASK) == RSX_METHOD_NON_INCREMENT_CMD)
|
||||
{
|
||||
DISASM("Non Increment cmd");
|
||||
DISASM("Non increment cmd");
|
||||
}
|
||||
|
||||
DISASM("[0x%08x(", cmd);
|
||||
|
||||
@@ -257,21 +257,21 @@ SettingsDialog::SettingsDialog(wxWindow* parent)
|
||||
s_module_search_box->Bind(wxEVT_TEXT, &SettingsDialog::OnSearchBoxTextChanged, this);
|
||||
|
||||
// Graphics
|
||||
wxStaticBoxSizer* s_round_gs_render = new wxStaticBoxSizer(wxVERTICAL, p_graphics, "Render");
|
||||
wxStaticBoxSizer* s_round_gs_render = new wxStaticBoxSizer(wxVERTICAL, p_graphics, "Rendering API");
|
||||
wxStaticBoxSizer* s_round_gs_d3d_adapter = new wxStaticBoxSizer(wxVERTICAL, p_graphics, "D3D Adapter");
|
||||
wxStaticBoxSizer* s_round_gs_res = new wxStaticBoxSizer(wxVERTICAL, p_graphics, "Resolution");
|
||||
wxStaticBoxSizer* s_round_gs_aspect = new wxStaticBoxSizer(wxVERTICAL, p_graphics, "Aspect ratio");
|
||||
wxStaticBoxSizer* s_round_gs_frame_limit = new wxStaticBoxSizer(wxVERTICAL, p_graphics, "Frame limit");
|
||||
|
||||
// Input / Output
|
||||
wxStaticBoxSizer* s_round_io_pad_handler = new wxStaticBoxSizer(wxVERTICAL, p_io, "Pad Handler");
|
||||
wxStaticBoxSizer* s_round_io_keyboard_handler = new wxStaticBoxSizer(wxVERTICAL, p_io, "Keyboard Handler");
|
||||
wxStaticBoxSizer* s_round_io_mouse_handler = new wxStaticBoxSizer(wxVERTICAL, p_io, "Mouse Handler");
|
||||
wxStaticBoxSizer* s_round_io_pad_handler = new wxStaticBoxSizer(wxVERTICAL, p_io, "Controller handler");
|
||||
wxStaticBoxSizer* s_round_io_keyboard_handler = new wxStaticBoxSizer(wxVERTICAL, p_io, "Keyboard handler");
|
||||
wxStaticBoxSizer* s_round_io_mouse_handler = new wxStaticBoxSizer(wxVERTICAL, p_io, "Mouse handler");
|
||||
wxStaticBoxSizer* s_round_io_camera = new wxStaticBoxSizer(wxVERTICAL, p_io, "Camera");
|
||||
wxStaticBoxSizer* s_round_io_camera_type = new wxStaticBoxSizer(wxVERTICAL, p_io, "Camera type");
|
||||
|
||||
// Audio
|
||||
wxStaticBoxSizer* s_round_audio_out = new wxStaticBoxSizer(wxVERTICAL, p_audio, "Audio Out");
|
||||
wxStaticBoxSizer* s_round_audio_out = new wxStaticBoxSizer(wxVERTICAL, p_audio, "Audio out");
|
||||
|
||||
// Networking
|
||||
wxStaticBoxSizer* s_round_net_status = new wxStaticBoxSizer(wxVERTICAL, p_networking, "Connection status");
|
||||
@@ -297,23 +297,23 @@ SettingsDialog::SettingsDialog(wxWindow* parent)
|
||||
wxComboBox* cbox_sys_lang = new wxComboBox(p_system, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0, NULL, wxCB_READONLY);
|
||||
|
||||
wxCheckBox* chbox_core_hook_stfunc = new wxCheckBox(p_core, wxID_ANY, "Hook static functions");
|
||||
wxCheckBox* chbox_core_load_liblv2 = new wxCheckBox(p_core, wxID_ANY, "Load liblv2.sprx only");
|
||||
wxCheckBox* chbox_core_load_liblv2 = new wxCheckBox(p_core, wxID_ANY, "Load liblv2.sprx");
|
||||
wxCheckBox* chbox_vfs_enable_host_root = new wxCheckBox(p_system, wxID_ANY, "Enable /host_root/");
|
||||
wxCheckBox* chbox_gs_log_prog = new wxCheckBox(p_graphics, wxID_ANY, "Log shader programs");
|
||||
wxCheckBox* chbox_gs_dump_depth = new wxCheckBox(p_graphics, wxID_ANY, "Write Depth Buffer");
|
||||
wxCheckBox* chbox_gs_dump_color = new wxCheckBox(p_graphics, wxID_ANY, "Write Color Buffers");
|
||||
wxCheckBox* chbox_gs_read_color = new wxCheckBox(p_graphics, wxID_ANY, "Read Color Buffers");
|
||||
wxCheckBox* chbox_gs_read_depth = new wxCheckBox(p_graphics, wxID_ANY, "Read Depth Buffer");
|
||||
wxCheckBox* chbox_gs_dump_depth = new wxCheckBox(p_graphics, wxID_ANY, "Write depth buffer");
|
||||
wxCheckBox* chbox_gs_dump_color = new wxCheckBox(p_graphics, wxID_ANY, "Write color buffers");
|
||||
wxCheckBox* chbox_gs_read_color = new wxCheckBox(p_graphics, wxID_ANY, "Read color buffers");
|
||||
wxCheckBox* chbox_gs_read_depth = new wxCheckBox(p_graphics, wxID_ANY, "Read depth buffer");
|
||||
wxCheckBox* chbox_gs_vsync = new wxCheckBox(p_graphics, wxID_ANY, "VSync");
|
||||
wxCheckBox* chbox_gs_debug_output = new wxCheckBox(p_graphics, wxID_ANY, "Debug Output");
|
||||
wxCheckBox* chbox_gs_debug_output = new wxCheckBox(p_graphics, wxID_ANY, "Debug output");
|
||||
wxCheckBox* chbox_gs_overlay = new wxCheckBox(p_graphics, wxID_ANY, "Debug overlay");
|
||||
wxCheckBox* chbox_gs_gl_legacy_buffers = new wxCheckBox(p_graphics, wxID_ANY, "Use Legacy OpenGL Buffers");
|
||||
wxCheckBox* chbox_gs_gl_legacy_buffers = new wxCheckBox(p_graphics, wxID_ANY, "Use legacy OpenGL buffers");
|
||||
wxCheckBox* chbox_audio_dump = new wxCheckBox(p_audio, wxID_ANY, "Dump to file");
|
||||
wxCheckBox* chbox_audio_conv = new wxCheckBox(p_audio, wxID_ANY, "Convert to 16 bit");
|
||||
wxCheckBox* chbox_audio_conv = new wxCheckBox(p_audio, wxID_ANY, "Convert to 16-bit");
|
||||
wxCheckBox* chbox_hle_exitonstop = new wxCheckBox(p_misc, wxID_ANY, "Exit RPCS3 when process finishes");
|
||||
wxCheckBox* chbox_hle_always_start = new wxCheckBox(p_misc, wxID_ANY, "Always start after boot");
|
||||
wxCheckBox* chbox_dbg_ap_systemcall = new wxCheckBox(p_misc, wxID_ANY, "Auto Pause at System Call");
|
||||
wxCheckBox* chbox_dbg_ap_functioncall = new wxCheckBox(p_misc, wxID_ANY, "Auto Pause at Function Call");
|
||||
wxCheckBox* chbox_dbg_ap_systemcall = new wxCheckBox(p_misc, wxID_ANY, "Automatically pause at system call");
|
||||
wxCheckBox* chbox_dbg_ap_functioncall = new wxCheckBox(p_misc, wxID_ANY, "Automatically pause at function call");
|
||||
|
||||
{
|
||||
// Sort string vector alphabetically
|
||||
@@ -357,12 +357,12 @@ SettingsDialog::SettingsDialog(wxWindow* parent)
|
||||
lle_module_list_unselected.clear();
|
||||
}
|
||||
|
||||
radiobox_pad_helper ppu_decoder_modes({ "Core", "PPU Decoder" });
|
||||
rbox_ppu_decoder = new wxRadioBox(p_core, wxID_ANY, "PPU Decoder", wxDefaultPosition, wxSize(-1, -1), ppu_decoder_modes, 1);
|
||||
radiobox_pad_helper ppu_decoder_modes({ "Core", "PPU decoder" });
|
||||
rbox_ppu_decoder = new wxRadioBox(p_core, wxID_ANY, "PPU decoder", wxDefaultPosition, wxSize(-1, -1), ppu_decoder_modes, 1);
|
||||
pads.emplace_back(std::make_unique<radiobox_pad>(std::move(ppu_decoder_modes), rbox_ppu_decoder));
|
||||
|
||||
radiobox_pad_helper spu_decoder_modes({ "Core", "SPU Decoder" });
|
||||
rbox_spu_decoder = new wxRadioBox(p_core, wxID_ANY, "SPU Decoder", wxDefaultPosition, wxSize(-1, -1), spu_decoder_modes, 1);
|
||||
radiobox_pad_helper spu_decoder_modes({ "Core", "SPU decoder" });
|
||||
rbox_spu_decoder = new wxRadioBox(p_core, wxID_ANY, "SPU decoder", wxDefaultPosition, wxSize(-1, -1), spu_decoder_modes, 1);
|
||||
pads.emplace_back(std::make_unique<radiobox_pad>(std::move(spu_decoder_modes), rbox_spu_decoder));
|
||||
rbox_spu_decoder->Enable(3, false); // TODO
|
||||
|
||||
@@ -371,25 +371,25 @@ SettingsDialog::SettingsDialog(wxWindow* parent)
|
||||
|
||||
pads.emplace_back(std::make_unique<checkbox_pad>(cfg_location{ "VFS", "Enable /host_root/" }, chbox_vfs_enable_host_root));
|
||||
|
||||
pads.emplace_back(std::make_unique<combobox_pad>(cfg_location{ "Video", "Renderer" }, cbox_gs_render));
|
||||
pads.emplace_back(std::make_unique<combobox_pad>(cfg_location{ "Video", "Rendering API" }, cbox_gs_render));
|
||||
pads.emplace_back(std::make_unique<combobox_pad>(cfg_location{ "Video", "Resolution" }, cbox_gs_resolution));
|
||||
pads.emplace_back(std::make_unique<combobox_pad>(cfg_location{ "Video", "Aspect ratio" }, cbox_gs_aspect));
|
||||
pads.emplace_back(std::make_unique<combobox_pad>(cfg_location{ "Video", "Frame limit" }, cbox_gs_frame_limit));
|
||||
pads.emplace_back(std::make_unique<checkbox_pad>(cfg_location{ "Video", "Log shader programs" }, chbox_gs_log_prog));
|
||||
pads.emplace_back(std::make_unique<checkbox_pad>(cfg_location{ "Video", "Write Depth Buffer" }, chbox_gs_dump_depth));
|
||||
pads.emplace_back(std::make_unique<checkbox_pad>(cfg_location{ "Video", "Write Color Buffers" }, chbox_gs_dump_color));
|
||||
pads.emplace_back(std::make_unique<checkbox_pad>(cfg_location{ "Video", "Read Color Buffers" }, chbox_gs_read_color));
|
||||
pads.emplace_back(std::make_unique<checkbox_pad>(cfg_location{ "Video", "Read Depth Buffer" }, chbox_gs_read_depth));
|
||||
pads.emplace_back(std::make_unique<checkbox_pad>(cfg_location{ "Video", "Write depth buffer" }, chbox_gs_dump_depth));
|
||||
pads.emplace_back(std::make_unique<checkbox_pad>(cfg_location{ "Video", "Write color buffers" }, chbox_gs_dump_color));
|
||||
pads.emplace_back(std::make_unique<checkbox_pad>(cfg_location{ "Video", "Read color buffers" }, chbox_gs_read_color));
|
||||
pads.emplace_back(std::make_unique<checkbox_pad>(cfg_location{ "Video", "Read depth buffer" }, chbox_gs_read_depth));
|
||||
pads.emplace_back(std::make_unique<checkbox_pad>(cfg_location{ "Video", "VSync" }, chbox_gs_vsync));
|
||||
pads.emplace_back(std::make_unique<checkbox_pad>(cfg_location{ "Video", "Debug output" }, chbox_gs_debug_output));
|
||||
pads.emplace_back(std::make_unique<checkbox_pad>(cfg_location{ "Video", "Debug overlay" }, chbox_gs_overlay));
|
||||
pads.emplace_back(std::make_unique<checkbox_pad>(cfg_location{ "Video", "Use Legacy OpenGL Buffers (Debug)" }, chbox_gs_gl_legacy_buffers));
|
||||
pads.emplace_back(std::make_unique<checkbox_pad>(cfg_location{ "Video", "Use legacy OpenGL buffers (Debug)" }, chbox_gs_gl_legacy_buffers));
|
||||
|
||||
pads.emplace_back(std::make_unique<combobox_pad>(cfg_location{ "Audio", "Renderer" }, cbox_audio_out));
|
||||
pads.emplace_back(std::make_unique<checkbox_pad>(cfg_location{ "Audio", "Dump to file" }, chbox_audio_dump));
|
||||
pads.emplace_back(std::make_unique<checkbox_pad>(cfg_location{ "Audio", "Convert to 16 bit" }, chbox_audio_conv));
|
||||
pads.emplace_back(std::make_unique<checkbox_pad>(cfg_location{ "Audio", "Convert to 16-bit" }, chbox_audio_conv));
|
||||
|
||||
pads.emplace_back(std::make_unique<combobox_pad>(cfg_location{ "Input/Output", "Pad" }, cbox_pad_handler));
|
||||
pads.emplace_back(std::make_unique<combobox_pad>(cfg_location{ "Input/Output", "Controller" }, cbox_pad_handler));
|
||||
pads.emplace_back(std::make_unique<combobox_pad>(cfg_location{ "Input/Output", "Keyboard" }, cbox_keyboard_handler));
|
||||
pads.emplace_back(std::make_unique<combobox_pad>(cfg_location{ "Input/Output", "Mouse" }, cbox_mouse_handler));
|
||||
pads.emplace_back(std::make_unique<combobox_pad>(cfg_location{ "Input/Output", "Camera" }, cbox_camera));
|
||||
@@ -401,8 +401,8 @@ SettingsDialog::SettingsDialog(wxWindow* parent)
|
||||
|
||||
pads.emplace_back(std::make_unique<checkbox_pad>(cfg_location{ "Miscellaneous", "Exit RPCS3 when process finishes" }, chbox_hle_exitonstop));
|
||||
pads.emplace_back(std::make_unique<checkbox_pad>(cfg_location{ "Miscellaneous", "Always start after boot" }, chbox_hle_always_start));
|
||||
pads.emplace_back(std::make_unique<checkbox_pad>(cfg_location{ "Miscellaneous", "Auto Pause at System Call" }, chbox_dbg_ap_systemcall));
|
||||
pads.emplace_back(std::make_unique<checkbox_pad>(cfg_location{ "Miscellaneous", "Auto Pause at Function Call" }, chbox_dbg_ap_functioncall));
|
||||
pads.emplace_back(std::make_unique<checkbox_pad>(cfg_location{ "Miscellaneous", "Automatically pause at system call" }, chbox_dbg_ap_systemcall));
|
||||
pads.emplace_back(std::make_unique<checkbox_pad>(cfg_location{ "Miscellaneous", "Automatically pause at function call" }, chbox_dbg_ap_functioncall));
|
||||
|
||||
#ifdef _MSC_VER
|
||||
Microsoft::WRL::ComPtr<IDXGIFactory4> dxgi_factory;
|
||||
|
||||
+3
-3
@@ -81,7 +81,7 @@ cfg::map_entry<std::function<std::shared_ptr<MouseHandlerBase>()>> g_cfg_mouse_h
|
||||
{ "Basic", &std::make_shared<BasicMouseHandler> },
|
||||
});
|
||||
|
||||
cfg::map_entry<std::function<std::shared_ptr<PadHandlerBase>()>> g_cfg_pad_handler(cfg::root.io, "Pad", "Keyboard",
|
||||
cfg::map_entry<std::function<std::shared_ptr<PadHandlerBase>()>> g_cfg_pad_handler(cfg::root.io, "Controller", "Keyboard",
|
||||
{
|
||||
{ "Null", &std::make_shared<NullPadHandler> },
|
||||
{ "Keyboard", &std::make_shared<KeyboardPadHandler> },
|
||||
@@ -90,12 +90,12 @@ cfg::map_entry<std::function<std::shared_ptr<PadHandlerBase>()>> g_cfg_pad_handl
|
||||
#endif
|
||||
});
|
||||
|
||||
cfg::map_entry<std::function<std::shared_ptr<GSRender>()>> g_cfg_gs_render(cfg::root.video, "Renderer", "OpenGL",
|
||||
cfg::map_entry<std::function<std::shared_ptr<GSRender>()>> g_cfg_gs_render(cfg::root.video, "Rendering API", "OpenGL",
|
||||
{
|
||||
{ "Null", &std::make_shared<NullGSRender> },
|
||||
{ "OpenGL", &std::make_shared<GLGSRender> },
|
||||
#ifdef _MSC_VER
|
||||
{ "D3D12", &std::make_shared<D3D12GSRender> },
|
||||
{ "DirectX 12", &std::make_shared<D3D12GSRender> },
|
||||
#endif
|
||||
#ifdef _WIN32
|
||||
{ "Vulkan", &std::make_shared<VKGSRender> },
|
||||
|
||||
Reference in New Issue
Block a user