Files
funnygame/materialsystem/vulkan/commands.h
T
2026-08-26 15:30:40 +03:00

115 lines
2.2 KiB
C

#ifndef VULKAN_COMMANDS_H
#define VULKAN_COMMANDS_H
#include "tier1/utlvector.h"
#include "vulkan_state.h"
BEGIN_VULKAN_COMMAND(Empty)
END_VULKAN_COMMAND()
BEGIN_VULKAN_COMMAND(Dispatch)
uint32_t uX = 0;
uint32_t uY = 0;
uint32_t uZ = 0;
END_VULKAN_COMMAND()
BEGIN_VULKAN_COMMAND(Blit)
VkFrameObject_t stInputImage;
VkFrameObject_t stOutputImage;
int32_t iSrcMin[3] = {};
int32_t iSrcMax[3] = {};
int32_t iDstMin[3] = {};
int32_t iDstMax[3] = {};
END_VULKAN_COMMAND()
BEGIN_VULKAN_COMMAND(ClearColor)
float r;
float g;
float b;
float a;
VkFrameObject_t stImage;
END_VULKAN_COMMAND()
BEGIN_VULKAN_COMMAND(Begin)
CUtlVector<VulkanRenderOutput_t> images;
VulkanRenderOutput_t stDepthImage = {};
bool bDepthEnabled = {};
uint32_t nResolutionX = 0;
uint32_t nResolutionY = 0;
END_VULKAN_COMMAND()
BEGIN_VULKAN_COMMAND(End)
END_VULKAN_COMMAND()
BEGIN_VULKAN_COMMAND(SetVertexBuffer)
uint32_t uBinding;
IVertexBuffer *pBuffer;
END_VULKAN_COMMAND()
BEGIN_VULKAN_COMMAND(SetShader)
IBaseShader *pShader;
END_VULKAN_COMMAND()
BEGIN_VULKAN_COMMAND(SetShaderData)
IMaterial *pShaderData;
END_VULKAN_COMMAND()
BEGIN_VULKAN_COMMAND(DrawPrimitives)
uint32_t nVertexCount;
uint32_t nFirstVertex;
uint32_t nInstanceCount;
uint32_t nFirstInstance;
END_VULKAN_COMMAND()
BEGIN_VULKAN_COMMAND(SetScissors)
int32_t iX = 0;
int32_t iY = 0;
uint32_t uWidth = 0;
uint32_t uHeight = 0;
END_VULKAN_COMMAND()
BEGIN_VULKAN_COMMAND(SetViewport)
float fX = 0;
float fY = 0;
float fWidth = 0;
float fHeight = 0;
float fDepthMin = 0;
float fDepthMax = 1;
END_VULKAN_COMMAND()
BEGIN_VULKAN_COMMAND(ResolveImage)
VkFrameObject_t stInputImage;
VkFrameObject_t stOutputImage;
END_VULKAN_COMMAND()
BEGIN_VULKAN_COMMAND(CopyBufferToImage)
IBuffer *pBuffer;
VkFrameObject_t stOutputImage;
int iOffsetX = 0;
int iOffsetY = 0;
int iOffsetZ = 0;
uint32_t iImageX = 1;
uint32_t iImageY = 1;
uint32_t iImageZ = 1;
END_VULKAN_COMMAND()
BEGIN_VULKAN_COMMAND(Barrier)
EStageHazard eStageIn;
EStageHazard eStageOut;
uint32_t eHazard;
END_VULKAN_COMMAND()
BEGIN_VULKAN_COMMAND(LayoutBarrier)
IImage *pImage;
EImageLayoutHazard eLayoutIn;
EImageLayoutHazard eLayoutOut;
EStageHazard eStageIn;
EStageHazard eStageOut;
uint32_t eHazard;
END_VULKAN_COMMAND()
#endif