VirtualBox

source: vbox/trunk/src/VBox/GuestHost/OpenGL/spu_loader/dispatchheader.py@ 62484

Last change on this file since 62484 was 56473, checked in by vboxsync, 10 years ago

Host 3D: extend SPU structure with interface for save/restore internal SPU state; provide plug for Expando SPU saving state; drop unused and confusing stuff from DLM module.

  • Property svn:eol-style set to native
  • Property svn:keywords set to Id
File size: 1.8 KB
Line 
1# Copyright (c) 2001, Stanford University
2# All rights reserved.
3#
4# See the file LICENSE.txt for information on redistributing this software.
5
6# This script generates the spu_dispatch_table.h file from gl_header.parsed
7
8import sys, string
9
10import apiutil
11
12
13apiutil.CopyrightC()
14
15print """
16/* DO NOT EDIT - THIS FILE GENERATED BY THE dispatchheader.py SCRIPT */
17
18#ifndef CR_SPU_DISPATCH_TABLE_H
19#define CR_SPU_DISPATCH_TABLE_H
20
21#ifdef WINDOWS
22#define SPU_APIENTRY __stdcall
23#else
24#define SPU_APIENTRY
25#endif
26
27#include "chromium.h"
28#include "state/cr_statetypes.h"
29"""
30
31keys = apiutil.GetDispatchedFunctions(sys.argv[1]+"/APIspec.txt")
32
33
34print '/* Offsets of each function within the dispatch table */'
35offset = 0
36for func_name in keys:
37 print '#define DISPATCH_OFFSET_%s %d' % (func_name, offset)
38 offset += 1
39print ''
40
41print '/* Function typedefs */'
42for func_name in keys:
43 return_type = apiutil.ReturnType(func_name)
44 params = apiutil.Parameters(func_name)
45
46 print 'typedef %s (SPU_APIENTRY *%sFunc_t)(%s);' % (return_type, func_name, apiutil.MakePrototypeString(params))
47print ''
48
49print 'struct _copy_list_node;'
50print ''
51print '/* Prototype for SPU internal state load/unload callbacks. */'
52print ''
53print 'typedef int (*SPUStateFunc_t)(void *);'
54print ''
55print '/* The SPU dispatch table */'
56print 'typedef struct _spu_dispatch_table {'
57
58for func_name in keys:
59 print "\t%sFunc_t %s; " % ( func_name, func_name )
60
61print """
62 struct _copy_list_node *copyList;
63 struct _spu_dispatch_table *copy_of;
64 int mark;
65 void *server;
66 SPUStateFunc_t spu_save_state; /* Save SPU internal state callback (optional) */
67 SPUStateFunc_t spu_load_state; /* Load SPU internal state callback (optional) */
68} SPUDispatchTable;
69
70struct _copy_list_node {
71 SPUDispatchTable *copy;
72 struct _copy_list_node *next;
73};
74
75
76#endif /* CR_SPU_DISPATCH_TABLE_H */
77"""
Note: See TracBrowser for help on using the repository browser.

© 2024 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette