arrayspu.h revision 903578c4060d0ad0a9c623608275f5f2baa478fa
ae9ed83297460a052aeae98394d473e83aeafd1fvboxsync/* Copyright (c) 2001, Stanford University
ae9ed83297460a052aeae98394d473e83aeafd1fvboxsync * All rights reserved.
ae9ed83297460a052aeae98394d473e83aeafd1fvboxsync *
ae9ed83297460a052aeae98394d473e83aeafd1fvboxsync * See the file LICENSE.txt for information on redistributing this software.
ae9ed83297460a052aeae98394d473e83aeafd1fvboxsync */
ae9ed83297460a052aeae98394d473e83aeafd1fvboxsync
ae9ed83297460a052aeae98394d473e83aeafd1fvboxsync#ifndef ARRAY_SPU_H
ae9ed83297460a052aeae98394d473e83aeafd1fvboxsync#define ARRAY_SPU_H
ae9ed83297460a052aeae98394d473e83aeafd1fvboxsync
ae9ed83297460a052aeae98394d473e83aeafd1fvboxsync#ifdef WINDOWS
ae9ed83297460a052aeae98394d473e83aeafd1fvboxsync#define ARRAYSPU_APIENTRY __stdcall
ae9ed83297460a052aeae98394d473e83aeafd1fvboxsync#else
ae9ed83297460a052aeae98394d473e83aeafd1fvboxsync#define ARRAYSPU_APIENTRY
ae9ed83297460a052aeae98394d473e83aeafd1fvboxsync#endif
ae9ed83297460a052aeae98394d473e83aeafd1fvboxsync
ae9ed83297460a052aeae98394d473e83aeafd1fvboxsync#include "cr_spu.h"
ae9ed83297460a052aeae98394d473e83aeafd1fvboxsync#include "cr_glstate.h"
ae9ed83297460a052aeae98394d473e83aeafd1fvboxsync
ae9ed83297460a052aeae98394d473e83aeafd1fvboxsyncvoid arrayspuSetVBoxConfiguration( void );
ae9ed83297460a052aeae98394d473e83aeafd1fvboxsync
ae9ed83297460a052aeae98394d473e83aeafd1fvboxsynctypedef struct context_info_t ContextInfo;
ae9ed83297460a052aeae98394d473e83aeafd1fvboxsync
ae9ed83297460a052aeae98394d473e83aeafd1fvboxsyncstruct context_info_t {
ae9ed83297460a052aeae98394d473e83aeafd1fvboxsync CRContext *clientState; /* used to store client-side GL state */
ae9ed83297460a052aeae98394d473e83aeafd1fvboxsync GLint clientCtx; /* client context ID */
ae9ed83297460a052aeae98394d473e83aeafd1fvboxsync};
ae9ed83297460a052aeae98394d473e83aeafd1fvboxsync
ae9ed83297460a052aeae98394d473e83aeafd1fvboxsynctypedef struct {
ae9ed83297460a052aeae98394d473e83aeafd1fvboxsync int id;
ae9ed83297460a052aeae98394d473e83aeafd1fvboxsync int has_child;
ae9ed83297460a052aeae98394d473e83aeafd1fvboxsync CRContext *defaultctx;
ae9ed83297460a052aeae98394d473e83aeafd1fvboxsync SPUDispatchTable self, child, super;
ae9ed83297460a052aeae98394d473e83aeafd1fvboxsync int numContexts;
ae9ed83297460a052aeae98394d473e83aeafd1fvboxsync ContextInfo context[CR_MAX_CONTEXTS];
ae9ed83297460a052aeae98394d473e83aeafd1fvboxsync} ArraySPU;
ae9ed83297460a052aeae98394d473e83aeafd1fvboxsync
ae9ed83297460a052aeae98394d473e83aeafd1fvboxsyncextern ArraySPU array_spu;
ae9ed83297460a052aeae98394d473e83aeafd1fvboxsync
ae9ed83297460a052aeae98394d473e83aeafd1fvboxsync#ifdef CHROMIUM_THREADSAFE
ae9ed83297460a052aeae98394d473e83aeafd1fvboxsyncextern CRmutex _ArrayMutex;
ae9ed83297460a052aeae98394d473e83aeafd1fvboxsync#endif
ae9ed83297460a052aeae98394d473e83aeafd1fvboxsync
ae9ed83297460a052aeae98394d473e83aeafd1fvboxsync#endif /* ARRAY_SPU_H */
ae9ed83297460a052aeae98394d473e83aeafd1fvboxsync