-
-
Save rajveermalviya/812ee0398ca88c1962469a0978a4845c to your computer and use it in GitHub Desktop.
Sample
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
/** | |
* Copyright 2021 The gfx-rs developers | |
* | |
* SPDX-License-Identifier: Apache-2.0 OR MIT | |
*/ | |
#ifndef WGPU_H_ | |
#define WGPU_H_ | |
#if defined(WGPU_SHARED_LIBRARY) | |
# if defined(_WIN32) | |
# if defined(WGPU_IMPLEMENTATION) | |
# define WGPU_EXPORT __declspec(dllexport) | |
# else | |
# define WGPU_EXPORT __declspec(dllimport) | |
# endif | |
# else // defined(_WIN32) | |
# if defined(WGPU_IMPLEMENTATION) | |
# define WGPU_EXPORT __attribute__((visibility("default"))) | |
# else | |
# define WGPU_EXPORT | |
# endif | |
# endif // defined(_WIN32) | |
#else // defined(WGPU_SHARED_LIBRARY) | |
# define WGPU_EXPORT | |
#endif // defined(WGPU_SHARED_LIBRARY) | |
#if !defined(WGPU_OBJECT_ATTRIBUTE) | |
#define WGPU_OBJECT_ATTRIBUTE | |
#endif | |
#if !defined(WGPU_ENUM_ATTRIBUTE) | |
#define WGPU_ENUM_ATTRIBUTE | |
#endif | |
#if !defined(WGPU_STRUCTURE_ATTRIBUTE) | |
#define WGPU_STRUCTURE_ATTRIBUTE | |
#endif | |
#if !defined(WGPU_FUNCTION_ATTRIBUTE) | |
#define WGPU_FUNCTION_ATTRIBUTE | |
#endif | |
#if !defined(WGPU_NULLABLE) | |
#define WGPU_NULLABLE | |
#endif | |
#if !defined(__WGPU_EXTEND_ENUM) | |
#ifdef __cplusplus | |
#define __WGPU_EXTEND_ENUM(E, N, V) static const E N = E(V) | |
#else | |
#define __WGPU_EXTEND_ENUM(E, N, V) static const E N = (E)(V) | |
#endif | |
#endif // !defined(__WGPU_EXTEND_ENUM) | |
#include "webgpu.h" | |
typedef struct WGPURenderPassEncoderImpl* WGPURenderPassEncoder WGPU_OBJECT_ATTRIBUTE; | |
// Structure forward declarations | |
struct WGPUShaderDefine; | |
struct WGPUShaderModuleGLSLDescriptor; | |
__WGPU_EXTEND_ENUM(WGPUFeatureName, WGPUFeatureName_PushConstants, 0x30000000); | |
__WGPU_EXTEND_ENUM(WGPUFeatureName, WGPUFeatureName_MultiDrawIndirect, 0x30000001); | |
__WGPU_EXTEND_ENUM(WGPUSType, WGPUSType_ShaderModuleGLSLDescriptor, 0x30000000); | |
__WGPU_EXTEND_ENUM(WGPUSType, WGPUSType_InstanceExtras, 0x30000001); | |
typedef enum WGPUDx12Compiler { | |
WGPUDx12Compiler_Undefined = 0x30000000, | |
WGPUDx12Compiler_Fxc = 0x30000001, | |
WGPUDx12Compiler_Dxc = 0x30000002, | |
WGPUDx12Compiler_Force32 = 0x7FFFFFFF | |
} WGPUDx12Compiler WGPU_ENUM_ATTRIBUTE; | |
typedef enum WGPUGles3MinorVersion { | |
WGPUGles3MinorVersion_Automatic = 0x30000000, | |
WGPUGles3MinorVersion_Version0 = 0x30000001, | |
WGPUGles3MinorVersion_Version1 = 0x30000002, | |
WGPUGles3MinorVersion_Version2 = 0x30000003, | |
WGPUGles3MinorVersion_Force32 = 0x7FFFFFFF | |
} WGPUGles3MinorVersion WGPU_ENUM_ATTRIBUTE; | |
typedef enum WGPULogLevel { | |
WGPULogLevel_Off = 0x30000000, | |
WGPULogLevel_Error = 0x30000001, | |
WGPULogLevel_Warn = 0x30000002, | |
WGPULogLevel_Info = 0x30000003, | |
WGPULogLevel_Debug = 0x30000004, | |
WGPULogLevel_Trace = 0x30000005, | |
WGPULogLevel_Force32 = 0x7FFFFFFF | |
} WGPULogLevel WGPU_ENUM_ATTRIBUTE; | |
__WGPU_EXTEND_ENUM(WGPUShaderStage, WGPUShaderStage_Mesh, 0x00000008); | |
typedef enum WGPUSomeStages { | |
WGPUSomeStages_One = 0x00000000, | |
WGPUSomeStages_Two = 0x00000001, | |
WGPUSomeStages_Three = 0x00000002, | |
WGPUSomeStages_Four = 0x00000004, | |
WGPUSomeStages_Force32 = 0x7FFFFFFF | |
} WGPUSomeStages WGPU_ENUM_ATTRIBUTE; | |
typedef WGPUFlags WGPUSomeStagesFlags WGPU_ENUM_ATTRIBUTE; | |
typedef struct WGPUShaderDefine { | |
char const * name; | |
char const * value; | |
} WGPUShaderDefine WGPU_STRUCTURE_ATTRIBUTE; | |
typedef struct WGPUShaderModuleGLSLDescriptor { | |
WGPUChainedStruct chain; | |
WGPUShaderStage stage; | |
char const * code; | |
size_t defineCount; | |
WGPUShaderDefine defines; | |
} WGPUShaderModuleGLSLDescriptor WGPU_STRUCTURE_ATTRIBUTE; | |
#ifdef __cplusplus | |
extern "C" { | |
#endif | |
#if !defined(WGPU_SKIP_PROCS) | |
// Procs of RenderPassEncoder | |
typedef void (*WGPUProcRenderPassEncoderSetPushConstants)(WGPURenderPassEncoder renderPassEncoder, WGPUShaderStageFlags stages, uint32_t offset, size_t sizeBytes, void const * data) WGPU_FUNCTION_ATTRIBUTE; | |
#endif // !defined(WGPU_SKIP_PROCS) | |
#if !defined(WGPU_SKIP_DECLARATIONS) | |
// Methods of RenderPassEncoder | |
WGPU_EXPORT void wgpuRenderPassEncoderSetPushConstants(WGPURenderPassEncoder renderPassEncoder, WGPUShaderStageFlags stages, uint32_t offset, size_t sizeBytes, void const * data) WGPU_FUNCTION_ATTRIBUTE; | |
#endif // !defined(WGPU_SKIP_DECLARATIONS) | |
#ifdef __cplusplus | |
} // extern "C" | |
#endif | |
#endif // WGPU_H_ |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
copyright: | | |
Copyright 2021 The gfx-rs developers | |
SPDX-License-Identifier: Apache-2.0 OR MIT | |
enum_prefix: '0x3000' | |
constants: [] | |
enums: | |
- name: s_type | |
extended: true | |
doc: | | |
TODO | |
entries: | |
- name: shader_module_GLSL_descriptor | |
doc: | | |
TODO | |
- name: instance_extras | |
doc: | | |
TODO | |
- name: log_level | |
doc: | | |
TODO | |
entries: | |
- name: off | |
doc: | | |
TODO | |
- name: error | |
doc: | | |
TODO | |
- name: warn | |
doc: | | |
TODO | |
- name: info | |
doc: | | |
TODO | |
- name: debug | |
doc: | | |
TODO | |
- name: trace | |
doc: | | |
TODO | |
- name: dx12_compiler | |
doc: | | |
TODO | |
entries: | |
- name: undefined | |
doc: | | |
TODO | |
- name: fxc | |
doc: | | |
TODO | |
- name: dxc | |
doc: | | |
TODO | |
- name: gles3_minor_version | |
doc: | | |
TODO | |
entries: | |
- name: automatic | |
doc: | | |
TODO | |
- name: version0 | |
doc: | | |
TODO | |
- name: version1 | |
doc: | | |
TODO | |
- name: version2 | |
doc: | | |
TODO | |
- name: feature_name | |
extended: true | |
doc: | | |
TODO | |
entries: | |
- name: push_constants | |
doc: | | |
TODO | |
- name: multi_draw_indirect | |
doc: | | |
TODO | |
bitflags: | |
- name: shader_stage | |
doc: | | |
TODO | |
extended: true | |
entries: | |
- name: mesh | |
value: 0x00000008 | |
doc: | | |
TODO | |
- name: some_stages | |
doc: | | |
TODO | |
entries: | |
- name: one | |
doc: | | |
TODO | |
- name: two | |
doc: | | |
TODO | |
- name: three | |
doc: | | |
TODO | |
- name: four | |
doc: | | |
TODO | |
function_types: [] | |
structs: | |
- name: shader_define | |
doc: | | |
TODO | |
type: standalone | |
members: | |
- name: name | |
doc: | | |
TODO | |
type: string | |
- name: value | |
doc: | | |
TODO | |
type: string | |
- name: shader_module_GLSL_descriptor | |
doc: | | |
TODO | |
type: extension_in | |
extends: | |
- shader_module_descriptor | |
members: | |
- name: stage | |
doc: | | |
TODO | |
type: enum.shader_stage | |
- name: code | |
doc: | | |
TODO | |
type: string | |
- name: defines | |
doc: | | |
TODO | |
type: array<struct.shader_define> | |
functions: [] | |
objects: | |
- name: render_pass_encoder | |
doc: | | |
TODO | |
extended: true | |
methods: | |
- name: set_push_constants | |
doc: | | |
TODO | |
args: | |
- name: stages | |
doc: | | |
TODO | |
type: bitflag.shader_stage | |
- name: offset | |
doc: | | |
TODO | |
type: uint32 | |
- name: size_bytes | |
doc: | | |
TODO | |
type: usize | |
- name: data | |
doc: | | |
TODO | |
type: c_void | |
pointer: immutable |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment