blob: 897837e13c0a4c136542b764b3b917b822d85e5d [file] [log] [blame]
//
// Copyright 2016 Google Inc.
//
// Use of this source code is governed by a BSD-style
// license that can be found in the LICENSE file.
//
#ifndef HS_GLSL_MACROS_VENDOR_ONCE
#define HS_GLSL_MACROS_VENDOR_ONCE
//
//
//
#include "../hs_glsl_macros.h"
//
// OVERRIDE SUBGROUP LANE ID
//
#define HS_GLSL_SUBGROUP_SIZE()
#define HS_SUBGROUP_PREAMBLE()
#define HS_SUBGROUP_ID() gl_SubgroupID
#define HS_SUBGROUP_LANE_ID() gl_SubgroupInvocationID
//
// CHOOSE A COMPARE-EXCHANGE IMPLEMENTATION
//
#if (HS_KEY_WORDS == 1)
#define HS_CMP_XCHG(a,b) HS_CMP_XCHG_V0(a,b)
#elif (HS_KEY_WORDS == 2)
#define HS_CMP_XCHG(a,b) HS_CMP_XCHG_V3(a,b)
#endif
//
// CHOOSE A CONDITIONAL MIN/MAX IMPLEMENTATION
//
#if (HS_KEY_WORDS == 1)
#define HS_COND_MIN_MAX(lt,a,b) HS_COND_MIN_MAX_V0(lt,a,b)
#elif (HS_KEY_WORDS == 2)
#define HS_COND_MIN_MAX(lt,a,b) HS_COND_MIN_MAX_V0(lt,a,b)
#endif
//
//
//
#endif
//
//
//