summaryrefslogtreecommitdiffstats
path: root/tools/gfx/debug-layer.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'tools/gfx/debug-layer.cpp')
-rw-r--r--tools/gfx/debug-layer.cpp95
1 files changed, 38 insertions, 57 deletions
diff --git a/tools/gfx/debug-layer.cpp b/tools/gfx/debug-layer.cpp
index 7cc714e0d..6d735fb8d 100644
--- a/tools/gfx/debug-layer.cpp
+++ b/tools/gfx/debug-layer.cpp
@@ -1076,12 +1076,6 @@ void DebugComputeCommandEncoder::dispatchComputeIndirect(
baseObject->dispatchComputeIndirect(getInnerObj(cmdBuffer), offset);
}
-void DebugComputeCommandEncoder::writeTimestamp(IQueryPool* pool, SlangInt index)
-{
- SLANG_GFX_API_FUNC;
- baseObject->writeTimestamp(static_cast<DebugQueryPool*>(pool)->baseObject, index);
-}
-
void DebugRenderCommandEncoder::endEncoding()
{
SLANG_GFX_API_FUNC;
@@ -1189,12 +1183,6 @@ void DebugRenderCommandEncoder::setStencilReference(uint32_t referenceValue)
return baseObject->setStencilReference(referenceValue);
}
-void DebugRenderCommandEncoder::writeTimestamp(IQueryPool* pool, SlangInt index)
-{
- SLANG_GFX_API_FUNC;
- baseObject->writeTimestamp(static_cast<DebugQueryPool*>(pool)->baseObject, index);
-}
-
Result DebugRenderCommandEncoder::setSamplePositions(
uint32_t samplesPerPixel, uint32_t pixelCount, const SamplePosition* samplePositions)
{
@@ -1232,13 +1220,13 @@ void DebugResourceCommandEncoder::endEncoding()
baseObject->endEncoding();
}
-void DebugResourceCommandEncoder::writeTimestamp(IQueryPool* pool, SlangInt index)
+void DebugResourceCommandEncoderImpl::writeTimestamp(IQueryPool* pool, SlangInt index)
{
SLANG_GFX_API_FUNC;
- baseObject->writeTimestamp(static_cast<DebugQueryPool*>(pool)->baseObject, index);
+ getBaseResourceEncoder()->writeTimestamp(static_cast<DebugQueryPool*>(pool)->baseObject, index);
}
-void DebugResourceCommandEncoder::copyBuffer(
+void DebugResourceCommandEncoderImpl::copyBuffer(
IBufferResource* dst,
size_t dstOffset,
IBufferResource* src,
@@ -1248,10 +1236,11 @@ void DebugResourceCommandEncoder::copyBuffer(
SLANG_GFX_API_FUNC;
auto dstImpl = static_cast<DebugBufferResource*>(dst);
auto srcImpl = static_cast<DebugBufferResource*>(src);
- baseObject->copyBuffer(dstImpl->baseObject, dstOffset, srcImpl->baseObject, srcOffset, size);
+ getBaseResourceEncoder()->copyBuffer(
+ dstImpl->baseObject, dstOffset, srcImpl->baseObject, srcOffset, size);
}
-void DebugResourceCommandEncoder::uploadBufferData(
+void DebugResourceCommandEncoderImpl::uploadBufferData(
IBufferResource* dst,
size_t offset,
size_t size,
@@ -1259,10 +1248,10 @@ void DebugResourceCommandEncoder::uploadBufferData(
{
SLANG_GFX_API_FUNC;
auto dstImpl = static_cast<DebugBufferResource*>(dst);
- baseObject->uploadBufferData(dstImpl->baseObject, offset, size, data);
+ getBaseResourceEncoder()->uploadBufferData(dstImpl->baseObject, offset, size, data);
}
-void DebugResourceCommandEncoder::textureBarrier(
+void DebugResourceCommandEncoderImpl::textureBarrier(
size_t count,
ITextureResource* const* textures,
ResourceState src,
@@ -1275,10 +1264,10 @@ void DebugResourceCommandEncoder::textureBarrier(
{
innerTextures.add(static_cast<DebugTextureResource*>(textures[i])->baseObject.get());
}
- baseObject->textureBarrier(count, innerTextures.getBuffer(), src, dst);
+ getBaseResourceEncoder()->textureBarrier(count, innerTextures.getBuffer(), src, dst);
}
-void DebugResourceCommandEncoder::bufferBarrier(
+void DebugResourceCommandEncoderImpl::bufferBarrier(
size_t count,
IBufferResource* const* buffers,
ResourceState src,
@@ -1291,10 +1280,10 @@ void DebugResourceCommandEncoder::bufferBarrier(
{
innerBuffers.add(static_cast<DebugBufferResource*>(buffers[i])->baseObject.get());
}
- baseObject->bufferBarrier(count, innerBuffers.getBuffer(), src, dst);
+ getBaseResourceEncoder()->bufferBarrier(count, innerBuffers.getBuffer(), src, dst);
}
-void DebugResourceCommandEncoder::copyTexture(
+void DebugResourceCommandEncoderImpl::copyTexture(
ITextureResource* dst,
ResourceState dstState,
SubresourceRange dstSubresource,
@@ -1306,7 +1295,7 @@ void DebugResourceCommandEncoder::copyTexture(
ITextureResource::Size extent)
{
SLANG_GFX_API_FUNC;
- baseObject->copyTexture(
+ getBaseResourceEncoder()->copyTexture(
getInnerObj(dst),
dstState,
dstSubresource,
@@ -1318,7 +1307,7 @@ void DebugResourceCommandEncoder::copyTexture(
extent);
}
-void DebugResourceCommandEncoder::uploadTextureData(
+void DebugResourceCommandEncoderImpl::uploadTextureData(
ITextureResource* dst,
SubresourceRange subResourceRange,
ITextureResource::Offset3D offset,
@@ -1327,11 +1316,11 @@ void DebugResourceCommandEncoder::uploadTextureData(
size_t subResourceDataCount)
{
SLANG_GFX_API_FUNC;
- baseObject->uploadTextureData(
+ getBaseResourceEncoder()->uploadTextureData(
getInnerObj(dst), subResourceRange, offset, extent, subResourceData, subResourceDataCount);
}
-void DebugResourceCommandEncoder::clearResourceView(
+void DebugResourceCommandEncoderImpl::clearResourceView(
IResourceView* view, ClearValue* clearValue, ClearResourceViewFlags::Enum flags)
{
SLANG_GFX_API_FUNC;
@@ -1347,10 +1336,10 @@ void DebugResourceCommandEncoder::clearResourceView(
"RenderTarget or UnorderedAccess views can be cleared.",
getDebugObj(view)->uid);
}
- baseObject->clearResourceView(getInnerObj(view), clearValue, flags);
+ getBaseResourceEncoder()->clearResourceView(getInnerObj(view), clearValue, flags);
}
-void DebugResourceCommandEncoder::resolveResource(
+void DebugResourceCommandEncoderImpl::resolveResource(
ITextureResource* source,
ResourceState sourceState,
SubresourceRange sourceRange,
@@ -1359,17 +1348,18 @@ void DebugResourceCommandEncoder::resolveResource(
SubresourceRange destRange)
{
SLANG_GFX_API_FUNC;
- baseObject->resolveResource(getInnerObj(source), sourceState, sourceRange, getInnerObj(dest), destState, destRange);
+ getBaseResourceEncoder()->resolveResource(
+ getInnerObj(source), sourceState, sourceRange, getInnerObj(dest), destState, destRange);
}
-void DebugResourceCommandEncoder::resolveQuery(
+void DebugResourceCommandEncoderImpl::resolveQuery(
IQueryPool* queryPool, uint32_t index, uint32_t count, IBufferResource* buffer, uint64_t offset)
{
SLANG_GFX_API_FUNC;
- baseObject->resolveQuery(getInnerObj(queryPool), index, count, buffer, offset);
+ getBaseResourceEncoder()->resolveQuery(getInnerObj(queryPool), index, count, buffer, offset);
}
-void DebugResourceCommandEncoder::copyTextureToBuffer(
+void DebugResourceCommandEncoderImpl::copyTextureToBuffer(
IBufferResource* dst,
size_t dstOffset,
size_t dstSize,
@@ -1380,32 +1370,38 @@ void DebugResourceCommandEncoder::copyTextureToBuffer(
ITextureResource::Size extent)
{
SLANG_GFX_API_FUNC;
- baseObject->copyTextureToBuffer(
+ getBaseResourceEncoder()->copyTextureToBuffer(
getInnerObj(dst), dstOffset, dstSize, getInnerObj(src), srcState, srcSubresource, srcOffset, extent);
}
-void DebugResourceCommandEncoder::textureSubresourceBarrier(
+void DebugResourceCommandEncoderImpl::textureSubresourceBarrier(
ITextureResource* texture,
SubresourceRange subresourceRange,
ResourceState src,
ResourceState dst)
{
SLANG_GFX_API_FUNC;
- baseObject->textureSubresourceBarrier(getInnerObj(texture), subresourceRange, src, dst);
+ getBaseResourceEncoder()->textureSubresourceBarrier(
+ getInnerObj(texture), subresourceRange, src, dst);
}
-void DebugRayTracingCommandEncoder::endEncoding()
+void DebugResourceCommandEncoderImpl::beginDebugEvent(const char* name, float rgbColor[3])
{
SLANG_GFX_API_FUNC;
- isOpen = false;
- baseObject->endEncoding();
+ getBaseResourceEncoder()->beginDebugEvent(name, rgbColor);
}
-SLANG_NO_THROW void SLANG_MCALL
- DebugRayTracingCommandEncoder::writeTimestamp(IQueryPool* pool, SlangInt index)
+void DebugResourceCommandEncoderImpl::endDebugEvent()
{
SLANG_GFX_API_FUNC;
- baseObject->writeTimestamp(static_cast<DebugQueryPool*>(pool)->baseObject, index);
+ getBaseResourceEncoder()->endDebugEvent();
+}
+
+void DebugRayTracingCommandEncoder::endEncoding()
+{
+ SLANG_GFX_API_FUNC;
+ isOpen = false;
+ baseObject->endEncoding();
}
void DebugRayTracingCommandEncoder::buildAccelerationStructure(
@@ -1477,21 +1473,6 @@ void DebugRayTracingCommandEncoder::deserializeAccelerationStructure(
baseObject->deserializeAccelerationStructure(getInnerObj(dest), source);
}
-void DebugRayTracingCommandEncoder::memoryBarrier(
- int count,
- IAccelerationStructure* const* structures,
- AccessFlag sourceAccess,
- AccessFlag destAccess)
-{
- SLANG_GFX_API_FUNC;
- List<IAccelerationStructure*> innerAS;
- for (int i = 0; i < count; i++)
- {
- innerAS.add(getInnerObj(structures[i]));
- }
- baseObject->memoryBarrier(count, innerAS.getBuffer(), sourceAccess, destAccess);
-}
-
void DebugRayTracingCommandEncoder::bindPipeline(
IPipelineState* state, IShaderObject** outRootObject)
{