aboutsummaryrefslogtreecommitdiff
path: root/src/windows/native/sun/java2d/d3d/D3DUtils.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/windows/native/sun/java2d/d3d/D3DUtils.h')
-rw-r--r--src/windows/native/sun/java2d/d3d/D3DUtils.h287
1 files changed, 0 insertions, 287 deletions
diff --git a/src/windows/native/sun/java2d/d3d/D3DUtils.h b/src/windows/native/sun/java2d/d3d/D3DUtils.h
deleted file mode 100644
index e246f8ba9..000000000
--- a/src/windows/native/sun/java2d/d3d/D3DUtils.h
+++ /dev/null
@@ -1,287 +0,0 @@
-/*
- * Copyright 2005 Sun Microsystems, Inc. All Rights Reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation. Sun designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Sun in the LICENSE file that accompanied this code.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
- * CA 95054 USA or visit www.sun.com if you need additional information or
- * have any questions.
- */
-
-#ifndef D3DUTILS_H
-#define D3DUTILS_H
-
-#include "D3DContext.h"
-
-// - Types and macros used in SelectDeviceGUID -----------------------
-// Indexes for the rasterizers:
-// TNL, HAL, REF, RGB
-#define TNL_IDX (0)
-#define HAL_IDX (1)
-#define REF_IDX (2)
-#define RGB_IDX (3)
-#define DEV_IDX_MAX (RGB_IDX+1)
-
-typedef struct {
- const GUID *pGUIDs[4];
-} DEVICES_INFO;
-
-// - Utility funcions for dealing with pixel formats ----------------
-const GUID *
-D3DUtils_SelectDeviceGUID(IDirect3D7 *d3dObject);
-
-HRESULT
-D3DUtils_FindDepthBufferFormat(IDirect3D7 *d3dObject,
- int preferredDepth,
- DDPIXELFORMAT* pddpf,
- const GUID *pDeviceGUID);
-HRESULT
-D3DUtils_FindMaskTileTextureFormat(IDirect3DDevice7 *d3dDevice,
- DDPIXELFORMAT* pddpf);
-void
-D3DUtils_SetupTextureFormats(IDirect3DDevice7 *d3dDevice,
- D3DTextureTable &table);
-
-// - Utility funcions for working with matricies ---------------------
-void
-D3DUtils_SetIdentityMatrix(D3DMATRIX *m, BOOL adjust = TRUE);
-
-void
-D3DUtils_SetOrthoMatrixOffCenterLH(D3DMATRIX *m,
- float width, float height);
-DDrawSurface *
-D3DUtils_CreatePlainSurface(JNIEnv *env, DDraw *ddObject,
- D3DContext *d3dContext,
- int w, int h);
-
-DDrawSurface *
-D3DUtils_CreateTexture(JNIEnv *env, DDraw *ddObject,
- D3DContext *d3dContext,
- int transparency,
- int w, int h);
-
-HRESULT
-D3DUtils_UploadIntImageToXRGBTexture(DDrawSurface *lpTexture,
- int *pSrc, int width, int height);
-
-// - Utility functions for checking various capabilities of the device
-
-HRESULT
-D3DUtils_CheckD3DCaps(LPD3DDEVICEDESC7 lpDesc7);
-
-HRESULT
-D3DUtils_CheckDepthCaps(LPD3DDEVICEDESC7 lpDesc7);
-
-HRESULT
-D3DUtils_CheckTextureCaps(LPD3DDEVICEDESC7 lpDesc7);
-
-HRESULT
-D3DUtils_CheckDeviceCaps(LPD3DDEVICEDESC7 lpDesc7);
-
-// - Utility macros error handling of d3d operations -----------------
-
-/* #define NO_D3D_CHECKING */
-
-#ifdef NO_D3D_CHECKING
-
-#define D3DU_PRIM_LOOP_BEGIN(RES, DST_WSDO)
-#define D3DU_PRIM2_LOOP_BEGIN(RES, SRC_WSDO, DST_WSDO)
-#define D3DU_PRIM_LOOP_END(ENV, RES, DST_WSDO, PRIM)
-#define D3DU_PRIM2_LOOP_END(ENV, RES, SRC_WSDO, DST_WSDO, PRIM)
-
-#else /* NO_D3D_CHECKING */
-
-#ifndef MAX_BUSY_ATTEMPTS
- #define MAX_BUSY_ATTEMPTS 50 // Arbitrary number of times to attempt
-#endif
-
-
-#define D3DU_PRIM_LOOP_BEGIN(RES, DST_WSDO) \
-do { \
- int attempts = 0; \
- while (attempts++ < MAX_BUSY_ATTEMPTS) { \
- if (FAILED((DST_WSDO)->lpSurface->IsLost())) { \
- RES = DDERR_SURFACELOST; \
- } else {
-
-#define D3DU_PRIM2_LOOP_BEGIN(RES, SRC_WSDO, DST_WSDO) \
-do { \
- int attempts = 0; \
- while (attempts++ < MAX_BUSY_ATTEMPTS) { \
- if (FAILED((DST_WSDO)->lpSurface->IsLost()) || \
- FAILED((SRC_WSDO)->lpSurface->IsLost())) \
- { \
- RES = DDERR_SURFACELOST; \
- } else {
-
-#define D3DU_PRIM_LOOP_END(ENV, RES, DST_WSDO, PRIM) \
- } \
- if (SUCCEEDED(RES)) { \
- break; \
- } else if (RES == DDERR_SURFACEBUSY || RES == DDERR_WASSTILLDRAWING) { \
- J2dTraceLn(J2D_TRACE_VERBOSE, #PRIM ## ": surface is busy."); \
- continue; \
- } else if (RES == DDERR_SURFACELOST) { \
- J2dTraceLn(J2D_TRACE_INFO, #PRIM ## ": dest surface lost."); \
- DST_WSDO->RestoreSurface(ENV, DST_WSDO); \
- break; \
- } else { \
- DebugPrintDirectDrawError(RES, #PRIM); \
- } \
- } \
-} while (0)
-
-#define D3DU_PRIM2_LOOP_END(ENV, RES, SRC_WSDO, DST_WSDO, PRIM) \
- } \
- if (SUCCEEDED(RES)) { \
- break; \
- } else if (RES == DDERR_SURFACEBUSY || RES == DDERR_WASSTILLDRAWING) { \
- J2dTraceLn(J2D_TRACE_VERBOSE, #PRIM ## ": surface is busy."); \
- continue; \
- } else if (RES == DDERR_SURFACELOST) { \
- if (FAILED((DST_WSDO)->lpSurface->IsLost())) { \
- J2dTraceLn(J2D_TRACE_INFO, #PRIM ## ": dst surface lost."); \
- (DST_WSDO)->RestoreSurface(ENV, (DST_WSDO)); \
- } \
- if (FAILED((SRC_WSDO)->lpSurface->IsLost())) { \
- J2dTraceLn(J2D_TRACE_INFO, #PRIM ## ": src surface lost."); \
- (SRC_WSDO)->RestoreSurface(ENV, (SRC_WSDO)); \
- } \
- break; \
- } else { \
- DebugPrintDirectDrawError(RES, #PRIM); \
- } \
- } \
-} while (0)
-
-#endif /* NO_D3D_CHECKING */
-
-// - Utility macros for initializing vertex structures ---------------
-
-#define D3D_EXEC_PRIM_LOOP(ENV, RES, DST_WSDO, PRIM) \
- D3DU_PRIM_LOOP_BEGIN(RES, DST_WSDO); \
- RES = (PRIM); \
- D3DU_PRIM_LOOP_END(ENV, RES, DST_WSDO, PRIM);
-
-#define D3DU_INIT_VERTEX_PENT_XY(VQUAD, X1, Y1, X2, Y2) \
-do { \
- D3DU_INIT_VERTEX_QUAD_XY(VQUAD, X1, Y1, X2, Y2); \
- (VQUAD)[4].x = (X1); (VQUAD)[4].y = (Y1); \
-} while (0)
-
-#define D3DU_INIT_VERTEX_PENT_COLOR(VQUAD, VCOLOR) \
-do { \
- D3DU_INIT_VERTEX_QUAD_COLOR(VQUAD, VCOLOR); \
- (VQUAD)[4].color = (VCOLOR); \
-} while (0)
-
-#define D3DU_INIT_VERTEX_QUAD_XY(VQUAD, X1, Y1, X2, Y2) \
-do { \
- (VQUAD)[0].x = (X1); (VQUAD)[0].y = (Y1); \
- (VQUAD)[1].x = (X2); (VQUAD)[1].y = (Y1); \
- (VQUAD)[2].x = (X2); (VQUAD)[2].y = (Y2); \
- (VQUAD)[3].x = (X1); (VQUAD)[3].y = (Y2); \
-} while (0)
-
-#define D3DU_INIT_VERTEX_QUAD_XYZ(VQUAD, X1, Y1, X2, Y2, Z) \
-do { \
- D3DU_INIT_VERTEX_QUAD_XY(VQUAD, X1, Y1, X2, Y2); \
- (VQUAD)[0].z = (Z); \
- (VQUAD)[1].z = (Z); \
- (VQUAD)[2].z = (Z); \
- (VQUAD)[3].z = (Z); \
-} while (0)
-
-#define D3DU_INIT_VERTEX_QUAD_COLOR(VQUAD, VCOLOR) \
-do { \
- (VQUAD)[0].color = (VCOLOR); \
- (VQUAD)[1].color = (VCOLOR); \
- (VQUAD)[2].color = (VCOLOR); \
- (VQUAD)[3].color = (VCOLOR); \
-} while (0)
-
-#define D3DU_INIT_VERTEX_QUAD_UV(VQUAD, TU1, TV1, TU2, TV2) \
-do { \
- (VQUAD)[0].tu = (TU1); (VQUAD)[0].tv = (TV1); \
- (VQUAD)[1].tu = (TU2); (VQUAD)[1].tv = (TV1); \
- (VQUAD)[2].tu = (TU2); (VQUAD)[2].tv = (TV2); \
- (VQUAD)[3].tu = (TU1); (VQUAD)[3].tv = (TV2); \
-} while (0)
-
-#define D3DU_INIT_VERTEX_QUAD_XYUV(VQUAD, X1, Y1, X2, Y2, TU1, TV1, TU2, TV2) \
-do { \
- D3DU_INIT_VERTEX_QUAD_XY(VQUAD, X1, Y1, X2, Y2); \
- D3DU_INIT_VERTEX_QUAD_UV(VQUAD, TU1, TV1, TU2, TV2); \
-} while (0)
-
-#define D3DU_INIT_VERTEX_QUAD(VQUAD, X1, Y1, X2, Y2, VCOLOR, TU1, TV1, TU2, TV2) \
-do { \
- D3DU_INIT_VERTEX_QUAD_XYUV(VQUAD, X1, Y1, X2, Y2, TU1, TV1, TU2, TV2); \
- D3DU_INIT_VERTEX_QUAD_COLOR(VQUAD, VCOLOR); \
-} while (0)
-
-#define D3DU_INIT_VERTEX_6(VQUAD, X1, Y1, X2, Y2, VCOLOR, TU1, TV1, TU2, TV2) \
-do { \
- D3DU_INIT_VERTEX_XY_6(VHEX, X1, Y1, X2, Y2); \
- D3DU_INIT_VERTEX_UV_6(VHEX, TU1, TV1, TU2, TV2); \
- D3DU_INIT_VERTEX_COLOR_6(VHEX, VCOLOR); \
-} while (0)
-
-#define D3DU_INIT_VERTEX_UV_6(VHEX, TU1, TV1, TU2, TV2) \
-do { \
- (VHEX)[0].tu = TU1; (VHEX)[0].tv = TV1; \
- (VHEX)[1].tu = TU2; (VHEX)[1].tv = TV1; \
- (VHEX)[2].tu = TU1; (VHEX)[2].tv = TV2; \
- (VHEX)[3].tu = TU1; (VHEX)[3].tv = TV2; \
- (VHEX)[4].tu = TU2; (VHEX)[4].tv = TV1; \
- (VHEX)[5].tu = TU2; (VHEX)[5].tv = TV2; \
-} while (0)
-
-#define D3DU_INIT_VERTEX_COLOR_6(VHEX, VCOLOR) \
-do { \
- (VHEX)[0].color = VCOLOR; \
- (VHEX)[1].color = VCOLOR; \
- (VHEX)[2].color = VCOLOR; \
- (VHEX)[3].color = VCOLOR; \
- (VHEX)[4].color = VCOLOR; \
- (VHEX)[5].color = VCOLOR; \
-} while (0)
-
-#define D3DU_INIT_VERTEX_XY_6(VHEX, X1, Y1, X2, Y2) \
-do { \
- (VHEX)[0].x = X1; (VHEX)[0].y = Y1; \
- (VHEX)[1].x = X2; (VHEX)[1].y = Y1; \
- (VHEX)[2].x = X1; (VHEX)[2].y = Y2; \
- (VHEX)[3].x = X1; (VHEX)[3].y = Y2; \
- (VHEX)[4].x = X2; (VHEX)[4].y = Y1; \
- (VHEX)[5].x = X2; (VHEX)[5].y = Y2; \
-} while (0)
-
-#define D3DU_INIT_VERTEX_XYZ_6(VHEX, X1, Y1, X2, Y2, Z) \
-do { \
- D3DU_INIT_VERTEX_XY_6(VHEX, X1, Y1, X2, Y2); \
- (VHEX)[0].z = (Z); \
- (VHEX)[1].z = (Z); \
- (VHEX)[2].z = (Z); \
- (VHEX)[3].z = (Z); \
- (VHEX)[4].z = (Z); \
- (VHEX)[5].z = (Z); \
-} while (0)
-
-
-#endif // D3DUTILS_H