yum-mirror/slang

Making it easier to work with shaders

git clone https://git.yummers.dev/yum-mirror/slang

Ellie Hermaszewskaformatf65d756bf

master
15.7 KiB165 linesraw
1#pragma once
2
3#define SLANG_GFX_FORWARD_RESOURCE_COMMAND_ENCODER_IMPL(ResourceCommandEncoderBase)              \
4    virtual SLANG_NO_THROW SlangResult SLANG_MCALL queryInterface(                               \
5        SlangUUID const& uuid,                                                                   \
6        void** outObject) override                                                               \
7    {                                                                                            \
8        return ResourceCommandEncoderBase::queryInterface(uuid, outObject);                      \
9    }                                                                                            \
10    virtual SLANG_NO_THROW uint32_t SLANG_MCALL addRef() override                                \
11    {                                                                                            \
12        return ResourceCommandEncoderBase::addRef();                                             \
13    }                                                                                            \
14    virtual SLANG_NO_THROW uint32_t SLANG_MCALL release() override                               \
15    {                                                                                            \
16        return ResourceCommandEncoderBase::release();                                            \
17    }                                                                                            \
18    virtual SLANG_NO_THROW void SLANG_MCALL copyBuffer(                                          \
19        IBufferResource* dst,                                                                    \
20        Offset dstOffset,                                                                        \
21        IBufferResource* src,                                                                    \
22        Offset srcOffset,                                                                        \
23        Size size) override                                                                      \
24    {                                                                                            \
25        ResourceCommandEncoderBase::copyBuffer(dst, dstOffset, src, srcOffset, size);            \
26    }                                                                                            \
27    virtual SLANG_NO_THROW void SLANG_MCALL copyTexture(                                         \
28        ITextureResource* dst,                                                                   \
29        ResourceState dstState,                                                                  \
30        SubresourceRange dstSubresource,                                                         \
31        ITextureResource::Offset3D dstOffset,                                                    \
32        ITextureResource* src,                                                                   \
33        ResourceState srcState,                                                                  \
34        SubresourceRange srcSubresource,                                                         \
35        ITextureResource::Offset3D srcOffset,                                                    \
36        ITextureResource::Extents extent) override                                               \
37    {                                                                                            \
38        ResourceCommandEncoderBase::copyTexture(                                                 \
39            dst,                                                                                 \
40            dstState,                                                                            \
41            dstSubresource,                                                                      \
42            dstOffset,                                                                           \
43            src,                                                                                 \
44            srcState,                                                                            \
45            srcSubresource,                                                                      \
46            srcOffset,                                                                           \
47            extent);                                                                             \
48    }                                                                                            \
49    virtual SLANG_NO_THROW void SLANG_MCALL copyTextureToBuffer(                                 \
50        IBufferResource* dst,                                                                    \
51        Offset dstOffset,                                                                        \
52        Size dstSize,                                                                            \
53        Size dstRowStride,                                                                       \
54        ITextureResource* src,                                                                   \
55        ResourceState srcState,                                                                  \
56        SubresourceRange srcSubresource,                                                         \
57        ITextureResource::Offset3D srcOffset,                                                    \
58        ITextureResource::Extents extent) override                                               \
59    {                                                                                            \
60        ResourceCommandEncoderBase::copyTextureToBuffer(                                         \
61            dst,                                                                                 \
62            dstOffset,                                                                           \
63            dstSize,                                                                             \
64            dstRowStride,                                                                        \
65            src,                                                                                 \
66            srcState,                                                                            \
67            srcSubresource,                                                                      \
68            srcOffset,                                                                           \
69            extent);                                                                             \
70    }                                                                                            \
71    virtual SLANG_NO_THROW void SLANG_MCALL uploadTextureData(                                   \
72        ITextureResource* dst,                                                                   \
73        SubresourceRange subResourceRange,                                                       \
74        ITextureResource::Offset3D offset,                                                       \
75        ITextureResource::Extents extent,                                                        \
76        ITextureResource::SubresourceData* subResourceData,                                      \
77        GfxCount subResourceDataCount) override                                                  \
78    {                                                                                            \
79        ResourceCommandEncoderBase::uploadTextureData(                                           \
80            dst,                                                                                 \
81            subResourceRange,                                                                    \
82            offset,                                                                              \
83            extent,                                                                              \
84            subResourceData,                                                                     \
85            subResourceDataCount);                                                               \
86    }                                                                                            \
87    virtual SLANG_NO_THROW void SLANG_MCALL                                                      \
88    uploadBufferData(IBufferResource* dst, Offset offset, Size size, void* data) override        \
89    {                                                                                            \
90        ResourceCommandEncoderBase::uploadBufferData(dst, offset, size, data);                   \
91    }                                                                                            \
92    virtual SLANG_NO_THROW void SLANG_MCALL textureBarrier(                                      \
93        GfxCount count,                                                                          \
94        ITextureResource* const* textures,                                                       \
95        ResourceState src,                                                                       \
96        ResourceState dst) override                                                              \
97    {                                                                                            \
98        ResourceCommandEncoderBase::textureBarrier(count, textures, src, dst);                   \
99    }                                                                                            \
100    virtual SLANG_NO_THROW void SLANG_MCALL textureSubresourceBarrier(                           \
101        ITextureResource* texture,                                                               \
102        SubresourceRange subresourceRange,                                                       \
103        ResourceState src,                                                                       \
104        ResourceState dst) override                                                              \
105    {                                                                                            \
106        ResourceCommandEncoderBase::textureSubresourceBarrier(                                   \
107            texture,                                                                             \
108            subresourceRange,                                                                    \
109            src,                                                                                 \
110            dst);                                                                                \
111    }                                                                                            \
112    virtual SLANG_NO_THROW void SLANG_MCALL bufferBarrier(                                       \
113        GfxCount count,                                                                          \
114        IBufferResource* const* buffers,                                                         \
115        ResourceState src,                                                                       \
116        ResourceState dst) override                                                              \
117    {                                                                                            \
118        ResourceCommandEncoderBase::bufferBarrier(count, buffers, src, dst);                     \
119    }                                                                                            \
120    virtual SLANG_NO_THROW void SLANG_MCALL clearResourceView(                                   \
121        IResourceView* view,                                                                     \
122        ClearValue* clearValue,                                                                  \
123        ClearResourceViewFlags::Enum flags) override                                             \
124    {                                                                                            \
125        ResourceCommandEncoderBase::clearResourceView(view, clearValue, flags);                  \
126    }                                                                                            \
127    virtual SLANG_NO_THROW void SLANG_MCALL resolveResource(                                     \
128        ITextureResource* source,                                                                \
129        ResourceState sourceState,                                                               \
130        SubresourceRange sourceRange,                                                            \
131        ITextureResource* dest,                                                                  \
132        ResourceState destState,                                                                 \
133        SubresourceRange destRange) override                                                     \
134    {                                                                                            \
135        ResourceCommandEncoderBase::resolveResource(                                             \
136            source,                                                                              \
137            sourceState,                                                                         \
138            sourceRange,                                                                         \
139            dest,                                                                                \
140            destState,                                                                           \
141            destRange);                                                                          \
142    }                                                                                            \
143    virtual SLANG_NO_THROW void SLANG_MCALL resolveQuery(                                        \
144        IQueryPool* queryPool,                                                                   \
145        GfxIndex index,                                                                          \
146        GfxCount count,                                                                          \
147        IBufferResource* buffer,                                                                 \
148        Offset offset) override                                                                  \
149    {                                                                                            \
150        ResourceCommandEncoderBase::resolveQuery(queryPool, index, count, buffer, offset);       \
151    }                                                                                            \
152    virtual SLANG_NO_THROW void SLANG_MCALL writeTimestamp(IQueryPool* pool, GfxIndex index)     \
153        override                                                                                 \
154    {                                                                                            \
155        ResourceCommandEncoderBase::writeTimestamp(pool, index);                                 \
156    }                                                                                            \
157    virtual SLANG_NO_THROW void SLANG_MCALL beginDebugEvent(const char* name, float rgbColor[3]) \
158        override                                                                                 \
159    {                                                                                            \
160        ResourceCommandEncoderBase::beginDebugEvent(name, rgbColor);                             \
161    }                                                                                            \
162    virtual SLANG_NO_THROW void SLANG_MCALL endDebugEvent() override                             \
163    {                                                                                            \
164        ResourceCommandEncoderBase::endDebugEvent();                                             \
165    }