aboutsummaryrefslogtreecommitdiff
path: root/tests/cases/draw_triangle_list_format.amber
blob: 894a9fb551a2fa7cc2ca702cd8437aaa833806f7 (plain)
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
#!amber
# Copyright 2020 The Amber Authors.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
#     https://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.

SHADER vertex vtex_shader GLSL
#version 430

layout(location = 0) in vec4 position;
layout(location = 1) in vec4 vert_color;
layout(location = 0) out vec4 frag_color;

void main() {
  gl_Position = position;
  frag_color = vert_color;
}
END
SHADER fragment frag_shader GLSL
#version 430

layout(location = 0) in vec4 frag_color;
layout(location = 0) out vec4 final_color;

void main() {
  final_color = frag_color;
}
END

BUFFER position_buf DATA_TYPE R8G8_SNORM DATA
-128 -128
   0  127 
-128  127 
-128 -128
   0  127 
   0 -128

   0 -128
 127  127 
   0  127
   0 -128
 127  127 
 127 -128
END

BUFFER vert_color DATA_TYPE R8G8B8A8_UNORM DATA
255 255 255 255
255 255 255 255
255 255 255 255
255 255 255 255
255 255 255 255
255 255 255 255
255 255 255 255
END

IMAGE framebuffer FORMAT B8G8R8A8_UNORM DIM_2D WIDTH 64 HEIGHT 64

PIPELINE graphics pipeline0
  ATTACH vtex_shader
  ATTACH frag_shader
  VERTEX_DATA position_buf LOCATION 0
  VERTEX_DATA vert_color LOCATION 1
  BIND BUFFER framebuffer AS color LOCATION 0
  FRAMEBUFFER_SIZE 64 64
END

PIPELINE graphics pipeline1
  ATTACH vtex_shader
  ATTACH frag_shader
  VERTEX_DATA position_buf LOCATION 0 OFFSET 12
  VERTEX_DATA vert_color LOCATION 1 FORMAT R8_UNORM
  BIND BUFFER framebuffer AS color LOCATION 0
  FRAMEBUFFER_SIZE 64 64
END

CLEAR pipeline0

RUN pipeline0 DRAW_ARRAY AS TRIANGLE_LIST START_IDX 0 COUNT 6
RUN pipeline1 DRAW_ARRAY AS TRIANGLE_LIST START_IDX 0 COUNT 6

EXPECT framebuffer IDX  0  0 SIZE 32 64 EQ_RGBA 255 255 255 255
EXPECT framebuffer IDX 32  0 SIZE 32 64 EQ_RGBA 255   0   0 255