RetroArch
Main Page
Related Pages
Modules
+
Namespaces
Namespace List
+
Namespace Members
+
All
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
z
+
Functions
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
r
s
t
u
v
w
z
+
Variables
a
b
d
e
f
g
h
i
k
l
m
n
o
p
r
s
t
u
v
w
+
Typedefs
a
b
c
d
e
f
g
i
l
m
o
p
q
r
s
t
u
v
x
+
Enumerations
a
b
c
d
e
f
g
i
k
l
m
o
p
q
r
s
t
v
+
Enumerator
a
b
c
d
e
f
g
i
k
l
m
o
p
r
s
t
u
x
+
Classes
Class List
Class Index
Class Hierarchy
+
Class Members
+
All
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
~
+
Functions
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
z
~
+
Variables
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
+
Typedefs
a
b
c
d
e
f
g
h
i
m
n
o
p
r
s
t
u
v
Enumerations
+
Enumerator
a
b
c
d
f
g
h
i
k
l
m
n
o
p
q
r
s
t
u
v
w
+
Properties
_
a
b
c
d
e
f
g
h
i
k
l
m
n
o
p
r
s
t
u
v
w
x
y
Related Functions
+
Files
File List
+
File Members
+
All
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Á
á
é
Ά
Ή
Α
Δ
Ε
Κ
Ο
Π
Σ
Ω
α
ε
θ
π
В
И
К
О
П
У
а
в
д
з
и
к
о
п
с
ф
ч
я
オ
キ
ス
チ
デ
レ
上
下
中
右
启
啟
回
実
屏
左
已
巻
支
显
次
聲
过
鍵
需
顯
게
구
너
넷
도
동
되
레
리
버
변
비
사
성
쉐
시
실
애
연
오
이
입
잘
조
죄
중
지
참
코
키
필
화
+
Functions
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Á
á
Ά
Ή
Α
Ε
Κ
Ο
К
П
а
д
з
к
オ
ス
デ
レ
上
下
中
右
启
啟
回
屏
左
巻
支
显
次
聲
顯
너
넷
동
레
버
비
시
잘
중
지
+
Variables
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
é
Δ
Ε
Κ
Π
Σ
Ω
α
ε
θ
π
В
И
К
О
У
в
д
з
и
к
о
п
с
ф
ч
я
キ
チ
実
已
过
鍵
需
게
구
도
되
리
변
사
성
쉐
시
실
애
연
오
이
입
조
죄
참
코
키
필
화
+
Typedefs
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
+
Enumerations
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
r
s
t
u
v
w
x
y
z
+
Enumerator
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
+
Macros
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
•
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Properties
Friends
Macros
Modules
Pages
gfx
drivers_shader
slang_preprocess.h
Go to the documentation of this file.
1
/* RetroArch - A frontend for libretro.
2
* Copyright (C) 2010-2017 - Hans-Kristian Arntzen
3
*
4
* RetroArch is free software: you can redistribute it and/or modify it under the terms
5
* of the GNU General Public License as published by the Free Software Found-
6
* ation, either version 3 of the License, or (at your option) any later version.
7
*
8
* RetroArch is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY;
9
* without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
10
* PURPOSE. See the GNU General Public License for more details.
11
*
12
* You should have received a copy of the GNU General Public License along with RetroArch.
13
* If not, see <http://www.gnu.org/licenses/>.
14
*/
15
16
#ifndef SLANG_PREPROCESS_H
17
#define SLANG_PREPROCESS_H
18
19
#include <
boolean.h
>
20
#include <
retro_common_api.h
>
21
#include "../video_driver.h"
22
23
RETRO_BEGIN_DECLS
24
25
/* Utility function to implement the same parameter reflection
26
* which happens in the slang backend.
27
* This does preprocess over the input file to handle #includes and so on. */
28
bool
slang_preprocess_parse_parameters
(
const
char
*shader_path,
29
struct
video_shader
*
shader
);
30
31
RETRO_END_DECLS
32
33
#ifdef __cplusplus
34
35
#include "
glslang_util.h
"
36
37
bool
slang_preprocess_parse_parameters
(glslang_meta& meta,
38
struct
video_shader
*
shader
);
39
#endif
40
41
#endif
42
shader
GLuint shader
Definition:
glext.h:6670
RETRO_BEGIN_DECLS
#define RETRO_BEGIN_DECLS
Definition:
retro_common_api.h:41
glslang_util.h
retro_common_api.h
video_shader
Definition:
video_shader_parse.h:143
slang_preprocess_parse_parameters
RETRO_BEGIN_DECLS bool slang_preprocess_parse_parameters(const char *shader_path, struct video_shader *shader)
Definition:
slang_preprocess.cpp:86
boolean.h
RETRO_END_DECLS
#define RETRO_END_DECLS
Definition:
retro_common_api.h:42
Generated by
1.8.15