diff --git a/src/bgfx_compute.sh b/src/bgfx_compute.sh index 641dda89a..a58ae1ddf 100644 --- a/src/bgfx_compute.sh +++ b/src/bgfx_compute.sh @@ -25,22 +25,22 @@ #define UIMAGE2D_RO(_name, _format, _reg) Texture2D<_format> _name : register(t[_reg]) #define IMAGE2D_WR( _name, _format, _reg) RWTexture2D<_format> _name : register(u[_reg]) #define UIMAGE2D_WR(_name, _format, _reg) RWTexture2D<_format> _name : register(u[_reg]) -#define IMAGE2D_RW( _name, _reg) RWTexture2D _name : register(u[_reg]) -#define UIMAGE2D_RW(_name, _reg) RWTexture2D _name : register(u[_reg]) +#define IMAGE2D_RW( _name, _reg) RWTexture2D _name : register(u[_reg]) +#define UIMAGE2D_RW(_name, _reg) RWTexture2D _name : register(u[_reg]) #define IMAGE2D_ARRAY_RO( _name, _format, _reg) Texture2DArray<_format> _name : register(t[_reg]) #define UIMAGE2D_ARRAY_RO(_name, _format, _reg) Texture2DArray<_format> _name : register(t[_reg]) #define IMAGE2D_ARRAY_WR( _name, _format, _reg) RWTexture2DArray<_format> _name : register(u[_reg]) #define UIMAGE2D_ARRAY_WR(_name, _format, _reg) RWTexture2DArray<_format> _name : register(u[_reg]) -#define IMAGE2D_ARRAY_RW( _name, _reg) RWTexture2DArray _name : register(u[_reg]) -#define UIMAGE2D_ARRAY_RW(_name, _reg) RWTexture2DArray _name : register(u[_reg]) +#define IMAGE2D_ARRAY_RW( _name, _reg) RWTexture2DArray _name : register(u[_reg]) +#define UIMAGE2D_ARRAY_RW(_name, _reg) RWTexture2DArray _name : register(u[_reg]) #define IMAGE3D_RO( _name, _format, _reg) Texture3D<_format> _name : register(t[_reg]) #define UIMAGE3D_RO(_name, _format, _reg) Texture3D<_format> _name : register(t[_reg]) #define IMAGE3D_WR( _name, _format, _reg) RWTexture3D<_format> _name : register(u[_reg]) #define UIMAGE3D_WR(_name, _format, _reg) RWTexture3D<_format> _name : register(u[_reg]) -#define IMAGE3D_RW( _name, _reg) RWTexture3D _name : register(u[_reg]) -#define UIMAGE3D_RW(_name, _reg) RWTexture3D _name : register(u[_reg]) +#define IMAGE3D_RW( _name, _reg) RWTexture3D _name : register(u[_reg]) +#define UIMAGE3D_RW(_name, _reg) RWTexture3D _name : register(u[_reg]) #define BUFFER_RO(_name, _struct, _reg) Buffer<_struct> _name : register(t[_reg]) #define BUFFER_RW(_name, _struct, _reg) RWBuffer<_struct> _name : register(u[_reg]) @@ -48,9 +48,9 @@ #define NUM_THREADS(_x, _y, _z) [numthreads(_x, _y, _z)] -#define __IMAGE_IMPL(_textureType, _storeComponents, _type, _loadComponents) \ +#define __IMAGE_IMPL(_textureType, _storeComponents, _type, _loadComponents) \ _type imageLoad( Texture2D<_textureType> _image, ivec2 _uv) { return _image[_uv ]._loadComponents; } \ - _type imageLoad(RWTexture2DArray<_textureType> _image, ivec3 _uvw) { return _image[_uvw ]._loadComponents; } \ + _type imageLoad(RWTexture2DArray<_textureType> _image, ivec3 _uvw) { return _image[_uvw ]._loadComponents; } \ _type imageLoad( Texture3D<_textureType> _image, ivec3 _uvw) { return _image[_uvw]._loadComponents; } \ _type imageLoad( RWTexture2D<_textureType> _image, ivec2 _uv) { return _image[_uv ]._loadComponents; } \ _type imageLoad(RWTexture2DArray<_textureType> _image, ivec3 _uvw, _type _value) { return _image[_uvw]._loadComponents; } \ @@ -100,15 +100,15 @@ ivec2 imageSize(RWTexture2D _image) return result; } -#define __ATOMIC_IMPL_TYPE(_genType, _glFunc, _dxFunc) \ +#define __ATOMIC_IMPL_TYPE(_genType, _glFunc, _dxFunc) \ _genType _glFunc(_genType _mem, _genType _data) \ - { \ - _genType result; \ - _dxFunc(_mem, _data, result); \ - return result; \ + { \ + _genType result; \ + _dxFunc(_mem, _data, result); \ + return result; \ } -#define __ATOMIC_IMPL(_glFunc, _dxFunc) \ +#define __ATOMIC_IMPL(_glFunc, _dxFunc) \ __ATOMIC_IMPL_TYPE(int, _glFunc, _dxFunc) \ __ATOMIC_IMPL_TYPE(uint, _glFunc, _dxFunc) @@ -156,27 +156,27 @@ uint atomicCompSwap(uint _mem, uint _compare, uint _data) #define UIMAGE2D_RO(_name, _format, _reg) __IMAGE_XX(_name, _format, _reg, uimage2D, readonly) #define IMAGE2D_WR( _name, _format, _reg) __IMAGE_XX(_name, _format, _reg, image2D, writeonly) #define UIMAGE2D_WR(_name, _format, _reg) __IMAGE_XX(_name, _format, _reg, uimage2D, writeonly) -#define IMAGE2D_RW( _name, _reg) __IMAGE_XX(_name, r32f, _reg, image2D, readwrite) -#define UIMAGE2D_RW(_name, _reg) __IMAGE_XX(_name, r32ui, _reg, uimage2D, readwrite) +#define IMAGE2D_RW( _name, _reg) __IMAGE_XX(_name, r32f, _reg, image2D, readwrite) +#define UIMAGE2D_RW(_name, _reg) __IMAGE_XX(_name, r32ui, _reg, uimage2D, readwrite) #define IMAGE2D_ARRAY_RO( _name, _format, _reg) __IMAGE_XX(_name, _format, _reg, image2DArray, readonly) #define UIMAGE2D_ARRAY_RO(_name, _format, _reg) __IMAGE_XX(_name, _format, _reg, uimage2DArray, readonly) #define IMAGE2D_ARRAY_WR( _name, _format, _reg) __IMAGE_XX(_name, _format, _reg, image2DArray, writeonly) #define UIMAGE2D_ARRAY_WR(_name, _format, _reg) __IMAGE_XX(_name, _format, _reg, uimage2DArray, writeonly) -#define IMAGE2D_ARRAY_RW( _name, _reg) __IMAGE_XX(_name, r32f, _reg, image2DArray, readwrite) -#define UIMAGE2D_ARRAY_RW(_name, _reg) __IMAGE_XX(_name, r32ui, _reg, uimage2DArray, readwrite) +#define IMAGE2D_ARRAY_RW( _name, _reg) __IMAGE_XX(_name, r32f, _reg, image2DArray, readwrite) +#define UIMAGE2D_ARRAY_RW(_name, _reg) __IMAGE_XX(_name, r32ui, _reg, uimage2DArray, readwrite) #define IMAGE3D_RO( _name, _format, _reg) __IMAGE_XX(_name, _format, _reg, image3D, readonly) #define UIMAGE3D_RO(_name, _format, _reg) __IMAGE_XX(_name, _format, _reg, uimage3D, readonly) #define IMAGE3D_WR( _name, _format, _reg) __IMAGE_XX(_name, _format, _reg, image3D, writeonly) #define UIMAGE3D_WR(_name, _format, _reg) __IMAGE_XX(_name, _format, _reg, uimage3D, writeonly) -#define IMAGE3D_RW( _name, _reg) __IMAGE_XX(_name, r32f, _reg, image2D, readwrite) -#define UIMAGE3D_RW(_name, _reg) __IMAGE_XX(_name, r32ui, _reg, uimage2D, readwrite) +#define IMAGE3D_RW( _name, _reg) __IMAGE_XX(_name, r32f, _reg, image3D, readwrite) +#define UIMAGE3D_RW(_name, _reg) __IMAGE_XX(_name, r32ui, _reg, uimage3D, readwrite) -#define __BUFFER_XX(_name, _type, _reg, _access) \ +#define __BUFFER_XX(_name, _type, _reg, _access) \ layout(std430, binding=_reg) _access buffer _name ## Buffer \ - { \ - _type _name[]; \ + { \ + _type _name[]; \ } #define BUFFER_RO(_name, _type, _reg) __BUFFER_XX(_name, _type, _reg, readonly)