Files
armorpaint/base/sources/backends/metal_gpu.h
T

72 lines
1.2 KiB
C
Raw Normal View History

2025-02-26 18:46:36 +01:00
#pragma once
#include <iron_gpu.h>
#include <iron_math.h>
2025-03-18 10:39:23 +01:00
struct iron_gpu_buffer;
2025-02-26 18:46:36 +01:00
typedef struct {
2025-03-18 10:39:23 +01:00
struct iron_gpu_buffer *current_index_buffer;
2025-03-16 19:49:13 +01:00
} gpu_command_list_impl_t;
2025-02-26 18:46:36 +01:00
2025-03-10 20:38:53 +01:00
struct iron_gpu_shader;
2025-02-26 18:46:36 +01:00
typedef struct {
2025-03-10 20:38:53 +01:00
struct iron_gpu_shader *vertex_shader;
struct iron_gpu_shader *fragment_shader;
2025-02-26 18:46:36 +01:00
void *_pipeline;
void *_pipelineDepth;
void *_reflection;
void *_depthStencil;
void *_depthStencilNone;
2025-03-16 19:49:13 +01:00
} gpu_pipeline_impl_t;
2025-02-26 18:46:36 +01:00
typedef struct {
int vertexOffset;
int fragmentOffset;
2025-03-16 19:49:13 +01:00
} gpu_constant_location_impl_t;
2025-02-26 18:46:36 +01:00
2025-03-10 20:38:53 +01:00
typedef struct iron_gpu_sampler_impl {
2025-02-26 18:46:36 +01:00
void *sampler;
2025-03-16 19:49:13 +01:00
} gpu_sampler_impl_t;
2025-02-26 18:46:36 +01:00
typedef struct {
char name[1024];
void *mtlFunction;
2025-03-16 19:49:13 +01:00
} gpu_shader_impl_t;
2025-02-26 18:46:36 +01:00
typedef struct {
void *_raytracingPipeline;
2025-03-16 19:49:13 +01:00
} gpu_raytrace_pipeline_impl_t;
2025-02-26 18:46:36 +01:00
typedef struct {
void *_accelerationStructure;
2025-03-16 19:49:13 +01:00
} gpu_raytrace_acceleration_structure_impl_t;
2025-02-26 18:46:36 +01:00
typedef struct {
void *_tex;
void *data;
bool has_mipmaps;
void *_texReadback;
void *_depthTex;
2025-03-16 19:49:13 +01:00
} gpu_texture_impl_t;
2025-02-26 18:46:36 +01:00
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;
2025-03-18 10:39:23 +01:00
void *_buffer;
int mySize;
} gpu_buffer_impl_t;