aboutsummaryrefslogtreecommitdiff
path: root/include/NvFlowTypes.h
blob: 487809ff7ba16817fd16809dbac10a6279b04f41 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
/*
 * Copyright (c) 2014-2017, NVIDIA CORPORATION.  All rights reserved.
 *
 * NVIDIA CORPORATION and its licensors retain all intellectual property
 * and proprietary rights in and to this software, related documentation
 * and any modifications thereto.  Any use, reproduction, disclosure or
 * distribution of this software and related documentation without an express
 * license agreement from NVIDIA CORPORATION is strictly prohibited.
 */

#pragma once

#define NV_FLOW_API extern "C" __declspec(dllexport)

enum NvFlowResult
{
	eNvFlowSuccess = 0,
	eNvFlowFail = 1
};

typedef int NvFlowInt;
typedef unsigned int NvFlowUint;
typedef unsigned long long NvFlowUint64;

struct NvFlowDim
{
	NvFlowUint x, y, z;
};

struct NvFlowUint2
{
	NvFlowUint x, y;
};

struct NvFlowUint3
{
	NvFlowUint x, y, z;
};

struct NvFlowUint4
{
	NvFlowUint x, y, z, w;
};

struct NvFlowFloat3
{
	float x, y, z;
};

struct NvFlowFloat4
{
	float x, y, z, w;
};

struct NvFlowFloat4x4
{
	NvFlowFloat4 x, y, z, w;
};

enum NvFlowFormat
{
	eNvFlowFormat_unknown = 0,

	eNvFlowFormat_r32_float = 1,
	eNvFlowFormat_r32g32_float = 2,
	eNvFlowFormat_r32g32b32a32_float = 3,

	eNvFlowFormat_r16_float = 4,
	eNvFlowFormat_r16g16_float = 5,
	eNvFlowFormat_r16g16b16a16_float = 6,

	eNvFlowFormat_r32_uint = 7,
	eNvFlowFormat_r32g32_uint = 8,
	eNvFlowFormat_r32g32b32a32_uint = 9,

	eNvFlowFormat_r8_unorm = 10,
	eNvFlowFormat_r8g8_unorm = 11,
	eNvFlowFormat_r8g8b8a8_unorm = 12,

	eNvFlowFormat_r16_unorm = 13,
	eNvFlowFormat_r16g16_unorm = 14,
	eNvFlowFormat_r16g16b16a16_unorm = 15,

	eNvFlowFormat_d32_float = 16,
	eNvFlowFormat_d24_unorm_s8_uint = 17,

	eNvFlowFormat_r8_snorm = 18,
	eNvFlowFormat_r8g8_snorm = 19,
	eNvFlowFormat_r8g8b8a8_snorm = 20,

	eNvFlowFormat_r32_typeless = 21,
	eNvFlowFormat_r24_unorm_x8_typeless = 22,
	eNvFlowFormat_r24g8_typeless = 23,

	eNvFlowFormat_r16_typeless = 24,
	eNvFlowFormat_d16_unorm = 25,

	eNvFlowFormat_max
};