gpu_neon: new intrinsics-only implementation
[pcsx_rearmed.git] / plugins / gpu_neon / psx_gpu / psx_gpu.h
index 1eaa99a..1500eea 100644 (file)
@@ -15,6 +15,8 @@
 #ifndef PSX_GPU_H
 #define PSX_GPU_H
 
+#include "vector_types.h"
+
 typedef enum
 {
   PRIMITIVE_TYPE_TRIANGLE = 0,
@@ -222,6 +224,8 @@ typedef struct __attribute__((aligned(16)))
 
   s16 x;
   s16 y;
+
+  u32 padding;
 } vertex_struct;
 
 void render_block_fill(psx_gpu_struct *psx_gpu, u32 color, u32 x, u32 y,
@@ -240,6 +244,7 @@ void render_line(psx_gpu_struct *gpu, vertex_struct *vertexes, u32 flags,
 
 u32 texture_region_mask(s32 x1, s32 y1, s32 x2, s32 y2);
 
+void update_texture_8bpp_cache(psx_gpu_struct *psx_gpu);
 void flush_render_block_buffer(psx_gpu_struct *psx_gpu);
 
 void initialize_psx_gpu(psx_gpu_struct *psx_gpu, u16 *vram);
@@ -247,5 +252,9 @@ u32 gpu_parse(psx_gpu_struct *psx_gpu, u32 *list, u32 size, u32 *last_command);
 
 void triangle_benchmark(psx_gpu_struct *psx_gpu);
 
+void compute_all_gradients(psx_gpu_struct * __restrict__ psx_gpu,
+ const vertex_struct * __restrict__ a, const vertex_struct * __restrict__ b,
+ const vertex_struct * __restrict__ c);
+
 #endif