Rename ClipVertex -> Vertex
This commit is contained in:
parent
bd0ef4cba3
commit
291e82d18a
34
GL/clip.c
34
GL/clip.c
|
@ -24,8 +24,8 @@ void _glEnableClipping(unsigned char v) {
|
|||
ZCLIP_ENABLED = v;
|
||||
}
|
||||
|
||||
void _glClipLineToNearZ(const ClipVertex* v1, const ClipVertex* v2, ClipVertex* vout, float* t) __attribute__((optimize("fast-math")));
|
||||
void _glClipLineToNearZ(const ClipVertex* v1, const ClipVertex* v2, ClipVertex* vout, float* t) {
|
||||
void _glClipLineToNearZ(const Vertex* v1, const Vertex* v2, Vertex* vout, float* t) __attribute__((optimize("fast-math")));
|
||||
void _glClipLineToNearZ(const Vertex* v1, const Vertex* v2, Vertex* vout, float* t) {
|
||||
const float NEAR_PLANE = 0.2; // FIXME: this needs to be read from the projection matrix.. somehow
|
||||
|
||||
*t = (NEAR_PLANE - v1->w) / (v2->w - v1->w);
|
||||
|
@ -75,7 +75,7 @@ const uint32_t VERTEX_CMD_EOL = 0xf0000000;
|
|||
const uint32_t VERTEX_CMD = 0xe0000000;
|
||||
|
||||
typedef struct {
|
||||
ClipVertex vertex[3];
|
||||
Vertex vertex[3];
|
||||
VertexExtra extra[3];
|
||||
uint8_t visible;
|
||||
} Triangle;
|
||||
|
@ -85,10 +85,10 @@ void _glClipTriangle(const Triangle* triangle, const uint8_t visible, Submission
|
|||
uint8_t i, c = 0;
|
||||
|
||||
uint8_t lastVisible = 255;
|
||||
ClipVertex* last = NULL;
|
||||
Vertex* last = NULL;
|
||||
VertexExtra* veLast = NULL;
|
||||
|
||||
const ClipVertex* vertices = triangle->vertex;
|
||||
const Vertex* vertices = triangle->vertex;
|
||||
const VertexExtra* extras = triangle->extra;
|
||||
|
||||
/* Used when flat shading is enabled */
|
||||
|
@ -97,7 +97,7 @@ void _glClipTriangle(const Triangle* triangle, const uint8_t visible, Submission
|
|||
for(i = 0; i < 4; ++i) {
|
||||
uint8_t thisIndex = (i == 3) ? 0 : i;
|
||||
|
||||
ClipVertex next;
|
||||
Vertex next;
|
||||
VertexExtra veNext;
|
||||
|
||||
next.flags = VERTEX_CMD;
|
||||
|
@ -107,8 +107,8 @@ void _glClipTriangle(const Triangle* triangle, const uint8_t visible, Submission
|
|||
uint8_t lastIndex = (i == 3) ? 2 : thisIndex - 1;
|
||||
|
||||
if(lastVisible < 255 && lastVisible != thisVisible) {
|
||||
const ClipVertex* v1 = &vertices[lastIndex];
|
||||
const ClipVertex* v2 = &vertices[thisIndex];
|
||||
const Vertex* v1 = &vertices[lastIndex];
|
||||
const Vertex* v2 = &vertices[thisIndex];
|
||||
|
||||
const VertexExtra* ve1 = &extras[lastIndex];
|
||||
const VertexExtra* ve2 = &extras[thisIndex];
|
||||
|
@ -153,7 +153,7 @@ void _glClipTriangle(const Triangle* triangle, const uint8_t visible, Submission
|
|||
if(last) {
|
||||
if(c == 4) {
|
||||
/* Convert to two triangles */
|
||||
ClipVertex newVerts[3];
|
||||
Vertex newVerts[3];
|
||||
newVerts[0] = *(last - 3);
|
||||
newVerts[1] = *(last - 1);
|
||||
newVerts[2] = *(last);
|
||||
|
@ -180,7 +180,7 @@ void _glClipTriangle(const Triangle* triangle, const uint8_t visible, Submission
|
|||
}
|
||||
}
|
||||
|
||||
static inline void markDead(ClipVertex* vert) {
|
||||
static inline void markDead(Vertex* vert) {
|
||||
vert->flags = VERTEX_CMD_EOL;
|
||||
}
|
||||
|
||||
|
@ -201,9 +201,9 @@ void _glClipTriangleStrip(SubmissionTarget* target, uint8_t fladeShade) {
|
|||
|
||||
CLIP_COUNT = 0;
|
||||
|
||||
ClipVertex* vertex = _glSubmissionTargetStart(target);
|
||||
const ClipVertex* end = _glSubmissionTargetEnd(target);
|
||||
const ClipVertex* start = vertex;
|
||||
Vertex* vertex = _glSubmissionTargetStart(target);
|
||||
const Vertex* end = _glSubmissionTargetEnd(target);
|
||||
const Vertex* start = vertex;
|
||||
|
||||
int32_t triangle = -1;
|
||||
|
||||
|
@ -217,9 +217,9 @@ void _glClipTriangleStrip(SubmissionTarget* target, uint8_t fladeShade) {
|
|||
triangle++;
|
||||
|
||||
uint8_t even = (triangle % 2) == 0;
|
||||
ClipVertex* v1 = (even) ? vertex - 2 : vertex - 1;
|
||||
ClipVertex* v2 = (even) ? vertex - 1 : vertex - 2;
|
||||
ClipVertex* v3 = vertex;
|
||||
Vertex* v1 = (even) ? vertex - 2 : vertex - 1;
|
||||
Vertex* v2 = (even) ? vertex - 1 : vertex - 2;
|
||||
Vertex* v3 = vertex;
|
||||
|
||||
/* Indexes into extras array */
|
||||
vi1 = v1 - start;
|
||||
|
@ -265,7 +265,7 @@ void _glClipTriangleStrip(SubmissionTarget* target, uint8_t fladeShade) {
|
|||
markDead(v3);
|
||||
} else {
|
||||
markDead(v1);
|
||||
ClipVertex tmp = *v2;
|
||||
Vertex tmp = *v2;
|
||||
*v2 = *v3;
|
||||
*v3 = tmp;
|
||||
|
||||
|
|
102
GL/draw.c
102
GL/draw.c
|
@ -65,7 +65,7 @@ static inline GLuint byte_size(GLenum type) {
|
|||
|
||||
typedef void (*FloatParseFunc)(GLfloat* out, const GLubyte* in);
|
||||
typedef void (*ByteParseFunc)(GLubyte* out, const GLubyte* in);
|
||||
typedef void (*PolyBuildFunc)(ClipVertex* first, ClipVertex* previous, ClipVertex* vertex, ClipVertex* next, const GLsizei i);
|
||||
typedef void (*PolyBuildFunc)(Vertex* first, Vertex* previous, Vertex* vertex, Vertex* next, const GLsizei i);
|
||||
|
||||
|
||||
static void _readVertexData3f3f(const float* input, GLuint count, GLubyte stride, float* output) {
|
||||
|
@ -77,7 +77,7 @@ static void _readVertexData3f3f(const float* input, GLuint count, GLubyte stride
|
|||
output[2] = input[2];
|
||||
|
||||
input = (float*) (((GLubyte*) input) + stride);
|
||||
output = (float*) (((GLubyte*) output) + sizeof(ClipVertex));
|
||||
output = (float*) (((GLubyte*) output) + sizeof(Vertex));
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -104,7 +104,7 @@ static void _readVertexData3us3f(const GLushort* input, GLuint count, GLubyte st
|
|||
output[2] = input[2];
|
||||
|
||||
input = (GLushort*) (((GLubyte*) input) + stride);
|
||||
output = (float*) (((GLubyte*) output) + sizeof(ClipVertex));
|
||||
output = (float*) (((GLubyte*) output) + sizeof(Vertex));
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -130,7 +130,7 @@ static void _readVertexData3ui3f(const GLuint* input, GLuint count, GLubyte stri
|
|||
output[2] = input[2];
|
||||
|
||||
input = (GLuint*) (((GLubyte*) input) + stride);
|
||||
output = (float*) (((GLubyte*) output) + sizeof(ClipVertex));
|
||||
output = (float*) (((GLubyte*) output) + sizeof(Vertex));
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -157,7 +157,7 @@ static void _readVertexData3ub3f(const GLubyte* input, GLuint count, GLubyte str
|
|||
output[2] = input[2] * ONE_OVER_TWO_FIVE_FIVE;
|
||||
|
||||
input += stride;
|
||||
output = (float*) (((GLubyte*) output) + sizeof(ClipVertex));
|
||||
output = (float*) (((GLubyte*) output) + sizeof(Vertex));
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -183,7 +183,7 @@ static void _readVertexData2f2f(const float* input, GLuint count, GLubyte stride
|
|||
output[1] = input[1];
|
||||
|
||||
input = (float*) (((GLubyte*) input) + stride);
|
||||
output = (float*) (((GLubyte*) output) + sizeof(ClipVertex));
|
||||
output = (float*) (((GLubyte*) output) + sizeof(Vertex));
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -208,7 +208,7 @@ static void _readVertexData2f3f(const float* input, GLuint count, GLubyte stride
|
|||
output[2] = 0.0f;
|
||||
|
||||
input = (float*) (((GLubyte*) input) + stride);
|
||||
output = (float*) (((GLubyte*) output) + sizeof(ClipVertex));
|
||||
output = (float*) (((GLubyte*) output) + sizeof(Vertex));
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -222,7 +222,7 @@ static void _readVertexData2ub3f(const GLubyte* input, GLuint count, GLubyte str
|
|||
output[2] = 0.0f;
|
||||
|
||||
input += stride;
|
||||
output = (float*) (((GLubyte*) output) + sizeof(ClipVertex));
|
||||
output = (float*) (((GLubyte*) output) + sizeof(Vertex));
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -235,7 +235,7 @@ static void _readVertexData2us3f(const GLushort* input, GLuint count, GLubyte st
|
|||
output[2] = 0.0f;
|
||||
|
||||
input = (GLushort*) (((GLubyte*) input) + stride);
|
||||
output = (float*) (((GLubyte*) output) + sizeof(ClipVertex));
|
||||
output = (float*) (((GLubyte*) output) + sizeof(Vertex));
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -247,7 +247,7 @@ static void _readVertexData2us2f(const GLushort* input, GLuint count, GLubyte st
|
|||
output[1] = input[1];
|
||||
|
||||
input = (GLushort*) (((GLubyte*) input) + stride);
|
||||
output = (float*) (((GLubyte*) output) + sizeof(ClipVertex));
|
||||
output = (float*) (((GLubyte*) output) + sizeof(Vertex));
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -271,7 +271,7 @@ static void _readVertexData2ui2f(const GLuint* input, GLuint count, GLubyte stri
|
|||
output[1] = input[1];
|
||||
|
||||
input = (GLuint*) (((GLubyte*) input) + stride);
|
||||
output = (float*) (((GLubyte*) output) + sizeof(ClipVertex));
|
||||
output = (float*) (((GLubyte*) output) + sizeof(Vertex));
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -296,7 +296,7 @@ static void _readVertexData2ub2f(const GLubyte* input, GLuint count, GLubyte str
|
|||
output[1] = input[1] * ONE_OVER_TWO_FIVE_FIVE;
|
||||
|
||||
input = (((GLubyte*) input) + stride);
|
||||
output = (float*) (((GLubyte*) output) + sizeof(ClipVertex));
|
||||
output = (float*) (((GLubyte*) output) + sizeof(Vertex));
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -322,7 +322,7 @@ static void _readVertexData2ui3f(const GLuint* input, GLuint count, GLubyte stri
|
|||
output[2] = 0.0f;
|
||||
|
||||
input = (GLuint*) (((GLubyte*) input) + stride);
|
||||
output = (float*) (((GLubyte*) output) + sizeof(ClipVertex));
|
||||
output = (float*) (((GLubyte*) output) + sizeof(Vertex));
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -336,7 +336,7 @@ static void _readVertexData4ubARGB(const GLubyte* input, GLuint count, GLubyte s
|
|||
output[A8IDX] = input[3];
|
||||
|
||||
input = (GLubyte*) (((GLubyte*) input) + stride);
|
||||
output = (GLubyte*) (((GLubyte*) output) + sizeof(ClipVertex));
|
||||
output = (GLubyte*) (((GLubyte*) output) + sizeof(Vertex));
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -350,7 +350,7 @@ static void _readVertexData4fARGB(const float* input, GLuint count, GLubyte stri
|
|||
output[A8IDX] = (GLubyte) (input[3] * 255.0f);
|
||||
|
||||
input = (float*) (((GLubyte*) input) + stride);
|
||||
output = (GLubyte*) (((GLubyte*) output) + sizeof(ClipVertex));
|
||||
output = (GLubyte*) (((GLubyte*) output) + sizeof(Vertex));
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -364,7 +364,7 @@ static void _readVertexData3fARGB(const float* input, GLuint count, GLubyte stri
|
|||
output[A8IDX] = 1.0f;
|
||||
|
||||
input = (float*) (((GLubyte*) input) + stride);
|
||||
output = (GLubyte*) (((GLubyte*) output) + sizeof(ClipVertex));
|
||||
output = (GLubyte*) (((GLubyte*) output) + sizeof(Vertex));
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -378,7 +378,7 @@ static void _readVertexData3ubARGB(const GLubyte* input, GLuint count, GLubyte s
|
|||
output[A8IDX] = 1.0f;
|
||||
|
||||
input = (((GLubyte*) input) + stride);
|
||||
output = (GLubyte*) (((GLubyte*) output) + sizeof(ClipVertex));
|
||||
output = (GLubyte*) (((GLubyte*) output) + sizeof(Vertex));
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -392,7 +392,7 @@ static void _fillWithNegZVE(GLuint count, GLfloat* output) {
|
|||
}
|
||||
|
||||
static void _fillWhiteARGB(GLuint count, GLubyte* output) {
|
||||
const GLubyte* end = output + (sizeof(ClipVertex) * count);
|
||||
const GLubyte* end = output + (sizeof(Vertex) * count);
|
||||
|
||||
while(output < end) {
|
||||
output[R8IDX] = 255;
|
||||
|
@ -400,15 +400,15 @@ static void _fillWhiteARGB(GLuint count, GLubyte* output) {
|
|||
output[B8IDX] = 255;
|
||||
output[A8IDX] = 255;
|
||||
|
||||
output += sizeof(ClipVertex);
|
||||
output += sizeof(Vertex);
|
||||
}
|
||||
}
|
||||
|
||||
static void _fillZero2f(GLuint count, GLfloat* output) {
|
||||
const GLfloat* end = (GLfloat*) ((GLubyte*) output) + (count * sizeof(ClipVertex));
|
||||
const GLfloat* end = (GLfloat*) ((GLubyte*) output) + (count * sizeof(Vertex));
|
||||
while(output < end) {
|
||||
output[0] = output[1] = 0.0f;
|
||||
output = (GLfloat*) (((GLubyte*) output) + sizeof(ClipVertex));
|
||||
output = (GLfloat*) (((GLubyte*) output) + sizeof(Vertex));
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -538,7 +538,7 @@ static inline void transformNormalToEyeSpace(GLfloat* normal) {
|
|||
|
||||
#define swapVertex(a, b) \
|
||||
do { \
|
||||
ClipVertex temp = *a; \
|
||||
Vertex temp = *a; \
|
||||
*a = *b; \
|
||||
*b = temp; \
|
||||
} while(0)
|
||||
|
@ -547,28 +547,28 @@ PVRHeader* _glSubmissionTargetHeader(SubmissionTarget* target) {
|
|||
return aligned_vector_at(&target->output->vector, target->header_offset);
|
||||
}
|
||||
|
||||
ClipVertex* _glSubmissionTargetStart(SubmissionTarget* target) {
|
||||
Vertex* _glSubmissionTargetStart(SubmissionTarget* target) {
|
||||
return aligned_vector_at(&target->output->vector, target->start_offset);
|
||||
}
|
||||
|
||||
ClipVertex* _glSubmissionTargetEnd(SubmissionTarget* target) {
|
||||
Vertex* _glSubmissionTargetEnd(SubmissionTarget* target) {
|
||||
return _glSubmissionTargetStart(target) + target->count;
|
||||
}
|
||||
|
||||
static inline void genTriangles(ClipVertex* output, GLuint count) {
|
||||
const ClipVertex* end = output + count;
|
||||
ClipVertex* it = output + 2;
|
||||
static inline void genTriangles(Vertex* output, GLuint count) {
|
||||
const Vertex* end = output + count;
|
||||
Vertex* it = output + 2;
|
||||
while(it < end) {
|
||||
it->flags = PVR_CMD_VERTEX_EOL;
|
||||
it += 3;
|
||||
}
|
||||
}
|
||||
|
||||
static inline void genQuads(ClipVertex* output, GLuint count) {
|
||||
ClipVertex* previous;
|
||||
ClipVertex* this = output + 3;
|
||||
static inline void genQuads(Vertex* output, GLuint count) {
|
||||
Vertex* previous;
|
||||
Vertex* this = output + 3;
|
||||
|
||||
const ClipVertex* end = output + count;
|
||||
const Vertex* end = output + count;
|
||||
|
||||
while(this < end) {
|
||||
previous = this - 1;
|
||||
|
@ -578,15 +578,15 @@ static inline void genQuads(ClipVertex* output, GLuint count) {
|
|||
}
|
||||
}
|
||||
|
||||
static void genTriangleStrip(ClipVertex* output, GLuint count) {
|
||||
static void genTriangleStrip(Vertex* output, GLuint count) {
|
||||
output[count - 1].flags = PVR_CMD_VERTEX_EOL;
|
||||
}
|
||||
|
||||
#define MAX_POLYGON_SIZE 32
|
||||
|
||||
static void genTriangleFan(ClipVertex* output, GLuint count) {
|
||||
static void genTriangleFan(Vertex* output, GLuint count) {
|
||||
assert(count < MAX_POLYGON_SIZE);
|
||||
static ClipVertex buffer[MAX_POLYGON_SIZE];
|
||||
static Vertex buffer[MAX_POLYGON_SIZE];
|
||||
|
||||
if(count <= 3){
|
||||
swapVertex(&output[1], &output[2]);
|
||||
|
@ -594,13 +594,13 @@ static void genTriangleFan(ClipVertex* output, GLuint count) {
|
|||
return;
|
||||
}
|
||||
|
||||
memcpy(buffer, output, sizeof(ClipVertex) * count);
|
||||
memcpy(buffer, output, sizeof(Vertex) * count);
|
||||
|
||||
// First 3 vertices are in the right place, just end early
|
||||
output[2].flags = PVR_CMD_VERTEX_EOL;
|
||||
|
||||
GLsizei i = 3, target = 3;
|
||||
ClipVertex* first = &output[0];
|
||||
Vertex* first = &output[0];
|
||||
|
||||
for(; i < count; ++i) {
|
||||
output[target++] = *first;
|
||||
|
@ -610,7 +610,7 @@ static void genTriangleFan(ClipVertex* output, GLuint count) {
|
|||
}
|
||||
}
|
||||
|
||||
static inline void _readPositionData(const GLuint first, const GLuint count, ClipVertex* output) {
|
||||
static inline void _readPositionData(const GLuint first, const GLuint count, Vertex* output) {
|
||||
const GLubyte vstride = (VERTEX_POINTER.stride) ? VERTEX_POINTER.stride : VERTEX_POINTER.size * byte_size(VERTEX_POINTER.type);
|
||||
const void* vptr = ((GLubyte*) VERTEX_POINTER.ptr + (first * vstride));
|
||||
|
||||
|
@ -659,7 +659,7 @@ static inline void _readPositionData(const GLuint first, const GLuint count, Cli
|
|||
}
|
||||
}
|
||||
|
||||
static inline void _readUVData(const GLuint first, const GLuint count, ClipVertex* output) {
|
||||
static inline void _readUVData(const GLuint first, const GLuint count, Vertex* output) {
|
||||
if((ENABLED_VERTEX_ATTRIBUTES & UV_ENABLED_FLAG) != UV_ENABLED_FLAG) {
|
||||
_fillZero2f(count, output->uv);
|
||||
return;
|
||||
|
@ -765,7 +765,7 @@ static inline void _readNormalData(const GLuint first, const GLuint count, Submi
|
|||
}
|
||||
}
|
||||
|
||||
static inline void _readDiffuseData(const GLuint first, const GLuint count, ClipVertex* output) {
|
||||
static inline void _readDiffuseData(const GLuint first, const GLuint count, Vertex* output) {
|
||||
if((ENABLED_VERTEX_ATTRIBUTES & DIFFUSE_ENABLED_FLAG) != DIFFUSE_ENABLED_FLAG) {
|
||||
/* Just fill the whole thing white if the attribute is disabled */
|
||||
_fillWhiteARGB(count, output[0].bgra);
|
||||
|
@ -825,8 +825,8 @@ static void generate(SubmissionTarget* target, const GLenum mode, const GLsizei
|
|||
/* Read from the client buffers and generate an array of ClipVertices */
|
||||
|
||||
const GLsizei istride = byte_size(type);
|
||||
ClipVertex* it;
|
||||
const ClipVertex* end;
|
||||
Vertex* it;
|
||||
const Vertex* end;
|
||||
|
||||
if(!indices) {
|
||||
_readPositionData(first, count, _glSubmissionTargetStart(target));
|
||||
|
@ -908,8 +908,8 @@ static void generate(SubmissionTarget* target, const GLenum mode, const GLsizei
|
|||
|
||||
static void transform(SubmissionTarget* target) {
|
||||
/* Perform modelview transform, storing W */
|
||||
ClipVertex* vertex = _glSubmissionTargetStart(target);
|
||||
const ClipVertex* end = _glSubmissionTargetEnd(target);
|
||||
Vertex* vertex = _glSubmissionTargetStart(target);
|
||||
const Vertex* end = _glSubmissionTargetEnd(target);
|
||||
|
||||
_glApplyRenderMatrix(); /* Apply the Render Matrix Stack */
|
||||
|
||||
|
@ -994,12 +994,12 @@ static void light(SubmissionTarget* target) {
|
|||
aligned_vector_resize(eye_space_data, target->count);
|
||||
|
||||
/* Perform lighting calculations and manipulate the colour */
|
||||
ClipVertex* vertex = _glSubmissionTargetStart(target);
|
||||
Vertex* vertex = _glSubmissionTargetStart(target);
|
||||
VertexExtra* extra = aligned_vector_at(target->extras, 0);
|
||||
EyeSpaceData* eye_space = (EyeSpaceData*) eye_space_data->data;
|
||||
|
||||
_glMatrixLoadModelView();
|
||||
mat_transform3(vertex->xyz, eye_space->xyz, target->count, sizeof(ClipVertex), sizeof(EyeSpaceData));
|
||||
mat_transform3(vertex->xyz, eye_space->xyz, target->count, sizeof(Vertex), sizeof(EyeSpaceData));
|
||||
|
||||
_glMatrixLoadNormal();
|
||||
mat_transform_normal3(extra->nxyz, eye_space->n, target->count, sizeof(VertexExtra), sizeof(EyeSpaceData));
|
||||
|
@ -1034,8 +1034,8 @@ static void light(SubmissionTarget* target) {
|
|||
|
||||
static void divide(SubmissionTarget* target) {
|
||||
/* Perform perspective divide on each vertex */
|
||||
ClipVertex* vertex = _glSubmissionTargetStart(target);
|
||||
const ClipVertex* end = _glSubmissionTargetEnd(target);
|
||||
Vertex* vertex = _glSubmissionTargetStart(target);
|
||||
const Vertex* end = _glSubmissionTargetEnd(target);
|
||||
|
||||
while(vertex < end) {
|
||||
vertex->xyz[2] = 1.0f / vertex->w;
|
||||
|
@ -1045,7 +1045,7 @@ static void divide(SubmissionTarget* target) {
|
|||
}
|
||||
}
|
||||
|
||||
static void push(PVRHeader* header, ClipVertex* output, const GLuint count, PolyList* activePolyList, GLshort textureUnit) {
|
||||
static void push(PVRHeader* header, Vertex* output, const GLuint count, PolyList* activePolyList, GLshort textureUnit) {
|
||||
// Compile the header
|
||||
pvr_poly_cxt_t cxt = *_glGetPVRContext();
|
||||
cxt.list_type = activePolyList->list_type;
|
||||
|
@ -1196,12 +1196,12 @@ static void submitVertices(GLenum mode, GLsizei first, GLuint count, GLenum type
|
|||
/* Push back a copy of the list to the transparent poly list, including the header
|
||||
(hence the + 1)
|
||||
*/
|
||||
ClipVertex* vertex = aligned_vector_push_back(
|
||||
&_glTransparentPolyList()->vector, (ClipVertex*) _glSubmissionTargetHeader(target), target->count + 1
|
||||
Vertex* vertex = aligned_vector_push_back(
|
||||
&_glTransparentPolyList()->vector, (Vertex*) _glSubmissionTargetHeader(target), target->count + 1
|
||||
);
|
||||
|
||||
PVRHeader* mtHeader = (PVRHeader*) vertex++;
|
||||
ClipVertex* mtStart = vertex;
|
||||
Vertex* mtStart = vertex;
|
||||
|
||||
/* Replace the UV coordinates with the ST ones */
|
||||
const VertexExtra* end = aligned_vector_back(target->extras) + 1;
|
||||
|
|
|
@ -104,9 +104,9 @@ void APIENTRY glKosInitEx(GLdcConfig* config) {
|
|||
PT_LIST.list_type = PVR_LIST_PT_POLY;
|
||||
TR_LIST.list_type = PVR_LIST_TR_POLY;
|
||||
|
||||
aligned_vector_init(&OP_LIST.vector, sizeof(ClipVertex));
|
||||
aligned_vector_init(&PT_LIST.vector, sizeof(ClipVertex));
|
||||
aligned_vector_init(&TR_LIST.vector, sizeof(ClipVertex));
|
||||
aligned_vector_init(&OP_LIST.vector, sizeof(Vertex));
|
||||
aligned_vector_init(&PT_LIST.vector, sizeof(Vertex));
|
||||
aligned_vector_init(&TR_LIST.vector, sizeof(Vertex));
|
||||
|
||||
aligned_vector_reserve(&OP_LIST.vector, config->initial_op_capacity);
|
||||
aligned_vector_reserve(&PT_LIST.vector, config->initial_pt_capacity);
|
||||
|
|
|
@ -103,7 +103,7 @@ typedef struct {
|
|||
* but we're not using that for now, so having W here makes the code
|
||||
* simpler */
|
||||
float w;
|
||||
} ClipVertex;
|
||||
} Vertex;
|
||||
|
||||
/* ClipVertex doesn't have room for these, so we need to parse them
|
||||
* out separately. Potentially 'w' will be housed here if we support oargb */
|
||||
|
@ -127,8 +127,8 @@ typedef struct {
|
|||
} SubmissionTarget;
|
||||
|
||||
PVRHeader* _glSubmissionTargetHeader(SubmissionTarget* target);
|
||||
ClipVertex* _glSubmissionTargetStart(SubmissionTarget* target);
|
||||
ClipVertex* _glSubmissionTargetEnd(SubmissionTarget* target);
|
||||
Vertex* _glSubmissionTargetStart(SubmissionTarget* target);
|
||||
Vertex* _glSubmissionTargetEnd(SubmissionTarget* target);
|
||||
|
||||
typedef enum {
|
||||
CLIP_RESULT_ALL_IN_FRONT,
|
||||
|
@ -146,7 +146,7 @@ typedef enum {
|
|||
|
||||
struct SubmissionTarget;
|
||||
|
||||
void _glClipLineToNearZ(const ClipVertex* v1, const ClipVertex* v2, ClipVertex* vout, float* t);
|
||||
void _glClipLineToNearZ(const Vertex* v1, const Vertex* v2, Vertex* vout, float* t);
|
||||
void _glClipTriangleStrip(SubmissionTarget* target, uint8_t fladeShade);
|
||||
|
||||
PolyList *_glActivePolyList();
|
||||
|
|
Loading…
Reference in New Issue
Block a user