diff --git a/libs/filabridge/include/private/filament/UibStructs.h b/libs/filabridge/include/private/filament/UibStructs.h index 6ea4232633..8536ddccba 100644 --- a/libs/filabridge/include/private/filament/UibStructs.h +++ b/libs/filabridge/include/private/filament/UibStructs.h @@ -209,12 +209,12 @@ struct PerViewUib { // NOLINT(cppcoreguidelines-pro-type-member-init) float es2Reserved2; // bring PerViewUib to 2 KiB - math::float4 reserved[38]; + math::float4 reserved[22]; }; // 2 KiB == 128 float4s -static_assert(sizeof(PerViewUib) == sizeof(math::float4) * 144, - "PerViewUib should be 16 x 144 bytes"); +static_assert(sizeof(PerViewUib) == sizeof(math::float4) * 128, + "PerViewUib should be exactly 2KiB"); // ------------------------------------------------------------------------------------------------ // MARK: - diff --git a/shaders/src/common_getters.glsl b/shaders/src/common_getters.glsl index 70540800ed..2d6425ae93 100644 --- a/shaders/src/common_getters.glsl +++ b/shaders/src/common_getters.glsl @@ -51,11 +51,21 @@ highp mat4 getEyeFromViewMatrix() { return frameUniforms.eyeFromViewMatrix[getEyeIndex()]; } +/** @public-api */ +highp mat4 getEyeFromViewMatrix(int eyeIndex) { + return frameUniforms.eyeFromViewMatrix[eyeIndex]; +} + /** @public-api */ highp mat4 getClipFromWorldMatrix() { return frameUniforms.clipFromWorldMatrix[getEyeIndex()]; } +/** @public-api */ +highp mat4 getClipFromWorldMatrix(int eyeIndex) { + return frameUniforms.clipFromWorldMatrix[eyeIndex]; +} + /** @public-api */ highp mat4 getWorldFromClipMatrix() { return frameUniforms.worldFromClipMatrix;