Skip to content

Commit 455cba7

Browse files
committed
✨🚧 Apply the enhancement of interopPlugin to samplePlugin
1 parent 808906a commit 455cba7

File tree

7 files changed

+15
-31
lines changed

7 files changed

+15
-31
lines changed

Plugin/SampleBasic/include/action_sample_texture.h

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,6 @@ class ActionSampleTexture : public Action
1717

1818
private:
1919
Texture *_texture;
20-
cudaSurfaceObject_t _surf;
2120
};
2221
} // namespace SampleBasic
2322

Plugin/SampleBasic/include/action_sample_texture_array.h

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,6 @@ namespace SampleBasic {
1515

1616
private:
1717
Texture* _texture;
18-
cudaSurfaceObject_t* _surf;
1918
};
2019
} // namespace SampleBasic
2120

Plugin/SampleBasic/include/sample_kernels.cuh

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,8 +9,9 @@
99
void kernelCallerWriteTexture(const dim3 dimGrid, const dim3 dimBlock,
1010
cudaSurfaceObject_t inputSurfaceObj,
1111
const float t, const int width, const int height);
12+
1213
void kernelCallerWriteTextureArray(const dim3 dimGrid, const dim3 dimBlock,
13-
cudaSurfaceObject_t inputSurfaceObj,
14+
cudaSurfaceObject_t* inputSurfaceObj,
1415
const float time, const int width,
1516
const int height, const int depth);
1617

Plugin/SampleBasic/src/action_sample_texture.cpp

Lines changed: 4 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -10,30 +10,28 @@ ActionSampleTexture::ActionSampleTexture(void *texturePtr, int width,
1010
: Action()
1111
{
1212
_texture = CreateTextureInterop(texturePtr, width, height, 1);
13-
_surf = 0;
1413
}
1514

1615
inline int ActionSampleTexture::Start()
1716
{
1817
_texture->registerTextureInCUDA();
19-
_surf = _texture->mapTextureToSurfaceObject();
18+
_texture->mapTextureToSurfaceObject();
2019
return 0;
2120
}
2221

2322
int ActionSampleTexture::Update()
2423
{
25-
// _texture->copyUnityTextureToAPITexture();
2624
kernelCallerWriteTexture(_texture->getDimGrid(), _texture->getDimBlock(),
27-
_surf, GetTime(), _texture->getWidth(),
25+
_texture->getSurfaceObject(), GetTime(), _texture->getWidth(),
2826
_texture->getHeight());
2927
// cudaDeviceSynchronize();
3028
return 0;
3129
}
3230

3331
inline int ActionSampleTexture::OnDestroy()
3432
{
35-
_texture->unMapTextureToSurfaceObject(_surf);
36-
_texture->unRegisterTextureInCUDA();
33+
_texture->unmapTextureToSurfaceObject();
34+
_texture->unregisterTextureInCUDA();
3735
return 0;
3836
}
3937

Plugin/SampleBasic/src/action_sample_texture_array.cpp

Lines changed: 4 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -10,40 +10,29 @@ ActionSampleTextureArray::ActionSampleTextureArray(void *texturePtr, int width,
1010
: Action()
1111
{
1212
_texture = CreateTextureInterop(texturePtr, width, height, depth);
13-
_surf = new cudaSurfaceObject_t[depth];
14-
for(int i=0; i<depth; i++)
15-
{
16-
_surf[i] = 0;
17-
}
1813
}
1914

2015
inline int ActionSampleTextureArray::Start()
2116
{
2217
_texture->registerTextureInCUDA();
23-
_surf = _texture->mapTextureArrayToSurfaceObject();
18+
_texture->mapTextureToSurfaceObject();
2419
return 0;
2520
}
2621

2722
int ActionSampleTextureArray::Update()
2823
{
2924
kernelCallerWriteTextureArray(
3025
_texture->getDimGrid(), _texture->getDimBlock(),
31-
_surf[0], GetTime(), _texture->getWidth(),
32-
_texture->getHeight(), _texture->getDepth());
33-
kernelCallerWriteTextureArray(
34-
_texture->getDimGrid(), _texture->getDimBlock(),
35-
_surf[1], 2*GetTime(), _texture->getWidth(),
26+
_texture->getSurfaceObjectArray(), GetTime(), _texture->getWidth(),
3627
_texture->getHeight(), _texture->getDepth());
37-
3828
cudaDeviceSynchronize();
3929
return 0;
4030
}
4131

4232
inline int ActionSampleTextureArray::OnDestroy()
4333
{
44-
_texture->unMapTextureToSurfaceObject(_surf[0]);
45-
_texture->unRegisterTextureInCUDA();
46-
delete(_surf);
34+
_texture->unmapTextureToSurfaceObject();
35+
_texture->unregisterTextureInCUDA();
4736
return 0;
4837
}
4938

Plugin/SampleBasic/src/action_sample_vertex_buffer.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@ namespace SampleBasic {
3333

3434
inline int ActionSampleVertexBuffer::OnDestroy()
3535
{
36-
_vertexBuffer->unRegisterBufferInCUDA();
36+
_vertexBuffer->unregisterBufferInCUDA();
3737
return 0;
3838
}
3939

Plugin/SampleBasic/src/sample_kernels.cu

Lines changed: 4 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ __global__ void writeTex(cudaSurfaceObject_t surf, int width, int height,
1515
}
1616
}
1717

18-
__global__ void writeTexArray(cudaSurfaceObject_t surf, int width, int height,
18+
__global__ void writeTexArray(cudaSurfaceObject_t* surf, int width, int height,
1919
int depth, float time)
2020
{
2121
const unsigned int x = blockIdx.x * blockDim.x + threadIdx.x;
@@ -27,7 +27,7 @@ __global__ void writeTexArray(cudaSurfaceObject_t surf, int width, int height,
2727

2828
float4 t = make_float4(z % 2, abs(cos(time)), 0, 1.0f);
2929

30-
surf3Dwrite(t, surf, sizeof(float4) * x, y, z);
30+
surf2Dwrite(t, surf[z], sizeof(float4) * x, y);
3131
}
3232
}
3333

@@ -52,13 +52,11 @@ void kernelCallerWriteTexture(const dim3 dimGrid, const dim3 dimBlock,
5252
}
5353

5454
void kernelCallerWriteTextureArray(const dim3 dimGrid, const dim3 dimBlock,
55-
cudaSurfaceObject_t inputSurfaceObj,
55+
cudaSurfaceObject_t* inputSurfaceObj,
5656
const float time, const int width,
5757
const int height, const int depth)
5858
{
59-
// writeTexArray<<<dimGrid, dimBlock>>>(inputSurfaceObj, width,
60-
// height,depth, time);
61-
writeTex<<<dimGrid, dimBlock>>>(inputSurfaceObj, width, height, time);
59+
writeTexArray<<<dimGrid, dimBlock>>>(inputSurfaceObj, width, height, depth, time);
6260
}
6361

6462
void kernelCallerWriteBuffer(const dim3 dimGrid, const dim3 dimBlock,

0 commit comments

Comments
 (0)