Skip to content

Commit 9221703

Browse files
committed
Add test vertex and fragment SPIRV
1 parent b1f81d7 commit 9221703

3 files changed

Lines changed: 132 additions & 0 deletions

File tree

Lines changed: 64 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,64 @@
1+
/*
2+
===========================================================================
3+
4+
Daemon BSD Source Code
5+
Copyright (c) 2025 Daemon Developers
6+
All rights reserved.
7+
8+
This file is part of the Daemon BSD Source Code (Daemon Source Code).
9+
10+
Redistribution and use in source and binary forms, with or without
11+
modification, are permitted provided that the following conditions are met:
12+
* Redistributions of source code must retain the above copyright
13+
notice, this list of conditions and the following disclaimer.
14+
* Redistributions in binary form must reproduce the above copyright
15+
notice, this list of conditions and the following disclaimer in the
16+
documentation and/or other materials provided with the distribution.
17+
* Neither the name of the Daemon developers nor the
18+
names of its contributors may be used to endorse or promote products
19+
derived from this software without specific prior written permission.
20+
21+
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
22+
ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
23+
WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
24+
DISCLAIMED. IN NO EVENT SHALL DAEMON DEVELOPERS BE LIABLE FOR ANY
25+
DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
26+
(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
27+
LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
28+
ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
29+
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
30+
SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
31+
32+
===========================================================================
33+
*/
34+
35+
/* TestF.glsl */
36+
37+
#include "Common.glsl"
38+
39+
struct Vertex {
40+
vec3 position;
41+
};
42+
43+
BufferRS restrict VertexCache {
44+
Vertex vertices[];
45+
};
46+
47+
BufferWS restrict IndexCache {
48+
uint indices[];
49+
};
50+
51+
layout ( scalar, push_constant ) uniform Push {
52+
MsgStreamRead msgStreamRead;
53+
MsgStreamWrite msgStreamWrite;
54+
VertexCache vertexCache;
55+
IndexCache indexCache;
56+
} push;
57+
58+
layout ( location = 0 ) in vec3 inColour;
59+
60+
layout ( location = 0 ) out vec4 outColour;
61+
62+
void main() {
63+
outColour = vec4( inColour, 1.0 );
64+
}
Lines changed: 66 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,66 @@
1+
/*
2+
===========================================================================
3+
4+
Daemon BSD Source Code
5+
Copyright (c) 2025 Daemon Developers
6+
All rights reserved.
7+
8+
This file is part of the Daemon BSD Source Code (Daemon Source Code).
9+
10+
Redistribution and use in source and binary forms, with or without
11+
modification, are permitted provided that the following conditions are met:
12+
* Redistributions of source code must retain the above copyright
13+
notice, this list of conditions and the following disclaimer.
14+
* Redistributions in binary form must reproduce the above copyright
15+
notice, this list of conditions and the following disclaimer in the
16+
documentation and/or other materials provided with the distribution.
17+
* Neither the name of the Daemon developers nor the
18+
names of its contributors may be used to endorse or promote products
19+
derived from this software without specific prior written permission.
20+
21+
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
22+
ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
23+
WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
24+
DISCLAIMED. IN NO EVENT SHALL DAEMON DEVELOPERS BE LIABLE FOR ANY
25+
DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
26+
(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
27+
LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
28+
ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
29+
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
30+
SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
31+
32+
===========================================================================
33+
*/
34+
35+
/* TestV.glsl */
36+
37+
#include "Common.glsl"
38+
39+
struct Vertex {
40+
vec3 position;
41+
};
42+
43+
BufferRS restrict VertexCache {
44+
Vertex vertices[];
45+
};
46+
47+
BufferWS restrict IndexCache {
48+
uint indices[];
49+
};
50+
51+
layout ( scalar, push_constant ) uniform Push {
52+
MsgStreamRead msgStreamRead;
53+
MsgStreamWrite msgStreamWrite;
54+
VertexCache vertexCache;
55+
IndexCache indexCache;
56+
} push;
57+
58+
layout ( location = 0 ) out vec3 outColour;
59+
60+
void main() {
61+
Vertex vertex = push.vertexCache.vertices[gl_VertexIndex];
62+
63+
gl_Position = vertex.position;
64+
65+
outColour = vec3( 0.0, 1.0, 0.0 );
66+
}

src/engine/renderer-vulkan/src.cmake

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -116,6 +116,8 @@ set( graphicsEngineListH
116116

117117
set( graphicsEngineList
118118
MsgStream.glsl
119+
TestV.glsl
120+
TestF.glsl
119121
)
120122

121123
set( graphicsEngineIDEList ${graphicsEngineList} )

0 commit comments

Comments
 (0)