summaryrefslogtreecommitdiffstats
path: root/source/slang/slang-ir-lower-append-consume-structured-buffer.h
blob: aacab31a37b4a8bf32e69d86e4fdb1eac54b8e98 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
// slang-ir-lower-append-consume-structured-buffer.h
#pragma once

#include "slang-ir.h"

namespace Slang
{
struct IRModule;
class DiagnosticSink;
class TargetProgram;

/// For non-hlsl targets, lower append- and consume- structured buffers into `struct` types
/// that contains two RWStructuredBuffer typed fields, one to store the elements, and one
/// for the atomic buffer.
void lowerAppendConsumeStructuredBuffers(
    TargetProgram* target,
    IRModule* module,
    DiagnosticSink* sink);

} // namespace Slang