diff --git a/include/Refresh.h b/include/Refresh.h index b4642dc..737e057 100644 --- a/include/Refresh.h +++ b/include/Refresh.h @@ -54,64 +54,64 @@ extern "C" { /* Type Declarations */ -typedef struct REFRESH_Device REFRESH_Device; -typedef struct REFRESH_Buffer REFRESH_Buffer; -typedef struct REFRESH_Texture REFRESH_Texture; -typedef struct REFRESH_DepthStencilTexture REFRESH_DepthStencilTexture; -typedef struct REFRESH_Sampler REFRESH_Sampler; -typedef struct REFRESH_ColorTarget REFRESH_ColorTarget; -typedef struct REFRESH_DepthStencilTarget REFRESH_DepthStencilTarget; -typedef struct REFRESH_Framebuffer REFRESH_Framebuffer; -typedef struct REFRESH_ShaderModule REFRESH_ShaderModule; -typedef struct REFRESH_RenderPass REFRESH_RenderPass; -typedef struct REFRESH_ComputePipeline REFRESH_ComputePipeline; -typedef struct REFRESH_GraphicsPipeline REFRESH_GraphicsPipeline; -typedef struct REFRESH_CommandBuffer REFRESH_CommandBuffer; +typedef struct Refresh_Device Refresh_Device; +typedef struct Refresh_Buffer Refresh_Buffer; +typedef struct Refresh_Texture Refresh_Texture; +typedef struct Refresh_DepthStencilTexture Refresh_DepthStencilTexture; +typedef struct Refresh_Sampler Refresh_Sampler; +typedef struct Refresh_ColorTarget Refresh_ColorTarget; +typedef struct Refresh_DepthStencilTarget Refresh_DepthStencilTarget; +typedef struct Refresh_Framebuffer Refresh_Framebuffer; +typedef struct Refresh_ShaderModule Refresh_ShaderModule; +typedef struct Refresh_RenderPass Refresh_RenderPass; +typedef struct Refresh_ComputePipeline Refresh_ComputePipeline; +typedef struct Refresh_GraphicsPipeline Refresh_GraphicsPipeline; +typedef struct Refresh_CommandBuffer Refresh_CommandBuffer; -typedef enum REFRESH_PresentMode +typedef enum Refresh_PresentMode { REFRESH_PRESENTMODE_IMMEDIATE, REFRESH_PRESENTMODE_MAILBOX, REFRESH_PRESENTMODE_FIFO, REFRESH_PRESENTMODE_FIFO_RELAXED -} REFRESH_PresentMode; +} Refresh_PresentMode; -typedef enum REFRESH_PrimitiveType +typedef enum Refresh_PrimitiveType { REFRESH_PRIMITIVETYPE_POINTLIST, REFRESH_PRIMITIVETYPE_LINELIST, REFRESH_PRIMITIVETYPE_LINESTRIP, REFRESH_PRIMITIVETYPE_TRIANGLELIST, REFRESH_PRIMITIVETYPE_TRIANGLESTRIP -} REFRESH_PrimitiveType; +} Refresh_PrimitiveType; -typedef enum REFRESH_LoadOp +typedef enum Refresh_LoadOp { REFRESH_LOADOP_LOAD, REFRESH_LOADOP_CLEAR, REFRESH_LOADOP_DONT_CARE -} REFRESH_LoadOp; +} Refresh_LoadOp; -typedef enum REFRESH_StoreOp +typedef enum Refresh_StoreOp { REFRESH_STOREOP_STORE, REFRESH_STOREOP_DONT_CARE -} REFRESH_StoreOp; +} Refresh_StoreOp; -typedef enum REFRESH_ClearOptions +typedef enum Refresh_ClearOptions { REFRESH_CLEAROPTIONS_COLOR = 1, REFRESH_CLEAROPTIONS_DEPTH = 2, REFRESH_CLEAROPTIONS_STENCIL = 4, -} REFRESH_ClearOptions; +} Refresh_ClearOptions; -typedef enum REFRESH_IndexElementSize +typedef enum Refresh_IndexElementSize { REFRESH_INDEXELEMENTSIZE_16BIT, REFRESH_INDEXELEMENTSIZE_32BIT -} REFRESH_IndexElementSize; +} Refresh_IndexElementSize; -typedef enum REFRESH_ColorFormat +typedef enum Refresh_ColorFormat { REFRESH_COLORFORMAT_R8G8B8A8, REFRESH_COLORFORMAT_R5G6B5, @@ -132,25 +132,25 @@ typedef enum REFRESH_ColorFormat REFRESH_COLORFORMAT_R16_SFLOAT, REFRESH_COLORFORMAT_R16G16_SFLOAT, REFRESH_COLORFORMAT_R16G16B16A16_SFLOAT -} REFRESH_ColorFormat; +} Refresh_ColorFormat; -typedef enum REFRESH_DepthFormat +typedef enum Refresh_DepthFormat { REFRESH_DEPTHFORMAT_D16_UNORM, REFRESH_DEPTHFORMAT_D32_SFLOAT, REFRESH_DEPTHFORMAT_D16_UNORM_S8_UINT, REFRESH_DEPTHFORMAT_D32_SFLOAT_S8_UINT -} REFRESH_DepthFormat; +} Refresh_DepthFormat; -typedef enum REFRESH_TextureUsageFlagBits +typedef enum Refresh_TextureUsageFlagBits { REFRESH_TEXTUREUSAGE_SAMPLER_BIT = 0x00000001, REFRESH_TEXTUREUSAGE_COLOR_TARGET_BIT = 0x00000002 -} REFRESH_TextureUsageFlagBits; +} Refresh_TextureUsageFlagBits; -typedef uint32_t REFRESH_TextureUsageFlags; +typedef uint32_t Refresh_TextureUsageFlags; -typedef enum REFRESH_SampleCount +typedef enum Refresh_SampleCount { REFRESH_SAMPLECOUNT_1, REFRESH_SAMPLECOUNT_2, @@ -159,9 +159,9 @@ typedef enum REFRESH_SampleCount REFRESH_SAMPLECOUNT_16, REFRESH_SAMPLECOUNT_32, REFRESH_SAMPLECOUNT_64 -} REFRESH_SampleCount; +} Refresh_SampleCount; -typedef enum REFRESH_CubeMapFace +typedef enum Refresh_CubeMapFace { REFRESH_CUBEMAPFACE_POSITIVEX, REFRESH_CUBEMAPFACE_NEGATIVEX, @@ -169,18 +169,18 @@ typedef enum REFRESH_CubeMapFace REFRESH_CUBEMAPFACE_NEGATIVEY, REFRESH_CUBEMAPFACE_POSITIVEZ, REFRESH_CUBEMAPFACE_NEGATIVEZ -} REFRESH_CubeMapFace; +} Refresh_CubeMapFace; -typedef enum REFRESH_BufferUsageFlagBits +typedef enum Refresh_BufferUsageFlagBits { REFRESH_BUFFERUSAGE_VERTEX_BIT = 0x00000001, REFRESH_BUFFERUSAGE_INDEX_BIT = 0x00000002, REFRESH_BUFFERUSAGE_COMPUTE_BIT = 0x00000004 -} REFRESH_BufferUsageFlagBits; +} Refresh_BufferUsageFlagBits; -typedef uint32_t REFRESH_BufferUsageFlags; +typedef uint32_t Refresh_BufferUsageFlags; -typedef enum REFRESH_VertexElementFormat +typedef enum Refresh_VertexElementFormat { REFRESH_VERTEXELEMENTFORMAT_SINGLE, REFRESH_VERTEXELEMENTFORMAT_VECTOR2, @@ -194,36 +194,36 @@ typedef enum REFRESH_VertexElementFormat REFRESH_VERTEXELEMENTFORMAT_NORMALIZEDSHORT4, REFRESH_VERTEXELEMENTFORMAT_HALFVECTOR2, REFRESH_VERTEXELEMENTFORMAT_HALFVECTOR4 -} REFRESH_VertexElementFormat; +} Refresh_VertexElementFormat; -typedef enum REFRESH_VertexInputRate +typedef enum Refresh_VertexInputRate { REFRESH_VERTEXINPUTRATE_VERTEX = 0, REFRESH_VERTEXINPUTRATE_INSTANCE = 1 -} REFRESH_VertexInputRate; +} Refresh_VertexInputRate; -typedef enum REFRESH_FillMode +typedef enum Refresh_FillMode { REFRESH_FILLMODE_FILL, REFRESH_FILLMODE_LINE, REFRESH_FILLMODE_POINT -} REFRESH_FillMode; +} Refresh_FillMode; -typedef enum REFRESH_CullMode +typedef enum Refresh_CullMode { REFRESH_CULLMODE_NONE, REFRESH_CULLMODE_FRONT, REFRESH_CULLMODE_BACK, REFRESH_CULLMODE_FRONT_AND_BACK -} REFRESH_CullMode; +} Refresh_CullMode; -typedef enum REFRESH_FrontFace +typedef enum Refresh_FrontFace { REFRESH_FRONTFACE_COUNTER_CLOCKWISE, REFRESH_FRONTFACE_CLOCKWISE -} REFRESH_FrontFace; +} Refresh_FrontFace; -typedef enum REFRESH_CompareOp +typedef enum Refresh_CompareOp { REFRESH_COMPAREOP_NEVER, REFRESH_COMPAREOP_LESS, @@ -233,9 +233,9 @@ typedef enum REFRESH_CompareOp REFRESH_COMPAREOP_NOT_EQUAL, REFRESH_COMPAREOP_GREATER_OR_EQUAL, REFRESH_COMPAREOP_ALWAYS -} REFRESH_CompareOp; +} Refresh_CompareOp; -typedef enum REFRESH_StencilOp +typedef enum Refresh_StencilOp { REFRESH_STENCILOP_KEEP, REFRESH_STENCILOP_ZERO, @@ -245,18 +245,18 @@ typedef enum REFRESH_StencilOp REFRESH_STENCILOP_INVERT, REFRESH_STENCILOP_INCREMENT_AND_WRAP, REFRESH_STENCILOP_DECREMENT_AND_WRAP -} REFRESH_StencilOp; +} Refresh_StencilOp; -typedef enum REFRESH_BlendOp +typedef enum Refresh_BlendOp { REFRESH_BLENDOP_ADD, REFRESH_BLENDOP_SUBTRACT, REFRESH_BLENDOP_REVERSE_SUBTRACT, REFRESH_BLENDOP_MIN, REFRESH_BLENDOP_MAX -} REFRESH_BlendOp; +} Refresh_BlendOp; -typedef enum REFRESH_LogicOp +typedef enum Refresh_LogicOp { REFRESH_LOGICOP_CLEAR = 0, REFRESH_LOGICOP_AND = 1, @@ -274,9 +274,9 @@ typedef enum REFRESH_LogicOp REFRESH_LOGICOP_OR_INVERTED = 13, REFRESH_LOGICOP_NAND = 14, REFRESH_LOGICOP_SET = 15 -} REFRESH_LogicOp; +} Refresh_LogicOp; -typedef enum REFRESH_BlendFactor +typedef enum Refresh_BlendFactor { REFRESH_BLENDFACTOR_ZERO = 0, REFRESH_BLENDFACTOR_ONE = 1, @@ -297,46 +297,46 @@ typedef enum REFRESH_BlendFactor REFRESH_BLENDFACTOR_ONE_MINUS_SRC1_COLOR = 16, REFRESH_BLENDFACTOR_SRC1_ALPHA = 17, REFRESH_BLENDFACTOR_ONE_MINUS_SRC1_ALPHA = 18 -} REFRESH_BlendFactor; +} Refresh_BlendFactor; -typedef enum REFRESH_ColorComponentFlagBits +typedef enum Refresh_ColorComponentFlagBits { REFRESH_COLORCOMPONENT_R_BIT = 0x00000001, REFRESH_COLORCOMPONENT_G_BIT = 0x00000002, REFRESH_COLORCOMPONENT_B_BIT = 0x00000004, REFRESH_COLORCOMPONENT_A_BIT = 0x00000008 -} REFRESH_ColorComponentFlagBits; +} Refresh_ColorComponentFlagBits; -typedef uint32_t REFRESH_ColorComponentFlags; +typedef uint32_t Refresh_ColorComponentFlags; -typedef enum REFRESH_ShaderStageType +typedef enum Refresh_ShaderStageType { REFRESH_SHADERSTAGE_VERTEX, REFRESH_SHADERSTAGE_FRAGMENT -} REFRESH_ShaderStageType; +} Refresh_ShaderStageType; -typedef enum REFRESH_Filter +typedef enum Refresh_Filter { REFRESH_FILTER_NEAREST, REFRESH_FILTER_LINEAR, REFRESH_FILTER_CUBIC -} REFRESH_Filter; +} Refresh_Filter; -typedef enum REFRESH_SamplerMipmapMode +typedef enum Refresh_SamplerMipmapMode { REFRESH_SAMPLERMIPMAPMODE_NEAREST, REFRESH_SAMPLERMIPMAPMODE_LINEAR -} REFRESH_SamplerMipmapMode; +} Refresh_SamplerMipmapMode; -typedef enum REFRESH_SamplerAddressMode +typedef enum Refresh_SamplerAddressMode { REFRESH_SAMPLERADDRESSMODE_REPEAT, REFRESH_SAMPLERADDRESSMODE_MIRRORED_REPEAT, REFRESH_SAMPLERADDRESSMODE_CLAMP_TO_EDGE, REFRESH_SAMPLERADDRESSMODE_CLAMP_TO_BORDER -} REFRESH_SamplerAddressMode; +} Refresh_SamplerAddressMode; -typedef enum REFRESH_BorderColor +typedef enum Refresh_BorderColor { REFRESH_BORDERCOLOR_FLOAT_TRANSPARENT_BLACK = 0, REFRESH_BORDERCOLOR_INT_TRANSPARENT_BLACK = 1, @@ -344,41 +344,41 @@ typedef enum REFRESH_BorderColor REFRESH_BORDERCOLOR_INT_OPAQUE_BLACK = 3, REFRESH_BORDERCOLOR_FLOAT_OPAQUE_WHITE = 4, REFRESH_BORDERCOLOR_INT_OPAQUE_WHITE = 5 -} REFRESH_BorderColor; +} Refresh_BorderColor; /* Structures */ -typedef struct REFRESH_Color +typedef struct Refresh_Color { uint8_t r; uint8_t g; uint8_t b; uint8_t a; -} REFRESH_Color; +} Refresh_Color; -typedef struct REFRESH_DepthStencilValue +typedef struct Refresh_DepthStencilValue { float depth; uint32_t stencil; -} REFRESH_DepthStencilValue; +} Refresh_DepthStencilValue; -typedef struct REFRESH_Rect +typedef struct Refresh_Rect { int32_t x; int32_t y; int32_t w; int32_t h; -} REFRESH_Rect; +} Refresh_Rect; -typedef struct REFRESH_Vec4 +typedef struct Refresh_Vec4 { float x; float y; float z; float w; -} REFRESH_Vec4; +} Refresh_Vec4; -typedef struct REFRESH_Viewport +typedef struct Refresh_Viewport { float x; float y; @@ -386,224 +386,224 @@ typedef struct REFRESH_Viewport float h; float minDepth; float maxDepth; -} REFRESH_Viewport; +} Refresh_Viewport; -typedef struct REFRESH_TextureSlice +typedef struct Refresh_TextureSlice { - REFRESH_Texture *texture; - REFRESH_Rect rectangle; + Refresh_Texture *texture; + Refresh_Rect rectangle; uint32_t depth; /* 0 unless 3D */ uint32_t layer; /* 0 unless cube */ uint32_t level; -} REFRESH_TextureSlice; +} Refresh_TextureSlice; -typedef struct REFRESH_PresentationParameters +typedef struct Refresh_PresentationParameters { void* deviceWindowHandle; - REFRESH_PresentMode presentMode; -} REFRESH_PresentationParameters; + Refresh_PresentMode presentMode; +} Refresh_PresentationParameters; /* State structures */ -typedef struct REFRESH_SamplerStateCreateInfo +typedef struct Refresh_SamplerStateCreateInfo { - REFRESH_Filter minFilter; - REFRESH_Filter magFilter; - REFRESH_SamplerMipmapMode mipmapMode; - REFRESH_SamplerAddressMode addressModeU; - REFRESH_SamplerAddressMode addressModeV; - REFRESH_SamplerAddressMode addressModeW; + Refresh_Filter minFilter; + Refresh_Filter magFilter; + Refresh_SamplerMipmapMode mipmapMode; + Refresh_SamplerAddressMode addressModeU; + Refresh_SamplerAddressMode addressModeV; + Refresh_SamplerAddressMode addressModeW; float mipLodBias; uint8_t anisotropyEnable; float maxAnisotropy; uint8_t compareEnable; - REFRESH_CompareOp compareOp; + Refresh_CompareOp compareOp; float minLod; float maxLod; - REFRESH_BorderColor borderColor; -} REFRESH_SamplerStateCreateInfo; + Refresh_BorderColor borderColor; +} Refresh_SamplerStateCreateInfo; -typedef struct REFRESH_VertexBinding +typedef struct Refresh_VertexBinding { uint32_t binding; uint32_t stride; - REFRESH_VertexInputRate inputRate; -} REFRESH_VertexBinding; + Refresh_VertexInputRate inputRate; +} Refresh_VertexBinding; -typedef struct REFRESH_VertexAttribute +typedef struct Refresh_VertexAttribute { uint32_t location; uint32_t binding; - REFRESH_VertexElementFormat format; + Refresh_VertexElementFormat format; uint32_t offset; -} REFRESH_VertexAttribute; +} Refresh_VertexAttribute; -typedef struct REFRESH_VertexInputState +typedef struct Refresh_VertexInputState { - const REFRESH_VertexBinding *vertexBindings; + const Refresh_VertexBinding *vertexBindings; uint32_t vertexBindingCount; - const REFRESH_VertexAttribute *vertexAttributes; + const Refresh_VertexAttribute *vertexAttributes; uint32_t vertexAttributeCount; -} REFRESH_VertexInputState; +} Refresh_VertexInputState; -typedef struct REFRESH_StencilOpState +typedef struct Refresh_StencilOpState { - REFRESH_StencilOp failOp; - REFRESH_StencilOp passOp; - REFRESH_StencilOp depthFailOp; - REFRESH_CompareOp compareOp; + Refresh_StencilOp failOp; + Refresh_StencilOp passOp; + Refresh_StencilOp depthFailOp; + Refresh_CompareOp compareOp; uint32_t compareMask; uint32_t writeMask; uint32_t reference; -} REFRESH_StencilOpState; +} Refresh_StencilOpState; -typedef struct REFRESH_ColorTargetBlendState +typedef struct Refresh_ColorTargetBlendState { uint8_t blendEnable; - REFRESH_BlendFactor srcColorBlendFactor; - REFRESH_BlendFactor dstColorBlendFactor; - REFRESH_BlendOp colorBlendOp; - REFRESH_BlendFactor srcAlphaBlendFactor; - REFRESH_BlendFactor dstAlphaBlendFactor; - REFRESH_BlendOp alphaBlendOp; - REFRESH_ColorComponentFlags colorWriteMask; -} REFRESH_ColorTargetBlendState; + Refresh_BlendFactor srcColorBlendFactor; + Refresh_BlendFactor dstColorBlendFactor; + Refresh_BlendOp colorBlendOp; + Refresh_BlendFactor srcAlphaBlendFactor; + Refresh_BlendFactor dstAlphaBlendFactor; + Refresh_BlendOp alphaBlendOp; + Refresh_ColorComponentFlags colorWriteMask; +} Refresh_ColorTargetBlendState; -typedef struct REFRESH_ComputePipelineLayoutCreateInfo +typedef struct Refresh_ComputePipelineLayoutCreateInfo { uint32_t bufferBindingCount; uint32_t imageBindingCount; -} REFRESH_ComputePipelineLayoutCreateInfo; +} Refresh_ComputePipelineLayoutCreateInfo; -typedef struct REFRESH_GraphicsPipelineLayoutCreateInfo +typedef struct Refresh_GraphicsPipelineLayoutCreateInfo { uint32_t vertexSamplerBindingCount; uint32_t fragmentSamplerBindingCount; -} REFRESH_GraphicsPipelineLayoutCreateInfo; +} Refresh_GraphicsPipelineLayoutCreateInfo; -typedef struct REFRESH_ColorTargetDescription +typedef struct Refresh_ColorTargetDescription { - REFRESH_ColorFormat format; - REFRESH_SampleCount multisampleCount; - REFRESH_LoadOp loadOp; - REFRESH_StoreOp storeOp; -} REFRESH_ColorTargetDescription; + Refresh_ColorFormat format; + Refresh_SampleCount multisampleCount; + Refresh_LoadOp loadOp; + Refresh_StoreOp storeOp; +} Refresh_ColorTargetDescription; -typedef struct REFRESH_DepthStencilTargetDescription +typedef struct Refresh_DepthStencilTargetDescription { - REFRESH_DepthFormat depthFormat; - REFRESH_LoadOp loadOp; - REFRESH_StoreOp storeOp; - REFRESH_LoadOp stencilLoadOp; - REFRESH_StoreOp stencilStoreOp; -} REFRESH_DepthStencilTargetDescription; + Refresh_DepthFormat depthFormat; + Refresh_LoadOp loadOp; + Refresh_StoreOp storeOp; + Refresh_LoadOp stencilLoadOp; + Refresh_StoreOp stencilStoreOp; +} Refresh_DepthStencilTargetDescription; -typedef struct REFRESH_RenderPassCreateInfo +typedef struct Refresh_RenderPassCreateInfo { - const REFRESH_ColorTargetDescription *colorTargetDescriptions; + const Refresh_ColorTargetDescription *colorTargetDescriptions; uint32_t colorTargetCount; - const REFRESH_DepthStencilTargetDescription *depthTargetDescription; /* can be NULL */ -} REFRESH_RenderPassCreateInfo; + const Refresh_DepthStencilTargetDescription *depthTargetDescription; /* can be NULL */ +} Refresh_RenderPassCreateInfo; -typedef struct REFRESH_ShaderModuleCreateInfo +typedef struct Refresh_ShaderModuleCreateInfo { size_t codeSize; const uint32_t *byteCode; -} REFRESH_ShaderModuleCreateInfo; +} Refresh_ShaderModuleCreateInfo; /* Pipeline state structures */ -typedef struct REFRESH_ShaderStageState +typedef struct Refresh_ShaderStageState { - REFRESH_ShaderModule *shaderModule; + Refresh_ShaderModule *shaderModule; const char* entryPointName; uint64_t uniformBufferSize; -} REFRESH_ShaderStageState; +} Refresh_ShaderStageState; -typedef struct REFRESH_TopologyState +typedef struct Refresh_TopologyState { - REFRESH_PrimitiveType topology; -} REFRESH_TopologyState; + Refresh_PrimitiveType topology; +} Refresh_TopologyState; -typedef struct REFRESH_ViewportState +typedef struct Refresh_ViewportState { - const REFRESH_Viewport *viewports; + const Refresh_Viewport *viewports; uint32_t viewportCount; - const REFRESH_Rect *scissors; + const Refresh_Rect *scissors; uint32_t scissorCount; -} REFRESH_ViewportState; +} Refresh_ViewportState; -typedef struct REFRESH_RasterizerState +typedef struct Refresh_RasterizerState { uint8_t depthClampEnable; - REFRESH_FillMode fillMode; - REFRESH_CullMode cullMode; - REFRESH_FrontFace frontFace; + Refresh_FillMode fillMode; + Refresh_CullMode cullMode; + Refresh_FrontFace frontFace; uint8_t depthBiasEnable; float depthBiasConstantFactor; float depthBiasClamp; float depthBiasSlopeFactor; float lineWidth; -} REFRESH_RasterizerState; +} Refresh_RasterizerState; -typedef struct REFRESH_MultisampleState +typedef struct Refresh_MultisampleState { - REFRESH_SampleCount multisampleCount; + Refresh_SampleCount multisampleCount; const uint32_t *sampleMask; -} REFRESH_MultisampleState; +} Refresh_MultisampleState; -typedef struct REFRESH_DepthStencilState +typedef struct Refresh_DepthStencilState { uint8_t depthTestEnable; uint8_t depthWriteEnable; - REFRESH_CompareOp compareOp; + Refresh_CompareOp compareOp; uint8_t depthBoundsTestEnable; uint8_t stencilTestEnable; - REFRESH_StencilOpState frontStencilState; - REFRESH_StencilOpState backStencilState; + Refresh_StencilOpState frontStencilState; + Refresh_StencilOpState backStencilState; float minDepthBounds; float maxDepthBounds; -} REFRESH_DepthStencilState; +} Refresh_DepthStencilState; -typedef struct REFRESH_ColorBlendState +typedef struct Refresh_ColorBlendState { uint8_t logicOpEnable; - REFRESH_LogicOp logicOp; - const REFRESH_ColorTargetBlendState *blendStates; + Refresh_LogicOp logicOp; + const Refresh_ColorTargetBlendState *blendStates; uint32_t blendStateCount; float blendConstants[4]; -} REFRESH_ColorBlendState; +} Refresh_ColorBlendState; -typedef struct REFRESH_ComputePipelineCreateInfo +typedef struct Refresh_ComputePipelineCreateInfo { - REFRESH_ShaderStageState computeShaderState; - REFRESH_ComputePipelineLayoutCreateInfo pipelineLayoutCreateInfo; -} REFRESH_ComputePipelineCreateInfo; + Refresh_ShaderStageState computeShaderState; + Refresh_ComputePipelineLayoutCreateInfo pipelineLayoutCreateInfo; +} Refresh_ComputePipelineCreateInfo; -typedef struct REFRESH_GraphicsPipelineCreateInfo +typedef struct Refresh_GraphicsPipelineCreateInfo { - REFRESH_ShaderStageState vertexShaderState; - REFRESH_ShaderStageState fragmentShaderState; - REFRESH_VertexInputState vertexInputState; - REFRESH_TopologyState topologyState; - REFRESH_ViewportState viewportState; - REFRESH_RasterizerState rasterizerState; - REFRESH_MultisampleState multisampleState; - REFRESH_DepthStencilState depthStencilState; - REFRESH_ColorBlendState colorBlendState; - REFRESH_GraphicsPipelineLayoutCreateInfo pipelineLayoutCreateInfo; - REFRESH_RenderPass *renderPass; -} REFRESH_GraphicsPipelineCreateInfo; + Refresh_ShaderStageState vertexShaderState; + Refresh_ShaderStageState fragmentShaderState; + Refresh_VertexInputState vertexInputState; + Refresh_TopologyState topologyState; + Refresh_ViewportState viewportState; + Refresh_RasterizerState rasterizerState; + Refresh_MultisampleState multisampleState; + Refresh_DepthStencilState depthStencilState; + Refresh_ColorBlendState colorBlendState; + Refresh_GraphicsPipelineLayoutCreateInfo pipelineLayoutCreateInfo; + Refresh_RenderPass *renderPass; +} Refresh_GraphicsPipelineCreateInfo; -typedef struct REFRESH_FramebufferCreateInfo +typedef struct Refresh_FramebufferCreateInfo { - REFRESH_RenderPass *renderPass; - REFRESH_ColorTarget **pColorTargets; + Refresh_RenderPass *renderPass; + Refresh_ColorTarget **pColorTargets; uint32_t colorTargetCount; - REFRESH_DepthStencilTarget *pDepthStencilTarget; + Refresh_DepthStencilTarget *pDepthStencilTarget; uint32_t width; uint32_t height; -} REFRESH_FramebufferCreateInfo; +} Refresh_FramebufferCreateInfo; /* Version API */ @@ -619,13 +619,13 @@ typedef struct REFRESH_FramebufferCreateInfo (REFRESH_PATCH_VERSION) \ ) -REFRESHAPI uint32_t REFRESH_LinkedVersion(void); +REFRESHAPI uint32_t Refresh_LinkedVersion(void); /* Functions */ /* Logging */ -typedef void (REFRESHCALL * REFRESH_LogFunc)(const char *msg); +typedef void (REFRESHCALL * Refresh_LogFunc)(const char *msg); /* Device */ @@ -635,13 +635,13 @@ typedef void (REFRESHCALL * REFRESH_LogFunc)(const char *msg); * If the windowHandle is NULL, Refresh will run in headless mode. * debugMode: Enable debug mode properties. */ -REFRESHAPI REFRESH_Device* REFRESH_CreateDevice( - REFRESH_PresentationParameters *presentationParameters, +REFRESHAPI Refresh_Device* Refresh_CreateDevice( + Refresh_PresentationParameters *presentationParameters, uint8_t debugMode ); -/* Destroys a rendering context previously returned by REFRESH_CreateDevice. */ -REFRESHAPI void REFRESH_DestroyDevice(REFRESH_Device *device); +/* Destroys a rendering context previously returned by Refresh_CreateDevice. */ +REFRESHAPI void Refresh_DestroyDevice(Refresh_Device *device); /* Drawing */ @@ -660,12 +660,12 @@ REFRESHAPI void REFRESH_DestroyDevice(REFRESH_Device *device); * depth: The new value of the cleared depth buffer. * stencil: The new value of the cleared stencil buffer. */ -REFRESHAPI void REFRESH_Clear( - REFRESH_Device *device, - REFRESH_CommandBuffer *commandBuffer, - REFRESH_Rect *clearRect, - REFRESH_ClearOptions options, - REFRESH_Color *colors, +REFRESHAPI void Refresh_Clear( + Refresh_Device *device, + Refresh_CommandBuffer *commandBuffer, + Refresh_Rect *clearRect, + Refresh_ClearOptions options, + Refresh_Color *colors, uint32_t colorCount, float depth, int32_t stencil @@ -684,17 +684,17 @@ REFRESHAPI void REFRESH_Clear( * vertexParamOffset: The offset of the vertex shader param data. * fragmentParamOffset: The offset of the fragment shader param data. */ -REFRESHAPI void REFRESH_DrawInstancedPrimitives( - REFRESH_Device *device, - REFRESH_CommandBuffer *commandBuffer, +REFRESHAPI void Refresh_DrawInstancedPrimitives( + Refresh_Device *device, + Refresh_CommandBuffer *commandBuffer, uint32_t baseVertex, uint32_t minVertexIndex, uint32_t numVertices, uint32_t startIndex, uint32_t primitiveCount, uint32_t instanceCount, - REFRESH_Buffer *indices, - REFRESH_IndexElementSize indexElementSize, + Refresh_Buffer *indices, + Refresh_IndexElementSize indexElementSize, uint32_t vertexParamOffset, uint32_t fragmentParamOffset ); @@ -711,16 +711,16 @@ REFRESHAPI void REFRESH_DrawInstancedPrimitives( * vertexParamOffset: The offset of the vertex shader param data. * fragmentParamOffset: The offset of the fragment shader param data. */ -REFRESHAPI void REFRESH_DrawIndexedPrimitives( - REFRESH_Device *device, - REFRESH_CommandBuffer *commandBuffer, +REFRESHAPI void Refresh_DrawIndexedPrimitives( + Refresh_Device *device, + Refresh_CommandBuffer *commandBuffer, uint32_t baseVertex, uint32_t minVertexIndex, uint32_t numVertices, uint32_t startIndex, uint32_t primitiveCount, - REFRESH_Buffer *indices, - REFRESH_IndexElementSize indexElementSize, + Refresh_Buffer *indices, + Refresh_IndexElementSize indexElementSize, uint32_t vertexParamOffset, uint32_t fragmentParamOffset ); @@ -732,9 +732,9 @@ REFRESHAPI void REFRESH_DrawIndexedPrimitives( * vertexParamOffset: The offset of the vertex shader param data. * fragmentParamOffset: The offset of the fragment shader param data. */ -REFRESHAPI void REFRESH_DrawPrimitives( - REFRESH_Device *device, - REFRESH_CommandBuffer *commandBuffer, +REFRESHAPI void Refresh_DrawPrimitives( + Refresh_Device *device, + Refresh_CommandBuffer *commandBuffer, uint32_t vertexStart, uint32_t primitiveCount, uint32_t vertexParamOffset, @@ -748,9 +748,9 @@ REFRESHAPI void REFRESH_DrawPrimitives( * groupCountZ: Number of local workgroups to dispatch in the Z dimension. * computeParamOffset: The offset of the compute shader param data. */ -REFRESHAPI void REFRESH_DispatchCompute( - REFRESH_Device *device, - REFRESH_CommandBuffer *commandBuffer, +REFRESHAPI void Refresh_DispatchCompute( + Refresh_Device *device, + Refresh_CommandBuffer *commandBuffer, uint32_t groupCountX, uint32_t groupCountY, uint32_t groupCountZ, @@ -760,39 +760,39 @@ REFRESHAPI void REFRESH_DispatchCompute( /* State Creation */ /* Returns an allocated RenderPass* object. */ -REFRESHAPI REFRESH_RenderPass* REFRESH_CreateRenderPass( - REFRESH_Device *device, - REFRESH_RenderPassCreateInfo *renderPassCreateInfo +REFRESHAPI Refresh_RenderPass* Refresh_CreateRenderPass( + Refresh_Device *device, + Refresh_RenderPassCreateInfo *renderPassCreateInfo ); /* Returns an allocated ComputePipeline* object. */ -REFRESHAPI REFRESH_ComputePipeline* REFRESH_CreateComputePipeline( - REFRESH_Device *device, - REFRESH_ComputePipelineCreateInfo *pipelineCreateInfo +REFRESHAPI Refresh_ComputePipeline* Refresh_CreateComputePipeline( + Refresh_Device *device, + Refresh_ComputePipelineCreateInfo *pipelineCreateInfo ); /* Returns an allocated GraphicsPipeline* object. */ -REFRESHAPI REFRESH_GraphicsPipeline* REFRESH_CreateGraphicsPipeline( - REFRESH_Device *device, - REFRESH_GraphicsPipelineCreateInfo *pipelineCreateInfo +REFRESHAPI Refresh_GraphicsPipeline* Refresh_CreateGraphicsPipeline( + Refresh_Device *device, + Refresh_GraphicsPipelineCreateInfo *pipelineCreateInfo ); /* Returns an allocated Sampler* object. */ -REFRESHAPI REFRESH_Sampler* REFRESH_CreateSampler( - REFRESH_Device *device, - REFRESH_SamplerStateCreateInfo *samplerStateCreateInfo +REFRESHAPI Refresh_Sampler* Refresh_CreateSampler( + Refresh_Device *device, + Refresh_SamplerStateCreateInfo *samplerStateCreateInfo ); /* Returns an allocated Framebuffer* object. */ -REFRESHAPI REFRESH_Framebuffer* REFRESH_CreateFramebuffer( - REFRESH_Device *device, - REFRESH_FramebufferCreateInfo *framebufferCreateInfo +REFRESHAPI Refresh_Framebuffer* Refresh_CreateFramebuffer( + Refresh_Device *device, + Refresh_FramebufferCreateInfo *framebufferCreateInfo ); /* Returns an allocated ShaderModule* object. */ -REFRESHAPI REFRESH_ShaderModule* REFRESH_CreateShaderModule( - REFRESH_Device *device, - REFRESH_ShaderModuleCreateInfo *shaderModuleCreateInfo +REFRESHAPI Refresh_ShaderModule* Refresh_CreateShaderModule( + Refresh_Device *device, + Refresh_ShaderModuleCreateInfo *shaderModuleCreateInfo ); /* Creates a 2D texture. @@ -803,16 +803,16 @@ REFRESHAPI REFRESH_ShaderModule* REFRESH_CreateShaderModule( * levelCount: The number of mipmap levels to allocate. * usageFlags: Specifies how the texture will be used. * - * Returns an allocated REFRESH_Texture* object. Note that the contents of + * Returns an allocated Refresh_Texture* object. Note that the contents of * the texture are undefined until SetData is called. */ -REFRESHAPI REFRESH_Texture* REFRESH_CreateTexture2D( - REFRESH_Device *device, - REFRESH_ColorFormat format, +REFRESHAPI Refresh_Texture* Refresh_CreateTexture2D( + Refresh_Device *device, + Refresh_ColorFormat format, uint32_t width, uint32_t height, uint32_t levelCount, - REFRESH_TextureUsageFlags usageFlags + Refresh_TextureUsageFlags usageFlags ); /* Creates a 3D texture. @@ -824,17 +824,17 @@ REFRESHAPI REFRESH_Texture* REFRESH_CreateTexture2D( * levelCount: The number of mipmap levels to allocate. * usageFlags: Specifies how the texture will be used. * - * Returns an allocated REFRESH_Texture* object. Note that the contents of + * Returns an allocated Refresh_Texture* object. Note that the contents of * the texture are undefined until SetData is called. */ -REFRESHAPI REFRESH_Texture* REFRESH_CreateTexture3D( - REFRESH_Device *device, - REFRESH_ColorFormat format, +REFRESHAPI Refresh_Texture* Refresh_CreateTexture3D( + Refresh_Device *device, + Refresh_ColorFormat format, uint32_t width, uint32_t height, uint32_t depth, uint32_t levelCount, - REFRESH_TextureUsageFlags usageFlags + Refresh_TextureUsageFlags usageFlags ); /* Creates a texture cube. @@ -844,15 +844,15 @@ REFRESHAPI REFRESH_Texture* REFRESH_CreateTexture3D( * levelCount: The number of mipmap levels to allocate. * usageFlags: Specifies how the texture will be used. * - * Returns an allocated REFRESH_Texture* object. Note that the contents of + * Returns an allocated Refresh_Texture* object. Note that the contents of * the texture are undefined until SetData is called. */ -REFRESHAPI REFRESH_Texture* REFRESH_CreateTextureCube( - REFRESH_Device *device, - REFRESH_ColorFormat format, +REFRESHAPI Refresh_Texture* Refresh_CreateTextureCube( + Refresh_Device *device, + Refresh_ColorFormat format, uint32_t size, uint32_t levelCount, - REFRESH_TextureUsageFlags usageFlags + Refresh_TextureUsageFlags usageFlags ); /* Creates a color target. @@ -860,10 +860,10 @@ REFRESHAPI REFRESH_Texture* REFRESH_CreateTextureCube( * multisampleCount: The MSAA value for the color target. * textureSlice: The texture slice that the color target will resolve to. */ -REFRESHAPI REFRESH_ColorTarget* REFRESH_CreateColorTarget( - REFRESH_Device *device, - REFRESH_SampleCount multisampleCount, - REFRESH_TextureSlice *textureSlice +REFRESHAPI Refresh_ColorTarget* Refresh_CreateColorTarget( + Refresh_Device *device, + Refresh_SampleCount multisampleCount, + Refresh_TextureSlice *textureSlice ); /* Creates a depth/stencil target. @@ -872,11 +872,11 @@ REFRESHAPI REFRESH_ColorTarget* REFRESH_CreateColorTarget( * height: The height of the depth/stencil target. * format: The storage format of the depth/stencil target. */ -REFRESHAPI REFRESH_DepthStencilTarget* REFRESH_CreateDepthStencilTarget( - REFRESH_Device *device, +REFRESHAPI Refresh_DepthStencilTarget* Refresh_CreateDepthStencilTarget( + Refresh_Device *device, uint32_t width, uint32_t height, - REFRESH_DepthFormat format + Refresh_DepthFormat format ); /* Creates a buffer. @@ -884,9 +884,9 @@ REFRESHAPI REFRESH_DepthStencilTarget* REFRESH_CreateDepthStencilTarget( * usageFlags: Specifies how the buffer will be used. * sizeInBytes: The length of the buffer. */ -REFRESHAPI REFRESH_Buffer* REFRESH_CreateBuffer( - REFRESH_Device *device, - REFRESH_BufferUsageFlags usageFlags, +REFRESHAPI Refresh_Buffer* Refresh_CreateBuffer( + Refresh_Device *device, + Refresh_BufferUsageFlags usageFlags, uint32_t sizeInBytes ); @@ -898,9 +898,9 @@ REFRESHAPI REFRESH_Buffer* REFRESH_CreateBuffer( * data: A pointer to the image data. * dataLengthInBytes: The size of the image data. */ -REFRESHAPI void REFRESH_SetTextureData( - REFRESH_Device *driverData, - REFRESH_TextureSlice *textureSlice, +REFRESHAPI void Refresh_SetTextureData( + Refresh_Device *driverData, + Refresh_TextureSlice *textureSlice, void *data, uint32_t dataLengthInBytes ); @@ -917,11 +917,11 @@ REFRESHAPI void REFRESH_SetTextureData( * data: A pointer to the raw YUV image data. * dataLength: The size of the image data in bytes. */ -REFRESHAPI void REFRESH_SetTextureDataYUV( - REFRESH_Device *driverData, - REFRESH_Texture *y, - REFRESH_Texture *u, - REFRESH_Texture *v, +REFRESHAPI void Refresh_SetTextureDataYUV( + Refresh_Device *driverData, + Refresh_Texture *y, + Refresh_Texture *u, + Refresh_Texture *v, uint32_t yWidth, uint32_t yHeight, uint32_t uvWidth, @@ -936,12 +936,12 @@ REFRESHAPI void REFRESH_SetTextureDataYUV( * destinationTextureSlice: The texture slice to copy to. * filter: The filter that will be used if the copy requires scaling. */ -REFRESHAPI void REFRESH_CopyTextureToTexture( - REFRESH_Device *driverData, - REFRESH_CommandBuffer *commandBuffer, - REFRESH_TextureSlice *sourceTextureSlice, - REFRESH_TextureSlice *destinationTextureSlice, - REFRESH_Filter filter +REFRESHAPI void Refresh_CopyTextureToTexture( + Refresh_Device *driverData, + Refresh_CommandBuffer *commandBuffer, + Refresh_TextureSlice *sourceTextureSlice, + Refresh_TextureSlice *destinationTextureSlice, + Refresh_Filter filter ); /* Asynchronously copies image data from a texture slice into a buffer. @@ -953,11 +953,11 @@ REFRESHAPI void REFRESH_CopyTextureToTexture( * textureSlice: The texture object being copied. * buffer: The buffer being filled with the image data. */ -REFRESHAPI void REFRESH_CopyTextureToBuffer( - REFRESH_Device *device, - REFRESH_CommandBuffer *commandBuffer, - REFRESH_TextureSlice *textureSlice, - REFRESH_Buffer *buffer +REFRESHAPI void Refresh_CopyTextureToBuffer( + Refresh_Device *device, + Refresh_CommandBuffer *commandBuffer, + Refresh_TextureSlice *textureSlice, + Refresh_Buffer *buffer ); /* Sets a region of the buffer with client data. @@ -971,9 +971,9 @@ REFRESHAPI void REFRESH_CopyTextureToBuffer( * data: The client data to write into the buffer. * dataLength: The length of data from the client buffer to write. */ -REFRESHAPI void REFRESH_SetBufferData( - REFRESH_Device *device, - REFRESH_Buffer *buffer, +REFRESHAPI void Refresh_SetBufferData( + Refresh_Device *device, + Refresh_Buffer *buffer, uint32_t offsetInBytes, void* data, uint32_t dataLength @@ -989,9 +989,9 @@ REFRESHAPI void REFRESH_SetBufferData( * data: The client data to write into the buffer. * paramBlockCount: The number of param-sized blocks from the client buffer to write. */ -REFRESHAPI uint32_t REFRESH_PushVertexShaderParams( - REFRESH_Device *device, - REFRESH_CommandBuffer *commandBuffer, +REFRESHAPI uint32_t Refresh_PushVertexShaderParams( + Refresh_Device *device, + Refresh_CommandBuffer *commandBuffer, void *data, uint32_t paramBlockCount ); @@ -1006,9 +1006,9 @@ REFRESHAPI uint32_t REFRESH_PushVertexShaderParams( * data: The client data to write into the buffer. * paramBlockCount: The number of param-sized blocks from the client buffer to write. */ -REFRESHAPI uint32_t REFRESH_PushFragmentShaderParams( - REFRESH_Device *device, - REFRESH_CommandBuffer *commandBuffer, +REFRESHAPI uint32_t Refresh_PushFragmentShaderParams( + Refresh_Device *device, + Refresh_CommandBuffer *commandBuffer, void *data, uint32_t paramBlockCount ); @@ -1023,9 +1023,9 @@ REFRESHAPI uint32_t REFRESH_PushFragmentShaderParams( * data: The client data to write into the buffer. * paramBlockData: The number of param-sized blocks from the client buffer to write. */ -REFRESHAPI uint32_t REFRESH_PushComputeShaderParams( - REFRESH_Device *device, - REFRESH_CommandBuffer *commandBuffer, +REFRESHAPI uint32_t Refresh_PushComputeShaderParams( + Refresh_Device *device, + Refresh_CommandBuffer *commandBuffer, void *data, uint32_t paramBlockCount ); @@ -1039,11 +1039,11 @@ REFRESHAPI uint32_t REFRESH_PushComputeShaderParams( * textures: A pointer to an array of textures. * samplers: A pointer to an array of samplers. */ -REFRESHAPI void REFRESH_SetVertexSamplers( - REFRESH_Device *device, - REFRESH_CommandBuffer *commandBuffer, - REFRESH_Texture **pTextures, - REFRESH_Sampler **pSamplers +REFRESHAPI void Refresh_SetVertexSamplers( + Refresh_Device *device, + Refresh_CommandBuffer *commandBuffer, + Refresh_Texture **pTextures, + Refresh_Sampler **pSamplers ); /* Sets textures/samplers for use with the currently bound fragment shader. @@ -1055,11 +1055,11 @@ REFRESHAPI void REFRESH_SetVertexSamplers( * textures: A pointer to an array of textures. * samplers: A pointer to an array of samplers. */ -REFRESHAPI void REFRESH_SetFragmentSamplers( - REFRESH_Device *device, - REFRESH_CommandBuffer *commandBuffer, - REFRESH_Texture **pTextures, - REFRESH_Sampler **pSamplers +REFRESHAPI void Refresh_SetFragmentSamplers( + Refresh_Device *device, + Refresh_CommandBuffer *commandBuffer, + Refresh_Texture **pTextures, + Refresh_Sampler **pSamplers ); /* Getters */ @@ -1071,9 +1071,9 @@ REFRESHAPI void REFRESH_SetFragmentSamplers( * data: The pointer to copy data to. * dataLengthInBytes: The length of data to copy. */ -REFRESHAPI void REFRESH_GetBufferData( - REFRESH_Device *device, - REFRESH_Buffer *buffer, +REFRESHAPI void Refresh_GetBufferData( + Refresh_Device *device, + Refresh_Buffer *buffer, void *data, uint32_t dataLengthInBytes ); @@ -1085,11 +1085,11 @@ REFRESHAPI void REFRESH_GetBufferData( * this is not called from the main thread (for example, if a garbage collector * deletes the resource instead of the programmer). * - * texture: The REFRESH_Texture to be destroyed. + * texture: The Refresh_Texture to be destroyed. */ -REFRESHAPI void REFRESH_AddDisposeTexture( - REFRESH_Device *device, - REFRESH_Texture *texture +REFRESHAPI void Refresh_AddDisposeTexture( + Refresh_Device *device, + Refresh_Texture *texture ); /* Sends a sampler to be destroyed by the renderer. Note that we call it @@ -1097,11 +1097,11 @@ REFRESHAPI void REFRESH_AddDisposeTexture( * this is not called from the main thread (for example, if a garbage collector * deletes the resource instead of the programmer). * - * texture: The REFRESH_Sampler to be destroyed. + * texture: The Refresh_Sampler to be destroyed. */ -REFRESHAPI void REFRESH_AddDisposeSampler( - REFRESH_Device *device, - REFRESH_Sampler *sampler +REFRESHAPI void Refresh_AddDisposeSampler( + Refresh_Device *device, + Refresh_Sampler *sampler ); /* Sends a buffer to be destroyed by the renderer. Note that we call it @@ -1109,11 +1109,11 @@ REFRESHAPI void REFRESH_AddDisposeSampler( * this is not called from the main thread (for example, if a garbage collector * deletes the resource instead of the programmer). * - * buffer: The REFRESH_Buffer to be destroyed. + * buffer: The Refresh_Buffer to be destroyed. */ -REFRESHAPI void REFRESH_AddDisposeBuffer( - REFRESH_Device *device, - REFRESH_Buffer *buffer +REFRESHAPI void Refresh_AddDisposeBuffer( + Refresh_Device *device, + Refresh_Buffer *buffer ); /* Sends a color target to be destroyed by the renderer. Note that we call it @@ -1121,11 +1121,11 @@ REFRESHAPI void REFRESH_AddDisposeBuffer( * this is not called from the main thread (for example, if a garbage collector * deletes the resource instead of the programmer). * - * colorTarget: The REFRESH_ColorTarget to be destroyed. + * colorTarget: The Refresh_ColorTarget to be destroyed. */ -REFRESHAPI void REFRESH_AddDisposeColorTarget( - REFRESH_Device *device, - REFRESH_ColorTarget *colorTarget +REFRESHAPI void Refresh_AddDisposeColorTarget( + Refresh_Device *device, + Refresh_ColorTarget *colorTarget ); /* Sends a depth/stencil target to be destroyed by the renderer. Note that we call it @@ -1133,11 +1133,11 @@ REFRESHAPI void REFRESH_AddDisposeColorTarget( * this is not called from the main thread (for example, if a garbage collector * deletes the resource instead of the programmer). * - * depthStencilTarget: The REFRESH_DepthStencilTarget to be destroyed. + * depthStencilTarget: The Refresh_DepthStencilTarget to be destroyed. */ -REFRESHAPI void REFRESH_AddDisposeDepthStencilTarget( - REFRESH_Device *device, - REFRESH_DepthStencilTarget *depthStencilTarget +REFRESHAPI void Refresh_AddDisposeDepthStencilTarget( + Refresh_Device *device, + Refresh_DepthStencilTarget *depthStencilTarget ); /* Sends a framebuffer to be destroyed by the renderer. Note that we call it @@ -1145,11 +1145,11 @@ REFRESHAPI void REFRESH_AddDisposeDepthStencilTarget( * this is not called from the main thread (for example, if a garbage collector * deletes the resource instead of the programmer). * - * framebuffer: The REFRESH_Framebuffer to be destroyed. + * framebuffer: The Refresh_Framebuffer to be destroyed. */ -REFRESHAPI void REFRESH_AddDisposeFramebuffer( - REFRESH_Device *device, - REFRESH_Framebuffer *frameBuffer +REFRESHAPI void Refresh_AddDisposeFramebuffer( + Refresh_Device *device, + Refresh_Framebuffer *frameBuffer ); /* Sends a shader module to be destroyed by the renderer. Note that we call it @@ -1157,11 +1157,11 @@ REFRESHAPI void REFRESH_AddDisposeFramebuffer( * this is not called from the main thread (for example, if a garbage collector * deletes the resource instead of the programmer). * - * shaderModule: The REFRESH_ShaderModule to be destroyed. + * shaderModule: The Refresh_ShaderModule to be destroyed. */ -REFRESHAPI void REFRESH_AddDisposeShaderModule( - REFRESH_Device *device, - REFRESH_ShaderModule *shaderModule +REFRESHAPI void Refresh_AddDisposeShaderModule( + Refresh_Device *device, + Refresh_ShaderModule *shaderModule ); /* Sends a render pass to be destroyed by the renderer. Note that we call it @@ -1169,11 +1169,11 @@ REFRESHAPI void REFRESH_AddDisposeShaderModule( * this is not called from the main thread (for example, if a garbage collector * deletes the resource instead of the programmer). * - * renderPass: The REFRESH_RenderPass to be destroyed. + * renderPass: The Refresh_RenderPass to be destroyed. */ -REFRESHAPI void REFRESH_AddDisposeRenderPass( - REFRESH_Device *device, - REFRESH_RenderPass *renderPass +REFRESHAPI void Refresh_AddDisposeRenderPass( + Refresh_Device *device, + Refresh_RenderPass *renderPass ); /* Sends a compute pipeline to be destroyed by the renderer. Note that we call it @@ -1181,11 +1181,11 @@ REFRESHAPI void REFRESH_AddDisposeRenderPass( * this is not called from the main thread (for example, if a garbage collector * deletes the resource instead of the programmer). * - * computePipeline: The REFRESH_ComputePipeline to be destroyed. + * computePipeline: The Refresh_ComputePipeline to be destroyed. */ -REFRESHAPI void REFRESH_AddDisposeComputePipeline( - REFRESH_Device *device, - REFRESH_ComputePipeline *computePipeline +REFRESHAPI void Refresh_AddDisposeComputePipeline( + Refresh_Device *device, + Refresh_ComputePipeline *computePipeline ); /* Sends a graphics pipeline to be destroyed by the renderer. Note that we call it @@ -1193,11 +1193,11 @@ REFRESHAPI void REFRESH_AddDisposeComputePipeline( * this is not called from the main thread (for example, if a garbage collector * deletes the resource instead of the programmer). * - * graphicsPipeline: The REFRESH_GraphicsPipeline to be destroyed. + * graphicsPipeline: The Refresh_GraphicsPipeline to be destroyed. */ -REFRESHAPI void REFRESH_AddDisposeGraphicsPipeline( - REFRESH_Device *device, - REFRESH_GraphicsPipeline *graphicsPipeline +REFRESHAPI void Refresh_AddDisposeGraphicsPipeline( + Refresh_Device *device, + Refresh_GraphicsPipeline *graphicsPipeline ); /* Graphics State */ @@ -1211,60 +1211,60 @@ REFRESHAPI void REFRESH_AddDisposeGraphicsPipeline( * All load, store and resolve operations are restricted * to the given rectangle. * clearValues: - * A pointer to an array of REFRESH_Color structures + * A pointer to an array of Refresh_Color structures * that contains clear values for each color target in the * framebuffer. May be NULL. * clearCount: The amount of color structs in the above array. * depthStencilClearValue: The depth/stencil clear value. May be NULL. */ -REFRESHAPI void REFRESH_BeginRenderPass( - REFRESH_Device *device, - REFRESH_CommandBuffer *commandBuffer, - REFRESH_RenderPass *renderPass, - REFRESH_Framebuffer *framebuffer, - REFRESH_Rect renderArea, - REFRESH_Color *pColorClearValues, +REFRESHAPI void Refresh_BeginRenderPass( + Refresh_Device *device, + Refresh_CommandBuffer *commandBuffer, + Refresh_RenderPass *renderPass, + Refresh_Framebuffer *framebuffer, + Refresh_Rect renderArea, + Refresh_Color *pColorClearValues, uint32_t colorClearCount, - REFRESH_DepthStencilValue *depthStencilClearValue + Refresh_DepthStencilValue *depthStencilClearValue ); /* Ends the current render pass. */ -REFRESHAPI void REFRESH_EndRenderPass( - REFRESH_Device *device, - REFRESH_CommandBuffer *commandBuffer +REFRESHAPI void Refresh_EndRenderPass( + Refresh_Device *device, + Refresh_CommandBuffer *commandBuffer ); /* Binds a graphics pipeline to the graphics bind point. */ -REFRESHAPI void REFRESH_BindGraphicsPipeline( - REFRESH_Device *device, - REFRESH_CommandBuffer *commandBuffer, - REFRESH_GraphicsPipeline *graphicsPipeline +REFRESHAPI void Refresh_BindGraphicsPipeline( + Refresh_Device *device, + Refresh_CommandBuffer *commandBuffer, + Refresh_GraphicsPipeline *graphicsPipeline ); /* Binds vertex buffers for use with subsequent draw calls. */ -REFRESHAPI void REFRESH_BindVertexBuffers( - REFRESH_Device *device, - REFRESH_CommandBuffer *commandBuffer, +REFRESHAPI void Refresh_BindVertexBuffers( + Refresh_Device *device, + Refresh_CommandBuffer *commandBuffer, uint32_t firstBinding, uint32_t bindingCount, - REFRESH_Buffer **pBuffers, + Refresh_Buffer **pBuffers, uint64_t *pOffsets ); /* Binds an index buffer for use with subsequent draw calls. */ -REFRESHAPI void REFRESH_BindIndexBuffer( - REFRESH_Device *device, - REFRESH_CommandBuffer *commandBuffer, - REFRESH_Buffer *buffer, +REFRESHAPI void Refresh_BindIndexBuffer( + Refresh_Device *device, + Refresh_CommandBuffer *commandBuffer, + Refresh_Buffer *buffer, uint64_t offset, - REFRESH_IndexElementSize indexElementSize + Refresh_IndexElementSize indexElementSize ); /* Binds a compute pipeline to the compute bind point. */ -REFRESHAPI void REFRESH_BindComputePipeline( - REFRESH_Device *device, - REFRESH_CommandBuffer *commandBuffer, - REFRESH_ComputePipeline *computePipeline +REFRESHAPI void Refresh_BindComputePipeline( + Refresh_Device *device, + Refresh_CommandBuffer *commandBuffer, + Refresh_ComputePipeline *computePipeline ); /* Binds buffers for use with the currently bound compute pipeline. @@ -1273,10 +1273,10 @@ REFRESHAPI void REFRESH_BindComputePipeline( * Length must be equal to the number of buffers * specified by the compute pipeline. */ -REFRESHAPI void REFRESH_BindComputeBuffers( - REFRESH_Device *device, - REFRESH_CommandBuffer *commandBuffer, - REFRESH_Buffer **pBuffers +REFRESHAPI void Refresh_BindComputeBuffers( + Refresh_Device *device, + Refresh_CommandBuffer *commandBuffer, + Refresh_Buffer **pBuffers ); /* Binds textures for use with the currently bound compute pipeline. @@ -1285,15 +1285,15 @@ REFRESHAPI void REFRESH_BindComputeBuffers( * Length must be equal to the number of buffers * specified by the compute pipeline. */ -REFRESHAPI void REFRESH_BindComputeTextures( - REFRESH_Device *device, - REFRESH_CommandBuffer *commandBuffer, - REFRESH_Texture **pTextures +REFRESHAPI void Refresh_BindComputeTextures( + Refresh_Device *device, + Refresh_CommandBuffer *commandBuffer, + Refresh_Texture **pTextures ); /* Submission/Presentation */ -/* Returns an allocated REFRESH_CommandBuffer* object. +/* Returns an allocated Refresh_CommandBuffer* object. * This command buffer is managed by the implementation and * should NOT be freed by the user. * @@ -1307,13 +1307,13 @@ REFRESHAPI void REFRESH_BindComputeTextures( * be re-submitted indefinitely. * */ -REFRESHAPI REFRESH_CommandBuffer* REFRESH_AcquireCommandBuffer( - REFRESH_Device *device, +REFRESHAPI Refresh_CommandBuffer* Refresh_AcquireCommandBuffer( + Refresh_Device *device, uint8_t fixed ); /* Queues an image to be presented to the screen. - * The image will be presented upon the next REFRESH_Submit call. + * The image will be presented upon the next Refresh_Submit call. * * NOTE: * It is an error to call this function in headless mode. @@ -1322,24 +1322,24 @@ REFRESHAPI REFRESH_CommandBuffer* REFRESH_AcquireCommandBuffer( * destinationRectangle: The region of the window to update. Can be NULL. * filter: The filter to use if scaling is required. */ -REFRESHAPI void REFRESH_QueuePresent( - REFRESH_Device *device, - REFRESH_CommandBuffer *commandBuffer, - REFRESH_TextureSlice *textureSlice, - REFRESH_Rect *destinationRectangle, - REFRESH_Filter filter +REFRESHAPI void Refresh_QueuePresent( + Refresh_Device *device, + Refresh_CommandBuffer *commandBuffer, + Refresh_TextureSlice *textureSlice, + Refresh_Rect *destinationRectangle, + Refresh_Filter filter ); /* Submits all of the enqueued commands. */ -REFRESHAPI void REFRESH_Submit( - REFRESH_Device* device, +REFRESHAPI void Refresh_Submit( + Refresh_Device* device, uint32_t commandBufferCount, - REFRESH_CommandBuffer **pCommandBuffers + Refresh_CommandBuffer **pCommandBuffers ); /* Waits for the previous submission to complete. */ -REFRESHAPI void REFRESH_Wait( - REFRESH_Device *device +REFRESHAPI void Refresh_Wait( + Refresh_Device *device ); #ifdef __cplusplus diff --git a/include/Refresh_Image.h b/include/Refresh_Image.h index 7d24add..cbab4c6 100644 --- a/include/Refresh_Image.h +++ b/include/Refresh_Image.h @@ -50,21 +50,21 @@ extern "C" { * h: Filled with the height of the image. * numChannels: Filled with the number of channels in the image. * - * Returns a block of memory suitable for use with REFRESH_SetTextureData2D. - * Be sure to free the memory with REFRESH_Image_Free after use! + * Returns a block of memory suitable for use with Refresh_SetTextureData2D. + * Be sure to free the memory with Refresh_Image_Free after use! */ -REFRESHAPI uint8_t* REFRESH_Image_Load( +REFRESHAPI uint8_t* Refresh_Image_Load( char const *filename, int32_t *w, int32_t *h, int32_t *numChannels ); -/* Frees memory returned by REFRESH_Image_Load. (Do NOT free the memory yourself!) +/* Frees memory returned by Refresh_Image_Load. (Do NOT free the memory yourself!) * - * mem: A pointer previously returned by REFRESH_Image_Load. + * mem: A pointer previously returned by Refresh_Image_Load. */ -REFRESHAPI void REFRESH_Image_Free(uint8_t *mem); +REFRESHAPI void Refresh_Image_Free(uint8_t *mem); /* Image Write API */ @@ -75,7 +75,7 @@ REFRESHAPI void REFRESH_Image_Free(uint8_t *mem); * h: The height of the PNG data. * data: The raw RGBA8 image data. */ -REFRESHAPI void REFRESH_Image_SavePNG( +REFRESHAPI void Refresh_Image_SavePNG( char const *filename, int32_t w, int32_t h, diff --git a/src/Refresh.c b/src/Refresh.c index 2282a26..f0625c8 100644 --- a/src/Refresh.c +++ b/src/Refresh.c @@ -33,14 +33,14 @@ /* Drivers */ -static const REFRESH_Driver *drivers[] = { +static const Refresh_Driver *drivers[] = { &VulkanDriver, NULL }; /* Logging */ -static void REFRESH_Default_LogInfo(const char *msg) +static void Refresh_Default_LogInfo(const char *msg) { SDL_LogInfo( SDL_LOG_CATEGORY_APPLICATION, @@ -49,7 +49,7 @@ static void REFRESH_Default_LogInfo(const char *msg) ); } -static void REFRESH_Default_LogWarn(const char *msg) +static void Refresh_Default_LogWarn(const char *msg) { SDL_LogWarn( SDL_LOG_CATEGORY_APPLICATION, @@ -58,7 +58,7 @@ static void REFRESH_Default_LogWarn(const char *msg) ); } -static void REFRESH_Default_LogError(const char *msg) +static void Refresh_Default_LogError(const char *msg) { SDL_LogError( SDL_LOG_CATEGORY_APPLICATION, @@ -67,57 +67,57 @@ static void REFRESH_Default_LogError(const char *msg) ); } -static REFRESH_LogFunc REFRESH_LogInfoFunc = REFRESH_Default_LogInfo; -static REFRESH_LogFunc REFRESH_LogWarnFunc = REFRESH_Default_LogWarn; -static REFRESH_LogFunc REFRESH_LogErrorFunc = REFRESH_Default_LogError; +static Refresh_LogFunc Refresh_LogInfoFunc = Refresh_Default_LogInfo; +static Refresh_LogFunc Refresh_LogWarnFunc = Refresh_Default_LogWarn; +static Refresh_LogFunc Refresh_LogErrorFunc = Refresh_Default_LogError; #define MAX_MESSAGE_SIZE 1024 -void REFRESH_LogInfo(const char *fmt, ...) +void Refresh_LogInfo(const char *fmt, ...) { char msg[MAX_MESSAGE_SIZE]; va_list ap; va_start(ap, fmt); SDL_vsnprintf(msg, sizeof(msg), fmt, ap); va_end(ap); - REFRESH_LogInfoFunc(msg); + Refresh_LogInfoFunc(msg); } -void REFRESH_LogWarn(const char *fmt, ...) +void Refresh_LogWarn(const char *fmt, ...) { char msg[MAX_MESSAGE_SIZE]; va_list ap; va_start(ap, fmt); SDL_vsnprintf(msg, sizeof(msg), fmt, ap); va_end(ap); - REFRESH_LogWarnFunc(msg); + Refresh_LogWarnFunc(msg); } -void REFRESH_LogError(const char *fmt, ...) +void Refresh_LogError(const char *fmt, ...) { char msg[MAX_MESSAGE_SIZE]; va_list ap; va_start(ap, fmt); SDL_vsnprintf(msg, sizeof(msg), fmt, ap); va_end(ap); - REFRESH_LogErrorFunc(msg); + Refresh_LogErrorFunc(msg); } #undef MAX_MESSAGE_SIZE -void REFRESH_HookLogFunctions( - REFRESH_LogFunc info, - REFRESH_LogFunc warn, - REFRESH_LogFunc error +void Refresh_HookLogFunctions( + Refresh_LogFunc info, + Refresh_LogFunc warn, + Refresh_LogFunc error ) { - REFRESH_LogInfoFunc = info; - REFRESH_LogWarnFunc = warn; - REFRESH_LogErrorFunc = error; + Refresh_LogInfoFunc = info; + Refresh_LogWarnFunc = warn; + Refresh_LogErrorFunc = error; } /* Version API */ -uint32_t REFRESH_LinkedVersion(void) +uint32_t Refresh_LinkedVersion(void) { return REFRESH_COMPILED_VERSION; } @@ -126,8 +126,8 @@ uint32_t REFRESH_LinkedVersion(void) static int32_t selectedDriver = 0; -REFRESH_Device* REFRESH_CreateDevice( - REFRESH_PresentationParameters *presentationParameters, +Refresh_Device* Refresh_CreateDevice( + Refresh_PresentationParameters *presentationParameters, uint8_t debugMode ) { if (selectedDriver < 0) @@ -141,18 +141,18 @@ REFRESH_Device* REFRESH_CreateDevice( ); } -void REFRESH_DestroyDevice(REFRESH_Device *device) +void Refresh_DestroyDevice(Refresh_Device *device) { NULL_RETURN(device); device->DestroyDevice(device); } -void REFRESH_Clear( - REFRESH_Device *device, - REFRESH_CommandBuffer *commandBuffer, - REFRESH_Rect *clearRect, - REFRESH_ClearOptions options, - REFRESH_Color *colors, +void Refresh_Clear( + Refresh_Device *device, + Refresh_CommandBuffer *commandBuffer, + Refresh_Rect *clearRect, + Refresh_ClearOptions options, + Refresh_Color *colors, uint32_t colorCount, float depth, int32_t stencil @@ -170,16 +170,16 @@ void REFRESH_Clear( ); } -void REFRESH_DrawIndexedPrimitives( - REFRESH_Device *device, - REFRESH_CommandBuffer *commandBuffer, +void Refresh_DrawIndexedPrimitives( + Refresh_Device *device, + Refresh_CommandBuffer *commandBuffer, uint32_t baseVertex, uint32_t minVertexIndex, uint32_t numVertices, uint32_t startIndex, uint32_t primitiveCount, - REFRESH_Buffer *indices, - REFRESH_IndexElementSize indexElementSize, + Refresh_Buffer *indices, + Refresh_IndexElementSize indexElementSize, uint32_t vertexParamOffset, uint32_t fragmentParamOffset ) { @@ -199,17 +199,17 @@ void REFRESH_DrawIndexedPrimitives( ); } -void REFRESH_DrawInstancedPrimitives( - REFRESH_Device *device, - REFRESH_CommandBuffer *commandBuffer, +void Refresh_DrawInstancedPrimitives( + Refresh_Device *device, + Refresh_CommandBuffer *commandBuffer, uint32_t baseVertex, uint32_t minVertexIndex, uint32_t numVertices, uint32_t startIndex, uint32_t primitiveCount, uint32_t instanceCount, - REFRESH_Buffer *indices, - REFRESH_IndexElementSize indexElementSize, + Refresh_Buffer *indices, + Refresh_IndexElementSize indexElementSize, uint32_t vertexParamOffset, uint32_t fragmentParamOffset ) { @@ -230,9 +230,9 @@ void REFRESH_DrawInstancedPrimitives( ); } -void REFRESH_DrawPrimitives( - REFRESH_Device *device, - REFRESH_CommandBuffer *commandBuffer, +void Refresh_DrawPrimitives( + Refresh_Device *device, + Refresh_CommandBuffer *commandBuffer, uint32_t vertexStart, uint32_t primitiveCount, uint32_t vertexParamOffset, @@ -249,9 +249,9 @@ void REFRESH_DrawPrimitives( ); } -void REFRESH_DispatchCompute( - REFRESH_Device *device, - REFRESH_CommandBuffer *commandBuffer, +void Refresh_DispatchCompute( + Refresh_Device *device, + Refresh_CommandBuffer *commandBuffer, uint32_t groupCountX, uint32_t groupCountY, uint32_t groupCountZ, @@ -268,9 +268,9 @@ void REFRESH_DispatchCompute( ); } -REFRESH_RenderPass* REFRESH_CreateRenderPass( - REFRESH_Device *device, - REFRESH_RenderPassCreateInfo *renderPassCreateInfo +Refresh_RenderPass* Refresh_CreateRenderPass( + Refresh_Device *device, + Refresh_RenderPassCreateInfo *renderPassCreateInfo ) { NULL_RETURN_NULL(device); return device->CreateRenderPass( @@ -279,9 +279,9 @@ REFRESH_RenderPass* REFRESH_CreateRenderPass( ); } -REFRESH_ComputePipeline* REFRESH_CreateComputePipeline( - REFRESH_Device *device, - REFRESH_ComputePipelineCreateInfo *pipelineCreateInfo +Refresh_ComputePipeline* Refresh_CreateComputePipeline( + Refresh_Device *device, + Refresh_ComputePipelineCreateInfo *pipelineCreateInfo ) { NULL_RETURN_NULL(device); return device->CreateComputePipeline( @@ -290,9 +290,9 @@ REFRESH_ComputePipeline* REFRESH_CreateComputePipeline( ); } -REFRESH_GraphicsPipeline* REFRESH_CreateGraphicsPipeline( - REFRESH_Device *device, - REFRESH_GraphicsPipelineCreateInfo *pipelineCreateInfo +Refresh_GraphicsPipeline* Refresh_CreateGraphicsPipeline( + Refresh_Device *device, + Refresh_GraphicsPipelineCreateInfo *pipelineCreateInfo ) { NULL_RETURN_NULL(device); return device->CreateGraphicsPipeline( @@ -301,9 +301,9 @@ REFRESH_GraphicsPipeline* REFRESH_CreateGraphicsPipeline( ); } -REFRESH_Sampler* REFRESH_CreateSampler( - REFRESH_Device *device, - REFRESH_SamplerStateCreateInfo *samplerStateCreateInfo +Refresh_Sampler* Refresh_CreateSampler( + Refresh_Device *device, + Refresh_SamplerStateCreateInfo *samplerStateCreateInfo ) { NULL_RETURN_NULL(device); return device->CreateSampler( @@ -312,9 +312,9 @@ REFRESH_Sampler* REFRESH_CreateSampler( ); } -REFRESH_Framebuffer* REFRESH_CreateFramebuffer( - REFRESH_Device *device, - REFRESH_FramebufferCreateInfo *framebufferCreateInfo +Refresh_Framebuffer* Refresh_CreateFramebuffer( + Refresh_Device *device, + Refresh_FramebufferCreateInfo *framebufferCreateInfo ) { NULL_RETURN_NULL(device); return device->CreateFramebuffer( @@ -323,9 +323,9 @@ REFRESH_Framebuffer* REFRESH_CreateFramebuffer( ); } -REFRESH_ShaderModule* REFRESH_CreateShaderModule( - REFRESH_Device *device, - REFRESH_ShaderModuleCreateInfo *shaderModuleCreateInfo +Refresh_ShaderModule* Refresh_CreateShaderModule( + Refresh_Device *device, + Refresh_ShaderModuleCreateInfo *shaderModuleCreateInfo ) { NULL_RETURN_NULL(device); return device->CreateShaderModule( @@ -334,13 +334,13 @@ REFRESH_ShaderModule* REFRESH_CreateShaderModule( ); } -REFRESH_Texture* REFRESH_CreateTexture2D( - REFRESH_Device *device, - REFRESH_ColorFormat format, +Refresh_Texture* Refresh_CreateTexture2D( + Refresh_Device *device, + Refresh_ColorFormat format, uint32_t width, uint32_t height, uint32_t levelCount, - REFRESH_TextureUsageFlags usageFlags + Refresh_TextureUsageFlags usageFlags ) { NULL_RETURN_NULL(device); return device->CreateTexture2D( @@ -353,14 +353,14 @@ REFRESH_Texture* REFRESH_CreateTexture2D( ); } -REFRESH_Texture* REFRESH_CreateTexture3D( - REFRESH_Device *device, - REFRESH_ColorFormat format, +Refresh_Texture* Refresh_CreateTexture3D( + Refresh_Device *device, + Refresh_ColorFormat format, uint32_t width, uint32_t height, uint32_t depth, uint32_t levelCount, - REFRESH_TextureUsageFlags usageFlags + Refresh_TextureUsageFlags usageFlags ) { NULL_RETURN_NULL(device); return device->CreateTexture3D( @@ -374,12 +374,12 @@ REFRESH_Texture* REFRESH_CreateTexture3D( ); } -REFRESH_Texture* REFRESH_CreateTextureCube( - REFRESH_Device *device, - REFRESH_ColorFormat format, +Refresh_Texture* Refresh_CreateTextureCube( + Refresh_Device *device, + Refresh_ColorFormat format, uint32_t size, uint32_t levelCount, - REFRESH_TextureUsageFlags usageFlags + Refresh_TextureUsageFlags usageFlags ) { NULL_RETURN_NULL(device); return device->CreateTextureCube( @@ -391,10 +391,10 @@ REFRESH_Texture* REFRESH_CreateTextureCube( ); } -REFRESH_ColorTarget* REFRESH_CreateColorTarget( - REFRESH_Device *device, - REFRESH_SampleCount multisampleCount, - REFRESH_TextureSlice *textureSlice +Refresh_ColorTarget* Refresh_CreateColorTarget( + Refresh_Device *device, + Refresh_SampleCount multisampleCount, + Refresh_TextureSlice *textureSlice ) { NULL_RETURN_NULL(device); return device->CreateColorTarget( @@ -404,11 +404,11 @@ REFRESH_ColorTarget* REFRESH_CreateColorTarget( ); } -REFRESH_DepthStencilTarget* REFRESH_CreateDepthStencilTarget( - REFRESH_Device *device, +Refresh_DepthStencilTarget* Refresh_CreateDepthStencilTarget( + Refresh_Device *device, uint32_t width, uint32_t height, - REFRESH_DepthFormat format + Refresh_DepthFormat format ) { NULL_RETURN_NULL(device); return device->CreateDepthStencilTarget( @@ -419,9 +419,9 @@ REFRESH_DepthStencilTarget* REFRESH_CreateDepthStencilTarget( ); } -REFRESH_Buffer* REFRESH_CreateBuffer( - REFRESH_Device *device, - REFRESH_BufferUsageFlags usageFlags, +Refresh_Buffer* Refresh_CreateBuffer( + Refresh_Device *device, + Refresh_BufferUsageFlags usageFlags, uint32_t sizeInBytes ) { NULL_RETURN_NULL(device); @@ -432,9 +432,9 @@ REFRESH_Buffer* REFRESH_CreateBuffer( ); } -void REFRESH_SetTextureData( - REFRESH_Device *device, - REFRESH_TextureSlice *textureSlice, +void Refresh_SetTextureData( + Refresh_Device *device, + Refresh_TextureSlice *textureSlice, void *data, uint32_t dataLengthInBytes ) { @@ -447,11 +447,11 @@ void REFRESH_SetTextureData( ); } -void REFRESH_SetTextureDataYUV( - REFRESH_Device *device, - REFRESH_Texture *y, - REFRESH_Texture *u, - REFRESH_Texture *v, +void Refresh_SetTextureDataYUV( + Refresh_Device *device, + Refresh_Texture *y, + Refresh_Texture *u, + Refresh_Texture *v, uint32_t yWidth, uint32_t yHeight, uint32_t uvWidth, @@ -474,12 +474,12 @@ void REFRESH_SetTextureDataYUV( ); } -void REFRESH_CopyTextureToTexture( - REFRESH_Device *device, - REFRESH_CommandBuffer *commandBuffer, - REFRESH_TextureSlice *sourceTextureSlice, - REFRESH_TextureSlice *destinationTextureSlice, - REFRESH_Filter filter +void Refresh_CopyTextureToTexture( + Refresh_Device *device, + Refresh_CommandBuffer *commandBuffer, + Refresh_TextureSlice *sourceTextureSlice, + Refresh_TextureSlice *destinationTextureSlice, + Refresh_Filter filter ) { NULL_RETURN(device); device->CopyTextureToTexture( @@ -491,11 +491,11 @@ void REFRESH_CopyTextureToTexture( ); } -void REFRESH_CopyTextureToBuffer( - REFRESH_Device *device, - REFRESH_CommandBuffer *commandBuffer, - REFRESH_TextureSlice *textureSlice, - REFRESH_Buffer *buffer +void Refresh_CopyTextureToBuffer( + Refresh_Device *device, + Refresh_CommandBuffer *commandBuffer, + Refresh_TextureSlice *textureSlice, + Refresh_Buffer *buffer ) { NULL_RETURN(device); device->CopyTextureToBuffer( @@ -506,9 +506,9 @@ void REFRESH_CopyTextureToBuffer( ); } -void REFRESH_SetBufferData( - REFRESH_Device *device, - REFRESH_Buffer *buffer, +void Refresh_SetBufferData( + Refresh_Device *device, + Refresh_Buffer *buffer, uint32_t offsetInBytes, void* data, uint32_t dataLength @@ -523,9 +523,9 @@ void REFRESH_SetBufferData( ); } -uint32_t REFRESH_PushVertexShaderParams( - REFRESH_Device *device, - REFRESH_CommandBuffer *commandBuffer, +uint32_t Refresh_PushVertexShaderParams( + Refresh_Device *device, + Refresh_CommandBuffer *commandBuffer, void *data, uint32_t elementCount ) { @@ -538,9 +538,9 @@ uint32_t REFRESH_PushVertexShaderParams( ); } -uint32_t REFRESH_PushFragmentShaderParams( - REFRESH_Device *device, - REFRESH_CommandBuffer *commandBuffer, +uint32_t Refresh_PushFragmentShaderParams( + Refresh_Device *device, + Refresh_CommandBuffer *commandBuffer, void *data, uint32_t elementCount ) { @@ -553,9 +553,9 @@ uint32_t REFRESH_PushFragmentShaderParams( ); } -uint32_t REFRESH_PushComputeShaderParams( - REFRESH_Device *device, - REFRESH_CommandBuffer *commandBuffer, +uint32_t Refresh_PushComputeShaderParams( + Refresh_Device *device, + Refresh_CommandBuffer *commandBuffer, void *data, uint32_t elementCount ) { @@ -568,11 +568,11 @@ uint32_t REFRESH_PushComputeShaderParams( ); } -void REFRESH_SetVertexSamplers( - REFRESH_Device *device, - REFRESH_CommandBuffer *commandBuffer, - REFRESH_Texture **pTextures, - REFRESH_Sampler **pSamplers +void Refresh_SetVertexSamplers( + Refresh_Device *device, + Refresh_CommandBuffer *commandBuffer, + Refresh_Texture **pTextures, + Refresh_Sampler **pSamplers ) { NULL_RETURN(device); device->SetVertexSamplers( @@ -583,11 +583,11 @@ void REFRESH_SetVertexSamplers( ); } -void REFRESH_SetFragmentSamplers( - REFRESH_Device *device, - REFRESH_CommandBuffer *commandBuffer, - REFRESH_Texture **pTextures, - REFRESH_Sampler **pSamplers +void Refresh_SetFragmentSamplers( + Refresh_Device *device, + Refresh_CommandBuffer *commandBuffer, + Refresh_Texture **pTextures, + Refresh_Sampler **pSamplers ) { NULL_RETURN(device); device->SetFragmentSamplers( @@ -598,9 +598,9 @@ void REFRESH_SetFragmentSamplers( ); } -void REFRESH_GetBufferData( - REFRESH_Device *device, - REFRESH_Buffer *buffer, +void Refresh_GetBufferData( + Refresh_Device *device, + Refresh_Buffer *buffer, void *data, uint32_t dataLengthInBytes ) { @@ -613,9 +613,9 @@ void REFRESH_GetBufferData( ); } -void REFRESH_AddDisposeTexture( - REFRESH_Device *device, - REFRESH_Texture *texture +void Refresh_AddDisposeTexture( + Refresh_Device *device, + Refresh_Texture *texture ) { NULL_RETURN(device); device->AddDisposeTexture( @@ -624,9 +624,9 @@ void REFRESH_AddDisposeTexture( ); } -void REFRESH_AddDisposeSampler( - REFRESH_Device *device, - REFRESH_Sampler *sampler +void Refresh_AddDisposeSampler( + Refresh_Device *device, + Refresh_Sampler *sampler ) { NULL_RETURN(device); device->AddDisposeSampler( @@ -635,9 +635,9 @@ void REFRESH_AddDisposeSampler( ); } -void REFRESH_AddDisposeBuffer( - REFRESH_Device *device, - REFRESH_Buffer *buffer +void Refresh_AddDisposeBuffer( + Refresh_Device *device, + Refresh_Buffer *buffer ) { NULL_RETURN(device); device->AddDisposeBuffer( @@ -646,9 +646,9 @@ void REFRESH_AddDisposeBuffer( ); } -void REFRESH_AddDisposeColorTarget( - REFRESH_Device *device, - REFRESH_ColorTarget *colorTarget +void Refresh_AddDisposeColorTarget( + Refresh_Device *device, + Refresh_ColorTarget *colorTarget ) { NULL_RETURN(device); device->AddDisposeColorTarget( @@ -657,9 +657,9 @@ void REFRESH_AddDisposeColorTarget( ); } -void REFRESH_AddDisposeDepthStencilTarget( - REFRESH_Device *device, - REFRESH_DepthStencilTarget *depthStencilTarget +void Refresh_AddDisposeDepthStencilTarget( + Refresh_Device *device, + Refresh_DepthStencilTarget *depthStencilTarget ) { NULL_RETURN(device); device->AddDisposeDepthStencilTarget( @@ -668,9 +668,9 @@ void REFRESH_AddDisposeDepthStencilTarget( ); } -void REFRESH_AddDisposeFramebuffer( - REFRESH_Device *device, - REFRESH_Framebuffer *frameBuffer +void Refresh_AddDisposeFramebuffer( + Refresh_Device *device, + Refresh_Framebuffer *frameBuffer ) { NULL_RETURN(device); device->AddDisposeFramebuffer( @@ -679,9 +679,9 @@ void REFRESH_AddDisposeFramebuffer( ); } -void REFRESH_AddDisposeShaderModule( - REFRESH_Device *device, - REFRESH_ShaderModule *shaderModule +void Refresh_AddDisposeShaderModule( + Refresh_Device *device, + Refresh_ShaderModule *shaderModule ) { NULL_RETURN(device); device->AddDisposeShaderModule( @@ -690,9 +690,9 @@ void REFRESH_AddDisposeShaderModule( ); } -void REFRESH_AddDisposeRenderPass( - REFRESH_Device *device, - REFRESH_RenderPass *renderPass +void Refresh_AddDisposeRenderPass( + Refresh_Device *device, + Refresh_RenderPass *renderPass ) { NULL_RETURN(device); device->AddDisposeRenderPass( @@ -701,9 +701,9 @@ void REFRESH_AddDisposeRenderPass( ); } -void REFRESH_AddDisposeComputePipeline( - REFRESH_Device *device, - REFRESH_ComputePipeline *computePipeline +void Refresh_AddDisposeComputePipeline( + Refresh_Device *device, + Refresh_ComputePipeline *computePipeline ) { NULL_RETURN(device); device->AddDisposeComputePipeline( @@ -712,9 +712,9 @@ void REFRESH_AddDisposeComputePipeline( ); } -void REFRESH_AddDisposeGraphicsPipeline( - REFRESH_Device *device, - REFRESH_GraphicsPipeline *graphicsPipeline +void Refresh_AddDisposeGraphicsPipeline( + Refresh_Device *device, + Refresh_GraphicsPipeline *graphicsPipeline ) { NULL_RETURN(device); device->AddDisposeGraphicsPipeline( @@ -723,15 +723,15 @@ void REFRESH_AddDisposeGraphicsPipeline( ); } -void REFRESH_BeginRenderPass( - REFRESH_Device *device, - REFRESH_CommandBuffer *commandBuffer, - REFRESH_RenderPass *renderPass, - REFRESH_Framebuffer *framebuffer, - REFRESH_Rect renderArea, - REFRESH_Color *pColorClearValues, +void Refresh_BeginRenderPass( + Refresh_Device *device, + Refresh_CommandBuffer *commandBuffer, + Refresh_RenderPass *renderPass, + Refresh_Framebuffer *framebuffer, + Refresh_Rect renderArea, + Refresh_Color *pColorClearValues, uint32_t colorClearCount, - REFRESH_DepthStencilValue *depthStencilClearValue + Refresh_DepthStencilValue *depthStencilClearValue ) { NULL_RETURN(device); device->BeginRenderPass( @@ -746,9 +746,9 @@ void REFRESH_BeginRenderPass( ); } -void REFRESH_EndRenderPass( - REFRESH_Device *device, - REFRESH_CommandBuffer *commandBuffer +void Refresh_EndRenderPass( + Refresh_Device *device, + Refresh_CommandBuffer *commandBuffer ) { NULL_RETURN(device); device->EndRenderPass( @@ -757,10 +757,10 @@ void REFRESH_EndRenderPass( ); } -void REFRESH_BindGraphicsPipeline( - REFRESH_Device *device, - REFRESH_CommandBuffer *commandBuffer, - REFRESH_GraphicsPipeline *graphicsPipeline +void Refresh_BindGraphicsPipeline( + Refresh_Device *device, + Refresh_CommandBuffer *commandBuffer, + Refresh_GraphicsPipeline *graphicsPipeline ) { NULL_RETURN(device); device->BindGraphicsPipeline( @@ -770,12 +770,12 @@ void REFRESH_BindGraphicsPipeline( ); } -void REFRESH_BindVertexBuffers( - REFRESH_Device *device, - REFRESH_CommandBuffer *commandBuffer, +void Refresh_BindVertexBuffers( + Refresh_Device *device, + Refresh_CommandBuffer *commandBuffer, uint32_t firstBinding, uint32_t bindingCount, - REFRESH_Buffer **pBuffers, + Refresh_Buffer **pBuffers, uint64_t *pOffsets ) { NULL_RETURN(device); @@ -789,12 +789,12 @@ void REFRESH_BindVertexBuffers( ); } -void REFRESH_BindIndexBuffer( - REFRESH_Device *device, - REFRESH_CommandBuffer *commandBuffer, - REFRESH_Buffer *buffer, +void Refresh_BindIndexBuffer( + Refresh_Device *device, + Refresh_CommandBuffer *commandBuffer, + Refresh_Buffer *buffer, uint64_t offset, - REFRESH_IndexElementSize indexElementSize + Refresh_IndexElementSize indexElementSize ) { NULL_RETURN(device); device->BindIndexBuffer( @@ -806,10 +806,10 @@ void REFRESH_BindIndexBuffer( ); } -void REFRESH_BindComputePipeline( - REFRESH_Device *device, - REFRESH_CommandBuffer *commandBuffer, - REFRESH_ComputePipeline *computePipeline +void Refresh_BindComputePipeline( + Refresh_Device *device, + Refresh_CommandBuffer *commandBuffer, + Refresh_ComputePipeline *computePipeline ) { NULL_RETURN(device); device->BindComputePipeline( @@ -819,10 +819,10 @@ void REFRESH_BindComputePipeline( ); } -void REFRESH_BindComputeBuffers( - REFRESH_Device *device, - REFRESH_CommandBuffer *commandBuffer, - REFRESH_Buffer **pBuffers +void Refresh_BindComputeBuffers( + Refresh_Device *device, + Refresh_CommandBuffer *commandBuffer, + Refresh_Buffer **pBuffers ) { NULL_RETURN(device); device->BindComputeBuffers( @@ -832,10 +832,10 @@ void REFRESH_BindComputeBuffers( ); } -void REFRESH_BindComputeTextures( - REFRESH_Device *device, - REFRESH_CommandBuffer *commandBuffer, - REFRESH_Texture **pTextures +void Refresh_BindComputeTextures( + Refresh_Device *device, + Refresh_CommandBuffer *commandBuffer, + Refresh_Texture **pTextures ) { NULL_RETURN(device); device->BindComputeTextures( @@ -845,8 +845,8 @@ void REFRESH_BindComputeTextures( ); } -REFRESH_CommandBuffer* REFRESH_AcquireCommandBuffer( - REFRESH_Device *device, +Refresh_CommandBuffer* Refresh_AcquireCommandBuffer( + Refresh_Device *device, uint8_t fixed ) { NULL_RETURN_NULL(device); @@ -856,12 +856,12 @@ REFRESH_CommandBuffer* REFRESH_AcquireCommandBuffer( ); } -void REFRESH_QueuePresent( - REFRESH_Device *device, - REFRESH_CommandBuffer *commandBuffer, - REFRESH_TextureSlice* textureSlice, - REFRESH_Rect *destinationRectangle, - REFRESH_Filter filter +void Refresh_QueuePresent( + Refresh_Device *device, + Refresh_CommandBuffer *commandBuffer, + Refresh_TextureSlice* textureSlice, + Refresh_Rect *destinationRectangle, + Refresh_Filter filter ) { NULL_RETURN(device); device->QueuePresent( @@ -873,10 +873,10 @@ void REFRESH_QueuePresent( ); } -void REFRESH_Submit( - REFRESH_Device *device, +void Refresh_Submit( + Refresh_Device *device, uint32_t commandBufferCount, - REFRESH_CommandBuffer **pCommandBuffers + Refresh_CommandBuffer **pCommandBuffers ) { NULL_RETURN(device); device->Submit( @@ -886,8 +886,8 @@ void REFRESH_Submit( ); } -void REFRESH_Wait( - REFRESH_Device *device +void Refresh_Wait( + Refresh_Device *device ) { NULL_RETURN(device); device->Wait( diff --git a/src/Refresh_Driver.h b/src/Refresh_Driver.h index 1a65d89..43a361f 100644 --- a/src/Refresh_Driver.h +++ b/src/Refresh_Driver.h @@ -36,14 +36,14 @@ /* Logging */ -extern void REFRESH_LogInfo(const char *fmt, ...); -extern void REFRESH_LogWarn(const char *fmt, ...); -extern void REFRESH_LogError(const char *fmt, ...); +extern void Refresh_LogInfo(const char *fmt, ...); +extern void Refresh_LogWarn(const char *fmt, ...); +extern void Refresh_LogError(const char *fmt, ...); /* Internal Helper Utilities */ static inline uint32_t Texture_GetFormatSize( - REFRESH_ColorFormat format + Refresh_ColorFormat format ) { switch (format) { @@ -73,7 +73,7 @@ static inline uint32_t Texture_GetFormatSize( case REFRESH_COLORFORMAT_R32G32B32A32_SFLOAT: return 16; default: - REFRESH_LogError( + Refresh_LogError( "Unrecognized SurfaceFormat!" ); return 0; @@ -81,7 +81,7 @@ static inline uint32_t Texture_GetFormatSize( } static inline uint32_t PrimitiveVerts( - REFRESH_PrimitiveType primitiveType, + Refresh_PrimitiveType primitiveType, uint32_t primitiveCount ) { switch (primitiveType) @@ -97,21 +97,21 @@ static inline uint32_t PrimitiveVerts( case REFRESH_PRIMITIVETYPE_POINTLIST: return primitiveCount; default: - REFRESH_LogError( + Refresh_LogError( "Unrecognized primitive type!" ); return 0; } } -static inline uint32_t IndexSize(REFRESH_IndexElementSize size) +static inline uint32_t IndexSize(Refresh_IndexElementSize size) { return (size == REFRESH_INDEXELEMENTSIZE_16BIT) ? 2 : 4; } static inline uint32_t BytesPerRow( int32_t width, - REFRESH_ColorFormat format + Refresh_ColorFormat format ) { uint32_t blocksPerRow = width; @@ -128,7 +128,7 @@ static inline uint32_t BytesPerRow( static inline int32_t BytesPerImage( uint32_t width, uint32_t height, - REFRESH_ColorFormat format + Refresh_ColorFormat format ) { uint32_t blocksPerRow = width; uint32_t blocksPerColumn = height; @@ -155,61 +155,61 @@ static inline int32_t BytesPerImage( #define MAX_COLOR_TARGET_BINDINGS 4 -/* REFRESH_Device Definition */ +/* Refresh_Device Definition */ -typedef struct REFRESH_Renderer REFRESH_Renderer; +typedef struct Refresh_Renderer Refresh_Renderer; -struct REFRESH_Device +struct Refresh_Device { /* Quit */ - void (*DestroyDevice)(REFRESH_Device *device); + void (*DestroyDevice)(Refresh_Device *device); /* Drawing */ void (*Clear)( - REFRESH_Renderer *driverData, - REFRESH_CommandBuffer *commandBuffer, - REFRESH_Rect *clearRect, - REFRESH_ClearOptions options, - REFRESH_Color *colors, + Refresh_Renderer *driverData, + Refresh_CommandBuffer *commandBuffer, + Refresh_Rect *clearRect, + Refresh_ClearOptions options, + Refresh_Color *colors, uint32_t colorCount, float depth, int32_t stencil ); void (*DrawInstancedPrimitives)( - REFRESH_Renderer *driverData, - REFRESH_CommandBuffer *commandBuffer, + Refresh_Renderer *driverData, + Refresh_CommandBuffer *commandBuffer, uint32_t baseVertex, uint32_t minVertexIndex, uint32_t numVertices, uint32_t startIndex, uint32_t primitiveCount, uint32_t instanceCount, - REFRESH_Buffer *indices, - REFRESH_IndexElementSize indexElementSize, + Refresh_Buffer *indices, + Refresh_IndexElementSize indexElementSize, uint32_t vertexParamOffset, uint32_t fragmentParamOffset ); void (*DrawIndexedPrimitives)( - REFRESH_Renderer *driverData, - REFRESH_CommandBuffer *commandBuffer, + Refresh_Renderer *driverData, + Refresh_CommandBuffer *commandBuffer, uint32_t baseVertex, uint32_t minVertexIndex, uint32_t numVertices, uint32_t startIndex, uint32_t primitiveCount, - REFRESH_Buffer *indices, - REFRESH_IndexElementSize indexElementSize, + Refresh_Buffer *indices, + Refresh_IndexElementSize indexElementSize, uint32_t vertexParamOffset, uint32_t fragmentParamOffset ); void (*DrawPrimitives)( - REFRESH_Renderer *driverData, - REFRESH_CommandBuffer *commandBuffer, + Refresh_Renderer *driverData, + Refresh_CommandBuffer *commandBuffer, uint32_t vertexStart, uint32_t primitiveCount, uint32_t vertexParamOffset, @@ -217,8 +217,8 @@ struct REFRESH_Device ); void (*DispatchCompute)( - REFRESH_Renderer *device, - REFRESH_CommandBuffer *commandBuffer, + Refresh_Renderer *device, + Refresh_CommandBuffer *commandBuffer, uint32_t groupCountX, uint32_t groupCountY, uint32_t groupCountZ, @@ -227,96 +227,96 @@ struct REFRESH_Device /* State Creation */ - REFRESH_RenderPass* (*CreateRenderPass)( - REFRESH_Renderer *driverData, - REFRESH_RenderPassCreateInfo *renderPassCreateInfo + Refresh_RenderPass* (*CreateRenderPass)( + Refresh_Renderer *driverData, + Refresh_RenderPassCreateInfo *renderPassCreateInfo ); - REFRESH_ComputePipeline* (*CreateComputePipeline)( - REFRESH_Renderer *driverData, - REFRESH_ComputePipelineCreateInfo *pipelineCreateInfo + Refresh_ComputePipeline* (*CreateComputePipeline)( + Refresh_Renderer *driverData, + Refresh_ComputePipelineCreateInfo *pipelineCreateInfo ); - REFRESH_GraphicsPipeline* (*CreateGraphicsPipeline)( - REFRESH_Renderer *driverData, - REFRESH_GraphicsPipelineCreateInfo *pipelineCreateInfo + Refresh_GraphicsPipeline* (*CreateGraphicsPipeline)( + Refresh_Renderer *driverData, + Refresh_GraphicsPipelineCreateInfo *pipelineCreateInfo ); - REFRESH_Sampler* (*CreateSampler)( - REFRESH_Renderer *driverData, - REFRESH_SamplerStateCreateInfo *samplerStateCreateInfo + Refresh_Sampler* (*CreateSampler)( + Refresh_Renderer *driverData, + Refresh_SamplerStateCreateInfo *samplerStateCreateInfo ); - REFRESH_Framebuffer* (*CreateFramebuffer)( - REFRESH_Renderer *driverData, - REFRESH_FramebufferCreateInfo *framebufferCreateInfo + Refresh_Framebuffer* (*CreateFramebuffer)( + Refresh_Renderer *driverData, + Refresh_FramebufferCreateInfo *framebufferCreateInfo ); - REFRESH_ShaderModule* (*CreateShaderModule)( - REFRESH_Renderer *driverData, - REFRESH_ShaderModuleCreateInfo *shaderModuleCreateInfo + Refresh_ShaderModule* (*CreateShaderModule)( + Refresh_Renderer *driverData, + Refresh_ShaderModuleCreateInfo *shaderModuleCreateInfo ); - REFRESH_Texture* (*CreateTexture2D)( - REFRESH_Renderer *driverData, - REFRESH_ColorFormat format, + Refresh_Texture* (*CreateTexture2D)( + Refresh_Renderer *driverData, + Refresh_ColorFormat format, uint32_t width, uint32_t height, uint32_t levelCount, - REFRESH_TextureUsageFlags usageFlags + Refresh_TextureUsageFlags usageFlags ); - REFRESH_Texture* (*CreateTexture3D)( - REFRESH_Renderer *driverData, - REFRESH_ColorFormat format, + Refresh_Texture* (*CreateTexture3D)( + Refresh_Renderer *driverData, + Refresh_ColorFormat format, uint32_t width, uint32_t height, uint32_t depth, uint32_t levelCount, - REFRESH_TextureUsageFlags usageFlags + Refresh_TextureUsageFlags usageFlags ); - REFRESH_Texture* (*CreateTextureCube)( - REFRESH_Renderer *driverData, - REFRESH_ColorFormat format, + Refresh_Texture* (*CreateTextureCube)( + Refresh_Renderer *driverData, + Refresh_ColorFormat format, uint32_t size, uint32_t levelCount, - REFRESH_TextureUsageFlags usageFlags + Refresh_TextureUsageFlags usageFlags ); - REFRESH_ColorTarget* (*CreateColorTarget)( - REFRESH_Renderer *driverData, - REFRESH_SampleCount multisampleCount, - REFRESH_TextureSlice *textureSlice + Refresh_ColorTarget* (*CreateColorTarget)( + Refresh_Renderer *driverData, + Refresh_SampleCount multisampleCount, + Refresh_TextureSlice *textureSlice ); - REFRESH_DepthStencilTarget* (*CreateDepthStencilTarget)( - REFRESH_Renderer *driverData, + Refresh_DepthStencilTarget* (*CreateDepthStencilTarget)( + Refresh_Renderer *driverData, uint32_t width, uint32_t height, - REFRESH_DepthFormat format + Refresh_DepthFormat format ); - REFRESH_Buffer* (*CreateBuffer)( - REFRESH_Renderer *driverData, - REFRESH_BufferUsageFlags usageFlags, + Refresh_Buffer* (*CreateBuffer)( + Refresh_Renderer *driverData, + Refresh_BufferUsageFlags usageFlags, uint32_t sizeInBytes ); /* Setters */ void(*SetTextureData)( - REFRESH_Renderer *driverData, - REFRESH_TextureSlice *textureSlice, + Refresh_Renderer *driverData, + Refresh_TextureSlice *textureSlice, void *data, uint32_t dataLengthInBytes ); void(*SetTextureDataYUV)( - REFRESH_Renderer *driverData, - REFRESH_Texture *y, - REFRESH_Texture *u, - REFRESH_Texture *v, + Refresh_Renderer *driverData, + Refresh_Texture *y, + Refresh_Texture *u, + Refresh_Texture *v, uint32_t yWidth, uint32_t yHeight, uint32_t uvWidth, @@ -326,68 +326,68 @@ struct REFRESH_Device ); void(*CopyTextureToTexture)( - REFRESH_Renderer *driverData, - REFRESH_CommandBuffer *commandBuffer, - REFRESH_TextureSlice *sourceTextureSlice, - REFRESH_TextureSlice *destinationTextureSlice, - REFRESH_Filter filter + Refresh_Renderer *driverData, + Refresh_CommandBuffer *commandBuffer, + Refresh_TextureSlice *sourceTextureSlice, + Refresh_TextureSlice *destinationTextureSlice, + Refresh_Filter filter ); void(*CopyTextureToBuffer)( - REFRESH_Renderer *driverData, - REFRESH_CommandBuffer *commandBuffer, - REFRESH_TextureSlice *textureSlice, - REFRESH_Buffer *buffer + Refresh_Renderer *driverData, + Refresh_CommandBuffer *commandBuffer, + Refresh_TextureSlice *textureSlice, + Refresh_Buffer *buffer ); void(*SetBufferData)( - REFRESH_Renderer *driverData, - REFRESH_Buffer *buffer, + Refresh_Renderer *driverData, + Refresh_Buffer *buffer, uint32_t offsetInBytes, void* data, uint32_t dataLength ); uint32_t(*PushVertexShaderParams)( - REFRESH_Renderer *driverData, - REFRESH_CommandBuffer *commandBuffer, + Refresh_Renderer *driverData, + Refresh_CommandBuffer *commandBuffer, void *data, uint32_t elementCount ); uint32_t(*PushFragmentShaderParams)( - REFRESH_Renderer *driverData, - REFRESH_CommandBuffer *commandBuffer, + Refresh_Renderer *driverData, + Refresh_CommandBuffer *commandBuffer, void *data, uint32_t elementCount ); uint32_t (*PushComputeShaderParams)( - REFRESH_Renderer *driverData, - REFRESH_CommandBuffer *commandBuffer, + Refresh_Renderer *driverData, + Refresh_CommandBuffer *commandBuffer, void *data, uint32_t elementCount ); void(*SetVertexSamplers)( - REFRESH_Renderer *driverData, - REFRESH_CommandBuffer *commandBuffer, - REFRESH_Texture **pTextures, - REFRESH_Sampler **pSamplers + Refresh_Renderer *driverData, + Refresh_CommandBuffer *commandBuffer, + Refresh_Texture **pTextures, + Refresh_Sampler **pSamplers ); void(*SetFragmentSamplers)( - REFRESH_Renderer *driverData, - REFRESH_CommandBuffer *commandBuffer, - REFRESH_Texture **pTextures, - REFRESH_Sampler **pSamplers + Refresh_Renderer *driverData, + Refresh_CommandBuffer *commandBuffer, + Refresh_Texture **pTextures, + Refresh_Sampler **pSamplers ); /* Getters */ void(*GetBufferData)( - REFRESH_Renderer *driverData, - REFRESH_Buffer *buffer, + Refresh_Renderer *driverData, + Refresh_Buffer *buffer, void *data, uint32_t dataLengthInBytes ); @@ -395,139 +395,139 @@ struct REFRESH_Device /* Disposal */ void(*AddDisposeTexture)( - REFRESH_Renderer *driverData, - REFRESH_Texture *texture + Refresh_Renderer *driverData, + Refresh_Texture *texture ); void(*AddDisposeSampler)( - REFRESH_Renderer *driverData, - REFRESH_Sampler *sampler + Refresh_Renderer *driverData, + Refresh_Sampler *sampler ); void(*AddDisposeBuffer)( - REFRESH_Renderer *driverData, - REFRESH_Buffer *buffer + Refresh_Renderer *driverData, + Refresh_Buffer *buffer ); void(*AddDisposeColorTarget)( - REFRESH_Renderer *driverData, - REFRESH_ColorTarget *colorTarget + Refresh_Renderer *driverData, + Refresh_ColorTarget *colorTarget ); void(*AddDisposeDepthStencilTarget)( - REFRESH_Renderer *driverData, - REFRESH_DepthStencilTarget *depthStencilTarget + Refresh_Renderer *driverData, + Refresh_DepthStencilTarget *depthStencilTarget ); void(*AddDisposeFramebuffer)( - REFRESH_Renderer *driverData, - REFRESH_Framebuffer *frameBuffer + Refresh_Renderer *driverData, + Refresh_Framebuffer *frameBuffer ); void(*AddDisposeShaderModule)( - REFRESH_Renderer *driverData, - REFRESH_ShaderModule *shaderModule + Refresh_Renderer *driverData, + Refresh_ShaderModule *shaderModule ); void(*AddDisposeRenderPass)( - REFRESH_Renderer *driverData, - REFRESH_RenderPass *renderPass + Refresh_Renderer *driverData, + Refresh_RenderPass *renderPass ); void(*AddDisposeComputePipeline)( - REFRESH_Renderer *driverData, - REFRESH_ComputePipeline *computePipeline + Refresh_Renderer *driverData, + Refresh_ComputePipeline *computePipeline ); void(*AddDisposeGraphicsPipeline)( - REFRESH_Renderer *driverData, - REFRESH_GraphicsPipeline *graphicsPipeline + Refresh_Renderer *driverData, + Refresh_GraphicsPipeline *graphicsPipeline ); /* Graphics State */ void(*BeginRenderPass)( - REFRESH_Renderer *driverData, - REFRESH_CommandBuffer *commandBuffer, - REFRESH_RenderPass *renderPass, - REFRESH_Framebuffer *framebuffer, - REFRESH_Rect renderArea, - REFRESH_Color *pColorClearValues, + Refresh_Renderer *driverData, + Refresh_CommandBuffer *commandBuffer, + Refresh_RenderPass *renderPass, + Refresh_Framebuffer *framebuffer, + Refresh_Rect renderArea, + Refresh_Color *pColorClearValues, uint32_t colorClearCount, - REFRESH_DepthStencilValue *depthStencilClearValue + Refresh_DepthStencilValue *depthStencilClearValue ); void(*EndRenderPass)( - REFRESH_Renderer *driverData, - REFRESH_CommandBuffer *commandBuffer + Refresh_Renderer *driverData, + Refresh_CommandBuffer *commandBuffer ); void(*BindGraphicsPipeline)( - REFRESH_Renderer *driverData, - REFRESH_CommandBuffer *commandBuffer, - REFRESH_GraphicsPipeline *graphicsPipeline + Refresh_Renderer *driverData, + Refresh_CommandBuffer *commandBuffer, + Refresh_GraphicsPipeline *graphicsPipeline ); void(*BindVertexBuffers)( - REFRESH_Renderer *driverData, - REFRESH_CommandBuffer *commandBuffer, + Refresh_Renderer *driverData, + Refresh_CommandBuffer *commandBuffer, uint32_t firstBinding, uint32_t bindingCount, - REFRESH_Buffer **pBuffers, + Refresh_Buffer **pBuffers, uint64_t *pOffsets ); void(*BindIndexBuffer)( - REFRESH_Renderer *driverData, - REFRESH_CommandBuffer *commandBuffer, - REFRESH_Buffer *buffer, + Refresh_Renderer *driverData, + Refresh_CommandBuffer *commandBuffer, + Refresh_Buffer *buffer, uint64_t offset, - REFRESH_IndexElementSize indexElementSize + Refresh_IndexElementSize indexElementSize ); void(*BindComputePipeline)( - REFRESH_Renderer *driverData, - REFRESH_CommandBuffer *commandBuffer, - REFRESH_ComputePipeline *computePipeline + Refresh_Renderer *driverData, + Refresh_CommandBuffer *commandBuffer, + Refresh_ComputePipeline *computePipeline ); void(*BindComputeBuffers)( - REFRESH_Renderer *driverData, - REFRESH_CommandBuffer *commandBuffer, - REFRESH_Buffer **pBuffers + Refresh_Renderer *driverData, + Refresh_CommandBuffer *commandBuffer, + Refresh_Buffer **pBuffers ); void(*BindComputeTextures)( - REFRESH_Renderer *driverData, - REFRESH_CommandBuffer *commandBuffer, - REFRESH_Texture **pTextures + Refresh_Renderer *driverData, + Refresh_CommandBuffer *commandBuffer, + Refresh_Texture **pTextures ); - REFRESH_CommandBuffer* (*AcquireCommandBuffer)( - REFRESH_Renderer *driverData, + Refresh_CommandBuffer* (*AcquireCommandBuffer)( + Refresh_Renderer *driverData, uint8_t fixed ); void(*QueuePresent)( - REFRESH_Renderer *driverData, - REFRESH_CommandBuffer *commandBuffer, - REFRESH_TextureSlice *textureSlice, - REFRESH_Rect *destinationRectangle, - REFRESH_Filter filter + Refresh_Renderer *driverData, + Refresh_CommandBuffer *commandBuffer, + Refresh_TextureSlice *textureSlice, + Refresh_Rect *destinationRectangle, + Refresh_Filter filter ); void(*Submit)( - REFRESH_Renderer *driverData, + Refresh_Renderer *driverData, uint32_t commandBufferCount, - REFRESH_CommandBuffer **pCommandBuffers + Refresh_CommandBuffer **pCommandBuffers ); void(*Wait)( - REFRESH_Renderer *driverData + Refresh_Renderer *driverData ); /* Opaque pointer for the Driver */ - REFRESH_Renderer *driverData; + Refresh_Renderer *driverData; }; #define ASSIGN_DRIVER_FUNC(func, name) \ @@ -585,16 +585,16 @@ struct REFRESH_Device ASSIGN_DRIVER_FUNC(Submit, name) \ ASSIGN_DRIVER_FUNC(Wait, name) -typedef struct REFRESH_Driver +typedef struct Refresh_Driver { const char *Name; - REFRESH_Device* (*CreateDevice)( - REFRESH_PresentationParameters *presentationParameters, + Refresh_Device* (*CreateDevice)( + Refresh_PresentationParameters *presentationParameters, uint8_t debugMode ); -} REFRESH_Driver; +} Refresh_Driver; -extern REFRESH_Driver VulkanDriver; +extern Refresh_Driver VulkanDriver; #endif /* REFRESH_DRIVER_H */ diff --git a/src/Refresh_Driver_Vulkan.c b/src/Refresh_Driver_Vulkan.c index 2d188d0..cb5b986 100644 --- a/src/Refresh_Driver_Vulkan.c +++ b/src/Refresh_Driver_Vulkan.c @@ -90,7 +90,7 @@ static uint32_t deviceExtensionCount = SDL_arraysize(deviceExtensionNames); #define NULL_DESC_LAYOUT (VkDescriptorSetLayout) 0 #define NULL_PIPELINE_LAYOUT (VkPipelineLayout) 0 -#define NULL_RENDER_PASS (REFRESH_RenderPass*) 0 +#define NULL_RENDER_PASS (Refresh_RenderPass*) 0 #define EXPAND_ELEMENTS_IF_NEEDED(arr, initialValue, type) \ if (arr->count == arr->capacity) \ @@ -712,7 +712,7 @@ typedef struct VulkanGraphicsPipeline { VkPipeline pipeline; VulkanGraphicsPipelineLayout *pipelineLayout; - REFRESH_PrimitiveType primitiveType; + Refresh_PrimitiveType primitiveType; VkDescriptorSet vertexSamplerDescriptorSet; /* updated by SetVertexSamplers */ VkDescriptorSet fragmentSamplerDescriptorSet; /* updated by SetFragmentSamplers */ @@ -757,14 +757,14 @@ typedef struct VulkanTexture uint32_t layerCount; uint32_t levelCount; VkFormat format; - REFRESH_ColorFormat refreshFormat; + Refresh_ColorFormat refreshFormat; VulkanResourceAccessType resourceAccessType; uint32_t queueFamilyIndex; - REFRESH_TextureUsageFlags usageFlags; + Refresh_TextureUsageFlags usageFlags; REFRESHNAMELESS union { - REFRESH_ColorFormat colorFormat; - REFRESH_DepthFormat depthStencilFormat; + Refresh_ColorFormat colorFormat; + Refresh_DepthFormat depthStencilFormat; }; } VulkanTexture; @@ -1269,7 +1269,7 @@ typedef struct VulkanRenderer VulkanMemoryAllocator *memoryAllocator; - REFRESH_PresentMode presentMode; + Refresh_PresentMode presentMode; VkSurfaceKHR surface; VkSwapchainKHR swapChain; VkFormat swapChainFormat; @@ -1456,7 +1456,7 @@ typedef struct VulkanRenderer /* Forward declarations */ static void VULKAN_INTERNAL_BeginCommandBuffer(VulkanRenderer *renderer, VulkanCommandBuffer *commandBuffer); -static void VULKAN_Submit(REFRESH_Renderer *driverData, uint32_t commandBufferCount, REFRESH_CommandBuffer **pCommandBuffers); +static void VULKAN_Submit(Refresh_Renderer *driverData, uint32_t commandBufferCount, Refresh_CommandBuffer **pCommandBuffers); static void VULKAN_INTERNAL_FlushTransfers(VulkanRenderer *renderer); /* Error Handling */ @@ -1493,7 +1493,7 @@ static inline void LogVulkanResult( ) { if (result != VK_SUCCESS) { - REFRESH_LogError( + Refresh_LogError( "%s: %s", vulkanFunctionName, VkErrorMessages(result) @@ -1652,7 +1652,7 @@ static uint8_t VULKAN_INTERNAL_FindMemoryType( } } - REFRESH_LogError("Failed to find memory properties %X, filter %X", properties, typeFilter); + Refresh_LogError("Failed to find memory properties %X, filter %X", properties, typeFilter); return 0; } @@ -1680,7 +1680,7 @@ static uint8_t VULKAN_INTERNAL_FindBufferMemoryRequirements( VK_MEMORY_PROPERTY_HOST_VISIBLE_BIT | VK_MEMORY_PROPERTY_HOST_COHERENT_BIT, pMemoryTypeIndex )) { - REFRESH_LogError( + Refresh_LogError( "Could not find valid memory type for buffer creation" ); return 0; @@ -1713,7 +1713,7 @@ static uint8_t VULKAN_INTERNAL_FindImageMemoryRequirements( VK_MEMORY_PROPERTY_DEVICE_LOCAL_BIT, pMemoryTypeIndex )) { - REFRESH_LogError( + Refresh_LogError( "Could not find valid memory type for image creation" ); return 0; @@ -1834,7 +1834,7 @@ static uint8_t VULKAN_INTERNAL_FindAvailableMemory( if (buffer != VK_NULL_HANDLE && image != VK_NULL_HANDLE) { - REFRESH_LogError("Calling FindAvailableMemory with both a buffer and image handle is invalid!"); + Refresh_LogError("Calling FindAvailableMemory with both a buffer and image handle is invalid!"); return 0; } else if (buffer != VK_NULL_HANDLE) @@ -1845,7 +1845,7 @@ static uint8_t VULKAN_INTERNAL_FindAvailableMemory( &memoryRequirements, &memoryTypeIndex )) { - REFRESH_LogError("Failed to acquire buffer memory requirements!"); + Refresh_LogError("Failed to acquire buffer memory requirements!"); return 0; } } @@ -1857,13 +1857,13 @@ static uint8_t VULKAN_INTERNAL_FindAvailableMemory( &memoryRequirements, &memoryTypeIndex )) { - REFRESH_LogError("Failed to acquire image memory requirements!"); + Refresh_LogError("Failed to acquire image memory requirements!"); return 0; } } else { - REFRESH_LogError("Calling FindAvailableMemory with neither buffer nor image handle is invalid!"); + Refresh_LogError("Calling FindAvailableMemory with neither buffer nor image handle is invalid!"); return 0; } @@ -1954,7 +1954,7 @@ static uint8_t VULKAN_INTERNAL_FindAvailableMemory( if (allocationResult == 0) { /* Responsibility of the caller to handle being out of memory */ - REFRESH_LogWarn("Failed to allocate memory!"); + Refresh_LogWarn("Failed to allocate memory!"); SDL_UnlockMutex(renderer->allocatorLock); return 2; @@ -2237,7 +2237,7 @@ static void VULKAN_INTERNAL_DestroyBuffer( if (buffer->bound || buffer->boundSubmitted) { - REFRESH_LogError("Cannot destroy a bound buffer!"); + Refresh_LogError("Cannot destroy a bound buffer!"); return; } @@ -2849,7 +2849,7 @@ static uint8_t VULKAN_INTERNAL_QuerySwapChainSupport( ); if (result != VK_SUCCESS) { - REFRESH_LogError( + Refresh_LogError( "vkGetPhysicalDeviceSurfaceCapabilitiesKHR: %s", VkErrorMessages(result) ); @@ -2885,7 +2885,7 @@ static uint8_t VULKAN_INTERNAL_QuerySwapChainSupport( ); if (result != VK_SUCCESS) { - REFRESH_LogError( + Refresh_LogError( "vkGetPhysicalDeviceSurfaceFormatsKHR: %s", VkErrorMessages(result) ); @@ -2923,7 +2923,7 @@ static uint8_t VULKAN_INTERNAL_QuerySwapChainSupport( ); if (result != VK_SUCCESS) { - REFRESH_LogError( + Refresh_LogError( "vkGetPhysicalDeviceSurfacePresentModesKHR: %s", VkErrorMessages(result) ); @@ -2954,12 +2954,12 @@ static uint8_t VULKAN_INTERNAL_ChooseSwapSurfaceFormat( } } - REFRESH_LogError("Desired surface format is unavailable."); + Refresh_LogError("Desired surface format is unavailable."); return 0; } static uint8_t VULKAN_INTERNAL_ChooseSwapPresentMode( - REFRESH_PresentMode desiredPresentInterval, + Refresh_PresentMode desiredPresentInterval, VkPresentModeKHR *availablePresentModes, uint32_t availablePresentModesLength, VkPresentModeKHR *outputPresentMode @@ -2970,11 +2970,11 @@ static uint8_t VULKAN_INTERNAL_ChooseSwapPresentMode( if (availablePresentModes[i] == m) \ { \ *outputPresentMode = m; \ - REFRESH_LogInfo("Using " #m "!"); \ + Refresh_LogInfo("Using " #m "!"); \ return 1; \ } \ } \ - REFRESH_LogInfo(#m " unsupported."); + Refresh_LogInfo(#m " unsupported."); uint32_t i; if (desiredPresentInterval == REFRESH_PRESENTMODE_IMMEDIATE) @@ -2995,7 +2995,7 @@ static uint8_t VULKAN_INTERNAL_ChooseSwapPresentMode( } else { - REFRESH_LogError( + Refresh_LogError( "Unrecognized PresentInterval: %d", desiredPresentInterval ); @@ -3004,7 +3004,7 @@ static uint8_t VULKAN_INTERNAL_ChooseSwapPresentMode( #undef CHECK_MODE - REFRESH_LogInfo("Fall back to VK_PRESENT_MODE_FIFO_KHR."); + Refresh_LogInfo("Fall back to VK_PRESENT_MODE_FIFO_KHR."); *outputPresentMode = VK_PRESENT_MODE_FIFO_KHR; return 1; } @@ -3029,7 +3029,7 @@ static CreateSwapchainResult VULKAN_INTERNAL_CreateSwapchain( renderer->surface, &swapChainSupportDetails )) { - REFRESH_LogError("Device does not support swap chain creation"); + Refresh_LogError("Device does not support swap chain creation"); return CREATE_SWAPCHAIN_FAIL; } @@ -3046,7 +3046,7 @@ static CreateSwapchainResult VULKAN_INTERNAL_CreateSwapchain( )) { SDL_free(swapChainSupportDetails.formats); SDL_free(swapChainSupportDetails.presentModes); - REFRESH_LogError("Device does not support swap chain format"); + Refresh_LogError("Device does not support swap chain format"); return CREATE_SWAPCHAIN_FAIL; } @@ -3058,7 +3058,7 @@ static CreateSwapchainResult VULKAN_INTERNAL_CreateSwapchain( )) { SDL_free(swapChainSupportDetails.formats); SDL_free(swapChainSupportDetails.presentModes); - REFRESH_LogError("Device does not support swap chain present mode"); + Refresh_LogError("Device does not support swap chain present mode"); return CREATE_SWAPCHAIN_FAIL; } @@ -3249,7 +3249,7 @@ static void VULKAN_INTERNAL_RecreateSwapchain(VulkanRenderer* renderer) if (createSwapchainResult == CREATE_SWAPCHAIN_FAIL) { - REFRESH_LogError("Failed to recreate swapchain"); + Refresh_LogError("Failed to recreate swapchain"); return; } @@ -3308,7 +3308,7 @@ static uint8_t VULKAN_INTERNAL_CreateBuffer( if (vulkanResult != VK_SUCCESS) { LogVulkanResult("vkCreateBuffer", vulkanResult); - REFRESH_LogError("Failed to create VkBuffer"); + Refresh_LogError("Failed to create VkBuffer"); return 0; } @@ -3324,12 +3324,12 @@ static uint8_t VULKAN_INTERNAL_CreateBuffer( /* We're out of available memory */ if (findMemoryResult == 2) { - REFRESH_LogWarn("Out of buffer memory!"); + Refresh_LogWarn("Out of buffer memory!"); return 2; } else if (findMemoryResult == 0) { - REFRESH_LogError("Failed to find buffer memory!"); + Refresh_LogError("Failed to find buffer memory!"); return 0; } @@ -3346,7 +3346,7 @@ static uint8_t VULKAN_INTERNAL_CreateBuffer( if (vulkanResult != VK_SUCCESS) { - REFRESH_LogError("Failed to bind buffer memory!"); + Refresh_LogError("Failed to bind buffer memory!"); return 0; } @@ -3409,7 +3409,7 @@ static void VULKAN_INTERNAL_EndCommandBuffer( /* Public API */ static void VULKAN_DestroyDevice( - REFRESH_Device *device + Refresh_Device *device ) { VulkanRenderer* renderer = (VulkanRenderer*) device->driverData; VkResult waitResult; @@ -3658,11 +3658,11 @@ static void VULKAN_DestroyDevice( } static void VULKAN_Clear( - REFRESH_Renderer *driverData, - REFRESH_CommandBuffer *commandBuffer, - REFRESH_Rect *clearRect, - REFRESH_ClearOptions options, - REFRESH_Color *colors, + Refresh_Renderer *driverData, + Refresh_CommandBuffer *commandBuffer, + Refresh_Rect *clearRect, + Refresh_ClearOptions options, + Refresh_Color *colors, uint32_t colorCount, float depth, int32_t stencil @@ -3771,16 +3771,16 @@ static void VULKAN_Clear( } static void VULKAN_DrawInstancedPrimitives( - REFRESH_Renderer *driverData, - REFRESH_CommandBuffer *commandBuffer, + Refresh_Renderer *driverData, + Refresh_CommandBuffer *commandBuffer, uint32_t baseVertex, uint32_t minVertexIndex, uint32_t numVertices, uint32_t startIndex, uint32_t primitiveCount, uint32_t instanceCount, - REFRESH_Buffer *indices, - REFRESH_IndexElementSize indexElementSize, + Refresh_Buffer *indices, + Refresh_IndexElementSize indexElementSize, uint32_t vertexParamOffset, uint32_t fragmentParamOffset ) { @@ -3823,15 +3823,15 @@ static void VULKAN_DrawInstancedPrimitives( } static void VULKAN_DrawIndexedPrimitives( - REFRESH_Renderer *driverData, - REFRESH_CommandBuffer *commandBuffer, + Refresh_Renderer *driverData, + Refresh_CommandBuffer *commandBuffer, uint32_t baseVertex, uint32_t minVertexIndex, uint32_t numVertices, uint32_t startIndex, uint32_t primitiveCount, - REFRESH_Buffer *indices, - REFRESH_IndexElementSize indexElementSize, + Refresh_Buffer *indices, + Refresh_IndexElementSize indexElementSize, uint32_t vertexParamOffset, uint32_t fragmentParamOffset ) { @@ -3852,8 +3852,8 @@ static void VULKAN_DrawIndexedPrimitives( } static void VULKAN_DrawPrimitives( - REFRESH_Renderer *driverData, - REFRESH_CommandBuffer *commandBuffer, + Refresh_Renderer *driverData, + Refresh_CommandBuffer *commandBuffer, uint32_t vertexStart, uint32_t primitiveCount, uint32_t vertexParamOffset, @@ -3897,8 +3897,8 @@ static void VULKAN_DrawPrimitives( } static void VULKAN_DispatchCompute( - REFRESH_Renderer *driverData, - REFRESH_CommandBuffer *commandBuffer, + Refresh_Renderer *driverData, + Refresh_CommandBuffer *commandBuffer, uint32_t groupCountX, uint32_t groupCountY, uint32_t groupCountZ, @@ -3972,9 +3972,9 @@ static void VULKAN_DispatchCompute( } } -static REFRESH_RenderPass* VULKAN_CreateRenderPass( - REFRESH_Renderer *driverData, - REFRESH_RenderPassCreateInfo *renderPassCreateInfo +static Refresh_RenderPass* VULKAN_CreateRenderPass( + Refresh_Renderer *driverData, + Refresh_RenderPassCreateInfo *renderPassCreateInfo ) { VulkanRenderer *renderer = (VulkanRenderer*) driverData; @@ -4174,7 +4174,7 @@ static REFRESH_RenderPass* VULKAN_CreateRenderPass( return NULL_RENDER_PASS; } - return (REFRESH_RenderPass*) renderPass; + return (Refresh_RenderPass*) renderPass; } static uint8_t VULKAN_INTERNAL_CreateDescriptorPool( @@ -4402,13 +4402,13 @@ static VkDescriptorSetLayout VULKAN_INTERNAL_FetchDescriptorSetLayout( } else { - REFRESH_LogError("Invalid descriptor type for compute shader: ", descriptorType); + Refresh_LogError("Invalid descriptor type for compute shader: ", descriptorType); return NULL_DESC_LAYOUT; } } else { - REFRESH_LogError("Invalid shader stage flag bit: ", shaderStageFlagBit); + Refresh_LogError("Invalid shader stage flag bit: ", shaderStageFlagBit); return NULL_DESC_LAYOUT; } } @@ -4576,9 +4576,9 @@ static VulkanGraphicsPipelineLayout* VULKAN_INTERNAL_FetchGraphicsPipelineLayout return vulkanGraphicsPipelineLayout; } -static REFRESH_GraphicsPipeline* VULKAN_CreateGraphicsPipeline( - REFRESH_Renderer *driverData, - REFRESH_GraphicsPipelineCreateInfo *pipelineCreateInfo +static Refresh_GraphicsPipeline* VULKAN_CreateGraphicsPipeline( + Refresh_Renderer *driverData, + Refresh_GraphicsPipelineCreateInfo *pipelineCreateInfo ) { VkResult vulkanResult; uint32_t i; @@ -4916,7 +4916,7 @@ static REFRESH_GraphicsPipeline* VULKAN_CreateGraphicsPipeline( if (vulkanResult != VK_SUCCESS) { LogVulkanResult("vkCreateGraphicsPipelines", vulkanResult); - REFRESH_LogError("Failed to create graphics pipeline!"); + Refresh_LogError("Failed to create graphics pipeline!"); SDL_stack_free(vertexInputBindingDescriptions); SDL_stack_free(vertexInputAttributeDescriptions); @@ -5014,7 +5014,7 @@ static REFRESH_GraphicsPipeline* VULKAN_CreateGraphicsPipeline( NULL ); - return (REFRESH_GraphicsPipeline*) graphicsPipeline; + return (Refresh_GraphicsPipeline*) graphicsPipeline; } static VulkanComputePipelineLayout* VULKAN_INTERNAL_FetchComputePipelineLayout( @@ -5125,9 +5125,9 @@ static VulkanComputePipelineLayout* VULKAN_INTERNAL_FetchComputePipelineLayout( return vulkanComputePipelineLayout; } -static REFRESH_ComputePipeline* VULKAN_CreateComputePipeline( - REFRESH_Renderer *driverData, - REFRESH_ComputePipelineCreateInfo *pipelineCreateInfo +static Refresh_ComputePipeline* VULKAN_CreateComputePipeline( + Refresh_Renderer *driverData, + Refresh_ComputePipelineCreateInfo *pipelineCreateInfo ) { VkComputePipelineCreateInfo computePipelineCreateInfo; VkPipelineShaderStageCreateInfo pipelineShaderStageCreateInfo; @@ -5221,12 +5221,12 @@ static REFRESH_ComputePipeline* VULKAN_CreateComputePipeline( NULL ); - return (REFRESH_ComputePipeline*) vulkanComputePipeline; + return (Refresh_ComputePipeline*) vulkanComputePipeline; } -static REFRESH_Sampler* VULKAN_CreateSampler( - REFRESH_Renderer *driverData, - REFRESH_SamplerStateCreateInfo *samplerStateCreateInfo +static Refresh_Sampler* VULKAN_CreateSampler( + Refresh_Renderer *driverData, + Refresh_SamplerStateCreateInfo *samplerStateCreateInfo ) { VkResult vulkanResult; VkSampler sampler; @@ -5282,12 +5282,12 @@ static REFRESH_Sampler* VULKAN_CreateSampler( return NULL; } - return (REFRESH_Sampler*) sampler; + return (Refresh_Sampler*) sampler; } -static REFRESH_Framebuffer* VULKAN_CreateFramebuffer( - REFRESH_Renderer *driverData, - REFRESH_FramebufferCreateInfo *framebufferCreateInfo +static Refresh_Framebuffer* VULKAN_CreateFramebuffer( + Refresh_Renderer *driverData, + Refresh_FramebufferCreateInfo *framebufferCreateInfo ) { VkResult vulkanResult; VkFramebufferCreateInfo vkFramebufferCreateInfo; @@ -5355,12 +5355,12 @@ static REFRESH_Framebuffer* VULKAN_CreateFramebuffer( vulkanFramebuffer->height = framebufferCreateInfo->height; SDL_stack_free(imageViews); - return (REFRESH_Framebuffer*) vulkanFramebuffer; + return (Refresh_Framebuffer*) vulkanFramebuffer; } -static REFRESH_ShaderModule* VULKAN_CreateShaderModule( - REFRESH_Renderer *driverData, - REFRESH_ShaderModuleCreateInfo *shaderModuleCreateInfo +static Refresh_ShaderModule* VULKAN_CreateShaderModule( + Refresh_Renderer *driverData, + Refresh_ShaderModuleCreateInfo *shaderModuleCreateInfo ) { VkResult vulkanResult; VkShaderModule shaderModule; @@ -5383,11 +5383,11 @@ static REFRESH_ShaderModule* VULKAN_CreateShaderModule( if (vulkanResult != VK_SUCCESS) { LogVulkanResult("vkCreateShaderModule", vulkanResult); - REFRESH_LogError("Failed to create shader module!"); + Refresh_LogError("Failed to create shader module!"); return NULL; } - return (REFRESH_ShaderModule*) shaderModule; + return (Refresh_ShaderModule*) shaderModule; } /* texture should be an alloc'd but uninitialized VulkanTexture */ @@ -5404,7 +5404,7 @@ static uint8_t VULKAN_INTERNAL_CreateTexture( VkImageTiling tiling, VkImageType imageType, VkImageUsageFlags imageUsageFlags, - REFRESH_TextureUsageFlags textureUsageFlags, + Refresh_TextureUsageFlags textureUsageFlags, VulkanTexture *texture ) { VkResult vulkanResult; @@ -5459,7 +5459,7 @@ static uint8_t VULKAN_INTERNAL_CreateTexture( if (vulkanResult != VK_SUCCESS) { LogVulkanResult("vkCreateImage", vulkanResult); - REFRESH_LogError("Failed to create texture!"); + Refresh_LogError("Failed to create texture!"); } findMemoryResult = VULKAN_INTERNAL_FindAvailableMemory( @@ -5474,7 +5474,7 @@ static uint8_t VULKAN_INTERNAL_CreateTexture( /* No device memory available, time to die */ if (findMemoryResult == 0 || findMemoryResult == 2) { - REFRESH_LogError("Failed to find texture memory!"); + Refresh_LogError("Failed to find texture memory!"); return 0; } @@ -5492,7 +5492,7 @@ static uint8_t VULKAN_INTERNAL_CreateTexture( if (vulkanResult != VK_SUCCESS) { LogVulkanResult("vkBindImageMemory", vulkanResult); - REFRESH_LogError("Failed to bind texture memory!"); + Refresh_LogError("Failed to bind texture memory!"); return 0; } @@ -5522,7 +5522,7 @@ static uint8_t VULKAN_INTERNAL_CreateTexture( } else { - REFRESH_LogError("invalid image type: %u", imageType); + Refresh_LogError("invalid image type: %u", imageType); } vulkanResult = renderer->vkCreateImageView( @@ -5535,7 +5535,7 @@ static uint8_t VULKAN_INTERNAL_CreateTexture( if (vulkanResult != VK_SUCCESS) { LogVulkanResult("vkCreateImageView", vulkanResult); - REFRESH_LogError("Failed to create texture image view"); + Refresh_LogError("Failed to create texture image view"); return 0; } @@ -5552,13 +5552,13 @@ static uint8_t VULKAN_INTERNAL_CreateTexture( return 1; } -static REFRESH_Texture* VULKAN_CreateTexture2D( - REFRESH_Renderer *driverData, - REFRESH_ColorFormat format, +static Refresh_Texture* VULKAN_CreateTexture2D( + Refresh_Renderer *driverData, + Refresh_ColorFormat format, uint32_t width, uint32_t height, uint32_t levelCount, - REFRESH_TextureUsageFlags usageFlags + Refresh_TextureUsageFlags usageFlags ) { VulkanRenderer *renderer = (VulkanRenderer*) driverData; VulkanTexture *result; @@ -5593,17 +5593,17 @@ static REFRESH_Texture* VULKAN_CreateTexture2D( ); result->colorFormat = format; - return (REFRESH_Texture*) result; + return (Refresh_Texture*) result; } -static REFRESH_Texture* VULKAN_CreateTexture3D( - REFRESH_Renderer *driverData, - REFRESH_ColorFormat format, +static Refresh_Texture* VULKAN_CreateTexture3D( + Refresh_Renderer *driverData, + Refresh_ColorFormat format, uint32_t width, uint32_t height, uint32_t depth, uint32_t levelCount, - REFRESH_TextureUsageFlags usageFlags + Refresh_TextureUsageFlags usageFlags ) { VulkanRenderer *renderer = (VulkanRenderer*) driverData; VulkanTexture *result; @@ -5638,15 +5638,15 @@ static REFRESH_Texture* VULKAN_CreateTexture3D( ); result->colorFormat = format; - return (REFRESH_Texture*) result; + return (Refresh_Texture*) result; } -static REFRESH_Texture* VULKAN_CreateTextureCube( - REFRESH_Renderer *driverData, - REFRESH_ColorFormat format, +static Refresh_Texture* VULKAN_CreateTextureCube( + Refresh_Renderer *driverData, + Refresh_ColorFormat format, uint32_t size, uint32_t levelCount, - REFRESH_TextureUsageFlags usageFlags + Refresh_TextureUsageFlags usageFlags ) { VulkanRenderer *renderer = (VulkanRenderer*) driverData; VulkanTexture *result; @@ -5681,13 +5681,13 @@ static REFRESH_Texture* VULKAN_CreateTextureCube( ); result->colorFormat = format; - return (REFRESH_Texture*) result; + return (Refresh_Texture*) result; } -static REFRESH_ColorTarget* VULKAN_CreateColorTarget( - REFRESH_Renderer *driverData, - REFRESH_SampleCount multisampleCount, - REFRESH_TextureSlice *textureSlice +static Refresh_ColorTarget* VULKAN_CreateColorTarget( + Refresh_Renderer *driverData, + Refresh_SampleCount multisampleCount, + Refresh_TextureSlice *textureSlice ) { VkResult vulkanResult; VulkanRenderer *renderer = (VulkanRenderer*) driverData; @@ -5761,18 +5761,18 @@ static REFRESH_ColorTarget* VULKAN_CreateColorTarget( "vkCreateImageView", vulkanResult ); - REFRESH_LogError("Failed to create color attachment image view"); + Refresh_LogError("Failed to create color attachment image view"); return NULL; } - return (REFRESH_ColorTarget*) colorTarget; + return (Refresh_ColorTarget*) colorTarget; } -static REFRESH_DepthStencilTarget* VULKAN_CreateDepthStencilTarget( - REFRESH_Renderer *driverData, +static Refresh_DepthStencilTarget* VULKAN_CreateDepthStencilTarget( + Refresh_Renderer *driverData, uint32_t width, uint32_t height, - REFRESH_DepthFormat format + Refresh_DepthFormat format ) { VulkanRenderer *renderer = (VulkanRenderer*) driverData; VulkanDepthStencilTarget *depthStencilTarget = @@ -5817,12 +5817,12 @@ static REFRESH_DepthStencilTarget* VULKAN_CreateDepthStencilTarget( depthStencilTarget->texture = texture; depthStencilTarget->view = texture->view; - return (REFRESH_DepthStencilTarget*) depthStencilTarget; + return (Refresh_DepthStencilTarget*) depthStencilTarget; } -static REFRESH_Buffer* VULKAN_CreateBuffer( - REFRESH_Renderer *driverData, - REFRESH_BufferUsageFlags usageFlags, +static Refresh_Buffer* VULKAN_CreateBuffer( + Refresh_Renderer *driverData, + Refresh_BufferUsageFlags usageFlags, uint32_t sizeInBytes ) { VulkanBuffer *buffer = (VulkanBuffer*) SDL_malloc(sizeof(VulkanBuffer)); @@ -5853,11 +5853,11 @@ static REFRESH_Buffer* VULKAN_CreateBuffer( SUB_BUFFER_COUNT, buffer )) { - REFRESH_LogError("Failed to create vertex buffer!"); + Refresh_LogError("Failed to create vertex buffer!"); return NULL; } - return (REFRESH_Buffer*) buffer; + return (Refresh_Buffer*) buffer; } /* Setters */ @@ -5891,7 +5891,7 @@ static void VULKAN_INTERNAL_MaybeExpandStagingBuffer( 1, renderer->textureStagingBuffer )) { - REFRESH_LogError("Failed to expand texture staging buffer!"); + Refresh_LogError("Failed to expand texture staging buffer!"); return; } } @@ -6012,8 +6012,8 @@ static void VULKAN_INTERNAL_FlushTransfers( } static void VULKAN_SetTextureData( - REFRESH_Renderer *driverData, - REFRESH_TextureSlice *textureSlice, + Refresh_Renderer *driverData, + Refresh_TextureSlice *textureSlice, void *data, uint32_t dataLengthInBytes ) { @@ -6043,7 +6043,7 @@ static void VULKAN_SetTextureData( if (vulkanResult != VK_SUCCESS) { - REFRESH_LogError("Failed to map buffer memory!"); + Refresh_LogError("Failed to map buffer memory!"); SDL_UnlockMutex(renderer->textureStagingBuffer->subBuffers[0]->allocation->memoryLock); SDL_UnlockMutex(renderer->stagingLock); return; @@ -6118,10 +6118,10 @@ static void VULKAN_SetTextureData( } static void VULKAN_SetTextureDataYUV( - REFRESH_Renderer *driverData, - REFRESH_Texture *y, - REFRESH_Texture *u, - REFRESH_Texture *v, + Refresh_Renderer *driverData, + Refresh_Texture *y, + Refresh_Texture *u, + Refresh_Texture *v, uint32_t yWidth, uint32_t yHeight, uint32_t uvWidth, @@ -6173,7 +6173,7 @@ static void VULKAN_SetTextureDataYUV( if (vulkanResult != VK_SUCCESS) { - REFRESH_LogError("Failed to map buffer memory!"); + Refresh_LogError("Failed to map buffer memory!"); SDL_UnlockMutex(renderer->textureStagingBuffer->subBuffers[0]->allocation->memoryLock); SDL_UnlockMutex(renderer->stagingLock); return; @@ -6324,14 +6324,14 @@ static void VULKAN_SetTextureDataYUV( static void VULKAN_INTERNAL_BlitImage( VulkanRenderer *renderer, VkCommandBuffer commandBuffer, - REFRESH_Rect *sourceRectangle, + Refresh_Rect *sourceRectangle, uint32_t sourceDepth, uint32_t sourceLayer, uint32_t sourceLevel, VkImage sourceImage, VulkanResourceAccessType *currentSourceAccessType, VulkanResourceAccessType nextSourceAccessType, - REFRESH_Rect *destinationRectangle, + Refresh_Rect *destinationRectangle, uint32_t destinationDepth, uint32_t destinationLayer, uint32_t destinationLevel, @@ -6435,11 +6435,11 @@ static void VULKAN_INTERNAL_BlitImage( } REFRESHAPI void VULKAN_CopyTextureToTexture( - REFRESH_Renderer *driverData, - REFRESH_CommandBuffer *commandBuffer, - REFRESH_TextureSlice *sourceTextureSlice, - REFRESH_TextureSlice *destinationTextureSlice, - REFRESH_Filter filter + Refresh_Renderer *driverData, + Refresh_CommandBuffer *commandBuffer, + Refresh_TextureSlice *sourceTextureSlice, + Refresh_TextureSlice *destinationTextureSlice, + Refresh_Filter filter ) { VulkanRenderer *renderer = (VulkanRenderer*)driverData; VulkanCommandBuffer *vulkanCommandBuffer = (VulkanCommandBuffer*) commandBuffer; @@ -6468,8 +6468,8 @@ REFRESHAPI void VULKAN_CopyTextureToTexture( } static void VULKAN_SetBufferData( - REFRESH_Renderer *driverData, - REFRESH_Buffer *buffer, + Refresh_Renderer *driverData, + Refresh_Buffer *buffer, uint32_t offsetInBytes, void* data, uint32_t dataLength @@ -6497,7 +6497,7 @@ static void VULKAN_SetBufferData( } else { - REFRESH_LogError("Buffer already bound. It is an error to set vertex data after binding but before submitting."); + Refresh_LogError("Buffer already bound. It is an error to set vertex data after binding but before submitting."); return; } @@ -6515,7 +6515,7 @@ static void VULKAN_SetBufferData( if (vulkanResult != VK_SUCCESS) { - REFRESH_LogError("Failed to map buffer memory!"); + Refresh_LogError("Failed to map buffer memory!"); SDL_UnlockMutex(SUBBUF->allocation->memoryLock); return; } @@ -6538,8 +6538,8 @@ static void VULKAN_SetBufferData( } static uint32_t VULKAN_PushVertexShaderParams( - REFRESH_Renderer *driverData, - REFRESH_CommandBuffer *commandBuffer, + Refresh_Renderer *driverData, + Refresh_CommandBuffer *commandBuffer, void *data, uint32_t elementCount ) { @@ -6556,13 +6556,13 @@ static uint32_t VULKAN_PushVertexShaderParams( vulkanCommandBuffer->currentGraphicsPipeline->vertexUBOBlockSize >= UBO_BUFFER_SIZE * (renderer->frameIndex + 1) ) { - REFRESH_LogError("Vertex UBO overflow!"); + Refresh_LogError("Vertex UBO overflow!"); return 0; } VULKAN_SetBufferData( - (REFRESH_Renderer*) renderer, - (REFRESH_Buffer*) renderer->vertexUBO, + (Refresh_Renderer*) renderer, + (Refresh_Buffer*) renderer->vertexUBO, renderer->vertexUBOOffset, data, elementCount * vulkanCommandBuffer->currentGraphicsPipeline->vertexUBOBlockSize @@ -6574,8 +6574,8 @@ static uint32_t VULKAN_PushVertexShaderParams( } static uint32_t VULKAN_PushFragmentShaderParams( - REFRESH_Renderer *driverData, - REFRESH_CommandBuffer *commandBuffer, + Refresh_Renderer *driverData, + Refresh_CommandBuffer *commandBuffer, void *data, uint32_t elementCount ) { @@ -6592,13 +6592,13 @@ static uint32_t VULKAN_PushFragmentShaderParams( vulkanCommandBuffer->currentGraphicsPipeline->fragmentUBOBlockSize >= UBO_BUFFER_SIZE * (renderer->frameIndex + 1) ) { - REFRESH_LogError("Fragment UBO overflow!"); + Refresh_LogError("Fragment UBO overflow!"); return 0; } VULKAN_SetBufferData( - (REFRESH_Renderer*) renderer, - (REFRESH_Buffer*) renderer->fragmentUBO, + (Refresh_Renderer*) renderer, + (Refresh_Buffer*) renderer->fragmentUBO, renderer->fragmentUBOOffset, data, elementCount * vulkanCommandBuffer->currentGraphicsPipeline->fragmentUBOBlockSize @@ -6610,8 +6610,8 @@ static uint32_t VULKAN_PushFragmentShaderParams( } static uint32_t VULKAN_PushComputeShaderParams( - REFRESH_Renderer *driverData, - REFRESH_CommandBuffer *commandBuffer, + Refresh_Renderer *driverData, + Refresh_CommandBuffer *commandBuffer, void *data, uint32_t elementCount ) { @@ -6628,13 +6628,13 @@ static uint32_t VULKAN_PushComputeShaderParams( vulkanCommandBuffer->currentComputePipeline->computeUBOBlockSize >= UBO_BUFFER_SIZE * (renderer->frameIndex + 1) ) { - REFRESH_LogError("Compute UBO overflow!"); + Refresh_LogError("Compute UBO overflow!"); return 0; } VULKAN_SetBufferData( - (REFRESH_Renderer*) renderer, - (REFRESH_Buffer*) renderer->computeUBO, + (Refresh_Renderer*) renderer, + (Refresh_Buffer*) renderer->computeUBO, renderer->computeUBOOffset, data, elementCount * vulkanCommandBuffer->currentComputePipeline->computeUBOBlockSize @@ -6945,10 +6945,10 @@ static VkDescriptorSet VULKAN_INTERNAL_FetchImageDescriptorSet( } static void VULKAN_SetVertexSamplers( - REFRESH_Renderer *driverData, - REFRESH_CommandBuffer *commandBuffer, - REFRESH_Texture **pTextures, - REFRESH_Sampler **pSamplers + Refresh_Renderer *driverData, + Refresh_CommandBuffer *commandBuffer, + Refresh_Texture **pTextures, + Refresh_Sampler **pSamplers ) { VulkanRenderer* renderer = (VulkanRenderer*) driverData; VulkanCommandBuffer *vulkanCommandBuffer = (VulkanCommandBuffer*) commandBuffer; @@ -6981,10 +6981,10 @@ static void VULKAN_SetVertexSamplers( } static void VULKAN_SetFragmentSamplers( - REFRESH_Renderer *driverData, - REFRESH_CommandBuffer *commandBuffer, - REFRESH_Texture **pTextures, - REFRESH_Sampler **pSamplers + Refresh_Renderer *driverData, + Refresh_CommandBuffer *commandBuffer, + Refresh_Texture **pTextures, + Refresh_Sampler **pSamplers ) { VulkanRenderer* renderer = (VulkanRenderer*) driverData; VulkanCommandBuffer *vulkanCommandBuffer = (VulkanCommandBuffer*) commandBuffer; @@ -7017,8 +7017,8 @@ static void VULKAN_SetFragmentSamplers( } static void VULKAN_GetBufferData( - REFRESH_Renderer *driverData, - REFRESH_Buffer *buffer, + Refresh_Renderer *driverData, + Refresh_Buffer *buffer, void *data, uint32_t dataLengthInBytes ) { @@ -7041,7 +7041,7 @@ static void VULKAN_GetBufferData( if (vulkanResult != VK_SUCCESS) { - REFRESH_LogError("Failed to map buffer memory!"); + Refresh_LogError("Failed to map buffer memory!"); SDL_UnlockMutex(vulkanBuffer->subBuffers[vulkanBuffer->currentSubBufferIndex]->allocation->memoryLock); return; } @@ -7061,10 +7061,10 @@ static void VULKAN_GetBufferData( } static void VULKAN_CopyTextureToBuffer( - REFRESH_Renderer *driverData, - REFRESH_CommandBuffer *commandBuffer, - REFRESH_TextureSlice *textureSlice, - REFRESH_Buffer *buffer + Refresh_Renderer *driverData, + Refresh_CommandBuffer *commandBuffer, + Refresh_TextureSlice *textureSlice, + Refresh_Buffer *buffer ) { VulkanRenderer *renderer = (VulkanRenderer*) driverData; VulkanCommandBuffer *vulkanCommandBuffer = (VulkanCommandBuffer*) commandBuffer; @@ -7134,8 +7134,8 @@ static void VULKAN_CopyTextureToBuffer( } static void VULKAN_AddDisposeTexture( - REFRESH_Renderer *driverData, - REFRESH_Texture *texture + Refresh_Renderer *driverData, + Refresh_Texture *texture ) { VulkanRenderer* renderer = (VulkanRenderer*)driverData; VulkanTexture* vulkanTexture = (VulkanTexture*)texture; @@ -7157,8 +7157,8 @@ static void VULKAN_AddDisposeTexture( } static void VULKAN_AddDisposeSampler( - REFRESH_Renderer *driverData, - REFRESH_Sampler *sampler + Refresh_Renderer *driverData, + Refresh_Sampler *sampler ) { VulkanRenderer* renderer = (VulkanRenderer*)driverData; VkSampler vulkanSampler = (VkSampler) sampler; @@ -7180,8 +7180,8 @@ static void VULKAN_AddDisposeSampler( } static void VULKAN_AddDisposeBuffer( - REFRESH_Renderer *driverData, - REFRESH_Buffer *buffer + Refresh_Renderer *driverData, + Refresh_Buffer *buffer ) { VulkanRenderer *renderer = (VulkanRenderer*) driverData; VulkanBuffer *vulkanBuffer = (VulkanBuffer*) buffer; @@ -7205,8 +7205,8 @@ static void VULKAN_AddDisposeBuffer( } static void VULKAN_AddDisposeColorTarget( - REFRESH_Renderer *driverData, - REFRESH_ColorTarget *colorTarget + Refresh_Renderer *driverData, + Refresh_ColorTarget *colorTarget ) { VulkanRenderer *renderer = (VulkanRenderer*) driverData; VulkanColorTarget *vulkanColorTarget = (VulkanColorTarget*) colorTarget; @@ -7228,8 +7228,8 @@ static void VULKAN_AddDisposeColorTarget( } static void VULKAN_AddDisposeDepthStencilTarget( - REFRESH_Renderer *driverData, - REFRESH_DepthStencilTarget *depthStencilTarget + Refresh_Renderer *driverData, + Refresh_DepthStencilTarget *depthStencilTarget ) { VulkanRenderer *renderer = (VulkanRenderer*) driverData; VulkanDepthStencilTarget *vulkanDepthStencilTarget = (VulkanDepthStencilTarget*) depthStencilTarget; @@ -7251,8 +7251,8 @@ static void VULKAN_AddDisposeDepthStencilTarget( } static void VULKAN_AddDisposeFramebuffer( - REFRESH_Renderer *driverData, - REFRESH_Framebuffer *framebuffer + Refresh_Renderer *driverData, + Refresh_Framebuffer *framebuffer ) { VulkanRenderer *renderer = (VulkanRenderer*) driverData; VulkanFramebuffer *vulkanFramebuffer = (VulkanFramebuffer*) framebuffer; @@ -7274,8 +7274,8 @@ static void VULKAN_AddDisposeFramebuffer( } static void VULKAN_AddDisposeShaderModule( - REFRESH_Renderer *driverData, - REFRESH_ShaderModule *shaderModule + Refresh_Renderer *driverData, + Refresh_ShaderModule *shaderModule ) { VulkanRenderer *renderer = (VulkanRenderer*) driverData; VkShaderModule vulkanShaderModule = (VkShaderModule) shaderModule; @@ -7297,8 +7297,8 @@ static void VULKAN_AddDisposeShaderModule( } static void VULKAN_AddDisposeRenderPass( - REFRESH_Renderer *driverData, - REFRESH_RenderPass *renderPass + Refresh_Renderer *driverData, + Refresh_RenderPass *renderPass ) { VulkanRenderer *renderer = (VulkanRenderer*) driverData; VkRenderPass vulkanRenderPass = (VkRenderPass) renderPass; @@ -7320,8 +7320,8 @@ static void VULKAN_AddDisposeRenderPass( } static void VULKAN_AddDisposeComputePipeline( - REFRESH_Renderer *driverData, - REFRESH_ComputePipeline *computePipeline + Refresh_Renderer *driverData, + Refresh_ComputePipeline *computePipeline ) { VulkanRenderer *renderer = (VulkanRenderer*) driverData; VulkanComputePipeline *vulkanComputePipeline = (VulkanComputePipeline*) computePipeline; @@ -7343,8 +7343,8 @@ static void VULKAN_AddDisposeComputePipeline( } static void VULKAN_AddDisposeGraphicsPipeline( - REFRESH_Renderer *driverData, - REFRESH_GraphicsPipeline *graphicsPipeline + Refresh_Renderer *driverData, + Refresh_GraphicsPipeline *graphicsPipeline ) { VulkanRenderer *renderer = (VulkanRenderer*) driverData; VulkanGraphicsPipeline *vulkanGraphicsPipeline = (VulkanGraphicsPipeline*) graphicsPipeline; @@ -7366,14 +7366,14 @@ static void VULKAN_AddDisposeGraphicsPipeline( } static void VULKAN_BeginRenderPass( - REFRESH_Renderer *driverData, - REFRESH_CommandBuffer *commandBuffer, - REFRESH_RenderPass *renderPass, - REFRESH_Framebuffer *framebuffer, - REFRESH_Rect renderArea, - REFRESH_Color *pColorClearValues, + Refresh_Renderer *driverData, + Refresh_CommandBuffer *commandBuffer, + Refresh_RenderPass *renderPass, + Refresh_Framebuffer *framebuffer, + Refresh_Rect renderArea, + Refresh_Color *pColorClearValues, uint32_t colorClearCount, - REFRESH_DepthStencilValue *depthStencilClearValue + Refresh_DepthStencilValue *depthStencilClearValue ) { VulkanRenderer* renderer = (VulkanRenderer*) driverData; VulkanCommandBuffer *vulkanCommandBuffer = (VulkanCommandBuffer*) commandBuffer; @@ -7473,8 +7473,8 @@ static void VULKAN_BeginRenderPass( } static void VULKAN_EndRenderPass( - REFRESH_Renderer *driverData, - REFRESH_CommandBuffer *commandBuffer + Refresh_Renderer *driverData, + Refresh_CommandBuffer *commandBuffer ) { VulkanRenderer* renderer = (VulkanRenderer*) driverData; VulkanCommandBuffer *vulkanCommandBuffer = (VulkanCommandBuffer*) commandBuffer; @@ -7511,9 +7511,9 @@ static void VULKAN_EndRenderPass( } static void VULKAN_BindGraphicsPipeline( - REFRESH_Renderer *driverData, - REFRESH_CommandBuffer *commandBuffer, - REFRESH_GraphicsPipeline *graphicsPipeline + Refresh_Renderer *driverData, + Refresh_CommandBuffer *commandBuffer, + Refresh_GraphicsPipeline *graphicsPipeline ) { VulkanRenderer* renderer = (VulkanRenderer*) driverData; VulkanCommandBuffer *vulkanCommandBuffer = (VulkanCommandBuffer*) commandBuffer; @@ -7569,11 +7569,11 @@ static void VULKAN_INTERNAL_MarkAsBound( } static void VULKAN_BindVertexBuffers( - REFRESH_Renderer *driverData, - REFRESH_CommandBuffer *commandBuffer, + Refresh_Renderer *driverData, + Refresh_CommandBuffer *commandBuffer, uint32_t firstBinding, uint32_t bindingCount, - REFRESH_Buffer **pBuffers, + Refresh_Buffer **pBuffers, uint64_t *pOffsets ) { VulkanRenderer* renderer = (VulkanRenderer*) driverData; @@ -7602,11 +7602,11 @@ static void VULKAN_BindVertexBuffers( } static void VULKAN_BindIndexBuffer( - REFRESH_Renderer *driverData, - REFRESH_CommandBuffer *commandBuffer, - REFRESH_Buffer *buffer, + Refresh_Renderer *driverData, + Refresh_CommandBuffer *commandBuffer, + Refresh_Buffer *buffer, uint64_t offset, - REFRESH_IndexElementSize indexElementSize + Refresh_IndexElementSize indexElementSize ) { VulkanRenderer* renderer = (VulkanRenderer*) driverData; VulkanCommandBuffer *vulkanCommandBuffer = (VulkanCommandBuffer*) commandBuffer; @@ -7623,9 +7623,9 @@ static void VULKAN_BindIndexBuffer( } static void VULKAN_BindComputePipeline( - REFRESH_Renderer *driverData, - REFRESH_CommandBuffer *commandBuffer, - REFRESH_ComputePipeline *computePipeline + Refresh_Renderer *driverData, + Refresh_CommandBuffer *commandBuffer, + Refresh_ComputePipeline *computePipeline ) { VulkanRenderer* renderer = (VulkanRenderer*) driverData; VulkanCommandBuffer *vulkanCommandBuffer = (VulkanCommandBuffer*) commandBuffer; @@ -7652,9 +7652,9 @@ static void VULKAN_BindComputePipeline( } static void VULKAN_BindComputeBuffers( - REFRESH_Renderer *driverData, - REFRESH_CommandBuffer *commandBuffer, - REFRESH_Buffer **pBuffers + Refresh_Renderer *driverData, + Refresh_CommandBuffer *commandBuffer, + Refresh_Buffer **pBuffers ) { VulkanRenderer* renderer = (VulkanRenderer*) driverData; VulkanCommandBuffer *vulkanCommandBuffer = (VulkanCommandBuffer*) commandBuffer; @@ -7692,9 +7692,9 @@ static void VULKAN_BindComputeBuffers( } static void VULKAN_BindComputeTextures( - REFRESH_Renderer *driverData, - REFRESH_CommandBuffer *commandBuffer, - REFRESH_Texture **pTextures + Refresh_Renderer *driverData, + Refresh_CommandBuffer *commandBuffer, + Refresh_Texture **pTextures ) { VulkanRenderer* renderer = (VulkanRenderer*) driverData; VulkanCommandBuffer *vulkanCommandBuffer = (VulkanCommandBuffer*) commandBuffer; @@ -7814,7 +7814,7 @@ static VulkanCommandPool* VULKAN_INTERNAL_FetchCommandPool( if (vulkanResult != VK_SUCCESS) { - REFRESH_LogError("Failed to create command pool!"); + Refresh_LogError("Failed to create command pool!"); LogVulkanResult("vkCreateCommandPool", vulkanResult); return NULL; } @@ -7863,8 +7863,8 @@ static VulkanCommandBuffer* VULKAN_INTERNAL_GetInactiveCommandBufferFromPool( return commandBuffer; } -static REFRESH_CommandBuffer* VULKAN_AcquireCommandBuffer( - REFRESH_Renderer *driverData, +static Refresh_CommandBuffer* VULKAN_AcquireCommandBuffer( + Refresh_Renderer *driverData, uint8_t fixed ) { VulkanRenderer *renderer = (VulkanRenderer*) driverData; @@ -7894,20 +7894,20 @@ static REFRESH_CommandBuffer* VULKAN_AcquireCommandBuffer( VULKAN_INTERNAL_BeginCommandBuffer(renderer, commandBuffer); - return (REFRESH_CommandBuffer*) commandBuffer; + return (Refresh_CommandBuffer*) commandBuffer; } static void VULKAN_QueuePresent( - REFRESH_Renderer *driverData, - REFRESH_CommandBuffer *commandBuffer, - REFRESH_TextureSlice *textureSlice, - REFRESH_Rect *destinationRectangle, - REFRESH_Filter filter + Refresh_Renderer *driverData, + Refresh_CommandBuffer *commandBuffer, + Refresh_TextureSlice *textureSlice, + Refresh_Rect *destinationRectangle, + Refresh_Filter filter ) { VkResult acquireResult; uint32_t swapChainImageIndex; - REFRESH_Rect dstRect; + Refresh_Rect dstRect; VulkanRenderer* renderer = (VulkanRenderer*) driverData; VulkanCommandBuffer *vulkanCommandBuffer = (VulkanCommandBuffer*) commandBuffer; @@ -7915,7 +7915,7 @@ static void VULKAN_QueuePresent( if (renderer->headless) { - REFRESH_LogError("Cannot call QueuePresent in headless mode!"); + Refresh_LogError("Cannot call QueuePresent in headless mode!"); return; } @@ -8162,9 +8162,9 @@ static void VULKAN_INTERNAL_ResetCommandBuffer( } static void VULKAN_Submit( - REFRESH_Renderer *driverData, + Refresh_Renderer *driverData, uint32_t commandBufferCount, - REFRESH_CommandBuffer **pCommandBuffers + Refresh_CommandBuffer **pCommandBuffers ) { VulkanRenderer* renderer = (VulkanRenderer*)driverData; VkSubmitInfo transferSubmitInfo, submitInfo; @@ -8367,7 +8367,7 @@ static void VULKAN_Submit( } static void VULKAN_Wait( - REFRESH_Renderer *driverData + Refresh_Renderer *driverData ) { VulkanRenderer *renderer = (VulkanRenderer*) driverData; @@ -8505,7 +8505,7 @@ static uint8_t VULKAN_INTERNAL_CreateInstance( &instanceExtensionCount, NULL )) { - REFRESH_LogError( + Refresh_LogError( "SDL_Vulkan_GetInstanceExtensions(): getExtensionCount: %s", SDL_GetError() ); @@ -8527,7 +8527,7 @@ static uint8_t VULKAN_INTERNAL_CreateInstance( &instanceExtensionCount, instanceExtensionNames )) { - REFRESH_LogError( + Refresh_LogError( "SDL_Vulkan_GetInstanceExtensions(): %s", SDL_GetError() ); @@ -8545,7 +8545,7 @@ static uint8_t VULKAN_INTERNAL_CreateInstance( instanceExtensionCount, &renderer->supportsDebugUtils )) { - REFRESH_LogError( + Refresh_LogError( "Required Vulkan instance extensions not supported" ); @@ -8561,7 +8561,7 @@ static uint8_t VULKAN_INTERNAL_CreateInstance( } else { - REFRESH_LogWarn( + Refresh_LogWarn( "%s is not supported!", VK_EXT_DEBUG_UTILS_EXTENSION_NAME ); @@ -8581,7 +8581,7 @@ static uint8_t VULKAN_INTERNAL_CreateInstance( layerNames, createInfo.enabledLayerCount )) { - REFRESH_LogWarn("Validation layers not found, continuing without validation"); + Refresh_LogWarn("Validation layers not found, continuing without validation"); createInfo.enabledLayerCount = 0; } } @@ -8593,7 +8593,7 @@ static uint8_t VULKAN_INTERNAL_CreateInstance( vulkanResult = vkCreateInstance(&createInfo, NULL, &renderer->instance); if (vulkanResult != VK_SUCCESS) { - REFRESH_LogError( + Refresh_LogError( "vkCreateInstance failed: %s", VkErrorMessages(vulkanResult) ); @@ -8788,7 +8788,7 @@ static uint8_t VULKAN_INTERNAL_DeterminePhysicalDevice( if (vulkanResult != VK_SUCCESS) { - REFRESH_LogError( + Refresh_LogError( "vkEnumeratePhysicalDevices failed: %s", VkErrorMessages(vulkanResult) ); @@ -8797,7 +8797,7 @@ static uint8_t VULKAN_INTERNAL_DeterminePhysicalDevice( if (physicalDeviceCount == 0) { - REFRESH_LogError("Failed to find any GPUs with Vulkan support"); + Refresh_LogError("Failed to find any GPUs with Vulkan support"); return 0; } @@ -8811,7 +8811,7 @@ static uint8_t VULKAN_INTERNAL_DeterminePhysicalDevice( if (vulkanResult != VK_SUCCESS) { - REFRESH_LogError( + Refresh_LogError( "vkEnumeratePhysicalDevices failed: %s", VkErrorMessages(vulkanResult) ); @@ -8847,7 +8847,7 @@ static uint8_t VULKAN_INTERNAL_DeterminePhysicalDevice( } else { - REFRESH_LogError("No suitable physical devices found"); + Refresh_LogError("No suitable physical devices found"); SDL_stack_free(physicalDevices); return 0; } @@ -8943,7 +8943,7 @@ static uint8_t VULKAN_INTERNAL_CreateLogicalDevice( ); if (vulkanResult != VK_SUCCESS) { - REFRESH_LogError( + Refresh_LogError( "vkCreateDevice failed: %s", VkErrorMessages(vulkanResult) ); @@ -8991,11 +8991,11 @@ static uint8_t VULKAN_INTERNAL_CreateLogicalDevice( return 1; } -static REFRESH_Device* VULKAN_CreateDevice( - REFRESH_PresentationParameters *presentationParameters, +static Refresh_Device* VULKAN_CreateDevice( + Refresh_PresentationParameters *presentationParameters, uint8_t debugMode ) { - REFRESH_Device *result; + Refresh_Device *result; VulkanRenderer *renderer; VkResult vulkanResult; @@ -9025,7 +9025,7 @@ static REFRESH_Device* VULKAN_CreateDevice( VkDescriptorPoolSize poolSizes[4]; VkDescriptorSetAllocateInfo descriptorAllocateInfo; - result = (REFRESH_Device*) SDL_malloc(sizeof(REFRESH_Device)); + result = (Refresh_Device*) SDL_malloc(sizeof(Refresh_Device)); ASSIGN_DRIVER(VULKAN) renderer = (VulkanRenderer*) SDL_malloc(sizeof(VulkanRenderer)); @@ -9033,7 +9033,7 @@ static REFRESH_Device* VULKAN_CreateDevice( /* Load Vulkan entry points */ if (SDL_Vulkan_LoadLibrary(NULL) < 0) { - REFRESH_LogWarn("Vulkan: SDL_Vulkan_LoadLibrary failed!"); + Refresh_LogWarn("Vulkan: SDL_Vulkan_LoadLibrary failed!"); return 0; } @@ -9043,7 +9043,7 @@ static REFRESH_Device* VULKAN_CreateDevice( #pragma GCC diagnostic pop if (vkGetInstanceProcAddr == NULL) { - REFRESH_LogWarn( + Refresh_LogWarn( "SDL_Vulkan_GetVkGetInstanceProcAddr(): %s", SDL_GetError() ); @@ -9054,19 +9054,19 @@ static REFRESH_Device* VULKAN_CreateDevice( name = (PFN_##name) vkGetInstanceProcAddr(VK_NULL_HANDLE, #name); \ if (name == NULL) \ { \ - REFRESH_LogWarn("vkGetInstanceProcAddr(VK_NULL_HANDLE, \"" #name "\") failed"); \ + Refresh_LogWarn("vkGetInstanceProcAddr(VK_NULL_HANDLE, \"" #name "\") failed"); \ return 0; \ } #include "Refresh_Driver_Vulkan_vkfuncs.h" - result->driverData = (REFRESH_Renderer*) renderer; + result->driverData = (Refresh_Renderer*) renderer; renderer->debugMode = debugMode; renderer->headless = presentationParameters->deviceWindowHandle == NULL; /* Create the VkInstance */ if (!VULKAN_INTERNAL_CreateInstance(renderer, presentationParameters->deviceWindowHandle)) { - REFRESH_LogError("Error creating vulkan instance"); + Refresh_LogError("Error creating vulkan instance"); return NULL; } @@ -9082,7 +9082,7 @@ static REFRESH_Device* VULKAN_CreateDevice( renderer->instance, &renderer->surface )) { - REFRESH_LogError( + Refresh_LogError( "SDL_Vulkan_CreateSurface failed: %s", SDL_GetError() ); @@ -9110,27 +9110,27 @@ static REFRESH_Device* VULKAN_CreateDevice( deviceExtensionNames, deviceExtensionCount )) { - REFRESH_LogError("Failed to determine a suitable physical device"); + Refresh_LogError("Failed to determine a suitable physical device"); return NULL; } - REFRESH_LogInfo("Refresh Driver: Vulkan"); - REFRESH_LogInfo( + Refresh_LogInfo("Refresh Driver: Vulkan"); + Refresh_LogInfo( "Vulkan Device: %s", renderer->physicalDeviceProperties.properties.deviceName ); - REFRESH_LogInfo( + Refresh_LogInfo( "Vulkan Driver: %s %s", renderer->physicalDeviceDriverProperties.driverName, renderer->physicalDeviceDriverProperties.driverInfo ); - REFRESH_LogInfo( + Refresh_LogInfo( "Vulkan Conformance: %u.%u.%u", renderer->physicalDeviceDriverProperties.conformanceVersion.major, renderer->physicalDeviceDriverProperties.conformanceVersion.minor, renderer->physicalDeviceDriverProperties.conformanceVersion.patch ); - REFRESH_LogWarn( + Refresh_LogWarn( "\n!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!\n" "! Refresh Vulkan is still in development! !\n" "! The API is unstable and subject to change! !\n" @@ -9143,7 +9143,7 @@ static REFRESH_Device* VULKAN_CreateDevice( deviceExtensionNames, deviceExtensionCount )) { - REFRESH_LogError("Failed to create logical device"); + Refresh_LogError("Failed to create logical device"); return NULL; } @@ -9155,7 +9155,7 @@ static REFRESH_Device* VULKAN_CreateDevice( { if (VULKAN_INTERNAL_CreateSwapchain(renderer) != CREATE_SWAPCHAIN_SUCCESS) { - REFRESH_LogError("Failed to create swap chain"); + Refresh_LogError("Failed to create swap chain"); return NULL; } } @@ -9315,7 +9315,7 @@ static REFRESH_Device* VULKAN_CreateDevice( 1, renderer->vertexUBO )) { - REFRESH_LogError("Failed to create vertex UBO!"); + Refresh_LogError("Failed to create vertex UBO!"); return NULL; } @@ -9329,7 +9329,7 @@ static REFRESH_Device* VULKAN_CreateDevice( 1, renderer->fragmentUBO )) { - REFRESH_LogError("Failed to create fragment UBO!"); + Refresh_LogError("Failed to create fragment UBO!"); return NULL; } @@ -9343,7 +9343,7 @@ static REFRESH_Device* VULKAN_CreateDevice( 1, renderer->computeUBO )) { - REFRESH_LogError("Failed to create compute UBO!"); + Refresh_LogError("Failed to create compute UBO!"); return NULL; } @@ -9439,7 +9439,7 @@ static REFRESH_Device* VULKAN_CreateDevice( if (vulkanResult != VK_SUCCESS) { - REFRESH_LogError("Failed to create vertex UBO layout!"); + Refresh_LogError("Failed to create vertex UBO layout!"); return NULL; } @@ -9461,7 +9461,7 @@ static REFRESH_Device* VULKAN_CreateDevice( if (vulkanResult != VK_SUCCESS) { - REFRESH_LogError("Failed to create fragment UBO layout!"); + Refresh_LogError("Failed to create fragment UBO layout!"); return NULL; } @@ -9573,7 +9573,7 @@ static REFRESH_Device* VULKAN_CreateDevice( 1, renderer->textureStagingBuffer )) { - REFRESH_LogError("Failed to create texture staging buffer!"); + Refresh_LogError("Failed to create texture staging buffer!"); return NULL; } @@ -9591,7 +9591,7 @@ static REFRESH_Device* VULKAN_CreateDevice( 1, renderer->dummyVertexUniformBuffer )) { - REFRESH_LogError("Failed to create dummy vertex uniform buffer!"); + Refresh_LogError("Failed to create dummy vertex uniform buffer!"); return NULL; } @@ -9605,7 +9605,7 @@ static REFRESH_Device* VULKAN_CreateDevice( 1, renderer->dummyFragmentUniformBuffer )) { - REFRESH_LogError("Failed to create dummy fragment uniform buffer!"); + Refresh_LogError("Failed to create dummy fragment uniform buffer!"); return NULL; } @@ -9619,7 +9619,7 @@ static REFRESH_Device* VULKAN_CreateDevice( 1, renderer->dummyComputeUniformBuffer )) { - REFRESH_LogError("Fialed to create dummy compute uniform buffer!"); + Refresh_LogError("Fialed to create dummy compute uniform buffer!"); return NULL; } @@ -9818,7 +9818,7 @@ static REFRESH_Device* VULKAN_CreateDevice( return result; } -REFRESH_Driver VulkanDriver = { +Refresh_Driver VulkanDriver = { "Vulkan", VULKAN_CreateDevice }; diff --git a/src/Refresh_Image.c b/src/Refresh_Image.c index 9b9ed52..e87c516 100644 --- a/src/Refresh_Image.c +++ b/src/Refresh_Image.c @@ -189,7 +189,7 @@ static unsigned char* dgibson_stbi_zlib_compress( /* Image Read API */ -uint8_t* REFRESH_Image_Load( +uint8_t* Refresh_Image_Load( char const *filename, int32_t *w, int32_t *h, @@ -198,14 +198,14 @@ uint8_t* REFRESH_Image_Load( return stbi_load(filename, w, h, numChannels, STBI_rgb_alpha); } -void REFRESH_Image_Free(uint8_t *mem) +void Refresh_Image_Free(uint8_t *mem) { stbi_image_free(mem); } /* Image Write API */ -void REFRESH_Image_SavePNG( +void Refresh_Image_SavePNG( const char *filename, int32_t w, int32_t h,