summaryrefslogtreecommitdiffstatshomepage
path: root/3rdparty/bgfx/examples/14-shadowvolumes/shadowvolumes.cpp
diff options
context:
space:
mode:
Diffstat (limited to '3rdparty/bgfx/examples/14-shadowvolumes/shadowvolumes.cpp')
-rw-r--r--3rdparty/bgfx/examples/14-shadowvolumes/shadowvolumes.cpp76
1 files changed, 38 insertions, 38 deletions
diff --git a/3rdparty/bgfx/examples/14-shadowvolumes/shadowvolumes.cpp b/3rdparty/bgfx/examples/14-shadowvolumes/shadowvolumes.cpp
index 8b08dec93cb..3ebe122d776 100644
--- a/3rdparty/bgfx/examples/14-shadowvolumes/shadowvolumes.cpp
+++ b/3rdparty/bgfx/examples/14-shadowvolumes/shadowvolumes.cpp
@@ -23,7 +23,7 @@ using namespace std::tr1;
#include <bx/timer.h>
#include <bx/allocator.h>
#include <bx/hash.h>
-#include <bx/float4_t.h>
+#include <bx/simd_t.h>
#include <bx/fpumath.h>
#include <bx/crtimpl.h>
#include "entry/entry.h"
@@ -1513,9 +1513,9 @@ void shadowVolumeCreate(ShadowVolume& _shadowVolume
using namespace bx;
- const float4_t lx = float4_splat(_light[0]);
- const float4_t ly = float4_splat(_light[1]);
- const float4_t lz = float4_splat(_light[2]);
+ const simd128_t lx = simd_splat(_light[0]);
+ const simd128_t ly = simd_splat(_light[1]);
+ const simd128_t lz = simd_splat(_light[2]);
for (; ii < numEdgesRounded; ii+=2)
{
@@ -1524,47 +1524,47 @@ void shadowVolumeCreate(ShadowVolume& _shadowVolume
const Plane* edgePlane0 = &edgePlanes[ii*2];
const Plane* edgePlane1 = &edgePlanes[ii*2 + 2];
- const float4_t reverse =
- float4_ild(edge0.m_faceReverseOrder[0]
+ const simd128_t reverse =
+ simd_ild(edge0.m_faceReverseOrder[0]
, edge1.m_faceReverseOrder[0]
, edge0.m_faceReverseOrder[1]
, edge1.m_faceReverseOrder[1]
);
- const float4_t p00 = float4_ld(edgePlane0[0].m_plane);
- const float4_t p10 = float4_ld(edgePlane1[0].m_plane);
- const float4_t p01 = float4_ld(edgePlane0[1].m_plane);
- const float4_t p11 = float4_ld(edgePlane1[1].m_plane);
-
- const float4_t xxyy0 = float4_shuf_xAyB(p00, p01);
- const float4_t zzww0 = float4_shuf_zCwD(p00, p01);
- const float4_t xxyy1 = float4_shuf_xAyB(p10, p11);
- const float4_t zzww1 = float4_shuf_zCwD(p10, p11);
-
- const float4_t vX = float4_shuf_xAyB(xxyy0, xxyy1);
- const float4_t vY = float4_shuf_zCwD(xxyy0, xxyy1);
- const float4_t vZ = float4_shuf_xAyB(zzww0, zzww1);
- const float4_t vW = float4_shuf_zCwD(zzww0, zzww1);
-
- const float4_t r0 = float4_mul(vX, lx);
- const float4_t r1 = float4_mul(vY, ly);
- const float4_t r2 = float4_mul(vZ, lz);
-
- const float4_t dot = float4_add(r0, float4_add(r1, r2) );
- const float4_t f = float4_add(dot, vW);
-
- const float4_t zero = float4_zero();
- const float4_t mask = float4_cmpgt(f, zero);
- const float4_t onef = float4_splat(1.0f);
- const float4_t tmp0 = float4_and(mask, onef);
- const float4_t tmp1 = float4_ftoi(tmp0);
- const float4_t tmp2 = float4_xor(tmp1, reverse);
- const float4_t tmp3 = float4_sll(tmp2, 1);
- const float4_t onei = float4_isplat(1);
- const float4_t tmp4 = float4_isub(tmp3, onei);
+ const simd128_t p00 = simd_ld(edgePlane0[0].m_plane);
+ const simd128_t p10 = simd_ld(edgePlane1[0].m_plane);
+ const simd128_t p01 = simd_ld(edgePlane0[1].m_plane);
+ const simd128_t p11 = simd_ld(edgePlane1[1].m_plane);
+
+ const simd128_t xxyy0 = simd_shuf_xAyB(p00, p01);
+ const simd128_t zzww0 = simd_shuf_zCwD(p00, p01);
+ const simd128_t xxyy1 = simd_shuf_xAyB(p10, p11);
+ const simd128_t zzww1 = simd_shuf_zCwD(p10, p11);
+
+ const simd128_t vX = simd_shuf_xAyB(xxyy0, xxyy1);
+ const simd128_t vY = simd_shuf_zCwD(xxyy0, xxyy1);
+ const simd128_t vZ = simd_shuf_xAyB(zzww0, zzww1);
+ const simd128_t vW = simd_shuf_zCwD(zzww0, zzww1);
+
+ const simd128_t r0 = simd_mul(vX, lx);
+ const simd128_t r1 = simd_mul(vY, ly);
+ const simd128_t r2 = simd_mul(vZ, lz);
+
+ const simd128_t dot = simd_add(r0, simd_add(r1, r2) );
+ const simd128_t f = simd_add(dot, vW);
+
+ const simd128_t zero = simd_zero();
+ const simd128_t mask = simd_cmpgt(f, zero);
+ const simd128_t onef = simd_splat(1.0f);
+ const simd128_t tmp0 = simd_and(mask, onef);
+ const simd128_t tmp1 = simd_ftoi(tmp0);
+ const simd128_t tmp2 = simd_xor(tmp1, reverse);
+ const simd128_t tmp3 = simd_sll(tmp2, 1);
+ const simd128_t onei = simd_isplat(1);
+ const simd128_t tmp4 = simd_isub(tmp3, onei);
BX_ALIGN_DECL_16(int32_t res[4]);
- float4_st(&res, tmp4);
+ simd_st(&res, tmp4);
for (uint16_t jj = 0; jj < 2; ++jj)
{