forked from MoonsideGames/Refresh
Added a Refresh driver template file to ease the process of adding new backends
parent
b54b7cc42d
commit
75f538b448
|
@ -0,0 +1,687 @@
|
||||||
|
/* Refresh - XNA-inspired 3D Graphics Library with modern capabilities
|
||||||
|
*
|
||||||
|
* Copyright (c) 2020 Evan Hemsley
|
||||||
|
*
|
||||||
|
* This software is provided 'as-is', without any express or implied warranty.
|
||||||
|
* In no event will the authors be held liable for any damages arising from
|
||||||
|
* the use of this software.
|
||||||
|
*
|
||||||
|
* Permission is granted to anyone to use this software for any purpose,
|
||||||
|
* including commercial applications, and to alter it and redistribute it
|
||||||
|
* freely, subject to the following restrictions:
|
||||||
|
*
|
||||||
|
* 1. The origin of this software must not be misrepresented; you must not
|
||||||
|
* claim that you wrote the original software. If you use this software in a
|
||||||
|
* product, an acknowledgment in the product documentation would be
|
||||||
|
* appreciated but is not required.
|
||||||
|
*
|
||||||
|
* 2. Altered source versions must be plainly marked as such, and must not be
|
||||||
|
* misrepresented as being the original software.
|
||||||
|
*
|
||||||
|
* 3. This notice may not be removed or altered from any source distribution.
|
||||||
|
*
|
||||||
|
* Evan "cosmonaut" Hemsley <evan@moonside.games>
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
|
||||||
|
#if REFRESH_DRIVER_TEMPLATE
|
||||||
|
|
||||||
|
#include "Refresh_Driver.h"
|
||||||
|
|
||||||
|
#include <SDL.h>
|
||||||
|
|
||||||
|
#define NOT_IMPLEMENTED SDL_assert(0 && "Not implemented!")
|
||||||
|
|
||||||
|
/* Conversions */
|
||||||
|
|
||||||
|
static TEMPLATE_SURFACE_FORMAT_TYPE RefreshToTEMPLATE_SurfaceFormat[] =
|
||||||
|
{
|
||||||
|
0, /* R8G8B8A8 */
|
||||||
|
0, /* R5G6B5 */
|
||||||
|
0, /* A1R5G5B5 */
|
||||||
|
0, /* B4G4R4A4 */
|
||||||
|
0, /* BC1 */
|
||||||
|
0, /* BC3 */
|
||||||
|
0, /* BC5 */
|
||||||
|
0, /* R8G8_SNORM */
|
||||||
|
0, /* R8G8B8A8_SNORM */
|
||||||
|
0, /* A2R10G10B10 */
|
||||||
|
0, /* R16G16 */
|
||||||
|
0, /* R16G16B16A16 */
|
||||||
|
0, /* R8 */
|
||||||
|
0, /* R32_SFLOAT */
|
||||||
|
0, /* R32G32_SFLOAT */
|
||||||
|
0, /* R32G32B32A32_SFLOAT */
|
||||||
|
0, /* R16_SFLOAT */
|
||||||
|
0, /* R16G16_SFLOAT */
|
||||||
|
0, /* R16G16B16A16_SFLOAT */
|
||||||
|
0, /* D16 */
|
||||||
|
0, /* D32 */
|
||||||
|
0, /* D16S8 */
|
||||||
|
0 /* D32S8 */
|
||||||
|
};
|
||||||
|
|
||||||
|
static TEMPLATE_VERTEX_FORMAT_TYPE RefreshToTEMPLATE_VertexFormat[] =
|
||||||
|
{
|
||||||
|
0, /* SINGLE */
|
||||||
|
0, /* VECTOR2 */
|
||||||
|
0, /* VECTOR3 */
|
||||||
|
0, /* VECTOR4 */
|
||||||
|
0, /* COLOR */
|
||||||
|
0, /* BYTE4 */
|
||||||
|
0, /* SHORT2 */
|
||||||
|
0, /* SHORT4 */
|
||||||
|
0, /* NORMALIZEDSHORT2 */
|
||||||
|
0, /* NORMALIZEDSHORT4 */
|
||||||
|
0, /* HALFVECTOR2 */
|
||||||
|
0 /* HALFVECTOR4 */
|
||||||
|
};
|
||||||
|
|
||||||
|
static TEMPLATE_INDEX_TYPE RefreshToTEMPLATE_IndexType[] =
|
||||||
|
{
|
||||||
|
0, /* 16BIT */
|
||||||
|
0 /* 32BIT */
|
||||||
|
};
|
||||||
|
|
||||||
|
static TEMPLATE_PRIMITIVE_TYPE RefreshToTEMPLATE_PrimitiveType[] =
|
||||||
|
{
|
||||||
|
0, /* POINTLIST */
|
||||||
|
0, /* LINELIST */
|
||||||
|
0, /* LINESTRIP */
|
||||||
|
0, /* TRIANGLELIST */
|
||||||
|
0 /* TRIANGLESTRIP */
|
||||||
|
};
|
||||||
|
|
||||||
|
static TEMPLATE_POLYGON_MODE_TYPE RefreshToTEMPLATE_PolygonMode[] =
|
||||||
|
{
|
||||||
|
0, /* FILL */
|
||||||
|
0, /* LINE */
|
||||||
|
0 /* POINT */
|
||||||
|
};
|
||||||
|
|
||||||
|
static TEMPLATE_CULL_MODE_TYPE RefreshToTEMPLATE_CullMode[] =
|
||||||
|
{
|
||||||
|
0, /* NONE */
|
||||||
|
0, /* FRONT */
|
||||||
|
0, /* BACK */
|
||||||
|
0 /* FRONT_AND_BACK */
|
||||||
|
};
|
||||||
|
|
||||||
|
static TEMPLATE_FRONT_FACE_TYPE RefreshToTEMPLATE_FrontFace[] =
|
||||||
|
{
|
||||||
|
0, /* COUNTER_CLOCKWISE */
|
||||||
|
0 /* CLOCKWISE */
|
||||||
|
};
|
||||||
|
|
||||||
|
static TEMPLATE_BLEND_FACTOR_TYPE RefreshToTEMPLATE_BlendFactor[] =
|
||||||
|
{
|
||||||
|
0, /* ZERO */
|
||||||
|
0, /* ONE */
|
||||||
|
0, /* SRC_COLOR */
|
||||||
|
0, /* ONE_MINUS_SRC_COLOR */
|
||||||
|
0, /* DST_COLOR */
|
||||||
|
0, /* ONE_MINUS_DST_COLOR */
|
||||||
|
0, /* SRC_ALPHA */
|
||||||
|
0, /* ONE_MINUS_SRC_ALPHA */
|
||||||
|
0, /* DST_ALPHA */
|
||||||
|
0, /* ONE_MINUS_DST_ALPHA */
|
||||||
|
0, /* CONSTANT_COLOR */
|
||||||
|
0, /* ONE_MINUS_CONSTANT_COLOR */
|
||||||
|
0, /* CONSTANT_ALPHA */
|
||||||
|
0, /* ONE_MINUS_CONSTANT_ALPHA */
|
||||||
|
0, /* SRC_ALPHA_SATURATE */
|
||||||
|
0, /* SRC1_COLOR */
|
||||||
|
0, /* ONE_MINUS_SRC1_COLOR */
|
||||||
|
0, /* SRC1_ALPHA */
|
||||||
|
0 /* ONE_MINUS_SRC1_ALPHA */
|
||||||
|
};
|
||||||
|
|
||||||
|
static TEMPLATE_BLEND_OP_TYPE RefreshToTEMPLATE_BlendOp[] =
|
||||||
|
{
|
||||||
|
0, /* ADD */
|
||||||
|
0, /* SUBTRACT */
|
||||||
|
0, /* REVERSE_SUBTRACT */
|
||||||
|
0, /* MIN */
|
||||||
|
0 /* MAX */
|
||||||
|
};
|
||||||
|
|
||||||
|
static TEMPLATE_LOGIC_OP_TYPE RefreshToTEMPLATE_LogicOp[] =
|
||||||
|
{
|
||||||
|
0, /* CLEAR */
|
||||||
|
0, /* AND */
|
||||||
|
0, /* AND_REVERSE */
|
||||||
|
0, /* COPY */
|
||||||
|
0, /* AND_INVERTED */
|
||||||
|
0, /* NO_OP */
|
||||||
|
0, /* XOR */
|
||||||
|
0, /* OR */
|
||||||
|
0, /* NOR */
|
||||||
|
0, /* EQUIVALENT */
|
||||||
|
0, /* INVERT */
|
||||||
|
0, /* OR_REVERSE */
|
||||||
|
0, /* COPY_INVERTED */
|
||||||
|
0, /* OR_INVERTED */
|
||||||
|
0, /* NAND */
|
||||||
|
0 /* SET */
|
||||||
|
};
|
||||||
|
|
||||||
|
static TEMPLATE_COMPARE_OP_TYPE RefreshToTEMPLATE_CompareOp[] =
|
||||||
|
{
|
||||||
|
0, /* NEVER */
|
||||||
|
0, /* LESS */
|
||||||
|
0, /* EQUAL */
|
||||||
|
0, /* LESS_OR_EQUAL */
|
||||||
|
0, /* GREATER */
|
||||||
|
0, /* NOT_EQUAL */
|
||||||
|
0, /* GREATER_OR_EQUAL */
|
||||||
|
0 /* ALWAYS */
|
||||||
|
};
|
||||||
|
|
||||||
|
static TEMPLATE_STENCIL_OP_TYPE RefreshToTEMPLATE_StencilOp[] =
|
||||||
|
{
|
||||||
|
0, /* KEEP */
|
||||||
|
0, /* ZERO */
|
||||||
|
0, /* REPLACE */
|
||||||
|
0, /* INCREMENT_AND_CLAMP */
|
||||||
|
0, /* DECREMENT_AND_CLAMP */
|
||||||
|
0, /* INVERT */
|
||||||
|
0, /* INCREMENT_AND_WRAP */
|
||||||
|
0 /* DECREMENT_AND_WRAP */
|
||||||
|
};
|
||||||
|
|
||||||
|
static TEMPLATE_ATTACHMENT_LOAD_OP_TYPE RefreshToTEMPLATE_LoadOp[] =
|
||||||
|
{
|
||||||
|
0, /* LOAD */
|
||||||
|
0, /* CLEAR */
|
||||||
|
0 /* DONT_CARE */
|
||||||
|
};
|
||||||
|
|
||||||
|
static TEMPLATE_ATTACHMENT_STORE_OP_TYPE RefreshToTEMPLATE_StoreOp[] =
|
||||||
|
{
|
||||||
|
0, /* STORE */
|
||||||
|
0 /* DONT_CARE */
|
||||||
|
};
|
||||||
|
|
||||||
|
static TEMPLATE_SAMPLE_COUNT_TYPE RefreshToTEMPLATE_SampleCount[] =
|
||||||
|
{
|
||||||
|
0, /* 1 */
|
||||||
|
0, /* 2 */
|
||||||
|
0, /* 4 */
|
||||||
|
0, /* 8 */
|
||||||
|
0, /* 16 */
|
||||||
|
0, /* 32 */
|
||||||
|
0 /* 64 */
|
||||||
|
};
|
||||||
|
|
||||||
|
static TEMPLATE_VERTEX_INPUT_RATE_TYPE RefreshToTEMPLATE_VertexInputRate[] =
|
||||||
|
{
|
||||||
|
0, /* VERTEX */
|
||||||
|
0 /* INSTANCE */
|
||||||
|
};
|
||||||
|
|
||||||
|
static TEMPLATE_FILTER_TYPE RefreshToTEMPLATE_Filter[] =
|
||||||
|
{
|
||||||
|
0, /* NEAREST */
|
||||||
|
0, /* LINEAR */
|
||||||
|
0 /* CUBIC */
|
||||||
|
};
|
||||||
|
|
||||||
|
static TEMPLATE_SAMPLER_MIPMAP_MODE_TYPE RefreshToTEMPLATE_SamplerMipmapMode[] =
|
||||||
|
{
|
||||||
|
0, /* NEAREST */
|
||||||
|
0 /* LINEAR */
|
||||||
|
};
|
||||||
|
|
||||||
|
static TEMPLATE_SAMPLER_ADDRESS_MODE_TYPE RefreshToTEMPLATE_SamplerAddressMode[] =
|
||||||
|
{
|
||||||
|
0, /* REPEAT */
|
||||||
|
0, /* MIRRORED_REPEAT */
|
||||||
|
0, /* CLAMP_TO_EDGE */
|
||||||
|
0 /* CLAMP_TO_BORDER */
|
||||||
|
};
|
||||||
|
|
||||||
|
static TEMPLATE_BORDER_COLOR_TYPE RefreshToTEMPLATE_BorderColor[] =
|
||||||
|
{
|
||||||
|
0, /* FLOAT_TRANSPARENT_BLACK */
|
||||||
|
0, /* INT_TRANSPARENT_BLACK */
|
||||||
|
0, /* FLOAT_OPAQUE_BLACK */
|
||||||
|
0, /* INT_OPAQUE_BLACK */
|
||||||
|
0, /* FLOAT_OPAQUE_WHITE */
|
||||||
|
0 /* INT_OPAQUE_WHITE */
|
||||||
|
};
|
||||||
|
|
||||||
|
/* Quit */
|
||||||
|
|
||||||
|
static void TEMPLATE_DestroyDevice(
|
||||||
|
Refresh_Device *device
|
||||||
|
) {
|
||||||
|
NOT_IMPLEMENTED
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Drawing */
|
||||||
|
|
||||||
|
static void TEMPLATE_Clear(
|
||||||
|
Refresh_Renderer *driverData,
|
||||||
|
Refresh_CommandBuffer *commandBuffer,
|
||||||
|
Refresh_Rect *clearRect,
|
||||||
|
Refresh_ClearOptions options,
|
||||||
|
Refresh_Vec4 *colors,
|
||||||
|
uint32_t colorCount,
|
||||||
|
Refresh_DepthStencilValue depthStencil
|
||||||
|
) {
|
||||||
|
NOT_IMPLEMENTED
|
||||||
|
}
|
||||||
|
|
||||||
|
static void TEMPLATE_DrawInstancedPrimitives(
|
||||||
|
Refresh_Renderer *driverData,
|
||||||
|
Refresh_CommandBuffer *commandBuffer,
|
||||||
|
uint32_t baseVertex,
|
||||||
|
uint32_t startIndex,
|
||||||
|
uint32_t primitiveCount,
|
||||||
|
uint32_t instanceCount,
|
||||||
|
uint32_t vertexParamOffset,
|
||||||
|
uint32_t fragmentParamOffset
|
||||||
|
) {
|
||||||
|
NOT_IMPLEMENTED
|
||||||
|
}
|
||||||
|
|
||||||
|
static void TEMPLATE_DrawIndexedPrimitives(
|
||||||
|
Refresh_Renderer *driverData,
|
||||||
|
Refresh_CommandBuffer *commandBuffer,
|
||||||
|
uint32_t baseVertex,
|
||||||
|
uint32_t startIndex,
|
||||||
|
uint32_t primitiveCount,
|
||||||
|
uint32_t vertexParamOffset,
|
||||||
|
uint32_t fragmentParamOffset
|
||||||
|
) {
|
||||||
|
NOT_IMPLEMENTED
|
||||||
|
}
|
||||||
|
|
||||||
|
static void TEMPLATE_DrawPrimitives(
|
||||||
|
Refresh_Renderer *driverData,
|
||||||
|
Refresh_CommandBuffer *commandBuffer,
|
||||||
|
uint32_t vertexStart,
|
||||||
|
uint32_t primitiveCount,
|
||||||
|
uint32_t vertexParamOffset,
|
||||||
|
uint32_t fragmentParamOffset
|
||||||
|
) {
|
||||||
|
NOT_IMPLEMENTED
|
||||||
|
}
|
||||||
|
|
||||||
|
static void TEMPLATE_DispatchCompute(
|
||||||
|
Refresh_Renderer *device,
|
||||||
|
Refresh_CommandBuffer *commandBuffer,
|
||||||
|
uint32_t groupCountX,
|
||||||
|
uint32_t groupCountY,
|
||||||
|
uint32_t groupCountZ,
|
||||||
|
uint32_t computeParamOffset
|
||||||
|
) {
|
||||||
|
NOT_IMPLEMENTED
|
||||||
|
}
|
||||||
|
|
||||||
|
/* State Creation */
|
||||||
|
|
||||||
|
static Refresh_RenderPass* TEMPLATE_CreateRenderPass(
|
||||||
|
Refresh_Renderer *driverData,
|
||||||
|
Refresh_RenderPassCreateInfo *renderPassCreateInfo
|
||||||
|
) {
|
||||||
|
NOT_IMPLEMENTED
|
||||||
|
}
|
||||||
|
|
||||||
|
static Refresh_ComputePipeline* TEMPLATE_CreateComputePipeline(
|
||||||
|
Refresh_Renderer *driverData,
|
||||||
|
Refresh_ComputePipelineCreateInfo *pipelineCreateInfo
|
||||||
|
) {
|
||||||
|
NOT_IMPLEMENTED
|
||||||
|
}
|
||||||
|
|
||||||
|
static Refresh_GraphicsPipeline* TEMPLATE_CreateGraphicsPipeline(
|
||||||
|
Refresh_Renderer *driverData,
|
||||||
|
Refresh_GraphicsPipelineCreateInfo *pipelineCreateInfo
|
||||||
|
) {
|
||||||
|
NOT_IMPLEMENTED
|
||||||
|
}
|
||||||
|
|
||||||
|
static Refresh_Sampler* TEMPLATE_CreateSampler(
|
||||||
|
Refresh_Renderer *driverData,
|
||||||
|
Refresh_SamplerStateCreateInfo *samplerStateCreateInfo
|
||||||
|
) {
|
||||||
|
NOT_IMPLEMENTED
|
||||||
|
}
|
||||||
|
|
||||||
|
static Refresh_Framebuffer* TEMPLATE_CreateFramebuffer(
|
||||||
|
Refresh_Renderer *driverData,
|
||||||
|
Refresh_FramebufferCreateInfo *framebufferCreateInfo
|
||||||
|
) {
|
||||||
|
NOT_IMPLEMENTED
|
||||||
|
}
|
||||||
|
|
||||||
|
static Refresh_ShaderModule* TEMPLATE_CreateShaderModule(
|
||||||
|
Refresh_Renderer *driverData,
|
||||||
|
Refresh_ShaderModuleCreateInfo *shaderModuleCreateInfo
|
||||||
|
) {
|
||||||
|
NOT_IMPLEMENTED
|
||||||
|
}
|
||||||
|
|
||||||
|
static Refresh_Texture* TEMPLATE_CreateTexture(
|
||||||
|
Refresh_Renderer *driverData,
|
||||||
|
Refresh_TextureCreateInfo *textureCreateInfo
|
||||||
|
) {
|
||||||
|
NOT_IMPLEMENTED
|
||||||
|
}
|
||||||
|
|
||||||
|
static Refresh_RenderTarget* TEMPLATE_CreateRenderTarget(
|
||||||
|
Refresh_Renderer *driverData,
|
||||||
|
Refresh_TextureSlice *textureSlice,
|
||||||
|
Refresh_SampleCount multisampleCount
|
||||||
|
) {
|
||||||
|
NOT_IMPLEMENTED
|
||||||
|
}
|
||||||
|
|
||||||
|
static Refresh_Buffer* TEMPLATE_CreateBuffer(
|
||||||
|
Refresh_Renderer *driverData,
|
||||||
|
Refresh_BufferUsageFlags usageFlags,
|
||||||
|
uint32_t sizeInBytes
|
||||||
|
) {
|
||||||
|
NOT_IMPLEMENTED
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Setters */
|
||||||
|
|
||||||
|
static void TEMPLATE_SetTextureData(
|
||||||
|
Refresh_Renderer *driverData,
|
||||||
|
Refresh_CommandBuffer *commandBuffer,
|
||||||
|
Refresh_TextureSlice *textureSlice,
|
||||||
|
void *data,
|
||||||
|
uint32_t dataLengthInBytes
|
||||||
|
) {
|
||||||
|
NOT_IMPLEMENTED
|
||||||
|
}
|
||||||
|
|
||||||
|
static void TEMPLATE_SetTextureDataYUV(
|
||||||
|
Refresh_Renderer *driverData,
|
||||||
|
Refresh_CommandBuffer* commandBuffer,
|
||||||
|
Refresh_Texture *y,
|
||||||
|
Refresh_Texture *u,
|
||||||
|
Refresh_Texture *v,
|
||||||
|
uint32_t yWidth,
|
||||||
|
uint32_t yHeight,
|
||||||
|
uint32_t uvWidth,
|
||||||
|
uint32_t uvHeight,
|
||||||
|
void* data,
|
||||||
|
uint32_t dataLength
|
||||||
|
) {
|
||||||
|
NOT_IMPLEMENTED
|
||||||
|
}
|
||||||
|
|
||||||
|
static void TEMPLATE_CopyTextureToTexture(
|
||||||
|
Refresh_Renderer *driverData,
|
||||||
|
Refresh_CommandBuffer *commandBuffer,
|
||||||
|
Refresh_TextureSlice *sourceTextureSlice,
|
||||||
|
Refresh_TextureSlice *destinationTextureSlice,
|
||||||
|
Refresh_Filter filter
|
||||||
|
) {
|
||||||
|
NOT_IMPLEMENTED
|
||||||
|
}
|
||||||
|
|
||||||
|
static void TEMPLATE_CopyTextureToBuffer(
|
||||||
|
Refresh_Renderer *driverData,
|
||||||
|
Refresh_CommandBuffer *commandBuffer,
|
||||||
|
Refresh_TextureSlice *textureSlice,
|
||||||
|
Refresh_Buffer *buffer
|
||||||
|
) {
|
||||||
|
NOT_IMPLEMENTED
|
||||||
|
}
|
||||||
|
|
||||||
|
static void TEMPLATE_SetBufferData(
|
||||||
|
Refresh_Renderer *driverData,
|
||||||
|
Refresh_CommandBuffer *commandBuffer,
|
||||||
|
Refresh_Buffer *buffer,
|
||||||
|
uint32_t offsetInBytes,
|
||||||
|
void* data,
|
||||||
|
uint32_t dataLength
|
||||||
|
) {
|
||||||
|
NOT_IMPLEMENTED
|
||||||
|
}
|
||||||
|
|
||||||
|
static uint32_t TEMPLATE_PushVertexShaderUniforms(
|
||||||
|
Refresh_Renderer *driverData,
|
||||||
|
Refresh_CommandBuffer *commandBuffer,
|
||||||
|
void *data,
|
||||||
|
uint32_t dataLengthInBytes
|
||||||
|
) {
|
||||||
|
NOT_IMPLEMENTED
|
||||||
|
}
|
||||||
|
|
||||||
|
static uint32_t TEMPLATE_PushFragmentShaderUniforms(
|
||||||
|
Refresh_Renderer *driverData,
|
||||||
|
Refresh_CommandBuffer *commandBuffer,
|
||||||
|
void *data,
|
||||||
|
uint32_t dataLengthInBytes
|
||||||
|
) {
|
||||||
|
NOT_IMPLEMENTED
|
||||||
|
}
|
||||||
|
|
||||||
|
static uint32_t TEMPLATE_PushComputeShaderUniforms(
|
||||||
|
Refresh_Renderer *driverData,
|
||||||
|
Refresh_CommandBuffer *commandBuffer,
|
||||||
|
void *data,
|
||||||
|
uint32_t dataLengthInBytes
|
||||||
|
) {
|
||||||
|
NOT_IMPLEMENTED
|
||||||
|
}
|
||||||
|
|
||||||
|
static void TEMPLATE_BindVertexSamplers(
|
||||||
|
Refresh_Renderer *driverData,
|
||||||
|
Refresh_CommandBuffer *commandBuffer,
|
||||||
|
Refresh_Texture **pTextures,
|
||||||
|
Refresh_Sampler **pSamplers
|
||||||
|
) {
|
||||||
|
NOT_IMPLEMENTED
|
||||||
|
}
|
||||||
|
|
||||||
|
static void TEMPLATE_BindFragmentSamplers(
|
||||||
|
Refresh_Renderer *driverData,
|
||||||
|
Refresh_CommandBuffer *commandBuffer,
|
||||||
|
Refresh_Texture **pTextures,
|
||||||
|
Refresh_Sampler **pSamplers
|
||||||
|
) {
|
||||||
|
NOT_IMPLEMENTED
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Getters */
|
||||||
|
|
||||||
|
static void TEMPLATE_GetBufferData(
|
||||||
|
Refresh_Renderer *driverData,
|
||||||
|
Refresh_Buffer *buffer,
|
||||||
|
void *data,
|
||||||
|
uint32_t dataLengthInBytes
|
||||||
|
) {
|
||||||
|
NOT_IMPLEMENTED
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Disposal */
|
||||||
|
|
||||||
|
static void TEMPLATE_QueueDestroyTexture(
|
||||||
|
Refresh_Renderer *driverData,
|
||||||
|
Refresh_Texture *texture
|
||||||
|
) {
|
||||||
|
NOT_IMPLEMENTED
|
||||||
|
}
|
||||||
|
|
||||||
|
static void TEMPLATE_QueueDestroySampler(
|
||||||
|
Refresh_Renderer *driverData,
|
||||||
|
Refresh_Sampler *sampler
|
||||||
|
) {
|
||||||
|
NOT_IMPLEMENTED
|
||||||
|
}
|
||||||
|
|
||||||
|
static void TEMPLATE_QueueDestroyBuffer(
|
||||||
|
Refresh_Renderer *driverData,
|
||||||
|
Refresh_Buffer *buffer
|
||||||
|
) {
|
||||||
|
NOT_IMPLEMENTED
|
||||||
|
}
|
||||||
|
|
||||||
|
static void TEMPLATE_QueueDestroyRenderTarget(
|
||||||
|
Refresh_Renderer *driverData,
|
||||||
|
Refresh_RenderTarget *renderTarget
|
||||||
|
) {
|
||||||
|
NOT_IMPLEMENTED
|
||||||
|
}
|
||||||
|
|
||||||
|
static void TEMPLATE_QueueDestroyFramebuffer(
|
||||||
|
Refresh_Renderer *driverData,
|
||||||
|
Refresh_Framebuffer *frameBuffer
|
||||||
|
) {
|
||||||
|
NOT_IMPLEMENTED
|
||||||
|
}
|
||||||
|
|
||||||
|
static void TEMPLATE_QueueDestroyShaderModule(
|
||||||
|
Refresh_Renderer *driverData,
|
||||||
|
Refresh_ShaderModule *shaderModule
|
||||||
|
) {
|
||||||
|
NOT_IMPLEMENTED
|
||||||
|
}
|
||||||
|
|
||||||
|
static void TEMPLATE_QueueDestroyRenderPass(
|
||||||
|
Refresh_Renderer *driverData,
|
||||||
|
Refresh_RenderPass *renderPass
|
||||||
|
) {
|
||||||
|
NOT_IMPLEMENTED
|
||||||
|
}
|
||||||
|
|
||||||
|
static void TEMPLATE_QueueDestroyComputePipeline(
|
||||||
|
Refresh_Renderer *driverData,
|
||||||
|
Refresh_ComputePipeline *computePipeline
|
||||||
|
) {
|
||||||
|
NOT_IMPLEMENTED
|
||||||
|
}
|
||||||
|
|
||||||
|
static void TEMPLATE_QueueDestroyGraphicsPipeline(
|
||||||
|
Refresh_Renderer *driverData,
|
||||||
|
Refresh_GraphicsPipeline *graphicsPipeline
|
||||||
|
) {
|
||||||
|
NOT_IMPLEMENTED
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Graphics State */
|
||||||
|
|
||||||
|
static void TEMPLATE_BeginRenderPass(
|
||||||
|
Refresh_Renderer *driverData,
|
||||||
|
Refresh_CommandBuffer *commandBuffer,
|
||||||
|
Refresh_RenderPass *renderPass,
|
||||||
|
Refresh_Framebuffer *framebuffer,
|
||||||
|
Refresh_Rect *renderArea,
|
||||||
|
Refresh_Vec4 *pColorClearValues,
|
||||||
|
uint32_t colorClearCount,
|
||||||
|
Refresh_DepthStencilValue *depthStencilClearValue
|
||||||
|
) {
|
||||||
|
NOT_IMPLEMENTED
|
||||||
|
}
|
||||||
|
|
||||||
|
static void TEMPLATE_EndRenderPass(
|
||||||
|
Refresh_Renderer *driverData,
|
||||||
|
Refresh_CommandBuffer *commandBuffer
|
||||||
|
) {
|
||||||
|
NOT_IMPLEMENTED
|
||||||
|
}
|
||||||
|
|
||||||
|
static void TEMPLATE_BindGraphicsPipeline(
|
||||||
|
Refresh_Renderer *driverData,
|
||||||
|
Refresh_CommandBuffer *commandBuffer,
|
||||||
|
Refresh_GraphicsPipeline *graphicsPipeline
|
||||||
|
) {
|
||||||
|
NOT_IMPLEMENTED
|
||||||
|
}
|
||||||
|
|
||||||
|
static void TEMPLATE_BindVertexBuffers(
|
||||||
|
Refresh_Renderer *driverData,
|
||||||
|
Refresh_CommandBuffer *commandBuffer,
|
||||||
|
uint32_t firstBinding,
|
||||||
|
uint32_t bindingCount,
|
||||||
|
Refresh_Buffer **pBuffers,
|
||||||
|
uint64_t *pOffsets
|
||||||
|
) {
|
||||||
|
NOT_IMPLEMENTED
|
||||||
|
}
|
||||||
|
|
||||||
|
static void TEMPLATE_BindIndexBuffer(
|
||||||
|
Refresh_Renderer *driverData,
|
||||||
|
Refresh_CommandBuffer *commandBuffer,
|
||||||
|
Refresh_Buffer *buffer,
|
||||||
|
uint64_t offset,
|
||||||
|
Refresh_IndexElementSize indexElementSize
|
||||||
|
) {
|
||||||
|
NOT_IMPLEMENTED
|
||||||
|
}
|
||||||
|
|
||||||
|
static void TEMPLATE_BindComputePipeline(
|
||||||
|
Refresh_Renderer *driverData,
|
||||||
|
Refresh_CommandBuffer *commandBuffer,
|
||||||
|
Refresh_ComputePipeline *computePipeline
|
||||||
|
) {
|
||||||
|
NOT_IMPLEMENTED
|
||||||
|
}
|
||||||
|
|
||||||
|
static void TEMPLATE_BindComputeBuffers(
|
||||||
|
Refresh_Renderer *driverData,
|
||||||
|
Refresh_CommandBuffer *commandBuffer,
|
||||||
|
Refresh_Buffer **pBuffers
|
||||||
|
) {
|
||||||
|
NOT_IMPLEMENTED
|
||||||
|
}
|
||||||
|
|
||||||
|
static void TEMPLATE_BindComputeTextures(
|
||||||
|
Refresh_Renderer *driverData,
|
||||||
|
Refresh_CommandBuffer *commandBuffer,
|
||||||
|
Refresh_Texture **pTextures
|
||||||
|
) {
|
||||||
|
NOT_IMPLEMENTED
|
||||||
|
}
|
||||||
|
|
||||||
|
static Refresh_CommandBuffer* TEMPLATE_AcquireCommandBuffer(
|
||||||
|
Refresh_Renderer *driverData,
|
||||||
|
uint8_t fixed
|
||||||
|
) {
|
||||||
|
NOT_IMPLEMENTED
|
||||||
|
}
|
||||||
|
|
||||||
|
static void TEMPLATE_QueuePresent(
|
||||||
|
Refresh_Renderer *driverData,
|
||||||
|
Refresh_CommandBuffer *commandBuffer,
|
||||||
|
Refresh_TextureSlice *textureSlice,
|
||||||
|
Refresh_Rect *destinationRectangle,
|
||||||
|
Refresh_Filter filter,
|
||||||
|
void *windowHandle
|
||||||
|
) {
|
||||||
|
NOT_IMPLEMENTED
|
||||||
|
}
|
||||||
|
|
||||||
|
static void TEMPLATE_Submit(
|
||||||
|
Refresh_Renderer *driverData,
|
||||||
|
uint32_t commandBufferCount,
|
||||||
|
Refresh_CommandBuffer **pCommandBuffers
|
||||||
|
) {
|
||||||
|
NOT_IMPLEMENTED
|
||||||
|
}
|
||||||
|
|
||||||
|
static void TEMPLATE_Wait(
|
||||||
|
Refresh_Renderer *driverData
|
||||||
|
) {
|
||||||
|
NOT_IMPLEMENTED
|
||||||
|
}
|
||||||
|
|
||||||
|
static Refresh_Device* TEMPLATE_CreateDevice(
|
||||||
|
Refresh_PresentationParameters *presentationParameters,
|
||||||
|
uint8_t debugMode
|
||||||
|
) {
|
||||||
|
NOT_IMPLEMENTED
|
||||||
|
}
|
||||||
|
|
||||||
|
Refresh_Driver TEMPLATEDriver = {
|
||||||
|
"TEMPLATE",
|
||||||
|
TEMPLATE_CreateDevice
|
||||||
|
};
|
||||||
|
|
||||||
|
#endif //REFRESH_DRIVER_TEMPLATE
|
Loading…
Reference in New Issue