GameApi 28
Library used by GameApi Builder tool
Loading...
Searching...
No Matches
lib_webgpu_fwd.h
Go to the documentation of this file.
1#pragma once
2
3#include <stdint.h>
4
5#ifdef __cplusplus
6extern "C" {
7#endif
8
9// The type 'double_int53_t' shall be an integer-like
10// type that can represent at least 53-bits of consecutive
11// unsigned integers. On the web, this will be a 'double',
12// on other platforms it will be a 64-bit unsigned integer.
13// The reason for using double on the web is due to the
14// JavaScript WebGPU API does not not allow utilizing
15// BigInt to represent real 64-bit integers, so only 53 bits
16// of integer values is available.
17#ifdef __EMSCRIPTEN__
18// Use double to represent a JavaScript number that can
19// address 2^53 == 9007199254740992 = ~9.0 petabytes.
20typedef double double_int53_t;
21#else
22// On other platforms than the web, double_int53_t is a real
23// integer type.
24typedef uint64_t double_int53_t;
25#endif
26
27#ifdef __GNUC__
28#define NOTNULL __attribute__((nonnull))
29#else
30#define NOTNULL
31#endif
32
33// The following should be kept sorted in the order of the WebIDL for easier diffing across changes to the spec: https://www.w3.org/TR/webgpu/#idl-index
34// with the exception that the callback typedefs should appear last in this file to see the necessary definitions.
35#ifdef __EMSCRIPTEN__
36typedef int WGpuObjectBase;
37#else
39#endif
40
43typedef int WGPU_FEATURES_BITFIELD;
45typedef struct WGpuAdapterInfo WGpuAdapterInfo;
47typedef int WGPU_POWER_PREFERENCE;
52typedef int WGPU_BUFFER_MAP_STATE;
54typedef int WGPU_BUFFER_USAGE_FLAGS;
55typedef int WGPU_MAP_MODE_FLAGS;
58typedef int WGPU_TEXTURE_DIMENSION;
59typedef int WGPU_TEXTURE_USAGE_FLAGS;
63typedef int WGPU_TEXTURE_ASPECT;
64typedef int WGPU_TEXTURE_FORMAT;
69typedef int WGPU_ADDRESS_MODE;
70typedef int WGPU_FILTER_MODE;
71typedef int WGPU_MIPMAP_FILTER_MODE;
72typedef int WGPU_COMPARE_FUNCTION;
74// Not used:
75//typedef struct WGpuBindGroupLayoutDescriptor WGpuBindGroupLayoutDescriptor;
76typedef int WGPU_SHADER_STAGE_FLAGS;
78typedef int WGPU_BUFFER_BINDING_TYPE;
82typedef int WGPU_TEXTURE_SAMPLE_TYPE;
88// Not used:
89//typedef struct WGpuBindGroupDescriptor WGpuBindGroupDescriptor;
92// Not used:
93//typedef struct WGpuPipelineLayoutDescriptor WGpuPipelineLayoutDescriptor;
99typedef int WGPU_AUTO_LAYOUT_MODE;
102// Not used:
103//typedef struct WGpuComputePipelineDescriptor WGpuComputePipelineDescriptor;
107typedef int WGPU_PRIMITIVE_TOPOLOGY;
109typedef int WGPU_FRONT_FACE;
110typedef int WGPU_CULL_MODE;
114typedef struct WGpuBlendState WGpuBlendState;
115typedef int WGPU_COLOR_WRITE_FLAGS;
117typedef int WGPU_BLEND_FACTOR;
118typedef int WGPU_BLEND_OPERATION;
121typedef int WGPU_STENCIL_OPERATION;
122typedef int WGPU_INDEX_FORMAT;
123typedef int WGPU_VERTEX_FORMAT;
124typedef int WGPU_VERTEX_STEP_MODE;
125typedef struct WGpuVertexState WGpuVertexState;
144typedef int WGPU_LOAD_OP;
145typedef int WGPU_STORE_OP;
153typedef int WGPU_QUERY_TYPE;
156typedef int WGPU_CANVAS_ALPHA_MODE;
158typedef int WGPU_DEVICE_LOST_REASON;
159typedef int WGPU_ERROR_FILTER;
160typedef int WGPU_ERROR_TYPE;
161typedef struct WGpuColor WGpuColor;
162typedef struct WGpuOrigin2D WGpuOrigin2D;
163typedef struct WGpuOrigin3D WGpuOrigin3D;
164typedef struct WGpuExtent3D WGpuExtent3D;
168
169// Callbacks in the order of appearance in the WebIDL:
170
171typedef void (*WGpuRequestAdapterCallback)(WGpuAdapter adapter, void *userData);
172typedef void (*WGpuRequestDeviceCallback)(WGpuDevice device, void *userData);
173typedef void (*WGpuRequestAdapterInfoCallback)(WGpuAdapter adapter, const WGpuAdapterInfo *adapterInfo NOTNULL, void *userData);
175typedef void (*WGpuBufferMapCallback)(WGpuBuffer buffer, void *userData, WGPU_MAP_MODE_FLAGS mode, double_int53_t offset, double_int53_t size);
176typedef void (*WGpuGetCompilationInfoCallback)(WGpuShaderModule shaderModule, WGpuCompilationInfo *compilationInfo NOTNULL, void *userData);
177typedef void (*WGpuOnSubmittedWorkDoneCallback)(WGpuQueue queue, void *userData);
178typedef void (*WGpuDeviceLostCallback)(WGpuDevice device, WGPU_DEVICE_LOST_REASON deviceLostReason, const char *message, void *userData);
179typedef void (*WGpuDeviceErrorCallback)(WGpuDevice device, WGPU_ERROR_TYPE errorType, const char *errorMessage, void *userData);
180typedef void (*WGpuLoadImageBitmapCallback)(WGpuImageBitmap bitmap, int width, int height, void *userData);
181
182#ifdef __cplusplus
183} // ~extern "C"
184#endif
GLastResizePipelineToGltfAnimation pipeline
Definition GameApi_pl.cc:15022
void error(std::string err, std::string fail_reason)
Definition check.cc:18
int WGPU_TEXTURE_DIMENSION
Definition lib_webgpu.h:714
int WGPU_TEXTURE_SAMPLE_TYPE
Definition lib_webgpu.h:1276
WGpuObjectBase WGpuDevice
Definition lib_webgpu.h:459
WGpuObjectBase WGpuImageBitmap
Definition lib_webgpu.h:2967
void(* WGpuRequestAdapterCallback)(WGpuAdapter adapter, void *userData)
Definition lib_webgpu.h:293
int WGPU_BUFFER_BINDING_TYPE
Definition lib_webgpu.h:1222
int WGPU_ADDRESS_MODE
Definition lib_webgpu.h:1111
int WGPU_SAMPLER_BINDING_TYPE
Definition lib_webgpu.h:1250
int WGPU_AUTO_LAYOUT_MODE
Definition lib_webgpu.h:1517
void(* WGpuRequestAdapterInfoCallback)(WGpuAdapter adapter, const WGpuAdapterInfo *adapterInfo NOTNULL, void *userData)
Definition lib_webgpu.h:394
void(* WGpuDeviceErrorCallback)(WGpuDevice device, WGPU_ERROR_TYPE errorType, const char *errorMessage NOTNULL, void *userData)
Definition lib_webgpu.h:2692
int WGPU_STORAGE_TEXTURE_ACCESS
Definition lib_webgpu.h:1304
WGpuObjectBase WGpuRenderPipeline
Definition lib_webgpu.h:1582
int WGPU_TEXTURE_ASPECT
Definition lib_webgpu.h:798
WGpuObjectBase WGpuBindGroupLayout
Definition lib_webgpu.h:1168
int WGPU_VERTEX_FORMAT
Definition lib_webgpu.h:1896
void(* WGpuRequestDeviceCallback)(WGpuDevice device, void *userData)
Definition lib_webgpu.h:382
int WGPU_TEXTURE_FORMAT
Definition lib_webgpu.h:927
WGpuObjectBase WGpuComputePassEncoder
Definition lib_webgpu.h:2193
int WGPU_FILTER_MODE
Definition lib_webgpu.h:1123
void(* WGpuDeviceLostCallback)(WGpuDevice device, WGPU_DEVICE_LOST_REASON deviceLostReason, const char *message NOTNULL, void *userData)
Definition lib_webgpu.h:2640
int WGPU_FEATURES_BITFIELD
Definition lib_webgpu.h:220
void(* WGpuBufferMapCallback)(WGpuBuffer buffer, void *userData, WGPU_MAP_MODE_FLAGS mode, double_int53_t offset, double_int53_t size)
Definition lib_webgpu.h:558
int WGPU_PIPELINE_STATISTIC_NAME
Definition lib_webgpu.h:2561
int WGPU_COMPARE_FUNCTION
Definition lib_webgpu.h:1151
int WGPU_BLEND_FACTOR
Definition lib_webgpu.h:1756
int WGPU_STORE_OP
Definition lib_webgpu.h:2386
int WGPU_QUERY_TYPE
Definition lib_webgpu.h:2551
WGpuObjectBase WGpuRenderPassEncoder
Definition lib_webgpu.h:2295
WGpuObjectBase WGpuRenderBundleEncoder
Definition lib_webgpu.h:2431
int WGPU_CULL_MODE
Definition lib_webgpu.h:1654
WGpuObjectBase WGpuRenderBundle
Definition lib_webgpu.h:2406
int WGPU_BUFFER_USAGE_FLAGS
Definition lib_webgpu.h:622
WGpuObjectBase WGpuPipelineBase
Definition lib_webgpu.h:1583
void(* WGpuOnSubmittedWorkDoneCallback)(WGpuQueue queue, void *userData)
Definition lib_webgpu.h:2507
int WGPU_PRIMITIVE_TOPOLOGY
Definition lib_webgpu.h:1607
int WGPU_TEXTURE_VIEW_DIMENSION
Definition lib_webgpu.h:782
int WGPU_ERROR_FILTER
Definition lib_webgpu.h:2678
WGpuObjectBase WGpuCommandBuffer
Definition lib_webgpu.h:1997
int WGPU_LOAD_OP
Definition lib_webgpu.h:2375
int WGPU_COMPILATION_MESSAGE_TYPE
Definition lib_webgpu.h:1448
int WGPU_MAP_MODE_FLAGS
Definition lib_webgpu.h:642
WGpuObjectBase WGpuBuffer
Definition lib_webgpu.h:553
WGpuObjectBase WGpuTextureView
Definition lib_webgpu.h:744
int WGPU_FRONT_FACE
Definition lib_webgpu.h:1642
WGpuObjectBase WGpuCanvasContext
Definition lib_webgpu.h:2576
int WGPU_MIPMAP_FILTER_MODE
Definition lib_webgpu.h:1134
WGpuObjectBase WGpuTexture
Definition lib_webgpu.h:664
WGpuObjectBase WGpuQuerySet
Definition lib_webgpu.h:2526
int WGPU_CANVAS_ALPHA_MODE
Definition lib_webgpu.h:2614
int WGPU_TEXTURE_USAGE_FLAGS
Definition lib_webgpu.h:731
WGpuObjectBase WGpuRenderCommandsMixin
Definition lib_webgpu.h:2256
void(* WGpuLoadImageBitmapCallback)(WGpuImageBitmap bitmap, int width, int height, void *userData)
Definition lib_webgpu.h:2970
int WGPU_VERTEX_STEP_MODE
Definition lib_webgpu.h:1940
int WGPU_BLEND_OPERATION
Definition lib_webgpu.h:1781
WGpuObjectBase WGpuBindingCommandsMixin
Definition lib_webgpu.h:2169
WGpuObjectBase WGpuSampler
Definition lib_webgpu.h:1071
WGpuObjectBase WGpuPipelineLayout
Definition lib_webgpu.h:1385
WGpuObjectBase WGpuQueue
Definition lib_webgpu.h:2493
int WGPU_SHADER_STAGE_FLAGS
Definition lib_webgpu.h:1188
int WGPU_ERROR_TYPE
Definition lib_webgpu.h:2645
int WGPU_STENCIL_OPERATION
Definition lib_webgpu.h:1838
int WGPU_INDEX_FORMAT
Definition lib_webgpu.h:1855
int HTML_PREDEFINED_COLOR_SPACE
Definition lib_webgpu.h:242
WGpuObjectBase WGpuCommandEncoder
Definition lib_webgpu.h:2072
void(* WGpuCreatePipelineCallback)(WGpuDevice device, WGpuPipelineError *error, WGpuPipelineBase pipeline, void *userData)
Definition lib_webgpu.h:519
WGpuObjectBase WGpuShaderModule
Definition lib_webgpu.h:1403
int WGPU_POWER_PREFERENCE
Definition lib_webgpu.h:348
int WGPU_COLOR_WRITE_FLAGS
Definition lib_webgpu.h:1718
int WGPU_DEVICE_LOST_REASON
Definition lib_webgpu.h:2625
void(* WGpuGetCompilationInfoCallback)(WGpuShaderModule shaderModule, WGpuCompilationInfo *compilationInfo NOTNULL, void *userData)
Definition lib_webgpu.h:1407
WGpuObjectBase WGpuBindGroup
Definition lib_webgpu.h:1338
int WGPU_BUFFER_MAP_STATE
Definition lib_webgpu.h:586
WGpuObjectBase WGpuComputePipeline
Definition lib_webgpu.h:1564
WGpuObjectBase WGpuAdapter
Definition lib_webgpu.h:364
WGpuObjectBase WGpuExternalTexture
Definition lib_webgpu.h:1045
struct _WGpuObject * WGpuObjectBase
Definition lib_webgpu_fwd.h:38
uint64_t double_int53_t
Definition lib_webgpu_fwd.h:24
#define NOTNULL
Definition lib_webgpu_fwd.h:30
line height
Definition meshpage.php:3536
n< br > font size
Definition meshpage.php:3536
Definition lib_webgpu.h:257
Definition lib_webgpu.h:1359
Definition lib_webgpu.h:2948
Definition lib_webgpu.h:1733
Definition lib_webgpu.h:2918
Definition lib_webgpu.h:1236
Definition lib_webgpu.h:600
Definition lib_webgpu.h:2804
Definition lib_webgpu.h:2924
Definition lib_webgpu.h:2760
Definition lib_webgpu.h:2006
Definition lib_webgpu.h:2102
Definition lib_webgpu.h:1505
Definition lib_webgpu.h:1467
Definition lib_webgpu.h:2232
Definition lib_webgpu.h:2895
Definition lib_webgpu.h:418
Definition lib_webgpu.h:115
Definition lib_webgpu.h:1328
Definition lib_webgpu.h:1056
Definition lib_webgpu.h:1680
Definition lib_webgpu.h:2122
Definition lib_webgpu.h:2865
Definition lib_webgpu.h:2882
Definition lib_webgpu.h:2873
Definition lib_webgpu.h:1668
Definition lib_webgpu.h:102
Definition lib_webgpu.h:2772
Definition lib_webgpu.h:2785
Definition lib_webgpu.h:1550
Definition lib_webgpu.h:511
const char * message
Definition lib_webgpu.h:513
Definition lib_webgpu.h:1627
Definition lib_webgpu.h:2540
Definition lib_webgpu.h:2415
Definition lib_webgpu.h:2457
Definition lib_webgpu.h:2854
Definition lib_webgpu.h:2353
Definition lib_webgpu.h:2842
Definition lib_webgpu.h:2937
Definition lib_webgpu.h:329
Definition lib_webgpu.h:1262
Definition lib_webgpu.h:1090
Definition lib_webgpu.h:1434
Definition lib_webgpu.h:1819
Definition lib_webgpu.h:1316
Definition lib_webgpu.h:160
Definition lib_webgpu.h:1292
Definition lib_webgpu.h:693
Definition lib_webgpu.h:761
Definition lib_webgpu.h:1985
Definition lib_webgpu.h:1968
Definition lib_webgpu.h:1951
Definition lib_webgpu_dawn.cc:54