From de3b25ab8245d3349fe65c876c4eb15aa5569ae8 Mon Sep 17 00:00:00 2001 From: cosmonaut Date: Tue, 15 Dec 2020 18:08:49 -0800 Subject: [PATCH] make more stuff opaque --- include/Refresh.h | 50 +++++++++++++++++------------------------------ 1 file changed, 18 insertions(+), 32 deletions(-) diff --git a/include/Refresh.h b/include/Refresh.h index 6afd1f8..a7b5fc0 100644 --- a/include/Refresh.h +++ b/include/Refresh.h @@ -56,7 +56,24 @@ extern "C" { typedef struct REFRESH_Texture REFRESH_Texture; typedef struct REFRESH_Buffer REFRESH_Buffer; -typedef struct REFRESH_RenderBuffer REFRESH_RenderBuffer; +typedef struct REFRESH_ColorTarget REFRESH_ColorTarget; +typedef struct REFRESH_DepthTarget REFRESH_DepthTarget; +typedef struct REFRESH_Framebuffer REFRESH_Framebuffer; +typedef struct REFRESH_RenderPass REFRESH_RenderPass; +typedef struct REFRESH_Pipeline REFRESH_Pipeline; + +typedef enum REFRESH_LoadOp +{ + REFRESH_LOADOP_LOAD, + REFRESH_LOADOP_CLEAR, + REFRESH_LOADOP_DONT_CARE +} REFRESH_LoadOp; + +typedef enum REFRESH_StoreOp +{ + REFRESH_STOREOP_STORE, + REFRESH_STOREOP_DONT_CARE +} REFRESH_StoreOp; typedef enum REFRESH_ClearOptions { @@ -141,37 +158,6 @@ typedef struct REFRESH_VertexBufferBinding int32_t instanceFrequency; } REFRESH_VertexBufferBinding; -typedef struct REFRESH_RenderTargetBinding -{ - #define REFRESH_RENDERTARGET_TYPE_2D 0 - #define REFRESH_RENDERTARGET_TYPE_3D 1 - #define REFRESH_RENDERTARGET_TYPE_CUBE 2 - uint8_t type; - REFRESHNAMELESS union - { - struct - { - uint32_t width; - uint32_t height; - } twod; - struct - { - uint32_t width; - uint32_t height; - uint32_t layer; - } threed; - struct - { - uint32_t size; - REFRESH_CubeMapFace face; - } cube; - }; - uint32_t levelCount; - uint32_t multiSampleCount; - REFRESH_RenderBuffer *renderBuffer; - REFRESH_Texture *texture; -} REFRESH_RenderTargetBinding; - /* Version API */ #define REFRESH_ABI_VERSION 0