From: erikc Date: Wed, 20 Jan 2010 03:31:44 +0000 (-0800) Subject: Merge branch 'master' of git://github.com/slavapestov/factor X-Git-Tag: 0.97~5034^2~4^2~1 X-Git-Url: https://gitweb.factorcode.org/gitweb.cgi?p=factor.git;a=commitdiff_plain;h=20d27198b09fdc27cdb8be878bd5daefe4e9ce5a;hp=fc4686eaeeb065cf59799e2fc0692bcc0fc27ad4 Merge branch 'master' of git://github.com/slavapestov/factor --- diff --git a/basis/ui/backend/windows/windows.factor b/basis/ui/backend/windows/windows.factor index a6d73ca80f..fdd3c06c29 100644 --- a/basis/ui/backend/windows/windows.factor +++ b/basis/ui/backend/windows/windows.factor @@ -170,6 +170,8 @@ PRIVATE> : lo-word ( wparam -- lo ) *short ; inline : hi-word ( wparam -- hi ) -16 shift lo-word ; inline : >lo-hi ( WORD -- array ) [ lo-word ] [ hi-word ] bi 2array ; +: GET_APPCOMMAND_LPARAM ( lParam -- appCommand ) + hi-word FAPPCOMMAND_MASK lo-word bitnot bitand ; inline : crlf>lf ( str -- str' ) CHAR: \r swap remove ; @@ -495,6 +497,13 @@ SYMBOL: nc-buttons ReleaseCapture win32-error=0/f mouse-captured off ; +: handle-app-command ( hWnd uMsg wParam lParam -- ) + GET_APPCOMMAND_LPARAM + { + { APPCOMMAND_BROWSER_BACKWARD [ pick window left-action send-action ] } + { APPCOMMAND_BROWSER_FORWARD [ pick window right-action send-action ] } + } case 3drop ; + : handle-wm-buttondown ( hWnd uMsg wParam lParam -- ) [ over set-capture @@ -571,6 +580,8 @@ H{ } clone wm-handlers set-global [ handle-wm-set-focus 0 ] WM_SETFOCUS add-wm-handler [ handle-wm-kill-focus 0 ] WM_KILLFOCUS add-wm-handler +[ handle-app-command 0 ] WM_APPCOMMAND add-wm-handler + [ handle-wm-buttondown 0 ] WM_LBUTTONDOWN add-wm-handler [ handle-wm-buttondown 0 ] WM_MBUTTONDOWN add-wm-handler [ handle-wm-buttondown 0 ] WM_RBUTTONDOWN add-wm-handler diff --git a/basis/windows/directx/audiodefs/audiodefs.factor b/basis/windows/directx/audiodefs/audiodefs.factor new file mode 100644 index 0000000000..13e598366f --- /dev/null +++ b/basis/windows/directx/audiodefs/audiodefs.factor @@ -0,0 +1,105 @@ +USING: alien.c-types alien.syntax classes.struct +windows.kernel32 windows.types ; +IN: windows.directx.audiodefs + +STRUCT: WAVEFORMATEX + { wFormatTag WORD } + { nChannels WORD } + { nSamplesPerSec DWORD } + { nAvgBytesPerSec DWORD } + { nBlockAlign WORD } + { wBitsPerSample WORD } + { cbSize WORD } ; + +TYPEDEF: WAVEFORMATEX* PWAVEFORMATEX +TYPEDEF: WAVEFORMATEX* NPWAVEFORMATEX +TYPEDEF: WAVEFORMATEX* LPWAVEFORMATEX +TYPEDEF: WAVEFORMATEX* PCWAVEFORMATEX +TYPEDEF: WAVEFORMATEX* LPCWAVEFORMATEX + +UNION-STRUCT: WAVEFORMATEXTENSIBLE_UNION + { wValidBitsPerSample WORD } + { wSamplesPerBlock WORD } + { wReserved WORD } ; + +STRUCT: WAVEFORMATEXTENSIBLE + { Format WAVEFORMATEX } + { Union WAVEFORMATEXTENSIBLE_UNION } + { dwChannelMask DWORD } + { SubFormat GUID } ; + +TYPEDEF: WAVEFORMATEXTENSIBLE* PWAVEFORMATEXTENSIBLE +TYPEDEF: WAVEFORMATEXTENSIBLE* LPWAVEFORMATEXTENSIBLE +TYPEDEF: WAVEFORMATEXTENSIBLE* PCWAVEFORMATEXTENSIBLE +TYPEDEF: WAVEFORMATEXTENSIBLE* LPCWAVEFORMATEXTENSIBLE + +STRUCT: WAVEFORMAT + { wFormatTag WORD } + { nChannels WORD } + { nSamplesPerSec DWORD } + { nAvgBytesPerSec DWORD } + { nBlockAlign WORD } ; +TYPEDEF: WAVEFORMAT* PWAVEFORMAT +TYPEDEF: WAVEFORMAT* NPWAVEFORMAT +TYPEDEF: WAVEFORMAT* LPWAVEFORMAT + +STRUCT: PCMWAVEFORMAT + { wf WAVEFORMAT } + { wBitsPerSample WORD } ; +TYPEDEF: PCMWAVEFORMAT* PPCMWAVEFORMAT +TYPEDEF: PCMWAVEFORMAT* NPPCMWAVEFORMAT +TYPEDEF: PCMWAVEFORMAT* LPPCMWAVEFORMAT + +CONSTANT: WAVE_FORMAT_PCM 1 + +STRUCT: ADPCMCOEFSET + { iCoef1 short } + { iCoef2 short } ; + +STRUCT: ADPCMWAVEFORMAT + { wfx WAVEFORMATEX } + { wSamplesPerBlock WORD } + { wNumCoef WORD } + { aCoef ADPCMCOEFSET[7] } ; + +CONSTANT: WAVE_FORMAT_ADPCM 2 +CONSTANT: WAVE_FORMAT_UNKNOWN 0 +CONSTANT: WAVE_FORMAT_IEEE_FLOAT 3 +CONSTANT: WAVE_FORMAT_MPEGLAYER3 HEX: 0055 +CONSTANT: WAVE_FORMAT_DOLBY_AC3_SPDIF HEX: 0092 +CONSTANT: WAVE_FORMAT_WMAUDIO2 HEX: 0161 +CONSTANT: WAVE_FORMAT_WMAUDIO3 HEX: 0162 +CONSTANT: WAVE_FORMAT_WMASPDIF HEX: 0164 +CONSTANT: WAVE_FORMAT_EXTENSIBLE HEX: FFFE + +CONSTANT: SPEAKER_FRONT_LEFT HEX: 00000001 +CONSTANT: SPEAKER_FRONT_RIGHT HEX: 00000002 +CONSTANT: SPEAKER_FRONT_CENTER HEX: 00000004 +CONSTANT: SPEAKER_LOW_FREQUENCY HEX: 00000008 +CONSTANT: SPEAKER_BACK_LEFT HEX: 00000010 +CONSTANT: SPEAKER_BACK_RIGHT HEX: 00000020 +CONSTANT: SPEAKER_FRONT_LEFT_OF_CENTER HEX: 00000040 +CONSTANT: SPEAKER_FRONT_RIGHT_OF_CENTER HEX: 00000080 +CONSTANT: SPEAKER_BACK_CENTER HEX: 00000100 +CONSTANT: SPEAKER_SIDE_LEFT HEX: 00000200 +CONSTANT: SPEAKER_SIDE_RIGHT HEX: 00000400 +CONSTANT: SPEAKER_TOP_CENTER HEX: 00000800 +CONSTANT: SPEAKER_TOP_FRONT_LEFT HEX: 00001000 +CONSTANT: SPEAKER_TOP_FRONT_CENTER HEX: 00002000 +CONSTANT: SPEAKER_TOP_FRONT_RIGHT HEX: 00004000 +CONSTANT: SPEAKER_TOP_BACK_LEFT HEX: 00008000 +CONSTANT: SPEAKER_TOP_BACK_CENTER HEX: 00010000 +CONSTANT: SPEAKER_TOP_BACK_RIGHT HEX: 00020000 +CONSTANT: SPEAKER_RESERVED HEX: 7FFC0000 +CONSTANT: SPEAKER_ALL HEX: 80000000 + +CONSTANT: SPEAKER_MONO HEX: 00000004 +CONSTANT: SPEAKER_STEREO HEX: 00000003 +CONSTANT: SPEAKER_2POINT1 HEX: 0000000B +CONSTANT: SPEAKER_SURROUND HEX: 00010007 +CONSTANT: SPEAKER_QUAD HEX: 00028003 +CONSTANT: SPEAKER_4POINT1 HEX: 0002800B +CONSTANT: SPEAKER_5POINT1 HEX: 0002800F +CONSTANT: SPEAKER_7POINT1 HEX: 000280CF +CONSTANT: SPEAKER_5POINT1_SURROUND HEX: 0000060F +CONSTANT: SPEAKER_7POINT1_SURROUND HEX: 0002860F diff --git a/basis/windows/directx/audiodefs/authors.txt b/basis/windows/directx/audiodefs/authors.txt new file mode 100644 index 0000000000..6f03a12101 --- /dev/null +++ b/basis/windows/directx/audiodefs/authors.txt @@ -0,0 +1 @@ +Erik Charlebois diff --git a/basis/windows/directx/audiodefs/summary.txt b/basis/windows/directx/audiodefs/summary.txt new file mode 100644 index 0000000000..3f80ea1aac --- /dev/null +++ b/basis/windows/directx/audiodefs/summary.txt @@ -0,0 +1 @@ +DirectX audio bindings. Corresponds to audiodefs.h. diff --git a/basis/windows/directx/audiodefs/tags.txt b/basis/windows/directx/audiodefs/tags.txt new file mode 100644 index 0000000000..2320bdd648 --- /dev/null +++ b/basis/windows/directx/audiodefs/tags.txt @@ -0,0 +1,2 @@ +unportable +bindings diff --git a/basis/windows/directx/d2d1/authors.txt b/basis/windows/directx/d2d1/authors.txt new file mode 100644 index 0000000000..6f03a12101 --- /dev/null +++ b/basis/windows/directx/d2d1/authors.txt @@ -0,0 +1 @@ +Erik Charlebois diff --git a/basis/windows/directx/d2d1/d2d1.factor b/basis/windows/directx/d2d1/d2d1.factor new file mode 100644 index 0000000000..fad88787f3 --- /dev/null +++ b/basis/windows/directx/d2d1/d2d1.factor @@ -0,0 +1,563 @@ +USING: alien.c-types alien.syntax classes.struct windows.com +windows.com.syntax windows.directx.d3dbasetypes windows.directx.dcommon +windows.directx.dxgi windows.directx.dxgiformat windows.ole32 windows.types ; +IN: windows.directx.d2d1 + +LIBRARY: d2d1 + +CONSTANT: D2D1_INVALID_TAG HEX: ffffffffffffffff +CONSTANT: D2D1_DEFAULT_FLATTENING_TOLERANCE 0.25 + +CONSTANT: D2D1_ALPHA_MODE_UNKNOWN 0 +CONSTANT: D2D1_ALPHA_MODE_PREMULTIPLIED 1 +CONSTANT: D2D1_ALPHA_MODE_STRAIGHT 2 +CONSTANT: D2D1_ALPHA_MODE_IGNORE 3 +CONSTANT: D2D1_ALPHA_MODE_FORCE_DWORD HEX: ffffffff +TYPEDEF: int D2D1_ALPHA_MODE + +CONSTANT: D2D1_GAMMA_2_2 0 +CONSTANT: D2D1_GAMMA_1_0 1 +CONSTANT: D2D1_GAMMA_FORCE_DWORD HEX: ffffffff +TYPEDEF: int D2D1_GAMMA + +CONSTANT: D2D1_OPACITY_MASK_CONTENT_GRAPHICS 0 +CONSTANT: D2D1_OPACITY_MASK_CONTENT_TEXT_NATURAL 1 +CONSTANT: D2D1_OPACITY_MASK_CONTENT_TEXT_GDI_COMPATIBLE 2 +CONSTANT: D2D1_OPACITY_MASK_CONTENT_FORCE_DWORD HEX: ffffffff +TYPEDEF: int D2D1_OPACITY_MASK_CONTENT + +CONSTANT: D2D1_EXTEND_MODE_CLAMP 0 +CONSTANT: D2D1_EXTEND_MODE_WRAP 1 +CONSTANT: D2D1_EXTEND_MODE_MIRROR 2 +CONSTANT: D2D1_EXTEND_MODE_FORCE_DWORD HEX: ffffffff +TYPEDEF: int D2D1_EXTEND_MODE + +CONSTANT: D2D1_ANTIALIAS_MODE_PER_PRIMITIVE 0 +CONSTANT: D2D1_ANTIALIAS_MODE_ALIASED 1 +CONSTANT: D2D1_ANTIALIAS_MODE_FORCE_DWORD HEX: ffffffff +TYPEDEF: int D2D1_ANTIALIAS_MODE + +CONSTANT: D2D1_TEXT_ANTIALIAS_MODE_DEFAULT 0 +CONSTANT: D2D1_TEXT_ANTIALIAS_MODE_CLEARTYPE 1 +CONSTANT: D2D1_TEXT_ANTIALIAS_MODE_GRAYSCALE 2 +CONSTANT: D2D1_TEXT_ANTIALIAS_MODE_ALIASED 3 +CONSTANT: D2D1_TEXT_ANTIALIAS_MODE_FORCE_DWORD HEX: ffffffff +TYPEDEF: int D2D1_TEXT_ANTIALIAS_MODE + +CONSTANT: D2D1_BITMAP_INTERPOLATION_MODE_NEAREST_NEIGHBOR 0 +CONSTANT: D2D1_BITMAP_INTERPOLATION_MODE_LINEAR 1 +CONSTANT: D2D1_BITMAP_INTERPOLATION_MODE_FORCE_DWORD HEX: ffffffff +TYPEDEF: int D2D1_BITMAP_INTERPOLATION_MODE + +CONSTANT: D2D1_DRAW_TEXT_OPTIONS_NO_SNAP HEX: 00000001 +CONSTANT: D2D1_DRAW_TEXT_OPTIONS_CLIP HEX: 00000002 +CONSTANT: D2D1_DRAW_TEXT_OPTIONS_NONE HEX: 00000000 +CONSTANT: D2D1_DRAW_TEXT_OPTIONS_FORCE_DWORD HEX: ffffffff +TYPEDEF: int D2D1_DRAW_TEXT_OPTIONS + +STRUCT: D2D1_PIXEL_FORMAT + { format DXGI_FORMAT } + { alphaMode D2D1_ALPHA_MODE } ; + +TYPEDEF: D2D_POINT_2U D2D1_POINT_2U +TYPEDEF: D2D_POINT_2F D2D1_POINT_2F +TYPEDEF: D2D_RECT_F D2D1_RECT_F +TYPEDEF: D2D_RECT_U D2D1_RECT_U +TYPEDEF: D2D_SIZE_F D2D1_SIZE_F +TYPEDEF: D2D_SIZE_U D2D1_SIZE_U +TYPEDEF: D2D_COLOR_F D2D1_COLOR_F +TYPEDEF: D2D_MATRIX_3X2_F D2D1_MATRIX_3X2_F +TYPEDEF: UINT64 D2D1_TAG + +STRUCT: D2D1_BITMAP_PROPERTIES + { pixelFormat D2D1_PIXEL_FORMAT } + { dpiX FLOAT } + { dpiY FLOAT } ; + +STRUCT: D2D1_GRADIENT_STOP + { position FLOAT } + { color D2D1_COLOR_F } ; + +STRUCT: D2D1_BRUSH_PROPERTIES + { opacity FLOAT } + { transform D2D1_MATRIX_3X2_F } ; + +STRUCT: D2D1_BITMAP_BRUSH_PROPERTIES + { extendModeX D2D1_EXTEND_MODE } + { extendModeY D2D1_EXTEND_MODE } + { interpolationMode D2D1_BITMAP_INTERPOLATION_MODE } ; + +STRUCT: D2D1_LINEAR_GRADIENT_BRUSH_PROPERTIES + { startPoint D2D1_POINT_2F } + { endPoint D2D1_POINT_2F } ; + +STRUCT: D2D1_RADIAL_GRADIENT_BRUSH_PROPERTIES + { center D2D1_POINT_2F } + { gradientOriginOffset D2D1_POINT_2F } + { radiusX FLOAT } + { radiusY FLOAT } ; + +CONSTANT: D2D1_ARC_SIZE_SMALL 0 +CONSTANT: D2D1_ARC_SIZE_LARGE 1 +CONSTANT: D2D1_ARC_SIZE_FORCE_DWORD HEX: ffffffff +TYPEDEF: int D2D1_ARC_SIZE + +CONSTANT: D2D1_CAP_STYLE_FLAT 0 +CONSTANT: D2D1_CAP_STYLE_SQUARE 1 +CONSTANT: D2D1_CAP_STYLE_ROUND 2 +CONSTANT: D2D1_CAP_STYLE_TRIANGLE 3 +CONSTANT: D2D1_CAP_STYLE_FORCE_DWORD HEX: ffffffff +TYPEDEF: int D2D1_CAP_STYLE + +CONSTANT: D2D1_DASH_STYLE_SOLID 0 +CONSTANT: D2D1_DASH_STYLE_DASH 1 +CONSTANT: D2D1_DASH_STYLE_DOT 2 +CONSTANT: D2D1_DASH_STYLE_DASH_DOT 3 +CONSTANT: D2D1_DASH_STYLE_DASH_DOT_DOT 4 +CONSTANT: D2D1_DASH_STYLE_CUSTOM 5 +CONSTANT: D2D1_DASH_STYLE_FORCE_DWORD HEX: ffffffff +TYPEDEF: int D2D1_DASH_STYLE + +CONSTANT: D2D1_LINE_JOIN_MITER 0 +CONSTANT: D2D1_LINE_JOIN_BEVEL 1 +CONSTANT: D2D1_LINE_JOIN_ROUND 2 +CONSTANT: D2D1_LINE_JOIN_MITER_OR_BEVEL 3 +CONSTANT: D2D1_LINE_JOIN_FORCE_DWORD HEX: ffffffff +TYPEDEF: int D2D1_LINE_JOIN + +CONSTANT: D2D1_COMBINE_MODE_UNION 0 +CONSTANT: D2D1_COMBINE_MODE_INTERSECT 1 +CONSTANT: D2D1_COMBINE_MODE_XOR 2 +CONSTANT: D2D1_COMBINE_MODE_EXCLUDE 3 +CONSTANT: D2D1_COMBINE_MODE_FORCE_DWORD HEX: ffffffff +TYPEDEF: int D2D1_COMBINE_MODE + +CONSTANT: D2D1_GEOMETRY_RELATION_UNKNOWN 0 +CONSTANT: D2D1_GEOMETRY_RELATION_DISJOINT 1 +CONSTANT: D2D1_GEOMETRY_RELATION_IS_CONTAINED 2 +CONSTANT: D2D1_GEOMETRY_RELATION_CONTAINS 3 +CONSTANT: D2D1_GEOMETRY_RELATION_OVERLAP 4 +CONSTANT: D2D1_GEOMETRY_RELATION_FORCE_DWORD HEX: ffffffff +TYPEDEF: int D2D1_GEOMETRY_RELATION + +CONSTANT: D2D1_GEOMETRY_SIMPLIFICATION_OPTION_CUBICS_AND_LINES 0 +CONSTANT: D2D1_GEOMETRY_SIMPLIFICATION_OPTION_LINES 1 +CONSTANT: D2D1_GEOMETRY_SIMPLIFICATION_OPTION_FORCE_DWORD HEX: ffffffff +TYPEDEF: int D2D1_GEOMETRY_SIMPLIFICATION_OPTION + +CONSTANT: D2D1_FIGURE_BEGIN_FILLED 0 +CONSTANT: D2D1_FIGURE_BEGIN_HOLLOW 1 +CONSTANT: D2D1_FIGURE_BEGIN_FORCE_DWORD HEX: ffffffff +TYPEDEF: int D2D1_FIGURE_BEGIN + +CONSTANT: D2D1_FIGURE_END_OPEN 0 +CONSTANT: D2D1_FIGURE_END_CLOSED 1 +CONSTANT: D2D1_FIGURE_END_FORCE_DWORD HEX: ffffffff +TYPEDEF: int D2D1_FIGURE_END + +STRUCT: D2D1_BEZIER_SEGMENT + { point1 D2D1_POINT_2F } + { point2 D2D1_POINT_2F } + { point3 D2D1_POINT_2F } ; + +STRUCT: D2D1_TRIANGLE + { point1 D2D1_POINT_2F } + { point2 D2D1_POINT_2F } + { point3 D2D1_POINT_2F } ; + +CONSTANT: D2D1_PATH_SEGMENT_NONE HEX: 00000000 +CONSTANT: D2D1_PATH_SEGMENT_FORCE_UNSTROKED HEX: 00000001 +CONSTANT: D2D1_PATH_SEGMENT_FORCE_ROUND_LINE_JOIN HEX: 00000002 +CONSTANT: D2D1_PATH_SEGMENT_FORCE_DWORD HEX: ffffffff +TYPEDEF: int D2D1_PATH_SEGMENT + +CONSTANT: D2D1_SWEEP_DIRECTION_COUNTER_CLOCKWISE 0 +CONSTANT: D2D1_SWEEP_DIRECTION_CLOCKWISE 1 +CONSTANT: D2D1_SWEEP_DIRECTION_FORCE_DWORD HEX: ffffffff +TYPEDEF: int D2D1_SWEEP_DIRECTION + +CONSTANT: D2D1_FILL_MODE_ALTERNATE 0 +CONSTANT: D2D1_FILL_MODE_WINDING 1 +CONSTANT: D2D1_FILL_MODE_FORCE_DWORD HEX: ffffffff +TYPEDEF: int D2D1_FILL_MODE + +STRUCT: D2D1_ARC_SEGMENT + { point D2D1_POINT_2F } + { size D2D1_SIZE_F } + { rotationAngle FLOAT } + { sweepDirection D2D1_SWEEP_DIRECTION } + { arcSize D2D1_ARC_SIZE } ; + +STRUCT: D2D1_QUADRATIC_BEZIER_SEGMENT + { point1 D2D1_POINT_2F } + { point2 D2D1_POINT_2F } ; + +STRUCT: D2D1_ELLIPSE + { point D2D1_POINT_2F } + { radiusX FLOAT } + { radiusY FLOAT } ; + +STRUCT: D2D1_ROUNDED_RECT + { rect D2D1_RECT_F } + { radiusX FLOAT } + { radiusY FLOAT } ; + +STRUCT: D2D1_STROKE_STYLE_PROPERTIES + { startCap D2D1_CAP_STYLE } + { endCap D2D1_CAP_STYLE } + { dashCap D2D1_CAP_STYLE } + { lineJoin D2D1_LINE_JOIN } + { miterLimit FLOAT } + { dashStyle D2D1_DASH_STYLE } + { dashOffset FLOAT } ; + +CONSTANT: D2D1_LAYER_OPTIONS_NONE HEX: 00000000 +CONSTANT: D2D1_LAYER_OPTIONS_INITIALIZE_FOR_CLEARTYPE HEX: 00000001 +CONSTANT: D2D1_LAYER_OPTIONS_FORCE_DWORD HEX: ffffffff +TYPEDEF: int D2D1_LAYER_OPTIONS + +C-TYPE: ID2D1Geometry +C-TYPE: ID2D1Brush +C-TYPE: ID2D1RenderTarget + +STRUCT: D2D1_LAYER_PARAMETERS + { contentBounds D2D1_RECT_F } + { geometricMask ID2D1Geometry* } + { maskAntialiasMode D2D1_ANTIALIAS_MODE } + { maskTransform D2D1_MATRIX_3X2_F } + { opacity FLOAT } + { opacityBrush ID2D1Brush* } + { layerOptions D2D1_LAYER_OPTIONS } ; + +CONSTANT: D2D1_WINDOW_STATE_NONE HEX: 00000000 +CONSTANT: D2D1_WINDOW_STATE_OCCLUDED HEX: 00000001 +CONSTANT: D2D1_WINDOW_STATE_FORCE_DWORD HEX: ffffffff +TYPEDEF: int D2D1_WINDOW_STATE + +CONSTANT: D2D1_RENDER_TARGET_TYPE_DEFAULT 0 +CONSTANT: D2D1_RENDER_TARGET_TYPE_SOFTWARE 1 +CONSTANT: D2D1_RENDER_TARGET_TYPE_HARDWARE 2 +CONSTANT: D2D1_RENDER_TARGET_TYPE_FORCE_DWORD HEX: ffffffff +TYPEDEF: int D2D1_RENDER_TARGET_TYPE + +CONSTANT: D2D1_FEATURE_LEVEL_DEFAULT 0 +CONSTANT: D2D1_FEATURE_LEVEL_9 HEX: 9100 +CONSTANT: D2D1_FEATURE_LEVEL_10 HEX: a000 +CONSTANT: D2D1_FEATURE_LEVEL_FORCE_DWORD HEX: ffffffff +TYPEDEF: int D2D1_FEATURE_LEVEL + +CONSTANT: D2D1_RENDER_TARGET_USAGE_NONE HEX: 00000000 +CONSTANT: D2D1_RENDER_TARGET_USAGE_FORCE_BITMAP_REMOTING HEX: 00000001 +CONSTANT: D2D1_RENDER_TARGET_USAGE_GDI_COMPATIBLE HEX: 00000002 +CONSTANT: D2D1_RENDER_TARGET_USAGE_FORCE_DWORD HEX: ffffffff +TYPEDEF: int D2D1_RENDER_TARGET_USAGE + +CONSTANT: D2D1_PRESENT_OPTIONS_NONE HEX: 00000000 +CONSTANT: D2D1_PRESENT_OPTIONS_RETAIN_CONTENTS HEX: 00000001 +CONSTANT: D2D1_PRESENT_OPTIONS_IMMEDIATELY HEX: 00000002 +CONSTANT: D2D1_PRESENT_OPTIONS_FORCE_DWORD HEX: ffffffff +TYPEDEF: int D2D1_PRESENT_OPTIONS + +STRUCT: D2D1_RENDER_TARGET_PROPERTIES + { type D2D1_RENDER_TARGET_TYPE } + { pixelFormat D2D1_PIXEL_FORMAT } + { dpiX FLOAT } + { dpiY FLOAT } + { usage D2D1_RENDER_TARGET_USAGE } + { minLevel D2D1_FEATURE_LEVEL } ; + +STRUCT: D2D1_HWND_RENDER_TARGET_PROPERTIES + { hwnd HWND } + { pixelSize D2D1_SIZE_U } + { presentOptions D2D1_PRESENT_OPTIONS } ; + +CONSTANT: D2D1_COMPATIBLE_RENDER_TARGET_OPTIONS_NONE HEX: 00000000 +CONSTANT: D2D1_COMPATIBLE_RENDER_TARGET_OPTIONS_GDI_COMPATIBLE HEX: 00000001 +CONSTANT: D2D1_COMPATIBLE_RENDER_TARGET_OPTIONS_FORCE_DWORD HEX: ffffffff +TYPEDEF: int D2D1_COMPATIBLE_RENDER_TARGET_OPTIONS + +STRUCT: D2D1_DRAWING_STATE_DESCRIPTION + { antialiasMode D2D1_ANTIALIAS_MODE } + { textAntialiasMode D2D1_TEXT_ANTIALIAS_MODE } + { tag1 D2D1_TAG } + { tag2 D2D1_TAG } + { transform D2D1_MATRIX_3X2_F } ; + +CONSTANT: D2D1_DC_INITIALIZE_MODE_COPY 0 +CONSTANT: D2D1_DC_INITIALIZE_MODE_CLEAR 1 +CONSTANT: D2D1_DC_INITIALIZE_MODE_FORCE_DWORD HEX: ffffffff +TYPEDEF: int D2D1_DC_INITIALIZE_MODE + +CONSTANT: D2D1_DEBUG_LEVEL_NONE 0 +CONSTANT: D2D1_DEBUG_LEVEL_ERROR 1 +CONSTANT: D2D1_DEBUG_LEVEL_WARNING 2 +CONSTANT: D2D1_DEBUG_LEVEL_INFORMATION 3 +CONSTANT: D2D1_DEBUG_LEVEL_FORCE_DWORD HEX: ffffffff +TYPEDEF: int D2D1_DEBUG_LEVEL + +CONSTANT: D2D1_FACTORY_TYPE_SINGLE_THREADED 0 +CONSTANT: D2D1_FACTORY_TYPE_MULTI_THREADED 1 +CONSTANT: D2D1_FACTORY_TYPE_FORCE_DWORD HEX: ffffffff +TYPEDEF: int D2D1_FACTORY_TYPE + +STRUCT: D2D1_FACTORY_OPTIONS + { debugLevel D2D1_DEBUG_LEVEL } ; + +COM-INTERFACE: ID2D1Resource IUnknown {2cd90691-12e2-11dc-9fed-001143a055f9} + void GetFactory ( ID2D1Factory** factory ) ; + +COM-INTERFACE: ID2D1Bitmap ID2D1Resource {a2296057-ea42-4099-983b-539fb6505426} + D2D1_SIZE_F GetSize ( ) + D2D1_SIZE_U GetPixelSize ( ) + D2D1_PIXEL_FORMAT GetPixelFormat ( ) + void GetDpi ( FLOAT* dpiX, FLOAT* dpiY ) + HRESULT CopyFromBitmap ( D2D1_POINT_2U* destPoint, ID2D1Bitmap* bitmap, D2D1_RECT_U* srcRect ) + HRESULT CopyFromRenderTarget ( D2D1_POINT_2U* destPoint, ID2D1RenderTarget* renderTarget, D2D1_RECT_U* srcRect ) + HRESULT CopyFromMemory ( D2D1_RECT_U* dstRect, void* srcData, UINT32 pitch ) ; + +COM-INTERFACE: ID2D1GradientStopCollection ID2D1Resource {2cd906a7-12e2-11dc-9fed-001143a055f9} + UINT32 GetGradientStopCount ( ) + void GetGradientStops ( D2D1_GRADIENT_STOP* gradientStops, UINT gradientStopsCount ) + D2D1_GAMMA GetColorInterpolationGamma ( ) + D2D1_EXTEND_MODE GetExtendMode ( ) ; + +COM-INTERFACE: ID2D1Brush ID2D1Resource {2cd906a8-12e2-11dc-9fed-001143a055f9} + void SetOpacity ( FLOAT opacity ) + void SetTransform ( D2D1_MATRIX_3X2_F* transform ) + FLOAT GetOpacity ( ) + void GetTransform ( D2D1_MATRIX_3X2_F* transform ) ; + +COM-INTERFACE: ID2D1BitmapBrush ID2D1Brush {2cd906aa-12e2-11dc-9fed-001143a055f9} + void SetExtendModeX ( D2D1_EXTEND_MODE extendModeX ) + void SetExtendModeY ( D2D1_EXTEND_MODE extendModeY ) + void SetInterpolationMode ( D2D1_BITMAP_INTERPOLATION_MODE interpolationMode ) + void SetBitmap ( ID2D1Bitmap* bitmap ) + D2D1_EXTEND_MODE GetExtendModeX ( ) + D2D1_EXTEND_MODE GetExtendModeY ( ) + D2D1_BITMAP_INTERPOLATION_MODE GetInterpolationMode ( ) + void GetBitmap ( ID2D1Bitmap** bitmap ) ; + +COM-INTERFACE: ID2D1SolidColorBrush ID2D1Brush {2cd906a9-12e2-11dc-9fed-001143a055f9} + void SetColor ( D2D1_COLOR_F* color ) + D2D1_COLOR_F GetColor ( ) ; + +COM-INTERFACE: ID2D1LinearGradientBrush ID2D1Brush {2cd906ab-12e2-11dc-9fed-001143a055f9} + void SetStartPoint ( D2D1_POINT_2F startPoint ) + void SetEndPoint ( D2D1_POINT_2F endPoint ) + D2D1_POINT_2F GetStartPoint ( ) + D2D1_POINT_2F GetEndPoint ( ) + void GetGradientStopCollection ( ID2D1GradientStopCollection** gradientStopCollection ) ; + +COM-INTERFACE: ID2D1RadialGradientBrush ID2D1Brush {2cd906ac-12e2-11dc-9fed-001143a055f9} + void SetCenter ( D2D1_POINT_2F center ) + void SetGradientOriginOffset ( D2D1_POINT_2F gradientOriginOffset ) + void SetRadiusX ( FLOAT radiusX ) + void SetRadiusY ( FLOAT radiusY ) + D2D1_POINT_2F GetCenter ( ) + D2D1_POINT_2F GetGradientOriginOffset ( ) + FLOAT GetRadiusX ( ) + FLOAT GetRadiusY ( ) + void GetGradientStopCollection ( ID2D1GradientStopCollection** gradientStopCollection ) ; + +COM-INTERFACE: ID2D1StrokeStyle ID2D1Resource {2cd9069d-12e2-11dc-9fed-001143a055f9} + D2D1_CAP_STYLE GetStartCap ( ) + D2D1_CAP_STYLE GetEndCap ( ) + D2D1_CAP_STYLE GetDashCap ( ) + FLOAT GetMiterLimit ( ) + D2D1_LINE_JOIN GetLineJoin ( ) + FLOAT GetDashOffset ( ) + D2D1_DASH_STYLE GetDashStyle ( ) + UINT32 GetDashesCount ( ) + void GetDashes ( FLOAT* dashes, UINT dashesCount ) ; + +C-TYPE: ID2D1SimplifiedGeometrySink +C-TYPE: ID2D1TessellationSink + +COM-INTERFACE: ID2D1Geometry ID2D1Resource {2cd906a1-12e2-11dc-9fed-001143a055f9} + HRESULT GetBounds ( D2D1_MATRIX_3X2_F* worldTransform, D2D1_RECT_F* bounds ) + HRESULT GetWidenedBounds ( FLOAT strokeWidth, ID2D1StrokeStyle* strokeStyle, D2D1_MATRIX_3X2_F* worldTransform, FLOAT flatteningTolerance, D2D1_RECT_F* bounds ) + HRESULT StrokeContainsPoint ( D2D1_POINT_2F point, FLOAT strokeWidth, ID2D1StrokeStyle* strokeStyle, D2D1_MATRIX_3X2_F* worldTransform, FLOAT flatteningTolerance, BOOL* contains ) + HRESULT FillContainsPoint ( D2D1_POINT_2F point, D2D1_MATRIX_3X2_F* worldTransform, FLOAT flatteningTolerance, BOOL* contains ) + HRESULT CompareWithGeometry ( ID2D1Geometry* inputGeometry, D2D1_MATRIX_3X2_F* inputGeometryTransform, FLOAT flatteningTolerance, D2D1_GEOMETRY_RELATION* relation ) + HRESULT Simplify ( D2D1_GEOMETRY_SIMPLIFICATION_OPTION simplificationOption, D2D1_MATRIX_3X2_F* worldTransform, FLOAT flatteningTolerance, ID2D1SimplifiedGeometrySink* geometrySink ) + HRESULT Tessellate ( D2D1_MATRIX_3X2_F* worldTransform, FLOAT flatteningTolerance, ID2D1TessellationSink* tessellationSink ) + HRESULT CombineWithGeometry ( ID2D1Geometry* inputGeometry, D2D1_COMBINE_MODE combineMode, D2D1_MATRIX_3X2_F* inputGeometryTransform, FLOAT flatteningTolerance, ID2D1SimplifiedGeometrySink* geometrySink ) + HRESULT Outline ( D2D1_MATRIX_3X2_F* worldTransform, FLOAT flatteningTolerance, ID2D1SimplifiedGeometrySink* geometrySink ) + HRESULT ComputeArea ( D2D1_MATRIX_3X2_F* worldTransform, FLOAT flatteningTolerance, FLOAT* area ) + HRESULT ComputeLength ( D2D1_MATRIX_3X2_F* worldTransform, FLOAT flatteningTolerance, FLOAT* length ) + HRESULT ComputePointAtLength ( FLOAT length, D2D1_MATRIX_3X2_F* worldTransform, FLOAT flatteningTolerance, D2D1_POINT_2F* point, D2D1_POINT_2F* unitTangentVector ) + HRESULT Widen ( FLOAT strokeWidth, ID2D1StrokeStyle* strokeStyle, D2D1_MATRIX_3X2_F* worldTransform, FLOAT flatteningTolerance, ID2D1SimplifiedGeometrySink* geometrySink ) ; + +COM-INTERFACE: ID2D1RectangleGeometry ID2D1Geometry {2cd906a2-12e2-11dc-9fed-001143a055f9} + void GetRect ( D2D1_RECT_F* rect ) ; + +COM-INTERFACE: ID2D1RoundedRectangleGeometry ID2D1Geometry {2cd906a3-12e2-11dc-9fed-001143a055f9} + void GetRoundedRect ( D2D1_ROUNDED_RECT* roundedRect ) ; + +COM-INTERFACE: ID2D1EllipseGeometry ID2D1Geometry {2cd906a4-12e2-11dc-9fed-001143a055f9} + void GetEllipse ( D2D1_ELLIPSE* ellipse ) ; + +COM-INTERFACE: ID2D1GeometryGroup ID2D1Geometry {2cd906a6-12e2-11dc-9fed-001143a055f9} + D2D1_FILL_MODE GetFillMode ( ) + UINT32 GetSourceGeometryCount ( ) + void GetSourceGeometries ( ID2D1Geometry** geometries, UINT geometriesCount ) ; + +COM-INTERFACE: ID2D1TransformedGeometry ID2D1Geometry {2cd906bb-12e2-11dc-9fed-001143a055f9} + void GetSourceGeometry ( ID2D1Geometry** sourceGeometry ) + void GetTransform ( D2D1_MATRIX_3X2_F* transform ) ; + +COM-INTERFACE: ID2D1SimplifiedGeometrySink IUnknown {2cd9069e-12e2-11dc-9fed-001143a055f9} + void SetFillMode ( D2D1_FILL_MODE fillMode ) + void SetSegmentFlags ( D2D1_PATH_SEGMENT vertexFlags ) + void BeginFigure ( D2D1_POINT_2F startPoint, D2D1_FIGURE_BEGIN figureBegin ) + void AddLines ( D2D1_POINT_2F* points, UINT pointsCount ) + void AddBeziers ( D2D1_BEZIER_SEGMENT* beziers, UINT beziersCount ) + void EndFigure ( D2D1_FIGURE_END figureEnd ) + HRESULT Close ( ) ; + +COM-INTERFACE: ID2D1GeometrySink ID2D1SimplifiedGeometrySink {2cd9069f-12e2-11dc-9fed-001143a055f9} + void AddLine ( D2D1_POINT_2F point ) + void AddBezier ( D2D1_BEZIER_SEGMENT* bezier ) + void AddQuadraticBezier ( D2D1_QUADRATIC_BEZIER_SEGMENT* bezier ) + void AddQuadraticBeziers ( D2D1_QUADRATIC_BEZIER_SEGMENT* beziers, UINT beziersCount ) + void AddArc ( D2D1_ARC_SEGMENT* arc ) ; + +COM-INTERFACE: ID2D1TessellationSink IUnknown {2cd906c1-12e2-11dc-9fed-001143a055f9} + void AddTriangles ( D2D1_TRIANGLE* triangles, UINT trianglesCount ) + HRESULT Close ( ) ; + +COM-INTERFACE: ID2D1PathGeometry ID2D1Geometry {2cd906a5-12e2-11dc-9fed-001143a055f9} + HRESULT Open ( ID2D1GeometrySink** geometrySink ) + HRESULT Stream ( ID2D1GeometrySink* geometrySink ) + HRESULT GetSegmentCount ( UINT32* count ) + HRESULT GetFigureCount ( UINT32* count ) ; + +COM-INTERFACE: ID2D1Mesh ID2D1Resource {2cd906c2-12e2-11dc-9fed-001143a055f9} + HRESULT Open ( ID2D1TessellationSink** tessellationSink ) ; + +COM-INTERFACE: ID2D1Layer ID2D1Resource {2cd9069b-12e2-11dc-9fed-001143a055f9} + D2D1_SIZE_F GetSize ( ) ; + +C-TYPE: IDWriteRenderingParams + +COM-INTERFACE: ID2D1DrawingStateBlock ID2D1Resource {28506e39-ebf6-46a1-bb47-fd85565ab957} + void GetDescription ( D2D1_DRAWING_STATE_DESCRIPTION* stateDescription ) + void SetDescription ( D2D1_DRAWING_STATE_DESCRIPTION* stateDescription ) + void SetTextRenderingParams ( IDWriteRenderingParams* textRenderingParams ) + void GetTextRenderingParams ( IDWriteRenderingParams** textRenderingParams ) ; + +C-TYPE: IWICBitmapSource +C-TYPE: IWICBitmap +C-TYPE: IDWriteTextFormat +C-TYPE: IDWriteTextLayout +C-TYPE: DWRITE_GLYPH_RUN + +COM-INTERFACE: ID2D1RenderTarget ID2D1Resource {2cd90694-12e2-11dc-9fed-001143a055f9} + HRESULT CreateBitmap ( D2D1_SIZE_U size, void* srcData, UINT32 pitch, D2D1_BITMAP_PROPERTIES* bitmapProperties, ID2D1Bitmap** bitmap ) + HRESULT CreateBitmapFromWicBitmap ( IWICBitmapSource* wicBitmapSource, D2D1_BITMAP_PROPERTIES* bitmapProperties, ID2D1Bitmap** bitmap ) + HRESULT CreateSharedBitmap ( REFIID riid, void* data, D2D1_BITMAP_PROPERTIES* bitmapProperties, ID2D1Bitmap** bitmap ) + HRESULT CreateBitmapBrush ( ID2D1Bitmap* bitmap, D2D1_BITMAP_BRUSH_PROPERTIES* bitmapBrushProperties, D2D1_BRUSH_PROPERTIES* brushProperties, ID2D1BitmapBrush** bitmapBrush ) + HRESULT CreateSolidColorBrush ( D2D1_COLOR_F* color, D2D1_BRUSH_PROPERTIES* brushProperties, ID2D1SolidColorBrush** solidColorBrush ) + HRESULT CreateGradientStopCollection ( D2D1_GRADIENT_STOP* gradientStops, UINT gradientStopsCount, D2D1_GAMMA colorInterpolationGamma, D2D1_EXTEND_MODE extendMode, ID2D1GradientStopCollection** gradientStopCollection ) + HRESULT CreateLinearGradientBrush ( D2D1_LINEAR_GRADIENT_BRUSH_PROPERTIES* linearGradientBrushProperties, D2D1_BRUSH_PROPERTIES* brushProperties, ID2D1GradientStopCollection* gradientStopCollection, ID2D1LinearGradientBrush** linearGradientBrush ) + HRESULT CreateRadialGradientBrush ( D2D1_RADIAL_GRADIENT_BRUSH_PROPERTIES* radialGradientBrushProperties, D2D1_BRUSH_PROPERTIES* brushProperties, ID2D1GradientStopCollection* gradientStopCollection, ID2D1RadialGradientBrush** radialGradientBrush ) + HRESULT CreateCompatibleRenderTarget ( D2D1_SIZE_F* desiredSize, D2D1_SIZE_U* desiredPixelSize, D2D1_PIXEL_FORMAT* desiredFormat, D2D1_COMPATIBLE_RENDER_TARGET_OPTIONS options, ID2D1BitmapRenderTarget** bitmapRenderTarget ) + HRESULT CreateLayer ( D2D1_SIZE_F* size, ID2D1Layer** layer ) + HRESULT CreateMesh ( ID2D1Mesh** mesh ) + void DrawLine ( D2D1_POINT_2F point0, D2D1_POINT_2F point1, ID2D1Brush* brush, FLOAT strokeWidth, ID2D1StrokeStyle* strokeStyle ) + void DrawRectangle ( D2D1_RECT_F* rect, ID2D1Brush* brush, FLOAT strokeWidth, ID2D1StrokeStyle* strokeStyle ) + void FillRectangle ( D2D1_RECT_F* rect, ID2D1Brush* brush ) + void DrawRoundedRectangle ( D2D1_ROUNDED_RECT* roundedRect, ID2D1Brush* brush, FLOAT strokeWidth, ID2D1StrokeStyle* strokeStyle ) + void FillRoundedRectangle ( D2D1_ROUNDED_RECT* roundedRect, ID2D1Brush* brush ) + void DrawEllipse ( D2D1_ELLIPSE* ellipse, ID2D1Brush* brush, FLOAT strokeWidth, ID2D1StrokeStyle* strokeStyle ) + void FillEllipse ( D2D1_ELLIPSE* ellipse, ID2D1Brush* brush ) + void DrawGeometry ( ID2D1Geometry* geometry, ID2D1Brush* brush, FLOAT strokeWidth, ID2D1StrokeStyle* strokeStyle ) + void FillGeometry ( ID2D1Geometry* geometry, ID2D1Brush* brush, ID2D1Brush* opacityBrush ) + void FillMesh ( ID2D1Mesh* mesh, ID2D1Brush* brush ) + void FillOpacityMask ( ID2D1Bitmap* opacityMask, ID2D1Brush* brush, D2D1_OPACITY_MASK_CONTENT content, D2D1_RECT_F* destinationRectangle, D2D1_RECT_F* sourceRectangle ) + void DrawBitmap ( ID2D1Bitmap* bitmap, D2D1_RECT_F* destinationRectangle, FLOAT opacity, D2D1_BITMAP_INTERPOLATION_MODE interpolationMode, D2D1_RECT_F* sourceRectangle ) + void DrawText ( WCHAR* string, UINT stringLength, IDWriteTextFormat* textFormat, D2D1_RECT_F* layoutRect, ID2D1Brush* defaultForegroundBrush, D2D1_DRAW_TEXT_OPTIONS options, DWRITE_MEASURING_MODE measuringMode ) + void DrawTextLayout ( D2D1_POINT_2F origin, IDWriteTextLayout* textLayout, ID2D1Brush* defaultForegroundBrush, D2D1_DRAW_TEXT_OPTIONS options ) + void DrawGlyphRun ( D2D1_POINT_2F baselineOrigin, DWRITE_GLYPH_RUN* glyphRun, ID2D1Brush* foregroundBrush, DWRITE_MEASURING_MODE measuringMode ) + void SetTransform ( D2D1_MATRIX_3X2_F* transform ) + void GetTransform ( D2D1_MATRIX_3X2_F* transform ) + void SetAntialiasMode ( D2D1_ANTIALIAS_MODE antialiasMode ) + D2D1_ANTIALIAS_MODE GetAntialiasMode ( ) + void SetTextAntialiasMode ( D2D1_TEXT_ANTIALIAS_MODE textAntialiasMode ) + D2D1_TEXT_ANTIALIAS_MODE GetTextAntialiasMode ( ) + void SetTextRenderingParams ( IDWriteRenderingParams* textRenderingParams ) + void GetTextRenderingParams ( IDWriteRenderingParams** textRenderingParams ) + void SetTags ( D2D1_TAG tag1, D2D1_TAG tag2 ) + void GetTags ( D2D1_TAG* tag1, D2D1_TAG* tag2 ) + void PushLayer ( D2D1_LAYER_PARAMETERS* layerParameters, ID2D1Layer* layer ) + void PopLayer ( ) + HRESULT Flush ( D2D1_TAG* tag1, D2D1_TAG* tag2 ) + void SaveDrawingState ( ID2D1DrawingStateBlock* drawingStateBlock ) + void RestoreDrawingState ( ID2D1DrawingStateBlock* drawingStateBlock ) + void PushAxisAlignedClip ( D2D1_RECT_F* clipRect, D2D1_ANTIALIAS_MODE antialiasMode ) + void PopAxisAlignedClip ( ) + void Clear ( D2D1_COLOR_F* clearColor ) + void BeginDraw ( ) + HRESULT EndDraw ( D2D1_TAG* tag1, D2D1_TAG* tag2 ) + D2D1_PIXEL_FORMAT GetPixelFormat ( ) + void SetDpi ( FLOAT dpiX, FLOAT dpiY ) + void GetDpi ( FLOAT* dpiX, FLOAT* dpiY ) + D2D1_SIZE_F GetSize ( ) + D2D1_SIZE_U GetPixelSize ( ) + UINT32 GetMaximumBitmapSize ( ) + BOOL IsSupported ( D2D1_RENDER_TARGET_PROPERTIES* renderTargetProperties ) ; + +COM-INTERFACE: ID2D1BitmapRenderTarget ID2D1RenderTarget {2cd90695-12e2-11dc-9fed-001143a055f9} + HRESULT GetBitmap ( ID2D1Bitmap** bitmap ) ; + +COM-INTERFACE: ID2D1HwndRenderTarget ID2D1RenderTarget {2cd90698-12e2-11dc-9fed-001143a055f9} + D2D1_WINDOW_STATE CheckWindowState ( ) + HRESULT Resize ( D2D1_SIZE_U* pixelSize ) + HWND GetHwnd ( ) ; + +COM-INTERFACE: ID2D1GdiInteropRenderTarget IUnknown {e0db51c3-6f77-4bae-b3d5-e47509b35838} + HRESULT GetDC ( D2D1_DC_INITIALIZE_MODE mode, HDC* hdc ) + HRESULT ReleaseDC ( RECT* update ) ; + +COM-INTERFACE: ID2D1DCRenderTarget ID2D1RenderTarget {1c51bc64-de61-46fd-9899-63a5d8f03950} + HRESULT BindDC ( HDC hDC, RECT* pSubRect ) ; + +COM-INTERFACE: ID2D1Factory IUnknown {06152247-6f50-465a-9245-118bfd3b6007} + HRESULT ReloadSystemMetrics ( ) + void GetDesktopDpi ( FLOAT* dpiX, FLOAT* dpiY ) + HRESULT CreateRectangleGeometry ( D2D1_RECT_F* rectangle, ID2D1RectangleGeometry** rectangleGeometry ) + HRESULT CreateRoundedRectangleGeometry ( D2D1_ROUNDED_RECT* roundedRectangle, ID2D1RoundedRectangleGeometry** roundedRectangleGeometry ) + HRESULT CreateEllipseGeometry ( D2D1_ELLIPSE* ellipse, ID2D1EllipseGeometry** ellipseGeometry ) + HRESULT CreateGeometryGroup ( D2D1_FILL_MODE fillMode, ID2D1Geometry** geometries, UINT geometriesCount, ID2D1GeometryGroup** geometryGroup ) + HRESULT CreateTransformedGeometry ( ID2D1Geometry* sourceGeometry, D2D1_MATRIX_3X2_F* transform, ID2D1TransformedGeometry** transformedGeometry ) + HRESULT CreatePathGeometry ( ID2D1PathGeometry** pathGeometry ) + HRESULT CreateStrokeStyle ( D2D1_STROKE_STYLE_PROPERTIES* strokeStyleProperties, FLOAT* dashes, UINT dashesCount, ID2D1StrokeStyle** strokeStyle ) + HRESULT CreateDrawingStateBlock ( D2D1_DRAWING_STATE_DESCRIPTION* drawingStateDescription, IDWriteRenderingParams* textRenderingParams, ID2D1DrawingStateBlock** drawingStateBlock ) + HRESULT CreateWicBitmapRenderTarget ( IWICBitmap* target, D2D1_RENDER_TARGET_PROPERTIES* renderTargetProperties, ID2D1RenderTarget** renderTarget ) + HRESULT CreateHwndRenderTarget ( D2D1_RENDER_TARGET_PROPERTIES* renderTargetProperties, D2D1_HWND_RENDER_TARGET_PROPERTIES* hwndRenderTargetProperties, ID2D1HwndRenderTarget** hwndRenderTarget ) + HRESULT CreateDxgiSurfaceRenderTarget ( IDXGISurface* dxgiSurface, D2D1_RENDER_TARGET_PROPERTIES* renderTargetProperties, ID2D1RenderTarget** renderTarget ) + HRESULT CreateDCRenderTarget ( D2D1_RENDER_TARGET_PROPERTIES* renderTargetProperties, ID2D1DCRenderTarget** dcRenderTarget ) ; + +FUNCTION: HRESULT D2D1CreateFactory ( + D2D1_FACTORY_TYPE factoryType, + REFIID riid, + D2D1_FACTORY_OPTIONS* pFactoryOptions, + void** ppIFactory ) ; + +FUNCTION: void D2D1MakeRotateMatrix ( + FLOAT angle, + D2D1_POINT_2F center, + D2D1_MATRIX_3X2_F* matrix ) ; + +FUNCTION: void D2D1MakeSkewMatrix ( + FLOAT angleX, + FLOAT angleY, + D2D1_POINT_2F center, + D2D1_MATRIX_3X2_F* matrix ) ; + +FUNCTION: BOOL D2D1IsMatrixInvertible ( + D2D1_MATRIX_3X2_F* matrix ) ; + +FUNCTION: BOOL D2D1InvertMatrix ( + D2D1_MATRIX_3X2_F* matrix ) ; + diff --git a/basis/windows/directx/d2d1/summary.txt b/basis/windows/directx/d2d1/summary.txt new file mode 100644 index 0000000000..de9706eaaa --- /dev/null +++ b/basis/windows/directx/d2d1/summary.txt @@ -0,0 +1 @@ +Direct2D bindings. Corresponds to d2d1.h. diff --git a/basis/windows/directx/d2d1/tags.txt b/basis/windows/directx/d2d1/tags.txt new file mode 100644 index 0000000000..2320bdd648 --- /dev/null +++ b/basis/windows/directx/d2d1/tags.txt @@ -0,0 +1,2 @@ +unportable +bindings diff --git a/basis/windows/directx/d2dbasetypes/authors.txt b/basis/windows/directx/d2dbasetypes/authors.txt new file mode 100644 index 0000000000..6f03a12101 --- /dev/null +++ b/basis/windows/directx/d2dbasetypes/authors.txt @@ -0,0 +1 @@ +Erik Charlebois diff --git a/basis/windows/directx/d2dbasetypes/d2dbasetypes.factor b/basis/windows/directx/d2dbasetypes/d2dbasetypes.factor new file mode 100644 index 0000000000..00f84e9750 --- /dev/null +++ b/basis/windows/directx/d2dbasetypes/d2dbasetypes.factor @@ -0,0 +1,46 @@ +USING: alien.syntax classes.struct windows.types ; +IN: windows.directx.d3dbasetypes + +STRUCT: D3DCOLORVALUE + { r FLOAT } + { g FLOAT } + { b FLOAT } + { a FLOAT } ; + +STRUCT: D2D_POINT_2U + { x UINT32 } + { y UINT32 } ; + +STRUCT: D2D_POINT_2F + { x FLOAT } + { y FLOAT } ; + +STRUCT: D2D_RECT_F + { left FLOAT } + { top FLOAT } + { right FLOAT } + { bottom FLOAT } ; + +STRUCT: D2D_RECT_U + { left UINT32 } + { top UINT32 } + { right UINT32 } + { bottom UINT32 } ; + +STRUCT: D2D_SIZE_F + { width FLOAT } + { height FLOAT } ; + +STRUCT: D2D_SIZE_U + { width UINT32 } + { height UINT32 } ; + +TYPEDEF: D3DCOLORVALUE D2D_COLOR_F + +STRUCT: D2D_MATRIX_3X2_F + { _11 FLOAT } + { _12 FLOAT } + { _21 FLOAT } + { _22 FLOAT } + { _31 FLOAT } + { _32 FLOAT } ; diff --git a/basis/windows/directx/d2dbasetypes/summary.txt b/basis/windows/directx/d2dbasetypes/summary.txt new file mode 100644 index 0000000000..e40000d105 --- /dev/null +++ b/basis/windows/directx/d2dbasetypes/summary.txt @@ -0,0 +1 @@ +Direct2D bindings. Corresponds to d2dbasetypes.h. diff --git a/basis/windows/directx/d2dbasetypes/tags.txt b/basis/windows/directx/d2dbasetypes/tags.txt new file mode 100644 index 0000000000..2320bdd648 --- /dev/null +++ b/basis/windows/directx/d2dbasetypes/tags.txt @@ -0,0 +1,2 @@ +unportable +bindings diff --git a/basis/windows/directx/d2derr/authors.txt b/basis/windows/directx/d2derr/authors.txt new file mode 100644 index 0000000000..6f03a12101 --- /dev/null +++ b/basis/windows/directx/d2derr/authors.txt @@ -0,0 +1 @@ +Erik Charlebois diff --git a/basis/windows/directx/d2derr/d2derr.factor b/basis/windows/directx/d2derr/d2derr.factor new file mode 100644 index 0000000000..1e5d891aaa --- /dev/null +++ b/basis/windows/directx/d2derr/d2derr.factor @@ -0,0 +1,34 @@ +USING: ; +IN: windows.directx.d2derr + +CONSTANT: D2DERR_UNSUPPORTED_PIXEL_FORMAT HEX: 88982f80 +CONSTANT: D2DERR_INSUFFICIENT_BUFFER HEX: 80007007a +CONSTANT: D2DERR_WRONG_STATE HEX: 88990001 +CONSTANT: D2DERR_NOT_INITIALIZED HEX: 88990002 +CONSTANT: D2DERR_UNSUPPORTED_OPERATION HEX: 88990003 +CONSTANT: D2DERR_SCANNER_FAILED HEX: 88990004 +CONSTANT: D2DERR_SCREEN_ACCESS_DENIED HEX: 88990005 +CONSTANT: D2DERR_DISPLAY_STATE_INVALID HEX: 88990006 +CONSTANT: D2DERR_ZERO_VECTOR HEX: 88990007 +CONSTANT: D2DERR_INTERNAL_ERROR HEX: 88990008 +CONSTANT: D2DERR_DISPLAY_FORMAT_NOT_SUPPORTED HEX: 88990009 +CONSTANT: D2DERR_INVALID_CALL HEX: 8899000A +CONSTANT: D2DERR_NO_HARDWARE_DEVICE HEX: 8899000B +CONSTANT: D2DERR_RECREATE_TARGET HEX: 8899000C +CONSTANT: D2DERR_TOO_MANY_SHADER_ELEMENTS HEX: 8899000D +CONSTANT: D2DERR_SHADER_COMPILE_FAILED HEX: 8899000E +CONSTANT: D2DERR_MAX_TEXTURE_SIZE_EXCEEDED HEX: 8899000F +CONSTANT: D2DERR_UNSUPPORTED_VERSION HEX: 88990010 +CONSTANT: D2DERR_BAD_NUMBER HEX: 88990011 +CONSTANT: D2DERR_WRONG_FACTORY HEX: 88990012 +CONSTANT: D2DERR_LAYER_ALREADY_IN_USE HEX: 88990013 +CONSTANT: D2DERR_POP_CALL_DID_NOT_MATCH_PUSH HEX: 88990014 +CONSTANT: D2DERR_WRONG_RESOURCE_DOMAIN HEX: 88990015 +CONSTANT: D2DERR_PUSH_POP_UNBALANCED HEX: 88990016 +CONSTANT: D2DERR_RENDER_TARGET_HAS_LAYER_OR_CLIPRECT HEX: 88990017 +CONSTANT: D2DERR_INCOMPATIBLE_BRUSH_TYPES HEX: 88990018 +CONSTANT: D2DERR_WIN32_ERROR HEX: 88990019 +CONSTANT: D2DERR_TARGET_NOT_GDI_COMPATIBLE HEX: 8899001A +CONSTANT: D2DERR_TEXT_EFFECT_IS_WRONG_TYPE HEX: 8899001B +CONSTANT: D2DERR_TEXT_RENDERER_NOT_RELEASED HEX: 8899001C +CONSTANT: D2DERR_EXCEEDS_MAX_BITMAP_SIZE HEX: 8899001D diff --git a/basis/windows/directx/d2derr/summary.txt b/basis/windows/directx/d2derr/summary.txt new file mode 100644 index 0000000000..a86f192479 --- /dev/null +++ b/basis/windows/directx/d2derr/summary.txt @@ -0,0 +1 @@ +Direct2D bindings. Corresponds to d2derr.h. diff --git a/basis/windows/directx/d2derr/tags.txt b/basis/windows/directx/d2derr/tags.txt new file mode 100644 index 0000000000..2320bdd648 --- /dev/null +++ b/basis/windows/directx/d2derr/tags.txt @@ -0,0 +1,2 @@ +unportable +bindings diff --git a/basis/windows/directx/d3d10/authors.txt b/basis/windows/directx/d3d10/authors.txt new file mode 100644 index 0000000000..6f03a12101 --- /dev/null +++ b/basis/windows/directx/d3d10/authors.txt @@ -0,0 +1 @@ +Erik Charlebois diff --git a/basis/windows/directx/d3d10/d3d10.factor b/basis/windows/directx/d3d10/d3d10.factor new file mode 100644 index 0000000000..561aa47acd --- /dev/null +++ b/basis/windows/directx/d3d10/d3d10.factor @@ -0,0 +1,1051 @@ +USING: alien.syntax alien.c-types classes.struct windows.types +windows.directx.dxgiformat windows.com.syntax windows.com windows.ole32 +windows.directx.dxgitype ; +IN: windows.directx.d3d10 + +LIBRARY: d3d10 + +CONSTANT: D3D10_16BIT_INDEX_STRIP_CUT_VALUE HEX: ffff +CONSTANT: D3D10_32BIT_INDEX_STRIP_CUT_VALUE HEX: ffffffff +CONSTANT: D3D10_8BIT_INDEX_STRIP_CUT_VALUE HEX: ff +CONSTANT: D3D10_ARRAY_AXIS_ADDRESS_RANGE_BIT_COUNT 9 +CONSTANT: D3D10_CLIP_OR_CULL_DISTANCE_COUNT 8 +CONSTANT: D3D10_CLIP_OR_CULL_DISTANCE_ELEMENT_COUNT 2 +CONSTANT: D3D10_COMMONSHADER_CONSTANT_BUFFER_API_SLOT_COUNT 14 +CONSTANT: D3D10_COMMONSHADER_CONSTANT_BUFFER_COMPONENTS 4 +CONSTANT: D3D10_COMMONSHADER_CONSTANT_BUFFER_COMPONENT_BIT_COUNT 32 +CONSTANT: D3D10_COMMONSHADER_CONSTANT_BUFFER_HW_SLOT_COUNT 15 +CONSTANT: D3D10_COMMONSHADER_CONSTANT_BUFFER_REGISTER_COMPONENTS 4 +CONSTANT: D3D10_COMMONSHADER_CONSTANT_BUFFER_REGISTER_COUNT 15 +CONSTANT: D3D10_COMMONSHADER_CONSTANT_BUFFER_REGISTER_READS_PER_INST 1 +CONSTANT: D3D10_COMMONSHADER_CONSTANT_BUFFER_REGISTER_READ_PORTS 1 +CONSTANT: D3D10_COMMONSHADER_FLOWCONTROL_NESTING_LIMIT 64 +CONSTANT: D3D10_COMMONSHADER_IMMEDIATE_CONSTANT_BUFFER_REGISTER_COMPONENTS 4 +CONSTANT: D3D10_COMMONSHADER_IMMEDIATE_CONSTANT_BUFFER_REGISTER_COUNT 1 +CONSTANT: D3D10_COMMONSHADER_IMMEDIATE_CONSTANT_BUFFER_REGISTER_READS_PER_INST 1 +CONSTANT: D3D10_COMMONSHADER_IMMEDIATE_CONSTANT_BUFFER_REGISTER_READ_PORTS 1 +CONSTANT: D3D10_COMMONSHADER_IMMEDIATE_VALUE_COMPONENT_BIT_COUNT 32 +CONSTANT: D3D10_COMMONSHADER_INPUT_RESOURCE_REGISTER_COMPONENTS 1 +CONSTANT: D3D10_COMMONSHADER_INPUT_RESOURCE_REGISTER_COUNT 128 +CONSTANT: D3D10_COMMONSHADER_INPUT_RESOURCE_REGISTER_READS_PER_INST 1 +CONSTANT: D3D10_COMMONSHADER_INPUT_RESOURCE_REGISTER_READ_PORTS 1 +CONSTANT: D3D10_COMMONSHADER_INPUT_RESOURCE_SLOT_COUNT 128 +CONSTANT: D3D10_COMMONSHADER_SAMPLER_REGISTER_COMPONENTS 1 +CONSTANT: D3D10_COMMONSHADER_SAMPLER_REGISTER_COUNT 16 +CONSTANT: D3D10_COMMONSHADER_SAMPLER_REGISTER_READS_PER_INST 1 +CONSTANT: D3D10_COMMONSHADER_SAMPLER_REGISTER_READ_PORTS 1 +CONSTANT: D3D10_COMMONSHADER_SAMPLER_SLOT_COUNT 16 +CONSTANT: D3D10_COMMONSHADER_SUBROUTINE_NESTING_LIMIT 32 +CONSTANT: D3D10_COMMONSHADER_TEMP_REGISTER_COMPONENTS 4 +CONSTANT: D3D10_COMMONSHADER_TEMP_REGISTER_COMPONENT_BIT_COUNT 32 +CONSTANT: D3D10_COMMONSHADER_TEMP_REGISTER_COUNT 4096 +CONSTANT: D3D10_COMMONSHADER_TEMP_REGISTER_READS_PER_INST 3 +CONSTANT: D3D10_COMMONSHADER_TEMP_REGISTER_READ_PORTS 3 +CONSTANT: D3D10_COMMONSHADER_TEXCOORD_RANGE_REDUCTION_MAX 10 +CONSTANT: D3D10_COMMONSHADER_TEXCOORD_RANGE_REDUCTION_MIN -10 +CONSTANT: D3D10_COMMONSHADER_TEXEL_OFFSET_MAX_NEGATIVE -8 +CONSTANT: D3D10_COMMONSHADER_TEXEL_OFFSET_MAX_POSITIVE 7 +CONSTANT: D3D10_DEFAULT_BLEND_FACTOR_ALPHA 1.0 +CONSTANT: D3D10_DEFAULT_BLEND_FACTOR_BLUE 1.0 +CONSTANT: D3D10_DEFAULT_BLEND_FACTOR_GREEN 1.0 +CONSTANT: D3D10_DEFAULT_BLEND_FACTOR_RED 1.0 +CONSTANT: D3D10_DEFAULT_BORDER_COLOR_COMPONENT 0.0 +CONSTANT: D3D10_DEFAULT_DEPTH_BIAS 0 +CONSTANT: D3D10_DEFAULT_DEPTH_BIAS_CLAMP 0.0 +CONSTANT: D3D10_DEFAULT_MAX_ANISOTROPY 16.0 +CONSTANT: D3D10_DEFAULT_MIP_LOD_BIAS 0.0 +CONSTANT: D3D10_DEFAULT_RENDER_TARGET_ARRAY_INDEX 0 +CONSTANT: D3D10_DEFAULT_SAMPLE_MASK HEX: ffffffff +CONSTANT: D3D10_DEFAULT_SCISSOR_ENDX 0 +CONSTANT: D3D10_DEFAULT_SCISSOR_ENDY 0 +CONSTANT: D3D10_DEFAULT_SCISSOR_STARTX 0 +CONSTANT: D3D10_DEFAULT_SCISSOR_STARTY 0 +CONSTANT: D3D10_DEFAULT_SLOPE_SCALED_DEPTH_BIAS 0.0 +CONSTANT: D3D10_DEFAULT_STENCIL_READ_MASK HEX: ff +CONSTANT: D3D10_DEFAULT_STENCIL_REFERENCE 0 +CONSTANT: D3D10_DEFAULT_STENCIL_WRITE_MASK HEX: ff +CONSTANT: D3D10_DEFAULT_VIEWPORT_AND_SCISSORRECT_INDEX 0 +CONSTANT: D3D10_DEFAULT_VIEWPORT_HEIGHT 0 +CONSTANT: D3D10_DEFAULT_VIEWPORT_MAX_DEPTH 0.0 +CONSTANT: D3D10_DEFAULT_VIEWPORT_MIN_DEPTH 0.0 +CONSTANT: D3D10_DEFAULT_VIEWPORT_TOPLEFTX 0 +CONSTANT: D3D10_DEFAULT_VIEWPORT_TOPLEFTY 0 +CONSTANT: D3D10_DEFAULT_VIEWPORT_WIDTH 0 +CONSTANT: D3D10_FLOAT16_FUSED_TOLERANCE_IN_ULP 0.6 +CONSTANT: D3D10_FLOAT32_MAX 3.402823466e+38 +CONSTANT: D3D10_FLOAT32_TO_INTEGER_TOLERANCE_IN_ULP 0.6 +CONSTANT: D3D10_FLOAT_TO_SRGB_EXPONENT_DENOMINATOR 2.4 +CONSTANT: D3D10_FLOAT_TO_SRGB_EXPONENT_NUMERATOR 1.0 +CONSTANT: D3D10_FLOAT_TO_SRGB_OFFSET 0.055 +CONSTANT: D3D10_FLOAT_TO_SRGB_SCALE_1 12.92 +CONSTANT: D3D10_FLOAT_TO_SRGB_SCALE_2 1.055 +CONSTANT: D3D10_FLOAT_TO_SRGB_THRESHOLD 0.0031308 +CONSTANT: D3D10_FTOI_INSTRUCTION_MAX_INPUT 2147483647.999 +CONSTANT: D3D10_FTOI_INSTRUCTION_MIN_INPUT -2147483648.999 +CONSTANT: D3D10_FTOU_INSTRUCTION_MAX_INPUT 4294967295.999 +CONSTANT: D3D10_FTOU_INSTRUCTION_MIN_INPUT 0.0 +CONSTANT: D3D10_GS_INPUT_PRIM_CONST_REGISTER_COMPONENTS 1 +CONSTANT: D3D10_GS_INPUT_PRIM_CONST_REGISTER_COMPONENT_BIT_COUNT 32 +CONSTANT: D3D10_GS_INPUT_PRIM_CONST_REGISTER_COUNT 1 +CONSTANT: D3D10_GS_INPUT_PRIM_CONST_REGISTER_READS_PER_INST 2 +CONSTANT: D3D10_GS_INPUT_PRIM_CONST_REGISTER_READ_PORTS 1 +CONSTANT: D3D10_GS_INPUT_REGISTER_COMPONENTS 4 +CONSTANT: D3D10_GS_INPUT_REGISTER_COMPONENT_BIT_COUNT 32 +CONSTANT: D3D10_GS_INPUT_REGISTER_COUNT 16 +CONSTANT: D3D10_GS_INPUT_REGISTER_READS_PER_INST 2 +CONSTANT: D3D10_GS_INPUT_REGISTER_READ_PORTS 1 +CONSTANT: D3D10_GS_INPUT_REGISTER_VERTICES 6 +CONSTANT: D3D10_GS_OUTPUT_ELEMENTS 32 +CONSTANT: D3D10_GS_OUTPUT_REGISTER_COMPONENTS 4 +CONSTANT: D3D10_GS_OUTPUT_REGISTER_COMPONENT_BIT_COUNT 32 +CONSTANT: D3D10_GS_OUTPUT_REGISTER_COUNT 32 +CONSTANT: D3D10_IA_DEFAULT_INDEX_BUFFER_OFFSET_IN_BYTES 0 +CONSTANT: D3D10_IA_DEFAULT_PRIMITIVE_TOPOLOGY 0 +CONSTANT: D3D10_IA_DEFAULT_VERTEX_BUFFER_OFFSET_IN_BYTES 0 +CONSTANT: D3D10_IA_INDEX_INPUT_RESOURCE_SLOT_COUNT 1 +CONSTANT: D3D10_IA_INSTANCE_ID_BIT_COUNT 32 +CONSTANT: D3D10_IA_INTEGER_ARITHMETIC_BIT_COUNT 32 +CONSTANT: D3D10_IA_PRIMITIVE_ID_BIT_COUNT 32 +CONSTANT: D3D10_IA_VERTEX_ID_BIT_COUNT 32 +CONSTANT: D3D10_IA_VERTEX_INPUT_RESOURCE_SLOT_COUNT 16 +CONSTANT: D3D10_IA_VERTEX_INPUT_STRUCTURE_ELEMENTS_COMPONENTS 64 +CONSTANT: D3D10_IA_VERTEX_INPUT_STRUCTURE_ELEMENT_COUNT 16 +CONSTANT: D3D10_INTEGER_DIVIDE_BY_ZERO_QUOTIENT HEX: ffffffff +CONSTANT: D3D10_INTEGER_DIVIDE_BY_ZERO_REMAINDER HEX: ffffffff +CONSTANT: D3D10_LINEAR_GAMMA 1.0 +CONSTANT: D3D10_MAX_BORDER_COLOR_COMPONENT 1.0 +CONSTANT: D3D10_MAX_DEPTH 1.0 +CONSTANT: D3D10_MAX_MAXANISOTROPY 16 +CONSTANT: D3D10_MAX_MULTISAMPLE_SAMPLE_COUNT 32 +CONSTANT: D3D10_MAX_POSITION_VALUE 3.402823466e+34 +CONSTANT: D3D10_MAX_TEXTURE_DIMENSION_2_TO_EXP 17 +CONSTANT: D3D10_MIN_BORDER_COLOR_COMPONENT 0.0 +CONSTANT: D3D10_MIN_DEPTH 0.0 +CONSTANT: D3D10_MIN_MAXANISOTROPY 0 +CONSTANT: D3D10_MIP_LOD_BIAS_MAX 15.99 +CONSTANT: D3D10_MIP_LOD_BIAS_MIN -16.0 +CONSTANT: D3D10_MIP_LOD_FRACTIONAL_BIT_COUNT 6 +CONSTANT: D3D10_MIP_LOD_RANGE_BIT_COUNT 8 +CONSTANT: D3D10_MULTISAMPLE_ANTIALIAS_LINE_WIDTH 1.4 +CONSTANT: D3D10_NONSAMPLE_FETCH_OUT_OF_RANGE_ACCESS_RESULT 0 +CONSTANT: D3D10_PIXEL_ADDRESS_RANGE_BIT_COUNT 13 +CONSTANT: D3D10_PRE_SCISSOR_PIXEL_ADDRESS_RANGE_BIT_COUNT 15 +CONSTANT: D3D10_PS_FRONTFACING_DEFAULT_VALUE HEX: ffffffff +CONSTANT: D3D10_PS_FRONTFACING_FALSE_VALUE 0 +CONSTANT: D3D10_PS_FRONTFACING_TRUE_VALUE HEX: ffffffff +CONSTANT: D3D10_PS_INPUT_REGISTER_COMPONENTS 4 +CONSTANT: D3D10_PS_INPUT_REGISTER_COMPONENT_BIT_COUNT 32 +CONSTANT: D3D10_PS_INPUT_REGISTER_COUNT 32 +CONSTANT: D3D10_PS_INPUT_REGISTER_READS_PER_INST 2 +CONSTANT: D3D10_PS_INPUT_REGISTER_READ_PORTS 1 +CONSTANT: D3D10_PS_LEGACY_PIXEL_CENTER_FRACTIONAL_COMPONENT 0.0 +CONSTANT: D3D10_PS_OUTPUT_DEPTH_REGISTER_COMPONENTS 1 +CONSTANT: D3D10_PS_OUTPUT_DEPTH_REGISTER_COMPONENT_BIT_COUNT 32 +CONSTANT: D3D10_PS_OUTPUT_DEPTH_REGISTER_COUNT 1 +CONSTANT: D3D10_PS_OUTPUT_REGISTER_COMPONENTS 4 +CONSTANT: D3D10_PS_OUTPUT_REGISTER_COMPONENT_BIT_COUNT 32 +CONSTANT: D3D10_PS_OUTPUT_REGISTER_COUNT 8 +CONSTANT: D3D10_PS_PIXEL_CENTER_FRACTIONAL_COMPONENT 0.5 +CONSTANT: D3D10_REQ_BLEND_OBJECT_COUNT_PER_CONTEXT 4096 +CONSTANT: D3D10_REQ_BUFFER_RESOURCE_TEXEL_COUNT_2_TO_EXP 27 +CONSTANT: D3D10_REQ_CONSTANT_BUFFER_ELEMENT_COUNT 4096 +CONSTANT: D3D10_REQ_DEPTH_STENCIL_OBJECT_COUNT_PER_CONTEXT 4096 +CONSTANT: D3D10_REQ_DRAWINDEXED_INDEX_COUNT_2_TO_EXP 32 +CONSTANT: D3D10_REQ_DRAW_VERTEX_COUNT_2_TO_EXP 32 +CONSTANT: D3D10_REQ_FILTERING_HW_ADDRESSABLE_RESOURCE_DIMENSION 8192 +CONSTANT: D3D10_REQ_GS_INVOCATION_32BIT_OUTPUT_COMPONENT_LIMIT 1024 +CONSTANT: D3D10_REQ_IMMEDIATE_CONSTANT_BUFFER_ELEMENT_COUNT 4096 +CONSTANT: D3D10_REQ_MAXANISOTROPY 16 +CONSTANT: D3D10_REQ_MIP_LEVELS 14 +CONSTANT: D3D10_REQ_MULTI_ELEMENT_STRUCTURE_SIZE_IN_BYTES 2048 +CONSTANT: D3D10_REQ_RASTERIZER_OBJECT_COUNT_PER_CONTEXT 4096 +CONSTANT: D3D10_REQ_RENDER_TO_BUFFER_WINDOW_WIDTH 8192 +CONSTANT: D3D10_REQ_RESOURCE_SIZE_IN_MEGABYTES 128 +CONSTANT: D3D10_REQ_RESOURCE_VIEW_COUNT_PER_CONTEXT_2_TO_EXP 20 +CONSTANT: D3D10_REQ_SAMPLER_OBJECT_COUNT_PER_CONTEXT 4096 +CONSTANT: D3D10_REQ_TEXTURE1D_ARRAY_AXIS_DIMENSION 512 +CONSTANT: D3D10_REQ_TEXTURE1D_U_DIMENSION 8192 +CONSTANT: D3D10_REQ_TEXTURE2D_ARRAY_AXIS_DIMENSION 512 +CONSTANT: D3D10_REQ_TEXTURE2D_U_OR_V_DIMENSION 8192 +CONSTANT: D3D10_REQ_TEXTURE3D_U_V_OR_W_DIMENSION 2048 +CONSTANT: D3D10_REQ_TEXTURECUBE_DIMENSION 8192 +CONSTANT: D3D10_RESINFO_INSTRUCTION_MISSING_COMPONENT_RETVAL 0 +CONSTANT: D3D10_SHADER_MAJOR_VERSION 4 +CONSTANT: D3D10_SHADER_MINOR_VERSION 0 +CONSTANT: D3D10_SHIFT_INSTRUCTION_PAD_VALUE 0 +CONSTANT: D3D10_SHIFT_INSTRUCTION_SHIFT_VALUE_BIT_COUNT 5 +CONSTANT: D3D10_SIMULTANEOUS_RENDER_TARGET_COUNT 8 +CONSTANT: D3D10_SO_BUFFER_MAX_STRIDE_IN_BYTES 2048 +CONSTANT: D3D10_SO_BUFFER_MAX_WRITE_WINDOW_IN_BYTES 256 +CONSTANT: D3D10_SO_BUFFER_SLOT_COUNT 4 +CONSTANT: D3D10_SO_DDI_REGISTER_INDEX_DENOTING_GAP HEX: ffffffff +CONSTANT: D3D10_SO_MULTIPLE_BUFFER_ELEMENTS_PER_BUFFER 1 +CONSTANT: D3D10_SO_SINGLE_BUFFER_COMPONENT_LIMIT 64 +CONSTANT: D3D10_SRGB_GAMMA 2.2 +CONSTANT: D3D10_SRGB_TO_FLOAT_DENOMINATOR_1 12.92 +CONSTANT: D3D10_SRGB_TO_FLOAT_DENOMINATOR_2 1.055 +CONSTANT: D3D10_SRGB_TO_FLOAT_EXPONENT 2.4 +CONSTANT: D3D10_SRGB_TO_FLOAT_OFFSET 0.055 +CONSTANT: D3D10_SRGB_TO_FLOAT_THRESHOLD 0.04045 +CONSTANT: D3D10_SRGB_TO_FLOAT_TOLERANCE_IN_ULP 0.5 +CONSTANT: D3D10_STANDARD_COMPONENT_BIT_COUNT 32 +CONSTANT: D3D10_STANDARD_COMPONENT_BIT_COUNT_DOUBLED 64 +CONSTANT: D3D10_STANDARD_MAXIMUM_ELEMENT_ALIGNMENT_BYTE_MULTIPLE 4 +CONSTANT: D3D10_STANDARD_PIXEL_COMPONENT_COUNT 128 +CONSTANT: D3D10_STANDARD_PIXEL_ELEMENT_COUNT 32 +CONSTANT: D3D10_STANDARD_VECTOR_SIZE 4 +CONSTANT: D3D10_STANDARD_VERTEX_ELEMENT_COUNT 16 +CONSTANT: D3D10_STANDARD_VERTEX_TOTAL_COMPONENT_COUNT 64 +CONSTANT: D3D10_SUBPIXEL_FRACTIONAL_BIT_COUNT 8 +CONSTANT: D3D10_SUBTEXEL_FRACTIONAL_BIT_COUNT 6 +CONSTANT: D3D10_TEXEL_ADDRESS_RANGE_BIT_COUNT 18 +CONSTANT: D3D10_UNBOUND_MEMORY_ACCESS_RESULT 0 +CONSTANT: D3D10_VIEWPORT_AND_SCISSORRECT_MAX_INDEX 15 +CONSTANT: D3D10_VIEWPORT_AND_SCISSORRECT_OBJECT_COUNT_PER_PIPELINE 16 +CONSTANT: D3D10_VIEWPORT_BOUNDS_MAX 16383 +CONSTANT: D3D10_VIEWPORT_BOUNDS_MIN -16384 +CONSTANT: D3D10_VS_INPUT_REGISTER_COMPONENTS 4 +CONSTANT: D3D10_VS_INPUT_REGISTER_COMPONENT_BIT_COUNT 32 +CONSTANT: D3D10_VS_INPUT_REGISTER_COUNT 16 +CONSTANT: D3D10_VS_INPUT_REGISTER_READS_PER_INST 2 +CONSTANT: D3D10_VS_INPUT_REGISTER_READ_PORTS 1 +CONSTANT: D3D10_VS_OUTPUT_REGISTER_COMPONENTS 4 +CONSTANT: D3D10_VS_OUTPUT_REGISTER_COMPONENT_BIT_COUNT 32 +CONSTANT: D3D10_VS_OUTPUT_REGISTER_COUNT 16 +CONSTANT: D3D10_WHQL_CONTEXT_COUNT_FOR_RESOURCE_LIMIT 10 +CONSTANT: D3D10_WHQL_DRAWINDEXED_INDEX_COUNT_2_TO_EXP 25 +CONSTANT: D3D10_WHQL_DRAW_VERTEX_COUNT_2_TO_EXP 25 +CONSTANT: D3D_MAJOR_VERSION 10 +CONSTANT: D3D_MINOR_VERSION 0 +CONSTANT: D3D_SPEC_DATE_DAY 8 +CONSTANT: D3D_SPEC_DATE_MONTH 8 +CONSTANT: D3D_SPEC_DATE_YEAR 2006 +CONSTANT: D3D_SPEC_VERSION 1.050005 + +CONSTANT: D3D10_1_IA_VERTEX_INPUT_STRUCTURE_ELEMENT_COUNT 16 +CONSTANT: D3D10_1_IA_VERTEX_INPUT_RESOURCE_SLOT_COUNT 16 + +CONSTANT: _FACD3D10 HEX: 879 +CONSTANT: _FACD3D10DEBUG HEX: 87A + +CONSTANT: D3D10_ERROR_TOO_MANY_UNIQUE_STATE_OBJECTS HEX: 88790001 +CONSTANT: D3D10_ERROR_FILE_NOT_FOUND HEX: 88790002 + +CONSTANT: D3D10_INPUT_PER_VERTEX_DATA 0 +CONSTANT: D3D10_INPUT_PER_INSTANCE_DATA 1 +TYPEDEF: int D3D10_INPUT_CLASSIFICATION + +CONSTANT: D3D10_APPEND_ALIGNED_ELEMENT HEX: ffffffff + +STRUCT: D3D10_INPUT_ELEMENT_DESC + { SemanticName LPCSTR } + { SemanticIndex UINT } + { Format DXGI_FORMAT } + { InputSlot UINT } + { AlignedByteOffset UINT } + { InputSlotClass D3D10_INPUT_CLASSIFICATION } + { InstanceDataStepRate UINT } ; + +CONSTANT: D3D10_FILL_WIREFRAME 2 +CONSTANT: D3D10_FILL_SOLID 3 +TYPEDEF: int D3D10_FILL_MODE + +CONSTANT: D3D10_PRIMITIVE_TOPOLOGY_UNDEFINED 0 +CONSTANT: D3D10_PRIMITIVE_TOPOLOGY_POINTLIST 1 +CONSTANT: D3D10_PRIMITIVE_TOPOLOGY_LINELIST 2 +CONSTANT: D3D10_PRIMITIVE_TOPOLOGY_LINESTRIP 3 +CONSTANT: D3D10_PRIMITIVE_TOPOLOGY_TRIANGLELIST 4 +CONSTANT: D3D10_PRIMITIVE_TOPOLOGY_TRIANGLESTRIP 5 +CONSTANT: D3D10_PRIMITIVE_TOPOLOGY_LINELIST_ADJ 10 +CONSTANT: D3D10_PRIMITIVE_TOPOLOGY_LINESTRIP_ADJ 11 +CONSTANT: D3D10_PRIMITIVE_TOPOLOGY_TRIANGLELIST_ADJ 12 +CONSTANT: D3D10_PRIMITIVE_TOPOLOGY_TRIANGLESTRIP_ADJ 13 +TYPEDEF: int D3D10_PRIMITIVE_TOPOLOGY + +CONSTANT: D3D10_PRIMITIVE_UNDEFINED 0 +CONSTANT: D3D10_PRIMITIVE_POINT 1 +CONSTANT: D3D10_PRIMITIVE_LINE 2 +CONSTANT: D3D10_PRIMITIVE_TRIANGLE 3 +CONSTANT: D3D10_PRIMITIVE_LINE_ADJ 6 +CONSTANT: D3D10_PRIMITIVE_TRIANGLE_ADJ 7 +TYPEDEF: int D3D10_PRIMITIVE + +CONSTANT: D3D10_CULL_NONE 1 +CONSTANT: D3D10_CULL_FRONT 2 +CONSTANT: D3D10_CULL_BACK 3 +TYPEDEF: int D3D10_CULL_MODE + +STRUCT: D3D10_SO_DECLARATION_ENTRY + { SemanticName LPCSTR } + { SemanticIndex UINT } + { StartComponent BYTE } + { ComponentCount BYTE } + { OutputSlot BYTE } ; + +STRUCT: D3D10_VIEWPORT + { TopLeftX INT } + { TopLeftY INT } + { Width UINT } + { Height UINT } + { MinDepth FLOAT } + { MaxDepth FLOAT } ; + +CONSTANT: D3D10_RESOURCE_DIMENSION_UNKNOWN 0 +CONSTANT: D3D10_RESOURCE_DIMENSION_BUFFER 1 +CONSTANT: D3D10_RESOURCE_DIMENSION_TEXTURE1D 2 +CONSTANT: D3D10_RESOURCE_DIMENSION_TEXTURE2D 3 +CONSTANT: D3D10_RESOURCE_DIMENSION_TEXTURE3D 4 +TYPEDEF: int D3D10_RESOURCE_DIMENSION + +CONSTANT: D3D10_SRV_DIMENSION_UNKNOWN 0 +CONSTANT: D3D10_SRV_DIMENSION_BUFFER 1 +CONSTANT: D3D10_SRV_DIMENSION_TEXTURE1D 2 +CONSTANT: D3D10_SRV_DIMENSION_TEXTURE1DARRAY 3 +CONSTANT: D3D10_SRV_DIMENSION_TEXTURE2D 4 +CONSTANT: D3D10_SRV_DIMENSION_TEXTURE2DARRAY 5 +CONSTANT: D3D10_SRV_DIMENSION_TEXTURE2DMS 6 +CONSTANT: D3D10_SRV_DIMENSION_TEXTURE2DMSARRAY 7 +CONSTANT: D3D10_SRV_DIMENSION_TEXTURE3D 8 +CONSTANT: D3D10_SRV_DIMENSION_TEXTURECUBE 9 +TYPEDEF: int D3D10_SRV_DIMENSION + +CONSTANT: D3D10_DSV_DIMENSION_UNKNOWN 0 +CONSTANT: D3D10_DSV_DIMENSION_TEXTURE1D 1 +CONSTANT: D3D10_DSV_DIMENSION_TEXTURE1DARRAY 2 +CONSTANT: D3D10_DSV_DIMENSION_TEXTURE2D 3 +CONSTANT: D3D10_DSV_DIMENSION_TEXTURE2DARRAY 4 +CONSTANT: D3D10_DSV_DIMENSION_TEXTURE2DMS 5 +CONSTANT: D3D10_DSV_DIMENSION_TEXTURE2DMSARRAY 6 +TYPEDEF: int D3D10_DSV_DIMENSION + +CONSTANT: D3D10_RTV_DIMENSION_UNKNOWN 0 +CONSTANT: D3D10_RTV_DIMENSION_BUFFER 1 +CONSTANT: D3D10_RTV_DIMENSION_TEXTURE1D 2 +CONSTANT: D3D10_RTV_DIMENSION_TEXTURE1DARRAY 3 +CONSTANT: D3D10_RTV_DIMENSION_TEXTURE2D 4 +CONSTANT: D3D10_RTV_DIMENSION_TEXTURE2DARRAY 5 +CONSTANT: D3D10_RTV_DIMENSION_TEXTURE2DMS 6 +CONSTANT: D3D10_RTV_DIMENSION_TEXTURE2DMSARRAY 7 +CONSTANT: D3D10_RTV_DIMENSION_TEXTURE3D 8 +TYPEDEF: int D3D10_RTV_DIMENSION + +CONSTANT: D3D10_USAGE_DEFAULT 0 +CONSTANT: D3D10_USAGE_IMMUTABLE 1 +CONSTANT: D3D10_USAGE_DYNAMIC 2 +CONSTANT: D3D10_USAGE_STAGING 3 +TYPEDEF: int D3D10_USAGE + +CONSTANT: D3D10_BIND_VERTEX_BUFFER HEX: 1 +CONSTANT: D3D10_BIND_INDEX_BUFFER HEX: 2 +CONSTANT: D3D10_BIND_CONSTANT_BUFFER HEX: 4 +CONSTANT: D3D10_BIND_SHADER_RESOURCE HEX: 8 +CONSTANT: D3D10_BIND_STREAM_OUTPUT HEX: 10 +CONSTANT: D3D10_BIND_RENDER_TARGET HEX: 20 +CONSTANT: D3D10_BIND_DEPTH_STENCIL HEX: 40 +TYPEDEF: int D3D10_BIND_FLAG + +CONSTANT: D3D10_CPU_ACCESS_WRITE HEX: 10000 +CONSTANT: D3D10_CPU_ACCESS_READ HEX: 20000 +TYPEDEF: int D3D10_CPU_ACCESS_FLAG + +CONSTANT: D3D10_RESOURCE_MISC_GENERATE_MIPS HEX: 1 +CONSTANT: D3D10_RESOURCE_MISC_SHARED HEX: 2 +CONSTANT: D3D10_RESOURCE_MISC_TEXTURECUBE HEX: 4 +CONSTANT: D3D10_RESOURCE_MISC_SHARED_KEYEDMUTEX HEX: 10 +CONSTANT: D3D10_RESOURCE_MISC_GDI_COMPATIBLE HEX: 20 +TYPEDEF: int D3D10_RESOURCE_MISC_FLAG + +CONSTANT: D3D10_MAP_READ 1 +CONSTANT: D3D10_MAP_WRITE 2 +CONSTANT: D3D10_MAP_READ_WRITE 3 +CONSTANT: D3D10_MAP_WRITE_DISCARD 4 +CONSTANT: D3D10_MAP_WRITE_NO_OVERWRITE 5 +TYPEDEF: int D3D10_MAP + +CONSTANT: D3D10_MAP_FLAG_DO_NOT_WAIT HEX: 100000 +TYPEDEF: int D3D10_MAP_FLAG + +CONSTANT: D3D10_RAISE_FLAG_DRIVER_INTERNAL_ERROR HEX: 1 +TYPEDEF: int D3D10_RAISE_FLAG + +CONSTANT: D3D10_CLEAR_DEPTH HEX: 1 +CONSTANT: D3D10_CLEAR_STENCIL HEX: 2 +TYPEDEF: int D3D10_CLEAR_FLAG + +TYPEDEF: RECT D3D10_RECT + +STRUCT: D3D10_BOX + { left UINT } + { top UINT } + { front UINT } + { right UINT } + { bottom UINT } + { back UINT } ; + +COM-INTERFACE: ID3D10DeviceChild IUnknown {9B7E4C00-342C-4106-A19F-4F2704F689F0} + void GetDevice ( ID3D10Device** ppDevice ) + HRESULT GetPrivateData ( LPGUID guid, UINT* pDataSize, void* pData ) + HRESULT SetPrivateData ( LPGUID guid, UINT DataSize, void* pData ) + HRESULT SetPrivateDataInterface ( LPGUID guid, IUnknown* pData ) ; + +CONSTANT: D3D10_COMPARISON_NEVER 1 +CONSTANT: D3D10_COMPARISON_LESS 2 +CONSTANT: D3D10_COMPARISON_EQUAL 3 +CONSTANT: D3D10_COMPARISON_LESS_EQUAL 4 +CONSTANT: D3D10_COMPARISON_GREATER 5 +CONSTANT: D3D10_COMPARISON_NOT_EQUAL 6 +CONSTANT: D3D10_COMPARISON_GREATER_EQUAL 7 +CONSTANT: D3D10_COMPARISON_ALWAYS 8 +TYPEDEF: int D3D10_COMPARISON_FUNC + +CONSTANT: D3D10_DEPTH_WRITE_MASK_ZERO 0 +CONSTANT: D3D10_DEPTH_WRITE_MASK_ALL 1 +TYPEDEF: int D3D10_DEPTH_WRITE_MASK + +CONSTANT: D3D10_STENCIL_OP_KEEP 1 +CONSTANT: D3D10_STENCIL_OP_ZERO 2 +CONSTANT: D3D10_STENCIL_OP_REPLACE 3 +CONSTANT: D3D10_STENCIL_OP_INCR_SAT 4 +CONSTANT: D3D10_STENCIL_OP_DECR_SAT 5 +CONSTANT: D3D10_STENCIL_OP_INVERT 6 +CONSTANT: D3D10_STENCIL_OP_INCR 7 +CONSTANT: D3D10_STENCIL_OP_DECR 8 +TYPEDEF: int D3D10_STENCIL_OP + +STRUCT: D3D10_DEPTH_STENCILOP_DESC + { StencilFailOp D3D10_STENCIL_OP } + { StencilDepthFailOp D3D10_STENCIL_OP } + { StencilPassOp D3D10_STENCIL_OP } + { StencilFunc D3D10_COMPARISON_FUNC } ; + +STRUCT: D3D10_DEPTH_STENCIL_DESC + { DepthEnable BOOL } + { DepthWriteMask D3D10_DEPTH_WRITE_MASK } + { DepthFunc D3D10_COMPARISON_FUNC } + { StencilEnable BOOL } + { StencilReadMask BYTE } + { StencilWriteMask BYTE } + { FrontFace D3D10_DEPTH_STENCILOP_DESC } + { BackFace D3D10_DEPTH_STENCILOP_DESC } ; + +COM-INTERFACE: ID3D10DepthStencilState ID3D10DeviceChild {2B4B1CC8-A4AD-41f8-8322-CA86FC3EC675} + void GetDesc ( D3D10_DEPTH_STENCIL_DESC* pDesc ) ; + +CONSTANT: D3D10_BLEND_ZERO 1 +CONSTANT: D3D10_BLEND_ONE 2 +CONSTANT: D3D10_BLEND_SRC_COLOR 3 +CONSTANT: D3D10_BLEND_INV_SRC_COLOR 4 +CONSTANT: D3D10_BLEND_SRC_ALPHA 5 +CONSTANT: D3D10_BLEND_INV_SRC_ALPHA 6 +CONSTANT: D3D10_BLEND_DEST_ALPHA 7 +CONSTANT: D3D10_BLEND_INV_DEST_ALPHA 8 +CONSTANT: D3D10_BLEND_DEST_COLOR 9 +CONSTANT: D3D10_BLEND_INV_DEST_COLOR 10 +CONSTANT: D3D10_BLEND_SRC_ALPHA_SAT 11 +CONSTANT: D3D10_BLEND_BLEND_FACTOR 14 +CONSTANT: D3D10_BLEND_INV_BLEND_FACTOR 15 +CONSTANT: D3D10_BLEND_SRC1_COLOR 16 +CONSTANT: D3D10_BLEND_INV_SRC1_COLOR 17 +CONSTANT: D3D10_BLEND_SRC1_ALPHA 18 +CONSTANT: D3D10_BLEND_INV_SRC1_ALPHA 19 +TYPEDEF: int D3D10_BLEND + +CONSTANT: D3D10_BLEND_OP_ADD 1 +CONSTANT: D3D10_BLEND_OP_SUBTRACT 2 +CONSTANT: D3D10_BLEND_OP_REV_SUBTRACT 3 +CONSTANT: D3D10_BLEND_OP_MIN 4 +CONSTANT: D3D10_BLEND_OP_MAX 5 +TYPEDEF: int D3D10_BLEND_OP + +CONSTANT: D3D10_COLOR_WRITE_ENABLE_RED 1 +CONSTANT: D3D10_COLOR_WRITE_ENABLE_GREEN 2 +CONSTANT: D3D10_COLOR_WRITE_ENABLE_BLUE 4 +CONSTANT: D3D10_COLOR_WRITE_ENABLE_ALPHA 8 +CONSTANT: D3D10_COLOR_WRITE_ENABLE_ALL 15 +TYPEDEF: int D3D10_COLOR_WRITE_ENABLE + +STRUCT: D3D10_BLEND_DESC + { AlphaToCoverageEnable BOOL } + { BlendEnable BOOL[8] } + { SrcBlend D3D10_BLEND } + { DestBlend D3D10_BLEND } + { BlendOp D3D10_BLEND_OP } + { SrcBlendAlpha D3D10_BLEND } + { DestBlendAlpha D3D10_BLEND } + { BlendOpAlpha D3D10_BLEND_OP } + { RenderTargetWriteMask BYTE[8] } ; + +COM-INTERFACE: ID3D10BlendState ID3D10DeviceChild {EDAD8D19-8A35-4d6d-8566-2EA276CDE161} + void GetDesc ( D3D10_BLEND_DESC* pDesc ) ; + +STRUCT: D3D10_RASTERIZER_DESC + { FillMode D3D10_FILL_MODE } + { CullMode D3D10_CULL_MODE } + { FrontCounterClockwise BOOL } + { DepthBias INT } + { DepthBiasClamp FLOAT } + { SlopeScaledDepthBias FLOAT } + { DepthClipEnable BOOL } + { ScissorEnable BOOL } + { MultisampleEnable BOOL } + { AntialiasedLineEnable BOOL } ; + +COM-INTERFACE: ID3D10RasterizerState ID3D10DeviceChild {A2A07292-89AF-4345-BE2E-C53D9FBB6E9F} + void GetDesc ( D3D10_RASTERIZER_DESC* pDesc ) ; + +STRUCT: D3D10_SUBRESOURCE_DATA + { pSysMem void* } + { SysMemPitch UINT } + { SysMemSlicePitch UINT } ; + + +COM-INTERFACE: ID3D10Resource ID3D10DeviceChild {9B7E4C01-342C-4106-A19F-4F2704F689F0} + void GetType ( D3D10_RESOURCE_DIMENSION* rType ) + void SetEvictionPriority ( UINT EvictionPriority ) + UINT GetEvictionPriority ( ) ; + +STRUCT: D3D10_BUFFER_DESC + { ByteWidth UINT } + { Usage D3D10_USAGE } + { BindFlags UINT } + { CPUAccessFlags UINT } + { MiscFlags UINT } ; + +COM-INTERFACE: ID3D10Buffer ID3D10Resource {9B7E4C02-342C-4106-A19F-4F2704F689F0} + HRESULT Map ( D3D10_MAP MapType, UINT MapFlags, void** ppData ) + void Unmap ( ) + void GetDesc ( D3D10_BUFFER_DESC* pDesc ) ; + +STRUCT: D3D10_TEXTURE1D_DESC + { Width UINT } + { MipLevels UINT } + { ArraySize UINT } + { Format DXGI_FORMAT } + { Usage D3D10_USAGE } + { BindFlags UINT } + { CPUAccessFlags UINT } + { MiscFlags UINT } ; + +COM-INTERFACE: ID3D10Texture1D ID3D10Resource {9B7E4C03-342C-4106-A19F-4F2704F689F0} + HRESULT Map ( UINT Subresource, D3D10_MAP MapType, UINT MapFlags, void** ppData ) + void Unmap ( UINT Subresource ) + void GetDesc ( D3D10_TEXTURE1D_DESC* pDesc ) ; + +STRUCT: D3D10_TEXTURE2D_DESC + { Width UINT } + { Height UINT } + { MipLevels UINT } + { ArraySize UINT } + { Format DXGI_FORMAT } + { SampleDesc DXGI_SAMPLE_DESC } + { Usage D3D10_USAGE } + { BindFlags UINT } + { CPUAccessFlags UINT } + { MiscFlags UINT } ; + +STRUCT: D3D10_MAPPED_TEXTURE2D + { pData void* } + { RowPitch UINT } ; + +COM-INTERFACE: ID3D10Texture2D ID3D10Resource {9B7E4C04-342C-4106-A19F-4F2704F689F0} + HRESULT Map ( UINT Subresource, D3D10_MAP MapType, UINT MapFlags, D3D10_MAPPED_TEXTURE2D* pMappedTex2D ) + void Unmap ( UINT Subresource ) + void GetDesc ( D3D10_TEXTURE2D_DESC* pDesc ) ; + +STRUCT: D3D10_TEXTURE3D_DESC + { Width UINT } + { Height UINT } + { Depth UINT } + { MipLevels UINT } + { Format DXGI_FORMAT } + { Usage D3D10_USAGE } + { BindFlags UINT } + { CPUAccessFlags UINT } + { MiscFlags UINT } ; + +STRUCT: D3D10_MAPPED_TEXTURE3D + { pData void* } + { RowPitch UINT } + { DepthPitch UINT } ; + +COM-INTERFACE: ID3D10Texture3D ID3D10Resource {9B7E4C05-342C-4106-A19F-4F2704F689F0} + HRESULT Map ( UINT Subresource, D3D10_MAP MapType, UINT MapFlags, D3D10_MAPPED_TEXTURE3D* pMappedTex3D ) + void Unmap ( UINT Subresource ) + void GetDesc ( D3D10_TEXTURE3D_DESC* pDesc ) ; + +CONSTANT: D3D10_TEXTURECUBE_FACE_POSITIVE_X 0 +CONSTANT: D3D10_TEXTURECUBE_FACE_NEGATIVE_X 1 +CONSTANT: D3D10_TEXTURECUBE_FACE_POSITIVE_Y 2 +CONSTANT: D3D10_TEXTURECUBE_FACE_NEGATIVE_Y 3 +CONSTANT: D3D10_TEXTURECUBE_FACE_POSITIVE_Z 4 +CONSTANT: D3D10_TEXTURECUBE_FACE_NEGATIVE_Z 5 +TYPEDEF: int D3D10_TEXTURECUBE_FACE + +COM-INTERFACE: ID3D10View ID3D10DeviceChild {C902B03F-60A7-49BA-9936-2A3AB37A7E33} + void GetResource ( ID3D10Resource** ppResource ) ; + +UNION-STRUCT: D3D10_BUFFER_SRV_UNION1 + { FirstElement UINT } + { ElementOffset UINT } ; + +UNION-STRUCT: D3D10_BUFFER_SRV_UNION2 + { NumElements UINT } + { ElementWith UINT } ; + +STRUCT: D3D10_BUFFER_SRV + { First D3D10_BUFFER_SRV_UNION1 } + { Second D3D10_BUFFER_SRV_UNION2 } ; + +STRUCT: D3D10_TEX1D_SRV + { MostDetailedMip UINT } + { MipLevels UINT } ; + +STRUCT: D3D10_TEX1D_ARRAY_SRV + { MostDetailedMip UINT } + { MipLevels UINT } + { FirstArraySlice UINT } + { ArraySize UINT } ; + +STRUCT: D3D10_TEX2D_SRV + { MostDetailedMip UINT } + { MipLevels UINT } ; + +STRUCT: D3D10_TEX2D_ARRAY_SRV + { MostDetailedMip UINT } + { MipLevels UINT } + { FirstArraySlice UINT } + { ArraySize UINT } ; + +STRUCT: D3D10_TEX3D_SRV + { MostDetailedMip UINT } + { MipLevels UINT } ; + +STRUCT: D3D10_TEXCUBE_SRV + { MostDetailedMip UINT } + { MipLevels UINT } ; + +STRUCT: D3D10_TEX2DMS_SRV + { UnusedField_NothingToDefine UINT } ; + +STRUCT: D3D10_TEX2DMS_ARRAY_SRV + { FirstArraySlice UINT } + { ArraySize UINT } ; + +UNION-STRUCT: D3D10_SHADER_RESOURCE_VIEW_DESC_UNION + { Buffer D3D10_BUFFER_SRV } + { Texture1D D3D10_TEX1D_SRV } + { Texture1DArray D3D10_TEX1D_ARRAY_SRV } + { Texture2D D3D10_TEX2D_SRV } + { Texture2DArray D3D10_TEX2D_ARRAY_SRV } + { Texture2DMS D3D10_TEX2DMS_SRV } + { Texture2DMSArray D3D10_TEX2DMS_ARRAY_SRV } + { Texture3D D3D10_TEX3D_SRV } + { TextureCube D3D10_TEXCUBE_SRV } ; + +STRUCT: D3D10_SHADER_RESOURCE_VIEW_DESC + { Format DXGI_FORMAT } + { ViewDimension D3D10_SRV_DIMENSION } + { View D3D10_SHADER_RESOURCE_VIEW_DESC_UNION } ; + +COM-INTERFACE: ID3D10ShaderResourceView ID3D10View {9B7E4C07-342C-4106-A19F-4F2704F689F0} + void GetDesc ( D3D10_SHADER_RESOURCE_VIEW_DESC* pDesc ) ; + +UNION-STRUCT: D3D10_BUFFER_RTV_UNION1 + { FirstElement UINT } + { ElementOffset UINT } ; + +UNION-STRUCT: D3D10_BUFFER_RTV_UNION2 + { NumElements UINT } + { ElementWidth UINT } ; + +STRUCT: D3D10_BUFFER_RTV + { First D3D10_BUFFER_RTV_UNION1 } + { Second D3D10_BUFFER_RTV_UNION2 } ; + +STRUCT: D3D10_TEX1D_RTV + { MipSlice UINT } ; + +STRUCT: D3D10_TEX1D_ARRAY_RTV + { MipSlice UINT } + { FirstArraySlice UINT } + { ArraySize UINT } ; + +STRUCT: D3D10_TEX2D_RTV + { MipSlice UINT } ; + +STRUCT: D3D10_TEX2DMS_RTV + { UnusedField_NothingToDefine UINT } ; + +STRUCT: D3D10_TEX2D_ARRAY_RTV + { MipSlice UINT } + { FirstArraySlice UINT } + { ArraySize UINT } ; + +STRUCT: D3D10_TEX2DMS_ARRAY_RTV + { FirstArraySlice UINT } + { ArraySize UINT } ; + +STRUCT: D3D10_TEX3D_RTV + { MipSlice UINT } + { FirstWSlice UINT } + { WSize UINT } ; + +UNION-STRUCT: D3D10_RENDER_TARGET_VIEW_DESC_UNION + { Buffer D3D10_BUFFER_RTV } + { Texture1D D3D10_TEX1D_RTV } + { Texture1DArray D3D10_TEX1D_ARRAY_RTV } + { Texture2D D3D10_TEX2D_RTV } + { Texture2DArray D3D10_TEX2D_ARRAY_RTV } + { Texture2DMS D3D10_TEX2DMS_RTV } + { Texture2DMSArray D3D10_TEX2DMS_ARRAY_RTV } + { Texture3D D3D10_TEX3D_RTV } ; + +STRUCT: D3D10_RENDER_TARGET_VIEW_DESC + { Format DXGI_FORMAT } + { ViewDimension D3D10_RTV_DIMENSION } + { View D3D10_RENDER_TARGET_VIEW_DESC_UNION } ; + +COM-INTERFACE: ID3D10RenderTargetView ID3D10View {9B7E4C08-342C-4106-A19F-4F2704F689F0} + void GetDesc ( D3D10_RENDER_TARGET_VIEW_DESC* pDesc ) ; + +STRUCT: D3D10_TEX1D_DSV + { MipSlice UINT } ; + +STRUCT: D3D10_TEX1D_ARRAY_DSV + { MipSlice UINT } + { FirstArraySlice UINT } + { ArraySize UINT } ; + +STRUCT: D3D10_TEX2D_DSV + { MipSlice UINT } ; + +STRUCT: D3D10_TEX2D_ARRAY_DSV + { MipSlice UINT } + { FirstArraySlice UINT } + { ArraySize UINT } ; + +STRUCT: D3D10_TEX2DMS_DSV + { UnusedField_NothingToDefine UINT } ; + +STRUCT: D3D10_TEX2DMS_ARRAY_DSV + { FirstArraySlice UINT } + { ArraySize UINT } ; + +UNION-STRUCT: D3D10_DEPTH_STENCIL_VIEW_DESC_UNION + { Texture1D D3D10_TEX1D_DSV } + { Texture1DArray D3D10_TEX1D_ARRAY_DSV } + { Texture2D D3D10_TEX2D_DSV } + { Texture2DArray D3D10_TEX2D_ARRAY_DSV } + { Texture2DMS D3D10_TEX2DMS_DSV } + { Texture2DMSArray D3D10_TEX2DMS_ARRAY_DSV } ; + +STRUCT: D3D10_DEPTH_STENCIL_VIEW_DESC + { Format DXGI_FORMAT } + { ViewDimension D3D10_DSV_DIMENSION } + { Union D3D10_DEPTH_STENCIL_VIEW_DESC_UNION } ; + +COM-INTERFACE: ID3D10DepthStencilView ID3D10View {9B7E4C09-342C-4106-A19F-4F2704F689F0} + void GetDesc ( D3D10_DEPTH_STENCIL_VIEW_DESC* pDesc ) ; + +COM-INTERFACE: ID3D10VertexShader ID3D10DeviceChild {9B7E4C0A-342C-4106-A19F-4F2704F689F0} ; + +COM-INTERFACE: ID3D10GeometryShader ID3D10DeviceChild {16BE88-54CD-4040-AB44-20461BC81F68} ; + +COM-INTERFACE: ID3D10PixelShader ID3D10DeviceChild {68B601-9D00-4cde-8346-8E7F675819B6} ; + +COM-INTERFACE: ID3D10InputLayout ID3D10DeviceChild {7E4C0B-342C-4106-A19F-4F2704F689F0} ; + +CONSTANT: D3D10_FILTER_MIN_MAG_MIP_POINT 0 +CONSTANT: D3D10_FILTER_MIN_MAG_POINT_MIP_LINEAR HEX: 1 +CONSTANT: D3D10_FILTER_MIN_POINT_MAG_LINEAR_MIP_POINT HEX: 4 +CONSTANT: D3D10_FILTER_MIN_POINT_MAG_MIP_LINEAR HEX: 5 +CONSTANT: D3D10_FILTER_MIN_LINEAR_MAG_MIP_POINT HEX: 10 +CONSTANT: D3D10_FILTER_MIN_LINEAR_MAG_POINT_MIP_LINEAR HEX: 11 +CONSTANT: D3D10_FILTER_MIN_MAG_LINEAR_MIP_POINT HEX: 14 +CONSTANT: D3D10_FILTER_MIN_MAG_MIP_LINEAR HEX: 15 +CONSTANT: D3D10_FILTER_ANISOTROPIC HEX: 55 +CONSTANT: D3D10_FILTER_COMPARISON_MIN_MAG_MIP_POINT HEX: 80 +CONSTANT: D3D10_FILTER_COMPARISON_MIN_MAG_POINT_MIP_LINEAR HEX: 81 +CONSTANT: D3D10_FILTER_COMPARISON_MIN_POINT_MAG_LINEAR_MIP_POINT HEX: 84 +CONSTANT: D3D10_FILTER_COMPARISON_MIN_POINT_MAG_MIP_LINEAR HEX: 85 +CONSTANT: D3D10_FILTER_COMPARISON_MIN_LINEAR_MAG_MIP_POINT HEX: 90 +CONSTANT: D3D10_FILTER_COMPARISON_MIN_LINEAR_MAG_POINT_MIP_LINEAR HEX: 91 +CONSTANT: D3D10_FILTER_COMPARISON_MIN_MAG_LINEAR_MIP_POINT HEX: 94 +CONSTANT: D3D10_FILTER_COMPARISON_MIN_MAG_MIP_LINEAR HEX: 95 +CONSTANT: D3D10_FILTER_COMPARISON_ANISOTROPIC HEX: d5 +CONSTANT: D3D10_FILTER_TEXT_1BIT HEX: 80000000 +TYPEDEF: int D3D10_FILTER + +CONSTANT: D3D10_FILTER_TYPE_POINT 0 +CONSTANT: D3D10_FILTER_TYPE_LINEAR 1 +TYPEDEF: int D3D10_FILTER_TYPE + +CONSTANT: D3D10_FILTER_TYPE_MASK HEX: 3 +CONSTANT: D3D10_MIN_FILTER_SHIFT 4 +CONSTANT: D3D10_MAG_FILTER_SHIFT 2 +CONSTANT: D3D10_MIP_FILTER_SHIFT 0 +CONSTANT: D3D10_COMPARISON_FILTERING_BIT HEX: 80 +CONSTANT: D3D10_ANISOTROPIC_FILTERING_BIT HEX: 40 +CONSTANT: D3D10_TEXT_1BIT_BIT HEX: 80000000 + +CONSTANT: D3D10_TEXTURE_ADDRESS_WRAP 1 +CONSTANT: D3D10_TEXTURE_ADDRESS_MIRROR 2 +CONSTANT: D3D10_TEXTURE_ADDRESS_CLAMP 3 +CONSTANT: D3D10_TEXTURE_ADDRESS_BORDER 4 +CONSTANT: D3D10_TEXTURE_ADDRESS_MIRROR_ONCE 5 +TYPEDEF: int D3D10_TEXTURE_ADDRESS_MODE + +STRUCT: D3D10_SAMPLER_DESC + { Filter D3D10_FILTER } + { AddressU D3D10_TEXTURE_ADDRESS_MODE } + { AddressV D3D10_TEXTURE_ADDRESS_MODE } + { AddressW D3D10_TEXTURE_ADDRESS_MODE } + { MipLODBias FLOAT } + { MaxAnisotropy UINT } + { ComparisonFunc D3D10_COMPARISON_FUNC } + { BorderColor FLOAT[4] } + { MinLOD FLOAT } + { MaxLOD FLOAT } ; +TYPEDEF: D3D10_SAMPLER_DESC D3D10SAMPLER_DESC + +COM-INTERFACE: ID3D10SamplerState ID3D10DeviceChild {9B7E4C0C-342C-4106-A19F-4F2704F689F0} + void GetDesc ( D3D10SAMPLER_DESC* pDesc ) ; + +CONSTANT: D3D10_FORMAT_SUPPORT_BUFFER HEX: 1 +CONSTANT: D3D10_FORMAT_SUPPORT_IA_VERTEX_BUFFER HEX: 2 +CONSTANT: D3D10_FORMAT_SUPPORT_IA_INDEX_BUFFER HEX: 4 +CONSTANT: D3D10_FORMAT_SUPPORT_SO_BUFFER HEX: 8 +CONSTANT: D3D10_FORMAT_SUPPORT_TEXTURE1D HEX: 10 +CONSTANT: D3D10_FORMAT_SUPPORT_TEXTURE2D HEX: 20 +CONSTANT: D3D10_FORMAT_SUPPORT_TEXTURE3D HEX: 40 +CONSTANT: D3D10_FORMAT_SUPPORT_TEXTURECUBE HEX: 80 +CONSTANT: D3D10_FORMAT_SUPPORT_SHADER_LOAD HEX: 100 +CONSTANT: D3D10_FORMAT_SUPPORT_SHADER_SAMPLE HEX: 200 +CONSTANT: D3D10_FORMAT_SUPPORT_SHADER_SAMPLE_COMPARISON HEX: 400 +CONSTANT: D3D10_FORMAT_SUPPORT_SHADER_SAMPLE_MONO_TEXT HEX: 800 +CONSTANT: D3D10_FORMAT_SUPPORT_MIP HEX: 1000 +CONSTANT: D3D10_FORMAT_SUPPORT_MIP_AUTOGEN HEX: 2000 +CONSTANT: D3D10_FORMAT_SUPPORT_RENDER_TARGET HEX: 4000 +CONSTANT: D3D10_FORMAT_SUPPORT_BLENDABLE HEX: 8000 +CONSTANT: D3D10_FORMAT_SUPPORT_DEPTH_STENCIL HEX: 10000 +CONSTANT: D3D10_FORMAT_SUPPORT_CPU_LOCKABLE HEX: 20000 +CONSTANT: D3D10_FORMAT_SUPPORT_MULTISAMPLE_RESOLVE HEX: 40000 +CONSTANT: D3D10_FORMAT_SUPPORT_DISPLAY HEX: 80000 +CONSTANT: D3D10_FORMAT_SUPPORT_CAST_WITHIN_BIT_LAYOUT HEX: 100000 +CONSTANT: D3D10_FORMAT_SUPPORT_MULTISAMPLE_RENDERTARGET HEX: 200000 +CONSTANT: D3D10_FORMAT_SUPPORT_MULTISAMPLE_LOAD HEX: 400000 +CONSTANT: D3D10_FORMAT_SUPPORT_SHADER_GATHER HEX: 800000 +CONSTANT: D3D10_FORMAT_SUPPORT_BACK_BUFFER_CAST HEX: 100000 +TYPEDEF: int D3D10_FORMAT_SUPPORT + +COM-INTERFACE: ID3D10Asynchronous ID3D10DeviceChild {9B7E4C0D-342C-4106-A19F-4F2704F689F0} + void Begin ( ) + void End ( ) + HRESULT GetData ( void* pData, UINT DataSize, UINT GetDataFlags ) + UINT GetDataSize ( ) ; + +CONSTANT: D3D10_ASYNC_GETDATA_DONOTFLUSH 1 +TYPEDEF: int D3D10_ASYNC_GETDATA_FLAG + +CONSTANT: D3D10_QUERY_EVENT 0 +CONSTANT: D3D10_QUERY_OCCLUSION 1 +CONSTANT: D3D10_QUERY_TIMESTAMP 2 +CONSTANT: D3D10_QUERY_TIMESTAMP_DISJOINT 3 +CONSTANT: D3D10_QUERY_PIPELINE_STATISTICS 4 +CONSTANT: D3D10_QUERY_OCCLUSION_PREDICATE 5 +CONSTANT: D3D10_QUERY_SO_STATISTICS 6 +CONSTANT: D3D10_QUERY_SO_OVERFLOW_PREDICATE 7 +TYPEDEF: int D3D10_QUERY + +CONSTANT: D3D10_QUERY_MISC_PREDICATEHINT 1 +TYPEDEF: int D3D10_QUERY_MISC_FLAG + +STRUCT: D3D10_QUERY_DESC + { Query D3D10_QUERY } + { MiscFlags UINT } ; + +COM-INTERFACE: ID3D10Query ID3D10Asynchronous {9B7E4C0E-342C-4106-A19F-4F2704F689F0} + void GetDesc ( D3D10_QUERY_DESC* pDesc ) ; + +COM-INTERFACE: ID3D10Predicate ID3D10Query {9B7E4C10-342C-4106-A19F-4F2704F689F0} ; + +STRUCT: D3D10_QUERY_DATA_TIMESTAMP_DISJOINT + { Frequency UINT64 } + { Disjoint BOOL } ; + +STRUCT: D3D10_QUERY_DATA_PIPELINE_STATISTICS + { IAVertices UINT64 } + { IAPrimitives UINT64 } + { VSInvocations UINT64 } + { GSInvocations UINT64 } + { GSPrimitives UINT64 } + { CInvocations UINT64 } + { CPrimitives UINT64 } + { PSInvocations UINT64 } ; + +STRUCT: D3D10_QUERY_DATA_SO_STATISTICS + { NumPrimitivesWritten UINT64 } + { PrimitivesStorageNeeded UINT64 } ; + +CONSTANT: D3D10_COUNTER_GPU_IDLE 0 +CONSTANT: D3D10_COUNTER_VERTEX_PROCESSING 1 +CONSTANT: D3D10_COUNTER_GEOMETRY_PROCESSING 2 +CONSTANT: D3D10_COUNTER_PIXEL_PROCESSING 3 +CONSTANT: D3D10_COUNTER_OTHER_GPU_PROCESSING 4 +CONSTANT: D3D10_COUNTER_HOST_ADAPTER_BANDWIDTH_UTILIZATION 5 +CONSTANT: D3D10_COUNTER_LOCAL_VIDMEM_BANDWIDTH_UTILIZATION 6 +CONSTANT: D3D10_COUNTER_VERTEX_THROUGHPUT_UTILIZATION 7 +CONSTANT: D3D10_COUNTER_TRIANGLE_SETUP_THROUGHPUT_UTILIZATION 8 +CONSTANT: D3D10_COUNTER_FILLRATE_THROUGHPUT_UTILIZATION 9 +CONSTANT: D3D10_COUNTER_VS_MEMORY_LIMITED 10 +CONSTANT: D3D10_COUNTER_VS_COMPUTATION_LIMITED 11 +CONSTANT: D3D10_COUNTER_GS_MEMORY_LIMITED 12 +CONSTANT: D3D10_COUNTER_GS_COMPUTATION_LIMITED 13 +CONSTANT: D3D10_COUNTER_PS_MEMORY_LIMITED 14 +CONSTANT: D3D10_COUNTER_PS_COMPUTATION_LIMITED 15 +CONSTANT: D3D10_COUNTER_POST_TRANSFORM_CACHE_HIT_RATE 16 +CONSTANT: D3D10_COUNTER_TEXTURE_CACHE_HIT_RATE 17 +CONSTANT: D3D10_COUNTER_DEVICE_DEPENDENT_0 HEX: 40000000 +TYPEDEF: int D3D10_COUNTER + +CONSTANT: D3D10_COUNTER_TYPE_FLOAT32 0 +CONSTANT: D3D10_COUNTER_TYPE_UINT16 1 +CONSTANT: D3D10_COUNTER_TYPE_UINT32 2 +CONSTANT: D3D10_COUNTER_TYPE_UINT64 3 +TYPEDEF: int D3D10_COUNTER_TYPE + +STRUCT: D3D10_COUNTER_DESC + { Counter D3D10_COUNTER } + { MiscFlags UINT } ; + +STRUCT: D3D10_COUNTER_INFO + { LastDeviceDependentCounter D3D10_COUNTER } + { NumSimultaneousCounters UINT } + { NumDetectableParallelUnits BYTE } ; + +COM-INTERFACE: ID3D10Counter ID3D10Asynchronous {9B7E4C11-342C-4106-A19F-4F2704F689F0} + void GetDesc ( D3D10_COUNTER_DESC* pDesc ) ; + +COM-INTERFACE: ID3D10Device IUnknown {9B7E4C0F-342C-4106-A19F-4F2704F689F0} + void VSSetConstantBuffers ( UINT StartSlot, UINT NumBuffers, ID3D10Buffer** ppConstantBuffers ) + void PSSetShaderResources ( UINT StartSlot, UINT NumViews, ID3D10ShaderResourceView** ppShaderResourceView ) + void PSSetShader ( ID3D10PixelShader* pPixelShader ) + void PSSetSamplers ( UINT StartSlot, UINT NumSamplers, ID3D10SamplerState** ppSamplers ) + void VSSetShader ( ID3D10VertexShader* pVertexShader ) + void DrawIndexed ( UINT IndexCount, UINT StartIndexLocation, INT BaseVertexLocation ) + void Draw ( UINT VertexCount, UINT StartVertexLocation ) + void PSSetConstantBuffers ( UINT StartSlot, UINT NumBuffers, ID3D10Buffer** ppConstantBuffers ) + void IASetInputLayout ( ID3D10InputLayout* pInputLayout ) + void IASetVertexBuffers ( UINT StartSlot, UINT NumBuffers, ID3D10Buffer** ppVertexBuffers, UINT* pStrides, UINT* pOffsets ) + void IASetIndexBuffer ( ID3D10Buffer* pIndexBuffer, DXGI_FORMAT Format, UINT Offset ) + void DrawIndexedInstanced ( UINT IndexCountPerInstance, UINT InstanceCount, UINT StartIndexLocation, INT BaseVertexLocation, UINT StartInstanceLocation ) + void DrawInstanced ( UINT VertexCountPerInstance, UINT InstanceCount, UINT StartVertexLocation, UINT StartInstanceLocation ) + void GSSetConstantBuffers ( UINT StartSlot, UINT NumBuffers, ID3D10Buffer** ppConstantBuffers ) + void GSSetShader ( ID3D10GeometryShader* pShader ) + void IASetPrimitiveTopology ( D3D10_PRIMITIVE_TOPOLOGY Topology ) + void VSSetShaderResources ( UINT StartSlot, UINT NumViews, ID3D10ShaderResourceView** ppShaderResourceViews ) + void VSSetSamplers ( UINT StartSlot, UINT NumSamplers, ID3D10SamplerState** ppSamplers ) + void SetPredication ( ID3D10Predicate* pPredicate, BOOL PredicateValue ) + void GSSetShaderResources ( UINT StartSlot, UINT NumViews, ID3D10ShaderResourceView** ppShaderResourceViews ) + void GSSetSamplers ( UINT StartSlot, UINT NumSamplers, ID3D10SamplerState** ppSamplers ) + void OMSetRenderTargets ( UINT NumViews, ID3D10RenderTargetView** ppRenderTargetViews, ID3D10DepthStencilView* pDepthStencilView ) + void OMSetBlendState ( ID3D10BlendState* pBlendState, FLOAT[4] BlendFactor, UINT SampleMask ) + void OMSetDepthStencilState ( ID3D10DepthStencilState* pDepthStencilState, UINT StencilRef ) + void SOSetTargets ( UINT NumBuffers, ID3D10Buffer** ppSOTargets, UINT* pOffsets ) + void DrawAuto ( ) + void RSSetState ( ID3D10RasterizerState* pRasterizerState ) + void RSSetViewports ( UINT NumViewports, D3D10_VIEWPORT* pViewports ) + void RSSetScissorRects ( UINT NumRects, D3D10_RECT* pRects ) + void CopySubresourceRegion ( ID3D10Resource* pDstResource, UINT DstSubresource, UINT DstX, UINT DstY, UINT DstZ, ID3D10Resource* pSrcResource, UINT SrcSubresource, D3D10_BOX* pSrcBox ) + void CopyResource ( ID3D10Resource* pDstResource, ID3D10Resource* pSrcResource ) + void UpdateSubresource ( ID3D10Resource* pDstResource, UINT DstSubresource, D3D10_BOX* pDstBox, void* pSrcData, UINT SrcRowPitch, UINT SrcDepthPitch ) + void ClearRenderTargetView ( ID3D10RenderTargetView* pRenderTargetView, FLOAT[4] ColorRGBA ) + void ClearDepthStencilView ( ID3D10DepthStencilView* pDepthStencilView, UINT ClearFlags, FLOAT Depth, BYTE Stencil ) + void GenerateMips ( ID3D10ShaderResourceView* pShaderResourceView ) + void ResolveSubresource ( ID3D10Resource* pDstResource, UINT DstSubresource, ID3D10Resource* pSrcResource, UINT SrcSubresource, DXGI_FORMAT Format ) + void VSGetConstantBuffers ( UINT StartSlot, UINT NumBuffers, ID3D10Buffer** ppConstantBuffers ) + void PSGetShaderResources ( UINT StartSlot, UINT NumViews, ID3D10ShaderResourceView** ppShaderResourceViews ) + void PSGetShader ( ID3D10PixelShader** ppPixelShader ) + void PSGetSamplers ( UINT StartSlot, UINT NumSamplers, ID3D10SamplerState** ppSamplers ) + void VSGetShader ( ID3D10VertexShader** ppVertexShader ) + void PSGetConstantBuffers ( UINT StartSlot, UINT NumBuffers, ID3D10Buffer** ppConstantBuffers ) + void IAGetInputLayout ( ID3D10InputLayout** ppInputLayout ) + void IAGetVertexBuffers ( UINT StartSlot, UINT NumBuffers, ID3D10Buffer** ppVertexBuffers, UINT* pStrides, UINT* pOffsets ) + void IAGetIndexBuffer ( ID3D10Buffer** pIndexBuffer, DXGI_FORMAT* Format, UINT* Offset ) + void GSGetConstantBuffers ( UINT StartSlot, UINT NumBuffers, ID3D10Buffer** ppConstantBuffers ) + void GSGetShader ( ID3D10GeometryShader** ppGeometryShader ) + void IAGetPrimitiveTopology ( D3D10_PRIMITIVE_TOPOLOGY* pTopology ) + void VSGetShaderResources ( UINT StartSlot, UINT NumViews, ID3D10ShaderResourceView** ppShaderResourceViews ) + void VSGetSamplers ( UINT StartSlot, UINT NumSamplers, ID3D10SamplerState** ppSamplers ) + void GetPredication ( ID3D10Predicate** ppPredicate, BOOL* pPredicateValue ) + void GSGetShaderResources ( UINT StartSlot, UINT NumViews, ID3D10ShaderResourceView** ppShaderResourceViews ) + void GSGetSamplers ( UINT StartSlot, UINT NumSamplers, ID3D10SamplerState** ppSamplers ) + void OMGetRenderTargets ( UINT NumViews, ID3D10RenderTargetView** ppRenderTargetViews, ID3D10DepthStencilView** ppDepthStencilView ) + void OMGetBlendState ( ID3D10BlendState** ppBlendState, FLOAT[4] BlendFactor, UINT* pSampleMask ) + void OMGetDepthStencilState ( ID3D10DepthStencilState** ppDepthStencilState, UINT* pStencilRef ) + void SOGetTargets ( UINT NumBuffers, ID3D10Buffer** ppSOTargets, UINT* pOffsets ) + void RSGetState ( ID3D10RasterizerState** ppRasterizerState ) + void RSGetViewports ( UINT* NumViewports, D3D10_VIEWPORT* pViewports ) + void RSGetScissorRects ( UINT* NumRects, D3D10_RECT* pRects ) + HRESULT GetDeviceRemovedReason ( ) + HRESULT SetExceptionMode ( UINT RaiseFlags ) + UINT GetExceptionMode ( ) + HRESULT GetPrivateData ( REFGUID guid, UINT* pDataSize, void* pData ) + HRESULT SetPrivateData ( REFGUID guid, UINT DataSize, void* pData ) + HRESULT SetPrivateDataInterface ( REFGUID guid, IUnknown* pData ) + void ClearState ( ) + void Flush ( ) + HRESULT CreateBuffer ( D3D10_BUFFER_DESC* pDesc, D3D10_SUBRESOURCE_DATA* pInitialData, ID3D10Buffer** ppBuffer ) + HRESULT CreateTexture1D ( D3D10_TEXTURE1D_DESC* pDesc, D3D10_SUBRESOURCE_DATA* pInitialData, ID3D10Texture1D** ppTexture1D ) + HRESULT CreateTexture2D ( D3D10_TEXTURE2D_DESC* pDesc, D3D10_SUBRESOURCE_DATA* pInitialData, ID3D10Texture2D** ppTexture2D ) + HRESULT CreateTexture3D ( D3D10_TEXTURE3D_DESC* pDesc, D3D10_SUBRESOURCE_DATA* pInitialData, ID3D10Texture3D** ppTexture3D ) + HRESULT CreateShaderResourceView ( ID3D10Resource* pResource, D3D10_SHADER_RESOURCE_VIEW_DESC* pDesc, ID3D10ShaderResourceView** ppSRView ) + HRESULT CreateRenderTargetView ( ID3D10Resource* pResource, D3D10_RENDER_TARGET_VIEW_DESC* pDesc, ID3D10RenderTargetView** ppRTView ) + HRESULT CreateDepthStencilView ( ID3D10Resource* pResource, D3D10_DEPTH_STENCIL_VIEW_DESC* pDesc, ID3D10DepthStencilView** ppDepthStencilView ) + HRESULT CreateInputLayout ( D3D10_INPUT_ELEMENT_DESC* pInputElementDescs, UINT NumElements, void* pShaderBytecodeWithInputSignature, SIZE_T BytecodeLength, ID3D10InputLayout** ppInputLayout ) + HRESULT CreateVertexShader ( void* pShaderBytecode, SIZE_T BytecodeLength, ID3D10VertexShader** ppVertexShader ) + HRESULT CreateGeometryShader ( void* pShaderBytecode, SIZE_T BytecodeLength, ID3D10GeometryShader** ppGeometryShader ) + HRESULT CreateGeometryShaderWithStreamOutput ( void* pShaderBytecode, SIZE_T BytecodeLength, D3D10_SO_DECLARATION_ENTRY* pSODeclaration, UINT NumEntries, UINT OutputStreamStride, ID3D10GeometryShader** ppGeometryShader ) + HRESULT CreatePixelShader ( void* pShaderBytecode, SIZE_T BytecodeLength, ID3D10PixelShader** ppPixelShader ) + HRESULT CreateBlendState ( D3D10_BLEND_DESC* pBlendStateDesc, ID3D10BlendState** ppBlendState ) + HRESULT CreateDepthStencilState ( D3D10_DEPTH_STENCIL_DESC* pDepthStencilDesc, ID3D10DepthStencilState** ppDepthStencilState ) + HRESULT CreateRasterizerState ( D3D10_RASTERIZER_DESC* pRasterizerDesc, ID3D10RasterizerState** ppRasterizerState ) + HRESULT CreateSamplerState ( D3D10_SAMPLER_DESC* pSamplerDesc, ID3D10SamplerState** ppSamplerState ) + HRESULT CreateQuery ( D3D10_QUERY_DESC* pQueryDesc, ID3D10Query** ppQuery ) + HRESULT CreatePredicate ( D3D10_QUERY_DESC* pPredicateDesc, ID3D10Predicate** ppPredicate ) + HRESULT CreateCounter ( D3D10_COUNTER_DESC* pCounterDesc, ID3D10Counter** ppCounter ) + HRESULT CheckFormatSupport ( DXGI_FORMAT Format, UINT* pFormatSupport ) + HRESULT CheckMultisampleQualityLevels ( DXGI_FORMAT Format, UINT SampleCount, UINT* pNumQualityLevels ) + void CheckCounterInfo ( D3D10_COUNTER_INFO* pCounterInfo ) + HRESULT CheckCounter ( D3D10_COUNTER_DESC* pDesc, D3D10_COUNTER_TYPE* pType, UINT* pActiveCounters, LPSTR szName, UINT* pNameLength, LPSTR szUnits, UINT* pUnitsLength, LPSTR szDescription, UINT* pDescriptionLength ) + UINT GetCreationFlags ( ) + HRESULT OpenSharedResource ( HANDLE hResource, REFIID ReturnedInterface, void** ppResource ) + void SetTextFilterSize ( UINT Width, UINT Height ) + void GetTextFilterSize ( UINT* pWidth, UINT* pHeight ) ; + +COM-INTERFACE: ID3D10Multithread IUnknown {9B7E4E00-342C-4106-A19F-4F2704F689F0} + void Enter ( ) + void Leave ( ) + BOOL SetMultithreadProtected ( BOOL bMTProtect ) + BOOL GetMultithreadProtected ( ) ; + +CONSTANT: D3D10_CREATE_DEVICE_SINGLETHREADED HEX: 1 +CONSTANT: D3D10_CREATE_DEVICE_DEBUG HEX: 2 +CONSTANT: D3D10_CREATE_DEVICE_SWITCH_TO_REF HEX: 4 +CONSTANT: D3D10_CREATE_DEVICE_PREVENT_INTERNAL_THREADING_OPTIMIZATIONS HEX: 8 +CONSTANT: D3D10_CREATE_DEVICE_ALLOW_NULL_FROM_MAP HEX: 10 +CONSTANT: D3D10_CREATE_DEVICE_BGRA_SUPPORT HEX: 20 +CONSTANT: D3D10_CREATE_DEVICE_STRICT_VALIDATION HEX: 200 +TYPEDEF: int D3D10_CREATE_DEVICE_FLAG + +CONSTANT: D3D10_SDK_VERSION 29 + +CONSTANT: D3DX10_ERR_CANNOT_MODIFY_INDEX_BUFFER HEX: 88760B54 +CONSTANT: D3DX10_ERR_INVALID_MESH HEX: 88760B55 +CONSTANT: D3DX10_ERR_CANNOT_ATTR_SORT HEX: 88760B56 +CONSTANT: D3DX10_ERR_SKINNING_NOT_SUPPORTED HEX: 88760B57 +CONSTANT: D3DX10_ERR_TOO_MANY_INFLUENCES HEX: 88760B58 +CONSTANT: D3DX10_ERR_INVALID_DATA HEX: 88760B59 +CONSTANT: D3DX10_ERR_LOADED_MESH_HAS_NO_DATA HEX: 88760B5A +CONSTANT: D3DX10_ERR_DUPLICATE_NAMED_FRAGMENT HEX: 88760B5B +CONSTANT: D3DX10_ERR_CANNOT_REMOVE_LAST_ITEM HEX: 88760B5C diff --git a/basis/windows/directx/d3d10/summary.txt b/basis/windows/directx/d3d10/summary.txt new file mode 100644 index 0000000000..93943ab883 --- /dev/null +++ b/basis/windows/directx/d3d10/summary.txt @@ -0,0 +1 @@ +Direct3D 10 bindings. Corresponds to D3D10.h. diff --git a/basis/windows/directx/d3d10/tags.txt b/basis/windows/directx/d3d10/tags.txt new file mode 100644 index 0000000000..2320bdd648 --- /dev/null +++ b/basis/windows/directx/d3d10/tags.txt @@ -0,0 +1,2 @@ +unportable +bindings diff --git a/basis/windows/directx/d3d10_1/authors.txt b/basis/windows/directx/d3d10_1/authors.txt new file mode 100644 index 0000000000..6f03a12101 --- /dev/null +++ b/basis/windows/directx/d3d10_1/authors.txt @@ -0,0 +1 @@ +Erik Charlebois diff --git a/basis/windows/directx/d3d10_1/d3d10_1.factor b/basis/windows/directx/d3d10_1/d3d10_1.factor new file mode 100644 index 0000000000..7d4db6ecde --- /dev/null +++ b/basis/windows/directx/d3d10_1/d3d10_1.factor @@ -0,0 +1,128 @@ +USING: alien.c-types alien.syntax classes.struct +windows.com.syntax windows.directx.d3d10 +windows.directx.d3d10misc windows.directx.dxgi +windows.directx.dxgiformat windows.types ; +IN: windows.directx.d3d10_1 + +LIBRARY: d3d10_1 + +CONSTANT: D3D10_1_DEFAULT_SAMPLE_MASK HEX: ffffffff +CONSTANT: D3D10_1_FLOAT16_FUSED_TOLERANCE_IN_ULP 0.6 +CONSTANT: D3D10_1_FLOAT32_TO_INTEGER_TOLERANCE_IN_ULP 0.6 +CONSTANT: D3D10_1_GS_INPUT_REGISTER_COUNT 32 +CONSTANT: D3D10_1_IA_VERTEX_INPUT_RESOURCE_SLOT_COUNT 32 +CONSTANT: D3D10_1_IA_VERTEX_INPUT_STRUCTURE_ELEMENTS_COMPONENTS 128 +CONSTANT: D3D10_1_IA_VERTEX_INPUT_STRUCTURE_ELEMENT_COUNT 32 +CONSTANT: D3D10_1_PS_OUTPUT_MASK_REGISTER_COMPONENTS 1 +CONSTANT: D3D10_1_PS_OUTPUT_MASK_REGISTER_COMPONENT_BIT_COUNT 32 +CONSTANT: D3D10_1_PS_OUTPUT_MASK_REGISTER_COUNT 1 +CONSTANT: D3D10_1_SHADER_MAJOR_VERSION 4 +CONSTANT: D3D10_1_SHADER_MINOR_VERSION 1 +CONSTANT: D3D10_1_SO_BUFFER_MAX_STRIDE_IN_BYTES 2048 +CONSTANT: D3D10_1_SO_BUFFER_MAX_WRITE_WINDOW_IN_BYTES 256 +CONSTANT: D3D10_1_SO_BUFFER_SLOT_COUNT 4 +CONSTANT: D3D10_1_SO_MULTIPLE_BUFFER_ELEMENTS_PER_BUFFER 1 +CONSTANT: D3D10_1_SO_SINGLE_BUFFER_COMPONENT_LIMIT 64 +CONSTANT: D3D10_1_STANDARD_VERTEX_ELEMENT_COUNT 32 +CONSTANT: D3D10_1_SUBPIXEL_FRACTIONAL_BIT_COUNT 8 +CONSTANT: D3D10_1_VS_INPUT_REGISTER_COUNT 32 +CONSTANT: D3D10_1_VS_OUTPUT_REGISTER_COUNT 32 + +CONSTANT: D3D10_FEATURE_LEVEL_10_0 HEX: a000 +CONSTANT: D3D10_FEATURE_LEVEL_10_1 HEX: a100 +CONSTANT: D3D10_FEATURE_LEVEL_9_1 HEX: 9100 +CONSTANT: D3D10_FEATURE_LEVEL_9_2 HEX: 9200 +CONSTANT: D3D10_FEATURE_LEVEL_9_3 HEX: 9300 +TYPEDEF: int D3D10_FEATURE_LEVEL1 + +STRUCT: D3D10_RENDER_TARGET_BLEND_DESC1 + { BlendEnable BOOL } + { SrcBlend D3D10_BLEND } + { DestBlend D3D10_BLEND } + { BlendOp D3D10_BLEND_OP } + { SrcBlendAlpha D3D10_BLEND } + { DestBlendAlpha D3D10_BLEND } + { BlendOpAlpha D3D10_BLEND_OP } + { RenderTargetWriteMask BYTE } ; + +STRUCT: D3D10_BLEND_DESC1 + { AlphaToCoverageEnable BOOL } + { IndependentBlendEnable BOOL } + { RenderTarget D3D10_RENDER_TARGET_BLEND_DESC1[8] } ; + +COM-INTERFACE: ID3D10BlendState1 ID3D10BlendState {EDAD8D99-8A35-4d6d-8566-2EA276CDE161} + void GetDesc1 ( D3D10_BLEND_DESC1* pDesc ) ; + +STRUCT: D3D10_TEXCUBE_ARRAY_SRV1 + { MostDetailedMip UINT } + { MipLevels UINT } + { First2DArrayFace UINT } + { NumCubes UINT } ; + +CONSTANT: D3D10_1_SRV_DIMENSION_UNKNOWN 0 +CONSTANT: D3D10_1_SRV_DIMENSION_BUFFER 1 +CONSTANT: D3D10_1_SRV_DIMENSION_TEXTURE1D 2 +CONSTANT: D3D10_1_SRV_DIMENSION_TEXTURE1DARRAY 3 +CONSTANT: D3D10_1_SRV_DIMENSION_TEXTURE2D 4 +CONSTANT: D3D10_1_SRV_DIMENSION_TEXTURE2DARRAY 5 +CONSTANT: D3D10_1_SRV_DIMENSION_TEXTURE2DMS 6 +CONSTANT: D3D10_1_SRV_DIMENSION_TEXTURE2DMSARRAY 7 +CONSTANT: D3D10_1_SRV_DIMENSION_TEXTURE3D 8 +CONSTANT: D3D10_1_SRV_DIMENSION_TEXTURECUBE 9 +CONSTANT: D3D10_1_SRV_DIMENSION_TEXTURECUBEARRAY 10 +TYPEDEF: int D3D10_SRV_DIMENSION1 + +UNION-STRUCT: D3D10_SHADER_RESOURCE_VIEW_DESC1_UNION + { Buffer D3D10_BUFFER_SRV } + { Texture1D D3D10_TEX1D_SRV } + { Texture1DArray D3D10_TEX1D_ARRAY_SRV } + { Texture2D D3D10_TEX2D_SRV } + { Texture2DArray D3D10_TEX2D_ARRAY_SRV } + { Texture2DMS D3D10_TEX2DMS_SRV } + { Texture2DMSArray D3D10_TEX2DMS_ARRAY_SRV } + { Texture3D D3D10_TEX3D_SRV } + { TextureCube D3D10_TEXCUBE_SRV } + { TextureCubeArray D3D10_TEXCUBE_ARRAY_SRV1 } ; +STRUCT: D3D10_SHADER_RESOURCE_VIEW_DESC1 + { Format DXGI_FORMAT } + { ViewDimension D3D10_SRV_DIMENSION1 } + { View D3D10_SHADER_RESOURCE_VIEW_DESC1_UNION } ; + +COM-INTERFACE: ID3D10ShaderResourceView1 ID3D10ShaderResourceView {9B7E4C87-342C-4106-A19F-4F2704F689F0} + void GetDesc1 ( D3D10_SHADER_RESOURCE_VIEW_DESC1* pDesc ) ; + +CONSTANT: D3D10_STANDARD_MULTISAMPLE_PATTERN HEX: ffffffff +CONSTANT: D3D10_CENTER_MULTISAMPLE_PATTERN HEX: fffffffe +TYPEDEF: int D3D10_STANDARD_MULTISAMPLE_QUALITY_LEVELS + +COM-INTERFACE: ID3D10Device1 ID3D10Device {9B7E4C8F-342C-4106-A19F-4F2704F689F0} + HRESULT CreateShaderResourceView1 ( + ID3D10Resource* pResource, + D3D10_SHADER_RESOURCE_VIEW_DESC1* pDesc, + ID3D10ShaderResourceView1** ppSRView ) + HRESULT CreateBlendState1 ( + D3D10_BLEND_DESC1* pBlendStateDesc, + ID3D10BlendState1** ppBlendState ) + D3D10_FEATURE_LEVEL1 GetFeatureLevel ( ) ; + +CONSTANT: D3D10_1_SDK_VERSION HEX: 20 + +FUNCTION: HRESULT D3D10CreateDevice1 ( + IDXGIAdapter* pAdapter, + D3D10_DRIVER_TYPE DriverType, + HMODULE Software, + UINT Flags, + D3D10_FEATURE_LEVEL1 HardwareLevel, + UINT SDKVersion, + ID3D10Device1** ppDevice ) ; + +FUNCTION: HRESULT D3D10CreateDeviceAndSwapChain1 ( + IDXGIAdapter* pAdapter, + D3D10_DRIVER_TYPE DriverType, + HMODULE Software, + UINT Flags, + D3D10_FEATURE_LEVEL1 HardwareLevel, + UINT SDKVersion, + DXGI_SWAP_CHAIN_DESC* pSwapChainDesc, + IDXGISwapChain** ppSwapChain, + ID3D10Device1** ppDevice ) ; diff --git a/basis/windows/directx/d3d10_1/summary.txt b/basis/windows/directx/d3d10_1/summary.txt new file mode 100644 index 0000000000..922e8079c4 --- /dev/null +++ b/basis/windows/directx/d3d10_1/summary.txt @@ -0,0 +1 @@ +Direct3D 10.1 bindings. Corresponds to d3d10_1.h. diff --git a/basis/windows/directx/d3d10_1/tags.txt b/basis/windows/directx/d3d10_1/tags.txt new file mode 100644 index 0000000000..2320bdd648 --- /dev/null +++ b/basis/windows/directx/d3d10_1/tags.txt @@ -0,0 +1,2 @@ +unportable +bindings diff --git a/basis/windows/directx/d3d10_1shader/authors.txt b/basis/windows/directx/d3d10_1shader/authors.txt new file mode 100644 index 0000000000..6f03a12101 --- /dev/null +++ b/basis/windows/directx/d3d10_1shader/authors.txt @@ -0,0 +1 @@ +Erik Charlebois diff --git a/basis/windows/directx/d3d10_1shader/d3d10_1shader.factor b/basis/windows/directx/d3d10_1shader/d3d10_1shader.factor new file mode 100644 index 0000000000..4664b90523 --- /dev/null +++ b/basis/windows/directx/d3d10_1shader/d3d10_1shader.factor @@ -0,0 +1,161 @@ +USING: alien.c-types alien.syntax classes.struct windows.com +windows.com.syntax windows.directx.d3d10 windows.directx.d3d10shader +windows.types ; +IN: windows.directx.d3d10_1shader + +LIBRARY: d3d10_1 + +CONSTANT: D3D10_SHADER_DEBUG_REG_INPUT 0 +CONSTANT: D3D10_SHADER_DEBUG_REG_OUTPUT 1 +CONSTANT: D3D10_SHADER_DEBUG_REG_CBUFFER 2 +CONSTANT: D3D10_SHADER_DEBUG_REG_TBUFFER 3 +CONSTANT: D3D10_SHADER_DEBUG_REG_TEMP 4 +CONSTANT: D3D10_SHADER_DEBUG_REG_TEMPARRAY 5 +CONSTANT: D3D10_SHADER_DEBUG_REG_TEXTURE 6 +CONSTANT: D3D10_SHADER_DEBUG_REG_SAMPLER 7 +CONSTANT: D3D10_SHADER_DEBUG_REG_IMMEDIATECBUFFER 8 +CONSTANT: D3D10_SHADER_DEBUG_REG_LITERAL 9 +CONSTANT: D3D10_SHADER_DEBUG_REG_UNUSED 10 +CONSTANT: D3D11_SHADER_DEBUG_REG_INTERFACE_POINTERS 11 +CONSTANT: D3D10_SHADER_DEBUG_REG_FORCE_DWORD HEX: 7fffffff +TYPEDEF: int D3D10_SHADER_DEBUG_REGTYPE + +CONSTANT: D3D10_SHADER_DEBUG_SCOPE_GLOBAL 0 +CONSTANT: D3D10_SHADER_DEBUG_SCOPE_BLOCK 1 +CONSTANT: D3D10_SHADER_DEBUG_SCOPE_FORLOOP 2 +CONSTANT: D3D10_SHADER_DEBUG_SCOPE_STRUCT 3 +CONSTANT: D3D10_SHADER_DEBUG_SCOPE_FUNC_PARAMS 4 +CONSTANT: D3D10_SHADER_DEBUG_SCOPE_STATEBLOCK 5 +CONSTANT: D3D10_SHADER_DEBUG_SCOPE_NAMESPACE 6 +CONSTANT: D3D10_SHADER_DEBUG_SCOPE_ANNOTATION 7 +CONSTANT: D3D10_SHADER_DEBUG_SCOPE_FORCE_DWORD HEX: 7fffffff +TYPEDEF: int D3D10_SHADER_DEBUG_SCOPETYPE + +CONSTANT: D3D10_SHADER_DEBUG_VAR_VARIABLE 0 +CONSTANT: D3D10_SHADER_DEBUG_VAR_FUNCTION 1 +CONSTANT: D3D10_SHADER_DEBUG_VAR_FORCE_DWORD HEX: 7fffffff +TYPEDEF: int D3D10_SHADER_DEBUG_VARTYPE + +STRUCT: D3D10_SHADER_DEBUG_TOKEN_INFO + { File UINT } + { Line UINT } + { Column UINT } + { TokenLength UINT } + { TokenId UINT } ; + +STRUCT: D3D10_SHADER_DEBUG_VAR_INFO + { TokenId UINT } + { Type D3D10_SHADER_VARIABLE_TYPE } + { Register UINT } + { Component UINT } + { ScopeVar UINT } + { ScopeVarOffset UINT } ; + +STRUCT: D3D10_SHADER_DEBUG_INPUT_INFO + { Var UINT } + { InitialRegisterSet D3D10_SHADER_DEBUG_REGTYPE } + { InitialBank UINT } + { InitialRegister UINT } + { InitialComponent UINT } + { InitialValue UINT } ; + +STRUCT: D3D10_SHADER_DEBUG_SCOPEVAR_INFO + { TokenId UINT } + { VarType D3D10_SHADER_DEBUG_VARTYPE } + { Class D3D10_SHADER_VARIABLE_CLASS } + { Rows UINT } + { Columns UINT } + { StructMemberScope UINT } + { uArrayIndices UINT } + { ArrayElements UINT } + { ArrayStrides UINT } + { uVariables UINT } + { uFirstVariable UINT } ; + +STRUCT: D3D10_SHADER_DEBUG_SCOPE_INFO + { ScopeType D3D10_SHADER_DEBUG_SCOPETYPE } + { Name UINT } + { uNameLen UINT } + { uVariables UINT } + { VariableData UINT } ; + +STRUCT: D3D10_SHADER_DEBUG_OUTPUTVAR + { Var UINT } + { uValueMin UINT } + { uValueMax UINT } + { iValueMin INT } + { iValueMax INT } + { fValueMin FLOAT } + { fValueMax FLOAT } + { bNaNPossible BOOL } + { bInfPossible BOOL } ; + +STRUCT: D3D10_SHADER_DEBUG_OUTPUTREG_INFO + { OutputRegisterSet D3D10_SHADER_DEBUG_REGTYPE } + { OutputReg UINT } + { TempArrayReg UINT } + { OutputComponents UINT[4] } + { OutputVars D3D10_SHADER_DEBUG_OUTPUTVAR[4] } + { IndexReg UINT } + { IndexComp UINT } ; + +STRUCT: D3D10_SHADER_DEBUG_INST_INFO + { Id UINT } + { Opcode UINT } + { uOutputs UINT } + { pOutputs D3D10_SHADER_DEBUG_OUTPUTREG_INFO[2] } + { TokenId UINT } + { NestingLevel UINT } + { Scopes UINT } + { ScopeInfo UINT } + { AccessedVars UINT } + { AccessedVarsInfo UINT } ; + +STRUCT: D3D10_SHADER_DEBUG_FILE_INFO + { FileName UINT } + { FileNameLen UINT } + { FileData UINT } + { FileLen UINT } ; + +STRUCT: D3D10_SHADER_DEBUG_INFO + { Size UINT } + { Creator UINT } + { EntrypointName UINT } + { ShaderTarget UINT } + { CompileFlags UINT } + { Files UINT } + { FileInfo UINT } + { Instructions UINT } + { InstructionInfo UINT } + { Variables UINT } + { VariableInfo UINT } + { InputVariables UINT } + { InputVariableInfo UINT } + { Tokens UINT } + { TokenInfo UINT } + { Scopes UINT } + { ScopeInfo UINT } + { ScopeVariables UINT } + { ScopeVariableInfo UINT } + { UintOffset UINT } + { StringOffset UINT } ; + +C-TYPE: ID3D10ShaderReflection1 +TYPEDEF: ID3D10ShaderReflection1* LPD3D10SHADERREFLECTION1 + +COM-INTERFACE: ID3D10ShaderReflection1 IUnknown {C3457783-A846-47CE-9520-CEA6F66E7447} + HRESULT GetDesc ( D3D10_SHADER_DESC* pDesc ) + ID3D10ShaderReflectionConstantBuffer* GetConstantBufferByIndex ( UINT Index ) + ID3D10ShaderReflectionConstantBuffer* GetConstantBufferByName ( LPCSTR Name ) + HRESULT GetResourceBindingDesc ( UINT ResourceIndex, D3D10_SHADER_INPUT_BIND_DESC* pDesc ) + HRESULT GetInputParameterDesc ( UINT ParameterIndex, D3D10_SIGNATURE_PARAMETER_DESC* pDesc ) + HRESULT GetOutputParameterDesc ( UINT ParameterIndex, D3D10_SIGNATURE_PARAMETER_DESC* pDesc ) + ID3D10ShaderReflectionVariable* GetVariableByName ( LPCSTR Name ) + HRESULT GetResourceBindingDescByName ( LPCSTR Name, D3D10_SHADER_INPUT_BIND_DESC* pDesc ) + HRESULT GetMovInstructionCount ( UINT* pCount ) + HRESULT GetMovcInstructionCount ( UINT* pCount ) + HRESULT GetConversionInstructionCount ( UINT* pCount ) + HRESULT GetBitwiseInstructionCount ( UINT* pCount ) + HRESULT GetGSInputPrimitive ( D3D10_PRIMITIVE* pPrim ) + HRESULT IsLevel9Shader ( BOOL* pbLevel9Shader ) + HRESULT IsSampleFrequencyShader ( BOOL* pbSampleFrequency ) ; diff --git a/basis/windows/directx/d3d10_1shader/summary.txt b/basis/windows/directx/d3d10_1shader/summary.txt new file mode 100644 index 0000000000..918905891d --- /dev/null +++ b/basis/windows/directx/d3d10_1shader/summary.txt @@ -0,0 +1 @@ +Direct3D 10.1 bindings. Corresponds to d3d10_1shader.h. diff --git a/basis/windows/directx/d3d10_1shader/tags.txt b/basis/windows/directx/d3d10_1shader/tags.txt new file mode 100644 index 0000000000..2320bdd648 --- /dev/null +++ b/basis/windows/directx/d3d10_1shader/tags.txt @@ -0,0 +1,2 @@ +unportable +bindings diff --git a/basis/windows/directx/d3d10effect/authors.txt b/basis/windows/directx/d3d10effect/authors.txt new file mode 100644 index 0000000000..6f03a12101 --- /dev/null +++ b/basis/windows/directx/d3d10effect/authors.txt @@ -0,0 +1 @@ +Erik Charlebois diff --git a/basis/windows/directx/d3d10effect/d3d10effect.factor b/basis/windows/directx/d3d10effect/d3d10effect.factor new file mode 100644 index 0000000000..5b4fbb4ca5 --- /dev/null +++ b/basis/windows/directx/d3d10effect/d3d10effect.factor @@ -0,0 +1,335 @@ +USING: alien.c-types alien.syntax classes.struct windows.com +windows.com.syntax windows.directx.d3d10 +windows.directx.d3d10shader windows.types ; +IN: windows.directx.d3d10effect + +LIBRARY: d3d10 + +CONSTANT: D3D10_DST_SO_BUFFERS 1 +CONSTANT: D3D10_DST_OM_RENDER_TARGETS 2 +CONSTANT: D3D10_DST_OM_DEPTH_STENCIL_STATE 3 +CONSTANT: D3D10_DST_OM_BLEND_STATE 4 +CONSTANT: D3D10_DST_VS 5 +CONSTANT: D3D10_DST_VS_SAMPLERS 6 +CONSTANT: D3D10_DST_VS_SHADER_RESOURCES 7 +CONSTANT: D3D10_DST_VS_CONSTANT_BUFFERS 8 +CONSTANT: D3D10_DST_GS 9 +CONSTANT: D3D10_DST_GS_SAMPLERS 10 +CONSTANT: D3D10_DST_GS_SHADER_RESOURCES 11 +CONSTANT: D3D10_DST_GS_CONSTANT_BUFFERS 12 +CONSTANT: D3D10_DST_PS 13 +CONSTANT: D3D10_DST_PS_SAMPLERS 14 +CONSTANT: D3D10_DST_PS_SHADER_RESOURCES 15 +CONSTANT: D3D10_DST_PS_CONSTANT_BUFFERS 16 +CONSTANT: D3D10_DST_IA_VERTEX_BUFFERS 17 +CONSTANT: D3D10_DST_IA_INDEX_BUFFER 18 +CONSTANT: D3D10_DST_IA_INPUT_LAYOUT 19 +CONSTANT: D3D10_DST_IA_PRIMITIVE_TOPOLOGY 20 +CONSTANT: D3D10_DST_RS_VIEWPORTS 21 +CONSTANT: D3D10_DST_RS_SCISSOR_RECTS 22 +CONSTANT: D3D10_DST_RS_RASTERIZER_STATE 23 +CONSTANT: D3D10_DST_PREDICATION 24 +TYPEDEF: int D3D10_DEVICE_STATE_TYPES + +STRUCT: D3D10_STATE_BLOCK_MASK + { VS BYTE } + { VSSamplers BYTE[2] } + { VSShaderResources BYTE[8] } + { VSConstantBuffers BYTE[2] } + { GS BYTE } + { GSSamplers BYTE[2] } + { GSShaderResources BYTE[8] } + { GSConstantBuffers BYTE[2] } + { PS BYTE } + { PSSamplers BYTE[2] } + { PSShaderResources BYTE[8] } + { PSConstantBuffers BYTE[2] } + { IAVertexBuffers BYTE[2] } + { IAIndexBuffer BYTE } + { IAInputLayout BYTE } + { IAPrimitiveTopology BYTE } + { OMRenderTargets BYTE } + { OMDepthStencilState BYTE } + { OMBlendState BYTE } + { RSViewports BYTE } + { RSScissorRects BYTE } + { RSRasterizerState BYTE } + { SOBuffers BYTE } + { Predication BYTE } ; + +COM-INTERFACE: ID3D10StateBlock IUnknown {0803425A-57F5-4dd6-9465-A87570834A08} + HRESULT Capture ( ) + HRESULT Apply ( ) + HRESULT ReleaseAllDeviceObjects ( ) + HRESULT GetDevice ( ID3D10Device** ppDevice ) ; +TYPEDEF: ID3D10StateBlock* LPD3D10STATEBLOCK + +FUNCTION: HRESULT D3D10StateBlockMaskUnion ( D3D10_STATE_BLOCK_MASK* pA, D3D10_STATE_BLOCK_MASK* pB, D3D10_STATE_BLOCK_MASK* pResult ) ; +FUNCTION: HRESULT D3D10StateBlockMaskIntersect ( D3D10_STATE_BLOCK_MASK* pA, D3D10_STATE_BLOCK_MASK* pB, D3D10_STATE_BLOCK_MASK* pResult ) ; +FUNCTION: HRESULT D3D10StateBlockMaskDifference ( D3D10_STATE_BLOCK_MASK* pA, D3D10_STATE_BLOCK_MASK* pB, D3D10_STATE_BLOCK_MASK* pResult ) ; +FUNCTION: HRESULT D3D10StateBlockMaskEnableCapture ( D3D10_STATE_BLOCK_MASK* pMask, D3D10_DEVICE_STATE_TYPES StateType, UINT RangeStart, UINT RangeLength ) ; +FUNCTION: HRESULT D3D10StateBlockMaskDisableCapture ( D3D10_STATE_BLOCK_MASK* pMask, D3D10_DEVICE_STATE_TYPES StateType, UINT RangeStart, UINT RangeLength ) ; +FUNCTION: HRESULT D3D10StateBlockMaskEnableAll ( D3D10_STATE_BLOCK_MASK* pMask ) ; +FUNCTION: HRESULT D3D10StateBlockMaskDisableAll ( D3D10_STATE_BLOCK_MASK* pMask ) ; +FUNCTION: BOOL D3D10StateBlockMaskGetSetting ( D3D10_STATE_BLOCK_MASK* pMask, D3D10_DEVICE_STATE_TYPES StateType, UINT Entry ) ; + +FUNCTION: HRESULT D3D10CreateStateBlock ( ID3D10Device* pDevice, D3D10_STATE_BLOCK_MASK* pStateBlockMask, ID3D10StateBlock** ppStateBlock ) ; + +CONSTANT: D3D10_EFFECT_COMPILE_CHILD_EFFECT 1 +CONSTANT: D3D10_EFFECT_COMPILE_ALLOW_SLOW_OPS 2 +CONSTANT: D3D10_EFFECT_SINGLE_THREADED 8 + +CONSTANT: D3D10_EFFECT_VARIABLE_POOLED 1 +CONSTANT: D3D10_EFFECT_VARIABLE_ANNOTATION 2 +CONSTANT: D3D10_EFFECT_VARIABLE_EXPLICIT_BIND_POINT 4 + +STRUCT: D3D10_EFFECT_TYPE_DESC + { TypeName LPCSTR } + { Class D3D10_SHADER_VARIABLE_CLASS } + { Type D3D10_SHADER_VARIABLE_TYPE } + { Elements UINT } + { Members UINT } + { Rows UINT } + { Columns UINT } + { PackedSize UINT } + { UnpackedSize UINT } + { Stride UINT } ; + +COM-INTERFACE: ID3D10EffectType f {4E9E1DDC-CD9D-4772-A837-00180B9B88FD} + BOOL IsValid ( ) + HRESULT GetDesc ( D3D10_EFFECT_TYPE_DESC* pDesc ) + ID3D10EffectType* GetMemberTypeByIndex ( UINT Index ) + ID3D10EffectType* GetMemberTypeByName ( LPCSTR Name ) + ID3D10EffectType* GetMemberTypeBySemantic ( LPCSTR Semantic ) + LPCSTR GetMemberName ( UINT Index ) + LPCSTR GetMemberSemantic ( UINT Index ) ; +TYPEDEF: ID3D10EffectType* LPD3D10EFFECTTYPE + +STRUCT: D3D10_EFFECT_VARIABLE_DESC + { Name LPCSTR } + { Semantic LPCSTR } + { Flags UINT } + { Annotations UINT } + { BufferOffset UINT } + { ExplicitBindPoint UINT } ; + +COM-INTERFACE: ID3D10EffectVariable f {AE897105-00E6-45bf-BB8E-281DD6DB8E1B} + BOOL IsValid ( ) + ID3D10EffectType* GetType ( ) + HRESULT GetDesc ( D3D10_EFFECT_VARIABLE_DESC* pDesc ) + ID3D10EffectVariable* GetAnnotationByIndex ( UINT Index ) + ID3D10EffectVariable* GetAnnotationByName ( LPCSTR Name ) + ID3D10EffectVariable* GetMemberByIndex ( UINT Index ) + ID3D10EffectVariable* GetMemberByName ( LPCSTR Name ) + ID3D10EffectVariable* GetMemberBySemantic ( LPCSTR Semantic ) + ID3D10EffectVariable* GetElement ( UINT Index ) + ID3D10EffectConstantBuffer* GetParentConstantBuffer ( ) + ID3D10EffectScalarVariable* AsScalar ( ) + ID3D10EffectVectorVariable* AsVector ( ) + ID3D10EffectMatrixVariable* AsMatrix ( ) + ID3D10EffectStringVariable* AsString ( ) + ID3D10EffectShaderResourceVariable* AsShaderResource ( ) + ID3D10EffectRenderTargetViewVariable* AsRenderTargetView ( ) + ID3D10EffectDepthStencilViewVariable* AsDepthStencilView ( ) + ID3D10EffectConstantBuffer* AsConstantBuffer ( ) + ID3D10EffectShaderVariable* AsShader ( ) + ID3D10EffectBlendVariable* AsBlend ( ) + ID3D10EffectDepthStencilVariable* AsDepthStencil ( ) + ID3D10EffectRasterizerVariable* AsRasterizer ( ) + ID3D10EffectSamplerVariable* AsSampler ( ) + HRESULT SetRawValue ( void* pData, UINT Offset, UINT Count ) + HRESULT GetRawValue ( void* pData, UINT Offset, UINT Count ) ; +TYPEDEF: ID3D10EffectVariable* LPD3D10EFFECTVARIABLE + +COM-INTERFACE: ID3D10EffectScalarVariable ID3D10EffectVariable {00E48F7B-D2C8-49e8-A86C-022DEE53431F} + HRESULT SetFloat ( float Value ) + HRESULT GetFloat ( float* pValue ) + HRESULT SetFloatArray ( float* pData, UINT Offset, UINT Count ) + HRESULT GetFloatArray ( float* pData, UINT Offset, UINT Count ) + HRESULT SetInt ( int Value ) + HRESULT GetInt ( int* pValue ) + HRESULT SetIntArray ( int* pData, UINT Offset, UINT Count ) + HRESULT GetIntArray ( int* pData, UINT Offset, UINT Count ) + HRESULT SetBool ( BOOL Value ) + HRESULT GetBool ( BOOL* pValue ) + HRESULT SetBoolArray ( BOOL* pData, UINT Offset, UINT Count ) + HRESULT GetBoolArray ( BOOL* pData, UINT Offset, UINT Count ) ; +TYPEDEF: ID3D10EffectScalarVariable* LPD3D10EFFECTSCALARVARIABLE + +COM-INTERFACE: ID3D10EffectVectorVariable ID3D10EffectVariable {62B98C44-1F82-4c67-BCD0-72CF8F217E81} + HRESULT SetBoolVector ( BOOL* pData ) + HRESULT SetIntVector ( int* pData ) + HRESULT SetFloatVector ( float* pData ) + HRESULT GetBoolVector ( BOOL* pData ) + HRESULT GetIntVector ( int* pData ) + HRESULT GetFloatVector ( float *pData ) + HRESULT SetBoolVectorArray ( BOOL* pData, UINT Offset, UINT Count ) + HRESULT SetIntVectorArray ( int* pData, UINT Offset, UINT Count ) + HRESULT SetFloatVectorArray ( float* pData, UINT Offset, UINT Count ) + HRESULT GetBoolVectorArray ( BOOL* pData, UINT Offset, UINT Count ) + HRESULT GetIntVectorArray ( int* pData, UINT Offset, UINT Count ) + HRESULT GetFloatVectorArray ( float* pData, UINT Offset, UINT Count ) ; +TYPEDEF: ID3D10EffectVectorVariable* LPD3D10EFFECTVECTORVARIABLE + +COM-INTERFACE: ID3D10EffectMatrixVariable ID3D10EffectVariable {50666C24-B82F-4eed-A172-5B6E7E8522E0} + HRESULT SetMatrix ( float* pData ) + HRESULT GetMatrix ( float* pData ) + HRESULT SetMatrixArray ( float* pData, UINT Offset, UINT Count ) + HRESULT GetMatrixArray ( float* pData, UINT Offset, UINT Count ) + HRESULT SetMatrixTranspose ( float* pData ) + HRESULT GetMatrixTranspose ( float* pData ) + HRESULT SetMatrixTransposeArray ( float* pData, UINT Offset, UINT Count ) + HRESULT GetMatrixTransposeArray ( float* pData, UINT Offset, UINT Count ) ; +TYPEDEF: ID3D10EffectMatrixVariable* LPD3D10EFFECTMATRIXVARIABLE + + +COM-INTERFACE: ID3D10EffectStringVariable ID3D10EffectVariable {71417501-8DF9-4e0a-A78A-255F9756BAFF} + HRESULT GetString ( LPCSTR* ppString ) + HRESULT GetStringArray ( LPCSTR* ppStrings, UINT Offset, UINT Count ) ; +TYPEDEF: ID3D10EffectStringVariable* LPD3D10EFFECTSTRINGVARIABLE + +COM-INTERFACE: ID3D10EffectShaderResourceVariable ID3D10EffectVariable {C0A7157B-D872-4b1d-8073-EFC2ACD4B1FC} + HRESULT SetResource ( ID3D10ShaderResourceView* pResource ) + HRESULT GetResource ( ID3D10ShaderResourceView** ppResource ) + HRESULT SetResourceArray ( ID3D10ShaderResourceView** ppResources, UINT Offset, UINT Count ) + HRESULT GetResourceArray ( ID3D10ShaderResourceView** ppResources, UINT Offset, UINT Count ) ; +TYPEDEF: ID3D10EffectShaderResourceVariable* LPD3D10EFFECTSHADERRESOURCEVARIABLE + +COM-INTERFACE: ID3D10EffectRenderTargetViewVariable ID3D10EffectVariable {28CA0CC3-C2C9-40bb-B57F-67B737122B17} + HRESULT SetRenderTarget ( ID3D10RenderTargetView* pResource ) + HRESULT GetRenderTarget ( ID3D10RenderTargetView** ppResource ) + HRESULT SetRenderTargetArray ( ID3D10RenderTargetView** ppResources, UINT Offset, UINT Count ) + HRESULT GetRenderTargetArray ( ID3D10RenderTargetView** ppResources, UINT Offset, UINT Count ) ; +TYPEDEF: ID3D10EffectRenderTargetViewVariable* LPD3D10EFFECTRENDERTARGETVIEWVARIABLE + +COM-INTERFACE: ID3D10EffectDepthStencilViewVariable ID3D10EffectVariable {3E02C918-CC79-4985-B622-2D92AD701623} + HRESULT SetDepthStencil ( ID3D10DepthStencilView* pResource ) + HRESULT GetDepthStencil ( ID3D10DepthStencilView** ppResource ) + HRESULT SetDepthStencilArray ( ID3D10DepthStencilView** ppResources, UINT Offset, UINT Count ) + HRESULT GetDepthStencilArray ( ID3D10DepthStencilView** ppResources, UINT Offset, UINT Count ) ; +TYPEDEF: ID3D10EffectDepthStencilViewVariable* LPD3D10EFFECTDEPTHSTENCILVIEWVARIABLE + +COM-INTERFACE: ID3D10EffectConstantBuffer ID3D10EffectVariable {56648F4D-CC8B-4444-A5AD-B5A3D76E91B3} + HRESULT SetConstantBuffer ( ID3D10Buffer* pConstantBuffer ) + HRESULT GetConstantBuffer ( ID3D10Buffer** ppConstantBuffer ) + HRESULT SetTextureBuffer ( ID3D10ShaderResourceView* pTextureBuffer ) + HRESULT GetTextureBuffer ( ID3D10ShaderResourceView** ppTextureBuffer ) ; +TYPEDEF: ID3D10EffectConstantBuffer* LPD3D10EFFECTCONSTANTBUFFER + +STRUCT: D3D10_EFFECT_SHADER_DESC + { pInputSignature BYTE* } + { IsInline BOOL } + { pBytecode BYTE* } + { BytecodeLength UINT } + { SODecl LPCSTR } + { NumInputSignatureEntries UINT } + { NumOutputSignatureEntries UINT } ; + +COM-INTERFACE: ID3D10EffectShaderVariable ID3D10EffectVariable {80849279-C799-4797-8C33-0407A07D9E06} + HRESULT GetShaderDesc ( UINT ShaderIndex, D3D10_EFFECT_SHADER_DESC* pDesc ) + HRESULT GetVertexShader ( UINT ShaderIndex, ID3D10VertexShader** ppVS ) + HRESULT GetGeometryShader ( UINT ShaderIndex, ID3D10GeometryShader** ppGS ) + HRESULT GetPixelShader ( UINT ShaderIndex, ID3D10PixelShader** ppPS ) + HRESULT GetInputSignatureElementDesc ( UINT ShaderIndex, UINT Element, D3D10_SIGNATURE_PARAMETER_DESC* pDesc ) + HRESULT GetOutputSignatureElementDesc ( UINT ShaderIndex, UINT Element, D3D10_SIGNATURE_PARAMETER_DESC* pDesc ) ; +TYPEDEF: ID3D10EffectShaderVariable* LPD3D10EFFECTSHADERVARIABLE + +COM-INTERFACE: ID3D10EffectBlendVariable ID3D10EffectVariable {1FCD2294-DF6D-4eae-86B3-0E9160CFB07B} + HRESULT GetBlendState ( UINT Index, ID3D10BlendState** ppBlendState ) + HRESULT GetBackingStore ( UINT Index, D3D10_BLEND_DESC* pBlendDesc ) ; +TYPEDEF: ID3D10EffectBlendVariable* LPD3D10EFFECTBLENDVARIABLE + +COM-INTERFACE: ID3D10EffectDepthStencilVariable ID3D10EffectVariable {AF482368-330A-46a5-9A5C-01C71AF24C8D} + HRESULT GetDepthStencilState ( UINT Index, ID3D10DepthStencilState** ppDepthStencilState ) + HRESULT GetBackingStore ( UINT Index, D3D10_DEPTH_STENCIL_DESC* pDepthStencilDesc ) ; +TYPEDEF: ID3D10EffectDepthStencilVariable* LPD3D10EFFECTDEPTHSTENCILVARIABLE + +COM-INTERFACE: ID3D10EffectRasterizerVariable ID3D10EffectVariable {21AF9F0E-4D94-4ea9-9785-2CB76B8C0B34} + HRESULT GetRasterizerState ( UINT Index, ID3D10RasterizerState** ppRasterizerState ) + HRESULT GetBackingStore ( UINT Index, D3D10_RASTERIZER_DESC* pRasterizerDesc ) ; +TYPEDEF: ID3D10EffectRasterizerVariable* LPD3D10EFFECTRASTERIZERVARIABLE + +COM-INTERFACE: ID3D10EffectSamplerVariable ID3D10EffectVariable {6530D5C7-07E9-4271-A418-E7CE4BD1E480} + HRESULT GetSampler ( UINT Index, ID3D10SamplerState** ppSampler ) + HRESULT GetBackingStore ( UINT Index, D3D10_SAMPLER_DESC* pSamplerDesc ) ; +TYPEDEF: ID3D10EffectSamplerVariable* LPD3D10EFFECTSAMPLERVARIABLE + +STRUCT: D3D10_PASS_DESC + { Name LPCSTR } + { Annotations UINT } + { pIAInputSignature BYTE* } + { IAInputSignatureSize SIZE_T } + { StencilRef UINT } + { SampleMask UINT } + { BlendFactor FLOAT[4] } ; + +STRUCT: D3D10_PASS_SHADER_DESC + { pShaderVariable ID3D10EffectShaderVariable* } + { ShaderIndex UINT } ; + +COM-INTERFACE: ID3D10EffectPass f {5CFBEB89-1A06-46e0-B282-E3F9BFA36A54} + BOOL IsValid ( ) + HRESULT GetDesc ( D3D10_PASS_DESC* pDesc ) + HRESULT GetVertexShaderDesc ( D3D10_PASS_SHADER_DESC* pDesc ) + HRESULT GetGeometryShaderDesc ( D3D10_PASS_SHADER_DESC* pDesc ) + HRESULT GetPixelShaderDesc ( D3D10_PASS_SHADER_DESC* pDesc ) + ID3D10EffectVariable* GetAnnotationByIndex ( UINT Index ) + ID3D10EffectVariable* GetAnnotationByName ( LPCSTR Name ) + HRESULT Apply ( UINT Flags ) + HRESULT ComputeStateBlockMask ( D3D10_STATE_BLOCK_MASK* pStateBlockMask ) ; +TYPEDEF: ID3D10EffectPass* LPD3D10EFFECTPASS + +STRUCT: D3D10_TECHNIQUE_DESC + { Name LPCSTR } + { Passes UINT } + { Annotations UINT } ; + +COM-INTERFACE: ID3D10EffectTechnique f {DB122CE8-D1C9-4292-B237-24ED3DE8B175} + BOOL IsValid ( ) + HRESULT GetDesc ( D3D10_TECHNIQUE_DESC* pDesc ) + ID3D10EffectVariable* GetAnnotationByIndex ( UINT Index ) + ID3D10EffectVariable* GetAnnotationByName ( LPCSTR Name ) + ID3D10EffectPass* GetPassByIndex ( UINT Index ) + ID3D10EffectPass* GetPassByName ( LPCSTR Name ) + HRESULT ComputeStateBlockMask ( D3D10_STATE_BLOCK_MASK* pStateBlockMask ) ; +TYPEDEF: ID3D10EffectTechnique* LPD3D10EFFECTTECHNIQUE + +STRUCT: D3D10_EFFECT_DESC + { IsChildEffect BOOL } + { ConstantBuffers UINT } + { SharedConstantBuffers UINT } + { GlobalVariables UINT } + { SharedGlobalVariables UINT } + { Techniques UINT } ; + +COM-INTERFACE: ID3D10Effect IUnknown {51B0CA8B-EC0B-4519-870D-8EE1CB5017C7} + BOOL IsValid ( ) + BOOL IsPool ( ) + HRESULT GetDevice ( ID3D10Device** ppDevice ) + HRESULT GetDesc ( D3D10_EFFECT_DESC* pDesc ) + ID3D10EffectConstantBuffer* GetConstantBufferByIndex ( UINT Index ) + ID3D10EffectConstantBuffer* GetConstantBufferByName ( LPCSTR Name ) + ID3D10EffectVariable* GetVariableByIndex ( UINT Index ) + ID3D10EffectVariable* GetVariableByName ( LPCSTR Name ) + ID3D10EffectVariable* GetVariableBySemantic ( LPCSTR Semantic ) + ID3D10EffectTechnique* GetTechniqueByIndex ( UINT Index ) + ID3D10EffectTechnique* GetTechniqueByName ( LPCSTR Name ) + HRESULT Optimize ( ) + BOOL IsOptimized ( ) ; +TYPEDEF: ID3D10Effect* LPD3D10EFFECT + +COM-INTERFACE: ID3D10EffectPool IUnknown {9537AB04-3250-412e-8213-FCD2F8677933} + ID3D10Effect* AsEffect ( ) ; +TYPEDEF: ID3D10EffectPool* LPD3D10EFFECTPOOL + +FUNCTION: HRESULT D3D10CompileEffectFromMemory ( void* pData, SIZE_T DataLength, LPCSTR pSrcFileName, D3D10_SHADER_MACRO* pDefines, + ID3D10Include* pInclude, UINT HLSLFlags, UINT FXFlags, + ID3D10Blob** ppCompiledEffect, ID3D10Blob** ppErrors ) ; + +FUNCTION: HRESULT D3D10CreateEffectFromMemory ( void* pData, SIZE_T DataLength, UINT FXFlags, ID3D10Device* pDevice, + ID3D10EffectPool* pEffectPool, ID3D10Effect** ppEffect ) ; + +FUNCTION: HRESULT D3D10CreateEffectPoolFromMemory ( void* pData, SIZE_T DataLength, UINT FXFlags, ID3D10Device* pDevice, + ID3D10EffectPool** ppEffectPool ) ; + +FUNCTION: HRESULT D3D10DisassembleEffect ( ID3D10Effect* pEffect, BOOL EnableColorCode, ID3D10Blob** ppDisassembly ) ; diff --git a/basis/windows/directx/d3d10effect/summary.txt b/basis/windows/directx/d3d10effect/summary.txt new file mode 100644 index 0000000000..1fc06d8d07 --- /dev/null +++ b/basis/windows/directx/d3d10effect/summary.txt @@ -0,0 +1 @@ +Direct3D 10 bindings. Corresponds to d3d10effect.h. diff --git a/basis/windows/directx/d3d10effect/tags.txt b/basis/windows/directx/d3d10effect/tags.txt new file mode 100644 index 0000000000..2320bdd648 --- /dev/null +++ b/basis/windows/directx/d3d10effect/tags.txt @@ -0,0 +1,2 @@ +unportable +bindings diff --git a/basis/windows/directx/d3d10misc/authors.txt b/basis/windows/directx/d3d10misc/authors.txt new file mode 100644 index 0000000000..6f03a12101 --- /dev/null +++ b/basis/windows/directx/d3d10misc/authors.txt @@ -0,0 +1 @@ +Erik Charlebois diff --git a/basis/windows/directx/d3d10misc/d3d10misc.factor b/basis/windows/directx/d3d10misc/d3d10misc.factor new file mode 100644 index 0000000000..b6f5f12bce --- /dev/null +++ b/basis/windows/directx/d3d10misc/d3d10misc.factor @@ -0,0 +1,39 @@ +USING: alien.c-types alien.syntax windows.com windows.com.syntax +windows.directx.dxgi windows.types alien.libraries ; +IN: windows.directx.d3d10misc + +LIBRARY: d3d10 + +C-TYPE: ID3D10Blob +TYPEDEF: ID3D10Blob* LPD3D10BLOB + +COM-INTERFACE: ID3D10Blob IUnknown {8BA5FB08-5195-40e2-AC58-0D989C3A0102} + LPVOID GetBufferPointer ( ) + SIZE_T GetBufferSize ( ) ; + +CONSTANT: D3D10_DRIVER_TYPE_HARDWARE 0 +CONSTANT: D3D10_DRIVER_TYPE_REFERENCE 1 +CONSTANT: D3D10_DRIVER_TYPE_NULL 2 +CONSTANT: D3D10_DRIVER_TYPE_SOFTWARE 3 +CONSTANT: D3D10_DRIVER_TYPE_WARP 5 +TYPEDEF: int D3D10_DRIVER_TYPE + +FUNCTION: HRESULT D3D10CreateDevice ( + IDXGIAdapter* pAdapter, + D3D10_DRIVER_TYPE DriverType, + HMODULE Software, + UINT Flags, + UINT SDKVersion, + ID3D10Device** ppDevice ) ; + +FUNCTION: HRESULT D3D10CreateDeviceAndSwapChain ( + IDXGIAdapter* pAdapter, + D3D10_DRIVER_TYPE DriverType, + HMODULE Software, + UINT Flags, + UINT SDKVersion, + DXGI_SWAP_CHAIN_DESC* pSwapChainDesc, + IDXGISwapChain** ppSwapChain, + ID3D10Device** ppDevice ) ; + +FUNCTION: HRESULT D3D10CreateBlob ( SIZE_T NumBytes, LPD3D10BLOB* ppBuffer ) ; diff --git a/basis/windows/directx/d3d10misc/summary.txt b/basis/windows/directx/d3d10misc/summary.txt new file mode 100644 index 0000000000..3d283f4c3e --- /dev/null +++ b/basis/windows/directx/d3d10misc/summary.txt @@ -0,0 +1 @@ +Direct3D 10 bindings. Corresponds to d3d10misc.h. diff --git a/basis/windows/directx/d3d10misc/tags.txt b/basis/windows/directx/d3d10misc/tags.txt new file mode 100644 index 0000000000..2320bdd648 --- /dev/null +++ b/basis/windows/directx/d3d10misc/tags.txt @@ -0,0 +1,2 @@ +unportable +bindings diff --git a/basis/windows/directx/d3d10shader/authors.txt b/basis/windows/directx/d3d10shader/authors.txt new file mode 100644 index 0000000000..6f03a12101 --- /dev/null +++ b/basis/windows/directx/d3d10shader/authors.txt @@ -0,0 +1 @@ +Erik Charlebois diff --git a/basis/windows/directx/d3d10shader/d3d10shader.factor b/basis/windows/directx/d3d10shader/d3d10shader.factor new file mode 100644 index 0000000000..4507441fd0 --- /dev/null +++ b/basis/windows/directx/d3d10shader/d3d10shader.factor @@ -0,0 +1,278 @@ +USING: alien.syntax alien.c-types classes.struct windows.types windows.com +windows.com.syntax windows.directx.d3d10 ; +IN: windows.directx.d3d10shader + +LIBRARY: d3d10 + +CONSTANT: D3D10_SHADER_DEBUG 1 +CONSTANT: D3D10_SHADER_SKIP_VALIDATION 2 +CONSTANT: D3D10_SHADER_SKIP_OPTIMIZATION 4 +CONSTANT: D3D10_SHADER_PACK_MATRIX_ROW_MAJOR 8 +CONSTANT: D3D10_SHADER_PACK_MATRIX_COLUMN_MAJOR 16 +CONSTANT: D3D10_SHADER_PARTIAL_PRECISION 32 +CONSTANT: D3D10_SHADER_FORCE_VS_SOFTWARE_NO_OPT 64 +CONSTANT: D3D10_SHADER_FORCE_PS_SOFTWARE_NO_OPT 128 +CONSTANT: D3D10_SHADER_NO_PRESHADER 256 +CONSTANT: D3D10_SHADER_AVOID_FLOW_CONTROL 512 +CONSTANT: D3D10_SHADER_PREFER_FLOW_CONTROL 1024 +CONSTANT: D3D10_SHADER_ENABLE_STRICTNESS 2048 +CONSTANT: D3D10_SHADER_ENABLE_BACKWARDS_COMPATIBILITY 4096 +CONSTANT: D3D10_SHADER_IEEE_STRICTNESS 8192 +CONSTANT: D3D10_SHADER_WARNINGS_ARE_ERRORS 262144 + +CONSTANT: D3D10_SHADER_OPTIMIZATION_LEVEL0 16384 +CONSTANT: D3D10_SHADER_OPTIMIZATION_LEVEL1 0 +CONSTANT: D3D10_SHADER_OPTIMIZATION_LEVEL2 49152 +CONSTANT: D3D10_SHADER_OPTIMIZATION_LEVEL3 32768 + +STRUCT: D3D10_SHADER_MACRO + { Name LPCSTR } + { Definition LPCSTR } ; +TYPEDEF: D3D10_SHADER_MACRO* LPD3D10_SHADER_MACRO + +CONSTANT: D3D10_SVC_SCALAR 0 +CONSTANT: D3D10_SVC_VECTOR 1 +CONSTANT: D3D10_SVC_MATRIX_ROWS 2 +CONSTANT: D3D10_SVC_MATRIX_COLUMNS 3 +CONSTANT: D3D10_SVC_OBJECT 4 +CONSTANT: D3D10_SVC_STRUCT 5 +CONSTANT: D3D11_SVC_INTERFACE_CLASS 6 +CONSTANT: D3D11_SVC_INTERFACE_POINTER 7 +CONSTANT: D3D10_SVC_FORCE_DWORD HEX: 7fffffff +TYPEDEF: int D3D10_SHADER_VARIABLE_CLASS +TYPEDEF: D3D10_SHADER_VARIABLE_CLASS* LPD3D10_SHADER_VARIABLE_CLASS + +CONSTANT: D3D10_SVF_USERPACKED 1 +CONSTANT: D3D10_SVF_USED 2 +CONSTANT: D3D11_SVF_INTERFACE_POINTER 4 +CONSTANT: D3D10_SVF_FORCE_DWORD HEX: 7fffffff +TYPEDEF: int D3D10_SHADER_VARIABLE_FLAGS +TYPEDEF: D3D10_SHADER_VARIABLE_FLAGS* LPD3D10_SHADER_VARIABLE_FLAGS + +CONSTANT: D3D10_SVT_VOID 0 +CONSTANT: D3D10_SVT_BOOL 1 +CONSTANT: D3D10_SVT_INT 2 +CONSTANT: D3D10_SVT_FLOAT 3 +CONSTANT: D3D10_SVT_STRING 4 +CONSTANT: D3D10_SVT_TEXTURE 5 +CONSTANT: D3D10_SVT_TEXTURE1D 6 +CONSTANT: D3D10_SVT_TEXTURE2D 7 +CONSTANT: D3D10_SVT_TEXTURE3D 8 +CONSTANT: D3D10_SVT_TEXTURECUBE 9 +CONSTANT: D3D10_SVT_SAMPLER 10 +CONSTANT: D3D10_SVT_PIXELSHADER 15 +CONSTANT: D3D10_SVT_VERTEXSHADER 16 +CONSTANT: D3D10_SVT_UINT 19 +CONSTANT: D3D10_SVT_UINT8 20 +CONSTANT: D3D10_SVT_GEOMETRYSHADER 21 +CONSTANT: D3D10_SVT_RASTERIZER 22 +CONSTANT: D3D10_SVT_DEPTHSTENCIL 23 +CONSTANT: D3D10_SVT_BLEND 24 +CONSTANT: D3D10_SVT_BUFFER 25 +CONSTANT: D3D10_SVT_CBUFFER 26 +CONSTANT: D3D10_SVT_TBUFFER 27 +CONSTANT: D3D10_SVT_TEXTURE1DARRAY 28 +CONSTANT: D3D10_SVT_TEXTURE2DARRAY 29 +CONSTANT: D3D10_SVT_RENDERTARGETVIEW 30 +CONSTANT: D3D10_SVT_DEPTHSTENCILVIEW 31 +CONSTANT: D3D10_SVT_TEXTURE2DMS 32 +CONSTANT: D3D10_SVT_TEXTURE2DMSARRAY 33 +CONSTANT: D3D10_SVT_TEXTURECUBEARRAY 34 +CONSTANT: D3D11_SVT_HULLSHADER 35 +CONSTANT: D3D11_SVT_DOMAINSHADER 36 +CONSTANT: D3D11_SVT_INTERFACE_POINTER 37 +CONSTANT: D3D11_SVT_COMPUTESHADER 38 +CONSTANT: D3D11_SVT_DOUBLE 39 +CONSTANT: D3D10_SVT_FORCE_DWORD HEX: 7ffffff +TYPEDEF: int D3D10_SHADER_VARIABLE_TYPE +TYPEDEF: D3D10_SHADER_VARIABLE_TYPE* LPD3D10_SHADER_VARIABLE_TYPE + +CONSTANT: D3D10_SIF_USERPACKED 1 +CONSTANT: D3D10_SIF_COMPARISON_SAMPLER 2 +CONSTANT: D3D10_SIF_TEXTURE_COMPONENT_0 4 +CONSTANT: D3D10_SIF_TEXTURE_COMPONENT_1 8 +CONSTANT: D3D10_SIF_TEXTURE_COMPONENTS 12 +CONSTANT: D3D10_SIF_FORCE_DWORD HEX: 7ffffff +TYPEDEF: int D3D10_SHADER_INPUT_FLAGS +TYPEDEF: D3D10_SHADER_INPUT_FLAGS* LPD3D10_SHADER_INPUT_FLAGS + +CONSTANT: D3D10_SIT_CBUFFER 0 +CONSTANT: D3D10_SIT_TBUFFER 1 +CONSTANT: D3D10_SIT_TEXTURE 2 +CONSTANT: D3D10_SIT_SAMPLER 3 +CONSTANT: D3D11_SIT_UAV_RWTYPED 4 +CONSTANT: D3D11_SIT_STRUCTURED 5 +CONSTANT: D3D11_SIT_UAV_RWSTRUCTURED 6 +CONSTANT: D3D11_SIT_BYTEADDRESS 7 +CONSTANT: D3D11_SIT_UAV_RWBYTEADDRESS 8 +CONSTANT: D3D11_SIT_UAV_APPEND_STRUCTURED 9 +CONSTANT: D3D11_SIT_UAV_CONSUME_STRUCTURED 10 +CONSTANT: D3D11_SIT_UAV_RWSTRUCTURED_WITH_COUNTER 11 +TYPEDEF: int D3D10_SHADER_INPUT_TYPE +TYPEDEF: D3D10_SHADER_INPUT_TYPE* LPD3D10_SHADER_INPUT_TYPE + +CONSTANT: D3D10_CBF_USERPACKED 1 +CONSTANT: D3D10_CBF_FORCE_DWORD HEX: 7fffffff +TYPEDEF: int D3D10_SHADER_CBUFFER_FLAGS +TYPEDEF: D3D10_SHADER_CBUFFER_FLAGS* LPD3D10_SHADER_CBUFFER_FLAGS + +CONSTANT: D3D10_CT_CBUFFER 0 +CONSTANT: D3D10_CT_TBUFFER 1 +TYPEDEF: int D3D10_CBUFFER_TYPE +TYPEDEF: D3D10_CBUFFER_TYPE* LPD3D10_CBUFFER_TYPE + +CONSTANT: D3D10_NAME_UNDEFINED 0 +CONSTANT: D3D10_NAME_POSITION 1 +CONSTANT: D3D10_NAME_CLIP_DISTANCE 2 +CONSTANT: D3D10_NAME_CULL_DISTANCE 3 +CONSTANT: D3D10_NAME_RENDER_TARGET_ARRAY_INDEX 4 +CONSTANT: D3D10_NAME_VIEWPORT_ARRAY_INDEX 5 +CONSTANT: D3D10_NAME_VERTEX_ID 6 +CONSTANT: D3D10_NAME_PRIMITIVE_ID 7 +CONSTANT: D3D10_NAME_INSTANCE_ID 8 +CONSTANT: D3D10_NAME_IS_FRONT_FACE 9 +CONSTANT: D3D10_NAME_SAMPLE_INDEX 10 +CONSTANT: D3D11_NAME_FINAL_QUAD_EDGE_TESSFACTOR 11 +CONSTANT: D3D11_NAME_FINAL_QUAD_INSIDE_TESSFACTOR 12 +CONSTANT: D3D11_NAME_FINAL_TRI_EDGE_TESSFACTOR 13 +CONSTANT: D3D11_NAME_FINAL_TRI_INSIDE_TESSFACTOR 14 +CONSTANT: D3D11_NAME_FINAL_LINE_DETAIL_TESSFACTOR 15 +CONSTANT: D3D11_NAME_FINAL_LINE_DENSITY_TESSFACTOR 16 +CONSTANT: D3D10_NAME_TARGET 64 +CONSTANT: D3D10_NAME_DEPTH 65 +CONSTANT: D3D10_NAME_COVERAGE 66 +CONSTANT: D3D11_NAME_DEPTH_GREATER_EQUAL 67 +CONSTANT: D3D11_NAME_DEPTH_LESS_EQUAL 68 +TYPEDEF: int D3D10_NAME + +CONSTANT: D3D10_RETURN_TYPE_UNORM 1 +CONSTANT: D3D10_RETURN_TYPE_SNORM 2 +CONSTANT: D3D10_RETURN_TYPE_SINT 3 +CONSTANT: D3D10_RETURN_TYPE_UINT 4 +CONSTANT: D3D10_RETURN_TYPE_FLOAT 5 +CONSTANT: D3D10_RETURN_TYPE_MIXED 6 +TYPEDEF: int D3D10_RESOURCE_RETURN_TYPE + +CONSTANT: D3D10_REGISTER_COMPONENT_UNKNOWN 0 +CONSTANT: D3D10_REGISTER_COMPONENT_UINT32 1 +CONSTANT: D3D10_REGISTER_COMPONENT_SINT32 2 +CONSTANT: D3D10_REGISTER_COMPONENT_FLOAT32 3 +TYPEDEF: int D3D10_REGISTER_COMPONENT_TYPE + +CONSTANT: D3D10_INCLUDE_LOCAL 0 +CONSTANT: D3D10_INCLUDE_SYSTEM 1 +CONSTANT: D3D10_INCLUDE_FORCE_DWORD HEX: 7fffffff +TYPEDEF: int D3D10_INCLUDE_TYPE +TYPEDEF: D3D10_INCLUDE_TYPE* LPD3D10_INCLUDE_TYPE + +COM-INTERFACE: ID3D10Include f {C530AD7D-9B16-4395-A979-BA2ECFF83ADD} + HRESULT Open ( D3D10_INCLUDE_TYPE IncludeType, LPCSTR pFileName, LPCVOID pParentData, LPCVOID* ppData, UINT* pBytes ) + HRESULT Close ( LPCVOID pData ) ; +TYPEDEF: ID3D10Include* LPD3D10INCLUDE + +STRUCT: D3D10_SHADER_DESC + { Version UINT } + { Creator LPCSTR } + { Flags UINT } + { ConstantBuffers UINT } + { BoundResources UINT } + { InputParameters UINT } + { OutputParameters UINT } + { InstructionCount UINT } + { TempRegisterCount UINT } + { TempArrayCount UINT } + { DefCount UINT } + { DclCount UINT } + { TextureNormalInstructions UINT } + { TextureLoadInstructions UINT } + { TextureCompInstructions UINT } + { TextureBiasInstructions UINT } + { TextureGradientInstructions UINT } + { FloatInstructionCount UINT } + { IntInstructionCount UINT } + { UintInstructionCount UINT } + { StaticFlowControlCount UINT } + { DynamicFlowControlCount UINT } + { MacroInstructionCount UINT } + { ArrayInstructionCount UINT } + { CutInstructionCount UINT } + { EmitInstructionCount UINT } + { GSOutputTopology D3D10_PRIMITIVE_TOPOLOGY } + { GSMaxOutputVertexCount UINT } ; + +STRUCT: D3D10_SHADER_BUFFER_DESC + { Name LPCSTR } + { Type D3D10_CBUFFER_TYPE } + { Variables UINT } + { Size UINT } + { uFlags UINT } ; + +STRUCT: D3D10_SHADER_VARIABLE_DESC + { Name LPCSTR } + { StartOffset UINT } + { Size UINT } + { uFlags UINT } + { DefaultValue LPVOID } ; + +STRUCT: D3D10_SHADER_TYPE_DESC + { Class D3D10_SHADER_VARIABLE_CLASS } + { Type D3D10_SHADER_VARIABLE_TYPE } + { Rows UINT } + { Columns UINT } + { Elements UINT } + { Members UINT } + { Offset UINT } ; + +STRUCT: D3D10_SHADER_INPUT_BIND_DESC + { Name LPCSTR } + { Type D3D10_SHADER_INPUT_TYPE } + { BindPoint UINT } + { BindCount UINT } + { uFlags UINT } + { ReturnType D3D10_RESOURCE_RETURN_TYPE } + { Dimension D3D10_SRV_DIMENSION } + { NumSamples UINT } ; + +STRUCT: D3D10_SIGNATURE_PARAMETER_DESC + { SemanticName LPCSTR } + { SemanticIndex UINT } + { Register UINT } + { SystemValueType D3D10_NAME } + { ComponentType D3D10_REGISTER_COMPONENT_TYPE } + { Mask BYTE } + { ReadWriteMask BYTE } ; + +COM-INTERFACE: ID3D10ShaderReflectionType f {C530AD7D-9B16-4395-A979-BA2ECFF83ADD} + HRESULT GetDesc ( D3D10_SHADER_TYPE_DESC* pDesc ) + ID3D10ShaderReflectionType* GetMemberTypeByIndex ( UINT Index ) + ID3D10ShaderReflectionType* GetMemberTypeByName ( LPCSTR Name ) + LPCSTR GetMemberTypeName ( UINT Index ) ; + +COM-INTERFACE: ID3D10ShaderReflectionVariable f {1BF63C95-2650-405d-99C1-3636BD1DA0A1} + HRESULT GetDesc ( D3D10_SHADER_VARIABLE_DESC* pDesc ) + ID3D10ShaderReflectionType* GetType ( ) ; + +COM-INTERFACE: ID3D10ShaderReflectionConstantBuffer f {66C66A94-DDDD-4b62-A66A-F0DA33C2B4D0} + HRESULT GetDesc ( D3D10_SHADER_BUFFER_DESC* pDesc ) + ID3D10ShaderReflectionVariable* GetVariableByIndex ( UINT Index ) + ID3D10ShaderReflectionVariable* GetVariableByName ( LPCSTR Name ) ; + +COM-INTERFACE: ID3D10ShaderReflection IUnknown {D40E20B6-F8F7-42ad-AB20-4BAF8F15DFAA} + HRESULT GetDesc ( D3D10_SHADER_DESC* pDesc ) + ID3D10ShaderReflectionConstantBuffer* GetConstantBufferByIndex ( UINT Index ) + ID3D10ShaderReflectionConstantBuffer* GetConstantBufferByName ( LPCSTR Name ) + HRESULT GetResourceBindingDesc ( UINT ResourceIndex, D3D10_SHADER_INPUT_BIND_DESC* pDesc ) + HRESULT GetInputParameterDesc ( UINT ParameterIndex, D3D10_SIGNATURE_PARAMETER_DESC* pDesc ) + HRESULT GetOutputParameterDesc ( UINT ParameterIndex, D3D10_SIGNATURE_PARAMETER_DESC* pDesc ) ; + +FUNCTION: HRESULT D3D10CompileShader ( LPCSTR pSrcData, SIZE_T SrcDataLen, LPCSTR pFileName, D3D10_SHADER_MACRO* pDefines, ID3D10Include* pInclude, LPCSTR pFunctionName, LPCSTR pProfile, UINT Flags, ID3D10Blob** ppShader, ID3D10Blob** ppErrorMsgs ) ; +FUNCTION: HRESULT D3D10DisassembleShader ( void* pShader, SIZE_T BytecodeLength, BOOL EnableColorCode, LPCSTR pComments, ID3D10Blob** ppDisassembly ) ; +FUNCTION: LPCSTR D3D10GetPixelShaderProfile ( ID3D10Device* pDevice ) ; +FUNCTION: LPCSTR D3D10GetVertexShaderProfile ( ID3D10Device* pDevice ) ; +FUNCTION: LPCSTR D3D10GetGeometryShaderProfile ( ID3D10Device* pDevice ) ; +FUNCTION: HRESULT D3D10ReflectShader ( void* pShaderBytecode, SIZE_T BytecodeLength, ID3D10ShaderReflection** ppReflector ) ; +FUNCTION: HRESULT D3D10PreprocessShader ( LPCSTR pSrcData, SIZE_T SrcDataSize, LPCSTR pFileName, D3D10_SHADER_MACRO* pDefines, ID3D10Include* pInclude, ID3D10Blob** ppShaderText, ID3D10Blob** ppErrorMsgs ) ; +FUNCTION: HRESULT D3D10GetInputSignatureBlob ( void* pShaderBytecode, SIZE_T BytecodeLength, ID3D10Blob** ppSignatureBlob ) ; +FUNCTION: HRESULT D3D10GetOutputSignatureBlob ( void* pShaderBytecode, SIZE_T BytecodeLength, ID3D10Blob** ppSignatureBlob ) ; +FUNCTION: HRESULT D3D10GetInputAndOutputSignatureBlob ( void* pShaderBytecode, SIZE_T BytecodeLength, ID3D10Blob** ppSignatureBlob ) ; +FUNCTION: HRESULT D3D10GetShaderDebugInfo ( void* pShaderBytecode, SIZE_T BytecodeLength, ID3D10Blob** ppDebugInfo ) ; diff --git a/basis/windows/directx/d3d10shader/summary.txt b/basis/windows/directx/d3d10shader/summary.txt new file mode 100644 index 0000000000..a38ed608da --- /dev/null +++ b/basis/windows/directx/d3d10shader/summary.txt @@ -0,0 +1 @@ +Direct3D 10 bindings. Corresponds to D3D10shader.h. diff --git a/basis/windows/directx/d3d10shader/tags.txt b/basis/windows/directx/d3d10shader/tags.txt new file mode 100644 index 0000000000..2320bdd648 --- /dev/null +++ b/basis/windows/directx/d3d10shader/tags.txt @@ -0,0 +1,2 @@ +unportable +bindings diff --git a/basis/windows/directx/d3d11/authors.txt b/basis/windows/directx/d3d11/authors.txt new file mode 100644 index 0000000000..6f03a12101 --- /dev/null +++ b/basis/windows/directx/d3d11/authors.txt @@ -0,0 +1 @@ +Erik Charlebois diff --git a/basis/windows/directx/d3d11/d3d11.factor b/basis/windows/directx/d3d11/d3d11.factor new file mode 100644 index 0000000000..505ac4bc67 --- /dev/null +++ b/basis/windows/directx/d3d11/d3d11.factor @@ -0,0 +1,1488 @@ +USING: alien.syntax alien.c-types classes.struct windows.types +windows.directx.dxgiformat windows.com.syntax windows.com windows.ole32 +windows.directx.dxgitype windows.directx.dxgi windows.directx.d3dcommon ; +IN: windows.directx.d3d11 + +LIBRARY: d3d11 + +CONSTANT: D3D11_16BIT_INDEX_STRIP_CUT_VALUE HEX: ffff +CONSTANT: D3D11_32BIT_INDEX_STRIP_CUT_VALUE HEX: ffffffff +CONSTANT: D3D11_8BIT_INDEX_STRIP_CUT_VALUE HEX: ff + +CONSTANT: D3D11_ARRAY_AXIS_ADDRESS_RANGE_BIT_COUNT 9 + +CONSTANT: D3D11_CLIP_OR_CULL_DISTANCE_COUNT 8 +CONSTANT: D3D11_CLIP_OR_CULL_DISTANCE_ELEMENT_COUNT 2 + +CONSTANT: D3D11_COMMONSHADER_CONSTANT_BUFFER_API_SLOT_COUNT 14 +CONSTANT: D3D11_COMMONSHADER_CONSTANT_BUFFER_COMPONENTS 4 +CONSTANT: D3D11_COMMONSHADER_CONSTANT_BUFFER_COMPONENT_BIT_COUNT 32 +CONSTANT: D3D11_COMMONSHADER_CONSTANT_BUFFER_HW_SLOT_COUNT 15 +CONSTANT: D3D11_COMMONSHADER_CONSTANT_BUFFER_REGISTER_COMPONENTS 4 +CONSTANT: D3D11_COMMONSHADER_CONSTANT_BUFFER_REGISTER_COUNT 15 +CONSTANT: D3D11_COMMONSHADER_CONSTANT_BUFFER_REGISTER_READS_PER_INST 1 +CONSTANT: D3D11_COMMONSHADER_CONSTANT_BUFFER_REGISTER_READ_PORTS 1 +CONSTANT: D3D11_COMMONSHADER_FLOWCONTROL_NESTING_LIMIT 64 +CONSTANT: D3D11_COMMONSHADER_IMMEDIATE_CONSTANT_BUFFER_REGISTER_COMPONENTS 4 +CONSTANT: D3D11_COMMONSHADER_IMMEDIATE_CONSTANT_BUFFER_REGISTER_COUNT 1 +CONSTANT: D3D11_COMMONSHADER_IMMEDIATE_CONSTANT_BUFFER_REGISTER_READS_PER_INST 1 +CONSTANT: D3D11_COMMONSHADER_IMMEDIATE_CONSTANT_BUFFER_REGISTER_READ_PORTS 1 +CONSTANT: D3D11_COMMONSHADER_IMMEDIATE_VALUE_COMPONENT_BIT_COUNT 32 +CONSTANT: D3D11_COMMONSHADER_INPUT_RESOURCE_REGISTER_COMPONENTS 1 +CONSTANT: D3D11_COMMONSHADER_INPUT_RESOURCE_REGISTER_COUNT 128 +CONSTANT: D3D11_COMMONSHADER_INPUT_RESOURCE_REGISTER_READS_PER_INST 1 +CONSTANT: D3D11_COMMONSHADER_INPUT_RESOURCE_REGISTER_READ_PORTS 1 +CONSTANT: D3D11_COMMONSHADER_INPUT_RESOURCE_SLOT_COUNT 128 +CONSTANT: D3D11_COMMONSHADER_SAMPLER_REGISTER_COMPONENTS 1 +CONSTANT: D3D11_COMMONSHADER_SAMPLER_REGISTER_COUNT 16 +CONSTANT: D3D11_COMMONSHADER_SAMPLER_REGISTER_READS_PER_INST 1 +CONSTANT: D3D11_COMMONSHADER_SAMPLER_REGISTER_READ_PORTS 1 +CONSTANT: D3D11_COMMONSHADER_SAMPLER_SLOT_COUNT 16 +CONSTANT: D3D11_COMMONSHADER_SUBROUTINE_NESTING_LIMIT 32 +CONSTANT: D3D11_COMMONSHADER_TEMP_REGISTER_COMPONENTS 4 +CONSTANT: D3D11_COMMONSHADER_TEMP_REGISTER_COMPONENT_BIT_COUNT 32 +CONSTANT: D3D11_COMMONSHADER_TEMP_REGISTER_COUNT 4096 +CONSTANT: D3D11_COMMONSHADER_TEMP_REGISTER_READS_PER_INST 3 +CONSTANT: D3D11_COMMONSHADER_TEMP_REGISTER_READ_PORTS 3 +CONSTANT: D3D11_COMMONSHADER_TEXCOORD_RANGE_REDUCTION_MAX 10 +CONSTANT: D3D11_COMMONSHADER_TEXCOORD_RANGE_REDUCTION_MIN -10 +CONSTANT: D3D11_COMMONSHADER_TEXEL_OFFSET_MAX_NEGATIVE -8 +CONSTANT: D3D11_COMMONSHADER_TEXEL_OFFSET_MAX_POSITIVE 7 + +CONSTANT: D3D11_CS_4_X_BUCKET00_MAX_BYTES_TGSM_WRITABLE_PER_THREAD 256 +CONSTANT: D3D11_CS_4_X_BUCKET00_MAX_NUM_THREADS_PER_GROUP 64 +CONSTANT: D3D11_CS_4_X_BUCKET01_MAX_BYTES_TGSM_WRITABLE_PER_THREAD 240 +CONSTANT: D3D11_CS_4_X_BUCKET01_MAX_NUM_THREADS_PER_GROUP 68 +CONSTANT: D3D11_CS_4_X_BUCKET02_MAX_BYTES_TGSM_WRITABLE_PER_THREAD 224 +CONSTANT: D3D11_CS_4_X_BUCKET02_MAX_NUM_THREADS_PER_GROUP 72 +CONSTANT: D3D11_CS_4_X_BUCKET03_MAX_BYTES_TGSM_WRITABLE_PER_THREAD 208 +CONSTANT: D3D11_CS_4_X_BUCKET03_MAX_NUM_THREADS_PER_GROUP 76 +CONSTANT: D3D11_CS_4_X_BUCKET04_MAX_BYTES_TGSM_WRITABLE_PER_THREAD 192 +CONSTANT: D3D11_CS_4_X_BUCKET04_MAX_NUM_THREADS_PER_GROUP 84 +CONSTANT: D3D11_CS_4_X_BUCKET05_MAX_BYTES_TGSM_WRITABLE_PER_THREAD 176 +CONSTANT: D3D11_CS_4_X_BUCKET05_MAX_NUM_THREADS_PER_GROUP 92 +CONSTANT: D3D11_CS_4_X_BUCKET06_MAX_BYTES_TGSM_WRITABLE_PER_THREAD 160 +CONSTANT: D3D11_CS_4_X_BUCKET06_MAX_NUM_THREADS_PER_GROUP 100 +CONSTANT: D3D11_CS_4_X_BUCKET07_MAX_BYTES_TGSM_WRITABLE_PER_THREAD 144 +CONSTANT: D3D11_CS_4_X_BUCKET07_MAX_NUM_THREADS_PER_GROUP 112 +CONSTANT: D3D11_CS_4_X_BUCKET08_MAX_BYTES_TGSM_WRITABLE_PER_THREAD 128 +CONSTANT: D3D11_CS_4_X_BUCKET08_MAX_NUM_THREADS_PER_GROUP 128 +CONSTANT: D3D11_CS_4_X_BUCKET09_MAX_BYTES_TGSM_WRITABLE_PER_THREAD 112 +CONSTANT: D3D11_CS_4_X_BUCKET09_MAX_NUM_THREADS_PER_GROUP 144 +CONSTANT: D3D11_CS_4_X_BUCKET10_MAX_BYTES_TGSM_WRITABLE_PER_THREAD 96 +CONSTANT: D3D11_CS_4_X_BUCKET10_MAX_NUM_THREADS_PER_GROUP 168 +CONSTANT: D3D11_CS_4_X_BUCKET11_MAX_BYTES_TGSM_WRITABLE_PER_THREAD 80 +CONSTANT: D3D11_CS_4_X_BUCKET11_MAX_NUM_THREADS_PER_GROUP 204 +CONSTANT: D3D11_CS_4_X_BUCKET12_MAX_BYTES_TGSM_WRITABLE_PER_THREAD 64 +CONSTANT: D3D11_CS_4_X_BUCKET12_MAX_NUM_THREADS_PER_GROUP 256 +CONSTANT: D3D11_CS_4_X_BUCKET13_MAX_BYTES_TGSM_WRITABLE_PER_THREAD 48 +CONSTANT: D3D11_CS_4_X_BUCKET13_MAX_NUM_THREADS_PER_GROUP 340 +CONSTANT: D3D11_CS_4_X_BUCKET14_MAX_BYTES_TGSM_WRITABLE_PER_THREAD 32 +CONSTANT: D3D11_CS_4_X_BUCKET14_MAX_NUM_THREADS_PER_GROUP 512 +CONSTANT: D3D11_CS_4_X_BUCKET15_MAX_BYTES_TGSM_WRITABLE_PER_THREAD 16 +CONSTANT: D3D11_CS_4_X_BUCKET15_MAX_NUM_THREADS_PER_GROUP 768 +CONSTANT: D3D11_CS_4_X_DISPATCH_MAX_THREAD_GROUPS_IN_Z_DIMENSION 1 +CONSTANT: D3D11_CS_4_X_RAW_UAV_BYTE_ALIGNMENT 256 +CONSTANT: D3D11_CS_4_X_THREAD_GROUP_MAX_THREADS_PER_GROUP 768 +CONSTANT: D3D11_CS_4_X_THREAD_GROUP_MAX_X 768 +CONSTANT: D3D11_CS_4_X_THREAD_GROUP_MAX_Y 768 +CONSTANT: D3D11_CS_4_X_UAV_REGISTER_COUNT 1 +CONSTANT: D3D11_CS_DISPATCH_MAX_THREAD_GROUPS_PER_DIMENSION 65535 +CONSTANT: D3D11_CS_TGSM_REGISTER_COUNT 8192 +CONSTANT: D3D11_CS_TGSM_REGISTER_READS_PER_INST 1 +CONSTANT: D3D11_CS_TGSM_RESOURCE_REGISTER_COMPONENTS 1 +CONSTANT: D3D11_CS_TGSM_RESOURCE_REGISTER_READ_PORTS 1 +CONSTANT: D3D11_CS_THREAD_GROUP_MAX_THREADS_PER_GROUP 1024 +CONSTANT: D3D11_CS_THREAD_GROUP_MAX_X 1024 +CONSTANT: D3D11_CS_THREAD_GROUP_MAX_Y 1024 +CONSTANT: D3D11_CS_THREAD_GROUP_MAX_Z 64 +CONSTANT: D3D11_CS_THREAD_GROUP_MIN_X 1 +CONSTANT: D3D11_CS_THREAD_GROUP_MIN_Y 1 +CONSTANT: D3D11_CS_THREAD_GROUP_MIN_Z 1 +CONSTANT: D3D11_CS_THREAD_LOCAL_TEMP_REGISTER_POOL 16384 + +CONSTANT: D3D11_DEFAULT_BLEND_FACTOR_ALPHA 1.0 +CONSTANT: D3D11_DEFAULT_BLEND_FACTOR_GREEN 1.0 +CONSTANT: D3D11_DEFAULT_BORDER_COLOR_COMPONENT 0.0 +CONSTANT: D3D11_DEFAULT_DEPTH_BIAS_CLAMP 0.0 +CONSTANT: D3D11_DEFAULT_MAX_ANISOTROPY 16 +CONSTANT: D3D11_DEFAULT_MIP_LOD_BIAS 0.0 +CONSTANT: D3D11_DEFAULT_RENDER_TARGET_ARRAY_INDEX 0 +CONSTANT: D3D11_DEFAULT_SAMPLE_MASK HEX: ffffffff +CONSTANT: D3D11_DEFAULT_SCISSOR_ENDX 0 +CONSTANT: D3D11_DEFAULT_SCISSOR_ENDY 0 +CONSTANT: D3D11_DEFAULT_SCISSOR_STARTX 0 +CONSTANT: D3D11_DEFAULT_SCISSOR_STARTY 0 +CONSTANT: D3D11_DEFAULT_SLOPE_SCALED_DEPTH_BIAS 0.0 +CONSTANT: D3D11_DEFAULT_STENCIL_READ_MASK HEX: ff +CONSTANT: D3D11_DEFAULT_STENCIL_REFERENCE 0 +CONSTANT: D3D11_DEFAULT_STENCIL_WRITE_MASK HEX: ff +CONSTANT: D3D11_DEFAULT_VIEWPORT_AND_SCISSORRECT_INDEX 0 +CONSTANT: D3D11_DEFAULT_VIEWPORT_HEIGHT 0 +CONSTANT: D3D11_DEFAULT_VIEWPORT_MAX_DEPTH 0.0 +CONSTANT: D3D11_DEFAULT_VIEWPORT_MIN_DEPTH 0.0 +CONSTANT: D3D11_DEFAULT_VIEWPORT_TOPLEFTX 0 +CONSTANT: D3D11_DEFAULT_VIEWPORT_TOPLEFTY 0 +CONSTANT: D3D11_DEFAULT_VIEWPORT_WIDTH 0 + +CONSTANT: D3D11_DS_INPUT_CONTROL_POINTS_MAX_TOTAL_SCALARS 3968 +CONSTANT: D3D11_DS_INPUT_CONTROL_POINT_REGISTER_COMPONENTS 4 +CONSTANT: D3D11_DS_INPUT_CONTROL_POINT_REGISTER_COMPONENT_BIT_COUNT 32 +CONSTANT: D3D11_DS_INPUT_CONTROL_POINT_REGISTER_COUNT 32 +CONSTANT: D3D11_DS_INPUT_CONTROL_POINT_REGISTER_READS_PER_INST 2 +CONSTANT: D3D11_DS_INPUT_CONTROL_POINT_REGISTER_READ_PORTS 1 +CONSTANT: D3D11_DS_INPUT_DOMAIN_POINT_REGISTER_COMPONENTS 3 +CONSTANT: D3D11_DS_INPUT_DOMAIN_POINT_REGISTER_COMPONENT_BIT_COUNT 32 +CONSTANT: D3D11_DS_INPUT_DOMAIN_POINT_REGISTER_COUNT 1 +CONSTANT: D3D11_DS_INPUT_DOMAIN_POINT_REGISTER_READS_PER_INST 2 +CONSTANT: D3D11_DS_INPUT_DOMAIN_POINT_REGISTER_READ_PORTS 1 +CONSTANT: D3D11_DS_INPUT_PATCH_CONSTANT_REGISTER_COMPONENTS 4 +CONSTANT: D3D11_DS_INPUT_PATCH_CONSTANT_REGISTER_COMPONENT_BIT_COUNT 32 +CONSTANT: D3D11_DS_INPUT_PATCH_CONSTANT_REGISTER_COUNT 32 +CONSTANT: D3D11_DS_INPUT_PATCH_CONSTANT_REGISTER_READS_PER_INST 2 +CONSTANT: D3D11_DS_INPUT_PATCH_CONSTANT_REGISTER_READ_PORTS 1 +CONSTANT: D3D11_DS_OUTPUT_REGISTER_COMPONENTS 4 +CONSTANT: D3D11_DS_OUTPUT_REGISTER_COMPONENT_BIT_COUNT 32 +CONSTANT: D3D11_DS_OUTPUT_REGISTER_COUNT 32 + +CONSTANT: D3D11_FLOAT16_FUSED_TOLERANCE_IN_ULP 0.6 +CONSTANT: D3D11_FLOAT32_MAX 3.402823466e+38 +CONSTANT: D3D11_FLOAT32_TO_INTEGER_TOLERANCE_IN_ULP 0.6 +CONSTANT: D3D11_FLOAT_TO_SRGB_EXPONENT_DENOMINATOR 2.4 +CONSTANT: D3D11_FLOAT_TO_SRGB_EXPONENT_NUMERATOR 1.0 +CONSTANT: D3D11_FLOAT_TO_SRGB_OFFSET 0.055 +CONSTANT: D3D11_FLOAT_TO_SRGB_SCALE_1 12.92 +CONSTANT: D3D11_FLOAT_TO_SRGB_SCALE_2 1.055 +CONSTANT: D3D11_FLOAT_TO_SRGB_THRESHOLD 0.0031308 + +CONSTANT: D3D11_FTOI_INSTRUCTION_MAX_INPUT 2147483647.999 +CONSTANT: D3D11_FTOI_INSTRUCTION_MIN_INPUT -2147483648.999 +CONSTANT: D3D11_FTOU_INSTRUCTION_MAX_INPUT 4294967295.999 +CONSTANT: D3D11_FTOU_INSTRUCTION_MIN_INPUT 0.0 + +CONSTANT: D3D11_GS_INPUT_INSTANCE_ID_READS_PER_INST 2 +CONSTANT: D3D11_GS_INPUT_INSTANCE_ID_READ_PORTS 1 +CONSTANT: D3D11_GS_INPUT_INSTANCE_ID_REGISTER_COMPONENTS 1 +CONSTANT: D3D11_GS_INPUT_INSTANCE_ID_REGISTER_COMPONENT_BIT_COUNT 32 +CONSTANT: D3D11_GS_INPUT_INSTANCE_ID_REGISTER_COUNT 1 +CONSTANT: D3D11_GS_INPUT_PRIM_CONST_REGISTER_COMPONENTS 1 +CONSTANT: D3D11_GS_INPUT_PRIM_CONST_REGISTER_COMPONENT_BIT_COUNT 32 +CONSTANT: D3D11_GS_INPUT_PRIM_CONST_REGISTER_COUNT 1 +CONSTANT: D3D11_GS_INPUT_PRIM_CONST_REGISTER_READS_PER_INST 2 +CONSTANT: D3D11_GS_INPUT_PRIM_CONST_REGISTER_READ_PORTS 1 +CONSTANT: D3D11_GS_INPUT_REGISTER_COMPONENTS 4 +CONSTANT: D3D11_GS_INPUT_REGISTER_COMPONENT_BIT_COUNT 32 +CONSTANT: D3D11_GS_INPUT_REGISTER_COUNT 32 +CONSTANT: D3D11_GS_INPUT_REGISTER_READS_PER_INST 2 +CONSTANT: D3D11_GS_INPUT_REGISTER_READ_PORTS 1 +CONSTANT: D3D11_GS_INPUT_REGISTER_VERTICES 32 +CONSTANT: D3D11_GS_MAX_INSTANCE_COUNT 32 +CONSTANT: D3D11_GS_MAX_OUTPUT_VERTEX_COUNT_ACROSS_INSTANCES 1024 +CONSTANT: D3D11_GS_OUTPUT_ELEMENTS 32 +CONSTANT: D3D11_GS_OUTPUT_REGISTER_COMPONENTS 4 +CONSTANT: D3D11_GS_OUTPUT_REGISTER_COMPONENT_BIT_COUNT 32 +CONSTANT: D3D11_GS_OUTPUT_REGISTER_COUNT 32 + +CONSTANT: D3D11_HS_CONTROL_POINT_PHASE_INPUT_REGISTER_COUNT 32 +CONSTANT: D3D11_HS_CONTROL_POINT_PHASE_OUTPUT_REGISTER_COUNT 32 +CONSTANT: D3D11_HS_CONTROL_POINT_REGISTER_COMPONENTS 4 +CONSTANT: D3D11_HS_CONTROL_POINT_REGISTER_COMPONENT_BIT_COUNT 32 +CONSTANT: D3D11_HS_CONTROL_POINT_REGISTER_READS_PER_INST 2 +CONSTANT: D3D11_HS_CONTROL_POINT_REGISTER_READ_PORTS 1 +CONSTANT: D3D11_HS_FORK_PHASE_INSTANCE_COUNT_UPPER_BOUND HEX: ffffffff +CONSTANT: D3D11_HS_INPUT_FORK_INSTANCE_ID_REGISTER_COMPONENTS 1 +CONSTANT: D3D11_HS_INPUT_FORK_INSTANCE_ID_REGISTER_COMPONENT_BIT_COUNT 32 +CONSTANT: D3D11_HS_INPUT_FORK_INSTANCE_ID_REGISTER_COUNT 1 +CONSTANT: D3D11_HS_INPUT_FORK_INSTANCE_ID_REGISTER_READS_PER_INST 2 +CONSTANT: D3D11_HS_INPUT_FORK_INSTANCE_ID_REGISTER_READ_PORTS 1 +CONSTANT: D3D11_HS_INPUT_JOIN_INSTANCE_ID_REGISTER_COMPONENTS 1 +CONSTANT: D3D11_HS_INPUT_JOIN_INSTANCE_ID_REGISTER_COMPONENT_BIT_COUNT 32 +CONSTANT: D3D11_HS_INPUT_JOIN_INSTANCE_ID_REGISTER_COUNT 1 +CONSTANT: D3D11_HS_INPUT_JOIN_INSTANCE_ID_REGISTER_READS_PER_INST 2 +CONSTANT: D3D11_HS_INPUT_JOIN_INSTANCE_ID_REGISTER_READ_PORTS 1 +CONSTANT: D3D11_HS_INPUT_PRIMITIVE_ID_REGISTER_COMPONENTS 1 +CONSTANT: D3D11_HS_INPUT_PRIMITIVE_ID_REGISTER_COMPONENT_BIT_COUNT 32 +CONSTANT: D3D11_HS_INPUT_PRIMITIVE_ID_REGISTER_COUNT 1 +CONSTANT: D3D11_HS_INPUT_PRIMITIVE_ID_REGISTER_READS_PER_INST 2 +CONSTANT: D3D11_HS_INPUT_PRIMITIVE_ID_REGISTER_READ_PORTS 1 +CONSTANT: D3D11_HS_JOIN_PHASE_INSTANCE_COUNT_UPPER_BOUND HEX: ffffffff +CONSTANT: D3D11_HS_MAXTESSFACTOR_LOWER_BOUND 1.0 +CONSTANT: D3D11_HS_MAXTESSFACTOR_UPPER_BOUND 64.0 +CONSTANT: D3D11_HS_OUTPUT_CONTROL_POINTS_MAX_TOTAL_SCALARS 3968 +CONSTANT: D3D11_HS_OUTPUT_CONTROL_POINT_ID_REGISTER_COMPONENTS 1 +CONSTANT: D3D11_HS_OUTPUT_CONTROL_POINT_ID_REGISTER_COMPONENT_BIT_COUNT 32 +CONSTANT: D3D11_HS_OUTPUT_CONTROL_POINT_ID_REGISTER_COUNT 1 +CONSTANT: D3D11_HS_OUTPUT_CONTROL_POINT_ID_REGISTER_READS_PER_INST 2 +CONSTANT: D3D11_HS_OUTPUT_CONTROL_POINT_ID_REGISTER_READ_PORTS 1 +CONSTANT: D3D11_HS_OUTPUT_PATCH_CONSTANT_REGISTER_COMPONENTS 4 +CONSTANT: D3D11_HS_OUTPUT_PATCH_CONSTANT_REGISTER_COMPONENT_BIT_COUNT 32 +CONSTANT: D3D11_HS_OUTPUT_PATCH_CONSTANT_REGISTER_COUNT 32 +CONSTANT: D3D11_HS_OUTPUT_PATCH_CONSTANT_REGISTER_READS_PER_INST 2 +CONSTANT: D3D11_HS_OUTPUT_PATCH_CONSTANT_REGISTER_READ_PORTS 1 + +CONSTANT: D3D11_IA_DEFAULT_INDEX_BUFFER_OFFSET_IN_BYTES 0 +CONSTANT: D3D11_IA_DEFAULT_PRIMITIVE_TOPOLOGY 0 +CONSTANT: D3D11_IA_DEFAULT_VERTEX_BUFFER_OFFSET_IN_BYTES 0 +CONSTANT: D3D11_IA_INDEX_INPUT_RESOURCE_SLOT_COUNT 1 +CONSTANT: D3D11_IA_INSTANCE_ID_BIT_COUNT 32 +CONSTANT: D3D11_IA_INTEGER_ARITHMETIC_BIT_COUNT 32 +CONSTANT: D3D11_IA_PATCH_MAX_CONTROL_POINT_COUNT 32 +CONSTANT: D3D11_IA_PRIMITIVE_ID_BIT_COUNT 32 +CONSTANT: D3D11_IA_VERTEX_ID_BIT_COUNT 32 +CONSTANT: D3D11_IA_VERTEX_INPUT_RESOURCE_SLOT_COUNT 32 +CONSTANT: D3D11_IA_VERTEX_INPUT_STRUCTURE_ELEMENTS_COMPONENTS 128 +CONSTANT: D3D11_IA_VERTEX_INPUT_STRUCTURE_ELEMENT_COUNT 32 + +CONSTANT: D3D11_INTEGER_DIVIDE_BY_ZERO_QUOTIENT HEX: ffffffff +CONSTANT: D3D11_INTEGER_DIVIDE_BY_ZERO_REMAINDER HEX: ffffffff + +CONSTANT: D3D11_KEEP_RENDER_TARGETS_AND_DEPTH_STENCIL HEX: ffffffff +CONSTANT: D3D11_KEEP_UNORDERED_ACCESS_VIEWS HEX: ffffffff + +CONSTANT: D3D11_LINEAR_GAMMA 1.0 + +CONSTANT: D3D11_MAX_BORDER_COLOR_COMPONENT 1.0 +CONSTANT: D3D11_MAX_DEPTH 1.0 +CONSTANT: D3D11_MAX_MAXANISOTROPY 16 +CONSTANT: D3D11_MAX_MULTISAMPLE_SAMPLE_COUNT 32 +CONSTANT: D3D11_MAX_POSITION_VALUE 3.402823466e+34 +CONSTANT: D3D11_MAX_TEXTURE_DIMENSION_2_TO_EXP 17 + +CONSTANT: D3D11_MAJOR_VERSION 11 +CONSTANT: D3D11_MINOR_VERSION 0 + +CONSTANT: D3D11_MIN_BORDER_COLOR_COMPONENT 0.0 +CONSTANT: D3D11_MIN_DEPTH 0.0 +CONSTANT: D3D11_MIN_MAXANISOTROPY 0 + +CONSTANT: D3D11_MIP_LOD_BIAS_MAX 15.99 +CONSTANT: D3D11_MIP_LOD_BIAS_MIN -16.0 +CONSTANT: D3D11_MIP_LOD_FRACTIONAL_BIT_COUNT 8 +CONSTANT: D3D11_MIP_LOD_RANGE_BIT_COUNT 8 + +CONSTANT: D3D11_MULTISAMPLE_ANTIALIAS_LINE_WIDTH 1.4 + +CONSTANT: D3D11_NONSAMPLE_FETCH_OUT_OF_RANGE_ACCESS_RESULT 0 + +CONSTANT: D3D11_PIXEL_ADDRESS_RANGE_BIT_COUNT 15 + +CONSTANT: D3D11_PRE_SCISSOR_PIXEL_ADDRESS_RANGE_BIT_COUNT 16 + +CONSTANT: D3D11_PS_CS_UAV_REGISTER_COMPONENTS 1 +CONSTANT: D3D11_PS_CS_UAV_REGISTER_COUNT 8 +CONSTANT: D3D11_PS_CS_UAV_REGISTER_READS_PER_INST 1 +CONSTANT: D3D11_PS_CS_UAV_REGISTER_READ_PORTS 1 +CONSTANT: D3D11_PS_FRONTFACING_DEFAULT_VALUE HEX: ffffffff +CONSTANT: D3D11_PS_FRONTFACING_FALSE_VALUE 0 +CONSTANT: D3D11_PS_FRONTFACING_TRUE_VALUE HEX: ffffffff +CONSTANT: D3D11_PS_INPUT_REGISTER_COMPONENTS 4 +CONSTANT: D3D11_PS_INPUT_REGISTER_COMPONENT_BIT_COUNT 32 +CONSTANT: D3D11_PS_INPUT_REGISTER_COUNT 32 +CONSTANT: D3D11_PS_INPUT_REGISTER_READS_PER_INST 2 +CONSTANT: D3D11_PS_INPUT_REGISTER_READ_PORTS 1 +CONSTANT: D3D11_PS_LEGACY_PIXEL_CENTER_FRACTIONAL_COMPONENT 0.0 +CONSTANT: D3D11_PS_OUTPUT_DEPTH_REGISTER_COMPONENTS 1 +CONSTANT: D3D11_PS_OUTPUT_DEPTH_REGISTER_COMPONENT_BIT_COUNT 32 +CONSTANT: D3D11_PS_OUTPUT_DEPTH_REGISTER_COUNT 1 +CONSTANT: D3D11_PS_OUTPUT_MASK_REGISTER_COMPONENTS 1 +CONSTANT: D3D11_PS_OUTPUT_MASK_REGISTER_COMPONENT_BIT_COUNT 32 +CONSTANT: D3D11_PS_OUTPUT_MASK_REGISTER_COUNT 1 +CONSTANT: D3D11_PS_OUTPUT_REGISTER_COMPONENTS 4 +CONSTANT: D3D11_PS_OUTPUT_REGISTER_COMPONENT_BIT_COUNT 32 +CONSTANT: D3D11_PS_OUTPUT_REGISTER_COUNT 8 +CONSTANT: D3D11_PS_PIXEL_CENTER_FRACTIONAL_COMPONENT 0.5 + +CONSTANT: D3D11_RAW_UAV_SRV_BYTE_ALIGNMENT 16 + +CONSTANT: D3D11_REQ_BLEND_OBJECT_COUNT_PER_DEVICE 4096 +CONSTANT: D3D11_REQ_BUFFER_RESOURCE_TEXEL_COUNT_2_TO_EXP 27 +CONSTANT: D3D11_REQ_CONSTANT_BUFFER_ELEMENT_COUNT 4096 +CONSTANT: D3D11_REQ_DEPTH_STENCIL_OBJECT_COUNT_PER_DEVICE 4096 +CONSTANT: D3D11_REQ_DRAWINDEXED_INDEX_COUNT_2_TO_EXP 32 +CONSTANT: D3D11_REQ_DRAW_VERTEX_COUNT_2_TO_EXP 32 +CONSTANT: D3D11_REQ_FILTERING_HW_ADDRESSABLE_RESOURCE_DIMENSION 16384 +CONSTANT: D3D11_REQ_GS_INVOCATION_32BIT_OUTPUT_COMPONENT_LIMIT 1024 +CONSTANT: D3D11_REQ_IMMEDIATE_CONSTANT_BUFFER_ELEMENT_COUNT 4096 +CONSTANT: D3D11_REQ_MAXANISOTROPY 16 +CONSTANT: D3D11_REQ_MIP_LEVELS 15 +CONSTANT: D3D11_REQ_MULTI_ELEMENT_STRUCTURE_SIZE_IN_BYTES 2048 +CONSTANT: D3D11_REQ_RASTERIZER_OBJECT_COUNT_PER_DEVICE 4096 +CONSTANT: D3D11_REQ_RENDER_TO_BUFFER_WINDOW_WIDTH 16384 +CONSTANT: D3D11_REQ_RESOURCE_SIZE_IN_MEGABYTES_EXPRESSION_A_TERM 128 +CONSTANT: D3D11_REQ_RESOURCE_SIZE_IN_MEGABYTES_EXPRESSION_B_TERM 0.25 +CONSTANT: D3D11_REQ_RESOURCE_VIEW_COUNT_PER_DEVICE_2_TO_EXP 20 +CONSTANT: D3D11_REQ_SAMPLER_OBJECT_COUNT_PER_DEVICE 4096 +CONSTANT: D3D11_REQ_TEXTURE1D_ARRAY_AXIS_DIMENSION 2048 +CONSTANT: D3D11_REQ_TEXTURE1D_U_DIMENSION 16384 +CONSTANT: D3D11_REQ_TEXTURE2D_ARRAY_AXIS_DIMENSION 2048 +CONSTANT: D3D11_REQ_TEXTURE2D_U_OR_V_DIMENSION 16384 +CONSTANT: D3D11_REQ_TEXTURE3D_U_V_OR_W_DIMENSION 2048 +CONSTANT: D3D11_REQ_TEXTURECUBE_DIMENSION 16384 + +CONSTANT: D3D11_RESINFO_INSTRUCTION_MISSING_COMPONENT_RETVAL 0 + +CONSTANT: D3D11_SHADER_MAJOR_VERSION 5 +CONSTANT: D3D11_SHADER_MAX_INSTANCES 65535 +CONSTANT: D3D11_SHADER_MAX_INTERFACES 253 +CONSTANT: D3D11_SHADER_MAX_INTERFACE_CALL_SITES 4096 +CONSTANT: D3D11_SHADER_MAX_TYPES 65535 +CONSTANT: D3D11_SHADER_MINOR_VERSION 0 + +CONSTANT: D3D11_SHIFT_INSTRUCTION_PAD_VALUE 0 +CONSTANT: D3D11_SHIFT_INSTRUCTION_SHIFT_VALUE_BIT_COUNT 5 + +CONSTANT: D3D11_SIMULTANEOUS_RENDER_TARGET_COUNT 8 + +CONSTANT: D3D11_SO_BUFFER_MAX_STRIDE_IN_BYTES 2048 +CONSTANT: D3D11_SO_BUFFER_MAX_WRITE_WINDOW_IN_BYTES 512 +CONSTANT: D3D11_SO_BUFFER_SLOT_COUNT 4 +CONSTANT: D3D11_SO_DDI_REGISTER_INDEX_DENOTING_GAP HEX: ffffffff +CONSTANT: D3D11_SO_NO_RASTERIZED_STREAM HEX: ffffffff +CONSTANT: D3D11_SO_OUTPUT_COMPONENT_COUNT 128 +CONSTANT: D3D11_SO_STREAM_COUNT 4 + +CONSTANT: D3D11_SPEC_DATE_DAY 04 +CONSTANT: D3D11_SPEC_DATE_MONTH 06 +CONSTANT: D3D11_SPEC_DATE_YEAR 2009 +CONSTANT: D3D11_SPEC_VERSION 1.0 + +CONSTANT: D3D11_SRGB_GAMMA 2.2 +CONSTANT: D3D11_SRGB_TO_FLOAT_DENOMINATOR_1 12.92 +CONSTANT: D3D11_SRGB_TO_FLOAT_DENOMINATOR_2 1.055 +CONSTANT: D3D11_SRGB_TO_FLOAT_EXPONENT 2.4 +CONSTANT: D3D11_SRGB_TO_FLOAT_OFFSET 0.055 +CONSTANT: D3D11_SRGB_TO_FLOAT_THRESHOLD 0.04045 +CONSTANT: D3D11_SRGB_TO_FLOAT_TOLERANCE_IN_ULP 0.5 + +CONSTANT: D3D11_STANDARD_COMPONENT_BIT_COUNT 32 +CONSTANT: D3D11_STANDARD_COMPONENT_BIT_COUNT_DOUBLED 64 +CONSTANT: D3D11_STANDARD_MAXIMUM_ELEMENT_ALIGNMENT_BYTE_MULTIPLE 4 +CONSTANT: D3D11_STANDARD_PIXEL_COMPONENT_COUNT 128 +CONSTANT: D3D11_STANDARD_PIXEL_ELEMENT_COUNT 32 +CONSTANT: D3D11_STANDARD_VECTOR_SIZE 4 +CONSTANT: D3D11_STANDARD_VERTEX_ELEMENT_COUNT 32 +CONSTANT: D3D11_STANDARD_VERTEX_TOTAL_COMPONENT_COUNT 64 + +CONSTANT: D3D11_SUBPIXEL_FRACTIONAL_BIT_COUNT 8 +CONSTANT: D3D11_SUBTEXEL_FRACTIONAL_BIT_COUNT 8 + +CONSTANT: D3D11_TESSELLATOR_MAX_EVEN_TESSELLATION_FACTOR 64 +CONSTANT: D3D11_TESSELLATOR_MAX_ISOLINE_DENSITY_TESSELLATION_FACTOR 64 +CONSTANT: D3D11_TESSELLATOR_MAX_ODD_TESSELLATION_FACTOR 63 +CONSTANT: D3D11_TESSELLATOR_MAX_TESSELLATION_FACTOR 64 +CONSTANT: D3D11_TESSELLATOR_MIN_EVEN_TESSELLATION_FACTOR 2 +CONSTANT: D3D11_TESSELLATOR_MIN_ISOLINE_DENSITY_TESSELLATION_FACTOR 1 +CONSTANT: D3D11_TESSELLATOR_MIN_ODD_TESSELLATION_FACTOR 1 + +CONSTANT: D3D11_TEXEL_ADDRESS_RANGE_BIT_COUNT 16 + +CONSTANT: D3D11_UNBOUND_MEMORY_ACCESS_RESULT 0 + +CONSTANT: D3D11_VIEWPORT_AND_SCISSORRECT_MAX_INDEX 15 +CONSTANT: D3D11_VIEWPORT_AND_SCISSORRECT_OBJECT_COUNT_PER_PIPELINE 16 + +CONSTANT: D3D11_VIEWPORT_BOUNDS_MAX 32767 +CONSTANT: D3D11_VIEWPORT_BOUNDS_MIN -32768 + +CONSTANT: D3D11_VS_INPUT_REGISTER_COMPONENTS 4 +CONSTANT: D3D11_VS_INPUT_REGISTER_COMPONENT_BIT_COUNT 32 +CONSTANT: D3D11_VS_INPUT_REGISTER_COUNT 32 +CONSTANT: D3D11_VS_INPUT_REGISTER_READS_PER_INST 2 +CONSTANT: D3D11_VS_INPUT_REGISTER_READ_PORTS 1 +CONSTANT: D3D11_VS_OUTPUT_REGISTER_COMPONENTS 4 +CONSTANT: D3D11_VS_OUTPUT_REGISTER_COMPONENT_BIT_COUNT 32 +CONSTANT: D3D11_VS_OUTPUT_REGISTER_COUNT 32 + +CONSTANT: D3D11_WHQL_CONTEXT_COUNT_FOR_RESOURCE_LIMIT 10 +CONSTANT: D3D11_WHQL_DRAWINDEXED_INDEX_COUNT_2_TO_EXP 25 +CONSTANT: D3D11_WHQL_DRAW_VERTEX_COUNT_2_TO_EXP 25 + +CONSTANT: D3D11_ERROR_TOO_MANY_UNIQUE_STATE_OBJECTS HEX: 887c0001 +CONSTANT: D3D11_ERROR_FILE_NOT_FOUND HEX: 887c0002 +CONSTANT: D3D11_ERROR_TOO_MANY_UNIQUE_VIEW_OBJECTS HEX: 887c003 +CONSTANT: D3D11_ERROR_DEFERRED_CONTEXT_MAP_WITHOUT_INITIAL_DISCARD HEX: 887c004 + +CONSTANT: D3D11_INPUT_PER_VERTEX_DATA 0 +CONSTANT: D3D11_INPUT_PER_INSTANCE_DATA 1 +TYPEDEF: int D3D11_INPUT_CLASSIFICATION + +CONSTANT: D3D11_APPEND_ALIGNED_ELEMENT HEX: ffffffff + +STRUCT: D3D11_INPUT_ELEMENT_DESC + { SemanticName LPCSTR } + { SemanticIndex UINT } + { Format DXGI_FORMAT } + { InputSlot UINT } + { AlignedByteOffset UINT } + { InputSlotClass D3D11_INPUT_CLASSIFICATION } + { InstanceDataStepRate UINT } ; + +CONSTANT: D3D11_FILL_WIREFRAME 2 +CONSTANT: D3D11_FILL_SOLID 3 +TYPEDEF: int D3D11_FILL_MODE + +CONSTANT: D3D11_PRIMITIVE_TOPOLOGY_UNDEFINED 0 +CONSTANT: D3D11_PRIMITIVE_TOPOLOGY_POINTLIST 1 +CONSTANT: D3D11_PRIMITIVE_TOPOLOGY_LINELIST 2 +CONSTANT: D3D11_PRIMITIVE_TOPOLOGY_LINESTRIP 3 +CONSTANT: D3D11_PRIMITIVE_TOPOLOGY_TRIANGLELIST 4 +CONSTANT: D3D11_PRIMITIVE_TOPOLOGY_TRIANGLESTRIP 5 +CONSTANT: D3D11_PRIMITIVE_TOPOLOGY_LINELIST_ADJ 10 +CONSTANT: D3D11_PRIMITIVE_TOPOLOGY_LINESTRIP_ADJ 11 +CONSTANT: D3D11_PRIMITIVE_TOPOLOGY_TRIANGLELIST_ADJ 12 +CONSTANT: D3D11_PRIMITIVE_TOPOLOGY_TRIANGLESTRIP_ADJ 13 +CONSTANT: D3D11_PRIMITIVE_TOPOLOGY_1_CONTROL_POINT_PATCHLIST 33 +CONSTANT: D3D11_PRIMITIVE_TOPOLOGY_2_CONTROL_POINT_PATCHLIST 34 +CONSTANT: D3D11_PRIMITIVE_TOPOLOGY_3_CONTROL_POINT_PATCHLIST 35 +CONSTANT: D3D11_PRIMITIVE_TOPOLOGY_4_CONTROL_POINT_PATCHLIST 36 +CONSTANT: D3D11_PRIMITIVE_TOPOLOGY_5_CONTROL_POINT_PATCHLIST 37 +CONSTANT: D3D11_PRIMITIVE_TOPOLOGY_6_CONTROL_POINT_PATCHLIST 38 +CONSTANT: D3D11_PRIMITIVE_TOPOLOGY_7_CONTROL_POINT_PATCHLIST 39 +CONSTANT: D3D11_PRIMITIVE_TOPOLOGY_8_CONTROL_POINT_PATCHLIST 40 +CONSTANT: D3D11_PRIMITIVE_TOPOLOGY_9_CONTROL_POINT_PATCHLIST 41 +CONSTANT: D3D11_PRIMITIVE_TOPOLOGY_10_CONTROL_POINT_PATCHLIST 42 +CONSTANT: D3D11_PRIMITIVE_TOPOLOGY_11_CONTROL_POINT_PATCHLIST 43 +CONSTANT: D3D11_PRIMITIVE_TOPOLOGY_12_CONTROL_POINT_PATCHLIST 44 +CONSTANT: D3D11_PRIMITIVE_TOPOLOGY_13_CONTROL_POINT_PATCHLIST 45 +CONSTANT: D3D11_PRIMITIVE_TOPOLOGY_14_CONTROL_POINT_PATCHLIST 46 +CONSTANT: D3D11_PRIMITIVE_TOPOLOGY_15_CONTROL_POINT_PATCHLIST 47 +CONSTANT: D3D11_PRIMITIVE_TOPOLOGY_16_CONTROL_POINT_PATCHLIST 48 +CONSTANT: D3D11_PRIMITIVE_TOPOLOGY_17_CONTROL_POINT_PATCHLIST 49 +CONSTANT: D3D11_PRIMITIVE_TOPOLOGY_18_CONTROL_POINT_PATCHLIST 50 +CONSTANT: D3D11_PRIMITIVE_TOPOLOGY_19_CONTROL_POINT_PATCHLIST 51 +CONSTANT: D3D11_PRIMITIVE_TOPOLOGY_20_CONTROL_POINT_PATCHLIST 52 +CONSTANT: D3D11_PRIMITIVE_TOPOLOGY_21_CONTROL_POINT_PATCHLIST 53 +CONSTANT: D3D11_PRIMITIVE_TOPOLOGY_22_CONTROL_POINT_PATCHLIST 54 +CONSTANT: D3D11_PRIMITIVE_TOPOLOGY_23_CONTROL_POINT_PATCHLIST 55 +CONSTANT: D3D11_PRIMITIVE_TOPOLOGY_24_CONTROL_POINT_PATCHLIST 56 +CONSTANT: D3D11_PRIMITIVE_TOPOLOGY_25_CONTROL_POINT_PATCHLIST 57 +CONSTANT: D3D11_PRIMITIVE_TOPOLOGY_26_CONTROL_POINT_PATCHLIST 58 +CONSTANT: D3D11_PRIMITIVE_TOPOLOGY_27_CONTROL_POINT_PATCHLIST 59 +CONSTANT: D3D11_PRIMITIVE_TOPOLOGY_28_CONTROL_POINT_PATCHLIST 60 +CONSTANT: D3D11_PRIMITIVE_TOPOLOGY_29_CONTROL_POINT_PATCHLIST 61 +CONSTANT: D3D11_PRIMITIVE_TOPOLOGY_30_CONTROL_POINT_PATCHLIST 62 +CONSTANT: D3D11_PRIMITIVE_TOPOLOGY_31_CONTROL_POINT_PATCHLIST 63 +CONSTANT: D3D11_PRIMITIVE_TOPOLOGY_32_CONTROL_POINT_PATCHLIST 64 +TYPEDEF: int D3D11_PRIMITIVE_TOPOLOGY + +CONSTANT: D3D11_PRIMITIVE_UNDEFINED 0 +CONSTANT: D3D11_PRIMITIVE_POINT 1 +CONSTANT: D3D11_PRIMITIVE_LINE 2 +CONSTANT: D3D11_PRIMITIVE_TRIANGLE 3 +CONSTANT: D3D11_PRIMITIVE_LINE_ADJ 6 +CONSTANT: D3D11_PRIMITIVE_TRIANGLE_ADJ 7 +CONSTANT: D3D11_PRIMITIVE_1_CONTROL_POINT_PATCH 8 +CONSTANT: D3D11_PRIMITIVE_2_CONTROL_POINT_PATCH 9 +CONSTANT: D3D11_PRIMITIVE_3_CONTROL_POINT_PATCH 10 +CONSTANT: D3D11_PRIMITIVE_4_CONTROL_POINT_PATCH 11 +CONSTANT: D3D11_PRIMITIVE_5_CONTROL_POINT_PATCH 12 +CONSTANT: D3D11_PRIMITIVE_6_CONTROL_POINT_PATCH 13 +CONSTANT: D3D11_PRIMITIVE_7_CONTROL_POINT_PATCH 14 +CONSTANT: D3D11_PRIMITIVE_8_CONTROL_POINT_PATCH 15 +CONSTANT: D3D11_PRIMITIVE_9_CONTROL_POINT_PATCH 16 +CONSTANT: D3D11_PRIMITIVE_10_CONTROL_POINT_PATCH 17 +CONSTANT: D3D11_PRIMITIVE_11_CONTROL_POINT_PATCH 18 +CONSTANT: D3D11_PRIMITIVE_12_CONTROL_POINT_PATCH 19 +CONSTANT: D3D11_PRIMITIVE_13_CONTROL_POINT_PATCH 20 +CONSTANT: D3D11_PRIMITIVE_14_CONTROL_POINT_PATCH 21 +CONSTANT: D3D11_PRIMITIVE_15_CONTROL_POINT_PATCH 22 +CONSTANT: D3D11_PRIMITIVE_16_CONTROL_POINT_PATCH 23 +CONSTANT: D3D11_PRIMITIVE_17_CONTROL_POINT_PATCH 24 +CONSTANT: D3D11_PRIMITIVE_18_CONTROL_POINT_PATCH 25 +CONSTANT: D3D11_PRIMITIVE_19_CONTROL_POINT_PATCH 26 +CONSTANT: D3D11_PRIMITIVE_20_CONTROL_POINT_PATCH 27 +CONSTANT: D3D11_PRIMITIVE_21_CONTROL_POINT_PATCH 28 +CONSTANT: D3D11_PRIMITIVE_22_CONTROL_POINT_PATCH 29 +CONSTANT: D3D11_PRIMITIVE_23_CONTROL_POINT_PATCH 30 +CONSTANT: D3D11_PRIMITIVE_24_CONTROL_POINT_PATCH 31 +CONSTANT: D3D11_PRIMITIVE_25_CONTROL_POINT_PATCH 32 +CONSTANT: D3D11_PRIMITIVE_26_CONTROL_POINT_PATCH 33 +CONSTANT: D3D11_PRIMITIVE_27_CONTROL_POINT_PATCH 34 +CONSTANT: D3D11_PRIMITIVE_28_CONTROL_POINT_PATCH 35 +CONSTANT: D3D11_PRIMITIVE_29_CONTROL_POINT_PATCH 36 +CONSTANT: D3D11_PRIMITIVE_30_CONTROL_POINT_PATCH 37 +CONSTANT: D3D11_PRIMITIVE_31_CONTROL_POINT_PATCH 38 +CONSTANT: D3D11_PRIMITIVE_32_CONTROL_POINT_PATCH 39 +TYPEDEF: int D3D11_PRIMITIVE + +CONSTANT: D3D11_CULL_NONE 1 +CONSTANT: D3D11_CULL_FRONT 2 +CONSTANT: D3D11_CULL_BACK 3 +TYPEDEF: int D3D11_CULL_MODE + +STRUCT: D3D11_SO_DECLARATION_ENTRY + { Stream UINT } + { SemanticName LPCSTR } + { SemanticIndex UINT } + { StartComponent BYTE } + { ComponentCount BYTE } + { OutputSlot BYTE } ; + +STRUCT: D3D11_VIEWPORT + { TopLeftX FLOAT } + { TopLeftY FLOAT } + { Width FLOAT } + { Height FLOAT } + { MinDepth FLOAT } + { MaxDepth FLOAT } ; + +CONSTANT: D3D11_RESOURCE_DIMENSION_UNKNOWN 0 +CONSTANT: D3D11_RESOURCE_DIMENSION_BUFFER 1 +CONSTANT: D3D11_RESOURCE_DIMENSION_TEXTURE1D 2 +CONSTANT: D3D11_RESOURCE_DIMENSION_TEXTURE2D 3 +CONSTANT: D3D11_RESOURCE_DIMENSION_TEXTURE3D 4 +TYPEDEF: int D3D11_RESOURCE_DIMENSION + +CONSTANT: D3D11_SRV_DIMENSION_UNKNOWN 0 +CONSTANT: D3D11_SRV_DIMENSION_BUFFER 1 +CONSTANT: D3D11_SRV_DIMENSION_TEXTURE1D 2 +CONSTANT: D3D11_SRV_DIMENSION_TEXTURE1DARRAY 3 +CONSTANT: D3D11_SRV_DIMENSION_TEXTURE2D 4 +CONSTANT: D3D11_SRV_DIMENSION_TEXTURE2DARRAY 5 +CONSTANT: D3D11_SRV_DIMENSION_TEXTURE2DMS 6 +CONSTANT: D3D11_SRV_DIMENSION_TEXTURE2DMSARRAY 7 +CONSTANT: D3D11_SRV_DIMENSION_TEXTURE3D 8 +CONSTANT: D3D11_SRV_DIMENSION_TEXTURECUBE 9 +CONSTANT: D3D11_SRV_DIMENSION_TEXTURECUBEARRAY 10 +CONSTANT: D3D11_SRV_DIMENSION_BUFFEREX 11 +TYPEDEF: int D3D11_SRV_DIMENSION + +CONSTANT: D3D11_DSV_DIMENSION_UNKNOWN 0 +CONSTANT: D3D11_DSV_DIMENSION_TEXTURE1D 1 +CONSTANT: D3D11_DSV_DIMENSION_TEXTURE1DARRAY 2 +CONSTANT: D3D11_DSV_DIMENSION_TEXTURE2D 3 +CONSTANT: D3D11_DSV_DIMENSION_TEXTURE2DARRAY 4 +CONSTANT: D3D11_DSV_DIMENSION_TEXTURE2DMS 5 +CONSTANT: D3D11_DSV_DIMENSION_TEXTURE2DMSARRAY 6 +TYPEDEF: int D3D11_DSV_DIMENSION + +CONSTANT: D3D11_RTV_DIMENSION_UNKNOWN 0 +CONSTANT: D3D11_RTV_DIMENSION_BUFFER 1 +CONSTANT: D3D11_RTV_DIMENSION_TEXTURE1D 2 +CONSTANT: D3D11_RTV_DIMENSION_TEXTURE1DARRAY 3 +CONSTANT: D3D11_RTV_DIMENSION_TEXTURE2D 4 +CONSTANT: D3D11_RTV_DIMENSION_TEXTURE2DARRAY 5 +CONSTANT: D3D11_RTV_DIMENSION_TEXTURE2DMS 6 +CONSTANT: D3D11_RTV_DIMENSION_TEXTURE2DMSARRAY 7 +CONSTANT: D3D11_RTV_DIMENSION_TEXTURE3D 8 +TYPEDEF: int D3D11_RTV_DIMENSION + +CONSTANT: D3D11_UAV_DIMENSION_UNKNOWN 0 +CONSTANT: D3D11_UAV_DIMENSION_BUFFER 1 +CONSTANT: D3D11_UAV_DIMENSION_TEXTURE1D 2 +CONSTANT: D3D11_UAV_DIMENSION_TEXTURE1DARRAY 3 +CONSTANT: D3D11_UAV_DIMENSION_TEXTURE2D 4 +CONSTANT: D3D11_UAV_DIMENSION_TEXTURE2DARRAY 5 +CONSTANT: D3D11_UAV_DIMENSION_TEXTURE3D 8 +TYPEDEF: int D3D11_UAV_DIMENSION + +CONSTANT: D3D11_USAGE_DEFAULT 0 +CONSTANT: D3D11_USAGE_IMMUTABLE 1 +CONSTANT: D3D11_USAGE_DYNAMIC 2 +CONSTANT: D3D11_USAGE_STAGING 3 +TYPEDEF: int D3D11_USAGE + +CONSTANT: D3D11_BIND_VERTEX_BUFFER 1 +CONSTANT: D3D11_BIND_INDEX_BUFFER 2 +CONSTANT: D3D11_BIND_CONSTANT_BUFFER 4 +CONSTANT: D3D11_BIND_SHADER_RESOURCE 8 +CONSTANT: D3D11_BIND_STREAM_OUTPUT 16 +CONSTANT: D3D11_BIND_RENDER_TARGET 32 +CONSTANT: D3D11_BIND_DEPTH_STENCIL 64 +CONSTANT: D3D11_BIND_UNORDERED_ACCESS 128 +TYPEDEF: int D3D11_BIND_FLAG + +CONSTANT: D3D11_CPU_ACCESS_WRITE HEX: 10000 +CONSTANT: D3D11_CPU_ACCESS_READ HEX: 20000 +TYPEDEF: int D3D11_CPU_ACCESS_FLAG + +CONSTANT: D3D11_RESOURCE_MISC_GENERATE_MIPS 1 +CONSTANT: D3D11_RESOURCE_MISC_SHARED 2 +CONSTANT: D3D11_RESOURCE_MISC_TEXTURECUBE 4 +CONSTANT: D3D11_RESOURCE_MISC_DRAWINDIRECT_ARGS 16 +CONSTANT: D3D11_RESOURCE_MISC_BUFFER_ALLOW_RAW_VIEWS 32 +CONSTANT: D3D11_RESOURCE_MISC_BUFFER_STRUCTURED 64 +CONSTANT: D3D11_RESOURCE_MISC_RESOURCE_CLAMP 128 +CONSTANT: D3D11_RESOURCE_MISC_SHARED_KEYEDMUTEX 256 +CONSTANT: D3D11_RESOURCE_MISC_GDI_COMPATIBLE 512 +TYPEDEF: int D3D11_RESOURCE_MISC_FLAG + +CONSTANT: D3D11_MAP_READ 1 +CONSTANT: D3D11_MAP_WRITE 2 +CONSTANT: D3D11_MAP_READ_WRITE 3 +CONSTANT: D3D11_MAP_WRITE_DISCARD 4 +CONSTANT: D3D11_MAP_WRITE_NO_OVERWRITE 5 +TYPEDEF: int D3D11_MAP + +CONSTANT: D3D11_MAP_FLAG_DO_NOT_WAIT HEX: 100000 +TYPEDEF: int D3D11_MAP_FLAG + +CONSTANT: D3D11_RAISE_FLAG_DRIVER_INTERNAL_ERROR 1 +TYPEDEF: int D3D11_RAISE_FLAG + +CONSTANT: D3D11_CLEAR_DEPTH 1 +CONSTANT: D3D11_CLEAR_STENCIL 2 +TYPEDEF: int D3D11_CLEAR_FLAG + +TYPEDEF: RECT D3D11_RECT + +STRUCT: D3D11_BOX + { left UINT } + { top UINT } + { front UINT } + { right UINT } + { bottom UINT } + { back UINT } ; + +COM-INTERFACE: ID3D11DeviceChild IUnknown {1841e5c8-16b0-489b-bcc8-44cfb0d5deae} + void GetDevice ( ID3D11Device** ppDevice ) + HRESULT GetPrivateData ( REFGUID guid, UINT* pDataSize, void* pData ) + HRESULT SetPrivateData ( REFGUID guid, UINT DataSize, void* pData ) + HRESULT SetPrivateDataInterface ( REFGUID guid, IUnknown* pData ) ; + +CONSTANT: D3D11_COMPARISON_NEVER 1 +CONSTANT: D3D11_COMPARISON_LESS 2 +CONSTANT: D3D11_COMPARISON_EQUAL 3 +CONSTANT: D3D11_COMPARISON_LESS_EQUAL 4 +CONSTANT: D3D11_COMPARISON_GREATER 5 +CONSTANT: D3D11_COMPARISON_NOT_EQUAL 6 +CONSTANT: D3D11_COMPARISON_GREATER_EQUAL 7 +CONSTANT: D3D11_COMPARISON_ALWAYS 8 +TYPEDEF: int D3D11_COMPARISON_FUNC + +CONSTANT: D3D11_DEPTH_WRITE_MASK_ZERO 0 +CONSTANT: D3D11_DEPTH_WRITE_MASK_ALL 1 +TYPEDEF: int D3D11_DEPTH_WRITE_MASK + +CONSTANT: D3D11_STENCIL_OP_KEEP 1 +CONSTANT: D3D11_STENCIL_OP_ZERO 2 +CONSTANT: D3D11_STENCIL_OP_REPLACE 3 +CONSTANT: D3D11_STENCIL_OP_INCR_SAT 4 +CONSTANT: D3D11_STENCIL_OP_DECR_SAT 5 +CONSTANT: D3D11_STENCIL_OP_INVERT 6 +CONSTANT: D3D11_STENCIL_OP_INCR 7 +CONSTANT: D3D11_STENCIL_OP_DECR 8 +TYPEDEF: int D3D11_STENCIL_OP + +STRUCT: D3D11_DEPTH_STENCILOP_DESC + { StencilFailOp D3D11_STENCIL_OP } + { StencilDepthFailOp D3D11_STENCIL_OP } + { StencilPassOp D3D11_STENCIL_OP } + { StencilFunc D3D11_COMPARISON_FUNC } ; + +STRUCT: D3D11_DEPTH_STENCIL_DESC + { DepthEnable BOOL } + { DepthWriteMask D3D11_DEPTH_WRITE_MASK } + { DepthFunc D3D11_COMPARISON_FUNC } + { StencilEnable BOOL } + { StencilReadMask BYTE } + { StencilWriteMask BYTE } + { FrontFace D3D11_DEPTH_STENCILOP_DESC } + { BackFace D3D11_DEPTH_STENCILOP_DESC } ; + +COM-INTERFACE: ID3D11DepthStencilState ID3D11DeviceChild {03823efb-8d8f-4e1c-9aa2-f64bb2cbfdf1} + void GetDesc ( D3D11_DEPTH_STENCIL_DESC* pDesc ) ; + +CONSTANT: D3D11_BLEND_ZERO 1 +CONSTANT: D3D11_BLEND_ONE 2 +CONSTANT: D3D11_BLEND_SRC_COLOR 3 +CONSTANT: D3D11_BLEND_INV_SRC_COLOR 4 +CONSTANT: D3D11_BLEND_SRC_ALPHA 5 +CONSTANT: D3D11_BLEND_INV_SRC_ALPHA 6 +CONSTANT: D3D11_BLEND_DEST_ALPHA 7 +CONSTANT: D3D11_BLEND_INV_DEST_ALPHA 8 +CONSTANT: D3D11_BLEND_DEST_COLOR 9 +CONSTANT: D3D11_BLEND_INV_DEST_COLOR 10 +CONSTANT: D3D11_BLEND_SRC_ALPHA_SAT 11 +CONSTANT: D3D11_BLEND_BLEND_FACTOR 14 +CONSTANT: D3D11_BLEND_INV_BLEND_FACTOR 15 +CONSTANT: D3D11_BLEND_SRC1_COLOR 16 +CONSTANT: D3D11_BLEND_INV_SRC1_COLOR 17 +CONSTANT: D3D11_BLEND_SRC1_ALPHA 18 +CONSTANT: D3D11_BLEND_INV_SRC1_ALPHA 19 +TYPEDEF: int D3D11_BLEND + +CONSTANT: D3D11_BLEND_OP_ADD 1 +CONSTANT: D3D11_BLEND_OP_SUBTRACT 2 +CONSTANT: D3D11_BLEND_OP_REV_SUBTRACT 3 +CONSTANT: D3D11_BLEND_OP_MIN 4 +CONSTANT: D3D11_BLEND_OP_MAX 5 +TYPEDEF: int D3D11_BLEND_OP + +CONSTANT: D3D11_COLOR_WRITE_ENABLE_RED 1 +CONSTANT: D3D11_COLOR_WRITE_ENABLE_GREEN 2 +CONSTANT: D3D11_COLOR_WRITE_ENABLE_BLUE 4 +CONSTANT: D3D11_COLOR_WRITE_ENABLE_ALPHA 8 +CONSTANT: D3D11_COLOR_WRITE_ENABLE_ALL 15 +TYPEDEF: int D3D11_COLOR_WRITE_ENABLE + +STRUCT: D3D11_RENDER_TARGET_BLEND_DESC + { BlendEnable BOOL } + { SrcBlend D3D11_BLEND } + { DestBlend D3D11_BLEND } + { BlendOp D3D11_BLEND_OP } + { SrcBlendAlpha D3D11_BLEND } + { DestBlendAlpha D3D11_BLEND } + { BlendOpAlpha D3D11_BLEND_OP } + { RenderTargetWriteMask BYTE } ; + +STRUCT: D3D11_BLEND_DESC + { AlphaToCoverageEnable BOOL } + { IndependentBlendEnable BOOL } + { RenderTarget D3D11_RENDER_TARGET_BLEND_DESC[8] } ; + +COM-INTERFACE: ID3D11BlendState ID3D11DeviceChild 75b68faa-347d-4159-8f45-a0640f01cd9a + void GetDesc ( D3D11_BLEND_DESC* pDesc ) ; + +STRUCT: D3D11_RASTERIZER_DESC + { FillMode D3D11_FILL_MODE } + { CullMode D3D11_CULL_MODE } + { FrontCounterClockwise BOOL } + { DepthBias INT } + { DepthBiasClamp FLOAT } + { SlopeScaledDepthBias FLOAT } + { DepthClipEnable BOOL } + { ScissorEnable BOOL } + { MultisampleEnable BOOL } + { AntialiasedLineEnable BOOL } ; + +COM-INTERFACE: ID3D11RasterizerState ID3D11DeviceChild {9bb4ab81-ab1a-4d8f-b506-fc04200b6ee7} + void GetDesc ( D3D11_RASTERIZER_DESC* pDesc ) ; + +STRUCT: D3D11_SUBRESOURCE_DATA + { pSysMem void* } + { SysMemPitch UINT } + { SysMemSlicePitch UINT } ; + +STRUCT: D3D11_MAPPED_SUBRESOURCE + { pData void* } + { RowPitch UINT } + { DepthPitch UINT } ; + +COM-INTERFACE: ID3D11Resource ID3D11DeviceChild {dc8e63f3-d12b-4952-b47b-5e45026a862d} + void GetType ( D3D11_RESOURCE_DIMENSION* pResourceDimension ) + void SetEvictionPriority ( UINT EvictionPriority ) + UINT GetEvictionPriority ( ) ; + +STRUCT: D3D11_BUFFER_DESC + { ByteWidth UINT } + { Usage D3D11_USAGE } + { BindFlags UINT } + { CPUAccessFlags UINT } + { MiscFlags UINT } + { StructureByteStride UINT } ; + +COM-INTERFACE: ID3D11Buffer ID3D11Resource {48570b85-d1ee-4fcd-a250-eb350722b037} + void GetDesc ( D3D11_BUFFER_DESC* pDesc ) ; + +STRUCT: D3D11_TEXTURE1D_DESC + { Width UINT } + { MipLevels UINT } + { ArraySize UINT } + { Format DXGI_FORMAT } + { Usage D3D11_USAGE } + { BindFlags UINT } + { CPUAccessFlags UINT } + { MiscFlags UINT } ; + +COM-INTERFACE: ID3D11Texture1D ID3D11Resource {f8fb5c27-c6b3-4f75-a4c8-439af2ef564c} + void GetDesc ( D3D11_TEXTURE1D_DESC* pDesc ) ; + +STRUCT: D3D11_TEXTURE2D_DESC + { Width UINT } + { Height UINT } + { MipLevels UINT } + { ArraySize UINT } + { Format DXGI_FORMAT } + { SampleDesc DXGI_SAMPLE_DESC } + { Usage D3D11_USAGE } + { BindFlags UINT } + { CPUAccessFlags UINT } + { MiscFlags UINT } ; + +COM-INTERFACE: ID3D11Texture2D ID3D11Resource {6f15aaf2-d208-4e89-9ab4-489535d34f9c} + void GetDesc ( D3D11_TEXTURE2D_DESC* pDesc ) ; + +STRUCT: D3D11_TEXTURE3D_DESC + { Width UINT } + { Height UINT } + { Depth UINT } + { MipLevels UINT } + { Format DXGI_FORMAT } + { Usage D3D11_USAGE } + { BindFlags UINT } + { CPUAccessFlags UINT } + { MiscFlags UINT } ; + +COM-INTERFACE: ID3D11Texture3D ID3D11Resource {037e866e-f56d-4357-a8af-9dabbe6e250e} + void GetDesc ( D3D11_TEXTURE3D_DESC* pDesc ) ; + +CONSTANT: D3D11_TEXTURECUBE_FACE_POSITIVE_X 0 +CONSTANT: D3D11_TEXTURECUBE_FACE_NEGATIVE_X 1 +CONSTANT: D3D11_TEXTURECUBE_FACE_POSITIVE_Y 2 +CONSTANT: D3D11_TEXTURECUBE_FACE_NEGATIVE_Y 3 +CONSTANT: D3D11_TEXTURECUBE_FACE_POSITIVE_Z 4 +CONSTANT: D3D11_TEXTURECUBE_FACE_NEGATIVE_Z 5 +TYPEDEF: int D3D11_TEXTURECUBE_FACE + +COM-INTERFACE: ID3D11View ID3D11DeviceChild {839d1216-bb2e-412b-b7f4-a9dbebe08ed1} + void GetResource ( ID3D11Resource** ppResource ) ; + +UNION-STRUCT: D3D11_BUFFER_SRV_UNION1 + { FirstElement UINT } + { ElementOffset UINT } ; + +UNION-STRUCT: D3D11_BUFFER_SRV_UNION2 + { NumElements UINT } + { ElementWith UINT } ; + +STRUCT: D3D11_BUFFER_SRV + { First D3D11_BUFFER_SRV_UNION1 } + { Second D3D11_BUFFER_SRV_UNION2 } ; + +CONSTANT: D3D11_BUFFEREX_SRV_FLAG_RAW 1 +TYPEDEF: int D3D11_BUFFEREX_SRV_FLAG + +STRUCT: D3D11_BUFFEREX_SRV + { FirstElement UINT } + { NumElements UINT } + { Flags UINT } ; + +STRUCT: D3D11_TEX1D_SRV + { MostDetailedMip UINT } + { MipLevels UINT } ; + +STRUCT: D3D11_TEX1D_ARRAY_SRV + { MostDetailedMip UINT } + { MipLevels UINT } + { FirstArraySlice UINT } + { ArraySize UINT } ; + +STRUCT: D3D11_TEX2D_SRV + { MostDetailedMip UINT } + { MipLevels UINT } ; + +STRUCT: D3D11_TEX2D_ARRAY_SRV + { MostDetailedMip UINT } + { MipLevels UINT } + { FirstArraySlice UINT } + { ArraySize UINT } ; + +STRUCT: D3D11_TEX3D_SRV + { MostDetailedMip UINT } + { MipLevels UINT } ; + +STRUCT: D3D11_TEXCUBE_SRV + { MostDetailedMip UINT } + { MipLevels UINT } ; + +STRUCT: D3D11_TEXCUBE_ARRAY_SRV + { MostDetailedMip UINT } + { MipLevels UINT } + { First2DArrayFace UINT } + { NumCubes UINT } ; + +STRUCT: D3D11_TEX2DMS_SRV + { UnusedField_NothingToDefine UINT } ; + +STRUCT: D3D11_TEX2DMS_ARRAY_SRV + { FirstArraySlice UINT } + { ArraySize UINT } ; + +UNION-STRUCT: D3D11_SHADER_RESOURCE_VIEW_DESC_UNION + { Buffer D3D11_BUFFER_SRV } + { Texture1D D3D11_TEX1D_SRV } + { Texture1DArray D3D11_TEX1D_ARRAY_SRV } + { Texture2D D3D11_TEX2D_SRV } + { Texture2DArray D3D11_TEX2D_ARRAY_SRV } + { Texture2DMS D3D11_TEX2DMS_SRV } + { Texture2DMSArray D3D11_TEX2DMS_ARRAY_SRV } + { Texture3D D3D11_TEX3D_SRV } + { TextureCube D3D11_TEXCUBE_SRV } + { TextureCubeArray D3D11_TEXCUBE_ARRAY_SRV } + { BufferEx D3D11_BUFFEREX_SRV } ; + +STRUCT: D3D11_SHADER_RESOURCE_VIEW_DESC + { Format DXGI_FORMAT } + { ViewDimension D3D11_SRV_DIMENSION } + { View D3D11_SHADER_RESOURCE_VIEW_DESC_UNION } ; + +COM-INTERFACE: ID3D11ShaderResourceView ID3D11View {b0e06fe0-8192-4e1a-b1ca-36d7414710b2} + void GetDesc ( D3D11_SHADER_RESOURCE_VIEW_DESC* pDesc ) ; + +UNION-STRUCT: D3D11_BUFFER_RTV_UNION1 + { FirstElement UINT } + { ElementOffset UINT } ; + +UNION-STRUCT: D3D11_BUFFER_RTV_UNION2 + { NumElements UINT } + { ElementWidth UINT } ; + +STRUCT: D3D11_BUFFER_RTV + { First D3D11_BUFFER_RTV_UNION1 } + { Second D3D11_BUFFER_RTV_UNION2 } ; + +STRUCT: D3D11_TEX1D_RTV + { MipSlice UINT } ; + +STRUCT: D3D11_TEX1D_ARRAY_RTV + { MipSlice UINT } + { FirstArraySlice UINT } + { ArraySize UINT } ; + +STRUCT: D3D11_TEX2D_RTV + { MipSlice UINT } ; + +STRUCT: D3D11_TEX2DMS_RTV + { UnusedField_NothingToDefine UINT } ; + +STRUCT: D3D11_TEX2D_ARRAY_RTV + { MipSlice UINT } + { FirstArraySlice UINT } + { ArraySize UINT } ; + +STRUCT: D3D11_TEX2DMS_ARRAY_RTV + { FirstArraySlice UINT } + { ArraySize UINT } ; + +STRUCT: D3D11_TEX3D_RTV + { MipSlice UINT } + { FirstWSlice UINT } + { WSize UINT } ; + +UNION-STRUCT: D3D11_RENDER_TARGET_VIEW_DESC_UNION + { Buffer D3D11_BUFFER_RTV } + { Texture1D D3D11_TEX1D_RTV } + { Texture1DArray D3D11_TEX1D_ARRAY_RTV } + { Texture2D D3D11_TEX2D_RTV } + { Texture2DArray D3D11_TEX2D_ARRAY_RTV } + { Texture2DMS D3D11_TEX2DMS_RTV } + { Texture2DMSArray D3D11_TEX2DMS_ARRAY_RTV } + { Texture3D D3D11_TEX3D_RTV } ; + +STRUCT: D3D11_RENDER_TARGET_VIEW_DESC + { Format DXGI_FORMAT } + { ViewDimension D3D11_RTV_DIMENSION } + { View D3D11_RENDER_TARGET_VIEW_DESC_UNION } ; + +COM-INTERFACE: ID3D11RenderTargetView ID3D11View {dfdba067-0b8d-4865-875b-d7b4516cc164} + void GetDesc ( D3D11_RENDER_TARGET_VIEW_DESC* pDesc ) ; + +STRUCT: D3D11_TEX1D_DSV + { MipSlice UINT } ; + +STRUCT: D3D11_TEX1D_ARRAY_DSV + { MipSlice UINT } + { FirstArraySlice UINT } + { ArraySize UINT } ; + +STRUCT: D3D11_TEX2D_DSV + { MipSlice UINT } ; + +STRUCT: D3D11_TEX2D_ARRAY_DSV + { MipSlice UINT } + { FirstArraySlice UINT } + { ArraySize UINT } ; + +STRUCT: D3D11_TEX2DMS_DSV + { UnusedField_NothingToDefine UINT } ; + +STRUCT: D3D11_TEX2DMS_ARRAY_DSV + { FirstArraySlice UINT } + { ArraySize UINT } ; + +CONSTANT: D3D11_DSV_READ_ONLY_DEPTH 1 +CONSTANT: D3D11_DSV_READ_ONLY_STENCIL 2 +TYPEDEF: int D3D11_DSV_FLAG + +UNION-STRUCT: D3D11_DEPTH_STENCIL_VIEW_DESC_UNION + { Texture1D D3D11_TEX1D_DSV } + { Texture1DArray D3D11_TEX1D_ARRAY_DSV } + { Texture2D D3D11_TEX2D_DSV } + { Texture2DArray D3D11_TEX2D_ARRAY_DSV } + { Texture2DMS D3D11_TEX2DMS_DSV } + { Texture2DMSArray D3D11_TEX2DMS_ARRAY_DSV } ; + +STRUCT: D3D11_DEPTH_STENCIL_VIEW_DESC + { Format DXGI_FORMAT } + { ViewDimension D3D11_DSV_DIMENSION } + { Flags UINT } + { View D3D11_DEPTH_STENCIL_VIEW_DESC_UNION } ; + +COM-INTERFACE: ID3D11DepthStencilView ID3D11View {9fdac92a-1876-48c3-afad-25b94f84a9b6} + void GetDesc ( D3D11_DEPTH_STENCIL_VIEW_DESC* pDesc ) ; + +CONSTANT: D3D11_BUFFER_UAV_FLAG_RAW 1 +CONSTANT: D3D11_BUFFER_UAV_FLAG_APPEND 2 +CONSTANT: D3D11_BUFFER_UAV_FLAG_COUNTER 4 +TYPEDEF: int D3D11_BUFFER_UAV_FLAG + +STRUCT: D3D11_BUFFER_UAV + { FirstElement UINT } + { NumElements UINT } + { Flags UINT } ; + +STRUCT: D3D11_TEX1D_UAV + { MipSlice UINT } ; + +STRUCT: D3D11_TEX1D_ARRAY_UAV + { MipSlice UINT } + { FirstArraySlice UINT } + { ArraySize UINT } ; + +STRUCT: D3D11_TEX2D_UAV + { MipSlice UINT } ; + +STRUCT: D3D11_TEX2D_ARRAY_UAV + { MipSlice UINT } + { FirstArraySlice UINT } + { ArraySize UINT } ; + +STRUCT: D3D11_TEX3D_UAV + { MipSlice UINT } + { FirstWSlice UINT } + { WSize UINT } ; + +UNION-STRUCT: D3D11_UNORDERED_ACCESS_VIEW_DESC_UNION + { Buffer D3D11_BUFFER_UAV } + { Texture1D D3D11_TEX1D_UAV } + { Texture1DArray D3D11_TEX1D_ARRAY_UAV } + { Texture2D D3D11_TEX2D_UAV } + { Texture2DArray D3D11_TEX2D_ARRAY_UAV } + { Texture3D D3D11_TEX3D_UAV } ; + +STRUCT: D3D11_UNORDERED_ACCESS_VIEW_DESC + { Format DXGI_FORMAT } + { ViewDimension D3D11_UAV_DIMENSION } + { View D3D11_UNORDERED_ACCESS_VIEW_DESC_UNION } ; + + +COM-INTERFACE: ID3D11UnorderedAccessView ID3D11View {28acf509-7f5c-48f6-8611-f316010a6380} + void GetDesc ( D3D11_UNORDERED_ACCESS_VIEW_DESC* pDesc ) ; + +COM-INTERFACE: ID3D11VertexShader ID3D11DeviceChild {3b301d64-d678-4289-8897-22f8928b72f3} ; + +COM-INTERFACE: ID3D11HullShader ID3D11DeviceChild {8e5c6061-628a-4c8e-8264-bbe45cb3d5dd} ; + +COM-INTERFACE: ID3D11DomainShader ID3D11DeviceChild {f582c508-0f36-490c-9977-31eece268cfa} ; + +COM-INTERFACE: ID3D11GeometryShader ID3D11DeviceChild {38325b96-effb-4022-ba02-2e795b70275c} ; + +COM-INTERFACE: ID3D11PixelShader ID3D11DeviceChild {ea82e40d-51dc-4f33-93d4-db7c9125ae8c} ; + +COM-INTERFACE: ID3D11ComputeShader ID3D11DeviceChild {4f5b196e-c2bd-495e-bd01-1fded38e4969} ; + +COM-INTERFACE: ID3D11InputLayout ID3D11DeviceChild {e4819ddc-4cf0-4025-bd26-5de82a3e07b7} ; + +CONSTANT: D3D11_FILTER_MIN_MAG_MIP_POINT HEX: 0 +CONSTANT: D3D11_FILTER_MIN_MAG_POINT_MIP_LINEAR HEX: 1 +CONSTANT: D3D11_FILTER_MIN_POINT_MAG_LINEAR_MIP_POINT HEX: 4 +CONSTANT: D3D11_FILTER_MIN_POINT_MAG_MIP_LINEAR HEX: 5 +CONSTANT: D3D11_FILTER_MIN_LINEAR_MAG_MIP_POINT HEX: 10 +CONSTANT: D3D11_FILTER_MIN_LINEAR_MAG_POINT_MIP_LINEAR HEX: 11 +CONSTANT: D3D11_FILTER_MIN_MAG_LINEAR_MIP_POINT HEX: 14 +CONSTANT: D3D11_FILTER_MIN_MAG_MIP_LINEAR HEX: 15 +CONSTANT: D3D11_FILTER_ANISOTROPIC HEX: 55 +CONSTANT: D3D11_FILTER_COMPARISON_MIN_MAG_MIP_POINT HEX: 80 +CONSTANT: D3D11_FILTER_COMPARISON_MIN_MAG_POINT_MIP_LINEAR HEX: 81 +CONSTANT: D3D11_FILTER_COMPARISON_MIN_POINT_MAG_LINEAR_MIP_POINT HEX: 84 +CONSTANT: D3D11_FILTER_COMPARISON_MIN_POINT_MAG_MIP_LINEAR HEX: 85 +CONSTANT: D3D11_FILTER_COMPARISON_MIN_LINEAR_MAG_MIP_POINT HEX: 90 +CONSTANT: D3D11_FILTER_COMPARISON_MIN_LINEAR_MAG_POINT_MIP_LINEAR HEX: 91 +CONSTANT: D3D11_FILTER_COMPARISON_MIN_MAG_LINEAR_MIP_POINT HEX: 94 +CONSTANT: D3D11_FILTER_COMPARISON_MIN_MAG_MIP_LINEAR HEX: 95 +CONSTANT: D3D11_FILTER_COMPARISON_ANISOTROPIC HEX: d5 +TYPEDEF: int D3D11_FILTER + +CONSTANT: D3D11_FILTER_TYPE_POINT 0 +CONSTANT: D3D11_FILTER_TYPE_LINEAR 1 +TYPEDEF: int D3D11_FILTER_TYPE; + +CONSTANT: D3D11_FILTER_TYPE_MASK 3 +CONSTANT: D3D11_MIN_FILTER_SHIFT 4 +CONSTANT: D3D11_MAG_FILTER_SHIFT 2 +CONSTANT: D3D11_MIP_FILTER_SHIFT 0 +CONSTANT: D3D11_COMPARISON_FILTERING_BIT HEX: 80 +CONSTANT: D3D11_ANISOTROPIC_FILTERING_BIT HEX: 40 + +CONSTANT: D3D11_TEXTURE_ADDRESS_WRAP 1 +CONSTANT: D3D11_TEXTURE_ADDRESS_MIRROR 2 +CONSTANT: D3D11_TEXTURE_ADDRESS_CLAMP 3 +CONSTANT: D3D11_TEXTURE_ADDRESS_BORDER 4 +CONSTANT: D3D11_TEXTURE_ADDRESS_MIRROR_ONCE 5 +TYPEDEF: int D3D11_TEXTURE_ADDRESS_MODE + +STRUCT: D3D11_SAMPLER_DESC + { Filter D3D11_FILTER } + { AddressU D3D11_TEXTURE_ADDRESS_MODE } + { AddressV D3D11_TEXTURE_ADDRESS_MODE } + { AddressW D3D11_TEXTURE_ADDRESS_MODE } + { MipLODBias FLOAT } + { MaxAnisotropy UINT } + { ComparisonFunc D3D11_COMPARISON_FUNC } + { BorderColor FLOAT[4] } + { MinLOD FLOAT } + { MaxLOD FLOAT } ; + +COM-INTERFACE: ID3D11SamplerState ID3D11DeviceChild {da6fea51-564c-4487-9810-f0d0f9b4e3a5} + void GetDesc ( D3D11_SAMPLER_DESC* pDesc ) ; + +CONSTANT: D3D11_FORMAT_SUPPORT_BUFFER HEX: 1 +CONSTANT: D3D11_FORMAT_SUPPORT_IA_VERTEX_BUFFER HEX: 2 +CONSTANT: D3D11_FORMAT_SUPPORT_IA_INDEX_BUFFER HEX: 4 +CONSTANT: D3D11_FORMAT_SUPPORT_SO_BUFFER HEX: 8 +CONSTANT: D3D11_FORMAT_SUPPORT_TEXTURE1D HEX: 10 +CONSTANT: D3D11_FORMAT_SUPPORT_TEXTURE2D HEX: 20 +CONSTANT: D3D11_FORMAT_SUPPORT_TEXTURE3D HEX: 40 +CONSTANT: D3D11_FORMAT_SUPPORT_TEXTURECUBE HEX: 80 +CONSTANT: D3D11_FORMAT_SUPPORT_SHADER_LOAD HEX: 100 +CONSTANT: D3D11_FORMAT_SUPPORT_SHADER_SAMPLE HEX: 200 +CONSTANT: D3D11_FORMAT_SUPPORT_SHADER_SAMPLE_COMPARISON HEX: 400 +CONSTANT: D3D11_FORMAT_SUPPORT_SHADER_SAMPLE_MONO_TEXT HEX: 800 +CONSTANT: D3D11_FORMAT_SUPPORT_MIP HEX: 1000 +CONSTANT: D3D11_FORMAT_SUPPORT_MIP_AUTOGEN HEX: 2000 +CONSTANT: D3D11_FORMAT_SUPPORT_RENDER_TARGET HEX: 4000 +CONSTANT: D3D11_FORMAT_SUPPORT_BLENDABLE HEX: 8000 +CONSTANT: D3D11_FORMAT_SUPPORT_DEPTH_STENCIL HEX: 10000 +CONSTANT: D3D11_FORMAT_SUPPORT_CPU_LOCKABLE HEX: 20000 +CONSTANT: D3D11_FORMAT_SUPPORT_MULTISAMPLE_RESOLVE HEX: 40000 +CONSTANT: D3D11_FORMAT_SUPPORT_DISPLAY HEX: 80000 +CONSTANT: D3D11_FORMAT_SUPPORT_CAST_WITHIN_BIT_LAYOUT HEX: 100000 +CONSTANT: D3D11_FORMAT_SUPPORT_MULTISAMPLE_RENDERTARGET HEX: 200000 +CONSTANT: D3D11_FORMAT_SUPPORT_MULTISAMPLE_LOAD HEX: 400000 +CONSTANT: D3D11_FORMAT_SUPPORT_SHADER_GATHER HEX: 800000 +CONSTANT: D3D11_FORMAT_SUPPORT_BACK_BUFFER_CAST HEX: 1000000 +CONSTANT: D3D11_FORMAT_SUPPORT_TYPED_UNORDERED_ACCESS_VIEW HEX: 2000000 +CONSTANT: D3D11_FORMAT_SUPPORT_SHADER_GATHER_COMPARISON HEX: 4000000 +TYPEDEF: int D3D11_FORMAT_SUPPORT + +CONSTANT: D3D11_FORMAT_SUPPORT2_UAV_ATOMIC_ADD HEX: 1 +CONSTANT: D3D11_FORMAT_SUPPORT2_UAV_ATOMIC_BITWISE_OPS HEX: 2 +CONSTANT: D3D11_FORMAT_SUPPORT2_UAV_ATOMIC_COMPARE_STORE_OR_COMPARE_EXCHANGE HEX: 4 +CONSTANT: D3D11_FORMAT_SUPPORT2_UAV_ATOMIC_EXCHANGE HEX: 8 +CONSTANT: D3D11_FORMAT_SUPPORT2_UAV_ATOMIC_SIGNED_MIN_OR_MAX HEX: 10 +CONSTANT: D3D11_FORMAT_SUPPORT2_UAV_ATOMIC_UNSIGNED_MIN_OR_MAX HEX: 20 +CONSTANT: D3D11_FORMAT_SUPPORT2_UAV_TYPED_LOAD HEX: 40 +CONSTANT: D3D11_FORMAT_SUPPORT2_UAV_TYPED_STORE HEX: 80 +TYPEDEF: int D3D11_FORMAT_SUPPORT2 + +COM-INTERFACE: ID3D11Asynchronous ID3D11DeviceChild {4b35d0cd-1e15-4258-9c98-1b1333f6dd3b} + UINT GetDataSize ( ) ; + +CONSTANT: D3D11_ASYNC_GETDATA_DONOTFLUSH 1 +TYPEDEF: int D3D11_ASYNC_GETDATA_FLAG + +CONSTANT: D3D11_QUERY_EVENT 0 +CONSTANT: D3D11_QUERY_OCCLUSION 1 +CONSTANT: D3D11_QUERY_TIMESTAMP 2 +CONSTANT: D3D11_QUERY_TIMESTAMP_DISJOINT 3 +CONSTANT: D3D11_QUERY_PIPELINE_STATISTICS 4 +CONSTANT: D3D11_QUERY_OCCLUSION_PREDICATE 5 +CONSTANT: D3D11_QUERY_SO_STATISTICS 6 +CONSTANT: D3D11_QUERY_SO_OVERFLOW_PREDICATE 7 +CONSTANT: D3D11_QUERY_SO_STATISTICS_STREAM0 8 +CONSTANT: D3D11_QUERY_SO_OVERFLOW_PREDICATE_STREAM0 9 +CONSTANT: D3D11_QUERY_SO_STATISTICS_STREAM1 10 +CONSTANT: D3D11_QUERY_SO_OVERFLOW_PREDICATE_STREAM1 11 +CONSTANT: D3D11_QUERY_SO_STATISTICS_STREAM2 12 +CONSTANT: D3D11_QUERY_SO_OVERFLOW_PREDICATE_STREAM2 13 +CONSTANT: D3D11_QUERY_SO_STATISTICS_STREAM3 14 +CONSTANT: D3D11_QUERY_SO_OVERFLOW_PREDICATE_STREAM3 15 +TYPEDEF: int D3D11_QUERY + +CONSTANT: D3D11_QUERY_MISC_PREDICATEHINT 1 +TYPEDEF: int D3D11_QUERY_MISC_FLAG + +STRUCT: D3D11_QUERY_DESC + { Query D3D11_QUERY } + { MiscFlags UINT } ; + +COM-INTERFACE: ID3D11Query ID3D11Asynchronous {d6c00747-87b7-425e-b84d-44d108560afd} + void GetDesc ( D3D11_QUERY_DESC* pDesc ) ; + +COM-INTERFACE: ID3D11Predicate ID3D11Query {9eb576dd-9f77-4d86-81aa-8bab5fe490e2} ; + +STRUCT: D3D11_QUERY_DATA_TIMESTAMP_DISJOINT + { Frequency UINT64 } + { Disjoint BOOL } ; + +STRUCT: D3D11_QUERY_DATA_PIPELINE_STATISTICS + { IAVertices UINT64 } + { IAPrimitives UINT64 } + { VSInvocations UINT64 } + { GSInvocations UINT64 } + { GSPrimitives UINT64 } + { CInvocations UINT64 } + { CPrimitives UINT64 } + { PSInvocations UINT64 } + { HSInvocations UINT64 } + { DSInvocations UINT64 } + { CSInvocations UINT64 } ; + +STRUCT: D3D11_QUERY_DATA_SO_STATISTICS + { NumPrimitivesWritten UINT64 } + { PrimitivesStorageNeeded UINT64 } ; + +CONSTANT: D3D11_COUNTER_DEVICE_DEPENDENT_0 HEX: 40000000 +TYPEDEF: int D3D11_COUNTER + +CONSTANT: D3D11_COUNTER_TYPE_FLOAT32 0 +CONSTANT: D3D11_COUNTER_TYPE_UINT16 1 +CONSTANT: D3D11_COUNTER_TYPE_UINT32 2 +CONSTANT: D3D11_COUNTER_TYPE_UINT64 3 +TYPEDEF: int D3D11_COUNTER_TYPE + +STRUCT: D3D11_COUNTER_DESC + { Counter D3D11_COUNTER } + { MiscFlags UINT } ; + +STRUCT: D3D11_COUNTER_INFO + { LastDeviceDependentCounter D3D11_COUNTER } + { NumSimultaneousCounters UINT } + { NumDetectableParallelUnits BYTE } ; + +COM-INTERFACE: ID3D11Counter ID3D11Asynchronous {6e8c49fb-a371-4770-b440-29086022b741} + void GetDesc ( D3D11_COUNTER_DESC* pDesc ) ; + +CONSTANT: D3D11_STANDARD_MULTISAMPLE_PATTERN HEX: ffffffff +CONSTANT: D3D11_CENTER_MULTISAMPLE_PATTERN HEX: fffffffe +TYPEDEF: int D3D11_STANDARD_MULTISAMPLE_QUALITY_LEVELS + +CONSTANT: D3D11_DEVICE_CONTEXT_IMMEDIATE 0 +CONSTANT: D3D11_DEVICE_CONTEXT_DEFERRED 1 +TYPEDEF: int D3D11_DEVICE_CONTEXT_TYPE + +STRUCT: D3D11_CLASS_INSTANCE_DESC + { InstanceId UINT } + { InstanceIndex UINT } + { TypeId UINT } + { ConstantBuffer UINT } + { BaseConstantBufferOffset UINT } + { BaseTexture UINT } + { BaseSampler UINT } + { Created BOOL } ; + +COM-INTERFACE: ID3D11ClassInstance ID3D11DeviceChild {a6cd7faa-b0b7-4a2f-9436-8662a65797cb} + void GetClassLinkage ( ID3D11ClassLinkage** ppLinkage ) + void GetDesc ( D3D11_CLASS_INSTANCE_DESC* pDesc ) + void GetInstanceName ( LPSTR pInstanceName, SIZE_T* pBufferLength ) + void GetTypeName ( LPSTR pTypeName, SIZE_T* pBufferLength ) ; + +COM-INTERFACE: ID3D11ClassLinkage ID3D11DeviceChild {ddf57cba-9543-46e4-a12b-f207a0fe7fed} + HRESULT GetClassInstance ( LPCSTR pClassInstanceName, UINT InstanceIndex, ID3D11ClassInstance** ppInstance ) + HRESULT CreateClassInstance ( LPCSTR pClassTypeName, UINT ConstantBufferOffset, UINT ConstantVectorOffset, UINT TextureOffset, UINT SamplerOffset, ID3D11ClassInstance** ppInstance ) ; + +COM-INTERFACE: ID3D11CommandList ID3D11DeviceChild {a24bc4d1-769e-43f7-8013-98ff566c18e2} + UINT GetContextFlags ( ) ; + +CONSTANT: D3D11_FEATURE_THREADING 0 +CONSTANT: D3D11_FEATURE_DOUBLES 1 +CONSTANT: D3D11_FEATURE_FORMAT_SUPPORT 2 +CONSTANT: D3D11_FEATURE_FORMAT_SUPPORT2 3 +CONSTANT: D3D11_FEATURE_D3D10_X_HARDWARE_OPTIONS 4 +TYPEDEF: int D3D11_FEATURE + +STRUCT: D3D11_FEATURE_DATA_THREADING + { DriverConcurrentCreates BOOL } + { DriverCommandLists BOOL } ; + +STRUCT: D3D11_FEATURE_DATA_DOUBLES + { DoublePrecisionFloatShaderOps BOOL } ; + +STRUCT: D3D11_FEATURE_DATA_FORMAT_SUPPORT + { InFormat DXGI_FORMAT } + { OutFormatSupport UINT } ; + +STRUCT: D3D11_FEATURE_DATA_FORMAT_SUPPORT2 + { InFormat DXGI_FORMAT } + { OutFormatSupport2 UINT } ; + +STRUCT: D3D11_FEATURE_DATA_D3D10_X_HARDWARE_OPTIONS + { ComputeShaders_Plus_RawAndStructuredBuffers_Via_Shader_4_x BOOL } ; + +COM-INTERFACE: ID3D11DeviceContext ID3D11DeviceChild {c0bfa96c-e089-44fb-8eaf-26f8796190da} + void VSSetConstantBuffers ( UINT StartSlot, UINT NumBuffers, ID3D11Buffer** ppConstantBuffers ) + void PSSetShaderResources ( UINT StartSlot, UINT NumViews, ID3D11ShaderResourceView** ppShaderResourceViews ) + void PSSetShader ( ID3D11PixelShader* pPixelShader, ID3D11ClassInstance** ppClassInstances, UINT NumClassInstances ) + void PSSetSamplers ( UINT StartSlot, UINT NumSamplers, ID3D11SamplerState** ppSamplers ) + void VSSetShader ( ID3D11VertexShader* pVertexShader, ID3D11ClassInstance** ppClassInstances, UINT NumClassInstances ) + void DrawIndexed ( UINT IndexCount, UINT StartIndexLocation, INT BaseVertexLocation ) + void Draw ( UINT VertexCount, UINT StartVertexLocation ) + HRESULT Map ( ID3D11Resource* pResource, UINT Subresource, D3D11_MAP MapType, UINT MapFlags, D3D11_MAPPED_SUBRESOURCE* pMappedResource ) + void Unmap ( ID3D11Resource* pResource, UINT Subresource ) + void PSSetConstantBuffers ( UINT StartSlot, UINT NumBuffers, ID3D11Buffer** ppConstantBuffers ) + void IASetInputLayout ( ID3D11InputLayout* pInputLayout ) + void IASetVertexBuffers ( UINT StartSlot, UINT NumBuffers, ID3D11Buffer** ppVertexBuffers, UINT* pStrides, UINT* pOffsets ) + void IASetIndexBuffer ( ID3D11Buffer* pIndexBuffer, DXGI_FORMAT Format, UINT Offset ) + void DrawIndexedInstanced ( UINT IndexCountPerInstance, UINT InstanceCount, UINT StartIndexLocation, INT BaseVertexLocation, UINT StartInstanceLocation ) + void DrawInstanced ( UINT VertexCountPerInstance, UINT InstanceCount, UINT StartVertexLocation, UINT StartInstanceLocation ) + void GSSetConstantBuffers ( UINT StartSlot, UINT NumBuffers, ID3D11Buffer** ppConstantBuffers ) + void GSSetShader ( ID3D11GeometryShader* pShader, ID3D11ClassInstance** ppClassInstances, UINT NumClassInstances ) + void IASetPrimitiveTopology ( D3D11_PRIMITIVE_TOPOLOGY Topology ) + void VSSetShaderResources ( UINT StartSlot, UINT NumViews, ID3D11ShaderResourceView** ppShaderResourceViews ) + void VSSetSamplers ( UINT StartSlot, UINT NumSamplers, ID3D11SamplerState** ppSamplers ) + void Begin ( ID3D11Asynchronous* pAsync ) + void End ( ID3D11Asynchronous* pAsync ) + HRESULT GetData ( ID3D11Asynchronous* pAsync, void* pData, UINT DataSize, UINT GetDataFlags ) + void SetPredication ( ID3D11Predicate* pPredicate, BOOL PredicateValue ) + void GSSetShaderResources ( UINT StartSlot, UINT NumViews, ID3D11ShaderResourceView** ppShaderResourceViews ) + void GSSetSamplers ( UINT StartSlot, UINT NumSamplers, ID3D11SamplerState** ppSamplers ) + void OMSetRenderTargets ( UINT NumViews, ID3D11RenderTargetView** ppRenderTargetViews, ID3D11DepthStencilView* pDepthStencilView ) + void OMSetRenderTargetsAndUnorderedAccessViews ( UINT NumRTVs, ID3D11RenderTargetView** ppRenderTargetViews, ID3D11DepthStencilView* pDepthStencilView, UINT UAVStartSlot, UINT NumUAVs, ID3D11UnorderedAccessView** ppUnorderedAccessViews, UINT* pUAVInitialCounts ) + void OMSetBlendState ( ID3D11BlendState* pBlendState, FLOAT[4] BlendFactor, UINT SampleMask ) + void OMSetDepthStencilState ( ID3D11DepthStencilState* pDepthStencilState, UINT StencilRef ) + void SOSetTargets ( UINT NumBuffers, ID3D11Buffer** ppSOTargets, UINT* pOffsets ) + void DrawAuto ( ) + void DrawIndexedInstancedIndirect ( ID3D11Buffer* pBufferForArgs, UINT AlignedByteOffsetForArgs ) + void DrawInstancedIndirect ( ID3D11Buffer* pBufferForArgs, UINT AlignedByteOffsetForArgs ) + void Dispatch ( UINT ThreadGroupCountX, UINT ThreadGroupCountY, UINT ThreadGroupCountZ ) + void DispatchIndirect ( ID3D11Buffer* pBufferForArgs, UINT AlignedByteOffsetForArgs ) + void RSSetState ( ID3D11RasterizerState* pRasterizerState ) + void RSSetViewports ( UINT NumViewports, D3D11_VIEWPORT* pViewports ) + void RSSetScissorRects ( UINT NumRects, D3D11_RECT* pRects ) + void CopySubresourceRegion ( ID3D11Resource* pDstResource, UINT DstSubresource, UINT DstX, UINT DstY, UINT DstZ, ID3D11Resource* pSrcResource, UINT SrcSubresource, D3D11_BOX* pSrcBox ) + void CopyResource ( ID3D11Resource* pDstResource, ID3D11Resource* pSrcResource ) + void UpdateSubresource ( ID3D11Resource* pDstResource, UINT DstSubresource, D3D11_BOX* pDstBox, void* pSrcData, UINT SrcRowPitch, UINT SrcDepthPitch ) + void CopyStructureCount ( ID3D11Buffer* pDstBuffer, UINT DstAlignedByteOffset, ID3D11UnorderedAccessView* pSrcView ) + void ClearRenderTargetView ( ID3D11RenderTargetView* pRenderTargetView, FLOAT[4] ColorRGBA ) + void ClearUnorderedAccessViewUint ( ID3D11UnorderedAccessView* pUnorderedAccessView, UINT[4] Values ) + void ClearUnorderedAccessViewFloat ( ID3D11UnorderedAccessView* pUnorderedAccessView, FLOAT[4] Values ) + void ClearDepthStencilView ( ID3D11DepthStencilView* pDepthStencilView, UINT ClearFlags, FLOAT Depth, BYTE Stencil ) + void GenerateMips ( ID3D11ShaderResourceView* pShaderResourceView ) + void SetResourceMinLOD ( ID3D11Resource* pResource, FLOAT MinLOD ) + FLOAT GetResourceMinLOD ( ID3D11Resource* pResource ) + void ResolveSubresource ( ID3D11Resource* pDstResource, UINT DstSubresource, ID3D11Resource* pSrcResource, UINT SrcSubresource, DXGI_FORMAT Format ) + void ExecuteCommandList ( ID3D11CommandList* pCommandList, BOOL RestoreContextState ) + void HSSetShaderResources ( UINT StartSlot, UINT NumViews, ID3D11ShaderResourceView** ppShaderResourceViews ) + void HSSetShader ( ID3D11HullShader* pHullShader, ID3D11ClassInstance** ppClassInstances, UINT NumClassInstances ) + void HSSetSamplers ( UINT StartSlot, UINT NumSamplers, ID3D11SamplerState** ppSamplers ) + void HSSetConstantBuffers ( UINT StartSlot, UINT NumBuffers, ID3D11Buffer** ppConstantBuffers ) + void DSSetShaderResources ( UINT StartSlot, UINT NumViews, ID3D11ShaderResourceView** ppShaderResourceViews ) + void DSSetShader ( ID3D11DomainShader* pDomainShader, ID3D11ClassInstance** ppClassInstances, UINT NumClassInstances ) + void DSSetSamplers ( UINT StartSlot, UINT NumSamplers, ID3D11SamplerState** ppSamplers ) + void DSSetConstantBuffers ( UINT StartSlot, UINT NumBuffers, ID3D11Buffer** ppConstantBuffers ) + void CSSetShaderResources ( UINT StartSlot, UINT NumViews, ID3D11ShaderResourceView** ppShaderResourceViews ) + void CSSetUnorderedAccessViews ( UINT StartSlot, UINT NumUAVs, ID3D11UnorderedAccessView** ppUnorderedAccessViews, UINT* pUAVInitialCounts ) + void CSSetShader ( ID3D11ComputeShader* pComputeShader, ID3D11ClassInstance** ppClassInstances, UINT NumClassInstances ) + void CSSetSamplers ( UINT StartSlot, UINT NumSamplers, ID3D11SamplerState** ppSamplers ) + void CSSetConstantBuffers ( UINT StartSlot, UINT NumBuffers, ID3D11Buffer** ppConstantBuffers ) + void VSGetConstantBuffers ( UINT StartSlot, UINT NumBuffers, ID3D11Buffer** ppConstantBuffers ) + void PSGetShaderResources ( UINT StartSlot, UINT NumViews, ID3D11ShaderResourceView** ppShaderResourceViews ) + void PSGetShader ( ID3D11PixelShader** ppPixelShader, ID3D11ClassInstance** ppClassInstances, UINT* pNumClassInstances ) + void PSGetSamplers ( UINT StartSlot, UINT NumSamplers, ID3D11SamplerState** ppSamplers ) + void VSGetShader ( ID3D11VertexShader** ppVertexShader, ID3D11ClassInstance** ppClassInstances, UINT* pNumClassInstances ) + void PSGetConstantBuffers ( UINT StartSlot, UINT NumBuffers, ID3D11Buffer** ppConstantBuffers ) + void IAGetInputLayout ( ID3D11InputLayout** ppInputLayout ) + void IAGetVertexBuffers ( UINT StartSlot, UINT NumBuffers, ID3D11Buffer** ppVertexBuffers, UINT* pStrides, UINT* pOffsets ) + void IAGetIndexBuffer ( ID3D11Buffer** pIndexBuffer, DXGI_FORMAT* Format, UINT* Offset ) + void GSGetConstantBuffers ( UINT StartSlot, UINT NumBuffers, ID3D11Buffer** ppConstantBuffers ) + void GSGetShader ( ID3D11GeometryShader** ppGeometryShader, ID3D11ClassInstance** ppClassInstances, UINT* pNumClassInstances ) + void IAGetPrimitiveTopology ( D3D11_PRIMITIVE_TOPOLOGY* pTopology ) + void VSGetShaderResources ( UINT StartSlot, UINT NumViews, ID3D11ShaderResourceView** ppShaderResourceViews ) + void VSGetSamplers ( UINT StartSlot, UINT NumSamplers, ID3D11SamplerState** ppSamplers ) + void GetPredication ( ID3D11Predicate** ppPredicate, BOOL* pPredicateValue ) + void GSGetShaderResources ( UINT StartSlot, UINT NumViews, ID3D11ShaderResourceView** ppShaderResourceViews ) + void GSGetSamplers ( UINT StartSlot, UINT NumSamplers, ID3D11SamplerState** ppSamplers ) + void OMGetRenderTargets ( UINT NumViews, ID3D11RenderTargetView** ppRenderTargetViews, ID3D11DepthStencilView** ppDepthStencilView ) + void OMGetRenderTargetsAndUnorderedAccessViews ( UINT NumRTVs, ID3D11RenderTargetView** ppRenderTargetViews, ID3D11DepthStencilView** ppDepthStencilView, UINT UAVStartSlot, UINT NumUAVs, ID3D11UnorderedAccessView** ppUnorderedAccessViews ) + void OMGetBlendState ( ID3D11BlendState** ppBlendState, FLOAT[4] BlendFactor, UINT* pSampleMask ) + void OMGetDepthStencilState ( ID3D11DepthStencilState** ppDepthStencilState, UINT* pStencilRef ) + void SOGetTargets ( UINT NumBuffers, ID3D11Buffer** ppSOTargets ) + void RSGetState ( ID3D11RasterizerState** ppRasterizerState ) + void RSGetViewports ( UINT* pNumViewports, D3D11_VIEWPORT* pViewports ) + void RSGetScissorRects ( UINT* pNumRects, D3D11_RECT* pRects ) + void HSGetShaderResources ( UINT StartSlot, UINT NumViews, ID3D11ShaderResourceView** ppShaderResourceViews ) + void HSGetShader ( ID3D11HullShader** ppHullShader, ID3D11ClassInstance** ppClassInstances, UINT* pNumClassInstances ) + void HSGetSamplers ( UINT StartSlot, UINT NumSamplers, ID3D11SamplerState** ppSamplers ) + void HSGetConstantBuffers ( UINT StartSlot, UINT NumBuffers, ID3D11Buffer** ppConstantBuffers ) + void DSGetShaderResources ( UINT StartSlot, UINT NumViews, ID3D11ShaderResourceView** ppShaderResourceViews ) + void DSGetShader ( ID3D11DomainShader** ppDomainShader, ID3D11ClassInstance** ppClassInstances, UINT* pNumClassInstances ) + void DSGetSamplers ( UINT StartSlot, UINT NumSamplers, ID3D11SamplerState** ppSamplers ) + void DSGetConstantBuffers ( UINT StartSlot, UINT NumBuffers, ID3D11Buffer** ppConstantBuffers ) + void CSGetShaderResources ( UINT StartSlot, UINT NumViews, ID3D11ShaderResourceView** ppShaderResourceViews ) + void CSGetUnorderedAccessViews ( UINT StartSlot, UINT NumUAVs, ID3D11UnorderedAccessView** ppUnorderedAccessViews ) + void CSGetShader ( ID3D11ComputeShader** ppComputeShader, ID3D11ClassInstance** ppClassInstances, UINT* pNumClassInstances ) + void CSGetSamplers ( UINT StartSlot, UINT NumSamplers, ID3D11SamplerState** ppSamplers ) + void CSGetConstantBuffers ( UINT StartSlot, UINT NumBuffers, ID3D11Buffer** ppConstantBuffers ) + void ClearState ( ) + void Flush ( ) + D3D11_DEVICE_CONTEXT_TYPE GetType ( ) + UINT GetContextFlags ( ) + HRESULT FinishCommandList ( BOOL RestoreDeferredContextState, ID3D11CommandList** ppCommandList ) ; + +COM-INTERFACE: ID3D11Device IUnknown {db6f6ddb-ac77-4e88-8253-819df9bbf140} + HRESULT CreateBuffer ( D3D11_BUFFER_DESC* pDesc, D3D11_SUBRESOURCE_DATA* pInitialData, ID3D11Buffer** ppBuffer ) + HRESULT CreateTexture1D ( D3D11_TEXTURE1D_DESC* pDesc, D3D11_SUBRESOURCE_DATA* pInitialData, ID3D11Texture1D** ppTexture1D ) + HRESULT CreateTexture2D ( D3D11_TEXTURE2D_DESC* pDesc, D3D11_SUBRESOURCE_DATA* pInitialData, ID3D11Texture2D** ppTexture2D ) + HRESULT CreateTexture3D ( D3D11_TEXTURE3D_DESC* pDesc, D3D11_SUBRESOURCE_DATA* pInitialData, ID3D11Texture3D** ppTexture3D ) + HRESULT CreateShaderResourceView ( ID3D11Resource* pResource, D3D11_SHADER_RESOURCE_VIEW_DESC* pDesc, ID3D11ShaderResourceView** ppSRView ) + HRESULT CreateUnorderedAccessView ( ID3D11Resource* pResource, D3D11_UNORDERED_ACCESS_VIEW_DESC* pDesc, ID3D11UnorderedAccessView** ppUAView ) + HRESULT CreateRenderTargetView ( ID3D11Resource* pResource, D3D11_RENDER_TARGET_VIEW_DESC* pDesc, ID3D11RenderTargetView** ppRTView ) + HRESULT CreateDepthStencilView ( ID3D11Resource* pResource, D3D11_DEPTH_STENCIL_VIEW_DESC* pDesc, ID3D11DepthStencilView** ppDepthStencilView ) + HRESULT CreateInputLayout ( D3D11_INPUT_ELEMENT_DESC* pInputElementDescs, UINT NumElements, void* pShaderBytecodeWithInputSignature, SIZE_T BytecodeLength, ID3D11InputLayout** ppInputLayout ) + HRESULT CreateVertexShader ( void* pShaderBytecode, SIZE_T BytecodeLength, ID3D11ClassLinkage* pClassLinkage, ID3D11VertexShader** ppVertexShader ) + HRESULT CreateGeometryShader ( void* pShaderBytecode, SIZE_T BytecodeLength, ID3D11ClassLinkage* pClassLinkage, ID3D11GeometryShader** ppGeometryShader ) + HRESULT CreateGeometryShaderWithStreamOutput ( void* pShaderBytecode, SIZE_T BytecodeLength, D3D11_SO_DECLARATION_ENTRY* pSODeclaration, UINT NumEntries, UINT* pBufferStrides, UINT NumStrides, UINT RasterizedStream, ID3D11ClassLinkage* pClassLinkage, ID3D11GeometryShader** ppGeometryShader ) + HRESULT CreatePixelShader ( void* pShaderBytecode, SIZE_T BytecodeLength, ID3D11ClassLinkage* pClassLinkage, ID3D11PixelShader** ppPixelShader ) + HRESULT CreateHullShader ( void* pShaderBytecode, SIZE_T BytecodeLength, ID3D11ClassLinkage* pClassLinkage, ID3D11HullShader** ppHullShader ) + HRESULT CreateDomainShader ( void* pShaderBytecode, SIZE_T BytecodeLength, ID3D11ClassLinkage* pClassLinkage, ID3D11DomainShader** ppDomainShader ) + HRESULT CreateComputeShader ( void* pShaderBytecode, SIZE_T BytecodeLength, ID3D11ClassLinkage* pClassLinkage, ID3D11ComputeShader** ppComputeShader ) + HRESULT CreateClassLinkage ( ID3D11ClassLinkage** ppLinkage ) + HRESULT CreateBlendState ( D3D11_BLEND_DESC* pBlendStateDesc, ID3D11BlendState** ppBlendState ) + HRESULT CreateDepthStencilState ( D3D11_DEPTH_STENCIL_DESC* pDepthStencilDesc, ID3D11DepthStencilState** ppDepthStencilState ) + HRESULT CreateRasterizerState ( D3D11_RASTERIZER_DESC* pRasterizerDesc, ID3D11RasterizerState** ppRasterizerState ) + HRESULT CreateSamplerState ( D3D11_SAMPLER_DESC* pSamplerDesc, ID3D11SamplerState** ppSamplerState ) + HRESULT CreateQuery ( D3D11_QUERY_DESC* pQueryDesc, ID3D11Query** ppQuery ) + HRESULT CreatePredicate ( D3D11_QUERY_DESC* pPredicateDesc, ID3D11Predicate** ppPredicate ) + HRESULT CreateCounter ( D3D11_COUNTER_DESC* pCounterDesc, ID3D11Counter** ppCounter ) + HRESULT CreateDeferredContext ( UINT ContextFlags, ID3D11DeviceContext** ppDeferredContext ) + HRESULT OpenSharedResource ( HANDLE hResource, REFIID ReturnedInterface, void** ppResource ) + HRESULT CheckFormatSupport ( DXGI_FORMAT Format, UINT* pFormatSupport ) + HRESULT CheckMultisampleQualityLevels ( DXGI_FORMAT Format, UINT SampleCount, UINT* pNumQualityLevels ) + void CheckCounterInfo ( D3D11_COUNTER_INFO* pCounterInfo ) + HRESULT CheckCounter ( D3D11_COUNTER_DESC* pDesc, D3D11_COUNTER_TYPE* pType, UINT* pActiveCounters, LPSTR szName, UINT* pNameLength, LPSTR szUnits, UINT* pUnitsLength, LPSTR szDescription, UINT* pDescriptionLength ) + HRESULT CheckFeatureSupport ( D3D11_FEATURE Feature, void* pFeatureSupportData, UINT FeatureSupportDataSize ) + HRESULT GetPrivateData ( REFGUID guid, UINT* pDataSize, void* pData ) + HRESULT SetPrivateData ( REFGUID guid, UINT DataSize, void* pData ) + HRESULT SetPrivateDataInterface ( REFGUID guid, IUnknown* pData ) + D3D_FEATURE_LEVEL GetFeatureLevel ( ) + UINT GetCreationFlags ( ) + HRESULT GetDeviceRemovedReason ( ) + void GetImmediateContext ( ID3D11DeviceContext** ppImmediateContext ) + HRESULT SetExceptionMode ( UINT RaiseFlags ) + UINT GetExceptionMode ( ) ; + +CONSTANT: D3D11_CREATE_DEVICE_SINGLETHREADED 1 +CONSTANT: D3D11_CREATE_DEVICE_DEBUG 2 +CONSTANT: D3D11_CREATE_DEVICE_SWITCH_TO_REF 4 +CONSTANT: D3D11_CREATE_DEVICE_PREVENT_INTERNAL_THREADING_OPTIMIZATIONS 8 +CONSTANT: D3D11_CREATE_DEVICE_BGRA_SUPPORT 32 +TYPEDEF: int D3D11_CREATE_DEVICE_FLAG; + +CONSTANT: D3D11_SDK_VERSION 7 + +FUNCTION: HRESULT D3D11CreateDevice ( + IDXGIAdapter* pAdapter, + D3D_DRIVER_TYPE DriverType, + HMODULE Software, + UINT Flags, + D3D_FEATURE_LEVEL* pFeatureLevels, + UINT FeatureLevels, + UINT SDKVersion, + ID3D11Device** ppDevice, + D3D_FEATURE_LEVEL* pFeatureLevel, + ID3D11DeviceContext** ppImmediateContext ) ; + +FUNCTION: HRESULT D3D11CreateDeviceAndSwapChain ( + IDXGIAdapter* pAdapter, + D3D_DRIVER_TYPE DriverType, + HMODULE Software, + UINT Flags, + D3D_FEATURE_LEVEL* pFeatureLevels, + UINT FeatureLevels, + UINT SDKVersion, + DXGI_SWAP_CHAIN_DESC* pSwapChainDesc, + IDXGISwapChain** ppSwapChain, + ID3D11Device** ppDevice, + D3D_FEATURE_LEVEL* pFeatureLevel, + ID3D11DeviceContext** ppImmediateContext ) ; diff --git a/basis/windows/directx/d3d11/summary.txt b/basis/windows/directx/d3d11/summary.txt new file mode 100644 index 0000000000..5b3ba353a1 --- /dev/null +++ b/basis/windows/directx/d3d11/summary.txt @@ -0,0 +1 @@ +Direct3D 11 bindings. Corresponds to D3D11.h. diff --git a/basis/windows/directx/d3d11/tags.txt b/basis/windows/directx/d3d11/tags.txt new file mode 100644 index 0000000000..2320bdd648 --- /dev/null +++ b/basis/windows/directx/d3d11/tags.txt @@ -0,0 +1,2 @@ +unportable +bindings diff --git a/basis/windows/directx/d3d11shader/authors.txt b/basis/windows/directx/d3d11shader/authors.txt new file mode 100644 index 0000000000..6f03a12101 --- /dev/null +++ b/basis/windows/directx/d3d11shader/authors.txt @@ -0,0 +1 @@ +Erik Charlebois diff --git a/basis/windows/directx/d3d11shader/d3d11shader.factor b/basis/windows/directx/d3d11shader/d3d11shader.factor new file mode 100644 index 0000000000..beb5392e37 --- /dev/null +++ b/basis/windows/directx/d3d11shader/d3d11shader.factor @@ -0,0 +1,182 @@ +USING: alien.syntax alien.c-types classes.struct windows.types +windows.directx.d3d10shader windows.directx.d3d10 +windows.directx.d3d11 windows.com windows.com.syntax ; +IN: windows.directx.d3d11shader + +LIBRARY: d3d11 + +CONSTANT: D3D11_SHVER_PIXEL_SHADER 0 +CONSTANT: D3D11_SHVER_VERTEX_SHADER 1 +CONSTANT: D3D11_SHVER_GEOMETRY_SHADER 2 +CONSTANT: D3D11_SHVER_HULL_SHADER 3 +CONSTANT: D3D11_SHVER_DOMAIN_SHADER 4 +CONSTANT: D3D11_SHVER_COMPUTE_SHADER 5 +TYPEDEF: int D3D11_SHADER_VERSION_TYPE + +CONSTANT: D3D11_RETURN_TYPE_UNORM 1 +CONSTANT: D3D11_RETURN_TYPE_SNORM 2 +CONSTANT: D3D11_RETURN_TYPE_SINT 3 +CONSTANT: D3D11_RETURN_TYPE_UINT 4 +CONSTANT: D3D11_RETURN_TYPE_FLOAT 5 +CONSTANT: D3D11_RETURN_TYPE_MIXED 6 +CONSTANT: D3D11_RETURN_TYPE_DOUBLE 7 +CONSTANT: D3D11_RETURN_TYPE_CONTINUED 8 +TYPEDEF: int D3D11_RESOURCE_RETURN_TYPE + +C-ENUM: D3D11_CT_CBUFFER + D3D11_CT_TBUFFER + D3D11_CT_INTERFACE_POINTERS + D3D11_CT_RESOURCE_BIND_INFO ; +TYPEDEF: int D3D11_CBUFFER_TYPE +TYPEDEF: D3D11_CBUFFER_TYPE* LPD3D11_CBUFFER_TYPE + +STRUCT: D3D11_SIGNATURE_PARAMETER_DESC + { SemanticName LPCSTR } + { SemanticIndex UINT } + { Register UINT } + { SystemValueType D3D10_NAME } + { ComponentType D3D10_REGISTER_COMPONENT_TYPE } + { Mask BYTE } + { ReadWriteMask BYTE } + { Stream UINT } ; + +STRUCT: D3D11_SHADER_BUFFER_DESC + { Name LPCSTR } + { Type D3D11_CBUFFER_TYPE } + { Variables UINT } + { Size UINT } + { uFlags UINT } ; + +STRUCT: D3D11_SHADER_VARIABLE_DESC + { Name LPCSTR } + { StartOffset UINT } + { Size UINT } + { uFlags UINT } + { DefaultValue LPVOID } + { StartTexture UINT } + { TextureSize UINT } + { StartSampler UINT } + { SamplerSize UINT } ; + +STRUCT: D3D11_SHADER_TYPE_DESC + { Class D3D10_SHADER_VARIABLE_CLASS } + { Type D3D10_SHADER_VARIABLE_TYPE } + { Rows UINT } + { Columns UINT } + { Elements UINT } + { Members UINT } + { Offset UINT } + { Name LPCSTR } ; + +CONSTANT: D3D11_TESSELLATOR_DOMAIN_UNDEFINED 0 +CONSTANT: D3D11_TESSELLATOR_DOMAIN_ISOLINE 1 +CONSTANT: D3D11_TESSELLATOR_DOMAIN_TRI 2 +CONSTANT: D3D11_TESSELLATOR_DOMAIN_QUAD 3 +TYPEDEF: int D3D11_TESSELLATOR_DOMAIN + +CONSTANT: D3D11_TESSELLATOR_PARTITIONING_UNDEFINED 0 +CONSTANT: D3D11_TESSELLATOR_PARTITIONING_INTEGER 1 +CONSTANT: D3D11_TESSELLATOR_PARTITIONING_POW2 2 +CONSTANT: D3D11_TESSELLATOR_PARTITIONING_FRACTIONAL_ODD 3 +CONSTANT: D3D11_TESSELLATOR_PARTITIONING_FRACTIONAL_EVEN 4 +TYPEDEF: int D3D11_TESSELLATOR_PARTITIONING + +CONSTANT: D3D11_TESSELLATOR_OUTPUT_UNDEFINED 0 +CONSTANT: D3D11_TESSELLATOR_OUTPUT_POINT 1 +CONSTANT: D3D11_TESSELLATOR_OUTPUT_LINE 2 +CONSTANT: D3D11_TESSELLATOR_OUTPUT_TRIANGLE_CW 3 +CONSTANT: D3D11_TESSELLATOR_OUTPUT_TRIANGLE_CCW 4 +TYPEDEF: int D3D11_TESSELLATOR_OUTPUT_PRIMITIVE + +STRUCT: D3D11_SHADER_DESC + { Version UINT } + { Creator LPCSTR } + { Flags UINT } + { ConstantBuffers UINT } + { BoundResources UINT } + { InputParameters UINT } + { OutputParameters UINT } + { InstructionCount UINT } + { TempRegisterCount UINT } + { TempArrayCount UINT } + { DefCount UINT } + { DclCount UINT } + { TextureNormalInstructions UINT } + { TextureLoadInstructions UINT } + { TextureCompInstructions UINT } + { TextureBiasInstructions UINT } + { TextureGradientInstructions UINT } + { FloatInstructionCount UINT } + { IntInstructionCount UINT } + { UintInstructionCount UINT } + { StaticFlowControlCount UINT } + { DynamicFlowControlCount UINT } + { MacroInstructionCount UINT } + { ArrayInstructionCount UINT } + { CutInstructionCount UINT } + { EmitInstructionCount UINT } + { GSOutputTopology D3D10_PRIMITIVE_TOPOLOGY } + { GSMaxOutputVertexCount UINT } + { InputPrimitive D3D11_PRIMITIVE } + { PatchConstantParameters UINT } + { cGSInstanceCount UINT } + { cControlPoints UINT } + { HSOutputPrimitive D3D11_TESSELLATOR_OUTPUT_PRIMITIVE } + { HSPartitioning D3D11_TESSELLATOR_PARTITIONING } + { TessellatorDomain D3D11_TESSELLATOR_DOMAIN } + { cBarrierInstructions UINT } + { cInterlockedInstructions UINT } + { cTextureStoreInstructions UINT } ; + +STRUCT: D3D11_SHADER_INPUT_BIND_DESC + { Name LPCSTR } + { Type D3D10_SHADER_INPUT_TYPE } + { BindPoint UINT } + { BindCount UINT } + { uFlags UINT } + { ReturnType D3D11_RESOURCE_RETURN_TYPE } + { Dimension D3D10_SRV_DIMENSION } + { NumSamples UINT } ; + +COM-INTERFACE: ID3D11ShaderReflectionType f {6E6FFA6A-9BAE-4613-A51E-91652D508C21} + HRESULT GetDesc ( D3D11_SHADER_TYPE_DESC* pDesc ) + ID3D11ShaderReflectionType* GetMemberTypeByIndex ( UINT Index ) + ID3D11ShaderReflectionType* GetMemberTypeByName ( LPCSTR Name ) + LPCSTR GetMemberTypeName ( UINT Index ) + HRESULT IsEqual ( ID3D11ShaderReflectionType* pType ) + ID3D11ShaderReflectionType* GetSubType ( ) + ID3D11ShaderReflectionType* GetBaseClass ( ) + UINT GetNumInterfaces ( ) + ID3D11ShaderReflectionType* GetInterfaceByIndex ( UINT uIndex ) + HRESULT IsOfType ( ID3D11ShaderReflectionType* pType ) + HRESULT ImplementsInterface ( ID3D11ShaderReflectionType* pBase ) ; + +COM-INTERFACE: ID3D11ShaderReflectionVariable f {51F23923-F3E5-4BD1-91CB-606177D8DB4C} + HRESULT GetDesc ( D3D11_SHADER_VARIABLE_DESC* pDesc ) + ID3D11ShaderReflectionType* GetType ( ) + ID3D11ShaderReflectionConstantBuffer* GetBuffer ( ) + UINT GetInterfaceSlot ( UINT uArrayIndex ) ; + +COM-INTERFACE: ID3D11ShaderReflectionConstantBuffer f {EB62D63D-93DD-4318-8AE8-C6F83AD371B8} + HRESULT GetDesc ( D3D11_SHADER_BUFFER_DESC* pDesc ) + ID3D11ShaderReflectionVariable* GetVariableByIndex ( UINT Index ) + ID3D11ShaderReflectionVariable* GetVariableByName ( LPCSTR Name ) ; + +COM-INTERFACE: ID3D11ShaderReflection IUnknown {17F27486-A342-4D10-8842-AB0874E7F670} + HRESULT GetDesc ( D3D11_SHADER_DESC* pDesc ) + ID3D11ShaderReflectionConstantBuffer* GetConstantBufferByIndex ( UINT Index ) + ID3D11ShaderReflectionConstantBuffer* GetConstantBufferByName ( LPCSTR Name ) + HRESULT GetResourceBindingDesc ( UINT ResourceIndex, D3D11_SHADER_INPUT_BIND_DESC* pDesc ) + HRESULT GetInputParameterDesc ( UINT ParameterIndex, D3D11_SIGNATURE_PARAMETER_DESC* pDesc ) + HRESULT GetOutputParameterDesc ( UINT ParameterIndex, D3D11_SIGNATURE_PARAMETER_DESC* pDesc ) + HRESULT GetPatchConstantParameterDesc ( UINT ParameterIndex, D3D11_SIGNATURE_PARAMETER_DESC* pDesc ) + ID3D11ShaderReflectionVariable* GetVariableByName ( LPCSTR Name ) + HRESULT GetResourceBindingDescByName ( LPCSTR Name, D3D11_SHADER_INPUT_BIND_DESC* pDesc ) + UINT GetMovInstructionCount ( ) + UINT GetMovcInstructionCount ( ) + UINT GetConversionInstructionCount ( ) + UINT GetBitwiseInstructionCount ( ) + D3D10_PRIMITIVE GetGSInputPrimitive ( ) + BOOL IsSampleFrequencyShader ( ) + UINT GetNumInterfaceSlots ( ) + HRESULT GetMinFeatureLevel ( D3D_FEATURE_LEVEL* pLevel ) ; diff --git a/basis/windows/directx/d3d11shader/summary.txt b/basis/windows/directx/d3d11shader/summary.txt new file mode 100644 index 0000000000..53576ea453 --- /dev/null +++ b/basis/windows/directx/d3d11shader/summary.txt @@ -0,0 +1 @@ +Direct3D 11 bindings. Corresponds to D3D11Shader.h. diff --git a/basis/windows/directx/d3d11shader/tags.txt b/basis/windows/directx/d3d11shader/tags.txt new file mode 100644 index 0000000000..2320bdd648 --- /dev/null +++ b/basis/windows/directx/d3d11shader/tags.txt @@ -0,0 +1,2 @@ +unportable +bindings diff --git a/basis/windows/directx/d3d9/authors.txt b/basis/windows/directx/d3d9/authors.txt new file mode 100644 index 0000000000..6f03a12101 --- /dev/null +++ b/basis/windows/directx/d3d9/authors.txt @@ -0,0 +1 @@ +Erik Charlebois diff --git a/basis/windows/directx/d3d9/d3d9.factor b/basis/windows/directx/d3d9/d3d9.factor new file mode 100644 index 0000000000..cedfefc103 --- /dev/null +++ b/basis/windows/directx/d3d9/d3d9.factor @@ -0,0 +1,473 @@ +USING: alien.syntax windows.types alien.c-types windows.directx.d3d9types +windows.com.syntax windows.com windows.directx.d3d9caps windows.ole32 +windows.kernel32 ; +IN: windows.directx.d3d9 + +LIBRARY: d3d9 + +CONSTANT: DIRECT3D_VERSION HEX: 0900 + +CONSTANT: D3D_SDK_VERSION 32 +CONSTANT: D3D9b_SDK_VERSION 31 + +C-TYPE: IDirect3D9 + +FUNCTION: IDirect3D9* Direct3DCreate9 ( UINT SDKVersion ) ; + +FUNCTION: int D3DPERF_BeginEvent ( D3DCOLOR col, LPCWSTR wszName ) ; +FUNCTION: int D3DPERF_EndEvent ( ) ; +FUNCTION: void D3DPERF_SetMarker ( D3DCOLOR col, LPCWSTR wszName ) ; +FUNCTION: void D3DPERF_SetRegion ( D3DCOLOR col, LPCWSTR wszName ) ; +FUNCTION: BOOL D3DPERF_QueryRepeatFrame ( ) ; + +FUNCTION: void D3DPERF_SetOptions ( DWORD dwOptions ) ; +FUNCTION: DWORD D3DPERF_GetStatus ( ) ; + +COM-INTERFACE: IDirect3D9 IUnknown {81BDCBCA-64D4-426d-AE8D-AD0147F4275C} + HRESULT RegisterSoftwareDevice ( void* pInitializeFunction ) + UINT GetAdapterCount ( ) + HRESULT GetAdapterIdentifier ( UINT Adapter, DWORD Flags, D3DADAPTER_IDENTIFIER9* pIdentifier ) + UINT GetAdapterModeCount ( UINT Adapter, D3DFORMAT Format ) + HRESULT EnumAdapterModes ( UINT Adapter, D3DFORMAT Format, UINT Mode, D3DDISPLAYMODE* pMode ) + HRESULT GetAdapterDisplayMode ( UINT Adapter, D3DDISPLAYMODE* pMode ) + HRESULT CheckDeviceType ( UINT Adapter, D3DDEVTYPE DevType, D3DFORMAT AdapterFormat, D3DFORMAT BackBufferFormat, BOOL bWindowed ) + HRESULT CheckDeviceFormat ( UINT Adapter, D3DDEVTYPE DeviceType, D3DFORMAT AdapterFormat, DWORD Usage, D3DRESOURCETYPE RType, D3DFORMAT CheckFormat ) + HRESULT CheckDeviceMultiSampleType ( UINT Adapter, D3DDEVTYPE DeviceType, D3DFORMAT SurfaceFormat, BOOL Windowed, D3DMULTISAMPLE_TYPE MultiSampleType, DWORD* pQualityLevels ) + HRESULT CheckDepthStencilMatch ( UINT Adapter, D3DDEVTYPE DeviceType, D3DFORMAT AdapterFormat, D3DFORMAT RenderTargetFormat, D3DFORMAT DepthStencilFormat ) + HRESULT CheckDeviceFormatConversion ( UINT Adapter, D3DDEVTYPE DeviceType, D3DFORMAT SourceFormat, D3DFORMAT TargetFormat ) + HRESULT GetDeviceCaps ( UINT Adapter, D3DDEVTYPE DeviceType, D3DCAPS9* pCaps ) + HMONITOR GetAdapterMonitor ( UINT Adapter ) + HRESULT CreateDevice ( UINT Adapter, D3DDEVTYPE DeviceType, HWND hFocusWindow, DWORD BehaviorFlags, D3DPRESENT_PARAMETERS* pPresentationParameters, IDirect3DDevice9** ppReturnedDeviceInterface ) ; + +TYPEDEF: IDirect3D9* LPDIRECT3D9 +TYPEDEF: IDirect3D9* PDIRECT3D9 + +C-TYPE: IDirect3DSurface9 +C-TYPE: RGNDATA +C-TYPE: IDirect3DBaseTexture9 +C-TYPE: PALETTEENTRY +C-TYPE: IDirect3DVertexBuffer9 +C-TYPE: IDirect3DVertexDeclaration9 +C-TYPE: IDirect3DVertexShader9 +C-TYPE: IDirect3DIndexBuffer9 +C-TYPE: IDirect3DPixelShader9 + +COM-INTERFACE: IDirect3DDevice9 IUnknown {D0223B96-BF7A-43fd-92BD-A43B0D82B9EB} + HRESULT TestCooperativeLevel ( ) + UINT GetAvailableTextureMem ( ) + HRESULT EvictManagedResources ( ) + HRESULT GetDirect3D ( IDirect3D9** ppD3D9 ) + HRESULT GetDeviceCaps ( D3DCAPS9* pCaps ) + HRESULT GetDisplayMode ( UINT iSwapChain, D3DDISPLAYMODE* pMode ) + HRESULT GetCreationParameters ( D3DDEVICE_CREATION_PARAMETERS *pParameters ) + HRESULT SetCursorProperties ( UINT XHotSpot, UINT YHotSpot, IDirect3DSurface9* pCursorBitmap ) + void SetCursorPosition ( int X, int Y, DWORD Flags ) + BOOL ShowCursor ( BOOL bShow ) + HRESULT CreateAdditionalSwapChain ( D3DPRESENT_PARAMETERS* pPresentationParameters, IDirect3DSwapChain9** pSwapChain ) + HRESULT GetSwapChain ( UINT iSwapChain, IDirect3DSwapChain9** pSwapChain ) + UINT GetNumberOfSwapChains ( ) + HRESULT Reset ( D3DPRESENT_PARAMETERS* pPresentationParameters ) + HRESULT Present ( RECT* pSourceRect, RECT* pDestRect, HWND hDestWindowOverride, RGNDATA* pDirtyRegion ) + HRESULT GetBackBuffer ( UINT iSwapChain, UINT iBackBuffer, D3DBACKBUFFER_TYPE Type, IDirect3DSurface9** ppBackBuffer ) + HRESULT GetRasterStatus ( UINT iSwapChain, D3DRASTER_STATUS* pRasterStatus ) + HRESULT SetDialogBoxMode ( BOOL bEnableDialogs ) + void SetGammaRamp ( UINT iSwapChain, DWORD Flags, D3DGAMMARAMP* pRamp ) + void GetGammaRamp ( UINT iSwapChain, D3DGAMMARAMP* pRamp ) + HRESULT CreateTexture ( UINT Width, UINT Height, UINT Levels, DWORD Usage, D3DFORMAT Format, D3DPOOL Pool, IDirect3DTexture9** ppTexture, HANDLE* pSharedHandle ) + HRESULT CreateVolumeTexture ( UINT Width, UINT Height, UINT Depth, UINT Levels, DWORD Usage, D3DFORMAT Format, D3DPOOL Pool, IDirect3DVolumeTexture9** ppVolumeTexture, HANDLE* pSharedHandle ) + HRESULT CreateCubeTexture ( UINT EdgeLength, UINT Levels, DWORD Usage, D3DFORMAT Format, D3DPOOL Pool, IDirect3DCubeTexture9** ppCubeTexture, HANDLE* pSharedHandle ) + HRESULT CreateVertexBuffer ( UINT Length, DWORD Usage, DWORD FVF, D3DPOOL Pool, IDirect3DVertexBuffer9** ppVertexBuffer, HANDLE* pSharedHandle ) + HRESULT CreateIndexBuffer ( UINT Length, DWORD Usage, D3DFORMAT Format, D3DPOOL Pool, IDirect3DIndexBuffer9** ppIndexBuffer, HANDLE* pSharedHandle ) + HRESULT CreateRenderTarget ( UINT Width, UINT Height, D3DFORMAT Format, D3DMULTISAMPLE_TYPE MultiSample, DWORD MultisampleQuality, BOOL Lockable, IDirect3DSurface9** ppSurface, HANDLE* pSharedHandle ) + HRESULT CreateDepthStencilSurface ( UINT Width, UINT Height, D3DFORMAT Format, D3DMULTISAMPLE_TYPE MultiSample, DWORD MultisampleQuality, BOOL Discard, IDirect3DSurface9** ppSurface, HANDLE* pSharedHandle ) + HRESULT UpdateSurface ( IDirect3DSurface9* pSourceSurface, RECT* pSourceRect, IDirect3DSurface9* pDestinationSurface, POINT* pDestPoint ) + HRESULT UpdateTexture ( IDirect3DBaseTexture9* pSourceTexture, IDirect3DBaseTexture9* pDestinationTexture ) + HRESULT GetRenderTargetData ( IDirect3DSurface9* pRenderTarget, IDirect3DSurface9* pDestSurface ) + HRESULT GetFrontBufferData ( UINT iSwapChain, IDirect3DSurface9* pDestSurface ) + HRESULT StretchRect ( IDirect3DSurface9* pSourceSurface, RECT* pSourceRect, IDirect3DSurface9* pDestSurface, RECT* pDestRect, D3DTEXTUREFILTERTYPE Filter ) + HRESULT ColorFill ( IDirect3DSurface9* pSurface, RECT* pRect, D3DCOLOR color ) + HRESULT CreateOffscreenPlainSurface ( UINT Width, UINT Height, D3DFORMAT Format, D3DPOOL Pool, IDirect3DSurface9** ppSurface, HANDLE* pSharedHandle ) + HRESULT SetRenderTarget ( DWORD RenderTargetIndex, IDirect3DSurface9* pRenderTarget ) + HRESULT GetRenderTarget ( DWORD RenderTargetIndex, IDirect3DSurface9** ppRenderTarget ) + HRESULT SetDepthStencilSurface ( IDirect3DSurface9* pNewZStencil ) + HRESULT GetDepthStencilSurface ( IDirect3DSurface9** ppZStencilSurface ) + HRESULT BeginScene ( ) + HRESULT EndScene ( ) + HRESULT Clear ( DWORD Count, D3DRECT* pRects, DWORD Flags, D3DCOLOR Color, float Z, DWORD Stencil ) + HRESULT SetTransform ( D3DTRANSFORMSTATETYPE State, D3DMATRIX* pMatrix ) + HRESULT GetTransform ( D3DTRANSFORMSTATETYPE State, D3DMATRIX* pMatrix ) + HRESULT MultiplyTransform ( D3DTRANSFORMSTATETYPE, D3DMATRIX* ) + HRESULT SetViewport ( D3DVIEWPORT9* pViewport ) + HRESULT GetViewport ( D3DVIEWPORT9* pViewport ) + HRESULT SetMaterial ( D3DMATERIAL9* pMaterial ) + HRESULT GetMaterial ( D3DMATERIAL9* pMaterial ) + HRESULT SetLight ( DWORD Index, D3DLIGHT9* l ) + HRESULT GetLight ( DWORD Index, D3DLIGHT9* l ) + HRESULT LightEnable ( DWORD Index, BOOL Enable ) + HRESULT GetLightEnable ( DWORD Index, BOOL* pEnable ) + HRESULT SetClipPlane ( DWORD Index, float* pPlane ) + HRESULT GetClipPlane ( DWORD Index, float* pPlane ) + HRESULT SetRenderState ( D3DRENDERSTATETYPE State, DWORD Value ) + HRESULT GetRenderState ( D3DRENDERSTATETYPE State, DWORD* pValue ) + HRESULT CreateStateBlock ( D3DSTATEBLOCKTYPE Type, IDirect3DStateBlock9** ppSB ) + HRESULT BeginStateBlock ( ) + HRESULT EndStateBlock ( IDirect3DStateBlock9** ppSB ) + HRESULT SetClipStatus ( D3DCLIPSTATUS9* pClipStatus ) + HRESULT GetClipStatus ( D3DCLIPSTATUS9* pClipStatus ) + HRESULT GetTexture ( DWORD Stage, IDirect3DBaseTexture9** ppTexture ) + HRESULT SetTexture ( DWORD Stage, IDirect3DBaseTexture9* pTexture ) + HRESULT GetTextureStageState ( DWORD Stage, D3DTEXTURESTAGESTATETYPE Type, DWORD* pValue ) + HRESULT SetTextureStageState ( DWORD Stage, D3DTEXTURESTAGESTATETYPE Type, DWORD Value ) + HRESULT GetSamplerState ( DWORD Sampler, D3DSAMPLERSTATETYPE Type, DWORD* pValue ) + HRESULT SetSamplerState ( DWORD Sampler, D3DSAMPLERSTATETYPE Type, DWORD Value ) + HRESULT ValidateDevice ( DWORD* pNumPasses ) + HRESULT SetPaletteEntries ( UINT PaletteNumber, PALETTEENTRY* pEntries ) + HRESULT GetPaletteEntries ( UINT PaletteNumber, PALETTEENTRY* pEntries ) + HRESULT SetCurrentTexturePalette ( UINT PaletteNumber ) + HRESULT GetCurrentTexturePalette ( UINT *PaletteNumber ) + HRESULT SetScissorRect ( RECT* pRect ) + HRESULT GetScissorRect ( RECT* pRect ) + HRESULT SetSoftwareVertexProcessing ( BOOL bSoftware ) + BOOL GetSoftwareVertexProcessing ( ) + HRESULT SetNPatchMode ( float nSegments ) + float GetNPatchMode ( ) + HRESULT DrawPrimitive ( D3DPRIMITIVETYPE PrimitiveType, UINT StartVertex, UINT PrimitiveCount ) + HRESULT DrawIndexedPrimitive ( D3DPRIMITIVETYPE x, INT BaseVertexIndex, UINT MinVertexIndex, UINT NumVertices, UINT startIndex, UINT primCount ) + HRESULT DrawPrimitiveUP ( D3DPRIMITIVETYPE PrimitiveType, UINT PrimitiveCount, void* pVertexStreamZeroData, UINT VertexStreamZeroStride ) + HRESULT DrawIndexedPrimitiveUP ( D3DPRIMITIVETYPE PrimitiveType, UINT MinVertexIndex, UINT NumVertices, UINT PrimitiveCount, void* pIndexData, D3DFORMAT IndexDataFormat, void* pVertexStreamZeroData, UINT VertexStreamZeroStride ) + HRESULT ProcessVertices ( UINT SrcStartIndex, UINT DestIndex, UINT VertexCount, IDirect3DVertexBuffer9* pDestBuffer, IDirect3DVertexDeclaration9* pVertexDecl, DWORD Flags ) + HRESULT CreateVertexDeclaration ( D3DVERTEXELEMENT9* pVertexElements, IDirect3DVertexDeclaration9** ppDecl ) + HRESULT SetVertexDeclaration ( IDirect3DVertexDeclaration9* pDecl ) + HRESULT GetVertexDeclaration ( IDirect3DVertexDeclaration9** ppDecl ) + HRESULT SetFVF ( DWORD FVF ) + HRESULT GetFVF ( DWORD* pFVF ) + HRESULT CreateVertexShader ( DWORD* pFunction, IDirect3DVertexShader9** ppShader ) + HRESULT SetVertexShader ( IDirect3DVertexShader9* pShader ) + HRESULT GetVertexShader ( IDirect3DVertexShader9** ppShader ) + HRESULT SetVertexShaderConstantF ( UINT StartRegister, float* pConstantData, UINT Vector4fCount ) + HRESULT GetVertexShaderConstantF ( UINT StartRegister, float* pConstantData, UINT Vector4fCount ) + HRESULT SetVertexShaderConstantI ( UINT StartRegister, int* pConstantData, UINT Vector4iCount ) + HRESULT GetVertexShaderConstantI ( UINT StartRegister, int* pConstantData, UINT Vector4iCount ) + HRESULT SetVertexShaderConstantB ( UINT StartRegister, BOOL* pConstantData, UINT BoolCount ) + HRESULT GetVertexShaderConstantB ( UINT StartRegister, BOOL* pConstantData, UINT BoolCount ) + HRESULT SetStreamSource ( UINT StreamNumber, IDirect3DVertexBuffer9* pStreamData, UINT OffsetInBytes, UINT Stride ) + HRESULT GetStreamSource ( UINT StreamNumber, IDirect3DVertexBuffer9** ppStreamData, UINT* pOffsetInBytes, UINT* pStride ) + HRESULT SetStreamSourceFreq ( UINT StreamNumber, UINT Setting ) + HRESULT GetStreamSourceFreq ( UINT StreamNumber, UINT* pSetting ) + HRESULT SetIndices ( IDirect3DIndexBuffer9* pIndexData ) + HRESULT GetIndices ( IDirect3DIndexBuffer9** ppIndexData ) + HRESULT CreatePixelShader ( DWORD* pFunction, IDirect3DPixelShader9** ppShader ) + HRESULT SetPixelShader ( IDirect3DPixelShader9* pShader ) + HRESULT GetPixelShader ( IDirect3DPixelShader9** ppShader ) + HRESULT SetPixelShaderConstantF ( UINT StartRegister, float* pConstantData, UINT Vector4fCount ) + HRESULT GetPixelShaderConstantF ( UINT StartRegister, float* pConstantData, UINT Vector4fCount ) + HRESULT SetPixelShaderConstantI ( UINT StartRegister, int* pConstantData, UINT Vector4iCount ) + HRESULT GetPixelShaderConstantI ( UINT StartRegister, int* pConstantData, UINT Vector4iCount ) + HRESULT SetPixelShaderConstantB ( UINT StartRegister, BOOL* pConstantData, UINT BoolCount ) + HRESULT GetPixelShaderConstantB ( UINT StartRegister, BOOL* pConstantData, UINT BoolCount ) + HRESULT DrawRectPatch ( UINT Handle, float* pNumSegs, D3DRECTPATCH_INFO* pRectPatchInfo ) + HRESULT DrawTriPatch ( UINT Handle, float* pNumSegs, D3DTRIPATCH_INFO* pTriPatchInfo ) + HRESULT DeletePatch ( UINT Handle ) + HRESULT CreateQuery ( D3DQUERYTYPE Type, IDirect3DQuery9** ppQuery ) ; + +TYPEDEF: IDirect3DDevice9* LPDIRECT3DDEVICE9 +TYPEDEF: IDirect3DDevice9* PDIRECT3DDEVICE9 + +COM-INTERFACE: IDirect3DStateBlock9 IUnknown {B07C4FE5-310D-4ba8-A23C-4F0F206F218B} + HRESULT GetDevice ( IDirect3DDevice9** ppDevice ) + HRESULT Capture ( ) + HRESULT Apply ( ) ; + +COM-INTERFACE: IDirect3DSwapChain9 IUnknown {794950F2-ADFC-458a-905E-10A10B0B503B} + HRESULT Present ( RECT* pSourceRect, RECT* pDestRect, HWND hDestWindowOverride, RGNDATA* pDirtyRegion, DWORD dwFlags ) + HRESULT GetFrontBufferData ( IDirect3DSurface9* pDestSurface ) + HRESULT GetBackBuffer ( UINT iBackBuffer, D3DBACKBUFFER_TYPE Type, IDirect3DSurface9** ppBackBuffer ) + HRESULT GetRasterStatus ( D3DRASTER_STATUS* pRasterStatus ) + HRESULT GetDisplayMode ( D3DDISPLAYMODE* pMode ) + HRESULT GetDevice ( IDirect3DDevice9** ppDevice ) + HRESULT GetPresentParameters ( D3DPRESENT_PARAMETERS* pPresentationParameters ) ; + +TYPEDEF: IDirect3DSwapChain9* LPDIRECT3DSWAPCHAIN9 +TYPEDEF: IDirect3DSwapChain9* PDIRECT3DSWAPCHAIN9 + +COM-INTERFACE: IDirect3DResource9 IUnknown {05EEC05D-8F7D-4362-B999-D1BAF357C704} + HRESULT GetDevice ( IDirect3DDevice9** ppDevice ) + HRESULT SetPrivateData ( REFGUID refguid, void* pData, DWORD SizeOfData, DWORD Flags ) + HRESULT GetPrivateData ( REFGUID refguid, void* pData, DWORD* pSizeOfData ) + HRESULT FreePrivateData ( REFGUID refguid ) + DWORD SetPriority ( DWORD PriorityNew ) + DWORD GetPriority ( ) + void PreLoad ( ) + D3DRESOURCETYPE GetType ( ) ; + +TYPEDEF: IDirect3DResource9* LPDIRECT3DRESOURCE9 +TYPEDEF: IDirect3DResource9* PDIRECT3DRESOURCE9 + +COM-INTERFACE: IDirect3DVertexDeclaration9 IUnknown {DD13C59C-36FA-4098-A8FB-C7ED39DC8546} + HRESULT GetDevice ( IDirect3DDevice9** ppDevice ) + HRESULT GetDeclaration ( D3DVERTEXELEMENT9* pElement, UINT* pNumElements ) ; + +TYPEDEF: IDirect3DVertexDeclaration9* LPDIRECT3DVERTEXDECLARATION9 +TYPEDEF: IDirect3DVertexDeclaration9* PDIRECT3DVERTEXDECLARATION9 + +COM-INTERFACE: IDirect3DVertexShader9 IUnknown {EFC5557E-6265-4613-8A94-43857889EB36} + HRESULT GetDevice ( IDirect3DDevice9** ppDevice ) + HRESULT GetFunction ( void* x, UINT* pSizeOfData ) ; + +TYPEDEF: IDirect3DVertexShader9* LPDIRECT3DVERTEXSHADER9 +TYPEDEF: IDirect3DVertexShader9* PDIRECT3DVERTEXSHADER9 + +COM-INTERFACE: IDirect3DPixelShader9 IUnknown {6D3BDBDC-5B02-4415-B852-CE5E8BCCB289} + HRESULT GetDevice ( IDirect3DDevice9** ppDevice ) + HRESULT GetFunction ( void* x, UINT* pSizeOfData ) ; + +TYPEDEF: IDirect3DPixelShader9* LPDIRECT3DPIXELSHADER9 +TYPEDEF: IDirect3DPixelShader9* PDIRECT3DPIXELSHADER9 + +COM-INTERFACE: IDirect3DBaseTexture9 IDirect3DResource9 {580CA87E-1D3C-4d54-991D-B7D3E3C298CE} + DWORD SetLOD ( DWORD LODNew ) + DWORD GetLOD ( ) + DWORD GetLevelCount ( ) + HRESULT SetAutoGenFilterType ( D3DTEXTUREFILTERTYPE FilterType ) + D3DTEXTUREFILTERTYPE GetAutoGenFilterType ( ) + void GenerateMipSubLevels ( ) ; + +TYPEDEF: IDirect3DBaseTexture9* LPDIRECT3DBASETEXTURE9 +TYPEDEF: IDirect3DBaseTexture9* PDIRECT3DBASETEXTURE9 + +COM-INTERFACE: IDirect3DTexture9 IDirect3DBaseTexture9 {85C31227-3DE5-4f00-9B3A-F11AC38C18B5} + HRESULT GetLevelDesc ( UINT Level, D3DSURFACE_DESC* pDesc ) + HRESULT GetSurfaceLevel ( UINT Level, IDirect3DSurface9** ppSurfaceLevel ) + HRESULT LockRect ( UINT Level, D3DLOCKED_RECT* pLockedRect, RECT* pRect, DWORD Flags ) + HRESULT UnlockRect ( UINT Level ) ; + +TYPEDEF: IDirect3DTexture9* LPDIRECT3DTEXTURE9 +TYPEDEF: IDirect3DTexture9* PDIRECT3DTEXTURE9 + +COM-INTERFACE: IDirect3DVolumeTexture9 IDirect3DBaseTexture9 {2518526C-E789-4111-A7B9-47EF328D13E6} + HRESULT GetLevelDesc ( UINT Level, D3DVOLUME_DESC* pDesc ) + HRESULT GetVolumeLevel ( UINT Level, IDirect3DVolume9** ppVolumeLevel ) + HRESULT LockBox ( UINT Level, D3DLOCKED_BOX* pLockedVolume, D3DBOX* pBox, DWORD Flags ) + HRESULT UnlockBox ( UINT Level ) + HRESULT AddDirtyBox ( D3DBOX* pDirtyBox ) ; + +TYPEDEF: IDirect3DVolumeTexture9* LPDIRECT3DVOLUMETEXTURE9 +TYPEDEF: IDirect3DVolumeTexture9* PDIRECT3DVOLUMETEXTURE9 + +COM-INTERFACE: IDirect3DCubeTexture9 IDirect3DBaseTexture9 {FFF32F81-D953-473a-9223-93D652ABA93F} + HRESULT GetLevelDesc ( UINT Level, D3DSURFACE_DESC* pDesc ) + HRESULT GetCubeMapSurface ( D3DCUBEMAP_FACES FaceType, UINT Level, IDirect3DSurface9** ppCubeMapSurface ) + HRESULT LockRect ( D3DCUBEMAP_FACES FaceType, UINT Level, D3DLOCKED_RECT* pLockedRect, RECT* pRect, DWORD Flags ) + HRESULT UnlockRect ( D3DCUBEMAP_FACES FaceType, UINT Level ) + HRESULT AddDirtyRect ( D3DCUBEMAP_FACES FaceType, RECT* pDirtyRect ) ; + +TYPEDEF: IDirect3DCubeTexture9* LPDIRECT3DCUBETEXTURE9 +TYPEDEF: IDirect3DCubeTexture9* PDIRECT3DCUBETEXTURE9 + +COM-INTERFACE: IDirect3DVertexBuffer9 IDirect3DResource9 {B64BB1B5-FD70-4df6-BF91-19D0A12455E3} + HRESULT Lock ( UINT OffsetToLock, UINT SizeToLock, void** ppbData, DWORD Flags ) + HRESULT Unlock ( ) + HRESULT GetDesc ( D3DVERTEXBUFFER_DESC* pDesc ) ; + +TYPEDEF: IDirect3DVertexBuffer9* LPDIRECT3DVERTEXBUFFER9 +TYPEDEF: IDirect3DVertexBuffer9* PDIRECT3DVERTEXBUFFER9 + +COM-INTERFACE: IDirect3DIndexBuffer9 IDirect3DResource9 {7C9DD65E-D3F7-4529-ACEE-785830ACDE35} + HRESULT Lock ( UINT OffsetToLock, UINT SizeToLock, void** ppbData, DWORD Flags ) + HRESULT Unlock ( ) + HRESULT GetDesc ( D3DINDEXBUFFER_DESC* pDesc ) ; + +TYPEDEF: IDirect3DIndexBuffer9* LPDIRECT3DINDEXBUFFER9 +TYPEDEF: IDirect3DIndexBuffer9* PDIRECT3DINDEXBUFFER9 + +COM-INTERFACE: IDirect3DSurface9 IDirect3DResource9 {0CFBAF3A-9FF6-429a-99B3-A2796AF8B89B} + HRESULT GetContainer ( REFIID riid, void** ppContainer ) + HRESULT GetDesc ( D3DSURFACE_DESC* pDesc ) + HRESULT LockRect ( D3DLOCKED_RECT* pLockedRect, RECT* pRect, DWORD Flags ) + HRESULT UnlockRect ( ) + HRESULT GetDC ( HDC* phdc ) + HRESULT ReleaseDC ( HDC hdc ) ; + +TYPEDEF: IDirect3DSurface9* LPDIRECT3DSURFACE9 +TYPEDEF: IDirect3DSurface9* PDIRECT3DSURFACE9 + +COM-INTERFACE: IDirect3DVolume9 IUnknown {24F416E6-1F67-4aa7-B88E-D33F6F3128A1} + HRESULT GetDevice ( IDirect3DDevice9** ppDevice ) + HRESULT SetPrivateData ( REFGUID refguid, void* pData, DWORD SizeOfData, DWORD Flags ) + HRESULT GetPrivateData ( REFGUID refguid, void* pData, DWORD* pSizeOfData ) + HRESULT FreePrivateData ( REFGUID refguid ) + HRESULT GetContainer ( REFIID riid, void** ppContainer ) + HRESULT GetDesc ( D3DVOLUME_DESC *pDesc ) + HRESULT LockBox ( D3DLOCKED_BOX* pLockedVolume, D3DBOX* pBox, DWORD Flags ) + HRESULT UnlockBox ( ) ; + +TYPEDEF: IDirect3DVolume9* LPDIRECT3DVOLUME9 +TYPEDEF: IDirect3DVolume9* PDIRECT3DVOLUME9 + +COM-INTERFACE: IDirect3DQuery9 IUnknown {d9771460-a695-4f26-bbd3-27b840b541cc} + HRESULT GetDevice ( IDirect3DDevice9** ppDevice ) + D3DQUERYTYPE GetType ( ) + DWORD GetDataSize ( ) + HRESULT Issue ( DWORD dwIssueFlags ) + HRESULT GetData ( void* pData, DWORD dwSize, DWORD dwGetDataFlags ) ; + +TYPEDEF: IDirect3DQuery9* LPDIRECT3DQUERY9 +TYPEDEF: IDirect3DQuery9* PDIRECT3DQUERY9 + +CONSTANT: D3DSPD_IUNKNOWN HEX: 00000001 + +CONSTANT: D3DCREATE_FPU_PRESERVE HEX: 00000002 +CONSTANT: D3DCREATE_MULTITHREADED HEX: 00000004 + +CONSTANT: D3DCREATE_PUREDEVICE HEX: 00000010 +CONSTANT: D3DCREATE_SOFTWARE_VERTEXPROCESSING HEX: 00000020 +CONSTANT: D3DCREATE_HARDWARE_VERTEXPROCESSING HEX: 00000040 +CONSTANT: D3DCREATE_MIXED_VERTEXPROCESSING HEX: 00000080 + +CONSTANT: D3DCREATE_DISABLE_DRIVER_MANAGEMENT HEX: 00000100 +CONSTANT: D3DCREATE_ADAPTERGROUP_DEVICE HEX: 00000200 +CONSTANT: D3DCREATE_DISABLE_DRIVER_MANAGEMENT_EX HEX: 00000400 + +CONSTANT: D3DCREATE_NOWINDOWCHANGES HEX: 00000800 + +CONSTANT: D3DCREATE_DISABLE_PSGP_THREADING HEX: 00002000 +CONSTANT: D3DCREATE_ENABLE_PRESENTSTATS HEX: 00004000 +CONSTANT: D3DCREATE_DISABLE_PRINTSCREEN HEX: 00008000 +CONSTANT: D3DCREATE_SCREENSAVER HEX: 10000000 + +CONSTANT: D3DADAPTER_DEFAULT 0 +CONSTANT: D3DENUM_WHQL_LEVEL 2 +CONSTANT: D3DENUM_NO_DRIVERVERSION 4 +CONSTANT: D3DPRESENT_BACK_BUFFERS_MAX 3 +CONSTANT: D3DPRESENT_BACK_BUFFERS_MAX_EX 30 + +CONSTANT: D3DSGR_NO_CALIBRATION HEX: 00000000 +CONSTANT: D3DSGR_CALIBRATE HEX: 00000001 + +CONSTANT: D3DCURSOR_IMMEDIATE_UPDATE HEX: 00000001 + +CONSTANT: D3DPRESENT_DONOTWAIT HEX: 00000001 +CONSTANT: D3DPRESENT_LINEAR_CONTENT HEX: 00000002 + +CONSTANT: D3DPRESENT_DONOTFLIP HEX: 00000004 +CONSTANT: D3DPRESENT_FLIPRESTART HEX: 00000008 +CONSTANT: D3DPRESENT_VIDEO_RESTRICT_TO_MONITOR HEX: 00000010 +CONSTANT: D3DPRESENT_UPDATEOVERLAYONLY HEX: 00000020 +CONSTANT: D3DPRESENT_HIDEOVERLAY HEX: 00000040 +CONSTANT: D3DPRESENT_UPDATECOLORKEY HEX: 00000080 +CONSTANT: D3DPRESENT_FORCEIMMEDIATE HEX: 00000100 + +: D3D_OK ( -- n ) S_OK ; inline + +CONSTANT: D3DERR_WRONGTEXTUREFORMAT HEX: 88760818 +CONSTANT: D3DERR_UNSUPPORTEDCOLOROPERATION HEX: 88760819 +CONSTANT: D3DERR_UNSUPPORTEDCOLORARG HEX: 8876081A +CONSTANT: D3DERR_UNSUPPORTEDALPHAOPERATION HEX: 8876081B +CONSTANT: D3DERR_UNSUPPORTEDALPHAARG HEX: 8876081C +CONSTANT: D3DERR_TOOMANYOPERATIONS HEX: 8876081D +CONSTANT: D3DERR_CONFLICTINGTEXTUREFILTER HEX: 8876081E +CONSTANT: D3DERR_UNSUPPORTEDFACTORVALUE HEX: 8876081F +CONSTANT: D3DERR_CONFLICTINGRENDERSTATE HEX: 88760820 +CONSTANT: D3DERR_UNSUPPORTEDTEXTUREFILTER HEX: 88760821 +CONSTANT: D3DERR_CONFLICTINGTEXTUREPALETTE HEX: 88760825 +CONSTANT: D3DERR_DRIVERINTERNALERROR HEX: 88760826 +CONSTANT: D3DERR_NOTFOUND HEX: 88760866 +CONSTANT: D3DERR_MOREDATA HEX: 88760867 +CONSTANT: D3DERR_DEVICELOST HEX: 88760868 +CONSTANT: D3DERR_DEVICENOTRESET HEX: 88760869 +CONSTANT: D3DERR_NOTAVAILABLE HEX: 8876086A +CONSTANT: D3DERR_OUTOFVIDEOMEMORY HEX: 8876017C +CONSTANT: D3DERR_INVALIDDEVICE HEX: 8876086B +CONSTANT: D3DERR_INVALIDCALL HEX: 8876086C +CONSTANT: D3DERR_DRIVERINVALIDCALL HEX: 8876086D +CONSTANT: D3DERR_WASSTILLDRAWING HEX: 8876021C +CONSTANT: D3DOK_NOAUTOGEN HEX: 0876086F +CONSTANT: D3DERR_DEVICEREMOVED HEX: 88760870 +CONSTANT: S_NOT_RESIDENT HEX: 08760875 +CONSTANT: S_RESIDENT_IN_SHARED_MEMORY HEX: 08760876 +CONSTANT: S_PRESENT_MODE_CHANGED HEX: 08760877 +CONSTANT: S_PRESENT_OCCLUDED HEX: 08760878 +CONSTANT: D3DERR_DEVICEHUNG HEX: 88760874 +CONSTANT: D3DERR_UNSUPPORTEDOVERLAY HEX: 8876087C +CONSTANT: D3DERR_UNSUPPORTEDOVERLAYFORMAT HEX: 8876087D +CONSTANT: D3DERR_CANNOTPROTECTCONTENT HEX: 8876087E +CONSTANT: D3DERR_UNSUPPORTEDCRYPTO HEX: 8876087F +CONSTANT: D3DERR_PRESENT_STATISTICS_DISJOINT HEX: 88760884 + +FUNCTION: HRESULT Direct3DCreate9Ex ( UINT SDKVersion, IDirect3D9Ex** out ) ; + +COM-INTERFACE: IDirect3D9Ex IDirect3D9 {02177241-69FC-400C-8FF1-93A44DF6861D} + UINT GetAdapterModeCountEx ( UINT Adapter, D3DDISPLAYMODEFILTER* pFilter ) + HRESULT EnumAdapterModesEx ( UINT Adapter, D3DDISPLAYMODEFILTER* pFilter, UINT Mode, D3DDISPLAYMODEEX* pMode ) + HRESULT GetAdapterDisplayModeEx ( UINT Adapter, D3DDISPLAYMODEEX* pMode, D3DDISPLAYROTATION* pRotation ) + HRESULT CreateDeviceEx ( UINT Adapter, D3DDEVTYPE DeviceType, HWND hFocusWindow, DWORD BehaviorFlags, D3DPRESENT_PARAMETERS* pPresentationParameters, D3DDISPLAYMODEEX* pFullscreenDisplayMode, IDirect3DDevice9Ex** ppReturnedDeviceInterface ) + HRESULT GetAdapterLUID ( UINT Adapter, LUID* pLUID ) ; + +TYPEDEF: IDirect3D9Ex* LPDIRECT3D9EX +TYPEDEF: IDirect3D9Ex* PDIRECT3D9EX + +COM-INTERFACE: IDirect3DDevice9Ex IDirect3DDevice9 {B18B10CE-2649-405a-870F-95F777D4313A} + HRESULT SetConvolutionMonoKernel ( UINT width, UINT height, float* rows, float* columns ) + HRESULT ComposeRects ( IDirect3DSurface9* pSrc, IDirect3DSurface9* pDst, IDirect3DVertexBuffer9* pSrcRectDescs, UINT NumRects, IDirect3DVertexBuffer9* pDstRectDescs, D3DCOMPOSERECTSOP Operation, int Xoffset, int Yoffset ) + HRESULT PresentEx ( RECT* pSourceRect, RECT* pDestRect, HWND hDestWindowOverride, RGNDATA* pDirtyRegion, DWORD dwFlags ) + HRESULT GetGPUThreadPriority ( INT* pPriority ) + HRESULT SetGPUThreadPriority ( INT Priority ) + HRESULT WaitForVBlank ( UINT iSwapChain ) + HRESULT CheckResourceResidency ( IDirect3DResource9** pResourceArray, UINT32 NumResources ) + HRESULT SetMaximumFrameLatency ( UINT MaxLatency ) + HRESULT GetMaximumFrameLatency ( UINT* pMaxLatency ) + HRESULT CheckDeviceState ( HWND hDestinationWindow ) + HRESULT CreateRenderTargetEx ( UINT Width, UINT Height, D3DFORMAT Format, D3DMULTISAMPLE_TYPE MultiSample, DWORD MultisampleQuality, BOOL Lockable, IDirect3DSurface9** ppSurface, HANDLE* pSharedHandle, DWORD Usage ) + HRESULT CreateOffscreenPlainSurfaceEx ( UINT Width, UINT Height, D3DFORMAT Format, D3DPOOL Pool, IDirect3DSurface9** ppSurface, HANDLE* pSharedHandle, DWORD Usage ) + HRESULT CreateDepthStencilSurfaceEx ( UINT Width, UINT Height, D3DFORMAT Format, D3DMULTISAMPLE_TYPE MultiSample, DWORD MultisampleQuality, BOOL Discard, IDirect3DSurface9** ppSurface, HANDLE* pSharedHandle, DWORD Usage ) + HRESULT ResetEx ( D3DPRESENT_PARAMETERS* pPresentationParameters, D3DDISPLAYMODEEX *pFullscreenDisplayMode ) + HRESULT GetDisplayModeEx ( UINT iSwapChain, D3DDISPLAYMODEEX* pMode, D3DDISPLAYROTATION* pRotation ) ; + +TYPEDEF: IDirect3DDevice9Ex* LPDIRECT3DDEVICE9EX +TYPEDEF: IDirect3DDevice9Ex* PDIRECT3DDEVICE9EX + +COM-INTERFACE: IDirect3DSwapChain9Ex IDirect3DSwapChain9 {91886CAF-1C3D-4d2e-A0AB-3E4C7D8D3303} + HRESULT GetLastPresentCount ( UINT* pLastPresentCount ) + HRESULT GetPresentStats ( D3DPRESENTSTATS* pPresentationStatistics ) + HRESULT GetDisplayModeEx ( D3DDISPLAYMODEEX* pMode, D3DDISPLAYROTATION* pRotation ) ; + +TYPEDEF: IDirect3DSwapChain9Ex* LPDIRECT3DSWAPCHAIN9EX +TYPEDEF: IDirect3DSwapChain9Ex* PDIRECT3DSWAPCHAIN9EX + +COM-INTERFACE: IDirect3D9ExOverlayExtension IUnknown {187aeb13-aaf5-4c59-876d-e059088c0df8} + HRESULT CheckDeviceOverlayType ( UINT Adapter, D3DDEVTYPE DevType, UINT OverlayWidth, UINT OverlayHeight, D3DFORMAT OverlayFormat, D3DDISPLAYMODEEX* pDisplayMode, D3DDISPLAYROTATION DisplayRotation, D3DOVERLAYCAPS* pOverlayCaps ) ; + +TYPEDEF: IDirect3D9ExOverlayExtension* LPDIRECT3D9EXOVERLAYEXTENSION +TYPEDEF: IDirect3D9ExOverlayExtension* PDIRECT3D9EXOVERLAYEXTENSION + +COM-INTERFACE: IDirect3DDevice9Video IUnknown {26DC4561-A1EE-4ae7-96DA-118A36C0EC95} + HRESULT GetContentProtectionCaps ( GUID* pCryptoType, GUID* pDecodeProfile, D3DCONTENTPROTECTIONCAPS* pCaps ) + HRESULT CreateAuthenticatedChannel ( D3DAUTHENTICATEDCHANNELTYPE ChannelType, IDirect3DAuthenticatedChannel9** ppAuthenticatedChannel, HANDLE* pChannelHandle ) + HRESULT CreateCryptoSession ( GUID* pCryptoType, GUID* pDecodeProfile, IDirect3DCryptoSession9** ppCryptoSession, HANDLE* pCryptoHandle ) ; + +TYPEDEF: IDirect3DDevice9Video* LPDIRECT3DDEVICE9VIDEO +TYPEDEF: IDirect3DDevice9Video* PDIRECT3DDEVICE9VIDEO + +COM-INTERFACE: IDirect3DAuthenticatedChannel9 IUnknown {FF24BEEE-DA21-4beb-98B5-D2F899F98AF9} + HRESULT GetCertificateSize ( UINT* pCertificateSize ) + HRESULT GetCertificate ( UINT CertifacteSize, BYTE* ppCertificate ) + HRESULT NegotiateKeyExchange ( UINT DataSize, VOID* pData ) + HRESULT Query ( UINT InputSize, VOID* pInput, UINT OutputSize, VOID* pOutput ) + HRESULT Configure ( UINT InputSize, VOID* pInput, D3DAUTHENTICATEDCHANNEL_CONFIGURE_OUTPUT* pOutput ) ; + +TYPEDEF: IDirect3DAuthenticatedChannel9* LPDIRECT3DAUTHENTICATEDCHANNEL9 +TYPEDEF: IDirect3DAuthenticatedChannel9* PDIRECT3DAUTHENTICATEDCHANNEL9 + +COM-INTERFACE: IDirect3DCryptoSession9 IUnknown {FA0AB799-7A9C-48ca-8C5B-237E71A54434} + HRESULT GetCertificateSize ( UINT* pCertificateSize ) + HRESULT GetCertificate ( UINT CertifacteSize, BYTE* ppCertificate ) + HRESULT NegotiateKeyExchange ( UINT DataSize, VOID* pData ) + HRESULT EncryptionBlt ( IDirect3DSurface9* pSrcSurface, IDirect3DSurface9* pDstSurface, UINT DstSurfaceSize, VOID* pIV ) + HRESULT DecryptionBlt ( IDirect3DSurface9* pSrcSurface, IDirect3DSurface9* pDstSurface, UINT SrcSurfaceSize, D3DENCRYPTED_BLOCK_INFO* pEncryptedBlockInfo, VOID* pContentKey, VOID* pIV ) + HRESULT GetSurfacePitch ( IDirect3DSurface9* pSrcSurface, UINT* pSurfacePitch ) + HRESULT StartSessionKeyRefresh ( VOID* pRandomNumber, UINT RandomNumberSize ) + HRESULT FinishSessionKeyRefresh ( ) + HRESULT GetEncryptionBltKey ( VOID* pReadbackKey, UINT KeySize ) ; + +TYPEDEF: IDirect3DCryptoSession9* LPDIRECT3DCRYPTOSESSION9 +TYPEDEF: IDirect3DCryptoSession9* PDIRECT3DCRYPTOSESSION9 diff --git a/basis/windows/directx/d3d9/summary.txt b/basis/windows/directx/d3d9/summary.txt new file mode 100644 index 0000000000..aafb26a7be --- /dev/null +++ b/basis/windows/directx/d3d9/summary.txt @@ -0,0 +1 @@ +DirectX 9 bindings. Corresponds to d3d9.h. diff --git a/basis/windows/directx/d3d9/tags.txt b/basis/windows/directx/d3d9/tags.txt new file mode 100644 index 0000000000..2320bdd648 --- /dev/null +++ b/basis/windows/directx/d3d9/tags.txt @@ -0,0 +1,2 @@ +unportable +bindings diff --git a/basis/windows/directx/d3d9caps/authors.txt b/basis/windows/directx/d3d9caps/authors.txt new file mode 100644 index 0000000000..6f03a12101 --- /dev/null +++ b/basis/windows/directx/d3d9caps/authors.txt @@ -0,0 +1 @@ +Erik Charlebois diff --git a/basis/windows/directx/d3d9caps/d3d9caps.factor b/basis/windows/directx/d3d9caps/d3d9caps.factor new file mode 100644 index 0000000000..5da1961bd4 --- /dev/null +++ b/basis/windows/directx/d3d9caps/d3d9caps.factor @@ -0,0 +1,386 @@ +USING: classes.struct windows.types windows.kernel32 +windows.directx.d3d9types alien.c-types ; +IN: windows.directx.d3d9caps + +STRUCT: D3DVSHADERCAPS2_0 + { Caps DWORD } + { DynamicFlowControlDepth INT } + { NumTemps INT } + { StaticFlowControlDepth INT } ; + +CONSTANT: D3DVS20CAPS_PREDICATION 1 + +CONSTANT: D3DVS20_MAX_DYNAMICFLOWCONTROLDEPTH 24 +CONSTANT: D3DVS20_MIN_DYNAMICFLOWCONTROLDEPTH 0 +CONSTANT: D3DVS20_MAX_NUMTEMPS 32 +CONSTANT: D3DVS20_MIN_NUMTEMPS 12 +CONSTANT: D3DVS20_MAX_STATICFLOWCONTROLDEPTH 4 +CONSTANT: D3DVS20_MIN_STATICFLOWCONTROLDEPTH 1 + +STRUCT: D3DPSHADERCAPS2_0 + { Caps DWORD } + { DynamicFlowControlDepth INT } + { NumTemps INT } + { StaticFlowControlDepth INT } + { NumInstructionSlots INT } ; + +CONSTANT: D3DPS20CAPS_ARBITRARYSWIZZLE 1 +CONSTANT: D3DPS20CAPS_GRADIENTINSTRUCTIONS 2 +CONSTANT: D3DPS20CAPS_PREDICATION 4 +CONSTANT: D3DPS20CAPS_NODEPENDENTREADLIMIT 8 +CONSTANT: D3DPS20CAPS_NOTEXINSTRUCTIONLIMIT 16 + +CONSTANT: D3DPS20_MAX_DYNAMICFLOWCONTROLDEPTH 24 +CONSTANT: D3DPS20_MIN_DYNAMICFLOWCONTROLDEPTH 0 +CONSTANT: D3DPS20_MAX_NUMTEMPS 32 +CONSTANT: D3DPS20_MIN_NUMTEMPS 12 +CONSTANT: D3DPS20_MAX_STATICFLOWCONTROLDEPTH 4 +CONSTANT: D3DPS20_MIN_STATICFLOWCONTROLDEPTH 0 +CONSTANT: D3DPS20_MAX_NUMINSTRUCTIONSLOTS 512 +CONSTANT: D3DPS20_MIN_NUMINSTRUCTIONSLOTS 96 + +CONSTANT: D3DMIN30SHADERINSTRUCTIONS 512 +CONSTANT: D3DMAX30SHADERINSTRUCTIONS 32768 + +STRUCT: D3DOVERLAYCAPS + { Caps UINT } + { MaxOverlayDisplayWidth UINT } + { MaxOverlayDisplayHeight UINT } ; + +CONSTANT: D3DOVERLAYCAPS_FULLRANGERGB HEX: 00000001 +CONSTANT: D3DOVERLAYCAPS_LIMITEDRANGERGB HEX: 00000002 +CONSTANT: D3DOVERLAYCAPS_YCbCr_BT601 HEX: 00000004 +CONSTANT: D3DOVERLAYCAPS_YCbCr_BT709 HEX: 00000008 +CONSTANT: D3DOVERLAYCAPS_YCbCr_BT601_xvYCC HEX: 00000010 +CONSTANT: D3DOVERLAYCAPS_YCbCr_BT709_xvYCC HEX: 00000020 +CONSTANT: D3DOVERLAYCAPS_STRETCHX HEX: 00000040 +CONSTANT: D3DOVERLAYCAPS_STRETCHY HEX: 00000080 + + +STRUCT: D3DCONTENTPROTECTIONCAPS + { Caps DWORD } + { KeyExchangeType GUID } + { BufferAlignmentStart UINT } + { BlockAlignmentSize UINT } + { ProtectedMemorySize ULONGLONG } ; + +CONSTANT: D3DCPCAPS_SOFTWARE HEX: 00000001 +CONSTANT: D3DCPCAPS_HARDWARE HEX: 00000002 +CONSTANT: D3DCPCAPS_PROTECTIONALWAYSON HEX: 00000004 +CONSTANT: D3DCPCAPS_PARTIALDECRYPTION HEX: 00000008 +CONSTANT: D3DCPCAPS_CONTENTKEY HEX: 00000010 +CONSTANT: D3DCPCAPS_FRESHENSESSIONKEY HEX: 00000020 +CONSTANT: D3DCPCAPS_ENCRYPTEDREADBACK HEX: 00000040 +CONSTANT: D3DCPCAPS_ENCRYPTEDREADBACKKEY HEX: 00000080 +CONSTANT: D3DCPCAPS_SEQUENTIAL_CTR_IV HEX: 00000100 +CONSTANT: D3DCPCAPS_ENCRYPTSLICEDATAONLY HEX: 00000200 + +STRUCT: D3DCAPS9 + { DeviceType D3DDEVTYPE } + { AdapterOrdinal UINT } + { Caps DWORD } + { Caps2 DWORD } + { Caps3 DWORD } + { PresentationIntervals DWORD } + { CursorCaps DWORD } + { DevCaps DWORD } + { PrimitiveMiscCaps DWORD } + { RasterCaps DWORD } + { ZCmpCaps DWORD } + { SrcBlendCaps DWORD } + { DestBlendCaps DWORD } + { AlphaCmpCaps DWORD } + { ShadeCaps DWORD } + { TextureCaps DWORD } + { TextureFilterCaps DWORD } + { CubeTextureFilterCaps DWORD } + { VolumeTextureFilterCaps DWORD } + { TextureAddressCaps DWORD } + { VolumeTextureAddressCaps DWORD } + { LineCaps DWORD } + { MaxTextureWidth DWORD } + { MaxTextureHeight DWORD } + { MaxVolumeExtent DWORD } + { MaxTextureRepeat DWORD } + { MaxTextureAspectRatio DWORD } + { MaxAnisotropy DWORD } + { MaxVertexW float } + { GuardBandLeft float } + { GuardBandTop float } + { GuardBandRight float } + { GuardBandBottom float } + { ExtentsAdjust float } + { StencilCaps DWORD } + { FVFCaps DWORD } + { TextureOpCaps DWORD } + { MaxTextureBlendStages DWORD } + { MaxSimultaneousTextures DWORD } + { VertexProcessingCaps DWORD } + { MaxActiveLights DWORD } + { MaxUserClipPlanes DWORD } + { MaxVertexBlendMatrices DWORD } + { MaxVertexBlendMatrixIndex DWORD } + { MaxPointSize float } + { MaxPrimitiveCount DWORD } + { MaxVertexIndex DWORD } + { MaxStreams DWORD } + { MaxStreamStride DWORD } + { VertexShaderVersion DWORD } + { MaxVertexShaderConst DWORD } + { PixelShaderVersion DWORD } + { PixelShader1xMaxValue float } + { DevCaps2 DWORD } + { MaxNpatchTessellationLevel float } + { Reserved5 DWORD } + { MasterAdapterOrdinal UINT } + { AdapterOrdinalInGroup UINT } + { NumberOfAdaptersInGroup UINT } + { DeclTypes DWORD } + { NumSimultaneousRTs DWORD } + { StretchRectFilterCaps DWORD } + { VS20Caps D3DVSHADERCAPS2_0 } + { PS20Caps D3DPSHADERCAPS2_0 } + { VertexTextureFilterCaps DWORD } + { MaxVShaderInstructionsExecuted DWORD } + { MaxPShaderInstructionsExecuted DWORD } + { MaxVertexShader30InstructionSlots DWORD } + { MaxPixelShader30InstructionSlots DWORD } ; + +CONSTANT: D3DCAPS_OVERLAY HEX: 00000800 +CONSTANT: D3DCAPS_READ_SCANLINE HEX: 00020000 + +CONSTANT: D3DCAPS2_FULLSCREENGAMMA HEX: 00020000 +CONSTANT: D3DCAPS2_CANCALIBRATEGAMMA HEX: 00100000 +CONSTANT: D3DCAPS2_RESERVED HEX: 02000000 +CONSTANT: D3DCAPS2_CANMANAGERESOURCE HEX: 10000000 +CONSTANT: D3DCAPS2_DYNAMICTEXTURES HEX: 20000000 +CONSTANT: D3DCAPS2_CANAUTOGENMIPMAP HEX: 40000000 + +CONSTANT: D3DCAPS2_CANSHARERESOURCE HEX: 80000000 + +CONSTANT: D3DCAPS3_RESERVED HEX: 8000001f + +CONSTANT: D3DCAPS3_ALPHA_FULLSCREEN_FLIP_OR_DISCARD HEX: 00000020 + +CONSTANT: D3DCAPS3_LINEAR_TO_SRGB_PRESENTATION HEX: 00000080 + +CONSTANT: D3DCAPS3_COPY_TO_VIDMEM HEX: 00000100 +CONSTANT: D3DCAPS3_COPY_TO_SYSTEMMEM HEX: 00000200 +CONSTANT: D3DCAPS3_DXVAHD HEX: 00000400 + +CONSTANT: D3DPRESENT_INTERVAL_DEFAULT HEX: 00000000 +CONSTANT: D3DPRESENT_INTERVAL_ONE HEX: 00000001 +CONSTANT: D3DPRESENT_INTERVAL_TWO HEX: 00000002 +CONSTANT: D3DPRESENT_INTERVAL_THREE HEX: 00000004 +CONSTANT: D3DPRESENT_INTERVAL_FOUR HEX: 00000008 +CONSTANT: D3DPRESENT_INTERVAL_IMMEDIATE HEX: 80000000 + +CONSTANT: D3DCURSORCAPS_COLOR HEX: 00000001 +CONSTANT: D3DCURSORCAPS_LOWRES HEX: 00000002 + +CONSTANT: D3DDEVCAPS_EXECUTESYSTEMMEMORY HEX: 00000010 +CONSTANT: D3DDEVCAPS_EXECUTEVIDEOMEMORY HEX: 00000020 +CONSTANT: D3DDEVCAPS_TLVERTEXSYSTEMMEMORY HEX: 00000040 +CONSTANT: D3DDEVCAPS_TLVERTEXVIDEOMEMORY HEX: 00000080 +CONSTANT: D3DDEVCAPS_TEXTURESYSTEMMEMORY HEX: 00000100 +CONSTANT: D3DDEVCAPS_TEXTUREVIDEOMEMORY HEX: 00000200 +CONSTANT: D3DDEVCAPS_DRAWPRIMTLVERTEX HEX: 00000400 +CONSTANT: D3DDEVCAPS_CANRENDERAFTERFLIP HEX: 00000800 +CONSTANT: D3DDEVCAPS_TEXTURENONLOCALVIDMEM HEX: 00001000 +CONSTANT: D3DDEVCAPS_DRAWPRIMITIVES2 HEX: 00002000 +CONSTANT: D3DDEVCAPS_SEPARATETEXTUREMEMORIES HEX: 00004000 +CONSTANT: D3DDEVCAPS_DRAWPRIMITIVES2EX HEX: 00008000 +CONSTANT: D3DDEVCAPS_HWTRANSFORMANDLIGHT HEX: 00010000 +CONSTANT: D3DDEVCAPS_CANBLTSYSTONONLOCAL HEX: 00020000 +CONSTANT: D3DDEVCAPS_HWRASTERIZATION HEX: 00080000 +CONSTANT: D3DDEVCAPS_PUREDEVICE HEX: 00100000 +CONSTANT: D3DDEVCAPS_QUINTICRTPATCHES HEX: 00200000 +CONSTANT: D3DDEVCAPS_RTPATCHES HEX: 00400000 +CONSTANT: D3DDEVCAPS_RTPATCHHANDLEZERO HEX: 00800000 +CONSTANT: D3DDEVCAPS_NPATCHES HEX: 01000000 + +CONSTANT: D3DPMISCCAPS_MASKZ HEX: 00000002 +CONSTANT: D3DPMISCCAPS_CULLNONE HEX: 00000010 +CONSTANT: D3DPMISCCAPS_CULLCW HEX: 00000020 +CONSTANT: D3DPMISCCAPS_CULLCCW HEX: 00000040 +CONSTANT: D3DPMISCCAPS_COLORWRITEENABLE HEX: 00000080 +CONSTANT: D3DPMISCCAPS_CLIPPLANESCALEDPOINTS HEX: 00000100 +CONSTANT: D3DPMISCCAPS_CLIPTLVERTS HEX: 00000200 +CONSTANT: D3DPMISCCAPS_TSSARGTEMP HEX: 00000400 +CONSTANT: D3DPMISCCAPS_BLENDOP HEX: 00000800 +CONSTANT: D3DPMISCCAPS_NULLREFERENCE HEX: 00001000 +CONSTANT: D3DPMISCCAPS_INDEPENDENTWRITEMASKS HEX: 00004000 +CONSTANT: D3DPMISCCAPS_PERSTAGECONSTANT HEX: 00008000 +CONSTANT: D3DPMISCCAPS_FOGANDSPECULARALPHA HEX: 00010000 +CONSTANT: D3DPMISCCAPS_SEPARATEALPHABLEND HEX: 00020000 +CONSTANT: D3DPMISCCAPS_MRTINDEPENDENTBITDEPTHS HEX: 00040000 +CONSTANT: D3DPMISCCAPS_MRTPOSTPIXELSHADERBLENDING HEX: 00080000 +CONSTANT: D3DPMISCCAPS_FOGVERTEXCLAMPED HEX: 00100000 + +CONSTANT: D3DPMISCCAPS_POSTBLENDSRGBCONVERT HEX: 00200000 + +CONSTANT: D3DLINECAPS_TEXTURE HEX: 00000001 +CONSTANT: D3DLINECAPS_ZTEST HEX: 00000002 +CONSTANT: D3DLINECAPS_BLEND HEX: 00000004 +CONSTANT: D3DLINECAPS_ALPHACMP HEX: 00000008 +CONSTANT: D3DLINECAPS_FOG HEX: 00000010 +CONSTANT: D3DLINECAPS_ANTIALIAS HEX: 00000020 + +CONSTANT: D3DPRASTERCAPS_DITHER HEX: 00000001 +CONSTANT: D3DPRASTERCAPS_ZTEST HEX: 00000010 +CONSTANT: D3DPRASTERCAPS_FOGVERTEX HEX: 00000080 +CONSTANT: D3DPRASTERCAPS_FOGTABLE HEX: 00000100 +CONSTANT: D3DPRASTERCAPS_MIPMAPLODBIAS HEX: 00002000 +CONSTANT: D3DPRASTERCAPS_ZBUFFERLESSHSR HEX: 00008000 +CONSTANT: D3DPRASTERCAPS_FOGRANGE HEX: 00010000 +CONSTANT: D3DPRASTERCAPS_ANISOTROPY HEX: 00020000 +CONSTANT: D3DPRASTERCAPS_WBUFFER HEX: 00040000 +CONSTANT: D3DPRASTERCAPS_WFOG HEX: 00100000 +CONSTANT: D3DPRASTERCAPS_ZFOG HEX: 00200000 +CONSTANT: D3DPRASTERCAPS_COLORPERSPECTIVE HEX: 00400000 +CONSTANT: D3DPRASTERCAPS_SCISSORTEST HEX: 01000000 +CONSTANT: D3DPRASTERCAPS_SLOPESCALEDEPTHBIAS HEX: 02000000 +CONSTANT: D3DPRASTERCAPS_DEPTHBIAS HEX: 04000000 +CONSTANT: D3DPRASTERCAPS_MULTISAMPLE_TOGGLE HEX: 08000000 + +CONSTANT: D3DPCMPCAPS_NEVER HEX: 00000001 +CONSTANT: D3DPCMPCAPS_LESS HEX: 00000002 +CONSTANT: D3DPCMPCAPS_EQUAL HEX: 00000004 +CONSTANT: D3DPCMPCAPS_LESSEQUAL HEX: 00000008 +CONSTANT: D3DPCMPCAPS_GREATER HEX: 00000010 +CONSTANT: D3DPCMPCAPS_NOTEQUAL HEX: 00000020 +CONSTANT: D3DPCMPCAPS_GREATEREQUAL HEX: 00000040 +CONSTANT: D3DPCMPCAPS_ALWAYS HEX: 00000080 + +CONSTANT: D3DPBLENDCAPS_ZERO HEX: 00000001 +CONSTANT: D3DPBLENDCAPS_ONE HEX: 00000002 +CONSTANT: D3DPBLENDCAPS_SRCCOLOR HEX: 00000004 +CONSTANT: D3DPBLENDCAPS_INVSRCCOLOR HEX: 00000008 +CONSTANT: D3DPBLENDCAPS_SRCALPHA HEX: 00000010 +CONSTANT: D3DPBLENDCAPS_INVSRCALPHA HEX: 00000020 +CONSTANT: D3DPBLENDCAPS_DESTALPHA HEX: 00000040 +CONSTANT: D3DPBLENDCAPS_INVDESTALPHA HEX: 00000080 +CONSTANT: D3DPBLENDCAPS_DESTCOLOR HEX: 00000100 +CONSTANT: D3DPBLENDCAPS_INVDESTCOLOR HEX: 00000200 +CONSTANT: D3DPBLENDCAPS_SRCALPHASAT HEX: 00000400 +CONSTANT: D3DPBLENDCAPS_BOTHSRCALPHA HEX: 00000800 +CONSTANT: D3DPBLENDCAPS_BOTHINVSRCALPHA HEX: 00001000 +CONSTANT: D3DPBLENDCAPS_BLENDFACTOR HEX: 00002000 + +CONSTANT: D3DPBLENDCAPS_SRCCOLOR2 HEX: 00004000 +CONSTANT: D3DPBLENDCAPS_INVSRCCOLOR2 HEX: 00008000 + +CONSTANT: D3DPSHADECAPS_COLORGOURAUDRGB HEX: 00000008 +CONSTANT: D3DPSHADECAPS_SPECULARGOURAUDRGB HEX: 00000200 +CONSTANT: D3DPSHADECAPS_ALPHAGOURAUDBLEND HEX: 00004000 +CONSTANT: D3DPSHADECAPS_FOGGOURAUD HEX: 00080000 + +CONSTANT: D3DPTEXTURECAPS_PERSPECTIVE HEX: 00000001 +CONSTANT: D3DPTEXTURECAPS_POW2 HEX: 00000002 +CONSTANT: D3DPTEXTURECAPS_ALPHA HEX: 00000004 +CONSTANT: D3DPTEXTURECAPS_SQUAREONLY HEX: 00000020 +CONSTANT: D3DPTEXTURECAPS_TEXREPEATNOTSCALEDBYSIZE HEX: 00000040 +CONSTANT: D3DPTEXTURECAPS_ALPHAPALETTE HEX: 00000080 + +CONSTANT: D3DPTEXTURECAPS_NONPOW2CONDITIONAL HEX: 00000100 +CONSTANT: D3DPTEXTURECAPS_PROJECTED HEX: 00000400 +CONSTANT: D3DPTEXTURECAPS_CUBEMAP HEX: 00000800 +CONSTANT: D3DPTEXTURECAPS_VOLUMEMAP HEX: 00002000 +CONSTANT: D3DPTEXTURECAPS_MIPMAP HEX: 00004000 +CONSTANT: D3DPTEXTURECAPS_MIPVOLUMEMAP HEX: 00008000 +CONSTANT: D3DPTEXTURECAPS_MIPCUBEMAP HEX: 00010000 +CONSTANT: D3DPTEXTURECAPS_CUBEMAP_POW2 HEX: 00020000 +CONSTANT: D3DPTEXTURECAPS_VOLUMEMAP_POW2 HEX: 00040000 +CONSTANT: D3DPTEXTURECAPS_NOPROJECTEDBUMPENV HEX: 00200000 + +CONSTANT: D3DPTFILTERCAPS_MINFPOINT HEX: 00000100 +CONSTANT: D3DPTFILTERCAPS_MINFLINEAR HEX: 00000200 +CONSTANT: D3DPTFILTERCAPS_MINFANISOTROPIC HEX: 00000400 +CONSTANT: D3DPTFILTERCAPS_MINFPYRAMIDALQUAD HEX: 00000800 +CONSTANT: D3DPTFILTERCAPS_MINFGAUSSIANQUAD HEX: 00001000 +CONSTANT: D3DPTFILTERCAPS_MIPFPOINT HEX: 00010000 +CONSTANT: D3DPTFILTERCAPS_MIPFLINEAR HEX: 00020000 + +CONSTANT: D3DPTFILTERCAPS_CONVOLUTIONMONO HEX: 00040000 + +CONSTANT: D3DPTFILTERCAPS_MAGFPOINT HEX: 01000000 +CONSTANT: D3DPTFILTERCAPS_MAGFLINEAR HEX: 02000000 +CONSTANT: D3DPTFILTERCAPS_MAGFANISOTROPIC HEX: 04000000 +CONSTANT: D3DPTFILTERCAPS_MAGFPYRAMIDALQUAD HEX: 08000000 +CONSTANT: D3DPTFILTERCAPS_MAGFGAUSSIANQUAD HEX: 10000000 + +CONSTANT: D3DPTADDRESSCAPS_WRAP HEX: 00000001 +CONSTANT: D3DPTADDRESSCAPS_MIRROR HEX: 00000002 +CONSTANT: D3DPTADDRESSCAPS_CLAMP HEX: 00000004 +CONSTANT: D3DPTADDRESSCAPS_BORDER HEX: 00000008 +CONSTANT: D3DPTADDRESSCAPS_INDEPENDENTUV HEX: 00000010 +CONSTANT: D3DPTADDRESSCAPS_MIRRORONCE HEX: 00000020 + +CONSTANT: D3DSTENCILCAPS_KEEP HEX: 00000001 +CONSTANT: D3DSTENCILCAPS_ZERO HEX: 00000002 +CONSTANT: D3DSTENCILCAPS_REPLACE HEX: 00000004 +CONSTANT: D3DSTENCILCAPS_INCRSAT HEX: 00000008 +CONSTANT: D3DSTENCILCAPS_DECRSAT HEX: 00000010 +CONSTANT: D3DSTENCILCAPS_INVERT HEX: 00000020 +CONSTANT: D3DSTENCILCAPS_INCR HEX: 00000040 +CONSTANT: D3DSTENCILCAPS_DECR HEX: 00000080 +CONSTANT: D3DSTENCILCAPS_TWOSIDED HEX: 00000100 + +CONSTANT: D3DTEXOPCAPS_DISABLE HEX: 00000001 +CONSTANT: D3DTEXOPCAPS_SELECTARG1 HEX: 00000002 +CONSTANT: D3DTEXOPCAPS_SELECTARG2 HEX: 00000004 +CONSTANT: D3DTEXOPCAPS_MODULATE HEX: 00000008 +CONSTANT: D3DTEXOPCAPS_MODULATE2X HEX: 00000010 +CONSTANT: D3DTEXOPCAPS_MODULATE4X HEX: 00000020 +CONSTANT: D3DTEXOPCAPS_ADD HEX: 00000040 +CONSTANT: D3DTEXOPCAPS_ADDSIGNED HEX: 00000080 +CONSTANT: D3DTEXOPCAPS_ADDSIGNED2X HEX: 00000100 +CONSTANT: D3DTEXOPCAPS_SUBTRACT HEX: 00000200 +CONSTANT: D3DTEXOPCAPS_ADDSMOOTH HEX: 00000400 +CONSTANT: D3DTEXOPCAPS_BLENDDIFFUSEALPHA HEX: 00000800 +CONSTANT: D3DTEXOPCAPS_BLENDTEXTUREALPHA HEX: 00001000 +CONSTANT: D3DTEXOPCAPS_BLENDFACTORALPHA HEX: 00002000 +CONSTANT: D3DTEXOPCAPS_BLENDTEXTUREALPHAPM HEX: 00004000 +CONSTANT: D3DTEXOPCAPS_BLENDCURRENTALPHA HEX: 00008000 +CONSTANT: D3DTEXOPCAPS_PREMODULATE HEX: 00010000 +CONSTANT: D3DTEXOPCAPS_MODULATEALPHA_ADDCOLOR HEX: 00020000 +CONSTANT: D3DTEXOPCAPS_MODULATECOLOR_ADDALPHA HEX: 00040000 +CONSTANT: D3DTEXOPCAPS_MODULATEINVALPHA_ADDCOLOR HEX: 00080000 +CONSTANT: D3DTEXOPCAPS_MODULATEINVCOLOR_ADDALPHA HEX: 00100000 +CONSTANT: D3DTEXOPCAPS_BUMPENVMAP HEX: 00200000 +CONSTANT: D3DTEXOPCAPS_BUMPENVMAPLUMINANCE HEX: 00400000 +CONSTANT: D3DTEXOPCAPS_DOTPRODUCT3 HEX: 00800000 +CONSTANT: D3DTEXOPCAPS_MULTIPLYADD HEX: 01000000 +CONSTANT: D3DTEXOPCAPS_LERP HEX: 02000000 + +CONSTANT: D3DFVFCAPS_TEXCOORDCOUNTMASK HEX: 0000ffff +CONSTANT: D3DFVFCAPS_DONOTSTRIPELEMENTS HEX: 00080000 +CONSTANT: D3DFVFCAPS_PSIZE HEX: 00100000 + +CONSTANT: D3DVTXPCAPS_TEXGEN HEX: 00000001 +CONSTANT: D3DVTXPCAPS_MATERIALSOURCE7 HEX: 00000002 +CONSTANT: D3DVTXPCAPS_DIRECTIONALLIGHTS HEX: 00000008 +CONSTANT: D3DVTXPCAPS_POSITIONALLIGHTS HEX: 00000010 +CONSTANT: D3DVTXPCAPS_LOCALVIEWER HEX: 00000020 +CONSTANT: D3DVTXPCAPS_TWEENING HEX: 00000040 +CONSTANT: D3DVTXPCAPS_TEXGEN_SPHEREMAP HEX: 00000100 +CONSTANT: D3DVTXPCAPS_NO_TEXGEN_NONLOCALVIEWER HEX: 00000200 + +CONSTANT: D3DDEVCAPS2_STREAMOFFSET HEX: 00000001 +CONSTANT: D3DDEVCAPS2_DMAPNPATCH HEX: 00000002 +CONSTANT: D3DDEVCAPS2_ADAPTIVETESSRTPATCH HEX: 00000004 +CONSTANT: D3DDEVCAPS2_ADAPTIVETESSNPATCH HEX: 00000008 +CONSTANT: D3DDEVCAPS2_CAN_STRETCHRECT_FROM_TEXTURES HEX: 00000010 +CONSTANT: D3DDEVCAPS2_PRESAMPLEDDMAPNPATCH HEX: 00000020 +CONSTANT: D3DDEVCAPS2_VERTEXELEMENTSCANSHARESTREAMOFFSET HEX: 00000040 + +CONSTANT: D3DDTCAPS_UBYTE4 HEX: 00000001 +CONSTANT: D3DDTCAPS_UBYTE4N HEX: 00000002 +CONSTANT: D3DDTCAPS_SHORT2N HEX: 00000004 +CONSTANT: D3DDTCAPS_SHORT4N HEX: 00000008 +CONSTANT: D3DDTCAPS_USHORT2N HEX: 00000010 +CONSTANT: D3DDTCAPS_USHORT4N HEX: 00000020 +CONSTANT: D3DDTCAPS_UDEC3 HEX: 00000040 +CONSTANT: D3DDTCAPS_DEC3N HEX: 00000080 +CONSTANT: D3DDTCAPS_FLOAT16_2 HEX: 00000100 +CONSTANT: D3DDTCAPS_FLOAT16_4 HEX: 00000200 diff --git a/basis/windows/directx/d3d9caps/summary.txt b/basis/windows/directx/d3d9caps/summary.txt new file mode 100644 index 0000000000..52f7cef612 --- /dev/null +++ b/basis/windows/directx/d3d9caps/summary.txt @@ -0,0 +1 @@ +DirectX 9 bindings. Corresponds to d3d9caps.h. diff --git a/basis/windows/directx/d3d9caps/tags.txt b/basis/windows/directx/d3d9caps/tags.txt new file mode 100644 index 0000000000..2320bdd648 --- /dev/null +++ b/basis/windows/directx/d3d9caps/tags.txt @@ -0,0 +1,2 @@ +unportable +bindings diff --git a/basis/windows/directx/d3d9types/authors.txt b/basis/windows/directx/d3d9types/authors.txt new file mode 100644 index 0000000000..6f03a12101 --- /dev/null +++ b/basis/windows/directx/d3d9types/authors.txt @@ -0,0 +1 @@ +Erik Charlebois diff --git a/basis/windows/directx/d3d9types/d3d9types.factor b/basis/windows/directx/d3d9types/d3d9types.factor new file mode 100644 index 0000000000..9f4358f658 --- /dev/null +++ b/basis/windows/directx/d3d9types/d3d9types.factor @@ -0,0 +1,1520 @@ +USING: alien.syntax windows.types classes.struct math alien.c-types +math.bitwise kernel locals windows.kernel32 ; +IN: windows.directx.d3d9types + +TYPEDEF: DWORD D3DCOLOR + +STRUCT: D3DVECTOR + { x FLOAT } + { y FLOAT } + { z FLOAT } ; + +STRUCT: D3DCOLORVALUE + { r FLOAT } + { g FLOAT } + { b FLOAT } + { a FLOAT } ; + +STRUCT: D3DRECT + { x1 LONG } + { y1 LONG } + { x2 LONG } + { y2 LONG } ; + +STRUCT: D3DMATRIX + { m FLOAT[4][4] } ; + +STRUCT: D3DVIEWPORT9 + { X DWORD } + { Y DWORD } + { Width DWORD } + { Height DWORD } + { MinZ FLOAT } + { MaxZ FLOAT } ; + +CONSTANT: D3DMAXUSERCLIPPLANES 32 + +CONSTANT: D3DCLIPPLANE0 1 +CONSTANT: D3DCLIPPLANE1 2 +CONSTANT: D3DCLIPPLANE2 4 +CONSTANT: D3DCLIPPLANE3 8 +CONSTANT: D3DCLIPPLANE4 16 +CONSTANT: D3DCLIPPLANE5 32 + +CONSTANT: D3DCS_LEFT HEX: 00000001 +CONSTANT: D3DCS_RIGHT HEX: 00000002 +CONSTANT: D3DCS_TOP HEX: 00000004 +CONSTANT: D3DCS_BOTTOM HEX: 00000008 +CONSTANT: D3DCS_FRONT HEX: 00000010 +CONSTANT: D3DCS_BACK HEX: 00000020 +CONSTANT: D3DCS_PLANE0 HEX: 00000040 +CONSTANT: D3DCS_PLANE1 HEX: 00000080 +CONSTANT: D3DCS_PLANE2 HEX: 00000100 +CONSTANT: D3DCS_PLANE3 HEX: 00000200 +CONSTANT: D3DCS_PLANE4 HEX: 00000400 +CONSTANT: D3DCS_PLANE5 HEX: 00000800 + +: D3DCS_ALL ( -- n ) + { D3DCS_LEFT + D3DCS_RIGHT + D3DCS_TOP + D3DCS_BOTTOM + D3DCS_FRONT + D3DCS_BACK + D3DCS_PLANE0 + D3DCS_PLANE1 + D3DCS_PLANE2 + D3DCS_PLANE3 + D3DCS_PLANE4 + D3DCS_PLANE5 } flags ; inline + +STRUCT: D3DCLIPSTATUS9 + { ClipUnion DWORD } + { ClipIntersection DWORD } ; + +STRUCT: D3DMATERIAL9 + { Diffuse D3DCOLORVALUE } + { Ambient D3DCOLORVALUE } + { Specular D3DCOLORVALUE } + { Emissive D3DCOLORVALUE } + { Power FLOAT } ; + +TYPEDEF: int D3DLIGHTTYPE +CONSTANT: D3DLIGHT_POINT 1 +CONSTANT: D3DLIGHT_SPOT 2 +CONSTANT: D3DLIGHT_DIRECTIONAL 3 +CONSTANT: D3DLIGHT_FORCE_DWORD HEX: 7fffffff + +STRUCT: D3DLIGHT9 + { Type D3DLIGHTTYPE } + { Diffuse D3DCOLORVALUE } + { Specular D3DCOLORVALUE } + { Ambient D3DCOLORVALUE } + { Position D3DVECTOR } + { Direction D3DVECTOR } + { Range FLOAT } + { Falloff FLOAT } + { Attenuation0 FLOAT } + { Attenuation1 FLOAT } + { Attenuation2 FLOAT } + { Theta FLOAT } + { Phi FLOAT } ; + +CONSTANT: D3DCLEAR_TARGET HEX: 00000001 +CONSTANT: D3DCLEAR_ZBUFFER HEX: 00000002 +CONSTANT: D3DCLEAR_STENCIL HEX: 00000004 + +TYPEDEF: int D3DSHADEMODE +CONSTANT: D3DSHADE_FLAT 1 +CONSTANT: D3DSHADE_GOURAUD 2 +CONSTANT: D3DSHADE_PHONG 3 +CONSTANT: D3DSHADE_FORCE_DWORD HEX: 7fffffff + +TYPEDEF: int D3DFILLMODE +CONSTANT: D3DFILL_POINT 1 +CONSTANT: D3DFILL_WIREFRAME 2 +CONSTANT: D3DFILL_SOLID 3 +CONSTANT: D3DFILL_FORCE_DWORD HEX: 7fffffff + +TYPEDEF: int D3DBLEND +CONSTANT: D3DBLEND_ZERO 1 +CONSTANT: D3DBLEND_ONE 2 +CONSTANT: D3DBLEND_SRCCOLOR 3 +CONSTANT: D3DBLEND_INVSRCCOLOR 4 +CONSTANT: D3DBLEND_SRCALPHA 5 +CONSTANT: D3DBLEND_INVSRCALPHA 6 +CONSTANT: D3DBLEND_DESTALPHA 7 +CONSTANT: D3DBLEND_INVDESTALPHA 8 +CONSTANT: D3DBLEND_DESTCOLOR 9 +CONSTANT: D3DBLEND_INVDESTCOLOR 10 +CONSTANT: D3DBLEND_SRCALPHASAT 11 +CONSTANT: D3DBLEND_BOTHSRCALPHA 12 +CONSTANT: D3DBLEND_BOTHINVSRCALPHA 13 +CONSTANT: D3DBLEND_BLENDFACTOR 14 +CONSTANT: D3DBLEND_INVBLENDFACTOR 15 +CONSTANT: D3DBLEND_SRCCOLOR2 16 +CONSTANT: D3DBLEND_INVSRCCOLOR2 17 +CONSTANT: D3DBLEND_FORCE_DWORD HEX: 7fffffff + +TYPEDEF: int D3DBLENDOP +CONSTANT: D3DBLENDOP_ADD 1 +CONSTANT: D3DBLENDOP_SUBTRACT 2 +CONSTANT: D3DBLENDOP_REVSUBTRACT 3 +CONSTANT: D3DBLENDOP_MIN 4 +CONSTANT: D3DBLENDOP_MAX 5 +CONSTANT: D3DBLENDOP_FORCE_DWORD HEX: 7fffffff + +TYPEDEF: int D3DTEXTUREADDRESS +CONSTANT: D3DTADDRESS_WRAP 1 +CONSTANT: D3DTADDRESS_MIRROR 2 +CONSTANT: D3DTADDRESS_CLAMP 3 +CONSTANT: D3DTADDRESS_BORDER 4 +CONSTANT: D3DTADDRESS_MIRRORONCE 5 +CONSTANT: D3DTADDRESS_FORCE_DWORD HEX: 7fffffff + +TYPEDEF: int D3DCULL +CONSTANT: D3DCULL_NONE 1 +CONSTANT: D3DCULL_CW 2 +CONSTANT: D3DCULL_CCW 3 +CONSTANT: D3DCULL_FORCE_DWORD HEX: 7fffffff + +TYPEDEF: int D3DCMPFUNC +CONSTANT: D3DCMP_NEVER 1 +CONSTANT: D3DCMP_LESS 2 +CONSTANT: D3DCMP_EQUAL 3 +CONSTANT: D3DCMP_LESSEQUAL 4 +CONSTANT: D3DCMP_GREATER 5 +CONSTANT: D3DCMP_NOTEQUAL 6 +CONSTANT: D3DCMP_GREATEREQUAL 7 +CONSTANT: D3DCMP_ALWAYS 8 +CONSTANT: D3DCMP_FORCE_DWORD HEX: 7fffffff + +TYPEDEF: int D3DSTENCILOP +CONSTANT: D3DSTENCILOP_KEEP 1 +CONSTANT: D3DSTENCILOP_ZERO 2 +CONSTANT: D3DSTENCILOP_REPLACE 3 +CONSTANT: D3DSTENCILOP_INCRSAT 4 +CONSTANT: D3DSTENCILOP_DECRSAT 5 +CONSTANT: D3DSTENCILOP_INVERT 6 +CONSTANT: D3DSTENCILOP_INCR 7 +CONSTANT: D3DSTENCILOP_DECR 8 +CONSTANT: D3DSTENCILOP_FORCE_DWORD HEX: 7fffffff + +TYPEDEF: int D3DFOGMODE +CONSTANT: D3DFOG_NONE 0 +CONSTANT: D3DFOG_EXP 1 +CONSTANT: D3DFOG_EXP2 2 +CONSTANT: D3DFOG_LINEAR 3 +CONSTANT: D3DFOG_FORCE_DWORD HEX: 7fffffff + +TYPEDEF: int D3DZBUFFERTYPE +CONSTANT: D3DZB_FALSE 0 +CONSTANT: D3DZB_TRUE 1 +CONSTANT: D3DZB_USEW 2 +CONSTANT: D3DZB_FORCE_DWORD HEX: 7fffffff + +TYPEDEF: int D3DPRIMITIVETYPE +CONSTANT: D3DPT_POINTLIST 1 +CONSTANT: D3DPT_LINELIST 2 +CONSTANT: D3DPT_LINESTRIP 3 +CONSTANT: D3DPT_TRIANGLELIST 4 +CONSTANT: D3DPT_TRIANGLESTRIP 5 +CONSTANT: D3DPT_TRIANGLEFAN 6 +CONSTANT: D3DPT_FORCE_DWORD HEX: 7fffffff + +TYPEDEF: int D3DTRANSFORMSTATETYPE +CONSTANT: D3DTS_VIEW 2 +CONSTANT: D3DTS_PROJECTION 3 +CONSTANT: D3DTS_TEXTURE0 16 +CONSTANT: D3DTS_TEXTURE1 17 +CONSTANT: D3DTS_TEXTURE2 18 +CONSTANT: D3DTS_TEXTURE3 19 +CONSTANT: D3DTS_TEXTURE4 20 +CONSTANT: D3DTS_TEXTURE5 21 +CONSTANT: D3DTS_TEXTURE6 22 +CONSTANT: D3DTS_TEXTURE7 23 +CONSTANT: D3DTS_FORCE_DWORD HEX: 7fffffff + +TYPEDEF: int D3DRENDERSTATETYPE +CONSTANT: D3DRS_ZENABLE 7 +CONSTANT: D3DRS_FILLMODE 8 +CONSTANT: D3DRS_SHADEMODE 9 +CONSTANT: D3DRS_ZWRITEENABLE 14 +CONSTANT: D3DRS_ALPHATESTENABLE 15 +CONSTANT: D3DRS_LASTPIXEL 16 +CONSTANT: D3DRS_SRCBLEND 19 +CONSTANT: D3DRS_DESTBLEND 20 +CONSTANT: D3DRS_CULLMODE 22 +CONSTANT: D3DRS_ZFUNC 23 +CONSTANT: D3DRS_ALPHAREF 24 +CONSTANT: D3DRS_ALPHAFUNC 25 +CONSTANT: D3DRS_DITHERENABLE 26 +CONSTANT: D3DRS_ALPHABLENDENABLE 27 +CONSTANT: D3DRS_FOGENABLE 28 +CONSTANT: D3DRS_SPECULARENABLE 29 +CONSTANT: D3DRS_FOGCOLOR 34 +CONSTANT: D3DRS_FOGTABLEMODE 35 +CONSTANT: D3DRS_FOGSTART 36 +CONSTANT: D3DRS_FOGEND 37 +CONSTANT: D3DRS_FOGDENSITY 38 +CONSTANT: D3DRS_RANGEFOGENABLE 48 +CONSTANT: D3DRS_STENCILENABLE 52 +CONSTANT: D3DRS_STENCILFAIL 53 +CONSTANT: D3DRS_STENCILZFAIL 54 +CONSTANT: D3DRS_STENCILPASS 55 +CONSTANT: D3DRS_STENCILFUNC 56 +CONSTANT: D3DRS_STENCILREF 57 +CONSTANT: D3DRS_STENCILMASK 58 +CONSTANT: D3DRS_STENCILWRITEMASK 59 +CONSTANT: D3DRS_TEXTUREFACTOR 60 +CONSTANT: D3DRS_WRAP0 128 +CONSTANT: D3DRS_WRAP1 129 +CONSTANT: D3DRS_WRAP2 130 +CONSTANT: D3DRS_WRAP3 131 +CONSTANT: D3DRS_WRAP4 132 +CONSTANT: D3DRS_WRAP5 133 +CONSTANT: D3DRS_WRAP6 134 +CONSTANT: D3DRS_WRAP7 135 +CONSTANT: D3DRS_CLIPPING 136 +CONSTANT: D3DRS_LIGHTING 137 +CONSTANT: D3DRS_AMBIENT 139 +CONSTANT: D3DRS_FOGVERTEXMODE 140 +CONSTANT: D3DRS_COLORVERTEX 141 +CONSTANT: D3DRS_LOCALVIEWER 142 +CONSTANT: D3DRS_NORMALIZENORMALS 143 +CONSTANT: D3DRS_DIFFUSEMATERIALSOURCE 145 +CONSTANT: D3DRS_SPECULARMATERIALSOURCE 146 +CONSTANT: D3DRS_AMBIENTMATERIALSOURCE 147 +CONSTANT: D3DRS_EMISSIVEMATERIALSOURCE 148 +CONSTANT: D3DRS_VERTEXBLEND 151 +CONSTANT: D3DRS_CLIPPLANEENABLE 152 +CONSTANT: D3DRS_POINTSIZE 154 +CONSTANT: D3DRS_POINTSIZE_MIN 155 +CONSTANT: D3DRS_POINTSPRITEENABLE 156 +CONSTANT: D3DRS_POINTSCALEENABLE 157 +CONSTANT: D3DRS_POINTSCALE_A 158 +CONSTANT: D3DRS_POINTSCALE_B 159 +CONSTANT: D3DRS_POINTSCALE_C 160 +CONSTANT: D3DRS_MULTISAMPLEANTIALIAS 161 +CONSTANT: D3DRS_MULTISAMPLEMASK 162 +CONSTANT: D3DRS_PATCHEDGESTYLE 163 +CONSTANT: D3DRS_DEBUGMONITORTOKEN 165 +CONSTANT: D3DRS_POINTSIZE_MAX 166 +CONSTANT: D3DRS_INDEXEDVERTEXBLENDENABLE 167 +CONSTANT: D3DRS_COLORWRITEENABLE 168 +CONSTANT: D3DRS_TWEENFACTOR 170 +CONSTANT: D3DRS_BLENDOP 171 +CONSTANT: D3DRS_POSITIONDEGREE 172 +CONSTANT: D3DRS_NORMALDEGREE 173 +CONSTANT: D3DRS_SCISSORTESTENABLE 174 +CONSTANT: D3DRS_SLOPESCALEDEPTHBIAS 175 +CONSTANT: D3DRS_ANTIALIASEDLINEENABLE 176 +CONSTANT: D3DRS_MINTESSELLATIONLEVEL 178 +CONSTANT: D3DRS_MAXTESSELLATIONLEVEL 179 +CONSTANT: D3DRS_ADAPTIVETESS_X 180 +CONSTANT: D3DRS_ADAPTIVETESS_Y 181 +CONSTANT: D3DRS_ADAPTIVETESS_Z 182 +CONSTANT: D3DRS_ADAPTIVETESS_W 183 +CONSTANT: D3DRS_ENABLEADAPTIVETESSELLATION 184 +CONSTANT: D3DRS_TWOSIDEDSTENCILMODE 185 +CONSTANT: D3DRS_CCW_STENCILFAIL 186 +CONSTANT: D3DRS_CCW_STENCILZFAIL 187 +CONSTANT: D3DRS_CCW_STENCILPASS 188 +CONSTANT: D3DRS_CCW_STENCILFUNC 189 +CONSTANT: D3DRS_COLORWRITEENABLE1 190 +CONSTANT: D3DRS_COLORWRITEENABLE2 191 +CONSTANT: D3DRS_COLORWRITEENABLE3 192 +CONSTANT: D3DRS_BLENDFACTOR 193 +CONSTANT: D3DRS_SRGBWRITEENABLE 194 +CONSTANT: D3DRS_DEPTHBIAS 195 +CONSTANT: D3DRS_WRAP8 198 +CONSTANT: D3DRS_WRAP9 199 +CONSTANT: D3DRS_WRAP10 200 +CONSTANT: D3DRS_WRAP11 201 +CONSTANT: D3DRS_WRAP12 202 +CONSTANT: D3DRS_WRAP13 203 +CONSTANT: D3DRS_WRAP14 204 +CONSTANT: D3DRS_WRAP15 205 +CONSTANT: D3DRS_SEPARATEALPHABLENDENABLE 206 +CONSTANT: D3DRS_SRCBLENDALPHA 207 +CONSTANT: D3DRS_DESTBLENDALPHA 208 +CONSTANT: D3DRS_BLENDOPALPHA 209 +CONSTANT: D3DRS_FORCE_DWORD HEX: 7fffffff + +CONSTANT: D3D_MAX_SIMULTANEOUS_RENDERTARGETS 4 + +TYPEDEF: int D3DMATERIALCOLORSOURCE +CONSTANT: D3DMCS_MATERIAL 0 +CONSTANT: D3DMCS_COLOR1 1 +CONSTANT: D3DMCS_COLOR2 2 +CONSTANT: D3DMCS_FORCE_DWORD HEX: 7fffffff + +CONSTANT: D3DRENDERSTATE_WRAPBIAS 128 + +CONSTANT: D3DWRAP_U HEX: 00000001 +CONSTANT: D3DWRAP_V HEX: 00000002 +CONSTANT: D3DWRAP_W HEX: 00000004 + +CONSTANT: D3DWRAPCOORD_0 HEX: 00000001 +CONSTANT: D3DWRAPCOORD_1 HEX: 00000002 +CONSTANT: D3DWRAPCOORD_2 HEX: 00000004 +CONSTANT: D3DWRAPCOORD_3 HEX: 00000008 + +CONSTANT: D3DCOLORWRITEENABLE_RED 1 +CONSTANT: D3DCOLORWRITEENABLE_GREEN 2 +CONSTANT: D3DCOLORWRITEENABLE_BLUE 4 +CONSTANT: D3DCOLORWRITEENABLE_ALPHA 8 + +TYPEDEF: int D3DTEXTURESTAGESTATETYPE +CONSTANT: D3DTSS_COLOROP 1 +CONSTANT: D3DTSS_COLORARG1 2 +CONSTANT: D3DTSS_COLORARG2 3 +CONSTANT: D3DTSS_ALPHAOP 4 +CONSTANT: D3DTSS_ALPHAARG1 5 +CONSTANT: D3DTSS_ALPHAARG2 6 +CONSTANT: D3DTSS_BUMPENVMAT00 7 +CONSTANT: D3DTSS_BUMPENVMAT01 8 +CONSTANT: D3DTSS_BUMPENVMAT10 9 +CONSTANT: D3DTSS_BUMPENVMAT11 10 +CONSTANT: D3DTSS_TEXCOORDINDEX 11 +CONSTANT: D3DTSS_BUMPENVLSCALE 22 +CONSTANT: D3DTSS_BUMPENVLOFFSET 23 +CONSTANT: D3DTSS_TEXTURETRANSFORMFLAGS 24 +CONSTANT: D3DTSS_COLORARG0 26 +CONSTANT: D3DTSS_ALPHAARG0 27 +CONSTANT: D3DTSS_RESULTARG 28 +CONSTANT: D3DTSS_CONSTANT 32 +CONSTANT: D3DTSS_FORCE_DWORD HEX: 7fffffff + +TYPEDEF: int D3DSAMPLERSTATETYPE +CONSTANT: D3DSAMP_ADDRESSU 1 +CONSTANT: D3DSAMP_ADDRESSV 2 +CONSTANT: D3DSAMP_ADDRESSW 3 +CONSTANT: D3DSAMP_BORDERCOLOR 4 +CONSTANT: D3DSAMP_MAGFILTER 5 +CONSTANT: D3DSAMP_MINFILTER 6 +CONSTANT: D3DSAMP_MIPFILTER 7 +CONSTANT: D3DSAMP_MIPMAPLODBIAS 8 +CONSTANT: D3DSAMP_MAXMIPLEVEL 9 +CONSTANT: D3DSAMP_MAXANISOTROPY 10 +CONSTANT: D3DSAMP_SRGBTEXTURE 11 +CONSTANT: D3DSAMP_ELEMENTINDEX 12 +CONSTANT: D3DSAMP_DMAPOFFSET 13 +CONSTANT: D3DSAMP_FORCE_DWORD HEX: 7fffffff + +CONSTANT: D3DDMAPSAMPLER 256 + +CONSTANT: D3DVERTEXTEXTURESAMPLER0 257 +CONSTANT: D3DVERTEXTEXTURESAMPLER1 258 +CONSTANT: D3DVERTEXTEXTURESAMPLER2 259 +CONSTANT: D3DVERTEXTEXTURESAMPLER3 260 + +CONSTANT: D3DTSS_TCI_PASSTHRU HEX: 00000000 +CONSTANT: D3DTSS_TCI_CAMERASPACENORMAL HEX: 00010000 +CONSTANT: D3DTSS_TCI_CAMERASPACEPOSITION HEX: 00020000 +CONSTANT: D3DTSS_TCI_CAMERASPACEREFLECTIONVECTOR HEX: 00030000 +CONSTANT: D3DTSS_TCI_SPHEREMAP HEX: 00040000 + +TYPEDEF: int D3DTEXTUREOP +CONSTANT: D3DTOP_DISABLE 1 +CONSTANT: D3DTOP_SELECTARG1 2 +CONSTANT: D3DTOP_SELECTARG2 3 +CONSTANT: D3DTOP_MODULATE 4 +CONSTANT: D3DTOP_MODULATE2X 5 +CONSTANT: D3DTOP_MODULATE4X 6 +CONSTANT: D3DTOP_ADD 7 +CONSTANT: D3DTOP_ADDSIGNED 8 +CONSTANT: D3DTOP_ADDSIGNED2X 9 +CONSTANT: D3DTOP_SUBTRACT 10 +CONSTANT: D3DTOP_ADDSMOOTH 11 +CONSTANT: D3DTOP_BLENDDIFFUSEALPHA 12 +CONSTANT: D3DTOP_BLENDTEXTUREALPHA 13 +CONSTANT: D3DTOP_BLENDFACTORALPHA 14 +CONSTANT: D3DTOP_BLENDTEXTUREALPHAPM 15 +CONSTANT: D3DTOP_BLENDCURRENTALPHA 16 +CONSTANT: D3DTOP_PREMODULATE 17 +CONSTANT: D3DTOP_MODULATEALPHA_ADDCOLOR 18 +CONSTANT: D3DTOP_MODULATECOLOR_ADDALPHA 19 +CONSTANT: D3DTOP_MODULATEINVALPHA_ADDCOLOR 20 +CONSTANT: D3DTOP_MODULATEINVCOLOR_ADDALPHA 21 +CONSTANT: D3DTOP_BUMPENVMAP 22 +CONSTANT: D3DTOP_BUMPENVMAPLUMINANCE 23 +CONSTANT: D3DTOP_DOTPRODUCT3 24 +CONSTANT: D3DTOP_MULTIPLYADD 25 +CONSTANT: D3DTOP_LERP 26 +CONSTANT: D3DTOP_FORCE_DWORD HEX: 7fffffff + +CONSTANT: D3DTA_SELECTMASK HEX: 0000000f +CONSTANT: D3DTA_DIFFUSE HEX: 00000000 +CONSTANT: D3DTA_CURRENT HEX: 00000001 +CONSTANT: D3DTA_TEXTURE HEX: 00000002 +CONSTANT: D3DTA_TFACTOR HEX: 00000003 +CONSTANT: D3DTA_SPECULAR HEX: 00000004 +CONSTANT: D3DTA_TEMP HEX: 00000005 +CONSTANT: D3DTA_CONSTANT HEX: 00000006 +CONSTANT: D3DTA_COMPLEMENT HEX: 00000010 +CONSTANT: D3DTA_ALPHAREPLICATE HEX: 00000020 + +TYPEDEF: int D3DTEXTUREFILTERTYPE +CONSTANT: D3DTEXF_NONE 0 +CONSTANT: D3DTEXF_POINT 1 +CONSTANT: D3DTEXF_LINEAR 2 +CONSTANT: D3DTEXF_ANISOTROPIC 3 +CONSTANT: D3DTEXF_PYRAMIDALQUAD 6 +CONSTANT: D3DTEXF_GAUSSIANQUAD 7 +CONSTANT: D3DTEXF_CONVOLUTIONMONO 8 +CONSTANT: D3DTEXF_FORCE_DWORD HEX: 7fffffff + +CONSTANT: D3DPV_DONOTCOPYDATA 1 + +CONSTANT: D3DFVF_RESERVED0 HEX: 001 +CONSTANT: D3DFVF_POSITION_MASK HEX: 400E +CONSTANT: D3DFVF_XYZ HEX: 002 +CONSTANT: D3DFVF_XYZRHW HEX: 004 +CONSTANT: D3DFVF_XYZB1 HEX: 006 +CONSTANT: D3DFVF_XYZB2 HEX: 008 +CONSTANT: D3DFVF_XYZB3 HEX: 00a +CONSTANT: D3DFVF_XYZB4 HEX: 00c +CONSTANT: D3DFVF_XYZB5 HEX: 00e +CONSTANT: D3DFVF_XYZW HEX: 4002 + +CONSTANT: D3DFVF_NORMAL HEX: 010 +CONSTANT: D3DFVF_PSIZE HEX: 020 +CONSTANT: D3DFVF_DIFFUSE HEX: 040 +CONSTANT: D3DFVF_SPECULAR HEX: 080 + +CONSTANT: D3DFVF_TEXCOUNT_MASK HEX: f00 +CONSTANT: D3DFVF_TEXCOUNT_SHIFT 8 +CONSTANT: D3DFVF_TEX0 HEX: 000 +CONSTANT: D3DFVF_TEX1 HEX: 100 +CONSTANT: D3DFVF_TEX2 HEX: 200 +CONSTANT: D3DFVF_TEX3 HEX: 300 +CONSTANT: D3DFVF_TEX4 HEX: 400 +CONSTANT: D3DFVF_TEX5 HEX: 500 +CONSTANT: D3DFVF_TEX6 HEX: 600 +CONSTANT: D3DFVF_TEX7 HEX: 700 +CONSTANT: D3DFVF_TEX8 HEX: 800 + +CONSTANT: D3DFVF_LASTBETA_UBYTE4 HEX: 1000 +CONSTANT: D3DFVF_LASTBETA_D3DCOLOR HEX: 8000 + +CONSTANT: D3DFVF_RESERVED2 HEX: 6000 + +TYPEDEF: int D3DDECLUSAGE +CONSTANT: D3DDECLUSAGE_POSITION 0 +CONSTANT: D3DDECLUSAGE_BLENDWEIGHT 1 +CONSTANT: D3DDECLUSAGE_BLENDINDICES 2 +CONSTANT: D3DDECLUSAGE_NORMAL 3 +CONSTANT: D3DDECLUSAGE_PSIZE 4 +CONSTANT: D3DDECLUSAGE_TEXCOORD 5 +CONSTANT: D3DDECLUSAGE_TANGENT 6 +CONSTANT: D3DDECLUSAGE_BINORMAL 7 +CONSTANT: D3DDECLUSAGE_TESSFACTOR 8 +CONSTANT: D3DDECLUSAGE_POSITIONT 9 +CONSTANT: D3DDECLUSAGE_COLOR 10 +CONSTANT: D3DDECLUSAGE_FOG 11 +CONSTANT: D3DDECLUSAGE_DEPTH 12 +CONSTANT: D3DDECLUSAGE_SAMPLE 13 + +CONSTANT: MAXD3DDECLUSAGE 13 +CONSTANT: MAXD3DDECLUSAGEINDEX 15 +CONSTANT: MAXD3DDECLLENGTH 64 + +TYPEDEF: int D3DDECLMETHOD +C-ENUM: + D3DDECLMETHOD_DEFAULT + D3DDECLMETHOD_PARTIALU + D3DDECLMETHOD_PARTIALV + D3DDECLMETHOD_CROSSUV + D3DDECLMETHOD_UV + D3DDECLMETHOD_LOOKUP + D3DDECLMETHOD_LOOKUPPRESAMPLED ; + +: MAXD3DDECLMETHOD ( -- n ) D3DDECLMETHOD_LOOKUPPRESAMPLED ; inline + +TYPEDEF: int D3DDECLTYPE +CONSTANT: D3DDECLTYPE_FLOAT1 0 +CONSTANT: D3DDECLTYPE_FLOAT2 1 +CONSTANT: D3DDECLTYPE_FLOAT3 2 +CONSTANT: D3DDECLTYPE_FLOAT4 3 +CONSTANT: D3DDECLTYPE_D3DCOLOR 4 +CONSTANT: D3DDECLTYPE_UBYTE4 5 +CONSTANT: D3DDECLTYPE_SHORT2 6 +CONSTANT: D3DDECLTYPE_SHORT4 7 +CONSTANT: D3DDECLTYPE_UBYTE4N 8 +CONSTANT: D3DDECLTYPE_SHORT2N 9 +CONSTANT: D3DDECLTYPE_SHORT4N 10 +CONSTANT: D3DDECLTYPE_USHORT2N 11 +CONSTANT: D3DDECLTYPE_USHORT4N 12 +CONSTANT: D3DDECLTYPE_UDEC3 13 +CONSTANT: D3DDECLTYPE_DEC3N 14 +CONSTANT: D3DDECLTYPE_FLOAT16_2 15 +CONSTANT: D3DDECLTYPE_FLOAT16_4 16 +CONSTANT: D3DDECLTYPE_UNUSED 17 + +: MAXD3DDECLTYPE ( -- n ) D3DDECLTYPE_UNUSED ; inline + +STRUCT: D3DVERTEXELEMENT9 + { Stream WORD } + { Offset WORD } + { Type BYTE } + { Method BYTE } + { Usage BYTE } + { UsageIndex BYTE } ; +TYPEDEF: D3DVERTEXELEMENT9* LPD3DVERTEXELEMENT9 + +CONSTANT: D3DDP_MAXTEXCOORD 8 + +CONSTANT: D3DSTREAMSOURCE_INDEXEDDATA HEX: 40000000 +CONSTANT: D3DSTREAMSOURCE_INSTANCEDATA HEX: 80000000 + +CONSTANT: D3DSI_OPCODE_MASK HEX: 0000FFFF +CONSTANT: D3DSI_INSTLENGTH_MASK HEX: 0F000000 +CONSTANT: D3DSI_INSTLENGTH_SHIFT 24 + +TYPEDEF: int D3DSHADER_INSTRUCTION_OPCODE_TYPE +CONSTANT: D3DSIO_NOP 0 +CONSTANT: D3DSIO_MOV 1 +CONSTANT: D3DSIO_ADD 2 +CONSTANT: D3DSIO_SUB 3 +CONSTANT: D3DSIO_MAD 4 +CONSTANT: D3DSIO_MUL 5 +CONSTANT: D3DSIO_RCP 6 +CONSTANT: D3DSIO_RSQ 7 +CONSTANT: D3DSIO_DP3 8 +CONSTANT: D3DSIO_DP4 9 +CONSTANT: D3DSIO_MIN 10 +CONSTANT: D3DSIO_MAX 11 +CONSTANT: D3DSIO_SLT 12 +CONSTANT: D3DSIO_SGE 13 +CONSTANT: D3DSIO_EXP 14 +CONSTANT: D3DSIO_LOG 15 +CONSTANT: D3DSIO_LIT 16 +CONSTANT: D3DSIO_DST 17 +CONSTANT: D3DSIO_LRP 18 +CONSTANT: D3DSIO_FRC 19 +CONSTANT: D3DSIO_M4x4 20 +CONSTANT: D3DSIO_M4x3 21 +CONSTANT: D3DSIO_M3x4 22 +CONSTANT: D3DSIO_M3x3 23 +CONSTANT: D3DSIO_M3x2 24 +CONSTANT: D3DSIO_CALL 25 +CONSTANT: D3DSIO_CALLNZ 26 +CONSTANT: D3DSIO_LOOP 27 +CONSTANT: D3DSIO_RET 28 +CONSTANT: D3DSIO_ENDLOOP 29 +CONSTANT: D3DSIO_LABEL 30 +CONSTANT: D3DSIO_DCL 31 +CONSTANT: D3DSIO_POW 32 +CONSTANT: D3DSIO_CRS 33 +CONSTANT: D3DSIO_SGN 34 +CONSTANT: D3DSIO_ABS 35 +CONSTANT: D3DSIO_NRM 36 +CONSTANT: D3DSIO_SINCOS 37 +CONSTANT: D3DSIO_REP 38 +CONSTANT: D3DSIO_ENDREP 39 +CONSTANT: D3DSIO_IF 40 +CONSTANT: D3DSIO_IFC 41 +CONSTANT: D3DSIO_ELSE 42 +CONSTANT: D3DSIO_ENDIF 43 +CONSTANT: D3DSIO_BREAK 44 +CONSTANT: D3DSIO_BREAKC 45 +CONSTANT: D3DSIO_MOVA 46 +CONSTANT: D3DSIO_DEFB 47 +CONSTANT: D3DSIO_DEFI 48 +CONSTANT: D3DSIO_TEXCOORD 64 +CONSTANT: D3DSIO_TEXKILL 65 +CONSTANT: D3DSIO_TEX 66 +CONSTANT: D3DSIO_TEXBEM 67 +CONSTANT: D3DSIO_TEXBEML 68 +CONSTANT: D3DSIO_TEXREG2AR 69 +CONSTANT: D3DSIO_TEXREG2GB 70 +CONSTANT: D3DSIO_TEXM3x2PAD 71 +CONSTANT: D3DSIO_TEXM3x2TEX 72 +CONSTANT: D3DSIO_TEXM3x3PAD 73 +CONSTANT: D3DSIO_TEXM3x3TEX 74 +CONSTANT: D3DSIO_RESERVED0 75 +CONSTANT: D3DSIO_TEXM3x3SPEC 76 +CONSTANT: D3DSIO_TEXM3x3VSPEC 77 +CONSTANT: D3DSIO_EXPP 78 +CONSTANT: D3DSIO_LOGP 79 +CONSTANT: D3DSIO_CND 80 +CONSTANT: D3DSIO_DEF 81 +CONSTANT: D3DSIO_TEXREG2RGB 82 +CONSTANT: D3DSIO_TEXDP3TEX 83 +CONSTANT: D3DSIO_TEXM3x2DEPTH 84 +CONSTANT: D3DSIO_TEXDP3 85 +CONSTANT: D3DSIO_TEXM3x3 86 +CONSTANT: D3DSIO_TEXDEPTH 87 +CONSTANT: D3DSIO_CMP 88 +CONSTANT: D3DSIO_BEM 89 +CONSTANT: D3DSIO_DP2ADD 90 +CONSTANT: D3DSIO_DSX 91 +CONSTANT: D3DSIO_DSY 92 +CONSTANT: D3DSIO_TEXLDD 93 +CONSTANT: D3DSIO_SETP 94 +CONSTANT: D3DSIO_TEXLDL 95 +CONSTANT: D3DSIO_BREAKP 96 +CONSTANT: D3DSIO_PHASE HEX: FFFD +CONSTANT: D3DSIO_COMMENT HEX: FFFE +CONSTANT: D3DSIO_END HEX: FFFF +CONSTANT: D3DSIO_FORCE_DWORD HEX: 7fffffff + +CONSTANT: D3DSI_COISSUE HEX: 40000000 + +CONSTANT: D3DSP_OPCODESPECIFICCONTROL_MASK HEX: 00ff0000 +CONSTANT: D3DSP_OPCODESPECIFICCONTROL_SHIFT 16 + +: D3DSI_TEXLD_PROJECT ( -- n ) 1 D3DSP_OPCODESPECIFICCONTROL_SHIFT shift ; inline +: D3DSI_TEXLD_BIAS ( -- n ) 2 D3DSP_OPCODESPECIFICCONTROL_SHIFT shift ; inline + +TYPEDEF: int D3DSHADER_COMPARISON +CONSTANT: D3DSPC_RESERVED0 0 +CONSTANT: D3DSPC_GT 1 +CONSTANT: D3DSPC_EQ 2 +CONSTANT: D3DSPC_GE 3 +CONSTANT: D3DSPC_LT 4 +CONSTANT: D3DSPC_NE 5 +CONSTANT: D3DSPC_LE 6 +CONSTANT: D3DSPC_RESERVED1 7 + +CONSTANT: D3DSHADER_COMPARISON_SHIFT D3DSP_OPCODESPECIFICCONTROL_SHIFT +: D3DSHADER_COMPARISON_MASK ( -- n ) 7 D3DSHADER_COMPARISON_SHIFT shift ; inline + +CONSTANT: D3DSHADER_INSTRUCTION_PREDICATED HEX: 10000000 + +CONSTANT: D3DSP_DCL_USAGE_SHIFT 0 +CONSTANT: D3DSP_DCL_USAGE_MASK HEX: 0000000f + +CONSTANT: D3DSP_DCL_USAGEINDEX_SHIFT 16 +CONSTANT: D3DSP_DCL_USAGEINDEX_MASK HEX: 000f0000 + +CONSTANT: D3DSP_TEXTURETYPE_SHIFT 27 +CONSTANT: D3DSP_TEXTURETYPE_MASK HEX: 78000000 + +TYPEDEF: int D3DSAMPLER_TEXTURE_TYPE +: D3DSTT_UNKNOWN ( -- n ) 0 D3DSP_TEXTURETYPE_SHIFT shift ; inline +: D3DSTT_2D ( -- n ) 2 D3DSP_TEXTURETYPE_SHIFT shift ; inline +: D3DSTT_CUBE ( -- n ) 3 D3DSP_TEXTURETYPE_SHIFT shift ; inline +: D3DSTT_VOLUME ( -- n ) 4 D3DSP_TEXTURETYPE_SHIFT shift ; inline +CONSTANT: D3DSTT_FORCE_DWORD HEX: 7fffffff + +CONSTANT: D3DSP_REGNUM_MASK HEX: 000007FF + +CONSTANT: D3DSP_WRITEMASK_0 HEX: 00010000 +CONSTANT: D3DSP_WRITEMASK_1 HEX: 00020000 +CONSTANT: D3DSP_WRITEMASK_2 HEX: 00040000 +CONSTANT: D3DSP_WRITEMASK_3 HEX: 00080000 +CONSTANT: D3DSP_WRITEMASK_ALL HEX: 000F0000 + +CONSTANT: D3DSP_DSTMOD_SHIFT 20 +CONSTANT: D3DSP_DSTMOD_MASK HEX: 00F00000 + +: D3DSPDM_NONE ( -- n ) 0 D3DSP_DSTMOD_SHIFT shift ; inline +: D3DSPDM_SATURATE ( -- n ) 1 D3DSP_DSTMOD_SHIFT shift ; inline +: D3DSPDM_PARTIALPRECISION ( -- n ) 2 D3DSP_DSTMOD_SHIFT shift ; inline +: D3DSPDM_MSAMPCENTROID ( -- n ) 4 D3DSP_DSTMOD_SHIFT shift ; inline + +CONSTANT: D3DSP_DSTSHIFT_SHIFT 24 +CONSTANT: D3DSP_DSTSHIFT_MASK HEX: 0F000000 + +CONSTANT: D3DSP_REGTYPE_SHIFT 28 +CONSTANT: D3DSP_REGTYPE_SHIFT2 8 +CONSTANT: D3DSP_REGTYPE_MASK HEX: 70000000 +CONSTANT: D3DSP_REGTYPE_MASK2 HEX: 00001800 + +TYPEDEF: int D3DSHADER_PARAM_REGISTER_TYPE +CONSTANT: D3DSPR_TEMP 0 +CONSTANT: D3DSPR_INPUT 1 +CONSTANT: D3DSPR_CONST 2 +CONSTANT: D3DSPR_ADDR 3 +CONSTANT: D3DSPR_TEXTURE 3 +CONSTANT: D3DSPR_RASTOUT 4 +CONSTANT: D3DSPR_ATTROUT 5 +CONSTANT: D3DSPR_TEXCRDOUT 6 +CONSTANT: D3DSPR_OUTPUT 6 +CONSTANT: D3DSPR_CONSTINT 7 +CONSTANT: D3DSPR_COLOROUT 8 +CONSTANT: D3DSPR_DEPTHOUT 9 +CONSTANT: D3DSPR_SAMPLER 10 +CONSTANT: D3DSPR_CONST2 11 +CONSTANT: D3DSPR_CONST3 12 +CONSTANT: D3DSPR_CONST4 13 +CONSTANT: D3DSPR_CONSTBOOL 14 +CONSTANT: D3DSPR_LOOP 15 +CONSTANT: D3DSPR_TEMPFLOAT16 16 +CONSTANT: D3DSPR_MISCTYPE 17 +CONSTANT: D3DSPR_LABEL 18 +CONSTANT: D3DSPR_PREDICATE 19 +CONSTANT: D3DSPR_FORCE_DWORD HEX: 7fffffff + +TYPEDEF: int D3DSHADER_MISCTYPE_OFFSETS +CONSTANT: D3DSMO_POSITION 0 +CONSTANT: D3DSMO_FACE 1 + +TYPEDEF: int D3DVS_RASTOUT_OFFSETS +CONSTANT: D3DSRO_POSITION 0 +CONSTANT: D3DSRO_FOG 1 +CONSTANT: D3DSRO_POINT_SIZE 2 +CONSTANT: D3DSRO_FORCE_DWORD HEX: 7fffffff + +CONSTANT: D3DVS_ADDRESSMODE_SHIFT 13 +: D3DVS_ADDRESSMODE_MASK ( -- n ) 1 D3DVS_ADDRESSMODE_SHIFT shift ; inline + +TYPEDEF: int D3DVS_ADDRESSMODE_TYPE +: D3DVS_ADDRMODE_ABSOLUTE ( -- n ) 0 D3DVS_ADDRESSMODE_SHIFT shift ; inline +: D3DVS_ADDRMODE_RELATIVE ( -- n ) 1 D3DVS_ADDRESSMODE_SHIFT shift ; inline +CONSTANT: D3DVS_ADDRMODE_FORCE_DWORD HEX: 7fffffff + +CONSTANT: D3DSHADER_ADDRESSMODE_SHIFT 13 +: D3DSHADER_ADDRESSMODE_MASK ( -- n ) 1 D3DSHADER_ADDRESSMODE_SHIFT shift ; inline + +TYPEDEF: int D3DSHADER_ADDRESSMODE_TYPE +: D3DSHADER_ADDRMODE_ABSOLUTE ( -- n ) 0 D3DSHADER_ADDRESSMODE_SHIFT shift ; inline +: D3DSHADER_ADDRMODE_RELATIVE ( -- n ) 1 D3DSHADER_ADDRESSMODE_SHIFT shift ; inline +CONSTANT: D3DSHADER_ADDRMODE_FORCE_DWORD HEX: 7fffffff + +CONSTANT: D3DVS_SWIZZLE_SHIFT 16 +CONSTANT: D3DVS_SWIZZLE_MASK HEX: 00FF0000 + +: D3DVS_X_X ( -- n ) 0 D3DVS_SWIZZLE_SHIFT shift ; inline +: D3DVS_X_Y ( -- n ) 1 D3DVS_SWIZZLE_SHIFT shift ; inline +: D3DVS_X_Z ( -- n ) 2 D3DVS_SWIZZLE_SHIFT shift ; inline +: D3DVS_X_W ( -- n ) 3 D3DVS_SWIZZLE_SHIFT shift ; inline + +: D3DVS_Y_X ( -- n ) 0 D3DVS_SWIZZLE_SHIFT 2 + shift ; inline +: D3DVS_Y_Y ( -- n ) 1 D3DVS_SWIZZLE_SHIFT 2 + shift ; inline +: D3DVS_Y_Z ( -- n ) 2 D3DVS_SWIZZLE_SHIFT 2 + shift ; inline +: D3DVS_Y_W ( -- n ) 3 D3DVS_SWIZZLE_SHIFT 2 + shift ; inline + +: D3DVS_Z_X ( -- n ) 0 D3DVS_SWIZZLE_SHIFT 4 + shift ; inline +: D3DVS_Z_Y ( -- n ) 1 D3DVS_SWIZZLE_SHIFT 4 + shift ; inline +: D3DVS_Z_Z ( -- n ) 2 D3DVS_SWIZZLE_SHIFT 4 + shift ; inline +: D3DVS_Z_W ( -- n ) 3 D3DVS_SWIZZLE_SHIFT 4 + shift ; inline + +: D3DVS_W_X ( -- n ) 0 D3DVS_SWIZZLE_SHIFT 6 + shift ; inline +: D3DVS_W_Y ( -- n ) 1 D3DVS_SWIZZLE_SHIFT 6 + shift ; inline +: D3DVS_W_Z ( -- n ) 2 D3DVS_SWIZZLE_SHIFT 6 + shift ; inline +: D3DVS_W_W ( -- n ) 3 D3DVS_SWIZZLE_SHIFT 6 + shift ; inline + +: D3DVS_NOSWIZZLE ( -- n ) + { D3DVS_X_X D3DVS_Y_Y D3DVS_Z_Z D3DVS_W_W } flags ; inline + +CONSTANT: D3DSP_SWIZZLE_SHIFT 16 +CONSTANT: D3DSP_SWIZZLE_MASK HEX: 00FF0000 +CONSTANT: D3DSP_SRCMOD_SHIFT 24 +CONSTANT: D3DSP_SRCMOD_MASK HEX: 0F000000 + +TYPEDEF: int D3DSHADER_PARAM_SRCMOD_TYPE +: D3DSPSM_NONE ( -- n ) 0 D3DSP_SRCMOD_SHIFT shift ; inline +: D3DSPSM_NEG ( -- n ) 1 D3DSP_SRCMOD_SHIFT shift ; inline +: D3DSPSM_BIAS ( -- n ) 2 D3DSP_SRCMOD_SHIFT shift ; inline +: D3DSPSM_BIASNEG ( -- n ) 3 D3DSP_SRCMOD_SHIFT shift ; inline +: D3DSPSM_SIGN ( -- n ) 4 D3DSP_SRCMOD_SHIFT shift ; inline +: D3DSPSM_SIGNNEG ( -- n ) 5 D3DSP_SRCMOD_SHIFT shift ; inline +: D3DSPSM_COMP ( -- n ) 6 D3DSP_SRCMOD_SHIFT shift ; inline +: D3DSPSM_X2 ( -- n ) 7 D3DSP_SRCMOD_SHIFT shift ; inline +: D3DSPSM_X2NEG ( -- n ) 8 D3DSP_SRCMOD_SHIFT shift ; inline +: D3DSPSM_DZ ( -- n ) 9 D3DSP_SRCMOD_SHIFT shift ; inline +: D3DSPSM_DW ( -- n ) 10 D3DSP_SRCMOD_SHIFT shift ; inline +: D3DSPSM_ABS ( -- n ) 11 D3DSP_SRCMOD_SHIFT shift ; inline +: D3DSPSM_ABSNEG ( -- n ) 12 D3DSP_SRCMOD_SHIFT shift ; inline +: D3DSPSM_NOT ( -- n ) 13 D3DSP_SRCMOD_SHIFT shift ; inline +CONSTANT: D3DSPSM_FORCE_DWORD HEX: 7fffffff + +: D3DPS_VERSION ( major minor -- n ) + swap 8 shift bitor HEX: FFFF0000 bitor ; inline +: D3DVS_VERSION ( major minor -- n ) + swap 8 shift bitor HEX: FFFF0000 bitor ; inline + +: D3DSHADER_VERSION_MAJOR ( version -- n ) + -8 shift HEX: FF bitand ; inline +: D3DSHADER_VERSION_MINOR ( version -- n ) + HEX: FF bitand ; inline + +CONSTANT: D3DSI_COMMENTSIZE_SHIFT 16 +CONSTANT: D3DSI_COMMENTSIZE_MASK HEX: 7FFF0000 + +CONSTANT: D3DPS_END() HEX: 0000FFFF +CONSTANT: D3DVS_END() HEX: 0000FFFF + +TYPEDEF: int D3DBASISTYPE +CONSTANT: D3DBASIS_BEZIER 0 +CONSTANT: D3DBASIS_BSPLINE 1 +CONSTANT: D3DBASIS_CATMULL_ROM 2 +CONSTANT: D3DBASIS_FORCE_DWORD HEX: 7fffffff + +TYPEDEF: int D3DDEGREETYPE +CONSTANT: D3DDEGREE_LINEAR 1 +CONSTANT: D3DDEGREE_QUADRATIC 2 +CONSTANT: D3DDEGREE_CUBIC 3 +CONSTANT: D3DDEGREE_QUINTIC 5 +CONSTANT: D3DDEGREE_FORCE_DWORD HEX: 7fffffff + +TYPEDEF: int D3DPATCHEDGESTYLE +CONSTANT: D3DPATCHEDGE_DISCRETE 0 +CONSTANT: D3DPATCHEDGE_CONTINUOUS 1 +CONSTANT: D3DPATCHEDGE_FORCE_DWORD HEX: 7fffffff + +TYPEDEF: int D3DSTATEBLOCKTYPE +CONSTANT: D3DSBT_ALL 1 +CONSTANT: D3DSBT_PIXELSTATE 2 +CONSTANT: D3DSBT_VERTEXSTATE 3 +CONSTANT: D3DSBT_FORCE_DWORD HEX: 7fffffff + +TYPEDEF: int D3DVERTEXBLENDFLAGS +CONSTANT: D3DVBF_DISABLE 0 +CONSTANT: D3DVBF_1WEIGHTS 1 +CONSTANT: D3DVBF_2WEIGHTS 2 +CONSTANT: D3DVBF_3WEIGHTS 3 +CONSTANT: D3DVBF_TWEENING 255 +CONSTANT: D3DVBF_0WEIGHTS 256 +CONSTANT: D3DVBF_FORCE_DWORD HEX: 7fffffff + +TYPEDEF: int D3DTEXTURETRANSFORMFLAGS +CONSTANT: D3DTTFF_DISABLE 0 +CONSTANT: D3DTTFF_COUNT1 1 +CONSTANT: D3DTTFF_COUNT2 2 +CONSTANT: D3DTTFF_COUNT3 3 +CONSTANT: D3DTTFF_COUNT4 4 +CONSTANT: D3DTTFF_PROJECTED 256 +CONSTANT: D3DTTFF_FORCE_DWORD HEX: 7fffffff + +CONSTANT: D3DFVF_TEXTUREFORMAT2 0 +CONSTANT: D3DFVF_TEXTUREFORMAT1 3 +CONSTANT: D3DFVF_TEXTUREFORMAT3 1 +CONSTANT: D3DFVF_TEXTUREFORMAT4 2 + +: D3DFVF_TEXCOORDSIZE3 ( CoordIndex -- n ) + 2 * 16 + D3DFVF_TEXTUREFORMAT3 swap shift ; inline +: D3DFVF_TEXCOORDSIZE2 ( CoordIndex -- n ) + drop D3DFVF_TEXTUREFORMAT2 ; inline +: D3DFVF_TEXCOORDSIZE4 ( CoordIndex -- n ) + 2 * 16 + D3DFVF_TEXTUREFORMAT4 swap shift ; inline +: D3DFVF_TEXCOORDSIZE1 ( CoordIndex -- n ) + 2 * 16 + D3DFVF_TEXTUREFORMAT1 swap shift ; inline + +TYPEDEF: int D3DDEVTYPE +CONSTANT: D3DDEVTYPE_HAL 1 +CONSTANT: D3DDEVTYPE_REF 2 +CONSTANT: D3DDEVTYPE_SW 3 +CONSTANT: D3DDEVTYPE_NULLREF 4 +CONSTANT: D3DDEVTYPE_FORCE_DWORD HEX: 7fffffff + +TYPEDEF: int D3DMULTISAMPLE_TYPE +CONSTANT: D3DMULTISAMPLE_NONE 0 +CONSTANT: D3DMULTISAMPLE_NONMASKABLE 1 +CONSTANT: D3DMULTISAMPLE_2_SAMPLES 2 +CONSTANT: D3DMULTISAMPLE_3_SAMPLES 3 +CONSTANT: D3DMULTISAMPLE_4_SAMPLES 4 +CONSTANT: D3DMULTISAMPLE_5_SAMPLES 5 +CONSTANT: D3DMULTISAMPLE_6_SAMPLES 6 +CONSTANT: D3DMULTISAMPLE_7_SAMPLES 7 +CONSTANT: D3DMULTISAMPLE_8_SAMPLES 8 +CONSTANT: D3DMULTISAMPLE_9_SAMPLES 9 +CONSTANT: D3DMULTISAMPLE_10_SAMPLES 10 +CONSTANT: D3DMULTISAMPLE_11_SAMPLES 11 +CONSTANT: D3DMULTISAMPLE_12_SAMPLES 12 +CONSTANT: D3DMULTISAMPLE_13_SAMPLES 13 +CONSTANT: D3DMULTISAMPLE_14_SAMPLES 14 +CONSTANT: D3DMULTISAMPLE_15_SAMPLES 15 +CONSTANT: D3DMULTISAMPLE_16_SAMPLES 16 +CONSTANT: D3DMULTISAMPLE_FORCE_DWORD HEX: 7fffffff + +:: MAKEFOURCC ( ch0 ch1 ch2 ch3 -- n ) + ch3 HEX: ff bitand 24 shift + ch2 HEX: ff bitand 16 shift + ch1 HEX: ff bitand 8 shift + ch0 HEX: ff bitand bitor bitor bitor ; inline + +TYPEDEF: int D3DFORMAT +CONSTANT: D3DFMT_UNKNOWN 0 +CONSTANT: D3DFMT_R8G8B8 20 +CONSTANT: D3DFMT_A8R8G8B8 21 +CONSTANT: D3DFMT_X8R8G8B8 22 +CONSTANT: D3DFMT_R5G6B5 23 +CONSTANT: D3DFMT_X1R5G5B5 24 +CONSTANT: D3DFMT_A1R5G5B5 25 +CONSTANT: D3DFMT_A4R4G4B4 26 +CONSTANT: D3DFMT_R3G3B2 27 +CONSTANT: D3DFMT_A8 28 +CONSTANT: D3DFMT_A8R3G3B2 29 +CONSTANT: D3DFMT_X4R4G4B4 30 +CONSTANT: D3DFMT_A2B10G10R10 31 +CONSTANT: D3DFMT_A8B8G8R8 32 +CONSTANT: D3DFMT_X8B8G8R8 33 +CONSTANT: D3DFMT_G16R16 34 +CONSTANT: D3DFMT_A2R10G10B10 35 +CONSTANT: D3DFMT_A16B16G16R16 36 +CONSTANT: D3DFMT_A8P8 40 +CONSTANT: D3DFMT_P8 41 +CONSTANT: D3DFMT_L8 50 +CONSTANT: D3DFMT_A8L8 51 +CONSTANT: D3DFMT_A4L4 52 +CONSTANT: D3DFMT_V8U8 60 +CONSTANT: D3DFMT_L6V5U5 61 +CONSTANT: D3DFMT_X8L8V8U8 62 +CONSTANT: D3DFMT_Q8W8V8U8 63 +CONSTANT: D3DFMT_V16U16 64 +CONSTANT: D3DFMT_A2W10V10U10 67 +#! : D3DFMT_UYVY ( -- n ) 'U' 'Y' 'V' 'Y' MAKEFOURCC +#! D3DFMT_R8G8_B8G8 = MAKEFOURCC('R', 'G', 'B', 'G'), +#! D3DFMT_YUY2 = MAKEFOURCC('Y', 'U', 'Y', '2'), +#! D3DFMT_G8R8_G8B8 = MAKEFOURCC('G', 'R', 'G', 'B'), +#! D3DFMT_DXT1 = MAKEFOURCC('D', 'X', 'T', '1'), +#! D3DFMT_DXT2 = MAKEFOURCC('D', 'X', 'T', '2'), +#! D3DFMT_DXT3 = MAKEFOURCC('D', 'X', 'T', '3'), +#! D3DFMT_DXT4 = MAKEFOURCC('D', 'X', 'T', '4'), +#! D3DFMT_DXT5 = MAKEFOURCC('D', 'X', 'T', '5'), +CONSTANT: D3DFMT_D16_LOCKABLE 70 +CONSTANT: D3DFMT_D32 71 +CONSTANT: D3DFMT_D15S1 73 +CONSTANT: D3DFMT_D24S8 75 +CONSTANT: D3DFMT_D24X8 77 +CONSTANT: D3DFMT_D24X4S4 79 +CONSTANT: D3DFMT_D16 80 +CONSTANT: D3DFMT_D32F_LOCKABLE 82 +CONSTANT: D3DFMT_D24FS8 83 +CONSTANT: D3DFMT_D32_LOCKABLE 84 +CONSTANT: D3DFMT_S8_LOCKABLE 85 +CONSTANT: D3DFMT_L16 81 +CONSTANT: D3DFMT_VERTEXDATA 100 +CONSTANT: D3DFMT_INDEX16 101 +CONSTANT: D3DFMT_INDEX32 102 +CONSTANT: D3DFMT_Q16W16V16U16 110 +#! D3DFMT_MULTI2_ARGB8 = MAKEFOURCC('M', 'E', 'T', '1'), +CONSTANT: D3DFMT_R16F 111 +CONSTANT: D3DFMT_G16R16F 112 +CONSTANT: D3DFMT_A16B16G16R16F 113 +CONSTANT: D3DFMT_R32F 114 +CONSTANT: D3DFMT_G32R32F 115 +CONSTANT: D3DFMT_A32B32G32R32F 116 +CONSTANT: D3DFMT_CxV8U8 117 +CONSTANT: D3DFMT_A1 118 +CONSTANT: D3DFMT_A2B10G10R10_XR_BIAS 119 +CONSTANT: D3DFMT_BINARYBUFFER 199 +CONSTANT: D3DFMT_FORCE_DWORD HEX: 7fffffff + +STRUCT: D3DDISPLAYMODE + { Width UINT } + { Height UINT } + { RefreshRate UINT } + { Format D3DFORMAT } ; + +STRUCT: D3DDEVICE_CREATION_PARAMETERS + { AdapterOrdinal UINT } + { DeviceType D3DDEVTYPE } + { hFocusWindow HWND } + { BehaviorFlags DWORD } ; + +TYPEDEF: int D3DSWAPEFFECT +CONSTANT: D3DSWAPEFFECT_DISCARD 1 +CONSTANT: D3DSWAPEFFECT_FLIP 2 +CONSTANT: D3DSWAPEFFECT_COPY 3 +CONSTANT: D3DSWAPEFFECT_OVERLAY 4 +CONSTANT: D3DSWAPEFFECT_FLIPEX 5 +CONSTANT: D3DSWAPEFFECT_FORCE_DWORD HEX: 7fffffff + +TYPEDEF: int D3DPOOL +CONSTANT: D3DPOOL_DEFAULT 0 +CONSTANT: D3DPOOL_MANAGED 1 +CONSTANT: D3DPOOL_SYSTEMMEM 2 +CONSTANT: D3DPOOL_SCRATCH 3 +CONSTANT: D3DPOOL_FORCE_DWORD HEX: 7fffffff + +CONSTANT: D3DPRESENT_RATE_DEFAULT HEX: 00000000 + +STRUCT: D3DPRESENT_PARAMETERS + { BackBufferWidth UINT } + { BackBufferHeight UINT } + { BackBufferFormat D3DFORMAT } + { BackBufferCount UINT } + { MultiSampleType D3DMULTISAMPLE_TYPE } + { MultiSampleQuality DWORD } + { SwapEffect D3DSWAPEFFECT } + { hDeviceWindow HWND } + { Windowed BOOL } + { EnableAutoDepthStencil BOOL } + { AutoDepthStencilFormat D3DFORMAT } + { Flags DWORD } + { FullScreen_RefreshRateInHz UINT } + { PresentationInterval UINT } ; + +CONSTANT: D3DPRESENTFLAG_LOCKABLE_BACKBUFFER HEX: 00000001 +CONSTANT: D3DPRESENTFLAG_DISCARD_DEPTHSTENCIL HEX: 00000002 +CONSTANT: D3DPRESENTFLAG_DEVICECLIP HEX: 00000004 +CONSTANT: D3DPRESENTFLAG_VIDEO HEX: 00000010 + +CONSTANT: D3DPRESENTFLAG_NOAUTOROTATE HEX: 00000020 +CONSTANT: D3DPRESENTFLAG_UNPRUNEDMODE HEX: 00000040 +CONSTANT: D3DPRESENTFLAG_OVERLAY_LIMITEDRGB HEX: 00000080 +CONSTANT: D3DPRESENTFLAG_OVERLAY_YCbCr_BT709 HEX: 00000100 +CONSTANT: D3DPRESENTFLAG_OVERLAY_YCbCr_xvYCC HEX: 00000200 +CONSTANT: D3DPRESENTFLAG_RESTRICTED_CONTENT HEX: 00000400 +CONSTANT: D3DPRESENTFLAG_RESTRICT_SHARED_RESOURCE_DRIVER HEX: 00000800 + +STRUCT: D3DGAMMARAMP + { red WORD[256] } + { green WORD[256] } + { blue WORD[256] } ; + +TYPEDEF: int D3DBACKBUFFER_TYPE +CONSTANT: D3DBACKBUFFER_TYPE_MONO 0 +CONSTANT: D3DBACKBUFFER_TYPE_LEFT 1 +CONSTANT: D3DBACKBUFFER_TYPE_RIGHT 2 +CONSTANT: D3DBACKBUFFER_TYPE_FORCE_DWORD HEX: 7fffffff + +TYPEDEF: int D3DRESOURCETYPE +CONSTANT: D3DRTYPE_SURFACE 1 +CONSTANT: D3DRTYPE_VOLUME 2 +CONSTANT: D3DRTYPE_TEXTURE 3 +CONSTANT: D3DRTYPE_VOLUMETEXTURE 4 +CONSTANT: D3DRTYPE_CUBETEXTURE 5 +CONSTANT: D3DRTYPE_VERTEXBUFFER 6 +CONSTANT: D3DRTYPE_INDEXBUFFER 7 +CONSTANT: D3DRTYPE_FORCE_DWORD HEX: 7fffffff + +CONSTANT: D3DUSAGE_RENDERTARGET HEX: 00000001 +CONSTANT: D3DUSAGE_DEPTHSTENCIL HEX: 00000002 +CONSTANT: D3DUSAGE_DYNAMIC HEX: 00000200 + +CONSTANT: D3DUSAGE_NONSECURE HEX: 00800000 + +CONSTANT: D3DUSAGE_AUTOGENMIPMAP HEX: 00000400 +CONSTANT: D3DUSAGE_DMAP HEX: 00004000 + +CONSTANT: D3DUSAGE_QUERY_LEGACYBUMPMAP HEX: 00008000 +CONSTANT: D3DUSAGE_QUERY_SRGBREAD HEX: 00010000 +CONSTANT: D3DUSAGE_QUERY_FILTER HEX: 00020000 +CONSTANT: D3DUSAGE_QUERY_SRGBWRITE HEX: 00040000 +CONSTANT: D3DUSAGE_QUERY_POSTPIXELSHADER_BLENDING HEX: 00080000 +CONSTANT: D3DUSAGE_QUERY_VERTEXTEXTURE HEX: 00100000 +CONSTANT: D3DUSAGE_QUERY_WRAPANDMIP HEX: 00200000 + +CONSTANT: D3DUSAGE_WRITEONLY HEX: 00000008 +CONSTANT: D3DUSAGE_SOFTWAREPROCESSING HEX: 00000010 +CONSTANT: D3DUSAGE_DONOTCLIP HEX: 00000020 +CONSTANT: D3DUSAGE_POINTS HEX: 00000040 +CONSTANT: D3DUSAGE_RTPATCHES HEX: 00000080 +CONSTANT: D3DUSAGE_NPATCHES HEX: 00000100 + +CONSTANT: D3DUSAGE_TEXTAPI HEX: 10000000 +CONSTANT: D3DUSAGE_RESTRICTED_CONTENT HEX: 00000800 +CONSTANT: D3DUSAGE_RESTRICT_SHARED_RESOURCE HEX: 00002000 +CONSTANT: D3DUSAGE_RESTRICT_SHARED_RESOURCE_DRIVER HEX: 00001000 + +TYPEDEF: int D3DCUBEMAP_FACES +CONSTANT: D3DCUBEMAP_FACE_POSITIVE_X 0 +CONSTANT: D3DCUBEMAP_FACE_NEGATIVE_X 1 +CONSTANT: D3DCUBEMAP_FACE_POSITIVE_Y 2 +CONSTANT: D3DCUBEMAP_FACE_NEGATIVE_Y 3 +CONSTANT: D3DCUBEMAP_FACE_POSITIVE_Z 4 +CONSTANT: D3DCUBEMAP_FACE_NEGATIVE_Z 5 +CONSTANT: D3DCUBEMAP_FACE_FORCE_DWORD HEX: 7fffffff + +CONSTANT: D3DLOCK_READONLY HEX: 00000010 +CONSTANT: D3DLOCK_DISCARD HEX: 00002000 +CONSTANT: D3DLOCK_NOOVERWRITE HEX: 00001000 +CONSTANT: D3DLOCK_NOSYSLOCK HEX: 00000800 +CONSTANT: D3DLOCK_DONOTWAIT HEX: 00004000 + +CONSTANT: D3DLOCK_NO_DIRTY_UPDATE HEX: 00008000 + +STRUCT: D3DVERTEXBUFFER_DESC + { Format D3DFORMAT } + { Type D3DRESOURCETYPE } + { Usage DWORD } + { Pool D3DPOOL } + { Size UINT } + { FVF DWORD } ; + +STRUCT: D3DINDEXBUFFER_DESC + { Format D3DFORMAT } + { Type D3DRESOURCETYPE } + { Usage DWORD } + { Pool D3DPOOL } + { Size UINT } ; + +STRUCT: D3DSURFACE_DESC + { Format D3DFORMAT } + { Type D3DRESOURCETYPE } + { Usage DWORD } + { Pool D3DPOOL } + { MultiSampleType D3DMULTISAMPLE_TYPE } + { MultiSampleQuality DWORD } + { Width UINT } + { Height UINT } ; + +STRUCT: D3DVOLUME_DESC + + { Format D3DFORMAT } + { Type D3DRESOURCETYPE } + { Usage DWORD } + { Pool D3DPOOL } + { Width UINT } + { Height UINT } + { Depth UINT } ; + +STRUCT: D3DLOCKED_RECT + { Pitch INT } + { pBits void* } ; + +STRUCT: D3DBOX + { Left UINT } + { Top UINT } + { Right UINT } + { Bottom UINT } + { Front UINT } + { Back UINT } ; + +STRUCT: D3DLOCKED_BOX + { RowPitch INT } + { SlicePitch INT } + { pBits void* } ; + +STRUCT: D3DRANGE + { Offset UINT } + { Size UINT } ; + +STRUCT: D3DRECTPATCH_INFO + { StartVertexOffsetWidth UINT } + { StartVertexOffsetHeight UINT } + { Width UINT } + { Height UINT } + { Stride UINT } + { Basis D3DBASISTYPE } + { Degree D3DDEGREETYPE } ; + +STRUCT: D3DTRIPATCH_INFO + { StartVertexOffset UINT } + { NumVertices UINT } + { Basis D3DBASISTYPE } + { Degree D3DDEGREETYPE } ; + +CONSTANT: MAX_DEVICE_IDENTIFIER_STRING 512 + +STRUCT: D3DADAPTER_IDENTIFIER9 + { Driver char[512] } + { Description char[512] } + { DeviceName char[32] } + { DriverVersion LARGE_INTEGER } + { VendorId DWORD } + { DeviceId DWORD } + { SubSysId DWORD } + { Revision DWORD } + { DeviceIdentifier GUID } + { WHQLLevel DWORD } ; + +STRUCT: D3DRASTER_STATUS + { InVBlank BOOL } + { ScanLine UINT } ; + +TYPEDEF: int D3DDEBUGMONITORTOKENS +CONSTANT: D3DDMT_ENABLE 0 +CONSTANT: D3DDMT_DISABLE 1 +CONSTANT: D3DDMT_FORCE_DWORD HEX: 7fffffff + +TYPEDEF: int D3DQUERYTYPE +CONSTANT: D3DQUERYTYPE_VCACHE 4 +CONSTANT: D3DQUERYTYPE_RESOURCEMANAGER 5 +CONSTANT: D3DQUERYTYPE_VERTEXSTATS 6 +CONSTANT: D3DQUERYTYPE_EVENT 8 +CONSTANT: D3DQUERYTYPE_OCCLUSION 9 +CONSTANT: D3DQUERYTYPE_TIMESTAMP 10 +CONSTANT: D3DQUERYTYPE_TIMESTAMPDISJOINT 11 +CONSTANT: D3DQUERYTYPE_TIMESTAMPFREQ 12 +CONSTANT: D3DQUERYTYPE_PIPELINETIMINGS 13 +CONSTANT: D3DQUERYTYPE_INTERFACETIMINGS 14 +CONSTANT: D3DQUERYTYPE_VERTEXTIMINGS 15 +CONSTANT: D3DQUERYTYPE_PIXELTIMINGS 16 +CONSTANT: D3DQUERYTYPE_BANDWIDTHTIMINGS 17 +CONSTANT: D3DQUERYTYPE_CACHEUTILIZATION 18 +CONSTANT: D3DQUERYTYPE_MEMORYPRESSURE 19 + +CONSTANT: D3DISSUE_END 1 +CONSTANT: D3DISSUE_BEGIN 2 + +CONSTANT: D3DGETDATA_FLUSH 1 + +STRUCT: D3DRESOURCESTATS + { bThrashing BOOL } + { ApproxBytesDownloaded DWORD } + { NumEvicts DWORD } + { NumVidCreates DWORD } + { LastPri DWORD } + { NumUsed DWORD } + { NumUsedInVidMem DWORD } + { WorkingSet DWORD } + { WorkingSetBytes DWORD } + { TotalManaged DWORD } + { TotalBytes DWORD } ; + +CONSTANT: D3DRTYPECOUNT 8 + +STRUCT: D3DDEVINFO_RESOURCEMANAGER + { stats D3DRESOURCESTATS[8] } ; +TYPEDEF: D3DDEVINFO_RESOURCEMANAGER* LPD3DDEVINFO_RESOURCEMANAGER + +STRUCT: D3DDEVINFO_D3DVERTEXSTATS + { NumRenderedTriangles DWORD } + { NumExtraClippingTriangles DWORD } ; +TYPEDEF: D3DDEVINFO_D3DVERTEXSTATS* LPD3DDEVINFO_D3DVERTEXSTATS + +STRUCT: D3DDEVINFO_VCACHE + { Pattern DWORD } + { OptMethod DWORD } + { CacheSize DWORD } + { MagicNumber DWORD } ; +TYPEDEF: D3DDEVINFO_VCACHE* LPD3DDEVINFO_VCACHE + +STRUCT: D3DDEVINFO_D3D9PIPELINETIMINGS + { VertexProcessingTimePercent FLOAT } + { PixelProcessingTimePercent FLOAT } + { OtherGPUProcessingTimePercent FLOAT } + { GPUIdleTimePercent FLOAT } ; + +STRUCT: D3DDEVINFO_D3D9INTERFACETIMINGS + { WaitingForGPUToUseApplicationResourceTimePercent FLOAT } + { WaitingForGPUToAcceptMoreCommandsTimePercent FLOAT } + { WaitingForGPUToStayWithinLatencyTimePercent FLOAT } + { WaitingForGPUExclusiveResourceTimePercent FLOAT } + { WaitingForGPUOtherTimePercent FLOAT } ; + +STRUCT: D3DDEVINFO_D3D9STAGETIMINGS + { MemoryProcessingPercent FLOAT } + { ComputationProcessingPercent FLOAT } ; + +STRUCT: D3DDEVINFO_D3D9BANDWIDTHTIMINGS + { MaxBandwidthUtilized FLOAT } + { FrontEndUploadMemoryUtilizedPercent FLOAT } + { VertexRateUtilizedPercent FLOAT } + { TriangleSetupRateUtilizedPercent FLOAT } + { FillRateUtilizedPercent FLOAT } ; + +STRUCT: D3DDEVINFO_D3D9CACHEUTILIZATION + { TextureCacheHitRate FLOAT } + { PostTransformVertexCacheHitRate FLOAT } ; + +STRUCT: D3DMEMORYPRESSURE + { BytesEvictedFromProcess UINT64 } + { SizeOfInefficientAllocation UINT64 } + { LevelOfEfficiency DWORD } ; + +TYPEDEF: int D3DCOMPOSERECTSOP +CONSTANT: D3DCOMPOSERECTS_COPY 1 +CONSTANT: D3DCOMPOSERECTS_OR 2 +CONSTANT: D3DCOMPOSERECTS_AND 3 +CONSTANT: D3DCOMPOSERECTS_NEG 4 +CONSTANT: D3DCOMPOSERECTS_FORCE_DWORD HEX: 7fffffff + +STRUCT: D3DCOMPOSERECTDESC + { X USHORT } + { Y USHORT } + { Width USHORT } + { Height USHORT } ; + +STRUCT: D3DCOMPOSERECTDESTINATION + { SrcRectIndex USHORT } + { Reserved USHORT } + { X SHORT } + { Y SHORT } ; + +CONSTANT: D3DCOMPOSERECTS_MAXNUMRECTS HEX: FFFF +CONSTANT: D3DCONVOLUTIONMONO_MAXWIDTH 7 +: D3DCONVOLUTIONMONO_MAXHEIGHT ( -- n ) D3DCONVOLUTIONMONO_MAXWIDTH ; inline +CONSTANT: D3DFMT_A1_SURFACE_MAXWIDTH 8192 +CONSTANT: D3DFMT_A1_SURFACE_MAXHEIGHT 2048 + +STRUCT: D3DPRESENTSTATS + { PresentCount UINT } + { PresentRefreshCount UINT } + { SyncRefreshCount UINT } + { SyncQPCTime LARGE_INTEGER } + { SyncGPUTime LARGE_INTEGER } ; + +TYPEDEF: int D3DSCANLINEORDERING +CONSTANT: D3DSCANLINEORDERING_UNKNOWN 0 +CONSTANT: D3DSCANLINEORDERING_PROGRESSIVE 1 +CONSTANT: D3DSCANLINEORDERING_INTERLACED 2 + +STRUCT: D3DDISPLAYMODEEX + { Size UINT } + { Width UINT } + { Height UINT } + { RefreshRate UINT } + { Format D3DFORMAT } + { ScanLineOrdering D3DSCANLINEORDERING } ; + +STRUCT: D3DDISPLAYMODEFILTER + { Size UINT } + { Format D3DFORMAT } + { ScanLineOrdering D3DSCANLINEORDERING } ; + +TYPEDEF: int D3DDISPLAYROTATION +CONSTANT: D3DDISPLAYROTATION_IDENTITY 1 +CONSTANT: D3DDISPLAYROTATION_90 2 +CONSTANT: D3DDISPLAYROTATION_180 3 +CONSTANT: D3DDISPLAYROTATION_270 4 + +CONSTANT: D3D9_RESOURCE_PRIORITY_MINIMUM HEX: 28000000 +CONSTANT: D3D9_RESOURCE_PRIORITY_LOW HEX: 50000000 +CONSTANT: D3D9_RESOURCE_PRIORITY_NORMAL HEX: 78000000 +CONSTANT: D3D9_RESOURCE_PRIORITY_HIGH HEX: a0000000 +CONSTANT: D3D9_RESOURCE_PRIORITY_MAXIMUM HEX: c8000000 + +CONSTANT: D3D_OMAC_SIZE 16 + +STRUCT: D3D_OMAC + { Omac BYTE[D3D_OMAC_SIZE] } ; + +TYPEDEF: int D3DAUTHENTICATEDCHANNELTYPE +CONSTANT: D3DAUTHENTICATEDCHANNEL_D3D9 1 +CONSTANT: D3DAUTHENTICATEDCHANNEL_DRIVER_SOFTWARE 2 +CONSTANT: D3DAUTHENTICATEDCHANNEL_DRIVER_HARDWARE 3 + +STRUCT: D3DAUTHENTICATEDCHANNEL_QUERY_INPUT + { QueryType GUID } + { hChannel HANDLE } + { SequenceNumber UINT } ; + +STRUCT: D3DAUTHENTICATEDCHANNEL_QUERY_OUTPUT + { omac D3D_OMAC } + { QueryType GUID } + { hChannel HANDLE } + { SequenceNumber UINT } + { ReturnCode HRESULT } ; + +STRUCT: D3DAUTHENTICATEDCHANNEL_PROTECTION_FLAGS + { Value UINT } ; + +STRUCT: D3DAUTHENTICATEDCHANNEL_QUERYPROTECTION_OUTPUT + { Output D3DAUTHENTICATEDCHANNEL_QUERY_OUTPUT } + { ProtectionFlags D3DAUTHENTICATEDCHANNEL_PROTECTION_FLAGS } ; + +STRUCT: D3DAUTHENTICATEDCHANNEL_QUERYCHANNELTYPE_OUTPUT + { Output D3DAUTHENTICATEDCHANNEL_QUERY_OUTPUT } + { ChannelType D3DAUTHENTICATEDCHANNELTYPE } ; + +STRUCT: D3DAUTHENTICATEDCHANNEL_QUERYDEVICEHANDLE_OUTPUT + { Output D3DAUTHENTICATEDCHANNEL_QUERY_OUTPUT } + { DeviceHandle HANDLE } ; + +STRUCT: D3DAUTHENTICATEDCHANNEL_QUERYCRYPTOSESSION_INPUT + { Input D3DAUTHENTICATEDCHANNEL_QUERY_INPUT } + { DXVA2DecodeHandle HANDLE } ; + +STRUCT: D3DAUTHENTICATEDCHANNEL_QUERYCRYPTOSESSION_OUTPUT + { Output D3DAUTHENTICATEDCHANNEL_QUERY_OUTPUT } + { DXVA2DecodeHandle HANDLE } + { CryptoSessionHandle HANDLE } + { DeviceHandle HANDLE } ; + +STRUCT: D3DAUTHENTICATEDCHANNEL_QUERYRESTRICTEDSHAREDRESOURCEPROCESSCOUNT_OUTPUT + { Output D3DAUTHENTICATEDCHANNEL_QUERY_OUTPUT } + { NumRestrictedSharedResourceProcesses UINT } ; + +STRUCT: D3DAUTHENTICATEDCHANNEL_QUERYRESTRICTEDSHAREDRESOURCEPROCESS_INPUT + { Input D3DAUTHENTICATEDCHANNEL_QUERY_INPUT } + { ProcessIndex UINT } ; + +TYPEDEF: int D3DAUTHENTICATEDCHANNEL_PROCESSIDENTIFIERTYPE +CONSTANT: PROCESSIDTYPE_UNKNOWN 0 +CONSTANT: PROCESSIDTYPE_DWM 1 +CONSTANT: PROCESSIDTYPE_HANDLE 2 + +STRUCT: D3DAUTHENTICATEDCHANNEL_QUERYRESTRICTEDSHAREDRESOURCEPROCESS_OUTPUT + { Output D3DAUTHENTICATEDCHANNEL_QUERY_OUTPUT } + { ProcessIndex UINT } + { ProcessIdentifer D3DAUTHENTICATEDCHANNEL_PROCESSIDENTIFIERTYPE } + { ProcessHandle HANDLE } ; + +STRUCT: D3DAUTHENTICATEDCHANNEL_QUERYUNRESTRICTEDPROTECTEDSHAREDRESOURCECOUNT_OUTPUT + { Output D3DAUTHENTICATEDCHANNEL_QUERY_OUTPUT } + { NumUnrestrictedProtectedSharedResources UINT } ; + +STRUCT: D3DAUTHENTICATEDCHANNEL_QUERYOUTPUTIDCOUNT_INPUT + { Input D3DAUTHENTICATEDCHANNEL_QUERY_INPUT } + { DeviceHandle HANDLE } + { CryptoSessionHandle HANDLE } ; + +STRUCT: D3DAUTHENTICATEDCHANNEL_QUERYOUTPUTIDCOUNT_OUTPUT + { Output D3DAUTHENTICATEDCHANNEL_QUERY_OUTPUT } + { DeviceHandle HANDLE } + { CryptoSessionHandle HANDLE } + { NumOutputIDs UINT } ; + +STRUCT: D3DAUTHENTICATEDCHANNEL_QUERYOUTPUTID_INPUT + { Input D3DAUTHENTICATEDCHANNEL_QUERY_INPUT } + { DeviceHandle HANDLE } + { CryptoSessionHandle HANDLE } + { OutputIDIndex UINT } ; + +STRUCT: D3DAUTHENTICATEDCHANNEL_QUERYOUTPUTID_OUTPUT + { Output D3DAUTHENTICATEDCHANNEL_QUERY_OUTPUT } + { DeviceHandle HANDLE } + { CryptoSessionHandle HANDLE } + { OutputIDIndex UINT } + { OutputID UINT64 } ; + +TYPEDEF: int D3DBUSTYPE +CONSTANT: D3DBUSTYPE_OTHER HEX: 00000000 +CONSTANT: D3DBUSTYPE_PCI HEX: 00000001 +CONSTANT: D3DBUSTYPE_PCIX HEX: 00000002 +CONSTANT: D3DBUSTYPE_PCIEXPRESS HEX: 00000003 +CONSTANT: D3DBUSTYPE_AGP HEX: 00000004 +CONSTANT: D3DBUSIMPL_MODIFIER_INSIDE_OF_CHIPSET HEX: 00010000 +CONSTANT: D3DBUSIMPL_MODIFIER_TRACKS_ON_MOTHER_BOARD_TO_CHIP HEX: 00020000 +CONSTANT: D3DBUSIMPL_MODIFIER_TRACKS_ON_MOTHER_BOARD_TO_SOCKET HEX: 00030000 +CONSTANT: D3DBUSIMPL_MODIFIER_DAUGHTER_BOARD_CONNECTOR HEX: 00040000 +CONSTANT: D3DBUSIMPL_MODIFIER_DAUGHTER_BOARD_CONNECTOR_INSIDE_OF_NUAE HEX: 00050000 +CONSTANT: D3DBUSIMPL_MODIFIER_NON_STANDARD HEX: 80000000 + +STRUCT: D3DAUTHENTICATEDCHANNEL_QUERYINFOBUSTYPE_OUTPUT + { Output D3DAUTHENTICATEDCHANNEL_QUERY_OUTPUT } + { BusType D3DBUSTYPE } + { bAccessibleInContiguousBlocks BOOL } + { bAccessibleInNonContiguousBlocks BOOL } ; + +STRUCT: D3DAUTHENTICATEDCHANNEL_QUERYEVICTIONENCRYPTIONGUIDCOUNT_OUTPUT + { Output D3DAUTHENTICATEDCHANNEL_QUERY_OUTPUT } + { NumEncryptionGuids UINT } ; + +STRUCT: D3DAUTHENTICATEDCHANNEL_QUERYEVICTIONENCRYPTIONGUID_INPUT + { Input D3DAUTHENTICATEDCHANNEL_QUERY_INPUT } + { EncryptionGuidIndex UINT } ; + +STRUCT: D3DAUTHENTICATEDCHANNEL_QUERYEVICTIONENCRYPTIONGUID_OUTPUT + { Output D3DAUTHENTICATEDCHANNEL_QUERY_OUTPUT } + { EncryptionGuidIndex UINT } + { EncryptionGuid GUID } ; + +STRUCT: D3DAUTHENTICATEDCHANNEL_QUERYUNCOMPRESSEDENCRYPTIONLEVEL_OUTPUT + { Output D3DAUTHENTICATEDCHANNEL_QUERY_OUTPUT } + { EncryptionGuid GUID } ; + +STRUCT: D3DAUTHENTICATEDCHANNEL_CONFIGURE_INPUT + { omac D3D_OMAC } + { ConfigureType GUID } + { hChannel HANDLE } + { SequenceNumber UINT } ; + +STRUCT: D3DAUTHENTICATEDCHANNEL_CONFIGURE_OUTPUT + { omac D3D_OMAC } + { ConfigureType GUID } + { hChannel HANDLE } + { SequenceNumber UINT } + { ReturnCode HRESULT } ; + +STRUCT: D3DAUTHENTICATEDCHANNEL_CONFIGUREINITIALIZE + { Parameters D3DAUTHENTICATEDCHANNEL_CONFIGURE_INPUT } + { StartSequenceQuery UINT } + { StartSequenceConfigure UINT } ; + +STRUCT: D3DAUTHENTICATEDCHANNEL_CONFIGUREPROTECTION + { Parameters D3DAUTHENTICATEDCHANNEL_CONFIGURE_INPUT } + { Protections D3DAUTHENTICATEDCHANNEL_PROTECTION_FLAGS } ; + +STRUCT: D3DAUTHENTICATEDCHANNEL_CONFIGURECRYPTOSESSION + { Parameters D3DAUTHENTICATEDCHANNEL_CONFIGURE_INPUT } + { DXVA2DecodeHandle HANDLE } + { CryptoSessionHandle HANDLE } + { DeviceHandle HANDLE } ; + +STRUCT: D3DAUTHENTICATEDCHANNEL_CONFIGURESHAREDRESOURCE + { Parameters D3DAUTHENTICATEDCHANNEL_CONFIGURE_INPUT } + { ProcessIdentiferType D3DAUTHENTICATEDCHANNEL_PROCESSIDENTIFIERTYPE } + { ProcessHandle HANDLE } + { AllowAccess BOOL } ; + +STRUCT: D3DAUTHENTICATEDCHANNEL_CONFIGUREUNCOMPRESSEDENCRYPTION + { Parameters D3DAUTHENTICATEDCHANNEL_CONFIGURE_INPUT } + { EncryptionGuid GUID } ; + +STRUCT: D3DENCRYPTED_BLOCK_INFO + { NumEncryptedBytesAtBeginning UINT } + { NumBytesInSkipPattern UINT } + { NumBytesInEncryptPattern UINT } ; + +STRUCT: D3DAES_CTR_IV + { IV UINT64 } + { Count UINT64 } ; diff --git a/basis/windows/directx/d3d9types/summary.txt b/basis/windows/directx/d3d9types/summary.txt new file mode 100644 index 0000000000..a5b7a8a4ef --- /dev/null +++ b/basis/windows/directx/d3d9types/summary.txt @@ -0,0 +1 @@ +DirectX 9 bindings. Corresponds to d3d9types.h. diff --git a/basis/windows/directx/d3d9types/tags.txt b/basis/windows/directx/d3d9types/tags.txt new file mode 100644 index 0000000000..2320bdd648 --- /dev/null +++ b/basis/windows/directx/d3d9types/tags.txt @@ -0,0 +1,2 @@ +unportable +bindings diff --git a/basis/windows/directx/d3dcommon/authors.txt b/basis/windows/directx/d3dcommon/authors.txt new file mode 100644 index 0000000000..6f03a12101 --- /dev/null +++ b/basis/windows/directx/d3dcommon/authors.txt @@ -0,0 +1 @@ +Erik Charlebois diff --git a/basis/windows/directx/d3dcommon/d3dcommon.factor b/basis/windows/directx/d3dcommon/d3dcommon.factor new file mode 100644 index 0000000000..2e8b1efcbd --- /dev/null +++ b/basis/windows/directx/d3dcommon/d3dcommon.factor @@ -0,0 +1,18 @@ +USING: alien.c-types alien.syntax ; +IN: windows.directx.d3dcommon + +CONSTANT: D3D_DRIVER_TYPE_UNKNOWN 0 +CONSTANT: D3D_DRIVER_TYPE_HARDWARE 1 +CONSTANT: D3D_DRIVER_TYPE_REFERENCE 2 +CONSTANT: D3D_DRIVER_TYPE_NULL 3 +CONSTANT: D3D_DRIVER_TYPE_SOFTWARE 4 +CONSTANT: D3D_DRIVER_TYPE_WARP 5 +TYPEDEF: int D3D_DRIVER_TYPE + +CONSTANT: D3D_FEATURE_LEVEL_9_1 HEX: 9100 +CONSTANT: D3D_FEATURE_LEVEL_9_2 HEX: 9200 +CONSTANT: D3D_FEATURE_LEVEL_9_3 HEX: 9300 +CONSTANT: D3D_FEATURE_LEVEL_10_0 HEX: a000 +CONSTANT: D3D_FEATURE_LEVEL_10_1 HEX: a100 +CONSTANT: D3D_FEATURE_LEVEL_11_0 HEX: b000 +TYPEDEF: int D3D_FEATURE_LEVEL diff --git a/basis/windows/directx/d3dcommon/summary.txt b/basis/windows/directx/d3dcommon/summary.txt new file mode 100644 index 0000000000..0ab8cff030 --- /dev/null +++ b/basis/windows/directx/d3dcommon/summary.txt @@ -0,0 +1 @@ +Common constants. Corresponds to d3dcommon.h. diff --git a/basis/windows/directx/d3dcommon/tags.txt b/basis/windows/directx/d3dcommon/tags.txt new file mode 100644 index 0000000000..2320bdd648 --- /dev/null +++ b/basis/windows/directx/d3dcommon/tags.txt @@ -0,0 +1,2 @@ +unportable +bindings diff --git a/basis/windows/directx/d3dcompiler/authors.txt b/basis/windows/directx/d3dcompiler/authors.txt new file mode 100644 index 0000000000..6f03a12101 --- /dev/null +++ b/basis/windows/directx/d3dcompiler/authors.txt @@ -0,0 +1 @@ +Erik Charlebois diff --git a/basis/windows/directx/d3dcompiler/d3dcompiler.factor b/basis/windows/directx/d3dcompiler/d3dcompiler.factor new file mode 100644 index 0000000000..90babe638a --- /dev/null +++ b/basis/windows/directx/d3dcompiler/d3dcompiler.factor @@ -0,0 +1,89 @@ +USING: alien.c-types alien.syntax windows.ole32 windows.types ; +IN: windows.directx.d3dcompiler + +LIBRARY: d3dcompiler + +C-TYPE: D3D_SHADER_MACRO +C-TYPE: ID3DBlob +TYPEDEF: ID3DBlob* LPD3DBLOB +C-TYPE: ID3DInclude +TYPEDEF: ID3DInclude* LPD3DINCLUDE +C-TYPE: ID3D10Effect + +FUNCTION: HRESULT D3DCompile ( + LPCVOID pSrcData, + SIZE_T SrcDataSize, + LPCSTR pSourceName, + D3D_SHADER_MACRO* pDefines, + LPD3DINCLUDE pInclude, + LPCSTR pEntrypoint, + LPCSTR pTarget, + UINT Flags1, + UINT Flags2, + LPD3DBLOB* ppCode, + LPD3DBLOB* ppErrorMsgs ) ; + +FUNCTION: HRESULT D3DPreprocess ( + LPCVOID pSrcData, + SIZE_T SrcDataSize, + LPCSTR pSourceName, + D3D_SHADER_MACRO* pDefines, + LPD3DINCLUDE pInclude, + LPD3DBLOB* ppCodeText, + LPD3DBLOB* ppErrorMsgs ) ; + +FUNCTION: HRESULT D3DGetDebugInfo ( + LPCVOID pSrcData, + SIZE_T SrcDataSize, + LPD3DBLOB* ppDebugInfo ) ; + +FUNCTION: HRESULT D3DReflect ( + LPCVOID pSrcData, + SIZE_T SrcDataSize, + REFIID pInterface, + void** ppReflector ) ; + +CONSTANT: D3D_DISASM_ENABLE_COLOR_CODE 1 +CONSTANT: D3D_DISASM_ENABLE_DEFAULT_VALUE_PRINTS 2 +CONSTANT: D3D_DISASM_ENABLE_INSTRUCTION_NUMBERING 4 +CONSTANT: D3D_DISASM_ENABLE_INSTRUCTION_CYCLE 8 + +FUNCTION: HRESULT D3DDisassemble ( + LPCVOID pSrcData, + SIZE_T SrcDataSize, + UINT Flags, + LPCSTR szComments, + LPD3DBLOB* ppDisassembly ) ; + +FUNCTION: HRESULT D3DDisassemble10Effect ( + ID3D10Effect* pEffect, + UINT Flags, + LPD3DBLOB* ppDisassembly ) ; + +FUNCTION: HRESULT D3DGetInputSignatureBlob ( + LPCVOID pSrcData, + SIZE_T SrcDataSize, + LPD3DBLOB* ppSignatureBlob ) ; + +FUNCTION: HRESULT D3DGetOutputSignatureBlob ( + LPCVOID pSrcData, + SIZE_T SrcDataSize, + LPD3DBLOB* ppSignatureBlob ) ; + +FUNCTION: HRESULT D3DGetInputAndOutputSignatureBlob ( + LPCVOID pSrcData, + SIZE_T SrcDataSize, + LPD3DBLOB* ppSignatureBlob ) ; + +CONSTANT: D3DCOMPILER_STRIP_REFLECTION_DATA 1 +CONSTANT: D3DCOMPILER_STRIP_DEBUG_INFO 2 +CONSTANT: D3DCOMPILER_STRIP_TEST_BLOBS 4 +CONSTANT: D3DCOMPILER_STRIP_FORCE_DWORD HEX: 7fffffff +TYPEDEF: int D3DCOMPILER_STRIP_FLAGS + +FUNCTION: HRESULT D3DStripShader ( + LPCVOID pShaderBytecode, + SIZE_T BytecodeLength, + UINT uStripFlags, + LPD3DBLOB* ppStrippedBlob ) ; + diff --git a/basis/windows/directx/d3dcompiler/summary.txt b/basis/windows/directx/d3dcompiler/summary.txt new file mode 100644 index 0000000000..4f61677f87 --- /dev/null +++ b/basis/windows/directx/d3dcompiler/summary.txt @@ -0,0 +1 @@ +Shader compiler bindings. Corresponds to d3dcompiler.h. diff --git a/basis/windows/directx/d3dcompiler/tags.txt b/basis/windows/directx/d3dcompiler/tags.txt new file mode 100644 index 0000000000..2320bdd648 --- /dev/null +++ b/basis/windows/directx/d3dcompiler/tags.txt @@ -0,0 +1,2 @@ +unportable +bindings diff --git a/basis/windows/directx/d3dcsx/authors.txt b/basis/windows/directx/d3dcsx/authors.txt new file mode 100644 index 0000000000..6f03a12101 --- /dev/null +++ b/basis/windows/directx/d3dcsx/authors.txt @@ -0,0 +1 @@ +Erik Charlebois diff --git a/basis/windows/directx/d3dcsx/d3dcsx.factor b/basis/windows/directx/d3dcsx/d3dcsx.factor new file mode 100644 index 0000000000..c2d3af8cf3 --- /dev/null +++ b/basis/windows/directx/d3dcsx/d3dcsx.factor @@ -0,0 +1,82 @@ +USING: alien.c-types alien.syntax classes.struct windows.com windows.com.syntax +windows.directx.d3d11 windows.types ; +IN: windows.directx.d3dcsx + +LIBRARY: d3dcsx + +CONSTANT: D3DX11_SCAN_DATA_TYPE_FLOAT 1 +CONSTANT: D3DX11_SCAN_DATA_TYPE_INT 2 +CONSTANT: D3DX11_SCAN_DATA_TYPE_UINT 3 +TYPEDEF: int D3DX11_SCAN_DATA_TYPE + +CONSTANT: D3DX11_SCAN_OPCODE_ADD 1 +CONSTANT: D3DX11_SCAN_OPCODE_MIN 2 +CONSTANT: D3DX11_SCAN_OPCODE_MAX 3 +CONSTANT: D3DX11_SCAN_OPCODE_MUL 4 +CONSTANT: D3DX11_SCAN_OPCODE_AND 5 +CONSTANT: D3DX11_SCAN_OPCODE_OR 6 +CONSTANT: D3DX11_SCAN_OPCODE_XOR 7 +TYPEDEF: int D3DX11_SCAN_OPCODE + +CONSTANT: D3DX11_SCAN_DIRECTION_FORWARD 1 +CONSTANT: D3DX11_SCAN_DIRECTION_BACKWARD 2 +TYPEDEF: int D3DX11_SCAN_DIRECTION + +COM-INTERFACE: ID3DX11Scan IUnknown {5089b68f-e71d-4d38-be8e-f363b95a9405} + HRESULT SetScanDirection ( D3DX11_SCAN_DIRECTION Direction ) + HRESULT Scan ( D3DX11_SCAN_DATA_TYPE ElementType, D3DX11_SCAN_OPCODE OpCode, UINT ElementScanSize, ID3D11UnorderedAccessView* pSrc, ID3D11UnorderedAccessView* pDst ) + HRESULT Multiscan ( D3DX11_SCAN_DATA_TYPE ElementType, D3DX11_SCAN_OPCODE OpCode, UINT ElementScanSize, UINT ElementScanPitch, UINT ScanCount, ID3D11UnorderedAccessView* pSrc, ID3D11UnorderedAccessView* pDst ) ; + +FUNCTION: HRESULT D3DX11CreateScan ( ID3D11DeviceContext* pDeviceContext, UINT MaxElementScanSize, UINT MaxScanCount, ID3DX11Scan** ppScan ) ; + +COM-INTERFACE: ID3DX11SegmentedScan IUnknown {a915128c-d954-4c79-bfe1-64db923194d6} + HRESULT SetScanDirection ( D3DX11_SCAN_DIRECTION Direction ) + HRESULT SegScan ( D3DX11_SCAN_DATA_TYPE ElementType, D3DX11_SCAN_OPCODE OpCode, UINT ElementScanSize, ID3D11UnorderedAccessView* pSrc, ID3D11UnorderedAccessView* pSrcElementFlags, ID3D11UnorderedAccessView* pDst ) ; + +FUNCTION: HRESULT D3DX11CreateSegmentedScan ( ID3D11DeviceContext* pDeviceContext, UINT MaxElementScanSize, ID3DX11SegmentedScan** ppScan ) ; + +CONSTANT: D3DX11_FFT_MAX_PRECOMPUTE_BUFFERS 4 +CONSTANT: D3DX11_FFT_MAX_TEMP_BUFFERS 4 +CONSTANT: D3DX11_FFT_MAX_DIMENSIONS 32 + +COM-INTERFACE: ID3DX11FFT IUnknown {b3f7a938-4c93-4310-a675-b30d6de50553} + HRESULT SetForwardScale ( FLOAT ForwardScale ) + FLOAT GetForwardScale ( ) + HRESULT SetInverseScale ( FLOAT InverseScale ) + FLOAT GetInverseScale ( ) + HRESULT AttachBuffersAndPrecompute ( UINT NumTempBuffers, ID3D11UnorderedAccessView** ppTempBuffers, UINT NumPrecomputeBuffers, ID3D11UnorderedAccessView** ppPrecomputeBufferSizes ) + HRESULT ForwardTransform ( ID3D11UnorderedAccessView* pInputBuffer, ID3D11UnorderedAccessView** ppOutputBuffer ) + HRESULT InverseTransform ( ID3D11UnorderedAccessView* pInputBuffer, ID3D11UnorderedAccessView** ppOutputBuffer ) ; + +C-ENUM: + D3DX11_FFT_DATA_TYPE_REAL + D3DX11_FFT_DATA_TYPE_COMPLEX ; +TYPEDEF: int D3DX11_FFT_DATA_TYPE + +CONSTANT: D3DX11_FFT_DIM_MASK_1D 1 +CONSTANT: D3DX11_FFT_DIM_MASK_2D 3 +CONSTANT: D3DX11_FFT_DIM_MASK_3D 7 +TYPEDEF: int D3DX11_FFT_DIM_MASK + +STRUCT: D3DX11_FFT_DESC + { NumDimensions UINT } + { ElementLengths UINT[D3DX11_FFT_MAX_DIMENSIONS] } + { DimensionMask UINT } + { Type D3DX11_FFT_DATA_TYPE } ; + +STRUCT: D3DX11_FFT_BUFFER_INFO + { NumTempBufferSize UINT } + { TempBufferFloatSizes UINT[D3DX11_FFT_MAX_TEMP_BUFFERS] } + { NumPrecomputeBufferSizes UINT } + { PrecomputeBufferFloatSizes UINT[D3DX11_FFT_MAX_PRECOMPUTE_BUFFERS] } ; + +CONSTANT: D3DX11_FFT_CREATE_FLAG_NO_PRECOMPUTE_BUFFERS 1 +TYPEDEF: int D3DX11_FFT_CREATE_FLAG + +FUNCTION: HRESULT D3DX11CreateFFT ( ID3D11DeviceContext* pDeviceContext, D3DX11_FFT_DESC* pDesc, UINT Flags, D3DX11_FFT_BUFFER_INFO* pBufferInfo, ID3DX11FFT** ppFFT ) ; +FUNCTION: HRESULT D3DX11CreateFFT1DReal ( ID3D11DeviceContext* pDeviceContext, UINT X, UINT Flags, D3DX11_FFT_BUFFER_INFO* pBufferInfo, ID3DX11FFT** ppFFT ) ; +FUNCTION: HRESULT D3DX11CreateFFT1DComplex ( ID3D11DeviceContext* pDeviceContext, UINT X, UINT Flags, D3DX11_FFT_BUFFER_INFO* pBufferInfo, ID3DX11FFT** ppFFT ) ; +FUNCTION: HRESULT D3DX11CreateFFT2DReal ( ID3D11DeviceContext* pDeviceContext, UINT X, UINT Y, UINT Flags, D3DX11_FFT_BUFFER_INFO* pBufferInfo, ID3DX11FFT** ppFFT ) ; +FUNCTION: HRESULT D3DX11CreateFFT2DComplex ( ID3D11DeviceContext* pDeviceContext, UINT X, UINT Y, UINT Flags, D3DX11_FFT_BUFFER_INFO* pBufferInfo, ID3DX11FFT** ppFFT ) ; +FUNCTION: HRESULT D3DX11CreateFFT3DReal ( ID3D11DeviceContext* pDeviceContext, UINT X, UINT Y, UINT Z, UINT Flags, D3DX11_FFT_BUFFER_INFO* pBufferInfo, ID3DX11FFT** ppFFT ) ; +FUNCTION: HRESULT D3DX11CreateFFT3DComplex ( ID3D11DeviceContext* pDeviceContext, UINT X, UINT Y, UINT Z, UINT Flags, D3DX11_FFT_BUFFER_INFO* pBufferInfo, ID3DX11FFT** ppFFT ) ; diff --git a/basis/windows/directx/d3dcsx/summary.txt b/basis/windows/directx/d3dcsx/summary.txt new file mode 100644 index 0000000000..80da14c0f0 --- /dev/null +++ b/basis/windows/directx/d3dcsx/summary.txt @@ -0,0 +1 @@ +DirectCompute bindings. Corresponds to d3dcsx.h. diff --git a/basis/windows/directx/d3dcsx/tags.txt b/basis/windows/directx/d3dcsx/tags.txt new file mode 100644 index 0000000000..2320bdd648 --- /dev/null +++ b/basis/windows/directx/d3dcsx/tags.txt @@ -0,0 +1,2 @@ +unportable +bindings diff --git a/basis/windows/directx/d3dx10/authors.txt b/basis/windows/directx/d3dx10/authors.txt new file mode 100644 index 0000000000..6f03a12101 --- /dev/null +++ b/basis/windows/directx/d3dx10/authors.txt @@ -0,0 +1 @@ +Erik Charlebois diff --git a/basis/windows/directx/d3dx10/d3dx10.factor b/basis/windows/directx/d3dx10/d3dx10.factor new file mode 100644 index 0000000000..3eda6f0a53 --- /dev/null +++ b/basis/windows/directx/d3dx10/d3dx10.factor @@ -0,0 +1,12 @@ +USING: ; +IN: windows.directx.d3dx10 + +CONSTANT: D3DX10_ERR_CANNOT_MODIFY_INDEX_BUFFER HEX: 88760B54 +CONSTANT: D3DX10_ERR_INVALID_MESH HEX: 88760B55 +CONSTANT: D3DX10_ERR_CANNOT_ATTR_SORT HEX: 88760B56 +CONSTANT: D3DX10_ERR_SKINNING_NOT_SUPPORTED HEX: 88760B57 +CONSTANT: D3DX10_ERR_TOO_MANY_INFLUENCES HEX: 88760B58 +CONSTANT: D3DX10_ERR_INVALID_DATA HEX: 88760B59 +CONSTANT: D3DX10_ERR_LOADED_MESH_HAS_NO_DATA HEX: 88760B5A +CONSTANT: D3DX10_ERR_DUPLICATE_NAMED_FRAGMENT HEX: 88760B5B +CONSTANT: D3DX10_ERR_CANNOT_REMOVE_LAST_ITEM HEX: 88760B5C diff --git a/basis/windows/directx/d3dx10/summary.txt b/basis/windows/directx/d3dx10/summary.txt new file mode 100644 index 0000000000..b80eea3c0d --- /dev/null +++ b/basis/windows/directx/d3dx10/summary.txt @@ -0,0 +1 @@ +Direct3D 10 bindings. Corresponds to d3dx10.h. diff --git a/basis/windows/directx/d3dx10/tags.txt b/basis/windows/directx/d3dx10/tags.txt new file mode 100644 index 0000000000..2320bdd648 --- /dev/null +++ b/basis/windows/directx/d3dx10/tags.txt @@ -0,0 +1,2 @@ +unportable +bindings diff --git a/basis/windows/directx/d3dx10async/authors.txt b/basis/windows/directx/d3dx10async/authors.txt new file mode 100644 index 0000000000..6f03a12101 --- /dev/null +++ b/basis/windows/directx/d3dx10async/authors.txt @@ -0,0 +1 @@ +Erik Charlebois diff --git a/basis/windows/directx/d3dx10async/d3dx10async.factor b/basis/windows/directx/d3dx10async/d3dx10async.factor new file mode 100644 index 0000000000..e2165302f4 --- /dev/null +++ b/basis/windows/directx/d3dx10async/d3dx10async.factor @@ -0,0 +1,121 @@ +USING: alien.syntax windows.directx.d3d10 windows.directx.d3d10shader +windows.types ; +IN: windows.directx.d3dx10async + +LIBRARY: d3dx10 + +C-TYPE: ID3DX10ThreadPump +C-TYPE: ID3D10EffectPool +C-TYPE: D3DX10_IMAGE_LOAD_INFO +C-TYPE: D3DX10_IMAGE_INFO + +FUNCTION: HRESULT D3DX10CompileFromFileA ( LPCSTR pSrcFile, D3D10_SHADER_MACRO* pDefines, LPD3D10INCLUDE pInclude, + LPCSTR pFunctionName, LPCSTR pProfile, UINT Flags1, UINT Flags2, ID3DX10ThreadPump* pPump, ID3D10Blob** ppShader, ID3D10Blob** ppErrorMsgs, HRESULT* pHResult ) ; + +FUNCTION: HRESULT D3DX10CompileFromFileW ( LPCWSTR pSrcFile, D3D10_SHADER_MACRO* pDefines, LPD3D10INCLUDE pInclude, + LPCSTR pFunctionName, LPCSTR pProfile, UINT Flags1, UINT Flags2, ID3DX10ThreadPump* pPump, ID3D10Blob** ppShader, ID3D10Blob** ppErrorMsgs, HRESULT* pHResult ) ; + +ALIAS: D3DX10CompileFromFile D3DX10CompileFromFileW + +FUNCTION: HRESULT D3DX10CompileFromResourceA ( HMODULE hSrcModule, LPCSTR pSrcResource, LPCSTR pSrcFileName, D3D10_SHADER_MACRO* pDefines, + LPD3D10INCLUDE pInclude, LPCSTR pFunctionName, LPCSTR pProfile, UINT Flags1, UINT Flags2, ID3DX10ThreadPump* pPump, ID3D10Blob** ppShader, ID3D10Blob** ppErrorMsgs, HRESULT* pHResult ) ; + +FUNCTION: HRESULT D3DX10CompileFromResourceW ( HMODULE hSrcModule, LPCWSTR pSrcResource, LPCWSTR pSrcFileName, D3D10_SHADER_MACRO* pDefines, + LPD3D10INCLUDE pInclude, LPCSTR pFunctionName, LPCSTR pProfile, UINT Flags1, UINT Flags2, ID3DX10ThreadPump* pPump, ID3D10Blob** ppShader, ID3D10Blob** ppErrorMsgs, HRESULT* pHResult ) ; + +ALIAS: D3DX10CompileFromResource D3DX10CompileFromResourceW + +FUNCTION: HRESULT D3DX10CompileFromMemory ( LPCSTR pSrcData, SIZE_T SrcDataLen, LPCSTR pFileName, D3D10_SHADER_MACRO* pDefines, LPD3D10INCLUDE pInclude, + LPCSTR pFunctionName, LPCSTR pProfile, UINT Flags1, UINT Flags2, ID3DX10ThreadPump* pPump, ID3D10Blob** ppShader, ID3D10Blob** ppErrorMsgs, HRESULT* pHResult ) ; + +FUNCTION: HRESULT D3DX10CreateEffectFromFileA ( LPCSTR pFileName, D3D10_SHADER_MACRO* pDefines, + ID3D10Include* pInclude, LPCSTR pProfile, UINT HLSLFlags, UINT FXFlags, ID3D10Device* pDevice, + ID3D10EffectPool* pEffectPool, ID3DX10ThreadPump* pPump, ID3D10Effect** ppEffect, ID3D10Blob** ppErrors, HRESULT* pHResult ) ; + +FUNCTION: HRESULT D3DX10CreateEffectFromFileW ( LPCWSTR pFileName, D3D10_SHADER_MACRO* pDefines, + ID3D10Include* pInclude, LPCSTR pProfile, UINT HLSLFlags, UINT FXFlags, ID3D10Device* pDevice, + ID3D10EffectPool* pEffectPool, ID3DX10ThreadPump* pPump, ID3D10Effect** ppEffect, ID3D10Blob** ppErrors, HRESULT* pHResult ) ; + +FUNCTION: HRESULT D3DX10CreateEffectFromMemory ( LPCVOID pData, SIZE_T DataLength, LPCSTR pSrcFileName, D3D10_SHADER_MACRO* pDefines, + ID3D10Include* pInclude, LPCSTR pProfile, UINT HLSLFlags, UINT FXFlags, ID3D10Device* pDevice, + ID3D10EffectPool* pEffectPool, ID3DX10ThreadPump* pPump, ID3D10Effect** ppEffect, ID3D10Blob** ppErrors, HRESULT* pHResult ) ; + +FUNCTION: HRESULT D3DX10CreateEffectFromResourceA ( HMODULE hModule, LPCSTR pResourceName, LPCSTR pSrcFileName, D3D10_SHADER_MACRO* pDefines, + ID3D10Include* pInclude, LPCSTR pProfile, UINT HLSLFlags, UINT FXFlags, ID3D10Device* pDevice, + ID3D10EffectPool* pEffectPool, ID3DX10ThreadPump* pPump, ID3D10Effect** ppEffect, ID3D10Blob** ppErrors, HRESULT* pHResult ) ; + +FUNCTION: HRESULT D3DX10CreateEffectFromResourceW ( HMODULE hModule, LPCWSTR pResourceName, LPCWSTR pSrcFileName, D3D10_SHADER_MACRO* pDefines, + ID3D10Include* pInclude, LPCSTR pProfile, UINT HLSLFlags, UINT FXFlags, ID3D10Device* pDevice, + ID3D10EffectPool* pEffectPool, ID3DX10ThreadPump* pPump, ID3D10Effect** ppEffect, ID3D10Blob** ppErrors, HRESULT* pHResult ) ; + +ALIAS: D3DX10CreateEffectFromFile D3DX10CreateEffectFromFileW +ALIAS: D3DX10CreateEffectFromResource D3DX10CreateEffectFromResourceW + +FUNCTION: HRESULT D3DX10CreateEffectPoolFromFileA ( LPCSTR pFileName, D3D10_SHADER_MACRO* pDefines, + ID3D10Include* pInclude, LPCSTR pProfile, UINT HLSLFlags, UINT FXFlags, ID3D10Device* pDevice, ID3DX10ThreadPump* pPump, + ID3D10EffectPool** ppEffectPool, ID3D10Blob** ppErrors, HRESULT* pHResult ) ; + +FUNCTION: HRESULT D3DX10CreateEffectPoolFromFileW ( LPCWSTR pFileName, D3D10_SHADER_MACRO* pDefines, + ID3D10Include* pInclude, LPCSTR pProfile, UINT HLSLFlags, UINT FXFlags, ID3D10Device* pDevice, ID3DX10ThreadPump* pPump, + ID3D10EffectPool** ppEffectPool, ID3D10Blob** ppErrors, HRESULT* pHResult ) ; + +FUNCTION: HRESULT D3DX10CreateEffectPoolFromMemory ( LPCVOID pData, SIZE_T DataLength, LPCSTR pSrcFileName, D3D10_SHADER_MACRO* pDefines, + ID3D10Include* pInclude, LPCSTR pProfile, UINT HLSLFlags, UINT FXFlags, ID3D10Device* pDevice, + ID3DX10ThreadPump* pPump, ID3D10EffectPool** ppEffectPool, ID3D10Blob** ppErrors, HRESULT* pHResult ) ; + +FUNCTION: HRESULT D3DX10CreateEffectPoolFromResourceA ( HMODULE hModule, LPCSTR pResourceName, LPCSTR pSrcFileName, D3D10_SHADER_MACRO* pDefines, + ID3D10Include* pInclude, LPCSTR pProfile, UINT HLSLFlags, UINT FXFlags, ID3D10Device* pDevice, + ID3DX10ThreadPump* pPump, ID3D10EffectPool** ppEffectPool, ID3D10Blob** ppErrors, HRESULT* pHResult ) ; + +FUNCTION: HRESULT D3DX10CreateEffectPoolFromResourceW ( HMODULE hModule, LPCWSTR pResourceName, LPCWSTR pSrcFileName, D3D10_SHADER_MACRO* pDefines, + ID3D10Include* pInclude, LPCSTR pProfile, UINT HLSLFlags, UINT FXFlags, ID3D10Device* pDevice, + ID3DX10ThreadPump* pPump, ID3D10EffectPool** ppEffectPool, ID3D10Blob** ppErrors, HRESULT* pHResult ) ; + +ALIAS: D3DX10CreateEffectPoolFromFile D3DX10CreateEffectPoolFromFileW +ALIAS: D3DX10CreateEffectPoolFromResource D3DX10CreateEffectPoolFromResourceW + +FUNCTION: HRESULT D3DX10PreprocessShaderFromFileA ( LPCSTR pFileName, D3D10_SHADER_MACRO* pDefines, + LPD3D10INCLUDE pInclude, ID3DX10ThreadPump* pPump, ID3D10Blob** ppShaderText, ID3D10Blob** ppErrorMsgs, HRESULT* pHResult ) ; + +FUNCTION: HRESULT D3DX10PreprocessShaderFromFileW ( LPCWSTR pFileName, D3D10_SHADER_MACRO* pDefines, + LPD3D10INCLUDE pInclude, ID3DX10ThreadPump* pPump, ID3D10Blob** ppShaderText, ID3D10Blob** ppErrorMsgs, HRESULT* pHResult ) ; + +FUNCTION: HRESULT D3DX10PreprocessShaderFromMemory ( LPCSTR pSrcData, SIZE_T SrcDataSize, LPCSTR pFileName, D3D10_SHADER_MACRO* pDefines, + LPD3D10INCLUDE pInclude, ID3DX10ThreadPump* pPump, ID3D10Blob** ppShaderText, ID3D10Blob** ppErrorMsgs, HRESULT* pHResult ) ; + +FUNCTION: HRESULT D3DX10PreprocessShaderFromResourceA ( HMODULE hModule, LPCSTR pResourceName, LPCSTR pSrcFileName, D3D10_SHADER_MACRO* pDefines, + LPD3D10INCLUDE pInclude, ID3DX10ThreadPump* pPump, ID3D10Blob** ppShaderText, ID3D10Blob** ppErrorMsgs, HRESULT* pHResult ) ; + +FUNCTION: HRESULT D3DX10PreprocessShaderFromResourceW ( HMODULE hModule, LPCWSTR pResourceName, LPCWSTR pSrcFileName, D3D10_SHADER_MACRO* pDefines, + LPD3D10INCLUDE pInclude, ID3DX10ThreadPump* pPump, ID3D10Blob** ppShaderText, ID3D10Blob** ppErrorMsgs, HRESULT* pHResult ) ; + +ALIAS: D3DX10PreprocessShaderFromFile D3DX10PreprocessShaderFromFileW +ALIAS: D3DX10PreprocessShaderFromResource D3DX10PreprocessShaderFromResourceW + +FUNCTION: HRESULT D3DX10CreateAsyncCompilerProcessor ( LPCSTR pFileName, D3D10_SHADER_MACRO* pDefines, LPD3D10INCLUDE pInclude, + LPCSTR pFunctionName, LPCSTR pProfile, UINT Flags1, UINT Flags2, + ID3D10Blob** ppCompiledShader, ID3D10Blob** ppErrorBuffer, ID3DX10DataProcessor** ppProcessor ) ; + +FUNCTION: HRESULT D3DX10CreateAsyncEffectCreateProcessor ( LPCSTR pFileName, D3D10_SHADER_MACRO* pDefines, LPD3D10INCLUDE pInclude, + LPCSTR pProfile, UINT Flags, UINT FXFlags, ID3D10Device* pDevice, + ID3D10EffectPool* pPool, ID3D10Blob** ppErrorBuffer, ID3DX10DataProcessor** ppProcessor ) ; + +FUNCTION: HRESULT D3DX10CreateAsyncEffectPoolCreateProcessor ( LPCSTR pFileName, D3D10_SHADER_MACRO* pDefines, LPD3D10INCLUDE pInclude, + LPCSTR pProfile, UINT Flags, UINT FXFlags, ID3D10Device* pDevice, + ID3D10Blob** ppErrorBuffer, ID3DX10DataProcessor** ppProcessor ) ; + +FUNCTION: HRESULT D3DX10CreateAsyncShaderPreprocessProcessor ( LPCSTR pFileName, D3D10_SHADER_MACRO* pDefines, LPD3D10INCLUDE pInclude, + ID3D10Blob** ppShaderText, ID3D10Blob** ppErrorBuffer, ID3DX10DataProcessor** ppProcessor ) ; + +FUNCTION: HRESULT D3DX10CreateAsyncFileLoaderW ( LPCWSTR pFileName, ID3DX10DataLoader** ppDataLoader ) ; +FUNCTION: HRESULT D3DX10CreateAsyncFileLoaderA ( LPCSTR pFileName, ID3DX10DataLoader** ppDataLoader ) ; +FUNCTION: HRESULT D3DX10CreateAsyncMemoryLoader ( LPCVOID pData, SIZE_T cbData, ID3DX10DataLoader** ppDataLoader ) ; +FUNCTION: HRESULT D3DX10CreateAsyncResourceLoaderW ( HMODULE hSrcModule, LPCWSTR pSrcResource, ID3DX10DataLoader** ppDataLoader ) ; +FUNCTION: HRESULT D3DX10CreateAsyncResourceLoaderA ( HMODULE hSrcModule, LPCSTR pSrcResource, ID3DX10DataLoader** ppDataLoader ) ; + +ALIAS: D3DX10CreateAsyncFileLoader D3DX10CreateAsyncFileLoaderW +ALIAS: D3DX10CreateAsyncResourceLoader D3DX10CreateAsyncResourceLoaderW + +FUNCTION: HRESULT D3DX10CreateAsyncTextureProcessor ( ID3D10Device* pDevice, D3DX10_IMAGE_LOAD_INFO* pLoadInfo, ID3DX10DataProcessor** ppDataProcessor ) ; +FUNCTION: HRESULT D3DX10CreateAsyncTextureInfoProcessor ( D3DX10_IMAGE_INFO* pImageInfo, ID3DX10DataProcessor** ppDataProcessor ) ; +FUNCTION: HRESULT D3DX10CreateAsyncShaderResourceViewProcessor ( ID3D10Device* pDevice, D3DX10_IMAGE_LOAD_INFO* pLoadInfo, ID3DX10DataProcessor** ppDataProcessor ) ; diff --git a/basis/windows/directx/d3dx10async/summary.txt b/basis/windows/directx/d3dx10async/summary.txt new file mode 100644 index 0000000000..5fc96bcdee --- /dev/null +++ b/basis/windows/directx/d3dx10async/summary.txt @@ -0,0 +1 @@ +Direct3D 10 bindings. Corresponds to d3dx10async.h. diff --git a/basis/windows/directx/d3dx10async/tags.txt b/basis/windows/directx/d3dx10async/tags.txt new file mode 100644 index 0000000000..2320bdd648 --- /dev/null +++ b/basis/windows/directx/d3dx10async/tags.txt @@ -0,0 +1,2 @@ +unportable +bindings diff --git a/basis/windows/directx/d3dx10core/authors.txt b/basis/windows/directx/d3dx10core/authors.txt new file mode 100644 index 0000000000..6f03a12101 --- /dev/null +++ b/basis/windows/directx/d3dx10core/authors.txt @@ -0,0 +1 @@ +Erik Charlebois diff --git a/basis/windows/directx/d3dx10core/d3dx10core.factor b/basis/windows/directx/d3dx10core/d3dx10core.factor new file mode 100644 index 0000000000..38271b543a --- /dev/null +++ b/basis/windows/directx/d3dx10core/d3dx10core.factor @@ -0,0 +1,186 @@ +USING: alien.c-types alien.syntax classes.struct windows.com +windows.com.syntax windows.directx.d3d10 +windows.directx.d3d10misc windows.directx.d3dx10math +windows.directx.dxgi windows.gdi32 windows.types ; +IN: windows.directx.d3dx10core + +LIBRARY: d3dx10 + +CONSTANT: D3DX10_SDK_VERSION 42 + +FUNCTION: HRESULT D3DX10CreateDevice ( + IDXGIAdapter* pAdapter, + D3D10_DRIVER_TYPE DriverType, + HMODULE Software, + UINT Flags, + ID3D10Device** ppDevice ) ; + +FUNCTION: HRESULT D3DX10CreateDeviceAndSwapChain ( + IDXGIAdapter* pAdapter, + D3D10_DRIVER_TYPE DriverType, + HMODULE Software, + UINT Flags, + DXGI_SWAP_CHAIN_DESC* pSwapChainDesc, + IDXGISwapChain** ppSwapChain, + ID3D10Device** ppDevice ) ; + +C-TYPE: ID3D10Device1 + +FUNCTION: HRESULT D3DX10GetFeatureLevel1 ( ID3D10Device* pDevice, ID3D10Device1** ppDevice1 ) ; + +FUNCTION: HRESULT D3DX10CheckVersion ( UINT D3DSdkVersion, UINT D3DX10SdkVersion ) ; + +CONSTANT: D3DX10_SPRITE_SORT_TEXTURE HEX: 01 +CONSTANT: D3DX10_SPRITE_SORT_DEPTH_BACK_TO_FRONT HEX: 02 +CONSTANT: D3DX10_SPRITE_SORT_DEPTH_FRONT_TO_BACK HEX: 04 +CONSTANT: D3DX10_SPRITE_SAVE_STATE HEX: 08 +CONSTANT: D3DX10_SPRITE_ADDREF_TEXTURES HEX: 10 +TYPEDEF: int D3DX10_SPRITE_FLAG + +STRUCT: D3DX10_SPRITE + { matWorld D3DXMATRIX } + { TexCoord D3DXVECTOR2 } + { TexSize D3DXVECTOR2 } + { ColorModulate D3DXCOLOR } + { pTexture ID3D10ShaderResourceView* } + { TextureIndex UINT } ; + +C-TYPE: ID3DX10Sprite +TYPEDEF: ID3DX10Sprite* LPD3DX10SPRITE + +COM-INTERFACE: ID3DX10Sprite IUnknown {BA0B762D-8D28-43ec-B9DC-2F84443B0614} + HRESULT Begin ( UINT flags ) + HRESULT DrawSpritesBuffered ( D3DX10_SPRITE* pSprites, UINT cSprites ) + HRESULT Flush ( ) + HRESULT DrawSpritesImmediate ( D3DX10_SPRITE* pSprites, UINT cSprites, UINT cbSprite, UINT flags ) + HRESULT End ( ) + HRESULT GetViewTransform ( D3DXMATRIX* pViewTransform ) + HRESULT SetViewTransform ( D3DXMATRIX* pViewTransform ) + HRESULT GetProjectionTransform ( D3DXMATRIX* pProjectionTransform ) + HRESULT SetProjectionTransform ( D3DXMATRIX* pProjectionTransform ) + HRESULT GetDevice ( ID3D10Device** ppDevice ) ; + +FUNCTION: HRESULT + D3DX10CreateSprite ( + ID3D10Device* pDevice, + UINT cDeviceBufferSize, + LPD3DX10SPRITE* ppSprite ) ; + +COM-INTERFACE: ID3DX10DataLoader f {00000000-0000-0000-0000-000000000000} + HRESULT Load ( ) + HRESULT Decompress ( void** ppData, SIZE_T* pcBytes ) + HRESULT Destroy ( ) ; + +COM-INTERFACE: ID3DX10DataProcessor f {00000000-0000-0000-0000-000000000000} + HRESULT Process ( void* pData, SIZE_T cBytes ) + HRESULT CreateDeviceObject ( void** ppDataObject ) + HRESULT Destroy ( ) ; + +COM-INTERFACE: ID3DX10ThreadPump IUnknown {C93FECFA-6967-478a-ABBC-402D90621FCB} + HRESULT AddWorkItem ( ID3DX10DataLoader* pDataLoader, ID3DX10DataProcessor* pDataProcessor, HRESULT* pHResult, void** ppDeviceObject ) + UINT GetWorkItemCount ( ) + HRESULT WaitForAllItems ( ) + HRESULT ProcessDeviceWorkItems ( UINT iWorkItemCount ) + HRESULT PurgeAllItems ( ) + HRESULT GetQueueStatus ( UINT* pIoQueue, UINT* pProcessQueue, UINT* pDeviceQueue ) ; + +FUNCTION: HRESULT D3DX10CreateThreadPump ( UINT cIoThreads, UINT cProcThreads, ID3DX10ThreadPump** ppThreadPump ) ; + +STRUCT: D3DX10_FONT_DESCA + { Height INT } + { Width UINT } + { Weight UINT } + { MipLevels UINT } + { Italic BOOL } + { CharSet BYTE } + { OutputPrecision BYTE } + { Quality BYTE } + { PitchAndFamily BYTE } + { FaceName CHAR[LF_FACESIZE] } ; +TYPEDEF: D3DX10_FONT_DESCA* LPD3DX10_FONT_DESCA + +STRUCT: D3DX10_FONT_DESCW + { Height INT } + { Width UINT } + { Weight UINT } + { MipLevels UINT } + { Italic BOOL } + { CharSet BYTE } + { OutputPrecision BYTE } + { Quality BYTE } + { PitchAndFamily BYTE } + { FaceName WCHAR[LF_FACESIZE] } ; +TYPEDEF: D3DX10_FONT_DESCW* LPD3DX10_FONT_DESCW + +TYPEDEF: D3DX10_FONT_DESCW D3DX10_FONT_DESC +TYPEDEF: LPD3DX10_FONT_DESCW LPD3DX10_FONT_DESC + +C-TYPE: TEXTMETRICA +C-TYPE: TEXTMETRICW + +COM-INTERFACE: ID3DX10Font IUnknown {D79DBB70-5F21-4d36-BBC2-FF525C213CDC} + HRESULT GetDevice ( ID3D10Device** ppDevice ) + HRESULT GetDescA ( D3DX10_FONT_DESCA* pDesc ) + HRESULT GetDescW ( D3DX10_FONT_DESCW* pDesc ) + BOOL GetTextMetricsA ( TEXTMETRICA* pTextMetrics ) + BOOL GetTextMetricsW ( TEXTMETRICW* pTextMetrics ) + HDC GetDC ( ) + HRESULT GetGlyphData ( UINT Glyph, ID3D10ShaderResourceView** ppTexture, RECT* pBlackBox, POINT* pCellInc ) + HRESULT PreloadCharacters ( UINT First, UINT Last ) + HRESULT PreloadGlyphs ( UINT First, UINT Last ) + HRESULT PreloadTextA ( LPCSTR pString, INT Count ) + HRESULT PreloadTextW ( LPCWSTR pString, INT Count ) + INT DrawTextA ( LPD3DX10SPRITE pSprite, LPCSTR pString, INT Count, LPRECT pRect, UINT Format, D3DXCOLOR Color ) + INT DrawTextW ( LPD3DX10SPRITE pSprite, LPCWSTR pString, INT Count, LPRECT pRect, UINT Format, D3DXCOLOR Color ) ; +TYPEDEF: ID3DX10Font* LPD3DX10FONT + +FUNCTION: HRESULT + D3DX10CreateFontA ( + ID3D10Device* pDevice, + INT Height, + UINT Width, + UINT Weight, + UINT MipLevels, + BOOL Italic, + UINT CharSet, + UINT OutputPrecision, + UINT Quality, + UINT PitchAndFamily, + LPCSTR pFaceName, + LPD3DX10FONT* ppFont ) ; + +FUNCTION: HRESULT + D3DX10CreateFontW ( + ID3D10Device* pDevice, + INT Height, + UINT Width, + UINT Weight, + UINT MipLevels, + BOOL Italic, + UINT CharSet, + UINT OutputPrecision, + UINT Quality, + UINT PitchAndFamily, + LPCWSTR pFaceName, + LPD3DX10FONT* ppFont ) ; + +ALIAS: D3DX10CreateFont D3DX10CreateFontW + +FUNCTION: HRESULT + D3DX10CreateFontIndirectA ( + ID3D10Device* pDevice, + D3DX10_FONT_DESCA* pDesc, + LPD3DX10FONT* ppFont ) ; + +FUNCTION: HRESULT + D3DX10CreateFontIndirectW ( + ID3D10Device* pDevice, + D3DX10_FONT_DESCW* pDesc, + LPD3DX10FONT* ppFont ) ; + +ALIAS: D3DX10CreateFontIndirect D3DX10CreateFontIndirectW + +FUNCTION: HRESULT D3DX10UnsetAllDeviceObjects ( ID3D10Device* pDevice ) ; + +CONSTANT: D3DERR_INVALIDCALL HEX: 8876086C +CONSTANT: D3DERR_WASSTILLDRAWING HEX: 8876021C diff --git a/basis/windows/directx/d3dx10core/summary.txt b/basis/windows/directx/d3dx10core/summary.txt new file mode 100644 index 0000000000..848433b7f9 --- /dev/null +++ b/basis/windows/directx/d3dx10core/summary.txt @@ -0,0 +1 @@ +Direct3D 10 bindings. Corresponds to d3dx10core.h. diff --git a/basis/windows/directx/d3dx10core/tags.txt b/basis/windows/directx/d3dx10core/tags.txt new file mode 100644 index 0000000000..2320bdd648 --- /dev/null +++ b/basis/windows/directx/d3dx10core/tags.txt @@ -0,0 +1,2 @@ +unportable +bindings diff --git a/basis/windows/directx/d3dx10math/authors.txt b/basis/windows/directx/d3dx10math/authors.txt new file mode 100644 index 0000000000..6f03a12101 --- /dev/null +++ b/basis/windows/directx/d3dx10math/authors.txt @@ -0,0 +1 @@ +Erik Charlebois diff --git a/basis/windows/directx/d3dx10math/d3dx10math.factor b/basis/windows/directx/d3dx10math/d3dx10math.factor new file mode 100644 index 0000000000..9a244d941f --- /dev/null +++ b/basis/windows/directx/d3dx10math/d3dx10math.factor @@ -0,0 +1,60 @@ +USING: alien.syntax classes.struct windows.types ; +IN: windows.directx.d3dx10math + +STRUCT: D3DVECTOR + { x FLOAT } + { y FLOAT } + { z FLOAT } ; + +STRUCT: D3DMATRIX + { m FLOAT[4][4] } ; + +STRUCT: D3DXFLOAT16 + { value WORD } ; + +TYPEDEF: D3DMATRIX D3DXMATRIX + +STRUCT: D3DXVECTOR2 + { x FLOAT } + { y FLOAT } ; + +STRUCT: D3DXVECTOR2_16F + { x D3DXFLOAT16 } + { y D3DXFLOAT16 } ; + +TYPEDEF: D3DVECTOR D3DXVECTOR3 + +STRUCT: D3DXVECTOR3_16F + { x D3DXFLOAT16 } + { y D3DXFLOAT16 } + { z D3DXFLOAT16 } ; + +STRUCT: D3DXVECTOR4 + { x FLOAT } + { y FLOAT } + { z FLOAT } + { w FLOAT } ; + +STRUCT: D3DXVECTOR4_16F + { x D3DXFLOAT16 } + { y D3DXFLOAT16 } + { z D3DXFLOAT16 } + { w D3DXFLOAT16 } ; + +STRUCT: D3DXQUATERNION + { x FLOAT } + { y FLOAT } + { z FLOAT } + { w FLOAT } ; + +STRUCT: D3DXPLANE + { a FLOAT } + { b FLOAT } + { c FLOAT } + { d FLOAT } ; + +STRUCT: D3DXCOLOR + { r FLOAT } + { g FLOAT } + { b FLOAT } + { a FLOAT } ; diff --git a/basis/windows/directx/d3dx10math/summary.txt b/basis/windows/directx/d3dx10math/summary.txt new file mode 100644 index 0000000000..e19a4c0d8d --- /dev/null +++ b/basis/windows/directx/d3dx10math/summary.txt @@ -0,0 +1 @@ +Direct3D 10 bindings. Corresponds to d3dx10math.h. diff --git a/basis/windows/directx/d3dx10math/tags.txt b/basis/windows/directx/d3dx10math/tags.txt new file mode 100644 index 0000000000..2320bdd648 --- /dev/null +++ b/basis/windows/directx/d3dx10math/tags.txt @@ -0,0 +1,2 @@ +unportable +bindings diff --git a/basis/windows/directx/d3dx10mesh/authors.txt b/basis/windows/directx/d3dx10mesh/authors.txt new file mode 100644 index 0000000000..6f03a12101 --- /dev/null +++ b/basis/windows/directx/d3dx10mesh/authors.txt @@ -0,0 +1 @@ +Erik Charlebois diff --git a/basis/windows/directx/d3dx10mesh/d3dx10mesh.factor b/basis/windows/directx/d3dx10mesh/d3dx10mesh.factor new file mode 100644 index 0000000000..13066dcdec --- /dev/null +++ b/basis/windows/directx/d3dx10mesh/d3dx10mesh.factor @@ -0,0 +1,149 @@ +USING: alien.c-types alien.syntax classes.struct windows.com +windows.com.syntax windows.directx.d3d10 +windows.directx.d3d10misc windows.types ; +IN: windows.directx.d3dx10mesh + +LIBRARY: d3dx10 + +CONSTANT: D3DX10_MESH_32_BIT 1 +CONSTANT: D3DX10_MESH_GS_ADJACENCY 4 + +TYPEDEF: int D3DX10_MESH + +STRUCT: D3DX10_ATTRIBUTE_RANGE + { AttribId UINT } + { FaceStart UINT } + { FaceCount UINT } + { VertexStart UINT } + { VertexCount UINT } ; + +TYPEDEF: D3DX10_ATTRIBUTE_RANGE* LPD3DX10_ATTRIBUTE_RANGE + +CONSTANT: D3DX10_MESH_DISCARD_ATTRIBUTE_BUFFER HEX: 01 +CONSTANT: D3DX10_MESH_DISCARD_ATTRIBUTE_TABLE HEX: 02 +CONSTANT: D3DX10_MESH_DISCARD_POINTREPS HEX: 04 +CONSTANT: D3DX10_MESH_DISCARD_ADJACENCY HEX: 08 +CONSTANT: D3DX10_MESH_DISCARD_DEVICE_BUFFERS HEX: 10 +TYPEDEF: int D3DX10_MESH_DISCARD_FLAGS + +STRUCT: D3DX10_WELD_EPSILONS + { Position FLOAT } + { BlendWeights FLOAT } + { Normal FLOAT } + { PSize FLOAT } + { Specular FLOAT } + { Diffuse FLOAT } + { Texcoord FLOAT[8] } + { Tangent FLOAT } + { Binormal FLOAT } + { TessFactor FLOAT } ; + +TYPEDEF: D3DX10_WELD_EPSILONS* LPD3DX10_WELD_EPSILONS + +STRUCT: D3DX10_INTERSECT_INFO + { FaceIndex UINT } + { U FLOAT } + { V FLOAT } + { Dist FLOAT } ; +TYPEDEF: D3DX10_INTERSECT_INFO* LPD3DX10_INTERSECT_INFO + +COM-INTERFACE: ID3DX10MeshBuffer IUnknown {04B0D117-1041-46b1-AA8A-3952848BA22E} + HRESULT Map ( void** ppData, SIZE_T* pSize ) + HRESULT Unmap ( ) + SIZE_T GetSize ( ) ; + +COM-INTERFACE: ID3DX10Mesh IUnknown {4020E5C2-1403-4929-883F-E2E849FAC195} + UINT GetFaceCount ( ) + UINT GetVertexCount ( ) + UINT GetVertexBufferCount ( ) + UINT GetFlags ( ) + HRESULT GetVertexDescription ( D3D10_INPUT_ELEMENT_DESC** ppDesc, UINT* pDeclCount ) + HRESULT SetVertexData ( UINT iBuffer, void* pData ) + HRESULT GetVertexBuffer ( UINT iBuffer, ID3DX10MeshBuffer** ppVertexBuffer ) + HRESULT SetIndexData ( void* pData, UINT cIndices ) + HRESULT GetIndexBuffer ( ID3DX10MeshBuffer** ppIndexBuffer ) + HRESULT SetAttributeData ( UINT* pData ) + HRESULT GetAttributeBuffer ( ID3DX10MeshBuffer** ppAttributeBuffer ) + HRESULT SetAttributeTable ( D3DX10_ATTRIBUTE_RANGE* pAttribTable, UINT cAttribTableSize ) + HRESULT GetAttributeTable ( D3DX10_ATTRIBUTE_RANGE* pAttribTable, UINT* pAttribTableSize ) + HRESULT GenerateAdjacencyAndPointReps ( FLOAT Epsilon ) + HRESULT GenerateGSAdjacency ( ) + HRESULT SetAdjacencyData ( UINT* pAdjacency ) + HRESULT GetAdjacencyBuffer ( ID3DX10MeshBuffer** ppAdjacency ) + HRESULT SetPointRepData ( UINT* pPointReps ) + HRESULT GetPointRepBuffer ( ID3DX10MeshBuffer** ppPointReps ) + HRESULT Discard ( D3DX10_MESH_DISCARD_FLAGS dwDiscard ) + HRESULT CloneMesh ( UINT Flags, LPCSTR pPosSemantic, D3D10_INPUT_ELEMENT_DESC* pDesc, UINT DeclCount, ID3DX10Mesh** ppCloneMesh ) + HRESULT Optimize ( UINT Flags, UINT* pFaceRemap, LPD3D10BLOB* ppVertexRemap ) + HRESULT GenerateAttributeBufferFromTable ( ) + HRESULT Intersect ( D3DXVECTOR3* pRayPos, D3DXVECTOR3* pRayDir, + UINT* pHitCount, UINT* pFaceIndex, float* pU, float* pV, float* pDist, ID3D10Blob** ppAllHits ) + HRESULT IntersectSubset ( UINT AttribId, D3DXVECTOR3* pRayPos, D3DXVECTOR3* pRayDir, + UINT* pHitCount, UINT* pFaceIndex, float* pU, float* pV, float* pDist, ID3D10Blob** ppAllHits ) + HRESULT CommitToDevice ( ) + HRESULT DrawSubset ( UINT AttribId ) + HRESULT DrawSubsetInstanced ( UINT AttribId, UINT InstanceCount, UINT StartInstanceLocation ) + HRESULT GetDeviceVertexBuffer ( UINT iBuffer, ID3D10Buffer** ppVertexBuffer ) + HRESULT GetDeviceIndexBuffer ( ID3D10Buffer** ppIndexBuffer ) ; + +FUNCTION: HRESULT + D3DX10CreateMesh ( + ID3D10Device* pDevice, + D3D10_INPUT_ELEMENT_DESC* pDeclaration, + UINT DeclCount, + LPCSTR pPositionSemantic, + UINT VertexCount, + UINT FaceCount, + UINT Options, + ID3DX10Mesh** ppMesh ) ; + +CONSTANT: D3DX10_MESHOPT_COMPACT HEX: 01000000 +CONSTANT: D3DX10_MESHOPT_ATTR_SORT HEX: 02000000 +CONSTANT: D3DX10_MESHOPT_VERTEX_CACHE HEX: 04000000 +CONSTANT: D3DX10_MESHOPT_STRIP_REORDER HEX: 08000000 +CONSTANT: D3DX10_MESHOPT_IGNORE_VERTS HEX: 10000000 +CONSTANT: D3DX10_MESHOPT_DO_NOT_SPLIT HEX: 20000000 +CONSTANT: D3DX10_MESHOPT_DEVICE_INDEPENDENT HEX: 00400000 + +CONSTANT: D3DX10_SKININFO_NO_SCALING 0 +CONSTANT: D3DX10_SKININFO_SCALE_TO_1 1 +CONSTANT: D3DX10_SKININFO_SCALE_TO_TOTAL 2 + +STRUCT: D3DX10_SKINNING_CHANNEL + { SrcOffset UINT } + { DestOffset UINT } + { IsNormal BOOL } ; + +COM-INTERFACE: ID3DX10SkinInfo IUnknown {420BD604-1C76-4a34-A466-E45D0658A32C} + UINT GetNumVertices ( ) + UINT GetNumBones ( ) + UINT GetMaxBoneInfluences ( ) + HRESULT AddVertices ( UINT Count ) + HRESULT RemapVertices ( UINT NewVertexCount, UINT* pVertexRemap ) + HRESULT AddBones ( UINT Count ) + HRESULT RemoveBone ( UINT Index ) + HRESULT RemapBones ( UINT NewBoneCount, UINT* pBoneRemap ) + HRESULT AddBoneInfluences ( UINT BoneIndex, UINT InfluenceCount, UINT* pIndices, float* pWeights ) + HRESULT ClearBoneInfluences ( UINT BoneIndex ) + UINT GetBoneInfluenceCount ( UINT BoneIndex ) + HRESULT GetBoneInfluences ( UINT BoneIndex, UINT Offset, UINT Count, UINT* pDestIndices, float* pDestWeights ) + HRESULT FindBoneInfluenceIndex ( UINT BoneIndex, UINT VertexIndex, UINT* pInfluenceIndex ) + HRESULT SetBoneInfluence ( UINT BoneIndex, UINT InfluenceIndex, float Weight ) + HRESULT GetBoneInfluence ( UINT BoneIndex, UINT InfluenceIndex, float* pWeight ) + HRESULT Compact ( UINT MaxPerVertexInfluences, UINT ScaleMode, float MinWeight ) + HRESULT DoSoftwareSkinning ( UINT StartVertex, UINT VertexCount, void* pSrcVertices, UINT SrcStride, void* pDestVertices, UINT DestStride, D3DXMATRIX* pBoneMatrices, D3DXMATRIX* pInverseTransposeBoneMatrices, D3DX10_SKINNING_CHANNEL* pChannelDescs, UINT NumChannels ) ; + +TYPEDEF: ID3DX10SkinInfo* LPD3DX10SKININFO + +FUNCTION: HRESULT + D3DX10CreateSkinInfo ( LPD3DX10SKININFO* ppSkinInfo ) ; + +STRUCT: D3DX10_ATTRIBUTE_WEIGHTS + { Position FLOAT } + { Boundary FLOAT } + { Normal FLOAT } + { Diffuse FLOAT } + { Specular FLOAT } + { Texcoord FLOAT[8] } + { Tangent FLOAT } + { Binormal FLOAT } ; diff --git a/basis/windows/directx/d3dx10mesh/summary.txt b/basis/windows/directx/d3dx10mesh/summary.txt new file mode 100644 index 0000000000..b294d39db2 --- /dev/null +++ b/basis/windows/directx/d3dx10mesh/summary.txt @@ -0,0 +1 @@ +Direct3D 10 bindings. Corresponds to d3dx10mesh.h. diff --git a/basis/windows/directx/d3dx10mesh/tags.txt b/basis/windows/directx/d3dx10mesh/tags.txt new file mode 100644 index 0000000000..2320bdd648 --- /dev/null +++ b/basis/windows/directx/d3dx10mesh/tags.txt @@ -0,0 +1,2 @@ +unportable +bindings diff --git a/basis/windows/directx/d3dx10tex/authors.txt b/basis/windows/directx/d3dx10tex/authors.txt new file mode 100644 index 0000000000..6f03a12101 --- /dev/null +++ b/basis/windows/directx/d3dx10tex/authors.txt @@ -0,0 +1 @@ +Erik Charlebois diff --git a/basis/windows/directx/d3dx10tex/d3dx10tex.factor b/basis/windows/directx/d3dx10tex/d3dx10tex.factor new file mode 100644 index 0000000000..c4e3712b9f --- /dev/null +++ b/basis/windows/directx/d3dx10tex/d3dx10tex.factor @@ -0,0 +1,286 @@ +USING: alien.c-types alien.syntax classes.struct +windows.directx.d3d10 windows.directx.d3d10misc +windows.directx.d3dx10async windows.directx.dxgiformat +windows.types ; +IN: windows.directx.d3dx10tex + +LIBRARY: d3dx10 + +CONSTANT: D3DX10_FILTER_NONE HEX: 00000001 +CONSTANT: D3DX10_FILTER_POINT HEX: 00000002 +CONSTANT: D3DX10_FILTER_LINEAR HEX: 00000003 +CONSTANT: D3DX10_FILTER_TRIANGLE HEX: 00000004 +CONSTANT: D3DX10_FILTER_BOX HEX: 00000005 + +CONSTANT: D3DX10_FILTER_MIRROR_U HEX: 00010000 +CONSTANT: D3DX10_FILTER_MIRROR_V HEX: 00020000 +CONSTANT: D3DX10_FILTER_MIRROR_W HEX: 00040000 +CONSTANT: D3DX10_FILTER_MIRROR HEX: 00070000 + +CONSTANT: D3DX10_FILTER_DITHER HEX: 00080000 +CONSTANT: D3DX10_FILTER_DITHER_DIFFUSION HEX: 00100000 + +CONSTANT: D3DX10_FILTER_SRGB_IN HEX: 00200000 +CONSTANT: D3DX10_FILTER_SRGB_OUT HEX: 00400000 +CONSTANT: D3DX10_FILTER_SRGB HEX: 00600000 +TYPEDEF: int D3DX10_FILTER_FLAG + +CONSTANT: D3DX10_NORMALMAP_MIRROR_U HEX: 00010000 +CONSTANT: D3DX10_NORMALMAP_MIRROR_V HEX: 00020000 +CONSTANT: D3DX10_NORMALMAP_MIRROR HEX: 00030000 +CONSTANT: D3DX10_NORMALMAP_INVERTSIGN HEX: 00080000 +CONSTANT: D3DX10_NORMALMAP_COMPUTE_OCCLUSION HEX: 00100000 +TYPEDEF: int D3DX10_NORMALMAP_FLAG + +CONSTANT: D3DX10_CHANNEL_RED 1 +CONSTANT: D3DX10_CHANNEL_BLUE 2 +CONSTANT: D3DX10_CHANNEL_GREEN 4 +CONSTANT: D3DX10_CHANNEL_ALPHA 8 +CONSTANT: D3DX10_CHANNEL_LUMINANCE 16 +TYPEDEF: int D3DX10_CHANNEL_FLAG + +CONSTANT: D3DX10_IFF_BMP 0 +CONSTANT: D3DX10_IFF_JPG 1 +CONSTANT: D3DX10_IFF_PNG 3 +CONSTANT: D3DX10_IFF_DDS 4 +CONSTANT: D3DX10_IFF_TIFF 10 +CONSTANT: D3DX10_IFF_GIF 11 +CONSTANT: D3DX10_IFF_WMP 12 +CONSTANT: D3DX10_IFF_FORCE_DWORD HEX: 7fffffff +TYPEDEF: int D3DX10_IMAGE_FILE_FORMAT + +CONSTANT: D3DX10_STF_USEINPUTBLOB 1 +TYPEDEF: int D3DX10_SAVE_TEXTURE_FLAG + +STRUCT: D3DX10_IMAGE_INFO + { Width UINT } + { Height UINT } + { Depth UINT } + { ArraySize UINT } + { MipLevels UINT } + { MiscFlags UINT } + { Format DXGI_FORMAT } + { ResourceDimension D3D10_RESOURCE_DIMENSION } + { ImageFileFormat D3DX10_IMAGE_FILE_FORMAT } ; + +STRUCT: D3DX10_IMAGE_LOAD_INFO + { Width UINT } + { Height UINT } + { Depth UINT } + { FirstMipLevel UINT } + { MipLevels UINT } + { Usage D3D10_USAGE } + { BindFlags UINT } + { CpuAccessFlags UINT } + { MiscFlags UINT } + { Format DXGI_FORMAT } + { Filter UINT } + { MipFilter UINT } + { pSrcInfo D3DX10_IMAGE_INFO* } ; + +FUNCTION: HRESULT + D3DX10GetImageInfoFromFileA ( + LPCSTR pSrcFile, + ID3DX10ThreadPump* pPump, + D3DX10_IMAGE_INFO* pSrcInfo, + HRESULT* pHResult ) ; + +FUNCTION: HRESULT + D3DX10GetImageInfoFromFileW ( + LPCWSTR pSrcFile, + ID3DX10ThreadPump* pPump, + D3DX10_IMAGE_INFO* pSrcInfo, + HRESULT* pHResult ) ; + +ALIAS: D3DX10GetImageInfoFromFile D3DX10GetImageInfoFromFileW + +FUNCTION: HRESULT + D3DX10GetImageInfoFromResourceA ( + HMODULE hSrcModule, + LPCSTR pSrcResource, + ID3DX10ThreadPump* pPump, + D3DX10_IMAGE_INFO* pSrcInfo, + HRESULT* pHResult ) ; + +FUNCTION: HRESULT + D3DX10GetImageInfoFromResourceW ( + HMODULE hSrcModule, + LPCWSTR pSrcResource, + ID3DX10ThreadPump* pPump, + D3DX10_IMAGE_INFO* pSrcInfo, + HRESULT* pHResult ) ; + +ALIAS: D3DX10GetImageInfoFromResource D3DX10GetImageInfoFromResourceW + +FUNCTION: HRESULT + D3DX10GetImageInfoFromMemory ( + LPCVOID pSrcData, + SIZE_T SrcDataSize, + ID3DX10ThreadPump* pPump, + D3DX10_IMAGE_INFO* pSrcInfo, + HRESULT* pHResult ) ; + +FUNCTION: HRESULT + D3DX10CreateShaderResourceViewFromFileA ( + ID3D10Device* pDevice, + LPCSTR pSrcFile, + D3DX10_IMAGE_LOAD_INFO* pLoadInfo, + ID3DX10ThreadPump* pPump, + ID3D10ShaderResourceView** ppShaderResourceView, + HRESULT* pHResult ) ; + +FUNCTION: HRESULT + D3DX10CreateShaderResourceViewFromFileW ( + ID3D10Device* pDevice, + LPCWSTR pSrcFile, + D3DX10_IMAGE_LOAD_INFO* pLoadInfo, + ID3DX10ThreadPump* pPump, + ID3D10ShaderResourceView** ppShaderResourceView, + HRESULT* pHResult ) ; + +ALIAS: D3DX10CreateShaderResourceViewFromFile D3DX10CreateShaderResourceViewFromFileW + +FUNCTION: HRESULT + D3DX10CreateTextureFromFileA ( + ID3D10Device* pDevice, + LPCSTR pSrcFile, + D3DX10_IMAGE_LOAD_INFO* pLoadInfo, + ID3DX10ThreadPump* pPump, + ID3D10Resource** ppTexture, + HRESULT* pHResult ) ; + +FUNCTION: HRESULT + D3DX10CreateTextureFromFileW ( + ID3D10Device* pDevice, + LPCWSTR pSrcFile, + D3DX10_IMAGE_LOAD_INFO* pLoadInfo, + ID3DX10ThreadPump* pPump, + ID3D10Resource** ppTexture, + HRESULT* pHResult ) ; + +ALIAS: D3DX10CreateTextureFromFile D3DX10CreateTextureFromFileW + +FUNCTION: HRESULT + D3DX10CreateShaderResourceViewFromResourceA ( + ID3D10Device* pDevice, + HMODULE hSrcModule, + LPCSTR pSrcResource, + D3DX10_IMAGE_LOAD_INFO* pLoadInfo, + ID3DX10ThreadPump* pPump, + ID3D10ShaderResourceView** ppShaderResourceView, + HRESULT* pHResult ) ; + +FUNCTION: HRESULT + D3DX10CreateShaderResourceViewFromResourceW ( + ID3D10Device* pDevice, + HMODULE hSrcModule, + LPCWSTR pSrcResource, + D3DX10_IMAGE_LOAD_INFO* pLoadInfo, + ID3DX10ThreadPump* pPump, + ID3D10ShaderResourceView** ppShaderResourceView, + HRESULT* pHResult ) ; + +ALIAS: D3DX10CreateShaderResourceViewFromResource D3DX10CreateShaderResourceViewFromResourceW + +FUNCTION: HRESULT + D3DX10CreateTextureFromResourceA ( + ID3D10Device* pDevice, + HMODULE hSrcModule, + LPCSTR pSrcResource, + D3DX10_IMAGE_LOAD_INFO* pLoadInfo, + ID3DX10ThreadPump* pPump, + ID3D10Resource** ppTexture, + HRESULT* pHResult ) ; + +FUNCTION: HRESULT + D3DX10CreateTextureFromResourceW ( + ID3D10Device* pDevice, + HMODULE hSrcModule, + LPCWSTR pSrcResource, + D3DX10_IMAGE_LOAD_INFO* pLoadInfo, + ID3DX10ThreadPump* pPump, + ID3D10Resource** ppTexture, + HRESULT* pHResult ) ; + +ALIAS: D3DX10CreateTextureFromResource D3DX10CreateTextureFromResourceW + +FUNCTION: HRESULT + D3DX10CreateShaderResourceViewFromMemory ( + ID3D10Device* pDevice, + LPCVOID pSrcData, + SIZE_T SrcDataSize, + D3DX10_IMAGE_LOAD_INFO* pLoadInfo, + ID3DX10ThreadPump* pPump, + ID3D10ShaderResourceView** ppShaderResourceView, + HRESULT* pHResult ) ; + +FUNCTION: HRESULT + D3DX10CreateTextureFromMemory ( + ID3D10Device* pDevice, + LPCVOID pSrcData, + SIZE_T SrcDataSize, + D3DX10_IMAGE_LOAD_INFO* pLoadInfo, + ID3DX10ThreadPump* pPump, + ID3D10Resource** ppTexture, + HRESULT* pHResult ) ; + +STRUCT: D3DX10_TEXTURE_LOAD_INFO + { pSrcBox D3D10_BOX* } + { pDstBox D3D10_BOX* } + { SrcFirstMip UINT } + { DstFirstMip UINT } + { NumMips UINT } + { SrcFirstElement UINT } + { DstFirstElement UINT } + { NumElements UINT } + { Filter UINT } + { MipFilter UINT } ; + +FUNCTION: HRESULT + D3DX10LoadTextureFromTexture ( + ID3D10Resource* pSrcTexture, + D3DX10_TEXTURE_LOAD_INFO* pLoadInfo, + ID3D10Resource* pDstTexture ) ; + +FUNCTION: HRESULT + D3DX10FilterTexture ( + ID3D10Resource* pTexture, + UINT SrcLevel, + UINT MipFilter ) ; + +FUNCTION: HRESULT + D3DX10SaveTextureToFileA ( + ID3D10Resource* pSrcTexture, + D3DX10_IMAGE_FILE_FORMAT DestFormat, + LPCSTR pDestFile ) ; + +FUNCTION: HRESULT + D3DX10SaveTextureToFileW ( + ID3D10Resource* pSrcTexture, + D3DX10_IMAGE_FILE_FORMAT DestFormat, + LPCWSTR pDestFile ) ; + +ALIAS: D3DX10SaveTextureToFile D3DX10SaveTextureToFileW + +FUNCTION: HRESULT + D3DX10SaveTextureToMemory ( + ID3D10Resource* pSrcTexture, + D3DX10_IMAGE_FILE_FORMAT DestFormat, + LPD3D10BLOB* ppDestBuf, + UINT Flags ) ; + +FUNCTION: HRESULT + D3DX10ComputeNormalMap ( + ID3D10Texture2D* pSrcTexture, + UINT Flags, + UINT Channel, + FLOAT Amplitude, + ID3D10Texture2D* pDestTexture ) ; + +FUNCTION: HRESULT + D3DX10SHProjectCubeMap ( + UINT Order, + ID3D10Texture2D* pCubeMap, + FLOAT* pROut, + FLOAT* pGOut, + FLOAT* pBOut ) ; diff --git a/basis/windows/directx/d3dx10tex/summary.txt b/basis/windows/directx/d3dx10tex/summary.txt new file mode 100644 index 0000000000..25ff94becf --- /dev/null +++ b/basis/windows/directx/d3dx10tex/summary.txt @@ -0,0 +1 @@ +Direct3D 10 bindings. Corresponds to d3dx10tex.h. diff --git a/basis/windows/directx/d3dx10tex/tags.txt b/basis/windows/directx/d3dx10tex/tags.txt new file mode 100644 index 0000000000..2320bdd648 --- /dev/null +++ b/basis/windows/directx/d3dx10tex/tags.txt @@ -0,0 +1,2 @@ +unportable +bindings diff --git a/basis/windows/directx/d3dx11/authors.txt b/basis/windows/directx/d3dx11/authors.txt new file mode 100644 index 0000000000..6f03a12101 --- /dev/null +++ b/basis/windows/directx/d3dx11/authors.txt @@ -0,0 +1 @@ +Erik Charlebois diff --git a/basis/windows/directx/d3dx11/d3dx11.factor b/basis/windows/directx/d3dx11/d3dx11.factor new file mode 100644 index 0000000000..63b1733002 --- /dev/null +++ b/basis/windows/directx/d3dx11/d3dx11.factor @@ -0,0 +1,12 @@ +USING: ; +IN: windows.directx.d3dx11 + +CONSTANT: D3DX11_ERR_CANNOT_MODIFY_INDEX_BUFFER HEX: 88760B54 +CONSTANT: D3DX11_ERR_INVALID_MESH HEX: 88760B55 +CONSTANT: D3DX11_ERR_CANNOT_ATTR_SORT HEX: 88760B56 +CONSTANT: D3DX11_ERR_SKINNING_NOT_SUPPORTED HEX: 88760B57 +CONSTANT: D3DX11_ERR_TOO_MANY_INFLUENCES HEX: 88760B58 +CONSTANT: D3DX11_ERR_INVALID_DATA HEX: 88760B59 +CONSTANT: D3DX11_ERR_LOADED_MESH_HAS_NO_DATA HEX: 88760B5A +CONSTANT: D3DX11_ERR_DUPLICATE_NAMED_FRAGMENT HEX: 88760B5B +CONSTANT: D3DX11_ERR_CANNOT_REMOVE_LAST_ITEM HEX: 88760B5C diff --git a/basis/windows/directx/d3dx11/summary.txt b/basis/windows/directx/d3dx11/summary.txt new file mode 100644 index 0000000000..58dfe4610c --- /dev/null +++ b/basis/windows/directx/d3dx11/summary.txt @@ -0,0 +1 @@ +Direct3D 11 bindings. Corresponds to d3dx11.h. diff --git a/basis/windows/directx/d3dx11/tags.txt b/basis/windows/directx/d3dx11/tags.txt new file mode 100644 index 0000000000..2320bdd648 --- /dev/null +++ b/basis/windows/directx/d3dx11/tags.txt @@ -0,0 +1,2 @@ +unportable +bindings diff --git a/basis/windows/directx/d3dx11async/authors.txt b/basis/windows/directx/d3dx11async/authors.txt new file mode 100644 index 0000000000..6f03a12101 --- /dev/null +++ b/basis/windows/directx/d3dx11async/authors.txt @@ -0,0 +1 @@ +Erik Charlebois diff --git a/basis/windows/directx/d3dx11async/d3dx11async.factor b/basis/windows/directx/d3dx11async/d3dx11async.factor new file mode 100644 index 0000000000..369ffd6683 --- /dev/null +++ b/basis/windows/directx/d3dx11async/d3dx11async.factor @@ -0,0 +1,59 @@ +USING: alien.syntax alien.c-types classes.struct windows.types +windows.directx.d3d10shader windows.directx.d3dx11core +windows.directx.d3d11 windows.directx.d3dx11tex ; +IN: windows.directx.d3dx11async + +LIBRARY: d3dx11 + +FUNCTION: HRESULT D3DX11CompileFromFileA ( LPCSTR pSrcFile, D3D10_SHADER_MACRO* pDefines, LPD3D10INCLUDE pInclude, + LPCSTR pFunctionName, LPCSTR pProfile, UINT Flags1, UINT Flags2, ID3DX11ThreadPump* pPump, ID3D10Blob** ppShader, ID3D10Blob** ppErrorMsgs, HRESULT* pHResult ) ; +FUNCTION: HRESULT D3DX11CompileFromFileW ( LPCWSTR pSrcFile, D3D10_SHADER_MACRO* pDefines, LPD3D10INCLUDE pInclude, + LPCSTR pFunctionName, LPCSTR pProfile, UINT Flags1, UINT Flags2, ID3DX11ThreadPump* pPump, ID3D10Blob** ppShader, ID3D10Blob** ppErrorMsgs, HRESULT* pHResult ) ; +ALIAS: D3DX11CompileFromFile D3DX11CompileFromFileW + +FUNCTION: HRESULT D3DX11CompileFromResourceA ( HMODULE hSrcModule, LPCSTR pSrcResource, LPCSTR pSrcFileName, D3D10_SHADER_MACRO* pDefines, + LPD3D10INCLUDE pInclude, LPCSTR pFunctionName, LPCSTR pProfile, UINT Flags1, UINT Flags2, ID3DX11ThreadPump* pPump, ID3D10Blob** ppShader, ID3D10Blob** ppErrorMsgs, HRESULT* pHResult ) ; +FUNCTION: HRESULT D3DX11CompileFromResourceW ( HMODULE hSrcModule, LPCWSTR pSrcResource, LPCWSTR pSrcFileName, D3D10_SHADER_MACRO* pDefines, + LPD3D10INCLUDE pInclude, LPCSTR pFunctionName, LPCSTR pProfile, UINT Flags1, UINT Flags2, ID3DX11ThreadPump* pPump, ID3D10Blob** ppShader, ID3D10Blob** ppErrorMsgs, HRESULT* pHResult ) ; +ALIAS: D3DX11CompileFromResource D3DX11CompileFromResourceW + +FUNCTION: HRESULT D3DX11CompileFromMemory ( LPCSTR pSrcData, SIZE_T SrcDataLen, LPCSTR pFileName, D3D10_SHADER_MACRO* pDefines, LPD3D10INCLUDE pInclude, + LPCSTR pFunctionName, LPCSTR pProfile, UINT Flags1, UINT Flags2, ID3DX11ThreadPump* pPump, ID3D10Blob** ppShader, ID3D10Blob** ppErrorMsgs, HRESULT* pHResult ) ; + +FUNCTION: HRESULT D3DX11PreprocessShaderFromFileA ( LPCSTR pFileName, D3D10_SHADER_MACRO* pDefines, + LPD3D10INCLUDE pInclude, ID3DX11ThreadPump* pPump, ID3D10Blob** ppShaderText, ID3D10Blob** ppErrorMsgs, HRESULT* pHResult ) ; + +FUNCTION: HRESULT D3DX11PreprocessShaderFromFileW ( LPCWSTR pFileName, D3D10_SHADER_MACRO* pDefines, + LPD3D10INCLUDE pInclude, ID3DX11ThreadPump* pPump, ID3D10Blob** ppShaderText, ID3D10Blob** ppErrorMsgs, HRESULT* pHResult ) ; + +FUNCTION: HRESULT D3DX11PreprocessShaderFromMemory ( LPCSTR pSrcData, SIZE_T SrcDataSize, LPCSTR pFileName, D3D10_SHADER_MACRO* pDefines, + LPD3D10INCLUDE pInclude, ID3DX11ThreadPump* pPump, ID3D10Blob** ppShaderText, ID3D10Blob** ppErrorMsgs, HRESULT* pHResult ) ; + +FUNCTION: HRESULT D3DX11PreprocessShaderFromResourceA ( HMODULE hModule, LPCSTR pResourceName, LPCSTR pSrcFileName, D3D10_SHADER_MACRO* pDefines, + LPD3D10INCLUDE pInclude, ID3DX11ThreadPump* pPump, ID3D10Blob** ppShaderText, ID3D10Blob** ppErrorMsgs, HRESULT* pHResult ) ; + +FUNCTION: HRESULT D3DX11PreprocessShaderFromResourceW ( HMODULE hModule, LPCWSTR pResourceName, LPCWSTR pSrcFileName, D3D10_SHADER_MACRO* pDefines, + LPD3D10INCLUDE pInclude, ID3DX11ThreadPump* pPump, ID3D10Blob** ppShaderText, ID3D10Blob** ppErrorMsgs, HRESULT* pHResult ) ; + +ALIAS: D3DX11PreprocessShaderFromFile D3DX11PreprocessShaderFromFileW +ALIAS: D3DX11PreprocessShaderFromResource D3DX11PreprocessShaderFromResourceW + +FUNCTION: HRESULT D3DX11CreateAsyncCompilerProcessor ( LPCSTR pFileName, D3D10_SHADER_MACRO* pDefines, LPD3D10INCLUDE pInclude, + LPCSTR pFunctionName, LPCSTR pProfile, UINT Flags1, UINT Flags2, + ID3D10Blob** ppCompiledShader, ID3D10Blob** ppErrorBuffer, ID3DX11DataProcessor** ppProcessor ) ; + +FUNCTION: HRESULT D3DX11CreateAsyncShaderPreprocessProcessor ( LPCSTR pFileName, D3D10_SHADER_MACRO* pDefines, LPD3D10INCLUDE pInclude, + ID3D10Blob** ppShaderText, ID3D10Blob** ppErrorBuffer, ID3DX11DataProcessor** ppProcessor ) ; + +FUNCTION: HRESULT D3DX11CreateAsyncFileLoaderW ( LPCWSTR pFileName, ID3DX11DataLoader** ppDataLoader ) ; +FUNCTION: HRESULT D3DX11CreateAsyncFileLoaderA ( LPCSTR pFileName, ID3DX11DataLoader** ppDataLoader ) ; +FUNCTION: HRESULT D3DX11CreateAsyncMemoryLoader ( LPCVOID pData, SIZE_T cbData, ID3DX11DataLoader** ppDataLoader ) ; +FUNCTION: HRESULT D3DX11CreateAsyncResourceLoaderW ( HMODULE hSrcModule, LPCWSTR pSrcResource, ID3DX11DataLoader** ppDataLoader ) ; +FUNCTION: HRESULT D3DX11CreateAsyncResourceLoaderA ( HMODULE hSrcModule, LPCSTR pSrcResource, ID3DX11DataLoader** ppDataLoader ) ; + +ALIAS: D3DX11CreateAsyncFileLoader D3DX11CreateAsyncFileLoaderW +ALIAS: D3DX11CreateAsyncResourceLoader D3DX11CreateAsyncResourceLoaderW + +FUNCTION: HRESULT D3DX11CreateAsyncTextureProcessor ( ID3D11Device* pDevice, D3DX11_IMAGE_LOAD_INFO* pLoadInfo, ID3DX11DataProcessor** ppDataProcessor ) ; +FUNCTION: HRESULT D3DX11CreateAsyncTextureInfoProcessor ( D3DX11_IMAGE_INFO* pImageInfo, ID3DX11DataProcessor** ppDataProcessor ) ; +FUNCTION: HRESULT D3DX11CreateAsyncShaderResourceViewProcessor ( ID3D11Device* pDevice, D3DX11_IMAGE_LOAD_INFO* pLoadInfo, ID3DX11DataProcessor** ppDataProcessor ) ; diff --git a/basis/windows/directx/d3dx11async/summary.txt b/basis/windows/directx/d3dx11async/summary.txt new file mode 100644 index 0000000000..e80d034a35 --- /dev/null +++ b/basis/windows/directx/d3dx11async/summary.txt @@ -0,0 +1 @@ +Direct3D 11 bindings. Corresponds to d3dx11async.h. diff --git a/basis/windows/directx/d3dx11async/tags.txt b/basis/windows/directx/d3dx11async/tags.txt new file mode 100644 index 0000000000..2320bdd648 --- /dev/null +++ b/basis/windows/directx/d3dx11async/tags.txt @@ -0,0 +1,2 @@ +unportable +bindings diff --git a/basis/windows/directx/d3dx11core/authors.txt b/basis/windows/directx/d3dx11core/authors.txt new file mode 100644 index 0000000000..6f03a12101 --- /dev/null +++ b/basis/windows/directx/d3dx11core/authors.txt @@ -0,0 +1 @@ +Erik Charlebois diff --git a/basis/windows/directx/d3dx11core/d3dx11core.factor b/basis/windows/directx/d3dx11core/d3dx11core.factor new file mode 100644 index 0000000000..fc8ce1a1bb --- /dev/null +++ b/basis/windows/directx/d3dx11core/d3dx11core.factor @@ -0,0 +1,31 @@ +USING: alien.syntax windows.types windows.com.syntax alien.c-types windows.com +windows.directx.d3d11 ; +IN: windows.directx.d3dx11core + +LIBRARY: d3dx11 + +FUNCTION: HRESULT D3DX11CheckVersion ( UINT D3DSdkVersion, UINT D3DX11SdkVersion ) ; + +COM-INTERFACE: ID3DX11DataLoader f {00000000-0000-0000-0000-000000000000} + HRESULT Load ( ) + HRESULT Decompress ( void** ppData, SIZE_T* pcBytes ) + HRESULT Destroy ( ) ; + +COM-INTERFACE: ID3DX11DataProcessor f {00000000-0000-0000-0000-000000000000} + HRESULT Process ( void* pData, SIZE_T cBytes ) + HRESULT CreateDeviceObject ( void** ppDataObject ) + HRESULT Destroy ( ) ; + +COM-INTERFACE: ID3DX11ThreadPump IUnknown {C93FECFA-6967-478a-ABBC-402D90621FCB} + HRESULT AddWorkItem ( ID3DX11DataLoader* pDataLoader, ID3DX11DataProcessor* pDataProcessor, HRESULT* pHResult, void** ppDeviceObject ) + UINT GetWorkItemCount ( ) + HRESULT WaitForAllItems ( ) + HRESULT ProcessDeviceWorkItems ( UINT iWorkItemCount ) + HRESULT PurgeAllItems ( ) + HRESULT GetQueueStatus ( UINT* pIoQueue, UINT* pProcessQueue, UINT* pDeviceQueue ) ; + +FUNCTION: HRESULT D3DX11CreateThreadPump ( UINT cIoThreads, UINT cProcThreads, ID3DX11ThreadPump** ppThreadPump ) ; +FUNCTION: HRESULT D3DX11UnsetAllDeviceObjects ( ID3D11DeviceContext* pContext ) ; + +CONSTANT: D3DERR_INVALIDCALL HEX: 8876086C +CONSTANT: D3DERR_WASSTILLDRAWING HEX: 8876021C diff --git a/basis/windows/directx/d3dx11core/summary.txt b/basis/windows/directx/d3dx11core/summary.txt new file mode 100644 index 0000000000..83ab3f1a58 --- /dev/null +++ b/basis/windows/directx/d3dx11core/summary.txt @@ -0,0 +1 @@ +Direct3D 11 bindings. Corresponds to d3dx11core.h. diff --git a/basis/windows/directx/d3dx11core/tags.txt b/basis/windows/directx/d3dx11core/tags.txt new file mode 100644 index 0000000000..2320bdd648 --- /dev/null +++ b/basis/windows/directx/d3dx11core/tags.txt @@ -0,0 +1,2 @@ +unportable +bindings diff --git a/basis/windows/directx/d3dx11tex/authors.txt b/basis/windows/directx/d3dx11tex/authors.txt new file mode 100644 index 0000000000..6f03a12101 --- /dev/null +++ b/basis/windows/directx/d3dx11tex/authors.txt @@ -0,0 +1 @@ +Erik Charlebois diff --git a/basis/windows/directx/d3dx11tex/d3dx11tex.factor b/basis/windows/directx/d3dx11tex/d3dx11tex.factor new file mode 100644 index 0000000000..d21fa0c72a --- /dev/null +++ b/basis/windows/directx/d3dx11tex/d3dx11tex.factor @@ -0,0 +1,293 @@ +USING: alien.syntax alien.c-types classes.struct windows.types +windows.directx.dxgiformat windows.directx.d3d11 +windows.directx.d3dx11core ; +IN: windows.directx.d3dx11tex + +LIBRARY: d3dx11 + +CONSTANT: D3DX11_FILTER_NONE HEX: 00000001 +CONSTANT: D3DX11_FILTER_POINT HEX: 00000002 +CONSTANT: D3DX11_FILTER_LINEAR HEX: 00000003 +CONSTANT: D3DX11_FILTER_TRIANGLE HEX: 00000004 +CONSTANT: D3DX11_FILTER_BOX HEX: 00000005 + +CONSTANT: D3DX11_FILTER_MIRROR_U HEX: 00010000 +CONSTANT: D3DX11_FILTER_MIRROR_V HEX: 00020000 +CONSTANT: D3DX11_FILTER_MIRROR_W HEX: 00040000 +CONSTANT: D3DX11_FILTER_MIRROR HEX: 00070000 + +CONSTANT: D3DX11_FILTER_DITHER HEX: 00080000 +CONSTANT: D3DX11_FILTER_DITHER_DIFFUSION HEX: 00100000 + +CONSTANT: D3DX11_FILTER_SRGB_IN HEX: 00200000 +CONSTANT: D3DX11_FILTER_SRGB_OUT HEX: 00400000 +CONSTANT: D3DX11_FILTER_SRGB HEX: 00600000 +TYPEDEF: int D3DX11_FILTER_FLAG + +CONSTANT: D3DX11_NORMALMAP_MIRROR_U HEX: 00010000 +CONSTANT: D3DX11_NORMALMAP_MIRROR_V HEX: 00020000 +CONSTANT: D3DX11_NORMALMAP_MIRROR HEX: 00030000 +CONSTANT: D3DX11_NORMALMAP_INVERTSIGN HEX: 00080000 +CONSTANT: D3DX11_NORMALMAP_COMPUTE_OCCLUSION HEX: 00100000 +TYPEDEF: int D3DX11_NORMALMAP_FLAG + +CONSTANT: D3DX11_CHANNEL_RED 1 +CONSTANT: D3DX11_CHANNEL_BLUE 2 +CONSTANT: D3DX11_CHANNEL_GREEN 4 +CONSTANT: D3DX11_CHANNEL_ALPHA 8 +CONSTANT: D3DX11_CHANNEL_LUMINANCE 16 +TYPEDEF: int D3DX11_CHANNEL_FLAG + +CONSTANT: D3DX11_IFF_BMP 0 +CONSTANT: D3DX11_IFF_JPG 1 +CONSTANT: D3DX11_IFF_PNG 3 +CONSTANT: D3DX11_IFF_DDS 4 +CONSTANT: D3DX11_IFF_TIFF 10 +CONSTANT: D3DX11_IFF_GIF 11 +CONSTANT: D3DX11_IFF_WMP 12 +CONSTANT: D3DX11_IFF_FORCE_DWORD HEX: 7fffffff +TYPEDEF: int D3DX11_IMAGE_FILE_FORMAT + +CONSTANT: D3DX11_STF_USEINPUTBLOB 1 +TYPEDEF: int D3DX11_SAVE_TEXTURE_FLAG + +STRUCT: D3DX11_IMAGE_INFO + { Width UINT } + { Height UINT } + { Depth UINT } + { ArraySize UINT } + { MipLevels UINT } + { MiscFlags UINT } + { Format DXGI_FORMAT } + { ResourceDimension D3D11_RESOURCE_DIMENSION } + { ImageFileFormat D3DX11_IMAGE_FILE_FORMAT } ; + +STRUCT: D3DX11_IMAGE_LOAD_INFO + { Width UINT } + { Height UINT } + { Depth UINT } + { FirstMipLevel UINT } + { MipLevels UINT } + { Usage D3D11_USAGE } + { BindFlags UINT } + { CpuAccessFlags UINT } + { MiscFlags UINT } + { Format DXGI_FORMAT } + { Filter UINT } + { MipFilter UINT } + { pSrcInfo D3DX11_IMAGE_INFO* } ; + +FUNCTION: HRESULT + D3DX11GetImageInfoFromFileA ( + LPCSTR pSrcFile, + ID3DX11ThreadPump* pPump, + D3DX11_IMAGE_INFO* pSrcInfo, + HRESULT* pHResult ) ; + +FUNCTION: HRESULT + D3DX11GetImageInfoFromFileW ( + LPCWSTR pSrcFile, + ID3DX11ThreadPump* pPump, + D3DX11_IMAGE_INFO* pSrcInfo, + HRESULT* pHResult ) ; + +ALIAS: D3DX11GetImageInfoFromFile D3DX11GetImageInfoFromFileW + +FUNCTION: HRESULT + D3DX11GetImageInfoFromResourceA ( + HMODULE hSrcModule, + LPCSTR pSrcResource, + ID3DX11ThreadPump* pPump, + D3DX11_IMAGE_INFO* pSrcInfo, + HRESULT* pHResult ) ; + +FUNCTION: HRESULT + D3DX11GetImageInfoFromResourceW ( + HMODULE hSrcModule, + LPCWSTR pSrcResource, + ID3DX11ThreadPump* pPump, + D3DX11_IMAGE_INFO* pSrcInfo, + HRESULT* pHResult ) ; + +ALIAS: D3DX11GetImageInfoFromResource D3DX11GetImageInfoFromResourceW + +FUNCTION: HRESULT + D3DX11GetImageInfoFromMemory ( + LPCVOID pSrcData, + SIZE_T SrcDataSize, + ID3DX11ThreadPump* pPump, + D3DX11_IMAGE_INFO* pSrcInfo, + HRESULT* pHResult ) ; + +FUNCTION: HRESULT + D3DX11CreateShaderResourceViewFromFileA ( + ID3D11Device* pDevice, + LPCSTR pSrcFile, + D3DX11_IMAGE_LOAD_INFO* pLoadInfo, + ID3DX11ThreadPump* pPump, + ID3D11ShaderResourceView** ppShaderResourceView, + HRESULT* pHResult ) ; + +FUNCTION: HRESULT + D3DX11CreateShaderResourceViewFromFileW ( + ID3D11Device* pDevice, + LPCWSTR pSrcFile, + D3DX11_IMAGE_LOAD_INFO* pLoadInfo, + ID3DX11ThreadPump* pPump, + ID3D11ShaderResourceView** ppShaderResourceView, + HRESULT* pHResult ) ; + +ALIAS: D3DX11CreateShaderResourceViewFromFile D3DX11CreateShaderResourceViewFromFileW + +FUNCTION: HRESULT + D3DX11CreateTextureFromFileA ( + ID3D11Device* pDevice, + LPCSTR pSrcFile, + D3DX11_IMAGE_LOAD_INFO* pLoadInfo, + ID3DX11ThreadPump* pPump, + ID3D11Resource** ppTexture, + HRESULT* pHResult ) ; + +FUNCTION: HRESULT + D3DX11CreateTextureFromFileW ( + ID3D11Device* pDevice, + LPCWSTR pSrcFile, + D3DX11_IMAGE_LOAD_INFO* pLoadInfo, + ID3DX11ThreadPump* pPump, + ID3D11Resource** ppTexture, + HRESULT* pHResult ) ; + +ALIAS: D3DX11CreateTextureFromFile D3DX11CreateTextureFromFileW + +FUNCTION: HRESULT + D3DX11CreateShaderResourceViewFromResourceA ( + ID3D11Device* pDevice, + HMODULE hSrcModule, + LPCSTR pSrcResource, + D3DX11_IMAGE_LOAD_INFO* pLoadInfo, + ID3DX11ThreadPump* pPump, + ID3D11ShaderResourceView** ppShaderResourceView, + HRESULT* pHResult ) ; + +FUNCTION: HRESULT + D3DX11CreateShaderResourceViewFromResourceW ( + ID3D11Device* pDevice, + HMODULE hSrcModule, + LPCWSTR pSrcResource, + D3DX11_IMAGE_LOAD_INFO* pLoadInfo, + ID3DX11ThreadPump* pPump, + ID3D11ShaderResourceView** ppShaderResourceView, + HRESULT* pHResult ) ; + +ALIAS: D3DX11CreateShaderResourceViewFromResource D3DX11CreateShaderResourceViewFromResourceW + +FUNCTION: HRESULT + D3DX11CreateTextureFromResourceA ( + ID3D11Device* pDevice, + HMODULE hSrcModule, + LPCSTR pSrcResource, + D3DX11_IMAGE_LOAD_INFO* pLoadInfo, + ID3DX11ThreadPump* pPump, + ID3D11Resource** ppTexture, + HRESULT* pHResult ) ; + +FUNCTION: HRESULT + D3DX11CreateTextureFromResourceW ( + ID3D11Device* pDevice, + HMODULE hSrcModule, + LPCWSTR pSrcResource, + D3DX11_IMAGE_LOAD_INFO* pLoadInfo, + ID3DX11ThreadPump* pPump, + ID3D11Resource** ppTexture, + HRESULT* pHResult ) ; + +ALIAS: D3DX11CreateTextureFromResource D3DX11CreateTextureFromResourceW + +FUNCTION: HRESULT + D3DX11CreateShaderResourceViewFromMemory ( + ID3D11Device* pDevice, + LPCVOID pSrcData, + SIZE_T SrcDataSize, + D3DX11_IMAGE_LOAD_INFO* pLoadInfo, + ID3DX11ThreadPump* pPump, + ID3D11ShaderResourceView** ppShaderResourceView, + HRESULT* pHResult ) ; + +FUNCTION: HRESULT + D3DX11CreateTextureFromMemory ( + ID3D11Device* pDevice, + LPCVOID pSrcData, + SIZE_T SrcDataSize, + D3DX11_IMAGE_LOAD_INFO* pLoadInfo, + ID3DX11ThreadPump* pPump, + ID3D11Resource** ppTexture, + HRESULT* pHResult ) ; + +STRUCT: D3DX11_TEXTURE_LOAD_INFO + { pSrcBox D3D11_BOX* } + { pDstBox D3D11_BOX* } + { SrcFirstMip UINT } + { DstFirstMip UINT } + { NumMips UINT } + { SrcFirstElement UINT } + { DstFirstElement UINT } + { NumElements UINT } + { Filter UINT } + { MipFilter UINT } ; + +FUNCTION: HRESULT + D3DX11LoadTextureFromTexture ( + ID3D11DeviceContext* pContext, + ID3D11Resource* pSrcTexture, + D3DX11_TEXTURE_LOAD_INFO* pLoadInfo, + ID3D11Resource* pDstTexture ) ; + +FUNCTION: HRESULT + D3DX11FilterTexture ( + ID3D11DeviceContext* pContext, + ID3D11Resource* pTexture, + UINT SrcLevel, + UINT MipFilter ) ; + +FUNCTION: HRESULT + D3DX11SaveTextureToFileA ( + ID3D11DeviceContext* pContext, + ID3D11Resource* pSrcTexture, + D3DX11_IMAGE_FILE_FORMAT DestFormat, + LPCSTR pDestFile ) ; + +FUNCTION: HRESULT + D3DX11SaveTextureToFileW ( + ID3D11DeviceContext* pContext, + ID3D11Resource* pSrcTexture, + D3DX11_IMAGE_FILE_FORMAT DestFormat, + LPCWSTR pDestFile ) ; + +ALIAS: D3DX11SaveTextureToFile D3DX11SaveTextureToFileW + +FUNCTION: HRESULT + D3DX11SaveTextureToMemory ( + ID3D11DeviceContext* pContext, + ID3D11Resource* pSrcTexture, + D3DX11_IMAGE_FILE_FORMAT DestFormat, + ID3D10Blob** ppDestBuf, + UINT Flags ) ; + +FUNCTION: HRESULT + D3DX11ComputeNormalMap ( + ID3D11DeviceContext* pContext, + ID3D11Texture2D* pSrcTexture, + UINT Flags, + UINT Channel, + FLOAT Amplitude, + ID3D11Texture2D* pDestTexture ) ; + +FUNCTION: HRESULT + D3DX11SHProjectCubeMap ( + ID3D11DeviceContext* pContext, + UINT Order, + ID3D11Texture2D* pCubeMap, + FLOAT* pROut, + FLOAT* pGOut, + FLOAT* pBOut ) ; + diff --git a/basis/windows/directx/d3dx11tex/summary.txt b/basis/windows/directx/d3dx11tex/summary.txt new file mode 100644 index 0000000000..94bbcd0781 --- /dev/null +++ b/basis/windows/directx/d3dx11tex/summary.txt @@ -0,0 +1 @@ +Direct3D 11 bindings. Corresponds to d3dx11tex.h. diff --git a/basis/windows/directx/d3dx11tex/tags.txt b/basis/windows/directx/d3dx11tex/tags.txt new file mode 100644 index 0000000000..2320bdd648 --- /dev/null +++ b/basis/windows/directx/d3dx11tex/tags.txt @@ -0,0 +1,2 @@ +unportable +bindings diff --git a/basis/windows/directx/d3dx9/authors.txt b/basis/windows/directx/d3dx9/authors.txt new file mode 100644 index 0000000000..6f03a12101 --- /dev/null +++ b/basis/windows/directx/d3dx9/authors.txt @@ -0,0 +1 @@ +Erik Charlebois diff --git a/basis/windows/directx/d3dx9/d3dx9.factor b/basis/windows/directx/d3dx9/d3dx9.factor new file mode 100644 index 0000000000..c2bccb207b --- /dev/null +++ b/basis/windows/directx/d3dx9/d3dx9.factor @@ -0,0 +1,12 @@ +USING: ; +IN: windows.directx.d3dx9 + +CONSTANT: D3DXERR_CANNOTMODIFYINDEXBUFFER HEX: 88760B55 +CONSTANT: D3DXERR_INVALIDMESH HEX: 88760B56 +CONSTANT: D3DXERR_CANNOTATTRSORT HEX: 88760B57 +CONSTANT: D3DXERR_SKINNINGNOTSUPPORTED HEX: 88760B58 +CONSTANT: D3DXERR_TOOMANYINFLUENCES HEX: 88760B59 +CONSTANT: D3DXERR_INVALIDDATA HEX: 88760B5A +CONSTANT: D3DXERR_LOADEDMESHASNODATA HEX: 88760B5B +CONSTANT: D3DXERR_DUPLICATENAMEDFRAGMENT HEX: 88760B5C +CONSTANT: D3DXERR_CANNOTREMOVELASTITEM HEX: 88760B5D diff --git a/basis/windows/directx/d3dx9/summary.txt b/basis/windows/directx/d3dx9/summary.txt new file mode 100644 index 0000000000..3132a555f4 --- /dev/null +++ b/basis/windows/directx/d3dx9/summary.txt @@ -0,0 +1 @@ +DirectX 9 bindings. Corresponds to d3dx9.h. diff --git a/basis/windows/directx/d3dx9/tags.txt b/basis/windows/directx/d3dx9/tags.txt new file mode 100644 index 0000000000..2320bdd648 --- /dev/null +++ b/basis/windows/directx/d3dx9/tags.txt @@ -0,0 +1,2 @@ +unportable +bindings diff --git a/basis/windows/directx/d3dx9anim/authors.txt b/basis/windows/directx/d3dx9anim/authors.txt new file mode 100644 index 0000000000..6f03a12101 --- /dev/null +++ b/basis/windows/directx/d3dx9anim/authors.txt @@ -0,0 +1 @@ +Erik Charlebois diff --git a/basis/windows/directx/d3dx9anim/d3dx9anim.factor b/basis/windows/directx/d3dx9anim/d3dx9anim.factor new file mode 100644 index 0000000000..9864d64e3b --- /dev/null +++ b/basis/windows/directx/d3dx9anim/d3dx9anim.factor @@ -0,0 +1,426 @@ +USING: alien.c-types alien.syntax classes.struct windows.com +windows.com.syntax windows.directx.d3d9 +windows.directx.d3dx9core windows.directx.d3dx9math +windows.directx.d3dx9mesh windows.directx.d3dx9xof +windows.types ; +IN: windows.directx.d3dx9anim + +LIBRARY: d3dx9 + +TYPEDEF: int D3DXMESHDATATYPE +CONSTANT: D3DXMESHTYPE_MESH 1 +CONSTANT: D3DXMESHTYPE_PMESH 2 +CONSTANT: D3DXMESHTYPE_PATCHMESH 3 +CONSTANT: D3DXMESHTYPE_FORCE_DWORD HEX: 7fffffff + +STRUCT: D3DXMESHDATA + { Type D3DXMESHDATATYPE } + { Mesh void* } ; +TYPEDEF: D3DXMESHDATA* LPD3DXMESHDATA + +STRUCT: D3DXMESHCONTAINER + { Name LPSTR } + { MeshData D3DXMESHDATA } + { pMaterials LPD3DXMATERIAL } + { pEffects LPD3DXEFFECTINSTANCE } + { NumMaterials DWORD } + { pAdjacency DWORD* } + { pSkinInfo LPD3DXSKININFO } + { pNextMeshContainer D3DXMESHCONTAINER* } ; +TYPEDEF: D3DXMESHCONTAINER* LPD3DXMESHCONTAINER + +STRUCT: D3DXFRAME + { Name LPSTR } + { TransformationMatrix D3DXMATRIX } + { pMeshContainer LPD3DXMESHCONTAINER } + { pFrameSibling D3DXFRAME* } + { pFrameFirstChild D3DXFRAME* } ; +TYPEDEF: D3DXFRAME* LPD3DXFRAME + +C-TYPE: ID3DXAllocateHierarchy +TYPEDEF: ID3DXAllocateHierarchy* LPD3DXALLOCATEHIERARCHY + +COM-INTERFACE: ID3DXAllocateHierarchy f {00000000-0000-0000-0000-000000000000} + HRESULT CreateFrame ( LPCSTR Name, LPD3DXFRAME* ppNewFrame ) + HRESULT CreateMeshContainer ( + LPCSTR Name, + D3DXMESHDATA* pMeshData, + D3DXMATERIAL* pMaterials, + D3DXEFFECTINSTANCE* pEffectInstances, + DWORD NumMaterials, + DWORD* pAdjacency, + LPD3DXSKININFO pSkinInfo, + LPD3DXMESHCONTAINER* ppNewMeshContainer ) + HRESULT DestroyFrame ( LPD3DXFRAME pFrameToFree ) + HRESULT DestroyMeshContainer ( LPD3DXMESHCONTAINER pMeshContainerToFree ) ; + +C-TYPE: ID3DXLoadUserData +TYPEDEF: ID3DXLoadUserData* LPD3DXLOADUSERDATA + +COM-INTERFACE: ID3DXLoadUserData f {00000000-0000-0000-0000-000000000000} + HRESULT LoadTopLevelData ( LPD3DXFILEDATA pXofChildData ) + HRESULT LoadFrameChildData ( LPD3DXFRAME pFrame, + LPD3DXFILEDATA pXofChildData ) + HRESULT LoadMeshChildData ( LPD3DXMESHCONTAINER pMeshContainer, + LPD3DXFILEDATA pXofChildData ) ; + +C-TYPE: ID3DXSaveUserData +TYPEDEF: ID3DXSaveUserData* LPD3DXSAVEUSERDATA + +COM-INTERFACE: ID3DXSaveUserData f {00000000-0000-0000-0000-000000000000} + HRESULT AddFrameChildData ( + D3DXFRAME* pFrame, + LPD3DXFILESAVEOBJECT pXofSave, + LPD3DXFILESAVEDATA pXofFrameData ) + + HRESULT AddMeshChildData ( + D3DXMESHCONTAINER* pMeshContainer, + LPD3DXFILESAVEOBJECT pXofSave, + LPD3DXFILESAVEDATA pXofMeshData ) + HRESULT AddTopLevelDataObjectsPre ( LPD3DXFILESAVEOBJECT pXofSave ) + HRESULT AddTopLevelDataObjectsPost ( LPD3DXFILESAVEOBJECT pXofSave ) + HRESULT RegisterTemplates ( LPD3DXFILE pXFileApi ) + HRESULT SaveTemplates ( LPD3DXFILESAVEOBJECT pXofSave ) ; + +TYPEDEF: int D3DXCALLBACK_SEARCH_FLAGS +CONSTANT: D3DXCALLBACK_SEARCH_EXCLUDING_INITIAL_POSITION 1 +CONSTANT: D3DXCALLBACK_SEARCH_BEHIND_INITIAL_POSITION 2 +CONSTANT: D3DXCALLBACK_SEARCH_FORCE_DWORD HEX: 7fffffff + +C-TYPE: ID3DXAnimationSet +TYPEDEF: ID3DXAnimationSet* LPD3DXANIMATIONSET + +COM-INTERFACE: ID3DXAnimationSet IUnknown {698CFB3F-9289-4d95-9A57-33A94B5A65F9} + LPCSTR GetName ( ) + double GetPeriod ( ) + double GetPeriodicPosition ( double Position ) + UINT GetNumAnimations ( ) + HRESULT GetAnimationNameByIndex ( UINT Index, LPCSTR* ppName ) + HRESULT GetAnimationIndexByName ( LPCSTR pName, UINT* pIndex ) + HRESULT GetSRT ( + double PeriodicPosition, + UINT Animation, + D3DXVECTOR3* pScale, + D3DXQUATERNION* pRotation, + D3DXVECTOR3* pTranslation ) + HRESULT GetCallback ( + double Position, + DWORD Flags, + double* pCallbackPosition, + LPVOID* ppCallbackData ) ; + +TYPEDEF: int D3DXPLAYBACK_TYPE +CONSTANT: D3DXPLAY_LOOP 0 +CONSTANT: D3DXPLAY_ONCE 1 +CONSTANT: D3DXPLAY_PINGPONG 2 +CONSTANT: D3DXPLAY_FORCE_DWORD HEX: 7fffffff + +STRUCT: D3DXKEY_VECTOR3 + { Time FLOAT } + { Value D3DXVECTOR3 } ; +TYPEDEF: D3DXKEY_VECTOR3* LPD3DXKEY_VECTOR3 + +STRUCT: D3DXKEY_QUATERNION + { Time FLOAT } + { Value D3DXQUATERNION } ; +TYPEDEF: D3DXKEY_QUATERNION* LPD3DXKEY_QUATERNION + +STRUCT: D3DXKEY_CALLBACK + { Time FLOAT } + { pCallbackData LPVOID } ; +TYPEDEF: D3DXKEY_CALLBACK* LPD3DXKEY_CALLBACK + +TYPEDEF: int D3DXCOMPRESSION_FLAGS +CONSTANT: D3DXCOMPRESS_DEFAULT 0 +CONSTANT: D3DXCOMPRESS_FORCE_DWORD HEX: 7fffffff + +C-TYPE: ID3DXKeyframedAnimationSet +TYPEDEF: ID3DXKeyframedAnimationSet* LPD3DXKEYFRAMEDANIMATIONSET + +COM-INTERFACE: ID3DXKeyframedAnimationSet ID3DXAnimationSet {FA4E8E3A-9786-407d-8B4C-5995893764AF} + D3DXPLAYBACK_TYPE GetPlaybackType ( ) + double GetSourceTicksPerSecond ( ) + UINT GetNumScaleKeys ( UINT Animation ) + HRESULT GetScaleKeys ( UINT Animation, LPD3DXKEY_VECTOR3 pScaleKeys ) + HRESULT GetScaleKey ( UINT Animation, UINT Key, LPD3DXKEY_VECTOR3 pScaleKey ) + HRESULT SetScaleKey ( UINT Animation, UINT Key, LPD3DXKEY_VECTOR3 pScaleKey ) + UINT GetNumRotationKeys ( UINT Animation ) + HRESULT GetRotationKeys ( UINT Animation, LPD3DXKEY_QUATERNION pRotationKeys ) + HRESULT GetRotationKey ( UINT Animation, UINT Key, LPD3DXKEY_QUATERNION pRotationKey ) + HRESULT SetRotationKey ( UINT Animation, UINT Key, LPD3DXKEY_QUATERNION pRotationKey ) + UINT GetNumTranslationKeys ( UINT Animation ) + HRESULT GetTranslationKeys ( UINT Animation, LPD3DXKEY_VECTOR3 pTranslationKeys ) + HRESULT GetTranslationKey ( UINT Animation, UINT Key, LPD3DXKEY_VECTOR3 pTranslationKey ) + HRESULT SetTranslationKey ( UINT Animation, UINT Key, LPD3DXKEY_VECTOR3 pTranslationKey ) + UINT GetNumCallbackKeys ( ) + HRESULT GetCallbackKeys ( LPD3DXKEY_CALLBACK pCallbackKeys ) + HRESULT GetCallbackKey ( UINT Key, LPD3DXKEY_CALLBACK pCallbackKey ) + HRESULT SetCallbackKey ( UINT Key, LPD3DXKEY_CALLBACK pCallbackKey ) + HRESULT UnregisterScaleKey ( UINT Animation, UINT Key ) + HRESULT UnregisterRotationKey ( UINT Animation, UINT Key ) + HRESULT UnregisterTranslationKey ( UINT Animation, UINT Key ) + HRESULT RegisterAnimationSRTKeys ( + LPCSTR pName, + UINT NumScaleKeys, + UINT NumRotationKeys, + UINT NumTranslationKeys, + D3DXKEY_VECTOR3* pScaleKeys, + D3DXKEY_QUATERNION* pRotationKeys, + D3DXKEY_VECTOR3* pTranslationKeys, + DWORD* pAnimationIndex ) + HRESULT Compress ( + DWORD Flags, + FLOAT Lossiness, + LPD3DXFRAME pHierarchy, + LPD3DXBUFFER* ppCompressedData ) + HRESULT UnregisterAnimation ( UINT Index ) ; + +C-TYPE: ID3DXCompressedAnimationSet +TYPEDEF: ID3DXCompressedAnimationSet* LPD3DXCOMPRESSEDANIMATIONSET + +COM-INTERFACE: ID3DXCompressedAnimationSet ID3DXAnimationSet {6CC2480D-3808-4739-9F88-DE49FACD8D4C} + D3DXPLAYBACK_TYPE GetPlaybackType ( ) + double GetSourceTicksPerSecond ( ) + HRESULT GetCompressedData ( LPD3DXBUFFER* ppCompressedData ) + UINT GetNumCallbackKeys ( ) + HRESULT GetCallbackKeys ( LPD3DXKEY_CALLBACK pCallbackKeys ) ; + +TYPEDEF: int D3DXPRIORITY_TYPE +CONSTANT: D3DXPRIORITY_LOW 0 +CONSTANT: D3DXPRIORITY_HIGH 1 +CONSTANT: D3DXPRIORITY_FORCE_DWORD HEX: 7fffffff + +STRUCT: D3DXTRACK_DESC + { Priority D3DXPRIORITY_TYPE } + { Weight FLOAT } + { Speed FLOAT } + { Position double } + { Enable BOOL } ; +TYPEDEF: D3DXTRACK_DESC* LPD3DXTRACK_DESC + +TYPEDEF: int D3DXEVENT_TYPE +CONSTANT: D3DXEVENT_TRACKSPEED 0 +CONSTANT: D3DXEVENT_TRACKWEIGHT 1 +CONSTANT: D3DXEVENT_TRACKPOSITION 2 +CONSTANT: D3DXEVENT_TRACKENABLE 3 +CONSTANT: D3DXEVENT_PRIORITYBLEND 4 +CONSTANT: D3DXEVENT_FORCE_DWORD HEX: 7fffffff + +TYPEDEF: int D3DXTRANSITION_TYPE +CONSTANT: D3DXTRANSITION_LINEAR 0 +CONSTANT: D3DXTRANSITION_EASEINEASEOUT 1 +CONSTANT: D3DXTRANSITION_FORCE_DWORD HEX: 7fffffff + +UNION-STRUCT: D3DXEVENT_DESC_UNION + { Weight FLOAT } + { Speed FLOAT } + { Position double } + { Enable BOOL } ; +STRUCT: D3DXEVENT_DESC + { Type D3DXEVENT_TYPE } + { Track UINT } + { StartTime double } + { Duration double } + { Transition D3DXTRANSITION_TYPE } + { Union D3DXEVENT_DESC_UNION } ; +TYPEDEF: D3DXEVENT_DESC* LPD3DXEVENT_DESC + +TYPEDEF: DWORD D3DXEVENTHANDLE +TYPEDEF: D3DXEVENTHANDLE* LPD3DXEVENTHANDLE + +C-TYPE: ID3DXAnimationCallbackHandler +TYPEDEF: ID3DXAnimationCallbackHandler* LPD3DXANIMATIONCALLBACKHANDLER + +COM-INTERFACE: ID3DXAnimationCallbackHandler f {00000000-0000-0000-0000-000000000000} + HRESULT HandleCallback ( UINT Track, LPVOID pCallbackData ) ; + +C-TYPE: ID3DXAnimationController +TYPEDEF: ID3DXAnimationController* LPD3DXANIMATIONCONTROLLER + +COM-INTERFACE: ID3DXAnimationController IUnknown {AC8948EC-F86D-43e2-96DE-31FC35F96D9E} + UINT GetMaxNumAnimationOutputs ( ) + UINT GetMaxNumAnimationSets ( ) + UINT GetMaxNumTracks ( ) + UINT GetMaxNumEvents ( ) + HRESULT RegisterAnimationOutput ( + LPCSTR pName, + D3DXMATRIX* pMatrix, + D3DXVECTOR3* pScale, + D3DXQUATERNION* pRotation, + D3DXVECTOR3* pTranslation ) + HRESULT RegisterAnimationSet ( LPD3DXANIMATIONSET pAnimSet ) + HRESULT UnregisterAnimationSet ( LPD3DXANIMATIONSET pAnimSet ) + UINT GetNumAnimationSets ( ) + HRESULT GetAnimationSet ( UINT Index, LPD3DXANIMATIONSET* ppAnimationSet ) + HRESULT GetAnimationSetByName ( LPCSTR szName, LPD3DXANIMATIONSET* ppAnimationSet ) + HRESULT AdvanceTime ( double TimeDelta, LPD3DXANIMATIONCALLBACKHANDLER pCallbackHandler ) + HRESULT ResetTime ( ) + double GetTime ( ) + HRESULT SetTrackAnimationSet ( UINT Track, LPD3DXANIMATIONSET pAnimSet ) + HRESULT GetTrackAnimationSet ( UINT Track, LPD3DXANIMATIONSET* ppAnimSet ) + HRESULT SetTrackPriority ( UINT Track, D3DXPRIORITY_TYPE Priority ) + HRESULT SetTrackSpeed ( UINT Track, FLOAT Speed ) + HRESULT SetTrackWeight ( UINT Track, FLOAT Weight ) + HRESULT SetTrackPosition ( UINT Track, double Position ) + HRESULT SetTrackEnable ( UINT Track, BOOL Enable ) + HRESULT SetTrackDesc ( UINT Track, LPD3DXTRACK_DESC pDesc ) + HRESULT GetTrackDesc ( UINT Track, LPD3DXTRACK_DESC pDesc ) + HRESULT SetPriorityBlend ( FLOAT BlendWeight ) + FLOAT GetPriorityBlend ( ) + D3DXEVENTHANDLE KeyTrackSpeed ( UINT Track, FLOAT NewSpeed, double StartTime, double Duration, D3DXTRANSITION_TYPE Transition ) + D3DXEVENTHANDLE KeyTrackWeight ( UINT Track, FLOAT NewWeight, double StartTime, double Duration, D3DXTRANSITION_TYPE Transition ) + D3DXEVENTHANDLE KeyTrackPosition ( UINT Track, double NewPosition, double StartTime ) + D3DXEVENTHANDLE KeyTrackEnable ( UINT Track, BOOL NewEnable, double StartTime ) + D3DXEVENTHANDLE KeyPriorityBlend ( FLOAT NewBlendWeight, double StartTime, double Duration, D3DXTRANSITION_TYPE Transition ) + HRESULT UnkeyEvent ( D3DXEVENTHANDLE hEvent ) + HRESULT UnkeyAllTrackEvents ( UINT Track ) + HRESULT UnkeyAllPriorityBlends ( ) + D3DXEVENTHANDLE GetCurrentTrackEvent ( UINT Track, D3DXEVENT_TYPE EventType ) + D3DXEVENTHANDLE GetCurrentPriorityBlend ( ) + D3DXEVENTHANDLE GetUpcomingTrackEvent ( UINT Track, D3DXEVENTHANDLE hEvent ) + D3DXEVENTHANDLE GetUpcomingPriorityBlend ( D3DXEVENTHANDLE hEvent ) + HRESULT ValidateEvent ( D3DXEVENTHANDLE hEvent ) + HRESULT GetEventDesc ( D3DXEVENTHANDLE hEvent, LPD3DXEVENT_DESC pDesc ) + HRESULT CloneAnimationController ( + UINT MaxNumAnimationOutputs, + UINT MaxNumAnimationSets, + UINT MaxNumTracks, + UINT MaxNumEvents, + LPD3DXANIMATIONCONTROLLER* ppAnimController ) ; + +FUNCTION: HRESULT +D3DXLoadMeshHierarchyFromXA + ( + LPCSTR Filename, + DWORD MeshOptions, + LPDIRECT3DDEVICE9 pD3DDevice, + LPD3DXALLOCATEHIERARCHY pAlloc, + LPD3DXLOADUSERDATA pUserDataLoader, + LPD3DXFRAME* ppFrameHierarchy, + LPD3DXANIMATIONCONTROLLER* ppAnimController + ) ; + +FUNCTION: HRESULT +D3DXLoadMeshHierarchyFromXW + ( + LPCWSTR Filename, + DWORD MeshOptions, + LPDIRECT3DDEVICE9 pD3DDevice, + LPD3DXALLOCATEHIERARCHY pAlloc, + LPD3DXLOADUSERDATA pUserDataLoader, + LPD3DXFRAME* ppFrameHierarchy, + LPD3DXANIMATIONCONTROLLER* ppAnimController + ) ; + +ALIAS: D3DXLoadMeshHierarchyFromX D3DXLoadMeshHierarchyFromXW + +FUNCTION: HRESULT +D3DXLoadMeshHierarchyFromXInMemory + ( + LPCVOID Memory, + DWORD SizeOfMemory, + DWORD MeshOptions, + LPDIRECT3DDEVICE9 pD3DDevice, + LPD3DXALLOCATEHIERARCHY pAlloc, + LPD3DXLOADUSERDATA pUserDataLoader, + LPD3DXFRAME* ppFrameHierarchy, + LPD3DXANIMATIONCONTROLLER* ppAnimController + ) ; + +FUNCTION: HRESULT +D3DXSaveMeshHierarchyToFileA + ( + LPCSTR Filename, + DWORD XFormat, + D3DXFRAME* pFrameRoot, + LPD3DXANIMATIONCONTROLLER pAnimcontroller, + LPD3DXSAVEUSERDATA pUserDataSaver + ) ; + +FUNCTION: HRESULT +D3DXSaveMeshHierarchyToFileW + ( + LPCWSTR Filename, + DWORD XFormat, + D3DXFRAME* pFrameRoot, + LPD3DXANIMATIONCONTROLLER pAnimController, + LPD3DXSAVEUSERDATA pUserDataSaver + ) ; + +ALIAS: D3DXSaveMeshHierarchyToFile D3DXSaveMeshHierarchyToFileW + +FUNCTION: HRESULT +D3DXFrameDestroy + ( + LPD3DXFRAME pFrameRoot, + LPD3DXALLOCATEHIERARCHY pAlloc + ) ; + +FUNCTION: HRESULT +D3DXFrameAppendChild + ( + LPD3DXFRAME pFrameParent, + D3DXFRAME* pFrameChild + ) ; + +FUNCTION: LPD3DXFRAME +D3DXFrameFind + ( + D3DXFRAME* pFrameRoot, + LPCSTR Name + ) ; + +FUNCTION: HRESULT +D3DXFrameRegisterNamedMatrices + ( + LPD3DXFRAME pFrameRoot, + LPD3DXANIMATIONCONTROLLER pAnimController + ) ; + +FUNCTION: UINT +D3DXFrameNumNamedMatrices + ( + D3DXFRAME* pFrameRoot + ) ; + +FUNCTION: HRESULT +D3DXFrameCalculateBoundingSphere + ( + D3DXFRAME* pFrameRoot, + LPD3DXVECTOR3 pObjectCenter, + FLOAT* pObjectRadius + ) ; + +FUNCTION: HRESULT +D3DXCreateKeyframedAnimationSet + ( + LPCSTR pName, + double TicksPerSecond, + D3DXPLAYBACK_TYPE Playback, + UINT NumAnimations, + UINT NumCallbackKeys, + D3DXKEY_CALLBACK* pCallbackKeys, + LPD3DXKEYFRAMEDANIMATIONSET* ppAnimationSet + ) ; + +FUNCTION: HRESULT +D3DXCreateCompressedAnimationSet + ( + LPCSTR pName, + double TicksPerSecond, + D3DXPLAYBACK_TYPE Playback, + LPD3DXBUFFER pCompressedData, + UINT NumCallbackKeys, + D3DXKEY_CALLBACK* pCallbackKeys, + LPD3DXCOMPRESSEDANIMATIONSET* ppAnimationSet + ) ; + +FUNCTION: HRESULT +D3DXCreateAnimationController + ( + UINT MaxNumMatrices, + UINT MaxNumAnimationSets, + UINT MaxNumTracks, + UINT MaxNumEvents, + LPD3DXANIMATIONCONTROLLER* ppAnimController + ) ; diff --git a/basis/windows/directx/d3dx9anim/summary.txt b/basis/windows/directx/d3dx9anim/summary.txt new file mode 100644 index 0000000000..ef56df2510 --- /dev/null +++ b/basis/windows/directx/d3dx9anim/summary.txt @@ -0,0 +1 @@ +DirectX 9 bindings. Corresponds to d3dx9anim.h. diff --git a/basis/windows/directx/d3dx9anim/tags.txt b/basis/windows/directx/d3dx9anim/tags.txt new file mode 100644 index 0000000000..2320bdd648 --- /dev/null +++ b/basis/windows/directx/d3dx9anim/tags.txt @@ -0,0 +1,2 @@ +unportable +bindings diff --git a/basis/windows/directx/d3dx9core/authors.txt b/basis/windows/directx/d3dx9core/authors.txt new file mode 100644 index 0000000000..6f03a12101 --- /dev/null +++ b/basis/windows/directx/d3dx9core/authors.txt @@ -0,0 +1 @@ +Erik Charlebois diff --git a/basis/windows/directx/d3dx9core/d3dx9core.factor b/basis/windows/directx/d3dx9core/d3dx9core.factor new file mode 100644 index 0000000000..f963b03294 --- /dev/null +++ b/basis/windows/directx/d3dx9core/d3dx9core.factor @@ -0,0 +1,238 @@ +USING: alien.syntax windows.types windows.directx.d3d9 windows.com.syntax +windows.com windows.directx.d3dx9math windows.directx.d3d9types classes.struct +windows.gdi32 ; +IN: windows.directx.d3dx9core + +LIBRARY: d3dx9 + +CONSTANT: D3DX_VERSION HEX: 0902 +CONSTANT: D3DX_SDK_VERSION 42 + +FUNCTION: BOOL D3DXCheckVersion ( UINT D3DSdkVersion, UINT D3DXSdkVersion ) ; +FUNCTION: BOOL D3DXDebugMute ( BOOL Mute ) ; +FUNCTION: UINT D3DXGetDriverLevel ( LPDIRECT3DDEVICE9 pDevice ) ; + +C-TYPE: ID3DXBuffer +TYPEDEF: ID3DXBuffer* LPD3DXBUFFER + +COM-INTERFACE: ID3DXBuffer IUnknown {8BA5FB08-5195-40e2-AC58-0D989C3A0102} + LPVOID GetBufferPointer ( ) + DWORD GetBufferSize ( ) ; + +CONSTANT: D3DXSPRITE_DONOTSAVESTATE 1 +CONSTANT: D3DXSPRITE_DONOTMODIFY_RENDERSTATE 2 +CONSTANT: D3DXSPRITE_OBJECTSPACE 4 +CONSTANT: D3DXSPRITE_BILLBOARD 8 +CONSTANT: D3DXSPRITE_ALPHABLEND 16 +CONSTANT: D3DXSPRITE_SORT_TEXTURE 32 +CONSTANT: D3DXSPRITE_SORT_DEPTH_FRONTTOBACK 64 +CONSTANT: D3DXSPRITE_SORT_DEPTH_BACKTOFRONT 128 +CONSTANT: D3DXSPRITE_DO_NOT_ADDREF_TEXTURE 256 + +C-TYPE: ID3DXSprite +TYPEDEF: ID3DXSprite* LPD3DXSPRITE + +COM-INTERFACE: ID3DXSprite IUnknown {BA0B762D-7D28-43ec-B9DC-2F84443B0614} + HRESULT GetDevice ( LPDIRECT3DDEVICE9* ppDevice ) + HRESULT GetTransform ( D3DXMATRIX* pTransform ) + HRESULT SetTransform ( D3DXMATRIX* pTransform ) + HRESULT SetWorldViewRH ( D3DXMATRIX* pWorld, D3DXMATRIX* pView ) + HRESULT SetWorldViewLH ( D3DXMATRIX* pWorld, D3DXMATRIX* pView ) + HRESULT Begin ( DWORD Flags ) + HRESULT Draw ( LPDIRECT3DTEXTURE9 pTexture, RECT* pSrcRect, D3DXVECTOR3* pCenter, D3DXVECTOR3* pPosition, D3DCOLOR Color ) + HRESULT Flush ( ) + HRESULT End ( ) + HRESULT OnLostDevice ( ) + HRESULT OnResetDevice ( ) ; + +FUNCTION: HRESULT + D3DXCreateSprite ( + LPDIRECT3DDEVICE9 pDevice, + LPD3DXSPRITE* ppSprite ) ; + +STRUCT: D3DXFONT_DESCA + { Height INT } + { Width UINT } + { Weight UINT } + { MipLevels UINT } + { Italic BOOL } + { CharSet BYTE } + { OutputPrecision BYTE } + { Quality BYTE } + { PitchAndFamily BYTE } + { FaceName CHAR[LF_FACESIZE] } ; +TYPEDEF: D3DXFONT_DESCA* LPD3DXFONT_DESCA + +STRUCT: D3DXFONT_DESCW + { Height INT } + { Width UINT } + { Weight UINT } + { MipLevels UINT } + { Italic BOOL } + { CharSet BYTE } + { OutputPrecision BYTE } + { Quality BYTE } + { PitchAndFamily BYTE } + { FaceName WCHAR[LF_FACESIZE] } ; +TYPEDEF: D3DXFONT_DESCW* LPD3DXFONT_DESCW + +TYPEDEF: D3DXFONT_DESCW D3DXFONT_DESC +TYPEDEF: LPD3DXFONT_DESCW LPD3DXFONT_DESC + +C-TYPE: ID3DXFont +TYPEDEF: ID3DXFont* LPD3DXFONT +C-TYPE: TEXTMETRICA +C-TYPE: TEXTMETRICW + +COM-INTERFACE: ID3DXFont IUnknown {D79DBB70-5F21-4d36-BBC2-FF525C213CDC} + HRESULT GetDevice ( LPDIRECT3DDEVICE9* ppDevice ) + HRESULT GetDescA ( D3DXFONT_DESCA* pDesc ) + HRESULT GetDescW ( D3DXFONT_DESCW* pDesc ) + BOOL GetTextMetricsA ( TEXTMETRICA* pTextMetrics ) + BOOL GetTextMetricsW ( TEXTMETRICW* pTextMetrics ) + HDC GetDC ( ) + HRESULT GetGlyphData ( UINT Glyph, LPDIRECT3DTEXTURE9* ppTexture, RECT* pBlackBox, POINT* pCellInc ) + HRESULT PreloadCharacters ( UINT First, UINT Last ) + HRESULT PreloadGlyphs ( UINT First, UINT Last ) + HRESULT PreloadTextA ( LPCSTR pString, INT Count ) + HRESULT PreloadTextW ( LPCWSTR pString, INT Count ) + INT DrawTextA ( LPD3DXSPRITE pSprite, LPCSTR pString, INT Count, LPRECT pRect, DWORD Format, D3DCOLOR Color ) + INT DrawTextW ( LPD3DXSPRITE pSprite, LPCWSTR pString, INT Count, LPRECT pRect, DWORD Format, D3DCOLOR Color ) + HRESULT OnLostDevice ( ) + HRESULT OnResetDevice ( ) ; + +FUNCTION: HRESULT + D3DXCreateFontA ( + LPDIRECT3DDEVICE9 pDevice, + INT Height, + UINT Width, + UINT Weight, + UINT MipLevels, + BOOL Italic, + DWORD CharSet, + DWORD OutputPrecision, + DWORD Quality, + DWORD PitchAndFamily, + LPCSTR pFaceName, + LPD3DXFONT* ppFont ) ; + +FUNCTION: HRESULT + D3DXCreateFontW ( + LPDIRECT3DDEVICE9 pDevice, + INT Height, + UINT Width, + UINT Weight, + UINT MipLevels, + BOOL Italic, + DWORD CharSet, + DWORD OutputPrecision, + DWORD Quality, + DWORD PitchAndFamily, + LPCWSTR pFaceName, + LPD3DXFONT* ppFont ) ; + +ALIAS: D3DXCreateFont D3DXCreateFontW + +FUNCTION: HRESULT + D3DXCreateFontIndirectA ( + LPDIRECT3DDEVICE9 pDevice, + D3DXFONT_DESCA* pDesc, + LPD3DXFONT* ppFont ) ; + +FUNCTION: HRESULT + D3DXCreateFontIndirectW ( + LPDIRECT3DDEVICE9 pDevice, + D3DXFONT_DESCW* pDesc, + LPD3DXFONT* ppFont ) ; + +ALIAS: D3DXCreateFontIndirect D3DXCreateFontIndirectW + +STRUCT: D3DXRTS_DESC + { Width UINT } + { Height UINT } + { Format D3DFORMAT } + { DepthStencil BOOL } + { DepthStencilFormat D3DFORMAT } ; +TYPEDEF: D3DXRTS_DESC* LPD3DXRTS_DESC + +C-TYPE: ID3DXRenderToSurface +TYPEDEF: ID3DXRenderToSurface* LPD3DXRENDERTOSURFACE + +COM-INTERFACE: ID3DXRenderToSurface IUnknown {6985F346-2C3D-43b3-BE8B-DAAE8A03D894} + HRESULT GetDevice ( LPDIRECT3DDEVICE9* ppDevice ) + HRESULT GetDesc ( D3DXRTS_DESC* pDesc ) + HRESULT BeginScene ( LPDIRECT3DSURFACE9 pSurface, D3DVIEWPORT9* pViewport ) + HRESULT EndScene ( DWORD MipFilter ) + HRESULT OnLostDevice ( ) + HRESULT OnResetDevice ( ) ; + +FUNCTION: HRESULT + D3DXCreateRenderToSurface ( + LPDIRECT3DDEVICE9 pDevice, + UINT Width, + UINT Height, + D3DFORMAT Format, + BOOL DepthStencil, + D3DFORMAT DepthStencilFormat, + LPD3DXRENDERTOSURFACE* ppRenderToSurface ) ; + +STRUCT: D3DXRTE_DESC + { Size UINT } + { MipLevels UINT } + { Format D3DFORMAT } + { DepthStencil BOOL } + { DepthStencilFormat D3DFORMAT } ; +TYPEDEF: D3DXRTE_DESC* LPD3DXRTE_DESC + +C-TYPE: ID3DXRenderToEnvMap +TYPEDEF: ID3DXRenderToEnvMap* LPD3DXRenderToEnvMap + +COM-INTERFACE: ID3DXRenderToEnvMap IUnknown {313F1B4B-C7B0-4fa2-9D9D-8D380B64385E} + HRESULT GetDevice ( LPDIRECT3DDEVICE9* ppDevice ) + HRESULT GetDesc ( D3DXRTE_DESC* pDesc ) + HRESULT BeginCube ( LPDIRECT3DCUBETEXTURE9 pCubeTex ) + HRESULT BeginSphere ( LPDIRECT3DTEXTURE9 pTex ) + HRESULT BeginHemisphere ( LPDIRECT3DTEXTURE9 pTexZPos, LPDIRECT3DTEXTURE9 pTexZNeg ) + HRESULT BeginParabolic ( LPDIRECT3DTEXTURE9 pTexZPos, LPDIRECT3DTEXTURE9 pTexZNeg ) + HRESULT Face ( D3DCUBEMAP_FACES Face, DWORD MipFilter ) + HRESULT End ( DWORD MipFilter ) + HRESULT OnLostDevice ( ) + HRESULT OnResetDevice ( ) ; + +FUNCTION: HRESULT + D3DXCreateRenderToEnvMap ( + LPDIRECT3DDEVICE9 pDevice, + UINT Size, + UINT MipLevels, + D3DFORMAT Format, + BOOL DepthStencil, + D3DFORMAT DepthStencilFormat, + LPD3DXRenderToEnvMap* ppRenderToEnvMap ) ; + +C-TYPE: ID3DXLine +TYPEDEF: ID3DXLine* LPD3DXLINE +COM-INTERFACE: ID3DXLine IUnknown {D379BA7F-9042-4ac4-9F5E-58192A4C6BD8} + HRESULT GetDevice ( LPDIRECT3DDEVICE9* ppDevice ) + HRESULT Begin ( ) + HRESULT Draw ( D3DXVECTOR2* pVertexList, DWORD dwVertexListCount, D3DCOLOR Color ) + HRESULT DrawTransform ( D3DXVECTOR3* pVertexList, + DWORD dwVertexListCount, D3DXMATRIX* pTransform, + D3DCOLOR Color ) + HRESULT SetPattern ( DWORD dwPattern ) + DWORD GetPattern ( ) + HRESULT SetPatternScale ( FLOAT fPatternScale ) + FLOAT GetPatternScale ( ) + HRESULT SetWidth ( FLOAT fWidth ) + FLOAT GetWidth ( ) + HRESULT SetAntialias ( BOOL bAntialias ) + BOOL GetAntialias ( ) + HRESULT SetGLLines ( BOOL bGLLines ) + BOOL GetGLLines ( ) + HRESULT End ( ) + HRESULT OnLostDevice ( ) + HRESULT OnResetDevice ( ) ; + +FUNCTION: HRESULT + D3DXCreateLine ( + LPDIRECT3DDEVICE9 pDevice, + LPD3DXLINE* ppLine ) ; diff --git a/basis/windows/directx/d3dx9core/summary.txt b/basis/windows/directx/d3dx9core/summary.txt new file mode 100644 index 0000000000..c2c4baeb31 --- /dev/null +++ b/basis/windows/directx/d3dx9core/summary.txt @@ -0,0 +1 @@ +DirectX 9 bindings. Corresponds to d3dx9core.h. diff --git a/basis/windows/directx/d3dx9core/tags.txt b/basis/windows/directx/d3dx9core/tags.txt new file mode 100644 index 0000000000..2320bdd648 --- /dev/null +++ b/basis/windows/directx/d3dx9core/tags.txt @@ -0,0 +1,2 @@ +unportable +bindings diff --git a/basis/windows/directx/d3dx9effect/authors.txt b/basis/windows/directx/d3dx9effect/authors.txt new file mode 100644 index 0000000000..6f03a12101 --- /dev/null +++ b/basis/windows/directx/d3dx9effect/authors.txt @@ -0,0 +1 @@ +Erik Charlebois diff --git a/basis/windows/directx/d3dx9effect/d3dx9effect.factor b/basis/windows/directx/d3dx9effect/d3dx9effect.factor new file mode 100644 index 0000000000..e3833362f8 --- /dev/null +++ b/basis/windows/directx/d3dx9effect/d3dx9effect.factor @@ -0,0 +1,369 @@ +USING: alien.syntax classes.struct math windows.com +windows.com.syntax windows.directx.d3d9 +windows.directx.d3d9types windows.directx.d3dx9core +windows.directx.d3dx9math windows.directx.d3dx9shader +windows.types ; +IN: windows.directx.d3dx9effect + +LIBRARY: d3dx9 + +CONSTANT: D3DXFX_DONOTSAVESTATE 1 +CONSTANT: D3DXFX_DONOTSAVESHADERSTATE 2 +CONSTANT: D3DXFX_DONOTSAVESAMPLERSTATE 4 + +: D3DXFX_NOT_CLONEABLE ( -- n ) 1 11 shift ; inline +: D3DXFX_LARGEADDRESSAWARE ( -- n ) 1 17 shift ; inline + +CONSTANT: D3DX_PARAMETER_SHARED 1 +CONSTANT: D3DX_PARAMETER_LITERAL 2 +CONSTANT: D3DX_PARAMETER_ANNOTATION 4 + +STRUCT: D3DXEFFECT_DESC + { Creator LPCSTR } + { Parameters UINT } + { Techniques UINT } + { Functions UINT } ; + +STRUCT: D3DXPARAMETER_DESC + { Name LPCSTR } + { Semantic LPCSTR } + { Class D3DXPARAMETER_CLASS } + { Type D3DXPARAMETER_TYPE } + { Rows UINT } + { Columns UINT } + { Elements UINT } + { Annotations UINT } + { StructMembers UINT } + { Flags DWORD } + { Bytes UINT } ; + +STRUCT: D3DXTECHNIQUE_DESC + { Name LPCSTR } + { Passes UINT } + { Annotations UINT } ; + +STRUCT: D3DXPASS_DESC + { Name LPCSTR } + { Annotations UINT } + { pVertexShaderFunction DWORD* } + { pPixelShaderFunction DWORD* } ; + +STRUCT: D3DXFUNCTION_DESC + { Name LPCSTR } + { Annotations UINT } ; + +C-TYPE: ID3DXEffectPool +TYPEDEF: ID3DXEffectPool* LPD3DXEFFECTPOOL + +COM-INTERFACE: ID3DXEffectPool IUnknown {9537AB04-3250-412e-8213-FCD2F8677933} ; + +C-TYPE: ID3DXBaseEffect +TYPEDEF: ID3DXBaseEffect* LPD3DXBASEEFFECT + +COM-INTERFACE: ID3DXBaseEffect IUnknown {017C18AC-103F-4417-8C51-6BF6EF1E56BE} + HRESULT GetDesc ( D3DXEFFECT_DESC* pDesc ) + HRESULT GetParameterDesc ( D3DXHANDLE hParameter, D3DXPARAMETER_DESC* pDesc ) + HRESULT GetTechniqueDesc ( D3DXHANDLE hTechnique, D3DXTECHNIQUE_DESC* pDesc ) + HRESULT GetPassDesc ( D3DXHANDLE hPass, D3DXPASS_DESC* pDesc ) + HRESULT GetFunctionDesc ( D3DXHANDLE hShader, D3DXFUNCTION_DESC* pDesc ) + D3DXHANDLE GetParameter ( D3DXHANDLE hParameter, UINT Index ) + D3DXHANDLE GetParameterByName ( D3DXHANDLE hParameter, LPCSTR pName ) + D3DXHANDLE GetParameterBySemantic ( D3DXHANDLE hParameter, LPCSTR pSemantic ) + D3DXHANDLE GetParameterElement ( D3DXHANDLE hParameter, UINT Index ) + D3DXHANDLE GetTechnique ( UINT Index ) + D3DXHANDLE GetTechniqueByName ( LPCSTR pName ) + D3DXHANDLE GetPass ( D3DXHANDLE hTechnique, UINT Index ) + D3DXHANDLE GetPassByName ( D3DXHANDLE hTechnique, LPCSTR pName ) + D3DXHANDLE GetFunction ( UINT Index ) + D3DXHANDLE GetFunctionByName ( LPCSTR pName ) + D3DXHANDLE GetAnnotation ( D3DXHANDLE hObject, UINT Index ) + D3DXHANDLE GetAnnotationByName ( D3DXHANDLE hObject, LPCSTR pName ) + HRESULT SetValue ( D3DXHANDLE hParameter, LPCVOID pData, UINT Bytes ) + HRESULT GetValue ( D3DXHANDLE hParameter, LPVOID pData, UINT Bytes ) + HRESULT SetBool ( D3DXHANDLE hParameter, BOOL b ) + HRESULT GetBool ( D3DXHANDLE hParameter, BOOL* pb ) + HRESULT SetBoolArray ( D3DXHANDLE hParameter, BOOL* pb, UINT Count ) + HRESULT GetBoolArray ( D3DXHANDLE hParameter, BOOL* pb, UINT Count ) + HRESULT SetInt ( D3DXHANDLE hParameter, INT n ) + HRESULT GetInt ( D3DXHANDLE hParameter, INT* pn ) + HRESULT SetIntArray ( D3DXHANDLE hParameter, INT* pn, UINT Count ) + HRESULT GetIntArray ( D3DXHANDLE hParameter, INT* pn, UINT Count ) + HRESULT SetFloat ( D3DXHANDLE hParameter, FLOAT f ) + HRESULT GetFloat ( D3DXHANDLE hParameter, FLOAT* pf ) + HRESULT SetFloatArray ( D3DXHANDLE hParameter, FLOAT* pf, UINT Count ) + HRESULT GetFloatArray ( D3DXHANDLE hParameter, FLOAT* pf, UINT Count ) + HRESULT SetVector ( D3DXHANDLE hParameter, D3DXVECTOR4* pVector ) + HRESULT GetVector ( D3DXHANDLE hParameter, D3DXVECTOR4* pVector ) + HRESULT SetVectorArray ( D3DXHANDLE hParameter, D3DXVECTOR4* pVector, UINT Count ) + HRESULT GetVectorArray ( D3DXHANDLE hParameter, D3DXVECTOR4* pVector, UINT Count ) + HRESULT SetMatrix ( D3DXHANDLE hParameter, D3DXMATRIX* pMatrix ) + HRESULT GetMatrix ( D3DXHANDLE hParameter, D3DXMATRIX* pMatrix ) + HRESULT SetMatrixArray ( D3DXHANDLE hParameter, D3DXMATRIX* pMatrix, UINT Count ) + HRESULT GetMatrixArray ( D3DXHANDLE hParameter, D3DXMATRIX* pMatrix, UINT Count ) + HRESULT SetMatrixPointerArray ( D3DXHANDLE hParameter, D3DXMATRIX** ppMatrix, UINT Count ) + HRESULT GetMatrixPointerArray ( D3DXHANDLE hParameter, D3DXMATRIX** ppMatrix, UINT Count ) + HRESULT SetMatrixTranspose ( D3DXHANDLE hParameter, D3DXMATRIX* pMatrix ) + HRESULT GetMatrixTranspose ( D3DXHANDLE hParameter, D3DXMATRIX* pMatrix ) + HRESULT SetMatrixTransposeArray ( D3DXHANDLE hParameter, D3DXMATRIX* pMatrix, UINT Count ) + HRESULT GetMatrixTransposeArray ( D3DXHANDLE hParameter, D3DXMATRIX* pMatrix, UINT Count ) + HRESULT SetMatrixTransposePointerArray ( D3DXHANDLE hParameter, D3DXMATRIX** ppMatrix, UINT Count ) + HRESULT GetMatrixTransposePointerArray ( D3DXHANDLE hParameter, D3DXMATRIX** ppMatrix, UINT Count ) + HRESULT SetString ( D3DXHANDLE hParameter, LPCSTR pString ) + HRESULT GetString ( D3DXHANDLE hParameter, LPCSTR* ppString ) + HRESULT SetTexture ( D3DXHANDLE hParameter, LPDIRECT3DBASETEXTURE9 pTexture ) + HRESULT GetTexture ( D3DXHANDLE hParameter, LPDIRECT3DBASETEXTURE9* ppTexture ) + HRESULT GetPixelShader ( D3DXHANDLE hParameter, LPDIRECT3DPIXELSHADER9* ppPShader ) + HRESULT GetVertexShader ( D3DXHANDLE hParameter, LPDIRECT3DVERTEXSHADER9* ppVShader ) + HRESULT SetArrayRange ( D3DXHANDLE hParameter, UINT uStart, UINT uEnd ) ; + +C-TYPE: ID3DXEffectStateManager +TYPEDEF: ID3DXEffectStateManager* LPD3DXEFFECTSTATEMANAGER + +COM-INTERFACE: ID3DXEffectStateManager IUnknown {79AAB587-6DBC-4fa7-82DE-37FA1781C5CE} + HRESULT SetTransform ( D3DTRANSFORMSTATETYPE State, D3DMATRIX* pMatrix ) + HRESULT SetMaterial ( D3DMATERIAL9* pMaterial ) + HRESULT SetLight ( DWORD Index, D3DLIGHT9* pLight ) + HRESULT LightEnable ( DWORD Index, BOOL Enable ) + HRESULT SetRenderState ( D3DRENDERSTATETYPE State, DWORD Value ) + HRESULT SetTexture ( DWORD Stage, LPDIRECT3DBASETEXTURE9 pTexture ) + HRESULT SetTextureStageState ( DWORD Stage, D3DTEXTURESTAGESTATETYPE Type, DWORD Value ) + HRESULT SetSamplerState ( DWORD Sampler, D3DSAMPLERSTATETYPE Type, DWORD Value ) + HRESULT SetNPatchMode ( FLOAT NumSegments ) + HRESULT SetFVF ( DWORD FVF ) + HRESULT SetVertexShader ( LPDIRECT3DVERTEXSHADER9 pShader ) + HRESULT SetVertexShaderConstantF ( UINT RegisterIndex, FLOAT* pConstantData, UINT RegisterCount ) + HRESULT SetVertexShaderConstantI ( UINT RegisterIndex, INT* pConstantData, UINT RegisterCount ) + HRESULT SetVertexShaderConstantB ( UINT RegisterIndex, BOOL* pConstantData, UINT RegisterCount ) + HRESULT SetPixelShader ( LPDIRECT3DPIXELSHADER9 pShader ) + HRESULT SetPixelShaderConstantF ( UINT RegisterIndex, FLOAT* pConstantData, UINT RegisterCount ) + HRESULT SetPixelShaderConstantI ( UINT RegisterIndex, INT* pConstantData, UINT RegisterCount ) + HRESULT SetPixelShaderConstantB ( UINT RegisterIndex, BOOL* pConstantData, UINT RegisterCount ) ; + +C-TYPE: ID3DXEffect +TYPEDEF: ID3DXEffect* LPD3DXEFFECT + +COM-INTERFACE: ID3DXEffect ID3DXBaseEffect {F6CEB4B3-4E4C-40dd-B883-8D8DE5EA0CD5} + HRESULT GetPool ( LPD3DXEFFECTPOOL* ppPool ) + HRESULT SetTechnique ( D3DXHANDLE hTechnique ) + D3DXHANDLE GetCurrentTechnique ( ) + HRESULT ValidateTechnique ( D3DXHANDLE hTechnique ) + HRESULT FindNextValidTechnique ( D3DXHANDLE hTechnique, D3DXHANDLE* pTechnique ) + BOOL IsParameterUsed ( D3DXHANDLE hParameter, D3DXHANDLE hTechnique ) + HRESULT Begin ( UINT* pPasses, DWORD Flags ) + HRESULT BeginPass ( UINT Pass ) + HRESULT CommitChanges ( ) + HRESULT EndPass ( ) + HRESULT End ( ) + HRESULT GetDevice ( LPDIRECT3DDEVICE9* ppDevice ) + HRESULT OnLostDevice ( ) + HRESULT OnResetDevice ( ) + HRESULT SetStateManager ( LPD3DXEFFECTSTATEMANAGER pManager ) + HRESULT GetStateManager ( LPD3DXEFFECTSTATEMANAGER* ppManager ) + HRESULT BeginParameterBlock ( ) + D3DXHANDLE EndParameterBlock ( ) + HRESULT ApplyParameterBlock ( D3DXHANDLE hParameterBlock ) + HRESULT DeleteParameterBlock ( D3DXHANDLE hParameterBlock ) + HRESULT CloneEffect ( LPDIRECT3DDEVICE9 pDevice, LPD3DXEFFECT* ppEffect ) + HRESULT SetRawValue ( D3DXHANDLE hParameter, LPCVOID pData, UINT ByteOffset, UINT Bytes ) ; + +C-TYPE: ID3DXEffectCompiler +TYPEDEF: ID3DXEffectCompiler* LPD3DXEFFECTCOMPILER + +COM-INTERFACE: ID3DXEffectCompiler ID3DXBaseEffect {51B8A949-1A31-47e6-BEA0-4B30DB53F1E0} + HRESULT SetLiteral ( D3DXHANDLE hParameter, BOOL Literal ) + HRESULT GetLiteral ( D3DXHANDLE hParameter, BOOL* pLiteral ) + HRESULT CompileEffect ( DWORD Flags, LPD3DXBUFFER* ppEffect, LPD3DXBUFFER* ppErrorMsgs ) + HRESULT CompileShader ( D3DXHANDLE hFunction, LPCSTR pTarget, DWORD Flags, + LPD3DXBUFFER* ppShader, LPD3DXBUFFER* ppErrorMsgs, + LPD3DXCONSTANTTABLE* ppConstantTable ) ; + +FUNCTION: HRESULT + D3DXCreateEffectPool ( LPD3DXEFFECTPOOL* ppPool ) ; + +FUNCTION: HRESULT + D3DXCreateEffectFromFileA ( + LPDIRECT3DDEVICE9 pDevice, + LPCSTR pSrcFile, + D3DXMACRO* pDefines, + LPD3DXINCLUDE pInclude, + DWORD Flags, + LPD3DXEFFECTPOOL pPool, + LPD3DXEFFECT* ppEffect, + LPD3DXBUFFER* ppCompilationErrors ) ; + +FUNCTION: HRESULT + D3DXCreateEffectFromFileW ( + LPDIRECT3DDEVICE9 pDevice, + LPCWSTR pSrcFile, + D3DXMACRO* pDefines, + LPD3DXINCLUDE pInclude, + DWORD Flags, + LPD3DXEFFECTPOOL pPool, + LPD3DXEFFECT* ppEffect, + LPD3DXBUFFER* ppCompilationErrors ) ; + +ALIAS: D3DXCreateEffectFromFile D3DXCreateEffectFromFileW + +FUNCTION: HRESULT + D3DXCreateEffectFromResourceA ( + LPDIRECT3DDEVICE9 pDevice, + HMODULE hSrcModule, + LPCSTR pSrcResource, + D3DXMACRO* pDefines, + LPD3DXINCLUDE pInclude, + DWORD Flags, + LPD3DXEFFECTPOOL pPool, + LPD3DXEFFECT* ppEffect, + LPD3DXBUFFER* ppCompilationErrors ) ; + +FUNCTION: HRESULT + D3DXCreateEffectFromResourceW ( + LPDIRECT3DDEVICE9 pDevice, + HMODULE hSrcModule, + LPCWSTR pSrcResource, + D3DXMACRO* pDefines, + LPD3DXINCLUDE pInclude, + DWORD Flags, + LPD3DXEFFECTPOOL pPool, + LPD3DXEFFECT* ppEffect, + LPD3DXBUFFER* ppCompilationErrors ) ; + +ALIAS: D3DXCreateEffectFromResource D3DXCreateEffectFromResourceW + +FUNCTION: HRESULT + D3DXCreateEffect ( + LPDIRECT3DDEVICE9 pDevice, + LPCVOID pSrcData, + UINT SrcDataLen, + D3DXMACRO* pDefines, + LPD3DXINCLUDE pInclude, + DWORD Flags, + LPD3DXEFFECTPOOL pPool, + LPD3DXEFFECT* ppEffect, + LPD3DXBUFFER* ppCompilationErrors ) ; + +FUNCTION: HRESULT + D3DXCreateEffectFromFileExA ( + LPDIRECT3DDEVICE9 pDevice, + LPCSTR pSrcFile, + D3DXMACRO* pDefines, + LPD3DXINCLUDE pInclude, + LPCSTR pSkipConstants, + DWORD Flags, + LPD3DXEFFECTPOOL pPool, + LPD3DXEFFECT* ppEffect, + LPD3DXBUFFER* ppCompilationErrors ) ; + +FUNCTION: HRESULT + D3DXCreateEffectFromFileExW ( + LPDIRECT3DDEVICE9 pDevice, + LPCWSTR pSrcFile, + D3DXMACRO* pDefines, + LPD3DXINCLUDE pInclude, + LPCSTR pSkipConstants, + DWORD Flags, + LPD3DXEFFECTPOOL pPool, + LPD3DXEFFECT* ppEffect, + LPD3DXBUFFER* ppCompilationErrors ) ; + +ALIAS: D3DXCreateEffectFromFileEx D3DXCreateEffectFromFileExW + +FUNCTION: HRESULT + D3DXCreateEffectFromResourceExA ( + LPDIRECT3DDEVICE9 pDevice, + HMODULE hSrcModule, + LPCSTR pSrcResource, + D3DXMACRO* pDefines, + LPD3DXINCLUDE pInclude, + LPCSTR pSkipConstants, + DWORD Flags, + LPD3DXEFFECTPOOL pPool, + LPD3DXEFFECT* ppEffect, + LPD3DXBUFFER* ppCompilationErrors ) ; + +FUNCTION: HRESULT + D3DXCreateEffectFromResourceExW ( + LPDIRECT3DDEVICE9 pDevice, + HMODULE hSrcModule, + LPCWSTR pSrcResource, + D3DXMACRO* pDefines, + LPD3DXINCLUDE pInclude, + LPCSTR pSkipConstants, + DWORD Flags, + LPD3DXEFFECTPOOL pPool, + LPD3DXEFFECT* ppEffect, + LPD3DXBUFFER* ppCompilationErrors ) ; + +ALIAS: D3DXCreateEffectFromResourceEx D3DXCreateEffectFromResourceExW + +FUNCTION: HRESULT + D3DXCreateEffectEx ( + LPDIRECT3DDEVICE9 pDevice, + LPCVOID pSrcData, + UINT SrcDataLen, + D3DXMACRO* pDefines, + LPD3DXINCLUDE pInclude, + LPCSTR pSkipConstants, + DWORD Flags, + LPD3DXEFFECTPOOL pPool, + LPD3DXEFFECT* ppEffect, + LPD3DXBUFFER* ppCompilationErrors ) ; + +FUNCTION: HRESULT + D3DXCreateEffectCompilerFromFileA ( + LPCSTR pSrcFile, + D3DXMACRO* pDefines, + LPD3DXINCLUDE pInclude, + DWORD Flags, + LPD3DXEFFECTCOMPILER* ppCompiler, + LPD3DXBUFFER* ppParseErrors ) ; + +FUNCTION: HRESULT + D3DXCreateEffectCompilerFromFileW ( + LPCWSTR pSrcFile, + D3DXMACRO* pDefines, + LPD3DXINCLUDE pInclude, + DWORD Flags, + LPD3DXEFFECTCOMPILER* ppCompiler, + LPD3DXBUFFER* ppParseErrors ) ; + +ALIAS: D3DXCreateEffectCompilerFromFile D3DXCreateEffectCompilerFromFileW + +FUNCTION: HRESULT + D3DXCreateEffectCompilerFromResourceA ( + HMODULE hSrcModule, + LPCSTR pSrcResource, + D3DXMACRO* pDefines, + LPD3DXINCLUDE pInclude, + DWORD Flags, + LPD3DXEFFECTCOMPILER* ppCompiler, + LPD3DXBUFFER* ppParseErrors ) ; + +FUNCTION: HRESULT + D3DXCreateEffectCompilerFromResourceW ( + HMODULE hSrcModule, + LPCWSTR pSrcResource, + D3DXMACRO* pDefines, + LPD3DXINCLUDE pInclude, + DWORD Flags, + LPD3DXEFFECTCOMPILER* ppCompiler, + LPD3DXBUFFER* ppParseErrors ) ; + +ALIAS: D3DXCreateEffectCompilerFromResource D3DXCreateEffectCompilerFromResourceW + +FUNCTION: HRESULT + D3DXCreateEffectCompiler ( + LPCSTR pSrcData, + UINT SrcDataLen, + D3DXMACRO* pDefines, + LPD3DXINCLUDE pInclude, + DWORD Flags, + LPD3DXEFFECTCOMPILER* ppCompiler, + LPD3DXBUFFER* ppParseErrors ) ; + +FUNCTION: HRESULT + D3DXDisassembleEffect ( + LPD3DXEFFECT pEffect, + BOOL EnableColorCode, + LPD3DXBUFFER* ppDisassembly ) ; + diff --git a/basis/windows/directx/d3dx9effect/summary.txt b/basis/windows/directx/d3dx9effect/summary.txt new file mode 100644 index 0000000000..dc32407054 --- /dev/null +++ b/basis/windows/directx/d3dx9effect/summary.txt @@ -0,0 +1 @@ +DirectX 9 bindings. Corresponds to d3dx9effect.h. diff --git a/basis/windows/directx/d3dx9effect/tags.txt b/basis/windows/directx/d3dx9effect/tags.txt new file mode 100644 index 0000000000..2320bdd648 --- /dev/null +++ b/basis/windows/directx/d3dx9effect/tags.txt @@ -0,0 +1,2 @@ +unportable +bindings diff --git a/basis/windows/directx/d3dx9math/authors.txt b/basis/windows/directx/d3dx9math/authors.txt new file mode 100644 index 0000000000..6f03a12101 --- /dev/null +++ b/basis/windows/directx/d3dx9math/authors.txt @@ -0,0 +1 @@ +Erik Charlebois diff --git a/basis/windows/directx/d3dx9math/d3dx9math.factor b/basis/windows/directx/d3dx9math/d3dx9math.factor new file mode 100644 index 0000000000..6d37af514c --- /dev/null +++ b/basis/windows/directx/d3dx9math/d3dx9math.factor @@ -0,0 +1,160 @@ +USING: math classes.struct windows.types alien.syntax windows.directx.d3d9types +windows.com.syntax windows.com windows.directx.d3d9 ; +IN: windows.directx.d3dx9math + +LIBRARY: d3dx9 + +CONSTANT: D3DX_PI 3.141592654 +CONSTANT: D3DX_1BYPI 0.318309886 + +: D3DXToRadian ( degree -- radian ) D3DX_PI 180.0 / * ; inline +: D3DXToDegree ( radian -- degree ) 180.0 D3DX_PI / * ; inline + +CONSTANT: D3DX_16F_DIG 3 +CONSTANT: D3DX_16F_EPSILON 4.8875809e-4 +CONSTANT: D3DX_16F_MANT_DIG 11 +CONSTANT: D3DX_16F_MAX 6.550400e+004 +CONSTANT: D3DX_16F_MAX_10_EXP 4 +CONSTANT: D3DX_16F_MAX_EXP 15 +CONSTANT: D3DX_16F_MIN 6.1035156e-5 +CONSTANT: D3DX_16F_MIN_10_EXP -4 +CONSTANT: D3DX_16F_MIN_EXP -14 +CONSTANT: D3DX_16F_RADIX 2 +CONSTANT: D3DX_16F_ROUNDS 1 + +STRUCT: D3DXFLOAT16 + { value WORD } ; +TYPEDEF: D3DXFLOAT16* LPD3DXFLOAT16 + +STRUCT: D3DXVECTOR2 + { x FLOAT } + { y FLOAT } ; +TYPEDEF: D3DXVECTOR2* LPD3DXVECTOR2 + +STRUCT: D3DXVECTOR2_16F + { x D3DXFLOAT16 } + { y D3DXFLOAT16 } ; +TYPEDEF: D3DXVECTOR2_16F* LPD3DXVECTOR2_16F + +TYPEDEF: D3DVECTOR D3DXVECTOR3 +TYPEDEF: D3DXVECTOR3* LPD3DXVECTOR3 + +STRUCT: D3DXVECTOR3_16F + { x D3DXFLOAT16 } + { y D3DXFLOAT16 } + { z D3DXFLOAT16 } ; +TYPEDEF: D3DXVECTOR3_16F* LPD3DXVECTOR3_16F + +STRUCT: D3DXVECTOR4 + { x FLOAT } + { y FLOAT } + { z FLOAT } + { w FLOAT } ; +TYPEDEF: D3DXVECTOR4* LPD3DXVECTOR4 + +STRUCT: D3DXVECTOR4_16F + { x D3DXFLOAT16 } + { y D3DXFLOAT16 } + { z D3DXFLOAT16 } + { w D3DXFLOAT16 } ; +TYPEDEF: D3DXVECTOR4_16F* LPD3DXVECTOR4_16F + +TYPEDEF: D3DMATRIX D3DXMATRIX +TYPEDEF: D3DXMATRIX* LPD3DXMATRIX +TYPEDEF: D3DXMATRIX D3DXMATRIXA16 +TYPEDEF: D3DXMATRIXA16* LPD3DXMATRIXA16 + +STRUCT: D3DXQUATERNION + { x FLOAT } + { y FLOAT } + { z FLOAT } + { w FLOAT } ; +TYPEDEF: D3DXQUATERNION* LPD3DXQUATERNION + +STRUCT: D3DXPLANE + { a FLOAT } + { b FLOAT } + { c FLOAT } + { d FLOAT } ; +TYPEDEF: D3DXPLANE* LPD3DXPLANE + +STRUCT: D3DXCOLOR + { r FLOAT } + { g FLOAT } + { b FLOAT } + { a FLOAT } ; +TYPEDEF: D3DXCOLOR* LPD3DXCOLOR + +C-TYPE: ID3DXMatrixStack +TYPEDEF: ID3DXMatrixStack* LPD3DXMATRIXSTACK + +COM-INTERFACE: ID3DXMatrixStack IUnknown {C7885BA7-F990-4fe7-922D-8515E477DD85} + HRESULT Pop ( ) + HRESULT Push ( ) + HRESULT LoadIdentity ( ) + HRESULT LoadMatrix ( D3DXMATRIX* pM ) + HRESULT MultMatrix ( D3DXMATRIX* pM ) + HRESULT MultMatrixLocal ( D3DXMATRIX* pM ) + HRESULT RotateAxis ( D3DXVECTOR3* pV, FLOAT Angle ) + HRESULT RotateAxisLocal ( D3DXVECTOR3* pV, FLOAT Angle ) + HRESULT RotateYawPitchRoll ( FLOAT Yaw, FLOAT Pitch, FLOAT Roll ) + HRESULT RotateYawPitchRollLocal ( FLOAT Yaw, FLOAT Pitch, FLOAT Roll ) + HRESULT Scale ( FLOAT x, FLOAT y, FLOAT z ) + HRESULT ScaleLocal ( FLOAT x, FLOAT y, FLOAT z ) + HRESULT Translate ( FLOAT x, FLOAT y, FLOAT z ) + HRESULT TranslateLocal ( FLOAT x, FLOAT y, FLOAT z ) + D3DXMATRIX* GetTop ( ) ; + +FUNCTION: HRESULT D3DXCreateMatrixStack ( + DWORD Flags, + LPD3DXMATRIXSTACK* ppStack ) ; + +CONSTANT: D3DXSH_MINORDER 2 +CONSTANT: D3DXSH_MAXORDER 6 + +FUNCTION: FLOAT* D3DXSHEvalDirection + ( FLOAT* Out, UINT Order, D3DXVECTOR3 *pDir ) ; + +FUNCTION: FLOAT* D3DXSHRotate + ( FLOAT* Out, UINT Order, D3DXMATRIX *pMatrix, FLOAT* In ) ; + +FUNCTION: FLOAT* D3DXSHRotateZ + ( FLOAT* Out, UINT Order, FLOAT Angle, FLOAT* In ) ; + +FUNCTION: FLOAT* D3DXSHAdd + ( FLOAT* Out, UINT Order, FLOAT* A, FLOAT* B ) ; + +FUNCTION: FLOAT* D3DXSHScale + ( FLOAT* Out, UINT Order, FLOAT* In, FLOAT Scale ) ; + +FUNCTION: FLOAT WINAPI ( UINT Order, FLOAT* A, FLOAT* B ) ; + +FUNCTION: FLOAT* D3DXSHMultiply2 ( FLOAT* Out, FLOAT* F, FLOAT* G ) ; +FUNCTION: FLOAT* D3DXSHMultiply3 ( FLOAT* Out, FLOAT* F, FLOAT* G ) ; +FUNCTION: FLOAT* D3DXSHMultiply4 ( FLOAT* Out, FLOAT* F, FLOAT* G ) ; +FUNCTION: FLOAT* D3DXSHMultiply5 ( FLOAT* Out, FLOAT* F, FLOAT* G ) ; +FUNCTION: FLOAT* D3DXSHMultiply6 ( FLOAT* Out, FLOAT* F, FLOAT* G ) ; + +FUNCTION: HRESULT D3DXSHEvalDirectionalLight + ( UINT Order, D3DXVECTOR3* pDir, + FLOAT RIntensity, FLOAT GIntensity, FLOAT BIntensity, + FLOAT* ROut, FLOAT* GOut, FLOAT* BOut ) ; + +FUNCTION: HRESULT D3DXSHEvalSphericalLight + ( UINT Order, D3DXVECTOR3* pPos, FLOAT Radius, + FLOAT RIntensity, FLOAT GIntensity, FLOAT BIntensity, + FLOAT* ROut, FLOAT* GOut, FLOAT* BOut ) ; + +FUNCTION: HRESULT D3DXSHEvalConeLight + ( UINT Order, D3DXVECTOR3* pDir, FLOAT Radius, + FLOAT RIntensity, FLOAT GIntensity, FLOAT BIntensity, + FLOAT* ROut, FLOAT* GOut, FLOAT* BOut ) ; + +FUNCTION: HRESULT D3DXSHEvalHemisphereLight + ( UINT Order, D3DXVECTOR3* pDir, D3DXCOLOR Top, D3DXCOLOR Bottom, + FLOAT* ROut, FLOAT* GOut, FLOAT* BOut ) ; + +FUNCTION: HRESULT D3DXSHProjectCubeMap + ( UINT uOrder, LPDIRECT3DCUBETEXTURE9 pCubeMap, + FLOAT* ROut, FLOAT* GOut, FLOAT* BOut ) ; + diff --git a/basis/windows/directx/d3dx9math/summary.txt b/basis/windows/directx/d3dx9math/summary.txt new file mode 100644 index 0000000000..06c58bac92 --- /dev/null +++ b/basis/windows/directx/d3dx9math/summary.txt @@ -0,0 +1 @@ +DirectX 9 bindings. Corresponds to d3dx9math.h. diff --git a/basis/windows/directx/d3dx9math/tags.txt b/basis/windows/directx/d3dx9math/tags.txt new file mode 100644 index 0000000000..2320bdd648 --- /dev/null +++ b/basis/windows/directx/d3dx9math/tags.txt @@ -0,0 +1,2 @@ +unportable +bindings diff --git a/basis/windows/directx/d3dx9mesh/authors.txt b/basis/windows/directx/d3dx9mesh/authors.txt new file mode 100644 index 0000000000..6f03a12101 --- /dev/null +++ b/basis/windows/directx/d3dx9mesh/authors.txt @@ -0,0 +1 @@ +Erik Charlebois diff --git a/basis/windows/directx/d3dx9mesh/d3dx9mesh.factor b/basis/windows/directx/d3dx9mesh/d3dx9mesh.factor new file mode 100644 index 0000000000..e4cb3dd63b --- /dev/null +++ b/basis/windows/directx/d3dx9mesh/d3dx9mesh.factor @@ -0,0 +1,1220 @@ +USING: alien.syntax alien.c-types windows.directx.d3d9types math +classes.struct windows.types windows.com.syntax windows.com +windows.directx.d3d9 windows.directx.d3dx9core windows.directx.d3dx9math +windows.directx.d3dx9xof ; +IN: windows.directx.d3dx9mesh + +LIBRARY: d3dx9 + +TYPEDEF: int D3DXPATCHMESHTYPE +CONSTANT: D3DXPATCHMESH_RECT 1 +CONSTANT: D3DXPATCHMESH_TRI 2 +CONSTANT: D3DXPATCHMESH_NPATCH 3 +CONSTANT: D3DXPATCHMESH_FORCE_DWORD HEX: 7fffffff + +TYPEDEF: int D3DXMESH +CONSTANT: D3DXMESH_32BIT HEX: 001 +CONSTANT: D3DXMESH_DONOTCLIP HEX: 002 +CONSTANT: D3DXMESH_POINTS HEX: 004 +CONSTANT: D3DXMESH_RTPATCHES HEX: 008 +CONSTANT: D3DXMESH_NPATCHES HEX: 4000 +CONSTANT: D3DXMESH_VB_SYSTEMMEM HEX: 010 +CONSTANT: D3DXMESH_VB_MANAGED HEX: 020 +CONSTANT: D3DXMESH_VB_WRITEONLY HEX: 040 +CONSTANT: D3DXMESH_VB_DYNAMIC HEX: 080 +CONSTANT: D3DXMESH_VB_SOFTWAREPROCESSING HEX: 8000 +CONSTANT: D3DXMESH_IB_SYSTEMMEM HEX: 100 +CONSTANT: D3DXMESH_IB_MANAGED HEX: 200 +CONSTANT: D3DXMESH_IB_WRITEONLY HEX: 400 +CONSTANT: D3DXMESH_IB_DYNAMIC HEX: 800 +CONSTANT: D3DXMESH_IB_SOFTWAREPROCESSING HEX: 10000 +CONSTANT: D3DXMESH_VB_SHARE HEX: 1000 +CONSTANT: D3DXMESH_USEHWONLY HEX: 2000 +CONSTANT: D3DXMESH_SYSTEMMEM HEX: 110 +CONSTANT: D3DXMESH_MANAGED HEX: 220 +CONSTANT: D3DXMESH_WRITEONLY HEX: 440 +CONSTANT: D3DXMESH_DYNAMIC HEX: 880 +CONSTANT: D3DXMESH_SOFTWAREPROCESSING HEX: 18000 + +TYPEDEF: int D3DXPATCHMESH +CONSTANT: D3DXPATCHMESH_DEFAULT 0 + +TYPEDEF: int D3DXMESHSIMP +CONSTANT: D3DXMESHSIMP_VERTEX 1 +CONSTANT: D3DXMESHSIMP_FACE 2 + +TYPEDEF: int D3DXCLEANTYPE +CONSTANT: D3DXCLEAN_BACKFACING 1 +CONSTANT: D3DXCLEAN_BOWTIES 2 +CONSTANT: D3DXCLEAN_SKINNING 1 +CONSTANT: D3DXCLEAN_OPTIMIZATION 1 +CONSTANT: D3DXCLEAN_SIMPLIFICATION 3 + +: MAX_FVF_DECL_SIZE ( -- n ) MAXD3DDECLLENGTH 1 + ; inline + +TYPEDEF: int D3DXTANGENT +CONSTANT: D3DXTANGENT_WRAP_U HEX: 01 +CONSTANT: D3DXTANGENT_WRAP_V HEX: 02 +CONSTANT: D3DXTANGENT_WRAP_UV HEX: 03 +CONSTANT: D3DXTANGENT_DONT_NORMALIZE_PARTIALS HEX: 04 +CONSTANT: D3DXTANGENT_DONT_ORTHOGONALIZE HEX: 08 +CONSTANT: D3DXTANGENT_ORTHOGONALIZE_FROM_V HEX: 010 +CONSTANT: D3DXTANGENT_ORTHOGONALIZE_FROM_U HEX: 020 +CONSTANT: D3DXTANGENT_WEIGHT_BY_AREA HEX: 040 +CONSTANT: D3DXTANGENT_WEIGHT_EQUAL HEX: 080 +CONSTANT: D3DXTANGENT_WIND_CW HEX: 0100 +CONSTANT: D3DXTANGENT_CALCULATE_NORMALS HEX: 0200 +CONSTANT: D3DXTANGENT_GENERATE_IN_PLACE HEX: 0400 + +TYPEDEF: int D3DXIMT +CONSTANT: D3DXIMT_WRAP_U HEX: 01 +CONSTANT: D3DXIMT_WRAP_V HEX: 02 +CONSTANT: D3DXIMT_WRAP_UV HEX: 03 + +TYPEDEF: int D3DXUVATLAS +CONSTANT: D3DXUVATLAS_DEFAULT HEX: 00 +CONSTANT: D3DXUVATLAS_GEODESIC_FAST HEX: 01 +CONSTANT: D3DXUVATLAS_GEODESIC_QUALITY HEX: 02 + +C-TYPE: ID3DXBaseMesh +TYPEDEF: ID3DXBaseMesh* LPD3DXBASEMESH +C-TYPE: ID3DXMesh +TYPEDEF: ID3DXMesh* LPD3DXMESH +C-TYPE: ID3DXPMesh +TYPEDEF: ID3DXPMesh* LPD3DXPMESH +C-TYPE: ID3DXSPMesh +TYPEDEF: ID3DXSPMesh* LPD3DXSPMESH +C-TYPE: ID3DXSkinInfo +TYPEDEF: ID3DXSkinInfo* LPD3DXSKININFO +C-TYPE: ID3DXPatchMesh +TYPEDEF: ID3DXPatchMesh* LPD3DXPATCHMESH +C-TYPE: ID3DXTextureGutterHelper +TYPEDEF: ID3DXTextureGutterHelper* LPD3DXTEXTUREGUTTERHELPER +C-TYPE: ID3DXPRTBuffer +TYPEDEF: ID3DXPRTBuffer* LPD3DXPRTBUFFER + +STRUCT: D3DXATTRIBUTERANGE + { AttribId DWORD } + { FaceStart DWORD } + { FaceCount DWORD } + { VertexStart DWORD } + { VertexCount DWORD } ; +TYPEDEF: D3DXATTRIBUTERANGE* LPD3DXATTRIBUTERANGE + +STRUCT: D3DXMATERIAL + { MatD3D D3DMATERIAL9 } + { pTextureFilename LPSTR } ; +TYPEDEF: D3DXMATERIAL* LPD3DXMATERIAL + +TYPEDEF: int D3DXEFFECTDEFAULTTYPE +CONSTANT: D3DXEDT_STRING HEX: 1 +CONSTANT: D3DXEDT_FLOATS HEX: 2 +CONSTANT: D3DXEDT_DWORD HEX: 3 +CONSTANT: D3DXEDT_FORCEDWORD HEX: 7fffffff + +STRUCT: D3DXEFFECTDEFAULT + { pParamName LPSTR } + { Type D3DXEFFECTDEFAULTTYPE } + { NumBytes DWORD } + { pValue LPVOID } ; +TYPEDEF: D3DXEFFECTDEFAULT* LPD3DXEFFECTDEFAULT + +STRUCT: D3DXEFFECTINSTANCE + { pEffectFilename LPSTR } + { NumDefaults DWORD } + { pDefaults LPD3DXEFFECTDEFAULT } ; +TYPEDEF: D3DXEFFECTINSTANCE* LPD3DXEFFECTINSTANCE + +STRUCT: D3DXATTRIBUTEWEIGHTS + { Position FLOAT } + { Boundary FLOAT } + { Normal FLOAT } + { Diffuse FLOAT } + { Specular FLOAT } + { Texcoord FLOAT[8] } + { Tangent FLOAT } + { Binormal FLOAT } ; +TYPEDEF: D3DXATTRIBUTEWEIGHTS* LPD3DXATTRIBUTEWEIGHTS + +CONSTANT: D3DXWELDEPSILONS_WELDALL HEX: 1 +CONSTANT: D3DXWELDEPSILONS_WELDPARTIALMATCHES HEX: 2 +CONSTANT: D3DXWELDEPSILONS_DONOTREMOVEVERTICES HEX: 4 +CONSTANT: D3DXWELDEPSILONS_DONOTSPLIT HEX: 8 + +STRUCT: D3DXWELDEPSILONS + { Position FLOAT } + { BlendWeights FLOAT } + { Normal FLOAT } + { PSize FLOAT } + { Specular FLOAT } + { Diffuse FLOAT } + { Texcoord FLOAT[8] } + { Tangent FLOAT } + { Binormal FLOAT } + { TessFactor FLOAT } ; +TYPEDEF: D3DXWELDEPSILONS* LPD3DXWELDEPSILONS + +COM-INTERFACE: ID3DXBaseMesh IUnknown {7ED943DD-52E8-40b5-A8D8-76685C406330} + HRESULT DrawSubset ( DWORD AttribId ) + DWORD GetNumFaces ( ) + DWORD GetNumVertices ( ) + DWORD GetFVF ( ) + HRESULT GetDeclaration ( D3DVERTEXELEMENT9* Declaration ) + DWORD GetNumBytesPerVertex ( ) + DWORD GetOptions ( ) + HRESULT GetDevice ( LPDIRECT3DDEVICE9* ppDevice ) + HRESULT CloneMeshFVF ( DWORD Options, DWORD FVF, LPDIRECT3DDEVICE9 pD3DDevice, LPD3DXMESH* ppCloneMesh ) + HRESULT CloneMesh ( DWORD Options, D3DVERTEXELEMENT9* pDeclaration, LPDIRECT3DDEVICE9 pD3DDevice, LPD3DXMESH* ppCloneMesh ) + HRESULT GetVertexBuffer ( LPDIRECT3DVERTEXBUFFER9* ppVB ) + HRESULT GetIndexBuffer ( LPDIRECT3DINDEXBUFFER9* ppIB ) + HRESULT LockVertexBuffer ( DWORD Flags, LPVOID* ppData ) + HRESULT UnlockVertexBuffer ( ) + HRESULT LockIndexBuffer ( DWORD Flags, LPVOID* ppData ) + HRESULT UnlockIndexBuffer ( ) + HRESULT GetAttributeTable ( D3DXATTRIBUTERANGE* pAttribTable, DWORD* pAttribTableSize ) + HRESULT ConvertPointRepsToAdjacency ( DWORD* pPRep, DWORD* pAdjacency ) + HRESULT ConvertAdjacencyToPointReps ( DWORD* pAdjacency, DWORD* pPRep ) + HRESULT GenerateAdjacency ( FLOAT Epsilon, DWORD* pAdjacency ) + HRESULT UpdateSemantics ( D3DVERTEXELEMENT9* Declaration ) ; + +C-TYPE: IStream + +COM-INTERFACE: ID3DXMesh ID3DXBaseMesh {4020E5C2-1403-4929-883F-E2E849FAC195} + HRESULT LockAttributeBuffer ( DWORD Flags, DWORD** ppData ) + HRESULT UnlockAttributeBuffer ( ) + HRESULT Optimize ( DWORD Flags, DWORD* pAdjacencyIn, DWORD* pAdjacencyOut, + DWORD* pFaceRemap, LPD3DXBUFFER* ppVertexRemap, + LPD3DXMESH* ppOptMesh ) + HRESULT OptimizeInplace ( DWORD Flags, DWORD* pAdjacencyIn, DWORD* pAdjacencyOut, + DWORD* pFaceRemap, LPD3DXBUFFER* ppVertexRemap ) + HRESULT SetAttributeTable ( D3DXATTRIBUTERANGE* pAttribTable, DWORD cAttribTableSize ) ; + +COM-INTERFACE: ID3DXPMesh ID3DXBaseMesh {8875769A-D579-4088-AAEB-534D1AD84E96} + HRESULT ClonePMeshFVF ( DWORD Options, + DWORD FVF, LPDIRECT3DDEVICE9 pD3DDevice, LPD3DXPMESH* ppCloneMesh ) + HRESULT ClonePMesh ( DWORD Options, + D3DVERTEXELEMENT9* pDeclaration, LPDIRECT3DDEVICE9 pD3DDevice, LPD3DXPMESH* ppCloneMesh ) + HRESULT SetNumFaces ( DWORD Faces ) + HRESULT SetNumVertices ( DWORD Vertices ) + DWORD GetMaxFaces ( ) + DWORD GetMinFaces ( ) + DWORD GetMaxVertices ( ) + DWORD GetMinVertices ( ) + HRESULT Save ( IStream* pStream, D3DXMATERIAL* pMaterials, D3DXEFFECTINSTANCE* pEffectInstances, DWORD NumMaterials ) + HRESULT Optimize ( DWORD Flags, DWORD* pAdjacencyOut, + DWORD* pFaceRemap, LPD3DXBUFFER* ppVertexRemap, + LPD3DXMESH* ppOptMesh ) + HRESULT OptimizeBaseLOD ( DWORD Flags, DWORD* pFaceRemap ) + HRESULT TrimByFaces ( DWORD NewFacesMin, DWORD NewFacesMax, DWORD* rgiFaceRemap, DWORD* rgiVertRemap ) + HRESULT TrimByVertices ( DWORD NewVerticesMin, DWORD NewVerticesMax, DWORD* rgiFaceRemap, DWORD* rgiVertRemap ) + HRESULT GetAdjacency ( DWORD* pAdjacency ) + HRESULT GenerateVertexHistory ( DWORD* pVertexHistory ) ; + +COM-INTERFACE: ID3DXSPMesh IUnknown {667EA4C7-F1CD-4386-B523-7C0290B83CC5} + DWORD GetNumFaces ( ) + DWORD GetNumVertices ( ) + DWORD GetFVF ( ) + HRESULT GetDeclaration ( D3DVERTEXELEMENT9* Declaration ) + DWORD GetOptions ( ) + HRESULT GetDevice ( LPDIRECT3DDEVICE9* ppDevice ) + HRESULT CloneMeshFVF ( DWORD Options, + DWORD FVF, LPDIRECT3DDEVICE9 pD3DDevice, DWORD* pAdjacencyOut, DWORD* pVertexRemapOut, LPD3DXMESH* ppCloneMesh ) + HRESULT CloneMesh ( DWORD Options, + D3DVERTEXELEMENT9* pDeclaration, LPDIRECT3DDEVICE9 pD3DDevice, DWORD* pAdjacencyOut, DWORD* pVertexRemapOut, LPD3DXMESH* ppCloneMesh ) + HRESULT ClonePMeshFVF ( DWORD Options, + DWORD FVF, LPDIRECT3DDEVICE9 pD3DDevice, DWORD* pVertexRemapOut, FLOAT* pErrorsByFace, LPD3DXPMESH* ppCloneMesh ) + HRESULT ClonePMesh ( DWORD Options, + D3DVERTEXELEMENT9* pDeclaration, LPDIRECT3DDEVICE9 pD3DDevice, DWORD* pVertexRemapOut, FLOAT* pErrorsbyFace, LPD3DXPMESH* ppCloneMesh ) + HRESULT ReduceFaces ( DWORD Faces ) + HRESULT ReduceVertices ( DWORD Vertices ) + DWORD GetMaxFaces ( ) + DWORD GetMaxVertices ( ) + HRESULT GetVertexAttributeWeights ( LPD3DXATTRIBUTEWEIGHTS pVertexAttributeWeights ) + HRESULT GetVertexWeights ( FLOAT* pVertexWeights ) ; + +CONSTANT: D3DXMESHOPT_COMPACT HEX: 01000000 +CONSTANT: D3DXMESHOPT_ATTRSORT HEX: 02000000 +CONSTANT: D3DXMESHOPT_VERTEXCACHE HEX: 04000000 +CONSTANT: D3DXMESHOPT_STRIPREORDER HEX: 08000000 +CONSTANT: D3DXMESHOPT_IGNOREVERTS HEX: 10000000 +CONSTANT: D3DXMESHOPT_DONOTSPLIT HEX: 20000000 +CONSTANT: D3DXMESHOPT_DEVICEINDEPENDENT HEX: 00400000 + +STRUCT: D3DXBONECOMBINATION + { AttribId DWORD } + { FaceStart DWORD } + { FaceCount DWORD } + { VertexStart DWORD } + { VertexCount DWORD } + { BoneId DWORD* } ; +TYPEDEF: D3DXBONECOMBINATION* LPD3DXBONECOMBINATION + +STRUCT: D3DXPATCHINFO + { PatchType D3DXPATCHMESHTYPE } + { Degree D3DDEGREETYPE } + { Basis D3DBASISTYPE } ; +TYPEDEF: D3DXPATCHINFO* LPD3DXPATCHINFO + +COM-INTERFACE: ID3DXPatchMesh IUnknown {3CE6CC22-DBF2-44f4-894D-F9C34A337139} + DWORD GetNumPatches ( ) + DWORD GetNumVertices ( ) + HRESULT GetDeclaration ( D3DVERTEXELEMENT9* Declaration ) + DWORD GetControlVerticesPerPatch ( ) + DWORD GetOptions ( ) + HRESULT GetDevice ( LPDIRECT3DDEVICE9* ppDevice ) + HRESULT GetPatchInfo ( LPD3DXPATCHINFO PatchInfo ) + HRESULT GetVertexBuffer ( LPDIRECT3DVERTEXBUFFER9* ppVB ) + HRESULT GetIndexBuffer ( LPDIRECT3DINDEXBUFFER9* ppIB ) + HRESULT LockVertexBuffer ( DWORD flags, LPVOID* ppData ) + HRESULT UnlockVertexBuffer ( ) + HRESULT LockIndexBuffer ( DWORD flags, LPVOID* ppData ) + HRESULT UnlockIndexBuffer ( ) + HRESULT LockAttributeBuffer ( DWORD flags, DWORD** ppData ) + HRESULT UnlockAttributeBuffer ( ) + HRESULT GetTessSize ( FLOAT fTessLevel, DWORD Adaptive, DWORD* NumTriangles, DWORD* NumVertices ) + HRESULT GenerateAdjacency ( FLOAT Tolerance ) + HRESULT CloneMesh ( DWORD Options, D3DVERTEXELEMENT9* pDecl, LPD3DXPATCHMESH* pMesh ) + HRESULT Optimize ( DWORD flags ) + HRESULT SetDisplaceParam ( + LPDIRECT3DBASETEXTURE9 Texture, + D3DTEXTUREFILTERTYPE MinFilter, + D3DTEXTUREFILTERTYPE MagFilter, + D3DTEXTUREFILTERTYPE MipFilter, + D3DTEXTUREADDRESS Wrap, + DWORD dwLODBias ) + HRESULT GetDisplaceParam ( + LPDIRECT3DBASETEXTURE9* Texture, + D3DTEXTUREFILTERTYPE* MinFilter, + D3DTEXTUREFILTERTYPE* MagFilter, + D3DTEXTUREFILTERTYPE* MipFilter, + D3DTEXTUREADDRESS* Wrap, + DWORD* dwLODBias ) + HRESULT Tessellate ( FLOAT fTessLevel, LPD3DXMESH pMesh ) + HRESULT TessellateAdaptive ( + D3DXVECTOR4* pTrans, + DWORD dwMaxTessLevel, + DWORD dwMinTessLevel, + LPD3DXMESH pMesh ) ; + +COM-INTERFACE: ID3DXSkinInfo IUnknown {11EAA540-F9A6-4d49-AE6A-E19221F70CC4} + HRESULT SetBoneInfluence ( DWORD bone, DWORD numInfluences, DWORD* vertices, FLOAT* weights ) + HRESULT SetBoneVertexInfluence ( DWORD boneNum, DWORD influenceNum, FLOAT weight ) + DWORD GetNumBoneInfluences ( DWORD bone ) + HRESULT GetBoneInfluence ( DWORD bone, DWORD* vertices, FLOAT* weights ) + HRESULT GetBoneVertexInfluence ( DWORD boneNum, DWORD influenceNum, FLOAT* pWeight, DWORD* pVertexNum ) + HRESULT GetMaxVertexInfluences ( DWORD* maxVertexInfluences ) + DWORD GetNumBones ( ) + HRESULT FindBoneVertexInfluenceIndex ( DWORD boneNum, DWORD vertexNum, DWORD* pInfluenceIndex ) + HRESULT GetMaxFaceInfluences ( LPDIRECT3DINDEXBUFFER9 pIB, DWORD NumFaces, DWORD* maxFaceInfluences ) + HRESULT SetMinBoneInfluence ( FLOAT MinInfl ) + FLOAT GetMinBoneInfluence ( ) + HRESULT SetBoneName ( DWORD Bone, LPCSTR pName ) + LPCSTR GetBoneName ( DWORD Bone ) + HRESULT SetBoneOffsetMatrix ( DWORD Bone, D3DXMATRIX* pBoneTransform ) + LPD3DXMATRIX GetBoneOffsetMatrix ( DWORD Bone ) + HRESULT Clone ( LPD3DXSKININFO* ppSkinInfo ) + HRESULT Remap ( DWORD NumVertices, DWORD* pVertexRemap ) + HRESULT SetFVF ( DWORD FVF ) + HRESULT SetDeclaration ( D3DVERTEXELEMENT9* pDeclaration ) + DWORD GetFVF ( ) + HRESULT GetDeclaration ( D3DVERTEXELEMENT9* Declaration ) + HRESULT UpdateSkinnedMesh ( + D3DXMATRIX* pBoneTransforms, + D3DXMATRIX* pBoneInvTransposeTransforms, + LPCVOID pVerticesSrc, + PVOID pVerticesDst ) + HRESULT ConvertToBlendedMesh ( + LPD3DXMESH pMesh, + DWORD Options, + DWORD* pAdjacencyIn, + LPDWORD pAdjacencyOut, + DWORD* pFaceRemap, + LPD3DXBUFFER* ppVertexRemap, + DWORD* pMaxFaceInfl, + DWORD* pNumBoneCombinations, + LPD3DXBUFFER* ppBoneCombinationTable, + LPD3DXMESH* ppMesh ) + HRESULT ConvertToIndexedBlendedMesh ( + LPD3DXMESH pMesh, + DWORD Options, + DWORD paletteSize, + DWORD* pAdjacencyIn, + LPDWORD pAdjacencyOut, + DWORD* pFaceRemap, + LPD3DXBUFFER* ppVertexRemap, + DWORD* pMaxVertexInfl, + DWORD* pNumBoneCombinations, + LPD3DXBUFFER* ppBoneCombinationTable, + LPD3DXMESH* ppMesh ) ; + +FUNCTION: HRESULT + D3DXCreateMesh ( + DWORD NumFaces, + DWORD NumVertices, + DWORD Options, + D3DVERTEXELEMENT9* pDeclaration, + LPDIRECT3DDEVICE9 pD3DDevice, + LPD3DXMESH* ppMesh ) ; + +FUNCTION: HRESULT + D3DXCreateMeshFVF ( + DWORD NumFaces, + DWORD NumVertices, + DWORD Options, + DWORD FVF, + LPDIRECT3DDEVICE9 pD3DDevice, + LPD3DXMESH* ppMesh ) ; + +FUNCTION: HRESULT + D3DXCreateSPMesh ( + LPD3DXMESH pMesh, + DWORD* pAdjacency, + D3DXATTRIBUTEWEIGHTS* pVertexAttributeWeights, + FLOAT* pVertexWeights, + LPD3DXSPMESH* ppSMesh ) ; + +FUNCTION: HRESULT + D3DXCleanMesh ( + D3DXCLEANTYPE CleanType, + LPD3DXMESH pMeshIn, + DWORD* pAdjacencyIn, + LPD3DXMESH* ppMeshOut, + DWORD* pAdjacencyOut, + LPD3DXBUFFER* ppErrorsAndWarnings ) ; + +FUNCTION: HRESULT + D3DXValidMesh ( + LPD3DXMESH pMeshIn, + DWORD* pAdjacency, + LPD3DXBUFFER* ppErrorsAndWarnings ) ; + +FUNCTION: HRESULT + D3DXGeneratePMesh ( + LPD3DXMESH pMesh, + DWORD* pAdjacency, + D3DXATTRIBUTEWEIGHTS* pVertexAttributeWeights, + FLOAT* pVertexWeights, + DWORD MinValue, + DWORD Options, + LPD3DXPMESH* ppPMesh ) ; + +FUNCTION: HRESULT + D3DXSimplifyMesh ( + LPD3DXMESH pMesh, + DWORD* pAdjacency, + D3DXATTRIBUTEWEIGHTS* pVertexAttributeWeights, + FLOAT* pVertexWeights, + DWORD MinValue, + DWORD Options, + LPD3DXMESH* ppMesh ) ; + +FUNCTION: HRESULT + D3DXComputeBoundingSphere ( + D3DXVECTOR3* pFirstPosition, + DWORD NumVertices, + DWORD dwStride, + D3DXVECTOR3* pCenter, + FLOAT* pRadius ) ; + +FUNCTION: HRESULT + D3DXComputeBoundingBox ( + D3DXVECTOR3* pFirstPosition, + DWORD NumVertices, + DWORD dwStride, + D3DXVECTOR3* pMin, + D3DXVECTOR3* pMax ) ; + +FUNCTION: HRESULT + D3DXComputeNormals ( + LPD3DXBASEMESH pMesh, + DWORD* pAdjacency ) ; + +FUNCTION: HRESULT + D3DXCreateBuffer ( + DWORD NumBytes, + LPD3DXBUFFER* ppBuffer ) ; + +FUNCTION: HRESULT + D3DXLoadMeshFromXA ( + LPCSTR pFilename, + DWORD Options, + LPDIRECT3DDEVICE9 pD3DDevice, + LPD3DXBUFFER* ppAdjacency, + LPD3DXBUFFER* ppMaterials, + LPD3DXBUFFER* ppEffectInstances, + DWORD* pNumMaterials, + LPD3DXMESH* ppMesh ) ; + +FUNCTION: HRESULT + D3DXLoadMeshFromXW ( + LPCWSTR pFilename, + DWORD Options, + LPDIRECT3DDEVICE9 pD3DDevice, + LPD3DXBUFFER* ppAdjacency, + LPD3DXBUFFER* ppMaterials, + LPD3DXBUFFER* ppEffectInstances, + DWORD* pNumMaterials, + LPD3DXMESH* ppMesh ) ; + +ALIAS: D3DXLoadMeshFromX D3DXLoadMeshFromXW + +FUNCTION: HRESULT + D3DXLoadMeshFromXInMemory ( + LPCVOID Memory, + DWORD SizeOfMemory, + DWORD Options, + LPDIRECT3DDEVICE9 pD3DDevice, + LPD3DXBUFFER* ppAdjacency, + LPD3DXBUFFER* ppMaterials, + LPD3DXBUFFER* ppEffectInstances, + DWORD* pNumMaterials, + LPD3DXMESH* ppMesh ) ; + +FUNCTION: HRESULT + D3DXLoadMeshFromXResource ( + HMODULE Module, + LPCSTR Name, + LPCSTR Type, + DWORD Options, + LPDIRECT3DDEVICE9 pD3DDevice, + LPD3DXBUFFER* ppAdjacency, + LPD3DXBUFFER* ppMaterials, + LPD3DXBUFFER* ppEffectInstances, + DWORD* pNumMaterials, + LPD3DXMESH* ppMesh ) ; + +FUNCTION: HRESULT + D3DXSaveMeshToXA ( + LPCSTR pFilename, + LPD3DXMESH pMesh, + DWORD* pAdjacency, + D3DXMATERIAL* pMaterials, + D3DXEFFECTINSTANCE* pEffectInstances, + DWORD NumMaterials, + DWORD Format ) ; + +FUNCTION: HRESULT + D3DXSaveMeshToXW ( + LPCWSTR pFilename, + LPD3DXMESH pMesh, + DWORD* pAdjacency, + D3DXMATERIAL* pMaterials, + D3DXEFFECTINSTANCE* pEffectInstances, + DWORD NumMaterials, + DWORD Format ) ; + +ALIAS: D3DXSaveMeshToX D3DXSaveMeshToXW + +FUNCTION: HRESULT + D3DXCreatePMeshFromStream ( + IStream* pStream, + DWORD Options, + LPDIRECT3DDEVICE9 pD3DDevice, + LPD3DXBUFFER* ppMaterials, + LPD3DXBUFFER* ppEffectInstances, + DWORD* pNumMaterials, + LPD3DXPMESH* ppPMesh ) ; + +FUNCTION: HRESULT + D3DXCreateSkinInfo ( + DWORD NumVertices, + D3DVERTEXELEMENT9* pDeclaration, + DWORD NumBones, + LPD3DXSKININFO* ppSkinInfo ) ; + +FUNCTION: HRESULT + D3DXCreateSkinInfoFVF ( + DWORD NumVertices, + DWORD FVF, + DWORD NumBones, + LPD3DXSKININFO* ppSkinInfo ) ; + +FUNCTION: HRESULT + D3DXLoadMeshFromXof ( + LPD3DXFILEDATA pxofMesh, + DWORD Options, + LPDIRECT3DDEVICE9 pD3DDevice, + LPD3DXBUFFER* ppAdjacency, + LPD3DXBUFFER* ppMaterials, + LPD3DXBUFFER* ppEffectInstances, + DWORD* pNumMaterials, + LPD3DXMESH* ppMesh ) ; + +FUNCTION: HRESULT + D3DXLoadSkinMeshFromXof ( + LPD3DXFILEDATA pxofMesh, + DWORD Options, + LPDIRECT3DDEVICE9 pD3DDevice, + LPD3DXBUFFER* ppAdjacency, + LPD3DXBUFFER* ppMaterials, + LPD3DXBUFFER* ppEffectInstances, + DWORD* pMatOut, + LPD3DXSKININFO* ppSkinInfo, + LPD3DXMESH* ppMesh ) ; + +FUNCTION: HRESULT + D3DXCreateSkinInfoFromBlendedMesh ( + LPD3DXBASEMESH pMesh, + DWORD NumBones, + D3DXBONECOMBINATION* pBoneCombinationTable, + LPD3DXSKININFO* ppSkinInfo ) ; + +FUNCTION: HRESULT + D3DXTessellateNPatches ( + LPD3DXMESH pMeshIn, + DWORD* pAdjacencyIn, + FLOAT NumSegs, + BOOL QuadraticInterpNormals, + LPD3DXMESH* ppMeshOut, + LPD3DXBUFFER* ppAdjacencyOut ) ; + +FUNCTION: HRESULT + D3DXGenerateOutputDecl ( + D3DVERTEXELEMENT9* pOutput, + D3DVERTEXELEMENT9* pInput ) ; + +FUNCTION: HRESULT + D3DXLoadPatchMeshFromXof ( + LPD3DXFILEDATA pXofObjMesh, + DWORD Options, + LPDIRECT3DDEVICE9 pD3DDevice, + LPD3DXBUFFER* ppMaterials, + LPD3DXBUFFER* ppEffectInstances, + PDWORD pNumMaterials, + LPD3DXPATCHMESH* ppMesh ) ; + +FUNCTION: HRESULT + D3DXRectPatchSize ( + FLOAT* pfNumSegs, + DWORD* pdwTriangles, + DWORD* pdwVertices ) ; + +FUNCTION: HRESULT + D3DXTriPatchSize ( + FLOAT* pfNumSegs, + DWORD* pdwTriangles, + DWORD* pdwVertices ) ; + +FUNCTION: HRESULT + D3DXTessellateRectPatch ( + LPDIRECT3DVERTEXBUFFER9 pVB, + FLOAT* pNumSegs, + D3DVERTEXELEMENT9* pdwInDecl, + D3DRECTPATCH_INFO* pRectPatchInfo, + LPD3DXMESH pMesh ) ; + +FUNCTION: HRESULT + D3DXTessellateTriPatch ( + LPDIRECT3DVERTEXBUFFER9 pVB, + FLOAT* pNumSegs, + D3DVERTEXELEMENT9* pInDecl, + D3DTRIPATCH_INFO* pTriPatchInfo, + LPD3DXMESH pMesh ) ; + +FUNCTION: HRESULT + D3DXCreateNPatchMesh ( + LPD3DXMESH pMeshSysMem, + LPD3DXPATCHMESH* pPatchMesh ) ; + +FUNCTION: HRESULT + D3DXCreatePatchMesh ( + D3DXPATCHINFO* pInfo, + DWORD dwNumPatches, + DWORD dwNumVertices, + DWORD dwOptions, + D3DVERTEXELEMENT9* pDecl, + LPDIRECT3DDEVICE9 pD3DDevice, + LPD3DXPATCHMESH* pPatchMesh ) ; + +FUNCTION: HRESULT + D3DXValidPatchMesh ( + LPD3DXPATCHMESH pMesh, + DWORD* dwcDegenerateVertices, + DWORD* dwcDegeneratePatches, + LPD3DXBUFFER* ppErrorsAndWarnings ) ; + +FUNCTION: UINT + D3DXGetFVFVertexSize ( DWORD FVF ) ; + +FUNCTION: UINT + D3DXGetDeclVertexSize ( D3DVERTEXELEMENT9* pDecl, DWORD Stream ) ; + +FUNCTION: UINT + D3DXGetDeclLength ( D3DVERTEXELEMENT9* pDecl ) ; + +FUNCTION: HRESULT + D3DXDeclaratorFromFVF ( + DWORD FVF, + D3DVERTEXELEMENT9* pDeclarator ) ; + +FUNCTION: HRESULT + D3DXFVFFromDeclarator ( + D3DVERTEXELEMENT9* pDeclarator, + DWORD* pFVF ) ; + +FUNCTION: HRESULT + D3DXWeldVertices ( + LPD3DXMESH pMesh, + DWORD Flags, + D3DXWELDEPSILONS* pEpsilons, + DWORD* pAdjacencyIn, + DWORD* pAdjacencyOut, + DWORD* pFaceRemap, + LPD3DXBUFFER* ppVertexRemap ) ; + +STRUCT: D3DXINTERSECTINFO + { FaceIndex DWORD } + { U FLOAT } + { V FLOAT } + { Dist FLOAT } ; +TYPEDEF: D3DXINTERSECTINFO* LPD3DXINTERSECTINFO + +FUNCTION: HRESULT + D3DXIntersect ( + LPD3DXBASEMESH pMesh, + D3DXVECTOR3* pRayPos, + D3DXVECTOR3* pRayDir, + BOOL* pHit, + DWORD* pFaceIndex, + FLOAT* pU, + FLOAT* pV, + FLOAT* pDist, + LPD3DXBUFFER* ppAllHits, + DWORD* pCountOfHits ) ; + +FUNCTION: HRESULT + D3DXIntersectSubset ( + LPD3DXBASEMESH pMesh, + DWORD AttribId, + D3DXVECTOR3* pRayPos, + D3DXVECTOR3* pRayDir, + BOOL* pHit, + DWORD* pFaceIndex, + FLOAT* pU, + FLOAT* pV, + FLOAT* pDist, + LPD3DXBUFFER* ppAllHits, + DWORD* pCountOfHits ) ; + +FUNCTION: HRESULT D3DXSplitMesh ( + LPD3DXMESH pMeshIn, + DWORD* pAdjacencyIn, + DWORD MaxSize, + DWORD Options, + DWORD* pMeshesOut, + LPD3DXBUFFER* ppMeshArrayOut, + LPD3DXBUFFER* ppAdjacencyArrayOut, + LPD3DXBUFFER* ppFaceRemapArrayOut, + LPD3DXBUFFER* ppVertRemapArrayOut ) ; + +FUNCTION: BOOL D3DXIntersectTri ( + D3DXVECTOR3* p0, + D3DXVECTOR3* p1, + D3DXVECTOR3* p2, + D3DXVECTOR3* pRayPos, + D3DXVECTOR3* pRayDir, + FLOAT* pU, + FLOAT* pV, + FLOAT* pDist ) ; + +FUNCTION: BOOL + D3DXSphereBoundProbe ( + D3DXVECTOR3* pCenter, + FLOAT Radius, + D3DXVECTOR3* pRayPosition, + D3DXVECTOR3* pRayDirection ) ; + +FUNCTION: BOOL + D3DXBoxBoundProbe ( + D3DXVECTOR3* pMin, + D3DXVECTOR3* pMax, + D3DXVECTOR3* pRayPosition, + D3DXVECTOR3* pRayDirection ) ; + +FUNCTION: HRESULT D3DXComputeTangentFrame ( + ID3DXMesh* pMesh, + DWORD dwOptions ) ; + +FUNCTION: HRESULT D3DXComputeTangentFrameEx ( + ID3DXMesh* pMesh, + DWORD dwTextureInSemantic, + DWORD dwTextureInIndex, + DWORD dwUPartialOutSemantic, + DWORD dwUPartialOutIndex, + DWORD dwVPartialOutSemantic, + DWORD dwVPartialOutIndex, + DWORD dwNormalOutSemantic, + DWORD dwNormalOutIndex, + DWORD dwOptions, + DWORD* pdwAdjacency, + FLOAT fPartialEdgeThreshold, + FLOAT fSingularPointThreshold, + FLOAT fNormalEdgeThreshold, + ID3DXMesh** ppMeshOut, + ID3DXBuffer** ppVertexMapping ) ; + +FUNCTION: HRESULT D3DXComputeTangent ( + LPD3DXMESH Mesh, + DWORD TexStage, + DWORD TangentIndex, + DWORD BinormIndex, + DWORD Wrap, + DWORD* pAdjacency ) ; + +C-TYPE: D3DXUVATLASCB +TYPEDEF: D3DXUVATLASCB* LPD3DXUVATLASCB + +FUNCTION: HRESULT D3DXUVAtlasCreate ( + LPD3DXMESH pMesh, + UINT uMaxChartNumber, + FLOAT fMaxStretch, + UINT uWidth, + UINT uHeight, + FLOAT fGutter, + DWORD dwTextureIndex, + DWORD* pdwAdjacency, + DWORD* pdwFalseEdgeAdjacency, + FLOAT* pfIMTArray, + LPD3DXUVATLASCB pStatusCallback, + FLOAT fCallbackFrequency, + LPVOID pUserContext, + DWORD dwOptions, + LPD3DXMESH* ppMeshOut, + LPD3DXBUFFER* ppFacePartitioning, + LPD3DXBUFFER* ppVertexRemapArray, + FLOAT* pfMaxStretchOut, + UINT* puNumChartsOut ) ; + +FUNCTION: HRESULT D3DXUVAtlasPartition ( + LPD3DXMESH pMesh, + UINT uMaxChartNumber, + FLOAT fMaxStretch, + DWORD dwTextureIndex, + DWORD* pdwAdjacency, + DWORD* pdwFalseEdgeAdjacency, + FLOAT* pfIMTArray, + LPD3DXUVATLASCB pStatusCallback, + FLOAT fCallbackFrequency, + LPVOID pUserContext, + DWORD dwOptions, + LPD3DXMESH* ppMeshOut, + LPD3DXBUFFER* ppFacePartitioning, + LPD3DXBUFFER* ppVertexRemapArray, + LPD3DXBUFFER* ppPartitionResultAdjacency, + FLOAT* pfMaxStretchOut, + UINT* puNumChartsOut ) ; + +FUNCTION: HRESULT D3DXUVAtlasPack ( + ID3DXMesh* pMesh, + UINT uWidth, + UINT uHeight, + FLOAT fGutter, + DWORD dwTextureIndex, + DWORD* pdwPartitionResultAdjacency, + LPD3DXUVATLASCB pStatusCallback, + FLOAT fCallbackFrequency, + LPVOID pUserContext, + DWORD dwOptions, + LPD3DXBUFFER pFacePartitioning ) ; + +TYPEDEF: void* LPD3DXIMTSIGNALCALLBACK + +FUNCTION: HRESULT D3DXComputeIMTFromPerVertexSignal ( + LPD3DXMESH pMesh, + FLOAT* pfVertexSignal, + UINT uSignalDimension, + UINT uSignalStride, + DWORD dwOptions, + LPD3DXUVATLASCB pStatusCallback, + LPVOID pUserContext, + LPD3DXBUFFER* ppIMTData ) ; + +FUNCTION: HRESULT D3DXComputeIMTFromSignal ( + LPD3DXMESH pMesh, + DWORD dwTextureIndex, + UINT uSignalDimension, + FLOAT fMaxUVDistance, + DWORD dwOptions, + LPD3DXIMTSIGNALCALLBACK pSignalCallback, + VOID* pUserData, + LPD3DXUVATLASCB pStatusCallback, + LPVOID pUserContext, + LPD3DXBUFFER* ppIMTData ) ; + +FUNCTION: HRESULT D3DXComputeIMTFromTexture ( + LPD3DXMESH pMesh, + LPDIRECT3DTEXTURE9 pTexture, + DWORD dwTextureIndex, + DWORD dwOptions, + LPD3DXUVATLASCB pStatusCallback, + LPVOID pUserContext, + LPD3DXBUFFER* ppIMTData ) ; + +FUNCTION: HRESULT D3DXComputeIMTFromPerTexelSignal ( + LPD3DXMESH pMesh, + DWORD dwTextureIndex, + FLOAT* pfTexelSignal, + UINT uWidth, + UINT uHeight, + UINT uSignalDimension, + UINT uComponents, + DWORD dwOptions, + LPD3DXUVATLASCB pStatusCallback, + LPVOID pUserContext, + LPD3DXBUFFER* ppIMTData ) ; + +FUNCTION: HRESULT + D3DXConvertMeshSubsetToSingleStrip ( + LPD3DXBASEMESH MeshIn, + DWORD AttribId, + DWORD IBOptions, + LPDIRECT3DINDEXBUFFER9* ppIndexBuffer, + DWORD* pNumIndices ) ; + +FUNCTION: HRESULT + D3DXConvertMeshSubsetToStrips ( + LPD3DXBASEMESH MeshIn, + DWORD AttribId, + DWORD IBOptions, + LPDIRECT3DINDEXBUFFER9* ppIndexBuffer, + DWORD* pNumIndices, + LPD3DXBUFFER* ppStripLengths, + DWORD* pNumStrips ) ; + +FUNCTION: HRESULT + D3DXOptimizeFaces ( + LPCVOID pbIndices, + UINT cFaces, + UINT cVertices, + BOOL b32BitIndices, + DWORD* pFaceRemap ) ; + +FUNCTION: HRESULT + D3DXOptimizeVertices ( + LPCVOID pbIndices, + UINT cFaces, + UINT cVertices, + BOOL b32BitIndices, + DWORD* pVertexRemap ) ; + +TYPEDEF: int D3DXSHCOMPRESSQUALITYTYPE +CONSTANT: D3DXSHCQUAL_FASTLOWQUALITY 1 +CONSTANT: D3DXSHCQUAL_SLOWHIGHQUALITY 2 +CONSTANT: D3DXSHCQUAL_FORCE_DWORD HEX: 7fffffff + +TYPEDEF: int D3DXSHGPUSIMOPT +CONSTANT: D3DXSHGPUSIMOPT_SHADOWRES256 1 +CONSTANT: D3DXSHGPUSIMOPT_SHADOWRES512 0 +CONSTANT: D3DXSHGPUSIMOPT_SHADOWRES1024 2 +CONSTANT: D3DXSHGPUSIMOPT_SHADOWRES2048 3 +CONSTANT: D3DXSHGPUSIMOPT_HIGHQUALITY 4 +CONSTANT: D3DXSHGPUSIMOPT_FORCE_DWORD HEX: 7fffffff + +STRUCT: D3DXSHMATERIAL + { Diffuse D3DCOLORVALUE } + { bMirror BOOL } + { bSubSurf BOOL } + { RelativeIndexOfRefraction FLOAT } + { Absorption D3DCOLORVALUE } + { ReducedScattering D3DCOLORVALUE } ; + +STRUCT: D3DXSHPRTSPLITMESHVERTDATA + { uVertRemap UINT } + { uSubCluster UINT } + { ucVertStatus UCHAR } ; + +STRUCT: D3DXSHPRTSPLITMESHCLUSTERDATA + { uVertStart UINT } + { uVertLength UINT } + { uFaceStart UINT } + { uFaceLength UINT } + { uClusterStart UINT } + { uClusterLength UINT } ; + +TYPEDEF: void* LPD3DXSHPRTSIMCB + +C-TYPE: ID3DXTextureGutterHelper +C-TYPE: ID3DXPRTBuffer + +COM-INTERFACE: ID3DXPRTBuffer IUnknown {F1827E47-00A8-49cd-908C-9D11955F8728} + UINT GetNumSamples ( ) + UINT GetNumCoeffs ( ) + UINT GetNumChannels ( ) + BOOL IsTexture ( ) + UINT GetWidth ( ) + UINT GetHeight ( ) + HRESULT Resize ( UINT NewSize ) + HRESULT LockBuffer ( UINT Start, UINT NumSamples, FLOAT** ppData ) + HRESULT UnlockBuffer ( ) + HRESULT ScaleBuffer ( FLOAT Scale ) + HRESULT AddBuffer ( LPD3DXPRTBUFFER pBuffer ) + HRESULT AttachGH ( LPD3DXTEXTUREGUTTERHELPER f ) + HRESULT ReleaseGH ( ) + HRESULT EvalGH ( ) + HRESULT ExtractTexture ( UINT Channel, UINT StartCoefficient, + UINT NumCoefficients, LPDIRECT3DTEXTURE9 pTexture ) + HRESULT ExtractToMesh ( UINT NumCoefficients, D3DDECLUSAGE Usage, UINT UsageIndexStart, + LPD3DXMESH pScene ) ; + +C-TYPE: ID3DXPRTCompBuffer +TYPEDEF: ID3DXPRTCompBuffer* LPD3DXPRTCOMPBUFFER; + +COM-INTERFACE: ID3DXPRTCompBuffer IUnknown {A758D465-FE8D-45ad-9CF0-D01E56266A07} + UINT GetNumSamples ( ) + UINT GetNumCoeffs ( ) + UINT GetNumChannels ( ) + BOOL IsTexture ( ) + UINT GetWidth ( ) + UINT GetHeight ( ) + UINT GetNumClusters ( ) + UINT GetNumPCA ( ) + HRESULT NormalizeData ( ) + HRESULT ExtractBasis ( UINT Cluster, FLOAT* pClusterBasis ) + HRESULT ExtractClusterIDs ( UINT* pClusterIDs ) + HRESULT ExtractPCA ( UINT StartPCA, UINT NumExtract, FLOAT* pPCACoefficients ) + HRESULT ExtractTexture ( UINT StartPCA, UINT NumpPCA, + LPDIRECT3DTEXTURE9 pTexture ) + HRESULT ExtractToMesh ( UINT NumPCA, D3DDECLUSAGE Usage, UINT UsageIndexStart, + LPD3DXMESH pScene ) ; + +COM-INTERFACE: ID3DXTextureGutterHelper IUnknown {838F01EC-9729-4527-AADB-DF70ADE7FEA9} + UINT GetWidth ( ) + UINT GetHeight ( ) + HRESULT ApplyGuttersFLOAT ( FLOAT* pDataIn, UINT NumCoeffs, UINT Width, UINT Height ) + HRESULT ApplyGuttersTex ( LPDIRECT3DTEXTURE9 pTexture ) + HRESULT ApplyGuttersPRT ( LPD3DXPRTBUFFER pBuffer ) + HRESULT ResampleTex ( + LPDIRECT3DTEXTURE9 pTextureIn, + LPD3DXMESH pMeshIn, + D3DDECLUSAGE Usage, + UINT UsageIndex, + LPDIRECT3DTEXTURE9 pTextureOut ) + HRESULT GetFaceMap ( UINT* pFaceData ) + HRESULT GetBaryMap ( D3DXVECTOR2* pBaryData ) + HRESULT GetTexelMap ( D3DXVECTOR2* pTexelData ) + HRESULT GetGutterMap ( BYTE* pGutterData ) + HRESULT SetFaceMap ( UINT* pFaceData ) + HRESULT SetBaryMap ( D3DXVECTOR2* pBaryData ) + HRESULT SetTexelMap ( D3DXVECTOR2* pTexelData ) + HRESULT SetGutterMap ( BYTE* pGutterData ) ; + +C-TYPE: ID3DXPRTEngine +TYPEDEF: ID3DXPRTEngine* LPD3DXPRTENGINE + +COM-INTERFACE: ID3DXPRTEngine IUnknown {683A4278-CD5F-4d24-90AD-C4E1B6855D53} + HRESULT SetMeshMaterials ( D3DXSHMATERIAL** ppMaterials, UINT NumMeshes, + UINT NumChannels, BOOL bSetAlbedo, FLOAT fLengthScale ) + HRESULT SetPerVertexAlbedo ( VOID* pDataIn, UINT NumChannels, UINT Stride ) + HRESULT SetPerTexelAlbedo ( LPDIRECT3DTEXTURE9 pAlbedoTexture, + UINT NumChannels, + LPD3DXTEXTUREGUTTERHELPER pGH ) + HRESULT GetVertexAlbedo ( D3DXCOLOR* pVertColors, UINT NumVerts ) + HRESULT SetPerTexelNormal ( LPDIRECT3DTEXTURE9 pNormalTexture ) + HRESULT ExtractPerVertexAlbedo ( LPD3DXMESH pMesh, + D3DDECLUSAGE Usage, + UINT NumChannels ) + HRESULT ResampleBuffer ( LPD3DXPRTBUFFER pBufferIn, LPD3DXPRTBUFFER pBufferOut ) + HRESULT GetAdaptedMesh ( LPDIRECT3DDEVICE9 pD3DDevice, UINT* pFaceRemap, UINT* pVertRemap, FLOAT* pfVertWeights, LPD3DXMESH* ppMesh ) + UINT GetNumVerts ( ) + UINT GetNumFaces ( ) + HRESULT SetMinMaxIntersection ( FLOAT fMin, FLOAT fMax ) + HRESULT RobustMeshRefine ( FLOAT MinEdgeLength, UINT MaxSubdiv ) + HRESULT SetSamplingInfo ( UINT NumRays, + BOOL UseSphere, + BOOL UseCosine, + BOOL Adaptive, + FLOAT AdaptiveThresh ) + HRESULT ComputeDirectLightingSH ( UINT SHOrder, + LPD3DXPRTBUFFER pDataOut ) + HRESULT ComputeDirectLightingSHAdaptive ( UINT SHOrder, + FLOAT AdaptiveThresh, + FLOAT MinEdgeLength, + UINT MaxSubdiv, + LPD3DXPRTBUFFER pDataOut ) + HRESULT ComputeDirectLightingSHGPU ( LPDIRECT3DDEVICE9 pD3DDevice, + UINT Flags, + UINT SHOrder, + FLOAT ZBias, + FLOAT ZAngleBias, + LPD3DXPRTBUFFER pDataOut ) + HRESULT ComputeSS ( LPD3DXPRTBUFFER pDataIn, + LPD3DXPRTBUFFER pDataOut, LPD3DXPRTBUFFER pDataTotal ) + HRESULT ComputeSSAdaptive ( LPD3DXPRTBUFFER pDataIn, + FLOAT AdaptiveThresh, + FLOAT MinEdgeLength, + UINT MaxSubdiv, + LPD3DXPRTBUFFER pDataOut, LPD3DXPRTBUFFER pDataTotal ) + HRESULT ComputeBounce ( LPD3DXPRTBUFFER pDataIn, + LPD3DXPRTBUFFER pDataOut, + LPD3DXPRTBUFFER pDataTotal ) + HRESULT ComputeBounceAdaptive ( LPD3DXPRTBUFFER pDataIn, + FLOAT AdaptiveThresh, + FLOAT MinEdgeLength, + UINT MaxSubdiv, + LPD3DXPRTBUFFER pDataOut, + LPD3DXPRTBUFFER pDataTotal ) + HRESULT ComputeVolumeSamplesDirectSH ( UINT SHOrderIn, + UINT SHOrderOut, + UINT NumVolSamples, + D3DXVECTOR3* pSampleLocs, + LPD3DXPRTBUFFER pDataOut ) + HRESULT ComputeVolumeSamples ( LPD3DXPRTBUFFER pSurfDataIn, + UINT SHOrder, + UINT NumVolSamples, + D3DXVECTOR3* pSampleLocs, + LPD3DXPRTBUFFER pDataOut ) + HRESULT ComputeSurfSamplesDirectSH ( UINT SHOrder, + UINT NumSamples, + D3DXVECTOR3* pSampleLocs, + D3DXVECTOR3* pSampleNorms, + LPD3DXPRTBUFFER pDataOut ) + HRESULT ComputeSurfSamplesBounce ( LPD3DXPRTBUFFER pSurfDataIn, + UINT NumSamples, + D3DXVECTOR3* pSampleLocs, + D3DXVECTOR3* pSampleNorms, + LPD3DXPRTBUFFER pDataOut, + LPD3DXPRTBUFFER pDataTotal ) + HRESULT FreeSSData ( ) + HRESULT FreeBounceData ( ) + HRESULT ComputeLDPRTCoeffs ( LPD3DXPRTBUFFER pDataIn, + UINT SHOrder, + D3DXVECTOR3* pNormOut, + LPD3DXPRTBUFFER pDataOut ) + HRESULT ScaleMeshChunk ( UINT uMeshChunk, FLOAT fScale, LPD3DXPRTBUFFER pDataOut ) + HRESULT MultiplyAlbedo ( LPD3DXPRTBUFFER pDataOut ) + HRESULT SetCallBack ( LPD3DXSHPRTSIMCB pCB, FLOAT Frequency, LPVOID lpUserContext ) + BOOL ShadowRayIntersects ( D3DXVECTOR3* pRayPos, D3DXVECTOR3* pRayDir ) + BOOL ClosestRayIntersects ( D3DXVECTOR3* pRayPos, D3DXVECTOR3* pRayDir, + DWORD* pFaceIndex, FLOAT* pU, FLOAT* pV, FLOAT* pDist ) ; + +FUNCTION: HRESULT + D3DXCreatePRTBuffer ( + UINT NumSamples, + UINT NumCoeffs, + UINT NumChannels, + LPD3DXPRTBUFFER* ppBuffer ) ; + +FUNCTION: HRESULT + D3DXCreatePRTBufferTex ( + UINT Width, + UINT Height, + UINT NumCoeffs, + UINT NumChannels, + LPD3DXPRTBUFFER* ppBuffer ) ; + +FUNCTION: HRESULT + D3DXLoadPRTBufferFromFileA ( + LPCSTR pFilename, + LPD3DXPRTBUFFER* ppBuffer ) ; + +FUNCTION: HRESULT + D3DXLoadPRTBufferFromFileW ( + LPCWSTR pFilename, + LPD3DXPRTBUFFER* ppBuffer ) ; + +ALIAS: D3DXLoadPRTBufferFromFile D3DXLoadPRTBufferFromFileW + +FUNCTION: HRESULT + D3DXSavePRTBufferToFileA ( + LPCSTR pFileName, + LPD3DXPRTBUFFER pBuffer ) ; + +FUNCTION: HRESULT + D3DXSavePRTBufferToFileW ( + LPCWSTR pFileName, + LPD3DXPRTBUFFER pBuffer ) ; + +ALIAS: D3DXSavePRTBufferToFile D3DXSavePRTBufferToFileW + +C-TYPE: D3DXPRTCOMPBUFFER +TYPEDEF: D3DXPRTCOMPBUFFER* LPD3DXPRTCOMPBUFFER + +FUNCTION: HRESULT + D3DXLoadPRTCompBufferFromFileA ( + LPCSTR pFilename, + LPD3DXPRTCOMPBUFFER* ppBuffer ) ; + +FUNCTION: HRESULT + D3DXLoadPRTCompBufferFromFileW ( + LPCWSTR pFilename, + LPD3DXPRTCOMPBUFFER* ppBuffer ) ; + +ALIAS: D3DXLoadPRTCompBufferFromFile D3DXLoadPRTCompBufferFromFileW + +FUNCTION: HRESULT + D3DXSavePRTCompBufferToFileA ( + LPCSTR pFileName, + LPD3DXPRTCOMPBUFFER pBuffer ) ; + +FUNCTION: HRESULT + D3DXSavePRTCompBufferToFileW ( + LPCWSTR pFileName, + LPD3DXPRTCOMPBUFFER pBuffer ) ; + +ALIAS: D3DXSavePRTCompBufferToFile D3DXSavePRTCompBufferToFileW + +FUNCTION: HRESULT + D3DXCreatePRTCompBuffer ( + D3DXSHCOMPRESSQUALITYTYPE Quality, + UINT NumClusters, + UINT NumPCA, + LPD3DXSHPRTSIMCB pCB, + LPVOID lpUserContext, + LPD3DXPRTBUFFER pBufferIn, + LPD3DXPRTCOMPBUFFER* ppBufferOut ) ; + +FUNCTION: HRESULT + D3DXCreateTextureGutterHelper ( + UINT Width, + UINT Height, + LPD3DXMESH pMesh, + FLOAT GutterSize, + LPD3DXTEXTUREGUTTERHELPER* ppBuffer ) ; + +FUNCTION: HRESULT + D3DXCreatePRTEngine ( + LPD3DXMESH pMesh, + DWORD* pAdjacency, + BOOL ExtractUVs, + LPD3DXMESH pBlockerMesh, + LPD3DXPRTENGINE* ppEngine ) ; + +FUNCTION: HRESULT + D3DXConcatenateMeshes ( + LPD3DXMESH* ppMeshes, + UINT NumMeshes, + DWORD Options, + D3DXMATRIX* pGeomXForms, + D3DXMATRIX* pTextureXForms, + D3DVERTEXELEMENT9* pDecl, + LPDIRECT3DDEVICE9 pD3DDevice, + LPD3DXMESH* ppMeshOut ) ; + +FUNCTION: HRESULT + D3DXSHPRTCompSuperCluster ( + UINT* pClusterIDs, + LPD3DXMESH pScene, + UINT MaxNumClusters, + UINT NumClusters, + UINT* pSuperClusterIDs, + UINT* pNumSuperClusters ) ; + +FUNCTION: HRESULT + D3DXSHPRTCompSplitMeshSC ( + UINT* pClusterIDs, + UINT NumVertices, + UINT NumClusters, + UINT* pSuperClusterIDs, + UINT NumSuperClusters, + LPVOID pInputIB, + BOOL InputIBIs32Bit, + UINT NumFaces, + LPD3DXBUFFER* ppIBData, + UINT* pIBDataLength, + BOOL OutputIBIs32Bit, + LPD3DXBUFFER* ppFaceRemap, + LPD3DXBUFFER* ppVertData, + UINT* pVertDataLength, + UINT* pSCClusterList, + D3DXSHPRTSPLITMESHCLUSTERDATA* pSCData ) ; + diff --git a/basis/windows/directx/d3dx9mesh/summary.txt b/basis/windows/directx/d3dx9mesh/summary.txt new file mode 100644 index 0000000000..faa4133e3a --- /dev/null +++ b/basis/windows/directx/d3dx9mesh/summary.txt @@ -0,0 +1 @@ +DirectX 9 bindings. Corresponds to d3dx9mesh.h. diff --git a/basis/windows/directx/d3dx9mesh/tags.txt b/basis/windows/directx/d3dx9mesh/tags.txt new file mode 100644 index 0000000000..2320bdd648 --- /dev/null +++ b/basis/windows/directx/d3dx9mesh/tags.txt @@ -0,0 +1,2 @@ +unportable +bindings diff --git a/basis/windows/directx/d3dx9shader/authors.txt b/basis/windows/directx/d3dx9shader/authors.txt new file mode 100644 index 0000000000..6f03a12101 --- /dev/null +++ b/basis/windows/directx/d3dx9shader/authors.txt @@ -0,0 +1 @@ +Erik Charlebois diff --git a/basis/windows/directx/d3dx9shader/d3dx9shader.factor b/basis/windows/directx/d3dx9shader/d3dx9shader.factor new file mode 100644 index 0000000000..12ba902fc5 --- /dev/null +++ b/basis/windows/directx/d3dx9shader/d3dx9shader.factor @@ -0,0 +1,441 @@ +USING: alien.c-types alien.syntax classes.struct math +windows.com windows.com.syntax windows.directx.d3d9 +windows.directx.d3dx9core windows.directx.d3dx9math +windows.types ; +IN: windows.directx.d3dx9shader + +LIBRARY: d3dx9 + +: D3DXSHADER_DEBUG ( -- n ) 1 0 shift ; inline +: D3DXSHADER_SKIPVALIDATION ( -- n ) 1 1 shift ; inline +: D3DXSHADER_SKIPOPTIMIZATION ( -- n ) 1 2 shift ; inline +: D3DXSHADER_PACKMATRIX_ROWMAJOR ( -- n ) 1 3 shift ; inline +: D3DXSHADER_PACKMATRIX_COLUMNMAJOR ( -- n ) 1 4 shift ; inline +: D3DXSHADER_PARTIALPRECISION ( -- n ) 1 5 shift ; inline +: D3DXSHADER_FORCE_VS_SOFTWARE_NOOPT ( -- n ) 1 6 shift ; inline +: D3DXSHADER_FORCE_PS_SOFTWARE_NOOPT ( -- n ) 1 7 shift ; inline +: D3DXSHADER_NO_PRESHADER ( -- n ) 1 8 shift ; inline +: D3DXSHADER_AVOID_FLOW_CONTROL ( -- n ) 1 9 shift ; inline +: D3DXSHADER_PREFER_FLOW_CONTROL ( -- n ) 1 10 shift ; inline +: D3DXSHADER_ENABLE_BACKWARDS_COMPATIBILITY ( -- n ) 1 12 shift ; inline +: D3DXSHADER_IEEE_STRICTNESS ( -- n ) 1 13 shift ; inline +: D3DXSHADER_USE_LEGACY_D3DX9_31_DLL ( -- n ) 1 16 shift ; inline + +: D3DXSHADER_OPTIMIZATION_LEVEL0 ( -- n ) 1 14 shift ; inline +: D3DXSHADER_OPTIMIZATION_LEVEL1 ( -- n ) 0 ; inline +: D3DXSHADER_OPTIMIZATION_LEVEL2 ( -- n ) 1 14 shift 1 15 shift bitor ; inline +: D3DXSHADER_OPTIMIZATION_LEVEL3 ( -- n ) 1 15 shift ; inline + +: D3DXCONSTTABLE_LARGEADDRESSAWARE ( -- n ) 1 17 shift ; inline + +TYPEDEF: LPCSTR D3DXHANDLE +TYPEDEF: D3DXHANDLE* LPD3DXHANDLE + +STRUCT: D3DXMACRO + { Name LPCSTR } + { Definition LPCSTR } ; +TYPEDEF: D3DXMACRO* LPD3DXMACRO + +STRUCT: D3DXSEMANTIC + { Usage UINT } + { UsageIndex UINT } ; +TYPEDEF: D3DXSEMANTIC* LPD3DXSEMANTIC + +C-ENUM: + D3DXRS_BOOL + D3DXRS_INT4 + D3DXRS_FLOAT4 + D3DXRS_SAMPLER ; +TYPEDEF: int D3DXREGISTER_SET +TYPEDEF: D3DXREGISTER_SET* LPD3DXREGISTER_SET + +C-ENUM: + D3DXPC_SCALAR + D3DXPC_VECTOR + D3DXPC_MATRIX_ROWS + D3DXPC_MATRIX_COLUMNS + D3DXPC_OBJECT + D3DXPC_STRUCT ; +TYPEDEF: int D3DXPARAMETER_CLASS +TYPEDEF: D3DXPARAMETER_CLASS* LPD3DXPARAMETER_CLASS + +C-ENUM: + D3DXPT_VOID + D3DXPT_BOOL + D3DXPT_INT + D3DXPT_FLOAT + D3DXPT_STRING + D3DXPT_TEXTURE + D3DXPT_TEXTURE1D + D3DXPT_TEXTURE2D + D3DXPT_TEXTURE3D + D3DXPT_TEXTURECUBE + D3DXPT_SAMPLER + D3DXPT_SAMPLER1D + D3DXPT_SAMPLER2D + D3DXPT_SAMPLER3D + D3DXPT_SAMPLERCUBE + D3DXPT_PIXELSHADER + D3DXPT_VERTEXSHADER + D3DXPT_PIXELFRAGMENT + D3DXPT_VERTEXFRAGMENT + D3DXPT_UNSUPPORTED ; +TYPEDEF: int D3DXPARAMETER_TYPE +TYPEDEF: D3DXPARAMETER_TYPE* LPD3DXPARAMETER_TYPE + +STRUCT: D3DXCONSTANTTABLE_DESC + { Creator LPCSTR } + { Version DWORD } + { Constants UINT } ; +TYPEDEF: D3DXCONSTANTTABLE_DESC* LPD3DXCONSTANTTABLE_DESC + +STRUCT: D3DXCONSTANT_DESC + { Name LPCSTR } + { RegisterSet D3DXREGISTER_SET } + { RegisterIndex UINT } + { RegisterCount UINT } + { Class D3DXPARAMETER_CLASS } + { Type D3DXPARAMETER_TYPE } + { Rows UINT } + { Columns UINT } + { Elements UINT } + { StructMembers UINT } + { Bytes UINT } + { DefaultValue LPCVOID } ; +TYPEDEF: D3DXCONSTANT_DESC* LPD3DXCONSTANT_DESC + +C-TYPE: ID3DXConstantTable +TYPEDEF: ID3DXConstantTable* LPD3DXCONSTANTTABLE + +COM-INTERFACE: ID3DXConstantTable IUnknown {AB3C758F-093E-4356-B762-4DB18F1B3A01} + LPVOID GetBufferPointer ( ) + DWORD GetBufferSize ( ) + HRESULT GetDesc ( D3DXCONSTANTTABLE_DESC* pDesc ) + HRESULT GetConstantDesc ( D3DXHANDLE hConstant, D3DXCONSTANT_DESC* pConstantDesc, UINT* pCount ) + UINT GetSamplerIndex ( D3DXHANDLE hConstant ) + D3DXHANDLE GetConstant ( D3DXHANDLE hConstant, UINT Index ) + D3DXHANDLE GetConstantByName ( D3DXHANDLE hConstant, LPCSTR pName ) + D3DXHANDLE GetConstantElement ( D3DXHANDLE hConstant, UINT Index ) + HRESULT SetDefaults ( LPDIRECT3DDEVICE9 pDevice ) + HRESULT SetValue ( LPDIRECT3DDEVICE9 pDevice, D3DXHANDLE hConstant, LPCVOID pData, UINT Bytes ) + HRESULT SetBool ( LPDIRECT3DDEVICE9 pDevice, D3DXHANDLE hConstant, BOOL b ) + HRESULT SetBoolArray ( LPDIRECT3DDEVICE9 pDevice, D3DXHANDLE hConstant, BOOL* pb, UINT Count ) + HRESULT SetInt ( LPDIRECT3DDEVICE9 pDevice, D3DXHANDLE hConstant, INT n ) + HRESULT SetIntArray ( LPDIRECT3DDEVICE9 pDevice, D3DXHANDLE hConstant, INT* pn, UINT Count ) + HRESULT SetFloat ( LPDIRECT3DDEVICE9 pDevice, D3DXHANDLE hConstant, FLOAT f ) + HRESULT SetFloatArray ( LPDIRECT3DDEVICE9 pDevice, D3DXHANDLE hConstant, FLOAT* pf, UINT Count ) + HRESULT SetVector ( LPDIRECT3DDEVICE9 pDevice, D3DXHANDLE hConstant, D3DXVECTOR4* pVector ) + HRESULT SetVectorArray ( LPDIRECT3DDEVICE9 pDevice, D3DXHANDLE hConstant, D3DXVECTOR4* pVector, UINT Count ) + HRESULT SetMatrix ( LPDIRECT3DDEVICE9 pDevice, D3DXHANDLE hConstant, D3DXMATRIX* pMatrix ) + HRESULT SetMatrixArray ( LPDIRECT3DDEVICE9 pDevice, D3DXHANDLE hConstant, D3DXMATRIX* pMatrix, UINT Count ) + HRESULT SetMatrixPointerArray ( LPDIRECT3DDEVICE9 pDevice, D3DXHANDLE hConstant, D3DXMATRIX** ppMatrix, UINT Count ) + HRESULT SetMatrixTranspose ( LPDIRECT3DDEVICE9 pDevice, D3DXHANDLE hConstant, D3DXMATRIX* pMatrix ) + HRESULT SetMatrixTransposeArray ( LPDIRECT3DDEVICE9 pDevice, D3DXHANDLE hConstant, D3DXMATRIX* pMatrix, UINT Count ) + HRESULT SetMatrixTransposePointerArray ( LPDIRECT3DDEVICE9 pDevice, D3DXHANDLE hConstant, D3DXMATRIX** ppMatrix, UINT Count ) ; + +C-TYPE: ID3DXTextureShader +TYPEDEF: ID3DXTextureShader* LPD3DXTEXTURESHADER + +COM-INTERFACE: ID3DXTextureShader IUnknown {3E3D67F8-AA7A-405d-A857-BA01D4758426} + HRESULT GetFunction ( LPD3DXBUFFER* ppFunction ) + HRESULT GetConstantBuffer ( LPD3DXBUFFER* ppConstantBuffer ) + HRESULT GetDesc ( D3DXCONSTANTTABLE_DESC* pDesc ) + HRESULT GetConstantDesc ( D3DXHANDLE hConstant, D3DXCONSTANT_DESC* pConstantDesc, UINT* pCount ) + D3DXHANDLE GetConstant ( D3DXHANDLE hConstant, UINT Index ) + D3DXHANDLE GetConstantByName ( D3DXHANDLE hConstant, LPCSTR pName ) + D3DXHANDLE GetConstantElement ( D3DXHANDLE hConstant, UINT Index ) + HRESULT SetDefaults ( ) + HRESULT SetValue ( D3DXHANDLE hConstant, LPCVOID pData, UINT Bytes ) + HRESULT SetBool ( D3DXHANDLE hConstant, BOOL b ) + HRESULT SetBoolArray ( D3DXHANDLE hConstant, BOOL* pb, UINT Count ) + HRESULT SetInt ( D3DXHANDLE hConstant, INT n ) + HRESULT SetIntArray ( D3DXHANDLE hConstant, INT* pn, UINT Count ) + HRESULT SetFloat ( D3DXHANDLE hConstant, FLOAT f ) + HRESULT SetFloatArray ( D3DXHANDLE hConstant, FLOAT* pf, UINT Count ) + HRESULT SetVector ( D3DXHANDLE hConstant, D3DXVECTOR4* pVector ) + HRESULT SetVectorArray ( D3DXHANDLE hConstant, D3DXVECTOR4* pVector, UINT Count ) + HRESULT SetMatrix ( D3DXHANDLE hConstant, D3DXMATRIX* pMatrix ) + HRESULT SetMatrixArray ( D3DXHANDLE hConstant, D3DXMATRIX* pMatrix, UINT Count ) + HRESULT SetMatrixPointerArray ( D3DXHANDLE hConstant, D3DXMATRIX** ppMatrix, UINT Count ) + HRESULT SetMatrixTranspose ( D3DXHANDLE hConstant, D3DXMATRIX* pMatrix ) + HRESULT SetMatrixTransposeArray ( D3DXHANDLE hConstant, D3DXMATRIX* pMatrix, UINT Count ) + HRESULT SetMatrixTransposePointerArray ( D3DXHANDLE hConstant, D3DXMATRIX** ppMatrix, UINT Count ) ; + +C-ENUM: + D3DXINC_LOCAL + D3DXINC_SYSTEM ; +TYPEDEF: int D3DXINCLUDE_TYPE +TYPEDEF: D3DXINCLUDE_TYPE* LPD3DXINCLUDE_TYPE + +C-TYPE: ID3DXInclude +TYPEDEF: ID3DXInclude* LPD3DXINCLUDE + +COM-INTERFACE: ID3DXInclude f {00000000-0000-0000-0000-000000000000} + HRESULT Open ( D3DXINCLUDE_TYPE IncludeType, LPCSTR pFileName, LPCVOID pParentData, LPCVOID* ppData, UINT* pBytes ) + HRESULT Close ( LPCVOID pData ) ; + +FUNCTION: HRESULT + D3DXAssembleShaderFromFileA ( + LPCSTR pSrcFile, + D3DXMACRO* pDefines, + LPD3DXINCLUDE pInclude, + DWORD Flags, + LPD3DXBUFFER* ppShader, + LPD3DXBUFFER* ppErrorMsgs ) ; + +FUNCTION: HRESULT + D3DXAssembleShaderFromFileW ( + LPCWSTR pSrcFile, + D3DXMACRO* pDefines, + LPD3DXINCLUDE pInclude, + DWORD Flags, + LPD3DXBUFFER* ppShader, + LPD3DXBUFFER* ppErrorMsgs ) ; + +ALIAS: D3DXAssembleShaderFromFile D3DXAssembleShaderFromFileW + +FUNCTION: HRESULT + D3DXAssembleShaderFromResourceA ( + HMODULE hSrcModule, + LPCSTR pSrcResource, + D3DXMACRO* pDefines, + LPD3DXINCLUDE pInclude, + DWORD Flags, + LPD3DXBUFFER* ppShader, + LPD3DXBUFFER* ppErrorMsgs ) ; + +FUNCTION: HRESULT + D3DXAssembleShaderFromResourceW ( + HMODULE hSrcModule, + LPCWSTR pSrcResource, + D3DXMACRO* pDefines, + LPD3DXINCLUDE pInclude, + DWORD Flags, + LPD3DXBUFFER* ppShader, + LPD3DXBUFFER* ppErrorMsgs ) ; + +ALIAS: D3DXAssembleShaderFromResource D3DXAssembleShaderFromResourceW + +FUNCTION: HRESULT + D3DXAssembleShader ( + LPCSTR pSrcData, + UINT SrcDataLen, + D3DXMACRO* pDefines, + LPD3DXINCLUDE pInclude, + DWORD Flags, + LPD3DXBUFFER* ppShader, + LPD3DXBUFFER* ppErrorMsgs ) ; + +FUNCTION: HRESULT + D3DXCompileShaderFromFileA ( + LPCSTR pSrcFile, + D3DXMACRO* pDefines, + LPD3DXINCLUDE pInclude, + LPCSTR pFunctionName, + LPCSTR pProfile, + DWORD Flags, + LPD3DXBUFFER* ppShader, + LPD3DXBUFFER* ppErrorMsgs, + LPD3DXCONSTANTTABLE* ppConstantTable ) ; + +FUNCTION: HRESULT + D3DXCompileShaderFromFileW ( + LPCWSTR pSrcFile, + D3DXMACRO* pDefines, + LPD3DXINCLUDE pInclude, + LPCSTR pFunctionName, + LPCSTR pProfile, + DWORD Flags, + LPD3DXBUFFER* ppShader, + LPD3DXBUFFER* ppErrorMsgs, + LPD3DXCONSTANTTABLE* ppConstantTable ) ; + +ALIAS: D3DXCompileShaderFromFile D3DXCompileShaderFromFileW + +FUNCTION: HRESULT + D3DXCompileShaderFromResourceA ( + HMODULE hSrcModule, + LPCSTR pSrcResource, + D3DXMACRO* pDefines, + LPD3DXINCLUDE pInclude, + LPCSTR pFunctionName, + LPCSTR pProfile, + DWORD Flags, + LPD3DXBUFFER* ppShader, + LPD3DXBUFFER* ppErrorMsgs, + LPD3DXCONSTANTTABLE* ppConstantTable ) ; + +FUNCTION: HRESULT + D3DXCompileShaderFromResourceW ( + HMODULE hSrcModule, + LPCWSTR pSrcResource, + D3DXMACRO* pDefines, + LPD3DXINCLUDE pInclude, + LPCSTR pFunctionName, + LPCSTR pProfile, + DWORD Flags, + LPD3DXBUFFER* ppShader, + LPD3DXBUFFER* ppErrorMsgs, + LPD3DXCONSTANTTABLE* ppConstantTable ) ; + +ALIAS: D3DXCompileShaderFromResource D3DXCompileShaderFromResourceW + +FUNCTION: HRESULT + D3DXCompileShader ( + LPCSTR pSrcData, + UINT SrcDataLen, + D3DXMACRO* pDefines, + LPD3DXINCLUDE pInclude, + LPCSTR pFunctionName, + LPCSTR pProfile, + DWORD Flags, + LPD3DXBUFFER* ppShader, + LPD3DXBUFFER* ppErrorMsgs, + LPD3DXCONSTANTTABLE* ppConstantTable ) ; + +FUNCTION: HRESULT + D3DXDisassembleShader ( + DWORD* pShader, + BOOL EnableColorCode, + LPCSTR pComments, + LPD3DXBUFFER* ppDisassembly ) ; + +FUNCTION: LPCSTR + D3DXGetPixelShaderProfile ( + LPDIRECT3DDEVICE9 pDevice ) ; + +FUNCTION: LPCSTR + D3DXGetVertexShaderProfile ( + LPDIRECT3DDEVICE9 pDevice ) ; + +FUNCTION: HRESULT + D3DXFindShaderComment ( + DWORD* pFunction, + DWORD FourCC, + LPCVOID* ppData, + UINT* pSizeInBytes ) ; + +FUNCTION: UINT + D3DXGetShaderSize ( + DWORD* pFunction ) ; + +FUNCTION: DWORD + D3DXGetShaderVersion ( + DWORD* pFunction ) ; + +FUNCTION: HRESULT + D3DXGetShaderInputSemantics ( + DWORD* pFunction, + D3DXSEMANTIC* pSemantics, + UINT* pCount ) ; + +FUNCTION: HRESULT + D3DXGetShaderOutputSemantics ( + DWORD* pFunction, + D3DXSEMANTIC* pSemantics, + UINT* pCount ) ; + +FUNCTION: HRESULT + D3DXGetShaderSamplers ( + DWORD* pFunction, + LPCSTR* pSamplers, + UINT* pCount ) ; + +FUNCTION: HRESULT + D3DXGetShaderConstantTable ( + DWORD* pFunction, + LPD3DXCONSTANTTABLE* ppConstantTable ) ; + +FUNCTION: HRESULT + D3DXGetShaderConstantTableEx ( + DWORD* pFunction, + DWORD Flags, + LPD3DXCONSTANTTABLE* ppConstantTable ) ; + +FUNCTION: HRESULT + D3DXCreateTextureShader ( + DWORD* pFunction, + LPD3DXTEXTURESHADER* ppTextureShader ) ; + +FUNCTION: HRESULT + D3DXPreprocessShaderFromFileA ( + LPCSTR pSrcFile, + D3DXMACRO* pDefines, + LPD3DXINCLUDE pInclude, + LPD3DXBUFFER* ppShaderText, + LPD3DXBUFFER* ppErrorMsgs ) ; + +FUNCTION: HRESULT + D3DXPreprocessShaderFromFileW ( + LPCWSTR pSrcFile, + D3DXMACRO* pDefines, + LPD3DXINCLUDE pInclude, + LPD3DXBUFFER* ppShaderText, + LPD3DXBUFFER* ppErrorMsgs ) ; + +ALIAS: D3DXPreprocessShaderFromFile D3DXPreprocessShaderFromFileW + +FUNCTION: HRESULT + D3DXPreprocessShaderFromResourceA ( + HMODULE hSrcModule, + LPCSTR pSrcResource, + D3DXMACRO* pDefines, + LPD3DXINCLUDE pInclude, + LPD3DXBUFFER* ppShaderText, + LPD3DXBUFFER* ppErrorMsgs ) ; + +FUNCTION: HRESULT + D3DXPreprocessShaderFromResourceW ( + HMODULE hSrcModule, + LPCWSTR pSrcResource, + D3DXMACRO* pDefines, + LPD3DXINCLUDE pInclude, + LPD3DXBUFFER* ppShaderText, + LPD3DXBUFFER* ppErrorMsgs ) ; + +ALIAS: D3DXPreprocessShaderFromResource D3DXPreprocessShaderFromResourceW + +FUNCTION: HRESULT + D3DXPreprocessShader ( + LPCSTR pSrcData, + UINT SrcDataSize, + D3DXMACRO* pDefines, + LPD3DXINCLUDE pInclude, + LPD3DXBUFFER* ppShaderText, + LPD3DXBUFFER* ppErrorMsgs ) ; + +STRUCT: D3DXSHADER_CONSTANTTABLE + { Size DWORD } + { Creator DWORD } + { Version DWORD } + { Constants DWORD } + { ConstantInfo DWORD } + { Flags DWORD } + { Target DWORD } ; +TYPEDEF: D3DXSHADER_CONSTANTTABLE* LPD3DXSHADER_CONSTANTTABLE + +STRUCT: D3DXSHADER_CONSTANTINFO + { Name DWORD } + { RegisterSet WORD } + { RegisterIndex WORD } + { RegisterCount WORD } + { Reserved WORD } + { TypeInfo DWORD } + { DefaultValue DWORD } ; +TYPEDEF: D3DXSHADER_CONSTANTINFO* LPD3DXSHADER_CONSTANTINFO + +STRUCT: D3DXSHADER_TYPEINFO + { Class WORD } + { Type WORD } + { Rows WORD } + { Columns WORD } + { Elements WORD } + { StructMembers WORD } + { StructMemberInfo DWORD } ; +TYPEDEF: D3DXSHADER_TYPEINFO* LPD3DXSHADER_TYPEINFO + +STRUCT: D3DXSHADER_STRUCTMEMBERINFO + { Name DWORD } + { TypeInfo DWORD } ; +TYPEDEF: D3DXSHADER_STRUCTMEMBERINFO* LPD3DXSHADER_STRUCTMEMBERINFO + diff --git a/basis/windows/directx/d3dx9shader/summary.txt b/basis/windows/directx/d3dx9shader/summary.txt new file mode 100644 index 0000000000..a56300a272 --- /dev/null +++ b/basis/windows/directx/d3dx9shader/summary.txt @@ -0,0 +1 @@ +DirectX 9 bindings. Corresponds to d3dx9shader.h. diff --git a/basis/windows/directx/d3dx9shader/tags.txt b/basis/windows/directx/d3dx9shader/tags.txt new file mode 100644 index 0000000000..2320bdd648 --- /dev/null +++ b/basis/windows/directx/d3dx9shader/tags.txt @@ -0,0 +1,2 @@ +unportable +bindings diff --git a/basis/windows/directx/d3dx9shape/authors.txt b/basis/windows/directx/d3dx9shape/authors.txt new file mode 100644 index 0000000000..6f03a12101 --- /dev/null +++ b/basis/windows/directx/d3dx9shape/authors.txt @@ -0,0 +1 @@ +Erik Charlebois diff --git a/basis/windows/directx/d3dx9shape/d3dx9shape.factor b/basis/windows/directx/d3dx9shape/d3dx9shape.factor new file mode 100644 index 0000000000..33b3308b72 --- /dev/null +++ b/basis/windows/directx/d3dx9shape/d3dx9shape.factor @@ -0,0 +1,85 @@ +USING: alien.c-types alien.syntax windows.directx.d3d9 +windows.directx.d3dx9core windows.directx.d3dx9mesh +windows.types ; +IN: windows.directx.d3dx9shape + +LIBRARY: d3dx9 + +TYPEDEF: void* LPGLYPHMETRICSFLOAT + +FUNCTION: HRESULT + D3DXCreatePolygon ( + LPDIRECT3DDEVICE9 pDevice, + FLOAT Length, + UINT Sides, + LPD3DXMESH* ppMesh, + LPD3DXBUFFER* ppAdjacency ) ; + +FUNCTION: HRESULT + D3DXCreateBox ( + LPDIRECT3DDEVICE9 pDevice, + FLOAT Width, + FLOAT Height, + FLOAT Depth, + LPD3DXMESH* ppMesh, + LPD3DXBUFFER* ppAdjacency ) ; + +FUNCTION: HRESULT + D3DXCreateCylinder ( + LPDIRECT3DDEVICE9 pDevice, + FLOAT Radius1, + FLOAT Radius2, + FLOAT Length, + UINT Slices, + UINT Stacks, + LPD3DXMESH* ppMesh, + LPD3DXBUFFER* ppAdjacency ) ; + +FUNCTION: HRESULT + D3DXCreateSphere ( + LPDIRECT3DDEVICE9 pDevice, + FLOAT Radius, + UINT Slices, + UINT Stacks, + LPD3DXMESH* ppMesh, + LPD3DXBUFFER* ppAdjacency ) ; + +FUNCTION: HRESULT + D3DXCreateTorus ( + LPDIRECT3DDEVICE9 pDevice, + FLOAT InnerRadius, + FLOAT OuterRadius, + UINT Sides, + UINT Rings, + LPD3DXMESH* ppMesh, + LPD3DXBUFFER* ppAdjacency ) ; + +FUNCTION: HRESULT + D3DXCreateTeapot ( + LPDIRECT3DDEVICE9 pDevice, + LPD3DXMESH* ppMesh, + LPD3DXBUFFER* ppAdjacency ) ; + +FUNCTION: HRESULT + D3DXCreateTextA ( + LPDIRECT3DDEVICE9 pDevice, + HDC hDC, + LPCSTR pText, + FLOAT Deviation, + FLOAT Extrusion, + LPD3DXMESH* ppMesh, + LPD3DXBUFFER* ppAdjacency, + LPGLYPHMETRICSFLOAT pGlyphMetrics ) ; + +FUNCTION: HRESULT + D3DXCreateTextW ( + LPDIRECT3DDEVICE9 pDevice, + HDC hDC, + LPCWSTR pText, + FLOAT Deviation, + FLOAT Extrusion, + LPD3DXMESH* ppMesh, + LPD3DXBUFFER* ppAdjacency, + LPGLYPHMETRICSFLOAT pGlyphMetrics ) ; + +ALIAS: D3DXCreateText D3DXCreateTextW diff --git a/basis/windows/directx/d3dx9shape/summary.txt b/basis/windows/directx/d3dx9shape/summary.txt new file mode 100644 index 0000000000..0675145db8 --- /dev/null +++ b/basis/windows/directx/d3dx9shape/summary.txt @@ -0,0 +1 @@ +DirectX 9 bindings. Corresponds to d3dx9shape.h. diff --git a/basis/windows/directx/d3dx9shape/tags.txt b/basis/windows/directx/d3dx9shape/tags.txt new file mode 100644 index 0000000000..2320bdd648 --- /dev/null +++ b/basis/windows/directx/d3dx9shape/tags.txt @@ -0,0 +1,2 @@ +unportable +bindings diff --git a/basis/windows/directx/d3dx9tex/authors.txt b/basis/windows/directx/d3dx9tex/authors.txt new file mode 100644 index 0000000000..6f03a12101 --- /dev/null +++ b/basis/windows/directx/d3dx9tex/authors.txt @@ -0,0 +1 @@ +Erik Charlebois diff --git a/basis/windows/directx/d3dx9tex/d3dx9tex.factor b/basis/windows/directx/d3dx9tex/d3dx9tex.factor new file mode 100644 index 0000000000..c1de9d0d0b --- /dev/null +++ b/basis/windows/directx/d3dx9tex/d3dx9tex.factor @@ -0,0 +1,847 @@ +USING: alien.c-types alien.syntax classes.struct math +windows.directx.d3d9 windows.directx.d3d9types +windows.directx.d3dx9core windows.directx.d3dx9shader +windows.types ; +IN: windows.directx.d3dx9tex + +LIBRARY: d3dx9 + +: D3DX_FILTER_NONE ( -- n ) 1 0 shift ; inline +: D3DX_FILTER_POINT ( -- n ) 2 0 shift ; inline +: D3DX_FILTER_LINEAR ( -- n ) 3 0 shift ; inline +: D3DX_FILTER_TRIANGLE ( -- n ) 4 0 shift ; inline +: D3DX_FILTER_BOX ( -- n ) 5 0 shift ; inline + +: D3DX_FILTER_MIRROR_U ( -- n ) 1 16 shift ; inline +: D3DX_FILTER_MIRROR_V ( -- n ) 2 16 shift ; inline +: D3DX_FILTER_MIRROR_W ( -- n ) 4 16 shift ; inline +: D3DX_FILTER_MIRROR ( -- n ) 7 16 shift ; inline + +: D3DX_FILTER_DITHER ( -- n ) 1 19 shift ; inline +: D3DX_FILTER_DITHER_DIFFUSION ( -- n ) 2 19 shift ; inline + +: D3DX_FILTER_SRGB_IN ( -- n ) 1 21 shift ; inline +: D3DX_FILTER_SRGB_OUT ( -- n ) 2 21 shift ; inline +: D3DX_FILTER_SRGB ( -- n ) 3 21 shift ; inline + +CONSTANT: D3DX_SKIP_DDS_MIP_LEVELS_MASK HEX: 1F +CONSTANT: D3DX_SKIP_DDS_MIP_LEVELS_SHIFT 26 + +: D3DX_NORMALMAP_MIRROR_U ( -- n ) 1 16 shift ; inline +: D3DX_NORMALMAP_MIRROR_V ( -- n ) 2 16 shift ; inline +: D3DX_NORMALMAP_MIRROR ( -- n ) 3 16 shift ; inline +: D3DX_NORMALMAP_INVERTSIGN ( -- n ) 8 16 shift ; inline +: D3DX_NORMALMAP_COMPUTE_OCCLUSION ( -- n ) 16 16 shift ; inline + +: D3DX_CHANNEL_RED ( -- n ) 1 0 shift ; inline +: D3DX_CHANNEL_BLUE ( -- n ) 1 1 shift ; inline +: D3DX_CHANNEL_GREEN ( -- n ) 1 2 shift ; inline +: D3DX_CHANNEL_ALPHA ( -- n ) 1 3 shift ; inline +: D3DX_CHANNEL_LUMINANCE ( -- n ) 1 4 shift ; inline + +CONSTANT: D3DXIFF_BMP 0 +CONSTANT: D3DXIFF_JPG 1 +CONSTANT: D3DXIFF_TGA 2 +CONSTANT: D3DXIFF_PNG 3 +CONSTANT: D3DXIFF_DDS 4 +CONSTANT: D3DXIFF_PPM 5 +CONSTANT: D3DXIFF_DIB 6 +CONSTANT: D3DXIFF_HDR 7 +CONSTANT: D3DXIFF_PFM 8 +CONSTANT: D3DXIFF_FORCE_DWORD HEX: 7fffffff +TYPEDEF: int D3DXIMAGE_FILEFORMAT + +TYPEDEF: void* LPD3DXFILL2D +TYPEDEF: void* LPD3DXFILL3D + +STRUCT: D3DXIMAGE_INFO + { Width UINT } + { Height UINT } + { Depth UINT } + { MipLevels UINT } + { Format D3DFORMAT } + { ResourceType D3DRESOURCETYPE } + { ImageFileFormat D3DXIMAGE_FILEFORMAT } ; + +FUNCTION: HRESULT + D3DXGetImageInfoFromFileA ( + LPCSTR pSrcFile, + D3DXIMAGE_INFO* pSrcInfo ) ; + +FUNCTION: HRESULT + D3DXGetImageInfoFromFileW ( + LPCWSTR pSrcFile, + D3DXIMAGE_INFO* pSrcInfo ) ; + +ALIAS: D3DXGetImageInfoFromFile D3DXGetImageInfoFromFileW + +FUNCTION: HRESULT + D3DXGetImageInfoFromResourceA ( + HMODULE hSrcModule, + LPCSTR pSrcResource, + D3DXIMAGE_INFO* pSrcInfo ) ; + +FUNCTION: HRESULT + D3DXGetImageInfoFromResourceW ( + HMODULE hSrcModule, + LPCWSTR pSrcResource, + D3DXIMAGE_INFO* pSrcInfo ) ; + +ALIAS: D3DXGetImageInfoFromResource D3DXGetImageInfoFromResourceW + +FUNCTION: HRESULT + D3DXGetImageInfoFromFileInMemory ( + LPCVOID pSrcData, + UINT SrcDataSize, + D3DXIMAGE_INFO* pSrcInfo ) ; + +FUNCTION: HRESULT + D3DXLoadSurfaceFromFileA ( + LPDIRECT3DSURFACE9 pDestSurface, + PALETTEENTRY* pDestPalette, + RECT* pDestRect, + LPCSTR pSrcFile, + RECT* pSrcRect, + DWORD Filter, + D3DCOLOR ColorKey, + D3DXIMAGE_INFO* pSrcInfo ) ; + +FUNCTION: HRESULT + D3DXLoadSurfaceFromFileW ( + LPDIRECT3DSURFACE9 pDestSurface, + PALETTEENTRY* pDestPalette, + RECT* pDestRect, + LPCWSTR pSrcFile, + RECT* pSrcRect, + DWORD Filter, + D3DCOLOR ColorKey, + D3DXIMAGE_INFO* pSrcInfo ) ; + +ALIAS: D3DXLoadSurfaceFromFile D3DXLoadSurfaceFromFileW + +FUNCTION: HRESULT + D3DXLoadSurfaceFromResourceA ( + LPDIRECT3DSURFACE9 pDestSurface, + PALETTEENTRY* pDestPalette, + RECT* pDestRect, + HMODULE hSrcModule, + LPCSTR pSrcResource, + RECT* pSrcRect, + DWORD Filter, + D3DCOLOR ColorKey, + D3DXIMAGE_INFO* pSrcInfo ) ; + +FUNCTION: HRESULT + D3DXLoadSurfaceFromResourceW ( + LPDIRECT3DSURFACE9 pDestSurface, + PALETTEENTRY* pDestPalette, + RECT* pDestRect, + HMODULE hSrcModule, + LPCWSTR pSrcResource, + RECT* pSrcRect, + DWORD Filter, + D3DCOLOR ColorKey, + D3DXIMAGE_INFO* pSrcInfo ) ; + +ALIAS: D3DXLoadSurfaceFromResource D3DXLoadSurfaceFromResourceW + +FUNCTION: HRESULT + D3DXLoadSurfaceFromFileInMemory ( + LPDIRECT3DSURFACE9 pDestSurface, + PALETTEENTRY* pDestPalette, + RECT* pDestRect, + LPCVOID pSrcData, + UINT SrcDataSize, + RECT* pSrcRect, + DWORD Filter, + D3DCOLOR ColorKey, + D3DXIMAGE_INFO* pSrcInfo ) ; + +FUNCTION: HRESULT + D3DXLoadSurfaceFromSurface ( + LPDIRECT3DSURFACE9 pDestSurface, + PALETTEENTRY* pDestPalette, + RECT* pDestRect, + LPDIRECT3DSURFACE9 pSrcSurface, + PALETTEENTRY* pSrcPalette, + RECT* pSrcRect, + DWORD Filter, + D3DCOLOR ColorKey ) ; + +FUNCTION: HRESULT + D3DXLoadSurfaceFromMemory ( + LPDIRECT3DSURFACE9 pDestSurface, + PALETTEENTRY* pDestPalette, + RECT* pDestRect, + LPCVOID pSrcMemory, + D3DFORMAT SrcFormat, + UINT SrcPitch, + PALETTEENTRY* pSrcPalette, + RECT* pSrcRect, + DWORD Filter, + D3DCOLOR ColorKey ) ; + +FUNCTION: HRESULT + D3DXSaveSurfaceToFileA ( + LPCSTR pDestFile, + D3DXIMAGE_FILEFORMAT DestFormat, + LPDIRECT3DSURFACE9 pSrcSurface, + PALETTEENTRY* pSrcPalette, + RECT* pSrcRect ) ; + +FUNCTION: HRESULT + D3DXSaveSurfaceToFileW ( + LPCWSTR pDestFile, + D3DXIMAGE_FILEFORMAT DestFormat, + LPDIRECT3DSURFACE9 pSrcSurface, + PALETTEENTRY* pSrcPalette, + RECT* pSrcRect ) ; + +ALIAS: D3DXSaveSurfaceToFile D3DXSaveSurfaceToFileW + +FUNCTION: HRESULT + D3DXSaveSurfaceToFileInMemory ( + LPD3DXBUFFER* ppDestBuf, + D3DXIMAGE_FILEFORMAT DestFormat, + LPDIRECT3DSURFACE9 pSrcSurface, + PALETTEENTRY* pSrcPalette, + RECT* pSrcRect ) ; + +FUNCTION: HRESULT + D3DXLoadVolumeFromFileA ( + LPDIRECT3DVOLUME9 pDestVolume, + PALETTEENTRY* pDestPalette, + D3DBOX* pDestBox, + LPCSTR pSrcFile, + D3DBOX* pSrcBox, + DWORD Filter, + D3DCOLOR ColorKey, + D3DXIMAGE_INFO* pSrcInfo ) ; + +FUNCTION: HRESULT + D3DXLoadVolumeFromFileW ( + LPDIRECT3DVOLUME9 pDestVolume, + PALETTEENTRY* pDestPalette, + D3DBOX* pDestBox, + LPCWSTR pSrcFile, + D3DBOX* pSrcBox, + DWORD Filter, + D3DCOLOR ColorKey, + D3DXIMAGE_INFO* pSrcInfo ) ; + +ALIAS: D3DXLoadVolumeFromFile D3DXLoadVolumeFromFileW + +FUNCTION: HRESULT + D3DXLoadVolumeFromResourceA ( + LPDIRECT3DVOLUME9 pDestVolume, + PALETTEENTRY* pDestPalette, + D3DBOX* pDestBox, + HMODULE hSrcModule, + LPCSTR pSrcResource, + D3DBOX* pSrcBox, + DWORD Filter, + D3DCOLOR ColorKey, + D3DXIMAGE_INFO* pSrcInfo ) ; + +FUNCTION: HRESULT + D3DXLoadVolumeFromResourceW ( + LPDIRECT3DVOLUME9 pDestVolume, + PALETTEENTRY* pDestPalette, + D3DBOX* pDestBox, + HMODULE hSrcModule, + LPCWSTR pSrcResource, + D3DBOX* pSrcBox, + DWORD Filter, + D3DCOLOR ColorKey, + D3DXIMAGE_INFO* pSrcInfo ) ; + +ALIAS: D3DXLoadVolumeFromResource D3DXLoadVolumeFromResourceW + +FUNCTION: HRESULT + D3DXLoadVolumeFromFileInMemory ( + LPDIRECT3DVOLUME9 pDestVolume, + PALETTEENTRY* pDestPalette, + D3DBOX* pDestBox, + LPCVOID pSrcData, + UINT SrcDataSize, + D3DBOX* pSrcBox, + DWORD Filter, + D3DCOLOR ColorKey, + D3DXIMAGE_INFO* pSrcInfo ) ; + +FUNCTION: HRESULT + D3DXLoadVolumeFromVolume ( + LPDIRECT3DVOLUME9 pDestVolume, + PALETTEENTRY* pDestPalette, + D3DBOX* pDestBox, + LPDIRECT3DVOLUME9 pSrcVolume, + PALETTEENTRY* pSrcPalette, + D3DBOX* pSrcBox, + DWORD Filter, + D3DCOLOR ColorKey ) ; + +FUNCTION: HRESULT + D3DXLoadVolumeFromMemory ( + LPDIRECT3DVOLUME9 pDestVolume, + PALETTEENTRY* pDestPalette, + D3DBOX* pDestBox, + LPCVOID pSrcMemory, + D3DFORMAT SrcFormat, + UINT SrcRowPitch, + UINT SrcSlicePitch, + PALETTEENTRY* pSrcPalette, + D3DBOX* pSrcBox, + DWORD Filter, + D3DCOLOR ColorKey ) ; + +FUNCTION: HRESULT + D3DXSaveVolumeToFileA ( + LPCSTR pDestFile, + D3DXIMAGE_FILEFORMAT DestFormat, + LPDIRECT3DVOLUME9 pSrcVolume, + PALETTEENTRY* pSrcPalette, + D3DBOX* pSrcBox ) ; + +FUNCTION: HRESULT + D3DXSaveVolumeToFileW ( + LPCWSTR pDestFile, + D3DXIMAGE_FILEFORMAT DestFormat, + LPDIRECT3DVOLUME9 pSrcVolume, + PALETTEENTRY* pSrcPalette, + D3DBOX* pSrcBox ) ; + +ALIAS: D3DXSaveVolumeToFile D3DXSaveVolumeToFileW + +FUNCTION: HRESULT + D3DXSaveVolumeToFileInMemory ( + LPD3DXBUFFER* ppDestBuf, + D3DXIMAGE_FILEFORMAT DestFormat, + LPDIRECT3DVOLUME9 pSrcVolume, + PALETTEENTRY* pSrcPalette, + D3DBOX* pSrcBox ) ; + +FUNCTION: HRESULT + D3DXCheckTextureRequirements ( + LPDIRECT3DDEVICE9 pDevice, + UINT* pWidth, + UINT* pHeight, + UINT* pNumMipLevels, + DWORD Usage, + D3DFORMAT* pFormat, + D3DPOOL Pool ) ; + +FUNCTION: HRESULT + D3DXCheckCubeTextureRequirements ( + LPDIRECT3DDEVICE9 pDevice, + UINT* pSize, + UINT* pNumMipLevels, + DWORD Usage, + D3DFORMAT* pFormat, + D3DPOOL Pool ) ; + +FUNCTION: HRESULT + D3DXCheckVolumeTextureRequirements ( + LPDIRECT3DDEVICE9 pDevice, + UINT* pWidth, + UINT* pHeight, + UINT* pDepth, + UINT* pNumMipLevels, + DWORD Usage, + D3DFORMAT* pFormat, + D3DPOOL Pool ) ; + +FUNCTION: HRESULT + D3DXCreateTexture ( + LPDIRECT3DDEVICE9 pDevice, + UINT Width, + UINT Height, + UINT MipLevels, + DWORD Usage, + D3DFORMAT Format, + D3DPOOL Pool, + LPDIRECT3DTEXTURE9* ppTexture ) ; + +FUNCTION: HRESULT + D3DXCreateCubeTexture ( + LPDIRECT3DDEVICE9 pDevice, + UINT Size, + UINT MipLevels, + DWORD Usage, + D3DFORMAT Format, + D3DPOOL Pool, + LPDIRECT3DCUBETEXTURE9* ppCubeTexture ) ; + +FUNCTION: HRESULT + D3DXCreateVolumeTexture ( + LPDIRECT3DDEVICE9 pDevice, + UINT Width, + UINT Height, + UINT Depth, + UINT MipLevels, + DWORD Usage, + D3DFORMAT Format, + D3DPOOL Pool, + LPDIRECT3DVOLUMETEXTURE9* ppVolumeTexture ) ; + +FUNCTION: HRESULT + D3DXCreateTextureFromFileA ( + LPDIRECT3DDEVICE9 pDevice, + LPCSTR pSrcFile, + LPDIRECT3DTEXTURE9* ppTexture ) ; + +FUNCTION: HRESULT + D3DXCreateTextureFromFileW ( + LPDIRECT3DDEVICE9 pDevice, + LPCWSTR pSrcFile, + LPDIRECT3DTEXTURE9* ppTexture ) ; + +ALIAS: D3DXCreateTextureFromFile D3DXCreateTextureFromFileW + +FUNCTION: HRESULT + D3DXCreateCubeTextureFromFileA ( + LPDIRECT3DDEVICE9 pDevice, + LPCSTR pSrcFile, + LPDIRECT3DCUBETEXTURE9* ppCubeTexture ) ; + +FUNCTION: HRESULT + D3DXCreateCubeTextureFromFileW ( + LPDIRECT3DDEVICE9 pDevice, + LPCWSTR pSrcFile, + LPDIRECT3DCUBETEXTURE9* ppCubeTexture ) ; + +ALIAS: D3DXCreateCubeTextureFromFile D3DXCreateCubeTextureFromFileW + +FUNCTION: HRESULT + D3DXCreateVolumeTextureFromFileA ( + LPDIRECT3DDEVICE9 pDevice, + LPCSTR pSrcFile, + LPDIRECT3DVOLUMETEXTURE9* ppVolumeTexture ) ; + +FUNCTION: HRESULT + D3DXCreateVolumeTextureFromFileW ( + LPDIRECT3DDEVICE9 pDevice, + LPCWSTR pSrcFile, + LPDIRECT3DVOLUMETEXTURE9* ppVolumeTexture ) ; + +ALIAS: D3DXCreateVolumeTextureFromFile D3DXCreateVolumeTextureFromFileW + +FUNCTION: HRESULT + D3DXCreateTextureFromResourceA ( + LPDIRECT3DDEVICE9 pDevice, + HMODULE hSrcModule, + LPCSTR pSrcResource, + LPDIRECT3DTEXTURE9* ppTexture ) ; + +FUNCTION: HRESULT + D3DXCreateTextureFromResourceW ( + LPDIRECT3DDEVICE9 pDevice, + HMODULE hSrcModule, + LPCWSTR pSrcResource, + LPDIRECT3DTEXTURE9* ppTexture ) ; + +ALIAS: D3DXCreateTextureFromResource D3DXCreateTextureFromResourceW + +FUNCTION: HRESULT + D3DXCreateCubeTextureFromResourceA ( + LPDIRECT3DDEVICE9 pDevice, + HMODULE hSrcModule, + LPCSTR pSrcResource, + LPDIRECT3DCUBETEXTURE9* ppCubeTexture ) ; + +FUNCTION: HRESULT + D3DXCreateCubeTextureFromResourceW ( + LPDIRECT3DDEVICE9 pDevice, + HMODULE hSrcModule, + LPCWSTR pSrcResource, + LPDIRECT3DCUBETEXTURE9* ppCubeTexture ) ; + +ALIAS: D3DXCreateCubeTextureFromResource D3DXCreateCubeTextureFromResourceW + +FUNCTION: HRESULT + D3DXCreateVolumeTextureFromResourceA ( + LPDIRECT3DDEVICE9 pDevice, + HMODULE hSrcModule, + LPCSTR pSrcResource, + LPDIRECT3DVOLUMETEXTURE9* ppVolumeTexture ) ; + +FUNCTION: HRESULT + D3DXCreateVolumeTextureFromResourceW ( + LPDIRECT3DDEVICE9 pDevice, + HMODULE hSrcModule, + LPCWSTR pSrcResource, + LPDIRECT3DVOLUMETEXTURE9* ppVolumeTexture ) ; + +ALIAS: D3DXCreateVolumeTextureFromResource D3DXCreateVolumeTextureFromResourceW + +FUNCTION: HRESULT + D3DXCreateTextureFromFileExA ( + LPDIRECT3DDEVICE9 pDevice, + LPCSTR pSrcFile, + UINT Width, + UINT Height, + UINT MipLevels, + DWORD Usage, + D3DFORMAT Format, + D3DPOOL Pool, + DWORD Filter, + DWORD MipFilter, + D3DCOLOR ColorKey, + D3DXIMAGE_INFO* pSrcInfo, + PALETTEENTRY* pPalette, + LPDIRECT3DTEXTURE9* ppTexture ) ; + +FUNCTION: HRESULT + D3DXCreateTextureFromFileExW ( + LPDIRECT3DDEVICE9 pDevice, + LPCWSTR pSrcFile, + UINT Width, + UINT Height, + UINT MipLevels, + DWORD Usage, + D3DFORMAT Format, + D3DPOOL Pool, + DWORD Filter, + DWORD MipFilter, + D3DCOLOR ColorKey, + D3DXIMAGE_INFO* pSrcInfo, + PALETTEENTRY* pPalette, + LPDIRECT3DTEXTURE9* ppTexture ) ; + +ALIAS: D3DXCreateTextureFromFileEx D3DXCreateTextureFromFileExW + +FUNCTION: HRESULT + D3DXCreateCubeTextureFromFileExA ( + LPDIRECT3DDEVICE9 pDevice, + LPCSTR pSrcFile, + UINT Size, + UINT MipLevels, + DWORD Usage, + D3DFORMAT Format, + D3DPOOL Pool, + DWORD Filter, + DWORD MipFilter, + D3DCOLOR ColorKey, + D3DXIMAGE_INFO* pSrcInfo, + PALETTEENTRY* pPalette, + LPDIRECT3DCUBETEXTURE9* ppCubeTexture ) ; + +FUNCTION: HRESULT + D3DXCreateCubeTextureFromFileExW ( + LPDIRECT3DDEVICE9 pDevice, + LPCWSTR pSrcFile, + UINT Size, + UINT MipLevels, + DWORD Usage, + D3DFORMAT Format, + D3DPOOL Pool, + DWORD Filter, + DWORD MipFilter, + D3DCOLOR ColorKey, + D3DXIMAGE_INFO* pSrcInfo, + PALETTEENTRY* pPalette, + LPDIRECT3DCUBETEXTURE9* ppCubeTexture ) ; + +ALIAS: D3DXCreateCubeTextureFromFileEx D3DXCreateCubeTextureFromFileExW + +FUNCTION: HRESULT + D3DXCreateVolumeTextureFromFileExA ( + LPDIRECT3DDEVICE9 pDevice, + LPCSTR pSrcFile, + UINT Width, + UINT Height, + UINT Depth, + UINT MipLevels, + DWORD Usage, + D3DFORMAT Format, + D3DPOOL Pool, + DWORD Filter, + DWORD MipFilter, + D3DCOLOR ColorKey, + D3DXIMAGE_INFO* pSrcInfo, + PALETTEENTRY* pPalette, + LPDIRECT3DVOLUMETEXTURE9* ppVolumeTexture ) ; + +FUNCTION: HRESULT + D3DXCreateVolumeTextureFromFileExW ( + LPDIRECT3DDEVICE9 pDevice, + LPCWSTR pSrcFile, + UINT Width, + UINT Height, + UINT Depth, + UINT MipLevels, + DWORD Usage, + D3DFORMAT Format, + D3DPOOL Pool, + DWORD Filter, + DWORD MipFilter, + D3DCOLOR ColorKey, + D3DXIMAGE_INFO* pSrcInfo, + PALETTEENTRY* pPalette, + LPDIRECT3DVOLUMETEXTURE9* ppVolumeTexture ) ; + +ALIAS: D3DXCreateVolumeTextureFromFileEx D3DXCreateVolumeTextureFromFileExW + +FUNCTION: HRESULT + D3DXCreateTextureFromResourceExA ( + LPDIRECT3DDEVICE9 pDevice, + HMODULE hSrcModule, + LPCSTR pSrcResource, + UINT Width, + UINT Height, + UINT MipLevels, + DWORD Usage, + D3DFORMAT Format, + D3DPOOL Pool, + DWORD Filter, + DWORD MipFilter, + D3DCOLOR ColorKey, + D3DXIMAGE_INFO* pSrcInfo, + PALETTEENTRY* pPalette, + LPDIRECT3DTEXTURE9* ppTexture ) ; + +FUNCTION: HRESULT + D3DXCreateTextureFromResourceExW ( + LPDIRECT3DDEVICE9 pDevice, + HMODULE hSrcModule, + LPCWSTR pSrcResource, + UINT Width, + UINT Height, + UINT MipLevels, + DWORD Usage, + D3DFORMAT Format, + D3DPOOL Pool, + DWORD Filter, + DWORD MipFilter, + D3DCOLOR ColorKey, + D3DXIMAGE_INFO* pSrcInfo, + PALETTEENTRY* pPalette, + LPDIRECT3DTEXTURE9* ppTexture ) ; + +ALIAS: D3DXCreateTextureFromResourceEx D3DXCreateTextureFromResourceExW + +FUNCTION: HRESULT + D3DXCreateCubeTextureFromResourceExA ( + LPDIRECT3DDEVICE9 pDevice, + HMODULE hSrcModule, + LPCSTR pSrcResource, + UINT Size, + UINT MipLevels, + DWORD Usage, + D3DFORMAT Format, + D3DPOOL Pool, + DWORD Filter, + DWORD MipFilter, + D3DCOLOR ColorKey, + D3DXIMAGE_INFO* pSrcInfo, + PALETTEENTRY* pPalette, + LPDIRECT3DCUBETEXTURE9* ppCubeTexture ) ; + +FUNCTION: HRESULT + D3DXCreateCubeTextureFromResourceExW ( + LPDIRECT3DDEVICE9 pDevice, + HMODULE hSrcModule, + LPCWSTR pSrcResource, + UINT Size, + UINT MipLevels, + DWORD Usage, + D3DFORMAT Format, + D3DPOOL Pool, + DWORD Filter, + DWORD MipFilter, + D3DCOLOR ColorKey, + D3DXIMAGE_INFO* pSrcInfo, + PALETTEENTRY* pPalette, + LPDIRECT3DCUBETEXTURE9* ppCubeTexture ) ; + +ALIAS: D3DXCreateCubeTextureFromResourceEx D3DXCreateCubeTextureFromResourceExW + +FUNCTION: HRESULT + D3DXCreateVolumeTextureFromResourceExA ( + LPDIRECT3DDEVICE9 pDevice, + HMODULE hSrcModule, + LPCSTR pSrcResource, + UINT Width, + UINT Height, + UINT Depth, + UINT MipLevels, + DWORD Usage, + D3DFORMAT Format, + D3DPOOL Pool, + DWORD Filter, + DWORD MipFilter, + D3DCOLOR ColorKey, + D3DXIMAGE_INFO* pSrcInfo, + PALETTEENTRY* pPalette, + LPDIRECT3DVOLUMETEXTURE9* ppVolumeTexture ) ; + +FUNCTION: HRESULT + D3DXCreateVolumeTextureFromResourceExW ( + LPDIRECT3DDEVICE9 pDevice, + HMODULE hSrcModule, + LPCWSTR pSrcResource, + UINT Width, + UINT Height, + UINT Depth, + UINT MipLevels, + DWORD Usage, + D3DFORMAT Format, + D3DPOOL Pool, + DWORD Filter, + DWORD MipFilter, + D3DCOLOR ColorKey, + D3DXIMAGE_INFO* pSrcInfo, + PALETTEENTRY* pPalette, + LPDIRECT3DVOLUMETEXTURE9* ppVolumeTexture ) ; + +ALIAS: D3DXCreateVolumeTextureFromResourceEx D3DXCreateVolumeTextureFromResourceExW + +FUNCTION: HRESULT + D3DXCreateTextureFromFileInMemory ( + LPDIRECT3DDEVICE9 pDevice, + LPCVOID pSrcData, + UINT SrcDataSize, + LPDIRECT3DTEXTURE9* ppTexture ) ; + +FUNCTION: HRESULT + D3DXCreateCubeTextureFromFileInMemory ( + LPDIRECT3DDEVICE9 pDevice, + LPCVOID pSrcData, + UINT SrcDataSize, + LPDIRECT3DCUBETEXTURE9* ppCubeTexture ) ; + +FUNCTION: HRESULT + D3DXCreateVolumeTextureFromFileInMemory ( + LPDIRECT3DDEVICE9 pDevice, + LPCVOID pSrcData, + UINT SrcDataSize, + LPDIRECT3DVOLUMETEXTURE9* ppVolumeTexture ) ; + +FUNCTION: HRESULT + D3DXCreateTextureFromFileInMemoryEx ( + LPDIRECT3DDEVICE9 pDevice, + LPCVOID pSrcData, + UINT SrcDataSize, + UINT Width, + UINT Height, + UINT MipLevels, + DWORD Usage, + D3DFORMAT Format, + D3DPOOL Pool, + DWORD Filter, + DWORD MipFilter, + D3DCOLOR ColorKey, + D3DXIMAGE_INFO* pSrcInfo, + PALETTEENTRY* pPalette, + LPDIRECT3DTEXTURE9* ppTexture ) ; + +FUNCTION: HRESULT + D3DXCreateCubeTextureFromFileInMemoryEx ( + LPDIRECT3DDEVICE9 pDevice, + LPCVOID pSrcData, + UINT SrcDataSize, + UINT Size, + UINT MipLevels, + DWORD Usage, + D3DFORMAT Format, + D3DPOOL Pool, + DWORD Filter, + DWORD MipFilter, + D3DCOLOR ColorKey, + D3DXIMAGE_INFO* pSrcInfo, + PALETTEENTRY* pPalette, + LPDIRECT3DCUBETEXTURE9* ppCubeTexture ) ; + +FUNCTION: HRESULT + D3DXCreateVolumeTextureFromFileInMemoryEx ( + LPDIRECT3DDEVICE9 pDevice, + LPCVOID pSrcData, + UINT SrcDataSize, + UINT Width, + UINT Height, + UINT Depth, + UINT MipLevels, + DWORD Usage, + D3DFORMAT Format, + D3DPOOL Pool, + DWORD Filter, + DWORD MipFilter, + D3DCOLOR ColorKey, + D3DXIMAGE_INFO* pSrcInfo, + PALETTEENTRY* pPalette, + LPDIRECT3DVOLUMETEXTURE9* ppVolumeTexture ) ; + +FUNCTION: HRESULT + D3DXSaveTextureToFileA ( + LPCSTR pDestFile, + D3DXIMAGE_FILEFORMAT DestFormat, + LPDIRECT3DBASETEXTURE9 pSrcTexture, + PALETTEENTRY* pSrcPalette ) ; + +FUNCTION: HRESULT + D3DXSaveTextureToFileW ( + LPCWSTR pDestFile, + D3DXIMAGE_FILEFORMAT DestFormat, + LPDIRECT3DBASETEXTURE9 pSrcTexture, + PALETTEENTRY* pSrcPalette ) ; + +ALIAS: D3DXSaveTextureToFile D3DXSaveTextureToFileW + +FUNCTION: HRESULT + D3DXSaveTextureToFileInMemory ( + LPD3DXBUFFER* ppDestBuf, + D3DXIMAGE_FILEFORMAT DestFormat, + LPDIRECT3DBASETEXTURE9 pSrcTexture, + PALETTEENTRY* pSrcPalette ) ; + +FUNCTION: HRESULT + D3DXFilterTexture ( + LPDIRECT3DBASETEXTURE9 pBaseTexture, + PALETTEENTRY* pPalette, + UINT SrcLevel, + DWORD Filter ) ; + +ALIAS: D3DXFilterCubeTexture D3DXFilterTexture +ALIAS: D3DXFilterVolumeTexture D3DXFilterTexture + +FUNCTION: HRESULT + D3DXFillTexture ( + LPDIRECT3DTEXTURE9 pTexture, + LPD3DXFILL2D pFunction, + LPVOID pData ) ; + +FUNCTION: HRESULT + D3DXFillCubeTexture ( + LPDIRECT3DCUBETEXTURE9 pCubeTexture, + LPD3DXFILL3D pFunction, + LPVOID pData ) ; + +FUNCTION: HRESULT + D3DXFillVolumeTexture ( + LPDIRECT3DVOLUMETEXTURE9 pVolumeTexture, + LPD3DXFILL3D pFunction, + LPVOID pData ) ; + +FUNCTION: HRESULT + D3DXFillTextureTX ( + LPDIRECT3DTEXTURE9 pTexture, + LPD3DXTEXTURESHADER pTextureShader ) ; + +FUNCTION: HRESULT + D3DXFillCubeTextureTX ( + LPDIRECT3DCUBETEXTURE9 pCubeTexture, + LPD3DXTEXTURESHADER pTextureShader ) ; + + +FUNCTION: HRESULT + D3DXFillVolumeTextureTX ( + LPDIRECT3DVOLUMETEXTURE9 pVolumeTexture, + LPD3DXTEXTURESHADER pTextureShader ) ; + +FUNCTION: HRESULT + D3DXComputeNormalMap ( + LPDIRECT3DTEXTURE9 pTexture, + LPDIRECT3DTEXTURE9 pSrcTexture, + PALETTEENTRY* pSrcPalette, + DWORD Flags, + DWORD Channel, + FLOAT Amplitude ) ; diff --git a/basis/windows/directx/d3dx9tex/summary.txt b/basis/windows/directx/d3dx9tex/summary.txt new file mode 100644 index 0000000000..b714b212a7 --- /dev/null +++ b/basis/windows/directx/d3dx9tex/summary.txt @@ -0,0 +1 @@ +DirectX 9 texture library bindings. Corresponds to d3dx9tex.h. diff --git a/basis/windows/directx/d3dx9tex/tags.txt b/basis/windows/directx/d3dx9tex/tags.txt new file mode 100644 index 0000000000..2320bdd648 --- /dev/null +++ b/basis/windows/directx/d3dx9tex/tags.txt @@ -0,0 +1,2 @@ +unportable +bindings diff --git a/basis/windows/directx/d3dx9xof/authors.txt b/basis/windows/directx/d3dx9xof/authors.txt new file mode 100644 index 0000000000..6f03a12101 --- /dev/null +++ b/basis/windows/directx/d3dx9xof/authors.txt @@ -0,0 +1 @@ +Erik Charlebois diff --git a/basis/windows/directx/d3dx9xof/d3dx9xof.factor b/basis/windows/directx/d3dx9xof/d3dx9xof.factor new file mode 100644 index 0000000000..bd55854e29 --- /dev/null +++ b/basis/windows/directx/d3dx9xof/d3dx9xof.factor @@ -0,0 +1,111 @@ +USING: alien.syntax classes.struct windows.com +windows.com.syntax windows.kernel32 windows.ole32 windows.types ; +IN: windows.directx.d3dx9xof + +LIBRARY: d3dx9 + +TYPEDEF: DWORD D3DXF_FILEFORMAT + +CONSTANT: D3DXF_FILEFORMAT_BINARY 0 +CONSTANT: D3DXF_FILEFORMAT_TEXT 1 +CONSTANT: D3DXF_FILEFORMAT_COMPRESSED 2 + +TYPEDEF: DWORD D3DXF_FILESAVEOPTIONS + +CONSTANT: D3DXF_FILESAVE_TOFILE 0 +CONSTANT: D3DXF_FILESAVE_TOWFILE 1 + +TYPEDEF: DWORD D3DXF_FILELOADOPTIONS + +CONSTANT: D3DXF_FILELOAD_FROMFILE 0 +CONSTANT: D3DXF_FILELOAD_FROMWFILE 1 +CONSTANT: D3DXF_FILELOAD_FROMRESOURCE 2 +CONSTANT: D3DXF_FILELOAD_FROMMEMORY 3 + +STRUCT: D3DXF_FILELOADRESOURCE + { hModule HMODULE } + { lpName LPCSTR } + { lpType LPCSTR } ; + +STRUCT: D3DXF_FILELOADMEMORY + { lpMemory LPCVOID } + { dSize SIZE_T } ; + +C-TYPE: ID3DXFile +C-TYPE: ID3DXFileSaveObject +C-TYPE: ID3DXFileSaveData +C-TYPE: ID3DXFileEnumObject +C-TYPE: ID3DXFileData + +TYPEDEF: ID3DXFile* LPD3DXFILE +TYPEDEF: ID3DXFile** LPLPD3DXFILE +TYPEDEF: ID3DXFileEnumObject* LPD3DXFILEENUMOBJECT +TYPEDEF: ID3DXFileEnumObject** LPLPD3DXFILEENUMOBJECT +TYPEDEF: ID3DXFileSaveObject* LPD3DXFILESAVEOBJECT +TYPEDEF: ID3DXFileSaveObject** LPLPD3DXFILESAVEOBJECT +TYPEDEF: ID3DXFileData* LPD3DXFILEDATA +TYPEDEF: ID3DXFileData** LPLPD3DXFILEDATA +TYPEDEF: ID3DXFileSaveData* LPD3DXFILESAVEDATA +TYPEDEF: ID3DXFileSaveData** LPLPD3DXFILESAVEDATA + +COM-INTERFACE: ID3DXFile IUnknown {cef08cf9-7b4f-4429-9624-2a690a933201} + HRESULT CreateEnumObject ( LPCVOID x, D3DXF_FILELOADOPTIONS y, + ID3DXFileEnumObject** z ) + HRESULT CreateSaveObject ( LPCVOID x, D3DXF_FILESAVEOPTIONS y, + D3DXF_FILEFORMAT z, ID3DXFileSaveObject** w ) + HRESULT RegisterTemplates ( LPCVOID x, SIZE_T y ) + HRESULT RegisterEnumTemplates ( ID3DXFileEnumObject* x ) ; + +COM-INTERFACE: ID3DXFileSaveObject IUnknown {cef08cfa-7b4f-4429-9624-2a690a933201} + HRESULT GetFile ( ID3DXFile** x ) + HRESULT AddDataObject ( REFGUID x, LPCSTR y, GUID* z, + SIZE_T w, LPCVOID a, ID3DXFileSaveData** b ) + HRESULT Save ( ) ; + +COM-INTERFACE: ID3DXFileSaveData IUnknown {cef08cfb-7b4f-4429-9624-2a690a933201} + HRESULT GetSave ( ID3DXFileSaveObject** x ) + HRESULT GetName ( LPSTR x, SIZE_T* y ) + HRESULT GetId ( LPGUID x ) + HRESULT GetType ( GUID* x ) + HRESULT AddDataObject ( REFGUID x, LPCSTR y, GUID* z, + SIZE_T w, LPCVOID a, ID3DXFileSaveData** b ) + HRESULT AddDataReference ( LPCSTR x, GUID* y ) ; + +COM-INTERFACE: ID3DXFileEnumObject IUnknown {cef08cfc-7b4f-4429-9624-2a690a933201} + HRESULT GetFile ( ID3DXFile** x ) + HRESULT GetChildren ( SIZE_T* x ) + HRESULT GetChild ( SIZE_T x, ID3DXFileData** y ) + HRESULT GetDataObjectById ( REFGUID x, ID3DXFileData** y ) + HRESULT GetDataObjectByName ( LPCSTR x, ID3DXFileData** y ) ; + +COM-INTERFACE: ID3DXFileData IUnknown {cef08cfd-7b4f-4429-9624-2a690a933201} + HRESULT GetEnum ( ID3DXFileEnumObject** x ) + HRESULT GetName ( LPSTR x, SIZE_T* y ) + HRESULT GetId ( LPGUID x ) + HRESULT Lock ( SIZE_T* x, LPCVOID* y ) + HRESULT Unlock ( ) + HRESULT GetType ( GUID* x ) + BOOL IsReference ( ) + HRESULT GetChildren ( SIZE_T* x ) + HRESULT GetChild ( SIZE_T x, ID3DXFileData** y ) ; + +FUNCTION: HRESULT D3DXFileCreate ( ID3DXFile** lplpDirectXFile ) ; + +CONSTANT: D3DXFERR_BADOBJECT HEX: 88760384 +CONSTANT: D3DXFERR_BADVALUE HEX: 88760385 +CONSTANT: D3DXFERR_BADTYPE HEX: 88760386 +CONSTANT: D3DXFERR_NOTFOUND HEX: 88760387 +CONSTANT: D3DXFERR_NOTDONEYET HEX: 88760388 +CONSTANT: D3DXFERR_FILENOTFOUND HEX: 88760389 +CONSTANT: D3DXFERR_RESOURCENOTFOUND HEX: 8876038A +CONSTANT: D3DXFERR_BADRESOURCE HEX: 8876038B +CONSTANT: D3DXFERR_BADFILETYPE HEX: 8876038C +CONSTANT: D3DXFERR_BADFILEVERSION HEX: 8876038D +CONSTANT: D3DXFERR_BADFILEFLOATSIZE HEX: 8876038E +CONSTANT: D3DXFERR_BADFILE HEX: 8876038F +CONSTANT: D3DXFERR_PARSEERROR HEX: 88760390 +CONSTANT: D3DXFERR_BADARRAYSIZE HEX: 88760391 +CONSTANT: D3DXFERR_BADDATAREFERENCE HEX: 88760392 +CONSTANT: D3DXFERR_NOMOREOBJECTS HEX: 88760393 +CONSTANT: D3DXFERR_NOMOREDATA HEX: 88760394 +CONSTANT: D3DXFERR_BADCACHEFILE HEX: 88760395 diff --git a/basis/windows/directx/d3dx9xof/summary.txt b/basis/windows/directx/d3dx9xof/summary.txt new file mode 100644 index 0000000000..7f88f93f96 --- /dev/null +++ b/basis/windows/directx/d3dx9xof/summary.txt @@ -0,0 +1 @@ +File library bindings for DirectX. Corresponds to d3dx9xof.h. diff --git a/basis/windows/directx/d3dx9xof/tags.txt b/basis/windows/directx/d3dx9xof/tags.txt new file mode 100644 index 0000000000..2320bdd648 --- /dev/null +++ b/basis/windows/directx/d3dx9xof/tags.txt @@ -0,0 +1,2 @@ +unportable +bindings diff --git a/basis/windows/directx/dcommon/authors.txt b/basis/windows/directx/dcommon/authors.txt new file mode 100644 index 0000000000..6f03a12101 --- /dev/null +++ b/basis/windows/directx/dcommon/authors.txt @@ -0,0 +1 @@ +Erik Charlebois diff --git a/basis/windows/directx/dcommon/dcommon.factor b/basis/windows/directx/dcommon/dcommon.factor new file mode 100644 index 0000000000..3b80bd4509 --- /dev/null +++ b/basis/windows/directx/dcommon/dcommon.factor @@ -0,0 +1,7 @@ +USING: alien.c-types alien.syntax ; +IN: windows.directx.dcommon + +C-ENUM: DWRITE_MEASURING_MODE_NATURAL + DWRITE_MEASURING_MODE_GDI_CLASSIC + DWRITE_MEASURING_MODE_GDI_NATURAL ; +TYPEDEF: int DWRITE_MEASURING_MODE diff --git a/basis/windows/directx/dcommon/summary.txt b/basis/windows/directx/dcommon/summary.txt new file mode 100644 index 0000000000..902e5fafe6 --- /dev/null +++ b/basis/windows/directx/dcommon/summary.txt @@ -0,0 +1 @@ +Common DirectX constants. Corresponds to dcommon.h. diff --git a/basis/windows/directx/dcommon/tags.txt b/basis/windows/directx/dcommon/tags.txt new file mode 100644 index 0000000000..2320bdd648 --- /dev/null +++ b/basis/windows/directx/dcommon/tags.txt @@ -0,0 +1,2 @@ +unportable +bindings diff --git a/basis/windows/directx/dwrite/authors.txt b/basis/windows/directx/dwrite/authors.txt new file mode 100644 index 0000000000..6f03a12101 --- /dev/null +++ b/basis/windows/directx/dwrite/authors.txt @@ -0,0 +1 @@ +Erik Charlebois diff --git a/basis/windows/directx/dwrite/dwrite.factor b/basis/windows/directx/dwrite/dwrite.factor new file mode 100644 index 0000000000..3e4167ebad --- /dev/null +++ b/basis/windows/directx/dwrite/dwrite.factor @@ -0,0 +1,676 @@ +USING: alien.c-types alien.syntax classes.struct windows.com +windows.com.syntax windows.directx.dcommon windows.kernel32 +windows.ole32 windows.types ; +IN: windows.directx.dwrite + +LIBRARY: dwrite + +C-ENUM: + DWRITE_FONT_FILE_TYPE_UNKNOWN + DWRITE_FONT_FILE_TYPE_CFF + DWRITE_FONT_FILE_TYPE_TRUETYPE + DWRITE_FONT_FILE_TYPE_TRUETYPE_COLLECTION + DWRITE_FONT_FILE_TYPE_TYPE1_PFM + DWRITE_FONT_FILE_TYPE_TYPE1_PFB + DWRITE_FONT_FILE_TYPE_VECTOR + DWRITE_FONT_FILE_TYPE_BITMAP ; +TYPEDEF: int DWRITE_FONT_FILE_TYPE + +C-ENUM: + DWRITE_FONT_FACE_TYPE_CFF + DWRITE_FONT_FACE_TYPE_TRUETYPE + DWRITE_FONT_FACE_TYPE_TRUETYPE_COLLECTION + DWRITE_FONT_FACE_TYPE_TYPE1 + DWRITE_FONT_FACE_TYPE_VECTOR + DWRITE_FONT_FACE_TYPE_BITMAP + DWRITE_FONT_FACE_TYPE_UNKNOWN ; +TYPEDEF: int DWRITE_FONT_FACE_TYPE + +CONSTANT: DWRITE_FONT_SIMULATIONS_NONE 0 +CONSTANT: DWRITE_FONT_SIMULATIONS_BOLD 1 +CONSTANT: DWRITE_FONT_SIMULATIONS_OBLIQUE 2 +TYPEDEF: int DWRITE_FONT_SIMULATIONS + +CONSTANT: DWRITE_FONT_WEIGHT_THIN 100 +CONSTANT: DWRITE_FONT_WEIGHT_EXTRA_LIGHT 200 +CONSTANT: DWRITE_FONT_WEIGHT_ULTRA_LIGHT 200 +CONSTANT: DWRITE_FONT_WEIGHT_LIGHT 300 +CONSTANT: DWRITE_FONT_WEIGHT_NORMAL 400 +CONSTANT: DWRITE_FONT_WEIGHT_REGULAR 400 +CONSTANT: DWRITE_FONT_WEIGHT_MEDIUM 500 +CONSTANT: DWRITE_FONT_WEIGHT_DEMI_BOLD 600 +CONSTANT: DWRITE_FONT_WEIGHT_SEMI_BOLD 600 +CONSTANT: DWRITE_FONT_WEIGHT_BOLD 700 +CONSTANT: DWRITE_FONT_WEIGHT_EXTRA_BOLD 800 +CONSTANT: DWRITE_FONT_WEIGHT_ULTRA_BOLD 800 +CONSTANT: DWRITE_FONT_WEIGHT_BLACK 900 +CONSTANT: DWRITE_FONT_WEIGHT_HEAVY 900 +CONSTANT: DWRITE_FONT_WEIGHT_EXTRA_BLACK 950 +CONSTANT: DWRITE_FONT_WEIGHT_ULTRA_BLACK 950 +TYPEDEF: int DWRITE_FONT_WEIGHT + +CONSTANT: DWRITE_FONT_STRETCH_UNDEFINED 0 +CONSTANT: DWRITE_FONT_STRETCH_ULTRA_CONDENSED 1 +CONSTANT: DWRITE_FONT_STRETCH_EXTRA_CONDENSED 2 +CONSTANT: DWRITE_FONT_STRETCH_CONDENSED 3 +CONSTANT: DWRITE_FONT_STRETCH_SEMI_CONDENSED 4 +CONSTANT: DWRITE_FONT_STRETCH_NORMAL 5 +CONSTANT: DWRITE_FONT_STRETCH_MEDIUM 5 +CONSTANT: DWRITE_FONT_STRETCH_SEMI_EXPANDED 6 +CONSTANT: DWRITE_FONT_STRETCH_EXPANDED 7 +CONSTANT: DWRITE_FONT_STRETCH_EXTRA_EXPANDED 8 +CONSTANT: DWRITE_FONT_STRETCH_ULTRA_EXPANDED 9 +TYPEDEF: int DWRITE_FONT_STRETCH + +C-ENUM: + DWRITE_FONT_STYLE_NORMAL + DWRITE_FONT_STYLE_OBLIQUE + DWRITE_FONT_STYLE_ITALIC ; +TYPEDEF: int DWRITE_FONT_STYLE + +C-ENUM: + DWRITE_INFORMATIONAL_STRING_NONE + DWRITE_INFORMATIONAL_STRING_COPYRIGHT_NOTICE + DWRITE_INFORMATIONAL_STRING_VERSION_STRINGS + DWRITE_INFORMATIONAL_STRING_TRADEMARK + DWRITE_INFORMATIONAL_STRING_MANUFACTURER + DWRITE_INFORMATIONAL_STRING_DESIGNER + DWRITE_INFORMATIONAL_STRING_DESIGNER_URL + DWRITE_INFORMATIONAL_STRING_DESCRIPTION + DWRITE_INFORMATIONAL_STRING_FONT_VENDOR_URL + DWRITE_INFORMATIONAL_STRING_LICENSE_DESCRIPTION + DWRITE_INFORMATIONAL_STRING_LICENSE_INFO_URL + DWRITE_INFORMATIONAL_STRING_WIN32_FAMILY_NAMES + DWRITE_INFORMATIONAL_STRING_WIN32_SUBFAMILY_NAMES + DWRITE_INFORMATIONAL_STRING_PREFERRED_FAMILY_NAMES + DWRITE_INFORMATIONAL_STRING_PREFERRED_SUBFAMILY_NAMES + DWRITE_INFORMATIONAL_STRING_SAMPLE_TEXT ; +TYPEDEF: int DWRITE_INFORMATIONAL_STRING_ID + +STRUCT: DWRITE_FONT_METRICS + { designUnitsPerEm USHORT } + { ascent USHORT } + { descent USHORT } + { lineGap SHORT } + { capHeight USHORT } + { xHeight USHORT } + { underlinePosition SHORT } + { underlineThickness USHORT } + { strikethroughPosition SHORT } + { strikethroughThickness USHORT } ; + +STRUCT: DWRITE_GLYPH_METRICS + { leftSideBearing INT32 } + { advanceWidth UINT32 } + { rightSideBearing INT32 } + { topSideBearing INT32 } + { advanceHeight UINT32 } + { bottomSideBearing INT32 } + { verticalOriginY INT32 } ; + +STRUCT: DWRITE_GLYPH_OFFSET + { advanceOffset FLOAT } + { ascenderOffset FLOAT } ; + +C-ENUM: + DWRITE_FACTORY_TYPE_SHARED + DWRITE_FACTORY_TYPE_ISOLATED ; +TYPEDEF: int DWRITE_FACTORY_TYPE + +C-TYPE: IDWriteFontFileStream + +COM-INTERFACE: IDWriteFontFileLoader IUnknown {727cad4e-d6af-4c9e-8a08-d695b11caa49} + HRESULT CreateStreamFromKey ( void* fontFileReferenceKey, UINT32 fontFileReferenceKeySize, IDWriteFontFileStream** fontFileStream ) ; + +COM-INTERFACE: IDWriteLocalFontFileLoader IDWriteFontFileLoader {b2d9f3ec-c9fe-4a11-a2ec-d86208f7c0a2} + HRESULT GetFilePathLengthFromKey ( void* fontFileReferenceKey, UINT32 fontFileReferenceKeySize, UINT32* filePathLength ) + HRESULT GetFilePathFromKey ( void* fontFileReferenceKey, UINT32 fontFileReferenceKeySize, WCHAR* filePath, UINT32 filePathSize ) + HRESULT GetLastWriteTimeFromKey ( void* fontFileReferenceKey, UINT32 fontFileReferenceKeySize, FILETIME* lastWriteTime ) ; + +COM-INTERFACE: IDWriteFontFileStream IUnknown {6d4865fe-0ab8-4d91-8f62-5dd6be34a3e0} + HRESULT ReadFileFragment ( void** fragmentStart, UINT64 fileOffset, UINT64 fragmentSize, void** fragmentContext ) + void ReleaseFileFragment ( void* fragmentContext ) + HRESULT GetFileSize ( UINT64* fileSize ) + HRESULT GetLastWriteTime ( UINT64* lastWriteTime ) ; + +COM-INTERFACE: IDWriteFontFile IUnknown {739d886a-cef5-47dc-8769-1a8b41bebbb0} + HRESULT GetReferenceKey ( void** fontFileReferenceKey, UINT32* fontFileReferenceKeySize ) + HRESULT GetLoader ( IDWriteFontFileLoader** fontFileLoader ) + HRESULT Analyze ( BOOL* isSupportedFontType, DWRITE_FONT_FILE_TYPE* fontFileType, DWRITE_FONT_FACE_TYPE* fontFaceType, UINT32* numberOfFaces ) ; + +TYPEDEF: int DWRITE_PIXEL_GEOMETRY +C-ENUM: + DWRITE_PIXEL_GEOMETRY_FLAT + DWRITE_PIXEL_GEOMETRY_RGB + DWRITE_PIXEL_GEOMETRY_BGR ; + +TYPEDEF: int DWRITE_RENDERING_MODE +C-ENUM: + DWRITE_RENDERING_MODE_DEFAULT + DWRITE_RENDERING_MODE_ALIASED + DWRITE_RENDERING_MODE_CLEARTYPE_GDI_CLASSIC + DWRITE_RENDERING_MODE_CLEARTYPE_GDI_NATURAL + DWRITE_RENDERING_MODE_CLEARTYPE_NATURAL + DWRITE_RENDERING_MODE_CLEARTYPE_NATURAL_SYMMETRIC + DWRITE_RENDERING_MODE_OUTLINE ; + +STRUCT: DWRITE_MATRIX + { m11 FLOAT } + { m12 FLOAT } + { m21 FLOAT } + { m22 FLOAT } + { dx FLOAT } + { dy FLOAT } ; + +COM-INTERFACE: IDWriteRenderingParams IUnknown {2f0da53a-2add-47cd-82ee-d9ec34688e75} + FLOAT GetGamma ( ) + FLOAT GetEnhancedContrast ( ) + FLOAT GetClearTypeLevel ( ) + DWRITE_PIXEL_GEOMETRY GetPixelGeometry ( ) + DWRITE_RENDERING_MODE GetRenderingMode ( ) ; + +C-TYPE: ID2D1SimplifiedGeometrySink + +TYPEDEF: ID2D1SimplifiedGeometrySink IDWriteGeometrySink + +COM-INTERFACE: IDWriteFontFace IUnknown {5f49804d-7024-4d43-bfa9-d25984f53849} + DWRITE_FONT_FACE_TYPE GetType ( ) + HRESULT GetFiles ( UINT32* numberOfFiles, IDWriteFontFile** fontFiles ) + UINT32 GetIndex ( ) + DWRITE_FONT_SIMULATIONS GetSimulations ( ) + BOOL IsSymbolFont ( ) + void GetMetrics ( DWRITE_FONT_METRICS* fontFaceMetrics ) + USHORT GetGlyphCount ( ) + HRESULT GetDesignGlyphMetrics ( USHORT* glyphIndices, UINT32 glyphCount, DWRITE_GLYPH_METRICS* glyphMetrics, BOOL isSideways ) + HRESULT GetGlyphIndices ( UINT32* codePoints, UINT32 codePointCount, USHORT* glyphIndices ) + HRESULT TryGetFontTable ( UINT32 openTypeTableTag, void** tableData, UINT32* tableSize, void** tableContext, BOOL* exists ) + void ReleaseFontTable ( void* tableContext ) + HRESULT GetGlyphRunOutline ( FLOAT emSize, USHORT* glyphIndices, FLOAT* glyphAdvances, DWRITE_GLYPH_OFFSET* glyphOffsets, UINT32 glyphCount, BOOL isSideways, BOOL isRightToLeft, IDWriteGeometrySink* geometrySink ) + HRESULT GetRecommendedRenderingMode ( FLOAT emSize, FLOAT pixelsPerDip, DWRITE_MEASURING_MODE measuringMode, IDWriteRenderingParams* renderingParams, DWRITE_RENDERING_MODE* renderingMode ) + HRESULT GetGdiCompatibleMetrics ( FLOAT emSize, FLOAT pixelsPerDip, DWRITE_MATRIX* transform, DWRITE_FONT_METRICS* fontFaceMetrics ) + HRESULT GetGdiCompatibleGlyphMetrics ( FLOAT emSize, FLOAT pixelsPerDip, DWRITE_MATRIX* transform, BOOL useGdiNatural, USHORT* glyphIndices, UINT32 glyphCount, DWRITE_GLYPH_METRICS* glyphMetrics, BOOL isSideways ) ; + +C-TYPE: IDWriteFactory +C-TYPE: IDWriteFontFileEnumerator + +COM-INTERFACE: IDWriteFontCollectionLoader IUnknown {cca920e4-52f0-492b-bfa8-29c72ee0a468} + HRESULT CreateEnumeratorFromKey ( IDWriteFactory* factory, void* collectionKey, UINT32 collectionKeySize, IDWriteFontFileEnumerator** fontFileEnumerator ) ; + +COM-INTERFACE: IDWriteFontFileEnumerator IUnknown {72755049-5ff7-435d-8348-4be97cfa6c7c} + HRESULT MoveNext ( BOOL* hasCurrentFile ) + HRESULT GetCurrentFontFile ( IDWriteFontFile** fontFile ) ; + +COM-INTERFACE: IDWriteLocalizedStrings IUnknown {08256209-099a-4b34-b86d-c22b110e7771} + UINT32 GetCount ( ) + HRESULT FindLocaleName ( WCHAR* localeName, UINT32* index, BOOL* exists ) + HRESULT GetLocaleNameLength ( UINT32 index, UINT32* length ) + HRESULT GetLocaleName ( UINT32 index, WCHAR* localeName, UINT32 size ) + HRESULT GetStringLength ( UINT32 index, UINT32* length ) + HRESULT GetString ( UINT32 index, WCHAR* stringBuffer, UINT32 size ) ; + +C-TYPE: IDWriteFontFamily +C-TYPE: IDWriteFont + +COM-INTERFACE: IDWriteFontCollection IUnknown {a84cee02-3eea-4eee-a827-87c1a02a0fcc} + UINT32 GetFontFamilyCount ( ) + HRESULT GetFontFamily ( UINT32 index, IDWriteFontFamily** fontFamily ) + HRESULT FindFamilyName ( WCHAR* familyName, UINT32* index, BOOL* exists ) + HRESULT GetFontFromFontFace ( IDWriteFontFace* fontFace, IDWriteFont** font ) ; + +COM-INTERFACE: IDWriteFontList IUnknown {1a0d8438-1d97-4ec1-aef9-a2fb86ed6acb} + HRESULT GetFontCollection ( IDWriteFontCollection** fontCollection ) + UINT32 GetFontCount ( ) + HRESULT GetFont ( UINT32 index, IDWriteFont** font ) ; + +COM-INTERFACE: IDWriteFontFamily IDWriteFontList {da20d8ef-812a-4c43-9802-62ec4abd7add} + HRESULT GetFamilyNames ( IDWriteLocalizedStrings** names ) + HRESULT GetFirstMatchingFont ( DWRITE_FONT_WEIGHT weight, DWRITE_FONT_STRETCH stretch, DWRITE_FONT_STYLE style, IDWriteFont** matchingFont ) + HRESULT GetMatchingFonts ( DWRITE_FONT_WEIGHT weight, DWRITE_FONT_STRETCH stretch, DWRITE_FONT_STYLE style, IDWriteFontList** matchingFonts ) ; + +COM-INTERFACE: IDWriteFont IUnknown {acd16696-8c14-4f5d-877e-fe3fc1d32737} + HRESULT GetFontFamily ( IDWriteFontFamily** fontFamily ) + DWRITE_FONT_WEIGHT GetWeight ( ) + DWRITE_FONT_STRETCH GetStretch ( ) + DWRITE_FONT_STYLE GetStyle ( ) + BOOL IsSymbolFont ( ) + HRESULT GetFaceNames ( IDWriteLocalizedStrings** names ) + HRESULT GetInformationalStrings ( DWRITE_INFORMATIONAL_STRING_ID informationalStringID, IDWriteLocalizedStrings** informationalStrings, BOOL* exists ) + DWRITE_FONT_SIMULATIONS GetSimulations ( ) + void GetMetrics ( DWRITE_FONT_METRICS* fontMetrics ) + HRESULT HasCharacter ( UINT32 unicodeValue, BOOL* exists ) + HRESULT CreateFontFace ( IDWriteFontFace** fontFace ) ; + +TYPEDEF: int DWRITE_READING_DIRECTION +C-ENUM: + DWRITE_READING_DIRECTION_LEFT_TO_RIGHT + DWRITE_READING_DIRECTION_RIGHT_TO_LEFT ; + +TYPEDEF: int DWRITE_FLOW_DIRECTION +C-ENUM: + DWRITE_FLOW_DIRECTION_TOP_TO_BOTTOM ; + +TYPEDEF: int DWRITE_TEXT_ALIGNMENT +C-ENUM: + DWRITE_TEXT_ALIGNMENT_LEADING + DWRITE_TEXT_ALIGNMENT_TRAILING + DWRITE_TEXT_ALIGNMENT_CENTER ; + +TYPEDEF: int DWRITE_PARAGRAPH_ALIGNMENT +C-ENUM: + DWRITE_PARAGRAPH_ALIGNMENT_NEAR + DWRITE_PARAGRAPH_ALIGNMENT_FAR + DWRITE_PARAGRAPH_ALIGNMENT_CENTER ; + +TYPEDEF: int DWRITE_WORD_WRAPPING +C-ENUM: + DWRITE_WORD_WRAPPING_WRAP + DWRITE_WORD_WRAPPING_NO_WRAP ; + +TYPEDEF: int DWRITE_LINE_SPACING_METHOD +C-ENUM: + DWRITE_LINE_SPACING_METHOD_DEFAULT + DWRITE_LINE_SPACING_METHOD_UNIFORM ; + +TYPEDEF: int DWRITE_TRIMMING_GRANULARITY +C-ENUM: + DWRITE_TRIMMING_GRANULARITY_NONE + DWRITE_TRIMMING_GRANULARITY_CHARACTER + DWRITE_TRIMMING_GRANULARITY_WORD ; + +TYPEDEF: int DWRITE_FONT_FEATURE_TAG +CONSTANT: DWRITE_FONT_FEATURE_TAG_ALTERNATIVE_FRACTIONS HEX: 63726661 +CONSTANT: DWRITE_FONT_FEATURE_TAG_PETITE_CAPITALS_FROM_CAPITALS HEX: 63703263 +CONSTANT: DWRITE_FONT_FEATURE_TAG_SMALL_CAPITALS_FROM_CAPITALS HEX: 63733263 +CONSTANT: DWRITE_FONT_FEATURE_TAG_CONTEXTUAL_ALTERNATES HEX: 746c6163 +CONSTANT: DWRITE_FONT_FEATURE_TAG_CASE_SENSITIVE_FORMS HEX: 65736163 +CONSTANT: DWRITE_FONT_FEATURE_TAG_GLYPH_COMPOSITION_DECOMPOSITION HEX: 706d6363 +CONSTANT: DWRITE_FONT_FEATURE_TAG_CONTEXTUAL_LIGATURES HEX: 67696c63 +CONSTANT: DWRITE_FONT_FEATURE_TAG_CAPITAL_SPACING HEX: 70737063 +CONSTANT: DWRITE_FONT_FEATURE_TAG_CONTEXTUAL_SWASH HEX: 68777363 +CONSTANT: DWRITE_FONT_FEATURE_TAG_CURSIVE_POSITIONING HEX: 73727563 +CONSTANT: DWRITE_FONT_FEATURE_TAG_DEFAULT HEX: 746c6664 +CONSTANT: DWRITE_FONT_FEATURE_TAG_DISCRETIONARY_LIGATURES HEX: 67696c64 +CONSTANT: DWRITE_FONT_FEATURE_TAG_EXPERT_FORMS HEX: 74707865 +CONSTANT: DWRITE_FONT_FEATURE_TAG_FRACTIONS HEX: 63617266 +CONSTANT: DWRITE_FONT_FEATURE_TAG_FULL_WIDTH HEX: 64697766 +CONSTANT: DWRITE_FONT_FEATURE_TAG_HALF_FORMS HEX: 666c6168 +CONSTANT: DWRITE_FONT_FEATURE_TAG_HALANT_FORMS HEX: 6e6c6168 +CONSTANT: DWRITE_FONT_FEATURE_TAG_ALTERNATE_HALF_WIDTH HEX: 746c6168 +CONSTANT: DWRITE_FONT_FEATURE_TAG_HISTORICAL_FORMS HEX: 74736968 +CONSTANT: DWRITE_FONT_FEATURE_TAG_HORIZONTAL_KANA_ALTERNATES HEX: 616e6b68 +CONSTANT: DWRITE_FONT_FEATURE_TAG_HISTORICAL_LIGATURES HEX: 67696c68 +CONSTANT: DWRITE_FONT_FEATURE_TAG_HALF_WIDTH HEX: 64697768 +CONSTANT: DWRITE_FONT_FEATURE_TAG_HOJO_KANJI_FORMS HEX: 6f6a6f68 +CONSTANT: DWRITE_FONT_FEATURE_TAG_JIS04_FORMS HEX: 3430706a +CONSTANT: DWRITE_FONT_FEATURE_TAG_JIS78_FORMS HEX: 3837706a +CONSTANT: DWRITE_FONT_FEATURE_TAG_JIS83_FORMS HEX: 3338706a +CONSTANT: DWRITE_FONT_FEATURE_TAG_JIS90_FORMS HEX: 3039706a +CONSTANT: DWRITE_FONT_FEATURE_TAG_KERNING HEX: 6e72656b +CONSTANT: DWRITE_FONT_FEATURE_TAG_STANDARD_LIGATURES HEX: 6167696c +CONSTANT: DWRITE_FONT_FEATURE_TAG_LINING_FIGURES HEX: 6d756e6c +CONSTANT: DWRITE_FONT_FEATURE_TAG_LOCALIZED_FORMS HEX: 6c636f6c +CONSTANT: DWRITE_FONT_FEATURE_TAG_MARK_POSITIONING HEX: 6b72616d +CONSTANT: DWRITE_FONT_FEATURE_TAG_MATHEMATICAL_GREEK HEX: 6b72676d +CONSTANT: DWRITE_FONT_FEATURE_TAG_MARK_TO_MARK_POSITIONING HEX: 6b6d6b6d +CONSTANT: DWRITE_FONT_FEATURE_TAG_ALTERNATE_ANNOTATION_FORMS HEX: 746c616e +CONSTANT: DWRITE_FONT_FEATURE_TAG_NLC_KANJI_FORMS HEX: 6b636c6e +CONSTANT: DWRITE_FONT_FEATURE_TAG_OLD_STYLE_FIGURES HEX: 6d756e6f +CONSTANT: DWRITE_FONT_FEATURE_TAG_ORDINALS HEX: 6e64726f +CONSTANT: DWRITE_FONT_FEATURE_TAG_PROPORTIONAL_ALTERNATE_WIDTH HEX: 746c6170 +CONSTANT: DWRITE_FONT_FEATURE_TAG_PETITE_CAPITALS HEX: 70616370 +CONSTANT: DWRITE_FONT_FEATURE_TAG_PROPORTIONAL_FIGURES HEX: 6d756e70 +CONSTANT: DWRITE_FONT_FEATURE_TAG_PROPORTIONAL_WIDTHS HEX: 64697770 +CONSTANT: DWRITE_FONT_FEATURE_TAG_QUARTER_WIDTHS HEX: 64697771 +CONSTANT: DWRITE_FONT_FEATURE_TAG_REQUIRED_LIGATURES HEX: 67696c72 +CONSTANT: DWRITE_FONT_FEATURE_TAG_RUBY_NOTATION_FORMS HEX: 79627572 +CONSTANT: DWRITE_FONT_FEATURE_TAG_STYLISTIC_ALTERNATES HEX: 746c6173 +CONSTANT: DWRITE_FONT_FEATURE_TAG_SCIENTIFIC_INFERIORS HEX: 666e6973 +CONSTANT: DWRITE_FONT_FEATURE_TAG_SMALL_CAPITALS HEX: 70636d73 +CONSTANT: DWRITE_FONT_FEATURE_TAG_SIMPLIFIED_FORMS HEX: 6c706d73 +CONSTANT: DWRITE_FONT_FEATURE_TAG_STYLISTIC_SET_1 HEX: 31307373 +CONSTANT: DWRITE_FONT_FEATURE_TAG_STYLISTIC_SET_2 HEX: 32307373 +CONSTANT: DWRITE_FONT_FEATURE_TAG_STYLISTIC_SET_3 HEX: 33307373 +CONSTANT: DWRITE_FONT_FEATURE_TAG_STYLISTIC_SET_4 HEX: 34307373 +CONSTANT: DWRITE_FONT_FEATURE_TAG_STYLISTIC_SET_5 HEX: 35307373 +CONSTANT: DWRITE_FONT_FEATURE_TAG_STYLISTIC_SET_6 HEX: 36307373 +CONSTANT: DWRITE_FONT_FEATURE_TAG_STYLISTIC_SET_7 HEX: 37307373 +CONSTANT: DWRITE_FONT_FEATURE_TAG_STYLISTIC_SET_8 HEX: 38307373 +CONSTANT: DWRITE_FONT_FEATURE_TAG_STYLISTIC_SET_9 HEX: 39307373 +CONSTANT: DWRITE_FONT_FEATURE_TAG_STYLISTIC_SET_10 HEX: 30317373 +CONSTANT: DWRITE_FONT_FEATURE_TAG_STYLISTIC_SET_11 HEX: 31317373 +CONSTANT: DWRITE_FONT_FEATURE_TAG_STYLISTIC_SET_12 HEX: 32317373 +CONSTANT: DWRITE_FONT_FEATURE_TAG_STYLISTIC_SET_13 HEX: 33317373 +CONSTANT: DWRITE_FONT_FEATURE_TAG_STYLISTIC_SET_14 HEX: 34317373 +CONSTANT: DWRITE_FONT_FEATURE_TAG_STYLISTIC_SET_15 HEX: 35317373 +CONSTANT: DWRITE_FONT_FEATURE_TAG_STYLISTIC_SET_16 HEX: 36317373 +CONSTANT: DWRITE_FONT_FEATURE_TAG_STYLISTIC_SET_17 HEX: 37317373 +CONSTANT: DWRITE_FONT_FEATURE_TAG_STYLISTIC_SET_18 HEX: 38317373 +CONSTANT: DWRITE_FONT_FEATURE_TAG_STYLISTIC_SET_19 HEX: 39317373 +CONSTANT: DWRITE_FONT_FEATURE_TAG_STYLISTIC_SET_20 HEX: 30327373 +CONSTANT: DWRITE_FONT_FEATURE_TAG_SUBSCRIPT HEX: 73627573 +CONSTANT: DWRITE_FONT_FEATURE_TAG_SUPERSCRIPT HEX: 73707573 +CONSTANT: DWRITE_FONT_FEATURE_TAG_SWASH HEX: 68737773 +CONSTANT: DWRITE_FONT_FEATURE_TAG_TITLING HEX: 6c746974 +CONSTANT: DWRITE_FONT_FEATURE_TAG_TRADITIONAL_NAME_FORMS HEX: 6d616e74 +CONSTANT: DWRITE_FONT_FEATURE_TAG_TABULAR_FIGURES HEX: 6d756e74 +CONSTANT: DWRITE_FONT_FEATURE_TAG_TRADITIONAL_FORMS HEX: 64617274 +CONSTANT: DWRITE_FONT_FEATURE_TAG_THIRD_WIDTHS HEX: 64697774 +CONSTANT: DWRITE_FONT_FEATURE_TAG_UNICASE HEX: 63696e75 +CONSTANT: DWRITE_FONT_FEATURE_TAG_SLASHED_ZERO HEX: 6f72657a + +STRUCT: DWRITE_TEXT_RANGE + { startPosition UINT32 } + { length UINT32 } ; + +STRUCT: DWRITE_FONT_FEATURE + { nameTag DWRITE_FONT_FEATURE_TAG } + { parameter UINT32 } ; + +STRUCT: DWRITE_TYPOGRAPHIC_FEATURES + { features DWRITE_FONT_FEATURE* } + { featureCount UINT32 } ; + +STRUCT: DWRITE_TRIMMING + { granularity DWRITE_TRIMMING_GRANULARITY } + { delimiter UINT32 } + { delimiterCount UINT32 } ; + +C-TYPE: IDWriteTypography +C-TYPE: IDWriteInlineObject + +COM-INTERFACE: IDWriteTextFormat IUnknown {9c906818-31d7-4fd3-a151-7c5e225db55a} + HRESULT SetTextAlignment ( DWRITE_TEXT_ALIGNMENT textAlignment ) + HRESULT SetParagraphAlignment ( DWRITE_PARAGRAPH_ALIGNMENT paragraphAlignment ) + HRESULT SetWordWrapping ( DWRITE_WORD_WRAPPING wordWrapping ) + HRESULT SetReadingDirection ( DWRITE_READING_DIRECTION readingDirection ) + HRESULT SetFlowDirection ( DWRITE_FLOW_DIRECTION flowDirection ) + HRESULT SetIncrementalTabStop ( FLOAT incrementalTabStop ) + HRESULT SetTrimming ( DWRITE_TRIMMING* trimmingOptions, IDWriteInlineObject* trimmingSign ) + HRESULT SetLineSpacing ( DWRITE_LINE_SPACING_METHOD lineSpacingMethod, FLOAT lineSpacing, FLOAT baseline ) + DWRITE_TEXT_ALIGNMENT GetTextAlignment ( ) + DWRITE_PARAGRAPH_ALIGNMENT GetParagraphAlignment ( ) + DWRITE_WORD_WRAPPING GetWordWrapping ( ) + DWRITE_READING_DIRECTION GetReadingDirection ( ) + DWRITE_FLOW_DIRECTION GetFlowDirection ( ) + FLOAT GetIncrementalTabStop ( ) + HRESULT GetTrimming ( DWRITE_TRIMMING* trimmingOptions, IDWriteInlineObject** trimmingSign ) + HRESULT GetLineSpacing ( DWRITE_LINE_SPACING_METHOD* lineSpacingMethod, FLOAT* lineSpacing, FLOAT* baseline ) + HRESULT GetFontCollection ( IDWriteFontCollection** fontCollection ) + UINT32 GetFontFamilyNameLength ( ) + HRESULT GetFontFamilyName ( WCHAR* fontFamilyName, UINT32 nameSize ) + DWRITE_FONT_WEIGHT GetFontWeight ( ) + DWRITE_FONT_STYLE GetFontStyle ( ) + DWRITE_FONT_STRETCH GetFontStretch ( ) + FLOAT GetFontSize ( ) + UINT32 GetLocaleNameLength ( ) + HRESULT GetLocaleName ( WCHAR* localeName, UINT32 nameSize ) ; + +COM-INTERFACE: IDWriteTypography IUnknown {55f1112b-1dc2-4b3c-9541-f46894ed85b6} + HRESULT AddFontFeature ( DWRITE_FONT_FEATURE fontFeature ) + UINT32 GetFontFeatureCount ( ) + HRESULT GetFontFeature ( UINT32 fontFeatureIndex, DWRITE_FONT_FEATURE* fontFeature ) ; + +CONSTANT: DWRITE_SCRIPT_SHAPES_DEFAULT 0 +CONSTANT: DWRITE_SCRIPT_SHAPES_NO_VISUAL 1 +TYPEDEF: int DWRITE_SCRIPT_SHAPES + +STRUCT: DWRITE_SCRIPT_ANALYSIS + { script USHORT } + { shapes DWRITE_SCRIPT_SHAPES } ; + +C-ENUM: + DWRITE_BREAK_CONDITION_NEUTRAL + DWRITE_BREAK_CONDITION_CAN_BREAK + DWRITE_BREAK_CONDITION_MAY_NOT_BREAK + DWRITE_BREAK_CONDITION_MUST_BREAK ; +TYPEDEF: int DWRITE_BREAK_CONDITION + +STRUCT: DWRITE_LINE_BREAKPOINT + { data BYTE } ; + +C-ENUM: + DWRITE_NUMBER_SUBSTITUTION_METHOD_FROM_CULTURE + DWRITE_NUMBER_SUBSTITUTION_METHOD_CONTEXTUAL + DWRITE_NUMBER_SUBSTITUTION_METHOD_NONE + DWRITE_NUMBER_SUBSTITUTION_METHOD_NATIONAL + DWRITE_NUMBER_SUBSTITUTION_METHOD_TRADITIONAL ; +TYPEDEF: int DWRITE_NUMBER_SUBSTITUTION_METHOD + +COM-INTERFACE: IDWriteNumberSubstitution IUnknown {14885CC9-BAB0-4f90-B6ED-5C366A2CD03D} ; + +STRUCT: DWRITE_SHAPING_TEXT_PROPERTIES + { data USHORT } ; + +STRUCT: DWRITE_SHAPING_GLYPH_PROPERTIES + { data USHORT } ; + +COM-INTERFACE: IDWriteTextAnalysisSource IUnknown {688e1a58-5094-47c8-adc8-fbcea60ae92b} + HRESULT GetTextAtPosition ( UINT32 textPosition, WCHAR** textString, UINT32* textLength ) + HRESULT GetTextBeforePosition ( UINT32 textPosition, WCHAR** textString, UINT32* textLength ) + DWRITE_READING_DIRECTION GetParagraphReadingDirection ( ) + HRESULT GetLocaleName ( UINT32 textPosition, UINT32* textLength, WCHAR** localeName ) + HRESULT GetNumberSubstitution ( UINT32 textPosition, UINT32* textLength, IDWriteNumberSubstitution** numberSubstitution ) ; + +COM-INTERFACE: IDWriteTextAnalysisSink IUnknown {5810cd44-0ca0-4701-b3fa-bec5182ae4f6} + HRESULT SetScriptAnalysis ( UINT32 textPosition, UINT32 textLength, DWRITE_SCRIPT_ANALYSIS* scriptAnalysis ) + HRESULT SetLineBreakpoints ( UINT32 textPosition, UINT32 textLength, DWRITE_LINE_BREAKPOINT* lineBreakpoints ) + HRESULT SetBidiLevel ( UINT32 textPosition, UINT32 textLength, BYTE explicitLevel, BYTE resolvedLevel ) + HRESULT SetNumberSubstitution ( UINT32 textPosition, UINT32 textLength, IDWriteNumberSubstitution* numberSubstitution ) ; + +COM-INTERFACE: IDWriteTextAnalyzer IUnknown {b7e6163e-7f46-43b4-84b3-e4e6249c365d} + HRESULT AnalyzeScript ( IDWriteTextAnalysisSource* analysisSource, UINT32 textPosition, UINT32 textLength, IDWriteTextAnalysisSink* analysisSink ) + HRESULT AnalyzeBidi ( IDWriteTextAnalysisSource* analysisSource, UINT32 textPosition, UINT32 textLength, IDWriteTextAnalysisSink* analysisSink ) + HRESULT AnalyzeNumberSubstitution ( IDWriteTextAnalysisSource* analysisSource, UINT32 textPosition, UINT32 textLength, IDWriteTextAnalysisSink* analysisSink ) + HRESULT AnalyzeLineBreakpoints ( IDWriteTextAnalysisSource* analysisSource, UINT32 textPosition, UINT32 textLength, IDWriteTextAnalysisSink* analysisSink ) + HRESULT GetGlyphs ( WCHAR* textString, UINT32 textLength, IDWriteFontFace* fontFace, BOOL isSideways, BOOL isRightToLeft, DWRITE_SCRIPT_ANALYSIS* scriptAnalysis, WCHAR* localeName, IDWriteNumberSubstitution* numberSubstitution, DWRITE_TYPOGRAPHIC_FEATURES** features, UINT32* featureRangeLengths, UINT32 featureRanges, UINT32 maxGlyphCount, USHORT* clusterMap, DWRITE_SHAPING_TEXT_PROPERTIES* textProps, USHORT* glyphIndices, DWRITE_SHAPING_GLYPH_PROPERTIES* glyphProps, UINT32* actualGlyphCount ) + HRESULT GetGlyphPlacements ( WCHAR* textString, USHORT* clusterMap, DWRITE_SHAPING_TEXT_PROPERTIES* textProps, UINT32 textLength, USHORT* glyphIndices, DWRITE_SHAPING_GLYPH_PROPERTIES* glyphProps, UINT32 glyphCount, IDWriteFontFace* fontFace, FLOAT fontEmSize, BOOL isSideways, BOOL isRightToLeft, DWRITE_SCRIPT_ANALYSIS* scriptAnalysis, WCHAR* localeName, DWRITE_TYPOGRAPHIC_FEATURES** features, UINT32* featureRangeLengths, UINT32 featureRanges, FLOAT* glyphAdvances, DWRITE_GLYPH_OFFSET* glyphOffsets ) + HRESULT GetGdiCompatibleGlyphPlacements ( WCHAR* textString, USHORT* clusterMap, DWRITE_SHAPING_TEXT_PROPERTIES* textProps, UINT32 textLength, USHORT* glyphIndices, DWRITE_SHAPING_GLYPH_PROPERTIES* glyphProps, UINT32 glyphCount, IDWriteFontFace* fontFace, FLOAT fontEmSize, FLOAT pixelsPerDip, DWRITE_MATRIX* transform, BOOL useGdiNatural, BOOL isSideways, BOOL isRightToLeft, DWRITE_SCRIPT_ANALYSIS* scriptAnalysis, WCHAR* localeName, DWRITE_TYPOGRAPHIC_FEATURES** features, UINT32* featureRangeLengths, UINT32 featureRanges, FLOAT* glyphAdvances, DWRITE_GLYPH_OFFSET* glyphOffsets ) ; + +STRUCT: DWRITE_GLYPH_RUN + { fontFace IDWriteFontFace* } + { fontEmSize FLOAT } + { glyphCount UINT32 } + { glyphIndices USHORT* } + { glyphAdvances FLOAT* } + { glyphOffsets DWRITE_GLYPH_OFFSET* } + { isSideways BOOL } + { bidiLevel UINT32 } ; + +STRUCT: DWRITE_GLYPH_RUN_DESCRIPTION + { localeName WCHAR* } + { string WCHAR* } + { stringLength UINT32 } + { clusterMap USHORT* } + { textPosition UINT32 } ; + +STRUCT: DWRITE_UNDERLINE + { width FLOAT } + { thickness FLOAT } + { offset FLOAT } + { runHeight FLOAT } + { readingDirection DWRITE_READING_DIRECTION } + { flowDirection DWRITE_FLOW_DIRECTION } + { localeName WCHAR* } + { measuringMode DWRITE_MEASURING_MODE } ; + +STRUCT: DWRITE_STRIKETHROUGH + { width FLOAT } + { thickness FLOAT } + { offset FLOAT } + { readingDirection DWRITE_READING_DIRECTION } + { flowDirection DWRITE_FLOW_DIRECTION } + { localeName WCHAR* } + { measuringMode DWRITE_MEASURING_MODE } ; + +STRUCT: DWRITE_LINE_METRICS + { length UINT32 } + { trailingWhitespaceLength UINT32 } + { newlineLength UINT32 } + { height FLOAT } + { baseline FLOAT } + { isTrimmed BOOL } ; + +STRUCT: DWRITE_CLUSTER_METRICS + { width FLOAT } + { length USHORT } + { data USHORT } ; + +STRUCT: DWRITE_TEXT_METRICS + { left FLOAT } + { top FLOAT } + { width FLOAT } + { widthIncludingTrailingWhitespace FLOAT } + { height FLOAT } + { layoutWidth FLOAT } + { layoutHeight FLOAT } + { maxBidiReorderingDepth UINT32 } + { lineCount UINT32 } ; + +STRUCT: DWRITE_INLINE_OBJECT_METRICS + { width FLOAT } + { height FLOAT } + { baseline FLOAT } + { supportsSideways BOOL } ; + +STRUCT: DWRITE_OVERHANG_METRICS + { left FLOAT } + { top FLOAT } + { right FLOAT } + { bottom FLOAT } ; + +STRUCT: DWRITE_HIT_TEST_METRICS + { textPosition UINT32 } + { length UINT32 } + { left FLOAT } + { top FLOAT } + { width FLOAT } + { height FLOAT } + { bidiLevel UINT32 } + { isText BOOL } + { isTrimmed BOOL } ; + +C-TYPE: IDWriteTextRenderer + +COM-INTERFACE: IDWriteInlineObject IUnknown {8339FDE3-106F-47ab-8373-1C6295EB10B3} + HRESULT Draw ( void* clientDrawingContext, IDWriteTextRenderer* renderer, FLOAT originX, FLOAT originY, BOOL isSideways, BOOL isRightToLeft, IUnknown* clientDrawingEffect ) + HRESULT GetMetrics ( DWRITE_INLINE_OBJECT_METRICS* metrics ) + HRESULT GetOverhangMetrics ( DWRITE_OVERHANG_METRICS* overhangs ) + HRESULT GetBreakConditions ( DWRITE_BREAK_CONDITION* breakConditionBefore, DWRITE_BREAK_CONDITION* breakConditionAfter ) ; + +COM-INTERFACE: IDWritePixelSnapping IUnknown {eaf3a2da-ecf4-4d24-b644-b34f6842024b} + HRESULT IsPixelSnappingDisabled ( void* clientDrawingContext, BOOL* isDisabled ) + HRESULT GetCurrentTransform ( void* clientDrawingContext, DWRITE_MATRIX* transform ) + HRESULT GetPixelsPerDip ( void* clientDrawingContext, FLOAT* pixelsPerDip ) ; + +COM-INTERFACE: IDWriteTextRenderer IDWritePixelSnapping {ef8a8135-5cc6-45fe-8825-c5a0724eb819} + HRESULT DrawGlyphRun ( void* clientDrawingContext, FLOAT baselineOriginX, FLOAT baselineOriginY, DWRITE_MEASURING_MODE measuringMode, DWRITE_GLYPH_RUN* glyphRun, DWRITE_GLYPH_RUN_DESCRIPTION* glyphRunDescription, IUnknown* clientDrawingEffect ) + HRESULT DrawUnderline ( void* clientDrawingContext, FLOAT baselineOriginX, FLOAT baselineOriginY, DWRITE_UNDERLINE* underline, IUnknown* clientDrawingEffect ) + HRESULT DrawStrikethrough ( void* clientDrawingContext, FLOAT baselineOriginX, FLOAT baselineOriginY, DWRITE_STRIKETHROUGH* strikethrough, IUnknown* clientDrawingEffect ) + HRESULT DrawInlineObject ( void* clientDrawingContext, FLOAT originX, FLOAT originY, IDWriteInlineObject* inlineObject, BOOL isSideways, BOOL isRightToLeft, IUnknown* clientDrawingEffect ) ; + +COM-INTERFACE: IDWriteTextLayout IDWriteTextFormat {53737037-6d14-410b-9bfe-0b182bb70961} + HRESULT SetMaxWidth ( FLOAT maxWidth ) + HRESULT SetMaxHeight ( FLOAT maxHeight ) + HRESULT SetFontCollection ( IDWriteFontCollection* fontCollection, DWRITE_TEXT_RANGE textRange ) + HRESULT SetFontFamilyName ( WCHAR* fontFamilyName, DWRITE_TEXT_RANGE textRange ) + HRESULT SetFontWeight ( DWRITE_FONT_WEIGHT fontWeight, DWRITE_TEXT_RANGE textRange ) + HRESULT SetFontStyle ( DWRITE_FONT_STYLE fontStyle, DWRITE_TEXT_RANGE textRange ) + HRESULT SetFontStretch ( DWRITE_FONT_STRETCH fontStretch, DWRITE_TEXT_RANGE textRange ) + HRESULT SetFontSize ( FLOAT fontSize, DWRITE_TEXT_RANGE textRange ) + HRESULT SetUnderline ( BOOL hasUnderline, DWRITE_TEXT_RANGE textRange ) + HRESULT SetStrikethrough ( BOOL hasStrikethrough, DWRITE_TEXT_RANGE textRange ) + HRESULT SetDrawingEffect ( IUnknown* drawingEffect, DWRITE_TEXT_RANGE textRange ) + HRESULT SetInlineObject ( IDWriteInlineObject* inlineObject, DWRITE_TEXT_RANGE textRange ) + HRESULT SetTypography ( IDWriteTypography* typography, DWRITE_TEXT_RANGE textRange ) + HRESULT SetLocaleName ( WCHAR* localeName, DWRITE_TEXT_RANGE textRange ) + FLOAT GetMaxWidth ( ) + FLOAT GetMaxHeight ( ) + HRESULT GetFontCollection2 ( UINT32 currentPosition, IDWriteFontCollection** fontCollection, DWRITE_TEXT_RANGE* textRange ) + HRESULT GetFontFamilyNameLength2 ( UINT32 currentPosition, UINT32* nameLength, DWRITE_TEXT_RANGE* textRange ) + HRESULT GetFontFamilyName2 ( UINT32 currentPosition, WCHAR* fontFamilyName, UINT32 nameSize, DWRITE_TEXT_RANGE* textRange ) + HRESULT GetFontWeight2 ( UINT32 currentPosition, DWRITE_FONT_WEIGHT* fontWeight, DWRITE_TEXT_RANGE* textRange ) + HRESULT GetFontStyle2 ( UINT32 currentPosition, DWRITE_FONT_STYLE* fontStyle, DWRITE_TEXT_RANGE* textRange ) + HRESULT GetFontStretch2 ( UINT32 currentPosition, DWRITE_FONT_STRETCH* fontStretch, DWRITE_TEXT_RANGE* textRange ) + HRESULT GetFontSize2 ( UINT32 currentPosition, FLOAT* fontSize, DWRITE_TEXT_RANGE* textRange ) + HRESULT GetUnderline ( UINT32 currentPosition, BOOL* hasUnderline, DWRITE_TEXT_RANGE* textRange ) + HRESULT GetStrikethrough ( UINT32 currentPosition, BOOL* hasStrikethrough, DWRITE_TEXT_RANGE* textRange ) + HRESULT GetDrawingEffect ( UINT32 currentPosition, IUnknown** drawingEffect, DWRITE_TEXT_RANGE* textRange ) + HRESULT GetInlineObject ( UINT32 currentPosition, IDWriteInlineObject** inlineObject, DWRITE_TEXT_RANGE* textRange ) + HRESULT GetTypography ( UINT32 currentPosition, IDWriteTypography** typography, DWRITE_TEXT_RANGE* textRange ) + HRESULT GetLocaleNameLength2 ( UINT32 currentPosition, UINT32* nameLength, DWRITE_TEXT_RANGE* textRange ) + HRESULT GetLocaleName2 ( UINT32 currentPosition, WCHAR* localeName, UINT32 nameSize, DWRITE_TEXT_RANGE* textRange ) + HRESULT Draw ( void* clientDrawingContext, IDWriteTextRenderer* renderer, FLOAT originX, FLOAT originY ) + HRESULT GetLineMetrics ( DWRITE_LINE_METRICS* lineMetrics, UINT32 maxLineCount, UINT32* actualLineCount ) + HRESULT GetMetrics ( DWRITE_TEXT_METRICS* textMetrics ) + HRESULT GetOverhangMetrics ( DWRITE_OVERHANG_METRICS* overhangs ) + HRESULT GetClusterMetrics ( DWRITE_CLUSTER_METRICS* clusterMetrics, UINT32 maxClusterCount, UINT32* actualClusterCount ) + HRESULT DetermineMinWidth ( FLOAT* minWidth ) + HRESULT HitTestPoint ( FLOAT pointX, FLOAT pointY, BOOL* isTrailingHit, BOOL* isInside, DWRITE_HIT_TEST_METRICS* hitTestMetrics ) + HRESULT HitTestTextPosition ( UINT32 textPosition, BOOL isTrailingHit, FLOAT* pointX, FLOAT* pointY, DWRITE_HIT_TEST_METRICS* hitTestMetrics ) + HRESULT HitTestTextRange ( UINT32 textPosition, UINT32 textLength, FLOAT originX, FLOAT originY, DWRITE_HIT_TEST_METRICS* hitTestMetrics, UINT32 maxHitTestMetricsCount, UINT32* actualHitTestMetricsCount ) ; + +COM-INTERFACE: IDWriteBitmapRenderTarget IUnknown {5e5a32a3-8dff-4773-9ff6-0696eab77267} + HRESULT DrawGlyphRun ( FLOAT baselineOriginX, FLOAT baselineOriginY, DWRITE_MEASURING_MODE measuringMode, DWRITE_GLYPH_RUN* glyphRun, IDWriteRenderingParams* renderingParams, COLORREF textColor, RECT* blackBoxRect ) + HDC GetMemoryDC ( ) + FLOAT GetPixelsPerDip ( ) + HRESULT SetPixelsPerDip ( FLOAT pixelsPerDip ) + HRESULT GetCurrentTransform ( DWRITE_MATRIX* transform ) + HRESULT SetCurrentTransform ( DWRITE_MATRIX* transform ) + HRESULT GetSize ( SIZE* size ) + HRESULT Resize ( UINT32 width, UINT32 height ) ; + +C-TYPE: LOGFONTW + +COM-INTERFACE: IDWriteGdiInterop IUnknown {1edd9491-9853-4299-898f-6432983b6f3a} + HRESULT CreateFontFromLOGFONT ( LOGFONTW* logFont, IDWriteFont** font ) + HRESULT ConvertFontToLOGFONT ( IDWriteFont* font, LOGFONTW* logFont, BOOL* isSystemFont ) + HRESULT ConvertFontFaceToLOGFONT ( IDWriteFontFace* font, LOGFONTW* logFont ) + HRESULT CreateFontFaceFromHdc ( HDC hdc, IDWriteFontFace** fontFace ) + HRESULT CreateBitmapRenderTarget ( HDC hdc, UINT32 width, UINT32 height, IDWriteBitmapRenderTarget** renderTarget ) ; + +C-ENUM: DWRITE_TEXTURE_ALIASED_1x1 + DWRITE_TEXTURE_CLEARTYPE_3x1 ; +TYPEDEF: int DWRITE_TEXTURE_TYPE + +CONSTANT: DWRITE_ALPHA_MAX 255 + +COM-INTERFACE: IDWriteGlyphRunAnalysis IUnknown {7d97dbf7-e085-42d4-81e3-6a883bded118} + HRESULT GetAlphaTextureBounds ( DWRITE_TEXTURE_TYPE textureType, RECT* textureBounds ) + HRESULT CreateAlphaTexture ( DWRITE_TEXTURE_TYPE textureType, RECT* textureBounds, BYTE* alphaValues, UINT32 bufferSize ) + HRESULT GetAlphaBlendParams ( IDWriteRenderingParams* renderingParams, FLOAT* blendGamma, FLOAT* blendEnhancedContrast, FLOAT* blendClearTypeLevel ) ; + +COM-INTERFACE: IDWriteFactory IUnknown {b859ee5a-d838-4b5b-a2e8-1adc7d93db48} + HRESULT GetSystemFontCollection ( IDWriteFontCollection** fontCollection, BOOL checkForUpdates ) + HRESULT CreateCustomFontCollection ( IDWriteFontCollectionLoader* collectionLoader, void* collectionKey, UINT32 collectionKeySize, IDWriteFontCollection** fontCollection ) + HRESULT RegisterFontCollectionLoader ( IDWriteFontCollectionLoader* fontCollectionLoader ) + HRESULT UnregisterFontCollectionLoader ( IDWriteFontCollectionLoader* fontCollectionLoader ) + HRESULT CreateFontFileReference ( WCHAR* filePath, FILETIME* lastWriteTime, IDWriteFontFile** fontFile ) + HRESULT CreateCustomFontFileReference ( void* fontFileReferenceKey, UINT32 fontFileReferenceKeySize, IDWriteFontFileLoader* fontFileLoader, IDWriteFontFile** fontFile ) + HRESULT CreateFontFace ( DWRITE_FONT_FACE_TYPE fontFaceType, UINT32 numberOfFiles, IDWriteFontFile** fontFiles, UINT32 faceIndex, DWRITE_FONT_SIMULATIONS fontFaceSimulationFlags, IDWriteFontFace** fontFace ) + HRESULT CreateRenderingParams ( IDWriteRenderingParams** renderingParams ) + HRESULT CreateMonitorRenderingParams ( HMONITOR monitor, IDWriteRenderingParams** renderingParams ) + HRESULT CreateCustomRenderingParams ( FLOAT gamma, FLOAT enhancedContrast, FLOAT clearTypeLevel, DWRITE_PIXEL_GEOMETRY pixelGeometry, DWRITE_RENDERING_MODE renderingMode, IDWriteRenderingParams** renderingParams ) + HRESULT RegisterFontFileLoader ( IDWriteFontFileLoader* fontFileLoader ) + HRESULT UnregisterFontFileLoader ( IDWriteFontFileLoader* fontFileLoader ) + HRESULT CreateTextFormat ( WCHAR* fontFamilyName, IDWriteFontCollection* fontCollection, DWRITE_FONT_WEIGHT fontWeight, DWRITE_FONT_STYLE fontStyle, DWRITE_FONT_STRETCH fontStretch, FLOAT fontSize, WCHAR* localeName, IDWriteTextFormat** textFormat ) + HRESULT CreateTypography ( IDWriteTypography** typography ) + HRESULT GetGdiInterop ( IDWriteGdiInterop** gdiInterop ) + HRESULT CreateTextLayout ( WCHAR* string, UINT32 stringLength, IDWriteTextFormat* textFormat, FLOAT maxWidth, FLOAT maxHeight, IDWriteTextLayout** textLayout ) + HRESULT CreateGdiCompatibleTextLayout ( WCHAR* string, UINT32 stringLength, IDWriteTextFormat* textFormat, FLOAT layoutWidth, FLOAT layoutHeight, FLOAT pixelsPerDip, DWRITE_MATRIX* transform, BOOL useGdiNatural, IDWriteTextLayout** textLayout ) + HRESULT CreateEllipsisTrimmingSign ( IDWriteTextFormat* textFormat, IDWriteInlineObject** trimmingSign ) + HRESULT CreateTextAnalyzer ( IDWriteTextAnalyzer** textAnalyzer ) + HRESULT CreateNumberSubstitution ( DWRITE_NUMBER_SUBSTITUTION_METHOD substitutionMethod, WCHAR* localeName, BOOL ignoreUserOverride, IDWriteNumberSubstitution** numberSubstitution ) + HRESULT CreateGlyphRunAnalysis ( DWRITE_GLYPH_RUN* glyphRun, FLOAT pixelsPerDip, DWRITE_MATRIX* transform, DWRITE_RENDERING_MODE renderingMode, DWRITE_MEASURING_MODE measuringMode, FLOAT baselineOriginX, FLOAT baselineOriginY, IDWriteGlyphRunAnalysis** glyphRunAnalysis ) ; + +FUNCTION: HRESULT DWriteCreateFactory ( + DWRITE_FACTORY_TYPE factoryType, + REFIID iid, + IUnknown** factory ) ; + +CONSTANT: DWRITE_E_FILEFORMAT HEX: 88985000 +CONSTANT: DWRITE_E_UNEXPECTED HEX: 88985001 +CONSTANT: DWRITE_E_NOFONT HEX: 88985002 +CONSTANT: DWRITE_E_FILENOTFOUND HEX: 88985003 +CONSTANT: DWRITE_E_FILEACCESS HEX: 88985004 +CONSTANT: DWRITE_E_FONTCOLLECTIONOBSOLETE HEX: 88985005 +CONSTANT: DWRITE_E_ALREADYREGISTERED HEX: 88985006 diff --git a/basis/windows/directx/dwrite/summary.txt b/basis/windows/directx/dwrite/summary.txt new file mode 100644 index 0000000000..06c2e218b2 --- /dev/null +++ b/basis/windows/directx/dwrite/summary.txt @@ -0,0 +1 @@ +Bindings to DirectWrite text rendering. Corresponds to dwrite.h. diff --git a/basis/windows/directx/dwrite/tags.txt b/basis/windows/directx/dwrite/tags.txt new file mode 100644 index 0000000000..2320bdd648 --- /dev/null +++ b/basis/windows/directx/dwrite/tags.txt @@ -0,0 +1,2 @@ +unportable +bindings diff --git a/basis/windows/directx/dxfile/authors.txt b/basis/windows/directx/dxfile/authors.txt new file mode 100644 index 0000000000..6f03a12101 --- /dev/null +++ b/basis/windows/directx/dxfile/authors.txt @@ -0,0 +1 @@ +Erik Charlebois diff --git a/basis/windows/directx/dxfile/dxfile.factor b/basis/windows/directx/dxfile/dxfile.factor new file mode 100644 index 0000000000..60d072256c --- /dev/null +++ b/basis/windows/directx/dxfile/dxfile.factor @@ -0,0 +1,122 @@ +USING: alien.syntax classes.struct windows.com +windows.com.syntax windows.kernel32 windows.ole32 windows.types ; +IN: windows.directx.dxfile + +LIBRARY: d3dxof + +TYPEDEF: DWORD DXFILEFORMAT + +CONSTANT: DXFILEFORMAT_BINARY 0 +CONSTANT: DXFILEFORMAT_TEXT 1 +CONSTANT: DXFILEFORMAT_COMPRESSED 2 + +TYPEDEF: DWORD DXFILELOADOPTIONS + +CONSTANT: DXFILELOAD_FROMFILE 0 +CONSTANT: DXFILELOAD_FROMRESOURCE 1 +CONSTANT: DXFILELOAD_FROMMEMORY 2 +CONSTANT: DXFILELOAD_FROMSTREAM 4 +CONSTANT: DXFILELOAD_FROMURL 8 + +STRUCT: DXFILELOADRESOURCE + { hModule HMODULE } + { lpName LPCTSTR } + { lpType LPCTSTR } ; +TYPEDEF: DXFILELOADRESOURCE* LPDXFILELOADRESOURCE + +STRUCT: DXFILELOADMEMORY + { lpMemory LPVOID } + { dSize DWORD } ; +TYPEDEF: DXFILELOADMEMORY* LPDXFILELOADMEMORY + +C-TYPE: IDirectXFile +TYPEDEF: IDirectXFile* LPDIRECTXFILE +TYPEDEF: IDirectXFile** LPLPDIRECTXFILE +C-TYPE: IDirectXFileEnumObject +TYPEDEF: IDirectXFileEnumObject* LPDIRECTXFILEENUMOBJECT +TYPEDEF: IDirectXFileEnumObject** LPLPDIRECTXFILEENUMOBJECT +C-TYPE: IDirectXFileSaveObject +TYPEDEF: IDirectXFileSaveObject* LPDIRECTXFILESAVEOBJECT +TYPEDEF: IDirectXFileSaveObject** LPLPDIRECTXFILESAVEOBJECT +C-TYPE: IDirectXFileObject +TYPEDEF: IDirectXFileObject* LPDIRECTXFILEOBJECT +TYPEDEF: IDirectXFileObject** LPLPDIRECTXFILEOBJECT +C-TYPE: IDirectXFileData +TYPEDEF: IDirectXFileData* LPDIRECTXFILEDATA +TYPEDEF: IDirectXFileData** LPLPDIRECTXFILEDATA +C-TYPE: IDirectXFileDataReference +TYPEDEF: IDirectXFileDataReference* LPDIRECTXFILEDATAREFERENCE +TYPEDEF: IDirectXFileDataReference** LPLPDIRECTXFILEDATAREFERENCE +C-TYPE: IDirectXFileBinary +TYPEDEF: IDirectXFileBinary* LPDIRECTXFILEBINARY +TYPEDEF: IDirectXFileBinary** LPLPDIRECTXFILEBINARY + +FUNCTION: HRESULT DirectXFileCreate ( LPDIRECTXFILE* lplpDirectXFile ) ; + +COM-INTERFACE: IDirectXFile IUnknown {3d82ab40-62da-11cf-ab39-0020af71e433} + HRESULT CreateEnumObject ( LPVOID v, DXFILELOADOPTIONS y, + LPDIRECTXFILEENUMOBJECT* z ) + HRESULT CreateSaveObject ( LPCSTR v, DXFILEFORMAT y, + LPDIRECTXFILESAVEOBJECT* z ) + HRESULT RegisterTemplates ( LPVOID x, DWORD y ) ; + +COM-INTERFACE: IDirectXFileEnumObject IUnknown {3d82ab41-62da-11cf-ab39-0020af71e433} + HRESULT GetNextDataObject ( LPDIRECTXFILEDATA* x ) + HRESULT GetDataObjectById ( REFGUID x, LPDIRECTXFILEDATA* y ) + HRESULT GetDataObjectByName ( LPCSTR x, LPDIRECTXFILEDATA* y ) ; + +COM-INTERFACE: IDirectXFileSaveObject IUnknown {3d82ab42-62da-11cf-ab39-0020af71e433} + HRESULT SaveTemplates ( DWORD x, GUID** y ) + HRESULT CreateDataObject ( REFGUID x, LPCSTR y, GUID* z, + DWORD a, LPVOID b, LPDIRECTXFILEDATA* c ) + HRESULT SaveData ( LPDIRECTXFILEDATA x ) ; + +COM-INTERFACE: IDirectXFileObject IUnknown {3d82ab43-62da-11cf-ab39-0020af71e433} + HRESULT GetName ( LPSTR x, LPDWORD y ) + HRESULT GetId ( LPGUID y ) ; + +COM-INTERFACE: IDirectXFileData IDirectXFileObject {3d82ab44-62da-11cf-ab39-0020af71e433} + HRESULT GetData ( LPCSTR x, DWORD* y, void** z ) + HRESULT GetType ( GUID** x ) + HRESULT GetNextObject ( LPDIRECTXFILEOBJECT* x ) + HRESULT AddDataObject ( LPDIRECTXFILEDATA y ) + HRESULT AddDataReference ( LPCSTR x, GUID* y ) + HRESULT AddBinaryObject ( LPCSTR x, GUID* y, LPCSTR z, LPVOID a, DWORD b ) ; + +COM-INTERFACE: IDirectXFileDataReference IDirectXFileObject {3d82ab45-62da-11cf-ab39-0020af71e433} + HRESULT Resolve ( LPDIRECTXFILEDATA* x ) ; + +COM-INTERFACE: IDirectXFileBinary IDirectXFileObject {3d82ab46-62da-11cf-ab39-0020af71e433} + HRESULT GetSize ( DWORD* x ) + HRESULT GetMimeType ( LPCSTR* x ) + HRESULT Read ( LPVOID x, DWORD y, LPDWORD z ) ; + +CONSTANT: DXFILE_OK 0 + +CONSTANT: DXFILEERR_BADOBJECT HEX: 88760352 +CONSTANT: DXFILEERR_BADVALUE HEX: 88760353 +CONSTANT: DXFILEERR_BADTYPE HEX: 88760354 +CONSTANT: DXFILEERR_BADSTREAMHANDLE HEX: 88760355 +CONSTANT: DXFILEERR_BADALLOC HEX: 88760356 +CONSTANT: DXFILEERR_NOTFOUND HEX: 88760357 +CONSTANT: DXFILEERR_NOTDONEYET HEX: 88760358 +CONSTANT: DXFILEERR_FILENOTFOUND HEX: 88760359 +CONSTANT: DXFILEERR_RESOURCENOTFOUND HEX: 8876035A +CONSTANT: DXFILEERR_URLNOTFOUND HEX: 8876035B +CONSTANT: DXFILEERR_BADRESOURCE HEX: 8876035C +CONSTANT: DXFILEERR_BADFILETYPE HEX: 8876035D +CONSTANT: DXFILEERR_BADFILEVERSION HEX: 8876035E +CONSTANT: DXFILEERR_BADFILEFLOATSIZE HEX: 8876035F +CONSTANT: DXFILEERR_BADFILECOMPRESSIONTYPE HEX: 88760360 +CONSTANT: DXFILEERR_BADFILE HEX: 88760361 +CONSTANT: DXFILEERR_PARSEERROR HEX: 88760362 +CONSTANT: DXFILEERR_NOTEMPLATE HEX: 88760363 +CONSTANT: DXFILEERR_BADARRAYSIZE HEX: 88760364 +CONSTANT: DXFILEERR_BADDATAREFERENCE HEX: 88760365 +CONSTANT: DXFILEERR_INTERNALERROR HEX: 88760366 +CONSTANT: DXFILEERR_NOMOREOBJECTS HEX: 88760367 +CONSTANT: DXFILEERR_BADINTRINSICS HEX: 88760368 +CONSTANT: DXFILEERR_NOMORESTREAMHANDLES HEX: 88760369 +CONSTANT: DXFILEERR_NOMOREDATA HEX: 8876036A +CONSTANT: DXFILEERR_BADCACHEFILE HEX: 8876036B +CONSTANT: DXFILEERR_NOINTERNET HEX: 8876036C diff --git a/basis/windows/directx/dxfile/summary.txt b/basis/windows/directx/dxfile/summary.txt new file mode 100644 index 0000000000..34ad8e668f --- /dev/null +++ b/basis/windows/directx/dxfile/summary.txt @@ -0,0 +1 @@ +Bindings to DirectX file abstraction. Corresponds to dxfile.h. diff --git a/basis/windows/directx/dxfile/tags.txt b/basis/windows/directx/dxfile/tags.txt new file mode 100644 index 0000000000..2320bdd648 --- /dev/null +++ b/basis/windows/directx/dxfile/tags.txt @@ -0,0 +1,2 @@ +unportable +bindings diff --git a/basis/windows/directx/dxgi/authors.txt b/basis/windows/directx/dxgi/authors.txt new file mode 100644 index 0000000000..6f03a12101 --- /dev/null +++ b/basis/windows/directx/dxgi/authors.txt @@ -0,0 +1 @@ +Erik Charlebois diff --git a/basis/windows/directx/dxgi/dxgi.factor b/basis/windows/directx/dxgi/dxgi.factor new file mode 100644 index 0000000000..6537de885f --- /dev/null +++ b/basis/windows/directx/dxgi/dxgi.factor @@ -0,0 +1,213 @@ +USING: alien.c-types alien.syntax classes.struct windows.com windows.com.syntax +windows.directx.dxgiformat windows.directx.dxgitype windows.kernel32 +windows.ole32 windows.types ; +IN: windows.directx.dxgi + +LIBRARY: dxgi + +CONSTANT: DXGI_CPU_ACCESS_NONE 0 +CONSTANT: DXGI_CPU_ACCESS_DYNAMIC 1 +CONSTANT: DXGI_CPU_ACCESS_READ_WRITE 2 +CONSTANT: DXGI_CPU_ACCESS_SCRATCH 3 +CONSTANT: DXGI_CPU_ACCESS_FIELD 15 +CONSTANT: DXGI_USAGE_SHADER_INPUT 16 +CONSTANT: DXGI_USAGE_RENDER_TARGET_OUTPUT 32 +CONSTANT: DXGI_USAGE_BACK_BUFFER 64 +CONSTANT: DXGI_USAGE_SHARED 128 +CONSTANT: DXGI_USAGE_READ_ONLY 256 +CONSTANT: DXGI_USAGE_DISCARD_ON_PRESENT 512 +CONSTANT: DXGI_USAGE_UNORDERED_ACCESS 1024 +TYPEDEF: UINT DXGI_USAGE + +STRUCT: DXGI_FRAME_STATISTICS +{ PresentCount UINT } +{ PresentRefreshCount UINT } +{ SyncRefreshCount UINT } +{ SyncQPCTime LARGE_INTEGER } +{ SyncGPUTime LARGE_INTEGER } ; + +STRUCT: DXGI_MAPPED_RECT +{ Pitch INT } +{ pBits BYTE* } ; + +STRUCT: DXGI_ADAPTER_DESC +{ Description WCHAR[128] } +{ VendorId UINT } +{ DeviceId UINT } +{ SubSysId UINT } +{ Revision UINT } +{ DedicatedVideoMemory SIZE_T } +{ DedicatedSystemMemory SIZE_T } +{ SharedSystemMemory SIZE_T } +{ AdapterLuid LUID } ; + +STRUCT: DXGI_OUTPUT_DESC +{ DeviceName WCHAR[32] } +{ DesktopCoordinates RECT } +{ AttachedToDesktop BOOL } +{ Rotation DXGI_MODE_ROTATION } +{ Monitor HMONITOR } ; + +STRUCT: DXGI_SHARED_RESOURCE +{ Handle HANDLE } ; + +CONSTANT: DXGI_RESOURCE_PRIORITY_MINIMUM HEX: 28000000 +CONSTANT: DXGI_RESOURCE_PRIORITY_LOW HEX: 50000000 +CONSTANT: DXGI_RESOURCE_PRIORITY_NORMAL HEX: 78000000 +CONSTANT: DXGI_RESOURCE_PRIORITY_HIGH HEX: a0000000 +CONSTANT: DXGI_RESOURCE_PRIORITY_MAXIMUM HEX: c8000000 + +CONSTANT: DXGI_RESIDENCY_FULLY_RESIDENT 1 +CONSTANT: DXGI_RESIDENCY_RESIDENT_IN_SHARED_MEMORY 2 +CONSTANT: DXGI_RESIDENCY_EVICTED_TO_DISK 3 +TYPEDEF: int DXGI_RESIDENCY + +STRUCT: DXGI_SURFACE_DESC +{ Width UINT } +{ Height UINT } +{ Format DXGI_FORMAT } +{ SampleDesc DXGI_SAMPLE_DESC } ; + +CONSTANT: DXGI_SWAP_EFFECT_DISCARD 0 +CONSTANT: DXGI_SWAP_EFFECT_SEQUENTIAL 1 +TYPEDEF: int DXGI_SWAP_EFFECT + +CONSTANT: DXGI_SWAP_CHAIN_FLAG_NONPREROTATED 1 +CONSTANT: DXGI_SWAP_CHAIN_FLAG_ALLOW_MODE_SWITCH 2 +CONSTANT: DXGI_SWAP_CHAIN_FLAG_GDI_COMPATIBLE 4 +TYPEDEF: int DXGI_SWAP_CHAIN_FLAG + +STRUCT: DXGI_SWAP_CHAIN_DESC +{ BufferDesc DXGI_MODE_DESC } +{ SampleDesc DXGI_SAMPLE_DESC } +{ BufferUsage DXGI_USAGE } +{ BufferCount UINT } +{ OutputWindow HWND } +{ Windowed BOOL } +{ SwapEffect DXGI_SWAP_EFFECT } +{ Flags UINT } ; + +COM-INTERFACE: IDXGIObject IUnknown {aec22fb8-76f3-4639-9be0-28eb43a67a2e} +HRESULT SetPrivateData ( REFGUID Name, UINT DataSize, void* pData ) +HRESULT SetPrivateDataInterface ( REFGUID Name, IUnknown* pUnknown ) +HRESULT GetPrivateData ( REFGUID Name, UINT* pDataSize, void* pData ) +HRESULT GetParent ( REFIID riid, void** ppParent ) ; + +COM-INTERFACE: IDXGIDeviceSubObject IDXGIObject {3d3e0379-f9de-4d58-bb6c-18d62992f1a6} +HRESULT GetDevice ( REFIID riid, void** ppDevice ) ; + +COM-INTERFACE: IDXGIResource IDXGIDeviceSubObject {035f3ab4-482e-4e50-b41f-8a7f8bd8960b} +HRESULT GetSharedHandle ( HANDLE* pSharedHandle ) +HRESULT GetUsage ( DXGI_USAGE* pUsage ) +HRESULT SetEvictionPriority ( UINT EvictionPriority ) +HRESULT GetEvictionPriority ( UINT* pEvictionPriority ) ; + +COM-INTERFACE: IDXGIKeyedMutex IDXGIDeviceSubObject {9d8e1289-d7b3-465f-8126-250e349af85d} +HRESULT AcquireSync ( UINT64 Key, DWORD dwMilliseconds ) +HRESULT ReleaseSync ( UINT64 Key ) ; + +CONSTANT: DXGI_MAP_READ 1 +CONSTANT: DXGI_MAP_WRITE 2 +CONSTANT: DXGI_MAP_DISCARD 4 + +COM-INTERFACE: IDXGISurface IDXGIDeviceSubObject {cafcb56c-6ac3-4889-bf47-9e23bbd260ec} +HRESULT GetDesc ( DXGI_SURFACE_DESC* pDesc ) +HRESULT Map ( DXGI_MAPPED_RECT* pLockedRect, UINT MapFlags ) +HRESULT Unmap ( ) ; + +COM-INTERFACE: IDXGISurface1 IDXGISurface {4AE63092-6327-4c1b-80AE-BFE12EA32B86} +HRESULT GetDC ( BOOL Discard, HDC* phdc ) +HRESULT ReleaseDC ( RECT* pDirtyRect ) ; + +COM-INTERFACE: IDXGIAdapter IDXGIObject {2411e7e1-12ac-4ccf-bd14-9798e8534dc0} +HRESULT EnumOutputs ( UINT Output, IDXGIOutput** ppOutput ) +HRESULT GetDesc ( DXGI_ADAPTER_DESC* pDesc ) +HRESULT CheckInterfaceSupport ( REFGUID InterfaceName, LARGE_INTEGER* pUMDVersion ) ; + +CONSTANT: DXGI_ENUM_MODES_INTERLACED 1 +CONSTANT: DXGI_ENUM_MODES_SCALING 2 + +COM-INTERFACE: IDXGIOutput IDXGIObject {ae02eedb-c735-4690-8d52-5a8dc20213aa} +HRESULT GetDesc ( DXGI_OUTPUT_DESC* pDesc ) +HRESULT GetDisplayModeList ( DXGI_FORMAT EnumFormat, UINT Flags, UINT* pNumModes, DXGI_MODE_DESC* pDesc ) +HRESULT FindClosestMatchingMode ( DXGI_MODE_DESC* pModeToMatch, DXGI_MODE_DESC* pClosestMatch, IUnknown* pConcernedDevice ) +HRESULT WaitForVBlank ( ) +HRESULT TakeOwnership ( IUnknown* pDevice, BOOL Exclusive ) +void ReleaseOwnership ( ) +HRESULT GetGammaControlCapabilities ( DXGI_GAMMA_CONTROL_CAPABILITIES* pGammaCaps ) +HRESULT SetGammaControl ( DXGI_GAMMA_CONTROL* pArray ) +HRESULT GetGammaControl ( DXGI_GAMMA_CONTROL* pArray ) +HRESULT SetDisplaySurface ( IDXGISurface* pScanoutSurface ) +HRESULT GetDisplaySurfaceData ( IDXGISurface* pDestination ) +HRESULT GetFrameStatistics ( DXGI_FRAME_STATISTICS* pStats ) ; + +CONSTANT: DXGI_MAX_SWAP_CHAIN_BUFFERS 16 +CONSTANT: DXGI_PRESENT_TEST 1 +CONSTANT: DXGI_PRESENT_DO_NOT_SEQUENCE 2 +CONSTANT: DXGI_PRESENT_RESTART 4 + +COM-INTERFACE: IDXGISwapChain IDXGIDeviceSubObject {310d36a0-d2e7-4c0a-aa04-6a9d23b8886a} +HRESULT Present ( UINT SyncInterval, UINT Flags ) +HRESULT GetBuffer ( UINT Buffer, REFIID riid, void** ppSurface ) +HRESULT SetFullscreenState ( BOOL Fullscreen, IDXGIOutput* pTarget ) +HRESULT GetFullscreenState ( BOOL* pFullscreen, IDXGIOutput** ppTarget ) +HRESULT GetDesc ( DXGI_SWAP_CHAIN_DESC* pDesc ) +HRESULT ResizeBuffers ( UINT BufferCount, UINT Width, UINT Height, DXGI_FORMAT NewFormat, UINT SwapChainFlags ) +HRESULT ResizeTarget ( DXGI_MODE_DESC* pNewTargetParameters ) +HRESULT GetContainingOutput ( IDXGIOutput** ppOutput ) +HRESULT GetFrameStatistics ( DXGI_FRAME_STATISTICS* pStats ) +HRESULT GetLastPresentCount ( UINT* pLastPresentCount ) ; + +CONSTANT: DXGI_MWA_NO_WINDOW_CHANGES 1 +CONSTANT: DXGI_MWA_NO_ALT_ENTER 2 +CONSTANT: DXGI_MWA_NO_PRINT_SCREEN 4 +CONSTANT: DXGI_MWA_VALID 7 + +COM-INTERFACE: IDXGIFactory IDXGIObject {7b7166ec-21c7-44ae-b21a-c9ae321ae369} +HRESULT EnumAdapters ( UINT Adapter, IDXGIAdapter** ppAdapter ) +HRESULT MakeWindowAssociation ( HWND WindowHandle, UINT Flags ) +HRESULT GetWindowAssociation ( HWND* pWindowHandle ) +HRESULT CreateSwapChain ( IUnknown* pDevice, DXGI_SWAP_CHAIN_DESC* pDesc, IDXGISwapChain** ppSwapChain ) +HRESULT CreateSoftwareAdapter ( HMODULE Module, IDXGIAdapter** ppAdapter ) ; + +FUNCTION: HRESULT CreateDXGIFactory ( REFIID riid, void** ppFactory ) ; +FUNCTION: HRESULT CreateDXGIFactory1 ( REFIID riid, void** ppFactory ) ; + +COM-INTERFACE: IDXGIDevice IDXGIObject {54ec77fa-1377-44e6-8c32-88fd5f44c84c} +HRESULT GetAdapter ( IDXGIAdapter** pAdapter ) +HRESULT CreateSurface ( DXGI_SURFACE_DESC* pDesc, UINT NumSurfaces, DXGI_USAGE Usage, DXGI_SHARED_RESOURCE* pSharedResource, IDXGISurface** ppSurface ) +HRESULT QueryResourceResidency ( IUnknown** ppResources, DXGI_RESIDENCY* pResidencyStatus, UINT NumResources ) +HRESULT SetGPUThreadPriority ( INT Priority ) +HRESULT GetGPUThreadPriority ( INT* pPriority ) ; + +CONSTANT: DXGI_ADAPTER_FLAG_NONE 0 +CONSTANT: DXGI_ADAPTER_FLAG_REMOTE 1 +CONSTANT: DXGI_ADAPTER_FLAG_FORCE_DWORD HEX: ffffffff +TYPEDEF: int DXGI_ADAPTER_FLAG + +STRUCT: DXGI_ADAPTER_DESC1 +{ Description WCHAR[128] } +{ VendorId UINT } +{ DeviceId UINT } +{ SubSysId UINT } +{ Revision UINT } +{ DedicatedVideoMemory SIZE_T } +{ DedicatedSystemMemory SIZE_T } +{ SharedSystemMemory SIZE_T } +{ AdapterLuid LUID } +{ Flags UINT } ; + +STRUCT: DXGI_DISPLAY_COLOR_SPACE +{ PrimaryCoordinates FLOAT[8][2] } +{ WhitePoints FLOAT[16][2] } ; + +COM-INTERFACE: IDXGIFactory1 IDXGIFactory {770aae78-f26f-4dba-a829-253c83d1b387} +HRESULT EnumAdapters1 ( UINT Adapter, IDXGIAdapter1** ppAdapter ) +BOOL IsCurrent ( ) ; + +COM-INTERFACE: IDXGIAdapter1 IDXGIAdapter {29038f61-3839-4626-91fd-086879011a05} +HRESULT GetDesc1 ( DXGI_ADAPTER_DESC1* pDesc ) ; + +COM-INTERFACE: IDXGIDevice1 IDXGIDevice {77db970f-6276-48ba-ba28-070143b4392c} +HRESULT SetMaximumFrameLatency ( UINT MaxLatency ) +HRESULT GetMaximumFrameLatency ( UINT* pMaxLatency ) ; diff --git a/basis/windows/directx/dxgi/summary.txt b/basis/windows/directx/dxgi/summary.txt new file mode 100644 index 0000000000..1bcb6b4be2 --- /dev/null +++ b/basis/windows/directx/dxgi/summary.txt @@ -0,0 +1 @@ +Bindings to the DirectX Graphics Infrastructure. Corresponds to DXGI.h. diff --git a/basis/windows/directx/dxgi/tags.txt b/basis/windows/directx/dxgi/tags.txt new file mode 100644 index 0000000000..2320bdd648 --- /dev/null +++ b/basis/windows/directx/dxgi/tags.txt @@ -0,0 +1,2 @@ +unportable +bindings diff --git a/basis/windows/directx/dxgiformat/authors.txt b/basis/windows/directx/dxgiformat/authors.txt new file mode 100644 index 0000000000..6f03a12101 --- /dev/null +++ b/basis/windows/directx/dxgiformat/authors.txt @@ -0,0 +1 @@ +Erik Charlebois diff --git a/basis/windows/directx/dxgiformat/dxgiformat.factor b/basis/windows/directx/dxgiformat/dxgiformat.factor new file mode 100644 index 0000000000..ab2c082cba --- /dev/null +++ b/basis/windows/directx/dxgiformat/dxgiformat.factor @@ -0,0 +1,105 @@ +USING: alien.c-types alien.syntax ; +IN: windows.directx.dxgiformat + +CONSTANT: DXGI_FORMAT_UNKNOWN 0 +CONSTANT: DXGI_FORMAT_R32G32B32A32_TYPELESS 1 +CONSTANT: DXGI_FORMAT_R32G32B32A32_FLOAT 2 +CONSTANT: DXGI_FORMAT_R32G32B32A32_UINT 3 +CONSTANT: DXGI_FORMAT_R32G32B32A32_SINT 4 +CONSTANT: DXGI_FORMAT_R32G32B32_TYPELESS 5 +CONSTANT: DXGI_FORMAT_R32G32B32_FLOAT 6 +CONSTANT: DXGI_FORMAT_R32G32B32_UINT 7 +CONSTANT: DXGI_FORMAT_R32G32B32_SINT 8 +CONSTANT: DXGI_FORMAT_R16G16B16A16_TYPELESS 9 +CONSTANT: DXGI_FORMAT_R16G16B16A16_FLOAT 10 +CONSTANT: DXGI_FORMAT_R16G16B16A16_UNORM 11 +CONSTANT: DXGI_FORMAT_R16G16B16A16_UINT 12 +CONSTANT: DXGI_FORMAT_R16G16B16A16_SNORM 13 +CONSTANT: DXGI_FORMAT_R16G16B16A16_SINT 14 +CONSTANT: DXGI_FORMAT_R32G32_TYPELESS 15 +CONSTANT: DXGI_FORMAT_R32G32_FLOAT 16 +CONSTANT: DXGI_FORMAT_R32G32_UINT 17 +CONSTANT: DXGI_FORMAT_R32G32_SINT 18 +CONSTANT: DXGI_FORMAT_R32G8X24_TYPELESS 19 +CONSTANT: DXGI_FORMAT_D32_FLOAT_S8X24_UINT 20 +CONSTANT: DXGI_FORMAT_R32_FLOAT_X8X24_TYPELESS 21 +CONSTANT: DXGI_FORMAT_X32_TYPELESS_G8X24_UINT 22 +CONSTANT: DXGI_FORMAT_R10G10B10A2_TYPELESS 23 +CONSTANT: DXGI_FORMAT_R10G10B10A2_UNORM 24 +CONSTANT: DXGI_FORMAT_R10G10B10A2_UINT 25 +CONSTANT: DXGI_FORMAT_R11G11B10_FLOAT 26 +CONSTANT: DXGI_FORMAT_R8G8B8A8_TYPELESS 27 +CONSTANT: DXGI_FORMAT_R8G8B8A8_UNORM 28 +CONSTANT: DXGI_FORMAT_R8G8B8A8_UNORM_SRGB 29 +CONSTANT: DXGI_FORMAT_R8G8B8A8_UINT 30 +CONSTANT: DXGI_FORMAT_R8G8B8A8_SNORM 31 +CONSTANT: DXGI_FORMAT_R8G8B8A8_SINT 32 +CONSTANT: DXGI_FORMAT_R16G16_TYPELESS 33 +CONSTANT: DXGI_FORMAT_R16G16_FLOAT 34 +CONSTANT: DXGI_FORMAT_R16G16_UNORM 35 +CONSTANT: DXGI_FORMAT_R16G16_UINT 36 +CONSTANT: DXGI_FORMAT_R16G16_SNORM 37 +CONSTANT: DXGI_FORMAT_R16G16_SINT 38 +CONSTANT: DXGI_FORMAT_R32_TYPELESS 39 +CONSTANT: DXGI_FORMAT_D32_FLOAT 40 +CONSTANT: DXGI_FORMAT_R32_FLOAT 41 +CONSTANT: DXGI_FORMAT_R32_UINT 42 +CONSTANT: DXGI_FORMAT_R32_SINT 43 +CONSTANT: DXGI_FORMAT_R24G8_TYPELESS 44 +CONSTANT: DXGI_FORMAT_D24_UNORM_S8_UINT 45 +CONSTANT: DXGI_FORMAT_R24_UNORM_X8_TYPELESS 46 +CONSTANT: DXGI_FORMAT_X24_TYPELESS_G8_UINT 47 +CONSTANT: DXGI_FORMAT_R8G8_TYPELESS 48 +CONSTANT: DXGI_FORMAT_R8G8_UNORM 49 +CONSTANT: DXGI_FORMAT_R8G8_UINT 50 +CONSTANT: DXGI_FORMAT_R8G8_SNORM 51 +CONSTANT: DXGI_FORMAT_R8G8_SINT 52 +CONSTANT: DXGI_FORMAT_R16_TYPELESS 53 +CONSTANT: DXGI_FORMAT_R16_FLOAT 54 +CONSTANT: DXGI_FORMAT_D16_UNORM 55 +CONSTANT: DXGI_FORMAT_R16_UNORM 56 +CONSTANT: DXGI_FORMAT_R16_UINT 57 +CONSTANT: DXGI_FORMAT_R16_SNORM 58 +CONSTANT: DXGI_FORMAT_R16_SINT 59 +CONSTANT: DXGI_FORMAT_R8_TYPELESS 60 +CONSTANT: DXGI_FORMAT_R8_UNORM 61 +CONSTANT: DXGI_FORMAT_R8_UINT 62 +CONSTANT: DXGI_FORMAT_R8_SNORM 63 +CONSTANT: DXGI_FORMAT_R8_SINT 64 +CONSTANT: DXGI_FORMAT_A8_UNORM 65 +CONSTANT: DXGI_FORMAT_R1_UNORM 66 +CONSTANT: DXGI_FORMAT_R9G9B9E5_SHAREDEXP 67 +CONSTANT: DXGI_FORMAT_R8G8_B8G8_UNORM 68 +CONSTANT: DXGI_FORMAT_G8R8_G8B8_UNORM 69 +CONSTANT: DXGI_FORMAT_BC1_TYPELESS 70 +CONSTANT: DXGI_FORMAT_BC1_UNORM 71 +CONSTANT: DXGI_FORMAT_BC1_UNORM_SRGB 72 +CONSTANT: DXGI_FORMAT_BC2_TYPELESS 73 +CONSTANT: DXGI_FORMAT_BC2_UNORM 74 +CONSTANT: DXGI_FORMAT_BC2_UNORM_SRGB 75 +CONSTANT: DXGI_FORMAT_BC3_TYPELESS 76 +CONSTANT: DXGI_FORMAT_BC3_UNORM 77 +CONSTANT: DXGI_FORMAT_BC3_UNORM_SRGB 78 +CONSTANT: DXGI_FORMAT_BC4_TYPELESS 79 +CONSTANT: DXGI_FORMAT_BC4_UNORM 80 +CONSTANT: DXGI_FORMAT_BC4_SNORM 81 +CONSTANT: DXGI_FORMAT_BC5_TYPELESS 82 +CONSTANT: DXGI_FORMAT_BC5_UNORM 83 +CONSTANT: DXGI_FORMAT_BC5_SNORM 84 +CONSTANT: DXGI_FORMAT_B5G6R5_UNORM 85 +CONSTANT: DXGI_FORMAT_B5G5R5A1_UNORM 86 +CONSTANT: DXGI_FORMAT_B8G8R8A8_UNORM 87 +CONSTANT: DXGI_FORMAT_B8G8R8X8_UNORM 88 +CONSTANT: DXGI_FORMAT_R10G10B10_XR_BIAS_A2_UNORM 89 +CONSTANT: DXGI_FORMAT_B8G8R8A8_TYPELESS 90 +CONSTANT: DXGI_FORMAT_B8G8R8A8_UNORM_SRGB 91 +CONSTANT: DXGI_FORMAT_B8G8R8X8_TYPELESS 92 +CONSTANT: DXGI_FORMAT_B8G8R8X8_UNORM_SRGB 93 +CONSTANT: DXGI_FORMAT_BC6H_TYPELESS 94 +CONSTANT: DXGI_FORMAT_BC6H_UF16 95 +CONSTANT: DXGI_FORMAT_BC6H_SF16 96 +CONSTANT: DXGI_FORMAT_BC7_TYPELESS 97 +CONSTANT: DXGI_FORMAT_BC7_UNORM 98 +CONSTANT: DXGI_FORMAT_BC7_UNORM_SRGB 99 +CONSTANT: DXGI_FORMAT_FORCE_UINT HEX: ffffffff +TYPEDEF: int DXGI_FORMAT diff --git a/basis/windows/directx/dxgiformat/summary.txt b/basis/windows/directx/dxgiformat/summary.txt new file mode 100644 index 0000000000..9aa9982ba5 --- /dev/null +++ b/basis/windows/directx/dxgiformat/summary.txt @@ -0,0 +1 @@ +Bindings to the DirectX Graphics Infrastructure. Corresponds to DXGIFormat.h. diff --git a/basis/windows/directx/dxgiformat/tags.txt b/basis/windows/directx/dxgiformat/tags.txt new file mode 100644 index 0000000000..2320bdd648 --- /dev/null +++ b/basis/windows/directx/dxgiformat/tags.txt @@ -0,0 +1,2 @@ +unportable +bindings diff --git a/basis/windows/directx/dxgitype/authors.txt b/basis/windows/directx/dxgitype/authors.txt new file mode 100644 index 0000000000..6f03a12101 --- /dev/null +++ b/basis/windows/directx/dxgitype/authors.txt @@ -0,0 +1 @@ +Erik Charlebois diff --git a/basis/windows/directx/dxgitype/dxgitype.factor b/basis/windows/directx/dxgitype/dxgitype.factor new file mode 100644 index 0000000000..0b318f7af1 --- /dev/null +++ b/basis/windows/directx/dxgitype/dxgitype.factor @@ -0,0 +1,78 @@ +USING: alien.c-types alien.syntax classes.struct +windows.directx.dxgiformat windows.types ; +IN: windows.directx.dxgitype + +CONSTANT: DXGI_STATUS_OCCLUDED HEX: 087a0001 +CONSTANT: DXGI_STATUS_CLIPPED HEX: 087a0002 +CONSTANT: DXGI_STATUS_NO_REDIRECTION HEX: 087a0004 +CONSTANT: DXGI_STATUS_NO_DESKTOP_ACCESS HEX: 087a0005 +CONSTANT: DXGI_STATUS_GRAPHICS_VIDPN_SOURCE_IN_USE HEX: 087a0006 +CONSTANT: DXGI_STATUS_MODE_CHANGED HEX: 087a0007 +CONSTANT: DXGI_STATUS_MODE_CHANGE_IN_PROGRESS HEX: 087a0008 + +CONSTANT: DXGI_ERROR_INVALID_CALL HEX: 887a0001 +CONSTANT: DXGI_ERROR_NOT_FOUND HEX: 887a0002 +CONSTANT: DXGI_ERROR_MORE_DATA HEX: 887a0003 +CONSTANT: DXGI_ERROR_UNSUPPORTED HEX: 887a0004 +CONSTANT: DXGI_ERROR_DEVICE_REMOVED HEX: 887a0005 +CONSTANT: DXGI_ERROR_DEVICE_HUNG HEX: 887a0006 +CONSTANT: DXGI_ERROR_DEVICE_RESET HEX: 887a0007 +CONSTANT: DXGI_ERROR_WAS_STILL_DRAWING HEX: 887a000a +CONSTANT: DXGI_ERROR_FRAME_STATISTICS_DISJOINT HEX: 887a000b +CONSTANT: DXGI_ERROR_GRAPHICS_VIDPN_SOURCE_IN_USE HEX: 887a000c +CONSTANT: DXGI_ERROR_DRIVER_INTERNAL_ERROR HEX: 887a0020 +CONSTANT: DXGI_ERROR_NONEXCLUSIVE HEX: 887a0021 +CONSTANT: DXGI_ERROR_NOT_CURRENTLY_AVAILABLE HEX: 887a0022 +CONSTANT: DXGI_ERROR_REMOTE_CLIENT_DISCONNECTED HEX: 887a0023 +CONSTANT: DXGI_ERROR_REMOTE_OUTOFMEMORY HEX: 887a0024 + +STRUCT: DXGI_RGB +{ Red FLOAT } +{ Green FLOAT } +{ Blue FLOAT } ; + +STRUCT: DXGI_GAMMA_CONTROL +{ Scale DXGI_RGB } +{ Offset DXGI_RGB } +{ GammaCurve DXGI_RGB[1025] } ; + +STRUCT: DXGI_GAMMA_CONTROL_CAPABILITIES +{ ScaleAndOffsetSupported BOOL } +{ MaxConvertedValue FLOAT } +{ MinConvertedValue FLOAT } +{ NumGammaControlPoints UINT } +{ ControlPointPositions FLOAT[1025] } ; + +STRUCT: DXGI_RATIONAL +{ Numerator UINT } +{ Denominator UINT } ; + +C-ENUM: DXGI_MODE_SCANLINE_ORDER_UNSPECIFIED + DXGI_MODE_SCANLINE_ORDER_PROGRESSIVE + DXGI_MODE_SCANLINE_ORDER_UPPER_FIELD_FIRST + DXGI_MODE_SCANLINE_ORDER_LOWER_FIELD_FIRST ; +TYPEDEF: int DXGI_MODE_SCANLINE_ORDER + +C-ENUM: DXGI_MODE_SCALING_UNSPECIFIED + DXGI_MODE_SCALING_CENTERED + DXGI_MODE_SCALING_STRETCHED ; +TYPEDEF: int DXGI_MODE_SCALING + +C-ENUM: DXGI_MODE_ROTATION_UNSPECIFIED + DXGI_MODE_ROTATION_IDENTITY + DXGI_MODE_ROTATION_ROTATE90 + DXGI_MODE_ROTATION_ROTATE180 + DXGI_MODE_ROTATION_ROTATE270 ; +TYPEDEF: int DXGI_MODE_ROTATION + +STRUCT: DXGI_MODE_DESC +{ Width UINT } +{ Height UINT } +{ RefreshRate DXGI_RATIONAL } +{ Format DXGI_FORMAT } +{ ScanlineOrdering DXGI_MODE_SCANLINE_ORDER } +{ Scaling DXGI_MODE_SCALING } ; + +STRUCT: DXGI_SAMPLE_DESC +{ Count UINT } +{ Quality UINT } ; diff --git a/basis/windows/directx/dxgitype/summary.txt b/basis/windows/directx/dxgitype/summary.txt new file mode 100644 index 0000000000..f7ea2334cf --- /dev/null +++ b/basis/windows/directx/dxgitype/summary.txt @@ -0,0 +1 @@ +Bindings to the DirectX Graphics Infrastructure. Corresponds to DXGIType.h. diff --git a/basis/windows/directx/dxgitype/tags.txt b/basis/windows/directx/dxgitype/tags.txt new file mode 100644 index 0000000000..2320bdd648 --- /dev/null +++ b/basis/windows/directx/dxgitype/tags.txt @@ -0,0 +1,2 @@ +unportable +bindings diff --git a/basis/windows/directx/x3daudio/authors.txt b/basis/windows/directx/x3daudio/authors.txt new file mode 100644 index 0000000000..6f03a12101 --- /dev/null +++ b/basis/windows/directx/x3daudio/authors.txt @@ -0,0 +1 @@ +Erik Charlebois diff --git a/basis/windows/directx/x3daudio/summary.txt b/basis/windows/directx/x3daudio/summary.txt new file mode 100644 index 0000000000..9fa60a3dc4 --- /dev/null +++ b/basis/windows/directx/x3daudio/summary.txt @@ -0,0 +1 @@ +X3DAudio bindings. Corresponds to x3daudio.h. diff --git a/basis/windows/directx/x3daudio/tags.txt b/basis/windows/directx/x3daudio/tags.txt new file mode 100644 index 0000000000..2320bdd648 --- /dev/null +++ b/basis/windows/directx/x3daudio/tags.txt @@ -0,0 +1,2 @@ +unportable +bindings diff --git a/basis/windows/directx/x3daudio/x3daudio.factor b/basis/windows/directx/x3daudio/x3daudio.factor new file mode 100644 index 0000000000..f6b1e639b1 --- /dev/null +++ b/basis/windows/directx/x3daudio/x3daudio.factor @@ -0,0 +1,96 @@ +USING: alien.c-types alien.syntax classes.struct +windows.directx.d3dx10math windows.types ; +IN: windows.directx.x3daudio + +LIBRARY: x3daudio + +CONSTANT: X3DAUDIO_HANDLE_BYTESIZE 20 + +CONSTANT: X3DAUDIO_PI 3.141592654 +CONSTANT: X3DAUDIO_2PI 6.283185307 + +CONSTANT: X3DAUDIO_SPEED_OF_SOUND 343.5 + +CONSTANT: X3DAUDIO_CALCULATE_MATRIX HEX: 00000001 +CONSTANT: X3DAUDIO_CALCULATE_DELAY HEX: 00000002 +CONSTANT: X3DAUDIO_CALCULATE_LPF_DIRECT HEX: 00000004 +CONSTANT: X3DAUDIO_CALCULATE_LPF_REVERB HEX: 00000008 +CONSTANT: X3DAUDIO_CALCULATE_REVERB HEX: 00000010 +CONSTANT: X3DAUDIO_CALCULATE_DOPPLER HEX: 00000020 +CONSTANT: X3DAUDIO_CALCULATE_EMITTER_ANGLE HEX: 00000040 +CONSTANT: X3DAUDIO_CALCULATE_ZEROCENTER HEX: 00010000 +CONSTANT: X3DAUDIO_CALCULATE_REDIRECT_TO_LFE HEX: 00020000 + +TYPEDEF: float FLOAT32 +TYPEDEF: D3DVECTOR X3DAUDIO_VECTOR + +TYPEDEF: BYTE[20] X3DAUDIO_HANDLE + +STRUCT: X3DAUDIO_DISTANCE_CURVE_POINT + { Distance FLOAT32 } + { DSPSetting FLOAT32 } ; +TYPEDEF: X3DAUDIO_DISTANCE_CURVE_POINT* LPX3DAUDIO_DISTANCE_CURVE_POINT + +STRUCT: X3DAUDIO_DISTANCE_CURVE + { pPoints X3DAUDIO_DISTANCE_CURVE_POINT* } + { PointCount UINT32 } ; +TYPEDEF: X3DAUDIO_DISTANCE_CURVE* LPX3DAUDIO_DISTANCE_CURVE + +STRUCT: X3DAUDIO_CONE + { InnerAngle FLOAT32 } + { OuterAngle FLOAT32 } + { InnerVolume FLOAT32 } + { OuterVolume FLOAT32 } + { InnerLPF FLOAT32 } + { OuterLPF FLOAT32 } + { InnerReverb FLOAT32 } + { OuterReverb FLOAT32 } ; +TYPEDEF: X3DAUDIO_CONE* LPX3DAUDIO_CONE + +STRUCT: X3DAUDIO_LISTENER + { OrientFront X3DAUDIO_VECTOR } + { OrientTop X3DAUDIO_VECTOR } + { Position X3DAUDIO_VECTOR } + { Velocity X3DAUDIO_VECTOR } + { pCone X3DAUDIO_CONE* } ; +TYPEDEF: X3DAUDIO_LISTENER* LPX3DAUDIO_LISTENER + +STRUCT: X3DAUDIO_EMITTER + { pCone X3DAUDIO_CONE* } + { OrientFront X3DAUDIO_VECTOR } + { OrientTop X3DAUDIO_VECTOR } + { Position X3DAUDIO_VECTOR } + { Velocity X3DAUDIO_VECTOR } + { InnerRadius FLOAT32 } + { InnerRadiusAngle FLOAT32 } + { ChannelCount UINT32 } + { ChannelRadius FLOAT32 } + { pChannelAzimuths FLOAT32* } + { pVolumeCurve X3DAUDIO_DISTANCE_CURVE* } + { pLFECurve X3DAUDIO_DISTANCE_CURVE* } + { pLPFDirectCurve X3DAUDIO_DISTANCE_CURVE* } + { pLPFReverbCurve X3DAUDIO_DISTANCE_CURVE* } + { pReverbCurve X3DAUDIO_DISTANCE_CURVE* } + { CurveDistanceScaler FLOAT32 } + { DopplerScaler FLOAT32 } ; +TYPEDEF: X3DAUDIO_EMITTER* LPX3DAUDIO_EMITTER + +STRUCT: X3DAUDIO_DSP_SETTINGS + { pMatrixCoefficients FLOAT32* } + { pDelayTimes FLOAT32* } + { SrcChannelCount UINT32 } + { DstChannelCount UINT32 } + { LPFDirectCoefficient FLOAT32 } + { LPFReverbCoefficient FLOAT32 } + { ReverbLevel FLOAT32 } + { DopplerFactor FLOAT32 } + { EmitterToListenerAngle FLOAT32 } + { EmitterToListenerDistance FLOAT32 } + { EmitterVelocityComponent FLOAT32 } + { ListenerVelocityComponent FLOAT32 } ; +TYPEDEF: X3DAUDIO_DSP_SETTINGS* LPX3DAUDIO_DSP_SETTINGS + + +FUNCTION: void X3DAudioInitialize ( UINT32 SpeakerChannelMask, FLOAT32 SpeedOfSound, X3DAUDIO_HANDLE Instance ) ; + +FUNCTION: void X3DAudioCalculate ( X3DAUDIO_HANDLE Instance, X3DAUDIO_LISTENER* pListener, X3DAUDIO_EMITTER* pEmitter, UINT32 Flags, X3DAUDIO_DSP_SETTINGS* pDSPSettings ) ; diff --git a/basis/windows/directx/xact3/authors.txt b/basis/windows/directx/xact3/authors.txt new file mode 100644 index 0000000000..6f03a12101 --- /dev/null +++ b/basis/windows/directx/xact3/authors.txt @@ -0,0 +1 @@ +Erik Charlebois diff --git a/basis/windows/directx/xact3/summary.txt b/basis/windows/directx/xact3/summary.txt new file mode 100644 index 0000000000..99a2c4a5fb --- /dev/null +++ b/basis/windows/directx/xact3/summary.txt @@ -0,0 +1 @@ +XACT3 bindings. Corresponds to xact3.h. diff --git a/basis/windows/directx/xact3/tags.txt b/basis/windows/directx/xact3/tags.txt new file mode 100644 index 0000000000..2320bdd648 --- /dev/null +++ b/basis/windows/directx/xact3/tags.txt @@ -0,0 +1,2 @@ +unportable +bindings diff --git a/basis/windows/directx/xact3/xact3.factor b/basis/windows/directx/xact3/xact3.factor new file mode 100644 index 0000000000..f9ebf246b9 --- /dev/null +++ b/basis/windows/directx/xact3/xact3.factor @@ -0,0 +1,474 @@ +USING: alien.c-types alien.syntax classes.struct windows.com +windows.com.syntax windows.directx.xaudio2 windows.kernel32 +windows.types ; +IN: windows.directx.xact3 + +LIBRARY: xactengine + +C-TYPE: IXACT3SoundBank +C-TYPE: IXACT3WaveBank +C-TYPE: IXACT3Cue +C-TYPE: IXACT3Wave +C-TYPE: IXACT3Engine +C-TYPE: XACT_NOTIFICATION + +TYPEDEF: WORD XACTINDEX +TYPEDEF: BYTE XACTNOTIFICATIONTYPE +TYPEDEF: FLOAT XACTVARIABLEVALUE +TYPEDEF: WORD XACTVARIABLEINDEX +TYPEDEF: WORD XACTCATEGORY +TYPEDEF: BYTE XACTCHANNEL +TYPEDEF: FLOAT XACTVOLUME +TYPEDEF: LONG XACTTIME +TYPEDEF: SHORT XACTPITCH +TYPEDEF: BYTE XACTLOOPCOUNT +TYPEDEF: BYTE XACTVARIATIONWEIGHT +TYPEDEF: BYTE XACTPRIORITY +TYPEDEF: BYTE XACTINSTANCELIMIT + +CONSTANT: WAVE_FORMAT_IEEE_FLOAT HEX: 0003 +CONSTANT: WAVE_FORMAT_EXTENSIBLE HEX: FFFE + +STRUCT: WAVEFORMATEX + { wFormatTag WORD } + { nChannels WORD } + { nSamplesPerSec DWORD } + { nAvgBytesPerSec DWORD } + { nBlockAlign WORD } + { wBitsPerSample WORD } + { cbSize WORD } ; +TYPEDEF: WAVEFORMATEX* PWAVEFORMATEX +TYPEDEF: WAVEFORMATEX* NPWAVEFORMATEX +TYPEDEF: WAVEFORMATEX* LPWAVEFORMATEX + +UNION-STRUCT: WAVEFORMATEXTENSIBLE_UNION + { wValidBitsPerSample WORD } + { wSamplesPerBlock WORD } + { wReserved WORD } ; +STRUCT: WAVEFORMATEXTENSIBLE + { Format WAVEFORMATEX } + { Union WAVEFORMATEXTENSIBLE_UNION } + { dwChannelMask DWORD } + { SubFormat GUID } ; +TYPEDEF: WAVEFORMATEXTENSIBLE* PWAVEFORMATEXTENSIBLE + +CONSTANT: XACTTIME_MIN HEX: 80000001 +CONSTANT: XACTTIME_MAX HEX: 7fffffff +CONSTANT: XACTTIME_INFINITE HEX: 7fffffff +CONSTANT: XACTINSTANCELIMIT_INFINITE HEX: ff +CONSTANT: XACTINSTANCELIMIT_MIN HEX: 00 +CONSTANT: XACTINSTANCELIMIT_MAX HEX: fe +CONSTANT: XACTINDEX_MIN HEX: 0 +CONSTANT: XACTINDEX_MAX HEX: fffe +CONSTANT: XACTINDEX_INVALID HEX: ffff +CONSTANT: XACTNOTIFICATIONTYPE_MIN HEX: 00 +CONSTANT: XACTNOTIFICATIONTYPE_MAX HEX: ff +CONSTANT: XACTVARIABLEINDEX_MIN HEX: 0000 +CONSTANT: XACTVARIABLEINDEX_MAX HEX: fffe +CONSTANT: XACTVARIABLEINDEX_INVALID HEX: ffff +CONSTANT: XACTCATEGORY_MIN HEX: 0 +CONSTANT: XACTCATEGORY_MAX HEX: fffe +CONSTANT: XACTCATEGORY_INVALID HEX: ffff +CONSTANT: XACTCHANNEL_MIN 0 +CONSTANT: XACTCHANNEL_MAX HEX: FF +CONSTANT: XACTPITCH_MIN -1200 +CONSTANT: XACTPITCH_MAX 1200 +CONSTANT: XACTPITCH_MIN_TOTAL -2400 +CONSTANT: XACTPITCH_MAX_TOTAL 2400 +CONSTANT: XACTVOLUME_MIN 0.0 +CONSTANT: XACTVOLUME_MAX 16777216.0 +CONSTANT: XACTLOOPCOUNT_MIN HEX: 0 +CONSTANT: XACTLOOPCOUNT_MAX HEX: fe +CONSTANT: XACTLOOPCOUNT_INFINITE HEX: ff +CONSTANT: XACTWAVEALIGNMENT_MIN 2048 + +CONSTANT: XACT_CUE_NAME_LENGTH HEX: FF +CONSTANT: XACT_CONTENT_VERSION 46 + +CONSTANT: XACT_FLAG_STOP_RELEASE HEX: 00000000 +CONSTANT: XACT_FLAG_STOP_IMMEDIATE HEX: 00000001 + +CONSTANT: XACT_FLAG_MANAGEDATA HEX: 00000001 + +CONSTANT: XACT_FLAG_BACKGROUND_MUSIC HEX: 00000002 +CONSTANT: XACT_FLAG_UNITS_MS HEX: 00000004 +CONSTANT: XACT_FLAG_UNITS_SAMPLES HEX: 00000008 + +CONSTANT: XACT_STATE_CREATED HEX: 00000001 +CONSTANT: XACT_STATE_PREPARING HEX: 00000002 +CONSTANT: XACT_STATE_PREPARED HEX: 00000004 +CONSTANT: XACT_STATE_PLAYING HEX: 00000008 +CONSTANT: XACT_STATE_STOPPING HEX: 00000010 +CONSTANT: XACT_STATE_STOPPED HEX: 00000020 +CONSTANT: XACT_STATE_PAUSED HEX: 00000040 +CONSTANT: XACT_STATE_INUSE HEX: 00000080 +CONSTANT: XACT_STATE_PREPAREFAILED HEX: 80000000 + +C-TYPE: XACT_READFILE_CB +C-TYPE: XACT_GETOVERLAPPEDRESULT_CB + +: XACT_FLAG_GLOBAL_SETTINGS_MANAGEDATA ( -- z ) XACT_FLAG_MANAGEDATA ; inline + + +STRUCT: XACT_FILEIO_CALLBACKS + { readFileCallback XACT_READFILE_CB* } + { getOverlappedResultCallback XACT_GETOVERLAPPEDRESULT_CB* } ; +TYPEDEF: XACT_FILEIO_CALLBACKS* PXACT_FILEIO_CALLBACKS + +C-TYPE: XACT_NOTIFICATION_CALLBACK + +CONSTANT: XACT_RENDERER_ID_LENGTH HEX: ff +CONSTANT: XACT_RENDERER_NAME_LENGTH HEX: ff + +STRUCT: XACT_RENDERER_DETAILS + { rendererID WCHAR[255] } + { displayName WCHAR[255] } + { defaultDevice BOOL } ; +TYPEDEF: XACT_RENDERER_DETAILS* LPXACT_RENDERER_DETAILS + +CONSTANT: XACT_ENGINE_LOOKAHEAD_DEFAULT 250 + +STRUCT: XACT_RUNTIME_PARAMETERS + { lookAheadTime DWORD } + { pGlobalSettingsBuffer void* } + { globalSettingsBufferSize DWORD } + { globalSettingsFlags DWORD } + { globalSettingsAllocAttributes DWORD } + { fileIOCallbacks XACT_FILEIO_CALLBACKS } + { fnNotificationCallback XACT_NOTIFICATION_CALLBACK* } + { pRendererID PWSTR } + { pXAudio2 IXAudio2* } + { pMasteringVoice IXAudio2MasteringVoice* } ; +TYPEDEF: XACT_RUNTIME_PARAMETERS* LPXACT_RUNTIME_PARAMETERS + +STRUCT: XACT_STREAMING_PARAMETERS + { file HANDLE } + { offset DWORD } + { flags DWORD } + { packetSize WORD } ; +TYPEDEF: XACT_STREAMING_PARAMETERS XACT_WAVEBANK_STREAMING_PARAMETERS +TYPEDEF: XACT_WAVEBANK_STREAMING_PARAMETERS* LPXACT_WAVEBANK_STREAMING_PARAMETERS +TYPEDEF: XACT_STREAMING_PARAMETERS* LPXACT_STREAMING_PARAMETERS + +STRUCT: XACT_CUE_PROPERTIES + { friendlyName CHAR[255] } + { interactive BOOL } + { iaVariableIndex XACTINDEX } + { numVariations XACTINDEX } + { maxInstances XACTINSTANCELIMIT } + { currentInstances XACTINSTANCELIMIT } ; +TYPEDEF: XACT_CUE_PROPERTIES* LPXACT_CUE_PROPERTIES + +STRUCT: XACT_TRACK_PROPERTIES + { duration XACTTIME } + { numVariations XACTINDEX } + { numChannels XACTCHANNEL } + { waveVariation XACTINDEX } + { loopCount XACTLOOPCOUNT } ; +TYPEDEF: XACT_TRACK_PROPERTIES* LPXACT_TRACK_PROPERTIES + +STRUCT: XACT_VARIATION_PROPERTIES + { index XACTINDEX } + { weight XACTVARIATIONWEIGHT } + { iaVariableMin XACTVARIABLEVALUE } + { iaVariableMax XACTVARIABLEVALUE } + { linger BOOL } ; +TYPEDEF: XACT_VARIATION_PROPERTIES* LPXACT_VARIATION_PROPERTIES + +STRUCT: XACT_SOUND_PROPERTIES + { category XACTCATEGORY } + { priority BYTE } + { pitch XACTPITCH } + { volume XACTVOLUME } + { numTracks XACTINDEX } + { arrTrackProperties XACT_TRACK_PROPERTIES } ; +TYPEDEF: XACT_SOUND_PROPERTIES* LPXACT_SOUND_PROPERTIES + +STRUCT: XACT_SOUND_VARIATION_PROPERTIES + { variationProperties XACT_VARIATION_PROPERTIES } + { soundProperties XACT_SOUND_PROPERTIES } ; +TYPEDEF: XACT_SOUND_VARIATION_PROPERTIES* LPXACT_SOUND_VARIATION_PROPERTIES + +STRUCT: XACT_CUE_INSTANCE_PROPERTIES + { allocAttributes DWORD } + { cueProperties XACT_CUE_PROPERTIES } + { activeVariationProperties XACT_SOUND_VARIATION_PROPERTIES } ; +TYPEDEF: XACT_CUE_INSTANCE_PROPERTIES* LPXACT_CUE_INSTANCE_PROPERTIES + +STRUCT: WAVEBANKMINIWAVEFORMAT + { dwValue DWORD } ; + +STRUCT: WAVEBANKSAMPLEREGION + { dwStartSample DWORD } + { dwTotalSamples DWORD } ; + +STRUCT: XACT_WAVE_PROPERTIES + { friendlyName char[64] } + { format WAVEBANKMINIWAVEFORMAT } + { durationInSamples DWORD } + { loopRegion WAVEBANKSAMPLEREGION } + { streaming BOOL } ; +TYPEDEF: XACT_WAVE_PROPERTIES* LPXACT_WAVE_PROPERTIES + +STRUCT: XACT_WAVE_INSTANCE_PROPERTIES + { properties XACT_WAVE_PROPERTIES } + { backgroundMusic BOOL } ; +TYPEDEF: XACT_WAVE_INSTANCE_PROPERTIES* LPXACT_WAVE_INSTANCE_PROPERTIES + +STRUCT: XACTCHANNELMAPENTRY + { InputChannel XACTCHANNEL } + { OutputChannel XACTCHANNEL } + { Volume XACTVOLUME } ; +TYPEDEF: XACTCHANNELMAPENTRY* LPXACTCHANNELMAPENTRY + +STRUCT: XACTCHANNELMAP + { EntryCount XACTCHANNEL } + { paEntries XACTCHANNELMAPENTRY* } ; +TYPEDEF: XACTCHANNELMAP* LPXACTCHANNELMAP + +STRUCT: XACTCHANNELVOLUMEENTRY + { EntryIndex XACTCHANNEL } + { Volume XACTVOLUME } ; +TYPEDEF: XACTCHANNELVOLUMEENTRY* LPXACTCHANNELVOLUMEENTRY + +STRUCT: XACTCHANNELVOLUME + { EntryCount XACTCHANNEL } + { paEntries XACTCHANNELVOLUMEENTRY* } ; +TYPEDEF: XACTCHANNELVOLUME* LPXACTCHANNELVOLUME + +CONSTANT: XACTNOTIFICATIONTYPE_CUEPREPARED 1 +CONSTANT: XACTNOTIFICATIONTYPE_CUEPLAY 2 +CONSTANT: XACTNOTIFICATIONTYPE_CUESTOP 3 +CONSTANT: XACTNOTIFICATIONTYPE_CUEDESTROYED 4 +CONSTANT: XACTNOTIFICATIONTYPE_MARKER 5 +CONSTANT: XACTNOTIFICATIONTYPE_SOUNDBANKDESTROYED 6 +CONSTANT: XACTNOTIFICATIONTYPE_WAVEBANKDESTROYED 7 +CONSTANT: XACTNOTIFICATIONTYPE_LOCALVARIABLECHANGED 8 +CONSTANT: XACTNOTIFICATIONTYPE_GLOBALVARIABLECHANGED 9 +CONSTANT: XACTNOTIFICATIONTYPE_GUICONNECTED 10 +CONSTANT: XACTNOTIFICATIONTYPE_GUIDISCONNECTED 11 +CONSTANT: XACTNOTIFICATIONTYPE_WAVEPREPARED 12 +CONSTANT: XACTNOTIFICATIONTYPE_WAVEPLAY 13 +CONSTANT: XACTNOTIFICATIONTYPE_WAVESTOP 14 +CONSTANT: XACTNOTIFICATIONTYPE_WAVELOOPED 15 +CONSTANT: XACTNOTIFICATIONTYPE_WAVEDESTROYED 16 +CONSTANT: XACTNOTIFICATIONTYPE_WAVEBANKPREPARED 17 +CONSTANT: XACTNOTIFICATIONTYPE_WAVEBANKSTREAMING_INVALIDCONTENT 18 + +CONSTANT: XACT_FLAG_NOTIFICATION_PERSIST HEX: 01 + +STRUCT: XACT_NOTIFICATION_DESCRIPTION + { type XACTNOTIFICATIONTYPE } + { flags BYTE } + { pSoundBank IXACT3SoundBank* } + { pWaveBank IXACT3WaveBank* } + { pCue IXACT3Cue* } + { pWave IXACT3Wave* } + { cueIndex XACTINDEX } + { waveIndex XACTINDEX } + { pvContext PVOID } ; +TYPEDEF: XACT_NOTIFICATION_DESCRIPTION* LPXACT_NOTIFICATION_DESCRIPTION + +STRUCT: XACT_NOTIFICATION_CUE + { cueIndex XACTINDEX } + { pSoundBank IXACT3SoundBank* } + { pCue IXACT3Cue* } ; +TYPEDEF: XACT_NOTIFICATION_CUE* LPXACT_NOTIFICATION_CUE + +STRUCT: XACT_NOTIFICATION_MARKER + { cueIndex XACTINDEX } + { pSoundBank IXACT3SoundBank* } + { pCue IXACT3Cue* } + { marker DWORD } ; +TYPEDEF: XACT_NOTIFICATION_MARKER* LPXACT_NOTIFICATION_MARKER + +STRUCT: XACT_NOTIFICATION_SOUNDBANK + { pSoundBank IXACT3SoundBank* } ; +TYPEDEF: XACT_NOTIFICATION_SOUNDBANK* LPXACT_NOTIFICATION_SOUNDBANK + +STRUCT: XACT_NOTIFICATION_WAVEBANK + { pWaveBank IXACT3WaveBank* } ; +TYPEDEF: XACT_NOTIFICATION_WAVEBANK* LPXACT_NOTIFICATION_WAVEBANK + +STRUCT: XACT_NOTIFICATION_VARIABLE + { cueIndex XACTINDEX } + { pSoundBank IXACT3SoundBank* } + { pCue IXACT3Cue* } + { variableIndex XACTVARIABLEINDEX } + { variableValue XACTVARIABLEVALUE } + { local BOOL } ; +TYPEDEF: XACT_NOTIFICATION_VARIABLE* LPXACT_NOTIFICATION_VARIABLE + +STRUCT: XACT_NOTIFICATION_GUI + { reserved DWORD } ; +TYPEDEF: XACT_NOTIFICATION_GUI* LPXACT_NOTIFICATION_GUI + +STRUCT: XACT_NOTIFICATION_WAVE + { pWaveBank IXACT3WaveBank* } + { waveIndex XACTINDEX } + { cueIndex XACTINDEX } + { pSoundBank IXACT3SoundBank* } + { pCue IXACT3Cue* } + { pWave IXACT3Wave* } ; +TYPEDEF: XACT_NOTIFICATION_WAVE* LPXACT_NOTIFICATION_WAVE + +UNION-STRUCT: XACT_NOTIFICATION_UNION + { cue XACT_NOTIFICATION_CUE } + { marker XACT_NOTIFICATION_MARKER } + { soundBank XACT_NOTIFICATION_SOUNDBANK } + { waveBank XACT_NOTIFICATION_WAVEBANK } + { variable XACT_NOTIFICATION_VARIABLE } + { gui XACT_NOTIFICATION_GUI } + { wave XACT_NOTIFICATION_WAVE } ; +STRUCT: XACT_NOTIFICATION + { type XACTNOTIFICATIONTYPE } + { timeStamp LONG } + { pvContext PVOID } + { union XACT_NOTIFICATION_UNION } ; +TYPEDEF: XACT_NOTIFICATION* LPXACT_NOTIFICATION + +CONSTANT: XACT_FLAG_SOUNDBANK_STOP_IMMEDIATE HEX: 00000001 +CONSTANT: XACT_SOUNDBANKSTATE_INUSE HEX: 00000080 + +COM-INTERFACE: IXACT3SoundBank f {00000000-0000-0000-0000-000000000000} + XACTINDEX GetCueIndex ( PCSTR szFriendlyName ) + HRESULT GetNumCues ( XACTINDEX* pnNumCues ) + HRESULT GetCueProperties ( XACTINDEX nCueIndex, LPXACT_CUE_PROPERTIES pProperties ) + HRESULT Prepare ( XACTINDEX nCueIndex, DWORD dwFlags, XACTTIME timeOffset, IXACT3Cue** ppCue ) + HRESULT Play ( XACTINDEX nCueIndex, DWORD dwFlags, XACTTIME timeOffset, IXACT3Cue** ppCue ) + HRESULT Stop ( XACTINDEX nCueIndex, DWORD dwFlags ) + HRESULT Destroy ( ) + HRESULT GetState ( DWORD* pdwState ) ; + +CONSTANT: XACT_WAVEBANKSTATE_INUSE HEX: 00000080 +CONSTANT: XACT_WAVEBANKSTATE_PREPARED HEX: 00000004 +CONSTANT: XACT_WAVEBANKSTATE_PREPAREFAILED HEX: 80000000 + +COM-INTERFACE: IXACT3WaveBank f {00000000-0000-0000-0000-000000000000} + HRESULT Destroy ( ) + HRESULT GetNumWaves ( XACTINDEX* pnNumWaves ) + XACTINDEX GetWaveIndex ( PCSTR szFriendlyName ) + HRESULT GetWaveProperties ( XACTINDEX nWaveIndex, LPXACT_WAVE_PROPERTIES pWaveProperties ) + HRESULT Prepare ( XACTINDEX nWaveIndex, DWORD dwFlags, DWORD dwPlayOffset, XACTLOOPCOUNT nLoopCount, IXACT3Wave** ppWave ) + HRESULT Play ( XACTINDEX nWaveIndex, DWORD dwFlags, DWORD dwPlayOffset, XACTLOOPCOUNT nLoopCount, IXACT3Wave** ppWave ) + HRESULT Stop ( XACTINDEX nWaveIndex, DWORD dwFlags ) + HRESULT GetState ( DWORD* pdwState ) ; + +COM-INTERFACE: IXACT3Wave f {00000000-0000-0000-0000-000000000000} + HRESULT Destroy ( ) + HRESULT Play ( ) + HRESULT Stop ( DWORD dwFlags ) + HRESULT Pause ( BOOL fPause ) + HRESULT GetState ( DWORD* pdwState ) + HRESULT SetPitch ( XACTPITCH pitch ) + HRESULT SetVolume ( XACTVOLUME volume ) + HRESULT SetMatrixCoefficients ( UINT32 uSrcChannelCount, UINT32 uDstChannelCount, float* pMatrixCoefficients ) + HRESULT GetProperties ( LPXACT_WAVE_INSTANCE_PROPERTIES pProperties ) ; + +: XACT_FLAG_CUE_STOP_RELEASE ( -- z ) XACT_FLAG_STOP_RELEASE ; inline +: XACT_FLAG_CUE_STOP_IMMEDIATE ( -- z ) XACT_FLAG_STOP_IMMEDIATE ; inline + +: XACT_CUESTATE_CREATED ( -- z ) XACT_STATE_CREATED ; inline +: XACT_CUESTATE_PREPARING ( -- z ) XACT_STATE_PREPARING ; inline +: XACT_CUESTATE_PREPARED ( -- z ) XACT_STATE_PREPARED ; inline +: XACT_CUESTATE_PLAYING ( -- z ) XACT_STATE_PLAYING ; inline +: XACT_CUESTATE_STOPPING ( -- z ) XACT_STATE_STOPPING ; inline +: XACT_CUESTATE_STOPPED ( -- z ) XACT_STATE_STOPPED ; inline +: XACT_CUESTATE_PAUSED ( -- z ) XACT_STATE_PAUSED ; inline + +COM-INTERFACE: IXACT3Cue f {00000000-0000-0000-0000-000000000000} + HRESULT Play ( ) + HRESULT Stop ( DWORD dwFlags ) + HRESULT GetState ( DWORD* pdwState ) + HRESULT Destroy ( ) + HRESULT SetMatrixCoefficients ( UINT32 uSrcChannelCount, UINT32 uDstChannelCount, float* pMatrixCoefficients ) + XACTVARIABLEINDEX GetVariableIndex ( PCSTR szFriendlyName ) + HRESULT SetVariable ( XACTVARIABLEINDEX nIndex, XACTVARIABLEVALUE nValue ) + HRESULT GetVariable ( XACTVARIABLEINDEX nIndex, XACTVARIABLEVALUE* nValue ) + HRESULT Pause ( BOOL fPause ) + HRESULT GetProperties ( LPXACT_CUE_INSTANCE_PROPERTIES* ppProperties ) + HRESULT SetOutputVoices ( XAUDIO2_VOICE_SENDS* pSendList ) + HRESULT SetOutputVoiceMatrix ( IXAudio2Voice* pDestinationVoice, UINT32 SourceChannels, UINT32 DestinationChannels, float* pLevelMatrix ) ; + +: XACT_FLAG_ENGINE_CREATE_MANAGEDATA ( -- z ) XACT_FLAG_MANAGEDATA ; inline +: XACT_FLAG_ENGINE_STOP_IMMEDIATE ( -- z ) XACT_FLAG_STOP_IMMEDIATE ; inline + +STRUCT: WAVEBANKREGION + { dwOffset DWORD } + { dwLength DWORD } ; + +STRUCT: WAVEBANKENTRY + { dwFlagsAndDuration DWORD } + { Format WAVEBANKMINIWAVEFORMAT } + { PlayRegion WAVEBANKREGION } + { LoopRegion WAVEBANKSAMPLEREGION } ; + +COM-INTERFACE: IXACT3Engine IUnknown {b1ee676a-d9cd-4d2a-89a8-fa53eb9e480b} + HRESULT GetRendererCount ( XACTINDEX* pnRendererCount ) + HRESULT GetRendererDetails ( XACTINDEX nRendererIndex, LPXACT_RENDERER_DETAILS pRendererDetails ) + HRESULT GetFinalMixFormat ( WAVEFORMATEXTENSIBLE* pFinalMixFormat ) + HRESULT Initialize ( XACT_RUNTIME_PARAMETERS* pParams ) + HRESULT ShutDown ( ) + HRESULT DoWork ( ) + HRESULT CreateSoundBank ( void* pvBuffer, DWORD dwSize, DWORD dwFlags, DWORD dwAllocAttributes, IXACT3SoundBank** ppSoundBank ) + HRESULT CreateInMemoryWaveBank ( void* pvBuffer, DWORD dwSize, DWORD dwFlags, DWORD dwAllocAttributes, IXACT3WaveBank** ppWaveBank ) + HRESULT CreateStreamingWaveBank ( XACT_WAVEBANK_STREAMING_PARAMETERS* pParms, IXACT3WaveBank** ppWaveBank ) + HRESULT PrepareWave ( DWORD dwFlags, PCSTR szWavePath, WORD wStreamingPacketSize, DWORD dwAlignment, DWORD dwPlayOffset, XACTLOOPCOUNT nLoopCount, IXACT3Wave** ppWave ) + HRESULT PrepareInMemoryWave ( DWORD dwFlags, WAVEBANKENTRY entry, DWORD* pdwSeekTable, BYTE* pbWaveData, DWORD dwPlayOffset, XACTLOOPCOUNT nLoopCount, IXACT3Wave** ppWave ) + HRESULT PrepareStreamingWave ( DWORD dwFlags, WAVEBANKENTRY entry, XACT_STREAMING_PARAMETERS streamingParams, DWORD dwAlignment, DWORD* pdwSeekTable, DWORD dwPlayOffset, XACTLOOPCOUNT nLoopCount, IXACT3Wave** ppWave ) + HRESULT RegisterNotification ( XACT_NOTIFICATION_DESCRIPTION* pNotificationDesc ) + HRESULT UnRegisterNotification ( XACT_NOTIFICATION_DESCRIPTION* pNotificationDesc ) + XACTCATEGORY GetCategory ( PCSTR szFriendlyName ) + HRESULT Stop ( XACTCATEGORY nCategory, DWORD dwFlags ) + HRESULT SetVolume ( XACTCATEGORY nCategory, XACTVOLUME nVolume ) + HRESULT Pause ( XACTCATEGORY nCategory, BOOL fPause ) + XACTVARIABLEINDEX GetGlobalVariableIndex ( PCSTR szFriendlyName ) + HRESULT SetGlobalVariable ( XACTVARIABLEINDEX nIndex, XACTVARIABLEVALUE nValue ) + HRESULT GetGlobalVariable ( XACTVARIABLEINDEX nIndex, XACTVARIABLEVALUE* nValue ) ; + +CONSTANT: XACT_FLAG_API_AUDITION_MODE 1 +CONSTANT: XACT_FLAG_API_DEBUG_MODE 2 + +CONSTANT: XACTENGINE_E_OUTOFMEMORY HEX: 80070000 +CONSTANT: XACTENGINE_E_INVALIDARG HEX: 80070057 +CONSTANT: XACTENGINE_E_NOTIMPL HEX: 80004001 +CONSTANT: XACTENGINE_E_FAIL HEX: 80004005 + +CONSTANT: XACTENGINE_E_ALREADYINITIALIZED HEX: 8AC70001 +CONSTANT: XACTENGINE_E_NOTINITIALIZED HEX: 8AC70002 +CONSTANT: XACTENGINE_E_EXPIRED HEX: 8AC70003 +CONSTANT: XACTENGINE_E_NONOTIFICATIONCALLBACK HEX: 8AC70004 +CONSTANT: XACTENGINE_E_NOTIFICATIONREGISTERED HEX: 8AC70005 +CONSTANT: XACTENGINE_E_INVALIDUSAGE HEX: 8AC70006 +CONSTANT: XACTENGINE_E_INVALIDDATA HEX: 8AC70007 +CONSTANT: XACTENGINE_E_INSTANCELIMITFAILTOPLAY HEX: 8AC70008 +CONSTANT: XACTENGINE_E_NOGLOBALSETTINGS HEX: 8AC70009 +CONSTANT: XACTENGINE_E_INVALIDVARIABLEINDEX HEX: 8AC7000a +CONSTANT: XACTENGINE_E_INVALIDCATEGORY HEX: 8AC7000b +CONSTANT: XACTENGINE_E_INVALIDCUEINDEX HEX: 8AC7000c +CONSTANT: XACTENGINE_E_INVALIDWAVEINDEX HEX: 8AC7000d +CONSTANT: XACTENGINE_E_INVALIDTRACKINDEX HEX: 8AC7000e +CONSTANT: XACTENGINE_E_INVALIDSOUNDOFFSETORINDEX HEX: 8AC7000f +CONSTANT: XACTENGINE_E_READFILE HEX: 8AC70010 +CONSTANT: XACTENGINE_E_UNKNOWNEVENT HEX: 8AC70011 +CONSTANT: XACTENGINE_E_INCALLBACK HEX: 8AC70012 +CONSTANT: XACTENGINE_E_NOWAVEBANK HEX: 8AC70013 +CONSTANT: XACTENGINE_E_SELECTVARIATION HEX: 8AC70014 +CONSTANT: XACTENGINE_E_MULTIPLEAUDITIONENGINES HEX: 8AC70015 +CONSTANT: XACTENGINE_E_WAVEBANKNOTPREPARED HEX: 8AC70016 +CONSTANT: XACTENGINE_E_NORENDERER HEX: 8AC70017 +CONSTANT: XACTENGINE_E_INVALIDENTRYCOUNT HEX: 8AC70018 +CONSTANT: XACTENGINE_E_SEEKTIMEBEYONDCUEEND HEX: 8AC70019 +CONSTANT: XACTENGINE_E_SEEKTIMEBEYONDWAVEEND HEX: 8AC7001a +CONSTANT: XACTENGINE_E_NOFRIENDLYNAMES HEX: 8AC7001b + +CONSTANT: XACTENGINE_E_AUDITION_WRITEFILE HEX: 8AC70101 +CONSTANT: XACTENGINE_E_AUDITION_NOSOUNDBANK HEX: 8AC70102 +CONSTANT: XACTENGINE_E_AUDITION_INVALIDRPCINDEX HEX: 8AC70103 +CONSTANT: XACTENGINE_E_AUDITION_MISSINGDATA HEX: 8AC70104 +CONSTANT: XACTENGINE_E_AUDITION_UNKNOWNCOMMAND HEX: 8AC70105 +CONSTANT: XACTENGINE_E_AUDITION_INVALIDDSPINDEX HEX: 8AC70106 +CONSTANT: XACTENGINE_E_AUDITION_MISSINGWAVE HEX: 8AC70107 +CONSTANT: XACTENGINE_E_AUDITION_CREATEDIRECTORYFAILED HEX: 8AC70108 +CONSTANT: XACTENGINE_E_AUDITION_INVALIDSESSION HEX: 8AC70109 + diff --git a/basis/windows/directx/xapo/authors.txt b/basis/windows/directx/xapo/authors.txt new file mode 100644 index 0000000000..6f03a12101 --- /dev/null +++ b/basis/windows/directx/xapo/authors.txt @@ -0,0 +1 @@ +Erik Charlebois diff --git a/basis/windows/directx/xapo/summary.txt b/basis/windows/directx/xapo/summary.txt new file mode 100644 index 0000000000..95e1421dac --- /dev/null +++ b/basis/windows/directx/xapo/summary.txt @@ -0,0 +1 @@ +XAPO bindings. Corresponds to xapo.h. diff --git a/basis/windows/directx/xapo/tags.txt b/basis/windows/directx/xapo/tags.txt new file mode 100644 index 0000000000..2320bdd648 --- /dev/null +++ b/basis/windows/directx/xapo/tags.txt @@ -0,0 +1,2 @@ +unportable +bindings diff --git a/basis/windows/directx/xapo/xapo.factor b/basis/windows/directx/xapo/xapo.factor new file mode 100644 index 0000000000..5878af80e0 --- /dev/null +++ b/basis/windows/directx/xapo/xapo.factor @@ -0,0 +1,68 @@ +USING: alien.c-types alien.syntax classes.struct windows.com +windows.com.syntax windows.directx.audiodefs windows.kernel32 +windows.types ; +IN: windows.directx.xapo + +CONSTANT: XAPO_MIN_CHANNELS 1 +CONSTANT: XAPO_MAX_CHANNELS 64 + +CONSTANT: XAPO_MIN_FRAMERATE 1000 +CONSTANT: XAPO_MAX_FRAMERATE 200000 + +CONSTANT: XAPO_REGISTRATION_STRING_LENGTH 256 + +CONSTANT: XAPO_FLAG_CHANNELS_MUST_MATCH HEX: 00000001 + +CONSTANT: XAPO_FLAG_FRAMERATE_MUST_MATCH HEX: 00000002 + +CONSTANT: XAPO_FLAG_BITSPERSAMPLE_MUST_MATCH HEX: 00000004 + +CONSTANT: XAPO_FLAG_BUFFERCOUNT_MUST_MATCH HEX: 00000008 + +CONSTANT: XAPO_FLAG_INPLACE_REQUIRED HEX: 00000020 + +CONSTANT: XAPO_FLAG_INPLACE_SUPPORTED HEX: 00000010 + +STRUCT: XAPO_REGISTRATION_PROPERTIES + { clsid GUID } + { FriendlyName WCHAR[256] } + { CopyrightInfo WCHAR[256] } + { MajorVersion UINT32 } + { MinorVersion UINT32 } + { Flags UINT32 } + { MinInputBufferCount UINT32 } + { MaxInputBufferCount UINT32 } + { MinOutputBufferCount UINT32 } + { MaxOutputBufferCount UINT32 } ; + +STRUCT: XAPO_LOCKFORPROCESS_BUFFER_PARAMETERS + { pFormat WAVEFORMATEX* } + { MaxFrameCount UINT32 } ; + +C-ENUM: + XAPO_BUFFER_SILENT + XAPO_BUFFER_VALID ; +TYPEDEF: int XAPO_BUFFER_FLAGS + +STRUCT: XAPO_PROCESS_BUFFER_PARAMETERS + { pBuffer void* } + { BufferFlags XAPO_BUFFER_FLAGS } + { ValidFrameCount UINT32 } ; + +COM-INTERFACE: IXAPO IUnknown {A90BC001-E897-E897-55E4-9E4700000000} + HRESULT GetRegistrationProperties ( XAPO_REGISTRATION_PROPERTIES** ppRegistrationProperties ) + HRESULT IsInputFormatSupported ( WAVEFORMATEX* pOutputFormat, WAVEFORMATEX* pRequestedInputFormat, WAVEFORMATEX** ppSupportedInputFormat ) + HRESULT IsOutputFormatSupported ( WAVEFORMATEX* pInputFormat, WAVEFORMATEX* pRequestedOutputFormat, WAVEFORMATEX** ppSupportedOutputFormat ) + HRESULT Initialize ( void* pData, UINT32 DataByteSize ) + void Reset ( ) + HRESULT LockForProcess ( UINT32 InputLockedParameterCount, XAPO_LOCKFORPROCESS_BUFFER_PARAMETERS* pInputLockedParameters, UINT32 OutputLockedParameterCount, XAPO_LOCKFORPROCESS_BUFFER_PARAMETERS* pOutputLockedParameters ) + void UnlockForProcess ( ) + void Process ( UINT32 InputProcessParameterCount, XAPO_PROCESS_BUFFER_PARAMETERS* pInputProcessParameters, UINT32 OutputProcessParameterCount, XAPO_PROCESS_BUFFER_PARAMETERS* pOutputProcessParameters, BOOL IsEnabled ) + UINT32 CalcInputFrames ( UINT32 OutputFrameCount ) + UINT32 CalcOutputFrames ( UINT32 InputFrameCount ) ; + +COM-INTERFACE: IXAPOParameters IUnknown {A90BC001-E897-E897-55E4-9E4700000001} + void SetParameters ( void* pParameters, UINT32 ParameterByteSize ) + void GetParameters ( void* pParameters, UINT32 ParameterByteSize ) ; + + diff --git a/basis/windows/directx/xapofx/authors.txt b/basis/windows/directx/xapofx/authors.txt new file mode 100644 index 0000000000..6f03a12101 --- /dev/null +++ b/basis/windows/directx/xapofx/authors.txt @@ -0,0 +1 @@ +Erik Charlebois diff --git a/basis/windows/directx/xapofx/summary.txt b/basis/windows/directx/xapofx/summary.txt new file mode 100644 index 0000000000..8dce424801 --- /dev/null +++ b/basis/windows/directx/xapofx/summary.txt @@ -0,0 +1 @@ +XAPOFX bindings. Corresponds to xapofx.h. diff --git a/basis/windows/directx/xapofx/tags.txt b/basis/windows/directx/xapofx/tags.txt new file mode 100644 index 0000000000..2320bdd648 --- /dev/null +++ b/basis/windows/directx/xapofx/tags.txt @@ -0,0 +1,2 @@ +unportable +bindings diff --git a/basis/windows/directx/xapofx/xapofx.factor b/basis/windows/directx/xapofx/xapofx.factor new file mode 100644 index 0000000000..1255880c4c --- /dev/null +++ b/basis/windows/directx/xapofx/xapofx.factor @@ -0,0 +1,80 @@ +USING: alien.c-types alien.syntax classes.struct windows.ole32 +windows.types ; +IN: windows.directx.xapofx + +LIBRARY: xapofx + +CONSTANT: FXEQ_MIN_FRAMERATE 22000 +CONSTANT: FXEQ_MAX_FRAMERATE 48000 + +CONSTANT: FXEQ_MIN_FREQUENCY_CENTER 20.0 +CONSTANT: FXEQ_MAX_FREQUENCY_CENTER 20000.0 +CONSTANT: FXEQ_DEFAULT_FREQUENCY_CENTER_0 100.0 +CONSTANT: FXEQ_DEFAULT_FREQUENCY_CENTER_1 800.0 +CONSTANT: FXEQ_DEFAULT_FREQUENCY_CENTER_2 2000.0 +CONSTANT: FXEQ_DEFAULT_FREQUENCY_CENTER_3 10000.0 + +CONSTANT: FXEQ_MIN_GAIN 0.126 +CONSTANT: FXEQ_MAX_GAIN 7.94 +CONSTANT: FXEQ_DEFAULT_GAIN 1.0 + +CONSTANT: FXEQ_MIN_BANDWIDTH 0.1 +CONSTANT: FXEQ_MAX_BANDWIDTH 2.0 +CONSTANT: FXEQ_DEFAULT_BANDWIDTH 1.0 + +CONSTANT: FXMASTERINGLIMITER_MIN_RELEASE 1 +CONSTANT: FXMASTERINGLIMITER_MAX_RELEASE 20 +CONSTANT: FXMASTERINGLIMITER_DEFAULT_RELEASE 6 + +CONSTANT: FXMASTERINGLIMITER_MIN_LOUDNESS 1 +CONSTANT: FXMASTERINGLIMITER_MAX_LOUDNESS 1800 +CONSTANT: FXMASTERINGLIMITER_DEFAULT_LOUDNESS 1000 + +CONSTANT: FXREVERB_MIN_DIFFUSION 0.0 +CONSTANT: FXREVERB_MAX_DIFFUSION 1.0 +CONSTANT: FXREVERB_DEFAULT_DIFFUSION 0.9 + +CONSTANT: FXREVERB_MIN_ROOMSIZE 0.0001 +CONSTANT: FXREVERB_MAX_ROOMSIZE 1.0 +CONSTANT: FXREVERB_DEFAULT_ROOMSIZE 0.6 + +CONSTANT: FXECHO_MIN_WETDRYMIX 0.0 +CONSTANT: FXECHO_MAX_WETDRYMIX 1.0 +CONSTANT: FXECHO_DEFAULT_WETDRYMIX 0.5 + +CONSTANT: FXECHO_MIN_FEEDBACK 0.0 +CONSTANT: FXECHO_MAX_FEEDBACK 1.0 +CONSTANT: FXECHO_DEFAULT_FEEDBACK 0.5 + +CONSTANT: FXECHO_MIN_DELAY 1.0 +CONSTANT: FXECHO_MAX_DELAY 2000.0 +CONSTANT: FXECHO_DEFAULT_DELAY 500.0 + +STRUCT: FXEQ_PARAMETERS + { FrequencyCenter0 float } + { Gain0 float } + { Bandwidth0 float } + { FrequencyCenter1 float } + { Gain1 float } + { Bandwidth1 float } + { FrequencyCenter2 float } + { Gain2 float } + { Bandwidth2 float } + { FrequencyCenter3 float } + { Gain3 float } + { Bandwidth3 float } ; + +STRUCT: FXMASTERINGLIMITER_PARAMETERS + { Release UINT32 } + { Loudness UINT32 } ; + +STRUCT: FXREVERB_PARAMETERS + { Diffusion float } + { RoomSize float } ; + +STRUCT: FXECHO_PARAMETERS + { WetDryMix float } + { Feedback float } + { Delay float } ; + +FUNCTION: HRESULT CreateFX ( REFCLSID clsid, IUnknown** pEffect ) ; diff --git a/basis/windows/directx/xaudio2/authors.txt b/basis/windows/directx/xaudio2/authors.txt new file mode 100644 index 0000000000..6f03a12101 --- /dev/null +++ b/basis/windows/directx/xaudio2/authors.txt @@ -0,0 +1 @@ +Erik Charlebois diff --git a/basis/windows/directx/xaudio2/summary.txt b/basis/windows/directx/xaudio2/summary.txt new file mode 100644 index 0000000000..4b78fa952e --- /dev/null +++ b/basis/windows/directx/xaudio2/summary.txt @@ -0,0 +1 @@ +XAudio2 bindings. Corresponds to xaudio2.h. diff --git a/basis/windows/directx/xaudio2/tags.txt b/basis/windows/directx/xaudio2/tags.txt new file mode 100644 index 0000000000..2320bdd648 --- /dev/null +++ b/basis/windows/directx/xaudio2/tags.txt @@ -0,0 +1,2 @@ +unportable +bindings diff --git a/basis/windows/directx/xaudio2/xaudio2.factor b/basis/windows/directx/xaudio2/xaudio2.factor new file mode 100644 index 0000000000..67a9234367 --- /dev/null +++ b/basis/windows/directx/xaudio2/xaudio2.factor @@ -0,0 +1,312 @@ +USING: alien.c-types alien.syntax classes.struct math +windows.com windows.com.syntax windows.directx.audiodefs +windows.types ; +IN: windows.directx.xaudio2 + +LIBRARY: xaudio2 + +CONSTANT: XAUDIO2_MAX_BUFFER_BYTES HEX: 80000000 +CONSTANT: XAUDIO2_MAX_QUEUED_BUFFERS 64 +CONSTANT: XAUDIO2_MAX_BUFFERS_SYSTEM 2 +CONSTANT: XAUDIO2_MAX_AUDIO_CHANNELS 64 +CONSTANT: XAUDIO2_MIN_SAMPLE_RATE 1000 +CONSTANT: XAUDIO2_MAX_SAMPLE_RATE 200000 +CONSTANT: XAUDIO2_MAX_VOLUME_LEVEL 16777216.0 +: XAUDIO2_MIN_FREQ_RATIO ( -- z ) 1.0 1024.0 / ; inline +CONSTANT: XAUDIO2_MAX_FREQ_RATIO 1024.0 +CONSTANT: XAUDIO2_DEFAULT_FREQ_RATIO 2.0 +CONSTANT: XAUDIO2_MAX_FILTER_ONEOVERQ 1.5 +CONSTANT: XAUDIO2_MAX_FILTER_FREQUENCY 1.0 +CONSTANT: XAUDIO2_MAX_LOOP_COUNT 254 +CONSTANT: XAUDIO2_MAX_INSTANCES 8 + +CONSTANT: XAUDIO2_MAX_RATIO_TIMES_RATE_XMA_MONO 600000 +CONSTANT: XAUDIO2_MAX_RATIO_TIMES_RATE_XMA_MULTICHANNEL 300000 + +CONSTANT: XAUDIO2_COMMIT_NOW 0 +CONSTANT: XAUDIO2_COMMIT_ALL 0 +CONSTANT: XAUDIO2_INVALID_OPSET HEX: ffffffff +CONSTANT: XAUDIO2_NO_LOOP_REGION 0 +CONSTANT: XAUDIO2_LOOP_INFINITE 255 +CONSTANT: XAUDIO2_DEFAULT_CHANNELS 0 +CONSTANT: XAUDIO2_DEFAULT_SAMPLERATE 0 + + +CONSTANT: XAUDIO2_DEBUG_ENGINE HEX: 0001 +CONSTANT: XAUDIO2_VOICE_NOPITCH HEX: 0002 +CONSTANT: XAUDIO2_VOICE_NOSRC HEX: 0004 +CONSTANT: XAUDIO2_VOICE_USEFILTER HEX: 0008 +CONSTANT: XAUDIO2_VOICE_MUSIC HEX: 0010 +CONSTANT: XAUDIO2_PLAY_TAILS HEX: 0020 +CONSTANT: XAUDIO2_END_OF_STREAM HEX: 0040 +CONSTANT: XAUDIO2_SEND_USEFILTER HEX: 0080 + + +CONSTANT: XAUDIO2_DEFAULT_FILTER_TYPE 0 +CONSTANT: XAUDIO2_DEFAULT_FILTER_FREQUENCY 1.0 +CONSTANT: XAUDIO2_DEFAULT_FILTER_ONEOVERQ 1.0 + +CONSTANT: XAUDIO2_QUANTUM_NUMERATOR 1 +CONSTANT: XAUDIO2_QUANTUM_DENOMINATOR 100 + +: XAUDIO2_QUANTUM_MS ( -- z ) + XAUDIO2_QUANTUM_DENOMINATOR 1000.0 XAUDIO2_QUANTUM_NUMERATOR * / ; inline + +CONSTANT: XAUDIO2_E_INVALID_CALL HEX: 88960001 +CONSTANT: XAUDIO2_E_XMA_DECODER_ERROR HEX: 88960002 +CONSTANT: XAUDIO2_E_XAPO_CREATION_FAILED HEX: 88960003 +CONSTANT: XAUDIO2_E_DEVICE_INVALIDATED HEX: 88960004 + +CONSTANT: Processor1 HEX: 00000001 +CONSTANT: Processor2 HEX: 00000002 +CONSTANT: Processor3 HEX: 00000004 +CONSTANT: Processor4 HEX: 00000008 +CONSTANT: Processor5 HEX: 00000010 +CONSTANT: Processor6 HEX: 00000020 +CONSTANT: Processor7 HEX: 00000040 +CONSTANT: Processor8 HEX: 00000080 +CONSTANT: Processor9 HEX: 00000100 +CONSTANT: Processor10 HEX: 00000200 +CONSTANT: Processor11 HEX: 00000400 +CONSTANT: Processor12 HEX: 00000800 +CONSTANT: Processor13 HEX: 00001000 +CONSTANT: Processor14 HEX: 00002000 +CONSTANT: Processor15 HEX: 00004000 +CONSTANT: Processor16 HEX: 00008000 +CONSTANT: Processor17 HEX: 00010000 +CONSTANT: Processor18 HEX: 00020000 +CONSTANT: Processor19 HEX: 00040000 +CONSTANT: Processor20 HEX: 00080000 +CONSTANT: Processor21 HEX: 00100000 +CONSTANT: Processor22 HEX: 00200000 +CONSTANT: Processor23 HEX: 00400000 +CONSTANT: Processor24 HEX: 00800000 +CONSTANT: Processor25 HEX: 01000000 +CONSTANT: Processor26 HEX: 02000000 +CONSTANT: Processor27 HEX: 04000000 +CONSTANT: Processor28 HEX: 08000000 +CONSTANT: Processor29 HEX: 10000000 +CONSTANT: Processor30 HEX: 20000000 +CONSTANT: Processor31 HEX: 40000000 +CONSTANT: Processor32 HEX: 80000000 +CONSTANT: XAUDIO2_ANY_PROCESSOR HEX: ffffffff +CONSTANT: XAUDIO2_DEFAULT_PROCESSOR HEX: ffffffff +TYPEDEF: int XAUDIO2_WINDOWS_PROCESSOR_SPECIFIER +TYPEDEF: int XAUDIO2_PROCESSOR + +CONSTANT: NotDefaultDevice HEX: 0 +CONSTANT: DefaultConsoleDevice HEX: 1 +CONSTANT: DefaultMultimediaDevice HEX: 2 +CONSTANT: DefaultCommunicationsDevice HEX: 4 +CONSTANT: DefaultGameDevice HEX: 8 +CONSTANT: GlobalDefaultDevice HEX: f +CONSTANT: InvalidDeviceRole HEX: 0 +TYPEDEF: int XAUDIO2_DEVICE_ROLE + +STRUCT: XAUDIO2_DEVICE_DETAILS + { DeviceID WCHAR[256] } + { DisplayName WCHAR[256] } + { Role XAUDIO2_DEVICE_ROLE } + { OutputFormat WAVEFORMATEXTENSIBLE } ; + +STRUCT: XAUDIO2_VOICE_DETAILS + { CreationFlags UINT32 } + { InputChannels UINT32 } + { InputSampleRate UINT32 } ; + +C-TYPE: IXAudio2Voice + +STRUCT: XAUDIO2_SEND_DESCRIPTOR + { Flags UINT32 } + { pOutputVoice IXAudio2Voice* } ; + +STRUCT: XAUDIO2_VOICE_SENDS + { SendCount UINT32 } + { pSends XAUDIO2_SEND_DESCRIPTOR* } ; + +STRUCT: XAUDIO2_EFFECT_DESCRIPTOR + { pEffect IUnknown* } + { InitialState BOOL } + { OutputChannels UINT32 } ; + +STRUCT: XAUDIO2_EFFECT_CHAIN + { EffectCount UINT32 } + { pEffectDescriptors XAUDIO2_EFFECT_DESCRIPTOR* } ; + +C-ENUM: + LowPassFilter + BandPassFilter + HighPassFilter + NotchFilter ; +TYPEDEF: int XAUDIO2_FILTER_TYPE + +STRUCT: XAUDIO2_FILTER_PARAMETERS + { Type XAUDIO2_FILTER_TYPE } + { Frequency FLOAT } + { OneOverQ FLOAT } ; + +STRUCT: XAUDIO2_BUFFER + { Flags UINT32 } + { AudioBytes UINT32 } + { pAudioData BYTE* } + { PlayBegin UINT32 } + { PlayLength UINT32 } + { LoopBegin UINT32 } + { LoopLength UINT32 } + { LoopCount UINT32 } + { pContext void* } ; + + +STRUCT: XAUDIO2_BUFFER_WMA + { pDecodedPacketCumulativeBytes UINT32* } + { PacketCount UINT32 } ; + +STRUCT: XAUDIO2_VOICE_STATE + { pCurrentBufferContext void* } + { BuffersQueued UINT32 } + { SamplesPlayed UINT64 } ; + +STRUCT: XAUDIO2_PERFORMANCE_DATA + { AudioCyclesSinceLastQuery UINT64 } + { TotalCyclesSinceLastQuery UINT64 } + { MinimumCyclesPerQuantum UINT32 } + { MaximumCyclesPerQuantum UINT32 } + { MemoryUsageInBytes UINT32 } + { CurrentLatencyInSamples UINT32 } + { GlitchesSinceEngineStarted UINT32 } + { ActiveSourceVoiceCount UINT32 } + { TotalSourceVoiceCount UINT32 } + { ActiveSubmixVoiceCount UINT32 } + { ActiveResamplerCount UINT32 } + { ActiveMatrixMixCount UINT32 } + { ActiveXmaSourceVoices UINT32 } + { ActiveXmaStreams UINT32 } ; + +STRUCT: XAUDIO2_DEBUG_CONFIGURATION + { TraceMask UINT32 } + { BreakMask UINT32 } + { LogThreadID BOOL } + { LogFileline BOOL } + { LogFunctionName BOOL } + { LogTiming BOOL } ; + +CONSTANT: XAUDIO2_LOG_ERRORS HEX: 0001 +CONSTANT: XAUDIO2_LOG_WARNINGS HEX: 0002 +CONSTANT: XAUDIO2_LOG_INFO HEX: 0004 +CONSTANT: XAUDIO2_LOG_DETAIL HEX: 0008 +CONSTANT: XAUDIO2_LOG_API_CALLS HEX: 0010 +CONSTANT: XAUDIO2_LOG_FUNC_CALLS HEX: 0020 +CONSTANT: XAUDIO2_LOG_TIMING HEX: 0040 +CONSTANT: XAUDIO2_LOG_LOCKS HEX: 0080 +CONSTANT: XAUDIO2_LOG_MEMORY HEX: 0100 +CONSTANT: XAUDIO2_LOG_STREAMING HEX: 1000 + +C-TYPE: IXAudio2EngineCallback +C-TYPE: IXAudio2VoiceCallback + +COM-INTERFACE: IXAudio2 IUnknown {8bcf1f58-9fe7-4583-8ac6-e2adc465c8bb} + HRESULT GetDeviceCount ( UINT32* pCount ) + HRESULT GetDeviceDetails ( UINT32 Index, XAUDIO2_DEVICE_DETAILS* pDeviceDetails ) + HRESULT Initialize ( UINT32 Flags, XAUDIO2_PROCESSOR XAudio2Processor ) + HRESULT RegisterForCallbacks ( IXAudio2EngineCallback* pCallback ) + void UnregisterForCallbacks ( IXAudio2EngineCallback* pCallback ) + HRESULT CreateSourceVoice ( + IXAudio2SourceVoice** ppSourceVoice, + WAVEFORMATEX* pSourceFormat, + UINT32 Flags, + FLOAT MaxFrequencyRatio, + IXAudio2VoiceCallback* pCallback, + XAUDIO2_VOICE_SENDS* pSendList, + XAUDIO2_EFFECT_CHAIN* pEffectChain ) + HRESULT CreateSubmixVoice ( + IXAudio2SubmixVoice** ppSubmixVoice, + UINT32 InputChannels, + UINT32 InputSampleRate, + UINT32 Flags, + UINT32 ProcessingStage, + XAUDIO2_VOICE_SENDS* pSendList, + XAUDIO2_EFFECT_CHAIN* pEffectChain ) + HRESULT CreateMasteringVoice ( + IXAudio2MasteringVoice** ppMasteringVoice, + UINT32 InputChannels, + UINT32 InputSampleRate, + UINT32 Flags + UINT32 DeviceIndex, + XAUDIO2_EFFECT_CHAIN* pEffectChain ) + HRESULT StartEngine ( ) + void StopEngine ( ) + HRESULT CommitChanges ( UINT32 OperationSet ) + void GetPerformanceData ( XAUDIO2_PERFORMANCE_DATA* pPerfData ) + void SetDebugConfiguration ( XAUDIO2_DEBUG_CONFIGURATION* pDebugConfiguration, void* pReserved ) ; + +COM-INTERFACE: IXAudio2Voice f {00000000-0000-0000-0000-000000000000} + void GetVoiceDetails ( XAUDIO2_VOICE_DETAILS* pVoiceDetails ) + HRESULT SetOutputVoices ( XAUDIO2_VOICE_SENDS* pSendList ) + HRESULT SetEffectChain ( XAUDIO2_EFFECT_CHAIN* pEffectChain ) + HRESULT EnableEffect ( UINT32 EffectIndex, UINT32 OperationSet ) + HRESULT DisableEffect ( UINT32 EffectIndex, UINT32 OperationSet ) + void GetEffectState ( UINT32 EffectIndex, BOOL* pEnabled ) + HRESULT SetEffectParameters ( + UINT32 EffectIndex, + void* pParameters, + UINT32 ParametersByteSize, + UINT32 OperationSet ) + HRESULT GetEffectParameters ( + UINT32 EffectIndex, + void* pParameters, + UINT32 ParametersByteSize ) + HRESULT SetFilterParameters ( XAUDIO2_FILTER_PARAMETERS* pParameters, UINT32 OperationSet ) + void GetFilterParameters ( XAUDIO2_FILTER_PARAMETERS* pParameters ) + HRESULT SetOutputFilterParameters ( IXAudio2Voice* pDestinationVoice, + XAUDIO2_FILTER_PARAMETERS* pParameters, + UINT32 OperationSet ) + void GetOutputFilterParameters ( IXAudio2Voice* pDestinationVoice, + XAUDIO2_FILTER_PARAMETERS* pParameters ) + HRESULT SetVolume ( FLOAT Volume, + UINT32 OperationSet ) + void GetVolume ( FLOAT* pVolume ) + HRESULT SetChannelVolumes ( UINT32 Channels, + FLOAT* pVolumes, + UINT32 OperationSet ) + void GetChannelVolumes ( UINT32 Channels, FLOAT* pVolumes ) + HRESULT SetOutputMatrix ( + IXAudio2Voice* pDestinationVoice, + UINT32 SourceChannels, + UINT32 DestinationChannels, + FLOAT* pLevelMatrix, + UINT32 OperationSet ) + void GetOutputMatrix ( + IXAudio2Voice* pDestinationVoice, + UINT32 SourceChannels, + UINT32 DestinationChannels, + FLOAT* pLevelMatrix ) + void DestroyVoice ( ) ; + +COM-INTERFACE: IXAudio2SourceVoice IXAudio2Voice {00000000-0000-0000-0000-000000000000} + HRESULT Start ( UINT32 Flags, UINT32 OperationSet ) + HRESULT Stop ( UINT32 Flags, UINT32 OperationSet ) + HRESULT SubmitSourceBuffer ( XAUDIO2_BUFFER* pBuffer, XAUDIO2_BUFFER_WMA* pBufferWMA ) + HRESULT FlushSourceBuffers ( ) + HRESULT Discontinuity ( ) + HRESULT ExitLoop ( UINT32 OperationSet ) + void GetState ( XAUDIO2_VOICE_STATE* pVoiceState ) + HRESULT SetFrequencyRatio ( FLOAT Ratio, UINT32 OperationSet ) + void GetFrequencyRatio ( FLOAT* pRatio ) + HRESULT SetSourceSampleRate ( UINT32 NewSourceSampleRate ) ; + +COM-INTERFACE: IXAudio2SubmixVoice IXAudio2Voice {00000000-0000-0000-0000-000000000000} ; +COM-INTERFACE: IXAudio2MasteringVoice IXAudio2Voice {00000000-0000-0000-0000-000000000000} ; + +COM-INTERFACE: IXAudio2EngineCallback f {00000000-0000-0000-0000-000000000000} + void OnProcessingPassStart ( ) + void OnProcessingPassEnd ( ) + void OnCriticalError ( HRESULT Error ) ; + +COM-INTERFACE: IXAudio2VoiceCallback f {00000000-0000-0000-0000-000000000000} + void OnVoiceProcessingPassStart ( UINT32 BytesRequired ) + void OnVoiceProcessingPassEnd ( ) + void OnStreamEnd ( ) + void OnBufferStart ( void* pBufferContext ) + void OnBufferEnd ( void* pBufferContext ) + void OnLoopEnd ( void* pBufferContext ) + void OnVoiceError ( void* pBufferContext, HRESULT Error ) ; diff --git a/basis/windows/directx/xaudio2fx/authors.txt b/basis/windows/directx/xaudio2fx/authors.txt new file mode 100644 index 0000000000..6f03a12101 --- /dev/null +++ b/basis/windows/directx/xaudio2fx/authors.txt @@ -0,0 +1 @@ +Erik Charlebois diff --git a/basis/windows/directx/xaudio2fx/summary.txt b/basis/windows/directx/xaudio2fx/summary.txt new file mode 100644 index 0000000000..92502aefd9 --- /dev/null +++ b/basis/windows/directx/xaudio2fx/summary.txt @@ -0,0 +1 @@ +Constants and types for XAudio2. Corresponds to xaudio2fx.h. diff --git a/basis/windows/directx/xaudio2fx/tags.txt b/basis/windows/directx/xaudio2fx/tags.txt new file mode 100644 index 0000000000..2320bdd648 --- /dev/null +++ b/basis/windows/directx/xaudio2fx/tags.txt @@ -0,0 +1,2 @@ +unportable +bindings diff --git a/basis/windows/directx/xaudio2fx/xaudio2fx.factor b/basis/windows/directx/xaudio2fx/xaudio2fx.factor new file mode 100644 index 0000000000..9d088f3c43 --- /dev/null +++ b/basis/windows/directx/xaudio2fx/xaudio2fx.factor @@ -0,0 +1,109 @@ +USING: alien.c-types classes.struct windows.types ; +IN: windows.directx.xaudio2fx + +CONSTANT: XAUDIO2FX_DEBUG 1 + +STRUCT: XAUDIO2FX_VOLUMEMETER_LEVELS + { pPeakLevels float* } + { pRMSLevels float* } + { ChannelCount UINT32 } ; + +CONSTANT: XAUDIO2FX_REVERB_MIN_FRAMERATE 20000 +CONSTANT: XAUDIO2FX_REVERB_MAX_FRAMERATE 48000 + +STRUCT: XAUDIO2FX_REVERB_PARAMETERS + { WetDryMix float } + { ReflectionsDelay UINT32 } + { ReverbDelay BYTE } + { RearDelay BYTE } + { PositionLeft BYTE } + { PositionRight BYTE } + { PositionMatrixLeft BYTE } + { PositionMatrixRight BYTE } + { EarlyDiffusion BYTE } + { LateDiffusion BYTE } + { LowEQGain BYTE } + { LowEQCutoff BYTE } + { HighEQGain BYTE } + { HighEQCutoff BYTE } + { RoomFilterFreq float } + { RoomFilterMain float } + { RoomFilterHF float } + { ReflectionsGain float } + { ReverbGain float } + { DecayTime float } + { Density float } + { RoomSize float } ; + +CONSTANT: XAUDIO2FX_REVERB_MIN_WET_DRY_MIX 0.0 +CONSTANT: XAUDIO2FX_REVERB_MIN_REFLECTIONS_DELAY 0 +CONSTANT: XAUDIO2FX_REVERB_MIN_REVERB_DELAY 0 +CONSTANT: XAUDIO2FX_REVERB_MIN_REAR_DELAY 0 +CONSTANT: XAUDIO2FX_REVERB_MIN_POSITION 0 +CONSTANT: XAUDIO2FX_REVERB_MIN_DIFFUSION 0 +CONSTANT: XAUDIO2FX_REVERB_MIN_LOW_EQ_GAIN 0 +CONSTANT: XAUDIO2FX_REVERB_MIN_LOW_EQ_CUTOFF 0 +CONSTANT: XAUDIO2FX_REVERB_MIN_HIGH_EQ_GAIN 0 +CONSTANT: XAUDIO2FX_REVERB_MIN_HIGH_EQ_CUTOFF 0 +CONSTANT: XAUDIO2FX_REVERB_MIN_ROOM_FILTER_FREQ 20.0 +CONSTANT: XAUDIO2FX_REVERB_MIN_ROOM_FILTER_MAIN -100.0 +CONSTANT: XAUDIO2FX_REVERB_MIN_ROOM_FILTER_HF -100.0 +CONSTANT: XAUDIO2FX_REVERB_MIN_REFLECTIONS_GAIN -100.0 +CONSTANT: XAUDIO2FX_REVERB_MIN_REVERB_GAIN -100.0 +CONSTANT: XAUDIO2FX_REVERB_MIN_DECAY_TIME 0.1 +CONSTANT: XAUDIO2FX_REVERB_MIN_DENSITY 0.0 +CONSTANT: XAUDIO2FX_REVERB_MIN_ROOM_SIZE 0.0 + +CONSTANT: XAUDIO2FX_REVERB_MAX_WET_DRY_MIX 100.0 +CONSTANT: XAUDIO2FX_REVERB_MAX_REFLECTIONS_DELAY 300 +CONSTANT: XAUDIO2FX_REVERB_MAX_REVERB_DELAY 85 +CONSTANT: XAUDIO2FX_REVERB_MAX_REAR_DELAY 5 +CONSTANT: XAUDIO2FX_REVERB_MAX_POSITION 30 +CONSTANT: XAUDIO2FX_REVERB_MAX_DIFFUSION 15 +CONSTANT: XAUDIO2FX_REVERB_MAX_LOW_EQ_GAIN 12 +CONSTANT: XAUDIO2FX_REVERB_MAX_LOW_EQ_CUTOFF 9 +CONSTANT: XAUDIO2FX_REVERB_MAX_HIGH_EQ_GAIN 8 +CONSTANT: XAUDIO2FX_REVERB_MAX_HIGH_EQ_CUTOFF 14 +CONSTANT: XAUDIO2FX_REVERB_MAX_ROOM_FILTER_FREQ 20000.0 +CONSTANT: XAUDIO2FX_REVERB_MAX_ROOM_FILTER_MAIN 0.0 +CONSTANT: XAUDIO2FX_REVERB_MAX_ROOM_FILTER_HF 0.0 +CONSTANT: XAUDIO2FX_REVERB_MAX_REFLECTIONS_GAIN 20.0 +CONSTANT: XAUDIO2FX_REVERB_MAX_REVERB_GAIN 20.0 +CONSTANT: XAUDIO2FX_REVERB_MAX_DENSITY 100.0 +CONSTANT: XAUDIO2FX_REVERB_MAX_ROOM_SIZE 100.0 + +CONSTANT: XAUDIO2FX_REVERB_DEFAULT_WET_DRY_MIX 100.0 +CONSTANT: XAUDIO2FX_REVERB_DEFAULT_REFLECTIONS_DELAY 5 +CONSTANT: XAUDIO2FX_REVERB_DEFAULT_REVERB_DELAY 5 +CONSTANT: XAUDIO2FX_REVERB_DEFAULT_REAR_DELAY 5 +CONSTANT: XAUDIO2FX_REVERB_DEFAULT_POSITION 6 +CONSTANT: XAUDIO2FX_REVERB_DEFAULT_POSITION_MATRIX 27 +CONSTANT: XAUDIO2FX_REVERB_DEFAULT_EARLY_DIFFUSION 8 +CONSTANT: XAUDIO2FX_REVERB_DEFAULT_LATE_DIFFUSION 8 +CONSTANT: XAUDIO2FX_REVERB_DEFAULT_LOW_EQ_GAIN 8 +CONSTANT: XAUDIO2FX_REVERB_DEFAULT_LOW_EQ_CUTOFF 4 +CONSTANT: XAUDIO2FX_REVERB_DEFAULT_HIGH_EQ_GAIN 8 +CONSTANT: XAUDIO2FX_REVERB_DEFAULT_HIGH_EQ_CUTOFF 4 +CONSTANT: XAUDIO2FX_REVERB_DEFAULT_ROOM_FILTER_FREQ 5000.0 +CONSTANT: XAUDIO2FX_REVERB_DEFAULT_ROOM_FILTER_MAIN 0.0 +CONSTANT: XAUDIO2FX_REVERB_DEFAULT_ROOM_FILTER_HF 0.0 +CONSTANT: XAUDIO2FX_REVERB_DEFAULT_REFLECTIONS_GAIN 0.0 +CONSTANT: XAUDIO2FX_REVERB_DEFAULT_REVERB_GAIN 0.0 +CONSTANT: XAUDIO2FX_REVERB_DEFAULT_DECAY_TIME 1.0 +CONSTANT: XAUDIO2FX_REVERB_DEFAULT_DENSITY 100.0 +CONSTANT: XAUDIO2FX_REVERB_DEFAULT_ROOM_SIZE 100.0 + +STRUCT: XAUDIO2FX_REVERB_I3DL2_PARAMETERS + { WetDryMix float } + { Room INT32 } + { RoomHF INT32 } + { RoomRolloffFactor float } + { DecayTime float } + { DecayHFRatio float } + { Reflections INT32 } + { ReflectionsDelay float } + { Reverb INT32 } + { ReverbDelay float } + { Diffusion float } + { Density float } + { HFReference float } ; diff --git a/basis/windows/directx/xinput/authors.txt b/basis/windows/directx/xinput/authors.txt new file mode 100644 index 0000000000..6f03a12101 --- /dev/null +++ b/basis/windows/directx/xinput/authors.txt @@ -0,0 +1 @@ +Erik Charlebois diff --git a/basis/windows/directx/xinput/summary.txt b/basis/windows/directx/xinput/summary.txt new file mode 100644 index 0000000000..4b67f6f7f4 --- /dev/null +++ b/basis/windows/directx/xinput/summary.txt @@ -0,0 +1 @@ +XInput bindings for using the Xbox 360 controller. Corresponds to XInput.h. diff --git a/basis/windows/directx/xinput/tags.txt b/basis/windows/directx/xinput/tags.txt new file mode 100644 index 0000000000..2320bdd648 --- /dev/null +++ b/basis/windows/directx/xinput/tags.txt @@ -0,0 +1,2 @@ +unportable +bindings diff --git a/basis/windows/directx/xinput/xinput.factor b/basis/windows/directx/xinput/xinput.factor new file mode 100644 index 0000000000..d51e37af65 --- /dev/null +++ b/basis/windows/directx/xinput/xinput.factor @@ -0,0 +1,123 @@ +USING: alien.syntax classes.struct windows.kernel32 windows.types ; +IN: windows.directx.xinput + +LIBRARY: xinput + +CONSTANT: XINPUT_DEVTYPE_GAMEPAD 1 +CONSTANT: XINPUT_DEVSUBTYPE_GAMEPAD 1 +CONSTANT: XINPUT_DEVSUBTYPE_WHEEL 2 +CONSTANT: XINPUT_DEVSUBTYPE_ARCADE_STICK 3 +CONSTANT: XINPUT_DEVSUBTYPE_FLIGHT_SICK 4 +CONSTANT: XINPUT_DEVSUBTYPE_DANCE_PAD 5 +CONSTANT: XINPUT_DEVSUBTYPE_GUITAR 6 +CONSTANT: XINPUT_DEVSUBTYPE_DRUM_KIT 8 + +CONSTANT: XINPUT_CAPS_VOICE_SUPPORTED 4 + +CONSTANT: XINPUT_GAMEPAD_DPAD_UP HEX: 0001 +CONSTANT: XINPUT_GAMEPAD_DPAD_DOWN HEX: 0002 +CONSTANT: XINPUT_GAMEPAD_DPAD_LEFT HEX: 0004 +CONSTANT: XINPUT_GAMEPAD_DPAD_RIGHT HEX: 0008 +CONSTANT: XINPUT_GAMEPAD_START HEX: 0010 +CONSTANT: XINPUT_GAMEPAD_BACK HEX: 0020 +CONSTANT: XINPUT_GAMEPAD_LEFT_THUMB HEX: 0040 +CONSTANT: XINPUT_GAMEPAD_RIGHT_THUMB HEX: 0080 +CONSTANT: XINPUT_GAMEPAD_LEFT_SHOULDER HEX: 0100 +CONSTANT: XINPUT_GAMEPAD_RIGHT_SHOULDER HEX: 0200 +CONSTANT: XINPUT_GAMEPAD_A HEX: 1000 +CONSTANT: XINPUT_GAMEPAD_B HEX: 2000 +CONSTANT: XINPUT_GAMEPAD_X HEX: 4000 +CONSTANT: XINPUT_GAMEPAD_Y HEX: 8000 + +CONSTANT: XINPUT_GAMEPAD_LEFT_THUMB_DEADZONE 7849 +CONSTANT: XINPUT_GAMEPAD_RIGHT_THUMB_DEADZONE 8689 +CONSTANT: XINPUT_GAMEPAD_TRIGGER_THRESHOLD 30 + +CONSTANT: XINPUT_FLAG_GAMEPAD 1 + +CONSTANT: XUSER_MAX_COUNT 4 + +CONSTANT: XUSER_INDEX_ANY HEX: 000000FF + +CONSTANT: VK_PAD_A HEX: 5800 +CONSTANT: VK_PAD_B HEX: 5801 +CONSTANT: VK_PAD_X HEX: 5802 +CONSTANT: VK_PAD_Y HEX: 5803 +CONSTANT: VK_PAD_RSHOULDER HEX: 5804 +CONSTANT: VK_PAD_LSHOULDER HEX: 5805 +CONSTANT: VK_PAD_LTRIGGER HEX: 5806 +CONSTANT: VK_PAD_RTRIGGER HEX: 5807 + +CONSTANT: VK_PAD_DPAD_UP HEX: 5810 +CONSTANT: VK_PAD_DPAD_DOWN HEX: 5811 +CONSTANT: VK_PAD_DPAD_LEFT HEX: 5812 +CONSTANT: VK_PAD_DPAD_RIGHT HEX: 5813 +CONSTANT: VK_PAD_START HEX: 5814 +CONSTANT: VK_PAD_BACK HEX: 5815 +CONSTANT: VK_PAD_LTHUMB_PRESS HEX: 5816 +CONSTANT: VK_PAD_RTHUMB_PRESS HEX: 5817 + +CONSTANT: VK_PAD_LTHUMB_UP HEX: 5820 +CONSTANT: VK_PAD_LTHUMB_DOWN HEX: 5821 +CONSTANT: VK_PAD_LTHUMB_RIGHT HEX: 5822 +CONSTANT: VK_PAD_LTHUMB_LEFT HEX: 5823 +CONSTANT: VK_PAD_LTHUMB_UPLEFT HEX: 5824 +CONSTANT: VK_PAD_LTHUMB_UPRIGHT HEX: 5825 +CONSTANT: VK_PAD_LTHUMB_DOWNRIGHT HEX: 5826 +CONSTANT: VK_PAD_LTHUMB_DOWNLEFT HEX: 5827 + +CONSTANT: VK_PAD_RTHUMB_UP HEX: 5830 +CONSTANT: VK_PAD_RTHUMB_DOWN HEX: 5831 +CONSTANT: VK_PAD_RTHUMB_RIGHT HEX: 5832 +CONSTANT: VK_PAD_RTHUMB_LEFT HEX: 5833 +CONSTANT: VK_PAD_RTHUMB_UPLEFT HEX: 5834 +CONSTANT: VK_PAD_RTHUMB_UPRIGHT HEX: 5835 +CONSTANT: VK_PAD_RTHUMB_DOWNRIGHT HEX: 5836 +CONSTANT: VK_PAD_RTHUMB_DOWNLEFT HEX: 5837 + +CONSTANT: XINPUT_KEYSTROKE_KEYDOWN HEX: 0001 +CONSTANT: XINPUT_KEYSTROKE_KEYUP HEX: 0002 +CONSTANT: XINPUT_KEYSTROKE_REPEAT HEX: 0004 + +STRUCT: XINPUT_GAMEPAD + { wButtons WORD } + { bLeftTrigger BYTE } + { bRightTrigger BYTE } + { sThumbLX SHORT } + { sThumbLY SHORT } + { sThumbRX SHORT } + { sThumbRY SHORT } ; +TYPEDEF: XINPUT_GAMEPAD* PXINPUT_GAMEPAD + +STRUCT: XINPUT_VIBRATION + { wLeftMotorSpeed WORD } + { wRightMotorSpeed WORD } ; +TYPEDEF: XINPUT_VIBRATION* PXINPUT_VIBRATION + +STRUCT: XINPUT_CAPABILITIES + { Type BYTE } + { SubType BYTE } + { Flags WORD } + { Gamepad XINPUT_GAMEPAD } + { Vibration XINPUT_VIBRATION } ; +TYPEDEF: XINPUT_CAPABILITIES* PXINPUT_CAPABILITIES + +STRUCT: XINPUT_KEYSTROKE + { VirtualKey WORD } + { Unicode WCHAR } + { Flags WORD } + { UserIndex BYTE } + { HidCode BYTE } ; +TYPEDEF: XINPUT_KEYSTROKE* PXINPUT_KEYSTROKE + +STRUCT: XINPUT_STATE + { dwPacketNumber DWORD } + { Gamepad XINPUT_GAMEPAD } ; +TYPEDEF: XINPUT_STATE* PXINPUT_STATE + +FUNCTION: DWORD XInputGetCapabilities ( DWORD dwUserIndex, DWORD dwFlags, XINPUT_CAPABILITIES* pCapabilities ) ; +FUNCTION: DWORD XInputGetKeystroke ( DWORD dwUserIndex, DWORD dwReserved, PXINPUT_KEYSTROKE pKeystroke ) ; +FUNCTION: DWORD XInputGetState ( DWORD dwUserIndex, XINPUT_STATE* pState ) ; +FUNCTION: DWORD XInputSetState ( DWORD dwUserIndex, XINPUT_VIBRATION* pVibration ) ; +FUNCTION: DWORD XInputGetDSoundAudioDeviceGuids ( DWORD dwUserIndex, GUID* pDSoundRenderGuid, GUID* pDSoundCaptureGuid ) ; +FUNCTION: void XInputEnable ( BOOL enable ) ; diff --git a/basis/windows/messages/messages.factor b/basis/windows/messages/messages.factor index 10e6cd43c5..40b0979d49 100644 --- a/basis/windows/messages/messages.factor +++ b/basis/windows/messages/messages.factor @@ -1024,3 +1024,63 @@ CONSTANT: SC_RESTORE HEX: f120 CONSTANT: SC_TASKLIST HEX: f130 CONSTANT: SC_SCREENSAVE HEX: f140 CONSTANT: SC_HOTKEY HEX: f150 + +CONSTANT: APPCOMMAND_BROWSER_BACKWARD 1 +CONSTANT: APPCOMMAND_BROWSER_FORWARD 2 +CONSTANT: APPCOMMAND_BROWSER_REFRESH 3 +CONSTANT: APPCOMMAND_BROWSER_STOP 4 +CONSTANT: APPCOMMAND_BROWSER_SEARCH 5 +CONSTANT: APPCOMMAND_BROWSER_FAVORITES 6 +CONSTANT: APPCOMMAND_BROWSER_HOME 7 +CONSTANT: APPCOMMAND_VOLUME_MUTE 8 +CONSTANT: APPCOMMAND_VOLUME_DOWN 9 +CONSTANT: APPCOMMAND_VOLUME_UP 10 +CONSTANT: APPCOMMAND_MEDIA_NEXTTRACK 11 +CONSTANT: APPCOMMAND_MEDIA_PREVIOUSTRACK 12 +CONSTANT: APPCOMMAND_MEDIA_STOP 13 +CONSTANT: APPCOMMAND_MEDIA_PLAY_PAUSE 14 +CONSTANT: APPCOMMAND_LAUNCH_MAIL 15 +CONSTANT: APPCOMMAND_LAUNCH_MEDIA_SELECT 16 +CONSTANT: APPCOMMAND_LAUNCH_APP1 17 +CONSTANT: APPCOMMAND_LAUNCH_APP2 18 +CONSTANT: APPCOMMAND_BASS_DOWN 19 +CONSTANT: APPCOMMAND_BASS_BOOST 20 +CONSTANT: APPCOMMAND_BASS_UP 21 +CONSTANT: APPCOMMAND_TREBLE_DOWN 22 +CONSTANT: APPCOMMAND_TREBLE_UP 23 +CONSTANT: APPCOMMAND_MICROPHONE_VOLUME_MUTE 24 +CONSTANT: APPCOMMAND_MICROPHONE_VOLUME_DOWN 25 +CONSTANT: APPCOMMAND_MICROPHONE_VOLUME_UP 26 +CONSTANT: APPCOMMAND_HELP 27 +CONSTANT: APPCOMMAND_FIND 28 +CONSTANT: APPCOMMAND_NEW 29 +CONSTANT: APPCOMMAND_OPEN 30 +CONSTANT: APPCOMMAND_CLOSE 31 +CONSTANT: APPCOMMAND_SAVE 32 +CONSTANT: APPCOMMAND_PRINT 33 +CONSTANT: APPCOMMAND_UNDO 34 +CONSTANT: APPCOMMAND_REDO 35 +CONSTANT: APPCOMMAND_COPY 36 +CONSTANT: APPCOMMAND_CUT 37 +CONSTANT: APPCOMMAND_PASTE 38 +CONSTANT: APPCOMMAND_REPLY_TO_MAIL 39 +CONSTANT: APPCOMMAND_FORWARD_MAIL 40 +CONSTANT: APPCOMMAND_SEND_MAIL 41 +CONSTANT: APPCOMMAND_SPELL_CHECK 42 +CONSTANT: APPCOMMAND_DICTATE_OR_COMMAND_CONTROL_TOGGLE 43 +CONSTANT: APPCOMMAND_MIC_ON_OFF_TOGGLE 44 +CONSTANT: APPCOMMAND_CORRECTION_LIST 45 +CONSTANT: APPCOMMAND_MEDIA_PLAY 46 +CONSTANT: APPCOMMAND_MEDIA_PAUSE 47 +CONSTANT: APPCOMMAND_MEDIA_RECORD 48 +CONSTANT: APPCOMMAND_MEDIA_FAST_FORWARD 49 +CONSTANT: APPCOMMAND_MEDIA_REWIND 50 +CONSTANT: APPCOMMAND_MEDIA_CHANNEL_UP 51 +CONSTANT: APPCOMMAND_MEDIA_CHANNEL_DOWN 52 +CONSTANT: APPCOMMAND_DELETE 53 +CONSTANT: APPCOMMAND_DWM_FLIP3D 54 + +CONSTANT: FAPPCOMMAND_MOUSE HEX: 8000 +CONSTANT: FAPPCOMMAND_KEY HEX: 0000 +CONSTANT: FAPPCOMMAND_OEM HEX: 1000 +CONSTANT: FAPPCOMMAND_MASK HEX: F000 diff --git a/basis/windows/nt/nt.factor b/basis/windows/nt/nt.factor index abc728ed19..8e831e153e 100644 --- a/basis/windows/nt/nt.factor +++ b/basis/windows/nt/nt.factor @@ -1,18 +1,35 @@ USING: alien sequences alien.libraries ; { - { "advapi32" "advapi32.dll" "stdcall" } - { "dinput" "dinput8.dll" "stdcall" } - { "gdi32" "gdi32.dll" "stdcall" } - { "user32" "user32.dll" "stdcall" } - { "kernel32" "kernel32.dll" "stdcall" } - { "winsock" "ws2_32.dll" "stdcall" } - { "mswsock" "mswsock.dll" "stdcall" } - { "shell32" "shell32.dll" "stdcall" } - { "libc" "msvcrt.dll" "cdecl" } - { "libm" "msvcrt.dll" "cdecl" } - { "gl" "opengl32.dll" "stdcall" } - { "glu" "glu32.dll" "stdcall" } - { "ole32" "ole32.dll" "stdcall" } - { "usp10" "usp10.dll" "stdcall" } - { "psapi" "psapi.dll" "stdcall" } + { "advapi32" "advapi32.dll" "stdcall" } + { "dinput" "dinput8.dll" "stdcall" } + { "gdi32" "gdi32.dll" "stdcall" } + { "user32" "user32.dll" "stdcall" } + { "kernel32" "kernel32.dll" "stdcall" } + { "winsock" "ws2_32.dll" "stdcall" } + { "mswsock" "mswsock.dll" "stdcall" } + { "shell32" "shell32.dll" "stdcall" } + { "libc" "msvcrt.dll" "cdecl" } + { "libm" "msvcrt.dll" "cdecl" } + { "gl" "opengl32.dll" "stdcall" } + { "glu" "glu32.dll" "stdcall" } + { "ole32" "ole32.dll" "stdcall" } + { "usp10" "usp10.dll" "stdcall" } + { "psapi" "psapi.dll" "stdcall" } + { "xinput" "xinput1_3.dll" "stdcall" } + { "dxgi" "dxgi.dll" "stdcall" } + { "d2d1" "d2d1.dll" "stdcall" } + { "d3d9" "d3d9.dll" "stdcall" } + { "d3d10" "d3d10.dll" "stdcall" } + { "d3d10_1" "d3d10_1.dll" "stdcall" } + { "d3d11" "d3d11.dll" "stdcall" } + { "d3dcompiler" "d3dcompiler_42.dll" "stdcall" } + { "d3dcsx" "d3dcsx_42.dll" "stdcall" } + { "d3dx9" "d3dx9_42.dll" "stdcall" } + { "d3dx10" "d3dx10_42.dll" "stdcall" } + { "d3dx11" "d3dx11_42.dll" "stdcall" } + { "dwrite" "dwrite.dll" "stdcall" } + { "x3daudio" "x3daudio1_6.dll" "stdcall" } + { "xactengine" "xactengine3_5.dll" "stdcall" } + { "xapofx" "xapofx1_3.dll" "stdcall" } + { "xaudio2" "xaudio2_5.dll" "stdcall" } } [ first3 add-library ] each