1e5c31af7Sopenharmony_ci#!amber 2e5c31af7Sopenharmony_ci# Copyright 2019 The Amber Authors. 3e5c31af7Sopenharmony_ci# 4e5c31af7Sopenharmony_ci# Licensed under the Apache License, Version 2.0 (the "License"); 5e5c31af7Sopenharmony_ci# you may not use this file except in compliance with the License. 6e5c31af7Sopenharmony_ci# You may obtain a copy of the License at 7e5c31af7Sopenharmony_ci# 8e5c31af7Sopenharmony_ci# https://www.apache.org/licenses/LICENSE-2.0 9e5c31af7Sopenharmony_ci# 10e5c31af7Sopenharmony_ci# Unless required by applicable law or agreed to in writing, software 11e5c31af7Sopenharmony_ci# distributed under the License is distributed on an "AS IS" BASIS, 12e5c31af7Sopenharmony_ci# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13e5c31af7Sopenharmony_ci# See the License for the specific language governing permissions and 14e5c31af7Sopenharmony_ci# limitations under the License. 15e5c31af7Sopenharmony_ci 16e5c31af7Sopenharmony_ciSHADER vertex vert_shader PASSTHROUGH 17e5c31af7Sopenharmony_ciSHADER fragment frag_shader GLSL 18e5c31af7Sopenharmony_ci#version 430 19e5c31af7Sopenharmony_ci 20e5c31af7Sopenharmony_cistruct s { 21e5c31af7Sopenharmony_ci float d; 22e5c31af7Sopenharmony_ci float e; 23e5c31af7Sopenharmony_ci}; 24e5c31af7Sopenharmony_ci 25e5c31af7Sopenharmony_cilayout(location = 0) out vec4 color_out; 26e5c31af7Sopenharmony_cilayout(std140, binding = 0) readonly buffer Data { 27e5c31af7Sopenharmony_ci float a; 28e5c31af7Sopenharmony_ci float b; 29e5c31af7Sopenharmony_ci s c; 30e5c31af7Sopenharmony_ci} data; 31e5c31af7Sopenharmony_ci 32e5c31af7Sopenharmony_civoid main() { 33e5c31af7Sopenharmony_ci color_out = vec4(data.a/255, data.b/255, data.c.d/255, data.c.e/255); 34e5c31af7Sopenharmony_ci} 35e5c31af7Sopenharmony_ciEND 36e5c31af7Sopenharmony_ci 37e5c31af7Sopenharmony_ciSTRUCT s 38e5c31af7Sopenharmony_ci float d 39e5c31af7Sopenharmony_ci float e 40e5c31af7Sopenharmony_ciEND 41e5c31af7Sopenharmony_ci 42e5c31af7Sopenharmony_ciSTRUCT my_data 43e5c31af7Sopenharmony_ci float a 44e5c31af7Sopenharmony_ci float b 45e5c31af7Sopenharmony_ci s c 46e5c31af7Sopenharmony_ciEND 47e5c31af7Sopenharmony_ci 48e5c31af7Sopenharmony_ci 49e5c31af7Sopenharmony_ciBUFFER data DATA_TYPE my_data STD140 DATA 50e5c31af7Sopenharmony_ci 1 # a 51e5c31af7Sopenharmony_ci 64 # b 52e5c31af7Sopenharmony_ci128 # c.d 53e5c31af7Sopenharmony_ci220 # c.e 54e5c31af7Sopenharmony_ciEND 55e5c31af7Sopenharmony_ci 56e5c31af7Sopenharmony_ciBUFFER framebuffer FORMAT B8G8R8A8_UNORM 57e5c31af7Sopenharmony_ci 58e5c31af7Sopenharmony_ciPIPELINE graphics my_pipeline 59e5c31af7Sopenharmony_ci ATTACH vert_shader 60e5c31af7Sopenharmony_ci ATTACH frag_shader 61e5c31af7Sopenharmony_ci 62e5c31af7Sopenharmony_ci BIND BUFFER framebuffer AS color LOCATION 0 63e5c31af7Sopenharmony_ci BIND BUFFER data AS storage DESCRIPTOR_SET 0 BINDING 0 64e5c31af7Sopenharmony_ciEND 65e5c31af7Sopenharmony_ci 66e5c31af7Sopenharmony_ciRUN my_pipeline DRAW_RECT POS 0 0 SIZE 250 250 67e5c31af7Sopenharmony_ciEXPECT framebuffer IDX 0 0 SIZE 250 250 EQ_RGBA 1 64 128 220 68