From 7826afcaad78cc33c976bb3db3cdc9eada4c77e8 Mon Sep 17 00:00:00 2001 From: Ellie Hermaszewska Date: Wed, 18 Oct 2023 06:26:00 +0800 Subject: Type layouts for structured buffers with counters (#3269) * More tests for append structured buffer * Append and Consume structured buffer tests for DX12 * neaten * test wobble * Add counter layout information to append/consume structured buffers * add getRWStructuredBufferType * Correct definition of get size for append/consume structured buffers * tweak append structured buffer test * Allow initializing counter buffer in render test * vulkan test for consume structured buffer * Handle null counterVarLayout in getExplicitCounterBindingRangeOffset * remove dead code * Implement atomic counter increment/decrement for spirv * explicit spirv test * Add missing check on result * Hold on to counter resources --------- Co-authored-by: Yong He --- tools/gfx-util/shader-cursor.h | 7 +++++++ 1 file changed, 7 insertions(+) (limited to 'tools/gfx-util/shader-cursor.h') diff --git a/tools/gfx-util/shader-cursor.h b/tools/gfx-util/shader-cursor.h index 5dfc57f6d..3d35bb2ed 100644 --- a/tools/gfx-util/shader-cursor.h +++ b/tools/gfx-util/shader-cursor.h @@ -63,6 +63,13 @@ struct ShaderCursor return cursor; } + /// Some resources such as RWStructuredBuffer, AppendStructuredBuffer and + /// ConsumeStructuredBuffer need to have their counter explicitly bound on + /// APIs other than DirectX, this will return a valid ShaderCursor pointing + /// to that resource if that is the case. + /// Otherwise, this returns an invalid cursor. + ShaderCursor getExplicitCounter() const; + ShaderCursor getElement(GfxIndex index) const; static Result followPath(const char* path, ShaderCursor& ioCursor); -- cgit v1.2.3