aboutsummaryrefslogtreecommitdiff
path: root/demo/DemoAppD3D11/computeContextD3D11.h
diff options
context:
space:
mode:
Diffstat (limited to 'demo/DemoAppD3D11/computeContextD3D11.h')
-rw-r--r--demo/DemoAppD3D11/computeContextD3D11.h86
1 files changed, 81 insertions, 5 deletions
diff --git a/demo/DemoAppD3D11/computeContextD3D11.h b/demo/DemoAppD3D11/computeContextD3D11.h
index 43ad5b1..a8a2189 100644
--- a/demo/DemoAppD3D11/computeContextD3D11.h
+++ b/demo/DemoAppD3D11/computeContextD3D11.h
@@ -12,19 +12,95 @@
#include "../DemoApp/computeContext.h"
-struct ComputeContextDesc
+struct ComputeContextDescD3D11
{
ID3D11Device* device;
ID3D11DeviceContext* deviceContext;
};
-struct ComputeResourceDesc
+struct ComputeResourceDescD3D11
{
ID3D11ShaderResourceView* srv;
};
-struct ComputeResourceRWDesc
+struct ComputeResourceRWDescD3D11
{
- ComputeResourceDesc resource;
+ ComputeResourceDescD3D11 resource;
ID3D11UnorderedAccessView* uav;
-}; \ No newline at end of file
+};
+
+inline const ComputeContextDescD3D11* cast_to_ComputeContextDescD3D11(const ComputeContextDesc* desc)
+{
+ return (const ComputeContextDescD3D11*)(desc);
+}
+
+inline ComputeContextDesc* cast_from_ComputeContextDescD3D11(ComputeContextDescD3D11* desc)
+{
+ return (ComputeContextDesc*)(desc);
+}
+
+inline const ComputeResourceDescD3D11* cast_to_ComputeResourceDescD3D11(const ComputeResourceDesc* desc)
+{
+ return (const ComputeResourceDescD3D11*)(desc);
+}
+
+inline const ComputeResourceDesc* cast_from_ComputeResourceDescD3D11(const ComputeResourceDescD3D11* desc)
+{
+ return (const ComputeResourceDesc*)(desc);
+}
+
+inline const ComputeResourceRWDescD3D11* cast_to_ComputeResourceRWDescD3D11(const ComputeResourceRWDesc* desc)
+{
+ return (const ComputeResourceRWDescD3D11*)(desc);
+}
+
+inline ComputeResourceRWDesc* cast_from_ComputeResourceRWDescD3D11(ComputeResourceRWDescD3D11* desc)
+{
+ return (ComputeResourceRWDesc*)(desc);
+}
+
+COMPUTE_API ComputeContext* ComputeContextCreateD3D11(ComputeContextDesc* desc);
+
+COMPUTE_API void ComputeContextUpdateD3D11(ComputeContext* context, ComputeContextDesc* desc);
+
+COMPUTE_API void ComputeContextReleaseD3D11(ComputeContext* context);
+
+COMPUTE_API ComputeShader* ComputeShaderCreateD3D11(ComputeContext* context, const ComputeShaderDesc* desc);
+
+COMPUTE_API void ComputeShaderReleaseD3D11(ComputeShader* shader);
+
+COMPUTE_API ComputeConstantBuffer* ComputeConstantBufferCreateD3D11(ComputeContext* context, const ComputeConstantBufferDesc* desc);
+
+COMPUTE_API void ComputeConstantBufferReleaseD3D11(ComputeConstantBuffer* constantBuffer);
+
+COMPUTE_API void* ComputeConstantBufferMapD3D11(ComputeContext* context, ComputeConstantBuffer* constantBuffer);
+
+COMPUTE_API void ComputeConstantBufferUnmapD3D11(ComputeContext* context, ComputeConstantBuffer* constantBuffer);
+
+COMPUTE_API ComputeResource* ComputeResourceCreateD3D11(ComputeContext* context, const ComputeResourceDesc* desc);
+
+COMPUTE_API void ComputeResourceUpdateD3D11(ComputeContext* context, ComputeResource* resource, const ComputeResourceDesc* desc);
+
+COMPUTE_API void ComputeResourceReleaseD3D11(ComputeResource* resource);
+
+COMPUTE_API ComputeResourceRW* ComputeResourceRWCreateD3D11(ComputeContext* context, const ComputeResourceRWDesc* desc);
+
+COMPUTE_API void ComputeResourceRWUpdateD3D11(ComputeContext* context, ComputeResourceRW* resourceRW, const ComputeResourceRWDesc* desc);
+
+COMPUTE_API void ComputeResourceRWReleaseD3D11(ComputeResourceRW* resourceRW);
+
+COMPUTE_API ComputeResource* ComputeResourceRWGetResourceD3D11(ComputeResourceRW* resourceRW);
+
+COMPUTE_API void ComputeContextDispatchD3D11(ComputeContext* context, const ComputeDispatchParams* params);
+
+COMPUTE_API ComputeContext* ComputeContextNvFlowContextCreateD3D11(NvFlowContext* flowContext);
+
+COMPUTE_API void ComputeContextNvFlowContextUpdateD3D11(ComputeContext* computeContext, NvFlowContext* flowContext);
+
+COMPUTE_API ComputeResource* ComputeResourceNvFlowCreateD3D11(ComputeContext* context, NvFlowContext* flowContext, NvFlowResource* flowResource);
+
+COMPUTE_API void ComputeResourceNvFlowUpdateD3D11(ComputeContext* context, ComputeResource* resource, NvFlowContext* flowContext, NvFlowResource* flowResource);
+
+COMPUTE_API ComputeResourceRW* ComputeResourceRWNvFlowCreateD3D11(ComputeContext* context, NvFlowContext* flowContext, NvFlowResourceRW* flowResourceRW);
+
+COMPUTE_API void ComputeResourceRWNvFlowUpdateD3D11(ComputeContext* context, ComputeResourceRW* resourceRW, NvFlowContext* flowContext, NvFlowResourceRW* flowResourceRW); \ No newline at end of file