VirtualBox

source: vbox/trunk/src/VBox/Devices/Graphics/shaderlib/shaderlib.h@ 53480

最後變更 在這個檔案從53480是 53201,由 vboxsync 提交於 10 年 前

Devices/Main: vmsvga updates

  • 屬性 svn:eol-style 設為 native
  • 屬性 svn:keywords 設為 Author Date Id Revision
檔案大小: 2.0 KB
 
1#ifndef __SHADERLIB_H__
2#define __SHADERLIB_H__
3
4#include <VBox/cdefs.h>
5
6#ifdef __cplusplus
7extern "C" {
8#endif
9
10#ifdef IN_SHADERLIB_STATIC
11# define SHADERDECL(type) DECLHIDDEN(type) RTCALL
12#else
13# define SHADERDECL(type) DECLEXPORT(type) RTCALL
14#endif
15
16
17SHADERDECL(int) ShaderInitLib();
18SHADERDECL(int) ShaderDestroyLib();
19
20SHADERDECL(int) ShaderContextCreate(void **ppShaderContext);
21SHADERDECL(int) ShaderContextDestroy(void *pShaderContext);
22
23SHADERDECL(int) ShaderCreateVertexShader(void *pShaderContext, const uint32_t *pShaderData, void **pShaderObj);
24SHADERDECL(int) ShaderCreatePixelShader(void *pShaderContext, const uint32_t *pShaderData, void **pShaderObj);
25
26SHADERDECL(int) ShaderDestroyVertexShader(void *pShaderContext, void *pShaderObj);
27SHADERDECL(int) ShaderDestroyPixelShader(void *pShaderContext, void *pShaderObj);
28
29SHADERDECL(int) ShaderSetVertexShader(void *pShaderContext, void *pShaderObj);
30SHADERDECL(int) ShaderSetPixelShader(void *pShaderContext, void *pShaderObj);
31
32SHADERDECL(int) ShaderSetVertexShaderConstantB(void *pShaderContext, uint32_t reg, const uint8_t *pValues, uint32_t cRegisters);
33SHADERDECL(int) ShaderSetVertexShaderConstantI(void *pShaderContext, uint32_t reg, const int32_t *pValues, uint32_t cRegisters);
34SHADERDECL(int) ShaderSetVertexShaderConstantF(void *pShaderContext, uint32_t reg, const float *pValues, uint32_t cRegisters);
35
36SHADERDECL(int) ShaderSetPixelShaderConstantB(void *pShaderContext, uint32_t reg, const uint8_t *pValues, uint32_t cRegisters);
37SHADERDECL(int) ShaderSetPixelShaderConstantI(void *pShaderContext, uint32_t reg, const int32_t *pValues, uint32_t cRegisters);
38SHADERDECL(int) ShaderSetPixelShaderConstantF(void *pShaderContext, uint32_t reg, const float *pValues, uint32_t cRegisters);
39
40SHADERDECL(int) ShaderUpdateState(void *pShaderContext, uint32_t rtHeight);
41
42SHADERDECL(int) ShaderTransformProjection(unsigned cxViewPort, unsigned cyViewPort, float matrix[16]);
43
44#ifdef __cplusplus
45}
46#endif
47
48#endif /* __SHADERLIB_H__ */
注意: 瀏覽 TracBrowser 來幫助您使用儲存庫瀏覽器

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