The open source OpenXR runtime
1// Copyright 2021-2022, Collabora Ltd.
2// Author: Jakob Bornecrantz <jakob@collabora.com>
3// SPDX-License-Identifier: BSL-1.0
4
5#version 460
6#extension GL_GOOGLE_include_directive : require
7
8#include "srgb.inc.glsl"
9
10
11layout(local_size_x = 8, local_size_y = 8, local_size_z = 1) in;
12
13layout(set = 0, binding = 2) uniform writeonly restrict image2D target;
14layout(set = 0, binding = 3) uniform restrict Config
15{
16 ivec4 views[2];
17 vec4 pre_transform[2];
18 vec4 post_transform[2];
19 mat4 transform[2];
20} data;
21
22
23void main()
24{
25 uint ix = gl_GlobalInvocationID.x;
26 uint iy = gl_GlobalInvocationID.y;
27 uint iz = gl_GlobalInvocationID.z;
28
29 ivec2 offset = ivec2(data.views[iz].xy);
30 ivec2 extent = ivec2(data.views[iz].zw);
31
32 if (ix >= extent.x || iy >= extent.y) {
33 return;
34 }
35
36 vec4 colour = vec4(0, 0, 0, 1.0);
37
38 imageStore(target, ivec2(offset.x + ix, offset.y + iy), colour);
39}