Fix various bugs with non-fastpath rendering
This commit is contained in:
parent
458fb52efb
commit
5df2190536
12
GL/draw.c
12
GL/draw.c
|
@ -888,8 +888,10 @@ static void generate(SubmissionTarget* target, const GLenum mode, const GLsizei
|
||||||
} else {
|
} else {
|
||||||
if(mode == GL_QUADS) {
|
if(mode == GL_QUADS) {
|
||||||
generateArraysFastPath_QUADS(target, first, count);
|
generateArraysFastPath_QUADS(target, first, count);
|
||||||
|
return; // Don't need to do any more processing
|
||||||
} else if(mode == GL_TRIANGLES) {
|
} else if(mode == GL_TRIANGLES) {
|
||||||
generateArraysFastPath_TRIS(target, first, count);
|
generateArraysFastPath_TRIS(target, first, count);
|
||||||
|
return; // Don't need to do any more processing
|
||||||
} else {
|
} else {
|
||||||
generateArraysFastPath_ALL(target, first, count);
|
generateArraysFastPath_ALL(target, first, count);
|
||||||
}
|
}
|
||||||
|
@ -906,8 +908,10 @@ static void generate(SubmissionTarget* target, const GLenum mode, const GLsizei
|
||||||
// Drawing arrays
|
// Drawing arrays
|
||||||
switch(mode) {
|
switch(mode) {
|
||||||
case GL_TRIANGLES:
|
case GL_TRIANGLES:
|
||||||
break; // Already done
|
genTriangles(it, count);
|
||||||
case GL_QUADS: // Already done
|
break;
|
||||||
|
case GL_QUADS:
|
||||||
|
genQuads(it, count);
|
||||||
break;
|
break;
|
||||||
case GL_TRIANGLE_FAN:
|
case GL_TRIANGLE_FAN:
|
||||||
genTriangleFan(it, count);
|
genTriangleFan(it, count);
|
||||||
|
@ -1392,8 +1396,8 @@ void APIENTRY glColorPointer(GLint size, GLenum type, GLsizei stride, const G
|
||||||
|
|
||||||
ATTRIB_POINTERS.colour.ptr = pointer;
|
ATTRIB_POINTERS.colour.ptr = pointer;
|
||||||
ATTRIB_POINTERS.colour.type = type;
|
ATTRIB_POINTERS.colour.type = type;
|
||||||
ATTRIB_POINTERS.colour.size = (ATTRIB_POINTERS.colour.size == GL_BGRA) ? 4 : size;
|
ATTRIB_POINTERS.colour.size = size;
|
||||||
ATTRIB_POINTERS.colour.stride = (stride) ? stride : ATTRIB_POINTERS.colour.size * byte_size(type);
|
ATTRIB_POINTERS.colour.stride = (stride) ? stride : ((size == GL_BGRA) ? 4 : size) * byte_size(type);
|
||||||
|
|
||||||
_glRecalcFastPath();
|
_glRecalcFastPath();
|
||||||
}
|
}
|
||||||
|
|
|
@ -62,7 +62,7 @@ GLuint glTextureLoadPVR(char *fname, unsigned char isMipMapped, unsigned char gl
|
||||||
if(tex == NULL) {
|
if(tex == NULL) {
|
||||||
printf("FILE READ ERROR: %s\n", fname);
|
printf("FILE READ ERROR: %s\n", fname);
|
||||||
|
|
||||||
while(1);
|
return 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
fseek(tex, 0, SEEK_END);
|
fseek(tex, 0, SEEK_END);
|
||||||
|
|
Loading…
Reference in New Issue
Block a user