Files
armorpaint/base/sources/backends/metal_gpu.h
T
2025-04-19 12:29:49 +02:00

69 lines
1.1 KiB
C

#pragma once
#include <iron_gpu.h>
#include <iron_math.h>
struct iron_gpu_buffer;
typedef struct {
struct iron_gpu_buffer *current_index_buffer;
} gpu_command_list_impl_t;
struct iron_gpu_shader;
typedef struct {
struct iron_gpu_shader *vertex_shader;
struct iron_gpu_shader *fragment_shader;
void *_pipeline;
void *_pipelineDepth;
void *_reflection;
void *_depthStencil;
void *_depthStencilNone;
} gpu_pipeline_impl_t;
typedef struct {
int vertexOffset;
} gpu_constant_location_impl_t;
typedef struct {
char name[1024];
void *mtlFunction;
char *source;
int length;
} gpu_shader_impl_t;
typedef struct {
void *_raytracingPipeline;
} gpu_raytrace_pipeline_impl_t;
typedef struct {
void *_accelerationStructure;
} gpu_raytrace_acceleration_structure_impl_t;
typedef struct {
void *_tex;
void *data;
bool has_mipmaps;
void *_texReadback;
void *_depthTex;
} gpu_texture_impl_t;
typedef struct {
int myCount;
int myStride;
void *mtlBuffer;
bool gpuMemory;
int lastStart;
int lastCount;
void *metal_buffer;
int count;
bool gpu_memory;
int last_start;
int last_count;
void *_buffer;
int mySize;
} gpu_buffer_impl_t;