summaryrefslogtreecommitdiffstats
path: root/Tests/TestApp/src/TestBufferCreation.cpp
diff options
context:
space:
mode:
authorEgor Yusov <egor.yusov@gmail.com>2018-08-27 00:09:03 +0000
committerEgor Yusov <egor.yusov@gmail.com>2018-08-27 00:09:03 +0000
commit57b27983564952bee0100dcce350361aa32c9494 (patch)
tree99b7ff2a9464ad236578ea725bd7b1b8d858099a /Tests/TestApp/src/TestBufferCreation.cpp
parentUpdated readme: organized projects into a table (diff)
downloadDiligentEngine-57b27983564952bee0100dcce350361aa32c9494.tar.gz
DiligentEngine-57b27983564952bee0100dcce350361aa32c9494.zip
Updated core & tools (implemented raw buffers plus other improvements)
Diffstat (limited to 'Tests/TestApp/src/TestBufferCreation.cpp')
-rw-r--r--Tests/TestApp/src/TestBufferCreation.cpp48
1 files changed, 43 insertions, 5 deletions
diff --git a/Tests/TestApp/src/TestBufferCreation.cpp b/Tests/TestApp/src/TestBufferCreation.cpp
index 5af3777..7ea1fdd 100644
--- a/Tests/TestApp/src/TestBufferCreation.cpp
+++ b/Tests/TestApp/src/TestBufferCreation.cpp
@@ -114,15 +114,26 @@ TestBufferCreation::TestBufferCreation(Diligent::IRenderDevice *pDevice, Diligen
Diligent::BufferDesc BuffDesc;
BuffDesc.Name = "Buffer creation test 2";
BuffDesc.uiSizeInBytes = 256;
- BuffDesc.BindFlags = BIND_INDIRECT_DRAW_ARGS | BIND_UNORDERED_ACCESS;
+ BuffDesc.BindFlags = BIND_UNORDERED_ACCESS | BIND_SHADER_RESOURCE;
BuffDesc.Mode = BUFFER_MODE_FORMATTED;
- BuffDesc.Format.NumComponents = 4;
- BuffDesc.Format.ValueType = VT_INT32;
- BuffDesc.Format.IsNormalized = false;
+ BuffDesc.ElementByteStride = 16;
RefCntAutoPtr<IBuffer> pBuffer;
pDevice->CreateBuffer(BuffDesc, BufferData(), &pBuffer);
VERIFY_EXPR(pBuffer);
+ BufferViewDesc ViewDesc;
+ ViewDesc.ViewType = BUFFER_VIEW_SHADER_RESOURCE;
+ ViewDesc.ByteOffset = 32;
+ ViewDesc.Format.NumComponents = 4;
+ ViewDesc.Format.ValueType = VT_FLOAT32;
+ ViewDesc.Format.IsNormalized = false;
+ RefCntAutoPtr<IBufferView> pBufferSRV;
+ pBuffer->CreateView(ViewDesc, &pBufferSRV);
+
+ ViewDesc.ViewType = BUFFER_VIEW_UNORDERED_ACCESS;
+ RefCntAutoPtr<IBufferView> pBufferUAV;
+ pBuffer->CreateView(ViewDesc, &pBufferUAV);
+
pTestCreateObjFromNativeRes->CreateBuffer(pBuffer);
++BuffersCreated;
}
@@ -155,7 +166,34 @@ TestBufferCreation::TestBufferCreation(Diligent::IRenderDevice *pDevice, Diligen
pTestCreateObjFromNativeRes->CreateBuffer(pBuffer);
++BuffersCreated;
}
-
+
+ {
+ Diligent::BufferDesc BuffDesc;
+ BuffDesc.Name = "Buffer creation test 5";
+ BuffDesc.uiSizeInBytes = 256;
+ BuffDesc.BindFlags = BIND_VERTEX_BUFFER | BIND_INDEX_BUFFER | BIND_UNORDERED_ACCESS | BIND_SHADER_RESOURCE;
+ BuffDesc.Mode = BUFFER_MODE_RAW;
+ BuffDesc.ElementByteStride = 16;
+ RefCntAutoPtr<IBuffer> pBuffer;
+ pDevice->CreateBuffer(BuffDesc, BufferData(), &pBuffer);
+ VERIFY_EXPR(pBuffer);
+
+ BufferViewDesc ViewDesc;
+ ViewDesc.ViewType = BUFFER_VIEW_UNORDERED_ACCESS;
+ ViewDesc.ByteOffset = 32;
+ ViewDesc.Format.NumComponents = 4;
+ ViewDesc.Format.ValueType = VT_FLOAT32;
+ RefCntAutoPtr<IBufferView> pBufferUAV;
+ pBuffer->CreateView(ViewDesc, &pBufferUAV);
+
+ ViewDesc.ViewType = BUFFER_VIEW_SHADER_RESOURCE;
+ RefCntAutoPtr<IBufferView> pBufferSRV;
+ pBuffer->CreateView(ViewDesc, &pBufferSRV);
+
+ pTestCreateObjFromNativeRes->CreateBuffer(pBuffer);
+ ++BuffersCreated;
+ }
+
std::stringstream infoss;
infoss << "Created " << BuffersCreated << " test buffers.";
SetStatus(TestResult::Succeeded, infoss.str().c_str());