#!amber # Copyright 2020 Valve Corporation. # Copyright 2020 The Khronos Group Inc. # # 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 # # http://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 vert_shader PASSTHROUGH SHADER fragment frag_shader GLSL #version 450 layout(push_constant, std430) uniform PushConstants { uint op1; uint op2; } pushConstants; layout(location=0) out vec4 out_color; void main() { out_color = vec4(~(pushConstants.op1^pushConstants.op2)); } END BUFFER framebuffer0 FORMAT B8G8R8A8_UNORM BUFFER push_constants DATA_TYPE uint32 STD430 DATA 0xaaaaaaab 0x55555555 END PIPELINE graphics graphics_pipeline ATTACH vert_shader ATTACH frag_shader FRAMEBUFFER_SIZE 16 16 BIND BUFFER framebuffer0 AS color LOCATION 0 BIND BUFFER push_constants AS push_constant END CLEAR graphics_pipeline RUN graphics_pipeline DRAW_RECT POS 0 0 SIZE 16 16 EXPECT framebuffer0 IDX 0 0 SIZE 16 16 EQ_RGBA 255 255 255 255