Cleanup: GPUShaderShared: Complete vector support

Move some declaration from `GPU_shader_shared.h` to the main
common file and add missing vector declarations.
This commit is contained in:
2022-01-26 18:06:12 +01:00
parent b42adab3a2
commit 489b484b7b
2 changed files with 19 additions and 13 deletions

View File

@@ -25,13 +25,6 @@
# include "intern/gpu_shader_shared_utils.h" # include "intern/gpu_shader_shared_utils.h"
#endif #endif
#ifdef __cplusplus
using blender::float2;
using blender::float3;
using blender::float4;
using blender::float4x4;
#endif
struct NodeLinkData { struct NodeLinkData {
float4 colors[3]; float4 colors[3];
/* bezierPts Is actually a float2, but due to std140 each element needs to be aligned to 16 /* bezierPts Is actually a float2, but due to std140 each element needs to be aligned to 16

View File

@@ -73,31 +73,44 @@
# define bool3 bvec3 # define bool3 bvec3
# define bool4 bvec4 # define bool4 bvec4
#else /* C */ #else /* C / C++ */
# pragma once # pragma once
# include "BLI_assert.h" # include "BLI_assert.h"
# ifdef __cplusplus # ifdef __cplusplus
# include "BLI_float4x4.hh" # include "BLI_float4x4.hh"
# else # include "BLI_math_vec_types.hh"
using blender::float2;
using blender::float3;
using blender::float4;
using blender::float4x4;
using blender::int2;
using blender::int3;
using blender::int4;
using blender::uint2;
using blender::uint3;
using blender::uint4;
using bool1 = int;
using bool2 = blender::int2;
using bool3 = blender::int3;
using bool4 = blender::int4;
# else /* C */
typedef float float2[2]; typedef float float2[2];
typedef float float3[3]; typedef float float3[3];
typedef float float4[4]; typedef float float4[4];
typedef float float4x4[4][4]; typedef float float4x4[4][4];
# endif
typedef int int2[2]; typedef int int2[2];
typedef int int3[2]; typedef int int3[2];
typedef int int4[4]; typedef int int4[4];
typedef uint uint2[2]; typedef uint uint2[2];
typedef uint uint3[3]; typedef uint uint3[3];
typedef uint uint4[4]; typedef uint uint4[4];
typedef int int2[2];
typedef int int3[2];
typedef int int4[4];
typedef int bool1; typedef int bool1;
typedef int bool2[2]; typedef int bool2[2];
typedef int bool3[2]; typedef int bool3[2];
typedef int bool4[4]; typedef int bool4[4];
# endif
#endif #endif