More boilerplate

This commit is contained in:
wheremyfoodat 2023-06-07 02:57:00 +03:00
parent 9ac8817ee3
commit 4541841da5

View file

@ -0,0 +1,22 @@
#pragma once
#include "helpers.hpp"
#include "renderer_gl/renderer_gl.hpp"
#include "x64_regs.hpp"
// Recompiler that takes the current vertex attribute configuration, ie the format of vertices (VAO in OpenGL) and emits optimized
// code in our CPU's native architecture for loading vertices
class VertexLoaderJIT {
using PICARegs = const std::array<u32, 0x300>&;
using Callback = void(*)(Vertex* output, size_t count); // A function pointer to JIT-emitted code
Callback compileConfig(PICARegs regs);
public:
#ifndef PANDA3DS_DYNAPICA_SUPPORTED
void loadVertices(Vertex* output, size_t count, PICARegs regs) {
Helpers::panic("Vertex Loader JIT: Tried to load vertices with JIT on platform that does not support vertex loader jit");
}
#else
void loadVertices(Vertex* output, size_t count, PICARegs regs);
#endif
};