blob: 75c260fea4195b5a0f282956d087dccce444a51e [file]
#ifndef DECLARE_UNIFORM_FLOAT
#define DECLARE_UNIFORM_FLOAT(UNIFORM_NAME) float UNIFORM_NAME;
#endif
#ifndef DECLARE_UNIFORM_UINT
#define DECLARE_UNIFORM_UINT(UNIFORM_NAME) uint UNIFORM_NAME;
#endif
#ifndef DECLARE_UNIFORM_INT4
#define DECLARE_UNIFORM_INT4(UNIFORM_NAME) int4 UNIFORM_NAME;
#endif
#ifndef DECLARE_UNIFORM_FLOAT2
#define DECLARE_UNIFORM_FLOAT2(UNIFORM_NAME) float2 UNIFORM_NAME;
#endif
#ifndef DECLARE_UNIFORM_FLOAT4
#define DECLARE_UNIFORM_FLOAT4(UNIFORM_NAME) float4 UNIFORM_NAME;
#endif
#ifndef FLUSH_UNIFORMS_NAME
#define FLUSH_UNIFORMS_NAME @FlushUniforms
#endif
UNIFORM_BLOCK_BEGIN(FLUSH_UNIFORM_BUFFER_IDX, FLUSH_UNIFORMS_NAME)
DECLARE_UNIFORM_FLOAT(gradInverseViewportY)
DECLARE_UNIFORM_FLOAT(tessInverseViewportY)
DECLARE_UNIFORM_FLOAT(renderTargetInverseViewportX)
DECLARE_UNIFORM_FLOAT(renderTargetInverseViewportY)
DECLARE_UNIFORM_UINT(renderTargetWidth)
DECLARE_UNIFORM_UINT(renderTargetHeight)
// Only used if clears are implemented as draws.
DECLARE_UNIFORM_UINT(colorClearValue)
// Only used if clears are implemented as draws.
DECLARE_UNIFORM_UINT(coverageClearValue)
// drawBounds, or renderTargetBounds if there is a clear. (LTRB.)
DECLARE_UNIFORM_INT4(renderTargetUpdateBounds)
// 1 / [atlasWidth, atlasHeight]
DECLARE_UNIFORM_FLOAT2(atlasTextureInverseSize)
// 2 / atlasContentBounds
DECLARE_UNIFORM_FLOAT2(atlasContentInverseViewport)
DECLARE_UNIFORM_UINT(coverageBufferPrefix)
// GLSL doesn't appear to provide a lightweight, region-local barrier for memory
// ordering outside of memoryBarrier*(), which have severe consequences for
// tiling. When we are already relying on other API level barriers and only need
// to guard against instruction reordering, we can multiply by a tiny epsilon
// instead, and introduce artifical dependencies that enforce ordering but don't
// actually have an effect on the final outcome.
DECLARE_UNIFORM_FLOAT(epsilonForPseudoMemoryBarrier)
// Spacing between adjacent path IDs (1 if IEEE compliant).
DECLARE_UNIFORM_UINT(pathIDGranularity)
DECLARE_UNIFORM_FLOAT(vertexDiscardValue)
DECLARE_UNIFORM_FLOAT(mipMapLODBias)
DECLARE_UNIFORM_UINT(maxPathId)
DECLARE_UNIFORM_FLOAT(ditherScale)
DECLARE_UNIFORM_FLOAT(ditherBias)
// Amount by which to multiply a computed dither value when storing as RGB10 (as
// opposed to writing it out to the framebuffer).
DECLARE_UNIFORM_FLOAT(ditherConversionToRGB10)
// Debugging.
DECLARE_UNIFORM_UINT(wireframeEnabled)
UNIFORM_BLOCK_END(uniforms)